{"version":3,"sources":["scripts/app-3f7489af7c.js"],"names":["DatatablesCtrlController","$scope","DTOptionsBuilder","vm","this","dtOptions","newOptions","withDOM","withButtons","extend","title","customize","win","angular","element","document","body","addClass","css","find","isNumberKey","evt","elemref","quantityvalue","charCode","which","keyCode","value","indexOf","parseFloat","key","checktwodecimal","el","ex","test","substring","length","CheckRegExOnKeyPressDesc","e","regex","RegExp","str","String","fromCharCode","preventDefault","CheckRegExOnKeyPress","CheckRegExOnKeyPressCertificate","openPage","pageName","elmnt","i","tabcontent","tablinks","getElementsByClassName","style","display","backgroundColor","getElementById","color","slimScroll","$timeout","restrict","scope","boxHeight","link","slimscroll","height","railOpacity","sideNavigation","$watch","metisMenu","menuElement","click","window","width","toggleClass","hasClass","sidebar","parent","minimalizaSidebar","template","controller","minimalize","hide","fadeIn","removeAttr","sparkline","sparkData","sparkOptions","attrs","render","compile","$compile","$eval","html","contents","loaderProgress","$rootScope","ngProgressFactory","loader","createInstance","$on","reset","start","complete","show","customValid","require","ele","c","ngModel","validText","register","password","confirmpass","$setValidity","hcLineChart","options","Highcharts","chart","hcPieChart","data","type","text","plotOptions","pie","allowPointSelect","cursor","dataLabels","enabled","format","series","clockPicker","clockpicker","ngChart","replace","$","resize","highcharts","reflow","setTimeout","filesInput","elem","forEach","on","event","fileUrls","setFilesToNgModel","$setViewValue","target","files","f","console","log","$parent","jobView","ImageArray","name","NewjobDetailCtrl","JobDetailViewCtrl","reader","FileReader","onload","event1","push","result","getTempImgList","readAsDataURL","fileModel","$parse","model","modelSetter","assign","bind","$apply","validPass","layout","confirmPass","backButton","$state","$localStorage","goBack","undefined","prevState","state","go","params","$inject","module","factory","$q","$window","$location","$log","CMSURL","CMSToken","numLoadings","disableLoaderForUrls","request","config","enableLoader","url","startsWith","$broadcast","when","response","status","location","href","responseError","path","reject","service","ApiURL","FreelancerURL","LocationURL","PublicApiURL","$http","getSkillsList","reqUserId","token","get","headers","Content-Type","Token","UserId","updateSkill","loginUserId","put","createNewSkill","loggedInUserId","post","skillCreationService","ReferService","toaster","$filter","DTColumnDefBuilder","DTColumnBuilder","$uibModal","ticketTemplateService","showSuccess","main","showFailure","loggedinUser","LineItemAccountId","accountConfig","AccountId","ListOfLineItem","ListofGoods","SearchByGroupId","BrandName","ModelNumber","SelectedPriceGroup","ProjectId","SkillName","addBrandName","addModelNumber","addSelectedPriceGroup","addProjectId","addSkillName","addAccountId","addGroupId","edit","SearchByPriceGroupId","SearchByNoPriceGroupId","SkillId","Category","DisplayName","TestLink","Vertical","SkillVertical","TabClickEvent","applySearch","clearSearchText","then","resp","index","Certificates","Message","openDeleteModel","currentSkill","open","templateUrl","backdrop","size","CloseDeleteModel","close","deleteSkill","delId","openSkillModel","currentJOb","CurrentJob","CloseopenSkillModel","AddSkill","withPaginationType","withOption","dtColumnDefs","newColumnDef","notSortable","reload","setShowSuccess","success","setShowFailure","failure","GetAllProjects1","callback","res","GetAllProjects","GetProjectByProjectId","projectId","error","ProjectsList","GetProjectLocations","circle","ProjectService","ProjectCreationService","customerService","$stateParams","searchText","ProjectModal","loggedInUserRole","loggedInUser_Role","rootScopeMessage","projects","client","project_name","customerId","start_date","end_date","sla","projectModel","pocLocation","SupervisorName","pocNumber","pocName","projectLocations","projectName","filters","filterOptions","selectedFilters","dtInstance","createCallback","implementSelectItems","exportData","blob","Blob","innerHTML","saveAs","preProcessData","project","skills","ProjectLocationModels","l","Circle","allLocations","list_width","p","GetProjectInfo","openProjectModal","CloseModal","ProjectView","editProject","ViewProject","inherit","notify","getAllCustomer","getAllCustomers","customers","filtermodal","getAllCircles","circleArray","circles","GetAllCircles1","d","workArea","search","Object","keys","searchTable","DataTable","draw","unbind","PieChart5","fill","MainService","onMessagehandler","rUnReadRooms","Map","showchatwindow","chatcollapse","offset","getGroupsList","getSubscriptions","nextpage","busy","RocketUserId","Rockettoken","getGroups","count","groupListTotalCount","total","fNameNotification","groups","message","roomInfo","has","fname","unread","lm","lmdate","moment","local","today","diff","retVal","lmDateTime","_id","clear","update","set","methods","initiateScroll","handler","rocketUserId","rocketAuthToken","showChatWindow","nextPage","WsRocketUrl","RocketChatURL","uuid","$websocket","ROCKETCHATSTATS","LOGINREQSENT","CONNECTSENT","WAITFORSUBSRESPONSE","DATAREADYTORECEIVE","WAITFORHISTORY","Messages","loggedin","socket","sendLoginRequest","loginRequest","msg","method","id","v4","resume","send","JSON","stringify","ReadytoSubscribeRoomMessages","room_group","uniqueid","subscription","decodeSubscriptionResponse","showNotification","rid","username","fnameToDisplay","webNotification","icon","onClick","autoClose","alert","decodeHistoryResponse","roomId","messages","u","ts","$date","msgDateTime","file","fileUrl","attachments","title_link","file_size","image_size","description","image_preview","video_size","reverse","decodeRoomMessages","collection","fields","args","messagelist","initiateWS","connectObject","version","support","ws","onMessage","parse","closeWS","LoadHistoryOfRoom","group","loadHisT","SendMessageToRoom","roomdId","random_id","messageObject","userauthURL","MarkAlertAsRead","alertId","LogOut","GetAccountBalance","userId","GetImageBlob","img","GetLegalContractImageBlob","GetHealthSafetyGuidelines","getChannels","X-Auth-Token","X-User-Id","sort","MarkRoomAsRead","ClickToCallContact","contactnumber","GetSearchUserInfoByReqUserId","SearchUser","uploadLineItemPic","progressCB","canceler","timeout","promise","uploadEventHandlers","progress","GetJobTicket","ticketId","getCustomerJobCardbyJobId","accountId","jobId","InviteUser","getTerritoryStates","loggedInUser","Role","getTerritoryCity","UIURL","infiniteScrollFactory","ImageUrl","$interval","webSocketFactory","onGetGroups","slice","onSocketMessage","msgtype","msgList","rChatMessages","groupDetails","messageLength","scrollTop","scrollHeight","ShowJobOnMap","pointA","google","maps","LatLng","TicketInfo","Latitude","Longitude","mapOptions","zoom","scaleControl","gestureHandling","mapTypeId","MapTypeId","ROADMAP","center","map","marker","Marker","position","icons","InfoWindow","Latlngbounds","LatLngBounds","ticketinformation","addListener","setContent","ConsumerName","ConsumerContact","setMap","initMap","JobLatitude","JobLongitude","pointB","FELatitude","FELongitude","myOptions","zoomControl","mapTypeControl","streetViewControl","directionsService","DirectionsService","directionsDisplay","DirectionsRenderer","duration","distance","Polyline","strokeColor","calculateAndDisplayRoute","selectedMode","route","origin","destination","unitSystem","UnitSystem","METRIC","travelMode","TravelMode","DirectionsStatus","OK","directions","suppressMarkers","polylineOptions","leg","routes","legs","makeJobMarker","start_location","makeUserMarker","end_location","end","searchEntity","CurrencySetting","sendMessage","firstName","loggedInUser_FirstName","lastName","loggedInUser_LastName","role","originalRole","IsCentralWarehouse","collapse","fileDiscription","UploadProgressBarShow","defer","msgCount","FirstName","LastName","Gender","ContactNumber","CurrentAdd1","CurrentAdd2","CurrentState","CurrentCity","CurrentPincode","SkillSet","skillsetList","GetAccountType","AccountType","Array","prototype","array","firebase","Error","initializeApp","appId","databaseURL","storageBucket","locationId","apiKey","authDomain","messagingSenderId","TimeoutFunc","time","func","AvailableBalance","ShowFirstChat","ShowFirstBox","HideFirstBox","ShowSecondChat","ShowSecondBox","HideSecondBox","HideImagePreview","ImagePreview","FilePreview","ShowFilePreview","HideFilePreview","ShowRecorder","Recorder","HideRecorder","lightbox","option","resizeDuration","wrapAround","showImageNumberLabel","thumbnail","fitImagesInViewport","getProfilePic","profilePicName","SendTextToRoom","LoadRoomMessages","TicketId","getTicketByJobId","infiniteScrollFactoryInst","initiateWSConnection","getChannelList","RoomIdMarkAsRead","changeFile","selector","trigger","ShowImagePreview","attr","imageSrc","URL","createObjectURL","filePathTemp","fileNameTemp","fileOrgSize","bytesToSize","AttachmentModel","CloseAttachmentModel","bytes","sizes","parseInt","Math","floor","round","pow","ShowUploadProgressBar","cancelUploadRequest","resolve","uploadLineItemFile","FormData","append","uploadProgress","lengthComputable","dynamic","loaded","getTracking","MarkerImage","Size","Point","TicketStatus","superPower","showMapPermision","getCustomerJobCard","FEContactNumber","jobtype","Description","FEName","customerJobCard","rateJobParams","userRole","JobStatus","CustomerGivenRating","rating","SearchUserinfo","SearchUserInfoList","searchUserStatus","UserContactNumber","clearData","sendData","territoryStates","AccountIDforTerritory","stateListTerritory","selectedStateForTerritory","territoryCity","StateForTerritoryCity","cityListTerritory","JobId","JobDateTime","SelectSearchEntity","entity","placeholderText","SearchEntityPage","search_form","$valid","showError","CloseSearchModal","submitted","getAccountConfigSetting","AccountStartDate","stringDate","momentDate","MenuListModel","OpenSearchModal","SearchmodalInstance","windowClass","confirmTagModal","abstractConfirmModal","success_label","confirm_modal","modalInstance","confirmCallback","closeConfirmModal","delete_action","getDashboardName","dashboardName","DashboardListModel","DashboardType","DashboardName","StartPromise","StopPromise","homeScreenNotifications","cancel","UpdateMain","param","userName","helloText","descriptionText","Region","loggedInUser_Region","Skill","loggedInUser_SkillSet","loggedinAs","charAt","toUpperCase","toLowerCase","toaster_data","showCloseButton","progressBar","preventDuplicates","showDuration","hideDuration","tapToDismiss","allowHtml","positionClass","toaster_info","copy","toaster_success","toaster_fail","pop","showInfo","ev","to","toParams","from","fromParams","UserLogOut","consumerContact","loggedInUserToken","PersonalEmail","DOB","FatherName","UserStatus","loggedInUser_CompanyName","loggedInUser_Password","loggedInUser_VendorId","picture","loggedInUser_ReportingTo","SDate","EDate","AllJobType","AllJobStatus","TicketFilterModel","PageIndex","VendorPageIndex","TechnicianDetailsView","VendorDetailsView","selectedFreelancerUserRole","displayDateTime","d1","Date","date","getDate","month","getMonth","hour","getHours","AM_PM","getMinutes","getFullYear","itemList","selectAll","showMinus","selectRow","checked","applyAllSelect","round2Decimal","no","convertNo","toFixed","roundNDecimal","N","n","floatToInt","modelObj","callbacks","getMenuVisibilityByRole","visibleRoles","indx","isHomeUrl","isHelpdeskUrl","isMenuClick","indexurl","BaseReportIndex","AdvancedDashboardIndex","arr","split","isReportUrl","isOtherUrl","isPaymentUrl","isFreelancerUrl","isFlVendorUrl","isRegisteredUserUrl","isRegisteredVendorUrl","isActiveUserUrl","isJobUrl","isDashboardUrl","isAllJobUrl","isAllTicketsUrl","isConsolidatedUrl","isVendorUrl","isProjectsUrl","isCustomerUrl","isAssistedUrl","isAutoAssistedUrl","isTeamUrl","isTemplateUrl","getMenuName","menuName","MenuName","MenuDisplayName","getSubMenuName","submenuName","SubMenusList","j","SubMenuName","SubMenuDisplayName","getMenuVisibility","defaultValue","MenuVisibility","getSubMenuVisibility","SubMenuVisibility","isFreelancerAccess","FreelancerAccess","getVisibleLabel","label","getRoleName","roleName","RoleListModel","RoleName","RoleDisplayName","isCreatePermission","CreatePermission","isCreatePermissionList","isDownloadPermission","DownloadPermission","isUploadPermission","UploadPermission","isDeletePermission","DeletePermission","LoadMessageToNotify","query","firestore","where","onSnapshot","snapshot","docs","AllNewMessagecount","unReadMessage","docChanges","change","doc","ReceiverId","NotifyLength","Notify","MessageStatusLength","MessageStatus","TotalNewMessage","docRef","unReadchatMessage","newNotifyLength","FieldValue","arrayUnion","Newchatmessagecount","MarkAlertsRead","alertText","NotificationCounts","openModal","$uibModalInstance","ok","dismiss","openSaveReport","openEmail","priceSlider","myTrigger","toggleSingleClass","class_status","userJobListService","userToken","freelancertoken","techUserId","freelancerUserId","OrderBy","order","searchtag","PageSize","pageindexCount","totalBidCount","usersTablePerPageBid","BidListLength","ListofBids","denyReasons","denyReasonsRemark","bundleJobId","UserTablepagination","current","UserTablepageChanged","newPage","GetLeads","GetLeadsForMobile","techBIDlist","FreelancerBidModelList","t","PincodeArray","PinCode","Set","SkillSetArray","skillSet","FreelancerBidListCount","applyForBID","accountid","jobid","bidcounterrate","comboCloseModal","GetDenyReasons","AuditTicketId","TAccountId","jobAccountId","denyReasonsList","biddenyRsn","shift","denyReasonsModalInstance","denyReasonsCloseModal","comboModalInstance","UpdatedenyReasons","denyReasonsForm","IterationId","DenyReason","DenyBidsFromMobile","comboListModal","bundleId","GetBundleLeadDetails","BundleDetail","BundleTicketList","JobBundleList","bundleid","TicketDetail","bidDetails","LeadTicketIdList","GetLeadDetails","bidDetailService","uTicketId","LeadDetails","ActivityURL","GetTicketStatus","updateJobTicket","ticketModel","getAllActivitiesWithLinkJob","linkId","GetCompletionRemarkList","skill","callType","GetHardwareSkillList","catogry","GetHardwareDetailByFields_ValueList","updateJobTicketwithImage","completeJob","completeSeperateJob","getHistory","getAllActivitiesForJob","getAllState","getAllCity","saveTicket","err","updateStartTime","startTime","EndTime","requserid","ticketid","starttime","endtime","getTemplateByName","getTatForJob","GetStatusActivityInPie","FollowUpWithAttachment","formdata","followupdata","DeleteFollowUp","docId","JobViewService","$sce","HelpDeskHomeService","GetTicketView","Template","LinkId","VerticalName","LinkTicketNoList","TemplateModel","TemplateData","SectionList","Action","SectionName","SuperVisorData","ItemList","getCallTypeList","JobType","ListActionWise","SeperateSectionAndItems","StartTime","TicketInfoEdit","Address1","Address2","Pincode","getAllStates","State","getCities","JobTypeForModal","CallTypeForModal","ItemValue","templateData","itemlist","property","hash","second_property","sectionList","itemNum","action","sechash","nestedSectionList","itemIndex","actionName","secName","section","Section","SplitTime","numberOfHours","Days","Remainder","Hours","Minutes","firstTab","SecondTab","previousPage","RemarkCollection","CompletionRemarkList","SelectedCompletionRemarkList","HWDetailList","HardwareDetailList","HWDetaileType","SelectedHWDetailList","HWSkillList","ticketType","EnableRegion","Jobticket","ticketEditModalInstance","currentStepModel","ModalActionWithValuesList","currentStepName","completeremark","states","cities","pieCharts","rootScopeMsg","updatefollowFiles","selectedLTicket","FieldJobClosureMode","FieldJobVisitStatus","BackToTicket","$$absUrl","BackToHelpDesk","onChangeLinkTicket","linkedId","LinkTicketStatus","getDropDownOptions","ItemName","item","ItemType","field_options","getDropDownOptionsForCheckboxList","getImageData","PlotItemSectionAndActionWise","itemType","PlottedItem","EditItemSectionAndActionWise","clickOnFileControl","controlName","upload","obj","$index","srcElement","tempImg","OpenTicketEditModal","getVideoUrl","trustAsResourceUrl","UpdateStep","formData","ticketmodelIndex","currentModalIndex","ItemValues","random","toString","getTime","ImageName","sectionIndex","beforeChangeItem","afterChangeItem","history","historyStyle","JOB_CREATED","background-color","border","JOB_CREATED_BY_PORTAL_USER ","JOB_UPDATE","JOB_CREATED_BY_FIELD_ENGINEER ","JOB_CREATED_NOT_COMPLETED_IN_TIME ","JOB_ASSIGNED","JOB_STEP_COMPLETED","JOB_RESCHEDULED_BY_WORKER","JOB_DECLINED","JOB_REJECTED","JOB_CUSTOM_FIELD_UPDATE","JOB_SIGNATURE_RECEIVED","JOB_CANCELED","JOB_APPROVED","JOB_START_REMINDER","JOB_BROADCASTED","JOB_ACCEPTED","JOB_STARTED","JOB_COMPLETED","FOLLOW_UP","On Hold","Open","CUSTOMER_JOB_CARD_CREATED","CUSTOMER_JOB_ASSIGNED_FE","JOB_REOPEN","statusTracker","ReopenTicket","ReqUserId","Status","TechnicianRating","CompletionRemark","City","city","s","jobAddressModal","editJobAddress","SubRegion","closeJobAddress","updateJobAddress","jobAddressForm","jobAppointmentModal","editJobAppointment","closeJobAppointment","updateJobAppointment","jobAppointmentForm","getReadableTime","timeDisplay","getEndTime","add","basicPopup","OpencompleteModel","remark","CompleteJobModal","ModalInstanceCtrlFollowUp","CloseCompleteJobModal","callTypeRemark","completeremark1","RemarkCollectionList","getHWSkillList","detailType","parentIndex","getHWDetailBySkill_CategoryList","onselectEvent","hwdetailslist","Name","OnSelectCompletionRemark","CompleteJob_form","loc","IsAssetReplacementEnabled","temp","Code","HardwareFrom","AddCompletionRemark","RemoveCompletionRemark","splice","addHWItem","RemoveHWList","updateCompleteStatus","completeMainTicket","completeLinkedTicket","isUpdatePermission","UpdatePermission","bifurcateData","hasOwnProperty","TotalTat","PartnerTat","y","createPieChart","showPieChart","tempShowPieChart","chartData","plotBackgroundColor","plotBorderWidth","plotShadow","colors","align","verticalAlign","subtitle","tooltip","pointFormatter","formatter","pointName","point","fontWeight","showInLegend","startAngle","endAngle","colorByPoint","innerSize","reflowNow","containerHeight","HighchartsAdapter","adapterRun","renderTo","containerWidth","setSize","hasUserSize","getJobStatusTrackerTime","timeInfloatMin","min","getPicUrl","pic","attachUpdateFollowUp","allowedExtensions","exec","fileExtension","substr","lastIndexOf","uppercase","updatefollowupFilepath","val","OpenUpdateFollowUpModel","followupDocId","followupActivity","followupFilepath","followup","tickId","UpdateFollowUpModel","ModalInstanceCtrlUpdateFollowUp","CloseUpdateFollowUpModel","updateFollowUpStatus","dateTime","activity","primaryReason","SecondryReason","ReasonComment","Id","OpenConfirmationModelPopup","DocId","ConfirmationModel","ModalInstanceCtrlConfirmation","CloseConfirmationModel","jobType","CallTypeItemList","CallTypeList","jobBidCreationService","GetTicketForClone","cloneticketid","JobDescription","priority","Priority","selectedCustomer","CustomerName","selectedProject","ProjectName","contactPerson","contactNumber","address","endTime","selectedTemplate","bidDuration","BidDuration","serviceType","PaymentType","ticketPrice","BroadcastRate","LineItem","IsLineItemAvailable","AppointmentType","ScopeWork","ScopeWorkPath","SpareTransportType","Courier","PickUp","PickUpDrop","selectProject","calculatePrice","selectTemplate","getAllCities","IsPCLink","CustomizedCommission","MobiforceCommission","MobiforceCommissionPercentage","sameAddress","disableCreate","RegionList","SubRegionList","customerList","projectList","templateList","locations","schedulingrules","showSchedulingRules","DefaultCustomer","LocationMapping","DefaultProject","DefaultTemplate","selectedLocation","GetFenceRange","freelancerPrice","tPrice","commission","tax","freelancerPricetemp","showRateCard","cloneReason","monthNames","monthNames3","changeAppointmentType","dt","setMinutes","edt","setHours","jobOccurrance","sampleDate","frequency","once","daily","weekly","cronExpression","monthly","input_of_week","mon","tue","wed","thu","fri","sat","sun","input_for_month","first_day","last_day","specific_date","specific_date_range","displayDate","resetJobOccurranceDate","endDate","setMonth","setFullYear","getCustomerCallback","CompanyName","selectCustomer","GetServiceTax","GSTPercentange","GetMobCommission","getProjectCallback","JobRate","getTemplateCallback","templates","TemplateName","getAllStatesCallback","searchState","getAllCitiesCallback","searchCity","getLocationCallback","selectedLocCheck","getAllProjectList","CustomerId","GetTelecomCircle","values","GetSchedulingRules","getSchedulingRuleCallback","CreateTable","toggleAll","selectedItems","toggleOne","tempRuleIdList","IsEnable","RuleId","headerCompiled","selected","fromFnPromise","withBootstrap","row","dataIndex","header","dtColumns","newColumn","withTitle","renderWith","full","meta","selectLocation","dynamicPopover","content","placement","stateName","cityName","changeAddress","BusinessPhone","changeProj","GetReasonsForClone","GetClonReasons","geofencestatus","GeoFenceEnabled","getAllCustomerList","getAllTemplateList","getAllProjs","createTicket","form","$invalid","ticketSchedulingRules","SectionListModel","uiItemList","sample_Data","sec","getSeconds","year","startDate","minute","dayOfWeek","dayOfMonth","ticketModelData","TicketSchedulerModel","CustomerContact","CloneReason","JobTemplateModel","TemplateItems","ConsumerContactNumber","BroadcastGrossRate","FixedBidPrice","GeoFenceEnable","GeoFenceRange","RuleIds","hrs","jobModel","itemName","cronType","jobStartTime","uniqueId","scheduledTime","CloneTicketId","sDate","eDate","cloneTicket","broadcastTicket","SupervisorId","createAndBroadcast","GetSubRegion","selectRegion","region","GetCityBySubRegion","checkPermissionInMenu","checkPermissionInSubMenu","parentEntity","Number","calculateFreelancerPrice","openCalendar","picker","AppointmentsDate","datelimit","datepickerOptions","minDate","openCalendarEndDate","AppointmentsEndDate","EndDatelimit","subRegion","getSkills","getLocation","toJson","CancelTicket","UploadServerData","uploadProfilePic","GetPriceInsight","price","GetJObLineItem","ItemLineDetails","LineItemId","CreateLineItem","userFormData","jobCreationService","appointmentType","Mobile","TicketSource","uploaddata","searchUrl","LineItemDisc","PriceLineItemList","priceInsightString","citiesPickUpDrops","citiesPickUpDrop","citiesPickUp","priceInsight","SiteName","jobLineItemModel","JobRegion","LineitemActivityList","LineItemCategoryType","selectedprojectId","dynamicpricing","CompanyProvidedEnable","totalFPrice","BasePriceTotal","dFreelancerPriceTotal","PercentageTotal","FreelancerPriceTotal","PercentageTotalDis","IsBasePriceDisabled","templateSkillList","isTemplateSkill","TemplateSkill","scdt","SourceCreationDate","pcdt","setDate","PlannedClosureDate","getSearchBox","searchBoxHtml","searchCustomer","originalObject","CustomerLocationId","cleanSpareField","handleFiles","checkRateCard","checkcustomersummary","checkedJDetails","removeClass","focusout","templateDynamicFieldCheck","checkJobAddress","checkAppointment","checkTemplate","DynamicPricing","JObItem","getAllCitiesPickUp","getAllCitiesCallbackPickUp","getAllCitiesPickUpDrop","getAllCitiesCallbackPickUpDrop","getAllCitiesPickUpDrops","getAllCitiesCallbackPickUpDrops","UploadData","FileName","FilesDoc","FileSize","$submitted","Stime","AppointmentTime","CurrentDate","sourcecreationdate","plannedclosuredate","newTicketPrice","newMobiforceCommission","newFprice","InvoiceDetailsAttachment","LineItemRequestList","_i","getPriceInsight","priceinsight","openCalendarSourceCreationDate","SourceCreationStartDate","openCalendarPlannedClosureDate","PlannedClosureEndDate","sourcecreationdatelimit","plannedclosuredatelimit","keypress","fadeOut","addMorejobitem","showRow","addMoreSkill","skillData","addSkill","Experience","addExprence","Brand","SelfRatingOnSkill","SkillList","removeSkill","JobItemList","ActivityDescription","getLineItemAcitivityDesc","LineItemAcitivityArray","LineItemCategory","qunatityEnable","getRemainingLineItems","LineItemCompanyProvidedChange","LineItemCompanyProvided","LineItemList","LineItemDescription","origdLineItemFreelancerPrice","dLineItemFreelancerPrice","FreelancrPriceEnable","dLineItemWinPrice","LoadSessionData","selectedVal","LineItemDetails","ObjLineItem","Quantity","IsPercentageDisabled","disableProvided","ConverttoDecimal","addPriceLineItem","tData","LineItemCode","LineItemQuantity","LineItemRemark","Remarks","LineItemUnit","LineItemAction","LineItemAttachment","basePrice","dFprice","showTCList","EmptyLineItemDetails","RemovePriceLineItems","remainingPriceLineItems","showTotal","addPriceLineItemInTable","tempCertificateAdd","calculateLineItemPrice","percentage","LineItemPercentage","priceDPF","FreelancerPrice","OnBasePriceChange","FreelancerChangeCal","LineItemEdit","EditUpdateCalculation","removeCurrentActivityRow","removeLineItem","SchedulingAPI","GetAllScheduleExceptionListbyDateRange","ResolveException","exceptionIdList","getAllJobForExceptionList","getAllAccounts","getAllUserByReportingPerson","reportingTo","downloadInvoicebyInvoiceNo","InvoiceNos","inventoryService","$resource","isNavCollapsed","isCollapsed","isCollapsedHorizontal","selectSingle","disableExceptionButton","ticketPageListCount","pageListCounts","scheduleExceptionListNewLength","SearchByAccountName","ExceptionType","exceptionState","showAllAccounts","dates","subtract","ranges","Today","Yesterday","Last 7 days","Last 30 days","This month","startOf","dateRangeChange","totalTableTickets","ticketTablePerPage","TicketTablepagination","changeTicketPageListCount","TicketTablepageChanged","scheduleExceptionListNew","ExceptionState","ExceptionAssignToUserId","AccountName","listScheduleException","nRecordCount","totalTableUsers","enableFilters","actionFlag","TList","searchJobTypeText","searchStatusText","StartTimeD","implementSelectItemsNewJob","selectAllNewJob","showMinusNewJob","selectRowNewJob","applyAllNewJobSelect","resetAllSelect","JobView","backToOldJobList","JobLocation","locationSearch","JobSDate","JobEDate","JobSkill","skillsSearch","UserType","UsersType","DisableScheduledExceptionButtons","disable","getAllDispatchUser","DSusers","resolveException","ExceptionId","accounts","PopupService","FormBuilderService","ActionModelInstanceCtrl","SavingAction","addStep_form","ActionName","modalAction_Name","checkUniqueSectionAndItem","sectionName","checkArrayContainskeyValue","foundItemInfo","ind","arrayIndex","ShowDetailsinPropertyWindow","Item","windowElement","ready","prop","Required","Hint","optionIndex","ModalInstanceCtrl","GetSkills","skill1","updateTemplateCheck","isDisabledField","templateName","templateDescription","SavingTemplate","templateSave_Form","isValid","updatetaskDuration","IsFieldDataReportEnabled","IsSiteAccessNeeded","IsVendorApprovalNeeded","IsSerialNumberVerificationEnabled","SiteAccessWaitingTime","MMFJobType","MMFServiceType","taskDuration","taskDurationLimitMsg","templateUpdate_Form","itemId","getTemplate","fetchedTemplate","getActionsList","flags","output","ActionList","action_name","action_sequence","ActionNumber","AddStep","stepcount","children","parseItemsForEachAction","parseItemSectionWise","action_Sectionslist","renderedModelIndex","currentAction_SectionList","isUndefined","currentSection_ItemList","currentItem","plotItem","stepId","ObjectKeyByValue","tabId","initLayOutforPlotedItem","object","ActionsList","step_withMatching_sortableList","listItemModel","renderingHtmlForItemType","popupCount","contains","renderingSectionList","sectionItemModel","sectionListModel","listItemModelwithSection","itemTypeForHtml","itemTypeDic","modelIndex","isRequired","liHide","contentType","statusClass","popid","RemoveActionModalCtrl","DeleteCurrentStep","get_AllItemsOfAction","step","clearAllFields","todoList1","htmlString","ItemsEmptyCheck","itemEmptyCheck","each","modelScope","task","SortItems","concatedList","concat","concatelist_index","poplist_index","activeSortableList","Supervisor","templateModel","stepVeryingCount","stepID1","elemntDetails","isDisabled","textbox_TemplateUrl","paragraph_TemplateUrl","checkbox_TemplateUrl","dropdown_TemplateUrl","address_TemplateUrl","decimal_TemplateUrl","number_TemplateUrl","date_TemplateUrl","phone_TemplateUrl","email_TemplateUrl","video_TemplateUrl","signature_TemplateUrl","image_TemplateUrl","originalScreens1","originalScreens2","ItemList1","sortableOptions","connectWith","helper","stop","ui","sortable","droptarget","receive","received","source","droptargetList","droptargetModel","dropindex","isDefined","before","TabClick","currentTarget","DeleteCurrentItem","closest","deleteItemIndex","itemInd","found_item_description","SaveElement","optionitems_conditionsCheck","elemtype","uniqueCheck","elementBody","elementScope","labelName","hint","required","Access","current_Element_Index_inList","equals","labelCollection","inArray","is","labelCount","parents","current_item_popid","itemStatus","propertyWindowCancel","ItemsToChangeSection","StatusOfItem","timeEnd","ItemIndexInList","foundItemIndex","ItemIndex","statOfItem","addAction","PropertyWindowExpanded","controlType","htmlForElement","item_type","fetchedListItemID","prev","fetchedItemindex","PropertyWindowCollapsed","expanding","expandedDiv","OpenSaveTemplatePopUp","SaveTemplate","templateScopeWork","templateScopeWorkPath","templateIsFieldData","templateIsSiteAccessNeeded","templateIsVendorApprovalNeeded","templateSiteAccessWaitingTime","templateMMFJobType","templateMMFServiceType","templateIsSerialNumberVerificationEnabled","addOptions","isbutton","deleteOptions","remove","sectionlist_Seprated","fromJson","finalListOfSections","CreatedBy","Update","templateIsIsSiteAccessNeeded","json","DeleteConfirmationTemplatePopUp","tab_ID1","found_item","initializeLayout","trustAsHtml","itemOptionsClickEvent","elemType","checkeElementinList","triggeredElement","popupId","getSLAConfiguration","a","currentPopupElement","StaffSchedulingAPI","GetEmployeeAttendanceShiftView","employeshiftattendanceService","shiftManagementService","generateDates","currentDate","day","toLocaleDateString","weekday","formattedDate","months","selectedYear","selectedMonth","SelectedDepartment","SelectedLocation","filteredDates","$watchGroup","newValues","oldValues","newStartDate","newEndDate","years","_","LocationId","DepartmentId","StartDate","EndDate","AutoSchedule","StaffList","GetAllLocations","locationsList","GetAllDepartment","departmentList","getUserInfo","TeamProfileService","OnBoardingFormService","showOptions1","showOptions2","showOptions3","showOptions4","showOptions5","showOptions6","showOptions7","showOptions8","showOptions9","showOptions10","showOptions11","showOptions12","showOptions13","showOptions14","showOptions15","showOptions16","showOptions17","showOptions18","showOptions19","showOptions20","showOptions21","showOptions22","showOptions23","showOptions24","AddAssestsModal","AssestsModal","closeAssetsModal","ReallocateModal","reallocateModal","closeReallocateModal","CMSAminToken","CMSMediaUrl","fetchUserFromUrl","posts","albumImages","createdBy","companyName","userMap","comment","searchParams","bySearchText","byPostId","byAlbumId","bySuggestionText","commentByPostId","addComment","getUserById","loaderFlag","hideLoader","getUser","getCMS","viewCMS","postId","thumb","caption","urlGetUserById","byAlbumIdUrl","getComments","comments","saveComment","oldText","searchtext","$data","getAutoSuggestions","splitted","sugg","selectAutoSuggest","$item","$model","$label","$event","lastWord","searchtextChange","keyupCalled","keyword","urlParam","results","$anchorScroll","showErrors","errorList","disableUploadButton","Freelancers","Errors","progressbar","successTitle","successMsg","noMsg","noOfRecords","verifyBulkPost","addBulkPost","dzOptions","paramName","maxFilesize","acceptedFiles","dictDefaultMessage","dictRemoveFile","withDisplayLength","dtColumnDefs1","dtColumnDefs2","scrollDwn","animate","dzCallbacks","addedfile","users","tickets","cms","dropzoneChildren","empty","fd","transformRequest","identity","staffShiftModelRes","errorMessage","xhr","uploadFile","referalapi","Invitations","AcessoriesURL","BulkServiceCenter","CreateServiceCenters","getCustomers","BulkUploadJobService","updateType","bulkuploadType","selectedTicket","getProjects","customer","Projects","UpdateErrorList","Users","Customers","Tickets","v","k","ItemErrors","e1","v1","k1","Row","ErrorCode","MissingColumns","errObj","ErrorMessage","TestName","ParameterName","col","errorCode","validationFlag","rowErrors","addFiles","getTickets","TemplateId","showTemplateDownloadError","MasterInventory","MasterItemModel","dtColumnDefs3","CustomerErrors","CustomerLocationErrors","CustomerContactErrors","AssetErrors","TotalErrorCounts","CustomerLocations","CustomerContacts","dtInstance1","dtInstance2","childData","tr","child","isShown","BulkUpdateOrder","AllOrdersModel","MMFCRMURL","BulkCallBooking","TicketModel","errorMsg","GetAllWareHouse","GetDamgedPrdouctDetailList","GetDamgedPrdouctDetailList_CSV","GetProductDetailDashboardByFilter","DispatchedProductToWareHouse","FiltersData","GenerateProductPdfChallan","ProductId","ContentType","OrderAcceptedMark","productId","WrongProductReceivedOrdersService","ProductReplacementOrdersService","oPageIndex","oPageSize","allOrdersPageListCount","allInventoryPageListCount","productImg","invoiceImg","endOf","outsidedateRangeChange","applyOrderFilter","disableCreateButton","DisableCreateButton","warehouseitemlist","OpenResubmitReplaceModel","resubmitreplacedetails","resubmitReplacementId","ResubmitReplaceModel","closeResubmitRequestUpdateModel","resubmitstrReplacementComment","ResubmitProductReplacementRequest","Resubmit_Form","resubmitreplacementreasondata","strProductReplacementId","strReplacementComment","strReplacementReason","resubmitrelacementoption","OpenRequestUpdateModel","requestId","requestIdTobeReturn","RequestUpdateModel","closeRequestUpdateModel","PackageDetails","TrackingLink","strPackageId","strPackageTrackingId","strShipmentId","uploadImageForNotice","checkPDF","pt","trackingStatus","GetProductReplacementDetails","replacementId","trackingDetails","activitytimeline","listApprovalTrail","PDFView","pdfimage","IsLoadSucessfull","taxInvoiceModel","PDFViewOfReturnChallanDoc","PDFViewOfShipmentDoc","page","PDFUserModal","ImageViewOfShipmentDoc","ImageViewOfInvoice","ActionToBeTaken","Request_Update_Form","strPackageStatus","datePackedOn","RequestModel","PackageAttachment","openTrackingLink","trackingLink","totalInvList","inventoryPerPage","InventoryPagination","changeAllInventoryPageListCount","AllInventoryTablePageChanged","SearchText","warehouselist","warehouseInvetoryList","clearFilter","IsWarehouseAlreadySelected","addCartMoreModal","partData","partId","strMMFPartId","partSKUId","strSKUId","partName","strPartName","GetWareHouseByPartId","openAddToCartModal","OrderStatus","SelectedOrderStatus","DateField","ProductName","SortType","searchTag","OrderId","DamagedType","orderDashboardCount","setSelectedFilter","OpenOrderAcceptConfirmation","AcceptOrderModel","closeOrderAcceptConfirmation","totalOrderList","ordersPerPage","OrdersPagination","changeAllOrderPageListCount","AllOrderTablePageChanged","orderInvetoryList","productDetails","Count","DamgedAttachment","InvoiceImage","orderListLength","opageindexCount","OpenTicketView","ticket","clearWrongProductListFilter","csvData","createElement","download","revokeObjectURL","Acceptancemodel","requestDetails","showPartDetails","AllRequestDetail","updateStatusModelOpen","CloseAcceptanceModel","UpdateOrderStatus","DashboardURL","CronUrl","getDummyData","getDummyTableData","getCustomerReport","reportname","getChart","chartType","metrics","dimensions","rollUp","filterKeys","filterValues","chartName","isData","encodeURI","getUsers","mailReport","toList","ccList","bccList","subject","reportName","userID","filterKey","filterValue","reportInMailBody","rollUps","TOList","CCList","BCCList","Body","Subject","ReportName","FilterKeys","FilterValues","ReportInMailBody","RollUps","scheduleReport","RescheduleReport","downloadReport","filterName","checkReportName","widgetCanvasService","ReportService","createdRow","report_data","metricsCharts","tableArray","profileImg","filename","deepLink","valueClass","report_title","attachReportInMailBody","attachReportInExcel","filter_key","filter_name","additionalInfo","defaultMailBody","creationDatefunc","accountCreationDate","tableCharts","rollup","dateArray1","dateArray2","dateArray3","shareModel","selectedUsers","scheduleModel","every_15_days","start_of_day","end_of_day","scheduleTime","scheduleName","reportNameAlreadyExists","reportNameMendtryErr","toListMendtryErr","timeMendtryErr","sampleDateMendtryErr","pull_data","range","week","quarter","current_month","specific","specific_day_value","calculate_range","chartId","rachit","buildColumnBuilder","plotHistory","ticketHistory","getReportName","report_name","reportLayoutCallback","matricsCount","tableCount","tableNames","tableOrder","matricsIds","chartModel","ClickableColumns","cl","Link","ColumnName","KeyName","UIClasess","ClassName","ChartType","ChartId","Metrics","Dimensions","ChartTitle","table_name","reportNameParam","toggleContextMenu","contextMenuVisible","getReportTitle","ShareReport","ShareModal","closeShareReportModal","createwidget","widgetcreate","closecreatewidet","ReportFilter","FilterModal","closeReportFilterModal","ScheduledReport","ScheduledReportModal","closeScheduledReportModal","selectedOptions","getUserSuggestion","re","searchAsOr","searchText1","entry","splittedText","trim","removeSelectedUsers","matched","cancelledToListUser","cancelledCCListUser","cancelledBCCListUser","selectUserNameInToList","toUsers","selectUserNameInCCList","ccUsers","selectUserNameInBCCList","bccUsers","user","checkName","sampleEndTime","splittedtime","contentMedtryErr","schedulerModel","specificDayValMedtryErr","isShow","showEditList","showAction","addMoreFilter","SelectedSkills","SelectedLocations","SelectedAccount","getAllAccountsExceptHD","removeAddmoreEditList","openDilogforDelete","deleteIndex","closeopenDilogforDeleteModal","UpdateAllHDAccountConfig","checkAccount","CentralHelpdeskConfigService","dataSets","columns","Categories","getKeyByValue","firstColumntKey","ancharStr","Values","GetSalesOrdetailByTicketId","orderId","GetShipmentOrder","salesOrderNumber","GetOrderInvoiceByOrderId","WareHouseOrderDetailViewService","ManualAssignationJobService","JobTicketViewService","inventorynewService","NokiaTableHeaderChange","TicketOrderId","order_id","SearchTag","isDefective","dataFilters","CancellationReasons","IsCommissionDetect","urlForNonFeasible","dtInstanceNearBy","dtInstanceFixed","dtInstancePre","SparePartAddress","disableBroadcastButton","disableRouteButton","IsChatEnabled","showPrefer","disabledDrop","showloading","ComplianceDisable","PincodeEnabled","passSerialNum","PrivateDisable","messageText","LineItemDataList","LineItemImage","edit1","BonusPenaltyList","BonusList","PenaltyList","ShipmentDetails","PercentageEnable","IsFinalApproval","StockCountToAssign","PartActionType","feedbackremark","PlannedClosureDateType","WithInDays","WithInDaysNumbers","IsSafetyAudit","ratingwarning","approvalRemark","MaterialStatusList","IsMaterialDelivered","SelectedMaterial","ZOHOWarehouseName","sortType","orderBy","itemValue","userPageListCount","financePageListCount","defectedPageListCount","brandName","productGroup","BrandListName","allSalesOrderPageListCount","allHistoryOrderPageListCount","dateField","ticketdates","ticketranges","ApplyFilter","activeTab","activateTab","tab","Ticketdetailsview","TrackingDetails","Ticketdetails","OrderInvoiceDetails","GetWareHouseById","warehouseId","GetAllWareHouseManagerList","CreateWareHouse","warehouseModel","UpdateWareHouse","DetachWarehouse","teamCardService","WareHouseListService","PlanningResourseMapService","DashboardService","rowCallback","nRow","aData","iDisplayIndex","iDisplayIndexFull","defered","getallCities","CityList","FilterSwitch","skillsArray","userIndex","filteredProperties","imageServices","CreateWareHouseModel","asset","createwarehouseModelOpen","CloseWareHouseModel","warehouseType","warehouseName","addressLine1","addressLine2","pincode","UpdateWarehouseModel","updatewarehouseModelOpen","CloseUpdateWarehouseModel","getAllSkills","GetAllCircles","AddTeamMember","ProfileView","userid","selectedOption","editTeamMember","hideoverlay","myvalue","userClass_status","userSingle","close360View","OpenWarehouseInventoryList","warehouseID","DeactivateUser","userInfo","updateUserStatus","ActivateUser","checkboxVal","teamMember_name","ProjectCheckBox","Project","skillCheckBox","Capture","Locations","statusCheckBox","teamLists","allStatePromise","StateList","selectedState","OpenDetachModal","detachWarehouseId","AllocateModal","closeDetachModal","strWareHouseId","strAddressLine1","strAddressLine2","bIsWareHouseActive","strManagerId","WarehouseManagersList","ActionType","AllWarehouseData","WareHouseId","strWareHouseName","strWareHouseType","AllocatedManager","strState","strCity","strPincode","Location","strLocation","IsWareHouseActive","ActivateOrDeactivateWareHouse","reloadData","warehouse_form","warehouse_update_form","newStatus","warehouseActiveModel","GetInventoryByWareHouseId","GetInventoryByWareHouseId_CSV","GetInventoryDashboardByWareHouseId","AddInventoryToWareHouse","WareHouseItemListService","InventoryCartService","InventoryItemListService","createItemMoreModal","GetAllVisibleMasterParts","moreitemModal","closecreateItemMoreModal","selectedPart","StockType","setSelectedItem","newFilter","nTotalDeadStock","nTotalGoodStock","addNewFilter","filter","resetNewFilter","saveFilter","deleteDataFilter","clearError","clickselectedPart","inventoryData","sideViewData","sideViewPartImage","strPartImages","sideViewPartLength","TrainingImageServices","TrainingImagebase64","MMFPartName","ProductGroup","PartSubGroup","ListMMFPartModelRes","RecordCount","inventoryListLength","PartName","PartCategoryGroup","PartBrand","InvetoryDashboardData","masterInvetoryList","GetItemBrandName","BrandList","GetItemGroupName","PartNameList","changeCategoryFilter","GetItemListName","PartList","PartListWithFilter","GetItemPartName","GetTicketsByStatus","GetActiveUser","GetListAllFreelancers","GetAllFreelancersWithFilters","itemNames","itemValues","AutoBroadcastAllNewJobsManualMode","ticketIds","PullBackJob","callToTechnicianApi","callToTechnicianInBroadcastState","GetAllWorkOrderJob","getAccounts","GetTicketsById","GetAllSkills","GetReasonsByStatus","GetTicketsByFilter","GetUsersByFilter","AssignTickets","ticketList","GetBidReceivedByStatus","GetBidDeny","GetBidSentByStatus","userfilter","GetFeedbackByUserId","GetBroadcastedBids","AssignReceivedBid","BroadCastJobs","GetUsersByRole","GetAllVendors","GetFreelancerVendorsByFilters","GetFixedVendorsByFilters","GetTicketsByUserId","RouteJobsforUser","getAllStateTech","getRejectHistory","getAllJobTickets","supervisorId","textItemNames","textItemValues","templateCols","templateItemNames","templateItemValues","SortField","getAllJobTicketsCopyForPagging","GetAssignedTicketforUser","GetSchedulingEvaluationResult","GetAllPrefereTalentPool","GetAllTechnician","BroadCastJobsforUser","AcceptJob","getPdfReport","ticketID","PullBackTicket","RejectJob","ConvertToNewJob","UpdateHoldingStatus","holdingStatus","reason","Remark","downloadOnSiteReport","GetCancellationReasons","GetPullBacknReasons","GetUserFeedbackOption","GetUserByReportingTo","PullBackTicketFromTechnician","CancellationReasonsModel","UserDataUpdateRequest","UserPenaltyUpdate","UpdateJobServerCancel","SendCancelCodeToCustomer","SendCodeModel","TBCCancelationAudit","updateTicketSettlement","UpdateFollowUpReason","AddSiteAuditwithAttachment","getFixedUserInfo","getJobsByUserId","GetAvailableSlots","selectedDate","BookSlotForSMEInterationWeb","slotIndex","BookSlotForBGVerification","GetFreelancerJobs","GetCustomersByAccount","GetAllInteractions","GetAllInteractionsDashboard","GetReportingToMeUsers","AssignSlotInteractionToUser","InteractionType","SlotAllocationService","SMEInteractionService","OnBoardingFlowService","uiCalendarConfig","loggedinUserRole","jobTickets","TicketReponseModelList","jobsCount","totalJobs","jobspagination","uPageIndex","uPageSize","jobStatusForPaging","preprocessData","jobsPageListCount","jobsMaxcount","jPageIndex","jobsStarIndex","locationCount","locationToolTip","SkillSetCount","SkillSetToolTip","OneJobSkillSetCount","OneJobDoneSkillSet","OneJobSkillSetToolTip","VendorLocationsCount","VendorLocations","VendorLocationsToolTip","VendorSkillsetsCount","VendorSkillsets","VendorSkillsetsToolTip","ratingStars","getRatingStars","Ratings","blankStars","getBlankStars","exp","flightPath","recordRating","selectedIndex","userRating","starRating","classList","displayTotals","barChart","querySelectorAll","numRatings","numRatingsValue","reverseBarChart","reverseRatingTotal","getAttribute","ratingsAverage","loggedinUserSkill","broadcastSentUser","toggleForBroadcast","timeLineDetail","openTimeLine","manualAssignationWrapper","toggleMenu","hideAllUser","showAllUser","hideAllUserbutton","userFilter","minatureSlide","closeFeedbackoption","close360ViewBroadcaste","assignJobFilter","minatureSlideBtn","hideFilter","IsOpenBucketEnabled","IsAutoAssignToCHDteam","loggedInUserVendorId","loggedInUserReportingTo","sorttype","InteractionList","assignButtonDisable","bGVerifyListLength","statusList","AssignedTo","slotStatus","userskill","disableuploadbutton","bookingdates","bookingRanges","Till now","ClosureDateTime","eventsF","timezone","m","events","allDay","className","scheduleStartDate","scheduleEndDate","slotBookingdates","showCalendar","showBookingTab","slotDate","toggleCalendar","slotBookingUserId","dateClicked","dateOptions","formatYear","startingDay","maxDate","GetFinanceTicketDetail","paymentId","financedetails","CustomerAcc","getAllProject","ProjectAcc","GetCustomerByAccount","SelectedAccountId","HDAllAccounts","account","CustomerList","GetProjectByCustomer","ProjectListByCust","SearchByCName","GetProjectByCust","ProjectListByCustomer","ProjectList","prject","AutoBroadcastJobs","DisableBroadcastButtons","confirmationMessage","autoBroadcastJobIds","confirmationModalInstance","confirmationCloseModal","disableBroadcastCloseButton","AutoScheduleJobs","FilterArray","callToTechnician","workOrder","activeRow","workOrdertList","getDetailsList","openHistoryModel","CloseHistoryModel","PullBackJobs","pullBackJobIds","JobIdsforPull","alertOnDayClick","alertMessage","alertOnEventClick","jsEvent","view","alertOnDrop","delta","revertFunc","alertOnResize","addRemoveEventSource","sources","canAdd","addEvent","changeView","calendar","currentView","calendars","fullCalendar","renderCalender","eventRender","uib-tooltip-append-to-body","uiConfig","editable","displayEventTime","left","right","dayClick","eventClick","eventResize","uib-tooltip","businessHours","dow","eventSources","Availibility","showAvailability","AvailableUserData","AvailibilityUS","DisableRouteBroadcastButtons","brodcastButtonDisable","routebuttonDisable","GetNewJobs","NewJobs","date2","CreationDate","Age","MetrialDeliverStatus","IsDissablePermision","stars","loadAllSkills","skillsWithPipe","applyFilterForUser","usersStatus","filterToggle","Type","filterType","toDate","fromDate","OrderSeq","listofActiveUsers","sortColumnUser","reverseclass","sortClassUser","GetAllFreelancers","freelancerUsers","GetAllFreelancerVendors","FreelancerVendorUsers","bool","checkAll","checkAny","showCheckAny","freelancerCheckAny","GetTicketById","JobProfile","removeFilters","isChecked","teamIteamNames","teamIteamValues","fixedUsers","broadItemNames","broadItemValues","BroadcastedJobs","vendorList","supervisorList","searchform","SearchModal","tabNo","getAssistedSuggestion","ticketStatusCheck","showRouteBroadcast","ShowManualBroadcast","TicketSelectedForAssistedSuggestion","broadcastTicketId","UserSuggestionList","StoreUserSuggestionList","Attendence","AttendenceList","Distance","IsMMFPrimeMember","OneJobDoneOnSkill","GetFreelancerSuggestions","showMode","isReceived","getFLprofile","selectedUserId","closeAssistedSuggestion","JobTotal","jPageSize","filterStatusForJObs","JobcountbyStatus","wsersFilterArray","Get360WorkSummary","witemNames","witemValues","wsSDate","wsEDate","getJobsSuggestion","itemNamesSgtn","itemValuesSgtn","suggestionList","GetTicketDetailsBySuggestion","GetTicketDetailsByValue","openComboModal","CloseComboModel","bundlesum","openBroadcastmodal","broadcastError","jobselected","includes","BroadcastModal","closeModal","openBroadcastmodalforFV","broadcastErrorFV","jobselectedFV","BroadcastModalFV","OpenBroadcastModelToFV","closeModalFV","vendor","UserTypeList","getJobAllStatus","StatusName","slideAssistedSuggestion","closeFLprofile","slideF","closeSlide","Applyfilter","OpenFilterModel","FollowUpModel","OpenFollowUpModel","CloseFollowUpModel","primaryFollowUpReason","primaryFollowUpRemark","primaryHoldReason","primaryHoldRemark","followFiles","attachmentForFollowUp","DocEdit","TicketFollowUpWithoutDoc","ModelInstanceOfMap","trackingTicketId","TicketBreachValueconver","TicketBreachValue","TicketBreachValueInString","OpenTracking","Tracking","CloseTracking","sortColumn","sortClass","searchTicket","ResetTicketFilter","closeSearchText","SearchByConsumerName","AssigedTo","open360ViewBroadcaste","Userpagination","getUsersByTickets","Get360TeamProfileData","teamid","Get360ProfileData","teamdata","AvgRating","userProfile","AverageRating","ReviewsList","Reviews","avgratingStars","getAvgRatingStars","avgblankStars","getAvgBlankStars","userratingStars","getUserRatingStars","Average","userblankStars","getUserBlankStars","arrayRating","blankRating","totalWS","wsPerPage","changeUserPageListCount","WSTablePageChanged","ratingTotal","star","addEventListener","countForStatus","Get360VendorTeamData","vendorteam","GetUsersTicket","userIdforStatus","statusForTickets","getAllJobTicketsCopyForUsers","UserticketList","LightTicketModels","statusCount","wsTicketList","workSummaryData","WorkSummaryTotalCount","wsListLength","wspageindexCount","FinanceFiltersList","GetFinancialSummary","fnitemNames","fnitemValues","fPageIndex","fPageSize","paymentCount","paymentsSummary","financialSummary360","financialLPSummaryList","totalFinList","financeListLength","fpageindexCount","ResetUserFilter","getFileType","Get360SkillSummary","skillsetData","CertificateDetails","CertimageServices","TrainingCertificate","PreviousCompanyDetailsList","ExperienceLetter","PreviousCompnyExperienceLetterServices","UserTrainingList","TrainingImage","TrainingAttendance","TrainingAttendanceServices","GetReviewAndRatings","reviewData","InstallationratingStars","behaviourRating","InstallationService_Avrage","InstallationblankStars","SafetyratingStars","SafetyProtocols_Avrage","SafetyblankStars","VisitratingStars","VisitonTime_Avrage","VisitblankStars","CourteousratingStars","CourteousRespectful_Avrage","CourteousblankStars","ProratingStars","ProfessionalAppearance_Avrage","ProblankStars","ServiceratingStars","ServiceExperience_Avrage","ServiceblankStars","GetToolsAndAssets","assetData","implementSelectItemsUsers","selectAllUsers","showMinusUsers","selectRowUsers","toBeAssigned","myObject","VideoUploadPopup","UserSkill","UserIdForVideo","UserSkillForVideo","VideoModel","uploadVideoFile","FrontFileName","FilesFrontDoc","skillrating","setRating","UploadSMEVideo","Feedback","FeedbackRemarks","Rating","UploadSMEInteractionVideo","VideoUploadPop","UploadBGVideo","UploadBGInteractionVideo","totalTableUsersBG","userSMETablePerPage","UserSMETablepagination","changeUserSMEPageListCount","UserSMETablepageChanged","userTablePerPage","join","FromDate","ToDate","PageCount","GetInteractionResModelList","TotalSlots","AssignedSlots","PendingSlots","CompletedSlots","BreachedSlots","UserByFiltersList","ProfileEditView","getAllUsersByType","getAllSlotsByStatus","AvailableSlots","objAvailableSlotModelList","selectedTimeSlot","SlotId","disableBookingButton","items","filtered","searchstr","match","User_Type","InviteTeamForRegistration","ContactNo","GetInvitedTeamForRegistration","VendorTeamCreateService","saveAndNewFlag","editMode","address_option","officeFormValidation","isUserDetailCollapsed","isOfficeUseCollapsed","age","maxDOB","maxDOBStr","toDateString","UserName","AddTeamMemberModel","teammemberadd","CloseAddTeamMemberModel","AddTeam_form","invitedteamlist","InvitedTeamExploreList","ActivateVendorTeam","userIdtoUpdate","VendorTeamCreationService","ProfileData","preProcessUsers","CustomerRating","displayName","locs","allSkills","workareas","w","allWorkareas","getAllUser","Picture","userData","LunchSchedule","UpdateLunch","closeUpdateLunch","Get360TeamView","userNameSearch","RedirectToConfiguration","Get360AuthorizedDetail","GetAuthorizedServicePartnerDetail","authorizeDetail","GetLastFollowUpOnTicketId","FollowupListArr","fdetail","FollowUpOnTicket","FollowupList","isUpdating","destroy","DetachUser","updateDetachStatus","openTeamProfile","ContactName","getStatusClass","$applyAsync","GetVendorById","vendorId","GetVendorTeam","BlockedVendor","PreferredSingleVendor","GetTicketsByVendor","UserAgreement","GetUserId","getFreelancerHistory","GeneratePdfSelfDeclaration","GeneratePdfVerificationReport","NewVendorProfileService","ActiveUserService","base64ToArrayBuffer","base64","ret","binaryString","atob","binaryLen","Uint8Array","ascii","charCodeAt","CustomDateformat","OnlyDateformat","vendorData","ActivationStatus","VendorId","CertificateprofileImg","DocumentprofileImg","dtInstanceticket","AccountHistoryData","teamProfileList","UserRole","teamprofileImg","teamCertificateprofileImg","teamDocumentprofileImg","VerificationCertprofileImg","teamVerificationCertprofileImg","TrainingAttendancebase64","PCExperienceLetterbase64","ExperienceVerificationReportbase64","TeamTrainingImagebase64","TeamTrainingAttendancebase64","TeamPCExperienceLetterbase64","TeamExperienceVerificationReportbase64","CriminalVerificationbase64","TeamCriminalVerificationbase64","teamimageServices","VerificationCertimageServices","teamVerificationCertimageServices","CertificateimageServices","TeamCertificateimageServices","DocumentimageServices","teamDocumentimageServices","InsurenceImg","InsurenceimageServices","TrainingAssessment","BGVerificationDocPath","DocumentPath","VerificationReportPath","InsuranceDetails","InsuranceImageURL","PreviousCompanyAuditList","AuditReportDocPath","ExperienceVerificationReportServices","CriminalVarificationObj","verificationReport","CriminalVerificationServices","customerrating","Team","TeamClose","TeamPreviousCompnyExperienceLetterServices","TeamTrainingImageServices","TeamTrainingAttendanceServices","TeamExperienceVerificationReportServices","TeamCriminalVerificationServices","blockedvendor","BlockedVendorModal","blockvendor","backlistVendor","backToVendorList","OpenPdfModal","PdfPathName","TypeName","PDFViewGeneratePdfSelfDeclaration","PDFViewGeneratePdfVerificationReport","TeamPDFViewGeneratePdfSelfDeclaration","TeamPDFViewGeneratePdfVerificationReport","PDFViewLegalContract","PdfPathNames","TypeNames","ConvertBase64ToBlob","Base64Data","arrrayBuffer","DocumentAvailableMessage","WordDownloadtoView","dts","addpreferredvendor","AddPreferredVendor","AddPreferredVendorModal","preferredSingleVendor","agreement","Agreement","IsLoadSucessfullAgreement","AgreementUserModal","CloseAgreementUserModal","policyModel","agreementview","uri","Content","dec","decodeURIComponent","RechargeHistory","RechargeModal","Email","CloseRechargeModal","Infra","InfraModal","CloseInfraModal","Training","TrainingModal","CloseTrainingModal","withClass","dtOptionsSkill","dtColumnSkill","TicketHistory","TicketModal","CloseTicketModal","EditVTeam","RegistrationNo","EditVendorTeam","GetTicketByVendor","dtOptionsticket","dtColumnDefsticket","dtOptionsTeam","dtColumnTeamDefs","dtOptionsInfra","dtColumnInfraDefs","dtOptionsTraining","dtColumnTrainingDefs","getCountry","getStates","createVendor","updateVendor","VendorCreationService","clearFormFields","vendorName","address1","address2","emailId","mobileNumber","otherMobile","gender","stateList","cityList","VendorRespData","selectState","AddressLine1","AddressLine2","EmailId","MobileNumber","OtherNumber","vendor_form","vendorModel","VendorCode","vendorCode","GetAllStates","Getstate","CircleList","selectedCountry","countrylist","save","VendorProfileService","vendorInfo","BGDocList","Tools","BGDocType","DocumentType","DocumentName","BDDocSubType","trainingIndex","TrainingList","pathtcertificate","addTraningCertificateName","CertificateNo","CertificateIssueDate","CertificateExpiryDate","sparkline1","qualificationList","last30Years","experienceList","brandList","currentYear","sparkline1Options","lineColor","fillColor","dtOptionsDocList","dtColumnDefsDocList","uploadBGFile","DocumentPath1","DocumentName1","prepareUserData","issue","expry","issuedate","_d","exprydate","finalModel","PINCode","ReferralUniqueKey","CurrentPinCode","AlternateNumber","AlternativeContactNumber","PAN","AdharNo","IsMobileAvailable","IsLaptopAvailable","IsBikeAvailable","saveTrainingAssessment","AuthorizedBy","saveBGDocs","getAllCertificate","GetAllCertificate","AllCertificateSets","addMoreTCertificate","CertificateName","CertificationYear","AssessmentLevel","removeCurrentCertificate","addMoreCertificateInTable","getCertificateSets","RemoveCertificate","remainingCertificate","uploadCertificateFile","traning","HelpDeskHomeAdminService","HelpDeskCustomerViewService","SMS","AllBookingList","InApp","UpdateVendorStatus","VendorListService","GetVendorDataById","profileData","EditVendor","UpdateActivation","PaymentSectionService","makeMarker","accCheck","jobCardId","feedback","details","showDetails","hideDetails","getReadableDate","getCustomerJobCardById","consumername","consumerAddress","ConsumerAddress","MMFPrimeMember","IsVaccinated","ConsumerOTP","NumberToCall","CallInitiate","FERating","mapMarkers","clickToCall","GetJobsSetupForDemo","CreateJobsUtility","jobStartDate","CleanupJobs","cleanupdate","CreateSlot","ToolUtilityService","SelectedJobDate","timepicker","DisplayCleanupJobDate","openCalendarCleanupjob","Cleanupjobs","getJobCountandSkill","CountandSkillList","CleanupJobDateFormat","_date","sdate","CleanupsJobs","_cleanupdate","_createslotDate","CreateTicket","Data","TicketFormService","complaint","Issue","first_name","last_name","phone","selectSubRegion","selectCitySubRegion","subregion","saveForm","TicketType","Country","CallType","Image","sectionMap","registration_form","uploadImageFile","fileUploadError","scopeMsg","activatingUser","uniqueKey","ThankyouService","user_unique_key","failed","errMsg","emailName","CreateSubRegionMaster","CreateRegionMaster","GetAllSubRegion","GetAllRegions","TerritoryMappingService","disableCreationButton","dtInstanceSubRegionModal","searchSubRegionModelText","dtInstanceRegionModal","searchRegionModelText","AddSubRegionModelOpen","addsubregion","CloseAddSubRegionModel","SubRegionName","SubRegionState","SubRegionCity","SubRegionBranchCode","AddRegionModelOpen","addregion","CloseAddRegionModel","RegionName","RegionSub","FilterSubRegion","FilterLocationName","searchSubRegionModelTable","dtOptionsSubRegionModel","LocationName","subregionList","dtColumnsModel","BranchCode","refreshSubRegionTable","GetAllSubregionFilterForLocation","GetAllFilterSubRegion","AllFiltersubregion","AllFilterLocationname","clearsubregionfilter","searchRegionModelTable","dtOptionsRegion","FilterForRegion","FilterRegionSUb","regionList","dtColumnsRegion","refreshRigionTable","GetAllFilterRegionSub","GetAllFilterRegion","AllFilterRegional","AllFilterRegionalSub","clearregionfilter","AddSubregion_form","AddRegion_form","RemoveSubRegion","RemoveRegion","TerritoryMangementService","isRegionCollapsed","isSubRegionCollapsed","bihar","chennai","uttarPradesh","banglore","northBihar","southChennai","westUP","eastUP","southBanglore","ExpandRegion","ExpandSubRegion","modalAction","deleteregion","deatchregion","CreateCase","dialertask_form","CloneTemplateController","Cloning","cloneTemplate_form","TemplateDescription","cloneTemplateData","currentPage","pageSize","availableSearchParams","placeholder","getAllTemplate","editTemplate","goToCreateTemplate","CloneTemplatePopUp","even","templatedescription","GetDashboardData","ReturnPrimeMemberAmount","UpdatePincodeSkillAccountId","DeleteAuthorizedServicePartnerByUserId","UpdateUserSkillS","DeActivateUserWithRemark","CreateCaseForTechnician","dataToSend","AddAuthorizedServicePartnerForWeb","UploadMedia","GetPaymentsForUser","GetPayoutsForTechnician","GetDepartmentDetails","GetAllMasterDataOfServiceCenter","GetAllProductDetailInMaster","GetAllCasesForTechnician","UpdateUserLockProfile","UpdateCaseForTechnician","GetSkillRecommendationsForUser","GetAllActivityForTechnicianCase","caseId","UpdateUserBGVerificationDetails","addressProof","identityProof","TeamFormCreationService","TechnicianViewService","PincodeFinderService","AllUsersListService","NgMap","CentralHDTicketsViewService","clearTicketMarkers","ticketMarkers","clearPinCodeMarkers","pinCodeMarkers","deleteTicketMarkers","deletePinCodeMarkers","toggleBounce","setAnimation","Animation","BOUNCE","CallPatchEnable","selectedTemplates","PaymentStatus","SettlementStatus","readyRaisedI","GroupType","editPermission","DocumentbackImg","reasonsForFU","convertNewReasons","convertNewReasonsRemark","MoveSPDbyTwoDays","RejectionRemark","IsSearch","signatureUploadError","trainingUploadError","authorizationUploadError","closureCode","SearchByIs","SearchByDiscription","SearchByTName","SearchByTContact","SearchByPName","SearchByTicketId","InvoiceStatus","autoScheduleOn","IsAutoSchedulerOn","loggedInAs","aproveMessage","ticketListLength","SiteAuditFileName","TicketDataToRaiseInvoiceList","pullBackReasons","pullBackReasonsRemark","IsWithInDays","fTPageIndex","fTPageSize","uType","uitemNames","uitemValues","searchUsersText","financeTechPageListCount","ResetFilter","searchLabText","getAllJobTicketsCopy","caseDetails","Openresolveraise","caseDetail","raiseresolve","closeraiseresolve","isEditable","TrackingSidePanel","CaseIdForTrack","CaseId","CaseActivityInfo","OpenDeleteCertificateModal","Servicepartnerid","servicePartnerId","DeleteCertificate","CloseCertificateModal","ServicePartnerId","AddCertificateModelOpen","addcertficate","CloseAddCertificateModel","productserving","TeamSize","Tenure","ServiceCenterAddress","AuthorizationFileName","TrainingFileName","PhotoSignatureFileName","AuthorizationDoc","TrainingDoc","SignatureDoc","attachAuthorizationDoc","filesArray","uploadFiles","attachTrainingDoc","attachPhotoOfSignature","fileObj","AddAuthorizedServicePartnerDetail","BrandNameOther","ProductServing","CertificateOfAuthorization","PhotoOfWorkPlace","GetAllActivitiesForUser","UserActivityInfo","GetNewPincodeOfSelectedSkill","newselectedSKill","PincodeNewOpportunityModelList","newskillset","newPincodeSet","PincodeOpportunityModelList","GetPincodeOfSelectedSkill","selectedSKill","PincodeExistingOpportunityModelList","skillset","existingPincodeSet","recommendationData","totalTableBundles","ApprovedJobCount","AssignJobCount","BroadcastJobCount","CancelJobCount","CompleteJobCount","TotalJobCount","HoldJobCount","InTransitJobCount","OnSiteJobCount","InProgressJobCount","CancelCustomerVerified","NewJobCount","ReadyToAssigJobCount","RejectedJobCount","ScheduleExceptionJobCount","AddressExceptionCount","PriceExceptionCount","ItemInventoryRaised","ItemInventoryDelivered","InvoiceRaisedCount","InvoiceNotRaisedCount","BroadcastCountTickets","expandAll","expanded","DocumentimagebackServices","aadhaarImageServices","adhaarImg","cancelledImageServices","cancelledChequeImg","applicationformImageServices","applicationFormImg","gstImageServices","GSTImg","panCardImageServices","panCardImg","payoutImageServices","payoutImg","ShopLicenseImageServices","licenseImg","tanNoImageServices","tanNoImg","videokycName","videokyc","DocumentPathBack","serviceCenterData","AadharDoc","CancelCheque","ApplicationForm","GSTCertificate","PANDoc","PayoutStructure","ShopLicense","TANCertificate","PermanentState","PermanentCity","useraccount","contactNumberSearch","removeKycVideo","removeKycVideoModel","CloseRemoveKycVideo","deleteVideoForKyc","totalUsers","usersPerPage","UsersFilterArray","applyUserFilter","categories","subcategories","Updatecategories","updatedname","Updatesubcategories","selectedCategory","selectedSubcategory","IssueDescription","CaseResolution","CaseStatus","IssueRelatedTo","ActualIssue","complaindetail","toggleEdit","ConsumerId","ProductOrService","updatedCategory","updatedSubCategory","DepartmentAssignedTo","CaseOwnerId","updatedsubCategoriesList","CaseDescription","toggleEditNew","financePerPage","Financepagination","changefinancePageListCount","FinanceUserTablePageChanged","pageParams","paymentStatus","totalItems","totalFinTechList","financeTechPerPage","FinanceTechpagination","changefinanceTechPageListCount","FinanceTechTablePageChanged","paymentfortechnician","financeTechListLength","fTPageIndexCount","usersTablePerPage","jobstartDate","jobendDate","DashboardData","DepartmentList","MasterServiceBrandList","BrandNameList","MasterServiceProductList","ProductNameList","consumers","userListLength","upageindexCount","OpenDeactivateConfirmationModel","openDeactivateModel","closeDeactivateModel","DeactivationRemark","Deactivation_Form","BlockComment","OpenSkillRemovalConfirmationModel","skillToBeDeleted","openSkillRemovalModel","closeSkillRemovalModel","OpenPincodeUpdateModel","UpdatedPincodeSet","openPincodeEditModel","closePincodeUpdateModel","OpeSkillUpdateModel","UpdatedSkillSet","openSkillEditModel","closeSkillUpdateModel","getAllSkill","deleteSkillFromUser","UpdatePincodesInUserProfile","pincodeList","OpenRefundConfirmationModel","openRefundModel","closeRefundModel","disableRejectButton","UpdatedCaseForTechnician","dataToUpdate","AssigneToTeam","AssignToDepartment","pitemValues","ticketFilters","Approved","Cancelled","Completed","Assigned","pincodeFilters","InProfileNoJobs","InProfileWithJobs","NotInProfileWithJobs","NotInProfileNoJobs","sortReverse","sortBy","column","GetPinCodesAndJobInfo","getMap","getRadius","num","sqrt","backprvpage","freelancer","vendorTeam","highlightRow","selectedPincode","showMapWithUser","techData","latLng","FixedLatitude","FixedLongitude","contentString","FixedGeoLocation","infowindow","panTo","setZoom","GetMaxJobServedDistance","onSliderMouseUp","pincodesWithJobsInProfile","pincodesWithoutJobsInProfile","pincodesNotExist","pincodesWithJobsNotInProfile","bouncingMarker","showMapWithTechBasedOnPincodes","infoWindow","circleCenter","circleRadius","DistanceBetween","strokeOpacity","strokeWeight","fillOpacity","radius","userslistbyTkt","myLatlng","InProfile","JobCount","selectedMarkerIndex","scrollToRow","fitBounds","openInfoWindow","rowId","GetFreelancerDataByUserId","fetchdataModel","Range","JobsFromDate","JobsToDate","ItemNames","DataFeild","updatePincodesMapIcons","OverAllInfo","TicketListByFilter","WorkSummary360Data","PinCodesInfoList","mapType","showMapBasedOnTickets","UpdateIdConfirmation","orderData","actionType","updateidconfirm","closeUpdateIdModel","AddressProof","IdentityProof","ticketPlot","TicketID","JobsStatus","showTickets","showPincodes","showAllTickets","displayAllTickets","updateMapIcons","updateOptionalMapIcons","directive","ms","secs","mins","GetAllRequestedPart","orderStatus","category","GetAllRequestedPart_CSV","GetUserInventoryStockforweb","GetInventoryDashboardByServiceCenter","UpdatePartDetails","InventoryDefectStockList","GetItemListNameWithId","TrackinDetailForDefectItem","trackingId","GetServiceCentenAndTeamStockData","PullBackStockToTechnician","GetAllWareHouseForExploration","MarkSalesOrderasDelivered","GetWarehouse","GetSalesOrder","salesOrderId","UpdateRequestInventoryJobLineItemStatus","lineitemId","updateStatusRemark","GetRequestedLineItemDetailsByTicketId","createSalesOrder","DirectPlaceOrder","ReturnOrderPlace","TransferInventory","viewReportPdf","fileName","GetUserInventoryStockCsvDownload","CreateInvoiceToStockAlllocationToFielEngineer","AllocateStockToFieldEngineer","GetAllPartsByTicketId","UpdateTeamOrder","TeamPartRequestService","TeamMyStockService","ServiceCenterUserId","lineItem","ServiceCenterVendorId","dPageSize","dPageIndex","ItemImage","requestPartDetails","OpenPartDetailPanel","PartDetails","NewItemquantity","OpenUpdatePartDetails","parts","UpdatePart","OldPartId","ZOHOItemId","PartsOrderId","ZOHOSalesOrderId","partdetailsedit","CloseUpdatePartDetails","isUpdateDisabled","selectedTicketId","NewPartId","PartListWithFilterwithId","item_id","updatepartsdetailsForm","morecartModal","closecreateCartMoreModal","lineItemPartData","OrderIdToPlaceOrder","quantity","increaseQuantity","decreaseQuantity","OrderUpdateReqModel","OpenOrderEditingModel","orderDataToUpdate","orderItemsDataToUpdate","lineItems","OrderEditingModel","addNewPart","strItem","toggleEditMode","orderpart","isEditing","part","item_name","backup","saveEdit","cancelEdit","newPart","increasePartQuantity","decreasePartQuantity","deletePart","closeOrderEditingModel","UpdateTeamPartOrder","orderItem","filteredOrderItem","strItemId","strItemName","nItemQuantity","objLIstItemDetaiList","WarehouseNameSelected","objItemDetails","partsData","MMFPartId","selectedWarehouse","OpenSidePanel","TrackDetails","assigntotech","AssignSidePanel","q","CountDetails","getPic","AssignStockModel","userDetails","createTaskModelOpen","CloseAssignStockModel","CountPopup","COuntTaskModelOpen","ClosecountpopupModel","SalesOrderPagination","changeAllSalesOrderPageListCount","AllSalesOrderTablePageChanged","orderdetailsview","salesOrderDetail","TicketPartOrderList","requestedPartInventories","csvRequestedData","totalDefected","defectedStockPageRequest","Requestpagination","changeMyDefectedPageListCount","usersPerPageRequest","MyDefectedTablePageChanged","GetInventoryDefectStockList","DefectiveStockList","inventoryDefectStocks","myDefectedListLength","dpageindexCount","MainActiveTab","setMainOrderStatus","mainTab","searchByText","AddDefectedStockModal","StockModal","closeDefectedStockModal","addTicketId","addType","addQuantity","allocatedetails","allocatedOrderId","closeAllocateModal","IsShipmentVisible","stockitem","slectedMystockitem","myitem","OrdercreateModal","OrderModal","closeOrdercreateModal","WareHouse","OrderType","GetTrackingDetailsByTrackinNumber","trackingNo","trackNo","trackingNumber","getTrackingDetailsList","lastTag","tag","TeamStockData","PartOwnerId","StockCount","warehouseExploreList","OpenStockTransferModel","partDetails","PartToBeTransferDetail","stockTransferModelOpen","CloseStockTransferModel","transferFromUser","transferToUser","transferQuantity","defectItems","TicketForAcceptance","acceptanceModelOpen","DefectedCount","submitForm","NameList","IetemName","MarkSalesOrderDelivered","SalesOrderId","Organization_id","AcceptanceProof","AttachedFileName","OpenReturnModel","ReturnType","ReturnRequest","ReturnOrderType","ReturnQuantity","returnModelOpen","CloseReturnModel","defectedTrackingId","WareHouseID","ReturnOrderStockType","Attachment","cardItemDetails","SKUId","SenderUserId","ReciverUserId","rejectpart","RejectModal","RejctShareModal","closerejectmodal","updateLineitemStatus","resetFilters","downloadCSV","alasql","OpenAllocateModal","allocate","IsVisible","createOrderData","wareHouseItemList","sendWdata","TotalInventoryAmount","ShowCreateShipment","listWdata","GetPartRequestOrderLineItem","JobLineItemId","ShipmentTicketId","OrderAmount","closeWarehouseModal","warehouseLineItemId","warehouseData","warehouseList","PartRequestLineitemData","BackendApprovalStatus","itemIdWithWarehouseModels","OrderList","salesorder","line_items","OpenLineItemData","lineItementry","LineItemData","hwData","warehouseDescription","warehouseQuantity","warehouseValue","viewInvoicePdf","InvoiceData","AddDeadStockToServiceCenter","damageStock","damageType","GetSearchServiceCenter","selectedServiceCenter","MaxLimit","validateStockCount","abs","nQuantityAvailable","totalInventory","usersStockPageRequest","changeMyStockPageListCount","MystockTablePageChanged","MyInventoryStockList","totalInventoryValue","InventoryTotal","myStockListLength","countdpageindexCount","consumerAllTicketsData","servicecenterData","MaxValue","warrantyType","WarrantyType","filterRole","ResetPasswordForTeam","ReportingTo","TerritoryMappingModel","accNameLoac","accIdLoac","accLoac","navigator","userAgent","get_URL","webkitURL","save_link","createElementNS","can_use_save_link","node","MouseEvent","dispatchEvent","is_safari","HTMLElement","safari","is_chrome_ios","throw_outside","setImmediate","force_saveable_type","arbitrary_revoke_timeout","revoke","revoker","dispatch","filesaver","event_types","listener","call","auto_bom","FileSaver","no_auto_bom","object_url","force","dispatch_all","fs_error","onloadend","popup","readyState","DONE","INIT","opened","FS_proto","msSaveOrOpenBlob","abort","WRITING","onwritestart","onprogress","onwrite","onabort","onerror","onwriteend","self","exports","define","amd","getAllUserList","userdata","TechnicianUserId","getAllUserBySkillAndRating","bulkuploadService","getUserRating","input","orangeStarAdd","yellowStarAdd","yellowStarRating","whiteStarRating","whiteStarCount","starindex","whiteIndex","customerInfo","imageIndex","getUserRatings","customerStar","cust","averageRate","isNaN","skillSets","getSkillSets","previousIndex","skillList","RemoveSkills","remainingSkills","settings","localStorage","setItem","sInstance","getItem","smart","caseInsensitive","visible","PermanentAdd1","PermanentAdd2","PermanentPinCode","saveBasicInteraction","getState","GetTicketStatusForTerritory","CreateUser","getAllRole","GetRegion","GetAllProductNames","GetAllSkillsForProduct","getAllPincode","GetReportingToUser","getAllReportingTo","getUserData","updateUser","getAllRoleByUserId","getAllAccountsConfigured","getTerritoryPincodes","GetAllNotAllocatedWareHouse","RolesList","email","phone_number","cores_address","father_name","alternate_number","selectedSkills","expertise","userId_ForUpdate","specialist","warehouseToBeAllocated","AadhaarNumber","ExperienceInYears","SubCity","allStates","birth_date","company","permanent_address_line1","permanent_state","permanent_pincode","permanent_address_line2","permanent_city","present_address_line1","present_address_line2","present_state","present_city","present_pincode","companyname","brand","reportinToList","workAreas","CHDAccounts","RemainingCHDAccounts","MainRegion","MaxDate","showEditLists","brandArray","checkMaxDOB","_isAMomentObject","splittedDOB","teamEditMode","ServiceAccountIds","Specialist","productSkills","Expertise","TerritoryConfigurations","selectStateforPresent","pin","AadharNumber","profilePic","modelOptions","getterSetter","rendomnumber","File","saveUser","signup_form","PermanentPincode","selectExpertise","expertiseArray","expertiseList","selectedProduct","ProductsList","cityArray","Subregion","SubCityList","presentcityList","getStateList","selectCity","pincodeArray","selectCityforPresent","ID","presentpincodeList","removeAccountDetail","getAllHDAccounts","EditData","selectedCityForTerritory","AccountChange","Acc","territoryPincodes","uniPin","pinCodeListTerritory","pinCodeUnique","addMoreAccount","SelectedAccountObj","getTicketStatus","NotAllocatedWarehouses","isCollapsed1","isCollapsed2","isCollapsed3","createAccount","getVertical","SignupService","verticalList","vertical","accountPlanData","company_name","PhoneNumber","mobile","Password","SkillBasedCommissions","Skills","NoOfTickets","Month","GracePeriod","selectVertical","selectSkills","verticalName","previouslySelectedSkills","newSkillListFull","ListSkillSet","newSkillList","combinedSkills","selectedSkill","GetDataForMenu","dataType","GetProjectSettings","GetAccountConfigSettings","GetTemplateSettings","UpdateAccountConfigSettings","accountConfigData","UpdateProjectSettings","projectConfigData","UpdateTemplateSettings","templateConfigData","GetAllSecheculingRules","loginUser","SaveSchedulingRule","ruleidlist","getAssignationRule","SaveAssignationRule","ruleList","GetAllBonusPenalty","UpdateBonusPenalty","BonusData","CreateTransactionalAlert","GetAllAlertConfiguration","DeleteAlertConfiguration","Content-type","GetAlertConfiguration","SystemConfigService","MailUrl","AccountSettingService","AssignationRuleList","changePriority","allActivity","PriorityIndex","AlertType","alertType","updateBikePosition","rangeSlider","bikeIcon","rangeWidth","offsetWidth","rangeValue","bikePosition","max","transform","OpenPriceModelMapping","OpenSlalisting","OpenProject","OpenDashboardReportList","OpenTemplateList","OpenInvoiceConfigurations","headingName","dataForMenu","currentConfig","updatedConfig","ItemDisplayName","ItemFrom","ItemDescription","toolScRuleList","assetScRuleList","certificateScRuleList","roleScRuleList","TalentPoolScRuleList","dtInstance_Certi","dtInstance_Asset","dtInstance_Tool","dtInstance_TalentPool","getAllSchedulingRules","RuleType","GenerateRoleTable","GenerateCertificateTable","GenerateAssetsTable","GenerateToolTable","GenerateTalentPoolTable","toggleAll_Certi","toggleOne_Certi","selectAll_Certi","headerCompiled_Certi","selected_Certi","dtOptions_Certi","dtColumns_Certi","toggleAll_Asset","toggleOne_Asset","selectAll_Asset","headerCompiled_Asset","selected_Asset","dtOptions_Asset","dtColumns_Asset","toggleAll_Tool","toggleOne_Tool","selectAll_Tool","headerCompiled_Tool","selected_Tool","dtOptions_Tool","dtColumns_Tool","toggleAll_TalentPool","toggleOne_TalentPool","selectAll_TalentPool","headerCompiled_TalentPool","selected_TalentPool","dtOptions_TalentPool","dtColumns_TalentPool","resetPaging","RuleIdList","setPriorityIndex","dtOption","headerCompileds","dtColumn","UpdateBonusList","UpdatePenaltyList","UpdatePenaltyAmount","paneltyEnableDisable","Amount","pmessage","PenaltyDetails","RuleName","UpdateBonusAmount","bonusEnableDisable","bmessage","BonusDetails","eventType","mode","channelList","RoleList","selectedRolesList","selectedChannelArray","eventConfigurationArray","mobileNo","outsiderTransText","outSidecheck1","AllConfigurayionList","mailMessagePath","singleNotificationAlert","ListAlertTemplate","editObject","channel","check","SMSEnabled","smsText","SMSText","EmailEnabled","NotificationEnabled","NotificationText","WebNotificationEnabled","WebNotificationText","UserOutSideContact","objOutsider","UserOutSideEmail","UserOutSidePhone","showTransactionalEdit","EditAlerts","OpenTransactionalModal","TransactionalModal","CloseTransactionalModal","confObject","AddEventsConfiguration","RemoveEventsConfiguration","OpenMailModal","MailModal","CloseMailModal","RemovefromList","SaveEventConfiguration","config_form","AlertId","alertArray","alertObject","EmailTemplateName","EmailSubject","WhatsAppEnabled","WhatsAppText","outSiderModel","objModel","AllConfigurationList","DeleteEscalationAlertConfiguration","DeleteSLAAlertConfiguration","getDashboard","dashbardName","GetKPIAccounts","businessunit","getBusinessUnits","GetVerticals","getDistrictsByState","getCitiesByState","getChart1","$element","AdvancedDashboardService","TabAdvancedDashboardService","matrixName","OpenedDashboardName","OpenedVerticalName","dashboard_data","lineCharts","barCharts","stackedCharts","gaugeCharts","selectDimension","TabOrder","BusinessUnit","SelectedVertical","Account","thisFiscalStart","thisFiscalEnd","intialLoad","districts","District","IsFilterApplied","accountListForFilter","selectedTabName","Payment week","isoWeekday","This week","Last week","Last month","This quater","Last quater","This year","navigateToAdvanceDashboard","IsDashboardFilterCheckRun","DateRangeSelectedKey","ActualSelectedKey","chosenLabel","loadSpecificDashboard","tabName","ActiveAccounts","accountIds","Allapplyfilter","updateDefaultDateFilter","dasahboardFilter","DefaultDateFilter","businessUnits","verticals","verticalsList","getDistrictByState","Accountlist","prepareFilters","filterkey","filervalue","changeBackgroundColor","clickedDiv","divElement","YAxis","subtitles","createTableChart","selectedRollup","createLineChart","createBarChart","createStackedChart","selectedDimension","dimension","createDrilledDownBarChart","createGaugeChart","dashboardCallback","DashboardFilters","enableFilter","DateFilterList","dateFilterList","filteredRanges","ChartModel","TabName","Keyfilter","stringArray","Rollups","getCurrentMonth","getCurrentYear","GetDateRange","ChartSubtitle","lastDate","numDays","startRange","endRange","loadDefaultDashboard","isLoaded","LinkClick","saveRollup","chartSubtitle","yAxis","ChangeDimensions","ChangeDimensionsPie","ChangeDimensionsBar","ChangeDimensionsCustomStackedBar","isActiveRollbackCustomPie","isActiveRollbackCustomBar","isActiveRollbackCustomStackedBar","isActiveRollbackBar","isActiveRollbackStackedBar","isActiveRollback","chartOptions","GetSeries","Series","credits","xAxis","scrollbar","line","enableMouseTracking","legend","itemWidth","navigation","activeColor","animation","arrowSize","inactiveColor","fontSize","inverted","sliced","drilldown","stackedchartData","reversed","x","stackTotal","stacking","headerFormat","pointFormat","footerFormat","shared","useHTML","gaugeInstances","Value","TargetValue","strValue","ValueType","showGaugeChart","tempshowGaugeChart","AcheivedPercentage","decimals","gaugeWidthScale","pointer","pointerOptions","toplength","bottomlength","bottomwidth","stroke","stroke_width","stroke_linecap","customSectors","lo","hi","labelFontColor","labelFontFamily","labelFontSize","textRenderer","JustGage","changeFunction","makeDynamicTable","dataSet","columnList","colunId","getKeyByIndex","colList","colKey","fixedCatogries","lenth","registerUser","TalentRegisterService","$document","registerService","firstname","lastname","termCheck","angular_pass","angular_confirm_pass","Register","registerForm","registerdata","InviteName","InvitedPhoneNo","OpenTermModal","GetStaffShiftCampaignForRM","campaignstatus","CreateStaffShiftCampaign","GetAllShiftsForDateDynamic","PublishShiftToUser","shiftId","ApproveStaffOvertimeshift","RejectStaffOvertimeshift","rejectComment","GetAllShiftsForDateWithStatusXLS","shiftType","GetSupervisorsForAccount","RunStaffCampaign","getusersbyfilters","GetAllCampaignName","StaffShiftCampaignService","ShiftId","GetEligibleUserForShift","ShiftList","shiftsListLength","shiftPageListCount","ActiveShifTab","shiftStatus","ReportingStartTime","ReportingEndTime","ShiftStatusList","searchQuery","ApplyCampaignfilter","campaignNameList","campaignModel","campaignRunModelOpen","CloseCampaignModel","CampaignId","campaign_form","UserIdList","applyAllTeamSelect","userCampaignTablePerPage","CampaignTablepagination","changeCampaignPageListCount","CampaignTablepageChanged","objStaffShiftCampaginModels","totalTableShifts","getAllShiftsByType","selectedCity","AddShiftModal","shiftModal","closeShiftModal","CampaignDescription","CampaignName","RequiredStaffCount","BulkShiftMapView","supervisorsList","getCurrentDate","selectedStateOfUser","campaign_creation_form","ShiftStartTime","ShiftEndTime","IsCampaignOpen","CampaignNameofUser","getAcceptHistory","campaignName","exportTableToCSV","csv","rows","attendanceUsersList","AcceptanceDateTime","csvContent","appendChild","removeChild","GetStaffShitCampaignForSupervisorById","campaginId","campaignData","RejectComment","AttendenceSidePanel","CampaignCompData","ShiftFromDate","ShiftToDate","CampaginId","ShiftType","ResetUserSelection","UsersList","CreateSLAlAlert","GetAllSLAAlertConfiguration","NotificationSettingService","SLASettingService","Openmode","TimeList","eventConfigurationArray1","eventConfigurationArray2","eventConfigurationArray3","eventConfigurationArray4","voiletedChannel","voiletChannel","voiletedSmsText","voiletSmsText","voiletedRole","voiletRole","SLAAlertConfigurationList","check1","SLAVOILATESINGLEObj","ListSLAAlertTemplate","arrayObj","DurationInMinutes","TimeDuration","check3","SLAVOILATEDSINGLEObj","check2","ListSLAPeriod","exactTime","check4","CancelEvent","confObject1","confObject2","confObject3","confObject4","AddEventsConfiguration1","RemoveEventsConfiguration1","AddEventsConfiguration2","RemoveEventsConfiguration2","AddEventsConfiguration3","RemoveEventsConfiguration3","AddEventsConfiguration4","RemoveEventsConfiguration4","outsiderPhone","outsiderTime","sla_form","configObject","minutes","timeSplit","IsPreodic","listSlaObj","listObj","timeArray","CreateNewDepartment","departmentName","departmentDescription","UpdateDepartmentName","departmentId","AddNewLocation","AddDepartmentsToLocation","UpdateLocationName","locationName","GetAllDepartmentsForLocation","GetLocationswithDepartmentMapping","CreateNewDepartmentShift","UpdateDepartmentShiftConfig","GetAllShiftConfigurationForDepartment","departmemtId","dataFiltersList","firstDivElement","querySelector","triggerHandler","isEditdepartment","toggleEditLocation","toggleEditNewLocation","AddDepartmentModal","departmentModal","closeDepartmentModal","AddLocationModal","locationState","locationCity","locationModal","closeLocationModal","OpenUpdateShiftModal","shiftData","Shiftcapacity","updateshiftModal","closeUpdateShiftModal","ShiftName","IsShiftMarginEnabled","MinutesBeforeShiftStart","MinutesAfterShiftEnd","OverTimeAllowanceEnabled","OverTimeHourlyRate","LunchBreakDuration","ExperniceStaffRequried","NormalStaffRequired","EditMapping","locationDep","CurrentMappingData","DepartmentListToAdd","DepartmentDetailList","EditmapModal","closeEditMapModal","MapModal","mapModal","closeMapModal","AssignShiftModal","assignModal","closeAssignshiftModal","adddepartment_form","addlocation_form","locationDate","stockAssignation_form","addshift_form","DepartmentName","IsTeaBreakEnable","TeaBreakDuration","ConsumedTeaBreakDuration","IsLunchBreakEnable","ConsumedLunchBreakDuration","IsLunchBreakFlexi","LunchStartTime","LunchEndTime","IsTeaBreakFlexi","TeaBreakStartTime","TeaBreakEndTime","updateshift_form","MasterShiftId","shiftcapacity","updatedDepartmentName","updatedDepartmentDescription","EditDepartment","department","DepartmentDescription","EditLocation","departmentListByLocation","AllShiftConfigList","GetAllShiftConfigurationByID","ShiftConfigData","locationsWithDepList","LeaveShift","CreateStaffShift","ApproveLeave","leaveId","approveComment","shiftPublishToUser","RejectLeave","EmployeeShiftMapService","ShiftLeaveService","ApproveComment","GetAllShiftsForDate","GetAllLeaveShift","allLeavesList","eligibleUsersList","PublistUserId","closeapprovemodal","RejectShareModal","leaveDetail","LeaveDate","TotalShift","TotalCount","objStaffShiftModelResList","ApproveShareModal","ApprovalModal","LeaveId","ServicefomeditService","GetAllRegionsByRole","GetAllAvailableSubRegion","GetAllPinCodes","UpdateServiceCenterDetailsDoc","applicationFormFile","payoutStructureFile","gstCertificateFile","aadhaarDocFile","panDocFile","chequeDocFile","tanDocFile","shopLicenceDocFile","authrizedData","ServiceCenter_FormcreationService","removeDuplicates","uniqueArray","panUploadError","adhaarUploadError","gstUploadError","payoutUploadError","applicationFormUploadError","mapstate","mapcity","mappincode","GSTNumber","TANNumber","PANNumber","dSecurityAmount","dMSLQuantityAmount","strListRegion","strListSubRegion","CustomUserId","regionForRSM","AllAvailableSubRegionList","AllSubRegionList","ServiceCentreType","AadhaarFileName","CancelledChequeFileName","ApplicationFormFileName","GSTNumberFileName","PanCardFileName","PayoutStructureFileName","ShopLicenseFileName","TanNumberFileName","ApplicationFormFileDoc","AadhaarFileDoc","PanCardFileDoc","GSTNumberFileDoc","TanNumberFileDoc","PayoutStructureFileDoc","CancelledChequeFileDoc","ShopLicenseFileDoc","attachAadhaarDoc","PanDocument","attachPanCardDoc","attachGSTNumberDoc","attachTanNumberDoc","attachApplicationFormDoc","attachPayoutStructureDoc","attachShopLicenseDoc","attachCancelledChequeDoc","OpenPincodeUploadModel","PincodeModal","closeReadyToRaiseModal","showPassed","BulkPincodes","PincodeModel","BulkPincodesUpload","dob","personalemail","saveUserclone","selectedProductPipeSeparated","selectStateforPincode","cityListForPincode","citypincodeArray","allPincodes","GetInfoPinCodes","AddressallPincodes","ModifyPicodeList","AddPincode_form","CloseMapPincodeModel","MapPincodeModelOpen","AddPincodeModel","updatePlannedClosure","VendorManagerAssignJobTeam","UserID","getAttachment","getAllJobTicketsListing","getAllJobTicketsDashboard","downloadTicketsReports","DeleteTickets","SetTicketExecutionMode","ticektIds","ApproveJob","ActionByVendor","updateTicket","TicketFollowUp","CreateProductReplacementRequest","CreateProductReplacementRequestAF","CreateGasChargerRefulingRequest","ResubmitProductReplacementRequestAF","getBillExpenseByTicketID","downloadImage","ticketIDs","downloadMultipleReport","getUserProfileData","getFixedUserProfileData","GetCSATRatingByTicketID","GetTicketByGeneralSearch","GetTicketDataToRaiseInvoice","ticketIdList","MarkTicketsReadyToRaiseInvoice","ticketwithLineitemList","GetAllReprotingToUsersCRM","TransferCallToServiceCentre","RevertTBCAndReassign","ServiceCenterTicketListService","InvoiceUrl","pointC","JobStartLatitude","JobStartLongitude","StartTravel","iconsStartA","iconsStartB","mappermission","approveModalInstance","rescheduleAuditModalInstance","UserProfileData","getAllTicketsByStatus","SubmitFilter","TicketDashboarCounts","DefaultCall","ViewJob","showAutoSchduleBtn","downloadFlag","downloadReportBtn","deleteFlag","tempTickets","schduleMode","GeneratePdfJobSheet","linkSource","downloadLink","OpenLabBookingModal","ticketData","LabBookingModal","CloseLabBookingModal","OpenReplaceModel","replacedetails","replaceticketid","ReplaceModel","relacementoption","gasChargeticketid","OpenGasChargingModel","GasChargingModel","closeGasChargingModel","strGasChargingComment","reasonofGasCharge","GasCharging_Form","Comment","Reason","Replacereason_Form","replacementreasondata","strTicketId","serviceFunction","templateListData","CreateLabBooking","OpenApproveModal","RatingOfTicket","IsDynamicPriceApproved","tbccancellationReasonsForm","IsClosuerCodeAvailable","AuditValue","TBCCancelationModel","IsApplicableForAutoPayment","ClosuerCode","CancelReason","IsClosureCodeNeeded","OpenRescheduleAuditModal","currentAuditJOb","CurrentAuditJob","RescheduleAuditTicketId","AuditPrimaryReason","PrimaryReason","RescheduleAuditCloseModal","JobRescheduleAudit","RescheduleAuditModel","OpenTicketRatingModal","currentTicketJob","TicketRatingList","ticketRatingModalInstance","TicketRatingCloseModal","NoLatLongModal","NoLatLongModalInstance","NoLatLongModalModal","OpenSettlementModal","settlementModalInstance","SettlementCloseModal","settlemenTicket","remarks","settlementData","FEId","DeleteTicket","NoLatLongTickits","notlatlongticketId","RejectJobModel","CloseRejectModel","jobwinrate","Winrate","JobWinRate","ApprovalRemark","reAssignJob","toBeAssignedTicketId","teamToBeAssignedList","ReallocateTicket","isArray","reallocateModalInstance","reallocateTicketCloseModal","AllocateTicket","allocateModalInstance","AllocateTicketCloseModal","OpenRevertAndReassignTicketModel","revertModalInstance","closeRevertTicketModel","revertForm","selectTechnician","reallocationForm","AssignTicketsToFixedTeam","allocationForm","GetHoldReasons","reasonsForHold","OpenHoldUpModel","holdstatus","UpdateHoldReason","enable1","urlWithFeasible","starChanged","setDefaultValTocal","StartTimeObj","showStartTimeCal","calStartTime","showMultipleDownloadButton","ticketSelected","IsReportMapper","invoiceFlag","actionFlagList","deleteFlagList","reportMapperId","AcceptDate","CorrelatedReports","ReportMapperId","hideSingleDownloadButton","isApprovalPermission","OpenBillModal","BillDetails","TotalExpense","Bills","ExpenseAmount","BillModal","CloseBillModal","ReportpdfUrl","downloadDataCaptureImage","ViewProfile","downloadReportPDF","OnSiteReport","responseDataList","UserProfileClose","TicketWarrantyStatus","WarrantyStatus","IsClosuerCodeNeeded","SubStatus","IsCancelFromServer","CancellationReasonsList","cancellationReasonsModalInstance","statusText","UpdateCancellationReasons","cancellationReasonsForm","CancelRemark","CancellationReasonsRemark","HintDisplay","CancellationReasonsChange","cr","DisplayReason","CancleAndCloneTicket","CancellationReasonsCloseModal","GetSearchServiceCenter_CSV","ServiceCenterListService","IsConsumerFound","consumerTitle","consumerFirstName","consumerLastName","consumerAltContact","consumerType","consumerCity","consumerPincode","consumerState","Open360ForActiveUsers","Editdetails","UploadServiceCenter","OpenShareDetails","shareType","opensharewithtype","CloseAreaConfirmationModal","phoneNumber","infoemail","share","shareinfo_form","contactphone","emailid","getAllBrands","GetServiceCenterDetails","createServiceCenter","ServiceCenterCreationService","existingUser","shop_name","ShopName","UPIId","UPI_Id","Address","Add2","resetForm","skillCombine","cancelForm","SearchUserInfoService","JobsPerPage","cangeJobsPageListCount","jobsTablepageChanged","SearchUserinfoForm","jobStatusForBroadcast","ScreenBuildersService","goToTemplateList","goToSLAListing","goToApprvalFlowBuilder","goToDashboardReportListing","SchedulingRuleService","GeBusinessObjectivetMaster","UpdateMasterSelectionCriteria","SchedulerRuleService","AssignationRuleService","schedules","selectStatus","businessObjectiveData","objectiveList","objectivesdata","updatingName","buisnessObject","RulePriority","DisplayDescription","getSheduledReports","enabledSchedules","ids","enable","disableSchedules","ScheduledReportService","sT","eT","startTimeIns","parseTo2","endTimeIns","displayDuration","addedUsr","endTimeErr","splittedExp","modelReportName","enableSchedules","SendCommunicationInvite","GetBasicDetailsWeb","ScheduleAssignService","UploadVideo","OpenSMEPopUp","userDetail","SMEInteractionModel","SmeInteractionScreen","Smeinteract","closeNav","closeInteractionPopUp","GetBasicDetails","UserBasicInfo","Step","connectionLink","country","GetSchedulingEventToday","supervisiorId","AutoAssignTickets","AutoAssignTicketsForToday","transMode","OnloadUser","AssignTicketsTimeline","list","GetTicketsByStatusDemo","app","FreelancerFixedService","GetSchedulingEventforToday","SuggestedUserList","evs","scheduler","getEvents","deleteEvent","init","MapIntegration","DefaultImage","locale","labels","timeline_tab","section_custom","dblclick_create","xml_date","date_to_str","touch_tooltip","drag_resize","attachEvent","event_id","native_event_object","getEvent","is_new","original","assignedUserid","sections","sectionlist","BIDCounterRate","tooltip_text","tooltip_date_format","collision_limit","createTimelineView","x_date","x_unit","x_step","x_size","x_start","x_length","y_unit","serverList","y_property","ignore_timeline","timeline_scale_label","userType","UserIdentity","ratings","UserRating","UserProfilePhoto","LastLocationDateTime","UserDistance","UserDuration","old_mode","old_date","event_bar_text","event_bar_date","event_header","event_class","readonly","VendorAssignation","AllTicketList","filterCriteria1","filterCriteria2","filterCriteria3","selectedFilter1","selectedFilter2","selectedFilter3","disablefilters","isCurrentLocation","selectedRow","selectedFreelancers","AssignTicektData","AllAssignUserDetails","AssignSelectedUser","allItemsSelected","AllAssignUserList","BroadcastedUserList","ReadyToAssignList","BroadcastedUser","TransMode","IsBroadcastPermision","IsAssignPermision","Mode","markers","BroadcastedJobList","editingData","editingFPrice","modify","modifyFPrice","Price","TPrice","FPrice","updateFPrice","GetTicketsForAssignation","clearAll","selectEntityFilter","newList","TestCase","selectAllFilter","FilterData","level","GetJobsByFilter","getBroadcastedTickets","getReadyToAssign","setClickedRowNew","GetSchedulingResults","setClickedRowBroad","setSelectedFreelancers","isSelected","filterUsers","filterUserData","ChangeMode","roleList","OrderByUsers","JobAccountId","toISOString","ActOnCurrentLocation","RangeFromJob","FETravelChargePerKM","TransportMode","UserConfigList","orderObj","PriorityOrder","OrderByField","BroadcastedList","UserList","SuggestedPrice","GetResult","userList","StartDateTime","EndDateTime","readyList","AssignList","checklinkId","checkList","AllUserList","Endtime","AssignPrice","AssignModal","OpenBroadcastModal","selectAllBoardUser","CloseBroadcastModal","OpenAssignModal","uniqueEventlist","linkid","CloseAssignModal","BroadcastTicket","BidData","JobID","BIDDuration","UserData","checklist","lat","latitude","longitude","customerName","AssignedUser","assignedUserName","UserLatitude","UserLongitude","UserContact","UserImage","DefaultLat","DefaultLong","MapOptions","ticketLatlng","labelOrigin","DROP","setCenter","getCenter","selectEntity","selectEntityBoardUser","TerritoryState","ObjectivesList","businessObjectives","GetSchedulingEventfordates","TravelDistance","TravelDuration","TaskDuration","VendorTeam","NewJob","otherfilter","getAllTicketList","Technicianviewtypes","technicianuserviewtype","userviewlayout","globalsearch","userviewtype","userview","Filter","AllTicketLists","class1","addRemoveRedClass","isOpen","isOpen1","isCollapsed0","isCollapsed4","isCollapsed5","isCollapsed6","isCollapsed7","isCollapsed8","isCollapsed9","isCollapsed10","isCollapsed11","isCollapsed12","isCollapsed13","isCollapsed14","isCollapsed15","isCollapsed16","isCollapsed17","isCollapsed18","isCollapsed19","isCollapsed20","isCollapsed21","isCollapsed22","isCollapsed23","isCollapsed24","isCollapsed25","isCollapsed26","isCollapsed27","isCollapsed28","isCollapsed29","isCollapsed30","isCollapsed31","isCollapsed32","isCollapsed33","isCollapsed34","isCollapsed35","isCollapsed36","isCollapsed37","isCollapsed38","isCollapsed39","isCollapsed40","isCollapsed41","isCollapsed42","isCollapsed43","openAnalysisReport","analysisDetails","UploadId","showAnalysisReport","backScreen","OnloadUsers","newdate","TaskEndTime","territoryChange","AutoAssignSelectedTickets","OpenAutoAssignModal","autoAssignModalInstance","AutoAssign","Selecteddate","allTicketSelected","selectSingleTicket","selectAllTicket","AssignationRulePriorityList","AssignationRules","rule","AssignName","OrderByName","AssignPriorityIndex","AssignName1","AssignPriorityIndex1","AssignName2","AssignPriorityIndex2","AssignName3","AssignPriorityIndex3","AssignName4","AssignPriorityIndex4","AssignName5","AssignPriorityIndex5","multisection","multisection_shift_all","checkdate","stime","etime","checkenddate","ScheduleExceptionListPagingService","createSla","getAllSla","getSingleSla","slaId","UpdateSla","getRegionbyUserId","getProjectsbyUserId","GetProjectsByCustomerId","SlaService","AllSlaList","LocationCheck","ProjectCheck","CustomerCheck","SkillsetCheck","CalltypeCheck","Customer","GetAllSLA","OpenSettingModal","getLocations","singleList","SlaID","SLAId","SlaDefinition","SLADefinition","Severity","SlaValue","SLAValue","Timing","SLACalender","HolidaySchedule","HolidayListApplicable","WorkingDays","NotWorkingDays","HolidayList","SlaActive","IsSLAActive","SLALocation","SettingModal","locationList","getProjectsbyCustomer","CustomId","CloseSettingModal","Save","dataModel","changeSlaSetting","slaValueInDays","TimeJobReceive","deSelectAll","selectTimings","List","IsHolidayActive","HolidayDate","AddHolidayList","RemoveHolidayList","AddSLA","LeaveList","dateTemp","HolidayName","Hour","Minute","slaValue","jobReceive","DataModel","SLAValueInDays","IsJobReceivedAfterEnabled","NextDayBusinessHourAfterTime","selectHoliDay","SingleSlaList","JobReceivetime","GetDataForShiftView","GetEligibleUserForShiftSwap","ShiftSwapToUser","RosterShiftService","handleButtonClick","direction","currentStartDate","ListShiftDaySummary","ShiftSummaryOverAll","ShiftTime","firstDayOfCurrentWeek","getInitials","words","initials","word","colorCounter","getContrastColor","hexColor","r","g","b","factor","darkerR","darkerG","darkerB","darkerShadeHex","randomBackgroundColor","randomTextColor","dynamicStyles","TotalHours","AmountEarned","Opened","buttons_left","buttons_right","initialEventDate","finalEventDate","showLightbox","directionDrag","formSection","setValue","ShiftDepartment","eventID","dropdownOptions","map_to","resetLightbox","is_new_event","selectedUser","user_id","endLightbox","getDay","difference","RoleAccessManagement","roles","isEditMode","RoleAccessManagementModal","selectedRole","modalTitle","roleaccessModelOpen","RoleAccessManagementClose","RoasterTeamFormCreationService","overtimeHourlyRate","shiftHourlyRate","ShiftHourlyRate","IsExperienced","GetRefundablePartlist","paymentstatus","ReturnTicketPartOrderPlace","GetRefundablePartlist_CSV","ReturnablePartConsumeListService","selectedData","handleCheckboxToggle","PartId","toggleSelectAll","paymentstatusList","PartReturnStatus","OpenCreateChallanModel","createchallan","$new","challanData","closeCreateChallanConfirmation","TotalRecord","returnableparts","warehouseid","OpenNonReturnUploadModel","ReadyToRaiseModal","validationForm","returnTicketDefects","ReportLatestService","ReportCreationService","getAllReportsByUserId","GetReportColumnsByReportName","GenerateReports","DownloadReport","ReportIdOnS3","GetAllgeneratedReport","ReportDownloadService","getAllReports","reportType","reportnames","FilterStatus","Reportname","reportsLength","reportPageListCount","reportNametoGen","ReportByAccountName","reportdates","genreportdates","ranges1","GetAllgenReport","getAllReportsColumn","ReportType","reportColumnsdata","reportCol","ColumnObject","selectAllColumns","showMinusColumns","implementSelectItemsTickets","itemList1","scope1","selectRow1","checked1","applyAllColumnsSelect","generateReport","ColumnListModel","colIndex","SelectedAccounts","accountName","ReportByFiltersList","reportDetails","ReportList","totalReports","reportListLength","reportsPerPage","UserTablePageChanged","GetListPersistentReports","ListPersistentReports","downloadPersistentReport","responseData","implementSelectItemsRG","selectAllColumn","showMinusRG","selectCountRG","selectRowRG","ColumnsList","applyAllRGSelect","dashboardReportListService","reportDetailService","ReportId","report_id","isLayoutEditable","AllFieldList","AllValues","SharedReportName","dashboardranges","filterRangeChange","filterstartDate","filterendDate","dragoverCallback","external","logListEvent","dropCallback","AllValuesOriginalIndex","currentIndex","logEvent","metricsChart","container","effectAllowed","effect","modelAsJson","getChartDashboard","widgetupdate","closeupdatewidget","DataFilters","FieldName","CompData","EntityName","reportid","getCustomerReportById","DimensionName","shouldHighlightItem","shouldNotHighlightItem","AllValuesDash","ShareMailReport","mailbody","GetSharedUsers","dashboardname","GrantRevokeAccessToReport","commaSeparatedtoList","updatewidget","itemData","deleteChartId","SelectedType","chartDisplayName","chartDescription","GetMetricsByEntityType","GetDimensionByEntityName","SelectedChartName","getUsersLite","reportId","Condition","JoiningOperator","Fields","dateValues","GetFieldValuesByFieldNames","SaveCustomSettings","updateDataFilter","ChangeOption","EntityType","AllFieldValuesList","ChangeMetrics","MetricsName","GetFieldTypesByEntityName","AllMetricsList","AllDimensionsList","GetAllEntityTypes","AllEntityList","AddChartsToReport","feedbackForm","ChatType","ChartName","DeleteChartId","UpdateChartsFromReport","DeleteChartsFromReport","GetDashboardByDashboardId","dashboardId","AddChartsToDashboard","UpdateChartsFromDashboard","DeleteChartsFromDashboard","DashboardId","SaveCustomSettingsForDashboard","lineCount","linechartIds","lineArray","CompLData","lineArraysOriginalIndex","chartYAxisName","SaveCustom","metricsNames","deleteService","NonAggregated","bootstrap2","filterClear","filterPlaceHolder","moveSelectedLabel","moveAllLabel","removeSelectedLabel","removeAllLabel","moveOnSelect","preserveSelection","selectedListLabel","nonSelectedListLabel","postfix","selectMinHeight","filterNonSelected","filterSelected","infoAll","infoFiltered","infoEmpty","lists","Aggregated","texts","setting","listed","DrillDown","id_1","text_1","callStatus","filtername","exportOptions","GetAllRegisteredUser","userAvailableStatus","getCityByState","RegisteredAllUserService","ActiveUserUpdateService","userSource","CriminalVerified","IdVerified","IsAuthorizedServicePartner","PANVerified","UserAvailable","circleData","Technicianstartingdate","WorkLocationList","SkillData","creationForm","From","userOnboardingForm","selectAllFL","showMinusFL","selectCountFL","ListUserResponseModel","searchUser","closeUserSearchText","CustomerFormCreationService","ReferealKey","reference_key","date_of_birth","employee_strength","inventory","dd_options","mm_options","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","max_date","yyyy_options","currentMonth","getDateList","date_of_birth_yyyy","date_of_birth_mm","maxDD","getDOB","date_of_birth_dd","IsInventoryAvailable","CreateVendor","getCity","getVerticalName","CreateFreelancer","freelancerData","updateAccountPaymentDetails","rechargeAmt","processingAmt","gstAmount","totalAmount","processingFee","gstFee","transactionId","InstamojoId","RechargeAmount","RechargeBy","GST","TotalAmount","PaymentId","TransactionId","ProcessingFeeAmount","ProcessingFee","GSTFee","RedirectUserPaymentService","rAmt","proFeeAmt","gstAmt","tAmt","proFee","tranactionErrorCode","transactionMsg","getQueryParams","transaction_id","payment_id","payment_status","updatePaymentDetails","modeOfPayment","JobCardId","trns_id","RedirectPaymentService","ta","job","buyLicenseRequestToGenerateOrderId","amount","GoToVerifySignature","createPaymentLink","GetAccountRechageParams","RechargeService","GoToUpdateAccount","rechargeAmount","gstFeeAmount","procssingFeeAmount","razorpay_payment_id","razorpay_order_id","GoToVerifySingnature","RechargeIn","goToNextStepForPayment","CallbackToGetResponse","currency","image","prefill","contact","notes","theme","CurrencySymbol","rzp1","Razorpay","minRechageAmount","calculateRecahge","subTotal","minAccountRecharge","transactionCharge","makePayment","recharge_form","recharge","GetTicketByCircleProjectName","GetTicketByCircleProjectNameOnLoad","GetLocationByProjectId","Project_Details_LatestService","circleTicketList","ticketCircle","backlist","GetProjectLocationsByProjectId","GetTicketsByLocations","rateCustomer","getAllReasonStatements","RateJobService","confirmationModalObj","feedbackStr","otherRatingFeedback","getRatingMeaning","reasons","CancelationList","RescheduleList","RatingList","cancelReason","rescheduleReason","getRatingFeedbackList","feedbackList","ReasonList","getImageUrl","CreateProject","projectFormData","UpdateProject","GetAllCustomers","GetPointofContacts","GetAllSupervisors","GetAllSchedulingRule","ProjectCreationLatestService","ProjectManager","ProjectDescription","AvgTimeClose","MeetingCustAppointment","WithinDay","POC","managerId","projectId_ForUpdate","allcustomers","IsCustomerAppointmentNeeded","IsHappyCodeEnabled","IsQuickResolveTicketsEnable","IsSpareShipmentEnabled","IsOnSiteReportEnabled","avg_time_close","mFirstName","mLastName","mMobile","mOtherMobile","mEmail","pocId","Policies","pocDataGlobal","POCList","tcircle","globalMainPOCData","projectManagerList","AllSchedulingRuleList","RemaningSkillSet","AllSkillList","showSchedulingTable","ScheduleingRuleSkill","showLocation","POC_1","LocationOf_1","POCOf_1","SupervisorOf_1","CustomerOf_1","removePoc","lastpoc","projectData","ProjectSkillRulesMap","ruleIdList","skillrulemap","AllSkillSets","renderRuleTable","Manager","JobDuration","CustomerContactResponseModel","SlaModel","projectLocationIndex","listPoc","PlId","CustomerContactRequestModelId","onSelectPoc","GetAllProjectManagers","pocData","OtherMobile","getRemainingSkillSets","removeLastSkill","selectedRulesList","EnableRuleTable","getAllSchedulingRule","tempSkillList","addMoreSkillByUser","removeSkillObject","removedSkill","pos","posi","saveProject","locationContactModel","custIndex","CustomerContactRequestModel","JobGrossRate","ProjectSkillRules","SLA","project_form","error_code","demotag","AddMainContactPopUp","SavePOCModal","AddMainPOCSave_Form","objMainPOCData","AddContactPopUp","AddPOCSave_Form","objpocData","getCircles","addMorePoc","ProjectDetailService","ProjectLatestService","GetProductReplacementList","GetProductReplacementList_CSV","UpdateProductReplacementStatus","UpdateProductReplacementStatusWithAttachment","MarkProductStatusDeliveredByServiceCenter","imageFile","imageFileName","invoiceFile","invoiceFileName","CreateReOrderProductReplacementRequest","ImageFileName","InvoiceFileName","OpenUseerDetails","orderid","reorderReplacementId","OpenReOrderConfirmation","reordereplacedetails","ReorderModel","closeReOrderConfirmation","reorderReplacementComment","Reorder_Form","reordereplacementreasondata","reorderrelacementoption","productType","OpenDeliveredModel","product","requestIdTobeUpdated","DeliveredUpdateModel","closeDeliveredUpdateModel","DeliveryRemark","substatus","IndoorSerialNumber","OutdoorSerialNumber","UpdateAction","UpdationRemark","GRNumber","uploadImageForDelivery","ImageFilesDoc","ImageFileSize","uploadInvoiceForDelivery","InvoiceFilesDoc","closePDFView","UpdateRequestStatusBySC","ReplacementId","Attachement","AcceptDelivery","DeliveryModal_Form","clearMyOrderFilter","src","CancelMyOrder","closeOrderCancelConfirmation","ReturnList","strPackageAttachment","GetAllActiveProductModelMaster","GetProductReplacementDashboard","ProductReplacementApprovalService","modelbrand","productname","ModelBrand","ModelProducName","AllActiveProductModelNoList","newmodelname","oldmodelprice","newmodelprice","UpdateRequestStatus","NewModelNumber","OldModelPrice","NewModelPrice","DashboardCount","getAllGoodsWithoutZeroPrice","SearchValue","GetTBCCancellationReasons","getAllGoodsWithZeroPrice","UpdateWhiteGoodsIntegrationConfig","UpdateTBCconfig","GetSuggestionOfJobLineItem","AddBrandandModel","PriceModelMappingService","ListGoodsWithoutZeroPrice","pageindexCountWithoutZero","WithZeroListLength","WithoutZeroListLength","TypeOfList","PageIndexWithoutZero","totalTableWithZero","totalTableWithoutZero","usersTablePerPageWithoutZero","UserTablepaginationWithoutZero","TicketFilterModelInvoice","UserTablepageChangedWTZ","listType","BrandModelList","Total","getTBClist","updateWhiteGoods","GroupId","GroupName","updateTBCResons","TBCPrice","CancellationReason","getJobLineItem","getJobLineItemForAdd","loadAllProjects","ProjectData","openBMModel","CloseopenBMModel","AddBM","BlockedSingleUser","PreferredVendorTechnicianProfileService","CertprofileImg","TeamProfile","unpreferredvendor","UnPreferredVendor","UnPreferredVendorModal","unpreferredSingleVendor","GetAllUsers","getPreferredUser","getPreferredVendor","GetFreelancerBalance","freelancerId","PreferredSingleUser","GetAllToolSets","NewTalentPoolService","VendorgetallCities","VendorCityList","showAdvanceFilter","AccountID","AccountCreationDate","VendorStartingDate","dtInstanceUser","dtInstancePreferredUserTable","adddaterange","vendoradddaterange","dtInstanceVendor","dtInstancePreferredVendor","PreferredvendorListdata","Bluserlist","blockvendorlist","showtechnician","showvendor","technicianlistview","vendorlistview","selectedInvoice","VendorPermanentState","VendorUserName","VendorContactNumber","VendorStateList","VendorPermanentCity","VendoraddSkill","VendorAllCertificateSets","Asset_Tools","VendorAsset_Tools","Asset_Bike","Asset_Mobile","Asset_Laptop","Student","Intern","VendorSource","Adharcard","Pancard","VendorAsset_Laptop","VendorAsset_Mobile","VendorAsset_Bike","Prime","AlredayPreferred","Vendorpincode","Vendordates","Vendorranges","VendorExperience","VendorRatings","Assets_Tools","Jobscount","VendorJobscount","FilterAdhar","FilterPancard","PreferredUsers","PreferredVendors","pagination","totalvendor","vendorPerPage","vendorpagination","totalvendorTable","vendorPerPageTable","vendorpaginationTable","PreferredVendorDetailsView","VendorcurrentPage","VendorpageSize","pageChanged","applyfilter","PreferredUserTablepageChanged","FreelancerUserRoles","userlayout","Checkuserrole","userroletype","userrole","checkTalentandPreferred","PreferredUser","techniciancardview","technicianmapview","PreferredUserlist","preferredtechnicianmapview","preferredtechnicianview","PreferredTalentPool","allTechnicianview","TalentPool","AllTalentPool","PreferredUsermapview","Vendorviewtypes","vendoruserviewtype","vendorviewlayout","globalVendorsearch","vendorviewtype","vendorview","checkTalentandPreferredVendor","vendorcardview","PreferredVendor","vendorpreferredlistview","vendormapview","Preferredvendormapview","preferredvendorview","PreferredTalentPoolVendor","allVendorview","TalentPoolVendor","AllTalentPoolVendor","PreferredVendorTechnicianProfile","PVendorFilterData","vendorex","vendorjobscount","vendorratings","ActivationStartDate","ActivationEnddate","Cities","Pincodes","ExperienceStart","ExperienceEnd","VendoraddTraningCertificateName","JobCountStart","JobCountEnd","RatingStart","RatingEnd","FreelancerRole","Source","dtOptionsPreferredvendor","dtColumnsPreferredvendor","VendorStatus","preferreduser","Preferred","openpopup","PreferredUserModal","blockeduser","Blocked","BlockedUserModal","BlockedModal","unpreferreduser","UnPreferred","UnPreferredUserModal","Blockedvendor","Vendorapplyfilter","PreferredVendorapplyfilter","unpreferredSingleUser","Preferredapplyfilter","showInfoWindow","EnrollNo","map1","showpreferredusermap","map2","ShowAllVendor","map3","ShowAllpreferredVendor","getAnimation","AllVendorfilter","pfvendorlist","VendorFormData","totalVendorPoolCount","FavoriteForAccounts","totalPreferredvendor","vdata","jobcount","VendorgetAllCertificate","VendorgetCertificateSets","getAllTools","Asset_ToolList","VendorgetAllTools","VendorAsset_ToolList","VendorgetAllSkills","VendorAllSkillSets","VendorallStatePromise","VendorselectedState","VendorclearFilter","PreferredTalentPoolService","vendorListLength","usersLength","techpageindexCount","filteraddskill","filterPermanentstate","vendorpageChanged","VendorTablepageChanged","strKey","VendorFilterData","Dashboard","Technicianviewtype","jobscount","IsStudent","IsOpenForInternship","IsAdharVerified","IsPanVerified","Useredit","ActiveFVT","Vendoredit","PreferredFreelancerTechnicianProfile","searching","paging","totalTalentPoolCount","BlockedByAccounts","backToTechnicianList","fdata","blockSingleUser","preferredSingleUser","SearchTagsDatarole","SearchTagsDatarole1","SearchTagsDataFilter","filterdata","pfuserlist","PreferredtotalUsers","first","TechnicianclearFilter","PUserName","PreferredTechnicianDetailsView","PFilterData","PreferreddtOptions","PreferreddtColumnDefs","PlanningUploadJobsService","GetBalance","PreferredFreelancerTechnicianProfileService","userbalance","ModalInstanceCtrlHistory","getTicketBasedPlanning","GetAddressBasedPlanningResult","TicketBasedPlanningService","ActiveVendorUpdateService","SearchByUserType","TotalLocation","TotalMatch","NotMatch","Atleast3Match","Atleast2Match","Atleast1Match","RunRateInDays","RangeInKm","RegistrationStatus","Asset","Certificate","UserDetailVerification","LocationAddressList","TicketBasedPlanningList","OpenUploadLocationModal","uploadLocationModalInstance","RangeFunction","ionRangeSlider","grid","skin","AddressList","GetAddressBasedPlanning","AssetList","CertificateList","ToolList","UserDetailVerificationList","TotalJobLocations","RegistrationStatusList","PlanningBulkUploadService","PlanningTemplatesService","ShowHide","isNavCollapseds","isCollapseds","isNavCollapsedss","isCollapsedss","isNavCollapsedsss","isCollapsedsss","toggle","switch1","switch2","switch3","switch6","switch7","switch8","switch9","switch10","switch12","GetAllFreLancerProfile","GetTalentPoolForMapView","mapuserFormData","GetAllAccountDetails","GetTicketsOnFilterWithPaging","ticketFormData","GetCustomersOnFilterWithPaging","GetCustomersOnFilterWithoutPaging","GetTicketsOnFilterWithoutPaging","GetUsersForPinpoint","long","GetUsersOnFilterForTickets","GetPincodeBasedUserAnalysis","PincodeUserFilters","GetAllCapacityUpload","GetAllAnalysisForUpload","CreateNewAnalysis","GetAnalysisData","AnalysisId","Orderby","OrderSequence","GetExceptionAnalysisData","GetAnalysisDashboard","GetAllPendingJobsCount","GetAnalysisFilters","VerifyAddress","updatedAddress","GetAddressByGoogle","findAddress","UpdateAddress","CreateDynamicAnalysis","GetUserListData","AddressId","ListType","SortBy","ulPageIndex","ulPageSize","GetUserData","uwPageIndex","uwPageSize","GetAddressListForUserOnPaging","uwtPageIndex","uwtPageSize","GetAllConsumerCampaignName","RunCampaignOnConsumer","consumnerFormData","GetAllGenericCampaignName","RunCampaignOnUsers","CreateNoticeOnUsers","RunCampaignOnFilteredUsers","CreateJobBundleAndBroadcast","broadcastData","CreateAndBroadcastPendingJobs","clearMarkers","deleteMarkers","worklocationCount","UserWorkLocations","worklocationToolTip","OneJobDoneSkills","showticketSuccess","toggleBottom","open360View","closeSlideBottom","toggleNav","UserRegistrationStatus","TechRole","techPincode","TicketState","PreferredForAccounts","TicketCity","ticketStatus","TicketSkill","fileDescription","TPPageIndex","TPPageSize","cuPageIndex","cuPageSize","ticketPoolPageListCount","customerPageListCount","userPoolPageListCount","ticketPoolListLenth","customerListLenth","userPoolListLength","TPpageindexCount","cuPageindexCount","UPpageindexCount","AlListCount","UWListCount","exuPageIndex","exuPageSize","EAlListCount","UWticketsListCount","pageListCountsuwt","GetAnalysisDataList","analysisFilterView","ticketFilterView","exceptionView","analysisFilter","pincodeBasedFilterView","customerFilterView","searchDisabled","Ticket","Finance","ticketFilter","pincodeBasedFilter","customerFilter","techToRunCampaignOn","implementSelectTech","selectRowFL","applyAllFLSelect","removeAnalysisFilter","cars","tools","selectedTools","ActiveInMonth","NoOfJobDone","MatchCriteria","TraningCertificate","OneJobDone","MatchingSkill","IsBasedOnPincode","chicago","population","newyork","losangeles","vancouver","showMapWithFreelancers","warehouse","masterwarehouse","dynMarkers","freelancerlist","techdetails","hasWareHouse","MasterWarehouse","CurrentLatitude","CurrentLongitude","markerClusterer","addMarkers","clusterOptions","imagePath","gridSize","zoomOnClick","maxZoom","MarkerClusterer","GetTalentPoolForMap","dynTicketMarkers","ticketstartDate","ticketendDate","ticketPooldates","ticketdateRangeChange","totalTableTicketPool","ticketPoolTablePerPage","TicketPoolTablepagination","changeTicketPoolPageListCount","TicketPoolTablepageChanged","addFilterforTickets","ticketPoolList","ticketUserFilters","AnalysisBasedOn","OneJobDoneForSkills","totalCustomers","customerTablePerPage","customerTablepagination","changeCustomerTablePerPage","CustomerTablepageChanged","addFilterforCustomer","customerPoolList","userPoolList","addFilterforPincodeAnalysis","UserState","UserCity","AnalysisName","AnalysisDescription","UserCertificates","UserTools","userFilterEnable","showUserFilter","chkselect","exceptionFilter","addFilterforExceptionTickets","UserIdsList","exceptionPoolList","exceptionPoolUserList","UserLiteResponseModelList","addFilterforTicketMap","showMapWithTicketPool","addFilterforCustomerMap","showMapWithTechBasedOnTicket","TotalJobDone","TotalJobRejeceted","RatingByMMF","usersPinFormData","ticketdetails","ticketlat","ticketlong","customerdetails","CustomerAddress","ServiceType","CustomerPincode","isActive","isActive1","HideText","ShowText","isClick","isClick1","isClick2","isClick3","activeButton","activeButton1","activeButton2","activeButton3","HideFLprofile","addFilterforAnalysis","slider","ceil","minLimit","maxLimit","analysisModel","analysisModelOpen","openConsumerCampaignModel","consumenCampaignModelOpen","CloseConsumerCampaignModel","ConsumerCampaignName","consumner_campaign_form","broadcastCloseModal","GetUserDataList","noticeModel","noticeBroadcastModelOpen","CloseNoticeModel","noticename","landingPage","fileLink","noticeType","noticeDescription","NoticeRole","NoticeBrand","startDatenew","endDatenew","showErrorMessage","dynamicCampaignModel","dynamicCampaignModelOpen","CloseDynamicCampaignModel","CloseAnalysisModel","confirmstatus","ConfirmAnalysis","analysisData","Toast","ShowToast","openCapacity","verify","EditAddressModel","ueradata","addressEditModel","CloseEditAddressModel","addressData","partial_match","formatted_address","pullBackTicketFromAssign","SecondryStatus","pullBackReasonsList","pullBackReasonsModalInstance","userfeedbackList","Comments","MasterReason","commentList","RequestForUserId","UpdatedAddress","PlotAddress","newAddress","addressform","Formatted_Address","district","lng","GetExceptionAnalysisDataList","applyLocationFilter","applyExceptionLocationFilter","freelancerRole","Criminal","IsBankVerified","GetAllAccounts","accountsList","capacityList","GetAllAnalysisByUploadId","UploadType","analysisList","GetAllAnalysisUsers","addresId","showUserRow","analysisCount","pendingJobsCount","Skillset","filtersData","pincodeCheck","OpenExistingTicketModal","analyzeExistingModalInstance","CloseExistingModal","selectedAccounts","endDateForAnalysis","MediaUploadReqModel","UploadedFileName","FileDescription","totalAL","ALPerPage","aLpagination","changeAlPageListCount","AlTablePageChanged","analysisFiltersList","AddressAnalysisResModelList","TotalRecords","analysisListLength","totalEAL","EALPerPage","eaLpagination","changeEAlPageListCount","EAlTablePageChanged","exceptionAnalysisFiltersList","exceptionAnalysisLength","exuPageIndexCount","userchangePageListCount","GetUserDataPagingList","UWticketDataList","showUserTable","UserModelResList","ulpageindexCount","TalentPoolTablepageChanged","UserRoleList","freelancerRoleList","IsCriminalVerified","IsBankVarified","IsUPIVarified","usersCounts","traningCertificateList","ServiceBrand","ServiceProduct","AllapplyTalentPoolfilter","filterApplied","tuPageIndex","totalTalentUsers","AllapplyfilterCopy","totalUW","UWPerPage","UWpagination","changeUWPageListCount","UWTablePageChanged","analysisUserList","UserAnalysisResModelList","analysisListUWLength","uwpageindexCount","totalUWtickets","UWticketsPerPage","UWticketspagination","UWticketsPageListCount","UWTicketTablePageChanged","GetUserUWDataPagingList","toBebundle","bundlePrice","bundleDistance","CreateComboFlag","selctedTickets","PlannedClosureDateFlag","UWTicketList","showAddressTable","AddressModelResList","UWTicketListLength","uwtPageIndexCount","CreateBJobs","bundleTicketArray","bundleData","totalDistance","bundleAvgDistance","reduce","OpenPendingJobsBroadcastConfirmation","broadcastconfirmationModal","BundleJobsBroadcast","AddressIdList","yesterday","startDateForAnalysis","showAccountErrorMessage","checkDateRange","checkAnalysisDateRange","landingPageList","Notice_BroadcastForm","ActivityName","LandingPage","NoticeType","ActivityLink","NoticeStartDate","NoticeEnddate","campaignSkill","campaignLocation","campaignTools","campaignLink","DynamicRunCampaignOnUsers","CampaignParameters","RunExcepCampaignOnUsers","consumerCampaignNameList","genericCampaignNameList","productList","ChangeDetectinAccountSection","Dynamic_Analysis_Form","existingDataform","AccountIdList","activatedButton","isactivated","activatedButton1","isactivated1","activatedButton2","isactivated2","activatedButton3","isactivated3","activatedButton4","isactivated4","activatedButton5","isactivated5","activatedButton6","isactivated6","activatedButton7","isactivated7","activatedButton8","isactivated8","activatedButton9","isactivated9","activatedButton10","isactivated10","activatedButton11","isactivated11","activatedButton12","isactivated12","activatedButton13","isactivated13","activatedButton14","isactivated14","activatedButton15","isactivated15","activatedButton16","isactivated16","activatedButton17","isactivated17","activatedButton18","isactivated18","activatedButton19","isactivated19","activatedButton20","isactivated20","activatedButton21","isactivated21","activatedButton22","isactivated22","activatedButton23","isactivated23","activatedButton24","isactivated24","activatedButton25","isactivated25","activatedButton26","isactivated26","activatedButton27","isactivated27","activatedButton28","isactivated28","activatedButton29","isactivated29","activatedButton30","isactivated30","activatedButton31","isactivated31","activatedButton32","isactivated32","activatedButton33","isactivated33","activatedButton34","isactivated34","activatedButton35","isactivated35","activatedButton36","isactivated36","activatedButton37","isactivated37","activatedButton38","isactivated38","activatedButton39","isactivated39","$range","$from","$to","updateValues","onChange","updateRange","PersistentReportService","recteateTable","ReportNo","serviceCharge","serviceTax","accesoriesCharge","changeJobStatus","requestStatus","PayOnlineService","payumoneyModel","txnid","productinfo","surl","furl","getTotalAmount","ServiceCharge","getAccessoriesCharges","AccesoriesCharge","isApproveModalOpened","OpenConfirmModal","boxType","openConfirmationBox","closeConfirmBox","checkAccessoriesValue","proceedToPay","redircet_url","cancelTicket","cancelOtherReason","rescheduleTicket","rescheduleOtherReason","isJobStarted","showCancelButton","next","totalAmouont","ServiceTax","payment_mode","orderdetailService","GetAllOrdersByFilter","GetOrdersDashboardByFilter","OrdersListService","PartsList","AccessoriesPartOrderList","OrderStartDate","OrderEndDate","OrderCountData","getAllByPaymentStatus","UpdateCartOrderStatus","CartOrder_Form","toggleCollapsibleTable","CommittmentFollowUp","CloseOnBoardingTask","GetOnBoardingTaskByFilters","GetTatTaskCountsByFilters","OperationTATBreachedService","CommittmentOpsService","Closuredatelimit","userCommittmentDate","userComments","userCommittmentStatus","closeuserCommittmentStatus","userCommittmentId","OnBoardingList","taskStatus","taskPincode","CreationSource","taskskill","capacityCount","cityOfTask","accountIdOfTask","stateOfTask","skillOfTask","descriptionOfTask","TaskId","IsFreelancerBidCount","IsFixedTeamCount","IsCommittedUser","IsCommitmentInterestedUser","NonPrime","PssStatus","Sort","IsAuthorizedServiceCenter","selectedElement","targetElement","GetOnBoardingTaskCounts","ApplyTaskfilter","calltrack","OnBoardingResModelList","TotalTask","OpenTask","ClosedTask","PickupTAT","EstimateTAT","EstimateApprovalTAT","RepairTAT","DeliveryTAT","OpenBucketAssignationService","OpenBucketSettingsService","showTimes","bucketTimeWindow","timeslotDay","bucketSkills","bucketDistance","autoTimeWindow","assignationMode","userWithSecurityPayment","bucketState","prefrence","addTimes","updateSetting","showTime","timeWindow","IntegrationAPI","SaveBackgroundChecks","files2","files3","sendBoatLink","UpdateUserProfileValidationData","GetBasicDetailsWebDynamic","GetSkillDataAndLocationWeb","GetInvitedTeamForRegistrationWeb","GetBankDetailsForUsers","GetBGverificationWeb","SetUserStatusInActiveMode","UploadExternalVideoList","newdata","ReTestForSkill","IsProfileActivationRights","dissableBankDetails","ItemComment","ItemStatus","searchButtonText","dissbleUpdateButton","editmode","RegisteredUser","BGVerificationStatus","isnonindeximage","MobileNo","Designation","Background","Aadhar","BaseAddressLine1","BaseAddressLine2","AccountList","AllAccountNames","BaseState","BaseCity","BasePincode","UserInfoCheck","UserLocationCheck","UserDocumentCheck","UserTraningCheck","UserBankDetailsCheck","UserAvailableAssestCheck","ToolAuditFiles","ThirdPartyDocs","FilesBackDoc","BackFileName","UserSkillCheck","verifyAll","Work_Location","PreferredLocationList","disableActivateButton","experienceYearList","DocprofileImg","QualificationList","tempTCertificateFile","CoverageDistance","BankAccountNo","BankIFSC","AccountHolderName","FEBankDetails","ContractDocPath","ContractSignDate","ToolsDetailList","Verificationpathtcertificate","UserExperience","attachBackDoc","uploadBGFilenew","changeCertificateFile","VerificationchangeCertificateFile","cert","UploadCertificateimageServices","UploadCertprofileImg","VerificationCertificateimageServices","Verificationisnonindeximage","VerificationUploadCertificateimageServices","VerificationUploadCertprofileImg","UpdateValidationData","validationData","fieldData","GetBasicDetailsDynamic","GetSkillDataAndLocation","IsApprovedModelOpen","closeApprovalPopUp","IsRejectModelOpen","closeRejectionPopUp","OpenRejectionPopUp","RejectionModel","OpenApprovalPopUp","ApprovalModel","SiteRescheduleAudit","docName","UserBGInfo","docType","DocumentNo","VerificationMode","VerificationAuthority","VerificationStatus","ThirdPartyDocumentPath","userProfileValidationData","UserBasicInfoList","UserSkillandLocationInfo","UserInvitedTeamInfo","UserBankInfo","userBGverificationValidationsData","ExternalUpload","skillName","UploadVideoExternal","getImageDataFST","videoCallEnabled","closeDiv","AudioCallInitiated","VideoCallInitiated","ChatInitiated","GetUserByRegistrationNo","registrationNo","updateuUser","callToInitCverification","RejectUserProfile","rejectRemark","VerifyUserProfile","GetMasterDataOfServiceCenterByVerticalName","getAllProducts","GetMasterDataOfServiceProductByBrandName","ProductList","getallBaseCities","BaseCityList","rejectButtonStatus","dissableMobile","WorkPlaceFileName","AuthFileName","ProductServingOther","FilesAuthDoc","FilesTrainingDoc","FilesWorkPlaceDoc","$container","$p","ProfileRejectDate","ProfileRejectedBy","ProfileResubmitDate","ProfileReviewComment","UserQualification","IsBasicVerified","IsLocVerified","IsDocsVerified","IsBankDetailsVerified","IsCertificationVerified","IsAssetsVerified","IsSkillsVerified","AccountDetails","ServicePartnerModel","attachThirdPartyReport","ToolAuditFileName","ThirdPartyDocumentPathName","attachAuthCertiDoc","attachWorkPlaceDoc","UpdateAuthorizedServiceDetails","SaveAuthorizationData","skillIndex","accountData","accountIndex","changeStatus","GetAllVerticalMasterData","selectedVertical","selectedBrand","allBaseStatePromise","BaseStateList","selectedBaseState","emptyPincode","bstate","emptyBasePincode","checkdateformat","IssueDate","uploadInsurenceFile","InsuranceImageURL1","tempfilename","VerificationuploadCertificateFile","VerificationtempCertificateAdd","tempPLocation","PreferredState","PreferredCity","PreferredPincode","AddPreferredLocation","DeletePreferredLocation","VerificationAgency","removeCertificate","PercentageScore","removeCurrentSkill","addMoreSkillInTable","tempAddMoreSkill","blank","tempDeleteMoreSkill","pushTempTOOriginal","closeSkillModel","AllAccounts","RemoveAccounts","remainingAccounts","showRow1","addMoreAccounts","removeCurrentAccount","removeAccount","addMoreAccountsInTable","$current","ExpiryDate","VerifyAllUserInfo","ApprovedAndRejectTool","IsApproved","ApprovedRejectTool","ApprovedAndRejectCertificate","ApprovedRejectCertificate","form1","SkillSetModel","AccountSetModel","TrainingAssessmentModel","BGVerificationDocPathModel","DocumentPathName","PolicyNumber","PolicyIssueDate","PolicyExpiryDate","InsuranceDet","CurAddressLine1","CurAddressLine2","CurState","CurCity","CurPinCode","PerAddressLine1","PerAddressLine2","PerState","PerCity","PerPinCode","VerificationsRemarks","callforCriminalVerification","markActive","RejectModel","rejectForm","closeRejectionPopup","GetNonRefundablePartlist","GetNonRefundablePartlist_CSV","MarkNonReturnPartDetails","parttId","NonReturnTicketPartOrderPlace","NonReturnablePartConsumeListService","OpenMarkPaymentConfirmation","markpayment","paymentmark","closeMarkPaymentConfirmation","PartOrderStatus","nonReturnTicketDefects","partResModels","NoticeCampaignDetailsService","IsAthorizedServicePartner","IsEligibleToAddPreferred","GetWorkExperinceDataforGc","NewOnboardingFlowService","GetWorkExperinceData","WorkExperienceInfo","GetJobApprove","UpdateMetrialDeliveredStatus","matrialStatus","callToCustomer","UpdateJobPayment","GetAllPreviousUser","GetUsersByTicketId","OnLoadLineItemDetails","LineItemTicketId","CreateUpdateRemoveLineItem","UpdateJobPaymentDynamicPrice","FreelancerRate","ApprovePricingButtonText","UpdateJobPaymentDynamicPriceAndApprove","GetJobLineItem","GetCallDetails","jobDetailsService","clean","propName","CollectionRequired","loggedinUserName","loggedinUserImage","BackToTicketList","GetJobApprovebtn","getCallDetailsList","RejectJobBtn","SPDUpdateWithInDays","FreelancerBidForLightTicketList","FreelancerBidForLightTicketModel","FreelancerBidCount","ListBonusPenalty","fileuploadShow","GetAllJobLineItems","SparePartDropAddress","ListFieldSupportTeam","ListOfSupportTeam","TechnicianSource","showF","showN","showT","showP","GetFixedUser","GetNearByUser","GetTalentPoolUser","GetPreviousWorker","addClassInButton","planerDateModal","editplanCloser","closeplanerDate","PlannedClosureticketList","TicketIds","TicketPlannedClosureDate","ConnectTo","jobPayment","editJobPayment","jobPaymentModal","closeJobPayment","updateJobPayment","jobPaymentForm","Stdate","Etdate","UpdateMatrialStatus","MetrialDeliveredStatus","previewSelectedObj","PDFViewRport","jobAppointmentModalReport","PDFUserModalReport","CloseEditModal","getPdfExist","DistanceFixed","starFixed","DistanceNearBy","starNearBy","DistancePre","showNearByTable","orderbyUser","FixedUserList","FixedUserLength","CreateFixedUserTable","reloadDataFixed","toggleAllFixed","toggleOneFixed","selectAllFixed","selectSingleFixed","headerCompiledFixed","showFixedTable","showFixed","selectedFixed","dtOptionsFixed","dtColumnsFixed","NearByUserList","headerCompiledNearBy","IsComplianceDisable","NearByUserLength","CreateNearByTable","selectSingleNearBy","toggleAllNearBy","toggleOneNearBy","selectAllNearBy","selectedNearBy","titleHtmlNearBy","dtOptionsNearBy","dtColumnsNearBy","attendance","IsPresentToday","resetPagingFixed","reloadDataTalent","resetPagingTalent","reloadDataPre","resetPagingPre","Preffered","PrefreUserList","PrefreUserLength","CreatePrefreTable","headerCallback","titleHtml","showTable","showTablePre","selectSinglePre","headerCompiledPre","PreviousUserList","PreviousUserLength","CreatePreviousUserTable","toggleAllPre","toggleOnePre","selectAllPre","selectedPre","titleHtmlPre","dtOptionsPre","dtColumnsPre","BroadcastField","BroadcastTicketNearBy","BroadcastTicketPool","BroadcastTicketPrevious","routeFixed","BroadcastType","routePreTalent","routePrevoius","ReadytoAssignUser","ReadyUserLength","rUser","displayJobOnMap","pageloadselecteduserid","pageloadselectedusername","getTicketUserList","UserListByTicketId","PressEnter","chatReceiverId","LoadMessageToReadMessageStatus","TicketIdtoRead","query1","querySnapshot","TotalNewMessageNotify","TotalNewMessageStatus","newMessageStatusLength","activeonchat","getChatOnPageLoad","getUserChat","getUserDetailstochat","ChatUserId","upicture","uPicture","PreviousIndex","currentelementId","previouselementId","chatUserId","chatUserName","chatDisplayUserName","ChatTicketId","loadMessages","createMessages","subMessagedata","chatreceiverid","CreateDate","serverTimestamp","messagetype","SenderId","Url","MessageType","Timestamp","chatticketid","limit","allMessage","Rightcontent","RightuploadImage","Rightuploadpdf","Rightuploadvideo","unix","seconds","Leftcontent","LeftuploadImage","Leftuploadpdf","Leftuploadvideo","objDiv","saveImageMessage","filePath","storage","ref","fileSnapshot","getDownloadURL","storageUri","metadata","fullPath","changeChatFile","uploadChatImageFile","LineItemFreelancerPrice","LineItemHSNCode","LineItemDisplayDescription","_baseprice","_dFprice","_lineitemquantity","_lineitemfreelancerprice","FLPriceTotal","maxBonus","updateRomoveLineItem","Requestdata","lessBasePrice","lessdFprice","UpdateLineItems","updateLineItem","ApprovePricing","IsCollectionFlag","CollectionPercentage","CollectionAmount","Applycompletejob","SourceResolvedOn","ClosureMode","SiteAuditPDFUserModal","Auditpdf","ProcessJobToBeAssignedManually","GetUserByFiltersWithDynaPage","ConvertJobIntoNew","PullBackReason","convertScheduleException","CreateJobBundle","IsSuggested","UnBundleJobs","RouteBundlesforUser","BroadcastJobBundle","BroadCastBundlesforUser","GetAllBundledJobs","DownloadAllTicketReportWithFilter","ReopenCancelCall","DownloadPAVReprotXls","OnSiteReprotUploadWeb","ToolsListCount","ToolsListToolTip","loggedinUserRegion","TeamStatus","userlocation","AttendenceForBid","ticketaccount","isOpened","ticketskill","ticketstatus","VendorUsers","selectedJob","newJobselectAny","fixed_selectAll","filteredFreelancer","selectsinglebidJob","freelancer_selectAll","UserAvailabilityData","WorkState","WorkCity","UserAvailabilityList","bpageindexCount","wpageindexCount","bPageIndex","bPageSize","wPageIndex","wPageSize","UserSuggestionCount","UserBIDCount","suggestionPageListCount","unbundleTicketArray","bundleListLength","workOrderListLength","bundlePageListCount","workOrderPageListCount","GetRejectedJobs","GetAllActiveFixedUsers","GetFollowupReasons","applyComboTktFilter","applyfilterWorkOrder","applyTicketFilter","fixed_select_all","fixed_select_single","free_selectedItems","freelancer_select_single","free_NewJobSelectedItems","freelancer_select_single_NewJob","freelancer_select_all","freelancer_SelectAllJob","freelancer_Select_All_NewJobs","Vendor_selectedItems","Vendor_select_single","Vendor_NewJobSelectedItems","Vendor_select_single_NewJob","Vendor_select_all","Vendor_selectAll","Vendor_SelectAllJob","Vendor_Select_All_NewJobs","processBroadcastRouteResponse","SuccessCount","failuremsg","BroadcastStatus","routeTicket","JobIds","workorderTkt","tickIdForWoL","routeTicketUS","BroadcastTicketUserSuggestion","routeTicketToFV","BroadCastRate","BroadCastGrossRate","Bids","BroadCastJobsFV","AllDataList","broadcaststartTime","broadcastEndTime","broadcastAssignRate","BidReceivedJobs","hideSentUser","BidReceived","bidStatus","broadcastLinkId","broadcastTicketInfo","BIDMaxcount","BIDStartIndex","totalUserBID","UserBIDpagination","UserPhoneNumber","BidDeny","BidSent","tempTicketInfo","ResetUserSelectionUS","SkillSetList","IsPincodeEnabled","Attendance","SuggestionMaxcount","SuggestionStarIndex","totalUserSuggestions","UserSuggestionspagination","selectAllCheckboxes","table","idx","freelacer_selectAll","freelancer_SelectAllJobs","implementSelectTickets","selectRowTicket","AutoBroadcastedOnce","implementSelectItemsFL","implementSelectItemsUS","selectAllUS","showMinusUS","selectCountUS","selectRowUS","applyAllFLSelectUS","selectRowNewWoL","tktId","SearchByDName","SearchByConsumerContact","PlannedClosureDateModelOpen","PlannedClosureDateCloseModalInstance","PlannedClosureDateCloseModal","ticketObj","manualAssignation","CloseHoldUpModel","PDFViewEstimate","convertNewReasonsList","convertNewReasonsModalInstance","UpdateConvertNewReasons","convertNewReasonsForm","ticketArray","convertNewReasonsCloseModal","GetUserPenaltyOption","userPenaltyList","PenaltyModel","closePenaltyPopup","GetFeedbackByUserIdDrop","activeUser","usersList","UpdatePullBackReasons","pullBackReasonsForm","PullBackReasonsModel","pullBackReasonsCloseModal","penaltyForm","PenaltyReason","penaltyReason","PenaltyRemark","penaltyRemark","penaltyAmount","BrodUserDataUpdateRequest","TicketPaymentNeedToProcess","IsTicketPaymentNeedToProcess","IsInvoiceEnabled","updateFalseTBC","OpenReOpenCallModel","Reopencallopen","closeReOpenCallModel","pavModelTicketId","OpenPAVReportUploadModal","pavModelInstance","closePAVModel","attachPAVReport","PAVFileName","PAVMessage","selectedFile","PAVReportFiles","UploadPAVReport","OpenSiteAuditModal","SiteAuditTicketId","siteAuditModalInstance","SiteAuditCloseModal","attachSiteAudit","SiteAuditMessage","AuditResult","SiteAuditModel","AuditObjectId","AuditAttachmentName","AuditFor","bundleTablePerPage","BundleTablepagination","changeBundlePageListCount","BundleTablepageChanged","totalTableWorkOrder","workOrderTablePerPage","workOrderTablepagination","changeWorkOrderListCount","workOrderTablepageChanged","changeAllUserPageListCount","userSuggestionsPerPage","cangeSuggestionPageListCount","UserSuggestionTablepageChanged","userBIDPerPage","UserBIDTablepageChanged","AssignedNCallTakenButNoAppointment","AppointmentNotTakenInTime","AppointmentNotBooked","AppointmentBookedThenCancelled","CancelledSourceCount","ProductReplacementCount","GasChargingRequestCount","ProductReplacementRaised","AssignedThenCancelled","AppointmentRescheduled","PriorityCount","ExceptionNoUserCount","AppointmentBookedForDay0","AppointmentBookedForDay1","AppointmentBookedForDay2Plus","AppointmentBreached","NotAssignedForD0","NotAssignedForD1","CustomerCallInit","AssignedNoActionCount","date3","AssignationDate","assignDuration","assignDurationMin","diffAssignation","diffAssignationMin","SearchByState","closeSearchTextCombo","closeSearchWorkOrder","SearchByAccount","AssignedTicketList","outsidedateRangeChange1","bundledateRangeChange","JobDType","backToTicketList","BundleJobsCreate","routeBundle","BroadCastBundles","BroadcastBundleModal","openBroadcastBundlemodal","closeBundleModal","BroadcastBundlesUS","routeBundlesUS","UnbundleBJobs","UnBundleTkts","closeUnbundleModal","DownloadTicketExcelWithFilter","downloadUrl","ManualAssignationService","jobs","GetBroadcastedJobs","hr","AdvanceSearch","LocationsList","CloseAdvanceSearchModal","closeSendAndRecieveBid","implementSelectItemsFV","selectAllFV","showMinusFV","selectCountFV","selectRowFV","applyAllFVSelect","slideSendAndRecieveBid","UserpageChanged","searchUserTable","ChangeUsersType","validateLog","GenerateOtp","AuthenticateMobUser","Login2FactorService","userAuthToken","passwordOtp","formParams","stage","countDown","onLoginEmail","loginForm","userAuthMessage","onLogin","userAuthUserId","back","enablePlugin","disableAutoFill","AuthenticateUser","userDatea","VerifyOTPWebUser","AuthenticateWebUser","loginService","isKenstarUrl","absUrl","loggedInUfserId","EmployeeId","reSendCode","CentralWarehouse","onLoginKenstar","GetAllLeaveRequests","ApproveLeaves","leaveIds","RejectLeaves","LeaveManagementService","leaveRequestList","LoadBalancerService","GetKPITargetsForMonth","AllKPIData","accountVerticalKPITargets","AllRestKPIData","loadbalancer","loadBalancer","closeloadbalancer","OpenUploadKPIModel","GetAllInvoicePayment","getInvoiceHistory","InvoiceNo","PutInvoiceTicketPayments","PutSingleInvoicePayments","PutMultiSelectedInvoicePayments","InvoicePaymentService","toggleAllTicket","toggleOneTicket","Invoice","invoicePaymentList","PutInvoicePayments","InvoiceHistory","invoiceNo","InvoiceModel","CloseInvoiceModal","titleHtmls","TicketdtOptions","InVoiceHistoryData","TicketdtColumns","objects","PaymentRemark","TicketDetailsList","InvoiceLists","downloadInvoice","InvoiceNoList","KPIconfigurationService","startYear","serialNumber","updateDate","InvoiceList","tickedfile","BulkInvoiceGenerateModel","KPIAdvancedDashboardService","sendReportToMail","downloadMultipleReports","correlated","JobListService","JobProject","JobTName","JobDesc","CommonFunToGetAllJob","MailReport","OpenAutoScheduleConfirmationModal","JobCustomer","tablecolumns","notVisible","ReadyToRaiseInvoiceFlag","PreInvoiceStatus","downloadInvoiceReport","ReadyToRaiseInvoiceModelOpen","TicketPONumber","readyToRaiseInvoiceModalInstance","ReadyToRaiseInvoiceCloseModal","collectionAmount","disabledCollection","ChangePONumber","PONumber","ReadyToRaiseInvoiceSave","GetAllTrackingDetails","GetShipmentDetails","GetPreApprovalDocList","approvePPw","RejectJobPPw","JobDetailViewComboService","pAdocList","selectDocRow","docListArray","ItemUpdateDate","VideoName","WorkOrderJobList","sowLink","PlannedStartDate","workOrderList","imageData","IsTrackingAllowed","reqVideoCall","GetLatestVideoSessionLocation","initiateAdvancedPayment","advancedDetails","ClickToCallAlternate","updateJobDescription","purchaseFromList","PurchaseType","byPassSerialNumber","bypassvalidation","GetPreApprovalStepEric","completeTkt","updateapproval","UpdateJobData","GetTemplateData","GetSectionDataByStepName","sectioninfo","GenerateConsumerInvoice","JobDetailViewNewService","customerinitMap","orgLat","OrignalLatitude","orgLong","OrignalLongitude","origLatLong","custUpdatedLatLong","custcalculateAndDisplayRoute","customermakeJobMarker","customermakeUserMarker","custstart","liveLatLong","isFirstOpen","oneAtATime","ppwComment","Isbypassvalidation","FeedbackModel","closeFeedbackPopup","openVideoPopup","videoModal","closeVideoPopup","CallInitiated","videoLink","PollVideoCallFieldLocation","ShowLocationOfFieldTeamOnMap","liveLocation","ViewJobCombo","dataDocList","sectionDocList","StepName","stepsDocLists","stepsDocList","StepsName","implementSelectData","selectDataRow","finalData","tktList","ticketResponseList","templateSection","stepsDocListsTempArray","applyAllSelectSection","stepName","approveJobDataCap","ticketResp","RejectJobDataCap","applyAllValuesSelect","getShipmentDetailsList","AlternateConsumerContact","TicketDescEdit","SiteId","jobDescription","editJobDesc","closeJobDesc","updateJobDesc","jobDescForm","clickOnFileControlMulti","tempImgList","ImageUpdateIndex","tempImgNameList","ImageItemName","clickOnFileControlEdit","theArray","getPurchaseFromList","purchaseFromData","itemss","imgNameI","imgType","PdfData","isPdfExist","IsPincodeBasedScheduling","IsPrivateDisable","slide","customergetTracking","dateFormat","AddedFromField","ZOHOSalesOrderStatus","ShowPassport","warehouseCategory","warehouseCompanyProvided","warehouseBaseprice","warehouseFreelancerPrice","warehouseModal","gData","createSales","sendAdvanceDetails","TicketCompletionRemark","getImageIndex","indexImgg","stepsModel","imageIsLoaded","getImgIndex","selectedSectionName","imgIndex","isEditDisabled","FieldDataDetails","updateSection","updateData","DataItemDetailList","UpdateDataModel","formdataForEdit","ItemImageName","DataItemDetail","dataUpdateRequestModelList","DataItemDetails","UpdateFinalDataModel","attachementInit","pdfTabClass","activeTabClass","noactiveTabClass","attachment","IsRaiseCustInvoiceOnCompletion","ItJobView","ItJobViewModal","downloadMultipleReportData","followupTicketId","getFileNameExport","unshift","UpdateDeviceRepairDone","GeneratePdfEstimateReport","SendChatInviteForExternal","GetChatRecords","ReferenceDoc","appointmentotp","AppointmentOTP","UpdateSDRForTicket","SDRData","UpdateContactInTicket","UpdateStatusJobLineItem","GetAllActivityTimeline","purchaseType","ResendFeedbackforCustomerRating","GetModelNumberByTicketId","GetCRMCallTypeList","ValidateTicketCanMarkComplete","UpDateEstimateStatus","SendHappyCodeSMS","SendHappyCodeSMSNew","appointmentTime","GetProductInfobySerialNumber","GetAllSymptomDocByProductGroup","GetDefectsValuesBySymptomValue","SymptomValue","GetAllRepairDocsByDefectValue","DefectValue","EnableOrDisableFaceRecognation","GetInventoryPartsDetails","GetJobCompletionOption","listLineItemData","tolist","cclist","GetAllOrderDetailTicketId","UpdateEstimateShareByCust","estimatedata","ReplyToQuery","queryModel","UpdateTicketForFieldData","AddTicketDefectStockToServiceCenter","DeadStokReqModel","ConsumerQueryService","JobDetailViewService","CustomerCRMListService","isTimeSlotValid","slot","timeParts","slotHours","slotMinutes","slotTime","updateAvailableTimeSlots","availableTimeSlots","timeSlots","selectDefaultTimeSlot","IsAppointmentOTPNeeded","IsQueriesFound","HappyCode","SymptomCode","DefectCode","ResolutionCode","ResolutionValue","strSymptomValue","strSymptomDescription","strDefectValue","strDefectDescription","strRepairValue","strRepairDescription","PlannedClosureReason","getAllActivityTimelineList","OpenRevisitConfirmationModel","openrevisitModel","closeRevisitModel","TicketToComplete","completionReasonList","JobCompletionModel","closeJobCompletionPopup","UpdateJobStatusToCompleted","jobCompletionForm","CompletionReason","ticketCompletionReason","ticketCompletionRemark","OpenRepairCompletionModel","TicketToBeComplete","RepairCompletionModel","closeRepairCompletionModel","MarkRepairJobComplete","repairCompletionForm","ticketCompletionRemarks","implementSelectTicketsP","selectAllColumnsP","showMinusColumnsP","applyAllValuesSelectP","reportlist","GetBrandProductGroup","PartGroupList","strBrandName","BrandNameTicket","GetAllProductsForBrand","strProductGroup","UpdateProctDeatils","InfoList","TicketListInfo","ProductType","modelNumber","updateProductModelOpen","closeUpdateProductDetails","clearImageBlob","implementSelectDataF","selectAllColumnsF","showMinusColumnsF","selectDataRowF","applyAllColumnsSelectF","IsFaceRecognationOn","CompareFaceAttemptList","SymptomName","DefectName","ResolutionName","createHalfDonutChart","GetSchedulingEvaluationresult","getPlannedClosureUpdateReasons","OrderDetailList","ReplacedPartId","GetAllFollowUpForJob","getfollowUpList","PlannedUpdateReasonsList","PlannedDateChangeReason","editAlternateNumber","SecondAlternateContactNumber","AltNumberModal","closeAlternateNumber","AlternateNumberForm","checkAppointmentOtpRequirement","appointmentCode","disableAppointmentOption","newValue","oldValue","isOtpRequired","plannedStartDate","assignedDate","AppointmentTakenDate","allowAlphanumericOnly","todayFormatted","GetAllQueryForTicket","AllQueryData","teamReply","MMFTicketId","Query","strQuery","Response","LineItemType","IsStockItem","LineItemApprovalRemark","IsCustomerApprovalNeeded","CustomerApprovalStatus","IsBackendApprovalNeeded","ShowShipmentBtn","IsApprovalModelVisible","ApprovalLineItemList","createApprovalData","ShowApprovalModel","ShowApprovalBtn","hwDataForApproval","LineItemDataforApproval","ShareApprovalModal","closeApprovalModal","StatusUpdateModal","updateStatus","typeOfApproval","TypeOfApproval","updateLineItemId","updateLineItemCategory","updateLineItemDescription","updateLineItemQuantity","updateCompanyProvided","updatedLineItemWinPrice","updatedLineItemFreelancerPrice","StatusModal","closeStatusModal","enable2","LineItemStatus","createPayment","processPayment","OpenShareEstimateModal","EstimateModalInstance","CloseEstimateModal","EstimateRemark","uploadShareEstimateFile","Estimatefile","valiateEstimateFile","EstimateFileName","verifyIsTicketReadyForCompletion","IsEligibleToComplete","happyCodeModalInstance","closeHappyCodeModel","SymptomsList","ProductInfo","strProductName","strModelNumber","strModelName","ModelName","strModelDescription","ModelDescription","strNewModelNumber","strNewModelDescription","bIsActive","getSymptomValue","DefectsList","selectedSymptom","symptom","symptomvalue","getDefectValue","ResolutionsList","selectedDefect","defect","defectvalue","AllCallTypes","strCallType","strListCallType","AllGangnamModelNumberList","getResolutionValue","resolution","selectedResolution","happyCodeCompletionForm","resendFeedback","UpdateFaceRecognation","SendAppointmentCodeToCustomer","contactNumbers","openInvitePopup","addContactNumber","inviteUsersForm","newContactNumber","removeQuantity","CloseInviteModal","IsNewChat","ContactList","getAllChatDetails","chatDetails","closemailmaodal","TotalTAT","accessibility","valueSuffix","OpenUpdateDeviceRepairModel","closeUpdateDeviceRepairModel","getInvoiceToDetails","GenerateItemizedInvoice","GeneratePreviewItemizedInvoice","GenerateItemizedInvoiceOnScreen","GenerateInvoiceByModel","InvoiceItemizedService","ticketIdsToGenItemizedInvoice","ItemizedInvoiceList","ticketIdsItemizedList","SelectedInvoiceObj","InvoiceItemizedTicketIdList","ErrorString","PreviewItemizedInvoiceList","pdfBase64","IsGenerateBtnDisabled","generateSelectedInvoiceObj","InvoiceTabClick","InvoiceObj","GetAllInvoiceListbyDateRange","InvoiceListService","getInvoicebyDaterangeList","invoiceLists","GenerateConsolidatedInvoice","GeneratePreviewConsolidatedInvoice","GenerateConsolidatedInvoiceOnScreen","InvoiceConsolidatedService","CustomerInvoiceService","ticketIdsToGenInvoice","ConsolidatedInvoiceList","ticketIdsList","InvoiceTicketIdList","PreviewConsolidatedInvoiceList","getCustomerInvoiceState","getCustomerAccounts","CreateInvoiceToBillToAndShipTo","invoiceFromCompany","invoiceFromState","InoviceToBillToAndShipToData","UpdateInvoiceToBillToAndShipTo","GetInvoiceReminderByAccountId","CreateInvoiceReminder","InvoiceConfigurationsService","BillToCityList","ShipToCityList","initialize","PaymentTerms","strReminderName","nReminderdays","strMailSubject","strMailBody","InvoiceReminderId","customerAccounts","showBillAndShipToList","addMoreBillToAndShipTo","AddInvoiceToBillToAndShipTo","ObjBillToShipTo","RegisterState","InvoiceToState","BillToDetails","BillToCompanyName","AddressLine","BillToAddressLine","BillToState","BillToCity","BillToPincode","BillToPAN","GSTN","BillToGSTN","StateCode","BillToStateCode","ShipToDetails","ShipToCompanyName","ShipToAddressLine","ShipToState","ShipToCity","ShipToPincode","ShipToPAN","ShipToGSTN","ShipToStateCode","InvoiceFromCompanymodel","InvoiceFromStatemodel","EditBillToShipTo","editform","customerInvoiceDetails","invoiceToDetailsModelList","removeCurrentBillToAndShipTo","BillToCityStatePin","ShipToCityStatePin","invoiceFromDetailsModelList","invoiceFromDetailsModel","storeOriginalContent","originalContent","originalSubject","originalReminderName","originalReminderdays","cancelChanges","ccListMendtryErr","reminder","reminderdays","customerInvoiceState","scheduleReminder","strAccountId","strListCustomerEmail","strListMMFEmail","nPaymentTerms","objListReminders","strInvoiceReminderId","GetAllOrderInvoice","invoiceStatus","AcceptInvoice","invoiceId","AcceptInvoiceWithDiffer","CancelInvoice","GeneratePdfTaxInvoice","InvoiceId","ReOrderPlace","InvoiceAcceptanceService","openInvoiceAcceptanceModal","invoiceData","invoiceacceptanceModal","closeinvoiceacceptanceModal","DifferOrderId","openDifferModal","closeDifferOrderModal","ReOrderData","AllOrderInvoices","OpenUserDetails","orderdetail","OpenCancellationModel","invoiceIdTobecancelled","CancelInvoiceModel","closeInvoiceCancelConfirmation","CancelInvoiceRemark","Invoice_Cancellation_Form","InvoiceCancelData","strInvoiceId","strCancelRemark","listInvoiceDifferQuantity","ListItemsInInvoice","lineitem","differQuantity","differQty","differRemark","strPartId","nDifferQuantity","strDifferRemark","hasDifferQuantity","some","openDifferOrderModal","strOrderId","exportToCSV","invoice","dateInvoiceDate","nInvoiceItemCount","dInvoiceTotalAmount","strInvoiceStatus","encodedUri","setAttribute","getCustomerInvoice","GetRemittanceAdvices","PageIndexAdvice","PageSizeAdvice","CreateRemmittanceAdvices","getInvoice","GetRemittanceDataByInvoiceId","getCustInvoice","getCreditN","getCreditNote","getDashboardDetails","PaidByCustomerInvoiceAccounts","RaiseInvoiceToCustomerAccounts","RejectInvoiceByCustomer","CloneRejectedInvoice","DownloadInvoice","invoiceNumberList","DownloadCredit","creditNoteNoList","SendEmails","GetBlankInvoice","CustomerInvoiceAttachment","ReGenerateIRN","b64toBlob","b64Data","sliceSize","byteCharacters","byteArrays","byteNumbers","byteArray","dissblesubmitButton","CustomerInvoiceList","creditNote","CustomerInvoice","GetCustomerInvoiceByReqUserId","customerInvoiceList","customerAdviceList","customerInvoiceStateList","customerInvoiceSubmittedList","updatePOList","customerRejectList","customerMailDetailsList","freelancerRejectInvoiceList","freelancerInvoiceList","freelancerRejectList","CloneRejectList","BlankInvoiceAccountId","BlankInvoiceRemark","SendEmailInvoiceList","PaidByCustomerList","SearchByBusinessUnit","SearchByAccountId","SearchByInvoiceNo","SearchByCreditNo","TicketsState","SearchByStatus","markPaidInvoiceList","SearchByPONumber","SearchByDescription","SearchByTechnicianName","SearchByTechnicianId","SearchByCustomerName","invoicePageListCount","pageindexCountInvoice","pageindexCountAdvice","pageindexCountCredit","ticketListLengthInvoice","ticketListLengthAdvice","ticketListLengthCredit","advicePageListCount","PageIndexInvoice","PageIndexCredit","totalTicketUsers","totalTableUsersInvoice","usersTablePerPageInvoice","UserTablepaginationInvoice","currentInvoice","changeInvoicePageListCount","UserTablepageChangedInvoice","totalTableUsersAdvice","usersTablePerPageAdvise","UserTablepaginationAdvice","currentAdvice","changeAdvicePageListCount","UserTablepageChangedAdvice","invoiceRemittanceAdviceModels","totalCreditNotes","usersTablePerPageCredit","UserTablepaginationCredit","currentCredit","TicketFilterModelCredit","UserTablepageChangedCredit","TicketFilterModelAdvice","getFilterInvoicebyDashboard","statusValue","stateKey","cityKey","outsidedateRangeChangeforPO","InvoiceLightModels","ListTicketInvoiceModel","BlankInvoiveDoc","remittanceData","getAttachedInvoice","invoiceXLSX","fileType","convertBase64ToExcel","data12","blob1","blobUrl1","ListCreditNoteModel","dashboardDetails","AllAmount","InvoicePending","InvoiceSubmitted","InvoicePaidByCustomer","InvoicePaid","InvoiceRejected","businessUnitList","searchDataByStatus","ConsolidatedView","tt","ItemizedView","ReminderReport","ReminderModal","closeReminderModal","Emails","Subjects","InvoiceMailDetails","Request_Code","AttachmentList","SharedReportId","showMailShare","showShare","ScheduleReport","SchedulesList","showSchedules","GetAllSchedules","refreshData","showDownloadInvoice","selectAllInvoice","showMinusInvoice","showDots","showPaidByCustomer","showSubmitbtn","applyAllNewInvoiceSelect","generateInvoice","updatePO","implementSelectItemsCreditnote","itemList2","scope2","generateCreditNote","selectRow2","checked2","OpenCustomerPaidByCustomerModal","invoiceObj2","paidByCustomerObj","InvoiceNumber","AmountRecieved","AmountToShow","InvoiceAmountDue","customerPaidByCustomerModalInstance","disablePaymentRcvBtn","inputChanged","disableTDSPaymentRcvBtn","TDSChanged","TDSAmount","customerPaidByCustomerCloseModal","PaidByCustomerInvoice","AmountReceived","OpenCustomerInvoiceSubmittedModal","invoiceObj","CustomerInvoiceSubmittedObj","customerInvoiceSubmittedModalInstance","CustomerInvoiceSubmitted","OpenBulkUploadModel","OpenBulkModal","closeBulkUploadModal","RemittanceInvoiceList","BlankInvoice","closeBlankInvoiceModal","BulkInvoiceModel","UpdateBlankInvoice","blankInvoiceDetails","InvoiceModal","closeCustInvoiceModal","UpdateCustInvoice","customerFiles","attachmentForCustInvoice","attachmentForBlankInvoice","OpenFreelancerRejectInvoiceModal","invoiceObj1","freelancerRejectInvoiceObj","freelancerRejectInvoiceModalInstance","freelancerRejectInvoiceCloseModal","FreelancerRejectedInvoice","customerInvoice","CloneDuplicateInvoice","cloneIds","NewCloneInvoice","cList","CreditNoteNumber","RemittanceInvoiceDetails","dzCallbacks1","BulkInvoiceRemittanceAdviceModel","addFiles1","getFinanceFreelancerInvoice","ReadyForPayment","PaidInvoiceAccounts","RejectInvoiceAccounts","FinanceFreelancerInvoiceService","FinanceFreelancerInvoiceList","FinanceFreelancerInvoice","GetFinanceFreelancerInvoiceByReqUserId","markPaidList","InvoiceStatusList","OpenPaidInvoiceModal","markPaidObj","paidInvoiceModalInstance","MarkPaid","getFinanceCustomerInvoice","FinanceCustomerInvoiceService","FinanceCustomerInvoiceList","FinanceCustomerInvoice","GetFinanceCustomerInvoiceByReqUserId","GetAllInvitedUser","GetAllInvitedUserByFilter","filterItemName","filterItemValue","SearchItemName","SearchItemValue","BroadcastMessage","invitedUserService","InvitedUsers","SearchByMobile","SearchByName","SearchByReferred","SearchBySkill","SearchByCity","Six Month","FilterItemValues","SearchItemValues","AllSkills","InvitedUserList","selectedInvitedUser","InviteMobileNo","messageInfo","recevierPhoneNo","sendSMS","toemailsList","InviteMailIdList","MailBody","MailSubject","InvitedAllUserService","FillShiftDataForUser","InvigilatorShiftAttendanceService","Markattendance","userIdForAttendance","attendanceModal","closeAttendanceModal","tableId","headerCells","dateRow","innerText","dateCells","dateCell","rowData","cell","csvFile","GetAllVisibleMasterPartsNew","UpdateMasterPart","masterPartData","CreateNewMasterPart","createPartData","UploadMediaInBulk","GetAllBrandMasterStringList","GetAllProductGroupMasterStringList","GetAllProductMasterStringList","BrandProductMasterCreationService","PartImagesList","InventoryImagebase64","masterInventoryList","isTableVisible","isCardVisible","showCard","InventoryImageServices","rowIndex","PartType","HSNCode","masterItemModel","PartImages","CreateListItemModel","createitemlistModelOpen","CloseItemListModel","ListPartDescription","Manufacturer","PartUnit","PartPrice","PartSellingPrice","PartDiscountPercentage","PartDealerPrice","PartDealerCustomerPrice","PartCustomerPrice","PartWareHousePrice","dIGSTTax","dCGSTTax","dSGSTTax","IsVisibile","IsReturnable","itemlist_form","PartVideos","strPartSubGroup","IsPartAvailableOnCredit","addDescription","removeDescription","UpdateListItemModel","imageUrl","updateitemlistModelOpen","CloseUpdateItemListModel","previewFiles","triggerFileInput","removeImage","includePriceAndDiscount","AllBrandList","AllProductList","AllBrandProductList","GetMyCart","GetInventoryByForExploration","AddPartToMyCart","addPartData","UpdateMSLOrder","ReducePartQuantityInMyCart","reducePartData","RemovePartFromMyCart","removePartData","ClearMyCart","PlaceOrder","GetAllOrdersByFilter_CSV","GeneratePdfChallan","ExpandOrderList","removeItem","cartItems","CartshowPartDetails","OpenCartPartDetailPanel","CartPartDetails","CartsideViewPartImage","strListItemImage","cartList","stockAvailableWarehouses","QuantityAdded","WareHoueId","AddSinglePartToMyCart","closeClearCartConfirmation","SelectedOrderType","orderType","SearchTextforOrder","OpenClearCartConfirmation","ClearCartModel","OrderIdToReOrder","OpenOrderCancelConfirmation","CancelOrderModel","viewChallanPdf","ChallanData","viewPOPdf","ListItemsInOrder","GetUserAllSalesOrderDetailforWeb","GetUserSalesOrderIntatiedByZoho","ePageIndex","ePageSize","InventoryMangementOnServiceLevel","InventoryReturnOfDefectPartsByServiceCenter","CustomerReturnInventory","zohoItemRequestModels","totalSalesorder","changePartOrderedPageListCount","RequestTablePageChanged","PartOrderList","historyListLength","epageindexCount","ActiveTab","setOrderStatus","AddDefectedPartInStock","PartGroup","AssignOrPullBackStock","DefectStockCount","MarkReturnRaised","TrackingId","paymentsapi","BankDetails","NoAuth","UpgradeFreelancerToVendor","FreelancerId","ITEngineerService","CertificateImg","ProjectDesc","PCLogobase64","EducationLogoBase64","profileProgress","isBlinking","PreviousCompnyLogoBase64","EducationLogoServices","usersRating","usersBlankRating","certificates","alt","number","issueDate","expiryDate","carousel","About","aboutSections","expertiseSection","CompanyLogoImage","ProjectDetails","ProjectDiscription","CertificateImage","EducationSummary","CollegeLogoImage","IT360ProfilService","statusFin","closeProfile","InsuranceImg","InsuranceimageServices","closeTProfile","UpgradeToFV","UpgradeToFVModel","CloseUpgradeToFV","accountList","FinanceFilterArray","FinanceTablePageChanged","applyFinanceFilter","getCustomerBasicDetail","customerLocationId","GetTicketSroucesByProId","UpdateCustomerLocation","findTicketInGivenTime","assetId","getTicketCounts","rollups","getTicketCountsWithSkill","metrix","getServiceGST","getAllTicketByCustLocId","custLocId","PrevTicketHours","loggingRemark","loggingSource","cust_loc_id","AssetName","asst_name","AssetId","asst_id","SlaPriorityModel","CallTypePriority","TRBL","VSAT","New Jobs","Total Jobs","Assigned Jobs","Completed Jobs","Approved Jobs","Rejected Jobs","Cancelled Jobs","On Hold Jobs","Open Jobs","LeaseLine","Field","noSkill","onlyVsat","both","loadMetrix","ticketSources","showTicketEditModel","o","calltypelevel","loggingDate","editTicket_form","JobAssignRate","JobAssignGrossRate","RateBase","CustomerLocationContactModels","UniqueOne","UniqueIdOne","UniqueTwo","UniqueIdTwo","LoggingRemark","LoggingDate","loadData","getAllTickets","Troubleshooting","CCR","grossRate","createFieldTicket","VSATID","VSATIP","rowHtml","SecondaryReason","editCustomerProfile","EditCustomerModal","ModalInstanceCtrlCustomer","GetSubRegionList","GetCityList","updateCustomerModal","customerEdit_form","CcId","CloseEditCustomerModal","openUpdateStatusModel","statusModal","selectedReason","GetAllPrimaryReasonBasedOnTemplate","CloseUpdateStatusModel","TotalReasonList","filterData","PrimaryReasonList","getSecondaryReason","secondoryReasons","updateTicketStatus","secReason","completeFlag","getAllTicketsCopy","downloadTicketsByFilterRange","GetAvailableSlotsForBooking","BookSlot","slotId","SelectedThirdReasonList","ThirdReasonList","updateTicketStatus_Multiple","modelData","markJobCompleted","getDayClass","dayToCheck","currentDay","UserSubRegion","SlotAvailable","showStatusFilter","HelpDeskRemarks","Admintickets","TroubleshootTickets","showCompleteBtn","Admin","Pending","getAllTicketsBySkill","attachFollowUp","tempTicketList","showCompleteButton","seletedJob","callMethodFlag","SupervisorColumns","ModalInstanceCtrlFollowUpComplete","ClearAllLocalData","implementSelectItemsFVs","showStatusBtn","selectedJobList","tempTicketListComplete","openUpdateStatusModel_Multiple","tempTicketListUpdate","tStatus","selectedTemplate_Multiple","CurrentStatus_Multiple","GetAllPrimaryReasonBasedOnTemplate_Multiple","CloseUpdateStatusModel_Multiple","updateStatus_Multiple","selectedReason_Multiple","SelectedThirdReasonList_Multiple","comments_Multiple","tempDataModel","GetFirstTickets","GetSecondTickets","ConcatenateObjects","AdminTotalTickets","vsatTickets","getAllTicketsWithCallBack","newCallback","GetTicketByMetrics","flag","searchTableByStatus","showDetailCols","stateLoadCallback","stateSaveCallback","slaVis","tatVis","CurrentStatus","TotalReasonList_Multiple","filterData_Multiple","PrimaryReasonList_Multiple","secondoryTatRespository","getSecondaryReason_Multiple","secondoryReasons_Multiple","secondoryTatRespository_Multiple","getThirdReason_Multiple","secondryReason","ThirdReasonList_Multiple","getThirdReason","selectDate","SelectSlot","SlotBooking","someDate","numberOfDaysToAdd","customClass","showWeeks","tomorrow","afterTomorrow","startDT","EndDT","sk","dtInstance3","GetAllSafetyGuidelineDocsForPortal","HealthAndSafetyService","SafetyGuidelineLists","GetAllHWDetail","HardwareDetailsService","NewHardwarePhoto","accStatus","OldHardwarePhoto","GetGasChargerRefuelingList","GetGasChargerDashboardByFilter","GetGasChargerRefuelingList_CSV","GetGasChargerRefulingById","GasChargeRequestID","UpdateGasChargerRefulingStatus","GasChargingApprovallService","SelectedRequestStatus","clearMyFilter","allGasRequestList","gasChargingDashCount","FreelancerTechnicianProfileService","GetBankDetails","UserbankDetails","RedirecttoActivevendorteam","GetAllGetDistricts","GetAllGetDistrictsWithState","GetOperationalTerritoryInfo","UpdateOperationalTerritoryForVendor","FVLocationConfigurationService","Isservinglocations","IsShowLocation","LocationType","multipleSelect","LocationTypeList","LocationsStateList","LocationsDistrictList","getLocationsStateList","getLocationsDistrictList","AllDistrictList","SelectedStateByDistrict","getServingLocations","IsOperationalTerritoryEnabled","OperationalTerritory","CheckedServingLocations","SaveFVLocation","StateCityForDistrict","servingLocationsForm","locationDistrict","Obj","VendorUserId","CancelFVLocation","resetPassword","ForgotPassword","ForgotPasswordService","vcRecaptchaService","email_adress","captcha","onForgotPasswordClick","getResponse","Captcha","autoDismiss","onHideCallback","GetAllLeadbyDateRangeWithDynaPaging","GlobalSearch","MarkAcceptLeads","MarkRejectedLeads","FVLeadManagementService","skillsList","SearchByDistance","DenyReasonsList","FilterLeadDashbaord","statusType","IsAcceptLeadsbutton","IsRejectLeadsbutton","allLeadsList","allAcceptedLeadsList","allRejectedLeadsList","AcceptedLeadsCount","DeniedLeadsCount","IncomingLeadsCount","TotalLeadsCount","markAcceptLeadsList","AcceptLeads","markAcceptLeadsListObj","Rate","SelectedTicketList","OpenRejectedModal","rejectObj","DenyReasonOthers","rejectedModalInstance","rejectedCloseModal","isShowReasonTextBox","ChangeReason","SelectedReason","SelectedDenyReasonsList","MarkReject","DenyReasonStr","OpenBonusPenaltyModal","bonusPanelties","bonusandpenaltyModalInstance","BonusPenaltyCloseModal","FLTechnicianProfileService","GetAllTicketStatus","SaveEscalationConfiguration","GetEscalationAlertConfigurationById","EscalationService","alertIdParam","EscalationType","StatusList","firstStatus","secondStatus","firstLinkedStatus","secondLinkedStatus","eventConfiguration","LinkedeventConfiguration","buttonStatus","button","customObj","customLinkObj","AddEventConfiguration","firstStatusDisabled","secondStatusDisabled","RemoveEventConfiguration","AddLinkedEventConfiguration","firstLinkedStatusDisabled","secondLinkedStatusDisabled","RemoveLinkedEventConfiguration","SetStatus","isSingleBool","SetStatusForLink","GetEscalationAlertConfiguration","EscalationAlertConfig","IsSingleTicket","ListEscalationAlertTemplate","TicketStateFirst","TicketStateSecond","outSidecheck","escalation_form","OutObj","Outminutes","outModel","OuttimeSplit","GetMailHistoryByDate","startdate","enddate","EmailAdapterHistoryService","mailhistoryList","buildTable","GetAllTicketsForContact","contactNo","GetAllAreaByStateCity","GetAllPincodeBYAreaStateCity","area","CreateConsumer","GenerateBill","consumerId","GetServiceableArea","GetWarrantyDetailsForProduct","GetConsumerDetails","GetAddressFromPinCode","DirectSaleToCustomerService","getCurrentDateTime","now","AppointmentDate","selectedDateTime","getareaallCities","AreaCityList","AreaList","consumerArea","PincodeList","newVal","AddressType","warrantyStatus","dateOfPurchase","isDateDisabled","openPincodeSelectionModal","pincodeSelectionModalInstance","closePincodeSelectionModal","ProceedToAddPincode","FindPincode_form","customercreate_form","strConsumerTitle","strConsumerFirstName","strConsumerLastName","strConsumerContact","strConsumerAlternateContact","strPersonalEmail","strConsumerArea","strConsumerLandMark","strConsumerType","udListAddresses","strAddressType","strAddress1","strAddress2","strDistrict","strPostalCode","strCountry","bIsDefaultAddress","consumerData","Addresses","clearCustomerData","ConfirmationModal","confirmationModelOpen","openNonServiceableAreaConfirmationModal","productdefect","caseDescription","AppointmentDateTime","WarrantyData","selectedcity","selectedArea","Open360ForConsumer","customerNo","BrandListadd","billItems","gst","finalTotal","addToBill","selectedQuantity","existingPart","calculateBillTotals","isPartInBill","updateQuantity","removeItemFromBill","dPartDiscountedPrice","EnablePrintButton","nQuantity","findPincode","AddressData","DialerListService","isPlaying","togglePlayPause","getAllDeviceInfo","DeviceInfoService","deviceInfoList","GetAllDashboardReports","GetByReportById","GetAllActivitiesForSchedule","scheduleId","GetDashboardByName","createReport","GetSchedules","GetScheduleById","updateReport","createDashboard","updateDashboard","UpdateDashboardReportToFavourite","DashboardReportId","GrantAccessToReport","DashboardReportName","UserIds","RevokeAccessToReport","DeleteSchedule","getData","DateFrom","DateTo","reportsDashboardList","Dashboards","ReportsList","capacitygapWrapper","IsActivityVisible","userClass1_status","userSingle1","ticketView","ticketViewId","ticketAccountName","ticketAddress","ticketUserId","ticketUserName","ticketSkills","closeactivity","descriptionOfReport","IsFavourite","PipeSeparatedTags","Tags","taskDueDate","chips","addChip","chipsInput","removeChip","exceptionList","reportCreation_form","ReportDescription","Shared","Scheduled","Favourite","CloseCreateReportModel","GoToViewPage","DashboardDescription","AutoRefresh","CreatedOn","FilterList","getValueByFilter","selectedStatus","withScroller","newData","labelStyle","labelClass","arrayFromPipeString","UpdateReportModel","TypeOfTask","GetByReportId","CloseUpdateReportModel","updateReportModelOpen","toggleFavorite","ReportData","ScheduleActivity","currentlyClickedSchedule","ReportNametoFetch","schedule","clicked","toggleButtonColor","CreateReportModel","dashboardDetailService","dashboard_id","customerLatestService","GetProjectsByCustomerIdName","GetPocLocations","cir","GetAllCustomersWithLOCPOC","CustomerProfileService","customerIndex","allProjects","getCustomerInfo","projectLocationModel","SupervisorNumber","ViewCustomer","ViewCustomerById","customer_name","GetCustomerIdJobDetails","GetTicketsByCustomerId","GetProjectsByCustomerIds","GetTicketsByFilters","tempCol","GetStatusInPie","dimensionList","IsData","getAllCustomerLocation","getAllCustomerAsset","getAllCustomerAssetDetails","CustomerDetailViewLatestService","MainRegionList","AddressMappingCountry","CustomerFullDetail","CustomerTicketDetails","PointOfContacts","LocationListView","AssetListView","UniqueID1","UniqueID2","ROName","dtInstanceCustomer","LCustomerName","LCustomerLocationId","LAssetName","LCategory","LProductName","LPermanentState","LPermanentCity","LPincode","LSiteName","PointOfContact","CLCustomerId","CLCustomerName","CLCustomerLocationId","CLUniqueIdOne","CLUniqueIdTwo","CLPointOfContact","CLPermanentState","CLPermanentCity","CustomerDetails","SiteCode","GetCustomerDetailswithJobCount","testvalue","demo","sArray","da","GetPointOfContactInfo","CustomerLocationModels","pocview","SlaData","metrcsdata","createDoughnutChart","Location_Edit","Location_EditModal","LocationDetailsService","CustomerlocationId","POCFirstName","POCLastName","POCMobileNo","POCOtherNo","POCEmailId","Location_CreationModal","CloseLocation_Creation","depth","dtOptions1","dtOptionsCustomer","dtColumnDefsCustomer","CustomerDetailViewService","GetAllConsumerDetails","CustomerDetailListService","ConsumerFirstName","ConsumerLastName","GetConsumerDetailsByTicket","GetAllBrands","GetDefectTypeList","GetCallTypeList","CustomerCRM360Service","UploadCallBooking","AssestsCreateTaskModel","AssetType","modelName","ProductModel","AssetPurchaseDate","AssetWarranty","SerialNumber","dealername","strDealerName","dealercontact","strDealerContact","AssestGetCallTypeList","assestscreatetaskModelOpen","AssestsCloseCreateTaskModel","GetConsumerAssets","CreateTaskModel","createtaskModelOpen","CloseCreateTaskModel","DefectList","CloseCreateTaskModelServisable","DefectType","MMFSkillMapped","strMMFSkillMapped","ConusmerContact","DateOfPurchase","RecordId","AssetSerialNumber","successMessage","requestData","ServiceStatus","ServiceStatusMessage","CheckServiceableArea","listWarrantyStatus","callID","onOptionChange","AssestsAllCallTypes","consumerAssetData","consumerAssetDataLength","followupdialog","getJobsByCustomerId","GetConsumerFullDetails","UpdateConsumerForAddress","UpdateConsumer","GetAllBillsWithFilter","BillSearchText","billList","debounceTimeout","clearTimeout","clearbilldetails","showRecentActivity","RecentActivity","Assets","EditcustomerModelOpen","CloseUpdateDataModel","consumerAddressData","strAddressId","ticketLength","searchConsumer","editprofile_form","CreateCustomer","customerFormData","updateCustomer","PostCustomer","PutCustomer","CustomerFormCreationLatestService","mobile_number","other_number","business_number","companyUrl","UnqiueItemOneValue","UnqiueItemTwoValue","CustomerDescription","addCustomer","customerContactModel","customer_form","saveAndNew","currentInedx","addPointOfContact","SubRegionList1","SubRegionList2","SubRegionList3","SubRegionList4","SubRegionList5","SubRegionList6","SubRegionList7","CityList1","CityList2","CityList3","CityList4","CityList5","CityList6","CityList7","selectFiles","showMessage","$file","$files","customerCardService","editCustomer","pageChangeHandler","GetTicketForTicketCase","RaiseQueryForCase","userQuery","ticketforQuery","IsTicketFound","RaiseCasesModel","raisecase","CloseRaiseCaseModel","QueryTask_form","VerifyOTPRetailStore","userOTPData","GenerateOtpRetailStore","UpdateRetailUserDetails","userBasicData","consumerloginService","otp","userLocation","SubmitBasicInfo","GetConsumerProductsOnFilter","GetConsumerDashboardOnFilter","GetBrandMaster","GetBrandProducts","ConsumerListService","YearOldProducts","GetOnBoardingTaskDetails","taskDetailsList","consumerCount","getAllSlotsByBrand","GetTicketDetails","UpdateAddressAndSlot","ConsumerFormService","getTicketDetails","ticketDetails","startDatetime","endDatetime","InFlowDistance","OutFlowDistance","InstallationType","notimeslotset","selecttimeslot","timeslot","gettimeslot","dateonchange","_datehours","timeslothours","ConusmerName","IsNonStandardInstall","update_ticket","GetShiftCampaignDetails","campaignId","ApplyForShiftCampaign","ConsentOfUserService","CampaignID","ShiftData","generateMail","confirmAccountService","triggerMail","AssignTaskToUser","TaskAssignModel","GetTechnicianCaseCountsByFilters","GetAllCasesForTechnicianAssignedToMe","ComplaintCaseListService","showFullText","caseStatus","caseType","caseFor","createTaskModel","taskCompletionOn","resolveraise","OpenTicketDetail","updateCaseForType","UpdateCaseFor","QueryType","CaseFor","TotalCase","TotalCaseCount","OpenCase","OpenCaseCount","InProgressCase","InprogressCaseCount","ResolvedCase","ResolvedCaseCount","ExpiredCase","ExpiredCaseCount","ClosedCase","ClosedCaseCount","QueryCaseCount","CapacityGapAnalysisService","GetAllActiveTaskForFilter","ActiveTaskList","customSearch","SearchTagNew","lowerCaseSearchText","isString","lowerCaseProp","GetOnBoardingTaskCountsByFilters","InProgressTask","FollowUpTask","CommitmentTask","taskBasedFilter","MMFNonPrimeMember","UserVerificationStatus","IsAuthorizedServiceCenterCount","getAllUsersByStage","getAllUsersByRole","getAllOneJobDone","getAllFixedTeam","getAllLeadStarted","getCountByPssValue","pss","committedDetail","committedvalue","getAllCriminalFlag","criminalValue","getAllPrimeFlag","primeValue","PreferredForAccount","UserCountbyFilter","TotalUsersCount","BasicInformation","TotalInvitedUserCount","LocationAndSkill","Backgroundverified","Paymentverified","PoliceVerified","TotalActiveFrUsersCount","TotalActiveFVUsersCount","TotalActiveFVTUsersCount","FixedTeamCount","PrimeMember","NonPrimeMember","TotalActiveUsersCount","TotalRegisterUser","TotalFreelancerBidCount","OneJobDoneCount","NonPrimeMoreThanTenCount","LeadReceivedUserCount","LeadNotReceivedUserCount","LeadAcceptedUserCount","LeadNotAcceptedUserCount","JobRejectionBreachedCount","JobRejectionMetCount","SOPAdherenceBreachedCount","SOPAdherenceMetCount","AuthorizedServiceParnterDetailCount","AuthorizedServiceParnterDetailCountActive","AuthorizedServiceParnterDetailCountInActive","CommitmentInterestedUserCount","CommittedUserCount","isCollapsed49","activatedButton40","isactivated40","CallingUser","CommittmentModelOpen","CommittmentModel","CloseCommittmentModel","userCommittmentReason","committment_form","CommittmentStatus","CommittmentReason","UserComment","followupmodal","toggleForBroadcastnew","CloseingRemark","OnBoardingTaskModelOpen","taskid","CommitmentTaskId","OnBoardingTaskmodel","CloseOnBoardingTaskModel","ClientView360Service","DownloadPDFReportZip","BroadcastJobsManualMode","SendPdfOnSiteReportForMultipleTicketsOnMail","downloadReportTemplate","UpdateCompletionRemark","MarkTicketsReadyToRaise","ComboEnabled","WorkOrderEnabled","OpenScheduleConfirmationModal","AutoBrodScheduleJobs","EstimateShareCount","EstimateApprovedCount","EstimateRejectedCount","getAllTicketsByType","downloadtemplateBtn","downloadOnsiteReportpdfBtn","DownloadReportByTemplateName","downloadPAVReportPDF","getCompletionReasons","CompletionReasonsList","completeModalInstance","UpdateCompletionReason","completionReasonUpdateForm","TicketCompletionReason","CloseCompletionModal","ManualJobAssignation","AllTicketDate","AllTicketRemark","AllTicketPONumber","ChangeAllDate","TicketDate1","CustomerApprovalDate","ChangeAllRemark","TicketRemark1","CustomerApprovalRemark","ChangeAllPONumbers","TicketPONumber1","ChangePONumberManually","TicketPONumberM","OpenReadyToRaiseModel","ReadyToRaisedTktDetails","AssignTicketsToSupervisor","CentralHDManualAssignationService","AssignToUserId","JobcountbySearch","sortBroadcastAge","sortAge","GetAllStatesForDM","GetAllAccountHDConfigForDM","getAccountById","GetUserTerritoryDetails","showAllAccountsExceptHD","SelectedAccountHD","AccountSkillSet","ListStates","AccountChangeHD","AccData","updatedAccountList","userTerritoryInfo","CentralHDAllTicketListService","CentralHelpdeskService","SelectedAccountName","AccountLocations","SelectedSkill","GetOnboardingTaskTicketUserList","CreateTaskForOnboarding","TaskData","CapacityNeeded","TaskDueDate","TaskCompletedOn","createtask_form","HiredUserList","FilterTypeCount","AssignTasks","CampaignURL","GetCampaignById","GetCampaignDetailsById","CallStatus","UserNumber","CampaignDetailViewNewService","contactListLength","PageindexCount","totalContacts","created","Inprogress","retry","completed","stats","retrying","faileddnd","invalid","paused","failednoattempt","pending","contactPageListCount","contactTablePerPage","contactTablepagination","changeContactTablePerPage","ContactTablepageChanged","CampaignDetails","searchByStatus","CampaignDetailViewService","itemMarginTop","itemMarginBottom","RedirectToCalendarManagement","GetAllCampaigns","CampaignStatus","GetCallbackNumber","CreateCampaign","GetContactList","CampaignListName","DeleteListById","listId","CampaignCreationService","currentTime","toTimeString","selectedTime","CallbackNumber","createvalue","NoOfRetries","RetryInterval","FlowId","CallStatusBackURL","ConnectionStatus","ContactListId","sendAtTime","GetAllCampaignsWithPaging","campaignList","searchByName","OpenDetailView","callBackNumberList","OpenCampaignModel","selectedStartDate","hours","padStart","ehours","eminutes","futureDate","selectedEndDate","campaignCreateModel","NewCampaignName","getMinDate","originalStartDate","syear","smonth","sday","formattedStartDateString","originalEndDate","eyear","emonth","eday","formattedEndDateString","IsClone","campaigns","caller_id","campaign_type","retries","number_of_retries","interval_mins","mechanism","on_status","send_at","end_at","call_duplicate_numbers","status_callback","call_status_callback","call_schedule_callback","http_code","contactList","ChangeListTab","searchByListName","OpenCampaignCloneModel","campaignDataToBeCloned","lastIndex","campaignCloneModel","CloseCampaignCloneModel","DeleteList","CRMTeamFormCreationService","UploadTeamCRM","refreshTable","GetAllAvailableRegion","subRegionForBSM","warehouseToBeAllocatedName","AllAvailableRegionList","ReportingToUserId","checkIftheRegionIsAvailable","IsAvailable","confirmation","confirm","checkIftheSubRegionIsAvailable","selectedSubRegion","CRMManualAssignationJobService","GetAllBrandsMaster","GetAllActiveBrandsMaster","CreateBrandsMaster","UpdateBrandsMaster","GetAllProductGroupMaster","GetAllActiveProductGroupMaster","CreateProductGroupMaster","UpdateProductGroupMaster","GetAllProductMaster","ProductGroupName","GetAllActiveProductMaster","CreateProductMaster","UpdateProductMaster","CreateProductDefectMaster","UpdateProductDefectMaster","GetAllProductDefectMaster","GetAllActiveProductDefectMaster","GetAllActiveProductWarrantyMaster","CreateBrandProductMaster","UpdateBrandProductMaster","CreateProductWarrantyMaster","UpdateProductWarrantyMaster","CreateProductModelMaster","UpdateProductModelMaster","CreateAlternateParts","GetAllModelNo","GetAllAlternateParts","GetAllBrandProductMaster","GetAllSubRegionForMapping","searchBrandText","searchProductText","searchProductGroupText","searchDefectText","searchAlternatePartsText","searchProductVsDefectText","searchProductModelText","ProductBrandId","dtInstanceBrand","dtInstanceProductGroup","dtInstanceProduct","dtInstanceDefect","dtInstanceWarranty","dtInstanceAlternate","dtInstanceProductvsDefect","dtInstanceProductModel","OldBrandName","BrandStatus","OldProductGroupName","ProductGroupStatus","OldProductName","ProductStatus","OldDefectName","DefectStatus","ProductDefectsList","CallTypeProduct","ProductDefectStatus","ActualWarrantyInMonths","VisitCharge","AdditionalWarrantyInMonths","CoverageDescription","ModelNo","OldModelNo","OldModelDescription","ModelStatus","objAdditionalWarrantyList","searchBrandTable","searchProductGroupTable","searchProductTable","searchDefectTable","searchProductvsDefectTable","searchProductvsDefectText","searchProductModelTable","searchWarrantyModelTable","searchWarrantyModelText","searchAlternatePartsTable","clearSearchFilters","AddBrandModelOpen","addmodel","CloseAddBrandModel","AddProductGroupModelOpen","productgroup","CloseAddProductgroupModel","AddProductModelOpen","addproduct","CloseAddProductModel","AddModelNoOpen","CloseAddModelNo","AddDefectModelOpen","adddefect","CloseAddDefectModel","MapDefectvsproductModelOpen","mapdefectproduct","CloseMapDefectvsproductModel","DefectMMFServiceSkill","DefectMMFInstallationSkill","AlternateModelOpen","alternateproduct","CloseAlternateproductModel","AlternateBrandName","AlternateProductName","AlternatePartName","AlternateModelno","AlternatePartsInstall","AlternateProductGroupName","UpdateAlternateModelOpen","alternatebrand","alternateproductgroupname","alternateproductname","alternatepartname","alternatemodelno","UpdateAlternatebrand","UpdateAlternateProductGroupName","UpadteAlternateProductName","UpdateAlternatePartName","UpdateAlternateModelNo","updatealternate","CloseUpdateAlternateModel","Alternatebrand","AlternateModelNo","UpdateBrandModelOpen","brandStatus","updatemodel","CloseUpdateBrandModel","AddWarrantyModelOpen","addWarranty","CloseAddWarrantyModel","PartData","WarrantyMonths","PartMaxQuantity","UpdateWarrantyModelOpen","productGroupName","productName","warrantyList","updateWarrantymodel","CloseUpdateWarrantyModel","UpdateProductGroupModelOpen","productgroupStatus","updateproductgroup","CloseUpdateProductgroupModel","UpdateProductModelOpen","productStatus","updateproduct","CloseUpdateProductModel","UpdateDefectModelOpen","defectName","defectStatus","updatedefect","CloseUpdateDefectModel","UpdateMapDefectvsproductModelOpen","brandProductId","productDefectList","callTypeList","mmfSkill","mmfInstallationSkill","defects","callTypes","updatemapdefectproduct","CloseUpdateMapDefectvsproductModel","UpdateModelNoOpen","modelNo","modelDescription","modelStatus","CloseUpdateModelNoModel","getDefectsHistory","openDefectModel","CloseDefectsHistoryModel","getAdditionalWarrantyHistory","AdditionWarrantyPartList","openWarratyModel","CloseAdditionalWarrantyHistoryModel","dtOptionsBrand","brandsLists","dtColumnsBrand","displayText","dtOptionsProductGroup","productGroupsList","dtColumnsProductGroup","strProductGroupName","dtOptionsProduct","productsList","dtColumnsProduct","FilteredWarrantyBrandName","FilteredWarrantyProductGroupName","FilteredWarrantyProductName","dtOptionsWarranty","dtColumnsWarranty","nActualWarrantyInMonths","nAdditionalWarrantyInMonths","strCoverageInAddition","strVisitCharge","dtOptionsModel","dtOptionsDefect","AllDefectsList","dtColumnsDefect","strDefect","FilteredBrandName","FilteredProductGroupName","FilteredProductName","dtOptionsProductvsDefect","dtColumnsProductvsDefect","Defects","strBrandProductId","strMMFSkillMappedInstallation","refreshWarrantyTable","AddBrand_form","UpdateBrand_form","strNewBrandName","AddProductGroup_form","UpdateProductGroup_form","strNewProductGroupName","AddProduct_form","UpdateProduct_form","strNewProductName","AddDefect_form","UpdateDefect_form","strNewDefect","AddProductDefect_form","strListDefectType","UpdateMapDefectvsproduct_form","AddWarranty_form","originalPartName","originalPartId","originalPartData","originalWarrantyMonths","originalSKUId","originalPartMaxQuantity","UpdateWarranty_form","AddModel_form","UpdateModel_form","AlternateModelList","Alternatepart_form","Product","ModelIds","AlternatePartIds","AllActiveProductModeelNoList","AllActiveBrandList","AllActiveProductGroupList","GetAllAlternateProductGroupMaster","AllActiveAlternateProductGroupList","GetAllActiveProductMasterForTopFilter","AllActiveProductList","GetAllActiveWarrantyForTopFilter","GetAllAlternateProductMaster","AllAlternateProductList","AllActiveDefectList","clearWarrantyFilter","FilteredPWarrantyProductName","GetAllAlternateVisibleMasterParts","alternatemasterList","closeEditRow","saveChanges","partError","FilterForRegional","dtColumnsSubRegionModel","Allsubregionformapping","regionavailable","BonusPaneltyService","getBlockedUser","UnBlockedSingleUser","uservendorid","BlockedUserService","BlokedUserList","getBlokedUser","unblockSingleUser","UnBlockedUserModal","CloseFilter","unblockeduser","UnBlocked","UnBlockedUser","Addtalent","billdetailsService","BGVerificationService","AutoScheduleSettingsService","timeSlotDay","broadcastCount","jobsBroadcast","addTimesDay","removeTime","ApprovalFlowBuilderService","bpmnUrl","userpdfreport","AllUsersListGCService","SMEInterctionVideo","getAllUsersByLocation","getAllUsersBySME","SMEValue","SMEInteractionCount","TotalUserCount","TotalUKUserCount","TotalIndainUserCount","RegistrationHistory","UserDetailsAvailable","UserCurrentData","userIdforRec","AlertURL","CreateInternalContactList","ListName","GetAllOnboardingUser","CreateAutoDailerTaskManually","DialerTaskModel","dialertaskModelOpen","CloseDialerTaskModel","DialerTaskName","DialerTaskDescription","TaskRelatedTo","TotalBlockedUsersCount","TaskRelatedToField","othercomments","TaskDescription","TaskForUser","Open360ForITUsers","savecampaignlistname","savelistcampaignRunModelOpen","CloseSaveCampaignlistname","campaignList_form","InternalUsersFormData","AllUserNewService","kycVideo","assignedJobs","rejected","leadAcceptance","averageCompletionSpeed","jobCompletionRate","jobRejectionRate","userClassNew_status","GetAllNewUploadId","CertVideoServices","video","GetVideoBlob","currentImageIndex","images","nextImage","prevImage","GetAllAccountsRechargeDetails","AccountsRechargeHistoryService","GetAllAccountsRecharge","AllTasksOpsService","TwoJobDoneForSkills","OverallClosedTask","OverallTotalTask","getAllTwoJobDone","TwoJobDoneCount","UpdateInvoiceDetails","GetWarehouseRequestedActiveOrders_CSV","ReturnOrderAction","RejectReturnPart","AllOrdersReceivedListService","UploadUpdateOrder","SearchTextforOrderId","PartImagebase64","PartImageServices","InvoiceUpdateDetails","invoicedetails","InvoiceDate","POdate","PODate","updateInvoiceModelOpen","CloseInvoiceDetails","updateinvoiceForm","CancelComment","resaonOfCancellation","OpenOrderReturnCancelConfirmation","returnOrderToBeUpdated","returnOrderId","CancelReturnOrderModel","closeOrderReturnModel","returnUpdateReason","OpenPartOrderReturnCancelConfirmation","partorderData","partreturnOrderToBeUpdated","partOrderId","partreturnOrderId","partidreturn","CancelPartReturnOrderModel","closePartOrderReturnModel","Return_Confirmation","ReturnOrderId","AllAssetsListService","isActiveRollbackCustome","GetAllRegisteredVendor","GetAllNotActiveVendorRegistrations","VendorTeamService","createLink","ActionLink","userroleshow","userroleshow1","userroleshow2","createImage_Name","vendorUser","Adhartitle","pancard","CVerficationStatus","vendorStatus","AuditDate","UserAciveDeactive","AddToolAuditwithAttachment","PostMediaFileWithTrainingObject","files1","AddCriminalVerificationwithAttachment","CriminalVerificationdata","getallInfraCities","InfraCityList","getallTrainersCities","TrainersCityList","CompanyRegisterration","CompanyGSTNO","MSME","MSMECertificateNO","TPI","Supplier","IsUserActive","AuditList","ExperienceAuditFiles","TrainingImageFiles","TrainingAttendanceFiles","TrainingDate","FloorList","InfraDetailsList","SpaceAvailable","FloorsAvailable","InfraLocation","TrainersDetailsList","SeatsCapacity","NoOfTrainers","TrainingLocation","TrainersSkills","IsInfraTable","TeamSizeList","CompanyRegistrationNumber","IsGSTCertified","GSTCertificateNumber","IsMSMECertified","MSMECertificateNumber","IsPartnerThirdPartyInternediary","IsPartnerIncludeAntiCorruptionClause","getInfraCity","getTrainersCity","AddInfraPartner","DeleteInfraPartner","temp2","AddTrainersPartner","currentValue","DeleteTrainersPartner","getGSTPicUrl","getMSMEPicUrl","editnew","getTrainersSkillSets","VendorForm","lastRecord","ToolsDetailListModel","ToolName","ToolImagePath","ToolImageBase64","VerificationDate","ItemSerialNumber","DateOfManufacturing","AuditPurpose","OpenExperienceAuditModal","experienceAuditModalInstance","ExperienceAuditCloseModal","attachExperienceAudit","ExperienceAuditFileName","ExperienceAuditMessage","ExperienceAuditSave","ExperienceAuditModel","OpenTrainingAuditModal","TrainingAuditModalInstance","TrainingAuditCloseModal","TrainingImageFileName","TrainingAttendanceFileName","attachTrainingImage","attachTrainingAttendance","TrainingAuditSave","modelDate","TrainingNo","TrainingName","TrainingExpireDate","TrainingAuditFileName","OpenCriminalAuditModal","CriminalAuditModalInstance","CriminalAuditCloseModal","attachCriminalAudit","CriminalAuditFileName","CriminalAuditFiles","CriminalAuditSave","verificationStatus","CriminalAuditModel","ActiveAllUserService","FreelancerRoleFilter","AuthDocList","authFile","trainingFile","workFile","ToolDocumentImg","ToolimageServices","showASCTList","addMoreAuthServiceCenterInTable","SiteRescheduleAuditWithoutIndex","isEdit","freelancerBalance","activationDate","UpdateTeamMember","DateOfJoin","UniqueKey","UniqueId","TokenId","DeviceOS","changeProfilePic","PictureError","activeUserList","LayoutService","recharge_amount","grace_period","freelancerAccess","vendorAccess","account_type","commissionInPercentage","mobiforceCommission","credit_limit","topUp_amount","skillBasedList","planType","accType","VendorAccess","CreditLimit","TopUpBalance","accountPlan","skillListSet","addSkills","removeSkills","skill_1","GetUsersByUserId","UpdateUserList","bActive","UpdateRechargeAccount","rechargedata","UpdateAccountConfiguration","GetAccountConfigInfo","GetAccountRechargeHistory","AccountService","Phone","ConfirmPassword","BaseAmount","FreelancerPercentage","FixedTeamPrice","updateBaseAmount","VerticalList","CreateAccount","openRecharge","openConfiguration","AccountModal","ModalInstanceCtrlAccount","updateAccountConfig","accountConfig_form","CloseAccountModal","Updateuser","fix_height","heightWithoutNavbar","navbarHeight","wrapperHeight","scroll","runBlock","debug","toState","fromState","run","routerConfig","$stateProvider","$urlRouterProvider","$httpProvider","dropzoneOpsProvider","$sceProvider","$compileProvider","aHrefSanitizationWhitelist","abstract","pageTitle","otherwise","interceptors","nonsslurl","rurl","rocketUrl","wsRocketUrl","constant","$templateCache"],"mappings":"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CnBogV,EAAepgV,IAAI,yCAAA;AACnBogV,EAAepgV,IAAI,2BAAA,IACnBogV,EAAepgV,IAAI,mDAA+C,66BAClEogV,EAAepgV,IAAI,yCAAA;AACnBogV,EAAepgV,IAAI,mDAA2C,o7FAC9DogV,EAAepgV,IAAI,qDAAA,8lQACnBogV,EAAepgV,IAAI,2CAAA,28kBACnBogV,EAAepgV,IAAI,yCAAuC;AAC1DogV,EAAepgV,IAAI,mCAAA,oiNACnBogV,EAAepgV,IAAI,mCAAA,w9FACnBogV,EAAepgV,IAAI,uBAAA,w3JACnBogV,EAAepgV,IAAI,iEAA2B;AAC9CogV,EAAepgV,IAAI,8CAA6B,6/WAChDogV,EAAepgV,IAAI,2DAAuB;AAC1CogV,EAAepgV,IAAI,mDAA6B;AAChDogV,EAAepgV,IAAI,uCAAA;AACnBogV,EAAepgV,IAAI,iDAA2C,s6WAC9DogV,EAAepgV,IAAI,qDAAkC,qlEACrDogV,EAAepgV,IAAI,6CAAoC;AACvDogV,EAAepgV,IAAI,iDAA+C,ktWAClEogV,EAAepgV,IAAI,uDAAyB,wuSAC5CogV,EAAepgV,IAAI,mDAAyC;AAC5DogV,EAAepgV,IAAI,4CAAqC,+rNACxDogV,EAAepgV,IAAI,yDAAqC;AACxDogV,EAAepgV,IAAI,iDAA+C,22VAClEogV,EAAepgV,IAAI,iEAAyC;AAC5DogV,EAAepgV,IAAI,qDAAA;AACnBogV,EAAepgV,IAAI,gDAAA;AACnBogV,EAAepgV,IAAI,uCAAA;AACnBogV,EAAepgV,IAAI,yCAAA;AACnBogV,EAAepgV,IAAI,6BAAA,4iIACnBogV,EAAepgV,IAAI,2CAAsC,o9CACzDogV,EAAepgV,IAAI,+CAAyC;AAC5DogV,EAAepgV,IAAI,2CAAwC,y0GAC3DogV,EAAepgV,IAAI,uCAAqC,m1IACxDogV,EAAepgV,IAAI,qCAAoC;AACvDogV,EAAepgV,IAAI,qCAAA,0ySACnBogV,EAAepgV,IAAI,uCAAA,2jNACnBogV,EAAepgV,IAAI,uCAAA;AACnBogV,EAAepgV,IAAI,iDAAgD,m2GACnEogV,EAAepgV,IAAI,gDAA4C,w4BAC/DogV,EAAepgV,IAAI,6CAAA,m8IACnBogV,EAAepgV,IAAI,yCAAA;AACnBogV,EAAepgV,IAAI,2CAAuC;AAC1DogV,EAAepgV,IAAI,uEAA2C,w0gBAC9DogV,EAAepgV,IAAI,yDAAyC;AAC5DogV,EAAepgV,IAAI,iDAAyC,sxiBAC5DogV,EAAepgV,IAAI,iDAAA,qoMACnBogV,EAAepgV,IAAI,+CAA+C,41HAClEogV,EAAepgV,IAAI,mDAAA;AACnBogV,EAAepgV,IAAI,4DAAA,23JACnBogV,EAAepgV,IAAI,6DAAyC;AAC5DogV,EAAepgV,IAAI,mCAAA,09HACnBogV,EAAepgV,IAAI,2CAA6B;AAChDogV,EAAepgV,IAAI,qCAAgC;AACnDogV,EAAepgV,IAAI,+BAAyB;AAC5CogV,EAAepgV,IAAI,mDAA4C;AAC/DogV,EAAepgV,IAAI,iCAAA,g3BACnBogV,EAAepgV,IAAI,iCAAA,soGACnBogV,EAAepgV,IAAI,qDAAqD;AACxEogV,EAAepgV,IAAI,sCAAA,0kIACnBogV,EAAepgV,IAAI,6CAA2C,0nEAC9DogV,EAAepgV,IAAI,6CAAA,gxEACnBogV,EAAepgV,IAAI,2CAAqC,g/CACxDogV,EAAepgV,IAAI,qDAAoC,sxHACvDogV,EAAepgV,IAAI,oCAAiC,qviBACpDogV,EAAepgV,IAAI,yCAAmC;AACtDogV,EAAepgV,IAAI,uCAAA,sqFACnBogV,EAAepgV,IAAI,qCAAA,mgDACnBogV,EAAepgV,IAAI,oCAAA,07FACnBogV,EAAepgV,IAAI,4CAAA,izGACnBogV,EAAepgV,IAAI,0CAAA,0zEACnBogV,EAAepgV,IAAI,+CAA2C,iyHAC9DogV,EAAepgV,IAAI,6CAA6B;AAChDogV,EAAepgV,IAAI,kCAAA,u0GACnBogV,EAAepgV,IAAI,mDAAoC,2lCACvDogV,EAAepgV,IAAI,iDAAkC;AACrDogV,EAAepgV,IAAI,2CAAmC,0/iBACtDogV,EAAepgV,IAAI,wCAAgC,6vQACnDogV,EAAepgV,IAAI,mDAA6B;AAChDogV,EAAepgV,IAAI,6CAAA,oreACnBogV,EAAepgV,IAAI,2DAA6C,24GAChEogV,EAAepgV,IAAI,2CAA6B,m2DAChDogV,EAAepgV,IAAI,+CAAA,upBACnBogV,EAAepgV,IAAI,mEAAwC;AAC3DogV,EAAepgV,IAAI,uDAA2C;AAC9DogV,EAAepgV,IAAI,2CAAyC,oqBAC5DogV,EAAepgV,IAAI,mDAAiD;AACpEogV,EAAepgV,IAAI,2CAAA,qiFACnBogV,EAAepgV,IAAI,uCAAA,wmyBACnBogV,EAAepgV,IAAI,uDAA+C;AAClEogV,EAAepgV,IAAI,yCAAuC;AAC1DogV,EAAepgV,IAAI,qCAAqC;AACxDogV,EAAepgV,IAAI,0CAAA;AACnBogV,EAAepgV,IAAI,iCAAA;AACnBogV,EAAepgV,IAAI,sCAAA;AACnBogV,EAAepgV,IAAI,uCAAA;AACnBogV,EAAepgV,IAAI,+CAAoC;AACvDogV,EAAepgV,IAAI,uCAAA;AACnBogV,EAAepgV,IAAI,iEAAyC,ivLAC5DogV,EAAepgV,IAAI,yCAAoC,2xfACvDogV,EAAepgV,IAAI,mCAAA;AACnBogV,EAAepgV,IAAI,0CAAA,skgBACnBogV,EAAepgV,IAAI,4CAAA;AACnBogV,EAAepgV,IAAI,0CAAqC;AACxDogV,EAAepgV,IAAI,+CAAA,kvZACnBogV,EAAepgV,IAAI,uDAAqD;AACxEogV,EAAepgV,IAAI,mDAAqB,kzOACxCogV,EAAepgV,IAAI,oCAAoB,49EACvCogV,EAAepgV,IAAI,2CAAiC,uzNACpDogV,EAAepgV,IAAI,yCAA6B,grFAChDogV,EAAepgV,IAAI,2CAA6B;AAChDogV,EAAepgV,IAAI,2CAA2C;AAC9DogV,EAAepgV,IAAI,gDAA0C;AAC7DogV,EAAepgV,IAAI,uCAAA;AACnBogV,EAAepgV,IAAI,6CAAA;AACnBogV,EAAepgV,IAAI,iDAAA;AACnBogV,EAAepgV,IAAI,2BAAA;AACnBogV,EAAepgV,IAAI,qDAAiC,0zZACpDogV,EAAepgV,IAAI,6CAA2B,4gZAC9CogV,EAAepgV,IAAI,mEAA+B,qkDAClDogV,EAAepgV,IAAI,qEAA6C;AAChEogV,EAAepgV,IAAI,+DAA2C,4tHAC9DogV,EAAepgV,IAAI,2DAAwC,2sQAC3DogV,EAAepgV,IAAI,mCAAA;AACnBogV,EAAepgV,IAAI,2CAAqB,g8FACxCogV,EAAepgV,IAAI,qCAAmC,+0SACtDogV,EAAepgV,IAAI,uBAAA,stWACnBogV,EAAepgV,IAAI,qCAAA,w3JACnBogV,EAAepgV,IAAI,+CAAA;AACnBogV,EAAepgV,IAAI,qDAAA;AACnBogV,EAAepgV,IAAI,iCAAA,+6RACnBogV,EAAepgV,IAAI,wCAAqC;AACxDogV,EAAepgV,IAAI,+CAAoC;AACvDogV,EAAepgV,IAAI,uCAAA;AACnBogV,EAAepgV,IAAI,qEAAoC,mmkBACvDogV,EAAepgV,IAAI,uDAAwC,0pMAC3DogV,EAAepgV,IAAI,6CAA4C;AAC/DogV,EAAepgV,IAAI,yCAAA;AACnBogV,EAAepgV,IAAI,+CAA4C;AAC/DogV,EAAepgV,IAAI,uDAAuC,szIAmD1DogV,EAAepgV,IAAI,iDAAiD,47LACpEogV,EAAepgV,IAAI,qDAAqD;AACxEogV,EAAepgV,IAAI,2CAA2C,67hBAC9DogV,EAAepgV,IAAI,iCAAiC;AACpDogV,EAAepgV,IAAI,+BAA+B,q5IAClDogV,EAAepgV,IAAI,yCAAyC,m6bAC5DogV,EAAepgV,IAAI,iEAAiE;AACpFogV,EAAepgV,IAAI,uCAAuC,yx9BAC1DogV,EAAepgV,IAAI,6CAA6C;AAChEogV,EAAepgV,IAAI,yCAAyC,s3pBAC5DogV,EAAepgV,IAAI,iDAAiD,8hOACpEogV,EAAepgV,IAAI,6CAA6C;AAChEogV,EAAepgV,IAAI,yCAAyC,wu1BAC5DogV,EAAepgV,IAAI,mDAAmD;AACtEogV,EAAepgV,IAAI,qCAAqC,mkBACxDogV,EAAepgV,IAAI,4CAA4C,q6gBAC/DogV,EAAepgV,IAAI,+CAA+C;AAClEogV,EAAepgV,IAAI,iDAAiD,k6YACpEogV,EAAepgV,IAAI,qFAAqF;AACxGogV,EAAepgV,IAAI,mDAAmD;AACtEogV,EAAepgV,IAAI,+DAA+D;AAClFogV,EAAepgV,IAAI,uEAAuE;AAC1FogV,EAAepgV,IAAI,6EAA6E;AAChGogV,EAAepgV,IAAI,+CAA+C,0xcAClEogV,EAAepgV,IAAI,iEAAiE;AACpFogV,EAAepgV,IAAI,2CAA2C,2t7BAC9DogV,EAAepgV,IAAI,uDAAuD;AAC1EogV,EAAepgV,IAAI,6DAA6D;AAChFogV,EAAepgV,IAAI,uCAAuC,usdAC1DogV,EAAepgV,IAAI,2CAA2C,guYAC9DogV,EAAepgV,IAAI,0CAA0C;AAC7DogV,EAAepgV,IAAI,yDAAyD,++bAC5EogV,EAAepgV,IAAI,2BAA2B,o8BAC9CogV,EAAepgV,IAAI,6BAA6B,qnIAChDogV,EAAepgV,IAAI,uBAAuB;AAC1CogV,EAAepgV,IAAI,6BAA6B,6viBAChDogV,EAAepgV,IAAI,mDAAmD,08FACtEogV,EAAepgV,IAAI,2CAA2C,IAC9DogV,EAAepgV,IAAI,kCAAkC;AACrDogV,EAAepgV,IAAI,oCAAoC,gsiBACvDogV,EAAepgV,IAAI,+CAA+C;AAClEogV,EAAepgV,IAAI,yBAAyB;AAC5CogV,EAAepgV,IAAI,yCAAyC,+laAC5DogV,EAAepgV,IAAI,qCAAqC;AACxDogV,EAAepgV,IAAI,qCAAqC,82GACxDogV,EAAepgV,IAAI,+CAA+C;AAClEogV,EAAepgV,IAAI,yCAAyC,i5UAC5DogV,EAAepgV,IAAI,+DAA+D,4qhBAClFogV,EAAepgV,IAAI,0DAA0D;AAC7EogV,EAAepgV,IAAI,+CAA+C;AAClEogV,EAAepgV,IAAI,qDAAqD,66wBACxEogV,EAAepgV,IAAI,uCAAuC;AAC1DogV,EAAepgV,IAAI,sCAAsC,swjBACzDogV,EAAepgV,IAAI,yCAAyC;AAC5DogV,EAAepgV,IAAI,wCAAwC,234BAC3DogV,EAAepgV,IAAI,qCAAqC;AACxDogV,EAAepgV,IAAI,oCAAoC,g3OACvDogV,EAAepgV,IAAI,yCAAyC;AAC5DogV,EAAepgV,IAAI,6DAA6D,y2NAChFogV,EAAepgV,IAAI,6CAA6C,+jiBAChEogV,EAAepgV,IAAI,gDAAgD;AACnEogV,EAAepgV,IAAI,4CAA4C,swjBAC/DogV,EAAepgV,IAAI,+CAA+C;AAClEogV,EAAepgV,IAAI,2CAA2C,0hoBAC9DogV,EAAepgV,IAAI,uCAAuC;AAC1DogV,EAAepgV,IAAI,2CAA2C,gxKAC9DogV,EAAepgV,IAAI,yCAAyC;AAC5DogV,EAAepgV,IAAI,yCAAyC,k7KAC5DogV,EAAepgV,IAAI,uDAAuD,23XAC1EogV,EAAepgV,IAAI,+CAA+C;AAClEogV,EAAepgV,IAAI,2DAA2D;AAC9EogV,EAAepgV,IAAI,mEAAmE;AACtFogV,EAAepgV,IAAI,yCAAyC,0xTAC5DogV,EAAepgV,IAAI,2CAA2C,ysSAC9DogV,EAAepgV,IAAI,6BAA6B;AAChDogV,EAAepgV,IAAI,gCAAgC,y2xBACnDogV,EAAepgV,IAAI,yBAAyB;AAC5CogV,EAAepgV,IAAI,4CAA4C;AAC/DogV,EAAepgV,IAAI,iDAAiD;AACpEogV,EAAepgV,IAAI,qCAAqC;AACxDogV,EAAepgV,IAAI,qDAAqD,6ywBACxEogV,EAAepgV,IAAI,0CAA0C;AAC7DogV,EAAepgV,IAAI,2CAA2C;AAC9DogV,EAAepgV,IAAI,iDAAiD;AACpEogV,EAAepgV,IAAI,qCAAqC,0p4BACxDogV,EAAepgV,IAAI,oCAAoC;AACvDogV,EAAepgV,IAAI,iCAAiC;AACpDogV,EAAepgV,IAAI,mCAAmC;AACtDogV,EAAepgV,IAAI,2CAA2C;AAC9DogV,EAAepgV,IAAI,+CAA+C;AAClEogV,EAAepgV,IAAI,uCAAuC,89JAC1DogV,EAAepgV,IAAI,iDAAiD,6okBACpEogV,EAAepgV,IAAI,6CAA6C;AAChEogV,EAAepgV,IAAI,2CAA2C,4xFAC9DogV,EAAepgV,IAAI,6BAA6B,wsFAChDogV,EAAepgV,IAAI,qCAAqC,8uFACxDogV,EAAepgV,IAAI,oCAAoC,o0FACvDogV,EAAepgV,IAAI,kCAAkC,ksQACrDogV,EAAepgV,IAAI,mCAAmC,8yGACtDogV,EAAepgV,IAAI,gCAAgC;AACnDogV,EAAepgV,IAAI,6BAA6B,2uOAChDogV,EAAepgV,IAAI,iDAAiD,i8EACpEogV,EAAepgV,IAAI,6CAA6C,usbAChEogV,EAAepgV,IAAI,6BAA6B;AAChDogV,EAAepgV,IAAI,qDAAqD,+4eACxEogV,EAAepgV,IAAI,wCAAwC;AAC3DogV,EAAepgV,IAAI,2CAA2C;AAC9DogV,EAAepgV,IAAI,yCAAyC,6kdAC5DogV,EAAepgV,IAAI,iDAAiD;AACpEogV,EAAepgV,IAAI,6CAA6C,wjMAChEogV,EAAepgV,IAAI,qDAAqD;AACxEogV,EAAepgV,IAAI,+CAA+C,oonBAClEogV,EAAepgV,IAAI,uCAAuC;AAC1DogV,EAAepgV,IAAI,qCAAqC;AACxDogV,EAAepgV,IAAI,6DAA6D,ytdAChFogV,EAAepgV,IAAI,iEAAiE;AACpFogV,EAAepgV,IAAI,2CAA2C,0vGAC9DogV,EAAepgV,IAAI,uDAAuD,8vGAC1EogV,EAAepgV,IAAI,oCAAoC,+mJACvDogV,EAAepgV,IAAI,2DAA2D,wqGAC9EogV,EAAepgV,IAAI,yCAAyC,+zMAC5DogV,EAAepgV,IAAI,oCAAoC,0lNACvDogV,EAAepgV,IAAI,qDAAqD;AACxEogV,EAAepgV,IAAI,+DAA+D,4kHAClFogV,EAAepgV,IAAI,2DAA2D,owGAC9EogV,EAAepgV,IAAI,qCAAqC,+mJACxDogV,EAAepgV,IAAI,iDAAiD,8+GACpEogV,EAAepgV,IAAI,qDAAqD,opGACxEogV,EAAepgV,IAAI,qBAAqB,whGACxCogV,EAAepgV,IAAI,oBAAoB,y1FACvCogV,EAAepgV,IAAI,iCAAiC,uzFACpDogV,EAAepgV,IAAI,6BAA6B,mvFAChDogV,EAAepgV,IAAI,6BAA6B;AAChDogV,EAAepgV,IAAI,2CAA2C,+7JAC9DogV,EAAepgV,IAAI,0CAA0C,ihBAC7DogV,EAAepgV,IAAI,6CAA6C,s4BAChEogV,EAAepgV,IAAI,mDAAmD;AACtEogV,EAAepgV,IAAI,qDAAqD;AACxEogV,EAAepgV,IAAI,yDAAyD,soGAC5EogV,EAAepgV,IAAI,iCAAiC,i7ZACpDogV,EAAepgV,IAAI,2BAA2B;AAC9CogV,EAAepgV,IAAI,+BAA+B;AAClDogV,EAAepgV,IAAI,6CAA6C,wwvBAChEogV,EAAepgV,IAAI,2CAA2C;AAC9DogV,EAAepgV,IAAI,wCAAwC,6wEAC3DogV,EAAepgV,IAAI,oCAAoC,qtUACvDogV,EAAepgV,IAAI,qBAAqB,2QACxCogV,EAAepgV,IAAI,mCAAmC;AACtDogV,EAAepgV,IAAI,4BAA4B,myQAC/CogV,EAAepgV,IAAI,uCAAuC,kyPAC1DogV,EAAepgV,IAAI,0DAA0D,k+RAC7EogV,EAAepgV,IAAI,gEAAgE,gnIACnFogV,EAAepgV,IAAI,wCAAwC;AAC3DogV,EAAepgV,IAAI,qCAAqC,qdACxDogV,EAAepgV,IAAI,oCAAoC,sRACvDogV,EAAepgV,IAAI,wCAAwC,sVAC3DogV,EAAepgV,IAAI,oCAAoC,o/XACvDogV,EAAepgV,IAAI,wCAAwC,y8dAC3DogV,EAAepgV,IAAI,4CAA4C,8MAC/DogV,EAAepgV,IAAI,2CAA2C;AAC9DogV,EAAepgV,IAAI,4CAA4C,u1aAC/DogV,EAAepgV,IAAI,uCAAuC","file":"scripts/app-3f7489af7c.js","sourcesContent":["(function() {\r\n 'use strict';\r\n\r\n angular\r\n // .module('inspinia', ['ngAnimate', 'ngCookies', 'ngTouch', 'ngSanitize', 'ngMessages', 'ngAria', 'ngResource', 'ui.router', 'ui.bootstrap','toaster','ngTagsInput','ngStorage','ui.sortable','datatables','angularUtils.directives.dirPagination','localytics.directives', 'thatisuday.dropzone','angular-advanced-searchbox', 'ngProgress', 'ui.blueimp.gallery','datePicker','slick','angular-peity', 'ui.calendar', 'highcharts-ng','ngBootstrap', 'angular-hmac-sha512']);\r\n .module('inspinia', ['frapontillo.bootstrap-duallistbox', 'ui.select','ngAnimate', 'vcRecaptcha', 'ngCookies', 'ngTouch', 'ngSanitize', 'ngMessages', 'ngAria', 'ngResource', 'ui.router','ui.bootstrap','toaster','ngTagsInput','ngStorage','ui.sortable','datatables','datatables.scroller', 'datatables.bootstrap', 'datatables.buttons','datatables.scroller','angularUtils.directives.dirPagination','localytics.directives', 'thatisuday.dropzone','angular-advanced-searchbox', 'ngProgress', 'ui.blueimp.gallery','datePicker','slick','angular-peity', 'ui.calendar','ui.bootstrap.tpls', 'ui.bootstrap.datetimepicker', 'ngMap', 'highcharts-ng','ngBootstrap', \"angucomplete-alt\", 'angular-bind-html-compile','rzSlider','angular-uuid', 'ngWebSocket', 'angular-web-notification','ui.multiselect','infinite-scroll','angularjs.chips','dndLists','ngMaterial']);\r\n})();\r\n\nangular.module('inspinia').factory('httpInterceptor', function ($q, $rootScope,$window,$location, $log, CMSURL, CMSToken) {\r\n var numLoadings = 0;\r\n var disableLoaderForUrls = [CMSURL+'/suggestions/get/'+CMSToken];\r\n\r\n return {\r\n request: function (config) {\r\n\r\n numLoadings++;\r\n var enableLoader = true;\r\n angular.forEach(disableLoaderForUrls, function(i){\r\n if(config.url.startsWith(i)){\r\n enableLoader=false;\r\n }\r\n });\r\n if(enableLoader){\r\n // Show loader\r\n $rootScope.$broadcast(\"loader_show\");\r\n }\r\n return config || $q.when(config)\r\n\r\n },\r\n response: function (response) {\r\n if (response.status == 401) {\r\n $window.location.href = \"/Login\";\r\n }\r\n if ((--numLoadings) === 0) {\r\n \r\n // Hide loader\r\n $rootScope.$broadcast(\"loader_hide\");\r\n $rootScope.$broadcast(\"loader_gif_hide\");\r\n }\r\n\r\n return response || $q.when(response);\r\n\r\n },\r\n responseError: function (response) {\r\n \r\n\r\n if (!(--numLoadings)) {\r\n // Hide loader\r\n $rootScope.$broadcast(\"loader_hide\");\r\n $rootScope.$broadcast(\"loader_gif_hide\");\r\n }\r\n \r\n if (response.status == 401) {\r\n {if($location.path()!=\"/Login\"){\r\n $window.location.href = \"\";\r\n } \r\n }\r\n }\r\n\r\n return $q.reject(response);\r\n }\r\n };\r\n})\nangular.module('inspinia').service('skillCreationService', function (ApiURL, FreelancerURL,LocationURL,PublicApiURL, $log, $http,$localStorage) {\r\n\r\n// https://product.mymobiforce.com/coreapi/api/SkillSets?reqUserId=U1140000000001\r\nthis.getSkillsList = function (reqUserId,token) { \r\n url = ApiURL + '/api/SkillSets?'+ '&reqUserId=' + reqUserId;\r\n return $http.get(url, {\r\n headers: { \r\n 'Content-Type': 'application/json',\r\n 'Token':token , \r\n 'UserId':reqUserId\r\n \r\n }\r\n });\r\n}\r\n\r\n//https://product.mymobiforce.com/coreapi/api/ProductBrandModel/UpdateWhiteGoodsIntegrationConfig\r\nthis.updateSkill = function (loginUserId, data, token) { \r\n url = ApiURL + '/api/SkillSets/UpdateSkillForSupport?'+ '&reqUserId=' + loginUserId;\r\n return $http.put(url,data,{\r\n headers:{'Content-Type':'application/json','Token':token, 'UserId':loginUserId}\r\n });\r\n}\r\n\r\n// https://login.mymobiforce.com/coreapi/api/SkillSets/DeleteMultipleSkill?reqUserId=F00000000000\r\n// this.deleteSkill = function (loginUserId, data, token) { debugger\r\n// var url = ApiURL + '/api/SkillSets/DeleteMultipleSkill?'+ 'reqUserId=' + loginUserId;\r\n// return $http.delete(url,data,{\r\n// headers:{'Content-Type':'application/json','Token':token, 'UserId':loginUserId}\r\n// });\r\n// }\r\n\r\n// this.deleteSkill = function(loginUserId, data, token){\r\n// return $http({\r\n// method: 'DELETE',\r\n// url: ApiURL + '/api/SkillSets/DeleteMultipleSkill?'+ 'reqUserId=' + loginUserId,\r\n// data,\r\n// headers: {\r\n// 'Content-type': 'application/json', 'token':token, 'UserId':loginUserId\r\n// }\r\n// })\r\n// }\r\n\r\n//https://perf.mymobiforce.com/coreapi/api/SkillSetsMultiple?reqUserId=U1620000000001\r\nthis.createNewSkill = function (data, token, loggedInUserId) { \r\n var url = ApiURL + '/api/SkillSetsMultiple?'+ '&reqUserId=' + loggedInUserId;\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n })\r\n}\r\n});\r\n\nangular.module('inspinia').controller('skillCreationController', function (skillCreationService,ReferService, toaster, $filter,$rootScope, PublicApiURL, $window, $log, $q, $compile, DTOptionsBuilder,DTColumnDefBuilder, DTColumnBuilder, $uibModal, $localStorage, ticketTemplateService, $scope, $state, FreelancerURL, ApiURL, $timeout) {\r\n\tvm = this;\r\n\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\t\r\n vm.LineItemAccountId = $localStorage.accountConfig.AccountId\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n var token = $localStorage.token;\r\n vm.ListOfLineItem=[];\r\n vm.ListofGoods=[]; \r\n vm.SearchByGroupId = '';\r\n vm.BrandName ='';\r\n vm.ModelNumber ='';\r\n vm.SelectedPriceGroup = '';\r\n vm.ProjectId ='';\r\n vm.SkillName ='';\r\n vm.AccountId = '';\r\n vm.addBrandName ='';\r\n vm.addModelNumber ='';\r\n vm.addSelectedPriceGroup = '';\r\n vm.addProjectId ='';\r\n vm.addSkillName ='';\r\n vm.addAccountId = '';\r\n vm.addGroupId = '';\r\n vm.edit=false;\r\n vm.SearchByPriceGroupId = '';\r\n vm.SearchByNoPriceGroupId = '';\r\n\r\n vm.SkillId=''; \r\n vm.SkillName=''; \r\n vm.Category=''; \r\n vm.DisplayName='';\r\n vm.TestLink='';\r\n vm.Vertical='';\r\n vm.SkillVertical='';\r\n\r\n\r\nvm.TabClickEvent= function()\r\n{\r\n vm.getSkillsList(loggedinUser,token);\r\n}\r\n\r\nvm.applySearch = function(){ \r\n vm.getSkillsList(loggedinUser,token);\r\n}\r\n\r\nvm.clearSearchText = function(){ \r\n vm.SearchByPriceGroupId = '';\r\n vm.getSkillsList(loggedinUser,token); \r\n}\r\n\r\n vm.getSkillsList = function (loggedinUser,token) {\r\n skillCreationService.getSkillsList(loggedinUser,token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.ListofGoods = resp.data;\t\r\n } \r\n \r\n }, function () {\r\n \r\n });\r\n }\r\n \r\n vm.getSkillsList(loggedinUser,token);\r\n\r\n vm.updateSkill = function (index) { \r\n var data = [ \r\n {\r\n \"SkillId\": vm.ListofGoods[index].SkillId,\r\n \"SkillName\": vm.ListofGoods[index].SkillName,\r\n \"Category\": vm.ListofGoods[index].Category,\r\n \"DisplayName\": vm.ListofGoods[index].DisplayName,\r\n \"Vertical\": vm.ListofGoods[index].Vertical,\r\n \"TestLink\": vm.ListofGoods[index].TestLink,\r\n \"SkillVertical\": vm.ListofGoods[index].SkillVertical,\r\n \"Certificates\": [\"\"]\r\n } \r\n ] \r\n skillCreationService.updateSkill(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 202 ) {\r\n \r\n $timeout(function () {\r\n\r\n vm.showSuccess(\"Success\", \"Updated successfully\"); \r\n vm.getSkillsList(loggedinUser,token);\r\n \r\n }, 1000);\r\n }\r\n if (resp.status == 206) { \r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }\r\n }, function () { \r\n });\r\n }\r\n\r\n vm.openDeleteModel = function (currentSkill) { debugger\r\n vm.currentSkill = currentSkill;\r\n openDeleteModel = $uibModal.open({\r\n templateUrl: 'openDeleteModel.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope,\r\n });\r\n }\r\n \r\n vm.CloseDeleteModel = function () {\r\n openDeleteModel.close();\r\n }\r\n vm.deleteSkill = function () {\r\n vm.delId = [];\r\n vm.data = vm.currentSkill.SkillId;\r\n vm.delId.push(vm.data);\r\n \r\n skillCreationService.deleteSkill(loggedinUser, vm.delId, token).then(function (resp) {\r\n if(resp) {\r\n vm.showSuccess(\"Success\", \"Updated successfully\");\r\n $timeout(function () {\r\n vm.CloseDeleteModel();\r\n vm.getSkillsList(loggedinUser,token);\r\n }, 1000);\r\n\r\n }\r\n }, function () { \r\n });\r\n }\r\n\r\n vm.openSkillModel = function (currentJOb) {\r\n vm.CurrentJob = currentJOb;\r\n openSkillModel = $uibModal.open({\r\n templateUrl: 'openSkillModel.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope,\r\n });\r\n }\r\n \r\n vm.CloseopenSkillModel = function () {\r\n vm.SkillId=''; \r\n vm.SkillName=''; \r\n vm.Category=''; \r\n vm.DisplayName='';\r\n vm.TestLink='';\r\n vm.Vertical='';\r\n vm.SkillVertical='';\r\n openSkillModel.close();\r\n }\r\n \r\n vm.AddSkill = function () {\r\n var data = [{\r\n \"SkillId\": vm.SkillId,\r\n \"SkillName\": vm.SkillName,\r\n \"Category\": vm.Category,\r\n \"DisplayName\": vm.DisplayName,\r\n \"TestLink\": vm.TestLink,\r\n \"Certificates\": null,\r\n \"Vertical\": vm.Vertical,\r\n \"SkillVertical\": vm.SkillVertical\r\n }];\r\n skillCreationService.createNewSkill(data, token, loggedinUser).then(function (resp) { \r\n if (resp.status == 201 ) {\r\n vm.showSuccess(\"Success\", \"Added successfully\"); \r\n $timeout(function () { \r\n vm.CloseopenSkillModel(); \r\n vm.getSkillsList(loggedinUser,token);\r\n }, 1000);\r\n }\r\n if (resp.status == 206) { \r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }\r\n }, function () { \r\n });\r\n \r\n }\r\n vm.dtOptions = DTOptionsBuilder.newOptions().withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withButtons([{extend:'colvis'},{extend:'csv'}])\r\n \r\n \r\n .withPaginationType('full_numbers')\r\n .withOption('lengthChange', true)\r\n .withOption('paging', true)\r\n .withOption('bInfo',true)\r\n .withOption('order', [0, 'desc']);\r\n \r\n\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable()\r\n ];\r\n }\r\n\r\n})\nangular.module('inspinia').service('ProjectService', function (ApiURL, $log, $http, $localStorage) {\r\n\r\n var vm = this;\r\n\r\n vm.setShowSuccess = function (success) {\r\n vm.showSuccess = success;\r\n }\r\n\r\n vm.setShowFailure = function (failure) {\r\n vm.showFailure = failure;\r\n }\r\n\r\n //http://115.124.122.225:93/CoreAPI/api/Project/srachit46%40gmail.com/srachit46%40gmail.com/GetProjectsByUserId\r\n\r\n this.GetAllProjects1 = function (loggedinUser, callback, token) {\r\n var url = ApiURL + '/api/Project/' + loggedinUser + '/' + loggedinUser + '/GetProjectsByUserId'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json','Token':token, 'UserId':loggedinUser }\r\n }).then(function (res) {\r\n callback(res.data);\r\n }, function () {\r\n vm.showFailure(\"Projects\", \"Unable to get projects\");\r\n });\r\n }\r\n\r\n this.GetAllProjects = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/Project/' + loggedinUser + '/' + loggedinUser + '/GetProjectsByUserId'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json','Token':token, 'UserId':loggedinUser }\r\n })\r\n }\r\n\r\n\r\n //http://115.124.122.225:93/CoreAPI/api/Project/srachit46%40gmail.com/tata_Test%20Project/GetProjectById\r\n\r\n this.GetProjectByProjectId = function (projectId, loggedinUser, token, callback) {\r\n var url = ApiURL + '/api/Project/' + loggedinUser + '/' + projectId + '/GetProjectById'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json' ,'Token':token, 'UserId':loggedinUser}\r\n }).then(function (resp) {\r\n callback(resp.data);\r\n }, function (error) {\r\n vm.showFailure(\"Failed\", 'Could not be able to get project, id =' + projectId);\r\n });\r\n }\r\n\r\n\r\n\r\n this.ProjectsList = function () {\r\n var url = ApiURL;\r\n return $http.get(url);\r\n }\r\n //http://115.124.122.225:93/CoreAPI/api/ProjectLocation/sachin.rana%40innotiontech.com/tata_Drive%20Test/Tamilnadu/GetProjectLocation\r\n this.GetProjectLocations = function (loggedinUser, projectId, circle, token) {\r\n var url = ApiURL + '/api/ProjectLocation/' + loggedinUser + '/' + projectId + '/' + circle + '/GetProjectLocation'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json','Token':token, 'UserId':loggedinUser }\r\n });\r\n }\r\n\r\n});\r\n\nangular.module('inspinia').controller('ProjectController', function (ProjectService, $rootScope, ProjectCreationService, customerService, $stateParams, $uibModal, $scope, $log, $state, $localStorage, DTOptionsBuilder, DTColumnDefBuilder) {\r\n var vm = this;\r\n if (!$localStorage.loggedInUserId) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n } else {\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n vm.searchText = \"\"\r\n var circleArray = [];\r\n var ProjectModal = {};\r\n vm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n $rootScope.rootScopeMessage = '';\r\n var projectIndex = 0;\r\n //vm.projectId = '';\r\n vm.projects = [];\r\n vm.client = 1;\r\n vm.projectId = '';\r\n vm.project_name = '';\r\n vm.customerId = '';\r\n vm.circle = '';\r\n vm.start_date = '';\r\n vm.end_date = '';\r\n vm.sla = '';\r\n vm.projectModel = '';\r\n vm.pocLocation = '';\r\n vm.SupervisorName = '';\r\n vm.pocNumber = '';\r\n vm.pocName = '';\r\n vm.projectLocations = '';\r\n vm.projectName = '';\r\n vm.filters = {};\r\n vm.filterOptions = {};\r\n vm.selectedFilters = {};\r\n vm.dtInstance = {};\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n ProjectService.setShowSuccess($scope.$parent.$parent.main.showSuccess);\r\n ProjectService.setShowFailure($scope.$parent.$parent.main.showFailure);\r\n $scope.$parent.$parent.main.implementSelectItems('projects', this);\r\n\r\n vm.exportData = function () {\r\n var blob = new Blob([document.getElementById('project-table').innerHTML], {\r\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\r\n });\r\n saveAs(blob, \"Report.xls\");\r\n };\r\n\r\n vm.preProcessData = function(project){\r\n var skills = \"\";\r\n angular.forEach(project.ProjectLocationModels, function(l){\r\n skills += l.Circle + \",\";\r\n }); \r\n project.allLocations = skills.length>0?skills.substring(0, skills.length-1):\"\";\r\n }\r\n\r\n ///Get all Project for Logged in Users\r\n vm.GetAllProjects = function () {\r\n vm.projects = [];\r\n ProjectService.GetAllProjects1(loggedinUser, vm.createCallback(vm.projects, [function () {\r\n vm.list_width = vm.projects.length == 0 ? 12 : 8;\r\n vm.projectModel = vm.projects[0];\r\n angular.forEach(vm.projects, function(p){\r\n vm.preProcessData(p);\r\n });\r\n }]), token);\r\n }\r\n\r\n vm.GetProjectInfo = function (projectId) {\r\n ProjectService.GetProjectByProjectId(projectId, loggedinUser, token, vm.createCallback(null, [function (data) {\r\n vm.projectModel = data;\r\n if (data) {\r\n vm.list_width = 8;\r\n }\r\n }]));\r\n }\r\n\r\n vm.openProjectModal = function () {\r\n ProjectModal = $uibModal.open({\r\n templateUrl: 'approve_model.html',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.CloseModal = function () {\r\n ProjectModal.close();\r\n }\r\n\r\n vm.ProjectView = function () {\r\n $state.go('index.ProjectProfile', {\r\n\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.editProject = function (projectId) {\r\n $state.go('index.ProjectEdit', {\r\n projectId: projectId\r\n });\r\n }\r\n\r\n\r\n vm.ViewProject = function (pocLocation, projectId, projectName) {\r\n $state.go('index.Project_Details', {\r\n pocLocation: pocLocation,\r\n projectId: projectId,\r\n projectName: projectName\r\n // SupervisorName:SupervisorName,\r\n // pocNumber:pocNumber,\r\n // pocName:pocName\r\n },\r\n {\r\n reload: true,\r\n inherit: false,\r\n notify: true\r\n\r\n });\r\n }\r\n\r\n vm.getAllCustomer = function (loggedinUser) {\r\n customerService.getAllCustomers(loggedinUser, token).then(function (resp) {\r\n vm.customers = resp.data;\r\n });\r\n }\r\n\r\n vm.filtermodal = function () {\r\n ProjectModal = $uibModal.open({\r\n templateUrl: 'Filter.html',\r\n backdrop: 'static',\r\n\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.CloseModal = function () {\r\n ProjectModal.close();\r\n }\r\n\r\n vm.getAllCircles = function () {\r\n vm.circleArray=[];\r\n vm.circles=[];\r\n ProjectCreationService.GetAllCircles1(vm.createCallback(vm.circles, [function (data) {\r\n angular.forEach(data, function (d) {\r\n vm.circleArray.push({\r\n workArea: d.circle\r\n });\r\n })\r\n //$log.log(vm.circleArray, vm.circles);\r\n }]));\r\n }\r\n\r\n vm.search = function () {\r\n \r\n if (Object.keys(vm.filters).length > 0) {\r\n vm.filterOptions = {};\r\n angular.extend(vm.filterOptions, vm.filters);\r\n if(vm.filters.workArea){\r\n vm.filterOptions.ProjectLocationModels = {};\r\n vm.filterOptions.ProjectLocationModels.Circle = vm.filters.workArea[0];\r\n }\r\n } else {\r\n vm.filterOptions = {};\r\n }\r\n //$log.log(vm.filterOptions);\r\n ProjectModal.close();\r\n }\r\n\r\n vm.GetAllProjects();\r\n // vm.getAllCircles();\r\n vm.getAllCustomer(loggedinUser);\r\n\r\n vm.searchTable = function () {\r\n vm.dtInstance.DataTable.search(vm.searchText);\r\n vm.dtInstance.DataTable.search(vm.searchText).draw();\r\n };\r\n\r\n vm.dtOptions = DTOptionsBuilder.newOptions().withDOM(\r\n '<\"html5buttons\"B>lTfgitp').withPaginationType(\r\n 'full_numbers')\r\n .withButtons([])\r\n .withOption('lengthChange', false)\r\n .withOption('initComplete', function () {\r\n $('.dataTables_filter input').unbind();\r\n })\r\n .withOption('order', [1, 'desc']);\r\n\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n //DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(5).notSortable()];\r\n }\r\n\r\n vm.PieChart5 = {\r\n data: [226, 134],\r\n options: {\r\n fill: [\"#1ab394\", \"#d7d7d7\"]\r\n }\r\n};\r\n\r\n});\nangular.module('inspinia').value('THROTTLE_MILLISECONDS', 10).factory('infiniteScrollFactory', function ($http,MainService,$localStorage,$timeout) {\r\n var vm = this; \r\n vm.onMessagehandler = null; \r\n vm.rUnReadRooms = new Map(); \r\n\r\n vm.showchatwindow = function (show) { \r\n vm.chatcollapse = !vm.chatcollapse;\r\n vm.offset = 0;\r\n if(!vm.chatcollapse){\r\n vm.getGroupsList = [];\r\n vm.getSubscriptions();\r\n } \r\n }\r\n\r\n vm.nextpage = function() {\r\n console.log('enter scroll value ' + vm.busy);\r\n if(!vm.getGroupsList)\r\n return;\r\n\r\n if(vm.offset == -1){\r\n console.log('loaded all records ' + vm.getGroupsList.length);\r\n return;\r\n }\r\n if (vm.busy){\r\n console.log('enter scroll busy ' + vm.busy);\r\n return;\r\n }\r\n vm.busy = true; \r\n console.log('enter scroll free ' + vm.busy);\r\n var reqUserId = vm.RocketUserId;\r\n var token = vm.Rockettoken;\r\n MainService.getGroups(reqUserId,token,vm.offset,vm.count).then(function(resp){\r\n if (resp && resp.data) { \r\n $localStorage.groupListTotalCount = resp.data.total;\r\n $localStorage.fNameNotification = vm.getGroupsList;\r\n angular.forEach(resp.data.groups, function(message){\r\n var roomInfo = message;\r\n // newGroupList.push(roomInfo)\r\n if(vm.rUnReadRooms.has(message.fname)){\r\n roomInfo.unread = vm.rUnReadRooms.get(message.fname);\r\n }\r\n else{\r\n roomInfo.unread = 0;\r\n }\r\n if(message.lm){\r\n var lmdate = moment(message.lm).local();\r\n var today = moment();\r\n var diff = lmdate.diff(today, 'days', true);\r\n var retVal = diff < -6 ? 'sameElse' : diff < -2 ? 'lastWeek' : diff < -1 ? 'lastDay' : diff < 0 ? 'sameDay' :'sameElse';\r\n console.log('ticket ' + message.fname + ' lmdate ' + lmdate + ' diff ' + diff + ' retval ' + retVal);\r\n if(retVal == 'sameElse'){ \r\n roomInfo.lmDateTime = lmdate.format(\"DD-MM-YYYY\");\r\n }\r\n else if (retVal == 'lastWeek'){\r\n roomInfo.lmDateTime = lmdate.format(\"dddd\");\r\n }\r\n else if (retVal == 'lastDay'){\r\n roomInfo.lmDateTime = \"yesterday\";\r\n }\r\n else if (retVal == 'sameDay'){\r\n roomInfo.lmDateTime = lmdate.format(\"h:mm A\");\r\n };\r\n console.log('room name:' + roomInfo.fname + 'room id:' + roomInfo._id) ;\r\n } \r\n vm.getGroupsList.push(roomInfo);\r\n \r\n });\r\n\r\n } \r\n\r\n vm.offset = resp.data.offset + resp.data.count; \r\n if(vm.offset >= resp.data.total) {\r\n vm.offset = -1;\r\n }\r\n vm.onMessagehandler(vm.getGroupsList); \r\n $timeout(function () {\r\n vm.busy = false;\r\n console.log('exit scroll ' + vm.busy); \r\n },10); \r\n })\r\n };\r\n\r\n vm.getSubscriptions = function() {\r\n var reqUserId = vm.RocketUserId;\r\n var token = vm.Rockettoken;\r\n vm.rUnReadRooms.clear();\r\n MainService.getSubscriptions(reqUserId,token).then(function(resp){\r\n if (resp && resp.data) { \r\n angular.forEach(resp.data.update, function(message){\r\n //if(message.unread > 0){\r\n vm.rUnReadRooms.set(message.fname, message.unread);\r\n //} \r\n });\r\n }\r\n vm.nextpage();\r\n })\r\n }\r\n\r\n var methods = {\r\n busy: vm.busy,\r\n initiateScroll: function (handler) {\r\n vm.RocketUserId = $localStorage.rocketUserId;\r\n vm.Rockettoken = $localStorage.rocketAuthToken; \r\n vm.busy = false;\r\n vm.count = 100;\r\n vm.offset = 0; \r\n vm.getGroupsList = null; \r\n vm.groupListTotalCount = 0;\r\n vm.chatcollapse = true;\r\n vm.onMessagehandler = handler;\r\n vm.rUnReadRooms.clear();\r\n },\r\n showChatWindow: function () {\r\n vm.showchatwindow();\r\n },\r\n nextPage: function () {\r\n vm.nextpage()\r\n }\r\n }\r\n return methods;\r\n \r\n})\nangular.module('inspinia').factory('webSocketFactory', function (WsRocketUrl,RocketChatURL,$timeout, uuid, $websocket,$localStorage) {\r\n // Rocket chat connection start\r\n var vm = this;\r\n var ROCKETCHATSTATS = 0;\r\n var LOGINREQSENT= 1;\r\n var WAITFORAUTHCODE=2;\r\n var CONNECTSENT=3;\r\n var HANDSHAKEINITAITED= 4;\r\n var READYTOSUBSCRIBE=5;\r\n var WAITFORSUBSRESPONSE=6;\r\n var DATAREADYTORECEIVE=7;\r\n var WAITFORHISTORY=8;\r\n var UPLOADRESPONSEAWAIT=9; \r\n var onMessagehandler = null; \r\n var Messages = []; \r\n //var OpenRooms = [];\r\n vm.loggedin = $localStorage.loggedInUserId;\r\n var fNameNotification = $localStorage.fNameNotification;\r\n const getFname = new Map();\r\n var socket = null; \r\n\r\n\t\tsendLoginRequest = function() {\r\n var loginRequest = {\r\n \"msg\": \"method\",\r\n \"method\": \"login\",\r\n \"id\":uuid.v4(),\r\n \"params\":[\r\n {\r\n \"resume\": $localStorage.rocketAuthToken //\"v6zlRxEaZgeVu5CuEAWd3tZbh69sdFFBodkdoctqE6G\"\t\t\t\t\t\t\t\r\n }\r\n ]\r\n }\r\n socket.send(JSON.stringify(loginRequest));\r\n console.log(loginRequest);\r\n\t\t}\r\n\r\n ReadytoSubscribeRoomMessages = function (room_group) { \r\n //OpenRooms[0] = room_group;\r\n var uniqueid = uuid.v4(); \r\n var subscription = {\r\n \"msg\":\"sub\",\r\n \"id\":uniqueid,\r\n \"name\":\"stream-room-messages\",\r\n \"params\": [\"__my_messages__\",false]\r\n //\"params\": [OpenRooms[0]._id,false]\r\n }\r\n socket.send(JSON.stringify(subscription));\r\n console.log(subscription);\r\n ROCKETCHATSTATS = WAITFORSUBSRESPONSE; \r\n }\r\n\r\n\t\tdecodeSubscriptionResponse = function (response) {\r\n\t\t\tif(response.msg == 'ready') {\r\n\t\t\t\t//LoadHistoryOfRoom(OpenRooms[0]);\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\r\n showNotification = function (msg) {\r\n vm.rid = msg.rid\r\n if(msg.username != vm.loggedin) {\r\n\r\n angular.forEach($localStorage.fNameNotification, function(message){\r\n if(vm.rid == message._id ){\r\n vm.fnameToDisplay = message.fname;\r\n }\r\n });\r\n webNotification.showNotification('#'+vm.fnameToDisplay, {\r\n body: msg.name + ' : ' + msg.msg,\r\n icon: 'my-icon.ico',\r\n onClick: function onNotificationClicked() {\r\n console.log('Notification clicked.');\r\n },\r\n autoClose: 4000 //auto close the notification after 4 seconds (you can manually close it via hide function)\r\n }, function onShow(error, hide) {\r\n if (error) {\r\n window.alert('Unable to show notification: ' + error.message);\r\n } else {\r\n console.log('Notification Shown.');\r\n \r\n setTimeout(function hideNotification() {\r\n console.log('Hiding notification....');\r\n hide(); //manually close the notification (you can skip this if you use the autoClose option)\r\n }, 5000);\r\n }\r\n });\r\n }\r\n }\r\n\r\n\t\r\n\t\tdecodeHistoryResponse = function(response) { \r\n var Messages = [];\r\n var roomId = null; \r\n\t\t\tif(response.msg == 'result') {\t\t\t\t\r\n if (response.result && response.result.messages) {\r\n angular.forEach(response.result.messages, function (msg) {\r\n if (msg) {\r\n var message = {};\r\n message.msg = msg.msg;\r\n message.username = msg.u.username;\r\n message.name = msg.u.name;\r\n roomId = msg.rid;\r\n message.ts = moment(msg.ts.$date).format(\"hh:mm A\");\r\n message.msgDateTime = moment(msg.ts.$date).format(\"DD/MM/YYYY\");\r\n\r\n if(msg.ts){\r\n // console.log(lmdate);\r\n var lmdate = moment(msg.ts.$date).local();\r\n var today = moment();\r\n var diff = lmdate.diff(today, 'days', true);\r\n var retVal = diff < -6 ? 'sameElse' : diff < -2 ? 'lastWeek' : diff < -1 ? 'lastDay' : diff < 0 ? 'sameDay' :'sameElse';\r\n if(retVal == 'sameElse'){ \r\n message.lmDateTime = lmdate.format(\"DD-MMM-YYYY\");\r\n }\r\n else if (retVal == 'lastWeek'){\r\n message.lmDateTime = lmdate.format(\"dddd\");\r\n }\r\n else if (retVal == 'lastDay'){\r\n message.lmDateTime = \"yesterday\";\r\n }\r\n else if (retVal == 'sameDay'){\r\n message.lmDateTime = \"Today\";\r\n }\r\n \r\n console.log(lmdate + ' ' + retVal) ;\r\n }\r\n\r\n if(msg.file){\r\n if(msg.file.type == 'image/png'|| msg.file.type == 'image/jpeg' || msg.file.type == 'image/jpg'){\r\n message.type = 'image';\r\n message.fileUrl = RocketChatURL + msg.attachments[0].title_link;\r\n message.title = msg.attachments[0].title;\r\n message.file_size = msg.attachments[0].image_size;\r\n message.description = msg.attachments[0].description;\r\n message.image_preview = msg.attachments[0].image_preview;\r\n }\r\n else if(msg.file.type == 'video/mp4'){\r\n message.type = 'video';\r\n message.fileUrl = RocketChatURL + msg.attachments[0].title_link;\r\n message.title = msg.attachments[0].title;\r\n message.file_size = msg.attachments[0].video_size;\r\n message.description = msg.attachments[0].description;\r\n }\r\n else if(msg.file.type == 'application/pdf' || msg.file.type == 'application/vnd.ms-excel' || msg.file.type =='application/vnd.openxmlformats-officedocument.wordprocessingml.document'){\r\n message.type = 'file';\r\n message.fileUrl = RocketChatURL + msg.attachments[0].title_link;\r\n message.title = msg.attachments[0].title;\r\n message.file_size = msg.attachments[0].video_size;\r\n message.description = msg.attachments[0].description;\r\n }\r\n else if(msg.file.type == 'audio/mpeg' || msg.file.type == 'audio/wav'){\r\n message.type = 'audio';\r\n message.fileUrl = RocketChatURL + msg.attachments[0].title_link;\r\n message.title = msg.attachments[0].title;\r\n message.file_size = msg.attachments[0].video_size;\r\n message.description = msg.attachments[0].description;\r\n }\r\n } \r\n }\r\n Messages.push(message); \r\n });\r\n } \r\n\t\t\t\tROCKETCHATSTATS = DATAREADYTORECEIVE;\r\n console.log(Messages);\r\n onMessagehandler(0, roomId, Messages.reverse());\t\t\t\t\r\n\t\t\t}\r\n\t\t}\r\n\r\n decodeRoomMessages = function(response) { \r\n /*if(response.msg == 'result') {\t\t\t\r\n if (response.result) {\r\n var message = {};\r\n message.msg = response.result.msg;\r\n message.username = response.result.u.username;\r\n message.name = response.result.u.name;\r\n message.ts = response.result.ts;\r\n Messages.push(message); \r\n console.log(Messages); \r\n }\t\t\t\t\r\n\t\t\t}\r\n else */\r\n\r\n if(response.msg == 'changed' && response.collection == 'stream-room-messages') {\r\n var message = {};\r\n var msg = response.fields.args[0];\r\n if(msg)\r\n {\r\n message.msg = response.fields.args[0].msg;\r\n message.username = response.fields.args[0].u.username;\r\n message.name = response.fields.args[0].u.name;\r\n message.rid = response.fields.args[0].rid;\r\n // message.ts = response.fields.args[0].ts;\r\n message.ts = moment(response.fields.args[0].ts.$date).format(\"hh:mm A\");\r\n if(msg.file){\r\n if(msg.file.type == 'image/png'|| msg.file.type == 'image/jpeg'){\r\n message.type = 'image';\r\n message.fileUrl = RocketChatURL + msg.attachments[0].title_link;\r\n message.title = msg.attachments[0].title;\r\n message.file_size = msg.attachments[0].image_size;\r\n message.description = msg.attachments[0].description;\r\n message.image_preview = msg.attachments[0].image_preview;\r\n }\r\n else if(msg.file.type == 'video/mp4'){\r\n message.type = 'video';\r\n message.fileUrl = RocketChatURL + msg.attachments[0].title_link;\r\n message.title = msg.attachments[0].title;\r\n message.file_size = msg.attachments[0].video_size;\r\n message.description = msg.attachments[0].description;\r\n }\r\n else if(msg.file.type == 'application/pdf' || msg.file.type == 'application/vnd.ms-excel' || msg.file.type =='application/vnd.openxmlformats-officedocument.wordprocessingml.document'){\r\n message.type = 'file';\r\n message.fileUrl = RocketChatURL + msg.attachments[0].title_link;\r\n message.title = msg.attachments[0].title;\r\n message.file_size = msg.attachments[0].video_size;\r\n message.description = msg.attachments[0].description;\r\n }\r\n else if(msg.file.type == 'audio/mpeg' || msg.file.type == 'audio/wav'){\r\n message.type = 'audio';\r\n message.fileUrl = RocketChatURL + msg.attachments[0].title_link;\r\n message.title = msg.attachments[0].title;\r\n message.file_size = msg.attachments[0].video_size;\r\n message.description = msg.attachments[0].description;\r\n }\r\n }\r\n Messages.push(message); \r\n console.log(Messages);\r\n var messagelist = [];\r\n messagelist.push(message);\r\n onMessagehandler(1, msg.rid, messagelist); \r\n ROCKETCHATSTATS = DATAREADYTORECEIVE;\r\n showNotification(message);\r\n } \r\n }\r\n \r\n\t\t}\r\n\r\n var methods = {\r\n collection: Messages,\r\n initiateWS: function (handler) {\r\n onMessagehandler = handler;\r\n socket = $websocket(WsRocketUrl);\r\n console.log('socket created');\t\r\n\r\n var connectObject = {\r\n msg: 'connect', \r\n version: '1', \r\n support: ['1','pre2','pre1']\r\n } \r\n $timeout(function () {\r\n socket.send(JSON.stringify(connectObject));\r\n ROCKETCHATSTATS = CONNECTSENT;\r\n $localStorage.ws = true;\r\n },10); \r\n\r\n socket.onMessage(function(e) {\r\n var response = JSON.parse(e.data);\r\n console.log('response', response);\r\n \r\n if(response.msg == 'ping'){\r\n console.log('pong!');\r\n socket.send(JSON.stringify({msg: 'pong'}));\r\n return;\r\n }\r\n //now here we need to send login packet\r\n if(response.msg == 'connected' && ROCKETCHATSTATS == CONNECTSENT){\r\n console.log('socket connected'); \r\n sendLoginRequest();\r\n ROCKETCHATSTATS = LOGINREQSENT;\r\n return;\r\n }\r\n if(ROCKETCHATSTATS == LOGINREQSENT) {\r\n ReadytoSubscribeRoomMessages(null);\r\n return;\r\n }\r\n if(ROCKETCHATSTATS == WAITFORSUBSRESPONSE){\r\n decodeSubscriptionResponse(response);\r\n return;\r\n }\r\n if(ROCKETCHATSTATS == WAITFORHISTORY){\r\n decodeHistoryResponse(response);\r\n return;\r\n }\r\n if (ROCKETCHATSTATS == DATAREADYTORECEIVE) {\r\n decodeRoomMessages(response);\r\n return;\r\n }\r\n \r\n });\r\n }, \r\n closeWS: function(){\r\n if(socket) socket.close();\r\n },\r\n LoadHistoryOfRoom: function (group) { \r\n roomId = group._id;\r\n //OpenRooms[0] = group;\r\n var loadHisT = {\r\n \"msg\":\"method\",\r\n \"method\":\"loadHistory\",\r\n \"id\": uuid.v4(),\r\n \"params\": [roomId,null,300,{\"$date\":null}], \r\n }\r\n socket.send(JSON.stringify(loadHisT));\r\n console.log(loadHisT);\r\n ROCKETCHATSTATS = WAITFORHISTORY; \r\n }, \r\n\t\t SendMessageToRoom: function (roomdId, message) { \r\n var random_id = uuid.v4(); \r\n var messageObject = {\r\n \"msg\":\"method\",\r\n \"method\":\"sendMessage\",\r\n \"id\": uuid.v4(),\r\n \"params\": [{\"_id\":random_id,\"rid\":roomdId,\"msg\":message}]\r\n\r\n }\r\n socket.send(JSON.stringify(messageObject));\r\n console.log(messageObject);\r\n ROCKETCHATSTATS = DATAREADYTORECEIVE; \r\n }\r\n }\r\n return methods;\r\n})\nangular.module('inspinia').service('MainService',function(ApiURL,FreelancerURL, userauthURL, RocketChatURL, $log, $http){\r\n\r\n\t//https://test.mymobiforce.com/coreapi/api/alertnotification/U360000000001/GetAllAlertNotification?startDate=2018-11-01&endDate=2018-11-13\r\n\t// this.GetAlertNotificationWithDateRange = function(reqUserId,sDate,eDate,token){\r\n\t// \tvar url = ApiURL + '/api/alertnotification/'+reqUserId+'/GetAllAlertNotification?startDate='+sDate+'&endDate='+eDate;\r\n\t// \treturn $http.get(url,{\r\n\t// \t\theaders:{'Content-Type':'application/json','token':token, 'UserId':reqUserId}\r\n\t// \t})\r\n\t// }\r\n\r\n\t//https://test.mymobiforce.com/coreapi/api/alertnotification/U360000000001/MarkReadAlert?alertId=alertId\r\n\r\n\tthis.MarkAlertAsRead = function(reqUserId,alertId,token){\r\n\t\tvar url = ApiURL+'/api/alertnotification/'+reqUserId+'/MarkReadAlert?alertId='+alertId;\r\n\t\treturn $http.post(url,{},{\r\n\t\t\theaders:{'Content-Type':'application/json','token':token, 'UserId':reqUserId}\r\n\t\t})\r\n\t}\r\n\r\n\t//https://report.mymobiforce.com/userauthapi/api/Authenticate/LogOut\r\n\r\n\tthis.LogOut = function(reqUserId,token){\r\n\t\tvar url = userauthURL+'/api/Authenticate/LogOut';\r\n\t\treturn $http.post(url,{},{\r\n\t\t\theaders:{'Content-Type':'application/json','token':token, 'UserId':reqUserId}\r\n\t\t})\r\n\t}\r\n\r\n\r\n\t //http://192.168.0.80:92/FreelancerAPI/api/PaymentAccount/GetAvailableBalanceByreqUserId?reqUserId=kanika.bansal%40innotiontech.com\r\n\r\n this.GetAccountBalance = function(userId, token){\r\n var url = FreelancerURL + '/api/PaymentAccount/GetAvailableBalanceByreqUserId?reqUserId=' + userId;\r\n return $http.get(url,{\r\n headers:{'Content-Type': 'application/json','Token':token, 'UserId':userId}\r\n })\r\n }\r\n\r\n this.GetImageBlob = function(userId, token, img){\r\n var url = ApiURL + '/api/Image?fileName=' + img;\r\n return $http.get(url,{\r\n headers:{'Content-Type': 'application/json','Token':token, 'UserId':userId}\r\n })\r\n }\r\n this.GetLegalContractImageBlob = function(userId, token, img){\r\n var url = ApiURL + '/api/Image/GetLegalContract?fileName=' + img;\r\n return $http.get(url,{\r\n headers:{'Content-Type': 'application/json','Token':token, 'UserId':userId}\r\n })\r\n }\r\n this.GetHealthSafetyGuidelines = function(userId, token, img){\r\n var url = ApiURL + '/api/Image/GetHealthSafetyGuidelines?fileName=' + img;\r\n return $http.get(url,{\r\n headers:{'Content-Type': 'application/json','Token':token, 'UserId':userId}\r\n })\r\n }\r\n// http://216.48.179.106:3000//api/v1/channels.list\r\n this.getChannels = function(reqUserId,token){ \r\n\t\tvar url = RocketChatURL + '/api/v1/channels.list';\r\n\t\treturn $http.get(url,{\r\n\t\t\theaders:{\r\n 'Content-Type':'application/json',\r\n 'X-Auth-Token':token, \r\n 'X-User-Id':reqUserId}\r\n\t\t})\r\n\t}\r\n\r\n // http://216.48.179.106:3000/api/v1/groups.list\r\n // https://msg.mymobiforce.com/api/v1/groups.list?offset=0&count=50&sort={\"_updatedAt\":-1}\r\n this.getGroups = function(reqUserId,token,offset,count){ \r\n var sort='{\"_updatedAt\":-1}';\r\n\t\t// var url = RocketChatURL + '/api/v1/groups.list';\r\n var url = RocketChatURL + '/api/v1/groups.list?offset='+offset+'&count='+count+'&sort='+sort;\r\n\t\treturn $http.get(url,{\r\n\t\t\theaders:{\r\n 'Content-Type':'application/json',\r\n 'X-Auth-Token':token, \r\n 'X-User-Id':reqUserId}\r\n\t\t})\r\n\t}\r\n\r\n\t// https://msg.mymobiforce.com/api/v1/subscriptions.get\r\n this.getSubscriptions = function(reqUserId,token){ \r\n\t\tvar url = RocketChatURL + '/api/v1/subscriptions.get';\r\n\t\treturn $http.get(url,{\r\n\t\t\theaders:{\r\n 'Content-Type':'application/json',\r\n 'X-Auth-Token':token, \r\n 'X-User-Id':reqUserId}\r\n\t\t})\r\n\t}\r\n\r\n\r\n\t//https://msg.mymobiforce.com/api/v1/subscriptions.read\r\n\tthis.MarkRoomAsRead = function(reqUserId,token, data){\r\n\t\tvar url = RocketChatURL + '/api/v1/subscriptions.read';\r\n\t\treturn $http.post(url,data,{\r\n\t\t\theaders:{\r\n 'Content-Type':'application/json',\r\n 'X-Auth-Token':token, \r\n 'X-User-Id':reqUserId}\r\n\t\t})\r\n\t}\r\n\r\n\r\n // https://testg2.mymobiforce.com/coreapi/api/CallPatching/ClickToCallContact?ContactNumber=****\r\n\r\n\r\n this.ClickToCallContact = function (contactnumber,reqUserId,token) { \r\n var url = ApiURL+ '/api/CallPatching/ClickToCallContact?ContactNumber=' + contactnumber;\r\n return $http.get(url, {\r\n headers: { \r\n 'Content-Type': 'application/json',\r\n 'Token':token , \r\n 'UserId':reqUserId\r\n \r\n }\r\n });\r\n }\r\n this.GetSearchUserInfoByReqUserId = function (loggedinUser, SearchUser, token){\r\n var url = FreelancerURL + \"/api/FreeLancerUser/\"+SearchUser+\"/GetUserDetails\";\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token, 'UserId':loggedinUser}\r\n });\r\n }\r\n\r\n\r\n // http://216.48.179.106:3000/api/v1/rooms.upload/GENERAL\r\n\r\n this.uploadLineItemPic = function(reqUserId,data,rid,token,progressCB, canceler){ \r\n\t\tvar url = RocketChatURL + '/api/v1/rooms.upload/'+rid;\r\n\t\treturn $http.post(url,data,{\r\n\t\t\ttimeout: canceler.promise,\r\n\t\t\theaders:{\r\n 'Content-Type':undefined,\r\n 'X-Auth-Token':token, \r\n 'X-User-Id':reqUserId,\r\n // 'NoAuth':'true'\r\n },\r\n uploadEventHandlers: {\r\n progress: progressCB\r\n }\r\n\t\t})\r\n\t}\r\n\r\n\tthis.GetJobTicket = function (ticketId, token,reqUserId) {\r\n var url = ApiURL + '/api/Ticket/' + ticketId + '/' + reqUserId + '/byTicketId';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':reqUserId\r\n }\r\n });\r\n }\r\n\r\n\t this.getCustomerJobCardbyJobId = function(accountId, jobId, token ,success, failure){\r\n $http.get(ApiURL+\"/api/GetCustomerJobCardbyJobId/\"+jobId+\"/\"+accountId+\"/GetCustomerJobCardbyJobId\", {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':accountId\r\n }\r\n }).then(function(res){\r\n if(res && res.data && success){\r\n success(res.data);\r\n } else if(failure){\r\n failure();\r\n }\r\n });\r\n }\r\n this.InviteUser = function(reqUserId,token,data){\r\n var url = ApiURL+'/api/User/'+reqUserId+'/'+'UploadUsers';\r\n return $http.post(url,data,{\r\n headers:{'Content-Type':'application/json','token':token, 'UserId':reqUserId}\r\n })\r\n }\r\n \r\n this.getTerritoryStates = function (loggedInUser, token,AccountId,Role) {\r\n var url = ApiURL + '/api/TerritoryMappingUser/GetStateByAccountIdAndRole?AccountId='+ AccountId+ '&Role='+ Role;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n \r\n //http://localhost:56749/api/TerritoryMappingUser/GetCityByAccountIdAndStateAndRole?AccountId=144&State=Uttar%20Pradesh&Role=Administrator\r\n this.getTerritoryCity = function (loggedInUser, token,AccountId,state,Role) {\r\n var url = ApiURL + '/api/TerritoryMappingUser/GetCityByAccountIdAndStateAndRole?AccountId='+ AccountId+'&State='+state+'&Role='+ Role;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n\r\n})\n'use strict';\r\n\r\nangular.module('inspinia')\r\n .controller('MainController', function ($localStorage,UIURL,infiniteScrollFactory, toaster,ImageUrl, $log, $state,$rootScope, $location, $stateParams,$scope,$uibModal,MainService,RocketChatURL,$interval,$timeout, uuid, $websocket, webSocketFactory, $q) {\r\n //var loggedin = $localStorage.loggedInUserId; \r\n var vm = this;\r\n vm.searchEntity = 'Ticket'\r\n vm.searchText = '';\r\n var promise;\r\n vm.CurrencySetting='';\r\n var reqUserId = '';\r\n vm.sendMessage = '';\r\n vm.firstName = $localStorage.loggedInUser_FirstName;\r\n vm.lastName = $localStorage.loggedInUser_LastName;\r\n vm.role = $localStorage.loggedInUser_Role;\r\n vm.originalRole = $localStorage.loggedInUser_Role;\r\n vm.IsCentralWarehouse = $localStorage.IsCentralWarehouse;\r\n vm.accountConfig = $localStorage.accountConfig;\r\n //vm.OpenRooms = [];\r\n vm.Messages = []; \r\n vm.getGroupsList = [];\r\n $scope.collapse = false;\r\n vm.fileDiscription = '';\r\n vm.UploadProgressBarShow=false;\r\n const rChatMessages = new Map(); \r\n const rUnReadRooms = new Map();\r\n const fNameForNotification = new Map(); \r\n var canceler = $q.defer();\r\n var offset = 1;\r\n var count = 50;\r\n vm.msgCount = 0; \r\n vm.Rockettoken = $localStorage.rocketAuthToken;\r\n vm.RocketUserId = $localStorage.rocketUserId; \r\n vm.msgCount = $localStorage.groupListTotalCount;\r\n vm.loggedin = $localStorage.loggedInUserId; \r\n vm.FirstName = '';\r\n vm.LastName = '';\r\n vm.Gender = '';\r\n vm.ContactNumber = '';\r\n vm.CurrentAdd1 = '';\r\n vm.CurrentAdd2 = '';\r\n vm.CurrentState = '';\r\n vm.CurrentCity = '';\r\n vm.CurrentPincode = '';\r\n vm.SkillSet = '';\r\n vm.skillsetList = ['LED_LCD_Installation_Service',\r\n 'AC_Demo',\r\n 'AC_Installation',\r\n 'AC_Installation_Service',\r\n 'CCTV_PMS',\r\n 'CCTV_Installation',\r\n 'CCTV_Repair_Service',\r\n 'General_Electrician',\r\n 'Refrigerator_Repair_Service',\r\n 'Fan_Services',\r\n 'Geysers_Services'];\r\n vm.GetAccountType = function()\r\n {\r\n return $localStorage.accountConfig.AccountType;\r\n } \r\n \r\n \r\n //var hash = uuid.v4(); \r\n // console.log('vm.VerticalName',vm.VerticalName);\r\n Array.prototype.extend = function (array) {\r\n angular.forEach(array, function (d) {\r\n this.push(d);\r\n }, this);\r\n }\r\n \r\n if (typeof firebase === 'undefined') throw new Error('hosting/init-error: Firebase SDK not detected. You must include it before /__/firebase/init.js');\r\n firebase.initializeApp({\r\n \"projectId\": \"mobiforce-c7ef3\",\r\n \"appId\": \"1:964430764125:web:7a9d4c59706cf7fb\",\r\n \"databaseURL\": \"https://mobiforce-c7ef3.firebaseio.com\",\r\n \"storageBucket\": \"mobiforce-c7ef3.appspot.com\",\r\n \"locationId\": \"asia-east2\",\r\n \"apiKey\": \"AIzaSyDI5PhWhciUKVr-qyunhWNchsVqpxK6UqE\",\r\n \"authDomain\": \"mobiforce-c7ef3.firebaseapp.com\",\r\n \"messagingSenderId\": \"964430764125\"\r\n });\r\n\r\n //GeneralTimeoutFunction\r\n vm.TimeoutFunc = function(time, func){\r\n $timeout(function(){\r\n func;\r\n },time)\r\n }\r\n\r\n vm.GetAccountBalance = function(){\r\n var token = $localStorage.token;\r\n reqUserId = $localStorage.loggedInUserId;\r\n if(reqUserId){\r\n if($localStorage.accountConfig && $localStorage.accountConfig.CurrencySetting){\r\n vm.CurrencySetting = $localStorage.accountConfig.CurrencySetting;\r\n }\r\n // vm.CurrencySetting = $localStorage.accountConfig.CurrencySetting?$localStorage.accountConfig.CurrencySetting:'';\r\n if(token != \"\"){\r\n MainService.GetAccountBalance(reqUserId, token).then(function(resp){\r\n vm.AvailableBalance = resp.data;\r\n //$rootscope.AvailableBalance = vm.AvailableBalance;\r\n },function(error){\r\n //$log.log(\"error occured in GetAccountBalance\");\r\n })\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n // Chat Screen Controler Start\r\n\r\n $scope.ShowFirstChat = false;\r\n \r\n $scope.ShowFirstBox = function () {\r\n //If DIV is visible it will be hidden and vice versa.\r\n $scope.ShowFirstChat = true;\r\n }\r\n \r\n $scope.HideFirstBox = function () {\r\n //If DIV is visible it will be hidden and vice versa.\r\n $scope.ShowFirstChat = false;\r\n }\r\n $scope.ShowSecondChat = false;\r\n \r\n $scope.ShowSecondBox = function () {\r\n $scope.ShowSecondChat = true;\r\n }\r\n \r\n \r\n $scope.HideSecondBox = function () {\r\n //If DIV is visible it will be hidden and vice versa.\r\n $scope.ShowSecondChat = false;\r\n }\r\n\r\n$scope.HideImagePreview = function () {\r\n //If DIV is visible it will be hidden and vice versa.\r\n $scope.ImagePreview = false;\r\n}\r\n\r\n$scope.FilePreview= false;\r\n\r\n$scope.ShowFilePreview = function () {\r\n $scope.FilePreview = true;\r\n\r\n }\r\n\r\n $scope.HideFilePreview = function () {\r\n $scope.FilePreview = false;\r\n }\r\n\r\n $scope.ShowRecorder = function()\r\n {\r\n $scope.Recorder = true;\r\n }\r\n\r\n $scope.HideRecorder =function()\r\n {\r\n $scope.Recorder = false;\r\n }\r\n lightbox.option({\r\n 'resizeDuration': 100,\r\n 'wrapAround': true,\r\n 'showImageNumberLabel':true,\r\n 'thumbnail':true,\r\n 'fitImagesInViewport':false\r\n \r\n \r\n })\r\n\r\n vm.getProfilePic = function (profilePicName) {\r\n return profilePicName ? ImageUrl + \"/\" + profilePicName : null;\r\n }\r\n\r\n\t\r\n vm.SendMessageToRoom = function (event,message) { \r\n if (event.keyCode == '13' && message != '') {\r\n webSocketFactory.SendMessageToRoom(roomId, message); \r\n $timeout(function () {\r\n vm.sendMessage = '';\r\n },50);\r\n }\r\n }\r\n vm.SendTextToRoom = function (message) {\r\n if (message != '') {\r\n webSocketFactory.SendMessageToRoom(roomId,message); \r\n $timeout(function () {\r\n vm.sendMessage = '';\r\n },50);\r\n }\r\n} \r\n vm.LoadRoomMessages = function (group) { \r\n vm.TicketId = group.fname;\r\n vm.groupDetails= group; \r\n /*var roomId = group._id;\r\n if(!rChatMessages.has(roomId)){\r\n webSocketFactory.LoadHistoryOfRoom(group);\r\n //webSocketFactory.ReadytoSubscribeRoomMessages(group);\r\n } \r\n else{\r\n vm.Messages = rChatMessages.get(roomId); \r\n $timeout(function () {\r\n var element = angular.element('#chatList');\r\n element.scrollTop(element[0].scrollHeight);\r\n });\r\n }*/\r\n webSocketFactory.LoadHistoryOfRoom(group);\r\n vm.MarkRoomAsRead(group);\r\n vm.getTicketByJobId(vm.TicketId);\r\n }\r\n\r\n\r\n\r\n\r\nfunction onGetGroups (getGroupsList) { \r\n vm.getGroupsList = []; \r\n vm.getGroupsList = getGroupsList.slice();\r\n}\r\n\r\n/*vm.loadChatUI = function (event,message) { \r\n $scope.infiniteScrollFactoryInst.showChatWindow(); \r\n}\r\n\r\nvm.loadChatNextPage = function () { \r\n $scope.infiniteScrollFactoryInst.nextPage();\r\n}*/\r\n\r\nfunction onSocketMessage (msgtype, roomId, messages) { \r\n var msgList = [];\r\n console.log(messages);\r\n // if this is load history message \r\n if(msgtype == 0 ){\r\n if(rChatMessages.has(roomId)){\r\n rChatMessages.delete(roomId);\r\n } \r\n angular.forEach(messages, function(message){\r\n msgList.push(message);\r\n });\r\n rChatMessages.set(roomId, msgList);\r\n vm.Messages = msgList;\r\n }\r\n else if (msgtype == 1){ // if this is new message for the current opened room, process it otherwise leave it.\r\n if(vm.groupDetails._id == roomId){\r\n msgList = rChatMessages.get(roomId);\r\n if(msgList == undefined) {\r\n var msgList = vm.Messages;\r\n angular.forEach(messages, function(message){\r\n msgList.push(message);\r\n });\r\n vm.Messages = msgList; \r\n }\r\n else {\r\n angular.forEach(messages, function(message){\r\n msgList.push(message);\r\n });\r\n vm.Messages = msgList; \r\n }\r\n \r\n } \r\n else {\r\n angular.forEach(vm.getGroupsList, function(message){\r\n var roomInfo = message;\r\n if(message._id == roomId){\r\n roomInfo.unread +=1;\r\n }\r\n else{\r\n roomInfo.unread;\r\n }\r\n });\r\n } \r\n \r\n } \r\n \r\n vm.messageLength = vm.Messages.length;\r\n $timeout(function () {\r\n var element = angular.element('#chatList');\r\n element.scrollTop(element[0].scrollHeight);\r\n });\r\n}\r\n\r\nvm.initiateScroll = function () {\r\n $scope.infiniteScrollFactoryInst = infiniteScrollFactory;\r\n $scope.infiniteScrollFactoryInst.initiateScroll(onGetGroups);\r\n }\r\n\r\n\r\n vm.initiateWSConnection = function () {\r\n webSocketFactory.initiateWS(onSocketMessage);\r\n vm.initiateScroll();\r\n }\r\n\r\n\r\n \r\n\r\n\r\n //get channel list\r\n vm.getChannels = function(){ \r\n var reqUserId = vm.RocketUserId;\r\n var token = vm.Rockettoken;\r\n MainService.getChannels(reqUserId,token).then(function(resp){\r\n if (resp && resp.data) {\r\n vm.getChannelList = resp.data; \r\n }\r\n })\r\n }\r\n\r\n\r\n \r\n\r\n\r\n\r\n function getGroups (msgtype) { \r\n var reqUserId = vm.RocketUserId;\r\n var token = vm.Rockettoken;\r\n MainService.getGroups(reqUserId,token,offset,count).then(function(resp){\r\n if (resp && resp.data) {\r\n vm.getGroupsList = []; \r\n // vm.groupListTotalCount = resp.data.total;\r\n // $localStorage.fNameNotification = fNameForNotification.set(vm.getGroupsList);\r\n $localStorage.fNameNotification = vm.getGroupsList;\r\n angular.forEach(resp.data.groups, function(message){\r\n var roomInfo = message;\r\n if(rUnReadRooms.has(message.fname)){\r\n roomInfo.unread = rUnReadRooms.get(message.fname);\r\n }\r\n else{\r\n roomInfo.unread = 0;\r\n }\r\n if(message.lm){\r\n //console.log(lmdate);\r\n var lmdate = moment(message.lm);\r\n var today = moment();\r\n var diff = lmdate.diff(today, 'days', true);\r\n var retVal = diff < -6 ? 'sameElse' : diff < -2 ? 'lastWeek' : diff < -1 ? 'lastDay' : diff < 0 ? 'sameDay' :'sameElse';\r\n if(retVal == 'sameElse'){ \r\n roomInfo.lmDateTime = lmdate.format(\"DD-MM-YYYY\");\r\n }\r\n else if (retVal == 'lastWeek'){\r\n roomInfo.lmDateTime = lmdate.format(\"dddd\");\r\n }\r\n else if (retVal == 'lastDay'){\r\n roomInfo.lmDateTime = \"yesterday\";\r\n }\r\n else if (retVal == 'sameDay'){\r\n roomInfo.lmDateTime = lmdate.format(\"h:mm A\");\r\n }\r\n\r\n //console.log(lmdate + ' ' + retVal) ;\r\n console.log('room name:' + roomInfo.fname + 'room id:' + roomInfo._id) ;\r\n }\r\n \r\n vm.getGroupsList.push(roomInfo);\r\n });\r\n\r\n }\r\n })\r\n vm.getChannels();\r\n }\r\n\r\n vm.MarkRoomAsRead = function(group){\r\n var reqUserId = vm.RocketUserId;\r\n var token = vm.Rockettoken;\r\n vm.RoomIdMarkAsRead = group._id;\r\n var data = {\r\n \"rid\": vm.RoomIdMarkAsRead\r\n }\r\n MainService.MarkRoomAsRead(reqUserId,token,data).then(function(resp){\r\n if (resp && resp.data.success) {\r\n angular.forEach(vm.getGroupsList, function(group){\r\n if(group._id == vm.RoomIdMarkAsRead ){\r\n group.unread = 0;\r\n } \r\n });\r\n }\r\n })\r\n }\r\n \r\n\r\n vm.changeFile = function (selector) {\r\n angular.element(selector).trigger(\"click\");\r\n }\r\n\r\n vm.ShowImagePreview = function (elem, index) { \r\n var index = (angular.element(elem).attr(\"data-index\")); \r\n vm.file = elem.files[0];\r\n vm.imageSrc = URL.createObjectURL( vm.file);\r\n if (vm.file.type == \"application/pdf\" || vm.file.type == \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"|| vm.file.type == \"application/vnd.ms-excel\"|| vm.file.type == \"application/vnd.android.package-archive\" || vm.file.type.indexOf(\"image/jpg\") >= 0 || vm.file.type.indexOf(\"image/png\") >= 0 || vm.file.type.indexOf(\"video/mp4\") >= 0 || vm.file.type.indexOf(\"audio/mpeg\") >= 0 || vm.file.type.indexOf(\"audio/wav\") >= 0 || vm.file.type.indexOf(\"audio/mp3\") >= 0\r\n || vm.file.type.indexOf(\"image/bmp\") >= 0 || vm.file.type.indexOf(\"image/jpeg\") >= 0|| vm.file.type.indexOf(\"audio/wav\") >= 0) {\r\n vm.filePathTemp = elem.value;\r\n vm.fileNameTemp = vm.file.name;\r\n vm.fileOrgSize = vm.bytesToSize(vm.file.size);\r\n // var URL = elem.target.result; \r\n } else {\r\n vm.showFailure(\"Failed\", \"You can upload image,video, pdf or word document only\");\r\n }\r\n vm.AttachmentModel = $uibModal.open({\r\n templateUrl: 'Attachment.html',\r\n scope: $scope,\r\n });\r\n }\r\n \r\n vm.CloseAttachmentModel = function () {\r\n vm.AttachmentModel.close();\r\n }\r\n \r\n\r\n \r\n vm.bytesToSize = function (bytes) {\r\n var sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];\r\n if (bytes == 0) return '0 Byte';\r\n var i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)));\r\n return Math.round(bytes / Math.pow(1024, i), 2) + ' ' + sizes[i];\r\n }\r\n\r\n\r\n vm.ShowUploadProgressBar = function(show){\r\n vm.UploadProgressBarShow=show;\r\n }\r\n\r\n vm.cancelUploadRequest = function () {\r\n canceler.resolve();\r\n vm.ShowUploadProgressBar(false);\r\n }\r\n\r\n vm.uploadLineItemFile = function () {\r\n var data = new FormData();\r\n data.append(\"msg\",vm.fileDiscription);\r\n data.append(\"description\",vm.fileNameTemp);\r\n data.append(\"file\", vm.file);\r\n vm.CloseAttachmentModel();\r\n canceler.resolve();\r\n canceler = $q.defer();\r\n vm.ShowUploadProgressBar(true);\r\n MainService.uploadLineItemPic(vm.RocketUserId, data,vm.groupDetails._id, vm.Rockettoken,vm.uploadProgress, canceler).then(function(resp){\r\n console.log(\"success\");\r\n vm.ShowUploadProgressBar(false);\r\n vm.fileDiscription= '';\r\n vm.fileNameTemp = '';\r\n });\r\n }\r\n\r\n\r\n vm.uploadProgress = function (e) {\r\n if (e.lengthComputable) {\r\n $scope.dynamic = Math.floor((e.loaded / e.total) * 100);\r\n console.log('upload proress:' + $scope.dynamic);\r\n }\r\n }\r\n\r\n vm.getTicketByJobId = function () {\t\t\t\r\n MainService.GetJobTicket(vm.TicketId, $localStorage.token,reqUserId).then(function (resp) {\r\n vm.TicketInfo = resp.data;\r\n if(vm.TicketInfo.ConsumerContact){\r\n vm.TicketInfo.ConsumerContact=vm.TicketInfo.ConsumerContact.replace(/\\d(?=\\d{4})/g, '*');\r\n }\r\n });\r\n vm.getTracking();\r\n }\r\n\r\n\r\n // vm.customergetTracking = function () { \r\n // customerinitMap();\r\n // }\r\n\r\n var icons = {\r\n start: new google.maps.MarkerImage(\r\n // URL\r\n UIURL + '/assets/images/patterns/JOb_icon.png',\r\n // (width,height)\r\n new google.maps.Size(44, 32),\r\n // The origin point (x,y)\r\n new google.maps.Point(0, 0),\r\n // The anchor point (x,y)\r\n new google.maps.Point(22, 32)),\r\n end: new google.maps.MarkerImage(\r\n // URL\r\n UIURL + '/assets/images/patterns/delivery-man1.png',\r\n // (width,height)\r\n new google.maps.Size(44, 32),\r\n // The origin point (x,y)\r\n new google.maps.Point(0, 0),\r\n // The anchor point (x,y)\r\n new google.maps.Point(22, 32))\r\n };\r\n\r\n\r\n vm.getTracking = function () { \r\n\r\n if (vm.TicketInfo.TicketStatus == 'New' || vm.TicketInfo.TicketStatus == 'Hold' || vm.TicketInfo.TicketStatus == 'Broadcasted' || vm.TicketInfo.TicketStatus == 'ReadyToAssign') {\r\n vm.superPower = true;\r\n ShowJobOnMap();\r\n \r\n }\r\n else {\r\n if( (vm.TicketInfo.TicketStatus == 'Assigned'|| vm.TicketInfo.TicketStatus == 'Rejected' || vm.TicketInfo.TicketStatus == 'Approved' || vm.TicketInfo.TicketStatus == 'Completed' ) && vm.TicketInfo.UserId){\r\n vm.showMapPermision = true;\r\n vm.superPower = true;\r\n }else{\r\n vm.showMapPermision = false;\r\n }\r\n vm.getCustomerJobCard();\r\n }\r\n \r\n }\r\n\r\n vm.getCustomerJobCard = function () {\r\n MainService.getCustomerJobCardbyJobId(reqUserId, vm.TicketId, $localStorage.token, function (data) {\r\n vm.JobLatitude = data.JobLatitude;\r\n vm.JobLongitude = data.JobLongitude;\r\n vm.FELatitude = data.FELatitude;\r\n vm.FELongitude = data.FELongitude;\r\n vm.contactnumber = data.FEContactNumber;\r\n vm.jobtype = data.Description;\r\n vm.name = data.FEName;\r\n \r\n \r\n // $log.log(\"res of getCustomerJobCard=\" + data);\r\n vm.customerJobCard = data;\r\n if ($localStorage.rateJobParams) {\r\n vm.customerJobCard.userRole = $localStorage.Role;\r\n vm.customerJobCard.JobStatus = $localStorage.rateJobParams.status;\r\n vm.customerJobCard.CustomerGivenRating = $localStorage.rateJobParams.rating;\r\n delete $localStorage.rateJobParams;\r\n }\r\n if (data && data.JobStatus == 'PaymentDone') {\r\n \r\n }\r\n \r\n initMap();\r\n }, function () {\r\n vm.showFailure(\"Failed\", \"Unable to reach server\");\r\n });\r\n }\r\n \r\n vm.ClickToCallContact = function(){\r\n vm.SearchUserinfo(vm.ContactNumber);\r\n MainService.ClickToCallContact(vm.ContactNumber, $localStorage.loggedInUserId, $localStorage.token).then(function(resp){\r\n vm.SearchUserinfo(vm.ContactNumber);\r\n if(resp.status == '200'){\r\n vm.showSuccess('Success', \"Call initiated successfully\");\r\n }\r\n else{\r\n vm.showFailure('Failed', \"Server Not Responding\");\r\n }\r\n })\r\n }\r\n\r\n vm.SearchUserInfoList ={};\r\n vm.searchUserStatus = false;\r\n vm.SearchUserinfo = function (UserContactNumber) {\t\r\n MainService.GetSearchUserInfoByReqUserId($localStorage.loggedInUserId, UserContactNumber, $localStorage.token).then(function (resp) {\r\n if(resp.status==206){\t\t\t\r\n vm.showFailure('Failed', resp.data.Message);\r\n vm.SearchUserInfoList =\"\";\t\r\n }\t\t\r\n else {\r\n vm.SearchUserInfoList = resp.data;\r\n vm.searchUserStatus = false;\r\n }\r\n \t\t\t\t\t\t\t\t\r\n });\r\n }\r\n vm.clearData = function() {\r\n vm.FirstName = '';\r\n vm.LastName = '';\r\n vm.Gender = '';\r\n vm.ContactNumber = '';\r\n vm.CurrentAdd1 = '';\r\n vm.CurrentAdd2 = '';\r\n vm.CurrentState = '';\r\n vm.CurrentCity = '';\r\n vm.CurrentPincode = '';\r\n vm.SkillSet = '';\r\n }\r\n vm.InviteUser = function () {\r\n vm.sendData = [\r\n {\r\n \"FirstName\": vm.FirstName,\r\n \"LastName\": vm.LastName,\r\n \"Gender\": \"Male\",\r\n \"ContactNumber\": vm.ContactNumber,\r\n \"CurrentAdd1\": vm.CurrentAdd1,\r\n \"CurrentAdd2\": vm.CurrentAdd2,\r\n \"CurrentState\": vm.CurrentState,\r\n \"CurrentCity\": vm.CurrentCity,\r\n \"CurrentPincode\": vm.CurrentPincode,\r\n \"SkillSet\": vm.SkillSet,\r\n }\r\n ];\t\t\t\r\n MainService.InviteUser($localStorage.loggedInUserId,$localStorage.token,vm.sendData).then(function (resp) {\r\n if(resp) {\r\n vm.showSuccess('Success', \"Invite send successfully\");\r\n vm.clearData();\r\n }\r\n else {\r\n vm.showFailure('Failed', resp.data.Message);\r\n vm.clearData();\r\n }\r\n });\r\n }\r\n\r\n vm.territoryStates = function () {\r\n vm.AccountIDforTerritory = $localStorage.accountConfig.AccountId;\r\n MainService.getTerritoryStates($localStorage.loggedInUserId, $localStorage.token,vm.AccountIDforTerritory,vm.role).then(function(resp) {\r\n vm.stateListTerritory = resp.data;\r\n if(resp.status == 200) {\r\n // vm.territoryCity();\r\n }\r\n })\r\n }\r\n \r\n \r\n vm.selectedStateForTerritory = function (state) {\r\n vm.territoryCity(state,vm.AccountIDforTerritory);\r\n }\r\n vm.territoryCity = function (state,AccountId) {\r\n vm.StateForTerritoryCity = state;\r\n MainService.getTerritoryCity($localStorage.loggedInUserId, $localStorage.token,$localStorage.accountConfig.AccountId,state,vm.role).then(function(resp) {\r\n vm.cityListTerritory = resp.data;\r\n if(resp.status == 200) {\r\n \r\n \r\n }\r\n })\r\n }\r\n \r\n function ShowJobOnMap() {\r\n var pointA = new google.maps.LatLng(vm.TicketInfo.Latitude, vm.TicketInfo.Longitude);\r\n //var myLatlng = new google.maps.LatLng(-25.363882,131.044922);\r\n var mapOptions = {\r\n zoom: 15,\r\n scaleControl: true,\r\n gestureHandling: 'greedy',\r\n mapTypeId: google.maps.MapTypeId.ROADMAP,\r\n center: pointA\r\n }\r\n var map = new google.maps.Map(document.getElementById(\"map-canvas\"), mapOptions);\r\n \r\n var marker = new google.maps.Marker({\r\n position: pointA,\r\n icon: icons.start\r\n });\r\n \r\n $scope.InfoWindow = new google.maps.InfoWindow();\r\n $scope.Latlngbounds = new google.maps.LatLngBounds();\r\n \r\n var ticketinformation = vm.TicketInfo;\r\n \r\n //Adding InfoWindow to the Marker.\r\n (function (marker, ticketinformation) {\r\n google.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n $scope.InfoWindow.setContent(\"

\" + vm.TicketInfo.ConsumerName + \"

\" + ' ' + vm.TicketInfo.ConsumerContact);\r\n $scope.InfoWindow.open(map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n $scope.InfoWindow.close(map, marker);\r\n });\r\n })(marker, ticketinformation);\r\n \r\n // To add the marker to the map, call setMap();\r\n marker.setMap(map);\r\n \r\n }\r\n\r\n\r\n function initMap() {\r\n var pointA = new google.maps.LatLng(vm.JobLatitude, vm.JobLongitude),\r\n pointB = new google.maps.LatLng(vm.FELatitude, vm.FELongitude),\r\n // center = new google.maps.LatLng(51.3, 0.8),\r\n myOptions = {\r\n zoom: 8,\r\n zoomControl: false,\r\n scaleControl: true,\r\n mapTypeControl: false,\r\n streetViewControl: false,\r\n gestureHandling: 'greedy',\r\n // center: center,\r\n mapTypeId: google.maps.MapTypeId.ROADMAP\r\n },\r\n \r\n map = new google.maps.Map(document.getElementById('map-canvas'), myOptions),\r\n // Instantiate a directions service.\r\n directionsService = new google.maps.DirectionsService,\r\n directionsDisplay = new google.maps.DirectionsRenderer({\r\n map: map\r\n }),\r\n duration = document.getElementById('duration');\r\n var distance = document.getElementById('distance');\r\n var flightPath = new google.maps.Polyline({\r\n path: [pointA, pointB],\r\n // geodesic: true,\r\n strokeColor: 'red',\r\n });\r\n $scope.InfoWindow = new google.maps.InfoWindow();\r\n $scope.Latlngbounds = new google.maps.LatLngBounds();\r\n // click on marker B to get route from A to B\r\n calculateAndDisplayRoute(directionsService, directionsDisplay, pointA, pointB, distance, duration, map);\r\n var travelMode = \"DRIVING\";\r\n var icon = \"https://img.icons8.com/color/96/000000/street-view.png\";\r\n }\r\n\r\n function calculateAndDisplayRoute(directionsService, directionsDisplay, pointA, pointB, distance, duration, map) {\r\n var selectedMode = \"DRIVING\";\r\n directionsService.route({\r\n origin: pointA,\r\n destination: pointB,\r\n unitSystem: google.maps.UnitSystem.METRIC,\r\n travelMode: google.maps.TravelMode[selectedMode]\r\n }, function (response, status) {\r\n if (status == google.maps.DirectionsStatus.OK) {\r\n new google.maps.DirectionsRenderer({\r\n map: map,\r\n directions: response,\r\n suppressMarkers: true,\r\n polylineOptions: {\r\n strokeColor: \"#000000\"\r\n }\r\n });\r\n var leg = response.routes[0].legs[0];\r\n //outputTxt.innerHTML =(response.routes[0].legs[0].distance.value/1000) + \" Kms\";\r\n distance.innerHTML = response.routes[0].legs[0].distance.text;\r\n duration.innerHTML = response.routes[0].legs[0].duration.text;\r\n vm.distance = response.routes[0].legs[0].distance.value / 1000;\r\n vm.makeJobMarker(leg.start_location, icons.start, map);\r\n vm.makeUserMarker(leg.end_location, icons.end, map);\r\n } else {\r\n window.alert('Directions request failed due to ' + status);\r\n }\r\n });\r\n }\r\n\r\n vm.makeUserMarker = function (position, icon, map) {\r\n var marker = new google.maps.Marker({\r\n position: position,\r\n map: map,\r\n icon: icon\r\n });\r\n //Adding InfoWindow to the Marker.\r\n (function (marker, customerJobCard) {\r\n google.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n $scope.InfoWindow.setContent(\"

\" + vm.name + \"

\");\r\n $scope.InfoWindow.open($scope.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n $scope.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, vm.customerJobCard);\r\n \r\n //Plotting the Marker on the Map.\r\n $scope.Latlngbounds.extend(marker.position);\r\n \r\n }\r\n \r\n vm.makeJobMarker = function (position, icon, map) {\r\n var marker = new google.maps.Marker({\r\n position: position,\r\n map: map,\r\n icon: icon\r\n });\r\n //Adding InfoWindow to the Marker.\r\n (function (marker, customerJobCard) {\r\n google.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n $scope.InfoWindow.setContent(\"

\" + vm.customerJobCard.ConsumerName + \"

\" + ' ' + vm.customerJobCard.JobId + \"
\" + ' ' + moment(vm.customerJobCard.JobDateTime).format(\"YYYY-MM-DD HH:mm\") + \"
\" + ' ' + vm.customerJobCard.ConsumerContact);\r\n $scope.InfoWindow.open($scope.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n $scope.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, vm.customerJobCard);\r\n \r\n //Plotting the Marker on the Map.\r\n $scope.Latlngbounds.extend(marker.position);\r\n }\r\n // Rocket chat connection end\r\n\r\n\r\n \r\n\r\n vm.SelectSearchEntity = function(entity){\r\n if (entity == 'Ticket') {\r\n vm.placeholderText = \"Please Enter \"+entity+ \" Id...\"\r\n\r\n }else if (entity == 'Customer') {\r\n \r\n vm.placeholderText = \"Please Enter \"+entity+ \" Id...\"\r\n }else if(entity == 'Team'){\r\n \r\n vm.placeholderText = \"Please Enter \"+entity+ \" Id...\"\r\n }\r\n }\r\n\r\n vm.SearchEntityPage = function(){\r\n if (vm.search_form.$valid) {\r\n if (vm.searchEntity == 'Ticket') {\r\n if ((vm.searchText.length==11 || vm.searchText.length==13) && vm.searchText.startsWith(\"T\")) {\r\n vm.showError='';\r\n $state.go('index.JobView', {\r\n ticketId: vm.searchText,\r\n type:'global'\r\n }, {\r\n reload: true\r\n });\r\n vm.CloseSearchModal();\r\n }else if(vm.searchText.length==12 && vm.searchText.startsWith(\"O\")){\r\n vm.showError='';\r\n $state.go('index.JobView', {\r\n ticketId: vm.searchText,\r\n type:'global'\r\n }, {\r\n reload: true\r\n });\r\n vm.CloseSearchModal();\r\n }else{\r\n vm.showFailure('Failed','Please use correct format');\r\n }\r\n }else if (vm.searchEntity == 'Customer') {\r\n if (vm.searchText.length==11 && vm.searchText.startsWith(\"C\")) {\r\n vm.showError='';\r\n $state.go('index.Customer_Detail_View', {\r\n customerId: vm.searchText\r\n }, {\r\n reload: true\r\n });\r\n vm.CloseSearchModal();\r\n }else{\r\n vm.showFailure('Failed','Please use correct format');\r\n }\r\n }else if (vm.searchEntity == 'Team') {\r\n if (vm.searchText.length==13 && vm.searchText.startsWith(\"U\")) {\r\n vm.showError='';\r\n $state.go('index.TeamProfile', {\r\n userId: vm.searchText\r\n }, {\r\n reload: true\r\n });\r\n vm.CloseSearchModal(); \r\n }else{\r\n vm.showFailure('Failed','Please use correct format');\r\n }\r\n }\r\n }else{\r\n vm.search_form.submitted = true;\r\n }\r\n }\r\n\r\n // vm.VerticalName = $localStorage.\r\n vm.getAccountConfigSetting = function(name){\r\n return ($localStorage.accountConfig && $localStorage.accountConfig[name]!=null) ? $localStorage.accountConfig[name] : null; \r\n }\r\n \r\n vm.AccountStartDate = function(){\r\n var stringDate = vm.getAccountConfigSetting(\"AccountCreationDate\");\r\n var momentDate = moment(stringDate).format(\"YYYY-MM-DD\");\r\n //$log.log('momentDate',momentDate);\r\n return momentDate;\r\n }\r\n vm.MenuListModel = function()\r\n {\r\n return $localStorage.accountConfig.MenuListModel;\r\n }\r\n\r\n // vm.homeScreenNotifications = function(){\r\n // var sDate = vm.AccountStartDate();\r\n // var eDate = moment().format(\"YYYY-MM-DD\");\r\n // var reqUserId = $localStorage.loggedInUserId;\r\n // var token = $localStorage.token;\r\n // if(token && sDate != 'Invalid date')\r\n // { \r\n // MainService.GetAlertNotificationWithDateRange(reqUserId,eDate,eDate,token).then(function(resp){\r\n // if (resp && resp.data) {\r\n // vm.AllNotifications = [];\r\n // vm.NotificationCounts = 0;\r\n // angular.forEach(resp.data, function(d){\r\n // if (d) {\r\n // var dt1 = new Date(d.CreatedOn);\r\n // var dt2 = new Date();\r\n // d.diffTime = (dt2 - dt1);\r\n // var DayDuration = Math.floor(d.diffTime / 86400000);\r\n // var HrsDuration = Math.floor((d.diffTime % 86400000) / 3600000);\r\n // var MinsDuration = Math.round(((d.diffTime % 86400000) % 3600000) / 60000);\r\n // if(DayDuration == 1){\r\n // d.diffTime = DayDuration+\" day, \"+HrsDuration+\" hrs, \"+MinsDuration+\" mins ago\";\r\n // } else if(DayDuration > 1){\r\n // d.diffTime = DayDuration+\" days, \"+HrsDuration+\" hrs, \"+MinsDuration+\" mins ago\";\r\n // } else if(MinsDuration == 0 && HrsDuration == 0){\r\n // d.diffTime = \"Just now\";\r\n // } else if(HrsDuration == 0){\r\n // d.diffTime = MinsDuration+\" mins ago\";\r\n // } else if(HrsDuration == 1){\r\n // d.diffTime = HrsDuration+\" hr, \"+MinsDuration+\" mins ago\";\r\n // } else {\r\n // d.diffTime = HrsDuration+\" hrs, \"+MinsDuration+\" mins ago\";\r\n // }\r\n // d.CreatedOn = dt1;\r\n // vm.AllNotifications.push(d);\r\n // if (!d.AlertTextRead) {\r\n // vm.NotificationCounts++;\r\n // }\r\n // }\r\n // })\r\n // }\r\n // })\r\n // }\r\n // else\r\n // {\r\n // console.log(\"GetAlertNotificationWithDateRange token \" + token + \" start date \" + sDate);\r\n // }\r\n // }\r\n // vm.homeScreenNotifications();\r\n\r\n vm.OpenSearchModal = function(){\r\n vm.searchText = '';\r\n vm.showError = '';\r\n vm.SearchmodalInstance = $uibModal.open({\r\n templateUrl: 'search-modal',\r\n backdrop: 'static',\r\n windowClass:'my-modal',\r\n scope: $scope\r\n }); \r\n }\r\n\r\n vm.CloseSearchModal = function(){\r\n vm.SearchmodalInstance.close();\r\n }\r\n\r\n vm.confirmTagModal = function(message, callback) { \r\n vm.abstractConfirmModal(\"Confirm\", message, \"Confirm\", callback);\r\n }\r\n\r\n \r\n vm.abstractConfirmModal = function(title, msg, success_label, callback){\r\n $scope.confirm_modal={};\r\n $scope.confirm_modal.title=title;\r\n $scope.confirm_modal.msg=msg;\r\n $scope.confirm_modal.success_label=success_label;\r\n vm.modalInstance = $uibModal.open({\r\n templateUrl: 'confirmation-modal',\r\n backdrop: true,\r\n scope: $scope\r\n });\r\n vm.confirmCallback=callback;\r\n }\r\n \r\n vm.closeConfirmModal = function() {\r\n vm.modalInstance.close();\r\n }\r\n\r\n vm.delete_action = function() {\r\n // vm.delete_value = true;\r\n // return vm.delete_value;\r\n if(vm.confirmCallback){\r\n vm.confirmCallback(); \r\n }\r\n vm.closeConfirmModal();\r\n }\r\n\r\n\r\n vm.getDashboardName = function (dashboardName) {\r\n \r\n if($localStorage.accountConfig && $localStorage.accountConfig.DashboardListModel \r\n && $localStorage.accountConfig.DashboardListModel.length>0){\r\n for(var i=0; i <$localStorage.accountConfig.DashboardListModel.length; i++){\r\n if($localStorage.accountConfig.DashboardListModel[i].DashboardType == dashboardName){\r\n return $localStorage.accountConfig.DashboardListModel[i].DashboardName;\r\n }\r\n }\r\n }\r\n return dashboardName;\r\n }\r\n\r\n vm.StartPromise = function(){\r\n vm.StopPromise();\r\n promise = $interval(vm.homeScreenNotifications, 300000);\r\n }\r\n \r\n vm.StopPromise = function(){\r\n $interval.cancel(promise);\r\n promise = undefined;\r\n } \r\n\r\n // if(vm.role!='Field engineer' || vm.role!='Field Engineer' ){\r\n // vm.GetAccountBalance();\r\n // }\r\n vm.UpdateMain = function (param) {\r\n vm.userName = 'Example user';\r\n vm.helloText = 'Welcome in INSPINIA Gulp SeedProject';\r\n vm.descriptionText = 'It is an application skeleton for a typical AngularJS web app. You can use it to quickly bootstrap your angular webapp projects.';\r\n vm.firstName = $localStorage.loggedInUser_FirstName;\r\n vm.lastName = $localStorage.loggedInUser_LastName;\r\n vm.role = $localStorage.loggedInUser_Role;\r\n vm.originalRole = $localStorage.loggedInUser_Role;\r\n vm.Region = $localStorage.loggedInUser_Region;\r\n vm.IsCentralWarehouse = $localStorage.IsCentralWarehouse;\r\n vm.Skill = $localStorage.loggedInUser_SkillSet;\r\n vm.loggedinAs = $localStorage.loggedinAs;\r\n vm.Rockettoken = $localStorage.rocketAuthToken;\r\n vm.RocketUserId = $localStorage.rocketUserId;\r\n vm.loggedin = $localStorage.loggedInUserId; \r\n vm.msgCount = $localStorage.groupListTotalCount; \r\n if (vm.firstName) {\r\n vm.firstName = vm.firstName.charAt(0).toUpperCase() + vm.firstName.slice(1).toLowerCase();\r\n } if (vm.lastName) {\r\n vm.lastName = vm.lastName.charAt(0).toUpperCase() + vm.lastName.slice(1).toLowerCase();\r\n } if (vm.role) {\r\n vm.role = vm.role.charAt(0).toUpperCase() + vm.role.slice(1).toLowerCase();\r\n }\r\n if (param!='Logout') {\r\n if(vm.role!='Administrator'){\r\n vm.StartPromise();\r\n }\r\n\r\n if($localStorage.ws){\r\n vm.initiateWSConnection(); \r\n } \r\n }\r\n // if(vm.role!='Field engineer'){\r\n // vm.GetAccountBalance();\r\n // }\r\n }\r\n // vm.UpdateMain();\r\n if($localStorage.ws){\r\n vm.initiateWSConnection(); \r\n }\r\n \r\n // if (vm.role!='Administrator') {\r\n // vm.StartPromise();\r\n // }\r\n\r\n vm.toaster_data = {\r\n showCloseButton: true,\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 5000,\r\n \"allowHtml\": true,\r\n positionClass: 'toast-top-full-width'\r\n };\r\n\r\n vm.toaster_info = {};\r\n angular.copy(vm.toaster_data, vm.toaster_info);\r\n vm.toaster_info.type = \"info\";\r\n vm.toaster_info.title = \"Info\";\r\n\r\n vm.toaster_success = {};\r\n angular.copy(vm.toaster_data, vm.toaster_success);\r\n vm.toaster_success.type = \"success\";\r\n vm.toaster_success.title = \"Success\";\r\n\r\n vm.toaster_fail = {};\r\n angular.copy(vm.toaster_data, vm.toaster_fail);\r\n vm.toaster_fail.type = \"error\";\r\n vm.toaster_fail.title = \"Failed\";\r\n\r\n vm.showSuccess = function (title, body) {\r\n if (title) {\r\n vm.toaster_success.title = title;\r\n } if (body) {\r\n vm.toaster_success.body = body;\r\n }\r\n toaster.pop(vm.toaster_success);\r\n }\r\n\r\n vm.showFailure = function (title, body) {\r\n if (title) {\r\n vm.toaster_fail.title = title;\r\n } if (body) {\r\n vm.toaster_fail.body = body;\r\n }\r\n toaster.pop(vm.toaster_fail);\r\n }\r\n\r\n vm.showInfo = function (title, body) {\r\n if (title) {\r\n vm.toaster_info.title = title;\r\n } if (body) {\r\n vm.toaster_info.body = body;\r\n }\r\n toaster.pop(vm.toaster_info);\r\n }\r\n\r\n $rootScope.$on('$stateChangeSuccess', function (ev, to, toParams, from, fromParams) {\r\n \r\n if (from.name && (to.name != from.name)) { \r\n $localStorage.prevState = {'state':from,'params':fromParams}; \r\n }\r\n }); \r\n\r\n vm.UserLogOut = function () {\r\n // $localStorage={};\r\n var reqUserId = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n $localStorage.consumerContact = \"\";\r\n // console.log(\"log\");\r\n MainService.LogOut(reqUserId, token).then(function(resp){\r\n console.log(\"success\");\r\n },function(error){\r\n console.log(\"failed\");\r\n });\r\n\r\n webSocketFactory.closeWS();\r\n console.log(\"socket closed\");\r\n if($localStorage.loggedInUser_Role == 'RetailStore'){\r\n $localStorage.loggedInUserToken = '';\r\n $localStorage.loggedInUserId = '';\r\n $localStorage.loggedInUser_FirstName = '';\r\n $localStorage.loggedInUser_LastName = '';\r\n $localStorage.ContactNumber = '';\r\n $localStorage.loggedInUser_Role = '';\r\n // vm.UpdateMain('Logout');\r\n vm.StopPromise();\r\n $state.go(\"ConsumerLogin\", {\r\n reload: true\r\n });\r\n }\r\n else if($localStorage.loggedInUser_Role != 'RetailStore'){\r\n $localStorage.loggedInUserToken = '';\r\n $localStorage.loggedInUserId = '';\r\n $localStorage.loggedInUser_Region = '';\r\n $localStorage.loggedInUser_FirstName = '';\r\n $localStorage.loggedInUser_LastName = '';\r\n $localStorage.ContactNumber = '';\r\n $localStorage.Gender = '';\r\n $localStorage.PersonalEmail = '';\r\n $localStorage.DOB = '';\r\n $localStorage.FatherName = '';\r\n $localStorage.UserStatus = '';\r\n $localStorage.loggedInUser_Role = '';\r\n $localStorage.loggedInUser_CompanyName = '';\r\n $localStorage.loggedInUser_Password = '';\r\n $localStorage.loggedInUser_VendorId = '';\r\n $localStorage.loggedinAs = '';\r\n $localStorage.token = '';\r\n $localStorage.accountConfig = '';\r\n $localStorage.picture = '';\r\n $localStorage.loggedInUser_ReportingTo = '';\r\n $localStorage.SDate = '';\r\n $localStorage.EDate = '';\r\n $localStorage.AllJobType = '';\r\n $localStorage.AllJobStatus = '';\r\n $localStorage.TicketFilterModel = '';\r\n \r\n vm.CurrencySetting = '';\r\n $localStorage.PageIndex ='';\r\n $localStorage.prevState = {};\r\n $localStorage.VendorPageIndex ='';\r\n $localStorage.TechnicianDetailsView='';\r\n $localStorage.VendorDetailsView='';\r\n $localStorage.selectedFreelancerUserRole='';\r\n $rootScope.rootScopeMessage = '';\r\n vm.UpdateMain('Logout');\r\n vm.StopPromise();\r\n $state.go(\"Login\", {\r\n reload: true\r\n });\r\n }\r\n \r\n }\r\n\r\n vm.displayDateTime = function (d1) {\r\n var d = new Date(d1);\r\n var date = d.getDate() < 10 ? \"0\" + d.getDate() : d.getDate();\r\n var month = d.getMonth() + 1;\r\n month = month < 10 ? \"0\" + month : month;\r\n var hour = d.getHours();\r\n var AM_PM = hour < 12 ? \"AM\" : \"PM\";\r\n hour = hour > 11 ? hour - 12 : hour;\r\n hour = hour < 10 ? \"0\" + hour : hour;\r\n var min = d.getMinutes() < 10 ? \"0\" + d.getMinutes() : d.getMinutes();\r\n return date + \"/\" + month + \"/\" + d.getFullYear() + \" \" + hour + \":\" + d.getMinutes() + \" \" + AM_PM;\r\n }\r\n\r\n vm.implementSelectItems = function (itemList, scope) {\r\n scope.selectAll = false;\r\n scope.showMinus = false;\r\n scope.selectRow = function (i) {\r\n //$log.log(\"selectRow called\");\r\n scope.showMinus = false;\r\n scope.selectAll = false;\r\n angular.forEach(scope[itemList], function (d) {\r\n // //$log.log(d);\r\n if (d.checked) {\r\n scope.showMinus = true;\r\n }\r\n });\r\n }\r\n scope.applyAllSelect = function () {\r\n //$log.log(\"applyAllSelect called\");\r\n angular.forEach(scope[itemList], function (d) {\r\n // //$log.log(d);\r\n d.checked = scope.selectAll;\r\n });\r\n }\r\n }\r\n\r\n vm.round2Decimal = function (no) { \r\n return Math.round(no * 100) / 100; \r\n // if (no>1000) {\r\n // return (no / 1000).toFixed(1).replace(/\\.0$/, '') + 'K';\r\n // }else{\r\n\r\n // return Math.round(no * 100) / 100; \r\n // }\r\n }\r\n\r\n vm.convertNo = function(no){\r\n if (no<1000) {\r\n return Math.round(no * 100) / 100;\r\n }\r\n else if (no>1000 && no<99999) {\r\n return (no / 1000).toFixed(1).replace(/\\.0$/, '') + 'K';\r\n }else if (no>99999 && no<9999999){\r\n return (no / 100000).toFixed(1).replace(/\\.0$/, '') + 'L';\r\n }\r\n }\r\n\r\n vm.roundNDecimal = function(no, N){\r\n var n = Math.pow(10, N);\r\n return Math.round(no * n) / n;\r\n }\r\n\r\n vm.floatToInt = function(no){\r\n return parseInt(no);\r\n }\r\n\r\n vm.createCallback = function (modelObj, callbacks) {\r\n return function (data) {\r\n if (modelObj && data) {\r\n modelObj.extend(data);\r\n }\r\n if (callbacks) {\r\n angular.forEach(callbacks, function (d) {\r\n if (d) {\r\n d(data);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n vm.getMenuVisibilityByRole = function (visibleRoles) {\r\n if(visibleRoles){\r\n var indx = visibleRoles.indexOf($localStorage.loggedInUser_Role);\r\n return indx>=0;\r\n }\r\n else{\r\n return false;\r\n }\r\n }\r\n\r\n vm.isHomeUrl = function () {\r\n return $location.path().indexOf(\"/HelpDesk_Home/\") > 0 || $location.path().indexOf(\"/HelpDesk_Customer_View/\") > 0;\r\n }\r\n\r\n vm.isHelpdeskUrl = function () {\r\n return $location.path().indexOf(\"/HelpDesk\") > 0 || $location.path().indexOf(\"/HelpDesk_Customer_View/\") > 0;\r\n }\r\n\r\n \r\n vm.isMenuClick = function (indexurl) { \r\n if(!indexurl)\r\n {\r\n return false;\r\n } \r\n \r\n indexurl = indexurl.replace('index.', '');\r\n var BaseReportIndex = indexurl.indexOf(\"BaseReport\");\r\n var AdvancedDashboardIndex = indexurl.indexOf(\"AdvancedDashboard\");\r\n if(BaseReportIndex >= 0)\r\n {\r\n indexurl = \"Report\"; \r\n }\r\n else if(AdvancedDashboardIndex >= 0)\r\n {\r\n indexurl = \"AdvancedDashboard\"; \r\n }\r\n if(indexurl.indexOf(\",\") >= 0)\r\n {\r\n var arr = indexurl.split(',');\r\n for (var i = 0; i < arr.length; i++) {\r\n if($location.path().indexOf(arr[i]) >= 0)\r\n {\r\n return true;\r\n }\r\n }\r\n }\r\n else\r\n {\r\n return $location.path().indexOf(indexurl) >= 0; \r\n }\r\n \r\n }\r\n \r\n vm.isReportUrl = function () {\r\n return $location.path().indexOf(\"/Report/\") > 0 || $location.path().indexOf(\"/ScheduledReport\") > 0;\r\n }\r\n \r\n vm.isOtherUrl = function () {\r\n return $location.path().indexOf(\"/cms\") > 0 || $location.path().indexOf(\"/DeviceInfo\") > 0;\r\n }\r\n \r\n vm.isPaymentUrl = function () {\r\n return $location.path().indexOf(\"/Payments/\") > 0;\r\n }\r\n \r\n vm.isFreelancerUrl = function () {\r\n return $location.path().indexOf(\"/Freelancers/\") > 0 || $location.path().indexOf(\"/RegistrationForm/\") > 0 || $location.path().indexOf(\"/TeamProfile/\") > 0;\r\n }\r\n\r\n vm.isFlVendorUrl = function () {\r\n return $location.path().indexOf(\"/Vendor/RegisteredVendor\") > 0\r\n || $location.path().indexOf(\"/VendorRegistrationForm/\") > 0\r\n || $location.path().indexOf(\"/Vendor_list\") > 0;\r\n }\r\n \r\n vm.isRegisteredUserUrl = function () {\r\n return $location.path().indexOf(\"/RegistrationForm/\") > 0;\r\n }\r\n\r\n vm.isRegisteredVendorUrl = function () {\r\n return $location.path().indexOf(\"/VendorRegistrationForm/\") > 0;\r\n }\r\n \r\n vm.isActiveUserUrl = function () {\r\n return $location.path().indexOf(\"/TeamProfile/\") > 0;\r\n }\r\n \r\n vm.isJobUrl = function () {\r\n return $location.path().indexOf(\"/Jobs/\") > 0 || $location.path().indexOf(\"/SortableExample/\") > 0\r\n || $location.path().indexOf(\"/FormEdit/\") > 0 || $location.path().indexOf(\"/JobView/\") > 0;\r\n }\r\n \r\n // vm.isAccountsUrl = function() {\r\n // return $location.path().indexOf(\"/Accounts\") > 0 || $location.path().indexOf(\"/AccountHome\") > 0\r\n // || $location.path().indexOf(\"/Basic\") > 0 || $location.path().indexOf(\"/Advanced\") > 0\r\n // || $location.path().indexOf(\"/Professional\") > 0 || $location.path().indexOf(\"/Ultimate\") > 0; \r\n // }\r\n \r\n vm.isDashboardUrl = function (i) {\r\n if (i=='account') {\r\n return true;\r\n }else if(i=='accountDetails'){\r\n return $location.path().indexOf(\"/AdvancedDashboard/accountDetails\") > 0;\r\n }else if(i=='main'){\r\n return $location.path().indexOf(\"/AdvancedDashboard/\") > 0;\r\n } \r\n }\r\n\r\n vm.isAllJobUrl = function () {\r\n return $location.path().indexOf(\"/JobTickets\") > 0 || $location.path().indexOf(\"/JobView/\") > 0\r\n || $location.path().indexOf(\"/JobBidCreation\") > 0;\r\n }\r\n \r\n vm.isAllTicketsUrl = function () {\r\n return $location.path().indexOf(\"/TicketList\") > 0 || $location.path().indexOf(\"/JobView/\") > 0\r\n || $location.path().indexOf(\"/JobBidCreation\") > 0 || $location.path().indexOf(\"/bulkuploadJob\") > 0\r\n || $location.path().indexOf(\"/FreelancerVendor_list\") > 0;\r\n }\r\n \r\n vm.isConsolidatedUrl = function () {\r\n return $location.path().indexOf(\"/ConsolidateList\") > 0;\r\n }\r\n \r\n vm.isVendorUrl = function () {\r\n return $location.path().indexOf(\"/Vendor_list\") > 0 || $location.path().indexOf(\"/VendorProfile\") > 0 || $location.path().indexOf(\"/Vendor_Creation_form\") > 0;\r\n }\r\n \r\n vm.isProjectsUrl = function () {\r\n return $location.path().indexOf(\"/Project\") > 0 || $location.path().indexOf(\"/Project_Detail\") > 0;\r\n }\r\n \r\n vm.isCustomerUrl = function () {\r\n return $location.path().indexOf(\"/CustomerNew\") > 0;\r\n }\r\n\r\n vm.isAssistedUrl = function () {\r\n return $location.path().indexOf(\"/NewScheduling\") > 0;\r\n }\r\n vm.isAutoAssistedUrl = function () {\r\n return $location.path().indexOf(\"/AutoScheduling\") > 0;\r\n }\r\n \r\n vm.isTeamUrl = function () {\r\n return $location.path().indexOf(\"/TeamMember\") > 0 || $location.path().indexOf(\"/TeamProfile\") > 0;\r\n }\r\n \r\n vm.isTemplateUrl = function () {\r\n return $location.path().indexOf(\"/TemplateList\") > 0 || $location.path().indexOf(\"/FormEdit\") > 0 || $location.path().indexOf(\"/SortableExample\") > 0;\r\n }\r\n\r\n vm.getMenuName = function(menuName){\r\n if($localStorage.accountConfig && $localStorage.accountConfig.MenuListModel){\r\n for(var i=0; i< $localStorage.accountConfig.MenuListModel.length; i++){\r\n if($localStorage.accountConfig.MenuListModel[i].MenuName == menuName){\r\n return $localStorage.accountConfig.MenuListModel[i].MenuDisplayName;\r\n }\r\n }\r\n }\r\n return menuName;\r\n }\r\n\r\n vm.getSubMenuName = function(submenuName, menuName){\r\n if($localStorage.accountConfig && $localStorage.accountConfig.MenuListModel){\r\n for(var i=0; i< $localStorage.accountConfig.MenuListModel.length; i++){\r\n if($localStorage.accountConfig.MenuListModel[i].MenuName == menuName){\r\n if($localStorage.accountConfig.MenuListModel[i].SubMenusList){\r\n for(var j=0; j< $localStorage.accountConfig.MenuListModel[i].SubMenusList.length; j++){\r\n if($localStorage.accountConfig.MenuListModel[i].SubMenusList[j].SubMenuName == submenuName){ \r\n return $localStorage.accountConfig.MenuListModel[i].SubMenusList[j].SubMenuDisplayName;\r\n }\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n return submenuName;\r\n }\r\n\r\n vm.getMenuVisibility = function(menuName, defaultValue){ \r\n if($localStorage.accountConfig && $localStorage.accountConfig.MenuListModel){\r\n for(var i=0; i< $localStorage.accountConfig.MenuListModel.length; i++){\r\n if($localStorage.accountConfig.MenuListModel[i].MenuName == menuName) {\r\n var visibleRoles = $localStorage.accountConfig.MenuListModel[i].MenuVisibility != null \r\n ? $localStorage.accountConfig.MenuListModel[i].MenuVisibility.split(\",\"): [];\r\n return visibleRoles.indexOf($localStorage.loggedInUser_Role)>=0;\r\n }\r\n }\r\n }\r\n return defaultValue;\r\n }\r\n\r\n vm.getSubMenuVisibility = function(submenuName, menuName, defaultValue){\r\n if($localStorage.accountConfig && $localStorage.accountConfig.MenuListModel){\r\n for(var i=0; i< $localStorage.accountConfig.MenuListModel.length; i++){\r\n if($localStorage.accountConfig.MenuListModel[i].MenuName == menuName) {\r\n if($localStorage.accountConfig.MenuListModel[i].SubMenusList){\r\n for(var j=0; j< $localStorage.accountConfig.MenuListModel[i].SubMenusList.length; j++){\r\n if($localStorage.accountConfig.MenuListModel[i].SubMenusList[j].SubMenuName == submenuName){ \r\n var visibleRoles = $localStorage.accountConfig.MenuListModel[i].SubMenusList[j].SubMenuVisibility != null \r\n ? $localStorage.accountConfig.MenuListModel[i].SubMenusList[j].SubMenuVisibility.split(\",\"): [];\r\n return visibleRoles.indexOf($localStorage.loggedInUser_Role)>=0;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return defaultValue;\r\n }\r\n\r\n vm.isFreelancerAccess = function(){ \r\n return ($localStorage.accountConfig && $localStorage.accountConfig.FreelancerAccess!=null) ? $localStorage.accountConfig.FreelancerAccess : true;\r\n }\r\n\r\n vm.getVisibleLabel = function(label){\r\n return ($localStorage.accountConfig && $localStorage.accountConfig[label]!=null) ? $localStorage.accountConfig[label] : label;\r\n }\r\n\r\n vm.getRoleName = function(roleName){\r\n if($localStorage.accountConfig && $localStorage.accountConfig.RoleListModel){\r\n for(var i=0; i< $localStorage.accountConfig.RoleListModel.length; i++){\r\n if($localStorage.accountConfig.RoleListModel[i].RoleName == roleName){\r\n if ($localStorage.accountConfig.RoleListModel[i].RoleDisplayName!=null && $localStorage.accountConfig.RoleListModel[i].RoleDisplayName != \"\") {\r\n return $localStorage.accountConfig.RoleListModel[i].RoleDisplayName;\r\n }\r\n return roleName;\r\n }\r\n }\r\n }\r\n return roleName;\r\n }\r\n\r\n vm.isCreatePermission = function(menuName, submenuName, defaultValue){\r\n if($localStorage.accountConfig && $localStorage.accountConfig.MenuListModel){\r\n for(var i=0; i< $localStorage.accountConfig.MenuListModel.length; i++){\r\n if($localStorage.accountConfig.MenuListModel[i].MenuName == menuName) {\r\n if($localStorage.accountConfig.MenuListModel[i].SubMenusList){\r\n for(var j=0; j< $localStorage.accountConfig.MenuListModel[i].SubMenusList.length; j++){\r\n if($localStorage.accountConfig.MenuListModel[i].SubMenusList[j].SubMenuName == submenuName){ \r\n var visibleRoles = $localStorage.accountConfig.MenuListModel[i].SubMenusList[j].CreatePermission != null \r\n ? $localStorage.accountConfig.MenuListModel[i].SubMenusList[j].CreatePermission.split(\",\"): [];\r\n return visibleRoles.indexOf($localStorage.loggedInUser_Role)>=0;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return defaultValue;\r\n }\r\n\r\n \r\n vm.isCreatePermissionList = function(menuName, defaultValue){\r\n if($localStorage.accountConfig && $localStorage.accountConfig.MenuListModel){\r\n for(var i=0; i< $localStorage.accountConfig.MenuListModel.length; i++){\r\n if($localStorage.accountConfig.MenuListModel[i].MenuName == menuName) {\r\n var visibleRoles = $localStorage.accountConfig.MenuListModel[i].CreatePermission != null \r\n ? $localStorage.accountConfig.MenuListModel[i].CreatePermission.split(\",\"): [];\r\n return visibleRoles.indexOf($localStorage.loggedInUser_Role)>=0;\r\n }\r\n }\r\n }\r\n return defaultValue;\r\n }\r\n\r\n \r\n\r\n\r\n \r\n vm.isDownloadPermission = function(menuName, submenuName, defaultValue){\r\n if($localStorage.accountConfig && $localStorage.accountConfig.MenuListModel){\r\n for(var i=0; i< $localStorage.accountConfig.MenuListModel.length; i++){\r\n if($localStorage.accountConfig.MenuListModel[i].MenuName == menuName) {\r\n if($localStorage.accountConfig.MenuListModel[i].SubMenusList){\r\n for(var j=0; j< $localStorage.accountConfig.MenuListModel[i].SubMenusList.length; j++){\r\n if($localStorage.accountConfig.MenuListModel[i].SubMenusList[j].SubMenuName == submenuName){ \r\n var visibleRoles = $localStorage.accountConfig.MenuListModel[i].SubMenusList[j].CreatePermission != null \r\n ? $localStorage.accountConfig.MenuListModel[i].SubMenusList[j].DownloadPermission.split(\",\"): [];\r\n return visibleRoles.indexOf($localStorage.loggedInUser_Role)>=0;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return defaultValue;\r\n }\r\n\r\n vm.isUploadPermission = function(menuName, submenuName, defaultValue){\r\n if($localStorage.accountConfig && $localStorage.accountConfig.MenuListModel){\r\n for(var i=0; i< $localStorage.accountConfig.MenuListModel.length; i++){\r\n if($localStorage.accountConfig.MenuListModel[i].MenuName == menuName) {\r\n if($localStorage.accountConfig.MenuListModel[i].SubMenusList){\r\n for(var j=0; j< $localStorage.accountConfig.MenuListModel[i].SubMenusList.length; j++){\r\n if($localStorage.accountConfig.MenuListModel[i].SubMenusList[j].SubMenuName == submenuName){ \r\n var visibleRoles = $localStorage.accountConfig.MenuListModel[i].SubMenusList[j].UploadPermission != null \r\n ? $localStorage.accountConfig.MenuListModel[i].SubMenusList[j].UploadPermission.split(\",\"): [];\r\n return visibleRoles.indexOf($localStorage.loggedInUser_Role)>=0;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return defaultValue;\r\n }\r\n \r\n vm.isDeletePermission = function(menuName, submenuName, defaultValue){\r\n if($localStorage.accountConfig && $localStorage.accountConfig.MenuListModel){\r\n for(var i=0; i< $localStorage.accountConfig.MenuListModel.length; i++){\r\n if($localStorage.accountConfig.MenuListModel[i].MenuName == menuName) {\r\n if($localStorage.accountConfig.MenuListModel[i].SubMenusList){\r\n for(var j=0; j< $localStorage.accountConfig.MenuListModel[i].SubMenusList.length; j++){\r\n if($localStorage.accountConfig.MenuListModel[i].SubMenusList[j].SubMenuName == submenuName){ \r\n var visibleRoles = $localStorage.accountConfig.MenuListModel[i].SubMenusList[j].DeletePermission != null \r\n ? $localStorage.accountConfig.MenuListModel[i].SubMenusList[j].DeletePermission.split(\",\"): [];\r\n return visibleRoles.indexOf($localStorage.loggedInUser_Role)>=0;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return defaultValue;\r\n }\r\n\r\n // Chat Notification Start\r\n \r\n vm.LoadMessageToNotify= function(){ \r\n \r\n if(!$localStorage.loggedInUserId)\r\n { \r\n return;\r\n }\r\n var query = firebase.firestore().collection('chats')\r\n .where(\"ReceiverId\", \"==\", $localStorage.loggedInUserId);\t\r\n \r\n // query.get().then(function(querySnapshot) {\r\n query.onSnapshot(function(snapshot) {\r\n if(snapshot.docs.length>0)\t\r\n { \r\n var AllNewMessagecount=0;\r\n var unReadMessage=0;\r\n \r\n // querySnapshot.forEach(function(doc) { \r\n snapshot.docChanges().forEach(function(change) { \r\n \r\n var message = change.doc.data();\r\n if( message.ReceiverId == $localStorage.loggedInUserId){\r\n var NotifyLength = message.Notify.length;\r\n var messageLength = message.messages.length;\r\n var MessageStatusLength = message.MessageStatus.length;\r\n var TotalNewMessage = messageLength - NotifyLength;\r\n var docRef = firebase.firestore().collection('chats').doc(change.doc.id);\r\n if(NotifyLength < messageLength)\r\n {\r\n AllNewMessagecount = AllNewMessagecount + TotalNewMessage; \r\n }\r\n if(MessageStatusLength < NotifyLength)\r\n {\r\n var unReadchatMessage = NotifyLength - MessageStatusLength;\r\n unReadMessage = unReadMessage + unReadchatMessage;\r\n }\r\n var newNotifyLength = 0;\r\n for (var i=0;i0)\r\n {\r\n $timeout(function () {\r\n vm.showSuccess(\"Notification: \"+AllNewMessagecount+\" new messages\");\r\n },10000);\r\n }\r\n //unReadMessage=0;\r\n } \t\t\r\n });\r\n}\r\n\r\n \r\n vm.LoadMessageToNotify();\r\n // Chat Notification End\r\n\r\n\r\n\r\n //For Notifications\r\n // var currentDate = new Date();\r\n // var DateTime = new Date(inputDate);\r\n // var DiffMs = (currentDate - DateTime);\r\n // var DayDuration = Math.floor(DiffMs / 86400000);\r\n // var HrsDuration = Math.floor((DiffMs % 86400000) / 3600000);\r\n // var MinsDuration = Math.round(((DiffMs % 86400000) % 3600000) / 60000);\r\n // if(type =='event'){\r\n // if(DayDuration == 1){\r\n // vm.eventDuration = DayDuration+\" day, \"+HrsDuration + \" hrs, \" + MinsDuration + \" mins ago\";\r\n // } else if(DayDuration > 1){\r\n // vm.eventDuration = DayDuration+\" days, \"+HrsDuration + \" hrs, \" + MinsDuration + \" mins ago\";\r\n // } else if(MinsDuration == 0 && HrsDuration == 0){\r\n // vm.eventDuration = \"Just now\";\r\n // } else if(HrsDuration == 0){\r\n // vm.eventDuration = MinsDuration + \" mins ago\";\r\n // } else if(HrsDuration == 1){\r\n // vm.eventDuration = HrsDuration + \" hr, \" + MinsDuration + \" mins ago\";\r\n // } else {\r\n // vm.eventDuration = HrsDuration + \" hrs, \" + MinsDuration + \" mins ago\";\r\n // }\r\n\r\n /*vm.homeScreenNotifications = function(){\r\n var sDate = vm.AccountStartDate();\r\n var eDate = moment().format(\"YYYY-MM-DD\");\r\n var reqUserId = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n MainService.GetAlertNotificationWithDateRange(reqUserId,sDate,eDate,token).then(function(resp){\r\n if (resp && resp.data) {\r\n vm.AllNotifications = [];\r\n vm.NotificationCounts = 0;\r\n angular.forEach(resp.data, function(d){\r\n if (d) {\r\n var dt1 = new Date(d.CreatedOn);\r\n var dt2 = new Date();\r\n d.diffTime = (dt2 - dt1);\r\n var DayDuration = Math.floor(d.diffTime / 86400000);\r\n var HrsDuration = Math.floor((d.diffTime % 86400000) / 3600000);\r\n var MinsDuration = Math.round(((d.diffTime % 86400000) % 3600000) / 60000);\r\n if(DayDuration == 1){\r\n d.diffTime = DayDuration+\" day, \"+HrsDuration+\" hrs, \"+MinsDuration+\" mins ago\";\r\n } else if(DayDuration > 1){\r\n d.diffTime = DayDuration+\" days, \"+HrsDuration+\" hrs, \"+MinsDuration+\" mins ago\";\r\n } else if(MinsDuration == 0 && HrsDuration == 0){\r\n d.diffTime = \"Just now\";\r\n } else if(HrsDuration == 0){\r\n d.diffTime = MinsDuration+\" mins ago\";\r\n } else if(HrsDuration == 1){\r\n d.diffTime = HrsDuration+\" hr, \"+MinsDuration+\" mins ago\";\r\n } else {\r\n d.diffTime = HrsDuration+\" hrs, \"+MinsDuration+\" mins ago\";\r\n }\r\n d.CreatedOn = dt1;\r\n vm.AllNotifications.push(d);\r\n if (!d.AlertTextRead) {\r\n vm.NotificationCounts++;\r\n }\r\n }\r\n })\r\n }\r\n })\r\n }*/\r\n\r\n // vm.CalculateTimeDiff = function(dt1,dt2){\r\n // var diff =(dt2.getTime() - dt1.getTime()) / 1000;\r\n // return Math.abs(Math.round(diff));\r\n // }\r\n\r\n // if ($localStorage.loggedInUserId) {\r\n // if ($localStorage.loggedInUser_Role!='Administrator') {\r\n // setInterval(function(){\r\n // vm.homeScreenNotifications();\r\n // },1000)\r\n // //$interval(vm.homeScreenNotifications, 1000);\r\n // }\r\n // }\r\n\r\n //Mark Alert as read\r\n vm.MarkAlertsRead = function(alertId,alertText){\r\n var reqUserId = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n MainService.MarkAlertAsRead(reqUserId,alertId,token).then(function(resp){\r\n if (resp && resp.data == 'Document updated') {\r\n vm.NotificationCounts--;\r\n var data = [];\r\n data = alertText.split(\"(\");\r\n data = data[1].split(\")\");\r\n vm.TicketId = data[0];\r\n $timeout(function(){\r\n vm.homeScreenNotifications(); \r\n },1000)\r\n $state.go('index.JobView',{\r\n ticketId: vm.TicketId,\r\n type:'global'\r\n },{\r\n reload:true\r\n }) \r\n }\r\n })\r\n }\r\n});\r\n\r\nangular.module('inspinia').controller('DatatablesCtrlController', DatatablesCtrlController);\r\n\r\nDatatablesCtrlController.$inject = ['$scope', 'DTOptionsBuilder'];\r\n\r\nfunction DatatablesCtrlController($scope, DTOptionsBuilder) {\r\n var vm = this;\r\n vm.dtOptions = DTOptionsBuilder.newOptions()\r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withButtons([\r\n { extend: 'copy' },\r\n { extend: 'csv' },\r\n { extend: 'excel', title: 'ExampleFile' },\r\n { extend: 'pdf', title: 'ExampleFile' },\r\n {\r\n extend: 'print',\r\n customize: function (win) {\r\n angular.element(win.document.body).addClass('white-bg');\r\n angular.element(win.document.body).css('font-size', '10px');\r\n angular.element(win.document.body).find('table')\r\n .addClass('compact')\r\n .css('font-size', 'inherit');\r\n }\r\n }\r\n ]);\r\n}\r\n\r\nangular\r\n .module('inspinia')\r\n .controller('DatatablesCtrlController', DatatablesCtrlController)\r\n // .config(function (recorderServiceProvider) {\r\n // recorderServiceProvider\r\n // .forceSwf(false)\r\n // //.setSwfUrl('/lib/recorder.swf')\r\n // .withMp3Conversion(true)\r\n // ;\r\n // });\r\n\nangular.module('inspinia').controller('plannerToolController', function ($scope, $uibModal) {\r\n\r\n $scope.openModal = function () {\r\n $uibModal.open({\r\n templateUrl: 'customModal.html',\r\n controller: function ($scope, $uibModalInstance) {\r\n $scope.ok = function () {\r\n $uibModalInstance.close();\r\n };\r\n \r\n $scope.cancel = function () {\r\n $uibModalInstance.dismiss('cancel');\r\n };\r\n }\r\n })\r\n };\r\n\r\n\r\n $scope.openSaveReport = function () {\r\n $uibModal.open({\r\n templateUrl: 'saveReport.html',\r\n controller: function ($scope, $uibModalInstance) {\r\n $scope.ok = function () {\r\n $uibModalInstance.close();\r\n };\r\n \r\n $scope.cancel = function () {\r\n $uibModalInstance.dismiss('cancel');\r\n };\r\n }\r\n })\r\n };\r\n\r\n $scope.openEmail = function () {\r\n $uibModal.open({\r\n templateUrl: 'emailReport.html',\r\n size:'lg',\r\n controller: function ($scope, $uibModalInstance) {\r\n $scope.ok = function () {\r\n $uibModalInstance.close();\r\n };\r\n \r\n $scope.cancel = function () {\r\n $uibModalInstance.dismiss('cancel');\r\n };\r\n }\r\n })\r\n };\r\n\r\n $scope.priceSlider = 10;\r\n $scope.myTrigger = \"outsideClick\";\r\n\r\n $scope.toggleSingleClass = function() {\r\n $scope.class_status = !$scope.class_status;\r\n };\r\n \r\n});\nangular.module('inspinia').controller('userjobController', function ($localStorage,userJobListService, $scope, $state, ApiURL, $timeout, $uibModal) {\r\n\tvm = this;\r\n\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n var userToken = $localStorage.freelancertoken;\r\n var techUserId = $localStorage.freelancerUserId;\r\n\tif (!techUserId) {\r\n\t\t$state.go('FreelancerLogin', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n var OrderBy = \"CreatedOn\";\r\n var order = \"desc\";\r\n var searchtag = '';\r\n var PageIndex = 1;\r\n var PageSize = 10;\r\n vm.pageindexCount=0;\r\n $scope.totalBidCount = 0;\r\n $scope.usersTablePerPageBid = 10; \r\n vm.BidListLength=0;\r\n vm.ListofBids=[];\r\n vm.denyReasons = '';\r\n vm.denyReasonsRemark ='';\r\n vm.bundleJobId='';\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n\r\n\r\n $scope.UserTablepagination.current= $localStorage.TicketFilterModel?$localStorage.TicketFilterModel.PageIndex:1;\r\n\r\n $scope.UserTablepageChanged = function(newPage) {\r\n \r\n PageIndex = newPage;\t \r\n vm.GetLeads(techUserId,userToken,PageIndex,PageSize,OrderBy,order,searchtag);\r\n \r\n };\r\n\r\n vm.GetLeads = function () {\r\n userJobListService.GetLeadsForMobile(techUserId, userToken,PageIndex,PageSize,OrderBy,order,searchtag).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.techBIDlist = resp.data;\r\n vm.ListofBids = resp.data.FreelancerBidModelList;\t\r\n angular.forEach(vm.ListofBids, function (t) {\r\n t.PincodeArray = t.PinCode.split(\"|\");\r\n t.PinCode = Array.from(new Set(t.PincodeArray));\r\n t.SkillSetArray = t.skillSet.split(\"|\");\r\n t.skillSet = Array.from(new Set(t.SkillSetArray));\r\n })\r\n $scope.totalBidCount = resp.data.FreelancerBidListCount;\r\n if(vm.ListofBids.length < 10)\r\n vm.BidListLength = $scope.totalBidCount;\r\n else\r\n vm.BidListLength = PageIndex * 10;\r\n if(PageIndex==1)\r\n vm.pageindexCount = 1;\r\n else\r\n vm.pageindexCount = (((PageIndex-1) * 10) + 1); \r\n } \r\n }, function () { \r\n });\r\n }\r\n \r\n \r\n vm.GetLeads();\r\n\r\n vm.applyForBID = function(accountid,jobid,bidcounterrate){\t\t \r\n userJobListService.applyForBID(techUserId,userToken,accountid,jobid,bidcounterrate).then(function(resp){\r\n if (resp.status == 202) {\r\n vm.showSuccess('Success', \"Bid Applied Successfully\");\r\n $timeout(function () {\r\n vm.GetLeads(techUserId,userToken,PageIndex,PageSize,OrderBy,order,searchtag);\r\n vm.comboCloseModal();\r\n }, 500);\r\n }\r\n else {\r\n \r\n vm.showFailure(\"Failed\", resp.data);\r\n $timeout(function () {\r\n vm.GetLeads(techUserId,userToken,PageIndex,PageSize,OrderBy,order,searchtag);\r\n vm.comboCloseModal();\r\n }, 1000); \r\n }\r\n })\t\t\r\n }\r\n\r\n\r\n vm.GetDenyReasons = function(ListofBids){\r\n vm.CurrentJob = ListofBids;\r\n vm.AuditTicketId = vm.CurrentJob.jobId;\r\n vm.TAccountId = vm.CurrentJob.jobAccountId;\r\n userJobListService.GetDenyReasons(techUserId, userToken).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.denyReasonsList=resp.data;\r\n vm.biddenyRsn= vm.denyReasonsList.shift();\r\n denyReasonsModalInstance = $uibModal.open({\r\n templateUrl: 'deny_reasons_model.html',\r\n scope: $scope\r\n }); \r\n }\r\n }, function () { \r\n }); \r\n } \r\n } \r\n\r\n vm.denyReasonsCloseModal = function () {\r\n vm.denyReasons=\"\";\r\n vm.denyReasonsRemark=\"\";\r\n denyReasonsModalInstance.close();\r\n comboModalInstance.close();\r\n }\r\n\r\n vm.UpdatedenyReasons = function(AuditTicketId,TAccountId)\r\n {\r\n vm.denyReasonsForm.submitted = true;\r\n if (vm.denyReasonsForm.$valid) {\r\n var data = [{\r\n \"jobAccountId\": TAccountId,\r\n \"jobId\": AuditTicketId,\r\n \"IterationId\": \"1\",\r\n \"DenyReason\": vm.denyReasons + vm.denyReasonsRemark \r\n }];\r\n userJobListService.DenyBidsFromMobile(data,techUserId,userToken).then(function (resp) {\r\n if (resp && resp.status == 200) { \r\n vm.showSuccess(resp.data); \r\n vm.denyReasonsCloseModal(); \r\n $timeout(function () { \r\n vm.GetLeads(techUserId,userToken,PageIndex,PageSize,OrderBy,order,searchtag);\r\n }, 1000); \r\n }\r\n }, function () {\r\n \r\n }); \r\n }\r\n }\r\n\r\n vm.comboListModal = function(bundleId){\r\n vm.bundleJobId = bundleId;\r\n if(vm.bundleJobId){\r\n userJobListService.GetBundleLeadDetails(vm.bundleJobId,techUserId,userToken).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.BundleDetail=resp.data;\r\n vm.BundleTicketList=resp.data.JobBundleList;\r\n comboModalInstance = $uibModal.open({\r\n templateUrl: 'combo_modal.html',\r\n scope: $scope,\r\n backdrop: 'static'\r\n });\r\n }\r\n }, function () { \r\n });\r\n }\r\n }\r\n\r\n vm.comboCloseModal = function () {\r\n comboModalInstance.close();\r\n }\r\n\r\n})\r\n \r\n\r\n\nangular.module('inspinia').service('userJobListService', function (ApiURL,FreelancerURL, $log, $http, userauthURL) {\r\n\r\n // https://product.mymobiforce.com/FreelancerAPI/api/BID/GetLeadsForMobile?Vertical=&pageIndex=1&pageSize=10&orderBy=CreatedOn&order=desc&SearchTag= -- previously used\r\n\r\n// https://login.mymobiforce.com/FreelancerAPI/api/BID/GetLeadsForWeb?Vertical=&PageIndex=1&PageSize=10&OrderBy=CreatedOn&order=desc&SearchTag= -- cusrrently\r\n\r\nthis.GetLeadsForMobile = function(loggedinUser, token,PageIndex,PageSize,OrderBy,order,searchtag){\r\n var url = FreelancerURL + \"/api/BID/GetLeadsForWeb?Vertical=\"+ '&PageIndex=' + PageIndex + '&PageSize=' + PageSize+ '&OrderBy=' + OrderBy + '&order=' + order + '&SearchTag=' + searchtag;\r\n return $http.get(url,{\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, \r\n 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n\r\n// https://product.mymobiforce.com/FreelancerAPI/api/BID/162/T1620000000530/200/applyForBidFromMobileN -- previously used\r\n\r\n// https://product.mymobiforce.com/FreelancerAPI/api/BID/162/T1620000000530/200/applyForBidFromWeb -- currently\r\n\r\nthis.applyForBID = function(loggedinUser, token,accountid,jobid,bidcounterrate){\r\n var url = FreelancerURL + \"/api/BID/\" + accountid + \"/\" + jobid + \"/\" + bidcounterrate + \"/applyForBidFromWeb\";\r\n return $http.put(url,null,{\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, \r\n 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n\r\n\r\n // https://product.mymobiforce.com/FreelancerAPI/api/BID/GetDenyReasons\r\n\r\n this.GetDenyReasons = function(loggedinUser, token){\r\n var url = FreelancerURL + \"/api/BID/GetDenyReasons\";\r\n return $http.get(url,{\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, \r\n 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n\r\n // https://product.mymobiforce.com/FreelancerAPI/api/BID/DenyBidsFromMobile\r\n\r\n this.DenyBidsFromMobile = function(data,loggedinUser, token){\r\n var url = FreelancerURL + \"/api/BID/DenyBidsFromMobile\";\r\n return $http.put(url, data,{\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, \r\n 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n\r\n // https://stag.mymobiforce.com/freelancerapi/api/BID/GetBundleLeadDetails?TicketId=T1140000236919\r\n\r\n this.GetBundleLeadDetails = function(bundleid,loggedinUser, token){\r\n var url = FreelancerURL + \"/api/BID/GetBundleLeadDetails?TicketId=\" + bundleid;\r\n return $http.get(url,{\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, \r\n 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n\r\n});\r\n\nangular.module('inspinia').controller('jobController', function ($localStorage,userJobListService, $scope, $state, ApiURL, $timeout, $uibModal, $window) {\r\n\tvm = this;\r\n\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n var userToken = $localStorage.freelancertoken;\r\n var techUserId = $localStorage.freelancerUserId;\r\n\tif (!techUserId) {\r\n\t\t$state.go('Login2Factor', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n var OrderBy = \"CreatedOn\";\r\n var order = \"desc\";\r\n var searchtag = '';\r\n var PageIndex = 1;\r\n var PageSize = 10;\r\n vm.pageindexCount=0;\r\n $scope.totalBidCount = 0;\r\n $scope.usersTablePerPageBid = 10; \r\n vm.BidListLength=0;\r\n vm.ListofBids=[];\r\n vm.denyReasons = '';\r\n vm.denyReasonsRemark ='';\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n\r\n\r\n $scope.UserTablepagination.current= $localStorage.TicketFilterModel?$localStorage.TicketFilterModel.PageIndex:1;\r\n\r\n $scope.UserTablepageChanged = function(newPage) {\r\n \r\n PageIndex = newPage;\t \r\n vm.GetLeads(techUserId,userToken,PageIndex,PageSize,OrderBy,order,searchtag);\r\n \r\n };\r\n\r\n vm.GetLeads = function () {\r\n userJobListService.GetLeadsForMobile(techUserId, userToken,PageIndex,PageSize,OrderBy,order,searchtag).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.techBIDlist = resp.data;\r\n vm.ListofBids = resp.data.FreelancerBidModelList;\t\r\n $scope.totalBidCount = resp.data.FreelancerBidListCount;\r\n if(vm.ListofBids.length < 10)\r\n vm.BidListLength = $scope.totalBidCount;\r\n else\r\n vm.BidListLength = PageIndex * 10;\r\n if(PageIndex==1)\r\n vm.pageindexCount = 1;\r\n else\r\n vm.pageindexCount = (((PageIndex-1) * 10) + 1);\r\n \r\n }\r\n \r\n }, function () { \r\n });\r\n }\r\n \r\n \r\n vm.GetLeads();\r\n\r\n vm.applyForBID = function (accountid,jobid,bidcounterrate) {\r\n userJobListService.applyForBID(techUserId,userToken,accountid,jobid,bidcounterrate).then(function (resp) {\r\n if (resp.status == 202) {\r\n vm.showSuccess('Success', \"Bid Applied Successfully\");\r\n $timeout(function () { \r\n vm.GetLeads(techUserId,userToken,PageIndex,PageSize,OrderBy,order,searchtag);\r\n }, 1000);\r\n }\r\n else {\r\n vm.showFailure('Failed', resp.data);\r\n $timeout(function () { \r\n vm.GetLeads(techUserId,userToken,PageIndex,PageSize,OrderBy,order,searchtag);\r\n }, 1000);\r\n } \r\n }, function(){\r\n })\r\n }\r\n\r\n vm.GetDenyReasons = function(ListofBids){\r\n vm.CurrentJob = ListofBids;\r\n vm.AuditTicketId = vm.CurrentJob.jobId;\r\n vm.TAccountId = vm.CurrentJob.jobAccountId;\r\n userJobListService.GetDenyReasons(techUserId, userToken).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.denyReasonsList=resp.data;\r\n vm.biddenyRsn= vm.denyReasonsList.shift();\r\n denyReasonsModalInstance = $uibModal.open({\r\n templateUrl: 'deny_reasons_model.html',\r\n scope: $scope\r\n }); \r\n }\r\n }, function () { \r\n }); \r\n }\r\n \r\n } \r\n\r\n vm.denyReasonsCloseModal = function () {\r\n vm.denyReasons=\"\";\r\n vm.denyReasonsRemark=\"\";\r\n denyReasonsModalInstance.close();\r\n }\r\n\r\n vm.UpdatedenyReasons = function(AuditTicketId,TAccountId)\r\n {\r\n vm.denyReasonsForm.submitted = true;\r\n if (vm.denyReasonsForm.$valid) {\r\n var data = [{\r\n \"jobAccountId\": TAccountId,\r\n \"jobId\": AuditTicketId,\r\n \"IterationId\": \"1\",\r\n \"DenyReason\": vm.denyReasons + vm.denyReasonsRemark \r\n }];\r\n userJobListService.DenyBidsFromMobile(data,techUserId, userToken).then(function (resp) {\r\n if (resp && resp.status == 200) { \r\n vm.showSuccess(resp.data); \r\n vm.denyReasonsCloseModal(); \r\n $timeout(function () { \r\n vm.GetLeads(techUserId,userToken,PageIndex,PageSize,OrderBy,order,searchtag);\r\n }, 1000); \r\n }\r\n }, function () {\r\n \r\n }); \r\n }\r\n }\r\n\r\n vm.TicketDetail = function (bidDetails) { \r\n $localStorage.LeadTicketIdList = bidDetails;\r\n // if(vm.VerticalName == 'IMS'){\r\n $state.go('index.mForce-job-detail', {\r\n // ticketId: ticket\r\n }, {\r\n reload: true\r\n });\r\n // }else{\r\n // $state.go('index.mForce-job-detail', {\r\n // ticketId: ticket\r\n // }, {\r\n // reload: true\r\n // }); \r\n // }\r\n \r\n }\r\n\r\n\r\n})\r\n \r\n\r\n\nangular.module('inspinia').controller('jobDetailController', function ($scope, $uibModal, $location) {\r\n \r\n});\nangular.module('inspinia').service('bidDetailService', function (ApiURL,FreelancerURL, $log, $http, userauthURL) {\r\n\r\n // https://pro.mymobiforce.com/freelancerAPI/api/BID/GetLeadDetails?TicketId=T1580000000915\r\n\r\n \r\n this.GetLeadDetails = function(loggedinUser, token,jobId){\r\n var url = FreelancerURL + \"/api/BID/GetLeadDetails?TicketId=\"+ jobId;\r\n return $http.get(url,{\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, \r\n 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n\r\n // https://product.mymobiforce.com/FreelancerAPI/api/BID/162/T1620000000530/200/applyForBidFromMobileN\r\n\r\n this.applyForBID = function(loggedinUser, token,accountid,jobid,bidcounterrate){\r\n var url = FreelancerURL + \"/api/BID/\" + accountid + \"/\" + jobid + \"/\" + bidcounterrate + \"/applyForBidFromMobileN\";\r\n return $http.put(url,null,{\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, \r\n 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n\r\n});\nangular.module('inspinia').controller('bidDetailController', function ($localStorage,bidDetailService, $scope, $state,$stateParams, ApiURL, $timeout, $uibModal) {\r\n\tvm = this;\r\n\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n var userToken = $localStorage.freelancertoken;\r\n var techUserId = $localStorage.freelancerUserId;\r\n\tvar uTicketId = $stateParams.ticketId;\r\n\tif (!techUserId) {\r\n\t\t$state.go('FreelancerLogin', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\r\n\tvm.GetLeadDetails = function () {\r\n\t\tbidDetailService.GetLeadDetails(techUserId, userToken,uTicketId).then(function (resp) {\r\n\t\t\tif (resp && resp.data) {\r\n\t\t\t\tvm.LeadDetails = resp.data; \r\n\t\t\t}\r\n\t\r\n\t\t}, function () { \r\n\t\t});\r\n\t\t}\r\n\r\n\tvm.GetLeadDetails();\r\n\r\n\tvm.applyForBID = function (accountid,jobid,bidcounterrate) {\r\n\t\tbidDetailService.applyForBID(techUserId,userToken,accountid,jobid,bidcounterrate).then(function (resp) {\r\n\t\t\tif (resp.status == 202) {\r\n\t\t\t\tvm.showSuccess('Success', \"Bid Applied Successfully\");\r\n\t\t\t\t$timeout(function () { \r\n\t\t\t\tvm.GetLeadDetails();\r\n\t\t\t\t$state.go('index.mForce-job-list', {}, { reload: true });\r\n\t\t\t\t}, 500);\r\n\t\t\t }\r\n\t\t\telse {\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t\t$timeout(function () { \r\n\t\t\t\t\tvm.GetLeadDetails();\r\n\t\t\t\t\t}, 500);\r\n\t\t\t } \r\n\t\t}, function(){\r\n\t\t})\r\n\t\t}\r\n\r\n\t}\t\r\n\r\n})\r\n \r\n\r\n\r\n\nangular.module('inspinia').service('JobViewService', function (ApiURL, $log, $http, $localStorage, ActivityURL, LocationURL, PublicApiURL) {\r\n\r\n //http://192.168.0.80:92/CoreAPI/api/Ticket/T0000000018/saurabhgupta3371%40gmail.com/byTicketId\r\n this.GetJobTicket = function (ticketId, token) {\r\n var url = ApiURL + '/api/Ticket/' + ticketId + '/' + $localStorage.loggedInUserId + '/byTicketId';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n //https://test.mymobiforce.com/coreapi/api/Ticket/T0000000040/F00000000000/GetStatusbyTicketId\r\n\r\n this.GetTicketStatus = function(ticketId,reqUserId,token){\r\n var url = ApiURL + '/api/Ticket/'+ticketId+'/'+reqUserId+'/GetStatusbyTicketId';\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json','token':token, 'UserId': reqUserId}\r\n })\r\n }\r\n\r\n this.updateJobTicket = function (ticketModel, token) {\r\n var url = ApiURL + '/api/Ticket?reqUserId=' + $localStorage.loggedInUserId;\r\n return $http.put(url, ticketModel, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n//https://login.mymobiforce.com/activityapi/api/Activity/reqUserId/jobId/GetAllActivitiesLinkedJob?linkJobId=linkJobId\r\n\r\nthis.getAllActivitiesWithLinkJob = function (jobId, reqUserId, linkId, token, callback) {\r\n var url = ActivityURL + '/api/Activity/' + reqUserId + '/'+ jobId+'/GetAllActivitiesLinkedJob?linkJobId='+ linkId;\r\n $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token':token, 'UserId':reqUserId\r\n }\r\n }).then(function (res) {\r\n if (res && res.data)\r\n callback(res.data);\r\n });\r\n }\r\n\r\n this.GetCompletionRemarkList = function(reqUserId, token, skill, callType )\r\n {\r\n var url = ApiURL + '/api/TicketCompletionRemark/GetBySkillCallType?ReqUserId=' + reqUserId + '&Skill=' + skill + '&CallType=' + callType;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': reqUserId\r\n }\r\n });\r\n }\r\n\r\n // // https://perf.mymobiforce.com/coreapi/api/Hardware/GetUniqueSkillListByCategory?reqUserId=U360000000016&Category=Primary\r\n this.GetHardwareSkillList = function(userId, catogry, token){\r\n var url = ApiURL + '/api/Hardware/GetUniqueSkillListByCategory?reqUserId='+ userId + '&Category=' + catogry\r\n return $http.get(url,{headers:{'Content-Type':'application/json', 'Token': token, 'UserId': userId}});\r\n }\r\n\r\n // https://perf.mymobiforce.com/coreapi/api/Hardware/GetByFilter?reqUserId=U360000000016&fields=Category&values=Primary\r\n this.GetHardwareDetailByFields_ValueList = function(userId, fields, value, token){\r\n var url = ApiURL + '/api/Hardware/GetByFilter?reqUserId='+ userId + '&fields=' + fields +'&values='+value\r\n return $http.get(url,{headers:{'Content-Type':'application/json', 'Token': token, 'UserId': userId}});\r\n }\r\n\r\n\r\n\r\nthis.updateJobTicketwithImage = function (ticketModel, token, loggedInUserId) {\r\n\r\n\r\n var request = {\r\n method: 'POST',\r\n url: ApiURL + '/api/Upload/PostMediaFileWithObject',\r\n data: ticketModel,\r\n headers: {\r\n 'Token': token,\r\n 'UserId': loggedInUserId,\r\n 'Content-Type': undefined\r\n\r\n }\r\n };\r\n\r\n // SEND THE FILES.\r\n return $http(request)\r\n .success(function (d) {\r\n // alert(d);\r\n })\r\n .error(function () {\r\n });\r\n \r\n // var url = ApiURL + '/api/Upload/PostMediaFileWithObject';\r\n // return $http.post(url, ticketModel, {\r\n // headers: {\r\n // 'Content-Type': 'undefined', 'Token': token\r\n // }\r\n // });\r\n }\r\n\r\n //Complete Main Ticket\r\n this.completeJob = function (data, token, success, failure) {\r\n var url = ApiURL + '/api/Ticket/updatestatus';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n }).then(success, function(error){\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n //Complete Saperate Ticket\r\n this.completeSeperateJob = function (data, token, success, failure) {\r\n var url = ApiURL + '/api/Ticket/UpdateStatusSeparateTicket';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n }).then(success, function(error){\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.getHistory = function (ticketId, token) {\r\n var url = ApiURL + '/api/Ticket/' + ticketId + '/' + $localStorage.loggedInUserId + '/TicketHistorybyTicketId';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.getAllActivitiesForJob = function (jobId, accountId, token, callback) {\r\n var url = ActivityURL + '/api/Activity/' + accountId + '/GetAllActivitiesForJob?jobId=' + jobId;\r\n $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token':token, 'UserId': $localStorage.loggedInUserId,\r\n }\r\n }).then(function (res) {\r\n if (res && res.data)\r\n callback(res.data);\r\n });\r\n }\r\n\r\n /*this.getAllStates = function (loggedinUser, success, failure) {\r\n var url = LocationURL + '/api/Location/' + loggedinUser + '/GetAllStates';\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json' } }).then(function (res) {\r\n if (res && res.status == 200 && res.data) {\r\n success(res.data);\r\n }\r\n },\r\n function () {\r\n failure(\"Failed\", \"Unable to get states, server is not responding correctly.\");\r\n });\r\n }\r\n\r\n this.getAllCities = function (loggedinUser, state, success, failure) {\r\n var url = LocationURL + '/api/Location/' + loggedinUser + '/' + state + '/GetCitiesByState';\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json' } }).then(function (res) {\r\n if (res && res.status == 200 && res.data) {\r\n success(res.data);\r\n }\r\n },\r\n function () {\r\n failure(\"Failed\", \"Unable to get states, server is not responding correctly.\");\r\n });\r\n }*/\r\n\r\n\r\n this.getAllState = function (userId,token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':userId }\r\n });\r\n }\r\n\r\n this.getAllCity = function (userId, state, token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+state;\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':userId }\r\n });\r\n }\r\n\r\n this.saveTicket = function (loggedinUser, ticketId, data, token, success, failure) {\r\n $http.put(ApiURL + '/api/Ticket/' + loggedinUser + '/' + ticketId + '/byTicketId', data, \r\n { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if (res && res.status == 200 && res) {\r\n success(res.data);\r\n } else{\r\n failure(\"Failed\", \"Unable to update job, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n failure(\"Failed\", \"Unable to update job, server is not responding correctly.\");\r\n });\r\n }\r\n\r\n this.updateStartTime = function(ticketId, userId, startTime,EndTime, token, success, failure){\r\n var url = ApiURL+\"/api/Ticket/updatestartdate\"; \r\n $http.put(url, {\r\n \"requserid\": userId,\r\n \"ticketid\": ticketId,\r\n \"starttime\": startTime.format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\"),\r\n \"endtime\": EndTime.format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\")\r\n }, { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': userId } }).then(function(res){\r\n if(res){\r\n success(res);\r\n } else {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\") \r\n }\r\n }, function(error){\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.getTemplateByName = function(name, token, userId, success, failure){\r\n var url = ApiURL + '/api/Template/'+name+'/'+userId+'/byName';\r\n $http.get(url, {\r\n headers:{'Content-Type': 'application/json', 'Token': token, 'UserId': userId}\r\n }).then(function(res){\r\n if(res && res.data){\r\n success(res.data);\r\n }\r\n }, function(error){\r\n failure(\"Failed\", \"Failed to get template \"+name+\", server is not responding correctly.\");\r\n });\r\n }\r\n\r\n this.getTatForJob = function(token, userId, ticketId, success, failure){\r\n var url = ActivityURL + \"/api/Activity/GetTatForJob?reqUserId=\"+userId+\"&jobId=\"+ticketId;\r\n $http.get(url, {\r\n headers:{'Content-Type': 'application/json', 'Token': token, 'UserId': userId}\r\n }).then(function(res){\r\n if(res && res.data){\r\n success(res.data);\r\n }\r\n }, function(error){\r\n failure(\"Failed\", \"Failed to get tat information for this ticket.\");\r\n });\r\n }\r\n\r\n\r\n\r\n//https://login.mymobiforce.com/activityapi/api/Activity/U360000000001/GetTatForHcl?jobIds=T0000000824\r\n\r\n this.GetStatusActivityInPie = function(token, userId, ticketId, success, failure){\r\n var url = ActivityURL + \"/api/Activity/\"+userId+\"/GetTatForHclInHours?jobIds=\"+ticketId;\r\n $http.get(url, {\r\n headers:{'Content-Type': 'application/json', 'Token': token, 'UserId': userId}\r\n }).then(function(res){\r\n if(res && res.data){\r\n success(res.data);\r\n }\r\n }, function(error){\r\n failure(\"Failed\", \"Failed to get tat information for this ticket.\");\r\n });\r\n }\r\n\r\n this.FollowUpWithAttachment = function(data, files, token, success,failure){\r\n \r\n\t\tvar formdata = new FormData();\t\t\r\n\t\tformdata.append(\"files\", files[0]);\t\r\n\t\tvar followupdata = JSON.stringify(data);\r\n\t\tformdata.append(\"ActivityModel\", followupdata);\r\n \r\n var url = ActivityURL + '/api/Activity/UpdateFollowUp';\r\n //var url = \"http://localhost:54953/api/Activity/UpdateFollowUp\";\r\n\t\treturn $http.put(url,formdata,{\r\n\t\t\theaders:{'Content-Type':undefined,'Token':token, 'UserId': $localStorage.loggedInUserId}\r\n\t\t}).then(success, function(error){\r\n \t\tfailure(\"Failed\", \"Follow up is not updated. Server is not responding correctly.\")\r\n \t});\r\n }\r\n \r\n this.DeleteFollowUp = function(userId, docId, token, success,failure){\r\n var url = ActivityURL + \"/api/Activity/DeleteFollowUp?ReqUserId=\"+userId+\"&DocId=\"+docId; \r\n\t\treturn $http.delete(url,{\r\n\t\t\theaders:{'Content-Type':'application/json','Token':token, 'UserId': $localStorage.loggedInUserId}\r\n\t\t}).then(success, function(error){\r\n \t\tfailure(\"Failed\", \"Follow up is not delete. Server is not responding correctly.\")\r\n \t});\r\n\t}\r\n // this.GetActivityInPie = function(token, userId, ticketId, success, failure){\r\n // var url = ActivityURL + \"/api/Activity/GetActivityInPie?reqUserId=\"+userId+\"&jobId=\"+ticketId;\r\n // $http.get(url, {\r\n // headers:{'Content-Type': 'application/json', 'Token': token}\r\n // }).then(function(res){\r\n // if(res && res.data){\r\n // success(res.data);\r\n // }\r\n // }, function(error){\r\n // failure(\"Failed\", \"Failed to get tat information for this ticket.\");\r\n // });\r\n // }\r\n\r\n});\n\r\nangular.module('inspinia').controller('JobViewController', function (JobViewService, UIURL, $window, $location, $rootScope, $stateParams, $uibModal, $scope, $log, ImageUrl, $sce, toaster, $localStorage, $timeout, $state, HelpDeskHomeService) {\r\n var vm = this;\r\n\r\n var loggedInUserId = $localStorage.loggedInUserId;\r\n if (!loggedInUserId) {\r\n\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n var token = $localStorage.token;\r\n vm.firstTab = 'HCL to Customer';\r\n vm.SecondTab = 'Quess to HCL';\r\n $location.search(\"isTicketView\", true);\r\n var AccountId = $localStorage.accountConfig.AccountId;\r\n if(AccountId && AccountId==='77'){\r\n vm.firstTab = 'NELCO to Customer';\r\n vm.SecondTab = 'MMF to NELCO';\r\n }\r\n vm.previousPage = $localStorage.previousPage;\r\n vm.RemarkCollection = [];\r\n vm.CompletionRemarkList = [];\r\n vm.SelectedCompletionRemarkList = [];\r\n // vm.hardwareDetailsType = '';\r\n vm.HWDetailList = [];\r\n vm.HardwareDetailList = [];\r\n vm.HWDetaileType = ['Primary', 'Secondary'];\r\n vm.Description = [];\r\n vm.SelectedHWDetailList = [];\r\n vm.HWSkillList = [];\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.roundNDecimal = $scope.$parent.$parent.main.roundNDecimal;\r\n vm.floatToInt = $scope.$parent.$parent.main.floatToInt;\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n vm.ticketType = $stateParams.type;\r\n var accountConfig = $localStorage.accountConfig;\r\n vm.FreelancerAccess = $localStorage.accountConfig.FreelancerAccess;\r\n if (accountConfig && accountConfig.EnableRegion) {\r\n vm.EnableRegion = accountConfig.EnableRegion\r\n } else {\r\n vm.EnableRegion = false;\r\n }\r\n vm.TicketId = $stateParams.ticketId;\r\n vm.Jobticket = {};\r\n vm.TemplateData = {};\r\n vm.SuperVisorData = [];\r\n var ticketEditModalInstance = {};\r\n vm.ImageUrl = ImageUrl;\r\n vm.currentStepModel = {};\r\n vm.ModalActionWithValuesList = {};\r\n var currentStepName = '';\r\n vm.completeremark = '';\r\n vm.states = [];\r\n vm.cities = [];\r\n vm.ImageArray = [];\r\n vm.pieCharts = {};\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n vm.confirmTagModal = $scope.$parent.$parent.main.confirmTagModal;\r\n $rootScope.rootScopeMsg = '';\r\n vm.updatefollowFiles = [];\r\n vm.LinkTicketNoList = [];\r\n vm.selectedLTicket = '';\r\n vm.FieldJobClosureMode = '';\r\n vm.FieldJobVisitStatus = '';\r\n vm.BackToTicket = function () {\r\n\r\n if (vm.previousPage == 'ticketlist') {\r\n $rootScope.rootScopeMsg = $location.$$absUrl.split('?')[1];\r\n $state.go('index.TicketList', {\r\n }, {\r\n reload: true\r\n });\r\n }else if(vm.previousPage == 'jobticketcopy'){\r\n $rootScope.rootScopeMsg = $location.$$absUrl.split('?')[1];\r\n $state.go('index.JobTicketsCopy', {\r\n }, {\r\n reload: true\r\n });\r\n }else if(vm.previousPage == 'ticketlistcopy'){\r\n $rootScope.rootScopeMsg = $location.$$absUrl.split('?')[1];\r\n $state.go('index.TicketListCopy', {\r\n }, {\r\n reload: true\r\n });\r\n }\r\n else {\r\n $rootScope.rootScopeMsg = $location.$$absUrl.split('?')[1];\r\n $state.go('index.JobTickets', {\r\n }, {\r\n reload: true\r\n });\r\n }\r\n \r\n }\r\n vm.BackToHelpDesk = function () {\r\n $rootScope.rootScopeMsg = $location.$$absUrl.split('?')[1];\r\n $state.go('index.HelpDesk', {\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n\r\n\r\n function GetTicketView() {\r\n \r\n JobViewService.GetJobTicket(vm.TicketId, token).then(function (resp) {\r\n vm.TicketInfo = resp.data;\r\n if (vm.TicketInfo.Template == 'VSAT Troubleshooting' || vm.TicketInfo.Template == 'LeaseLine Troubleshooting') {\r\n vm.GetStatusActivityInPie();\r\n }\r\n if (vm.TicketInfo.LinkId) {\r\n if (vm.VerticalName == 'IMS') {\r\n vm.LinkTicketNoList = (vm.TicketInfo.LinkId).split(',');\r\n vm.getAllActivitiesWithLinkJob(vm.TicketInfo.LinkId);\r\n vm.GetTicketStatus(vm.TicketInfo.LinkId, loggedInUserId, token);\r\n //vm.getAllActivitiesForJob();\r\n } else {\r\n vm.getAllActivitiesForJob();\r\n }\r\n\r\n } else {\r\n vm.getAllActivitiesForJob();\r\n }\r\n angular.copy(vm.TicketInfo.TemplateModel, vm.TemplateData);\r\n for (var index = 0; index < vm.TemplateData.SectionList.length; index++) {\r\n if (vm.TemplateData.SectionList[index].Action == 'Supervisor' && vm.TemplateData.SectionList[index].SectionName == 'Supervisor') {\r\n vm.SuperVisorData = vm.TemplateData.SectionList[index].ItemList;\r\n }\r\n }\r\n vm.getCallTypeList(vm.TicketInfo.JobType, vm.SuperVisorData);\r\n vm.ListActionWise = SeperateSectionAndItems(vm.TemplateData.SectionList, 'Action');\r\n vm.TicketInfo.StartTime = new moment(vm.TicketInfo.StartTime, \"YYYY-MM-DDTHH:mm:ssZ\");\r\n vm.TicketInfo.EndTime = new moment(vm.TicketInfo.EndTime, \"YYYY-MM-DDTHH:mm:ssZ\");\r\n //model for ticket edit\r\n vm.TicketInfoEdit = {\r\n ConsumerName: vm.TicketInfo.ConsumerName,\r\n ConsumerContact: vm.TicketInfo.ConsumerContact,\r\n Address1: vm.TicketInfo.Address1,\r\n Address2: vm.TicketInfo.Address2,\r\n Pincode: vm.TicketInfo.Pincode,\r\n StartTime: vm.TicketInfo.StartTime,\r\n EndTime: vm.TicketInfo.EndTime\r\n }\r\n\r\n vm.getAllStates();\r\n if (vm.TicketInfo.State) {\r\n vm.getCities(vm.TicketInfo.State);\r\n }\r\n vm.JobTypeForModal = vm.TicketInfo.JobType;\r\n vm.CallTypeForModal = vm.SuperVisorData[0].ItemValue;\r\n vm.GetCompletionRemarkList();\r\n JobViewService.getTemplateByName(vm.TicketInfo.Template, token, loggedInUserId, function (data) {\r\n vm.templateData = data;\r\n }, vm.showFailure);\r\n },\r\n function (error) {\r\n //$log.log(error);\r\n });\r\n\r\n }\r\n GetTicketView();\r\n\r\n vm.onChangeLinkTicket = function (linkedId) {\r\n $state.go('index.JobView',{ticketId:linkedId,type:'linked'},{reload:true});\r\n }\r\n\r\n vm.GetTicketStatus = function (linkId, reqUserId, token) {\r\n JobViewService.GetTicketStatus(linkId, reqUserId, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.LinkTicketStatus = resp.data;\r\n }\r\n })\r\n }\r\n\r\n vm.getDropDownOptions = function (SectionName, ItemName) {\r\n var options = [];\r\n if (vm.templateData && vm.templateData.SectionList) {\r\n angular.forEach(vm.templateData.SectionList, function (l) {\r\n if (l.SectionName == SectionName && l.ItemList && l.ItemList.length > 0) {\r\n angular.forEach(l.ItemList, function (item) {\r\n if (item.ItemName == ItemName && item.ItemType == \"Dropdown Type\" && item.field_options && item.field_options.options && item.field_options.options.length > 0) {\r\n //$log.log(\"item.field_options.options\", item.field_options.options);\r\n options = item.field_options.options;\r\n }\r\n })\r\n }\r\n })\r\n }\r\n return options;\r\n }\r\n\r\n vm.getDropDownOptionsForCheckboxList = function (SectionName, ItemName) {\r\n var options = [];\r\n if (vm.templateData && vm.templateData.SectionList) {\r\n angular.forEach(vm.templateData.SectionList, function (l) {\r\n if (l.SectionName == SectionName && l.ItemList && l.ItemList.length > 0) {\r\n angular.forEach(l.ItemList, function (item) {\r\n if (item.ItemName == ItemName && item.ItemType == \"CheckBoxList DropDown Type\" && item.field_options && item.field_options.options && item.field_options.options.length > 0) {\r\n //$log.log(\"item.field_options.options\", item.field_options.options);\r\n options = item.field_options.options;\r\n }\r\n })\r\n }\r\n })\r\n }\r\n return options;\r\n }\r\n\r\n function SeperateSectionAndItems(itemlist, property) {\r\n var hash = {};\r\n var second_property = 'Section';\r\n var sectionList = [];\r\n for (var itemNum = 0; itemNum < itemlist.length; itemNum++) {\r\n if (itemlist[itemNum].Action == 'Supervisor' || itemlist[itemNum].Action == 'systemInfo') {\r\n continue;\r\n }\r\n if (!hash[itemlist[itemNum][property]])\r\n hash[itemlist[itemNum][property]] = [];\r\n hash[itemlist[itemNum][property]].push(itemlist[itemNum]);\r\n }\r\n\r\n for (var action in hash) {\r\n var sechash = {};\r\n var nestedSectionList = hash[action];\r\n for (var itemIndex = 0; itemIndex < nestedSectionList.length; itemIndex++) {\r\n if (!sechash[nestedSectionList[itemIndex][second_property]])\r\n sechash[nestedSectionList[itemIndex][second_property]] = [];\r\n sechash[nestedSectionList[itemIndex][second_property]].push(nestedSectionList[itemIndex]);\r\n }\r\n hash[action] = sechash;\r\n }\r\n\r\n for (var actionName in hash) {\r\n for (var secName in hash[actionName]) {\r\n var section = {};\r\n section.SectionList = [];\r\n section.Section = secName;\r\n for (var i = 0; i < hash[actionName][secName].length; i++) {\r\n section.SectionList.push(hash[actionName][secName][i]);\r\n }\r\n section.Action = actionName;\r\n sectionList.push(section);\r\n }\r\n }\r\n return sectionList;\r\n }\r\n vm.getImageData = function (data) {\r\n\t\t\tif (data) {\r\n\t\t\t\treturn data;\r\n\t\t\t} else {\r\n\t\t\t\treturn \"assets/images/patterns/no-image.png\";\r\n\t\t\t}\r\n\t\t}\r\n vm.PlotItemSectionAndActionWise = function (itemType) {\r\n vm.PlottedItem = '';\r\n\r\n switch (itemType) {\r\n case 'Multiple Picture Type':\r\n vm.PlottedItem = '
' +\r\n '
' +\r\n // '
' +\r\n // '
';\r\n '
' +\r\n '' +\r\n '\"image-1\"' +\r\n '' +\r\n '
';\r\n break;\r\n\r\n case 'Signature Type':\r\n vm.PlottedItem = '
' +\r\n '' +\r\n '
' +\r\n '' +\r\n '\"image-1\"' +\r\n '' +\r\n '
';\r\n break;\r\n // \r\n // \"image-1\"\r\n // \r\n\r\n case 'Video Type':\r\n vm.PlottedItem = '
'+\r\n '' +\r\n '
' +\r\n '
' +\r\n '
';\r\n break;\r\n\r\n case 'CheckBoxList DropDown Type':\r\n vm.PlottedItem = '
' +\r\n '
' +\r\n '{{itemOption.label}}
';\r\n break;\r\n\r\n case 'Character FilteredTextBoxField':\r\n case 'Bigger Textbox':\r\n case 'Date Type':\r\n case 'Dropdown Type':\r\n case 'Edit Enabled':\r\n case 'Phone Type':\r\n case 'Decimal TextBox Type':\r\n case 'Numeric FilteredTextBoxField':\r\n case 'Instruction Type':\r\n case 'Scan Barcode Type':\r\n case 'Email':\r\n default:\r\n vm.PlottedItem = '
' +\r\n '
' +\r\n '

'\r\n break;\r\n }\r\n return vm.PlottedItem;\r\n }\r\n\r\n vm.EditItemSectionAndActionWise = function (itemType) {\r\n vm.PlottedItem = '';\r\n\r\n switch (itemType) {\r\n\r\n case 'Dropdown Type':\r\n vm.PlottedItem = '';\r\n break;\r\n\r\n case 'Date Type':\r\n vm.PlottedItem = ''\r\n + '';\r\n break;\r\n\r\n case 'Multiple Picture Type':\r\n vm.PlottedItem = ''\r\n + ''\r\n + '';\r\n break;\r\n case 'Signature Type':\r\n vm.PlottedItem = ''\r\n + ''\r\n + '';\r\n break;\r\n // case 'Multiple Picture Type':\r\n // vm.PlottedItem = ''\r\n // +''\r\n // +'';\r\n // break;\r\n\r\n // case 'CheckBoxList DropDown Type':\r\n // vm.PlottedItem = '';\r\n // break;\r\n case 'CheckBoxList DropDown Type':\r\n vm.PlottedItem = '';\r\n break;\r\n case 'Video Type':\r\n case 'Character FilteredTextBoxField':\r\n case 'Bigger Textbox':\r\n case 'Edit Enabled':\r\n case 'Phone Type':\r\n case 'Decimal TextBox Type':\r\n case 'Numeric FilteredTextBoxField':\r\n case 'Instruction Type':\r\n case 'Scan Barcode Type':\r\n case 'Email':\r\n default:\r\n vm.PlottedItem = '';\r\n break;\r\n }\r\n return vm.PlottedItem;\r\n }\r\n\r\n vm.clickOnFileControl = function (controlName) {\r\n //angular.element(\"#image\").trigger(\"click\");\r\n angular.element(\"input[type='file'][name='\" + controlName + \"']\").trigger(\"click\");\r\n }\r\n\r\n $scope.upload = function (obj, $index) {\r\n // $log.log(\"i\",$index);\r\n var elem = obj.target || obj.srcElement;\r\n vm.ImageArray = [];\r\n for (i = 0; i < item.ItemValue.length; i++) {\r\n var file = item.ItemValue[i];\r\n vm.ImageArray.push(elem.files[i]);\r\n var reader = new FileReader();\r\n reader.onload = function (e) {\r\n //$scope.images.push(e.target.result);\r\n $scope.display = e.target.result;\r\n vm.tempImg = e.target.result;\r\n // $log.log('file',vm.tempImg);\r\n $scope.$apply();\r\n }\r\n reader.readAsDataURL(file);\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\n vm.OpenTicketEditModal = function (action) {\r\n vm.ModalActionWithValuesList = {}\r\n vm.currentStepModel = action.action;\r\n currentStepName = vm.currentStepModel.Action;\r\n ticketEditModalInstance = $uibModal.open({\r\n templateUrl: 'ticketEdit_modal.html',\r\n scope: $scope\r\n });\r\n angular.copy(action.action, vm.ModalActionWithValuesList);\r\n }\r\n\r\n vm.CloseModal = function () {\r\n ticketEditModalInstance.close();\r\n }\r\n vm.getVideoUrl = function (url) {\r\n if (url) {\r\n return $sce.trustAsResourceUrl(ImageUrl + '/' + url+'?autoplay=0');\r\n } else {\r\n return \"assets/images/patterns/placeholder.png\";\r\n }\r\n }\r\n\r\n vm.UpdateStep = function () {\r\n\r\n var formData = new FormData();\r\n\r\n for (var ticketmodelIndex = 0; ticketmodelIndex < vm.TicketInfo.TemplateModel.SectionList.length; ticketmodelIndex++) {\r\n var Action = vm.TicketInfo.TemplateModel.SectionList[ticketmodelIndex].Action;\r\n var section = vm.TicketInfo.TemplateModel.SectionList[ticketmodelIndex].SectionName;\r\n if (Action == currentStepName) {\r\n for (var currentModalIndex = 0; currentModalIndex < vm.ModalActionWithValuesList.SectionList.length; currentModalIndex++) {\r\n if (section == vm.ModalActionWithValuesList.SectionList[currentModalIndex].SectionName) {\r\n\r\n vm.TicketInfo.TemplateModel.SectionList[ticketmodelIndex].ItemList = vm.ModalActionWithValuesList.SectionList[currentModalIndex].ItemList;\r\n angular.forEach(vm.TicketInfo.TemplateModel.SectionList[ticketmodelIndex].ItemList, function (item) {\r\n if (item.ItemType == 'Date Type') {\r\n\r\n item.ItemValue = moment(item.ItemValue).format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\");\r\n }\r\n // else if (item.ItemType == 'Signature Type') {\r\n // formData.append(item.ItemName,\"image\");\r\n // item.ItemValue = \"image\"\r\n // }\r\n else if (item.ItemType == 'CheckBoxList DropDown Type') {\r\n item.field_options.options = [];\r\n if (item.ItemValues && item.ItemValues.length > 0) {\r\n\r\n for (var i = 0; i < item.ItemValues.length; i++) {\r\n var obj = { \"label\": item.ItemValues[i] };\r\n // obj.push()\r\n item.field_options.options.push(obj);\r\n }\r\n }\r\n\r\n //item.field_options.options.push(item.ItemValue);\r\n }\r\n else if (item.ItemType == 'Multiple Picture Type' || item.ItemType == 'Signature Type') {\r\n if (vm.ImageArray[section + '_' + item.ItemName]) {\r\n vm.ImageArray[section + '_' + item.ItemName].name = vm.TicketInfo.TicketId + '_' + vm.ImageArray[section + '_' + item.ItemName].name;\r\n item.ItemValue = vm.TicketInfo.TicketId + '_' + Math.random().toString(36).substring(7) + new Date().getTime() + vm.ImageArray[section + '_' + item.ItemName].name;\r\n item.ImageName = item.ItemValue;\r\n formData.append(vm.TicketInfo.TicketId + '_' + vm.ImageArray[section + '_' + item.ItemName].name, vm.ImageArray[section + '_' + item.ItemName], item.ImageName);\r\n\r\n }\r\n // vm.ImageArray[section+'_'+item.ItemName].name = vm.TicketInfo.TicketId+'_'+vm.ImageArray[section+'_'+item.ItemName].name;\r\n // item.ItemValue = vm.TicketInfo.TicketId+'_'+ Math.random().toString(36).substring(7) + new Date().getTime()+vm.ImageArray[section+'_'+item.ItemName].name;\r\n // item.ImageName = item.ItemValue;\r\n // formData.append(vm.TicketInfo.TicketId+'_'+vm.ImageArray[section+'_'+item.ItemName].name,vm.ImageArray[section+'_'+item.ItemName],item.ImageName);\r\n // $log.log('vm.ImageArray',vm.ImageArray);\r\n }\r\n })\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n ticketEditModalInstance.close();\r\n // for(var i=0; i 0) {\r\n vm.cities = [];\r\n JobViewService.getAllCity(loggedInUserId, state,token).then(function (resp) {\r\n vm.cities = resp.data;\r\n angular.forEach(vm.cities, function (c) {\r\n if (vm.TicketInfo.City) {\r\n var city = vm.TicketInfo.City.toUpperCase();\r\n if (c == city) {\r\n vm.TicketInfoEdit.City = c;\r\n }\r\n }\r\n })\r\n }, vm.showFailure);\r\n }\r\n\r\n }\r\n\r\n vm.getAllStates = function () {\r\n JobViewService.getAllState(loggedInUserId,token).then(function (resp) {\r\n vm.states = resp.data;\r\n angular.forEach(vm.states, function (s) {\r\n if (s == vm.TicketInfo.State) {\r\n vm.TicketInfoEdit.State = s;\r\n }\r\n });\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.jobAddressModal = {};\r\n vm.editJobAddress = function () {\r\n\r\n vm.TicketInfoEdit['ConsumerName'] = vm.TicketInfo.ConsumerName;\r\n vm.TicketInfoEdit['ConsumerContact'] = vm.TicketInfo.ConsumerContact;\r\n vm.TicketInfoEdit['Address1'] = vm.TicketInfo.Address1;\r\n vm.TicketInfoEdit['Address2'] = vm.TicketInfo.Address2;\r\n vm.TicketInfoEdit['Pincode'] = vm.TicketInfo.Pincode;\r\n vm.TicketInfoEdit['StartTime'] = vm.TicketInfo.StartTime;\r\n vm.TicketInfoEdit['EndTime'] = vm.TicketInfo.EndTime;\r\n vm.TicketInfoEdit['Region'] = vm.TicketInfo.Region;\r\n vm.TicketInfoEdit['SubRegion'] = vm.TicketInfo.SubRegion;\r\n\r\n if (vm.states && !vm.TicketInfoEdit.State || vm.TicketInfoEdit.State != vm.TicketInfo.State) {\r\n angular.forEach(vm.states, function (s) {\r\n if (s == vm.TicketInfo.State) {\r\n vm.TicketInfoEdit.State = s;\r\n vm.getCities(vm.TicketInfo.State);\r\n }\r\n });\r\n }\r\n\r\n vm.jobAddressModal = $uibModal.open({\r\n templateUrl: 'editJobAddress.html',\r\n scope: $scope,\r\n windowClass: 'schedulerModal'\r\n });\r\n }\r\n\r\n vm.closeJobAddress = function () {\r\n vm.jobAddressModal.close();\r\n }\r\n\r\n vm.updateJobAddress = function () {\r\n vm.jobAddressForm.submitted = true;\r\n if (vm.jobAddressForm.$valid) {\r\n var data = {\r\n \"ConsumerContact\": vm.TicketInfoEdit.ConsumerContact,\r\n \"Address1\": vm.TicketInfoEdit.Address1,\r\n \"Address2\": vm.TicketInfoEdit.Address2,\r\n \"ConsumerName\": vm.TicketInfoEdit.ConsumerName,\r\n \"State\": vm.TicketInfoEdit.State,\r\n \"City\": vm.TicketInfoEdit.City,\r\n \"Pincode\": vm.TicketInfoEdit.Pincode,\r\n \"StartTime\": vm.TicketInfoEdit.StartTime,\r\n \"EndTime\": vm.TicketInfoEdit.EndTime,\r\n \"Region\": vm.TicketInfo.Region,\r\n \"SubRegion\": vm.TicketInfo.SubRegion,\r\n\r\n };\r\n\r\n JobViewService.saveTicket(loggedInUserId, vm.TicketInfo.TicketId, data, token, function (res) {\r\n vm.showSuccess(\"Success\", res);\r\n vm.jobAddressModal.close();\r\n window.location.reload(true);\r\n }, vm.showFailure);\r\n } else {\r\n\r\n }\r\n }\r\n\r\n vm.jobAppointmentModal = {};\r\n vm.editJobAppointment = function () {\r\n vm.TicketInfoEdit['ConsumerName'] = vm.TicketInfo.ConsumerName;\r\n vm.TicketInfoEdit['ConsumerContact'] = vm.TicketInfo.ConsumerContact;\r\n vm.TicketInfoEdit['Address1'] = vm.TicketInfo.Address1;\r\n vm.TicketInfoEdit['Address2'] = vm.TicketInfo.Address2;\r\n vm.TicketInfoEdit['Pincode'] = vm.TicketInfo.Pincode;\r\n vm.TicketInfoEdit['StartTime'] = vm.TicketInfo.StartTime;\r\n vm.TicketInfoEdit['EndTime'] = vm.TicketInfo.EndTime;\r\n\r\n if (vm.states && !vm.TicketInfoEdit.State || vm.TicketInfoEdit.State != vm.TicketInfo.State) {\r\n angular.forEach(vm.states, function (s) {\r\n if (s == vm.TicketInfo.State) {\r\n vm.TicketInfoEdit.State = s;\r\n vm.getCities(vm.TicketInfo.State);\r\n }\r\n });\r\n }\r\n\r\n vm.jobAppointmentModal = $uibModal.open({\r\n templateUrl: 'editJobAppointment.html',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.closeJobAppointment = function () {\r\n vm.jobAppointmentModal.close();\r\n }\r\n\r\n vm.updateJobAppointment = function () {\r\n vm.jobAppointmentForm.submitted = true;\r\n if (vm.jobAppointmentForm.$valid) {\r\n JobViewService.updateStartTime(vm.TicketInfo.TicketId, loggedInUserId, vm.TicketInfoEdit.StartTime, vm.TicketInfoEdit.EndTime, token, function (res) {\r\n vm.showSuccess(\"Success\", \"Start time updated successfully\");\r\n vm.jobAppointmentModal.close();\r\n GetTicketView();\r\n }, vm.showFailure);\r\n }\r\n }\r\n\r\n vm.getReadableTime = function (time) {\r\n vm.timeDisplay = \"\";\r\n if (typeof time == \"object\") {\r\n vm.timeDisplay = time.format(\"DD/MMM/YY LTS\");\r\n }\r\n return vm.timeDisplay;\r\n }\r\n\r\n vm.getEndTime = function () {\r\n vm.TicketInfoEdit.EndTime = moment(vm.TicketInfoEdit.StartTime);\r\n vm.TicketInfoEdit.EndTime.add(\"6\", \"h\");\r\n return vm.TicketInfoEdit.EndTime;\r\n }\r\n\r\n vm.basicPopup = function(ticketId){\r\n // https://perf.mymobiforce.com/?#/Login\r\n var url = UIURL + \"/#\"+'/HardwareDetails/'+ ticketId\r\n // var url = 'http://localhost:3000/#/HardwareDetails/'+ ticketId;\r\n $window.open( url,'HardwareDetails', 'width=1000,height=500');\r\n }\r\n //CompleteJob Model\r\n vm.OpencompleteModel = function () {\r\n vm.SelectedCompletionRemarkList = [];\r\n var ele = {\r\n description:'',\r\n remark: '',\r\n SelectedHWDetailList : [],\r\n // subremarklist: [],\r\n // selectedsubremarklist: [],\r\n\r\n }\r\n vm.SelectedCompletionRemarkList.push(ele);\r\n vm.SelectedHWDetailList = [];\r\n var temp = {\r\n \"Skill\": \"\",\r\n \"Code\": \"\",\r\n \"Name\": \"\",\r\n \"Description\": \"\",\r\n \"Category\": \"\",\r\n \"HardwareFrom\":\"\"\r\n }\r\n // vm.SelectedHWDetailList.push(temp);\r\n vm.JobTypeForModal = vm.TicketInfo.JobType;\r\n vm.CallTypeForModal = vm.SuperVisorData[0].ItemValue;\r\n\r\n CompleteJobModal = $uibModal.open({\r\n templateUrl: 'CompleteJob.html',\r\n backdrop: 'static',\r\n windowClass: 'schedulerModal',\r\n scope: $scope,\r\n controller: ModalInstanceCtrlFollowUp,\r\n // resolve : {\r\n // items : function(){\r\n // return {\r\n // TicketId:ticketId\r\n // };\r\n // }\r\n // },\r\n });\r\n\r\n }\r\n\r\n vm.CloseCompleteJobModal = function () {\r\n vm.callTypeRemark = '';\r\n vm.completeremark = '';\r\n vm.completeremark1 = ''\r\n CompleteJobModal.close();\r\n }\r\n\r\n vm.GetCompletionRemarkList = function () {\r\n JobViewService.GetCompletionRemarkList(loggedInUserId, token, vm.JobTypeForModal, vm.CallTypeForModal).then(function (res) {\r\n vm.RemarkCollection = res.data.RemarkCollectionList;\r\n vm.CompletionRemarkList = [];\r\n if(vm.RemarkCollection)\r\n {\r\n for (var i = 0; i < vm.RemarkCollection.length; i++) {\r\n vm.CompletionRemarkList.push(vm.RemarkCollection[i].CompletionRemark);\r\n } \r\n } \r\n });\r\n }\r\n\r\n //Secondary H/W List\r\n vm.getHWSkillList = function (detailType, parentIndex, index) {\r\n //if (detailType == 'Primary') {\r\n JobViewService.GetHardwareSkillList(loggedInUserId, detailType, token).then(function (resp) {\r\n vm.SelectedCompletionRemarkList[parentIndex].SelectedHWDetailList[index].HWSkillList = resp.data;\r\n //vm.HWSkillList[index][0] = resp.data;\r\n //console.log(vm.HWSkillList[index]);\r\n\r\n })\r\n //} \r\n\r\n }\r\n\r\n vm.getHWDetailBySkill_CategoryList = function (detailType, skill, parentIndex, index) {\r\n var value = detailType + ',' + skill;\r\n var fields = 'Category,Skill';\r\n JobViewService.GetHardwareDetailByFields_ValueList(loggedInUserId, fields, value, token).then(function (resp) {\r\n //vm.HardwareDetailList[index] = resp.data;\r\n vm.SelectedCompletionRemarkList[parentIndex].SelectedHWDetailList[index].HardwareDetailList = resp.data;\r\n //console.log(vm.HardwareDetailList[index]);\r\n })\r\n\r\n }\r\n\r\n vm.onselectEvent = function (name, parentIndex, index) {\r\n var hwdetailslist = vm.SelectedCompletionRemarkList[parentIndex].SelectedHWDetailList[index].HardwareDetailList;\r\n for(var i= 0; i= 0;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n if (accountConfig && accountConfig.MenuListModel) {\r\n for (var i = 0; i < accountConfig.MenuListModel.length; i++) {\r\n if (accountConfig.MenuListModel[i].MenuName == \"Jobs\") {\r\n for (var j = 0; j < accountConfig.MenuListModel[i].SubMenusList.length; j++) {\r\n if (accountConfig.MenuListModel[i].SubMenusList[j].SubMenuName == \"All Jobs\") {\r\n return accountConfig.MenuListModel[i].SubMenusList[j].UpdatePermission.split(\",\").indexOf($localStorage.loggedInUser_Role) >= 0;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n // vm.getTatForJob = function(){\r\n // JobViewService.getTatForJob(token, loggedInUserId, vm.TicketId, function(data){\r\n // vm.jobTatInfo = data;\r\n // vm.jobTatInfo.CompletionDate = moment(vm.jobTatInfo.CompletionDate, \"YYYY-MM-DD HH:mm:ss\").format(\"DD/MM/YYYY HH:mm a\");\r\n // }, vm.showFailure);\r\n // }\r\n // vm.getTatForJob();\r\n\r\n\r\n function SplitTime(numberOfHours) {\r\n var Days = Math.floor(numberOfHours / 24);\r\n var Remainder = numberOfHours % 24;\r\n var Hours = Math.floor(Remainder);\r\n var Minutes = Math.floor(60 * (Remainder - Hours));\r\n return (Days + \" Day's \" + Hours + \" Hours \" + Minutes + \" Minutes\")\r\n }\r\n vm.GetStatusActivityInPie = function () {\r\n\r\n JobViewService.GetStatusActivityInPie(token, loggedInUserId, vm.TicketId, function (data) {\r\n vm.pieCharts['total'] = [];\r\n vm.pieCharts['partner'] = [];\r\n vm.bifurcateData = data;\r\n\r\n //var json = JSON.parse(data);\r\n var value = '';\r\n for (var key in data) {\r\n if (data.hasOwnProperty(key)) {\r\n value = data[key];\r\n }\r\n }\r\n if (value.hasOwnProperty('Hcl_Tat')) {\r\n vm.TotalTat = SplitTime(value['Hcl_Tat']);\r\n } if (value.hasOwnProperty('Partner_Tat')) {\r\n vm.PartnerTat = SplitTime(value['Partner_Tat']);\r\n }\r\n for (var key in value) {\r\n if (value.hasOwnProperty(key)) {\r\n var obj = {};\r\n obj.name = key;\r\n obj.y = value[key];\r\n if (obj.name !== 'Partner_Tat' && obj.name !== 'Hcl_Tat') {\r\n if (obj.y != 0) {\r\n vm.pieCharts['total'].push(obj);\r\n }\r\n\r\n }\r\n if (obj.name !== 'Partner_Tat' && obj.name !== 'Hcl_Tat' && obj.name !== 'customer' && obj.name !== 'hcl' && obj.name !== 'others') {\r\n if (obj.y != 0) {\r\n vm.pieCharts['partner'].push(obj);\r\n }\r\n }\r\n\r\n }\r\n }\r\n $timeout(function () {\r\n vm.createPieChart('total', 'Status chart(in hrs)');\r\n }, 1000)\r\n\r\n //vm.jobTatInfo.CompletionDate = moment(vm.jobTatInfo.CompletionDate, \"YYYY-MM-DD HH:mm:ss\").format(\"DD/MM/YYYY HH:mm a\");\r\n }, vm.showFailure);\r\n }\r\n // vm.GetStatusActivityInPie();\r\n\r\n // vm.GetActivityInPie = function(){\r\n\r\n // JobViewService.GetActivityInPie(token, loggedInUserId, vm.TicketId, function(data){\r\n // vm.pieCharts['Activity'] = {};\r\n // vm.pieCharts['Activity'].value = data;\r\n // $timeout(function(){\r\n // vm.createPieChart('Activity','Activity chart(in hrs)');\r\n // },1000)\r\n\r\n // //vm.jobTatInfo.CompletionDate = moment(vm.jobTatInfo.CompletionDate, \"YYYY-MM-DD HH:mm:ss\").format(\"DD/MM/YYYY HH:mm a\");\r\n // }, vm.showFailure);\r\n // }\r\n // vm.GetActivityInPie();\r\n\r\n\r\n\r\n //Plot Pie Charts\r\n vm.createPieChart = function (ticketId, title) {\r\n vm.showPieChart = vm.showPieChart || {};\r\n vm.tempShowPieChart = vm.tempShowPieChart || {};\r\n vm.showPieChart[ticketId] = true;\r\n $timeout(function () {\r\n vm.tempShowPieChart[ticketId] = false;\r\n if (vm.pieCharts[ticketId]) {\r\n\r\n // for(var i=0; i0){\r\n // vm.tempShowPieChart[ticketId]=true;\r\n // }\r\n // }\r\n //vm.showPieChart[ticketId]=vm.tempShowPieChart[ticketId];\r\n var chartData = {\r\n chart: {\r\n plotBackgroundColor: null,\r\n plotBorderWidth: null,\r\n plotShadow: false,\r\n type: 'pie'\r\n },\r\n colors: ['#3093d1', '#fcb631', '#9ad631', '#f34ea8', '#30bfdd', '#fc9532', '#9f4bc7', '#304ec6', '#fcd731', '#f08576', '#418842'],\r\n title: {\r\n text: 'TAT hrs',\r\n align: 'center',\r\n verticalAlign: 'middle',\r\n y: 60\r\n },\r\n subtitle: {\r\n text: ''\r\n },\r\n tooltip: {\r\n\r\n pointFormatter: function () {\r\n var Days = Math.floor(this.y / 24);\r\n var Remainder = this.y % 24;\r\n var Hours = Math.floor(Remainder);\r\n var Minutes = Math.floor(60 * (Remainder - Hours));\r\n\r\n var val = this.y;\r\n\r\n\r\n return (':' + '' + Days + ' Days ' + Hours + ' Hours ' + Minutes + ' Minutes' + '
');\r\n }\r\n // shared: true, useHTML: true\r\n //pointFormat: '{series.name}: {point.y:.1f}%'\r\n },\r\n plotOptions: {\r\n pie: {\r\n size: \"180%\",\r\n dataLabels: {\r\n\r\n formatter: function () {\r\n // var Days=Math.floor(this.y/24);\r\n // var Remainder=this.y % 24;\r\n // var Hours=Math.floor(Remainder);\r\n // var Minutes=Math.floor(60*(Remainder-Hours));\r\n var pointName = this.point.name.toUpperCase();\r\n // return(pointName + ' ' +Days+\" Day's \"+Hours +\" Hours \"+Minutes+\" Minutes\")\r\n return (pointName + ' ' + this.y + 'hrs')\r\n },\r\n\r\n // format: '{point.name}: {point.y} hrs',\r\n enabled: true,\r\n\r\n distance: 5,\r\n style: {\r\n fontWeight: '',\r\n color: 'black'\r\n }\r\n },\r\n\r\n allowPointSelect: false,\r\n cursor: 'pointer',\r\n // distance: -50,\r\n // dataLabels: {\r\n // format: '{point.name}: {point.y} ',\r\n // enabled: false\r\n // },\r\n\r\n showInLegend: false,\r\n startAngle: -90,\r\n endAngle: 90,\r\n center: ['50%', '100%']\r\n }\r\n },\r\n series: [{\r\n name: '',\r\n colorByPoint: true,\r\n innerSize: '50%',\r\n data: vm.pieCharts[ticketId]\r\n }]\r\n };\r\n if (chartData && chartData.series && chartData.series.length > 0 && chartData.series[0].data\r\n && chartData.series[0].data.length > 0 && chartData.series[0].data[0]) {\r\n //chartData.series[0].data[0].sliced=true;\r\n // chartData.series[0].data[0].selected=true;\r\n }\r\n var chart = new Highcharts.chart(ticketId, chartData);\r\n\r\n chart.reflowNow = function () {\r\n this.containerHeight = this.options.chart.height || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'height');\r\n this.containerWidth = this.options.chart.width || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'width');\r\n this.setSize(this.containerWidth, this.containerHeight, false);\r\n this.hasUserSize = null;\r\n }\r\n }\r\n }, 1000);\r\n }\r\n\r\n vm.getJobStatusTrackerTime = function (timeInfloatMin) {\r\n var time = \"\";\r\n if (timeInfloatMin && timeInfloatMin > 0) {\r\n var hour = vm.floatToInt(timeInfloatMin / 60);\r\n var min = vm.floatToInt(timeInfloatMin % 60);\r\n if (hour > 0) {\r\n time += hour + \" h \";\r\n }\r\n if (min > 0) {\r\n time += min + \" m \";\r\n }\r\n }\r\n return time;\r\n }\r\n }\r\n vm.getPicUrl = function (pic) {\r\n return ImageUrl + \"/\" + pic;\r\n}\r\n $scope.attachUpdateFollowUp = function(files){\r\n var file = files.files[0];\r\n var allowedExtensions = /(\\.jpg|\\.jpeg|\\.png|\\.msg|\\.pdf|\\.bmp|\\.xps|\\.doc|\\.docs|\\.xls|\\.xlsx)$/i; \r\n if(!allowedExtensions.exec(file.name)){\r\n vm.updatefollowFiles = [];\r\n vm.clear(); \r\n alert('Please upload file having extensions .jpg,.jpeg,.png,.msg,.pdf,.bmp,.xps,.doc,.xls only.');\r\n }\r\n else\r\n {\r\n var fileExtension = file.name.substr((file.name.lastIndexOf('.') + 1));\r\n console.log (fileExtension);\r\n vm.updatefollowFiles = files.files;\r\n //vm.updatefollowupFilepath = files.files;\r\n if(angular.uppercase(fileExtension)==\"JPG\" || angular.uppercase(fileExtension)==\"JPEG\" || angular.uppercase(fileExtension)==\"PNG\" || angular.uppercase(fileExtension)==\"BMP\") \r\n {\r\n var reader = new FileReader(); \r\n reader.onload = function(event) {\r\n vm.updatefollowupFilepath = event.target.result;\r\n $scope.$apply(); \r\n }\r\n // when the file is read it triggers the onload event above.\r\n reader.readAsDataURL(files.files[0]);\r\n }\r\n else if(angular.uppercase(fileExtension)==\"PDF\")\r\n { \r\n vm.updatefollowupFilepath = \"assets/images/patterns/pdf.PNG\";\r\n $scope.$apply(); \r\n }\r\n else if(angular.uppercase(fileExtension)==\"XPS\")\r\n { \r\n vm.updatefollowupFilepath = \"assets/images/patterns/MSGicon.png\";\r\n $scope.$apply(); \r\n }\r\n else if(angular.uppercase(fileExtension)==\"MSG\")\r\n { \r\n vm.updatefollowupFilepath = \"assets/images/patterns/XPSicon.png\";\r\n $scope.$apply(); \r\n }\r\n else if(angular.uppercase(fileExtension)==\"DOC\" || angular.uppercase(fileExtension)==\"DOCS\")\r\n { \r\n vm.updatefollowupFilepath = \"assets/images/patterns/word_doc.jpg\";\r\n $scope.$apply(); \r\n }\r\n else if(angular.uppercase(fileExtension)==\"XLS\" || angular.uppercase(fileExtension)==\"XLSX\")\r\n { \r\n vm.updatefollowupFilepath = \"assets/images/patterns/XLSicon.jpg\";\r\n $scope.$apply(); \r\n }\r\n }\r\n\r\n }\r\n vm.clear = function () {\r\n angular.element(\"input[type='file']\").val(null);\r\n };\r\n vm.changeFile = function (selector) {\r\n angular.element(selector).trigger(\"click\");\r\n}\r\n//Follow Up Model\r\nvm.OpenUpdateFollowUpModel = function(followupDocId, ticketId, followupActivity,followupFilepath) { \r\n vm.followup = '';\r\n vm.followupDocId = followupDocId;\r\n vm.followup = followupActivity;\r\n vm.tickId = ticketId;\r\n // vm.updatefollowupFilepath = followupFilepath;\r\n if(followupFilepath)\r\n{\r\n var fileExtension = followupFilepath.substring(followupFilepath.lastIndexOf(\".\") + 1)\r\n\r\nif(angular.uppercase(fileExtension)==\"JPG\" || angular.uppercase(fileExtension)==\"JPEG\" || angular.uppercase(fileExtension)==\"PNG\" || angular.uppercase(fileExtension)==\"BMP\") \r\n { \r\n vm.updatefollowupFilepath = followupFilepath;\r\n \r\n }\r\n else if(angular.uppercase(fileExtension)==\"PDF\")\r\n { \r\n vm.updatefollowupFilepath = \"assets/images/patterns/pdf.PNG\";\r\n \r\n }\r\n else if(angular.uppercase(fileExtension)==\"XPS\")\r\n { \r\n vm.updatefollowupFilepath = \"assets/images/patterns/MSGicon.png\";\r\n \r\n }\r\n else if(angular.uppercase(fileExtension)==\"MSG\")\r\n { \r\n vm.updatefollowupFilepath = \"assets/images/patterns/XPSicon.png\";\r\n \r\n }\r\n else if(angular.uppercase(fileExtension)==\"DOC\" || angular.uppercase(fileExtension)==\"DOCS\")\r\n { \r\n vm.updatefollowupFilepath = \"assets/images/patterns/word_doc.jpg\";\r\n \r\n }\r\n else if(angular.uppercase(fileExtension)==\"XLS\" || angular.uppercase(fileExtension)==\"XLSX\")\r\n { \r\n vm.updatefollowupFilepath = \"assets/images/patterns/XLSicon.jpg\";\r\n \r\n }\r\n}\r\nelse{\r\n vm.updatefollowupFilepath = followupFilepath;\r\n}\r\n\r\n UpdateFollowUpModel = $uibModal.open({\r\n templateUrl: 'UpdateFollowupJob.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n controller: ModalInstanceCtrlUpdateFollowUp,\r\n // resolve : {\r\n // items : function(){\r\n // return {\r\n // TicketId:ticketId\r\n // };\r\n // }\r\n // },\r\n}); \r\n}\r\nvm.CloseUpdateFollowUpModel = function () {\r\n UpdateFollowUpModel.close();\r\n}\r\n\r\n\r\nvar ModalInstanceCtrlUpdateFollowUp = function($scope, $rootScope, $uibModalInstance) {\r\n\r\nvm.updateFollowUpStatus = function(){ \r\n if(!vm.followup)\r\n {\r\n alert('Please enter description');\t\t\t\t\t\r\n return;\r\n }\r\n\r\n var data = {};\r\n data = {\r\n \"userId\": loggedInUserId,\r\n \"dateTime\": \"\",\r\n \"activity\": vm.followup,\r\n \"action\": \"FOLLOW_UP\",\r\n \"userName\": \"\",\r\n \"ticketId\": vm.tickId,\r\n \"primaryReason\": \"\",\r\n \"SecondryReason\": \"\",\r\n \"ReasonComment\": \"\",\r\n \"Id\": vm.followupDocId\r\n }\r\n // $log.log('Com',data);\r\n \r\n vm.CloseUpdateFollowUpModel();\r\n JobViewService.FollowUpWithAttachment(data, vm.updatefollowFiles, token, function (res) {\r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Follow up update successfully.\");\r\n \r\n $timeout(function () {\r\n if (Role == 'Administrator') {\r\n \r\n $state.go(\"index.HelpDesk\", {\r\n reload: true\r\n });\r\n \r\n }else{\r\n \r\n $state.go(\"index.HelpDesk\", {\r\n reload: true\r\n });\r\n \r\n }\r\n }, 100);\r\n window.location.reload();\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to update follow up. Server is not responding correctly.\");\r\n }\r\n },vm.showFailure);\r\n }\r\n \r\n}\r\n\r\n\r\n//Confirmation model popup\r\nvm.OpenConfirmationModelPopup = function(DocId,ticketId) { \r\n vm.DocId = DocId;\r\n vm.tickId = ticketId;\r\n ConfirmationModel = $uibModal.open({\r\n templateUrl: 'ConfirmationModelPopup.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n controller: ModalInstanceCtrlConfirmation, \r\n}); \r\n}\r\nvm.CloseConfirmationModel = function () {\r\n ConfirmationModel.close();\r\n}\r\n\r\nvar ModalInstanceCtrlConfirmation = function($scope, $rootScope, $uibModalInstance) {\r\n vm.DeleteFollowUp = function(){\r\n vm.CloseConfirmationModel();\r\n JobViewService.DeleteFollowUp(loggedInUserId, vm.DocId, token, function (res) {\r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Follow up delete successfully.\"); \r\n $timeout(function () {\r\n if (Role == 'Administrator') { \r\n $state.go(\"index.HelpDesk\", {\r\n reload: true\r\n });\r\n \r\n }else{\r\n \r\n $state.go(\"index.HelpDesk\", {\r\n reload: true\r\n });\r\n \r\n }\r\n }, 100);\r\n window.location.reload();\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to delete follow up. Server is not responding correctly.\");\r\n }\r\n },vm.showFailure);\r\n }\r\n \r\n}\r\n\r\n\r\n vm.getCallTypeList = function (jobType, callType) {\r\n vm.CallTypeItemList = [];\r\n if (jobType == 'VSAT') {\r\n if (callType[0].ItemValue == 'Maintenance') {\r\n vm.CallTypeList = [\"IDU replaced. Vsat made up and working\",\r\n \"ODU replaced. Vsat made up and working\",\r\n \"LNBC replaced. Vsat made up and working\",\r\n \"IFL cable replaced. Vsat made up and working\",\r\n \"LNA replaced. Vsat made up and working\",\r\n \"Feed replaced. Vsat made up and working\",\r\n \"Antenna replaced. Vsat made up and working\",\r\n \"Connector replaced. Vsat made up and working\",\r\n \"After antenna alignment Vsat made up and working\",\r\n \"Power issue resolved at customer premises. Vsat has come up and working\",\r\n \"UPS issue has been resolved at customer end. Vsat has come up and working\",\r\n \"Earthing issue has been resolved at customer end. Vsat has come up and working\",\r\n \"After powering ON the equipments. Vsat made up and working\",\r\n \"Hardware rebooted. Vsat made up\",\r\n \"Monkey cage issue resolved. Vsat made up and working\",\r\n \"Others\"\r\n ]\r\n } else if (callType[0].ItemValue == 'Installation') {\r\n vm.CallTypeList = [\"Installation and activation has been done. Vsat is up and working\",\r\n \"Installation done after rectification of power/earthing parameter at customer end\",\r\n \"Others\"\r\n ]\r\n } else if (callType[0].ItemValue == 'Shifting') {\r\n vm.CallTypeList = [\"Shifting of Vsat completed from old premises to new premises\",\r\n \"Shifting of Vsat completed from existing floor to new floor in the same premises\",\r\n \"Shifting of IDU/ODU completed\",\r\n \"Shifting done after rectification of power/earthing parameter at customer end\",\r\n \"Others\"\r\n ]\r\n }\r\n } else if (jobType == 'LeaseLine') {\r\n if (callType[0].ItemValue == 'LLM') {\r\n vm.CallTypeList = [\"Local lead issue has been resolved. Link is up and working\",\r\n \"UG Cable cut restored. Link is up and working\",\r\n \"OFC cut has been restored. Link came up and working\",\r\n \"Mux issue has been resolved. Link has come up and working\",\r\n \"MPLS trunk issue has been resolved. Link is up and working\",\r\n \"NIB routing issue has been resolved. Links are up and working\",\r\n \"Major media failure has been resolved. Links came up and working\",\r\n \"BSNL hardware issue has been resolved. Link is up and working\",\r\n \"Router replaced. Link is up and working\",\r\n \"Switch replaced. Link is up and working\",\r\n \"MLLN modem replaced. Link is up and working\",\r\n \"conventional modem replaced. Link made up\",\r\n \"HWIC card replaced. Link is up and working\",\r\n \"Serial cable replaced. Link is up and working\",\r\n \"OFC media has been restored. Link is up and working\",\r\n \"BSNL wiring issue resolved in the exchange. Link is up and working\",\r\n \"Customer's modem has been replaced. Link is up\",\r\n \"Customer's router has been replaced. Link made up\",\r\n \"No issue found in the link. Customer saying up\",\r\n \"High utilization due to which getting slow connectivity\",\r\n \"LAN issue resolved. Customer is getting connectivity\",\r\n \"PCM issue resolved. Link has come up\",\r\n \"Mux channel issue resolved. Link has come up.\",\r\n \"Routing issue b/w MTNL & BSNL has been resolved. Link has come up\",\r\n \"Power issue resolved in the exchange. Link has come up and working\",\r\n \"UPS issue has been resolved at customer end. Link has come up and working\",\r\n \"Earthing issue has been resolved at customer end. Link has come up and working\",\r\n \"After powering ON the equipments Link made up and working\",\r\n \"Hardware rebooted. Link made up.\",\r\n \"Others\"\r\n ]\r\n } else if (callType[0].ItemValue == 'LLP') {\r\n vm.CallTypeList = [\"Commissioning done after PCM/Channal wiring done\",\r\n \"Commissioning done after replacing MLLN modem\",\r\n \"Commissioning done after completion of MPLS end configuration\",\r\n \"Commissioning done after OFC media preparation\",\r\n \"Commissioning done after allocation of channel\",\r\n \"Commissioning done after replacing router/card\",\r\n \"Commissioning done after replacing serial cable\",\r\n \"Commissioning done after configuring the CE router\",\r\n \"Commissioning done after media preparation b/w MTNL & BSNL\",\r\n \"Commissioning done after installation of new local lead\",\r\n \"Commissioning done after rectification of power/earthing parameter at customer end\",\r\n \"Others\"\r\n ]\r\n } else if (callType[0].ItemValue == 'Upgration') {\r\n vm.CallTypeList = [\"Upgradation done after PCM/Channal wiring done\",\r\n \"Upgradation done after replacing MLLN modem\",\r\n \"Upgradation done after completion of MPLS end configuration\",\r\n \"Upgradation done after OFC media preparation\",\r\n \"Upgradation done after allocation of channel\",\r\n \"Upgradation done after replacing router/card\",\r\n \"Upgradation done after replacing serial cable\",\r\n \"Upgradation done after configuring the CE router\",\r\n \"Upgradation done after media preparation b/w MTNL & BSNL\",\r\n \"Upgradation done after rectification of power/earthing parameter at customer end\",\r\n \"Others\"\r\n ]\r\n } else if (callType[0].ItemValue == 'Shifting') {\r\n vm.CallTypeList = [\"Shifting of link completed from old premises to new premises\",\r\n \"Shifting of link completed from existing floor to new floor in the same premises\",\r\n \"Shifting of exchange completed\",\r\n \"Shifting done after rectification of power/earthing parameter at customer end\",\r\n \"Others\"\r\n ]\r\n } else if (callType[0].ItemValue == 'Installation & Configuration of Device') {\r\n vm.CallTypeList = [\"Router installed. Link made up and working\",\r\n \"Switch installed. Link made up and working\",\r\n \"HWIC card installed. Link made up and working\",\r\n \"Serial cable installed. Link made up and working\",\r\n \"MLLN modem installed. Link made up and working\",\r\n \"Router/MLLN modem/switch installed at customer end\",\r\n \"UPS installed at customer end. Link made up and working\",\r\n \"Installation done after rectification of power/earthing parameter at customer end\",\r\n \"Others\"\r\n ]\r\n }\r\n }\r\n }\r\n\r\n});\r\n\nangular.module('inspinia').controller('JobBidCreationController', function ($stateParams,jobBidCreationService, $window, $log, $q, $compile, DTOptionsBuilder, DTColumnBuilder,$localStorage, ticketTemplateService, $scope, $state, FreelancerURL, ApiURL, $timeout) {\r\n\r\n var vm = this;\r\n\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n \r\n if (!loggedinUser) {\r\n $state.go('index.Login', {\r\n reload: true\r\n });\r\n }\r\n else\r\n {\r\n vm.cloneticketid = $stateParams.cloneticketid;\r\n }\r\n if ($localStorage.accountConfig) {\r\n if ($localStorage.accountConfig.EnableRegion) {\r\n vm.EnableRegion = $localStorage.accountConfig.EnableRegion;\r\n }\r\n vm.IsPCLink = $localStorage.accountConfig.IsPCLink;\r\n }else{\r\n vm.EnableRegion = false;\r\n }\r\n\r\n // vm.GSTPercentange = 5;\r\n var token = $localStorage.token;\r\n\r\n vm.CustomizedCommission = $localStorage.accountConfig.CustomizedCommission;\r\n vm.MobiforceCommission = $localStorage.accountConfig.MobiforceCommissionPercentage;\r\n var accountConfig = $localStorage.accountConfig;\r\n vm.FreelancerAccess = $localStorage.accountConfig.FreelancerAccess;\r\n vm.sameAddress = false;\r\n vm.LineItem='';\r\n vm.disableCreate = false;\r\n vm.address = {};\r\n vm.contactPerson = '';\r\n vm.contactNumber = '';\r\n vm.jobType ='';\r\n vm.RegionList = '';\r\n vm.SubRegionList = '';\r\n vm.customerList = [];\r\n vm.projectList = [];\r\n vm.jobId = '';\r\n vm.templateList = [];\r\n vm.skills = [];\r\n vm.locations = [];\r\n vm.ItemValue = '';\r\n vm.serviceType = '';\r\n vm.schedulingrules = '';\r\n vm.showSchedulingRules = false;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n vm.DefaultCustomer = vm.getAccountConfigSetting('DefaultCustomer');\r\n vm.LocationMapping = vm.getAccountConfigSetting('LocationMapping');\r\n vm.DefaultProject = vm.getAccountConfigSetting('DefaultProject');\r\n vm.DefaultTemplate = vm.getAccountConfigSetting('DefaultTemplate');\r\n console.log('Default',vm.DefaultTemplate,vm.DefaultProject,vm.DefaultCustomer);\r\n vm.states = [{ \"state\": \"Loading...\" }];\r\n vm.cities = [{ \"city\": \"\" }];\r\n vm.selectedCustomer = \"\";\r\n vm.selectedProject = \"\";\r\n vm.selectedTemplate = \"\";\r\n vm.selectedLocation = \"\";\r\n vm.selectedProject.GetFenceRange = 0;\r\n vm.Region = '';\r\n vm.SubRegion = '';\r\n vm.ticketPrice = \"\";\r\n vm.freelancerPrice = \"\";\r\n vm.tPrice = \"\";\r\n vm.commission = \"\";\r\n vm.tax = \"\";\r\n vm.freelancerPricetemp = \"\";\r\n vm.bidDuration = new Date(2019,1,1,0,30,0,0);\r\n// vm.startTime = moment();\r\n// vm.endTime = moment();\r\n vm.AppointmentType = 0;\r\n vm.ScopeWork = {};\r\n vm.ScopeWorkPath= {};\r\n vm.SpareTransportType= {};\r\n vm.Courier= {};\r\n vm.PickUp= {};\r\n vm.PickUpDrop= {};\r\n if(vm.VerticalName == 'Spectro Labs'){\r\n vm.description = \"Water Sample Collection\";\r\n}else {\r\n vm.description = \"\";\r\n vm.showRateCard = true;\r\n}\r\nvm.priority = \"\";\r\nvm.cloneReason =\"\";\r\nvm.monthNames = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\",\r\n\"July\", \"August\", \"September\", \"October\", \"November\", \"December\"\r\n];\r\nvm.monthNames3 = [\"JAN\", \"FEB\", \"MAR\", \"APR\", \"MAY\", \"JUN\",\r\n\"JUL\", \"AUG\", \"SEP\", \"OCT\", \"NOV\", \"DEC\"\r\n];\r\n\r\nvm.changeAppointmentType = function(){\r\n var dt = new Date();\r\n dt.setMinutes(dt.getMinutes() + 30);\r\n vm.startTime = dt;\r\n // vm.startTime = new Date()\r\n var edt = new Date();\r\n edt.setMinutes(edt.getMinutes() + 30);\r\n edt.setHours(edt.getHours() + 4);\r\n vm.endTime = edt;\r\n // vm.endTime = new Date();\r\n}\r\nvm.changeAppointmentType();\r\n\r\nvm.jobOccurrance = {\r\n sampleDate: new Date(),\r\n start_date: new Date(),\r\n end_date: new Date(),\r\n status: false,\r\n frequency: \"ONCE\",\r\n once: \"ONCE\",\r\n daily: \"DAILY\",\r\n weekly: \"WEEKLY\",\r\n cronExpression: \"EXPRESSION\",\r\n monthly: \"MONTHLY\",\r\n input_of_week: {\r\n mon: false,\r\n tue: false,\r\n wed: false,\r\n thu: false,\r\n fri: false,\r\n sat: false,\r\n sun: false\r\n },\r\n input_for_month: {\r\n option: \"first_day\",\r\n first_day: \"first_day\",\r\n last_day: \"last_day\",\r\n specific_date: \"specific_date\",\r\n date: 1\r\n },\r\n specific_date_range: [],\r\n displayDate: function (date) {\r\n var date = new Date(date);\r\n return date.getDate() + \" \" + vm.monthNames[date.getMonth()] + \" \" + date.getFullYear();\r\n }\r\n};\r\n\r\nfor (var i = 1; i < 32; i++) {\r\n vm.jobOccurrance.specific_date_range.push({ value: i, label: i });\r\n}\r\n\r\njobBidCreationService.setShowSuccess($scope.$parent.$parent.main.showSuccess);\r\njobBidCreationService.setShowFailure($scope.$parent.$parent.main.showFailure);\r\n\r\n\r\nvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\nvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\r\nvm.resetJobOccurranceDate = function () {\r\n vm.jobOccurrance.start_date = new Date();\r\n var endDate = new Date();\r\n if (vm.jobOccurrance.frequency == vm.jobOccurrance.daily) {\r\n endDate.setMonth(endDate.getMonth() + 1);\r\n } else if (vm.jobOccurrance.frequency == vm.jobOccurrance.weekly) {\r\n endDate.setMonth(endDate.getMonth() + 3);\r\n } else if (vm.jobOccurrance.frequency == vm.jobOccurrance.monthly) {\r\n endDate.setFullYear(endDate.getFullYear() + 1);\r\n }\r\n vm.jobOccurrance.end_date = endDate;\r\n}\r\n\r\n\r\nvm.getCustomerCallback = function (customers) {\r\n vm.customerList = customers;\r\n if (vm.DefaultCustomer!=null || vm.DefaultCustomer!='') {\r\n angular.forEach(vm.customerList,function(d){\r\n if (d.CompanyName == vm.DefaultCustomer) {\r\n vm.selectedCustomer = d;\r\n vm.selectCustomer(vm.selectedCustomer);\r\n //console.log('vm.selectedCustomer',vm.selectedCustomer);\r\n }\r\n })\r\n }\r\n}\r\n\r\nfunction GetTicketForClone()\r\n{\r\n if(vm.cloneticketid)\r\n {\r\n jobBidCreationService.GetJobTicket(vm.cloneticketid, token, loggedinUser).then(function (resp) {\r\n vm.TicketInfo = resp.data;\r\n vm.jobId = vm.TicketInfo.JobId;\r\n vm.description = vm.TicketInfo.JobDescription;\r\n vm.priority = vm.TicketInfo.Priority;\r\n // vm.jobType = vm.TicketInfo.JobType;\r\n vm.selectedCustomer = vm.TicketInfo.CustomerName;\r\n vm.selectedProject = vm.TicketInfo.ProjectName;\r\n vm.contactPerson = vm.TicketInfo.ConsumerName;\r\n vm.contactNumber = vm.TicketInfo.ConsumerContact;\r\n vm.address.Address1 = vm.TicketInfo.Address1;\r\n vm.address.Address2 = vm.TicketInfo.Address2;\r\n vm.address.State = vm.TicketInfo.State;\r\n vm.address.City = vm.TicketInfo.City;\r\n vm.address.PinCode = vm.TicketInfo.Pincode;\r\n vm.startTime = new Date(vm.TicketInfo.StartTime);\r\n vm.endTime = new Date(vm.TicketInfo.EndTime);\r\n vm.selectedTemplate = vm.TicketInfo.Template; \r\n vm.bidDuration = new Date(2019,1,1,0,vm.TicketInfo.BidDuration,0,0);\r\n vm.serviceType = vm.TicketInfo.PaymentType?vm.TicketInfo.PaymentType:'Free';\r\n vm.ticketPrice = vm.TicketInfo.BroadcastRate;\r\n vm.LineItem =vm.TicketInfo.IsLineItemAvailable;\r\n //Added by vikash\r\n vm.AppointmentType = vm.TicketInfo.AppointmentType;\r\n vm.ScopeWork = vm.TicketInfo.ScopeWork;\r\n vm.ScopeWorkPath= vm.TicketInfo.ScopeWorkPath;\r\n vm.SpareTransportType= vm.TicketInfo.SpareTransportType;\r\n vm.Courier= vm.TicketInfo.Courier;\r\n vm.PickUp= vm.TicketInfo.PickUp;\r\n vm.PickUpDrop= vm.TicketInfo.PickUpDrop;\r\n \r\n\r\n // vm.selectCustomer(vm.selectedCustomer);\r\n vm.selectProject(vm.selectedProject);\r\n $scope.calculatePrice();\r\n vm.selectTemplate(vm.selectedTemplate);\r\n vm.getAllCities(vm.address.State);\r\n\r\n if(vm.LineItem == true){\r\n $(\"#lineitem\").hide();\r\n \r\n }\r\n },\r\n\r\n \r\n function (error) {\r\n //$log.log(error);\r\n });\r\n }\r\n}\r\n GetTicketForClone();\r\n\r\nvm.GetServiceTax = function(data)\r\n{ \r\n vm.GSTPercentange =data;\r\n}\r\n\r\nvm.GetMobCommission = function(data)\r\n{ \r\n vm.MobiforceCommission =data;\r\n}\r\n\r\nvm.getProjectCallback = function (projects) {\r\n vm.projectList = projects;\r\n if (vm.DefaultProject!=null || vm.DefaultProject!='') {\r\n angular.forEach(vm.projectList, function(d){\r\n if (d.Name == vm.DefaultProject) {\r\n vm.selectedProject = d;\r\n vm.selectProject(vm.selectedProject);\r\n vm.ticketPrice = vm.selectedProject.JobRate;\r\n //console.log('vm.selectProject',vm.selectProject);\r\n // calculatePrice\r\n $scope.calculatePrice();\r\n if(vm.selectedProject.JobRate){\r\n vm.ticketPrice = vm.selectedProject.JobRate;\r\n }else{\r\n vm.ticketPrice = '';\r\n }\r\n\r\n }\r\n })\r\n }\r\n}\r\n\r\nvm.getTemplateCallback = function (templates) {\r\n vm.templateList = templates;\r\n if (vm.DefaultTemplate!=null && vm.DefaultTemplate!='') {\r\n angular.forEach(vm.templateList, function(d){\r\n if (d.TemplateName == vm.DefaultTemplate) {\r\n vm.selectedTemplate = d;\r\n //console.log('vm.selectedTemplate',vm.selectedTemplate);\r\n }\r\n })\r\n }\r\n}\r\n\r\nvm.getAllStatesCallback = function (states) {\r\n vm.states = states;\r\n if(vm.sameAddress){\r\n vm.address.State=vm.searchState(vm.selectedCustomer.State);\r\n vm.getAllCities(vm.address.State);\r\n }\r\n}\r\n\r\nvm.getAllCitiesCallback = function (cities) {\r\n vm.cities = cities;\r\n vm.address.City = vm.searchCity(vm.selectedCustomer.City);\r\n}\r\n\r\n // vm.getSkillsCallback = function (skills) {\r\n // vm.skills = skills;\r\n // }\r\n\r\n vm.getLocationCallback = function (locations) {\r\n vm.locations = locations;\r\n if (vm.locations.length ==1) {\r\n vm.selectedLocation = vm.locations[0];\r\n vm.selectedLocCheck = true;\r\n }else{\r\n vm.selectedLocation = '';\r\n vm.selectedLocCheck = false;\r\n }\r\n\r\n }\r\n\r\n vm.selectCustomer = function (item) {\r\n vm.sameAddress = false;\r\n\r\n if(vm.IsPCLink)\r\n {\r\n vm.selectedLocation = '';\r\n vm.locations = [];\r\n vm.selectedLocCheck = false;\r\n vm.selectedProject = ''\r\n jobBidCreationService.getAllProjectList(loggedinUser, item.CustomerId, token, vm.getProjectCallback); \r\n }\r\n}\r\n\r\nvm.selectProject = function (project) {\r\n\r\n vm.selectedLocation = '';\r\n vm.locations = [];\r\n vm.serviceType = project.PaymentType?project.PaymentType:'Free';\r\n vm.calculatePrice();\r\n\r\n if (vm.LocationMapping == \"Project\" || vm.LocationMapping == \"State\" || vm.LocationMapping == null || vm.LocationMapping == \"\") {\r\n jobBidCreationService.GetProjectLocations(loggedinUser, project.Name, token, vm.getLocationCallback); \r\n }else if(vm.LocationMapping == 'Circle'){\r\n jobBidCreationService.GetTelecomCircle(loggedinUser, token).then(function(resp){\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.values.length>0) {\r\n vm.locations = resp.data.values;\r\n\r\n }\r\n }\r\n })\r\n }\r\n}\r\n\r\nvm.selectTemplate = function (template) {\r\n\r\n if (vm.selectedProject.ProjectId && template) {\r\n jobBidCreationService.GetSchedulingRules(loggedinUser, template.Skill, vm.selectedProject.ProjectId, token, vm.getSchedulingRuleCallback); \r\n }\r\n}\r\n\r\nvm.getSchedulingRuleCallback = function (schedulingrules) {\r\n vm.schedulingrules = schedulingrules;\r\n if(vm.schedulingrules.length > 0){\r\n vm.CreateTable();\r\n vm.showSchedulingRules = true;\r\n }\r\n \r\n }\r\n\r\n\r\n\r\nvm.CreateTable = function () {\r\n vm.headerCompiled = false;\r\n vm.dtInstance = {};\r\n vm.selected = {};\r\n vm.selectAll = false;\r\n vm.toggleAll = toggleAll;\r\n vm.toggleOne = toggleOne;\r\n // var titleHtml = '
';\r\n\r\n vm.dtOptions = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n defer.resolve(vm.schedulingrules);\r\n return defer.promise;\r\n })\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withBootstrap()\r\n .withOption('createdRow', function (row, data, dataIndex) {\r\n $compile(angular.element(row).contents())($scope);\r\n })\r\n .withOption('headerCallback', function (header) {\r\n if (!vm.headerCompiled) {\r\n // Use this headerCompiled field to only compile header once\r\n vm.headerCompiled = true;\r\n $compile(angular.element(header).contents())($scope);\r\n }\r\n });\r\n\r\n\r\n vm.dtColumns = [\r\n DTColumnBuilder.newColumn(null).withTitle(null).renderWith(function (data, type, full, meta) {\r\n vm.selected[meta.row] = data.IsEnable;\r\n return '
';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn('RuleId').withTitle('Rule Id').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n }),\r\n DTColumnBuilder.newColumn('Name').withTitle('Name').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n }),\r\n DTColumnBuilder.newColumn('RuleType').withTitle('Type').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n }),\r\n DTColumnBuilder.newColumn('Description').withTitle('Description').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n })\r\n\r\n\r\n ];\r\n\r\n function toggleAll(selectAll, selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n selectedItems[id] = selectAll;\r\n }\r\n }\r\n }\r\n\r\n function toggleOne(selectedItems) {\r\n var tempRuleIdList = [];\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n vm.schedulingrules[id].IsEnable = selectedItems[id];\r\n if (vm.schedulingrules[id].IsEnable) {\r\n tempRuleIdList.push(vm.schedulingrules[id].RuleId);\r\n }\r\n }\r\n } \r\n vm.selectAll = true;\r\n }\r\n\r\n}\r\n\r\nvm.toggleOne = function(selectedItems) {\r\n var tempRuleIdList = [];\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n vm.schedulingrules[id].IsEnable = selectedItems[id];\r\n if (vm.schedulingrules[id].IsEnable) {\r\n tempRuleIdList.push(vm.schedulingrules[id].RuleId);\r\n }\r\n }\r\n } \r\n vm.selectAll = true;\r\n}\r\n\r\n\r\nvm.selectLocation = function (location) {\r\n vm.selectedLocation = location;\r\n}\r\n\r\n ///\r\n\r\n $scope.dynamicPopover = {\r\n content: 'Price recommendation for this job in current location is between 500 to 900 INR',\r\n templateUrl: 'myPopoverTemplate.html',\r\n title: 'Price Insight'\r\n };\r\n\r\n $scope.placement = {\r\n options: [\r\n 'top',\r\n 'top-left',\r\n 'top-right',\r\n 'bottom',\r\n 'bottom-left',\r\n 'bottom-right',\r\n 'left',\r\n 'left-top',\r\n 'left-bottom',\r\n 'right',\r\n 'right-top',\r\n 'right-bottom'\r\n ],\r\n selected: 'top'\r\n };\r\n \r\n //$scope.htmlPopover = $sce.trustAsHtml('I can have
HTML
content');\r\n\r\n\r\n //\r\n\r\n vm.searchState = function (stateName) {\r\n var state = {};\r\n angular.forEach(vm.states, function (d) {\r\n if (d == stateName) {\r\n state = d;\r\n return;\r\n }\r\n });\r\n return state;\r\n }\r\n\r\n vm.searchCity = function (cityName) {\r\n if(cityName){\r\n var test = cityName.toUpperCase();\r\n var city = {};\r\n angular.forEach(vm.cities, function (d) {\r\n if (d == test) {\r\n city = d;\r\n return;\r\n }\r\n });\r\n }\r\n return city;\r\n }\r\n\r\n \r\n\r\n\r\n\r\n vm.changeAddress = function () {\r\n if (vm.sameAddress && vm.selectedCustomer) {\r\n vm.address.Address1 = vm.selectedCustomer.Address1;\r\n vm.address.Address2 = vm.selectedCustomer.Address2;\r\n vm.contactPerson = vm.selectedCustomer.CompanyName;\r\n vm.contactNumber = vm.selectedCustomer.BusinessPhone;\r\n vm.address.State = vm.searchState(vm.selectedCustomer.State);\r\n vm.address.PinCode = vm.selectedCustomer.PinCode;\r\n\r\n if (vm.cities.length > 1) {\r\n vm.address.City = vm.searchCity(vm.selectedCustomer.City);\r\n } else {\r\n vm.cities = [{ \"city\": \"Loading...\" }];\r\n vm.address.City = vm.cities[0];\r\n\r\n jobBidCreationService.getAllCity('U310000000001', vm.address.State, function (cities) {\r\n vm.cities = cities;\r\n vm.address.City = vm.searchCity(vm.selectedCustomer.City);\r\n });\r\n }\r\n } else {\r\n vm.address = {};\r\n }\r\n }\r\n\r\n vm.changeProj = function () {\r\n if (vm.IsPCLink) {\r\n vm.selectedProject = ''\r\n }\r\n }\r\n\r\n vm.GetReasonsForClone = function(){\r\n jobBidCreationService.GetReasonsForClone(loggedinUser, token).then(function (resp) { \r\n if (resp && resp.data) {\r\n vm.GetClonReasons = resp.data;\r\n }\r\n });\r\n }\r\n vm.GetReasonsForClone();\r\n\r\n vm.geofencestatus = function () {\r\n if (vm.selectedProject.GeoFenceEnabled == false) {\r\n vm.selectedProject.GetFenceRange = 0;\r\n } else {\r\n vm.selectedProject.GetFenceRange = '';\r\n }\r\n console.log(vm.selectedProject.GeoFenceEnabled + ' ' + vm.selectedProject.GetFenceRange);\r\n }\r\n\r\n vm.getAllCities = function () {\r\n vm.cities = [{ \"city\": \"Loading...\" }];\r\n vm.address.City=vm.cities[0];\r\n jobBidCreationService.getAllCity(loggedinUser, vm.address.State, vm.getAllCitiesCallback);\r\n }\r\n\r\n jobBidCreationService.getAllCustomerList(loggedinUser, token, vm.getCustomerCallback);\r\n jobBidCreationService.getAllTemplateList(loggedinUser, token, vm.getTemplateCallback);\r\n jobBidCreationService.getAllState(loggedinUser, vm.getAllStatesCallback);\r\n jobBidCreationService.GetServiceTax(loggedinUser, token, vm.GetServiceTax);\r\n jobBidCreationService.GetMobCommission(loggedinUser, token, vm.GetMobCommission);\r\n if(!vm.IsPCLink)\r\n {\r\n jobBidCreationService.getAllProjs(loggedinUser, token, vm.getProjectCallback);\r\n \r\n }\r\n //jobBidCreationService.getSkills(loggedinUser, token, vm.getSkillsCallback);\r\n\r\n vm.createTicket = function () {\r\n if (vm.form.$invalid) {\r\n vm.disableCreate = false;\r\n return;\r\n }\r\n\r\n vm.ticketSchedulingRules = [];\r\n vm.SectionListModel = [];\r\n vm.uiItemList = [];\r\n \r\n \r\n if (vm.jobOccurrance.status) {\r\n var startTime = null;\r\n var endTime = null;\r\n var cronExpression = null;\r\n var daily = null;\r\n var weekly = null;\r\n var monthly = null;\r\n //$log.log(\"vm.jobOccurrance \",vm.jobOccurrance);\r\n\r\n if (vm.jobOccurrance.frequency == vm.jobOccurrance.once) {\r\n var sample_Data = new Date(vm.jobOccurrance.sampleDate);\r\n startTime = {\r\n \"date\": sample_Data.getDate(),\r\n \"hour\": sample_Data.getHours(),\r\n \"min\": sample_Data.getMinutes(),\r\n \"month\": vm.monthNames3[sample_Data.getMonth()],\r\n \"sec\": sample_Data.getSeconds(),\r\n \"year\": sample_Data.getFullYear()\r\n };\r\n //$log.log(\"startTime \",startTime);\r\n } else {\r\n var startDate = new Date(vm.jobOccurrance.start_date);\r\n var endDate = new Date(vm.jobOccurrance.end_date);\r\n startTime = {\r\n \"date\": startDate.getDate(),\r\n \"hour\": startDate.getHours(),\r\n \"min\": startDate.getMinutes(),\r\n \"month\": vm.monthNames3[startDate.getMonth()],\r\n \"sec\": startDate.getSeconds(),\r\n \"year\": startDate.getFullYear()\r\n };\r\n endTime = {\r\n \"date\": endDate.getDate(),\r\n \"hour\": endDate.getHours(),\r\n \"min\": endDate.getMinutes(),\r\n \"month\": vm.monthNames3[endDate.getMonth()],\r\n \"sec\": endDate.getSeconds(),\r\n \"year\": endDate.getFullYear()\r\n };\r\n if (vm.jobOccurrance.frequency == vm.jobOccurrance.daily) {\r\n daily = {\r\n \"hour\": 23,\r\n \"minute\": 59\r\n };\r\n } else if (vm.jobOccurrance.frequency == vm.jobOccurrance.weekly) {\r\n var dayOfWeek = [];\r\n if (vm.jobOccurrance.input_of_week.mon) {\r\n dayOfWeek.push(0);\r\n }\r\n if (vm.jobOccurrance.input_of_week.tue) {\r\n dayOfWeek.push(1);\r\n }\r\n if (vm.jobOccurrance.input_of_week.wed) {\r\n dayOfWeek.push(2);\r\n }\r\n if (vm.jobOccurrance.input_of_week.thu) {\r\n dayOfWeek.push(3);\r\n }\r\n if (vm.jobOccurrance.input_of_week.fri) {\r\n dayOfWeek.push(4);\r\n }\r\n if (vm.jobOccurrance.input_of_week.sat) {\r\n dayOfWeek.push(5);\r\n }\r\n if (vm.jobOccurrance.input_of_week.sun) {\r\n dayOfWeek.push(6);\r\n }\r\n weekly = {\r\n \"dayOfWeek\": dayOfWeek,\r\n \"hour\": 23,\r\n \"minute\": 59\r\n };\r\n } else if (vm.jobOccurrance.frequency == vm.jobOccurrance.monthly) {\r\n if (vm.jobOccurrance.input_for_month.option == vm.jobOccurrance.input_for_month.first_day) {\r\n monthly = {\r\n \"dayOfMonth\": \"1\",\r\n \"hour\": 23,\r\n \"minute\": 59\r\n };\r\n } if (vm.jobOccurrance.input_for_month.option == vm.jobOccurrance.input_for_month.last_day) {\r\n cronExpression = \"0 59 23 L-2 * *\";\r\n vm.jobOccurrance.frequency = vm.jobOccurrance.cronExpression\r\n } if (vm.jobOccurrance.input_for_month.option == vm.jobOccurrance.input_for_month.specific_date) {\r\n monthly = {\r\n \"dayOfMonth\": vm.jobOccurrance.input_for_month.date,\r\n \"hour\": 23,\r\n \"minute\": 59\r\n };\r\n }\r\n\r\n }\r\n }\r\n }\r\n\r\n // if(vm.schedulingrules)\r\n // {\r\n // for (rule of vm.schedulingrules) { \r\n // if ( rule.IsEnable) {\r\n // vm.ticketSchedulingRules.push(rule.RuleId);\r\n // }\r\n // }\r\n // }\r\n\r\n if(vm.schedulingrules){\r\n for(var i = 0; i< vm.schedulingrules.length; i++){\r\n if(vm.schedulingrules[i].IsEnable){\r\n vm.ticketSchedulingRules.push(vm.schedulingrules[i].RuleId);\r\n }\r\n }\r\n }\r\n \r\n\r\n if(!vm.selectedLocation)\r\n {\r\n vm.selectedLocation = vm.address.State;\r\n }\r\n if( !vm.AppointmentType && vm.AppointmentType !== \"null\" && vm.AppointmentType !== \"undefined\" ){\r\n vm.AppointmentType =\"\";\r\n }\r\n if( vm.ScopeWork && vm.ScopeWork !== \"null\" && vm.ScopeWork !== \"undefined\" ){\r\n vm.ScopeWork = \"\";\r\n }\r\n if( vm.ScopeWorkPath && vm.ScopeWorkPath !== \"null\" && vm.ScopeWorkPath !== \"undefined\" ){\r\n vm.ScopeWorkPath = \"\";\r\n }\r\n if( vm.SpareTransportType && vm.SpareTransportType !== \"null\" && vm.SpareTransportType !== \"undefined\" ){\r\n vm.SpareTransportType = \"\";\r\n }\r\n if( vm.Courier && vm.Courier !== \"null\" && vm.Courier !== \"undefined\" ){\r\n \r\n vm.Courier = \"\";\r\n \r\n }\r\n if( vm.PickUp && vm.PickUp !== \"null\" && vm.PickUp !== \"undefined\" ){\r\n \r\n vm.PickUp = \"\";\r\n }\r\n if( vm.PickUpDrop && vm.PickUpDrop !== \"null\" && vm.PickUpDrop !== \"undefined\" ){\r\n \r\n vm.PickUpDrop = \"\";\r\n }\r\n \r\n vm.ticketModelData = {\r\n TicketSchedulerModel: null,\r\n TemplateModel: null,\r\n CustomerId: vm.selectedCustomer.CustomerId,\r\n JobId:vm.jobId,\r\n JobType:vm.jobType,\r\n CustomerName: vm.selectedCustomer.CompanyName,\r\n CustomerContact: vm.selectedCustomer.BusinessPhone,\r\n ProjectName: vm.selectedProject.Name,\r\n ProjectId:vm.selectedProject.ProjectId,\r\n Circle: vm.selectedLocation,\r\n JobDescription: vm.description,\r\n Priority: vm.priority,\r\n CloneReason: vm.cloneReason,\r\n Address1: vm.address.Address1,\r\n Address2: vm.address.Address2,\r\n Pincode: vm.address.PinCode,\r\n State: vm.address.State,\r\n Template: vm.selectedTemplate.TemplateName,\r\n JobTemplateModel:{\"TemplateItems\":null} ,\r\n SkillSet: \"\",\r\n //SupervisorId: $localStorage.loggedInUserId,\r\n BidDuration: null,//in seconds\r\n StartTime: moment(vm.startTime).format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\"),\r\n EndTime: moment(vm.endTime).format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\"),\r\n ConsumerName:vm.contactPerson,\r\n ConsumerContactNumber:vm.contactNumber,\r\n BroadcastRate: vm.ticketPrice,\r\n BroadcastGrossRate: (vm.ticketPrice * ((vm.GSTPercentange+100)*.01)),\r\n FixedBidPrice: vm.selectedProject.FixedBidPrice,\r\n GeoFenceEnable: vm.selectedProject.GeoFenceEnabled,\r\n GeoFenceRange: vm.selectedProject.GetFenceRange,\r\n PaymentType: vm.serviceType,\r\n Region:null,\r\n SubRegion:null,\r\n RuleIds: vm.ticketSchedulingRules,\r\n MobiforceCommissionPercentage:vm.MobiforceCommission,\r\n //Added by vikash\r\n AppointmentType : vm.AppointmentType,\r\n ScopeWork : vm.ScopeWork,\r\n ScopeWorkPath : vm.ScopeWorkPath,\r\n SpareTransportType : vm.SpareTransportType,\r\n Courier : vm.Courier,\r\n PickUp : vm.PickUp,\r\n PickUpDrop : vm.PickUpDrop,\r\n\r\n };\r\n\r\n if (vm.EnableRegion) {\r\n vm.ticketModelData.Region = vm.Region;\r\n vm.ticketModelData.SubRegion = vm.SubRegion;\r\n }\r\n\r\n var hrs = vm.bidDuration.getHours();\r\n var min = vm.bidDuration.getMinutes();\r\n \r\n // var time = vm.bidDuration.split(':');\r\n // var hrs = parseInt(time[0]);\r\n // var min = parseInt(time[1]);\r\n\r\n vm.ticketModelData.BidDuration = hrs*60 + min;\r\n\r\n if(vm.selectedTemplate && vm.selectedTemplate.SectionList){\r\n\r\n var ItemList = vm.selectedTemplate.SectionList[0].ItemList;\r\n //$log.log('ItemList',ItemList);\r\n var jobModel = {};\r\n for(var index = 0; index= eDate && vm.VerticalName=='Telecom'){\r\n vm.showFailure(\"Failed\", \"End Time should be greater than Start Time\");\r\n vm.disableCreate = false;\r\n } else {\r\n jobBidCreationService.createTicket(loggedinUser, vm.ticketModelData, token, function (res) {\r\n $timeout(function(){\r\n if ($localStorage.loggedInUser_Role =='Service Center') {\r\n $state.go('index.ServiceCenterTicketList', {\r\n reload: true\r\n });\r\n }else{\r\n $state.go('index.ManualAssignationJob', {\r\n reload: true\r\n });\r\n }\r\n \r\n }, 1000);\r\n }, function(){\r\n vm.disableCreate = false;\r\n });\r\n } \r\n } else {\r\n vm.showFailure(\"Failed\", \"City is not selected\");\r\n vm.disableCreate = false;\r\n }\r\n\r\n }\r\n\r\n\r\n // }\r\n // else {\r\n // //vm.showFailure(\"End Time should be greater than Start Time\");\r\n // vm.disableCreate = false;\r\n // }\r\n }\r\n\r\n vm.broadcastTicket = function () {\r\n if (!vm.form.$invalid) {\r\n vm.ticketModelData = {\r\n CustomerId: vm.selectedCustomer.CustomerId,\r\n CustomerName: vm.selectedCustomer.CompanyName,\r\n CustomerContact: vm.selectedCustomer.BusinessPhone,\r\n ProjectName: vm.selectedProject.Name,\r\n Circle: vm.selectedLocation,\r\n JobDescription: vm.description,\r\n Priority: vm.priority,\r\n Address1: vm.address.Address1,\r\n Address2: vm.address.Address2,\r\n Pincode: vm.address.PinCode,\r\n State: vm.address.State,\r\n Template: vm.selectedTemplate.TemplateName,\r\n JobTemplateModel: { \"TemplateItems\": \"Name\" },\r\n SkillSet: \"\",\r\n SupervisorId: $localStorage.loggedInUserId,\r\n BidDuration: vm.bidDuration,//in seconds\r\n StartTime: moment(vm.startTime).format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\"),\r\n EndTime: moment(vm.endTime).format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\"),\r\n BroadcastRate: vm.ticketPrice,\r\n // BroadcastGrossRate: (vm.selectedProject.ticketPrice * 1.18),\r\n BroadcastGrossRate : vm.ticketPrice * 1.18,\r\n FixedBidPrice: vm.selectedProject.FixedBidPrice,\r\n GeoFenceEnable: vm.selectedProject.GeoFenceEnabled,\r\n GeoFenceRange: vm.selectedProject.GetFenceRange,\r\n\r\n\r\n };\r\n if (vm.address.City && vm.address.City!=\"Loading...\") {\r\n vm.ticketModelData.City = vm.address.City;\r\n jobBidCreationService.createAndBroadcast(loggedinUser, vm.ticketModelData, token, function (res) {\r\n $state.go('index.ServiceCenterTicketList', {\r\n reload: true\r\n });\r\n });\r\n } else {\r\n vm.showFailure(\"Failed\", \"City is not selected\");\r\n }\r\n }\r\n }\r\n\r\n if (vm.EnableRegion) {\r\n vm.RegionList = '';\r\n\r\n jobBidCreationService.GetSubRegion(loggedinUser,token).then(function(resp){\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.values.length>0) {\r\n vm.RegionList = resp.data.values;\r\n $log.log('RegionList',vm.RegionList)\r\n }\r\n }\r\n })\r\n }\r\n\r\n vm.selectRegion = function(region){\r\n vm.SubRegionList = '';\r\n jobBidCreationService.GetCityBySubRegion(loggedinUser, region, token).then(function(resp){\r\n if (resp.status==200) {\r\n if (resp.data && resp.data.values.length>0) {\r\n vm.SubRegionList = resp.data.values;\r\n $log.log('SubRegionList',vm.SubRegionList)\r\n }\r\n }\r\n })\r\n }\r\n\r\n\r\n vm.checkPermissionInMenu = function(entity, defaultValue){\r\n if(accountConfig && accountConfig.MenuListModel && accountConfig.MenuListModel.length>0){\r\n for(var i=0; i=0;\r\n }\r\n }\r\n }\r\n return defaultValue;\r\n } \r\n \r\n vm.checkPermissionInSubMenu = function(entity, parentEntity, defaultValue){\r\n if(accountConfig && accountConfig.MenuListModel && accountConfig.MenuListModel.length>0){\r\n for(var i=0; i0){\r\n for(var j=0; j=0;\r\n }\r\n } \r\n }\r\n }\r\n }\r\n return defaultValue;\r\n } \r\n\r\n vm.calculatePrice = function () {\t\r\n\r\n if(vm.serviceType == 'Free'){\r\n\r\n\t\tif(vm.ticketPrice > 0){\t\t\r\n // vm.freelancerPrice = 0; \r\n \r\n vm.commission = vm.ticketPrice * (vm.MobiforceCommission) / 100;\r\n vm.freelancerPricetemp = vm.ticketPrice - vm.commission;\r\n vm.freelancerPrice = vm.freelancerPricetemp;\r\n vm.tPrice = vm.ticketPrice;\r\n vm.tax = (Number(vm.tPrice) * Number(vm.GSTPercentange) / 100).toFixed(2);\r\n vm.freelancerPrice = vm.freelancerPricetemp;\r\n }\r\n else{\r\n vm.tPrice = \"\";\r\n vm.commission = \"\";\r\n vm.tax = \"\";\r\n vm.freelancerPricetemp = '';\r\n vm.freelancerPrice = \"\";\r\n }\r\n }else if(vm.serviceType =='Paid'){\r\n\r\n if(vm.ticketPrice > 0){\t\t\r\n // vm.freelancerPrice = 0; \r\n vm.commission = vm.ticketPrice * (vm.MobiforceCommission) / 100;\r\n vm.freelancerPricetemp = vm.ticketPrice - vm.commission;\r\n vm.tax = (Number(vm.ticketPrice) * Number(vm.GSTPercentange) / 100).toFixed(2);\r\n vm.tPrice = (Number(vm.ticketPrice) + Number(vm.tax));\r\n vm.freelancerPrice = vm.freelancerPricetemp;\r\n }else{\r\n vm.tPrice = \"\";\r\n vm.commission = \"\";\r\n vm.tax = \"\";\r\n vm.freelancerPricetemp = '';\r\n vm.freelancerPrice = \"\";\r\n }\r\n\r\n\t\t\t// vm.gstFeeAmount = (vm.rechargeAmount *(vm.gstFee/100)).toFixed(2);\r\n\t\t\t// vm.subTotal = Number(vm.rechargeAmount) + Number(vm.gstFeeAmount);\r\n\t\t\t// vm.procssingFeeAmount = (vm.subTotal *(vm.processingFee/100)).toFixed(2);\r\n\t\t\t// vm.totalAmount = (Number(vm.subTotal) + Number(vm.procssingFeeAmount)).toFixed(2);\r\n\t\t}\r\n\r\n }\r\n\r\n $scope.calculatePrice = function () {\t\r\n vm.getProjectCallback();\r\n if(vm.serviceType=='Free'){\r\n if(vm.ticketPrice > 0){\t\t\r\n // vm.freelancerPrice = 0; \r\n vm.tPrice = vm.ticketPrice;\r\n vm.commission = vm.ticketPrice * (vm.MobiforceCommission) / 100;\r\n vm.tax = vm.tPrice * (vm.GSTPercentange) / 100;\r\n vm.freelancerPricetemp = vm.ticketPrice - vm.commission;\r\n vm.freelancerPrice = vm.freelancerPricetemp;\r\n }\r\n else\r\n {\r\n vm.tPrice = \"\";\r\n vm.freelancerPricetemp = \"\";\r\n vm.commission = \"\";\r\n vm.tax = \"\";\r\n vm.freelancerPrice = '';\r\n }\r\n }else if(vm.serviceType=='Paid'){\r\n\r\n if(vm.ticketPrice > 0){\t\t\r\n // vm.freelancerPrice = 0; \r\n vm.commission = vm.ticketPrice * (vm.MobiforceCommission) / 100;\r\n vm.freelancerPricetemp = vm.ticketPrice - vm.commission;\r\n vm.tax = (Number(vm.ticketPrice) * Number(vm.GSTPercentange) / 100).toFixed(2);\r\n vm.tPrice = (Number(vm.ticketPrice) + Number(vm.tax));\r\n vm.freelancerPrice = vm.freelancerPricetemp;\r\n\r\n }else{\r\n vm.tPrice = \"\";\r\n vm.commission = \"\";\r\n vm.tax = \"\";\r\n vm.freelancerPricetemp = '';\r\n vm.freelancerPrice = \"\";\r\n }\r\n\r\n }\r\n } \r\n \r\n vm.calculateFreelancerPrice = function () {\t\r\n if(vm.serviceType =='Free'){\r\n\t\tif(vm.freelancerPrice > 0){\t\t\r\n vm.ticketPrice = 0; \r\n vm.freelancerPricetemp = vm.freelancerPrice;\r\n vm.commission = (vm.freelancerPrice * vm.MobiforceCommission)/(100-20) ;\r\n vm.tPrice = Number(vm.freelancerPrice) + Number(vm.commission);\r\n vm.tax = vm.tPrice * (vm.GSTPercentange) / 100;\r\n \r\n vm.ticketPrice = vm.tPrice;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tvm.tPrice = \"\";\r\n\t\t\tvm.freelancerPricetemp = \"\";\r\n vm.commission = \"\";\r\n vm.tax = \"\";\r\n vm.ticketPrice = '';\r\n\t\t}\r\n\r\n\t}else if(vm.serviceType=='Paid'){\r\n\r\n if(vm.freelancerPrice > 0){\t\t\r\n vm.ticketPrice = 0; \r\n vm.freelancerPricetemp = vm.freelancerPrice;\r\n vm.commission = (vm.freelancerPrice * vm.MobiforceCommission)/(100-vm.MobiforceCommission) ;\r\n vm.tax = ((Number(vm.freelancerPrice) + Number(vm.commission)) * Number(vm.GSTPercentange) / 100).toFixed(2);\r\n vm.tPrice = Number(Number(vm.freelancerPrice) + Number(vm.commission)) + Number(vm.tax);\r\n \r\n vm.ticketPrice = Number(Number(vm.freelancerPrice) + Number(vm.commission));\r\n }\r\n\t\telse\r\n\t\t{\r\n\t\t\tvm.tPrice = \"\";\r\n\t\t\tvm.freelancerPricetemp = \"\";\r\n vm.commission = \"\";\r\n vm.tax = \"\";\r\n vm.ticketPrice = '';\r\n }\r\n \r\n }\r\n\r\n\r\n }\r\n\r\n vm.openCalendar = function(e, picker) { \r\n vm.AppointmentsDate.open = true;\r\n };\r\n \r\n var datelimit = new Date();\t\r\n \r\n datelimit.setMinutes(datelimit.getMinutes() + 1)\r\n vm.AppointmentsDate = {date: '', datepickerOptions: { minDate: datelimit }};\r\n \r\n \r\n vm.openCalendarEndDate = function(e, picker) { \r\n vm.AppointmentsEndDate.open = true;\r\n };\r\n \r\n var EndDatelimit = new Date();\t\r\n EndDatelimit.setMinutes(EndDatelimit.getMinutes() + 1)\r\n vm.AppointmentsEndDate = {date: '', datepickerOptions: { minDate: EndDatelimit }};\r\n\r\n\r\n});\r\n\nangular.module('inspinia').service('jobBidCreationService', function (ApiURL, LocationURL, FreelancerURL, $log, $http, $state,PublicApiURL) {\r\n\r\n var vm = this;\r\n\r\n vm.setShowSuccess = function (success) {\r\n vm.showSuccess = success;\r\n }\r\n\r\n vm.setShowFailure = function (failure) {\r\n vm.showFailure = failure;\r\n }\r\n\r\nthis.GetTelecomCircle = function(loggedInUserId, token){\r\n var url = PublicApiURL + '/api/Location/GetTelecomCircles?userId='+ loggedInUserId;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId': loggedInUserId}\r\n })\r\n }\r\n\r\n this.GetJobTicket = function (ticketId, token, loggedinUser) {\r\n var url = ApiURL + '/api/Ticket/' + ticketId + '/' + loggedinUser + '/byTicketId';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token,'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n//https://test.mymobiforce.com/coreapi/api/ServiceGST/GetGST?reqUserId=U3600000000001&skill=AC%20Installation\r\nthis.GetServiceTax = function(loggedInUserId,token, callback){\r\n var url = ApiURL + '/api/ServiceGST?reqUserId='+ loggedInUserId;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId': loggedInUserId}\r\n }).then(function(res){\r\n callback(res.data)\r\n },function(){\r\n\r\n });\r\n}\r\n\r\nthis.GetMobCommission = function(loggedInUserId,token, callback){\r\n var url = ApiURL + '/api/ServiceGST/GetMobiforceCommission?reqUserId='+ loggedInUserId;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId': loggedInUserId}\r\n }).then(function(res){\r\n callback(res.data)\r\n },function(){\r\n\r\n });\r\n}\r\n\r\n//https://localhost/publicapi/api/Location/GetSubRegion?userId=U360000000001\r\n this.GetSubRegion = function(loggedInUserId, token){\r\n var url = PublicApiURL + '/api/Location/GetSubRegion?userId='+ loggedInUserId;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId': loggedInUserId}\r\n })\r\n }\r\n //https://test.mymobiforce.com/publicapi/api/Location/GetCity?userId=U360000000001&subregion=noida\r\n this.GetCityBySubRegion = function(loggedInUserId, subRegion, token){\r\n var url = PublicApiURL + '/api/Location/GetCity?userId='+ loggedInUserId + '&subregion='+ subRegion;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId': loggedInUserId}\r\n })\r\n }\r\n\r\n vm.getAllCustomerList = function (loggedinUser, token, callback) {\r\n var url = ApiURL + '/api/Customer?reqUserId=' + loggedinUser;\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n callback(res.data);\r\n // vm.showSuccess(\"customer\", \"Got customer list\");\r\n }, function () {\r\n // vm.showFailure(\"customer\", \"Unable to get customer list\");\r\n });\r\n }\r\n\r\n vm.getAllProjectList = function (loggedinUser, customerId, token, callback) {\r\n var url = ApiURL + '/api/Project/' + loggedinUser + '/' + customerId + '/GetProjectsByCustomerId';\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n callback(res.data);\r\n // vm.showSuccess(\"project\", \"Got project list\");\r\n }, function () {\r\n // vm.showFailure(\"project\", \"Unable to get project list\");\r\n });\r\n }\r\n\r\n vm.getAllProjs = function (loggedinUser, token, callback) {\r\n var url = ApiURL + '/api/Project/getallprojects?reqUserId=' + loggedinUser;\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n callback(res.data);\r\n // vm.showSuccess(\"project\", \"Got project list\");\r\n }, function () {\r\n // vm.showFailure(\"project\", \"Unable to get project list\");\r\n });\r\n }\r\n\r\n vm.getAllTemplateList = function (loggedinUser, token, callback) {\r\n var url = ApiURL + '/api/' + loggedinUser + '/Template';\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n callback(res.data);\r\n // vm.showSuccess(\"template\", \"Got template list\");\r\n },\r\n function () {\r\n // vm.showFailure(\"template\", \"Unable to get template list\");\r\n });\r\n }\r\n\r\n vm.getAllStates = function (loggedinUser, callback) {\r\n var url = LocationURL + '/api/Location/' + loggedinUser + '/GetAllStates';\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json' } }).then(function (res) {\r\n callback(res.data);\r\n // vm.showSuccess(\"states\", \"Got states list\");\r\n },\r\n function () {\r\n // vm.showFailure(\"states\", \"Unable to get states\");\r\n });\r\n }\r\n\r\n this.getAllState = function (userId, callback) {\r\n // var url = PublicApiURL + '/api/Location/GetSubRegion?userId='+userId+'®ion=INDIA';\r\n var url = PublicApiURL + '/api/Location/GetSubRegion?userId='+userId;\r\n return $http.get(url, {\r\n params: {}\r\n }).then(function (res) {\r\n callback(res.data.values);\r\n },\r\n function () {\r\n });\r\n }\r\n\r\n this.getAllCity = function (userId, state, callback) {\r\n var url = PublicApiURL + '/api/Location/GetCity?userId='+userId+'&subregion='+state;\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json' } }).then(function (res) {\r\n callback(res.data.values);\r\n },\r\n function () {\r\n });\r\n }\r\n\r\n vm.getAllCities = function (loggedinUser, state, callback) {\r\n var url = LocationURL + '/api/Location/' + loggedinUser + '/' + state + '/GetCitiesByState';\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json' } }).then(function (res) {\r\n callback(res.data);\r\n // vm.showSuccess(\"cities\", \"Got cities list\");\r\n },\r\n function () {\r\n // vm.showFailure(\"cities\", \"Unable to get cities\");\r\n });\r\n }\r\n\r\n vm.getSkills = function (loggedinUser, token, callback) {\r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if(callback){\r\n callback(res.data);\r\n }\r\n // vm.showSuccess(\"skills\", \"Got skills list\");\r\n },\r\n function () {\r\n // vm.showFailure(\"skills\", \"Unable to get skills\");\r\n });\r\n }\r\n\r\n this.getLocation = function(loggedinUser, customerId, projectName, token, callback){\r\n var url = ApiURL+\"/api/Project/\"+loggedinUser+\"/\"+customerId+\"/\"+projectName+\"/GetProjectLocations\";\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n callback(res.data);\r\n // vm.showSuccess(\"skills\", \"Got locations list\");\r\n },\r\n function () {\r\n // vm.showFailure(\"skills\", \"Unable to get locations\");\r\n });\r\n }\r\n\r\n this.GetSchedulingRules = function(loggedinUser, skill, projectId, token, callback){\r\n var url = ApiURL+\"/api/ProSkillSelectionCriteria/GetForTicketCreation?UserId=\" + loggedinUser + \"&ProjectId=\" + projectId + \"&Skill=\" + skill;\r\n https://perf.mymobiforce.com/coreapi/api/ProSkillSelectionCriteria?UserId=test&ProjectId=test&Skill=test\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n callback(res.data);\r\n // vm.showSuccess(\"skills\", \"Got locations list\");\r\n },\r\n function () {\r\n // vm.showFailure(\"skills\", \"Unable to get locations\");\r\n });\r\n }\r\n\r\n this.GetProjectLocations = function(loggedinUser, projectName, token, callback){\r\n var url = ApiURL+\"/api/Project/getprojectlocsbypname?reqUserId=\"+loggedinUser+\"&Name=\"+projectName;\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n callback(res.data);\r\n // vm.showSuccess(\"skills\", \"Got locations list\");\r\n },\r\n function () {\r\n // vm.showFailure(\"skills\", \"Unable to get locations\");\r\n });\r\n }\r\n\r\n this.createTicket = function (loggedinUser, ticketModel, token, callback, failure) {\r\n //$log.log(ticketModel);\r\n var url = ApiURL + '/api/Ticket?reqUserId=' + loggedinUser;\r\n var data = angular.toJson(ticketModel);\r\n var resp = \"\";\r\n return $http.post(url, data, { headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser } }).then(function(res){\r\n if (res.status == 201) {\r\n \r\n vm.showSuccess(\"Job created\", \"Job Created Successfully\");\r\n callback(res.data);\r\n }else{\r\n \r\n vm.showFailure(\"Failed\", res.data.Message);\r\n failure();\r\n }\r\n \r\n },\r\n function () {\r\n \r\n vm.showFailure(\"Failed\", \"Job Creation failed\");\r\n failure();\r\n });\r\n }\r\n\r\n this.cloneTicket = function (loggedinUser, ticketModel, token, callback, failure) {\r\n // https://perf.mymobiforce.com/coreapi/api/Ticket/CloneTicket?reqUserId=U350000000026\r\n var url = ApiURL + '/api/Ticket/CloneTicket?reqUserId=' + loggedinUser;\r\n var data = angular.toJson(ticketModel);\r\n return $http.post(url, data, { headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser } }).then(function(res){\r\n if (res.status == 201) {\r\n vm.showSuccess(\"Job created\", \"Job Cloning Successfully\");\r\n callback(res.data);\r\n }else{\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n failure();\r\n }\r\n },\r\n function (res) {\r\n vm.showFailure(\"Failed\", res.data);\r\n callback(res.data);\r\n failure();\r\n });\r\n }\r\n\r\n this.createAndBroadcast = function(loggedinUser, ticketModel, token, callback){\r\n //$log.log(ticketModel);\r\n var url = FreelancerURL + '/api/BID/' + loggedinUser+'/PostCreateAndBroadcastJob';\r\n var data = angular.toJson(ticketModel);\r\n return $http.post(url, data, { headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser } }).then(function(res){\r\n vm.showSuccess(\"Job created\", \"Job created and broadcasted Successfully\");\r\n callback(res.data);\r\n },\r\n function () {\r\n vm.showFailure(\"Failed\", \"Job Creation failed\");\r\n });\r\n\r\n }\r\n\r\n //https://product.mymobiforce.com/coreapi/api/Ticket/CancelTicket?reqUserId=dfgdfs&TicketId=dfgfdg\r\n this.CancelTicket = function(loggedInUserId,ticketId, token){\r\n var url = ApiURL + '/api/Ticket/CancelTicket?reqUserId='+loggedInUserId +'&TicketId='+ticketId;\r\n return $http.put(url,null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetReasonsForClone = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/Ticket/GetClonReasons';\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json', 'Token': token, 'UserId': loggedinUser}\r\n });\r\n }\r\n\r\n});\r\n\nangular.module('inspinia').service('jobCreationService', function (ApiURL, LocationURL, FreelancerURL, $log, $http, $state,PublicApiURL){\r\n\r\n var vm = this;\r\n\r\n vm.setShowSuccess = function (success) {\r\n vm.showSuccess = success;\r\n }\r\n\r\n vm.setShowFailure = function (failure) {\r\n vm.showFailure = failure;\r\n }\r\n\r\nthis.GetTelecomCircle = function(loggedInUserId, token){\r\n var url = PublicApiURL + '/api/Location/GetTelecomCircles?userId='+ loggedInUserId;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId': loggedInUserId}\r\n })\r\n }\r\n\r\n//https://test.mymobiforce.com/coreapi/api/ServiceGST/GetGST?reqUserId=U3600000000001&skill=AC%20Installation\r\nthis.GetServiceTax = function(loggedInUserId,token, callback){\r\n var url = ApiURL + '/api/ServiceGST?reqUserId='+ loggedInUserId;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId': loggedInUserId}\r\n }).then(function(res){\r\n callback(res.data)\r\n },function(){\r\n\r\n });\r\n}\r\n\r\nthis.GetMobCommission = function(loggedInUserId,token, callback){\r\n var url = ApiURL + '/api/ServiceGST/GetMobiforceCommission?reqUserId='+ loggedInUserId;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId': loggedInUserId}\r\n }).then(function(res){\r\n callback(res.data)\r\n },function(){\r\n\r\n });\r\n}\r\n\r\n//https://localhost/publicapi/api/Location/GetSubRegion?userId=U360000000001\r\n this.GetSubRegion = function(loggedInUserId, token){\r\n var url = PublicApiURL + '/api/Location/GetSubRegion?userId='+ loggedInUserId;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId': loggedInUserId}\r\n })\r\n }\r\n //https://test.mymobiforce.com/publicapi/api/Location/GetCity?userId=U360000000001&subregion=noida\r\n this.GetCityBySubRegion = function(loggedInUserId, subRegion, token){\r\n var url = PublicApiURL + '/api/Location/GetCity?userId='+ loggedInUserId + '&subregion='+ subRegion;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId': loggedInUserId}\r\n })\r\n }\r\n\r\n vm.getAllCustomerList = function (loggedinUser, token, callback) {\r\n var url = ApiURL + '/api/Customer?reqUserId=' + loggedinUser;\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n callback(res.data);\r\n // vm.showSuccess(\"customer\", \"Got customer list\");\r\n }, function () {\r\n // vm.showFailure(\"customer\", \"Unable to get customer list\");\r\n });\r\n }\r\n\r\n vm.getAllProjectList = function (loggedinUser, customerId, token, callback) {\r\n var url = ApiURL + '/api/Project/' + loggedinUser + '/' + customerId + '/GetProjectsByCustomerId';\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n callback(res.data);\r\n // vm.showSuccess(\"project\", \"Got project list\");\r\n }, function () {\r\n // vm.showFailure(\"project\", \"Unable to get project list\");\r\n });\r\n }\r\n\r\n vm.getAllProjs = function (loggedinUser, token, callback) {\r\n var url = ApiURL + '/api/Project/getallprojects?reqUserId=' + loggedinUser;\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n callback(res.data);\r\n // vm.showSuccess(\"project\", \"Got project list\");\r\n }, function () {\r\n // vm.showFailure(\"project\", \"Unable to get project list\");\r\n });\r\n }\r\n\r\n vm.getAllTemplateList = function (loggedinUser, token, callback) {\r\n var url = ApiURL + '/api/' + loggedinUser + '/Template';\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n callback(res.data);\r\n // vm.showSuccess(\"template\", \"Got template list\");\r\n },\r\n function () {\r\n // vm.showFailure(\"template\", \"Unable to get template list\");\r\n });\r\n }\r\n\r\n this.getAllState = function (loggedinUser,token, callback) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser }}).then(function (res) {\r\n callback(res.data);\r\n },\r\n function () {\r\n });\r\n }\r\n\r\n this.getAllCity = function (loggedinUser, token, state, callback) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+state;\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n callback(res.data);\r\n },\r\n function () {\r\n });\r\n }\r\n\r\n vm.getAllCities = function (loggedinUser, state, callback) {\r\n var url = LocationURL + '/api/Location/' + loggedinUser + '/' + state + '/GetCitiesByState';\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json', 'UserId': loggedinUser } }).then(function (res) {\r\n callback(res.data);\r\n // vm.showSuccess(\"cities\", \"Got cities list\");\r\n },\r\n function () {\r\n // vm.showFailure(\"cities\", \"Unable to get cities\");\r\n });\r\n }\r\n\r\n vm.getSkills = function (loggedinUser, token, callback) {\r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if(callback){\r\n callback(res.data);\r\n }\r\n // vm.showSuccess(\"skills\", \"Got skills list\");\r\n },\r\n function () {\r\n // vm.showFailure(\"skills\", \"Unable to get skills\");\r\n });\r\n }\r\n\r\n this.getLocation = function(loggedinUser, customerId, projectName, token, callback){\r\n var url = ApiURL+\"/api/Project/\"+loggedinUser+\"/\"+customerId+\"/\"+projectName+\"/GetProjectLocations\";\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n callback(res.data);\r\n // vm.showSuccess(\"skills\", \"Got locations list\");\r\n },\r\n function () {\r\n // vm.showFailure(\"skills\", \"Unable to get locations\");\r\n });\r\n }\r\n\r\n this.GetSchedulingRules = function(loggedinUser, skill, projectId, token, callback){\r\n var url = ApiURL+\"/api/ProSkillSelectionCriteria/GetForTicketCreation?UserId=\" + loggedinUser + \"&ProjectId=\" + projectId + \"&Skill=\" + skill;\r\n https://perf.mymobiforce.com/coreapi/api/ProSkillSelectionCriteria?UserId=test&ProjectId=test&Skill=test\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n callback(res.data);\r\n // vm.showSuccess(\"skills\", \"Got locations list\");\r\n },\r\n function () {\r\n // vm.showFailure(\"skills\", \"Unable to get locations\");\r\n });\r\n }\r\n\r\n this.GetProjectLocations = function(loggedinUser, projectName, token, callback){\r\n var url = ApiURL+\"/api/Project/getprojectlocsbypname?reqUserId=\"+loggedinUser+\"&Name=\"+projectName;\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n callback(res.data);\r\n // vm.showSuccess(\"skills\", \"Got locations list\");\r\n },\r\n function () {\r\n // vm.showFailure(\"skills\", \"Unable to get locations\");\r\n });\r\n }\r\n\r\n\r\nthis.UploadServerData = function (files, loggedinUser, token) {\r\n var formdata = new FormData();\r\n formdata.append(\"UploadData\", files);\r\n var url = ApiURL + '/api/Upload/UploadServerData';\r\n return $http.post(url, formdata, {\r\n headers: { 'Content-Type': undefined, 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n\r\n //https://product.mymobiforce.com/coreapi/api/Ticket/CreateTicketWithJobLineItem\r\n this.createTicket = function (loggedinUser, ticketModel, token, callback, failure) {\r\n //$log.log(ticketModel);\r\n // var url = ApiURL + '/api/Ticket?reqUserId=' + loggedinUser;\r\n var url = ApiURL + '/api/Ticket/CreateTicketWithJobLineItem';\r\n var data = angular.toJson(ticketModel);\r\n var resp = \"\";\r\n return $http.post(url, data, { headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser } }).then(function(res){\r\n if (res.status == 201) {\r\n \r\n vm.showSuccess(\"Job created\", \"Job Created Successfully\");\r\n callback(res.data);\r\n }else{\r\n \r\n vm.showFailure(\"Failed\", res.data.Message);\r\n failure();\r\n }\r\n \r\n },\r\n function () {\r\n \r\n vm.showFailure(\"Failed\", \"Job Creation failed\");\r\n failure();\r\n });\r\n }\r\n\r\n this.createAndBroadcast = function(loggedinUser, ticketModel, token, callback){\r\n //$log.log(ticketModel);\r\n var url = FreelancerURL + '/api/BID/' + loggedinUser+'/PostCreateAndBroadcastJob';\r\n var data = angular.toJson(ticketModel);\r\n return $http.post(url, data, { headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser } }).then(function(res){\r\n vm.showSuccess(\"Job created\", \"Job created and broadcasted Successfully\");\r\n callback(res.data);\r\n },\r\n function () {\r\n vm.showFailure(\"Failed\", \"Job Creation failed\");\r\n });\r\n\r\n }\r\n\r\n this.uploadProfilePic = function (loggedinUser, data, token, success, failure) {\r\n $http.post(ApiURL + '/api/User/PostPDFDoc?reqUserId=' + loggedinUser, data, {\r\n headers: {\r\n 'Content-Type': undefined, 'Token': token, 'UserId': loggedinUser\r\n }\r\n }).then(success, failure);\r\n }\r\n\r\n // https://perf.mymobiforce.com/coreapi/api/PriceInsight?reqUserId=U400000000001&city=NOIDA&skill=EMF%20Survey&price=1000\r\n this.GetPriceInsight = function(loggedInUserId,price,skill,city, token){\r\n var url = ApiURL + '/api/PriceInsight?reqUserId='+ loggedInUserId + '&city='+city+ \"&skill=\"+skill+'&price='+price;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId': loggedInUserId}\r\n })\r\n }\r\n//https://product.mymobiforce.com/coreapi/api/JobLineItem/getalljoblineitemmaster?reqUserId=U400000000001&projectId=P0000000001\r\nthis.GetJObLineItem = function(loggedInUserId,projectId,token){\r\n var url = ApiURL + '/api/JobLineItem/getalljoblineitemmaster?reqUserId='+ loggedInUserId + '&projectId='+projectId;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId': loggedInUserId}\r\n })\r\n }\r\n\r\n //https://product.mymobiforce.com/coreapi/api/JobLineItem/GetJobLineItemMasterByItemId?projectId=P0000000016&LineItemId=LI56001206\r\n this.ItemLineDetails = function(loggedInUserId,projectId,LineItemId,token){\r\n var url = ApiURL + '/api/JobLineItem/GetJobLineItemMasterByItemId?projectId='+projectId + '&LineItemId='+LineItemId;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId': loggedInUserId}\r\n })\r\n }\r\n // https://product.mymobiforce.com/coreapi/api/JobLineItem/CreateJobLineItem?reqUserId=U400000000001\r\n this.CreateLineItem = function (userFormData, loggedInUserId,token) {\r\n var url = ApiURL + '/api/JobLineItem/CreateJobLineItem?reqUserId='+ loggedInUserId;\r\n return $http.post(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token , 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n});\nangular.module('inspinia').controller('JobCreationController', function (jobCreationService, $filter, PublicApiURL, $window, $log, $q, $compile, DTOptionsBuilder, DTColumnBuilder, $localStorage, ticketTemplateService, $scope, $state, FreelancerURL, ApiURL, $timeout) {\r\n\r\n var vm = this;\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n vm.AccountId = $localStorage.accountConfig.AccountId;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n if (!loggedinUser) {\r\n $state.go('index.Login', {\r\n reload: true\r\n });\r\n }\r\n if ($localStorage.accountConfig) {\r\n if ($localStorage.accountConfig.EnableRegion) {\r\n vm.EnableRegion = $localStorage.accountConfig.EnableRegion;\r\n }\r\n vm.IsPCLink = $localStorage.accountConfig.IsPCLink;\r\n } else {\r\n vm.EnableRegion = false;\r\n }\r\n\r\n vm.appointmentType = '';\r\n vm.ScopeWork = '';\r\n vm.ScopeWorkPath = '';\r\n vm.Name= '';\r\n vm.LastName = '';\r\n vm.Mobile = '';\r\n vm.Address1 = '';\r\n vm.TicketSource = 'Manual';\r\n vm.Address2 = '';\r\n vm.Pincode = '';\r\n vm.uploaddata = '';\r\n vm.City = '';\r\n vm.State = '';\r\n vm.Region = '';\r\n vm.SubRegion = '';\r\n vm.SpareTransportType = '';\r\n vm.Courier = {};\r\n vm.PickUp = {};\r\n vm.PickUpDrop = {};\r\n vm.searchUrl = PublicApiURL + '/api/CustomerJobCard/search?reqUserId='+loggedinUser+'&input=';\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n var token = $localStorage.token;\r\n vm.CustomizedCommission = $localStorage.accountConfig.CustomizedCommission;\r\n vm.MobiforceCommission = $localStorage.accountConfig.MobiforceCommissionPercentage;\r\n var accountConfig = $localStorage.accountConfig;\r\n vm.FreelancerAccess = $localStorage.accountConfig.FreelancerAccess;\r\n vm.CurrencySetting = $localStorage.accountConfig.CurrencySetting;\r\n vm.sameAddress = false;\r\n vm.disableCreate = false;\r\n vm.address = {};\r\n vm.contactPerson = '';\r\n vm.contactNumber = '';\r\n vm.jobType = '';\r\n vm.LineItemDisc = '';\r\n vm.PriceLineItemList = [];\r\n //vm.LineItemDataList = [];\r\n vm.RegionList = '';\r\n vm.SubRegionList = '';\r\n vm.customerList = [];\r\n vm.projectList = [];\r\n vm.jobId = '';\r\n vm.templateList = [];\r\n vm.skills = [];\r\n vm.Skill = '';\r\n vm.locations = [];\r\n vm.priceInsightString='';\r\n vm.ItemValue = '';\r\n vm.serviceType = '';\r\n vm.schedulingrules = '';\r\n vm.showSchedulingRules = false;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n vm.DefaultCustomer = vm.getAccountConfigSetting('DefaultCustomer');\r\n vm.LocationMapping = vm.getAccountConfigSetting('LocationMapping');\r\n vm.DefaultProject = vm.getAccountConfigSetting('DefaultProject');\r\n vm.DefaultTemplate = vm.getAccountConfigSetting('DefaultTemplate');\r\n vm.states = [{ \"state\": \"Loading...\" }];\r\n vm.cities = [{ \"city\": \"\" }];\r\n vm.selectedCustomer = \"\";\r\n vm.selectedProject = \"\";\r\n vm.selectedTemplate = \"\";\r\n vm.selectedLocation = \"\";\r\n vm.selectedProject.GetFenceRange = 0;\r\n vm.Region = '';\r\n vm.SubRegion = '';\r\n vm.ticketPrice = \"\";\r\n vm.freelancerPrice = \"\";\r\n vm.tPrice = \"\";\r\n vm.commission = \"\";\r\n vm.tax = \"\";\r\n vm.freelancerPricetemp = \"\";\r\n vm.citiesPickUpDrops = [];\r\n vm.citiesPickUpDrop = [];\r\n vm.citiesPickUp = [];\r\n vm.priceInsight = '';\r\n vm.SiteName='';\r\n vm.jobLineItemModel={};\r\n vm.JobRegion='';\r\n vm.LineitemActivityList=[];\r\n vm.LineItemCategoryType=\"\";\r\n vm.selectedprojectId=\"\";\r\n vm.dynamicpricing=\"\";\r\n vm.CompanyProvidedEnable=\"\";\r\n var price=0;\r\n var Quantity=1;\r\n var totalFPrice=0.0;\r\n vm.BasePriceTotal=0.0;\r\n vm.dFreelancerPriceTotal=0.0;\r\n vm.PercentageTotal=0.0;\r\n vm.FreelancerPriceTotal=0.0;\r\n vm.PercentageTotalDis=0.0;\r\n vm.IsLineItemAvailable=false;\r\n vm.IsBasePriceDisabled=true;\r\n vm.templateSkillList=[];\r\n vm.isTemplateSkill=false;\r\n vm.TemplateSkill=\"\";\r\n var startTime = '';\r\n var scdt = new Date();\r\n scdt.setMinutes(scdt.getMinutes() + 30);\r\n vm.SourceCreationDate = scdt;\r\n var pcdt = new Date();\r\n pcdt.setDate(pcdt.getDate() + 7);\r\n vm.PlannedClosureDate = pcdt;\r\n \r\n vm.bidDuration = new Date(2019, 1, 1, 0, 30, 0, 0)//;\r\n // var dt = new Date();\r\n // dt.setMinutes(dt.getMinutes() + 30);\r\n // // vm.startTime = new Date()\r\n // vm.startTime = dt;\r\n // vm.endTime = new Date();\r\n if (vm.VerticalName == 'Spectro Labs') {\r\n vm.description = \"Water Sample Collection\";\r\n } else {\r\n vm.description = \"\";\r\n vm.showRateCard = true;\r\n }\r\n vm.priority = \"\";\r\n vm.monthNames = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\r\n vm.monthNames3 = [\"JAN\", \"FEB\", \"MAR\", \"APR\", \"MAY\", \"JUN\",\"JUL\", \"AUG\", \"SEP\", \"OCT\", \"NOV\", \"DEC\"];\r\n\r\nvm.getSearchBox = function(){\r\n vm.searchBoxHtml = '
';\r\n}\r\nvm.getSearchBox();\r\n\r\nvm.searchCustomer = function(e){\r\n if(e && e.originalObject && e.originalObject.CustomerLocationId){\r\n vm.Name = e.originalObject.CustomerName;\r\n vm.Mobile = e.originalObject.Mobile;\r\n vm.Address1 = e.originalObject.Address1;\r\n vm.Address2 = e.originalObject.Address2;\r\n vm.Pincode = e.originalObject.Pincode;\r\n vm.City = e.originalObject.City;\r\n vm.State = e.originalObject;\r\n vm.Region = e.originalObject.Region;\r\n vm.SubRegion = e.originalObject.SubRegion;\r\n\r\n }\r\n}\r\n\r\n\r\nvm.changeAppointmentType = function(){\r\n var dt = new Date();\r\n dt.setMinutes(dt.getMinutes() + 30);\r\n vm.startTime = dt;\r\n // vm.startTime = new Date()\r\n var edt = new Date();\r\n edt.setMinutes(edt.getMinutes() + 30);\r\n edt.setHours(edt.getHours() + 4);\r\n vm.endTime = edt;\r\n // vm.endTime = new Date();\r\n}\r\n\r\nvm.cleanSpareField = function(){\r\n vm.Courier = null;\r\n vm.PickUp = null;\r\n vm.PickUpDrop = null;\r\n}\r\n\r\n$scope.handleFiles = function (elem) {\r\n\r\n var index = (angular.element(elem).attr(\"data-index\"));\r\n var file = elem.files[0];\r\n if ((file.type == \"application/pdf\" || file.type == \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"\r\n || file.type == \"application/msword\" || file.type.indexOf(\"image/jpg\") >= 0 || file.type.indexOf(\"image/png\") >= 0\r\n || file.type.indexOf(\"image/bmp\") >= 0 || file.type.indexOf(\"image/jpeg\") >= 0 || file.type.indexOf(\"video/mp4\") >= 0 || file.type.indexOf(\"audio/mp3\") >= 0 || file.type.indexOf(\"video/webm\") >= 0 || file.type.indexOf(\"video/avi\") >= 0) ) {\r\n if(file.size < 10485760){\r\n var data = new FormData();\r\n data.append(\"files\", file);\r\n jobCreationService.uploadProfilePic(loggedinUser, data, token, function (res) {\r\n if (res && res.status == 201 && res.data) {\r\n vm.ScopeWorkPath = res.data; \r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to upload file, server error\");\r\n });\r\n }else{\r\n vm.showFailure(\"Failed\", \"File size must be lesst then 10MB.\");\r\n }\r\n \r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to upload file, Type doesn't support.\");\r\n vm.ScopeWorkPath = '';\r\n }\r\n}\r\n\r\n\r\nvm.jobOccurrance = {\r\n sampleDate: new Date(),\r\n start_date: new Date(),\r\n end_date: new Date(),\r\n status: false,\r\n frequency: \"ONCE\",\r\n once: \"ONCE\",\r\n daily: \"DAILY\",\r\n weekly: \"WEEKLY\",\r\n cronExpression: \"EXPRESSION\",\r\n monthly: \"MONTHLY\",\r\n input_of_week: {\r\n mon: false,\r\n tue: false,\r\n wed: false,\r\n thu: false,\r\n fri: false,\r\n sat: false,\r\n sun: false\r\n },\r\n input_for_month: {\r\n option: \"first_day\",\r\n first_day: \"first_day\",\r\n last_day: \"last_day\",\r\n specific_date: \"specific_date\",\r\n date: 1\r\n },\r\n specific_date_range: [],\r\n displayDate: function (date) {\r\n var date = new Date(date);\r\n return date.getDate() + \" \" + vm.monthNames[date.getMonth()] + \" \" + date.getFullYear();\r\n }\r\n};\r\n\r\nfor (var i = 1; i < 32; i++) {\r\n vm.jobOccurrance.specific_date_range.push({ value: i, label: i });\r\n}\r\n\r\njobCreationService.setShowSuccess($scope.$parent.$parent.main.showSuccess);\r\njobCreationService.setShowFailure($scope.$parent.$parent.main.showFailure);\r\n\r\n\r\n\r\nvm.resetJobOccurranceDate = function () {\r\n vm.jobOccurrance.start_date = new Date();\r\n var endDate = new Date();\r\n if (vm.jobOccurrance.frequency == vm.jobOccurrance.daily) {\r\n endDate.setMonth(endDate.getMonth() + 1);\r\n } else if (vm.jobOccurrance.frequency == vm.jobOccurrance.weekly) {\r\n endDate.setMonth(endDate.getMonth() + 3);\r\n } else if (vm.jobOccurrance.frequency == vm.jobOccurrance.monthly) {\r\n endDate.setFullYear(endDate.getFullYear() + 1);\r\n }\r\n vm.jobOccurrance.end_date = endDate;\r\n}\r\n\r\n\r\nvm.getCustomerCallback = function (customers) {\r\n vm.customerList = customers;\r\n if (vm.DefaultCustomer!=null || vm.DefaultCustomer!='') {\r\n angular.forEach(vm.customerList,function(d){\r\n if (d.CompanyName == vm.DefaultCustomer) {\r\n vm.selectedCustomer = d;\r\n vm.selectCustomer(vm.selectedCustomer);\r\n //console.log('vm.selectedCustomer',vm.selectedCustomer);\r\n }\r\n })\r\n }\r\n}\r\n\r\nvm.GetServiceTax = function(data)\r\n{ \r\n vm.GSTPercentange =data;\r\n}\r\n\r\nvm.GetMobCommission = function(data)\r\n{ \r\n vm.MobiforceCommission =data;\r\n}\r\n\r\nvm.getProjectCallback = function (projects) {\r\n vm.projectList = projects;\r\n if (vm.DefaultProject!=null || vm.DefaultProject!='') {\r\n angular.forEach(vm.projectList, function(d){\r\n if (d.Name == vm.DefaultProject) {\r\n vm.selectedProject = d;\r\n vm.selectProject(vm.selectedProject);\r\n vm.ticketPrice = vm.selectedProject.JobRate;\r\n //console.log('vm.selectProject',vm.selectProject);\r\n // calculatePrice\r\n // $scope.checkedRadio();\r\n $scope.calculatePrice();\r\n if(vm.selectedProject.JobRate){\r\n vm.ticketPrice = vm.selectedProject.JobRate;\r\n }else{\r\n vm.ticketPrice = '';\r\n }\r\n\r\n vm.checkRateCard();\r\n\r\n }\r\n })\r\n }\r\n}\r\n\r\nvm.getTemplateCallback = function (templates) {\r\n vm.templateList = templates;\r\n if (vm.DefaultTemplate!=null && vm.DefaultTemplate!='') {\r\n angular.forEach(vm.templateList, function(d){\r\n if (d.TemplateName == vm.DefaultTemplate) {\r\n vm.selectedTemplate = d;\r\n //console.log('vm.selectedTemplate',vm.selectedTemplate);\r\n }\r\n })\r\n }\r\n}\r\n\r\nvm.getAllStatesCallback = function (states) {\r\n vm.states = states;\r\n if(vm.sameAddress){\r\n vm.State=vm.searchState(vm.selectedCustomer.State);\r\n vm.getAllCities(vm.State);\r\n }\r\n}\r\n\r\nvm.getAllCitiesCallback = function (cities) {\r\n vm.cities = cities;\r\n vm.City = vm.searchCity(vm.selectedCustomer.City);\r\n}\r\n\r\n\r\n vm.getLocationCallback = function (locations) {\r\n vm.locations = locations;\r\n if (vm.locations.length ==1) {\r\n vm.selectedLocation = vm.locations[0];\r\n vm.selectedLocCheck = true;\r\n }else{\r\n vm.selectedLocation = '';\r\n vm.selectedLocCheck = false;\r\n }\r\n\r\n }\r\n\r\n vm.checkcustomersummary= function(){\r\n vm.selectedCustomer&&vm.selectedLocation?vm.checkedJDetails = true:vm.checkedJDetails = false;\r\n if( vm.selectedCustomer&&vm.selectedLocation)\r\n {\r\n$('#customeractive').removeClass('summary_disabled');\r\n $('#customeractive').addClass('summary_data');\r\n $('#customeractiveno').removeClass('gray-disabled');\r\n }\r\n else{\r\n $('#customeractive').removeClass('summary_data');\r\n$('#customeractive').addClass('summary_disabled');\r\n$('#customeractiveno').addClass('gray-disabled');\r\n }\r\n}\r\n\r\n$(\"#customerData\").focusout(function(){\r\n if($('#customerData').val()==''){\r\n $('#customeractive').removeClass('summary_data');\r\n $('#customeractive').addClass('summary_disabled');\r\n $('#customeractiveno').addClass('gray-disabled'); \r\n }\r\n});\r\n\r\n// $(\"#templateId\").focusout(function(){\r\n// if($('#templateId').val()==''){\r\n// $('#customeractive').removeClass('summary_data');\r\n// $('#customeractive').addClass('summary_disabled');\r\n// $('#customeractiveno').addClass('gray-disabled'); \r\n// }\r\n// });\r\n// $(\"#templatevalue\").focusout(function(){\r\n// if($('#templatevalue').val()==''){\r\n// $('#customeractive').removeClass('summary_data');\r\n// $('#customeractive').addClass('summary_disabled');\r\n// $('#customeractiveno').addClass('gray-disabled'); \r\n// }\r\n// });\r\n\r\nvm.templateDynamicFieldCheck= function(index){\r\n var id='#templatevalue'+index;\r\n\r\n // console.log($('#templatevalue'+ index).val());\r\n if($(id).val()==''||$(id).val()=='undefined'){\r\n $('#templateactive').removeClass('summary_data');\r\n $('#templateactive').addClass('summary_disabled');\r\n $('#templateactiveno').addClass('gray-disabled'); \r\n }\r\n\r\n}\r\n\r\n vm.checkJobAddress= function()\r\n {\r\n if(vm.Name&&vm.Mobile&&vm.Address1&&vm.Address2&&vm.State&&vm.City&&vm.Pincode)\r\n \r\n {\r\n $('#jobaddressactive').removeClass('summary_disabled');\r\n $('#jobaddressactive').addClass('summary_data');\r\n //$('#customeractiveno').addClass('vertical-timeline-icon gray-bg gray-disabled');\r\n $('#jobaddressactiveno').removeClass('gray-disabled');\r\n }\r\n else{\r\n $('#jobaddressactive').removeClass('summary_data');\r\n $('#jobaddressactive').addClass('summary_disabled');\r\n $('#jobaddressactiveno').addClass('gray-disabled');\r\n } \r\n }\r\n\r\n vm.checkAppointment= function()\r\n {\r\n if(vm.appointmentType)\r\n \r\n {\r\n $('#appointmentactive').removeClass('summary_disabled');\r\n $('#appointmentactive').addClass('summary_data');\r\n //$('#customeractiveno').addClass('vertical-timeline-icon gray-bg gray-disabled');\r\n $('#appointmentactiveno').removeClass('gray-disabled');\r\n }\r\n else{\r\n $('#appointmentactive').removeClass('summary_data');\r\n $('#appointmentactive').addClass('summary_disabled');\r\n $('#appointmentactiveno').addClass('gray-disabled');\r\n } \r\n }\r\n\r\n vm.checkTemplate= function()\r\n {\r\n if(vm.selectedTemplate&&vm.ItemValue=='undefined'?vm.ItemValue='':vm.ItemValue)\r\n \r\n {\r\n $('#templateactive').removeClass('summary_disabled');\r\n $('#templateactive').addClass('summary_data');\r\n //$('#customeractiveno').addClass('vertical-timeline-icon gray-bg gray-disabled');\r\n $('#templateactiveno').removeClass('gray-disabled');\r\n }\r\n else{\r\n $('#templateactive').removeClass('summary_data');\r\n $('#templateactive').addClass('summary_disabled');\r\n $('#templateactiveno').addClass('gray-disabled');\r\n } \r\n }\r\n\r\n vm.checkRateCard= function()\r\n {\r\n if(vm.ticketPrice&&vm.freelancerPrice)\r\n \r\n {\r\n $('#ratecardactive').removeClass('summary_disabled');\r\n $('#ratecardactive').addClass('summary_data');\r\n //$('#customeractiveno').addClass('vertical-timeline-icon gray-bg gray-disabled');\r\n $('#ratecardactiveno').removeClass('gray-disabled');\r\n }\r\n else{\r\n $('#ratecardactive').removeClass('summary_data');\r\n $('#ratecardactive').addClass('summary_disabled');\r\n $('#ratecardactiveno').addClass('gray-disabled');\r\n } \r\n }\r\n\r\n vm.selectCustomer = function (item) {\r\n vm.sameAddress = false;\r\n\r\n if(vm.IsPCLink)\r\n {\r\n vm.selectedLocation = '';\r\n vm.locations = [];\r\n vm.selectedLocCheck = false;\r\n vm.selectedProject = ''\r\n jobCreationService.getAllProjectList(loggedinUser, item.CustomerId, token, vm.getProjectCallback); \r\n }\r\n}\r\n\r\nvm.selectProject = function (project) {\r\n\r\nvm.selectedprojectId = project.ProjectId;\r\nvm.dynamicpricing = project.DynamicPricing;\r\nif(vm.dynamicpricing){\r\n vm.JObItem(vm.selectedprojectId);\r\n }\r\n vm.selectedLocation = '';\r\n vm.locations = [];\r\n vm.serviceType = project.PaymentType;\r\n vm.calculatePrice();\r\n vm.checkRateCard();\r\n\r\n\r\n if (vm.LocationMapping == \"Project\" || vm.LocationMapping == \"State\" || vm.LocationMapping == null || vm.LocationMapping == \"\") {\r\n jobCreationService.GetProjectLocations(loggedinUser, project.Name, token, vm.getLocationCallback); \r\n }else if(vm.LocationMapping == 'Circle'){\r\n jobCreationService.GetTelecomCircle(loggedinUser, token).then(function(resp){\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.values.length>0) {\r\n vm.locations = resp.data.values;\r\n\r\n }\r\n }\r\n })\r\n }\r\n}\r\n\r\nvm.selectTemplate = function (template) { \r\n vm.isTemplateSkill=true;\r\n vm.templateSkillList = template.SkillSet;\r\n vm.ScopeWork = template.ScopeWork;\r\n vm.ScopeWorkPath = template.ScopeWorkPath;\r\n vm.Skill = template.Skill;\r\n if (vm.selectedProject.ProjectId && template) {\r\n jobCreationService.GetSchedulingRules(loggedinUser, template.Skill, vm.selectedProject.ProjectId, token, vm.getSchedulingRuleCallback); \r\n }\r\n}\r\n\r\nvm.getSchedulingRuleCallback = function (schedulingrules) {\r\n vm.schedulingrules = schedulingrules;\r\n if(vm.schedulingrules.length > 0){\r\n vm.CreateTable();\r\n vm.showSchedulingRules = true;\r\n }\r\n \r\n }\r\n\r\n\r\n\r\nvm.CreateTable = function () {\r\n vm.headerCompiled = false;\r\n vm.dtInstance = {};\r\n vm.selected = {};\r\n vm.selectAll = false;\r\n vm.toggleAll = toggleAll;\r\n vm.toggleOne = toggleOne;\r\n // var titleHtml = '
';\r\n\r\n vm.dtOptions = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n defer.resolve(vm.schedulingrules);\r\n return defer.promise;\r\n })\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withBootstrap()\r\n .withOption('createdRow', function (row, data, dataIndex) {\r\n $compile(angular.element(row).contents())($scope);\r\n })\r\n .withOption('headerCallback', function (header) {\r\n if (!vm.headerCompiled) {\r\n // Use this headerCompiled field to only compile header once\r\n vm.headerCompiled = true;\r\n $compile(angular.element(header).contents())($scope);\r\n }\r\n });\r\n\r\n\r\n vm.dtColumns = [\r\n DTColumnBuilder.newColumn(null).withTitle(null).renderWith(function (data, type, full, meta) {\r\n vm.selected[meta.row] = data.IsEnable;\r\n return '
';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn('RuleId').withTitle('Rule Id').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n }),\r\n DTColumnBuilder.newColumn('Name').withTitle('Name').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n }),\r\n DTColumnBuilder.newColumn('RuleType').withTitle('Type').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n }),\r\n DTColumnBuilder.newColumn('Description').withTitle('Description').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n })\r\n\r\n\r\n ];\r\n\r\n function toggleAll(selectAll, selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n selectedItems[id] = selectAll;\r\n }\r\n }\r\n }\r\n\r\n function toggleOne(selectedItems) {\r\n var tempRuleIdList = [];\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n vm.schedulingrules[id].IsEnable = selectedItems[id];\r\n if (vm.schedulingrules[id].IsEnable) {\r\n tempRuleIdList.push(vm.schedulingrules[id].RuleId);\r\n }\r\n }\r\n } \r\n vm.selectAll = true;\r\n }\r\n\r\n}\r\n\r\nvm.toggleOne = function(selectedItems) {\r\n var tempRuleIdList = [];\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n vm.schedulingrules[id].IsEnable = selectedItems[id];\r\n if (vm.schedulingrules[id].IsEnable) {\r\n tempRuleIdList.push(vm.schedulingrules[id].RuleId);\r\n }\r\n }\r\n } \r\n vm.selectAll = true;\r\n}\r\n\r\n\r\nvm.selectLocation = function (location) {\r\n vm.selectedLocation = location;\r\n}\r\n\r\n ///\r\n\r\n $scope.dynamicPopover = {\r\n content: 'Price recommendation for this job in current location is between 500 to 900 INR',\r\n templateUrl: 'myPopoverTemplate.html',\r\n title: 'Price Insight'\r\n };\r\n\r\n $scope.placement = {\r\n options: [\r\n 'top',\r\n 'top-left',\r\n 'top-right',\r\n 'bottom',\r\n 'bottom-left',\r\n 'bottom-right',\r\n 'left',\r\n 'left-top',\r\n 'left-bottom',\r\n 'right',\r\n 'right-top',\r\n 'right-bottom'\r\n ],\r\n selected: 'top'\r\n };\r\n \r\n\r\n vm.searchState = function (stateName) {\r\n var state = {};\r\n angular.forEach(vm.states, function (d) {\r\n if (d == stateName) {\r\n state = d;\r\n return;\r\n }\r\n });\r\n return state;\r\n }\r\n\r\n vm.searchCity = function (cityName) {\r\n if(cityName){\r\n var test = cityName.toUpperCase();\r\n var city = {};\r\n angular.forEach(vm.cities, function (d) {\r\n if (d == test) {\r\n city = d;\r\n return;\r\n }\r\n });\r\n }\r\n return city;\r\n }\r\n\r\n \r\n\r\n\r\n\r\n // vm.changeAddress = function () {\r\n // if (vm.sameAddress && vm.selectedCustomer) {\r\n // vm.address.Address1 = vm.selectedCustomer.Address1;\r\n // vm.address.Address2 = vm.selectedCustomer.Address2;\r\n // vm.contactPerson = vm.selectedCustomer.CompanyName;\r\n // vm.contactNumber = vm.selectedCustomer.BusinessPhone;\r\n // vm.address.State = vm.searchState(vm.selectedCustomer.State);\r\n // vm.address.PinCode = vm.selectedCustomer.PinCode;\r\n\r\n // if (vm.cities.length > 1) {\r\n // vm.address.City = vm.searchCity(vm.selectedCustomer.City);\r\n // } else {\r\n // vm.cities = [{ \"city\": \"Loading...\" }];\r\n // vm.address.City = vm.cities[0];\r\n\r\n // jobCreationService.getAllCity('U310000000001', vm.address.State, function (cities) {\r\n // vm.cities = cities;\r\n // vm.address.City = vm.searchCity(vm.selectedCustomer.City);\r\n // });\r\n // }\r\n // } else {\r\n // vm.address = {};\r\n // }\r\n // }\r\n\r\n vm.changeProj = function () {\r\n if (vm.IsPCLink) {\r\n vm.selectedProject = ''\r\n }\r\n }\r\n\r\n vm.geofencestatus = function () {\r\n if (vm.selectedProject.GeoFenceEnabled == false) {\r\n vm.selectedProject.GetFenceRange = 0;\r\n } else {\r\n vm.selectedProject.GetFenceRange = '';\r\n }\r\n // console.log(vm.selectedProject.GeoFenceEnabled + ' ' + vm.selectedProject.GetFenceRange);\r\n }\r\n\r\n vm.getAllCities = function () {\r\n vm.cities = [{ \"city\": \"Loading...\" }];\r\n vm.City=vm.cities[0];\r\n jobCreationService.getAllCity(loggedinUser,token, vm.State, vm.getAllCitiesCallback);\r\n }\r\n\r\n vm.getAllCitiesPickUp = function(state){\r\n jobCreationService.getAllCity(loggedinUser,token, state, vm.getAllCitiesCallbackPickUp);\r\n }\r\n\r\n vm.getAllCitiesCallbackPickUp = function (cities) {\r\n vm.citiesPickUp = cities;\r\n \r\n }\r\n\r\n vm.getAllCitiesPickUpDrop = function(state){\r\n jobCreationService.getAllCity(loggedinUser,token, state, vm.getAllCitiesCallbackPickUpDrop);\r\n }\r\n\r\n vm.getAllCitiesCallbackPickUpDrop = function (cities) {\r\n vm.citiesPickUpDrop = cities;\r\n \r\n }\r\n\r\n vm.getAllCitiesPickUpDrops = function(state){\r\n jobCreationService.getAllCity(loggedinUser,token,state, vm.getAllCitiesCallbackPickUpDrops);\r\n }\r\n\r\n vm.getAllCitiesCallbackPickUpDrops = function (cities) {\r\n vm.citiesPickUpDrops = cities;\r\n \r\n }\r\n \r\n jobCreationService.getAllCustomerList(loggedinUser, token, vm.getCustomerCallback);\r\n jobCreationService.getAllTemplateList(loggedinUser, token, vm.getTemplateCallback);\r\n jobCreationService.getAllState(loggedinUser,token, vm.getAllStatesCallback);\r\n jobCreationService.GetServiceTax(loggedinUser, token, vm.GetServiceTax);\r\n jobCreationService.GetMobCommission(loggedinUser, token, vm.GetMobCommission);\r\n if(!vm.IsPCLink)\r\n {\r\n jobCreationService.getAllProjs(loggedinUser, token, vm.getProjectCallback);\r\n \r\n }\r\n \r\n $scope.UploadData = function (files) {\r\n vm.FileName = \"\";\r\n vm.FilesDoc = files.files[0];\r\n vm.FileName = vm.FilesDoc.name;\r\n vm.FileSize = vm.FilesDoc.size;\r\n // var allowedFileSize = 1000000;\r\n var allowedExtensions = /(\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png|\\.pdf)$/i;\r\n if (!allowedExtensions.exec(vm.FileName)) {\r\n vm.FilesDoc = [];\r\n vm.clear();\r\n alert('Please upload file having extensions .jpg,.jpeg,.png ,.pdf only.');\r\n }\r\n // if(vm.FileSize > allowedFileSize){\r\n // vm.FilesDoc = [];\r\n // vm.clear(); \r\n // alert('File size cannot exceed 1MB');\r\n // }\r\n }\r\n\r\n vm.clear = function () {\r\n angular.element(\"input[type='file']\").val(null);\r\n };\r\n\r\n\r\n vm.createTicket = function () { \r\n var AppointmentType = '';\r\n // if(vm.appointmentType == 'Arrive'){\r\n // AppointmentType = '0';\r\n // }else if(vm.appointmentType == 'Specific'){\r\n // AppointmentType = '1';\r\n // }else if(vm.appointmentType == 'Complete'){\r\n // AppointmentType = '2';\r\n // }\r\n\r\n if(vm.SpareTransportType){\r\n if(vm.SpareTransportType == '0'){\r\n vm.PickUp = null;\r\n vm.PickUpDrop = null;\r\n }else if(vm.SpareTransportType == '1'){\r\n vm.Courier = null;\r\n vm.PickUpDrop = null;\r\n }else if(vm.SpareTransportType == '2'){\r\n vm.Courier = null;\r\n vm.PickUp = null;\r\n }\r\n }else{\r\n vm.PickUp = '';\r\n vm.PickUpDrop = '';\r\n vm.Courier = '';\r\n }\r\n \r\n vm.ticketSchedulingRules = [];\r\n vm.SectionListModel = [];\r\n vm.uiItemList = [];\r\n if (!vm.form.$invalid) {\r\n\r\n if (vm.jobOccurrance.status) {\r\n var startTime = null;\r\n var endTime = null;\r\n var cronExpression = null;\r\n var daily = null;\r\n var weekly = null;\r\n var monthly = null;\r\n //$log.log(\"vm.jobOccurrance \",vm.jobOccurrance);\r\n\r\n if (vm.jobOccurrance.frequency == vm.jobOccurrance.once) {\r\n var sample_Data = new Date(vm.jobOccurrance.sampleDate);\r\n startTime = {\r\n \"date\": sample_Data.getDate(),\r\n \"hour\": sample_Data.getHours(),\r\n \"min\": sample_Data.getMinutes(),\r\n \"month\": vm.monthNames3[sample_Data.getMonth()],\r\n \"sec\": sample_Data.getSeconds(),\r\n \"year\": sample_Data.getFullYear()\r\n };\r\n //$log.log(\"startTime \",startTime);\r\n } else {\r\n var startDate = new Date(vm.jobOccurrance.start_date);\r\n var endDate = new Date(vm.jobOccurrance.end_date);\r\n startTime = {\r\n \"date\": startDate.getDate(),\r\n \"hour\": startDate.getHours(),\r\n \"min\": startDate.getMinutes(),\r\n \"month\": vm.monthNames3[startDate.getMonth()],\r\n \"sec\": startDate.getSeconds(),\r\n \"year\": startDate.getFullYear()\r\n };\r\n endTime = {\r\n \"date\": endDate.getDate(),\r\n \"hour\": endDate.getHours(),\r\n \"min\": endDate.getMinutes(),\r\n \"month\": vm.monthNames3[endDate.getMonth()],\r\n \"sec\": endDate.getSeconds(),\r\n \"year\": endDate.getFullYear()\r\n };\r\n if (vm.jobOccurrance.frequency == vm.jobOccurrance.daily) {\r\n daily = {\r\n \"hour\": 23,\r\n \"minute\": 59\r\n };\r\n } else if (vm.jobOccurrance.frequency == vm.jobOccurrance.weekly) {\r\n var dayOfWeek = [];\r\n if (vm.jobOccurrance.input_of_week.mon) {\r\n dayOfWeek.push(0);\r\n }\r\n if (vm.jobOccurrance.input_of_week.tue) {\r\n dayOfWeek.push(1);\r\n }\r\n if (vm.jobOccurrance.input_of_week.wed) {\r\n dayOfWeek.push(2);\r\n }\r\n if (vm.jobOccurrance.input_of_week.thu) {\r\n dayOfWeek.push(3);\r\n }\r\n if (vm.jobOccurrance.input_of_week.fri) {\r\n dayOfWeek.push(4);\r\n }\r\n if (vm.jobOccurrance.input_of_week.sat) {\r\n dayOfWeek.push(5);\r\n }\r\n if (vm.jobOccurrance.input_of_week.sun) {\r\n dayOfWeek.push(6);\r\n }\r\n weekly = {\r\n \"dayOfWeek\": dayOfWeek,\r\n \"hour\": 23,\r\n \"minute\": 59\r\n };\r\n } else if (vm.jobOccurrance.frequency == vm.jobOccurrance.monthly) {\r\n if (vm.jobOccurrance.input_for_month.option == vm.jobOccurrance.input_for_month.first_day) {\r\n monthly = {\r\n \"dayOfMonth\": \"1\",\r\n \"hour\": 23,\r\n \"minute\": 59\r\n };\r\n } if (vm.jobOccurrance.input_for_month.option == vm.jobOccurrance.input_for_month.last_day) {\r\n cronExpression = \"0 59 23 L-2 * *\";\r\n vm.jobOccurrance.frequency = vm.jobOccurrance.cronExpression\r\n } if (vm.jobOccurrance.input_for_month.option == vm.jobOccurrance.input_for_month.specific_date) {\r\n monthly = {\r\n \"dayOfMonth\": vm.jobOccurrance.input_for_month.date,\r\n \"hour\": 23,\r\n \"minute\": 59\r\n };\r\n }\r\n\r\n }\r\n }\r\n }\r\n\r\n\r\n if(vm.schedulingrules){\r\n for(var i = 0; i< vm.schedulingrules.length; i++){\r\n if(vm.schedulingrules[i].IsEnable){\r\n vm.ticketSchedulingRules.push(vm.schedulingrules[i].RuleId);\r\n }\r\n }\r\n }\r\n \r\n\r\n if(!vm.selectedLocation)\r\n {\r\n vm.selectedLocation = vm.State;\r\n }\r\n\r\n // if(AppointmentType == '0'){\r\n // var eTime = new Date();\t\r\n // eTime.setHours((vm.startTime.getHours() + 4));\r\n // vm.endTime = eTime;\r\n // // vm.endTime = vm.endTime.setHours(new Date(vm.startTime).getHours() + 4);\r\n // }\r\n\r\n // if (vm.startTime) {\r\n var sDate = $filter('date')(new Date(vm.startTime),'yyyy-MM-dd');\r\n vm.Stime = vm.AppointmentTime;\r\n if(vm.Stime)\r\n {\r\n var startTime = moment (sDate + ' ' + vm.Stime).format('YYYY-MM-DD HH:mm');\r\n }\r\n else{\r\n var startTime= null;\r\n }\r\n vm.CurrentDate = moment().format('YYYY-MM-DD HH:mm');\r\n var endTime = $filter('date')(new Date(vm.endTime),'yyyy-MM-dd HH:mm');\r\n \r\n var sourcecreationdate =$filter('date')(new Date(vm.SourceCreationDate),'yyyy-MM-dd HH:mm');;\r\n var plannedclosuredate =$filter('date')(new Date(vm.PlannedClosureDate),'yyyy-MM-dd HH:mm');\r\n\r\n var newTicketPrice =0;\r\n var newMobiforceCommission=0;\r\n var newFprice =0;\r\n\r\n if(vm.dynamicpricing==true)\r\n {\r\n if(vm.PriceLineItemList.length==0)\r\n { \r\n vm.showFailure(\"Add at least one activity\");\r\n vm.disableCreate = false;\r\n return;\r\n }\r\n newTicketPrice = vm.BasePriceTotal;\r\n newMobiforceCommission = vm.PercentageTotal;\r\n newFprice = vm.dFreelancerPriceTotal;\r\n vm.IsLineItemAvailable = true;\r\n }\r\n else\r\n {\r\n newTicketPrice = vm.ticketPrice;\r\n newMobiforceCommission = vm.MobiforceCommission;\r\n vm.IsLineItemAvailable = false;\r\n }\r\n vm.UploadServerData();\r\n vm.ticketModelData = {\r\n TicketSchedulerModel: null,\r\n TemplateModel: null,\r\n CustomerId: vm.selectedCustomer.CustomerId,\r\n JobId:vm.jobId,\r\n JobType:vm.jobType,\r\n CustomerName: vm.selectedCustomer.CompanyName,\r\n CustomerContact: vm.selectedCustomer.BusinessPhone,\r\n InvoiceDetailsAttachment: vm.FileName,\r\n ProjectName: vm.selectedProject.Name,\r\n ProjectId:vm.selectedProject.ProjectId,\r\n Circle: vm.selectedLocation,\r\n JobDescription: vm.description,\r\n Priority: vm.priority,\r\n Address1: vm.Address1,\r\n TicketSource: vm.TicketSource,\r\n Address2: vm.Address2,\r\n Pincode: vm.Pincode,\r\n State: vm.State,\r\n Template: vm.selectedTemplate.TemplateName,\r\n JobTemplateModel:{\"TemplateItems\":null} ,\r\n SkillSet: vm.TemplateSkill,\r\n //SupervisorId: $localStorage.loggedInUserId,\r\n BidDuration: null,//in seconds\r\n // StartTime: moment(vm.startTime).format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\"),\r\n // EndTime: moment(vm.endTime).format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\"),\r\n StartTime: startTime,\r\n EndTime: endTime,\r\n ConsumerName:vm.Name,\r\n ConsumerContactNumber:vm.Mobile,\r\n BroadcastRate: newTicketPrice,\r\n BroadcastGrossRate: (newTicketPrice * ((vm.GSTPercentange+100)*.01)),\r\n // BroadcastRate: vm.ticketPrice,\r\n // BroadcastGrossRate: (vm.ticketPrice * ((vm.GSTPercentange+100)*.01)),\r\n FixedBidPrice: vm.selectedProject.FixedBidPrice,\r\n GeoFenceEnable: vm.selectedProject.GeoFenceEnabled,\r\n GeoFenceRange: vm.selectedProject.GetFenceRange,\r\n PaymentType: vm.serviceType,\r\n Region:null,\r\n SubRegion:null,\r\n RuleIds: vm.ticketSchedulingRules,\r\n // MobiforceCommissionPercentage:vm.MobiforceCommission,\r\n MobiforceCommissionPercentage:newMobiforceCommission,\r\n AppointmentType : AppointmentType,\r\n ScopeWork : vm.ScopeWork,\r\n ScopeWorkPath : vm.ScopeWorkPath,\r\n SpareTransportType : vm.SpareTransportType,\r\n Courier : vm.Courier,\r\n PickUp : vm.PickUp,\r\n PickUpDrop : vm.PickUpDrop,\r\n IsLineItemAvailable: vm.IsLineItemAvailable,\r\n SourceCreationDate: sourcecreationdate,\r\n PlannedClosureDate: plannedclosuredate,\r\n SiteName: vm.SiteName,\r\n Region: vm.JobRegion,\r\n Circle : vm.Circle,\r\n // jobLineItemModel: LineItemRequestList.push(vm.TrainingList),\r\n jobLineItemModel:{\r\n \"LineItemRequestList\":vm.PriceLineItemList\r\n }\r\n\r\n\r\n };\r\n\r\n if (vm.EnableRegion) {\r\n vm.ticketModelData.Region = vm.Region;\r\n vm.ticketModelData.SubRegion = vm.SubRegion;\r\n }\r\n\r\n var hrs = vm.bidDuration.getHours();\r\n var min = vm.bidDuration.getMinutes();\r\n \r\n // var time = vm.bidDuration.split(':');\r\n // var hrs = parseInt(time[0]);\r\n // var min = parseInt(time[1]);\r\n\r\n vm.ticketModelData.BidDuration = hrs*60 + min;\r\n var ItemList = vm.selectedTemplate.SectionList[0].ItemList;\r\n //$log.log('ItemList',ItemList);\r\n var jobModel = {};\r\n for(var index = 0; index= moment(eDate)._i && vm.VerticalName=='Telecom'){\r\n vm.showFailure(\"End Time should be greater than Start Time\");\r\n vm.disableCreate = false;\r\n } \r\n else if(moment(startTime)._i <= moment(vm.CurrentDate)._i) {\r\n vm.showFailure(\"Appointment Time should be greater than Current Time\");\r\n vm.disableCreate = false;\r\n }\r\n else {\r\n jobCreationService.createTicket(loggedinUser, vm.ticketModelData, token, function (res) {\r\n if(vm.dynamicpricing==true)\r\n {\r\n userFormData = { \r\n \"TicketId\": res,\r\n \"LineItemRequestList\": vm.PriceLineItemList\r\n } \r\n // jobCreationService.CreateLineItem(userFormData,loggedinUser,token).then(function(resp){\r\n // $timeout(function(){\r\n // if (resp.status==200) { \r\n // $state.go('index.JobTicketsCopy', {\r\n // reload: true\r\n // });\r\n // }\r\n // }, 1000);\r\n // })\r\n } \r\n $timeout(function(){\r\n if (vm.VerticalName =='Spectro Labs') {\r\n $state.go('index.TicketList', {\r\n reload: true\r\n });\r\n }else{ \r\n $state.go('index.JobTicketsCopy', {\r\n reload: true\r\n });\r\n }\r\n \r\n }, 1000);\r\n }, function(){\r\n vm.disableCreate = false;\r\n vm.form.$submitted = true;\r\n });\r\n } \r\n } else {\r\n vm.showFailure(\"Failed\", \"City is not selected\");\r\n vm.disableCreate = false;\r\n vm.form.$submitted = true;\r\n }\r\n } else {\r\n vm.disableCreate = false;\r\n vm.form.$submitted = true;\r\n }\r\n }\r\n\r\n vm.UploadServerData = function () {\r\n jobCreationService.UploadServerData( vm.FilesDoc, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 201) {\r\n vm.showSuccess(\"Success\", resp.data.Message);\r\n }\r\n else if (resp.status == 500) {\r\n vm.showFailure(\"Failed\", \"Please select image or pdf to upload\");\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", \"Please select image or pdf to upload\");\r\n }\r\n })\r\n \r\n \r\n }\r\n\r\n\r\n\r\n vm.broadcastTicket = function () {\r\n if (!vm.form.$invalid) {\r\n vm.ticketModelData = {\r\n CustomerId: vm.selectedCustomer.CustomerId,\r\n CustomerName: vm.selectedCustomer.CompanyName,\r\n CustomerContact: vm.selectedCustomer.BusinessPhone,\r\n ProjectName: vm.selectedProject.Name,\r\n Circle: vm.selectedLocation,\r\n JobDescription: vm.description,\r\n Priority: vm.priority,\r\n Address1: vm.Address1,\r\n Address2: vm.Address2,\r\n Pincode: vm.PinCode,\r\n State: vm.State,\r\n Template: vm.selectedTemplate.TemplateName,\r\n JobTemplateModel: { \"TemplateItems\": \"Name\" },\r\n SkillSet: \"\",\r\n SupervisorId: $localStorage.loggedInUserId,\r\n BidDuration: vm.bidDuration,//in seconds\r\n StartTime: moment(vm.startTime).format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\"),\r\n EndTime: moment(vm.endTime).format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\"),\r\n BroadcastRate: vm.ticketPrice,\r\n // BroadcastGrossRate: (vm.selectedProject.ticketPrice * 1.18),\r\n BroadcastGrossRate : vm.ticketPrice * 1.18,\r\n FixedBidPrice: vm.selectedProject.FixedBidPrice,\r\n GeoFenceEnable: vm.selectedProject.GeoFenceEnabled,\r\n GeoFenceRange: vm.selectedProject.GetFenceRange,\r\n\r\n\r\n };\r\n if (vm.City && vm.City!=\"Loading...\") {\r\n vm.ticketModelData.City = vm.City;\r\n jobCreationService.createAndBroadcast(loggedinUser, vm.ticketModelData, token, function (res) {\r\n $state.go('index.JobTicketsCopy', {\r\n reload: true\r\n });\r\n });\r\n } else {\r\n vm.showFailure(\"Failed\", \"City is not selected\");\r\n }\r\n }\r\n }\r\n\r\n if (vm.EnableRegion) {\r\n vm.RegionList = '';\r\n\r\n jobCreationService.GetSubRegion(loggedinUser,token).then(function(resp){\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.values.length>0) {\r\n vm.RegionList = resp.data.values;\r\n $log.log('RegionList',vm.RegionList)\r\n }\r\n }\r\n })\r\n }\r\n\r\n vm.selectRegion = function(region){\r\n vm.SubRegionList = '';\r\n jobCreationService.GetCityBySubRegion(loggedinUser, region, token).then(function(resp){\r\n if (resp.status==200) {\r\n if (resp.data && resp.data.values.length>0) {\r\n vm.SubRegionList = resp.data.values;\r\n $log.log('SubRegionList',vm.SubRegionList)\r\n }\r\n }\r\n })\r\n }\r\n\r\n\r\n vm.checkPermissionInMenu = function(entity, defaultValue){\r\n if(accountConfig && accountConfig.MenuListModel && accountConfig.MenuListModel.length>0){\r\n for(var i=0; i=0;\r\n }\r\n }\r\n }\r\n return defaultValue;\r\n } \r\n \r\n vm.checkPermissionInSubMenu = function(entity, parentEntity, defaultValue){\r\n if(accountConfig && accountConfig.MenuListModel && accountConfig.MenuListModel.length>0){\r\n for(var i=0; i0){\r\n for(var j=0; j=0;\r\n }\r\n } \r\n }\r\n }\r\n }\r\n return defaultValue;\r\n } \r\n\r\n vm.calculatePrice = function () {\t\r\n\r\n if(vm.serviceType == 'Free'){\r\n\r\n\t\tif(vm.ticketPrice > 0){\t\t\r\n // vm.freelancerPrice = 0; \r\n \r\n vm.commission = vm.ticketPrice * (vm.MobiforceCommission) / 100;\r\n vm.freelancerPricetemp = vm.ticketPrice - vm.commission;\r\n vm.tPrice = vm.ticketPrice;\r\n vm.tax = (Number(vm.tPrice) * Number(vm.GSTPercentange) / 100).toFixed(2);\r\n vm.freelancerPrice = vm.freelancerPricetemp;\r\n }\r\n else{\r\n vm.tPrice = \"\";\r\n vm.commission = \"\";\r\n vm.tax = \"\";\r\n vm.freelancerPricetemp = '';\r\n vm.freelancerPrice = \"\";\r\n }\r\n }else if(vm.serviceType =='Paid'){\r\n\r\n if(vm.ticketPrice > 0){\t\t\r\n // vm.freelancerPrice = 0; \r\n vm.commission = vm.ticketPrice * (vm.MobiforceCommission) / 100;\r\n vm.freelancerPricetemp = vm.ticketPrice - vm.commission;\r\n vm.tax = (Number(vm.ticketPrice) * Number(vm.GSTPercentange) / 100).toFixed(2);\r\n vm.tPrice = (Number(vm.ticketPrice) + Number(vm.tax));\r\n vm.freelancerPrice = vm.freelancerPricetemp;\r\n }else{\r\n vm.tPrice = \"\";\r\n vm.commission = \"\";\r\n vm.tax = \"\";\r\n vm.freelancerPricetemp = '';\r\n vm.freelancerPrice = \"\";\r\n }\r\n\r\n\t\t\t// vm.gstFeeAmount = (vm.rechargeAmount *(vm.gstFee/100)).toFixed(2);\r\n\t\t\t// vm.subTotal = Number(vm.rechargeAmount) + Number(vm.gstFeeAmount);\r\n\t\t\t// vm.procssingFeeAmount = (vm.subTotal *(vm.processingFee/100)).toFixed(2);\r\n\t\t\t// vm.totalAmount = (Number(vm.subTotal) + Number(vm.procssingFeeAmount)).toFixed(2);\r\n\t\t}\r\n\r\n }\r\n\r\n $scope.calculatePrice = function () {\t\r\n vm.getProjectCallback();\r\n if(vm.serviceType=='Free'){\r\n if(vm.ticketPrice > 0){\t\t\r\n // vm.freelancerPrice = 0; \r\n vm.tPrice = vm.ticketPrice;\r\n vm.commission = vm.ticketPrice * (vm.MobiforceCommission) / 100;\r\n vm.tax = vm.tPrice * (vm.GSTPercentange) / 100;\r\n vm.freelancerPricetemp = vm.ticketPrice - vm.commission;\r\n vm.freelancerPrice = vm.freelancerPricetemp;\r\n \r\n }\r\n else\r\n {\r\n vm.tPrice = \"\";\r\n vm.freelancerPricetemp = \"\";\r\n vm.commission = \"\";\r\n vm.tax = \"\";\r\n vm.freelancerPrice = '';\r\n }\r\n }else if(vm.serviceType=='Paid'){\r\n\r\n if(vm.ticketPrice > 0){\t\t\r\n // vm.freelancerPrice = 0; \r\n vm.commission = vm.ticketPrice * (vm.MobiforceCommission) / 100;\r\n vm.freelancerPricetemp = vm.ticketPrice - vm.commission;\r\n vm.tax = (Number(vm.ticketPrice) * Number(vm.GSTPercentange) / 100).toFixed(2);\r\n vm.tPrice = (Number(vm.ticketPrice) + Number(vm.tax));\r\n vm.freelancerPrice = vm.freelancerPricetemp;\r\n\r\n }else{\r\n vm.tPrice = \"\";\r\n vm.commission = \"\";\r\n vm.tax = \"\";\r\n vm.freelancerPricetemp = '';\r\n vm.freelancerPrice = \"\";\r\n }\r\n\r\n }\r\n } \r\n \r\n vm.calculateFreelancerPrice = function () {\t\r\n if(vm.serviceType =='Free'){\r\n\t\tif(vm.freelancerPrice > 0){\t\t\r\n vm.ticketPrice = 0; \r\n vm.freelancerPricetemp = vm.freelancerPrice;\r\n vm.commission = (vm.freelancerPrice * vm.MobiforceCommission)/(100-20) ;\r\n vm.tPrice = Number(vm.freelancerPrice) + Number(vm.commission);\r\n vm.tax = vm.tPrice * (vm.GSTPercentange) / 100;\r\n \r\n vm.ticketPrice = vm.tPrice;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tvm.tPrice = \"\";\r\n\t\t\tvm.freelancerPricetemp = \"\";\r\n vm.commission = \"\";\r\n vm.tax = \"\";\r\n vm.ticketPrice = '';\r\n\t\t}\r\n\r\n\t}else if(vm.serviceType=='Paid'){\r\n\r\n if(vm.freelancerPrice > 0){\t\t\r\n vm.ticketPrice = 0; \r\n vm.freelancerPricetemp = vm.freelancerPrice;\r\n vm.commission = (vm.freelancerPrice * vm.MobiforceCommission)/(100-vm.MobiforceCommission) ;\r\n vm.tax = ((Number(vm.freelancerPrice) + Number(vm.commission)) * Number(vm.GSTPercentange) / 100).toFixed(2);\r\n vm.tPrice = Number(Number(vm.freelancerPrice) + Number(vm.commission)) + Number(vm.tax);\r\n \r\n vm.ticketPrice = Number(Number(vm.freelancerPrice) + Number(vm.commission));\r\n }\r\n\t\telse\r\n\t\t{\r\n\t\t\tvm.tPrice = \"\";\r\n\t\t\tvm.freelancerPricetemp = \"\";\r\n vm.commission = \"\";\r\n vm.tax = \"\";\r\n vm.ticketPrice = '';\r\n }\r\n \r\n }\r\n\r\n\r\n }\r\n \r\n $scope.getPriceInsight = function(){\r\n \r\n if(vm.ticketPrice && vm.State && vm.Skill && vm.City){\r\n jobCreationService.GetPriceInsight(loggedinUser,vm.ticketPrice,vm.Skill,vm.City,token).then(function(resp){\r\n var priceinsight = resp.data;\r\n var temp ='';\r\n if(priceinsight){\r\n temp = priceinsight.split(',');\r\n vm.priceInsight= 'Recommended Price : '+ temp[0] + ' INR' + ' Job_Acceptance Percentage : '+ temp[1]; \r\n }\r\n });\r\n }else{\r\n vm.priceInsight = 'Failed, Please select State, City, Template & Ticket Price Credits to get priceInsight. Thank you!';\r\n }\r\n \r\n }\r\n \r\n vm.openCalendarSourceCreationDate = function(e, picker) { \r\n vm.SourceCreationStartDate.open = true;\r\n };\r\n vm.openCalendarPlannedClosureDate = function(e, picker) { \r\n vm.PlannedClosureEndDate.open = true;\r\n };\r\n var sourcecreationdatelimit = new Date();\t\r\n sourcecreationdatelimit.setMinutes(sourcecreationdatelimit.getMinutes() + 1)\r\n vm.SourceCreationStartDate = {date: '', datepickerOptions: { minDate: sourcecreationdatelimit }};\r\n\r\n var plannedclosuredatelimit = new Date();\t\r\n\tplannedclosuredatelimit.setMinutes(plannedclosuredatelimit.getMinutes() + 1)\r\n vm.PlannedClosureEndDate = {date: '', datepickerOptions: { minDate: plannedclosuredatelimit }};\r\n\r\n\t\t\t\t\t\t\t\t\t\r\nvm.openCalendar = function(e, picker) { \r\n vm.AppointmentsDate.open = true;\r\n};\r\n\r\nvar datelimit = new Date();\t\r\n\r\ndatelimit.setMinutes(datelimit.getMinutes() + 1)\r\nvm.AppointmentsDate = {date: '', datepickerOptions: { minDate: datelimit }};\r\n\r\n\r\nvm.openCalendarEndDate = function(e, picker) { \r\n\tvm.AppointmentsEndDate.open = true;\r\n};\r\n\r\nvar EndDatelimit = new Date();\t\r\n\tEndDatelimit.setMinutes(EndDatelimit.getMinutes() + 1)\r\nvm.AppointmentsEndDate = {date: '', datepickerOptions: { minDate: EndDatelimit }};\r\n\r\n$(function(){\r\n $(\".number-only\").keypress(function (e) {\r\n if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {\r\n $(\"#wdm_errmsg\").html(\"Please Enter Digits Only\").show().fadeOut(\"slow\");\r\n return false;\r\n }\r\n });\r\n /* Do not allow paste */\r\n $('.number-only').bind(\"paste\",function(e) {\r\n e.preventDefault();\r\n });\r\n // $('.number-only').keypress(function(e) {\r\n // if(isNaN(this.value+\"\"+String.fromCharCode(e.charCode))) return false;\r\n // })\t\r\n \r\n });\r\nvm.addMorejobitem = function () {\r\n vm.showRow = true;\r\n}\r\n\r\n vm.showRow = false;\r\n vm.addMoreSkill = function () {\r\n var skillData = {\r\n Skill: vm.addSkill,\r\n Experience: vm.addExprence,\r\n Brand: [],\r\n SelfRatingOnSkill: ''\r\n }\r\n \r\n if(skillData.Skill){\r\n vm.SkillList.push(skillData);\r\n vm.showRow = false;\r\n vm.addExprence = '';\r\n vm.addSkill = '';\r\n }else{\r\n vm.showRow = false;\r\n vm.addExprence = '';\r\n vm.addSkill = '';\r\n vm.showFailure(\"Warning\", \"You must select SKILL & EXPERIENCE\");\r\n }\r\n\r\n }\r\n vm.removeSkill = function (index) {\r\n vm.SkillList.splice(index, 1);\r\n }\r\n\r\n vm.JObItem = function(selectedprojectId){\r\n jobCreationService.GetJObLineItem(loggedinUser, selectedprojectId, token).then(function(resp){\r\n if (resp.status==200) {\r\n vm.JobItemList = resp.data; \r\n }\r\n })\r\n }\r\n vm.ActivityDescription=[];\r\n // vm.JObItem();\r\n vm.getLineItemAcitivityDesc = function(LineItemCategoryType){\r\n \r\n vm.LineItemDisc=\"\";\r\n var LineItemAcitivityArray = [];\r\n for (var i = 0; i < vm.JobItemList.length; i++) {\r\n if (vm.JobItemList[i].LineItemCategory == LineItemCategoryType) {\r\n LineItemAcitivityArray.push(vm.JobItemList[i]);\r\n }\r\n }\r\n vm.LineitemActivityList=LineItemAcitivityArray; \r\n if(LineItemCategoryType==\"Service\")\r\n vm.qunatityEnable=true;\r\n else\r\n vm.qunatityEnable=false; \r\n vm.ActivityDescription = vm.getRemainingLineItems();\r\n \r\n }\r\n \r\n vm.LineItemCompanyProvidedChange = function(LineItemCompanyProvided,index){\r\n if(typeof index === \"undefined\"){\r\n if(LineItemCompanyProvided==\"Yes\"){ \r\n if((vm.LineItemCategoryType==\"HW\" || vm.LineItemCategoryType==\"Service\" ) && vm.LineItemList.LineItemDescription==\"Others\"){\r\n vm.LineItemList.dLineItemFreelancerPrice = 0;\r\n vm.CompanyProvidedEnable=true;\r\n vm.IsBasePriceDisabled=true; \r\n vm.FreelancrPriceEnable=true; \r\n if(vm.LineItemCategoryType==\"HW\" && vm.LineItemList.LineItemDescription==\"Others\"){\r\n vm.LineItemList.dLineItemFreelancerPrice = 0;\r\n vm.CompanyProvidedEnable=true;\r\n vm.IsBasePriceDisabled=false;\r\n vm.FreelancrPriceEnable=true; \r\n } \r\n }\r\n else{\r\n vm.LineItemList.origdLineItemFreelancerPrice = vm.LineItemList.dLineItemFreelancerPrice; \r\n vm.LineItemList.dLineItemFreelancerPrice = 0; \r\n vm.CompanyProvidedEnable=true;\r\n vm.IsBasePriceDisabled=true; \r\n }\r\n }\r\n else{\r\n if((vm.LineItemCategoryType==\"HW\" || vm.LineItemCategoryType==\"Service\" )&& vm.LineItemList.LineItemDescription==\"Others\"){ \r\n vm.IsBasePriceDisabled=false; \r\n vm.CompanyProvidedEnable=false; \r\n vm.FreelancrPriceEnable=false;\r\n if(vm.LineItemCategoryType==\"HW\" && vm.LineItemList.LineItemDescription==\"Others\"){\r\n vm.LineItemList.dLineItemFreelancerPrice = vm.LineItemList.dLineItemFreelancerPrice; \r\n } \r\n }\r\n else if(vm.LineItemCategoryType==\"HW\" && vm.AccountId == \"158\"){\r\n vm.IsBasePriceDisabled=false; \r\n vm.FreelancrPriceEnable=false;\r\n vm.LineItemList.dLineItemFreelancerPrice = vm.LineItemList.dLineItemFreelancerPrice;\r\n }\r\n else{ \r\n vm.CompanyProvidedEnable=false;\r\n vm.IsBasePriceDisabled=true; \r\n vm.LineItemList.dLineItemFreelancerPrice = vm.LineItemList.origdLineItemFreelancerPrice; \r\n } \r\n } \r\n }\r\n else{\r\n if(LineItemCompanyProvided==\"Yes\"){ \r\n vm.PriceLineItemList[index].origdLineItemFreelancerPrice = vm.PriceLineItemList[index].dLineItemFreelancerPrice; \r\n vm.PriceLineItemList[index].dLineItemFreelancerPrice = 0; \r\n vm.CompanyProvidedEnable=true;\r\n vm.IsBasePriceDisabled=true; \r\n if(vm.PriceLineItemList[index].LineItemCategory==\"HW\" && vm.PriceLineItemList[index].LineItemDescription==\"Others\"){ \r\n vm.PriceLineItemList[index].dLineItemFreelancerPrice = 0; \r\n vm.CompanyProvidedEnable=true;\r\n vm.FreelancrPriceEnable=true; \r\n vm.IsBasePriceDisabled=false; \r\n }\r\n }\r\n else{ \r\n vm.CompanyProvidedEnable=false; \r\n vm.IsBasePriceDisabled=true; \r\n if(vm.PriceLineItemList[index].LineItemCategory==\"HW\" ){\r\n if(vm.PriceLineItemList[index].LineItemDescription==\"Others\"){\r\n vm.PriceLineItemList[index].dLineItemFreelancerPrice = vm.PriceLineItemList[index].dLineItemWinPrice; \r\n vm.CompanyProvidedEnable=false;\r\n vm.FreelancrPriceEnable=false;\r\n vm.IsBasePriceDisabled=false; \r\n }\r\n else{\r\n vm.PriceLineItemList[index].dLineItemFreelancerPrice = vm.PriceLineItemList[index].origdLineItemFreelancerPrice;\r\n } \r\n }\r\n }\r\n } \r\n }\r\n\r\n $scope.LoadSessionData=function(val){ \r\n $scope.selectedVal = val.value\r\n $scope.$apply(); \r\n }; \r\n vm.LineItemDetails = function(ObjLineItem){ \r\n var LineItemId=ObjLineItem.LineItemId;\r\n jobCreationService.ItemLineDetails(loggedinUser, vm.selectedprojectId, LineItemId, token).then(function(resp){\r\n if (resp.status==200) {\r\n vm.LineItemList = resp.data;\r\n vm.LineItemList.Quantity=1;\r\n vm.LineItemCompanyProvided= vm.LineItemList.LineItemCompanyProvided; \r\n if(vm.LineItemCategoryType==\"Collection\")\r\n {\r\n vm.IsBasePriceDisabled=true; \r\n vm.IsPercentageDisabled=true; \r\n vm.disableProvided=true; \r\n vm.qunatityEnable=true;\r\n vm.CompanyProvidedEnable=false; \r\n vm.FreelancrPriceEnable=false;\r\n\r\n }\r\n else\r\n {\r\n \r\n if(vm.LineItemCompanyProvided==\"Yes\")\r\n {\r\n if(vm.LineItemCategoryType == \"Service\"){\r\n vm.CompanyProvidedEnable=false; \r\n vm.disableProvided=true;\r\n vm.qunatityEnable=false; \r\n }else { \r\n vm.CompanyProvidedEnable=true;\r\n vm.disableProvided=false; \r\n vm.IsPercentageDisabled=true;\r\n vm.qunatityEnable=false; \r\n }\r\n }\r\n else{\r\n vm.CompanyProvidedEnable=false;\r\n vm.IsPercentageDisabled=false; \r\n vm.disableProvided=false; \r\n vm.IsBasePriceDisabled=true;\r\n vm.FreelancrPriceEnable=true;\r\n vm.qunatityEnable=false; \r\n if(vm.LineItemCategoryType == \"Service\")\r\n vm.disableProvided=true; \r\n else\r\n vm.disableProvided=false; \r\n if((vm.LineItemCategoryType==\"HW\" && ObjLineItem.LineItemDescription==\"Others\" && vm.AccountId != \"158\") || (vm.LineItemCategoryType==\"HW\" && vm.AccountId == \"158\") )\r\n { \r\n vm.IsBasePriceDisabled=false; \r\n vm.IsPercentageDisabled=true; \r\n vm.CompanyProvidedEnable=false; \r\n vm.FreelancrPriceEnable=false; \r\n } \r\n if(vm.LineItemCategoryType==\"Service\" && ObjLineItem.LineItemDescription==\"Others\") \r\n { \r\n vm.IsBasePriceDisabled=false; \r\n vm.IsPercentageDisabled=true; \r\n vm.CompanyProvidedEnable=false; \r\n vm.disableProvided=true; \r\n vm.FreelancrPriceEnable=false; \r\n } \r\n if(vm.LineItemCategoryType==\"Service\" && vm.LineItemList.LineItemDescription==\"PAV Activity\" && vm.AccountId == \"375\"){\r\n vm.IsBasePriceDisabled=false; \r\n vm.FreelancrPriceEnable=false; \r\n vm.CompanyProvidedEnable=false; \r\n } \r\n } \r\n //vm.calculateLineItemPrice(); \r\n }\r\n }\r\n })\r\n }\r\n vm.ConverttoDecimal = function(value) {\r\n return (parseFloat(value).toFixed(2))\r\n }\r\n \r\n vm.addPriceLineItem = function(){\r\n \r\n if(!vm.LineItemCategoryType)\r\n {\r\n vm.showFailure(\"Warning\", \"Please select category type\"); \r\n return; \r\n } \r\n\r\n if(!vm.LineItemDisc)\r\n {\r\n vm.showFailure(\"Warning\", \"Please select activity description\"); \r\n return; \r\n } \r\n\r\n if(vm.LineItemCategoryType!=\"Collection\")\r\n {\r\n if(vm.LineItemList.dLineItemWinPrice==\"\" || vm.LineItemList.dLineItemWinPrice==\"0\" || parseInt(vm.LineItemList.dLineItemWinPrice) < 1)\r\n {\r\n vm.showFailure(\"Warning\", \"Please enter base price\"); \r\n return; \r\n } \r\n\r\n if(vm.LineItemCompanyProvided ==\"\")\r\n {\r\n vm.showFailure(\"Warning\", \"Please select company provided yes or no\"); \r\n return; \r\n } \r\n \r\n if(vm.LineItemList.Quantity==\"\")\r\n {\r\n vm.showFailure(\"Warning\", \"Please enter quantity\"); \r\n return; \r\n }\r\n\r\n if(vm.LineItemList.Quantity==0){\r\n vm.showFailure(\"Warning\", \"zero (0) quantity not allowed\"); \r\n return; \r\n }\r\n\r\n if(vm.LineItemList.LineItemDescription == \"Others\" && (parseFloat(vm.LineItemList.dLineItemFreelancerPrice) > parseFloat(vm.LineItemList.dLineItemWinPrice))){\r\n vm.showFailure(\"Warning\", \"Please enter freelancer price less or equal to win price\");\r\n return;\r\n }\r\n\r\n if(vm.LineItemList.dLineItemFreelancerPrice==\"\" || vm.LineItemList.dLineItemFreelancerPrice==\"0\" || parseInt(vm.LineItemList.dLineItemFreelancerPrice) < 1)\r\n {\r\n if(vm.LineItemCategoryType==\"HW\" && vm.LineItemCompanyProvided==\"Yes\")\r\n {\r\n\r\n }\r\n else{\r\n vm.showFailure(\"Warning\", \"Please enter freelancer price\");\r\n return; \r\n } \r\n \r\n } \r\n } \r\n var tData = {\r\n LineItemDescription: vm.LineItemList.LineItemDescription,\r\n LineItemCategory: vm.LineItemCategoryType, \r\n dLineItemWinPrice: vm.LineItemList.dLineItemWinPrice,\r\n LineItemId: vm.LineItemDisc.LineItemId,\r\n LineItemCode: vm.LineItemList.LineItemCode,\r\n LineItemQuantity: vm.LineItemList.Quantity, \r\n dLineItemFreelancerPrice: vm.LineItemList.dLineItemFreelancerPrice,\r\n origdLineItemFreelancerPrice: vm.LineItemList.origdLineItemFreelancerPrice,\r\n LineItemRemark: vm.Remarks,\r\n LineItemUnit: vm.LineItemList.LineItemUnit,\r\n LineItemCompanyProvided: vm.LineItemCompanyProvided,\r\n LineItemAction: \"Add\",\r\n LineItemAttachment: \"\" \r\n } \r\n \r\n \r\n var basePrice = vm.LineItemList.dLineItemWinPrice;\r\n var dFprice = vm.LineItemList.dLineItemFreelancerPrice; \r\n var Quantity = vm.LineItemList.Quantity; \r\n \r\n if(vm.LineItemCategoryType!=\"Collection\")\r\n {\r\n vm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) + (parseFloat(basePrice) * parseInt(Quantity))).toFixed(2);\r\n vm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) + (parseFloat(dFprice) * parseInt(Quantity))).toFixed(2);\r\n }\r\n\r\n if(tData.LineItemDescription){ \r\n vm.PriceLineItemList.push(tData); \r\n vm.showTCList = false; \r\n vm.EmptyLineItemDetails(); \r\n }else{\r\n vm.showTCList = false;\r\n vm.showFailure(\"Warning\", \"You must select activity description\");\r\n } \r\n vm.LineItemCategoryType=\"\";\r\n vm.LineItemDisc=\"\";\r\n }\r\n\r\n vm.getRemainingLineItems = function () { \r\n var RemovePriceLineItems = [];\r\n var remainingPriceLineItems = Array.from(vm.LineitemActivityList);\r\n angular.forEach(remainingPriceLineItems, function (d) {\r\n for (var i = 0; i < vm.PriceLineItemList.length; i++) {\r\n if (d.LineItemDescription == vm.PriceLineItemList[i].LineItemDescription && d.LineItemCategory==vm.PriceLineItemList[i].LineItemCategory) {\r\n RemovePriceLineItems.push(d);\r\n return;\r\n }\r\n }\r\n });\r\n angular.forEach(RemovePriceLineItems, function (s) {\r\n remainingPriceLineItems.splice(remainingPriceLineItems.indexOf(s), 1);\r\n }) \r\n return remainingPriceLineItems;\r\n }\r\n // vm.getItemList = function () {\r\n \r\n // // var array = Array.from(vm.JobItemList); \r\n // // var flags = [], output = [], l = array.length, i;\r\n // // for( i=0; i ( parseFloat(vm.LineItemList.dLineItemWinPrice) * parseFloat(vm.LineItemList.Quantity)))\r\n {\r\n vm.showFailure(\"Warning\",\"Freelancer price should be less than or equal to base price\");\r\n return;\r\n }\r\n //((BP-(FP/qnty))/BP)*100\r\n vm.LineItemList.LineItemPercentage = (((parseFloat(vm.LineItemList.dLineItemWinPrice)-(parseFloat(vm.FreelancerPrice)/parseFloat(vm.LineItemList.Quantity)))/parseFloat(vm.LineItemList.dLineItemWinPrice))*100).toFixed(2);\r\n if(vm.LineItemList.LineItemPercentage==\"NaN\")\r\n vm.LineItemList.LineItemPercentage=0.0;\r\n }\r\n }\r\n }\r\n else\r\n {\r\n if(vm.PriceLineItemList[index].LineItemCategory!=\"Collection\")\r\n {\r\n if(vm.PriceLineItemList[index].FreelancerPrice==\"\")\r\n {\r\n vm.PriceLineItemList[index].LineItemPercentage=0.0;\r\n vm.PriceLineItemList[index].FreelancerPrice=0.0;\r\n }\r\n else\r\n {\r\n if( parseFloat(vm.PriceLineItemList[index].FreelancerPrice)> ( parseFloat(vm.PriceLineItemList[index].dLineItemWinPrice) * parseFloat(vm.PriceLineItemList[index].Quantity)))\r\n {\r\n vm.showFailure(\"Warning\",\"Freelancer price should be less than or equal to base price\");\r\n return;\r\n }\r\n vm.PriceLineItemList[index].LineItemPercentage = (((parseFloat(vm.PriceLineItemList[index].dLineItemWinPrice)-(parseFloat(vm.PriceLineItemList[index].FreelancerPrice)/parseFloat(vm.PriceLineItemList[index].Quantity)))/parseFloat(vm.PriceLineItemList[index].dLineItemWinPrice))*100).toFixed(2);\r\n if(vm.PriceLineItemList[index].LineItemPercentage==\"NaN\")\r\n vm.PriceLineItemList[index].LineItemPercentage=0.0;\r\n }\r\n }\r\n }\r\n }\r\n vm.LineItemEdit = function(index){\r\n if(vm.PriceLineItemList[index].LineItemCategory==\"Collection\"){\r\n vm.IsBasePriceDisabled=true; \r\n vm.disableProvided=true; \r\n vm.qunatityEnable=true;\r\n vm.CompanyProvidedEnable=false; \r\n vm.FreelancrPriceEnable=false;\r\n }\r\n else{\r\n if(vm.PriceLineItemList[index].LineItemCategory==\"Service\"){\r\n if(vm.PriceLineItemList[index].LineItemCategory==\"Service\" && \r\n vm.PriceLineItemList[index].LineItemDescription==\"Others\") {\r\n vm.CompanyProvidedEnable=false;\r\n vm.IsBasePriceDisabled=false;\r\n vm.FreelancrPriceEnable=false; \r\n vm.disableProvided=true;\r\n }\r\n if(vm.PriceLineItemList[index].LineItemCategory ==\"Service\" && vm.PriceLineItemList[index].LineItemDescription ==\"PAV Activity\" && vm.AccountId == \"375\"){\r\n vm.IsBasePriceDisabled=false; \r\n vm.FreelancrPriceEnable=false; \r\n vm.CompanyProvidedEnable=false; \r\n } \r\n else{\r\n if(vm.PriceLineItemList[index].LineItemCompanyProvided==\"Yes\"){\r\n vm.IsBasePriceDisabled=true; \r\n vm.qunatityEnable=false;\r\n vm.disableProvided=true; \r\n }\r\n else\r\n {\r\n vm.IsBasePriceDisabled=true; \r\n vm.qunatityEnable=false;\r\n vm.disableProvided=true; \r\n vm.FreelancrPriceEnable=true; \r\n }\r\n }\r\n }\r\n else{\r\n if(vm.PriceLineItemList[index].LineItemCategory==\"HW\" && \r\n vm.PriceLineItemList[index].LineItemDescription==\"Others\"){ \r\n vm.CompanyProvidedEnable=false;\r\n vm.IsBasePriceDisabled=false; \r\n vm.disableProvided=false;\r\n if(vm.PriceLineItemList[index].LineItemCompanyProvided==\"Yes\"){\r\n vm.CompanyProvidedEnable=true;\r\n vm.IsBasePriceDisabled=false; \r\n vm.disableProvided=false;\r\n vm.FreelancrPriceEnable=true;\r\n }\r\n }\r\n else{\r\n if(vm.PriceLineItemList[index].LineItemCompanyProvided==\"Yes\"){\r\n vm.IsBasePriceDisabled=true; \r\n vm.qunatityEnable=false;\r\n vm.disableProvided=false; \r\n }\r\n else{\r\n vm.IsBasePriceDisabled=true; \r\n vm.qunatityEnable=false;\r\n vm.disableProvided=false;\r\n vm.FreelancrPriceEnable=true; \r\n }\r\n }\r\n }\r\n vm.LineItemCompanyProvided=vm.PriceLineItemList[index].LineItemCompanyProvided;\r\n }\r\n }\r\n vm.EditUpdateCalculation = function(index)\r\n { \r\n if(vm.PriceLineItemList[index].LineItemDescription == \"Others\" && (parseFloat(vm.PriceLineItemList[index].dLineItemFreelancerPrice) > parseFloat(vm.PriceLineItemList[index].dLineItemWinPrice))){\r\n vm.showFailure(\"Warning\", \"Please enter freelancer price less or equal to win price\");\r\n return true;\r\n }\r\n\r\n if(vm.PriceLineItemList[index].LineItemCategory!=\"Collection\"){ \r\n if(vm.PriceLineItemList[index].LineItemQuantity==\"\" || vm.PriceLineItemList[index].LineItemQuantity==0){\r\n vm.PriceLineItemList[index].edit=true;\r\n vm.showFailure(\"Warning\", \"Please enter quantity greate than 0 value\"); \r\n return true; \r\n } \r\n\r\n vm.BasePriceTotal = 0.0;\r\n vm.dFreelancerPriceTotal = 0.0;\r\n for(var i = 0; i < vm.PriceLineItemList.length; i++)\r\n {\r\n if(vm.PriceLineItemList[i].LineItemCategory!=\"Collection\")\r\n {\r\n var basePrice = vm.PriceLineItemList[i].dLineItemWinPrice;\r\n var dFprice = vm.PriceLineItemList[i].dLineItemFreelancerPrice; \r\n var Quantity = vm.PriceLineItemList[i].LineItemQuantity; \r\n vm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) + (parseFloat(basePrice) * Quantity)).toFixed(2);\r\n vm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) + (parseFloat(dFprice) * Quantity)).toFixed(2);\r\n }\r\n }\r\n }\r\n else{\r\n if(vm.PriceLineItemList[index].dLineItemFreelancerPrice==\"\" || vm.PriceLineItemList[index].dLineItemFreelancerPrice==0){\r\n vm.PriceLineItemList[index].edit=true;\r\n vm.showFailure(\"Warning\", \"Please enter collection amount under freelancer\"); \r\n return true; \r\n } \r\n }\r\n return false;\r\n }\r\n vm.removeCurrentActivityRow = function()\r\n\t\t{\r\n vm.showTCList = false;\t\r\n vm.EmptyLineItemDetails();\t\r\n \r\n\t\t}\r\n\t\tvm.EmptyLineItemDetails = function()\r\n\t\t{\r\n vm.LineItemCategoryType=\"\";\r\n\t\t\tvm.LineItemDisc=\"\";\r\n\t\t\tvm.LineItemList.LineItemDescription = '';\r\n\t\t\tvm.LineItemList.LineItemCategory = '';\r\n\t\t\tvm.LineItemList.LineItemPercentage = '';\r\n\t\t\tvm.LineItemList.dLineItemWinPrice = '';\r\n vm.LineItemList.dLineItemFreelancerPrice = '';\r\n\t\t\tvm.LineItemList.Quantity='';\r\n\t\t\tvm.FreelancerPrice='';\r\n\t\t\tvm.Remarks='';\r\n } \r\n\r\n vm.removeLineItem = function(index){\r\n if(vm.PriceLineItemList[index].LineItemCategory!=\"Collection\"){\r\n var basePrice = vm.PriceLineItemList[index].dLineItemWinPrice;\r\n var dFprice = vm.PriceLineItemList[index].dLineItemFreelancerPrice;\r\n var Quantity = vm.PriceLineItemList[index].LineItemQuantity;\r\n vm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) - parseFloat(basePrice) * parseInt(Quantity)).toFixed(2);\r\n vm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) - parseFloat(dFprice) * parseInt(Quantity)).toFixed(2);\r\n }\r\n vm.PriceLineItemList.splice(index, 1);\r\n } \r\n\r\n});\r\n\r\nfunction isNumberKey(evt,elemref, quantityvalue)\r\n{ \r\n var charCode = (evt.which) ? evt.which : evt.keyCode;\r\n if(quantityvalue==\"quantity\"){\r\n if(charCode == 46 ){\r\n return false;\r\n }\r\n } \r\n if(charCode == 46 ){\r\n if ((elemref.value) && (elemref.value.indexOf('.') >= 0))\r\n return false;\r\n }\r\n if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57))\r\n { \r\n \r\n return false;\r\n } \r\n if(quantityvalue==\"Percentage\"){\r\n if(parseFloat(elemref.value + evt.key) > 100)\r\n {\r\n return false\r\n }\r\n }\r\n return true; \r\n}\r\n \nangular.module('inspinia').service('inventoryService', function (ApiURL,SchedulingAPI, $window, $http) {\r\n\r\n var vm = this;\r\n vm.setShowSuccess = function (success) {\r\n vm.showSuccess = success;\r\n }\r\n\r\n vm.setShowFailure = function (failure) {\r\n vm.showFailure = failure;\r\n }\r\n\r\n// https://perf.mymobiforce.com/coreapi/api/TicketPayment/getinvoicesinrange?ReqUserId=F00000000000&StartDate=2019-07-01&EndDate=2019-08-21\r\nthis.GetAllScheduleExceptionListbyDateRange = function (loggedinUser, startDate, endDate, token) {\r\n var url = SchedulingAPI + '/api/AutoSchedulerException/GetSchedulerException?ReqUserId=' + loggedinUser + '&StartDate=' + startDate + '&EndDate='+endDate;\r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId':loggedinUser }\r\n });\r\n}\r\n\r\n\r\n //https://perf.mymobiforce.com/schedulingapi/api/AutoSchedulerException/MarkResolveSchedulerException?reqUserId=U350000000001&exceptionId=U350000000001\r\n this.ResolveException = function(loggedinUser, exceptionIdList, success, token){\r\n var url = SchedulingAPI + '/api/AutoSchedulerException/MarkResolveSchedulerException?reqUserId=' + loggedinUser ;\r\n $http.put(url,{'exceptionIdList':exceptionIdList},{\r\n headers:{'Content-Type':'application/json', 'Token': token, 'UserId':loggedinUser}\r\n }).then(function (res) {\r\n if(status = '202'){\r\n vm.showSuccess(\"Schedule Exception\", \"Exception(s) resolved successfully\");\r\n }\r\n \r\n success(res);\r\n }, function () {\r\n vm.showFailure(\"Schedule Exception\", \"Unable to resolved Exception(s)\");\r\n })\r\n }\r\n \r\n\r\n // https://perf.mymobiforce.com/coreapi/api/TicketPayment/PayCompleteInvoice?ReqUserId=F00000000000&InvoiceNo=IN_000000001\r\n // this.PutSingleInvoicePayments = function (loggedinUser, InvoiceNo, success, token) {\r\n // var url = ApiURL + '/api/TicketPayment/PayCompleteInvoice?ReqUserId=' + loggedinUser + '&InvoiceNo=' + InvoiceNo\r\n // $http.put(url, null, {\r\n // headers: { 'Content-Type': 'application/json', 'Token': token }\r\n // }).then(function (res) {\r\n // vm.showSuccess(\"Payment Information\", \"Payment Completed Successfully\");\r\n // success(res);\r\n // }, function () {\r\n // vm.showFailure(\"Payment Information\", \"Unable to make payment\");\r\n // })\r\n // }\r\n\r\n // https://perf.mymobiforce.com/coreapi/api/TicketPayment/PayMultiInvoices?ReqUserId=F00000000000&InvoiceNos=indifnd\r\n // this.PutMultiSelectedInvoicePayments = function (loggedinUser, InvoiceNos, success, token) {\r\n // var url = ApiURL + '/api/TicketPayment/PayMultiInvoices?ReqUserId=' + loggedinUser + '&InvoiceNos=' + InvoiceNos\r\n // $http.put(url, null, {\r\n // headers: { 'Content-Type': 'application/json', 'Token': token }\r\n // }).then(function (res) {\r\n // vm.showSuccess(\"Payment Information\", \"Payment Completed Successfully\");\r\n // success(res);\r\n // }, function () {\r\n // vm.showFailure(\"Payment Information\", \"Unable to make payment\");\r\n // })\r\n // }\r\n\r\n // https://perf.mymobiforce.com/SchedulingAPI/api/AutoSchedulerException/GetActiveSchedulerExceptionMobileApp?reqUserId=U00000000406&startDate=2021-08-01&endDate=2021-10-07&PageIndex=1&PageSize=10\r\n // this.getAllJobTickets = function (reqUserId, startDate, endDate, token,PageIndex,PageSize) {\r\n // var url = '';\r\n // url = SchedulingAPI + '/api/AutoSchedulerException/GetActiveSchedulerExceptionMobileApp?reqUserId=' + reqUserId + '&startDate=' + startDate+ '&endDate=' + endDate +'&PageIndex=' + PageIndex + '&PageSize=' + PageSize;\r\n // // url = ApiURL + '/api/Ticket/GetTicketsbyDateRange?fromDate=' + startDate + '&toDate=' + endDate+ '&reqUserId=' + supervisorId + '&itemNames=' + itemNames + '&itemValues=' + itemValues+'&templateCols='+templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues + '&DateField=' + DateField;\r\n // return $http.get(url, {\r\n // headers: {\r\n // 'Content-Type': 'application/json',\r\n // 'Token': token,\r\n // 'UserId': reqUserId\r\n // }\r\n // });\r\n // }\r\n//https://perf.mymobiforce.com/schedulingapi/api/AutoSchedulerException/GetSchedulerExceptionForServerWithDynPaging\r\n this.getAllJobForExceptionList = function ( loggedinUser, token,userFormData) {\r\n var url = SchedulingAPI + \"/api/AutoSchedulerException/GetSchedulerExceptionForServerWithDynPaging\";\r\n return $http.put(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n });\r\n }\r\n\r\n this.getAllAccounts = function (loggedinUser,token) { \r\n var url = ApiURL+ '/api/account/GetAllAccountsMiniModel';\r\n return $http.get(url, {\r\n headers: { \r\n 'Content-Type': 'application/json',\r\n 'Token':token , \r\n 'UserId':loggedinUser\r\n \r\n }\r\n });\r\n }\r\n this.getAllUserByReportingPerson = function (reportingTo, token) {\r\n var url = ApiURL +'/api/User/'+ reportingTo+'/byReportingToWithJobCount?ReqUserId='+reportingTo;\r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId':reportingTo }\r\n });\r\n }\r\n\r\n\r\n// https://perf.mymobiforce.com/publicapi/api/Report/DownloadInvoices?reqUserId=F00000000000&InvoicesNo=IN_000000002\r\nthis.downloadInvoicebyInvoiceNo = function (loggedinUser, InvoiceNos, success, token) {\r\n $window.location.href = PublicApiURL + '/api/Report/DownloadInvoices?reqUserId=' + loggedinUser + '&InvoicesNo=' + InvoiceNos\r\n console.log($window.location.href);\r\n // $http.get(url,{\r\n // headers: { 'Content-Type': 'application/json', 'Token': token }\r\n // }).then(function (res) {\r\n // vm.showSuccess(\"Download Information\", \"Download Completed Successfully\");\r\n // success(res);\r\n // }, function () {\r\n // vm.showFailure(\"Payment Information\", \"Unable to Download Invoices\");\r\n // })\r\n}\r\n\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('inventoryController', function (inventoryService, $resource, toaster, $filter, $compile, $q, $state, $localStorage, $scope, DTOptionsBuilder, DTColumnBuilder, $uibModal, $timeout) {\r\n\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\t\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\t\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\t\tinventoryService.setShowSuccess($scope.$parent.$parent.main.showSuccess);\r\n\t\tinventoryService.setShowFailure($scope.$parent.$parent.main.showFailure);\r\n\t\tvm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n\t\tvm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\t\t$scope.$parent.$parent.main.implementSelectItems('scheduleExceptionListNew', this);\r\n\t\t// $scope.$parent.$parent.main.implementSelectItems('InVoiceHistoryData', this);\r\n\t\t$scope.isNavCollapsed = true;\r\n\t\t$scope.isCollapsed = true;\r\n\t\t$scope.isCollapsedHorizontal = false;\r\n\t\tvm.dtInstance = {};\r\n\t\tvm.selectSingle = false;\r\n\t\tvm.disableExceptionButton = false;\r\n\t\tvm.ticketPageListCount = 10;\r\n\t\tvm.pageListCounts = [10, 20, 30, 50];\r\n\t\tvm.scheduleExceptionListNewLength=0;\r\n\t\tvar PageIndex = 1;\r\n\t\tvar PageSize = 10; \r\n\t\tvm.SearchByAccountName = '';\r\n\t\tvm.ExceptionType = '';\r\n\t\tvm.exceptionState = '';\r\n\t\tvm.showAllAccounts = [];\r\n\t\tvm.UserId='';\r\n\r\n\t\t$scope.dates = { startDate: moment().subtract(0, 'days'), endDate: moment() };\r\n\t\tvar startDate = moment().subtract(0, 'days').format(\"YYYY-MM-DD\");\r\n\t\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\r\n\t\t$scope.ranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment()]\r\n\t\t};\r\n\r\n\t\t$scope.dateRangeChange = function (ev, picker) {\r\n\t\t\t// console.log(ev, picker);\r\n\t\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\t\tvm.getAllJobForExceptionList();\r\n\r\n\r\n\t\t};\r\n\r\n\t\t\r\n\t\t$scope.totalTableTickets = 0;\r\n\t\t$scope.ticketTablePerPage = vm.ticketPageListCount ; \r\n\t\t$scope.TicketTablepagination = {\r\n\t\t current: 1\r\n\t\t};\r\n\t\r\n\t\r\n\t\tvm.changeTicketPageListCount = function() { \r\n\t\t $scope.ticketTablePerPage = vm.ticketPageListCount;\r\n\t\t PageSize = $scope.ticketTablePerPage;\r\n\t\t $scope.TicketTablepageChanged($scope.TicketTablepagination.current);\r\n\t\t vm.selectAll = false;\r\n\t\t}\r\n\r\n\t\tPageIndex=$scope.TicketTablepagination.current;\r\n\t\t$scope.TicketTablepageChanged = function(newPage) { \r\n\t\t PageIndex = newPage; \r\n\t\t vm.getAllJobForExceptionList();\r\n\t\t};\r\n\r\n\t\tvm.scheduleExceptionListNew=[];\r\n \r\n\t\tvm.getAllJobForExceptionList = function() {\r\n\t\t\tvar userFormData = {\t\r\n\t\t\t\t\"startDate\":startDate,\t\r\n\t\t\t\t\"endDate\":endDate,\r\n\t\t\t\t\"PageIndex\": PageIndex,\r\n\t\t\t\t\"PageSize\":PageSize,\t\r\n\t\t\t\t\"ExceptionType\":vm.ExceptionType,\r\n\t\t\t\t\"ExceptionState\":vm.exceptionState,\r\n\t\t\t\t\"ExceptionAssignToUserId\":vm.UserId,\r\n\t\t\t\t\"ReqUserId\":loggedinUser,\r\n\t\t\t\t\"AccountName\":vm.SearchByAccountName\r\n\t\t\t}\r\n\t\t PageIndex = PageIndex?PageIndex:1;\r\n\t\t inventoryService.getAllJobForExceptionList(loggedinUser,token,userFormData).then(function (resp) {\r\n\t\t if (resp && resp.data) {\r\n\t\t\t vm.scheduleExceptionListNew = resp.data.listScheduleException;\r\n\t\t\t $scope.totalTableTickets = resp.data.nRecordCount;\r\n\t\t\t $scope.totalTableUsers = resp.data.nRecordCount;\r\n \r\n\t\t\t vm.enableFilters = true;\r\n\t\t\t vm.actionFlag = false;\r\n\t\t\t $localStorage.TList = vm.scheduleExceptionListNew;\r\n\t\t\t $localStorage.AllJobType = vm.searchJobTypeText;\r\n\t\t\t $localStorage.AllJobStatus = vm.searchStatusText;\r\n\t\t\t angular.forEach(vm.scheduleExceptionListNew, function (t) {\r\n\t\t\t t.StartTime = moment(t.StartTime, \"YYYY-MM-DDThh:mm:ssZ\"); \r\n\t\t\t t.StartTimeD = t.StartTime.format(\"YYYY-MM-DD hh:mm\");\r\n \r\n\t\t\t var today = moment();\r\n\t\t\t })\r\n\t\t\t\r\n\t\t\t if(vm.scheduleExceptionListNew.length < vm.ticketPageListCount)\r\n\t\t\t vm.scheduleExceptionListNewLength = $scope.totalTableTickets;\r\n\t\t\t else\r\n\t\t\t vm.scheduleExceptionListNewLength = PageIndex * vm.ticketPageListCount;\r\n\t\t\t if(PageIndex==1)\r\n\t\t\t vm.pageindexCount = 1;\r\n\t\t\t else\r\n\t\t\t vm.pageindexCount = (((PageIndex-1) * vm.ticketPageListCount) + 1);\r\n\t\t }\r\n \r\n\t\t }, function () { \r\n\t\t });\r\n\t\t \r\n\t }\r\n\t vm.getAllJobForExceptionList();\r\n\r\n\r\n\t vm.implementSelectItemsNewJob = function (itemList, scope) {\r\n\t\tscope.selectAllNewJob = false;\r\n\t\tscope.showMinusNewJob = false;\r\n\t\tscope.selectRowNewJob = function (i) {\r\n\t\t scope.showMinusNewJob = false;\r\n\t\t scope.selectAllNewJob = false;\r\n\t\t angular.forEach(scope[itemList], function (d) {\r\n\t\t\tif (d.checked) {\r\n\t\t\t scope.showMinusNewJob = true;\r\n\t\t\t \r\n\t\t\t}\r\n\t\t });\r\n\t\t}\r\n\t\tscope.applyAllNewJobSelect = function () {\r\n\t\t angular.forEach(scope[itemList], function (d) {\r\n\t\t\td.checked = scope.selectAllNewJob;\r\n\t\t });\r\n\t\t}\r\n \r\n\t\tscope.resetAllSelect = function () {\r\n\t\t scope.selectAllNewJob = false;\r\n\t\t scope.showMinusNewJob = false;\r\n\t\t}\r\n\t }\r\n \r\n\t vm.implementSelectItemsNewJob('scheduleExceptionListNew', this);\r\n\r\n\t vm.JobView = function (ticketId) {\r\n\t\t$localStorage.backToOldJobList = '';\r\n\t\t $localStorage.SDate = startDate;\r\n\t\t $localStorage.EDate = endDate;\r\n\t\t \r\n\t\t $localStorage.TicketFilterModel ={\r\n\t\t\t\"JobLocation\" : vm.locationSearch,\r\n\t\t\t\"JobStatus\" : vm.searchStatusText,\r\n\t\t\t\"JobSDate\" : startDate,\r\n\t\t\t\"JobEDate\" : endDate, \r\n\t\t\t\"JobSkill\" : vm.skillsSearch,\r\n\t\t\t\"UserType\" : vm.UsersType,\r\n\t\t\t\"PageIndex\" : PageIndex \r\n\t\t } ;\r\n\t\t$localStorage.backToOldJobList = 'ManualAssignationTeamAssign';\r\n\t\t\r\n\t\t\r\n\t\t $state.go('index.JobDetailView', {\r\n\t\t\tticketId: ticketId\r\n\t\t })\r\n\t\t\r\n\t }\r\n\r\n\r\n\tvm.DisableScheduledExceptionButtons = function (disable) {\r\n\t if(disable){\r\n\t \t\tvm.disableExceptionButton = true;\t\t\t\r\n\t }\r\n\t else{\r\n\t \tvm.disableExceptionButton = false;\r\n\t }\r\n\t}\r\n\tvm.getAllDispatchUser = function () {\r\n\t\tinventoryService.getAllUserByReportingPerson(loggedinUser, token).then(function (resp) {\r\n\t\t vm.DSusers = resp.data;\r\n\t\t}, function () {\r\n\t\t})\r\n\t }\r\n\t vm.getAllDispatchUser();\r\n\r\n\r\n\tvm.resolveException = function(){\r\n\t\tvm.DisableScheduledExceptionButtons(true);\r\n\t\tvar exceptionIdList = []; \r\n\t\tangular.forEach(vm.scheduleExceptionListNew, function(d){\r\n\t\t if (d.checked) {\r\n\t\t\texceptionIdList.push(d.ExceptionId); \r\n\t\t }\r\n\t\t})\r\n\t\tvm.DisableScheduledExceptionButtons(true); \r\n\t\tinventoryService.ResolveException(loggedinUser, exceptionIdList, vm.createCallback(null, [function(data){\r\n\t\t\t\t\t$timeout(function(){ \r\n\t\t\t\t\t\tvm.selectSingle = false;\r\n\t\t\t\t\t\tvm.DisableScheduledExceptionButtons(false);\r\n\t\t\t\t\t\tvm.getAllJobForExceptionList(); \r\n\t\t\t\t\t }, 1000);\r\n\t\t}]), token);\r\n\t}\r\n\tvm.accounts=[];\r\n\tvm.getAllAccounts = function ( ) {\r\n\t\tinventoryService.getAllAccounts(loggedinUser, token).then(function (resp) { \r\n\t\t if (resp && resp.data) { \r\n\t\t\tif(resp.status==200)\r\n\t\t\t{\r\n\t\t\t vm.showAllAccounts = resp.data;\r\n\r\n\t\t\t}\r\n\t\t } \r\n\t\t}, function () { \r\n\t\t});\r\n\t}\r\n\tvm.getAllAccounts();\r\n\r\n\r\n\t}\r\n});\nangular.module('inspinia').controller('TemplateController', function ($localStorage, $scope, $timeout, $log, $uibModal, $sce, $rootScope, $http, $state, $window, $stateParams, toaster, $compile, PopupService, ApiURL, FormBuilderService) {\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n vm = this;\r\n\r\n if (!loggedinUser) {\r\n\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n var token = $localStorage.token;\r\n\r\n PopupService.SectionList = [];\r\n PopupService.popupCount = 0;\r\n $scope.todoList1 = [];\r\n var activeSortableList = 'todoList1';\r\n var step_withMatching_sortableList = {\r\n Supervisor: 'todoList1'\r\n };\r\n var renderedModelIndex = 0;\r\n var templateModel = {};\r\n var userId = $stateParams.userId;\r\n $scope.htmlString = '';\r\n $scope.ActionList = [];\r\n $scope.ActionNumber = 1;\r\n $scope.templateName = 'Create Template';\r\n var sectionList = [];\r\n var stepcount = 1;\r\n var stepVeryingCount = 1;\r\n $scope.fetchedTemplate = {};\r\n $scope.stepID1 = 'Supervisor';\r\n var fetchedTemplate = {};\r\n var updateTemplateCheck = false;\r\n PopupService.ActionList.stepID1 = 'step 1';\r\n PopupService.currentStepName = $scope.stepID1;\r\n var templateName = $stateParams.templateName;\r\n $scope.elemntDetails = {};\r\n $scope.itemTypeDic = PopupService.itemTypeDic;\r\n var renderingSectionList = [];\r\n $scope.isDisabled = false;\r\n $scope.templateDescription = '';\r\n $scope.IsFieldDataReportEnabled = false;\r\n $scope.IsSiteAccessNeeded = false;\r\n $scope.IsVendorApprovalNeeded = false;\r\n $scope.IsSerialNumberVerificationEnabled = false;\r\n $scope.SiteAccessWaitingTime = 0;\r\n $scope.MMFJobType = '';\r\n $scope.MMFServiceType = '';\r\n $scope.skill1 = '';\r\n $scope.SkillSet=[];\r\n $rootScope.SkillSet=[];\r\n $scope.isDisabledField=false;\r\n if ($state.current.name == \"index.FormEdit\") {\r\n if (templateName) {\r\n $scope.templateName = templateName;\r\n $scope.ActionList = [];\r\n getTemplate(templateName);\r\n updateTemplateCheck = true;\r\n }\r\n } else {\r\n $scope.ActionList.push({\r\n action_name: 'Supervisor',\r\n action_sequence: $scope.ActionNumber\r\n });\r\n }\r\n\r\n ///Item List Initialization varibles\r\n $scope.dynamicPopover = {\r\n content: 'Hello, World!',\r\n textbox_TemplateUrl: 'text_popover.html',\r\n paragraph_TemplateUrl: 'paragraph_popover.html',\r\n checkbox_TemplateUrl: 'checkbox_popover.html',\r\n dropdown_TemplateUrl: 'dropdown_popover.html',\r\n address_TemplateUrl: 'address_popover.html',\r\n decimal_TemplateUrl: 'decimal_popover.html',\r\n number_TemplateUrl: 'number_popover.html',\r\n date_TemplateUrl: 'date_popover.html',\r\n phone_TemplateUrl: 'number_popover.html',\r\n email_TemplateUrl: 'email_popover.html',\r\n video_TemplateUrl: 'video_popover.html',\r\n signature_TemplateUrl: 'signature_popover.html',\r\n image_TemplateUrl: 'image_popover.html'\r\n };\r\n\r\n $scope.placement = {\r\n options: [\r\n 'top',\r\n 'top-left',\r\n 'top-right',\r\n 'bottom',\r\n 'bottom-left',\r\n 'bottom-right',\r\n 'left',\r\n 'left-top',\r\n 'left-bottom',\r\n 'right',\r\n 'right-top',\r\n 'right-bottom'\r\n ],\r\n selected: 'top'\r\n };\r\n\r\n var originalScreens1 = [{\r\n content: 'Text',\r\n\r\n statusClass: 'info',\r\n contentType: 'text'\r\n },\r\n {\r\n content: 'Paragraph',\r\n\r\n statusClass: 'warning',\r\n contentType: 'paragraph'\r\n },\r\n {\r\n content: 'Checkbox',\r\n\r\n statusClass: 'warning',\r\n contentType: 'checkboxes'\r\n },\r\n {\r\n content: 'Dropdown',\r\n\r\n statusClass: 'warning',\r\n contentType: 'dropdown'\r\n },\r\n {\r\n content: 'Address',\r\n statusClass: 'success',\r\n contentType: 'address'\r\n },\r\n {\r\n content: '1.23 Decimal',\r\n statusClass: 'info',\r\n contentType: 'decimal'\r\n },\r\n {\r\n content: '123 Number',\r\n statusClass: 'warning',\r\n contentType: 'number'\r\n },\r\n {\r\n content: 'Instruction',\r\n statusClass: 'warning',\r\n contentType: 'instruction'\r\n }\r\n ];\r\n\r\n var originalScreens2 = [{\r\n content: 'Date',\r\n\r\n statusClass: 'info',\r\n contentType: 'date'\r\n\r\n },\r\n {\r\n content: 'Phone',\r\n\r\n statusClass: 'warning',\r\n contentType: 'phone'\r\n\r\n },\r\n {\r\n content: 'Email',\r\n statusClass: 'warning',\r\n contentType: 'email'\r\n },\r\n {\r\n content: 'Video',\r\n statusClass: 'warning',\r\n contentType: 'video'\r\n },\r\n {\r\n content: 'Signature',\r\n statusClass: 'success',\r\n contentType: 'signature'\r\n },\r\n {\r\n content: 'Image',\r\n statusClass: 'info',\r\n contentType: 'image'\r\n },\r\n {\r\n content: 'Dataset',\r\n statusClass: 'warning',\r\n contentType: 'dataset'\r\n },\r\n {\r\n content: 'Section',\r\n statusClass: 'warning',\r\n contentType: 'section'\r\n },\r\n {\r\n content: 'Barcode',\r\n statusClass: 'warning',\r\n contentType: 'barcode'\r\n },\r\n {\r\n content: 'SiteLayout',\r\n statusClass: 'success',\r\n contentType: 'siteLayout'\r\n },\r\n {\r\n content: 'File Attachement',\r\n statusClass: 'success',\r\n contentType: 'attachFile'\r\n }\r\n ];\r\n\r\n $scope.ItemList = originalScreens1.slice();\r\n $scope.ItemList1 = originalScreens2.slice();\r\n $scope.sortableOptions = {\r\n connectWith: \".connectList\",\r\n helper: 'clone',\r\n stop: function (e, ui) {\r\n\r\n if (angular.element(e.target).hasClass('first') &&\r\n ui.item.sortable.droptarget &&\r\n e.target != ui.item.sortable.droptarget[0]) {\r\n\r\n // clone the original model to restore the removed item\r\n $scope.ItemList = originalScreens1.slice();\r\n $scope.ItemList1 = originalScreens2.slice();\r\n }\r\n },\r\n start: function (e, ui) {\r\n\r\n },\r\n receive: function (e, ui) {\r\n //After remove and before all other ending events\r\n //Occurs only once when an item is added to a list\r\n },\r\n\r\n update: function (e, ui) {\r\n var originalposition_popupModal = {};\r\n //if (ui.item.sortable.isCanceled()) return;\r\n if (angular.element(e.target).hasClass('first') &&\r\n ui.item.sortable.droptarget &&\r\n e.target != ui.item.sortable.droptarget[0]) {\r\n ui.item.sortable.cancel();\r\n if (PopupService.currentStepName == 'Supervisor') {\r\n if ( // ensure we are in the first update() callback\r\n !ui.item.sortable.received &&\r\n // check that its an actual moving between the two lists\r\n ui.item.sortable.source[0] !== ui.item.sortable.droptarget[0] ){\r\n if(!(ui.item.sortable.model.contentType == \"text\" || ui.item.sortable.model.contentType == \"dropdown\"))\r\n {\r\n ui.item.sortable.cancel();\r\n return;\r\n } \r\n }\r\n }\r\n \r\n var model = angular.copy(ui.item.sortable.model);\r\n model.itemEmptyCheck = false;\r\n model.isRequired = false;\r\n model.popid = '';\r\n var contentType = ui.item.sortable.model.contentType;\r\n switch (contentType) {\r\n case 'text':\r\n model.content = '
' +\r\n '' +\r\n '
Item can not be empty';\r\n model.isCollapsed = true;\r\n //model.index = $scope.todoList1.length;\r\n model.liHide = false;\r\n model.ItemName = \"Text\";\r\n break;\r\n\r\n case 'paragraph':\r\n model.content = '
' +\r\n '' +\r\n '
Item can not be empty';\r\n model.isCollapsed = true;\r\n model.liHide = false;\r\n model.ItemName = \"Paragraph\";\r\n //model.index = $scope.todoList1.length;\r\n break;\r\n\r\n case 'checkboxes':\r\n model.content = '
' +\r\n '' +\r\n '
' +\r\n '
Item can not be empty';\r\n model.isCollapsed = true;\r\n model.liHide = false;\r\n model.ItemName = \"Checkbox\";\r\n //model.index = $scope.todoList1.length;\r\n break;\r\n case 'dropdown':\r\n model.content = '
' +\r\n '' +\r\n '
Item can not be empty';\r\n model.isCollapsed = true;\r\n model.liHide = false;\r\n model.ItemName = \"Dropdown\";\r\n //model.index = $scope.todoList1.length;\r\n break;\r\n case 'address':\r\n model.content = '
' +\r\n '
' +\r\n '
Street Address
' +\r\n '
Street Address Line 2
' +\r\n '
State/Province
' +\r\n '
City
' +\r\n '' +\r\n '
Postal/Zip Code
Item can not be empty';\r\n model.isCollapsed = true;\r\n model.liHide = false;\r\n model.ItemName = \"Address\";\r\n //model.index = $scope.todoList1.length;\r\n break;\r\n\r\n case 'decimal':\r\n model.content = '
' +\r\n '' +\r\n '' +\r\n '
Item can not be empty';\r\n model.isCollapsed = true;\r\n model.liHide = false;\r\n model.ItemName = \"Decimal\";\r\n //model.index = $scope.todoList1.length;\r\n break\r\n case 'number':\r\n model.content = '
' +\r\n '' +\r\n '' +\r\n '
Item can not be empty';\r\n model.isCollapsed = true;\r\n model.liHide = false;\r\n model.ItemName = \"Number\";\r\n //model.index = $scope.todoList1.length;\r\n break;\r\n case 'date':\r\n model.content = '
' +\r\n '' +\r\n ' - ' +\r\n ' - ' +\r\n ' - ' +\r\n '' +\r\n '
Item can not be empty';\r\n model.isCollapsed = true;\r\n model.liHide = false;\r\n model.ItemName = \"Date\";\r\n //model.index = $scope.todoList1.length;\r\n break;\r\n\r\n case 'phone':\r\n model.content = '
' +\r\n '' +\r\n ' - ' +\r\n '' +\r\n '
Area CodePhone number
Item can not be empty';\r\n model.isCollapsed = true;\r\n model.liHide = false;\r\n model.ItemName = \"Phone\";\r\n //model.index = $scope.todoList1.length;\r\n break;\r\n\r\n case 'email':\r\n model.content = '
' +\r\n '' +\r\n '' +\r\n '
Item can not be empty';\r\n //model.index = $scope.todoList1.length;\r\n model.liHide = false;\r\n model.isCollapsed = true;\r\n model.ItemName = \"Email\";\r\n break;\r\n\r\n case 'video':\r\n model.content = '
' +\r\n '
' +\r\n '

Item can not be empty' +\r\n '
';\r\n //model.index = $scope.todoList1.length;\r\n model.liHide = false;\r\n model.isCollapsed = true;\r\n model.ItemName = \"Video\";\r\n break;\r\n\r\n case 'signature':\r\n model.content = '
' +\r\n '

' +\r\n '
Item can not be empty';\r\n //model.index = $scope.todoList1.length;\r\n model.liHide = false;\r\n model.isCollapsed = true;\r\n model.ItemName = \"Signature\";\r\n break;\r\n\r\n case 'image':\r\n model.content = '
' +\r\n '
' +\r\n '

Item can not be empty';\r\n model.liHide = false;\r\n model.isCollapsed = true;\r\n model.ItemName = \"Image\";\r\n break;\r\n\r\n case 'barcode':\r\n model.content = '
' +\r\n '' +\r\n '
Item can not be empty';\r\n model.isCollapsed = true;\r\n model.liHide = false;\r\n model.ItemName = \"Barcode\";\r\n break;\r\n\r\n case 'section':\r\n model.content = '
' +\r\n '';\r\n model.isCollapsed = true;\r\n model.liHide = false;\r\n model.ItemName = \"Section\";\r\n model.statusClass = 'warning section ';\r\n break;\r\n\r\n case 'instruction':\r\n model.content = '
' +\r\n '';\r\n model.isCollapsed = true;\r\n model.liHide = false;\r\n model.ItemName = \"Instruction\";\r\n break;\r\n\r\n case 'siteLayout':\r\n model.content = '
' +\r\n '' +\r\n '
Item can not be empty';\r\n model.isCollapsed = true;\r\n model.liHide = false;\r\n model.ItemName = \"SiteLayout\";\r\n break;\r\n\r\n case 'attachFile':\r\n model.content = '
' +\r\n '' +\r\n '
Item can not be empty';\r\n model.isCollapsed = true;\r\n model.liHide = false;\r\n model.ItemName = \"AttachFile\";\r\n break;\r\n }\r\n\r\n if (angular.element('li.placeHolder').length) {\r\n angular.element(ui.item.sortable.droptargetList).find('li.placeHolder').hide();\r\n }\r\n\r\n // model.index = ui.item.sortable.dropindex;\r\n // ui.item.sortable.droptargetModel.splice(ui.item.sortable.dropindex, 0, model);\r\n model.index = ui.item.sortable.droptargetModel.length;\r\n ui.item.sortable.droptargetModel.splice(ui.item.sortable.dropindex, 0, model);\r\n }\r\n\r\n // if(ui.item.sortable.model.popid)\r\n // {\r\n // var originalPosition = checkArrayContainskeyValue(PopupService.SectionList,'itemId',ui.item.sortable.model.popid);\r\n // if(ui.item.sortable.dropindex >0)\r\n // {\r\n // if(originalPosition.status)\r\n // {\r\n // originalposition_popupModal = PopupService.SectionList[originalPosition.arrayIndex];\r\n // PopupService.SectionList.splice(originalPosition.arrayIndex,1);\r\n // }\r\n\r\n // for(var index=(ui.item.sortable.dropindex - 1);index>=0;index--)\r\n // { \r\n // var popIdOfreverseElement = ui.item.sortable.droptargetModel[index].popid\r\n // if(popIdOfreverseElement)\r\n // {\r\n // var statusInfo=checkArrayContainskeyValue(PopupService.SectionList,'itemId',popIdOfreverseElement);\r\n // if(statusInfo.status)\r\n // {\r\n // PopupService.SectionList.splice(statusInfo.arrayIndex+1,0,originalposition_popupModal);\r\n // }\r\n // break;\r\n // }\r\n // }\r\n // } \r\n // }\r\n if ($scope.todoList1.length > ui.item.sortable.dropindex + 1) {\r\n for (var index = ui.item.sortable.dropindex + 1; index < $scope.todoList1.length; index++) {\r\n $scope.todoList1[index].index = index;\r\n }\r\n }\r\n }\r\n }\r\n\r\n ///Method to add a step \r\n $scope.AddStep = function () {\r\n if (angular.isDefined($scope.modalAction_Name) && ($scope.modalAction_Name != '')) {\r\n $scope.ActionList.push({\r\n action_name: $scope.modalAction_Name,\r\n action_sequence: $scope.ActionNumber\r\n });\r\n PopupService.currentStepName = $scope.modalAction_Name;\r\n }\r\n $rootScope.$broadcast('Close_ActionModal');\r\n //$('#saveAction').modal('hide');\r\n\r\n if (stepVeryingCount == 1) {\r\n stepcount = stepcount + 1;\r\n angular.element('div.beforeuibtabset').before($compile('' +\r\n '
' +\r\n // '' +\r\n // '

' +\r\n '
    ' +\r\n '
  • ' +\r\n '
    ' +\r\n 'Drag A field from the right to this area
  • ' +\r\n '
  • ' +\r\n '
    ' +\r\n '
    ' +\r\n '
    ' +\r\n '
    ' +\r\n '
')($scope));\r\n\r\n $scope[\"stepID\" + stepcount] = PopupService.currentStepName;\r\n PopupService.ActionList[\"stepID\" + stepcount] = $scope[\"stepID\" + stepcount];\r\n // $('#stepID' + stepcount).children('a').tab('show');\r\n angular.element('#lblID' + stepcount).html(PopupService.currentStepName);\r\n stepVeryingCount = stepVeryingCount + 1;\r\n step_withMatching_sortableList[PopupService.currentStepName] = 'todoList' + stepcount;\r\n $scope['todoList' + stepcount] = [];\r\n angular.element(document).ready(function () {\r\n angular.element('li[data-target=\"#TabID' + stepcount + '\"]').children().trigger('click');\r\n });\r\n } else if (stepVeryingCount > 1 && stepVeryingCount < 30) {\r\n stepcount = stepcount + 1;\r\n angular.element('div.beforeuibtabset').before($compile('' +\r\n '
' +\r\n // '' +\r\n // '

' +\r\n '
    ' +\r\n '
  • ' +\r\n '
    ' +\r\n 'Drag A field from the right to this area
  • ' +\r\n '
  • ' +\r\n '
    ' +\r\n '
    ' +\r\n '
    ' +\r\n '
    ' +\r\n '
')($scope));\r\n\r\n $scope[\"stepID\" + stepcount] = PopupService.currentStepName;\r\n PopupService.ActionList[\"stepID\" + stepcount] = angular.isUndefined($scope[\"stepID\" + stepcount]) ? 'step ' + stepcount : $scope[\"stepID\" + stepcount];\r\n // $('#stepID' + stepcount).children('a').tab('show');\r\n $('#lblID' + stepcount).html(PopupService.currentStepName);\r\n step_withMatching_sortableList[PopupService.currentStepName] = 'todoList' + stepcount;\r\n $scope['todoList' + stepcount] = [];\r\n angular.element(document).ready(function () {\r\n angular.element('li[data-target=\"#TabID' + stepcount + '\"]').children().trigger('click');\r\n });\r\n stepVeryingCount = stepVeryingCount + 1;\r\n }\r\n\r\n if (stepVeryingCount == 30) {\r\n angular.element('#clickMe').css('display', 'none');\r\n }\r\n\r\n if (stepVeryingCount < 30) {\r\n angular.element('#clickMe').css('display', 'block');\r\n }\r\n $scope.modalAction_Name = '';\r\n }\r\n\r\n $scope.TabClick = function (event) {\r\n /// \r\n /// On each Tab Click \r\n /// \r\n\r\n PopupService.currentStepName = $scope[angular.element(event.currentTarget).prop(\"id\")];\r\n activeSortableList = step_withMatching_sortableList[PopupService.currentStepName];\r\n }\r\n\r\n $scope.DeleteCurrentItem = function (event) {\r\n var obj = angular.element(event.target).closest('li.ui-sortable-handle').scope().task;\r\n var deleteItemIndex = obj.index;\r\n\r\n\r\n for (var itemInd = 0; itemInd < $scope[activeSortableList].length; itemInd++) {\r\n if ($scope[activeSortableList][itemInd].index == deleteItemIndex) {\r\n $scope[activeSortableList].splice(itemInd, 1);\r\n }\r\n }\r\n\r\n // $scope[activeSortableList].splice(deleteItemIndex, 1);\r\n\r\n // if ($scope[activeSortableList].length > 0) {\r\n // for (var index = deleteItemIndex; index < $scope[activeSortableList].length; index++) {\r\n // $scope[activeSortableList][index].index = $scope[activeSortableList][index].index - 1;\r\n // }\r\n // }\r\n\r\n\r\n // if (angular.element(event.target).closest('div.showm').next('div[compile=\"task.content\"]').find('div.abc').data('popid')) {\r\n if (obj.popid) {\r\n var itemId = obj.popid;\r\n var found_item_description = checkArrayContainskeyValue(PopupService.SectionList, 'itemId', itemId);\r\n if (found_item_description.status) {\r\n PopupService.SectionList.splice(found_item_description.arrayIndex, 1);\r\n }\r\n }\r\n console.log(PopupService.SectionList);\r\n }\r\n\r\n ///Handle for popover save button to save element\r\n $scope.SaveElement = function (event) {\r\n var optionitems_conditionsCheck = true;\r\n var elemtype = angular.element(event.target).data('elemtype');\r\n var uniqueCheck = true;\r\n var elementBody = angular.element(event.target).closest('div[compile=\"htmlForElement\"]');\r\n var elementScope = elementBody.scope().task;\r\n var labelName = elementBody.find('#name').val();\r\n var hint = elementBody.find('#hint').val();\r\n var section = '';\r\n // (elementBody.find('#section option:selected').text() == 'Choose Section' ? PopupService.currentStepName : elementBody.find('#section option:selected').text());\r\n var required = elementBody.find('#required').prop('checked');\r\n var field_options = {};\r\n field_options.description = \"\";\r\n var itemType = '';\r\n var Access = '';\r\n //var sectionName='';\r\n /// Get the Section Name If any Specified Above.\r\n var current_Element_Index_inList = checkArrayContainskeyValue($scope[activeSortableList], 'index', elementScope.index);\r\n if (current_Element_Index_inList.status) {\r\n for (var modelIndex = current_Element_Index_inList.arrayIndex; modelIndex >= 0; modelIndex--) {\r\n if ($scope[activeSortableList][modelIndex].contentType == 'section') {\r\n section = $scope[activeSortableList][modelIndex].ItemName;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n section = angular.equals(section, '') || angular.equals(section, 'Section') ? PopupService.currentStepName : section;\r\n console.log($scope[activeSortableList]);\r\n switch (elemtype) {\r\n case 'TextBox':\r\n field_options.size = \"small\";\r\n itemType = $scope.itemTypeDic[\"text\"];\r\n Access = '';\r\n break;\r\n case 'Paragraph':\r\n field_options.size = \"small\";\r\n itemType = $scope.itemTypeDic[\"paragraph\"];\r\n Access = '';\r\n break;\r\n case 'Checkbox':\r\n field_options.options = [];\r\n var labelCollection = [];\r\n angular.element(elementBody).find('#itemAddRow').children('div[name=\"itemRowWrapper\"]').each(function () {\r\n var option = {};\r\n option.label = angular.element(this).find('input[type=\"text\"]').val();\r\n if (!option.label) {\r\n optionitems_conditionsCheck = false;\r\n toaster.pop({\r\n type: 'error',\r\n title: 'Item options error ',\r\n showCloseButton: true,\r\n body: 'Option cannot be empty',\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000,\r\n positionClass: 'toast-top-full-width'\r\n });\r\n //notifyUser('Option cannot be empty', 'error');\r\n return false;\r\n }\r\n if ((angular.isDefined(labelCollection)) && (labelCollection.length > 0)) {\r\n if ($.inArray(option.label, labelCollection) !== -1) {\r\n optionitems_conditionsCheck = false;\r\n toaster.pop({\r\n type: 'error',\r\n title: 'Item options error ',\r\n showCloseButton: true,\r\n body: 'Option name should be unique',\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000,\r\n positionClass: 'toast-top-full-width'\r\n });\r\n // notifyUser('Option name should be unique', 'error');\r\n return false;\r\n }\r\n }\r\n option.checked = angular.element(this).find('input[type=checkbox]').is(':checked');\r\n field_options.options.push(option);\r\n labelCollection.push(option.label);\r\n });\r\n itemType = $scope.itemTypeDic[\"checkboxes\"];\r\n Access = '';\r\n if (!optionitems_conditionsCheck) {\r\n return;\r\n }\r\n for (var labelCount = 0; labelCount < labelCollection.length; labelCount++) {\r\n angular.element(event.target).parents('div.abc').find('div.wiz').append('
');\r\n }\r\n break;\r\n\r\n case 'Dropdown':\r\n var labelCollection = [];\r\n field_options.options = [];\r\n angular.element(elementBody).find('#itemAddRow').children('div[name=\"itemRowWrapper\"]').each(function () {\r\n var option = {};\r\n option.label = angular.element(this).find('input[type=\"text\"]').val();\r\n if (!option.label) {\r\n optionitems_conditionsCheck = false;\r\n toaster.pop({\r\n type: 'error',\r\n title: 'Item options error ',\r\n showCloseButton: true,\r\n body: 'Option cannot be empty',\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000,\r\n positionClass: 'toast-top-full-width'\r\n });\r\n //notifyUser('Option cannot be empty', 'error');\r\n return false;\r\n }\r\n if ((angular.isDefined(labelCollection)) && (labelCollection.length > 0)) {\r\n if ($.inArray(option.label, labelCollection) !== -1) {\r\n optionitems_conditionsCheck = false;\r\n toaster.pop({\r\n type: 'error',\r\n title: 'Item options error ',\r\n showCloseButton: true,\r\n body: 'Option name should be unique',\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000,\r\n positionClass: 'toast-top-full-width'\r\n });\r\n // notifyUser('Option name should be unique', 'error');\r\n return false;\r\n }\r\n }\r\n option.checked = angular.element(this).find('input[type=checkbox]').is(':checked');\r\n field_options.options.push(option);\r\n labelCollection.push(option.label);\r\n\r\n });\r\n itemType = $scope.itemTypeDic[\"dropdown\"];\r\n Access = '';\r\n if (!optionitems_conditionsCheck) {\r\n return;\r\n }\r\n for (var labelCount = 0; labelCount < labelCollection.length; labelCount++) {\r\n angular.element(event.target).parents('div.abc').find('select').append('');\r\n }\r\n break;\r\n\r\n case 'Adress':\r\n itemType = $scope.itemTypeDic[\"address\"];\r\n Access = '';\r\n break;\r\n\r\n case 'Decimal':\r\n itemType = $scope.itemTypeDic[\"decimal\"];\r\n Access = '';\r\n break;\r\n\r\n case 'Number':\r\n itemType = $scope.itemTypeDic[\"number\"];\r\n Access = '';\r\n break;\r\n\r\n case 'Email':\r\n itemType = $scope.itemTypeDic[\"email\"];\r\n Access = '';\r\n break;\r\n\r\n case 'Signature':\r\n itemType = $scope.itemTypeDic[\"signature\"];\r\n Access = '';\r\n break;\r\n\r\n case 'Image':\r\n itemType = $scope.itemTypeDic[\"image\"];\r\n Access = '';\r\n break;\r\n\r\n case 'Video':\r\n itemType = $scope.itemTypeDic[\"video\"];\r\n Access = '';\r\n break;\r\n\r\n case 'Date':\r\n itemType = $scope.itemTypeDic[\"date\"];\r\n Access = '';\r\n break;\r\n\r\n case 'Phone':\r\n itemType = $scope.itemTypeDic[\"mobile\"];\r\n Access = '';\r\n break;\r\n\r\n case 'Barcode':\r\n itemType = $scope.itemTypeDic[\"barcode\"];\r\n Access = '';\r\n break;\r\n\r\n case 'Section':\r\n itemType = $scope.itemTypeDic[\"section\"];\r\n Access = '';\r\n break;\r\n case 'Instruction':\r\n itemType = $scope.itemTypeDic[\"instruction\"];\r\n Access = '';\r\n break;\r\n\r\n case 'SiteLayout':\r\n itemType = $scope.itemTypeDic[\"siteLayout\"];\r\n Access = '';\r\n break;\r\n\r\n case 'AttachFile':\r\n itemType = $scope.itemTypeDic[\"attachFile\"];\r\n Access = '';\r\n break;\r\n\r\n default:\r\n alert('no data found');\r\n break;\r\n }\r\n\r\n var elemntDetails = {\r\n ItemName: labelName,\r\n ItemType: itemType,\r\n Required: required,\r\n Access: Access,\r\n Hint:hint,\r\n field_options: field_options,\r\n sectionName: section,\r\n action: PopupService.currentStepName\r\n };\r\n\r\n uniqueCheck = checkUniqueSectionAndItem(PopupService.SectionList, elemntDetails.sectionName, elemntDetails.ItemName);\r\n // var item_UpdateCeck = checkArrayContainskeyValue(PopupService.SectionList);\r\n\r\n if (!labelName) {\r\n toaster.pop({\r\n type: 'error',\r\n title: 'Item error ',\r\n showCloseButton: true,\r\n body: 'Item name can not be empty',\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000,\r\n positionClass: 'toast-top-full-width'\r\n });\r\n return;\r\n }\r\n\r\n // var current_item_popid = elementBody.closest('div[uib-collapse]').prev('div[compile=\"task.content\"]').children('div.abc').data('popid');\r\n var current_item_popid = elementScope.popid;\r\n if (current_item_popid) {\r\n var itemStatus = checkArrayContainskeyValue(PopupService.SectionList, 'itemId', current_item_popid);\r\n if (itemStatus.status) {\r\n if ((!uniqueCheck) && (PopupService.SectionList[itemStatus.arrayIndex].ItemName != elemntDetails.ItemName)) {\r\n toaster.pop({\r\n type: 'error',\r\n title: 'Item error ',\r\n showCloseButton: true,\r\n body: 'Please use unique item name',\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000,\r\n positionClass: 'toast-top-full-width'\r\n });\r\n return;\r\n }\r\n elemntDetails.itemId = current_item_popid;\r\n PopupService.SectionList[itemStatus.arrayIndex] = elemntDetails;\r\n //angular.element(event.target).closest('li.ui-sortable-handle').find('div.abc').find('label[for=\"usr\"]').html(labelName);\r\n elementScope.ItemName = elemntDetails.ItemName;\r\n $scope.propertyWindowCancel(event);\r\n console.time('section Change Time');\r\n if (elemntDetails.ItemType == 'Section') {\r\n if (current_Element_Index_inList.status) {\r\n var ItemsToChangeSection = 0;\r\n for (var ind = current_Element_Index_inList.arrayIndex + 1; ind < $scope[activeSortableList].length; ind++) {\r\n if ($scope[activeSortableList][ind].contentType == 'section') {\r\n break;\r\n } else {\r\n ItemsToChangeSection = $scope[activeSortableList][ind].popid;\r\n var StatusOfItem = checkArrayContainskeyValue(PopupService.SectionList, 'itemId', ItemsToChangeSection);\r\n if (StatusOfItem.status) {\r\n PopupService.SectionList[StatusOfItem.arrayIndex].sectionName = elemntDetails.ItemName;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n console.timeEnd('section Change Time');\r\n }\r\n } else if (uniqueCheck) {\r\n PopupService.popupCount += 1;\r\n elemntDetails.itemId = PopupService.popupCount;\r\n PopupService.SectionList.push(elemntDetails);\r\n //angular.element(event.target).closest('li.ui-sortable-handle').find('div.abc').find('label[for=\"usr\"]').html(labelName);\r\n elementScope.ItemName = elemntDetails.ItemName;\r\n $scope.propertyWindowCancel(event);\r\n //angular.element(event.target).closest('li.ui-sortable-handle').find('div.abc').attr('data-popid', elemntDetails.itemId);\r\n elementScope.popid = elemntDetails.itemId;\r\n if (elemntDetails.ItemType == 'Section') {\r\n var ItemIndexInList = checkArrayContainskeyValue($scope[activeSortableList], 'index', elementScope.index);\r\n if (ItemIndexInList.status) {\r\n var foundItemIndex = 0;\r\n for (var ItemIndex = current_Element_Index_inList.arrayIndex + 1; ItemIndex < $scope[activeSortableList].length; ItemIndex++) {\r\n if ($scope[activeSortableList][ItemIndex].contentType == 'section') {\r\n break;\r\n } else {\r\n foundItemIndex = $scope[activeSortableList][ItemIndex].popid;\r\n var statOfItem = checkArrayContainskeyValue(PopupService.SectionList, 'itemId', foundItemIndex);\r\n if (statOfItem.status) {\r\n PopupService.SectionList[statOfItem.arrayIndex].sectionName = elemntDetails.ItemName;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n toaster.pop({\r\n type: 'error',\r\n title: 'Item error ',\r\n showCloseButton: true,\r\n body: 'Please use unique item name',\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000,\r\n positionClass: 'toast-top-full-width'\r\n });\r\n return;\r\n }\r\n\r\n elementScope.itemEmptyCheck = false;\r\n if (elemntDetails.Required) {\r\n elementScope.isRequired = true;\r\n } else {\r\n elementScope.isRequired = false;\r\n }\r\n elemntDetails = {};\r\n //$log.log(PopupService.SectionList);\r\n }\r\n\r\n ///Action Modal Controller Definition\r\n function ActionModelInstanceCtrl($scope, $rootScope, $uibModalInstance) {\r\n\r\n\r\n $scope.CloseModal = function () {\r\n $uibModalInstance.close();\r\n }\r\n\r\n $scope.SavingAction = function () {\r\n if ($scope.addStep_form.$valid) {\r\n $rootScope.$broadcast('Saving_Action', {\r\n ActionName: $scope.modalAction_Name\r\n });\r\n } else {\r\n $scope.addStep_form.submitted = true;\r\n }\r\n }\r\n\r\n $rootScope.$on('Close_ActionModal', function () {\r\n $scope.CloseModal();\r\n });\r\n }\r\n\r\n ///Action Modal click handler\r\n $scope.addAction = function () {\r\n $scope.ActionNumber = $scope.ActionNumber + 1;\r\n var modalInstance = $uibModal.open({\r\n templateUrl: 'action_modal.html',\r\n controller: ActionModelInstanceCtrl,\r\n })\r\n }\r\n\r\n function checkUniqueSectionAndItem(array, section, item) {\r\n for (var i = 0; i < array.length; i++) {\r\n if ((array[i].sectionName == section) && (array[i].ItemName == item)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n function checkArrayContainskeyValue(array, key, value) {\r\n var foundItemInfo = {};\r\n foundItemInfo.status = false;\r\n for (var ind = 0; ind < array.length; ind++) {\r\n if (array[ind][key] == value) {\r\n foundItemInfo.arrayIndex = ind;\r\n foundItemInfo.status = true;\r\n return foundItemInfo;\r\n }\r\n }\r\n return foundItemInfo;\r\n }\r\n\r\n $scope.$on('Saving_Action', function (event, args) {\r\n $scope.modalAction_Name = args.ActionName;\r\n $scope.AddStep();\r\n });\r\n\r\n $scope.PropertyWindowExpanded = function (controlType, content) {\r\n $scope.htmlForElement = \"\";\r\n switch (controlType) {\r\n case 'text':\r\n $scope.htmlForElement = '\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n \\\r\n
\\\r\n \\\r\n Please enter alphanumeric value only.\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n \\\r\n
\\\r\n \\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n
\\\r\n \\\r\n \\\r\n
\\\r\n
\\\r\n
\\\r\n \\\r\n \\\r\n
\\\r\n
';\r\n break;\r\n\r\n case 'paragraph':\r\n $scope.htmlForElement = '
Please enter alphanumeric value only.

' +\r\n '' +\r\n '
' +\r\n '
';\r\n\r\n break;\r\n\r\n case 'checkboxes':\r\n\r\n $scope.htmlForElement = '
Please enter alphanumeric value only.

' +\r\n '' +\r\n '
' +\r\n '
' +\r\n '
';\r\n\r\n break;\r\n\r\n case 'dropdown':\r\n $scope.htmlForElement = '
Please enter alphanumeric value only.

' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
';\r\n\r\n break;\r\n\r\n case 'address':\r\n $scope.htmlForElement = '
Please enter alphanumeric value only.

' +\r\n '' +\r\n '
' +\r\n '
';\r\n\r\n break;\r\n\r\n case 'decimal':\r\n $scope.htmlForElement = '
Please enter alphanumeric value only.

' +\r\n '' +\r\n '
' +\r\n '
';\r\n break;\r\n\r\n case 'number':\r\n $scope.htmlForElement = '
Please enter alphanumeric value only.

' +\r\n '' +\r\n '
' +\r\n '
';\r\n\r\n break;\r\n\r\n case 'date':\r\n $scope.htmlForElement = '
Please enter alphanumeric value only.

' +\r\n '' +\r\n '
' +\r\n '
';\r\n\r\n break;\r\n case 'phone':\r\n $scope.htmlForElement = '
Please enter alphanumeric value only.

' +\r\n '' +\r\n '
' +\r\n '
';\r\n\r\n break;\r\n\r\n case 'email':\r\n $scope.htmlForElement = '
Please enter alphanumeric value only.

' +\r\n '' +\r\n '
' +\r\n '
';\r\n\r\n break;\r\n\r\n case 'video':\r\n $scope.htmlForElement = '
Please enter alphanumeric value only.

' +\r\n '' +\r\n '
' +\r\n '
';\r\n\r\n break;\r\n\r\n case 'signature':\r\n $scope.htmlForElement = '
Please enter alphanumeric value only.

' +\r\n '' +\r\n '
' +\r\n '
';\r\n\r\n break;\r\n\r\n case 'image':\r\n $scope.htmlForElement = '
Please enter alphanumeric value only.

' +\r\n '' +\r\n '
' +\r\n '
';\r\n break;\r\n\r\n case 'barcode':\r\n $scope.htmlForElement = '
Please enter alphanumeric value only.

' +\r\n '
' +\r\n '
' +\r\n '
';\r\n break;\r\n\r\n case 'section':\r\n $scope.htmlForElement = '
Please enter alphanumeric value only.

' +\r\n '
' +\r\n '
' +\r\n '
';\r\n break;\r\n case 'instruction':\r\n $scope.htmlForElement = '
Please enter alphanumeric value only.

' +\r\n '
' +\r\n '
' +\r\n '
';\r\n break;\r\n\r\n case 'siteLayout':\r\n $scope.htmlForElement = '
Please enter alphanumeric value only.

' +\r\n '
' +\r\n '
' +\r\n '
';\r\n break;\r\n\r\n case 'attachFile':\r\n $scope.htmlForElement = '
Please enter alphanumeric value only.

' +\r\n '
' +\r\n '
' +\r\n '
';\r\n break;\r\n }\r\n var windowElement = angular.element('div.in.collapse');\r\n var item_type = windowElement.scope().task.contentType;\r\n var fetchedListItemID = windowElement.prev('div[compile=\"task.content\"]').children('div.abc').data('popid');\r\n if (fetchedListItemID) {\r\n var fetchedItemindex = checkArrayContainskeyValue(PopupService.SectionList, 'itemId', fetchedListItemID)\r\n if (fetchedItemindex.status) {\r\n var item = PopupService.SectionList[fetchedItemindex.arrayIndex];\r\n ShowDetailsinPropertyWindow(item_type, item, windowElement);\r\n }\r\n }\r\n }\r\n\r\n function ShowDetailsinPropertyWindow(ItemType, Item, windowElement) {\r\n switch (ItemType) {\r\n case 'checkboxes':\r\n angular.element(document).ready(function () {\r\n windowElement.find('#name').val(Item.ItemName);\r\n windowElement.find('#required').prop('checked', Item.Required);\r\n windowElement.find('#hint').val(Item.Hint);\r\n windowElement.find('#itemAddRow').html('');\r\n if (Item.field_options.options.length > 0) {\r\n for (var optionIndex = 0; optionIndex < Item.field_options.options.length; optionIndex++) {\r\n console.log(windowElement.find('#itemAddRow'));\r\n if (Item.field_options.options[optionIndex].label) {\r\n windowElement.find('#itemAddRow').append($compile('
')($scope));\r\n }\r\n }\r\n }\r\n });\r\n\r\n break;\r\n case 'dropdown':\r\n angular.element(document).ready(function () {\r\n windowElement.find('#name').val(Item.ItemName);\r\n windowElement.find('#required').prop('checked', Item.Required);\r\n windowElement.find('#hint').val(Item.Hint);\r\n windowElement.find('#itemAddRow').html('');\r\n if (Item.field_options.options.length > 0) {\r\n for (var optionIndex = 0; optionIndex < Item.field_options.options.length; optionIndex++) {\r\n if (Item.field_options.options[optionIndex].label) {\r\n windowElement.find('#itemAddRow').append($compile('
')($scope));\r\n }\r\n }\r\n }\r\n });\r\n break;\r\n default:\r\n angular.element(document).ready(function () {\r\n windowElement.find('#name').val(Item.ItemName);\r\n windowElement.find('#required').prop('checked', Item.Required);\r\n windowElement.find('#hint').val(Item.Hint);\r\n })\r\n }\r\n\r\n }\r\n\r\n $scope.PropertyWindowCollapsed = function () {\r\n // $scope.htmlString='';\r\n }\r\n\r\n $scope.expanding = function () {\r\n angular.element('div.in.collapse').each(function (index) {\r\n angular.element(this).scope().task.isCollapsed = true;\r\n })\r\n }\r\n\r\n\r\n $scope.propertyWindowCancel = function (expandedDiv) {\r\n angular.element(expandedDiv.target).closest('div[compile=\"htmlForElement\"]').closest('div[uib-collapse]').prev('div[compile=\"task.content\"]').scope().task.isCollapsed = true;\r\n angular.element(expandedDiv.target).closest('div[compile=\"htmlForElement\"]').closest('div[uib-collapse]').prev('div[compile=\"task.content\"]').scope().task.liHide = false;\r\n $scope.htmlString = \"\";\r\n\r\n }\r\n\r\n $scope.OpenSaveTemplatePopUp = function () { \r\n\r\n if ($state.current.name == 'index.FormEdit') {\r\n templateModel.TemplateName = fetchedTemplate.TemplateName;\r\n $scope.templateName = fetchedTemplate.TemplateName;\r\n $scope.skill1=fetchedTemplate.SkillSet; \r\n \r\n var modalInstance = $uibModal.open({\r\n templateUrl: 'save_template_modal.html',\r\n controller: ModalInstanceCtrl\r\n });\r\n \r\n // $scope.SaveTemplate();\r\n } else {\r\n $scope.templateName=\"\";\r\n $scope.templateDescription =\"\";\r\n $scope.SkillSet=[];\r\n var modalInstance = $uibModal.open({\r\n templateUrl: 'save_template_modal.html',\r\n controller: ModalInstanceCtrl\r\n });\r\n // $log.log('popskill',$scope.skills)\r\n }\r\n //$('#saveModal').modal('show');\r\n\r\n }\r\n\r\n\r\n function ModalInstanceCtrl($scope, $rootScope, $uibModalInstance) {\r\n if (updateTemplateCheck) \r\n $scope.isDisabledField=true;\r\n else\r\n $scope.isDisabledField=false;\r\n function GetSkills(){\r\n FormBuilderService.GetSkills(loggedinUser,token).then(function(resp){\r\n if (resp.status == 200) {\r\n $scope.skills = resp.data;\r\n $log.log('skills', $scope.skills);\r\n $scope.skill1=$rootScope.SkillSet;\r\n \r\n }\r\n })\r\n }\r\n GetSkills();\r\n\r\n // function getSLAConfiguration() { \r\n // FormBuilderService.getSLAConfiguration(loggedinUser,token).then(function (resp) {\r\n // if (resp && resp.data) {\r\n // $scope.getSLAConfigList=resp.data;\r\n // }\r\n // }, function () {\r\n // });\r\n // } \r\n\r\n // getSLAConfiguration();\r\n\r\n if (!updateTemplateCheck) {\r\n $scope.templateName=\"\";\r\n $scope.templateDescription =\"\";\r\n $scope.SkillSet=[];\r\n }\r\n $scope.CloseModal = function () {\r\n $uibModalInstance.close();\r\n }\r\n\r\n // $scope.SLAIDChange=function (){ \r\n // for (var i = 0; i < $scope.getSLAConfigList.length; i++) {\r\n // var Acc = $scope.getSLAConfigList[i];\r\n // if(Acc.SLADefinition == $scope.SLADefinition ) {\r\n // $scope.SLAId = Acc.SLAId;\r\n // }\r\n // }\r\n // }\r\n // $scope.UpdateTemplate= function(){\r\n \r\n // if ($scope.templateUpdate_Form.$valid) {\r\n // var isValid = ($scope.updatetaskDuration <= 480 && $scope.updatetaskDuration >= 30 ) ? true : false;\r\n // if(isValid){\r\n // $rootScope.$broadcast('Updating_Template', {\r\n // templateName: $scope.updatetemplateName, \r\n // templateDescription: $scope.updatetemplateDescription,\r\n // skill1:$scope.updateskill1,\r\n // taskDuration: $scope.updatetaskDuration\r\n // });\r\n // }\r\n // else {\r\n // $scope.taskDurationLimitMsg = \"Please enter task duration in between 30 and 480 minutes\";\r\n // $scope.templateUpdate_Form.submitted = true;\r\n // }\r\n // } else {\r\n // $scope.templateUpdate_Form.submitted = true;\r\n // }\r\n // }\r\n\r\n \r\n $scope.SavingTemplate = function () {\r\n \r\n if ($scope.templateSave_Form.$valid) {\r\n var isValid = ($scope.updatetaskDuration <= 480 && $scope.updatetaskDuration >= 30 ) ? true : false;\r\n if(isValid){\r\n $rootScope.$broadcast('Saving_Template', {\r\n templateName: $scope.templateName,\r\n templateDescription: $scope.templateDescription,\r\n ScopeWork: $scope.ScopeWork,\r\n ScopeWorkPath: $scope.ScopeWorkPath,\r\n // SLADefinition: $scope.SLADefinition,\r\n // SLAId: $scope.SLAId,\r\n IsFieldDataReportEnabled: $scope.IsFieldDataReportEnabled,\r\n IsSiteAccessNeeded: $scope.IsSiteAccessNeeded,\r\n IsVendorApprovalNeeded: $scope.IsVendorApprovalNeeded,\r\n IsSerialNumberVerificationEnabled: $scope.IsSerialNumberVerificationEnabled,\r\n SiteAccessWaitingTime: $scope.SiteAccessWaitingTime,\r\n MMFJobType : $scope.MMFJobType,\r\n MMFServiceType: $scope.MMFServiceType,\r\n skill1:$scope.skill1,\r\n SkillSet:$scope.SkillSet,\r\n taskDuration: $scope.updatetaskDuration\r\n });\r\n }\r\n else {\r\n $scope.taskDurationLimitMsg = \"Please enter task duration in between 30 and 480 minutes\";\r\n $scope.templateUpdate_Form.submitted = true;\r\n }\r\n } \r\n else {\r\n $scope.templateSave_Form.submitted = true;\r\n }\r\n // $rootScope.$broadcast('Saving_Template', {\r\n // templateName: $scope.templateName,\r\n // templateDescription: $scope.templateDescription,\r\n // ScopeWork: $scope.ScopeWork,\r\n // ScopeWorkPath: $scope.ScopeWorkPath,\r\n // // SLADefinition: $scope.SLADefinition,\r\n // // SLAId: $scope.SLAId,\r\n // IsFieldDataReportEnabled: $scope.IsFieldDataReportEnabled,\r\n // IsSiteAccessNeeded: $scope.IsSiteAccessNeeded,\r\n // IsVendorApprovalNeeded: $scope.IsVendorApprovalNeeded,\r\n // IsSerialNumberVerificationEnabled: $scope.IsSerialNumberVerificationEnabled,\r\n // SiteAccessWaitingTime: $scope.SiteAccessWaitingTime,\r\n // MMFJobType : $scope.MMFJobType,\r\n // skill1:$scope.skill1,\r\n // SkillSet:$scope.SkillSet,\r\n // taskDuration: $scope.updatetaskDuration\r\n // });\r\n // } else {\r\n // $scope.templateSave_Form.submitted = true;\r\n }\r\n\r\n $rootScope.$on('Close_TemplateModel', function () {\r\n $scope.CloseModal();\r\n });\r\n }\r\n\r\n $scope.$on('Updating_Template', function (event, args) {\r\n $scope.templateName = args.templateName;\r\n $scope.templateDescription = args.templateDescription;\r\n $scope.skill1 = args.skill1;\r\n $scope.taskDuration = args.taskDuration;\r\n console.log($scope.templateName);\r\n $scope.SaveTemplate();\r\n });\r\n\r\n $scope.$on('Saving_Template', function (event, args) {\r\n \r\n $scope.templateName = args.templateName;\r\n $scope.templateDescription = args.templateDescription;\r\n $scope.templateScopeWork = args.ScopeWork;\r\n $scope.templateScopeWorkPath = args.ScopeWorkPath;\r\n $scope.templateIsFieldData = args.IsFieldDataReportEnabled;\r\n $scope.templateIsSiteAccessNeeded = args.IsSiteAccessNeeded;\r\n $scope.templateIsVendorApprovalNeeded = args.IsVendorApprovalNeeded;\r\n $scope.templateSiteAccessWaitingTime = args.SiteAccessWaitingTime; \r\n $scope.templateMMFJobType = args.MMFJobType; \r\n $scope.templateMMFServiceType = args.MMFServiceType;\r\n $scope.templateIsSerialNumberVerificationEnabled = args.IsSerialNumberVerificationEnabled,\r\n // $scope.skill1 = args.skill1.SkillName;\r\n $scope.SkillSet = args.skill1;\r\n $scope.SaveTemplate();\r\n $scope.templateName=\"\";\r\n $scope.templateDescription =\"\";\r\n $scope.templateScopeWork =\"\";\r\n $scope.templateScopeWorkPath = \"\";\r\n // $scope.SLADefinition=\"\";\r\n // $scope.SLAId=\"\",\r\n $scope.templateIsFieldData = false;\r\n $scope.templateIsSiteAccessNeeded = false;\r\n $scope.templateIsVendorApprovalNeeded = false;\r\n $scope.templateSiteAccessWaitingTime = 0;\r\n $scope.templateMMFJobType = \"\";\r\n $scope.templateMMFServiceType = \"\";\r\n $scope.templateIsSerialNumberVerificationEnabled = false;\r\n $scope.SkillSet=[];\r\n });\r\n\r\n $scope.addOptions = function (event) {\r\n var isbutton = angular.element(event.target).is(\":button\");\r\n if (isbutton) {\r\n angular.element(angular.element(event.target)).prev('div#itemAddRow').append($compile('
')($scope));\r\n } else {\r\n angular.element(angular.element(event.target)).parent().prev('div#itemAddRow').append($compile('
')($scope));\r\n }\r\n }\r\n\r\n $scope.deleteOptions = function (event) {\r\n angular.element(event.target).parents('div[name =\"itemRowWrapper\"]').remove();\r\n } \r\n\r\n $scope.SaveTemplate = function () {\r\n if (!$scope.templateName) {\r\n return;\r\n }\r\n\r\n $rootScope.$broadcast('Close_TemplateModel');\r\n if (!ItemsEmptyCheck()) {\r\n toaster.pop({\r\n type: 'error',\r\n title: 'Template creation status ',\r\n showCloseButton: true,\r\n body: 'Please update empty items.',\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000,\r\n positionClass: 'toast-top-full-width'\r\n });\r\n return;\r\n }\r\n SortItems();\r\n $scope.isDisabled = true;\r\n templateModel.TemplateName = $scope.templateName;\r\n var sectionlist_Seprated = angular.fromJson(angular.toJson(PopupService.SectionList));\r\n var finalListOfSections = SeperateSectionAndItems(sectionlist_Seprated, \"action\");\r\n templateModel.sectionList = finalListOfSections;\r\n templateModel.CreatedBy = userId;\r\n templateModel.Update = updateTemplateCheck;\r\n templateModel.Description = $scope.templateDescription;\r\n templateModel.ScopeWork = $scope.templateScopeWork;\r\n templateModel.ScopeWorkPath = $scope.templateScopeWorkPath;\r\n templateModel.IsFieldDataReportEnabled = $scope.templateIsFieldData;\r\n templateModel.IsSiteAccessNeeded = $scope.templateIsIsSiteAccessNeeded;\r\n templateModel.IsVendorApprovalNeeded = $scope.templateIsVendorApprovalNeeded;\r\n templateModel.SiteAccessWaitingTime = $scope.templateSiteAccessWaitingTime;\r\n templateModel.MMFJobType = $scope.templateMMFJobType;\r\n templateModel.MMFServiceType = $scope.templateMMFServiceType;\r\n templateModel.IsSerialNumberVerificationEnabled = $scope.templateIsSerialNumberVerificationEnabled;\r\n templateModel.Skill = null;\r\n templateModel.SkillSet = $scope.SkillSet;\r\n var json = angular.toJson(templateModel);\r\n FormBuilderService.SaveTemplate(json, token)\r\n .success(function (data, status) {\r\n if (angular.equals(status, 201)) {\r\n $scope.isDisabled = true;\r\n toaster.pop({\r\n type: 'success',\r\n title: 'Template creation status ',\r\n showCloseButton: true,\r\n body: 'Template has been succesfully Created.',\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000,\r\n positionClass: 'toast-top-full-width'\r\n });\r\n $timeout(function () {\r\n clearAllFields();\r\n $state.go('index.TemplateList', {\r\n reload: true\r\n });\r\n\r\n }, 2000);\r\n } else if (angular.equals(status, 202)) {\r\n templateModel = angular.fromJson(data);\r\n\r\n if (templateModel.Update) {\r\n $scope.isDisabled = true;\r\n toaster.pop({\r\n type: 'success',\r\n title: 'Template creation status ',\r\n showCloseButton: true,\r\n body: 'Template has been succesfully Updated.',\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000,\r\n positionClass: 'toast-top-full-width'\r\n });\r\n\r\n $timeout(function () {\r\n clearAllFields();\r\n $state.go('index.TemplateList', {\r\n reload: true\r\n });\r\n }, 2000);\r\n } else {\r\n $scope.isDisabled = false;\r\n toaster.pop({\r\n type: 'error',\r\n title: 'Template creation status ',\r\n showCloseButton: true,\r\n body: 'Template already exist',\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000,\r\n positionClass: 'toast-top-full-width'\r\n });\r\n }\r\n } else {\r\n $scope.isDisabled = false;\r\n toaster.pop({\r\n type: 'error',\r\n title: 'Template creation status ',\r\n showCloseButton: true,\r\n body: 'Template has not been Created.',\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000,\r\n positionClass: 'toast-top-full-width'\r\n });\r\n }\r\n })\r\n .error(function (data, status) {\r\n $scope.isDisabled = false;\r\n toaster.pop({\r\n type: 'error',\r\n title: 'Server Error ',\r\n showCloseButton: true,\r\n body: 'Template has not been Created.',\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000,\r\n positionClass: 'toast-top-full-width'\r\n });\r\n });\r\n }\r\n\r\n function SeperateSectionAndItems(itemlist, property) {\r\n var hash = {};\r\n var second_property = 'sectionName';\r\n var sectionList = [];\r\n for (var itemNum = 0; itemNum < itemlist.length; itemNum++) {\r\n if (!hash[itemlist[itemNum][property]])\r\n hash[itemlist[itemNum][property]] = [];\r\n if (itemlist[itemNum].ItemType == 'Section') {\r\n continue;\r\n }\r\n hash[itemlist[itemNum][property]].push(itemlist[itemNum]);\r\n }\r\n\r\n for (var action in hash) {\r\n var sechash = {};\r\n var nestedSectionList = hash[action];\r\n for (var itemIndex = 0; itemIndex < nestedSectionList.length; itemIndex++) {\r\n if (!sechash[nestedSectionList[itemIndex][second_property]])\r\n sechash[nestedSectionList[itemIndex][second_property]] = [];\r\n sechash[nestedSectionList[itemIndex][second_property]].push(nestedSectionList[itemIndex]);\r\n }\r\n hash[action] = sechash;\r\n }\r\n\r\n for (var actionName in hash) {\r\n for (var secName in hash[actionName]) {\r\n var section = {};\r\n section.itemList = [];\r\n section.sectionName = secName;\r\n for (var i = 0; i < hash[actionName][secName].length; i++) {\r\n delete hash[actionName][secName][i].sectionName;\r\n delete hash[actionName][secName][i].action;\r\n delete hash[actionName][secName][i].itemId;\r\n section.itemList.push(hash[actionName][secName][i]);\r\n }\r\n section.action = actionName;\r\n sectionList.push(section);\r\n }\r\n }\r\n return sectionList;\r\n }\r\n\r\n\r\n function getTemplate(templateName) {\r\n /// \r\n \r\n /// Get the Template from supplied Template Name\r\n /// \r\n /// \r\n FormBuilderService.getTemplateByName(templateName, token)\r\n .success(function (data, status, headers, config) {\r\n if (data) {\r\n $scope.fetchedTemplate = data;\r\n fetchedTemplate = $scope.fetchedTemplate;\r\n $scope.templateName = fetchedTemplate.TemplateName;\r\n $scope.templateDescription = fetchedTemplate.Description;\r\n $scope.ScopeWork = fetchedTemplate.ScopeWork;\r\n $scope.ScopeWorkPath = fetchedTemplate.ScopeWorkPath;\r\n // $scope.SLADefinition = fetchedTemplate.SLADefinition,\r\n // $scope.SLAId = fetchedTemplate.SLAId,\r\n $scope.IsFieldDataReportEnabled = fetchedTemplate.IsFieldDataReportEnabled;\r\n $scope.IsSiteAccessNeeded = fetchedTemplate.IsSiteAccessNeeded;\r\n $scope.IsVendorApprovalNeeded = fetchedTemplate.IsVendorApprovalNeeded;\r\n $scope.IsSerialNumberVerificationEnabled = fetchedTemplate.IsSerialNumberVerificationEnabled;\r\n $scope.skill1 = fetchedTemplate.Skill;\r\n $scope.SiteAccessWaitingTime = fetchedTemplate.SiteAccessWaitingTime;\r\n $scope.MMFJobType = fetchedTemplate.MMFJobType;\r\n $scope.MMFServiceType = fetchedTemplate.MMFServiceType;\r\n $scope.SkillSet = fetchedTemplate.SkillSet;\r\n $rootScope.templateName = fetchedTemplate.TemplateName;\r\n $rootScope.templateDescription = fetchedTemplate.Description;\r\n $rootScope.ScopeWork = fetchedTemplate.ScopeWork;\r\n $rootScope.ScopeWorkPath = fetchedTemplate.ScopeWorkPath;\r\n // $rootScope.SLAId = fetchedTemplate.SLAId,\r\n // $rootScope.SLADefinition = fetchedTemplate.SLADefinition,\r\n $rootScope.IsFieldDataReportEnabled = fetchedTemplate.IsFieldDataReportEnabled;\r\n $rootScope.IsSiteAccessNeeded = fetchedTemplate.IsSiteAccessNeeded;\r\n $rootScope.IsVendorApprovalNeeded = fetchedTemplate.IsVendorApprovalNeeded;\r\n $rootScope.SiteAccessWaitingTime = fetchedTemplate.SiteAccessWaitingTime;\r\n $rootScope.MMFJobType = fetchedTemplate.MMFJobType;\r\n $rootScope.MMFServiceType = fetchedTemplate.MMFServiceType;\r\n $rootScope.IsSerialNumberVerificationEnabled = fetchedTemplate.IsSerialNumberVerificationEnabled;\r\n $rootScope.skill1 = fetchedTemplate.Skill;\r\n $rootScope.SkillSet = fetchedTemplate.SkillSet;\r\n\r\n getActionsList(fetchedTemplate);\r\n }\r\n })\r\n .error(function (data, status, headers, config) {});\r\n }\r\n\r\n function getActionsList(template) {\r\n /// \r\n /// Get all the Actions list for the fetched Template\r\n /// \r\n /// \r\n var flags = [],\r\n output = [];\r\n\r\n for (var i = 0; i < template.SectionList.length; i++) {\r\n if (flags[template.SectionList[i].Action]) continue;\r\n flags[template.SectionList[i].Action] = true;\r\n output.push(template.SectionList[i].Action);\r\n }\r\n\r\n for (var j = 0; j < output.length; j++) {\r\n\r\n $scope[\"stepID\" + (j + 1)] = output[j];\r\n PopupService.ActionList[\"stepID\" + (j + 1)] = output[j];\r\n PopupService.currentStepName = output[j];\r\n $scope.ActionList.push({\r\n action_name: PopupService.currentStepName,\r\n action_sequence: $scope.ActionNumber\r\n });\r\n $scope.ActionNumber = $scope.ActionNumber + 1;\r\n if (j > 0) {\r\n //stepcount = stepcount + 1;\r\n $scope.AddStep();\r\n }\r\n $('#stepID' + stepcount).children('a').html(PopupService.currentStepName);\r\n $('#lblID' + stepcount).html(PopupService.currentStepName);\r\n }\r\n // PopupService.currentStepName = output[0];\r\n parseItemsForEachAction(template.SectionList, \"Action\");\r\n }\r\n\r\n function parseItemsForEachAction(itemlist, property) {\r\n var hash = {};\r\n var sectionList = [];\r\n for (var itemNum = 0; itemNum < itemlist.length; itemNum++) {\r\n if (!hash[itemlist[itemNum][property]])\r\n hash[itemlist[itemNum][property]] = [];\r\n hash[itemlist[itemNum][property]].push(itemlist[itemNum]);\r\n }\r\n parseItemSectionWise(hash);\r\n }\r\n\r\n function parseItemSectionWise(action_Sectionslist) {\r\n for (var action in action_Sectionslist) {\r\n renderedModelIndex = 0;\r\n var actionName = action;\r\n var currentAction_SectionList = action_Sectionslist[action];\r\n if (!angular.isUndefined(currentAction_SectionList)) {\r\n for (var sectionIndex = 0; sectionIndex < currentAction_SectionList.length; sectionIndex++) {\r\n var sectionName = currentAction_SectionList[sectionIndex].SectionName;\r\n var currentSection_ItemList = currentAction_SectionList[sectionIndex].ItemList;\r\n if (!angular.isUndefined(currentSection_ItemList)) {\r\n for (var itemIndex = 0; itemIndex < currentSection_ItemList.length; itemIndex++) {\r\n var currentItem = currentSection_ItemList[itemIndex];\r\n plotItem(actionName, sectionName, currentItem);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n $compile(angular.element(''))($scope);\r\n // console.log(PopupService.SectionList);\r\n }\r\n\r\n function plotItem(action, section, item) {\r\n // var itemType = item.ItemType;\r\n var stepId = ObjectKeyByValue(PopupService.ActionList, action);\r\n var tabId = angular.element('#' + stepId).data('target');\r\n // if (section == action) {\r\n initLayOutforPlotedItem(action, section, item, tabId);\r\n // }\r\n }\r\n\r\n function ObjectKeyByValue(object, value) {\r\n for (var key in object) {\r\n if (object[key] == value) {\r\n return key;\r\n }\r\n }\r\n }\r\n\r\n function initLayOutforPlotedItem(action, section, item, tabId) {\r\n angular.element(document).ready(function () {\r\n angular.element(tabId).find('li.placeHolder').hide();\r\n });\r\n var ActionsList = step_withMatching_sortableList[action];\r\n if (section == action) {\r\n var listItemModel = renderingHtmlForItemType(item);\r\n $scope[ActionsList].push(listItemModel);\r\n //angular.element(tabId).find('ul').append($compile(renderingHtml)($scope));\r\n //renderingHtml.find('label').html(item.ItemName);\r\n item.sectionName = section;\r\n item.action = action;\r\n item.itemId = PopupService.popupCount;\r\n //renderingHtml.closest('div.abc').attr('data-popid', PopupService.popupCount);\r\n PopupService.SectionList.push(item);\r\n } else {\r\n if (!FormBuilderService.contains(renderingSectionList, section)) {\r\n var sectionItemModel = {};\r\n sectionItemModel.ItemName = section;\r\n sectionItemModel.ItemType = 'Section';\r\n sectionItemModel.Required = true;\r\n sectionItemModel.action = action;\r\n var sectionListModel = renderingHtmlForItemType(sectionItemModel);\r\n sectionItemModel.itemId = PopupService.popupCount;\r\n $scope[ActionsList].push(sectionListModel);\r\n renderingSectionList.push(section);\r\n PopupService.SectionList.push(sectionItemModel);\r\n renderedModelIndex = renderedModelIndex + 1;\r\n }\r\n\r\n var listItemModelwithSection = renderingHtmlForItemType(item);\r\n $scope[ActionsList].push(listItemModelwithSection);\r\n item.sectionName = section;\r\n item.action = action;\r\n item.itemId = PopupService.popupCount;\r\n PopupService.SectionList.push(item);\r\n }\r\n renderedModelIndex = renderedModelIndex + 1;\r\n }\r\n\r\n function renderingHtmlForItemType(item) {\r\n var itemTypeForHtml = ObjectKeyByValue(PopupService.itemTypeDic, item.ItemType);\r\n PopupService.popupCount = Number(PopupService.popupCount) + 1;\r\n var modelIndex = renderedModelIndex;\r\n //var htmlString = '';\r\n var model = {};\r\n model.isRequired = item.Required;\r\n switch (itemTypeForHtml) {\r\n case 'text':\r\n model.content = '
' +\r\n '' +\r\n '
Item can not be empty';\r\n model.isCollapsed = true;\r\n model.liHide = false;\r\n model.contentType = 'text';\r\n model.statusClass = 'info';\r\n model.popid = PopupService.popupCount;\r\n model.ItemName = item.ItemName;\r\n break;\r\n\r\n case 'paragraph':\r\n model.content = '
' +\r\n '' +\r\n '
Item can not be empty';\r\n model.isCollapsed = true;\r\n model.liHide = false;\r\n model.contentType = 'paragraph';\r\n model.statusClass = 'warning';\r\n model.popid = PopupService.popupCount;\r\n model.ItemName = item.ItemName;\r\n break;\r\n\r\n case 'checkboxes':\r\n model.content = '
' +\r\n '' +\r\n '
' +\r\n '
Item can not be empty';\r\n model.isCollapsed = true;\r\n model.liHide = false;\r\n model.contentType = 'checkboxes';\r\n model.statusClass = 'warning';\r\n model.popid = PopupService.popupCount;\r\n model.ItemName = item.ItemName;\r\n break;\r\n\r\n case 'date':\r\n model.content = '
' +\r\n '' +\r\n ' - ' +\r\n ' - ' +\r\n ' - ' +\r\n '' +\r\n '
Item can not be empty';\r\n model.isCollapsed = true;\r\n model.liHide = false;\r\n model.contentType = 'date';\r\n model.statusClass = 'info';\r\n model.popid = PopupService.popupCount;\r\n model.ItemName = item.ItemName;\r\n break;\r\n\r\n case 'dropdown':\r\n model.content = '
' +\r\n '' +\r\n '
';\r\n model.isCollapsed = true;\r\n model.liHide = false;\r\n model.contentType = 'dropdown';\r\n model.statusClass = 'warning';\r\n model.popid = PopupService.popupCount;\r\n model.ItemName = item.ItemName;\r\n break;\r\n\r\n case 'address':\r\n model.content = '
' +\r\n '
' +\r\n '
Street Address
' +\r\n '
Street Address Line 2
' +\r\n '
State/Province
' +\r\n '
City
' +\r\n '' +\r\n '
Postal/Zip Code
Item can not be empty';\r\n model.isCollapsed = true;\r\n model.liHide = false;\r\n model.contentType = 'address';\r\n model.statusClass = 'success';\r\n model.popid = PopupService.popupCount;\r\n model.ItemName = item.ItemName;\r\n break;\r\n\r\n case 'mobile':\r\n model.content = '
' +\r\n '' +\r\n ' - ' +\r\n '' +\r\n '
Area CodePhone number
Item can not be empty';\r\n model.isCollapsed = true;\r\n model.liHide = false;\r\n model.contentType = 'phone';\r\n model.statusClass = 'warning';\r\n model.popid = PopupService.popupCount;\r\n model.ItemName = item.ItemName;\r\n break;\r\n\r\n case 'decimal':\r\n model.content = '
' +\r\n '' +\r\n '' +\r\n '
Item can not be empty';\r\n model.isCollapsed = true;\r\n model.liHide = false;\r\n model.contentType = 'decimal';\r\n model.statusClass = 'info';\r\n model.popid = PopupService.popupCount;\r\n model.ItemName = item.ItemName;\r\n break;\r\n\r\n case 'number':\r\n model.content = '
' +\r\n '' +\r\n '' +\r\n '
Item can not be empty';\r\n model.isCollapsed = true;\r\n model.liHide = false;\r\n model.contentType = 'number';\r\n model.statusClass = 'warning';\r\n model.popid = PopupService.popupCount;\r\n model.ItemName = item.ItemName;\r\n break;\r\n\r\n case 'email':\r\n model.content = '
' +\r\n '' +\r\n '' +\r\n '
Item can not be empty';\r\n model.isCollapsed = true;\r\n model.liHide = false;\r\n model.contentType = 'email';\r\n model.statusClass = 'warning';\r\n model.popid = PopupService.popupCount;\r\n model.ItemName = item.ItemName;\r\n break;\r\n\r\n case 'signature':\r\n model.content = '
' +\r\n '

' +\r\n '
Item can not be empty';\r\n model.isCollapsed = true;\r\n model.liHide = false;\r\n model.contentType = 'signature';\r\n model.statusClass = 'success';\r\n model.popid = PopupService.popupCount;\r\n model.ItemName = item.ItemName;\r\n\r\n break;\r\n\r\n case 'image':\r\n model.content = '
' +\r\n '
' +\r\n '

Item can not be empty';\r\n model.isCollapsed = true;\r\n model.liHide = false;\r\n model.contentType = 'image';\r\n model.statusClass = 'info';\r\n model.popid = PopupService.popupCount;\r\n model.ItemName = item.ItemName;\r\n break;\r\n\r\n case 'formfieldset':\r\n\r\n break;\r\n\r\n case 'video':\r\n model.content = '
' +\r\n '
' +\r\n '

Item can not be empty' +\r\n '
';\r\n model.isCollapsed = true;\r\n model.liHide = false;\r\n model.contentType = 'video';\r\n model.statusClass = 'warning';\r\n model.popid = PopupService.popupCount;\r\n model.ItemName = item.ItemName;\r\n break;\r\n\r\n case 'barcode':\r\n model.content = '
' +\r\n '' +\r\n '
Item can not be empty';\r\n model.isCollapsed = true;\r\n model.liHide = false;\r\n model.contentType = 'barcode';\r\n model.statusClass = 'warning';\r\n model.popid = PopupService.popupCount;\r\n model.ItemName = item.ItemName;\r\n break;\r\n\r\n case 'section':\r\n model.content = '
' +\r\n '';\r\n model.isCollapsed = true;\r\n model.liHide = false;\r\n model.contentType = 'section';\r\n model.statusClass = 'warning section ';\r\n model.popid = PopupService.popupCount;\r\n model.ItemName = item.ItemName;\r\n break;\r\n\r\n case 'instruction':\r\n model.content = '
' +\r\n '
';\r\n model.isCollapsed = true;\r\n model.liHide = false;\r\n model.contentType = 'instruction';\r\n model.statusClass = 'warning';\r\n model.popid = PopupService.popupCount;\r\n model.ItemName = item.ItemName;\r\n break;\r\n\r\n case 'siteLayout':\r\n model.content = '
' +\r\n '' +\r\n '
Item can not be empty';\r\n model.isCollapsed = true;\r\n model.liHide = false;\r\n model.contentType = 'siteLayout';\r\n model.statusClass = 'success';\r\n model.popid = PopupService.popupCount;\r\n model.ItemName = item.ItemName;\r\n break;\r\n\r\n case 'attachFile':\r\n model.content = '
' +\r\n '' +\r\n '
Item can not be empty';\r\n model.isCollapsed = true;\r\n model.liHide = false;\r\n model.contentType = 'attachFile';\r\n model.statusClass = 'success';\r\n model.popid = PopupService.popupCount;\r\n model.ItemName = item.ItemName;\r\n break;\r\n \r\n default :\r\n model.content = '
' +\r\n '' +\r\n '
Item can not be empty';\r\n model.isCollapsed = true;\r\n model.liHide = false;\r\n model.contentType = 'barcode';\r\n model.statusClass = 'warning';\r\n model.popid = PopupService.popupCount;\r\n model.ItemName = item.ItemName;\r\n break;\r\n }\r\n model.index = modelIndex;\r\n return model;\r\n }\r\n\r\n $scope.DeleteConfirmationTemplatePopUp = function () {\r\n var modalInstance = $uibModal.open({\r\n templateUrl: 'remove_template_modal.html',\r\n controller: RemoveActionModalCtrl\r\n });\r\n }\r\n\r\n function RemoveActionModalCtrl($scope, $rootScope, $uibModalInstance) {\r\n $scope.CloseModal = function () {\r\n $uibModalInstance.close();\r\n }\r\n $scope.DeleteCurrentStep = function () {\r\n $rootScope.$broadcast('Delete_Template', {});\r\n $uibModalInstance.close();\r\n }\r\n $rootScope.$on('Close_TabModel', function () {\r\n $scope.CloseModal();\r\n });\r\n }\r\n\r\n $scope.$on('Delete_Template', function () {\r\n $scope.DeleteCurrentStep();\r\n });\r\n\r\n $scope.DeleteCurrentStep = function (event) {\r\n activeSortableList = step_withMatching_sortableList[PopupService.currentStepName];\r\n delete $scope[activeSortableList];\r\n var tab_ID1 = angular.element('li[heading=\"' + PopupService.currentStepName + '\"]').data('target');\r\n angular.element('li[heading=\"' + PopupService.currentStepName + '\"]').remove();\r\n\r\n angular.element('div.feed-activity-list' + tab_ID1).closest('div').remove();\r\n\r\n stepcount = stepcount - 1;\r\n get_AllItemsOfAction('action', PopupService.currentStepName);\r\n var found_item = checkArrayContainskeyValue($scope.ActionList, 'action_name', PopupService.currentStepName);\r\n if (found_item.status == true) {\r\n $scope.ActionList.splice(found_item.arrayIndex, 1);\r\n }\r\n delete step_withMatching_sortableList[PopupService.currentStepName];\r\n delete PopupService.ActionList[ObjectKeyByValue(PopupService.ActionList, PopupService.currentStepName)];\r\n }\r\n\r\n function get_AllItemsOfAction(property, step) {\r\n for (var index = PopupService.SectionList.length; index--;) {\r\n if (PopupService.SectionList[index].action == step) {\r\n PopupService.SectionList.splice(index, 1);\r\n }\r\n }\r\n }\r\n\r\n function clearAllFields() {\r\n PopupService.SectionList = [];\r\n PopupService.currentStepName = '';\r\n PopupService.ActionList = {};\r\n PopupService.popupCount = 0;\r\n $scope.todoList1 = [];\r\n var activeSortableList = 'todoList1';\r\n var step_withMatching_sortableList = {\r\n Supervisor: 'todoList1'\r\n };\r\n var renderedModelIndex = 0;\r\n var templateModel = {};\r\n var fetchedTemplate = {};\r\n var updateTemplateCheck = false;\r\n $scope.htmlString = '';\r\n $scope.ActionList = [];\r\n $scope.ActionNumber = 1;\r\n $scope.templateName = 'Create Template';\r\n var renderingSectionList = [];\r\n $scope.templateDescription = '';\r\n }\r\n\r\n\r\n \r\n\r\n \r\n\r\n function ItemsEmptyCheck() {\r\n var itemEmptyCheck = true;\r\n angular.element('ul.connectList[ui-sortable=\"sortableOptions\"]').find('li:not(\"li.placeHolder\")').each(function () {\r\n var modelScope = angular.element(this).scope().task;\r\n if (!modelScope.popid) {\r\n itemEmptyCheck = false;\r\n modelScope.itemEmptyCheck = true;\r\n }\r\n });\r\n return itemEmptyCheck;\r\n }\r\n\r\n function SortItems() {\r\n var concatedList = [];\r\n for (var step in step_withMatching_sortableList) {\r\n if (step == 'Supervisor') {\r\n concatedList = $scope[step_withMatching_sortableList[step]];\r\n } else {\r\n concatedList = concatedList.concat($scope[step_withMatching_sortableList[step]])\r\n }\r\n }\r\n\r\n for (var concatelist_index = 0; concatelist_index < concatedList.length; concatelist_index++) {\r\n for (var poplist_index = concatelist_index; poplist_index < PopupService.SectionList.length; poplist_index++) {\r\n if (concatedList[concatelist_index].popid == PopupService.SectionList[poplist_index].itemId) {\r\n var temp = PopupService.SectionList[concatelist_index];\r\n PopupService.SectionList[concatelist_index] = PopupService.SectionList[poplist_index];\r\n PopupService.SectionList[poplist_index] = temp;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n});\r\n\nangular.module('inspinia').controller('PropertyPopupController', function ($scope, $rootScope, ApiURL, $http, $compile, $timeout, $stateParams, PopupService, $sce) {\r\n var vm =this;\r\n var popuplayout = '';\r\n var elemntDetails = {};\r\n vm.itemTypeDic = PopupService.itemTypeDic;\r\n\r\n itemOptionsClickEvent();\r\n\r\n function initializeLayout(controlType) {\r\n vm.htmlForElement = \"\";\r\n switch (controlType) {\r\n case 'TextBox':\r\n vm.htmlForElement = $sce.trustAsHtml('
' +\r\n '' +\r\n '
' +\r\n '
');\r\n $compile(vm.htmlForElement)($scope);\r\n break;\r\n\r\n case 'Paragraph':\r\n vm.htmlForElement = $sce.trustAsHtml('
' +\r\n '' +\r\n '
' +\r\n '
');\r\n\r\n break;\r\n\r\n case 'Checkbox':\r\n\r\n vm.htmlForElement = $sce.trustAsHtml('
' +\r\n '' +\r\n '
' +\r\n '
' +\r\n '
');\r\n //angular.element('ul').on('click', '#addItems', function (event) {\r\n // angular.element(this).prev('div#itemAddRow').append('
');\r\n //});\r\n\r\n //angular.element('div.abc').on('click', 'input[type=\"button\"][value=\"Remove\"]', function () {\r\n // angular.element(this).parents('div[name =\"itemRowWrapper\"]').remove();\r\n //});\r\n\r\n break;\r\n\r\n case 'Dropdown':\r\n vm.htmlForElement = $sce.trustAsHtml($compile('
' +\r\n '' +\r\n '
' +\r\n '
' +\r\n '
')($scope));\r\n\r\n //angular.element('ul').on('click', '#addItems', function (event) {\r\n // angular.element(this).prev('div#itemAddRow').append('
');\r\n //});\r\n\r\n //angular.element('div.abc').on('click', 'input[type=\"button\"][value=\"Remove\"]', function () {\r\n // angular.element(this).parents('div[name =\"itemRowWrapper\"]').remove();\r\n //});\r\n\r\n break;\r\n\r\n case 'Adress':\r\n vm.htmlForElement = $sce.trustAsHtml('
' +\r\n '' +\r\n '
' +\r\n '
');\r\n\r\n break;\r\n\r\n case 'Decimal':\r\n vm.htmlForElement = $sce.trustAsHtml('
' +\r\n '' +\r\n '
' +\r\n '
');\r\n break;\r\n\r\n case 'Number':\r\n vm.htmlForElement = $sce.trustAsHtml('
' +\r\n '' +\r\n '
' +\r\n '
');\r\n\r\n break;\r\n\r\n case 'Date':\r\n vm.htmlForElement = $sce.trustAsHtml('
' +\r\n '' +\r\n '
' +\r\n '
');\r\n\r\n break;\r\n case 'Phone':\r\n vm.htmlForElement = $sce.trustAsHtml('
' +\r\n '' +\r\n '
' +\r\n '
');\r\n\r\n break;\r\n\r\n case 'Email':\r\n vm.htmlForElement = $sce.trustAsHtml('
' +\r\n '' +\r\n '
' +\r\n '
');\r\n\r\n break;\r\n\r\n case 'Video':\r\n vm.htmlForElement = $sce.trustAsHtml('
' +\r\n '' +\r\n '
' +\r\n '
');\r\n\r\n break;\r\n\r\n case 'Signature':\r\n vm.htmlForElement = $sce.trustAsHtml('
' +\r\n '' +\r\n '
' +\r\n '
');\r\n\r\n break;\r\n\r\n case 'Image':\r\n vm.htmlForElement = $sce.trustAsHtml('
' +\r\n '' +\r\n '
' +\r\n '
');\r\n\r\n break;\r\n }\r\n\r\n // $scope.$apply();\r\n }\r\n\r\n $rootScope.$on('PopupTriggered', function (evt, data) {\r\n var triggeredElement = data.element;\r\n initializeLayout(data.elemType);\r\n // angular.element(triggeredElement.target).on('show.bs.popover', function () {\r\n // var length = angular.element('.popover').length;\r\n // //console.log(length);\r\n // angular.element('.popover').each(function () {\r\n \r\n // angular.element(this).remove();\r\n // });\r\n // });\r\n\r\n // angular.element(triggeredElement.target).popover(\r\n // {\r\n // trigger: 'manual',\r\n // animation: true,\r\n // placement: 'bottom',\r\n // title: 'Edit New Field',\r\n // html: true,\r\n // content: function () {\r\n // return $compile(angular.element('#myForm').html())($scope);\r\n // }\r\n // }).popover('show');\r\n });\r\n\r\n $rootScope.$on('DeleteElement', function (event, data) {\r\n var checkeElementinList;\r\n var triggeredElement = data.element;\r\n var popupId = angular.element(triggeredElement.target).parents('div.abc').data('popid');\r\n if (angular.isDefined(popupId)) {\r\n checkeElementinList = checkArrayContainskeyValue(PopupService.SectionList, 'itemId', popupId);\r\n if (checkeElementinList.status) {\r\n PopupService.SectionList.splice(checkeElementinList.arrayIndex, 1);\r\n }\r\n }\r\n\r\n angular.element(triggeredElement.target).parents('div.abc').remove();\r\n });\r\n\r\n function checkUniqueSectionAndItem(array, section, item) {\r\n for (var i = 0; i < array.length; i++) {\r\n if ((array[i].sectionName == section) && (array[i].itemName == item)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n function checkArrayContainskeyValue(array, key, value) {\r\n var foundItemInfo = {};\r\n foundItemInfo.status = false;\r\n for (var ind = 0; ind < array.length; ind++) {\r\n if (array[ind][key] == value) {\r\n foundItemInfo.arrayIndex = ind;\r\n foundItemInfo.status = true;\r\n return foundItemInfo;\r\n }\r\n }\r\n return foundItemInfo;\r\n }\r\n\r\n // angular.element(document).on('click', '#popUpSave', function (event) {\r\n // var optionitems_conditionsCheck = true;\r\n // var elemtype = angular.element(event.target).data('elemtype');\r\n // var uniqueCheck = true;\r\n // var elementBody = angular.element(event.target).parents('#popForm');\r\n // var labelName = elementBody.find('#name').val();\r\n // var hint = elementBody.find('#hint').val();\r\n // var section = (elementBody.find('#section option:selected').text() == 'Choose Section' ? PopupService.currentStepName : elementBody.find('#section option:selected').text());\r\n // var required = elementBody.find('#required').prop('checked');\r\n // var field_options = {};\r\n // field_options.description = \"\";\r\n // var itemType = '';\r\n // switch (elemtype) {\r\n // case 'TextBox':\r\n // field_options.size = \"small\";\r\n // itemType = $scope.itemTypeDic[\"text\"];\r\n // break;\r\n // case 'Paragraph':\r\n // field_options.size = \"small\";\r\n // itemType = $scope.itemTypeDic[\"paragraph\"];\r\n // break;\r\n // case 'Checkbox':\r\n // field_options.options = [];\r\n // var labelCollection = [];\r\n // angular.element('#itemAddRow').children('div[name=\"itemRowWrapper\"]').each(function () {\r\n // var option = {};\r\n // option.label = angular.element(this).find('input[type=\"text\"]').val();\r\n // if (!option.label) {\r\n // optionitems_conditionsCheck=false;\r\n // notifyUser('Option cannot be empty', 'error');\r\n // return false;\r\n // }\r\n // if ((!angular.isUndefined(labelCollection)) && (labelCollection.length>0)) {\r\n // if ($.inArray(option.label, labelCollection)!==-1) {\r\n // optionitems_conditionsCheck = false;\r\n // notifyUser('Option name should be unique', 'error');\r\n // return false;\r\n // }\r\n // }\r\n // option.checked = angular.element(this).find('input[type=checkbox]').is(':checked');\r\n // field_options.options.push(option);\r\n // labelCollection.push(option.label);\r\n // });\r\n // itemType = $scope.itemTypeDic[\"checkboxes\"];\r\n // if (!optionitems_conditionsCheck) {\r\n // return;\r\n // }\r\n // for (var labelCount = 0; labelCount < labelCollection.length; labelCount++) {\r\n // angular.element(event.target).parents('div.abc').find('div.wiz').append('
');\r\n // }\r\n // break;\r\n\r\n // case 'Dropdown':\r\n // var labelCollection = [];\r\n // field_options.options = [];\r\n // angular.element('#itemAddRow').children('div[name=\"itemRowWrapper\"]').each(function () {\r\n // var option = {};\r\n // option.label = angular.element(this).find('input[type=\"text\"]').val();\r\n // if (!option.label) {\r\n // optionitems_conditionsCheck = false;\r\n // notifyUser('Option cannot be empty', 'error');\r\n // return false;\r\n // }\r\n // if ((!angular.isUndefined(labelCollection)) && (labelCollection.length > 0)) {\r\n // if ($.inArray(option.label, labelCollection) !== -1) {\r\n // optionitems_conditionsCheck = false;\r\n // notifyUser('Option name should be unique', 'error');\r\n // return false;\r\n // }\r\n // }\r\n // option.checked =angular.element(this).find('input[type=checkbox]').is(':checked');\r\n // field_options.options.push(option);\r\n // labelCollection.push(option.label);\r\n\r\n // });\r\n // itemType = $scope.itemTypeDic[\"dropdown\"];\r\n // if (!optionitems_conditionsCheck)\r\n // {\r\n // return;\r\n // }\r\n // for (var labelCount = 0; labelCount < labelCollection.length; labelCount++) {\r\n // angular.element(event.target).parents('div.abc').find('select').append('');\r\n // }\r\n // break;\r\n\r\n // case 'Adress':\r\n // itemType = $scope.itemTypeDic[\"address\"];\r\n // break;\r\n\r\n // case 'Decimal':\r\n // itemType = $scope.itemTypeDic[\"decimal\"];\r\n // break;\r\n\r\n // case 'Number':\r\n // itemType = $scope.itemTypeDic[\"number\"];\r\n // break;\r\n\r\n // case 'Email':\r\n // itemType = $scope.itemTypeDic[\"email\"];\r\n // break;\r\n\r\n // case 'Signature':\r\n // itemType = $scope.itemTypeDic[\"signature\"];\r\n // break;\r\n\r\n // case 'Image':\r\n // itemType = $scope.itemTypeDic[\"image\"];\r\n // break;\r\n\r\n // case 'Video':\r\n // itemType = $scope.itemTypeDic[\"video\"];\r\n // break;\r\n\r\n // case 'Date':\r\n // itemType = $scope.itemTypeDic[\"date\"];\r\n // break;\r\n\r\n // case 'Phone':\r\n // itemType = $scope.itemTypeDic[\"mobile\"];\r\n // break;\r\n \r\n // default:\r\n // alert('no data found');\r\n // break;\r\n // }\r\n // elemntDetails = { itemName: labelName, itemType: itemType, required: required, field_options: field_options, sectionName: PopupService.currentStepName, action: PopupService.currentStepName};\r\n // uniqueCheck = checkUniqueSectionAndItem(PopupService.SectionList, elemntDetails.sectionName, elemntDetails.itemName);\r\n // item_UpdateCeck = checkArrayContainskeyValue(PopupService.SectionList);\r\n // if (!labelName) {\r\n // notifyUser('Item name can not be empty', 'error');\r\n // return;\r\n // }\r\n // if (uniqueCheck) {\r\n // PopupService.popupCount += 1;\r\n // elemntDetails.itemId = PopupService.popupCount;\r\n // PopupService.SectionList.push(elemntDetails);\r\n // angular.element(event.target).parents('div.form-group').find('label[for=\"usr\"]').html(labelName);\r\n // angular.element('button.wiz2').popover('destroy');\r\n // angular.element(event.target).parents('div.abc').attr('data-popid', elemntDetails.itemId);\r\n // elemntDetails = {};\r\n // }\r\n // else {\r\n // notifyUser('Please use unique item name', 'error');\r\n // }\r\n // // $scope.$apply();\r\n // });\r\n\r\n angular.element(document).on('click', '#popUpClose', function (event) {\r\n vm.htmlForElement = '';\r\n console.log()\r\n //angular.element(event.target).parents('.popover.fade.bottom.in').prev('button.wiz2').popover('destroy');\r\n vm.htmlForElement = '';\r\n $scope.$apply();\r\n });\r\n \r\n function itemOptionsClickEvent()\r\n {\r\n angular.element('div#exTab3').on('click', '#addItems', function (event) {\r\n angular.element(this).prev('div#itemAddRow').append('
');\r\n });\r\n\r\n angular.element('div#exTab3').on('click', 'div#itemAddRow input[type=\"button\"][value=\"Remove\"]', function (event) {\r\n angular.element(this).parents('div[name =\"itemRowWrapper\"]').remove();\r\n });\r\n }\r\n\r\n});\nangular.module('inspinia').service('FormBuilderService', function (ApiURL, $http,$localStorage) {\r\n \r\n this.SaveTemplate = function (templateData, token) {\r\n var url = ApiURL + '/api/Template?reqUserId=' + $localStorage.loggedInUserId;\r\n return $http.post(url, templateData, { headers: {'Token': token,'UserId': $localStorage.loggedInUserId }});\r\n }\r\n\r\n this.getTemplateByName = function (templateName, token) {\r\n var url = ApiURL + '/api/Template'+'/'+ templateName + '/'+$localStorage.loggedInUserId+'/byName';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n // https://stag.mymobiforce.com/coreapi/api/SLAConfiguration/U1140000000001/GetAllSLAConfiguration\r\n\r\n this.getSLAConfiguration = function (loggedInUserId, token) {\r\n var url = ApiURL + '/api/SLAConfiguration/'+ loggedInUserId + '/GetAllSLAConfiguration';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n //https://115.124.122.225/coreapi/api/SkillSets/U30000000001/getmasterskills\r\n this.GetSkills = function (loggedInUserId, token) {\r\n var url = ApiURL + '/api/SkillSets/'+ loggedInUserId + '/getmasterskills';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.contains = function contains(a, obj) {\r\n var i = a.length;\r\n while (i--) {\r\n if (a[i] === obj) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\n\r\n});\r\n\nangular.module('inspinia').service('PopupService', function ()\r\n{\r\n var itemTypeDic = [];\r\n itemTypeDic[\"text\"] = 'Character FilteredTextBoxField';\r\n itemTypeDic[\"paragraph\"] = 'Bigger Textbox';\r\n itemTypeDic[\"checkboxes\"] = 'CheckBoxList DropDown Type';\r\n itemTypeDic[\"date\"] = 'Date Type';\r\n itemTypeDic[\"dropdown\"] = 'Dropdown Type';\r\n itemTypeDic[\"address\"] = 'Edit Enabled';\r\n itemTypeDic[\"mobile\"] = 'Phone Type';\r\n itemTypeDic[\"decimal\"] = 'Decimal TextBox Type';\r\n itemTypeDic[\"number\"] = 'Numeric FilteredTextBoxField';\r\n itemTypeDic[\"email\"] = 'Email';\r\n itemTypeDic[\"signature\"] = 'Signature Type';\r\n itemTypeDic[\"image\"] = 'Multiple Picture Type';\r\n itemTypeDic[\"formfieldset\"] = 'Linked Checklist Type';\r\n itemTypeDic[\"video\"] = 'Video Type';\r\n itemTypeDic[\"barcode\"]='Scan Barcode Type';\r\n itemTypeDic[\"section\"]='Section';\r\n itemTypeDic[\"instruction\"]='Instruction Type';\r\n itemTypeDic[\"siteLayout\"]='Draw Layout Type';\r\n itemTypeDic[\"attachFile\"]='File Attachment Type';\r\n\r\n return {\r\n currentStepName:'',\r\n currentPopupElement : '',\r\n SectionList: [],\r\n ActionList: {},\r\n itemTypeDic: itemTypeDic,\r\n popupCount:0\r\n };\r\n\r\n});\r\n\nangular.module('inspinia').service('employeshiftattendanceService', function (ApiURL, StaffSchedulingAPI ,SchedulingAPI, $window, $http) {\r\n\r\n var vm = this;\r\n vm.setShowSuccess = function (success) {\r\n vm.showSuccess = success;\r\n }\r\n\r\n vm.setShowFailure = function (failure) {\r\n vm.showFailure = failure;\r\n }\r\n\r\n this.GetEmployeeAttendanceShiftView = function (data, loginUserId, token) {\r\n var url = StaffSchedulingAPI + '/api/StaffShift/GetEmployeeAttendanceShiftView';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('employeshiftattendanceController', function (employeshiftattendanceService, shiftManagementService, $resource, toaster, $filter, $compile, $q, $state, $localStorage, $scope, DTOptionsBuilder, DTColumnBuilder, $uibModal, $timeout) {\r\n\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\t\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\t\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\t\temployeshiftattendanceService.setShowSuccess($scope.$parent.$parent.main.showSuccess);\r\n\t\temployeshiftattendanceService.setShowFailure($scope.$parent.$parent.main.showFailure);\r\n\t\tvm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n\t\tvm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\t\t$scope.isNavCollapsed = true;\r\n\t\t$scope.isCollapsed = true;\r\n\t\t$scope.isCollapsedHorizontal = false;\r\n\t\tvm.dtInstance = {};\r\n\t\tvm.selectSingle = false;\r\n\t\tvm.disableExceptionButton = false;\r\n\t\tvm.ticketPageListCount = 10;\r\n\t\tvm.pageListCounts = [10, 20, 30, 50];\r\n\t\tvm.scheduleExceptionListNewLength = 0;\r\n\t\tvar PageIndex = 1;\r\n\t\tvar PageSize = 10;\r\n\t\tvm.SearchByAccountName = '';\r\n\t\tvm.ExceptionType = '';\r\n\t\tvm.exceptionState = '';\r\n\t\tvm.showAllAccounts = [];\r\n\t\tvm.UserId = '';\r\n\t\t$scope.dates = { startDate: moment().subtract(0, 'days'), endDate: moment() };\r\n\t\tvar startDate = moment().subtract(0, 'days').format(\"YYYY-MM-DD\");\r\n\t\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\r\n\t\t$scope.ranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment()]\r\n\t\t};\r\n\r\n\t\t$scope.dateRangeChange = function (ev, picker) {\r\n\t\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\t};\r\n\r\n\r\n\t\tfunction generateDates(startDate, endDate) {\r\n\t\t\tvar currentDate = new Date(startDate);\r\n\t\t\tvar dates = [];\r\n\t\t\twhile (currentDate <= endDate) {\r\n\t\t\t\tvar day = currentDate.toLocaleDateString('en-IN', { weekday: 'short' });\r\n\t\t\t\tvar formattedDate = currentDate.getDate() + '-' + currentDate.toLocaleDateString('en-IN', { month: 'short' });\r\n\t\t\t\tdates.push({ day: day, date: formattedDate });\r\n\t\t\t\tcurrentDate.setDate(currentDate.getDate() + 1);\r\n\t\t\t}\r\n\t\t\treturn dates;\r\n\t\t}\r\n\r\n\r\n\t\t$scope.months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\r\n\r\n\t\tvar today = new Date();\r\n\t\t$scope.selectedYear = new Date().getFullYear();\r\n\t\t$scope.selectedMonth = $scope.months[new Date().getMonth()];\r\n\t\tvar startDate = new Date(today.getFullYear(), today.getMonth(), 16);\r\n\t\t$scope.SelectedDepartment = \"\";\r\n\t\t$scope.SelectedLocation = \"\";\r\n\t\t$scope.filteredDates = generateDates(startDate, new Date(today.getFullYear(), today.getMonth() + 1, 16));\r\n\r\n\t\t$scope.$watchGroup(['selectedYear', 'selectedMonth','SelectedDepartment','SelectedLocation'], function (newValues, oldValues) {\r\n\t\t\tvar selectedYear = newValues[0];\r\n\t\t\tvar selectedMonth = newValues[1];\r\n\t\t\tvm.newStartDate = new Date(selectedYear, $scope.months.indexOf(selectedMonth), 16);\r\n\t\t\tvm.newEndDate = new Date(selectedYear, $scope.months.indexOf(selectedMonth) + 1, 14);\r\n\t\t\t$scope.filteredDates = generateDates(vm.newStartDate, vm.newEndDate);\r\n\t\t\tvm.GetEmployeeAttendanceShiftView(moment(vm.newStartDate).format(\"YYYY-MM-DD\"), moment(vm.newEndDate).format(\"YYYY-MM-DD\"));\r\n\t\t});\r\n\r\n\t\t$scope.years = Array.from({ length: 10 }, function (_, i) {\r\n\t\t\treturn startDate.getFullYear() + i;\r\n\t\t});\r\n\r\n\r\n\t\tvm.GetEmployeeAttendanceShiftView = function (startDate, endDate) {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"LocationId\": \t$scope.SelectedLocation,\r\n\t\t\t\t\"DepartmentId\": $scope.SelectedDepartment,\r\n\t\t\t\t\"StartDate\": startDate,\r\n\t\t\t\t\"EndDate\": endDate,\r\n\t\t\t\t\"AutoSchedule\": true\r\n\t\t\t}\r\n\t\t\temployeshiftattendanceService.GetEmployeeAttendanceShiftView(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200 && resp) {\r\n\t\t\t\t\tvm.StaffList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\r\n\t\tvm.GetAllLocations = function () {\r\n\t\t\tshiftManagementService.GetAllLocations(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200 && resp) {\r\n\t\t\t\t\tvm.locationsList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tvm.GetAllLocations();\r\n\r\n\t\tvm.GetAllDepartment = function () {\r\n\t\t\tshiftManagementService.GetAllDepartment(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200 && resp) {\r\n\t\t\t\t\tvm.departmentList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t\tvm.GetAllDepartment();\r\n\r\n\t}\r\n});\nangular.module('inspinia').service('customerProfileViewService', function (ApiURL, $http, FreelancerURL, LocationURL) {\r\n\r\n this.getUserInfo = function (userId,loggedInUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerUser/' + userId +'/'+ loggedInUser+ '/'+ 'byUserIdWithJobCount' ;\r\n\t return $http.get(url,{\r\n\t headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n\t })\r\n\t}\r\n\r\n}\r\n)\r\n\nangular.module('inspinia').controller('customerProfileViewController', function ($scope, $state, $filter,MainService,TeamProfileService, OnBoardingFormService, $log, $stateParams, $localStorage, DTColumnDefBuilder, DTOptionsBuilder, ImageUrl) {\r\n var vm = this;\r\n var userId = $stateParams.userId;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n\r\n // if (!loggedinUser || !userId) {\r\n\r\n // $state.go('Login', {\r\n // reload: true\r\n // });\r\n\r\n // } else {\r\n // var loggedinUserRole = $localStorage.loggedInUser_Role;\r\n \r\n // }\r\n});\r\n\nangular.module('inspinia').service('customerProfileViewService1', function (ApiURL, $http, FreelancerURL, LocationURL) {\r\n\r\n this.getUserInfo = function (userId,loggedInUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerUser/' + userId +'/'+ loggedInUser+ '/'+ 'byUserIdWithJobCount' ;\r\n\t return $http.get(url,{\r\n\t headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n\t })\r\n\t}\r\n\r\n}\r\n)\r\n\nangular.module('inspinia').controller('customerProfileView1Controller', function ($scope, $state, $filter,MainService,TeamProfileService, OnBoardingFormService, $log, $stateParams, $localStorage,$uibModal, DTColumnDefBuilder, DTOptionsBuilder, ImageUrl) {\r\n var vm = this;\r\n var userId = $stateParams.userId;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n\r\n // if (!loggedinUser || !userId) {\r\n\r\n // $state.go('Login', {\r\n // reload: true\r\n // });\r\n\r\n // } else {\r\n // var loggedinUserRole = $localStorage.loggedInUser_Role;\r\n $scope.showOptions1 = false;\r\n $scope.showOptions2 = false;\r\n $scope.showOptions3 = false;\r\n $scope.showOptions4 = false;\r\n $scope.showOptions5 = false;\r\n $scope.showOptions6 = false;\r\n $scope.showOptions7 = false;\r\n $scope.showOptions8 = false;\r\n $scope.showOptions9 = false;\r\n $scope.showOptions10 = false;\r\n $scope.showOptions11 = false;\r\n $scope.showOptions12 = false;\r\n $scope.showOptions13 = false;\r\n $scope.showOptions14 = false;\r\n $scope.showOptions15 = false;\r\n $scope.showOptions16 = false;\r\n $scope.showOptions17 = false;\r\n $scope.showOptions18 = false;\r\n $scope.showOptions19 = false;\r\n $scope.showOptions20 = false;\r\n $scope.showOptions21 = false;\r\n $scope.showOptions22 = false;\r\n $scope.showOptions23 = false;\r\n $scope.showOptions24 = false;\r\n vm.AddAssestsModal = function () {\r\n vm.AssestsModal = $uibModal.open({\r\n templateUrl: 'addassests.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.closeAssetsModal = function () {\r\n vm.AssestsModal.close();\r\n \r\n }\r\n vm.ReallocateModal = function () {\r\n vm.reallocateModal = $uibModal.open({\r\n templateUrl: 'reallocate.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.closeReallocateModal = function () {\r\n vm.reallocateModal.close();\r\n \r\n }\r\n \r\n // }\r\n});\r\n\nangular.module('inspinia').controller('CMSMobileViewController', function ($stateParams, $localStorage, $location, $http, CMSToken, CMSAminToken, $log, $rootScope, $timeout, UIURL, ApiURL, CMSMediaUrl, PublicApiURL) {\r\n\r\n var vm = this;\r\n vm.userId= '';\r\n //var fetchUserFromUrl=urlParam('userId');\r\n var fetchUserFromUrl=$stateParams.userId;\r\nif(angular.isDefined(fetchUserFromUrl) && (!angular.equals('',fetchUserFromUrl)))\r\n {\r\n vm.userId=fetchUserFromUrl;\r\n }\r\n\r\n\r\n vm.posts = [];\r\n vm.post = null;\r\n vm.albumImages = [];\r\n vm.createdBy = null;\r\n vm.companyName = $localStorage.loggedInUser_CompanyName;\r\n vm.firstName = $localStorage.loggedInUser_FirstName;\r\n vm.lastName = $localStorage.loggedInUser_LastName;\r\n vm.role = $localStorage.loggedInUser_Role;\r\n if (vm.firstName) {\r\n vm.firstName = vm.firstName.charAt(0).toUpperCase() + vm.firstName.slice(1).toLowerCase();\r\n } if (vm.lastName) {\r\n vm.lastName = vm.lastName.charAt(0).toUpperCase() + vm.lastName.slice(1).toLowerCase();\r\n }\r\n if (vm.companyName) {\r\n vm.companyName = vm.companyName.toLowerCase;\r\n }\r\n vm.userMap = {};\r\n vm.comment = \"\";\r\n vm.searchParams = \"\";\r\n vm.UIURL = UIURL;\r\n vm.CMSMediaUrl = CMSMediaUrl;\r\n\r\n var bySearchText = PublicApiURL + \"/api/Content/{userId}/bySearchText{searchText}\";\r\n var byPostId = PublicApiURL + \"/api/Content/{userId}/{postId}/byPostId\";\r\n var byAlbumId = PublicApiURL + \"/api/Content/{userId}/{albumId}/byAlbumId\";\r\n var bySuggestionText = PublicApiURL + \"/api/Content/{userId}/{suggestionText}/bySuggestionText\";\r\n var commentByPostId = PublicApiURL + \"/api/Content/{userId}/{postId}/commentByPostId\";\r\n var addDislike = PublicApiURL + \"/api/Content/{userId}/{postId}/addDislike\";\r\n var addLike = PublicApiURL + \"/api/Content/{userId}/{postId}/addLike\";\r\n var addComment = PublicApiURL + \"/api/Content/{userId}/{postId}/{commentText}/addComment\";\r\n var getUserById = PublicApiURL + \"/api/{userId}/User\";\r\n\r\n\r\n vm.loaderFlag = false;\r\n vm.hideLoader = function () {\r\n if (vm.loaderFlag) {\r\n $rootScope.$broadcast(\"loader_hide\");\r\n $timeout(function () { vm.loaderFlag = false; }, 1000);\r\n $timeout(vm.hideLoader, 1);\r\n }\r\n }\r\n\r\n vm.hideLoader();\r\n\r\n vm.getUser = function(){\r\n return vm.userId;\r\n }\r\n\r\n vm.getCMS = function (searchText) {\r\n var url = bySearchText.replace(\"{userId}\", vm.userId).replace(\"{searchText}\", (searchText && searchText.length>0)?(\"?searchText=\"+searchText):\"\");\r\n \r\n $http.get(url)\r\n .success(function (data) {\r\n vm.posts = data.result.posts;\r\n });\r\n };\r\n\r\n vm.viewCMS = function () {\r\n vm.albumImages = [];\r\n var url = byPostId.replace(\"{userId}\", vm.userId).replace(\"{postId}\", $stateParams.postId);\r\n\r\n $http.get(url)\r\n .success(function (data) {\r\n vm.post = data.result.posts;\r\n if (vm.post.type == 1) {\r\n vm.albumImages.push({ href: vm.CMSMediaUrl+vm.post.url, thumb: vm.CMSMediaUrl+vm.post.url, title: vm.post.caption });\r\n }\r\n if (vm.post.createdBy.length > 0 && vm.userMap[vm.post.createdBy] == null) {\r\n\r\n var urlGetUserById = getUserById.replace(\"{userId}\", vm.post.createdBy);\r\n $http.get(urlGetUserById)\r\n .success(function (data) {\r\n if (data.result && data.result.length > 0) {\r\n vm.userMap[vm.post.createdBy] = data.result[0];\r\n vm.userMap[vm.post.createdBy].name = vm.userMap[vm.post.createdBy].FirstName.charAt(0).toUpperCase()\r\n + vm.userMap[vm.post.createdBy].FirstName.slice(1).toLowerCase()\r\n + \" \" + vm.userMap[vm.post.createdBy].LastName.charAt(0).toUpperCase()\r\n + vm.userMap[vm.post.createdBy].LastName.slice(1).toLowerCase();\r\n }\r\n });\r\n }\r\n });\r\n\r\n var byAlbumIdUrl = byAlbumId.replace(\"{userId}\", vm.userId).replace(\"{albumId}\", $stateParams.postId);\r\n $http.get(byAlbumIdUrl)\r\n .success(function (data) {\r\n angular.forEach(data.result.posts, function (d) {\r\n if (d.type == 1) {\r\n vm.albumImages.push({ href: vm.CMSMediaUrl+d.url, thumb: vm.CMSMediaUrl+d.url, title: d.caption });\r\n } if(d.type == 2){\r\n vm.albumImages.push({ href: vm.CMSMediaUrl+d.url, thumb: vm.CMSMediaUrl+d.url, title: d.caption });\r\n }\r\n });\r\n console.log(vm.albumImages);\r\n });\r\n };\r\n\r\n vm.getComments = function () {\r\n var url = commentByPostId.replace(\"{userId}\", vm.userId).replace(\"{postId}\", $stateParams.postId);\r\n $http.get(url)\r\n .success(function (data) {\r\n vm.comments = data.result.comments.reverse();\r\n angular.forEach(vm.comments, function (i, d) {\r\n if (d.userId.length > 0 && vm.userMap[d.userId] == null) {\r\n var urlGetUserById = getUserById.replace(\"{userId}\", d.userId);\r\n $http.get(urlGetUserById)\r\n .success(function (data) {\r\n if (data.result && data.result.length > 0) {\r\n vm.userMap[d.userId] = data.result[0];\r\n vm.userMap[d.userId].name = vm.userMap[d.userId].FirstName.charAt(0).toUpperCase()\r\n + vm.userMap[d.userId].FirstName.slice(1).toLowerCase()\r\n + \" \" + vm.userMap[d.userId].LastName.charAt(0).toUpperCase()\r\n + vm.userMap[d.userId].LastName.slice(1).toLowerCase();\r\n }\r\n });\r\n }\r\n });\r\n });\r\n }\r\n\r\n vm.saveComment = function () {\r\n var url = addComment.replace(\"{userId}\", vm.userId).replace(\"{postId}\", $stateParams.postId)\r\n .replace(\"{commentText}\", vm.comment);\r\n $http.post(url)\r\n .success(function (data) {\r\n if (data.result.success) {\r\n vm.comment = '';\r\n vm.getComments();\r\n }\r\n });\r\n }\r\n\r\n vm.getCMS('');\r\n\r\n if ($stateParams.postId != null) {\r\n vm.viewCMS();\r\n vm.getComments();\r\n }\r\n\r\n vm.oldText = \"\";\r\n vm.searchtext = \"\";\r\n vm.search = function () {\r\n if (vm.searchtext.length > 0) {\r\n var url = bySearchText.replace(\"{userId}\", vm.userId).replace(\"{searchText}\", (\"?searchText=\"+vm.searchtext));\r\n $http.get(url).success(function ($data) {\r\n //$log.log($data);\r\n vm.posts = $data.result.posts;\r\n });\r\n // }\r\n } else {\r\n var url = bySearchText.replace(\"{userId}\", vm.userId).replace(\"{searchText}\", \"\");\r\n $http.get(url).success(function ($data) {\r\n //$log.log($data);\r\n vm.posts = $data.result.posts;\r\n });\r\n }\r\n };\r\n\r\n vm.getAutoSuggestions = function (text) {\r\n var splitted = text.split(\" \");\r\n vm.loaderFlag = true;\r\n vm.hideLoader();\r\n var url = bySuggestionText.replace(\"{userId}\", vm.userId).replace(\"{suggestionText}\", splitted[splitted.length - 1]);\r\n return $http.get(url).then(function (response) {\r\n var sugg = response.data.result.data.map(function (item) {\r\n return item;\r\n });\r\n return sugg;\r\n });\r\n }\r\n\r\n vm.selectAutoSuggest = function ($item, $model, $label, $event) {\r\n //$log.log(\"$item\", $item);\r\n //$log.log(\"$model\", $model);\r\n //$log.log(\"$label\", $label);\r\n //$log.log(\"$event\", $event);\r\n //$log.log(\"vm.searchtext\", vm.searchtext);\r\n if (vm.searchtext.indexOf(\"Did you mean \") > -1) {\r\n vm.searchtext = vm.searchtext.replace(\"Did you mean \", \"\").replace(\"?\", \"\");\r\n vm.oldText = vm.oldText.substring(0, vm.oldText.lastIndexOf(\" \"));\r\n }\r\n var lastWord = vm.oldText.substring(vm.oldText.lastIndexOf(\" \") + 1);\r\n while (lastWord.length > 0 && vm.searchtext.toLowerCase().indexOf(lastWord.toLowerCase()) !== -1) {\r\n vm.oldText = vm.oldText.substring(0, vm.oldText.lastIndexOf(\" \"));\r\n lastWord = vm.oldText.substring(vm.oldText.lastIndexOf(\" \") + 1);\r\n }\r\n if (vm.oldText.length > 0) {\r\n vm.oldText += \" \";\r\n }\r\n vm.oldText = vm.oldText + vm.searchtext;\r\n vm.searchtext = vm.oldText;\r\n }\r\n\r\n vm.searchtextChange = function () {\r\n vm.oldText = vm.searchtext;\r\n }\r\n\r\n vm.keyupCalled = function () {\r\n console.log(1);\r\n }\r\n\r\n function urlParam(name){\r\n var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);\r\n if(!angular.equals(null,results))\r\n {\r\n return results[1] || 0;\r\n }\r\n }\r\n\r\n});\nangular.module('inspinia').controller('CMSMobileDirectViewController', function ($stateParams, $localStorage, $location, $http, CMSToken, CMSAminToken, $log, $rootScope, $timeout, UIURL, ApiURL, CMSMediaUrl, PublicApiURL) {\r\n\r\n var vm = this;\r\n vm.userId= '';\r\n //var fetchUserFromUrl=urlParam('userId');\r\n var fetchUserFromUrl=$stateParams.userId;\r\nif(angular.isDefined(fetchUserFromUrl) && (!angular.equals('',fetchUserFromUrl)))\r\n {\r\n vm.userId=fetchUserFromUrl;\r\n }\r\n\r\n\r\n vm.posts = [];\r\n vm.post = null;\r\n vm.albumImages = [];\r\n vm.createdBy = null;\r\n vm.companyName = $localStorage.loggedInUser_CompanyName;\r\n vm.firstName = $localStorage.loggedInUser_FirstName;\r\n vm.lastName = $localStorage.loggedInUser_LastName;\r\n vm.role = $localStorage.loggedInUser_Role;\r\n if (vm.firstName) {\r\n vm.firstName = vm.firstName.charAt(0).toUpperCase() + vm.firstName.slice(1).toLowerCase();\r\n } if (vm.lastName) {\r\n vm.lastName = vm.lastName.charAt(0).toUpperCase() + vm.lastName.slice(1).toLowerCase();\r\n }\r\n if (vm.companyName) {\r\n vm.companyName = vm.companyName.toLowerCase;\r\n }\r\n vm.userMap = {};\r\n vm.comment = \"\";\r\n vm.searchParams = \"\";\r\n vm.UIURL = UIURL;\r\n vm.CMSMediaUrl = CMSMediaUrl;\r\n\r\n var bySearchText = PublicApiURL + \"/api/Content/{userId}/byExactSearchText{searchText}\";\r\n var byPostId = PublicApiURL + \"/api/Content/{userId}/{postId}/byPostId\";\r\n var byAlbumId = PublicApiURL + \"/api/Content/{userId}/{albumId}/byAlbumId\";\r\n var bySuggestionText = PublicApiURL + \"/api/Content/{userId}/{suggestionText}/bySuggestionText\";\r\n var commentByPostId = PublicApiURL + \"/api/Content/{userId}/{postId}/commentByPostId\";\r\n var addDislike = PublicApiURL + \"/api/Content/{userId}/{postId}/addDislike\";\r\n var addLike = PublicApiURL + \"/api/Content/{userId}/{postId}/addLike\";\r\n var addComment = PublicApiURL + \"/api/Content/{userId}/{postId}/{commentText}/addComment\";\r\n var getUserById = PublicApiURL + \"/api/{userId}/User\";\r\n\r\n\r\n vm.loaderFlag = false;\r\n vm.hideLoader = function () {\r\n if (vm.loaderFlag) {\r\n $rootScope.$broadcast(\"loader_hide\");\r\n $timeout(function () { vm.loaderFlag = false; }, 1000);\r\n $timeout(vm.hideLoader, 1);\r\n }\r\n }\r\n\r\n vm.hideLoader();\r\n\r\n vm.getUser = function(){\r\n return vm.userId;\r\n }\r\n\r\n vm.getCMS = function (searchText) {\r\n var url = bySearchText.replace(\"{userId}\", vm.userId).replace(\"{searchText}\", (searchText && searchText.length>0)?(\"?searchText=\"+searchText):\"\");\r\n \r\n $http.get(url)\r\n .success(function (data) {\r\n vm.posts = data.result.posts;\r\n });\r\n };\r\n\r\n vm.viewCMS = function () {\r\n vm.albumImages = [];\r\n var url = bySearchText.replace(\"{userId}\", vm.userId).replace(\"{searchText}\", ($stateParams.keyword && $stateParams.keyword.length>0)?(\"?searchText=\"+$stateParams.keyword):\"\");\r\n\r\n $http.get(url)\r\n .success(function (data) {\r\n if(data && data.result && data.result.posts && data.result.posts.length>0){\r\n vm.post = data.result.posts[0];\r\n if (vm.post.type == 1) {\r\n vm.albumImages.push({ href: vm.CMSMediaUrl+vm.post.url, thumb: vm.CMSMediaUrl+vm.post.url, title: vm.post.caption });\r\n }\r\n } \r\n });\r\n\r\n var byAlbumIdUrl = byAlbumId.replace(\"{userId}\", vm.userId).replace(\"{albumId}\", $stateParams.postId);\r\n $http.get(byAlbumIdUrl)\r\n .success(function (data) {\r\n angular.forEach(data.result.posts, function (d) {\r\n if (d.type == 1) {\r\n vm.albumImages.push({ href: vm.CMSMediaUrl+d.url, thumb: vm.CMSMediaUrl+d.url, title: d.caption });\r\n } if(d.type == 2){\r\n vm.albumImages.push({ href: vm.CMSMediaUrl+d.url, thumb: vm.CMSMediaUrl+d.url, title: d.caption });\r\n }\r\n });\r\n console.log(vm.albumImages);\r\n });\r\n };\r\n\r\n vm.getComments = function () {\r\n var url = commentByPostId.replace(\"{userId}\", vm.userId).replace(\"{postId}\", $stateParams.postId);\r\n $http.get(url)\r\n .success(function (data) {\r\n vm.comments = data.result.comments.reverse();\r\n angular.forEach(vm.comments, function (i, d) {\r\n if (d.userId.length > 0 && vm.userMap[d.userId] == null) {\r\n var urlGetUserById = getUserById.replace(\"{userId}\", d.userId);\r\n $http.get(urlGetUserById)\r\n .success(function (data) {\r\n if (data.result && data.result.length > 0) {\r\n vm.userMap[d.userId] = data.result[0];\r\n vm.userMap[d.userId].name = vm.userMap[d.userId].FirstName.charAt(0).toUpperCase()\r\n + vm.userMap[d.userId].FirstName.slice(1).toLowerCase()\r\n + \" \" + vm.userMap[d.userId].LastName.charAt(0).toUpperCase()\r\n + vm.userMap[d.userId].LastName.slice(1).toLowerCase();\r\n }\r\n });\r\n }\r\n });\r\n });\r\n }\r\n\r\n vm.saveComment = function () {\r\n var url = addComment.replace(\"{userId}\", vm.userId).replace(\"{postId}\", $stateParams.postId)\r\n .replace(\"{commentText}\", vm.comment);\r\n $http.post(url)\r\n .success(function (data) {\r\n if (data.result.success) {\r\n vm.comment = '';\r\n vm.getComments();\r\n }\r\n });\r\n }\r\n\r\n // vm.getCMS('');\r\n\r\n if ($stateParams.keyword != null) {\r\n vm.viewCMS();\r\n // vm.getComments();\r\n }\r\n\r\n vm.oldText = \"\";\r\n vm.searchtext = \"\";\r\n vm.search = function () {\r\n if (vm.searchtext.length > 0) {\r\n var url = bySearchText.replace(\"{userId}\", vm.userId).replace(\"{searchText}\", (\"?searchText=\"+vm.searchtext));\r\n $http.get(url).success(function ($data) {\r\n //$log.log($data);\r\n vm.posts = $data.result.posts;\r\n });\r\n // }\r\n } else {\r\n var url = bySearchText.replace(\"{userId}\", vm.userId).replace(\"{searchText}\", \"\");\r\n $http.get(url).success(function ($data) {\r\n //$log.log($data);\r\n vm.posts = $data.result.posts;\r\n });\r\n }\r\n };\r\n\r\n vm.getAutoSuggestions = function (text) {\r\n var splitted = text.split(\" \");\r\n vm.loaderFlag = true;\r\n vm.hideLoader();\r\n var url = bySuggestionText.replace(\"{userId}\", vm.userId).replace(\"{suggestionText}\", splitted[splitted.length - 1]);\r\n return $http.get(url).then(function (response) {\r\n var sugg = response.data.result.data.map(function (item) {\r\n return item;\r\n });\r\n return sugg;\r\n });\r\n }\r\n\r\n vm.selectAutoSuggest = function ($item, $model, $label, $event) {\r\n //$log.log(\"$item\", $item);\r\n //$log.log(\"$model\", $model);\r\n //$log.log(\"$label\", $label);\r\n //$log.log(\"$event\", $event);\r\n //$log.log(\"vm.searchtext\", vm.searchtext);\r\n if (vm.searchtext.indexOf(\"Did you mean \") > -1) {\r\n vm.searchtext = vm.searchtext.replace(\"Did you mean \", \"\").replace(\"?\", \"\");\r\n vm.oldText = vm.oldText.substring(0, vm.oldText.lastIndexOf(\" \"));\r\n }\r\n var lastWord = vm.oldText.substring(vm.oldText.lastIndexOf(\" \") + 1);\r\n while (lastWord.length > 0 && vm.searchtext.toLowerCase().indexOf(lastWord.toLowerCase()) !== -1) {\r\n vm.oldText = vm.oldText.substring(0, vm.oldText.lastIndexOf(\" \"));\r\n lastWord = vm.oldText.substring(vm.oldText.lastIndexOf(\" \") + 1);\r\n }\r\n if (vm.oldText.length > 0) {\r\n vm.oldText += \" \";\r\n }\r\n vm.oldText = vm.oldText + vm.searchtext;\r\n vm.searchtext = vm.oldText;\r\n }\r\n\r\n vm.searchtextChange = function () {\r\n vm.oldText = vm.searchtext;\r\n }\r\n\r\n vm.keyupCalled = function () {\r\n console.log(1);\r\n }\r\n\r\n function urlParam(name){\r\n var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);\r\n if(!angular.equals(null,results))\r\n {\r\n return results[1] || 0;\r\n }\r\n }\r\n\r\n});\nangular.module('inspinia').controller('CMSMobileController', function ($stateParams, $localStorage, $location, $http, CMSToken, CMSAminToken, $log, $rootScope, $timeout, UIURL, ApiURL, CMSMediaUrl, PublicApiURL) {\r\n\r\n var vm = this;\r\n vm.userId= '';\r\n //var fetchUserFromUrl=urlParam('user');\r\n var fetchUserFromUrl=$stateParams.userId;\r\n if(angular.isDefined(fetchUserFromUrl) && (!angular.equals('',fetchUserFromUrl)))\r\n {\r\n vm.userId=fetchUserFromUrl;\r\n }\r\n \r\n\r\n vm.posts = [];\r\n vm.post = null;\r\n vm.albumImages = [];\r\n vm.createdBy = null;\r\n vm.companyName = $localStorage.loggedInUser_CompanyName;\r\n vm.firstName = $localStorage.loggedInUser_FirstName;\r\n vm.lastName = $localStorage.loggedInUser_LastName;\r\n vm.role = $localStorage.loggedInUser_Role;\r\n if (vm.firstName) {\r\n vm.firstName = vm.firstName.charAt(0).toUpperCase() + vm.firstName.slice(1).toLowerCase();\r\n } if (vm.lastName) {\r\n vm.lastName = vm.lastName.charAt(0).toUpperCase() + vm.lastName.slice(1).toLowerCase();\r\n }\r\n if (vm.companyName) {\r\n vm.companyName = vm.companyName.toLowerCase;\r\n }\r\n vm.userMap = {};\r\n vm.comment = \"\";\r\n vm.searchParams = \"\";\r\n vm.UIURL = UIURL;\r\n vm.CMSMediaUrl = CMSMediaUrl;\r\n\r\n var bySearchText = PublicApiURL + \"/api/Content/{userId}/bySearchText{searchText}\";\r\n var byPostId = PublicApiURL + \"/api/Content/{userId}/{postId}/byPostId\";\r\n var byAlbumId = PublicApiURL + \"/api/Content/{userId}/{albumId}/byAlbumId\";\r\n var bySuggestionText = PublicApiURL + \"/api/Content/{userId}/{suggestionText}/bySuggestionText\";\r\n var commentByPostId = PublicApiURL + \"/api/Content/{userId}/{postId}/commentByPostId\";\r\n var addDislike = PublicApiURL + \"/api/Content/{userId}/{postId}/addDislike\";\r\n var addLike = PublicApiURL + \"/api/Content/{userId}/{postId}/addLike\";\r\n var addComment = PublicApiURL + \"/api/Content/{userId}/{postId}/{commentText}/addComment\";\r\n var getUserById = PublicApiURL + \"/api/{userId}/User\";\r\n\r\n\r\n vm.loaderFlag = false;\r\n vm.hideLoader = function () {\r\n if (vm.loaderFlag) {\r\n $rootScope.$broadcast(\"loader_hide\");\r\n $timeout(function () { vm.loaderFlag = false; }, 1000);\r\n $timeout(vm.hideLoader, 1);\r\n }\r\n }\r\n\r\n vm.hideLoader();\r\n\r\n vm.getUser = function(){\r\n return vm.userId;\r\n }\r\n\r\n vm.getCMS = function (searchText) {\r\n var url = bySearchText.replace(\"{userId}\", vm.userId).replace(\"{searchText}\", (searchText && searchText.length>0)?(\"?searchText=\"+searchText):\"\");\r\n \r\n $http.get(url)\r\n .success(function (data) {\r\n vm.posts = data.result.posts;\r\n });\r\n };\r\n\r\n vm.viewCMS = function () {\r\n vm.albumImages = [];\r\n var url = byPostId.replace(\"{userId}\", vm.userId).replace(\"{postId}\", $stateParams.postId);\r\n\r\n $http.get(url)\r\n .success(function (data) {\r\n vm.post = data.result.posts;\r\n if (vm.post.type == 1) {\r\n vm.albumImages.push({ href: vm.CMSMediaUrl+vm.post.url, thumb: vm.CMSMediaUrl+vm.post.url, title: vm.post.caption });\r\n }\r\n if (vm.post.createdBy.length > 0 && vm.userMap[vm.post.createdBy] == null) {\r\n\r\n var urlGetUserById = getUserById.replace(\"{userId}\", vm.post.createdBy);\r\n $http.get(urlGetUserById)\r\n .success(function (data) {\r\n if (data.result && data.result.length > 0) {\r\n vm.userMap[vm.post.createdBy] = data.result[0];\r\n vm.userMap[vm.post.createdBy].name = vm.userMap[vm.post.createdBy].FirstName.charAt(0).toUpperCase()\r\n + vm.userMap[vm.post.createdBy].FirstName.slice(1).toLowerCase()\r\n + \" \" + vm.userMap[vm.post.createdBy].LastName.charAt(0).toUpperCase()\r\n + vm.userMap[vm.post.createdBy].LastName.slice(1).toLowerCase();\r\n }\r\n });\r\n }\r\n });\r\n\r\n var byAlbumIdUrl = byAlbumId.replace(\"{userId}\", vm.userId).replace(\"{albumId}\", $stateParams.postId);\r\n $http.get(byAlbumIdUrl)\r\n .success(function (data) {\r\n angular.forEach(data.result.posts, function (d) {\r\n if (d.type == 1) {\r\n vm.albumImages.push({ href: vm.CMSMediaUrl+d.url, thumb: vm.CMSMediaUrl+d.url, title: d.caption });\r\n } if(d.type == 2){\r\n vm.albumImages.push({ href: vm.CMSMediaUrl+d.url, thumb: vm.CMSMediaUrl+d.url, title: d.caption });\r\n }\r\n });\r\n console.log(vm.albumImages);\r\n });\r\n };\r\n\r\n vm.getComments = function () {\r\n var url = commentByPostId.replace(\"{userId}\", vm.userId).replace(\"{postId}\", $stateParams.postId);\r\n $http.get(url)\r\n .success(function (data) {\r\n vm.comments = data.result.comments.reverse();\r\n angular.forEach(vm.comments, function (i, d) {\r\n if (d.userId.length > 0 && vm.userMap[d.userId] == null) {\r\n var urlGetUserById = getUserById.replace(\"{userId}\", d.userId);\r\n $http.get(urlGetUserById)\r\n .success(function (data) {\r\n if (data.result && data.result.length > 0) {\r\n vm.userMap[d.userId] = data.result[0];\r\n vm.userMap[d.userId].name = vm.userMap[d.userId].FirstName.charAt(0).toUpperCase()\r\n + vm.userMap[d.userId].FirstName.slice(1).toLowerCase()\r\n + \" \" + vm.userMap[d.userId].LastName.charAt(0).toUpperCase()\r\n + vm.userMap[d.userId].LastName.slice(1).toLowerCase();\r\n }\r\n });\r\n }\r\n });\r\n });\r\n }\r\n\r\n vm.saveComment = function () {\r\n var url = addComment.replace(\"{userId}\", vm.userId).replace(\"{postId}\", $stateParams.postId)\r\n .replace(\"{commentText}\", vm.comment);\r\n $http.post(url)\r\n .success(function (data) {\r\n if (data.result.success) {\r\n vm.comment = '';\r\n vm.getComments();\r\n }\r\n });\r\n }\r\n\r\n vm.getCMS('');\r\n\r\n if ($stateParams.postId != null) {\r\n vm.viewCMS();\r\n vm.getComments();\r\n }\r\n\r\n vm.oldText = \"\";\r\n vm.searchtext = \"\";\r\n vm.search = function () {\r\n if (vm.searchtext.length > 0) {\r\n var url = bySearchText.replace(\"{userId}\", vm.userId).replace(\"{searchText}\", (\"?searchText=\"+vm.searchtext));\r\n $http.get(url).success(function ($data) {\r\n //$log.log($data);\r\n vm.posts = $data.result.posts;\r\n });\r\n // }\r\n } else {\r\n var url = bySearchText.replace(\"{userId}\", vm.userId).replace(\"{searchText}\", \"\");\r\n $http.get(url).success(function ($data) {\r\n //$log.log($data);\r\n vm.posts = $data.result.posts;\r\n });\r\n }\r\n };\r\n\r\n vm.getAutoSuggestions = function (text) {\r\n var splitted = text.split(\" \");\r\n vm.loaderFlag = true;\r\n vm.hideLoader();\r\n var url = bySuggestionText.replace(\"{userId}\", vm.userId).replace(\"{suggestionText}\", splitted[splitted.length - 1]);\r\n return $http.get(url).then(function (response) {\r\n var sugg = response.data.result.data.map(function (item) {\r\n return item;\r\n });\r\n return sugg;\r\n });\r\n }\r\n\r\n vm.selectAutoSuggest = function ($item, $model, $label, $event) {\r\n //$log.log(\"$item\", $item);\r\n //$log.log(\"$model\", $model);\r\n //$log.log(\"$label\", $label);\r\n //$log.log(\"$event\", $event);\r\n //$log.log(\"vm.searchtext\", vm.searchtext);\r\n if (vm.searchtext.indexOf(\"Did you mean \") > -1) {\r\n vm.searchtext = vm.searchtext.replace(\"Did you mean \", \"\").replace(\"?\", \"\");\r\n vm.oldText = vm.oldText.substring(0, vm.oldText.lastIndexOf(\" \"));\r\n }\r\n var lastWord = vm.oldText.substring(vm.oldText.lastIndexOf(\" \") + 1);\r\n while (lastWord.length > 0 && vm.searchtext.toLowerCase().indexOf(lastWord.toLowerCase()) !== -1) {\r\n vm.oldText = vm.oldText.substring(0, vm.oldText.lastIndexOf(\" \"));\r\n lastWord = vm.oldText.substring(vm.oldText.lastIndexOf(\" \") + 1);\r\n }\r\n if (vm.oldText.length > 0) {\r\n vm.oldText += \" \";\r\n }\r\n vm.oldText = vm.oldText + vm.searchtext;\r\n vm.searchtext = vm.oldText;\r\n }\r\n\r\n vm.searchtextChange = function () {\r\n vm.oldText = vm.searchtext;\r\n }\r\n\r\n vm.keyupCalled = function () {\r\n console.log(1);\r\n }\r\n\r\n function urlParam(name){\r\n var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);\r\n if(!angular.equals(null,results))\r\n {\r\n return results[1] || 0;\r\n }\r\n }\r\n\r\n});\nangular.module('inspinia').controller('CMSController', function ($stateParams, $localStorage, $location, $http, CMSToken, CMSAminToken, $log, $rootScope, $timeout, UIURL, ApiURL, CMSMediaUrl) {\r\n\r\n var vm = this;\r\n vm.userId= '';\r\n var fetchUserFromUrl=urlParam('user');\r\n // var fetchUserFromUrl=$stateParams.user;\r\nif(angular.isDefined(fetchUserFromUrl) && (!angular.equals('',fetchUserFromUrl)))\r\n {\r\n vm.userId=fetchUserFromUrl;\r\n }\r\nelse\r\n {\r\n vm.userId = $localStorage.loggedInUserId;\r\n }\r\n\r\n var token = $localStorage.token;\r\n\r\n vm.posts = [];\r\n vm.post = null;\r\n vm.albumImages = [];\r\n vm.createdBy = null;\r\n // bulkuploadService.bulkuploadType = \"cms\";\r\n vm.companyName = $localStorage.loggedInUser_CompanyName;\r\n vm.firstName = $localStorage.loggedInUser_FirstName;\r\n vm.lastName = $localStorage.loggedInUser_LastName;\r\n vm.role = $localStorage.loggedInUser_Role;\r\n if (vm.firstName) {\r\n vm.firstName = vm.firstName.charAt(0).toUpperCase() + vm.firstName.slice(1).toLowerCase();\r\n } if (vm.lastName) {\r\n vm.lastName = vm.lastName.charAt(0).toUpperCase() + vm.lastName.slice(1).toLowerCase();\r\n }\r\n if (vm.companyName) {\r\n vm.companyName = vm.companyName.toLowerCase;\r\n }\r\n vm.userMap = {};\r\n vm.comment = \"\";\r\n vm.searchParams = \"\";\r\n vm.UIURL = UIURL;\r\n vm.CMSMediaUrl = CMSMediaUrl;\r\n\r\n var bySearchText = ApiURL + \"/api/Content/{userId}/bySearchText{searchText}\";\r\n var byPostId = ApiURL + \"/api/Content/{userId}/{postId}/byPostId\";\r\n var byAlbumId = ApiURL + \"/api/Content/{userId}/{albumId}/byAlbumId\";\r\n var bySuggestionText = ApiURL + \"/api/Content/{userId}/{suggestionText}/bySuggestionText\";\r\n var commentByPostId = ApiURL + \"/api/Content/{userId}/{postId}/commentByPostId\";\r\n var addDislike = ApiURL + \"/api/Content/{userId}/{postId}/addDislike\";\r\n var addLike = ApiURL + \"/api/Content/{userId}/{postId}/addLike\";\r\n var addComment = ApiURL + \"/api/Content/{userId}/{postId}/{commentText}/addComment\";\r\n var getUserById = ApiURL + \"/api/{userId}/User\";\r\n\r\n if (!vm.userId) {\r\n $location.path('/Login');\r\n }\r\n\r\n vm.loaderFlag = false;\r\n vm.hideLoader = function () {\r\n if (vm.loaderFlag) {\r\n $rootScope.$broadcast(\"loader_hide\");\r\n $timeout(function () { vm.loaderFlag = false; }, 1000);\r\n $timeout(vm.hideLoader, 1);\r\n }\r\n }\r\n\r\n vm.hideLoader();\r\n\r\n vm.getCMS = function (searchText) {\r\n var url = bySearchText.replace(\"{userId}\", vm.userId).replace(\"{searchText}\", (searchText && searchText.length>0)?(\"?searchText=\"+searchText):\"\");\r\n \r\n $http.get(url, {\r\n headers: {'Token': token}\r\n })\r\n .success(function (data) {\r\n if(data && data.result && data.result.posts){\r\n vm.posts = data.result.posts; \r\n }\r\n });\r\n };\r\n\r\n vm.viewCMS = function () {\r\n vm.albumImages = [];\r\n var url = byPostId.replace(\"{userId}\", vm.userId).replace(\"{postId}\", $stateParams.postId);\r\n\r\n $http.get(url, {\r\n headers:{'Token': token}\r\n })\r\n .success(function (data) {\r\n vm.post = data.result.posts;\r\n if (vm.post.type == 1) {\r\n vm.albumImages.push({ href: vm.CMSMediaUrl+vm.post.url, thumb: vm.CMSMediaUrl+vm.post.url, title: vm.post.caption });\r\n }\r\n if (vm.post.createdBy.length > 0 && vm.userMap[vm.post.createdBy] == null) {\r\n\r\n var urlGetUserById = getUserById.replace(\"{userId}\", vm.post.createdBy);\r\n $http.get(urlGetUserById, {\r\n headers:{'Token': token}\r\n })\r\n .success(function (data) {\r\n if (data.result && data.result.length > 0) {\r\n vm.userMap[vm.post.createdBy] = data.result[0];\r\n vm.userMap[vm.post.createdBy].name = vm.userMap[vm.post.createdBy].FirstName.charAt(0).toUpperCase()\r\n + vm.userMap[vm.post.createdBy].FirstName.slice(1).toLowerCase()\r\n + \" \" + vm.userMap[vm.post.createdBy].LastName.charAt(0).toUpperCase()\r\n + vm.userMap[vm.post.createdBy].LastName.slice(1).toLowerCase();\r\n }\r\n });\r\n }\r\n });\r\n\r\n var byAlbumIdUrl = byAlbumId.replace(\"{userId}\", vm.userId).replace(\"{albumId}\", $stateParams.postId);\r\n $http.get(byAlbumIdUrl, { headers: {'Token': token}})\r\n .success(function (data) {\r\n angular.forEach(data.result.posts, function (d) {\r\n if (d.type == 1) {\r\n vm.albumImages.push({ href: vm.CMSMediaUrl+d.url, thumb: vm.CMSMediaUrl+d.url, title: d.caption });\r\n } if(d.type == 2){\r\n vm.albumImages.push({ href: vm.CMSMediaUrl+d.url, thumb: vm.CMSMediaUrl+d.url, title: d.caption });\r\n }\r\n });\r\n console.log(vm.albumImages);\r\n });\r\n };\r\n\r\n vm.getComments = function () {\r\n var url = commentByPostId.replace(\"{userId}\", vm.userId).replace(\"{postId}\", $stateParams.postId);\r\n $http.get(url, {headers: {'Token': token}})\r\n .success(function (data) {\r\n vm.comments = data.result.comments.reverse();\r\n angular.forEach(vm.comments, function (i, d) {\r\n if (d.userId.length > 0 && vm.userMap[d.userId] == null) {\r\n var urlGetUserById = getUserById.replace(\"{userId}\", d.userId);\r\n $http.get(urlGetUserById, {headers: {'Token': token}})\r\n .success(function (data) {\r\n if (data.result && data.result.length > 0) {\r\n vm.userMap[d.userId] = data.result[0];\r\n vm.userMap[d.userId].name = vm.userMap[d.userId].FirstName.charAt(0).toUpperCase()\r\n + vm.userMap[d.userId].FirstName.slice(1).toLowerCase()\r\n + \" \" + vm.userMap[d.userId].LastName.charAt(0).toUpperCase()\r\n + vm.userMap[d.userId].LastName.slice(1).toLowerCase();\r\n }\r\n });\r\n }\r\n });\r\n });\r\n }\r\n\r\n vm.saveComment = function () {\r\n var url = addComment.replace(\"{userId}\", vm.userId).replace(\"{postId}\", $stateParams.postId)\r\n .replace(\"{commentText}\", vm.comment);\r\n $http.post(url, {headers: {'Token':token}})\r\n .success(function (data) {\r\n if (data.result.success) {\r\n vm.comment = '';\r\n vm.getComments();\r\n }\r\n });\r\n }\r\n\r\n vm.getCMS('');\r\n\r\n if ($stateParams.postId != null) {\r\n vm.viewCMS();\r\n vm.getComments();\r\n }\r\n\r\n vm.oldText = \"\";\r\n vm.searchtext = \"\";\r\n vm.search = function () {\r\n if (vm.searchtext.length > 0) {\r\n var url = bySearchText.replace(\"{userId}\", vm.userId).replace(\"{searchText}\", (\"?searchText=\"+vm.searchtext));\r\n $http.get(url, {headers: {'Token': token}}).success(function ($data) {\r\n //$log.log($data);\r\n vm.posts = $data.result.posts;\r\n });\r\n // }\r\n } else {\r\n var url = bySearchText.replace(\"{userId}\", vm.userId).replace(\"{searchText}\", \"\");\r\n $http.get(url, {headers: {'Token': token}}).success(function ($data) {\r\n //$log.log($data);\r\n vm.posts = $data.result.posts;\r\n });\r\n }\r\n };\r\n\r\n vm.getAutoSuggestions = function (text) {\r\n var splitted = text.split(\" \");\r\n vm.loaderFlag = true;\r\n vm.hideLoader();\r\n var url = bySuggestionText.replace(\"{userId}\", vm.userId).replace(\"{suggestionText}\", splitted[splitted.length - 1]);\r\n return $http.get(url, {headers:{'Token':token}}).then(function (response) {\r\n var sugg = response.data.result.data.map(function (item) {\r\n return item;\r\n });\r\n return sugg;\r\n });\r\n }\r\n\r\n vm.selectAutoSuggest = function ($item, $model, $label, $event) {\r\n //$log.log(\"$item\", $item);\r\n //$log.log(\"$model\", $model);\r\n //$log.log(\"$label\", $label);\r\n //$log.log(\"$event\", $event);\r\n //$log.log(\"vm.searchtext\", vm.searchtext);\r\n if (vm.searchtext.indexOf(\"Did you mean \") > -1) {\r\n vm.searchtext = vm.searchtext.replace(\"Did you mean \", \"\").replace(\"?\", \"\");\r\n vm.oldText = vm.oldText.substring(0, vm.oldText.lastIndexOf(\" \"));\r\n }\r\n var lastWord = vm.oldText.substring(vm.oldText.lastIndexOf(\" \") + 1);\r\n while (lastWord.length > 0 && vm.searchtext.toLowerCase().indexOf(lastWord.toLowerCase()) !== -1) {\r\n vm.oldText = vm.oldText.substring(0, vm.oldText.lastIndexOf(\" \"));\r\n lastWord = vm.oldText.substring(vm.oldText.lastIndexOf(\" \") + 1);\r\n }\r\n if (vm.oldText.length > 0) {\r\n vm.oldText += \" \";\r\n }\r\n vm.oldText = vm.oldText + vm.searchtext;\r\n vm.searchtext = vm.oldText;\r\n }\r\n\r\n vm.searchtextChange = function () {\r\n vm.oldText = vm.searchtext;\r\n }\r\n\r\n vm.keyupCalled = function () {\r\n console.log(1);\r\n }\r\n\r\n function urlParam(name){\r\n var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);\r\n if(!angular.equals(null,results))\r\n {\r\n return results[1] || 0;\r\n }\r\n }\r\n\r\n});\nangular.module('inspinia').controller('BulkUploadShiftMappingController', function ($stateParams, toaster, \r\n $http, DTOptionsBuilder, $localStorage, $location, $timeout, DTColumnDefBuilder, $rootScope, $log, \r\n ngProgressFactory, $q, $anchorScroll, ApiURL,StaffSchedulingAPI, CMSToken, CMSURL, CMSAminToken) {\r\n var vm = this;\r\n vm.userId = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n vm.showErrors = false;\r\n vm.showSuccess = false;\r\n vm.errorList = [];\r\n vm.disableUploadButton = true;\r\n vm.Freelancers = [];\r\n vm.Errors = [];\r\n vm.progressbar = ngProgressFactory.createInstance();\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noMsg = [];\r\n vm.noOfRecords = 0;\r\n vm.file = null;\r\n\r\n var verifyBulkPost = ApiURL+\"/api/BulkUpload/MediaUpload?reqUserId={userId}&action=Create\";\r\n var addBulkPost = StaffSchedulingAPI+\"/api/StaffShift/BulkUploadPublishShiftToUser\";\r\n\r\n if (!vm.userId) {\r\n $location.path('/Login');\r\n }\r\n\r\n vm.dzOptions = {\r\n paramName: 'photo',\r\n maxFilesize: '100',\r\n url: '/',\r\n acceptedFiles: '.xlsx, .xls',\r\n dictDefaultMessage: 'Click to add or drop files',\r\n dictRemoveFile: 'Remove'\r\n };\r\n\r\n vm.dtOptions = DTOptionsBuilder.newOptions().withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withButtons([])\r\n .withDisplayLength(5).withOption('lengthMenu', [5, 10, 15, 20])\r\n .withOption('order', []);\r\n\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable()\r\n ];\r\n\r\n vm.dtColumnDefs1 = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable()\r\n ];\r\n\r\n vm.dtColumnDefs2 = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable()\r\n ];\r\n\r\n vm.loaderFlag = false;\r\n vm.hideLoader = function () {\r\n if (vm.loaderFlag) {\r\n $rootScope.$broadcast(\"loader_hide\");\r\n $timeout(function () { vm.loaderFlag = false; }, 1000);\r\n $timeout(vm.hideLoader, 1);\r\n }\r\n }\r\n\r\n vm.scrollDwn = function () {\r\n $(\"html, body\").animate({ scrollTop: $(document).height() - $(window).height() }, 900);\r\n // $location.hash('error_datatable');\r\n // $anchorScroll();\r\n }\r\n\r\n vm.dzCallbacks = {\r\n 'addedfile': function (file) {\r\n vm.showErrors = false;\r\n vm.errorList = [];\r\n vm.disableUploadButton = true;\r\n vm.users = [];\r\n vm.customers = [];\r\n vm.tickets = [];\r\n vm.cms = [];\r\n $(\"#dropzone1 .dz-progress .dz-upload\").hide();\r\n $(\".bulkupload-progress\").width(0);\r\n $(\".ajax-loader\").hide();\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n vm.showSuccess = false;\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noOfRecords = 0;\r\n\r\n var dropzoneChildren = $(\"#dropzone1\").children();\r\n $(\"#dropzone1\").empty();\r\n $(\"#dropzone1\").append(dropzoneChildren[0]);\r\n $(\"#dropzone1\").append(dropzoneChildren[dropzoneChildren.length - 1]);\r\n\r\n vm.loaderFlag = true;\r\n vm.hideLoader();\r\n vm.file = file;\r\n\r\n var fd = new FormData();\r\n fd.append('file', file);\r\n var url = verifyBulkPost.replace(\"{userId}\", vm.userId);\r\n $http.post(url, fd, {\r\n transformRequest: angular.identity,\r\n headers: { 'Content-Type': undefined, \"Token\":token,'UserId': vm.userId },\r\n timeout: vm.canceler.promise\r\n })\r\n .success(function (data) {\r\n vm.Freelancers = data.staffShiftModelRes;\r\n if(data.Errors.length > 0)\r\n {\r\n vm.Errors = data.Errors;\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Invalid records!\";\r\n vm.successMsg = \"There are \" + data.Errors.length + \" errors. To see them click here\";\r\n vm.showErrors = true;\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n }\r\n else\r\n {\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = false;\r\n vm.successTitle = \"Validation completed\";\r\n vm.successMsg = \"Shifts are validated successfully. Total \" + vm.Freelancers.length + \" found. Please click on Publish button to proceed.\";\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n } \r\n })\r\n .error(function (errorMessage) {\r\n $scope.$parent.$parent.main.showFailure(\"Failed\", \"Unable to upload document, technical error. Please contact to administrator\");\r\n });\r\n },\r\n 'success': function (file, xhr) {\r\n },\r\n 'error': function (file, errorMessage) {\r\n }\r\n };\r\n\r\n vm.uploadFile = function () {\r\n if (vm.Freelancers && vm.Freelancers.length > 0) {\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n $http.put(addBulkPost,\r\n vm.Freelancers, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token,'UserId': vm.userId }\r\n })\r\n .success(function (data) {\r\n console.log(data);\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload completed\";\r\n vm.successMsg = \"Shifts are published in bulk successfully\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n vm.progressbar.complete();\r\n })\r\n .error(function (errorMessage) {\r\n console.log(errorMessage)\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload Failed\";\r\n vm.successMsg = errorMessage;\r\n vm.noMsg = [];\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n vm.progressbar.complete();\r\n });\r\n } \r\n }\r\n\r\n\r\n});\n\nangular.module('inspinia').controller('BulkUploadInviteController', function ($stateParams, toaster, \r\n $http, DTOptionsBuilder, $localStorage, $location, $timeout, DTColumnDefBuilder, $rootScope, $log, \r\n ngProgressFactory, $q, $anchorScroll, ApiURL,referalapi, CMSToken, CMSURL, CMSAminToken) {\r\n var vm = this;\r\n vm.userId = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n vm.showErrors = false;\r\n vm.showSuccess = false;\r\n vm.errorList = [];\r\n vm.disableUploadButton = true;\r\n vm.Invitations = [];\r\n vm.Errors = [];\r\n vm.progressbar = ngProgressFactory.createInstance();\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noMsg = [];\r\n vm.noOfRecords = 0;\r\n vm.file = null;\r\n\r\n var verifyBulkPost = ApiURL+\"/api/BulkUpload/MediaUpload?reqUserId={userId}&action=Create\";\r\n var addBulkPost = ApiURL+\"/api/User/UploadInvitedUsers\";\r\n\r\n if (!vm.userId) {\r\n $location.path('/Login');\r\n }\r\n\r\n vm.dzOptions = {\r\n paramName: 'photo',\r\n maxFilesize: '100',\r\n url: '/',\r\n acceptedFiles: '.xlsx, .xls',\r\n dictDefaultMessage: 'Click to add or drop files',\r\n dictRemoveFile: 'Remove'\r\n };\r\n\r\n vm.dtOptions = DTOptionsBuilder.newOptions().withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withButtons([])\r\n .withDisplayLength(5).withOption('lengthMenu', [5, 10, 15, 20])\r\n .withOption('order', []);;\r\n\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable()\r\n // DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(4).notSortable()\r\n ];\r\n\r\n vm.dtColumnDefs1 = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable()\r\n // DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(7).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(8).notSortable()\r\n ];\r\n\r\n vm.dtColumnDefs2 = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable()\r\n // DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(7).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(8).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(9).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(10).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(11).notSortable()\r\n ];\r\n\r\n vm.loaderFlag = false;\r\n vm.hideLoader = function () {\r\n if (vm.loaderFlag) {\r\n $rootScope.$broadcast(\"loader_hide\");\r\n $timeout(function () { vm.loaderFlag = false; }, 1000);\r\n $timeout(vm.hideLoader, 1);\r\n }\r\n }\r\n\r\n vm.scrollDwn = function () {\r\n $(\"html, body\").animate({ scrollTop: $(document).height() - $(window).height() }, 900);\r\n // $location.hash('error_datatable');\r\n // $anchorScroll();\r\n }\r\n\r\n vm.dzCallbacks = {\r\n 'addedfile': function (file) {\r\n vm.showErrors = false;\r\n vm.errorList = [];\r\n vm.disableUploadButton = true;\r\n vm.users = [];\r\n vm.customers = [];\r\n vm.tickets = [];\r\n vm.cms = [];\r\n $(\"#dropzone1 .dz-progress .dz-upload\").hide();\r\n $(\".bulkupload-progress\").width(0);\r\n $(\".ajax-loader\").hide();\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n vm.showSuccess = false;\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noOfRecords = 0;\r\n\r\n var dropzoneChildren = $(\"#dropzone1\").children();\r\n $(\"#dropzone1\").empty();\r\n $(\"#dropzone1\").append(dropzoneChildren[0]);\r\n $(\"#dropzone1\").append(dropzoneChildren[dropzoneChildren.length - 1]);\r\n\r\n vm.loaderFlag = true;\r\n vm.hideLoader();\r\n vm.file = file;\r\n\r\n var fd = new FormData();\r\n fd.append('file', file);\r\n var url = verifyBulkPost.replace(\"{userId}\", vm.userId);\r\n $http.post(url, fd, {\r\n transformRequest: angular.identity,\r\n headers: { 'Content-Type': undefined, \"Token\":token,'UserId': vm.userId },\r\n timeout: vm.canceler.promise\r\n })\r\n .success(function (data) {\r\n vm.Invitations = data.Invitations;\r\n if(data.Errors.length > 0)\r\n {\r\n vm.Errors = data.Errors;\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Invalid records!\";\r\n vm.successMsg = \"There are \" + data.Errors.length + \" errors. To see them click here\";\r\n vm.showErrors = true;\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n }\r\n else\r\n {\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = false;\r\n vm.successTitle = \"Validation completed\";\r\n vm.successMsg = \"Invitations are validated successfully. Total \" + vm.Invitations.length + \" found. Please click on start upload button to proceed.\";\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n } \r\n })\r\n .error(function (errorMessage) {\r\n // vm.showSuccess = true;\r\n // $(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n // vm.progressbar.complete();\r\n // vm.successTitle = \"Validation of records failed\";\r\n // vm.successMsg = \"Error in data validation, please correct the data and re-upload file\";\r\n // $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n // vm.progressbar.complete();\r\n $scope.$parent.$parent.main.showFailure(\"Failed\", \"Unable to upload document, technical error. Please contact to administrator\");\r\n });\r\n },\r\n 'success': function (file, xhr) {\r\n },\r\n 'error': function (file, errorMessage) {\r\n }\r\n };\r\n\r\n vm.uploadFile = function () {\r\n vm.disableUploadButton = true;\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Uploading File\";\r\n vm.successMsg = \"Invitation creation is in progess, Please wait\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n vm.progressbar.complete();\r\n if (vm.Invitations && vm.Invitations.length > 0) {\r\n\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n\r\n $http.post(addBulkPost,\r\n vm.Invitations, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token,'UserId': vm.userId }\r\n })\r\n .success(function (data) {\r\n console.log(data);\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload completed\";\r\n vm.successMsg = \"Invitations are created in bulk successfully\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n vm.progressbar.complete();\r\n })\r\n .error(function (errorMessage) {\r\n console.log(errorMessage)\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload Failed\";\r\n vm.successMsg = errorMessage;\r\n vm.noMsg = [];\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n vm.progressbar.complete();\r\n });\r\n } \r\n }\r\n\r\n\r\n});\nangular.module('inspinia').controller('bulkuploadServiceCenterController', function ($stateParams, $scope, toaster, \r\n $http, DTOptionsBuilder, $localStorage, $location, $timeout, DTColumnDefBuilder, $rootScope,\r\n ngProgressFactory, $q, ApiURL,AcessoriesURL) {\r\n var vm = this;\r\n vm.userId = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n vm.showErrors = false;\r\n vm.showSuccess = false;\r\n vm.errorList = [];\r\n vm.disableUploadButton = true;\r\n vm.BulkServiceCenter = [];\r\n vm.Errors = [];\r\n vm.progressbar = ngProgressFactory.createInstance();\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noMsg = [];\r\n vm.noOfRecords = 0;\r\n vm.file = null;\r\n\r\n var verifyBulkPost = ApiURL+\"/api/BulkUpload/MediaUpload?reqUserId={userId}&action=Create\";\r\n var addBulkPost = ApiURL+\"/api/User/BulkCreateServiceCenters\";\r\n\r\n if (!vm.userId) {\r\n $location.path('/Login');\r\n }\r\n\r\n vm.dzOptions = {\r\n paramName: 'photo',\r\n maxFilesize: '100',\r\n url: '/',\r\n acceptedFiles: '.xlsx, .xls',\r\n dictDefaultMessage: 'Click to add or drop files',\r\n dictRemoveFile: 'Remove'\r\n };\r\n\r\n vm.dtOptions = DTOptionsBuilder.newOptions().withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withButtons([])\r\n .withDisplayLength(5).withOption('lengthMenu', [5, 10, 15, 20])\r\n .withOption('order', []);\r\n\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable()\r\n ];\r\n\r\n vm.dtColumnDefs1 = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable()\r\n ];\r\n\r\n vm.dtColumnDefs2 = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable()\r\n ];\r\n\r\n vm.loaderFlag = false;\r\n vm.hideLoader = function () {\r\n if (vm.loaderFlag) {\r\n $rootScope.$broadcast(\"loader_hide\");\r\n $timeout(function () { vm.loaderFlag = false; }, 1000);\r\n $timeout(vm.hideLoader, 1);\r\n }\r\n }\r\n\r\n vm.scrollDwn = function () {\r\n $(\"html, body\").animate({ scrollTop: $(document).height() - $(window).height() }, 900);\r\n // $location.hash('error_datatable');\r\n // $anchorScroll();\r\n }\r\n\r\n vm.dzCallbacks = {\r\n 'addedfile': function (file) {\r\n vm.showErrors = false;\r\n vm.errorList = [];\r\n vm.disableUploadButton = true;\r\n $(\"#dropzone1 .dz-progress .dz-upload\").hide();\r\n $(\".bulkupload-progress\").width(0);\r\n $(\".ajax-loader\").hide();\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n vm.showSuccess = false;\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noOfRecords = 0;\r\n\r\n var dropzoneChildren = $(\"#dropzone1\").children();\r\n $(\"#dropzone1\").empty();\r\n $(\"#dropzone1\").append(dropzoneChildren[0]);\r\n $(\"#dropzone1\").append(dropzoneChildren[dropzoneChildren.length - 1]);\r\n\r\n vm.loaderFlag = true;\r\n vm.hideLoader();\r\n vm.file = file;\r\n\r\n var fd = new FormData();\r\n fd.append('file', file);\r\n var url = verifyBulkPost.replace(\"{userId}\", vm.userId);\r\n $http.post(url, fd, {\r\n transformRequest: angular.identity,\r\n headers: { 'Content-Type': undefined, \"Token\":token,'UserId': vm.userId },\r\n timeout: vm.canceler.promise\r\n })\r\n .success(function (data) {\r\n vm.BulkServiceCenter = data.CreateServiceCenters;\r\n if(data.Errors.length > 0)\r\n {\r\n vm.Errors = data.Errors;\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Invalid records!\";\r\n vm.successMsg = \"There are \" + data.Errors.length + \" errors. To see them click here\";\r\n vm.showErrors = true;\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n }\r\n else\r\n {\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = false;\r\n if (data.Message && data.Message == \"File name is invalid\") {\r\n vm.successTitle = \"Error!\";\r\n vm.successMsg = data.Message + \" File name should be 'BulkServiceCenter'.\";\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n } else {\r\n vm.successTitle = \"Validation completed\";\r\n vm.successMsg = \"Service Center data validated successfully. Total \" + vm.BulkServiceCenter.length + \" found. Please click on Upload button to proceed.\"; $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n }\r\n } \r\n })\r\n .error(function (errorMessage) {\r\n $scope.$parent.$parent.main.showFailure(\"Failed\", \"Unable to upload document, technical error. Please contact to administrator\");\r\n });\r\n },\r\n 'success': function (file, xhr) {\r\n },\r\n 'error': function (file, errorMessage) {\r\n }\r\n };\r\n\r\n vm.uploadFile = function () {\r\n if (vm.BulkServiceCenter && vm.BulkServiceCenter.length > 0) {\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n vm.disableUploadButton = true;\r\n $http.put(addBulkPost,\r\n vm.BulkServiceCenter, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token,'UserId': vm.userId }\r\n })\r\n .success(function (data) {\r\n console.log(data);\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload completed\";\r\n vm.successMsg = data.Message || \"Service Center are uploaded in bulk successfully\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n vm.progressbar.complete();\r\n })\r\n .error(function (errorMessage) {\r\n console.log(errorMessage)\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload Failed\";\r\n vm.successMsg = errorMessage;\r\n vm.noMsg = [];\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n vm.disableUploadButton = false;\r\n vm.progressbar.complete();\r\n });\r\n } \r\n }\r\n\r\n\r\n});\nangular.module('inspinia').service('BulkUploadJobService', function (ApiURL, $log, $http) {\r\n\r\n\tthis.getCustomers = function(loggedInUserId, token, success, failure){\r\n\t\t$http.get(ApiURL + \"/api/Customer?reqUserId=\"+loggedInUserId, {\r\n\t\t\theaders:{'Token':token, 'UserId': loggedInUserId}\r\n\t\t}).then(function(res){\r\n\t\t\tif(res && res.data){\r\n\t\t\t\tsuccess(res.data);\r\n\t\t\t} else if (res.data.Message) {\r\n\t\t\t\tfailure(\"Error\", res.data.Message);\r\n\t\t\t} else {\r\n\t\t\t\tfailure(\"Error\", \"Unable to get customers, server is not responding correctly.\");\r\n\t\t\t}\r\n\t\t}, function(err){\r\n\t\t\tfailure(\"Error\", \"Unable to get customers, server is not responding correctly.\");\r\n\t\t});\r\n\t}\r\n});\r\n\nangular.module('inspinia').controller('BulkUploadJobController', function ($stateParams, $scope, BulkUploadJobService, toaster, $http, DTOptionsBuilder, $localStorage, $location, $timeout, DTColumnDefBuilder, $rootScope, ngProgressFactory, $q, $anchorScroll, ApiURL, CMSToken, CMSURL, CMSAminToken, PublicApiURL, $log) {\r\n var vm = this;\r\n vm.userId = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n vm.updateType = $stateParams.type;\r\n vm.showErrors = false;\r\n vm.showSuccess = false;\r\n vm.errorList = [];\r\n vm.disableUploadButton = true;\r\n vm.users = [];\r\n vm.customers = [];\r\n vm.tickets = [];\r\n vm.cms = [];\r\n vm.bulkuploadType = \"ticket\";\r\n vm.progressbar = ngProgressFactory.createInstance();\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noMsg = [];\r\n vm.noOfRecords = 0;\r\n vm.file = null;\r\n vm.tickets = [];\r\n vm.selectedTicket = \"\";\r\n vm.templateUrl = PublicApiURL+'/api/Template/';\r\n vm.customerList = [];\r\n vm.projectList = [];\r\n\r\n var verifyBulkPost = CMSURL+\"/post/{accountId}/verifyBulkPost\";\r\n var addBulkPost = CMSURL+\"/post/{accountId}/{userId}/addBulkPost\";\r\n\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\r\n if (!vm.userId) {\r\n $location.path('/Login');\r\n } else if (!vm.bulkuploadType || vm.bulkuploadType.length == 0) {\r\n $location.path('/index/TeamMember');\r\n }\r\n\r\n vm.getCustomers = function(){\r\n BulkUploadJobService.getCustomers(vm.userId, token, function(data){\r\n vm.customerList = data\r\n if(data.length>0){\r\n vm.selectedCustomer = data[0];\r\n vm.getProjects(vm.selectedCustomer);\r\n }\r\n }, vm.showFailure);\r\n }\r\n vm.getCustomers();\r\n\r\n vm.getProjects = function(customer){\r\n vm.projectList = customer.Projects;\r\n if(vm.projectList.length > 0){\r\n vm.selectedProject = vm.projectList[0];\r\n }\r\n }\r\n\r\n if (vm.bulkuploadType == 'cms') {\r\n vm.dzOptions = {\r\n paramName: 'photo',\r\n maxFilesize: '100',\r\n url: '/',\r\n acceptedFiles: '.zip',\r\n dictDefaultMessage: 'Click to add or drop files',\r\n dictRemoveFile: 'Remove'\r\n };\r\n } else {\r\n vm.dzOptions = {\r\n paramName: 'photo',\r\n maxFilesize: '100',\r\n url: '/',\r\n acceptedFiles: '.xlsx, .xls',\r\n dictDefaultMessage: 'Click to add or drop files',\r\n dictRemoveFile: 'Remove'\r\n };\r\n }\r\n\r\n vm.dtOptions = DTOptionsBuilder.newOptions().withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers').withDisplayLength(5).withOption('lengthMenu', [5, 10, 15, 20]);\r\n\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable()\r\n ];\r\n\r\n vm.loaderFlag = false;\r\n vm.hideLoader = function () {\r\n if (vm.loaderFlag) {\r\n $rootScope.$broadcast(\"loader_hide\");\r\n $timeout(function () { vm.loaderFlag = false; }, 1000);\r\n $timeout(vm.hideLoader, 1);\r\n }\r\n }\r\n\r\n vm.scrollDwn = function () {\r\n $(\"html, body\").animate({ scrollTop: $(document).height() - $(window).height() }, 900);\r\n // $location.hash('error_datatable');\r\n // $anchorScroll();\r\n }\r\n\r\n vm.dzCallbacks = {\r\n 'addedfile': function (file) {\r\n vm.showErrors = false;\r\n vm.errorList = [];\r\n vm.UpdateErrorList = [];\r\n vm.disableUploadButton = true;\r\n vm.users = [];\r\n\r\n vm.customers = [];\r\n vm.tickets = [];\r\n vm.cms = [];\r\n $(\"#dropzone1 .dz-progress .dz-upload\").hide();\r\n $(\".bulkupload-progress\").width(0);\r\n $(\".ajax-loader\").hide();\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n vm.showSuccess = false;\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noOfRecords = 0;\r\n\r\n var dropzoneChildren = $(\"#dropzone1\").children();\r\n $(\"#dropzone1\").empty();\r\n $(\"#dropzone1\").append(dropzoneChildren[0]);\r\n $(\"#dropzone1\").append(dropzoneChildren[dropzoneChildren.length - 1]);\r\n\r\n vm.loaderFlag = true;\r\n vm.hideLoader();\r\n vm.file = file;\r\n\r\n var fd = new FormData();\r\n fd.append('file', file);\r\n if (vm.bulkuploadType != 'cms') {\r\n if (vm.updateType != 'UpdateS') {\r\n $http.post(ApiURL + '/api/BulkUpload/MediaUpload?reqUserId=' + vm.userId + '&action=Create', fd, {\r\n transformRequest: angular.identity,\r\n headers: { 'Content-Type': undefined, 'Token': token, 'UserId':vm.userId},\r\n timeout: vm.canceler.promise\r\n })\r\n .success(function (data) {\r\n $(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n if (vm.bulkuploadType == 'user') {\r\n vm.users = data.Users;\r\n vm.noOfRecords = data.Users ? data.Users.length : 0;\r\n } else if (vm.bulkuploadType == 'customer') {\r\n vm.customers = data.Customers;\r\n vm.noOfRecords = data.Customers ? data.Customers.length : 0;\r\n } else if (vm.bulkuploadType == 'ticket') {\r\n vm.tickets = data.Tickets;\r\n vm.noOfRecords = data.Tickets ? data.Tickets.length : 0;\r\n }\r\n\r\n $(\"#dropzone1>div:last-child\").removeClass(\"dz-error\").addClass(\"dz-success\");\r\n if (data.Errors.length > 0) {\r\n //console.log('data.Errors',data.Errors);\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable()\r\n ];\r\n angular.forEach(data.Errors, function (v, k) {\r\n\r\n if (v.ItemErrors.length > 0) {\r\n var e1 = {};\r\n angular.forEach(v.ItemErrors, function (v1, k1) {\r\n e1.message = e1.message != undefined && e1.message != \"undefined\" && e1.message.length > 0 ? e1.message + \",\" + v1.Message : v1.Message;\r\n });\r\n if (v.Row > 0 && data.Users && data.Users.length > 0 && data.Users.length >= v.Row) {\r\n e1.data = data.Users[v.Row - 1];\r\n } if (v.Row > 0 && data.Tickets && data.Tickets.length > 0 && data.Tickets.length >= v.Row) {\r\n e1.data = data.Tickets[v.Row - 1];\r\n } if (v.Row > 0 && data.Customers && data.Customers.length > 0 && data.Customers.length >= v.Row) {\r\n e1.data = data.Customers[v.Row - 1];\r\n }\r\n vm.errorList.push(e1);\r\n }\r\n });\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Invalid records!\";\r\n vm.successMsg = \"There are \" + vm.errorList.length + \" errors. To see them click here\";\r\n vm.noMsg = [];\r\n vm.showErrors = true;\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n } else if (data.ErrorCode == 103) {\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Missing columns in excel file\";\r\n vm.successMsg = \"Following columns are missing in excel file. Please add them and re-upload file\";\r\n vm.noMsg = [];\r\n angular.forEach(data.MissingColumns, function (k, v) {\r\n vm.noMsg.push(k);\r\n });\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n } else if (data.Message && data.Message.length>0) {\r\n\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Validation failed\";\r\n vm.successMsg = data.Message\r\n vm.noMsg = [];\r\n angular.forEach(data.MissingColumns, function (k, v) {\r\n vm.noMsg.push(k);\r\n });\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\r\n } else {\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = false;\r\n vm.successTitle = \"Validation completed\";\r\n vm.successMsg = vm.bulkuploadType.charAt(0).toUpperCase() + vm.bulkuploadType.slice(1) + (vm.noOfRecords > 1 ? \"s\" : \"\") + \" are validated successfully. Total \" + vm.noOfRecords + \" \" + vm.bulkuploadType + (vm.noOfRecords > 1 ? \"s\" : \"\") + \" found. Please click on start upload button to proceed.\";\r\n // vm.successMsg = \"You have successfully created \"+vm.bulkuploadType+\"s in bulk\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n }\r\n $(\"table th:first-child\").removeClass(\"sorting_asc\");\r\n vm.progressbar.complete();\r\n })\r\n .error(function (errorMessage) {\r\n $(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n vm.progressbar.complete();\r\n vm.successTitle = \"Validation of records failed\";\r\n vm.successMsg = \"Error in data validation, please correct the data and re-upload file\";\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n });\r\n }else if (vm.updateType == 'UpdateS'){\r\n //http://localhost:56749/api/BulkUpload/BulkUpdateLinkTickets?reqUserId=U310000000001\r\n $http.post(ApiURL + '/api/BulkUpload/BulkUpdateLinkTickets?reqUserId=' + vm.userId, fd, {\r\n transformRequest: angular.identity,\r\n headers: { 'Content-Type': undefined, 'Token': token, 'UserId':vm.userId },\r\n timeout: vm.canceler.promise\r\n })\r\n .success(function (data) {\r\n $(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n if (vm.bulkuploadType == 'user') {\r\n vm.users = data.Users;\r\n vm.noOfRecords = data.Users ? data.Users.length : 0;\r\n } else if (vm.bulkuploadType == 'customer') {\r\n vm.customers = data.Customers;\r\n vm.noOfRecords = data.Customers ? data.Customers.length : 0;\r\n } else if (vm.bulkuploadType == 'ticket') {\r\n vm.tickets = data.Tickets;\r\n vm.noOfRecords = data.Tickets ? data.Tickets.length : 0;\r\n }\r\n\r\n $(\"#dropzone1>div:last-child\").removeClass(\"dz-error\").addClass(\"dz-success\");\r\n if (data.Errors.length > 0) {\r\n vm.showErrors = true;\r\n // vm.dtColumnDefs = [];\r\n // for (var i = 0; i < data.Errors.length; i++) {\r\n // vm.dtColumnDefs.push(DTColumnDefBuilder.newColumnDef(i));\r\n // }\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable()\r\n ];\r\n \r\n angular.forEach(data.Errors, function (v, k) {\r\n \r\n //errObj.ItemErrors = [];\r\n \r\n if (v.ItemErrors.length>0) {\r\n angular.forEach(v.ItemErrors, function(d){\r\n var errObj = {};\r\n errObj.TicketId = v.TicketId;\r\n if (d.ErrorMessage) {\r\n errObj.TestName = d.TemplateName;\r\n \r\n errObj.ParameterName = d.ItemName;\r\n errObj.Error = d.ErrorMessage;\r\n errObj.row = d.row;\r\n errObj.col = d.col;\r\n vm.UpdateErrorList.push(errObj);\r\n }\r\n }) \r\n }\r\n //vm.UpdateErrorList.push(errObj);\r\n //console.log('vm.UpdateErrorList',vm.UpdateErrorList);\r\n \r\n \r\n });\r\n\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Invalid records!\";\r\n vm.successMsg = \"There are \" + vm.UpdateErrorList.length + \" errors. To see them click here\";\r\n vm.noMsg = [];\r\n vm.showErrors = true;\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n } else if (data.ErrorCode == 103) {\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Missing columns in excel file\";\r\n vm.successMsg = \"Following columns are missing in excel file. Please add them and re-upload file\";\r\n vm.noMsg = [];\r\n angular.forEach(data.MissingColumns, function (k, v) {\r\n vm.noMsg.push(k);\r\n });\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n } else if (data.Message && data.Message.length>0) {\r\n\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Upload failed\";\r\n vm.successMsg = data.Message\r\n vm.noMsg = [];\r\n angular.forEach(data.MissingColumns, function (k, v) {\r\n vm.noMsg.push(k);\r\n });\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\r\n } else {\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = false;\r\n vm.successTitle = \"Upload completed\";\r\n vm.successMsg = \"All tickets have been uploaded successfully\";\r\n // vm.successMsg = \"You have successfully created \"+vm.bulkuploadType+\"s in bulk\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n }\r\n $(\"table th:first-child\").removeClass(\"sorting_asc\");\r\n vm.progressbar.complete();\r\n })\r\n .error(function (errorMessage) {\r\n $(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n vm.progressbar.complete();\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload failed\";\r\n vm.successMsg = errorMessage.Message;\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n });\r\n }\r\n \r\n } else {\r\n var url = verifyBulkPost.replace(\"{accountId}\", vm.userId);\r\n $http.post(url, fd, {\r\n transformRequest: angular.identity,\r\n headers: { 'Content-Type': undefined },\r\n timeout: vm.canceler.promise\r\n })\r\n .success(function (data) {\r\n if(data.errorCode==0 && data.result && data.result.success && data.result.success.length>0){\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = false;\r\n vm.successTitle = \"Validation completed\";\r\n vm.successMsg = \"CMS content is validated successfully. Please click on start upload button to proceed.\";\r\n // vm.successMsg = \"You have successfully created \"+vm.bulkuploadType+\"s in bulk\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n vm.progressbar.complete();\r\n\r\n } else if(data.validationFlag==false && data.rowErrors){\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Invalid records!\";\r\n vm.successMsg = \"There are \" + data.rowErrors.length + \" errors. To see them click here\";\r\n vm.noMsg = [];\r\n vm.showErrors = true;\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n if (data.rowErrors.length > 0) {\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable()\r\n ];\r\n angular.forEach(data.rowErrors, function (v, k) {\r\n\r\n if (v.error.length > 0) {\r\n var e1 = {};\r\n angular.forEach(v.error, function (v1, k1) {\r\n e1.message = e1.message != undefined && e1.message != \"undefined\" && e1.message.length > 0 ? e1.message + \",\" + v1 : v1;\r\n });\r\n e1.data=JSON.parse(v.content); \r\n vm.errorList.push(e1);\r\n }\r\n });\r\n }\r\n } else {\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = true;\r\n $(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n vm.progressbar.complete();\r\n vm.successTitle = \"Validation of records failed\";\r\n vm.successMsg = data.error+\". Please correct the data and re-upload file.\";\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n vm.progressbar.complete();\r\n }\r\n })\r\n .error(function (errorMessage) {\r\n vm.showSuccess = true;\r\n $(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n vm.progressbar.complete();\r\n vm.successTitle = \"Validation of records failed\";\r\n vm.successMsg = \"Error in data validation, please correct the data and re-upload file\";\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n vm.progressbar.complete();\r\n });\r\n }\r\n },\r\n 'success': function (file, xhr) {\r\n },\r\n 'error': function (file, errorMessage) {\r\n }\r\n };\r\n\r\n vm.addFiles = function () {\r\n $(\"#dropzone1\").trigger(\"click\");\r\n }\r\n\r\n vm.uploadFile = function () {\r\n if (vm.users && vm.users.length > 0) {\r\n\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n\r\n $http.post(ApiURL + '/api/User/' + vm.userId + '/UploadUsers',\r\n vm.users, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':vm.userId }\r\n })\r\n .success(function (data) {\r\n console.log(data);\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Upload completed\";\r\n vm.successMsg = \"Users are created in bulk successfully\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n\r\n vm.progressbar.complete();\r\n })\r\n .error(function (errorMessage) {\r\n console.log(errorMessage)\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload Failed\";\r\n vm.successMsg = errorMessage;\r\n vm.noMsg = [];\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n vm.progressbar.complete();\r\n });\r\n\r\n } else if (vm.tickets && vm.tickets.length > 0) {\r\n\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n vm.disableUploadButton = true;\r\n\r\n $http.post(ApiURL + '/api/Ticket/{TicketRequestModels}/' + vm.userId + '/UploadTickets?action=Create',\r\n vm.tickets, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':vm.userId }\r\n })\r\n .success(function (data) {\r\n console.log(data);\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Upload completed\";\r\n vm.successMsg = \"Jobs are created in bulk successfully\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n vm.progressbar.complete();\r\n })\r\n .error(function (errorMessage) {\r\n console.log(errorMessage)\r\n vm.disableUploadButton = false;\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload Failed\";\r\n vm.successMsg = errorMessage;\r\n vm.noMsg = [];\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n vm.progressbar.complete();\r\n });\r\n\r\n } else if (vm.customers && vm.customers.length > 0) {\r\n\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n\r\n $http.post(ApiURL + '/api/Customer/{objCustomerRequestModels}/' + vm.userId + '/UploadCustomers',\r\n vm.customers, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':vm.userId }\r\n })\r\n .success(function (data) {\r\n console.log(data);\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload completed\";\r\n vm.successMsg = \"Customers are created in bulk successfully\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n vm.progressbar.complete();\r\n })\r\n .error(function (errorMessage) {\r\n console.log(errorMessage)\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload Failed\";\r\n vm.successMsg = errorMessage;\r\n vm.noMsg = [];\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n vm.progressbar.complete();\r\n });\r\n } else if (vm.bulkuploadType == 'cms') {\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n\r\n var fd = new FormData();\r\n fd.append('file', vm.file);\r\n \r\n var url = addBulkPost.replace(\"{accountId}\", vm.userId).replace(\"{userId}\", vm.userId);\r\n $http.post(url, fd, {\r\n transformRequest: angular.identity,\r\n headers: { 'Content-Type': undefined }\r\n })\r\n .success(function (data) {\r\n console.log(data);\r\n if (data.errorCode > 0) {\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload Failed\";\r\n vm.successMsg = data.error;\r\n vm.noMsg = [];\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n vm.progressbar.complete();\r\n\r\n } else if (data.result && data.result.success) {\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload completed\";\r\n vm.successMsg = \"Products are created in bulk successfully\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n vm.progressbar.complete();\r\n } else {\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload Failed\";\r\n vm.successMsg = \"Technical problem\";\r\n vm.noMsg = [];\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n vm.progressbar.complete();\r\n }\r\n })\r\n .error(function (errorMessage) {\r\n console.log(errorMessage)\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload Failed\";\r\n vm.successMsg = errorMessage;\r\n vm.noMsg = [];\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n vm.progressbar.complete();\r\n });\r\n }\r\n }\r\n\r\n vm.getTickets = function() {\r\n $http.get(ApiURL + '/api/' + vm.userId + '/Template', {headers:{'Token': token, 'UserId':vm.userId}})\r\n .success(function (data) {\r\n vm.tickets=[];\r\n angular.forEach(data, function(d){\r\n console.log(d.TemplateId, d.TemplateName);\r\n vm.tickets.push({TemplateId:d.TemplateId, TemplateName:d.TemplateName});\r\n })\r\n vm.selectedTicket = vm.tickets[0];\r\n });\r\n\r\n }\r\n vm.getTickets();\r\n\r\n vm.showTemplateDownloadError = function(){\r\n if(vm.selectedProject==null){\r\n vm.showFailure(\"Failed\", \"Please select project to download sample template sheet.\");\r\n } \r\n if(vm.selectedTicket==null||vm.selectedTicket.TemplateName==null){\r\n vm.showFailure(\"Failed\", \"Please select template to download sample template sheet.\");\r\n }\r\n }\r\n});\nangular.module('inspinia').controller('BulkUploadUserController', function ($stateParams, toaster, $http, DTOptionsBuilder, $localStorage, $location, $timeout, DTColumnDefBuilder, $rootScope, ngProgressFactory, $q, $anchorScroll, ApiURL, CMSToken, CMSURL, CMSAminToken) {\r\n var vm = this;\r\n vm.userId = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n vm.showErrors = false;\r\n vm.showSuccess = false;\r\n vm.errorList = [];\r\n vm.disableUploadButton = true;\r\n vm.users = [];\r\n vm.customers = [];\r\n vm.tickets = [];\r\n vm.cms = [];\r\n vm.bulkuploadType = \"user\";\r\n vm.progressbar = ngProgressFactory.createInstance();\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noMsg = [];\r\n vm.noOfRecords = 0;\r\n vm.file = null;\r\n vm.tickets = [];\r\n vm.selectedTicket = \"\";\r\n vm.templateUrl = ApiURL+'/api/Template/';\r\n\r\n var verifyBulkPost = CMSURL+\"/post/{accountId}/verifyBulkPost\";\r\n var addBulkPost = CMSURL+\"/post/{accountId}/{userId}/addBulkPost\";\r\n\r\n if (!vm.userId) {\r\n $location.path('/Login');\r\n }\r\n\r\n if (vm.bulkuploadType == 'cms') {\r\n vm.dzOptions = {\r\n paramName: 'photo',\r\n maxFilesize: '100',\r\n url: '/',\r\n acceptedFiles: '.zip',\r\n dictDefaultMessage: 'Click to add or drop files',\r\n dictRemoveFile: 'Remove'\r\n };\r\n } else {\r\n vm.dzOptions = {\r\n paramName: 'photo',\r\n maxFilesize: '100',\r\n url: '/',\r\n acceptedFiles: '.xlsx, .xls',\r\n dictDefaultMessage: 'Click to add or drop files',\r\n dictRemoveFile: 'Remove'\r\n };\r\n }\r\n\r\n vm.dtOptions = DTOptionsBuilder.newOptions().withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers').withDisplayLength(5).withOption('lengthMenu', [5, 10, 15, 20]);\r\n\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable()\r\n ];\r\n\r\n vm.loaderFlag = false;\r\n vm.hideLoader = function () {\r\n if (vm.loaderFlag) {\r\n $rootScope.$broadcast(\"loader_hide\");\r\n $timeout(function () { vm.loaderFlag = false; }, 1000);\r\n $timeout(vm.hideLoader, 1);\r\n }\r\n }\r\n\r\n vm.scrollDwn = function () {\r\n $(\"html, body\").animate({ scrollTop: $(document).height() - $(window).height() }, 900);\r\n // $location.hash('error_datatable');\r\n // $anchorScroll();\r\n }\r\n\r\n vm.dzCallbacks = {\r\n 'addedfile': function (file) {\r\n vm.showErrors = false;\r\n vm.errorList = [];\r\n vm.disableUploadButton = true;\r\n vm.users = [];\r\n vm.customers = [];\r\n vm.tickets = [];\r\n vm.cms = [];\r\n $(\"#dropzone1 .dz-progress .dz-upload\").hide();\r\n $(\".bulkupload-progress\").width(0);\r\n $(\".ajax-loader\").hide();\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n vm.showSuccess = false;\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noOfRecords = 0;\r\n\r\n var dropzoneChildren = $(\"#dropzone1\").children();\r\n $(\"#dropzone1\").empty();\r\n $(\"#dropzone1\").append(dropzoneChildren[0]);\r\n $(\"#dropzone1\").append(dropzoneChildren[dropzoneChildren.length - 1]);\r\n\r\n vm.loaderFlag = true;\r\n vm.hideLoader();\r\n vm.file = file;\r\n\r\n var fd = new FormData();\r\n fd.append('file', file);\r\n if (vm.bulkuploadType != 'cms') {\r\n $http.post(ApiURL + '/api/BulkUpload/MediaUpload?reqUserId=' + vm.userId + '&action=Create', fd, {\r\n transformRequest: angular.identity,\r\n headers: { 'Content-Type': undefined, 'Token': token,'UserId': vm.userId },\r\n timeout: vm.canceler.promise\r\n })\r\n .success(function (data) {\r\n $(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n if (vm.bulkuploadType == 'user') {\r\n vm.users = data.Users;\r\n vm.noOfRecords = data.Users ? data.Users.length : 0;\r\n } else if (vm.bulkuploadType == 'customer') {\r\n vm.customers = data.Customers;\r\n vm.noOfRecords = data.Customers ? data.Customers.length : 0;\r\n } else if (vm.bulkuploadType == 'ticket') {\r\n vm.tickets = data.Tickets;\r\n vm.noOfRecords = data.Tickets ? data.Tickets.length : 0;\r\n }\r\n\r\n $(\"#dropzone1>div:last-child\").removeClass(\"dz-error\").addClass(\"dz-success\");\r\n if (data.Errors.length > 0) {\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable()\r\n ];\r\n angular.forEach(data.Errors, function (v, k) {\r\n\r\n if (v.ItemErrors.length > 0) {\r\n var e1 = {};\r\n angular.forEach(v.ItemErrors, function (v1, k1) {\r\n e1.message = e1.message != undefined && e1.message != \"undefined\" && e1.message.length > 0 ? e1.message + \",\" + v1.Message : v1.Message;\r\n });\r\n if (v.Row > 0 && data.Users && data.Users.length > 0 && data.Users.length >= v.Row) {\r\n e1.data = data.Users[v.Row - 1];\r\n } if (v.Row > 0 && data.Tickets && data.Tickets.length > 0 && data.Tickets.length >= v.Row) {\r\n e1.data = data.Tickets[v.Row - 1];\r\n } if (v.Row > 0 && data.Customers && data.Customers.length > 0 && data.Customers.length >= v.Row) {\r\n e1.data = data.Customers[v.Row - 1];\r\n }\r\n vm.errorList.push(e1);\r\n }\r\n });\r\n\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Invalid records!\";\r\n vm.successMsg = \"There are \" + vm.errorList.length + \" errors. To see them click here\";\r\n vm.noMsg = [];\r\n vm.showErrors = true;\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n } else if (data.ErrorCode == 103) {\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Missing columns in excel file\";\r\n vm.successMsg = \"Following columns are missing in excel file. Please add them and re-upload file\";\r\n vm.noMsg = [];\r\n angular.forEach(data.MissingColumns, function (k, v) {\r\n vm.noMsg.push(k);\r\n });\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n } else if (data.Message && data.Message.length>0) {\r\n\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Validation failed\";\r\n vm.successMsg = data.Message\r\n vm.noMsg = [];\r\n angular.forEach(data.MissingColumns, function (k, v) {\r\n vm.noMsg.push(k);\r\n });\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\r\n } else {\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = false;\r\n vm.successTitle = \"Validation completed\";\r\n vm.successMsg = vm.bulkuploadType.charAt(0).toUpperCase() + vm.bulkuploadType.slice(1) + (vm.noOfRecords > 1 ? \"s\" : \"\") + \" are validated successfully. Total \" + vm.noOfRecords + \" \" + vm.bulkuploadType + (vm.noOfRecords > 1 ? \"s\" : \"\") + \" found. Please click on start upload button to proceed.\";\r\n // vm.successMsg = \"You have successfully created \"+vm.bulkuploadType+\"s in bulk\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n }\r\n $(\"table th:first-child\").removeClass(\"sorting_asc\");\r\n vm.progressbar.complete();\r\n })\r\n .error(function (errorMessage) {\r\n $(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n vm.progressbar.complete();\r\n vm.successTitle = \"Validation of records failed\";\r\n vm.successMsg = \"Error in data validation, please correct the data and re-upload file\";\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n });\r\n } else {\r\n var url = verifyBulkPost.replace(\"{accountId}\", vm.userId);\r\n $http.post(url, fd, {\r\n transformRequest: angular.identity,\r\n headers: { 'Content-Type': undefined },\r\n timeout: vm.canceler.promise\r\n })\r\n .success(function (data) {\r\n if(data.errorCode==0 && data.result && data.result.success && data.result.success.length>0){\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = false;\r\n vm.successTitle = \"Validation completed\";\r\n vm.successMsg = \"CMS content is validated successfully. Please click on start upload button to proceed.\";\r\n // vm.successMsg = \"You have successfully created \"+vm.bulkuploadType+\"s in bulk\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n vm.progressbar.complete();\r\n\r\n } else if(data.validationFlag==false && data.rowErrors){\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Invalid records!\";\r\n vm.successMsg = \"There are \" + data.rowErrors.length + \" errors. To see them click here\";\r\n vm.noMsg = [];\r\n vm.showErrors = true;\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n if (data.rowErrors.length > 0) {\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable()\r\n ];\r\n angular.forEach(data.rowErrors, function (v, k) {\r\n\r\n if (v.error.length > 0) {\r\n var e1 = {};\r\n angular.forEach(v.error, function (v1, k1) {\r\n e1.message = e1.message != undefined && e1.message != \"undefined\" && e1.message.length > 0 ? e1.message + \",\" + v1 : v1;\r\n });\r\n e1.data=JSON.parse(v.content); \r\n vm.errorList.push(e1);\r\n }\r\n });\r\n }\r\n } else {\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = true;\r\n $(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n vm.progressbar.complete();\r\n vm.successTitle = \"Validation of records failed\";\r\n vm.successMsg = data.error+\". Please correct the data and re-upload file.\";\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n vm.progressbar.complete();\r\n }\r\n })\r\n .error(function (errorMessage) {\r\n vm.showSuccess = true;\r\n $(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n vm.progressbar.complete();\r\n vm.successTitle = \"Validation of records failed\";\r\n vm.successMsg = \"Error in data validation, please correct the data and re-upload file\";\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n vm.progressbar.complete();\r\n });\r\n }\r\n },\r\n 'success': function (file, xhr) {\r\n },\r\n 'error': function (file, errorMessage) {\r\n }\r\n };\r\n\r\n vm.addFiles = function () {\r\n $(\"#dropzone1\").trigger(\"click\");\r\n }\r\n\r\n vm.uploadFile = function () {\r\n if (vm.users && vm.users.length > 0) {\r\n\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n\r\n $http.post(ApiURL + '/api/User/' + vm.userId + '/UploadUsers',\r\n vm.users, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': vm.userId }\r\n })\r\n .success(function (data) {\r\n console.log(data);\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload completed\";\r\n vm.successMsg = \"Users are created in bulk successfully\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n\r\n vm.progressbar.complete();\r\n })\r\n .error(function (errorMessage) {\r\n console.log(errorMessage)\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload Failed\";\r\n vm.successMsg = errorMessage;\r\n vm.noMsg = [];\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n vm.progressbar.complete();\r\n });\r\n\r\n } else if (vm.tickets && vm.tickets.length > 0) {\r\n\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n\r\n $http.post(ApiURL + '/api/Ticket/{TicketRequestModels}/' + vm.userId + '/UploadTickets',\r\n vm.tickets, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token,'UserId': vm.userId }\r\n })\r\n .success(function (data) {\r\n console.log(data);\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload completed\";\r\n vm.successMsg = \"Jobs are created in bulk successfully\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n vm.progressbar.complete();\r\n })\r\n .error(function (errorMessage) {\r\n console.log(errorMessage)\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload Failed\";\r\n vm.successMsg = errorMessage;\r\n vm.noMsg = [];\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n vm.progressbar.complete();\r\n });\r\n\r\n } else if (vm.customers && vm.customers.length > 0) {\r\n\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n\r\n $http.post(ApiURL + '/api/Customer/{objCustomerRequestModels}/' + vm.userId + '/UploadCustomers',\r\n vm.customers, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token,'UserId': vm.userId }\r\n })\r\n .success(function (data) {\r\n console.log(data);\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload completed\";\r\n vm.successMsg = \"Customers are created in bulk successfully\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n vm.progressbar.complete();\r\n })\r\n .error(function (errorMessage) {\r\n console.log(errorMessage)\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload Failed\";\r\n vm.successMsg = errorMessage;\r\n vm.noMsg = [];\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n vm.progressbar.complete();\r\n });\r\n } else if (vm.bulkuploadType == 'cms') {\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n\r\n var fd = new FormData();\r\n fd.append('file', vm.file);\r\n \r\n var url = addBulkPost.replace(\"{accountId}\", vm.userId).replace(\"{userId}\", vm.userId);\r\n $http.post(url, fd, {\r\n transformRequest: angular.identity,\r\n headers: { 'Content-Type': undefined }\r\n })\r\n .success(function (data) {\r\n console.log(data);\r\n if (data.errorCode > 0) {\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload Failed\";\r\n vm.successMsg = data.error;\r\n vm.noMsg = [];\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n vm.progressbar.complete();\r\n\r\n } else if (data.result && data.result.success) {\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload completed\";\r\n vm.successMsg = \"Products are created in bulk successfully\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n vm.progressbar.complete();\r\n } else {\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload Failed\";\r\n vm.successMsg = \"Technical problem\";\r\n vm.noMsg = [];\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n vm.progressbar.complete();\r\n }\r\n })\r\n .error(function (errorMessage) {\r\n console.log(errorMessage)\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload Failed\";\r\n vm.successMsg = errorMessage;\r\n vm.noMsg = [];\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n vm.progressbar.complete();\r\n });\r\n }\r\n }\r\n\r\n vm.getTickets = function() {\r\n $http.get(ApiURL + '/api/' + vm.userId + '/Template', {headers: {'Token': token,'UserId': vm.userId}})\r\n .success(function (data) {\r\n vm.tickets=[{TemplateId:1, TemplateName:'Select Template'}];\r\n angular.forEach(data, function(d){\r\n console.log(d.TemplateId, d.TemplateName);\r\n vm.tickets.push({TemplateId:d.TemplateId, TemplateName:d.TemplateName});\r\n })\r\n vm.selectedTicket = vm.tickets[0];\r\n });\r\n\r\n }\r\n vm.getTickets();\r\n});\nangular.module('inspinia').controller('BulkUploadMasterInventoryController', function ($stateParams, toaster, \r\n $http, DTOptionsBuilder, $localStorage, $location, $timeout, DTColumnDefBuilder, $rootScope,\r\n ngProgressFactory, $q, ApiURL,AcessoriesURL) {\r\n var vm = this;\r\n vm.userId = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n vm.showErrors = false;\r\n vm.showSuccess = false;\r\n vm.errorList = [];\r\n vm.disableUploadButton = true;\r\n vm.MasterInventory = [];\r\n vm.Errors = [];\r\n vm.progressbar = ngProgressFactory.createInstance();\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noMsg = [];\r\n vm.noOfRecords = 0;\r\n vm.file = null;\r\n vm.accountid= $localStorage.accountConfig.AccountId;\r\n\r\n var verifyBulkPost = ApiURL+\"/api/BulkUpload/MediaUpload?reqUserId={userId}&action=Create\";\r\n var addBulkPost = AcessoriesURL+\"/api/MMFMasterInventory/CreateNewPartInBulk\";\r\n\r\n if (!vm.userId) {\r\n $location.path('/Login');\r\n }\r\n\r\n vm.dzOptions = {\r\n paramName: 'photo',\r\n maxFilesize: '100',\r\n url: '/',\r\n acceptedFiles: '.xlsx, .xls',\r\n dictDefaultMessage: 'Click to add or drop files',\r\n dictRemoveFile: 'Remove'\r\n };\r\n\r\n vm.dtOptions = DTOptionsBuilder.newOptions().withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withButtons([])\r\n .withDisplayLength(5).withOption('lengthMenu', [5, 10, 15, 20])\r\n .withOption('order', []);\r\n\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable()\r\n ];\r\n\r\n vm.dtColumnDefs1 = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable()\r\n ];\r\n\r\n vm.dtColumnDefs2 = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable()\r\n ];\r\n\r\n vm.loaderFlag = false;\r\n vm.hideLoader = function () {\r\n if (vm.loaderFlag) {\r\n $rootScope.$broadcast(\"loader_hide\");\r\n $timeout(function () { vm.loaderFlag = false; }, 1000);\r\n $timeout(vm.hideLoader, 1);\r\n }\r\n }\r\n\r\n vm.scrollDwn = function () {\r\n $(\"html, body\").animate({ scrollTop: $(document).height() - $(window).height() }, 900);\r\n // $location.hash('error_datatable');\r\n // $anchorScroll();\r\n }\r\n\r\n vm.dzCallbacks = {\r\n 'addedfile': function (file) {\r\n vm.showErrors = false;\r\n vm.errorList = [];\r\n vm.disableUploadButton = true;\r\n $(\"#dropzone1 .dz-progress .dz-upload\").hide();\r\n $(\".bulkupload-progress\").width(0);\r\n $(\".ajax-loader\").hide();\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n vm.showSuccess = false;\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noOfRecords = 0;\r\n\r\n var dropzoneChildren = $(\"#dropzone1\").children();\r\n $(\"#dropzone1\").empty();\r\n $(\"#dropzone1\").append(dropzoneChildren[0]);\r\n $(\"#dropzone1\").append(dropzoneChildren[dropzoneChildren.length - 1]);\r\n\r\n vm.loaderFlag = true;\r\n vm.hideLoader();\r\n vm.file = file;\r\n\r\n var fd = new FormData();\r\n fd.append('file', file);\r\n var url = verifyBulkPost.replace(\"{userId}\", vm.userId);\r\n $http.post(url, fd, {\r\n transformRequest: angular.identity,\r\n headers: { 'Content-Type': undefined, \"Token\":token,'UserId': vm.userId },\r\n timeout: vm.canceler.promise\r\n })\r\n .success(function (data) {\r\n vm.MasterInventory = data.MasterItemModel;\r\n if(data.Errors.length > 0)\r\n {\r\n vm.Errors = data.Errors;\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Invalid records!\";\r\n vm.successMsg = \"There are \" + data.Errors.length + \" errors. To see them click here\";\r\n vm.showErrors = true;\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n }\r\n else\r\n {\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = false;\r\n vm.successTitle = \"Validation completed\";\r\n vm.successMsg = \"Inventory data validated successfully. Total \" + vm.MasterInventory.length + \" found. Please click on Upload button to proceed.\";\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n } \r\n })\r\n .error(function (errorMessage) {\r\n $scope.$parent.$parent.main.showFailure(\"Failed\", \"Unable to upload document, technical error. Please contact to administrator\");\r\n });\r\n },\r\n 'success': function (file, xhr) {\r\n },\r\n 'error': function (file, errorMessage) {\r\n }\r\n };\r\n\r\n vm.uploadFile = function () {\r\n if (vm.MasterInventory && vm.MasterInventory.length > 0) {\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n $http.post(addBulkPost,\r\n vm.MasterInventory, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token,'UserId': vm.userId }\r\n })\r\n .success(function (data) {\r\n console.log(data);\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload completed\";\r\n vm.successMsg = \"Master Inventory are uploaded in bulk successfully\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n vm.progressbar.complete();\r\n })\r\n .error(function (errorMessage) {\r\n console.log(errorMessage)\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload Failed\";\r\n vm.successMsg = errorMessage;\r\n vm.noMsg = [];\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n vm.progressbar.complete();\r\n });\r\n } \r\n }\r\n\r\n\r\n});\nangular.module('inspinia').controller('BulkUploadCustomerLatestController', function ($stateParams, toaster, \r\n $http, DTOptionsBuilder, $localStorage, $location, $timeout, DTColumnDefBuilder, $rootScope, $log, \r\n ngProgressFactory, $q, $anchorScroll, ApiURL, CMSToken, CMSURL, CMSAminToken) {\r\n var vm = this;\r\n vm.userId = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n vm.showErrors = false;\r\n vm.showSuccess = false;\r\n vm.errorList = [];\r\n vm.disableUploadButton = true;\r\n vm.customers = [];\r\n vm.progressbar = ngProgressFactory.createInstance();\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noMsg = [];\r\n vm.noOfRecords = 0;\r\n vm.file = null;\r\n vm.tickets = [];\r\n vm.selectedTicket = \"\";\r\n vm.templateUrl = ApiURL+'/api/Template/';\r\n\r\n var verifyBulkPost = ApiURL+\"/api/BulkUpload/BulkUploadCustomers?reqUserId={userId}\";\r\n var addBulkPost = ApiURL+\"/api/Customer/CreateCustomerInBulk?reqUserId={userId}\";\r\n\r\n if (!vm.userId) {\r\n $location.path('/Login');\r\n }\r\n\r\n vm.dzOptions = {\r\n paramName: 'photo',\r\n maxFilesize: '100',\r\n url: '/',\r\n acceptedFiles: '.xlsx, .xls',\r\n dictDefaultMessage: 'Click to add or drop files',\r\n dictRemoveFile: 'Remove'\r\n };\r\n\r\n vm.dtOptions = DTOptionsBuilder.newOptions().withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withButtons([])\r\n .withDisplayLength(5).withOption('lengthMenu', [5, 10, 15, 20])\r\n .withOption('order', []);;\r\n\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable()\r\n // DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(4).notSortable()\r\n ];\r\n\r\n vm.dtColumnDefs1 = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable()\r\n // DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(7).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(8).notSortable()\r\n ];\r\n\r\n vm.dtColumnDefs2 = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable()\r\n // DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(7).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(8).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(9).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(10).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(11).notSortable()\r\n ];\r\n\r\n vm.dtColumnDefs3 = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable()\r\n ];\r\n\r\n vm.loaderFlag = false;\r\n vm.hideLoader = function () {\r\n if (vm.loaderFlag) {\r\n $rootScope.$broadcast(\"loader_hide\");\r\n $timeout(function () { vm.loaderFlag = false; }, 1000);\r\n $timeout(vm.hideLoader, 1);\r\n }\r\n }\r\n\r\n vm.scrollDwn = function () {\r\n $(\"html, body\").animate({ scrollTop: $(document).height() - $(window).height() }, 900);\r\n // $location.hash('error_datatable');\r\n // $anchorScroll();\r\n }\r\n\r\n vm.dzCallbacks = {\r\n 'addedfile': function (file) {\r\n vm.showErrors = false;\r\n vm.errorList = [];\r\n vm.disableUploadButton = true;\r\n vm.users = [];\r\n vm.customers = [];\r\n vm.tickets = [];\r\n vm.cms = [];\r\n $(\"#dropzone1 .dz-progress .dz-upload\").hide();\r\n $(\".bulkupload-progress\").width(0);\r\n $(\".ajax-loader\").hide();\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n vm.showSuccess = false;\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noOfRecords = 0;\r\n\r\n var dropzoneChildren = $(\"#dropzone1\").children();\r\n $(\"#dropzone1\").empty();\r\n $(\"#dropzone1\").append(dropzoneChildren[0]);\r\n $(\"#dropzone1\").append(dropzoneChildren[dropzoneChildren.length - 1]);\r\n\r\n vm.loaderFlag = true;\r\n vm.hideLoader();\r\n vm.file = file;\r\n\r\n var fd = new FormData();\r\n fd.append('file', file);\r\n var url = verifyBulkPost.replace(\"{userId}\", vm.userId);\r\n $http.post(url, fd, {\r\n transformRequest: angular.identity,\r\n headers: { 'Content-Type': undefined, \"Token\":token,'UserId': vm.userId },\r\n timeout: vm.canceler.promise\r\n })\r\n .success(function (data) {\r\n vm.customers = data.Customers;\r\n if(data.CustomerErrors.length==0 && data.CustomerLocationErrors.length==0 \r\n && data.CustomerContactErrors.length==0 && data.AssetErrors.length == 0){\r\n vm.customers = data.Customers;\r\n vm.showSuccess = true;\r\n\r\n vm.disableUploadButton = false;\r\n vm.successTitle = \"Validation completed\";\r\n vm.successMsg = \"Customer data is validated successfully. Please click on start upload button to proceed.\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n vm.progressbar.complete();\r\n } else {\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = true;\r\n vm.TotalErrorCounts = data.CustomerErrors.length + data.CustomerLocationErrors.length + data.CustomerContactErrors.length;\r\n vm.successTitle = \"Invalid records!\";\r\n vm.successMsg = \"There are \" + vm.TotalErrorCounts + \" errors. To see them click here\";\r\n vm.noMsg = [];\r\n vm.showErrors = true;\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n if(data.CustomerErrors.length>0){\r\n vm.Customers = data.CustomerErrors;\r\n // vm.Customers = {};\r\n // angular.forEach(data.CustomerErrors, function(err){\r\n // vm.Customers[(err.Row-1)] = data.CustomerErrors[(err.Row-1)];\r\n // vm.Customers[(err.Row-1)].ItemErrors = err.ItemErrors;\r\n // });\r\n }\r\n if(data.CustomerLocationErrors.length>0){\r\n vm.CustomerLocations = data.CustomerLocationErrors;\r\n // vm.CustomerLocations = {};\r\n // angular.forEach(data.CustomerLocationErrors, function(err){\r\n // vm.CustomerLocations = \r\n // vm.CustomerLocations[(err.Row-1)].ItemErrors = err.ItemErrors;\r\n // });\r\n }\r\n if(data.CustomerContactErrors.length>0){\r\n vm.CustomerContacts = data.CustomerContactErrors;\r\n // vm.CustomerContacts = {};\r\n // angular.forEach(data.CustomerContactErrors, function(err){\r\n // vm.CustomerContacts[(err.Row-1)] = data.CustomerContactErrors[(err.Row-1)];\r\n // vm.CustomerContacts[(err.Row-1)].ItemErrors = err.ItemErrors;\r\n // });\r\n }\r\n if(data.AssetErrors.length > 0)\r\n {\r\n vm.AssetErrors = data.AssetErrors;\r\n }\r\n // if (data.rowErrors.length > 0) {\r\n // vm.dtColumnDefs = [\r\n // DTColumnDefBuilder.newColumnDef(0).notSortable()\r\n // ];\r\n // angular.forEach(data.Errors, function (v, k) {\r\n\r\n // if (v.ItemErrors.length > 0) {\r\n // e1 = vm.customers[v.Row];\r\n // angular.forEach(v.ItemErrors, function (v1, k1) {\r\n // e1.message = e1.message != undefined && e1.message != \"undefined\" && e1.message.length > 0 ? e1.message + \",\" + v1.Message : v1.Message;\r\n // });\r\n // }\r\n // });\r\n // }\r\n }\r\n })\r\n .error(function (errorMessage) {\r\n // vm.showSuccess = true;\r\n // $(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n // vm.progressbar.complete();\r\n // vm.successTitle = \"Validation of records failed\";\r\n // vm.successMsg = \"Error in data validation, please correct the data and re-upload file\";\r\n // $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n // vm.progressbar.complete();\r\n $scope.$parent.$parent.main.showFailure(\"Failed\", \"Unable to upload document, technical error. Please contact to administrator\");\r\n });\r\n },\r\n 'success': function (file, xhr) {\r\n },\r\n 'error': function (file, errorMessage) {\r\n }\r\n };\r\n\r\n vm.dtInstance = {};\r\n vm.dtInstance1 = {};\r\n vm.dtInstance2 = {};\r\n\r\n vm.searchTable = function () {\r\n vm.dtInstance.DataTable.search(vm.searchText).draw();\r\n vm.dtInstance1.DataTable.search(vm.searchText).draw();\r\n vm.dtInstance2.DataTable.search(vm.searchText).draw();\r\n };\r\n\r\n format = function(n){\r\n var childData = '';\r\n angular.forEach(n.ItemErrors, function(d, i){\r\n $log.log(d, i);\r\n childData += ''+\r\n ''+\r\n ''+\r\n ''+\r\n ''+\r\n '';\r\n })\r\n\r\n childData += '
Column Name:'+d.Name+'Error:'+d.Message+'
';\r\n return childData;\r\n }\r\n // format = function(ticket){\r\n // return ''+\r\n // ''+\r\n // ''+\r\n // ''+\r\n // ''+\r\n // '
Location:Sample value
';\r\n // }\r\n\r\n vm.showError = function(dtInstance, $event, n){\r\n var tr = angular.element($event.currentTarget).closest(\"tr\");\r\n var row = dtInstance.DataTable.row( tr );\r\n if ( row.child.isShown() ) {\r\n // This row is already open - close it\r\n row.child.hide();\r\n tr.removeClass('shown');\r\n } else {\r\n // Open this row\r\n row.child( format(n) ).show();\r\n tr.addClass('shown');\r\n }\r\n }\r\n\r\n vm.addFiles = function () {\r\n $(\"#dropzone1\").trigger(\"click\");\r\n }\r\n\r\n vm.uploadFile = function () {\r\n if (vm.customers && vm.customers.length > 0) {\r\n\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n\r\n $http.post(ApiURL + '/api/Customer/CreateCustomerInBulk?reqUserId=' + vm.userId,\r\n vm.customers, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': vm.userId }\r\n })\r\n .success(function (data) {\r\n console.log(data);\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload completed\";\r\n vm.successMsg = \"Customers are created in bulk successfully\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n vm.progressbar.complete();\r\n })\r\n .error(function (errorMessage) {\r\n console.log(errorMessage)\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload Failed\";\r\n vm.successMsg = errorMessage;\r\n vm.noMsg = [];\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n vm.progressbar.complete();\r\n });\r\n } \r\n }\r\n\r\n vm.getTickets = function() {\r\n $http.get(ApiURL + '/api/' + vm.userId + '/Template', {headers: {'Token': token,'UserId': vm.userId}})\r\n .success(function (data) {\r\n vm.tickets=[{TemplateId:1, TemplateName:'Select Template'}];\r\n angular.forEach(data, function(d){\r\n console.log(d.TemplateId, d.TemplateName);\r\n vm.tickets.push({TemplateId:d.TemplateId, TemplateName:d.TemplateName});\r\n })\r\n vm.selectedTicket = vm.tickets[0];\r\n });\r\n\r\n }\r\n vm.getTickets();\r\n});\nangular.module('inspinia').controller('BulkUploadCustomerController', function ($stateParams, toaster, \r\n $http, DTOptionsBuilder, $localStorage, $location, $timeout, DTColumnDefBuilder, $rootScope, $log, \r\n ngProgressFactory, $q, $anchorScroll, ApiURL, CMSToken, CMSURL, CMSAminToken) {\r\n var vm = this;\r\n vm.userId = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n vm.showErrors = false;\r\n vm.showSuccess = false;\r\n vm.errorList = [];\r\n vm.disableUploadButton = true;\r\n vm.customers = [];\r\n vm.progressbar = ngProgressFactory.createInstance();\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noMsg = [];\r\n vm.noOfRecords = 0;\r\n vm.file = null;\r\n vm.tickets = [];\r\n vm.selectedTicket = \"\";\r\n vm.templateUrl = ApiURL+'/api/Template/';\r\n\r\n var verifyBulkPost = ApiURL+\"/api/BulkUpload/BulkUploadCustomers?reqUserId={userId}\";\r\n var addBulkPost = ApiURL+\"/api/Customer/CreateCustomerInBulk?reqUserId={userId}\";\r\n\r\n if (!vm.userId) {\r\n $location.path('/Login');\r\n }\r\n\r\n vm.dzOptions = {\r\n paramName: 'photo',\r\n maxFilesize: '100',\r\n url: '/',\r\n acceptedFiles: '.xlsx, .xls',\r\n dictDefaultMessage: 'Click to add or drop files',\r\n dictRemoveFile: 'Remove'\r\n };\r\n\r\n vm.dtOptions = DTOptionsBuilder.newOptions().withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withButtons([])\r\n .withDisplayLength(5).withOption('lengthMenu', [5, 10, 15, 20])\r\n .withOption('order', []);;\r\n\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable()\r\n // DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(4).notSortable()\r\n ];\r\n\r\n vm.dtColumnDefs1 = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable()\r\n // DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(7).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(8).notSortable()\r\n ];\r\n\r\n vm.dtColumnDefs2 = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable()\r\n // DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(7).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(8).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(9).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(10).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(11).notSortable()\r\n ];\r\n\r\n vm.dtColumnDefs3 = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable()\r\n ];\r\n\r\n vm.loaderFlag = false;\r\n vm.hideLoader = function () {\r\n if (vm.loaderFlag) {\r\n $rootScope.$broadcast(\"loader_hide\");\r\n $timeout(function () { vm.loaderFlag = false; }, 1000);\r\n $timeout(vm.hideLoader, 1);\r\n }\r\n }\r\n\r\n vm.scrollDwn = function () {\r\n $(\"html, body\").animate({ scrollTop: $(document).height() - $(window).height() }, 900);\r\n // $location.hash('error_datatable');\r\n // $anchorScroll();\r\n }\r\n\r\n vm.dzCallbacks = {\r\n 'addedfile': function (file) {\r\n vm.showErrors = false;\r\n vm.errorList = [];\r\n vm.disableUploadButton = true;\r\n vm.users = [];\r\n vm.customers = [];\r\n vm.tickets = [];\r\n vm.cms = [];\r\n $(\"#dropzone1 .dz-progress .dz-upload\").hide();\r\n $(\".bulkupload-progress\").width(0);\r\n $(\".ajax-loader\").hide();\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n vm.showSuccess = false;\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noOfRecords = 0;\r\n\r\n var dropzoneChildren = $(\"#dropzone1\").children();\r\n $(\"#dropzone1\").empty();\r\n $(\"#dropzone1\").append(dropzoneChildren[0]);\r\n $(\"#dropzone1\").append(dropzoneChildren[dropzoneChildren.length - 1]);\r\n\r\n vm.loaderFlag = true;\r\n vm.hideLoader();\r\n vm.file = file;\r\n\r\n var fd = new FormData();\r\n fd.append('file', file);\r\n var url = verifyBulkPost.replace(\"{userId}\", vm.userId);\r\n $http.post(url, fd, {\r\n transformRequest: angular.identity,\r\n headers: { 'Content-Type': undefined, \"Token\":token,'UserId': vm.userId },\r\n timeout: vm.canceler.promise\r\n })\r\n .success(function (data) {\r\n vm.customers = data.Customers;\r\n if(data.CustomerErrors.length==0 && data.CustomerLocationErrors.length==0 \r\n && data.CustomerContactErrors.length==0 && data.AssetErrors.length == 0){\r\n vm.customers = data.Customers;\r\n vm.showSuccess = true;\r\n\r\n vm.disableUploadButton = false;\r\n vm.successTitle = \"Validation completed\";\r\n vm.successMsg = \"Customer data is validated successfully. Please click on start upload button to proceed.\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n vm.progressbar.complete();\r\n } else {\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = true;\r\n vm.TotalErrorCounts = data.CustomerErrors.length + data.CustomerLocationErrors.length + data.CustomerContactErrors.length;\r\n vm.successTitle = \"Invalid records!\";\r\n vm.successMsg = \"There are \" + vm.TotalErrorCounts + \" errors. To see them click here\";\r\n vm.noMsg = [];\r\n vm.showErrors = true;\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n if(data.CustomerErrors.length>0){\r\n vm.Customers = data.CustomerErrors;\r\n // vm.Customers = {};\r\n // angular.forEach(data.CustomerErrors, function(err){\r\n // vm.Customers[(err.Row-1)] = data.CustomerErrors[(err.Row-1)];\r\n // vm.Customers[(err.Row-1)].ItemErrors = err.ItemErrors;\r\n // });\r\n }\r\n if(data.CustomerLocationErrors.length>0){\r\n vm.CustomerLocations = data.CustomerLocationErrors;\r\n // vm.CustomerLocations = {};\r\n // angular.forEach(data.CustomerLocationErrors, function(err){\r\n // vm.CustomerLocations = \r\n // vm.CustomerLocations[(err.Row-1)].ItemErrors = err.ItemErrors;\r\n // });\r\n }\r\n if(data.CustomerContactErrors.length>0){\r\n vm.CustomerContacts = data.CustomerContactErrors;\r\n // vm.CustomerContacts = {};\r\n // angular.forEach(data.CustomerContactErrors, function(err){\r\n // vm.CustomerContacts[(err.Row-1)] = data.CustomerContactErrors[(err.Row-1)];\r\n // vm.CustomerContacts[(err.Row-1)].ItemErrors = err.ItemErrors;\r\n // });\r\n }\r\n if(data.AssetErrors.length > 0)\r\n {\r\n vm.AssetErrors = data.AssetErrors;\r\n }\r\n // if (data.rowErrors.length > 0) {\r\n // vm.dtColumnDefs = [\r\n // DTColumnDefBuilder.newColumnDef(0).notSortable()\r\n // ];\r\n // angular.forEach(data.Errors, function (v, k) {\r\n\r\n // if (v.ItemErrors.length > 0) {\r\n // e1 = vm.customers[v.Row];\r\n // angular.forEach(v.ItemErrors, function (v1, k1) {\r\n // e1.message = e1.message != undefined && e1.message != \"undefined\" && e1.message.length > 0 ? e1.message + \",\" + v1.Message : v1.Message;\r\n // });\r\n // }\r\n // });\r\n // }\r\n }\r\n })\r\n .error(function (errorMessage) {\r\n // vm.showSuccess = true;\r\n // $(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n // vm.progressbar.complete();\r\n // vm.successTitle = \"Validation of records failed\";\r\n // vm.successMsg = \"Error in data validation, please correct the data and re-upload file\";\r\n // $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n // vm.progressbar.complete();\r\n $scope.$parent.$parent.main.showFailure(\"Failed\", \"Unable to upload document, technical error. Please contact to administrator\");\r\n });\r\n },\r\n 'success': function (file, xhr) {\r\n },\r\n 'error': function (file, errorMessage) {\r\n }\r\n };\r\n\r\n vm.dtInstance = {};\r\n vm.dtInstance1 = {};\r\n vm.dtInstance2 = {};\r\n\r\n vm.searchTable = function () {\r\n vm.dtInstance.DataTable.search(vm.searchText).draw();\r\n vm.dtInstance1.DataTable.search(vm.searchText).draw();\r\n vm.dtInstance2.DataTable.search(vm.searchText).draw();\r\n };\r\n\r\n format = function(n){\r\n var childData = '';\r\n angular.forEach(n.ItemErrors, function(d, i){\r\n $log.log(d, i);\r\n childData += ''+\r\n ''+\r\n ''+\r\n ''+\r\n ''+\r\n '';\r\n })\r\n\r\n childData += '
Column Name:'+d.Name+'Error:'+d.Message+'
';\r\n return childData;\r\n }\r\n // format = function(ticket){\r\n // return ''+\r\n // ''+\r\n // ''+\r\n // ''+\r\n // ''+\r\n // '
Location:Sample value
';\r\n // }\r\n\r\n vm.showError = function(dtInstance, $event, n){\r\n var tr = angular.element($event.currentTarget).closest(\"tr\");\r\n var row = dtInstance.DataTable.row( tr );\r\n if ( row.child.isShown() ) {\r\n // This row is already open - close it\r\n row.child.hide();\r\n tr.removeClass('shown');\r\n } else {\r\n // Open this row\r\n row.child( format(n) ).show();\r\n tr.addClass('shown');\r\n }\r\n }\r\n\r\n vm.addFiles = function () {\r\n $(\"#dropzone1\").trigger(\"click\");\r\n }\r\n\r\n vm.uploadFile = function () {\r\n if (vm.customers && vm.customers.length > 0) {\r\n\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n\r\n $http.post(ApiURL + '/api/Customer/CreateCustomerInBulk?reqUserId=' + vm.userId,\r\n vm.customers, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': vm.userId }\r\n })\r\n .success(function (data) {\r\n console.log(data);\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload completed\";\r\n vm.successMsg = \"Customers are created in bulk successfully\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n vm.progressbar.complete();\r\n })\r\n .error(function (errorMessage) {\r\n console.log(errorMessage)\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload Failed\";\r\n vm.successMsg = errorMessage;\r\n vm.noMsg = [];\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n vm.progressbar.complete();\r\n });\r\n } \r\n }\r\n\r\n vm.getTickets = function() {\r\n $http.get(ApiURL + '/api/' + vm.userId + '/Template', {headers: {'Token': token,'UserId': vm.userId}})\r\n .success(function (data) {\r\n vm.tickets=[{TemplateId:1, TemplateName:'Select Template'}];\r\n angular.forEach(data, function(d){\r\n console.log(d.TemplateId, d.TemplateName);\r\n vm.tickets.push({TemplateId:d.TemplateId, TemplateName:d.TemplateName});\r\n })\r\n vm.selectedTicket = vm.tickets[0];\r\n });\r\n\r\n }\r\n vm.getTickets();\r\n});\nangular.module('inspinia').controller('bulkuploadCRMTeamMemberController', function ($stateParams, $scope, toaster, \r\n $http, DTOptionsBuilder, $localStorage, $location, $timeout, DTColumnDefBuilder, $rootScope,\r\n ngProgressFactory, $q, ApiURL,AcessoriesURL) {\r\n var vm = this;\r\n vm.userId = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n vm.showErrors = false;\r\n vm.showSuccess = false;\r\n vm.errorList = [];\r\n vm.disableUploadButton = true;\r\n vm.MasterInventory = [];\r\n vm.Errors = [];\r\n vm.progressbar = ngProgressFactory.createInstance();\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noMsg = [];\r\n vm.noOfRecords = 0;\r\n vm.file = null;\r\n\r\n var verifyBulkPost = ApiURL+\"/api/BulkUpload/MediaUpload?reqUserId={userId}&action=Create\";\r\n var addBulkPost = AcessoriesURL+\"/api/MMFMasterInventory/CreateNewPartInBulk\";\r\n\r\n if (!vm.userId) {\r\n $location.path('/Login');\r\n }\r\n\r\n vm.dzOptions = {\r\n paramName: 'photo',\r\n maxFilesize: '100',\r\n url: '/',\r\n acceptedFiles: '.xlsx, .xls',\r\n dictDefaultMessage: 'Click to add or drop files',\r\n dictRemoveFile: 'Remove'\r\n };\r\n\r\n vm.dtOptions = DTOptionsBuilder.newOptions().withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withButtons([])\r\n .withDisplayLength(5).withOption('lengthMenu', [5, 10, 15, 20])\r\n .withOption('order', []);\r\n\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable()\r\n ];\r\n\r\n vm.dtColumnDefs1 = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable()\r\n ];\r\n\r\n vm.dtColumnDefs2 = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable()\r\n ];\r\n\r\n vm.loaderFlag = false;\r\n vm.hideLoader = function () {\r\n if (vm.loaderFlag) {\r\n $rootScope.$broadcast(\"loader_hide\");\r\n $timeout(function () { vm.loaderFlag = false; }, 1000);\r\n $timeout(vm.hideLoader, 1);\r\n }\r\n }\r\n\r\n vm.scrollDwn = function () {\r\n $(\"html, body\").animate({ scrollTop: $(document).height() - $(window).height() }, 900);\r\n // $location.hash('error_datatable');\r\n // $anchorScroll();\r\n }\r\n\r\n vm.dzCallbacks = {\r\n 'addedfile': function (file) {\r\n vm.showErrors = false;\r\n vm.errorList = [];\r\n vm.disableUploadButton = true;\r\n $(\"#dropzone1 .dz-progress .dz-upload\").hide();\r\n $(\".bulkupload-progress\").width(0);\r\n $(\".ajax-loader\").hide();\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n vm.showSuccess = false;\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noOfRecords = 0;\r\n\r\n var dropzoneChildren = $(\"#dropzone1\").children();\r\n $(\"#dropzone1\").empty();\r\n $(\"#dropzone1\").append(dropzoneChildren[0]);\r\n $(\"#dropzone1\").append(dropzoneChildren[dropzoneChildren.length - 1]);\r\n\r\n vm.loaderFlag = true;\r\n vm.hideLoader();\r\n vm.file = file;\r\n\r\n var fd = new FormData();\r\n fd.append('file', file);\r\n var url = verifyBulkPost.replace(\"{userId}\", vm.userId);\r\n $http.post(url, fd, {\r\n transformRequest: angular.identity,\r\n headers: { 'Content-Type': undefined, \"Token\":token,'UserId': vm.userId },\r\n timeout: vm.canceler.promise\r\n })\r\n .success(function (data) {\r\n vm.MasterInventory = data.MasterItemModel;\r\n if(data.Errors.length > 0)\r\n {\r\n vm.Errors = data.Errors;\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Invalid records!\";\r\n vm.successMsg = \"There are \" + data.Errors.length + \" errors. To see them click here\";\r\n vm.showErrors = true;\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n }\r\n else\r\n {\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = false;\r\n vm.successTitle = \"Validation completed\";\r\n vm.successMsg = \"Inventory data validated successfully. Total \" + vm.MasterInventory.length + \" found. Please click on Upload button to proceed.\";\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n } \r\n })\r\n .error(function (errorMessage) {\r\n $scope.$parent.$parent.main.showFailure(\"Failed\", \"Unable to upload document, technical error. Please contact to administrator\");\r\n });\r\n },\r\n 'success': function (file, xhr) {\r\n },\r\n 'error': function (file, errorMessage) {\r\n }\r\n };\r\n\r\n vm.uploadFile = function () {\r\n if (vm.MasterInventory && vm.MasterInventory.length > 0) {\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n $http.post(addBulkPost,\r\n vm.MasterInventory, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token,'UserId': vm.userId }\r\n })\r\n .success(function (data) {\r\n console.log(data);\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload completed\";\r\n vm.successMsg = \"Master Inventory are uploaded in bulk successfully\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n vm.progressbar.complete();\r\n })\r\n .error(function (errorMessage) {\r\n console.log(errorMessage)\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload Failed\";\r\n vm.successMsg = errorMessage;\r\n vm.noMsg = [];\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n vm.progressbar.complete();\r\n });\r\n } \r\n }\r\n\r\n\r\n});\nangular.module('inspinia').controller('BulkUploadCMSController', function ($stateParams, toaster, $http, DTOptionsBuilder, $localStorage, $location, $timeout, DTColumnDefBuilder, $rootScope, ngProgressFactory, $q, $anchorScroll, ApiURL, CMSToken, CMSURL, CMSAminToken) {\r\n var vm = this;\r\n vm.userId = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n vm.showErrors = false;\r\n vm.showSuccess = false;\r\n vm.errorList = [];\r\n vm.disableUploadButton = true;\r\n vm.users = [];\r\n vm.customers = [];\r\n vm.tickets = [];\r\n vm.cms = [];\r\n vm.bulkuploadType = \"cms\";\r\n vm.progressbar = ngProgressFactory.createInstance();\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noMsg = [];\r\n vm.noOfRecords = 0;\r\n vm.file = null;\r\n vm.tickets = [];\r\n vm.selectedTicket = \"\";\r\n vm.templateUrl = ApiURL+'/api/Template/';\r\n\r\n var verifyBulkPost = CMSURL+\"/post/{accountId}/verifyBulkPost\";\r\n var addBulkPost = CMSURL+\"/post/{accountId}/{userId}/addBulkPost\";\r\n\r\n if (!vm.userId) {\r\n $location.path('/Login');\r\n } else if (!vm.bulkuploadType || vm.bulkuploadType.length == 0) {\r\n $location.path('/index/TeamMember');\r\n }\r\n\r\n if (vm.bulkuploadType == 'cms') {\r\n vm.dzOptions = {\r\n paramName: 'photo',\r\n maxFilesize: '100',\r\n url: '/',\r\n acceptedFiles: '.zip',\r\n dictDefaultMessage: 'Click to add or drop files',\r\n dictRemoveFile: 'Remove'\r\n };\r\n } else {\r\n vm.dzOptions = {\r\n paramName: 'photo',\r\n maxFilesize: '100',\r\n url: '/',\r\n acceptedFiles: '.xlsx, .xls',\r\n dictDefaultMessage: 'Click to add or drop files',\r\n dictRemoveFile: 'Remove'\r\n };\r\n }\r\n\r\n vm.dtOptions = DTOptionsBuilder.newOptions().withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers').withDisplayLength(5).withOption('lengthMenu', [5, 10, 15, 20]);\r\n\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable()\r\n ];\r\n\r\n vm.loaderFlag = false;\r\n vm.hideLoader = function () {\r\n if (vm.loaderFlag) {\r\n $rootScope.$broadcast(\"loader_hide\");\r\n $timeout(function () { vm.loaderFlag = false; }, 1000);\r\n $timeout(vm.hideLoader, 1);\r\n }\r\n }\r\n\r\n vm.scrollDwn = function () {\r\n $(\"html, body\").animate({ scrollTop: $(document).height() - $(window).height() }, 900);\r\n // $location.hash('error_datatable');\r\n // $anchorScroll();\r\n }\r\n\r\n vm.dzCallbacks = {\r\n 'addedfile': function (file) {\r\n vm.showErrors = false;\r\n vm.errorList = [];\r\n vm.disableUploadButton = true;\r\n vm.users = [];\r\n vm.customers = [];\r\n vm.tickets = [];\r\n vm.cms = [];\r\n $(\"#dropzone1 .dz-progress .dz-upload\").hide();\r\n $(\".bulkupload-progress\").width(0);\r\n $(\".ajax-loader\").hide();\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n vm.showSuccess = false;\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noOfRecords = 0;\r\n\r\n var dropzoneChildren = $(\"#dropzone1\").children();\r\n $(\"#dropzone1\").empty();\r\n $(\"#dropzone1\").append(dropzoneChildren[0]);\r\n $(\"#dropzone1\").append(dropzoneChildren[dropzoneChildren.length - 1]);\r\n\r\n vm.loaderFlag = true;\r\n vm.hideLoader();\r\n vm.file = file;\r\n\r\n var fd = new FormData();\r\n fd.append('file', file);\r\n if (vm.bulkuploadType != 'cms') {\r\n $http.post(ApiURL + '/api/BulkUpload/MediaUpload?reqUserId=' + vm.userId, fd, {\r\n transformRequest: angular.identity,\r\n headers: { 'Content-Type': undefined, 'Token': token },\r\n timeout: vm.canceler.promise\r\n })\r\n .success(function (data) {\r\n $(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n if (vm.bulkuploadType == 'user') {\r\n vm.users = data.Users;\r\n vm.noOfRecords = data.Users ? data.Users.length : 0;\r\n } else if (vm.bulkuploadType == 'customer') {\r\n vm.customers = data.Customers;\r\n vm.noOfRecords = data.Customers ? data.Customers.length : 0;\r\n } else if (vm.bulkuploadType == 'ticket') {\r\n vm.tickets = data.Tickets;\r\n vm.noOfRecords = data.Tickets ? data.Tickets.length : 0;\r\n }\r\n\r\n $(\"#dropzone1>div:last-child\").removeClass(\"dz-error\").addClass(\"dz-success\");\r\n if (data.Errors.length > 0) {\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable()\r\n ];\r\n angular.forEach(data.Errors, function (v, k) {\r\n\r\n if (v.ItemErrors.length > 0) {\r\n var e1 = {};\r\n angular.forEach(v.ItemErrors, function (v1, k1) {\r\n e1.message = e1.message != undefined && e1.message != \"undefined\" && e1.message.length > 0 ? e1.message + \",\" + v1.Message : v1.Message;\r\n });\r\n if (v.Row > 0 && data.Users && data.Users.length > 0 && data.Users.length >= v.Row) {\r\n e1.data = data.Users[v.Row - 1];\r\n } if (v.Row > 0 && data.Tickets && data.Tickets.length > 0 && data.Tickets.length >= v.Row) {\r\n e1.data = data.Tickets[v.Row - 1];\r\n } if (v.Row > 0 && data.Customers && data.Customers.length > 0 && data.Customers.length >= v.Row) {\r\n e1.data = data.Customers[v.Row - 1];\r\n }\r\n vm.errorList.push(e1);\r\n }\r\n });\r\n\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Invalid records!\";\r\n vm.successMsg = \"There are \" + vm.errorList.length + \" errors. To see them click here\";\r\n vm.noMsg = [];\r\n vm.showErrors = true;\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n } else if (data.ErrorCode == 103) {\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Missing columns in excel file\";\r\n vm.successMsg = \"Following columns are missing in excel file. Please add them and re-upload file\";\r\n vm.noMsg = [];\r\n angular.forEach(data.MissingColumns, function (k, v) {\r\n vm.noMsg.push(k);\r\n });\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n } else if (data.Message && data.Message.length>0) {\r\n\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Validation failed\";\r\n vm.successMsg = data.Message\r\n vm.noMsg = [];\r\n angular.forEach(data.MissingColumns, function (k, v) {\r\n vm.noMsg.push(k);\r\n });\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\r\n } else {\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = false;\r\n vm.successTitle = \"Validation completed\";\r\n vm.successMsg = vm.bulkuploadType.charAt(0).toUpperCase() + vm.bulkuploadType.slice(1) + (vm.noOfRecords > 1 ? \"s\" : \"\") + \" are validated successfully. Total \" + vm.noOfRecords + \" \" + vm.bulkuploadType + (vm.noOfRecords > 1 ? \"s\" : \"\") + \" found. Please click on start upload button to proceed.\";\r\n // vm.successMsg = \"You have successfully created \"+vm.bulkuploadType+\"s in bulk\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n }\r\n $(\"table th:first-child\").removeClass(\"sorting_asc\");\r\n vm.progressbar.complete();\r\n })\r\n .error(function (errorMessage) {\r\n $(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n vm.progressbar.complete();\r\n vm.successTitle = \"Validation of records failed\";\r\n vm.successMsg = \"Error in data validation, please correct the data and re-upload file\";\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n });\r\n } else {\r\n var url = verifyBulkPost.replace(\"{accountId}\", vm.userId);\r\n $http.post(url, fd, {\r\n transformRequest: angular.identity,\r\n headers: { 'Content-Type': undefined },\r\n timeout: vm.canceler.promise\r\n })\r\n .success(function (data) {\r\n if(data.errorCode==0 && data.result && data.result.success && data.result.success.length>0){\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = false;\r\n vm.successTitle = \"Validation completed\";\r\n vm.successMsg = \"CMS content is validated successfully. Please click on start upload button to proceed.\";\r\n // vm.successMsg = \"You have successfully created \"+vm.bulkuploadType+\"s in bulk\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n vm.progressbar.complete();\r\n\r\n } else if(data.validationFlag==false && data.rowErrors){\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Invalid records!\";\r\n vm.successMsg = \"There are \" + data.rowErrors.length + \" errors. To see them click here\";\r\n vm.noMsg = [];\r\n vm.showErrors = true;\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n if (data.rowErrors.length > 0) {\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable()\r\n ];\r\n angular.forEach(data.rowErrors, function (v, k) {\r\n\r\n if (v.error.length > 0) {\r\n var e1 = {};\r\n angular.forEach(v.error, function (v1, k1) {\r\n e1.message = e1.message != undefined && e1.message != \"undefined\" && e1.message.length > 0 ? e1.message + \",\" + v1 : v1;\r\n });\r\n e1.data=JSON.parse(v.content); \r\n vm.errorList.push(e1);\r\n }\r\n });\r\n }\r\n } else {\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = true;\r\n $(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n vm.progressbar.complete();\r\n vm.successTitle = \"Validation of records failed\";\r\n vm.successMsg = data.error+\". Please correct the data and re-upload file.\";\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n vm.progressbar.complete();\r\n }\r\n })\r\n .error(function (errorMessage) {\r\n vm.showSuccess = true;\r\n $(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n vm.progressbar.complete();\r\n vm.successTitle = \"Validation of records failed\";\r\n vm.successMsg = \"Error in data validation, please correct the data and re-upload file\";\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n vm.progressbar.complete();\r\n });\r\n }\r\n },\r\n 'success': function (file, xhr) {\r\n },\r\n 'error': function (file, errorMessage) {\r\n }\r\n };\r\n\r\n vm.addFiles = function () {\r\n $(\"#dropzone1\").trigger(\"click\");\r\n }\r\n\r\n vm.uploadFile = function () {\r\n if (vm.users && vm.users.length > 0) {\r\n\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n\r\n $http.post(ApiURL + '/api/User/' + vm.userId + '/UploadUsers',\r\n vm.users, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token }\r\n })\r\n .success(function (data) {\r\n console.log(data);\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload completed\";\r\n vm.successMsg = \"Users are created in bulk successfully\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n\r\n vm.progressbar.complete();\r\n })\r\n .error(function (errorMessage) {\r\n console.log(errorMessage)\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload Failed\";\r\n vm.successMsg = errorMessage;\r\n vm.noMsg = [];\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n vm.progressbar.complete();\r\n });\r\n\r\n } else if (vm.tickets && vm.tickets.length > 0) {\r\n\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n\r\n $http.post(ApiURL + '/api/Ticket/{TicketRequestModels}/' + vm.userId + '/UploadTickets',\r\n vm.tickets, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token }\r\n })\r\n .success(function (data) {\r\n console.log(data);\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload completed\";\r\n vm.successMsg = \"Jobs are created in bulk successfully\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n vm.progressbar.complete();\r\n })\r\n .error(function (errorMessage) {\r\n console.log(errorMessage)\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload Failed\";\r\n vm.successMsg = errorMessage;\r\n vm.noMsg = [];\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n vm.progressbar.complete();\r\n });\r\n\r\n } else if (vm.customers && vm.customers.length > 0) {\r\n\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n\r\n $http.post(ApiURL + '/api/Customer/{objCustomerRequestModels}/' + vm.userId + '/UploadCustomers',\r\n vm.customers, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token }\r\n })\r\n .success(function (data) {\r\n console.log(data);\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload completed\";\r\n vm.successMsg = \"Customers are created in bulk successfully\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n vm.progressbar.complete();\r\n })\r\n .error(function (errorMessage) {\r\n console.log(errorMessage)\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload Failed\";\r\n vm.successMsg = errorMessage;\r\n vm.noMsg = [];\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n vm.progressbar.complete();\r\n });\r\n } else if (vm.bulkuploadType == 'cms') {\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n\r\n var fd = new FormData();\r\n fd.append('file', vm.file);\r\n \r\n var url = addBulkPost.replace(\"{accountId}\", vm.userId).replace(\"{userId}\", vm.userId);\r\n $http.post(url, fd, {\r\n transformRequest: angular.identity,\r\n headers: { 'Content-Type': undefined, 'Token': token }\r\n })\r\n .success(function (data) {\r\n console.log(data);\r\n if (data.errorCode > 0) {\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload Failed\";\r\n vm.successMsg = data.error;\r\n vm.noMsg = [];\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n vm.progressbar.complete();\r\n\r\n } else if (data.result && data.result.success) {\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload completed\";\r\n vm.successMsg = \"Products are created in bulk successfully\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n vm.progressbar.complete();\r\n } else {\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload Failed\";\r\n vm.successMsg = \"Technical problem\";\r\n vm.noMsg = [];\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n vm.progressbar.complete();\r\n }\r\n })\r\n .error(function (errorMessage) {\r\n console.log(errorMessage)\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload Failed\";\r\n vm.successMsg = errorMessage;\r\n vm.noMsg = [];\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n vm.progressbar.complete();\r\n });\r\n }\r\n }\r\n\r\n vm.getTickets = function() {\r\n $http.get(ApiURL + '/api/' + vm.userId + '/Template', {\r\n headers: {'Token': token}\r\n })\r\n .success(function (data) {\r\n vm.tickets=[{TemplateId:1, TemplateName:'Select Template'}];\r\n angular.forEach(data, function(d){\r\n console.log(d.TemplateId, d.TemplateName);\r\n vm.tickets.push({TemplateId:d.TemplateId, TemplateName:d.TemplateName});\r\n })\r\n vm.selectedTicket = vm.tickets[0];\r\n });\r\n\r\n }\r\n vm.getTickets();\r\n});\nangular.module('inspinia').controller('bulkUploadUpdateOrderController', function ($stateParams, $scope, toaster, \r\n $http, DTOptionsBuilder, $localStorage, $location, $timeout, DTColumnDefBuilder, $rootScope,\r\n ngProgressFactory, $q, ApiURL,AcessoriesURL) {\r\n var vm = this;\r\n vm.userId = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n vm.showErrors = false;\r\n vm.showSuccess = false;\r\n vm.errorList = [];\r\n vm.disableUploadButton = true;\r\n vm.BulkUpdateOrder = [];\r\n vm.Errors = [];\r\n vm.progressbar = ngProgressFactory.createInstance();\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noMsg = [];\r\n vm.noOfRecords = 0;\r\n vm.file = null;\r\n\r\n var verifyBulkPost = ApiURL+\"/api/BulkUpload/MediaUpload?reqUserId={userId}&action=Create\";\r\n var addBulkPost = AcessoriesURL+\"/api/MMFOrder/BulkUploadofOrderListForKenstar\";\r\n\r\n if (!vm.userId) {\r\n $location.path('/Login');\r\n }\r\n\r\n vm.dzOptions = {\r\n paramName: 'photo',\r\n maxFilesize: '100',\r\n url: '/',\r\n acceptedFiles: '.xlsx, .xls',\r\n dictDefaultMessage: 'Click to add or drop files',\r\n dictRemoveFile: 'Remove'\r\n };\r\n\r\n vm.dtOptions = DTOptionsBuilder.newOptions().withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withButtons([])\r\n .withDisplayLength(5).withOption('lengthMenu', [5, 10, 15, 20])\r\n .withOption('order', []);\r\n\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable()\r\n ];\r\n\r\n vm.dtColumnDefs1 = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable()\r\n ];\r\n\r\n vm.dtColumnDefs2 = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable()\r\n ];\r\n\r\n vm.loaderFlag = false;\r\n vm.hideLoader = function () {\r\n if (vm.loaderFlag) {\r\n $rootScope.$broadcast(\"loader_hide\");\r\n $timeout(function () { vm.loaderFlag = false; }, 1000);\r\n $timeout(vm.hideLoader, 1);\r\n }\r\n }\r\n\r\n vm.scrollDwn = function () {\r\n $(\"html, body\").animate({ scrollTop: $(document).height() - $(window).height() }, 900);\r\n // $location.hash('error_datatable');\r\n // $anchorScroll();\r\n }\r\n\r\n vm.dzCallbacks = {\r\n 'addedfile': function (file) {\r\n vm.showErrors = false;\r\n vm.errorList = [];\r\n vm.disableUploadButton = true;\r\n $(\"#dropzone1 .dz-progress .dz-upload\").hide();\r\n $(\".bulkupload-progress\").width(0);\r\n $(\".ajax-loader\").hide();\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n vm.showSuccess = false;\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noOfRecords = 0;\r\n\r\n var dropzoneChildren = $(\"#dropzone1\").children();\r\n $(\"#dropzone1\").empty();\r\n $(\"#dropzone1\").append(dropzoneChildren[0]);\r\n $(\"#dropzone1\").append(dropzoneChildren[dropzoneChildren.length - 1]);\r\n\r\n vm.loaderFlag = true;\r\n vm.hideLoader();\r\n vm.file = file;\r\n\r\n var fd = new FormData();\r\n fd.append('file', file);\r\n var url = verifyBulkPost.replace(\"{userId}\", vm.userId);\r\n $http.post(url, fd, {\r\n transformRequest: angular.identity,\r\n headers: { 'Content-Type': undefined, \"Token\":token,'UserId': vm.userId },\r\n timeout: vm.canceler.promise\r\n })\r\n .success(function (data) {\r\n vm.BulkUpdateOrder = data.AllOrdersModel;\r\n if(data.Errors.length > 0)\r\n {\r\n vm.Errors = data.Errors;\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Invalid records!\";\r\n vm.successMsg = \"There are \" + data.Errors.length + \" errors. To see them click here\";\r\n vm.showErrors = true;\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n }\r\n else\r\n {\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = false;\r\n vm.successTitle = \"Validation completed\";\r\n vm.successMsg = \"Update Order data validated successfully. Total \" + vm.BulkUpdateOrder.length + \" found. Please click on Upload button to proceed.\";\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n } \r\n })\r\n .error(function (errorMessage) {\r\n $scope.$parent.$parent.main.showFailure(\"Failed\", \"Unable to upload document, technical error. Please contact to administrator\");\r\n });\r\n },\r\n 'success': function (file, xhr) {\r\n },\r\n 'error': function (file, errorMessage) {\r\n }\r\n };\r\n\r\n vm.uploadFile = function () {\r\n if (vm.BulkUpdateOrder && vm.BulkUpdateOrder.length > 0) {\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n vm.disableUploadButton = true;\r\n $http.post(addBulkPost,\r\n vm.BulkUpdateOrder, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token,'UserId': vm.userId }\r\n })\r\n .success(function (data) {\r\n console.log(data);\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload completed\";\r\n vm.successMsg = data.Message || \"Update Order are uploaded in bulk successfully\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n vm.progressbar.complete();\r\n })\r\n .error(function (errorMessage) {\r\n console.log(errorMessage)\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload Failed\";\r\n vm.successMsg = errorMessage;\r\n vm.noMsg = [];\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n vm.disableUploadButton = false;\r\n vm.progressbar.complete();\r\n });\r\n } \r\n }\r\n\r\n\r\n});\nangular.module('inspinia').controller('bulkCallBookingController', function ($stateParams, $scope, toaster, \r\n $http, DTOptionsBuilder, $localStorage, $location, $timeout, DTColumnDefBuilder, $rootScope,\r\n ngProgressFactory, $q, ApiURL,MMFCRMURL,AcessoriesURL) {\r\n var vm = this;\r\n vm.userId = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n vm.showErrors = false;\r\n vm.showSuccess = false;\r\n vm.errorList = [];\r\n vm.disableUploadButton = true;\r\n vm.BulkCallBooking = [];\r\n vm.Errors = [];\r\n vm.progressbar = ngProgressFactory.createInstance();\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noMsg = [];\r\n vm.noOfRecords = 0;\r\n vm.file = null;\r\n\r\n var verifyBulkPost = ApiURL+\"/api/BulkUpload/MediaUpload?reqUserId={userId}&action=Create\";\r\n var addBulkPost = MMFCRMURL+\"/api/CRMConsumer/CreateTicketInBulk\";\r\n\r\n if (!vm.userId) {\r\n $location.path('/Login');\r\n }\r\n\r\n vm.dzOptions = {\r\n paramName: 'photo',\r\n maxFilesize: '100',\r\n url: '/',\r\n acceptedFiles: '.xlsx, .xls',\r\n dictDefaultMessage: 'Click to add or drop files',\r\n dictRemoveFile: 'Remove'\r\n };\r\n\r\n vm.dtOptions = DTOptionsBuilder.newOptions().withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withButtons([])\r\n .withDisplayLength(5).withOption('lengthMenu', [5, 10, 15, 20])\r\n .withOption('order', []);\r\n\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable()\r\n ];\r\n\r\n vm.dtColumnDefs1 = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable()\r\n ];\r\n\r\n vm.dtColumnDefs2 = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable()\r\n ];\r\n\r\n vm.loaderFlag = false;\r\n vm.hideLoader = function () {\r\n if (vm.loaderFlag) {\r\n $rootScope.$broadcast(\"loader_hide\");\r\n $timeout(function () { vm.loaderFlag = false; }, 1000);\r\n $timeout(vm.hideLoader, 1);\r\n }\r\n }\r\n\r\n vm.scrollDwn = function () {\r\n $(\"html, body\").animate({ scrollTop: $(document).height() - $(window).height() }, 900);\r\n // $location.hash('error_datatable');\r\n // $anchorScroll();\r\n }\r\n\r\n vm.dzCallbacks = {\r\n 'addedfile': function (file) {\r\n vm.showErrors = false;\r\n vm.errorList = [];\r\n vm.disableUploadButton = true;\r\n $(\"#dropzone1 .dz-progress .dz-upload\").hide();\r\n $(\".bulkupload-progress\").width(0);\r\n $(\".ajax-loader\").hide();\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n vm.showSuccess = false;\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noOfRecords = 0;\r\n\r\n var dropzoneChildren = $(\"#dropzone1\").children();\r\n $(\"#dropzone1\").empty();\r\n $(\"#dropzone1\").append(dropzoneChildren[0]);\r\n $(\"#dropzone1\").append(dropzoneChildren[dropzoneChildren.length - 1]);\r\n\r\n vm.loaderFlag = true;\r\n vm.hideLoader();\r\n vm.file = file;\r\n\r\n var fd = new FormData();\r\n fd.append('file', file);\r\n var url = verifyBulkPost.replace(\"{userId}\", vm.userId);\r\n $http.post(url, fd, {\r\n transformRequest: angular.identity,\r\n headers: { 'Content-Type': undefined, \"Token\":token,'UserId': vm.userId },\r\n timeout: vm.canceler.promise\r\n })\r\n .success(function (data) {\r\n vm.BulkCallBooking = data.TicketModel;\r\n if(data.Errors.length > 0)\r\n {\r\n vm.Errors = data.Errors;\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Invalid records!\";\r\n vm.successMsg = \"There are \" + data.Errors.length + \" errors. To see them click here\";\r\n vm.showErrors = true;\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n }\r\n else\r\n {\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = false;\r\n vm.successTitle = \"Validation completed\";\r\n vm.successMsg = \"Call Booking data validated successfully. Total \" + vm.BulkCallBooking.length + \" found. Please click on Upload button to proceed.\";\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n } \r\n })\r\n .error(function (errorMessage) {\r\n $scope.$parent.$parent.main.showFailure(\"Failed\", \"Unable to upload document, technical error. Please contact to administrator\");\r\n });\r\n },\r\n 'success': function (file, xhr) {\r\n },\r\n 'error': function (file, errorMessage) {\r\n }\r\n };\r\n\r\n vm.uploadFile = function () {\r\n if (vm.BulkCallBooking && vm.BulkCallBooking.length > 0) {\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n vm.disableUploadButton = true;\r\n $http.post(addBulkPost, vm.BulkCallBooking, { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': vm.userId } })\r\n .then(function (response) {\r\n if (response.status === 200 && response) {\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload Completed\";\r\n vm.successMsg = \"Call Booking Data has been uploaded successfully.\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n vm.progressbar.complete();\r\n } else {\r\n const errorMsg = response.data || \"An error occurred while uploading the data.\";\r\n vm.showSuccess = true;\r\n vm.successTitle = \"Upload Failed\";\r\n vm.successMsg = errorMsg;\r\n vm.noMsg = [];\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n vm.disableUploadButton = false;\r\n vm.progressbar.complete();\r\n }\r\n });\r\n }\r\n }\r\n\r\n\r\n});\nangular.module('inspinia').service('WrongProductReceivedOrdersService', function (AcessoriesURL, ApiURL, $window, $http) {\r\n\r\n this.GetAllWareHouse = function (loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/WareHouse/GetAllWareHouse';\r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetDamgedPrdouctDetailList = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFProductReplacement/GetDamgedPrdouctDetailList';\r\n return $http.post(url, data, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetDamgedPrdouctDetailList_CSV = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFProductReplacement/GetDamgedPrdouctDetailList_CSV';\r\n return $http.post(url, data, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n this.GetProductDetailDashboardByFilter = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFOrder/GetProductDetailDashboardByFilter';\r\n return $http.post(url, data, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.DispatchedProductToWareHouse = function (data, file, FileName, loggedinUser, token) {\r\n var formdata = new FormData();\r\n formdata.append(FileName, file);\r\n var FiltersData = JSON.stringify(data);\r\n formdata.append(\"FiltersData\", FiltersData);\r\n var url = AcessoriesURL + '/api/MMFProductReplacement/DispatchedProductToWareHouse';\r\n return $http.put(url, formdata, {\r\n headers: {\r\n 'Content-Type': undefined, 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GenerateProductPdfChallan = function (loggedinUser, token, ProductId) {\r\n var url = ApiURL + '/api/Report/GenerateProductPdfChallan?ProductId=' + ProductId;\r\n return $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n}\r\n\r\n this.OrderAcceptedMark = function (productId, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFProductReplacement/OrderAcceptedMark?MMFProductId=' + productId;\r\n return $http.post(url, null, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('WrongProductReceivedOrdersController', function (WrongProductReceivedOrdersService,ProductReplacementOrdersService, MainService, $window, $stateParams, toaster, $filter, $compile, $q, $state, $localStorage, $scope, DTOptionsBuilder, DTColumnBuilder, $uibModal, $timeout) {\r\n\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\t// var warehouseId = $stateParams.warehouseId;\r\n\t\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\t\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\t\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\t\tvm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\t\t$scope.isNavCollapsed = true;\r\n\t\t$scope.isCollapsed = true;\r\n\t\t$scope.isCollapsedHorizontal = false;\r\n\t\tvm.selectSingle = false;\r\n\t\tvm.disableExceptionButton = false;\r\n\t\tvar oPageIndex = 1;\r\n\t\tvar oPageSize = 10;\r\n\t\tvm.allOrdersPageListCount = 10;\r\n\t\tvm.allInventoryPageListCount = 10;\r\n\t\tvm.pageListCounts = [10, 20, 30, 50];\r\n\t\tvm.UserId = '';\r\n\t\tvm.productImg = [];\r\n\t\tvm.invoiceImg = [];\r\n\t\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\t\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\t\t$scope.dates = { startDate: moment().subtract(30, 'day'), endDate: moment() };\r\n\t\tvar startDate = moment().subtract(30, 'days').format(\"YYYY-MM-DD\");\r\n\t\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\t\t$scope.ranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment().endOf('month')]\r\n\t\t};\r\n\r\n\t\tvm.outsidedateRangeChange = function (ev, picker) {\r\n\t\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\t\tvm.applyOrderFilter();\r\n\t\t};\r\n\r\n\t\tvm.disableCreateButton = false;\r\n\r\n\t\tvm.DisableCreateButton = function (disable) {\r\n\t\t\tif (disable) {\r\n\t\t\t\tvm.disableCreateButton = true;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.disableCreateButton = false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t$scope.totalTableTickets = 0;\r\n\t\t$scope.ticketTablePerPage = vm.ticketPageListCount;\r\n\t\t$scope.TicketTablepagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\t\tvm.GetAllWareHouse = function () {\r\n\t\t\tWrongProductReceivedOrdersService.GetAllWareHouse(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.warehouseitemlist = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.GetAllWareHouse();\r\n\t\tvm.OpenResubmitReplaceModel = function (resubmitreplacedetails) {\r\n\t\t\tvm.resubmitReplacementId = resubmitreplacedetails;\r\n\t\t\tResubmitReplaceModel = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'Resubmit.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeResubmitRequestUpdateModel = function () {\r\n\t\t\tvm.DisableCreateButton(false);\r\n\t\t\tResubmitReplaceModel.close();\r\n\t\t\tvm.resubmitstrReplacementComment = '';\r\n\t\t\tvm.resubmitReplacementId = '';\r\n\t\t}\r\n\t\tvm.ResubmitProductReplacementRequest = function () {\r\n\t\t\tvm.Resubmit_Form.submitted = true;\r\n\t\t\tif (vm.Resubmit_Form.$valid) {\r\n\t\t\t\tvm.DisableCreateButton(true);\r\n\t\t\t\tvar resubmitreplacementreasondata = {\r\n\t\t\t\t\t\"strProductReplacementId\": vm.resubmitReplacementId,\r\n\t\t\t\t\t\"strReplacementComment\": vm.resubmitstrReplacementComment,\r\n\t\t\t\t\t\"strReplacementReason\": vm.resubmitrelacementoption,\r\n\t\t\t\t}\r\n\t\t\t\tWrongProductReceivedOrdersService.ResubmitProductReplacementRequest(resubmitreplacementreasondata, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Product replacement request raised.\");\r\n\t\t\t\t\t\tvm.closeResubmitRequestUpdateModel();\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\tvm.GetDamgedPrdouctDetailList();\r\n\t\t\t\t\t\t\tvm.GetProductDetailDashboardByFilter();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.OpenRequestUpdateModel = function (requestId) {\r\n\t\t\tvm.requestIdTobeReturn = requestId;\r\n\t\t\tRequestUpdateModel = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'ReturnProductModel.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeRequestUpdateModel = function () {\r\n\t\t\tRequestUpdateModel.close();\r\n\t\t\tvm.FileName = \"\";\r\n\t\t\tvm.FilesDoc = \"\";\r\n\t\t\tvm.PackageDetails = \"\";\r\n\t\t\tvm.TrackingLink = \"\";\r\n\t\t\tvm.requestIdTobeReturn = \"\";\r\n\t\t\tvm.strPackageId = \"\";\r\n\t\t\tvm.strPackageTrackingId = \"\";\r\n\t\t\tvm.strShipmentId = \"\";\r\n\t\t\tvm.PackageDetails = [];\r\n\t\t\tvm.disableCreateButton = false;\r\n\t\t}\r\n\r\n\t\t$scope.uploadImageForNotice = function (files) {\r\n\t\t\tvm.FileName = \"\";\r\n\t\t\tvm.FilesDoc = files.files[0];\r\n\t\t\tvm.FileName = vm.FilesDoc.name;\r\n\t\t\tvm.FileSize = vm.FilesDoc.size;\r\n\r\n\t\t\tvar allowedExtensions = /(\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png|\\.JFIF|\\.jfif|\\.PDF|\\.pdf|\\.DOC|\\.doc|\\.DOCX|\\.docx)$/i;\r\n\r\n\t\t\tif (!allowedExtensions.exec(vm.FileName)) {\r\n\t\t\t\tvm.FilesDoc = [];\r\n\t\t\t\tvm.clear();\r\n\t\t\t\talert('Please upload a file with extensions .jpg, .jpeg, .png, .jfif, .pdf, .doc, or .docx only.');\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t// Function to clear the file input\r\n\t\tvm.clear = function () {\r\n\t\t\tangular.element(\"input[type='file']\").val(null);\r\n\t\t};\r\n\r\n\t\t$scope.checkPDF = function (path) {\r\n\t\t\tif (path) {\r\n\t\t\t\tvar pt = path.substr(path.length - 4);\r\n\t\t\t\tif (pt == '.pdf') {\r\n\t\t\t\t\tvm.error = function () {\r\n\t\t\t\t\t\t$(\".pdf\").attr({ \"target\": \"_blank\" })\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tvm.trackingStatus = false;\r\n\r\n\t\tvm.GetProductReplacementDetails = function (replacementId) {\r\n\t\t\tProductReplacementOrdersService.GetProductReplacementDetails(replacementId, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.trackingDetails = resp.data;\r\n\t\t\t\t\tvm.activitytimeline = resp.data.listApprovalTrail;\r\n\t\t\t\t\tvm.trackingStatus = true;\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.PDFView = function () {\r\n\t\t\tvm.pdfimage = \"\";\r\n\t\t\tvm.IsLoadSucessfull = false;\r\n\t\t\tvm.taxInvoiceModel = $uibModal.open({\r\n\t\t\t templateUrl: \"PDFView.html\",\r\n\t\t\t size: \"lg\",\r\n\t\t\t scope: $scope,\r\n\t\t\t});\r\n\t\t };\r\n\r\n\t\tvm.PDFViewOfReturnChallanDoc = function (ProductId) {\r\n\t\t\tvm.PDFView();\r\n\t\t\tWrongProductReceivedOrdersService.GenerateProductPdfChallan(loggedinUser, token, ProductId).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\tvm.pdfimage = resp.data;\r\n\t\t\t\t\tvm.IsLoadSucessfull = true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t}\r\n\r\n\r\n\t\tvm.PDFViewOfShipmentDoc = function (page) {\r\n\t\t\tvm.IsLoadSucessfull = false;\r\n\t\t\tMainService.GetImageBlob(loggedinUser, token, page).then(function (resp) {\r\n\t\t\t\tvm.pdfimage = resp.data;\r\n\t\t\t\tvm.IsLoadSucessfull = true;\r\n\t\t\t});\r\n\t\t\t$timeout(function () {\r\n\t\t\t\tvm.taxInvoiceModel = $uibModal.open({\r\n\t\t\t\t\ttemplateUrl: \"PDFView.html\",\r\n\t\t\t\t\tsize: \"lg\",\r\n\t\t\t\t\tscope: $scope,\r\n\t\t\t\t});\r\n\t\t\t}, 1000);\r\n\t\t}\r\n\r\n\t\tvm.PDFUserModal = function () {\r\n\t\t\tvm.taxInvoiceModel.close();\r\n\t\t}\r\n\t\t\r\n\t\r\n\t\t\r\n\t\tvm.ImageViewOfShipmentDoc = function (img, index) {\r\n\t\t\tMainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n\t\t\t\tif (resp.data == null || resp.data == '') {\r\n\t\t\t\t\tvm.productImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.productImg[index] = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, function () {\r\n\t\t\t\tvm.productImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.ImageViewOfInvoice = function (img, index) {\r\n\t\t\tMainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n\t\t\t\tif (resp.data == null || resp.data == '') {\r\n\t\t\t\t\tvm.invoiceImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.invoiceImg[index] = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, function () {\r\n\t\t\t\tvm.invoiceImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.ActionToBeTaken = '';\r\n\t\tvm.DispatchedProductToWareHouse = function () {\r\n\t\t\tvm.Request_Update_Form.submitted = true;\r\n\t\t\tif (vm.Request_Update_Form.$valid) {\r\n\t\t\t\tvm.disableCreateButton = true;\r\n\t\t\t\tvm.PackageDetails = [{\r\n\t\t\t\t\t\"strPackageId\": vm.strPackageId,\r\n\t\t\t\t\t\"strPackageStatus\": \"Shipped\",\r\n\t\t\t\t\t\"strPackageTrackingId\": vm.strPackageTrackingId,\r\n\t\t\t\t\t\"strShipmentId\": vm.strShipmentId,\r\n\t\t\t\t\t\"datePackedOn\": moment().format(\"YYYY-MM-DD\")\r\n\t\t\t\t}]\r\n\t\t\t\tvar RequestModel = {\r\n\t\t\t\t\t\"ProductId\": vm.requestIdTobeReturn,\r\n\t\t\t\t\t\"TrackingLink\": vm.TrackingLink,\r\n\t\t\t\t\t\"PackageDetails\": vm.PackageDetails,\r\n\t\t\t\t\t\"PackageAttachment\": vm.FileName\r\n\t\t\t\t}\r\n\t\t\t\tWrongProductReceivedOrdersService.DispatchedProductToWareHouse(RequestModel, vm.FilesDoc, vm.FileName, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Request updated successfully\");\r\n\t\t\t\t\t\tvm.closeRequestUpdateModel();\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\tvm.GetDamgedPrdouctDetailList();\r\n\t\t\t\t\t\t\tvm.GetProductDetailDashboardByFilter();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t\tvm.disableCreateButton = false;\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t\t}\r\n\t\t}\r\n\t\t$scope.openTrackingLink = function (trackingLink) {\r\n\t\t\t$window.open(trackingLink, '_blank');\r\n\t\t};\r\n\r\n\r\n\t\t$scope.totalInvList = 0;\r\n\t\t$scope.inventoryPerPage = vm.allInventoryPageListCount;\r\n\t\t$scope.InventoryPagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\r\n\r\n\t\tvm.changeAllInventoryPageListCount = function () {\r\n\t\t\t$scope.inventoryPerPage = vm.allInventoryPageListCount;\r\n\t\t\tPageSize = $scope.inventoryPerPage;\r\n\t\t\t$scope.AllInventoryTablePageChanged($scope.InventoryPagination.current);\r\n\t\t\tvm.selectAll = false;\r\n\t\t\tPageIndex = $scope.InventoryPagination.current;\r\n\t\t\t$scope.AllInventoryTablePageChanged = function (newPage) {\r\n\t\t\t\tPageIndex = newPage;\r\n\r\n\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tPageIndex = $scope.InventoryPagination.current;\r\n\t\t$scope.AllInventoryTablePageChanged = function (newPage) {\r\n\t\t\tPageIndex = newPage;\r\n\t\t\tvm.GetDamgedPrdouctDetailList();\r\n\r\n\t\t};\r\n\t\tvm.SearchText = '';\r\n\t\tvm.warehouselist = \"\";\r\n\t\tvm.warehouseInvetoryList = [];\r\n\r\n\r\n\t\tvm.clearFilter = function () {\r\n\t\t\tvm.SearchText = '';\r\n\t\t\tvm.warehouselist = '';\r\n\r\n\t\t}\r\n\r\n\r\n\r\n\t\tvm.IsWarehouseAlreadySelected = false;\r\n\r\n\t\tvm.addCartMoreModal = function (partData) {\r\n\t\t\tvm.IsWarehouseAlreadySelected = false;\r\n\t\t\tvm.partId = partData.strMMFPartId;\r\n\t\t\tvm.partSKUId = partData.strSKUId;\r\n\t\t\tvm.partName = partData.strPartName;\r\n\t\t\tif (vm.warehouselist != '') {\r\n\t\t\t\tvm.IsWarehouseAlreadySelected = true;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.IsWarehouseAlreadySelected = false;\r\n\t\t\t\tvm.GetWareHouseByPartId(vm.partId);\r\n\t\t\t}\r\n\t\t\tvm.openAddToCartModal();\r\n\r\n\t\t}\r\n\t\tvm.GetProductDetailDashboardByFilter = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"OrderStatus\": vm.SelectedOrderStatus,\r\n\t\t\t\t\"DateField\": \"CreatedOn\",\r\n\t\t\t\t\"StartDate\": startDate,\r\n\t\t\t\t\"EndDate\": endDate,\r\n\t\t\t\t\"PageIndex\": oPageIndex,\r\n\t\t\t\t\"PageSize\": oPageSize,\r\n\t\t\t\t\"BrandName\": \"\",\r\n\t\t\t\t\"ProductName\": \"\",\r\n\t\t\t\t\"OrderBy\": \"\",\r\n\t\t\t\t\"SortType\": \"\",\r\n\t\t\t\t\"SearchText\": vm.searchTag,\r\n\t\t\t\t\"OrderId\": \"\",\r\n\t\t\t\t\"DamagedType\": \"\"\r\n\t\t\t}\r\n\t\t\tWrongProductReceivedOrdersService.GetProductDetailDashboardByFilter(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.orderDashboardCount = resp.data\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.GetProductDetailDashboardByFilter();\r\n\t\r\n\r\n\t\tvm.applyOrderFilter = function () {\r\n\t\t\tvm.GetDamgedPrdouctDetailList();\r\n\t\t\tvm.GetProductDetailDashboardByFilter();\r\n\t\t}\r\n\t\tvm.SelectedOrderStatus = '';\r\n\r\n\t\tvm.setSelectedFilter = function (item) {\r\n\t\t\tvm.SelectedOrderStatus = item;\r\n\t\t\tvm.applyOrderFilter();\r\n\t\t};\r\n\r\n\t\tvm.OpenOrderAcceptConfirmation = function (productId) {\r\n\t\t\tvm.productId = productId;\r\n\t\t\tAcceptOrderModel = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'acceptOrder.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeOrderAcceptConfirmation = function () {\r\n\t\t\tAcceptOrderModel.close();\r\n\t\t\tvm.productId = \"\";\r\n\t\t}\r\n\r\n\t\tvm.OrderAcceptedMark = function () {\r\n\t\t\tWrongProductReceivedOrdersService.OrderAcceptedMark(vm.productId, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", \"Product accepted successfully.\");\r\n\t\t\t\t\tvm.closeOrderAcceptConfirmation();\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tvm.GetDamgedPrdouctDetailList();\r\n\t\t\t\t\t\tvm.GetProductDetailDashboardByFilter();\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t$scope.totalOrderList = 0;\r\n\t\t$scope.ordersPerPage = vm.allOrdersPageListCount;\r\n\t\t$scope.OrdersPagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\r\n\t\tvm.changeAllOrderPageListCount = function () {\r\n\t\t\t$scope.ordersPerPage = vm.allOrdersPageListCount;\r\n\t\t\toPageSize = $scope.ordersPerPage;\r\n\t\t\t$scope.AllOrderTablePageChanged($scope.OrdersPagination.current);\r\n\t\t\toPageIndex = $scope.OrdersPagination.current;\r\n\t\t\t$scope.AllOrderTablePageChanged = function (newPage) {\r\n\t\t\t\toPageIndex = newPage;\r\n\t\t\t\tvm.GetDamgedPrdouctDetailList();\r\n\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\toPageIndex = $scope.OrdersPagination.current;\r\n\t\t$scope.AllOrderTablePageChanged = function (newPage) {\r\n\t\t\toPageIndex = newPage;\r\n\t\t\tvm.GetDamgedPrdouctDetailList();\r\n\r\n\t\t};\r\n\t\tvm.orderInvetoryList = [];\r\n\r\n\t\tvm.GetDamgedPrdouctDetailList = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"OrderStatus\": vm.SelectedOrderStatus,\r\n\t\t\t\t\"DateField\": \"CreatedOn\",\r\n\t\t\t\t\"StartDate\": startDate,\r\n\t\t\t\t\"EndDate\": endDate,\r\n\t\t\t\t\"PageIndex\": oPageIndex,\r\n\t\t\t\t\"PageSize\": oPageSize,\r\n\t\t\t\t\"BrandName\": \"\",\r\n\t\t\t\t\"ProductName\": \"\",\r\n\t\t\t\t\"OrderBy\": \"\",\r\n\t\t\t\t\"SortType\": \"\",\r\n\t\t\t\t\"SearchText\": vm.searchTag,\r\n\t\t\t\t\"OrderId\": \"\",\r\n\t\t\t\t\"DamagedType\": \"\"\r\n\t\t\t}\r\n\t\t\tWrongProductReceivedOrdersService.GetDamgedPrdouctDetailList(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.orderInvetoryList = resp.data.productDetails;\r\n\t\t\t\t\t$scope.totalOrderList = resp.data.Count;\r\n\t\t\t\t\tvm.productImg = [];\r\n\t\t\t\t\tvm.invoiceImg - [];\r\n\t\t\t\t\tfor (var i = 0; i < vm.orderInvetoryList.length; i++) {\r\n\t\t\t\t\t\tvar item = vm.orderInvetoryList[i];\r\n\t\t\t\t\t\tvm.ImageViewOfShipmentDoc(item.DamgedAttachment, i);\r\n\t\t\t\t\t\tvm.ImageViewOfInvoice(item.InvoiceImage, i);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (vm.orderInvetoryList.length < vm.allOrdersPageListCount)\r\n\t\t\t\t\t\tvm.orderListLength = $scope.totalOrderList;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.orderListLength = oPageIndex * vm.allOrdersPageListCount;\r\n\t\t\t\t\tif (oPageIndex == 1)\r\n\t\t\t\t\t\tvm.opageindexCount = 1;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.opageindexCount = (((oPageIndex - 1) * vm.allOrdersPageListCount) + 1);\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.GetDamgedPrdouctDetailList();\r\n\r\n\t\tvm.OpenTicketView = function (ticket) {\r\n\t\t\t$state.go('index.JobDetailView', {\r\n\t\t\t\tticketId: ticket\r\n\t\t\t}, { reload: true });\r\n\t\t}\r\n\t\t\r\n\t\tvm.clearWrongProductListFilter = function () {\r\n\t\t\tvm.SelectedOrderStatus = '';\r\n\t\t\tvm.searchTag = '';\r\n\t\t\toPageIndex = 1;\r\n\t\t\tstartDate = moment().subtract(30, 'days').format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = moment().format(\"YYYY-MM-DD\");\r\n\t\t\tvm.applyOrderFilter();\r\n\t\t}\r\n\r\n\r\n\t\tvm.GetDamgedPrdouctDetailList_CSV = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"OrderStatus\": vm.SelectedOrderStatus,\r\n\t\t\t\t\"DateField\": \"CreatedOn\",\r\n\t\t\t\t\"StartDate\": startDate,\r\n\t\t\t\t\"EndDate\": endDate,\r\n\t\t\t\t\"PageIndex\": oPageIndex,\r\n\t\t\t\t\"PageSize\": oPageSize,\r\n\t\t\t\t\"BrandName\": \"\",\r\n\t\t\t\t\"ProductName\": \"\",\r\n\t\t\t\t\"OrderBy\": \"\",\r\n\t\t\t\t\"SortType\": \"\",\r\n\t\t\t\t\"SearchText\": vm.searchTag,\r\n\t\t\t\t\"OrderId\": \"\",\r\n\t\t\t\t\"DamagedType\": \"\"\r\n\r\n\r\n\t\t\t}\r\n\t\t\tWrongProductReceivedOrdersService.GetDamgedPrdouctDetailList_CSV(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvar csvData = resp.data;\r\n\t\t\t\t\tvar blob = new Blob([csvData], { type: 'text/csv' });\r\n\t\t\t\t\tvar url = window.URL.createObjectURL(blob);\r\n\t\t\t\t\tvar a = document.createElement('a');\r\n\t\t\t\t\ta.href = url;\r\n\t\t\t\t\ta.download = 'All_Wrong_Product_Orders_List.csv';\r\n\t\t\t\t\ta.click();\r\n\t\t\t\t\twindow.URL.revokeObjectURL(url);\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.Acceptancemodel = function (requestDetails) {\r\n\t\t\tvm.showPartDetails = false;\r\n\t\t\tvm.AllRequestDetail = requestDetails;\r\n\t\t\tvm.updateStatusModelOpen = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'acceptancepopup.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.CloseAcceptanceModel = function () {\r\n\t\t\tvm.updateStatusModelOpen.close();\r\n\t\t\tvm.DisableCreateButton(false);\r\n\t\t\tvm.UpdateOrderStatus = \"\";\r\n\t\t\tvm.TrackingLink = \"\";\r\n\t\t\tvm.strPackageId = \"\";\r\n\t\t\tvm.strPackageStatus = \"\";\r\n\t\t\tvm.strPackageTrackingId = \"\";\r\n\t\t\tvm.strShipmentId = \"\";\r\n\t\t\tvm.PackageDetails = [];\r\n\t\t\tvm.datePackedOn = moment().format(\"YYYY-MM-DD\");\r\n\t\t}\r\n\r\n\t}\r\n});\nangular.module('inspinia').service('widgetCanvasService', function (ApiURL, $log, $http, DashboardURL, $window, CronUrl, PublicApiURL) {\r\n\r\n vm = this;\r\n\r\n vm.setShowSuccess = function (success) {\r\n vm.showSuccess = success;\r\n }\r\n\r\n vm.setShowFailure = function (failure) {\r\n vm.showFailure = failure;\r\n }\r\n\r\n vm.getDummyData = function (callback) {\r\n callback(JSON.parse('{\"dashboardName\": \"Account Dashboard\",\"dashboardDescription\": \"This is a Account Dashboard for Admin Role\",\"Role\": \"Administrator\",\"chartModel\": [{\"YAxisRules\": [{\"YAxisRule\": \"COUNT\",}], \"ChartName\": \"JOBS\",\"ChartType\": \"METRICS\",\"ChartId\": \"CH0000001\"\"dashboardId\" : \"d00000001\"\"ChartTitle\": \"Jobs\",\"ChartSubtitle\": \"Job Count\",\"ChartColor\": \"BLACK\",\"XRules\": {\"XAxis\": \"Status(Assigned,Completed,Approved)\"}}]}'));\r\n }\r\n\r\n vm.getDummyTableData = function (callback) {\r\n //$log.log(\"in getDummyTableData\");\r\n callback(JSON.parse('{\"Table\" :{\"ColumnHeaderName\" : \"Location\",\"ColumnHeaderValuesList\" : [\"All Location\", \"Haryana\", \"Delhi\"],\"TableColumns\" : [{\"ColumnName\":\"RFLOS\", \"ValueList\": [\"200/400\", \"20/40\", \"-\"]},{\"ColumnName\":\"IWAN\", \"ValueList\": [\"400/800\", \"-\", \"40/80\"]}]}}'));\r\n }\r\n\r\n vm.getCustomerReport = function (loggedinUser, reportname, token, callback) {\r\n $http.get(DashboardURL+'/api/Report/'+loggedinUser+'/'+reportname+'/GetByReportName', { headers: {'Token': token,'UserId':loggedinUser}}).then(function(res){\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n });\r\n }\r\n\r\n vm.getChart = function (loggedinUser, token, chartType, metrics, dimensions, rollUp, filterKeys, filterValues,chartName,isData,total,callback) {\r\n //$log.log(\"in service\", DashboardURL + '/api/Chart?ReqUserId=' + loggedinUser + '&ChartType=' + chartType + '&Metrics=' + metrics + '&DimensionList=' + dimensions + '&RollsUP='+rollUp+\"&FilterKeys=\"+filterKeys+\"&FilterValues=\"+filterValues);\r\n $http.get(DashboardURL + '/api/Chart?ReqUserId=' + loggedinUser + '&ChartType=' + chartType + '&Metrics=' + metrics + '&DimensionList=' + dimensions + '&RollsUP='+encodeURI(rollUp)+\"&FilterKeys=\"+filterKeys+\"&FilterValues=\"+filterValues+\"&isData=\"+isData+\"&total=\"+total, {headers:{'Token': token,'UserId':loggedinUser}}).then(function (res) {\r\n if (callback) {\r\n res.data['chartName'] = chartName;\r\n callback(res.data);\r\n }\r\n });\r\n }\r\n\r\n vm.getUsers = function(loggedinUser, token, callback){\r\n $http.get(ApiURL + '/api/'+loggedinUser+'/User', { headers: {'Token': token,'UserId':loggedinUser}}).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n })\r\n }\r\n\r\n vm.mailReport = function(token, toList, ccList, bccList, subject, message, reportName, userID, filterKey, filterValue, reportInMailBody, rollUps, callback){\r\n var data = {\r\n \"TOList\": toList,\r\n \"CCList\": ccList,\r\n \"BCCList\": bccList,\r\n \"Body\": message,\r\n \"Subject\": subject,\r\n \"ReportName\": reportName,\r\n \"ReqUserId\": userID,\r\n \"FilterKeys\": null,\r\n \"FilterValues\": null,\r\n \"ReportInMailBody\": reportInMailBody,\r\n \"RollUps\":rollUps\r\n };\r\n\r\n //$log.log(\"data\", data);\r\n $http.post(DashboardURL + '/api/Report/mailexcelreportbyname', data, { headers: { 'Content-Type': 'application/json', 'Token': token,'UserId':userID } }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n })\r\n }\r\n\r\n vm.scheduleReport = function(loggedinUser, data, token, callback){\r\n $http.post(ApiURL + '/api/ReportSchedule/cron?userId='+loggedinUser, data, { headers: { 'Content-Type': 'application/json', 'Token': token,'UserId':loggedinUser } }).then(function (res) {\r\n if (callback) {\r\n //$log.log(\"scheduleReport in report service\", res);\r\n callback(res.data);\r\n }\r\n })\r\n }\r\n\r\n vm.RescheduleReport = function(loggedinUser, data, token, callback){\r\n $http.put(ApiURL + '/api/ReportSchedule/cron?userId='+loggedinUser, data, { headers: { 'Content-Type': 'application/json', 'Token': token,'UserId':loggedinUser } }).then(function (res) {\r\n if (callback) {\r\n //$log.log(\"rescheduleReport in report service\", res);\r\n callback(res.data);\r\n }\r\n })\r\n } \r\n\r\n vm.downloadReport = function(reportName, loggedinUser, filterKey, filterName,rollUps,isData) {\r\n $window.location.href=PublicApiURL+\"/api/Report/DownloadExcelReportByReportName?reportName=\"+reportName+\"&reqUserId=\"+loggedinUser+\"&FilterKeys=\"+filterKey+\"&FilterValues=\"+filterName+\"&RollUps=\"+rollUps+\"&isData=\"+isData;\r\n console.log('$window.location.href',$window.location.href);\r\n }\r\n\r\n vm.checkReportName = function(reportName, callback){\r\n $http.get(CronUrl + '/isCronNameExists?name='+reportName, { headers: { 'Content-Type': 'application/json' } }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n })\r\n }\r\n\r\n});\r\n\nangular.module('inspinia').controller('widgetCanvasController', function (widgetCanvasService,$uibModal, $compile, MainService, $timeout,$location,$window, $stateParams, DTOptionsBuilder, DTColumnBuilder, $scope, $state, $log, ReportService, $localStorage, DashboardURL, $q,$http,$rootScope) {\r\n var vm = this;\r\n\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n if (!loggedinUser) {\r\n\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n var token = $localStorage.token;\r\n\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n widgetCanvasService.setShowSuccess($scope.$parent.$parent.main.showSuccess);\r\n widgetCanvasService.setShowFailure($scope.$parent.$parent.main.showFailure);\r\n vm.report_data = {};\r\n var accountConfig = $localStorage.accountConfig;\r\n if (accountConfig && accountConfig.EnableRegion) {\r\n vm.EnableRegion = accountConfig.EnableRegion\r\n }else{\r\n vm.EnableRegion = false;\r\n }\r\n vm.metricsCharts = {};\r\n vm.tableArray = [];\r\n vm.profileImg='';\r\n vm.users = [];\r\n vm.filename='';\r\n vm.deepLink = {};\r\n vm.valueClass = {};\r\n vm.report_title=\"\";\r\n vm.attachReportInMailBody = true;\r\n vm.attachReportInExcel = true;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n vm.filter_key = $stateParams.filter_key?$stateParams.filter_key:\"\";\r\n vm.isData = $stateParams.isData?$stateParams.isData:false;\r\n vm.key = $stateParams.key?$stateParams.key:\"\";\r\n vm.filter_name = $stateParams.filter_name?$stateParams.filter_name:\"\";\r\n vm.additionalInfo = $stateParams.end_date?$stateParams.end_date:\"\";\r\n vm.defaultMailBody = \"Hello,\\n\\nYou are requested to view project report on below link \\n\\n\" + $window.location.href + \" \\n\\nThanks\\nMobiforce Team\";\r\n var creationDatefunc = $scope.$parent.$parent.main.AccountStartDate;\r\n vm.accountCreationDate = creationDatefunc();\r\n vm.tableCharts = {};\r\n var total = 'Total';\r\n $log.log('$stateParams.start_date',$stateParams.start_date);\r\n\r\n // var startDate = $stateParams.start_date?$stateParams.start_date:moment(0).format(\"YYYY-MM-DD\");\r\n // var endDate = $stateParams.end_date?$stateParams.end_date:moment().format(\"YYYY-MM-DD\");\r\n if ($stateParams.start_date) {\r\n vm.rollup = $stateParams.start_date;\r\n //\"Range(\"+startDate+\"|\"+endDate+\")\";\r\n var dateArray1 = vm.rollup.split('(');\r\n var dateArray2 = dateArray1[1].split(')');\r\n var dateArray3 = dateArray2[0].split('|');\r\n var startDate = moment(dateArray3[0]).format(\"YYYY-MM-DD\");\r\n var endDate = moment(dateArray3[1]).format(\"YYYY-MM-DD\");\r\n\r\n $scope.dates = { startDate: moment(dateArray3[0]), endDate: moment(dateArray3[1])};\r\n \r\n \r\n }else if(vm.isData){\r\n if ($stateParams.start_date =='' || $stateParams.start_date == null) {\r\n $scope.dates = { startDate:vm.accountCreationDate, endDate: moment() };\r\n var startDate =vm.accountCreationDate;\r\n //var startDate = moment(0).format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.rollup = \"Range(\"+startDate+\"|\"+endDate+\")\";\r\n }\r\n \r\n \r\n }else {\r\n $scope.dates = { startDate:moment().subtract(0, 'days'), endDate: moment() };\r\n var startDate = moment().subtract(0, 'days').format(\"YYYY-MM-DD\");\r\n //var startDate = moment(0).format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.rollup = \"Range(\"+startDate+\"|\"+endDate+\")\";\r\n \r\n }\r\n \r\n vm.shareModel = {\r\n selectedUsers: [],\r\n toList: [],\r\n ccList: [],\r\n bccList: [],\r\n content: vm.defaultMailBody\r\n };\r\n vm.monthNames3 = [\"JAN\", \"FEB\", \"MAR\", \"APR\", \"MAY\", \"JUN\",\r\n \"JUL\", \"AUG\", \"SEP\", \"OCT\", \"NOV\", \"DEC\"\r\n ];\r\n\r\n vm.scheduleModel = {\r\n frequency: \"once\",\r\n once: \"once\",\r\n daily: \"daily\",\r\n weekly: \"weekly\",\r\n every_15_days: \"every_15_days\",\r\n monthly: \"monthly\",\r\n cronExpression: \"expression\",\r\n input_for_month: {\r\n option: \"start_of_day\",\r\n start_of_day: \"start_of_day\",\r\n end_of_day: \"end_of_day\",\r\n specific_date: \"specific_date\",\r\n date: 1\r\n },\r\n specific_date_range: [],\r\n start_date:moment(),\r\n end_date:moment().add(1, 'M'),\r\n attachReportInMailBody:true,\r\n attachReportInExcel: true,\r\n scheduleTime:\"\",\r\n scheduleName:\"\",\r\n reportNameAlreadyExists:false,\r\n reportNameMendtryErr:false,\r\n toListMendtryErr:false,\r\n timeMendtryErr:false,\r\n sampleDateMendtryErr:false,\r\n pull_data: {\r\n range: \"last_day\",\r\n day: \"last_day\",\r\n week: \"last_week\",\r\n month: \"last_month\",\r\n quarter: \"last_quarter\",\r\n current_month: \"current_month\",\r\n specific: \"specific\",\r\n specific_day_value: 1,\r\n calculate_range: function () {\r\n //$log.log(vm.scheduleModel.pull_data.range);\r\n var today = new Date();\r\n if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.day) {\r\n var date = today;\r\n return date.getDate() + \"-\" + (date.getMonth()+1) + \"-\" + date.getFullYear();\r\n } if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.week) {\r\n var date = new Date(today.getFullYear(), today.getMonth(), today.getDate() - 7);\r\n return date.getDate() + \"-\" + (date.getMonth()+1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth()+1) + \"-\" + today.getFullYear();\r\n } if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.month) {\r\n var date = new Date(today.getFullYear(), today.getMonth() - 1, today.getDate());\r\n return date.getDate() + \"-\" + (date.getMonth()+1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth()+1) + \"-\" + today.getFullYear();\r\n } if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.quarter) {\r\n var date = new Date(today.getFullYear(), today.getMonth() - 3, today.getDate());\r\n return date.getDate() + \"-\" + (date.getMonth()+1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth()+1) + \"-\" + today.getFullYear();\r\n }\r\n if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.current_month) {\r\n var date = new Date(today.getFullYear(), today.getMonth(), today.getDate());\r\n return 1 + \"-\" + (date.getMonth()+1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth()+1) + \"-\" + today.getFullYear();\r\n }\r\n if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.specific) {\r\n //$log.log(vm.scheduleModel.pull_data.specific_day_value)\r\n var date = new Date(today.getFullYear(), today.getMonth(), today.getDate() - vm.scheduleModel.pull_data.specific_day_value);\r\n return date.getDate() + \"-\" + (date.getMonth()+1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth()+1) + \"-\" + today.getFullYear();\r\n }\r\n }\r\n }\r\n };\r\n\r\n for (var i = 1; i < 32; i++) {\r\n vm.scheduleModel.specific_date_range.push({ value: i, label: i });\r\n }\r\n\r\n vm.getChart = function (chartId, chartType, metrics, dimensions, rollUp, filterKeys, filterValues,chartName,isData, total) {\r\n //$log.log(\"in controller\", loggedinUser, chartType, metrics, dimensions, rollUp, filterKeys, filterValues); \r\n vm.rachit = [];\r\n widgetCanvasService.getChart(loggedinUser, token, chartType, metrics, dimensions, rollUp, filterKeys, filterValues,chartName,isData, total, vm.createCallback(vm.rachit, [function (data) {\r\n if (chartType == 'Metrics') {\r\n vm.metricsCharts[chartId].value = data;\r\n } else if (chartType == 'Table') { \r\n\r\n //vm.tableCharts[chartId] = {};\r\n vm.tableCharts[chartId].value = data;\r\n //vm.tableCharts[chartId].ChartId = chartId;\r\n //vm.tableCharts[chartId].table_name = data.chartName; \r\n // console.log(data,chartType);\r\n vm.buildColumnBuilder(data, chartId, chartType, metrics, dimensions, rollUp, filterKeys, filterValues,chartName,isData);\r\n \r\n }\r\n }]));\r\n }\r\n\r\n vm.plotHistory = function(data){\r\n vm.ticketHistory = [];\r\n if (data!=null && data != '') {\r\n vm.ticketHistory = JSON.parse(data);\r\n }\r\n \r\n // $log.log('plotHistory',vm.ticketHistory);\r\n }\r\n\r\n \r\n\r\n // $scope.dates = { startDate: moment().subtract(1, 'day'), endDate: moment().subtract(1, 'day') };\r\n // $scope.dates = { startDate: moment(0), endDate: moment() };\r\n $scope.ranges = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n // 'This month': [moment().startOf('month'), moment().endOf('month')]\r\n 'This month': [moment().startOf('month'), moment()]\r\n };\r\n\r\n $scope.dateRangeChange = function(ev, picker){\r\n // console.log(ev, picker);\r\n var startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n var endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n \r\n //$location.search(start_date);\r\n // $location.path($stateParams.start_date+\"/\"+$stateParams.end_date).replace();\r\n // $log.log('$stateParams.start_date',$stateParams.start_date);\r\n // $log.log('$stateParams.end_date',$stateParams.end_date);\r\n // vm.sDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n // vm.eDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n vm.rollup = \"Range(\"+startDate+\"|\"+endDate+\")\";\r\n vm.getCustomerReport(vm.getReportName($stateParams.report_name));\r\n vm.tableCharts = {};\r\n\r\n };\r\n \r\n vm.reportLayoutCallback = vm.createCallback(null, [function (data) {\r\n vm.report_data = data;\r\n var matricsCount = 0;\r\n vm.tableCount = 0;\r\n vm.tableNames = [];\r\n vm.tableOrder = [];\r\n vm.tableArray = [];\r\n var matricsIds = [];\r\n //$log.log(data);\r\n angular.forEach(data.chartModel, function (d) {\r\n if (d.ClickableColumns != null && d.ClickableColumns.length > 0) {\r\n angular.forEach(d.ClickableColumns, function (cl) {\r\n if (cl.Link == \"Project Status Report\") {\r\n vm.deepLink[cl.ColumnName] = function (filterName) {\r\n //$log.log(\"index.Report({report_name:'ProjectStatus', filter_key:'\"+cl.KeyName+\"', filter_name:'\"+filterName+\"'})\");\r\n return \"index.Report({report_name:'ProjectStatus', filter_key:'\"+cl.KeyName+\"', filter_name:'\"+filterName+\"', start_date:'\"+vm.rollup+\"'})\";\r\n }\r\n } if (cl.Link == \"Customer Status Report\") {\r\n vm.deepLink[cl.ColumnName] = function (filterName) {\r\n //$log.log(\"index.Report({report_name:'CustomerStatusReport', filter_key:'\"+cl.KeyName+\"', filter_name:'\"+filterName+\"'})\");\r\n return \"index.Report({report_name:'CustomerStatusReport', filter_key:'\"+cl.KeyName+\"', filter_name:'\"+filterName+\"', start_date:'\"+vm.rollup+\"'})\";\r\n }\r\n }if (cl.Link == 'Customer Location HCL Report') {\r\n vm.deepLink[cl.ColumnName] = function (filterName){\r\n return \"index.Report({report_name:'CustomerLocationHCLReport', filter_key:'\"+cl.KeyName+\"', filter_name:'\"+filterName+\"' , start_date:'\"+vm.rollup+\"'})\";\r\n }\r\n }\r\n if (cl.Link == 'City Ticket HCL Report') {\r\n vm.deepLink[cl.ColumnName] = function (filterName,i){\r\n // var fromDate = $stateParams.start_date?$stateParams.start_date:\"\";\r\n // var toDate = $stateParams.end_date?$stateParams.end_date:\"\";;\r\n return \"index.Report({report_name:'CityTicketHCLReport', filter_key:'\"+cl.KeyName+\"', filter_name:'\"+filterName+\"' , start_date:'\"+vm.rollup+\"', end_date:'\"+i+\"'})\";\r\n }\r\n }\r\n if (cl.Link == 'Team Hcl Detailed Report') {\r\n vm.deepLink[cl.ColumnName] = function (filterName){\r\n // var fromDate = $stateParams.start_date?$stateParams.start_date:\"\";\r\n // var toDate = $stateParams.end_date?$stateParams.end_date:\"\";;\r\n return \"index.Report({report_name:'TeamHclDetailedReport', filter_key:'\"+cl.KeyName+\"', filter_name:'\"+filterName+\"' , start_date:'\"+vm.rollup+\"'})\";\r\n }\r\n }\r\n if (cl.Link == 'Team Ticket HCL Report') {\r\n vm.deepLink[cl.ColumnName] = function (filterName,i){\r\n //$log.log('Name',i);\r\n // var fromDate = $stateParams.start_date?$stateParams.start_date:\"\";\r\n // var toDate = $stateParams.end_date?$stateParams.end_date:\"\";;\r\n return \"index.Report({report_name:'TeamTicketHCLReport', filter_key:'\"+cl.KeyName+\"', filter_name:'\"+filterName+\"' , start_date:'\"+vm.rollup+\"' , end_date:'\"+i+\"'})\";\r\n }\r\n }\r\n if (cl.Link == \"JobView\") {\r\n\r\n if(vm.VerticalName == \"IMS\"){\r\n vm.deepLink[cl.ColumnName] = function (param) {\r\n return \"index.JobView({ticketId:'\" + param + \"',type:'isTicketView'})\";\r\n }\r\n }\r\n else {\r\n vm.deepLink[cl.ColumnName] = function (param) {\r\n return \"index.JobDetailView({ticketId:'\" + param + \"',type:'isTicketView'})\";\r\n }\r\n \r\n }\r\n \r\n }if (cl.Link == 'Team Detailed Report') {\r\n vm.deepLink[cl.ColumnName] = function (filterName){\r\n return \"index.Report({report_name:'TeamDetailReport', filter_key:'\"+cl.KeyName+\"', filter_name:'\"+filterName+\"', start_date:'\"+vm.rollup+\"'})\";\r\n }\r\n }if (cl.Link == 'Spectro Lab Detailed Report') {\r\n vm.deepLink[cl.ColumnName] = function (filterName){\r\n return \"index.Report({report_name:'SpectroLabDetailedReport', filter_key:'\"+cl.KeyName+\"', filter_name:'\"+filterName+\"', start_date:'\"+vm.rollup+\"'})\";\r\n }\r\n }if (cl.Link == 'Finance Ticket Report') {\r\n vm.deepLink[cl.ColumnName] = function (filterName){\r\n return \"index.Report({report_name:'Finance Ticket Report', filter_key:'\"+cl.KeyName+\"', filter_name:'\"+filterName+\"', start_date:'\"+vm.rollup+\"'})\";\r\n }\r\n }\r\n });\r\n }\r\n if (d.UIClasess != null && d.UIClasess.length > 0) {\r\n vm.valueClass = {};\r\n angular.forEach(d.UIClasess, function (cl) {\r\n vm.valueClass[cl.ColumnName] = cl.ClassName;\r\n });\r\n }\r\n //$log.log(vm.valueClass);\r\n // $log.log(\"dates\", $scope.dates);\r\n if (d.ChartType == 'Metrics') {\r\n \r\n // $timeout(function(){\r\n // vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, vm.rollup, vm.filter_key, vm.filter_name);\r\n // },1000)\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, vm.rollup, vm.filter_key, vm.filter_name,\"\",false);\r\n matricsCount++;\r\n matricsIds.push(d.ChartId);\r\n vm.metricsCharts[d.ChartId] = d;\r\n vm.metricsCharts[d.ChartId].value = \"Loading...\";\r\n } \r\n else if(d.ChartType == 'Table'){\r\n\r\n if (vm.isData) {\r\n d.Metrics = vm.key; \r\n }\r\n // var isData = false;\r\n // if (vm.report_data.ReportName == 'Link Ticket Report') {\r\n // d.Metrics = vm.key;\r\n // isData = true;\r\n // }\r\n $timeout(function(){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, vm.rollup, vm.filter_key, vm.filter_name, d.ChartTitle,vm.isData);\r\n },100)\r\n // vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, vm.rollup, vm.filter_key, vm.filter_name);\r\n vm.tableNames[vm.tableCount]=d.ChartTitle;\r\n vm.tableOrder[vm.tableCount]=d.ChartId;\r\n vm.tableCount = vm.tableCount + 1;\r\n\r\n vm.tableCharts[d.ChartId] = {};\r\n //vm.tableCharts[d.ChartId].value = data;\r\n vm.tableCharts[d.ChartId].ChartId = d.ChartId;\r\n vm.tableCharts[d.ChartId].table_name = d.ChartTitle;\r\n\r\n // console.log(vm.tableNames);\r\n // console.log(vm.tableOrder);\r\n // vm.tableArray[vm.tableCount].table_name = d.ChartTitle;\r\n // $log.log('vm.tableArray[vm.tableCount].table_name',vm.tableArray[vm.tableCount].table_name); \r\n }\r\n \r\n \r\n });\r\n if (matricsCount >= 5) {\r\n if (matricsCount % 4 == 0) {\r\n matricsCount = 4;\r\n } else {\r\n matricsCount = 3;\r\n }\r\n }\r\n matricsCount = 12 / matricsCount;\r\n matricsCount = Math.round(matricsCount);\r\n angular.forEach(matricsIds, function (d) {\r\n vm.metricsCharts[d].width = \"col-lg-\" + matricsCount;\r\n });\r\n }])\r\n\r\n vm.getCustomerReport = function (reportname) {\r\n widgetCanvasService.getCustomerReport(loggedinUser, reportname, token, vm.reportLayoutCallback);\r\n \r\n }\r\n\r\n vm.getReportName = function(reportNameParam){\r\n if (reportNameParam == 'ProjectSummary') {\r\n return 'Project Report';\r\n } else if (reportNameParam == 'ProjectStatus') {\r\n return 'Project Status Report';\r\n } else if (reportNameParam == 'CustomerSummary') {\r\n return 'Customer Report';\r\n } else if (reportNameParam == 'CustomerStatusReport') {\r\n return 'Customer Status Report';\r\n } else if (reportNameParam == 'Financial') {\r\n return 'Financial Report';\r\n } else if (reportNameParam == 'DailyProgress') {\r\n return 'Daily Progress Report';\r\n } else if (reportNameParam == 'DailyStatusProgress') {\r\n return '';\r\n } else if (reportNameParam == 'Scheduled') {\r\n return '';\r\n }else if (reportNameParam == 'TeamReport') {\r\n return 'Team Report';\r\n }else if (reportNameParam == 'TeamDetailReport') {\r\n return 'Team Detailed Report';\r\n } else if(reportNameParam == 'ReferralReport'){\r\n return 'Referral Report';\r\n }else if(reportNameParam == 'LabReport'){\r\n return 'Lab Report';\r\n }else if(reportNameParam == 'SpectroLabDetailedReport'){\r\n return 'Spectro Lab Detailed Report';\r\n }\r\n else if(reportNameParam == 'CustomerHCLReport'){\r\n return 'Customer HCL Report';\r\n }\r\n else if(reportNameParam == 'CustomerLocationHCLReport'){\r\n return 'Customer Location HCL Report';\r\n }\r\n else if(reportNameParam == 'CityTicketHCLReport'){\r\n return 'City Ticket HCL Report';\r\n }\r\n else if(reportNameParam == 'TeamHclReport'){\r\n return 'Team Hcl Report';\r\n }\r\n else if(reportNameParam == 'TeamHclDetailedReport'){\r\n return 'Team Hcl Detailed Report';\r\n }else if(reportNameParam == 'TeamTicketHCLReport'){\r\n return 'Team Ticket HCL Report';\r\n }else if(reportNameParam == 'LinkTicketReport'){\r\n return 'Link Ticket Report';\r\n }else if(reportNameParam == 'TicketSummary'){\r\n return 'Ticket Summary';\r\n }else if(reportNameParam == 'AgingofTickets'){\r\n return 'Aging of Tickets';\r\n }else if(reportNameParam == 'Regional Summary'){\r\n return 'Regional Summary';\r\n }else if(reportNameParam == 'Finance Report'){\r\n return 'Finance Report';\r\n }else if(reportNameParam == 'Finance Ticket Report'){\r\n return 'Finance Ticket Report';\r\n }\r\n else \r\n {\r\n return reportNameParam;\r\n }\r\n }\r\n\r\n\r\n \r\n \r\n $scope.toggleContextMenu = function() {\r\n // event.stopPropagation();\r\n $scope.contextMenuVisible = !$scope.contextMenuVisible;\r\n };\r\n\r\n\r\n vm.getReportTitle = function(reportNameParam){\r\n if (reportNameParam == 'ProjectSummary') {\r\n return 'Project Summary';\r\n } else if (reportNameParam == 'ProjectStatus') {\r\n return 'Project Status';\r\n } else if (reportNameParam == 'CustomerSummary') {\r\n return 'Customer Summary';\r\n } else if (reportNameParam == 'CustomerStatusReport') {\r\n return 'Customer Status Report';\r\n } else if (reportNameParam == 'Financial') {\r\n return 'Financial Summary';\r\n } else if (reportNameParam == 'DailyProgress') {\r\n return 'Project Daily Progress';\r\n } else if (reportNameParam == 'DailyStatusProgress') {\r\n return 'Daily Status Progress';\r\n } else if (reportNameParam == 'Scheduled') {\r\n return 'Scheduled Report';\r\n }else if (reportNameParam == 'TeamReport') {\r\n return 'Team Report';\r\n }else if (reportNameParam == 'TeamDetailReport') {\r\n return 'Team Detailed Report';\r\n } else if(reportNameParam == 'ReferralReport'){\r\n return 'Referral Report';\r\n }else if(reportNameParam == 'LabReport'){\r\n return 'Lab Report';\r\n }else if(reportNameParam == 'SpectroLabDetailedReport'){\r\n return 'Spectro Lab Detailed Report';\r\n }else if(reportNameParam == 'CustomerHCLReport'){\r\n return 'Customer HCL Report';\r\n }\r\n else if(reportNameParam == 'CustomerLocationHCLReport'){\r\n return 'Customer Location HCL Report';\r\n }else if(reportNameParam == 'CityTicketHCLReport'){\r\n return 'City Ticket HCL Report';\r\n }\r\n else if(reportNameParam == 'TeamHclReport'){\r\n return 'Team Hcl Report';\r\n }\r\n else if(reportNameParam == 'TeamHclDetailedReport'){\r\n return 'Team Hcl Detailed Report';\r\n }\r\n else if(reportNameParam == 'TeamTicketHCLReport'){\r\n return 'Team Ticket HCL Report';\r\n }else if(reportNameParam == 'LinkTicketReport'){\r\n return 'Link Ticket Report';\r\n }else if(reportNameParam == 'TicketSummary'){\r\n return 'Ticket Summary';\r\n }else if(reportNameParam == 'Regional Summary'){\r\n return 'Regional Summary';\r\n }else if(reportNameParam == 'Finance Report'){\r\n return 'Finance Report';\r\n }else if(reportNameParam == 'Finance Ticket Report'){\r\n return 'Finance Ticket Report';\r\n }\r\n else\r\n {\r\n return reportNameParam;\r\n }\r\n\r\n }\r\n\r\n vm.report_title = vm.getReportTitle($stateParams.report_name);\r\n vm.getCustomerReport(vm.getReportName($stateParams.report_name));\r\n\r\n vm.ShareReport = function () {\r\n //$log.log(\"ShareReport\");\r\n vm.shareModel.toList = [];\r\n vm.shareModel.ccList = [];\r\n vm.shareModel.bccList = [];\r\n vm.shareModel.content = \"Hello,\\n\\nYou are requested to view project report on below link \\n\\n\" + $window.location.href + \" \\n\\nThanks\\nMobiforce Team\";\r\n vm.ShareModal = $uibModal.open({\r\n templateUrl: 'SharewidgetCtrl.html',\r\n backdrop: 'static',\r\n size: 'md',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.closeShareReportModal = function () {\r\n vm.ShareModal.close();\r\n }\r\n\r\n\r\nvm.createwidget = function() {\r\n vm.widgetcreate = $uibModal.open({\r\n templateUrl: 'createwidget.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n}\r\nvm.closecreatewidet = function () {\r\n vm.widgetcreate.close();\r\n}\r\n\r\n vm.ReportFilter = function () {\r\n vm.FilterModal = $uibModal.open({\r\n templateUrl: 'ReportFilter.html',\r\n backdrop: 'static',\r\n size: 'md',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.closeReportFilterModal = function () {\r\n vm.FilterModal.close();\r\n }\r\n\r\n vm.ScheduledReport = function () {\r\n vm.shareModel.toList = [];\r\n vm.shareModel.ccList = [];\r\n vm.shareModel.bccList = [];\r\n vm.scheduleModel.reportName=\"\";\r\n vm.scheduleModel.frequency=vm.scheduleModel.once;\r\n vm.scheduleModel.pull_data.range=vm.scheduleModel.pull_data.day; \r\n vm.scheduleModel.attachReportInMailBody=true;\r\n vm.scheduleModel.attachReportInExcel=true;\r\n vm.scheduleModel.sampleDateMendtryErr=false;\r\n vm.scheduleModel.input_of_week=null;\r\n vm.scheduleModel.sampleDate=new moment();\r\n vm.scheduleModel.input_for_month.option=vm.scheduleModel.input_for_month.start_of_day; \r\n vm.shareModel.content = \"Hello,\\n\\nYou are requested to view project report on below link \\n\\n\" + $window.location.href + \" \\n\\nThanks\\nMobiforce Team\";\r\n vm.ScheduledReportModal = $uibModal.open({\r\n templateUrl: 'ScheduledwidgetCtrl.html',\r\n backdrop: 'static',\r\n windowClass:'schedulerModal',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.closeScheduledReportModal = function () {\r\n vm.ScheduledReportModal.close();\r\n }\r\n\r\n\r\n $scope.options = ['Option 1', 'Option 2', 'Option 3', 'Option 4'];\r\n $scope.selectedOptions = {};\r\n\r\n \r\n \r\n\r\n vm.shareModel.getUserSuggestion = function (val) {\r\n\r\n vm.scheduleModel.toListMendtryErr=false;\r\n\r\n var re = /^[A-Za-z0-9]+([\\.\\-_]*[A-Za-z0-9]+)*@[A-Za-z0-9]+([\\.\\-_]*[A-Za-z0-9]+)*\\.([A-Za-z]{2}|[A-Za-z]{3})$/;\r\n if (vm.users.length > 0) {\r\n return re.test(val)?[{FirstName:val.split(\"@\")[0], LastName:\"\", UserId:val}].concat(vm.users):vm.users;\r\n }\r\n vm.getUsers();\r\n return re.test(val)?[{FirstName:val.split(\"@\")[0], LastName:\"\", UserId:val}]:[];\r\n }\r\n\r\n vm.getUsers = function () {\r\n vm.users = [];\r\n widgetCanvasService.getUsers(loggedinUser, token, vm.createCallback(vm.users, [function (data) {\r\n //$log.log(data);\r\n }]));\r\n }\r\n\r\n vm.shareModel.searchAsOr = function (searchText1) {\r\n return function (entry) {\r\n var splittedText = searchText1.split(\";\");\r\n if (splittedText != null && splittedText.length > 0) {\r\n var searchText = splittedText[splittedText.length - 1].trim();\r\n if (entry.FirstName.toLowerCase().indexOf(searchText.toLowerCase()) > -1\r\n || (entry.LastName !=null && entry.LastName.toLowerCase().indexOf(searchText.toLowerCase()) > -1)\r\n || entry.UserId.toLowerCase().indexOf(searchText.toLowerCase()) > -1)\r\n return entry;\r\n }\r\n }\r\n }\r\n\r\n vm.shareModel.removeSelectedUsers = function (element) {\r\n var matched = false;\r\n angular.forEach(vm.shareModel.toList, function (d) {\r\n if (d.UserId == element.UserId) {\r\n matched = true;\r\n return;\r\n }\r\n });\r\n if (!matched) {\r\n angular.forEach(vm.shareModel.ccList, function (d) {\r\n if (d.UserId == element.UserId) {\r\n matched = true;\r\n return;\r\n }\r\n });\r\n } \r\n if (!matched) {\r\n angular.forEach(vm.shareModel.bccList, function (d) {\r\n if (d.UserId == element.UserId) {\r\n matched = true;\r\n return;\r\n }\r\n });\r\n } \r\n if (!matched) {\r\n return element;\r\n }\r\n }\r\n\r\n vm.shareModel.cancelledToListUser = function (i) {\r\n vm.shareModel.toList.splice(i, 1);\r\n }\r\n\r\n vm.shareModel.cancelledCCListUser = function (i) {\r\n vm.shareModel.ccList.splice(i, 1);\r\n }\r\n\r\n vm.shareModel.cancelledBCCListUser = function (i) {\r\n vm.shareModel.bccList.splice(i, 1);\r\n }\r\n\r\n vm.shareModel.selectUserNameInToList = function (item) {\r\n vm.shareModel.toList.push(item);\r\n vm.shareModel.toUsers = [];\r\n }\r\n vm.shareModel.selectUserNameInCCList = function (item) {\r\n vm.shareModel.ccList.push(item);\r\n vm.shareModel.ccUsers = [];\r\n }\r\n vm.shareModel.selectUserNameInBCCList = function (item) {\r\n vm.shareModel.bccList.push(item);\r\n vm.shareModel.bccUsers = [];\r\n }\r\n\r\n vm.shareModel.mailReport = function () {\r\n var toList = [];\r\n angular.forEach(vm.shareModel.toList, function(user){\r\n toList.push(user.UserId);\r\n });\r\n var ccList = [];\r\n angular.forEach(vm.shareModel.ccList, function(user){\r\n ccList.push(user.UserId);\r\n });\r\n var bccList = [];\r\n angular.forEach(vm.shareModel.bccList, function(user){\r\n bccList.push(user.UserId);\r\n });\r\n if(toList.length==0){\r\n vm.scheduleModel.toListMendtryErr=true;\r\n return;\r\n }\r\n if(vm.shareModel.content.length==0){\r\n return false;\r\n }\r\n\r\n var content = vm.shareModel.content;\r\n content=content.replace(new RegExp(\"\\n\", 'g'), \"
\");\r\n vm.closeShareReportModal();\r\n widgetCanvasService.mailReport(token, toList, ccList, bccList, \"Report: \" + vm.getReportName($stateParams.report_name), \r\n content, vm.getReportName($stateParams.report_name), loggedinUser, vm.filter_key, vm.filter_name, \r\n vm.attachReportInMailBody,vm.attachReportInExcel,vm.rollup,\r\n vm.createCallback(null, [function (data) { \r\n vm.showSuccess(\"Success\", \"Report has been shared successfully\");\r\n }]));\r\n }\r\n\r\n vm.downloadReport = function(){\r\n widgetCanvasService.downloadReport(vm.report_data.ReportName, loggedinUser, vm.filter_key, vm.filter_name,vm.rollup,vm.isData);\r\n \r\n }\r\n\r\n vm.scheduleModel.checkName = function(){\r\n widgetCanvasService.checkReportName(vm.scheduleModel.reportName, function(data){\r\n //$log.log(\"checkName reposnse\", data);\r\n vm.scheduleModel.reportNameAlreadyExists=data;\r\n });\r\n }\r\n\r\n vm.scheduleModel.scheduleReport = function () {\r\n var startTime = null;\r\n var endTime = null;\r\n var cronExpression = null;\r\n var daily = null;\r\n var weekly = null;\r\n var monthly = null;\r\n //$log.log(\"vm.scheduleModel.scheduleTime \",vm.scheduleModel.scheduleTime);\r\n if(vm.scheduleModel.reportName==null || vm.scheduleModel.reportName.length==0){\r\n vm.scheduleModel.reportNameMendtryErr=true;\r\n return;\r\n }\r\n if(vm.shareModel.toList.length==0){\r\n vm.scheduleModel.toListMendtryErr=true;\r\n return; \r\n }\r\n\r\n if (vm.scheduleModel.frequency == vm.scheduleModel.once) {\r\n //$log.log(\"vm.scheduleModel.sampleDate\", vm.scheduleModel.sampleDate);\r\n if(vm.scheduleModel.sampleDate){\r\n var sample_Data = vm.scheduleModel.sampleDate?vm.scheduleModel.sampleDate:new moment();\r\n startTime = {\r\n \"date\": sample_Data.format(\"DD\"),\r\n \"hour\": sample_Data.format(\"HH\"),\r\n \"min\": sample_Data.format(\"mm\"),\r\n \"month\": sample_Data.format(\"MMM\").toUpperCase(),\r\n \"sec\": sample_Data.format(\"ss\"),\r\n \"year\": sample_Data.format(\"YYYY\")\r\n };\r\n\r\n var sampleEndTime = moment(sample_Data).add(1, 'month');\r\n endTime = {\r\n \"date\": sampleEndTime.format(\"DD\"),\r\n \"hour\": sampleEndTime.format(\"HH\"),\r\n \"min\": sampleEndTime.format(\"mm\"),\r\n \"month\": sampleEndTime.format(\"MMM\").toUpperCase(),\r\n \"sec\": sampleEndTime.format(\"ss\"),\r\n \"year\": sampleEndTime.format(\"YYYY\")\r\n };\r\n //$log.log(\"startTime \",startTime);\r\n } else {\r\n vm.scheduleModel.sampleDateMendtryErr=true;\r\n return;\r\n }\r\n \r\n } else {\r\n var startDate = vm.scheduleModel.start_date?new Date(vm.scheduleModel.start_date):new Date();\r\n var endDate = vm.scheduleModel.end_date?new Date(vm.scheduleModel.end_date):new Date();\r\n startTime = {\r\n \"date\": startDate.getDate(),\r\n \"hour\": startDate.getHours(),\r\n \"min\": startDate.getMinutes(),\r\n \"month\": vm.monthNames3[startDate.getMonth()],\r\n \"sec\": startDate.getSeconds(),\r\n \"year\": startDate.getFullYear()\r\n };\r\n endTime = {\r\n \"date\": endDate.getDate(),\r\n \"hour\": endDate.getHours(),\r\n \"min\": endDate.getMinutes(),\r\n \"month\": vm.monthNames3[endDate.getMonth()],\r\n \"sec\": endDate.getSeconds(),\r\n \"year\": endDate.getFullYear()\r\n };\r\n var hour, min;\r\n if(vm.scheduleModel.scheduleTime){\r\n var splittedtime = vm.scheduleModel.scheduleTime.split(\":\");\r\n hour = splittedtime[0];\r\n min = splittedtime[1];\r\n } else {\r\n vm.scheduleModel.timeMendtryErr=true;\r\n return;\r\n }\r\n if (vm.scheduleModel.frequency == vm.scheduleModel.daily) {\r\n daily = {\r\n \"hour\": hour,\r\n \"min\": min\r\n };\r\n } else if (vm.scheduleModel.frequency == vm.scheduleModel.weekly) {\r\n var dayOfWeek = [];\r\n\r\n if (vm.scheduleModel.input_of_week.sun) {\r\n dayOfWeek.push(1);\r\n }\r\n if (vm.scheduleModel.input_of_week.mon) {\r\n dayOfWeek.push(2);\r\n }\r\n if (vm.scheduleModel.input_of_week.tue) {\r\n dayOfWeek.push(3);\r\n }\r\n if (vm.scheduleModel.input_of_week.wed) {\r\n dayOfWeek.push(4);\r\n }\r\n if (vm.scheduleModel.input_of_week.thu) {\r\n dayOfWeek.push(5);\r\n }\r\n if (vm.scheduleModel.input_of_week.fri) {\r\n dayOfWeek.push(6);\r\n }\r\n if (vm.scheduleModel.input_of_week.sat) {\r\n dayOfWeek.push(7);\r\n }\r\n weekly = {\r\n \"dayOfWeek\": dayOfWeek,\r\n \"hour\": hour,\r\n \"min\": min\r\n };\r\n } else if (vm.scheduleModel.frequency == vm.scheduleModel.monthly) {\r\n if (vm.scheduleModel.input_for_month.option == vm.scheduleModel.input_for_month.start_of_day) {\r\n monthly = {\r\n \"dayOfMonth\": \"1\",\r\n \"hour\": hour,\r\n \"min\": min\r\n };\r\n } if (vm.scheduleModel.input_for_month.option == vm.scheduleModel.input_for_month.end_of_day) {\r\n cronExpression = \"0 \"+hour+\" \"+min+\" L * ?\";\r\n vm.scheduleModel.frequency = vm.scheduleModel.cronExpression\r\n } if (vm.scheduleModel.input_for_month.option == vm.scheduleModel.input_for_month.specific_date) {\r\n monthly = {\r\n \"dayOfMonth\": vm.scheduleModel.input_for_month.date,\r\n \"hour\": hour,\r\n \"min\": min\r\n };\r\n }\r\n\r\n } \r\n }\r\n\r\n var data = {\r\n \"cronExpression\": cronExpression,\r\n \"cronType\": vm.scheduleModel.frequency,\r\n \"daily\": daily,\r\n \"endTime\": endTime,\r\n \"jobStartTime\": startTime,\r\n \"method\": \"POST\",\r\n \"monthly\": monthly,\r\n \"uniqueId\": vm.scheduleModel.reportName,\r\n \"reportName\": vm.getReportName($stateParams.report_name),\r\n \"url\": DashboardURL+\"/api/Report/mailexcelreportbyname\",\r\n \"weekly\": weekly,\r\n \"accountId\":loggedinUser\r\n };\r\n\r\n var toList = [];\r\n angular.forEach(vm.shareModel.toList, function(user){\r\n toList.push(user.UserId);\r\n });\r\n var ccList = [];\r\n angular.forEach(vm.shareModel.ccList, function(user){\r\n ccList.push(user.UserId);\r\n });\r\n var bccList = [];\r\n angular.forEach(vm.shareModel.bccList, function(user){\r\n bccList.push(user.UserId);\r\n });\r\n\r\n if(vm.shareModel.content.length==0){\r\n vm.shareModel.contentMedtryErr=true;\r\n return;\r\n }\r\n\r\n var content = vm.shareModel.content;\r\n content=content.replace(new RegExp(\"\\n\", 'g'), \"
\");\r\n var schedulerModel = {};\r\n schedulerModel[\"TOList\"]=toList;\r\n schedulerModel[\"CCList\"]=ccList;\r\n schedulerModel[\"BCCList\"]=bccList;\r\n schedulerModel[\"Body\"]=content;\r\n schedulerModel[\"Subject\"]=\"Report: \" + vm.getReportName($stateParams.report_name)\r\n schedulerModel[\"ReportName\"]=vm.getReportName($stateParams.report_name)\r\n schedulerModel[\"ReqUserId\"]=loggedinUser;\r\n schedulerModel[\"FilterKeys\"]=null;\r\n schedulerModel[\"FilterValues\"]=null;\r\n schedulerModel[\"ReportInMailBody\"]=vm.scheduleModel.attachReportInMailBody;\r\n schedulerModel[\"AttachXLSReportInMail\"]=vm.scheduleModel.attachReportInExcel;\r\n if(vm.scheduleModel.pull_data.range==vm.scheduleModel.pull_data.day){\r\n schedulerModel[\"RollUps\"]=\"Last Day\";\r\n } else if(vm.scheduleModel.pull_data.range==vm.scheduleModel.pull_data.week){\r\n schedulerModel[\"RollUps\"]=\"Last Week\"; \r\n } else if(vm.scheduleModel.pull_data.range==vm.scheduleModel.pull_data.month){\r\n schedulerModel[\"RollUps\"]=\"Last Month\"; \r\n } else if(vm.scheduleModel.pull_data.range==vm.scheduleModel.pull_data.quarter){\r\n schedulerModel[\"RollUps\"]=\"Last Quarter\"; \r\n }else if(vm.scheduleModel.pull_data.range==vm.scheduleModel.pull_data.current_month){\r\n schedulerModel[\"RollUps\"]=\"Current Month\"; \r\n } else if(vm.scheduleModel.pull_data.range==vm.scheduleModel.pull_data.specific){\r\n var re = /^[1-9]+[0-9]*$/;\r\n if(!re.test(vm.scheduleModel.pull_data.specific_day_value)){\r\n vm.scheduleModel.pull_data.specificDayValMedtryErr=true;\r\n return;\r\n }\r\n schedulerModel[\"RollUps\"]=vm.scheduleModel.pull_data.specific_day_value; \r\n }\r\n data[\"model\"]=JSON.stringify(schedulerModel);\r\n data[\"entity\"]=\"report\";\r\n\r\n widgetCanvasService.scheduleReport(loggedinUser, data, token,\r\n vm.createCallback(null, [function (data) { \r\n if(data.msg==\"Schedule already exists\"){\r\n vm.showFailure(\"Failed\", \"Schedule with same name already exists.\");\r\n } else if(data.msg==\"Unexpected params\"){\r\n vm.showFailure(\"Failed\", \"Unexpected parameters.\");\r\n } else if(data.msg==\"Failed\"){\r\n vm.showFailure(\"Server Error\", \"Failed to create schedule.\");\r\n } else {\r\n vm.showSuccess(\"Success\", \"Report scheduled successfully.\");\r\n vm.closeScheduledReportModal();\r\n }\r\n }]));\r\n }\r\n // vm.filename='';\r\n \r\n\r\n vm.PDFView = function (img) {debugger\r\n \r\n \r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n \r\n vm.pdfimage = resp.data;\r\n });\r\n $scope.selected = null;\r\n $timeout(function(){\r\n jobAppointmentModal = $uibModal.open({\r\n templateUrl: 'PDFView.html',\r\n size :'lg',\r\n scope: $scope\r\n });\r\n },1000)\r\n \r\n }\r\n vm.PDFUserModal = function(){\r\n jobAppointmentModal.close();\r\n }\r\n vm.isShow=true;\r\n vm.showEditList = false;\r\n vm.showAction = true;\r\n\r\n vm.addMoreFilter = function(){\r\n vm.SelectedSkills = [];\r\n vm.SelectedLocations = [];\r\n vm.SelectedAccount=[];\r\n vm.showEditList = true;\r\n vm.showAction = false;\r\n vm.getAllAccountsExceptHD();\r\n \r\n }\r\n\r\n vm.removeAddmoreEditList = function () { \r\n vm.showEditList = false;\r\n vm.showAction = true;\r\n }\r\n\r\n vm.openDilogforDelete = function (index) {\r\n $scope.deleteIndex=index;\r\n vm.ShareModal = $uibModal.open({\r\n\r\n templateUrl: 'openDilogforDelete.html',\r\n backdrop: 'static',\r\n size: 'md',\r\n scope: $scope,\r\n \r\n });\r\n }\r\n \r\n vm.closeopenDilogforDeleteModal = function () { \r\n vm.ShareModal.close();\r\n }\r\n \r\n vm.UpdateAllHDAccountConfig = function(index)\r\n { \r\n vm.showAction = true; \r\n // if (vm.editform.$valid) { \r\n var checkAccount = false;\r\n // for (var i = 0; i < vm.showAllAccounts.length; i++) {\r\n // var Acc = vm.showAllAccounts[i];\r\n // if(Acc.AccountName == vm.SelectedAccount.AccountName ) {\r\n // vm.showAllAccounts[i] == vm.SelectedAccount;\r\n // vm.showAllAccounts[i].AccountSkillSet = vm.SelectedSkills;\r\n // vm.showAllAccounts[i].AccountLocations = vm.SelectedLocations; \r\n // checkAccount = true;\r\n // break;\r\n // }\r\n // }\r\n\r\n if(checkAccount == false ) {\r\n // vm.SelectedAccount.AccountSkillSet = vm.SelectedSkills;\r\n vm.showAllAccounts.push(vm.SelectedAccount);\r\n }\r\n \r\n CentralHelpdeskConfigService.UpdateAllHDAccountConfig(loggedinUser,token,vm.showAllAccounts).then(function (resp) {\r\n if (resp && resp.data) { \r\n if (resp.status == 200) { \r\n vm.showEditList = false;\r\n $timeout(function () { \r\n vm.getAllAccounts(); \r\n }, 1000); \r\n vm.showSuccess(\"Success\", \"Acoount Added successfully!\"); \r\n } \r\n }\r\n }, function () {\r\n \r\n });\r\n } \r\n \r\n vm.buildColumnBuilder = function (dataSets, chartId, chartType, metrics, dimensions, rollUp, filterKeys, filterValues,chartName,isData) {\r\n if (vm.tableCharts[chartId] && vm.tableCharts[chartId].value) {\r\n var columns = [];\r\n for (var key in dataSets.Categories) {\r\n var temp = '';\r\n // var columnName = key;\r\n temp = DTColumnBuilder.newColumn(key).withTitle(dataSets.Categories[key]).renderWith(function(data,type,full,meta){\r\n var temp = '';\r\n function getKeyByValue(object, value) {\r\n for( var prop in object ) {\r\n if( object.hasOwnProperty( prop ) ) {\r\n if( object[ prop ] === value )\r\n temp = prop;\r\n }\r\n }\r\n }\r\n getKeyByValue(full,data)\r\n var firstColumntKey = Object.values(full)[0];\r\n // var fixedCatogries = Object.values(vm.tableCharts[chartId].value.Categories)[0];\r\n var t = vm.tableCharts[chartId].value.Categories;\r\n var n = t[temp];\r\n if(vm.deepLink[n]){\r\n return \"' + data + \"\";\r\n }\r\n //data = 'T360000388568_CCR_Form_Photo7825.jpg';\r\n \r\n if((temp =='CCR URL' || temp == 'CCRFormPhotoAttachmentPath'|| temp == 'TicketSignOffReport') && data){\r\n \r\n vm.filename = data.substring(data.lastIndexOf('/')+1);\r\n \r\n \r\n return '' + vm.filename + ' ';\r\n \r\n }\r\n else if((temp == 'FieldReports') && data){\r\n var fileUrls = data.split(',');\r\n var ancharStr = '';\r\n var filename;\r\n angular.forEach(fileUrls, function(value, key){\r\n filename = value.substring(value.lastIndexOf('/')+1);\r\n ancharStr = ancharStr + '' + filename + ' ';\r\n });\r\n\r\n return ancharStr;\r\n \r\n }\r\n else{\r\n return data;\r\n }\r\n });\r\n columns.push(temp);\r\n } \r\n vm.tableCharts[chartId].dtColumns = columns; \r\n }\r\n \r\n\r\n\r\n vm.tableCharts[chartId].dtOptions = DTOptionsBuilder.fromFnPromise(function() { \r\n var defer = $q.defer();\r\n defer.resolve(dataSets.Values);\r\n return defer.promise; \r\n }).withDOM(\r\n '<\"html5buttons\"B>lTfgitp')\r\n .withOption('lengthChange', false)\r\n .withOption('order', [])\r\n .withButtons([{extend:'colvis'},{extend:'csv'},{extend:'print'},{extend:'copy'}])\r\n .withOption('createdRow', createdRow); \r\n }\r\n\r\n function createdRow(row, data, dataIndex) {\r\n // Recompiling so we can bind Angular directive to the DT\r\n $compile(angular.element(row).contents())($scope);\r\n }\r\n\r\n }\r\n});\r\n\r\n\nangular.module('inspinia').service('WareHouseOrderDetailViewService', function (ApiURL, AcessoriesURL, $window, $localStorage, $http) {\r\n\r\n // var vm = this;\r\n // vm.setShowSuccess = function (success) {\r\n // vm.showSuccess = success;\r\n // }\r\n\r\n // vm.setShowFailure = function (failure) {\r\n // vm.showFailure = failure;\r\n // }\r\n\r\n // this.GetUserAllSalesOrderDetail = function (orderStatus, token) {\r\n // var url = ApiURL + '/api/ZohoInventoryController/GetUserAllSalesOrderDetail?OrderStatus=' + orderStatus;\r\n // return $http.get(url, {\r\n // headers: {\r\n // 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n // }\r\n // });\r\n // }\r\n\r\n // this.GetSalesOrdetailByTicketId = function (ticketId,token) {\r\n // var url = ApiURL + '/api/ZohoInventoryController/GetSalesOrdetailByTicketId?ZOHOSalesOrderId=' + ticketId;\r\n // return $http.get(url, {\r\n // headers: {\r\n // 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n // }\r\n // });\r\n // }\r\n this.GetSalesOrdetailByTicketId = function (orderId,token) {\r\n var url = AcessoriesURL + '/api/MMFOrder/GetByOrderId?OrderId=' + orderId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n this.GetShipmentOrder = function (salesOrderNumber,token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/GetShipmentOrder?salesOrderNumber=' + salesOrderNumber;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetOrderInvoiceByOrderId = function (orderId,token) {\r\n var url = AcessoriesURL + '/api/MMFOrderInvoice/GetOrderInvoiceByOrderId?OrderId=' + orderId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n})\r\n\r\n\r\n\nangular.module(\"inspinia\").controller(\"WareHouseOrderDetailViewController\",function (toaster,\r\n MainService,\r\n WareHouseOrderDetailViewService,\r\n ManualAssignationJobService,\r\n $window,\r\n PublicApiURL,\r\n ApiURL,\r\n $state,\r\n $localStorage,\r\n $scope,\r\n JobTicketViewService,\r\n DTOptionsBuilder,\r\n DTColumnBuilder,\r\n $uibModal,\r\n inventorynewService,\r\n jobCreationService,\r\n ReportService,\r\n $filter,\r\n $q,\r\n $timeout,\r\n $sce,\r\n $rootScope,\r\n $stateParams,\r\n $compile,\r\n UIURL,\r\n ImageUrl\r\n ) {\r\n vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n vm.NokiaTableHeaderChange =\r\n $localStorage.accountConfig.NokiaTableHeaderChange;\r\n var loggedinUserName =\r\n $localStorage.loggedInUser_FirstName +\r\n \" \" +\r\n $localStorage.loggedInUser_LastName;\r\n var token = $localStorage.token;\r\n var loggedinUserImage = $localStorage.picture;\r\n var TicketOrderId = $stateParams.order_id;\r\n vm.SearchTag = \"\";\r\n vm.showMapPermision = false;\r\n vm.superPower = false;\r\n $scope.isCollapsed = true;\r\n vm.UserId = \"\";\r\n vm.CurrencySetting = $localStorage.accountConfig.CurrencySetting;\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n vm.getAccountConfigSetting =\r\n $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n vm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n vm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n vm.VerticalName = vm.getAccountConfigSetting(\"Vertical\");\r\n var accountConfig = $localStorage.accountConfig;\r\n vm.AccountId = $localStorage.accountConfig.AccountId;\r\n vm.isDefective = false;\r\n vm.ImageArray = [];\r\n vm.states = [];\r\n vm.cities = [];\r\n vm.isShow = true;\r\n vm.showEditList = false;\r\n vm.showAction = true;\r\n vm.dataFilters = [];\r\n vm.CancellationReasons = \"\";\r\n vm.IsCommissionDetect = false;\r\n vm.urlForNonFeasible = \"\";\r\n vm.currentStepModel = {};\r\n vm.dtInstanceNearBy = {};\r\n vm.dtInstanceFixed = {};\r\n vm.dtInstance = {};\r\n vm.dtInstancePre = {};\r\n vm.SparePartAddress = {};\r\n vm.disableBroadcastButton = false;\r\n vm.disableRouteButton = false;\r\n vm.IsChatEnabled = true;\r\n vm.showPrefer = \"\";\r\n vm.disabledDrop = false;\r\n vm.showloading = false;\r\n vm.ComplianceDisable = true;\r\n vm.PincodeEnabled = true;\r\n vm.passSerialNum = false;\r\n vm.PrivateDisable = false;\r\n vm.messageText = \"\";\r\n vm.PriceLineItemList = [];\r\n vm.LineItemDataList = [];\r\n vm.serviceType = \"\";\r\n vm.AppointmentTime = \"\";\r\n vm.ticketPrice = \"\";\r\n vm.freelancerPrice = \"\";\r\n vm.tPrice = \"\";\r\n vm.commission = \"\";\r\n vm.tax = \"\";\r\n vm.freelancerPricetemp = \"\";\r\n vm.LineItemImage = null;\r\n vm.edit = true;\r\n vm.edit1 = false;\r\n // vm.myvalue = false;\r\n vm.BonusPenaltyList = [];\r\n vm.BonusList = [];\r\n vm.PenaltyList = [];\r\n vm.ShipmentDetails = \"\";\r\n vm.LineitemActivityList = [];\r\n vm.LineItemCategoryType = \"\";\r\n vm.projectId = \"\";\r\n vm.selectedprojectId = \"\";\r\n vm.dynamicpricing = \"\";\r\n vm.FreelancrPriceEnable = \"\";\r\n vm.PercentageEnable = \"\";\r\n vm.BasePriceTotal = 0.0;\r\n vm.dFreelancerPriceTotal = 0.0;\r\n vm.PercentageTotal = 0.0;\r\n vm.FreelancerPriceTotal = 0.0;\r\n vm.MobiforceCommission =\r\n $localStorage.accountConfig.MobiforceCommissionPercentage;\r\n vm.IsFinalApproval = false;\r\n vm.disableExceptionButton = false;\r\n vm.StockCountToAssign = 0;\r\n vm.PartActionType = \"\";\r\n vm.feedbackremark = \"\";\r\n vm.PlannedClosureDateType = \"first\";\r\n vm.WithInDays = 1;\r\n vm.WithInDaysNumbers = [1, 2, 3, 4, 5];\r\n vm.IsSafetyAudit = \"Not Done\";\r\n vm.ratingwarning = \"\";\r\n vm.approvalRemark = \"\";\r\n vm.MaterialStatusList = [\r\n \"Dispatched\",\r\n \"Delivered\",\r\n \"Partially Delivered\",\r\n \"Not Delivered\",\r\n ];\r\n vm.IsMaterialDelivered = $localStorage.accountConfig.IsMaterialDelivered;\r\n vm.SelectedMaterial = \"\";\r\n vm.FreelancerAccess = $localStorage.accountConfig.FreelancerAccess;\r\n vm.ZOHOWarehouseName = \"\";\r\n vm.customerJobCard = [];\r\n vm.PageIndex = 1;\r\n vm.PageSize = 10;\r\n startDate = \"\";\r\n endDate = \"\";\r\n vm.sortType = \"\";\r\n vm.orderBy = \"\";\r\n vm.itemValue = \"\";\r\n vm.OrderStatus = \"\";\r\n vm.SearchText = \"\";\r\n vm.userPageListCount = 10;\r\n vm.financePageListCount = 10;\r\n vm.defectedPageListCount = 10;\r\n vm.brandName = \"\";\r\n vm.partName = \"\";\r\n vm.productGroup = \"\";\r\n vm.BrandListName = \"\";\r\n vm.allSalesOrderPageListCount = 10;\r\n vm.allHistoryOrderPageListCount = 10;\r\n vm.pageListCounts = [10, 20, 30, 50];\r\n var startDate = moment().subtract(7, \"days\").format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.dateField = \"CreatedOn\";\r\n vm.ticketdates = {\r\n startDate: moment().subtract(7, \"day\"),\r\n endDate: moment(),\r\n };\r\n vm.ticketranges = {\r\n Today: [moment(), moment()],\r\n Yesterday: [moment().subtract(1, \"days\"), moment().subtract(1, \"days\")],\r\n \"Last 7 days\": [moment().subtract(7, \"days\"), moment()],\r\n \"Last 30 days\": [moment().subtract(30, \"days\"), moment()],\r\n \"This month\": [moment().startOf(\"month\"), moment().endOf(\"month\")],\r\n };\r\n\r\n vm.outsidedateRangeChange = function (ev, picker) {\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n vm.ApplyFilter();\r\n };\r\n if (accountConfig && accountConfig.EnableRegion) {\r\n vm.EnableRegion = accountConfig.EnableRegion;\r\n } else {\r\n vm.EnableRegion = false;\r\n }\r\n\r\n if (!loggedinUser) {\r\n $state.go(\"Login\", {\r\n reload: true,\r\n });\r\n } else {\r\n var token = $localStorage.token;\r\n vm.ticketType = $stateParams.type;\r\n vm.TicketId = $stateParams.ticketId;\r\n\r\n vm.activeTab = \"Details\";\r\n\r\n vm.activateTab = function (tab) {\r\n vm.activeTab = tab;\r\n };\r\n\r\n vm.Ticketdetailsview = function (ticketId) {\r\n $state.go(\r\n \"index.JobDetailView\",\r\n {\r\n ticketId: ticketId,\r\n },\r\n {\r\n reload: true,\r\n }\r\n );\r\n };\r\n\r\n vm.GetShipmentOrder = function () {\r\n WareHouseOrderDetailViewService.GetShipmentOrder(TicketOrderId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.TrackingDetails = resp.data;\r\n }\r\n });\r\n };\r\n vm.GetSalesOrdetailByTicketId = function () {\r\n WareHouseOrderDetailViewService.GetSalesOrdetailByTicketId(TicketOrderId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.Ticketdetails = resp.data;\r\n }\r\n });\r\n };\r\n vm.GetSalesOrdetailByTicketId();\r\n\r\n\t\tvm.GetOrderInvoiceByOrderId = function () {\r\n\t\t\tWareHouseOrderDetailViewService.GetOrderInvoiceByOrderId(TicketOrderId, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.OrderInvoiceDetails = resp.data;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.GetOrderInvoiceByOrderId();\r\n\r\n\r\n }\r\n }\r\n );\r\n\nangular.module('inspinia').service('WareHouseListService', function (ApiURL, SchedulingAPI, $window, $http,AcessoriesURL) {\r\n\r\n this.GetAllWareHouse = function (loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/WareHouse/GetAllWareHouse';\r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetWareHouseById = function (warehouseId,loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/WareHouse/GetWareHouseById?wareHouseId='+ warehouseId;\r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetAllWareHouseManagerList = function (loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/WareHouse/GetAllWareHouseManagerList';\r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.CreateWareHouse = function (warehouseModel, loggedinUser, token) {\r\n var url = AcessoriesURL + \"/api/WareHouse/CreateWareHouse\";\r\n return $http.post(url, warehouseModel, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.UpdateWareHouse = function (warehouseModel, loggedinUser, token) {\r\n var url = AcessoriesURL + \"/api/WareHouse/UpdateWareHouse\";\r\n return $http.put(url, warehouseModel, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.DetachWarehouse = function (warehouseId,loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/WareHouse/DetachWareHouseManager?wareHouseId='+ warehouseId;\r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('WareHouseListController', function (teamCardService,WareHouseListService, ReferService,$timeout, MainService, $rootScope, DTColumnBuilder, $compile, $q, ProjectCreationService, $scope, TeamProfileService, $stateParams, $uibModal, $localStorage, $log, $state, DTOptionsBuilder, PlanningResourseMapService, DashboardService, DTColumnDefBuilder, ImageUrl) {\r\n var vm = this;\r\n var userId = $stateParams.userId;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n $rootScope.rootScopeMessage = '';\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n } else {\r\n vm.users = [];\r\n vm.FilterSwitch = false;\r\n vm.client = 1;\r\n vm.tab = 1;\r\n vm.skill = '';\r\n vm.workArea = '';\r\n var skillsArray;\r\n var circleArray;\r\n var ProjectModal = {};\r\n var userIndex = 0;\r\n vm.filteredProperties = {};\r\n vm.selectAll = false;\r\n vm.showMinus = false;\r\n vm.searchText = \"\";\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.dtInstance = {};\r\n var witemNames = \"\";\r\n var witemValues = \"\";\r\n var wsSDate = '';\r\n var wsEDate = '';\r\n var uPageIndex = 1;\r\n var uwPageIndex = 1;\r\n var uPageSize = 10;\r\n var uwPageSize = 10;\r\n vm.userPageListCount= 10;\r\n vm.pageListCounts = [10, 20, 30, 50];\r\n\r\n vm.imageServices = function (img) {\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n if (resp.data == null || resp.data == '') {\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n }\r\n else {\r\n vm.profileImg = resp.data;\r\n }\r\n console.log(vm.profileImg);\r\n }, function () {\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n });\r\n\r\n }\r\n\r\n vm.disableCreateButton = false;\r\n\r\n\t\tvm.DisableCreateButton = function (disable) {\r\n\t\t\tif (disable) {\r\n\t\t\t\tvm.disableCreateButton = true;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.disableCreateButton = false;\r\n\t\t\t}\r\n\t\t}\r\n\r\nvm.CreateWareHouseModel = function (asset) {\r\n vm.createwarehouseModelOpen = $uibModal.open({\r\n templateUrl: 'CreateWareHouseModel.html',\r\n size: 'lg',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n}\r\n vm.CloseWareHouseModel = function () {\r\n vm.createwarehouseModelOpen.close();\r\n vm.DisableCreateButton(false);\r\n vm.warehouseType = '';\r\n vm.warehouseName = '';\r\n vm.addressLine1 = '';\r\n vm.addressLine2 = '';\r\n vm.City = '';\r\n vm.State = '';\r\n vm.pincode = '';\r\n }\r\n\r\n\r\n vm.UpdateWarehouseModel = function () {\r\n vm.updatewarehouseModelOpen = $uibModal.open({\r\n templateUrl: 'UpdateWarehouseModel.html',\r\n size: 'lg',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n\r\n vm.CloseUpdateWarehouseModel = function () {\r\n vm.updatewarehouseModelOpen.close();\r\n vm.DisableCreateButton(false);\r\n vm.warehouseType = '';\r\n vm.warehouseName = '';\r\n vm.addressLine1 = '';\r\n vm.addressLine2 = '';\r\n vm.City = '';\r\n vm.State = '';\r\n vm.pincode = '';\r\n }\r\n \r\n\r\n\r\n vm.exportData = function () {\r\n var blob = new Blob([document.getElementById('tab-1').innerHTML], {\r\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\r\n });\r\n saveAs(blob, \"Report.xls\");\r\n };\r\n\r\n vm.getAllSkills = function () {\r\n TeamProfileService.getAllSkills().then(function (resp) {\r\n vm.skills = resp.data;\r\n for (var index = 0; index < vm.skills.length; index++) {\r\n skillsArray.push({\r\n skill: vm.skills.SkillName\r\n });\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n vm.getAllCircles = function (loggedinUser) {\r\n ProjectCreationService.GetAllCircles(loggedinUser).then(function (resp) {\r\n vm.circles = resp.data;\r\n for (var index = 0; index < vm.circles.length; index++) {\r\n circleArray.push({\r\n workArea: vm.circles.circle\r\n });\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n vm.AddTeamMember = function () {\r\n $state.go('index.TeamCreate', {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.ProfileView = function (userid) {\r\n $state.go('index.TeamProfile', {\r\n userId: userid\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n\r\n vm.filtermodal = function () {\r\n ProjectModal = $uibModal.open({\r\n templateUrl: 'Filter.html',\r\n backdrop: 'static',\r\n\r\n scope: $scope\r\n });\r\n }\r\n\r\n\r\n vm.CloseModal = function () {\r\n ProjectModal.close();\r\n }\r\n $scope.selectedOption = '';\r\n \r\n\r\n vm.editTeamMember = function (userName) {\r\n $state.go('index.TeamEdit', {\r\n userId: userName\r\n });\r\n }\r\n vm.hideoverlay = function () {\r\n $scope.myvalue = false;\r\n $scope.userClass_status = true;\r\n }\r\n $scope.userClass_status = true;\r\n vm.userSingle = function () {\r\n $scope.userClass_status = !$scope.userClass_status;\r\n $scope.myvalue = true;\r\n };\r\n $scope.close360View = function () {\r\n $scope.userClass_status = true;\r\n $scope.myvalue = false;\r\n }\r\n \r\n \r\n vm.OpenWarehouseInventoryList = function(warehouseID){\r\n $state.go('index.WareHouseItemList',{\r\n warehouseId: warehouseID\r\n }, { reload: true });\r\n }\r\n\r\n\r\n vm.DeactivateUser = function (userInfo) {\r\n teamCardService.updateUserStatus(loggedinUser, userInfo.UserId, userInfo, token).then(function (resp) {\r\n if (resp.data.UserStatus == 'Active') {\r\n vm.userInfo.UserStatus = 'Inactive';\r\n // vm.UserStatus = \"Deactivate\";\r\n // vm.Status = \"Activated\";\r\n } else if (resp.data.UserStatus == 'Inactive') {\r\n vm.userInfo.UserStatus = 'Active';\r\n // color:'#eee';\r\n // vm.Status = \"Deactivated\";\r\n }\r\n }, function () {\r\n //$log.log('not working');\r\n })\r\n }\r\n\r\n vm.ActivateUser = function (userInfo) {\r\n teamCardService.updateUserStatus(loggedinUser, userInfo.UserId, userInfo, token).then(function () {\r\n if (vm.checkboxVal == true) {\r\n if (vm.userInfo.UserStatus == 'Active') {\r\n vm.userInfo.UserStatus = 'Inactive';\r\n } else if (vm.userInfo.UserStatus == 'Inactive') {\r\n vm.userInfo.UserStatus = 'Active';\r\n }\r\n }\r\n })\r\n }\r\n\r\n\r\n\r\n vm.search = function () {\r\n if (vm.Name == true) {\r\n if (angular.isDefined(vm.teamMember_name)) {\r\n vm.filteredProperties.FirstName = vm.teamMember_name;\r\n }\r\n\r\n } if (vm.ProjectCheckBox == true) {\r\n if (angular.isDefined(vm.Project)) {\r\n vm.filteredProperties.Project = vm.Project;\r\n }\r\n \r\n } if (vm.skillCheckBox == true) {\r\n if (angular.isDefined(vm.skill)) {\r\n vm.filteredProperties.SkillSet = vm.skill[0];\r\n }\r\n } if (vm.Capture == true) {\r\n if (angular.isDefined(vm.workArea)) {\r\n vm.filteredProperties.Locations = vm.workArea[0];\r\n }\r\n } if (vm.statusCheckBox == true) {\r\n if (angular.isDefined(vm.status)) {\r\n vm.filteredProperties.status = vm.status;\r\n }\r\n }\r\n ProjectModal.close();\r\n } \r\n\r\n vm.searchTable = function () {\r\n vm.dtInstance.DataTable.search(vm.searchText);\r\n vm.dtInstance.DataTable.search(vm.searchText).draw();\r\n };\r\n \r\n\r\n vm.dtOptions = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n WareHouseListService.GetAllWareHouse(loggedinUser, token).then(function (resp) {\r\n vm.teamLists = resp.data;\r\n if (!vm.teamLists.length) {\r\n vm.client = 1;\r\n } else {\r\n vm.client = 3;\r\n vm.userInfo = vm.teamLists[userIndex];\r\n }\r\n\r\n defer.resolve(vm.teamLists);\r\n })\r\n return defer.promise;\r\n\r\n })\r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withOption('createdRow', createdRow)\r\n .withButtons([{extend:'copy'},{extend:'csv', filename: 'Warehouse_List'},{extend:'print', title: 'Warehouse List' }])\r\n .withOption('rowCallback', rowCallback);\r\n\r\n function createdRow(row, data, dataIndex) {\r\n $compile(angular.element(row).contents())($scope);\r\n }\r\n\r\n function rowCallback(nRow, aData, iDisplayIndex, iDisplayIndexFull) {\r\n $('td', nRow).unbind('click');\r\n $('td', nRow).bind('click', function () {\r\n // $scope.$apply(function () {\r\n // vm.ProfileData(aData.UserId);\r\n // });\r\n });\r\n return nRow;\r\n }\r\n\r\n\r\n\r\n function getAllStates() {\r\n var defered = $q.defer();\r\n ReferService.getAllState(loggedinUser, token).then(function (resp) {\r\n defered.resolve(resp);\r\n }, function (error) {\r\n defered.reject(error);\r\n });\r\n return defered.promise;\r\n }\r\n \r\n var allStatePromise = getAllStates(loggedinUser);\r\n allStatePromise.then(function (resp) {\r\n vm.StateList = resp.data;\r\n \r\n });\r\n function getallCities(state) {\r\n ReferService.getAllCity(loggedinUser, state, token).then(function (resp) {\r\n vm.CityList = resp.data;\r\n });\r\n }\r\n vm.selectedState = function (state) {\r\n getallCities(state);\r\n }\r\n\r\n vm.OpenDetachModal = function (warehouseId) {\r\n vm.detachWarehouseId = warehouseId\r\n vm.AllocateModal = $uibModal.open({\r\n templateUrl: \"detachModal.html\",\r\n backdrop: \"static\",\r\n size: \"md\",\r\n scope: $scope,\r\n });\r\n };\r\n \r\n vm.closeDetachModal = function () {\r\n vm.AllocateModal.close();\r\n vm.detachWarehouseId = \"\";\r\n };\r\n \r\n\r\n vm.dtColumns = [\r\n DTColumnBuilder.newColumn(null).withTitle('Warehouse ID').renderWith(function (data) {\r\n return '';\r\n }),\r\n DTColumnBuilder.newColumn('strWareHouseName').withTitle('Warehouse Name').notSortable(),\r\n DTColumnBuilder.newColumn('strWareHouseType').withTitle('Type').notSortable(),\r\n DTColumnBuilder.newColumn(null).withTitle('Address').notSortable().renderWith(function (data) {\r\n return data.strAddressLine1 + ', ' + data.strAddressLine2;\r\n }),\r\n DTColumnBuilder.newColumn('strState').withTitle('State').notSortable(),\r\n DTColumnBuilder.newColumn('strCity').withTitle('City').notSortable(),\r\n DTColumnBuilder.newColumn('strPincode').withTitle('PinCode').notSortable(),\r\n DTColumnBuilder.newColumn('strManagerId').withTitle('Manager ID').notSortable(),\r\n DTColumnBuilder.newColumn('strManagerName').withTitle('Manager Name').notSortable(),\r\n DTColumnBuilder.newColumn(null).withTitle('Status').notSortable().renderWith(function (data) {\r\n return '
' +\r\n '
' +\r\n '' +\r\n '' +\r\n '
' +\r\n '
';\r\n }),\r\n DTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data) {\r\n return '';\r\n }),\r\n DTColumnBuilder.newColumn(null).withTitle('Detach').notSortable().renderWith(function (data) {\r\n if (data.strManagerId) {\r\n return '';\r\n } else {\r\n return '';\r\n }\r\n })\r\n ]; \r\n \r\n vm.GetAllWareHouseManagerList = function () {\r\n WareHouseListService.GetAllWareHouseManagerList(loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200 && resp.data) {\r\n vm.WarehouseManagersList = resp.data;\r\n // vm.WarehouseManagersList.forEach({\r\n \r\n // })\r\n }\r\n });\r\n }\r\n\r\n\r\n vm.GetWareHouseById = function (warehouseId,type) {\r\n vm.ActionType = type;\r\n\t\t\tWareHouseListService.GetWareHouseById(warehouseId,loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\tvm.AllWarehouseData = resp.data;\r\n vm.WareHouseId = vm.AllWarehouseData.strWareHouseId;\r\n vm.warehouseName = vm.AllWarehouseData.strWareHouseName;\r\n vm.warehouseType = vm.AllWarehouseData.strWareHouseType;\r\n vm.AllocatedManager = vm.AllWarehouseData.strManagerId;\r\n vm.addressLine1 = vm.AllWarehouseData.strAddressLine1;\r\n vm.addressLine2 = vm.AllWarehouseData.strAddressLine2;\r\n vm.State = vm.AllWarehouseData.strState;\r\n vm.selectedState(vm.State);\r\n vm.City = vm.AllWarehouseData.strCity;\r\n vm.pincode = vm.AllWarehouseData.strPincode;\r\n vm.Location = vm.AllWarehouseData.strLocation;\r\n vm.IsWareHouseActive = vm.AllWarehouseData.bIsWareHouseActive;\r\n if(vm.ActionType == 'editData'){\r\n vm.UpdateWarehouseModel();\r\n vm.GetAllWareHouseManagerList();\r\n }\r\n else if(vm.ActionType == 'statusUpdate'){\r\n vm.ActivateOrDeactivateWareHouse(!vm.AllWarehouseData.bIsWareHouseActive);\r\n }\r\n \r\n\t\t\t\t}\r\n else{\r\n vm.showFailure(\"Failed\",\"Please try again later.\")\r\n }\r\n\t\t\t});\r\n\t\t}\r\n\r\n \r\n vm.DetachWarehouse = function () {\r\n\t\t\tWareHouseListService.DetachWarehouse(vm.detachWarehouseId,loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200) {\r\n vm.closeDetachModal();\r\n vm.showSuccess(\"Success\",\"Manager Detached Successfully.\")\r\n $timeout(function () {\r\n vm.dtInstance.reloadData();\r\n }, 2000);\r\n\t\t\t\t}\r\n else{\r\n vm.showFailure(\"Failed\",\"Please try again later.\")\r\n }\r\n\t\t\t});\r\n\t\t}\r\n\r\n vm.CreateWareHouse = function () {\r\n vm.DisableCreateButton(false);\r\n var warehouseModel = {\r\n \"strWareHouseType\": vm.warehouseType,\r\n \"strWareHouseName\": vm.warehouseName,\r\n \"strAddressLine1\": vm.addressLine1,\r\n \"strAddressLine2\": vm.addressLine2,\r\n \"strCity\": vm.City,\r\n \"strState\": vm.State,\r\n \"strPincode\": vm.pincode,\r\n \"strLocation\": \"\"\r\n }\r\n vm.warehouse_form.submitted = true;\r\n if (vm.warehouse_form.$valid) {\r\n vm.DisableCreateButton(true);\r\n WareHouseListService.CreateWareHouse(warehouseModel, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Warehouse created successfully.\");\r\n vm.CloseWareHouseModel();\r\n $timeout(function () {\r\n vm.dtInstance.reloadData();\r\n }, 2000);\r\n }\r\n else {\r\n vm.DisableCreateButton(false);\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n }\r\n }\r\n\r\n vm.UpdateWareHouse = function () {\r\n vm.DisableCreateButton(false);\r\n var warehouseModel = {\r\n \"strWareHouseId\": vm.WareHouseId,\r\n \"strWareHouseType\": vm.warehouseType,\r\n \"strWareHouseName\": vm.warehouseName,\r\n \"strAddressLine1\": vm.addressLine1,\r\n \"strAddressLine2\": vm.addressLine2,\r\n \"strCity\": vm.City,\r\n \"strState\": vm.State,\r\n \"strPincode\": vm.pincode,\r\n \"strLocation\": \"\",\r\n \"strManagerId\": vm.AllocatedManager,\r\n \"bIsWareHouseActive\" : vm.IsWareHouseActive\r\n }\r\n vm.warehouse_update_form.submitted = true;\r\n if (vm.warehouse_update_form.$valid) {\r\n vm.DisableCreateButton(true);\r\n WareHouseListService.UpdateWareHouse(warehouseModel, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Warehouse updated successfully.\");\r\n vm.CloseUpdateWarehouseModel();\r\n $timeout(function () {\r\n vm.dtInstance.reloadData();\r\n }, 2000);\r\n }\r\n else {\r\n vm.DisableCreateButton(false);\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n }\r\n }\r\n\r\n vm.ActivateOrDeactivateWareHouse = function (newStatus) {\r\n var warehouseActiveModel = {\r\n \"strWareHouseId\": vm.WareHouseId,\r\n \"strWareHouseType\": vm.warehouseType,\r\n \"strWareHouseName\": vm.warehouseName,\r\n \"strAddressLine1\": vm.addressLine1,\r\n \"strAddressLine2\": vm.addressLine2,\r\n \"strCity\": vm.City,\r\n \"strState\": vm.State,\r\n \"strPincode\": vm.pincode,\r\n \"strLocation\": \"\",\r\n \"bIsWareHouseActive\": newStatus\r\n }\r\n WareHouseListService.UpdateWareHouse(warehouseActiveModel, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Warehouse status updated successfully.\");\r\n $timeout(function () {\r\n vm.dtInstance.reloadData();\r\n }, 2000);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n\r\n }\r\n }\r\n});\nangular.module('inspinia').service('WareHouseItemListService', function (ApiURL, AcessoriesURL, SchedulingAPI, $window, $http) {\r\n\r\n this.GetInventoryByWareHouseId = function (data,loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFPart/GetInventoryByWareHouseId';\r\n return $http.put(url,data, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetInventoryByWareHouseId_CSV = function (data,loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFPart/GetInventoryByWareHouseId_CSV';\r\n return $http.put(url,data, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetInventoryDashboardByWareHouseId = function (data,loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFPart/GetInventoryDashboardByWareHouseId';\r\n return $http.put(url,data, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.AddInventoryToWareHouse = function (warehouseModel, loggedinUser, token) {\r\n var url = AcessoriesURL + \"/api/MMFPart/AddInventoryToWareHouse\";\r\n return $http.post(url, warehouseModel, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('WareHouseItemListController', function (WareHouseItemListService,InventoryCartService,MainService,InventoryItemListService, $stateParams, $resource, toaster, $filter, $compile, $q, $state, $localStorage, $scope, DTOptionsBuilder, DTColumnBuilder, $uibModal, $timeout) {\r\n\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvar warehouseId = $stateParams.warehouseId;\r\n vm.IsCentralWarehouse = $localStorage.IsCentralWarehouse;\r\n\t\tvm.AccountId = $localStorage.accountConfig.AccountId;\r\n\t\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\t\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\t\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\t\tvm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n\t\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\t\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\t\tvm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\t\tvar PageIndex = 1;\r\n\t\tvar PageSize = 10;\r\n\t\tvm.allInventoryPageListCount = 10;\r\n\t\tvm.pageListCounts = [10, 20, 30, 50];\r\n\t\t$scope.dates = { startDate: moment().subtract(0, 'days'), endDate: moment() };\r\n\t\tvar startDate = moment().subtract(0, 'days').format(\"YYYY-MM-DD\");\r\n\t\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\r\n\t\t$scope.ranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment()]\r\n\t\t};\r\n\r\n\t\tvm.createItemMoreModal = function () {\r\n\t\t\tvm.GetAllVisibleMasterParts();\r\n\t\t\tvm.showEditList = true;\r\n\t\t\tvm.showAction = false;\r\n\t\t\tvm.moreitemModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'AddMoreItemModal.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closecreateItemMoreModal = function () {\r\n\t\t\tvm.moreitemModal.close();\r\n\t\t\tvm.filters =[];\r\n\t\t\tvm.DisableCreateButton(false);\r\n\t\t}\r\n\t\tvm.clearFilter = function (){\r\n\t\t\tvm.SearchText = '';\r\n\t\t\tvm.brandName = '';\r\n\t\t\tvm.productGroup = '';\r\n\t\t\tvm.partName = '';\r\n\t\t\tvm.selectedPart = '';\r\n\t\t\tvm.GetInventoryByWareHouseId();\r\n\t\t}\r\n\t\tvm.StockType = '';\r\n\r\n\t\t// Function to set the selected item\r\n\t\tvm.setSelectedItem = function(item) {\r\n\t\t\tvm.StockType = item;\r\n\t\t vm.GetInventoryByWareHouseId();\r\n\t\t vm.GetInventoryDashboardByWareHouseId();\r\n\t\t};\r\n\t\tvm.filters = [];\r\n\t\tvm.showAction = true;\r\n\t\tvm.showEditList = true;\r\n\t\tvm.showError = false;\r\n\r\n\t\t// Initialize a new filter object\r\n\t\tvm.newFilter = {\r\n\t\t\tstrMMFPartId: '',\r\n\t\t\t// nQuantityAvailable: 0,\r\n\t\t\tnTotalDeadStock: 0,\r\n\t\t\tnTotalGoodStock: 0\r\n\t\t};\r\n\r\n\t\r\n\t\tvm.addNewFilter = function (filter) {\r\n\t\t\tvm.filters.push(angular.copy(filter));\r\n\t\t\tvm.resetNewFilter();\r\n\t\t\tvm.showEditList = false;\r\n\t\t\tvm.showError = false; \r\n\t\t};\r\n\r\n\t\t// Save filter with validation\r\n\t\tvm.saveFilter = function (form) {\r\n\t\t\tif (vm.newFilter.strMMFPartId) {\r\n\t\t\t\tvm.addNewFilter(vm.newFilter);\r\n\t\t\t\tvm.showError = false;\r\n\t\t\t} else {\r\n\t\t\t\tvm.showError = true;\r\n\t\t\t}\r\n\t\t};\r\n\t\t// Delete a filter from the list\r\n\t\tvm.deleteDataFilter = function (filter) {\r\n\t\t\tvar index = vm.filters.indexOf(filter);\r\n\t\t\tif (index !== -1) {\r\n\t\t\t\tvm.filters.splice(index, 1);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t// Reset the new filter form\r\n\t\tvm.resetNewFilter = function () {\r\n\t\t\tvm.newFilter = {\r\n\t\t\t\tstrMMFPartId: '',\r\n\t\t\t\t// nQuantityAvailable: 0,\r\n\t\t\t\tnTotalDeadStock: 0,\r\n\t\t\t\tnTotalGoodStock: 0\r\n\t\t\t};\r\n\t\t};\r\n\r\n\t\tvm.addMoreFilter = function () {\r\n\t\t\tvm.showEditList = true;\r\n\t\t};\r\n\r\n\t\tvm.clearError = function () {\r\n\t\t\tvm.showError = false;\r\n\t\t};\r\n\r\n\t\tvm.disableCreateButton = false;\r\n\r\n\t\tvm.DisableCreateButton = function (disable) {\r\n\t\t\tif (disable) {\r\n\t\t\t\tvm.disableCreateButton = true;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.disableCreateButton = false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tvm.AddInventoryToWareHouse = function () {\r\n\t\t\tvm.DisableCreateButton(true);\r\n\t\t\t WareHouseItemListService.AddInventoryToWareHouse(vm.filters, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t vm.showSuccess(\"Success\", \"Inventory added successfully.\");\r\n\t\t\t\t vm.closecreateItemMoreModal();\r\n\t\t\t\t $timeout(function () {\r\n\t\t\t\t\tvm.GetInventoryByWareHouseId();\r\n\t\t\t\t\tvm.GetInventoryDashboardByWareHouseId();\r\n\t\t\t\t }, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t vm.DisableCreateButton(false);\r\n\t\t\t\t vm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t })\r\n\t\t\t}\r\n\t\t \r\n\t\t\t\r\n\t\tvm.clickselectedPart = function (inventoryData) {\r\n\t\t\tvm.sideViewData = inventoryData;\r\n\t\t\tvm.sideViewPartImage = inventoryData.strPartImages;\r\n\t\t\tvm.sideViewPartLength = inventoryData.strPartImages.length;\r\n\t\t\tfor (var i = 0; i < vm.sideViewPartImage.length; i++) {\r\n\t\t\t\tvm.TrainingImageServices(vm.sideViewPartImage[i], i);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.TrainingImagebase64 = [];\r\n\r\n\t\tvm.TrainingImageServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.TrainingImagebase64[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else{\r\n vm.TrainingImagebase64[index] = resp.data;\r\n } \r\n }, function() {\r\n vm.TrainingImagebase64[index] = 'assets/images/patterns/image_placeholder.png';\r\n }); \r\n }\r\n\r\n\t\t$scope.totalInvList = 0;\r\n\t\t$scope.inventoryPerPage = vm.allInventoryPageListCount;\r\n\t\t$scope.InventoryPagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\r\n\t\tvm.changeAllInventoryPageListCount = function () {\r\n\t\t\t$scope.inventoryPerPage = vm.allInventoryPageListCount;\r\n\t\t\tPageSize = $scope.inventoryPerPage;\r\n\t\t\t$scope.AllInventoryTablePageChanged($scope.InventoryPagination.current);\r\n\t\t\tvm.selectAll = false;\r\n\t\t\tPageIndex = $scope.InventoryPagination.current;\r\n\t\t\t$scope.AllInventoryTablePageChanged = function (newPage) {\r\n\t\t\t\tPageIndex = newPage;\r\n\t\t\t\tvm.GetInventoryByWareHouseId();\r\n\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tPageIndex = $scope.InventoryPagination.current;\r\n\t\t$scope.AllInventoryTablePageChanged = function (newPage) {\r\n\t\t\tPageIndex = newPage;\r\n\t\t\tvm.GetInventoryByWareHouseId();\r\n\r\n\t\t};\r\n\t\t\r\n\t\tvm.SearchText = '';\r\n\t\tvm.warehouseInvetoryList = [];\r\n\t\tvm.GetInventoryByWareHouseId = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"WareHouseId\": warehouseId,\r\n\t\t\t\t\"SearchText\": vm.SearchText,\r\n\t\t\t\t\"StockType\" : vm.StockType,\r\n\t\t\t\t\"PageIndex\": PageIndex,\r\n\t\t\t\t\"PageSize\": PageSize,\r\n\t\t\t\t\"MMFPartName\": vm.selectedPart,\r\n\t\t\t\t\"ProductGroup\": vm.productGroup,\r\n\t\t\t\t\"BrandName\": vm.brandName,\r\n\t\t\t\t\"PartSubGroup\": vm.partName,\r\n\t\t\t}\r\n\t\t\tWareHouseItemListService.GetInventoryByWareHouseId(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.warehouseInvetoryList = resp.data.ListMMFPartModelRes;\r\n\t\t\t\t\tvm.sideViewData = vm.warehouseInvetoryList[0];\r\n\r\n\t\t\t\t\tvm.sideViewPartImage = vm.sideViewData.strPartImages;\r\n\t\t\t\t\tvm.sideViewPartLength = vm.sideViewData.strPartImages.length;\r\n\t\t\t\t\tfor (var i = 0; i < vm.sideViewPartImage.length; i++) {\r\n\t\t\t\t\t\tvm.TrainingImageServices(vm.sideViewPartImage[i], i);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$scope.totalInvList = resp.data.RecordCount;\r\n\t\t\t\t\tif (vm.warehouseInvetoryList.length < vm.allInventoryPageListCount)\r\n\t\t\t\t\t\tvm.inventoryListLength = $scope.totalInvList;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.inventoryListLength = PageIndex * vm.allInventoryPageListCount;\r\n\t\t\t\t\tif (PageIndex == 1)\r\n\t\t\t\t\t\tvm.pageindexCount = 1;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.pageindexCount = (((PageIndex - 1) * vm.allInventoryPageListCount) + 1);\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.GetInventoryByWareHouseId();\r\n\r\n\t\tvm.GetInventoryDashboardByWareHouseId = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"WareHouseId\": warehouseId,\r\n\t\t\t\t\"SearchText\": vm.SearchText,\r\n\t\t\t\t\"StockType\" : vm.StockType,\r\n\t\t\t\t\"PageIndex\": PageIndex,\r\n\t\t\t\t\"PageSize\": PageSize,\r\n\t\t\t\t\"PartName\": vm.selectedPart,\r\n\t\t\t\t\"PartCategoryGroup\": vm.productGroup,\r\n\t\t\t\t\"PartBrand\": vm.brandName,\r\n\t\t\t\t\"PartSubGroup\": vm.partName,\r\n\t\t\t}\r\n\t\t\tWareHouseItemListService.GetInventoryDashboardByWareHouseId(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.InvetoryDashboardData = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.GetInventoryDashboardByWareHouseId();\r\n\r\n\t\tvm.GetInventoryByWareHouseId_CSV = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"WareHouseId\": warehouseId,\r\n\t\t\t\t\"SearchText\": vm.SearchText,\r\n\t\t\t\t\"StockType\" : vm.StockType,\r\n\t\t\t\t\"PageIndex\": PageIndex,\r\n\t\t\t\t\"PageSize\": PageSize,\r\n\t\t\t\t\"MMFPartName\": vm.selectedPart,\r\n\t\t\t\t\"ProductGroup\": vm.productGroup,\r\n\t\t\t\t\"BrandName\": vm.brandName,\r\n\t\t\t\t\"PartSubGroup\": vm.partName,\r\n\t\t\t}\r\n\t\t\tWareHouseItemListService.GetInventoryByWareHouseId_CSV(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvar csvData = resp.data;\r\n\r\n\t\t\t\t\t// Create a Blob from the CSV data\r\n\t\t\t\t\tvar blob = new Blob([csvData], { type: 'text/csv' });\r\n\r\n\t\t\t\t\t// Create a URL for the Blob\r\n\t\t\t\t\tvar url = window.URL.createObjectURL(blob);\r\n\r\n\t\t\t\t\t// Create an anchor element for the download link\r\n\t\t\t\t\tvar a = document.createElement('a');\r\n\t\t\t\t\ta.href = url;\r\n\t\t\t\t\ta.download = 'warehouse_inventory.csv'; // Set the desired filename\r\n\r\n\t\t\t\t\t// Simulate a click to trigger the download\r\n\t\t\t\t\ta.click();\r\n\r\n\t\t\t\t\t// Release the URL object\r\n\t\t\t\t\twindow.URL.revokeObjectURL(url);\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\t\t\r\n\r\n\t\tvm.partName = '';\r\n\t\tvm.productGroup = '';\r\n\t\tvm.brandName = '';\r\n\t\tvm.searchTag = '';\r\n\t\tvm.masterInvetoryList = [];\r\n\t\tvm.GetAllVisibleMasterParts = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"PartName\": vm.selectedPart,\r\n\t\t\t\t\"PartCategoryGroup\": vm.productGroup,\r\n\t\t\t\t\"PartBrand\": vm.brandName,\r\n\t\t\t\t\"PartSubGroup\": vm.partName,\r\n\t\t\t\t\"SearchText\": vm.searchTag\r\n\t\t\t}\r\n\t\t\tInventoryItemListService.GetAllVisibleMasterParts(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.masterInvetoryList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.GetItemBrandName = function () {\r\n\t\t\tInventoryCartService.GetItemBrandName(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.BrandList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t};\r\n\t\tvm.GetItemBrandName();\r\n\r\n\r\n\t\tvm.GetItemGroupName = function () {\r\n\t\t\tif (!vm.brandName) {\r\n\t\t\t\tvm.brandName = \"\";\r\n\t\t\t}\r\n\t\t\tInventoryCartService.GetItemGroupName(vm.brandName, loggedinUser, token).then(\r\n\t\t\t\tfunction (resp) {\r\n\t\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\t\tvm.PartNameList = resp.data;\r\n\t\t\t\t\t\tvm.changeCategoryFilter();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t};\r\n\t\tvm.GetItemGroupName();\r\n\t\tvm.GetItemListName = function () {\r\n\t\t\tif (!vm.productGroup) {\r\n\t\t\t\tvm.productGroup = \"\";\r\n\t\t\t}\r\n\t\t\tInventoryCartService.GetItemListName(vm.brandName,vm.productGroup,loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.PartList = resp.data;\r\n\t\t\t\t\tvm.changeCategoryFilter();\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t};\r\n\t\tvm.GetItemListName();\r\n\r\n\t\tvm.PartListWithFilter = [];\r\n\r\n\t\tvm.GetItemPartName = function () {\r\n\t\t vm.PartListWithFilter = [];\r\n\t\t if (!vm.partName) {\r\n\t\t\tvm.partName = \"\";\r\n\t\t }\r\n\t\t InventoryItemListService.GetItemPartName(vm.brandName,vm.productGroup,vm.partName,loggedinUser,token).then(function (resp) {\r\n\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t vm.PartListWithFilter = resp.data;\r\n\t\t\t}\r\n\t\t }, vm.showFailure);\r\n\t\t};\r\n\t\tvm.GetItemPartName();\r\n\r\n\t}\r\n\r\n});\nangular.module('inspinia').service('SlotAllocationService', function (ApiURL, PublicApiURL, ActivityURL, LocationURL, $http, FreelancerURL, SchedulingAPI) {\r\n var vm = this;\r\n\r\n vm.setShowSuccess = function (success) {\r\n vm.showSuccess = success;\r\n }\r\n\r\n vm.setShowFailure = function (failure) {\r\n vm.showFailure = failure;\r\n }\r\n //http://192.168.0.80:92/CoreAPI/api/Ticket/new/byStatus?reqUserId=kanika.bansal%40innotiontech.com\r\n this.GetTicketsByStatus = function (status, loggedinUser, token) {\r\n var url = ApiURL + '/api/Ticket/' + status + '/byStatus?reqUserId=' + loggedinUser;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n this.GetActiveUser = function (status, loggedinUser, token) {\r\n var url = ApiURL + '/api/Ticket/' + status + '/byStatus?reqUserId=' + loggedinUser;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n //Get all freelancers\r\n //http://192.168.0.80:92/FreelancerAPI/api/FreeLancerUser/kanika.bansal%40innotiontech.com/GetAllUsers\r\n // https://login.mymobiforce.com/FreelancerAPI/api/FreelancerUser/GetUserDetailsforSupervisior\r\n this.GetListAllFreelancers = function (data, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreelancerUser/GetUserDetailsforSupervisior';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n //http://192.168.0.80:92/FreelancerAPI/api/FreeLancerUser/Kanika.bansal%40innotiontech.com/GetAllFreLancerWithFilters?itemNames=UserStatus%2CRole&itemValues=Active%2CField%20Engineer\r\n this.GetAllFreelancersWithFilters = function (loggedinUser, itemNames, itemValues, token) {\r\n var url = FreelancerURL + '/api/FreeLancerUser/' + loggedinUser + '/GetAllFreLancerWithFilters?itemNames=' + itemNames + '&itemValues=' + itemValues;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n // url = https://product.mymobiforce.com/schedulingAPI/api/AutoJobBroadcast/BroadcastJobsManualMode\r\n this.AutoBroadcastAllNewJobsManualMode = function (loginUserId, ticketIds, token) {\r\n var url = SchedulingAPI + '/api/AutoJobBroadcast/BroadcastJobsManualMode';\r\n return $http.post(url, ticketIds, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loginUserId }\r\n });\r\n\r\n /*var url = SchedulingAPI + 'api/AutoJobBroadcast/BroadcastJobsManualMode'; \r\n return $http.post(url, ticketIds, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });*/\r\n }\r\n\r\n this.PullBackJob = function (loginUserId, ticketIds, token) {\r\n var url = ApiURL + '/api/Ticket/PullBackFromDispatchSupervisor';\r\n return $http.put(url, ticketIds, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loginUserId }\r\n });\r\n }\r\n\r\n this.callToTechnicianApi = function (loggedinUser, userid, token) {\r\n $http.get(ApiURL + '/api/CallPatching/ClickToCallFieldTeam?userId=' + userid,\r\n { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser } }).then(function (resp) {\r\n if (resp && resp.data) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Call Initiated\");\r\n }\r\n else {\r\n vm.showFailure(\"Failed\");\r\n }\r\n }\r\n });\r\n }\r\n\r\n this.callToTechnicianInBroadcastState = function (loggedinUser, userid, TicketId, token) {\r\n $http.get(ApiURL + '/api/CallPatching/ClickToCallFieldTeamInTicketBroadcastState?userId=' + userid + '&TicketId=' + TicketId,\r\n { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser } }).then(function (resp) {\r\n if (resp && resp.data) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Call Initiated\");\r\n }\r\n else {\r\n vm.showFailure(\"Failed\");\r\n }\r\n }\r\n });\r\n }\r\n\r\n this.GetAllWorkOrderJob = function (loggedinUser, ticketId, token) {\r\n var url = ApiURL + '/api/Ticket/GetAllWorkOrderJob?TicketId=' + ticketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n\r\n this.getAccounts = function (loggedinUser, token, callback, failure) {\r\n var url = ApiURL + '/api/account/GetAllAccountsMiniModel';\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n }, function () {\r\n failure(\"skills\", \"Unable to get accounts\");\r\n });\r\n }\r\n\r\n //http://192.168.0.80:92/CoreAPI/api/User/Kanika/byReportingToWithJobCount?reqUserId=kanika.bansal%40innotiontech.com\r\n this.GetTicketsById = function (ticketId, loggedinUser, token) {\r\n var url = ApiURL + '/api/Ticket/' + ticketId + '/' + loggedinUser + '/byTicketId';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAllSkills = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/SkillSets?reqUserId=' + loggedinUser;\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n //https://product.mymobiforce.com/CoreAPI/api/TicketRemarkOnStatus/getTicketRemarkOnStatus?AtStatus=FollowUp\r\n this.GetReasonsByStatus = function (loggedinUser, token, status) {\r\n var url = ApiURL + '/api/TicketRemarkOnStatus/getTicketRemarkOnStatus?AtStatus=' + status;\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n //Get Tickets by filter\r\n //http://192.168.0.80:92/CoreAPI/api/Ticket/kanika.bansal%40innotiontech.com/TicketStatus/Broadcasted/GetTicketsByUser\r\n //https://test.mymobiforce.com/coreapi/api/Ticket/reqUserId/GetTicketsForAssignation?itemNames=itemNames&itemValues=itemValues\r\n\r\n this.GetTicketsByFilter = function (loggedinUser, itemNames, itemValues, token) {\r\n var url = ApiURL + '/api/Ticket/' + loggedinUser + '/GetTicketsForAssignation?itemNames=' + itemNames + '&itemValues=' + itemValues;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n })\r\n }\r\n\r\n //Get Users By Filter\r\n\r\n //\r\n // http://192.168.0.80:92/CoreAPI/api/User/kanika.bansal%40innotiontech.com/UserStatus/Active/getusersbyfilters\r\n this.GetUsersByFilter = function (loggedinUser, itemNames, itemValues, token) {\r\n var url = ApiURL + '/api/User/' + loggedinUser + '/' + itemNames + '/' + itemValues + '/getusersbyfilters'\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n })\r\n }\r\n\r\n //Assign Tickets\r\n //http://192.168.0.80:92/CoreAPI/api/Ticket/ass/asd/asd/AssignTicket\r\n this.AssignTickets = function (userId, loggedinUser, ticketList, token) {\r\n // var TicketId = ticketList.split(',');\r\n var url = ApiURL + '/api/Ticket/' + userId + '/' + loggedinUser + '/AssignTicketToDispatchSupervisor'\r\n return $http.put(url, ticketList, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n })\r\n }\r\n\r\n\r\n // Bid Recieved Api\r\n // http://192.168.0.80:92/FreelancerAPI/api/BID/T0000000039/Received/kanika.bansal@innotiontech.com/byStatus\r\n this.GetBidReceivedByStatus = function (loggedinUser, ticketId, status, token) {\r\n var url = FreelancerURL + '/api/BID/GetLeadsByStatus?TicketId' + '=' + ticketId + '&' + 'leadStatus' + '=' + status\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n })\r\n }\r\n\r\n //bid deny https://product.mymobiforce.com/freelancerAPI/api/BID/GetLeadsByStatus?TicketId=T1140000016977&leadStatus=Deny\r\n this.GetBidDeny = function (loggedinUser, ticketId, status, token) {\r\n var url = FreelancerURL + '/api/BID/GetLeadsByStatus?TicketId' + '=' + ticketId + '&' + 'leadStatus' + '=' + status\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n })\r\n }\r\n //https://product.mymobiforce.com/FreelancerAPI/api/BID/GetLeadsByStatus?TicketId=T1140000091078&leadStatus=Sent&filter=Online\r\n //https://product.mymobiforce.com/freelancerAPI/api/BID/GetLeadsByStatus?TicketId=T1140000016977&leadStatus=Sent\r\n this.GetBidSentByStatus = function (loggedinUser, ticketId, status, token, userfilter) {\r\n var url = FreelancerURL + '/api/BID/GetLeadsByStatus?TicketId' + '=' + ticketId + '&' + 'leadStatus' + '=' + status + '&' + 'filter' + '=' + userfilter\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n })\r\n }\r\n\r\n this.GetFeedbackByUserId = function (loggedinUser, token, userid) {\r\n var url = FreelancerURL + '/api/BID/GetFeedbackByUserId?UserId=' + userid;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n })\r\n }\r\n\r\n //http://192.168.0.80:92/FreelancerAPI/api/BID/akshit.chauhan%40innotiontech.com/TicketStatus/Broadcasted/getjobsbyfilter\r\n this.GetBroadcastedBids = function (loggedinUser, itemNames, itemValues, token) {\r\n var url = FreelancerURL + '/api/BID/' + loggedinUser + '/' + itemNames + '/' + itemValues + '/getjobsbyfilter';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n //Assign Bids\r\n //http://192.168.0.80:92/FreelancerAPI/api/BID/kanika.bansal%40innotiontech.com/T0000000040/pri/acceptBIDAssignJob?jobAssignRate=100&jobAssignGrossRate=0\r\n this.AssignReceivedBid = function (loggedinUser, ticketId, userId, token) {\r\n var url = FreelancerURL + '/api/BID/' + loggedinUser + '/' + ticketId + '/' + userId + '/acceptBIDAssignJob';\r\n return $http.put(url, {}, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n //BroadCast Jobs/Bids\r\n //http://192.168.0.80:92/FreelancerAPI/api/BID/createbidforselectedteam?reqUserId=asdasd\r\n\r\n this.BroadCastJobs = function (loggedinUser, data, token) {\r\n var url = FreelancerURL + '/api/BID/createbidforselectedteam?reqUserId=' + loggedinUser;\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n //Get Users By Role\r\n //http://115.124.122.225/coreapi/api/User/Supervisor/byRole?reqUserId=satyendratiwari124%40gmail.com\r\n //http://192.168.0.80:92/CoreAPI/api/User/Supervisor/SkillSet/AC%20Repair/byRole?reqUserId=Kanika.bansal%40innotiontech.com\r\n this.GetUsersByRole = function (loggedinUser, role, itemNames, itemValues, token) {\r\n var url = ApiURL + '/api/User/' + role + '/' + itemNames + '/' + itemValues + '/byRole?reqUserId=' + loggedinUser;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n //Get All Vendor\r\n //http://192.168.0.80:92/CoreAPI/api/Vendor/kanika.bansal%40innotiontech.com/getallvendors\r\n\r\n //http://192.168.0.80:92/CoreAPI/api/Vendor/Kanika.bansal%40innotiontech.com/VendorLocations/Maharashtra/getvendorsbyfilters\r\n this.GetAllVendors = function (loggedinUser, itemNames, itemValues, token) {\r\n var url = ApiURL + '/api/Vendor/' + loggedinUser + '/' + itemNames + '/' + itemValues + '/getvendorsbyfilters'\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n\r\n this.GetFreelancerVendorsByFilters = function (loggedinUser, itemNames, itemValues, token) {\r\n var url = ApiURL + '/api/Vendor/' + loggedinUser + '/' + itemNames + '/' + itemValues + '/getfreelancervendorsbyfilters'\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n // https://perf.mymobiforce.com/coreapi/api/Vendor/U350000000001/VendorStatus/Active/getfixedvendorsbyfilters\r\n this.GetFixedVendorsByFilters = function (loggedinUser, itemNames, itemValues, token) {\r\n var url = ApiURL + '/api/Vendor/' + loggedinUser + '/' + itemNames + '/' + itemValues + '/getfixedvendorsbyfilters'\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n //http://192.168.0.80:92/CoreAPI/api/Ticket/ankur.sharma%40innotiontech.com/byUserId?reqUserId=akshit.chauhan%40innotiontech.com\r\n\r\n this.GetTicketsByUserId = function (loggedinUser, UserId, token) {\r\n var url = ApiURL + '/api/Ticket/' + UserId + '/byUserId?reqUserId=' + loggedinUser;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n // https://perf.mymobiforce.com/freelancerapi/api/BID/CreateRoutingBid?reqUserId=U350000000001\r\n this.RouteJobsforUser = function (loggedinUser, data, token) {\r\n var url = FreelancerURL + '/api/BID/CreateRoutingBid?reqUserId=' + loggedinUser;\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n this.getAllStateTech = function (loggedinUser, token) {\r\n var url = PublicApiURL + '/api/Location/GetSubRegion?userId=' + loggedinUser + '®ion=INDIA';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n // https://product.mymobiforce.com/coreapi/api/Ticket/TicketRejectionHistory?TicketId=T1140000092053\r\n\r\n this.getRejectHistory = function (TicketId, loggedinUser, token) {\r\n var url = ApiURL + '/api/Ticket/TicketRejectionHistory?TicketId=' + TicketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n\r\n });\r\n }\r\n\r\n //https://product.mymobiforce.com/coreapi/api/Ticket/GetTicketsForAssignationByCHDAccount?fromDate=2021-06-01&toDate=2021-06-10&reqUserId=U00000000412&itemNames=Search&itemValues=J009&textItemNames=&textItemValues=&templateCols=&templateItemNames=&templateItemValues=&DateField=CreatedOn&PageIndex=1&PageSize=10\r\n this.getAllJobTickets = function (supervisorId, startDate, endDate, token, itemNames, itemValues, textItemNames, textItemValues, templateCols, templateItemNames, templateItemValues, DateField, PageIndex, PageSize, SortType, SortField) {\r\n var url = '';\r\n url = ApiURL + '/api/Ticket/GetTicketsbyDateRangeWithDynaPagingForCHDDashboard?fromDate=' + startDate + '&toDate=' + endDate + '&reqUserId=' + supervisorId + '&itemNames=' + itemNames + '&itemValues=' + itemValues + '&textItemNames=' + textItemNames + '&textItemValues=' + textItemValues + '&templateCols=' + templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues + '&DateField=' + DateField + '&PageIndex=' + PageIndex + '&PageSize=' + PageSize + '&SortType=' + SortType + '&SortField=' + SortField;\r\n // url = ApiURL + '/api/Ticket/GetTicketsbyDateRange?fromDate=' + startDate + '&toDate=' + endDate+ '&reqUserId=' + supervisorId + '&itemNames=' + itemNames + '&itemValues=' + itemValues+'&templateCols='+templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues + '&DateField=' + DateField;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': supervisorId\r\n }\r\n });\r\n }\r\n\r\n this.getAllJobTicketsCopyForPagging = function (supervisorId, startDate, endDate, token, itemNames, itemValues, textItemNames, textItemValues, templateCols, templateItemNames, templateItemValues, DateField, PageIndex, PageSize, SortType, SortField) {\r\n var url = '';\r\n url = ApiURL + '/api/Ticket/GetTicketsbyDateRangeWithDynaPagingForCHDListing?fromDate=' + startDate + '&toDate=' + endDate + '&reqUserId=' + supervisorId + '&itemNames=' + itemNames + '&itemValues=' + itemValues + '&textItemNames=' + textItemNames + '&textItemValues=' + textItemValues + '&templateCols=' + templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues + '&DateField=' + DateField + '&PageIndex=' + PageIndex + '&PageSize=' + PageSize + '&SortType=' + SortType + '&SortField=' + SortField;\r\n // url = ApiURL + '/api/Ticket/GetTicketsbyDateRange?fromDate=' + startDate + '&toDate=' + endDate+ '&reqUserId=' + supervisorId + '&itemNames=' + itemNames + '&itemValues=' + itemValues+'&templateCols='+templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues + '&DateField=' + DateField;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': supervisorId\r\n }\r\n });\r\n }\r\n\r\n //http://localhost:56749/api/Ticket/GetAssignedTicketforUser?UserId=U400000000395&reqUserId=U00000000079\r\n this.GetAssignedTicketforUser = function (UserId, loggedinUser, token) {\r\n var url = ApiURL + '/api/Ticket/GetAssignedTicketforUser?UserId=' + UserId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n })\r\n }\r\n\r\n this.GetJobTicket = function (ticketId, token) {\r\n var url = ApiURL + '/api/Ticket/' + ticketId + '/' + $localStorage.loggedInUserId + '/byTicketId';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetSchedulingEvaluationResult = function (data, reqUserId, token) {\r\n var url = SchedulingAPI + '/api/AssistedScheduling/GetFavoriteFR?reqUserId=' + reqUserId;\r\n return $http.post(url, data, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': reqUserId }\r\n });\r\n }\r\n\r\n // https://perf.mymobiforce.com/schedulingapi/api/AssistedScheduling/GetFavoriteFR?reqUserId=U400000000001\r\n this.GetAllPrefereTalentPool = function (data, reqUserId, token) {\r\n var url = SchedulingAPI + '/api/AssistedScheduling/GetPreWorkedWith?reqUserId=' + reqUserId;\r\n return $http.post(url, data, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': reqUserId }\r\n });\r\n }\r\n\r\n // https://perf.mymobiforce.com/schedulingapi/api/AssistedScheduling/GetPreWorkedWith?reqUserId=U400000000001\r\n this.GetAllTechnician = function (data, reqUserId, token) {\r\n var url = SchedulingAPI + '/api/AssistedScheduling/GetSchedulingEvaluationResult?reqUserId=' + reqUserId;\r\n return $http.post(url, data, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': reqUserId }\r\n });\r\n }\r\n\r\n this.BroadCastJobsforUser = function (loggedinUser, data, token) {\r\n var url = FreelancerURL + '/api/BID/createBidFromAssistedScheduling?reqUserId=' + loggedinUser;\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.AcceptJob = function (data, token, loggedInUserId, success, failure) {\r\n var url = ApiURL + '/api/Ticket/updatestatus';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.getPdfReport = function (loggedinUser, ticketID, token) {\r\n var url = ApiURL + '/api/Report/GeneratePdfReportForApprovedJob?TicketId=' + ticketID;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.PullBackTicket = function (loggedInUserId, ticketId, token) {\r\n var url = ApiURL + '/api/Ticket/' + loggedInUserId + '/' + ticketId + '/returnticket';\r\n return $http.put(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n })\r\n }\r\n\r\n this.RejectJob = function (data, token, loggedInUserId, success, failure) {\r\n var url = ApiURL + '/api/Ticket/updatestatus';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.ConvertToNewJob = function (data, token, loggedInUserId, success, failure) {\r\n var url = ApiURL + '/api/Ticket/updatestatus';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.UpdateHoldingStatus = function (loggedInUserId, ticketId, holdingStatus, reason, Remark, token) {\r\n var url = ApiURL + '/api/Ticket/' + loggedInUserId + '/' + ticketId + '/ticketholding?HoldingStatus=' + holdingStatus + '&Reason=' + reason + '&Remark=' + Remark;\r\n return $http.put(url, {}, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n })\r\n }\r\n\r\n this.downloadOnSiteReport = function (loggedInUserId, token, TicketId) {\r\n var url = ApiURL + '/api/Report/GeneratePdfOnSiteReport?TicketId=' + TicketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n\r\n });\r\n }\r\n\r\n this.GetCancellationReasons = function (AuditTicketId, status, loggedInUserId, token) {\r\n var url = '';\r\n url = ApiURL + '/api/TicketCancelationReasonController/' + loggedInUserId + '/getCancellationReasons?AtStatus=' + status + '&TicketId=' + AuditTicketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetPullBacknReasons = function (loggedInUserId, token) {\r\n var url = '';\r\n url = ApiURL + '/api/TicketRemarkOnStatus/getTicketRemarkOnStatus?AtStatus=' + 'PullBack';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetUserFeedbackOption = function (loggedInUserId, token) {\r\n var url = '';\r\n url = ApiURL + '/api/TicketRemarkOnStatus/getTicketRemarkOnStatus?AtStatus=' + 'userfeedback';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetUserByReportingTo = function (loggedInUserId, token) {\r\n var url = '';\r\n url = ApiURL + '/api/TerritoryMappingUser/GetUserByReportingTo';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n\r\n this.PullBackTicketFromTechnician = function (CancellationReasonsModel, loggedInUserId, token) {\r\n var url = ApiURL + '/api/Ticket/PullBackTicketFromTechnician';\r\n return $http.put(url, CancellationReasonsModel, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n // https://testg2.mymobiforce.com/coreapi/api/UserCallInputs/UserDataUpdateRequest\r\n\r\n this.UserDataUpdateRequest = function (data, loggedInUserId, token) {\r\n var url = ApiURL + '/api/UserCallInputs/UserDataUpdateRequest';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.UserPenaltyUpdate = function (data, loggedInUserId, token) {\r\n var url = ApiURL + '/api/BonusPenalty/ApplyPaneltyForUser';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n this.UpdateJobServerCancel = function (CancellationReasonsModel, loggedInUserId, token) {\r\n var url = ApiURL + '/api/Ticket/UpdateJobServerCancel';\r\n return $http.put(url, CancellationReasonsModel, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.SendCancelCodeToCustomer = function (SendCodeModel, loggedInUserId, token) {\r\n var url = ApiURL + '/api/Ticket/SendCancelCodeToCustomer';\r\n return $http.put(url, SendCodeModel, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.CancelTicket = function (loggedInUserId, ticketId, token) {\r\n var url = ApiURL + '/api/Ticket/CancelTicket?reqUserId=' + loggedInUserId + '&TicketId=' + ticketId;\r\n return $http.put(url, null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n\r\n this.TBCCancelationAudit = function (data, loggedInUserId, token) {\r\n var url = ApiURL + '/api/Ticket/UpdateJobAudit';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.updateTicketSettlement = function (data, token, loggedInUserId, success, failure) {\r\n\r\n var url = ApiURL + \"/api/Ticket/setsettlementstatus\"\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.UpdateFollowUpReason = function (data, files, token, loggedInUserId, success, failure) {\r\n var formdata = new FormData();\r\n formdata.append(\"files\", files[0]);\r\n var followupdata = JSON.stringify(data);\r\n formdata.append(\"ActivityModel\", followupdata);\r\n\r\n var url = ActivityURL + '/api/Activity/FollowUpWithReason';\r\n return $http.post(url, formdata, {\r\n headers: { 'Content-Type': undefined, 'Token': token, 'UserId': loggedInUserId }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.getCustomerJobCardbyJobId = function (accountId, jobId, token, success, failure) {\r\n $http.get(ApiURL + \"/api/GetCustomerJobCardbyJobId/\" + jobId + \"/\" + accountId + \"/GetCustomerJobCardbyJobId\", {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': accountId\r\n }\r\n }).then(function (res) {\r\n if (res && res.data && success) {\r\n success(res.data);\r\n } else if (failure) {\r\n failure();\r\n }\r\n });\r\n }\r\n\r\n this.AddSiteAuditwithAttachment = function (data, files, token, loggedinUser) {\r\n var formdata = new FormData();\r\n formdata.append(\"files\", files[0]);\r\n var followupdata = JSON.stringify(data);\r\n formdata.append(\"AuditRequestModel\", followupdata);\r\n formdata.append(\"reqUserId\", loggedinUser);\r\n var url = ApiURL + '/api/Upload/PostMediaFileWithAuditObject';\r\n return $http.post(url, formdata, {\r\n headers: { 'Content-Type': undefined, 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.getFixedUserInfo = function (userId, loggedInUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerUser/' + userId + '/' + loggedInUser + '/' + 'byUserIdWithJobCount';\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedInUser }\r\n })\r\n }\r\n\r\n this.getJobsByUserId = function (status, userId, loggedinUser, token, PageIndex, PageSize, OrderBy, SortType) {\r\n var url = ApiURL + \"/api/CallPatching/\" + userId + \"/\" + status + \"/byUserIdStatusforCHDWithDynPaging?\" + 'PageIndex=' + PageIndex + '&PageSize=' + PageSize + '&OrderBy=' + OrderBy + '&SortType=' + SortType;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAvailableSlots = function (selectedDate, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreelancerUser/GetAvailableSlotsForBGVerification?date=' + selectedDate;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n\r\n }\r\n });\r\n }\r\n\r\n this.BookSlotForSMEInterationWeb = function (userId,selectedDate, slotIndex, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreelancerUser/BookSlotForSMEInterationWeb?UserId=' + userId + '&date=' + selectedDate + '&SlotId=' + slotIndex;\r\n return $http.put(url, null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.BookSlotForBGVerification = function (userId,selectedDate, slotIndex, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreelancerUser/RescheduleslotForBGVerificationWeb?UserId=' + userId + '&date=' + selectedDate + '&SlotId=' + slotIndex;\r\n return $http.put(url, null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetFreelancerJobs = function (userId, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreelancerTicket/' + userId + '/' + loggedinUser + '/ByUserId'\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n this.GetCustomersByAccount = function (loggedinUser, accountId, token) {\r\n var url = ApiURL + '/api/Customer/GetCustomerByAccountId?accountId=' + accountId\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n })\r\n }\r\n\r\n\r\n // Code for Slot allocation start from here - simran sharma\r\n\r\n\r\n this.GetAllInteractions = function (data, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerRegistration/GetAllInteractions';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAllInteractionsDashboard = function (data, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerRegistration/GetAllInteractionsDashboard';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetReportingToMeUsers = function (loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerRegistration/GetReportingToMeUsers'\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.AssignSlotInteractionToUser = function (data, userId, InteractionType, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerRegistration/AssignSlotInteractionToUser?AssignToUser=' + userId + '&InteractionType=' + InteractionType;\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n});\nangular.module('inspinia').controller('SlotAllocationController', function (SlotAllocationService,SMEInteractionService, OnBoardingFlowService,ManualAssignationJobService, DashboardService, JobTicketViewService, ReferService, $q, $filter, $log, $state, $localStorage, UIURL, $stateParams, $uibModal, $scope, DTOptionsBuilder, DTColumnDefBuilder, toaster, $timeout, $compile, uiCalendarConfig, ImageUrl, PublicApiURL, $window) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var loggedinUserSkill = $localStorage.loggedInUser_SkillSet;\r\n var loggedinUserRegion = $localStorage.loggedInUser_Region;\r\n var accountid = $localStorage.accountConfig.AccountId;\r\n vm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n $scope.myvalue = false;\r\n $scope.class_status = true;\r\n $scope.toggleSingleClass = function () {\r\n $scope.class_status = !$scope.class_status;\r\n $scope.myvalue = true;\r\n };\r\n\r\n $scope.broadcastSentUser = true;\r\n $scope.toggleForBroadcast = function () {\r\n $scope.broadcastSentUser = !$scope.broadcastSentUser;\r\n $scope.myvalue = true;\r\n };\r\n\r\n $scope.timeLineDetail = true;\r\n $scope.openTimeLine = function () {\r\n $scope.timeLineDetail = !$scope.timeLineDetail;\r\n $scope.myvalue = true;\r\n };\r\n $scope.manualAssignationWrapper = \"hide-nav\";\r\n $scope.toggleMenu = function () {\r\n if ($scope.manualAssignationWrapper === \"hide-nav\") {\r\n $scope.manualAssignationWrapper = \"show-nav\";\r\n }\r\n else {\r\n $scope.manualAssignationWrapper = \"hide-nav\";\r\n }\r\n };\r\n $scope.hideAllUser = true;\r\n\r\n $scope.showAllUser = function () {\r\n $scope.hideAllUser = true;\r\n };\r\n $scope.hideAllUserbutton = function () {\r\n $scope.hideAllUser = false;\r\n };\r\n $scope.userClass_status = true;\r\n $scope.hideoverlay = function () {\r\n $scope.myvalue = false;\r\n $scope.class_status = true;\r\n $scope.userClass_status = true;\r\n $scope.broadcastSentUser = true;\r\n $scope.timeLineDetail = true;\r\n $scope.userFilter = true;\r\n $scope.minatureSlide = true;\r\n $scope.myvalue = false;\r\n vm.closeFeedbackoption();\r\n }\r\n $scope.close360ViewBroadcaste = function () {\r\n $scope.myvalue = false;\r\n angular.element('#div1').removeClass(\"alpha\");\r\n $scope.userClass_status = true;\r\n }\r\n $scope.userSingle = function () {\r\n $scope.userClass_status = !$scope.userClass_status;\r\n $scope.myvalue = true;\r\n };\r\n $scope.userFilter = true;\r\n $scope.assignJobFilter = function () {\r\n $scope.userFilter = !$scope.userFilter;\r\n $scope.myvalue = true;\r\n $scope.manualAssignationWrapper = \"hide-nav\";\r\n // $scope.toggleMenu();\r\n };\r\n $scope.minatureSlide = true;\r\n $scope.minatureSlideBtn = function () {\r\n $scope.minatureSlide = !$scope.minatureSlide;\r\n $scope.myvalue = true;\r\n };\r\n\r\n $scope.hideFilter = function () {\r\n $scope.userFilter = true;\r\n $scope.minatureSlide = true;\r\n $scope.myvalue = false;\r\n }\r\n\r\n var token = $localStorage.token;\r\n vm.IsOpenBucketEnabled = $localStorage.IsOpenBucketEnabled;\r\n vm.IsAutoAssignToCHDteam = $localStorage.IsAutoAssignToCHDteam;\r\n vm.IsOpenBucketEnabled = $localStorage.IsOpenBucketEnabled;\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.accountConfig = $localStorage.accountConfig;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.IsMaterialDelivered = $localStorage.accountConfig.IsMaterialDelivered;\r\n\r\n //Global Variable Declaration\r\n vm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n vm.loggedInUserVendorId = $localStorage.loggedInUser_VendorId;\r\n vm.loggedInUserReportingTo = $localStorage.loggedInUser_ReportingTo;\r\n\r\n // variables required for slot allocation\r\n vm.sorttype = \"desc\";\r\n vm.SortType = \"desc\";\r\n vm.SortField = 'CreatedOn';\r\n vm.InteractionList = [];\r\n vm.assignButtonDisable = false;\r\n vm.bGVerifyListLength = 0;\r\n vm.userPageListCount = 10;\r\n vm.pageListCounts = [10, 20, 30, 50];\r\n var PageIndex = 1;\r\n var PageSize = 10;\r\n vm.InteractionType = 'BGVerify';\r\n vm.statusList = [\"Pending\", \"Completed\", \"Assigned\"];\r\n vm.AssignedTo = '';\r\n vm.slotStatus = '';\r\n vm.DateField = 'CreatedOn';\r\n vm.State = '';\r\n vm.City = '';\r\n vm.userskill = '';\r\n vm.disableuploadbutton = false;\r\n var startDate = moment().subtract(7, 'day').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.bookingdates = { startDate: moment().subtract(7, 'day'), endDate: moment() };\r\n vm.bookingRanges = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n 'Till now': [moment().subtract(5, 'years'), moment()]\r\n };\r\n\r\n\r\n var scdt = new Date();\r\n scdt.setMinutes(scdt.getMinutes() + 30);\r\n vm.SourceCreationDate = scdt;\r\n var pcdt = new Date();\r\n pcdt.setDate(pcdt.getDate() + 7);\r\n vm.PlannedClosureDate = pcdt;\r\n\r\n vm.openCalendar = function (e, picker) {\r\n vm.ClosureDateTime.open = true;\r\n };\r\n var plannedclosuredatelimit = new Date();\r\n plannedclosuredatelimit.setMinutes(plannedclosuredatelimit.getMinutes() + 1)\r\n vm.ClosureDateTime = { date: '', datepickerOptions: { minDate: plannedclosuredatelimit } };\r\n\r\n var date = new Date();\r\n var d = date.getDate();\r\n var m = date.getMonth();\r\n var y = date.getFullYear();\r\n vm.eventsF = function (start, end, timezone, callback) {\r\n var s = new Date(start).getTime() / 1000;\r\n var e = new Date(end).getTime() / 1000;\r\n var m = new Date(start).getMonth();\r\n var events = [{\r\n title: 'Feed Me ' + m,\r\n start: s + (50000),\r\n end: s + (100000),\r\n allDay: false,\r\n className: ['customFeed']\r\n }];\r\n callback(events);\r\n };\r\n\r\n // start calender\r\n var scheduleStartDate = new Date();\r\n var scheduleEndDate = new Date();\r\n scheduleEndDate.setDate(scheduleEndDate.getDate() + 6);\r\n vm.slotBookingdates = { scheduleStartDate: moment().subtract(7, 'day'), scheduleEndDate: moment() };\r\n $scope.showCalendar = false;\r\n $scope.showBookingTab = false;\r\n vm.slotDate = $filter('date')(new Date(), 'yyyy-MM-dd');\r\n $scope.toggleCalendar = function (userId) {\r\n vm.slotBookingUserId = userId;\r\n vm.GetAvailableSlots(vm.slotDate);\r\n $scope.showBookingTab = true;\r\n $scope.showCalendar = !$scope.showCalendar;\r\n };\r\n $scope.dateClicked = function () {\r\n vm.slotDate = $filter('date')(new Date(vm.slotBookingdates), 'yyyy-MM-dd');\r\n vm.GetAvailableSlots(vm.slotDate);\r\n };\r\n $scope.dateOptions = {\r\n formatYear: 'yyyy',\r\n startingDay: 1,\r\n minDate: scheduleStartDate,\r\n maxDate: scheduleEndDate\r\n };\r\n $scope.date = scheduleStartDate;\r\n\r\n\r\n\r\n ////end calender\r\n\r\n vm.getSkills = function () {\r\n JobTicketViewService.getSkills(loggedinUser, token, function (skills) {\r\n vm.skills = skills;\r\n //vm.skills.unshift({ \"SkillName\": \"All Job Types\" }); \r\n if (vm.path == 'isTicketView') {\r\n vm.searchJobTypeText = $localStorage.AllJobType;\r\n // vm.searchStatusText = $localStorage.AllJobStatus;\r\n }\r\n }, vm.showFailure);\r\n }\r\n vm.getSkills();\r\n\r\n vm.GetFinanceTicketDetail = function (paymentId, isCollapsed) {\r\n $scope.isCollapsed = !isCollapsed;\r\n DashboardService.GetFinanceTicketDetail(paymentId).then(function (resp) {\r\n vm.financedetails = resp.data;\r\n })\r\n }\r\n\r\n vm.getAllCustomer = function () {\r\n ManualAssignationJobService.getAllCustomers(loggedinUser, token).then(function (resp) {\r\n vm.CustomerAcc = resp.data;\r\n })\r\n }\r\n vm.getAllProject = function () {\r\n ManualAssignationJobService.GetAllProjects(loggedinUser, token).then(function (resp) {\r\n vm.ProjectAcc = resp.data;\r\n })\r\n }\r\n vm.getAllCustomer();\r\n vm.getAllProject();\r\n\r\n vm.GetCustomerByAccount = function () {\r\n var SelectedAccountId = '';\r\n angular.forEach(vm.HDAllAccounts, function (account) {\r\n if (account.AccountName == vm.SearchByAccountName) {\r\n SelectedAccountId = account.AccountId;\r\n }\r\n })\r\n ManualAssignationJobService.GetCustomersByAccount(loggedinUser, SelectedAccountId, token).then(function (resp) {\r\n vm.CustomerList = resp.data;\r\n })\r\n }\r\n\r\n vm.GetProjectByCustomer = function () {\r\n vm.ProjectListByCust = [];\r\n angular.forEach(vm.CustomerList, function (customer) {\r\n if (customer.CompanyName == vm.SearchByCName) {\r\n vm.ProjectListByCust = customer.Projects;\r\n }\r\n })\r\n }\r\n\r\n vm.GetProjectByCust = function () {\r\n vm.ProjectListByCustomer = [];\r\n angular.forEach(vm.ProjectList, function (prject) {\r\n if (prject.CustomerName == vm.SearchByCName) {\r\n vm.ProjectListByCustomer.push(prject);\r\n }\r\n })\r\n }\r\n\r\n vm.AutoBroadcastJobs = function () {\r\n vm.DisableBroadcastButtons(false);\r\n var ticketIds = '';\r\n var count = 0;\r\n angular.forEach(vm.ticketList, function (d) {\r\n if (d.checked) {\r\n count = count + 1;\r\n if (ticketIds == '') {\r\n ticketIds = d.TicketId;\r\n }\r\n else {\r\n ticketIds = ticketIds + \",\" + d.TicketId;\r\n }\r\n }\r\n })\r\n\r\n vm.confirmationMessage = 'Please confirm if you want to auto schedule ' + count + ' Jobs?';\r\n vm.autoBroadcastJobIds = ticketIds;\r\n confirmationModalInstance = $uibModal.open({\r\n templateUrl: 'auto_schedule_confirmation_model.html',\r\n scope: $scope,\r\n backdrop: 'static'\r\n });\r\n }\r\n\r\n vm.confirmationCloseModal = function () {\r\n vm.DisableBroadcastButtons(false);\r\n confirmationModalInstance.close();\r\n }\r\n\r\n\r\n vm.DisableBroadcastButtons = function (disable) {\r\n if (disable) {\r\n vm.disableBroadcastButton = true;\r\n vm.disableBroadcastCloseButton = true;\r\n }\r\n else {\r\n vm.disableBroadcastButton = false;\r\n vm.disableBroadcastCloseButton = false;\r\n }\r\n }\r\n\r\n vm.AutoScheduleJobs = function () {\r\n vm.DisableBroadcastButtons(true);\r\n var data = {\r\n \"ticketIds\": vm.autoBroadcastJobIds\r\n }\r\n ManualAssignationJobService.AutoBroadcastAllNewJobsManualMode(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 1000);\r\n confirmationModalInstance.close();\r\n vm.showSuccess(\"Success\", \"Jobs has been auto scheduled successfully\");\r\n }\r\n if (resp.status == 206) {\r\n vm.showFailure(\"Failed\", resp.data);\r\n vm.DisableBroadcastButtons(false);\r\n confirmationModalInstance.close();\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n ManualAssignationJobService.setShowSuccess($scope.$parent.$parent.main.showSuccess);\r\n ManualAssignationJobService.setShowFailure($scope.$parent.$parent.main.showFailure);\r\n\r\n vm.callToTechnician = function (userid) {\r\n ManualAssignationJobService.callToTechnicianApi(loggedinUser, userid, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Call Initiated\")\r\n }\r\n else {\r\n vm.showFailure(\"Failure\", resp.data.Message)\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n vm.callToTechnicianInBroadcastState = function (userid, ticketId) {\r\n ManualAssignationJobService.callToTechnicianInBroadcastState(loggedinUser, userid, ticketId, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Call Initiated\")\r\n }\r\n else {\r\n vm.showFailure(\"Failure\", resp.data.Message)\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n vm.GetAllWorkOrderJob = function (isCollapsed, workOrder) {\r\n if (vm.workOrder == workOrder) {\r\n $scope.isCollapsed = !isCollapsed;\r\n }\r\n $scope.activeRow = workOrder;\r\n vm.workOrder = workOrder;\r\n vm.workOrdertList = [];\r\n if ($scope.isCollapsed)\r\n return;\r\n ManualAssignationJobService.GetAllWorkOrderJob(loggedinUser, workOrder, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n if (resp.status == 200) {\r\n vm.workOrdertList = resp.data;\r\n }\r\n }\r\n });\r\n }\r\n\r\n vm.getRejectHistory = function (ticketId) {\r\n ManualAssignationJobService.getRejectHistory(ticketId, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.getDetailsList = resp.data;\r\n openHistoryModel = $uibModal.open({\r\n templateUrl: 'openHistoryModel.html',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n\r\n }, function () {\r\n });\r\n }\r\n\r\n vm.CloseHistoryModel = function () {\r\n openHistoryModel.close();\r\n }\r\n\r\n //pull back\r\n vm.PullBackJobs = function () {\r\n var ticketIds = '';\r\n var count = 0;\r\n angular.forEach(vm.ticketList, function (d) {\r\n if (d.checked) {\r\n count = count + 1;\r\n if (ticketIds == '') {\r\n ticketIds = d.TicketId;\r\n }\r\n else {\r\n ticketIds = ticketIds + \",\" + d.TicketId;\r\n }\r\n }\r\n })\r\n vm.pullBackJobIds = ticketIds;\r\n vm.DisableBroadcastButtons(true);\r\n var JobIdsforPull = [];\r\n JobIdsforPull.push(vm.pullBackJobIds);\r\n ManualAssignationJobService.PullBackJob(loggedinUser, JobIdsforPull, token).then(function (resp) {\r\n if (resp.status == 202) {\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.showSuccess(\"Success\", \"Jobs - \" + vm.pullBackJobIds + \" pulledback succesfully\");\r\n }, 1000);\r\n }\r\n if (resp.status == 206) {\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n vm.DisableBroadcastButtons(false);\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n /* alert on dayClick */\r\n vm.ev = {};\r\n vm.alertOnDayClick = function (date) {\r\n vm.alertMessage = (date.toString());\r\n vm.ev = {\r\n from: date.format('YYYY-MM-DD'),\r\n to: date.format('YYYY-MM-DD'),\r\n title: '',\r\n allDay: true\r\n };\r\n };\r\n\r\n /* alert on eventClick */\r\n vm.alertOnEventClick = function (date, jsEvent, view) {\r\n vm.alertMessage = (date.title);\r\n };\r\n /* alert on Drop */\r\n vm.alertOnDrop = function (event, delta, revertFunc, jsEvent, ui, view) {\r\n vm.alertMessage = ('Event Dropped to make dayDelta ' + delta);\r\n };\r\n /* alert on Resize */\r\n vm.alertOnResize = function (event, delta, revertFunc, jsEvent, ui, view) {\r\n vm.alertMessage = ('Event Resized to make dayDelta ' + delta);\r\n };\r\n /* add and removes an event source of choice */\r\n vm.addRemoveEventSource = function (sources, source) {\r\n var canAdd = 0;\r\n angular.forEach(sources, function (value, key) {\r\n if (sources[key] === source) {\r\n sources.splice(key, 1);\r\n canAdd = 1;\r\n }\r\n });\r\n if (canAdd === 0) {\r\n sources.push(source);\r\n }\r\n };\r\n /* add custom event*/\r\n vm.addEvent = function () {\r\n vm.events.push({\r\n title: $scope.ev.title,\r\n start: moment($scope.ev.from),\r\n end: moment($scope.ev.to),\r\n allDay: true,\r\n className: ['openSesame']\r\n });\r\n };\r\n /* remove event */\r\n /*$scope.remove = function (index) {\r\n $scope.events.splice(index, 1);\r\n };*/\r\n /* Change View */\r\n vm.changeView = function (view, calendar) {\r\n vm.currentView = view;\r\n uiCalendarConfig.calendars[calendar].fullCalendar('changeView', view);\r\n\r\n };\r\n /* Change View */\r\n vm.renderCalender = function (calendar) {\r\n $timeout(function () {\r\n if (uiCalendarConfig.calendars[calendar]) {\r\n uiCalendarConfig.calendars[calendar].fullCalendar('render');\r\n }\r\n });\r\n };\r\n /* Render Tooltip */\r\n $scope.eventRender = function (event, element, view) {\r\n element.attr({\r\n 'tooltip': event.title,\r\n 'uib-tooltip-append-to-body': true\r\n });\r\n $compile(element)($scope);\r\n };\r\n\r\n vm.currentView = 'month';\r\n\r\n /* config object */\r\n vm.uiConfig = {\r\n calendar: {\r\n height: 450,\r\n editable: false,\r\n displayEventTime: false,\r\n header: {\r\n left: 'title',\r\n center: 'myCustomButton',\r\n right: 'prev,next'\r\n },\r\n dayClick: vm.alertOnDayClick,\r\n eventClick: vm.alertOnEventClick,\r\n eventResize: vm.alertOnResize,\r\n eventRender: function (event, element, view) {\r\n element.attr({\r\n 'uib-tooltip': event.title,\r\n 'uib-tooltip-append-to-body': true\r\n });\r\n $compile(element)($scope);\r\n },\r\n businessHours: {\r\n start: '10:00', // a start time (10am in this example)\r\n end: '18:00', // an end time (6pm in this example)\r\n\r\n dow: [1, 2, 3, 4]\r\n // days of week. an array of zero-based day of week integers (0=Sunday)\r\n // (Monday-Thursday in this example)\r\n }\r\n }\r\n };\r\n\r\n vm.events = [];\r\n\r\n /* event sources array*/\r\n vm.eventSources = [vm.events, vm.eventsF];\r\n // vm.eventSources2 = [vm.calEventsExt, vm.eventsF, vm.events];\r\n\r\n //Availablity\r\n vm.Availibility = function (data) {\r\n vm.showAvailability = true;\r\n vm.AvailableUserData = data;\r\n vm.GetAssignedTicketforUser(data.UserId, loggedinUser, token)\r\n }\r\n\r\n vm.AvailibilityUS = function (data) {\r\n vm.showAvailability = true;\r\n vm.AvailableUserData = data;\r\n }\r\n\r\n\r\n vm.DisableRouteBroadcastButtons = function (disable) {\r\n if (disable) {\r\n vm.brodcastButtonDisable = true;\r\n vm.routebuttonDisable = true;\r\n }\r\n else {\r\n vm.brodcastButtonDisable = false;\r\n vm.routebuttonDisable = false;\r\n }\r\n }\r\n\r\n //Get new Jobs\r\n vm.GetNewJobs = function () {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemName = \"Circle,SkillSet\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch;\r\n } else {\r\n var itemName = '';\r\n var itemValues = '';\r\n }\r\n\r\n if (loggedinUserSkill == \"VSAT\") {\r\n itemName += \"Template\";\r\n itemValues += \"VSAT CCR\";\r\n } else if (loggedinUserSkill == \"LeaseLine\") {\r\n itemName += \"Template\";\r\n itemValues += \"LeaseLine CCR\";\r\n }\r\n ManualAssignationJobService.GetTicketsByFilter(loggedinUser, itemName, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data) {\r\n vm.NewJobs = resp.data;\r\n for (var index = 0; index < vm.NewJobs.length; index++) {\r\n var today = moment();\r\n //var date = moment(\"2015-05-13\", \"YYYY-MM-DD\");\r\n var date2 = vm.NewJobs[index].CreationDate;//moment(vm.NewJobs[index].CreationDate,'DD/MM/YYYY').format(\"YYYY-MM-DD\");\r\n // date2 = new Date(date2);\r\n var duration = today.diff(date2, 'days');\r\n // var hours = today.diff(date2,'hours');\r\n vm.NewJobs[index].Age = duration;\r\n }\r\n vm.selectAllNewJob = false;\r\n vm.showMinusNewJob = false;\r\n if (vm.IsMaterialDelivered) {\r\n for (var index = 0; index < vm.NewJobs.length; index++) {\r\n if (vm.NewJobs[index].MetrialDeliverStatus == 'Delivered') {\r\n vm.NewJobs[index].IsDissablePermision = false;\r\n } else {\r\n vm.NewJobs[index].IsDissablePermision = true;\r\n }\r\n }\r\n }\r\n } else {\r\n vm.NewJobs = '';\r\n //$log.log('vm.NewJobs', 'List Empty')\r\n }\r\n }\r\n })\r\n }\r\n\r\n\r\n vm.getRatingStars = function (rating) {\r\n var stars = [];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.push(i);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n vm.getBlankStars = function (rating) {\r\n var stars = [1, 2, 3, 4, 5];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.splice(stars.indexOf(i), 1);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n\r\n vm.loadAllSkills = function () {\r\n ManualAssignationJobService.GetAllSkills(loggedinUser, token).then(function (resp) {\r\n vm.skillsWithPipe = '';\r\n if (resp && resp.data) {\r\n vm.skillData = resp.data;\r\n if (vm.skillData && vm.skillData.length > 0) {\r\n angular.forEach(vm.skillData, function (s) {\r\n vm.skillsWithPipe += s.SkillName + \"|\";\r\n });\r\n vm.skillsWithPipe = vm.skillsWithPipe.length > 0\r\n ? vm.skillsWithPipe.substring(0, vm.skillsWithPipe.length - 1) : \"\";\r\n }\r\n }\r\n });\r\n }\r\n vm.loadAllSkills();\r\n\r\n\r\n vm.applyFilterForUser = function (status) {\r\n vm.usersStatus = status;\r\n vm.GetListAllFreelancers();\r\n }\r\n vm.GetListAllFreelancers = function () {\r\n // if(vm.filterTktStatus){\r\n // vm.usersStatus = 'Broadcasted';\r\n // }\r\n // else if(!vm.filterTktStatus && vm.usersStatus == 'Broadcasted'){\r\n // vm.usersStatus = \"Assigned\";\r\n // }\r\n // else {\r\n // vm.usersStatus;\r\n // }\r\n vm.filterToggle = true;\r\n var data = {\r\n \"itemNames\": \"Status\",\r\n \"itemValues\": vm.usersStatus,\r\n \"Type\": vm.filterType,\r\n \"toDate\": endDate,\r\n \"fromDate\": startDate,\r\n \"OrderBy\": vm.OrderBy,\r\n \"OrderSeq\": vm.OrderSeq\r\n }\r\n ManualAssignationJobService.GetListAllFreelancers(data, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.listofActiveUsers = resp.data;\r\n }\r\n })\r\n }\r\n\r\n vm.sortColumnUser = function (OrderBy) {\r\n vm.OrderBy = OrderBy;\r\n // vm.Orderby = col;\r\n if (vm.OrderSeq == 'desc') {\r\n vm.OrderSeq = 'asc';\r\n vm.reverseclass = 'fa fa-arrow-up';\r\n } else {\r\n vm.OrderSeq = 'desc';\r\n vm.reverseclass = 'fa fa-arrow-down';\r\n }\r\n vm.GetListAllFreelancers();\r\n };\r\n\r\n vm.sortClassUser = function (col) {\r\n if (vm.OrderBy == col) {\r\n if (vm.OrderSeq == 'desc') {\r\n return 'fa fa-arrow-down';\r\n } else {\r\n return 'fa fa-arrow-up';\r\n }\r\n }\r\n else {\r\n return '';\r\n }\r\n }\r\n //Get all Freelancers\r\n vm.GetAllFreelancers = function () {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemNames = \"UserStatus,Locations,SkillSet,Role\";\r\n var itemValues = \"Active\" + ',' + vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Field Engineer';\r\n } else {\r\n var itemNames = \"UserStatus,Role\";\r\n var itemValues = \"Active,Field Engineer\";\r\n if (vm.skillsWithPipe && vm.skillsWithPipe.length > 0) {\r\n itemNames += \",SkillSet\";\r\n itemValues += \",\" + vm.skillsWithPipe;\r\n }\r\n }\r\n ManualAssignationJobService.GetAllFreelancersWithFilters(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.freelancerUsers = resp.data;\r\n // for(var i=0;i 0) {\r\n vm.FreelancerVendorUsers = resp.data;\r\n // for(var i=0;i 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n });\r\n\r\n var teamIteamNames = \"UserStatus,Role\";\r\n var teamIteamValues = 'Active' + ',' + 'Field Engineer';\r\n\r\n if (vm.locationSearch) {\r\n teamIteamNames += \",Locations\";\r\n teamIteamValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n teamIteamNames += \",SkillSet\";\r\n teamIteamValues += \",\" + vm.skillsSearch;\r\n }\r\n ManualAssignationJobService.GetUsersByFilter(loggedinUser, teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.fixedUsers = resp.data;\r\n //$log.log('fixedUsers', resp.data);\r\n preprocessData(vm.fixedUsers);\r\n } else {\r\n vm.fixedUsers = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get users, server is not responding correctly.\");\r\n })\r\n\r\n\r\n } else if (vm.isChecked == 'freelancer') {\r\n\r\n var itemNames = \"TicketStatus\";\r\n var itemValues = 'New';\r\n\r\n if (vm.locationSearch) {\r\n itemNames += \",Circle\";\r\n itemValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n itemNames += \",SkillSet\";\r\n itemValues += \",\" + vm.skillsSearch;\r\n }\r\n ManualAssignationJobService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n })\r\n\r\n var teamIteamNames = \"UserStatus,Role\";\r\n var teamIteamValues = 'Active' + ',' + 'Field Engineer';\r\n\r\n if (vm.locationSearch) {\r\n teamIteamNames += \",Locations\";\r\n teamIteamValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n teamIteamNames += \",SkillSet\";\r\n teamIteamValues += \",\" + vm.skillsSearch;\r\n } else if (vm.skillsWithPipe && vm.skillsWithPipe.length > 0) {\r\n teamIteamNames += \",SkillSet\";\r\n teamIteamValues += vm.skillsWithPipe;\r\n }\r\n ManualAssignationJobService.GetAllFreelancersWithFilters(loggedinUser, teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.freelancerUsers = resp.data;\r\n //$log.log('freelancers', vm.freelancerUsers);\r\n preprocessData(vm.freelancerUsers);\r\n } else {\r\n vm.freelancerUsers = '';\r\n }\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get freelancers, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get freelancers, server is not responding correctly.\");\r\n });\r\n\r\n var broadItemNames = 'Circle,SkillSet,TicketStatus';\r\n var broadItemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Broadcasted';\r\n\r\n ManualAssignationJobService.GetBroadcastedBids(loggedinUser, broadItemNames, broadItemValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.BroadcastedJobs = resp.data;\r\n // vm.TeamProfile = vm.TeamProfile[0];\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get broadcasted jobs, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get broadcasted jobs, server is not responding correctly.\");\r\n })\r\n\r\n\r\n } else if (vm.isChecked == 'vendor') {\r\n var itemNames = \"TicketStatus\";\r\n var itemValues = 'New';\r\n if (vm.locationSearch) {\r\n itemNames += \",Circle\";\r\n itemValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n itemNames += \",SkillSet\";\r\n itemValues += \",\" + vm.skillsSearch;\r\n }\r\n\r\n ManualAssignationJobService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n }\r\n\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n })\r\n\r\n var teamIteamNames = \"UserStatus,Role\";\r\n var teamIteamValues = 'Active' + ',' + 'Field Engineer';\r\n\r\n if (vm.locationSearch) {\r\n teamIteamNames += \",Locations\";\r\n teamIteamValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n teamIteamNames += \",SkillSet\";\r\n teamIteamValues += \",\" + vm.skillsSearch;\r\n }\r\n ManualAssignationJobService.GetAllVendors(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data) {\r\n vm.vendorList = resp.data;\r\n preprocessData(vm.vendorList);\r\n }\r\n } else {\r\n vm.vendorList = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get vendors, server is not responding correctly.\");\r\n })\r\n\r\n } else if (vm.isChecked == 'supervisor') {\r\n\r\n var itemNames = \"TicketStatus\";\r\n var itemValues = 'New';\r\n\r\n if (vm.locationSearch) {\r\n itemNames += \",Circle\";\r\n itemValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n itemNames += \",SkillSet\";\r\n itemValues += \",\" + vm.skillsSearch;\r\n }\r\n ManualAssignationJobService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n });\r\n\r\n var teamIteamNames = \"UserStatus\";\r\n var teamIteamValues = 'Active';\r\n\r\n if (vm.locationSearch) {\r\n teamIteamNames += \",Locations\";\r\n teamIteamValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n teamIteamNames += \",SkillSet\";\r\n teamIteamValues += \",\" + vm.skillsSearch;\r\n }\r\n ManualAssignationJobService.GetUsersByRole(loggedinUser, 'Supervisor', teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp && resp.data.length > 0) {\r\n vm.supervisorList = resp.data;\r\n preprocessData(vm.supervisorList);\r\n } else {\r\n vm.supervisorList = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get supervisors, server is not responding correctly.\");\r\n });\r\n }\r\n }\r\n\r\n //To Search\r\n vm.search = function () {\r\n if (vm.searchform.$valid) {\r\n if (vm.isChecked == 'fixed') {\r\n var itemNames = \"Circle,SkillSet,TicketStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'New';\r\n ManualAssignationJobService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n });\r\n\r\n var teamIteamNames = \"Locations,SkillSet,UserStatus,Role\";\r\n var teamIteamValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active' + ',' + 'Field Engineer';\r\n ManualAssignationJobService.GetUsersByFilter(loggedinUser, teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.fixedUsers = resp.data;\r\n //$log.log('fixedUsers', resp.data);\r\n preprocessData(vm.fixedUsers);\r\n } else {\r\n vm.fixedUsers = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get field engineers, server is not responding correctly.\");\r\n })\r\n } else if (vm.isChecked == 'freelancer') {\r\n var itemNames = \"Circle,SkillSet,TicketStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'New';\r\n ManualAssignationJobService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n });\r\n\r\n var teamIteamNames = \"Locations,SkillSet,UserStatus,Role\";\r\n var teamIteamValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active' + ',' + 'Field Engineer';\r\n ManualAssignationJobService.GetAllFreelancersWithFilters(loggedinUser, teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.freelancerUsers = resp.data;\r\n //$log.log('freelancers', vm.freelancerUsers);\r\n preprocessData(vm.freelancerUsers);\r\n } else {\r\n vm.freelancerUsers = '';\r\n }\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get field engineers, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get field engineers, server is not responding correctly.\");\r\n });\r\n\r\n var broadItemNames = 'Circle,SkillSet,TicketStatus';\r\n var broadItemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Broadcasted';\r\n ManualAssignationJobService.GetBroadcastedBids(loggedinUser, broadItemNames, broadItemValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.BroadcastedJobs = resp.data;\r\n // vm.TeamProfile = vm.TeamProfile[0];\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get broadcasted jobs, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get broadcasted jobs, server is not responding correctly.\");\r\n })\r\n\r\n\r\n } else if (vm.isChecked == 'vendor') {\r\n\r\n var itemNames = \"Circle,SkillSet,TicketStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'New';\r\n\r\n ManualAssignationJobService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n })\r\n\r\n var teamIteamNames = \"Locations,SkillSet,UserStatus,Role\";\r\n var teamIteamValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active' + ',' + 'Field Engineer';\r\n ManualAssignationJobService.GetAllVendors(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data) {\r\n vm.vendorList = resp.data;\r\n preprocessData(vm.vendorList);\r\n }\r\n } else {\r\n vm.vendorList = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get vendors, server is not responding correctly.\");\r\n });\r\n\r\n } else if (vm.isChecked == 'supervisor') {\r\n\r\n var itemNames = \"Circle,SkillSet,TicketStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'New';\r\n ManualAssignationJobService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get supervisors, server is not responding correctly.\");\r\n });\r\n\r\n var teamIteamNames = \"Locations,SkillSet,UserStatus\";\r\n var teamIteamValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active';\r\n ManualAssignationJobService.GetUsersByRole(loggedinUser, 'Supervisor', teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp && resp.data.length > 0) {\r\n vm.supervisorList = resp.data;\r\n preprocessData(vm.supervisorList);\r\n } else {\r\n vm.supervisorList = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get users, server is not responding correctly.\");\r\n })\r\n\r\n }\r\n vm.SearchModal.close();\r\n } else {\r\n vm.searchform.submitted = true;\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n vm.tabNo = function (tab) {\r\n vm.tab = tab;\r\n //$log.log('TabNo', vm.tab);\r\n }\r\n\r\n\r\n\r\n\r\n vm.getAssistedSuggestion = function (ticket) {\r\n vm.ticketStatusCheck = ticket.TicketStatus;\r\n vm.showRouteBroadcast = ticket.ShowManualBroadcast;\r\n $scope.toggleSingleClass();\r\n var status = 'Received';\r\n vm.TicketSelectedForAssistedSuggestion = ticket;\r\n vm.broadcastTicketId = ticket.TicketId;\r\n vm.UserSuggestionList = [];\r\n vm.StoreUserSuggestionList = [];\r\n vm.Attendence = '';\r\n vm.AttendenceList = '';\r\n vm.UserStatus = '';\r\n vm.Distance = '10';\r\n vm.SkillSet = '';\r\n vm.IsMMFPrimeMember = false;\r\n vm.OneJobDoneOnSkill = false;\r\n vm.GetFreelancerSuggestions(true, vm.showMode);\r\n vm.isReceived = true;\r\n\r\n }\r\n\r\n // freelancer profile\r\n vm.getFLprofile = function (userId) {\r\n $scope.selectedUserId = userId;\r\n document.getElementById(\"freelancerProfile\").style.width = \"58%\";\r\n vm.closeAssistedSuggestion();\r\n ManualAssignationJobService.getFixedUserInfo(userId, loggedinUser, token).then(function (resp) {\r\n vm.TicketSelectedForAssistedSuggestion = resp.data;\r\n // for(var i=0;ilTfgitp').withPaginationType(\r\n 'full_numbers').withOption('lengthChange', false)\r\n .withOption('initComplete', function () {\r\n $('.dataTables_filter input').unbind();\r\n })\r\n .withOption('order', [1, 'asc']);\r\n\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n //DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable()\r\n ];\r\n\r\n\r\n vm.openBroadcastmodal = function (i) {\r\n vm.broadcastError = null;\r\n vm.jobselected = [];\r\n angular.forEach(vm.ticketList, function (d) {\r\n if (d.TicketStatus == \"New\") {\r\n if (d.checked) {\r\n if (!d.BidDuration.includes(\":\")) {\r\n d.BidDuration = parseInt(d.BidDuration / 60) + \":\" + parseInt(d.BidDuration % 60);\r\n }\r\n\r\n\r\n vm.jobselected.push(d);\r\n $log.log(d)\r\n // angular.forEach(vm.jobselected, function (t) {\r\n // t.PincodeArray = t.Pincode.split(\"|\");\r\n // t.Pincode = Array.from(new Set(t.PincodeArray));\r\n // t.SkillSetArray = t.SkillSet.split(\"|\");\r\n // t.SkillSet = Array.from(new Set(t.SkillSetArray));\r\n // })\r\n }\r\n }\r\n });\r\n\r\n if (vm.jobselected.length > 0) {\r\n vm.BroadcastModal = $uibModal.open({\r\n templateUrl: 'Broadcast.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", \"Please select jobs\");\r\n vm.broadcastError = \"Please select jobs for bradcast\";\r\n }\r\n }\r\n\r\n vm.closeModal = function () {\r\n vm.BroadcastModal.close();\r\n }\r\n\r\n vm.openBroadcastmodalforFV = function (i) {\r\n vm.broadcastErrorFV = null;\r\n vm.jobselectedFV = [];\r\n angular.forEach(vm.NewJobs, function (d) {\r\n if (d.checked) {\r\n if (!d.BidDuration.includes(\":\")) {\r\n d.BidDuration = parseInt(d.BidDuration / 60) + \":\" + parseInt(d.BidDuration % 60);\r\n }\r\n\r\n vm.jobselectedFV.push(d);\r\n $log.log(d)\r\n }\r\n });\r\n if (vm.jobselectedFV.length > 0) {\r\n vm.BroadcastModalFV = $uibModal.open({\r\n templateUrl: 'BroadcastFV.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n } else {\r\n vm.broadcastErrorFV = \"Please select jobs for bradcast\";\r\n }\r\n }\r\n\r\n\r\n vm.OpenBroadcastModelToFV = function (i) {\r\n vm.broadcastErrorFV = null;\r\n vm.jobselectedFV = [];\r\n angular.forEach(vm.NewJobs, function (d) {\r\n if (d.checked) {\r\n if (!d.BidDuration.includes(\":\")) {\r\n d.BidDuration = parseInt(d.BidDuration / 60) + \":\" + parseInt(d.BidDuration % 60);\r\n }\r\n\r\n vm.jobselectedFV.push(d);\r\n $log.log(d)\r\n }\r\n });\r\n if (vm.jobselectedFV.length > 0) {\r\n vm.BroadcastModalFV = $uibModal.open({\r\n templateUrl: 'BroadcastFV.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n } else {\r\n vm.broadcastErrorFV = \"Please select jobs for bradcast\";\r\n }\r\n }\r\n\r\n vm.closeModalFV = function () {\r\n vm.BroadcastModalFV.close();\r\n }\r\n\r\n vm.GetAllVendors = function () {\r\n vm.vendorList = [];\r\n var itemNames = \"\";\r\n var itemValues = \"\";\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n itemNames = \"VendorLocations,VendorSkillsets,VendorStatus\";\r\n itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active';\r\n } else {\r\n itemNames = \"VendorStatus\";\r\n itemValues = \"Active\";\r\n }\r\n if (vm.loggedInUserRole == 'Help Desk') {\r\n itemNames += \",VendorSkillsets\";\r\n itemValues += \",\" + loggedinUserSkill;\r\n }\r\n\r\n // GetAllVendors\r\n ManualAssignationJobService.GetFixedVendorsByFilters(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data) {\r\n angular.forEach(resp.data, function (vendor) {\r\n if (vendor.UserId != loggedinUser) {\r\n vm.vendorList.push(vendor);\r\n }\r\n })\r\n preprocessData(vm.vendorList);\r\n }\r\n } else {\r\n vm.vendorList = '';\r\n }\r\n })\r\n }\r\n\r\n\r\n\r\n function preprocessData(users) {\r\n if (users && users.length > 0) {\r\n angular.forEach(users, function (user) {\r\n user.locationCount = user.Locations && user.Locations.length > 0 ? user.Locations.length : 0;\r\n user.locationToolTip = \"\";\r\n if (user.locationCount > 0) {\r\n angular.forEach(user.Locations, function (loc) {\r\n user.locationToolTip += loc + \",\";\r\n })\r\n user.locationToolTip = user.locationToolTip.substr(0, user.locationToolTip.length - 1);\r\n }\r\n\r\n user.SkillSetCount = user.SkillSet && user.SkillSet.length > 0 ? user.SkillSet.length : 0;\r\n user.SkillSetToolTip = \"\";\r\n if (user.SkillSetCount > 0) {\r\n angular.forEach(user.SkillSet, function (s) {\r\n user.SkillSetToolTip += s + \",\";\r\n })\r\n user.SkillSetToolTip = user.SkillSetToolTip.substr(0, user.SkillSetToolTip.length - 1);\r\n }\r\n user.OneJobSkillSetCount = user.OneJobDoneSkillSet && user.OneJobDoneSkillSet.length > 0 ? user.OneJobDoneSkillSet.length : 0;\r\n user.OneJobSkillSetToolTip = \"\";\r\n if (user.OneJobSkillSetCount > 0) {\r\n angular.forEach(user.OneJobDoneSkillSet, function (s) {\r\n user.OneJobSkillSetToolTip += s + \",\";\r\n })\r\n user.OneJobSkillSetToolTip = user.OneJobSkillSetToolTip.substr(0, user.OneJobSkillSetToolTip.length - 1);\r\n }\r\n\r\n user.VendorLocationsCount = user.VendorLocations && user.VendorLocations.length > 0 ? user.VendorLocations.length : 0;\r\n user.VendorLocationsToolTip = \"\";\r\n if (user.VendorLocationsCount > 0) {\r\n angular.forEach(user.VendorLocations, function (loc) {\r\n user.VendorLocationsToolTip += loc + \",\";\r\n })\r\n user.VendorLocationsToolTip = user.VendorLocationsToolTip.substr(0, user.VendorLocationsToolTip.length - 1);\r\n }\r\n\r\n user.VendorSkillsetsCount = user.VendorSkillsets && user.VendorSkillsets.length > 0 ? user.VendorSkillsets.length : 0;\r\n user.VendorSkillsetsToolTip = \"\";\r\n if (user.VendorSkillsetsCount > 0) {\r\n angular.forEach(user.VendorSkillsets, function (s) {\r\n user.VendorSkillsetsToolTip += s + \",\";\r\n })\r\n user.VendorSkillsetsToolTip = user.VendorSkillsetsToolTip.substr(0, user.VendorSkillsetsToolTip.length - 1);\r\n }\r\n user.ratingStars = vm.getRatingStars(Math.round(user.Ratings));\r\n user.blankStars = vm.getBlankStars(Math.round(user.Ratings));\r\n user.exp = user.Experience > 0 ? parseFloat(user.Experience / 365).toFixed(1) : 0;\r\n user.checked = false;\r\n });\r\n }\r\n }\r\n\r\n vm.getProfilePic = function (profilePicName) {\r\n return profilePicName ? ImageUrl + \"/\" + profilePicName : null;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n if (vm.loggedInUserRole == \"Dispatch Supervisor\" || vm.loggedInUserRole == \"OnBoarding Supervisor\") {\r\n vm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\", \"Private\"];\r\n }\r\n else {\r\n if (vm.loggedInUserRole == \"Dispatch Manager\") {\r\n vm.UserTypeList = [\"Freelancer\", \"Private\", \"Freelancer Vendor\", \"Dispatch Supervisor\", \"Freelancer Dispatcher\", \"Dispatch Team Lead\"];\r\n }\r\n else if (vm.loggedInUserRole == \"OnBoarding Manager\") {\r\n vm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\", \"OnBoarding Supervisor\"];\r\n }\r\n else if (vm.loggedInUserRole == \"Dispatch Team Lead\") {\r\n vm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\", \"Private\", \"Freelancer Dispatcher\", \"Dispatch Supervisor\"];\r\n }\r\n else if (vm.loggedInUserRole == \"Administrator\") {\r\n vm.UserTypeList = [\"Project Manager\", \"Supervisor\", \"Freelancer\", \"Freelancer Vendor\", \"Private\"];\r\n }\r\n else if (vm.loggedInUserRole == \"Project Manager\") {\r\n vm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\", \"Private\", \"Supervisor\"];\r\n }\r\n else if (vm.loggedInUserRole == \"Supervisor\") {\r\n vm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\", \"Private\"];\r\n }\r\n\r\n }\r\n\r\n vm.getJobAllStatus = function () {\r\n ManualAssignationJobService.getJobAllStatus(loggedinUser, token, function (data) {\r\n angular.forEach(data, function (status) {\r\n if (status.StatusName == 'On Hold') {\r\n status.StatusName = 'Hold';\r\n }\r\n vm.statusList.push(status.StatusName);\r\n })\r\n }, vm.showFailure);\r\n }\r\n\r\n $scope.slideAssistedSuggestion = function () {\r\n document.getElementById(\"assistedSuggestion\").style.width = \"25%\";\r\n }\r\n vm.closeAssistedSuggestion = function () {\r\n document.getElementById(\"assistedSuggestion\").style.width = \"0%\";\r\n }\r\n vm.closeFLprofile = function () {\r\n document.getElementById(\"freelancerProfile\").style.width = \"0%\";\r\n }\r\n $scope.slideF = function () {\r\n document.getElementById(\"myNav\").style.height = \"86%\";\r\n }\r\n vm.closeSlide = function () {\r\n document.getElementById(\"myNav\").style.height = \"0%\";\r\n }\r\n\r\n vm.Applyfilter = function () {\r\n $scope.UserTablepagination = {};\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n $scope.hideFilter();\r\n vm.GetAllInteractions();\r\n vm.GetAllInteractionsDashboard();\r\n }\r\n\r\n\r\n vm.PDFView = function (page) {\r\n vm.pdfimage = \"\";\r\n vm.IsLoadSucessfull = false;\r\n $scope.selected = null;\r\n // $timeout(function () {\r\n jobAppointmentModal = $uibModal.open({\r\n templateUrl: 'PDFView.html',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n // }, 1000)\r\n\r\n }\r\n vm.PDFUserModal = function () {\r\n jobAppointmentModal.close();\r\n }\r\n\r\n function base64ToArrayBuffer(base64) {\r\n var ret = base64.replace('data:application/pdf;base64,', '');\r\n var binaryString = atob(ret);\r\n var binaryLen = binaryString.length;\r\n var bytes = new Uint8Array(binaryLen);\r\n for (var i = 0; i < binaryLen; i++) {\r\n var ascii = binaryString.charCodeAt(i);\r\n bytes[i] = ascii;\r\n }\r\n return bytes;\r\n }\r\n\r\n\r\n vm.makeUserMarker = function (position, icon, map) {\r\n var marker = new google.maps.Marker({\r\n position: position,\r\n map: map,\r\n icon: icon\r\n });\r\n\r\n //Adding InfoWindow to the Marker.\r\n (function (marker, customerJobCard) {\r\n google.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n $scope.InfoWindow.setContent(\"

\" + vm.name + \"

\" + ' ' + vm.contactnumber);\r\n $scope.InfoWindow.open($scope.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n $scope.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, vm.customerJobCard);\r\n\r\n //Plotting the Marker on the Map.\r\n $scope.Latlngbounds.extend(marker.position);\r\n\r\n }\r\n vm.makeJobMarker = function (position, icon, map) {\r\n var marker = new google.maps.Marker({\r\n position: position,\r\n map: map,\r\n icon: icon\r\n });\r\n\r\n //Adding InfoWindow to the Marker.\r\n (function (marker, customerJobCard) {\r\n google.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n $scope.InfoWindow.setContent(\"

\" + vm.customerJobCard.ConsumerName + \"

\" + ' ' + vm.customerJobCard.JobId + \"
\" + ' ' + moment(vm.customerJobCard.JobDateTime).format(\"YYYY-MM-DD HH:mm\") + \"
\" + ' ' + vm.customerJobCard.ConsumerContact);\r\n $scope.InfoWindow.open($scope.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n $scope.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, vm.customerJobCard);\r\n\r\n //Plotting the Marker on the Map.\r\n $scope.Latlngbounds.extend(marker.position);\r\n }\r\n function initMap() {\r\n var pointA = new google.maps.LatLng(vm.JobLatitude, vm.JobLongitude),\r\n pointB = new google.maps.LatLng(vm.FELatitude, vm.FELongitude),\r\n // center = new google.maps.LatLng(51.3, 0.8),\r\n myOptions = {\r\n zoom: 8,\r\n zoomControl: false,\r\n scaleControl: true,\r\n mapTypeControl: false,\r\n streetViewControl: false,\r\n gestureHandling: 'greedy',\r\n // center: center,\r\n mapTypeId: google.maps.MapTypeId.ROADMAP\r\n },\r\n\r\n map = new google.maps.Map(document.getElementById('map-canvas'), myOptions),\r\n // Instantiate a directions service.\r\n directionsService = new google.maps.DirectionsService,\r\n directionsDisplay = new google.maps.DirectionsRenderer({\r\n map: map\r\n }),\r\n duration = document.getElementById('duration');\r\n distance = document.getElementById('distance');\r\n flightPath = new google.maps.Polyline({\r\n path: [pointA, pointB],\r\n // geodesic: true,\r\n strokeColor: 'red',\r\n });\r\n $scope.InfoWindow = new google.maps.InfoWindow();\r\n $scope.Latlngbounds = new google.maps.LatLngBounds();\r\n // click on marker B to get route from A to B\r\n calculateAndDisplayRoute(directionsService, directionsDisplay, pointA, pointB, distance, duration, map);\r\n var travelMode = \"DRIVING\";\r\n var icon = \"https://img.icons8.com/color/96/000000/street-view.png\";\r\n }\r\n function calculateAndDisplayRoute(directionsService, directionsDisplay, pointA, pointB, distance, duration, map) {\r\n var selectedMode = \"DRIVING\";\r\n directionsService.route({\r\n origin: pointA,\r\n destination: pointB,\r\n unitSystem: google.maps.UnitSystem.METRIC,\r\n travelMode: google.maps.TravelMode[selectedMode]\r\n }, function (response, status) {\r\n if (status == google.maps.DirectionsStatus.OK) {\r\n new google.maps.DirectionsRenderer({\r\n map: map,\r\n directions: response,\r\n suppressMarkers: true,\r\n polylineOptions: {\r\n strokeColor: \"#000000\"\r\n }\r\n });\r\n var leg = response.routes[0].legs[0];\r\n //outputTxt.innerHTML =(response.routes[0].legs[0].distance.value/1000) + \" Kms\";\r\n distance.innerHTML = response.routes[0].legs[0].distance.text;\r\n duration.innerHTML = response.routes[0].legs[0].duration.text;\r\n vm.distance = response.routes[0].legs[0].distance.value / 1000;\r\n vm.makeJobMarker(leg.start_location, icons.start, map);\r\n vm.makeUserMarker(leg.end_location, icons.end, map);\r\n } else {\r\n window.alert('Directions request failed due to ' + status);\r\n }\r\n });\r\n }\r\n var icons = {\r\n start: new google.maps.MarkerImage(\r\n // URL\r\n UIURL + '/assets/images/patterns/JOb_icon.png',\r\n // (width,height)\r\n new google.maps.Size(44, 32),\r\n // The origin point (x,y)\r\n new google.maps.Point(0, 0),\r\n // The anchor point (x,y)\r\n new google.maps.Point(22, 32)),\r\n end: new google.maps.MarkerImage(\r\n // URL\r\n UIURL + '/assets/images/patterns/delivery-man1.png',\r\n // (width,height)\r\n new google.maps.Size(44, 32),\r\n // The origin point (x,y)\r\n new google.maps.Point(0, 0),\r\n // The anchor point (x,y)\r\n new google.maps.Point(22, 32))\r\n };\r\n\r\n vm.OpenFilterModel = function () {\r\n FollowUpModel = $uibModal.open({\r\n templateUrl: 'FilterModel.html',\r\n size: 'lg',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n\r\n vm.OpenFollowUpModel = function (ticketId) {\r\n vm.followup = '';\r\n vm.tickId = ticketId;\r\n FollowUpModel = $uibModal.open({\r\n templateUrl: 'FollowupJob.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n controller: ModalInstanceCtrlFollowUp,\r\n });\r\n }\r\n\r\n vm.CloseFollowUpModel = function () {\r\n vm.primaryFollowUpReason = '';\r\n vm.primaryFollowUpRemark = '';\r\n vm.primaryHoldReason = '';\r\n vm.primaryHoldRemark = '';\r\n vm.followFiles = null;\r\n FollowUpModel.close();\r\n }\r\n\r\n //\r\n $scope.attachmentForFollowUp = function (files) {\r\n var file = files.files[0];\r\n vm.followFiles = files.files;\r\n var allowedExtensions = /(\\.jpg|\\.jpeg|\\.png|\\.msg|\\.pdf|\\.bmp|\\.xps)$/i;\r\n if (!allowedExtensions.exec(file.name)) {\r\n vm.followFiles = [];\r\n vm.clear();\r\n alert('Please upload file having extensions .pdf,.jpg,.jpeg,.png,.msg,.bmp,xps only.');\r\n }\r\n }\r\n\r\n vm.clear = function () {\r\n angular.element(\"input[type='file']\").val(null);\r\n };\r\n\r\n vm.DocEdit = function (index) {\r\n vm.followFiles = null;\r\n }\r\n\r\n var ModalInstanceCtrlFollowUp = function ($scope, $rootScope, $uibModalInstance) {\r\n vm.updateFollowUpStatus = function () {\r\n var data = {};\r\n data = {\r\n \"userId\": loggedinUser,\r\n \"dateTime\": \"\",\r\n \"activity\": \"\",\r\n \"action\": \"FOLLOW_UP\",\r\n \"userName\": \"\",\r\n \"ticketId\": vm.tickId,\r\n \"primaryReason\": vm.primaryFollowUpReason,\r\n \"SecondryReason\": \"\",\r\n \"ReasonComment\": vm.primaryFollowUpRemark\r\n }\r\n if (vm.followFiles != null) {\r\n ManualAssignationJobService.UpdateFollowUpReason(data, vm.followFiles, token, loggedinUser, function (res) {\r\n if (res && res.status == 201) {\r\n vm.showSuccess(\"Success\", \"Follow up done successfully.\");\r\n vm.CloseFollowUpModel();\r\n $timeout(function () {\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.filterStatusForJObs($scope.jobStatusForPaging, $scope.selectedUserId, $localStorage.loggedInUserId, token, jPageIndex, jPageSize)\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to create follow up. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n }\r\n else {\r\n ManualAssignationJobService.TicketFollowUpWithoutDoc(data, token, loggedinUser, function (res) {\r\n if (res && res.status == 201) {\r\n vm.showSuccess(\"Success\", \"Follow up done successfully.\");\r\n $timeout(function () {\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 1000);\r\n }\r\n vm.CloseFollowUpModel();\r\n });\r\n }\r\n\r\n }\r\n }\r\n\r\n var ModelInstanceOfMap = function ($rootScope, $scope, $uibModal) {\r\n vm.getCustomerJobCard();\r\n }\r\n\r\n vm.getCustomerJobCard = function () {\r\n ManualAssignationJobService.getCustomerJobCardbyJobId(loggedinUser, vm.trackingTicketId, token, function (data) {\r\n vm.JobLatitude = data.JobLatitude;\r\n vm.JobLongitude = data.JobLongitude;\r\n vm.FELatitude = data.FELatitude;\r\n vm.FELongitude = data.FELongitude;\r\n vm.contactnumber = data.FEContactNumber;\r\n vm.jobtype = data.Description;\r\n vm.name = data.FEName;\r\n if (data.FEContactNumber) {\r\n vm.contactnumber = data.FEContactNumber.replace(/\\d(?=\\d{4})/g, '*');\r\n }\r\n initMap();\r\n $log.log(\"res of getCustomerJobCard=\" + data);\r\n vm.customerJobCard = data;\r\n if (vm.customerJobCard.ConsumerContact) {\r\n vm.customerJobCard.ConsumerContact = vm.customerJobCard.ConsumerContact.replace(/\\d(?=\\d{4})/g, '*');\r\n }\r\n if ($localStorage.rateJobParams) {\r\n vm.customerJobCard.userRole = $localStorage.Role;\r\n vm.customerJobCard.JobStatus = $localStorage.rateJobParams.status;\r\n vm.customerJobCard.CustomerGivenRating = $localStorage.rateJobParams.rating;\r\n delete $localStorage.rateJobParams;\r\n }\r\n if (data && data.JobStatus == 'PaymentDone') {\r\n\r\n }\r\n }, function () {\r\n vm.showFailure(\"Failed\", \"Unable to reach server\");\r\n });\r\n }\r\n vm.TicketBreachValueconver = function (TicketBreachValue) {\r\n var TicketBreachValueInString = \"\";\r\n if (TicketBreachValue == 0)\r\n TicketBreachValueInString = \"Not Breached\";\r\n if (TicketBreachValue == 1)\r\n TicketBreachValueInString = \"Breached\";\r\n\r\n return TicketBreachValueInString;\r\n }\r\n vm.OpenTracking = function (ticket) {\r\n vm.trackingTicketId = ticket;\r\n Tracking = $uibModal.open({\r\n templateUrl: 'Tracking.html',\r\n size: 'lg',\r\n scope: $scope,\r\n controller: ModelInstanceOfMap\r\n })\r\n }\r\n vm.CloseTracking = function () {\r\n Tracking.close();\r\n }\r\n\r\n\r\n vm.sortColumn = function (col) {\r\n vm.SortField = col;\r\n if (vm.SortType == 'desc') {\r\n vm.SortType = 'asc';\r\n vm.reverseclass = 'fa fa-arrow-up';\r\n } else {\r\n vm.SortType = 'desc';\r\n vm.reverseclass = 'fa fa-arrow-down';\r\n }\r\n };\r\n\r\n // remove and change class\r\n vm.sortClass = function (col) {\r\n if (vm.SortField == col) {\r\n if (vm.SortType == 'desc') {\r\n return 'fa fa-arrow-down';\r\n } else {\r\n return 'fa fa-arrow-up';\r\n }\r\n }\r\n else {\r\n return '';\r\n }\r\n }\r\n\r\n vm.searchTicket = function () {\r\n vm.ResetTicketFilter();\r\n vm.FilterArray();\r\n };\r\n\r\n\r\n vm.closeSearchText = function () {\r\n vm.userskill = \"\";\r\n vm.City = '';\r\n vm.State = '';\r\n vm.slotStatus = '';\r\n vm.SearchByConsumerName = '';\r\n vm.AssigedTo = '';\r\n vm.State = '';\r\n vm.searchTag = '';\r\n vm.City = '';\r\n vm.GetAllInteractions();\r\n vm.GetAllInteractionsDashboard();\r\n }\r\n\r\n\r\n $scope.open360ViewBroadcaste = function () {\r\n angular.element('#div1').addClass(\"alpha\");\r\n };\r\n\r\n vm.outsidedateRangeChange = function (ev, picker) {\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n if (vm.InteractionType == 'BGVerify') {\r\n vm.InteractionType = 'BGVerify'\r\n }\r\n if (vm.InteractionType == 'SMEInteration') {\r\n vm.InteractionType = 'SMEInteration'\r\n }\r\n $scope.Userpagination = {};\r\n PageIndex = 1;\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n vm.GetAllInteractions();\r\n vm.GetAllInteractionsDashboard();\r\n };\r\n\r\n\r\n vm.getUsersByTickets = function (ev, picker) {\r\n $scope.Userpagination = {};\r\n PageIndex = 1;\r\n $scope.TicketTablepagination = {\r\n current: 1\r\n };\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n\r\n };\r\n\r\n\r\n // vm.UserByFiltersList=[];\r\n // vm.GetReportingToMeUsers = function(loggedinUser, token) { \r\n // SlotAllocationService.GetReportingToMeUsers(loggedinUser, token).then(function (resp) {\r\n // if (resp && resp.data) {\r\n // vm.UserByFiltersList = resp.data.ListUserResponseModel;\r\n // $scope.totalUsers = resp.data.Count;\r\n // preprocessData(vm.UserByFiltersList);\r\n // if(vm.UserByFiltersList.length < vm.userPageListCount)\r\n // vm.userListLength = $scope.totalUsers;\r\n // else\r\n // vm.userListLength = uPageIndex * vm.userPageListCount;\r\n // if(uPageIndex==1)\r\n // vm.upageindexCount = 1;\r\n // else\r\n // vm.upageindexCount = (((uPageIndex-1) * vm.userPageListCount) + 1);\r\n\r\n // for(var i=0;i 1 star)\r\n var reverseRatingTotal = Array.from(ratingTotal).reverse();\r\n\r\n // display initial rating totals\r\n // displayTotals();\r\n\r\n // use event listener to record changes to user rating\r\n starRating.forEach(function (star) {\r\n star.addEventListener(\"change\", recordRating);\r\n })\r\n\r\n function recordRating(event) {\r\n // use indexOf to identify selected user rating\r\n var userRating = Array.from(starRating).indexOf(event.target);\r\n\r\n // define selected rating to adjust display totals\r\n var selectedIndex;\r\n\r\n starRating.forEach(function (item, index) {\r\n // add or remove .active class based upon selected user rating\r\n if (index < userRating + 1) {\r\n starRating[index].classList.add(\"active\");\r\n selectedIndex = index;\r\n } else {\r\n starRating[index].classList.remove(\"active\");\r\n }\r\n\r\n displayTotals(selectedIndex);\r\n });\r\n }\r\n vm.countForStatus = 50;\r\n // display star rating totals from html custom data-\r\n function displayTotals(selectedIndex) {\r\n var barChart = document.querySelectorAll(\".bar\"),\r\n displaySummary = document.querySelectorAll(\".summary\"),\r\n numRatings = 0,\r\n numRatingsValue = 0;\r\n\r\n // convert barChart HTMLCollection to array and reverse its order (5 star <-> 1 star)\r\n var reverseBarChart = Array.from(barChart).reverse();\r\n\r\n reverseRatingTotal.forEach(function (total, index) {\r\n if (index == selectedIndex) {\r\n // add selected rating to display total\r\n total.innerHTML = (parseInt(total.getAttribute(\"data-rating-count\")) + 1);\r\n // adjust selected bar width\r\n reverseBarChart[index].style.width = (((parseInt(total.getAttribute(\"data-rating-count\")) + 1) / 20) * 100) + \"%\";\r\n } else {\r\n // display unselected totals\r\n total.innerHTML = total.getAttribute(\"data-rating-count\");\r\n // adjust unselected bar widths\r\n reverseBarChart[index].style.width = ((total.getAttribute(\"data-rating-count\") / 20) * 100) + \"%\";\r\n }\r\n // count total number and value of ratings\r\n numRatings += parseInt(total.innerHTML);\r\n numRatingsValue += (parseInt(total.innerHTML) * (index + 1));\r\n });\r\n\r\n // display rating average and total\r\n ratingsAverage = (numRatingsValue / numRatings).toFixed(2);\r\n // displaySummary[0].innerHTML = ratingsAverage + \" average based on \" + numRatings + \" reviews.\";\r\n }\r\n\r\n vm.Get360VendorTeamData = function (teamid) {\r\n vm.userId = teamid;\r\n DashboardService.Get360VendorTeamData(loggedinUser, teamid, token).then(function (resp) {\r\n vm.vendorteam = resp.data;\r\n })\r\n }\r\n\r\n vm.GetUsersTicket = function (isCollapsed, status, id, type) {\r\n $scope.activeRow = id;\r\n $scope.isCollapsed = !isCollapsed;\r\n vm.userIdforStatus = id;\r\n vm.statusForTickets = status;\r\n vm.JobcountbyStatus = '';\r\n vm.filterType = type;\r\n vm.FilterArray();\r\n // if(!vm.filterType){\r\n // vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n // }\r\n vm.getAllJobTicketsCopyForUsers(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }\r\n\r\n vm.getAllJobTicketsCopyForUsers = function (loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize) {\r\n var templateCols = \"\";\r\n vm.resetAllSelect();\r\n var templateCols = \"\";\r\n vm.UserticketList = [];\r\n PageIndex = PageIndex ? PageIndex : 1;\r\n vm.DateField = vm.DateField ? vm.DateField : \"CreatedOn\";\r\n ManualAssignationJobService.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, token, itemNames, itemValues, textItemNames, textItemValues, templateCols, templateItemNames, templateItemValues, vm.DateField, PageIndex, PageSize, vm.SortType, vm.SortField).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.UserticketList = resp.data.LightTicketModels;\r\n }\r\n\r\n }, function () {\r\n });\r\n\r\n }\r\n\r\n vm.Get360WorkSummary = function () {\r\n DashboardService.Get360WorkSummary(loggedinUser, token, vm.userId, witemNames, witemValues, uPageIndex, uPageSize, wsSDate, wsEDate, vm.OrderBy, vm.sorttype).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.statusCount = resp.data;\r\n vm.wsTicketList = resp.data.workSummaryData;\r\n $scope.totalWS = resp.data.WorkSummaryTotalCount;\r\n if (vm.wsTicketList.length < vm.userPageListCount)\r\n vm.wsListLength = $scope.totalWS;\r\n else\r\n vm.wsListLength = uPageIndex * vm.userPageListCount;\r\n if (uPageIndex == 1)\r\n vm.wspageindexCount = 1;\r\n else\r\n vm.wspageindexCount = (((uPageIndex - 1) * vm.userPageListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n }\r\n\r\n vm.FinanceFiltersList = [];\r\n vm.GetFinancialSummary = function () {\r\n DashboardService.GetFinancialSummary(loggedinUser, token, vm.userId, fnitemNames, fnitemValues, fPageIndex, fPageSize, startDate, endDate).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.paymentCount = resp.data.paymentsSummary;\r\n vm.FinanceFiltersList = resp.data.financialSummary360.financialLPSummaryList;\r\n $scope.totalFinList = resp.data.financialSummary360.count;\r\n if (vm.FinanceFiltersList.length < vm.financePageListCount)\r\n vm.financeListLength = $scope.totalFinList;\r\n else\r\n vm.financeListLength = fPageIndex * vm.financePageListCount;\r\n if (fPageIndex == 1)\r\n vm.fpageindexCount = 1;\r\n else\r\n vm.fpageindexCount = (((fPageIndex - 1) * vm.financePageListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n vm.ResetUserFilter();\r\n }\r\n\r\n vm.getFileType = function (url) {\r\n if (url == null || url == \"\") {\r\n return \"others\";\r\n }\r\n else {\r\n if (url.indexOf(\".jpg\") >= 0 || url.indexOf(\".jpeg\") >= 0 || url.indexOf(\".png\") >= 0 || url.indexOf(\".bmp\") >= 0 || url.indexOf(\".JPG\") >= 0 || url.indexOf(\".JPEG\") >= 0 || url.indexOf(\".PNG\") >= 0 || url.indexOf(\".BMP\") >= 0) {\r\n return \"image\";\r\n } else if (url.indexOf(\".pdf\") >= 0 || url.indexOf(\".PDF\") >= 0) {\r\n return \"pdf\";\r\n } else if (url.indexOf(\".xls\") >= 0 || url.indexOf(\".xlsx\") >= 0 || url.indexOf(\".XLS\") >= 0 || url.indexOf(\".XLSX\") >= 0) {\r\n return \"xls\";\r\n } else if (url.indexOf(\".doc\") >= 0 || url.indexOf(\".docx\") >= 0 || url.indexOf(\".DOC\") >= 0 || url.indexOf(\".DOCX\") >= 0) {\r\n return \"doc\";\r\n }\r\n else {\r\n return \"others\";\r\n }\r\n }\r\n }\r\n\r\n\r\n vm.Get360SkillSummary = function (teamid) {\r\n vm.userId = teamid;\r\n DashboardService.Get360SkillSummary(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.skillsetData = resp.data;\r\n for (var i = 0; i < vm.skillsetData.CertificateDetails.length; i++) {\r\n vm.CertimageServices(vm.skillsetData.CertificateDetails[i].TrainingCertificate, i);\r\n }\r\n\r\n if (vm.skillsetData.PreviousCompanyDetailsList) {\r\n for (var i = 0; i < vm.skillsetData.PreviousCompanyDetailsList.length; i++) {\r\n if (vm.getFileType(vm.skillsetData.PreviousCompanyDetailsList[i].ExperienceLetter) == 'image')\r\n vm.PreviousCompnyExperienceLetterServices(vm.skillsetData.PreviousCompanyDetailsList[i].ExperienceLetter, i);\r\n }\r\n }\r\n\r\n if (vm.skillsetData.UserTrainingList) {\r\n for (var i = 0; i < vm.skillsetData.UserTrainingList.length; i++) {\r\n if (vm.getFileType(vm.skillsetData.UserTrainingList[i].TrainingImage) == 'image')\r\n vm.TrainingImageServices(vm.skillsetData.UserTrainingList[i].TrainingImage, i);\r\n if (vm.getFileType(vm.skillsetData.UserTrainingList[i].TrainingAttendance) == 'image')\r\n vm.TrainingAttendanceServices(vm.skillsetData.UserTrainingList[i].TrainingAttendance, i);\r\n }\r\n\r\n }\r\n\r\n vm.ResetUserFilter();\r\n })\r\n }\r\n\r\n vm.GetReviewAndRatings = function (teamid) {\r\n vm.userId = teamid;\r\n DashboardService.GetReviewAndRatings(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.reviewData = resp.data;\r\n vm.teamdata.InstallationratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.InstallationService_Avrage));\r\n vm.teamdata.InstallationblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.InstallationService_Avrage));\r\n vm.teamdata.SafetyratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.SafetyProtocols_Avrage));\r\n vm.teamdata.SafetyblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.SafetyProtocols_Avrage));\r\n vm.teamdata.VisitratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.VisitonTime_Avrage));\r\n vm.teamdata.VisitblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.VisitonTime_Avrage));\r\n vm.teamdata.CourteousratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.CourteousRespectful_Avrage));\r\n vm.teamdata.CourteousblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.CourteousRespectful_Avrage));\r\n vm.teamdata.ProratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.ProfessionalAppearance_Avrage));\r\n vm.teamdata.ProblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.ProfessionalAppearance_Avrage));\r\n vm.teamdata.ServiceratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.ServiceExperience_Avrage));\r\n vm.teamdata.ServiceblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.ServiceExperience_Avrage));\r\n vm.ResetUserFilter();\r\n })\r\n }\r\n\r\n\r\n vm.Get360VendorTeamData = function (teamid) {\r\n vm.userId = teamid;\r\n DashboardService.Get360VendorTeamData(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.vendorteam = resp.data;\r\n })\r\n }\r\n\r\n\r\n vm.GetToolsAndAssets = function (teamid) {\r\n vm.userId = teamid;\r\n DashboardService.GetToolsAndAssets(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.assetData = resp.data;\r\n vm.ResetUserFilter();\r\n })\r\n }\r\n\r\n // api for onboarding \r\n\r\n vm.implementSelectItemsUsers = function (itemList, scope) {\r\n scope.selectAllUsers = false;\r\n scope.showMinusUsers = false;\r\n scope.selectRowUsers = function (i) {\r\n vm.toBeAssigned = [];\r\n scope.showMinusUsers = false;\r\n scope.selectAllUsers = false;\r\n angular.forEach(scope[itemList], function (d) {\r\n if (d.checked) {\r\n var myObject = { 'UserId': d.UserId,\r\n 'Skill': d.Skill };\r\n vm.toBeAssigned.push(myObject)\r\n scope.showMinusUsers = true;\r\n }\r\n\r\n });\r\n }\r\n scope.applyAllNewJobSelect = function () {\r\n angular.forEach(scope[itemList], function (d) {\r\n d.checked = scope.selectAllUsers;\r\n });\r\n }\r\n\r\n scope.resetAllSelect = function () {\r\n scope.selectAllUsers = false;\r\n scope.showMinusUsers = false;\r\n }\r\n }\r\n\r\n vm.implementSelectItemsUsers('InteractionList', this);\r\n\r\n\r\n vm.AssignTickets = function (userId) {\r\n if (vm.toBeAssigned == [] || vm.toBeAssigned == undefined || vm.toBeAssigned.length < 1) {\r\n vm.showFailure(\"Failed\", 'Please select atleast 1 user to assign');\r\n } else {\r\n vm.assignButtonDisable = true;\r\n SlotAllocationService.AssignSlotInteractionToUser(vm.toBeAssigned, userId, vm.InteractionType, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.showSuccess(\"Success\", \"Users assigned successfully\");\r\n $timeout(function () {\r\n vm.GetAllInteractions();\r\n vm.GetAllInteractionsDashboard();\r\n vm.toBeAssigned = [];\r\n vm.assignButtonDisable = false;\r\n }, 2000);\r\n\r\n } else {\r\n vm.showFailure(\"Failed\", \"User could not be assigned, server is not responding correctly.\");\r\n vm.assignButtonDisable = false;\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"User could not be assigned, server is not responding correctly.\");\r\n vm.assignButtonDisable = false;\r\n })\r\n }\r\n }\r\n\r\n // video popup Start\r\n\r\n\r\n vm.VideoUploadPopup = function (UserId, UserSkill) {\r\n vm.UserIdForVideo = UserId;\r\n vm.UserSkillForVideo = UserSkill;\r\n VideoModel = $uibModal.open({\r\n templateUrl: 'videoupload_model.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n }, function () {\r\n });\r\n \r\n }\r\n vm.file = [];\r\n $scope.uploadVideoFile = function(files){\r\n \r\n vm.FrontFileName=\"\";\r\n vm.FilesFrontDoc = files.files;\r\n vm.FrontFileName = vm.FilesFrontDoc[0].name; \r\n vm.file.push(vm.FilesFrontDoc);\t\r\n var allowedExtensions = /(\\.mp4|\\.mov|\\.avi|\\.webm|\\.m4v|\\.mov|\\.qt)$/i; \r\n if(!allowedExtensions.exec(vm.FrontFileName)){\r\n vm.FilesFrontDoc = [];\r\n vm.clear(); \r\n alert('Please upload file having extensions .mp4,.mov,.avi,.webm,.m4v,.mov,.qt only.');\r\n }\r\n }\r\n vm.clear = function () {\r\n angular.element(\"input[type='file']\").val(null);\r\n };\r\n\r\n $scope.stars = [1, 2, 3, 4, 5];\r\n $scope.skillrating = 0;\r\n\r\n $scope.setRating = function(rating) {\r\n $scope.skillrating = rating;\r\n };\r\n\r\n vm.UploadSMEVideo = function () {\r\n var Feedback = vm.FeedbackRemarks;\r\n var Rating = $scope.skillrating;\r\n vm.disableuploadbutton = true;\r\n SMEInteractionService.UploadSMEInteractionVideo(vm.UserIdForVideo,Rating, Feedback,vm.UserSkillForVideo,vm.FrontFileName, vm.FilesFrontDoc, token, loggedinUser).then(function (res) {\r\n if (res && res.status == 201) {\r\n vm.showSuccess(\"Success\", \"Video Uploaded Successfully.\");\r\n vm.VideoUploadPop();\r\n vm.disableuploadbutton = false;\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", \"Not Uploaded\");\r\n vm.VideoUploadPop();\r\n vm.disableuploadbutton = false;\r\n } else {\r\n vm.showFailure(\"Failed\");\r\n }\r\n });\r\n }\r\n vm.UploadBGVideo = function () {\r\n var Feedback = vm.FeedbackRemarks;\r\n var Rating = $scope.skillrating;\r\n vm.disableuploadbutton = true;\r\n OnBoardingFlowService.UploadBGInteractionVideo(vm.UserIdForVideo ,Rating, Feedback,vm.FrontFileName, vm.FilesFrontDoc, token, loggedinUser).then(function (res) {\r\n if (res && res.status == 201) {\r\n vm.showSuccess(\"Success\", \"Video Uploaded Successfully.\");\r\n vm.VideoUploadPop();\r\n vm.disableuploadbutton = false;\r\n } else if (res && res.data && res.data.Message) {\r\n vm.VideoUploadPop();\r\n vm.showFailure(\"Failed\", \"Not Uploaded\");\r\n vm.disableuploadbutton = false;\r\n } else {\r\n vm.showFailure(\"Failed\");\r\n }\r\n });\r\n }\r\n \r\n vm.VideoUploadPop = function () {\r\n VideoModel.close();\r\n $scope.skillrating = 0;\r\n vm.FeedbackRemarks = \"\";\r\n }\r\n\r\n\r\n $scope.totalTableUsersBG = 0;\r\n $scope.userSMETablePerPage = vm.userPageListCount;\r\n $scope.UserSMETablepagination = {\r\n current: 1\r\n };\r\n\r\n\r\n vm.changeUserSMEPageListCount = function () {\r\n $scope.userSMETablePerPage = vm.userPageListCount;\r\n PageSize = $scope.userSMETablePerPage;\r\n $scope.UserSMETablepageChanged($scope.UserSMETablepagination.current);\r\n }\r\n\r\n PageIndex = $scope.UserSMETablepagination.current;\r\n $scope.UserSMETablepageChanged = function (newPage) {\r\n PageIndex = newPage;\r\n vm.GetAllInteractions();\r\n };\r\n\r\n $scope.totalTableUsersBG = 0;\r\n $scope.userTablePerPage = vm.userPageListCount;\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n\r\n\r\n vm.changeUserPageListCount = function () {\r\n $scope.userTablePerPage = vm.userPageListCount;\r\n PageSize = $scope.userTablePerPage;\r\n $scope.UserTablepageChanged($scope.UserTablepagination.current);\r\n }\r\n\r\n PageIndex = $scope.UserTablepagination.current;\r\n $scope.UserTablepageChanged = function (newPage) {\r\n PageIndex = newPage;\r\n vm.GetAllInteractions();\r\n };\r\n\r\n\r\n vm.GetAllInteractions = function () {\r\n data = {\r\n \"Status\": vm.slotStatus,\r\n \"Skill\": vm.userskill == \"\" ? \"\" : vm.userskill.join(\"|\"),\r\n \"DateField\": vm.DateField,\r\n \"FromDate\": startDate,\r\n \"ToDate\": endDate,\r\n \"AssignedTo\": vm.AssignedTo == \"\" ? \"\" : vm.AssignedTo.join(\"|\"),\r\n \"InteractionType\": vm.InteractionType,\r\n \"PageIndex\": PageIndex,\r\n \"PageCount\": PageSize,\r\n \"State\": vm.State,\r\n \"City\": vm.City,\r\n \"SearchTag\" :vm.searchTag\r\n }\r\n SlotAllocationService.GetAllInteractions(data, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.InteractionList = resp.data.GetInteractionResModelList;\r\n $scope.totalTableUsersBG = resp.data.Count;\r\n if (vm.InteractionList.length < vm.userPageListCount)\r\n vm.bGVerifyListLength = $scope.totalTableUsersBG;\r\n else\r\n vm.bGVerifyListLength = PageIndex * vm.userPageListCount;\r\n if (PageIndex == 1)\r\n vm.pageindexCount = 1;\r\n else\r\n vm.pageindexCount = (((PageIndex - 1) * vm.userPageListCount) + 1);\r\n }\r\n\r\n })\r\n }\r\n\r\n vm.GetAllInteractionsDashboard = function () {\r\n data = {\r\n \"Status\": vm.slotStatus,\r\n \"Skill\": vm.userskill == \"\" ? \"\" : vm.userskill.join(\"|\"),\r\n \"DateField\": vm.DateField,\r\n \"FromDate\": startDate,\r\n \"ToDate\": endDate,\r\n \"AssignedTo\": vm.AssignedTo == \"\" ? \"\" : vm.AssignedTo.join(\"|\"),\r\n \"InteractionType\": vm.InteractionType,\r\n \"PageIndex\": PageIndex,\r\n \"PageCount\": PageSize,\r\n \"State\": vm.State,\r\n \"City\": vm.City\r\n }\r\n SlotAllocationService.GetAllInteractionsDashboard(data, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.TotalSlots = resp.data.TotalSlots;\r\n vm.AssignedSlots = resp.data.AssignedSlots;\r\n vm.PendingSlots = resp.data.PendingSlots;\r\n vm.CompletedSlots = resp.data.CompletedSlots;\r\n vm.BreachedSlots = resp.data.BreachedSlots;\r\n }\r\n\r\n })\r\n }\r\n\r\n vm.GetAllInteractions();\r\n vm.GetAllInteractionsDashboard();\r\n\r\n vm.GetReportingToMeUsers = function () {\r\n SlotAllocationService.GetReportingToMeUsers(loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.UserByFiltersList = resp.data;\r\n }\r\n }, function () {\r\n });\r\n\r\n }\r\n\r\n vm.GetReportingToMeUsers();\r\n\r\n\r\n vm.ProfileEditView = function (userId) {\r\n // $localStorage.backToOldJobList = 'ManualAssignationTeamAssign';\r\n $state.go('index.RegistrationForm', {\r\n UserId: userId\r\n })\r\n }\r\n\r\n vm.getAllUsersByType = function (value) {\r\n $scope.totalTableUsersBG = 0;\r\n if (value == 'BGVerify') {\r\n vm.InteractionType = 'BGVerify'\r\n }\r\n if (value == 'SMEInteration') {\r\n vm.InteractionType = 'SMEInteration'\r\n }\r\n vm.slotStatus = '';\r\n $scope.UserTablepagination = {};\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n $scope.UserSMETablepagination = {};\r\n $scope.UserSMETablepagination = {\r\n current: 1\r\n };\r\n $scope.showCalendar = false;\r\n vm.GetAllInteractions();\r\n vm.GetAllInteractionsDashboard();\r\n\r\n }\r\n\r\n vm.getAllSlotsByStatus = function (status) {\r\n vm.slotStatus = status;\r\n PageIndex = 1;\r\n vm.GetAllInteractions();\r\n }\r\n\r\n vm.GetAvailableSlots = function (slotDate) {\r\n vm.slotDate = slotDate\r\n SlotAllocationService.GetAvailableSlots(vm.slotDate, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.AvailableSlots = resp.data.objAvailableSlotModelList;\r\n if(vm.AvailableSlots.length != 0){\r\n $scope.showBookingTab = true;\r\n }\r\n else{\r\n $scope.showBookingTab = false;\r\n }\r\n $scope.selectedTimeSlot = vm.AvailableSlots[0];\r\n }\r\n })\r\n }\r\n vm.SlotId = '';\r\n vm.disableBookingButton = false;\r\n vm.BookSlotForBGVerification = function () {\r\n vm.disableBookingButton = true;\r\n SlotAllocationService.BookSlotForBGVerification(vm.slotBookingUserId,vm.slotDate, vm.SlotId, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n $scope.toggleCalendar();\r\n vm.showSuccess(\"Success\", resp.data.Message);\r\n $timeout(function () {\r\n vm.GetAllInteractions();\r\n vm.GetAllInteractionsDashboard();\r\n }, 2000);\r\n vm.disableBookingButton = false;\r\n }\r\n else {\r\n vm.disableBookingButton = false;\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n \r\n }\r\n })\r\n }\r\n\r\n vm.BookSlotForSMEInterationWeb = function () {\r\n vm.disableBookingButton = true;\r\n SlotAllocationService.BookSlotForSMEInterationWeb(vm.slotBookingUserId,vm.slotDate, vm.SlotId, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n $scope.toggleCalendar();\r\n vm.showSuccess(\"Success\", resp.data.Message);\r\n $timeout(function () {\r\n vm.GetAllInteractions();\r\n vm.GetAllInteractionsDashboard();\r\n }, 2000);\r\n vm.disableBookingButton = false;\r\n }\r\n else {\r\n vm.disableBookingButton = false;\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }\r\n })\r\n }\r\n\r\n }\r\n});\r\n\r\nangular.module('inspinia').filter('searchUser', function () {\r\n return function (items, search) {\r\n var filtered = [];\r\n if (search) {\r\n angular.forEach(items, function (item) {\r\n var searchstr = new RegExp(search, \"i\");\r\n if (item.id.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.User_Type.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.city.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.contactnumber.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.name.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.role.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.state.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n });\r\n } else {\r\n filtered = items;\r\n }\r\n return filtered;\r\n }\r\n})\nangular.module('inspinia').service('VendorTeamCreateService', function (ApiURL,FreelancerURL, LocationURL,PublicApiURL, $log, $http,$localStorage) {\r\n\r\n\r\nthis.InviteTeamForRegistration = function (loggedInUser, token,ContactNo,Name) {\r\n var url = FreelancerURL + '/api/FreelancerVendor/InviteTeamForRegistration?ContactNumber='+ ContactNo+ '&Name='+ Name;\r\n return $http.put(url,null,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n}\r\n\r\nthis.GetInvitedTeamForRegistration = function (loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreelancerVendor/GetInvitedTeamForRegistration';\r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n}\r\n \r\n});\r\n\nangular.module('inspinia').controller('VendorTeamCreateController', function (VendorTeamCreateService, ProjectCreationService, ReferService, MainService, $state, $scope, $timeout, $stateParams,$uibModal, $filter, $log, $localStorage, TeamProfileService, ImageUrl) {\r\n var vm = this;\r\n vm.isDisabled = false;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n if ($localStorage.accountConfig) {\r\n if ($localStorage.accountConfig) {\r\n vm.EnableRegion = $localStorage.accountConfig.EnableRegion;\r\n }\r\n } else {\r\n vm.EnableRegion = false;\r\n }\r\n\r\n if (!loggedinUser) {\r\n\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n\r\n vm.loggedinUserRole = $localStorage.loggedInUser_Role;\r\n var userId_ForUpdate = $stateParams.userId;\r\n vm.saveAndNewFlag = false;\r\n vm.editMode = false;\r\n vm.address_option = 'Yes';\r\n vm.officeFormValidation = false;\r\n vm.isCollapsed = false;\r\n vm.isUserDetailCollapsed = false;\r\n vm.isOfficeUseCollapsed = true;\r\n vm.showAction = true;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n var today = new Date();\r\n var date = today.getFullYear() - 18;\r\n var age = (today.getMonth() + 1 + \"/\" + today.getDate() + \"/\" + date).toString();\r\n vm.client = 1;\r\n vm.tab = 1;\r\n vm.maxDOB = new Date(age);\r\n vm.maxDOBStr = vm.maxDOB.toDateString();\r\n age = Date.parse(age);\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\r\n vm.UserName = '';\r\n vm.ContactNo = '';\r\n\r\n vm.AddTeamMemberModel = function () {\r\n vm.teammemberadd = $uibModal.open({\r\n templateUrl: 'Addteam.html',\r\n size: 'lg',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n\r\n vm.CloseAddTeamMemberModel = function () {\r\n vm.teammemberadd.close();\r\n }\r\n vm.selectedPart = function (inventoryData) {\r\n\t\t\tvm.sideViewData = inventoryData;\r\n\t\t\t\r\n\t\t}\r\n vm.ProfileView = function (userid) {\r\n $state.go('index.TeamProfile', {\r\n userId: userid\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.InviteTeamForRegistration = function () {\r\n vm.AddTeam_form.submitted = true;\r\n if (vm.AddTeam_form.$valid) {\r\n VendorTeamCreateService.InviteTeamForRegistration(loggedinUser, token, vm.ContactNo, vm.UserName).then(function (resp) {\r\n vm.invitedteamlist = resp.data;\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Invite Sent Successfully\");\r\n setTimeout(function () {\r\n\t\t\t\t\t\tvm.CloseAddTeamMemberModel();\r\n\t\t\t\t\t}, 2000);\r\n vm.GetInvitedTeamForRegistration();\r\n }\r\n else{\r\n vm.showFailure(\"Failed\",resp.data.Message);\r\n }\r\n })\r\n }\r\n }\r\n vm.GetInvitedTeamForRegistration = function () {\r\n VendorTeamCreateService.GetInvitedTeamForRegistration(loggedinUser, token).then(function (resp) {\r\n if (resp.data && resp.status == 200) {\r\n vm.InvitedTeamExploreList = resp.data;\r\n vm.sideViewData = vm.InvitedTeamExploreList[0];\r\n }\r\n }, vm.showFailure);\r\n }\r\n vm.GetInvitedTeamForRegistration();\r\n\r\n }\r\n});\r\n\nangular.module('inspinia').service('VendorTeamCreationService', function (ApiURL,FreelancerURL, LocationURL,PublicApiURL, $log, $http,$localStorage) {\r\n\r\n\r\n\tthis.InviteTeamForRegistration = function (loggedInUser, token,ContactNo,Name) {\r\n\t var url = FreelancerURL + '/api/FreelancerVendor/InviteTeamForRegistration?ContactNumber='+ ContactNo+ '&Name='+ Name;\r\n\t return $http.put(url,null,{\r\n\t\theaders:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n\t })\r\n\t}\r\n\t\r\n\tthis.GetInvitedTeamForRegistration = function (loggedinUser, token) {\r\n\t var url = FreelancerURL + '/api/FreelancerVendor/GetInvitedTeamForRegistration';\r\n\t return $http.get(url, {\r\n\t\theaders: { 'Token': token, 'UserId': loggedinUser }\r\n\t });\r\n\t}\r\n\t//testaz.mymobiforce.com/coreAPI/api/User/ActivateVendorTeam?userId=F0000090900\r\n\r\n\tthis.ActivateVendorTeam = function (userIdtoUpdate, loggedInUser, token) {\r\n\t\tvar url = ApiURL + '/api/User/ActivateVendorTeam?userId='+ userIdtoUpdate;\r\n\t\treturn $http.put(url,null,{\r\n\t\t headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n\t\t})\r\n\t }\r\n\t \r\n\t});\nangular.module('inspinia').controller('VendorTeamCreationController', function (teamCardService,VendorTeamCreationService, $timeout, MainService, $rootScope, DTColumnBuilder, $compile, $q, ProjectCreationService, $scope, TeamProfileService, $stateParams, $uibModal, $localStorage, $log, $state, DTOptionsBuilder, PlanningResourseMapService, DashboardService, DTColumnDefBuilder, ImageUrl) {\r\n var vm = this;\r\n var userId = $stateParams.userId;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n $rootScope.rootScopeMessage = '';\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n } else {\r\n vm.users = [];\r\n vm.FilterSwitch = false;\r\n vm.client = 1;\r\n vm.tab = 1;\r\n vm.skill = '';\r\n vm.workArea = '';\r\n var skillsArray;\r\n var circleArray;\r\n var ProjectModal = {};\r\n var userIndex = 0;\r\n vm.filteredProperties = {};\r\n vm.selectAll = false;\r\n vm.showMinus = false;\r\n vm.searchText = \"\";\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.dtInstance = {};\r\n var witemNames = \"\";\r\n var witemValues = \"\";\r\n var wsSDate = '';\r\n var wsEDate = '';\r\n var uPageIndex = 1;\r\n var uwPageIndex = 1;\r\n var uPageSize = 10;\r\n var uwPageSize = 10;\r\n vm.userPageListCount= 10;\r\n vm.pageListCounts = [10, 20, 30, 50];\r\n\r\n vm.imageServices = function (img) {\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n if (resp.data == null || resp.data == '') {\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n }\r\n else {\r\n vm.profileImg = resp.data;\r\n }\r\n console.log(vm.profileImg);\r\n }, function () {\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n vm.exportData = function () {\r\n var blob = new Blob([document.getElementById('tab-1').innerHTML], {\r\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\r\n });\r\n saveAs(blob, \"Report.xls\");\r\n };\r\n\r\n vm.preProcessUsers = function (user) {\r\n user.ratingStars = vm.getRatingStars(user.CustomerRating);\r\n user.blankStars = vm.getBlankStars(user.CustomerRating);\r\n user.displayName = user.FirstName + \" \" + user.LastName;\r\n // user.displayName = user.displayName.length>8?(user.displayName.substring(0, 8)+\"...\"):user.displayName;\r\n var locs = \"\";\r\n angular.forEach(user.Locations, function (l) {\r\n locs += l + \",\";\r\n });\r\n user.allLocations = locs.length > 0 ? locs.substring(0, locs.length - 1) : \"\";\r\n var skills = \"\";\r\n angular.forEach(user.SkillSet, function (s) {\r\n skills += s + \",\";\r\n });\r\n user.allSkills = skills.length > 0 ? skills.substring(0, skills.length - 1) : \"\";\r\n var workareas = \"\";\r\n angular.forEach(user.Locations, function (w) {\r\n workareas += w + \",\";\r\n });\r\n user.allWorkareas = workareas.length > 0 ? workareas.substring(0, workareas.length - 1) : \"\";\r\n }\r\n\r\n vm.getAllUser = function () {\r\n teamCardService.getAllUserByReportingPerson(loggedinUser, token).then(function (resp) {\r\n vm.users = resp.data;\r\n vm.imageServices(vm.users.Picture);\r\n // angular.forEach(vm.users, function (d) {\r\n // vm.preProcessUsers(d);\r\n // });\r\n // if (vm.users.length == 0) {\r\n // vm.client = 1;\r\n // } else {\r\n // vm.client = 3;\r\n // vm.userInfo = vm.users[userIndex];\r\n // }\r\n }, function () {\r\n //$log.log('not working');\r\n })\r\n }\r\n\r\n vm.getUserInfo = function (userId, loggedinUser) {\r\n TeamProfileService.getFixedUserInfo(userId, loggedinUser, token).then(function (resp) {\r\n vm.userInfo = resp.data;\r\n vm.imageServices(vm.userInfo.Picture);\r\n vm.preProcessUsers(vm.userInfo);\r\n }, function () {\r\n //$log.log('not working');\r\n });\r\n }\r\n\r\n vm.getAllSkills = function () {\r\n TeamProfileService.getAllSkills().then(function (resp) {\r\n vm.skills = resp.data;\r\n for (var index = 0; index < vm.skills.length; index++) {\r\n skillsArray.push({\r\n skill: vm.skills.SkillName\r\n });\r\n }\r\n }, function () {\r\n //$log.log('not working');\r\n });\r\n }\r\n\r\n vm.getAllCircles = function (loggedinUser) {\r\n ProjectCreationService.GetAllCircles(loggedinUser).then(function (resp) {\r\n vm.circles = resp.data;\r\n for (var index = 0; index < vm.circles.length; index++) {\r\n circleArray.push({\r\n workArea: vm.circles.circle\r\n });\r\n }\r\n }, function () {\r\n //$log.log('not working');\r\n });\r\n }\r\n\r\n vm.AddTeamMember = function () {\r\n $state.go('index.TeamCreate', {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.ProfileView = function (userid) {\r\n $state.go('index.TeamProfile', {\r\n userId: userid\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.ProfileData = function (userData) {\r\n vm.userInfo = userData\r\n vm.client = 3;\r\n }\r\n\r\n // vm.ProfileData = function (userId) {\r\n // vm.getUserInfo(userId, loggedinUser);\r\n // vm.client = 3;\r\n // }\r\n\r\n vm.filtermodal = function () {\r\n ProjectModal = $uibModal.open({\r\n templateUrl: 'Filter.html',\r\n backdrop: 'static',\r\n\r\n scope: $scope\r\n });\r\n }\r\n\r\n\r\n vm.CloseModal = function () {\r\n ProjectModal.close();\r\n }\r\n $scope.selectedOption = '';\r\n vm.LunchSchedule = function () {\r\n UpdateLunch = $uibModal.open({\r\n templateUrl: 'LunchPopup.html',\r\n backdrop: 'static',\r\n\r\n scope: $scope\r\n });\r\n }\r\n vm.closeUpdateLunch = function () {\r\n UpdateLunch.close();\r\n }\r\n\r\n vm.editTeamMember = function (userName) {\r\n $state.go('index.TeamEdit', {\r\n userId: userName\r\n });\r\n }\r\n vm.hideoverlay = function () {\r\n $scope.myvalue = false;\r\n $scope.userClass_status = true;\r\n }\r\n $scope.userClass_status = true;\r\n vm.userSingle = function () {\r\n $scope.userClass_status = !$scope.userClass_status;\r\n $scope.myvalue = true;\r\n };\r\n $scope.close360View = function () {\r\n $scope.userClass_status = true;\r\n $scope.myvalue = false;\r\n }\r\n\r\n vm.Get360TeamProfileData = function (userId) {\r\n vm.userId = userId;\r\n DashboardService.Get360ProfileData(loggedinUser, userId, token).then(function (resp) {\r\n if (resp.data) {\r\n vm.userSingle();\r\n $scope.myvalue = false;\r\n }\r\n vm.teamdata = resp.data;\r\n vm.AvgRating = vm.teamdata.userProfile.AverageRating;\r\n vm.ReviewsList = vm.teamdata.userProfile.Reviews\r\n vm.teamdata.ratingStars = vm.getRatingStars(Math.round(vm.teamdata.userProfile.Ratings.TechnicianRating));\r\n vm.teamdata.blankStars = vm.getBlankStars(Math.round(vm.teamdata.userProfile.Ratings.TechnicianRating));\r\n vm.teamdata.avgratingStars = vm.getAvgRatingStars(Math.round(vm.teamdata.userProfile.AverageRating.AverageRating));\r\n vm.teamdata.avgblankStars = vm.getAvgBlankStars(Math.round(vm.teamdata.userProfile.AverageRating.AverageRating));\r\n if (vm.teamdata.userProfile.ContactNumber) {\r\n vm.teamdata.userProfile.ContactNumber = vm.teamdata.userProfile.ContactNumber.replace(/\\d(?=\\d{4})/g, '*');\r\n }\r\n\r\n if (vm.teamdata.userProfile.Reviews) {\r\n vm.teamdata.userProfile.Reviews.forEach(function (element, i) {\r\n vm.teamdata.userratingStars = vm.getUserRatingStars(Math.round(vm.teamdata.userProfile.Reviews[i].Average));\r\n vm.teamdata.userblankStars = vm.getUserBlankStars(Math.round(vm.teamdata.userProfile.Reviews[i].Average));\r\n element.arrayRating = vm.teamdata.userratingStars;\r\n element.blankRating = vm.teamdata.userblankStars;\r\n });\r\n }\r\n\r\n vm.TechnicianRating = Number(vm.teamdata.userProfile.Ratings.TechnicianRating).toFixed(1);\r\n $timeout(function () {\r\n displayTotals();\r\n }, 300);\r\n }, function () {\r\n })\r\n }\r\n \r\n vm.Get360TeamView = function(teamid){\r\n $state.go('index.Technician360view',{\r\n userId: teamid\r\n }, { reload: true });\r\n }\r\n\r\n\r\n $scope.totalWS = 0;\r\n $scope.wsPerPage = vm.userPageListCount;\r\n $scope.Userpagination = {\r\n current: 1\r\n };\r\n\r\n //left show page 10 20 30\r\n vm.changeUserPageListCount = function(userId) {\r\n $scope.wsPerPage = vm.userPageListCount;\r\n uPageSize = $scope.wsPerPage;\r\n $scope.WSTablePageChanged($scope.Userpagination.current);\r\n\r\n uPageIndex=$scope.Userpagination.current;\r\n $scope.WSTablePageChanged = function(newPage) { \r\n uPageIndex = newPage;\r\n vm.wsersFilterArray(); \r\n vm.Get360WorkSummary(loggedinUser, token,userId, witemNames, witemValues, uPageIndex, uPageSize,wsSDate,wsEDate,vm.OrderBy,vm.sorttype);\r\n\r\n };\r\n }\r\n\r\n uPageIndex=$scope.Userpagination.current;\r\n $scope.WSTablePageChanged = function(newPage) { \r\n uPageIndex = newPage;\r\n if(witemNames != 'Search')\r\n {\r\n vm.wsersFilterArray();\r\n }\r\n\r\n vm.Get360WorkSummary(loggedinUser, token,vm.userId, witemNames, witemValues, uPageIndex, uPageSize, wsSDate,wsEDate,vm.OrderBy,vm.sorttype);\r\n\r\n };\r\n\r\n\r\n vm.wsersFilterArray = function()\r\n {\r\n witemNames=\"\";\r\n witemValues=\"\";\r\n\r\n if (vm.searchStatusText != \"\" && vm.searchStatusText != \"All\" && vm.searchStatusText != null){\r\n if(itemNames.length > 0 && itemValues.length > 0){\r\n itemNames = itemNames + ',Status';\r\n itemValues = itemValues + ',' + vm.searchStatusText;\r\n }else{\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText;\r\n } \r\n }\r\n if (vm.userNameSearch) { \r\n if(witemNames) \r\n {\r\n witemNames = witemNames + ',Search';\r\n witemValues = witemValues + \",\" + vm.userNameSearch;\r\n }\r\n else\r\n {\r\n witemNames = 'Search';\r\n witemValues = vm.userNameSearch;\r\n } \r\n }\r\n\r\n if(vm.JobcountbyStatus)\r\n {\r\n if(witemNames) \r\n {\r\n witemNames = witemNames + ',Status';\r\n witemValues = witemValues + \",\" + vm.JobcountbyStatus;\r\n }\r\n else\r\n {\r\n witemNames = 'Status';\r\n witemValues = vm.JobcountbyStatus;\r\n }\r\n }\r\n\r\n }\r\n\r\n vm.Get360WorkSummary = function () {\r\n DashboardService.Get360WorkSummary(loggedinUser, token, vm.userId, witemNames, witemValues, uPageIndex, uPageSize, wsSDate, wsEDate, vm.OrderBy, vm.sorttype).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.statusCount = resp.data;\r\n vm.wsTicketList = resp.data.workSummaryData;\r\n $scope.totalWS = resp.data.WorkSummaryTotalCount;\r\n if (vm.wsTicketList.length < vm.userPageListCount)\r\n vm.wsListLength = $scope.totalWS;\r\n else\r\n vm.wsListLength = uPageIndex * vm.userPageListCount;\r\n if (uPageIndex == 1)\r\n vm.wspageindexCount = 1;\r\n else\r\n vm.wspageindexCount = (((uPageIndex - 1) * vm.userPageListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n }\r\n vm.RedirectToConfiguration = function () {\r\n $state.go('index.CalendarManagement', { reload: true });\r\n }\r\n \r\n vm.Get360SkillSummary = function () {\r\n DashboardService.Get360SkillSummary(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.skillsetData = resp.data;\r\n for(var i=0;ilTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withOption('createdRow', createdRow)\r\n .withOption('rowCallback', rowCallback);\r\n }\r\n }, 2000);\r\n }\r\n })\r\n }\r\n\r\n\r\n\r\n // for deattach the user from account\r\n vm.DetachUser = function (UserId) {\r\n teamCardService.updateDetachStatus(loggedinUser, UserId, token).then(function (resp) {\r\n if (resp && resp.status == 202) {\r\n vm.showSuccess('Success', \"User released from account Successfully\");\r\n $timeout(function () {\r\n window.location.reload(true);\r\n });\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }\r\n });\r\n\r\n }\r\n\r\n vm.search = function () {\r\n if (vm.Name == true) {\r\n if (angular.isDefined(vm.teamMember_name)) {\r\n vm.filteredProperties.FirstName = vm.teamMember_name;\r\n }\r\n\r\n } if (vm.ProjectCheckBox == true) {\r\n if (angular.isDefined(vm.Project)) {\r\n vm.filteredProperties.Project = vm.Project;\r\n }\r\n // } if (vm.StarCheckBox == true) {\r\n // if(angular.isDefined(vm.Star)) {\r\n // vm.filteredProperties.CustomerRating=vm.Star;\r\n // }\r\n } if (vm.skillCheckBox == true) {\r\n if (angular.isDefined(vm.skill)) {\r\n vm.filteredProperties.SkillSet = vm.skill[0];\r\n }\r\n } if (vm.Capture == true) {\r\n if (angular.isDefined(vm.workArea)) {\r\n vm.filteredProperties.Locations = vm.workArea[0];\r\n }\r\n } if (vm.statusCheckBox == true) {\r\n if (angular.isDefined(vm.status)) {\r\n vm.filteredProperties.status = vm.status;\r\n }\r\n }\r\n ProjectModal.close();\r\n }\r\n\r\n // vm.getAllUser(userId, loggedinUser);\r\n\r\n // vm.getAllCircles(loggedinUser); \r\n\r\n vm.searchTable = function () {\r\n vm.dtInstance.DataTable.search(vm.searchText);\r\n vm.dtInstance.DataTable.search(vm.searchText).draw();\r\n };\r\n\r\n vm.getRatingStars = function (rating) {\r\n var stars = [];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.push(i);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n vm.getBlankStars = function (rating) {\r\n var stars = [1, 2, 3, 4, 5];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.splice(stars.indexOf(i), 1);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n vm.openTeamProfile = function (userId) {\r\n $state.go('index.TeamProfile', {\r\n userId: userId\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.dtOptions = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n VendorTeamCreationService.GetInvitedTeamForRegistration(loggedinUser, token).then(function (resp) {\r\n vm.teamLists = resp.data;\r\n angular.forEach(vm.teamLists, function (d) {\r\n vm.preProcessUsers(d);\r\n });\r\n if (!vm.teamLists.length) {\r\n vm.client = 1;\r\n } else {\r\n vm.client = 3;\r\n vm.userInfo = vm.teamLists[userIndex];\r\n vm.ProfileData(vm.teamLists[userIndex]);\r\n }\r\n\r\n defer.resolve(vm.teamLists);\r\n })\r\n return defer.promise;\r\n\r\n })\r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withOption('createdRow', createdRow)\r\n // .withScroller()\r\n // .withOption('deferRender', true)\r\n // .withOption('scrollY', 350)\r\n // .withOption('paging', false)\r\n .withOption('rowCallback', rowCallback);\r\n\r\n function createdRow(row, data, dataIndex) {\r\n // Recompiling so we can bind Angular directive to the DT\r\n $compile(angular.element(row).contents())($scope);\r\n }\r\n\r\n function rowCallback(nRow, aData, iDisplayIndex, iDisplayIndexFull) {\r\n $('td', nRow).unbind('click');\r\n $('td', nRow).bind('click', function () {\r\n $scope.$apply(function () {\r\n vm.ProfileData(aData);\r\n });\r\n });\r\n return nRow;\r\n }\r\n vm.dtColumns = [\r\n DTColumnBuilder.newColumn(null).withTitle('UserId').renderWith(function (data, type, full, meta) {\r\n return '';\r\n }),\r\n DTColumnBuilder.newColumn(null).withTitle('Name').renderWith(function (data, type, full, meta) {\r\n var address = '';\r\n if (data.Picture == null) {\r\n address = \"assets/images/patterns/photo1.png\";\r\n } else {\r\n MainService.GetImageBlob(loggedinUser, token, data.Picture).then(function (resp) {\r\n address = resp.data;\r\n });\r\n }\r\n return '' + data.ContactName + '';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn('ContactNumber').withTitle('Phone Number').notSortable(),\r\n DTColumnBuilder.newColumn('Role').withTitle('Role').notSortable(),\r\n DTColumnBuilder.newColumn('Status').withTitle('Status').notSortable().renderWith(function(data, type, full, meta) {\r\n return '' + data + '';\r\n })\r\n ];\r\n \r\n $scope.getStatusClass = function(status) {\r\n if (status === 'Inactive') {\r\n return 'label label-danger rejectedcolor';\r\n } else if (status === 'Invited') {\r\n return 'label label-success';\r\n } else if (status === 'Active') {\r\n return 'label label-primary';\r\n } else if (status === '') {\r\n return 'label label-danger broadcastcolor';\r\n }\r\n return '';\r\n};\r\n // vm.dtOptions = DTOptionsBuilder.newOptions().withDOM(\r\n // '<\"html5buttons\"B>lTfgitp')\r\n // .withButtons([]).withPaginationType(\r\n // 'full_numbers').withOption('lengthChange', false)\r\n // .withOption('initComplete', function () {\r\n // $('.dataTables_filter input').unbind();\r\n // })\r\n // .withOption('order', [1, 'asc']);\r\n\r\n // vm.dtColumnDefs = [\r\n // DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n // // DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(2).notSortable().withClass('td-small-with-panel'),\r\n // DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(7).notSortable()];\r\n\r\n vm.getProfilePic = function (profilePicName) {\r\n return profilePicName ? ImageUrl + \"/\" + profilePicName : null;\r\n }\r\n\r\n vm.UserName = '';\r\n vm.ContactNo = '';\r\n\r\n vm.AddTeamMemberModel = function () {\r\n vm.teammemberadd = $uibModal.open({\r\n templateUrl: 'Addteam.html',\r\n size: 'md',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n\r\n vm.CloseAddTeamMemberModel = function () {\r\n vm.UserName = '';\r\n vm.ContactNo = '';\r\n vm.teammemberadd.close();\r\n }\r\n\r\n vm.selectedPart = function (inventoryData) {\r\n\t\t\tvm.sideViewData = inventoryData;\r\n\t\t\t\r\n\t\t}\r\n vm.ProfileView = function (userid) {\r\n $state.go('index.TeamProfile', {\r\n userId: userid\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.InviteTeamForRegistration = function () {\r\n vm.AddTeam_form.submitted = true;\r\n if (vm.AddTeam_form.$valid) {\r\n VendorTeamCreationService.InviteTeamForRegistration(loggedinUser, token, vm.ContactNo, vm.UserName).then(function (resp) {\r\n vm.invitedteamlist = resp.data;\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Invite Sent Successfully\");\r\n setTimeout(function () {\r\n vm.CloseAddTeamMemberModel();\r\n }, 2000);\r\n \r\n $timeout(function () {\r\n if (vm.dtInstance && vm.dtInstance.reloadData) {\r\n vm.dtInstance.reloadData();\r\n } else {\r\n vm.dtOptions = DTOptionsBuilder.fromFnPromise(function () {\r\n return vm.GetInvitedTeamForRegistration();\r\n }).withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withOption('createdRow', createdRow)\r\n .withOption('rowCallback', rowCallback);\r\n \r\n // Recreate the DataTable instance\r\n vm.dtInstance = vm.dtOptions.DataTable;\r\n \r\n // Trigger Angular digest cycle\r\n $scope.$applyAsync();\r\n }\r\n }, 2000);\r\n } else {\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }\r\n });\r\n }\r\n };\r\n // vm.GetInvitedTeamForRegistration = function () {\r\n // VendorTeamCreationService.GetInvitedTeamForRegistration(loggedinUser, token).then(function (resp) {\r\n // if (resp.data && resp.status == 200) {\r\n // vm.InvitedTeamExploreList = resp.data;\r\n // vm.sideViewData = vm.InvitedTeamExploreList[0];\r\n // }\r\n // }, vm.showFailure);\r\n // }\r\n // vm.GetInvitedTeamForRegistration();\r\n\r\n }\r\n});\nangular.module('inspinia').service('NewVendorProfileService', function (ApiURL,FreelancerURL, LocationURL, $log, $http, $localStorage) {\r\n \r\n\t //http://localhost:56749/api/Vendor/kanika.bansal%40innotiontech.com/V0000000001/getvendorbyid\r\n\tthis.GetVendorById = function(loggedInUser,vendorId, token){\r\n\t var url = ApiURL + '/api/Vendor/' + loggedInUser + '/' + vendorId + '/getFreelancervendorbyid';\r\n\t return $http.get(url,{\r\n\t headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n\t })\r\n\t}\r\n\r\n \r\n\t//https://perf.mymobiforce.com/freelancerapi/api/FreelancerVendor/getvendorteam?reqUserId=F00000000000&VendorId=V00000000143\r\n\tthis.GetVendorTeam = function(loggedInUser,vendorId, token){\r\n\t\tvar url = FreelancerURL + '/api/FreelancerVendor/getvendorteam?reqUserId=' + loggedInUser + '&VendorId=' + vendorId;\r\n\t\treturn $http.get(url,{\r\n\t\t headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n\t\t})\r\n\t }\r\n\t this.BlockedVendor = function(loggedinUser, vendorId, status, token){\r\n\t\tvar url = FreelancerURL + '/api/FreelancerVendor/Block/' + loggedinUser + '/'+ vendorId +'/'+status;\r\n\t\treturn $http.put(url, null, {\r\n\t\t headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n\t\t});\r\n\t }\r\n\t this.PreferredSingleVendor = function(loggedinUser, vendorId, status, token){\r\n\t\tvar url = FreelancerURL + '/api/FreelancerVendor/Favorite/' + loggedinUser + '/'+ vendorId +'/'+status;\r\n\t\treturn $http.put(url, null, {\r\n\t\t headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n\t\t});\r\n\t }\r\n\r\n\t// this.GetTicketsByVendor = function(loggedInUser,vendorId,itemName,itemValue,token){\r\n\t// \tvar url = ApiURL + '/api/Ticket/' + loggedInUser + '/' + vendorId + '/' + itemName + '/' + itemValue+'/getticketsbyvendor';\r\n\t// \treturn $http.get(url,{\r\n\t// \t headers:{'Content-Type' : 'application/json','Token':token}\r\n\t// \t})\r\n\t// }\r\n\r\n\t //https://perf.mymobiforce.com/freelancerapi/api/FreeLancerTicket/byVendorId?reqUserId=F00000000000&VendorId=V00000000119\r\n\t this.GetTicketsByVendor = function(loggedInUser,vendorId,token){\r\n\t\tvar url = FreelancerURL + '/api/FreeLancerTicket/byVendorId?reqUserId=' + loggedInUser + '&VendorId=' + vendorId;\r\n\t\treturn $http.get(url,{\r\n\t\t headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n\t\t})\r\n\t }\r\n\t this.UserAgreement=function(loggedinUser, userId, token){\r\n\t\tvar url =ApiURL + \"/api/User/GetEULAByUserId?reqUserId=\" +loggedinUser+\"&userId=\"+userId;\r\n\t\treturn $http.get(url, {\r\n\t\t headers: {\r\n\t\t\t'Content-Type': 'application/json',\r\n\t\t\t'Token': token, 'UserId':loggedinUser\r\n\t\t }\r\n\t\t});\r\n\t }\r\n\t this.GetUserId = function(loggedInUser,userId, token){\r\n\t\tvar url = FreelancerURL + '/api/FreeLancerUser/' + userId +'/'+ loggedInUser+ '/'+ 'byUserIdWithJobCount' ;\r\n\t\treturn $http.get(url,{\r\n\t\t headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n\t\t})\r\n\t }\r\n\t this.getFreelancerHistory = function (loggedinUser,userId, token) {debugger\r\n\t\tvar url = FreelancerURL + \"/api/FreelancerRecharge/\" + userId + \"/getrechargehistorybyself?StartDate=&EndDate=\";\r\n\t\treturn $http.get(url, {\r\n\t\t headers: {\r\n\t\t\t'Content-Type': 'application/json',\r\n\t\t\t'Token':token,\r\n \t 'UserId':loggedinUser\r\n\t\t }\r\n\t\t});\r\n\t }\r\n\t //https://product.mymobiforce.com/coreapi/api/Report/GeneratePdfSelfDeclaration?userId=F00000001208\r\n this.GeneratePdfSelfDeclaration = function(loggedinUser, userId, token){\r\n var url = ApiURL + '/api/Report/GeneratePdfSelfDeclaration?userId=' + userId;\r\n return $http.get(url,{\r\n headers:{'Content-Type': 'application/json','Token':token, 'UserId':loggedinUser}\r\n })\r\n }\r\n\r\nthis.GeneratePdfVerificationReport = function(loggedinUser, userId, token){\r\n var url = ApiURL + '/api/Report/GeneratePdfVerificationReport?userId=' + userId;\r\n return $http.get(url,{\r\n headers:{'Content-Type': 'application/json','Token':token, 'UserId':loggedinUser}\r\n })\r\n }\r\n});\r\n\r\n//https://perf.mymobiforce.com/freelancerapi/api/FreelancerVendor/F000000000/getallvendors\nangular.module('inspinia').controller('NewVendorProfileController', function (NewVendorProfileService,MainService,ActiveUserService, ImageUrl, $log, $state, $window, $localStorage, $stateParams, $uibModal, $scope, DTOptionsBuilder, DTColumnDefBuilder, toaster, $rootScope,$timeout) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n //var loggedinUser = 'F00000000000';\r\n var token = $localStorage.token;\r\n vm.loggedInUser_Role=$localStorage.loggedInUser_Role;\r\n vm.showSuccess = $scope.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.main.showFailure;\r\n vm.NokiaTableHeaderChange = $localStorage.accountConfig.NokiaTableHeaderChange;\r\n if (!loggedinUser) {\r\n $state.go('Login',{\r\n reload:true\r\n });\r\n }else{\r\n //Global Variable Declaration\r\n vm.CustomDateformat = $localStorage.CustomDateformat;\r\n\tvm.OnlyDateformat = $localStorage.OnlyDateformat;\t\r\n vm.vendorList='';\r\n vm.vendorData = '';\r\n vm.ActivationStatus = '';\r\n vm.searchText = '';\r\n vm.dtInstance = {};\r\n vm.vendorId = $stateParams.VendorId; \r\n vm.jobTickets = '';\r\n vm.CertificateprofileImg=[];\r\n vm.DocumentprofileImg=[];\r\n vm.itemName = '';\r\n vm.itemValue = '';\r\n vm.dtInstance = {};\r\n vm.dtInstanceticket={};\r\n vm.AccountHistoryData=[];\r\n vm.teamProfileList = [];\r\n $localStorage.TechnicianDetailsView='';\r\n $localStorage.PageIndex=1;\r\n vm.UserRole=\"\";\r\n vm.teamprofileImg=\"\";\r\n vm.teamCertificateprofileImg=[];\r\n vm.teamDocumentprofileImg=[];\r\n vm.VerificationCertprofileImg=[];\r\n vm.teamVerificationCertprofileImg=[];\r\n vm.TrainingImagebase64=[];\r\n vm.TrainingAttendancebase64=[];\r\n vm.PCExperienceLetterbase64=[];\r\n vm.ExperienceVerificationReportbase64=[];\r\n vm.TeamTrainingImagebase64=[];\r\n vm.TeamTrainingAttendancebase64=[];\r\n vm.TeamPCExperienceLetterbase64=[];\r\n vm.TeamExperienceVerificationReportbase64=[];\r\n vm.pdfimage=\"\";\r\n vm.CriminalVerificationbase64=\"\";\r\n vm.TeamCriminalVerificationbase64=\"\";\r\n vm.imageServices = function(img){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n }\r\n else{\r\n vm.profileImg = resp.data;\r\n }\r\n console.log(vm.profileImg);\r\n }, function() {\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n });\r\n \r\n } \r\n vm.teamimageServices = function(img){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.teamprofileImg = 'assets/images/patterns/photo1.png';\r\n }\r\n else{\r\n vm.teamprofileImg = resp.data;\r\n }\r\n console.log(vm.teamprofileImg);\r\n }, function() {\r\n vm.teamprofileImg = 'assets/images/patterns/photo1.png';\r\n });\r\n \r\n } \r\n vm.VerificationCertimageServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.VerificationCertprofileImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else{\r\n vm.VerificationCertprofileImg[index] = resp.data;\r\n } \r\n }, function() {\r\n vm.VerificationCertprofileImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n }); \r\n }\r\n vm.teamVerificationCertimageServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.teamVerificationCertprofileImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else{\r\n vm.teamVerificationCertprofileImg[index] = resp.data;\r\n } \r\n }, function() {\r\n vm.teamVerificationCertprofileImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n }); \r\n }\r\n vm.CertificateimageServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.CertificateprofileImg[index] = 'assets/images/patterns/pdf.png';\r\n }\r\n else{\r\n vm.CertificateprofileImg[index] = resp.data;\r\n }\r\n // console.log(vm.profileImg);\r\n }, function() {\r\n vm.CertificateprofileImg[index] = 'assets/images/patterns/pdf.png';\r\n });\r\n \r\n } \r\n\r\n vm.TeamCertificateimageServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.teamCertificateprofileImg[index] = 'assets/images/patterns/pdf.png';\r\n }\r\n else{\r\n vm.teamCertificateprofileImg[index] = resp.data;\r\n }\r\n // console.log(vm.profileImg);\r\n }, function() {\r\n vm.teamCertificateprofileImg[index] = 'assets/images/patterns/pdf.png';\r\n });\r\n \r\n } \r\n \r\n vm.DocumentimageServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.DocumentprofileImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else{\r\n vm.DocumentprofileImg[index] = resp.data;\r\n }\r\n //console.log(vm.profileImg);\r\n }, function() {\r\n vm.DocumentprofileImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n });\r\n \r\n }\r\n vm.teamDocumentimageServices = function(img,index){\r\n if(img==\"\")\r\n vm.teamDocumentprofileImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n else\r\n {\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n \r\n if(resp.data == null || resp.data == '' ){\r\n vm.teamDocumentprofileImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else{\r\n vm.teamDocumentprofileImg[index] = resp.data;\r\n } \r\n }, function() {\r\n vm.teamDocumentprofileImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n });\r\n }\r\n }\r\n vm.InsurenceImg='';\r\n vm.InsurenceimageServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.InsurenceImg = 'assets/images/patterns/pdf.png';\r\n }\r\n else{\r\n vm.InsurenceImg= resp.data;\r\n }\r\n // console.log(vm.profileImg);\r\n }, function() {\r\n vm.InsurenceImg = 'assets/images/patterns/pdf.png';\r\n });\r\n \r\n }\r\n vm.GetVendorById = function () {\r\n NewVendorProfileService.GetVendorById(loggedinUser, vm.vendorId, token).then(function (resp) {\r\n vm.users = resp.data;\r\n vm.UserRole = vm.users.Role;\r\n for(var i=0;i=0 || url.indexOf(\".jpeg\")>=0 || url.indexOf(\".png\")>=0 || url.indexOf(\".bmp\")>=0 ||url.indexOf(\".JPG\")>=0 || url.indexOf(\".JPEG\")>=0 || url.indexOf(\".PNG\")>=0 || url.indexOf(\".BMP\")>=0){\r\n return \"image\";\r\n } else if(url.indexOf(\".pdf\")>=0 || url.indexOf(\".PDF\")>=0){\r\n return \"pdf\";\r\n } else if(url.indexOf(\".xls\")>=0 || url.indexOf(\".xlsx\")>=0 ||url.indexOf(\".XLS\")>=0 || url.indexOf(\".XLSX\")>=0){\r\n return \"xls\"; \r\n } else if(url.indexOf(\".doc\")>=0 || url.indexOf(\".docx\")>=0 || url.indexOf(\".DOC\")>=0 || url.indexOf(\".DOCX\")>=0){\r\n return \"doc\";\r\n } else {\r\n return \"others\";\r\n }\r\n } \r\n }\r\n\r\n vm.addpreferredvendor=[];\r\n\t\tvm.AddPreferredVendor = function (vendorId) {\r\n\t\t\tvm.addpreferredvendor=vendorId;\r\n\t\t\tvm.AddPreferredVendorModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'PreferredVendor.html',\r\n\t\t\t\tsize:'sm',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t\treload:true\r\n\t\t\t});\r\n\t\t\r\n\t\t}\r\n\r\n\r\n vm.preferredSingleVendor = function(vendorId){\r\n NewVendorProfileService.PreferredSingleVendor(loggedinUser,vendorId,false,token).then(function(resp){\r\n if(resp.status == '202'){\r\n vm.showSuccess('Success', \"Vendor added in preferred talent pool\");\r\n vm.AddPreferredVendorModal.close();\r\n }\r\n })\r\n }\r\n \r\n vm.agreement=[];\r\n\t\tvm.Agreement = function (UserId) {\r\n vm.IsLoadSucessfullAgreement=false;\r\n\t\t\tvm.agreement=UserId;\r\n\t\t\tAgreementUserModal = $uibModal.open({\r\n templateUrl: 'Agreement.html',\r\n controller: UserAgreement(UserId),\r\n\t\t\t\tsize:'lg',\r\n\t\t\t\tscope: $scope,\r\n reload:true,\r\n windowClass: 'zindex'\r\n\t\t\t});\r\n\t\t\r\n }\r\n vm.CloseAgreementUserModal = function(){\r\n AgreementUserModal.close();\r\n }\r\n\r\n vm.policyModel = function () {\r\n \r\n\t\t\tAgreementUserModal = $uibModal.open({\r\n templateUrl: 'policy.html',\r\n\t\t\t\tsize:'lg',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t\treload:true\r\n\t\t\t});\r\n\t\t\r\n }\r\n \r\n\r\n\r\n var UserAgreement = function(userid){\r\n\t\t\tNewVendorProfileService.UserAgreement(loggedinUser,userid,token).then(function(resp){\r\n\t\t\t\tif(resp.status == '200'){\r\n vm.IsLoadSucessfullAgreement=true;\r\n vm.agreementview=resp.data;\r\n var uri = vm.agreementview.Content;\r\n var dec = decodeURIComponent(uri).replace(/\\+/g,\" \");\r\n $('#agreementview').contents().find('html').html(dec);\r\n\t\t\t\t}else{\r\n var dec = decodeURIComponent(resp.data).replace(/\\+/g,\" \");\r\n $('#agreementview').contents().find('html').html(dec);\r\n }\r\n\t\t\t})\r\n }\r\n\r\n\r\n if(vm.loggedInUser_Role== 'SuperAdministrator'){\r\n vm.RechargeHistory = function (userid) {\r\n vm.userid=userid;\r\n RechargeModal = $uibModal.open({\r\n templateUrl: 'viewRechargeHistory.html',\r\n scope: $scope,\r\n resolve: {\r\n items: function () {\r\n return {\r\n AccountName: vm.CompanyName,\r\n AccountId: vm.Email\r\n };\r\n }\r\n },\r\n size: 'lg'\r\n });\r\n NewVendorProfileService.getFreelancerHistory(loggedinUser,vm.userid, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.AccountHistoryData = resp.data;\r\n }\r\n })\r\n }\r\n}\r\n\r\n vm.CloseRechargeModal = function () {\r\n RechargeModal.close();\r\n }\r\n\r\n\r\n \r\n vm.Infra = function () {\r\n InfraModal = $uibModal.open({\r\n templateUrl: 'Infra.html',\r\n size:'lg',\r\n scope: $scope,\r\n reload:true\r\n });\r\n \r\n }\r\n vm.CloseInfraModal = function(){\r\n InfraModal.close();\r\n }\r\n\r\n vm.Training = function () {\r\n TrainingModal = $uibModal.open({\r\n templateUrl: 'Training.html',\r\n size:'lg',\r\n scope: $scope,\r\n reload:true\r\n });\r\n \r\n }\r\n vm.CloseTrainingModal = function(){\r\n TrainingModal.close();\r\n }\r\n \r\n\r\n\r\n vm.dtOptions = DTOptionsBuilder.newOptions().withDOM(\r\n '<\"html5buttons\"B>lTfgitp').withPaginationType(\r\n 'full_numbers').withOption('lengthChange', false)\r\n .withOption('order', []);\r\n\r\n vm.dtColumnDefs = [\r\n //DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable().withClass('td-small-with-panel'),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable()];\r\n\r\n vm.dtOptionsSkill = DTOptionsBuilder.newOptions()\r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withOption('lengthChange', false);\r\n // .withButtons([{extend:'colvis'},{extend:'csv'}])\r\n // .withOption('stateSave', true)\r\n // .withOption('initComplete', function () {\r\n // $('.dataTables_filter input').unbind();\r\n // })\r\n // .withOption('order', [0, 'asc']);\r\n \r\n vm.dtColumnSkill = [\r\n //DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable()\r\n \r\n ];\r\n\r\n\r\n if(vm.loggedInUser_Role== 'SuperAdministrator' || vm.loggedInUser_Role== 'Administrator' ){\r\n vm.TicketHistory = function(userid) {\r\n vm.userid=userid;\r\n TicketModal = $uibModal.open({\r\n templateUrl: 'TicketHistory.html',\r\n scope: $scope,\r\n windowClass:'schedulerModal'\r\n // controller: GetTicketByVendor(vendorId,itemName,itemValue),\r\n // size:'lg' \r\n }); \r\n \r\n }\r\n }\r\n \r\n vm.CloseTicketModal = function(){\r\n TicketModal.close();\r\n }\r\n\r\n // vm.Vendorteamedit = function (UserId) {\r\n // $state.go('index.ActiveUserUpdate', {\r\n // UserId: UserId\r\n // }, {\r\n // reload: true\r\n // });\r\n // }\r\n\r\n vm.EditVTeam = function(RegistrationNo){\r\n $localStorage.EditVendorTeam = 'vendorteam';\r\n $localStorage.VendorId=vm.vendorId;\r\n $state.go('index.ActiveUserUpdate', {\r\n RegistrationNo: RegistrationNo\r\n }, {\r\n reload: true\r\n });\r\n }\r\n \r\n if(vm.loggedInUser_Role== 'SuperAdministrator'){\r\n vm.GetTicketByVendor = function(vendorId,itemName,itemValue){\r\n NewVendorProfileService.GetTicketsByVendor($localStorage.loggedInUserId,vendorId,token,'All').then(function(resp){\r\n if(resp.data){\r\n vm.jobTickets = resp.data;\r\n }\r\n })\r\n }\r\n vm.GetTicketByVendor(vm.vendorId,'VendorId',vm.vendorId ,'All');\r\n }\r\n if(vm.loggedInUser_Role== 'Administrator'){\r\n vm.GetTicketByVendor = function(vendorId,itemName,itemValue){\r\n NewVendorProfileService.GetTicketsByVendor($localStorage.loggedInUserId,vendorId,token,'Approved').then(function(resp){\r\n if(resp.data){\r\n vm.jobTickets = resp.data;\r\n }\r\n })\r\n }\r\n vm.GetTicketByVendor(vm.vendorId,'VendorId',vm.vendorId,'Approved');\r\n }\r\n\r\n \r\n\r\n\r\n vm.dtOptionsticket = DTOptionsBuilder.newOptions().withDOM(\r\n '<\"html5buttons\"B>lTfgitp').withPaginationType(\r\n 'full_numbers').withOption('lengthChange', false)\r\n .withOption('initComplete', function () {\r\n $('.dataTables_filter input').unbind();\r\n })\r\n .withOption('order', [0, 'asc']);\r\n \r\n vm.dtColumnDefsticket = [\r\n //DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(7).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(8).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(9).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(10).notSortable()\r\n ];\r\n\r\n vm.dtOptionsTeam = DTOptionsBuilder.newOptions()\r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withOption('lengthChange', false)\r\n .withButtons([{extend:'colvis'},{extend:'csv'}])\r\n\t\t .withOption('stateSave', true)\r\n // .withOption('initComplete', function () {\r\n // $('.dataTables_filter input').unbind();\r\n // })\r\n .withOption('order', [0, 'asc']);\r\n \r\n vm.dtColumnTeamDefs = [\r\n //DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(7).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(8).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(9).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(10).notSortable()\r\n ];\r\n\r\n\r\n\r\n vm.dtOptionsInfra = DTOptionsBuilder.newOptions()\r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withOption('lengthChange', false);\r\n // .withButtons([{extend:'colvis'},{extend:'csv'}])\r\n\t\t // .withOption('stateSave', true)\r\n // .withOption('initComplete', function () {\r\n // $('.dataTables_filter input').unbind();\r\n // })\r\n // .withOption('order', [0, 'asc']);\r\n \r\n vm.dtColumnInfraDefs = [\r\n //DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(5).notSortable()\r\n \r\n ];\r\n\r\n\r\n vm.dtOptionsTraining = DTOptionsBuilder.newOptions()\r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withOption('lengthChange', false);\r\n // .withButtons([{extend:'colvis'},{extend:'csv'}])\r\n\t\t // .withOption('stateSave', true)\r\n // .withOption('initComplete', function () {\r\n // $('.dataTables_filter input').unbind();\r\n // })\r\n // .withOption('order', [0, 'asc']);\r\n \r\n vm.dtColumnTrainingDefs = [\r\n //DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(5).notSortable()\r\n \r\n ];\r\n \r\n\r\n\r\n});\nangular.module('inspinia').service('VendorCreationService', function (ApiURL,PublicApiURL, LocationURL, $log, $http, $localStorage) {\r\n\r\n //https://localhost/publicapi/api/Location/GetSubRegion?userId=U360000000001\r\n this.GetSubRegion = function(loggedInUserId, token){\r\n var url = PublicApiURL + '/api/Location/GetSubRegion?userId='+ loggedInUserId;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId':loggedInUserId}\r\n })\r\n }\r\n\r\n //http://localhost:55238/api/Location/GetTelecomCircles?userId=U380000000001\r\n\r\n this.GetTelecomCircle = function(loggedInUserId, token){\r\n var url = PublicApiURL + '/api/Location/GetTelecomCircles?userId='+ loggedInUserId;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId':loggedInUserId}\r\n })\r\n }\r\n //https://test.mymobiforce.com/publicapi/api/Location/GetCity?userId=U360000000001&subregion=noida\r\n this.GetCityBySubRegion = function(loggedInUserId, subRegion, token){\r\n var url = PublicApiURL + '/api/Location/GetCity?userId='+ loggedInUserId + '&subregion='+ subRegion;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId':loggedInUserId}\r\n })\r\n }\r\n\r\n //https://db.mymobiforce.com/publicapi/api/Address/GetCountry?userId=U420000000001\r\n this.getCountry = function (userId,token) {\r\n var url = PublicApiURL + '/api/Address/GetCountry?userId=' + userId;\r\n return $http.get(url, {\r\n headers:{'Token':token, 'UserId':userId}\r\n });\r\n }\r\n\r\n //https://db.mymobiforce.com/publicapi/api/Address/GetStates?userId=U420000000001&country=QATAR\r\n this.getStates = function (userId,token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url, {\r\n headers:{'Token':token, 'UserId':userId}\r\n });\r\n }\r\n\r\n\r\n //https://db.mymobiforce.com/publicapi/api/Address/GetCities?userId=U420000000001&state=DOHA\r\n this.getCities = function (userId, state,token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+state;\r\n return $http.get(url, {\r\n headers:{'Token':token, 'UserId':userId}\r\n });\r\n }\r\n \r\n\r\n\r\n /*this.getAllState = function (loggedinUser) {\r\n var url = LocationURL+'/api/Location/'+loggedinUser+'/GetAllStates';\r\n return $http.get(url, {\r\n headers:{'Content-Type' : 'application/json'}\r\n });\r\n }\r\n this.getAllCity = function (state, loggedinUser) {\r\n var url = LocationURL+'/api/Location/'+loggedinUser+'/'+state+'/GetCitiesByState';\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json'}\r\n });\r\n }*/\r\n\r\n this.getAllState = function (userId,loggedInUserId, token) {\r\n var url = PublicApiURL + '/api/Location/GetSubRegion?userId='+userId+'®ion=INDIA';\r\n return $http.get(url, {\r\n headers:{'Token':token, 'UserId':loggedInUserId}\r\n });\r\n }\r\n\r\n // https://test.mymobiforce.com/publicapi/api/Location/GetCity?userId=U350000000006&subregion=UTTAR%20PRADESH\r\n this.getAllCity = function (userId, state,loggedInUserId,token) {\r\n var url = PublicApiURL + '/api/Location/GetCity?userId='+userId+'&subregion='+state;\r\n return $http.get(url, {\r\n headers:{'Token':token, 'UserId':loggedInUserId}\r\n });\r\n }\r\n\r\n this.GetAllCircles1 = function(loggedinUser){\r\n var url = LocationURL + '/api/Location/' + loggedinUser + '/GetAllCircles'\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json'}\r\n })\r\n }\r\n\r\n this.getAllSkills = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json', 'Token': token, 'UserId':loggedinUser}\r\n });\r\n }\r\n //http://localhost:56749/api/Vendor/kanika.bansal%40innotiontech.com/createvendor\r\n\r\n this.createVendor = function(data, loggedinUser, token){\r\n var url = ApiURL + '/api/Vendor/' + loggedinUser + '/createvendor';\r\n return $http.post(url,data,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedinUser}\r\n })\r\n }\r\n\r\n //http://localhost:56749/api/Vendor/asddas/updatevendor\r\n this.updateVendor = function(data,loggedinUser,token){\r\n var url = ApiURL + '/api/Vendor/' + loggedinUser + '/updatevendor';\r\n return $http.put(url,data,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedinUser}\r\n })\r\n }\r\n\r\n //http://localhost:56749/api/Vendor/kanika.bansal%40innotiontech.com/V0000000001/getvendorbyid\r\nthis.GetVendorById = function(loggedInUser,vendorId, token){\r\n var url = ApiURL + '/api/Vendor/' + loggedInUser + '/' + vendorId + '/getvendorbyid';\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n}\r\n \r\n \r\n});\nangular.module('inspinia').controller('VendorCreationController', function ($state, $timeout, $log, $stateParams, $localStorage, VendorCreationService, toaster, $q, $scope) {\r\n\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif ($localStorage.accountConfig) {\r\n if ($localStorage.accountConfig) {\r\n vm.EnableRegion = $localStorage.accountConfig.EnableRegion;\r\n }\r\n }else{\r\n vm.EnableRegion = false;\r\n }\r\n\r\n\tif (!loggedinUser) {\r\n\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\r\n\t} else {\r\n\r\n\t\tvm.vendorId = $stateParams.vendorId;\r\n\t\tangular.element(document).ready(function () {\r\n\t\t\tangular.element('ul[side-navigation]').find('a[ui-sref=\"index.Vendor_Creation_form\"]').parent().prop('class', 'active');\r\n\t\t});\r\n\r\n\t\t///Global Variables Declaration\r\n\t\tvm.vendorName = '';\r\n\t\tvm.Region = '';\r\n\t\tvm.SubRegion = '';\r\n\t\tvm.address1 = '';\r\n\t\tvm.address2 = '';\r\n\t\tvm.state = '';\r\n\t\tvm.city = '';\r\n\t\tvm.pincode = '';\r\n\t\tvm.firstName = '';\r\n\t\tvm.lastName = '';\r\n\t\tvm.emailId = '';\r\n\t\tvm.mobileNumber = '';\r\n\t\tvm.otherMobile = '';\r\n\t\tvm.gender = '';\r\n\t\tvm.locations = [];\r\n\t\tvm.skills = '';\r\n\t\tvm.stateList = '';\r\n\t\tvm.cityList = '';\r\n\t\tvm.circles = '';\r\n\t\tvm.workArea = '';\r\n\t\tvm.skill = '';\r\n\t\tvm.isDisabled = false;\r\n\t\tvm.editMode = false;\r\n\t\tvm.VendorRespData = '';\r\n\t\tvm.RegionList = '';\r\n\t\tvm.SubRegionList = '';\r\n\t\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\t\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\t\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\r\n\t\tvm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n\t\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\t\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\t\tvm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n \tvm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n \tvm.LocationMapping = vm.getAccountConfigSetting('LocationMapping');\r\n \t\r\n\t\t//For vendor edit Mode Only\r\n\r\n\t\tif ($state.current.name == 'index.VendorEdit') {\r\n\r\n\t\t\tvm.editMode = true;\r\n\t\t\tvm.isDisabled = false;\r\n\t\t\t//ApI Call\r\n\t\t\tVendorCreationService.GetVendorById(loggedinUser, vm.vendorId, token).then(function (resp) {\r\n\t\t\t\tif (resp.data) {\r\n\t\t\t\t\tvm.VendorRespData = resp.data;\r\n\t\t\t\t\tif (vm.VendorRespData.State) {\r\n\t\t\t\t\t\tvm.selectState(vm.VendorRespData.State)\r\n\t\t\t\t\t\tvm.city = vm.VendorRespData.City;\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\t\tvm.vendorName = vm.VendorRespData.CompanyName;\r\n\t\t\t\t\tvm.address1 = vm.VendorRespData.AddressLine1;\r\n\t\t\t\t\tvm.address2 = vm.VendorRespData.AddressLine2;\r\n\t\t\t\t\tvm.state = vm.VendorRespData.State;\r\n\t\t\t\t\tvm.pincode = vm.VendorRespData.Pincode;\r\n\t\t\t\t\tvm.firstName = vm.VendorRespData.FirstName;\r\n\t\t\t\t\tvm.lastName = vm.VendorRespData.LastName;\r\n\t\t\t\t\tvm.emailId = vm.VendorRespData.EmailId;\r\n\t\t\t\t\tvm.mobileNumber = vm.VendorRespData.MobileNumber;\r\n\t\t\t\t\tvm.OtherNumber = vm.VendorRespData.OtherNumber;\r\n\t\t\t\t\tvm.gender = vm.VendorRespData.Gender;\r\n\t\t\t\t\tvm.workArea = vm.VendorRespData.VendorLocations;\r\n\t\t\t\t\tvm.skill = vm.VendorRespData.VendorSkillsets;\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\t//Create Model to call Vendor Creation API\r\n\r\n\t\tvm.createVendor = function () {\r\n\t\t\tif (vm.vendor_form.$valid) {\r\n\r\n\t\t\t\tif ((vm.emailId == null || vm.emailId == '') && (vm.mobileNumber == null || vm.mobileNumber == '')) {\r\n\t\t\t\t\tvm.showFailure('Failed', \"Please enter email id or mobile number\");\r\n\r\n\t\t\t\t} else {\r\n\r\n\t\t\t\t\tvar vendorModel = {\r\n\t\t\t\t\t\t\"CompanyName\": vm.vendorName,\r\n\t\t\t\t\t\t\"VendorCode\": vm.vendorCode,\r\n\t\t\t\t\t\t\"AddressLine1\": vm.address1,\r\n\t\t\t\t\t\t\"AddressLine2\": vm.address2,\r\n\t\t\t\t\t\t\"State\": vm.state,\r\n\t\t\t\t\t\t\"City\": vm.city,\r\n\t\t\t\t\t\t\"Pincode\": vm.pincode,\r\n\t\t\t\t\t\t\"FirstName\": vm.firstName,\r\n\t\t\t\t\t\t\"LastName\": vm.lastName,\r\n\t\t\t\t\t\t\"EmailId\": vm.emailId,\r\n\t\t\t\t\t\t\"MobileNumber\": vm.mobileNumber,\r\n\t\t\t\t\t\t\"OtherNumber\": vm.otherMobile,\r\n\t\t\t\t\t\t\"Gender\": vm.gender,\r\n\t\t\t\t\t\t\"VendorLocations\": vm.workArea,\r\n\t\t\t\t\t\t\"VendorSkillsets\": vm.skill,\r\n\t\t\t\t\t\t\"Region\": null,\r\n\t\t\t\t\t\t\"SubRegion\": null\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (vm.EnableRegion) {\r\n\r\n\t\t\t\t\t\t var workArea = '';\r\n \t\t\t\t \tfor (var index = 0; index < vm.SubRegion.length; index++) {\r\n\t\t\t\t\t if (index == (vm.SubRegion.length - 1)) {\r\n\t\t\t\t\t workArea = workArea + vm.SubRegion[index];\r\n\t\t\t\t\t continue;\r\n\t\t\t\t\t }\r\n\t\t\t\t\t workArea = workArea + vm.SubRegion[index] + ',';\r\n\t\t\t\t\t }\r\n\t\t\t\t\t\tvendorModel.Region = vm.Region;\r\n\t\t\t\t\t\tvendorModel.SubRegion = workArea;\r\n\t\t\t\t\t\tvendorModel.VendorLocations = vm.SubRegion;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (vm.editMode) {\r\n\t\t\t\t\t\t//UPDATE API Call\r\n\t\t\t\t\t\tvendorModel[\"VendorId\"] = vm.vendorId;\r\n\t\t\t\t\t\tVendorCreationService.updateVendor(vendorModel, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\t\t\tif (resp.data) {\r\n\t\t\t\t\t\t\t\tvm.toaster_success.body = \"Vendor Updated Successfully\";\r\n\t\t\t\t\t\t\t\ttoaster.pop(vm.toaster_success);\r\n\t\t\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t\t\t$state.go('index.Vendor_list', {\r\n\t\t\t\t\t\t\t\t\t\treload: true\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tvm.isDisabled = false;\r\n\t\t\t\t\t\t\t\tvm.toaster_fail.body = \"Vendor Updation Failed, Please try after some time\";\r\n\t\t\t\t\t\t\t\ttoaster.pop(vm.toaster_fail);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t//CREATE API Call\r\n\r\n\t\t\t\t\t\tVendorCreationService.createVendor(vendorModel, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\t\t\tif (resp.data) {\r\n\t\t\t\t\t\t\t\t\tvm.toaster_success.body = \"Vendor Created Successfully\";\r\n\t\t\t\t\t\t\t\t\ttoaster.pop(vm.toaster_success);\r\n\t\t\t\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t\t\t\t$state.go('index.Vendor_list', {\r\n\t\t\t\t\t\t\t\t\t\t\treload: true\r\n\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\tclearFormFields();\r\n\t\t\t\t\t\t\t\t\t}, 2000);\r\n\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tvm.toaster_fail.body = \"Vendor Creation Failed, Please try after some time\";\r\n\t\t\t\t\t\t\t\ttoaster.pop(vm.toaster_fail);\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t}, function (err) {\r\n\t\t\t\t\t\t\tif (err.data && err.data.Message) {\r\n\t\t\t\t\t\t\t\tvm.toaster_fail.body = err.data.Message;\r\n\t\t\t\t\t\t\t\ttoaster.pop(vm.toaster_fail);\r\n\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tvm.isDisabled = false;\r\n\t\t\t\t\t\t\t\tvm.toaster_fail.body = \"Vendor Creation Failed, Please try after some time\";\r\n\t\t\t\t\t\t\t\ttoaster.pop(vm.toaster_fail);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t} else {\r\n\t\t\t\tvm.vendor_form.submitted = true;\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t\tfunction clearFormFields() {\r\n\t\t\tvm.vendorName = '';\r\n\t\t\tvm.address1 = '';\r\n\t\t\tvm.address2 = '';\r\n\t\t\tvm.state = '';\r\n\t\t\tvm.city = '';\r\n\t\t\tvm.pincode = '';\r\n\t\t\tvm.firstName = '';\r\n\t\t\tvm.lastName = '';\r\n\t\t\tvm.emailId = '';\r\n\t\t\tvm.mobileNumber = '';\r\n\t\t\tvm.otherMobile = '';\r\n\t\t\tvm.gender = '';\r\n\t\t\tvm.workArea = '';\r\n\t\t\tvm.skill = '';\r\n\t\t}\r\n\r\n\r\n\t\tvm.GetAllStates = function () {\r\n\t\t\tVendorCreationService.getStates(loggedinUser, 'INDIA', token).then(function (resp) {\r\n\t\t\t\tif (resp.data) {\r\n\t\t\t\t\tif (!angular.equals(vm.stateList, resp.data)) {\r\n\t\t\t\t\t\tvm.stateList = resp.data;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tvm.selectState = function (state) {\r\n\t\t\tvar Getstate = state;\r\n\t\t\tVendorCreationService.getCities(loggedinUser,Getstate, token).then(function (resp) {\r\n\t\t\t\tvm.cityList = resp.data;\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tvm.GetAllSkills = function () {\r\n\t\t\tVendorCreationService.getAllSkills(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.data.length > 0) {\r\n\t\t\t\t\tif (!angular.equals(vm.skills, resp.data)) {\r\n\t\t\t\t\t\tvm.skills = resp.data;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tvm.GetAllCircles = function () {\r\n\t\t\tif (vm.EnableRegion) {\r\n\t\t VendorCreationService.GetSubRegion(loggedinUser,token).then(function(resp){\r\n\t\t if (resp.status == 200) {\r\n\t\t if (resp.data && resp.data.values.length>0) {\r\n\t\t vm.RegionList = resp.data.values;\r\n\t\t \r\n\t\t }\r\n\t\t }\r\n\t\t })\r\n\t\t }else if (vm.LocationMapping == 'Circle') {\r\n\t\t \tVendorCreationService.GetTelecomCircle(loggedinUser,token).then(function(resp){\r\n\t\t if (resp.status == 200) {\r\n\t\t if (resp.data && resp.data.values.length>0) {\r\n\t\t vm.CircleList = resp.data.values;\r\n\t\t \r\n\t\t }\r\n\t\t }\r\n\t\t })\r\n\t\t }\r\n\t\t else{\r\n\t\t\t\t VendorCreationService.getStates(loggedinUser, vm.selectedCountry,token).then(function(resp){\r\n\t if (resp.status == 200) {\r\n\t if (resp.data && resp.data.length>0) {\r\n\t vm.circles = resp.data;\r\n\t \r\n\t }\r\n\t }\r\n\t });\r\n\t\t }\t\t\t\r\n\t\t}\r\n\r\n\t vm.selectedCountry = null;\r\n //get country of user\r\n vm.getCountry = function () {\r\n VendorCreationService.getCountry(loggedinUser,token).then(function (resp) {\r\n if(resp.status == 200){\r\n if(resp.data && resp.data.values.length>0){\r\n vm.countrylist = resp.data.values;\r\n vm.selectedCountry = vm.countrylist[0]; \r\n vm.GetAllCircles();\r\n }\r\n } \r\n })\r\n }\r\n\r\n vm.getCountry();\r\n\r\n\r\n\t\tvm.selectRegion = function(region){\r\n vm.SubRegionList = '';\r\n VendorCreationService.GetCityBySubRegion(loggedinUser, region, token).then(function(resp){\r\n if (resp.status==200) {\r\n if (resp.data && resp.data.values.length>0) {\r\n vm.SubRegionList = resp.data.values;\r\n }\r\n }\r\n })\r\n }\r\n\r\n\t\tvm.GetAllStates();\r\n\t\tvm.GetAllSkills();\r\n\t\t//vm.getAllCircles();\r\n\t}\r\n});\r\n\nangular.module('inspinia').service('VendorProfileService', function (ApiURL, FreelancerURL, LocationURL, $log, $http, $localStorage) {\r\n \r\n\t //http://localhost:56749/api/Vendor/kanika.bansal%40innotiontech.com/V0000000001/getvendorbyid\r\n\tthis.GetVendorById = function(loggedInUser,vendorId, token){\r\n\t var url = ApiURL + '/api/Vendor/' + loggedInUser + '/' + vendorId + '/getvendorbyid';\r\n\t return $http.get(url,{\r\n\t headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n\t })\r\n\t}\r\n\t \r\n\t //http://192.168.0.80:92/CoreAPI/api/Ticket/kanika.bansal%40innotiontech.com/V0000000001///getticketsbyvendor\r\n\t// this.GetTicketsByVendor = function(loggedInUser,vendorId,itemName,itemValue,token){\r\n\t// var url = ApiURL + '/api/Ticket/' + loggedInUser + '/' + vendorId + '/' + itemName + '/' + itemValue+'/getticketsbyvendor';\r\n\t// return $http.get(url,{\r\n\t// headers:{'Content-Type' : 'application/json','Token':token}\r\n\t// })\r\n\t// }\r\n\r\n\t// this.getAllSkills = function(loggedinUser, token, success, failure){\r\n\t// \tvar url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n\t// \treturn $http.get(url, {headers:{'Token': token}}).then(function(res){\r\n\t// \t if(res && res.status == 200 && res.data){\r\n\t// \t\tsuccess(res.data);\r\n\t// \t }\r\n\t// \t}, function(err){\r\n\t// \t failure(\"Failed\", \"Unable to get skill list, server error.\")\r\n\t// \t})\r\n\t// }\r\n\r\n\r\n\t// this.GetAllCircles = function (loggedinUser, success, failure) {\r\n\t// \tvar url = LocationURL + '/api/Location/' + loggedinUser + '/GetAllCircles'\r\n\t// \treturn $http.get(url, {\r\n\t// \t headers: { 'Content-Type': 'application/json' }\r\n\t// \t}).then(function(res){\r\n\t// \t if(res && res.status ==200 && res.data){\r\n\t// \t\tsuccess(res.data);\r\n\t// \t } \r\n\t// \t}, function(err){\r\n\t// \t failure(\"Failed\", \"Unable to get locations, server is not responding correctly\");\r\n\t// \t});\r\n\t// }\r\n\r\n\t// this.GetFreelancerJobs = function(userId, loggedinUser, token){\r\n\t// \tvar url = FreelancerURL + '/api/FreelancerTicket/' + userId + '/' + loggedinUser + '/ByUserId'\r\n\t// \treturn $http.get(url,{\r\n\t// \t headers:{'Content-Type':'application/json',\r\n\t// \t\t'Token': token}\r\n\t// \t});\r\n\t// }\r\n\r\n\t// this.getJobsByUserId=function(userId,loggedinUser, token)\r\n\t// {\r\n\t// \tvar url =ApiURL + \"/api/Ticket/\" +userId+\"/byUserId?reqUserId=\"+loggedinUser;\r\n\t// \treturn $http.get(url, {\r\n\t// \t headers: {\r\n\t// \t\t'Content-Type': 'application/json',\r\n\t// \t\t'Token': token\r\n\t// \t }\r\n\t// \t});\r\n\t// }\r\n\r\n\t// this.getUserRating = function (userId,loggedinUser, token) {\r\n\t// \tvar url = ApiURL + \"/api/User/\"+userId+\"/\"+loggedinUser+\"/GetUserRating\";\r\n\t// \treturn $http.get(url, {\r\n\t// \t headers: {\r\n\t// \t\t'Content-Type': 'application/json',\r\n\t// \t\t'Token': token\r\n\t// \t }\r\n\t// \t});\r\n\t// }\r\n\r\n\t this.uploadProfilePic = function (loggedinUser, data, token, success, failure) {\r\n\t\t$http.post(ApiURL + '/api/User/PostUserPic?reqUserId=' + loggedinUser, data, {\r\n\t\t headers: {\r\n\t\t\t'Content-Type': undefined, 'Token': token, 'UserId':loggedinUser\r\n\t\t }\r\n\t\t}).then(success, failure);\r\n\t }\r\n\r\n\t// this.save = function(loggedinUser, token, data, success, failure){\r\n\t// \tvar url = ApiURL + '/api/User?reqUserId='+loggedinUser;\r\n\t// \t$http.put(url, data, {\r\n\t// \t headers: { 'ContentType': 'application/json',\r\n\t// \t\t'Token': token }\r\n\t// \t}).then(function(res){\r\n\t// \t success(res);\r\n\t// \t}, function(err){\r\n\t// \t failure(\"Failed\", \"Unable to save user profile, server is not responding correctly.\");\r\n\t// \t})\r\n\t// }\r\n\r\n\t// http://localhost:50144/api/FreeLancerRegistration/UpdateVendorRegistrationdDetails\r\n\tthis.save = function(loggedinUser, token, data, success, failure){\r\n\t\tvar url = FreelancerURL + '/api/FreeLancerRegistration/UpdateVendorRegistrationdDetails';\r\n\t\t$http.put(url, data, {\r\n\t\t headers: { 'ContentType': 'application/json',\r\n\t\t\t'Token': token, 'UserId':loggedinUser }\r\n\t\t}).then(function(res){\r\n\t\t success(res);\r\n\t\t}, function(err){\r\n\t\t failure(\"Failed\", \"Unable to save user profile, server is not responding correctly.\");\r\n\t\t})\r\n\t }\r\n\r\n\r\n \r\n});\r\n\r\n\nangular.module('inspinia').controller('VendorProfileController', function (VendorProfileService, OnBoardingFormService, $filter, ImageUrl, $log, $state, $localStorage, $stateParams, $uibModal, $scope, DTOptionsBuilder, DTColumnDefBuilder, toaster, $timeout) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n\r\n if (!loggedinUser) {\r\n $state.go('Login',{\r\n reload:true\r\n });\r\n }else{\r\n //Global Variable Declaration\r\n vm.vendorList='';\r\n vm.vendorData = '';\r\n vm.ActivationStatus = '';\r\n vm.searchText = '';\r\n vm.dtInstance = {};\r\n vm.vendorId = $stateParams.vendorId; \r\n vm.jobTickets = '';\r\n vm.itemName = '';\r\n vm.itemValue = '';\r\n vm.Tools = [];\r\n vm.TrainingList = [];\r\n vm.pathtcertificate = '';\r\n vm.addTraningCertificateName = '';\r\n vm.CertificateNo = '';\r\n vm.CertificateIssueDate = moment();\r\n vm.CertificateExpiryDate = moment();\r\n\r\n \r\n //Get VendorData by Vendor Id\r\n // vm.GetVendorDataById = function(vendorId){\r\n // VendorProfileService.GetVendorById(loggedinUser,vendorId,token).then(function(resp){\r\n // if (resp.data) {\r\n // // if (!angular.equals(vm.vendorData,resp.data)) {\r\n // vm.vendorData = resp.data;\r\n // //$log.log('vendorData',vm.vendorData)\r\n // // vm.ActivationStatus = vm.vendorData.VendorStatus == \"Active\" ? true : false;\r\n // // }\r\n // }\r\n // })\r\n // }\r\n\r\n vm.sparkline1 = [34, 43, 43, 35, 44, 32, 44, 52];\r\n var loggedinUserRole = $localStorage.loggedInUser_Role;\r\n vm.showSuccess = $scope.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.main.showFailure;\r\n\r\n vm.qualificationList = [\"10th\", \"12th\", \"Graduation Degree/Deploma\", \"PG Degree/Deploma\"];\r\n vm.BGDocType = ['Aadhar Card', 'Address Proof', 'Pan Card', 'Education Certificate', 'Police Verification', 'Resume', 'Cancelled Check','GST Certificate'];\r\n vm.BDDocSubType = {};\r\n vm.BDDocSubType['Address Proof'] = [\"Aadhar Card\", \"Voter Id Card\", \"Driving License\", \"Passport\", \"Rent Agreement\", \"Telephone/Gas Bill\", \"Bank Passbook\"];\r\n vm.BDDocSubType['Pan Card'] = ['Pan Card'];\r\n vm.BDDocSubType['Education Certificate'] = vm.qualificationList;\r\n vm.BDDocSubType['Police Verification'] = [\"Police Verification\"];\r\n vm.BDDocSubType['Resume'] = [\"Resume\"];\r\n vm.BDDocSubType['Cancelled Check'] = [\"Cancelled Check\"];\r\n vm.BDDocSubType['GST Certificate'] = ['GST Certificate'];\r\n\r\n // vm.qualificationList = [\"10th\", \"12th\", \"Graduation Degree/Deploma\", \"PG Degree/Deploma\"];\r\n // vm.BGDocType = ['Aadhar Card', 'Address Proof', 'Pan Card', 'Education Certificate', 'Police Verification', 'Experience Certificates', 'GST Certificate'];\r\n \r\n // vm.BDDocSubType = {};\r\n // vm.BDDocSubType['Aadhar Card'] = ['Aadhar Card'];\r\n // vm.BDDocSubType['Address Proof'] = [\"Voter Id Card\", \"Passport\", \"Rent Agreement\", \"Telephone/Gas Bill\", \"Bank Passbook\"];\r\n // vm.BDDocSubType['Pan Card'] = ['Pan Card'];\r\n // vm.BDDocSubType['Education Certificate'] = vm.qualificationList;\r\n // vm.BDDocSubType['Police Verification'] = [\"Police Verification\"];\r\n // vm.BDDocSubType['Experience Certificates'] = [\"Experience Certificates\"];\r\n // // vm.BDDocSubType['GST Certificate'] = ['GST Certificate'];\r\n\r\n vm.last30Years = [];\r\n vm.experienceList = [];\r\n vm.brandList = [\"Samsung\", \"Onida\", \"BPL\", \"LG\", \"Hitachi\", \"Whirlpool\", \"Panasonic\", \"BOSCH\", \"Videocon\", \"Godrej\", \"Ericsson\", \"TATA\", \"Airtel\", \"Idea\", \"Vodafone\", \"BSNL\", \"NSN\"];\r\n\r\n vm.currentYear = new moment().format(\"YYYY\");\r\n\r\n for (var i = 0; i < 30; i++) {\r\n vm.last30Years.push((vm.currentYear - i) + \"\");\r\n vm.experienceList.push((i + 1) + \"\");\r\n }\r\n\r\n vm.sparkline1Options = {\r\n type: 'bar',\r\n width: '100%',\r\n height: '50',\r\n lineColor: '#1ab394',\r\n fillColor: \"transparent\"\r\n };\r\n getUserInfo(vm.vendorId, loggedinUser);\r\n\r\n vm.dtOptionsDocList = DTOptionsBuilder.newOptions().withDOM(\r\n '<\"html5buttons\"B>lTfgitp').withPaginationType(\r\n 'full_numbers').withOption('lengthChange', false)\r\n .withOption('initComplete', function () {\r\n $('.dataTables_filter input').unbind();\r\n })\r\n .withOption('order', []);\r\n\r\n vm.dtColumnDefsDocList = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable()\r\n ];\r\n\r\n function getUserInfo(vendorId, loggedinUser) {\r\n VendorProfileService.GetVendorById(loggedinUser,vendorId,token).then(function (resp) {\r\n vm.vendorInfo = resp.data;\r\n vm.BGDocList = angular.copy(vm.vendorInfo.BGVerificationDocPath);\r\n // vm.TrainingAssessment = angular.copy(vm.vendorInfo.TrainingAssessment);\r\n vm.Tools = angular.copy(vm.vendorInfo.Tools);\r\n for(var i=0; i= 0 || url.indexOf(\".jpeg\") >= 0 || url.indexOf(\".png\") >= 0 || url.indexOf(\".bmp\") >= 0) {\r\n return \"image\";\r\n } else if (url.indexOf(\".pdf\") >= 0) {\r\n return \"pdf\";\r\n } else if (url.indexOf(\".doc\") >= 0 || url.indexOf(\".docx\") >= 0) {\r\n return \"doc\";\r\n } else {\r\n return \"others\";\r\n }\r\n }\r\n\r\n $scope.uploadBGFile = function (elem) {\r\n\r\n var index = (angular.element(elem).attr(\"data-index\"));\r\n var doc = vm.BGDocList[index];\r\n // vm.error[doc.DocumentType] = null;\r\n\r\n var file = elem.files[0];\r\n if (file.type == \"application/pdf\" || file.type == \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"\r\n || file.type == \"application/msword\" || file.type.indexOf(\"image/jpg\") >= 0 || file.type.indexOf(\"image/png\") >= 0\r\n || file.type.indexOf(\"image/bmp\") >= 0 || file.type.indexOf(\"image/jpeg\") >= 0) {\r\n\r\n var data = new FormData();\r\n data.append(\"files\", file);\r\n VendorProfileService.uploadProfilePic(loggedinUser, data, token, function (res) {\r\n if (res && res.status == 201 && res.data) {\r\n doc.DocumentPath = doc.DocumentPath1 = res.data;\r\n doc.DocumentName = doc.DocumentName1;\r\n doc.edit = false;\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to upload profile pic, server error\");\r\n });\r\n } else {\r\n vm.error[doc.DocumentType] = \"You can upload image, pdf or word document only\";\r\n }\r\n }\r\n\r\n vm.prepareUserData = function(){\r\n\r\n for(var i=0;i0?locs.substring(0, locs.length-1):\"\";\r\n // data.Locations = locs;\r\n\r\n // var skillsets = \"\";\r\n // angular.forEach(vm.vendorInfo.VendorSkillsets, function(l){\r\n // skillsets += l +\",\";\r\n // })\r\n // skillsets = skillsets.length>0?skillsets.substring(0, skillsets.length-1):\"\";\r\n // data.SkillSet = skillsets;\r\n\r\n return finalModel;\r\n } \r\n\r\n vm.saveTrainingAssessment = function () {\r\n \r\n var data = vm.prepareUserData();\r\n data.AuthorizedBy = vm.AuthorizedBy;\r\n data.BGVerificationDocPath = vm.vendorInfo.BGVerificationDocPath; \r\n\r\n VendorProfileService.save(loggedinUser, token, data, function(res){\r\n if(res && res.status==202){\r\n vm.showSuccess(\"Success\", \"Training assessment saved.\");\r\n } else if(res && res.data && res.data.Message){\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to save user profile, server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.saveBGDocs = function () {\r\n var data = vm.prepareUserData();\r\n VendorProfileService.save(loggedinUser, token, data, function(res){\r\n // $log.log(res);\r\n if(res && res.status==202){\r\n alert(\"Background verification documents saved Successfully.\");\r\n // vm.showSuccess(\"Success\", \"Background verification documents saved.\");\r\n } else if(res && res.data && res.data.Message){\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to save user profile, server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n // TeamProfileService.save(vm.userData, vm.saveCallback, vm.showFailure);\r\n }\r\n\r\n\r\n vm.getAllCertificate = function(){\r\n OnBoardingFormService.GetAllCertificate(loggedinUser,token,function(data){\r\n vm.AllCertificateSets = data;\r\n },vm.showFailure);\r\n }\r\n vm.getAllCertificate();\r\n\r\n vm.addMoreTCertificate = function(){\r\n var CertificateIssueDate = $filter('date')(new Date(vm.CertificateIssueDate),'yyyy-MM-dd');\r\n var CertificateExpiryDate = $filter('date')(new Date(vm.CertificateExpiryDate),'yyyy-MM-dd');\r\n if(CertificateIssueDate >= CertificateExpiryDate ){\r\n vm.showFailure(\"Expiry date should be greater than Issue Date\");\r\n vm.showTCList = false;\r\n vm.pathtcertificate = '';\r\n vm.addTraningCertificateName = '';\r\n vm.CertificateNo = '';\r\n vm.CertificateIssueDate = moment();\r\n vm.CertificateExpiryDate = moment();\r\n }else{\r\n var tData = {\r\n CertificateName: vm.addTraningCertificateName,\r\n TrainingCertificate: vm.pathtcertificate,\r\n CertificateNo : vm.CertificateNo,\r\n CertificateIssueDate: CertificateIssueDate,\r\n CertificateExpiryDate: CertificateExpiryDate,\r\n CertificationYear: '',\r\n AssessmentLevel: '',\r\n Description : '',\r\n }\r\n \r\n if(tData.CertificateName && tData.TrainingCertificate && tData.CertificateIssueDate && tData.CertificateExpiryDate){\r\n vm.TrainingList.push(tData);\r\n vm.showTCList = false;\r\n vm.addTraningCertificateName = '';\r\n vm.CertificateNo = '';\r\n vm.CertificateIssueDate = moment();\r\n vm.CertificateExpiryDate = moment();\r\n vm.pathtcertificate = '';\r\n }else{\r\n vm.showTCList = false;\r\n vm.pathtcertificate = '';\r\n vm.addTraningCertificateName = '';\r\n vm.CertificateNo = '';\r\n vm.CertificateIssueDate = moment();\r\n vm.CertificateExpiryDate = moment();\r\n vm.showFailure(\"Warning\", \"You must select Certificate Name,CertificateIssueDate,CertificateExpiryDate & Upload File \");\r\n }\r\n}\r\n}\r\n\r\n vm.removeCurrentCertificate = function () {\r\n vm.showTCList = false;\r\n vm.addTraningCertificateName = '';\r\n vm.pathtcertificate = '';\r\n vm.CertificateNo = '';\r\n vm.CertificateIssueDate = moment();\r\n vm.CertificateExpiryDate = moment();\r\n }\r\n\r\n vm.showTCList = false;\r\n vm.addMoreCertificateInTable = function(){\r\n vm.showTCList = true;\r\n vm.tempCertificateAdd = true;\r\n }\r\n\r\n vm.tempCertificateAdd = false;\r\n vm.getCertificateSets = function () {\r\n var RemoveCertificate = [];\r\n var remainingCertificate = Array.from(vm.AllCertificateSets);\r\n angular.forEach(remainingCertificate, function (d) {\r\n for (var i = 0; i < vm.TrainingList.length; i++) {\r\n if (d.Name == vm.TrainingList[i].CertificateName) {\r\n RemoveCertificate.push(d);\r\n return;\r\n }\r\n }\r\n });\r\n angular.forEach(RemoveCertificate, function (s) {\r\n remainingCertificate.splice(remainingCertificate.indexOf(s), 1);\r\n })\r\n return remainingCertificate;\r\n }\r\n\r\n $scope.uploadCertificateFile = function (elem) {\r\n var index = (angular.element(elem).attr(\"data-index\"));\r\n // var doc = vm.BGDocList[index];\r\n var traning = vm.TrainingList[index];\r\n // vm.error[traning.CertificateName] = '';\r\n var file = elem.files[0];\r\n if (file.type == \"application/pdf\" || file.type == \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"\r\n || file.type == \"application/msword\" || file.type.indexOf(\"image/jpg\") >= 0 || file.type.indexOf(\"image/png\") >= 0\r\n || file.type.indexOf(\"image/bmp\") >= 0 || file.type.indexOf(\"image/jpeg\") >= 0) {\r\n var data = new FormData();\r\n data.append(\"files\", file);\r\n OnBoardingFormService.uploadProfilePic(loggedinUser, data, token, function (res) {\r\n if (res && res.status == 201 && res.data) {\r\n vm.pathtcertificate = res.data;\r\n if(vm.pathtcertificate){\r\n vm.tempCertificateAdd = false;\r\n }\r\n traning.TrainingCertificate = traning.TrainingCertificate = res.data;\r\n traning.CertificateName = traning.CertificateName;\r\n traning.edit = false;\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to upload profile pic, server error\");\r\n });\r\n } else {\r\n vm.error[traning.CertificateName] = \"You can upload image, pdf or word document only\";\r\n }\r\n }\r\n\r\n\r\n\r\n } \r\n});\nangular.module('inspinia').controller('TrainingUserListController', function(toaster, HelpDeskHomeAdminService, \r\n\t$state ,$localStorage, $scope, DTOptionsBuilder, DTColumnDefBuilder, PublicApiURL, $log, \r\n\tHelpDeskCustomerViewService, $uibModal, JobTicketViewService, $q, $timeout, ImageUrl) {\r\n\tvm = this;\r\n\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\r\n\t\r\n\r\n\t\tvm.SMS = function () {\r\n\t\t\tvm.AllBookingList ='';\r\n\t\t\t $scope.selected = null;\r\n\r\n\t\t\tvm.jobAppointmentModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'SMS.html',\r\n\t\t\t\tsize :'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t\r\n\t\t}\r\n\r\n\t\tvm.Email = function () {\r\n\t\t\tvm.AllBookingList ='';\r\n\t\t\t $scope.selected = null;\r\n\r\n\t\t\tvm.jobAppointmentModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'Email.html',\r\n\t\t\t\tsize :'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t\r\n\t\t}\r\n\t\tvm.InApp = function () {\r\n\t\t\tvm.AllBookingList ='';\r\n\t\t\t $scope.selected = null;\r\n\r\n\t\t\tvm.jobAppointmentModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'InApp.html',\r\n\t\t\t\tsize :'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t\r\n\t\t}\r\n\r\n}\r\n});\nangular.module('inspinia').service('VendorListService',function(ApiURL, $http){\r\n\r\n//http://localhost:56749/api/Vendor/kanika.bansal%40innotiontech.com/getallvendors\r\nthis.GetAllVendors = function(loggedInUser,token){\r\n\tvar url = ApiURL + '/api/Vendor/' + loggedInUser + '/getallvendors';\r\n\treturn $http.get(url,{\r\n\t\theaders:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n\t})\r\n}\r\n\r\n//http://localhost:56749/api/Vendor/kanika.bansal%40innotiontech.com/V0000000001/getvendorbyid\r\nthis.GetVendorById = function(loggedInUser,vendorId, token){\r\n\tvar url = ApiURL + '/api/Vendor/' + loggedInUser + '/' + vendorId + '/getvendorbyid';\r\n\treturn $http.get(url,{\r\n\t\theaders:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n\t})\r\n}\r\n\r\n//http://localhost:56749/api/Vendor/kanika.bansal%40innotiontech.com/V0000000001/false/updateVendorStatus\r\n\r\nthis.UpdateVendorStatus = function(loggedInUser,vendorId, status, token){ \r\n var url = ApiURL + '/api/Vendor/' + loggedInUser + '/' + vendorId + '/' + status +'/updateVendorStatus';\r\n return $http.put(url,null, {\r\n headers: {'Content-Type' : 'application/json',\r\n 'Token':token, 'UserId':loggedInUser\r\n\t}\r\n })\r\n }\r\n\r\n});\nangular.module('inspinia').controller('VendorListController', function (VendorListService, $rootScope, $q, $compile, $scope, DTColumnBuilder, DTOptionsBuilder, ActiveUserService, $state, $localStorage, $uibModal, DTColumnDefBuilder, toaster, $timeout) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n $rootScope.rootScopeMessage = '';\r\n //Global Variable Declaration\r\n vm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n var token = $localStorage.token;\r\n vm.vendorList = '';\r\n vm.vendorData = '';\r\n vm.ActivationStatus = '';\r\n vm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n vm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n vm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n vm.searchText = '';\r\n vm.dtInstance = {};\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n } else {\r\n vm.preProcessData = function (vendor) {\r\n var locations = \"\";\r\n angular.forEach(vendor.VendorLocations, function (l) {\r\n locations += l + \",\";\r\n });\r\n vendor.allLocations = locations.length > 0 ? locations.substring(0, locations.length - 1) : \"\";\r\n\r\n var skills = \"\";\r\n angular.forEach(vendor.VendorSkillsets, function (s) {\r\n skills += s + \",\";\r\n });\r\n vendor.allSkills = skills.length > 0 ? skills.substring(0, skills.length - 1) : \"\";\r\n }\r\n\r\n //Get All Vendors\r\n vm.GetAllVendors = function () {\r\n VendorListService.GetAllVendors(loggedinUser, token).then(function (resp) {\r\n if (resp.data && resp.data.length > 0) {\r\n // if(!angular.equals(vm.vendorList,resp.data)){\r\n vm.vendorList = resp.data;\r\n vm.GetVendorDataById(vm.vendorList[0].VendorId);\r\n // angular.forEach(vm.vendorList, function (v) {\r\n // vm.preProcessData(v);\r\n // });[]\r\n\r\n // vm.vendorData = vm.vendorList[0];\r\n // vm.ActivationStatus = vm.vendorData.VendorStatus == \"Active\" ? true : false;\r\n // }\r\n\r\n }\r\n })\r\n }\r\n vm.profileData = function (vendorId) {\r\n $state.go('index.VendorProfile', {\r\n vendorId: vendorId\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n //Get VendorData by Vendor Id\r\n vm.GetVendorDataById = function (vendorId) {\r\n VendorListService.GetVendorById(loggedinUser, vendorId, token).then(function (resp) {\r\n if (resp.data) {\r\n // if (!angular.equals(vm.vendorData,resp.data)) {\r\n vm.vendorData = resp.data;\r\n // vm.preProcessData(vm.vendorData);\r\n // vm.ActivationStatus = vm.vendorData.VendorStatus == \"Active\" ? true : false;\r\n // }\r\n }\r\n })\r\n }\r\n \r\n\r\n //Vendor Edit Mode\r\n vm.EditVendor = function (vendorId) {\r\n $state.go('index.VendorEdit', {\r\n vendorId: vendorId\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n //Update Status\r\n vm.UpdateActivation = function (vendorId, status) {\r\n VendorListService.UpdateVendorStatus(loggedinUser, vendorId, status, token).then(function (resp) {\r\n\r\n if (resp.status == 202) {\r\n if (resp.data) {\r\n\r\n vm.toaster_success.body = resp.data;\r\n toaster.pop(vm.toaster_success);\r\n\r\n $timeout(function () {\r\n vm.GetAllVendors();\r\n }, 1000);\r\n }\r\n } else {\r\n vm.toaster_fail.body = resp.data;\r\n toaster.pop(vm.toaster_fail);\r\n }\r\n\r\n\r\n })\r\n //$log.log('ActivationStatus', vm.ActivationStatus); \r\n }\r\n\r\n vm.searchTable = function () {\r\n vm.dtInstance.DataTable.search(vm.searchText);\r\n vm.dtInstance.DataTable.search(vm.searchText).draw();\r\n };\r\n\r\n /*vm.dtOptions = DTOptionsBuilder.newOptions().withDOM(\r\n '<\"html5buttons\"B>lTfgitp')\r\n .withButtons([])\r\n .withPaginationType(\r\n 'full_numbers').withOption('lengthChange', false)\r\n .withOption('initComplete', function () {\r\n $('.dataTables_filter input').unbind();\r\n })\r\n .withOption('order', [0, 'asc']);*/\r\n\r\n // vm.dtOptions = DTOptionsBuilder.fromFnPromise(function(){\r\n // var defer = $q.defer();\r\n // VendorListService.GetAllVendors(loggedinUser,token).then(function(resp){\r\n // vm.vendor = resp.data;\r\n // angular.forEach(vm.vendor, function (v) {\r\n // vm.preProcessData(v);\r\n // });\r\n // vm.vendorData = vm.vendor[0];\r\n // vm.ActivationStatus = vm.vendorData.VendorStatus == \"Active\" ? true : false;\r\n\r\n // defer.resolve(vm.vendor);\r\n // });return defer.promise;\r\n // })\r\n // .withPaginationType('full_numbers').withDOM('<\"html5buttons\"B>lTfgitp').withOption('rowCallback', rowCallback).withOption('order', [0, 'desc']).withOption('createdRow',createdRow);\r\n\r\n // function createdRow(row, data, dataIndex) {\r\n // // Recompiling so we can bind Angular directive to the DT\r\n // $compile(angular.element(row).contents())($scope);\r\n // }\r\n\r\n // function rowCallback(nRow, aData, iDisplayIndex, iDisplayIndexFull){\r\n // $('td', nRow).unbind('click');\r\n // $('td', nRow).bind('click', function() {\r\n // $('td', nRow).css(\"background\",\"Snow\");\r\n // $scope.$apply(function() {\r\n // vm.GetVendorDataById(aData.VendorId);\r\n // });\r\n // });\r\n // }\r\n\r\n\r\n // vm.dtColumns = [\r\n // DTColumnBuilder.newColumn(null).withTitle('Id').renderWith(function(data, type, full, meta){\r\n // return ' ' + data.VendorId + '';\r\n // }),\r\n // DTColumnBuilder.newColumn('FirstName','LastName').withTitle('Name').renderWith(function(data, type, full, meta){\r\n // return ''+ full.FirstName + ' ' + full.LastName +'';\r\n // }),\r\n // DTColumnBuilder.newColumn('CompanyName').withTitle('Company Name').notSortable(),\r\n // DTColumnBuilder.newColumn('MobileNumber').withTitle('MobileNo').notSortable(),\r\n // DTColumnBuilder.newColumn('EmailId').withTitle('Email').notSortable(),\r\n // DTColumnBuilder.newColumn('AddressLine1').withTitle('Address Line1').notSortable(),\r\n // DTColumnBuilder.newColumn('AddressLine2').withTitle('Address Line2').notSortable(),\r\n // DTColumnBuilder.newColumn('City').withTitle('City').notSortable(),\r\n // DTColumnBuilder.newColumn('State').withTitle('State').notSortable(),\r\n // DTColumnBuilder.newColumn('Pincode').withTitle('PinCode').notSortable(),\r\n // DTColumnBuilder.newColumn('VendorSkillsets').withTitle('Skill').notSortable().renderWith(function(data, type, full, meta){\r\n // return '
'+data+'
';\r\n // }),\r\n // DTColumnBuilder.newColumn('VendorLatitude').withTitle('Latitude').notSortable(),\r\n // DTColumnBuilder.newColumn('VendorLongitude').withTitle('Longitude').notSortable(),\r\n // DTColumnBuilder.newColumn('VendorLocations').withTitle('Location').notSortable().renderWith(function(data, type, full, meta){\r\n \r\n // return '
'+data+'
';\r\n // }),\r\n // DTColumnBuilder.newColumn('VendorStatus').withTitle('Status').notSortable().renderWith(function (data, type, full, meta) {\r\n // if(full.VendorStatus=='Active'){\r\n // var VendorStatus = 'label label-info'\r\n // }else if(full.VendorStatus=='Inactive'){\r\n // VendorStatus = 'label label-danger'\r\n // }\r\n // return \"\"+full.VendorStatus+\"\";\r\n // })\r\n\r\n // ];\r\n vm.dtOptions = DTOptionsBuilder.newOptions()\r\n \r\n\t\t.withPaginationType('full_numbers')\r\n\t\t.withOption('lengthChange', true)\r\n\t\t.withOption('paging', true)\r\n\t\t.withOption('bInfo',true)\r\n\t\t.withOption('order', [0, 'desc'])\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(7).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(8).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(9).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(10).notSortable()\r\n ];\r\n vm.GetAllVendors();\r\n\r\n // vm.dtOptions = DTOptionsBuilder.newOptions().withDOM(\r\n // '<\"html5buttons\"B>lTfgitp').withPaginationType(\r\n // 'full_numbers').withOption('lengthChange', false)\r\n // .withOption('initComplete', function () {\r\n // $('.dataTables_filter input').unbind();\r\n // })\r\n // .withOption('order', [1, 'asc']);\r\n\r\n // vm.dtColumnDefs = [\r\n // DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n // // DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(5).notSortable()];\r\n // vm.PieChart5 = {\r\n // data: [226, 134],\r\n // options: {\r\n // fill: [\"#1ab394\", \"#d7d7d7\"]\r\n // }\r\n // };\r\n\r\n\r\n // Global Calling\r\n // vm.GetAllVendors();\r\n\r\n vm.RechargeHistory = function(userId) {\r\n RechargeModal = $uibModal.open({\r\n templateUrl: 'viewRechargeHistory.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n resolve : {\r\n items : function(){\r\n return {\r\n AccountName:vm.CompanyName,\r\n AccountId:vm.Email\r\n };\r\n }\r\n },\r\n size:'lg'\r\n });\r\n ActiveUserService.getFreelancerHistory(userId, token).then(function(resp){\r\n if (resp && resp.data) {\r\n vm.AccountHistoryData = resp.data;\r\n }\r\n })\r\n }\r\n\r\n vm.CloseRechargeModal = function(){\r\n RechargeModal.close();\r\n }\r\n\r\n }\r\n});\nangular.module('inspinia').controller('TrackingController', function (UIURL, $uibModal, $state, $localStorage, $scope,$timeout,\t $stateParams, $log, PaymentSectionService, ImageUrl, $window) {\r\n\r\n\tvar vm = this;\r\n\r\n \r\n// vm.getPicUrl = function (pic) {\r\n// return ImageUrl + \"/\" + pic;\r\n// }\r\nvm.getPicUrl = function (profilePicName) {\r\n return profilePicName ? ImageUrl + \"/\" + profilePicName : null;\r\n}\r\n/*function myMap() {\r\nvar mapProp= {\r\n center:new google.maps.LatLng(28.5482795,77.3533943),\r\n zoom:5,\r\n};\r\nvar map = new google.maps.Map(document.getElementById(\"googleMap\"),mapProp);\r\n}\r\n\r\nmyMap();\r\n\r\n*/\r\n\r\n vm.accCheck = '';\r\n\r\n var accountId = $stateParams.accountId;\r\n var jobCardId = $stateParams.jobCardId;\r\n \r\n vm.showSuccess = $scope.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.main.showFailure;\r\n vm.round2Decimal = $scope.$parent.main.round2Decimal;\r\n\r\n vm.feedback = {};\r\n vm.customerJobCard = {};\r\n var DefaultImage = UIURL+'/assets/images/patterns/Photo1.png';\r\n\r\n/// this is also used \r\n// var directionsDisplay;\r\n// var directionsService = new google.maps.DirectionsService();\r\n\r\n// function initMap() {\r\n\r\n\r\n\r\n// directionsDisplay = new google.maps.DirectionsRenderer();\r\n// var chicago = new google.maps.LatLng(28.5482795 , 77.3533943);\r\n// var mapOptions = {\r\n// zoom: 7,\r\n// center: chicago\r\n// }\r\n// var map = new google.maps.Map(document.getElementById('map'), mapOptions);\r\n// directionsDisplay.setMap(map);\r\n// calcRoute(map);\r\n\r\n// }\r\n\r\n\r\n// function calcRoute(map) {\r\n\r\n\r\n// var start = new google.maps.LatLng(vm.JobLatitude , vm.JobLongitude);\r\n// var end = new google.maps.LatLng(vm.FELatitude, vm.JobLongitude);\r\n// var startMark = new google.maps.Marker({\r\n// position: start,\r\n// map: map,\r\n// title: \"start\"\r\n\r\n\r\n// });\r\n// var endMark = new google.maps.Marker({\r\n// position: end,\r\n// map: map,\r\n// title: \"end\"\r\n// });\r\n// var request = {\r\n// origin: start,\r\n// destination: end,\r\n// travelMode: 'DRIVING'\r\n// };\r\n\r\n// directionsService.route(request, function(response, status) {\r\n// if (status == 'OK') {\r\n// directionsDisplay.setDirections(response);\r\n// } else {\r\n// alert(\"directions request failed, status=\"+status)\r\n// }\r\n// });\r\n// }\r\n// google.maps.event.addDomListener(window, \"load\", initMap);\r\n\r\n \r\n\r\n$scope.details = false;\r\n \r\n$scope.showDetails = function(){\r\n $scope.details = true; \r\n};\r\n\r\n \r\n$scope.hideDetails = function(){\r\n $scope.details = false; \r\n};\r\n\r\n//It is used for the distance also \r\nfunction initMap() { \r\n var pointA = new google.maps.LatLng(vm.JobLatitude, vm.JobLongitude),\r\n pointB = new google.maps.LatLng(vm.FELatitude, vm.FELongitude),\r\n // center = new google.maps.LatLng(51.3, 0.8),\r\n myOptions = {\r\n zoom: 8,\r\n zoomControl: false,\r\n scaleControl: true,\r\n mapTypeControl: false,\r\n streetViewControl: false,\r\n gestureHandling: 'greedy',\r\n // center: center,\r\n mapTypeId: google.maps.MapTypeId.ROADMAP\r\n },\r\n \r\n\r\n map = new google.maps.Map(document.getElementById('map-canvas'), myOptions),\r\n // Instantiate a directions service.\r\n directionsService = new google.maps.DirectionsService,\r\n directionsDisplay = new google.maps.DirectionsRenderer({\r\n map: map\r\n }),\r\n\r\n duration = document.getElementById('duration');\r\n distance = document.getElementById('distance');\r\n flightPath = new google.maps.Polyline({\r\n path: [pointA, pointB],\r\n // geodesic: true,\r\n strokeColor: 'red',\r\n // strokeOpacity: 1.0,\r\n // strokeWeight: 2\r\n });\r\n\r\n\r\n // click on marker B to get route from A to B\r\n calculateAndDisplayRoute(directionsService, directionsDisplay, pointA, pointB, distance, duration, map);\r\n\r\n var travelMode = \"DRIVING\";\r\n\r\n var icon =\"https://img.icons8.com/color/96/000000/street-view.png\";\r\n/* var marker = new google.maps.Marker({\r\n position: pointA,\r\n icon: icon,\r\n map: map\r\n });\r\n var marker = new google.maps.Marker({\r\n position: pointB,\r\n icon: icon,\r\n map: map\r\n });\r\n*/\r\n\r\n/*directionsDisplay.setMap(map);\r\ndirectionsDisplay.setOptions( { suppressMarkers: true } );*/\r\n\r\n /* var startMarker = new google.maps.Marker({ position: pointA, map: map, icon: icon });\r\n var stopMarker = new google.maps.Marker({ position: pointB, map: map, icon: icon });*/\r\n\r\n}\r\n\r\n\r\nfunction calculateAndDisplayRoute(directionsService, directionsDisplay, pointA, pointB, distance, duration,map) {\r\n var selectedMode =\"DRIVING\";\r\n directionsService.route({\r\n origin: pointA,\r\n destination: pointB,\r\n unitSystem: google.maps.UnitSystem.METRIC,\r\n travelMode: google.maps.TravelMode[selectedMode]\r\n }, function(response, status) {\r\n if (status == google.maps.DirectionsStatus.OK) {\r\n\r\n /*directionsDisplay.setDirections(response);\r\n outputTxt.innerHTML = Math.round(directionsDisplay.getDirections().routes[directionsDisplay.getRouteIndex()].legs[0].distance.value / 1000) + \"Km\";\r\n vm.test =outputTxt.innerHTML;*/\r\n new google.maps.DirectionsRenderer({\r\n \r\n map: map,\r\n directions: response,\r\n suppressMarkers: true,\r\n\r\n polylineOptions: {\r\n strokeColor: \"#000000\"\r\n }\r\n\r\n });\r\n var leg = response.routes[0].legs[0]; \r\n //outputTxt.innerHTML =(response.routes[0].legs[0].distance.value/1000) + \" Kms\";\r\n distance.innerHTML =response.routes[0].legs[0].distance.text;\r\n duration.innerHTML =response.routes[0].legs[0].duration.text;\r\n\r\n vm.distance = response.routes[0].legs[0].distance.value/1000;\r\n \r\n makeMarker(leg.start_location, icons.start, \"title\", map);\r\n makeMarker(leg.end_location, icons.end, 'title', map);\r\n/*directionsDisplay = new google.maps.DirectionsRenderer({\r\n polylineOptions: {\r\n strokeColor: \"red\"\r\n }\r\n });\r\n*/\r\n \r\n\r\n\r\n } else {\r\n window.alert('Directions request failed due to ' + status);\r\n }\r\n });\r\n}\r\n\r\n function makeMarker(position, icon, title, map) {\r\n new google.maps.Marker({\r\n position: position,\r\n map: map,\r\n icon: icon,\r\n title: title\r\n });\r\n }\r\n\r\n var icons = {\r\n start: new google.maps.MarkerImage(\r\n // URL\r\n UIURL+'/assets/images/patterns/JOb_icon.png',\r\n // (width,height)\r\n new google.maps.Size(44, 32),\r\n // The origin point (x,y)\r\n new google.maps.Point(0, 0),\r\n // The anchor point (x,y)\r\n new google.maps.Point(22, 32)),\r\n end: new google.maps.MarkerImage(\r\n // URL\r\n UIURL+'/assets/images/patterns/mascot_icon2.png',\r\n // (width,height)\r\n new google.maps.Size(44, 32),\r\n // The origin point (x,y)\r\n new google.maps.Point(0, 0),\r\n // The anchor point (x,y)\r\n new google.maps.Point(22, 32))\r\n };\r\n\r\n\r\n vm.getReadableDate = function(){\r\n var time = new moment(vm.customerJobCard.JobDateTime, \"YYYY-MM-DDThh:mm:ss\");\r\n return time.format(\"DD MMM YYYY\")+\" at \"+time.format(\"LTS\");\r\n }\r\n\r\n vm.getCustomerJobCard = function(){\r\n \t//var accountId ='35';\r\n //\tvar jobCardId ='V0000000259';\r\n \t\r\n PaymentSectionService.getCustomerJobCardById(jobCardId, function(data){ debugger\r\n \r\n vm.JobLatitude = data.JobLatitude;\r\n vm.JobLongitude = data.JobLongitude;\r\n vm.FELatitude = data.FELatitude;\r\n vm.FELongitude = data.FELongitude;\r\n vm.contactnumber = data.FEContactNumber;\r\n vm.consumername = data.ConsumerName;\r\n vm.name = data.FEName;\r\n vm.jobtype = data.Description;\r\n vm.consumerAddress = data.ConsumerAddress;\r\n vm.MMFPrimeMember = data.MMFPrimeMember;\r\n vm.IsVaccinated = data.IsVaccinated;\r\n vm.ConsumerOTP = data.ConsumerOTP;\r\n vm.NumberToCall = data.NumberToCall;\r\n vm.CallInitiate = \"+91\" + vm.NumberToCall + ',' + vm.ConsumerOTP;\r\n data.ratingStars = vm.getRatingStars(Math.round(data.FERating));\r\n data.blankStars = vm.getBlankStars(Math.round(data.FERating));\r\n $log.log(\"res of getCustomerJobCard=\"+data);\r\n vm.customerJobCard = data;\r\n if($localStorage.rateJobParams){\r\n vm.customerJobCard.JobStatus=$localStorage.rateJobParams.status;\r\n vm.customerJobCard.CustomerGivenRating=$localStorage.rateJobParams.rating;\r\n delete $localStorage.rateJobParams;\r\n }\r\n if(data && data.JobStatus == 'PaymentDone'){\r\n // vm.OpenApproveModal();\r\n\r\n /* $state.go('RateJob', {\r\n accountId: accountId,\r\n jobCardId: jobCardId,\r\n reload: true\r\n });*/\r\n }\r\n \r\n }, function(){\r\n vm.showFailure(\"Failed\", \"Unable to reach server\");\r\n }); \r\n }\r\n vm.getCustomerJobCard();\r\n\r\n\r\n\r\n $timeout(function () {\r\n vm.mapMarkers=[];\r\n initMap();\r\n }, 3000);\r\n\r\n// vm.getImageUrl = function(profilePic) {\r\n// debugger\r\n// return profilePic ? ImageUrl + '/' + profilePic : DefaultImage;\r\n// } \r\n\r\nvm.getRatingStars = function (rating) {\r\n var stars = [];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.push(i);\r\n }\r\n }\r\n return stars;\r\n}\r\n\r\nvm.getBlankStars = function (rating) {\r\n var stars = [1, 2, 3, 4, 5];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.splice(stars.indexOf(i), 1);\r\n }\r\n }\r\n return stars;\r\n}\r\n\r\nvm.clickToCall = function () {\r\n $window.location.href = 'tel://'+vm.CallInitiate;\r\n}\r\n\r\n});\r\n\r\n\r\n/*28.5482795 77.3533943\r\nlat: 28.6136454, long: 77.3635635,\r\n2: {lat: 28.6136454, long: 77.3635635, \r\n3: {lat: 28.5929474, long: 77.3446234,\r\n4: {lat: 28.5929474, long: 77.3446234,\r\n5: {lat: 28.6136454, long: 77.3635635,\r\n6: {lat: 28.5987611, long: 77.3471111,\r\n7: {lat: 28.6136454, long: 77.3635635, \r\n9: {lat: 28.6136454, long: 77.3635635, \r\n10: {lat: 28.6136454, long: 77.3635635, \r\n11: {lat: 28.6136454, long: 77.3635635,\r\n12: {lat: 28.6049374, long: 77.3548647,\r\n\t13: {lat: 28.6049374, long: 77.3548647, */\nangular.module('inspinia').service('ToolUtilityService', function (ApiURL, $http, FreelancerURL, LocationURL) {\r\n\r\n this.GetJobsSetupForDemo = function (loggedInUserId, token) {\r\n var url = ApiURL + '/api/Ticket/GetJobsSetupForDemo?reqUserId='+loggedInUserId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId':loggedInUserId\r\n }\r\n });\r\n }\r\n //https://demo.mymobiforce.com/coreapi/api/Ticket/CreateJobsForDemo?reqUserId=U680000000001&OnDate=2021-01-20&Skill=Acceptance%20Test\r\n this.CreateJobsUtility = function (loggedinUser, jobStartDate, skill, token) {\r\n var url = ApiURL + '/api/Ticket/CreateJobsForDemo?reqUserId=' + loggedinUser + '&OnDate=' + jobStartDate + '&Skill=' + skill;\r\n return $http.post(url, {},{\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token,\r\n 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n // https://demo.mymobiforce.com/coreapi/api/Ticket/DeleteTicketWithRelatedDataOnDate?Date=2021-01-29&reqUserId=U710000000001\r\n this.CleanupJobs = function(loggedinUser,cleanupdate,token){\r\n var url = ApiURL+'/api/Ticket/DeleteTicketWithRelatedDataOnDate?Date=' + cleanupdate + '&reqUserId=' + loggedinUser;\r\n return $http.delete(url,{\r\n headers:{'Content-Type':'application/json','Token':token, 'UserId':loggedinUser}\r\n })\r\n }\r\n // https://demo.mymobiforce.com/coreapi/api/TicketSlot/CreateSlotsByDate?reqUserId=U680000000001&OnDate=2021-01-20\r\n this.CreateSlot = function (loggedinUser, jobStartDate, token) {\r\n var url = ApiURL + '/api/TicketSlot/CreateSlotsByDate?reqUserId=' + loggedinUser + '&OnDate=' + jobStartDate;\r\n return $http.post(url, {}, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n \r\n});\r\n\nangular.module('inspinia').controller('ToolUtilityController', function ($scope, $state, $filter, ToolUtilityService, OnBoardingFormService, $log, $stateParams, $localStorage, DTColumnDefBuilder, DTOptionsBuilder, ImageUrl) {\r\n var vm = this; \r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n\r\n if (!loggedinUser) {\r\n\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n var loggedinUserRole = $localStorage.loggedInUser_Role;\r\n vm.dtInstance = {};\r\n vm.error = {};\r\n\r\n vm.showSuccess = $scope.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.main.showFailure;\r\n \r\n\r\n vm.openCalendar = function (e, picker) {\r\n\t\t\tvm.AppointmentsDate.open = true;\r\n };\r\n var datelimit = new Date();\r\n vm.SelectedJobDate = moment().format(\"YYYY-MM-DD\");\r\n\t\tdatelimit.setMinutes(datelimit.getMinutes() + 1)\r\n vm.AppointmentsDate = { date: '', datepickerOptions: { minDate: datelimit }, timepicker:false }; \r\n \r\n vm.DisplayCleanupJobDate = new Date();\r\n vm.openCalendarCleanupjob = function (e, picker) {\r\n\t\t\tvm.Cleanupjobs.open = true;\r\n };\r\n\t\t\r\n vm.getJobCountandSkill = function()\r\n {\r\n ToolUtilityService.GetJobsSetupForDemo(loggedinUser,token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.CountandSkillList = resp.data;\r\n }\r\n },\r\n function () {\r\n \r\n })\r\n }\r\n vm.getJobCountandSkill();\r\n vm.CleanupJobDateFormat = function(_date)\r\n {\r\n return moment(_date).format(\"DD/MM/YYYY\");\r\n }\r\n vm.CreateJobsUtility = function(skill)\r\n { \r\n var sdate =moment(vm.SelectedJobDate).format(\"YYYY-MM-DD\");\r\n ToolUtilityService.CreateJobsUtility(loggedinUser,sdate,skill, token).then(function (resp) {\r\n if (resp.status == 200) { \r\n vm.showSuccess(\"Success\", \"Job has been created successfully!\");\t \r\n } \r\n }, function (error) { \r\n \r\n })\r\n }\r\n vm.CleanupsJobs = function()\r\n {\r\n var _cleanupdate = moment(vm.SelectedJobDate).format(\"YYYY-MM-DD\");\r\n ToolUtilityService.CleanupJobs(loggedinUser, _cleanupdate,token).then(function(resp){\r\n if (resp.status == 200) { \r\n vm.showSuccess(\"Success\", \"Job has been cleanup successfully!\");\t \r\n } \r\n }, function (error) { \r\n })\r\n }\r\n vm.CreateSlot = function()\r\n { \r\n var _createslotDate = moment(vm.SelectedJobDate).format(\"YYYY-MM-DD\");\r\n ToolUtilityService.CreateSlot(loggedinUser, _createslotDate,token).then(function(resp){\r\n if (resp.status == 201) { \r\n vm.showSuccess(\"Success\", \"Slot has been created successfully!\");\t \r\n } \r\n }, function (error) { \r\n })\r\n }\r\n}\r\n});\r\n\nangular.module('inspinia').service('TicketFormService', function (ApiURL,PublicApiURL, LocationURL, $log, $http, $localStorage) {\r\n\r\n\r\n\r\n this.uploadProfilePic = function (loggedinUser, data, success, failure) {\r\n $http.post(PublicApiURL + '/api/PostUserPic?reqUserId=' + loggedinUser, data, {\r\n headers: {\r\n 'Content-Type': undefined\r\n }\r\n }).then(success, failure);\r\n }\r\n\r\n\r\n this.GetSubRegion = function(loggedInUserId, token, region){\r\n var url = PublicApiURL + '/api/Location/GetSubRegion?userId='+ loggedInUserId + '®ion='+ region;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId':loggedInUserId}\r\n })\r\n }\r\n\r\n this.GetCityBySubRegion = function(loggedInUserId, subRegion, token){\r\n var subRegion1 = subRegion.replace(\"&\", \"%26\");\r\n var url = PublicApiURL + '/api/Location/GetCity?userId='+ loggedInUserId + '&subregion='+ subRegion;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId':loggedInUserId}\r\n })\r\n }\r\n\r\n\r\n this.CreateTicket = function (loggedinUser,Data) {\r\n var url = PublicApiURL + '/api/Ticket/CreateTicketByPublicUser?reqUserId='+loggedinUser;\r\n return $http.post(url, Data, {\r\n headers: { 'Content-Type': 'application/json' }\r\n });\r\n }\r\n\r\n \r\n \r\n});\nangular.module('inspinia').controller('TicketFormController', function (TicketFormService, ReferService, $rootScope, $log, $state, $localStorage, $stateParams,ImageUrl, $scope, toaster, $timeout) {\r\n var vm = this;\r\n// var loggedinUser = $localStorage.loggedInUserId;\r\n var loggedinUser = 'U390000000001';\r\n //var token = $localStorage.token;\r\n var token ='e3281c15-e73d-438f-871c-fe84206fefbe';\r\n var region ='DELHI'\r\n\r\n vm.showSuccess = $scope.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.main.showFailure;\r\n\r\nvar Image=\"Image\";\r\n \r\nvm.address1 ='';\r\nvm.address2 ='';\r\nvm.city ='';\r\nvm.complaint ='';\r\n vm.complaint = '';\r\n vm.Issue ='';\r\n\r\n vm.first_name = '';\r\n vm.last_name ='';\r\n vm.phone ='';\r\n vm.state =''; \r\n vm.complaint ='';\r\n vm.Pincode ='';\r\nvm.Picture ='';\r\n\r\n\r\n\r\n\r\n\r\n vm.selectSubRegion = function(region){\r\n \r\n TicketFormService.GetSubRegion(loggedinUser, token, region).then(function(resp){\r\n if (resp.status==200) {\r\n if (resp.data && resp.data.values.length>0) {\r\n vm.stateList = resp.data.values;\r\n // $log.log('SubRegionList',vm.stateList);\r\n }\r\n }\r\n })\r\n }\r\n vm.selectSubRegion(region);\r\n\r\n vm.selectCitySubRegion = function(subregion){\r\n TicketFormService.GetCityBySubRegion(loggedinUser, subregion, token).then(function(resp){\r\n if (resp.status==200) {\r\n if (resp.data && resp.data.values.length>0) {\r\n vm.CityList = resp.data.values;\r\n //$log.log('SubRegionList',vm.CityList);\r\n }\r\n }\r\n })\r\n }\r\n\r\nvm.saveForm = function() {\r\n\r\n\r\n var data ={ \r\n \"TicketType\": \"Normal\",\r\n \"Address1\": vm.address1,\r\n \"Address2\": vm.address2,\r\n \"JobId\": \"\",\r\n \"City\": vm.city,\r\n \"State\": \"DELHI\",\r\n \"Country\": \"INDIA\",\r\n \"Template\": vm.complaint,\r\n \"JobType\": vm.complaint, \r\n \"JobDescription\": vm.Issue,\r\n \"ConsumerName\": vm.first_name +' '+ vm.last_name,\r\n \"ConsumerContactNumber\": vm.phone,\r\n \"Region\": \"DELHI\",\r\n \"SubRegion\": vm.state, \r\n \"CallType\": vm.complaint,\r\n \"Latitude\": \"\",\r\n \"Longitude\": \"\",\r\n \"Pincode\": vm.Pincode,\r\n \"JobTemplateModel\": {\r\n \"TemplateItems\": {\"Image\" :vm.Picture},\r\n \"sectionMap\": {}\r\n }\r\n }\r\n\r\n if(vm.registration_form.$valid){\r\n $rootScope.$broadcast(\"loader_gif_show\");\r\n TicketFormService.CreateTicket(loggedinUser,data).then(function (resp) {\r\n $log.log(resp, resp.status, resp.data, resp.data.Message);\r\n if (resp.status == 201) {\r\n vm.showSuccess(\"Ticket Creation Status\", \"Ticket created successfully.\");\r\n $rootScope.rootScopeMsg = resp.data;\r\n $timeout(function () {\r\n $state.go('ThankyouTicket', {\r\n reload: true\r\n });\r\n }, 2000);\r\n } else if(resp.status == 206){ \r\n vm.showFailure(\"Ticket Creation Failed \", resp.data.Message);\r\n } else { \r\n vm.showFailure(\"Ticket Creation failed\", \"Ticket creation failed. Server is not responding correctly. Please try again later.\"); \r\n }\r\n }, function(err){ \r\n vm.showFailure(\"Ticket Creation failed\", \"Ticket creation failed. Server is not responding correctly. Please try again later.\");\r\n });\r\n }else {\r\n vm.registration_form.submitted = true;\r\n }\r\n}\r\n\r\n\r\n vm.changeFile = function (selector) {\r\n angular.element(selector).trigger(\"click\");\r\n }\r\n vm.getPicUrl = function (pic) {\r\n return ImageUrl + \"/\" + pic;\r\n }\r\n\r\n $scope.uploadImageFile = function (files, type) {\r\n\r\n vm.fileUploadError = null;\r\n var file = files.files[0];\r\n if(file.type.indexOf(\"image/jpg\")>=0 || file.type.indexOf(\"image/png\")>=0 \r\n || file.type.indexOf(\"image/bmp\")>=0 || file.type.indexOf(\"image/jpeg\")>=0){\r\n var data = new FormData();\r\n data.append(\"files\", files.files[0]);\r\n TicketFormService.uploadProfilePic(loggedinUser, data, function (res) {\r\n if (res && res.status == 201 && res.data) {\r\n vm[type] = res.data;\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to upload profile pic, server error\");\r\n });\r\n } else {\r\n vm.fileUploadError = \"Please upload image only as profile picture.\";\r\n }\r\n \r\n }\r\n\r\n\r\n \r\n});\nangular.module('inspinia').controller('ThankyouTicketController', function (TicketFormService, ReferService, $rootScope, $log, $state, $localStorage, $stateParams,ImageUrl, $scope, toaster, $timeout) {\r\n var vm = this;\r\n\r\n\r\n$scope.scopeMsg = $rootScope.rootScopeMsg;\r\n \r\n\r\n\r\n\r\n \r\n});\nangular.module('inspinia').service('ThankyouService', function ($http, PublicApiURL) {\r\n\r\n\t// this.getTollFreeNo = function(success, failure){\r\n\t// \t$http.get(ApiURL+\"/api/ServiceDetail/TollfreeNumber\").then(function(res){\r\n\t// \t\tif(res && res.data && res.data.tollfreeno){\r\n\t// \t\t\tsuccess(res.data.tollfreeno);\r\n\t// \t\t} else {\r\n\t// \t\t\tfailure(\"Failed\", \"Failed to get toll free no\")\r\n\t// \t\t}\t\t\t\r\n\t// \t}, function(err){\r\n\t// \t\tfailure(\"Failed\", \"Failed to get toll free no\");\r\n\t// \t})\r\n\t// }\r\n\r\n\tthis.activatingUser = function (userId, uniqueKey, success, failure) {\r\n\t var url = PublicApiURL + '/api/SignUp/?UniqueKey=' + uniqueKey + '&UserId=' + userId;\r\n\t return $http.put(url).then(success, failure);\r\n\t}\r\n});\r\n\nangular.module('inspinia').controller('ThankyouController', function ($state, $scope, ThankyouService, $stateParams) {\r\n\r\n\tvar vm = this;\r\n\r\n\tvm.showSuccess = $scope.$parent.main.showSuccess;\r\n\tvm.showFailure = $scope.$parent.main.showFailure;\r\n\r\n\t// vm.getTollFreeNo = function () {\r\n\t// \tThankyouService.getTollFreeNo(function (tollFreeNo) {\r\n\t// \t\tvm.tollFreeNo = tollFreeNo;\r\n\t// \t}, vm.showFailure);\r\n\t// }\r\n\t// vm.getTollFreeNo();\r\n\tvm.failed = false;\r\n\tvm.success = false;\r\n\r\n\r\n\tif ($state.current.name == 'VerifyUser') {\r\n\t\tvar userId = $stateParams.userId;\r\n\t\tvar user_unique_key = $stateParams.uniqueKey;\r\n\t\tvm.password = '';\r\n\t\tvm.emailName = '';\r\n\t\tactivatingUser(userId, user_unique_key);\r\n\t\tvm.type = \"verifyuser\";\r\n\t} else {\r\n\t\tvm.type = \"thankyou\";\r\n\t\tvm.success = true;\r\n\t}\r\n\r\n\tfunction activatingUser(userId, user_unique_key) {\r\n\t\tThankyouService.activatingUser(userId, user_unique_key, function (res) {\r\n\t\t\tif(res && res.status==202){\r\n\t\t\t\tvm.success = true;\r\n\t\t\t\tvm.PersonalEmail = res.data.PersonalEmail;\r\n\t\t\t\tvm.showSuccess(\"Success\", \"User activated successfully.\");\r\n\t\t\t} else if(res && res.data && res.data.ErrorCode && res.data.ErrorCode == 103){\r\n\t\t\t\tvm.failed = true;\r\n\t\t\t\tvm.errMsg = \"This activation url has been expired now.\";\t\t\t\t\r\n\t\t\t} else {\r\n\t\t\t\tvm.failed = true;\r\n\t\t\t\tvm.errMsg = \"Unable to activate user. Server is not responding correctly.\";\r\n\t\t\t}\r\n\t\t},\r\n\t\tfunction (err) {\r\n\t\t\tvm.failed = true;\r\n\t\t\tvm.errMsg = \"Unable to activate user. Server is not responding correctly.\";\r\n\t\t});\r\n\t}\r\n});\nangular.module('inspinia').service('TerritoryMappingService', function (ApiURL, MMFCRMURL,SchedulingAPI, $window, $http) {\r\n\r\n this.CreateSubRegionMaster = function (data, loggedInUser, token) {\r\n\t\tvar url = MMFCRMURL + '/api/CRMZonalMapping/CreateSubRegionMaster';\r\n\t\treturn $http.post(url, data, {\r\n\t\t\theaders: {\r\n\t\t\t\t'Content-Type': 'application/json',\r\n\t\t\t\t'Token': token,\r\n\t\t\t\t'UserId': loggedInUser\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n this.CreateRegionMaster = function (data, loggedInUser, token) {\r\n\t\tvar url = MMFCRMURL + '/api/CRMZonalMapping/CreateRegionMaster';\r\n\t\treturn $http.post(url, data, {\r\n\t\t\theaders: {\r\n\t\t\t\t'Content-Type': 'application/json',\r\n\t\t\t\t'Token': token,\r\n\t\t\t\t'UserId': loggedInUser\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n this.GetAllSubRegion = function (data, loggedInUser, token) {\r\n\t\tvar url = MMFCRMURL + '/api/CRMZonalMapping/GetAllSubRegion';\r\n\t\treturn $http.post(url, data, {\r\n\t\t\theaders: {\r\n\t\t\t\t'Content-Type': 'application/json',\r\n\t\t\t\t'Token': token,\r\n\t\t\t\t'UserId': loggedInUser\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n this.GetAllRegions = function (data, loggedInUser, token) {\r\n\t\tvar url = MMFCRMURL + '/api/CRMZonalMapping/GetAllRegions';\r\n\t\treturn $http.post(url, data, {\r\n\t\t\theaders: {\r\n\t\t\t\t'Content-Type': 'application/json',\r\n\t\t\t\t'Token': token,\r\n\t\t\t\t'UserId': loggedInUser\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n \r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('TerritoryMappingController', function (TerritoryMappingService,ReferService,$resource, toaster, $filter, $compile, $q, $state, $localStorage, $scope, DTOptionsBuilder, DTColumnBuilder, $uibModal,$window, $timeout) {\r\n\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\t\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\t\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\t\tvm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n\t\tvm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\t\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\t\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\t\t$scope.isNavCollapsed = true;\r\n\t\t$scope.isCollapsed = true;\r\n\t\t$scope.isCollapsedHorizontal = false;\r\n\t\tvm.dtInstance = {};\r\n\t\tvm.selectSingle = false;\r\n\t\tvm.disableExceptionButton = false;\r\n\t\tvm.ticketPageListCount = 10;\r\n\t\tvm.pageListCounts = [10, 20, 30, 50];\r\n\t\tvm.scheduleExceptionListNewLength=0;\r\n\t\tvar PageIndex = 1;\r\n\t\tvar PageSize = 10; \r\n\t\tvm.SearchByAccountName = '';\r\n\t\tvm.ExceptionType = '';\r\n\t\tvm.exceptionState = '';\r\n\t\tvm.showAllAccounts = [];\r\n\t\tvm.UserId='';\r\n\t\tvm.disableCreationButton = false;\r\n\t\t$scope.dates = { startDate: moment().subtract(0, 'days'), endDate: moment() };\r\n\t\tvar startDate = moment().subtract(0, 'days').format(\"YYYY-MM-DD\");\r\n\t\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\t\tvm.dtInstanceSubRegionModal = {};\r\n\t\tvm.searchSubRegionModelText = \"\";\r\n\t\tvm.dtInstanceRegionModal = {};\r\n\t\tvm.searchRegionModelText = \"\";\r\n\t\t$scope.ranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment()]\r\n\t\t};\r\n\r\n\t\t$scope.dateRangeChange = function (ev, picker) {\r\n\t\t\t// console.log(ev, picker);\r\n\t\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\t\tvm.getAllJobForExceptionList();\r\n\r\n\r\n\t\t};\r\n\r\n\t\t\r\n\t\t$scope.totalTableTickets = 0;\r\n\t\t$scope.ticketTablePerPage = vm.ticketPageListCount ; \r\n\t\t$scope.TicketTablepagination = {\r\n\t\t current: 1\r\n\t\t};\r\n\t\r\n\t\t// $scope.scrollProgress = 0;\r\n\r\n\t\t// angular.element($window).on('scroll', function() {\r\n\t\t// \tvar scrollTop = $window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\r\n\t\t// \tvar docHeight = document.documentElement.scrollHeight - document.documentElement.clientHeight;\r\n\t\t// \t$scope.scrollProgress = (scrollTop / docHeight) * 100;\r\n\t\t// \t$scope.$apply();\r\n\t\t// })\r\n\t\t\r\n\t\r\n\t\tvm.AddSubRegionModelOpen = function () {\r\n\t\t\tvm.addsubregion = $uibModal.open({\r\n\t\t\t templateUrl: 'AddSubRegion.html',\r\n\t\t\t size: 'md',\r\n\t\t\t backdrop: 'static',\r\n\t\t\t scope: $scope,\r\n\t\t\t});\r\n\t\t }\r\n\t \r\n\t\t vm.CloseAddSubRegionModel = function () {\r\n\t\t\tvm.addsubregion.close();\r\n\t\t\tvm.SubRegionName = \"\";\r\n\t\t\tvm.SubRegionState = \"\";\r\n\t\t\tvm.SubRegionCity = \"\";\r\n\t\t\tvm.SubRegionBranchCode = \"\";\r\n\t\t\t\r\n\t\t }\r\n\t\t vm.AddRegionModelOpen = function () {\r\n\t\t\tvm.addregion = $uibModal.open({\r\n\t\t\t templateUrl: 'AddRegion.html',\r\n\t\t\t size: 'md',\r\n\t\t\t backdrop: 'static',\r\n\t\t\t scope: $scope,\r\n\t\t\t});\r\n\t\t }\r\n\t \r\n\t\t vm.CloseAddRegionModel = function () {\r\n\t\t\tvm.addregion.close();\r\n\t\t\tvm.RegionName = \"\";\r\n\t\t\tvm.RegionSub = \"\";\r\n\t\t\t\r\n\t\t }\r\n\r\n\t\t function getAllStates() {\r\n\t\t\tvar defered = $q.defer();\r\n\t\t\tReferService.getAllState(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tdefered.resolve(resp);\r\n\t\t\t}, function (error) {\r\n\t\t\t\tdefered.reject(error);\r\n\t\t\t});\r\n\t\t\treturn defered.promise;\r\n\t\t}\r\n\r\n\t\tvar allStatePromise = getAllStates(loggedinUser);\r\n\t\tallStatePromise.then(function (resp) {\r\n\t\t\tvm.StateList = resp.data;\r\n\r\n\t\t});\r\n\t\tfunction getallCities(state) {\r\n\t\t\tReferService.getAllCity(loggedinUser, state, token).then(function (resp) {\r\n\t\t\t\tvm.CityList = resp.data;\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.selectedState = function (state) {\r\n\t\t\tgetallCities(state);\r\n\t\t}\r\n // Table For Subregioncreation\r\n\t\tvm.FilterSubRegion = '';\r\n\t\tvm.FilterLocationName = '';\r\n\r\n\r\n\t\tvm.searchSubRegionModelTable = function () {\r\n\t\t\tvm.dtInstanceSubRegionModal.DataTable.search(vm.searchSubRegionModelText);\r\n\t\t\tvm.dtInstanceSubRegionModal.DataTable.search(vm.searchSubRegionModelText).draw();\r\n\t\t };\r\n\r\n\t\t vm.dtOptionsSubRegionModel = DTOptionsBuilder.fromFnPromise(function () {\r\n\t\t\tvar defer = $q.defer();\r\n\t\t\tvar data = {\r\n\t\t\t\t\"SubRegion\": vm.FilterSubRegion,\r\n\t\t\t\t\"LocationName\": vm.FilterLocationName\r\n\t\t\t\t\r\n\t\t\t }\r\n\t\t\tTerritoryMappingService.GetAllSubRegion(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t vm.subregionList = resp.data;\r\n\t\t\t defer.resolve(vm.subregionList);\r\n\t\t\t})\r\n\t\t\treturn defer.promise;\r\n\t \r\n\t\t })\r\n\t\t\t.withDOM('<\"html5buttons\"B>lTfgitp')\r\n\t\t\t.withPaginationType('full_numbers')\r\n\t\t\t.withOption('order', [])\r\n\t\t\t.withOption('createdRow', createdRow)\r\n\t\t\t.withOption('rowCallback', rowCallback);\r\n\t \r\n\t\t vm.dtColumnsModel = [\r\n\t\t\tDTColumnBuilder.newColumn('SubRegion').withTitle('Sub Region'),\r\n\t\t\tDTColumnBuilder.newColumn('LocationName').withTitle('Location Name'),\r\n\t\t\tDTColumnBuilder.newColumn('BranchCode').withTitle('BranchCode'),\r\n\t\t\tDTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data) {\r\n\t\t\t\treturn '';\r\n\t\t\t})\r\n\t\t ];\r\n\r\n\r\n\t\t vm.refreshSubRegionTable = function () {\r\n\t\t\tvm.dtInstanceSubRegionModal.reloadData();\r\n\t\t\tvm.GetAllSubregionFilterForLocation();\r\n\t\t };\r\n\t\t \r\n\t $scope.$watchGroup(['vm.FilterSubRegion', 'vm.FilterLocationName'], function (newValues, oldValues) {\r\n\t\tif (newValues !== oldValues) {\r\n\t\t vm.refreshSubRegionTable();\r\n\t\t}\r\n\t });\r\n\r\n\t vm.GetAllFilterSubRegion = function () {\r\n\t\tvar data = {\r\n\t\t\t\"SubRegion\": '',\r\n\t\t\t\"LocationName\": '' \r\n\t\t\t\r\n\t\t }\r\n\t\t TerritoryMappingService.GetAllSubRegion(data,loggedinUser, token).then(function (resp) {\r\n\t\t if (resp && resp.data) {\r\n\t\t\tvm.AllFiltersubregion = resp.data;\r\n\t\t }\r\n\t\t})\r\n\t }\r\n\t vm.GetAllSubregionFilterForLocation = function () {\r\n\t\tvar data = {\r\n\t\t\t\"SubRegion\": vm.FilterSubRegion,\r\n\t\t\t\"LocationName\": ''\r\n\t\t\t\r\n\t\t }\r\n\t\t TerritoryMappingService.GetAllSubRegion(data,loggedinUser, token).then(function (resp) {\r\n\t\t if (resp && resp.data) {\r\n\t\t\tvm.AllFilterLocationname = resp.data;\r\n\t\t }\r\n\t\t})\r\n\t }\r\n\t vm.GetAllFilterSubRegion();\r\n\t vm.GetAllSubregionFilterForLocation();\r\n\r\n\t vm.clearsubregionfilter= function(){\r\n\t\tvm.FilterSubRegion = '';\r\n\t\tvm.FilterLocationName = '';\r\n\t\tvm.refreshSubRegionTable();\r\n\t }\r\n\t\t// Table for region\r\n\t\tvm.searchRegionModelTable = function () {\r\n\t\t\tvm.dtInstanceRegionModal.DataTable.search(vm.searchRegionModelText);\r\n\t\t\tvm.dtInstanceRegionModal.DataTable.search(vm.searchRegionModelText).draw();\r\n\t\t };\r\n\t\t vm.dtOptionsRegion = DTOptionsBuilder.fromFnPromise(function () {\r\n\t\t\tvar defer = $q.defer();\r\n\t\t\tvar data = {\r\n\t\t\t\t\"Region\": vm.FilterForRegion,\r\n\t\t\t\t\"SubRegion\": vm.FilterRegionSUb\r\n\t\t\t\t\r\n\t\t\t }\r\n\t\t\tTerritoryMappingService.GetAllRegions(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t vm.regionList = resp.data;\r\n\t\t\t defer.resolve(vm.regionList);\r\n\t\t\t})\r\n\t\t\treturn defer.promise;\r\n\t \r\n\t\t })\r\n\r\n\t\t \r\n\t\t\t.withDOM('<\"html5buttons\"B>lTfgitp')\r\n\t\t\t.withPaginationType('full_numbers')\r\n\t\t\t.withOption('order', [])\r\n\t\t\t.withOption('createdRow', createdRow)\r\n\t\t\t.withOption('rowCallback', rowCallback);\r\n\t \r\n\t\t vm.dtColumnsRegion = [\r\n\t\t\tDTColumnBuilder.newColumn('Region').withTitle('Region'),\r\n\t\t\tDTColumnBuilder.newColumn('SubRegion').withTitle('Sub Region'),\r\n\t\t\t// DTColumnBuilder.newColumn('BranchCode').withTitle('BranchCode'),\r\n\t\t\tDTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data) {\r\n\t\t\t\treturn '';\r\n\t\t\t })\r\n\t\t ];\r\n\t\t function createdRow(row) {\r\n\t\t\t$compile(angular.element(row).contents())($scope);\r\n\t\t }\r\n\t\t function rowCallback(nRow) {\r\n\t\t\t$('td', nRow).unbind('click');\r\n\t\t\t$('td', nRow).bind('click', function () {\r\n\t\t\t $scope.$apply(function () { });\r\n\t\t\t});\r\n\t\t\treturn nRow;\r\n\t\t }\r\n\r\n\r\n\t\t vm.refreshRigionTable = function () {\r\n\t\t\tvm.dtInstanceRegionModal.reloadData();\r\n\t\t\tvm.GetAllFilterRegionSub ();\r\n\t\t };\r\n\t\t \r\n\t $scope.$watchGroup(['vm.FilterForRegion', 'vm.FilterRegionSUb'], function (newValues, oldValues) {\r\n\t\tif (newValues !== oldValues) {\r\n\t\t vm.refreshRigionTable();\r\n\t\t}\r\n\t });\r\n\t vm.GetAllFilterRegion = function () {\r\n\t\tvar data = {\r\n\t\t\t\"Region\": '',\r\n\t\t\t\"SubRegion\": ''\r\n\t\t\t\r\n\t\t }\r\n\t\t TerritoryMappingService.GetAllRegions(data,loggedinUser, token).then(function (resp) {\r\n\t\t if (resp && resp.data) {\r\n\t\t\tvm.AllFilterRegional = resp.data;\r\n\t\t }\r\n\t\t})\r\n\t }\r\n\t vm.GetAllFilterRegionSub = function () {\r\n\t\tvar data = {\r\n\t\t\t\"Region\":vm.FilterForRegion,\r\n\t\t\t\"SubRegion\": ''\r\n\t\t\t\r\n\t\t }\r\n\t\t TerritoryMappingService.GetAllRegions(data,loggedinUser, token).then(function (resp) {\r\n\t\t if (resp && resp.data) {\r\n\t\t\tvm.AllFilterRegionalSub = resp.data;\r\n\t\t }\r\n\t\t})\r\n\t }\r\n\r\n\t vm.GetAllFilterRegion();\r\n\t vm.GetAllFilterRegionSub ();\r\n\r\n\t vm.clearregionfilter= function(){\r\n\t\tvm.FilterForRegion = '';\r\n\t\tvm.FilterRegionSUb = '';\r\n\t\tvm.refreshSubRegionTable();\r\n\t }\r\n\r\n\t\tvm.CreateSubRegionMaster = function () {\r\n\t\t\tvm.AddSubregion_form.submitted = true;\r\n\t\t\tif (vm.AddSubregion_form.$valid) {\r\n\t\t\t vm.disableCreationButton = true;\r\n\t\t\t var data = {\r\n\t\t\t\t\"SubRegion\": vm.SubRegionName,\r\n\t\t\t\t\"LocationName\": vm.SubRegionCity,\r\n\t\t\t\t\"BranchCode\": vm.SubRegionBranchCode,\r\n\t\t\t }\r\n\t \r\n\t\t\t TerritoryMappingService.CreateSubRegionMaster(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t vm.showSuccess(\"Success\", resp.data);\r\n\t\t\t\t vm.CloseAddSubRegionModel();\r\n\t\t\t\t $timeout(function () {\r\n\t\t\t\t\tvm.dtInstanceSubRegionModal.reloadData();\r\n\t\t\t\t }, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t vm.disableCreationButton = false;\r\n\t\t\t\t vm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t })\r\n\t \r\n\t\t\t}\r\n\t\t }\r\n\r\n\t\t vm.CreateRegionMaster = function () {\r\n\t\t\tvm.AddRegion_form.submitted = true;\r\n\t\t\tif (vm.AddRegion_form.$valid) {\r\n\t\t\t vm.disableCreationButton = true;\r\n\t\t\t var data = {\r\n\t\t\t\t\"Region\": vm.RegionName,\r\n\t\t\t\t\"SubRegion\": vm.RegionSub\r\n\t\t\t }\r\n\t \r\n\t\t\t TerritoryMappingService.CreateRegionMaster(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t vm.showSuccess(\"Success\", resp.data);\r\n\t\t\t\t vm.CloseAddRegionModel();\r\n\t\t\t\t $timeout(function () {\r\n\t\t\t\t\tvm.dtInstanceRegionModal.reloadData();\r\n\t\t\t\t }, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t vm.disableCreationButton = false;\r\n\t\t\t\t vm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t })\r\n\t \r\n\t\t\t}\r\n\t\t }\r\n\r\n\t\t vm.RemoveSubRegion = function (SubRegionName, Location, BranchCode) {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"SubRegion\": SubRegionName,\r\n\t\t\t\t\"LocationName\": Location,\r\n\t\t\t\t\"BranchCode\": BranchCode\r\n\t\t\t }\r\n\t\t\t TerritoryMappingService.RemoveSubRegion(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t vm.showSuccess(\"Success\", resp.data);\r\n\t\t\t\t $timeout(function () {\r\n\t\t\t\t\tvm.dtInstanceSubRegionModal.reloadData();\r\n\t\t\t\t }, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t vm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t })\r\n\t \r\n\t\t\t\r\n\t\t }\r\n\t\t vm.RemoveRegion = function (RegionName, SubRegionName) {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"Region\": RegionName,\r\n\t\t\t\t\"SubRegion\": SubRegionName,\r\n\t\t\t }\r\n\t\t\t TerritoryMappingService.RemoveRegion(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t vm.showSuccess(\"Success\", resp.data);\r\n\t\t\t\t $timeout(function () {\r\n\t\t\t\t\tvm.dtInstanceRegionModal.reloadData();\r\n\t\t\t\t }, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t vm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t })\r\n\t \r\n\t\t\t\r\n\t\t }\r\n\r\n\r\n\t}\r\n});\nangular.module('inspinia').service('TerritoryMangementService', function (ApiURL,SchedulingAPI, $window, $http) {\r\n\r\n \r\n\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('TerritoryMangementController', function (TerritoryMangementService, $resource, toaster, $filter, $compile, $q, $state, $localStorage, $scope, DTOptionsBuilder, DTColumnBuilder, $uibModal, $timeout) {\r\n\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\t\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\t\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\t\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\t\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\t\tvm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n\t\tvm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\t\t$scope.isNavCollapsed = true;\r\n\t\t$scope.isCollapsed = true;\r\n\t\t$scope.isRegionCollapsed = true;\r\n\t\t$scope.isSubRegionCollapsed = true;\r\n\t\t$scope.isCollapsed = true;\r\n\t\t$scope.isCollapsedHorizontal = false;\r\n\t\tvm.dtInstance = {};\r\n\t\tvm.selectSingle = false;\r\n\t\tvm.disableExceptionButton = false;\r\n\t\tvm.ticketPageListCount = 10;\r\n\t\tvm.pageListCounts = [10, 20, 30, 50];\r\n\t\tvm.scheduleExceptionListNewLength=0;\r\n\t\tvar PageIndex = 1;\r\n\t\tvar PageSize = 10; \r\n\t\tvm.SearchByAccountName = '';\r\n\t\tvm.ExceptionType = '';\r\n\t\tvm.exceptionState = '';\r\n\t\tvm.showAllAccounts = [];\r\n\t\tvm.UserId='';\r\n\r\n\t\t$scope.dates = { startDate: moment().subtract(0, 'days'), endDate: moment() };\r\n\t\tvar startDate = moment().subtract(0, 'days').format(\"YYYY-MM-DD\");\r\n\t\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\r\n\t\t$scope.ranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment()]\r\n\t\t};\r\n\r\n\t\t$scope.dateRangeChange = function (ev, picker) {\r\n\t\t\t// console.log(ev, picker);\r\n\t\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\t\tvm.getAllJobForExceptionList();\r\n\r\n\r\n\t\t};\r\n\r\n\t\t$scope.isRegionCollapsed = {\r\n\t\t\tbihar: true,\r\n\t\t\tchennai: true,\r\n\t\t\tuttarPradesh: true, // Added Uttar Pradesh\r\n\t\t\tbanglore : true \r\n\t\t};\r\n\t\t\r\n\t\t$scope.isSubRegionCollapsed = {\r\n\t\t\tnorthBihar: true,\r\n\t\t\tsouthChennai: true,\r\n\t\t\twestUP: true, // Added West UP sub-region\r\n\t\t\teastUP: true, // Added East UP sub-region\r\n\t\t\tsouthBanglore :true,\r\n\t\t};\r\n\t\t\r\n\t\tvm.ExpandRegion = function(region) {\r\n\t\t\t$scope.isRegionCollapsed[region] = !$scope.isRegionCollapsed[region];\r\n\t\t};\r\n\t\t\r\n\t\tvm.ExpandSubRegion = function(subRegion) {\r\n\t\t\t$scope.isSubRegionCollapsed[subRegion] = !$scope.isSubRegionCollapsed[subRegion];\r\n\t\t};\r\n\t\t// modal for region and subregion \r\n\t\tvm.AddSubRegionModelOpen = function (action) {\r\n\t\t\tvm.modalAction = action; // Set the action dynamically\r\n\t\t\tvm.addsubregion = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'AddSubRegion.html',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t};\r\n \r\n\tvm.CloseAddSubRegionModel = function () {\r\n\tvm.addsubregion.close();\r\n\t}\r\n\tvm.AddRegionModelOpen = function () {\r\n\tvm.addregion = $uibModal.open({\r\n\t templateUrl: 'AddRegion.html',\r\n\t size: 'md',\r\n\t backdrop: 'static',\r\n\t scope: $scope,\r\n\t});\r\n\t\r\n\t}\r\n \r\n\tvm.CloseAddRegionModel = function () {\r\n\tvm.addregion.close();\r\n\t\r\n\t}\r\n\tvm.deleteregion = function(){\r\n\t\tvm.showSuccess(\"Success\", \"Delete successfully.\");\r\n\t}\r\n\tvm.deatchregion = function(){\r\n\t\tvm.showSuccess(\"Success\", \"Deatch successfully.\");\r\n\t}\r\n\tvm.disableCreateButton = false;\r\n\r\n\tvm.CreateCase = function(){\r\n\t\tvm.dialertask_form.submitted = true;\r\n \t\tif (vm.dialertask_form.$valid) {\r\n\t\t\tvm.disableCreateButton = true;\r\n\t\t\tvm.showSuccess(\"Success\", \" Successfully Created.\");\r\n\t\t\tvm.CloseAddSubRegionModel();\r\n\t\t}\r\n\t\telse{\r\n\t\t\tvm.showFailure(\"Failed\");\r\n\t\t\tvm.disableCreateButton = true;\r\n\t\t}\r\n\t}\r\n\t}\r\n});\nangular.module('inspinia').service('ticketTemplateService', function (ApiURL, $log, $http, $localStorage) {\r\n\r\n this.getAllTemplateList = function (token) {\r\n var url = ApiURL + '/api/' + $localStorage.loggedInUserId + '/Template';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n\r\n }\r\n});\r\n\nangular.module('inspinia').controller('TicketTemplateController', function (FormBuilderService, $state, ticketTemplateService, $log, $localStorage, $uibModal, $scope, $timeout, toaster) {\r\n var vm = this;\r\n\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n\r\n if (!loggedinUser) {\r\n\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n\r\n vm.templates = [];\r\n var cloneTemplateData = [];\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n var accountConfig = $localStorage.accountConfig;\r\n vm.currentPage = 1;\r\n vm.pageSize = 12;\r\n vm.availableSearchParams = [\r\n { key: \"TemplateName\", name: \"TemplateName\", placeholder: \"TemplateName...\" }\r\n // { key: \"city\", name: \"City\", placeholder: \"City...\" },\r\n // { key: \"country\", name: \"Country\", placeholder: \"Country...\" },\r\n // { key: \"emailAddress\", name: \"E-Mail\", placeholder: \"E-Mail...\", allowMultiple: true },\r\n // { key: \"job\", name: \"Job\", placeholder: \"Job...\" }\r\n ];\r\n\r\n\r\n vm.isUpdatePermission = function(){\r\n if(accountConfig && accountConfig.MenuListModel){\r\n for(var i=0; i=0;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n vm.getAllTemplate = function () {\r\n ticketTemplateService.getAllTemplateList(token).then(function (resp) {\r\n vm.templates = resp.data;\r\n },\r\n function () {\r\n //$log.log('not working');\r\n })\r\n }\r\n\r\n vm.editTemplate = function (templateName) {\r\n $state.go('index.FormEdit', { templateName: templateName }, { reload: true });\r\n }\r\n vm.goToCreateTemplate = function () {\r\n $state.go('index.SortableExample', { userId: $localStorage.loggedInUserId }, { reload: true });\r\n }\r\n // vm.getAllTemplate = function () {\r\n // vm.templates= ticketTemplateService.getAllTemplateList().data;\r\n // }\r\n vm.getAllTemplate();\r\n $scope.CloneTemplatePopUp = function (template) {\r\n cloneTemplateData = template;\r\n var modalInstance = $uibModal.open({\r\n templateUrl: 'clone_modal.html',\r\n controller: CloneTemplateController\r\n // CloneData : $scope.templates\r\n // scope:$scope\r\n });\r\n }\r\n\r\n function CloneTemplateController($scope, $rootScope, $uibModalInstance) {\r\n $scope.CloseModal = function () {\r\n $uibModalInstance.close();\r\n }\r\n $scope.Cloning = function () {\r\n if ($scope.cloneTemplate_form.$valid) {\r\n $rootScope.$broadcast('Clone_Template', {\r\n templateName: $scope.templateName,\r\n templateDescription: $scope.TemplateDescription\r\n });\r\n $uibModalInstance.close();\r\n } else {\r\n $scope.cloneTemplate_form.submitted = true;\r\n }\r\n }\r\n $rootScope.$on('Close_Model', function () {\r\n $scope.CloseModal();\r\n });\r\n }\r\n\r\n $scope.$on('Clone_Template', function (even, args) {\r\n $scope.SaveTemplate(args.templateName, args.templateDescription);\r\n });\r\n\r\n $scope.SaveTemplate = function (templateName, templatedescription) {\r\n if (templateName) {\r\n cloneTemplateData.TemplateName = templateName;\r\n cloneTemplateData.Description = templatedescription;\r\n delete cloneTemplateData.TemplateId;\r\n FormBuilderService.SaveTemplate(cloneTemplateData, token).then(function (resp) {\r\n if (resp.status == 201) {\r\n toaster.pop({\r\n type: 'success',\r\n title: 'Template creation status ',\r\n showCloseButton: true,\r\n body: 'Template has been cloned succesfully.',\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000,\r\n positionClass: 'toast-top-full-width'\r\n });\r\n $timeout(function () {\r\n $state.go($state.current, {}, {\r\n reload: true, inherit: true, notify: true\r\n });\r\n }, 2000);\r\n } else {\r\n toaster.pop({\r\n type: 'error',\r\n title: 'Template creation status ',\r\n showCloseButton: true,\r\n body: 'Template already exist',\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000,\r\n positionClass: 'toast-top-full-width'\r\n });\r\n }\r\n },\r\n function () {\r\n //error toaster\r\n toaster.pop({\r\n type: 'error',\r\n title: 'Server Error ',\r\n showCloseButton: true,\r\n body: 'unable to connect to server',\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000,\r\n positionClass: 'toast-top-full-width'\r\n });\r\n });\r\n }\r\n }\r\n }\r\n});\r\n\nangular.module('inspinia').service('TechnicianViewService', function (ApiURL, $http, FreelancerURL, ActivityURL) {\r\n\r\n this.getUserInfo = function (userId, loggedInUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerUser/' + userId + '/' + loggedInUser + '/' + 'byUserIdWithJobCount';\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedInUser }\r\n })\r\n }\r\n\r\n this.GetDashboardData = function (userid, loggedInUser, token) {\r\n var url = FreelancerURL + '/api/FreelancerWallet/GetDashboardDataForWeb?RequestFor=ToBePaid&UserId=' + userid;\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedInUser }\r\n })\r\n }\r\n\r\n this.getAllJobTicketsCopyForPagging = function (loggedInUser, startDate, endDate, token, itemNames, itemValues, textItemNames, textItemValues, templateCols, templateItemNames, templateItemValues, DateField, PageIndex, PageSize) {\r\n var url = '';\r\n url = ApiURL + '/api/Ticket/GetTicketsbyDateRangeWithDynaPagingForCHDListing?fromDate=' + startDate + '&toDate=' + endDate + '&reqUserId=' + loggedInUser + '&itemNames=' + itemNames + '&itemValues=' + itemValues + '&textItemNames=' + textItemNames + '&textItemValues=' + textItemValues + '&templateCols=' + templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues + '&DateField=' + DateField + '&PageIndex=' + PageIndex + '&PageSize=' + PageSize;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUser\r\n }\r\n });\r\n }\r\n\r\n this.ReturnPrimeMemberAmount = function (loggedInUser, userId, token) {\r\n var url = FreelancerURL + '/api/FreelancerUser/ReturnPrimeMemberAmount?userId=' + userId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedInUser\r\n }\r\n });\r\n }\r\n\r\n this.UpdatePincodeSkillAccountId = function (data, loggedInUser, token) {\r\n var url = ApiURL + '/api/user/UpdatePincodeSkillAccountId';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedInUser\r\n }\r\n });\r\n }\r\n this.DeleteAuthorizedServicePartnerByUserId = function (data, loggedInUser, token) {\r\n var url = FreelancerURL + '/api/FreelancerUser/DeleteAuthorizedServicePartnerByUserId';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedInUser\r\n }\r\n });\r\n }\r\n this.UpdateUserSkillS = function (data, loggedInUser, token) {\r\n var url = ApiURL + '/api/User/UpdateUserSkillS';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedInUser\r\n }\r\n });\r\n }\r\n\r\n this.DeActivateUserWithRemark = function (data, loggedInUser, token) {\r\n var url = ApiURL + '/api/User/BlockFieldUser';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedInUser\r\n }\r\n });\r\n }\r\n\r\n this.CreateCaseForTechnician = function (dataToSend, loggedinUser, token) {\r\n var url = ApiURL + \"/api/ProfileController/CreateNewCaseForTechnician\";\r\n return $http.post(url, dataToSend, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n this.AddAuthorizedServicePartnerForWeb = function (dataToSend,loggedinUser, token) {\r\n var url = FreelancerURL + \"/api/FreelancerUser/AddAuthorizedServicePartnerForWeb\";\r\n return $http.post(url, dataToSend, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n this.UploadMedia = function (formdata, loggedInUserId, token) {\r\n var url = ApiURL + '/api/UploadMedia';\r\n return $http.post(url, formdata, {\r\n headers: {\r\n 'Content-Type': undefined, 'Token': token, 'UserId': loggedInUserId\r\n }\r\n });\r\n}\r\n this.GetPaymentsForUser = function (data, loggedinUser, token) {\r\n var url = ApiURL + \"/api/ProfileController/GetPaymentsForUser\";\r\n return $http.post(url, data, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n this.GetPayoutsForTechnician = function (data, loggedinUser, token) {\r\n var url = ApiURL + \"/api/ProfileController/GetPayoutsForTechnician\";\r\n return $http.post(url, data, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n this.GetDepartmentDetails = function (loggedinUser, token) {\r\n var url = ApiURL + \"/api/ProfileController/GetDepartmentDetails\";\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n this.GetAllMasterDataOfServiceCenter = function (loggedinUser, token) {\r\n var url = ApiURL + \"/api/ServiceParnterMaster/GetAllMasterDataOfServiceCenter\";\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n this.GetAllProductDetailInMaster = function (loggedinUser, token) {\r\n var url = ApiURL + \"/api/ServiceParnterMaster/GetAllProductDetailInMaster\";\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n this.GetAllCasesForTechnician = function (loggedinUser, token, userId) {\r\n var url = ApiURL + '/api/ProfileController/GetAllCasesForTechnician?UserId=' + userId;\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n this.UpdateUserLockProfile = function (loggedinUser, token, userId) {\r\n var url = ApiURL + '/api/ProfileController/UpdateUserLockProfile?UserId=' + userId;\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.UpdateCaseForTechnician = function (data, loggedinUser, token) {\r\n var url = ApiURL + \"/api/ProfileController/UpdateCaseForTechnician\";\r\n return $http.put(url, data, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n this.GetSkillRecommendationsForUser = function (user, loggedinUser, token) {\r\n url = FreelancerURL + '/api/Recommendation/GetSkillRecommendationsForUser?UserId=' + user;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAllActivityForTechnicianCase = function (caseId, loggedinUser, token) {\r\n var url = ActivityURL + '/api/Activity/GetAllActivityForTechnicianCase?CaseId=' + caseId;\r\n return $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.UpdateUserBGVerificationDetails = function (userId,addressProof, identityProof, loggedinUser, token) {\r\n var url = ApiURL + '/api/supportengineerhelper/UpdateUserBGVerificationDetails?userId=' + userId + '&AddressProof=' + addressProof + '&IdentityProof=' + identityProof;\r\n return $http.post(url,null, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n})\r\n\nangular.module('inspinia').controller('TechnicianViewController', function ($state, TeamFormCreationService,MainService, TechnicianViewService, PincodeFinderService, DashboardService, OnBoardingFlowService, SlotAllocationService, AllUsersListService, NgMap, CentralHDTicketsViewService, CentralHelpdeskConfigService, $location, $anchorScroll, $rootScope, $http, $stateParams, UIURL, $q, $log, $localStorage, DTOptionsBuilder, ApiURL, DTColumnBuilder, ngProgressFactory, $uibModal, $scope, toaster, $filter, DTColumnDefBuilder, $window, $timeout, PublicApiURL, jobBidCreationService, ImageUrl) {\r\n var vm = this;\r\n var userId = $stateParams.userId;\r\n var loggedInUserId = $localStorage.loggedInUserId;\r\n if (!loggedInUserId) {\r\n\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.accountConfig = $localStorage.accountConfig;\r\n vm.CallPatchEnable = $localStorage.accountConfig.CallPatchEnable;\r\n vm.confirmTagModal = $scope.$parent.$parent.main.confirmTagModal;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.EnableRegion = vm.getAccountConfigSetting('EnableRegion');\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n vm.progressbar = ngProgressFactory.createInstance();\r\n var token = $localStorage.token;\r\n vm.Remarks = '';\r\n vm.selectedTemplates = '';\r\n vm.PaymentStatus = '';\r\n vm.SettlementStatus = '';\r\n vm.disableExceptionButton = false;\r\n vm.readyRaisedI = false;\r\n vm.enableFilters = true;\r\n vm.GroupType = \"\";\r\n vm.actionFlag = false;\r\n vm.editPermission = false;\r\n vm.ticketList = [];\r\n vm.DocumentprofileImg=[];\r\n vm.DocumentbackImg=[];\r\n vm.statusList = [];\r\n vm.reasonsForFU = '';\r\n var fnitemNames = '';\r\n var fnitemValues = '';\r\n vm.DateField = vm.accountConfig.AccountId == 0 ? 'StatusChangedOn' : 'CreatedOn';\r\n vm.primaryFollowUpReason = '';\r\n vm.primaryFollowUpRemark = '';\r\n vm.primaryHoldReason = '';\r\n vm.primaryHoldRemark = '';\r\n vm.convertNewReasons = '';\r\n vm.convertNewReasonsRemark = '';\r\n vm.MoveSPDbyTwoDays = false;\r\n vm.approvalRemark = '';\r\n vm.RejectionRemark = '';\r\n vm.searchText = \"\";\r\n vm.IsSearch = false;\r\n vm.IsCommissionDetect = false;\r\n $scope.signatureUploadError = false;\r\n $scope.trainingUploadError = false;\r\n $scope.authorizationUploadError = false;\r\n vm.searchStatusText = \"\";\r\n vm.HDAllAccounts = [];\r\n vm.searchJobTypeText = \"\";\r\n vm.SearchByAccountName = \"\";\r\n vm.CustomerList = [];\r\n vm.ProjectList = [];\r\n vm.closureCode = \"\";\r\n vm.CancellationReasons = \"\";\r\n vm.SearchByIs = '';\r\n vm.SearchByDiscription = '';\r\n vm.SearchByTName = '';\r\n vm.SearchByTContact = '';\r\n vm.SearchByPName = '';\r\n vm.SearchByCName = '';\r\n vm.JobcountbyStatus = \"\";\r\n vm.SearchByTicketId = \"\";\r\n vm.InvoiceStatus = \"\";\r\n vm.previousPage = $localStorage.previousPage;\r\n vm.autoScheduleOn = $localStorage.accountConfig.IsAutoSchedulerOn;\r\n var approveModalInstance = {};\r\n var supervisorId = $localStorage.loggedInUserId;\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n vm.loggedInAs = $localStorage.loggedinAs;\r\n vm.aproveMessage = 'Please Rate !';\r\n var itemNames = '';\r\n var itemValues = '';\r\n var templateItemNames = '';\r\n var templateItemValues = '';\r\n var textItemNames = '';\r\n var textItemValues = '';\r\n vm.ticketPageListCount = 10;\r\n var PageIndex = 1;\r\n var PageSize = 10;\r\n vm.IsSafetyAudit = 'Not Done';\r\n vm.ratingwarning = \"\";\r\n vm.ticketListLength = 0;\r\n vm.pageindexCount = 0;\r\n vm.SiteAuditFileName = \"\";\r\n vm.TicketDataToRaiseInvoiceList = [];\r\n vm.IsLoadSucessfull = false;\r\n vm.pullBackReasons = '';\r\n vm.pullBackReasonsRemark = '';\r\n vm.IsWithInDays = \"first\";\r\n vm.WithInDaysNumbers = [1, 2, 3, 4, 5];\r\n vm.PlannedClosureDate = \"\";\r\n vm.bulkuploadType = \"Ticket\";\r\n var uPageIndex = 1;\r\n var uPageSize = 10;\r\n var fPageIndex = 1;\r\n var fPageSize = 10;\r\n var fTPageIndex = 1;\r\n var fTPageSize = 10;\r\n $scope.isCollapsed = true;\r\n $localStorage.AllJobStatus = vm.searchStatusText;\r\n vm.UsersType = \"\";\r\n vm.uType = \"\";\r\n var uitemNames = \"\";\r\n var uitemValues = \"\";\r\n vm.searchUsersText = \"\";\r\n vm.jobsCount = '';\r\n vm.userPageListCount = 10;\r\n vm.financePageListCount = 10;\r\n vm.financeTechPageListCount = 10;\r\n vm.pageListCounts = [10, 20, 30, 50];\r\n vm.OrderBy = \"CreatedOn\";\r\n vm.sorttype = \"desc\";\r\n var startDate = moment().subtract(7, 'day').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n // vm.ticketdates = { startDate: moment().subtract(7, 'day'), endDate: moment() };\r\n // vm.ticketranges = {\r\n // 'Today': [moment(), moment()],\r\n // // 'Yesterday': [moment().subtract(1, 'days'), moment()],\r\n // 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n // 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n // 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n // 'This month': [moment().startOf('month'), moment().endOf('month')]\r\n // };\r\n vm.path = \"\";\r\n vm.path = $rootScope.rootScopeMessage;\r\n\r\n var scdt = new Date();\r\n scdt.setMinutes(scdt.getMinutes() + 30);\r\n vm.SourceCreationDate = scdt;\r\n var pcdt = new Date();\r\n pcdt.setDate(pcdt.getDate() + 7);\r\n vm.PlannedClosureDate = pcdt;\r\n\r\n var plannedclosuredatelimit = new Date();\r\n plannedclosuredatelimit.setMinutes(plannedclosuredatelimit.getMinutes() + 1)\r\n vm.ClosureDateTime = { date: '', datepickerOptions: { minDate: plannedclosuredatelimit } };\r\n\r\n vm.ResetFilter = function () {\r\n vm.searchStatusText = \"\";\r\n vm.searchLabText = \"\";\r\n vm.searchJobTypeText = \"\";\r\n vm.DateField = vm.accountConfig.AccountId == 0 ? 'StatusChangedOn' : 'CreatedOn';\r\n vm.SearchByIs = '';\r\n vm.SearchByDiscription = '';\r\n vm.SearchByTName = '';\r\n vm.SearchByTContact = '';\r\n vm.SearchByPName = '';\r\n vm.SearchByCName = '';\r\n vm.SearchByAccountName = '';\r\n vm.InvoiceStatus = '';\r\n vm.GroupType = 'Individual|Group|WorkOrderGroup'\r\n vm.ProjectListByCustomer = [];\r\n PageIndex = 1;\r\n PageSize = 10;\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }\r\n\r\n\r\n vm.caseDetails = \"\";\r\n\r\n vm.Openresolveraise = function (caseDetail) {\r\n vm.caseDetails = caseDetail;\r\n vm.raiseresolve = $uibModal.open({\r\n templateUrl: 'resolveraise.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n vm.closeraiseresolve = function () {\r\n $scope.isEditable = false;\r\n vm.raiseresolve.close();\r\n }\r\n\r\n\r\n vm.GetAllStates = function () {\r\n CentralHDTicketsViewService.getStates(supervisorId, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length > 0) {\r\n vm.states = resp.data;\r\n }\r\n }\r\n });\r\n }\r\n vm.GetAllStates();\r\n\r\n\r\n vm.trackingStatus = false;\r\n vm.TrackingSidePanel = function (CaseIdForTrack) {\r\n vm.CaseIdForTrack = CaseIdForTrack.CaseId;\r\n vm.trackingStatus = true;\r\n vm.GetAllActivityForTechnicianCase();\r\n }\r\n\r\n vm.GetAllActivityForTechnicianCase = function () {\r\n TechnicianViewService.GetAllActivityForTechnicianCase(vm.CaseIdForTrack, loggedInUserId, token).then(function (resp) {\r\n vm.CaseActivityInfo = resp.data;\r\n });\r\n }\r\n\r\n vm.callToTechnician = function () {\r\n DashboardService.callToTechnicianApi(loggedInUserId, vm.userId, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Call Initiated\")\r\n }\r\n else {\r\n vm.showFailure(\"Failure\", resp.data.Message)\r\n }\r\n }, function () {\r\n })\r\n }\r\n vm.Get360AuthorizedDetail = function () {\r\n vm.userId = userId;\r\n DashboardService.GetAuthorizedServicePartnerDetail(loggedInUserId, userId, token).then(function (resp) {\r\n vm.authorizeDetail = resp.data;\r\n vm.ResetUserFilter();\r\n })\r\n }\r\n vm.Get360AuthorizedDetail();\r\n\r\n vm.getAllAccounts = function () {\r\n CentralHelpdeskConfigService.getAllAccounts(loggedInUserId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n if (resp.status == 200) {\r\n vm.HDAllAccounts = resp.data;\r\n\r\n }\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n vm.getAllAccounts();\r\n vm.OpenDeleteCertificateModal = function (Servicepartnerid) {\r\n vm.servicePartnerId = Servicepartnerid\r\n DeleteCertificate = $uibModal.open({\r\n templateUrl: 'DeleteCertificate.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n \r\n vm.CloseCertificateModal = function () {\r\n vm.disableCreateButton = false;\r\n DeleteCertificate.close();\r\n \r\n }\r\n vm.DeleteAuthorizedServicePartnerByUserId = function () {\r\n var data = {\r\n \"ServicePartnerId\": vm.servicePartnerId,\r\n \"UserId\": userId\r\n }\r\n TechnicianViewService.DeleteAuthorizedServicePartnerByUserId(data, loggedInUserId, token).then(function (resp) {\r\n if (resp.data && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data.Message);\r\n vm.CloseCertificateModal();\r\n $timeout(function () {\r\n vm.Get360AuthorizedDetail ();\r\n }, 2000)\r\n \r\n }\r\n }, function () {\r\n });\r\n \r\n }\r\n \r\n vm.AddCertificateModelOpen = function (action) {\r\n\t\t\tvm.modalAction = action; // Set the action dynamically\r\n\t\t\tvm.addcertficate = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'AddServiceCertificate.html',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t};\r\n\t\t\r\n\t\tvm.CloseAddCertificateModel = function () {\r\n vm.brandName = \"\";\r\n vm.productserving = \"\";\r\n vm.TeamSize = \"\";\r\n vm.Tenure = \"\";\r\n vm.ServiceCenterAddress = \"\";\r\n vm.AuthorizationFileName = \"\";\r\n vm.TrainingFileName = \"\";\r\n vm.PhotoSignatureFileName = \"\";\r\n vm.disableCreateButton = false;\r\n\tvm.addcertficate.close();\r\n\t}\r\n vm.AuthorizationDoc = [];\r\n vm.TrainingDoc = [];\r\n vm.SignatureDoc = [];\r\n\r\n $scope.attachAuthorizationDoc = function(files){ \r\n vm.AuthorizationFileName = \"\";\r\n var file = files.files[0];\r\n vm.AuthorizationFileName = file.name; \r\n vm.AuthorizationDoc = files.files;\r\n $scope.authorizationUploadError = false;\r\n var allowedExtensions = /(\\.pdf|\\.PDF|\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png)$/i; \r\n if(!allowedExtensions.exec(file.name)){\r\n vm.AuthorizationDoc = [];\r\n angular.element(\"input[name='AuthorizationDocument']\").val(null);\r\n vm.AuthorizationFileName = \"\"; \r\n $scope.authorizationUploadError = true; \r\n alert('Please upload file having extensions .pdf,.jpg,.jpeg,.png only.');\r\n }\r\n $scope.filesArray = [{ name: 'AuthorizationDocument', file: file }];\r\n\r\n $scope.uploadFiles();\r\n}\r\n\r\n$scope.attachTrainingDoc = function(files){ \r\n vm.TrainingFileName = \"\";\r\n var file = files.files[0];\r\n vm.TrainingFileName = file.name; \r\n vm.TrainingDoc = files.files;\r\n $scope.trainingUploadError = false;\r\n var allowedExtensions = /(\\.pdf|\\.PDF|\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png)$/i; \r\n if(!allowedExtensions.exec(file.name)){\r\n vm.TrainingDoc = [];\r\n angular.element(\"input[name='TrainingDocument']\").val(null);\r\n vm.TrainingFileName = \"\"; \r\n $scope.trainingUploadError = true; \r\n alert('Please upload file having extensions .pdf,.jpg,.jpeg,.png only.');\r\n }\r\n $scope.filesArray = [{ name: 'TrainingDocument', file: file }];\r\n\r\n $scope.uploadFiles();\r\n}\r\n$scope.attachPhotoOfSignature = function(files){ \r\n vm.PhotoSignatureFileName = \"\";\r\n var file = files.files[0];\r\n vm.PhotoSignatureFileName = file.name; \r\n vm.SignatureDoc = files.files;\r\n $scope.signatureUploadError = false;\r\n var allowedExtensions = /(\\.pdf|\\.PDF|\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png)$/i; \r\n if(!allowedExtensions.exec(file.name)){\r\n vm.SignatureDoc = [];\r\n vm.clear();\r\n angular.element(\"input[name='PhotoOfshopSignature']\").val(null);\r\n vm.PhotoSignatureFileName = \"\"; \r\n $scope.signatureUploadError = true; \r\n alert('Please upload file having extensions .pdf,.jpg,.jpeg,.png only.');\r\n }\r\n $scope.filesArray = [{ name: 'PhotoOfshopSignature', file: file }];\r\n $scope.uploadFiles();\r\n}\r\n\r\n\r\n \r\nvm.clear = function () {\r\n angular.element(\"input[type='file']\").val(null);\r\n};\r\n\r\n\r\n$scope.uploadFiles = function () {\r\n if ($scope.filesArray.length == 0) {\r\n alert('No files to upload.');\r\n return;\r\n }\r\n\r\n var formData = new FormData();\r\n $scope.filesArray.forEach(function (fileObj) {\r\n if (fileObj.file) {\r\n formData.append(fileObj.name, fileObj.file);\r\n }\r\n });\r\n\r\n TechnicianViewService.UploadMedia(formData, loggedInUserId, token)\r\n .then(function (resp) {\r\n if (resp.data && resp.status === 201) {\r\n // alert('Files uploaded successfully.');\r\n $scope.filesArray = []; // Clear files array after successful upload\r\n } else {\r\n alert('An error occurred while uploading the files.');\r\n }\r\n })\r\n \r\n }\r\n $scope.authorizationUploadError = false;\r\n $scope.trainingUploadError = false;\r\n $scope.signatureUploadError = false;\r\nvm.AddAuthorizedServicePartnerDetail = function () {\r\n vm.dialertask_form.submitted = true;\r\n $scope.authorizationUploadError = false;\r\n $scope.trainingUploadError = false;\r\n $scope.signatureUploadError = false;\r\n\r\n if (!vm.AuthorizationFileName) {\r\n $scope.authorizationUploadError = true;\r\n }\r\n\r\n if (!vm.TrainingFileName) {\r\n $scope.trainingUploadError = true;\r\n }\r\n\r\n if (!vm.PhotoSignatureFileName) {\r\n $scope.signatureUploadError = true;\r\n }\r\n\r\n if ($scope.authorizationUploadError || $scope.trainingUploadError || $scope.signatureUploadError) {\r\n return;\r\n }\r\n\r\n if (vm.dialertask_form.$valid) {\r\n vm.disableCreateButton = true;\r\n var dataToSend = {\r\n \"ServicePartnerId\" :\"\",\r\n \"UserId\": vm.userId,\r\n \"BrandName\":vm.brandName,\r\n \"BrandNameOther\" :\"\",\r\n \"Tenure\":vm.Tenure,\r\n \"ProductServing\" :vm.productserving,\r\n // \"ProductServingOther\":vm.addproductserving,\r\n \"TeamSize\" :vm.TeamSize,\r\n \"CertificateOfAuthorization\":vm.AuthorizationFileName,\r\n \"TrainingCertificate\" :vm.TrainingFileName,\r\n \"ServiceCenterAddress\":vm.ServiceCenterAddress,\r\n \"PhotoOfWorkPlace\" :vm.PhotoSignatureFileName\r\n \r\n }\r\n TechnicianViewService.AddAuthorizedServicePartnerForWeb(dataToSend,loggedInUserId, token).then(function (resp) {\r\n if (resp.data && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.CloseAddCertificateModel();\r\n $timeout(function () {\r\n vm.Get360AuthorizedDetail();\r\n }, 2000);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n vm.disableCreateButton = false;\r\n\r\n }\r\n }, vm.showFailure);\r\n }\r\n}\r\n vm.GetAllActivitiesForUser = function () {\r\n OnBoardingFlowService.GetAllActivitiesForUser(userId, loggedInUserId, token).then(function (resp) {\r\n vm.UserActivityInfo = resp.data;\r\n });\r\n }\r\n vm.GetAllActivitiesForUser();\r\n\r\n\r\n vm.GetNewPincodeOfSelectedSkill = function (skill) {\r\n vm.newselectedSKill = skill;\r\n angular.forEach(vm.PincodeNewOpportunityModelList, function (newskillset) {\r\n if (newskillset.SkillName == vm.newselectedSKill) {\r\n vm.newPincodeSet = newskillset.PincodeOpportunityModelList;\r\n }\r\n\r\n });\r\n }\r\n vm.GetPincodeOfSelectedSkill = function (skill) {\r\n vm.selectedSKill = skill;\r\n angular.forEach(vm.PincodeExistingOpportunityModelList, function (skillset) {\r\n if (skillset.SkillName == vm.selectedSKill) {\r\n vm.existingPincodeSet = skillset.PincodeOpportunityModelList;\r\n }\r\n\r\n });\r\n }\r\n\r\n vm.GetSkillRecommendationsForUser = function () {\r\n vm.newPincodeSet = [];\r\n vm.existingPincodeSet = [];\r\n TechnicianViewService.GetSkillRecommendationsForUser(userId, loggedInUserId, token).then(function (resp) {\r\n vm.recommendationData = resp.data;\r\n vm.PincodeExistingOpportunityModelList = resp.data.PincodeExistingOpportunityModelList;\r\n vm.PincodeNewOpportunityModelList = resp.data.PincodeNewOpportunityModelList;\r\n })\r\n }\r\n\r\n vm.getAllJobTicketsCopy = function (supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize) {\r\n var templateCols = \"\";\r\n PageIndex = PageIndex ? PageIndex : 1;\r\n vm.DateField = vm.DateField ? vm.DateField : \"CreatedOn\";\r\n // vm.DateField= vm.accountConfig.AccountId == 0 ? vm.DateField : 'CreatedOn';\r\n CentralHDTicketsViewService.getAllJobTicketsCopy(supervisorId, startDate, endDate, token, itemNames, itemValues, textItemNames, textItemValues, templateCols, templateItemNames, templateItemValues, vm.DateField, PageIndex, PageSize).then(function (resp) {\r\n if (resp && resp.data) {\r\n $scope.totalTableUsers = resp.data.Count;\r\n $scope.totalTableBundles = resp.data.Count;\r\n vm.ApprovedJobCount = resp.data.ApprovedJobCount;\r\n vm.AssignJobCount = resp.data.AssignJobCount;\r\n vm.BroadcastJobCount = resp.data.BroadcastJobCount;\r\n vm.CancelJobCount = resp.data.CancelJobCount;\r\n vm.CompleteJobCount = resp.data.CompleteJobCount;\r\n vm.TotalJobCount = resp.data.TotalJobCount;\r\n vm.HoldJobCount = resp.data.HoldJobCount;\r\n vm.InTransitJobCount = resp.data.InTransitJobCount;\r\n vm.OnSiteJobCount = resp.data.OnSiteJobCount;\r\n vm.InProgressJobCount = resp.data.InProgressJobCount;\r\n vm.CancelCustomerVerified = resp.data.CancelCustomerVerified;\r\n vm.NewJobCount = resp.data.NewJobCount;\r\n vm.ReadyToAssigJobCount = resp.data.ReadyToAssigJobCount;\r\n vm.RejectedJobCount = resp.data.RejectedJobCount;\r\n vm.ScheduleExceptionJobCount = resp.data.ScheduleExceptionJobCount;\r\n vm.AddressExceptionCount = resp.data.AddressExceptionCount;\r\n vm.PriceExceptionCount = resp.data.PriceExceptionCount;\r\n vm.ItemInventoryRaised = resp.data.ItemInventoryRaised;\r\n vm.ItemInventoryDelivered = resp.data.ItemInventoryDelivered;\r\n vm.InvoiceRaisedCount = resp.data.InvoiceRaisedCount;\r\n vm.InvoiceNotRaisedCount = resp.data.InvoiceNotRaisedCount;\r\n vm.BroadcastCountTickets = resp.data.BroadcastCountTickets;\r\n vm.enableFilters = true;\r\n vm.actionFlag = false;\r\n\r\n }\r\n\r\n }, function () {\r\n });\r\n }\r\n\r\n vm.enableFilters = true;\r\n\r\n var icons = {\r\n start: new google.maps.MarkerImage(\r\n // URL\r\n UIURL + '/assets/images/patterns/JOb_icon.png',\r\n // (width,height)\r\n new google.maps.Size(44, 32),\r\n // The origin point (x,y)\r\n new google.maps.Point(0, 0),\r\n // The anchor point (x,y)\r\n new google.maps.Point(22, 32)),\r\n end: new google.maps.MarkerImage(\r\n // URL\r\n UIURL + '/assets/images/patterns/delivery-man1.png',\r\n // (width,height)\r\n new google.maps.Size(44, 32),\r\n // The origin point (x,y)\r\n new google.maps.Point(0, 0),\r\n // The anchor point (x,y)\r\n new google.maps.Point(22, 32))\r\n };\r\n\r\n\r\n\r\n vm.clear = function () {\r\n angular.element(\"input[type='file']\").val(null);\r\n };\r\n\r\n vm.DocEdit = function (index) {\r\n vm.followFiles = null;\r\n }\r\n\r\n vm.pdfimage = \"\";\r\n\r\n vm.PDFView = function (page) {\r\n MainService.GetImageBlob(loggedInUserId, token, page).then(function(resp) {\r\n \r\n vm.pdfimage = resp.data;\r\n });\r\n $scope.selected = null;\r\n $timeout(function(){\r\n jobAppointmentModal = $uibModal.open({\r\n templateUrl: 'PDFView.html',\r\n size :'lg',\r\n scope: $scope\r\n });\r\n },1000)\r\n \r\n } \r\n vm.PDFUserModal = function () {\r\n jobAppointmentModal.close();\r\n }\r\n\r\n function base64ToArrayBuffer(base64) {\r\n var ret = base64.replace('data:application/pdf;base64,', '');\r\n var binaryString = atob(ret);\r\n var binaryLen = binaryString.length;\r\n var bytes = new Uint8Array(binaryLen);\r\n for (var i = 0; i < binaryLen; i++) {\r\n var ascii = binaryString.charCodeAt(i);\r\n bytes[i] = ascii;\r\n }\r\n return bytes;\r\n }\r\n\r\n\r\n vm.getSkills = function () {\r\n CentralHDTicketsViewService.getSkills(loggedInUserId, token, function (skills) {\r\n vm.skills = skills;\r\n //vm.skills.unshift({ \"SkillName\": \"All Job Types\" }); \r\n if (vm.path == 'isTicketView') {\r\n vm.searchJobTypeText = $localStorage.AllJobType;\r\n // vm.searchStatusText = $localStorage.AllJobStatus;\r\n }\r\n }, vm.showFailure);\r\n }\r\n vm.getSkills();\r\n\r\n\r\n vm.clear = function () {\r\n angular.element(\"input[type='file']\").val(null);\r\n };\r\n\r\n\r\n //calendar PO update\r\n var d = new Date();\r\n var year = d.getFullYear();\r\n var month = d.getMonth() + 1;\r\n if (month < 10) {\r\n month = \"0\" + month;\r\n }\r\n var day = d.getDate();\r\n $scope.date = year + \"-\" + month + \"-\" + day;\r\n //\r\n\r\n vm.expandAll = function (expanded) {\r\n $scope.$broadcast('onExpandAll', {\r\n expanded: expanded\r\n });\r\n }\r\n\r\n\r\n vm.DocumentimageServices = function (img, index) {\r\n MainService.GetImageBlob(loggedInUserId, token, img).then(function (resp) {\r\n if (resp.data == null || resp.data == '') {\r\n vm.DocumentprofileImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else {\r\n vm.DocumentprofileImg[index] = resp.data;\r\n }\r\n }, function () {\r\n vm.DocumentprofileImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n });\r\n\r\n }\r\n\r\n vm.DocumentimagebackServices = function (img, index) {\r\n MainService.GetImageBlob(loggedInUserId, token, img).then(function (resp) {\r\n if (resp.data == null || resp.data == '') {\r\n vm.DocumentbackImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else {\r\n vm.DocumentbackImg[index] = resp.data;\r\n }\r\n }, function () {\r\n vm.DocumentbackImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n });\r\n\r\n }\r\n\r\n vm.aadhaarImageServices = function (img) {\r\n MainService.GetImageBlob(loggedInUserId, token, img).then(function (resp) {\r\n if (resp.data == null || resp.data == '') {\r\n vm.adhaarImg = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else {\r\n vm.adhaarImg = resp.data;\r\n }\r\n }, function () {\r\n vm.adhaarImg = 'assets/images/patterns/image_placeholder.png';\r\n });\r\n }\r\n\r\n vm.cancelledImageServices = function (img) {\r\n MainService.GetImageBlob(loggedInUserId, token, img).then(function (resp) {\r\n if (resp.data == null || resp.data == '') {\r\n vm.cancelledChequeImg = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else {\r\n vm.cancelledChequeImg = resp.data;\r\n }\r\n }, function () {\r\n vm.cancelledChequeImg = 'assets/images/patterns/image_placeholder.png';\r\n });\r\n }\r\n\r\n vm.applicationformImageServices = function (img) {\r\n MainService.GetImageBlob(loggedInUserId, token, img).then(function (resp) {\r\n if (resp.data == null || resp.data == '') {\r\n vm.applicationFormImg = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else {\r\n vm.applicationFormImg = resp.data;\r\n }\r\n }, function () {\r\n vm.applicationFormImg = 'assets/images/patterns/image_placeholder.png';\r\n });\r\n }\r\n\r\n vm.gstImageServices = function (img) {\r\n MainService.GetImageBlob(loggedInUserId, token, img).then(function (resp) {\r\n if (resp.data == null || resp.data == '') {\r\n vm.GSTImg = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else {\r\n vm.GSTImg = resp.data;\r\n }\r\n }, function () {\r\n vm.GSTImg = 'assets/images/patterns/image_placeholder.png';\r\n });\r\n }\r\n\r\n vm.panCardImageServices = function (img) {\r\n MainService.GetImageBlob(loggedInUserId, token, img).then(function (resp) {\r\n if (resp.data == null || resp.data == '') {\r\n vm.panCardImg = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else {\r\n vm.panCardImg = resp.data;\r\n }\r\n }, function () {\r\n vm.panCardImg = 'assets/images/patterns/image_placeholder.png';\r\n });\r\n }\r\n\r\n vm.payoutImageServices = function (img) {\r\n MainService.GetImageBlob(loggedInUserId, token, img).then(function (resp) {\r\n if (resp.data == null || resp.data == '') {\r\n vm.payoutImg = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else {\r\n vm.payoutImg = resp.data;\r\n }\r\n }, function () {\r\n vm.payoutImg = 'assets/images/patterns/image_placeholder.png';\r\n });\r\n }\r\n\r\n vm.ShopLicenseImageServices = function (img) {\r\n MainService.GetImageBlob(loggedInUserId, token, img).then(function (resp) {\r\n if (resp.data == null || resp.data == '') {\r\n vm.licenseImg = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else {\r\n vm.licenseImg = resp.data;\r\n }\r\n }, function () {\r\n vm.licenseImg = 'assets/images/patterns/image_placeholder.png';\r\n });\r\n }\r\n\r\n vm.tanNoImageServices = function (img) {\r\n MainService.GetImageBlob(loggedInUserId, token, img).then(function (resp) {\r\n if (resp.data == null || resp.data == '') {\r\n vm.tanNoImg = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else {\r\n vm.tanNoImg = resp.data;\r\n }\r\n }, function () {\r\n vm.tanNoImg = 'assets/images/patterns/image_placeholder.png';\r\n });\r\n }\r\n\r\n\r\n vm.Get360TeamProfileData = function () {\r\n vm.userId = userId;\r\n DashboardService.Get360ProfileData(loggedInUserId, userId, token).then(function (resp) {\r\n vm.teamdata = resp.data;\r\n vm.AvgRating = vm.teamdata.userProfile.AverageRating;\r\n vm.ReviewsList = vm.teamdata.userProfile.Reviews\r\n if (vm.teamdata.userProfile.Ratings) {\r\n vm.teamdata.ratingStars = vm.getRatingStars(Math.round(vm.teamdata.userProfile.Ratings.TechnicianRating));\r\n vm.teamdata.blankStars = vm.getBlankStars(Math.round(vm.teamdata.userProfile.Ratings.TechnicianRating));\r\n }\r\n vm.teamdata.avgratingStars = vm.getAvgRatingStars(Math.round(vm.teamdata.userProfile.AverageRating.AverageRating));\r\n vm.teamdata.avgblankStars = vm.getAvgBlankStars(Math.round(vm.teamdata.userProfile.AverageRating.AverageRating));\r\n if (vm.teamdata.userProfile.ContactNumber && vm.CallPatchEnable) {\r\n vm.teamdata.userProfile.ContactNumber = vm.teamdata.userProfile.ContactNumber.replace(/\\d(?=\\d{4})/g, '*');\r\n }\r\n\r\n if(vm.teamdata.userProfile.videokycName != '') {\r\n vm.videokyc = vm.teamdata.userProfile.videokycName;\r\n }\r\n\r\n if (vm.teamdata.userProfile.Reviews) {\r\n vm.teamdata.userProfile.Reviews.forEach(function (element, i) {\r\n vm.teamdata.userratingStars = vm.getUserRatingStars(Math.round(vm.teamdata.userProfile.Reviews[i].Average));\r\n vm.teamdata.userblankStars = vm.getUserBlankStars(Math.round(vm.teamdata.userProfile.Reviews[i].Average));\r\n element.arrayRating = vm.teamdata.userratingStars;\r\n element.blankRating = vm.teamdata.userblankStars;\r\n });\r\n }\r\n\r\n if(vm.teamdata.userProfile.BGVerificationDocPath) {\r\n for(var i=0;i 0 && itemValues.length > 0) {\r\n itemNames = itemNames + ',Status';\r\n itemValues = itemValues + ',' + vm.searchStatusText;\r\n } else {\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText;\r\n }\r\n }\r\n\r\n if (vm.userskill) {\r\n if (uitemNames) {\r\n uitemNames = uitemNames + ',Skill';\r\n uitemValues = uitemValues + \",\" + vm.userskill;\r\n }\r\n else {\r\n uitemNames = 'Skill';\r\n uitemValues = vm.userskill;\r\n }\r\n }\r\n if (vm.userNameSearch) {\r\n if (uitemNames) {\r\n uitemNames = uitemNames + ',Search';\r\n uitemValues = uitemValues + \",\" + vm.userNameSearch;\r\n }\r\n else {\r\n uitemNames = 'Search';\r\n uitemValues = vm.userNameSearch;\r\n }\r\n }\r\n\r\n if (vm.PermanentState) {\r\n if (uitemNames) {\r\n uitemNames = uitemNames + ',State';\r\n uitemValues = uitemValues + \",\" + vm.PermanentState;\r\n }\r\n else {\r\n uitemNames = 'State';\r\n uitemValues = vm.PermanentState;\r\n }\r\n }\r\n if (vm.SearchByTicketId) {\r\n if (uitemNames) {\r\n uitemNames = uitemNames + ',TicketId';\r\n uitemValues = uitemValues + \",\" + vm.SearchByTicketId;\r\n }\r\n else {\r\n uitemNames = 'TicketId';\r\n uitemValues = vm.SearchByTicketId;\r\n }\r\n }\r\n\r\n if (vm.JobcountbyStatus) {\r\n if (uitemNames) {\r\n uitemNames = uitemNames + ',Status';\r\n uitemValues = uitemValues + \",\" + vm.JobcountbyStatus;\r\n }\r\n else {\r\n uitemNames = 'Status';\r\n uitemValues = vm.JobcountbyStatus;\r\n }\r\n }\r\n if (vm.PermanentState && vm.PermanentCity) {\r\n if (uitemNames) {\r\n uitemNames = uitemNames + ',CurrentCity';\r\n uitemValues = uitemValues + \",\" + vm.PermanentCity;\r\n }\r\n else {\r\n uitemNames = 'CurrentCity';\r\n uitemValues = vm.UsersType;\r\n }\r\n }\r\n\r\n\r\n if (vm.UsersType == \"Freelancer\") {\r\n vm.uType = \"Freelancer\";\r\n }\r\n else if (vm.UsersType == \"Freelancer Vendor\") {\r\n vm.uType = \"Freelancer\";\r\n }\r\n else if (vm.UsersType == \"Freelancer Team\") {\r\n vm.uType = \"Fixed\";\r\n }\r\n else {\r\n vm.uType = \"\";\r\n vm.UsersType = '';\r\n }\r\n\r\n }\r\n\r\n\r\n // apply user rating to all displays\r\n // add star ratings to an array\r\n var starRating = document.querySelectorAll(\".fa-star\"),\r\n ratingTotal = document.querySelectorAll(\".rating-total\");\r\n\r\n // convert ratingTotal HTMLCollection to array and reverse its order (5 star <-> 1 star)\r\n var reverseRatingTotal = Array.from(ratingTotal).reverse();\r\n\r\n // display initial rating totals\r\n // displayTotals();\r\n\r\n // use event listener to record changes to user rating\r\n starRating.forEach(function (star) {\r\n star.addEventListener(\"change\", recordRating);\r\n })\r\n\r\n function recordRating(event) {\r\n // use indexOf to identify selected user rating\r\n var userRating = Array.from(starRating).indexOf(event.target);\r\n\r\n // define selected rating to adjust display totals\r\n var selectedIndex;\r\n\r\n starRating.forEach(function (item, index) {\r\n // add or remove .active class based upon selected user rating\r\n if (index < userRating + 1) {\r\n starRating[index].classList.add(\"active\");\r\n selectedIndex = index;\r\n } else {\r\n starRating[index].classList.remove(\"active\");\r\n }\r\n\r\n displayTotals(selectedIndex);\r\n });\r\n }\r\n vm.countForStatus = 50;\r\n // display star rating totals from html custom data-\r\n function displayTotals(selectedIndex) {\r\n var barChart = document.querySelectorAll(\".bar\"),\r\n displaySummary = document.querySelectorAll(\".summary\"),\r\n numRatings = 0,\r\n numRatingsValue = 0;\r\n\r\n // convert barChart HTMLCollection to array and reverse its order (5 star <-> 1 star)\r\n var reverseBarChart = Array.from(barChart).reverse();\r\n\r\n reverseRatingTotal.forEach(function (total, index) {\r\n if (index == selectedIndex) {\r\n // add selected rating to display total\r\n total.innerHTML = (parseInt(total.getAttribute(\"data-rating-count\")) + 1);\r\n // adjust selected bar width\r\n reverseBarChart[index].style.width = (((parseInt(total.getAttribute(\"data-rating-count\")) + 1) / 20) * 100) + \"%\";\r\n } else {\r\n // display unselected totals\r\n total.innerHTML = total.getAttribute(\"data-rating-count\");\r\n // adjust unselected bar widths\r\n reverseBarChart[index].style.width = ((total.getAttribute(\"data-rating-count\") / 20) * 100) + \"%\";\r\n }\r\n // count total number and value of ratings\r\n numRatings += parseInt(total.innerHTML);\r\n numRatingsValue += (parseInt(total.innerHTML) * (index + 1));\r\n });\r\n\r\n // display rating average and total\r\n ratingsAverage = (numRatingsValue / numRatings).toFixed(2);\r\n // displaySummary[0].innerHTML = ratingsAverage + \" average based on \" + numRatings + \" reviews.\";\r\n }\r\n\r\n // FOR MINIATURE DASHBOARD START\r\n\r\n vm.Get360VendorTeamData = function () {\r\n // vm.userId = teamid;\r\n DashboardService.Get360VendorTeamData(loggedInUserId, userId, token).then(function (resp) {\r\n vm.vendorteam = resp.data;\r\n })\r\n }\r\n\r\n vm.createwidget = function () {\r\n vm.widgetcreate = $uibModal.open({\r\n templateUrl: 'createwidget.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n vm.closecreatewidet = function () {\r\n vm.IssueDescription = \"\";\r\n vm.selectedCategory = \"\";\r\n vm.selectedSubcategory = \"\";\r\n vm.widgetcreate.close();\r\n }\r\n vm.consumers = [];\r\n\r\n\r\n vm.Get360WorkSummary = function () {\r\n DashboardService.Get360WorkSummary(loggedInUserId, token, vm.userId, uitemNames, uitemValues, uPageIndex, uPageSize, startDate, endDate, vm.OrderBy, vm.sorttype).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.statusCount = resp.data;\r\n vm.UserByFiltersList = resp.data.workSummaryData;\r\n $scope.totalUsers = resp.data.WorkSummaryTotalCount;\r\n if (vm.UserByFiltersList.length < vm.userPageListCount)\r\n vm.userListLength = $scope.totalUsers;\r\n else\r\n vm.userListLength = uPageIndex * vm.userPageListCount;\r\n if (uPageIndex == 1)\r\n vm.upageindexCount = 1;\r\n else\r\n vm.upageindexCount = (((uPageIndex - 1) * vm.userPageListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n }\r\n\r\n\r\n vm.getFileType = function (url) {\r\n if (url == null || url == \"\") {\r\n return \"others\";\r\n }\r\n else {\r\n if (url.indexOf(\".jpg\") >= 0 || url.indexOf(\".jpeg\") >= 0 || url.indexOf(\".png\") >= 0 || url.indexOf(\".bmp\") >= 0 || url.indexOf(\".JPG\") >= 0 || url.indexOf(\".JPEG\") >= 0 || url.indexOf(\".PNG\") >= 0 || url.indexOf(\".BMP\") >= 0) {\r\n return \"image\";\r\n } else if (url.indexOf(\".pdf\") >= 0 || url.indexOf(\".PDF\") >= 0) {\r\n return \"pdf\";\r\n } else if (url.indexOf(\".xls\") >= 0 || url.indexOf(\".xlsx\") >= 0 || url.indexOf(\".XLS\") >= 0 || url.indexOf(\".XLSX\") >= 0) {\r\n return \"xls\";\r\n } else if (url.indexOf(\".doc\") >= 0 || url.indexOf(\".docx\") >= 0 || url.indexOf(\".DOC\") >= 0 || url.indexOf(\".DOCX\") >= 0) {\r\n return \"doc\";\r\n }\r\n else {\r\n return \"others\";\r\n }\r\n }\r\n }\r\n\r\n vm.Get360SkillSummary = function () {\r\n // vm.userId = teamid;\r\n DashboardService.Get360SkillSummary(loggedInUserId, userId, token).then(function (resp) {\r\n vm.skillsetData = resp.data;\r\n for (var i = 0; i < vm.skillsetData.CertificateDetails.length; i++) {\r\n vm.CertimageServices(vm.skillsetData.CertificateDetails[i].TrainingCertificate, i);\r\n }\r\n\r\n if (vm.skillsetData.PreviousCompanyDetailsList) {\r\n for (var i = 0; i < vm.skillsetData.PreviousCompanyDetailsList.length; i++) {\r\n if (vm.getFileType(vm.skillsetData.PreviousCompanyDetailsList[i].ExperienceLetter) == 'image')\r\n vm.PreviousCompnyExperienceLetterServices(vm.skillsetData.PreviousCompanyDetailsList[i].ExperienceLetter, i);\r\n }\r\n }\r\n\r\n if (vm.skillsetData.UserTrainingList) {\r\n for (var i = 0; i < vm.skillsetData.UserTrainingList.length; i++) {\r\n if (vm.getFileType(vm.skillsetData.UserTrainingList[i].TrainingImage) == 'image')\r\n vm.TrainingImageServices(vm.skillsetData.UserTrainingList[i].TrainingImage, i);\r\n if (vm.getFileType(vm.skillsetData.UserTrainingList[i].TrainingAttendance) == 'image')\r\n vm.TrainingAttendanceServices(vm.skillsetData.UserTrainingList[i].TrainingAttendance, i);\r\n }\r\n\r\n }\r\n\r\n vm.ResetUserFilter();\r\n })\r\n }\r\n\r\n vm.GetReviewAndRatings = function () {\r\n // vm.userId = teamid;\r\n DashboardService.GetReviewAndRatings(loggedInUserId, userId, token).then(function (resp) {\r\n vm.reviewData = resp.data;\r\n if(vm.reviewData.behaviourRating.InstallationService_Avrage){\r\n vm.users.InstallationratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.InstallationService_Avrage));\r\n vm.users.InstallationblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.InstallationService_Avrage));\r\n }\r\n if(vm.reviewData.behaviourRating.SafetyProtocols_Avrage){\r\n vm.users.SafetyratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.SafetyProtocols_Avrage));\r\n vm.users.SafetyblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.SafetyProtocols_Avrage));\r\n }\r\n if(vm.reviewData.behaviourRating.VisitonTime_Avrage){\r\n vm.users.VisitratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.VisitonTime_Avrage));\r\n vm.users.VisitblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.VisitonTime_Avrage));\r\n }\r\n if(vm.reviewData.behaviourRating.CourteousRespectful_Avrage){\r\n vm.users.CourteousratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.CourteousRespectful_Avrage));\r\n vm.users.CourteousblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.CourteousRespectful_Avrage));\r\n }\r\n if(vm.reviewData.behaviourRating.ProfessionalAppearance_Avrage){\r\n vm.users.ProratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.ProfessionalAppearance_Avrage));\r\n vm.users.ProblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.ProfessionalAppearance_Avrage));\r\n }\r\n if(vm.reviewData.behaviourRating.ServiceExperience_Avrage){\r\n vm.users.ServiceratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.ServiceExperience_Avrage));\r\n vm.users.ServiceblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.ServiceExperience_Avrage));\r\n }\r\n vm.ResetUserFilter();\r\n })\r\n }\r\n\r\n\r\n // vm.Get360VendorTeamData = function (teamid) {\r\n // vm.userId = teamid;\r\n // DashboardService.Get360VendorTeamData(loggedInUserId, vm.userId, token).then(function (resp) {\r\n // vm.vendorteam = resp.data;\r\n // })\r\n // }\r\n\r\n\r\n vm.GetLastFollowUpOnTicketId = function (teamid) {\r\n vm.userId = teamid;\r\n vm.FollowupListArr = [];\r\n DashboardService.GetLastFollowUpOnTicketId(loggedInUserId, vm.userId, token).then(function (resp) {\r\n vm.followupdata = resp.data;\r\n angular.forEach(vm.followupdata, function (fdetail, i) {\r\n if (fdetail != null) {\r\n angular.forEach(vm.followupdata[i].FollowUpOnTicket, function (fdetail, i) {\r\n vm.FollowupList = fdetail.FollowUpOnTicket;\r\n vm.FollowupListArr.push(fdetail);\r\n })\r\n\r\n }\r\n })\r\n })\r\n }\r\n\r\n vm.GetToolsAndAssets = function () {\r\n // vm.userId = teamid;\r\n DashboardService.GetToolsAndAssets(loggedInUserId, userId, token).then(function (resp) {\r\n vm.assetData = resp.data;\r\n vm.ResetUserFilter();\r\n })\r\n }\r\n\r\n\r\n vm.loaderFlag = false;\r\n vm.hideLoader = function () {\r\n if (vm.loaderFlag) {\r\n $rootScope.$broadcast(\"loader_hide\");\r\n $timeout(function () { vm.loaderFlag = false; }, 1000);\r\n $timeout(vm.hideLoader, 1);\r\n }\r\n }\r\n\r\n vm.OpenDeactivateConfirmationModel = function () {\r\n vm.openDeactivateModel = $uibModal.open({\r\n templateUrl: 'deactivateModel.html',\r\n backdrop: 'static',\r\n size: 'md',\r\n scope: $scope\r\n });\r\n }\r\n vm.closeDeactivateModel = function () {\r\n vm.openDeactivateModel.close();\r\n vm.DeactivationRemark = \"\";\r\n }\r\n\r\n\r\n vm.DeActivateUserWithRemark = function () {\r\n vm.Deactivation_Form.submitted = true;\r\n if (vm.Deactivation_Form.$valid) {\r\n var data = {\r\n \"UserId\": userId,\r\n \"BlockComment\": vm.DeactivationRemark\r\n }\r\n TechnicianViewService.DeActivateUserWithRemark(data, loggedInUserId, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.closeDeactivateModel();\r\n $timeout(function () {\r\n vm.Get360TeamProfileData();\r\n }, 2000)\r\n\r\n }\r\n }, function () {\r\n });\r\n }\r\n }\r\n\r\n\r\n vm.OpenSkillRemovalConfirmationModel = function (skill) {\r\n vm.skillToBeDeleted = skill;\r\n vm.openSkillRemovalModel = $uibModal.open({\r\n templateUrl: 'skillRemovalModel.html',\r\n backdrop: 'static',\r\n size: 'md',\r\n scope: $scope\r\n });\r\n }\r\n vm.closeSkillRemovalModel = function () {\r\n vm.openSkillRemovalModel.close();\r\n }\r\n\r\n vm.OpenPincodeUpdateModel = function (location) {\r\n vm.UpdatedPincodeSet = [];\r\n if(location){\r\n vm.UpdatedPincodeSet = location;\r\n }\r\n vm.openPincodeEditModel = $uibModal.open({\r\n templateUrl: 'pincodeRemovalModel.html',\r\n backdrop: 'static',\r\n size: 'md',\r\n scope: $scope\r\n });\r\n }\r\n vm.closePincodeUpdateModel = function () {\r\n vm.openPincodeEditModel.close();\r\n }\r\n\r\n\r\n \r\n // vm.OpeSkillUpdateModel = function (skill) {\r\n // vm.UpdatedSkillSet = [];\r\n // if(skill){\r\n // angular.forEach(skill, function(newskillset){\r\n // vm.UpdatedSkillSet.push(newskillset.Skill);\r\n // });\r\n // }\r\n // vm.openSkillEditModel = $uibModal.open({\r\n // templateUrl: 'skillUpdateModel.html',\r\n // backdrop: 'static',\r\n // size: 'md',\r\n // scope: $scope\r\n // });\r\n // }\r\n // vm.closeSkillUpdateModel = function () {\r\n // vm.openSkillEditModel.close();\r\n // }\r\n\r\n\r\n vm.OpeSkillUpdateModel = function (skill) {\r\n vm.UpdatedSkillSet = skill;\r\n if(skill){\r\n angular.forEach(skill, function(newskillset){\r\n vm.UpdatedSkillSet.push(newskillset);\r\n });\r\n }\r\n vm.openSkillEditModel = $uibModal.open({\r\n templateUrl: 'skillUpdateModel.html',\r\n backdrop: 'static',\r\n size: 'md',\r\n scope: $scope\r\n });\r\n }\r\n vm.closeSkillUpdateModel = function () {\r\n vm.openSkillEditModel.close();\r\n }\r\n\r\n \r\n vm.skillsArray = [];\r\n vm.getAllSkill = function () {\r\n TeamFormCreationService.getAllSkills(loggedInUserId, token).then(function (resp) {\r\n vm.SkillList = resp.data; \r\n for (var index = 0; index < vm.SkillList.length; index++) { \r\n vm.skillsArray.push(vm.skills[index].SkillName);\r\n }\r\n }); \r\n }\r\n\r\n\r\n \r\n vm.deleteSkillFromUser = function () {\r\n var data = {\r\n \"UserId\": userId,\r\n \"action\": \"Skill\",\r\n \"pincode\": \"\",\r\n \"skill\": vm.skillToBeDeleted,\r\n \"accountId\": \"\"\r\n }\r\n TechnicianViewService.UpdatePincodeSkillAccountId(data, loggedInUserId, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Skill removed successfully.\");\r\n vm.closeSkillRemovalModel();\r\n $timeout(function () {\r\n vm.Get360TeamProfileData();\r\n }, 2000)\r\n\r\n }\r\n }, function () {\r\n });\r\n \r\n }\r\n\r\n vm.UpdatePincodesInUserProfile = function () {\r\n var data = {\r\n \"UserId\": userId,\r\n \"action\": \"PincodeList\",\r\n \"pincode\": \"\",\r\n \"skill\": \"\",\r\n \"accountId\": \"\",\r\n \"pincodeList\": vm.UpdatedPincodeSet\r\n }\r\n TechnicianViewService.UpdatePincodeSkillAccountId(data, loggedInUserId, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Pincodes updated successfully.\");\r\n vm.closePincodeUpdateModel();\r\n $timeout(function () {\r\n vm.Get360TeamProfileData();\r\n }, 2000)\r\n\r\n }\r\n }, function () {\r\n });\r\n \r\n }\r\n\r\n\r\n vm.UpdateUserSkillS = function () {\r\n var data = {\r\n \"UserId\": userId,\r\n \"SkillSet\": vm.UpdatedSkillSet\r\n }\r\n TechnicianViewService.UpdateUserSkillS(data, loggedInUserId, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Skills updated successfully.\");\r\n vm.closeSkillUpdateModel();\r\n $timeout(function () {\r\n vm.Get360TeamProfileData();\r\n }, 2000)\r\n\r\n }\r\n }, function () {\r\n });\r\n \r\n}\r\n\r\n vm.OpenRefundConfirmationModel = function () {\r\n vm.openRefundModel = $uibModal.open({\r\n templateUrl: 'refundModel.html',\r\n backdrop: 'static',\r\n size: 'md',\r\n scope: $scope\r\n });\r\n }\r\n vm.closeRefundModel = function () {\r\n vm.disableRejectButton = false;\r\n vm.openRefundModel.close();\r\n }\r\n vm.disableRejectButton = false;\r\n vm.ReturnPrimeMemberAmount = function () {\r\n vm.disableRejectButton = true;\r\n TechnicianViewService.ReturnPrimeMemberAmount(loggedInUserId, userId, token).then(function (resp) {\r\n if (resp.status == 202) {\r\n vm.closeRefundModel();\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.Get360TeamProfileData();\r\n }\r\n else {\r\n vm.disableRejectButton = false;\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n });\r\n }\r\n\r\n\r\n vm.UpdatedCaseForTechnician = function () {\r\n var dataToUpdate = {\r\n \"UserId\": vm.userId,\r\n \"CaseId\": vm.CaseId,\r\n \"CaseResolution\": vm.CaseResolution,\r\n \"CaseStatus\": vm.CaseStatus,\r\n \"IssueDescription\": vm.IssueDescription,\r\n \"IssueRelatedTo\": vm.updatedCategory,\r\n \"ActualIssue\": vm.updatedSubCategory,\r\n \"ProductOrService\": \"\",\r\n \"AssigneToTeam\": vm.AssignedTo,\r\n \"AssignToDepartment\": vm.DepartmentAssignedTo\r\n }\r\n TechnicianViewService.UpdateCaseForTechnician(dataToUpdate, loggedInUserId, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.closeraiseresolve();\r\n $timeout(function () {\r\n vm.GetAllCasesForTechnician();\r\n }, 2000)\r\n }\r\n\r\n else {\r\n vm.showFailure(\"Failed\", resp.data)\r\n }\r\n\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n // Pincode Finder code\r\n\r\n\r\n\r\n\r\n var pitemValues = \"Approved|Completed\";\r\n\r\n\r\n vm.ticketdates = { startDate: moment().subtract(5, 'years'), endDate: moment() };\r\n vm.ticketranges = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n 'Till now': [moment().subtract(5, 'years'), moment()]\r\n };\r\n\r\n $scope.ticketFilters = {\r\n Approved: true,\r\n Cancelled: false,\r\n Completed: true,\r\n Assigned: false\r\n };\r\n\r\n $scope.pincodeFilters = {\r\n InProfileNoJobs: true,\r\n InProfileWithJobs: true,\r\n NotInProfileWithJobs: true,\r\n NotInProfileNoJobs: true\r\n };\r\n\r\n $scope.sortType = ''; // Default sorting column\r\n $scope.sortReverse = false; // Default sorting order\r\n\r\n $scope.sortBy = function (column) {\r\n if ($scope.sortType === column) {\r\n $scope.sortReverse = !$scope.sortReverse;\r\n } else {\r\n $scope.sortType = column;\r\n $scope.sortReverse = false;\r\n }\r\n };\r\n\r\n vm.outsidedateRangeChange = function (ev, picker) {\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n vm.GetPinCodesAndJobInfo();\r\n };\r\n\r\n NgMap.getMap().then(function (map) {\r\n vm.map = map;\r\n });\r\n\r\n vm.getRadius = function (num) {\r\n return Math.sqrt(num) * 100;\r\n }\r\n\r\n vm.backprvpage = function () {\r\n $state.go('index.AllUsersList', {\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n const freelancer = {\r\n url: \"../../assets/images/patterns/FL.png\"\r\n };\r\n const vendor = {\r\n url: \"../../assets/images/patterns/FV.png\"\r\n };\r\n const vendorTeam = {\r\n url: \"../../assets/images/patterns/FVT.png\"\r\n };\r\n\r\n vm.highlightRow = function (pincode) {\r\n $scope.selectedPincode = pincode;\r\n };\r\n\r\n\r\n vm.showMapWithUser = function () {\r\n NgMap.getMap().then(function (map) {\r\n if (vm.techData) {\r\n if (vm.techData.Role == 'Field Engineer') {\r\n icons = freelancer\r\n }\r\n else if (vm.techData.Role == 'Vendor Manager') {\r\n icons = vendor\r\n }\r\n else if (vm.techData.Role == 'Fixed Team') {\r\n icons = vendorTeam\r\n }\r\n var latLng = new google.maps.LatLng(vm.techData.FixedLatitude, vm.techData.FixedLongitude);\r\n const marker = new google.maps.Marker({ position: latLng, icon: icons });\r\n const contentString = \"

\" + vm.techData.Role + \"

Name: \" + vm.techData.FirstName + ' ' + vm.techData.LastName + \"SkillSet: \" + vm.techData.SkillSet + \"Address: \" + vm.techData.CurrentAdd1 + ' ' + vm.techData.CurrentAdd2 + \"City: \" + vm.techData.City + \"State: \" + vm.techData.CurrentState + \"Pincode: \" + vm.techData.CurrentPinCode + \"GeoLocation: \" + vm.techData.FixedGeoLocation + \"
\";\r\n var infowindow = new google.maps.InfoWindow({ content: contentString });\r\n marker.addListener(\"click\", function () {\r\n infowindow.open(map, marker);\r\n });\r\n marker.setMap(map);\r\n map.panTo(latLng);\r\n map.setZoom(12);\r\n if ((vm.techData.FixedLatitude != 0) && (vm.techData.FixedLongitude != 0)) {\r\n vm.GetMaxJobServedDistance();\r\n }\r\n }\r\n\r\n });\r\n }\r\n\r\n\r\n $scope.onSliderMouseUp = function () {\r\n vm.GetPinCodesAndJobInfo();\r\n };\r\n\r\n function clearTicketMarkers() {\r\n for (var i = 0; i < ticketMarkers.length; i++) {\r\n ticketMarkers[i].setMap(null);\r\n }\r\n }\r\n\r\n function clearPinCodeMarkers() {\r\n for (var i = 0; i < pinCodeMarkers.length; i++) {\r\n pinCodeMarkers[i].setMap(null);\r\n }\r\n }\r\n\r\n function deleteTicketMarkers() {\r\n clearTicketMarkers();\r\n ticketMarkers = [];\r\n }\r\n\r\n function deletePinCodeMarkers() {\r\n clearPinCodeMarkers();\r\n pinCodeMarkers = [];\r\n }\r\n\r\n const pincodesWithJobsInProfile = {\r\n url: \"https://maps.google.com/mapfiles/ms/micons/green-dot.png\"\r\n };\r\n const pincodesWithoutJobsInProfile = {\r\n url: \"https://maps.google.com/mapfiles/ms/micons/orange-dot.png\"\r\n };\r\n const pincodesNotExist = {\r\n url: \"https://maps.google.com/mapfiles/ms/micons/red-dot.png\"\r\n }\r\n const pincodesWithJobsNotInProfile = {\r\n url: \"https://maps.google.com/mapfiles/ms/micons/blue-dot.png\"\r\n }\r\n\r\n\r\n var ticketMarkers = [];\r\n var pinCodeMarkers = [];\r\n var bouncingMarker = null;\r\n vm.showMapWithTechBasedOnPincodes = function () {\r\n NgMap.getMap().then(function (map) {\r\n $scope.infoWindow = new google.maps.InfoWindow();\r\n $scope.Latlngbounds = new google.maps.LatLngBounds();\r\n var circleCenter = new google.maps.LatLng(vm.techData.FixedLatitude, vm.techData.FixedLongitude);\r\n var circleRadius = vm.DistanceBetween * 1000;\r\n // Remove previous circle if it exists\r\n if (vm.circle) {\r\n vm.circle.setMap(null);\r\n }\r\n // Create a circle\r\n vm.circle = new google.maps.Circle({\r\n strokeColor: '#00FF00', // Green color\r\n strokeOpacity: 0.8,\r\n strokeWeight: 2,\r\n fillColor: '#00FF00',\r\n fillOpacity: 0.35,\r\n map: map,\r\n center: circleCenter,\r\n radius: circleRadius,\r\n });\r\n for (var i = 0; i < vm.userslistbyTkt.length; i++) {\r\n var data = vm.userslistbyTkt[i]\r\n var myLatlng = new google.maps.LatLng(data.Latitude, data.Longitude);\r\n if ($scope.pincodeFilters.InProfileNoJobs && data.InProfile && data.JobCount == 0) {\r\n var icon = pincodesWithoutJobsInProfile;\r\n marker = new google.maps.Marker({\r\n position: myLatlng,\r\n map: map,\r\n icon: icon\r\n });\r\n }\r\n if ($scope.pincodeFilters.InProfileWithJobs && data.InProfile && data.JobCount > 0) {\r\n var icon = pincodesWithJobsInProfile;\r\n marker = new google.maps.Marker({\r\n position: myLatlng,\r\n map: map,\r\n icon: icon\r\n });\r\n }\r\n if ($scope.pincodeFilters.NotInProfileWithJobs && data.JobCount > 0 && !data.InProfile) {\r\n var icon = pincodesWithJobsNotInProfile;\r\n marker = new google.maps.Marker({\r\n position: myLatlng,\r\n map: map,\r\n icon: icon\r\n });\r\n }\r\n if ($scope.pincodeFilters.NotInProfileNoJobs && data.JobCount == 0 && !data.InProfile) {\r\n var icon = pincodesNotExist;\r\n marker = new google.maps.Marker({\r\n position: myLatlng,\r\n map: map,\r\n icon: icon\r\n });\r\n }\r\n pinCodeMarkers.push(marker);\r\n (function (marker, data, index) {\r\n google.maps.event.addListener(marker, \"click\", function (e) {\r\n if (bouncingMarker && bouncingMarker !== marker) {\r\n bouncingMarker.setAnimation(null);\r\n }\r\n toggleBounce(marker);\r\n bouncingMarker = marker;\r\n $scope.$apply(function () {\r\n $scope.selectedMarkerIndex = index;\r\n vm.scrollToRow(index);\r\n });\r\n });\r\n })(marker, data, i);\r\n $scope.Latlngbounds.extend(marker.position);\r\n map.fitBounds($scope.Latlngbounds);\r\n }\r\n\r\n });\r\n }\r\n\r\n\r\n $scope.openInfoWindow = function (index) {\r\n if (pinCodeMarkers[index] && vm.userslistbyTkt[index]) {\r\n var marker = pinCodeMarkers[index];\r\n var data = vm.userslistbyTkt[index];\r\n if (bouncingMarker && bouncingMarker !== marker) {\r\n bouncingMarker.setAnimation(null);\r\n }\r\n toggleBounce(marker);\r\n bouncingMarker = marker;\r\n $scope.selectedMarkerIndex = index;\r\n }\r\n };\r\n\r\n function toggleBounce(marker) {\r\n marker.setAnimation(google.maps.Animation.BOUNCE);\r\n }\r\n\r\n vm.scrollToRow = function (index) {\r\n var rowId = 'pincodeRow_' + index;\r\n\r\n $location.hash(rowId);\r\n $anchorScroll();\r\n };\r\n\r\n vm.GetFreelancerDataByUserId = function () {\r\n PincodeFinderService.GetFreelancerDataByUserId(userId, loggedInUserId, token).then(function (resp) {\r\n vm.techData = resp.data;\r\n vm.showMapWithUser();\r\n })\r\n }\r\n\r\n\r\n vm.GetFreelancerDataByUserId();\r\n\r\n vm.GetMaxJobServedDistance = function () {\r\n var fetchdataModel = {\r\n \"Range\": 10000,\r\n \"UserId\": userId,\r\n \"JobsFromDate\": \"2016-12-11\",\r\n \"JobsToDate\": endDate,\r\n \"ItemNames\": \"Status\",\r\n \"ItemValues\": pitemValues,\r\n \"DataFeild\": \"CreatedOn\",\r\n \"PageIndex\": 0,\r\n \"PageSize\": 0,\r\n \"OrderBy\": \"CreatedOn\",\r\n \"SortType\": \"desc\"\r\n }\r\n PincodeFinderService.GetMaxJobServedDistance(loggedInUserId, token, fetchdataModel).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.DistanceBetween = resp.data;\r\n $timeout(function () {\r\n vm.GetPinCodesAndJobInfo();\r\n }, 1000);\r\n }\r\n })\r\n }\r\n\r\n vm.updatePincodesMapIcons = function () {\r\n deletePinCodeMarkers();\r\n vm.showMapWithTechBasedOnPincodes();\r\n };\r\n\r\n\r\n vm.GetPinCodesAndJobInfo = function () {\r\n deleteTicketMarkers();\r\n deletePinCodeMarkers();\r\n var fetchdataModel = {\r\n \"Range\": vm.DistanceBetween * 1000,\r\n \"UserId\": userId,\r\n \"JobsFromDate\": startDate,\r\n \"JobsToDate\": endDate,\r\n \"ItemNames\": \"Status\",\r\n \"ItemValues\": pitemValues,\r\n \"DataFeild\": \"CreatedOn\",\r\n \"PageIndex\": 0,\r\n \"PageSize\": 0,\r\n \"OrderBy\": \"CreatedOn\",\r\n \"SortType\": \"desc\"\r\n }\r\n PincodeFinderService.GetPinCodesAndJobInfo(loggedInUserId, token, fetchdataModel).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.OverAllInfo = resp.data;\r\n vm.TicketListByFilter = resp.data.WorkSummary360Data.workSummaryData;\r\n vm.userslistbyTkt = resp.data.PinCodesInfoList;\r\n if ($scope.mapType == 'showPincodes') {\r\n $timeout(function () {\r\n vm.showMapWithTechBasedOnPincodes();\r\n }, 1000);\r\n }\r\n if ($scope.mapType == 'showTickets') {\r\n $timeout(function () {\r\n vm.showMapBasedOnTickets();\r\n }, 1000);\r\n }\r\n }\r\n })\r\n }\r\n\r\n vm.UpdateIdConfirmation = function (orderData,actionType) {\r\n\t\t\tupdateidconfirm = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'UpdateId.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeUpdateIdModel = function () {\r\n\t\t\tupdateidconfirm.close();\r\n vm.AddressProof = false; \r\n vm.IdentityProof = false; \r\n vm.disableRejectButton = false;\r\n\t\t\t\r\n\t\t}\r\n\r\n vm.UpdateUserBGVerificationDetails = function () {\r\n var userId = vm.userId;\r\n var addressProof = vm.AddressProof ? true : false;\r\n var identityProof = vm.IdentityProof ? true : false;\r\n vm.disableRejectButton = true;\r\n TechnicianViewService.UpdateUserBGVerificationDetails(userId,addressProof,identityProof, loggedInUserId, token).then(function (resp) {\r\n // vm.updatebguser = resp.data;\r\n if (resp.status == 200 || resp.status == 202) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.closeUpdateIdModel();\r\n // $timeout(function () {\r\n // vm.GetAllCasesForTechnician();\r\n // }, 2000)\r\n }\r\n\r\n else {\r\n vm.showFailure(\"Failed\", resp.data)\r\n vm.disableRejectButton = false;\r\n }\r\n })\r\n }\r\n\r\n\r\n vm.showMapBasedOnTickets = function () {\r\n NgMap.getMap().then(function (map) {\r\n $scope.infoWindow = new google.maps.InfoWindow();\r\n $scope.Latlngbounds = new google.maps.LatLngBounds();\r\n const ticketPlot = {\r\n url: \"https://maps.google.com/mapfiles/ms/micons/green-dot.png\"\r\n };\r\n icons = ticketPlot;\r\n for (var i = 0; i < vm.TicketListByFilter.length; i++) {\r\n var data = vm.TicketListByFilter[i]\r\n var myLatlng = new google.maps.LatLng(data.Latitude, data.Longitude);\r\n var marker = new google.maps.Marker({\r\n position: myLatlng,\r\n map: map,\r\n icon: icons\r\n });\r\n ticketMarkers.push(marker);\r\n (function (marker, data, index) {\r\n google.maps.event.addListener(marker, \"click\", function (e) {\r\n $scope.infoWindow.setContent(\"

Ticket Info

TicketId : \" + data.TicketID + \"Skill: \" + data.TicketType + \"Pincode: \" + data.Pincode + \"Status: \" + data.JobsStatus + \"
\");\r\n $scope.infoWindow.open(map, marker);\r\n });\r\n })(marker, data, i);\r\n $scope.Latlngbounds.extend(marker.position);\r\n map.fitBounds($scope.Latlngbounds);\r\n }\r\n\r\n });\r\n }\r\n $scope.mapType = 'showPincodes';\r\n $scope.showTickets = false;\r\n $scope.showPincodes = true;\r\n $scope.showAllTickets = false;\r\n\r\n vm.displayAllTickets = function () {\r\n if ($scope.showAllTickets) {\r\n startDate = moment().subtract(5, 'years').format(\"YYYY-MM-DD\");\r\n endDate = moment().format(\"YYYY-MM-DD\");\r\n $scope.ticketFilters = {\r\n Approved: true,\r\n Cancelled: true,\r\n Completed: true,\r\n Assigned: true\r\n };\r\n vm.updateMapIcons();\r\n }\r\n if (!$scope.showAllTickets) {\r\n $scope.ticketFilters = {\r\n Approved: true,\r\n Cancelled: false,\r\n Completed: true,\r\n Assigned: false\r\n };\r\n vm.updateMapIcons();\r\n }\r\n\r\n }\r\n\r\n vm.updateOptionalMapIcons = function () {\r\n if ($scope.mapType === 'showPincodes') {\r\n deleteTicketMarkers();\r\n $scope.pincodeFilters = {\r\n InProfileNoJobs: true,\r\n InProfileWithJobs: true,\r\n NotInProfileWithJobs: true,\r\n NotInProfileNoJobs: true\r\n };\r\n vm.GetPinCodesAndJobInfo();\r\n } else if ($scope.mapType === 'showTickets') {\r\n deletePinCodeMarkers();\r\n vm.updateMapIcons();\r\n }\r\n };\r\n\r\n vm.updateMapIcons = function () {\r\n pitemValues = Object.keys($scope.ticketFilters)\r\n .filter(function (key) {\r\n return $scope.ticketFilters[key];\r\n })\r\n .join(\"|\");\r\n vm.GetPinCodesAndJobInfo();\r\n }\r\n\r\n vm.filterStatusForJObs('Assigned');\r\n\r\n\r\n\r\n\r\n vm.scrollDwn = function () {\r\n $(\"html, body\").animate({ scrollTop: $(document).height() - $(window).height() }, 900);\r\n }\r\n\r\n\r\n }\r\n})\r\n .directive('expand', function () {\r\n function link(scope, element, attrs) {\r\n scope.$on('onExpandAll', function (event, args) {\r\n scope.expanded = args.expanded;\r\n });\r\n }\r\n return {\r\n link: link\r\n };\r\n });\r\nangular.module('inspinia').filter('changeTime', function () {\r\n\r\n return function (s) {\r\n var ms = s % 1000;\r\n s = (s - ms) / 1000;\r\n var secs = s % 60;\r\n s = (s - secs) / 60;\r\n var mins = s % 60;\r\n var hrs = (s - mins) / 60;\r\n return hrs + ':' + mins + ' hr';\r\n }\r\n});\r\n\r\n\r\n\r\n\nangular.module('inspinia').service('TeamPartRequestService', function (ApiURL,AcessoriesURL, SchedulingAPI, $window, $localStorage, $http) {\r\n\r\n this.GetAllRequestedPart = function (token, orderStatus, SearchText, category, brandName, productGroup, orderBy, sortType, fPageIndex, fPageSize, startDate, endDate, dateField) {\r\n var url = AcessoriesURL + '/api/RequestedPartInventoryController/GetAllRequestedPart?OrderStatus=' + orderStatus + '&startDate=' + startDate + '&EndDate=' + endDate + '&SearchText=' + SearchText + '&dateField=' + dateField + '&category=' + category + '&BrandName=' + brandName + '&ProductGroup=' + productGroup + '&OrderBy=' + orderBy + '&SortType=' + sortType + '&PageSize=' + fPageSize + '&PageIndex=' + fPageIndex;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetAllRequestedPart_CSV = function (token, orderStatus, SearchText, category, brandName, productGroup, orderBy, sortType, fPageIndex, fPageSize, startDate, endDate, dateField) {\r\n var url = AcessoriesURL + '/api/RequestedPartInventoryController/GetAllRequestedPart_CSV?OrderStatus=' + orderStatus + '&startDate=' + startDate + '&EndDate=' + endDate + '&SearchText=' + SearchText + '&dateField=' + dateField + '&category=' + category + '&BrandName=' + brandName + '&ProductGroup=' + productGroup + '&OrderBy=' + orderBy + '&SortType=' + sortType + '&PageSize=' + fPageSize + '&PageIndex=' + fPageIndex;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n // this.GetUserAllSalesOrderDashboardforWeb = function (token, category, brandName, productGroup, startDate, endDate, dateField) {\r\n // var url = ApiURL + '/api/ZohoInventoryController/GetUserAllSalesOrderDashboardforWeb?startDate=' + startDate + '&EndDate=' + endDate + '&dateField=' + dateField + '&category=' + category + '&BrandName=' + brandName + '&ProductGroup=' + productGroup;\r\n // return $http.get(url, {\r\n // headers: {\r\n // 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n // }\r\n // });\r\n // }\r\n\r\n this.GetUserInventoryStockforweb = function (data,token) {\r\n var url = AcessoriesURL + '/api/MMFPart/GetUserInventoryStockforweb'\r\n return $http.put(url, data,{\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n this.GetInventoryDashboardByServiceCenter = function (data,token) {\r\n var url = AcessoriesURL + '/api/MMFPart/GetInventoryDashboardByServiceCenter'\r\n return $http.put(url, data,{\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n this.UpdatePartDetails = function (data,token) {\r\n var url = AcessoriesURL + '/api/MMFOrder/UpdatePartDetails'\r\n return $http.put(url, data,{\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n // this.GetUserSalesOrderIntatiedByZoho = function (token, orderStatus, SearchText, category, brandName, productGroup, orderBy, sortType, ePageIndex, ePageSize, startDate, endDate) {\r\n // var url = ApiURL + '/api/ZohoInventoryController/GetUserSalesOrderIntatiedByZoho?OrderStatus=' + orderStatus + '&startDate=' + startDate + '&EndDate=' + endDate + '&SearchText=' + SearchText + '&Category=' + category + '&BrandName=' + brandName + '&ProductGroup=' + productGroup + '&OrderBy=' + orderBy + '&SortType=' + sortType + '&PageSize=' + ePageSize + '&PageIndex=' + ePageIndex;\r\n // return $http.get(url, {\r\n // headers: {\r\n // 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n // }\r\n // });\r\n // }\r\n\r\n\r\n this.InventoryDefectStockList = function (token, SearchText, category, brandName, productGroup, uPageIndex, uPageSize, startDate, endDate) {\r\n var url = ApiURL + '/api/ZohoInventoryController/InventoryDefectStockList?Category=' + category + '&BrandName=' + brandName + '&ItemGroup=' + productGroup + '&SearchText=' + SearchText + '&StartDate=' + startDate + '&EndDate=' + endDate + '&PageSize=' + uPageSize + '&PageIndex=' + uPageIndex;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetItemBrandName = function (token) {\r\n var url = AcessoriesURL + '/api/MMFMasterInventory/GetItemBrandName';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n this.GetItemGroupName = function (brandName, token) {\r\n var url = AcessoriesURL + '/api/MMFMasterInventory/GetItemGroupName?BrandName=' + brandName;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n this.GetItemListName = function (brandName, productGroup, token) {\r\n var url = AcessoriesURL + '/api/MMFMasterInventory/GetItemListName?BrandName=' + brandName + '&ItemGroupName=' + productGroup;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n this.GetItemListNameWithId = function (brandName, productGroup, token) {\r\n var url = AcessoriesURL + '/api/MMFMasterInventory/GetItemListNameWithId?BrandName=' + brandName + '&ItemGroupName=' + productGroup;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetShipmentOrder = function (salesOrderNumber, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/GetShipmentOrder?salesOrderNumber=' + salesOrderNumber;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.TrackinDetailForDefectItem = function (trackingId, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/TrackinDetailForDefectItem?TrackingId=' + trackingId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n\r\n this.GetServiceCentenAndTeamStockData = function (LineItemId, SearchTag, token) {\r\n var url = AcessoriesURL + '/api/MMFPart/GetServiceCentenAndTeamStockData?ParrtId=' + LineItemId + '&SearchTag=' + SearchTag;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.PullBackStockToTechnician = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFPart/PullBackStockToTechnician';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n\tthis.GetAllWareHouseForExploration = function (loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/WareHouse/GetAllWareHouseForExploration';\r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.MarkSalesOrderasDelivered = function (data, loggedinUser, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/MarkSalesOrderasDelivered';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetWarehouse = function (token, data) {\r\n var url = ApiURL + '/api/ItemsInventory/GetNearbyWarehouseList';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetSalesOrder = function (loggedinUser, salesOrderId, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/GetSalesOrder?salesOrderId=' + salesOrderId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.UpdateRequestInventoryJobLineItemStatus = function (ticketId, status, lineitemId, updateStatusRemark, token) {\r\n var url = ApiURL + '/api/JobLineItem/UpdateRequestInventoryJobLineItemStatus?TicketId=' + ticketId + '&Status=' + status + '&LineItemId=' + lineitemId + '&Remark=' + updateStatusRemark;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetRequestedLineItemDetailsByTicketId = function (loggedinUser, salesOrderId, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/GetRequestedLineItemDetailsByTicketId?TicketId=' + salesOrderId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.createSalesOrder = function (token, data) {\r\n var url = ApiURL + '/api/ItemsInventory/CreateSalesOrderForLineitem';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n \r\n this.DirectPlaceOrder = function (data, token) {\r\n var url = AcessoriesURL + '/api/MMFOrder/DirectPlaceOrder';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n // this.InventoryReturnOfDefectPartsByServiceCenter = function (data, loggedinUser, token) {\r\n // var url = ApiURL + '/api/ZohoInventoryController/InventoryReturnOfDefectPartsByServiceCenter';\r\n // return $http.post(url, data, {\r\n // headers: {\r\n // 'Content-Type': 'application/json',\r\n // 'Token': token,\r\n // 'UserId': loggedinUser\r\n // }\r\n // });\r\n // }\r\n this.ReturnOrderPlace = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFReturnOrder/ReturnOrderPlace';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.TransferInventory = function (data, loggedinUser, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/TransferInventory';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.viewReportPdf = function (loggedinUser, token, fileName) {\r\n var url = ApiURL + '/api/Image?fileName=' + fileName;\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetUserInventoryStockCsvDownload = function (data,loggedinUser,token) {\r\n var url = AcessoriesURL + '/api/MMFPart/GetUserInventoryStockCsvDownload'\r\n return $http.put(url,data ,{\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetInventoryByWareHouseId = function (data,loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFPart/GetInventoryByWareHouseId';\r\n return $http.put(url,data, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n}\r\n\r\nthis.CreateInvoiceToStockAlllocationToFielEngineer = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFOrderInvoice/CreateInvoiceToStockAlllocationToFielEngineer';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\nthis.AllocateStockToFieldEngineer = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFOrderInvoice/AllocateStockToFieldEngineer';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\nthis.GetWareHouseByPartId = function (partId, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/WareHouse/GetWareHouseByPartId?partId=' + partId;\r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n}\r\nthis.GetAllPartsByTicketId = function (ticketId, data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFMasterInventory/GetAllPartsByTicketId?TicketId=' + ticketId;\r\n var config = {\r\n params: data,\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n };\r\n return $http.get(url, config);\r\n}\r\n\r\nthis.UpdateTeamOrder = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFOrder/UpdateTeamOrder';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\n\r\n})\r\n\r\n\r\n\nangular\r\n .module(\"inspinia\")\r\n .controller(\r\n \"TeamPartRequestController\",\r\n function (\r\n TeamPartRequestService,InventoryItemListService, TeamMyStockService,\r\n MainService,\r\n $window,\r\n PublicApiURL,\r\n ApiURL,\r\n $state,\r\n $localStorage,\r\n $scope,\r\n $uibModal,\r\n $timeout,\r\n $stateParams\r\n ) {\r\n vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n vm.NokiaTableHeaderChange =\r\n $localStorage.accountConfig.NokiaTableHeaderChange;\r\n var loggedinUserName =\r\n $localStorage.loggedInUser_FirstName +\r\n \" \" +\r\n $localStorage.loggedInUser_LastName;\r\n var token = $localStorage.token;\r\n var loggedinUserImage = $localStorage.picture;\r\n var uTicketId = $stateParams.ticketId;\r\n vm.SearchTag = \"\";\r\n vm.showMapPermision = false;\r\n vm.superPower = false;\r\n $scope.isCollapsed = true;\r\n vm.UserId = \"\";\r\n vm.CurrencySetting = $localStorage.accountConfig.CurrencySetting;\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n vm.getAccountConfigSetting =\r\n $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n vm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n vm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n vm.VerticalName = vm.getAccountConfigSetting(\"Vertical\");\r\n var accountConfig = $localStorage.accountConfig;\r\n vm.AccountId = $localStorage.accountConfig.AccountId;\r\n vm.isDefective = false;\r\n vm.ImageArray = [];\r\n vm.states = [];\r\n vm.cities = [];\r\n vm.isShow = true;\r\n vm.showEditList = false;\r\n vm.showAction = true;\r\n vm.dataFilters = [];\r\n vm.CancellationReasons = \"\";\r\n\t vm.WareHouseId = \"\";\r\n\t vm.ServiceCenterUserId =\"\";\r\n vm.IsCommissionDetect = false;\r\n vm.urlForNonFeasible = \"\";\r\n vm.currentStepModel = {};\r\n vm.dtInstanceNearBy = {};\r\n vm.dtInstanceFixed = {};\r\n vm.dtInstance = {};\r\n vm.dtInstancePre = {};\r\n vm.SparePartAddress = {};\r\n vm.disableBroadcastButton = false;\r\n vm.disableRouteButton = false;\r\n vm.IsChatEnabled = true;\r\n vm.showPrefer = \"\";\r\n vm.disabledDrop = false;\r\n vm.showloading = false;\r\n vm.ComplianceDisable = true;\r\n vm.PincodeEnabled = true;\r\n vm.passSerialNum = false;\r\n vm.PrivateDisable = false;\r\n vm.messageText = \"\";\r\n vm.PriceLineItemList = [];\r\n vm.LineItemDataList = [];\r\n vm.lineItem = \"\";\r\n vm.serviceType = \"\";\r\n vm.AppointmentTime = \"\";\r\n vm.ticketPrice = \"\";\r\n vm.freelancerPrice = \"\";\r\n vm.edit = true;\r\n vm.BonusPenaltyList = [];\r\n vm.BonusList = [];\r\n vm.PenaltyList = [];\r\n vm.ShipmentDetails = \"\";\r\n vm.LineitemActivityList = [];\r\n vm.LineItemCategoryType = \"\";\r\n vm.projectId = \"\";\r\n vm.selectedprojectId = \"\";\r\n vm.dynamicpricing = \"\";\r\n vm.FreelancrPriceEnable = \"\";\r\n vm.PercentageEnable = \"\";\r\n var price = 0;\r\n var Quantity = 1;\r\n var totalFPrice = 0.0;\r\n vm.BasePriceTotal = 0.0;\r\n vm.dFreelancerPriceTotal = 0.0;\r\n vm.PercentageTotal = 0.0;\r\n vm.FreelancerPriceTotal = 0.0;\r\n vm.MobiforceCommission =\r\n $localStorage.accountConfig.MobiforceCommissionPercentage;\r\n vm.IsFinalApproval = false;\r\n vm.disableExceptionButton = false;\r\n // vm.IsWithInDays = true;\r\n vm.StockCountToAssign = 1;\r\n vm.PartActionType = \"\";\r\n vm.feedbackremark = \"\";\r\n vm.PlannedClosureDateType = \"first\";\r\n vm.WithInDays = 1;\r\n vm.WithInDaysNumbers = [1, 2, 3, 4, 5];\r\n vm.IsSafetyAudit = \"Not Done\";\r\n vm.ratingwarning = \"\";\r\n vm.approvalRemark = \"\";\r\n vm.MaterialStatusList = [\r\n \"Dispatched\",\r\n \"Delivered\",\r\n \"Partially Delivered\",\r\n \"Not Delivered\",\r\n ];\r\n vm.IsMaterialDelivered = $localStorage.accountConfig.IsMaterialDelivered;\r\n vm.SelectedMaterial = \"\";\r\n vm.FreelancerAccess = $localStorage.accountConfig.FreelancerAccess;\r\n vm.ZOHOWarehouseName = \"\";\r\n vm.customerJobCard = [];\r\n vm.PageIndex = 1;\r\n vm.PageSize = 10;\r\n startDate = \"\";\r\n endDate = \"\";\r\n vm.sortType = \"\";\r\n\t vm.ServiceCenterVendorId = \"\";\r\n vm.orderBy = \"\";\r\n vm.itemValue = \"\";\r\n vm.OrderStatus = \"\";\r\n vm.SearchText = \"\";\r\n var uPageIndex = 1;\r\n var uPageSize = 10;\r\n var dPageSize = 10;\r\n var dPageIndex = 1;\r\n var fPageIndex = 1;\r\n var fPageSize = 10;\r\n var ePageIndex = 1;\r\n var ePageSize = 10;\r\n vm.userPageListCount = 10;\r\n vm.financePageListCount = 10;\r\n vm.defectedPageListCount = 10;\r\n vm.brandName = \"\";\r\n vm.partName = \"\";\r\n vm.productGroup = \"\";\r\n vm.BrandListName = \"\";\r\n vm.allSalesOrderPageListCount = 10;\r\n vm.allHistoryOrderPageListCount = 10;\r\n vm.pageListCounts = [10, 20, 30, 50];\r\n var startDate = moment().subtract(30, \"days\").format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.dateField = \"CreatedOn\";\r\n vm.ticketdates = {\r\n startDate: moment().subtract(30, \"day\"),\r\n endDate: moment(),\r\n };\r\n vm.ticketranges = {\r\n Today: [moment(), moment()],\r\n Yesterday: [moment().subtract(1, \"days\"), moment().subtract(1, \"days\")],\r\n \"Last 7 days\": [moment().subtract(7, \"days\"), moment()],\r\n \"Last 30 days\": [moment().subtract(30, \"days\"), moment()],\r\n \"This month\": [moment().startOf(\"month\"), moment().endOf(\"month\")],\r\n };\r\n\r\n vm.outsidedateRangeChange = function (ev, picker) {\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n vm.ApplyFilter();\r\n };\r\n if (accountConfig && accountConfig.EnableRegion) {\r\n vm.EnableRegion = accountConfig.EnableRegion;\r\n } else {\r\n vm.EnableRegion = false;\r\n }\r\n\r\n vm.TemplateData = [];\r\n if (!loggedinUser) {\r\n $state.go(\"Login\", {\r\n reload: true,\r\n });\r\n } else {\r\n var token = $localStorage.token;\r\n vm.ticketType = $stateParams.type;\r\n vm.TicketId = $stateParams.ticketId;\r\n\r\n vm.getPicUrl = function (ItemImage) {\r\n return ItemImage\r\n ? ApiURL +\r\n \"/api/ZohoInventoryController/GetItemImage?item=\" +\r\n ItemImage\r\n : null;\r\n };\r\n vm.TrainingImagebase64=[];\r\n vm.requestPartDetails = false;\r\n vm.OpenPartDetailPanel = function (s) {\r\n vm.PartDetails = s;\r\n vm.sideViewPartImage = s.strPartImages;\r\n for (var i = 0; i < vm.sideViewPartImage.length; i++) {\r\n vm.TrainingImageServices(vm.sideViewPartImage[i], i);\r\n }\r\n vm.requestPartDetails = true;\r\n };\r\n vm.TrainingImageServices = function (img, index) {\r\n MainService.GetImageBlob(loggedinUser, token, img).then(\r\n function (resp) {\r\n if (resp.data == null || resp.data == \"\") {\r\n vm.TrainingImagebase64[index] =\r\n \"assets/images/patterns/image_placeholder.png\";\r\n } else {\r\n vm.TrainingImagebase64[index] = resp.data;\r\n }\r\n },\r\n function () {\r\n vm.TrainingImagebase64[index] =\r\n \"assets/images/patterns/image_placeholder.png\";\r\n }\r\n );\r\n };\r\n vm.DisableCreateButton = false;\r\n vm.NewItemquantity = \"\";\r\n vm.OpenUpdatePartDetails = function (parts) {\r\n vm.UpdatePart = parts;\r\n vm.OldPartId = vm.UpdatePart.ZOHOItemId\r\n vm.PartsOrderId = vm.UpdatePart.ZOHOSalesOrderId;\r\n vm.NewItemquantity = vm.UpdatePart.LineItemQuantity || 1;\r\n vm.GetAllPartsByTicketId();\r\n vm.partdetailsedit = $uibModal.open({\r\n templateUrl: 'UpdatePartsDetails.html',\r\n backdrop: 'static',\r\n size: 'md',\r\n scope: $scope\r\n });\r\n }\r\n \r\n vm.CloseUpdatePartDetails = function () {\r\n vm.partdetailsedit.close();\r\n vm.isUpdateDisabled = false; \r\n \r\n }\r\n vm.GetAllPartsByTicketId = function (ticketId) {\r\n vm.selectedTicketId = ticketId;\r\n var data = {\r\n \"OldPartId\" : \"\",\r\n \"OrderId\" : \"\",\r\n \"NewPartId\" : \"\",\r\n \"Quantity\" : \"\"\r\n }\r\n TeamPartRequestService.GetAllPartsByTicketId(vm.selectedTicketId,data,loggedinUser,token).then(function (resp) {\r\n if (resp.data && resp.status == 200) {\r\n vm.PartListWithFilterwithId = resp.data.items;\r\n angular.forEach(vm.PartListWithFilterwithId, function (d) {\r\n if (d.item_id == vm.OldPartId) {\r\n vm.NewPartId = d.item_id;\r\n vm.NewItemquantity = Number(vm.UpdatePart.LineItemQuantity) || 1;\r\n }\r\n });\r\n }\r\n }, vm.showFailure);\r\n };\r\n vm.isUpdateDisabled = false; \r\n\r\nvm.UpdatePartDetails = function(){\r\n vm.updatepartsdetailsForm.submitted = true;\r\n if (vm.updatepartsdetailsForm.$valid) {\r\n vm.isUpdateDisabled = true; \r\n var data = {\r\n \"OldPartId\" : vm.OldPartId,\r\n \"OrderId\" : vm.PartsOrderId,\r\n \"NewPartId\" : vm.NewPartId,\r\n \"Quantity\" : vm.NewItemquantity\r\n }\r\n TeamPartRequestService.UpdatePartDetails(data, loggedinUser, token).then(function (resp) {\r\n if (resp.data && resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Parts Details Updated successfully.\");\r\n vm.isUpdateDisabled = true; \r\n vm.CloseUpdatePartDetails();\r\n $timeout(function () {\r\n vm.GetAllRequestedPart(); \r\n }, 2000);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n });\r\n }\r\n}\r\n\r\n\r\n vm.openAddToCartModal = function () {\r\n vm.morecartModal = $uibModal.open({\r\n templateUrl: 'AddMoreItemModal.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n \r\n vm.closecreateCartMoreModal = function () {\r\n vm.morecartModal.close();\r\n vm.lineItemPartData = [];\r\n vm.OrderIdToPlaceOrder = '';\r\n $scope.item.quantity = 1;\r\n }\r\n $scope.item = {\r\n quantity: 1 // Initial quantity\r\n };\r\n \r\n $scope.increaseQuantity = function (item) {\r\n item.quantity++;\r\n };\r\n \r\n $scope.decreaseQuantity = function (item) {\r\n if (item.quantity > 1) {\r\n item.quantity--;\r\n }\r\n };\r\n vm.lineItemPartData = [];\r\n vm.addCartMoreModal = function (partData, orderId) {\r\n vm.OrderIdToPlaceOrder = orderId;\r\n vm.lineItemPartData = partData;\r\n // vm.lineItemPartData = [];\r\n // partData.forEach(function(partsData) {\r\n // if(!partsData.IsPartAvailableForAllocate){\r\n // vm.lineItemPartData.push(partsData);\r\n // }\r\n \r\n // });\r\n vm.openAddToCartModal();\r\n }\r\n\r\n\r\n vm.showEditList = false;\r\n vm.OrderUpdateReqModel = [];\r\n \r\n \r\n vm.OpenOrderEditingModel = function (orderDataToUpdate) {\r\n vm.orderDataToUpdate = orderDataToUpdate;\r\n vm.GetAllPartsByTicketId(vm.orderDataToUpdate.TicketId);\r\n vm.orderItemsDataToUpdate = angular.copy(orderDataToUpdate.lineItems);\r\n OrderEditingModel = $uibModal.open({\r\n templateUrl: 'orderEditModel.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n size: 'lg'\r\n });\r\n }\r\n \r\n vm.addNewPart = function () {\r\n vm.showEditList = true; \r\n vm.newFilter = {\r\n strItem: null,\r\n LineItemQuantity: 1,\r\n };\r\n };\r\n\r\n vm.toggleEditMode = function (orderpart) {\r\n orderpart.isEditing = true;\r\n vm.PartListWithFilterwithId.forEach(function (part) {\r\n if (part.item_id == orderpart.ZOHOItemId) {\r\n orderpart.selectedPart = part;\r\n orderpart.LineItemDescription = part.item_name;\r\n }\r\n });\r\n orderpart.backup = {\r\n LineItemDescription: orderpart.LineItemDescription,\r\n ZOHOItemId: orderpart.ZOHOItemId,\r\n };\r\n };\r\n\r\n vm.saveEdit = function (orderpart) {\r\n var selectedPart = null;\r\n angular.forEach(vm.PartListWithFilterwithId, function (part) {\r\n if (part.item_name === orderpart.LineItemDescription) {\r\n selectedPart = part;\r\n }\r\n });\r\n if (selectedPart) {\r\n orderpart.LineItemDescription = selectedPart.item_name;\r\n orderpart.ZOHOItemId = selectedPart.item_id;\r\n }\r\n orderpart.isEditing = false;\r\n orderpart.backup = null;\r\n };\r\n\r\n vm.cancelEdit = function (orderpart) {\r\n if (orderpart.backup) {\r\n orderpart.LineItemDescription = orderpart.backup.LineItemDescription;\r\n orderpart.ZOHOItemId = orderpart.backup.ZOHOItemId;\r\n }\r\n orderpart.isEditing = false;\r\n orderpart.backup = null;\r\n };\r\n \r\n vm.saveFilter = function (form) {\r\n if (!form.$valid || !vm.newFilter.strItem || !vm.newFilter.LineItemQuantity) {\r\n return;\r\n }\r\n if (vm.newFilter.LineItemQuantity < 1) {\r\n vm.newFilter.LineItemQuantity = 1;\r\n }\r\n const newPart = {\r\n ZOHOItemId: vm.newFilter.strItem.item_id,\r\n LineItemDescription: vm.newFilter.strItem.item_name,\r\n // strSKUId: vm.newFilter.strItem.SKUId,\r\n LineItemQuantity: vm.newFilter.LineItemQuantity,\r\n };\r\n vm.orderItemsDataToUpdate.push(newPart);\r\n vm.newFilter = null; \r\n vm.showEditList = false; \r\n };\r\n \r\n \r\n \r\n $scope.increasePartQuantity = function (part) {\r\n part.LineItemQuantity++;\r\n };\r\n \r\n $scope.decreasePartQuantity = function (part) {\r\n if (part.LineItemQuantity > 1) {\r\n part.LineItemQuantity--;\r\n }\r\n };\r\n \r\n vm.masterInvetoryList = [];\r\n vm.GetAllVisibleMasterParts = function () {\r\n var data = {\r\n \"PartName\": \"\",\r\n \"PartCategoryGroup\": \"\",\r\n \"PartBrand\": \"\",\r\n \"PartSubGroup\": \"\",\r\n \"SearchText\": \"\"\r\n }\r\n InventoryItemListService.GetAllVisibleMasterParts(data, loggedinUser, token).then(function (resp) {\r\n if (resp.data && resp.status == 200) {\r\n vm.masterInvetoryList = resp.data;\r\n }\r\n });\r\n }\r\n vm.GetAllVisibleMasterParts();\r\n \r\n vm.deletePart = function (orderpart) {\r\n const index = vm.orderItemsDataToUpdate.indexOf(orderpart);\r\n if (index !== -1) {\r\n vm.orderItemsDataToUpdate.splice(index, 1);\r\n }\r\n };\r\n \r\n \r\n vm.closeOrderEditingModel = function () {\r\n OrderEditingModel.close();\r\n vm.disableCreateButton = false;\r\n vm.orderDataToUpdate = \"\";\r\n vm.orderItemsDataToUpdate = [];\r\n vm.OrderUpdateReqModel = [];\r\n }\r\n \r\n vm.UpdateTeamPartOrder = function () {\r\n vm.orderItemsDataToUpdate.forEach(function (orderItem) {\r\n const filteredOrderItem = {\r\n strItemId: orderItem.ZOHOItemId || '', \r\n strItemName: orderItem.LineItemDescription || '',\r\n // strSKUId: orderItem.strSKUId || '',\r\n nItemQuantity: orderItem.LineItemQuantity || 1\r\n };\r\n vm.OrderUpdateReqModel.push(filteredOrderItem);\r\n });\r\n if(vm.OrderUpdateReqModel.length > 0){\r\n var data = {\r\n \"OrderId\" : vm.orderDataToUpdate.OrderId,\r\n \"objLIstItemDetaiList\": vm.OrderUpdateReqModel\r\n }\r\n vm.disableCreateButton = true;\r\n TeamPartRequestService.UpdateTeamOrder(data, loggedinUser, token).then(function (resp) {\r\n if (resp.data && resp.status == 200) {\r\n vm.showSuccess(\"Success\",\"Order Updated Successfully\");\r\n vm.closeOrderEditingModel();\r\n $timeout(function () {\r\n vm.GetAllRequestedPart(); \r\n }, 2000);\r\n }\r\n else {\r\n vm.disableCreateButton = false;\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n });\r\n }\r\n }\r\n\r\n \r\n\r\n \r\n\r\n vm.WarehouseNameSelected = \"\";\r\n vm.DirectPlaceOrder = function () {\r\n vm.DisableCreateButton = true;\r\n var data = {\r\n \"OrderId\": vm.OrderIdToPlaceOrder,\r\n \"objItemDetails\": []\r\n };\r\n\r\n vm.lineItemPartData.forEach(function(partsData) {\r\n data.objItemDetails.push({\r\n \"MMFPartId\": partsData.ZOHOItemId,\r\n \"WareHouseId\": partsData.selectedWarehouse\r\n }); \r\n });\r\n TeamPartRequestService.DirectPlaceOrder(data, token ).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.closecreateCartMoreModal();\r\n vm.DisableCreateButton = false;\r\n vm.showSuccess(\"Success\", resp.data);\r\n setTimeout(function () {\r\n vm.GetAllRequestedPart(vm.OrderStatus);\r\n }, 2000);\r\n } else {\r\n vm.DisableCreateButton = false;\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }\r\n });\r\n };\r\n\r\n // vm.GetWareHouseByPartId = function (partId) {\r\n // TeamPartRequestService.GetWareHouseByPartId(partId, loggedinUser, token).then(function (resp) {\r\n // if (resp.data && resp.status == 200) {\r\n // vm.stockAvailableWarehouses = resp.data;\r\n // }\r\n // }, vm.showFailure);\r\n // }\r\n\r\n vm.showPartDetails = false;\r\n\r\n vm.OpenSidePanel = function (s) {\r\n vm.PartDetails = s;\r\n vm.showPartDetails = true;\r\n };\r\n\r\n vm.trackingStatus = false;\r\n vm.TrackingSidePanel = function (p) {\r\n vm.TrackDetails = p;\r\n vm.trackingStatus = true;\r\n };\r\n vm.assigntotech = false;\r\n vm.AssignSidePanel = function (q) {\r\n vm.CountDetails = q;\r\n vm.lineItem = vm.CountDetails.strMMFPartId;\r\n vm.GetServiceCentenAndTeamStockData();\r\n vm.assigntotech = true;\r\n };\r\n\r\n vm.getPic = function (LineItemAttachment) {\r\n return LineItemAttachment\r\n ? ApiURL +\r\n \"/api/ZohoInventoryController/GetItemImage?item=\" +\r\n LineItemAttachment\r\n : null;\r\n };\r\n\r\n vm.disableCreateButton = false;\r\n\r\n vm.DisableCreateButton = function (disable) {\r\n if (disable) {\r\n vm.disableCreateButton = true;\r\n } else {\r\n vm.disableCreateButton = false;\r\n }\r\n };\r\n\r\n vm.AssignStockModel = function (type, user) {\r\n vm.PartActionType = type;\r\n vm.userDetails = user;\r\n if (user.strMMFPartId) {\r\n vm.lineItem = user.strMMFPartId;\r\n }\r\n vm.createTaskModelOpen = $uibModal.open({\r\n templateUrl: \"createtask.html\",\r\n backdrop: \"static\",\r\n scope: $scope,\r\n });\r\n };\r\n\r\n vm.CloseAssignStockModel = function () {\r\n vm.createTaskModelOpen.close();\r\n vm.DisableCreateButton(false);\r\n vm.StockCountToAssign = 1;\r\n };\r\n\t\t\r\n\r\n vm.CountPopup = function (lineItem) {\r\n vm.lineItem = lineItem;\r\n vm.GetServiceCentenAndTeamStockData();\r\n vm.COuntTaskModelOpen = $uibModal.open({\r\n templateUrl: \"countclick.html\",\r\n backdrop: \"static\",\r\n scope: $scope,\r\n });\r\n };\r\n\r\n vm.ClosecountpopupModel = function () {\r\n vm.COuntTaskModelOpen.close();\r\n };\r\n\r\n $scope.totalFinList = 0;\r\n $scope.usersPerPage = vm.allSalesOrderPageListCount;\r\n $scope.SalesOrderPagination = {\r\n current: 1,\r\n };\r\n\r\n vm.changeAllSalesOrderPageListCount = function () {\r\n $scope.usersPerPage = vm.allSalesOrderPageListCount;\r\n fPageSize = $scope.usersPerPage;\r\n $scope.AllSalesOrderTablePageChanged(\r\n $scope.SalesOrderPagination.current\r\n );\r\n vm.selectAll = false;\r\n fPageIndex = $scope.SalesOrderPagination.current;\r\n $scope.AllSalesOrderTablePageChanged = function (newPage) {\r\n fPageIndex = newPage;\r\n vm.GetAllRequestedPart(\r\n token,\r\n vm.OrderStatus,\r\n vm.SearchText,\r\n vm.partName,\r\n vm.brandName,\r\n vm.productGroup,\r\n vm.orderBy,\r\n vm.sortType,\r\n fPageIndex,\r\n fPageSize,\r\n startDate,\r\n endDate,\r\n vm.dateField\r\n );\r\n };\r\n };\r\n\r\n fPageIndex = $scope.SalesOrderPagination.current;\r\n $scope.AllSalesOrderTablePageChanged = function (newPage) {\r\n fPageIndex = newPage;\r\n vm.GetAllRequestedPart(\r\n token,\r\n vm.OrderStatus,\r\n vm.SearchText,\r\n vm.partName,\r\n vm.brandName,\r\n vm.productGroup,\r\n vm.orderBy,\r\n vm.sortType,\r\n fPageIndex,\r\n fPageSize,\r\n startDate,\r\n endDate,\r\n vm.dateField\r\n );\r\n };\r\n\r\n vm.orderdetailsview = function (salesOrderDetail) {\r\n $state.go(\r\n \"index.WareHouseOrderDetailView\",\r\n {\r\n order_id: salesOrderDetail,\r\n },\r\n {\r\n reload: true,\r\n }\r\n );\r\n };\r\n\r\n vm.TicketPartOrderList = [];\r\n vm.GetAllRequestedPart = function () {\r\n TeamPartRequestService.GetAllRequestedPart(\r\n token,vm.OrderStatus,\r\n vm.SearchText,\r\n vm.partName,\r\n vm.brandName,\r\n vm.productGroup,\r\n vm.orderBy,\r\n vm.sortType,\r\n fPageIndex,\r\n fPageSize,\r\n startDate,\r\n endDate,\r\n vm.dateField\r\n ).then(\r\n function (resp) {\r\n if (resp && resp.data) {\r\n vm.TicketPartOrderList = resp.data.requestedPartInventories;\r\n $scope.totalFinList = resp.data.Count;\r\n if (\r\n vm.TicketPartOrderList.length < vm.allSalesOrderPageListCount\r\n ){\r\n vm.financeListLength = $scope.totalFinList;\r\n }\r\n else{\r\n vm.financeListLength =\r\n fPageIndex * vm.allSalesOrderPageListCount;\r\n }\r\n if (fPageIndex == 1){ vm.fpageindexCount = 1;\r\n }\r\n else{\r\n vm.fpageindexCount =\r\n (fPageIndex - 1) * vm.allSalesOrderPageListCount + 1;\r\n }\r\n $scope.isCollapsed = true; \r\n }\r\n },\r\n function (error) {}\r\n );\r\n };\r\n\r\n vm.GetAllRequestedPart_CSV = function () {\r\n TeamPartRequestService.GetAllRequestedPart_CSV(token,vm.OrderStatus,vm.SearchText,vm.partName,vm.brandName,vm.productGroup,vm.orderBy,vm.sortType,fPageIndex,fPageSize,startDate,endDate,vm.dateField).then(\r\n function (resp) {\r\n if (resp && resp.data) {\r\n var csvRequestedData = resp.data;\r\n var blob = new Blob([csvRequestedData], { type: 'text/csv' });\r\n var url = window.URL.createObjectURL(blob);\r\n var a = document.createElement('a');\r\n a.href = url;\r\n a.download = 'All_Part_Requested_List.csv';\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n \r\n }\r\n },\r\n function (error) {}\r\n );\r\n };\r\n\r\n vm.GetUserInventoryStockCsvDownload = function () {\r\n\r\n\t\t\tvar data = {\r\n\t\t\t\tWareHouseId: vm.WareHouseId,\r\n SearchText: vm.SearchText,\r\n PageIndex: dPageIndex,\r\n PageSize:dPageSize,\r\n StockType: vm.OrderStatus,\r\n Category: vm.partName,\r\n BrandName: vm.brandName,\r\n ProductGroup: vm.productGroup,\r\n StartDate: startDate,\r\n EndDate: endDate,\r\n OrderBy: vm.orderBy,\r\n SortType: vm.sortType,\r\n UserId: vm.UserId,\r\n ServiceCenterUserId: vm.ServiceCenterUserId ,\r\n ServiceCenterVendorId: vm.ServiceCenterVendorId,\r\n MMFPartId: vm.lineItem\r\n\t\t\t}\r\n TeamPartRequestService.GetUserInventoryStockCsvDownload(data,token).then(function (resp) {\r\n if (resp && resp.data) {\r\n var csvData = resp.data;\r\n\r\n // Create a Blob from the CSV data\r\n var blob = new Blob([csvData], { type: \"text/csv\" });\r\n\r\n // Create a URL for the Blob\r\n var url = window.URL.createObjectURL(blob);\r\n\r\n // Create an anchor element for the download link\r\n var a = document.createElement(\"a\");\r\n a.href = url;\r\n a.download = \"inventory.csv\"; // Set the desired filename\r\n\r\n // Simulate a click to trigger the download\r\n a.click();\r\n\r\n // Release the URL object\r\n window.URL.revokeObjectURL(url);\r\n }\r\n });\r\n };\r\n\r\n $scope.totalDefected = 0;\r\n $scope.defectedStockPageRequest = vm.defectedPageListCount;\r\n $scope.Requestpagination = {\r\n current: 1,\r\n };\r\n\r\n vm.changeMyDefectedPageListCount = function () {\r\n $scope.usersPerPageRequest = vm.defectedPageListCount;\r\n uPageSize = $scope.usersPerPageRequest;\r\n $scope.MyDefectedTablePageChanged($scope.Requestpagination.current);\r\n vm.selectAll = false;\r\n\r\n uPageIndex = $scope.Requestpagination.current;\r\n $scope.MyDefectedTablePageChanged = function (newPage) {\r\n uPageIndex = newPage;\r\n vm.GetInventoryDefectStockList(\r\n token,\r\n vm.SearchText,\r\n vm.partName,\r\n vm.brandName,\r\n vm.productGroup,\r\n uPageIndex,\r\n uPageSize,\r\n startDate,\r\n endDate\r\n );\r\n };\r\n };\r\n\r\n uPageIndex = $scope.Requestpagination.current;\r\n $scope.MyDefectedTablePageChanged = function (newPage) {\r\n uPageIndex = newPage;\r\n vm.GetInventoryDefectStockList(\r\n token,\r\n vm.SearchText,\r\n vm.partName,\r\n vm.brandName,\r\n vm.productGroup,\r\n uPageIndex,\r\n uPageSize,\r\n startDate,\r\n endDate\r\n );\r\n };\r\n\r\n vm.DefectiveStockList = [];\r\n vm.GetInventoryDefectStockList = function () {\r\n TeamPartRequestService.InventoryDefectStockList(\r\n token,\r\n vm.SearchText,\r\n vm.partName,\r\n vm.brandName,\r\n vm.productGroup,\r\n uPageIndex,\r\n uPageSize,\r\n startDate,\r\n endDate\r\n ).then(\r\n function (resp) {\r\n if (resp && resp.data) {\r\n vm.DefectiveStockList = resp.data.inventoryDefectStocks;\r\n $scope.totalDefected = resp.data.count;\r\n if (vm.DefectiveStockList.length < vm.defectedPageListCount)\r\n vm.myDefectedListLength = $scope.totalDefected;\r\n else\r\n vm.myDefectedListLength =\r\n uPageIndex * vm.defectedPageListCount;\r\n if (uPageIndex == 1) vm.dpageindexCount = 1;\r\n else\r\n vm.dpageindexCount =\r\n (uPageIndex - 1) * vm.defectedPageListCount + 1;\r\n }\r\n },\r\n function (error) {}\r\n );\r\n };\r\n\r\n vm.MainActiveTab = 'Parts'\r\n vm.OrderStatus ='pending';\r\n vm.setMainOrderStatus = function (status, mainTab) {\r\n vm.MainActiveTab = mainTab;\r\n vm.OrderStatus = status;\r\n startDate = moment().subtract(30, \"days\").format(\"YYYY-MM-DD\");\r\n endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.UserId = \"\";\r\n vm.partName = \"\";\r\n vm.SearchText = \"\";\r\n vm.brandName = \"\";\r\n vm.productGroup = \"\";\r\n vm.GetAllRequestedPart(status);\r\n };\r\n vm.setMainOrderStatus(\"pending\", \"Parts\");\r\n\r\n vm.changeCategoryFilter = function () {\r\n vm.SearchText = \"\";\r\n fPageIndex = 1;\r\n dPageIndex = 1;\r\n vm.ApplyFilter();\r\n };\r\n\r\n vm.searchByText = function () {\r\n vm.brandName = \"\";\r\n vm.partName = \"\";\r\n vm.productGroup = \"\";\r\n fPageIndex = 1;\r\n dPageIndex = 1;\r\n vm.ApplyFilter();\r\n };\r\n\r\n vm.GetItemGroupName = function () {\r\n if (!vm.brandName) {\r\n vm.brandName = \"\";\r\n }\r\n TeamPartRequestService.GetItemGroupName(vm.brandName, token).then(\r\n function (resp) {\r\n if (resp && resp.data) {\r\n vm.PartNameList = resp.data;\r\n // vm.changeCategoryFilter();\r\n }\r\n }\r\n );\r\n };\r\n vm.GetItemGroupName();\r\n\r\n vm.GetItemListName = function () {\r\n if (!vm.productGroup) {\r\n vm.productGroup = \"\";\r\n }\r\n TeamPartRequestService.GetItemListName(\r\n vm.brandName,\r\n vm.productGroup,\r\n token\r\n ).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.PartList = resp.data;\r\n // vm.changeCategoryFilter();\r\n }\r\n }, vm.showFailure);\r\n };\r\n vm.GetItemListName();\r\n\r\n // vm.GetItemListNameWithId = function () {\r\n // if (!vm.productGroup) {\r\n // vm.productGroup = \"\";\r\n // }\r\n // TeamPartRequestService.GetItemListNameWithId(\r\n // vm.brandName,\r\n // vm.productGroup,\r\n // token\r\n // ).then(function (resp) {\r\n // if (resp && resp.data) {\r\n // vm.PartListWithId = resp.data;\r\n // vm.changeCategoryFilter();\r\n // }\r\n // }, vm.showFailure);\r\n // };\r\n // vm.GetItemListNameWithId();\r\n\r\n vm.GetItemBrandName = function () {\r\n TeamPartRequestService.GetItemBrandName(token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.BrandList = resp.data;\r\n }\r\n }, vm.showFailure);\r\n };\r\n vm.GetItemBrandName();\r\n\r\n vm.AddDefectedStockModal = function () {\r\n vm.StockModal = $uibModal.open({\r\n templateUrl: \"DefectedStock.html\",\r\n backdrop: \"static\",\r\n size: \"lg\",\r\n scope: $scope,\r\n });\r\n };\r\n\r\n vm.closeDefectedStockModal = function () {\r\n vm.StockModal.close();\r\n vm.addTicketId = \"\";\r\n vm.partName = \"\";\r\n vm.brandName = \"\";\r\n vm.addType = \"\";\r\n vm.productGroup = \"\";\r\n vm.addQuantity = 0;\r\n };\r\n\r\n\r\n vm.CreateInvoiceToStockAlllocationToFielEngineer = function () {\r\n vm.DisableCreateButton(true);\r\n var data = {\r\n TicketId: vm.allocatedetails,\r\n OrderId : vm.allocatedOrderId\r\n };\r\n TeamPartRequestService.CreateInvoiceToStockAlllocationToFielEngineer(data,loggedinUser,token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Part allocated successfully.\");\r\n vm.closeAllocateModal();\r\n vm.DisableCreateButton(false);\r\n $timeout(function () {\r\n vm.GetAllRequestedPart(vm.OrderStatus);\r\n }, 2000);\r\n } else {\r\n vm.DisableCreateButton(false);\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n });\r\n };\r\n vm.IsShipmentVisible = false;\r\n \r\n\r\n \r\n\r\n vm.setSelectedItem = function (item) {\r\n vm.OrderStatus = item;\r\n vm.TicketPartOrderList = [];\r\n vm.changeCategoryFilter();\r\n };\r\n vm.stockitem = \"\";\r\n\r\n vm.slectedMystockitem = function (myitem) {\r\n vm.stockitem = myitem;\r\n vm.OrderStatus = myitem;\r\n vm.changeCategoryFilter();\r\n };\r\n vm.OrdercreateModal = function () {\r\n vm.showEditList = true;\r\n vm.showAction = false;\r\n vm.OrderModal = $uibModal.open({\r\n templateUrl: \"CreateOrderModal.html\",\r\n backdrop: \"static\",\r\n size: \"lg\",\r\n scope: $scope,\r\n });\r\n };\r\n\r\n vm.closeOrdercreateModal = function () {\r\n vm.OrderModal.close();\r\n vm.dataFilters = [];\r\n };\r\n\r\n vm.addMoreFilter = function () {\r\n vm.showEditList = true;\r\n vm.showAction = false;\r\n };\r\n vm.addNewFilter = function (filter) {\r\n vm.dataFilters.push({\r\n PartName: filter.PartName,\r\n Quantity: filter.Quantity,\r\n WareHouse: filter.WareHouse,\r\n OrderType: filter.OrderType,\r\n TicketId: filter.TicketId,\r\n Remark: filter.Remark,\r\n });\r\n vm.showEditList = false;\r\n vm.showAction = true;\r\n };\r\n\r\n $scope.deleteDataFilter = function (filter) {\r\n const index = vm.dataFilters.indexOf(filter);\r\n if (index !== -1) {\r\n vm.dataFilters.splice(index, 1);\r\n }\r\n };\r\n\r\n vm.GetShipmentOrder = function (salesOrderNumber) {\r\n TeamPartRequestService.GetShipmentOrder(\r\n salesOrderNumber,\r\n loggedinUser,\r\n token\r\n ).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.TrackingDetails = resp.data;\r\n }\r\n });\r\n };\r\n\r\n vm.TrackinDetailForDefectItem = function (trackingId) {\r\n TeamPartRequestService.TrackinDetailForDefectItem(\r\n trackingId,\r\n loggedinUser,\r\n token\r\n ).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.TrackingDetails = resp.data;\r\n }\r\n });\r\n };\r\n\r\n vm.GetTrackingDetailsByTrackinNumber = function (trackingNo, ticketId) {\r\n vm.trackNo = trackingNo;\r\n var data = {\r\n Id: ticketId,\r\n trackingNumber: trackingNo,\r\n };\r\n TeamPartRequestService.GetTrackingDetailsByTrackinNumber(\r\n data,\r\n token\r\n ).then(function (resp) {\r\n if (resp && resp.data) {\r\n if (resp.status == 200) {\r\n vm.getTrackingDetailsList = resp.data;\r\n vm.lastTag =\r\n vm.getTrackingDetailsList[\r\n vm.getTrackingDetailsList.length - 1\r\n ].tag;\r\n }\r\n }\r\n });\r\n };\r\n\r\n // vm.GetItemListName = function () {\r\n // \tTeamPartRequestService.GetItemListName(token).then(function (resp) {\r\n // \t\tif (resp && resp.data) {\r\n // \t\t\tvm.PartList = resp.data;\r\n // \t\t}\r\n // \t}, vm.showFailure);\r\n // }\r\n // vm.GetItemListName();\r\n\r\n vm.GetServiceCentenAndTeamStockData = function () {\r\n TeamPartRequestService.GetServiceCentenAndTeamStockData(vm.lineItem,vm.SearchTag,token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.TeamStockData = resp.data;\r\n }\r\n }, vm.showFailure);\r\n };\r\n\r\n vm.PullBackStockToTechnician = function () {\r\n // vm.stockAssignation_form.submitted = true;\r\n // if (vm.stockAssignation_form.$valid) {\r\n vm.DisableCreateButton(true);\r\n var data = {\r\n UserId: vm.userDetails.PartOwnerId,\r\n MMFPartId: vm.lineItem,\r\n StockCount: vm.StockCountToAssign,\r\n // \"PartActionType\": vm.PartActionType\r\n };\r\n TeamPartRequestService.PullBackStockToTechnician(data,loggedinUser,token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.CloseAssignStockModel();\r\n setTimeout(function () {\r\n // vm.GetServiceCentenAndTeamStockData(vm.lineItem);\r\n vm.GetUserInventoryStockforweb(vm.OrderStatus);\r\n }, 2000);\r\n } else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n vm.DisableCreateButton(false);\r\n }\r\n });\r\n // }\r\n };\r\n vm.GetAllWareHouseForExploration = function () {\r\n TeamPartRequestService.GetAllWareHouseForExploration(\r\n loggedinUser,\r\n token\r\n ).then(function (resp) {\r\n if (resp.data && resp.status == 200) {\r\n vm.warehouseExploreList = resp.data;\r\n }\r\n }, vm.showFailure);\r\n };\r\n vm.GetAllWareHouseForExploration();\r\n\r\n \r\n vm.OpenStockTransferModel = function (partDetails) {\r\n vm.lineItem = partDetails.LineItemId;\r\n vm.PartToBeTransferDetail = partDetails.LineItemDescription;\r\n vm.GetServiceCentenAndTeamStockData();\r\n vm.stockTransferModelOpen = $uibModal.open({\r\n templateUrl: \"stockTransferModal.html\",\r\n backdrop: \"static\",\r\n scope: $scope,\r\n size: \"lg\",\r\n });\r\n };\r\n\r\n vm.CloseStockTransferModel = function () {\r\n vm.stockTransferModelOpen.close();\r\n vm.DisableCreateButton(false);\r\n vm.transferFromUser = \"\";\r\n vm.transferToUser = \"\";\r\n vm.transferQuantity = 0;\r\n };\r\n\r\n vm.defectItems = [];\r\n\r\n vm.Acceptancemodel = function (requestDetails) {\r\n vm.AllRequestDetail = requestDetails;\r\n vm.TicketForAcceptance = requestDetails.TicketId;\r\n vm.acceptanceModelOpen = $uibModal.open({\r\n templateUrl: \"acceptancepopup.html\",\r\n backdrop: \"static\",\r\n scope: $scope,\r\n });\r\n };\r\n\r\n vm.CloseAcceptanceModel = function () {\r\n vm.isDefective = false;\r\n vm.acceptanceModelOpen.close();\r\n vm.DisableCreateButton(false);\r\n vm.TicketForAcceptance = \"\";\r\n vm.DefectedCount = 0;\r\n vm.defectItems = [];\r\n };\r\n\r\n vm.submitForm = function () {\r\n if (vm.isDefective == true) {\r\n for (var i = 0; i < vm.AllRequestDetail.NameList.length; i++) {\r\n vm.defectItems[i].IetemName = vm.AllRequestDetail.NameList[i];\r\n }\r\n }\r\n\r\n vm.MarkSalesOrderDelivered();\r\n };\r\n\r\n vm.MarkSalesOrderDelivered = function () {\r\n // vm.stockAssignation_form.submitted = true;\r\n // if (vm.stockAssignation_form.$valid) {\r\n vm.DisableCreateButton(true);\r\n var data = {\r\n SalesOrderId: vm.AllRequestDetail.ZOHOSalesOrderId,\r\n Organization_id: \"\",\r\n AcceptanceProof: \"\",\r\n TicketId: vm.TicketForAcceptance,\r\n defectItems: vm.defectItems,\r\n };\r\n TeamPartRequestService.MarkSalesOrderasDelivered(\r\n data,\r\n loggedinUser,\r\n token\r\n ).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data.Message);\r\n vm.CloseAcceptanceModel();\r\n vm.DisableCreateButton(false);\r\n $timeout(function () {\r\n if (vm.MainActiveTab == \"Parts\") {\r\n vm.GetAllRequestedPart(vm.OrderStatus);\r\n }\r\n }, 2000);\r\n } else {\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }\r\n });\r\n // }\r\n };\r\n\r\n\t\tvm.AttachedFileName = \"\"\r\n\t\t$scope.uploadImageFile = function(files){\r\n\t\t\tvar file = files.files[0];\r\n\t\t\tvm.AttachedFileName = file.name;\r\n\t \r\n\t\t\t// var rendomnumber = Math.floor(1000 + Math.random() * 9999);\r\n\t\t\t// filename = loggedinUser+\"_ProfilePic_\" + rendomnumber +\".\"+ file.name.split(\".\")[1];\r\n\t\t\t// var file = new File([file], filename, {type:file.type});\r\n\t \r\n\t\t\t// if(file.type.indexOf(\"image/jpg\")>=0 || file.type.indexOf(\"image/png\")>=0 \r\n\t\t\t// \t|| file.type.indexOf(\"image/bmp\")>=0 || file.type.indexOf(\"image/jpeg\")>=0){\r\n\t\t\t// var data = new FormData();\r\n\t\t\t// data.append(\"files\", file);\r\n\t\t\t// } else {\r\n\t\t\t// vm.fileUploadError = \"Please upload image only as profile picture.\";\r\n\t\t\t// }\r\n\t\t }\r\n\r\n\t\t vm.OpenReturnModel = function (requestDetails, Type) {\r\n\t\t\tvm.ReturnType = Type;\r\n\t\t\tvm.ReturnRequest = requestDetails;\r\n\t\t\tif (vm.ReturnType == \"Good\") {\r\n\t\t\t vm.ReturnOrderType = \"Purchase return\";\r\n\t\t\t vm.ReturnQuantity = vm.ReturnRequest.nTotalGoodStock;\r\n\t\t\t} else if (vm.ReturnType == \"Dead\") {\r\n\t\t\t vm.ReturnOrderType = \"Sale return\";\r\n\t\t\t vm.ReturnQuantity = vm.ReturnRequest.nTotalDeadStock;\r\n\t\t\t}\r\n\t\t\tvm.returnModelOpen = $uibModal.open({\r\n\t\t\t templateUrl: \"returnpopup.html\",\r\n\t\t\t backdrop: \"static\",\r\n\t\t\t scope: $scope,\r\n\t\t\t size: \"lg\",\r\n\t\t\t});\r\n\t\t };\r\n \r\n\t\t vm.CloseReturnModel = function () {\r\n\t\t\tvm.returnModelOpen.close();\r\n\t\t\tvm.DisableCreateButton(false);\r\n\t\t\tvm.defectedTrackingId = \"\";\r\n\t\t\tvm.warehouselist = \"\";\r\n\t\t\tvm.AttachedFileName = \"\";\r\n\t\t\tvm.ReturnQuantity =\"\";\r\n\r\n\r\n\t\t };\r\n \r\n\r\n vm.defectedTrackingId = \"\";\r\n vm.ReturnOrderPlace = function () {\r\n vm.DisableCreateButton(true);\r\n var data = {\r\n WareHouseID: vm.warehouselist,\r\n ReturnOrderType: vm.ReturnOrderType,\r\n ReturnOrderStockType: vm.ReturnType,\r\n Attachment: vm.AttachedFileName,\r\n cardItemDetails: [\r\n {\r\n SKUId: vm.ReturnRequest.strSKUId,\r\n MMFPartId: vm.ReturnRequest.strMMFPartId,\r\n StockCount: vm.ReturnQuantity,\r\n },\r\n ],\r\n };\r\n TeamPartRequestService.ReturnOrderPlace(data,loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.CloseReturnModel();\r\n vm.DisableCreateButton(false);\r\n $timeout(function () {\r\n vm.GetUserInventoryStockforweb(vm.OrderStatus);\r\n // vm.GetInventoryDashboardByServiceCenter();\r\n }, 2000);\r\n } else {\r\n vm.DisableCreateButton(false);\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n });\r\n };\r\n\r\n\r\n\t\tvm.AllocateStockToFieldEngineer = function () {\r\n\t\t\tvm.DisableCreateButton(true);\r\n\t\t\tvar data = {\r\n\t\t\t\tUserId: vm.userDetails.UserId,\r\n\t\t\t cardItemDetails: [\r\n\t\t\t\t{\r\n\t\t\t\t SKUId: vm.CountDetails.strSKUId,\r\n\t\t\t\t MMFPartId: vm.CountDetails.strMMFPartId,\r\n\t\t\t\t StockCount: vm.StockCountToAssign,\r\n\t\t\t\t},\r\n\t\t\t ],\r\n\t\t\t};\r\n\t\t\tTeamPartRequestService.AllocateStockToFieldEngineer(data,loggedinUser, token).then(function (resp) {\r\n\t\t\t if (resp && resp.status == 200) {\r\n\t\t\t\tvm.showSuccess(\"Success\", resp.data);\r\n\t\t\t\tvm.createTaskModelOpen.close();\r\n\t\t\t\tvm.assigntotech=false; \r\n\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t vm.GetUserInventoryStockforweb(vm.OrderStatus);\r\n\t\t\t\t // vm.GetInventoryDashboardByServiceCenter();\r\n\t\t\t\t}, 2000);\r\n\t\t\t } else {\r\n\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t }\r\n\t\t\t});\r\n\t\t };\r\n\r\n vm.TransferInventory = function () {\r\n vm.DisableCreateButton(true);\r\n var data = {\r\n LineItemId: vm.lineItem,\r\n SenderUserId: vm.transferFromUser,\r\n ReciverUserId: vm.transferToUser,\r\n StockCount: vm.transferQuantity,\r\n };\r\n TeamPartRequestService.TransferInventory(\r\n data,\r\n loggedinUser,\r\n token\r\n ).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data.Message);\r\n vm.CloseStockTransferModel();\r\n vm.DisableCreateButton(false);\r\n $timeout(function () {\r\n vm.GetUserInventoryStockforweb(vm.OrderStatus);\r\n // vm.GetInventoryDashboardByServiceCenter();\r\n }, 2000);\r\n } else {\r\n vm.DisableCreateButton(false);\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }\r\n });\r\n };\r\n\r\n vm.addFiles = function () {\r\n $(\"#dropzone1\").trigger(\"click\");\r\n };\r\n vm.TicketPartOrderList = [];\r\n vm.rejectpart = [];\r\n vm.RejectModal = function (item) {\r\n vm.rejectpart = item;\r\n vm.RejctShareModal = $uibModal.open({\r\n templateUrl: \"rejectmodal.html\",\r\n backdrop: \"static\",\r\n size: \"lg\",\r\n scope: $scope,\r\n });\r\n };\r\n vm.closerejectmodal = function () {\r\n vm.DisableCreateButton(false);\r\n vm.updateStatusRemark = \"\";\r\n vm.updateLineitemStatus = \"\";\r\n vm.RejctShareModal.close();\r\n };\r\n\r\n vm.UpdateRequestInventoryJobLineItemStatus = function () {\r\n vm.DisableCreateButton(true);\r\n vm.updateLineitemStatus = \"Rejected\";\r\n TeamPartRequestService.UpdateRequestInventoryJobLineItemStatus(\r\n vm.salesOrderId,\r\n vm.updateLineitemStatus,\r\n vm.rejectpart.LineItemId,\r\n vm.updateStatusRemark,\r\n token\r\n ).then(function (resp) {\r\n if (resp.status == 202) {\r\n vm.closerejectmodal();\r\n setTimeout(function () {\r\n vm.showSuccess(\"Success\", resp.data);\r\n $scope.isCollapsed = true;\r\n vm.GetAllRequestedPart(vm.OrderStatus);\r\n }, 2000);\r\n } else {\r\n vm.DisableCreateButton(false);\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n });\r\n };\r\n\r\n vm.resetFilters = function () {\r\n vm.brandName = \"\";\r\n vm.productGroup = \"\";\r\n vm.partName = \"\";\r\n vm.ticketdates = \"\";\r\n vm.SearchText = \"\";\r\n vm.UserId = \"\";\r\n fPageIndex = 1;\r\n vm.selectedPart = \"\"\r\n vm.changeCategoryFilter();\r\n };\r\n\r\n vm.downloadCSV = function () {\r\n var worksheet = alasql(\r\n 'SELECT * INTO XLSX(\"users.xlsx\", {headers:true}) FROM ?',\r\n [$scope.users]\r\n );\r\n };\r\n vm.OpenAllocateModal = function (allocate,OrderId) {\r\n vm.allocatedetails = allocate;\r\n vm.allocatedOrderId = OrderId\r\n vm.AllocateModal = $uibModal.open({\r\n templateUrl: \"allocationModal.html\",\r\n backdrop: \"static\",\r\n size: \"md\",\r\n scope: $scope,\r\n });\r\n };\r\n\r\n vm.closeAllocateModal = function () {\r\n vm.AllocateModal.close();\r\n vm.allocatedOrderId = \"\";\r\n vm.allocatedetails = \"\";\r\n };\r\n\r\n\r\n vm.IsVisible = false;\r\n var createOrderData = [];\r\n var wareHouseItemList = [];\r\n var sendWdata = {};\r\n vm.TotalInventoryAmount = \"0\";\r\n vm.ShowCreateShipment = function (index) {\r\n vm.listWdata = [];\r\n if (index.lineItem.LineItemId) {\r\n vm.GetWarehouse(index.lineItem.LineItemId, index.TicketId);\r\n }\r\n vm.GetPartRequestOrderLineItem(\"\", index.TicketId);\r\n vm.JobLineItemId = index.lineItem.LineItemId;\r\n vm.ShipmentTicketId = index.TicketId;\r\n vm.TotalInventoryAmount = index.OrderAmount;\r\n };\r\n\r\n vm.closeWarehouseModal = function () {\r\n vm.ShareModal.close();\r\n };\r\n vm.GetWarehouse = function (warehouseLineItemId, ticketId) {\r\n var warehouseData = {\r\n Id: warehouseLineItemId,\r\n TicketId: ticketId,\r\n };\r\n TeamPartRequestService.GetWarehouse(token, warehouseData).then(\r\n function (resp) {\r\n vm.warehouseList = resp.data;\r\n }\r\n );\r\n };\r\n\r\n vm.WarehouseNameSelected = \"\";\r\n vm.createSalesOrder = function () {\r\n vm.DisableCreateButton(true);\r\n angular.forEach(vm.PartRequestLineitemData, function (d) {\r\n if (d.BackendApprovalStatus != \"Rejected\") {\r\n sendWdata = {\r\n JobLineItemId: d.LineItemId,\r\n selectedWarehouse: vm.WarehouseNameSelected,\r\n };\r\n createOrderData.push(sendWdata);\r\n }\r\n });\r\n data = {\r\n itemIdWithWarehouseModels: createOrderData,\r\n TicketId: vm.salesOrderId,\r\n };\r\n TeamPartRequestService.createSalesOrder(token, data).then(function (\r\n resp\r\n ) {\r\n if (resp.status == 200) {\r\n vm.closeWarehouseModal();\r\n vm.DisableCreateButton(false);\r\n vm.showSuccess(\"Success\", \"Order Placed Successfully.\");\r\n setTimeout(function () {\r\n vm.GetAllRequestedPart(vm.OrderStatus);\r\n }, 2000);\r\n } else {\r\n createOrderData = [];\r\n wareHouseItemList = [];\r\n sendWdata = {};\r\n vm.DisableCreateButton(false);\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }\r\n });\r\n };\r\n\r\n vm.GetSalesOrder = function (isCollapsed, salesOrderId) {\r\n if (vm.salesOrderId == salesOrderId) {\r\n $scope.isCollapsed = !isCollapsed;\r\n }\r\n $scope.activeRow = salesOrderId;\r\n vm.salesOrderId = salesOrderId;\r\n if (vm.salesOrderId) {\r\n TeamPartRequestService.GetSalesOrder(\r\n loggedinUser,\r\n vm.salesOrderId,\r\n token\r\n ).then(\r\n function (resp) {\r\n if (resp && resp.data) {\r\n vm.OrderList = resp.data.salesorder.line_items;\r\n }\r\n },\r\n function () {}\r\n );\r\n }\r\n };\r\n\r\n vm.OpenLineItemData = function (isCollapsed, lineItementry) {\r\n vm.LineItemData = lineItementry;\r\n vm.selectedTicketId = lineItementry.TicketId;\r\n if (vm.salesOrderId == vm.selectedTicketId) {\r\n $scope.isCollapsed = !isCollapsed;\r\n }\r\n else {\r\n $scope.isCollapsed = false;\r\n }\r\n $scope.activeRow = vm.selectedTicketId;\r\n vm.salesOrderId = vm.selectedTicketId;\r\n };\r\n\r\n vm.PartRequestLineitemData = [];\r\n vm.GetPartRequestOrderLineItem = function (isCollapsed, ticketId) {\r\n if (vm.salesOrderId == ticketId) {\r\n $scope.isCollapsed = !isCollapsed;\r\n }\r\n $scope.activeRow = ticketId;\r\n vm.salesOrderId = ticketId;\r\n TeamPartRequestService.GetRequestedLineItemDetailsByTicketId(\r\n loggedinUser,\r\n vm.salesOrderId,\r\n token\r\n ).then(\r\n function (resp) {\r\n if (resp && resp.data) {\r\n vm.listWdata = [];\r\n wareHouseItemList = [];\r\n vm.PartRequestLineitemData = resp.data.LineItemList;\r\n if (!isCollapsed) {\r\n angular.forEach(vm.PartRequestLineitemData, function (d) {\r\n if (d.BackendApprovalStatus != \"Rejected\") {\r\n var hwData = {\r\n warehouseDescription: d.LineItemDescription,\r\n warehouseQuantity: d.LineItemQuantity,\r\n warehouseValue: d.dLineItemWinPrice,\r\n };\r\n }\r\n wareHouseItemList.push(hwData);\r\n });\r\n\r\n vm.listWdata = wareHouseItemList;\r\n }\r\n }\r\n },\r\n function () {}\r\n );\r\n };\r\n\r\n // vm.sortColumn = function (col) {\r\n // \tvm.SortField = col;\r\n // \tif (vm.SortType == 'desc') {\r\n // \t\tvm.SortType = 'asc';\r\n // \t\tvm.reverseclass = 'fa fa-arrow-up';\r\n // \t\tvm.ApplyFilter();\r\n // \t} else {\r\n // \t\tvm.SortType = 'desc';\r\n // \t\tvm.reverseclass = 'fa fa-arrow-down';\r\n // \t\tvm.ApplyFilter();\r\n // \t}\r\n // };\r\n\r\n // vm.sortClass = function (col) {\r\n // \tif (vm.SortField == col) {\r\n // \t\tif (vm.SortType == 'desc') {\r\n // \t\t\treturn 'fa fa-arrow-down';\r\n // \t\t} else {\r\n // \t\t\treturn 'fa fa-arrow-up';\r\n // \t\t}\r\n // \t}\r\n // \telse {\r\n // \t\treturn '';\r\n // \t}\r\n // }\r\n vm.PartListWithFilter = [];\r\n\r\n vm.GetItemPartName = function () {\r\n vm.PartListWithFilter = [];\r\n if (!vm.partName) {\r\n vm.partName = \"\";\r\n }\r\n InventoryItemListService.GetItemPartName(vm.brandName,vm.productGroup,vm.partName,loggedinUser,token).then(function (resp) {\r\n if (resp.data && resp.status == 200) {\r\n vm.PartListWithFilter = resp.data;\r\n }\r\n }, vm.showFailure);\r\n };\r\n vm.GetItemPartName();\r\n\r\n vm.PDFView = function (page) {\r\n vm.pdfimage = \"\";\r\n vm.IsLoadSucessfull = false;\r\n $scope.selected = null;\r\n jobAppointmentModal = $uibModal.open({\r\n templateUrl: \"PDFView.html\",\r\n size: \"lg\",\r\n scope: $scope,\r\n });\r\n };\r\n\r\n vm.PDFUserModal = function () {\r\n jobAppointmentModal.close();\r\n };\r\n\r\n function base64ToArrayBuffer(base64) {\r\n var ret = base64.replace(\"data:application/pdf;base64,\", \"\");\r\n var binaryString = atob(ret);\r\n var binaryLen = binaryString.length;\r\n var bytes = new Uint8Array(binaryLen);\r\n for (var i = 0; i < binaryLen; i++) {\r\n var ascii = binaryString.charCodeAt(i);\r\n bytes[i] = ascii;\r\n }\r\n return bytes;\r\n }\r\n\r\n vm.viewInvoicePdf = function (file) {\r\n vm.PDFView();\r\n TeamPartRequestService.viewReportPdf(loggedinUser, token, file).then(\r\n function (resp) {\r\n if (resp.status == 200) {\r\n vm.InvoiceData = resp.data;\r\n var arrrayBuffer = base64ToArrayBuffer(vm.InvoiceData);\r\n var blob = new Blob([arrrayBuffer], {\r\n type: \"application/pdf\",\r\n });\r\n vm.pdfimage = URL.createObjectURL(blob);\r\n vm.IsLoadSucessfull = true;\r\n }\r\n }\r\n );\r\n };\r\n \r\n vm.ApplyFilter = function () {\r\n if (!vm.UserId) {\r\n vm.UserId = \"\";\r\n }\r\n if (vm.MainActiveTab == \"Parts\") {\r\n vm.GetAllRequestedPart(vm.OrderStatus);\r\n }\r\n };\r\n }\r\n }\r\n );\r\n\nangular.module('inspinia').service('TeamMyStockService', function (ApiURL,AcessoriesURL, SchedulingAPI, $window, $localStorage, $http) {\r\n\r\n this.GetUserInventoryStockforweb = function (data,token) {\r\n var url = AcessoriesURL + '/api/MMFPart/GetUserInventoryStockforweb'\r\n return $http.put(url, data,{\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n this.GetInventoryDashboardByServiceCenter = function (data,token) {\r\n var url = AcessoriesURL + '/api/MMFPart/GetInventoryDashboardByServiceCenter'\r\n return $http.put(url, data,{\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.InventoryDefectStockList = function (token, SearchText, category, brandName, productGroup, uPageIndex, uPageSize, startDate, endDate) {\r\n var url = ApiURL + '/api/ZohoInventoryController/InventoryDefectStockList?Category=' + category + '&BrandName=' + brandName + '&ItemGroup=' + productGroup + '&SearchText=' + SearchText + '&StartDate=' + startDate + '&EndDate=' + endDate + '&PageSize=' + uPageSize + '&PageIndex=' + uPageIndex;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetItemBrandName = function (token) {\r\n var url = AcessoriesURL + '/api/MMFMasterInventory/GetItemBrandName';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n this.GetItemGroupName = function (brandName, token) {\r\n var url = AcessoriesURL + '/api/MMFMasterInventory/GetItemGroupName?BrandName=' + brandName;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n this.GetItemListName = function (brandName, productGroup, token) {\r\n var url = AcessoriesURL + '/api/MMFMasterInventory/GetItemListName?BrandName=' + brandName + '&ItemGroupName=' + productGroup;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n this.GetItemListNameWithId = function (brandName, productGroup,ProductName, token) {\r\n var url = AcessoriesURL + '/api/MMFMasterInventory/GetItemListNameWithId?BrandName=' + brandName + '&ItemGroupName=' + productGroup + '&ProductName=' + ProductName;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetShipmentOrder = function (salesOrderNumber, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/GetShipmentOrder?salesOrderNumber=' + salesOrderNumber;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.TrackinDetailForDefectItem = function (trackingId, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/TrackinDetailForDefectItem?TrackingId=' + trackingId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n\r\n this.GetServiceCentenAndTeamStockData = function (LineItemId, SearchTag, token) {\r\n var url = AcessoriesURL + '/api/MMFPart/GetServiceCentenAndTeamStockData?ParrtId=' + LineItemId + '&SearchTag=' + SearchTag;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.PullBackStockToTechnician = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFPart/PullBackStockToTechnician';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.MarkSalesOrderasDelivered = function (data, loggedinUser, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/MarkSalesOrderasDelivered';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetWarehouse = function (token, data) {\r\n var url = ApiURL + '/api/ItemsInventory/GetNearbyWarehouseList';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetSalesOrder = function (loggedinUser, salesOrderId, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/GetSalesOrder?salesOrderId=' + salesOrderId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.UpdateRequestInventoryJobLineItemStatus = function (ticketId, status, lineitemId, updateStatusRemark, token) {\r\n var url = ApiURL + '/api/JobLineItem/UpdateRequestInventoryJobLineItemStatus?TicketId=' + ticketId + '&Status=' + status + '&LineItemId=' + lineitemId + '&Remark=' + updateStatusRemark;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetRequestedLineItemDetailsByTicketId = function (loggedinUser, salesOrderId, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/GetRequestedLineItemDetailsByTicketId?TicketId=' + salesOrderId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.createSalesOrder = function (token, data) {\r\n var url = ApiURL + '/api/ItemsInventory/CreateSalesOrderForLineitem';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n // this.InventoryReturnOfDefectPartsByServiceCenter = function (data, loggedinUser, token) {\r\n // var url = ApiURL + '/api/ZohoInventoryController/InventoryReturnOfDefectPartsByServiceCenter';\r\n // return $http.post(url, data, {\r\n // headers: {\r\n // 'Content-Type': 'application/json',\r\n // 'Token': token,\r\n // 'UserId': loggedinUser\r\n // }\r\n // });\r\n // }\r\n this.ReturnOrderPlace = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFReturnOrder/ReturnOrderPlace';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.TransferInventory = function (data, loggedinUser, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/TransferInventory';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.AddDeadStockToServiceCenter = function (partId,damageStock,damageType, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFPart/AddDeadStockToServiceCenter?PartId=' + partId + '&DeadStock=' + damageStock + '&DamageType=' + damageType;\r\n return $http.post(url, null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n this.viewReportPdf = function (loggedinUser, token, fileName) {\r\n var url = ApiURL + '/api/Image?fileName=' + fileName;\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetUserInventoryStockCsvDownload = function (data,token) {\r\n var url = AcessoriesURL + '/api/MMFPart/GetUserInventoryStockforweb_CSV'\r\n return $http.put(url,data ,{\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetInventoryByWareHouseId = function (data,loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFPart/GetInventoryByWareHouseId';\r\n return $http.put(url,data, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n}\r\n\r\nthis.CreateInvoiceToStockAlllocationToFielEngineer = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFOrderInvoice/CreateInvoiceToStockAlllocationToFielEngineer';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\nthis.AllocateStockToFieldEngineer = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFOrderInvoice/AllocateStockToFieldEngineer';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\nthis.GetSearchServiceCenter = function (loggedinUser, token, searchtext) {\r\n var url = ApiURL + '/api/User/SearchServiceCenter?searchText=' + searchtext;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\n// this.GetItemListNameWithId = function (brandName, productGroup,partName,loggedinUser, token) {\r\n// var url = AcessoriesURL + '/api/MMFMasterInventory/GetItemListNameWithId?BrandName=' + brandName + '&ProductGroupName=' + productGroup + '&ProductName='+ partName;\r\n// return $http.get(url, {\r\n// headers: {\r\n// 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n// }\r\n// });\r\n// }\r\n})\r\n\r\n\r\n\nangular\r\n .module(\"inspinia\")\r\n .controller(\r\n \"TeamMyStockController\",\r\n function (\r\n TeamMyStockService, InventoryItemListService, InventoryCartService,\r\n MainService,\r\n $window,\r\n PublicApiURL,\r\n ApiURL,\r\n $state,\r\n $localStorage,\r\n $scope,\r\n $uibModal,\r\n $timeout,\r\n $stateParams\r\n ) {\r\n vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n vm.NokiaTableHeaderChange =\r\n $localStorage.accountConfig.NokiaTableHeaderChange;\r\n var loggedinUserName =\r\n $localStorage.loggedInUser_FirstName +\r\n \" \" +\r\n $localStorage.loggedInUser_LastName;\r\n var token = $localStorage.token;\r\n var loggedinUserImage = $localStorage.picture;\r\n var uTicketId = $stateParams.ticketId;\r\n vm.SearchTag = \"\";\r\n vm.showMapPermision = false;\r\n vm.superPower = false;\r\n $scope.isCollapsed = true;\r\n vm.UserId = \"\";\r\n vm.CurrencySetting = $localStorage.accountConfig.CurrencySetting;\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n vm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n vm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n vm.VerticalName = vm.getAccountConfigSetting(\"Vertical\");\r\n var accountConfig = $localStorage.accountConfig;\r\n vm.AccountId = $localStorage.accountConfig.AccountId;\r\n vm.isDefective = false;\r\n vm.ImageArray = [];\r\n vm.states = [];\r\n vm.cities = [];\r\n vm.isShow = true;\r\n vm.showEditList = false;\r\n vm.showAction = true;\r\n vm.dataFilters = [];\r\n vm.CancellationReasons = \"\";\r\n vm.WareHouseId = \"\";\r\n vm.ServiceCenterUserId = \"\";\r\n vm.selectedServiceCenter = \"\";\r\n vm.IsCommissionDetect = false;\r\n vm.urlForNonFeasible = \"\";\r\n vm.currentStepModel = {};\r\n vm.dtInstanceNearBy = {};\r\n vm.dtInstanceFixed = {};\r\n vm.dtInstance = {};\r\n vm.dtInstancePre = {};\r\n vm.SparePartAddress = {};\r\n vm.disableBroadcastButton = false;\r\n vm.disableRouteButton = false;\r\n vm.IsChatEnabled = true;\r\n vm.showPrefer = \"\";\r\n vm.disabledDrop = false;\r\n vm.showloading = false;\r\n vm.ComplianceDisable = true;\r\n vm.PincodeEnabled = true;\r\n vm.passSerialNum = false;\r\n vm.PrivateDisable = false;\r\n vm.messageText = \"\";\r\n vm.PriceLineItemList = [];\r\n vm.LineItemDataList = [];\r\n vm.lineItem = \"\";\r\n vm.serviceType = \"\";\r\n vm.AppointmentTime = \"\";\r\n vm.ticketPrice = \"\";\r\n vm.freelancerPrice = \"\";\r\n vm.edit = true;\r\n vm.BonusPenaltyList = [];\r\n vm.BonusList = [];\r\n vm.PenaltyList = [];\r\n vm.ShipmentDetails = \"\";\r\n vm.LineitemActivityList = [];\r\n vm.LineItemCategoryType = \"\";\r\n vm.projectId = \"\";\r\n vm.selectedprojectId = \"\";\r\n vm.dynamicpricing = \"\";\r\n vm.FreelancrPriceEnable = \"\";\r\n vm.PercentageEnable = \"\";\r\n var price = 0;\r\n var Quantity = 1;\r\n var totalFPrice = 0.0;\r\n vm.BasePriceTotal = 0.0;\r\n vm.dFreelancerPriceTotal = 0.0;\r\n vm.PercentageTotal = 0.0;\r\n vm.FreelancerPriceTotal = 0.0;\r\n vm.MobiforceCommission =\r\n $localStorage.accountConfig.MobiforceCommissionPercentage;\r\n vm.IsFinalApproval = false;\r\n vm.disableExceptionButton = false;\r\n // vm.IsWithInDays = true;\r\n vm.StockCountToAssign = 1;\r\n vm.PartActionType = \"\";\r\n vm.feedbackremark = \"\";\r\n vm.PlannedClosureDateType = \"first\";\r\n vm.WithInDays = 1;\r\n vm.WithInDaysNumbers = [1, 2, 3, 4, 5];\r\n vm.IsSafetyAudit = \"Not Done\";\r\n vm.ratingwarning = \"\";\r\n vm.approvalRemark = \"\";\r\n vm.MaterialStatusList = [\r\n \"Dispatched\",\r\n \"Delivered\",\r\n \"Partially Delivered\",\r\n \"Not Delivered\",\r\n ];\r\n vm.IsMaterialDelivered = $localStorage.accountConfig.IsMaterialDelivered;\r\n vm.SelectedMaterial = \"\";\r\n vm.FreelancerAccess = $localStorage.accountConfig.FreelancerAccess;\r\n vm.ZOHOWarehouseName = \"\";\r\n vm.customerJobCard = [];\r\n vm.PageIndex = 1;\r\n vm.PageSize = 10;\r\n startDate = \"\";\r\n endDate = \"\";\r\n vm.sortType = \"\";\r\n vm.ServiceCenterVendorId = \"\";\r\n vm.orderBy = \"\";\r\n vm.itemValue = \"\";\r\n vm.OrderStatus = \"\";\r\n vm.SearchText = \"\";\r\n var uPageIndex = 1;\r\n var uPageSize = 10;\r\n var dPageSize = 10;\r\n var dPageIndex = 1;\r\n vm.userPageListCount = 10;\r\n vm.financePageListCount = 10;\r\n vm.defectedPageListCount = 10;\r\n vm.brandName = \"\";\r\n vm.partName = \"\";\r\n vm.productGroup = \"\";\r\n vm.BrandListName = \"\";\r\n vm.allSalesOrderPageListCount = 10;\r\n vm.allHistoryOrderPageListCount = 10;\r\n vm.pageListCounts = [10, 20, 30, 50];\r\n var startDate = moment().subtract(30, \"days\").format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.dateField = \"CreatedOn\";\r\n vm.ticketdates = {\r\n startDate: moment().subtract(30, \"day\"),\r\n endDate: moment(),\r\n };\r\n vm.ticketranges = {\r\n Today: [moment(), moment()],\r\n Yesterday: [moment().subtract(1, \"days\"), moment().subtract(1, \"days\")],\r\n \"Last 7 days\": [moment().subtract(7, \"days\"), moment()],\r\n \"Last 30 days\": [moment().subtract(30, \"days\"), moment()],\r\n \"This month\": [moment().startOf(\"month\"), moment().endOf(\"month\")],\r\n };\r\n\r\n vm.outsidedateRangeChange = function (ev, picker) {\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n vm.ApplyFilter();\r\n };\r\n if (accountConfig && accountConfig.EnableRegion) {\r\n vm.EnableRegion = accountConfig.EnableRegion;\r\n } else {\r\n vm.EnableRegion = false;\r\n }\r\n\r\n vm.TemplateData = [];\r\n if (!loggedinUser) {\r\n $state.go(\"Login\", {\r\n reload: true,\r\n });\r\n } else {\r\n var token = $localStorage.token;\r\n vm.ticketType = $stateParams.type;\r\n vm.TicketId = $stateParams.ticketId;\r\n\r\n vm.getPicUrl = function (ItemImage) {\r\n return ItemImage\r\n ? ApiURL +\r\n \"/api/ZohoInventoryController/GetItemImage?item=\" +\r\n ItemImage\r\n : null;\r\n };\r\n vm.TrainingImagebase64 = [];\r\n vm.requestPartDetails = false;\r\n vm.OpenPartDetailPanel = function (s) {\r\n vm.PartDetails = s;\r\n vm.sideViewPartImage = s.strPartImages;\r\n for (var i = 0; i < vm.sideViewPartImage.length; i++) {\r\n vm.TrainingImageServices(vm.sideViewPartImage[i], i);\r\n }\r\n vm.requestPartDetails = true;\r\n };\r\n vm.TrainingImageServices = function (img, index) {\r\n MainService.GetImageBlob(loggedinUser, token, img).then(\r\n function (resp) {\r\n if (resp.data == null || resp.data == \"\") {\r\n vm.TrainingImagebase64[index] =\r\n \"assets/images/patterns/image_placeholder.png\";\r\n } else {\r\n vm.TrainingImagebase64[index] = resp.data;\r\n }\r\n },\r\n function () {\r\n vm.TrainingImagebase64[index] =\r\n \"assets/images/patterns/image_placeholder.png\";\r\n }\r\n );\r\n };\r\n\r\n vm.showPartDetails = false;\r\n\r\n vm.OpenSidePanel = function (s) {\r\n vm.PartDetails = s;\r\n vm.showPartDetails = true;\r\n };\r\n\r\n vm.trackingStatus = false;\r\n vm.TrackingSidePanel = function (p) {\r\n vm.TrackDetails = p;\r\n vm.trackingStatus = true;\r\n };\r\n vm.assigntotech = false;\r\n vm.MaxLimit = 1;\r\n vm.AssignSidePanel = function (q) {\r\n vm.CountDetails = q;\r\n vm.MaxLimit = q.nTotalGoodStock;\r\n vm.lineItem = vm.CountDetails.strMMFPartId;\r\n vm.GetServiceCentenAndTeamStockData();\r\n vm.assigntotech = true;\r\n };\r\n\r\n vm.getPic = function (LineItemAttachment) {\r\n return LineItemAttachment\r\n ? ApiURL +\r\n \"/api/ZohoInventoryController/GetItemImage?item=\" +\r\n LineItemAttachment\r\n : null;\r\n };\r\n\r\n vm.disableCreateButton = false;\r\n\r\n vm.DisableCreateButton = function (disable) {\r\n if (disable) {\r\n vm.disableCreateButton = true;\r\n } else {\r\n vm.disableCreateButton = false;\r\n }\r\n };\r\n\r\n vm.validateStockCount = function() {\r\n if (vm.StockCountToAssign < 1) {\r\n vm.StockCountToAssign = Math.abs(vm.StockCountToAssign);\r\n }\r\n };\r\n\r\n vm.AssignStockModel = function (type, user) {\r\n vm.PartActionType = type;\r\n vm.userDetails = user;\r\n vm.MaxLimit = user.nQuantityAvailable;\r\n vm.StockCountToAssign = 1;\r\n if (user.strMMFPartId) {\r\n vm.lineItem = user.strMMFPartId;\r\n }\r\n vm.createTaskModelOpen = $uibModal.open({\r\n templateUrl: \"createtask.html\",\r\n backdrop: \"static\",\r\n scope: $scope,\r\n });\r\n };\r\n\r\n vm.CloseAssignStockModel = function () {\r\n vm.createTaskModelOpen.close();\r\n vm.DisableCreateButton(false);\r\n vm.StockCountToAssign = 1;\r\n vm.StockType = \"Good\";\r\n };\r\n\r\n\r\n vm.CountPopup = function (lineItem) {\r\n vm.lineItem = lineItem;\r\n vm.GetServiceCentenAndTeamStockData();\r\n vm.COuntTaskModelOpen = $uibModal.open({\r\n templateUrl: \"countclick.html\",\r\n backdrop: \"static\",\r\n scope: $scope,\r\n });\r\n };\r\n\r\n vm.ClosecountpopupModel = function () {\r\n vm.COuntTaskModelOpen.close();\r\n };\r\n\r\n vm.orderdetailsview = function (salesOrderDetail) {\r\n $state.go(\r\n \"index.OrderDetailView\",\r\n {\r\n order_id: salesOrderDetail,\r\n },\r\n {\r\n reload: true,\r\n }\r\n );\r\n };\r\n\r\n $scope.totalInventory = 0;\r\n $scope.usersStockPageRequest = vm.financePageListCount;\r\n $scope.Requestpagination = {\r\n current: 1,\r\n };\r\n\r\n vm.changeMyStockPageListCount = function () {\r\n $scope.usersStockPageRequest = vm.financePageListCount;\r\n dPageSize = $scope.usersStockPageRequest;\r\n $scope.Requestpagination.current = 1;\r\n $scope.MystockTablePageChanged($scope.Requestpagination.current);\r\n // vm.selectAll = false;\r\n\r\n // dPageIndex = $scope.Requestpagination.current;\r\n // $scope.MystockTablePageChanged = function (newPage) {\r\n // dPageIndex = newPage;\r\n // vm.GetUserInventoryStockforweb(\r\n // token,\r\n // vm.OrderStatus,\r\n // vm.SearchText,\r\n // vm.partName,\r\n // vm.brandName,\r\n // vm.productGroup,\r\n // vm.orderBy,\r\n // vm.sortType,\r\n // vm.UserId,\r\n // dPageIndex,\r\n // dPageSize,\r\n // startDate,\r\n // endDate\r\n // );\r\n // vm.GetInventoryDashboardByServiceCenter();\r\n // };\r\n };\r\n\r\n // dPageIndex = $scope.Requestpagination.current;\r\n $scope.MystockTablePageChanged = function (newPage) {\r\n dPageIndex = newPage;\r\n vm.GetUserInventoryStockforweb(\r\n token,\r\n vm.OrderStatus,\r\n vm.SearchText,\r\n vm.partName,\r\n vm.brandName,\r\n vm.productGroup,\r\n vm.orderBy,\r\n vm.sortType,\r\n vm.UserId,\r\n dPageIndex,\r\n dPageSize,\r\n startDate,\r\n endDate\r\n );\r\n // vm.GetInventoryDashboardByServiceCenter();\r\n };\r\n\r\n // vm.MyInventoryStockList = [];\r\n vm.GetUserInventoryStockforweb = function () {\r\n vm.MyInventoryStockList = [];\r\n var data = {\r\n SearchText: vm.SearchText,\r\n PageIndex: dPageIndex,\r\n PageSize: dPageSize,\r\n StockType: vm.OrderStatus,\r\n MMFPartName: vm.selectedPart,\r\n BrandName: vm.brandName,\r\n ProductGroup: vm.productGroup,\r\n PartSubGroup: vm.partName,\r\n StartDate: startDate,\r\n EndDate: endDate,\r\n OrderBy: vm.orderBy,\r\n SortType: vm.sortType,\r\n ServiceCenterUserId : vm.selectedServiceCenter\r\n };\r\n TeamMyStockService.GetUserInventoryStockforweb(data, token).then(\r\n function (resp) {\r\n if (resp && resp.data) {\r\n vm.MyInventoryStockList = resp.data.ListMMFPartModelRes;\r\n $scope.totalInventory = resp.data.RecordCount;\r\n vm.totalInventoryValue = resp.data.InventoryTotal;\r\n if (vm.MyInventoryStockList.length < vm.financePageListCount) {\r\n vm.myStockListLength = $scope.totalInventory;\r\n } else {\r\n vm.myStockListLength = dPageIndex * vm.financePageListCount;\r\n }\r\n if (dPageIndex == 1){\r\n vm.countdpageindexCount = 1;\r\n } \r\n else{\r\n vm.countdpageindexCount =\r\n (dPageIndex - 1) * vm.financePageListCount + 1;\r\n }\r\n }\r\n },\r\n function (error) { }\r\n );\r\n };\r\n\r\n vm.GetInventoryDashboardByServiceCenter = function () {\r\n var data = {\r\n SearchText: vm.SearchText,\r\n MMFPartName: vm.selectedPart,\r\n BrandName: vm.brandName,\r\n ProductGroup: vm.productGroup,\r\n PartSubGroup: vm.partName,\r\n StartDate: startDate,\r\n EndDate: endDate,\r\n ServiceCenterUserId : vm.selectedServiceCenter\r\n };\r\n TeamMyStockService.GetInventoryDashboardByServiceCenter(\r\n data,\r\n token\r\n ).then(function (resp) {\r\n if (resp.data && resp.status == 200) {\r\n vm.InvetoryDashboardData = resp.data;\r\n }\r\n }, vm.showFailure);\r\n };\r\n\r\n // vm.GetInventoryDashboardByServiceCenter();\r\n\r\n vm.GetUserInventoryStockCsvDownload = function () {\r\n\r\n var data = {\r\n WareHouseId: vm.WareHouseId,\r\n SearchText: vm.SearchText,\r\n PageIndex: dPageIndex,\r\n PageSize: dPageSize,\r\n StockType: vm.OrderStatus,\r\n Category: vm.partName,\r\n BrandName: vm.brandName,\r\n ProductGroup: vm.productGroup,\r\n StartDate: startDate,\r\n EndDate: endDate,\r\n OrderBy: vm.orderBy,\r\n SortType: vm.sortType,\r\n UserId: vm.UserId,\r\n ServiceCenterUserId: vm.ServiceCenterUserId,\r\n ServiceCenterVendorId: vm.ServiceCenterVendorId,\r\n MMFPartId: vm.lineItem\r\n }\r\n TeamMyStockService.GetUserInventoryStockCsvDownload(data, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n var csvData = resp.data;\r\n var blob = new Blob([csvData], { type: \"text/csv\" });\r\n var url = window.URL.createObjectURL(blob);\r\n var a = document.createElement(\"a\");\r\n a.href = url;\r\n a.download = \"inventory.csv\";\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n }\r\n });\r\n };\r\n\r\n $scope.totalDefected = 0;\r\n $scope.defectedStockPageRequest = vm.defectedPageListCount;\r\n $scope.Requestpagination = {\r\n current: 1,\r\n };\r\n\r\n vm.changeMyDefectedPageListCount = function () {\r\n $scope.defectedStockPageRequest = vm.defectedPageListCount;\r\n uPageSize = $scope.defectedStockPageRequest;\r\n $scope.MyDefectedTablePageChanged($scope.Requestpagination.current);\r\n vm.selectAll = false;\r\n\r\n uPageIndex = $scope.Requestpagination.current;\r\n $scope.MyDefectedTablePageChanged = function (newPage) {\r\n uPageIndex = newPage;\r\n vm.GetInventoryDefectStockList(\r\n token,\r\n vm.SearchText,\r\n vm.partName,\r\n vm.brandName,\r\n vm.productGroup,\r\n uPageIndex,\r\n uPageSize,\r\n startDate,\r\n endDate\r\n );\r\n };\r\n };\r\n\r\n uPageIndex = $scope.Requestpagination.current;\r\n $scope.MyDefectedTablePageChanged = function (newPage) {\r\n uPageIndex = newPage;\r\n vm.GetInventoryDefectStockList(token, vm.SearchText, vm.partName, vm.brandName, vm.productGroup, uPageIndex, uPageSize, startDate, endDate);\r\n };\r\n\r\n vm.DefectiveStockList = [];\r\n vm.GetInventoryDefectStockList = function () {\r\n TeamMyStockService.InventoryDefectStockList(token, vm.SearchText, vm.partName, vm.brandName, vm.productGroup, uPageIndex, uPageSize, startDate, endDate).then(\r\n function (resp) {\r\n if (resp && resp.data) {\r\n vm.DefectiveStockList = resp.data.inventoryDefectStocks;\r\n $scope.totalDefected = resp.data.count;\r\n if (vm.DefectiveStockList.length < vm.defectedPageListCount)\r\n vm.myDefectedListLength = $scope.totalDefected;\r\n else\r\n vm.myDefectedListLength =\r\n uPageIndex * vm.defectedPageListCount;\r\n if (uPageIndex == 1) vm.dpageindexCount = 1;\r\n else\r\n vm.dpageindexCount =\r\n (uPageIndex - 1) * vm.defectedPageListCount + 1;\r\n }\r\n },\r\n function (error) { }\r\n );\r\n };\r\n\r\n vm.setMainOrderStatus = function (status, mainTab) {\r\n vm.MainActiveTab = mainTab;\r\n vm.OrderStatus = status;\r\n startDate = moment().subtract(30, \"days\").format(\"YYYY-MM-DD\");\r\n endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.UserId = \"\";\r\n vm.partName = \"\";\r\n vm.SearchText = \"\";\r\n vm.brandName = \"\";\r\n vm.productGroup = \"\";\r\n // vm.GetUserInventoryStockforweb(status);\r\n // vm.GetInventoryDashboardByServiceCenter();\r\n\r\n };\r\n vm.setMainOrderStatus(\"GoodStock\", \"My Stock\");\r\n\r\n vm.changeCategoryFilter = function () {\r\n vm.SearchText = \"\";\r\n fPageIndex = 1;\r\n dPageIndex = 1;\r\n vm.ApplyFilter();\r\n };\r\n\r\n vm.searchByText = function () {\r\n vm.brandName = \"\";\r\n vm.partName = \"\";\r\n vm.productGroup = \"\";\r\n fPageIndex = 1;\r\n dPageIndex = 1;\r\n vm.ApplyFilter();\r\n };\r\n\r\n vm.GetItemGroupName = function () {\r\n if (!vm.brandName) {\r\n vm.brandName = \"\";\r\n }\r\n TeamMyStockService.GetItemGroupName(vm.brandName, token).then(\r\n function (resp) {\r\n if (resp && resp.data) {\r\n vm.PartNameList = resp.data;\r\n vm.changeCategoryFilter();\r\n }\r\n }\r\n );\r\n };\r\n vm.GetItemGroupName();\r\n\r\n vm.GetItemListName = function () {\r\n if (!vm.productGroup) {\r\n vm.productGroup = \"\";\r\n }\r\n TeamMyStockService.GetItemListName(\r\n vm.brandName,\r\n vm.productGroup,\r\n token\r\n ).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.PartList = resp.data;\r\n vm.changeCategoryFilter();\r\n }\r\n }, vm.showFailure);\r\n };\r\n vm.GetItemListName();\r\n\r\n \r\n \r\n \r\n\r\n // vm.GetItemListNameWithId = function () {\r\n // if (!vm.productGroup) {\r\n // vm.productGroup = \"\";\r\n // }\r\n // TeamMyStockService.GetItemListNameWithId(\r\n // vm.brandName,\r\n // vm.productGroup,\r\n // token\r\n // ).then(function (resp) {\r\n // if (resp && resp.data) {\r\n // vm.PartListWithId = resp.data;\r\n // vm.changeCategoryFilter();\r\n // }\r\n // }, vm.showFailure);\r\n // };\r\n // vm.GetItemListNameWithId();\r\n\r\n vm.GetItemBrandName = function () {\r\n TeamMyStockService.GetItemBrandName(token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.BrandList = resp.data;\r\n }\r\n }, vm.showFailure);\r\n };\r\n vm.GetItemBrandName();\r\n\r\n vm.AddDefectedStockModal = function () {\r\n vm.resetFilters();\r\n vm.StockModal = $uibModal.open({\r\n templateUrl: \"DefectedStock.html\",\r\n backdrop: \"static\",\r\n size: \"lg\",\r\n scope: $scope,\r\n });\r\n };\r\n\r\n vm.closeDefectedStockModal = function () {\r\n vm.StockModal.close();\r\n vm.addTicketId = \"\";\r\n vm.partName = \"\";\r\n vm.brandName = \"\";\r\n vm.addType = \"\";\r\n vm.productGroup = \"\";\r\n vm.addQuantity = 0;\r\n vm.selectedPart = \"\";\r\n };\r\n\r\n vm.AddDeadStockToServiceCenter = function () {\r\n vm.DisableCreateButton(true);\r\n TeamMyStockService.AddDeadStockToServiceCenter(\r\n vm.selectedPart,\r\n vm.addQuantity,\r\n vm.addType,\r\n loggedinUser,\r\n token\r\n ).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.closeDefectedStockModal();\r\n vm.DisableCreateButton(false);\r\n $timeout(function () {\r\n vm.GetUserInventoryStockforweb(vm.OrderStatus);\r\n }, 2000);\r\n } else {\r\n vm.DisableCreateButton(false);\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n });\r\n };\r\n\r\n vm.stockitem = \"GoodStock\";\r\n\r\n vm.slectedMystockitem = function (myitem) {\r\n vm.stockitem = myitem;\r\n vm.OrderStatus = myitem;\r\n vm.changeCategoryFilter();\r\n };\r\n vm.OrdercreateModal = function () {\r\n vm.showEditList = true;\r\n vm.showAction = false;\r\n vm.OrderModal = $uibModal.open({\r\n templateUrl: \"CreateOrderModal.html\",\r\n backdrop: \"static\",\r\n size: \"lg\",\r\n scope: $scope,\r\n });\r\n };\r\n\r\n vm.closeOrdercreateModal = function () {\r\n vm.OrderModal.close();\r\n vm.dataFilters = [];\r\n };\r\n\r\n vm.addMoreFilter = function () {\r\n vm.showEditList = true;\r\n vm.showAction = false;\r\n };\r\n vm.addNewFilter = function (filter) {\r\n vm.dataFilters.push({\r\n PartName: filter.PartName,\r\n Quantity: filter.Quantity,\r\n WareHouse: filter.WareHouse,\r\n OrderType: filter.OrderType,\r\n TicketId: filter.TicketId,\r\n Remark: filter.Remark,\r\n });\r\n vm.showEditList = false;\r\n vm.showAction = true;\r\n };\r\n\r\n $scope.deleteDataFilter = function (filter) {\r\n const index = vm.dataFilters.indexOf(filter);\r\n if (index !== -1) {\r\n vm.dataFilters.splice(index, 1);\r\n }\r\n };\r\n\r\n vm.GetShipmentOrder = function (salesOrderNumber) {\r\n TeamMyStockService.GetShipmentOrder(\r\n salesOrderNumber,\r\n loggedinUser,\r\n token\r\n ).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.TrackingDetails = resp.data;\r\n }\r\n });\r\n };\r\n\r\n vm.TrackinDetailForDefectItem = function (trackingId) {\r\n TeamMyStockService.TrackinDetailForDefectItem(\r\n trackingId,\r\n loggedinUser,\r\n token\r\n ).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.TrackingDetails = resp.data;\r\n }\r\n });\r\n };\r\n\r\n vm.GetTrackingDetailsByTrackinNumber = function (trackingNo, ticketId) {\r\n vm.trackNo = trackingNo;\r\n var data = {\r\n Id: ticketId,\r\n trackingNumber: trackingNo,\r\n };\r\n TeamMyStockService.GetTrackingDetailsByTrackinNumber(\r\n data,\r\n token\r\n ).then(function (resp) {\r\n if (resp && resp.data) {\r\n if (resp.status == 200) {\r\n vm.getTrackingDetailsList = resp.data;\r\n vm.lastTag =\r\n vm.getTrackingDetailsList[\r\n vm.getTrackingDetailsList.length - 1\r\n ].tag;\r\n }\r\n }\r\n });\r\n };\r\n vm.searchtext = '';\r\n vm.consumerAllTicketsData = [];\r\n \r\n vm.GetSearchServiceCenter = function () {\r\n TeamMyStockService.GetSearchServiceCenter(loggedinUser,token,vm.searchtext).then(function (resp) {\r\n if (resp && resp.data && resp.status == 200) {\r\n vm.servicecenterData = resp.data;\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data.Message)\r\n }\r\n }, vm.showFailure);\r\n }\r\n vm.GetSearchServiceCenter();\r\n\r\n // vm.GetItemListName = function () {\r\n // \tTeamMyStockService.GetItemListName(token).then(function (resp) {\r\n // \t\tif (resp && resp.data) {\r\n // \t\t\tvm.PartList = resp.data;\r\n // \t\t}\r\n // \t}, vm.showFailure);\r\n // }\r\n // vm.GetItemListName();\r\n\r\n vm.GetServiceCentenAndTeamStockData = function () {\r\n TeamMyStockService.GetServiceCentenAndTeamStockData(vm.lineItem, vm.SearchTag, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.TeamStockData = resp.data;\r\n }\r\n }, vm.showFailure);\r\n };\r\n\r\n vm.StockType = \"\";\r\n vm.profileImg = 'assets/images/patterns/photo2.jpg';\r\n vm.PullBackStockToTechnician = function () {\r\n if(vm.OrderStatus == \"GoodStock\"){\r\n vm.StockType = 'Good';\r\n }\r\n else{\r\n vm.StockType = 'Dead';\r\n }\r\n if(!vm.StockCountToAssign){\r\n vm.StockCountToAssign = 1;\r\n }\r\n vm.DisableCreateButton(true);\r\n var data = {\r\n UserId: vm.userDetails.PartOwnerId,\r\n MMFPartId: vm.lineItem,\r\n StockCount: vm.StockCountToAssign,\r\n StockType: vm.StockType\r\n };\r\n TeamMyStockService.PullBackStockToTechnician(data, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.CloseAssignStockModel();\r\n setTimeout(function () {\r\n vm.GetServiceCentenAndTeamStockData(vm.lineItem);\r\n vm.GetUserInventoryStockforweb(vm.OrderStatus);\r\n }, 2000);\r\n } else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n vm.DisableCreateButton(false);\r\n }\r\n });\r\n };\r\n\r\n\r\n vm.OpenStockTransferModel = function (partDetails) {\r\n vm.lineItem = partDetails.LineItemId;\r\n vm.PartToBeTransferDetail = partDetails.LineItemDescription;\r\n vm.GetServiceCentenAndTeamStockData();\r\n vm.stockTransferModelOpen = $uibModal.open({\r\n templateUrl: \"stockTransferModal.html\",\r\n backdrop: \"static\",\r\n scope: $scope,\r\n size: \"lg\",\r\n });\r\n };\r\n\r\n vm.CloseStockTransferModel = function () {\r\n vm.stockTransferModelOpen.close();\r\n vm.DisableCreateButton(false);\r\n vm.transferFromUser = \"\";\r\n vm.transferToUser = \"\";\r\n vm.transferQuantity = 0;\r\n };\r\n\r\n vm.defectItems = [];\r\n\r\n vm.Acceptancemodel = function (requestDetails) {\r\n vm.AllRequestDetail = requestDetails;\r\n vm.TicketForAcceptance = requestDetails.TicketId;\r\n vm.acceptanceModelOpen = $uibModal.open({\r\n templateUrl: \"acceptancepopup.html\",\r\n backdrop: \"static\",\r\n scope: $scope,\r\n });\r\n };\r\n\r\n vm.CloseAcceptanceModel = function () {\r\n vm.isDefective = false;\r\n vm.acceptanceModelOpen.close();\r\n vm.DisableCreateButton(false);\r\n vm.TicketForAcceptance = \"\";\r\n vm.DefectedCount = 0;\r\n vm.defectItems = [];\r\n };\r\n\r\n vm.submitForm = function () {\r\n if (vm.isDefective == true) {\r\n for (var i = 0; i < vm.AllRequestDetail.NameList.length; i++) {\r\n vm.defectItems[i].IetemName = vm.AllRequestDetail.NameList[i];\r\n }\r\n }\r\n\r\n vm.MarkSalesOrderDelivered();\r\n };\r\n\r\n vm.MarkSalesOrderDelivered = function () {\r\n // vm.stockAssignation_form.submitted = true;\r\n // if (vm.stockAssignation_form.$valid) {\r\n vm.DisableCreateButton(true);\r\n var data = {\r\n SalesOrderId: vm.AllRequestDetail.ZOHOSalesOrderId,\r\n Organization_id: \"\",\r\n AcceptanceProof: \"\",\r\n TicketId: vm.TicketForAcceptance,\r\n defectItems: vm.defectItems,\r\n };\r\n TeamMyStockService.MarkSalesOrderasDelivered(\r\n data,\r\n loggedinUser,\r\n token\r\n ).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data.Message);\r\n vm.CloseAcceptanceModel();\r\n vm.DisableCreateButton(false);\r\n $timeout(function () {\r\n if (vm.MainActiveTab == \"Parts\") {\r\n vm.GetAllRequestedPart(vm.OrderStatus);\r\n }\r\n }, 2000);\r\n } else {\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }\r\n });\r\n // }\r\n };\r\n\r\n vm.AttachedFileName = \"\"\r\n $scope.uploadImageFile = function (files) {\r\n var file = files.files[0];\r\n vm.AttachedFileName = file.name;\r\n\r\n // var rendomnumber = Math.floor(1000 + Math.random() * 9999);\r\n // filename = loggedinUser+\"_ProfilePic_\" + rendomnumber +\".\"+ file.name.split(\".\")[1];\r\n // var file = new File([file], filename, {type:file.type});\r\n\r\n // if(file.type.indexOf(\"image/jpg\")>=0 || file.type.indexOf(\"image/png\")>=0 \r\n // \t|| file.type.indexOf(\"image/bmp\")>=0 || file.type.indexOf(\"image/jpeg\")>=0){\r\n // var data = new FormData();\r\n // data.append(\"files\", file);\r\n // } else {\r\n // vm.fileUploadError = \"Please upload image only as profile picture.\";\r\n // }\r\n }\r\n\r\n vm.OpenReturnModel = function (requestDetails, Type) {\r\n vm.ReturnType = Type;\r\n vm.ReturnRequest = requestDetails;\r\n if (vm.ReturnType == \"Good\") {\r\n vm.ReturnOrderType = \"Purchase return\";\r\n vm.MaxValue = vm.ReturnRequest.nTotalGoodStock;\r\n vm.ReturnQuantity = vm.ReturnRequest.nTotalGoodStock;\r\n } else if (vm.ReturnType == \"Dead\") {\r\n vm.ReturnOrderType = \"Sale return\";\r\n vm.MaxValue = vm.ReturnRequest.nTotalDeadStock;\r\n vm.ReturnQuantity = vm.ReturnRequest.nTotalDeadStock;\r\n }\r\n vm.returnModelOpen = $uibModal.open({\r\n templateUrl: \"returnpopup.html\",\r\n backdrop: \"static\",\r\n scope: $scope,\r\n size: \"lg\",\r\n });\r\n };\r\n\r\n vm.CloseReturnModel = function () {\r\n vm.returnModelOpen.close();\r\n vm.DisableCreateButton(false);\r\n vm.defectedTrackingId = \"\";\r\n // vm.warehouselist = \"\";\r\n vm.AttachedFileName = \"\";\r\n vm.ReturnQuantity = \"\";\r\n vm.warrantyType = \"Under Warranty\";\r\n };\r\n\r\n // Select checkbox \r\n // vm.selectedItems = {}; \r\n\r\n // vm.toggleSelectAll = function () {\r\n // angular.forEach(vm.MyInventoryStockList, function (item) {\r\n // vm.selectedItems[item.strMMFPartId] = vm.checkedAll;\r\n // });\r\n // };\r\n \r\n // vm.toggleSingleSelection = function (partId) {\r\n // vm.checkedAll = vm.MyInventoryStockList.every(function (item) {\r\n // return vm.selectedItems[item.strMMFPartId];\r\n // });\r\n // };\r\n\r\n// End Checkbox\r\n vm.GetAllWareHouseForExploration = function () {\r\n InventoryCartService.GetAllWareHouseForExploration(loggedinUser, token).then(function (resp) {\r\n if (resp.data && resp.status == 200) {\r\n vm.warehouseExploreList = resp.data;\r\n if(vm.AccountId == '380' || vm.AccountId == '383'){\r\n vm.warehouselist = vm.warehouseExploreList[0].strWareHouseId;\r\n }\r\n }\r\n }, vm.showFailure);\r\n }\r\n vm.GetAllWareHouseForExploration();\r\n\r\n vm.defectedTrackingId = \"\";\r\n vm.ReturnOrderPlace = function () {\r\n vm.DisableCreateButton(true);\r\n var data = {\r\n WareHouseID: vm.warehouselist,\r\n ReturnOrderType: vm.ReturnOrderType,\r\n WarrantyType: \"Under Warranty\",\r\n ReturnOrderStockType: vm.ReturnType,\r\n Attachment: vm.AttachedFileName,\r\n cardItemDetails: [\r\n {\r\n SKUId: vm.ReturnRequest.strSKUId,\r\n MMFPartId: vm.ReturnRequest.strMMFPartId,\r\n StockCount: vm.ReturnQuantity,\r\n },\r\n ],\r\n };\r\n TeamMyStockService.ReturnOrderPlace(data, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.CloseReturnModel();\r\n vm.DisableCreateButton(false);\r\n $timeout(function () {\r\n vm.GetUserInventoryStockforweb(vm.OrderStatus);\r\n vm.GetInventoryDashboardByServiceCenter();\r\n }, 2000);\r\n } else {\r\n vm.DisableCreateButton(false);\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n });\r\n };\r\n\r\n\r\n vm.AllocateStockToFieldEngineer = function () {\r\n vm.DisableCreateButton(true);\r\n var data = {\r\n UserId: vm.userDetails.UserId,\r\n cardItemDetails: [\r\n {\r\n SKUId: vm.CountDetails.strSKUId,\r\n MMFPartId: vm.CountDetails.strMMFPartId,\r\n StockCount: vm.StockCountToAssign,\r\n },\r\n ],\r\n };\r\n TeamMyStockService.AllocateStockToFieldEngineer(data, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.createTaskModelOpen.close();\r\n vm.assigntotech = false;\r\n vm.DisableCreateButton(false);\r\n $timeout(function () {\r\n vm.GetUserInventoryStockforweb(vm.OrderStatus);\r\n vm.GetInventoryDashboardByServiceCenter();\r\n }, 2000);\r\n } else {\r\n vm.DisableCreateButton(false);\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n });\r\n };\r\n\r\n vm.TransferInventory = function () {\r\n vm.DisableCreateButton(true);\r\n var data = {\r\n LineItemId: vm.lineItem,\r\n SenderUserId: vm.transferFromUser,\r\n ReciverUserId: vm.transferToUser,\r\n StockCount: vm.transferQuantity,\r\n };\r\n TeamMyStockService.TransferInventory(\r\n data,\r\n loggedinUser,\r\n token\r\n ).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data.Message);\r\n vm.CloseStockTransferModel();\r\n vm.DisableCreateButton(false);\r\n $timeout(function () {\r\n vm.GetUserInventoryStockforweb(vm.OrderStatus);\r\n vm.GetInventoryDashboardByServiceCenter();\r\n }, 2000);\r\n } else {\r\n vm.DisableCreateButton(false);\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }\r\n });\r\n };\r\n\r\n vm.addFiles = function () {\r\n $(\"#dropzone1\").trigger(\"click\");\r\n };\r\n vm.TicketPartOrderList = [];\r\n vm.rejectpart = [];\r\n vm.RejectModal = function (item) {\r\n vm.rejectpart = item;\r\n vm.RejctShareModal = $uibModal.open({\r\n templateUrl: \"rejectmodal.html\",\r\n backdrop: \"static\",\r\n size: \"lg\",\r\n scope: $scope,\r\n });\r\n };\r\n vm.closerejectmodal = function () {\r\n vm.DisableCreateButton(false);\r\n vm.updateStatusRemark = \"\";\r\n vm.updateLineitemStatus = \"\";\r\n vm.RejctShareModal.close();\r\n };\r\n\r\n vm.UpdateRequestInventoryJobLineItemStatus = function () {\r\n vm.DisableCreateButton(true);\r\n vm.updateLineitemStatus = \"Rejected\";\r\n TeamMyStockService.UpdateRequestInventoryJobLineItemStatus(\r\n vm.salesOrderId,\r\n vm.updateLineitemStatus,\r\n vm.rejectpart.LineItemId,\r\n vm.updateStatusRemark,\r\n token\r\n ).then(function (resp) {\r\n if (resp.status == 202) {\r\n setTimeout(function () {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.GetPartRequestOrderLineItem(\"\", vm.salesOrderId);\r\n vm.closerejectmodal();\r\n }, 2000);\r\n } else {\r\n vm.DisableCreateButton(false);\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n });\r\n };\r\n\r\n vm.resetFilters = function () {\r\n vm.brandName = \"\";\r\n vm.productGroup = \"\";\r\n vm.partName = \"\";\r\n vm.ticketdates = \"\";\r\n vm.SearchText = \"\";\r\n vm.UserId = \"\";\r\n vm.selectedServiceCenter = \"\";\r\n vm.selectedPart = \"\";\r\n fPageIndex = 1;\r\n vm.changeCategoryFilter();\r\n };\r\n\r\n vm.downloadCSV = function () {\r\n var worksheet = alasql(\r\n 'SELECT * INTO XLSX(\"users.xlsx\", {headers:true}) FROM ?',\r\n [$scope.users]\r\n );\r\n };\r\n vm.OpenAllocateModal = function (allocate, OrderId) {\r\n vm.allocatedetails = allocate;\r\n vm.allocatedOrderId = OrderId\r\n vm.AllocateModal = $uibModal.open({\r\n templateUrl: \"allocationModal.html\",\r\n backdrop: \"static\",\r\n size: \"md\",\r\n scope: $scope,\r\n });\r\n };\r\n\r\n vm.closeAllocateModal = function () {\r\n vm.AllocateModal.close();\r\n vm.allocatedOrderId = \"\";\r\n vm.allocatedetails = \"\";\r\n };\r\n\r\n vm.CreateInvoiceToStockAlllocationToFielEngineer = function () {\r\n vm.DisableCreateButton(true);\r\n var data = {\r\n TicketId: vm.allocatedetails,\r\n OrderId: vm.allocatedOrderId\r\n };\r\n TeamMyStockService.CreateInvoiceToStockAlllocationToFielEngineer(data, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data.Message);\r\n vm.closeAllocateModal();\r\n vm.DisableCreateButton(false);\r\n $timeout(function () {\r\n vm.GetUserInventoryStockforweb(vm.OrderStatus);\r\n }, 2000);\r\n } else {\r\n vm.DisableCreateButton(false);\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n });\r\n };\r\n vm.IsShipmentVisible = false;\r\n\r\n\r\n vm.IsVisible = false;\r\n var createOrderData = [];\r\n var wareHouseItemList = [];\r\n var sendWdata = {};\r\n vm.TotalInventoryAmount = \"0\";\r\n vm.ShowCreateShipment = function (index) {\r\n vm.listWdata = [];\r\n if (index.lineItem.LineItemId) {\r\n vm.GetWarehouse(index.lineItem.LineItemId, index.TicketId);\r\n }\r\n vm.GetPartRequestOrderLineItem(\"\", index.TicketId);\r\n vm.JobLineItemId = index.lineItem.LineItemId;\r\n vm.ShipmentTicketId = index.TicketId;\r\n vm.TotalInventoryAmount = index.OrderAmount;\r\n };\r\n\r\n vm.closeWarehouseModal = function () {\r\n vm.ShareModal.close();\r\n };\r\n vm.GetWarehouse = function (warehouseLineItemId, ticketId) {\r\n var warehouseData = {\r\n Id: warehouseLineItemId,\r\n TicketId: ticketId,\r\n };\r\n TeamMyStockService.GetWarehouse(token, warehouseData).then(\r\n function (resp) {\r\n vm.warehouseList = resp.data;\r\n }\r\n );\r\n };\r\n\r\n vm.WarehouseNameSelected = \"\";\r\n vm.createSalesOrder = function () {\r\n vm.DisableCreateButton(true);\r\n angular.forEach(vm.PartRequestLineitemData, function (d) {\r\n if (d.BackendApprovalStatus != \"Rejected\") {\r\n sendWdata = {\r\n JobLineItemId: d.LineItemId,\r\n selectedWarehouse: vm.WarehouseNameSelected,\r\n };\r\n createOrderData.push(sendWdata);\r\n }\r\n });\r\n data = {\r\n itemIdWithWarehouseModels: createOrderData,\r\n TicketId: vm.salesOrderId,\r\n };\r\n TeamMyStockService.createSalesOrder(token, data).then(function (\r\n resp\r\n ) {\r\n if (resp.status == 200) {\r\n vm.closeWarehouseModal();\r\n vm.DisableCreateButton(false);\r\n vm.showSuccess(\"Success\", \"Order Placed Successfully.\");\r\n setTimeout(function () {\r\n vm.GetAllRequestedPart(vm.OrderStatus);\r\n }, 2000);\r\n } else {\r\n createOrderData = [];\r\n wareHouseItemList = [];\r\n sendWdata = {};\r\n vm.DisableCreateButton(false);\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }\r\n });\r\n };\r\n\r\n vm.GetSalesOrder = function (isCollapsed, salesOrderId) {\r\n if (vm.salesOrderId == salesOrderId) {\r\n $scope.isCollapsed = !isCollapsed;\r\n }\r\n $scope.activeRow = salesOrderId;\r\n vm.salesOrderId = salesOrderId;\r\n if (vm.salesOrderId) {\r\n TeamMyStockService.GetSalesOrder(\r\n loggedinUser,\r\n vm.salesOrderId,\r\n token\r\n ).then(\r\n function (resp) {\r\n if (resp && resp.data) {\r\n vm.OrderList = resp.data.salesorder.line_items;\r\n }\r\n },\r\n function () { }\r\n );\r\n }\r\n };\r\n\r\n vm.OpenLineItemData = function (isCollapsed, lineItementry) {\r\n vm.LineItemData = lineItementry;\r\n vm.selectedTicketId = lineItementry.TicketId;\r\n if (vm.salesOrderId == vm.selectedTicketId) {\r\n $scope.isCollapsed = !isCollapsed;\r\n }\r\n $scope.activeRow = vm.selectedTicketId;\r\n vm.salesOrderId = vm.selectedTicketId;\r\n };\r\n\r\n vm.PartRequestLineitemData = [];\r\n vm.GetPartRequestOrderLineItem = function (isCollapsed, ticketId) {\r\n if (vm.salesOrderId == ticketId) {\r\n $scope.isCollapsed = !isCollapsed;\r\n }\r\n $scope.activeRow = ticketId;\r\n vm.salesOrderId = ticketId;\r\n TeamMyStockService.GetRequestedLineItemDetailsByTicketId(\r\n loggedinUser,\r\n vm.salesOrderId,\r\n token\r\n ).then(\r\n function (resp) {\r\n if (resp && resp.data) {\r\n vm.listWdata = [];\r\n wareHouseItemList = [];\r\n vm.PartRequestLineitemData = resp.data.LineItemList;\r\n if (!isCollapsed) {\r\n angular.forEach(vm.PartRequestLineitemData, function (d) {\r\n if (d.BackendApprovalStatus != \"Rejected\") {\r\n var hwData = {\r\n warehouseDescription: d.LineItemDescription,\r\n warehouseQuantity: d.LineItemQuantity,\r\n warehouseValue: d.dLineItemWinPrice,\r\n };\r\n }\r\n wareHouseItemList.push(hwData);\r\n });\r\n\r\n vm.listWdata = wareHouseItemList;\r\n }\r\n }\r\n },\r\n function () { }\r\n );\r\n };\r\n\r\n\r\n vm.PDFView = function (page) {\r\n vm.pdfimage = \"\";\r\n vm.IsLoadSucessfull = false;\r\n $scope.selected = null;\r\n jobAppointmentModal = $uibModal.open({\r\n templateUrl: \"PDFView.html\",\r\n size: \"lg\",\r\n scope: $scope,\r\n });\r\n };\r\n\r\n vm.PDFUserModal = function () {\r\n jobAppointmentModal.close();\r\n };\r\n\r\n function base64ToArrayBuffer(base64) {\r\n var ret = base64.replace(\"data:application/pdf;base64,\", \"\");\r\n var binaryString = atob(ret);\r\n var binaryLen = binaryString.length;\r\n var bytes = new Uint8Array(binaryLen);\r\n for (var i = 0; i < binaryLen; i++) {\r\n var ascii = binaryString.charCodeAt(i);\r\n bytes[i] = ascii;\r\n }\r\n return bytes;\r\n }\r\n\r\n vm.viewInvoicePdf = function (file) {\r\n vm.PDFView();\r\n TeamMyStockService.viewReportPdf(loggedinUser, token, file).then(\r\n function (resp) {\r\n if (resp.status == 200) {\r\n vm.InvoiceData = resp.data;\r\n var arrrayBuffer = base64ToArrayBuffer(vm.InvoiceData);\r\n var blob = new Blob([arrrayBuffer], {\r\n type: \"application/pdf\",\r\n });\r\n vm.pdfimage = URL.createObjectURL(blob);\r\n vm.IsLoadSucessfull = true;\r\n }\r\n }\r\n );\r\n };\r\n vm.PartListWithFilter = [];\r\n\r\n vm.GetItemPartName = function () {\r\n vm.PartListWithFilter = [];\r\n if (!vm.partName) {\r\n vm.partName = \"\";\r\n }\r\n InventoryItemListService.GetItemPartName(vm.brandName, vm.productGroup, vm.partName, loggedinUser, token).then(function (resp) {\r\n if (resp.data && resp.status == 200) {\r\n vm.PartListWithFilter = resp.data;\r\n }\r\n }, vm.showFailure);\r\n };\r\n vm.GetItemPartName();\r\n\r\n vm.PartListWithFilterwithId = [];\r\n\r\n vm.GetItemListNameWithId = function () {\r\n vm.PartListWithFilterwithId = [];\r\n TeamMyStockService.GetItemListNameWithId(vm.brandName, vm.productGroup,vm.partName, token).then(function (resp) {\r\n if (resp.data && resp.status == 200) {\r\n vm.PartListWithFilterwithId = resp.data;\r\n }\r\n }, vm.showFailure);\r\n };\r\n\r\n vm.ApplyFilter = function () {\r\n if (!vm.UserId) {\r\n vm.UserId = \"\";\r\n }\r\n vm.GetUserInventoryStockforweb(vm.OrderStatus);\r\n vm.GetInventoryDashboardByServiceCenter();\r\n };\r\n }\r\n }\r\n );\r\n\nangular.module('inspinia').controller('TeamMemberController', function (teamCardService, $timeout, MainService, $rootScope, DTColumnBuilder, $compile, $q, ProjectCreationService, $scope, TeamProfileService, $stateParams, $uibModal, $localStorage, $log, $state, DTOptionsBuilder, PlanningResourseMapService, DashboardService, DTColumnDefBuilder, ImageUrl) {\r\n var vm = this;\r\n var userId = $stateParams.userId;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n vm.accountConfig = $localStorage.accountConfig;\r\n $rootScope.rootScopeMessage = '';\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n } else {\r\n vm.users = [];\r\n vm.FilterSwitch = false;\r\n vm.client = 1;\r\n vm.tab = 1;\r\n vm.skill = '';\r\n vm.workArea = '';\r\n var skillsArray;\r\n var circleArray;\r\n var ProjectModal = {};\r\n var userIndex = 0;\r\n vm.filteredProperties = {};\r\n vm.selectAll = false;\r\n vm.showMinus = false;\r\n vm.searchText = \"\";\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.dtInstance = {};\r\n var witemNames = \"\";\r\n var witemValues = \"\";\r\n var wsSDate = '';\r\n var wsEDate = '';\r\n var uPageIndex = 1;\r\n var uwPageIndex = 1;\r\n var uPageSize = 10;\r\n var uwPageSize = 10;\r\n vm.userPageListCount= 10;\r\n vm.pageListCounts = [10, 20, 30, 50];\r\n\r\n vm.imageServices = function (img) {\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n if (resp.data == null || resp.data == '') {\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n }\r\n else {\r\n vm.profileImg = resp.data;\r\n }\r\n console.log(vm.profileImg);\r\n }, function () {\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n vm.exportData = function () {\r\n var blob = new Blob([document.getElementById('tab-1').innerHTML], {\r\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\r\n });\r\n saveAs(blob, \"Report.xls\");\r\n };\r\n\r\n vm.preProcessUsers = function (user) {\r\n user.ratingStars = vm.getRatingStars(user.CustomerRating);\r\n user.blankStars = vm.getBlankStars(user.CustomerRating);\r\n user.displayName = user.FirstName + \" \" + user.LastName;\r\n // user.displayName = user.displayName.length>8?(user.displayName.substring(0, 8)+\"...\"):user.displayName;\r\n var locs = \"\";\r\n angular.forEach(user.Locations, function (l) {\r\n locs += l + \",\";\r\n });\r\n user.allLocations = locs.length > 0 ? locs.substring(0, locs.length - 1) : \"\";\r\n var skills = \"\";\r\n angular.forEach(user.SkillSet, function (s) {\r\n skills += s + \",\";\r\n });\r\n user.allSkills = skills.length > 0 ? skills.substring(0, skills.length - 1) : \"\";\r\n var workareas = \"\";\r\n angular.forEach(user.Locations, function (w) {\r\n workareas += w + \",\";\r\n });\r\n user.allWorkareas = workareas.length > 0 ? workareas.substring(0, workareas.length - 1) : \"\";\r\n }\r\n\r\n vm.getAllUser = function () {\r\n teamCardService.getAllUserByReportingPerson(loggedinUser,vm.filterRole ,token).then(function (resp) {\r\n vm.users = resp.data;\r\n vm.imageServices(vm.users.Picture);\r\n // angular.forEach(vm.users, function (d) {\r\n // vm.preProcessUsers(d);\r\n // });\r\n // if (vm.users.length == 0) {\r\n // vm.client = 1;\r\n // } else {\r\n // vm.client = 3;\r\n // vm.userInfo = vm.users[userIndex];\r\n // }\r\n }, function () {\r\n //$log.log('not working');\r\n })\r\n }\r\n\r\n vm.getUserInfo = function (userId, loggedinUser) {\r\n TeamProfileService.getFixedUserInfo(userId, loggedinUser, token).then(function (resp) {\r\n vm.userInfo = resp.data;\r\n vm.imageServices(vm.userInfo.Picture);\r\n vm.preProcessUsers(vm.userInfo);\r\n }, function () {\r\n //$log.log('not working');\r\n });\r\n }\r\n\r\n vm.getAllSkills = function () {\r\n TeamProfileService.getAllSkills().then(function (resp) {\r\n vm.skills = resp.data;\r\n for (var index = 0; index < vm.skills.length; index++) {\r\n skillsArray.push({\r\n skill: vm.skills.SkillName\r\n });\r\n }\r\n }, function () {\r\n //$log.log('not working');\r\n });\r\n }\r\n\r\n vm.getAllCircles = function (loggedinUser) {\r\n ProjectCreationService.GetAllCircles(loggedinUser).then(function (resp) {\r\n vm.circles = resp.data;\r\n for (var index = 0; index < vm.circles.length; index++) {\r\n circleArray.push({\r\n workArea: vm.circles.circle\r\n });\r\n }\r\n }, function () {\r\n //$log.log('not working');\r\n });\r\n }\r\n\r\n vm.AddTeamMember = function () {\r\n $state.go('index.TeamCreate', {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.ProfileView = function (userid) {\r\n $state.go('index.TeamProfile', {\r\n userId: userid\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.ProfileData = function (userId) {\r\n vm.getUserInfo(userId, loggedinUser);\r\n vm.client = 3;\r\n }\r\n\r\n vm.filtermodal = function () {\r\n ProjectModal = $uibModal.open({\r\n templateUrl: 'Filter.html',\r\n backdrop: 'static',\r\n\r\n scope: $scope\r\n });\r\n }\r\n\r\n\r\n vm.CloseModal = function () {\r\n ProjectModal.close();\r\n }\r\n $scope.selectedOption = '';\r\n vm.LunchSchedule = function () {\r\n UpdateLunch = $uibModal.open({\r\n templateUrl: 'LunchPopup.html',\r\n backdrop: 'static',\r\n\r\n scope: $scope\r\n });\r\n }\r\n vm.closeUpdateLunch = function () {\r\n UpdateLunch.close();\r\n }\r\n\r\n vm.editTeamMember = function (userName) {\r\n $state.go('index.TeamEdit', {\r\n userId: userName\r\n });\r\n }\r\n vm.hideoverlay = function () {\r\n $scope.myvalue = false;\r\n $scope.userClass_status = true;\r\n }\r\n $scope.userClass_status = true;\r\n vm.userSingle = function () {\r\n $scope.userClass_status = !$scope.userClass_status;\r\n $scope.myvalue = true;\r\n };\r\n $scope.close360View = function () {\r\n $scope.userClass_status = true;\r\n $scope.myvalue = false;\r\n }\r\n\r\n vm.Get360TeamProfileData = function (userId) {\r\n vm.userId = userId;\r\n DashboardService.Get360ProfileData(loggedinUser, userId, token).then(function (resp) {\r\n if (resp.data) {\r\n vm.userSingle();\r\n $scope.myvalue = false;\r\n }\r\n vm.teamdata = resp.data;\r\n vm.AvgRating = vm.teamdata.userProfile.AverageRating;\r\n vm.ReviewsList = vm.teamdata.userProfile.Reviews\r\n vm.teamdata.ratingStars = vm.getRatingStars(Math.round(vm.teamdata.userProfile.Ratings.TechnicianRating));\r\n vm.teamdata.blankStars = vm.getBlankStars(Math.round(vm.teamdata.userProfile.Ratings.TechnicianRating));\r\n vm.teamdata.avgratingStars = vm.getAvgRatingStars(Math.round(vm.teamdata.userProfile.AverageRating.AverageRating));\r\n vm.teamdata.avgblankStars = vm.getAvgBlankStars(Math.round(vm.teamdata.userProfile.AverageRating.AverageRating));\r\n if (vm.teamdata.userProfile.ContactNumber) {\r\n vm.teamdata.userProfile.ContactNumber = vm.teamdata.userProfile.ContactNumber.replace(/\\d(?=\\d{4})/g, '*');\r\n }\r\n\r\n if (vm.teamdata.userProfile.Reviews) {\r\n vm.teamdata.userProfile.Reviews.forEach(function (element, i) {\r\n vm.teamdata.userratingStars = vm.getUserRatingStars(Math.round(vm.teamdata.userProfile.Reviews[i].Average));\r\n vm.teamdata.userblankStars = vm.getUserBlankStars(Math.round(vm.teamdata.userProfile.Reviews[i].Average));\r\n element.arrayRating = vm.teamdata.userratingStars;\r\n element.blankRating = vm.teamdata.userblankStars;\r\n });\r\n }\r\n\r\n vm.TechnicianRating = Number(vm.teamdata.userProfile.Ratings.TechnicianRating).toFixed(1);\r\n $timeout(function () {\r\n displayTotals();\r\n }, 300);\r\n }, function () {\r\n })\r\n }\r\n \r\n vm.Get360TeamView = function(teamid){\r\n $state.go('index.Technician360view',{\r\n userId: teamid\r\n }, { reload: true });\r\n }\r\n\r\n\r\n $scope.totalWS = 0;\r\n $scope.wsPerPage = vm.userPageListCount;\r\n $scope.Userpagination = {\r\n current: 1\r\n };\r\n\r\n //left show page 10 20 30\r\n vm.changeUserPageListCount = function(userId) {\r\n $scope.wsPerPage = vm.userPageListCount;\r\n uPageSize = $scope.wsPerPage;\r\n $scope.WSTablePageChanged($scope.Userpagination.current);\r\n\r\n uPageIndex=$scope.Userpagination.current;\r\n $scope.WSTablePageChanged = function(newPage) { \r\n uPageIndex = newPage;\r\n vm.wsersFilterArray(); \r\n vm.Get360WorkSummary(loggedinUser, token,userId, witemNames, witemValues, uPageIndex, uPageSize,wsSDate,wsEDate,vm.OrderBy,vm.sorttype);\r\n\r\n };\r\n }\r\n\r\n uPageIndex=$scope.Userpagination.current;\r\n $scope.WSTablePageChanged = function(newPage) { \r\n uPageIndex = newPage;\r\n if(witemNames != 'Search')\r\n {\r\n vm.wsersFilterArray();\r\n }\r\n\r\n vm.Get360WorkSummary(loggedinUser, token,vm.userId, witemNames, witemValues, uPageIndex, uPageSize, wsSDate,wsEDate,vm.OrderBy,vm.sorttype);\r\n\r\n };\r\n\r\n\r\n vm.wsersFilterArray = function()\r\n {\r\n witemNames=\"\";\r\n witemValues=\"\";\r\n\r\n if (vm.searchStatusText != \"\" && vm.searchStatusText != \"All\" && vm.searchStatusText != null){\r\n if(itemNames.length > 0 && itemValues.length > 0){\r\n itemNames = itemNames + ',Status';\r\n itemValues = itemValues + ',' + vm.searchStatusText;\r\n }else{\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText;\r\n } \r\n }\r\n if (vm.userNameSearch) { \r\n if(witemNames) \r\n {\r\n witemNames = witemNames + ',Search';\r\n witemValues = witemValues + \",\" + vm.userNameSearch;\r\n }\r\n else\r\n {\r\n witemNames = 'Search';\r\n witemValues = vm.userNameSearch;\r\n } \r\n }\r\n\r\n if(vm.JobcountbyStatus)\r\n {\r\n if(witemNames) \r\n {\r\n witemNames = witemNames + ',Status';\r\n witemValues = witemValues + \",\" + vm.JobcountbyStatus;\r\n }\r\n else\r\n {\r\n witemNames = 'Status';\r\n witemValues = vm.JobcountbyStatus;\r\n }\r\n }\r\n\r\n }\r\n\r\n vm.Get360WorkSummary = function () {\r\n DashboardService.Get360WorkSummary(loggedinUser, token, vm.userId, witemNames, witemValues, uPageIndex, uPageSize, wsSDate, wsEDate, vm.OrderBy, vm.sorttype).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.statusCount = resp.data;\r\n vm.wsTicketList = resp.data.workSummaryData;\r\n $scope.totalWS = resp.data.WorkSummaryTotalCount;\r\n if (vm.wsTicketList.length < vm.userPageListCount)\r\n vm.wsListLength = $scope.totalWS;\r\n else\r\n vm.wsListLength = uPageIndex * vm.userPageListCount;\r\n if (uPageIndex == 1)\r\n vm.wspageindexCount = 1;\r\n else\r\n vm.wspageindexCount = (((uPageIndex - 1) * vm.userPageListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n }\r\n vm.RedirectToConfiguration = function () {\r\n $state.go('index.CalendarManagement', { reload: true });\r\n }\r\n \r\n vm.Get360SkillSummary = function () {\r\n DashboardService.Get360SkillSummary(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.skillsetData = resp.data;\r\n for(var i=0;ilTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withOption('createdRow', createdRow)\r\n // .withScroller()\r\n // .withOption('deferRender', true)\r\n // .withOption('scrollY', 350)\r\n // .withOption('paging', false)\r\n .withOption('rowCallback', rowCallback);\r\n\r\n function createdRow(row, data, dataIndex) {\r\n // Recompiling so we can bind Angular directive to the DT\r\n $compile(angular.element(row).contents())($scope);\r\n }\r\n\r\n function rowCallback(nRow, aData, iDisplayIndex, iDisplayIndexFull) {\r\n $('td', nRow).unbind('click');\r\n $('td', nRow).bind('click', function () {\r\n $scope.$apply(function () {\r\n vm.ProfileData(aData.UserId);\r\n });\r\n });\r\n return nRow;\r\n }\r\n\r\n // vm.dtColumns = [\r\n // DTColumnBuilder.newColumn(null).withTitle('UserId').renderWith(function (data, type, full, meta) {\r\n // if (data.Role != 'Field Engineer') {\r\n // return '';\r\n // } else {\r\n // return '';\r\n // }\r\n // }),\r\n // DTColumnBuilder.newColumn(null).withTitle('Name').renderWith(function (data, type, full, meta) {\r\n // var address = '';\r\n // if (data.Picture == null) {\r\n // address = \"assets/images/patterns/photo1.png\";\r\n // } else {\r\n // // address= vm.getProfilePic(data.Picture);\r\n\r\n\r\n // // var img = full.Picture;\r\n // // vm.imageServices = function(img){\r\n // MainService.GetImageBlob(loggedinUser, token, data.Picture).then(function (resp) {\r\n // address = resp.data;\r\n\r\n // });\r\n\r\n // // } \r\n // // vm.imageServices(data.Picture);\r\n // }\r\n\r\n // return '' + data.FirstName + ' ' + data.LastName + '';\r\n // }).notSortable(),\r\n // DTColumnBuilder.newColumn('ContactNumber').withTitle('Phone Number').notSortable(),\r\n // DTColumnBuilder.newColumn('Role').withTitle('Role').notSortable(),\r\n\r\n // DTColumnBuilder.newColumn('').withTitle('Account Name').notSortable().renderWith(function (data, type, full, meta) {\r\n // if (full.TerritoryMappingModel) {\r\n // vm.accNameLoac = [];\r\n // vm.accIdLoac = [];\r\n // angular.forEach(full.TerritoryMappingModel, function (d) {\r\n // vm.accNameLoac.push(d.AccountName);\r\n // });\r\n // } else {\r\n // vm.accNameLoac = '';\r\n // }\r\n // return '
' + vm.accNameLoac + '
'\r\n // }),\r\n // DTColumnBuilder.newColumn('').withTitle('Account Id').notSortable().renderWith(function (data, type, full, meta) {\r\n // if (full.TerritoryMappingModel) {\r\n // vm.accLoac = [];\r\n // angular.forEach(full.TerritoryMappingModel, function (d) {\r\n // vm.accLoac.push(d.AccountId);\r\n // });\r\n // } else {\r\n // vm.accLoac = '';\r\n // }\r\n // return '
' + vm.accLoac + '
'\r\n // }),\r\n\r\n // DTColumnBuilder.newColumn('').withTitle('State').notSortable().renderWith(function (data, type, full, meta) {\r\n // if (full.TerritoryMappingModel) {\r\n // vm.stateLoac = [];\r\n // angular.forEach(full.TerritoryMappingModel, function (d) {\r\n // vm.stateLoac.push(d.State);\r\n // });\r\n // } else {\r\n // vm.stateLoac = '';\r\n // }\r\n // return '
' + vm.stateLoac + '
'\r\n // }),\r\n\r\n // DTColumnBuilder.newColumn('').withTitle('City').notSortable().renderWith(function (data, type, full, meta) {\r\n // if (full.TerritoryMappingModel) {\r\n // vm.cityLoac = [];\r\n // angular.forEach(full.TerritoryMappingModel, function (d) {\r\n // vm.cityLoac.push(d.City);\r\n // });\r\n // } else {\r\n // vm.cityLoac = '';\r\n // }\r\n // return '
' + vm.cityLoac + '
'\r\n // }),\r\n\r\n // DTColumnBuilder.newColumn('').withTitle('Pin Code').notSortable().renderWith(function (data, type, full, meta) {\r\n // if (full.TerritoryMappingModel) {\r\n // vm.pinLoac = [];\r\n // angular.forEach(full.TerritoryMappingModel, function (d) {\r\n // vm.pinLoac.push(d.PinCode);\r\n // });\r\n // } else {\r\n // vm.pinLoac = '';\r\n // }\r\n // return '
' + vm.pinLoac + '
'\r\n // }),\r\n\r\n // // DTColumnBuilder.newColumn('JobTotal').withTitle('Total Jobs').notSortable(),\r\n // // DTColumnBuilder.newColumn('JobCompleted').withTitle('Completed Jobs').notSortable()\r\n\r\n // ];\r\n\r\n\r\n // below code done for CRM demo\r\n\r\n vm.dtColumns = [\r\n DTColumnBuilder.newColumn(null).withTitle('UserId').renderWith(function (data, type, full, meta) {\r\n // if (vm.accountConfig.AccountId == '361' || vm.accountConfig.AccountId == '364') {\r\n // return '';\r\n // }\r\n // else{\r\n if (data.Role != 'Field Engineer' && data.Role != 'Private Vendor' && data.Role != 'Service Center' && data.Role != 'Vendor Manager' && (vm.accountConfig.AccountId != '361' && vm.accountConfig.AccountId != '364')){\r\n return '';\r\n }\r\n else if(data.Role != 'Field Engineer' && data.Role != 'Private Vendor' && data.Role != 'Service Center' && data.Role != 'Vendor Manager' && (vm.accountConfig.AccountId == '361' || vm.accountConfig.AccountId == '364')){\r\n return ''+ data.UserId + '' ;\r\n }\r\n else {\r\n return '';\r\n }\r\n\r\n // }\r\n \r\n }),\r\n DTColumnBuilder.newColumn(null).withTitle('Name').renderWith(function (data, type, full, meta) {\r\n var address = '';\r\n if (data.Picture == null) {\r\n address = \"assets/images/patterns/photo1.png\";\r\n } else {\r\n MainService.GetImageBlob(loggedinUser, token, data.Picture).then(function (resp) {\r\n address = resp.data;\r\n });\r\n }\r\n return '' + data.FirstName + ' ' + data.LastName + '';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn('ContactNumber').withTitle('Phone Number').notSortable(),\r\n DTColumnBuilder.newColumn('Role').withTitle('Role').notSortable(),\r\n DTColumnBuilder.newColumn('CurrentState').withTitle('State').notSortable(),\r\n DTColumnBuilder.newColumn('CurrentCity').withTitle('City').notSortable(),\r\n DTColumnBuilder.newColumn('CurrentPinCode').withTitle('Pin Code').notSortable(),\r\n \r\n\r\n // DTColumnBuilder.newColumn('').withTitle('State').notSortable().renderWith(function (data, type, full, meta) {\r\n // if (full.TerritoryMappingModel) {\r\n // vm.stateLoac = [];\r\n // angular.forEach(full.TerritoryMappingModel, function (d) {\r\n // vm.stateLoac.push(d.State);\r\n // });\r\n // } else {\r\n // vm.stateLoac = '';\r\n // }\r\n // return '
' + vm.stateLoac + '
';\r\n // }),\r\n // DTColumnBuilder.newColumn('').withTitle('City').notSortable().renderWith(function (data, type, full, meta) {\r\n // if (full.TerritoryMappingModel) {\r\n // vm.cityLoac = [];\r\n // angular.forEach(full.TerritoryMappingModel, function (d) {\r\n // vm.cityLoac.push(d.City);\r\n // });\r\n // } else {\r\n // vm.cityLoac = '';\r\n // }\r\n // return '
' + vm.cityLoac + '
';\r\n // }),\r\n // DTColumnBuilder.newColumn('').withTitle('Pin Code').notSortable().renderWith(function (data, type, full, meta) {\r\n // if (full.TerritoryMappingModel) {\r\n // vm.pinLoac = [];\r\n // angular.forEach(full.TerritoryMappingModel, function (d) {\r\n // vm.pinLoac.push(d.PinCode);\r\n // });\r\n // } else {\r\n // vm.pinLoac = '';\r\n // }\r\n // return '
' + vm.pinLoac + '
';\r\n // })\r\n ];\r\n if (vm.accountConfig.AccountId == '362') {\r\n vm.dtColumns.push(\r\n DTColumnBuilder.newColumn('VendorName').withTitle('Reporting To').notSortable(),\r\n DTColumnBuilder.newColumn('Rating').withTitle('Rating').notSortable(),\r\n DTColumnBuilder.newColumn('Expernice').withTitle('Experience').notSortable(),\r\n DTColumnBuilder.newColumn('AdharNo').withTitle('Adhaar Number').notSortable()\r\n );\r\n}\r\n\r\nif (vm.Role != 'Service Center' && (vm.accountConfig.AccountId == '361' || vm.accountConfig.AccountId == '362' || vm.accountConfig.AccountId == '364')) {\r\n vm.dtColumns.push(\r\n DTColumnBuilder.newColumn('ReportingToName')\r\n .withTitle('Reporting To')\r\n .notSortable()\r\n .renderWith(function (data, type, full, meta) {\r\n var id = full.ReportingTo;\r\n return data + ' (' + id + ')';\r\n }),\r\n DTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data,type,full) {\r\n return '';\r\n })\r\n );\r\n}\r\n\r\n if (vm.Role !== 'Vendor Manager' && vm.Role !== 'Service Center' && vm.Role !== 'Administrator' && vm.Role !== 'Project Manager' && vm.Role !== 'Supervisor') {\r\n vm.dtColumns.push(\r\n DTColumnBuilder.newColumn('').withTitle('Account Name').notSortable().renderWith(function (data, type, full, meta) {\r\n if (full.TerritoryMappingModel) {\r\n vm.accNameLoac = [];\r\n vm.accIdLoac = [];\r\n angular.forEach(full.TerritoryMappingModel, function (d) {\r\n vm.accNameLoac.push(d.AccountName);\r\n });\r\n } else {\r\n vm.accNameLoac = '';\r\n }\r\n return '
' + vm.accNameLoac + '
';\r\n }),\r\n DTColumnBuilder.newColumn('').withTitle('Account Id').notSortable().renderWith(function (data, type, full, meta) {\r\n if (full.TerritoryMappingModel) {\r\n vm.accLoac = [];\r\n angular.forEach(full.TerritoryMappingModel, function (d) {\r\n vm.accLoac.push(d.AccountId);\r\n });\r\n } else {\r\n vm.accLoac = '';\r\n }\r\n return '
' + vm.accLoac + '
';\r\n })\r\n );\r\n }\r\n\r\n\r\n\r\n \r\n\r\n // vm.dtOptions = DTOptionsBuilder.newOptions().withDOM(\r\n // '<\"html5buttons\"B>lTfgitp')\r\n // .withButtons([]).withPaginationType(\r\n // 'full_numbers').withOption('lengthChange', false)\r\n // .withOption('initComplete', function () {\r\n // $('.dataTables_filter input').unbind();\r\n // })\r\n // .withOption('order', [1, 'asc']);\r\n\r\n // vm.dtColumnDefs = [\r\n // DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n // // DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(2).notSortable().withClass('td-small-with-panel'),\r\n // DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(7).notSortable()];\r\n\r\n vm.getProfilePic = function (profilePicName) {\r\n return profilePicName ? ImageUrl + \"/\" + profilePicName : null;\r\n }\r\n }\r\n});\n/* FileSaver.js\r\n * A saveAs() FileSaver implementation.\r\n * 1.3.2\r\n * 2016-06-16 18:25:19\r\n *\r\n * By Eli Grey, http://eligrey.com\r\n * License: MIT\r\n * See https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md\r\n */\r\n\r\n/*global self */\r\n/*jslint bitwise: true, indent: 4, laxbreak: true, laxcomma: true, smarttabs: true, plusplus: true */\r\n\r\n/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */\r\n\r\nvar saveAs = saveAs || (function(view) {\r\n\t\"use strict\";\r\n\t// IE <10 is explicitly unsupported\r\n\tif (typeof view === \"undefined\" || typeof navigator !== \"undefined\" && /MSIE [1-9]\\./.test(navigator.userAgent)) {\r\n\t\treturn;\r\n\t}\r\n\tvar\r\n\t\t doc = view.document\r\n\t\t // only get URL when necessary in case Blob.js hasn't overridden it yet\r\n\t\t, get_URL = function() {\r\n\t\t\treturn view.URL || view.webkitURL || view;\r\n\t\t}\r\n\t\t, save_link = doc.createElementNS(\"http://www.w3.org/1999/xhtml\", \"a\")\r\n\t\t, can_use_save_link = \"download\" in save_link\r\n\t\t, click = function(node) {\r\n\t\t\tvar event = new MouseEvent(\"click\");\r\n\t\t\tnode.dispatchEvent(event);\r\n\t\t}\r\n\t\t, is_safari = /constructor/i.test(view.HTMLElement) || view.safari\r\n\t\t, is_chrome_ios =/CriOS\\/[\\d]+/.test(navigator.userAgent)\r\n\t\t, throw_outside = function(ex) {\r\n\t\t\t(view.setImmediate || view.setTimeout)(function() {\r\n\t\t\t\tthrow ex;\r\n\t\t\t}, 0);\r\n\t\t}\r\n\t\t, force_saveable_type = \"application/octet-stream\"\r\n\t\t// the Blob API is fundamentally broken as there is no \"downloadfinished\" event to subscribe to\r\n\t\t, arbitrary_revoke_timeout = 1000 * 40 // in ms\r\n\t\t, revoke = function(file) {\r\n\t\t\tvar revoker = function() {\r\n\t\t\t\tif (typeof file === \"string\") { // file is an object URL\r\n\t\t\t\t\tget_URL().revokeObjectURL(file);\r\n\t\t\t\t} else { // file is a File\r\n\t\t\t\t\tfile.remove();\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t\tsetTimeout(revoker, arbitrary_revoke_timeout);\r\n\t\t}\r\n\t\t, dispatch = function(filesaver, event_types, event) {\r\n\t\t\tevent_types = [].concat(event_types);\r\n\t\t\tvar i = event_types.length;\r\n\t\t\twhile (i--) {\r\n\t\t\t\tvar listener = filesaver[\"on\" + event_types[i]];\r\n\t\t\t\tif (typeof listener === \"function\") {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tlistener.call(filesaver, event || filesaver);\r\n\t\t\t\t\t} catch (ex) {\r\n\t\t\t\t\t\tthrow_outside(ex);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t, auto_bom = function(blob) {\r\n\t\t\t// prepend BOM for UTF-8 XML and text/* types (including HTML)\r\n\t\t\t// note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF\r\n\t\t\tif (/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(blob.type)) {\r\n\t\t\t\treturn new Blob([String.fromCharCode(0xFEFF), blob], {type: blob.type});\r\n\t\t\t}\r\n\t\t\treturn blob;\r\n\t\t}\r\n\t\t, FileSaver = function(blob, name, no_auto_bom) {\r\n\t\t\tif (!no_auto_bom) {\r\n\t\t\t\tblob = auto_bom(blob);\r\n\t\t\t}\r\n\t\t\t// First try a.download, then web filesystem, then object URLs\r\n\t\t\tvar\r\n\t\t\t\t filesaver = this\r\n\t\t\t\t, type = blob.type\r\n\t\t\t\t, force = type === force_saveable_type\r\n\t\t\t\t, object_url\r\n\t\t\t\t, dispatch_all = function() {\r\n\t\t\t\t\tdispatch(filesaver, \"writestart progress write writeend\".split(\" \"));\r\n\t\t\t\t}\r\n\t\t\t\t// on any filesys errors revert to saving with object URLs\r\n\t\t\t\t, fs_error = function() {\r\n\t\t\t\t\tif ((is_chrome_ios || (force && is_safari)) && view.FileReader) {\r\n\t\t\t\t\t\t// Safari doesn't allow downloading of blob urls\r\n\t\t\t\t\t\tvar reader = new FileReader();\r\n\t\t\t\t\t\treader.onloadend = function() {\r\n\t\t\t\t\t\t\tvar url = is_chrome_ios ? reader.result : reader.result.replace(/^data:[^;]*;/, 'data:attachment/file;');\r\n\t\t\t\t\t\t\tvar popup = view.open(url, '_blank');\r\n\t\t\t\t\t\t\tif(!popup) view.location.href = url;\r\n\t\t\t\t\t\t\turl=undefined; // release reference before dispatching\r\n\t\t\t\t\t\t\tfilesaver.readyState = filesaver.DONE;\r\n\t\t\t\t\t\t\tdispatch_all();\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\treader.readAsDataURL(blob);\r\n\t\t\t\t\t\tfilesaver.readyState = filesaver.INIT;\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// don't create more object URLs than needed\r\n\t\t\t\t\tif (!object_url) {\r\n\t\t\t\t\t\tobject_url = get_URL().createObjectURL(blob);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (force) {\r\n\t\t\t\t\t\tview.location.href = object_url;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tvar opened = view.open(object_url, \"_blank\");\r\n\t\t\t\t\t\tif (!opened) {\r\n\t\t\t\t\t\t\t// Apple does not allow window.open, see https://developer.apple.com/library/safari/documentation/Tools/Conceptual/SafariExtensionGuide/WorkingwithWindowsandTabs/WorkingwithWindowsandTabs.html\r\n\t\t\t\t\t\t\tview.location.href = object_url;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfilesaver.readyState = filesaver.DONE;\r\n\t\t\t\t\tdispatch_all();\r\n\t\t\t\t\trevoke(object_url);\r\n\t\t\t\t}\r\n\t\t\t;\r\n\t\t\tfilesaver.readyState = filesaver.INIT;\r\n\r\n\t\t\tif (can_use_save_link) {\r\n\t\t\t\tobject_url = get_URL().createObjectURL(blob);\r\n\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\tsave_link.href = object_url;\r\n\t\t\t\t\tsave_link.download = name;\r\n\t\t\t\t\tclick(save_link);\r\n\t\t\t\t\tdispatch_all();\r\n\t\t\t\t\trevoke(object_url);\r\n\t\t\t\t\tfilesaver.readyState = filesaver.DONE;\r\n\t\t\t\t});\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tfs_error();\r\n\t\t}\r\n\t\t, FS_proto = FileSaver.prototype\r\n\t\t, saveAs = function(blob, name, no_auto_bom) {\r\n\t\t\treturn new FileSaver(blob, name || blob.name || \"download\", no_auto_bom);\r\n\t\t}\r\n\t;\r\n\t// IE 10+ (native saveAs)\r\n\tif (typeof navigator !== \"undefined\" && navigator.msSaveOrOpenBlob) {\r\n\t\treturn function(blob, name, no_auto_bom) {\r\n\t\t\tname = name || blob.name || \"download\";\r\n\r\n\t\t\tif (!no_auto_bom) {\r\n\t\t\t\tblob = auto_bom(blob);\r\n\t\t\t}\r\n\t\t\treturn navigator.msSaveOrOpenBlob(blob, name);\r\n\t\t};\r\n\t}\r\n\r\n\tFS_proto.abort = function(){};\r\n\tFS_proto.readyState = FS_proto.INIT = 0;\r\n\tFS_proto.WRITING = 1;\r\n\tFS_proto.DONE = 2;\r\n\r\n\tFS_proto.error =\r\n\tFS_proto.onwritestart =\r\n\tFS_proto.onprogress =\r\n\tFS_proto.onwrite =\r\n\tFS_proto.onabort =\r\n\tFS_proto.onerror =\r\n\tFS_proto.onwriteend =\r\n\t\tnull;\r\n\r\n\treturn saveAs;\r\n}(\r\n\t typeof self !== \"undefined\" && self\r\n\t|| typeof window !== \"undefined\" && window\r\n\t|| this.content\r\n));\r\n// `self` is undefined in Firefox for Android content script context\r\n// while `this` is nsIContentFrameMessageManager\r\n// with an attribute `content` that corresponds to the window\r\n\r\nif (typeof module !== \"undefined\" && module.exports) {\r\n module.exports.saveAs = saveAs;\r\n} else if ((typeof define !== \"undefined\" && define !== null) && (define.amd !== null)) {\r\n define(\"FileSaver.js\", function() {\r\n return saveAs;\r\n });\r\n}\nangular.module('inspinia').service('teamCardService', function (ApiURL, $log, $http) {\r\n\r\n this.getAllUserList = function (userId,loggedinUser, token) {\r\n var url = ApiURL + '/api/User/'+userId+'/byUserId?ReqUserId='+ loggedinUser;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':loggedinUser\r\n }\r\n });\r\n // return list;\r\n }\r\n\r\n this.getAllUserByReportingPerson = function (reportingTo,filterRole,token) {\r\n var url = ApiURL +'/api/User/'+ reportingTo+'/byReportingToWithJobCount?ReqUserId='+reportingTo +'&RoleFilter='+filterRole;\r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId':reportingTo }\r\n });\r\n }\r\n\r\nthis.updateUserStatus = function (loggedinUser,UserId,userdata, token) {\r\n var url = ApiURL + '/api/User/'+UserId+'/activate?reqUserId='+loggedinUser;\r\n return $http.put(url, userdata,{\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':loggedinUser}});\r\n }\r\n\r\n // http://product.mymobiforce.com/coreAPI/api/User/AddRemovePrivateTeam?userId=U00000000418\r\n\r\n this.updateDetachStatus = function (loggedinUser,TechnicianUserId, token) {\r\n var url = ApiURL + '/api/User/AddRemovePrivateTeam?userId=' + TechnicianUserId;\r\n return $http.put(url,null,{\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token': token, \r\n 'UserId':loggedinUser\r\n }});\r\n }\r\n\r\n this.getAllUserBySkillAndRating=function(UserId,skill,rating, token)\r\n {\r\n var url =ApiURL + '/api/User/'+UserId +'/'+skill+'/'+rating+'/GetUserBySkillSetRating';\r\n return $http.get(url,{\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':UserId}});\r\n }\r\n\r\n this.ResetPasswordForTeam = function (loggedinUser,TechnicianUserId, token) {\r\n var url = ApiURL + '/api/User/ResetPasswordForTeam?UserId=' + TechnicianUserId;\r\n return $http.get(url,{\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token': token, \r\n 'UserId':loggedinUser\r\n }});\r\n }\r\n \r\n});\r\n\nangular.module('inspinia').controller('TeamCardController', function ($state, $stateParams, teamCardService, $log, $localStorage, bulkuploadService, $scope) {\r\n var vm = this;\r\n vm.users = [];\r\n var userdata = [];\r\n var userId = $stateParams.userId;\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n vm.currentPage = 1;\r\n vm.pageSize = 12;\r\n bulkuploadService.bulkuploadType = 'user';\r\n vm.availableSearchParams = [\r\n { key: \"CurrentState\", name: \"CurrentState\", placeholder: \"CurrentState...\" },\r\n { key: \"CurrentCity\", name: \"CurrentCity\", placeholder: \"CurrentCity...\" }\r\n // { key: \"city\", name: \"City\", placeholder: \"City...\" },\r\n // { key: \"country\", name: \"Country\", placeholder: \"Country...\" },\r\n // { key: \"emailAddress\", name: \"E-Mail\", placeholder: \"E-Mail...\", allowMultiple: true },\r\n // { key: \"job\", name: \"Job\", placeholder: \"Job...\" }\r\n ];\r\n //var ReqUserId = $stateParams.ReqUserId;\r\nvar loggedinUser = $localStorage.loggedInUserId;\r\n\r\n vm.DeactivateUser = function(userdata) {\r\n teamCardService.updateUserStatus(loggedinUser,userdata.UserId,userdata).then(function (resp){\r\n if(resp.data.UserStatus=='Active') {\r\n userdata.UserStatus='Active';\r\n // vm.UserStatus = \"Deactivate\";\r\n // vm.Status = \"Activated\";\r\n } else if(resp.data.UserStatus == \"Inactive\") {\r\n userdata.UserStatus='Inactive';\r\n // color:'#eee';\r\n // vm.Status = \"Deactivated\";\r\n }\r\n },\r\n function () {\r\n //$log.log('not working');\r\n })\r\n }\r\n //\r\n vm.AddTeamMember = function () {\r\n $state.go('index.TeamCreate', {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.getAllUser = function () {\r\n teamCardService.getAllUserByReportingPerson(loggedinUser).then(function (resp) {\r\n vm.users = resp.data;\r\n },\r\n function () {\r\n //$log.log('not working');\r\n })\r\n }\r\n\r\n vm.getAllUser(userId,loggedinUser);\r\n\r\n vm.ProfileView = function (userid) {\r\n $state.go('index.TeamProfile', {\r\n userId: userid\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.editTeamMember = function (userName) {\r\n $state.go('index.TeamEdit', {\r\n userId: userName\r\n });\r\n }\r\n \r\n});\r\n\nangular.module('inspinia').service('TeamProfileService', function (ApiURL, $http, FreelancerURL, LocationURL) {\r\n\r\n this.getUserInfo = function (userId,loggedInUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerUser/' + userId +'/'+ loggedInUser+ '/'+ 'byUserIdWithJobCount' ;\r\n\t return $http.get(url,{\r\n\t headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n\t })\r\n\t}\r\n\r\n //https://login.mymobiforce.com/coreapi/api/User/U350000000013/byUserIdWithJobCount?reqUserId=U350000000001\r\n this.getFixedUserInfo = function (userId,loggedInUser, token) {\r\n var url = ApiURL + '/api/User/' + userId +'/byUserIdWithJobCount?reqUserId='+ loggedInUser ;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n\r\n this.getUserRating = function (userId,loggedinUser, token) {\r\n var url = ApiURL + \"/api/User/\"+userId+\"/\"+loggedinUser+\"/GetUserRating\";\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.getJobsByUserId=function(userId,loggedinUser, token)\r\n {\r\n var url =ApiURL + \"/api/Ticket/\" +userId+\"/byUserId?reqUserId=\"+loggedinUser;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n\r\n // this.getAllSkills = function(loggedinUser, token)\r\n // {\r\n // var url = ApiURL + \"/api/SkillSets?reqUserId=\"+loggedinUser;\r\n // return $http.get(url,{\r\n // headers:{\r\n // 'Content-Type':'application/json', 'Token': token\r\n // }\r\n // });\r\n // }\r\n\r\n //http://localhost:50035/api/FreeLancerTicket/purshotam%40gmail.com/srachit46%40gmail.com/byUserId\r\n\r\n this.GetFreelancerJobs = function(userId, loggedinUser, token){\r\n var url = FreelancerURL + '/api/FreelancerTicket/' + userId + '/' + loggedinUser + '/ByUserId'\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token, 'UserId':loggedinUser}\r\n });\r\n }\r\n\r\n // this.save = function(loggedinUser, token, data, success, failure){\r\n // var url = ApiURL + '/api/User?reqUserId='+loggedinUser;\r\n // $http.put(url, data, {\r\n // headers: { 'ContentType': 'application/json',\r\n // 'Token': token }\r\n // }).then(function(res){\r\n // success(res);\r\n // }, function(err){\r\n // failure(\"Failed\", \"Unable to save user profile, server is not responding correctly.\");\r\n // })\r\n // }\r\n\r\n // http://localhost:50144/api/FreeLancerRegistration/UpdateRegistrationdDetails\r\n this.save = function(loggedinUser, token, data, success, failure){\r\n var url = FreelancerURL + '/api/FreeLancerRegistration/UpdateRegistrationdDetails';\r\n $http.put(url, data, {\r\n headers: { 'ContentType': 'application/json',\r\n 'Token': token, 'UserId':loggedinUser }\r\n }).then(function(res){\r\n success(res);\r\n }, function(err){\r\n failure(\"Failed\", \"Unable to save user profile, server is not responding correctly.\");\r\n })\r\n }\r\n\r\n this.GetAllCircles = function (loggedinUser, success, failure) {\r\n var url = LocationURL + '/api/Location/' + loggedinUser + '/GetAllCircles'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json' }\r\n }).then(function(res){\r\n if(res && res.status ==200 && res.data){\r\n success(res.data);\r\n } \r\n }, function(err){\r\n failure(\"Failed\", \"Unable to get locations, server is not responding correctly\");\r\n });\r\n }\r\n\r\n this.getAllSkills = function(loggedinUser, token, success, failure){\r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url, {headers:{'Token': token, 'UserId':loggedinUser}}).then(function(res){\r\n if(res && res.status == 200 && res.data){\r\n success(res.data);\r\n }\r\n }, function(err){\r\n failure(\"Failed\", \"Unable to get skill list, server error.\")\r\n })\r\n }\r\n\r\n this.uploadProfilePic = function (loggedinUser, data, token, success, failure) {\r\n $http.post(ApiURL + '/api/User/PostUserPic?reqUserId=' + loggedinUser, data, {\r\n headers: {\r\n 'Content-Type': undefined, 'Token': token, 'UserId':loggedinUser\r\n }\r\n }).then(success, failure);\r\n }\r\n\r\n});\r\n\nangular.module('inspinia').filter('StarRating', function ($sce) {\r\n return function (input) {\r\n var orangeStarAdd = '';\r\n var yellowStarAdd = '';\r\n var yellowStarRating = '';\r\n var whiteStarRating = '';\r\n var whiteStarCount = 0;\r\n whiteStarCount = 5 - Number(input);\r\n for (var starindex = 1; starindex <= input; starindex++) {\r\n yellowStarRating = yellowStarRating + orangeStarAdd;\r\n }\r\n for (var whiteIndex = 1; whiteIndex <= whiteStarCount; whiteIndex++) {\r\n whiteStarRating = whiteStarRating + yellowStarAdd;\r\n }\r\n return $sce.trustAsHtml(yellowStarRating+whiteStarRating);\r\n }\r\n});\r\n\nangular.module('inspinia').controller('TeamProfileController', function ($scope, $state, $filter,MainService,TeamProfileService, OnBoardingFormService, $log, $stateParams, $localStorage, DTColumnDefBuilder, DTOptionsBuilder, ImageUrl) {\r\n var vm = this;\r\n var userId = $stateParams.userId;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n\r\n if (!loggedinUser || !userId) {\r\n\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n var loggedinUserRole = $localStorage.loggedInUser_Role;\r\n vm.dtInstance = {};\r\n vm.error = {};\r\n vm.searchText = \"\";\r\n vm.sparkline1 = [34, 43, 43, 35, 44, 32, 44, 52];\r\n\r\n vm.showSuccess = $scope.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.main.showFailure;\r\n vm.qualificationList = [\"10th\", \"12th\", \"Graduation Degree/Deploma\", \"PG Degree/Deploma\"];\r\n vm.BGDocType = ['Aadhar Card', 'Address Proof', 'Pan Card', 'Education Certificate', 'Police Verification', 'Resume', 'Cancelled Check','GST Certificate'];\r\n vm.BDDocSubType = {};\r\n vm.BDDocSubType['Aadhar Card'] = ['Aadhar Card'];\r\n vm.BDDocSubType['Address Proof'] = [\"Aadhar Card\", \"Voter Id Card\", \"Driving License\", \"Passport\", \"Rent Agreement\", \"Telephone/Gas Bill\", \"Bank Passbook\"];\r\n vm.BDDocSubType['Pan Card'] = ['Pan Card'];\r\n vm.BDDocSubType['Education Certificate'] = vm.qualificationList;\r\n vm.BDDocSubType['Police Verification'] = [\"Police Verification\"];\r\n vm.BDDocSubType['Resume'] = [\"Resume\"];\r\n vm.BDDocSubType['Cancelled Check'] = [\"Cancelled Check\"];\r\n vm.BDDocSubType['GST Certificate'] = ['GST Certificate'];\r\n\r\n // vm.qualificationList = [\"10th\", \"12th\", \"Graduation Degree/Deploma\", \"PG Degree/Deploma\"];\r\n // vm.BGDocType = ['Aadhar Card', 'Address Proof', 'Pan Card', 'Education Certificate', 'Police Verification', 'Experience Certificates'];\r\n \r\n // vm.BDDocSubType = {};\r\n // vm.BDDocSubType['Aadhar Card'] = ['Aadhar Card'];\r\n // vm.BDDocSubType['Address Proof'] = [\"Voter Id Card\", \"Passport\", \"Rent Agreement\", \"Telephone/Gas Bill\", \"Bank Passbook\"];\r\n // vm.BDDocSubType['Pan Card'] = ['Pan Card'];\r\n // vm.BDDocSubType['Education Certificate'] = vm.qualificationList;\r\n // vm.BDDocSubType['Police Verification'] = [\"Police Verification\"];\r\n // vm.BDDocSubType['Experience Certificates'] = [\"Experience Certificates\"];\r\n\r\n vm.last30Years = [];\r\n vm.experienceList = [];\r\n vm.brandList = [\"Samsung\", \"Onida\", \"BPL\", \"LG\", \"Hitachi\", \"Whirlpool\", \"Panasonic\", \"BOSCH\", \"Videocon\", \"Godrej\", \"Ericsson\", \"TATA\", \"Airtel\", \"Idea\", \"Vodafone\", \"BSNL\", \"NSN\"];\r\n\r\n vm.currentYear = new moment().format(\"YYYY\");\r\n vm.TrainingList = [];\r\n vm.pathtcertificate = '';\r\n vm.addTraningCertificateName = '';\r\n vm.CertificateNo = '';\r\n vm.CertificateIssueDate = moment();\r\n vm.CertificateExpiryDate = moment();\r\n vm.BGDocList = [];\r\n\r\n for (var i = 0; i < 30; i++) {\r\n vm.last30Years.push((vm.currentYear - i) + \"\");\r\n vm.experienceList.push((i + 1) + \"\");\r\n }\r\n\r\n vm.skillSets = [];\r\n vm.getAllSkills = function () {\r\n TeamProfileService.getAllSkills(loggedinUser, token, function (data) {\r\n vm.skillSets = data;\r\n }, vm.showFailure);\r\n }\r\n vm.getAllSkills();\r\n\r\n vm.getSkillSets = function (previousIndex, skillList) {\r\n var RemoveSkills = [];\r\n var remainingSkills = Array.from(vm.skillSets);\r\n angular.forEach(remainingSkills, function (d) {\r\n for (var i = 0; i < previousIndex; i++) {\r\n if (d.SkillName == skillList[i].Skill) {\r\n RemoveSkills.push(d);\r\n return;\r\n }\r\n }\r\n });\r\n angular.forEach(RemoveSkills, function (s) {\r\n remainingSkills.splice(remainingSkills.indexOf(s), 1);\r\n })\r\n return remainingSkills;\r\n }\r\n\r\n /*vm.circles = [];\r\n vm.GetAllCircles = function () {\r\n TeamProfileService.GetAllCircles(loggedinUser, function (data) {\r\n vm.circles = data;\r\n }, vm.showFailure);\r\n }\r\n vm.GetAllCircles();*/\r\n vm.imageServices = function(img){debugger\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n }\r\n else{\r\n vm.profileImg = resp.data;\r\n }\r\n console.log(vm.profileImg);\r\n }, function() {\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n });\r\n \r\n } \r\n\r\n vm.sparkline1Options = {\r\n type: 'bar',\r\n width: '100%',\r\n height: '50',\r\n lineColor: '#1ab394',\r\n fillColor: \"transparent\"\r\n };\r\n\r\n if(userId.startsWith(\"U\")){\r\n getFixedUserInfo(userId, loggedinUser);\r\n }\r\n else\r\n {\r\n getUserInfo(userId, loggedinUser);\r\n }\r\n \r\n getJobsByUserId(userId, loggedinUser);\r\n getUserRatings(userId, loggedinUser);\r\n\r\n vm.searchTable = function () {\r\n vm.dtInstance.DataTable.search(vm.searchText);\r\n vm.dtInstance.DataTable.search(vm.searchText).draw();\r\n };\r\n\r\n vm.dtOptions = DTOptionsBuilder.newOptions().withDOM(\r\n '<\"html5buttons\"B>lTfgitp').withPaginationType(\r\n 'full_numbers').withOption('lengthChange', false)\r\n .withButtons(['colvis'])\r\n .withOption('stateSave', true)\r\n .withOption('stateSaveCallback', function (settings, data) {\r\n localStorage.setItem('DataTables_' + settings.sInstance, JSON.stringify(data))\r\n })\r\n .withOption('stateLoadCallback', function (settings) {\r\n var state = JSON.parse(localStorage.getItem('DataTables_' + settings.sInstance));\r\n if (state) {\r\n state.search = { search: \"\", smart: true, regex: false, caseInsensitive: true };\r\n if(state.columns && state.columns.length>0){\r\n state.columns[7].visible=false;\r\n state.columns[8].visible=false;\r\n state.columns[10].visible=false;\r\n state.columns[11].visible=false; \r\n }\r\n }\r\n return state;\r\n })\r\n .withOption('initComplete', function () {\r\n $('.dataTables_filter input').unbind();\r\n })\r\n .withOption('order', [1, 'desc']);\r\n\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(7).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(8).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(9).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(10).notSortable()\r\n ];\r\n\r\n vm.dtOptionsDocList = DTOptionsBuilder.newOptions().withDOM(\r\n '<\"html5buttons\"B>lTfgitp').withPaginationType(\r\n 'full_numbers').withOption('lengthChange', false)\r\n .withOption('initComplete', function () {\r\n $('.dataTables_filter input').unbind();\r\n })\r\n .withOption('order', []);\r\n\r\n vm.dtColumnDefsDocList = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable()\r\n ];\r\n\r\n function getFixedUserInfo(userId, loggedinUser) {debugger\r\n TeamProfileService.getFixedUserInfo(userId, loggedinUser, token).then(function (resp) {\r\n vm.customerInfo = resp.data;\r\n vm.imageServices(vm.customerInfo.Picture);\r\n vm.rating=Number(vm.customerInfo.CustomerRating).toFixed(1);\r\n //vm.preProcessUsers(vm.userInfo);\r\n }, function () {\r\n //$log.log('not working');\r\n });\r\n }\r\n\r\n\r\n function getUserInfo(userId, loggedinUser) {\r\n TeamProfileService.getUserInfo(userId, loggedinUser, token).then(function (resp) {\r\n vm.customerInfo = resp.data;\r\n\r\n vm.rating=Number(vm.customerInfo.CustomerRating).toFixed(1);\r\n // vm.AuthorizedBy = angular.copy(vm.customerInfo.AuthorizedBy);\r\n // vm.BGDocList = angular.copy(vm.customerInfo.BGVerificationDocPath);\r\n // vm.TrainingAssessment = angular.copy(vm.customerInfo.TrainingAssessment);\r\n // for(var i=0; i= 0 || url.indexOf(\".jpeg\") >= 0 || url.indexOf(\".png\") >= 0 || url.indexOf(\".bmp\") >= 0) {\r\n return \"image\";\r\n } else if (url.indexOf(\".pdf\") >= 0) {\r\n return \"pdf\";\r\n } else if (url.indexOf(\".doc\") >= 0 || url.indexOf(\".docx\") >= 0) {\r\n return \"doc\";\r\n } else {\r\n return \"others\";\r\n }\r\n }\r\n\r\n $scope.uploadBGFile = function (elem) {\r\n\r\n var index = (angular.element(elem).attr(\"data-index\"));\r\n var doc = vm.BGDocList[index];\r\n vm.error[doc.DocumentType] = null;\r\n\r\n var file = elem.files[0];\r\n if (file.type == \"application/pdf\" || file.type == \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"\r\n || file.type == \"application/msword\" || file.type.indexOf(\"image/jpg\") >= 0 || file.type.indexOf(\"image/png\") >= 0\r\n || file.type.indexOf(\"image/bmp\") >= 0 || file.type.indexOf(\"image/jpeg\") >= 0) {\r\n\r\n var data = new FormData();\r\n data.append(\"files\", file);\r\n TeamProfileService.uploadProfilePic(loggedinUser, data, token, function (res) {\r\n if (res && res.status == 201 && res.data) {\r\n doc.DocumentPath = doc.DocumentPath1 = res.data;\r\n doc.DocumentName = doc.DocumentName1;\r\n doc.edit = false;\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to upload profile pic, server error\");\r\n });\r\n } else {\r\n vm.error[doc.DocumentType] = \"You can upload image, pdf or word document only\";\r\n }\r\n }\r\n\r\n vm.prepareUserData = function(){\r\n\r\n var finalModel = {\r\n \"FirstName\": vm.customerInfo.FirstName,\r\n \"LastName\": vm.customerInfo.LastName,\r\n \"DOB\": vm.customerInfo.DOB,\r\n \"EmailId\": vm.customerInfo.PersonalEmail,\r\n \"MobileNumber\": vm.customerInfo.ContactNumber,\r\n \"AddressLine1\": vm.customerInfo.PermanentAdd1,\r\n \"AddressLine2\": vm.customerInfo.PermanentAdd2,\r\n \"State\": vm.customerInfo.PermanentState,\r\n \"City\": vm.customerInfo.PermanentCity,\r\n \"PINCode\": vm.customerInfo.PermanentPinCode,\r\n \"ReferralUniqueKey\": \"string\",\r\n \"Gender\": vm.customerInfo.Gender,\r\n \"Picture\": vm.customerInfo.Picture,\r\n \"CurrentAdd1\": vm.customerInfo.CurrentAdd1,\r\n \"CurrentAdd2\": vm.customerInfo.CurrentAdd2,\r\n \"CurrentCity\": vm.customerInfo.CurrentCity,\r\n \"CurrentPinCode\": vm.customerInfo.CurrentPinCode,\r\n \"CurrentState\": vm.customerInfo.CurrentState,\r\n \"SkillSet\": vm.customerInfo.SkillSet,\r\n \"FatherName\": vm.customerInfo.FatherName,\r\n \"AlternateNumber\": vm.customerInfo.AlternativeContactNumber,\r\n \"TrainingAssessment\": vm.TrainingList,\r\n \"BGVerificationDocPath\": vm.BGDocList,\r\n \"PAN\": vm.customerInfo.PAN,\r\n \"AdharNo\": vm.customerInfo.AdharNo,\r\n \"IsMobileAvailable\": vm.customerInfo.IsMobileAvailable,\r\n \"IsLaptopAvailable\": vm.customerInfo.IsLaptopAvailable,\r\n \"IsBikeAvailable\": vm.customerInfo.IsBikeAvailable,\r\n \"Tools\": vm.customerInfo.Tools,\r\n \"CompanyName\": vm.customerInfo.CompanyName\r\n }\r\n\r\n // var data = {\r\n // \"UserId\": vm.customerInfo.UserId,\r\n // \"Password\": vm.customerInfo.Password,\r\n // \"FirstName\": vm.customerInfo.FirstName,\r\n // \"LastName\": vm.customerInfo.LastName,\r\n // \"Gender\": vm.customerInfo.Gender,\r\n // \"DOB\": vm.customerInfo.DOB,\r\n // \"FatherName\": vm.customerInfo.FatherName,\r\n // \"PersonalEmail\": \"abcd@gmail.com\",\r\n // \"ContactNumber\": vm.customerInfo.ContactNumber,\r\n // \"AlternativeContactNumber\": vm.customerInfo.AlternativeContactNumber,\r\n // \"CompanyName\": vm.customerInfo.CompanyName,\r\n // \"Locations\": vm.customerInfo.Locations,\r\n // \"ReportingTo\": vm.customerInfo.ReportingTo,\r\n // \"Role\": vm.customerInfo.Role,\r\n // \"PermanentAdd1\": vm.customerInfo.PermanentAdd1,\r\n // \"PermanentAdd2\": vm.customerInfo.PermanentAdd2,\r\n // \"PermanentState\": vm.customerInfo.PermanentState,\r\n // \"PermanentCity\": vm.customerInfo.PermanentCity,\r\n // \"PermanentPincode\": vm.customerInfo.PermanentPinCode,\r\n // \"CurrentAdd1\": vm.customerInfo.CurrentAdd1,\r\n // \"CurrentAdd2\": vm.customerInfo.CurrentAdd2,\r\n // \"CurrentState\": vm.customerInfo.CurrentState,\r\n // \"CurrentCity\": vm.customerInfo.CurrentCity,\r\n // \"CurrentPincode\": vm.customerInfo.CurrentPinCode,\r\n // \"DateOfJoin\": vm.customerInfo.DateOfJoin,\r\n // \"TokenId\": vm.customerInfo.TokenId,\r\n // \"DeviceOS\": vm.customerInfo.DeviceOS,\r\n // \"Expertise\": vm.customerInfo.Expertise,\r\n // \"Picture\": vm.customerInfo.Picture\r\n // };\r\n\r\n // var locs = \"\";\r\n // angular.forEach(vm.customerInfo.Locations, function(l){\r\n // locs += l +\",\";\r\n // })\r\n // locs = locs.length>0?locs.substring(0, locs.length-1):\"\";\r\n // data.Locations = locs;\r\n\r\n // var skillsets = \"\";\r\n // angular.forEach(vm.customerInfo.SkillSet, function(l){\r\n // skillsets += l +\",\";\r\n // })\r\n // skillsets = skillsets.length>0?skillsets.substring(0, skillsets.length-1):\"\";\r\n // data.SkillSet = skillsets;\r\n\r\n return finalModel;\r\n } \r\n\r\n vm.saveBasicInteraction = function () {\r\n $log.log(\"userData\", vm.userData);\r\n \r\n }\r\n\r\n vm.saveTrainingAssessment = function () {\r\n var data = vm.prepareUserData(); \r\n TeamProfileService.save(loggedinUser, token, data, function(res){\r\n $log.log(res);\r\n if(res && res.status==202){\r\n vm.showSuccess(\"Success\", \"Training assessment saved.\");\r\n } else if(res && res.data && res.data.Message){\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to save user profile, server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.saveBGDocs = function () {\r\n \r\n var data = vm.prepareUserData(); \r\n TeamProfileService.save(loggedinUser, token, data, function(res){\r\n $log.log(res);\r\n if(res && res.status==202){\r\n vm.showSuccess(\"Success\", \"Background verification documents saved.\");\r\n } else if(res && res.data && res.data.Message){\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to save user profile, server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n // TeamProfileService.save(vm.userData, vm.saveCallback, vm.showFailure);\r\n }\r\n\r\n // vm.AddAuthorizedBy = function () {\r\n // vm.AuthorizedBy.push({});\r\n // }\r\n\r\n // vm.AddQualification = function () {\r\n // vm.customerInfo.QualificationList.push({});\r\n // }\r\n\r\n // vm.AddSkill = function () {\r\n // vm.customerInfo.SkillList.push({});\r\n // }\r\n\r\n // vm.AddTraining = function () {\r\n // vm.customerInfo.TrainingList.push({});\r\n // }\r\n\r\n // vm.RemoveAuthorizedBy = function (i) {\r\n // vm.AuthorizedBy.splice(i, 1);\r\n // }\r\n\r\n // vm.RemoveQualification = function (i) {\r\n // vm.customerInfo.QualificationList.splice(i, 1);\r\n // }\r\n\r\n // vm.RemoveSkill = function (i) {\r\n // vm.customerInfo.SkillList.splice(i, 1);\r\n // }\r\n\r\n // vm.RemoveTraining = function (i) {\r\n // vm.customerInfo.TrainingList.splice(i, 1);\r\n // }\r\n\r\n vm.getAllCertificate = function(){\r\n OnBoardingFormService.GetAllCertificate(loggedinUser,token,function(data){\r\n vm.AllCertificateSets = data;\r\n },vm.showFailure);\r\n }\r\n vm.getAllCertificate();\r\n\r\n vm.addMoreTCertificate = function(){\r\n var CertificateIssueDate = $filter('date')(new Date(vm.CertificateIssueDate),'yyyy-MM-dd');\r\n var CertificateExpiryDate = $filter('date')(new Date(vm.CertificateExpiryDate),'yyyy-MM-dd');\r\n if(CertificateIssueDate >= CertificateExpiryDate ){\r\n vm.showFailure(\"Expiry date should be greater than Issue Date\");\r\n vm.showTCList = false;\r\n vm.pathtcertificate = '';\r\n vm.addTraningCertificateName = '';\r\n vm.CertificateNo = '';\r\n vm.CertificateIssueDate = moment();\r\n vm.CertificateExpiryDate = moment();\r\n }else{\r\n var tData = {\r\n CertificateName: vm.addTraningCertificateName,\r\n TrainingCertificate: vm.pathtcertificate,\r\n CertificateNo : vm.CertificateNo,\r\n CertificateIssueDate: CertificateIssueDate,\r\n CertificateExpiryDate: CertificateExpiryDate,\r\n CertificationYear: '',\r\n AssessmentLevel: '',\r\n Description : '',\r\n }\r\n \r\n if(tData.CertificateName && tData.TrainingCertificate && tData.CertificateIssueDate && tData.CertificateExpiryDate){\r\n vm.TrainingList.push(tData);\r\n vm.showTCList = false;\r\n vm.addTraningCertificateName = '';\r\n vm.CertificateNo = '';\r\n vm.CertificateIssueDate = moment();\r\n vm.CertificateExpiryDate = moment();\r\n vm.pathtcertificate = '';\r\n }else{\r\n vm.showTCList = false;\r\n vm.pathtcertificate = '';\r\n vm.addTraningCertificateName = '';\r\n vm.CertificateNo = '';\r\n vm.CertificateIssueDate = moment();\r\n vm.CertificateExpiryDate = moment();\r\n vm.showFailure(\"Warning\", \"You must select Certificate Name,CertificateIssueDate,CertificateExpiryDate & Upload File \");\r\n }\r\n }\r\n }\r\n\r\n vm.removeCurrentCertificate = function () {\r\n vm.showTCList = false;\r\n vm.addTraningCertificateName = '';\r\n vm.pathtcertificate = '';\r\n vm.CertificateNo = '';\r\n vm.CertificateIssueDate = moment();\r\n vm.CertificateExpiryDate = moment();\r\n }\r\n\r\n vm.showTCList = false;\r\n vm.addMoreCertificateInTable = function(){\r\n vm.showTCList = true;\r\n vm.tempCertificateAdd = true;\r\n }\r\n\r\n vm.tempCertificateAdd = false;\r\n vm.getCertificateSets = function () {\r\n var RemoveCertificate = [];\r\n var remainingCertificate = Array.from(vm.AllCertificateSets);\r\n angular.forEach(remainingCertificate, function (d) {\r\n for (var i = 0; i < vm.TrainingList.length; i++) {\r\n if (d.Name == vm.TrainingList[i].CertificateName) {\r\n RemoveCertificate.push(d);\r\n return;\r\n }\r\n }\r\n });\r\n angular.forEach(RemoveCertificate, function (s) {\r\n remainingCertificate.splice(remainingCertificate.indexOf(s), 1);\r\n })\r\n return remainingCertificate;\r\n }\r\n\r\n $scope.uploadCertificateFile = function (elem) {\r\n var index = (angular.element(elem).attr(\"data-index\"));\r\n // var doc = vm.BGDocList[index];\r\n var traning = vm.TrainingList[index];\r\n // vm.error[traning.CertificateName] = '';\r\n var file = elem.files[0];\r\n if (file.type == \"application/pdf\" || file.type == \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"\r\n || file.type == \"application/msword\" || file.type.indexOf(\"image/jpg\") >= 0 || file.type.indexOf(\"image/png\") >= 0\r\n || file.type.indexOf(\"image/bmp\") >= 0 || file.type.indexOf(\"image/jpeg\") >= 0) {\r\n var data = new FormData();\r\n data.append(\"files\", file);\r\n OnBoardingFormService.uploadProfilePic(loggedinUser, data, token, function (res) {\r\n if (res && res.status == 201 && res.data) {\r\n vm.pathtcertificate = res.data;\r\n if(vm.pathtcertificate){\r\n vm.tempCertificateAdd = false;\r\n }\r\n traning.TrainingCertificate = traning.TrainingCertificate = res.data;\r\n traning.CertificateName = traning.CertificateName;\r\n traning.edit = false;\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to upload profile pic, server error\");\r\n });\r\n } else {\r\n vm.error[traning.CertificateName] = \"You can upload image, pdf or word document only\";\r\n }\r\n }\r\n \r\n\r\n }\r\n});\r\n\nangular.module('inspinia').service('TeamFormCreationService', function (ApiURL, AcessoriesURL,LocationURL,PublicApiURL, $log, $http,$localStorage) {\r\n var url = ApiURL + '/api/User';\r\n\r\n //state api https://product.mymobiforce.com/publicapi/api/Location/GetAllStates?userId=F00000000000&country=INDIA\r\n this.getState = function (loggedInUserId,token,region) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url, {\r\n headers: { \r\n 'Content-Type': 'application/json',\r\n 'Token':token , \r\n 'UserId':loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetTicketStatusForTerritory = function (loggedInUser, token) {\r\n var url = ApiURL + '/api/TerritoryMappingUser/GetTicketStatusForTerritory';\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n \r\n \r\n this.CreateUser = function (userFormData, loggedinUser, token) {\r\n var url = ApiURL + '/api/User?reqUserId='+loggedinUser;\r\n return $http.post(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token, 'UserId':loggedinUser \r\n }\r\n });\r\n }\r\n\r\n this.getAllRole = function (token) {\r\n var url = ApiURL + '/api/role';\r\n return $http.get(url, {\r\n 'Token': token, 'UserId':loggedinUser\r\n });\r\n }\r\n //https://test.mymobiforce.com/publicapi/api/Location/GetRegion?userId=U370000000001\r\n this.GetRegion = function(loggedInUserId, token){\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId':loggedInUserId}\r\n })\r\n }\r\n this.GetTelecomCircle = function(loggedInUserId, token){\r\n var url = PublicApiURL + '/api/Location/GetTelecomCircles?userId='+ loggedInUserId;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId':loggedInUserId}\r\n })\r\n }\r\n\r\n //https://test.mymobiforce.com/publicapi/api/Location/GetSubRegion?userId=U370000000001®ion=North\r\n this.GetSubRegion = function(loggedInUserId, token, region){\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+region;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId':loggedInUserId}\r\n })\r\n }\r\n\r\n this.GetCityBySubRegion = function(loggedInUserId, subRegion, token){\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+subRegion;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId':loggedInUserId}\r\n })\r\n }\r\n\r\n this.GetAllProductNames = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/SkillSets/GetAllProductNames';\r\n return $http.get(url, {headers:{'Token': token, 'UserId':loggedinUser}});\r\n }\r\n\r\n this.GetAllSkillsForProduct = function (ProductName,loggedinUser, token) {\r\n var url = ApiURL + '/api/SkillSets/GetAllSkillsForProduct?ProductName=' + ProductName;\r\n return $http.get(url, {headers:{'Token': token, 'UserId':loggedinUser}});\r\n }\r\n\r\n\r\n this.getAllSkills = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url, {headers:{'Token': token, 'UserId':loggedinUser}});\r\n }\r\n\r\nthis.getCountry = function (loggedinUser, token) {\r\n var url = PublicApiURL + '/api/Address/GetCountry?userId=' + loggedinUser;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n } \r\n});\r\n}\r\n\r\nthis.getAllState = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n } \r\n});\r\n}\r\n\r\nthis.getCities = function (loggedinUser,state,token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+state;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n } \r\n});\r\n}\r\n\r\n this.getAllCity = function (loggedinUser,state, token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+state;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n } \r\n });\r\n }\r\n\r\n this.getAllPincode = function (city) {\r\n var url = LocationURL+'/api/Location/'+$localStorage.loggedinUser+'/'+city+'/GetPincodesByCity';\r\n return $http.get(url, {\r\n params: {}\r\n });\r\n }\r\n\r\n //http://localhost:56749/api/User/Project%20Manager/GetReportingToUserByRole?reqUserId=saurabhgupta3371%40gmail.com\r\n\r\n this.GetReportingToUser = function(role, loggedinUser, token){\r\n var url = ApiURL + '/api/User/' + role + '/GetReportingToUserByRole?reqUserId=' + loggedinUser\r\n return $http.get(url,{\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token, 'UserId':loggedinUser }\r\n })\r\n }\r\n\r\n // this.validateAllPincode = function (pin) {\r\n // var url = 'https://www.whizapi.com/api/v2/util/ui/in/indian-city-by-postal-code?project-app-key=pso222ywjvx996b93gd8wpp6&pin='+pin;\r\n // return $http.get(url, {\r\n // params: {}\r\n // });\r\n // }\r\n\r\n this.getAllReportingTo = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/User';\r\n return $http.get(url, {\r\n params: {userid: loggedinUser},\r\n headers: {'Token':token, 'UserId':loggedinUser }\r\n })\r\n }\r\n\r\n this.getUserData = function (userid, token) {\r\n return $http.get(url, {\r\n params: {UserId:userid},\r\n headers: {'Token':token, 'UserId':loggedinUser }\r\n });\r\n }\r\n\r\n this.updateUser = function (userFormData,loggedinUser, token) {\r\n var url = ApiURL + '/api/User/UpdateTeamUserDetails';\r\n return $http.put(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token, 'UserId':loggedinUser}\r\n });\r\n }\r\n //http://192.168.0.80:92/CoreAPI/api/Role/ByReqUserId?reqUserId=kanika.bansal%40innotiontech.com\r\n\r\n this.getAllRoleByUserId = function (userId, token) {\r\n var url = ApiURL + '/api/Role/ByReqUserId?reqUserId='+userId;\r\n return $http.get(url,{\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':userId}\r\n \r\n });\r\n }\r\n\r\n this.uploadProfilePic = function(loggedinUser, data, token, success, failure){\r\n $http.post(ApiURL + '/api/UploadImage', data, { \r\n headers: {\r\n 'Content-Type': undefined, 'Token': token, 'UserId':loggedinUser\r\n }\r\n }).then(success, failure);\r\n }\r\n \r\nthis.getAllAccounts = function (loggedInUserId,token) { \r\n var url = ApiURL+ '/api/account/GetAllAccountsMiniModel';\r\n return $http.get(url, {\r\n headers: { \r\n 'Content-Type': 'application/json',\r\n 'Token':token , \r\n 'UserId':loggedInUserId\r\n \r\n }\r\n });\r\n}\r\n\r\n//Accounts API\r\nthis.getAllAccountsConfigured = function (loggedinUser,token) { \r\n var url = ApiURL+ '/api/CentralHelpDesk/GetAllAccountHDConfig';\r\n return $http.get(url, {\r\n headers: { \r\n 'Content-Type': 'application/json',\r\n 'Token':token , \r\n 'UserId':loggedinUser\r\n \r\n }\r\n });\r\n}\r\n\r\n\r\n//https://product.mymobiforce.com/coreAPI/api/User/GetTeamUserDetails?UserId=U00000000413\r\nthis.getFixedUserInfo = function (userId,loggedInUser, token) {\r\n var url = ApiURL + '/api/User/GetTeamUserDetails?UserId='+ userId ;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n}\r\n\r\n// http://localhost:56749/api/TerritoryMappingUser/GetStateByAccountIdAndRole?AccountId=114&Role=Administrator\r\nthis.getTerritoryStates = function (loggedInUser, token,AccountId,Role) {\r\n var url = ApiURL + '/api/TerritoryMappingUser/GetStateByAccountIdAndRole?AccountId='+ AccountId+ '&Role='+ Role;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n}\r\n\r\n//http://localhost:56749/api/TerritoryMappingUser/GetCityByAccountIdAndStateAndRole?AccountId=144&State=Uttar%20Pradesh&Role=Administrator\r\nthis.getTerritoryCity = function (loggedInUser, token,AccountId,state,Role) {\r\n var url = ApiURL + '/api/TerritoryMappingUser/GetCityByAccountIdAndStateAndRole?AccountId='+ AccountId+'&State='+state+'&Role='+ Role;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n}\r\n\r\n//https://upgrad.mymobiforce.com/coreapi/api/TerritoryMappingUser/GetPincodeByStateAndCityAndAccountIdAndRole?AccountId=144&State=Uttar%20Pradesh&City=Noida&Role=Administrator\r\nthis.getTerritoryPincodes = function (loggedInUser, token,AccountId,state,City,Role) {\r\n var url = ApiURL + '/api/TerritoryMappingUser/GetPincodeByStateAndCityAndAccountIdAndRole?AccountId='+ AccountId+'&State='+state+'&City='+City+'&Role='+ Role;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n}\r\n \r\nthis.GetAllNotAllocatedWareHouse = function (loggedInUser, token) {\r\n var url = AcessoriesURL + '/api/WareHouse/GetAllNotAllocatedWareHouse';\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n}\r\nthis.GetItemBrandName = function (token) {\r\n var url = AcessoriesURL + '/api/MMFMasterInventory/GetItemBrandName';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\n});\r\n\nangular.module('inspinia').controller('TeamFormCreationController', function (ProjectCreationService,ReferService, MainService, $state, $scope, $timeout, $stateParams, $filter, $log, $localStorage, TeamFormCreationService, TeamProfileService, toaster, $q, ImageUrl) {\r\n var vm = this;\r\n vm.isDisabled = false;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n var accountConfig = $localStorage.accountConfig;\r\n vm.accountId = $localStorage.accountConfig.AccountId;\r\n if ($localStorage.accountConfig) {\r\n if ($localStorage.accountConfig) {\r\n vm.EnableRegion = $localStorage.accountConfig.EnableRegion;\r\n }\r\n }else{\r\n vm.EnableRegion = false;\r\n }\r\n\r\n if (!loggedinUser) {\r\n\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n\r\n vm.loggedinUserRole = $localStorage.loggedInUser_Role;\r\n\r\n //$log.log('Role=',vm.loggedinUserRole);\r\n angular.element(document).ready(function () {\r\n angular.element('ul[side-navigation]').find('a[ui-sref=\"index.TeamMember\"]').parent().prop('class', 'active');\r\n // angular.element(\".chosen-select\").chosen();\r\n });\r\n\r\n ///Global variables goign to use for seeting page defaults.\r\n\r\n var userId_ForUpdate = $stateParams.userId;\r\n vm.saveAndNewFlag = false;\r\n vm.editMode = false;\r\n vm.address_option = 'Yes';\r\n vm.officeFormValidation = false;\r\n vm.isCollapsed = false;\r\n vm.isUserDetailCollapsed = false;\r\n vm.isOfficeUseCollapsed = true;\r\n vm.Role = '';\r\n vm.specialist = \"No\";\r\n vm.ReportingTo = '';\r\n vm.warehouseToBeAllocated = '';\r\n vm.AadhaarNumber = '';\r\n vm.Rating = '';\r\n vm.ExperienceInYears = '';\r\n vm.SubCity='';\r\n vm.allStates = [];\r\n //page binding models using\r\n vm.username = '';\r\n vm.gender = '';\r\n vm.email = '';\r\n vm.phone_number = '';\r\n vm.last_name = '';\r\n vm.birth_date = moment();\r\n vm.father_name = '';\r\n vm.alternate_number = '';\r\n vm.workArea = '';\r\n vm.AccountName = '';\r\n vm.company = '';\r\n vm.permanent_address_line1 = '';\r\n vm.permanent_state = '';\r\n vm.permanent_pincode = '';\r\n vm.permanent_address_line2 = '';\r\n vm.permanent_city = '';\r\n vm.present_address_line1 = '';\r\n vm.present_address_line2 = '';\r\n vm.present_state = '';\r\n vm.present_city = '';\r\n vm.present_pincode = '';\r\n vm.skill = '';\r\n vm.companyname = '';\r\n vm.brand = '';\r\n vm.expertise = '';\r\n vm.reportinToList = '';\r\n vm.workAreas = [];\r\n vm.CHDAccounts = [];\r\n vm.RemainingCHDAccounts = [];\r\n vm.SelectedAccount={};\r\n vm.showAction = true;\r\n // vm.multiPincode = []\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n vm.LocationMapping = vm.getAccountConfigSetting('LocationMapping');\r\n console.log('vertical',vm.VerticalName);\r\n vm.MainRegion = '';\r\n vm.SubRegion = '';\r\n var today = new Date();\r\n var date = today.getFullYear() - 18;\r\n var age = (today.getMonth() + 1 + \"/\" + today.getDate() + \"/\" + date).toString();\r\n\r\n vm.maxDOB = new Date(age);\r\n vm.maxDOBStr = vm.maxDOB.toDateString();\r\n age = Date.parse(age);\r\n $scope.MaxDate = moment(age);\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.showEditList = false;\r\n vm.showEditLists = false;\r\n vm.isShow=true;\r\n \r\n getAllRole();\r\n\r\n function getAllRole() {\r\n TeamFormCreationService.getAllRoleByUserId(loggedinUser, token).then(function (resp) {\r\n if(resp.status == 200){\r\n if(resp.data && resp.data.length>0){\r\n vm.RolesList = resp.data;\r\n }\r\n }\r\n })\r\n }\r\n var brandArray = [];\r\n vm.GetItemBrandName = function () {\r\n TeamFormCreationService.GetItemBrandName(token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.BrandList = resp.data;\r\n for (var index = 0; index < vm.BrandList.length; index++) {\r\n brandArray.push({\r\n brand: vm.BrandList[index] // Correct reference\r\n });\r\n }\r\n }\r\n });\r\n };\r\n vm.GetItemBrandName();\r\n vm.checkMaxDOB = function () {\r\n if (vm.birth_date && !vm.birth_date._isAMomentObject) {\r\n var splittedDOB = vm.birth_date.split(\"/\");\r\n vm.birth_date = moment(new Date((splittedDOB[1] + \"/\" + splittedDOB[0] + \"/\" + splittedDOB[2]).toString()));\r\n }\r\n\r\n return (vm.maxDOB - vm.birth_date) < 0;\r\n }\r\n\r\n vm.GetReportingToUser = function (role) {\r\n vm.reportinToList=\"\";\r\n TeamFormCreationService.GetReportingToUser(role, loggedinUser, token).then(function (resp) {\r\n if(resp.status == 200){\r\n if(resp.data && resp.data.length>0){\r\n vm.reportinToList = resp.data;\r\n }\r\n }\r\n })\r\n }\r\n\r\n\r\n vm.removeAddmoreEditList = function () { \r\n vm.showEditList = false;\r\n vm.showAction = true;\r\n}\r\n \r\n // vm.selectedCountry = null;\r\n vm.countrylist = [\"INDIA\"];\r\n vm.selectedCountry = \"INDIA\";\r\n //get country of user\r\n\r\n // vm.getCountry = function () {\r\n // TeamFormCreationService.getCountry(loggedinUser, token).then(function (resp) {\r\n // if(resp.status == 200){\r\n // // if(resp.data && resp.data.values.length>0){\r\n // vm.countrylist = [\"INDIA\"];\r\n // vm.selectedCountry = \"INDIA\";\r\n \r\n // //getAllCircles(loggedinUser);\r\n // // }\r\n // } \r\n // })\r\n // }\r\n\r\n\r\n vm.getAllState = function () {\r\n TeamFormCreationService.getAllState(loggedinUser, token).then(function (resp) {\r\n if(resp.status == 200){\r\n if(resp.data && resp.data.length>0){\r\n vm.stateList = resp.data;\r\n if ($state.current.name == 'index.TeamEdit') {\r\n vm.teamEditMode = $state.current.name;\r\n vm.editMode = true;\r\n \r\n if(userId_ForUpdate.startsWith(\"U\") || userId_ForUpdate.startsWith(\"F\")){\r\n TeamFormCreationService.getFixedUserInfo(userId_ForUpdate, loggedinUser, token).then(function (resp) {\r\n var userData = resp.data;\r\n vm.AccountName = userData.ServiceAccountIds;\r\n vm.username = userData.FirstName;\r\n vm.gender = userData.Gender;\r\n vm.email = userData.PersonalEmail;\r\n vm.phone_number = parseInt(userData.ContactNumber);\r\n vm.last_name = userData.LastName;\r\n vm.birth_date = moment(userData.DOB);\r\n vm.father_name = userData.FatherName;\r\n if(userData.AlternativeContactNumber){\r\n vm.alternate_number = parseInt(userData.AlternativeContactNumber);\r\n } \r\n vm.specialist = userData.Specialist; \r\n vm.workArea = userData.Locations;\r\n //vm.company = userData.CompanyName;\r\n vm.userId = userData.UserId;\r\n vm.permanent_address_line1 = userData.PermanentAdd1;\r\n vm.permanent_address_line2 = userData.PermanentAdd2;\r\n vm.permanent_city = userData.PermanentCity.toUpperCase();\r\n vm.permanent_state = userData.PermanentState;\r\n vm.permanent_pincode = userData.PermanentPinCode;\r\n vm.present_address_line1 = userData.CurrentAdd1;\r\n vm.present_address_line2 = userData.CurrentAdd2;\r\n vm.present_city = userData.CurrentCity.toUpperCase();\r\n vm.present_state = userData.CurrentState;\r\n vm.present_pincode = userData.CurrentPinCode;\r\n vm.skill = userData.SkillSet;\r\n vm.selectedSkills = userData.SkillSet;\r\n vm.productSkills = userData.SkillSet;\r\n vm.expertise = userData.Expertise;\r\n vm.Role = userData.Role;\r\n vm.brand = userData.BrandNameList ;\r\n vm.companyname = userData.CompanyName;\r\n vm.GetReportingToUser(vm.Role);\r\n vm.ReportingTo = userData.ReportingTo;\r\n vm.workAreas = userData.TerritoryConfigurations;\r\n // vm.profilePic = userData.Picture;\r\n vm.imageServices(userData.Picture);\r\n if (vm.EnableRegion) {\r\n vm.MainRegion = userData.Region;\r\n \r\n //GetSubRegionList\r\n vm.selectSubRegion(vm.MainRegion);\r\n vm.Region = userData.SubRegion;\r\n vm.selectCitySubRegion(vm.Region);\r\n vm.SubCity = userData.Locations;\r\n }else{\r\n vm.workArea = userData.Locations;\r\n }\r\n \r\n //Get Id of state by its name \r\n for (var i = 0; i < vm.stateList.length; i++) {\r\n if (vm.stateList[i] == vm.permanent_state) {\r\n vm.permanent_state = vm.stateList[i];\r\n vm.selectState(vm.permanent_state);\r\n }\r\n if (vm.stateList[i] == vm.present_state) {\r\n vm.present_state = vm.stateList[i];\r\n vm.selectStateforPresent(vm.present_state);\r\n }\r\n }\r\n \r\n ///Get the workArea badges in edit mode \r\n var circleArray = [];\r\n if(vm.workArea){\r\n for (var pin = 0; pin < vm.workArea.length; pin++) {\r\n circleArray.push({\r\n workArea: vm.workArea\r\n });\r\n }\r\n }\r\n \r\n \r\n ///Check Present address is same as the Permanent Address.\r\n if ((vm.permanent_address_line1 == vm.present_address_line1) && (vm.permanent_address_line2 == vm.present_address_line2) && (vm.permanent_city == vm.present_city) &&\r\n (vm.permanent_state == vm.present_state) && (vm.permanent_pincode == vm.present_pincode)) {\r\n vm.address_option = 'Yes';\r\n } else {\r\n vm.address_option = 'No';\r\n }\r\n }, function () {\r\n \r\n });\r\n }\r\n else\r\n {\r\n TeamProfileService.getUserInfo(userId_ForUpdate, loggedinUser, token).then(function (resp) {\r\n var userData = resp.data;\r\n vm.username = userData.FirstName;\r\n vm.gender = userData.Gender;\r\n vm.email = userData.PersonalEmail;\r\n vm.phone_number = parseInt(userData.ContactNumber);\r\n vm.last_name = userData.LastName;\r\n vm.birth_date = moment(userData.DOB);\r\n vm.father_name = userData.FatherName;\r\n vm.alternate_number = parseInt(userData.AlternativeContactNumber);\r\n vm.specialist = userData.Specialist; \r\n //vm.workArea = userData.Locations;\r\n vm.warehouseToBeAllocated = userData.WareHouseId; \r\n vm.AadhaarNumber = userData.AadharNumber;\r\n vm.Rating = userData.Rating;\r\n vm.ExperienceInYears = userData.ExperienceInYears;\r\n vm.company = userData.CompanyName;\r\n vm.userId = userData.UserId;\r\n vm.permanent_address_line1 = userData.PermanentAdd1;\r\n vm.permanent_address_line2 = userData.PermanentAdd2;\r\n vm.permanent_city = userData.PermanentCity.toUpperCase();\r\n vm.permanent_state = userData.PermanentState;\r\n vm.permanent_pincode = userData.PermanentPinCode;\r\n vm.present_address_line1 = userData.CurrentAdd1;\r\n vm.present_address_line2 = userData.CurrentAdd2;\r\n vm.present_city = userData.CurrentCity.toUpperCase();\r\n vm.present_state = userData.CurrentState;\r\n vm.present_pincode = userData.CurrentPinCode;\r\n vm.skill = userData.SkillSet;\r\n vm.selectedSkills = userData.SkillSet;\r\n vm.productSkills = userData.SkillSet;\r\n vm.expertise = userData.Expertise;\r\n vm.brand = userData.BrandNameList ;\r\n vm.companyname = userData.CompanyName;\r\n vm.Role = userData.Role;\r\n vm.GetReportingToUser(vm.Role);\r\n vm.ReportingTo = userData.ReportingTo;\r\n vm.profilePic = userData.Picture;\r\n if (vm.EnableRegion) {\r\n vm.MainRegion = userData.Region;\r\n \r\n //GetSubRegionList\r\n vm.selectSubRegion(vm.MainRegion);\r\n vm.Region = userData.SubRegion;\r\n vm.selectCitySubRegion(vm.Region);\r\n vm.SubCity = userData.Locations;\r\n }else{\r\n vm.workArea = userData.Locations;\r\n }\r\n \r\n //Get Id of state by its name \r\n for (var i = 0; i < vm.stateList.length; i++) {\r\n if (vm.stateList[i] == vm.permanent_state) {\r\n vm.permanent_state = vm.stateList[i];\r\n vm.selectState(vm.permanent_state);\r\n }\r\n if (vm.stateList[i] == vm.present_state) {\r\n vm.present_state = vm.stateList[i];\r\n vm.selectStateforPresent(vm.present_state);\r\n }\r\n }\r\n \r\n ///Get the workArea badges in edit mode \r\n var circleArray = [];\r\n for (var pin = 0; pin < vm.workArea.length; pin++) {\r\n circleArray.push({\r\n workArea: vm.workArea\r\n });\r\n }\r\n \r\n ///Check Present address is same as the Permanent Address.\r\n if ((vm.permanent_address_line1 == vm.present_address_line1) && (vm.permanent_address_line2 == vm.present_address_line2) && (vm.permanent_city == vm.present_city) &&\r\n (vm.permanent_state == vm.present_state) && (vm.permanent_pincode == vm.present_pincode)) {\r\n vm.address_option = 'Yes';\r\n } else {\r\n vm.address_option = 'No';\r\n }\r\n }, function () {\r\n \r\n });\r\n }\r\n \r\n\r\n\r\n }\r\n \r\n }\r\n } \r\n })\r\n \r\n }\r\n\r\n vm.getAllState();\r\n \r\n // vm.getCountry();\r\n\r\n $scope.modelOptions = {\r\n getterSetter: true\r\n };\r\n\r\n\r\n\r\n vm.getProfilePic = function(pic){\r\n return ImageUrl+\"/\"+vm.profilePic;\r\n }\r\n\r\n vm.changeFile = function(selector){\r\n angular.element(selector).trigger(\"click\");\r\n }\r\n\r\n $scope.uploadImageFile = function(files){\r\n var file = files.files[0];\r\n\r\n var rendomnumber = Math.floor(1000 + Math.random() * 9999);\r\n filename = loggedinUser+\"_ProfilePic_\" + rendomnumber +\".\"+ file.name.split(\".\")[1];\r\n var file = new File([file], filename, {type:file.type});\r\n\r\n if(file.type.indexOf(\"image/jpg\")>=0 || file.type.indexOf(\"image/png\")>=0 \r\n || file.type.indexOf(\"image/bmp\")>=0 || file.type.indexOf(\"image/jpeg\")>=0){\r\n var data = new FormData();\r\n data.append(\"files\", file);\r\n TeamFormCreationService.uploadProfilePic(loggedinUser, data, token, function(res){\r\n if(res && res.status==201 && res.data){\r\n vm.profilePic = filename;\r\n vm.imageServices(filename);\r\n }\r\n }, function(err){\r\n vm.showFailure(\"Failed\", err.data);\r\n });\r\n } else {\r\n vm.fileUploadError = \"Please upload image only as profile picture.\";\r\n }\r\n }\r\n vm.imageServices = function(img){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n }\r\n else{\r\n vm.profileImg = resp.data;\r\n }\r\n console.log(vm.profileImg);\r\n }, function() {\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n });\r\n \r\n }\r\n vm.imageServices(vm.profileImg);\r\n\r\n ///Saving User function \r\n vm.saveUser = function () {\r\n vm.isDisabled = true;\r\n if (vm.signup_form.$valid) {\r\n if (vm.address_option == 'Yes') {\r\n vm.present_address_line1 = vm.permanent_address_line1;\r\n vm.present_address_line2 = vm.permanent_address_line2;\r\n vm.present_state = vm.permanent_state;\r\n vm.present_city = vm.permanent_city;\r\n vm.present_pincode = vm.permanent_pincode;\r\n }\r\n \r\n var workArea = '';\r\n var skill = '';\r\n if((vm.loggedinUserRole != \"Dispatch Manager\") && (vm.loggedinUserRole != \"OnBoarding Manager\") && (vm.loggedinUserRole != \"Dispatch Team Lead\")&& (vm.loggedinUserRole != \"OnBoarding Team Lead\") && (vm.loggedinUserRole != \"Dispatch Supervisor\")){ \r\n workArea = vm.workArea;\r\n if(vm.Role == 'Service Center'){\r\n skill = vm.selectedSkills;\r\n }\r\n else{\r\n skill = vm.skill;\r\n }\r\n /*for (var index = 0; index < vm.workArea.length; index++) {\r\n if (index == (vm.workArea.length - 1)) {\r\n workArea = workArea + vm.workArea[index];\r\n continue;\r\n }\r\n workArea = workArea + vm.workArea[index] + ',';\r\n } \r\n for (var skillindex = 0; skillindex < vm.skill.length; skillindex++) {\r\n if (skillindex == (vm.skills.length - 1)) {\r\n skill = skill + vm.skill[skillindex];\r\n vm.selectExpertise(skill);\r\n continue;\r\n }\r\n skill = skill + vm.skill[skillindex] + ',';\r\n vm.selectExpertise(skill);\r\n }*/\r\n } \r\n if(vm.Role == 'Ware House Manager'){\r\n vm.warehouseToBeAllocated = vm.warehouseToBeAllocated;\r\n }\r\n else{\r\n vm.warehouseToBeAllocated = '';\r\n }\r\n\r\n ///model to send for creating user \r\n var userFormData = { \r\n \"UserId\": vm.userId,\r\n \"FirstName\": vm.username,\r\n \"LastName\": vm.last_name,\r\n \"Gender\": vm.gender,\r\n \"DOB\": moment(vm.birth_date, 'DD/MM/YYYY').format('YYYY-MM-DDTHH:mm:ss.SSSZ'), \r\n \"PersonalEmail\": vm.email,\r\n \"ContactNumber\": vm.phone_number,\r\n \"AlternativeContactNumber\": vm.alternate_number,\r\n // \"CompanyName\": vm.company,\r\n \"Locations\": workArea,\r\n \"PermanentAdd1\": vm.permanent_address_line1,\r\n \"PermanentAdd2\": vm.permanent_address_line2,\r\n \"PermanentState\": vm.permanent_state,\r\n \"PermanentCity\": vm.permanent_city,\r\n \"PermanentPincode\": vm.permanent_pincode,\r\n \"CurrentAdd1\": vm.present_address_line1,\r\n \"CurrentAdd2\": vm.present_address_line2,\r\n \"CurrentState\": vm.present_state,\r\n \"CurrentCity\": vm.present_city,\r\n \"CurrentPincode\": vm.present_pincode,\r\n \"SkillSet\": skill,\r\n \"Expertise\": vm.expertise,\r\n \"ReportingTo\": '',\r\n \"Role\": '',\r\n \"Picture\":vm.profilePic,\r\n \"TerritoryConfigurations\":vm.workAreas,\r\n \"Specialist\":vm.specialist,\r\n \"WareHouseId\":vm.warehouseToBeAllocated,\r\n \"CompanyName\":vm.companyname,\r\n \"BrandName\": vm.brand,\r\n \"AadharNumber\":vm.AadhaarNumber,\r\n \"ExperienceInYears\":vm.ExperienceInYears,\r\n \"Rating\":vm.Rating\r\n }\r\n if (vm.EnableRegion) {\r\n userFormData.Region = vm.MainRegion;\r\n \r\n var workArea = '';\r\n for (var index = 0; index < vm.SubCity.length; index++) {\r\n if (index == (vm.SubCity.length - 1)) {\r\n workArea = workArea + vm.SubCity[index];\r\n continue;\r\n }\r\n workArea = workArea + vm.SubCity[index] + ',';\r\n }\r\n userFormData.Locations = workArea;\r\n userFormData.SubRegion = vm.Region;\r\n }\r\n\r\n \r\n if (vm.loggedinUserRole == 'Administrator' || vm.loggedinUserRole == 'Project Manager' || vm.loggedinUserRole == 'Supervisor' || vm.loggedinUserRole == 'Vendor Manager' || vm.loggedinUserRole == 'Service Center'|| vm.loggedinUserRole == 'SuperAdministrator' || vm.loggedinUserRole == 'OnBoarding Manager' || vm.loggedinUserRole == 'Account Manager' || vm.loggedinUserRole == 'OnBoarding Supervisor' || vm.loggedinUserRole == 'Operation Manager' || vm.loggedinUserRole == 'Operation Supervisor' || vm.loggedinUserRole == 'Higher Management'\r\n || vm.loggedinUserRole == 'Dispatch Manager' || vm.loggedinUserRole == 'Dispatch Supervisor' || vm.loggedinUserRole == 'Dispatch Team Lead'|| vm.loggedinUserRole == 'Freelancer Dispatcher'|| vm.loggedinUserRole == 'OnBoarding Team Lead') {\r\n userFormData.ReportingTo = vm.ReportingTo;\r\n userFormData.Role = vm.Role;\r\n }\r\n // else if(vm.loggedinUserRole == 'Supervisor'){\r\n // userFormData.ReportingTo = loggedinUser;\r\n // userFormData.Role = 'Field Engineer';\r\n // }\r\n\r\n \r\n\r\n if((vm.email==null || vm.email=='') && (vm.phone_number==null || vm.phone_number=='')){\r\n vm.showFailure(\"Failed\", \"Please provide email id or mobile number\");\r\n vm.isDisabled = false;\r\n } else{\r\n // Submit as normal\r\n if (vm.editMode) {\r\n TeamFormCreationService.updateUser(userFormData, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 201) {\r\n vm.showSuccess(\"Success\", \"User Updated Successfully\");\r\n vm.isDisabled = false;\r\n $timeout(function () {\r\n $state.go('index.TeamMember', {\r\n reload: true\r\n });\r\n }, 2000);\r\n }\r\n else{\r\n vm.isDisabled = false;\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }\r\n \r\n }, function () {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"Failed\", \"Unable to update user\");\r\n })\r\n } else {\r\n\r\n userFormData.UserId = '';\r\n TeamFormCreationService.updateUser(userFormData, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 201) {\r\n if (!vm.saveAndNewFlag && vm.loggedinUserRole == 'SuperAdministrator') {\r\n $state.go('index.TeamMember', {\r\n reload: true\r\n });\r\n }\r\n else if (!vm.saveAndNewFlag) {\r\n // $state.go('index.TeamMember', {\r\n // reload: true\r\n // });\r\n\r\n $timeout(function() {\r\n $state.go('index.TeamMember', { reload: true });\r\n }, 2000);\r\n\r\n // $timeout(function () {\r\n // window.location.reload(true);\r\n // }, 3000);\r\n } else {\r\n vm.showSuccess(\"User Creation Status\", \"User created successfully\");\r\n vm.isDisabled = false;\r\n clearFormFields();\r\n }\r\n } else if (resp.data.ErrorCode == 104) {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"User Creation Status\", \"User already exist\");\r\n } else if(resp.data && resp.data.Message) {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"User Creation Status\", resp.data.Message);\r\n } else {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"User Creation Status\", \"Unable to create user, server is not responding correctly.\");\r\n }\r\n vm.isDisabled = false;\r\n }, function (error) {\r\n vm.isDisabled = false;\r\n if (error.data.ErrorCode == 104) {\r\n vm.showFailure(\"User Creation Status\", \"Unable to create user, server is not responding correctly.\");\r\n }\r\n else {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"User Creation Status\", \"Unable to create user, server is not responding correctly.\");\r\n }\r\n }\r\n );\r\n }\r\n }\r\n } else {\r\n vm.signup_form.submitted = true;\r\n vm.isDisabled = false;\r\n }\r\n }\r\n\r\n // vm.saveAndNew = function () {\r\n // vm.saveAndNewFlag = true;\r\n // vm.saveUser();\r\n // }\r\n\r\n vm.getAccounts = function () {\r\n TeamFormCreationService.getAllAccounts(loggedinUser, token).then(function (resp) { \r\n if (resp && resp.data && resp.status==200) { \r\n vm.accounts = resp.data;\r\n } \r\n }, function () { \r\n });\r\n } \r\n vm.getAccounts();\r\n\r\n function clearFormFields() {\r\n vm.username = '';\r\n vm.gender = '';\r\n vm.address = '';\r\n vm.email = '';\r\n vm.phone_number = '';\r\n vm.last_name = '';\r\n // vm.birth_date = '';\r\n vm.cores_address = '';\r\n vm.father_name = '';\r\n vm.alternate_number = '';\r\n vm.workArea = '';\r\n vm.city = '';\r\n // vm.reporting_to = '';\r\n vm.state = '';\r\n // vm.role = '';\r\n vm.skill = '';\r\n vm.selectedSkills = [];\r\n vm.expertise = '';\r\n vm.saveAndNewFlag = false;\r\n }\r\n\r\n var skillsArray = [];\r\n vm.getAllSkill = function () {\r\n TeamFormCreationService.getAllSkills(loggedinUser, token).then(function (resp) {\r\n vm.skills = resp.data; \r\n for (var index = 0; index < vm.skills.length; index++) { \r\n skillsArray.push({\r\n skill: vm.skills.SkillName\r\n });\r\n }\r\n }); \r\n }\r\n\r\n vm.selectExpertise = function (skill) {\r\n // TeamFormCreationService.getAllSkills().then(function (resp) {\r\n // vm.expertiseList = resp.data;\r\n // vm.expertiseList = [];\r\n if (!vm.skills) {\r\n var expertiseArray = [];\r\n expertiseArray.push({\r\n skill: vm.skills.SkillName\r\n });\r\n vm.expertiseList = expertiseArray;\r\n }\r\n }\r\n\r\n vm.selectedProduct = \"\";\r\n vm.selectedSkills = [];\r\n vm.ProductsList = [];\r\n\r\n vm.GetAllProductNames = function () {\r\n TeamFormCreationService.GetAllProductNames(loggedinUser, token).then(function (resp) {\r\n vm.ProductsList = resp.data;\r\n }); \r\n }\r\n\r\n vm.GetAllProductNames();\r\n\r\n vm.GetAllSkillsForProduct = function () {\r\n if (vm.selectedProduct) {\r\n TeamFormCreationService.GetAllSkillsForProduct(vm.selectedProduct, loggedinUser, token).then(function (resp) {\r\n vm.productSkills = resp.data;\r\n \r\n // Merge selected skills with the new product skills\r\n var allSkills = vm.productSkills.concat(vm.selectedSkills.filter(function(skill) {\r\n return !vm.productSkills.includes(skill);\r\n }));\r\n\r\n vm.productSkills = allSkills;\r\n })\r\n } else {\r\n vm.productSkills = [];\r\n } \r\n }\r\n\r\n ///get all the circles through api\r\n function getAllCircles() {\r\n vm.circles = [];\r\n vm.CircleList=[];\r\n vm.MainRegionList = '';\r\n if (vm.EnableRegion) {\r\n TeamFormCreationService.GetRegion(loggedinUser,token).then(function(resp){\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length>0) {\r\n vm.MainRegionList = resp.data;\r\n $log.log('RegionList',vm.RegionList)\r\n }\r\n }\r\n })\r\n }else if (vm.LocationMapping == 'Circle') {\r\n TeamFormCreationService.GetTelecomCircle(loggedinUser,token).then(function(resp){\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.values.length>0) {\r\n vm.CircleList = resp.data.values;\r\n \r\n }\r\n }\r\n })\r\n }else{\r\n\r\n TeamFormCreationService.getAllState(loggedinUser, token).then(function(resp){\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length>0) {\r\n vm.circles = resp.data;\r\n }\r\n }\r\n });\r\n }\r\n \r\n }\r\n\r\n ///Executes when the user select the state\r\n vm.selectState = function (state) {\r\n var Getstate = state;\r\n TeamFormCreationService.getCities(loggedinUser,Getstate,token).then(function (resp) {\r\n vm.cityList = resp.data;\r\n if (!resp.data) {\r\n var cityArray = [];\r\n cityArray.push({\r\n city: state\r\n });\r\n vm.cityList = cityArray;\r\n }\r\n }, function () {\r\n\r\n });\r\n }\r\n \r\n vm.selectSubRegion = function(region){\r\n \r\n TeamFormCreationService.GetSubRegion(loggedinUser,token,region).then(function(resp){\r\n if (resp.status==200) {\r\n if (resp.data && resp.data.length>0) {\r\n vm.SubRegionList = resp.data;\r\n }\r\n }\r\n })\r\n }\r\n vm.selectCitySubRegion = function(Subregion){\r\n \r\n TeamFormCreationService.GetCityBySubRegion(loggedinUser,Subregion,token).then(function(resp){\r\n if (resp.status==200) {\r\n if (resp.data && resp.data.length>0) {\r\n vm.SubCityList = resp.data;\r\n }\r\n }\r\n })\r\n }\r\n\r\n vm.selectStateforPresent = function (state) { \r\n var Getstate = state;\r\n TeamFormCreationService.getCities(loggedinUser,Getstate,token).then(function (resp) {\r\n vm.presentcityList = resp.data;\r\n if (!resp.data) {\r\n var cityArray = [];\r\n cityArray.push({\r\n city: state\r\n });\r\n vm.cityList = cityArray;\r\n }\r\n }, function () {\r\n\r\n });\r\n }\r\n\r\n //state \r\n vm.getStateList = function (region) {\r\n TeamFormCreationService.getState(loggedinUser, token, region).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.allStates = resp.data;\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n\r\n function getallCities(state) {\r\n ReferService.getAllCity(loggedinUser, state,token).then(function (resp) {\r\n vm.CityList = resp.data;\r\n });\r\n }\r\n vm.selectedState = function (state) {\r\n getallCities(state);\r\n }\r\n ///Executes when the user select the city\r\n vm.selectCity = function (city) {\r\n TeamFormCreationService.getAllPincode(city).then(function (resp) {\r\n vm.pincodeList = resp.data;\r\n if (!resp.data) {\r\n var pincodeArray = [];\r\n pincodeArray.push({\r\n pincode: city\r\n });\r\n vm.pincodeList = pincodeArray;\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n vm.selectCityforPresent = function (loggedinUser, city) {\r\n TeamFormCreationService.getAllPincode(loggedinUser, city.ID).then(function (resp) {\r\n vm.presentpincodeList = resp.data;\r\n if (!resp.data) {\r\n var pincodeArray = [];\r\n pincodeArray.push({\r\n pincode: city\r\n });\r\n vm.pincodeList = pincodeArray;\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n vm.removeAccountDetail = function (index) {\r\n vm.workAreas.splice(index,1); \r\n vm.getAllHDAccounts(); \r\n }\r\n\r\n vm.EditData=function(index){\r\n vm.SelectedAccount = vm.workAreas[index]; \r\n vm.territoryStates(vm.SelectedAccount.AccountId);\r\n vm.selectedStateForTerritory(vm.SelectedAccount.State);\r\n vm.selectedCityForTerritory(vm.SelectedAccount.City); \r\n }\r\n\r\n vm.AccountChange=function (){ \r\n for (var i = 0; i < vm.RemainingCHDAccounts.length; i++) {\r\n var Acc = vm.RemainingCHDAccounts[i];\r\n if(Acc.AccountName == vm.SelectedAccount.AccountName ) {\r\n vm.SelectedAccount.AccountId = Acc.AccountId;\r\n // vm.SelectedAccount = Acc; \r\n // break;\r\n }\r\n }\r\n vm.territoryStates(vm.SelectedAccount.AccountId);\r\n }\r\n vm.territoryStates = function (AccountId) {\r\n vm.AccountIDforTerritory = AccountId;\r\n TeamFormCreationService.getTerritoryStates(loggedinUser, token,AccountId,vm.Role).then(function(resp) {\r\n vm.stateListTerritory = resp.data;\r\n if(resp.status == 200) {\r\n // vm.territoryCity();\r\n }\r\n })\r\n }\r\n\r\n vm.selectedStateForTerritory = function (state) {\r\n vm.territoryCity(state,vm.AccountIDforTerritory);\r\n }\r\n vm.territoryCity = function (state,AccountId) {\r\n vm.StateForTerritoryCity = state;\r\n TeamFormCreationService.getTerritoryCity(loggedinUser, token,AccountId,state,vm.Role).then(function(resp) {\r\n vm.cityListTerritory = resp.data;\r\n if(resp.status == 200) {\r\n \r\n\r\n }\r\n })\r\n }\r\n\r\n vm.selectedCityForTerritory = function (City) {\r\n vm.territoryPincodes(City);\r\n }\r\n vm.uniPin = [];\r\n vm.territoryPincodes = function (City) {\r\n TeamFormCreationService.getTerritoryPincodes(loggedinUser, token,vm.AccountIDforTerritory,vm.StateForTerritoryCity,City,vm.Role).then(function(resp) {\r\n // if(resp.status == 200) {\r\n vm.pinCodeListTerritory = resp.data;\r\n for (var i = 0; i < vm.workAreas.length; i++) {\r\n var Acc = vm.workAreas[i];\r\n if((Acc.City == City) && (Acc.AccountId ==vm.AccountIDforTerritory) && (Acc.State == vm.StateForTerritoryCity)) {\r\n for (var j = 0; j < vm.pinCodeListTerritory.length; j++) { \r\n var pinCodeUnique = vm.pinCodeListTerritory[j];\r\n for (var k = 0; k < Acc.PinCode.length; k++) { \r\n if( pinCodeUnique == Acc.PinCode[k]) {\r\n vm.pinCodeListTerritory.splice(j,1);\r\n // break; \r\n }\r\n }\r\n \r\n }\r\n }\r\n }\r\n // }\r\n })\r\n }\r\n\r\n vm.addMoreAccount = function(){\r\n vm.SelectedAccount=[]; \r\n vm.showEditList = true;\r\n vm.showAction = false;\r\n for (var i = 0; i < vm.workAreas.length; i++) {\r\n var Acc = vm.workAreas[i];\r\n for (var j = 0; j < vm.RemainingCHDAccounts.length; j++) { \r\n // console.log('acc = ' + Acc.AccountId + \" vm.RemainingCHDAccounts[j].AccountId \" + vm.RemainingCHDAccounts[j].AccountId + 'len ' + j) \r\n if(Acc.AccountId == vm.RemainingCHDAccounts[j].AccountId ) {\r\n // vm.RemainingCHDAccounts.splice(j,1); \r\n //break; \r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n //CHDAllaccounts\r\n vm.getAllHDAccounts = function ( ) {\r\n TeamFormCreationService.getAllAccountsConfigured(loggedinUser, token).then(function (resp) { \r\n if (resp && resp.data){ \r\n if(resp.status==200){\r\n vm.CHDAccounts = resp.data;\r\n vm.RemainingCHDAccounts = vm.CHDAccounts;\r\n }\r\n } \r\n }, function () { \r\n });\r\n }\r\n\r\n vm.UpdateAllHDAccountConfig = function(index){ \r\n vm.showAction = true; \r\n var checkAccount = false;\r\n for (var i = 0; i < vm.workAreas.length; i++) {\r\n if(vm.SelectedAccount.PinCode == undefined) {\r\n vm.showFailure(\"Failed\", \"Please add Account details with Locations\");\r\n vm.workAreas[index].edit = true;\r\n }\r\n // vm.workAreas[i] == vm.SelectedAccount;\r\n // vm.workAreas[i].AccountSkillSet = vm.SelectedSkills;\r\n // vm.workAreas[i].AccountLocations = vm.SelectedLocations;\r\n // var Acc = vm.workAreas[i];\r\n // if(Acc.AccountName == vm.SelectedAccount.AccountName ) {\r\n // vm.workAreas[i] == vm.SelectedAccount;\r\n // checkAccount = true;\r\n // break;\r\n // }\r\n }\r\n if(checkAccount == false && index == undefined) { \r\n vm.SelectedAccountObj = Object.assign({}, vm.SelectedAccount); \r\n if(vm.SelectedAccountObj.AccountName && vm.SelectedAccountObj.State && vm.SelectedAccountObj.City && vm.SelectedAccountObj.PinCode) {\r\n vm.workAreas.push(vm.SelectedAccountObj);\r\n } \r\n else {\r\n vm.showFailure(\"Failed\", \"Please add Account details with Locations\");\r\n vm.workAreas[i].edit = true;\r\n \r\n } \r\n \r\n }\r\n else {\r\n var Acc = vm.workAreas[i];\r\n }\r\n vm.showEditList = false; \r\n }\r\n\r\n vm.getTicketStatus = function () {\r\n TeamFormCreationService.GetTicketStatusForTerritory(loggedinUser, token).then(function(resp) {\r\n vm.statusList = resp.data;\r\n })\r\n }\r\n\r\n vm.GetAllNotAllocatedWareHouse = function ( ) {\r\n TeamFormCreationService.GetAllNotAllocatedWareHouse(loggedinUser, token).then(function (resp) { \r\n if (resp && resp.data){ \r\n if(resp.status==200){\r\n vm.NotAllocatedWarehouses = resp.data;\r\n }\r\n } \r\n }, function () { \r\n });\r\n }\r\n\r\n vm.GetAllNotAllocatedWareHouse();\r\n vm.getAllHDAccounts(); \r\n vm.getAllSkill();\r\n vm.getStateList(\"INDIA\");\r\n vm.getTicketStatus();\r\n }\r\n});\r\n\nangular.module('inspinia').service('TaskPriorityOpsService', function (ApiURL,SchedulingAPI, $window, $http) {\r\n\r\n var vm = this;\r\n vm.setShowSuccess = function (success) {\r\n vm.showSuccess = success;\r\n }\r\n\r\n vm.setShowFailure = function (failure) {\r\n vm.showFailure = failure;\r\n }\r\n\r\n// https://perf.mymobiforce.com/coreapi/api/TicketPayment/getinvoicesinrange?ReqUserId=F00000000000&StartDate=2019-07-01&EndDate=2019-08-21\r\nthis.GetAllScheduleExceptionListbyDateRange = function (loggedinUser, startDate, endDate, token) {\r\n var url = SchedulingAPI + '/api/AutoSchedulerException/GetSchedulerException?ReqUserId=' + loggedinUser + '&StartDate=' + startDate + '&EndDate='+endDate;\r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId':loggedinUser }\r\n });\r\n}\r\n\r\n\r\n //https://perf.mymobiforce.com/schedulingapi/api/AutoSchedulerException/MarkResolveSchedulerException?reqUserId=U350000000001&exceptionId=U350000000001\r\n this.ResolveException = function(loggedinUser, exceptionIdList, success, token){\r\n var url = SchedulingAPI + '/api/AutoSchedulerException/MarkResolveSchedulerException?reqUserId=' + loggedinUser ;\r\n $http.put(url,{'exceptionIdList':exceptionIdList},{\r\n headers:{'Content-Type':'application/json', 'Token': token, 'UserId':loggedinUser}\r\n }).then(function (res) {\r\n if(status = '202'){\r\n vm.showSuccess(\"Schedule Exception\", \"Exception(s) resolved successfully\");\r\n }\r\n \r\n success(res);\r\n }, function () {\r\n vm.showFailure(\"Schedule Exception\", \"Unable to resolved Exception(s)\");\r\n })\r\n }\r\n \r\n\r\n // https://perf.mymobiforce.com/coreapi/api/TicketPayment/PayCompleteInvoice?ReqUserId=F00000000000&InvoiceNo=IN_000000001\r\n // this.PutSingleInvoicePayments = function (loggedinUser, InvoiceNo, success, token) {\r\n // var url = ApiURL + '/api/TicketPayment/PayCompleteInvoice?ReqUserId=' + loggedinUser + '&InvoiceNo=' + InvoiceNo\r\n // $http.put(url, null, {\r\n // headers: { 'Content-Type': 'application/json', 'Token': token }\r\n // }).then(function (res) {\r\n // vm.showSuccess(\"Payment Information\", \"Payment Completed Successfully\");\r\n // success(res);\r\n // }, function () {\r\n // vm.showFailure(\"Payment Information\", \"Unable to make payment\");\r\n // })\r\n // }\r\n\r\n // https://perf.mymobiforce.com/coreapi/api/TicketPayment/PayMultiInvoices?ReqUserId=F00000000000&InvoiceNos=indifnd\r\n // this.PutMultiSelectedInvoicePayments = function (loggedinUser, InvoiceNos, success, token) {\r\n // var url = ApiURL + '/api/TicketPayment/PayMultiInvoices?ReqUserId=' + loggedinUser + '&InvoiceNos=' + InvoiceNos\r\n // $http.put(url, null, {\r\n // headers: { 'Content-Type': 'application/json', 'Token': token }\r\n // }).then(function (res) {\r\n // vm.showSuccess(\"Payment Information\", \"Payment Completed Successfully\");\r\n // success(res);\r\n // }, function () {\r\n // vm.showFailure(\"Payment Information\", \"Unable to make payment\");\r\n // })\r\n // }\r\n\r\n // https://perf.mymobiforce.com/SchedulingAPI/api/AutoSchedulerException/GetActiveSchedulerExceptionMobileApp?reqUserId=U00000000406&startDate=2021-08-01&endDate=2021-10-07&PageIndex=1&PageSize=10\r\n // this.getAllJobTickets = function (reqUserId, startDate, endDate, token,PageIndex,PageSize) {\r\n // var url = '';\r\n // url = SchedulingAPI + '/api/AutoSchedulerException/GetActiveSchedulerExceptionMobileApp?reqUserId=' + reqUserId + '&startDate=' + startDate+ '&endDate=' + endDate +'&PageIndex=' + PageIndex + '&PageSize=' + PageSize;\r\n // // url = ApiURL + '/api/Ticket/GetTicketsbyDateRange?fromDate=' + startDate + '&toDate=' + endDate+ '&reqUserId=' + supervisorId + '&itemNames=' + itemNames + '&itemValues=' + itemValues+'&templateCols='+templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues + '&DateField=' + DateField;\r\n // return $http.get(url, {\r\n // headers: {\r\n // 'Content-Type': 'application/json',\r\n // 'Token': token,\r\n // 'UserId': reqUserId\r\n // }\r\n // });\r\n // }\r\n//https://perf.mymobiforce.com/schedulingapi/api/AutoSchedulerException/GetSchedulerExceptionForServerWithDynPaging\r\n this.getAllJobForExceptionList = function ( loggedinUser, token,userFormData) {\r\n var url = SchedulingAPI + \"/api/AutoSchedulerException/GetSchedulerExceptionForServerWithDynPaging\";\r\n return $http.put(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n });\r\n }\r\n\r\n this.getAllAccounts = function (loggedinUser,token) { \r\n var url = ApiURL+ '/api/account/GetAllAccountsMiniModel';\r\n return $http.get(url, {\r\n headers: { \r\n 'Content-Type': 'application/json',\r\n 'Token':token , \r\n 'UserId':loggedinUser\r\n \r\n }\r\n });\r\n }\r\n this.getAllUserByReportingPerson = function (reportingTo, token) {\r\n var url = ApiURL +'/api/User/'+ reportingTo+'/byReportingToWithJobCount?ReqUserId='+reportingTo;\r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId':reportingTo }\r\n });\r\n }\r\n\r\n\r\n// https://perf.mymobiforce.com/publicapi/api/Report/DownloadInvoices?reqUserId=F00000000000&InvoicesNo=IN_000000002\r\nthis.downloadInvoicebyInvoiceNo = function (loggedinUser, InvoiceNos, success, token) {\r\n $window.location.href = PublicApiURL + '/api/Report/DownloadInvoices?reqUserId=' + loggedinUser + '&InvoicesNo=' + InvoiceNos\r\n console.log($window.location.href);\r\n // $http.get(url,{\r\n // headers: { 'Content-Type': 'application/json', 'Token': token }\r\n // }).then(function (res) {\r\n // vm.showSuccess(\"Download Information\", \"Download Completed Successfully\");\r\n // success(res);\r\n // }, function () {\r\n // vm.showFailure(\"Payment Information\", \"Unable to Download Invoices\");\r\n // })\r\n}\r\n\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('TaskPriorityOpsController', function (inventoryService, $resource, toaster, $filter, $compile, $q, $state, $localStorage, $scope, DTOptionsBuilder, DTColumnBuilder, $uibModal, $timeout) {\r\n\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\t\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\t\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\t\tinventoryService.setShowSuccess($scope.$parent.$parent.main.showSuccess);\r\n\t\tinventoryService.setShowFailure($scope.$parent.$parent.main.showFailure);\r\n\t\tvm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n\t\tvm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\t\t$scope.$parent.$parent.main.implementSelectItems('scheduleExceptionListNew', this);\r\n\t\t// $scope.$parent.$parent.main.implementSelectItems('InVoiceHistoryData', this);\r\n\t\t$scope.isNavCollapsed = true;\r\n\t\t$scope.isCollapsed = true;\r\n\t\t$scope.isCollapsed1 = true;\r\n\t\t$scope.isCollapsed2 = true;\r\n\t\t$scope.isCollapsed3 = true;\r\n\t\t$scope.isCollapsedHorizontal = false;\r\n\t\tvm.dtInstance = {};\r\n\t\tvm.selectSingle = false;\r\n\t\tvm.disableExceptionButton = false;\r\n\t\tvm.ticketPageListCount = 10;\r\n\t\tvm.pageListCounts = [10, 20, 30, 50];\r\n\t\tvm.scheduleExceptionListNewLength=0;\r\n\t\tvar PageIndex = 1;\r\n\t\tvar PageSize = 10; \r\n\t\tvm.SearchByAccountName = '';\r\n\t\tvm.ExceptionType = '';\r\n\t\tvm.exceptionState = '';\r\n\t\tvm.showAllAccounts = [];\r\n\t\tvm.UserId='';\r\n\r\n\t\t$scope.dates = { startDate: moment().subtract(0, 'days'), endDate: moment() };\r\n\t\tvar startDate = moment().subtract(0, 'days').format(\"YYYY-MM-DD\");\r\n\t\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\r\n\t\t$scope.ranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment()]\r\n\t\t};\r\n\r\n\t\t$scope.dateRangeChange = function (ev, picker) {\r\n\t\t\t// console.log(ev, picker);\r\n\t\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\t\tvm.getAllJobForExceptionList();\r\n\r\n\r\n\t\t};\r\n\t\tvm.editJobAppointment = function () {\r\n\r\n\t\t\tvm.jobAppointmentModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'editJobAppointment.html',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\r\n\r\nvm.closeJobAppointment = function () {\r\n\t\t\tvm.jobAppointmentModal.close();\r\n\t\t}\r\n\r\n\t\r\n\t\t$scope.userFilter = true;\r\n $scope.assignJobFilter = function() {\r\n $scope.userFilter = !$scope.userFilter;\r\n $scope.myvalue = true;\r\n $scope.manualAssignationWrapper = \"hide-nav\";\r\n // $scope.toggleMenu();\r\n };\r\n \r\n$scope.toggleForBroadcast = function() {\r\n\t$scope.broadcastSentUser = !$scope.broadcastSentUser;\r\n\t$scope.myvalue = true;\r\n\r\n};\r\n \r\n \r\n$scope.hideoverlay = function(){\r\n\t$scope.myvalue = false;\r\n\t$scope.class_status = true;\r\n\t$scope.broadcastSentUser = true;\r\n\t\r\n}\r\n\r\n\t}\r\n});\nangular.module('inspinia').service('SignupService', function (ApiURL, PublicApiURL, $http) {\r\n\r\n this.createAccount = function (data) {\r\n var url = PublicApiURL + '/api/SignUpWithPlan';\r\n return $http.post(url, data, {\r\n headers: { 'Content-Type': 'application/json'}\r\n });\r\n }\r\n\r\n this.getVertical = function () {\r\n var url = PublicApiURL + '/api/GetSkillsWithCategory';\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json' },\r\n params: {}\r\n });\r\n }\r\n\r\n\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('SignupController', function (SignupService, $resource, toaster, $filter, $q, $state, $localStorage, $scope, DTOptionsBuilder, DTColumnBuilder, $uibModal, $window, $timeout) {\r\n\r\n\tvar vm = this;\r\n\tvm.showSuccess = $scope.$parent.main.showSuccess;\r\n\tvm.showFailure = $scope.$parent.main.showFailure;\r\n\tvm.skills = [];\r\n\tvm.verticalList = '';\r\n\tvm.skillList = [];\r\n\tvm.vertical = '';\r\n\r\n\tvm.saveUser = function () {\r\n\t\tvm.signup_form.submitted = true;\r\n\t\tvar accountPlanData = {\r\n\t\t\t\"CompanyName\": vm.company_name,\r\n\t\t\t\"FirstName\": vm.first_name,\r\n\t\t\t\"LastName\": vm.last_name,\r\n\t\t\t\"PhoneNumber\": vm.mobile,\r\n\t\t\t\"EmailId\": vm.email,\r\n\t\t\t\"Password\": vm.password,\r\n\t\t\t\"Vertical\": \"\",\r\n\t\t\t\"SkillBasedCommissions\": [],\r\n\t\t\t\"AccountType\": 1,\r\n\t\t\t\"Skills\": vm.skills,\r\n\t\t\t\"NoOfTickets\": \"30\",\r\n\t\t\t\"Month\": \"1\",\r\n\t\t\t\"GracePeriod\": \"1\"\r\n\t\t}\r\n\t\tif (vm.signup_form.$valid) {\r\n\t\t\tSignupService.createAccount(accountPlanData).then(function (resp) {\r\n\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\tvm.showSuccess(\"Account Creation Status\", \"Account Created Successfully\");\r\n\t\t\t\t\t$state.go(\"Login\", {\r\n\t\t\t\t\t\treload: true\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvm.showFailure(\"Account Creation Failed\", \"Account not created. Please try again later.\")\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tvm.selectVertical = function () {\r\n\t\tSignupService.getVertical().then(function (resp) {\r\n\t\t\tvm.verticalList = resp.data;\r\n\t\t})\r\n\t}\r\n\tvm.selectVertical();\r\n\r\n\r\n\t// vm.selectSkills = function (verticalName) {\r\n\t// \tif (verticalName != '') {\r\n\t// \t\tvm.skillList = '';\r\n\t// \t\tangular.forEach(vm.verticalList, function (d) {\r\n\t// \t\t\tif (d.Category == verticalName) {\r\n\t// \t\t\t\tvm.skillList = d.ListSkillSet;\r\n\t// \t\t\t\treturn;\r\n\t// \t\t\t}\r\n\t// \t\t})\r\n\t// \t}\r\n\t// }\r\n\r\n\r\n\tvm.selectSkills = function (verticalName) {\r\n\t\t// Preserve previously selected skills\r\n\t\tvar previouslySelectedSkills = angular.copy(vm.skills) || [];\r\n\t\r\n\t\tif (verticalName) {\r\n\t\t\t// Find the selected vertical\r\n\t\t\tvar vertical = vm.verticalList.find(function (d) {\r\n\t\t\t\treturn d.Category === verticalName;\r\n\t\t\t});\r\n\t\r\n\t\t\tif (vertical) {\r\n\t\t\t\tvar newSkillListFull = vertical.ListSkillSet || [];\r\n\t\t\t\tvar newSkillList = newSkillListFull.map(function (d) {\r\n\t\t\t\t\treturn d.SkillName;\r\n\t\t\t\t});\r\n\t\r\n\t\t\t\tvar combinedSkills = previouslySelectedSkills.concat(newSkillList);\r\n\t\r\n\t\t\t\t// Remove duplicates from combined skills\r\n\t\t\t\tvm.skillList = [];\r\n\t\t\t\tangular.forEach(combinedSkills, function (skill) {\r\n\t\t\t\t\tif (vm.skillList.indexOf(skill) === -1) {\r\n\t\t\t\t\t\tvm.skillList.push(skill);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\r\n\t\t\t\t// Reapply previously selected skills that are still in the new skill list\r\n\t\t\t\tvm.skills = previouslySelectedSkills.filter(function (selectedSkill) {\r\n\t\t\t\t\treturn vm.skillList.indexOf(selectedSkill) !== -1;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tvm.skillList = [];\r\n\t\t\tvm.skills = previouslySelectedSkills;\r\n\t\t}\r\n\t};\r\n\t\r\n\t\r\n\r\n\t\r\n\r\n});\nangular.module('inspinia').service('SystemConfigService', function ($log, $http, CronUrl, SchedulingAPI, ApiURL) {\r\n\r\n this.GetDataForMenu = function (dataType, accountId, loggedinUser, token) {\r\n var url = ApiURL + '/api/SystemSettings/GetDataForMenu?Type=' + dataType + '&AccountId=' + accountId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetProjectSettings = function (ProjectId, accountId, loggedinUser, token) {\r\n var url = ApiURL + '/api/SystemSettings/GetProjectSettings?ProjectId=' + ProjectId + '&AccountId=' + accountId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAccountConfigSettings = function (accountId, loggedinUser, token) {\r\n var url = ApiURL + '/api/SystemSettings/GetAccountConfigSettings?AccountId=' + accountId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetTemplateSettings = function (DocId, accountId, loggedinUser, token) {\r\n var url = ApiURL + '/api/SystemSettings/GetTemplateSettings?DocId=' + DocId + '&AccountId=' + accountId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.UpdateAccountConfigSettings = function (accountId, accountConfigData, loggedinUser, token) {\r\n var url = ApiURL + '/api/SystemSettings/UpdateAccountConfigSettings?AccountId=' + accountId;\r\n return $http.put(url, accountConfigData, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.UpdateProjectSettings = function (projectId, accountId, projectConfigData, loggedinUser, token) {\r\n var url = ApiURL + '/api/SystemSettings/UpdateProjectSettings?ProjectId=' + projectId + '&AccountId=' + accountId;\r\n return $http.put(url, projectConfigData, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.UpdateTemplateSettings = function (docId, accountId, templateConfigData, loggedinUser, token) {\r\n var url = ApiURL + '/api/SystemSettings/UpdateTemplateSettings?DocId=' + docId + '&AccountId=' + accountId;\r\n return $http.put(url, templateConfigData, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n // https://perf.mymobiforce.com/coreapi/api/MasterSelectionCriteria/GetAllMaster?UserId=F00000000000\r\nthis.GetAllSecheculingRules = function(loginUser, token){\r\n var url = ApiURL + '/api/MasterSelectionCriteria/GetAllMaster?UserId=' + loginUser;\r\n return $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token':token, 'UserId':loginUser }\r\n });\r\n}\r\n\r\nhttps://perf.mymobiforce.com/coreapi/api/MasterSelectionCriteria/EnableInMyAccount?UserId=U400000000001&RuleIds=Rule_01\r\nthis.SaveSchedulingRule = function(loginUser, ruleidlist,token, success, failure){\r\nvar url = ApiURL +'/api/MasterSelectionCriteria/EnableInMyAccount?UserId='+ loginUser +'&RuleIds='+ruleidlist;\r\n$http.post(url, null, { headers: {'Content-Type': undefined, 'Token': token, 'UserId':loginUser}\r\n}).then(success, failure);\r\n}\r\n\r\n // https://perf.mymobiforce.com/schedulingapi/api/AutoAssignScheduler/GetSchedulerConfig?reqUserId=U350000000001\r\n this.getAssignationRule = function(loggedinUser,token){\r\n var url = SchedulingAPI + '/api/AutoAssignScheduler/GetSchedulerConfig?reqUserId=' + loggedinUser ; \r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n}\r\n\r\n// https://perf.mymobiforce.com/schedulingapi/api/AutoAssignScheduler/PutSchedulerConfigList?reqUserId=U350000000001\r\nthis.SaveAssignationRule = function(loggedinUser, ruleList, token, success, failure){\r\n var url = SchedulingAPI + '/api/AutoAssignScheduler/PutSchedulerConfigList?reqUserId='+ loggedinUser;\r\n $http.put(url,ruleList,{headers: {'Content-Type': 'application/json','Token': token, 'UserId': loggedinUser}}).then(success,failure);\r\n}\r\nthis.GetAllBonusPenalty = function (loggedinUser, token){\r\n var url = ApiURL + '/api/BonusPenalty/GetAllBonusPenalty';\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token, 'UserId':loggedinUser}\r\n });\r\n}\r\n\r\n this.UpdateBonusPenalty = function (BonusData,loggedinUser, token) {\r\n var url = ApiURL + '/api/BonusPenalty/UpdateBonusPenalty';\r\n return $http.put(url, BonusData, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token, 'UserId':loggedinUser}\r\n });\r\n}\r\n\r\nthis.GetDataForMenu = function (dataType, accountId, loggedinUser, token) {\r\n var url = ApiURL + '/api/SystemSettings/GetDataForMenu?Type=' + dataType + '&AccountId=' + accountId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\nthis.GetProjectSettings = function (ProjectId, accountId, loggedinUser, token) {\r\n var url = ApiURL + '/api/SystemSettings/GetProjectSettings?ProjectId=' + ProjectId + '&AccountId=' + accountId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\nthis.GetAccountConfigSettings = function (accountId, loggedinUser, token) {\r\n var url = ApiURL + '/api/SystemSettings/GetAccountConfigSettings?AccountId=' + accountId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\nthis.GetTemplateSettings = function (DocId, accountId, loggedinUser, token) {\r\n var url = ApiURL + '/api/SystemSettings/GetTemplateSettings?DocId=' + DocId + '&AccountId=' + accountId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\nthis.UpdateAccountConfigSettings = function (accountId, accountConfigData, loggedinUser, token) {\r\n var url = ApiURL + '/api/SystemSettings/UpdateAccountConfigSettings?AccountId=' + accountId;\r\n return $http.put(url, accountConfigData, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\nthis.UpdateProjectSettings = function (projectId, accountId, projectConfigData, loggedinUser, token) {\r\n var url = ApiURL + '/api/SystemSettings/UpdateProjectSettings?ProjectId=' + projectId + '&AccountId=' + accountId;\r\n return $http.put(url, projectConfigData, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\nthis.UpdateTemplateSettings = function (docId, accountId, templateConfigData, loggedinUser, token) {\r\n var url = ApiURL + '/api/SystemSettings/UpdateTemplateSettings?DocId=' + docId + '&AccountId=' + accountId;\r\n return $http.put(url, templateConfigData, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\n\r\n\r\n// https://perf.mymobiforce.com/coreapi/api/MasterSelectionCriteria/GetAllMaster?UserId=F00000000000\r\nthis.GetAllSecheculingRules = function(loginUser, token){\r\nvar url = ApiURL + '/api/MasterSelectionCriteria/GetAllMaster?UserId=' + loginUser;\r\nreturn $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token':token, 'UserId':loginUser }\r\n });\r\n}\r\n\r\nhttps://perf.mymobiforce.com/coreapi/api/MasterSelectionCriteria/EnableInMyAccount?UserId=U400000000001&RuleIds=Rule_01\r\nthis.SaveSchedulingRule = function(loginUser, ruleidlist,token, success, failure){\r\nvar url = ApiURL +'/api/MasterSelectionCriteria/EnableInMyAccount?UserId='+ loginUser +'&RuleIds='+ruleidlist;\r\n$http.post(url, null, { headers: {'Content-Type': undefined, 'Token': token, 'UserId':loginUser}\r\n}).then(success, failure);\r\n}\r\n\r\n// https://perf.mymobiforce.com/schedulingapi/api/AutoAssignScheduler/GetSchedulerConfig?reqUserId=U350000000001\r\nthis.getAssignationRule = function(loggedinUser,token){\r\nvar url = SchedulingAPI + '/api/AutoAssignScheduler/GetSchedulerConfig?reqUserId=' + loggedinUser ; \r\nreturn $http.get(url, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n});\r\n}\r\n\r\nthis.CreateTransactionalAlert = function(reqUserId,token,data){\r\n var url = ApiURL+'/api/alertconfiguration/'+reqUserId+'/CreateTransactionalAlert';\r\n return $http.post(url,data,{\r\n headers:{'Content-Type':'application/json','token':token, 'UserId':reqUserId}\r\n });\r\n}\r\n\r\nthis.GetAllAlertConfiguration = function(reqUserId,token){\r\n\tvar url=ApiURL+'/api/alertconfiguration/'+reqUserId+'/GetAllAlertConfiguration';\r\n\treturn $http.get(url,{\r\n\t\theaders:{'Content-Type':'application/json','token':token, 'UserId':reqUserId}\r\n\t})\r\n}\r\nthis.DeleteAlertConfiguration = function(reqUserId,id,type,token){\r\n return $http({\r\n method: 'DELETE',\r\n url: ApiURL + \"/api/alertconfiguration/\"+reqUserId+ \"/\"+id+\"/\"+type+\"/DeleteAlertConfiguration\",\r\n data: { \r\n },\r\n headers: {\r\n 'Content-type': 'application/json', 'token':token, 'UserId':reqUserId\r\n }\r\n })\r\n }\r\n\r\nthis.GetAlertConfiguration = function(reqUserId,id,type,token){\r\n\tvar url=ApiURL+'/api/alertconfiguration/'+reqUserId+'/'+id+'/'+type+'/GetAlertConfiguration';\r\n\treturn $http.get(url,{\r\n\t\theaders:{'Content-Type':'application/json','token':token, 'UserId':reqUserId}\r\n\t})\r\n}\r\n\r\n// https://perf.mymobiforce.com/schedulingapi/api/AutoAssignScheduler/PutSchedulerConfigList?reqUserId=U350000000001\r\nthis.SaveAssignationRule = function(loggedinUser, ruleList, token, success, failure){\r\nvar url = SchedulingAPI + '/api/AutoAssignScheduler/PutSchedulerConfigList?reqUserId='+ loggedinUser;\r\n$http.put(url,ruleList,{headers: {'Content-Type': 'application/json','Token': token, 'UserId': loggedinUser}}).then(success,failure);\r\n}\r\nthis.GetAllBonusPenalty = function (loggedinUser, token){\r\nvar url = ApiURL + '/api/BonusPenalty/GetAllBonusPenalty';\r\nreturn $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token, 'UserId':loggedinUser}\r\n});\r\n}\r\n\r\nthis.UpdateBonusPenalty = function (BonusData,loggedinUser, token) {\r\n var url = ApiURL + '/api/BonusPenalty/UpdateBonusPenalty';\r\nreturn $http.put(url, BonusData, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token, 'UserId':loggedinUser}\r\n});\r\n}\r\n\r\n});\r\n\r\n\nangular.module('inspinia').controller('SystemConfigController', function (SystemConfigService,CentralHelpdeskConfigService,$stateParams,MailUrl, $localStorage, $state, $timeout, $uibModal, DTOptionsBuilder, DTColumnBuilder, $compile, $q, DTColumnDefBuilder, $scope, $log, AccountSettingService, $localStorage, ReportService, DashboardURL) {\r\n var vm = this;\r\n\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n if (!loggedinUser) {\r\n\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n vm.AlertType = $stateParams.alertType;\r\n var token = $localStorage.token;\r\n vm.accountConfig = $localStorage.accountConfig;\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.accountId = \"\";\r\n vm.ProjectId = \"\";\r\n // vm.DocId = \"\";\r\n $scope.distance = 0;\r\n $scope.updateBikePosition = function () {\r\n var rangeSlider = document.getElementById('distanceRange');\r\n var bikeIcon = document.getElementById('bikeIcon');\r\n var rangeWidth = rangeSlider.offsetWidth;\r\n var rangeValue = rangeSlider.value;\r\n var bikePosition = (rangeValue / rangeSlider.max) * rangeWidth;\r\n bikeIcon.style.transform = 'translateX(' + bikePosition + 'px)';\r\n }\r\n\r\n vm.getAllAccounts = function ( ) {\r\n CentralHelpdeskConfigService.getAllAccounts(loggedinUser, token).then(function (resp) { \r\n if (resp && resp.data) { \r\n if(resp.status==200)\r\n {\r\n vm.HDAllAccounts = resp.data;\r\n\r\n }\r\n } \r\n }, function () { \r\n });\r\n }\r\n\r\n\r\n vm.OpenPriceModelMapping = function () { \r\n $state.go('index.PriceModelMapping', {\r\n \r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.OpenSlalisting = function () { \r\n $state.go('index.Slalisting', {\r\n \r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.OpenProject = function () { \r\n $state.go('index.Project', {\r\n \r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n\r\n vm.OpenDashboardReportList = function () { \r\n $state.go('index.DashboardReportList', {\r\n \r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n\r\n vm.OpenTemplateList = function () { \r\n $state.go('index.TemplateList', {\r\n \r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.OpenInvoiceConfigurations = function () { \r\n $state.go('index.InvoiceConfigurations', {\r\n \r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.OpenInvoiceConfigurations = function () { \r\n $state.go('index.InvoiceConfigurations', {\r\n \r\n }, {\r\n reload: true\r\n });\r\n }\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n vm.getAllAccounts(); \r\n\r\n\r\n vm.headingName = \"Account Settings\";\r\n\r\n vm.GetDataForMenu = function (dataType) {\r\n SystemConfigService.GetDataForMenu(dataType, vm.accountId, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.dataForMenu = resp.data;\r\n }\r\n }, vm.showFailure);\r\n }\r\n vm.GetProjectSettings = function (ProjectId) {\r\n if (ProjectId) {\r\n vm.ProjectId = ProjectId;\r\n }\r\n vm.headingName = 'Project Settings';\r\n SystemConfigService.GetProjectSettings(vm.ProjectId, vm.accountId, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.currentConfig = resp.data;\r\n }\r\n }, vm.showFailure);\r\n }\r\n vm.GetAccountConfigSettings = function () {\r\n if(vm.accountId == null)\r\n {\r\n vm.accountId = \"\";\r\n }\r\n vm.headingName = 'Account Settings';\r\n SystemConfigService.GetAccountConfigSettings(vm.accountId, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.currentConfig = resp.data;\r\n }\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.GetAccountConfigSettings();\r\n\r\n vm.GetTemplateSettings = function (DocId) {\r\n if (DocId) {\r\n vm.DocId = DocId;\r\n }\r\n vm.headingName = 'Template Settings';\r\n SystemConfigService.GetTemplateSettings(vm.DocId, vm.accountId, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.currentConfig = resp.data;\r\n }\r\n }, vm.showFailure);\r\n }\r\n\r\n var accountConfigData = [];\r\n vm.UpdateAccountConfigSettings = function () {\r\n var updatedConfig = {}\r\n for (var index = 0; index < vm.currentConfig.length; index++) {\r\n var updatedConfig = {\r\n \"ItemName\": vm.currentConfig[index].ItemName,\r\n \"ItemDisplayName\": vm.currentConfig[index].ItemDisplayName,\r\n \"ItemValue\": vm.currentConfig[index].ItemValue,\r\n \"ItemType\": vm.currentConfig[index].ItemType,\r\n \"ItemFrom\": \"AccountConfig\",\r\n \"ItemDescription\": vm.currentConfig[index].ItemDescription,\r\n }\r\n accountConfigData.push(updatedConfig);\r\n }\r\n SystemConfigService.UpdateAccountConfigSettings(vm.accountId, accountConfigData, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n $timeout(function () {\r\n vm.GetAccountConfigSettings();\r\n }, 2000);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n var projectConfigData = [];\r\n vm.UpdateProjectSettings = function () {\r\n var updatedConfig = {}\r\n for (var index = 0; index < vm.currentConfig.length; index++) {\r\n var updatedConfig = {\r\n \"ItemName\": vm.currentConfig[index].ItemName,\r\n \"ItemDisplayName\": vm.currentConfig[index].ItemDisplayName,\r\n \"ItemValue\": vm.currentConfig[index].ItemValue,\r\n \"ItemType\": vm.currentConfig[index].ItemType,\r\n \"ItemFrom\": \"Project\",\r\n \"ItemDescription\": vm.currentConfig[index].ItemDescription,\r\n }\r\n projectConfigData.push(updatedConfig);\r\n }\r\n SystemConfigService.UpdateProjectSettings(vm.ProjectId, vm.accountId, projectConfigData, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n $timeout(function () {\r\n vm.GetProjectSettings(vm.ProjectId);\r\n }, 2000);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n var templateConfigData = [];\r\n vm.UpdateTemplateSettings = function () {\r\n var updatedConfig = {}\r\n for (var index = 0; index < vm.currentConfig.length; index++) {\r\n var updatedConfig = {\r\n \"ItemName\": vm.currentConfig[index].ItemName,\r\n \"ItemDisplayName\": vm.currentConfig[index].ItemDisplayName,\r\n \"ItemValue\": vm.currentConfig[index].ItemValue,\r\n \"ItemType\": vm.currentConfig[index].ItemType,\r\n \"ItemFrom\": \"Template\",\r\n \"ItemDescription\": vm.currentConfig[index].ItemDescription,\r\n }\r\n templateConfigData.push(updatedConfig);\r\n }\r\n SystemConfigService.UpdateTemplateSettings(vm.DocId, vm.accountId, templateConfigData, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n $timeout(function () {\r\n vm.GetTemplateSettings(vm.DocId);\r\n }, 2000);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n }, function () {\r\n });\r\n }\r\n///////// Scheduling rule \r\nvm.activeTab = ''; \r\n\r\nvm.activateTab = function(tab) {\r\n vm.activeTab = tab;\r\n vm.headingName =tab;\r\n };\r\n vm.toolScRuleList = [];\r\n vm.assetScRuleList = [];\r\n vm.certificateScRuleList = [];\r\n vm.roleScRuleList = [];\r\n vm.TalentPoolScRuleList = [];\r\n vm.dtInstance = {};\r\n vm.dtInstance_Certi = {};\r\n vm.dtInstance_Asset = {};\r\n vm.dtInstance_Tool = {};\r\n vm.dtInstance_TalentPool = {};\r\n vm.getAllSchedulingRules = function () {\r\n SystemConfigService.GetAllSecheculingRules(loggedinUser, token).then(function (res) {\r\n vm.ruleList = res.data;\r\n vm.toolScRuleList = [];\r\n vm.assetScRuleList = [];\r\n vm.certificateScRuleList = [];\r\n vm.roleScRuleList = [];\r\n vm.TalentPoolScRuleList = [];\r\n for (var i = 0; i < vm.ruleList.length; i++) {\r\n if (vm.ruleList[i].RuleType == 'Certificate') {\r\n vm.certificateScRuleList.push(vm.ruleList[i]);\r\n } else if (vm.ruleList[i].RuleType == 'Asset') {\r\n vm.assetScRuleList.push(vm.ruleList[i]);\r\n } else if (vm.ruleList[i].RuleType == 'Tool') {\r\n vm.toolScRuleList.push(vm.ruleList[i]);\r\n } else if (vm.ruleList[i].RuleType == 'Role') {\r\n vm.roleScRuleList.push(vm.ruleList[i]);\r\n } else if (vm.ruleList[i].RuleType == 'TalentPool') {\r\n vm.TalentPoolScRuleList.push(vm.ruleList[i]);\r\n }\r\n \r\n }\r\n if (vm.roleScRuleList) {\r\n vm.GenerateRoleTable();\r\n }\r\n if (vm.certificateScRuleList) {\r\n vm.GenerateCertificateTable();\r\n }\r\n if (vm.assetScRuleList) {\r\n vm.GenerateAssetsTable();\r\n }\r\n if (vm.toolScRuleList) {\r\n vm.GenerateToolTable();\r\n }\r\n if (vm.TalentPoolScRuleList) {\r\n vm.GenerateTalentPoolTable();\r\n }\r\n })\r\n }\r\n vm.getAllSchedulingRules();\r\n\r\n\r\n vm.GenerateRoleTable = function () {\r\n\r\n vm.headerCompiled = false;\r\n vm.selected = {};\r\n vm.selectAll = false;\r\n vm.toggleAll = toggleAll;\r\n vm.toggleOne = toggleOne;\r\n // var titleHtml = '
';\r\n\r\n vm.dtOptions = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n defer.resolve(vm.roleScRuleList);\r\n return defer.promise;\r\n })\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withBootstrap()\r\n .withOption('createdRow', function (row, data, dataIndex) {\r\n $compile(angular.element(row).contents())($scope);\r\n })\r\n .withOption('headerCallback', function (header) {\r\n if (!vm.headerCompiled) {\r\n // Use this headerCompiled field to only compile header once\r\n vm.headerCompiled = true;\r\n $compile(angular.element(header).contents())($scope);\r\n }\r\n });\r\n\r\n\r\n vm.dtColumns = [\r\n DTColumnBuilder.newColumn(null).withTitle(null).renderWith(function (data, type, full, meta) {\r\n vm.selected[meta.row] = data.IsEnable;\r\n return '
';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn('RuleId').withTitle('Rule Id').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n }),\r\n DTColumnBuilder.newColumn('Description').withTitle('Role Description').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n })\r\n\r\n\r\n ];\r\n\r\n function toggleAll(selectAll, selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n selectedItems[id] = selectAll;\r\n }\r\n }\r\n }\r\n function toggleOne(selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n vm.roleScRuleList[id].IsEnable = selectedItems[id];\r\n // if (!selectedItems[id]) {\r\n // \tvm.selectAll = false;\r\n // \treturn;\r\n // }\r\n }\r\n\r\n }\r\n vm.selectAll = true;\r\n }\r\n\r\n }\r\n\r\n\r\n vm.GenerateCertificateTable = function () {\r\n\r\n vm.headerCompiled_Certi = false;\r\n vm.selected_Certi = {};\r\n vm.selectAll_Certi = false;\r\n vm.toggleAll_Certi = toggleAll_Certi;\r\n vm.toggleOne_Certi = toggleOne_Certi;\r\n // var titleHtml_Certi = '
';\r\n\r\n vm.dtOptions_Certi = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n defer.resolve(vm.certificateScRuleList);\r\n return defer.promise;\r\n })\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withBootstrap()\r\n .withOption('createdRow', function (row, data, dataIndex) {\r\n $compile(angular.element(row).contents())($scope);\r\n })\r\n .withOption('headerCallback', function (header) {\r\n if (!vm.headerCompiled_Certi) {\r\n // Use this headerCompiled field to only compile header once\r\n vm.headerCompiled_Certi = true;\r\n $compile(angular.element(header).contents())($scope);\r\n }\r\n });\r\n\r\n\r\n vm.dtColumns_Certi = [\r\n DTColumnBuilder.newColumn(null).withTitle(null).renderWith(function (data, type, full, meta) {\r\n vm.selected_Certi[meta.row] = data.IsEnable;\r\n return '
';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn('RuleId').withTitle('Rule Id').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n }),\r\n DTColumnBuilder.newColumn('Description').withTitle('Certificate Description').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n })\r\n\r\n\r\n ];\r\n\r\n function toggleAll_Certi(selectAll, selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n selectedItems[id] = selectAll;\r\n }\r\n }\r\n }\r\n function toggleOne_Certi(selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n vm.certificateScRuleList[id].IsEnable = selectedItems[id];\r\n // if (!selectedItems[id]) {\r\n // \tvm.selectAll_Certi = false;\r\n // \treturn;\r\n // }\r\n }\r\n }\r\n vm.selectAll_Certi = true;\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n vm.GenerateAssetsTable = function () {\r\n\r\n vm.headerCompiled_Asset = false;\r\n vm.selected_Asset = {};\r\n vm.selectAll_Asset = false;\r\n vm.toggleAll_Asset = toggleAll_Asset;\r\n vm.toggleOne_Asset = toggleOne_Asset;\r\n // var titleHtml_Asset = '
';\r\n\r\n vm.dtOptions_Asset = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n defer.resolve(vm.assetScRuleList);\r\n return defer.promise;\r\n })\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withBootstrap()\r\n .withOption('createdRow', function (row, data, dataIndex) {\r\n $compile(angular.element(row).contents())($scope);\r\n })\r\n .withOption('headerCallback', function (header) {\r\n if (!vm.headerCompiled_Asset) {\r\n // Use this headerCompiled field to only compile header once\r\n vm.headerCompiled_Asset = true;\r\n $compile(angular.element(header).contents())($scope);\r\n }\r\n });\r\n\r\n\r\n vm.dtColumns_Asset = [\r\n DTColumnBuilder.newColumn(null).withTitle(null).renderWith(function (data, type, full, meta) {\r\n vm.selected_Asset[meta.row] = data.IsEnable;\r\n return '
';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn('RuleId').withTitle('Rule Id').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n }),\r\n DTColumnBuilder.newColumn('Description').withTitle('Assets Description').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n })\r\n\r\n\r\n ];\r\n\r\n function toggleAll_Asset(selectAll, selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n selectedItems[id] = selectAll;\r\n }\r\n }\r\n }\r\n function toggleOne_Asset(selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n vm.assetScRuleList[id].IsEnable = selectedItems[id];\r\n // if (!selectedItems[id]) {\r\n // \tvm.selectAll_Asset = false;\r\n // \treturn;\r\n // }\r\n }\r\n }\r\n vm.selectAll_Asset = true;\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n vm.GenerateToolTable = function () {\r\n\r\n vm.headerCompiled_Tool = false;\r\n vm.selected_Tool = {};\r\n vm.selectAll_Tool = false;\r\n vm.toggleAll_Tool = toggleAll_Tool;\r\n vm.toggleOne_Tool = toggleOne_Tool;\r\n // var titleHtml_Tool = '
';\r\n\r\n vm.dtOptions_Tool = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n defer.resolve(vm.toolScRuleList);\r\n return defer.promise;\r\n })\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withBootstrap()\r\n .withOption('createdRow', function (row, data, dataIndex) {\r\n $compile(angular.element(row).contents())($scope);\r\n })\r\n .withOption('headerCallbacks', function (header) {\r\n if (!vm.headerCompiled_Tool) {\r\n // Use this headerCompiled field to only compile header once\r\n vm.headerCompiled_Tool = true;\r\n $compile(angular.element(header).contents())($scope);\r\n }\r\n });\r\n\r\n\r\n vm.dtColumns_Tool = [\r\n DTColumnBuilder.newColumn(null).withTitle(null).renderWith(function (data, type, full, meta) {\r\n vm.selected_Tool[meta.row] = data.IsEnable;\r\n return '
';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn('RuleId').withTitle('Rule Id').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n }),\r\n DTColumnBuilder.newColumn('Description').withTitle('Tools Description').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n })\r\n\r\n\r\n ];\r\n \r\n function toggleAll_Tool(selectAll, selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n selectedItems[id] = selectAll;\r\n }\r\n }\r\n }\r\n function toggleOne_Tool(selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n vm.toolScRuleList[id].IsEnable = selectedItems[id];\r\n // if (!selectedItems[id]) {\r\n // \tvm.selectAll_Tool = false;\r\n // \treturn;\r\n // }\r\n }\r\n }\r\n vm.selectAll_Tool = true;\r\n }\r\n\r\n }\r\n\r\n vm.GenerateTalentPoolTable = function () {\r\n\r\n vm.headerCompiled_TalentPool = false;\r\n vm.selected_TalentPool = {};\r\n vm.selectAll_TalentPool = false;\r\n vm.toggleAll_TalentPool = toggleAll_TalentPool;\r\n vm.toggleOne_TalentPool = toggleOne_TalentPool;\r\n // var titleHtml_TalentPool = '
';\r\n\r\n vm.dtOptions_TalentPool = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n defer.resolve(vm.TalentPoolScRuleList);\r\n return defer.promise;\r\n })\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withBootstrap()\r\n .withOption('createdRow', function (row, data, dataIndex) {\r\n $compile(angular.element(row).contents())($scope);\r\n })\r\n .withOption('headerCallbacks', function (header) {\r\n if (!vm.headerCompiled_TalentPool) {\r\n // Use this headerCompiled field to only compile header once\r\n vm.headerCompiled_TalentPool = true;\r\n $compile(angular.element(header).contents())($scope);\r\n }\r\n });\r\n\r\n\r\n \r\n vm.dtColumns_TalentPool = [\r\n DTColumnBuilder.newColumn(null).withTitle(null).renderWith(function (data, type, full, meta) {\r\n vm.selected_TalentPool[meta.row] = data.IsEnable;\r\n return '
';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn('RuleId').withTitle('Rule Id').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n }),\r\n DTColumnBuilder.newColumn('Description').withTitle('Talent Pool Description').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n })\r\n\r\n\r\n ];\r\n function toggleAll_TalentPool(selectAll, selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n selectedItems[id] = selectAll;\r\n }\r\n }\r\n }\r\n function toggleOne_TalentPool(selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n vm.TalentPoolScRuleList[id].IsEnable = selectedItems[id];\r\n // if (!selectedItems[id]) {\r\n // \tvm.selectAll_TalentPool = false;\r\n // \treturn;\r\n // }\r\n }\r\n }\r\n vm.selectAll_TalentPool = true;\r\n }\r\n\r\n }\r\n vm.reloadData = function () {\r\n var resetPaging = true;\r\n vm.dtInstance.reloadData(resetPaging);\r\n vm.dtInstance_Certi.reloadData(resetPaging);\r\n vm.dtInstance_Asset.reloadData(resetPaging);\r\n vm.dtInstance_Tool.reloadData(resetPaging);\r\n vm.dtInstance_TalentPool.reloadData(resetPaging);\r\n\r\n }\r\n\r\n vm.SaveSchedulingRule = function () {\r\n\r\n var RuleIdList = '';\r\n for (var i = 0; i < vm.roleScRuleList.length; i++) {\r\n if (vm.selected[i] == true) {\r\n if (!RuleIdList) {\r\n RuleIdList = vm.roleScRuleList[i].RuleId;\r\n } else {\r\n RuleIdList = RuleIdList + \",\" + vm.roleScRuleList[i].RuleId;\r\n }\r\n }\r\n }\r\n for (var j = 0; j < vm.certificateScRuleList.length; j++) {\r\n if (vm.certificateScRuleList[j].IsEnable == true) {\r\n if (!RuleIdList) {\r\n RuleIdList = vm.certificateScRuleList[j].RuleId;\r\n } else {\r\n RuleIdList = RuleIdList + \",\" + vm.certificateScRuleList[j].RuleId;\r\n }\r\n }\r\n }\r\n for (var k = 0; k < vm.assetScRuleList.length; k++) {\r\n if (vm.assetScRuleList[k].IsEnable == true) {\r\n if (!RuleIdList) {\r\n RuleIdList = vm.assetScRuleList[k].RuleId;\r\n } else {\r\n RuleIdList = RuleIdList + \",\" + vm.assetScRuleList[k].RuleId;\r\n }\r\n }\r\n }\r\n for (var l = 0; l < vm.toolScRuleList.length; l++) {\r\n if (vm.toolScRuleList[l].IsEnable == true) {\r\n if (!RuleIdList) {\r\n RuleIdList = vm.toolScRuleList[l].RuleId;\r\n } else {\r\n RuleIdList = RuleIdList + \",\" + vm.toolScRuleList[l].RuleId;\r\n }\r\n }\r\n }\r\n for (var l = 0; l < vm.TalentPoolScRuleList.length; l++) {\r\n if (vm.TalentPoolScRuleList[l].IsEnable == true) {\r\n if (!RuleIdList) {\r\n RuleIdList = vm.TalentPoolScRuleList[l].RuleId;\r\n } else {\r\n RuleIdList = RuleIdList + \",\" + vm.TalentPoolScRuleList[l].RuleId;\r\n }\r\n }\r\n }\r\n SystemConfigService.SaveSchedulingRule(loggedinUser, RuleIdList, token, function (res) {\r\n if (res.data) {\r\n vm.showSuccess(\"Success\", \"Successfully Save Scheduling Rules\");\r\n // vm.getAllSchedulingRules();\r\n // // vm.reloadData();\r\n $timeout(function () {\r\n $state.reload();\r\n }, 2000);\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to Save Scheduling Rule.\");\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n //// Assignation Rule\r\n vm.dtInstance = {};\r\n vm.selected = {};\r\n vm.toggleOne = toggleOne;\r\n vm.changePriority = changePriority;\r\n vm.setPriorityIndex = {};\r\n // vm.getAllassignationrule = function(){\r\n // ScheduledReportService.getAssignationRule(loggedinUser, token).then(function(resp){\r\n // vm.AssignationRuleList = resp.data;\r\n // });\r\n // }\r\n // // vm.getAllassignationrule();\r\n\r\n vm.dtOption = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n SystemConfigService.getAssignationRule(loggedinUser, token).then(function (resp) {\r\n vm.AssignationRuleList = resp.data;\r\n // console.log(vm.AssignationRuleList);\r\n defer.resolve(vm.AssignationRuleList);\r\n });\r\n\r\n return defer.promise;\r\n }).withDOM('<\"html5buttons\"B>lTfgitp').withPaginationType('full_numbers')\r\n .withOption('order', []).withBootstrap()\r\n .withOption('createdRow', function (row, data, dataIndex) {\r\n // Recompiling so we can bind Angular directive to the DT\r\n $compile(angular.element(row).contents())($scope);\r\n })\r\n .withOption('headerCallback', function (header) {\r\n if (!vm.headerCompileds) {\r\n // Use this headerCompiled field to only compile header once\r\n vm.headerCompileds = true;\r\n $compile(angular.element(header).contents())($scope);\r\n }\r\n });\r\n\r\n vm.dtColumn = [\r\n DTColumnBuilder.newColumn(null).withTitle(null).renderWith(function (data, type, full, meta) {\r\n vm.selected[meta.row] = data.IsEnable;\r\n return '';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn('RuleId').withTitle('RuleId').renderWith(function (data) {\r\n return '' + data + '';\r\n }).notSortable(),\r\n // DTColumnBuilder.newColumn('RuleType').withTitle('RuleType').renderWith(function (data) {\r\n // return '' + data + '';\r\n // }),\r\n DTColumnBuilder.newColumn('OrderByName').withTitle('Name').notSortable(),\r\n DTColumnBuilder.newColumn('Description').withTitle('Description').renderWith(function (data) {\r\n return '' + data + '';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn(null).withTitle('Priority Index').renderWith(function (data, type, full, meta) {\r\n \r\n vm.setPriorityIndex[meta.row] = data.PriorityIndex.toString();\r\n if(full.RuleType!=\"AssignFilter\"){\r\n return ' ';\r\n }\r\n return '';\r\n // return '' + data + '';\r\n }).notSortable()\r\n // DTColumnBuilder.newColumn('IsEnable').withTitle('IsEnable'), \r\n ];\r\n\r\n function toggleOne(selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n vm.AssignationRuleList[id].IsEnable = selectedItems[id];\r\n }\r\n }\r\n \r\n }\r\n\r\n function changePriority(allActivity){\r\n for (var id in allActivity) {\r\n if (allActivity.hasOwnProperty(id)) {\r\n vm.AssignationRuleList[id].PriorityIndex = Number(allActivity[id]);\r\n }\r\n }\r\n\r\n }\r\n\r\n vm.SaveAssignationRule = function(){\r\n if(vm.AssignationRuleList.length > 0){\r\n SystemConfigService.SaveAssignationRule(loggedinUser, vm.AssignationRuleList, token, function (res) {\r\n if (res.data) {\r\n vm.showSuccess(\"Success\", \"Successfully Save Scheduling Rules\");\r\n $timeout(function () {\r\n $state.reload();\r\n }, 2000);\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to Save Scheduling Rule.\");\r\n });\r\n }\r\n\r\n }\r\n\r\n////// Bonus and penality\r\n\r\n vm.BonusList=[];\r\n vm.UpdateBonusList=[];\r\n vm.PenaltyList=[];\r\n vm.UpdatePenaltyList=[];\r\n vm.GetAllBonusPenalty = function () {\t\t\r\n SystemConfigService.GetAllBonusPenalty(loggedinUser, token).then(function (resp) {\r\n vm.BonusPenaltyList = resp.data;\r\n for(var i = 0; i < vm.BonusPenaltyList.length; i++)\r\n {\r\n if(vm.BonusPenaltyList[i].RuleType == \"Bonus\")\t\t\t\t\r\n vm.BonusList.push(vm.BonusPenaltyList[i]);\t\t\t\t\r\n else\r\n vm.PenaltyList.push(vm.BonusPenaltyList[i]);\r\n }\t\t\t\t\t\t\r\n });\r\n }\r\n vm.GetAllBonusPenalty();\r\n \r\n vm.UpdatePenaltyAmount = function(index,paneltyEnableDisable)\r\n {\t\r\n if(vm.PenaltyList[index].Amount==null || vm.PenaltyList[index].Amount==\"\")\r\n {\r\n vm.PenaltyList[index].edit=true;\r\n if(typeof(vm.PenaltyList[index].Amount) === \"undefined\")\r\n vm.showFailure(\"Failed\", \"Please valid amount\");\r\n else\r\n vm.showFailure(\"Failed\", \"Please enter amount\");\r\n return;\r\n }\r\n var pmessage = \"\";\r\n if(vm.PenaltyList[index].IsEnable)\r\n pmessage =\"Penalty has been enable successfully\";\r\n else\r\n pmessage =\"Penalty has been disable successfully\";\r\n \r\n var PenaltyDetails= {\r\n \"RuleId\": vm.PenaltyList[index].RuleId,\r\n \"RuleName\": vm.PenaltyList[index].RuleName,\r\n \"IsEnable\": vm.PenaltyList[index].IsEnable,\r\n \"Amount\": vm.PenaltyList[index].Amount\r\n }\r\n vm.UpdatePenaltyList.push(PenaltyDetails);\r\n SystemConfigService.UpdateBonusPenalty(vm.UpdatePenaltyList,loggedinUser, token).then(function (resp) {\r\n if(resp.data == \"Updated\" && resp.status == 200)\r\n {\r\n if(paneltyEnableDisable==\"paneltyEnableDisable\")\r\n vm.showSuccess(\"Success\", pmessage);\r\n else\r\n vm.showSuccess(\"Success\", \"Penalty has been successfully updated\");\r\n }\r\n else\r\n {\r\n vm.showFailure(\"Failed\", \"Penalty not updated\");\r\n }\r\n })\r\n }\r\n\r\n\r\n vm.UpdateBonusAmount = function(index,bonusEnableDisable){\t\t\t\r\n if(vm.BonusList[index].Amount==null || vm.BonusList[index].Amount==\"\")\r\n {\r\n vm.BonusList[index].edit=true;\r\n if(typeof(vm.BonusList[index].Amount) === \"undefined\")\r\n vm.showFailure(\"Failed\", \"Please valid amount\");\r\n else\r\n vm.showFailure(\"Failed\", \"Please enter amount\");\r\n return;\r\n }\r\n var bmessage = \"\";\r\n if(vm.BonusList[index].IsEnable)\r\n bmessage =\"Bonus has been enable successfully\";\r\n else\r\n bmessage =\"Bonus has been disable successfully\";\r\n \r\n var BonusDetails= {\r\n \"RuleId\": vm.BonusList[index].RuleId,\r\n \"RuleName\": vm.BonusList[index].RuleName,\r\n \"IsEnable\": vm.BonusList[index].IsEnable,\r\n \"Amount\": vm.BonusList[index].Amount\r\n }\r\n vm.UpdateBonusList.push(BonusDetails);\r\n SystemConfigService.UpdateBonusPenalty(vm.UpdateBonusList,loggedinUser, token).then(function (resp) {\r\n if(resp.data == \"Updated\" && resp.status == 200)\r\n {\t\r\n if(bonusEnableDisable==\"bonusEnableDisable\")\r\n vm.showSuccess(\"Success\", bmessage);\r\n else\t\t\t\r\n vm.showSuccess(\"Success\", \"Bonus has been successfully updated\");\r\n }\r\n else\r\n {\r\n vm.showFailure(\"Failed\", \"Bonus not updated\");\r\n }\r\n })\r\n }\r\n\r\n\r\n\r\n //// Notification\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n if (vm.AlertType == 'main') {\r\n vm.eventType ='';\r\n }else if(vm.AlertType == 'transactional'){\r\n vm.eventType =$stateParams.eventType; \r\n }\r\n vm.mode = $stateParams.mode;\r\n vm.channelList = [\"SMS\",\"Email\",\"Notification\",\"WebNotification\"];\r\n vm.RoleList = [\"Project Manager\",\"Help Desk\",\"Supervisor\",\"Field Engineer\",\"Consumer\",\"Vendor Manager\"];\r\n vm.selectedRolesList = [];\r\n vm.channelList = [\"SMS\",\"Notifications\",\"Email\",\"WebNotification\"];\r\n vm.selectedChannelArray = '';\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n vm.eventConfigurationArray = [];\r\n vm.dtInstance = {};\r\n vm.users=[];\r\n vm.toUsers=[];\r\n vm.toList=[];\r\n vm.mobileNo = '';\r\n vm.outsiderTransText = '';\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.showInfo =$scope.$parent.$parent.main.showInfo;\r\n vm.confirmTagModal =$scope.$parent.$parent.main.confirmTagModal;\r\n vm.outSidecheck1 = false;\r\n vm.AllConfigurayionList = '';\r\n //https://test.mymobiforce.com/assets/templates/36/JOB_ASSIGNED.html\r\n vm.mailMessagePath = MailUrl+'/assets/templates/'+'36'+'/';\r\n \r\n vm.GetAlertConfiguration = function(name,type){\r\n SystemConfigService.GetAlertConfiguration(loggedinUser,name,type,token).then(function(resp){\r\n if (resp && resp.status == 200) {\r\n vm.singleNotificationAlert = resp.data;\r\n vm.eventConfigurationArray = [];\r\n angular.forEach(vm.singleNotificationAlert.ListAlertTemplate, function(d){\r\n var editObject = {};\r\n editObject.channel = [];\r\n if (d) {\r\n editObject.check=true;\r\n editObject.role = d.Role;\r\n if (d.Role!='Outsider') {\r\n if (d.SMSEnabled) {\r\n editObject.channel.push(\"SMS\");\r\n editObject.smsText = d.SMSText;\r\n \r\n }if (d.EmailEnabled) {\r\n editObject.channel.push(\"Email\")\r\n }if (d.NotificationEnabled) {\r\n editObject.channel.push(\"Notifications\");\r\n editObject.smsText = d.NotificationText;\r\n }\r\n if (d.WebNotificationEnabled) {\r\n editObject.channel.push(\"WebNotification\");\r\n editObject.smsText = d.WebNotificationText;\r\n }\r\n vm.eventConfigurationArray.push(editObject);\r\n }else if (d.Role == 'Outsider') {\r\n vm.outSidecheck1 = true;\r\n vm.outsiderTransText = d.SMSText\r\n vm.toList = [];\r\n angular.forEach(d.UserOutSideContact, function(d){\r\n var objOutsider = {};\r\n if (d) {\r\n objOutsider.PersonalEmail = d.UserOutSideEmail;\r\n objOutsider.ContactNumber = d.UserOutSidePhone;\r\n vm.toList.push(objOutsider);\r\n }\r\n })\r\n // var emailArray = d.UserOutsideSystemEmail.split(\",\");\r\n // var mobileArray = d.UserOutSideSystemPhone.split(\",\");\r\n // vm.toList = [];\r\n // angular.forEach(emailArray,function(d){\r\n // var emailObj = [];\r\n // if (d!=\"\") {\r\n // emailObj.PersonalEmail = d;\r\n // vm.toList.push(emailObj);\r\n // }\r\n // })\r\n }\r\n \r\n }\r\n \r\n //console.log('vm.eventConfigurationArray',vm.eventConfigurationArray);\r\n })\r\n }\r\n })\r\n }\r\n \r\n vm.showTransactionalEdit =false;\r\n vm.EditAlerts = function(alertType,alertId,mode){\r\n if (alertType == 'transactional') {\r\n vm.alertType = alertType,\r\n vm.eventType = alertId,\r\n vm.mode = mode;\r\n if(vm.mode == true){\r\n vm.GetAlertConfiguration(vm.eventType,vm.alertType);\r\n }\r\n // $state.go('index.NotificationSettings',{\r\n // alertType:alertType,\r\n // eventType:alertId,\r\n // mode:true\r\n // },{\r\n // reload:true\r\n // })\r\n vm.showTransactionalEdit = true;\r\n }else if (alertType == 'SLA') {\r\n $state.go('index.SLASettings',{\r\n mode:true\r\n },{\r\n reload:true\r\n })\r\n \r\n }else if (alertType == 'Escalation') {\r\n $state.go('index.EscalationSettings',{\r\n mode:true,\r\n alertId:alertId\r\n },{\r\n reload:true\r\n })\r\n }\r\n \r\n }\r\n \r\n \r\n \r\n if (vm.mode == \"true\") {\r\n vm.mode = true;\r\n if(vm.AlertType == 'transactional'){\r\n vm.GetAlertConfiguration(vm.eventType,vm.AlertType);\r\n }\r\n \r\n }else{\r\n vm.mode = false;\r\n }\r\n vm.OpenTransactionalModal = function(){\r\n TransactionalModal = $uibModal.open({\r\n templateUrl: 'transactional-alert',\r\n scope: $scope,\r\n size:'lg'\r\n })\r\n }\r\n vm.CloseTransactionalModal = function(){\r\n TransactionalModal.close();\r\n }\r\n var confObject = {\r\n // check_1:'',\r\n // role_1:'',\r\n // channel_1:'',\r\n // emailP_1:'',\r\n // smsText_1:''\r\n }\r\n //vm.eventConfigurationArray.push(confObject);\r\n \r\n vm.AddEventsConfiguration = function(){\r\n var ele={};\r\n vm.eventConfigurationArray.push(ele);\r\n }\r\n vm.RemoveEventsConfiguration = function (index){\r\n vm.eventConfigurationArray.splice(index, 1);\r\n }\r\n \r\n \r\n \r\n \r\n // vm.GetEvent = function(event){\r\n // vm.eventType = event;\r\n // console.log('vm.eventType before',vm.eventType); \r\n // vm.CloseTransactionalModal();\r\n // console.log('vm.eventType after',vm.eventType); \r\n // }\r\n \r\n vm.OpenMailModal = function(){\r\n MailModal = $uibModal.open({\r\n templateUrl: 'mail-modal',\r\n scope: $scope,\r\n size:'lg'\r\n })\r\n }\r\n vm.CloseMailModal = function(){\r\n MailModal.close();\r\n }\r\n \r\n var confObject = {\r\n \r\n }\r\n vm.eventConfigurationArray.push(confObject);\r\n \r\n vm.AddEventsConfiguration = function(){\r\n var ele={};\r\n vm.eventConfigurationArray.push(ele);\r\n }\r\n vm.RemoveEventsConfiguration = function (index){\r\n vm.eventConfigurationArray.splice(index, 1);\r\n }\r\n // vm.storeSelectedRoles = function(role){\r\n \r\n // vm.selectedRolesList.push(vm.RoleList[role]);\r\n // }\r\n \r\n // vm.removeSelectedRoles = function (element) {\r\n // var matched = false;\r\n // angular.forEach(vm.selectedRolesList, function (d) {\r\n // if (d == element) {\r\n // matched = true;\r\n // return;\r\n // }\r\n // });\r\n // if (!matched) {\r\n // return element;\r\n // }\r\n // }\r\n vm.getUserSuggestion = function (val) {\r\n \r\n // vm.scheduleModel.toListMendtryErr=false;\r\n \r\n var re = /^[A-Za-z0-9]+([\\.\\-_]*[A-Za-z0-9]+)*@[A-Za-z0-9]+([\\.\\-_]*[A-Za-z0-9]+)*\\.([A-Za-z]{2}|[A-Za-z]{3})$/;\r\n if (vm.users.length > 0) {\r\n return re.test(val)?[{FirstName:val.split(\"@\")[0], LastName:\"\", UserId:val}].concat(vm.users):vm.users;\r\n }\r\n vm.getUsers();\r\n return re.test(val)?[{FirstName:val.split(\"@\")[0], LastName:\"\", UserId:val}]:[];\r\n }\r\n \r\n vm.getUsers = function () {\r\n vm.users = [];\r\n ReportService.getUsers(loggedinUser, token, vm.createCallback(vm.users, [function (data) {\r\n //$log.log(data);\r\n }]));\r\n }\r\n \r\n vm.searchAsOr = function (searchText1) {\r\n return function (entry) {\r\n var splittedText = searchText1.split(\";\");\r\n if (splittedText != null && splittedText.length > 0) {\r\n var searchText = splittedText[splittedText.length - 1].trim();\r\n if (entry.FirstName.toLowerCase().indexOf(searchText.toLowerCase()) > -1\r\n || (entry.LastName !=null && entry.LastName.toLowerCase().indexOf(searchText.toLowerCase()) > -1)\r\n || entry.UserId.toLowerCase().indexOf(searchText.toLowerCase()) > -1)\r\n return entry;\r\n }\r\n }\r\n }\r\n vm.removeSelectedUsers = function (element) {\r\n var matched = false;\r\n angular.forEach(vm.toList, function (d) {\r\n if (d.PersonalEmail == element.PersonalEmail) {\r\n matched = true;\r\n return;\r\n }\r\n });\r\n if (!matched) {\r\n return element;\r\n }\r\n }\r\n vm.selectUserNameInToList = function (item,mobile) {\r\n if (item == '' && mobile == '') {\r\n vm.showInfo(\"Information\",\"Please enter email or mobile\");\r\n return;\r\n }\r\n var obj=[];\r\n if (item && item.length!=0) {\r\n obj.PersonalEmail = item;\r\n }\r\n \r\n if (mobile && mobile.length>0) {\r\n obj.ContactNumber = mobile; \r\n }else{\r\n angular.forEach(vm.users, function(d){\r\n if (d.PersonalEmail == item) {\r\n obj.ContactNumber = d.ContactNumber;\r\n }\r\n })\r\n }\r\n vm.toList.push(obj);\r\n vm.toUsers = [];\r\n vm.mobileNo = '';\r\n }\r\n vm.RemovefromList = function(index){\r\n vm.toList.splice(index,1);\r\n }\r\n \r\n vm.SaveEventConfiguration = function(){\r\n \r\n if (vm.config_form.$valid) {\r\n var obj = {};\r\n obj.AlertType = vm.AlertType;\r\n obj.AlertId = vm.eventType;\r\n var alertArray = [];\r\n angular.forEach(vm.eventConfigurationArray, function(d){\r\n var alertObject = {};\r\n if (d && d.check) {\r\n if (d.channel.indexOf('SMS')!=-1) {\r\n alertObject.SMSEnabled = true;\r\n alertObject.SMSText = d.smsText;\r\n }else{\r\n alertObject.SMSEnabled = false;\r\n alertObject.SMSText = \"\";\r\n }\r\n if (d.channel.indexOf('Email')!=-1) {\r\n alertObject.EmailEnabled = true;\r\n alertObject.EmailTemplateName =vm.eventType;\r\n alertObject.EmailSubject = vm.eventType;\r\n }else{\r\n alertObject.EmailEnabled = false;\r\n alertObject.EmailTemplateName =\"\";\r\n alertObject.EmailSubject = \"\";\r\n }if (d.channel.indexOf('Notifications')!=-1) {\r\n alertObject.NotificationEnabled = true;\r\n alertObject.NotificationText =d.smsText;\r\n }else{\r\n alertObject.NotificationEnabled = false;\r\n alertObject.NotificationText =\"\";\r\n }if (d.channel.indexOf('WebNotification')!=-1) {\r\n alertObject.WebNotificationEnabled = true;\r\n alertObject.WebNotificationText =d.smsText;\r\n }else{\r\n alertObject.WebNotificationEnabled = false;\r\n alertObject.WebNotificationText =\"\";\r\n }if (d.channel.indexOf('WhatsApp')!=-1) {\r\n alertObject.WhatsAppEnabled = true;\r\n alertObject.WhatsAppText =d.smsText;\r\n }else{\r\n alertObject.WhatsAppEnabled = false;\r\n alertObject.WhatsAppText =\"\";\r\n }\r\n alertObject.Role = d.role;\r\n alertObject.UserOutSideContact=[];\r\n alertObject.UserOutSideContact.UserOutSideEmail = \"\";\r\n alertObject.UserOutSideContact.UserOutSidePhone = \"\";\r\n alertArray.push(alertObject);\r\n }\r\n })\r\n \r\n if (vm.outSidecheck1) {\r\n if (vm.toList && vm.toList.length>0) {\r\n var alertObject = {}\r\n var outSiderModel = [];\r\n angular.forEach(vm.toList, function(d){\r\n var objModel = {};\r\n if (d) {\r\n objModel.UserOutSideEmail = d.PersonalEmail;\r\n objModel.UserOutSidePhone = d.ContactNumber;\r\n outSiderModel.push(objModel);\r\n }\r\n })\r\n \r\n alertObject.UserOutSideContact = outSiderModel;\r\n alertObject.Role = \"Outsider\";\r\n alertObject.SMSText = vm.outsiderTransText;\r\n alertObject.SMSEnabled = true;\r\n alertObject.EmailEnabled = true;\r\n alertObject.EmailSubject = vm.eventType;\r\n alertObject.EmailTemplateName = vm.eventType;\r\n alertObject.NotificationEnabled = false;\r\n alertObject.NotificationText = \"\";\r\n alertObject.WhatsAppEnabled = false;\r\n alertObject.WhatsAppText = \"\";\r\n alertArray.push(alertObject);\r\n }else{\r\n vm.showInfo(\"Information\",\"Please select outside users or uncheck the button\");\r\n return;\r\n }\r\n }\r\n obj.ListAlertTemplate = alertArray;\r\n //console.log('obj',obj);\r\n SystemConfigService.CreateTransactionalAlert(loggedinUser,token,obj).then(function(resp){\r\n if (resp && resp.data) {\r\n vm.showSuccess(\"Success\",vm.eventType +\"-Transactional Alert has been created\");\r\n $timeout(function(){\r\n vm.showTransactionalEdit = false;\r\n // $state.go('index.NotificationSettings',{\r\n // alertType:'main',\r\n // eventType:'',\r\n // mode:''\r\n // },{\r\n // reload:true\r\n // });\r\n },1000)\r\n }else{\r\n vm.showFailure(\"Failure\",vm.eventType +\"-Transactional Alert creation failed due to some technical error\");\r\n }\r\n })\r\n }else{\r\n vm.config_form.submitted = true;\r\n }\r\n \r\n }\r\n \r\n \r\n vm.GetAllAlertConfiguration = function(){\r\n SystemConfigService.GetAllAlertConfiguration(loggedinUser,token).then(function(resp){\r\n if (resp && resp.status == 200 && resp.data && resp.data.length>0) {\r\n vm.AllConfigurationList = resp.data;\r\n //console.log('vm.AllConfigurayionList',vm.AllConfigurationList);\r\n }else{\r\n vm.showFailure(\"Error\",\"No Configuration found\")\r\n }\r\n })\r\n }\r\n \r\n vm.DeleteAlertConfiguration = function(name,type){\r\n if(name){\r\n vm.confirmTagModal(\"Do you want to delete selected configuration?\",function(){\r\n if (type=='transactional') {\r\n SystemConfigService.DeleteAlertConfiguration(loggedinUser,name,type,token).then(function(resp){\r\n if (resp) {\r\n vm.showSuccess(\"Success\",\"Alert has been deleted successfully\");\r\n $timeout(function(){\r\n vm.GetAllAlertConfiguration();\r\n },2000)\r\n \r\n }else{\r\n vm.showFailure(\"Error\",\"Technical error occured\")\r\n }\r\n })\r\n }else if(type == 'Escalation'){\r\n SystemConfigService.DeleteEscalationAlertConfiguration(loggedinUser,name,type,token).then(function(resp){\r\n if (resp) {\r\n vm.showSuccess(\"Success\",\"Alert has been deleted successfully\");\r\n $timeout(function(){\r\n vm.GetAllAlertConfiguration();\r\n },2000)\r\n \r\n }else{\r\n vm.showFailure(\"Error\",\"Technical error occured\")\r\n }\r\n })\r\n \r\n }else if(type == 'SLA'){\r\n SystemConfigService.DeleteSLAAlertConfiguration(loggedinUser,name,type,token).then(function(resp){\r\n if (resp) {\r\n vm.showSuccess(\"Success\",\"Alert has been deleted successfully\");\r\n $timeout(function(){\r\n vm.GetAllAlertConfiguration();\r\n },2000)\r\n \r\n }else{\r\n vm.showFailure(\"Error\",\"Technical error occured\")\r\n }\r\n })\r\n }\r\n })\r\n }\r\n \r\n }\r\n \r\n //Global Call functions\r\n // if (vm.AlertType == 'main') {\r\n // vm.GetAllAlertConfiguration();\r\n // }\r\n \r\n \r\n vm.dtOptions = DTOptionsBuilder.newOptions().withDOM(\r\n '<\"html5buttons\"B>lTfrgitp')\r\n .withButtons([]).withPaginationType(\r\n 'full_numbers').withOption('lengthChange', false)\r\n .withOption('searching',true)\r\n .withOption('initComplete', function () {\r\n $('.dataTables_filter input').unbind();\r\n });\r\n // .withOption('order', [1, 'asc']);\r\n \r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable()\r\n ];\r\n \r\n\r\n }\r\n});\r\nfunction checktwodecimal(el){\r\n\tvar ex = /^\\d*\\.?\\d{0,2}$/;\r\n\tif(ex.test(el.value)==false){\r\n\t el.value = el.value.substring(0,el.value.length - 1);\r\n\t }\r\n }\nangular.module('inspinia').service('TabAdvancedDashboardService', function (ApiURL, PublicApiURL, $log, $http, DashboardURL, ActivityURL) {\r\n \r\n var vm = this;\r\n\r\n vm.setShowSuccess = function (success) {\r\n vm.showSuccess = success;\r\n }\r\n\r\n vm.setShowFailure = function (failure) {\r\n vm.showFailure = failure;\r\n }\r\n \r\n vm.getDashboard = function (loggedinUser, dashbardName, token, callback) {\r\n $http.get(DashboardURL+'/api/Dashboard/'+loggedinUser+'/'+ dashbardName + '/GetDashboardByName', {\r\n headers: {'Token': token, 'UserId': loggedinUser}\r\n }).then(function(res){\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n })\r\n }\r\n\r\n vm.getChart = function (loggedinUser, chartType, metrics, dimensions, token, callback) {\r\n $http.get(DashboardURL + '/api/Chart?ReqUserId=' + loggedinUser + '&ChartType=' + chartType + '&Metrics=' + metrics + '&DimensionList=' + dimensions + '&RollsUP=null', {\r\n headers: {'Token': token, 'UserId': loggedinUser}\r\n }).then(function (res) {\r\n if (callback && (res.status == 200)) {\r\n callback(res.data);\r\n }\r\n })\r\n }\r\n\r\n this.getSkills = function (loggedinUser, token, callback, failure) {\r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json', 'Token': token,'UserId': loggedinUser } }).then(function (res) {\r\n if(callback){\r\n callback(res.data);\r\n }\r\n }, function () {\r\n failure(\"skills\", \"Unable to get skills\");\r\n });\r\n }\r\n\r\n\r\n this.getAccounts = function (loggedinUser, token, callback, failure) {\r\n var url = ApiURL + '/api/account/GetAllAccountsMiniModel';\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json', 'Token': token,'UserId': loggedinUser } }).then(function (res) {\r\n if(callback){\r\n callback(res.data);\r\n }\r\n }, function () {\r\n failure(\"skills\", \"Unable to get accounts\");\r\n });\r\n }\r\n\r\n this.GetKPIAccounts = function (businessunit,vertical,month,year,loggedinUser, token, callback, failure) {\r\n var url = DashboardURL + '/api/AccountKPI/GetAccounts?BusinessUnit=' + businessunit + '&Vertical=' + vertical + '&TargetMonth=' + month +'&TargetYear=' + year;\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json', 'Token': token,'UserId': loggedinUser } }).then(function (res) {\r\n if(callback){\r\n callback(res.data);\r\n }\r\n }, function () {\r\n failure(\"skills\", \"Unable to get accounts\");\r\n });\r\n }\r\n\r\n this.getBusinessUnits = function (vertical,loggedinUser, token, callback, failure) {\r\n // var url = ApiURL + '/api/accountConfig/GetAllEnterpriseType';\r\n var url = DashboardURL + '/api/AccountKPI/GetBusinessUnits?BusinessUnit=' +vertical;\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json', 'Token': token,'UserId': loggedinUser } }).then(function (res) {\r\n if(callback){\r\n callback(res.data);\r\n }\r\n }, function () {\r\n failure(\"skills\", \"Unable to get business units\");\r\n });\r\n }\r\n\r\n this.GetVerticals = function (loggedinUser, token, callback, failure) {\r\n var url = DashboardURL + '/api/AccountKPI/GetVerticals';\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json', 'Token': token,'UserId': loggedinUser } }).then(function (res) {\r\n if(callback){\r\n callback(res.data);\r\n }\r\n }, function () {\r\n failure(\"skills\", \"Unable to get verticals\");\r\n });\r\n }\r\n\r\n\r\n this.getAllState = function (loggedInUserId, token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedInUserId \r\n } \r\n });\r\n }\r\n\r\n this.getDistrictsByState = function (loggedinUser, token, state, callback, failure) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+state;\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser }}).then(function (res) {\r\n callback(res.data.values);\r\n }, function () {\r\n failure(\"states\", \"Unable to get district\");\r\n });\r\n }\r\n\r\n this.getCitiesByState = function (loggedinUser, token, state) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+state;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n } \r\n });\r\n }\r\n\r\n vm.getChart1 = function (loggedinUser, token, chartType, metrics, dimensions, rollUp, filterKeys, filterValues,chartName,isData,total, callback) {\r\n $http.get(DashboardURL + '/api/Chart?ReqUserId=' + loggedinUser + '&ChartType=' + chartType + '&Metrics=' + metrics + '&DimensionList=' + dimensions + '&RollsUP='+encodeURI(rollUp)+\"&FilterKeys=\"+filterKeys+\"&FilterValues=\"+filterValues+\"&isData=\"+isData+\"&total=\"+total, {headers:{'Token': token, 'UserId': loggedinUser}}).then(function (res) {\r\n if (callback) {\r\n res.data['chartName'] = chartName;\r\n callback(res.data);\r\n }\r\n });\r\n }\r\n\r\n});\nangular.module('inspinia').controller('TabAdvancedDashboardController', function ($state, $stateParams,$element, DTColumnBuilder, $q,$compile, $scope,AdvancedDashboardService, TabAdvancedDashboardService, CentralHelpdeskConfigService, $stateParams, $q, $log, $localStorage, DTOptionsBuilder, DTColumnDefBuilder, ReportService, $timeout) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var loggedinUserRole = $localStorage.loggedInUser_Role;\r\n vm.matrixName = '';\r\n\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n } else {\r\n var token = $localStorage.token;\r\n vm.OpenedDashboardName = $stateParams.name;\r\n vm.OpenedVerticalName = $stateParams.vertical;\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n TabAdvancedDashboardService.setShowSuccess($scope.$parent.$parent.main.showSuccess);\r\n TabAdvancedDashboardService.setShowFailure($scope.$parent.$parent.main.showFailure);\r\n vm.dashboard_data = {};\r\n vm.metricsCharts = {};\r\n vm.tableCharts = {};\r\n vm.lineCharts = {};\r\n vm.pieCharts = {};\r\n vm.barCharts = {};\r\n vm.stackedCharts ={};\r\n vm.gaugeCharts ={};\r\n vm.deepLink = {};\r\n vm.selectDimension = {};\r\n vm.TabOrder = [];\r\n vm.states = [];\r\n var start_date = '';\r\n vm.BusinessUnit = '';\r\n vm.SelectedVertical = '';\r\n vm.State = '';\r\n vm.Skill = '';\r\n vm.Account = '';\r\n vm.filterKeys = '';\r\n vm.filterValues = '';\r\n var thisFiscalStart = '';\r\n var thisFiscalEnd = '';\r\n var intialLoad = true;\r\n vm.districts = [];\r\n vm.District = '';\r\n //vm.enableFilter = false;\r\n vm.filters = [];\r\n var total = '';\r\n vm.IsFilterApplied = false;\r\n vm.accountListForFilter = \"\";\r\n vm.selectedTabName = \"All\";\r\n var fPageIndex = 1;\r\n var fPageSize = 10;\r\n vm.financePageListCount = 10;\r\n vm.pageListCounts = [10, 20, 30, 50];\r\n\r\n if (moment().quarter() === 2) {\r\n thisFiscalStart = moment().month('April').startOf('month');\r\n thisFiscalEnd = moment().add(1, 'year').month('March').endOf('month');\r\n } else {\r\n thisFiscalStart = moment().subtract(1, 'year').month('April').startOf('month');\r\n thisFiscalEnd = moment().month('March').endOf('month');\r\n };\r\n\r\n $scope.ranges = {\r\n 'Today': [moment(), moment()], \r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')], \r\n 'Payment week': [moment().startOf('week').isoWeekday(1), moment().endOf('week').isoWeekday(0)], \r\n // 'Last week': [moment().subtract(1, 'weeks').startOf('week').isoWeekday(1), moment().subtract(1, 'weeks').endOf('week').isoWeekday(0)], \r\n // 'This week': [moment().startOf('week'), moment().endOf('week')], \r\n 'This week': [moment().startOf('isoWeek'), moment().endOf('isoWeek')], \r\n 'Last week': [moment().subtract(1, 'weeks').startOf('week'), moment().subtract(1, 'weeks').endOf('week')], \r\n 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n 'Last month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')],\r\n // 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This quater': [moment().startOf('quarter'), moment().endOf('quarter')],\r\n 'Last quater': [moment().subtract(1, 'quarters').startOf('quarter'), moment().subtract(1, 'quarters').endOf('quarter')], \r\n 'This year': [thisFiscalStart, thisFiscalEnd], \r\n 'Till now': [moment().subtract(5, 'years'), moment()]\r\n };\r\n\r\n vm.navigateToAdvanceDashboard = function (DashboardName, VerticalName) {\r\n $state.go('index.TabAdvancedDashboard', {\r\n name: DashboardName,\r\n vertical: VerticalName\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.IsDashboardFilterCheckRun = false;\r\n vm.DateRangeSelectedKey = \"Last Month\";\r\n vm.ActualSelectedKey = 'This Month';\r\n $scope.dateRangeChange = function(ev, picker){\r\n if (picker.chosenLabel == 'Today') {\r\n vm.DateRangeSelectedKey = 'Yesterday';\r\n vm.ActualSelectedKey = 'Today';\r\n } else if (picker.chosenLabel == 'This week') {\r\n vm.DateRangeSelectedKey = 'Last Week';\r\n vm.ActualSelectedKey = 'This Week';\r\n } else if (picker.chosenLabel == 'This month') {\r\n vm.DateRangeSelectedKey = 'Last Month';\r\n vm.ActualSelectedKey = 'This Month';\r\n } else if (picker.chosenLabel == 'Last month') {\r\n vm.DateRangeSelectedKey = 'Two Months Ago';\r\n vm.ActualSelectedKey = 'Last Month';\r\n } else {\r\n vm.DateRangeSelectedKey = picker.chosenLabel;\r\n vm.ActualSelectedKey = 'Custom Range';\r\n }\r\n var startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n month = moment(startDate).format('MMMM');\r\n year =moment(startDate).format('YYYY');\r\n var endDate = picker.endDate.format(\"YYYY-MM-DD\"); \r\n vm.rollup = \"Range(\"+startDate+\"|\"+endDate+\")\";\r\n vm.tableCharts = {};\r\n vm.loadSpecificDashboard($stateParams.name);\r\n intialLoad = false;\r\n };\r\n\r\n// $scope.dateRangeChange = function(ev, picker){\r\n// var startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n// var endDate = picker.endDate.format(\"YYYY-MM-DD\"); \r\n \r\n// var duration = picker.endDate.diff(picker.startDate, 'days');\r\n// vm.Age = duration;\r\n// vm.rollup = \"Range(\"+startDate+\"|\"+endDate+\")\";\r\n// vm.tableCharts = {};\r\n// if(vm.Age <= 31) {\r\n// vm.loadSpecificDashboard($stateParams.name);\r\n// intialLoad = false;\r\n// }\r\n// else {\r\n// // vm.showFailure(\"Please Select date range within 30 days\");\r\n// alert(\"Please Select date range within 30 days\");\r\n// }\r\n\r\n// };\r\n \r\n $scope.dates = { startDate: thisFiscalStart, endDate: thisFiscalEnd};\r\n vm.rollup = \"Range(\"+thisFiscalStart.format(\"YYYY-MM-DD\")+\"|\"+thisFiscalEnd.format(\"YYYY-MM-DD\")+\")\";\r\n\r\n vm.getSkills = function () {\r\n TabAdvancedDashboardService.getSkills(loggedinUser, token, function (skills) {\r\n vm.skills = skills; \r\n }, vm.showFailure);\r\n } \r\n vm.getSkills();\r\n\r\n\r\n var month = moment().format(\"MMMM\");\r\n var year = moment().format(\"YYYY\");\r\n \r\n\r\n // $scope.dropdownVerticalChange = function() {\r\n // if (vm.SelectedVertical && vm.SelectedVertical.length > 0) {\r\n // vm.getBusinessUnits();\r\n // vm.Allapplyfilter();\r\n // }\r\n // };\r\n\r\n // $scope.dropdownBusinessUnitChange = function() {\r\n // if (vm.BusinessUnit && vm.BusinessUnit.length > 0) {\r\n // vm.getAccounts();\r\n // vm.Allapplyfilter();\r\n // }\r\n // };\r\n\r\n // $scope.removeVertical = function(vertical) {\r\n // var index = vm.SelectedVertical.indexOf(vertical);\r\n // if (index > -1) {\r\n // vm.SelectedVertical.splice(index, 1);\r\n // vm.Allapplyfilter();\r\n // }\r\n // };\r\n // $scope.removeBusiness = function(business) {\r\n // var index = vm.BusinessUnit.indexOf(business);\r\n // if (index > -1) {\r\n // vm.BusinessUnit.splice(index, 1);\r\n // vm.getAccounts();\r\n // }\r\n // };\r\n // $scope.removeAccount = function(account) {\r\n // var index = vm.Account.indexOf(account);\r\n // if (index > -1) {\r\n // vm.Account.splice(index, 1);\r\n // vm.Allapplyfilter();\r\n // }\r\n // };\r\n \r\n \r\n vm.getAccounts = function () {\r\n if($stateParams.name == 'BU_KPI_DashBoard' || $stateParams.vertical) {\r\n if($stateParams.vertical){\r\n vm.selectedTabName = '';\r\n if ($stateParams.vertical == 'WG_EW') {\r\n vm.SelectedVertical = 'WhiteGoods';\r\n vm.BusinessUnit = 'WG_EW';\r\n }\r\n else if ($stateParams.vertical == 'WG_OEM') {\r\n vm.SelectedVertical = 'WhiteGoods';\r\n vm.BusinessUnit = 'WG_OEM';\r\n }\r\n else if ($stateParams.vertical == 'Telecom') {\r\n vm.SelectedVertical = 'Telecom';\r\n vm.BusinessUnit = '';\r\n }\r\n else if ($stateParams.vertical == 'CCTV') {\r\n vm.SelectedVertical = 'CCTV';\r\n vm.BusinessUnit = '';\r\n }\r\n else if ($stateParams.vertical == 'Network') {\r\n vm.SelectedVertical = 'Network';\r\n vm.BusinessUnit = '';\r\n }\r\n else if ($stateParams.vertical == 'Product') {\r\n vm.SelectedVertical = 'Product';\r\n vm.BusinessUnit = '';\r\n }\r\n else if (tabName == 'Team Productvity _WG') {\r\n vm.SelectedVertical = 'WhiteGoods';\r\n vm.BusinessUnit = '';\r\n }\r\n else if (tabName == 'Support') {\r\n vm.SelectedVertical = '';\r\n vm.BusinessUnit = '';\r\n }\r\n }\r\n }\r\n TabAdvancedDashboardService.GetKPIAccounts(vm.BusinessUnit,vm.SelectedVertical,month,year,loggedinUser, token, function (accounts) {\r\n vm.accounts = accounts.ActiveAccounts; \r\n var accountIds = []; \r\n angular.forEach(vm.accounts, function(d){\r\n accountIds.push(d.AccountId);\r\n }) \r\n vm.accountListForFilter = accountIds.join('|'); \r\n if(($stateParams.name == 'BU_KPI_DashBoard' && (vm.selectedTabName == 'WG_EW' || vm.selectedTabName == 'WG_OEM' || vm.selectedTabName == 'Telecom' || vm.selectedTabName == 'CCTV' || vm.selectedTabName == 'Network' || vm.selectedTabName == 'Product' || vm.selectedTabName == 'Team Productvity _WG' || vm.selectedTabName == 'Support')) || $stateParams.vertical) {\r\n vm.Allapplyfilter();\r\n }\r\n }, vm.showFailure); \r\n } \r\n vm.getAccounts();\r\n \r\n vm.updateDefaultDateFilter = function( dasahboardFilter){ \r\n if(intialLoad){ \r\n var startDate = '';\r\n var endDate = '';\r\n if(dasahboardFilter && dasahboardFilter.DefaultDateFilter)\r\n { \r\n startDate = $scope.ranges[dasahboardFilter.DefaultDateFilter][0];\r\n endDate = $scope.ranges[dasahboardFilter.DefaultDateFilter][1]; \r\n $scope.dates = { startDate: startDate, endDate: endDate};\r\n month = startDate.format(\"MMMM\");\r\n year = startDate.format(\"YYYY\");\r\n $scope.$broadcast('update.daterangepicker', {date: $scope.dates});\r\n vm.rollup = \"Range(\"+startDate.format(\"YYYY-MM-DD\")+\"|\"+endDate.format(\"YYYY-MM-DD\")+\")\"; \r\n }\r\n }\r\n }\r\n\r\n vm.getBusinessUnits = function () {\r\n vm.BusinessUnit = '';\r\n TabAdvancedDashboardService.getBusinessUnits(vm.SelectedVertical,loggedinUser, token, function (businessUnits) {\r\n vm.businessUnits = businessUnits;\r\n vm.getAccounts();\r\n }, vm.showFailure);\r\n } \r\n vm.getBusinessUnits();\r\n\r\n vm.GetVerticals = function () {\r\n TabAdvancedDashboardService.GetVerticals(loggedinUser, token, function (verticals) {\r\n vm.verticalsList = verticals; \r\n }, vm.showFailure);\r\n } \r\n vm.GetVerticals();\r\n\r\n vm.getStates = function () {\r\n TabAdvancedDashboardService.getAllState(loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length > 0) {\r\n vm.states = resp.data;\r\n }\r\n }\r\n });\r\n }\r\n vm.getStates();\r\n\r\n vm.getDistrictByState = function () {\r\n TabAdvancedDashboardService.getDistrictsByState(loggedinUser, token, vm.State, function (districts) {\r\n vm.districts = districts; \r\n }, vm.showFailure);\r\n }\r\n\r\n vm.getCitiesByState = function () {\r\n TabAdvancedDashboardService.getCitiesByState(loggedinUser, token, vm.State).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length > 0) {\r\n vm.districts = resp.data;\r\n }\r\n }\r\n });\r\n }\r\n // vm.getCitiesByState();\r\n\r\n // vm.Allapplyfilter = function(){\r\n // vm.filterKeys = '';\r\n // vm.filterValues = '';\r\n // if(vm.SelectedVertical != '' && vm.Account == ''){\r\n // vm.Account = vm.accountListForFilter;\r\n // }\r\n // if(vm.BusinessUnit != '' && vm.Account == ''){\r\n // vm.Account = vm.accountListForFilter;\r\n // }\r\n // if(vm.SelectedVertical != '' || vm.Account != '' || vm.BusinessUnit != ''){\r\n // vm.IsFilterApplied = true;\r\n // }\r\n // // prepareFilters('BusinessUnit', vm.BusinessUnit);\r\n // // prepareFilters('AccountName', vm.Account);\r\n // prepareFilters('AccountId', vm.Account);\r\n // // prepareFilters('Skill', vm.Skill);\r\n // // prepareFilters('State', vm.State);\r\n // // prepareFilters('City', vm.District);\r\n // vm.tableCharts = {};\r\n // vm.loadSpecificDashboard($stateParams.name); \r\n // }\r\n\r\n // var prepareFilters = function(filterkey, filervalue){ \r\n // if(filervalue)\r\n // {\r\n // if(vm.filterKeys)\r\n // {\r\n // vm.filterKeys = vm.filterKeys + ',' + filterkey;\r\n // vm.filterValues = vm.filterValues + ',' + filervalue;\r\n // }\r\n // else\r\n // {\r\n // vm.filterKeys = filterkey;\r\n // vm.filterValues = filervalue;\r\n\r\n // }\r\n // }\r\n // }\r\n \r\n \r\n vm.Allapplyfilter = function(){\r\n vm.filterKeys = '';\r\n vm.filterValues = '';\r\n // if(vm.SelectedVertical != '' && vm.Account == ''){\r\n vm.Account = vm.accountListForFilter;\r\n if(vm.Accountlist){\r\n vm.Account = vm.Accountlist\r\n }\r\n // }\r\n // if(vm.BusinessUnit != '' && vm.Account == ''){\r\n // vm.Account = vm.accountListForFilter;\r\n // }\r\n if(vm.SelectedVertical != '' || vm.Account != '' || vm.BusinessUnit != ''){\r\n vm.IsFilterApplied = true;\r\n }\r\n if(vm.selectedTabName != 'All' && vm.selectedTabName != 'Support'){\r\n prepareFilters('AccountId', vm.Account);\r\n }\r\n else if (vm.selectedTabName == 'All' || vm.selectedTabName == 'Support'){\r\n vm.Account = '';\r\n }\r\n // prepareFilters('BusinessUnit', vm.BusinessUnit);\r\n // prepareFilters('AccountName', vm.Account);\r\n \r\n // prepareFilters('Skill', vm.Skill);\r\n // prepareFilters('State', vm.State);\r\n // prepareFilters('City', vm.District);\r\n vm.tableCharts = {};\r\n vm.loadSpecificDashboard($stateParams.name); \r\n }\r\n \r\n \r\n var prepareFilters = function(filterkey, filervalue){ \r\n if(filervalue)\r\n {\r\n if(vm.filterKeys)\r\n {\r\n vm.filterKeys = vm.filterKeys + ',' + filterkey;\r\n vm.filterValues = vm.filterValues + ',' + filervalue;\r\n }\r\n else\r\n {\r\n vm.filterKeys = filterkey;\r\n vm.filterValues = filervalue;\r\n \r\n }\r\n }\r\n }\r\n\r\n vm.ResetFilter = function(){\r\n vm.filterKeys = '';\r\n vm.filterValues = '';\r\n vm.BusinessUnit = '';\r\n vm.SelectedVertical = '';\r\n vm.Account = '';\r\n vm.Accountlist = '';\r\n vm.Skill = '';\r\n vm.State = '';\r\n vm.District = '';\r\n vm.tableCharts = {};\r\n vm.IsFilterApplied = false;\r\n vm.loadSpecificDashboard($stateParams.name);\r\n }\r\n\r\n\r\n vm.changeBackgroundColor = function(event, tabName) {\r\n vm.selectedTabName = tabName;\r\n if (vm.clickedDiv) {\r\n vm.clickedDiv.css('background', '#fff');\r\n vm.clickedDiv.css('color', 'black');\r\n }\r\n if (event && event.target) {\r\n var divElement = angular.element(event.target);\r\n divElement.css('background', 'linear-gradient(0deg, rgba(0,3,255,1) 0%, rgba(2,126,251,1) 100%)');\r\n divElement.css('color', 'white');\r\n vm.clickedDiv = divElement;\r\n }\r\n if ($stateParams.name == 'BU_KPI_DashBoard' && tabName != 'All') {\r\n if (tabName == 'WG_EW') {\r\n vm.SelectedVertical = 'WhiteGoods';\r\n vm.BusinessUnit = 'WG_EW';\r\n }\r\n else if (tabName == 'WG_OEM') {\r\n vm.SelectedVertical = 'WhiteGoods';\r\n vm.BusinessUnit = 'WG_OEM';\r\n }\r\n else if (tabName == 'Telecom') {\r\n vm.SelectedVertical = 'Telecom';\r\n vm.BusinessUnit = '';\r\n }\r\n else if (tabName == 'CCTV') {\r\n vm.SelectedVertical = 'CCTV';\r\n vm.BusinessUnit = '';\r\n }\r\n else if (tabName == 'Network') {\r\n vm.SelectedVertical = 'Network';\r\n vm.BusinessUnit = '';\r\n }\r\n else if (tabName == 'Product') {\r\n vm.SelectedVertical = 'Product';\r\n vm.BusinessUnit = '';\r\n }\r\n else if (tabName == 'Team Productvity _WG') {\r\n vm.SelectedVertical = 'WhiteGoods';\r\n vm.BusinessUnit = '';\r\n }\r\n else if (tabName == 'Support') {\r\n vm.SelectedVertical = '';\r\n vm.BusinessUnit = '';\r\n }\r\n vm.getAccounts();\r\n }\r\n if ($stateParams.name != 'BU_KPI_DashBoard'){\r\n vm.loadSpecificDashboard($stateParams.name);\r\n }\r\n };\r\n\r\n\r\n\r\n vm.getChart = function (chartId, chartType, metrics, dimensions, subtitle, YAxis, rollup) {\r\n vm.selectDimension[chartId] = {};\r\n TabAdvancedDashboardService.getChart1(loggedinUser, token, chartType, metrics, dimensions, rollup, vm.filterKeys, vm.filterValues,\"\",false, total, vm.createCallback(null, [function (data) {\r\n if (chartType == 'Metrics' || chartType == 'OneServMetrics' || chartType == 'metricscompare') {\r\n vm.metricsCharts[chartId] = {};\r\n vm.metricsCharts[chartId].value = data;\r\n vm.metricsCharts[chartId].subtitles = subtitle.split(\",\");\r\n vm.metricsCharts[chartId].ChartId = chartId;\r\n } else if (chartType == 'Table') {\r\n vm.tableCharts[chartId] = {};\r\n vm.tableCharts[chartId].value = data;\r\n vm.tableCharts[chartId].ChartId = chartId;\r\n vm.createTableChart(chartId, data.Categories.length , data); \r\n\r\n //vm.buildColumnBuilder(chartId, data.Categories.length);\r\n } \r\n else if (chartType == 'TableNew') {\r\n vm.tableCharts[chartId] = {};\r\n vm.tableCharts[chartId].value = data;\r\n vm.tableCharts[chartId].ChartId = chartId;\r\n vm.createTableChart(chartId, data.Categories.length , data); \r\n\r\n //vm.buildColumnBuilder(chartId, data.Categories.length);\r\n } \r\n else if (chartType == 'Line') {\r\n vm.lineCharts[chartId] = {};\r\n vm.lineCharts[chartId].value = data;\r\n vm.lineCharts[chartId].selectedRollup = rollup;\r\n vm.createLineChart(chartId, YAxis);\r\n } else if (chartType == 'Bar') {\r\n vm.barCharts[chartId] = {};\r\n vm.barCharts[chartId].value = data;\r\n vm.barCharts[chartId].selectedRollup = rollup;\r\n vm.createBarChart(chartId, YAxis);\r\n }else if (chartType == 'StackedBar') {\r\n vm.stackedCharts[chartId] = {};\r\n vm.stackedCharts[chartId].value = data;\r\n vm.stackedCharts[chartId].selectedRollup = rollup;\r\n vm.createStackedChart(chartId, YAxis);\r\n } else if (chartType == 'Pie') {\r\n vm.pieCharts[chartId] = {};\r\n vm.pieCharts[chartId].value = data;\r\n vm.createPieChart(chartId, subtitle);\r\n } else if (chartType == 'CustomPie') {\r\n vm.pieCharts[chartId] = {};\r\n vm.pieCharts[chartId].value = data;\r\n vm.pieCharts[chartId].selectedDimension=dimensions;\r\n vm.createPieChart(chartId, subtitle);\r\n } else if (chartType == 'CustomLine') {\r\n vm.lineCharts[chartId] = {};\r\n vm.lineCharts[chartId].value = data;\r\n vm.lineCharts[chartId].selectedDimension = dimensions;\r\n vm.selectDimension[chartId].dimension = dimensions;\r\n vm.lineCharts[chartId].selectedRollup = rollup;\r\n vm.createLineChart(chartId, YAxis);\r\n }else if (chartType == 'CustomBar') {\r\n vm.barCharts[chartId] = {};\r\n vm.barCharts[chartId].value = data;\r\n vm.barCharts[chartId].selectedDimension = dimensions;\r\n vm.selectDimension[chartId].dimension = dimensions;\r\n vm.barCharts[chartId].selectedRollup = rollup;\r\n vm.createBarChart(chartId, YAxis);\r\n }else if (chartType == 'DrillDownBar') {\r\n vm.barCharts[chartId] = {};\r\n vm.barCharts[chartId].value = data;\r\n vm.barCharts[chartId].selectedDimension = dimensions;\r\n vm.selectDimension[chartId].dimension = dimensions;\r\n vm.barCharts[chartId].selectedRollup = rollup;\r\n vm.createDrilledDownBarChart(chartId, YAxis);\r\n }else if (chartType == 'CustomStackedBar') {\r\n vm.stackedCharts[chartId] = {};\r\n vm.stackedCharts[chartId].value = data;\r\n vm.stackedCharts[chartId].selectedDimension = dimensions;\r\n vm.selectDimension[chartId].dimension = dimensions;\r\n vm.stackedCharts[chartId].selectedRollup = rollup;\r\n vm.createStackedChart(chartId, YAxis);\r\n }\r\n else if (chartType == 'metricskpi') {\r\n vm.gaugeCharts[chartId] = {};\r\n vm.gaugeCharts[chartId].value = data;\r\n vm.gaugeCharts[chartId].selectedRollup = rollup;\r\n vm.createGaugeChart(chartId);\r\n }\r\n }]));\r\n }\r\n vm.dashboardCallback = vm.createCallback(null, [function (data) {\r\n vm.dashboard_data = data;\r\n if (vm.TabOrder.length == 0) {\r\n if(vm.dashboard_data.TabOrder && vm.dashboard_data.TabOrder.length > 0){\r\n vm.TabOrder = vm.dashboard_data.TabOrder;\r\n vm.selectedTabName = vm.dashboard_data.TabOrder[0];\r\n vm.changeBackgroundColor(null, vm.dashboard_data.TabOrder[0]);\r\n }\r\n }\r\n if(data && data.DashboardFilters){\r\n vm.enableFilter = true; \r\n vm.updateDefaultDateFilter(data.DashboardFilters); \r\n //vm.getFilerValues(data.DashboardFilters.FilterList); \r\n }\r\n else\r\n {\r\n vm.enableFilter = false;\r\n vm.updateDefaultDateFilter(null);\r\n } \r\n if (data && data.DashboardFilters && (data.DashboardFilters.DateFilterList == null|| data.DashboardFilters.DateFilterList.length == 0)) {\r\n vm.IsDashboardFilterCheckRun = true;\r\n } \r\n else if (data && data.DashboardFilters && data.DashboardFilters.DateFilterList.length > 0) {\r\n var dateFilterList = data.DashboardFilters.DateFilterList;\r\n var filteredRanges = {};\r\n Object.keys($scope.ranges).forEach(function(key) {\r\n if (dateFilterList.includes(key)) {\r\n filteredRanges[key] = $scope.ranges[key];\r\n }\r\n });\r\n $scope.ranges = filteredRanges;\r\n vm.IsDashboardFilterCheckRun = true;\r\n }\r\n\r\n if(vm.selectedTabName == 'All' || !vm.selectedTabName){\r\n \r\n angular.forEach(data.ChartModel, function (d) {\r\n\r\n if (d.ClickableColumns != null && d.ClickableColumns.length > 0) {\r\n angular.forEach(d.ClickableColumns, function(cl){\r\n if (cl.Link==\"ProjectSummary\") {\r\n vm.deepLink[cl.ColumnName + \" \"+ d.ChartId] = function () { \r\n return \"index.Report({report_name:'ProjectSummary', key:'\"+cl.KeyName+\"'})\";\r\n }\r\n }else if (cl.Link==\"CustomerSummary\") {\r\n vm.deepLink[cl.ColumnName + \" \"+ d.ChartId] = function () { \r\n \r\n return \"index.Report({report_name:'CustomerSummary', key:'\"+cl.KeyName+\"'})\";\r\n }\r\n }else if (cl.Link==\"DashboardReport\") {\r\n \r\n vm.deepLink[cl.ColumnName + \" \"+ d.ChartId] = function (filterValue,filterName) {\r\n var Keyfilter = cl.KeyName; \r\n \r\n // else\r\n // {\r\n // start_date = vm.rollup;\r\n // }\r\n if (cl.KeyName.indexOf(\"|\")>=0) {\r\n var stringArray = cl.KeyName.split('|');\r\n filterName = stringArray[1];\r\n Keyfilter = stringArray[0];\r\n }\r\n if (filterValue == undefined && filterName ==undefined) {\r\n filterValue = '';\r\n filterName = '';\r\n }\r\n if (d.ChartType == 'Metrics' || d.ChartType == 'OneServMetrics' || d.ChartType == 'metricscompare') {\r\n //console.log('start_date',start_date);\r\n if (d.Rollups && d.Rollups.length>0) {\r\n angular.forEach(d.Rollups, function(d){\r\n if (d == 'Today') {\r\n var sDate = moment().format(\"YYYY-MM-DD\");\r\n var eDate = moment().format(\"YYYY-MM-DD\");\r\n start_date = \"Range(\"+sDate+\"|\"+eDate+\")\";\r\n }\r\n else if (d == 'Yesterday') {\r\n \t\t\t\t\t\t\t\t\t\tvar sDate = moment().subtract(1, 'days').format(\"YYYY-MM-DD\");\r\n \t\t\t\t\t\t\t\t\t\tvar eDate = moment().subtract(1, 'days').format(\"YYYY-MM-DD\");\r\n \t\t\t\t\t\t\t\t\t\tstart_date = \"Range(\"+sDate+\"|\"+eDate+\")\"; }\r\n else if (d == 'Monthly') {\r\n var sDate = moment().startOf('month').format(\"YYYY-MM-DD\");\r\n var eDate = moment().endOf('month').format(\"YYYY-MM-DD\");\r\n start_date = \"Range(\"+sDate+\"|\"+eDate+\")\";\r\n }else if (d == 'Week1') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week1');\r\n }else if (d == 'Week2') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week2');\r\n }else if (d == 'Week3') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week3');\r\n }else if (d == 'Week4') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week4');\r\n }\r\n })\r\n }else{\r\n start_date = vm.rollup;\r\n }\r\n var obj = {\r\n \"report_name\":'LinkTicketReport',\r\n \"key\":Keyfilter,\r\n \"filter_key\":filterName,\r\n \"filter_name\":filterValue,\r\n \"start_date\":start_date,\r\n \"isData\":true\r\n } \r\n return obj;\r\n }else{\r\n return \"index.DashboardReport({report_name:'LinkTicketReport', key:'\"+Keyfilter+\"',filter_key:'\"+filterName+\"', filter_name:'\"+filterValue+\"', start_date:'\"+vm.rollup+\"', isData:'\"+true+\"'})\";\r\n } \r\n }\r\n }else{\r\n \t\t\t\t\t\tif (cl.Link){ \r\n \t\t\t\t\t\t\tvm.deepLink[cl.ColumnName + \" \"+ d.ChartId] = function (filterValue,filterName) {\r\n \t\t\t\t\t\t\t\tvar Keyfilter = cl.KeyName; \r\n \t\t\t\t\t\t\t if (cl.KeyName.indexOf(\"|\")>=0) {\r\n \t\t\t\t\t\t\t\t\tvar stringArray = cl.KeyName.split('|');\r\n \t\t\t\t\t\t\t\t\tfilterName = stringArray[1];\r\n \t\t\t\t\t\t\t\t\tKeyfilter = stringArray[0];\r\n \t\t\t\t\t\t\t\t}\r\n \t\t\t\t\t\t\t\tif (filterValue == undefined && filterName ==undefined) {\r\n \t\t\t\t\t\t\t\t\tfilterValue = '';\r\n \t\t\t\t\t\t\t\t\tfilterName = '';\r\n \t\t\t\t\t\t\t\t}\r\n\r\n filterName = filterName + ',' + vm.filterKeys;\r\n filterValue = filterValue + ',' + vm.filterValues;\r\n\r\n\r\n \t\t\t\t\t\t\t\tif (d.ChartType == 'Metrics' || d.ChartType == 'OneServMetrics' || d.ChartType == 'metricscompare') {\r\n \t\t\t\t\t\t\t\t\t//console.log('start_date',start_date);\r\n \t\t\t\t\t\t\t\t\tif (d.Rollups && d.Rollups.length>0) {\r\n \t\t\t\t\t\t\t\tangular.forEach(d.Rollups, function(d){\r\n \t\t\t\t\t\t\t\t\tif (d == 'Today') {\r\n \t\t\t\t\t\t\t\t\t\tvar sDate = moment().format(\"YYYY-MM-DD\");\r\n \t\t\t\t\t\t\t\t\t\tvar eDate = moment().format(\"YYYY-MM-DD\");\r\n \t\t\t\t\t\t\t\t\t\tstart_date = \"Range(\"+sDate+\"|\"+eDate+\")\";\r\n \t\t\t\t\t\t\t\t\t}\r\n else if (d == 'Yesterday') {\r\n \t\t\t\t\t\t\t\t\t\tvar sDate = moment().subtract(1, 'days').format(\"YYYY-MM-DD\");\r\n \t\t\t\t\t\t\t\t\t\tvar eDate = moment().subtract(1, 'days').format(\"YYYY-MM-DD\");\r\n \t\t\t\t\t\t\t\t\t\tstart_date = \"Range(\"+sDate+\"|\"+eDate+\")\";\r\n \t\t\t\t\t\t\t\t\t}else if (d == 'Monthly') {\r\n \t\t\t\t\t\t\t\t\t\tvar sDate = moment().startOf('month').format(\"YYYY-MM-DD\");\r\n \t\t\t\t\t\t\t\t\t\tvar eDate = moment().endOf('month').format(\"YYYY-MM-DD\");\r\n \t\t\t\t\t\t\t\t\t\tstart_date = \"Range(\"+sDate+\"|\"+eDate+\")\";\r\n \t\t\t\t\t\t\t\t\t}else if (d == 'Week1') {\r\n \t\t\t\t\t\t\t\t\t\tvar getCurrentMonth = new Date().getMonth();\r\n \t\t\t\t\t\t\t\t\t\tvar getCurrentYear = new Date().getFullYear();\r\n \t\t\t\t\t\t\t\t\t start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week1');\r\n \t\t\t\t\t\t\t\t\t}else if (d == 'Week2') {\r\n \t\t\t\t\t\t\t\t\t\tvar getCurrentMonth = new Date().getMonth();\r\n \t\t\t\t\t\t\t\t\t\tvar getCurrentYear = new Date().getFullYear();\r\n \t\t\t\t\t\t\t\t\t start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week2');\r\n \t\t\t\t\t\t\t\t\t}else if (d == 'Week3') {\r\n \t\t\t\t\t\t\t\t\t\tvar getCurrentMonth = new Date().getMonth();\r\n \t\t\t\t\t\t\t\t\t\tvar getCurrentYear = new Date().getFullYear();\r\n \t\t\t\t\t\t\t\t\t start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week3');\r\n \t\t\t\t\t\t\t\t\t}else if (d == 'Week4') {\r\n \t\t\t\t\t\t\t\t\t\tvar getCurrentMonth = new Date().getMonth();\r\n \t\t\t\t\t\t\t\t\t\tvar getCurrentYear = new Date().getFullYear();\r\n \t\t\t\t\t\t\t\t\t start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week4');\r\n \t\t\t\t\t\t\t\t\t}\r\n \t\t\t\t\t\t\t\t})\r\n \t\t\t\t\t\t\t\t}else{\r\n \t\t\t\t\t\t\t\t\tstart_date = vm.rollup;\r\n \t\t\t\t\t\t\t\t}\r\n \t\t\t\t\t\t\t\t var obj = { \r\n \t\t\t\t\t\t\t\t\t\t\"report_name\":cl.Link,\r\n \t\t\t\t\t\t\t\t\t\t\"key\":Keyfilter,\r\n \t\t\t\t\t\t\t\t\t\t\"filter_key\":filterName,\r\n \t\t\t\t\t\t\t\t\t\t\"filter_name\":filterValue,\r\n \t\t\t\t\t\t\t\t\t\t\"start_date\":start_date,\r\n \t\t\t\t\t\t\t\t\t\t\"isData\":true\r\n \t\t\t\t\t\t\t\t\t} \r\n \t\t\t\t\t\t\t\t\treturn obj;\r\n \t\t\t\t\t\t\t\t}else{\r\n \t\t\t\t\t\t\t\t\treturn \"index.DashboardReport({report_name:'\" + cl.Link + \"', key:'\"+Keyfilter+\"',filter_key:'\"+filterName+\"', filter_name:'\"+filterValue+\"', start_date:'\"+vm.rollup+\"', isData:'\"+true+\"'})\";\r\n \t\t\t\t\t\t\t\t} \r\n \t\t\t\t\t\t\t}\r\n \t\t\t\t\t\t}\r\n \t\t\t\t\t} \r\n })\r\n }\r\n if(d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Today\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Today\");\r\n }\r\n else if(d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Yesterday\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Yesterday\");\r\n }\r\n else if(d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Week1\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Week1\");\r\n }else if(d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Week2\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Week2\");\r\n }else if(d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Week3\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Week3\");\r\n }else if(d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Week4\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Week4\");\r\n }\r\n else if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Monthly\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Monthly\");\r\n }\r\n else if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Monthly-6\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Monthly-6\");\r\n }\r\n else if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"YTD\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"YTD\");\r\n }\r\n else if(d.ChartType == 'CustomLine' && d.Dimensions.length>0 && d.Rollups.indexOf(\"Monthly\")>=0){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, \"Monthly\");\r\n }\r\n else if(d.ChartType == 'CustomLine' && d.Dimensions.length>0 && d.Rollups.indexOf(\"Today\")>=0){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, \"Today\");\r\n }\r\n else if(d.ChartType == 'CustomLine' && d.Dimensions.length>0 && d.Rollups.indexOf(\"Yesterday\")>=0){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, \"Yesterday\");\r\n }\r\n else if(d.ChartType == 'CustomBar' && d.Dimensions.length>0){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, '');\r\n }else if(d.ChartType == 'DrillDownBar' && d.Dimensions.length>0){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, '');\r\n }else if(d.ChartType == 'CustomStackedBar' && d.Dimensions.length>0){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, '');\r\n }else if(d.ChartType == 'CustomPie' && d.Dimensions.length>0){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, '');\r\n }\r\n else {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, vm.rollup);\r\n }\r\n\r\n });\r\n }\r\n\r\n else{\r\n angular.forEach(data.ChartModel, function (d) {\r\n if(vm.selectedTabName == d.TabName){\r\n\r\n if (d.ClickableColumns != null && d.ClickableColumns.length > 0) {\r\n angular.forEach(d.ClickableColumns, function(cl){\r\n if (cl.Link==\"ProjectSummary\") {\r\n vm.deepLink[cl.ColumnName + \" \"+ d.ChartId] = function () { \r\n return \"index.Report({report_name:'ProjectSummary', key:'\"+cl.KeyName+\"'})\";\r\n }\r\n }else if (cl.Link==\"CustomerSummary\") {\r\n vm.deepLink[cl.ColumnName + \" \"+ d.ChartId] = function () { \r\n \r\n return \"index.Report({report_name:'CustomerSummary', key:'\"+cl.KeyName+\"'})\";\r\n }\r\n }else if (cl.Link==\"DashboardReport\") {\r\n \r\n vm.deepLink[cl.ColumnName + \" \"+ d.ChartId] = function (filterValue,filterName) {\r\n var Keyfilter = cl.KeyName; \r\n \r\n // else\r\n // {\r\n // start_date = vm.rollup;\r\n // }\r\n if (cl.KeyName.indexOf(\"|\")>=0) {\r\n var stringArray = cl.KeyName.split('|');\r\n filterName = stringArray[1];\r\n Keyfilter = stringArray[0];\r\n }\r\n if (filterValue == undefined && filterName ==undefined) {\r\n filterValue = '';\r\n filterName = '';\r\n }\r\n if (d.ChartType == 'Metrics' || d.ChartType == 'OneServMetrics' || d.ChartType == 'metricscompare') {\r\n //console.log('start_date',start_date);\r\n if (d.Rollups && d.Rollups.length>0) {\r\n angular.forEach(d.Rollups, function(d){\r\n if (d == 'Today') {\r\n var sDate = moment().format(\"YYYY-MM-DD\");\r\n var eDate = moment().format(\"YYYY-MM-DD\");\r\n start_date = \"Range(\"+sDate+\"|\"+eDate+\")\";\r\n }\r\n else if (d == 'Yesterday') {\r\n var sDate = moment().subtract(1, 'days').format(\"YYYY-MM-DD\");\r\n var eDate = moment().subtract(1, 'days').format(\"YYYY-MM-DD\");\r\n start_date = \"Range(\"+sDate+\"|\"+eDate+\")\"; }\r\n else if (d == 'Monthly') {\r\n var sDate = moment().startOf('month').format(\"YYYY-MM-DD\");\r\n var eDate = moment().endOf('month').format(\"YYYY-MM-DD\");\r\n start_date = \"Range(\"+sDate+\"|\"+eDate+\")\";\r\n }else if (d == 'Week1') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week1');\r\n }else if (d == 'Week2') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week2');\r\n }else if (d == 'Week3') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week3');\r\n }else if (d == 'Week4') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week4');\r\n }\r\n })\r\n }else{\r\n start_date = vm.rollup;\r\n }\r\n var obj = {\r\n \"report_name\":'LinkTicketReport',\r\n \"key\":Keyfilter,\r\n \"filter_key\":filterName,\r\n \"filter_name\":filterValue,\r\n \"start_date\":start_date,\r\n \"isData\":true\r\n } \r\n return obj;\r\n }else{\r\n return \"index.DashboardReport({report_name:'LinkTicketReport', key:'\"+Keyfilter+\"',filter_key:'\"+filterName+\"', filter_name:'\"+filterValue+\"', start_date:'\"+vm.rollup+\"', isData:'\"+true+\"'})\";\r\n } \r\n }\r\n }else{\r\n if (cl.Link){ \r\n vm.deepLink[cl.ColumnName + \" \"+ d.ChartId] = function (filterValue,filterName) {\r\n var Keyfilter = cl.KeyName; \r\n if (cl.KeyName.indexOf(\"|\")>=0) {\r\n var stringArray = cl.KeyName.split('|');\r\n filterName = stringArray[1];\r\n Keyfilter = stringArray[0];\r\n }\r\n if (filterValue == undefined && filterName ==undefined) {\r\n filterValue = '';\r\n filterName = '';\r\n }\r\n \r\n filterName = filterName + ',' + vm.filterKeys;\r\n filterValue = filterValue + ',' + vm.filterValues;\r\n \r\n \r\n if (d.ChartType == 'Metrics' || d.ChartType == 'OneServMetrics' || d.ChartType == 'metricscompare') {\r\n //console.log('start_date',start_date);\r\n if (d.Rollups && d.Rollups.length>0) {\r\n angular.forEach(d.Rollups, function(d){\r\n if (d == 'Today') {\r\n var sDate = moment().format(\"YYYY-MM-DD\");\r\n var eDate = moment().format(\"YYYY-MM-DD\");\r\n start_date = \"Range(\"+sDate+\"|\"+eDate+\")\";\r\n }\r\n else if (d == 'Yesterday') {\r\n var sDate = moment().subtract(1, 'days').format(\"YYYY-MM-DD\");\r\n var eDate = moment().subtract(1, 'days').format(\"YYYY-MM-DD\");\r\n start_date = \"Range(\"+sDate+\"|\"+eDate+\")\";\r\n }else if (d == 'Monthly') {\r\n var sDate = moment().startOf('month').format(\"YYYY-MM-DD\");\r\n var eDate = moment().endOf('month').format(\"YYYY-MM-DD\");\r\n start_date = \"Range(\"+sDate+\"|\"+eDate+\")\";\r\n }else if (d == 'Week1') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week1');\r\n }else if (d == 'Week2') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week2');\r\n }else if (d == 'Week3') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week3');\r\n }else if (d == 'Week4') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week4');\r\n }\r\n })\r\n }else{\r\n start_date = vm.rollup;\r\n }\r\n var obj = { \r\n \"report_name\":cl.Link,\r\n \"key\":Keyfilter,\r\n \"filter_key\":filterName,\r\n \"filter_name\":filterValue,\r\n \"start_date\":start_date,\r\n \"isData\":true\r\n } \r\n return obj;\r\n }else{\r\n return \"index.DashboardReport({report_name:'\" + cl.Link + \"', key:'\"+Keyfilter+\"',filter_key:'\"+filterName+\"', filter_name:'\"+filterValue+\"', start_date:'\"+vm.rollup+\"', isData:'\"+true+\"'})\";\r\n } \r\n }\r\n }\r\n } \r\n })\r\n }\r\n if(d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Today\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Today\");\r\n }\r\n else if(d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Yesterday\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Yesterday\");\r\n }\r\n else if(d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Week1\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Week1\");\r\n }else if(d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Week2\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Week2\");\r\n }else if(d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Week3\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Week3\");\r\n }else if(d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Week4\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Week4\");\r\n }\r\n else if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Monthly\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Monthly\");\r\n }\r\n else if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Monthly-6\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Monthly-6\");\r\n }\r\n else if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"YTD\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"YTD\");\r\n }\r\n else if(d.ChartType == 'CustomLine' && d.Dimensions.length>0 && d.Rollups.indexOf(\"Monthly\")>=0){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, \"Monthly\");\r\n }\r\n else if(d.ChartType == 'CustomLine' && d.Dimensions.length>0 && d.Rollups.indexOf(\"Today\")>=0){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, \"Today\");\r\n }\r\n else if(d.ChartType == 'CustomLine' && d.Dimensions.length>0 && d.Rollups.indexOf(\"Yesterday\")>=0){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, \"Yesterday\");\r\n }\r\n else if(d.ChartType == 'CustomBar' && d.Dimensions.length>0){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, '');\r\n }else if(d.ChartType == 'DrillDownBar' && d.Dimensions.length>0){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, '');\r\n }else if(d.ChartType == 'CustomStackedBar' && d.Dimensions.length>0){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, '');\r\n }else if(d.ChartType == 'CustomPie' && d.Dimensions.length>0){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, '');\r\n }\r\n else {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, vm.rollup);\r\n }\r\n }\r\n \r\n });\r\n } \r\n }])\r\n\r\n \r\n \r\n\r\n vm.GetDateRange = function(month,year,week){\r\n var weeks=[],\r\n firstDate=new Date(year, month, 1),\r\n lastDate=new Date(year, month+1, 0), \r\n numDays= lastDate.getDate();\r\n if (week == 'week1') {\r\n var start=1;\r\n var end=7;\r\n month = month+1\r\n var startRange = moment(year+\"-\"+month+\"-\"+start).format(\"YYYY-MM-DD\");\r\n var endRange = moment(year+\"-\"+month+\"-\"+end).format(\"YYYY-MM-DD\");\r\n return (\"Range(\"+startRange+\"|\"+endRange+\")\");\r\n }else if (week == 'week2') {\r\n var start = 8;\r\n var end = 14;\r\n month = month+1\r\n var startRange = moment(year+\"-\"+month+\"-\"+start).format(\"YYYY-MM-DD\");\r\n var endRange = moment(year+\"-\"+month+\"-\"+end).format(\"YYYY-MM-DD\");\r\n return (\"Range(\"+startRange+\"|\"+endRange+\")\");\r\n }else if (week == 'week3') {\r\n var start = 15;\r\n var end = 21;\r\n month = month+1\r\n var startRange = moment(year+\"-\"+month+\"-\"+start).format(\"YYYY-MM-DD\");\r\n var endRange = moment(year+\"-\"+month+\"-\"+end).format(\"YYYY-MM-DD\");\r\n return (\"Range(\"+startRange+\"|\"+endRange+\")\");\r\n }else if (week == 'week4') {\r\n var start = 22;\r\n var end = numDays;\r\n month = month+1\r\n var startRange = moment(year+\"-\"+month+\"-\"+start).format(\"YYYY-MM-DD\");\r\n var endRange = moment(year+\"-\"+month+\"-\"+end).format(\"YYYY-MM-DD\");\r\n return (\"Range(\"+startRange+\"|\"+endRange+\")\");\r\n }\r\n }\r\n\r\n vm.getDashboard = function (name) {\r\n TabAdvancedDashboardService.getDashboard(loggedinUser, name, token, vm.dashboardCallback);\r\n }\r\n\r\n\r\n vm.loadDefaultDashboard = function(){\r\n if ($stateParams.name == 'account') {\r\n vm.getDashboard('Account Dashboard');\r\n } else if ($stateParams.name == 'accountDetails') {\r\n vm.getDashboard('Account Dashboard');\r\n }else if ($stateParams.name == 'admin') {\r\n vm.getDashboard('Admin Dashboard');\r\n }else if ($stateParams.name == 'manager') {\r\n vm.getDashboard('Manager Dashboard');\r\n }else if ($stateParams.name == 'supervisor') {\r\n vm.getDashboard('Supervisor Dashboard');\r\n }else if ($stateParams.name == 'vendor') {\r\n vm.getDashboard('Vendor Dashboard');\r\n } else {\r\n vm.getDashboard($stateParams.name);\r\n }\r\n }\r\n\r\n vm.loadSpecificDashboard = function(name){\r\n var DashboardListModel = vm.getAccountConfigSetting('DashboardListModel');\r\n var isLoaded = false;\r\n if(DashboardListModel && DashboardListModel.length>0){\r\n angular.forEach(DashboardListModel, function(d){\r\n if(d.DashboardType == name){\r\n vm.getDashboard(d.DashboardName);\r\n isLoaded = true;\r\n }\r\n })\r\n }\r\n if(isLoaded==false){\r\n vm.loadDefaultDashboard(name);\r\n }\r\n }\r\n\r\n if(!$stateParams.vertical){\r\n vm.loadSpecificDashboard($stateParams.name);\r\n }\r\n \r\n vm.LinkClick = function(url){\r\n // console.log(url);\r\n var i = vm.deepLink[url]('','');\r\n // console.log('i',i);\r\n var key ='';\r\n var filter_key='';\r\n var filter_name = '';\r\n var start_date='';\r\n var report_name = '';\r\n key = i.key;\r\n report_name = i.report_name;\r\n filter_key = i.filter_key;\r\n filter_name = i.filter_name;\r\n start_date = i.start_date;\r\n // console.log('params',key,report_name,filter_key,filter_name,start_date);\r\n $state.go('index.DashboardReport', {\r\n report_name: report_name,\r\n key: key,\r\n filter_key: filter_key,\r\n filter_name: filter_name,\r\n start_date: start_date,\r\n isData: true\r\n }, \r\n {\r\n reload: true\r\n });\r\n }\r\n \r\n //$log.log(\"$stateParams.name\",$stateParams.name);\r\n\r\n vm.saveRollup = function (chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup) {\r\n if (chartType == 'Line') {\r\n vm.lineCharts[chartId].selectedRollup = rollup;\r\n //$log.log(\"rollup\", rollup);\r\n vm.getChart(chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup);\r\n vm.createLineChart(chartId, yAxis); \r\n }else if(chartType == 'Bar'){\r\n vm.barCharts[chartId].selectedRollup = rollup;\r\n //$log.log(\"rollup\", rollup);\r\n vm.getChart(chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup);\r\n vm.createBarChart(chartId, yAxis); \r\n }else if(chartType == 'CustomLine'){\r\n vm.lineCharts[chartId].selectedRollup = rollup;\r\n dimensions = vm.lineCharts[chartId].selectedDimension;\r\n vm.getChart(chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup);\r\n vm.createLineChart(chartId, yAxis); \r\n }else if(chartType == 'CustomBar'){\r\n vm.barCharts[chartId].selectedRollup = rollup;\r\n //$log.log(\"rollup\", rollup);\r\n if (vm.selectDimension && vm.selectDimension[chartId].dimension.length>0) {\r\n dimensions = vm.selectDimension[chartId].dimension; \r\n }else{\r\n dimensions = vm.lineCharts[chartId].selectedDimension;\r\n } \r\n vm.getChart(chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup);\r\n vm.createLineChart(chartId, yAxis); \r\n } \r\n }\r\n\r\n vm.ChangeDimensions = function (chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup) {\r\n vm.lineCharts[chartId].selectedDimension = dimensions;\r\n rollup = 'Monthly';\r\n //$log.log(\"rollup\", rollup);\r\n vm.getChart(chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup);\r\n $timeout(function(){\r\n vm.createLineChart(chartId, yAxis);\r\n },1000) \r\n }\r\n\r\n //For CustomPieChart\r\n vm.ChangeDimensionsPie = function (chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup) {\r\n vm.pieCharts[chartId].selectedDimension = dimensions;\r\n // vm.selectDimension[chartId].dimension = dimensions;\r\n //console.log('selectDimension',vm.selectDimension);\r\n // vm.lineCharts[chartId].selectedRollup = rollup;\r\n //rollup = 'Monthly';\r\n //$log.log(\"rollup\", rollup);\r\n vm.getChart(chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, \"\");\r\n $timeout(function(){\r\n vm.createPieChart(chartId, yAxis);\r\n },1000)\r\n \r\n }\r\n\r\n //For CustomBarChart\r\n vm.ChangeDimensionsBar = function (chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup) {\r\n vm.barCharts[chartId].selectedDimension = dimensions;\r\n // vm.selectDimension[chartId].dimension = dimensions;\r\n //console.log('selectDimension',vm.selectDimension);\r\n // vm.lineCharts[chartId].selectedRollup = rollup;\r\n //rollup = 'Monthly';\r\n //$log.log(\"rollup\", rollup);\r\n vm.getChart(chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, \"\");\r\n $timeout(function(){\r\n vm.createBarChart(chartId, yAxis);\r\n },1000)\r\n \r\n }\r\n\r\n //For CustomStackedChart\r\n vm.ChangeDimensionsCustomStackedBar = function (chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup) {\r\n vm.stackedCharts[chartId].selectedDimension = dimensions;\r\n // vm.selectDimension = dimensions;\r\n // console.log('selectDimension',vm.selectDimension);\r\n // vm.lineCharts[chartId].selectedRollup = rollup;\r\n //rollup = 'Monthly';\r\n //$log.log(\"rollup\", rollup);\r\n vm.getChart(chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, \"\");\r\n $timeout(function(){\r\n vm.createStackedChart(chartId, yAxis);\r\n },1000)\r\n \r\n }\r\n\r\n vm.isActiveRollbackCustomPie = function(chartId, dimension){\r\n if(vm.pieCharts[chartId] && vm.pieCharts[chartId].selectedDimension){\r\n return vm.pieCharts[chartId].selectedDimension == dimension;\r\n }\r\n return false;\r\n }\r\n vm.isActiveRollbackCustomBar = function(chartId, dimension){\r\n if(vm.barCharts[chartId] && vm.barCharts[chartId].selectedDimension){\r\n return vm.barCharts[chartId].selectedDimension == dimension;\r\n }\r\n return false;\r\n }\r\n vm.isActiveRollbackCustomStackedBar = function(chartId, dimension){\r\n if(vm.stackedCharts[chartId] && vm.stackedCharts[chartId].selectedDimension){\r\n return vm.stackedCharts[chartId].selectedDimension == dimension;\r\n }\r\n return false;\r\n }\r\n\r\n vm.isActiveRollbackBar = function(chartId, rollup){\r\n if(vm.barCharts[chartId] && vm.barCharts[chartId].selectedRollup){\r\n return vm.barCharts[chartId].selectedRollup == rollup;\r\n }\r\n return false;\r\n }\r\n vm.isActiveRollbackStackedBar = function(chartId, rollup){\r\n if(vm.stackedCharts[chartId] && vm.stackedCharts[chartId].selectedRollup){\r\n return vm.stackedCharts[chartId].selectedRollup == rollup;\r\n }\r\n return false;\r\n }\r\n\r\n vm.isActiveRollback = function(chartId, rollup){\r\n if(vm.lineCharts[chartId] && vm.lineCharts[chartId].selectedRollup){\r\n return vm.lineCharts[chartId].selectedRollup == rollup;\r\n }\r\n return false;\r\n }\r\n // vm.isActiveRollbackCustome = function(chartId, dimension){\r\n // if(vm.lineCharts[chartId] && vm.lineCharts[chartId].selectedDimension){\r\n // return vm.lineCharts[chartId].selectedDimension == dimension;\r\n // }\r\n // return false;\r\n // }\r\n\r\n vm.createLineChart = function (chartId, yAxis) {\r\n vm.chartOptions = vm.chartOptions ? vm.chartOptions : {};\r\n $timeout(function () {\r\n if (vm.lineCharts[chartId] && vm.lineCharts[chartId].value) {\r\n vm.chartOptions[chartId] = {\r\n credits: {\r\n enabled: true\r\n },\r\n colors: ['#3093d1', '#fcb631', '#9ad631', '#f34ea8', '#30bfdd', '#fc9532', '#9f4bc7', '#304ec6', '#fcd731', '#f08576', '#418842'],\r\n chart: {\r\n type: 'line'\r\n },\r\n title: {\r\n text: ''\r\n },\r\n subtitle: {\r\n text: ''\r\n },\r\n xAxis: {\r\n categories: vm.lineCharts[chartId].value.Categories\r\n },\r\n // legend: {\r\n // layout: 'horizontal',\r\n // align: 'left',\r\n // itemWidth: 100,\r\n // verticalAlign: 'bottom',\r\n // //y: 30,\r\n // navigation: {\r\n // activeColor: '#3E576F',\r\n // animation: true,\r\n // arrowSize: 12,\r\n // inactiveColor: '#CCC',\r\n // style: {\r\n // fontWeight: 'bold',\r\n // color: '#333',\r\n // fontSize: '12px'\r\n // }\r\n // }\r\n // },\r\n // legend: {\r\n // align: 'right',\r\n // verticalAlign: 'top',\r\n // layout: 'vertical',\r\n // x: 0,\r\n // y: 100\r\n // },\r\n yAxis: {\r\n title: {\r\n text: yAxis\r\n },\r\n scrollbar: {\r\n enabled: true\r\n }\r\n },\r\n plotOptions: {\r\n line: {\r\n dataLabels: {\r\n enabled: true\r\n },\r\n enableMouseTracking: true\r\n }\r\n },\r\n series: GetSeries()\r\n\r\n };\r\n function GetSeries(){\r\n\r\n if (vm.lineCharts[chartId].value.Series.length>10) {\r\n \r\n for(var i=0; i10) {\r\n var legend = {\r\n layout: 'horizontal',\r\n align: 'left',\r\n itemWidth: 100,\r\n verticalAlign: 'bottom',\r\n //y: 30,\r\n navigation: {\r\n activeColor: '#3E576F',\r\n animation: true,\r\n arrowSize: 12,\r\n inactiveColor: '#CCC',\r\n style: {\r\n fontWeight: 'bold',\r\n color: '#333',\r\n fontSize: '12px'\r\n }\r\n }\r\n }\r\n vm.chartOptions[chartId].legend = legend;\r\n }\r\n\r\n var chart = new Highcharts.chart(chartId, vm.chartOptions[chartId]);\r\n \r\n chart.reflowNow = function () {\r\n this.containerHeight = this.options.chart.height || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'height');\r\n this.containerWidth = this.options.chart.width || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'width');\r\n this.setSize(this.containerWidth, this.containerHeight, false);\r\n this.hasUserSize = null;\r\n }\r\n }\r\n }, 1000);\r\n }\r\n vm.createBarChart = function (chartId, yAxis) {\r\n $timeout(function () {\r\n if (vm.barCharts[chartId] && vm.barCharts[chartId].value) {\r\n var chartData = {\r\n credits: {\r\n enabled: true\r\n },\r\n colors: ['#3093d1', '#fcb631', '#9ad631', '#f34ea8', '#30bfdd', '#fc9532', '#9f4bc7', '#304ec6', '#fcd731', '#f08576', '#418842'],\r\n chart: {\r\n type: 'column',\r\n inverted: false\r\n },\r\n legend: {\r\n enabled: true\r\n },\r\n title: {\r\n text: ''\r\n },\r\n subtitle: {\r\n text: ''\r\n },\r\n xAxis: {\r\n // type : 'category',\r\n categories: vm.barCharts[chartId].value.Categories \r\n },\r\n yAxis: {\r\n title: {\r\n text: yAxis\r\n }\r\n },\r\n plotOptions: {\r\n column: {\r\n dataLabels: {\r\n enabled: true,\r\n \r\n }\r\n }\r\n },\r\n \r\n series: vm.barCharts[chartId].value.Series\r\n // drilldown:vm.barCharts[chartId].value.drilldown\r\n \r\n };\r\n \r\n if (chartData && chartData.series && chartData.series.length>0 && chartData.series[0].data \r\n && chartData.series[0].data.length>0 && chartData.series[0].data[0]) {\r\n chartData.series[0].data[0].sliced=true;\r\n chartData.series[0].data[0].selected=true;\r\n }\r\n \r\n var chart = new Highcharts.chart(chartId, chartData);\r\n\r\n chart.reflowNow = function () {\r\n this.containerHeight = this.options.chart.height || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'height');\r\n this.containerWidth = this.options.chart.width || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'width');\r\n this.setSize(this.containerWidth, this.containerHeight, false);\r\n this.hasUserSize = null;\r\n }\r\n } \r\n }, 2000);\r\n }\r\n\r\n //Create DrillDown Bar Chart\r\n vm.createDrilledDownBarChart = function (chartId, yAxis) {\r\n $timeout(function () {\r\n if (vm.barCharts[chartId] && vm.barCharts[chartId].value) {\r\n var chartData = {\r\n credits: {\r\n enabled: true\r\n },\r\n colors: ['#3093d1', '#fcb631', '#9ad631', '#f34ea8', '#30bfdd', '#fc9532', '#9f4bc7', '#304ec6', '#fcd731', '#f08576', '#418842'],\r\n chart: {\r\n type: 'column',\r\n inverted: false\r\n },\r\n legend: {\r\n enabled: false\r\n },\r\n title: {\r\n text: ''\r\n },\r\n subtitle: {\r\n text: ''\r\n },\r\n xAxis: {\r\n type : 'category'\r\n \r\n },\r\n yAxis: {\r\n title: {\r\n text: yAxis\r\n }\r\n },\r\n plotOptions: {\r\n column: {\r\n dataLabels: {\r\n enabled: true,\r\n \r\n }\r\n }\r\n },\r\n \r\n series: vm.barCharts[chartId].value.Series,\r\n drilldown:vm.barCharts[chartId].value.drilldown\r\n \r\n };\r\n \r\n if (chartData && chartData.series && chartData.series.length>0 && chartData.series[0].data \r\n && chartData.series[0].data.length>0 && chartData.series[0].data[0]) {\r\n chartData.series[0].data[0].sliced=true;\r\n chartData.series[0].data[0].selected=true;\r\n }\r\n \r\n \r\n var chart = new Highcharts.chart(chartId, chartData);\r\n\r\n chart.reflowNow = function () {\r\n this.containerHeight = this.options.chart.height || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'height');\r\n this.containerWidth = this.options.chart.width || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'width');\r\n this.setSize(this.containerWidth, this.containerHeight, false);\r\n this.hasUserSize = null;\r\n }\r\n } \r\n }, 2000);\r\n }\r\n\r\n //Stacked Chart\r\n vm.createStackedChart = function (chartId, yAxis) {\r\n $timeout(function () {\r\n if (vm.stackedCharts[chartId] && vm.stackedCharts[chartId].value) {\r\n var stackedchartData = {\r\n credits: {\r\n enabled: true\r\n },\r\n colors: ['#3093d1', '#fcb631', '#9ad631', '#f34ea8', '#30bfdd', '#fc9532', '#9f4bc7', '#304ec6', '#fcd731', '#f08576', '#418842'],\r\n chart: {\r\n type: 'column',\r\n inverted: false\r\n },\r\n title: {\r\n text: ''\r\n },\r\n subtitle: {\r\n text: ''\r\n },\r\n xAxis: {\r\n categories: vm.stackedCharts[chartId].value.Categories \r\n },\r\n yAxis: {\r\n min: 0,\r\n title: {\r\n text: yAxis\r\n }\r\n },\r\n legend: {\r\n\r\n reversed: true\r\n },\r\n tooltip: {\r\n formatter: function () {\r\n return '' + this.x + '
' +\r\n this.series.name + ': ' + this.y + '
' +\r\n 'Total: ' + this.point.stackTotal;\r\n }\r\n },\r\n plotOptions: {\r\n column: {\r\n dataLabels: {\r\n enabled: true,\r\n align: 'right',\r\n color: 'black',\r\n x: -10\r\n },\r\n enableMouseTracking: true\r\n },\r\n series: {\r\n\r\n stacking: 'normal'\r\n }\r\n },\r\n series: vm.stackedCharts[chartId].value.Series\r\n };\r\n if (stackedchartData && stackedchartData.series && stackedchartData.series.length>0 && stackedchartData.series[0].data \r\n && stackedchartData.series[0].data.length>0 && stackedchartData.series[0].data[0]) {\r\n stackedchartData.series[0].data[0].sliced=true;\r\n stackedchartData.series[0].data[0].selected=true;\r\n }\r\n \r\n var chart = new Highcharts.chart(chartId, stackedchartData);\r\n\r\n chart.reflowNow = function () {\r\n this.containerHeight = this.options.chart.height || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'height');\r\n this.containerWidth = this.options.chart.width || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'width');\r\n this.setSize(this.containerWidth, this.containerHeight, false);\r\n this.hasUserSize = null;\r\n }\r\n } \r\n }, 2000);\r\n }\r\n\r\n vm.createPieChart = function (chartId, title) {\r\n vm.showPieChart = vm.showPieChart || {};\r\n vm.tempShowPieChart = vm.tempShowPieChart || {};\r\n vm.showPieChart[chartId] = true;\r\n $timeout(function () {\r\n vm.tempShowPieChart[chartId] = false;\r\n if (vm.pieCharts[chartId] && vm.pieCharts[chartId].value) {\r\n\r\n for(var i=0; i0){\r\n vm.tempShowPieChart[chartId]=true;\r\n }\r\n }\r\n vm.showPieChart[chartId]=vm.tempShowPieChart[chartId];\r\n var chartData = {\r\n chart: {\r\n plotBackgroundColor: null,\r\n plotBorderWidth: null,\r\n plotShadow: false,\r\n type: 'pie'\r\n },\r\n colors: ['#3093d1', '#fcb631', '#9ad631', '#f34ea8', '#30bfdd', '#fc9532', '#9f4bc7', '#304ec6', '#fcd731', '#f08576', '#418842'],\r\n title: {\r\n text: ''\r\n },\r\n tooltip: {\r\n headerFormat: ' {series.name} : {point.name}
',\r\n pointFormat: ' {point.name}: {point.y:,.0f}
',\r\n footerFormat: ' Percentage : {point.percentage:,.1f}% ', shared: true, useHTML: true\r\n //pointFormat: '{series.name}: {point.y:.1f}%'\r\n },\r\n plotOptions: {\r\n pie: {\r\n allowPointSelect: true,\r\n cursor: 'pointer',\r\n dataLabels: {\r\n enabled: false\r\n },\r\n showInLegend: true\r\n }\r\n },\r\n series: [{\r\n name: title,\r\n colorByPoint: true,\r\n data: vm.pieCharts[chartId].value\r\n }]\r\n };\r\n if(chartData && chartData.series && chartData.series.length>0 && chartData.series[0].data \r\n && chartData.series[0].data.length>0 && chartData.series[0].data[0]){\r\n chartData.series[0].data[0].sliced=true;\r\n chartData.series[0].data[0].selected=true; \r\n }\r\n var chart = new Highcharts.chart(chartId, chartData);\r\n\r\n chart.reflowNow = function () {\r\n this.containerHeight = this.options.chart.height || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'height');\r\n this.containerWidth = this.options.chart.width || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'width');\r\n this.setSize(this.containerWidth, this.containerHeight, false);\r\n this.hasUserSize = null;\r\n }\r\n } \r\n }, 1000);\r\n }\r\n\r\n var gaugeInstances = {};\r\n vm.Value = \"\";\r\n vm.label = \"\";\r\n vm.TargetValue = \"\";\r\n vm.strValue = \"\";\r\n vm.ValueType = \"\";\r\n vm.createGaugeChart = function (chartId) {\r\n if (gaugeInstances[chartId]) {\r\n gaugeInstances[chartId].destroy();\r\n }\r\n vm.showGaugeChart = vm.showGaugeChart || {};\r\n vm.tempshowGaugeChart = vm.tempshowGaugeChart || {};\r\n vm.showGaugeChart[chartId] = true;\r\n vm.tempshowGaugeChart[chartId] = false;\r\n \r\n if (vm.gaugeCharts[chartId] && vm.gaugeCharts[chartId].value) {\r\n vm.tempshowGaugeChart[chartId] = true;\r\n vm.showGaugeChart[chartId] = vm.tempshowGaugeChart[chartId];\r\n if(vm.gaugeCharts[chartId].value[0]){\r\n if(vm.gaugeCharts[chartId].value[0].AcheivedPercentage || vm.gaugeCharts[chartId].value[0].AcheivedPercentage == 0){\r\n vm.label = \"(\" + vm.gaugeCharts[chartId].value[0].AcheivedPercentage + \"% of the target)\";\r\n }\r\n if(vm.gaugeCharts[chartId].value[0].Value || vm.gaugeCharts[chartId].value[0].Value == 0){\r\n vm.Value = vm.gaugeCharts[chartId].value[0].Value;\r\n }\r\n if(vm.gaugeCharts[chartId].value[0].TargetValue || vm.gaugeCharts[chartId].value[0].TargetValue == 0){\r\n vm.TargetValue = vm.gaugeCharts[chartId].value[0].TargetValue;\r\n }\r\n if(vm.gaugeCharts[chartId].value[0].ValueType){\r\n vm.ValueType = vm.gaugeCharts[chartId].value[0].ValueType;\r\n }\r\n if(vm.gaugeCharts[chartId].value[0].strValue){\r\n vm.strValue = vm.gaugeCharts[chartId].value[0].strValue;\r\n }\r\n }\r\n else{\r\n return;\r\n }\r\n var chartData = {\r\n id: chartId,\r\n value: vm.Value,\r\n min: 0,\r\n max: vm.TargetValue,\r\n decimals: 0,\r\n gaugeWidthScale: 0.6,\r\n pointer: true,\r\n pointerOptions: {\r\n toplength: -15,\r\n bottomlength: 10,\r\n bottomwidth: 12,\r\n color: '#333333',\r\n stroke: '#ffffff',\r\n stroke_width: 3,\r\n stroke_linecap: 'round'\r\n },\r\n customSectors: {\r\n ranges: [{\r\n color: \"#ff3b30\",\r\n lo: 0,\r\n hi: vm.TargetValue * 0.25\r\n }, {\r\n color: \"#FFA500\",\r\n lo: vm.TargetValue * 0.25,\r\n hi: vm.TargetValue * 0.50\r\n }, {\r\n color: \"#eccd28\",\r\n lo: vm.TargetValue * 0.50,\r\n hi: vm.TargetValue * 0.75\r\n }, {\r\n color: \"#43bf58\",\r\n lo: vm.TargetValue * 0.75,\r\n hi: vm.TargetValue\r\n }]\r\n },\r\n label: vm.label,\r\n labelFontColor: \"#333333\",\r\n labelFontFamily: \"Arial\",\r\n labelFontSize: \"20px\",\r\n textRenderer: function (val) {\r\n return (vm.ValueType == 'INR'?(vm.strValue): vm.Value);\r\n },\r\n };\r\n gaugeInstances[chartId] = new JustGage(chartData);\r\n }\r\n };\r\n\r\n// var intervalId = setInterval(function() {\r\n// gauge.refresh(Math.random() * 1000);\r\n// }, 5000);\r\n\r\n\r\n\r\n $scope.changeFunction = function() {\r\n alert('change');\r\n }\r\n\r\n var makeDynamicTable = function(chartId, dataSet){\r\n\r\n if(dataSet.Values.length >= 10)\r\n {\r\n vm.tableCharts[chartId].dtOptions = DTOptionsBuilder.fromFnPromise(function(){\r\n var defer = $q.defer();\r\n defer.resolve(dataSet.Values);\r\n return defer.promise;\r\n })\r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withOption('createdRow', createdRow)\r\n .withBootstrap();\r\n }\r\n else\r\n {\r\n vm.tableCharts[chartId].dtOptions = DTOptionsBuilder.fromFnPromise(function(){\r\n var defer = $q.defer();\r\n defer.resolve(dataSet.Values);\r\n return defer.promise;\r\n })\r\n .withDOM('Tfgt')\r\n //.withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withOption('createdRow', createdRow)\r\n .withBootstrap();\r\n\r\n }\r\n \r\n\r\n function createdRow(row, data, dataIndex) {\r\n // Recompiling so we can bind Angular directive to the DT\r\n $compile(angular.element(row).contents())($scope);\r\n }\r\n\r\n vm.tableCharts[chartId].dtInstance = {};\r\n vm.tableCharts[chartId].dtColumns = [];\r\n var columnList = Object.keys(dataSet.Categories);\r\n for(var index = 0; index < columnList.length; index++ ){\r\n\r\n var temp = '';\r\n var colunId = columnList[index];\r\n temp = DTColumnBuilder.newColumn(colunId).withTitle(dataSet.Categories[colunId]).renderWith(function(data,type,full,meta){\r\n var colKey = '';\r\n function getKeyByIndex(object, col) {\r\n var colList = Object.keys(object);\r\n colKey = colList[col]; \r\n }\r\n\r\n getKeyByIndex(full,meta.col)\r\n var firstColumntKey = Object.values(full)[0];\r\n var fixedCatogries = Object.values(vm.tableCharts[chartId].value.Categories)[0];\r\n var t = vm.tableCharts[chartId].value.Categories;\r\n var n = t[colKey]; \r\n if(data > 0 && vm.deepLink[n +' '+ vm.tableCharts[chartId].ChartId]){\r\n return \"' + data + \" \";\r\n // return \"\" + data + \" \";\r\n }else{\r\n return \"\"+data+\"\";\r\n }\r\n });\r\n vm.tableCharts[chartId].dtColumns.push(temp);\r\n } \r\n }\r\n \r\n vm.createTableChart = function (chartId, lenth , data) {\r\n makeDynamicTable(chartId, data);\r\n }\r\n\r\n\r\n $scope.totalFinList = 0;\r\n $scope.financePerPage = vm.financePageListCount;\r\n $scope.Financepagination = {\r\n current: 1\r\n };\r\n\r\n vm.changefinancePageListCount = function () {\r\n $scope.financePerPage = vm.financePageListCount;\r\n fPageSize = $scope.financePerPage;\r\n fPageIndex = $scope.Financepagination.current;\r\n $scope.FinanceUserTablePageChanged($scope.Financepagination.current);\r\n }\r\n\r\n fPageIndex = $scope.Financepagination.current;\r\n $scope.FinanceUserTablePageChanged = function (newPage) {\r\n if (newPage) {\r\n fPageIndex = newPage;\r\n vm.GetPaymentsForUser();\r\n }\r\n\r\n };\r\n\r\n vm.GetPaymentsForUser = function () {\r\n var data =\r\n {\r\n \"pageParams\": {\r\n \"page\": fPageIndex,\r\n \"pageSize\": fPageSize\r\n },\r\n \"searchParams\": {\r\n \"paymentStatus\": 7,\r\n \"searchText\": vm.userId\r\n }\r\n }\r\n\r\n TechnicianViewService.GetPaymentsForUser(data, loggedInUserId, token).then(function (resp) {\r\n vm.FinanceFiltersList = [];\r\n if (resp && resp.data) {\r\n vm.FinanceFiltersList = resp.data.items;\r\n $scope.totalFinList = resp.data.totalItems;\r\n if (vm.FinanceFiltersList.length < vm.financePageListCount)\r\n vm.financeListLength = $scope.totalFinList;\r\n else\r\n vm.financeListLength = fPageIndex * vm.financePageListCount;\r\n if (fPageIndex == 1)\r\n vm.fpageindexCount = 1;\r\n else\r\n vm.fpageindexCount = (((fPageIndex - 1) * vm.financePageListCount) + 1);\r\n }\r\n }, vm.showFailure);\r\n }\r\n\r\n\r\n\r\n $scope.$on('fullscreen', function () {\r\n setTimeout(function () {\r\n $(element).highcharts().reflow();\r\n }, 0);\r\n }); \r\n\r\n}\r\n});\r\n\r\n\r\n\nangular.module('inspinia').service('TalentRegisterService', function (PublicApiURL, $log, $http) {\r\n\r\n // https://perf.mymobiforce.com/publicapi/api/FreeLancerRegistration/freelancerinvite\r\n this.registerUser = function (userData) {\r\n var url = PublicApiURL + '/api/FreeLancerRegistration/freelancerinvite';\r\n return $http.post(url, userData,{\r\n \theaders:{\r\n \t\t'Content-Type': 'application/json'\r\n \t}\r\n });\r\n }\r\n});\r\n\n angular.module('inspinia').controller('TalentRegisterController', function (TalentRegisterService,$document, $timeout, $location, $window, $state,registerService, toaster,$uibModal,$scope) {\r\n var vm = this;\r\n vm.firstname = '';\r\n vm.lastname = '';\r\n vm.email = '';\r\n vm.phone = '';\r\n // vm.password = '';\r\n // vm.confirmpass = '';\r\n // vm.companyName = '';\r\n vm.termCheck = false;\r\n var modalInstance = {};\r\n var angular_pass = angular.element(\"#pass\");\r\n var angular_confirm_pass = angular.element(\"#confirm_pass\");\r\n var password = angular_pass[0],\r\n confirm_password = angular_confirm_pass[0];\r\n\r\nvm.Register = function (event) {\r\n /// \r\n /// Registering the New User\r\n /// \r\nif (vm.registerForm.$valid) {\r\n // console.log(\"pass\");\r\n var registerdata = {\r\n InviteName: vm.firstname +' '+ vm.lastname,\r\n InvitedPhoneNo: vm.phone\r\n }\r\n\r\n var json = angular.toJson(registerdata);\r\n if (angular.isDefined(json)) {\r\n TalentRegisterService.registerUser(json)\r\n .success(function (data,status) {\r\n if (status==201) {\r\n // toaster.pop({\r\n // type: 'success',\r\n // title: data.Message,\r\n // showCloseButton: true,\r\n // body: \"Redirecting to login page\",\r\n // \"showDuration\": \"400\",\r\n // \"hideDuration\": \"1000\",\r\n // \"tapToDismiss\": true,\r\n // \"timeout\": 2000\r\n // });\r\n // fieldsEmpty();\r\n $state.go('Thankyou',{userId:vm.firstname,email:vm.email},{reload:true});\r\n } else if(status==206)\r\n {\r\n if (data.Message == \"user already exist.\") {\r\n toaster.pop({\r\n type: 'error',\r\n title: data.Message,\r\n showCloseButton: true,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000\r\n });\r\n } else {\r\n toaster.pop({\r\n type: 'error',\r\n title: data.Message,\r\n showCloseButton: true,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000\r\n });\r\n }\r\n } \r\n })\r\n .error(function () {\r\n toaster.pop({\r\n type: 'error',\r\n title: 'Unable to register',\r\n showCloseButton: true,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000\r\n });\r\n });\r\n }\r\n\r\n } else {\r\n vm.registerForm.submitted = true;\r\n }\r\n // if (confirm_password.validationMessage) {\r\n // return;\r\n // }\r\n\r\n // event.preventDefault();\r\n }\r\n\r\n\r\n\r\nvm.OpenTermModal=function()\r\n{\r\n modalInstance = $uibModal.open({\r\n templateUrl: 'termsAndCondition_modal.html',\r\n scope:$scope\r\n });\r\n}\r\n\r\nvm.CloseModal=function()\r\n{\r\n modalInstance.close();\r\n}\r\n\r\n // function fieldsEmpty() {\r\n // vm.firstname = '';\r\n // vm.lastname = '';\r\n // vm.email = '';\r\n // vm.phone = '';\r\n // vm.password = '';\r\n // vm.confirmpass = '';\r\n // vm.companyName = '';\r\n // } \r\n\r\n // function validatePassword() {\r\n // if (password.value != confirm_password.value) {\r\n // confirm_password.setCustomValidity(\"Passwords Doesn't Match\");\r\n // } else {\r\n // confirm_password.setCustomValidity('');\r\n // }\r\n // }\r\n // password.onchange = validatePassword;\r\n // confirm_password.onkeyup = validatePassword;\r\n });\r\n\nangular.module('inspinia').service('StaffShiftCampaignService', function (ApiURL, StaffSchedulingAPI, PublicApiURL, ActivityURL, $window, $http, FreelancerURL, SchedulingAPI) {\r\n var vm = this;\r\n\r\n vm.setShowSuccess = function (success) {\r\n vm.showSuccess = success;\r\n }\r\n\r\n vm.setShowFailure = function (failure) {\r\n vm.showFailure = failure;\r\n }\r\n\r\n // this.GetAllInteractionsDashboard = function (data, loggedinUser, token) {\r\n // var url = FreelancerURL + '/api/FreeLancerRegistration/GetAllInteractionsDashboard';\r\n // return $http.put(url, data, {\r\n // headers: {\r\n // 'Content-Type': 'application/json',\r\n // 'Token': token,\r\n // 'UserId': loggedinUser\r\n // }\r\n // });\r\n // }\r\n\r\n\r\n this.GetStaffShiftCampaignForRM = function (campaignstatus, StartDate, EndDate, PageIndex, PageSize, loginUserId, token) {\r\n var url = StaffSchedulingAPI + '/api/StaffShift/GetStaffShiftCampaignForRM?CampaginStatus=' + campaignstatus + '&StartDate=' + StartDate + '&EndDate=' + EndDate + '&PageIndex=' + PageIndex + '&PageSize=' + PageSize;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n this.CreateStaffShiftCampaign = function (data, loginUserId, token) {\r\n var url = StaffSchedulingAPI + '/api/StaffShift/CreateStaffShiftCampaign';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetAllShiftsForDateDynamic = function (data,loginUserId, token) {\r\n var url = StaffSchedulingAPI + '/api/StaffShift/GetAllAcceptedUserCampaignById';\r\n return $http.post(url, data,{\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n this.PublishShiftToUser = function (shiftId, userId, loginUserId, token) {\r\n var url = StaffSchedulingAPI + '/api/StaffShift/PublishShiftToUser?ShiftId=' + shiftId + '&UserId=' + userId;\r\n return $http.put(url, null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n // this.GetStaffShitCampaignForSupervisorById = function (campaginId, loginUserId, token) {\r\n // var url = StaffSchedulingAPI + '/api/StaffShift/GetStaffShitCampaignForSupervisorById?CampaginId=' + campaginId;\r\n // return $http.get(url, {\r\n // headers: {\r\n // 'Content-Type': 'application/json',\r\n // 'Token': token,\r\n // 'UserId': loginUserId\r\n // }\r\n // });\r\n // }\r\n\r\n this.ApproveStaffOvertimeshift = function (shiftId, loginUserId, token) {\r\n var url = StaffSchedulingAPI + '/api/StaffOvertimeShift/ApproveStaffOvertimeshift?StaffOvertimeId=' + shiftId;\r\n return $http.put(url, null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n this.RejectStaffOvertimeshift = function (shiftId, rejectComment, loginUserId, token) {\r\n var url = StaffSchedulingAPI + '/api/StaffOvertimeShift/RejectStaffOvertimeshift?StaffOvertimeId=' + shiftId + '&RejectComment=' + rejectComment;\r\n return $http.put(url, null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetAllShiftsForDateWithStatusXLS = function (startDate, endDate, status, userid, shiftType, accountId) {\r\n var url = PublicApiURL + '/api/Report/GetAllStaffShitData?ShiftFromDate=' + startDate + '&ShiftToDate=' + endDate + '&Status=' + status + '&UserId=' + userid + '&ShiftType=' + shiftType + '&AccountId=' + accountId;\r\n $window.open(url);\r\n }\r\n\r\n this.GetSupervisorsForAccount = function (loginUserId, token) {\r\n var url = ApiURL + '/api/User/GetSupervisorsForAccount';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n this.RunStaffCampaign = function (data, loginUserId, token) {\r\n var url = StaffSchedulingAPI + \"/api/StaffShift/RunStaffCampaign\";\r\n return $http.put(url, data, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loginUserId }\r\n });\r\n }\r\n\r\n this.getusersbyfilters = function (itemNames, itemValues, loginUserId, token) {\r\n var url = ApiURL + '/api/User/getusersbyfilters?itemNames=' + itemNames + '&itemValues=' + itemValues;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetAllCampaignName = function (loginUserId, token) {\r\n var url = StaffSchedulingAPI + '/api/StaffShift/GetAllStaffShiftCampaignId';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n\r\n});\nangular.module('inspinia').controller('StaffShiftCampaignController', function (StaffShiftCampaignService,ReferService, shiftManagementService, TeamFormCreationService, $q, $filter, $log, $state, $localStorage, UIURL, $stateParams, $uibModal, $scope, DTOptionsBuilder, DTColumnDefBuilder, toaster, $timeout, $compile, uiCalendarConfig, ImageUrl, PublicApiURL, $window) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n vm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n $scope.myvalue = false;\r\n $scope.class_status = true;\r\n $scope.toggleSingleClass = function () {\r\n $scope.class_status = !$scope.class_status;\r\n $scope.myvalue = true;\r\n };\r\n\r\n $scope.broadcastSentUser = true;\r\n $scope.toggleForBroadcast = function () {\r\n $scope.broadcastSentUser = !$scope.broadcastSentUser;\r\n $scope.myvalue = true;\r\n };\r\n\r\n $scope.timeLineDetail = true;\r\n $scope.openTimeLine = function () {\r\n $scope.timeLineDetail = !$scope.timeLineDetail;\r\n $scope.myvalue = true;\r\n };\r\n $scope.manualAssignationWrapper = \"hide-nav\";\r\n $scope.toggleMenu = function (ShiftId) {\r\n vm.GetEligibleUserForShift(ShiftId);\r\n if ($scope.manualAssignationWrapper === \"hide-nav\") {\r\n $scope.manualAssignationWrapper = \"show-nav\";\r\n }\r\n else {\r\n $scope.manualAssignationWrapper = \"hide-nav\";\r\n }\r\n };\r\n $scope.hideAllUser = true;\r\n\r\n $scope.showAllUser = function () {\r\n $scope.hideAllUser = true;\r\n };\r\n $scope.hideAllUserbutton = function () {\r\n $scope.hideAllUser = false;\r\n };\r\n $scope.userClass_status = true;\r\n $scope.hideoverlay = function () {\r\n $scope.myvalue = false;\r\n $scope.class_status = true;\r\n $scope.userClass_status = true;\r\n $scope.broadcastSentUser = true;\r\n $scope.timeLineDetail = true;\r\n $scope.userFilter = true;\r\n $scope.minatureSlide = true;\r\n $scope.myvalue = false;\r\n vm.closeFeedbackoption();\r\n }\r\n $scope.close360ViewBroadcaste = function () {\r\n $scope.myvalue = false;\r\n angular.element('#div1').removeClass(\"alpha\");\r\n $scope.userClass_status = true;\r\n }\r\n $scope.userSingle = function () {\r\n $scope.userClass_status = !$scope.userClass_status;\r\n $scope.myvalue = true;\r\n };\r\n $scope.userFilter = true;\r\n $scope.assignJobFilter = function () {\r\n $scope.userFilter = !$scope.userFilter;\r\n $scope.myvalue = true;\r\n $scope.manualAssignationWrapper = \"hide-nav\";\r\n // $scope.toggleMenu();\r\n };\r\n $scope.minatureSlide = true;\r\n $scope.minatureSlideBtn = function () {\r\n $scope.minatureSlide = !$scope.minatureSlide;\r\n $scope.myvalue = true;\r\n };\r\n\r\n $scope.hideFilter = function () {\r\n $scope.userFilter = true;\r\n $scope.minatureSlide = true;\r\n $scope.myvalue = false;\r\n }\r\n\r\n var token = $localStorage.token;\r\n vm.IsOpenBucketEnabled = $localStorage.IsOpenBucketEnabled;\r\n vm.IsAutoAssignToCHDteam = $localStorage.IsAutoAssignToCHDteam;\r\n vm.IsOpenBucketEnabled = $localStorage.IsOpenBucketEnabled;\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.accountConfig = $localStorage.accountConfig;\r\n vm.accountId = $localStorage.accountConfig.AccountId;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.IsMaterialDelivered = $localStorage.accountConfig.IsMaterialDelivered;\r\n\r\n //Global Variable Declaration\r\n vm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n vm.loggedInUserVendorId = $localStorage.loggedInUser_VendorId;\r\n vm.loggedInUserReportingTo = $localStorage.loggedInUser_ReportingTo;\r\n\r\n // variables required for slot allocation\r\n vm.sorttype = \"desc\";\r\n vm.SortType = \"desc\";\r\n vm.SortField = 'CreatedOn';\r\n vm.ShiftList = [];\r\n vm.assignButtonDisable = false;\r\n vm.shiftsListLength = 0;\r\n vm.shiftPageListCount = 10;\r\n vm.pageListCounts = [10, 20, 30, 50];\r\n var PageIndex = 1;\r\n var PageSize = 10;\r\n vm.ActiveShifTab = 'Teamlist';\r\n vm.AssignedTo = '';\r\n vm.shiftStatus = '';\r\n vm.DateField = 'CreatedOn';\r\n vm.State = '';\r\n vm.City = '';\r\n vm.shiftId = '';\r\n vm.userskill = '';\r\n vm.disableuploadbutton = false;\r\n var startDate = moment().subtract(7, 'day').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.bookingdates = { startDate: moment().subtract(7, 'day'), endDate: moment() };\r\n vm.bookingRanges = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n 'Till now': [moment().subtract(5, 'years'), moment()]\r\n };\r\n\r\n var itemNames=\"\";\r\n var itemValues=\"\";\r\n\r\n\r\n var scdt = new Date();\r\n scdt.setMinutes(scdt.getMinutes() + 30);\r\n vm.SourceCreationDate = scdt;\r\n var pcdt = new Date();\r\n pcdt.setDate(pcdt.getDate() + 7);\r\n vm.PlannedClosureDate = pcdt;\r\n\r\n vm.openCalendar = function (e, picker) {\r\n vm.ClosureDateTime.open = true;\r\n };\r\n var plannedclosuredatelimit = new Date();\r\n plannedclosuredatelimit.setMinutes(plannedclosuredatelimit.getMinutes() + 1)\r\n vm.ClosureDateTime = { date: '', datepickerOptions: { minDate: plannedclosuredatelimit } };\r\n vm.ReportingStartTime = moment('09:00', 'HH:mm').toDate();\r\n vm.ReportingEndTime = moment('18:00', 'HH:mm').toDate(); \r\n var date = new Date();\r\n var d = date.getDate();\r\n var m = date.getMonth();\r\n var y = date.getFullYear();\r\n vm.eventsF = function (start, end, timezone, callback) {\r\n var s = new Date(start).getTime() / 1000;\r\n var e = new Date(end).getTime() / 1000;\r\n var m = new Date(start).getMonth();\r\n var events = [{\r\n title: 'Feed Me ' + m,\r\n start: s + (50000),\r\n end: s + (100000),\r\n allDay: false,\r\n className: ['customFeed']\r\n }];\r\n callback(events);\r\n };\r\n\r\n vm.ShiftStatusList = [\"Created\", \"Published\", \"Accepted\", \"Inprogress\", \"Completed\", \"Lunch Break\", \"Rejected\", \"Approved\"];\r\n\r\n // start calender\r\n var scheduleStartDate = new Date();\r\n var scheduleEndDate = new Date();\r\n scheduleEndDate.setDate(scheduleEndDate.getDate() + 6);\r\n vm.slotBookingdates = { scheduleStartDate: moment().subtract(7, 'day'), scheduleEndDate: moment() };\r\n $scope.showCalendar = false;\r\n $scope.showBookingTab = false;\r\n vm.searchQuery = \"\";\r\n vm.slotDate = $filter('date')(new Date(), 'yyyy-MM-dd');\r\n $scope.toggleCalendar = function (userId) {\r\n vm.slotBookingUserId = userId;\r\n $scope.showBookingTab = true;\r\n $scope.showCalendar = !$scope.showCalendar;\r\n };\r\n $scope.dateOptions = {\r\n formatYear: 'yyyy',\r\n startingDay: 1,\r\n minDate: scheduleStartDate,\r\n maxDate: scheduleEndDate\r\n };\r\n $scope.date = scheduleStartDate;\r\n vm.campaignstatus = \"\";\r\n vm.toBeAssigned = [];\r\n vm.ApplyCampaignfilter = function () {\r\n $scope.UserTablepagination = {};\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n $scope.hideFilter();\r\n vm.GetStaffShiftCampaignForRM();\r\n }\r\n\r\n vm.sortColumn = function (col) {\r\n vm.SortField = col;\r\n if (vm.SortType == 'desc') {\r\n vm.SortType = 'asc';\r\n vm.reverseclass = 'fa fa-arrow-up';\r\n } else {\r\n vm.SortType = 'desc';\r\n vm.reverseclass = 'fa fa-arrow-down';\r\n }\r\n };\r\n\r\n vm.sortClass = function (col) {\r\n if (vm.SortField == col) {\r\n if (vm.SortType == 'desc') {\r\n return 'fa fa-arrow-down';\r\n } else {\r\n return 'fa fa-arrow-up';\r\n }\r\n }\r\n else {\r\n return '';\r\n }\r\n }\r\n\r\n vm.closeSearchText = function () {\r\n vm.Experience = '';\r\n vm.rating = '';\r\n vm.state = '';\r\n vm.city = '';\r\n itemNames = '';\r\n itemValues = '';\r\n $scope.Userpagination = {};\r\n PageIndex = 1;\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n vm.applyUserFilter();\r\n }\r\n\r\n\r\n vm.outsidedateRangeChange = function (ev, picker) {\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n $scope.Userpagination = {};\r\n PageIndex = 1;\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n vm.GetStaffShiftCampaignForRM();\r\n };\r\n\r\n vm.GetAllCampaignName = function () {\r\n StaffShiftCampaignService.GetAllCampaignName(loggedinUser, token).then(function (resp) {\r\n if(resp.status == 200){\r\n vm.campaignNameList = resp.data;\r\n }\r\n })\r\n }\r\n\r\n vm.campaignModel = function () {\r\n if(vm.toBeAssigned.length <= 0){\r\n vm.showFailure(\"Failed\",\"Please select atleast one user\")\r\n }\r\n else{\r\n vm.campaignRunModelOpen = $uibModal.open({\r\n templateUrl: 'campaignRunModel.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n \r\n }\r\n\r\n vm.CloseCampaignModel = function () {\r\n vm.campaignRunModelOpen.close();\r\n vm.CampaignId = \"\";\r\n vm.toBeAssigned = [];\r\n vm.applyUserFilter();\r\n }\r\n\r\n vm.RunStaffCampaign = function () {\r\n vm.campaign_form.submitted = true;\r\n var data = {\r\n \"UserIdList\": vm.toBeAssigned,\r\n \"CampaignId\": vm.CampaignId\r\n }\r\n if (vm.campaign_form.$valid) {\r\n StaffShiftCampaignService.RunStaffCampaign(data, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.CloseCampaignModel();\r\n }\r\n else{\r\n vm.showFailure(\"Failed\",resp.data);\r\n }\r\n })\r\n }\r\n }\r\n\r\n\r\n vm.implementSelectItemsUsers = function (itemList, scope) {\r\n scope.selectAllUsers = false;\r\n scope.showMinusUsers = false;\r\n scope.selectRowUsers = function (i) {\r\n vm.toBeAssigned = [];\r\n scope.showMinusUsers = false;\r\n scope.selectAllUsers = false;\r\n angular.forEach(scope[itemList], function (d) {\r\n if (d.checked) {\r\n // var myObject = {\r\n // 'UserId': d.UserId,\r\n // 'Skill': d.Skill\r\n // };\r\n vm.toBeAssigned.push(d.UserId)\r\n scope.showMinusUsers = true;\r\n }\r\n\r\n });\r\n }\r\n \r\n scope.applyAllTeamSelect = function () {\r\n angular.forEach(scope[itemList], function (d) {\r\n d.checked = scope.selectAllUsers;\r\n vm.toBeAssigned.push(d.UserId)\r\n });\r\n }\r\n\r\n scope.resetAllSelect = function () {\r\n scope.selectAllUsers = false;\r\n scope.showMinusUsers = false;\r\n }\r\n }\r\n\r\n vm.implementSelectItemsUsers('UsersList', this);\r\n\r\n $scope.totalTableUsersBG = 0;\r\n $scope.userCampaignTablePerPage = vm.shiftPageListCount;\r\n $scope.CampaignTablepagination = {\r\n current: 1\r\n };\r\n\r\n vm.changeCampaignPageListCount = function () {\r\n $scope.userCampaignTablePerPage = vm.shiftPageListCount;\r\n PageSize = $scope.userCampaignTablePerPage;\r\n $scope.CampaignTablepageChanged($scope.CampaignTablepagination.current);\r\n }\r\n\r\n PageIndex = $scope.CampaignTablepagination.current;\r\n $scope.CampaignTablepageChanged = function (newPage) {\r\n PageIndex = newPage;\r\n vm.GetStaffShiftCampaignForRM();\r\n };\r\n\r\n vm.GetStaffShiftCampaignForRM = function () {\r\n StaffShiftCampaignService.GetStaffShiftCampaignForRM(vm.campaignstatus,startDate,endDate,PageIndex,PageSize, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.ShiftList = resp.data.objStaffShiftCampaginModels;\r\n $scope.totalTableShifts = resp.data.Count;\r\n if (vm.ShiftList.length < vm.shiftPageListCount)\r\n vm.shiftsListLength = $scope.totalTableShifts;\r\n else\r\n vm.shiftsListLength = PageIndex * vm.shiftPageListCount;\r\n if (PageIndex == 1)\r\n vm.pageindexCount = 1;\r\n else\r\n vm.pageindexCount = (((PageIndex - 1) * vm.shiftPageListCount) + 1);\r\n }\r\n\r\n })\r\n }\r\n\r\n vm.GetStaffShiftCampaignForRM();\r\n\r\n // vm.GetAllInteractionsDashboard = function () {\r\n // data = {\r\n // \"Status\": vm.shiftStatus,\r\n // \"Skill\": vm.userskill == \"\" ? \"\" : vm.userskill.join(\"|\"),\r\n // \"DateField\": vm.DateField,\r\n // \"FromDate\": startDate,\r\n // \"ToDate\": endDate,\r\n // \"AssignedTo\": vm.AssignedTo == \"\" ? \"\" : vm.AssignedTo.join(\"|\"),\r\n // \"InteractionType\": vm.InteractionType,\r\n // \"PageIndex\": PageIndex,\r\n // \"PageCount\": PageSize,\r\n // \"State\": vm.State,\r\n // \"City\": vm.City\r\n // }\r\n // StaffShiftCampaignService.GetAllInteractionsDashboard(data, loggedinUser, token).then(function (resp) {\r\n // if (resp && resp.data) {\r\n // vm.TotalSlots = resp.data.TotalSlots;\r\n // vm.AssignedSlots = resp.data.AssignedSlots;\r\n // vm.PendingSlots = resp.data.PendingSlots;\r\n // vm.CompletedSlots = resp.data.CompletedSlots;\r\n // vm.BreachedSlots = resp.data.BreachedSlots;\r\n // }\r\n\r\n // })\r\n // }\r\n\r\n vm.getAllShiftsByType = function (value) {\r\n vm.ActiveShifTab = value;\r\n vm.selectedCity = \"\";\r\n vm.selectedState = \"\";\r\n\r\n if (vm.ActiveShifTab == 'Campaignlist') {\r\n vm.GetStaffShiftCampaignForRM();\r\n }\r\n if (vm.ActiveShifTab == 'Teamlist') {\r\n vm.getusersbyfilters();\r\n }\r\n $scope.UserTablepagination = {};\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n }\r\n\r\n vm.AddShiftModal = function () {\r\n vm.GetSupervisorsForAccount();\r\n vm.shiftModal = $uibModal.open({\r\n templateUrl: 'CreateShift.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n vm.closeShiftModal = function () {\r\n vm.shiftModal.close();\r\n vm.disableBookingButton = false;\r\n vm.SelectedLocation = \"\";\r\n vm.SelectedDepartment = \"\";\r\n vm.startDate = \"\";\r\n vm.endDate = \"\";\r\n vm.CampaignDescription = \"\";\r\n vm.CampaignName = \"\";\r\n vm.selectedCity = \"\";\r\n vm.selectedState = \"\";\r\n vm.RequiredStaffCount = \"\";\r\n vm.SupervisorId = \"\";\r\n vm.ReportingStartTime = moment('09:00', 'HH:mm').toDate();\r\n vm.ReportingEndTime = moment('18:00', 'HH:mm').toDate(); \r\n vm.PinCode = \"\";\r\n vm.Location = \"\";\r\n }\r\n\r\n\r\n vm.BulkShiftMapView = function () {\r\n\t\t\t$state.go('index.bulkuploadshiftmap', {\r\n\t\t\t}, {\r\n\t\t\t\treload: true\r\n\t\t\t});\r\n\t\t}\r\n\r\n vm.GetSupervisorsForAccount = function () {\r\n StaffShiftCampaignService.GetSupervisorsForAccount(loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200 && resp) {\r\n vm.supervisorsList = resp.data;\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n }\r\n\r\n vm.GetSupervisorsForAccount();\r\n\r\n $scope.getCurrentDate = function() {\r\n return new Date();\r\n };\r\n\r\n function getAllStates() {\r\n var defered = $q.defer();\r\n ReferService.getAllState(loggedinUser, token).then(function (resp) {\r\n defered.resolve(resp);\r\n }, function (error) {\r\n defered.reject(error);\r\n });\r\n return defered.promise;\r\n }\r\n\r\n var allStatePromise = getAllStates(loggedinUser);\r\n allStatePromise.then(function (resp) {\r\n vm.StateList = resp.data;\r\n\r\n });\r\n function getallCities(state) {\r\n ReferService.getAllCity(loggedinUser, state, token).then(function (resp) {\r\n vm.CityList = resp.data;\r\n });\r\n }\r\n vm.selectedStateOfUser = function (state) {\r\n getallCities(state);\r\n }\r\n\r\n vm.CreateStaffShiftCampaign = function () {\r\n vm.campaign_creation_form.submitted = true;\r\n if (vm.campaign_creation_form.$valid) {\r\n vm.disableBookingButton = true;\r\n var data = {\r\n \"CampaignName\": vm.CampaignName,\r\n \"CampaignDescription\": vm.CampaignDescription,\r\n \"City\": vm.selectedCity,\r\n \"State\": vm.selectedState,\r\n \"RequiredStaffCount\": vm.RequiredStaffCount,\r\n \"ShiftStartTime\": moment(vm.startDate).format(\"YYYY-MM-DD\"),\r\n \"ShiftEndTime\": moment(vm.endDate).format(\"YYYY-MM-DD\"),\r\n \"SupervisorId\": vm.SupervisorId,\r\n \"IsCampaignOpen\": true,\r\n \"ReportingStartTime\": moment(vm.ReportingStartTime).format(\"HH:mm\"),\r\n \"ReportingEndTime\": moment(vm.ReportingEndTime).format(\"HH:mm\"), \r\n \"PinCode\": vm.PinCode,\r\n \"Location\": vm.Location\r\n }\r\n\r\n StaffShiftCampaignService.CreateStaffShiftCampaign(data, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", 'Campaign created successfully');\r\n vm.closeShiftModal();\r\n $timeout(function () {\r\n vm.GetStaffShiftCampaignForRM();\r\n }, 2000);\r\n }\r\n else {\r\n vm.disableBookingButton = false;\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n\r\n }\r\n }\r\n vm.CampaignNameofUser = \"\";\r\n\r\n vm.getAcceptHistory = function (q, campaignName) { \r\n vm.CountDetails = q;\r\n vm.CampaignNameofUser = campaignName;\r\n vm.GetAllShiftsForDateDynamic();\r\n openHistoryModel = $uibModal.open({\r\n templateUrl: 'openHistoryModel.html',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n \r\n} \r\n\r\nvm.CloseHistoryModel = function () {\r\n openHistoryModel.close();\r\n}\r\n\r\n vm.exportTableToCSV = function() {\r\n var csv = [];\r\n var rows = vm.attendanceUsersList;\r\n\r\n // Header row\r\n var header = [\r\n 'Campaign ID',\r\n 'Campaign Name',\r\n 'User ID',\r\n 'User Name',\r\n 'Contact Number',\r\n 'Location',\r\n 'Acceptance Time'\r\n ];\r\n csv.push(header.join(','));\r\n\r\n // Data rows\r\n for (var i = 0; i < rows.length; i++) {\r\n var row = [\r\n vm.CountDetails,\r\n vm.CampaignNameofUser,\r\n rows[i].UserId,\r\n rows[i].UserName,\r\n rows[i].ContactNumber,\r\n '\"' + rows[i].LocationName.replace(/\"/g, '\"\"') + '\"', \r\n $filter('date')(rows[i].AcceptanceDateTime, 'dd/MM/yy hh:mm a')\r\n ];\r\n csv.push(row.join(','));\r\n }\r\n\r\n // Create CSV file\r\n var csvContent = csv.join('\\n');\r\n var blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });\r\n var url = URL.createObjectURL(blob);\r\n\r\n // Create temporary anchor element and trigger download\r\n var a = document.createElement('a');\r\n a.href = url;\r\n a.target = '_blank';\r\n a.download = 'attendance.csv';\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n}\r\n\r\n\r\n vm.GetStaffShitCampaignForSupervisorById = function (campaginId) {\r\n StaffShiftCampaignService.GetStaffShitCampaignForSupervisorById(campaginId, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 202 && resp) {\r\n // $scope.toggleMenu();\r\n vm.campaignData = resp.data;\r\n }\r\n })\r\n\r\n }\r\n\r\n vm.PublishShiftToUser = function (userId) {\r\n vm.disableBookingButton = true;\r\n StaffShiftCampaignService.PublishShiftToUser(vm.shiftId, userId, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 202 && resp) {\r\n vm.disableBookingButton = false;\r\n $scope.toggleMenu();\r\n vm.showSuccess(\"Success\", 'Shift published successfully');\r\n $timeout(function () {\r\n vm.GetStaffShiftCampaignForRM();\r\n }, 2000);\r\n }\r\n else {\r\n vm.disableBookingButton = false;\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n\r\n }\r\n\r\n vm.ApproveStaffOvertimeshift = function (shiftId) {\r\n vm.disableBookingButton = true;\r\n StaffShiftCampaignService.ApproveStaffOvertimeshift(shiftId, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 202 && resp) {\r\n vm.disableBookingButton = false;\r\n vm.showSuccess(\"Success\", 'Shift approved successfully');\r\n $timeout(function () {\r\n vm.GetStaffShiftCampaignForRM();\r\n }, 2000);\r\n }\r\n else {\r\n vm.disableBookingButton = false;\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n\r\n }\r\n\r\n vm.RejectModal = function (item) {\r\n vm.shiftId = item;\r\n vm.RejctShareModal = $uibModal.open({\r\n templateUrl: 'rejectshiftmodal.html',\r\n backdrop: 'static',\r\n size: 'md',\r\n scope: $scope\r\n });\r\n }\r\n vm.closerejectmodal = function () {\r\n vm.disableBookingButton = false;\r\n vm.RejectComment = \"\";\r\n vm.RejctShareModal.close();\r\n }\r\n\r\n\r\n vm.RejectStaffOvertimeshift = function () {\r\n vm.disableBookingButton = true;\r\n StaffShiftCampaignService.RejectStaffOvertimeshift(vm.shiftId, vm.RejectComment, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 202 && resp) {\r\n vm.showSuccess(\"Success\", 'Shift rejected successfully');\r\n vm.closerejectmodal();\r\n $timeout(function () {\r\n vm.GetStaffShiftCampaignForRM();\r\n }, 2000);\r\n }\r\n else {\r\n vm.disableBookingButton = false;\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n\r\n }\r\n vm.assigntotech = false;\r\n vm.AttendenceSidePanel = function (q) {\r\n vm.CampaignCompData = q;\r\n vm.CountDetails = q.CampaignId;\r\n vm.GetAllShiftsForDateDynamic();\r\n vm.assigntotech = true;\r\n \r\n };\r\n vm.GetAllShiftsForDateDynamic = function () {\r\n var data = {\r\n \"ShiftFromDate\": '',\r\n \"ShiftToDate\": '',\r\n \"Status\": '',\r\n \"UserId\": '',\r\n \"CampaginId\": vm.CountDetails,\r\n \"ShiftType\":'',\r\n \"OrderBy\":'',\r\n \"SortType\":'',\r\n \"PageIndex\":0,\r\n \"PageSize\":0\r\n }\r\n\r\n StaffShiftCampaignService.GetAllShiftsForDateDynamic(data,loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200 && resp) {\r\n vm.attendanceUsersList = resp.data;\r\n }\r\n else {\r\n vm.attendanceUsersList = \"\";\r\n }\r\n })\r\n}\r\n\r\n\r\n vm.ResetUserSelection = function (scope){\r\n scope.selectAllUsers = false;\r\n scope.showMinusUsers = false;\r\n }\r\n\r\n vm.UsersFilterArray = function(){\r\n vm.ResetUserSelection(this);\r\n itemNames=\"\";\r\n itemValues=\"\";\r\n\r\n if (vm.state) { \r\n if(itemNames) \r\n {\r\n itemNames = itemNames + ',CurrentState';\r\n itemValues = itemValues + \",\" + vm.state;\r\n }\r\n else\r\n {\r\n itemNames = 'CurrentState';\r\n itemValues = vm.state;\r\n } \r\n }\r\n if (vm.city) { \r\n if(itemNames) \r\n {\r\n itemNames = itemNames + ',CurrentCity';\r\n itemValues = itemValues + \",\" + vm.city;\r\n }\r\n else\r\n {\r\n itemNames = 'CurrentCity';\r\n itemValues = vm.city;\r\n } \r\n }\r\n if (vm.rating) { \r\n if(itemNames) \r\n {\r\n itemNames = itemNames + ',FERating';\r\n itemValues = itemValues + \",\" + vm.rating;\r\n }\r\n else\r\n {\r\n itemNames = 'FERating';\r\n itemValues = vm.rating;\r\n } \r\n }\r\n if (vm.Experience) { \r\n if(itemNames) \r\n {\r\n itemNames = itemNames + ',Experience';\r\n itemValues = itemValues + \",\" + vm.Experience;\r\n }\r\n else\r\n {\r\n itemNames = 'Experience';\r\n itemValues = vm.Experience;\r\n } \r\n }\r\n\r\n }\r\n\r\n\r\n vm.getusersbyfilters = function () {\r\n StaffShiftCampaignService.getusersbyfilters(itemNames,itemValues, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200 && resp) {\r\n vm.UsersList = resp.data;\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n }\r\n\r\n vm.applyUserFilter = function () {\r\n vm.UsersFilterArray();\r\n vm.getusersbyfilters(itemNames, itemValues, loggedinUser, token);\r\n }\r\n\r\n vm.applyUserFilter();\r\n\r\n\r\n }\r\n});\r\n\r\nangular.module('inspinia').filter('searchUser', function () {\r\n return function (items, search) {\r\n var filtered = [];\r\n if (search) {\r\n angular.forEach(items, function (item) {\r\n var searchstr = new RegExp(search, \"i\");\r\n if (item.id.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.User_Type.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.city.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.contactnumber.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.name.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.role.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.state.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n });\r\n } else {\r\n filtered = items;\r\n }\r\n return filtered;\r\n }\r\n})\nangular.module('inspinia').service('SLASettingService', function (ApiURL,$log,$http) {\r\n\r\n //https://test.mymobiforce.com/coreapi/api/slaalertconfiguration/F00000000000/CreateMultipleSLAAlert\r\n this.CreateSLAlAlert = function(reqUserId,token,data){\r\n \tvar url = ApiURL+'/api/slaalertconfiguration/'+reqUserId+'/CreateMultipleSLAAlert';\r\n \treturn $http.post(url,data,{\r\n \t\theaders:{'Content-Type':'application/json','token':token, 'UserId':reqUserId}\r\n \t});\r\n }\r\n //https://test.mymobiforce.com/coreapi/api/alertconfiguration/U360000000001/GetAllAlertConfiguration\r\nthis.GetAllAlertConfiguration = function(reqUserId,token){\r\n\tvar url=ApiURL+'/api/alertconfiguration/'+reqUserId+'/GetAllAlertConfiguration';\r\n\treturn $http.get(url,{\r\n\t\theaders:{'Content-Type':'application/json','token':token, 'UserId':reqUserId}\r\n\t})\r\n}\r\n\r\n//https://test.mymobiforce.com/coreapi/api/slaalertconfiguration/U360000000001/GetAllSLAAlertConfiguration\r\nthis.GetAllSLAAlertConfiguration = function(reqUserId,token){\r\n var url=ApiURL+'/api/slaalertconfiguration/'+reqUserId+'/GetAllSLAAlertConfiguration';\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json','token':token, 'UserId':reqUserId}\r\n })\r\n}\r\n//https://test.mymobiforce.com/coreapi/api/alertconfiguration/U360000000001/JOB_ASSIGNED/TRANSACTIONAL/GetAlertConfiguration\r\nthis.GetAlertConfiguration = function(reqUserId,id,type,token){\r\n\tvar url=ApiURL+'/api/alertconfiguration/'+reqUserId+'/'+id+'/'+type+'/GetAlertConfiguration';\r\n\treturn $http.get(url,{\r\n\t\theaders:{'Content-Type':'application/json','token':token, 'UserId':reqUserId}\r\n\t})\r\n}\r\nthis.DeleteAlertConfiguration = function(reqUserId,token,data){\r\n\tvar url=ApiURL+'/api/alertconfiguration/'+reqUserId+'/GetAllAlertConfiguration';\r\n\treturn $http.delete(url,data,{\r\n\t\theaders:{'Content-Type':'application/json','token':token, 'UserId':reqUserId}\r\n\t})\r\n}\r\n//https://test.mymobiforce.com/coreapi/api/alertconfiguration/U360000000001/alertId/alertType/DeleteAlertConfiguration\r\n//https://test.mymobiforce.com/coreapi/api/slaalertconfiguration/reqUserId/alertId/alertType/DeleteSLAAlertConfiguration\r\n\r\nthis.DeleteAlertConfiguration = function(reqUserId,id,type,token){\r\n return $http({\r\n method: 'DELETE',\r\n url: ApiURL + \"/api/slaalertconfiguration/\"+reqUserId+ \"/\"+id+\"/\"+type+\"/DeleteSLAAlertConfiguration\",\r\n data: { \r\n },\r\n headers: {\r\n 'Content-type': 'application/json', 'token':token, 'UserId':reqUserId\r\n }\r\n })\r\n }\r\n\r\n\r\n});\nangular.module('inspinia').controller('SLAController', function (MailUrl,$state,toaster,$timeout,$window,$state,ReportService, $scope,$uibModal,$log, $localStorage,NotificationSettingService,$stateParams,DTOptionsBuilder, DTColumnDefBuilder,SLASettingService) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n if ($stateParams.mode == 'true') {\r\n vm.Openmode = true\r\n \r\n }else{\r\n vm.Openmode = false;\r\n\r\n }\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.showInfo =$scope.$parent.$parent.main.showInfo;\r\n vm.confirmTagModal =$scope.$parent.$parent.main.confirmTagModal;\r\n vm.channelList = [\"SMS\",\"Email\",\"Notification\",\"WebNotification\"];\r\n vm.RoleList = [\"Project Manager\",\"Help Desk\",\"Supervisor\",\"Field Engineer\",\"Consumer\"];\r\n vm.TimeList = [\"30 Min\",\"1 Hour\",\"2 Hours\",\"3 Hours\",\"4 Hours\",\"5 Hours\",\"6 Hours\"];\r\n vm.selectedRolesList = [];\r\n vm.selectedChannelArray = '';\r\n vm.eventConfigurationArray1 = [];\r\n vm.eventConfigurationArray2 = [];\r\n vm.eventConfigurationArray3 = [];\r\n vm.eventConfigurationArray4 = [];\r\n vm.dtInstance = {};\r\n vm.users=[];\r\n vm.toUsers=[];\r\n vm.toList=[];\r\n vm.mobileNo = '';\r\n vm.outsiderTransText = '';\r\n vm.outSidecheck1 = false;\r\n vm.AllConfigurayionList = '';\r\n vm.voiletedChannel = [];\r\n vm.voiletChannel = [];\r\n vm.voiletedSmsText = '';\r\n vm.voiletSmsText = '';\r\n vm.voiletedRole = [];\r\n vm.voiletRole=[];\r\n //https://test.mymobiforce.com/assets/templates/36/JOB_ASSIGNED.html\r\n vm.mailMessagePath = MailUrl+'/assets/templates/'+'36'+'/';\r\n\r\n vm.GetAllSLAAlertConfiguration = function(){\r\n SLASettingService.GetAllSLAAlertConfiguration(loggedinUser,token).then(function(resp){\r\n if (resp && resp.status == 200) {\r\n vm.SLAAlertConfigurationList = resp.data;\r\n angular.forEach(vm.SLAAlertConfigurationList, function(d){\r\n if (d.AlertId == 'SLA_VOILATE_SINGLE') {\r\n vm.check1 = true;\r\n vm.eventConfigurationArray1 = [];\r\n var SLAVOILATESINGLEObj = [];\r\n angular.forEach(d.ListSLAAlertTemplate, function(data){\r\n var arrayObj = {};\r\n arrayObj.channel = [];\r\n if (data.Role!='Outsider') {\r\n arrayObj.role = data.Role;\r\n if (data.DurationInMinutes<60) {\r\n arrayObj.time = data.DurationInMinutes + ' Min'; \r\n }else if (data.DurationInMinutes == 60){\r\n arrayObj.time = data.DurationInMinutes/60 + ' Hour';\r\n }else if (data.DurationInMinutes>60) {\r\n arrayObj.time = data.DurationInMinutes/60 + ' Hours';\r\n }\r\n if (data.SMSEnabled) {\r\n arrayObj.channel.push('SMS');\r\n arrayObj.smsText = data.SMSText;\r\n }if (data.EmailEnabled) {\r\n arrayObj.channel.push('Email');\r\n }if (data.NotificationEnabled) {\r\n arrayObj.channel.push('Notification');\r\n arrayObj.smsText = data.NotificationText\r\n }if (data.WhatsAppEnabled) {\r\n arrayObj.channel.push('WhatsApp');\r\n arrayObj.smsText = data.WhatsAppText\r\n }if (data.WebNotificationEnabled) {\r\n arrayObj.channel.push('WebNotification');\r\n arrayObj.smsText = data.WebNotificationText\r\n }\r\n SLAVOILATESINGLEObj.push(arrayObj);\r\n }else if (data.Role == 'Outsider') {\r\n vm.outSidecheck1 = true;\r\n if (data.UserOutSideContact && data.UserOutSideContact.length>0) {\r\n //vm.outSidecheck = true;\r\n vm.outsiderTransText = data.SMSText;\r\n vm.toList = [];\r\n angular.forEach(data.UserOutSideContact, function(v){\r\n var objOutsider = {};\r\n if (v) {\r\n objOutsider.PersonalEmail = v.UserOutSideEmail;\r\n objOutsider.ContactNumber = v.UserOutSidePhone;\r\n if (data.DurationInMinutes<60) {\r\n objOutsider.TimeDuration = d.DurationInMinutes + ' Min'\r\n }else if (d.DurationInMinutes==60) {\r\n objOutsider.TimeDuration = d.DurationInMinutes + ' Hour'\r\n }else if (d.DurationInMinutes>60) {\r\n objOutsider.TimeDuration = d.DurationInMinutes + ' Hours'\r\n }\r\n \r\n vm.toList.push(objOutsider);\r\n }\r\n })\r\n\r\n }\r\n }\r\n })\r\n vm.eventConfigurationArray1 = SLAVOILATESINGLEObj;\r\n }else if (d.AlertId == 'SLA_VOILATED_SINGLE') {\r\n vm.check3 = true;\r\n vm.eventConfigurationArray3 = [];\r\n var SLAVOILATEDSINGLEObj = [];\r\n angular.forEach(d.ListSLAAlertTemplate, function(data){\r\n var arrayObj = {};\r\n arrayObj.channel = [];\r\n if (data) {\r\n arrayObj.role = data.Role;\r\n if (data.DurationInMinutes<60) {\r\n arrayObj.time = data.DurationInMinutes + ' Min'; \r\n }else if (data.DurationInMinutes == 60){\r\n arrayObj.time = data.DurationInMinutes/60 + ' Hour';\r\n }else if (data.DurationInMinutes>60) {\r\n arrayObj.time = data.DurationInMinutes/60 + ' Hours';\r\n }\r\n if (data.SMSEnabled) {\r\n arrayObj.channel.push('SMS');\r\n arrayObj.smsText = data.SMSText;\r\n }if (data.EmailEnabled) {\r\n arrayObj.channel.push('Email');\r\n }if (data.NotificationEnabled) {\r\n arrayObj.channel.push('Notification');\r\n arrayObj.smsText = data.NotificationText\r\n }if (data.WhatsAppEnabled) {\r\n arrayObj.channel.push('WhatsApp');\r\n arrayObj.smsText = data.WhatsAppText\r\n }if (data.WebNotificationEnabled) {\r\n arrayObj.channel.push('WebNotification');\r\n arrayObj.smsText = data.WebNotificationText\r\n }\r\n SLAVOILATEDSINGLEObj.push(arrayObj);\r\n }\r\n })\r\n vm.eventConfigurationArray3 = SLAVOILATEDSINGLEObj;\r\n }else if (d.AlertId == 'SLA_VOILATE_SUMMARY') {\r\n vm.check2 = true;\r\n vm.eventConfigurationArray2 = [];\r\n \r\n angular.forEach(d.ListSLAAlertTemplate, function(data){\r\n if (data) {\r\n vm.voiletRole.push(data.Role);\r\n if (data.SMSEnabled) {\r\n vm.voiletChannel.push('SMS');\r\n vm.voiletSmsText = data.SMSText;\r\n }if (data.EmailEnabled) {\r\n vm.voiletChannel.push('Email');\r\n }if (data.NotificationEnabled) {\r\n vm.voiletChannel.push('Notification');\r\n vm.voiletSmsText = data.NotificationText\r\n }if (data.WhatsAppEnabled) {\r\n vm.voiletChannel.push('WhatsApp');\r\n vm.voiletSmsText = data.WhatsAppText\r\n }if (data.WebNotificationEnabled) {\r\n vm.voiletChannel.push('WebNotification');\r\n vm.voiletSmsText = data.WebNotificationText\r\n }\r\n }\r\n })\r\n angular.forEach(d.ListSLAPeriod, function(d){\r\n var arrayObj = {}; \r\n if (d) {\r\n if (d.DurationInMinutes<60) {\r\n arrayObj.time = d.DurationInMinutes + ' Min';\r\n }else if (d.DurationInMinutes == 60) {\r\n arrayObj.time = d.DurationInMinutes/60 + ' Hour';\r\n }else if (d.DurationInMinutes>60) {\r\n arrayObj.time = d.DurationInMinutes/60 + ' Hours';\r\n }\r\n arrayObj.exactTime = d.Hours + ':' + d.Minutes; \r\n if (d.Hours < 10) {\r\n d.Hours = '0' + d.Hours;\r\n }\r\n if (d.Minutes < 10) {\r\n d.Minutes = '0' + d.Minutes;\r\n }\r\n arrayObj.exactTime = d.Hours + ':' + d.Minutes;\r\n vm.eventConfigurationArray2.push(arrayObj);\r\n }\r\n })\r\n \r\n\r\n }else if (d.AlertId == 'SLA_VOILATED_SUMMARY') {\r\n vm.check4 = true;\r\n vm.eventConfigurationArray4 = [];\r\n angular.forEach(d.ListSLAAlertTemplate, function(data){\r\n if (data) {\r\n vm.voiletedRole.push(data.Role);\r\n if (data.SMSEnabled) {\r\n vm.voiletedChannel.push('SMS');\r\n vm.voiletedSmsText = data.SMSText;\r\n }if (data.EmailEnabled) {\r\n vm.voiletedChannel.push('Email');\r\n }if (data.NotificationEnabled) {\r\n vm.voiletedChannel.push('Notification');\r\n vm.voiletedSmsText = data.NotificationText\r\n }if (data.WhatsAppEnabled) {\r\n vm.voiletedChannel.push('WhatsApp');\r\n vm.voiletedSmsText = data.WhatsAppText\r\n }if (data.WebNotificationEnabled) {\r\n vm.voiletedChannel.push('WebNotification');\r\n vm.voiletedSmsText = data.WebNotificationText\r\n }\r\n }\r\n })\r\n angular.forEach(d.ListSLAPeriod, function(d){\r\n var arrayObj = {}; \r\n if (d) {\r\n if (d.DurationInMinutes<60) {\r\n arrayObj.time = d.DurationInMinutes + ' Min';\r\n }else if (d.DurationInMinutes == 60) {\r\n arrayObj.time = d.DurationInMinutes/60 + ' Hour';\r\n }else if (d.DurationInMinutes>60) {\r\n arrayObj.time = d.DurationInMinutes/60 + ' Hours';\r\n }\r\n if (d.Hours < 10) {\r\n d.Hours = '0' + d.Hours;\r\n }\r\n if (d.Minutes < 10) {\r\n d.Minutes = '0' + d.Minutes;\r\n }\r\n arrayObj.exactTime = d.Hours + ':' + d.Minutes;\r\n vm.eventConfigurationArray4.push(arrayObj);\r\n }\r\n })\r\n }\r\n })\r\n \r\n }\r\n })\r\n}\r\n\r\nvm.CancelEvent = function(){\r\n $state.go('index.NotificationSettings',{\r\n alertType:'main',\r\n eventType:'',\r\n mode:''\r\n },{\r\n reload:true\r\n })\r\n}\r\n\r\nif (vm.Openmode == true) {\r\n vm.GetAllSLAAlertConfiguration();\r\n}\r\n\r\n vm.OpenMailModal = function(){\r\n MailModal = $uibModal.open({\r\n templateUrl: 'mail-modal',\r\n scope: $scope,\r\n size:'lg'\r\n })\r\n }\r\n vm.CloseMailModal = function(){\r\n MailModal.close();\r\n }\r\n\r\nvar confObject1 = {\r\n}\r\nvar confObject2 = {\r\n}\r\nvar confObject3 = {\r\n}\r\nvar confObject4 = {\r\n}\r\nvm.eventConfigurationArray1.push(confObject1);\r\nvm.eventConfigurationArray2.push(confObject2);\r\nvm.eventConfigurationArray3.push(confObject3);\r\nvm.eventConfigurationArray4.push(confObject4);\r\n\r\nvm.AddEventsConfiguration1 = function(){\r\n var ele={};\r\n vm.eventConfigurationArray1.push(ele);\r\n}\r\nvm.RemoveEventsConfiguration1 = function (index){\r\n vm.eventConfigurationArray1.splice(index, 1);\r\n}\r\nvm.AddEventsConfiguration2 = function(){\r\n var ele={};\r\n vm.eventConfigurationArray2.push(ele);\r\n}\r\nvm.RemoveEventsConfiguration2 = function (index){\r\n vm.eventConfigurationArray2.splice(index, 1);\r\n}\r\nvm.AddEventsConfiguration3 = function(){\r\n var ele={};\r\n vm.eventConfigurationArray3.push(ele);\r\n}\r\nvm.RemoveEventsConfiguration3 = function (index){\r\n vm.eventConfigurationArray3.splice(index, 1);\r\n}\r\nvm.AddEventsConfiguration4 = function(){\r\n var ele={};\r\n vm.eventConfigurationArray4.push(ele);\r\n}\r\nvm.RemoveEventsConfiguration4 = function (index){\r\n vm.eventConfigurationArray4.splice(index, 1);\r\n}\r\n\r\nvm.getUserSuggestion = function (val) {\r\n\r\n // vm.scheduleModel.toListMendtryErr=false;\r\n\r\n var re = /^[A-Za-z0-9]+([\\.\\-_]*[A-Za-z0-9]+)*@[A-Za-z0-9]+([\\.\\-_]*[A-Za-z0-9]+)*\\.([A-Za-z]{2}|[A-Za-z]{3})$/;\r\n if (vm.users.length > 0) {\r\n return re.test(val)?[{FirstName:val.split(\"@\")[0], LastName:\"\", UserId:val}].concat(vm.users):vm.users;\r\n }\r\n vm.getUsers();\r\n return re.test(val)?[{FirstName:val.split(\"@\")[0], LastName:\"\", UserId:val}]:[];\r\n }\r\n\r\n vm.getUsers = function () {\r\n vm.users = [];\r\n ReportService.getUsers(loggedinUser, token, vm.createCallback(vm.users, [function (data) {\r\n //$log.log(data);\r\n }]));\r\n }\r\n\r\n vm.searchAsOr = function (searchText1) {\r\n return function (entry) {\r\n var splittedText = searchText1.split(\";\");\r\n if (splittedText != null && splittedText.length > 0) {\r\n var searchText = splittedText[splittedText.length - 1].trim();\r\n if (entry.FirstName.toLowerCase().indexOf(searchText.toLowerCase()) > -1\r\n || (entry.LastName !=null && entry.LastName.toLowerCase().indexOf(searchText.toLowerCase()) > -1)\r\n || entry.UserId.toLowerCase().indexOf(searchText.toLowerCase()) > -1)\r\n return entry;\r\n }\r\n }\r\n }\r\n vm.removeSelectedUsers = function (element) {\r\n var matched = false;\r\n angular.forEach(vm.toList, function (d) {\r\n if (d.PersonalEmail == element.PersonalEmail) {\r\n matched = true;\r\n return;\r\n }\r\n });\r\n if (!matched) {\r\n return element;\r\n }\r\n }\r\n vm.selectUserNameInToList = function (item,mobile,time) {\r\n if ((mobile==undefined || mobile == '') && (item==undefined || item == '')) {\r\n vm.showInfo(\"Information\",\"Please enter email or mobile\");\r\n return;\r\n }\r\n var obj=[];\r\n if (time!='') {\r\n obj.TimeDuration = time;\r\n if (item && item.length!=0) {\r\n obj.PersonalEmail = item;\r\n }\r\n if (mobile && mobile.length>0) {\r\n obj.ContactNumber = mobile; \r\n }else{\r\n angular.forEach(vm.users, function(d){\r\n if (d.PersonalEmail == item) {\r\n obj.ContactNumber = d.ContactNumber;\r\n }\r\n })\r\n }\r\n }else{\r\n vm.showInfo(\"Information\",\"Please select Timings\");\r\n return;\r\n }\r\n \r\n vm.toList.push(obj);\r\n vm.toUsers = [];\r\n vm.outsiderPhone = '';\r\n vm.outsiderTime = '';\r\n }\r\n vm.RemovefromList = function(index){\r\n vm.toList.splice(index,1);\r\n }\r\n\r\nvm.SaveEventConfiguration = function(){\r\n // SLA about to voilate single (SLA_VOILATE_SINGLE), SLA voilated single (SLA_VOILATED_SINGLE)\r\n // SLA about to voilate summary(SLA_VOILATE_SUMMARY), SLA voilated summary (SLA_VOILATED_SUMMARY)\r\n\r\nif (vm.sla_form.$valid) {\r\n var obj = [];\r\n if (vm.check1) {\r\n var alertArray = {};\r\n var configObject = [];\r\n var minutes = '';\r\n angular.forEach(vm.eventConfigurationArray1, function(d){\r\n var alertObject = {};\r\n if (d && d.check) {\r\n if (d.channel.indexOf('SMS')!=-1) {\r\n alertObject.SMSEnabled = true;\r\n alertObject.SMSText = d.smsText;\r\n }else{\r\n alertObject.SMSEnabled = false;\r\n alertObject.SMSText = \"\";\r\n }\r\n if (d.channel.indexOf('Email')!=-1) {\r\n alertObject.EmailEnabled = true;\r\n alertObject.EmailTemplateName =\"SLA_VOILATE_SINGLE\";\r\n alertObject.EmailSubject = \"SLA_VOILATE_SINGLE\";\r\n }else{\r\n alertObject.EmailEnabled = false;\r\n alertObject.EmailTemplateName =\"\";\r\n alertObject.EmailSubject = \"\";\r\n }if (d.channel.indexOf('Notification')!=-1) {\r\n alertObject.NotificationEnabled = true;\r\n alertObject.NotificationText =d.smsText;\r\n }else{\r\n alertObject.NotificationEnabled = false;\r\n alertObject.NotificationText =\"\";\r\n }if (d.channel.indexOf('WhatsApp')!=-1) {\r\n alertObject.WhatsAppEnabled = true;\r\n alertObject.WhatsAppText =d.smsText;\r\n }else{\r\n alertObject.WhatsAppEnabled = false;\r\n alertObject.WhatsAppText =\"\";\r\n }\r\n alertObject.Role = d.role;\r\n \r\n if (d.time && d.time.includes('Min')) {\r\n var timeSplit = d.time.split(' ');\r\n minutes = parseInt(timeSplit[0]);\r\n }else{\r\n var timeSplit = d.time.split(' ');\r\n minutes = parseInt(timeSplit[0])*60;\r\n }\r\n alertObject.DurationInMinutes= minutes;\r\n alertObject.UserOutSideContact=[];\r\n alertObject.UserOutSideContact.UserOutSideEmail = \"\";\r\n alertObject.UserOutSideContact.UserOutSidePhone = \"\";\r\n configObject.push(alertObject);\r\n }\r\n })\r\n if (vm.outSidecheck1) {\r\n var outSideObj = {};\r\n alertArray.ListSLAPeriod=[];\r\n if (vm.toList && vm.toList.length>0) {\r\n var alertObject = {}\r\n var outSiderModel = [];\r\n angular.forEach(vm.toList, function(d){\r\n var objModel = {};\r\n if (d) {\r\n objModel.UserOutSideEmail = d.PersonalEmail;\r\n objModel.UserOutSidePhone = d.ContactNumber;\r\n outSiderModel.push(objModel);\r\n }\r\n })\r\n alertObject.UserOutSideContact = outSiderModel;\r\n alertObject.DurationInMinutes = minutes;\r\n alertObject.Role = \"Outsider\";\r\n alertObject.SMSText = vm.outsiderTransText;\r\n alertObject.SMSEnabled = true;\r\n alertObject.EmailEnabled = true;\r\n alertObject.EmailSubject = \"SLA_VOILATE_SINGLE\";\r\n alertObject.EmailTemplateName = \"SLA_VOILATE_SINGLE\";\r\n alertObject.NotificationEnabled = false;\r\n alertObject.NotificationText = \"\";\r\n alertObject.WhatsAppEnabled = false;\r\n alertObject.WhatsAppText = \"\";\r\n alertObject.WebNotificationEnabled = false;\r\n alertObject.WebNotificationText = '';\r\n configObject.push(alertObject);\r\n }else{\r\n vm.showInfo(\"Information\",\"Please select outside users or uncheck the button\");\r\n return;\r\n }\r\n \r\n }\r\n\r\n alertArray.IsPreodic = false;\r\n alertArray.AlertType = 'SLA';\r\n alertArray.AlertId = 'SLA_VOILATE_SINGLE';\r\n alertArray.ListSLAPeriod = [];\r\n var listSlaObj = {};\r\n listSlaObj.Hours = 0;\r\n listSlaObj.Minutes = 0;\r\n listSlaObj.DurationInMinutes = 0;\r\n alertArray.ListSLAPeriod.push(listSlaObj);\r\n alertArray.ListSLAAlertTemplate = configObject;\r\n obj.push(alertArray);\r\n }else{\r\n console.log('this is uncheck for deletion'+ 'SLA_VOILATE_SINGLE');\r\n SLASettingService.DeleteAlertConfiguration(loggedinUser,'SLA_VOILATE_SINGLE','SLA',token).then(function(resp){\r\n if (resp) {\r\n console.log(resp);\r\n }\r\n })\r\n }\r\n if (vm.check3) {\r\n var alertArray={};\r\n var configObject = [];\r\n angular.forEach(vm.eventConfigurationArray3, function(d){\r\n var alertObject = {};\r\n if (d && d.check) {\r\n if (d.channel.indexOf('SMS')!=-1) {\r\n alertObject.SMSEnabled = true;\r\n alertObject.SMSText = d.smsText;\r\n }else{\r\n alertObject.SMSEnabled = false;\r\n alertObject.SMSText = \"\";\r\n }\r\n if (d.channel.indexOf('Email')!=-1) {\r\n alertObject.EmailEnabled = true;\r\n alertObject.EmailTemplateName =\"SLA_VOILATED_SINGLE\";\r\n alertObject.EmailSubject = \"SLA_VOILATED_SINGLE\";\r\n }else{\r\n alertObject.EmailEnabled = false;\r\n alertObject.EmailTemplateName =\"\";\r\n alertObject.EmailSubject = \"\";\r\n }if (d.channel.indexOf('Notification')!=-1) {\r\n alertObject.NotificationEnabled = true;\r\n alertObject.NotificationText =d.smsText;\r\n }else{\r\n alertObject.NotificationEnabled = false;\r\n alertObject.NotificationText =\"\";\r\n }if (d.channel.indexOf('WhatsApp')!=-1) {\r\n alertObject.WhatsAppEnabled = true;\r\n alertObject.WhatsAppText =d.smsText;\r\n }else{\r\n alertObject.WhatsAppEnabled = false;\r\n alertObject.WhatsAppText =\"\";\r\n }\r\n alertObject.Role = d.role;\r\n var minutes = '';\r\n if (d.time && d.time.includes('Min')) {\r\n var timeSplit = d.time.split(' ');\r\n minutes = parseInt(timeSplit[0]);\r\n }else{\r\n var timeSplit = d.time.split(' ');\r\n minutes = parseInt(timeSplit[0])*60;\r\n }\r\n alertObject.DurationInMinutes= minutes;\r\n alertObject.UserOutSideContact=[];\r\n alertObject.UserOutSideContact.UserOutSideEmail = \"\";\r\n alertObject.UserOutSideContact.UserOutSidePhone = \"\";\r\n configObject.push(alertObject);\r\n }\r\n })\r\n\r\n if (vm.outSidecheck1) {\r\n var outSideObj = {};\r\n alertArray.ListSLAPeriod=[];\r\n if (vm.toList && vm.toList.length>0) {\r\n var alertObject = {}\r\n var outSiderModel = [];\r\n angular.forEach(vm.toList, function(d){\r\n var objModel = {};\r\n if (d) {\r\n objModel.UserOutSideEmail = d.PersonalEmail;\r\n objModel.UserOutSidePhone = d.ContactNumber;\r\n outSiderModel.push(objModel);\r\n }\r\n })\r\n alertObject.UserOutSideContact = outSiderModel;\r\n alertObject.DurationInMinutes = minutes;\r\n alertObject.Role = \"Outsider\";\r\n alertObject.SMSText = vm.outsiderTransText;\r\n alertObject.SMSEnabled = true;\r\n alertObject.EmailEnabled = true;\r\n alertObject.EmailSubject = \"SLA_VOILATED_SINGLE\";\r\n alertObject.EmailTemplateName = \"SLA_VOILATED_SINGLE\";\r\n alertObject.NotificationEnabled = false;\r\n alertObject.NotificationText = \"\";\r\n alertObject.WhatsAppEnabled = false;\r\n alertObject.WhatsAppText = \"\";\r\n alertObject.WebNotificationEnabled = false;\r\n alertObject.WebNotificationText = '';\r\n configObject.push(alertObject);\r\n }else{\r\n vm.showInfo(\"Information\",\"Please select outside users or uncheck the button\");\r\n return;\r\n }\r\n \r\n }\r\n alertArray.IsPreodic = false;\r\n alertArray.AlertType = 'SLA';\r\n alertArray.AlertId = 'SLA_VOILATED_SINGLE';\r\n alertArray.ListSLAPeriod = [];\r\n var listSlaObj = {};\r\n listSlaObj.Hours = 0;\r\n listSlaObj.Minutes = 0;\r\n listSlaObj.DurationInMinutes = 0;\r\n alertArray.ListSLAPeriod.push(listSlaObj);\r\n alertArray.ListSLAAlertTemplate = configObject;\r\n obj.push(alertArray);\r\n }\r\n else{\r\n console.log('this is uncheck for deletion SLA_VOILATED_SINGLE');\r\n SLASettingService.DeleteAlertConfiguration(loggedinUser,'SLA_VOILATED_SINGLE','SLA',token).then(function(resp){\r\n if (resp) {\r\n console.log(resp);\r\n }\r\n })\r\n }\r\n if (vm.check2) {\r\n var alertArray={};\r\n var configObject = [];\r\n angular.forEach(vm.voiletRole, function(d){\r\n var alertObject = {};\r\n if (d) {\r\n if (vm.voiletChannel.indexOf('SMS')!=-1) {\r\n alertObject.SMSEnabled = true;\r\n alertObject.SMSText = vm.voiletSmsText;\r\n\r\n }else{\r\n alertObject.SMSEnabled = false;\r\n alertObject.SMSText = '';\r\n }\r\n if (vm.voiletChannel.indexOf('Email')!=-1) {\r\n alertObject.EmailEnabled = true;\r\n alertObject.EmailTemplateName ='SLA_VOILATE_SUMMARY';\r\n alertObject.EmailSubject = 'SLA_VOILATE_SUMMARY';\r\n }else{\r\n alertObject.EmailEnabled = false;\r\n alertObject.EmailTemplateName =\"\";\r\n alertObject.EmailSubject = \"\";\r\n }if (vm.voiletChannel.indexOf('Notification')!=-1) {\r\n alertObject.NotificationEnabled = true;\r\n alertObject.NotificationText =vm.voiletSmsText;\r\n }else{\r\n alertObject.NotificationEnabled = false;\r\n alertObject.NotificationText =\"\";\r\n }if (vm.voiletChannel.indexOf('WhatsApp')!=-1) {\r\n alertObject.WhatsAppEnabled = true;\r\n alertObject.WhatsAppText =vm.voiletSmsText;\r\n }else{\r\n alertObject.WhatsAppEnabled = false;\r\n alertObject.WhatsAppText =\"\";\r\n }\r\n if (vm.voiletChannel.indexOf('WebNotification')!=-1) {\r\n alertObject.WebNotificationEnabled = true;\r\n alertObject.WebNotificationText =vm.voiletSmsText;\r\n }else{\r\n alertObject.WebNotificationEnabled = false;\r\n alertObject.WebNotificationText =\"\";\r\n }\r\n alertObject.Role = d;\r\n alertObject.UserOutSideContact=[];\r\n alertObject.UserOutSideContact.UserOutSideEmail = \"\";\r\n alertObject.UserOutSideContact.UserOutSidePhone = \"\";\r\n alertObject.DurationInMinutes= \"\";\r\n configObject.push(alertObject);\r\n }\r\n })\r\n\r\n if (vm.outSidecheck1) {\r\n var outSideObj = {};\r\n alertArray.ListSLAPeriod=[];\r\n if (vm.toList && vm.toList.length>0) {\r\n var alertObject = {}\r\n var outSiderModel = [];\r\n angular.forEach(vm.toList, function(d){\r\n var objModel = {};\r\n if (d) {\r\n objModel.UserOutSideEmail = d.PersonalEmail;\r\n objModel.UserOutSidePhone = d.ContactNumber;\r\n outSiderModel.push(objModel);\r\n }\r\n })\r\n alertObject.UserOutSideContact = outSiderModel;\r\n alertObject.DurationInMinutes = minutes;\r\n alertObject.Role = \"Outsider\";\r\n alertObject.SMSText = vm.outsiderTransText;\r\n alertObject.SMSEnabled = true;\r\n alertObject.EmailEnabled = true;\r\n alertObject.EmailSubject = 'SLA_VOILATE_SUMMARY';\r\n alertObject.EmailTemplateName = 'SLA_VOILATE_SUMMARY';\r\n alertObject.NotificationEnabled = false;\r\n alertObject.NotificationText = \"\";\r\n alertObject.WhatsAppEnabled = false;\r\n alertObject.WhatsAppText = \"\";\r\n alertObject.WebNotificationEnabled = false;\r\n alertObject.WebNotificationText = '';\r\n configObject.push(alertObject);\r\n }else{\r\n vm.showInfo(\"Information\",\"Please select outside users or uncheck the button\");\r\n return;\r\n }\r\n \r\n }\r\n alertArray.IsPreodic = true;\r\n alertArray.AlertType = 'SLA';\r\n alertArray.AlertId = 'SLA_VOILATE_SUMMARY';\r\n\r\n alertArray.ListSLAPeriod = [];\r\n angular.forEach(vm.eventConfigurationArray2, function(d){\r\n if (d && d.check) {\r\n var listObj = {};\r\n var minutes= '';\r\n if (d.time.includes('Min')) {\r\n var timeSplit = d.time.split(' ');\r\n minutes = parseInt(timeSplit[0]);\r\n }else{\r\n\r\n var timeSplit = d.time.split(' ');\r\n minutes = parseInt(timeSplit[0])*60;\r\n }\r\n\r\n listObj.DurationInMinutes = minutes;\r\n if (d.exactTime.includes(':')) {\r\n var timeArray = d.exactTime.split(':');\r\n listObj.Hours = parseInt(timeArray[0]);\r\n listObj.Minutes = parseInt(timeArray[1]);\r\n }\r\n alertArray.ListSLAPeriod.push(listObj);\r\n }\r\n })\r\n alertArray.ListSLAAlertTemplate = configObject;\r\n obj.push(alertArray);\r\n }\r\n else{\r\n console.log('this is uncheck for deletion SLA_VOILATE_SUMMARY');\r\n SLASettingService.DeleteAlertConfiguration(loggedinUser,'SLA_VOILATE_SUMMARY','SLA',token).then(function(resp){\r\n if (resp) {\r\n console.log(resp);\r\n }\r\n })\r\n }\r\n if (vm.check4) {\r\n var alertArray={};\r\n var configObject = [];\r\n angular.forEach(vm.voiletedRole, function(d){\r\n var alertObject = {};\r\n if (d) {\r\n if (vm.voiletedChannel.indexOf('SMS')!=-1) {\r\n alertObject.SMSEnabled = true;\r\n alertObject.SMSText = vm.voiletSmsText;\r\n\r\n }else{\r\n alertObject.SMSEnabled = false;\r\n alertObject.SMSText = '';\r\n }\r\n if (vm.voiletedChannel.indexOf('Email')!=-1) {\r\n alertObject.EmailEnabled = true;\r\n alertObject.EmailTemplateName ='SLA_VOILATED_SUMMARY';\r\n alertObject.EmailSubject = 'SLA_VOILATED_SUMMARY';\r\n }else{\r\n alertObject.EmailEnabled = false;\r\n alertObject.EmailTemplateName =\"\";\r\n alertObject.EmailSubject = \"\";\r\n }if (vm.voiletedChannel.indexOf('Notification')!=-1) {\r\n alertObject.NotificationEnabled = true;\r\n alertObject.NotificationText =vm.voiletSmsText;\r\n }else{\r\n alertObject.NotificationEnabled = false;\r\n alertObject.NotificationText =\"\";\r\n }if (vm.voiletedChannel.indexOf('WhatsApp')!=-1) {\r\n alertObject.WhatsAppEnabled = true;\r\n alertObject.WhatsAppText =vm.voiletSmsText;\r\n }else{\r\n alertObject.WhatsAppEnabled = false;\r\n alertObject.WhatsAppText =\"\";\r\n }\r\n if (vm.voiletedChannel.indexOf('WebNotification')!=-1) {\r\n alertObject.WebNotificationEnabled = true;\r\n alertObject.WebNotificationText =vm.voiletSmsText;\r\n }else{\r\n alertObject.WebNotificationEnabled = false;\r\n alertObject.WebNotificationText =\"\";\r\n }\r\n alertObject.Role = d;\r\n alertObject.UserOutSideContact=[];\r\n alertObject.UserOutSideContact.UserOutSideEmail = \"\";\r\n alertObject.UserOutSideContact.UserOutSidePhone = \"\";\r\n alertObject.DurationInMinutes= \"\";\r\n configObject.push(alertObject);\r\n }\r\n })\r\n\r\n if (vm.outSidecheck1) {\r\n var outSideObj = {};\r\n alertArray.ListSLAPeriod=[];\r\n if (vm.toList && vm.toList.length>0) {\r\n var alertObject = {}\r\n var outSiderModel = [];\r\n angular.forEach(vm.toList, function(d){\r\n var objModel = {};\r\n if (d) {\r\n objModel.UserOutSideEmail = d.PersonalEmail;\r\n objModel.UserOutSidePhone = d.ContactNumber;\r\n outSiderModel.push(objModel);\r\n }\r\n })\r\n alertObject.UserOutSideContact = outSiderModel;\r\n alertObject.DurationInMinutes = minutes;\r\n alertObject.Role = \"Outsider\";\r\n alertObject.SMSText = vm.outsiderTransText;\r\n alertObject.SMSEnabled = true;\r\n alertObject.EmailEnabled = true;\r\n alertObject.EmailSubject = 'SLA_VOILATED_SUMMARY';\r\n alertObject.EmailTemplateName = 'SLA_VOILATED_SUMMARY';\r\n alertObject.NotificationEnabled = false;\r\n alertObject.NotificationText = \"\";\r\n alertObject.WhatsAppEnabled = false;\r\n alertObject.WhatsAppText = \"\";\r\n alertObject.WebNotificationEnabled = false;\r\n alertObject.WebNotificationText = '';\r\n configObject.push(alertObject);\r\n }else{\r\n vm.showInfo(\"Information\",\"Please select outside users or uncheck the button\");\r\n return;\r\n }\r\n \r\n }\r\n alertArray.IsPreodic = true;\r\n alertArray.AlertType = 'SLA';\r\n alertArray.AlertId = 'SLA_VOILATED_SUMMARY';\r\n\r\n alertArray.ListSLAPeriod = [];\r\n angular.forEach(vm.eventConfigurationArray4, function(d){\r\n if (d && d.check) {\r\n var listObj = {};\r\n var minutes= '';\r\n if (d.time.includes('Min')) {\r\n var timeSplit = d.time.split(' ');\r\n minutes = parseInt(timeSplit[0]);\r\n }else{\r\n\r\n var timeSplit = d.time.split(' ');\r\n minutes = parseInt(timeSplit[0])*60;\r\n }\r\n\r\n listObj.DurationInMinutes = minutes;\r\n if (d.exactTime.includes(':')) {\r\n var timeArray = d.exactTime.split(':');\r\n listObj.Hours = parseInt(timeArray[0]);\r\n listObj.Minutes = parseInt(timeArray[1]);\r\n }\r\n alertArray.ListSLAPeriod.push(listObj);\r\n }\r\n })\r\n alertArray.ListSLAAlertTemplate = configObject;\r\n obj.push(alertArray);\r\n }\r\n else{\r\n console.log('this is uncheck for deletion SLA_VOILATED_SUMMARY');\r\n SLASettingService.DeleteAlertConfiguration(loggedinUser,'SLA_VOILATED_SUMMARY','SLA',token).then(function(resp){\r\n if (resp) {\r\n console.log(resp);\r\n }\r\n })\r\n }\r\n \r\n \r\n console.log('obj',obj);\r\n SLASettingService.CreateSLAlAlert(loggedinUser,token,obj).then(function(resp){\r\n if (resp && resp.data) {\r\n vm.showSuccess(\"Success\",\"SLA Alert has been created\");\r\n $state.go('index.NotificationSettings',{\r\n alertType:'main',\r\n eventType:'',\r\n mode:''\r\n },{\r\n reload:true\r\n });\r\n }else{\r\n vm.showFailure(\"Failure\",\"SLA Alert creation failed due to some technical error\");\r\n }\r\n })\r\n}else{\r\n vm.sla_form.submitted = true;\r\n}\r\n \r\n}\r\n\r\n});\nangular.module('inspinia').service('shiftManagementService', function (ApiURL,PublicApiURL, StaffSchedulingAPI, SchedulingAPI, $window, $http) {\r\n\r\n var vm = this;\r\n vm.setShowSuccess = function (success) {\r\n vm.showSuccess = success;\r\n }\r\n\r\n vm.setShowFailure = function (failure) {\r\n vm.showFailure = failure;\r\n }\r\n\r\n\r\n //https://perf.mymobiforce.com/schedulingapi/api/AutoSchedulerException/GetSchedulerExceptionForServerWithDynPaging\r\n this.getAllJobForExceptionList = function (loggedinUser, token, userFormData) {\r\n var url = SchedulingAPI + \"/api/AutoSchedulerException/GetSchedulerExceptionForServerWithDynPaging\";\r\n return $http.put(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.getAllAccounts = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/account/GetAllAccountsMiniModel';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n\r\n }\r\n });\r\n }\r\n\r\n this.CreateNewDepartment = function (departmentName, departmentDescription, loginUserId, token) {\r\n var url = StaffSchedulingAPI + '/api/StaffDepartmentMaster/CreateNewDepartment?DepartmentName=' + departmentName + '&DepartmentDescription=' + departmentDescription;\r\n return $http.post(url, null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n this.UpdateDepartmentName = function (departmentId, departmentName, departmentDescription, loginUserId, token) {\r\n var url = StaffSchedulingAPI + '/api/StaffDepartmentMaster/UpdateDepartmentName?DepartmentId=' + departmentId + '&DepartmentName=' + departmentName + '&DepartmentDescription=' + departmentDescription;;\r\n return $http.put(url, null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetAllDepartment = function (loginUserId, token) {\r\n var url = StaffSchedulingAPI + '/api/StaffDepartmentMaster/GetAllDepartment';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n\r\n this.AddNewLocation = function (data, loginUserId, token) {\r\n var url = StaffSchedulingAPI + '/api/StaffLocationMaster/AddNewLocation';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n this.AddDepartmentsToLocation = function (locationId, data, loginUserId, token) {\r\n var url = StaffSchedulingAPI + '/api/StaffLocationMaster/AddDepartmentsToLocation?LocationId=' + locationId;\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n this.UpdateLocationName = function (locationId, locationName, loginUserId, token) {\r\n var url = StaffSchedulingAPI + '/api/StaffLocationMaster/UpdateLocationName?LocationId=' + locationId + '&LocationName=' + locationName;\r\n return $http.put(url, null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetAllDepartmentsForLocation = function (locationId, loginUserId, token) {\r\n var url = StaffSchedulingAPI + '/api/StaffLocationMaster/GetAllDepartmentsForLocation?LocationId=' + locationId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetAllLocations = function (loginUserId, token) {\r\n var url = StaffSchedulingAPI + '/api/StaffLocationMaster/GetAllLocations';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetLocationswithDepartmentMapping = function (loginUserId, token) {\r\n var url = StaffSchedulingAPI + '/api/StaffLocationMaster/GetLocationswithDepartmentMapping';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n this.CreateNewDepartmentShift = function (data, loginUserId, token) {\r\n var url = StaffSchedulingAPI + '/api/DepartmentShift/CreateNewDepartmentShift';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n this.getCountry = function (loggedInUserId, token){\r\n var url = PublicApiURL + '/api/Address/GetCountry?userId=' + loggedInUserId;\r\n return $http.get(url, {\r\n headers:{'Token':token}\r\n });\r\n }\r\n\r\n this.UpdateDepartmentShiftConfig = function (data, loginUserId, token) {\r\n var url = StaffSchedulingAPI + '/api/DepartmentShift/UpdateDepartmentShiftConfig';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetAllShiftConfigurationForDepartment = function (departmentId, locationId, loginUserId, token) {\r\n var url = StaffSchedulingAPI + '/api/DepartmentShift/GetAllShiftConfigurationForDepartment?DepartmentId=' + departmentId + '&LocationId=' + locationId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('shiftManagementController', function (shiftManagementService, TeamFormCreationService, ReferService, $resource, toaster, $filter, $compile, $q, $state, $localStorage, $scope, DTOptionsBuilder, DTColumnBuilder, $uibModal, $timeout) {\r\n\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\t\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\t\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\t\tvm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n\t\tvm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\t\t$scope.$parent.$parent.main.implementSelectItems('scheduleExceptionListNew', this);\r\n\t\t$scope.isNavCollapsed = true;\r\n\t\t$scope.isCollapsed = true;\r\n\t\t$scope.isCollapsedHorizontal = false;\r\n\t\tvm.dtInstance = {};\r\n\t\tvm.selectSingle = false;\r\n\t\tvm.disableExceptionButton = false;\r\n\t\tvm.ticketPageListCount = 10;\r\n\t\tvm.pageListCounts = [10, 20, 30, 50];\r\n\t\tvm.scheduleExceptionListNewLength = 0;\r\n\t\tvm.departmentName = \"\";\r\n\t\tvm.SearchByAccountName = '';\r\n\t\tvm.ExceptionType = '';\r\n\t\tvm.exceptionState = '';\r\n\t\tvm.showAllAccounts = [];\r\n\t\tvm.UserId = '';\r\n\t\tvm.departmemtId = \"\";\r\n\t\tvm.edit = true;\r\n\t\tvm.dataFilters = [];\r\n\t\tvm.dataFiltersList = [];\r\n\t\tvm.locationId = \"\";\r\n\t\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\t\tvm.showFailure = $scope.$parent.$parent.main.showFailure\r\n\t\t$scope.dates = { startDate: moment().subtract(0, 'days'), endDate: moment() };\r\n\t\tvar startDate = moment().subtract(0, 'days').format(\"YYYY-MM-DD\");\r\n\t\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\r\n\t\t$scope.ranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment()]\r\n\t\t};\r\n\r\n\t\t$scope.dateRangeChange = function (ev, picker) {\r\n\t\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\t\tvm.getAllJobForExceptionList();\r\n\r\n\r\n\t\t};\r\n\t\tvm.activateTab = function (tab) {\r\n\t\t\tvm.activeTab = tab;\r\n\t\t\tvm.headingName = tab;\r\n\t\t};\r\n\t\t$scope.clickedDiv = '';\r\n\r\n\t\tvm.activateTab('Department');\r\n\r\n\t\t$scope.changeBackgroundColor = function (event) {\r\n\t\t\tif ($scope.clickedDiv) {\r\n\t\t\t\t$scope.clickedDiv.css('background-color', '#f5f5f5');\r\n\t\t\t\t$scope.clickedDiv.css('color', 'black');\r\n\t\t\t\t// $scope.clickedDiv.find('span').css('color', '#000000'); // Reset the previous clicked div\r\n\t\t\t}\r\n\r\n\t\t\tvar divElement = angular.element(event.target);\r\n\t\t\tdivElement.css('background-color', 'blue' );\r\n\t\t\tdivElement.css('color', 'white' );\r\n\t\t\t// divElement.find('div').css('color', 'white');\r\n\t\t\t$scope.clickedDiv = divElement; // Store the current clicked div\r\n\t\t};\r\n\t\t\r\n\t\t$timeout(function() {\r\n\t\t\tvar firstDivElement = angular.element(document.querySelector('.side-rowtab'));\r\n\t\t\tfirstDivElement.triggerHandler('click');\r\n\t\t});\r\n\t\tfunction getAllStates() {\r\n\t\t\tvar defered = $q.defer();\r\n\t\t\tReferService.getAllState(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tdefered.resolve(resp);\r\n\t\t\t}, function (error) {\r\n\t\t\t\tdefered.reject(error);\r\n\t\t\t});\r\n\t\t\treturn defered.promise;\r\n\t\t}\r\n\t\t\r\n\t\tvar allStatePromise = getAllStates(loggedinUser);\r\n\t\tallStatePromise.then(function (resp) {\r\n\t\t\tvm.StateList = resp.data;\r\n\r\n\t\t});\r\n\t\tfunction getallCities(state) {\r\n\t\t\tReferService.getAllCity(loggedinUser, state, token).then(function (resp) {\r\n\t\t\t\tvm.CityList = resp.data;\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.selectedState = function (state) {\r\n\t\t\tgetallCities(state);\r\n\t\t}\r\n\r\n\t\tvm.selectedCountry = function (state) {\r\n\t\t\tgetallCities(state);\r\n\t\t}\r\n\r\n\r\n\t\t$scope.isEditable = false;\r\n\t\t$scope.toggleEdit = function () {\r\n\t\t\t$scope.isEditable = true;\r\n\t\t}\r\n\t\t$scope.toggleEditNew = function () {\r\n\t\t\t$scope.isEditable = !$scope.isEditable; // Toggle the value of isEditable\r\n\t\t};\r\n\t\t$scope.isEditdepartment = false;\r\n\t\t$scope.toggleEditLocation = function () {\r\n\t\t\t$scope.isEditdepartment = true;\r\n\t\t}\r\n\t\t$scope.toggleEditNewLocation = function () {\r\n\t\t\t$scope.isEditdepartment = !$scope.isEditdepartment; // Toggle the value of isEditable\r\n\t\t};\r\n\t\tvm.AddDepartmentModal = function () {\r\n\t\t\tvm.departmentName = \"\";\r\n\t\t\tvm.departmentDescription = \"\";\r\n\t\t\tvm.departmentModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'DepartmentModal.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.closeDepartmentModal = function () {\r\n\t\t\tvm.departmentModal.close();\r\n\t\t\tvm.departmentName = \"\";\r\n\t\t\tvm.departmentDescription = \"\";\r\n\t\t}\r\n\t\tvm.AddLocationModal = function () {\r\n\t\t\tvm.locationName = \"\";\r\n vm.locationState = \"\";\r\n vm.locationCity = \"\";\r\n\t\t\tvm.locationModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'LocationModal.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.closeLocationModal = function () {\r\n\t\t\tvm.locationModal.close();\r\n\t\t\tvm.locationName = \"\";\r\n vm.locationState = \"\";\r\n vm.locationCity = \"\";\r\n\t\t}\r\n\r\n\t\tvm.OpenUpdateShiftModal = function (shift) {\r\n\t\t\tvm.shiftData = shift;\r\n\t\t\tvm.showAction = true;\r\n\t\t\t// vm.dataFilters = vm.shiftData.Shiftcapacity;\r\n\t\t\tangular.forEach(vm.shiftData.Shiftcapacity, function (d) {\r\n\t\t\t\thwData = {\r\n\t\t\t\t\tRole: d.Role,\r\n\t\t\t\t\tQuantity: d.Quantity,\r\n\t\t\t\t\tedit: false,\r\n\t\t\t\t}\r\n\t\t\t\tvm.dataFilters.push(hwData);\r\n\t\t\t});\r\n\t\t\tvm.GetAllLocations();\r\n\t\t\tvm.updateshiftModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'UpdateShiftModal.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeUpdateShiftModal = function () {\r\n\t\t\tvm.updateshiftModal.close();\r\n\t\t\tvm.SelectedLocation = \"\";\r\n\t\t\tvm.SelectedDepartment = \"\";\r\n\t\t\tvm.ShiftName = \"\";\r\n\t\t\tvm.ShiftStartTime = \"\";\r\n\t\t\tvm.ShiftEndTime = \"\";\r\n\t\t\tvm.IsShiftMarginEnabled = true;\r\n\t\t\tvm.MinutesBeforeShiftStart = 0;\r\n\t\t\tvm.MinutesAfterShiftEnd = 0;\r\n\t\t\tvm.OverTimeAllowanceEnabled = true;\r\n\t\t\tvm.OverTimeHourlyRate = 0;\r\n\t\t\tvm.LunchBreakDuration = 0;\r\n\t\t\tvm.ExperniceStaffRequried = 0;\r\n\t\t\tvm.NormalStaffRequired = 0;\r\n\t\t\tvm.dataFiltersList = [];\r\n\t\t\tvm.dataFilters = [];\r\n\t\t}\r\n\r\n\r\n\t\tvm.AddShiftModal = function () {\r\n\t\t\tvm.GetAllLocations();\r\n\t\t\tvm.shiftModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'ShiftModal.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.closeShiftModal = function () {\r\n\t\t\tvm.shiftModal.close();\r\n\t\t\tvm.SelectedLocation = \"\";\r\n\t\t\tvm.SelectedDepartment = \"\";\r\n\t\t\tvm.ShiftName = \"\";\r\n\t\t\tvm.ShiftStartTime = \"\";\r\n\t\t\tvm.ShiftEndTime = \"\";\r\n\t\t\tvm.IsShiftMarginEnabled = true;\r\n\t\t\tvm.MinutesBeforeShiftStart = 0;\r\n\t\t\tvm.MinutesAfterShiftEnd = 0;\r\n\t\t\tvm.OverTimeAllowanceEnabled = true;\r\n\t\t\tvm.OverTimeHourlyRate = 0;\r\n\t\t\tvm.LunchBreakDuration = 0;\r\n\t\t\tvm.ExperniceStaffRequried = 0;\r\n\t\t\tvm.NormalStaffRequired = 0;\r\n\t\t\tvm.dataFilters = [];\r\n\t\t}\r\n\r\n\t\tvm.EditMapping = function (locationDep) {\r\n\t\t\tvm.CurrentMappingData = locationDep;\r\n\t\t\tvm.SelectedLocation = locationDep.LocationId;\r\n\t\t\tvm.DepartmentListToAdd = locationDep.DepartmentDetailList;\r\n\t\t\tvm.GetAllLocations();\r\n\t\t\tvm.GetAllDepartment();\r\n\t\t\tvm.EditmapModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'EditMappingModal.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.closeEditMapModal = function () {\r\n\t\t\tvm.EditmapModal.close();\r\n\t\t}\r\n\r\n\t\tvm.MapModal = function () {\r\n\t\t\tvm.SelectedLocation = \"\";\r\n\t\t\tvm.GetAllLocations();\r\n\t\t\tvm.GetAllDepartment();\r\n\t\t\tvm.mapModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'MappingModal.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.closeMapModal = function () {\r\n\t\t\tvm.mapModal.close();\r\n\t\t}\r\n\t\tvm.AssignShiftModal = function () {\r\n\t\t\tvm.assignModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'AssignShiftModal.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.closeAssignshiftModal = function () {\r\n\t\t\tvm.assignModal.close();\r\n\t\t}\r\n\r\n\t\tvm.CreateNewDepartment = function () {\r\n\t\t\tvm.adddepartment_form.submitted = true;\r\n\t\t\tif (vm.adddepartment_form.$valid) {\r\n\t\t\tif (vm.departmentName) {\r\n\t\t\t\tshiftManagementService.CreateNewDepartment(vm.departmentName, vm.departmentDescription, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 201 && resp) {\r\n\t\t\t\t\t\tvm.listofActiveUsers = resp.data;\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", resp.data);\r\n\t\t\t\t\t\tvm.closeDepartmentModal();\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\tvm.GetAllDepartment();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Department Name cannot be empty.\");\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t\tvm.getCountry = function () {\r\n\t\t\tshiftManagementService.getCountry(loggedinUser, token).then(function (resp) {\r\n\t\t\t if (resp.status == 200 && resp.data && resp.data.values.length > 0) {\r\n\t\t\t\tvm.Country = resp.data.values;\r\n\t\t\t\t// vm.getStates(vm.Country[0]);\r\n\t\t\t }\r\n\t\t\t})\r\n\t\t }\r\n\r\n\t\t vm.getCountry();\r\n\r\n\t\tvm.AddNewLocation = function () {\r\n\t\t\tvm.addlocation_form.submitted = true;\r\n\t\t\tif (vm.addlocation_form.$valid) {\r\n\t\t\tif (vm.locationName) {\r\n\t\t\t\tvar locationDate = {\r\n\t\t\t\t\t\"LocationName\": vm.locationName,\r\n\t\t\t\t\t\"City\": vm.locationCity,\r\n\t\t\t\t\t\"State\": vm.locationState\r\n\t\t\t\t}\r\n\t\t\t\tshiftManagementService.AddNewLocation(locationDate, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 201 && resp) {\r\n\t\t\t\t\t\tvm.listofActiveUsers = resp.data;\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", resp.data);\r\n\t\t\t\t\t\tvm.closeLocationModal();\r\n\t\t\t\t\t\tvm.locationName = \"\";\r\n\t\t\t\t\t\tvm.locationCity = \"\";\r\n\t\t\t\t\t\tvm.locationState = \"\";\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\tvm.GetAllLocations();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Department Name cannot be empty.\");\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tvm.addMoreFilter = function () {\r\n\t\tvm.showEditList = true;\r\n\t\tvm.showAction = false;\r\n\t};\r\n\tvm.addNewFilter = function (filter) {\r\n\t\tvm.dataFilters.push({\r\n\t\t\t\"Quantity\": filter.Quantity,\r\n\t\t\t\"Role\": filter.role,\r\n\t\t});\r\n\t\tvm.showEditList = false;\r\n\t\tvm.showAction = true;\r\n\t}; \r\n\tgetAllRole()\r\n\tfunction getAllRole() {\r\n\t\t TeamFormCreationService.getAllRoleByUserId(loggedinUser, token).then(function (resp) {\r\n\t\t\tif(resp.status == 200){\r\n\t\t\t if(resp.data && resp.data.length>0){\r\n\t\t\t vm.RolesList = resp.data;\r\n\t\t\t}\r\n\t\t\t}\r\n\t\t })\r\n\t\t\r\n\t }\r\n\t\r\n\t \r\n\t$scope.deleteDataFilter = function (filter) {\r\n\t\tconst index = vm.dataFilters.indexOf(filter);\r\n\t\tif (index !== -1) {\r\n\t\t\tvm.dataFilters.splice(index, 1);\r\n\t\t}\r\n\t};\r\n\r\n\t\tvm.AddDepartmentsToLocation = function () {\r\n\t\t\tvm.stockAssignation_form.submitted = true;\r\n\t\t\tif (vm.stockAssignation_form.$valid) {\r\n\t\t\t\tvar data = vm.DepartmentListToAdd;\r\n\t\t\t\tshiftManagementService.AddDepartmentsToLocation(vm.SelectedLocation, data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 201 && resp) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", resp.data);\r\n\t\t\t\t\t\t$timeout(function () {\r\n vm.GetLocationswithDepartmentMapping();\r\n }, 2000);\r\n\t\t\t\t\t\tif(vm.mapModal){\r\n\t\t\t\t\t\t\tvm.closeMapModal();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\tvm.closeEditMapModal();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tvm.SelectedLocation = [];\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\r\n\t\t}\r\n\t}\r\n\r\n\t\tvm.CreateNewDepartmentShift = function () {\r\n\t\t\tvm.addshift_form.submitted = true;\r\n\t\t\tif (vm.addshift_form.$valid) {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"LocationId\": vm.SelectedLocation.LocationId,\r\n\t\t\t\t\"LocationName\": vm.SelectedLocation.LocationName,\r\n\t\t\t\t\"DepartmentId\": vm.SelectedDepartment.DepartmentId,\r\n\t\t\t\t\"DepartmentName\": vm.SelectedDepartment.DepartmentName,\r\n\t\t\t\t\"ShiftName\": vm.ShiftName,\r\n\t\t\t\t\"ShiftStartTime\": vm.ShiftStartTime,\r\n\t\t\t\t\"ShiftEndTime\": vm.ShiftEndTime,\r\n\t\t\t\t\"IsShiftMarginEnabled\": vm.IsShiftMarginEnabled,\r\n\t\t\t\t\"MinutesBeforeShiftStart\": vm.MinutesBeforeShiftStart,\r\n\t\t\t\t\"MinutesAfterShiftEnd\": vm.MinutesAfterShiftEnd,\r\n\t\t\t\t\"OverTimeAllowanceEnabled\": vm.OverTimeAllowanceEnabled,\r\n\t\t\t\t\"OverTimeHourlyRate\": vm.OverTimeHourlyRate,\r\n\t\t\t\t\"IsTeaBreakEnable\": false,\r\n\t\t\t\t\"TeaBreakDuration\": \"\",\r\n\t\t\t\t\"ConsumedTeaBreakDuration\": 0,\r\n\t\t\t\t\"IsLunchBreakEnable\": true,\r\n\t\t\t\t\"LunchBreakDuration\": vm.LunchBreakDuration,\r\n\t\t\t\t\"ConsumedLunchBreakDuration\": 0,\r\n\t\t\t\t\"IsLunchBreakFlexi\": true,\r\n\t\t\t\t\"LunchStartTime\": \"\",\r\n\t\t\t\t\"LunchEndTime\": \"\",\r\n\t\t\t\t\"IsTeaBreakFlexi\": true,\r\n\t\t\t\t\"TeaBreakStartTime\": \"\",\r\n\t\t\t\t\"TeaBreakEndTime\": \"\",\r\n\t\t\t\t\"ExperniceStaffRequried\": vm.ExperniceStaffRequried,\r\n\t\t\t\t\"NormalStaffRequired\": vm.NormalStaffRequired,\r\n\t\t\t\t\"Shiftcapacity\" : vm.dataFilters\r\n\t\t\t}\r\n\t\t\tshiftManagementService.CreateNewDepartmentShift(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 201 && resp) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", resp.data);\r\n\t\t\t\t\tvm.closeShiftModal();\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tvm.GetAllShiftConfigurationForDepartment();\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\t\tvm.UpdateDepartmentShiftConfig = function () {\r\n\t\t\tvm.updateshift_form.submitted = true;\r\n\t\t\tif(vm.dataFilters){\r\n\t\t\t\tangular.forEach(vm.dataFilters, function (d) {\r\n\t\t\t\t\thwData = {\r\n\t\t\t\t\t\tRole: d.Role,\r\n\t\t\t\t\t\tQuantity: d.Quantity,\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.dataFiltersList.push(hwData);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tif (vm.updateshift_form.$valid) {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"MasterShiftId\" : vm.shiftData.MasterShiftId,\r\n\t\t\t\t\"LocationId\": vm.shiftData.LocationId,\r\n\t\t\t\t\"LocationName\": vm.shiftData.LocationName,\r\n\t\t\t\t\"DepartmentId\": vm.shiftData.DepartmentId,\r\n\t\t\t\t\"DepartmentName\": vm.shiftData.DepartmentName,\r\n\t\t\t\t\"ShiftName\": vm.shiftData.ShiftName,\r\n\t\t\t\t\"ShiftStartTime\": vm.shiftData.ShiftStartTime,\r\n\t\t\t\t\"ShiftEndTime\": vm.shiftData.ShiftEndTime,\r\n\t\t\t\t\"IsShiftMarginEnabled\": vm.shiftData.IsShiftMarginEnabled,\r\n\t\t\t\t\"MinutesBeforeShiftStart\": vm.shiftData.MinutesBeforeShiftStart,\r\n\t\t\t\t\"MinutesAfterShiftEnd\": vm.shiftData.MinutesAfterShiftEnd,\r\n\t\t\t\t\"OverTimeAllowanceEnabled\": vm.shiftData.OverTimeAllowanceEnabled,\r\n\t\t\t\t\"OverTimeHourlyRate\": vm.shiftData.OverTimeHourlyRate,\r\n\t\t\t\t\"IsTeaBreakEnable\": false,\r\n\t\t\t\t\"TeaBreakDuration\": \"\",\r\n\t\t\t\t\"ConsumedTeaBreakDuration\": 0,\r\n\t\t\t\t\"IsLunchBreakEnable\": true,\r\n\t\t\t\t\"LunchBreakDuration\": vm.shiftData.LunchBreakDuration,\r\n\t\t\t\t\"ConsumedLunchBreakDuration\": 0,\r\n\t\t\t\t\"IsLunchBreakFlexi\": true,\r\n\t\t\t\t\"LunchStartTime\": \"\",\r\n\t\t\t\t\"LunchEndTime\": \"\",\r\n\t\t\t\t\"IsTeaBreakFlexi\": true,\r\n\t\t\t\t\"TeaBreakStartTime\": \"\",\r\n\t\t\t\t\"TeaBreakEndTime\": \"\",\r\n\t\t\t\t\"ExperniceStaffRequried\": vm.shiftData.ExperniceStaffRequried,\r\n\t\t\t\t\"NormalStaffRequired\": vm.shiftData.NormalStaffRequired,\r\n\t\t\t\t\"shiftcapacity\" : vm.dataFiltersList\r\n\t\t\t}\r\n\t\t\tshiftManagementService.UpdateDepartmentShiftConfig(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 201 && resp) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", resp.data);\r\n\t\t\t\t\tvm.closeUpdateShiftModal();\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tvm.GetAllShiftConfigurationForDepartment();\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\t\tvm.UpdateDepartmentName = function (departmentId) {\r\n\t\t\tshiftManagementService.UpdateDepartmentName(departmentId, vm.updatedDepartmentName, vm.updatedDepartmentDescription, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 201 && resp) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", resp.data);\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tvm.GetAllDepartment();\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tvm.UpdateLocationName = function (locationId) {\r\n\t\t\tshiftManagementService.UpdateLocationName(locationId, vm.locationName, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 201 && resp) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", resp.data);\r\n\t\t\t\t\tvm.closeLocationModal();\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tvm.GetAllLocations();\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tvm.EditDepartment = function (department) {\r\n\t\t\tvm.updatedDepartmentName = department.DepartmentName;\r\n\t\t\tvm.updatedDepartmentDescription = department.DepartmentDescription;\r\n\t\t}\r\n\r\n\t\tvm.EditLocation = function (location) {\r\n\t\t\tvm.locationName = location.LocationName;\r\n\t\t}\r\n\r\n\t\tvm.GetAllDepartment = function () {\r\n\t\t\t$scope.isEditdepartment = false;\r\n\t\t\tshiftManagementService.GetAllDepartment(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200 && resp) {\r\n\t\t\t\t\tvm.departmentList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tvm.GetAllDepartment();\r\n\r\n\t\tvm.GetAllDepartmentsForLocation = function (locationId) {\r\n\t\t\tshiftManagementService.GetAllDepartmentsForLocation(locationId, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200 && resp) {\r\n\t\t\t\t\tvm.departmentListByLocation = resp.data;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tvm.GetAllShiftConfigurationForDepartment = function () {\r\n\t\t\tif (!vm.departmemtId) {\r\n\t\t\t\tvm.departmemtId = \"\";\r\n\t\t\t}\r\n\t\t\tif (!vm.locationId) {\r\n\t\t\t\tvm.locationId = \"\";\r\n\t\t\t}\r\n\t\t\tshiftManagementService.GetAllShiftConfigurationForDepartment(vm.departmemtId, vm.locationId, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200 && resp) {\r\n\t\t\t\t\tvm.AllShiftConfigList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tvm.GetAllShiftConfigurationByID = function (departmemtId, locationId) {\r\n\t\t\tshiftManagementService.GetAllShiftConfigurationForDepartment(departmemtId, locationId, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200 && resp) {\r\n\t\t\t\t\tvm.ShiftConfigData = resp.data;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tvm.GetAllLocations = function () {\r\n\t\t\tshiftManagementService.GetAllLocations(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200 && resp) {\r\n\t\t\t\t\tvm.locationsList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tvm.GetAllLocations();\r\n\r\n\t\tvm.GetLocationswithDepartmentMapping = function () {\r\n\t\t\tshiftManagementService.GetLocationswithDepartmentMapping(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200 && resp) {\r\n\t\t\t\t\tvm.locationsWithDepList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\r\n\t}\r\n});\nangular.module('inspinia').service('ShiftLeaveService', function (ApiURL, SchedulingAPI, StaffSchedulingAPI, $window, $http) {\r\n\r\n var vm = this;\r\n vm.setShowSuccess = function (success) {\r\n vm.showSuccess = success;\r\n }\r\n\r\n vm.setShowFailure = function (failure) {\r\n vm.showFailure = failure;\r\n }\r\n\r\n this.LeaveShift = function (loginUserId, token) {\r\n var url = StaffSchedulingAPI + '/api/LeaveShift/GetAll';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n this.CreateStaffShift = function (data, loginUserId, token) {\r\n var url = StaffSchedulingAPI + '/api/StaffShift/CreateStaffShift';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetEligibleUserForShift = function (shiftId, loginUserId, token) {\r\n var url = StaffSchedulingAPI + '/api/StaffShift/GetEligibleUserForShift?ShiftId=' + shiftId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n this.PublishShiftToUser = function (shiftId, userId, loginUserId, token) {\r\n var url = StaffSchedulingAPI + '/api/StaffShift/PublishShiftToUser?ShiftId=' + shiftId + '&UserId=' + userId;\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n this.ApproveLeave = function (leaveId,approveComment,shiftPublishToUser, loginUserId, token) {\r\n var url = StaffSchedulingAPI + '/api/LeaveShift/Approve?LeaveId=' + leaveId + '&ApproveComment=' + approveComment + '&ShiftPublishToUser=' + shiftPublishToUser;\r\n return $http.put(url, null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n this.RejectLeave = function (leaveId, rejectComment, loginUserId, token) {\r\n var url = StaffSchedulingAPI + '/api/LeaveShift/Reject?LeaveId=' + leaveId + '&RejectComment=' + rejectComment;\r\n return $http.put(url, null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('ShiftLeaveController', function (EmployeeShiftMapService, ShiftLeaveService, toaster, $filter, $compile, $q, $state, $localStorage, $scope, $uibModal, $timeout) {\r\n\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\t\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\t\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\t\tvm.showFailure = $scope.$parent.$parent.main.showFailure\r\n\t\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\t\tvm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n\t\tvm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\t\t$scope.$parent.$parent.main.implementSelectItems('scheduleExceptionListNew', this);\r\n\t\t// $scope.$parent.$parent.main.implementSelectItems('InVoiceHistoryData', this);\r\n\t\t$scope.isNavCollapsed = true;\r\n\t\t$scope.isCollapsed = true;\r\n\t\t$scope.isCollapsedHorizontal = false;\r\n\t\tvm.dtInstance = {};\r\n\t\tvm.selectSingle = false;\r\n\t\tvm.disableExceptionButton = false;\r\n\t\tvm.ticketPageListCount = 10;\r\n\t\tvm.pageListCounts = [10, 20, 30, 50];\r\n\t\tvm.scheduleExceptionListNewLength = 0;\r\n\t\tvar PageIndex = 1;\r\n\t\tvar PageSize = 10;\r\n\t\tvm.RejectComment = \"\";\r\n\t\tvm.ApproveComment = \"\";\r\n\t\tvm.SearchByAccountName = '';\r\n\t\tvm.ExceptionType = '';\r\n\t\tvm.exceptionState = '';\r\n\t\tvm.showAllAccounts = [];\r\n\t\tvm.UserId = '';\r\n\t\tvm.ShiftStatusList = [\"Created\", \"Published\", \"Accepted\", \"NotStarted\", \"Inprogress\", \"Completed\"];\r\n\t\tvar startDate = moment().subtract(0, 'day').format(\"YYYY-MM-DD\");\r\n\t\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\t\tvm.bookingdates = { startDate: moment().subtract(0, 'day'), endDate: moment() };\r\n\t\tvm.bookingRanges = {\r\n\t\t'Today': [moment(), moment()],\r\n\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t'This month': [moment().startOf('month'), moment().endOf('month')],\r\n\t\t'Till now': [moment().subtract(5, 'years'), moment()]\r\n\t\t};\r\n\r\n\t\tvm.outsidedateRangeChange = function (ev, picker) {\r\n\t\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\t\tvm.LeaveShift();\r\n\t\t };\r\n\r\n\r\n\t\tvm.AddShiftModal = function () {\r\n\t\t\tvm.GetAllLocations();\r\n\t\t\tvm.shiftModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'CreateShift.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.closeShiftModal = function () {\r\n\t\t\tvm.shiftModal.close();\r\n\t\t}\r\n\r\n\t\tvm.CreateStaffShift = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"LocationId\": vm.SelectedLocation.LocationId,\r\n\t\t\t\t\"DepartmentId\": vm.SelectedDepartment.DepartmentId,\r\n\t\t\t\t\"StartDate\": moment(vm.startDate).format(\"YYYY-MM-DD\"),\r\n\t\t\t\t\"EndDate\": moment(vm.endDate).format(\"YYYY-MM-DD\")\r\n\t\t\t}\r\n\t\t\tShiftLeaveService.CreateStaffShift(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 201 && resp) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", 'Shifts created successfully');\r\n\t\t\t\t\tvm.closeShiftModal();\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tvm.GetAllShiftsForDate();\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\r\n\t\t}\r\n\r\n\t\tvm.PublishShiftToUser = function (userId) {\r\n\t\t\tShiftLeaveService.PublishShiftToUser(vm.shiftId, userId, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 201 && resp) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", 'Shifts created successfully');\r\n\t\t\t\t\tvm.closeShiftModal();\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tvm.GetAllShiftsForDate();\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\r\n\t\t}\r\n\r\n\t\tvm.GetAllLeaveShift = function () {\r\n\t\t\tShiftLeaveService.LeaveShift( loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200 && resp) {\r\n\t\t\t\t\tvm.allLeavesList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tvm.GetAllLeaveShift();\r\n\t\t\r\n\r\n\t\tvm.GetEligibleUserForShift = function (shiftId) {\r\n\t\t\tvm.shiftId = shiftId;\r\n\t\t\tShiftLeaveService.GetEligibleUserForShift(shiftId, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200 && resp) {\r\n\t\t\t\t\tvm.eligibleUsersList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\r\n\t\tvm.ApproveLeave = function () {\r\n\t\t\tvm.disableBookingButton = true;\r\n\t\t\tShiftLeaveService.ApproveLeave(vm.leaveId,vm.ApproveComment, vm.PublistUserId, loggedinUser, token).then(function (resp) {\r\n\t\t\t if (resp.status == 202 && resp) {\r\n\t\t\t\tvm.disableBookingButton = false;\r\n\t\t\t\tvm.showSuccess(\"Success\", 'Leave approved successfully');\r\n\t\t\t\tvm.closeapprovemodal();\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t vm.GetAllLeaveShift();\r\n\t\t\t\t}, 2000);\r\n\t\t\t }\r\n\t\t\t else {\r\n\t\t\t\tvm.disableBookingButton = false;\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t }\r\n\t\t\t})\r\n\t \r\n\t\t }\r\n\t \r\n\t\t vm.RejectModal = function (item) {\r\n\t\t\tvm.leaveId = item;\r\n\t\t\tvm.RejectShareModal = $uibModal.open({\r\n\t\t\t templateUrl: 'rejectleavemodal.html',\r\n\t\t\t backdrop: 'static',\r\n\t\t\t size: 'lg',\r\n\t\t\t scope: $scope\r\n\t\t\t});\r\n\t\t }\r\n\t\t vm.closerejectmodal = function () {\r\n\t\t\tvm.disableBookingButton = false;\r\n\t\t\tvm.RejectComment = \"\";\r\n\t\t\tvm.RejectShareModal.close();\r\n\t\t }\r\n\r\n\r\n\t\t vm.GetAllShiftsForDate = function () {\r\n\t\t\t data = {\r\n\t\t\t\t \"ShiftFromDate\": moment(vm.leaveDetail.LeaveDate).format(\"YYYY-MM-DD\"),\r\n\t\t\t\t \"ShiftToDate\": moment(vm.leaveDetail.LeaveDate).format(\"YYYY-MM-DD\"),\r\n\t\t\t\t \"Status\": \"\",\r\n\t\t\t\t \"DepartmentId\": \"\",\r\n\t\t\t\t \"LocationId\": \"\",\r\n\t\t\t\t \"UserId\": vm.leaveDetail.UserId,\r\n\t\t\t\t \"ShiftType\": \"\",\r\n\t\t\t\t \"OrderBy\": \"ShiftForDate\",\r\n\t\t\t\t \"SortType\": \"desc\",\r\n\t\t\t\t \"PageIndex\": 1,\r\n\t\t\t\t \"PageSize\": 10\r\n\t\t\t }\r\n\t\t\tEmployeeShiftMapService.GetAllShiftsForDate(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t if (resp && resp.data) {\r\n\t\t\t\tvm.TotalShift = resp.data.TotalCount;\r\n\t\t\t\tvm.ShiftList = resp.data.objStaffShiftModelResList;\r\n\t\t\t\tif(vm.TotalShift > 0){\r\n\t\t\t\t\tvm.GetEligibleUserForShift(vm.ShiftList[0].ShiftId);\r\n\t\t\t\t}\r\n\t\t\t }\r\n\t\t\t vm.ApproveShareModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'approveleavemodal.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t });\r\n\t\t\t})\r\n\t\t }\r\n\r\n\t\t vm.ApprovalModal = function (item) {\r\n\t\t\tvm.leaveDetail = item;\r\n\t\t\tvm.leaveId = vm.leaveDetail.LeaveId;\r\n\t\t\tvm.GetAllShiftsForDate();\r\n\t\t }\r\n\t\t vm.closeapprovemodal = function () {\r\n\t\t\tvm.disableBookingButton = false;\r\n\t\t\tvm.ApproveComment = \"\";\r\n\t\t\tvm.PublistUserId = \"\";\r\n\t\t\tvm.ApproveShareModal.close();\r\n\t\t }\r\n\t \r\n\t \r\n\t\t vm.RejectLeave = function () {\r\n\t\t\tvm.disableBookingButton = true;\r\n\t\t\tShiftLeaveService.RejectLeave(vm.leaveId, vm.RejectComment, loggedinUser, token).then(function (resp) {\r\n\t\t\t if (resp.status == 202 && resp) {\r\n\t\t\t\tvm.showSuccess(\"Success\", 'Leave rejected successfully');\r\n\t\t\t\tvm.closerejectmodal();\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t vm.GetAllLeaveShift();\r\n\t\t\t\t}, 2000);\r\n\t\t\t }\r\n\t\t\t else {\r\n\t\t\t\tvm.disableBookingButton = false;\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t }\r\n\t\t\t})\r\n\t \r\n\t\t }\r\n\r\n\r\n\t}\r\n});\nangular.module('inspinia').service('ServicefomeditService', function (ApiURL, LocationURL,PublicApiURL, $log, $http,$localStorage) {\r\n var url = ApiURL + '/api/User';\r\n\r\n //state api https://product.mymobiforce.com/publicapi/api/Location/GetAllStates?userId=F00000000000&country=INDIA\r\n this.getState = function (loggedInUserId,token,region) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url, {\r\n headers: { \r\n 'Content-Type': 'application/json',\r\n 'Token':token , \r\n 'UserId':loggedInUserId\r\n }\r\n });\r\n }\r\n \r\n this.CreateUser = function (userFormData, loggedinUser, token) {\r\n var url = ApiURL + '/api/User?reqUserId='+loggedinUser;\r\n return $http.post(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token, 'UserId':loggedinUser \r\n }\r\n });\r\n }\r\n\r\n this.getAllRole = function (token) {\r\n var url = ApiURL + '/api/role';\r\n return $http.get(url, {\r\n 'Token': token, 'UserId':loggedinUser\r\n });\r\n }\r\n //https://test.mymobiforce.com/publicapi/api/Location/GetRegion?userId=U370000000001\r\n this.GetRegion = function(loggedInUserId, token){\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId':loggedInUserId}\r\n })\r\n }\r\n this.GetTelecomCircle = function(loggedInUserId, token){\r\n var url = PublicApiURL + '/api/Location/GetTelecomCircles?userId='+ loggedInUserId;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId':loggedInUserId}\r\n })\r\n }\r\n\r\n //https://test.mymobiforce.com/publicapi/api/Location/GetSubRegion?userId=U370000000001®ion=North\r\n this.GetSubRegion = function(loggedInUserId, token, region){\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+region;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId':loggedInUserId}\r\n })\r\n }\r\n //https://test.mymobiforce.com/publicapi/api/Location/GetCity?userId=U360000000001&subregion=noida\r\n this.GetCityBySubRegion = function(loggedInUserId, subRegion, token){\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+subRegion;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId':loggedInUserId}\r\n })\r\n }\r\n\r\n\r\n this.getAllSkills = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url, {headers:{'Token': token, 'UserId':loggedinUser}});\r\n }\r\n\r\n//https://db.mymobiforce.com/publicapi/api/Address/GetCountry?userId=U420000000001\r\nthis.getCountry = function (loggedinUser, token) {\r\n var url = PublicApiURL + '/api/Address/GetCountry?userId=' + loggedinUser;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n } \r\n});\r\n}\r\n\r\nthis.getAllState = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n } \r\n});\r\n}\r\n\r\nthis.getCities = function (loggedinUser,state,token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+state;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n } \r\n});\r\n}\r\n\r\n this.getAllCity = function (loggedinUser,state, token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+state;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n } \r\n });\r\n }\r\n\r\n this.getAllPincode = function (city) {\r\n var url = LocationURL+'/api/Location/'+$localStorage.loggedinUser+'/'+city+'/GetPincodesByCity';\r\n return $http.get(url, {\r\n params: {}\r\n });\r\n }\r\n\r\n //http://localhost:56749/api/User/Project%20Manager/GetReportingToUserByRole?reqUserId=saurabhgupta3371%40gmail.com\r\n\r\n this.GetReportingToUser = function(role, loggedinUser, token){\r\n var url = ApiURL + '/api/User/' + role + '/GetReportingToUserByRole?reqUserId=' + loggedinUser\r\n return $http.get(url,{\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token, 'UserId':loggedinUser }\r\n })\r\n }\r\n\r\n // this.validateAllPincode = function (pin) {\r\n // var url = 'https://www.whizapi.com/api/v2/util/ui/in/indian-city-by-postal-code?project-app-key=pso222ywjvx996b93gd8wpp6&pin='+pin;\r\n // return $http.get(url, {\r\n // params: {}\r\n // });\r\n // }\r\n\r\n this.getAllReportingTo = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/User';\r\n return $http.get(url, {\r\n params: {userid: loggedinUser},\r\n headers: {'Token':token, 'UserId':loggedinUser }\r\n })\r\n }\r\n\r\n this.getUserData = function (userid, token) {\r\n return $http.get(url, {\r\n params: {UserId:userid},\r\n headers: {'Token':token, 'UserId':loggedinUser }\r\n });\r\n }\r\n\r\n this.updateUser = function (userFormData,loggedinUser, token) {\r\n var url = ApiURL + '/api/User/UpdateTeamUserDetails';\r\n return $http.put(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token, 'UserId':loggedinUser}\r\n });\r\n }\r\n //http://192.168.0.80:92/CoreAPI/api/Role/ByReqUserId?reqUserId=kanika.bansal%40innotiontech.com\r\n\r\n this.getAllRoleByUserId = function (userId, token) {\r\n var url = ApiURL + '/api/Role/ByReqUserId?reqUserId='+userId;\r\n return $http.get(url,{\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':userId}\r\n \r\n });\r\n }\r\n\r\n this.uploadProfilePic = function(loggedinUser, data, token, success, failure){\r\n $http.post(ApiURL + '/api/UploadImage', data, { \r\n headers: {\r\n 'Content-Type': undefined, 'Token': token, 'UserId':loggedinUser\r\n }\r\n }).then(success, failure);\r\n }\r\n \r\nthis.getAllAccounts = function (loggedInUserId,token) { \r\n var url = ApiURL+ '/api/account/GetAllAccountsMiniModel';\r\n return $http.get(url, {\r\n headers: { \r\n 'Content-Type': 'application/json',\r\n 'Token':token , \r\n 'UserId':loggedInUserId\r\n \r\n }\r\n });\r\n}\r\n\r\n//Accounts API\r\nthis.getAllAccountsConfigured = function (loggedinUser,token) { \r\n var url = ApiURL+ '/api/CentralHelpDesk/GetAllAccountHDConfig';\r\n return $http.get(url, {\r\n headers: { \r\n 'Content-Type': 'application/json',\r\n 'Token':token , \r\n 'UserId':loggedinUser\r\n \r\n }\r\n });\r\n}\r\n\r\n\r\n//https://product.mymobiforce.com/coreAPI/api/User/GetTeamUserDetails?UserId=U00000000413\r\nthis.getFixedUserInfo = function (userId,loggedInUser, token) {\r\n var url = ApiURL + '/api/User/GetTeamUserDetails?UserId='+ userId ;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n}\r\n\r\n// http://localhost:56749/api/TerritoryMappingUser/GetStateByAccountIdAndRole?AccountId=114&Role=Administrator\r\nthis.getTerritoryStates = function (loggedInUser, token,AccountId,Role) {\r\n var url = ApiURL + '/api/TerritoryMappingUser/GetStateByAccountIdAndRole?AccountId='+ AccountId+ '&Role='+ Role;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n}\r\n\r\n//http://localhost:56749/api/TerritoryMappingUser/GetCityByAccountIdAndStateAndRole?AccountId=144&State=Uttar%20Pradesh&Role=Administrator\r\nthis.getTerritoryCity = function (loggedInUser, token,AccountId,state,Role) {\r\n var url = ApiURL + '/api/TerritoryMappingUser/GetCityByAccountIdAndStateAndRole?AccountId='+ AccountId+'&State='+state+'&Role='+ Role;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n}\r\n\r\n//https://upgrad.mymobiforce.com/coreapi/api/TerritoryMappingUser/GetPincodeByStateAndCityAndAccountIdAndRole?AccountId=144&State=Uttar%20Pradesh&City=Noida&Role=Administrator\r\nthis.getTerritoryPincodes = function (loggedInUser, token,AccountId,state,City,Role) {\r\n var url = ApiURL + '/api/TerritoryMappingUser/GetPincodeByStateAndCityAndAccountIdAndRole?AccountId='+ AccountId+'&State='+state+'&City='+City+'&Role='+ Role;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n}\r\n \r\n});\r\n\nangular.module('inspinia').controller('ServicefomeditController', function (ProjectCreationService,ReferService, MainService, $state, $scope, $timeout, $stateParams, $filter, $log, $localStorage, TeamFormCreationService, TeamProfileService, toaster,ServicefomeditService, $q, ImageUrl) {\r\n var vm = this;\r\n vm.isDisabled = false;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n if ($localStorage.accountConfig) {\r\n if ($localStorage.accountConfig) {\r\n vm.EnableRegion = $localStorage.accountConfig.EnableRegion;\r\n }\r\n }else{\r\n vm.EnableRegion = false;\r\n }\r\n\r\n if (!loggedinUser) {\r\n\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n\r\n vm.loggedinUserRole = $localStorage.loggedInUser_Role;\r\n\r\n //$log.log('Role=',vm.loggedinUserRole);\r\n angular.element(document).ready(function () {\r\n angular.element('ul[side-navigation]').find('a[ui-sref=\"index.TeamMember\"]').parent().prop('class', 'active');\r\n // angular.element(\".chosen-select\").chosen();\r\n });\r\n\r\n ///Global variables goign to use for seeting page defaults.\r\n\r\n var userId_ForUpdate = $stateParams.userId;\r\n vm.saveAndNewFlag = false;\r\n vm.editMode = false;\r\n vm.address_option = 'Yes';\r\n vm.officeFormValidation = false;\r\n vm.isCollapsed = false;\r\n vm.isUserDetailCollapsed = false;\r\n vm.isOfficeUseCollapsed = true;\r\n vm.Role = '';\r\n vm.specialist = \"No\";\r\n vm.ReportingTo = '';\r\n vm.SubCity='';\r\n vm.allStates = [];\r\n //page binding models using\r\n vm.username = '';\r\n vm.gender = '';\r\n vm.email = '';\r\n vm.phone_number = '';\r\n vm.last_name = '';\r\n vm.birth_date = moment();\r\n vm.father_name = '';\r\n vm.alternate_number = '';\r\n vm.workArea = '';\r\n vm.AccountName = '';\r\n vm.company = '';\r\n vm.permanent_address_line1 = '';\r\n vm.permanent_state = '';\r\n vm.permanent_pincode = '';\r\n vm.permanent_address_line2 = '';\r\n vm.permanent_city = '';\r\n vm.present_address_line1 = '';\r\n vm.present_address_line2 = '';\r\n vm.present_state = '';\r\n vm.present_city = '';\r\n vm.present_pincode = '';\r\n vm.skill = '';\r\n vm.expertise = '';\r\n vm.reportinToList = '';\r\n vm.workAreas = [];\r\n vm.CHDAccounts = [];\r\n vm.RemainingCHDAccounts = [];\r\n vm.SelectedAccount={};\r\n vm.showAction = true;\r\n // vm.multiPincode = []\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n vm.LocationMapping = vm.getAccountConfigSetting('LocationMapping');\r\n console.log('vertical',vm.VerticalName);\r\n vm.MainRegion = '';\r\n vm.SubRegion = '';\r\n var today = new Date();\r\n var date = today.getFullYear() - 18;\r\n var age = (today.getMonth() + 1 + \"/\" + today.getDate() + \"/\" + date).toString();\r\n\r\n vm.maxDOB = new Date(age);\r\n vm.maxDOBStr = vm.maxDOB.toDateString();\r\n age = Date.parse(age);\r\n $scope.MaxDate = moment(age);\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.showEditList = false;\r\n vm.showEditLists = false;\r\n vm.isShow=true;\r\n \r\n getAllRole();\r\n\r\n function getAllRole() {\r\n if (vm.loggedinUserRole == 'Administrator' || vm.loggedinUserRole == 'Project Manager' || vm.loggedinUserRole == 'Vendor Manager' || vm.loggedinUserRole == 'SuperAdministrator' || vm.loggedinUserRole == 'OnBoarding Manager' || vm.loggedinUserRole == 'Account Manager' || vm.loggedinUserRole == 'OnBoarding Supervisor' || vm.loggedinUserRole == 'Operation Manager' || vm.loggedinUserRole == 'Operation Supervisor' || vm.loggedinUserRole == 'Higher Management'\r\n || vm.loggedinUserRole == 'Dispatch Head' || vm.loggedinUserRole == 'Dispatch Manager' || vm.loggedinUserRole == 'Freelancer Dispatcher' || vm.loggedinUserRole == 'Dispatch Team Lead' || vm.loggedinUserRole == 'OnBoarding Team Lead') {\r\n TeamFormCreationService.getAllRoleByUserId(loggedinUser, token).then(function (resp) {\r\n if(resp.status == 200){\r\n if(resp.data && resp.data.length>0){\r\n vm.RolesList = resp.data;\r\n }\r\n }\r\n })\r\n }\r\n }\r\n\r\n vm.checkMaxDOB = function () {\r\n if (vm.birth_date && !vm.birth_date._isAMomentObject) {\r\n var splittedDOB = vm.birth_date.split(\"/\");\r\n vm.birth_date = moment(new Date((splittedDOB[1] + \"/\" + splittedDOB[0] + \"/\" + splittedDOB[2]).toString()));\r\n }\r\n\r\n return (vm.maxDOB - vm.birth_date) < 0;\r\n }\r\n\r\n vm.GetReportingToUser = function (role) {\r\n vm.reportinToList=\"\";\r\n TeamFormCreationService.GetReportingToUser(role, loggedinUser, token).then(function (resp) {\r\n if(resp.status == 200){\r\n if(resp.data && resp.data.length>0){\r\n vm.reportinToList = resp.data;\r\n }\r\n }\r\n })\r\n }\r\n\r\n\r\n vm.removeAddmoreEditList = function () { \r\n vm.showEditList = false;\r\n vm.showAction = true;\r\n}\r\n \r\n vm.selectedCountry = null;\r\n //get country of user\r\n\r\n vm.getCountry = function () {\r\n TeamFormCreationService.getCountry(loggedinUser, token).then(function (resp) {\r\n if(resp.status == 200){\r\n if(resp.data && resp.data.values.length>0){\r\n vm.countrylist = resp.data.values;\r\n vm.selectedCountry = vm.countrylist[0];\r\n vm.getAllState();\r\n //getAllCircles(loggedinUser);\r\n }\r\n } \r\n })\r\n }\r\n\r\n vm.getAllState = function () {\r\n TeamFormCreationService.getAllState(loggedinUser, token).then(function (resp) {\r\n if(resp.status == 200){\r\n if(resp.data && resp.data.length>0){\r\n vm.stateList = resp.data;\r\n if ($state.current.name == 'index.TeamEdit') {\r\n vm.teamEditMode = $state.current.name;\r\n vm.editMode = true;\r\n \r\n if(userId_ForUpdate.startsWith(\"U\") || userId_ForUpdate.startsWith(\"F\")){\r\n TeamFormCreationService.getFixedUserInfo(userId_ForUpdate, loggedinUser, token).then(function (resp) {\r\n var userData = resp.data;\r\n vm.AccountName = userData.ServiceAccountIds;\r\n vm.username = userData.FirstName;\r\n vm.gender = userData.Gender;\r\n vm.email = userData.PersonalEmail;\r\n vm.phone_number = parseInt(userData.ContactNumber);\r\n vm.last_name = userData.LastName;\r\n vm.birth_date = moment(userData.DOB);\r\n vm.father_name = userData.FatherName;\r\n if(userData.AlternativeContactNumber){\r\n vm.alternate_number = parseInt(userData.AlternativeContactNumber);\r\n } \r\n vm.specialist = userData.Specialist; \r\n vm.workArea = userData.Locations;\r\n //vm.company = userData.CompanyName;\r\n vm.userId = userData.UserId;\r\n vm.permanent_address_line1 = userData.PermanentAdd1;\r\n vm.permanent_address_line2 = userData.PermanentAdd2;\r\n vm.permanent_city = userData.PermanentCity.toUpperCase();\r\n vm.permanent_state = userData.PermanentState;\r\n vm.permanent_pincode = userData.PermanentPinCode;\r\n vm.present_address_line1 = userData.CurrentAdd1;\r\n vm.present_address_line2 = userData.CurrentAdd2;\r\n vm.present_city = userData.CurrentCity.toUpperCase();\r\n vm.present_state = userData.CurrentState;\r\n vm.present_pincode = userData.CurrentPinCode;\r\n vm.skill = userData.SkillSet;\r\n vm.expertise = userData.Expertise;\r\n vm.Role = userData.Role;\r\n vm.GetReportingToUser(vm.Role);\r\n vm.ReportingTo = userData.ReportingTo;\r\n vm.workAreas = userData.TerritoryConfigurations;\r\n // vm.profilePic = userData.Picture;\r\n vm.imageServices(userData.Picture);\r\n if (vm.EnableRegion) {\r\n vm.MainRegion = userData.Region;\r\n \r\n //GetSubRegionList\r\n vm.selectSubRegion(vm.MainRegion);\r\n vm.Region = userData.SubRegion;\r\n vm.selectCitySubRegion(vm.Region);\r\n vm.SubCity = userData.Locations;\r\n }else{\r\n vm.workArea = userData.Locations;\r\n }\r\n \r\n //Get Id of state by its name \r\n for (var i = 0; i < vm.stateList.length; i++) {\r\n if (vm.stateList[i] == vm.permanent_state) {\r\n vm.permanent_state = vm.stateList[i];\r\n vm.selectState(vm.permanent_state);\r\n }\r\n if (vm.stateList[i] == vm.present_state) {\r\n vm.present_state = vm.stateList[i];\r\n vm.selectStateforPresent(vm.present_state);\r\n }\r\n }\r\n \r\n ///Get the workArea badges in edit mode \r\n var circleArray = [];\r\n if(vm.workArea){\r\n for (var pin = 0; pin < vm.workArea.length; pin++) {\r\n circleArray.push({\r\n workArea: vm.workArea\r\n });\r\n }\r\n }\r\n \r\n \r\n ///Check Present address is same as the Permanent Address.\r\n if ((vm.permanent_address_line1 == vm.present_address_line1) && (vm.permanent_address_line2 == vm.present_address_line2) && (vm.permanent_city == vm.present_city) &&\r\n (vm.permanent_state == vm.present_state) && (vm.permanent_pincode == vm.present_pincode)) {\r\n vm.address_option = 'Yes';\r\n } else {\r\n vm.address_option = 'No';\r\n }\r\n }, function () {\r\n \r\n });\r\n }\r\n else\r\n {\r\n TeamProfileService.getUserInfo(userId_ForUpdate, loggedinUser, token).then(function (resp) {\r\n var userData = resp.data;\r\n vm.username = userData.FirstName;\r\n vm.gender = userData.Gender;\r\n vm.email = userData.PersonalEmail;\r\n vm.phone_number = parseInt(userData.ContactNumber);\r\n vm.last_name = userData.LastName;\r\n vm.birth_date = moment(userData.DOB);\r\n vm.father_name = userData.FatherName;\r\n vm.alternate_number = parseInt(userData.AlternativeContactNumber);\r\n vm.specialist = userData.Specialist; \r\n //vm.workArea = userData.Locations;\r\n vm.company = userData.CompanyName;\r\n vm.userId = userData.UserId;\r\n vm.permanent_address_line1 = userData.PermanentAdd1;\r\n vm.permanent_address_line2 = userData.PermanentAdd2;\r\n vm.permanent_city = userData.PermanentCity.toUpperCase();\r\n vm.permanent_state = userData.PermanentState;\r\n vm.permanent_pincode = userData.PermanentPinCode;\r\n vm.present_address_line1 = userData.CurrentAdd1;\r\n vm.present_address_line2 = userData.CurrentAdd2;\r\n vm.present_city = userData.CurrentCity.toUpperCase();\r\n vm.present_state = userData.CurrentState;\r\n vm.present_pincode = userData.CurrentPinCode;\r\n vm.skill = userData.SkillSet;\r\n vm.expertise = userData.Expertise;\r\n vm.Role = userData.Role;\r\n vm.GetReportingToUser(vm.Role);\r\n vm.ReportingTo = userData.ReportingTo;\r\n vm.profilePic = userData.Picture;\r\n if (vm.EnableRegion) {\r\n vm.MainRegion = userData.Region;\r\n \r\n //GetSubRegionList\r\n vm.selectSubRegion(vm.MainRegion);\r\n vm.Region = userData.SubRegion;\r\n vm.selectCitySubRegion(vm.Region);\r\n vm.SubCity = userData.Locations;\r\n }else{\r\n vm.workArea = userData.Locations;\r\n }\r\n \r\n //Get Id of state by its name \r\n for (var i = 0; i < vm.stateList.length; i++) {\r\n if (vm.stateList[i] == vm.permanent_state) {\r\n vm.permanent_state = vm.stateList[i];\r\n vm.selectState(vm.permanent_state);\r\n }\r\n if (vm.stateList[i] == vm.present_state) {\r\n vm.present_state = vm.stateList[i];\r\n vm.selectStateforPresent(vm.present_state);\r\n }\r\n }\r\n \r\n ///Get the workArea badges in edit mode \r\n var circleArray = [];\r\n for (var pin = 0; pin < vm.workArea.length; pin++) {\r\n circleArray.push({\r\n workArea: vm.workArea\r\n });\r\n }\r\n \r\n ///Check Present address is same as the Permanent Address.\r\n if ((vm.permanent_address_line1 == vm.present_address_line1) && (vm.permanent_address_line2 == vm.present_address_line2) && (vm.permanent_city == vm.present_city) &&\r\n (vm.permanent_state == vm.present_state) && (vm.permanent_pincode == vm.present_pincode)) {\r\n vm.address_option = 'Yes';\r\n } else {\r\n vm.address_option = 'No';\r\n }\r\n }, function () {\r\n \r\n });\r\n }\r\n \r\n\r\n\r\n }\r\n \r\n }\r\n } \r\n })\r\n \r\n }\r\n \r\n vm.getCountry();\r\n\r\n $scope.modelOptions = {\r\n getterSetter: true\r\n };\r\n\r\n\r\n\r\n vm.getProfilePic = function(pic){\r\n return ImageUrl+\"/\"+vm.profilePic;\r\n }\r\n\r\n vm.changeFile = function(selector){\r\n angular.element(selector).trigger(\"click\");\r\n }\r\n\r\n $scope.uploadImageFile = function(files){\r\n var file = files.files[0];\r\n\r\n var rendomnumber = Math.floor(1000 + Math.random() * 9999);\r\n filename = loggedinUser+\"_ProfilePic_\" + rendomnumber +\".\"+ file.name.split(\".\")[1];\r\n var file = new File([file], filename, {type:file.type});\r\n\r\n if(file.type.indexOf(\"image/jpg\")>=0 || file.type.indexOf(\"image/png\")>=0 \r\n || file.type.indexOf(\"image/bmp\")>=0 || file.type.indexOf(\"image/jpeg\")>=0){\r\n var data = new FormData();\r\n data.append(\"files\", file);\r\n TeamFormCreationService.uploadProfilePic(loggedinUser, data, token, function(res){\r\n if(res && res.status==201 && res.data){\r\n vm.profilePic = filename;\r\n vm.imageServices(filename);\r\n }\r\n }, function(err){\r\n vm.showFailure(\"Failed\", err.data);\r\n });\r\n } else {\r\n vm.fileUploadError = \"Please upload image only as profile picture.\";\r\n }\r\n }\r\n vm.imageServices = function(img){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n }\r\n else{\r\n vm.profileImg = resp.data;\r\n }\r\n console.log(vm.profileImg);\r\n }, function() {\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n });\r\n \r\n }\r\n vm.imageServices(vm.profileImg);\r\n\r\n ///Saving User function \r\n vm.saveUser = function () {\r\n vm.isDisabled = true;\r\n if (vm.signup_form.$valid) {\r\n if (vm.address_option == 'Yes') {\r\n vm.present_address_line1 = vm.permanent_address_line1;\r\n vm.present_address_line2 = vm.permanent_address_line2;\r\n vm.present_state = vm.permanent_state;\r\n vm.present_city = vm.permanent_city;\r\n vm.present_pincode = vm.permanent_pincode;\r\n }\r\n \r\n var workArea = '';\r\n var skill = '';\r\n if((vm.loggedinUserRole != \"Dispatch Manager\") && (vm.loggedinUserRole != \"OnBoarding Manager\") && (vm.loggedinUserRole != \"Dispatch Team Lead\")&& (vm.loggedinUserRole != \"OnBoarding Team Lead\")){ \r\n workArea = vm.workArea;\r\n skill = vm.skill;\r\n /*for (var index = 0; index < vm.workArea.length; index++) {\r\n if (index == (vm.workArea.length - 1)) {\r\n workArea = workArea + vm.workArea[index];\r\n continue;\r\n }\r\n workArea = workArea + vm.workArea[index] + ',';\r\n } \r\n for (var skillindex = 0; skillindex < vm.skill.length; skillindex++) {\r\n if (skillindex == (vm.skills.length - 1)) {\r\n skill = skill + vm.skill[skillindex];\r\n vm.selectExpertise(skill);\r\n continue;\r\n }\r\n skill = skill + vm.skill[skillindex] + ',';\r\n vm.selectExpertise(skill);\r\n }*/\r\n } \r\n\r\n ///model to send for creating user \r\n var userFormData = { \r\n \"UserId\": vm.userId,\r\n \"FirstName\": vm.username,\r\n \"LastName\": vm.last_name,\r\n \"Gender\": vm.gender,\r\n \"DOB\": moment(vm.birth_date, 'DD/MM/YYYY').format('YYYY-MM-DDTHH:mm:ss.SSSZ'), \r\n \"PersonalEmail\": vm.email,\r\n \"ContactNumber\": vm.phone_number,\r\n \"AlternativeContactNumber\": vm.alternate_number,\r\n \"CompanyName\": vm.company,\r\n \"Locations\": workArea,\r\n \"PermanentAdd1\": vm.permanent_address_line1,\r\n \"PermanentAdd2\": vm.permanent_address_line2,\r\n \"PermanentState\": vm.permanent_state,\r\n \"PermanentCity\": vm.permanent_city,\r\n \"PermanentPincode\": vm.permanent_pincode,\r\n \"CurrentAdd1\": vm.present_address_line1,\r\n \"CurrentAdd2\": vm.present_address_line2,\r\n \"CurrentState\": vm.present_state,\r\n \"CurrentCity\": vm.present_city,\r\n \"CurrentPincode\": vm.present_pincode,\r\n \"SkillSet\": skill,\r\n \"Expertise\": vm.expertise,\r\n \"ReportingTo\": '',\r\n \"Role\": '',\r\n \"Picture\":vm.profilePic,\r\n \"TerritoryConfigurations\":vm.workAreas,\r\n \"Specialist\":vm.specialist\r\n }\r\n if (vm.EnableRegion) {\r\n userFormData.Region = vm.MainRegion;\r\n \r\n var workArea = '';\r\n for (var index = 0; index < vm.SubCity.length; index++) {\r\n if (index == (vm.SubCity.length - 1)) {\r\n workArea = workArea + vm.SubCity[index];\r\n continue;\r\n }\r\n workArea = workArea + vm.SubCity[index] + ',';\r\n }\r\n userFormData.Locations = workArea;\r\n userFormData.SubRegion = vm.Region;\r\n }\r\n\r\n \r\n if (vm.loggedinUserRole == 'Administrator' || vm.loggedinUserRole == 'Project Manager' || vm.loggedinUserRole == 'Vendor Manager' || vm.loggedinUserRole == 'SuperAdministrator' || vm.loggedinUserRole == 'OnBoarding Manager' || vm.loggedinUserRole == 'Account Manager' || vm.loggedinUserRole == 'OnBoarding Supervisor' || vm.loggedinUserRole == 'Operation Manager' || vm.loggedinUserRole == 'Operation Supervisor' || vm.loggedinUserRole == 'Higher Management'\r\n || vm.loggedinUserRole == 'Dispatch Manager' || vm.loggedinUserRole == 'Dispatch Team Lead'|| vm.loggedinUserRole == 'Freelancer Dispatcher'|| vm.loggedinUserRole == 'OnBoarding Team Lead') {\r\n userFormData.ReportingTo = vm.ReportingTo;\r\n userFormData.Role = vm.Role;\r\n }else if(vm.loggedinUserRole == 'Supervisor'){\r\n userFormData.ReportingTo = loggedinUser;\r\n userFormData.Role = 'Field Engineer';\r\n }\r\n\r\n \r\n\r\n if((vm.email==null || vm.email=='') && (vm.phone_number==null || vm.phone_number=='')){\r\n vm.showFailure(\"Failed\", \"Please provide email id or mobile number\");\r\n vm.isDisabled = false;\r\n } else{\r\n // Submit as normal\r\n if (vm.editMode) {\r\n TeamFormCreationService.updateUser(userFormData, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 201) {\r\n vm.showSuccess(\"Success\", \"User Updated Successfully\");\r\n vm.isDisabled = false;\r\n $timeout(function () {\r\n $state.go('index.TeamMember', {\r\n reload: true\r\n });\r\n }, 2000);\r\n }\r\n else{\r\n vm.isDisabled = false;\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }\r\n \r\n }, function () {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"Failed\", \"Unable to update user\");\r\n })\r\n } else {\r\n\r\n userFormData.UserId = '';\r\n TeamFormCreationService.updateUser(userFormData, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 201) {\r\n if (!vm.saveAndNewFlag && vm.loggedinUserRole == 'SuperAdministrator') {\r\n $state.go('index.TeamMember', {\r\n reload: true\r\n });\r\n }\r\n else if (!vm.saveAndNewFlag) {\r\n $state.go('index.TeamMember', {\r\n reload: true\r\n });\r\n\r\n $timeout(function () {\r\n window.location.reload(true);\r\n }, 3000);\r\n } else {\r\n vm.showSuccess(\"User Creation Status\", \"User created successfully\");\r\n vm.isDisabled = false;\r\n clearFormFields();\r\n }\r\n } else if (resp.data.ErrorCode == 104) {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"User Creation Status\", \"User already exist\");\r\n } else if(resp.data && resp.data.Message) {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"User Creation Status\", resp.data.Message);\r\n } else {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"User Creation Status\", \"Unable to create user, server is not responding correctly.\");\r\n }\r\n vm.isDisabled = false;\r\n }, function (error) {\r\n vm.isDisabled = false;\r\n if (error.data.ErrorCode == 104) {\r\n vm.showFailure(\"User Creation Status\", \"Unable to create user, server is not responding correctly.\");\r\n }\r\n else {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"User Creation Status\", \"Unable to create user, server is not responding correctly.\");\r\n }\r\n }\r\n );\r\n }\r\n }\r\n } else {\r\n vm.signup_form.submitted = true;\r\n vm.isDisabled = false;\r\n }\r\n }\r\n\r\n // vm.saveAndNew = function () {\r\n // vm.saveAndNewFlag = true;\r\n // vm.saveUser();\r\n // }\r\n\r\n vm.getAccounts = function () {\r\n TeamFormCreationService.getAllAccounts(loggedinUser, token).then(function (resp) { \r\n if (resp && resp.data && resp.status==200) { \r\n vm.accounts = resp.data;\r\n } \r\n }, function () { \r\n });\r\n } \r\n vm.getAccounts();\r\n\r\n function clearFormFields() {\r\n vm.username = '';\r\n vm.gender = '';\r\n vm.address = '';\r\n vm.email = '';\r\n vm.phone_number = '';\r\n vm.last_name = '';\r\n // vm.birth_date = '';\r\n vm.cores_address = '';\r\n vm.father_name = '';\r\n vm.alternate_number = '';\r\n vm.workArea = '';\r\n vm.city = '';\r\n // vm.reporting_to = '';\r\n vm.state = '';\r\n // vm.role = '';\r\n vm.skill = '';\r\n vm.expertise = '';\r\n vm.saveAndNewFlag = false;\r\n }\r\n\r\n var skillsArray = [];\r\n vm.getAllSkill = function () {\r\n TeamFormCreationService.getAllSkills(loggedinUser, token).then(function (resp) {\r\n vm.skills = resp.data; \r\n for (var index = 0; index < vm.skills.length; index++) { \r\n skillsArray.push({\r\n skill: vm.skills.SkillName\r\n });\r\n }\r\n }); \r\n }\r\n\r\n vm.selectExpertise = function (skill) {\r\n // TeamFormCreationService.getAllSkills().then(function (resp) {\r\n // vm.expertiseList = resp.data;\r\n // vm.expertiseList = [];\r\n if (!vm.skills) {\r\n var expertiseArray = [];\r\n expertiseArray.push({\r\n skill: vm.skills.SkillName\r\n });\r\n vm.expertiseList = expertiseArray;\r\n }\r\n }\r\n\r\n\r\n ///get all the circles through api\r\n function getAllCircles() {\r\n vm.circles = [];\r\n vm.CircleList=[];\r\n vm.MainRegionList = '';\r\n if (vm.EnableRegion) {\r\n TeamFormCreationService.GetRegion(loggedinUser,token).then(function(resp){\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length>0) {\r\n vm.MainRegionList = resp.data;\r\n $log.log('RegionList',vm.RegionList)\r\n }\r\n }\r\n })\r\n }else if (vm.LocationMapping == 'Circle') {\r\n TeamFormCreationService.GetTelecomCircle(loggedinUser,token).then(function(resp){\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.values.length>0) {\r\n vm.CircleList = resp.data.values;\r\n \r\n }\r\n }\r\n })\r\n }else{\r\n\r\n TeamFormCreationService.getAllState(loggedinUser, token).then(function(resp){\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length>0) {\r\n vm.circles = resp.data;\r\n }\r\n }\r\n });\r\n }\r\n \r\n }\r\n\r\n ///Executes when the user select the state\r\n vm.selectState = function (state) {\r\n var Getstate = state;\r\n TeamFormCreationService.getCities(loggedinUser,Getstate,token).then(function (resp) {\r\n vm.cityList = resp.data;\r\n if (!resp.data) {\r\n var cityArray = [];\r\n cityArray.push({\r\n city: state\r\n });\r\n vm.cityList = cityArray;\r\n }\r\n }, function () {\r\n\r\n });\r\n }\r\n\r\n vm.selectSubRegion = function(region){\r\n \r\n TeamFormCreationService.GetSubRegion(loggedinUser,token,region).then(function(resp){\r\n if (resp.status==200) {\r\n if (resp.data && resp.data.length>0) {\r\n vm.SubRegionList = resp.data;\r\n }\r\n }\r\n })\r\n }\r\n vm.selectCitySubRegion = function(Subregion){\r\n \r\n TeamFormCreationService.GetCityBySubRegion(loggedinUser,Subregion,token).then(function(resp){\r\n if (resp.status==200) {\r\n if (resp.data && resp.data.length>0) {\r\n vm.SubCityList = resp.data;\r\n }\r\n }\r\n })\r\n }\r\n\r\n vm.selectStateforPresent = function (state) { \r\n var Getstate = state;\r\n TeamFormCreationService.getCities(loggedinUser,Getstate,token).then(function (resp) {\r\n vm.presentcityList = resp.data;\r\n if (!resp.data) {\r\n var cityArray = [];\r\n cityArray.push({\r\n city: state\r\n });\r\n vm.cityList = cityArray;\r\n }\r\n }, function () {\r\n\r\n });\r\n }\r\n\r\n //state \r\n vm.getStateList = function (region) {\r\n TeamFormCreationService.getState(loggedinUser, token, region).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.allStates = resp.data;\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n\r\n function getallCities(state) {\r\n ReferService.getAllCity(loggedinUser, state,token).then(function (resp) {\r\n vm.CityList = resp.data;\r\n });\r\n }\r\n vm.selectedState = function (state) {\r\n getallCities(state);\r\n }\r\n ///Executes when the user select the city\r\n vm.selectCity = function (city) {\r\n TeamFormCreationService.getAllPincode(city).then(function (resp) {\r\n vm.pincodeList = resp.data;\r\n if (!resp.data) {\r\n var pincodeArray = [];\r\n pincodeArray.push({\r\n pincode: city\r\n });\r\n vm.pincodeList = pincodeArray;\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n vm.selectCityforPresent = function (loggedinUser, city) {\r\n TeamFormCreationService.getAllPincode(loggedinUser, city.ID).then(function (resp) {\r\n vm.presentpincodeList = resp.data;\r\n if (!resp.data) {\r\n var pincodeArray = [];\r\n pincodeArray.push({\r\n pincode: city\r\n });\r\n vm.pincodeList = pincodeArray;\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n vm.removeAccountDetail = function (index) {\r\n vm.workAreas.splice(index,1); \r\n vm.getAllHDAccounts(); \r\n }\r\n\r\n vm.EditData=function(index){\r\n vm.SelectedAccount = vm.workAreas[index]; \r\n vm.territoryStates(vm.SelectedAccount.AccountId);\r\n vm.selectedStateForTerritory(vm.SelectedAccount.State);\r\n vm.selectedCityForTerritory(vm.SelectedAccount.City); \r\n }\r\n\r\n vm.AccountChange=function (){ \r\n for (var i = 0; i < vm.RemainingCHDAccounts.length; i++) {\r\n var Acc = vm.RemainingCHDAccounts[i];\r\n if(Acc.AccountName == vm.SelectedAccount.AccountName ) {\r\n vm.SelectedAccount.AccountId = Acc.AccountId;\r\n // vm.SelectedAccount = Acc; \r\n // break;\r\n }\r\n }\r\n vm.territoryStates(vm.SelectedAccount.AccountId);\r\n }\r\n vm.territoryStates = function (AccountId) {\r\n vm.AccountIDforTerritory = AccountId;\r\n TeamFormCreationService.getTerritoryStates(loggedinUser, token,AccountId,vm.Role).then(function(resp) {\r\n vm.stateListTerritory = resp.data;\r\n if(resp.status == 200) {\r\n // vm.territoryCity();\r\n }\r\n })\r\n }\r\n\r\n vm.selectedStateForTerritory = function (state) {\r\n vm.territoryCity(state,vm.AccountIDforTerritory);\r\n }\r\n vm.territoryCity = function (state,AccountId) {\r\n vm.StateForTerritoryCity = state;\r\n TeamFormCreationService.getTerritoryCity(loggedinUser, token,AccountId,state,vm.Role).then(function(resp) {\r\n vm.cityListTerritory = resp.data;\r\n if(resp.status == 200) {\r\n \r\n\r\n }\r\n })\r\n }\r\n\r\n vm.selectedCityForTerritory = function (City) {\r\n vm.territoryPincodes(City);\r\n }\r\n vm.uniPin = [];\r\n vm.territoryPincodes = function (City) {\r\n TeamFormCreationService.getTerritoryPincodes(loggedinUser, token,vm.AccountIDforTerritory,vm.StateForTerritoryCity,City,vm.Role).then(function(resp) {\r\n // if(resp.status == 200) {\r\n vm.pinCodeListTerritory = resp.data;\r\n for (var i = 0; i < vm.workAreas.length; i++) {\r\n var Acc = vm.workAreas[i];\r\n if((Acc.City == City) && (Acc.AccountId ==vm.AccountIDforTerritory) && (Acc.State == vm.StateForTerritoryCity)) {\r\n for (var j = 0; j < vm.pinCodeListTerritory.length; j++) { \r\n var pinCodeUnique = vm.pinCodeListTerritory[j];\r\n for (var k = 0; k < Acc.PinCode.length; k++) { \r\n if( pinCodeUnique == Acc.PinCode[k]) {\r\n vm.pinCodeListTerritory.splice(j,1);\r\n // break; \r\n }\r\n }\r\n \r\n }\r\n }\r\n }\r\n // }\r\n })\r\n }\r\n\r\n vm.addMoreAccount = function(){\r\n vm.SelectedAccount=[]; \r\n vm.showEditList = true;\r\n vm.showAction = false;\r\n for (var i = 0; i < vm.workAreas.length; i++) {\r\n var Acc = vm.workAreas[i];\r\n for (var j = 0; j < vm.RemainingCHDAccounts.length; j++) { \r\n // console.log('acc = ' + Acc.AccountId + \" vm.RemainingCHDAccounts[j].AccountId \" + vm.RemainingCHDAccounts[j].AccountId + 'len ' + j) \r\n if(Acc.AccountId == vm.RemainingCHDAccounts[j].AccountId ) {\r\n // vm.RemainingCHDAccounts.splice(j,1); \r\n //break; \r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n //CHDAllaccounts\r\n vm.getAllHDAccounts = function ( ) {\r\n TeamFormCreationService.getAllAccountsConfigured(loggedinUser, token).then(function (resp) { \r\n if (resp && resp.data){ \r\n if(resp.status==200){\r\n vm.CHDAccounts = resp.data;\r\n vm.RemainingCHDAccounts = vm.CHDAccounts;\r\n }\r\n } \r\n }, function () { \r\n });\r\n }\r\n\r\n vm.UpdateAllHDAccountConfig = function(index){ \r\n vm.showAction = true; \r\n var checkAccount = false;\r\n for (var i = 0; i < vm.workAreas.length; i++) {\r\n if(vm.SelectedAccount.PinCode == undefined) {\r\n vm.showFailure(\"Failed\", \"Please add Account details with Locations\");\r\n vm.workAreas[index].edit = true;\r\n }\r\n // vm.workAreas[i] == vm.SelectedAccount;\r\n // vm.workAreas[i].AccountSkillSet = vm.SelectedSkills;\r\n // vm.workAreas[i].AccountLocations = vm.SelectedLocations;\r\n // var Acc = vm.workAreas[i];\r\n // if(Acc.AccountName == vm.SelectedAccount.AccountName ) {\r\n // vm.workAreas[i] == vm.SelectedAccount;\r\n // checkAccount = true;\r\n // break;\r\n // }\r\n }\r\n if(checkAccount == false && index == undefined) { \r\n vm.SelectedAccountObj = Object.assign({}, vm.SelectedAccount); \r\n if(vm.SelectedAccountObj.AccountName && vm.SelectedAccountObj.State && vm.SelectedAccountObj.City && vm.SelectedAccountObj.PinCode) {\r\n vm.workAreas.push(vm.SelectedAccountObj);\r\n } \r\n else {\r\n vm.showFailure(\"Failed\", \"Please add Account details with Locations\");\r\n vm.workAreas[i].edit = true;\r\n \r\n } \r\n \r\n }\r\n else {\r\n var Acc = vm.workAreas[i];\r\n }\r\n vm.showEditList = false; \r\n }\r\n \r\n vm.getAllHDAccounts(); \r\n vm.getAllSkill();\r\n vm.getStateList(\"INDIA\");\r\n }\r\n});\r\n\nangular.module('inspinia').service('ServiceCenter_FormcreationService', function (ApiURL, AcessoriesURL,LocationURL,PublicApiURL, $log,MMFCRMURL, $http,$localStorage) {\r\n var url = ApiURL + '/api/User';\r\n\r\n //state api https://product.mymobiforce.com/publicapi/api/Location/GetAllStates?userId=F00000000000&country=INDIA\r\n this.getState = function (loggedInUserId,token,region) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url, {\r\n headers: { \r\n 'Content-Type': 'application/json',\r\n 'Token':token , \r\n 'UserId':loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetTicketStatusForTerritory = function (loggedInUser, token) {\r\n var url = ApiURL + '/api/TerritoryMappingUser/GetTicketStatusForTerritory';\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n\r\n this.GetAllRegionsByRole = function (data,loggedInUser, token) {\r\n var url = MMFCRMURL + '/api/CRMZonalMapping/GetAllRegionsByRole';\r\n return $http.post(url,data,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n \r\n this.GetAllAvailableSubRegion = function (region,loggedInUser, token) {\r\n var url = MMFCRMURL + '/api/CRMZonalMapping/GetAllAvailableSubRegion?Region=' + region;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n\r\n this.CreateUser = function (userFormData, loggedinUser, token) {\r\n var url = ApiURL + '/api/User?reqUserId='+loggedinUser;\r\n return $http.post(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token, 'UserId':loggedinUser \r\n }\r\n });\r\n }\r\n\r\n this.getAllRole = function (token) {\r\n var url = ApiURL + '/api/role';\r\n return $http.get(url, {\r\n 'Token': token, 'UserId':loggedinUser\r\n });\r\n }\r\n //https://test.mymobiforce.com/publicapi/api/Location/GetRegion?userId=U370000000001\r\n this.GetRegion = function(loggedInUserId, token){\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId':loggedInUserId}\r\n })\r\n }\r\n this.GetTelecomCircle = function(loggedInUserId, token){\r\n var url = PublicApiURL + '/api/Location/GetTelecomCircles?userId='+ loggedInUserId;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId':loggedInUserId}\r\n })\r\n }\r\n\r\n //https://test.mymobiforce.com/publicapi/api/Location/GetSubRegion?userId=U370000000001®ion=North\r\n this.GetSubRegion = function(loggedInUserId, token, region){\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+region;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId':loggedInUserId}\r\n })\r\n }\r\n\r\n this.GetCityBySubRegion = function(loggedInUserId, subRegion, token){\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+subRegion;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId':loggedInUserId}\r\n })\r\n }\r\n\r\n this.GetAllProductNames = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/SkillSets/GetAllProductNames';\r\n return $http.get(url, {headers:{'Token': token, 'UserId':loggedinUser}});\r\n }\r\n\r\n this.GetAllSkillsForProduct = function (ProductName,loggedinUser, token) {\r\n var url = ApiURL + '/api/SkillSets/GetAllSkillsForProduct?ProductName=' + ProductName;\r\n return $http.get(url, {headers:{'Token': token, 'UserId':loggedinUser}});\r\n }\r\n\r\n\r\n this.getAllSkills = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url, {headers:{'Token': token, 'UserId':loggedinUser}});\r\n }\r\n\r\nthis.getCountry = function (loggedinUser, token) {\r\n var url = PublicApiURL + '/api/Address/GetCountry?userId=' + loggedinUser;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n } \r\n});\r\n}\r\n\r\nthis.getAllState = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n } \r\n});\r\n}\r\n\r\nthis.getCities = function (loggedinUser,state,token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+state;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n } \r\n});\r\n}\r\nthis.GetAllPinCodes = function (state,city,loggedinUser,token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllPinCodes?State='+ state + '&City=' + city;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n } \r\n});\r\n}\r\n this.getAllCity = function (loggedinUser,state, token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+state;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n } \r\n });\r\n }\r\n\r\n this.getAllPincode = function (city) {\r\n var url = LocationURL+'/api/Location/'+$localStorage.loggedinUser+'/'+city+'/GetPincodesByCity';\r\n return $http.get(url, {\r\n params: {}\r\n });\r\n }\r\n\r\n this.GetReportingToUser = function(role, loggedinUser, token){\r\n var url = ApiURL + '/api/User/' + role + '/GetReportingToUserByRole?reqUserId=' + loggedinUser\r\n return $http.get(url,{\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token, 'UserId':loggedinUser }\r\n })\r\n }\r\n\r\n this.getAllReportingTo = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/User';\r\n return $http.get(url, {\r\n params: {userid: loggedinUser},\r\n headers: {'Token':token, 'UserId':loggedinUser }\r\n })\r\n }\r\n\r\n this.getUserData = function (userid, token) {\r\n return $http.get(url, {\r\n params: {UserId:userid},\r\n headers: {'Token':token, 'UserId':loggedinUser }\r\n });\r\n }\r\n\r\n this.UpdateServiceCenterDetailsDoc = function (userFormData,applicationFormFile,payoutStructureFile,gstCertificateFile,aadhaarDocFile,panDocFile,chequeDocFile,tanDocFile,shopLicenceDocFile,loggedinUser, token,userId) {\r\n\r\n var formdata = new FormData();\t\t\r\n formdata.append(\"ApplicationForm\", applicationFormFile[0]);\r\n formdata.append(\"PayoutStructure\", payoutStructureFile[0]);\r\n formdata.append(\"GSTCertificate\", gstCertificateFile[0]);\t\r\n formdata.append(\"AadharDoc\", aadhaarDocFile[0]);\r\n formdata.append(\"PANDoc\", panDocFile[0]);\r\n formdata.append(\"CancelCheque\", chequeDocFile[0]);\t\r\n formdata.append(\"TANCertificate\", tanDocFile[0]);\t\r\n formdata.append(\"ShopLicense\", shopLicenceDocFile[0]);\t\r\n var authrizedData = JSON.stringify(userFormData);\r\n formdata.append(\"BackgroundData\", authrizedData);\r\n\r\n var url = ApiURL + '/api/User/UpdateServiceCenterDetailsDoc?UserId=' + userId;\r\n return $http.put(url, formdata, {\r\n headers: { 'Content-Type': undefined,\r\n 'Token':token, 'UserId':loggedinUser}\r\n });\r\n }\r\n //http://192.168.0.80:92/CoreAPI/api/Role/ByReqUserId?reqUserId=kanika.bansal%40innotiontech.com\r\n\r\n this.getAllRoleByUserId = function (userId, token) {\r\n var url = ApiURL + '/api/Role/ByReqUserId?reqUserId='+userId;\r\n return $http.get(url,{\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':userId}\r\n \r\n });\r\n }\r\n\r\n this.uploadProfilePic = function(loggedinUser, data, token, success, failure){\r\n $http.post(ApiURL + '/api/UploadDoc', data, { \r\n headers: {\r\n 'Content-Type': undefined, 'Token': token, 'UserId':loggedinUser\r\n }\r\n }).then(success, failure);\r\n }\r\n \r\nthis.getAllAccounts = function (loggedInUserId,token) { \r\n var url = ApiURL+ '/api/account/GetAllAccountsMiniModel';\r\n return $http.get(url, {\r\n headers: { \r\n 'Content-Type': 'application/json',\r\n 'Token':token , \r\n 'UserId':loggedInUserId\r\n \r\n }\r\n });\r\n}\r\n\r\n//Accounts API\r\nthis.getAllAccountsConfigured = function (loggedinUser,token) { \r\n var url = ApiURL+ '/api/CentralHelpDesk/GetAllAccountHDConfig';\r\n return $http.get(url, {\r\n headers: { \r\n 'Content-Type': 'application/json',\r\n 'Token':token , \r\n 'UserId':loggedinUser\r\n \r\n }\r\n });\r\n}\r\n\r\n\r\n//https://product.mymobiforce.com/coreAPI/api/User/GetTeamUserDetails?UserId=U00000000413\r\nthis.getFixedUserInfo = function (userId,loggedInUser, token) {\r\n var url = ApiURL + '/api/User/GetTeamUserDetails?UserId='+ userId ;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n}\r\n\r\n// http://localhost:56749/api/TerritoryMappingUser/GetStateByAccountIdAndRole?AccountId=114&Role=Administrator\r\nthis.getTerritoryStates = function (loggedInUser, token,AccountId,Role) {\r\n var url = ApiURL + '/api/TerritoryMappingUser/GetStateByAccountIdAndRole?AccountId='+ AccountId+ '&Role='+ Role;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n}\r\n\r\n//http://localhost:56749/api/TerritoryMappingUser/GetCityByAccountIdAndStateAndRole?AccountId=144&State=Uttar%20Pradesh&Role=Administrator\r\nthis.getTerritoryCity = function (loggedInUser, token,AccountId,state,Role) {\r\n var url = ApiURL + '/api/TerritoryMappingUser/GetCityByAccountIdAndStateAndRole?AccountId='+ AccountId+'&State='+state+'&Role='+ Role;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n}\r\n\r\n//https://upgrad.mymobiforce.com/coreapi/api/TerritoryMappingUser/GetPincodeByStateAndCityAndAccountIdAndRole?AccountId=144&State=Uttar%20Pradesh&City=Noida&Role=Administrator\r\nthis.getTerritoryPincodes = function (loggedInUser, token,AccountId,state,City,Role) {\r\n var url = ApiURL + '/api/TerritoryMappingUser/GetPincodeByStateAndCityAndAccountIdAndRole?AccountId='+ AccountId+'&State='+state+'&City='+City+'&Role='+ Role;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n}\r\n \r\nthis.GetAllNotAllocatedWareHouse = function (loggedInUser, token) {\r\n var url = AcessoriesURL + '/api/WareHouse/GetAllNotAllocatedWareHouse';\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n}\r\nthis.GetItemBrandName = function (token) {\r\n var url = AcessoriesURL + '/api/MMFMasterInventory/GetItemBrandName';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\n});\r\n\nangular.module('inspinia').controller('ServiceCenter_FormcreationController', function (ServiceCenter_FormcreationService,$uibModal,toaster ,ReferService, MainService,$rootScope,$http, $state, $scope, $timeout, $stateParams,DTOptionsBuilder,DTColumnDefBuilder, $log, $localStorage, ngProgressFactory, TeamProfileService, ApiURL, $q, ImageUrl) {\r\n var vm = this;\r\n vm.isDisabled = false;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n if ($localStorage.accountConfig) {\r\n if ($localStorage.accountConfig) {\r\n vm.EnableRegion = $localStorage.accountConfig.EnableRegion;\r\n }\r\n }else{\r\n vm.EnableRegion = false;\r\n }\r\n\r\n if (!loggedinUser) {\r\n\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n\t\tvm.AccountId= $localStorage.accountConfig.AccountId;\r\n vm.loggedinUserRole = $localStorage.loggedInUser_Role;\r\n var userId_ForUpdate = $stateParams.userId;\r\n vm.saveAndNewFlag = false;\r\n vm.editMode = false;\r\n vm.address_option = 'Yes';\r\n vm.isCollapsed = false;\r\n vm.isUserDetailCollapsed = false;\r\n vm.canceler = $q.defer();\r\n vm.progressbar = ngProgressFactory.createInstance();\r\n vm.noOfRecords = 0;\r\n vm.file = null;\r\n vm.Role = 'Service Center';\r\n $scope.panUploadError = false;\r\n $scope.adhaarUploadError =false;\r\n $scope.gstUploadError = false;\r\n $scope.payoutUploadError = false;\r\n vm.disableUploadButton = true;\r\n $scope.applicationFormUploadError = false;\r\n vm.specialist = \"No\";\r\n vm.ReportingTo = '';\r\n vm.mapstate = '';\r\n vm.mapcity = '';\r\n vm.mappincode = \"\";\r\n vm.warehouseToBeAllocated = '';\r\n vm.AadhaarNumber = '';\r\n vm.Rating = '';\r\n vm.ExperienceInYears = '';\r\n vm.GSTNumber = '';\r\n vm.TANNumber = '';\r\n vm.PANNumber = '';\r\n vm.SubCity='';\r\n vm.allStates = [];\r\n vm.dSecurityAmount = 0;\r\n vm.dMSLQuantityAmount = 0;\r\n vm.strListRegion = [];\r\n vm.strListSubRegion = [];\r\n vm.selectedCategory = '';\r\n vm.CustomUserId = '';\r\n vm.username = '';\r\n vm.gender = 'Male';\r\n vm.email = '';\r\n vm.phone_number = '';\r\n vm.last_name = '';\r\n vm.birth_date = moment();\r\n vm.father_name = '';\r\n vm.alternate_number = '';\r\n vm.workArea = '';\r\n vm.AccountName = '';\r\n vm.company = '';\r\n vm.permanent_address_line1 = '';\r\n vm.permanent_state = '';\r\n vm.permanent_pincode = '';\r\n vm.permanent_address_line2 = '';\r\n vm.permanent_city = '';\r\n vm.present_address_line1 = '';\r\n vm.present_address_line2 = '';\r\n vm.present_state = '';\r\n vm.present_city = '';\r\n vm.present_pincode = '';\r\n vm.skill = '';\r\n vm.companyname = '';\r\n vm.brand = '';\r\n vm.expertise = '';\r\n vm.reportinToList = '';\r\n vm.workAreas = [];\r\n vm.CHDAccounts = [];\r\n vm.RemainingCHDAccounts = [];\r\n vm.SelectedAccount={};\r\n vm.showAction = true;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.LocationMapping = vm.getAccountConfigSetting('LocationMapping');\r\n vm.MainRegion = '';\r\n vm.SubRegion = '';\r\n var today = new Date();\r\n // var date = today.getFullYear() - 18;\r\n var date = today.getFullYear();\r\n var age = (today.getMonth() + 1 + \"/\" + today.getDate() + \"/\" + date).toString();\r\n\r\n vm.maxDOB = new Date(age);\r\n vm.maxDOBStr = vm.maxDOB.toDateString();\r\n age = Date.parse(age);\r\n $scope.MaxDate = moment(age);\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.showEditList = false;\r\n vm.showEditLists = false;\r\n vm.isShow=true;\r\n var brandArray = [];\r\n vm.regionForRSM = \"\";\r\n vm.AllAvailableSubRegionList = [];\r\n\r\n var verifyBulkPost = ApiURL+\"/api/BulkUpload/MediaUpload?reqUserId={userId}&action=Create\";\r\n // var addBulkPost = ApiURL+\"/api/User/BulkCreateServiceCenters\";\r\n\r\n vm.GetItemBrandName = function () {\r\n ServiceCenter_FormcreationService.GetItemBrandName(token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.BrandList = resp.data; // Store the brand list\r\n \r\n // Initialize brandArray if needed\r\n var brandArray = [];\r\n for (var index = 0; index < vm.BrandList.length; index++) {\r\n brandArray.push({\r\n brand: vm.BrandList[index]\r\n });\r\n }\r\n \r\n if (vm.editMode) {\r\n if (vm.brand && vm.brand.length > 0) {\r\n \r\n } else {\r\n vm.brand = [vm.BrandList[0]];\r\n }\r\n } else {\r\n vm.brand = [vm.BrandList[0]]; \r\n }\r\n }\r\n });\r\n };\r\n \r\n \r\n \r\n // vm.GetItemBrandName = function () {\r\n // ServiceCenter_FormcreationService.GetItemBrandName(token).then(function (resp) {\r\n // if (resp && resp.data) {\r\n // vm.BrandList = resp.data; // Assign the API response to the BrandList\r\n // vm.brand = [resp.data[0]]; // Set the first item as the default selection\r\n // }\r\n // });\r\n // };\r\n vm.GetItemBrandName();\r\n\r\n\r\n\r\n // vm.checkMaxDOB = function () {\r\n // if (vm.birth_date && !vm.birth_date._isAMomentObject) {\r\n // var splittedDOB = vm.birth_date.split(\"/\");\r\n // vm.birth_date = moment(new Date((splittedDOB[1] + \"/\" + splittedDOB[0] + \"/\" + splittedDOB[2]).toString()));\r\n // }\r\n\r\n // return (vm.maxDOB - vm.birth_date) < 0;\r\n // }\r\n\r\n vm.GetReportingToUser = function (role) {\r\n vm.reportinToList=\"\";\r\n ServiceCenter_FormcreationService.GetReportingToUser(role, loggedinUser, token).then(function (resp) {\r\n if(resp.status == 200){\r\n if(resp.data && resp.data.length>0){\r\n vm.reportinToList = resp.data;\r\n }\r\n }\r\n })\r\n }\r\n if($state.current.name == 'index.ServiceCenterFormCreation'){\r\n vm.GetReportingToUser('Service Center');\r\n }\r\n\r\n // vm.GetAllRegionsByRole = function ( ) {\r\n // var data = {\r\n // \"ReportingToUserId\": vm.ReportingTo\r\n // }\r\n // ServiceCenter_FormcreationService.GetAllRegionsByRole(data,loggedinUser, token).then(function (resp) { \r\n // if (resp && resp.data){ \r\n // if(resp.status==200){\r\n // vm.AllAvailableRegionList = resp.data;\r\n // }\r\n // } \r\n // }, function () { \r\n // });\r\n // }\r\n\r\n \r\n vm.GetAllAvailableSubRegion = function () {\r\n ServiceCenter_FormcreationService.GetAllAvailableSubRegion(vm.regionForRSM,loggedinUser, token).then(function (resp) { \r\n vm.AllSubRegionList = [];\r\n if (resp && resp.data){ \r\n if(resp.status==200){\r\n vm.AllAvailableSubRegionList = resp.data;\r\n angular.forEach(vm.AllAvailableSubRegionList, function(subregion) {\r\n if(subregion.UserId == vm.ReportingTo) {\r\n vm.AllSubRegionList.push(subregion);\r\n }\r\n })\r\n }\r\n } \r\n }, function () { \r\n });\r\n }\r\n\r\n vm.removeAddmoreEditList = function () {\r\n vm.showEditList = false;\r\n vm.showAction = true;\r\n }\r\n\r\n vm.countrylist = [\"INDIA\"];\r\n vm.selectedCountry = \"INDIA\";\r\n\r\n\r\n vm.getAllState = function () {\r\n ServiceCenter_FormcreationService.getAllState(loggedinUser, token).then(function (resp) {\r\n if(resp.status == 200){\r\n if(resp.data && resp.data.length>0){\r\n vm.stateList = resp.data;\r\n if ($state.current.name == 'index.ServiceCenter_FormEdit') {\r\n vm.editMode = true;\r\n \r\n if(userId_ForUpdate.startsWith(\"U\") || userId_ForUpdate.startsWith(\"F\")){\r\n ServiceCenter_FormcreationService.getFixedUserInfo(userId_ForUpdate, loggedinUser, token).then(function (resp) {\r\n var userData = resp.data;\r\n vm.AccountName = userData.ServiceAccountIds;\r\n vm.username = userData.FirstName;\r\n vm.gender = 'Male';\r\n vm.email = userData.PersonalEmail;\r\n vm.phone_number = parseInt(userData.ContactNumber);\r\n vm.last_name = userData.LastName;\r\n vm.birth_date = moment(userData.DOB);\r\n vm.father_name = userData.FatherName;\r\n if(userData.AlternativeContactNumber){\r\n vm.alternate_number = parseInt(userData.AlternativeContactNumber);\r\n } \r\n vm.specialist = userData.Specialist; \r\n vm.workArea = userData.Locations;\r\n vm.userId = userData.UserId;\r\n vm.permanent_address_line1 = userData.PermanentAdd1;\r\n vm.permanent_address_line2 = userData.PermanentAdd2;\r\n vm.permanent_city = userData.PermanentCity.toUpperCase();\r\n vm.permanent_state = userData.PermanentState;\r\n vm.permanent_pincode = userData.PermanentPinCode;\r\n vm.present_address_line1 = userData.CurrentAdd1;\r\n vm.present_address_line2 = userData.CurrentAdd2;\r\n vm.present_city = userData.CurrentCity.toUpperCase();\r\n vm.present_state = userData.CurrentState;\r\n vm.present_pincode = userData.CurrentPinCode;\r\n vm.skill = userData.SkillSet;\r\n vm.selectedSkills = userData.SkillSet;\r\n vm.productSkills = userData.SkillSet;\r\n vm.expertise = userData.Expertise;\r\n vm.Role = userData.Role;\r\n vm.GetReportingToUser(vm.Role);\r\n vm.brand = userData.BrandName;\r\n vm.companyname = userData.CompanyName;\r\n vm.workAreas = userData.TerritoryConfigurations;\r\n vm.ExperienceInYears = userData.ExperienceInYears;\r\n vm.ReportingTo = userData.ReportingTo;\r\n vm.GetAllAvailableSubRegion();\r\n vm.AadhaarNumber = userData.AadharNumber;\r\n vm.GSTNumber = userData.GSTNumber;\r\n vm.TANNumber = userData.TANNumber;\r\n vm.PANNumber = userData.PANNumber;\r\n vm.selectedCategory = userData.ServiceCentreType;\r\n vm.CustomUserId = userData.CustomUserId;\r\n // vm.strListRegion = userData.strListRegion;\r\n if(userData.strListSubRegion){\r\n vm.strListSubRegion = userData.strListSubRegion[0];\r\n }\r\n vm.dMSLQuantityAmount = userData.dMSLQuantityAmount;\r\n vm.dSecurityAmount = userData.dSecurityAmount;\r\n vm.AadhaarFileName = userData.AadharDoc;\r\n vm.CancelledChequeFileName = userData.CancelCheque;\r\n vm.ApplicationFormFileName = userData.ApplicationForm;\r\n vm.GSTNumberFileName = userData.GSTCertificate;\r\n vm.PanCardFileName = userData.PANDoc;\r\n vm.PayoutStructureFileName = userData.PayoutStructure;\r\n vm.ShopLicenseFileName = userData.ShopLicense;\r\n vm.TanNumberFileName = userData.TANCertificate;\r\n vm.imageServices(userData.Picture);\r\n vm.aadhaarImageServices(userData.AadharDoc);\r\n vm.cancelledImageServices(userData.CancelCheque);\r\n vm.applicationformImageServices(userData.ApplicationForm);\r\n vm.gstImageServices(userData.GSTCertificate);\r\n vm.panCardImageServices(userData.PANDoc);\r\n vm.payoutImageServices(userData.PayoutStructure);\r\n vm.ShopLicenseImageServices(userData.ShopLicense);\r\n vm.tanNoImageServices(userData.TANCertificate);\r\n if (vm.EnableRegion) {\r\n vm.MainRegion = userData.Region;\r\n \r\n //GetSubRegionList\r\n vm.selectSubRegion(vm.MainRegion);\r\n vm.Region = userData.SubRegion;\r\n vm.selectCitySubRegion(vm.Region);\r\n vm.SubCity = userData.Locations;\r\n }else{\r\n vm.workArea = userData.Locations;\r\n }\r\n \r\n //Get Id of state by its name \r\n for (var i = 0; i < vm.stateList.length; i++) {\r\n if (vm.stateList[i] == vm.permanent_state) {\r\n vm.permanent_state = vm.stateList[i];\r\n vm.selectState(vm.permanent_state);\r\n }\r\n if (vm.stateList[i] == vm.present_state) {\r\n vm.present_state = vm.stateList[i];\r\n vm.selectStateforPresent(vm.present_state);\r\n }\r\n }\r\n \r\n ///Get the workArea badges in edit mode \r\n var circleArray = [];\r\n if(vm.workArea){\r\n for (var pin = 0; pin < vm.workArea.length; pin++) {\r\n circleArray.push({\r\n workArea: vm.workArea\r\n });\r\n }\r\n }\r\n \r\n \r\n ///Check Present address is same as the Permanent Address.\r\n if ((vm.permanent_address_line1 == vm.present_address_line1) && (vm.permanent_address_line2 == vm.present_address_line2) && (vm.permanent_city == vm.present_city) &&\r\n (vm.permanent_state == vm.present_state) && (vm.permanent_pincode == vm.present_pincode)) {\r\n vm.address_option = 'Yes';\r\n } else {\r\n vm.address_option = 'No';\r\n }\r\n }, function () {\r\n \r\n });\r\n }\r\n else{\r\n TeamProfileService.getUserInfo(userId_ForUpdate, loggedinUser, token).then(function (resp) {\r\n var userData = resp.data;\r\n vm.username = userData.FirstName;\r\n vm.gender = 'Male';\r\n vm.email = userData.PersonalEmail;\r\n vm.phone_number = parseInt(userData.ContactNumber);\r\n vm.last_name = userData.LastName;\r\n vm.birth_date = moment(userData.DOB);\r\n vm.father_name = userData.FatherName;\r\n vm.alternate_number = parseInt(userData.AlternativeContactNumber);\r\n vm.specialist = userData.Specialist; \r\n //vm.workArea = userData.Locations;\r\n vm.warehouseToBeAllocated = userData.WareHouseId; \r\n vm.Rating = userData.Rating;\r\n vm.AadhaarNumber = userData.AadharNumber;\r\n vm.GSTNumber = userData.GSTNumber;\r\n vm.TANNumber = userData.TANNumber;\r\n vm.PANNumber = userData.PANNumber;\r\n vm.dMSLQuantityAmount = userData.dMSLQuantityAmount;\r\n vm.dSecurityAmount = userData.dSecurityAmount;\r\n vm.ReportingTo = userData.ReportingTo;\r\n vm.selectedCategory = userData.ServiceCentreType;\r\n vm.CustomUserId = userData.CustomUserId;\r\n // vm.strListRegion = userData.strListRegion;\r\n vm.GetAllAvailableSubRegion();\r\n if(userData.strListSubRegion){\r\n vm.strListSubRegion = userData.strListSubRegion[0];\r\n }\r\n vm.AadhaarFileName = userData.AadharDoc;\r\n vm.CancelledChequeFileName = userData.CancelCheque;\r\n vm.ApplicationFormFileName = userData.ApplicationForm;\r\n vm.GSTNumberFileName = userData.GSTCertificate;\r\n vm.PanCardFileName = userData.PANDoc;\r\n vm.PayoutStructureFileName = userData.PayoutStructure;\r\n vm.ShopLicenseFileName = userData.ShopLicense;\r\n vm.TanNumberFileName = userData.TANCertificate;\r\n vm.ExperienceInYears = userData.ExperienceInYears;\r\n vm.company = userData.CompanyName;\r\n vm.userId = userData.UserId;\r\n vm.permanent_address_line1 = userData.PermanentAdd1;\r\n vm.permanent_address_line2 = userData.PermanentAdd2;\r\n vm.permanent_city = userData.PermanentCity.toUpperCase();\r\n vm.permanent_state = userData.PermanentState;\r\n vm.permanent_pincode = userData.PermanentPinCode;\r\n vm.present_address_line1 = userData.CurrentAdd1;\r\n vm.present_address_line2 = userData.CurrentAdd2;\r\n vm.present_city = userData.CurrentCity.toUpperCase();\r\n vm.present_state = userData.CurrentState;\r\n vm.present_pincode = userData.CurrentPinCode;\r\n vm.skill = userData.SkillSet;\r\n vm.selectedSkills = userData.SkillSet;\r\n vm.productSkills = userData.SkillSet;\r\n vm.expertise = userData.Expertise;\r\n vm.brand = userData.BrandName;\r\n vm.companyname = userData.CompanyName;\r\n vm.Role = userData.Role;\r\n vm.GetReportingToUser(vm.Role);\r\n vm.profilePic = userData.Picture;\r\n if (vm.EnableRegion) {\r\n vm.MainRegion = userData.Region;\r\n \r\n //GetSubRegionList\r\n vm.selectSubRegion(vm.MainRegion);\r\n vm.Region = userData.SubRegion;\r\n vm.selectCitySubRegion(vm.Region);\r\n vm.SubCity = userData.Locations;\r\n }else{\r\n vm.workArea = userData.Locations;\r\n }\r\n \r\n //Get Id of state by its name \r\n for (var i = 0; i < vm.stateList.length; i++) {\r\n if (vm.stateList[i] == vm.permanent_state) {\r\n vm.permanent_state = vm.stateList[i];\r\n vm.selectState(vm.permanent_state);\r\n }\r\n if (vm.stateList[i] == vm.present_state) {\r\n vm.present_state = vm.stateList[i];\r\n vm.selectStateforPresent(vm.present_state);\r\n }\r\n }\r\n \r\n ///Get the workArea badges in edit mode \r\n var circleArray = [];\r\n for (var pin = 0; pin < vm.workArea.length; pin++) {\r\n circleArray.push({\r\n workArea: vm.workArea\r\n });\r\n }\r\n \r\n ///Check Present address is same as the Permanent Address.\r\n if ((vm.permanent_address_line1 == vm.present_address_line1) && (vm.permanent_address_line2 == vm.present_address_line2) && (vm.permanent_city == vm.present_city) &&\r\n (vm.permanent_state == vm.present_state) && (vm.permanent_pincode == vm.present_pincode)) {\r\n vm.address_option = 'Yes';\r\n } else {\r\n vm.address_option = 'No';\r\n }\r\n }, function () {\r\n \r\n });\r\n }\r\n \r\n\r\n\r\n }\r\n \r\n }\r\n } \r\n })\r\n \r\n }\r\n\r\n vm.getAllState();\r\n \r\n // vm.getCountry();\r\n\r\n $scope.modelOptions = {\r\n getterSetter: true\r\n };\r\n\r\n\r\n\r\n vm.getProfilePic = function(pic){\r\n return ImageUrl+\"/\"+vm.profilePic;\r\n }\r\n\r\n vm.changeFile = function(selector){\r\n angular.element(selector).trigger(\"click\");\r\n }\r\n\r\n $scope.uploadImageFile = function(files){\r\n var file = files.files[0];\r\n\r\n var rendomnumber = Math.floor(1000 + Math.random() * 9999);\r\n filename = loggedinUser+\"_ProfilePic_\" + rendomnumber +\".\"+ file.name.split(\".\")[1];\r\n var file = new File([file], filename, {type:file.type});\r\n\r\n if(file.type.indexOf(\"image/jpg\")>=0 || file.type.indexOf(\"image/png\")>=0 \r\n || file.type.indexOf(\"image/bmp\")>=0 || file.type.indexOf(\"image/jpeg\")>=0){\r\n var data = new FormData();\r\n data.append(\"files\", file);\r\n ServiceCenter_FormcreationService.uploadProfilePic(loggedinUser, data, token, function(res){\r\n if(res && res.status==201 && res.data){\r\n vm.profilePic = filename;\r\n vm.imageServices(filename);\r\n }\r\n }, function(err){\r\n vm.showFailure(\"Failed\", err.data);\r\n });\r\n } else {\r\n vm.fileUploadError = \"Please upload image only as profile picture.\";\r\n }\r\n }\r\n vm.imageServices = function (img) {\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n if (resp.data == null || resp.data == '') {\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n }\r\n else {\r\n vm.profileImg = resp.data;\r\n }\r\n }, function () {\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n });\r\n }\r\n vm.imageServices();\r\n\r\n vm.aadhaarImageServices = function (img) {\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n if (resp.data == null || resp.data == '') {\r\n vm.adhaarImg = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else {\r\n vm.adhaarImg = resp.data;\r\n }\r\n }, function () {\r\n vm.adhaarImg = 'assets/images/patterns/image_placeholder.png';\r\n });\r\n }\r\n\r\n vm.cancelledImageServices = function (img) {\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n if (resp.data == null || resp.data == '') {\r\n vm.cancelledChequeImg = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else {\r\n vm.cancelledChequeImg = resp.data;\r\n }\r\n }, function () {\r\n vm.cancelledChequeImg = 'assets/images/patterns/image_placeholder.png';\r\n });\r\n }\r\n\r\n vm.applicationformImageServices = function (img) {\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n if (resp.data == null || resp.data == '') {\r\n vm.applicationFormImg = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else {\r\n vm.applicationFormImg = resp.data;\r\n }\r\n }, function () {\r\n vm.applicationFormImg = 'assets/images/patterns/image_placeholder.png';\r\n });\r\n }\r\n\r\n vm.gstImageServices = function (img) {\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n if (resp.data == null || resp.data == '') {\r\n vm.GSTImg = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else {\r\n vm.GSTImg = resp.data;\r\n }\r\n }, function () {\r\n vm.GSTImg = 'assets/images/patterns/image_placeholder.png';\r\n });\r\n }\r\n\r\n vm.panCardImageServices = function (img) {\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n if (resp.data == null || resp.data == '') {\r\n vm.panCardImg = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else {\r\n vm.panCardImg = resp.data;\r\n }\r\n }, function () {\r\n vm.panCardImg = 'assets/images/patterns/image_placeholder.png';\r\n });\r\n }\r\n\r\n vm.payoutImageServices = function (img) {\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n if (resp.data == null || resp.data == '') {\r\n vm.payoutImg = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else {\r\n vm.payoutImg = resp.data;\r\n }\r\n }, function () {\r\n vm.payoutImg = 'assets/images/patterns/image_placeholder.png';\r\n });\r\n }\r\n\r\n vm.ShopLicenseImageServices = function (img) {\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n if (resp.data == null || resp.data == '') {\r\n vm.licenseImg = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else {\r\n vm.licenseImg = resp.data;\r\n }\r\n }, function () {\r\n vm.licenseImg = 'assets/images/patterns/image_placeholder.png';\r\n });\r\n }\r\n\r\n vm.tanNoImageServices = function (img) {\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n if (resp.data == null || resp.data == '') {\r\n vm.tanNoImg = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else {\r\n vm.tanNoImg = resp.data;\r\n }\r\n }, function () {\r\n vm.tanNoImg = 'assets/images/patterns/image_placeholder.png';\r\n });\r\n }\r\n\r\n\r\n\r\n vm.clear = function () {\r\n angular.element(\"input[type='file']\").val(null);\r\n }; \r\n\r\n\r\n $scope.checkPDF = function (path) {\r\n if (path) {\r\n var pt = path.substr(path.length - 4);\r\n if (pt == '.pdf') {\r\n vm.error = function () {\r\n $(\".pdf\").attr({ \"target\": \"_blank\" })\r\n }\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n }\r\n vm.PDFView = function (page) {\r\n MainService.GetImageBlob(loggedinUser, token, page).then(function(resp) {\r\n \r\n vm.pdfimage = resp.data;\r\n });\r\n $scope.selected = null;\r\n $timeout(function(){\r\n jobAppointmentModal = $uibModal.open({\r\n templateUrl: 'PDFView.html',\r\n size :'lg',\r\n scope: $scope\r\n });\r\n },1000)\r\n \r\n }\r\n vm.PDFUserModal = function(){\r\n jobAppointmentModal.close();\r\n }\r\n\r\n\r\n vm.ApplicationFormFileDoc = [];\r\n vm.AadhaarFileDoc = [];\r\n vm.PanCardFileDoc = [];\r\n vm.GSTNumberFileDoc = [];\r\n vm.TanNumberFileDoc = [];\r\n vm.PayoutStructureFileDoc = [];\r\n vm.CancelledChequeFileDoc = [];\r\n vm.ShopLicenseFileDoc = [];\r\n\r\n $scope.attachAadhaarDoc = function(files){ \r\n vm.AadhaarFileName = \"\";\r\n var file = files.files[0];\r\n vm.AadhaarFileName = file.name; \r\n vm.AadhaarFileDoc = files.files;\r\n $scope.adhaarUploadError =false;\r\n var allowedExtensions = /(\\.pdf|\\.PDF|\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png)$/i; \r\n if(!allowedExtensions.exec(file.name)){\r\n vm.AadhaarFileDoc = [];\r\n angular.element(\"input[name='AadhaarDoc']\").val(null);\r\n vm.AadhaarFileName = \"\"; \r\n $scope.adhaarUploadError = true; \r\n alert('Please upload file having extensions .pdf,.jpg,.jpeg,.png only.');\r\n }\r\n }\r\n\r\n vm.PanDocument = \"\";\r\n\r\n $scope.attachPanCardDoc = function(files){ \r\n vm.PanCardFileName = \"\";\r\n var file = files.files[0];\r\n vm.PanCardFileName = file.name; \r\n vm.PanCardFileDoc = files.files;\r\n $scope.panUploadError = false;\r\n var allowedExtensions = /(\\.pdf|\\.PDF|\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png)$/i; \r\n if(!allowedExtensions.exec(file.name)){\r\n vm.PanCardFileDoc = [];\r\n angular.element(\"input[name='PanDocument']\").val(null);\r\n vm.PanCardFileName = \"\"; \r\n $scope.panUploadError = true; \r\n alert('Please upload file having extensions .pdf,.jpg,.jpeg,.png only.');\r\n }\r\n }\r\n\r\n $scope.attachGSTNumberDoc = function(files){ \r\n vm.GSTNumberFileName = \"\";\r\n var file = files.files[0];\r\n vm.GSTNumberFileName = file.name; \r\n vm.GSTNumberFileDoc = files.files;\r\n // $scope.gstUploadError = false;\r\n var allowedExtensions = /(\\.pdf|\\.PDF|\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png)$/i; \r\n if(!allowedExtensions.exec(file.name)){\r\n vm.GSTNumberFileDoc = [];\r\n angular.element(\"input[name='GstDocument']\").val(null);\r\n vm.GSTNumberFileName = \"\"; \r\n // $scope.gstUploadError = true; \r\n alert('Please upload file having extensions .pdf,.jpg,.jpeg,.png only.');\r\n }\r\n }\r\n\r\n $scope.attachTanNumberDoc = function(files){ \r\n vm.TanNumberFileName = \"\";\r\n var file = files.files[0];\r\n vm.TanNumberFileName = file.name; \r\n vm.TanNumberFileDoc = files.files;\r\n var allowedExtensions = /(\\.pdf|\\.PDF|\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png)$/i; \r\n if(!allowedExtensions.exec(file.name)){\r\n vm.TanNumberFileDoc = [];\r\n angular.element(\"input[name='TanDocument']\").val(null);\r\n vm.TanNumberFileName = \"\"; \r\n alert('Please upload file having extensions .pdf,.jpg,.jpeg,.png only.');\r\n }\r\n }\r\n\r\n $scope.attachApplicationFormDoc = function(files){ \r\n vm.ApplicationFormFileName = \"\";\r\n var file = files.files[0];\r\n vm.ApplicationFormFileName = file.name; \r\n vm.ApplicationFormFileDoc = files.files;\r\n $scope.applicationFormUploadError = false;\r\n var allowedExtensions = /(\\.pdf|\\.PDF|\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png)$/i; \r\n if(!allowedExtensions.exec(file.name)){\r\n vm.ApplicationFormFileDoc = [];\r\n angular.element(\"input[name='ApplicationForm']\").val(null);\r\n vm.ApplicationFormFileName = \"\"; \r\n $scope.applicationFormUploadError = true; \r\n alert('Please upload file having extensions .pdf,.jpg,.jpeg,.png only.');\r\n }\r\n}\r\n\r\n\r\n$scope.attachPayoutStructureDoc = function(files){ \r\n vm.PayoutStructureFileName = \"\";\r\n var file = files.files[0];\r\n vm.PayoutStructureFileName = file.name; \r\n vm.PayoutStructureFileDoc = files.files;\r\n $scope.payoutUploadError = false;\r\n var allowedExtensions = /(\\.pdf|\\.PDF|\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png)$/i; \r\n if(!allowedExtensions.exec(file.name)){\r\n vm.PayoutStructureFileDoc = [];\r\n angular.element(\"input[name='payoutstructure']\").val(null);\r\n vm.PayoutStructureFileName = \"\";\r\n $scope.payoutUploadError = true;\r\n alert('Please upload file having extensions .pdf,.jpg,.jpeg,.png only.');\r\n }\r\n}\r\n\r\n\r\n$scope.attachShopLicenseDoc = function(files){ \r\n vm.ShopLicenseFileName = \"\";\r\n var file = files.files[0];\r\n vm.ShopLicenseFileName = file.name; \r\n vm.ShopLicenseFileDoc = files.files;\r\n var allowedExtensions = /(\\.pdf|\\.PDF|\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png)$/i; \r\n if(!allowedExtensions.exec(file.name)){\r\n vm.ShopLicenseFileDoc = [];\r\n angular.element(\"input[name='shoplicence']\").val(null);\r\n vm.ShopLicenseFileName = \"\"; \r\n alert('Please upload file having extensions .pdf,.jpg,.jpeg,.png only.');\r\n }\r\n}\r\n\r\n$scope.attachCancelledChequeDoc = function(files){ \r\n vm.CancelledChequeFileName = \"\";\r\n var file = files.files[0];\r\n vm.CancelledChequeFileName = file.name; \r\n vm.CancelledChequeFileDoc = files.files;\r\n var allowedExtensions = /(\\.pdf|\\.PDF|\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png)$/i; \r\n if(!allowedExtensions.exec(file.name)){\r\n vm.CancelledChequeFileDoc = [];\r\n angular.element(\"input[name='CancelCheque']\").val(null);\r\n vm.CancelledChequeFileName = \"\"; \r\n alert('Please upload file having extensions .pdf,.jpg,.jpeg,.png only.');\r\n }\r\n}\r\n\r\n\r\nvm.OpenPincodeUploadModel = function () {\r\n vm.PincodeModal = $uibModal.open({\r\n templateUrl: 'PinCodeUpload.html',\r\n backdrop: 'static',\r\n size: 'md',\r\n scope: $scope\r\n });\r\n}\r\n\r\nvm.closeReadyToRaiseModal = function () {\r\n vm.showPassed = false;\r\n vm.showErrors = false;\r\n vm.errorList = [];\r\n vm.PincodeModal.close();\r\n \r\n}\r\n\r\nvm.dzOptions = {\r\n paramName: 'photo',\r\n maxFilesize: '100',\r\n url: '/',\r\n acceptedFiles: '.xlsx, .xls',\r\n dictDefaultMessage: 'Click to add or drop files',\r\n dictRemoveFile: 'Remove'\r\n};\r\n\r\n vm.dtOptions = DTOptionsBuilder.newOptions().withDOM('<\"html5buttons\"B>lTfgitp')\r\n.withPaginationType('full_numbers')\r\n.withButtons([])\r\n.withDisplayLength(5).withOption('lengthMenu', [5, 10, 15, 20])\r\n.withOption('order', []);\r\n\r\nvm.dtColumnDefs = [\r\nDTColumnDefBuilder.newColumnDef(0).notSortable(),\r\nDTColumnDefBuilder.newColumnDef(1).notSortable(),\r\nDTColumnDefBuilder.newColumnDef(2).notSortable()\r\n];\r\n\r\nvm.loaderFlag = false;\r\nvm.hideLoader = function () {\r\n if (vm.loaderFlag) {\r\n $rootScope.$broadcast(\"loader_hide\");\r\n $timeout(function () { vm.loaderFlag = false; }, 1000);\r\n $timeout(vm.hideLoader, 1);\r\n }\r\n}\r\n\r\nvm.scrollDwn = function () {\r\n $(\"html, body\").animate({ scrollTop: $(document).height() - $(window).height() }, 900);\r\n}\r\n\r\nvm.dzCallbacks = {\r\n 'addedfile': function (file) {\r\n vm.showErrors = false;\r\n vm.errorList = [];\r\n vm.disableUploadButton = true;\r\n $(\"#dropzone1 .dz-progress .dz-upload\").hide();\r\n $(\".bulkupload-progress\").width(0);\r\n $(\".ajax-loader\").hide();\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n vm.showSuccess = false;\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noOfRecords = 0;\r\n\r\n var dropzoneChildren = $(\"#dropzone1\").children();\r\n $(\"#dropzone1\").empty();\r\n $(\"#dropzone1\").append(dropzoneChildren[0]);\r\n $(\"#dropzone1\").append(dropzoneChildren[dropzoneChildren.length - 1]);\r\n\r\n vm.loaderFlag = true;\r\n vm.hideLoader();\r\n vm.file = file;\r\n\r\n var fd = new FormData();\r\n fd.append('file', file);\r\n var url = verifyBulkPost.replace(\"{userId}\", loggedinUser);\r\n $http.post(url, fd, {\r\n transformRequest: angular.identity,\r\n headers: { 'Content-Type': undefined, \"Token\":token,'UserId': loggedinUser },\r\n timeout: vm.canceler.promise\r\n })\r\n .success(function (data) {\r\n vm.BulkPincodes = data.PincodeModel;\r\n if(data.Errors.length > 0)\r\n { debugger\r\n vm.Errors = data.Errors;\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable()\r\n ];\r\n angular.forEach(data.Errors, function (v, k) {\r\n\r\n if (v.ItemErrors.length > 0) {\r\n var e1 = {};\r\n angular.forEach(v.ItemErrors, function (v1, k1) {\r\n e1.message = e1.message != undefined && e1.message != \"undefined\" && e1.message.length > 0 ? e1.message + \",\" + v1.Message : v1.Message;\r\n });\r\n if (v.Row > 0 && data.PincodeModel && data.PincodeModel.length > 0 && data.PincodeModel.length >= v.Row) {\r\n e1.data = data.PincodeModel[v.Row - 1];\r\n }\r\n vm.errorList.push(e1);\r\n }\r\n });\r\n vm.showPassed = true;\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Invalid records!\";\r\n vm.successMsg = \"There are \" + data.Errors.length + \" errors.\";\r\n vm.showErrors = true;\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n }\r\n else\r\n {\r\n vm.showPassed = true;\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = false;\r\n if (data.Message && data.Message == \"File name is invalid\") {\r\n vm.successTitle = \"Error!\";\r\n vm.successMsg = data.Message + \" File name should be 'PinCode'.\";\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n } else {\r\n vm.successTitle = \"Validation completed\";\r\n vm.successMsg = \"Pincodes data validated successfully. Total \" + vm.BulkPincodes.length + \" pincodes found. Please click on Upload button to proceed.\";\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n }\r\n }\r\n })\r\n .error(function (errorMessage) {\r\n $scope.$parent.$parent.main.showFailure(\"Failed\", \"Unable to upload document, technical error. Please contact to administrator\");\r\n });\r\n },\r\n 'success': function (file, xhr) {\r\n },\r\n 'error': function (file, errorMessage) {\r\n }\r\n};\r\n\r\nvm.uploadFile = function () {\r\n\r\n if (vm.BulkPincodes && vm.BulkPincodes.length > 0) {\r\n vm.BulkPincodesUpload = [];\r\n angular.forEach(vm.BulkPincodes, function(pin) {\r\n vm.BulkPincodesUpload.push(pin.Pincode);\r\n });\r\n vm.BulkPincodesUpload = removeDuplicates(vm.BulkPincodesUpload);\r\n vm.disableUploadButton = true;\r\n vm.progressbar.reset();\r\n \r\n vm.closeReadyToRaiseModal();\r\n\r\n if (vm.workArea && vm.workArea.length > 0) {\r\n angular.forEach(vm.BulkPincodesUpload, function(pin) {\r\n if (vm.workArea.indexOf(pin) === -1) {\r\n vm.workArea.push(pin);\r\n }\r\n });\r\n }\r\n else {\r\n vm.workArea = vm.BulkPincodesUpload;\r\n }\r\n } \r\n}\r\n\r\nfunction removeDuplicates(array) {\r\n var uniqueArray = [];\r\n angular.forEach(array, function(item) {\r\n if (uniqueArray.indexOf(item) === -1) {\r\n uniqueArray.push(item);\r\n }\r\n });\r\n return uniqueArray;\r\n}\r\n\r\n\r\n ///Saving User function \r\n vm.saveUser = function () {\r\n\r\n if (!vm.PanCardFileName) {\r\n $scope.panUploadError = true;\r\n }\r\n \r\n if (!vm.AadhaarFileName) {\r\n $scope.adhaarUploadError = true;\r\n }\r\n\r\n // if (!vm.GSTNumberFileName) {\r\n // $scope.gstUploadError = true;\r\n // }\r\n\r\n if (!vm.PayoutStructureFileName) {\r\n $scope.payoutUploadError = true;\r\n }\r\n\r\n if (!vm.ApplicationFormFileName) {\r\n $scope.applicationFormUploadError = true;\r\n }\r\n\r\n\r\n vm.isDisabled = true;\r\n if (vm.signup_form.$valid && !$scope.panUploadError && !$scope.adhaarUploadError && !$scope.applicationFormUploadError && !$scope.payoutUploadError ) {\r\n if (vm.address_option == 'Yes') {\r\n vm.present_address_line1 = vm.permanent_address_line1;\r\n vm.present_address_line2 = vm.permanent_address_line2;\r\n vm.present_state = vm.permanent_state;\r\n vm.present_city = vm.permanent_city;\r\n vm.present_pincode = vm.permanent_pincode;\r\n }\r\n \r\n var workArea = '';\r\n var skill = '';\r\n if((vm.loggedinUserRole != \"Dispatch Manager\") && (vm.loggedinUserRole != \"OnBoarding Manager\") && (vm.loggedinUserRole != \"Dispatch Team Lead\")&& (vm.loggedinUserRole != \"OnBoarding Team Lead\") && (vm.loggedinUserRole != \"Dispatch Supervisor\")){ \r\n workArea = vm.workArea;\r\n skill = vm.selectedSkills;\r\n } \r\n \r\n if(vm.strListSubRegion){\r\n if(vm.strListSubRegion.length > 0){\r\n vm.strListSubRegion = [vm.strListSubRegion];\r\n }\r\n }\r\n if(vm.GSTNumber){\r\n vm.GSTNumber = vm.GSTNumber.toUpperCase()\r\n }\r\n if(vm.TANNumber){\r\n vm.TANNumber = vm.TANNumber.toUpperCase();\r\n }\r\n if(vm.PANNumber){\r\n vm.PANNumber = vm.PANNumber.toUpperCase();\r\n }\r\n\r\n ///model to send for creating user \r\n var userFormData = { \r\n \"userid\": vm.userId,\r\n \"firstname\": vm.username,\r\n \"lastname\": vm.last_name,\r\n \"gender\": 'Male',\r\n \"dob\": moment(vm.birth_date, 'DD/MM/YYYY').format('YYYY-MM-DDTHH:mm:ss.SSSZ'), \r\n \"personalemail\": vm.email,\r\n \"ContactNumber\": vm.phone_number,\r\n \"AlternativeContactNumber\": vm.alternate_number,\r\n \"Locations\": workArea,\r\n \"PermanentAdd1\": vm.permanent_address_line1,\r\n \"PermanentAdd2\": vm.permanent_address_line2,\r\n \"PermanentState\": vm.permanent_state,\r\n \"PermanentCity\": vm.permanent_city,\r\n \"PermanentPincode\": vm.permanent_pincode,\r\n \"CurrentAdd1\": vm.present_address_line1,\r\n \"CurrentAdd2\": vm.present_address_line2,\r\n \"CurrentState\": vm.present_state,\r\n \"CurrentCity\": vm.present_city,\r\n \"CurrentPincode\": vm.present_pincode,\r\n \"SkillSet\": skill,\r\n \"Expertise\": vm.expertise,\r\n \"ReportingTo\": '',\r\n \"Role\": 'Service Center',\r\n \"Picture\":vm.profilePic,\r\n \"TerritoryConfigurations\":vm.workAreas,\r\n \"Specialist\":vm.specialist,\r\n \"WareHouseId\":vm.warehouseToBeAllocated,\r\n \"CompanyName\":vm.companyname,\r\n \"BrandName\": vm.brand,\r\n \"AadharNumber\":vm.AadhaarNumber,\r\n \"ExperienceInYears\":vm.ExperienceInYears,\r\n \"Rating\":vm.Rating,\r\n \"GSTNumber\":vm.GSTNumber,\r\n \"TANNumber\":vm.TANNumber,\r\n \"PANNumber\":vm.PANNumber,\r\n \"ApplicationForm\": vm.ApplicationFormFileName,\r\n \"PayoutStructure\":vm.PayoutStructureFileName,\r\n \"GSTCertificate\":vm.GSTNumberFileName,\r\n \"AadharDoc\":vm.AadhaarFileName,\r\n \"PANDoc\":vm.PanCardFileName,\r\n \"CancelCheque\":vm.CancelledChequeFileName,\r\n \"TANCertificate\":vm.TanNumberFileName,\r\n \"ShopLicense\":vm.ShopLicenseFileName,\r\n \"dSecurityAmount\":vm.dSecurityAmount,\r\n \"dMSLQuantityAmount\":vm.dMSLQuantityAmount,\r\n \"strListRegion\": [],\r\n \"strListSubRegion\": vm.strListSubRegion,\r\n \"ServiceCentreType\" : vm.selectedCategory,\r\n \"CustomUserId\" : vm.CustomUserId\r\n\r\n }\r\n if (vm.EnableRegion) {\r\n userFormData.Region = vm.MainRegion;\r\n \r\n var workArea = '';\r\n for (var index = 0; index < vm.SubCity.length; index++) {\r\n if (index == (vm.SubCity.length - 1)) {\r\n workArea = workArea + vm.SubCity[index];\r\n continue;\r\n }\r\n workArea = workArea + vm.SubCity[index] + ',';\r\n }\r\n userFormData.Locations = workArea;\r\n userFormData.SubRegion = vm.Region;\r\n }\r\n\r\n userFormData.ReportingTo = vm.ReportingTo;\r\n userFormData.Role = vm.Role;\r\n\r\n \r\n\r\n if((vm.email==null || vm.email=='') && (vm.phone_number==null || vm.phone_number=='')){\r\n vm.showFailure(\"Failed\", \"Please provide email id or mobile number\");\r\n vm.isDisabled = false;\r\n } else{\r\n // Submit as normal\r\n if (vm.editMode) {\r\n ServiceCenter_FormcreationService.UpdateServiceCenterDetailsDoc(userFormData,vm.ApplicationFormFileDoc,vm.PayoutStructureFileDoc,vm.GSTNumberFileDoc,vm.AadhaarFileDoc,vm.PanCardFileDoc,vm.CancelledChequeFileDoc,vm.TanNumberFileDoc,vm.ShopLicenseFileDoc,loggedinUser, token,vm.userId).then(function (resp) {\r\n if (resp.status == 201) {\r\n vm.showSuccess(\"Success\", \"User Updated Successfully\");\r\n vm.isDisabled = false;\r\n $scope.panUploadError = \"\";\r\n $scope.adhaarUploadError = \"\";\r\n $scope.gstUploadError = \"\";\r\n $timeout(function () {\r\n $state.go('index.ServiceCenterList', {\r\n reload: true\r\n });\r\n }, 3000);\r\n }\r\n else{\r\n vm.isDisabled = false;\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }\r\n \r\n }, function () {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"Failed\", \"Unable to update user\");\r\n })\r\n } else {\r\n userFormData.UserId = '';\r\n ServiceCenter_FormcreationService.UpdateServiceCenterDetailsDoc(userFormData,vm.ApplicationFormFileDoc,vm.PayoutStructureFileDoc,vm.GSTNumberFileDoc,vm.AadhaarFileDoc,vm.PanCardFileDoc,vm.CancelledChequeFileDoc,vm.TanNumberFileDoc,vm.ShopLicenseFileDoc,loggedinUser, token,vm.userId).then(function (resp) {\r\n if (resp.status == 201) {\r\n vm.showSuccess(\"User Creation Status\", \"Service center created successfully.\");\r\n $timeout(function () {\r\n vm.isDisabled = false;\r\n clearFormFields();\r\n $state.go('index.ServiceCenterList', {\r\n reload: true\r\n });\r\n }, 2000);\r\n } else if (resp.data.ErrorCode == 104) {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"User Creation Status\", \"User already exist\");\r\n } else if(resp.data && resp.data.Message) {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"User Creation Status\", resp.data.Message);\r\n } else {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"User Creation Status\", \"Unable to create user, server is not responding correctly.\");\r\n }\r\n vm.isDisabled = false;\r\n }, function (error) {\r\n vm.isDisabled = false;\r\n if (error.data.ErrorCode == 104) {\r\n vm.showFailure(\"User Creation Status\", \"Unable to create user, server is not responding correctly.\");\r\n }\r\n else {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"User Creation Status\", \"Unable to create user, server is not responding correctly.\");\r\n }\r\n }\r\n );\r\n }\r\n }\r\n } else {\r\n vm.signup_form.submitted = true;\r\n vm.isDisabled = false;\r\n }\r\n }\r\n \r\n\r\n vm.saveUserclone = function () {\r\n vm.isDisabled = true;\r\n if (vm.signup_form.$valid ) {\r\n if (vm.address_option == 'Yes') {\r\n vm.present_address_line1 = vm.permanent_address_line1;\r\n vm.present_address_line2 = vm.permanent_address_line2;\r\n vm.present_state = vm.permanent_state;\r\n vm.present_city = vm.permanent_city;\r\n vm.present_pincode = vm.permanent_pincode;\r\n }\r\n \r\n var workArea = '';\r\n var skill = '';\r\n if((vm.loggedinUserRole != \"Dispatch Manager\") && (vm.loggedinUserRole != \"OnBoarding Manager\") && (vm.loggedinUserRole != \"Dispatch Team Lead\")&& (vm.loggedinUserRole != \"OnBoarding Team Lead\") && (vm.loggedinUserRole != \"Dispatch Supervisor\")){ \r\n workArea = vm.workArea;\r\n skill = vm.selectedSkills;\r\n } \r\n \r\n if(vm.strListSubRegion){\r\n if(vm.strListSubRegion.length > 0){\r\n vm.strListSubRegion = [vm.strListSubRegion];\r\n }\r\n }\r\n if(vm.GSTNumber){\r\n vm.GSTNumber = vm.GSTNumber.toUpperCase()\r\n }\r\n if(vm.TANNumber){\r\n vm.TANNumber = vm.TANNumber.toUpperCase();\r\n }\r\n if(vm.PANNumber){\r\n vm.PANNumber = vm.PANNumber.toUpperCase();\r\n }\r\n\r\n ///model to send for creating user \r\n var userFormData = { \r\n \"userid\": vm.userId,\r\n \"firstname\": vm.username,\r\n \"lastname\": vm.last_name,\r\n \"gender\": 'Male',\r\n \"dob\": moment(vm.birth_date, 'DD/MM/YYYY').format('YYYY-MM-DDTHH:mm:ss.SSSZ'), \r\n \"personalemail\": vm.email,\r\n \"ContactNumber\": vm.phone_number,\r\n \"AlternativeContactNumber\": vm.alternate_number,\r\n \"Locations\": workArea,\r\n \"PermanentAdd1\": vm.permanent_address_line1,\r\n \"PermanentAdd2\": vm.permanent_address_line2,\r\n \"PermanentState\": vm.permanent_state,\r\n \"PermanentCity\": vm.permanent_city,\r\n \"PermanentPincode\": vm.permanent_pincode,\r\n \"CurrentAdd1\": vm.present_address_line1,\r\n \"CurrentAdd2\": vm.present_address_line2,\r\n \"CurrentState\": vm.present_state,\r\n \"CurrentCity\": vm.present_city,\r\n \"CurrentPincode\": vm.present_pincode,\r\n \"SkillSet\": skill,\r\n \"Expertise\": vm.expertise,\r\n \"ReportingTo\": '',\r\n \"Role\": 'Service Center',\r\n \"Picture\":vm.profilePic,\r\n \"TerritoryConfigurations\":vm.workAreas,\r\n \"Specialist\":vm.specialist,\r\n \"WareHouseId\":vm.warehouseToBeAllocated,\r\n \"CompanyName\":vm.companyname,\r\n \"BrandName\": vm.brand,\r\n \"AadharNumber\":vm.AadhaarNumber,\r\n \"ExperienceInYears\":vm.ExperienceInYears,\r\n \"Rating\":vm.Rating,\r\n \"GSTNumber\":vm.GSTNumber,\r\n \"TANNumber\":vm.TANNumber,\r\n \"PANNumber\":vm.PANNumber,\r\n \"ApplicationForm\": vm.ApplicationFormFileName,\r\n \"PayoutStructure\":vm.PayoutStructureFileName,\r\n \"GSTCertificate\":vm.GSTNumberFileName,\r\n \"AadharDoc\":vm.AadhaarFileName,\r\n \"PANDoc\":vm.PanCardFileName,\r\n \"CancelCheque\":vm.CancelledChequeFileName,\r\n \"TANCertificate\":vm.TanNumberFileName,\r\n \"ShopLicense\":vm.ShopLicenseFileName,\r\n \"dSecurityAmount\":vm.dSecurityAmount,\r\n \"dMSLQuantityAmount\":vm.dMSLQuantityAmount,\r\n \"strListRegion\": [],\r\n \"strListSubRegion\": vm.strListSubRegion,\r\n \"ServiceCentreType\" : vm.selectedCategory,\r\n \"CustomUserId\" : vm.CustomUserId\r\n }\r\n if (vm.EnableRegion) {\r\n userFormData.Region = vm.MainRegion;\r\n \r\n var workArea = '';\r\n for (var index = 0; index < vm.SubCity.length; index++) {\r\n if (index == (vm.SubCity.length - 1)) {\r\n workArea = workArea + vm.SubCity[index];\r\n continue;\r\n }\r\n workArea = workArea + vm.SubCity[index] + ',';\r\n }\r\n userFormData.Locations = workArea;\r\n userFormData.SubRegion = vm.Region;\r\n }\r\n\r\n userFormData.ReportingTo = vm.ReportingTo;\r\n userFormData.Role = vm.Role;\r\n\r\n \r\n\r\n if((vm.email==null || vm.email=='') && (vm.phone_number==null || vm.phone_number=='')){\r\n vm.showFailure(\"Failed\", \"Please provide email id or mobile number\");\r\n vm.isDisabled = false;\r\n } else{\r\n // Submit as normal\r\n if (vm.editMode) {\r\n ServiceCenter_FormcreationService.UpdateServiceCenterDetailsDoc(userFormData,vm.ApplicationFormFileDoc,vm.PayoutStructureFileDoc,vm.GSTNumberFileDoc,vm.AadhaarFileDoc,vm.PanCardFileDoc,vm.CancelledChequeFileDoc,vm.TanNumberFileDoc,vm.ShopLicenseFileDoc,loggedinUser, token,vm.userId).then(function (resp) {\r\n if (resp.status == 201) {\r\n vm.showSuccess(\"Success\", \"User Updated Successfully\");\r\n vm.isDisabled = false;\r\n $scope.panUploadError = \"\";\r\n $scope.adhaarUploadError = \"\";\r\n $scope.gstUploadError = \"\";\r\n $timeout(function () {\r\n $state.go('index.ServiceCenterList', {\r\n reload: true\r\n });\r\n }, 2000);\r\n }\r\n else{\r\n vm.isDisabled = false;\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }\r\n \r\n }, function () {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"Failed\", \"Unable to update user\");\r\n })\r\n } else {\r\n userFormData.UserId = '';\r\n ServiceCenter_FormcreationService.UpdateServiceCenterDetailsDoc(userFormData,vm.ApplicationFormFileDoc,vm.PayoutStructureFileDoc,vm.GSTNumberFileDoc,vm.AadhaarFileDoc,vm.PanCardFileDoc,vm.CancelledChequeFileDoc,vm.TanNumberFileDoc,vm.ShopLicenseFileDoc,loggedinUser, token,vm.userId).then(function (resp) {\r\n if (resp.status == 201) {\r\n vm.showSuccess(\"User Creation Status\", \"Service center created successfully.\");\r\n $timeout(function () {\r\n vm.isDisabled = false;\r\n clearFormFields();\r\n $state.go('index.ServiceCenterList', {\r\n reload: true\r\n });\r\n }, 2000);\r\n } else if (resp.data.ErrorCode == 104) {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"User Creation Status\", \"User already exist\");\r\n } else if(resp.data && resp.data.Message) {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"User Creation Status\", resp.data.Message);\r\n } else {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"User Creation Status\", \"Unable to create user, server is not responding correctly.\");\r\n }\r\n vm.isDisabled = false;\r\n }, function (error) {\r\n vm.isDisabled = false;\r\n if (error.data.ErrorCode == 104) {\r\n vm.showFailure(\"User Creation Status\", \"Unable to create user, server is not responding correctly.\");\r\n }\r\n else {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"User Creation Status\", \"Unable to create user, server is not responding correctly.\");\r\n }\r\n }\r\n );\r\n }\r\n }\r\n } else {\r\n vm.signup_form.submitted = true;\r\n vm.isDisabled = false;\r\n }\r\n }\r\n\r\n function clearFormFields() {\r\n vm.username = '';\r\n vm.gender = 'Male';\r\n vm.address = '';\r\n vm.email = '';\r\n vm.phone_number = '';\r\n vm.last_name = '';\r\n vm.cores_address = '';\r\n vm.father_name = '';\r\n vm.alternate_number = '';\r\n vm.workArea = '';\r\n vm.city = '';\r\n vm.state = '';\r\n vm.skill = '';\r\n vm.selectedSkills = [];\r\n vm.expertise = '';\r\n vm.saveAndNewFlag = false;\r\n }\r\n\r\n var skillsArray = [];\r\n vm.getAllSkill = function () {\r\n ServiceCenter_FormcreationService.getAllSkills(loggedinUser, token).then(function (resp) {\r\n vm.skills = resp.data; \r\n for (var index = 0; index < vm.skills.length; index++) { \r\n skillsArray.push({\r\n skill: vm.skills.SkillName\r\n });\r\n }\r\n }); \r\n }\r\n vm.selectedProduct = \"\";\r\n vm.selectedSkills = [];\r\n vm.ProductsList = [];\r\n\r\n vm.GetAllProductNames = function () {\r\n ServiceCenter_FormcreationService.GetAllProductNames(loggedinUser, token).then(function (resp) {\r\n vm.ProductsList = resp.data;\r\n }); \r\n }\r\n\r\n vm.GetAllProductNames();\r\n\r\n vm.GetAllSkillsForProduct = function () {\r\n if (vm.selectedProduct && vm.selectedProduct.length > 0) {\r\n var selectedProductPipeSeparated = vm.selectedProduct.join('|');\r\n ServiceCenter_FormcreationService.GetAllSkillsForProduct(selectedProductPipeSeparated, loggedinUser, token).then(function (resp) {\r\n vm.productSkills = resp.data;\r\n \r\n // Merge selected skills with the new product skills\r\n var allSkills = vm.productSkills.concat(vm.selectedSkills.filter(function(skill) {\r\n return !vm.productSkills.includes(skill);\r\n }));\r\n\r\n vm.productSkills = allSkills;\r\n })\r\n } else {\r\n vm.productSkills = [];\r\n } \r\n }\r\n\r\n ///get all the circles through api\r\n function getAllCircles() {\r\n vm.circles = [];\r\n vm.CircleList=[];\r\n vm.MainRegionList = '';\r\n if (vm.EnableRegion) {\r\n ServiceCenter_FormcreationService.GetRegion(loggedinUser,token).then(function(resp){\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length>0) {\r\n vm.MainRegionList = resp.data;\r\n $log.log('RegionList',vm.RegionList)\r\n }\r\n }\r\n })\r\n }else if (vm.LocationMapping == 'Circle') {\r\n ServiceCenter_FormcreationService.GetTelecomCircle(loggedinUser,token).then(function(resp){\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.values.length>0) {\r\n vm.CircleList = resp.data.values;\r\n \r\n }\r\n }\r\n })\r\n }else{\r\n\r\n ServiceCenter_FormcreationService.getAllState(loggedinUser, token).then(function(resp){\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length>0) {\r\n vm.circles = resp.data;\r\n }\r\n }\r\n });\r\n }\r\n \r\n }\r\n\r\n ///Executes when the user select the state\r\n vm.selectState = function (state) {\r\n var Getstate = state;\r\n ServiceCenter_FormcreationService.getCities(loggedinUser,Getstate,token).then(function (resp) {\r\n vm.cityList = resp.data;\r\n if (!resp.data) {\r\n var cityArray = [];\r\n cityArray.push({\r\n city: state\r\n });\r\n vm.cityList = cityArray;\r\n }\r\n }, function () {\r\n\r\n });\r\n }\r\n\r\n vm.selectStateforPincode = function (state) {\r\n ServiceCenter_FormcreationService.getCities(loggedinUser,state,token).then(function (resp) {\r\n vm.cityListForPincode = resp.data;\r\n if (!resp.data) {\r\n var citypincodeArray = [];\r\n citypincodeArray.push({\r\n city: state\r\n });\r\n vm.cityListForPincode = citypincodeArray;\r\n }\r\n }, function () {\r\n\r\n });\r\n }\r\n \r\n vm.GetAllPinCodes = function () {\r\n ServiceCenter_FormcreationService.GetAllPinCodes(vm.mapstate, vm.mapcity,loggedinUser,token).then(function (resp) {\r\n vm.allPincodes = resp.data;\r\n if (resp.data) {\r\n var citypincodeArray = [];\r\n citypincodeArray.push({\r\n city: state\r\n });\r\n vm.cityListForPincode = citypincodeArray;\r\n }\r\n }, function () {\r\n \r\n });\r\n }\r\n\r\n vm.GetInfoPinCodes = function () {\r\n ServiceCenter_FormcreationService.GetAllPinCodes(vm.permanent_state, vm.permanent_city,loggedinUser,token).then(function (resp) {\r\n vm.AddressallPincodes = resp.data;\r\n if (resp.data) {\r\n var citypincodeArray = [];\r\n citypincodeArray.push({\r\n city: state\r\n });\r\n vm.cityListForPincode = citypincodeArray;\r\n }\r\n }, function () {\r\n \r\n });\r\n }\r\n\r\n vm.ModifyPicodeList = function () {\r\n vm.AddPincode_form.submitted = true;\r\n if (vm.AddPincode_form.$valid) {\r\n if (vm.mappincode && vm.workArea) {\r\n vm.workArea = vm.workArea.concat(vm.mappincode);\r\n }\r\n if(!vm.workArea){\r\n vm.workArea = vm.mappincode;\r\n }\r\n vm.CloseMapPincodeModel();\r\n }\r\n };\r\n \r\n vm.selectSubRegion = function(region){\r\n \r\n ServiceCenter_FormcreationService.GetSubRegion(loggedinUser,token,region).then(function(resp){\r\n if (resp.status==200) {\r\n if (resp.data && resp.data.length>0) {\r\n vm.SubRegionList = resp.data;\r\n }\r\n }\r\n })\r\n }\r\n vm.selectCitySubRegion = function(Subregion){\r\n \r\n ServiceCenter_FormcreationService.GetCityBySubRegion(loggedinUser,Subregion,token).then(function(resp){\r\n if (resp.status==200) {\r\n if (resp.data && resp.data.length>0) {\r\n vm.SubCityList = resp.data;\r\n }\r\n }\r\n })\r\n }\r\n\r\n vm.selectStateforPresent = function (state) { \r\n var Getstate = state;\r\n ServiceCenter_FormcreationService.getCities(loggedinUser,Getstate,token).then(function (resp) {\r\n vm.presentcityList = resp.data;\r\n if (!resp.data) {\r\n var cityArray = [];\r\n cityArray.push({\r\n city: state\r\n });\r\n vm.cityList = cityArray;\r\n }\r\n }, function () {\r\n\r\n });\r\n }\r\n\r\n //state \r\n vm.getStateList = function (region) {\r\n ServiceCenter_FormcreationService.getState(loggedinUser, token, region).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.allStates = resp.data;\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n\r\n function getallCities(state) {\r\n ReferService.getAllCity(loggedinUser, state,token).then(function (resp) {\r\n vm.CityList = resp.data;\r\n });\r\n }\r\n vm.selectedState = function (state) {\r\n getallCities(state);\r\n }\r\n ///Executes when the user select the city\r\n vm.selectCity = function (city) {\r\n ServiceCenter_FormcreationService.getAllPincode(city).then(function (resp) {\r\n vm.pincodeList = resp.data;\r\n if (!resp.data) {\r\n var pincodeArray = [];\r\n pincodeArray.push({\r\n pincode: city\r\n });\r\n vm.pincodeList = pincodeArray;\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n vm.selectCityforPresent = function (loggedinUser, city) {\r\n ServiceCenter_FormcreationService.getAllPincode(loggedinUser, city.ID).then(function (resp) {\r\n vm.presentpincodeList = resp.data;\r\n if (!resp.data) {\r\n var pincodeArray = [];\r\n pincodeArray.push({\r\n pincode: city\r\n });\r\n vm.pincodeList = pincodeArray;\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n \r\n vm.EditData=function(index){\r\n vm.SelectedAccount = vm.workAreas[index]; \r\n vm.territoryStates(vm.SelectedAccount.AccountId);\r\n vm.selectedStateForTerritory(vm.SelectedAccount.State);\r\n vm.selectedCityForTerritory(vm.SelectedAccount.City); \r\n }\r\n\r\n vm.AccountChange=function (){ \r\n for (var i = 0; i < vm.RemainingCHDAccounts.length; i++) {\r\n var Acc = vm.RemainingCHDAccounts[i];\r\n if(Acc.AccountName == vm.SelectedAccount.AccountName ) {\r\n vm.SelectedAccount.AccountId = Acc.AccountId;\r\n // vm.SelectedAccount = Acc; \r\n // break;\r\n }\r\n }\r\n vm.territoryStates(vm.SelectedAccount.AccountId);\r\n }\r\n vm.territoryStates = function (AccountId) {\r\n vm.AccountIDforTerritory = AccountId;\r\n ServiceCenter_FormcreationService.getTerritoryStates(loggedinUser, token,AccountId,vm.Role).then(function(resp) {\r\n vm.stateListTerritory = resp.data;\r\n if(resp.status == 200) {\r\n // vm.territoryCity();\r\n }\r\n })\r\n }\r\n\r\n vm.selectedStateForTerritory = function (state) {\r\n vm.territoryCity(state,vm.AccountIDforTerritory);\r\n }\r\n vm.territoryCity = function (state,AccountId) {\r\n vm.StateForTerritoryCity = state;\r\n ServiceCenter_FormcreationService.getTerritoryCity(loggedinUser, token,AccountId,state,vm.Role).then(function(resp) {\r\n vm.cityListTerritory = resp.data;\r\n if(resp.status == 200) {\r\n \r\n\r\n }\r\n })\r\n }\r\n\r\n vm.selectedCityForTerritory = function (City) {\r\n vm.territoryPincodes(City);\r\n }\r\n vm.uniPin = [];\r\n vm.territoryPincodes = function (City) {\r\n ServiceCenter_FormcreationService.getTerritoryPincodes(loggedinUser, token,vm.AccountIDforTerritory,vm.StateForTerritoryCity,City,vm.Role).then(function(resp) {\r\n // if(resp.status == 200) {\r\n vm.pinCodeListTerritory = resp.data;\r\n for (var i = 0; i < vm.workAreas.length; i++) {\r\n var Acc = vm.workAreas[i];\r\n if((Acc.City == City) && (Acc.AccountId ==vm.AccountIDforTerritory) && (Acc.State == vm.StateForTerritoryCity)) {\r\n for (var j = 0; j < vm.pinCodeListTerritory.length; j++) { \r\n var pinCodeUnique = vm.pinCodeListTerritory[j];\r\n for (var k = 0; k < Acc.PinCode.length; k++) { \r\n if( pinCodeUnique == Acc.PinCode[k]) {\r\n vm.pinCodeListTerritory.splice(j,1);\r\n // break; \r\n }\r\n }\r\n \r\n }\r\n }\r\n }\r\n // }\r\n })\r\n }\r\n\r\n vm.addMoreAccount = function(){\r\n vm.SelectedAccount=[]; \r\n vm.showEditList = true;\r\n vm.showAction = false;\r\n for (var i = 0; i < vm.workAreas.length; i++) {\r\n var Acc = vm.workAreas[i];\r\n for (var j = 0; j < vm.RemainingCHDAccounts.length; j++) { \r\n // console.log('acc = ' + Acc.AccountId + \" vm.RemainingCHDAccounts[j].AccountId \" + vm.RemainingCHDAccounts[j].AccountId + 'len ' + j) \r\n if(Acc.AccountId == vm.RemainingCHDAccounts[j].AccountId ) {\r\n // vm.RemainingCHDAccounts.splice(j,1); \r\n //break; \r\n }\r\n }\r\n }\r\n }\r\n vm.MapPincodeModelOpen = function () {\r\n vm.AddPincodeModel = $uibModal.open({\r\n templateUrl: 'Addpincode.html',\r\n size: 'md',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n \r\n vm.CloseMapPincodeModel = function () {\r\n vm.AddPincodeModel.close();\r\n vm.mapstate = \"\";\r\n vm.mapcity = \"\";\r\n vm.cityListForPincode = [];\r\n vm.mappincode = \"\";\r\n vm.allPincodes = [];\r\n };\r\n\r\n\r\n vm.UpdateAllHDAccountConfig = function(index){ \r\n vm.showAction = true; \r\n var checkAccount = false;\r\n for (var i = 0; i < vm.workAreas.length; i++) {\r\n if(vm.SelectedAccount.PinCode == undefined) {\r\n vm.showFailure(\"Failed\", \"Please add Account details with Locations\");\r\n vm.workAreas[index].edit = true;\r\n }\r\n // vm.workAreas[i] == vm.SelectedAccount;\r\n // vm.workAreas[i].AccountSkillSet = vm.SelectedSkills;\r\n // vm.workAreas[i].AccountLocations = vm.SelectedLocations;\r\n // var Acc = vm.workAreas[i];\r\n // if(Acc.AccountName == vm.SelectedAccount.AccountName ) {\r\n // vm.workAreas[i] == vm.SelectedAccount;\r\n // checkAccount = true;\r\n // break;\r\n // }\r\n }\r\n if(checkAccount == false && index == undefined) { \r\n vm.SelectedAccountObj = Object.assign({}, vm.SelectedAccount); \r\n if(vm.SelectedAccountObj.AccountName && vm.SelectedAccountObj.State && vm.SelectedAccountObj.City && vm.SelectedAccountObj.PinCode) {\r\n vm.workAreas.push(vm.SelectedAccountObj);\r\n } \r\n else {\r\n vm.showFailure(\"Failed\", \"Please add Account details with Locations\");\r\n vm.workAreas[i].edit = true;\r\n \r\n } \r\n \r\n }\r\n else {\r\n var Acc = vm.workAreas[i];\r\n }\r\n vm.showEditList = false; \r\n }\r\n\r\n vm.getAllSkill();\r\n vm.getStateList(\"INDIA\");\r\n }\r\n});\r\n\nangular.module('inspinia').service('ServiceCenterTicketListService', function (ApiURL, AcessoriesURL, SchedulingAPI, $log, FreelancerURL, $http, MMFCRMURL, $window, PublicApiURL, ActivityURL, LocationURL) {\r\n\r\n this.downloadOnSiteReport = function (loggedInUserId, token, TicketId) {\r\n var url = ApiURL + '/api/Report/GeneratePdfOnSiteReport?TicketId=' + TicketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n\r\n });\r\n }\r\n\r\n this.updatePlannedClosure = function (loggedinUser, data, token, success, failure) {\r\n $http.put(ApiURL + '/api/Ticket/UpdatePlannedClosureDate', data,\r\n { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if (res && res.status == 200 && res) {\r\n success(res.data);\r\n } else {\r\n failure(\"Failed\", res.data.Message);\r\n }\r\n }, function (err) {\r\n failure(\"Failed\", \"Unable to update job, server is not responding correctly.\");\r\n });\r\n }\r\n\r\n this.VendorManagerAssignJobTeam = function (UserID, loggedInUserId,TicketId,jobAccountId,token) {\r\n var url = ApiURL + '/api/Ticket/'+ UserID +'/'+ loggedInUserId +'/'+ TicketId +'/'+ jobAccountId +'/AssignTicketByVendorFromMobile';\r\n return $http.put(url, null, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token , 'UserId':loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.getStates = function (loggedInUserId, token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.getAttachment = function (loggedInUserId, token, TicketId) {\r\n var url = ApiURL + '/api/Report/GetAttachmentsByTicketIdWithSignoffReport?TicketId=' + TicketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.viewReportPdf = function (loggedInUserId, token, fileName) {\r\n debugger\r\n var url = ApiURL + '/api/Image?fileName=' + fileName;\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.getAllJobTickets = function (supervisorId, startDate, endDate, token, itemNames, itemValues, templateCols, templateItemNames, templateItemValues, DateField) {\r\n var url = '';\r\n url = ApiURL + '/api/Ticket/GetTicketsbyDateRange?fromDate=' + startDate + '&toDate=' + endDate + '&reqUserId=' + supervisorId + '&itemNames=' + itemNames + '&itemValues=' + itemValues + '&templateCols=' + templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues + '&DateField=' + DateField;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': supervisorId\r\n }\r\n });\r\n }\r\n\r\n this.getRejectHistory = function (TicketId, loggedinUser, token) {\r\n var url = ApiURL + '/api/Ticket/TicketRejectionHistory?TicketId=' + TicketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n\r\n });\r\n }\r\n\r\n this.getAllJobTicketsListing = function (loggedinUser, startDate, endDate, token, itemNames, itemValues, textItemNames, textItemValues, templateCols, templateItemNames, templateItemValues, DateField, PageIndex, PageSize, SortType, SortField) {\r\n url = ApiURL + '/api/Ticket/GetTicketsbyDateRangeWithDynaPagingForServiceCentreListing?fromDate=' + startDate + '&toDate=' + endDate + '&reqUserId=' + loggedinUser + '&itemNames=' + itemNames + '&itemValues=' + itemValues + '&textItemNames=' + textItemNames + '&textItemValues=' + textItemValues + '&templateCols=' + templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues + '&DateField=' + DateField + '&PageIndex=' + PageIndex + '&PageSize=' + PageSize + '&SortType=' + SortType + '&SortField=' + SortField;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n\r\n this.getAllJobTicketsDashboard = function (loggedinUser, startDate, endDate, token, itemNames, itemValues, textItemNames, textItemValues, templateCols, templateItemNames, templateItemValues, DateField, PageIndex, PageSize, SortType, SortField) {\r\n url = ApiURL + '/api/Ticket/GetTicketDashboradbyDateRangeWithDynaPagingForServiceCentre?fromDate=' + startDate + '&toDate=' + endDate + '&reqUserId=' + loggedinUser + '&itemNames=&itemValues=&textItemNames=' + textItemNames + '&textItemValues=' + textItemValues + '&templateCols=' + templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues + '&DateField=' + DateField + '&PageIndex=' + PageIndex + '&PageSize=' + PageSize + '&SortType=' + SortType + '&SortField=' + SortField;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n\r\n this.AutoBroadcastAllNewJobsManualMode = function (loginUserId, ticketId, token) {\r\n var url = '';\r\n url = SchedulingAPI + '/api/AutoJobBroadcast/BroadcastJobsManualMode';\r\n return $http.post(url, ticketId, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n this.downloadTicketsReports = function (loggedInUserId, fromDate, toDate, itemNames, itemValues, templateCols) {\r\n var url = PublicApiURL + \"/api/Report/DownloadAllTicketReport?fromDate=\" + fromDate + '&toDate=' + toDate + '&reqUserId=' + loggedInUserId + \"&itemNames=\" + itemNames + '&itemValues=' + itemValues + '&templateCols=' + templateCols;\r\n $window.open(url);\r\n }\r\n\r\n this.getCustomerJobCardbyJobId = function (accountId, jobId, token, success, failure) {\r\n $http.get(ApiURL + \"/api/GetCustomerJobCardbyJobId/\" + jobId + \"/\" + accountId + \"/GetCustomerJobCardbyJobId\", {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': accountId\r\n }\r\n }).then(function (res) {\r\n if (res && res.data && success) {\r\n success(res.data);\r\n } else if (failure) {\r\n failure();\r\n }\r\n });\r\n }\r\n\r\n\r\n //http://localhost:56749/api/Ticket/DeleteTicket?UserId=asd&TicketId=asdasd\r\n this.DeleteTickets = function (userId, ticketId, token) {\r\n // var url = ApiURL + \"/api/Ticket/DeleteTicket?UserId=\"+userId+ \"&TicketId=\"+ticketId;\r\n // return $http.delete(url,{\r\n // headers:{'Content-Type':'application/json','Token':token}\r\n // })\r\n\r\n return $http({\r\n method: 'DELETE',\r\n url: ApiURL + \"/api/Ticket/DeleteTicket?UserId=\" + userId + \"&TicketId=\" + ticketId,\r\n data: {\r\n\r\n },\r\n headers: {\r\n 'Content-type': 'application/json', 'Token': token, 'UserId': userId\r\n }\r\n })\r\n }\r\n\r\n this.SetTicketExecutionMode = function (reqUserId, mode, ticektIds, token) {\r\n var url = ApiURL + \"/api/Ticket/SetTicketExecutionMode?ReqUserId=\" + reqUserId + \"&mode=\" + mode;\r\n return $http.put(url, {\r\n \"tickets\": ticektIds\r\n }, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': reqUserId\r\n }\r\n })\r\n }\r\n\r\n\r\n this.updateStartTime = function (ticketId, userId, startTime, token, success, failure) {\r\n var url = ApiURL + \"/api/Ticket/updatestartdate?requserid=\" + userId + \"&ticketid=\" + ticketId + \"&starttime=\" + encodeURI(startTime.format(\"YYYY-MM-DDThh:mm:ss.SSSZ\"));\r\n $http.put(url, {\r\n \"requserid\": userId,\r\n \"ticketid\": ticketId,\r\n \"starttime\": startTime.format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\")\r\n }, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': userId\r\n }\r\n }).then(function (res) {\r\n if (res) {\r\n success(res);\r\n } else {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n }\r\n }, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.updateTicketSettlement = function (data, token, loggedInUserId, success, failure) {\r\n\r\n var url = ApiURL + \"/api/Ticket/setsettlementstatus\"\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.ApproveJob = function (data, token, loggedInUserId, success, failure) {\r\n var url = ApiURL + '/api/Ticket/updatestatus';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.AcceptJob = function (data, token, loggedInUserId, success, failure) {\r\n var url = ApiURL + '/api/Ticket/updatestatus';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.RejectJob = function (data, token, loggedInUserId, success, failure) {\r\n var url = ApiURL + '/api/Ticket/updatestatus';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.ConvertToNewJob = function (data, token, loggedInUserId, success, failure) {\r\n var url = ApiURL + '/api/Ticket/updatestatus';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.PullBackTicket = function (loggedInUserId, ticketId, token) {\r\n var url = ApiURL + '/api/Ticket/' + loggedInUserId + '/' + ticketId + '/returnticket';\r\n return $http.put(url, null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n })\r\n }\r\n\r\n this.ActionByVendor = function (loggedInUserId, ticketIds, action, token) {\r\n var url = ApiURL + '/api/Ticket/' + loggedInUserId + '/' + ticketIds + '/ActionByVendor?Action=' + action;\r\n return $http.put(url, {}, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n })\r\n }\r\n\r\n\r\n this.UpdateHoldingStatus = function (loggedInUserId, ticketId, holdingStatus, reason, Remark, token) {\r\n var url = ApiURL + '/api/Ticket/' + loggedInUserId + '/' + ticketId + '/ticketholding?HoldingStatus=' + holdingStatus + '&Reason=' + reason + '&Remark=' + Remark;\r\n return $http.put(url, {}, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n })\r\n }\r\n\r\n this.updateTicket = function (ticket, loggedInUserId, token) {\r\n var url = ApiURL + '/api/Ticket?reqUserId=' + loggedInUserId;\r\n return $http.put(url, ticket, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n // this.downloadMultipleReports = function (loggedInUserId, ticketId, reportMapperId, correlated) {\r\n // var url = PublicApiURL + \"/api/Report/\" + ticketId + \"/DownloadReportByTemplateName?reqUserId=\" + loggedInUserId + \"&correlated=\" + (correlated?\"True\":\"False\")\r\n\r\n // $window.open(url);\r\n // }\r\n\r\n // this.downloadInvoice = function (loggedInUserId, ticketId, correlated) {\r\n // var url = PublicApiURL + \"/api/Report/\" + ticketId + \"/DownloadInvoice?reqUserId=\" + loggedInUserId + \"&correlated=\" + (correlated?\"True\":\"False\")\r\n\r\n // $window.open(url);\r\n // }\r\n\r\n\r\n this.TicketFollowUp = function (data, files, token, loggedInUserId, success, failure) {\r\n var formdata = new FormData();\r\n formdata.append(\"files\", files[0]);\r\n var followupdata = JSON.stringify(data);\r\n formdata.append(\"ActivityModel\", followupdata);\r\n\r\n var url = ActivityURL + '/api/Activity/FollowUpWithReason';\r\n return $http.post(url, formdata, {\r\n headers: { 'Content-Type': undefined, 'Token': token, 'UserId': loggedInUserId }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n this.CreateProductReplacementRequest = function (data, loggedInUserId, token) {\r\n var url = AcessoriesURL + '/api/MMFProductReplacement/CreateProductReplacementRequest'\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n this.CreateProductReplacementRequestAF = function (data, loggedInUserId, token) {\r\n var url = AcessoriesURL + '/api/MMFApprovalFlow/CreateProductReplacementRequest'\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.CreateGasChargerRefulingRequest = function (data, loggedInUserId, token) {\r\n var url = AcessoriesURL + '/api/MMFGasCharger/CreateGasChargerRefulingRequest'\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.ResubmitProductReplacementRequest = function (data, loggedInUserId, token) {\r\n var url = AcessoriesURL + '/api/MMFProductReplacement/ResubmitProductReplacementRequest'\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.ResubmitProductReplacementRequestAF = function (data, loggedInUserId, token) {\r\n var url = AcessoriesURL + '/api/MMFApprovalFlow/ResubmitProductReplacementRequest'\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n \r\n this.TicketFollowUpWithoutDoc = function (data, token, loggedInUserId, success, failure) {\r\n var formdata = new FormData();\r\n var followupdata = JSON.stringify(data);\r\n formdata.append(\"ActivityModel\", followupdata);\r\n\r\n var url = ActivityURL + '/api/Activity/FollowUpWithReason';\r\n return $http.post(url, formdata, {\r\n headers: { 'Content-Type': undefined, 'Token': token, 'UserId': loggedInUserId }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n this.getBillExpenseByTicketID = function (loggedinUser, ticketID, token) {\r\n var url = ApiURL + '/api/Expense/GetByTicketId?ReqUserId=' + loggedinUser + '&TicketId=' + ticketID;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n\r\n this.getPdfReport = function (loggedinUser, ticketID, token) {\r\n var url = ApiURL + '/api/Report/GeneratePdfReportForApprovedJob?TicketId=' + ticketID;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.downloadImage = function (loggedInUserId, ticketIDs, token) {\r\n var url = PublicApiURL + \"/api/Report/DownloadDataCaptureInFieldPicture?reqUserId=\" + loggedInUserId + \"&TicketIds=\" + ticketIDs;\r\n $window.open(url);\r\n\r\n }\r\n\r\n this.downloadMultipleReport = function (loggedInUserId, ticketIDs) {\r\n var url = PublicApiURL + \"/api/Report/DownloadDataCaptureInFileAttachment?reqUserId=\" + loggedInUserId + \"&TicketIds=\" + ticketIDs;\r\n $window.open(url);\r\n\r\n }\r\n\r\n this.getAllCustomers = function (loggedInUser, token) {\r\n var url = ApiURL + '/api/Customer?reqUserId=' + loggedInUser;\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedInUser }\r\n });\r\n }\r\n\r\n this.GetAllProjects = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/Project/' + loggedinUser + '/' + loggedinUser + '/GetProjectsByUserId'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n })\r\n }\r\n\r\n // https://product.mymobiforce.com/FreelancerAPI/api/FreeLancerUser/F00000001230/U400000000001/byUserIdWithJobCount\r\n this.getUserProfileData = function (loggedinUser, userid, token) {\r\n var url = FreelancerURL + '/api/FreeLancerUser/' + userid + '/' + loggedinUser + '/byUserIdWithJobCount'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n })\r\n }\r\n\r\n // https://perf.mymobiforce.com/coreapi/api/User/235432432/byUserIdWithJobCount?reqUserId=34234\r\n this.getFixedUserProfileData = function (loggedinUser, userid, token) {\r\n var url = ApiURL + '/api/User/' + userid + '/byUserIdWithJobCount?reqUserId=' + loggedinUser\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n })\r\n }\r\n //https://product.mymobiforce.com/coreapi/api/Ticket/CancelTicket?reqUserId=dfgdfs&TicketId=dfgfdg\r\n this.CancelTicket = function (loggedInUserId, ticketId, token) {\r\n var url = ApiURL + '/api/Ticket/CancelTicket?reqUserId=' + loggedInUserId + '&TicketId=' + ticketId;\r\n return $http.put(url, null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n this.TBCCancelationAudit = function (data, loggedInUserId, token) {\r\n var url = ApiURL + '/api/Ticket/UpdateJobAudit';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n this.GetCSATRatingByTicketID = function (loggedInUserId, ticketId, token) {\r\n var url = '';\r\n url = ApiURL + '/api/Ticket/' + loggedInUserId + '/' + ticketId + '/GetCSATRatingByTicketID';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n this.GetCancellationReasons = function (status, loggedInUserId, token) {\r\n var url = '';\r\n url = ApiURL + '/api/TicketCancelationReasonController/' + loggedInUserId + '/getCancellationReasons?AtStatus=' + status;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.UpdateJobServerCancel = function (CancellationReasonsModel, loggedInUserId, token) {\r\n var url = ApiURL + '/api/Ticket/UpdateJobServerCancel';\r\n return $http.put(url, CancellationReasonsModel, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n this.GetTicketByGeneralSearch = function (SearchText, PageIndex, PageSize, loggedInUserId, token) {\r\n var url = '';\r\n url = ApiURL + '/api/Ticket/GetTicketByGeneralSearch?searchText=' + SearchText + '&PageIndex=' + PageIndex + '&PageSize=' + PageSize;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n this.AddSiteAuditwithAttachment = function (data, files, token, loggedinUser) {\r\n var formdata = new FormData();\r\n formdata.append(\"files\", files[0]);\r\n var followupdata = JSON.stringify(data);\r\n formdata.append(\"AuditRequestModel\", followupdata);\r\n formdata.append(\"reqUserId\", loggedinUser);\r\n var url = ApiURL + '/api/Upload/PostMediaFileWithAuditObject';\r\n return $http.post(url, formdata, {\r\n headers: { 'Content-Type': undefined, 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n //https://product.mymobiforce.com/coreapi/api/Invoice/GetTicketDataToRaiseInvoice\r\n this.GetTicketDataToRaiseInvoice = function (loggedinUser, ticketIdList, token) {\r\n var url = ApiURL + '/api/Invoice/GetTicketDataToRaiseInvoice'\r\n return $http.put(url, ticketIdList, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n })\r\n }\r\n\r\n //https://product.mymobiforce.com/coreapi/api/Invoice/MarkTicketsReadyToRaiseInvoice\r\n this.MarkTicketsReadyToRaiseInvoice = function (loggedinUser, ticketwithLineitemList, token) {\r\n var url = ApiURL + '/api/Invoice/MarkTicketsReadyToRaiseInvoice'\r\n return $http.put(url, ticketwithLineitemList, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n })\r\n }\r\n //https://product.mymobiforce.com/CoreAPI/api/TicketRemarkOnStatus/getTicketRemarkOnStatus?AtStatus=FollowUp\r\n this.GetReasonsByStatus = function (loggedinUser, token, status) {\r\n var url = ApiURL + '/api/TicketRemarkOnStatus/getTicketRemarkOnStatus?AtStatus=' + status;\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n this.GetPullBacknReasons = function (loggedInUserId, token) {\r\n var url = '';\r\n url = ApiURL + '/api/TicketRemarkOnStatus/getTicketRemarkOnStatus?AtStatus=' + 'PullBack';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetAllReprotingToUsersCRM = function (ticketId, loggedInUserId, token) {\r\n var url = MMFCRMURL + '/api/UserManagement/GetAllReprotingToUsersCRM?TicketId=' + ticketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.TransferCallToServiceCentre = function (ticketId,userId, loggedInUserId, token) {\r\n var url = MMFCRMURL + '/api/CRMConsumer/TransferCallToServiceCentre?TicketId=' + ticketId + '&UserId=' + userId;\r\n return $http.put(url,null,{\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.RevertTBCAndReassign = function (ticketId,userId, loggedInUserId, token) {\r\n var url = MMFCRMURL + '/api/CRMConsumer/RevertTBCAndReassign?TicketId=' + ticketId + '&UserId=' + userId;\r\n return $http.put(url,null,{\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.PullBackTicketFromTechnician = function (CancellationReasonsModel, loggedInUserId, token) {\r\n var url = ApiURL + '/api/Ticket/PullBackTicketFromTechnician';\r\n return $http.put(url, CancellationReasonsModel, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n});\r\n\nangular.module('inspinia').controller('ServiceCenterTicketListController', function ($state,JobTicketViewService, ManualAssignationJobService, $rootScope, $stateParams, ServiceCenterTicketListService, $stateParams, UIURL, $log, $localStorage, ApiURL, DTColumnBuilder, $uibModal, $scope, toaster, $filter, DTColumnDefBuilder, $window, $timeout, PublicApiURL, jobBidCreationService,InvoiceUrl, ImageUrl) {\r\n var vm = this;\r\n\r\n var loggedInUserId = $localStorage.loggedInUserId;\r\n if (!loggedInUserId) {\r\n\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.accountConfig = $localStorage.accountConfig;\r\n vm.AccountId= $localStorage.accountConfig.AccountId;\r\n vm.confirmTagModal = $scope.$parent.$parent.main.confirmTagModal;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.IsMaterialDelivered = $localStorage.accountConfig.IsMaterialDelivered;\r\n vm.NokiaTableHeaderChange = $localStorage.accountConfig.NokiaTableHeaderChange;\r\n vm.EnableRegion = vm.getAccountConfigSetting('EnableRegion');\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n var token = $localStorage.token;\r\n vm.Remarks = '';\r\n vm.selectedTemplates = '';\r\n vm.PaymentStatus = '';\r\n vm.GroupType = 'Individual|WorkOrderGroup'; \r\n vm.searchJobTypeText = '';\r\n vm.SettlementStatus = '';\r\n vm.primaryHoldReason = '';\r\n vm.primaryHoldRemark = '';\r\n vm.actionFlag = false;\r\n vm.editPermission = false;\r\n vm.ticketList = [];\r\n vm.mappermission =false;\r\n vm.approvalRemark = '';\r\n vm.RejectionRemark = '';\r\n vm.searchText = \"\";\r\n vm.searchStatusText = \"All Job Status\";\r\n vm.DateField=\"CreatedOn\";\r\n vm.CurrencySetting = $localStorage.accountConfig.CurrencySetting;\r\n vm.previousPage = $localStorage.previousPage;\r\n vm.autoScheduleOn = $localStorage.accountConfig.IsAutoSchedulerOn;\r\n var approveModalInstance = {};\r\n var rescheduleAuditModalInstance = {};\r\n vm.UserProfileData = {};\r\n var supervisorId = $localStorage.loggedInUserId;\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n vm.loggedInAs = $localStorage.loggedinAs;\r\n vm.aproveMessage = 'Please Rate !';\r\n var itemNames = '';\r\n var itemValues = '';\r\n var templateItemNames = '';\r\n var templateItemValues = '';\r\n var textItemNames = '';\r\n var textItemValues = '';\r\n vm.AuditTicketId='';\r\n vm.JobcountbyStatus = 'Assigned';\r\n vm.IsSafetyAudit = 'Not Done';\r\n vm.ratingwarning=\"\";\r\n vm.SortType = \"desc\";\r\n vm.SortField = 'CreatedOn';\r\n var PageIndex = 1;\r\n var PageSize = 10;\r\n vm.pageListCounts = [10, 20, 30, 50];\r\n vm.ticketPageListCount = 10;\r\n vm.ticketListLength = 0;\r\n vm.pageindexCount = 0;\r\n var startDate = moment().subtract(7, 'days').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n $scope.dates = { startDate: moment().subtract(7, 'days'), endDate: moment() };\r\n $scope.ranges = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n 'Till now': [moment().subtract(5, 'years'), moment()]\r\n };\r\n\r\n vm.closeSearchText = function(){\r\n vm.searchText=\"\";\r\n vm.searchJobTypeText = \"\";\r\n textItemNames = '';\r\n textItemValues = '';\r\n itemNames = 'GroupType';\r\n itemValues = 'Individual|WorkOrderGroup';\r\n templateItemNames = '';\r\n templateItemValues = '';\r\n vm.ticketList = [];\r\n vm.getAllJobTicketsListing(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsDashboard(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n }\r\n\r\n vm.searchTicket = function () { \r\n vm.FilterArray();\r\n vm.getAllJobTicketsListing(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }\r\n\r\n vm.FilterArray = function () {\r\n itemNames = '';\r\n itemValues = '';\r\n templateItemNames = '';\r\n templateItemValues = '';\r\n if(vm.JobcountbyStatus){\r\n if(itemNames) \r\n {\r\n itemNames = itemNames + ',Status';\r\n itemValues = itemValues + \",\" + vm.JobcountbyStatus;\r\n }\r\n else\r\n {\r\n itemNames = 'Status';\r\n itemValues = vm.JobcountbyStatus;\r\n }\r\n }\r\n\r\n if(vm.searchJobTypeText){\r\n if(itemNames) \r\n {\r\n itemNames = itemNames + ',Skill';\r\n itemValues = itemValues + \",\" + vm.searchJobTypeText;\r\n }\r\n else\r\n {\r\n itemNames = 'Skill';\r\n itemValues = vm.searchJobTypeText;\r\n }\r\n }\r\n\r\n if(vm.searchText)\r\n {\r\n itemNames = 'Search';\r\n itemValues = vm.searchText;\r\n templateItemNames = '';\r\n templateItemValues = ''; \r\n textItemNames = '';\r\n textItemValues = '';\r\n startDate = startDate;\r\n endDate = endDate;\r\n }\r\n\r\n }\r\n\r\n vm.getAllTicketsByStatus = function(status){\r\n vm.JobcountbyStatus = status;\r\n if(vm.JobcountbyStatus == 'Assigned'){\r\n vm.SortField = 'AssignationDateObj';\r\n }\r\n else if(vm.JobcountbyStatus == 'Hold'){\r\n vm.SortField = 'HoldDateObj';\r\n }\r\n else if(vm.JobcountbyStatus == 'Completed'){\r\n vm.SortField = 'CompletionDateObj';\r\n }\r\n else if(vm.JobcountbyStatus == 'ScheduleException'){\r\n vm.SortField = 'ScheduleException';\r\n }\r\n else if(vm.JobcountbyStatus == 'Rejected'){\r\n vm.SortField = 'RejectionDateObj';\r\n }\r\n vm.GroupType = 'Individual|WorkOrderGroup'; \r\n vm.searchText='';\r\n vm.searchJobTypeText = '';\r\n vm.FilterArray();\r\n PageIndex=1;\r\n vm.getAllJobTicketsListing(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }\r\n\r\n\r\n vm.SubmitFilter = function () {\r\n var startDate = moment($scope.dates.startDate).format('YYYY-MM-DD');\r\n var endDate = moment($scope.dates.endDate).format('YYYY-MM-DD');\r\n vm.FilterArray();\r\n vm.getAllJobTicketsListing(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsDashboard(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n }\r\n\r\n\r\n vm.orderdetailsview = function (salesOrderDetail) {\r\n\t\t\t$state.go('index.WareHouseOrderDetailView', {\r\n\t\t\t\torder_id: salesOrderDetail\r\n\t\t\t}, {\r\n\t\t\t\treload: true\r\n\t\t\t});\r\n\t\t}\r\n\r\n\r\n $scope.dateRangeChange = function (ev, picker) {\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n vm.FilterArray();\r\n $scope.Userpagination = {};\r\n PageIndex=1;\r\n $scope.TicketTablepagination = {\r\n current: 1\r\n }; \r\n vm.getAllJobTicketsListing(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsDashboard(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n };\r\n\r\n // vm.getAllJobTickets = function (supervisorId, startDate, endDate, itemNames, itemValues, templateItemNames, templateItemValues) {\r\n // var templateCols = '';\r\n // if (vm.VerticalName == 'Spectro Labs') {\r\n // templateCols = 'Water Source Type,Source Type'\r\n // } else if (vm.VerticalName == 'IMS') {\r\n // templateCols = 'Call Type'\r\n // } else {\r\n // templateCols = '';\r\n // }\r\n // if (vm.VerticalName == 'Spectro Labs' && vm.Role == 'Project Manager') {\r\n // if (itemNames == \"\" && itemValues == \"\") {\r\n // itemNames = 'Status';\r\n // itemValues = 'Completed';\r\n // } else {\r\n // itemNames += ',Status';\r\n // itemValues += ',Completed';\r\n // }\r\n // }\r\n // ServiceCenterTicketListService.getAllJobTickets(supervisorId, startDate, endDate, token, itemNames, itemValues, templateCols, templateItemNames, templateItemValues, vm.DateField).then(function (resp) {\r\n // if (resp && resp.data) {\r\n // vm.ticketList = resp.data;\r\n // vm.enableFilters = true;\r\n // vm.actionFlag = false;\r\n // $localStorage.TList = vm.ticketList;\r\n // $localStorage.AllJobType = vm.searchJobTypeText;\r\n // $localStorage.AllJobStatus = vm.searchStatusText;\r\n // angular.forEach(vm.ticketList, function (t) {\r\n // t.StartTime = moment(t.StartTime, \"YYYY-MM-DDThh:mm:ssZ\");\r\n // t.StartTimeD = t.StartTime.format(\"DD/MM/YYYY LTS\");\r\n // })\r\n // // $timeout(function(){\r\n // // vm.searchTable();\r\n // // },2000);\r\n // }\r\n\r\n // }, function () {\r\n // //$log.log('not working');\r\n // });\r\n // }\r\n\r\n $scope.totalTableTickets = 0;\r\n $scope.ticketTablePerPage = vm.ticketPageListCount ;\r\n $scope.TicketTablepagination = {\r\n current: 1\r\n }; \r\n\r\n vm.changeTicketPageListCount = function() { \r\n vm.GroupType = 'Individual|WorkOrderGroup';\r\n $scope.ticketTablePerPage = vm.ticketPageListCount;\r\n PageSize = $scope.ticketTablePerPage;\r\n $scope.TicketTablepageChanged($scope.TicketTablepagination.current);\r\n vm.selectAll = false;\r\n }\r\n \r\n PageIndex=$scope.TicketTablepagination.current;\r\n $scope.TicketTablepageChanged = function(newPage) { \r\n vm.GroupType = 'Individual|WorkOrderGroup'; \r\n PageIndex = newPage;\r\n vm.FilterArray(); \r\n vm.getAllJobTicketsListing(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n };\r\n\r\n\r\n\r\n vm.getAllJobTicketsListing = function (supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize) {\r\n vm.FilterArray();\r\n var templateCols=\"\";\r\n PageIndex = PageIndex?PageIndex:1;\r\n ServiceCenterTicketListService.getAllJobTicketsListing(supervisorId, startDate, endDate, token, itemNames, itemValues,textItemNames, textItemValues, templateCols, templateItemNames, templateItemValues,vm.DateField,PageIndex,PageSize,vm.SortType,vm.SortField).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.ticketList = resp.data.LightTicketModels;\r\n $scope.totalTableTickets = resp.data.Count;\r\n if(vm.ticketList.length < vm.ticketPageListCount)\r\n vm.ticketListLength = $scope.totalTableUsers;\r\n else\r\n vm.ticketListLength = PageIndex * vm.ticketPageListCount;\r\n if(PageIndex==1)\r\n vm.pageindexCount = 1;\r\n else\r\n vm.pageindexCount = (((PageIndex-1) * vm.ticketPageListCount) + 1);\r\n }\r\n\r\n });\r\n }\r\n\r\n\r\n vm.getAllJobTicketsDashboard = function(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize) { \r\n var templateCols=\"\";\r\n PageIndex = PageIndex?PageIndex:1;\r\n ServiceCenterTicketListService.getAllJobTicketsDashboard(supervisorId, startDate, endDate, token, itemNames, itemValues,textItemNames, textItemValues, templateCols, templateItemNames, templateItemValues,vm.DateField,PageIndex,PageSize,vm.SortType,vm.SortField).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.TicketDashboarCounts = resp.data;\r\n vm.actionFlag = false;\r\n }\r\n });\r\n }\r\n \r\n vm.DefaultCall = function () { \r\n vm.FilterArray();\r\n vm.getAllJobTicketsListing(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsDashboard(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n }\r\n \r\n vm.DefaultCall();\r\n\r\n \r\n vm.ViewJob = function (ticket) {\r\n $state.go('index.JobDetailView', {\r\n ticketId: ticket\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n\r\n // Copied from main controller\r\n vm.implementSelectItems = function (itemList, scope) {\r\n scope.selectAll = false;\r\n scope.showMinus = false;\r\n scope.showAutoSchduleBtn = false;\r\n scope.downloadFlag = false;\r\n scope.downloadReportBtn = false;\r\n scope.deleteFlag = false;\r\n scope.selectRow = function (i) {\r\n //$log.log(\"selectRow called\");\r\n scope.showMinus = false;\r\n scope.selectAll = false;\r\n scope.showAutoSchduleBtn = false;\r\n scope.downloadFlag = false;\r\n scope.downloadReportBtn = false;\r\n scope.deleteFlag = false;\r\n for(var j=0;j

\" + vm.name + \"

\" + ' ' + vm.contactnumber);\r\n $scope.InfoWindow.open($scope.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n $scope.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, vm.customerJobCard);\r\n\r\n //Plotting the Marker on the Map.\r\n $scope.Latlngbounds.extend(marker.position);\r\n\r\n }\r\n vm.makeJobMarker = function (position, icon, map) {\r\n var marker = new google.maps.Marker({\r\n position: position,\r\n map: map,\r\n icon: icon\r\n });\r\n\r\n //Adding InfoWindow to the Marker.\r\n (function (marker, customerJobCard) {\r\n google.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n $scope.InfoWindow.setContent(\"

\" + vm.customerJobCard.ConsumerName + \"

\" + ' ' + vm.customerJobCard.JobId + \"
\" + ' ' + moment(vm.customerJobCard.JobDateTime).format(\"YYYY-MM-DD HH:mm\") + \"
\" + ' ' + vm.customerJobCard.ConsumerContact);\r\n $scope.InfoWindow.open($scope.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n $scope.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, vm.customerJobCard);\r\n\r\n //Plotting the Marker on the Map.\r\n $scope.Latlngbounds.extend(marker.position);\r\n }\r\n //It is used for the distance also \r\n function initMap() {\r\n var pointA = new google.maps.LatLng(vm.JobLatitude, vm.JobLongitude),\r\n pointB = new google.maps.LatLng(vm.FELatitude, vm.FELongitude),\r\n pointC = new google.maps.LatLng(vm.JobStartLatitude,vm.JobStartLongitude),\r\n // center = new google.maps.LatLng(51.3, 0.8),\r\n myOptions = {\r\n zoom: 8,\r\n zoomControl: false,\r\n scaleControl: true,\r\n mapTypeControl: false,\r\n streetViewControl: false,\r\n gestureHandling: 'greedy',\r\n // center: center,\r\n mapTypeId: google.maps.MapTypeId.ROADMAP\r\n },\r\n\r\n map = new google.maps.Map(document.getElementById('map-canvas'), myOptions),\r\n // Instantiate a directions service.\r\n directionsService = new google.maps.DirectionsService,\r\n directionsDisplay = new google.maps.DirectionsRenderer({\r\n map: map\r\n }),\r\n duration = document.getElementById('duration');\r\n distance = document.getElementById('distance');\r\n flightPath = new google.maps.Polyline({\r\n path: [pointA, pointB, pointC],\r\n // geodesic: true,\r\n strokeColor: 'red',\r\n });\r\n $scope.InfoWindow = new google.maps.InfoWindow();\r\n $scope.Latlngbounds = new google.maps.LatLngBounds();\r\n // click on marker B to get route from A to B\r\n calculateAndDisplayRoute(directionsService, directionsDisplay, pointA, pointB, icons.start, icons.end, distance, duration, map);\r\n \r\n if(vm.JobStartLatitude !=\"0\" && vm.JobStartLongitude !=\"0\"){\r\n \r\n calculateAndDisplayRoute(directionsService, directionsDisplay, pointB, pointC, icons.end, icons.StartTravel, distance, duration, map);\r\n }\r\n \r\n var travelMode = \"DRIVING\";\r\n var icon = \"https://img.icons8.com/color/96/000000/street-view.png\";\r\n }\r\n function calculateAndDisplayRoute(directionsService, directionsDisplay, pointA, pointB, iconsStartA, iconsStartB, distance, duration, map) {\r\n var selectedMode = \"DRIVING\";\r\n directionsService.route({\r\n origin: pointA,\r\n destination: pointB,\r\n unitSystem: google.maps.UnitSystem.METRIC,\r\n travelMode: google.maps.TravelMode[selectedMode]\r\n }, function (response, status) {\r\n if (status == google.maps.DirectionsStatus.OK) {\r\n new google.maps.DirectionsRenderer({\r\n map: map,\r\n directions: response,\r\n suppressMarkers: true,\r\n polylineOptions: {\r\n strokeColor: \"#000000\"\r\n }\r\n });\r\n var leg = response.routes[0].legs[0];\r\n //outputTxt.innerHTML =(response.routes[0].legs[0].distance.value/1000) + \" Kms\";\r\n distance.innerHTML = response.routes[0].legs[0].distance.text;\r\n duration.innerHTML = response.routes[0].legs[0].duration.text;\r\n vm.distance = response.routes[0].legs[0].distance.value / 1000;\r\n vm.makeJobMarker(leg.start_location, iconsStartA, map);\r\n vm.makeUserMarker(leg.end_location, iconsStartB, map);\r\n // vm.StartJobMarker(leg.startjob_location, icons.start, map);\r\n } else {\r\n window.alert('Directions request failed due to ' + status);\r\n }\r\n });\r\n }\r\n\r\n var icons = {\r\n start: new google.maps.MarkerImage(\r\n // URL\r\n UIURL + '/assets/images/patterns/JOb_icon.png',\r\n // (width,height)\r\n new google.maps.Size(44, 32),\r\n // The origin point (x,y)\r\n new google.maps.Point(0, 0),\r\n // The anchor point (x,y)\r\n new google.maps.Point(22, 32)),\r\n end: new google.maps.MarkerImage(\r\n // URL\r\n UIURL + '/assets/images/patterns/delivery-man1.png',\r\n // (width,height)\r\n new google.maps.Size(44, 32),\r\n // The origin point (x,y)\r\n new google.maps.Point(0, 0),\r\n // The anchor point (x,y)\r\n new google.maps.Point(22, 32)),\r\n StartTravel: new google.maps.MarkerImage(\r\n // URL\r\n UIURL + '/assets/images/patterns/Delivery_pre.png',\r\n // (width,height)\r\n new google.maps.Size(44, 32),\r\n // The origin point (x,y)\r\n new google.maps.Point(0, 0),\r\n // The anchor point (x,y)\r\n new google.maps.Point(22, 32))\r\n };\r\n /* vm.getReadableDate = function(){\r\n var time = new moment(vm.customerJobCard.JobDateTime, \"YYYY-MM-DDThh:mm:ss\");\r\n return time.format(\"DD MMM YYYY\")+\" at \"+time.format(\"LTS\"); \r\n } */\r\n vm.getCustomerJobCard = function () {\r\n ServiceCenterTicketListService.getCustomerJobCardbyJobId(loggedInUserId, vm.trackingTicketId, token, function (data) {\r\n vm.JobLatitude = data.JobLatitude;\r\n vm.JobLongitude = data.JobLongitude;\r\n vm.FELatitude = data.FELatitude;\r\n vm.FELongitude = data.FELongitude;\r\n vm.JobStartLatitude = data.JobStartLatitude;\r\n vm.JobStartLongitude = data.JobStartLongitude;\r\n vm.contactnumber = data.FEContactNumber;\r\n vm.jobtype = data.Description;\r\n vm.name = data.FEName;\r\n // vm.mapMarkers=[];\r\n initMap();\r\n $log.log(\"res of getCustomerJobCard=\" + data);\r\n vm.customerJobCard = data;\r\n if ($localStorage.rateJobParams) {\r\n vm.customerJobCard.userRole = $localStorage.Role;\r\n vm.customerJobCard.JobStatus = $localStorage.rateJobParams.status;\r\n vm.customerJobCard.CustomerGivenRating = $localStorage.rateJobParams.rating;\r\n delete $localStorage.rateJobParams;\r\n }\r\n if (data && data.JobStatus == 'PaymentDone') {\r\n\r\n }\r\n }, function () {\r\n vm.showFailure(\"Failed\", \"Unable to reach server\");\r\n });\r\n }\r\n //}\r\n vm.disableCreateButton = false;\r\n\r\n vm.DisableCreateButton = function (disable) {\r\n if (disable) {\r\n vm.disableCreateButton = true;\r\n }\r\n else {\r\n vm.disableCreateButton = false;\r\n }\r\n }\r\n vm.OpenReplaceModel = function (replacedetails) {\r\n vm.replaceticketid = replacedetails\r\n\t\t\tReplaceModel = $uibModal.open({\r\n\t\t\t templateUrl: 'ReplacementStatus.html',\r\n\t\t\t backdrop: 'static',\r\n\t\t\t scope: $scope,\r\n\t\t\t});\r\n\t\t }\r\n\t \r\n\t\t vm.closeRequestUpdateModel = function () {\r\n vm.DisableCreateButton(false);\r\n ReplaceModel.close();\r\n vm.strReplacementComment = '';\r\n vm.relacementoption = '';\r\n\t\t }\r\n vm.gasChargeticketid = \"\";\r\n vm.OpenGasChargingModel = function (gasChargeticketid) {\r\n vm.gasChargeticketid = gasChargeticketid\r\n GasChargingModel = $uibModal.open({\r\n templateUrl: 'GasChargingRequestApproval.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n \r\n vm.closeGasChargingModel = function () {\r\n vm.DisableCreateButton(false);\r\n GasChargingModel.close();\r\n vm.strGasChargingComment = '';\r\n vm.reasonofGasCharge = '';\r\n }\r\n\r\n\r\n vm.CreateGasChargerRefulingRequest = function () {\r\n vm.GasCharging_Form.submitted = true;\r\n if (vm.GasCharging_Form.$valid) {\r\n vm.DisableCreateButton(true);\r\n var data = {\r\n \"TicketId\": vm.gasChargeticketid,\r\n \"Comment\": vm.strGasChargingComment,\r\n \"Reason\": vm.reasonofGasCharge\r\n }\r\n ServiceCenterTicketListService.CreateGasChargerRefulingRequest(data, loggedInUserId, token).then(function (resp) {\r\n if (resp.data && resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Gas charging request raised successfully.\");\r\n vm.closeGasChargingModel();\r\n $timeout(function () {\r\n vm.getAllJobTicketsListing(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsDashboard(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 2000);\r\n }\r\n else {\r\n vm.DisableCreateButton(false);\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n });\r\n }\r\n };\r\n\r\n\r\n vm.CreateProductReplacementRequest = function () {\r\n vm.Replacereason_Form.submitted = true;\r\n if (vm.Replacereason_Form.$valid) {\r\n vm.DisableCreateButton(true);\r\n var replacementreasondata = {\r\n \"strTicketId\": vm.replaceticketid,\r\n \"strReplacementComment\": vm.strReplacementComment,\r\n \"strReplacementReason\": vm.relacementoption,\r\n }\r\n var serviceFunction = (vm.accountConfig.AccountId !== '380' && vm.accountConfig.AccountId !== '383')\r\n ? ServiceCenterTicketListService.CreateProductReplacementRequest \r\n : ServiceCenterTicketListService.CreateProductReplacementRequestAF;\r\n \r\n serviceFunction(replacementreasondata, loggedInUserId, token).then(function (resp) {\r\n if (resp.data && resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Product replacement request raised.\");\r\n vm.closeRequestUpdateModel();\r\n $timeout(function () {\r\n vm.getAllJobTicketsListing(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsDashboard(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n }, 2000);\r\n }\r\n else {\r\n vm.DisableCreateButton(false);\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n });\r\n }\r\n };\r\n \r\n\r\n vm.OpenResubmitReplaceModel = function (resubmitreplacedetails) {\r\n vm.resubmitReplacementId = resubmitreplacedetails;\r\n ResubmitReplaceModel = $uibModal.open({\r\n templateUrl: 'Resubmit.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n \r\n vm.closeResubmitRequestUpdateModel = function () {\r\n vm.DisableCreateButton(false);\r\n ResubmitReplaceModel.close();\r\n vm.resubmitstrReplacementComment = '';\r\n vm.resubmitReplacementId = '';\r\n }\r\n\r\n vm.ResubmitProductReplacementRequest = function () {\r\n vm.Resubmit_Form.submitted = true;\r\n if (vm.Resubmit_Form.$valid) {\r\n vm.DisableCreateButton(true);\r\n var resubmitreplacementreasondata = {\r\n \"strProductReplacementId\": vm.resubmitReplacementId,\r\n \"strReplacementComment\": vm.resubmitstrReplacementComment,\r\n \"strReplacementReason\": vm.resubmitrelacementoption,\r\n }\r\n var ResubmitProductReplacementRequest = (vm.accountConfig.AccountId !== '380' && vm.accountConfig.AccountId !== '383')\r\n ? ServiceCenterTicketListService.ResubmitProductReplacementRequest \r\n : ServiceCenterTicketListService.ResubmitProductReplacementRequestAF;\r\n\r\n ResubmitProductReplacementRequest(resubmitreplacementreasondata, loggedInUserId, token).then(function (resp) {\r\n if (resp.data && resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Product replacement request raised.\");\r\n vm.closeResubmitRequestUpdateModel();\r\n $timeout(function () {\r\n vm.getAllJobTicketsListing(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsDashboard(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n }, 2000);\r\n }\r\n else {\r\n vm.DisableCreateButton(false);\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n });\r\n \r\n }\r\n }\r\n \r\n\r\n vm.OpenTracking = function (ticket,tickets) {\r\n \r\n if(tickets && tickets.UserName){\r\n vm.mappermission =true;\r\n }\r\n else{\r\n vm.mappermission =false;\r\n\r\n }\r\n vm.trackingTicketId = ticket;\r\n Tracking = $uibModal.open({\r\n templateUrl: 'Tracking.html',\r\n size: 'lg',\r\n scope: $scope,\r\n controller: ModelInstanceOfMap\r\n })\r\n }\r\n vm.CloseTracking = function () {\r\n Tracking.close();\r\n }\r\n\r\n vm.getTemplateCallback = function (templates) {\r\n vm.templateListData = templates;\r\n vm.templateList = [];\r\n angular.forEach(vm.templateListData, function (d) {\r\n if (d.Skill != 'Water Sample Collection') {\r\n vm.templateList.push(d);\r\n }\r\n })\r\n }\r\n vm.TicketBreachValueconver = function(TicketBreachValue)\r\n {\r\n var TicketBreachValueInString=\"\"; \r\n if(TicketBreachValue==0)\r\n TicketBreachValueInString = \"Not Breached\";\r\n if(TicketBreachValue==1)\r\n TicketBreachValueInString = \"Breached\";\r\n \r\n return TicketBreachValueInString;\r\n }\r\n vm.CreateLabBooking = function () {\r\n vm.ticketData.Template = vm.selectedTemplates;\r\n console.log('vm.ticketData', vm.ticketData);\r\n }\r\n\r\n vm.OpenApproveModal = function (currentJOb) \r\n {\r\n \r\n vm.CurrentJob = currentJOb;\r\n vm.RatingOfTicket = ''; \r\n if(vm.CurrentJob.IsLineItemAvailable==true && vm.CurrentJob.IsDynamicPriceApproved==false){\r\n vm.aproveMessage = 'Please approve dynamic pricing line item under the ticket details section!';\r\n approveModalInstance = $uibModal.open({\r\n templateUrl: 'dynamic_price_approved_model.html',\r\n scope: $scope\r\n });\r\n }\r\n else{\r\n vm.aproveMessage = 'Please Rate !';\r\n approveModalInstance = $uibModal.open({\r\n templateUrl: 'approve_model.html',\r\n scope: $scope\r\n });\r\n }\r\n \r\n }\r\n\r\n vm.CloseModal = function () {\r\n approveModalInstance.close();\r\n }\r\n\r\n vm.TBCCancelationAudit = function(){ \r\n vm.tbccancellationReasonsForm.submitted = true;\r\n // if(vm.CancellationReasons == 'Customer not responding' || vm.CancellationReasons == 'Customer denied sharing code'){\r\n vm.tbccancellationReasonsForm.$valid = true\r\n if (vm.tbccancellationReasonsForm.$valid) { \r\n if(vm.closureCode){\r\n vm.IsClosuerCodeAvailable = true;\r\n }\r\n else{\r\n vm.IsClosuerCodeAvailable = false;\r\n }\r\n var data = {\r\n \"TicketId\": vm.AuditTicketId,\r\n \"AuditValue\": vm.TBCCancelationModel,\r\n \"IsApplicableForAutoPayment\": vm.IsApplicableForAutoPayment,\r\n \"IsCommissionDetect\": vm.IsCommissionDetect,\r\n \"ClosuerCode\": vm.closureCode,\r\n \"IsClosuerCodeAvailable\" : vm.IsClosuerCodeAvailable,\r\n \"CancelReason\" : vm.CancellationReasons,\r\n }\r\n approveModalInstance.close();\r\n ServiceCenterTicketListService.TBCCancelationAudit(data,loggedInUserId,token).then(function(res){\r\n if(res && res.status == 200){\r\n vm.showSuccess(\"Success\", \"Job cancelation audit successfully done.\"); \r\n vm.closureCode = \"\";\r\n vm.IsClosureCodeNeeded = \"\";\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsListing(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsDashboard(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n }, 2000); \r\n }\r\n });\r\n }\r\n // }\r\n }\r\n\r\n\r\n vm.OpenRescheduleAuditModal = function (currentAuditJOb) \r\n { \r\n vm.CurrentAuditJob = currentAuditJOb;\r\n vm.RatingOfTicket = '';\r\n vm.RescheduleAuditTicketId = vm.CurrentAuditJob.TicketId;\r\n vm.AuditPrimaryReason = vm.CurrentAuditJob.PrimaryReason;\r\n rescheduleAuditModalInstance = $uibModal.open({\r\n templateUrl: 'reschedule_audit_model.html',\r\n scope: $scope\r\n }); \r\n }\r\n\r\n vm.RescheduleAuditCloseModal = function () {\r\n rescheduleAuditModalInstance.close();\r\n }\r\n \r\n vm.JobRescheduleAudit = function()\r\n {\r\n rescheduleAuditModalInstance.close();\r\n ServiceCenterTicketListService.TBCCancelationAudit(vm.RescheduleAuditModel,vm.RescheduleAuditTicketId,loggedInUserId,token).then(function(res){\r\n if(res && res.status == 200){\r\n vm.showSuccess(\"Success\", \"Job cancelation audit successfully done.\"); \r\n }\r\n });\r\n }\r\n vm.OpenTicketRatingModal = function (currentTicketJob) \r\n { \r\n ServiceCenterTicketListService.GetCSATRatingByTicketID(loggedInUserId, currentTicketJob.TicketId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.TicketRatingList=resp.data;\r\n ticketRatingModalInstance = $uibModal.open({\r\n templateUrl: 'ticket_rating_model.html',\r\n scope: $scope\r\n });\r\n }\r\n\r\n }, function () {\r\n \r\n });\r\n } \r\n \r\n\r\n vm.TicketRatingCloseModal = function () {\r\n ticketRatingModalInstance.close();\r\n }\r\n\r\n \r\n\r\n vm.NoLatLongModal = function () {\r\n NoLatLongModalInstance = $uibModal.open({\r\n templateUrl: 'latLong.html',\r\n scope: $scope\r\n });\r\n\r\n }\r\n\r\n vm.NoLatLongModalModal = function () {\r\n NoLatLongModalInstance.close();\r\n }\r\n\r\n\r\n vm.OpenSettlementModal = function (currentJOb) {\r\n vm.CurrentJob = currentJOb;\r\n vm.PaymentStatus = '';\r\n vm.Remarks = '';\r\n\r\n settlementModalInstance = $uibModal.open({\r\n templateUrl: 'settlement_model.html',\r\n scope: $scope\r\n });\r\n\r\n }\r\n\r\n vm.SettlementCloseModal = function () {\r\n settlementModalInstance.close();\r\n }\r\n\r\n vm.settlemenTicket = function (status, ticketId, remarks, userId) {\r\n settlementModalInstance.close();\r\n var settlementData = {};\r\n settlementData.PaymentStatus = status;\r\n settlementData.ReqUserId = loggedInUserId;\r\n settlementData.TicketId = ticketId;\r\n settlementData.Remarks = remarks;\r\n settlementData.FEId = userId;\r\n settlementData.Status = \"Done\";\r\n ServiceCenterTicketListService.updateTicketSettlement(settlementData, token, loggedInUserId, function (res) {\r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job settlement successfully done.\")\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsListing(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsDashboard(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to settlement payment. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n\r\n }\r\n\r\n\r\n vm.DeleteTicket = function () {\r\n var ticketId = [];\r\n angular.forEach(vm.ticketList, function (t) {\r\n if (t.checked) {\r\n ticketId.push(t.TicketId);\r\n }\r\n })\r\n // ticketId = ticketId.length > 0 ? ticketId.substring(0, ticketId.length - 1) : ticketId;\r\n\r\n if (ticketId != null && ticketId.length == 1) {\r\n ServiceCenterTicketListService.DeleteTickets(loggedInUserId, ticketId, token).then(function (resp) {\r\n vm.showAutoSchduleBtn = false;\r\n vm.downloadFlag = false;\r\n vm.downloadReportBtn = false;\r\n vm.deleteFlag = false;\r\n if (resp && resp.status == 202) {\r\n vm.showSuccess(\"Deleted\", resp.data);\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsListing(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsDashboard(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n } else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n\r\n })\r\n } else {\r\n vm.showFailure(\"Failed\", \"You can delete only one ticket at a time.\");\r\n }\r\n }\r\n\r\nvm.NoLatLongTickits=\"\";\r\n vm.AutoSchedule = function () {\r\n var ticketId = [];\r\n var notlatlongticketId = \"\";\r\n angular.forEach(vm.ticketList, function (t) { \r\n if (t.checked) {\r\n if(t.Latitude==\"\" || t.Latitude==\"0.0\" || t.Latitude==\"0\" || t.Longitude==\"\" || t.Longitude==\"0.0\" || t.Longitude==\"0\")\r\n {\r\n notlatlongticketId = t.TicketId + \", \";\r\n }\r\n else\r\n { \r\n ticketId.push(t.TicketId); \r\n }\r\n \r\n }\r\n })\r\n\r\n if (ticketId != null) {\r\n ServiceCenterTicketListService.SetTicketExecutionMode(loggedInUserId, \"Auto\", ticketId, token).then(function (resp) {\r\n vm.showAutoSchduleBtn = false;\r\n vm.downloadFlag = false;\r\n vm.downloadReportBtn = false;\r\n vm.deleteFlag = false;\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Scheduled Tickets\", resp.data.toString());\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsListing(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsDashboard(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n } else {\r\n vm.showFailure(\"Failed to schedule tickets\", resp.data.toString());\r\n }\r\n })\r\n }\r\n if(notlatlongticketId !=\"\")\r\n {\r\n vm.NoLatLongTickits = notlatlongticketId;\r\n vm.NoLatLongModal();\r\n \r\n \r\n } \r\n }\r\n\r\n\r\n vm.OpenFollowUpModel = function (ticketId) {\r\n vm.followup = '';\r\n vm.tickId = ticketId;\r\n FollowUpModel = $uibModal.open({\r\n templateUrl: 'FollowupJob.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n controller: ModalInstanceCtrlFollowUp,\r\n });\r\n }\r\n\r\n vm.CloseFollowUpModel = function () {\r\n vm.primaryHoldReason='';\r\n vm.primaryHoldRemark='';\r\n vm.followFiles = null; \r\n FollowUpModel.close();\r\n }\r\n\r\n vm.RejectJobModel = function (currentJOb) {\r\n vm.CurrentJob = currentJOb;\r\n RejectJobModel = $uibModal.open({\r\n templateUrl: 'Rejectjob.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n\r\n vm.ConvertToNewJob = function(currentJOb){\r\n\r\n vm.CurrentJob = currentJOb; \r\n var data = {\r\n \"ReqUserId\": loggedInUserId,\r\n \"TicketId\": vm.CurrentJob.TicketId,\r\n \"Status\": \"New\" \r\n };\r\n ServiceCenterTicketListService.ConvertToNewJob(data, token, loggedInUserId, function (res) {\r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job converted successfully.\")\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsListing(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsDashboard(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to convert job. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.CloseRejectModel = function () {\r\n RejectJobModel.close();\r\n }\r\n\r\n var ModalInstanceCtrlFollowUp = function ($scope, $rootScope, $uibModalInstance) {\r\n vm.updateFollowUpStatus = function () {\r\n var data = {};\r\n data = {\r\n \"userId\": loggedInUserId,\r\n \"dateTime\": \"\",\r\n \"activity\": vm.followup,\r\n \"action\": \"FOLLOW_UP\",\r\n \"userName\": \"\",\r\n \"ticketId\": vm.tickId,\r\n \"primaryReason\": \"\",\r\n \"SecondryReason\": \"\",\r\n \"ReasonComment\": \"\"\r\n }\r\n vm.CloseFollowUpModel();\r\n ServiceCenterTicketListService.TicketFollowUp(data, token, loggedInUserId).then(function (res) {\r\n if (res && res.status == 201) {\r\n vm.showSuccess(\"Success\", \"Follow up done successfully.\");\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsListing(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsDashboard(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to create follow up. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n }\r\n }\r\n\r\n vm.ApproveJob = function () {\r\n \r\n if (vm.RatingOfTicket) {\r\n var jobwinrate = 0.0;\r\n if(vm.Winrate == null || vm.Winrate == 0 || vm.Winrate =='')\r\n jobwinrate = 0.0;\r\n else\r\n jobwinrate = vm.Winrate; \r\n\r\n \r\n\r\n approveModalInstance.close();\r\n var data = {\r\n \"ReqUserId\": loggedInUserId,\r\n \"TicketId\": vm.CurrentJob.TicketId,\r\n \"Status\": \"Approved\",\r\n \"JobWinRate\" :parseFloat(jobwinrate.toFixed(2)),\r\n \"TechnicianRating\": vm.RatingOfTicket.toString(),\r\n \"ApprovalRemark\": vm.approvalRemark.toString(),\r\n \"IsSafetyAudit\":vm.IsSafetyAudit\r\n };\r\n ServiceCenterTicketListService.ApproveJob(data, token, loggedInUserId).then(function (res) {\r\n if(res && res.data==\"Please enter atleast one Line Item to Approve this job \")\r\n {\r\n vm.showFailure(\"Success\", \"Please enter atleast one Line Item to Approve this job.\")\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsListing(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsDashboard(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000)\r\n }\r\n else if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job approved successfully.\")\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsListing(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsDashboard(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000) } \r\n else if (res && res.data && res.data.Message) {\r\n\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to approve job. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n } else {\r\n vm.ratingwarning=\"Please rate the technician.\";\r\n }\r\n }\r\n\r\n vm.AcceptJob = function (currentJOb) {\r\n \r\n vm.CurrentJob = currentJOb;\r\n var data = {\r\n \"ReqUserId\": loggedInUserId,\r\n \"TicketId\": vm.CurrentJob.TicketId,\r\n \"Status\": \"Accepted\" \r\n };\r\n ServiceCenterTicketListService.AcceptJob(data, token, loggedInUserId, function (res) {\r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job accepted successfully.\")\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsListing(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsDashboard(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to accept job. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n \r\n }\r\n\r\n vm.reAssignJob = function (currentJOb) {\r\n \r\n vm.CurrentJob = currentJOb;\r\n var data = {\r\n \"ReqUserId\": loggedInUserId,\r\n \"TicketId\": vm.CurrentJob.TicketId,\r\n \"Status\": \"Assigned\" \r\n };\r\n ServiceCenterTicketListService.AcceptJob(data, token, loggedInUserId, function (res) {\r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job reassigned successfully.\")\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsListing(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsDashboard(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000)\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to reassign job. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n \r\n }\r\n\r\n vm.cloneTicket = function (currentJOb) {\r\n \r\n vm.CurrentJob = currentJOb;\r\n $state.go('index.JobBidCreation', { \r\n cloneticketid:vm.CurrentJob.TicketId \r\n },\r\n {\r\n reload: true,\r\n inherit: false,\r\n notify: true\r\n }); \r\n \r\n }\r\n\r\n vm.RejectJob = function () {\r\n if(!vm.RejectionRemark)\r\n {\r\n vm.showFailure(\"Failed\", \"Please comment on rejection.\");\r\n return;\r\n }\r\n RejectJobModel.close(); \r\n var data = {\r\n \"ReqUserId\": loggedInUserId,\r\n \"TicketId\": vm.CurrentJob.TicketId,\r\n \"Status\": \"Rejected\", \r\n \"RejectionRemark\": vm.RejectionRemark.toString()\r\n };\r\n ServiceCenterTicketListService.RejectJob(data, token, loggedInUserId, function (res) {\r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job rejected successfully.\")\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsListing(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsDashboard(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000)\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to approve job. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n \r\n }\r\n\r\n // vm.PullBackTicket = function (ticketId) {\r\n // ServiceCenterTicketListService.PullBackTicket(loggedInUserId, ticketId, token).then(function (resp) {\r\n // if (resp && resp.status == 200) {\r\n // vm.showSuccess(\"Success\", \"Job has pull backed successfully.\")\r\n // $timeout(function () {\r\n // vm.FilterArray();\r\n // vm.getAllJobTicketsListing(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n // vm.getAllJobTicketsDashboard(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n // }, 2000)\r\n // } \r\n // })\r\n // }\r\n vm.toBeAssignedTicketId = \"\";\r\n vm.teamToBeAssignedList = [];\r\n vm.ReallocateTicket = function(ticketId){\r\n vm.toBeAssignedTicketId = ticketId;\r\n vm.teamToBeAssignedList = [];\r\n ManualAssignationJobService.GetAllReprotingToUsersCRM(vm.toBeAssignedTicketId,loggedInUserId, token).then(function (resp) {\r\n if (resp.data && resp.status == 200) {\r\n if (Array.isArray(resp.data) && resp.data.length > 0) {\r\n vm.teamToBeAssignedList = resp.data;\r\n reallocateModalInstance = $uibModal.open({\r\n templateUrl: 'call_reallocate_model.html',\r\n scope: $scope\r\n }); \r\n } else {\r\n vm.showFailure(\"Failed\",resp.data);\r\n }\r\n }\r\n });\r\n }\r\n\r\n vm.reallocateTicketCloseModal = function () {\r\n reallocateModalInstance.close();\r\n vm.disableCreateButton = false;\r\n vm.toBeAssignedTicketId = \"\";\r\n vm.teamToBeAssignedList = [];\r\n }\r\n\r\n vm.AllocateTicket = function(ticketId){\r\n vm.toBeAssignedTicketId = ticketId;\r\n vm.teamToBeAssignedList = [];\r\n ManualAssignationJobService.GetAllReprotingToUsersCRM(vm.toBeAssignedTicketId,loggedInUserId, token).then(function (resp) {\r\n if (resp.data && resp.status == 200) {\r\n if (Array.isArray(resp.data) && resp.data.length > 0) {\r\n vm.teamToBeAssignedList = resp.data;\r\n allocateModalInstance = $uibModal.open({\r\n templateUrl: 'call_allocate_model.html',\r\n scope: $scope\r\n }); \r\n } else {\r\n vm.showFailure(\"Failed\",resp.data);\r\n }\r\n }\r\n });\r\n }\r\n\r\n vm.AllocateTicketCloseModal = function () {\r\n allocateModalInstance.close();\r\n vm.disableCreateButton = false;\r\n vm.toBeAssignedTicketId = \"\";\r\n vm.teamToBeAssignedList = [];\r\n }\r\n\r\n\r\n vm.OpenRevertAndReassignTicketModel = function(ticketId){\r\n vm.toBeAssignedTicketId = ticketId;\r\n vm.teamToBeAssignedList = [];\r\n ManualAssignationJobService.GetAllReprotingToUsersCRM(vm.toBeAssignedTicketId,loggedInUserId, token).then(function (resp) {\r\n if (resp.data && resp.status == 200) {\r\n if (Array.isArray(resp.data) && resp.data.length > 0) {\r\n vm.teamToBeAssignedList = resp.data;\r\n revertModalInstance = $uibModal.open({\r\n templateUrl: 'call_revert_model.html',\r\n scope: $scope\r\n }); \r\n } else {\r\n vm.showFailure(\"Failed\",resp.data);\r\n }\r\n }\r\n });\r\n }\r\n\r\n vm.closeRevertTicketModel = function () {\r\n revertModalInstance.close();\r\n vm.disableCreateButton = false;\r\n vm.toBeAssignedTicketId = \"\";\r\n vm.teamToBeAssignedList = [];\r\n }\r\n\r\n vm.RevertTBCAndReassign = function () {\r\n vm.revertForm.submitted = true;\r\n if (vm.revertForm.$valid) {\r\n vm.disableCreateButton = true;\r\n ServiceCenterTicketListService.RevertTBCAndReassign(vm.toBeAssignedTicketId, vm.selectTechnician, loggedInUserId, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Job has been re-assigned to the selected technician successfully.\");\r\n vm.closeRevertTicketModel();\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsListing(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsDashboard(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 2000)\r\n }\r\n else {\r\n vm.disableCreateButton = false;\r\n vm.showFailure(\"Failed\", resp.data)\r\n }\r\n });\r\n }\r\n }\r\n\r\n vm.TransferCallToServiceCentre = function () {\r\n vm.reallocationForm.submitted = true;\r\n if (vm.reallocationForm.$valid){\r\n vm.disableCreateButton = true;\r\n ServiceCenterTicketListService.TransferCallToServiceCentre(vm.toBeAssignedTicketId, vm.selectTechnician, loggedInUserId, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Job has reallocated successfully.\");\r\n vm.reallocateTicketCloseModal();\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsListing(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsDashboard(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 2000)\r\n }\r\n else {\r\n vm.disableCreateButton = false;\r\n vm.showFailure(\"Failed\", resp.data)\r\n }\r\n });\r\n }\r\n \r\n }\r\n\r\n\r\n vm.AssignTicketsToFixedTeam = function () {\r\n vm.allocationForm.submitted = true;\r\n if (vm.allocationForm.$valid){\r\n vm.disableCreateButton = true;\r\n ServiceCenterTicketListService.VendorManagerAssignJobTeam(vm.selectTechnician, loggedInUserId, vm.toBeAssignedTicketId, vm.AccountId, token).then(function (resp) {\r\n\t\t\t\t\tif (resp && resp.status == '200') {\r\n vm.showSuccess(\"Success\", \"Job has allocated successfully.\");\r\n vm.AllocateTicketCloseModal();\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsListing(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsDashboard(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 2000)\r\n }\r\n else {\r\n vm.disableCreateButton = false;\r\n vm.showFailure(\"Failed\", resp.data)\r\n }\r\n });\r\n }\r\n \r\n }\r\n\r\n vm.GetHoldReasons = function(){\r\n ServiceCenterTicketListService.GetReasonsByStatus(supervisorId, token, 'Hold').then(function (resp) { \r\n if (resp && resp.data) {\r\n vm.reasonsForHold = resp.data;\r\n }\r\n });\r\n }\r\n vm.GetHoldReasons();\r\n\r\n vm.OpenHoldUpModel = function (ticketId, holdstatus) {\r\n if(holdstatus == 'Unhold')\r\n {\r\n vm.UpdateHoldingStatus(ticketId, holdstatus);\r\n } \r\n else{\r\n vm.tickId = ticketId;\r\n $scope.holdstatus =holdstatus;\r\n FollowUpModel = $uibModal.open({\r\n templateUrl: 'HoldJob.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n controller: ModalInstanceCtrlFollowUp,\r\n });\r\n } \r\n }\r\n vm.UpdateHoldReason=\"Update\";\r\n\r\n vm.UpdateHoldingStatus = function (ticketId, holdingStatus) {\r\n if(vm.primaryHoldReason!= null)\r\n {\t\r\n vm.enable1 = \"false\";\r\n vm.UpdateHoldReason=\"Updating...\";\r\n };\r\n ServiceCenterTicketListService.UpdateHoldingStatus(loggedInUserId, ticketId, holdingStatus,vm.primaryHoldReason,vm.primaryHoldRemark, token).then(function (resp) {\r\n if (resp.status == 202) {\r\n vm.showSuccess('Job Hold/Unhold Status', 'Job has been updated successfully');\r\n vm.CloseFollowUpModel();\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsListing(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsDashboard(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000)\r\n } else {\r\n vm.showFailure('Job Hold/Unhold Status', 'Unable to update job, server is not responding correctly.');\r\n }\r\n }, function (err) {\r\n vm.showFailure('Job Hold/Unhold Status', 'Unable to update job, server is not responding correctly.');\r\n })\r\n }\r\n\r\n vm.downloadReport = function (ticketId, templateName) {\r\n if (templateName == 'Water Testing') {\r\n var urlWithFeasible = PublicApiURL + '/api/Report/' + ticketId + '/DownloadReportByTemplateName?reqUserId=' + $localStorage.loggedInUserId;\r\n $window.open(urlWithFeasible, '_blank')\r\n } else {\r\n var urlForNonFeasible = PublicApiURL + '/api/Report/' + ticketId + '/Report?reqUserId=' + $localStorage.loggedInUserId;\r\n $window.open(urlForNonFeasible, '_blank')\r\n }\r\n }\r\n\r\n vm.starChanged = function () {\r\n switch (vm.RatingOfTicket) {\r\n case '5':\r\n vm.aproveMessage = 'Excellent';\r\n break;\r\n\r\n case '4':\r\n vm.aproveMessage = 'Very Good';\r\n break;\r\n\r\n case '3':\r\n vm.aproveMessage = 'Good';\r\n break;\r\n\r\n case '2':\r\n vm.aproveMessage = 'Bad';\r\n break;\r\n\r\n case '1':\r\n vm.aproveMessage = 'Very Bad';\r\n break;\r\n }\r\n vm.ratingwarning=\"\";\r\n }\r\n vm.updateStartTime = function (ticket) {\r\n if (moment(ticket.StartTimeD, \"DD/MM/YYYY LTS\").format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\") != ticket.StartTime.format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\")) {\r\n ServiceCenterTicketListService.updateStartTime(ticket.TicketId, loggedInUserId, ticket.StartTime, token, function () {\r\n vm.showSuccess(\"Success\", \"Start time updated successfully.\");\r\n }, vm.showFailure);\r\n ticket.StartTimeD = ticket.StartTime.format(\"DD/MM/YYYY LTS\");\r\n }\r\n\r\n }\r\n\r\n vm.setDefaultValTocal = function (ticket) {\r\n if (ticket.StartTime) {\r\n ticket.StartTimeObj = moment(ticket.StartTime, \"YYYY-MM-DDThh:mm:ss.SSSZ\");\r\n }\r\n }\r\n\r\n vm.showStartTimeCal = function (ticket) {\r\n if (ticket) {\r\n angular.forEach(vm.ticketList, function (d) {\r\n d.calStartTime = false;\r\n });\r\n ticket.calStartTime = true;\r\n }\r\n }\r\n\r\n // vm.downloadMultipleReports = function () {\r\n // var ticketId = \"\";\r\n // var correlated = $localStorage.accountConfig.CorrelatedReports;\r\n // var reportMapperId = $localStorage.accountConfig.ReportMapperId;\r\n // angular.forEach(vm.ticketList, function (t) {\r\n // if (t.checked) {\r\n // ticketId += t.TicketId + \",\";\r\n // }\r\n // })\r\n // ticketId = ticketId.length > 0 ? ticketId.substring(0, ticketId.length - 1) : ticketId;\r\n // ServiceCenterTicketListService.downloadMultipleReports(loggedInUserId, ticketId, reportMapperId, correlated);\r\n // vm.showAutoSchduleBtn = false;\r\n // vm.downloadFlag = false;\r\n // vm.downloadReportBtn = false;\r\n // vm.deleteFlag = false;\r\n // vm.getAllJobTicketsListing(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n // vm.getAllJobTicketsDashboard(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n // // }\r\n\r\n // vm.downloadInvoiceReport = function () {\r\n // var ticketId = \"\";\r\n // var correlated = $localStorage.accountConfig.CorrelatedReports;\r\n // // var reportMapperId = $localStorage.accountConfig.ReportMapperId;\r\n // angular.forEach(vm.ticketList, function (t) {\r\n // if (t.checked) {\r\n // ticketId += t.TicketId + \",\";\r\n // }\r\n // })\r\n // ticketId = ticketId.length > 0 ? ticketId.substring(0, ticketId.length - 1) : ticketId;\r\n // ServiceCenterTicketListService.downloadInvoice(loggedInUserId, ticketId, correlated);\r\n // }\r\n\r\n vm.showMultipleDownloadButton = function () {\r\n var ticketSelected = false;\r\n var IsReportMapper = false; \r\n vm.invoiceFlag = false;\r\n vm.deleteFlag = false;\r\n vm.actionFlag = false;\r\n var actionFlagList = [];\r\n var deleteFlagList = [];\r\n angular.forEach(vm.ticketList, function (t) {\r\n ticketSelected = ticketSelected || t.checked;\r\n if(t.checked){\r\n if(t.reportMapperId)\r\n {\r\n IsReportMapper = true;\r\n }\r\n else\r\n {\r\n IsReportMapper = false; \r\n }\r\n }\r\n if (vm.Role == 'Vendor Manager') {\r\n if (t.checked && t.Skill == 'Water Lab Test' && t.Status == 'Completed') {\r\n vm.invoiceFlag = true;\r\n } else if (t.checked && t.AcceptDate != null) {\r\n actionFlagList.push(false);\r\n } else if (t.checked && t.AcceptDate == null && t.Status == 'Rejected') {\r\n actionFlagList.push(false);\r\n } else if (t.checked && t.AcceptDate == null && t.Status == 'Assigned') {\r\n actionFlagList.push(true);\r\n }\r\n } else {\r\n if (t.checked && t.Skill == 'Water Lab Test' && t.Status == 'Completed') {\r\n vm.invoiceFlag = true;\r\n } else if (t.checked && t.Status == 'New') {\r\n deleteFlagList.push(true);\r\n // vm.deleteFlag = true;\r\n } else if (t.checked && t.Status != 'New') {\r\n // vm.deleteFlag = false;\r\n deleteFlagList.push(false);\r\n }\r\n }\r\n\r\n\r\n })\r\n if (deleteFlagList.includes(false)) {\r\n vm.deleteFlag = false;\r\n } else if (deleteFlagList.includes(true)) {\r\n vm.deleteFlag = true;\r\n } if (actionFlagList.includes(false)) {\r\n vm.actionFlag = false\r\n } else {\r\n vm.actionFlag = true;\r\n }\r\n return IsReportMapper && ticketSelected && $localStorage.accountConfig != null && $localStorage.accountConfig.CorrelatedReports != null && $localStorage.accountConfig.ReportMapperId != null;\r\n }\r\n // vm.showInvoiceButton = function () {\r\n // var invoiceFlag = false;\r\n // angular.forEach(vm.ticketList, function (t) {\r\n // if (t.checked && t.Skill == 'Water Lab Test' && t.Status == 'Completed') {\r\n // var invoiceFlag = true;\r\n // return invoiceFlag;\r\n // } \r\n // })\r\n // return invoiceFlag;\r\n // }\r\n\r\n vm.hideSingleDownloadButton = function () {\r\n return $localStorage.accountConfig != null && $localStorage.accountConfig.CorrelatedReports != null && $localStorage.accountConfig.ReportMapperId != null || $localStorage.loggedInUser_Role == 'Vendor Manager';\r\n }\r\n\r\n vm.isApprovalPermission = function (defaultValue) {\r\n if (vm.accountConfig && vm.accountConfig['ApprovalPermission'] != null) {\r\n return vm.accountConfig['ApprovalPermission'].split(\",\").indexOf($localStorage.loggedInUser_Role) > -1;\r\n }\r\n return defaultValue;\r\n }\r\n\r\n vm.OpenBillModal = function (ticketId) {\r\n vm.BillDetails = [];\r\n vm.TotalExpense = '';\r\n ServiceCenterTicketListService.getBillExpenseByTicketID(loggedInUserId, ticketId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n angular.forEach(resp.data, function (d) {\r\n vm.BillDetails = d.Bills;\r\n vm.TotalExpense = d.ExpenseAmount;\r\n })\r\n }\r\n if (vm.TotalExpense != 0) {\r\n BillModal = $uibModal.open({\r\n templateUrl: 'bill_model.html',\r\n scope: $scope\r\n })\r\n }\r\n })\r\n }\r\n\r\n vm.CloseBillModal = function () {\r\n BillModal.close();\r\n }\r\n\r\n vm.getPicUrl = function (pic) {\r\n return ImageUrl + '/' + pic;\r\n }\r\n vm.ReportpdfUrl = function (pic) {\r\n // alert('hello');\r\n return InvoiceUrl + '/' + pic;\r\n }\r\n\r\n\r\n vm.downloadDataCaptureImage = function(){\r\n var ticket = '';\r\n for(var i=0;i 31 \r\n && (charCode < 48 || charCode > 57))\r\n return false;\r\n\r\n return true;\r\n }\r\n \r\n });\r\n\r\nangular.module('inspinia').filter('changeTime', function () {\r\n\r\n return function (s) {\r\n var ms = s % 1000;\r\n s = (s - ms) / 1000;\r\n var secs = s % 60;\r\n s = (s - secs) / 60;\r\n var mins = s % 60;\r\n var hrs = (s - mins) / 60;\r\n\r\n return hrs + ':' + mins + ' hr';\r\n }\r\n});\r\nfunction CheckRegExOnKeyPressDesc(e) {\r\n \r\n var regex = new RegExp(\"^[a-zA-Z0-9\\\\s.,/-]+$\");\r\n var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);\r\n if (regex.test(str)) {\r\n return true;\r\n }\r\n e.preventDefault();\r\n return false;\r\n};\nangular.module('inspinia').service('ServiceCenterListService', function (ApiURL,MMFCRMURL, $http,$localStorage) {\r\n\r\n \r\n\r\n // this.GetAllTicketsForContact = function (loggedinUser, token, contactNo) {\r\n // var url = MMFCRMURL + '/api/CRMConsumer/GetAllTicketsForContact?Contact=' + contactNo;\r\n // return $http.get(url, {\r\n // headers: {\r\n // 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n // }\r\n // });\r\n // }\r\n\r\n//testaz.mymobiforce.com/coreAPI/api/User/SearchServiceCenter?searchText=201301\r\nthis.GetSearchServiceCenter = function (loggedinUser, token, searchtext) {\r\n var url = ApiURL + '/api/User/SearchServiceCenter?searchText=' + searchtext;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\nthis.GetSearchServiceCenter_CSV = function (loggedinUser, token, searchtext) {\r\n var url = ApiURL + '/api/User/SearchServiceCenter_CSV?searchText=' + searchtext;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\n\r\nthis.ActivateVendorTeam = function (userIdtoUpdate, loggedInUser, token) {\r\n var url = ApiURL + '/api/User/ActivateVendorTeam?userId='+ userIdtoUpdate;\r\n return $http.put(url,null,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n this.ResetPasswordForTeam = function (loggedinUser,TechnicianUserId, token) {\r\n var url = ApiURL + '/api/User/ResetPasswordForTeam?UserId=' + TechnicianUserId;\r\n return $http.get(url,{\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token': token, \r\n 'UserId':loggedinUser\r\n }});\r\n }\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('ServiceCenterListController', function (ServiceCenterListService,CentralHDTicketsViewService, ReferService, $resource, toaster, $filter, $compile, $q, $state, $localStorage, $scope, DTOptionsBuilder, DTColumnBuilder, $uibModal, $timeout) {\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvm.AccountId= $localStorage.accountConfig.AccountId;\r\n\t\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\t\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\t\tvm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\t\tvm.pageListCounts = [10, 20, 30, 50];\r\n\t\tvar PageIndex = 1;\r\n\t\tvar PageSize = 10;\r\n\t\tvm.IsConsumerFound = false;\r\n\t\tvm.consumerTitle = '';\r\n\t\tvm.consumerFirstName = '';\r\n\t\tvm.consumerLastName = '';\r\n\t\t// if (!$localStorage.searchtext) {\r\n\t\t// \t// If not, initialize it to an empty string\r\n\t\t// \t$localStorage.searchtext = '';\r\n\t\t// }\r\n\t\r\n\t\t// // Assign the value of searchtext to $localStorage.searchtext whenever it changes\r\n\t\t// $scope.$watch('searchtext', function(newVal) {\r\n\t\t// \t$localStorage.searchtext = newVal;\r\n\t\t// });\r\n\t\r\n\t\t// Retrieve the value of searchtext from local storage\r\n\t\t// $scope.searchtext = vm.searchtext;\r\n\t\tvm.searchtext = '';\r\n\t\tvm.consumerAltContact = '';\r\n\t\tvm.PersonalEmail = '';\r\n\t\tvm.consumerType = '';\r\n\t\tvm.consumerCity = '';\r\n\t\tvm.consumerPincode = '';\r\n\t\tvm.consumerState = '';\r\n\t\t$scope.dates = { startDate: moment().subtract(0, 'days'), endDate: moment() };\r\n\t\tvar startDate = moment().subtract(0, 'days').format(\"YYYY-MM-DD\");\r\n\t\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\t\t$scope.minDate = new Date();\r\n\t\tvm.disableCreateButton = false;\r\n\r\n\t\tvm.DisableCreateButton = function (disable) {\r\n\t\t\tif (disable) {\r\n\t\t\t\tvm.disableCreateButton = true;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.disableCreateButton = false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t$scope.ranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment()]\r\n\t\t};\r\n\r\n\t\t$scope.dateRangeChange = function (ev, picker) {\r\n\t\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\t\tvm.getAllJobForExceptionList();\r\n\r\n\r\n\t\t};\r\n\r\n\t\t$scope.totalFinList = 0;\r\n\t\t$scope.usersPerPage = vm.allSalesOrderPageListCount;\r\n\t\t$scope.SalesOrderPagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\r\n\t\tvm.consumerAllTicketsData = [];\r\n \r\n\t\tvm.GetSearchServiceCenter = function () {\r\n\t\t\tServiceCenterListService.GetSearchServiceCenter(loggedinUser,token,vm.searchtext).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.consumerAllTicketsData = resp.data;\r\n\t\t\t\t\tvm.IsConsumerFound = true;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\tvm.IsConsumerFound = false;\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message)\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.GetSearchServiceCenter();\r\n\r\n\r\n\t\tvm.GetSearchServiceCenter_CSV = function () {\r\n\t\t\tServiceCenterListService.GetSearchServiceCenter_CSV(loggedinUser,token,vm.searchtext).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data && resp.status == 200) {\r\n\t\t\t\t\tvar csvData = resp.data;\r\n\t\t\t\t\tvar blob = new Blob([csvData], { type: 'text/csv' });\r\n\t\t\t\t\tvar url = window.URL.createObjectURL(blob);\r\n\t\t\t\t\tvar a = document.createElement('a');\r\n\t\t\t\t\ta.href = url;\r\n\t\t\t\t\ta.download = 'service_center_list.csv';\r\n\t\t\t\t\ta.click();\r\n\t\t\t\t\twindow.URL.revokeObjectURL(url);\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\r\n\t\tvm.ResetFilter = function(){\r\n\t\t\tvm.searchtext = '';\r\n\t\t\tvm.GetSearchServiceCenter();\r\n\t\t\t// vm.consumerAllTicketsData = '';\r\n\t\t\t// vm.IsConsumerFound = false;\r\n\t\t}\r\n\t\tvm.Open360ForActiveUsers = function(teamid){\r\n\t\t\t$state.go('index.Technician360view',{\r\n\t\t\t\tuserId: teamid\r\n\t\t\t }, { reload: true });\r\n\t\t}\r\n\t\tvm.Editdetails = function(userId){\r\n\t\t\t$state.go('index.ServiceCenter_FormEdit',{\r\n\t\t\t\tuserId: userId\r\n\t\t\t }, { reload: true });\r\n\t\t}\r\n\t\tvm.AddTeamMember = function () {\r\n\t\t\t$state.go('index.ServiceCenterFormCreation', {\r\n\t\t\t reload: true\r\n\t\t\t});\r\n\t\t }\r\n\t\t vm.UploadServiceCenter = function () {\r\n\t\t\t$state.go('index.bulkuploadServiceCenter', {\r\n\t\t\t reload: true\r\n\t\t\t});\r\n\t\t }\r\n\t\tvm.ActivateUser = function (userIdtoUpdate) {\r\n\t\t\tif (vm.isUpdating) return;\r\n\t\t \r\n\t\t\tvm.isUpdating = true;\r\n\t\t\tServiceCenterListService.ActivateVendorTeam(userIdtoUpdate, loggedinUser, token).then(function (resp) {\r\n\t\t\t if (resp && resp.status == 200) {\r\n\t\t\t\t// vm.showSuccess(\"Success\", \"User status updated successfully\");\r\n\t\t\t\t$timeout(function(){\r\n\t\t\t\t vm.GetSearchServiceCenter();\r\n\t\t\t\t vm.isUpdating = false;\r\n\t\t\t\t}, 2000);\r\n\t\t\t } else {\r\n\t\t\t\tvm.isUpdating = false;\r\n\t\t\t }\r\n\t\t\t}).catch(function() {\r\n\t\t\t vm.isUpdating = false;\r\n\t\t\t});\r\n\t\t };\r\n\t\t vm.ResetPasswordForTeam = function (UserId) {\r\n\t\t\tServiceCenterListService.ResetPasswordForTeam(loggedinUser, UserId, token).then(function (resp) {\r\n\t\t\t if (resp && resp.status == 200) {\r\n\t\t\t\tvm.showSuccess('Success', resp.data);\r\n\t\t\t }\r\n\t\t\t else {\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t }\r\n\t\t\t});\r\n\t \r\n\t\t }\r\n\r\n///share modal\r\nvm.OpenShareDetails = function (Type) {\r\n\tvm.shareType = Type\r\n\tvm.opensharewithtype = $uibModal.open({\r\n\t\ttemplateUrl: 'ShareDetailwithtypeModal.html',\r\n\t\tsize: 'md',\r\n\t\tbackdrop: 'static',\r\n\t\tscope: $scope,\r\n\t});\r\n};\r\n\r\nvm.CloseAreaConfirmationModal = function () {\r\n\tvm.opensharewithtype.close();\r\n\tvm.phoneNumber = '';\r\n\tvm.infoemail = '';\r\n}\r\nvm.share = function(shareType) {\r\n\tvm.shareinfo_form.submitted = true;\r\n if (shareType === 'SMS' || shareType === 'Whatsapp') {\r\n if (vm.shareinfo_form.contactphone.$valid) {\r\n\t\tvm.showSuccess(\"Successfully Sending\" + shareType + 'to' + vm.phoneNumber);\r\n\t\tvm.CloseAreaConfirmationModal();\r\n } \r\n\t\r\n } else if (shareType === 'Email') {\r\n if (vm.shareinfo_form.emailid.$valid) {\r\n\t\tvm.showSuccess('Sending Email to', vm.infoemail);\r\n\t\tvm.CloseAreaConfirmationModal();\r\n } \r\n\t \r\n }\r\n };\r\n \r\n\r\n\t}\r\n});\nangular.module('inspinia').service('ServiceCenterCreationService', function (ApiURL,FreelancerURL, LocationURL,PublicApiURL, $log, $http,$localStorage) {\r\n\r\n \r\n this.CreateUser = function (userFormData, loggedinUser, token) {\r\n var url = ApiURL + '/api/User?reqUserId='+loggedinUser;\r\n return $http.post(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token, 'UserId':loggedinUser \r\n }\r\n });\r\n }\r\n\r\n\r\n this.getAllRole = function (token) {\r\n var url = ApiURL + '/api/role';\r\n return $http.get(url, {\r\n 'Token': token, 'UserId':loggedinUser\r\n });\r\n }\r\n //https://test.mymobiforce.com/publicapi/api/Location/GetRegion?userId=U370000000001\r\n this.GetRegion = function(loggedInUserId, token){\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId':loggedInUserId}\r\n })\r\n }\r\n this.GetTelecomCircle = function(loggedInUserId, token){\r\n var url = PublicApiURL + '/api/Location/GetTelecomCircles?userId='+ loggedInUserId;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId':loggedInUserId}\r\n })\r\n }\r\n\r\n //https://test.mymobiforce.com/publicapi/api/Location/GetSubRegion?userId=U370000000001®ion=North\r\n this.GetSubRegion = function(loggedInUserId, token, region){\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+region;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId':loggedInUserId}\r\n })\r\n }\r\n //https://test.mymobiforce.com/publicapi/api/Location/GetCity?userId=U360000000001&subregion=noida\r\n this.GetCityBySubRegion = function(loggedInUserId, subRegion, token){\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+subRegion;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId':loggedInUserId}\r\n })\r\n }\r\n\r\n\r\n this.getAllSkills = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url, {headers:{'Token': token, 'UserId':loggedinUser}});\r\n }\r\n\r\n this.getAllBrands = function(loggedinUser, token){\r\n var url = ApiURL + '/api/MMFConsumer/GetBrandMaster';\r\n return $http.get(url, {headers:{'Token': token, 'UserId':loggedinUser}});\r\n }\r\n\r\n//https://db.mymobiforce.com/publicapi/api/Address/GetCountry?userId=U420000000001\r\nthis.getCountry = function (loggedinUser, token) {\r\n var url = PublicApiURL + '/api/Address/GetCountry?userId=' + loggedinUser;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n } \r\n});\r\n}\r\n\r\nthis.getAllState = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n } \r\n});\r\n}\r\n\r\nthis.getCities = function (loggedinUser,state,token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+state;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n } \r\n});\r\n}\r\n\r\n this.getAllCity = function (loggedinUser,state, token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+state;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n } \r\n });\r\n }\r\n\r\n this.getAllPincode = function (city) {\r\n var url = LocationURL+'/api/Location/'+$localStorage.loggedinUser+'/'+city+'/GetPincodesByCity';\r\n return $http.get(url, {\r\n params: {}\r\n });\r\n }\r\n\r\n //http://localhost:56749/api/User/Project%20Manager/GetReportingToUserByRole?reqUserId=saurabhgupta3371%40gmail.com\r\n\r\n this.GetReportingToUser = function(role, loggedinUser, token){\r\n var url = ApiURL + '/api/User/' + role + '/GetReportingToUserByRole?reqUserId=' + loggedinUser\r\n return $http.get(url,{\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token, 'UserId':loggedinUser }\r\n })\r\n }\r\n\r\n // this.validateAllPincode = function (pin) {\r\n // var url = 'https://www.whizapi.com/api/v2/util/ui/in/indian-city-by-postal-code?project-app-key=pso222ywjvx996b93gd8wpp6&pin='+pin;\r\n // return $http.get(url, {\r\n // params: {}\r\n // });\r\n // }\r\n\r\n this.getAllReportingTo = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/User';\r\n return $http.get(url, {\r\n params: {userid: loggedinUser},\r\n headers: {'Token':token, 'UserId':loggedinUser }\r\n })\r\n }\r\n\r\n\r\n // this.userDetails = function (contactNumber,loggedinUser, token ){\r\n // var url = FreelancerURL + '/api/FreelancerUser/GetServiceCenterDetails?UserIdOrContactNumber=' + contactNumber ;\r\n // return $http.get(url,{\r\n // headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedinUser} \r\n // });\r\n // }\r\n\r\n this.updateUser = function (userFormData,loggedinUser, token) {\r\n var url = ApiURL + '/api/User/UpdateTeamUserDetails';\r\n return $http.put(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token, 'UserId':loggedinUser}\r\n });\r\n }\r\n //http://192.168.0.80:92/CoreAPI/api/Role/ByReqUserId?reqUserId=kanika.bansal%40innotiontech.com\r\n\r\n this.getAllRoleByUserId = function (userId, token) {\r\n var url = ApiURL + '/api/Role/ByReqUserId?reqUserId='+userId;\r\n return $http.get(url,{\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':userId}\r\n \r\n });\r\n }\r\n\r\n this.uploadProfilePic = function(loggedinUser, data, token, success, failure){\r\n $http.post(ApiURL + '/api/UploadImage', data, { \r\n headers: {\r\n 'Content-Type': undefined, 'Token': token, 'UserId':loggedinUser\r\n }\r\n }).then(success, failure);\r\n }\r\n \r\nthis.getAllAccounts = function (loggedInUserId,token) { \r\n var url = ApiURL+ '/api/account/GetAllAccountsMiniModel';\r\n return $http.get(url, {\r\n headers: { \r\n 'Content-Type': 'application/json',\r\n 'Token':token , \r\n 'UserId':loggedInUserId\r\n \r\n }\r\n });\r\n}\r\n\r\n//Accounts API\r\nthis.getAllAccountsConfigured = function (loggedinUser,token) { \r\n var url = ApiURL+ '/api/CentralHelpDesk/GetAllAccountHDConfig';\r\n return $http.get(url, {\r\n headers: { \r\n 'Content-Type': 'application/json',\r\n 'Token':token , \r\n 'UserId':loggedinUser\r\n \r\n }\r\n });\r\n}\r\n\r\n\r\n//https://product.mymobiforce.com/coreAPI/api/User/GetTeamUserDetails?UserId=U00000000413\r\nthis.getFixedUserInfo = function (userId,loggedInUser, token) {\r\n var url = ApiURL + '/api/User/GetTeamUserDetails?UserId='+ userId ;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n}\r\n\r\n// http://localhost:56749/api/TerritoryMappingUser/GetStateByAccountIdAndRole?AccountId=114&Role=Administrator\r\nthis.getTerritoryStates = function (loggedInUser, token,AccountId,Role) {\r\n var url = ApiURL + '/api/TerritoryMappingUser/GetStateByAccountIdAndRole?AccountId='+ AccountId+ '&Role='+ Role;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n}\r\n\r\n//http://localhost:56749/api/TerritoryMappingUser/GetCityByAccountIdAndStateAndRole?AccountId=144&State=Uttar%20Pradesh&Role=Administrator\r\nthis.getTerritoryCity = function (loggedInUser, token,AccountId,state,Role) {\r\n var url = ApiURL + '/api/TerritoryMappingUser/GetCityByAccountIdAndStateAndRole?AccountId='+ AccountId+'&State='+state+'&Role='+ Role;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n}\r\n\r\n//https://upgrad.mymobiforce.com/coreapi/api/TerritoryMappingUser/GetPincodeByStateAndCityAndAccountIdAndRole?AccountId=144&State=Uttar%20Pradesh&City=Noida&Role=Administrator\r\nthis.getTerritoryPincodes = function (loggedInUser, token,AccountId,state,City,Role) {\r\n var url = ApiURL + '/api/TerritoryMappingUser/GetPincodeByStateAndCityAndAccountIdAndRole?AccountId='+ AccountId+'&State='+state+'&City='+City+'&Role='+ Role;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n}\r\n\r\nthis.GetServiceCenterDetails = function (contactnumber,loggedInUser, token) {\r\n var url = FreelancerURL + '/api/FreelancerUser/GetServiceCenterDetails?UserIdOrContactNumber='+ contactnumber;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n}\r\n\r\n// https://testaz.mymobiforce.com/freelancerAPI/api/FreelancerUser/BulkCreateServiceCenter\r\nthis.createServiceCenter = function (serviceCenterData, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreelancerUser/BulkCreateServiceCenter' ;\r\n return $http.post(url, serviceCenterData, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token, 'UserId':loggedinUser \r\n }\r\n });\r\n}\r\n\r\n \r\n});\r\n\nangular.module('inspinia').controller('ServiceCenterCreationController', function (ServiceCenterCreationService, ProjectCreationService, ReferService, MainService, $state, $scope, $timeout, $stateParams, $filter, $log, $localStorage, TeamProfileService, ImageUrl) {\r\n var vm = this;\r\n vm.isDisabled = false;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n if ($localStorage.accountConfig) {\r\n if ($localStorage.accountConfig) {\r\n vm.EnableRegion = $localStorage.accountConfig.EnableRegion;\r\n }\r\n } else {\r\n vm.EnableRegion = false;\r\n }\r\n\r\n if (!loggedinUser) {\r\n\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n\r\n vm.loggedinUserRole = $localStorage.loggedInUser_Role;\r\n\r\n //$log.log('Role=',vm.loggedinUserRole);\r\n angular.element(document).ready(function () {\r\n angular.element('ul[side-navigation]').find('a[ui-sref=\"index.TeamMember\"]').parent().prop('class', 'active');\r\n // angular.element(\".chosen-select\").chosen();\r\n });\r\n\r\n ///Global variables goign to use for seeting page defaults.\r\n\r\n var userId_ForUpdate = $stateParams.userId;\r\n vm.saveAndNewFlag = false;\r\n vm.editMode = false;\r\n vm.address_option = 'Yes';\r\n vm.officeFormValidation = false;\r\n vm.isCollapsed = false;\r\n vm.isUserDetailCollapsed = false;\r\n vm.isOfficeUseCollapsed = true;\r\n vm.Role = '';\r\n vm.specialist = \"No\";\r\n vm.ReportingTo = '';\r\n vm.SubCity = '';\r\n vm.allStates = [];\r\n //page binding models using\r\n vm.username = '';\r\n vm.gender = '';\r\n vm.email = '';\r\n vm.phone_number = '';\r\n vm.last_name = '';\r\n vm.father_name = '';\r\n vm.alternate_number = '';\r\n vm.workArea = '';\r\n vm.AccountName = '';\r\n vm.company = '';\r\n vm.permanent_address_line1 = '';\r\n vm.permanent_state = '';\r\n vm.permanent_pincode = '';\r\n vm.permanent_address_line2 = '';\r\n vm.permanent_city = '';\r\n vm.present_address_line1 = '';\r\n vm.present_address_line2 = '';\r\n vm.present_state = '';\r\n vm.present_city = '';\r\n vm.present_pincode = '';\r\n vm.skill = '';\r\n vm.expertise = '';\r\n vm.reportinToList = '';\r\n vm.workAreas = [];\r\n vm.CHDAccounts = [];\r\n vm.RemainingCHDAccounts = [];\r\n vm.SelectedAccount = {};\r\n vm.showAction = true;\r\n // vm.multiPincode = []\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n vm.LocationMapping = vm.getAccountConfigSetting('LocationMapping');\r\n vm.MainRegion = '';\r\n vm.SubRegion = '';\r\n var today = new Date();\r\n var date = today.getFullYear() - 18;\r\n var age = (today.getMonth() + 1 + \"/\" + today.getDate() + \"/\" + date).toString();\r\n\r\n vm.maxDOB = new Date(age);\r\n vm.maxDOBStr = vm.maxDOB.toDateString();\r\n age = Date.parse(age);\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.showEditList = false;\r\n vm.showEditLists = false;\r\n vm.isShow = true;\r\n vm.brand = \"\";\r\n // getAllRole();\r\n\r\n // function getAllRole() {\r\n // if (vm.loggedinUserRole == 'Administrator' || vm.loggedinUserRole == 'Project Manager' || vm.loggedinUserRole == 'Vendor Manager' || vm.loggedinUserRole == 'SuperAdministrator' || vm.loggedinUserRole == 'OnBoarding Manager' || vm.loggedinUserRole == 'Account Manager' || vm.loggedinUserRole == 'OnBoarding Supervisor' || vm.loggedinUserRole == 'Operation Manager' || vm.loggedinUserRole == 'Operation Supervisor' || vm.loggedinUserRole == 'Higher Management'\r\n // || vm.loggedinUserRole == 'Dispatch Head' || vm.loggedinUserRole == 'Dispatch Manager' || vm.loggedinUserRole == 'Freelancer Dispatcher' || vm.loggedinUserRole == 'Dispatch Team Lead' || vm.loggedinUserRole == 'OnBoarding Team Lead') {\r\n // ServiceCenterCreationService.getAllRoleByUserId(loggedinUser, token).then(function (resp) {\r\n // if(resp.status == 200){\r\n // if(resp.data && resp.data.length>0){\r\n // vm.RolesList = resp.data;\r\n // }\r\n // }\r\n // })\r\n // }\r\n // }\r\n\r\n\r\n\r\n // vm.contactNumber = \"\";\r\n // vm.firstName = \"\";\r\n // vm.lastName = \"\";\r\n // vm.shopName = \"\";\r\n // vm.upiId = \"\";\r\n \r\n // vm.skills = \"\";\r\n // vm.address1 = \"\";\r\n // vm.address2 = \"\";\r\n // vm.state = [];\r\n // vm.city = \"\";\r\n // vm.pincode = \"\";\r\n\r\n vm.edit = false;\r\n\r\n vm.GetServiceCenterDetails = function () {\r\n ServiceCenterCreationService.GetServiceCenterDetails(vm.contactNumber, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n // if(resp.data && resp.data.length>0){\r\n vm.edit = true;\r\n vm.existingUser = resp.data;\r\n vm.phone_number = vm.existingUser.ContactNumber;\r\n vm.username = vm.existingUser.FirstName;\r\n vm.last_name = vm.existingUser.LastName;\r\n vm.shop_name = vm.existingUser.ShopName;\r\n vm.UPIId = vm.existingUser.UPI_Id;\r\n vm.brand = vm.existingUser.BrandName;\r\n vm.skill = vm.existingUser.Skills;\r\n vm.permanent_address_line1 = vm.existingUser.Address;\r\n vm.permanent_address_line2 = vm.existingUser.Add2;\r\n vm.permanent_state = vm.existingUser.State;\r\n vm.selectState(vm.permanent_state)\r\n vm.permanent_city = vm.existingUser.CurrentCity;\r\n vm.permanent_pincode = vm.existingUser.CurrentPincode;\r\n }\r\n })\r\n }\r\n\r\n var serviceCenterData = [];\r\n vm.createServiceCenter = function () {\r\n vm.signup_form.submitted = true\r\n serviceCenterData = [{\r\n \"FirstName\": vm.username,\r\n \"LastName\": vm.last_name,\r\n \"ShopName\": vm.shop_name,\r\n \"ContactNumber\": parseInt(vm.phone_number), // Convert to integer\r\n \"Address\": vm.permanent_address_line1,\r\n // \"PermanentAdd1\": vm.permanent_address_line1,\r\n // \"PermanentAdd2\": vm.permanent_address_line2,\r\n \"CurrentCity\": vm.permanent_city,\r\n \"State\": vm.permanent_state,\r\n \"CurrentPincode\": parseFloat(vm.permanent_pincode), // Convert to float\r\n \"BrandName\": vm.brand,\r\n \"Skills\": vm.skill,\r\n \"UPI_Id\": vm.UPIId\r\n }];\r\n if (vm.signup_form.$valid) {\r\n ServiceCenterCreationService.createServiceCenter(serviceCenterData, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n if (vm.edit) {\r\n vm.showSuccess(\"Success\", \"Service center Updated Successfully\");\r\n }\r\n else {\r\n vm.showSuccess(\"Success\", \"Service center created Successfully\");\r\n }\r\n\r\n $timeout(function() {\r\n $state.go('index.AllUsersList', { reload: true });\r\n }, 2000); \r\n\r\n }\r\n else{\r\n vm.showFailure(\" Service Creation Failed\", resp.data);\r\n }\r\n })\r\n }\r\n\r\n }\r\n\r\n vm.resetForm = function () {\r\n // Reset all input values to empty\r\n vm.username = \" \";\r\n vm.last_name = \" \";\r\n vm.shop_name = \" \";\r\n vm.phone_number = \" \";\r\n vm.permanent_address_line1 = \" \";\r\n vm.permanent_city = \" \";\r\n vm.permanent_state = \" \";\r\n vm.permanent_pincode = \" \";\r\n vm.skillCombine = \" \";\r\n vm.UPIId = \" \";\r\n };\r\n\r\n\r\n vm.cancelForm = function () {\r\n if (vm.edit) {\r\n \r\n vm.GetServiceCenterDetails();\r\n } else {\r\n\r\n vm.resetForm();\r\n }\r\n };\r\n\r\n // vm.GetServiceCenterDetails()\r\n vm.GetReportingToUser = function (role) {\r\n vm.reportinToList = \"\";\r\n ServiceCenterCreationService.GetReportingToUser(role, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length > 0) {\r\n vm.reportinToList = resp.data;\r\n }\r\n }\r\n })\r\n }\r\n\r\n\r\n vm.removeAddmoreEditList = function () {\r\n vm.showEditList = false;\r\n vm.showAction = true;\r\n }\r\n\r\n vm.selectedCountry = null;\r\n //get country of user\r\n\r\n // vm.getCountry = function () {\r\n // ServiceCenterCreationService.getCountry(loggedinUser, token).then(function (resp) {\r\n // if(resp.status == 200){\r\n // if(resp.data && resp.data.values.length>0){\r\n // vm.countrylist = resp.data.values;\r\n // vm.selectedCountry = vm.countrylist[0];\r\n // vm.getAllState();\r\n // //getAllCircles(loggedinUser);\r\n // }\r\n // } \r\n // })\r\n // }\r\n\r\n\r\n vm.getAllState = function () {\r\n ServiceCenterCreationService.getAllState(loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length > 0) {\r\n vm.stateList = resp.data;\r\n if ($state.current.name == 'index.TeamEdit') {\r\n vm.teamEditMode = $state.current.name;\r\n vm.editMode = true;\r\n\r\n if (userId_ForUpdate.startsWith(\"U\") || userId_ForUpdate.startsWith(\"F\")) {\r\n ServiceCenterCreationService.getFixedUserInfo(userId_ForUpdate, loggedinUser, token).then(function (resp) {\r\n var userData = resp.data;\r\n vm.AccountName = userData.ServiceAccountIds;\r\n vm.username = userData.FirstName;\r\n vm.gender = userData.Gender;\r\n vm.email = userData.PersonalEmail;\r\n vm.phone_number = parseInt(userData.ContactNumber);\r\n vm.last_name = userData.LastName;\r\n vm.birth_date = moment(userData.DOB);\r\n vm.father_name = userData.FatherName;\r\n if (userData.AlternativeContactNumber) {\r\n vm.alternate_number = parseInt(userData.AlternativeContactNumber);\r\n }\r\n vm.specialist = userData.Specialist;\r\n vm.workArea = userData.Locations;\r\n //vm.company = userData.CompanyName;\r\n vm.userId = userData.UserId;\r\n vm.permanent_address_line1 = userData.PermanentAdd1;\r\n vm.permanent_address_line2 = userData.PermanentAdd2;\r\n vm.permanent_city = userData.PermanentCity.toUpperCase();\r\n vm.permanent_state = userData.PermanentState;\r\n vm.permanent_pincode = userData.PermanentPinCode;\r\n vm.present_address_line1 = userData.CurrentAdd1;\r\n vm.present_address_line2 = userData.CurrentAdd2;\r\n vm.present_city = userData.CurrentCity.toUpperCase();\r\n vm.present_state = userData.CurrentState;\r\n vm.present_pincode = userData.CurrentPinCode;\r\n vm.skill = userData.SkillSet;\r\n vm.expertise = userData.Expertise;\r\n vm.Role = userData.Role;\r\n vm.GetReportingToUser(vm.Role);\r\n vm.ReportingTo = userData.ReportingTo;\r\n vm.workAreas = userData.TerritoryConfigurations;\r\n // vm.profilePic = userData.Picture;\r\n vm.imageServices(userData.Picture);\r\n if (vm.EnableRegion) {\r\n vm.MainRegion = userData.Region;\r\n\r\n //GetSubRegionList\r\n vm.selectSubRegion(vm.MainRegion);\r\n vm.Region = userData.SubRegion;\r\n vm.selectCitySubRegion(vm.Region);\r\n vm.SubCity = userData.Locations;\r\n } else {\r\n vm.workArea = userData.Locations;\r\n }\r\n\r\n //Get Id of state by its name \r\n for (var i = 0; i < vm.stateList.length; i++) {\r\n if (vm.stateList[i] == vm.permanent_state) {\r\n vm.permanent_state = vm.stateList[i];\r\n vm.selectState(vm.permanent_state);\r\n }\r\n if (vm.stateList[i] == vm.present_state) {\r\n vm.present_state = vm.stateList[i];\r\n vm.selectStateforPresent(vm.present_state);\r\n }\r\n }\r\n\r\n ///Get the workArea badges in edit mode \r\n var circleArray = [];\r\n if (vm.workArea) {\r\n for (var pin = 0; pin < vm.workArea.length; pin++) {\r\n circleArray.push({\r\n workArea: vm.workArea\r\n });\r\n }\r\n }\r\n\r\n\r\n ///Check Present address is same as the Permanent Address.\r\n if ((vm.permanent_address_line1 == vm.present_address_line1) && (vm.permanent_address_line2 == vm.present_address_line2) && (vm.permanent_city == vm.present_city) &&\r\n (vm.permanent_state == vm.present_state) && (vm.permanent_pincode == vm.present_pincode)) {\r\n vm.address_option = 'Yes';\r\n } else {\r\n vm.address_option = 'No';\r\n }\r\n }, function () {\r\n\r\n });\r\n }\r\n else {\r\n TeamProfileService.getUserInfo(userId_ForUpdate, loggedinUser, token).then(function (resp) {\r\n var userData = resp.data;\r\n vm.username = userData.FirstName;\r\n vm.gender = userData.Gender;\r\n vm.email = userData.PersonalEmail;\r\n vm.phone_number = parseInt(userData.ContactNumber);\r\n vm.last_name = userData.LastName;\r\n vm.birth_date = moment(userData.DOB);\r\n vm.father_name = userData.FatherName;\r\n vm.alternate_number = parseInt(userData.AlternativeContactNumber);\r\n vm.specialist = userData.Specialist;\r\n //vm.workArea = userData.Locations;\r\n vm.company = userData.CompanyName;\r\n vm.userId = userData.UserId;\r\n vm.permanent_address_line1 = userData.PermanentAdd1;\r\n vm.permanent_address_line2 = userData.PermanentAdd2;\r\n vm.permanent_city = userData.PermanentCity.toUpperCase();\r\n vm.permanent_state = userData.PermanentState;\r\n vm.permanent_pincode = userData.PermanentPinCode;\r\n vm.present_address_line1 = userData.CurrentAdd1;\r\n vm.present_address_line2 = userData.CurrentAdd2;\r\n vm.present_city = userData.CurrentCity.toUpperCase();\r\n vm.present_state = userData.CurrentState;\r\n vm.present_pincode = userData.CurrentPinCode;\r\n vm.skill = userData.SkillSet;\r\n vm.expertise = userData.Expertise;\r\n vm.Role = userData.Role;\r\n vm.GetReportingToUser(vm.Role);\r\n vm.ReportingTo = userData.ReportingTo;\r\n vm.profilePic = userData.Picture;\r\n if (vm.EnableRegion) {\r\n vm.MainRegion = userData.Region;\r\n\r\n //GetSubRegionList\r\n vm.selectSubRegion(vm.MainRegion);\r\n vm.Region = userData.SubRegion;\r\n vm.selectCitySubRegion(vm.Region);\r\n vm.SubCity = userData.Locations;\r\n } else {\r\n vm.workArea = userData.Locations;\r\n }\r\n\r\n //Get Id of state by its name \r\n for (var i = 0; i < vm.stateList.length; i++) {\r\n if (vm.stateList[i] == vm.permanent_state) {\r\n vm.permanent_state = vm.stateList[i];\r\n vm.selectState(vm.permanent_state);\r\n }\r\n if (vm.stateList[i] == vm.present_state) {\r\n vm.present_state = vm.stateList[i];\r\n vm.selectStateforPresent(vm.present_state);\r\n }\r\n }\r\n\r\n ///Get the workArea badges in edit mode \r\n var circleArray = [];\r\n for (var pin = 0; pin < vm.workArea.length; pin++) {\r\n circleArray.push({\r\n workArea: vm.workArea\r\n });\r\n }\r\n\r\n ///Check Present address is same as the Permanent Address.\r\n if ((vm.permanent_address_line1 == vm.present_address_line1) && (vm.permanent_address_line2 == vm.present_address_line2) && (vm.permanent_city == vm.present_city) &&\r\n (vm.permanent_state == vm.present_state) && (vm.permanent_pincode == vm.present_pincode)) {\r\n vm.address_option = 'Yes';\r\n } else {\r\n vm.address_option = 'No';\r\n }\r\n }, function () {\r\n\r\n });\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n }\r\n }\r\n })\r\n\r\n }\r\n\r\n vm.getAllState()\r\n\r\n // vm.getCountry();\r\n\r\n $scope.modelOptions = {\r\n getterSetter: true\r\n };\r\n\r\n\r\n\r\n vm.getProfilePic = function (pic) {\r\n return ImageUrl + \"/\" + vm.profilePic;\r\n }\r\n\r\n vm.changeFile = function (selector) {\r\n angular.element(selector).trigger(\"click\");\r\n }\r\n\r\n $scope.uploadImageFile = function (files) {\r\n var file = files.files[0];\r\n\r\n var rendomnumber = Math.floor(1000 + Math.random() * 9999);\r\n filename = loggedinUser + \"_ProfilePic_\" + rendomnumber + \".\" + file.name.split(\".\")[1];\r\n var file = new File([file], filename, { type: file.type });\r\n\r\n if (file.type.indexOf(\"image/jpg\") >= 0 || file.type.indexOf(\"image/png\") >= 0\r\n || file.type.indexOf(\"image/bmp\") >= 0 || file.type.indexOf(\"image/jpeg\") >= 0) {\r\n var data = new FormData();\r\n data.append(\"files\", file);\r\n ServiceCenterCreationService.uploadProfilePic(loggedinUser, data, token, function (res) {\r\n if (res && res.status == 201 && res.data) {\r\n vm.profilePic = filename;\r\n vm.imageServices(filename);\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", err.data);\r\n });\r\n } else {\r\n vm.fileUploadError = \"Please upload image only as profile picture.\";\r\n }\r\n }\r\n vm.imageServices = function (img) {\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n if (resp.data == null || resp.data == '') {\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n }\r\n else {\r\n vm.profileImg = resp.data;\r\n }\r\n console.log(vm.profileImg);\r\n }, function () {\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n });\r\n\r\n }\r\n vm.imageServices(vm.profileImg);\r\n\r\n\r\n ///Saving User function \r\n vm.saveUser = function () {\r\n vm.isDisabled = true;\r\n if (vm.signup_form.$valid) {\r\n if (vm.address_option == 'Yes') {\r\n vm.present_address_line1 = vm.permanent_address_line1;\r\n vm.present_address_line2 = vm.permanent_address_line2;\r\n vm.present_state = vm.permanent_state;\r\n vm.present_city = vm.permanent_city;\r\n vm.present_pincode = vm.permanent_pincode;\r\n }\r\n\r\n var workArea = '';\r\n var skill = '';\r\n if ((vm.loggedinUserRole != \"Dispatch Manager\") && (vm.loggedinUserRole != \"OnBoarding Manager\") && (vm.loggedinUserRole != \"Dispatch Team Lead\") && (vm.loggedinUserRole != \"OnBoarding Team Lead\")) {\r\n workArea = vm.workArea;\r\n skill = vm.skill;\r\n /*for (var index = 0; index < vm.workArea.length; index++) {\r\n if (index == (vm.workArea.length - 1)) {\r\n workArea = workArea + vm.workArea[index];\r\n continue;\r\n }\r\n workArea = workArea + vm.workArea[index] + ',';\r\n } \r\n for (var skillindex = 0; skillindex < vm.skill.length; skillindex++) {\r\n if (skillindex == (vm.skills.length - 1)) {\r\n skill = skill + vm.skill[skillindex];\r\n vm.selectExpertise(skill);\r\n continue;\r\n }\r\n skill = skill + vm.skill[skillindex] + ',';\r\n vm.selectExpertise(skill);\r\n }*/\r\n }\r\n\r\n ///model to send for creating user \r\n var userFormData = {\r\n \"UserId\": vm.userId,\r\n \"FirstName\": vm.username,\r\n \"LastName\": vm.last_name,\r\n \"Gender\": vm.gender,\r\n \"DOB\": moment(vm.birth_date, 'DD/MM/YYYY').format('YYYY-MM-DDTHH:mm:ss.SSSZ'),\r\n \"PersonalEmail\": vm.email,\r\n \"ContactNumber\": vm.phone_number,\r\n \"AlternativeContactNumber\": vm.alternate_number,\r\n \"CompanyName\": vm.company,\r\n \"Locations\": workArea,\r\n \"PermanentAdd1\": vm.permanent_address_line1,\r\n \"PermanentAdd2\": vm.permanent_address_line2,\r\n \"PermanentState\": vm.permanent_state,\r\n \"PermanentCity\": vm.permanent_city,\r\n \"PermanentPincode\": vm.permanent_pincode,\r\n \"CurrentAdd1\": vm.present_address_line1,\r\n \"CurrentAdd2\": vm.present_address_line2,\r\n \"CurrentState\": vm.present_state,\r\n \"CurrentCity\": vm.present_city,\r\n \"CurrentPincode\": vm.present_pincode,\r\n \"SkillSet\": skill,\r\n \"Expertise\": vm.expertise,\r\n \"ReportingTo\": '',\r\n \"Role\": '',\r\n \"Picture\": vm.profilePic,\r\n \"TerritoryConfigurations\": vm.workAreas,\r\n \"Specialist\": vm.specialist\r\n }\r\n if (vm.EnableRegion) {\r\n userFormData.Region = vm.MainRegion;\r\n\r\n var workArea = '';\r\n for (var index = 0; index < vm.SubCity.length; index++) {\r\n if (index == (vm.SubCity.length - 1)) {\r\n workArea = workArea + vm.SubCity[index];\r\n continue;\r\n }\r\n workArea = workArea + vm.SubCity[index] + ',';\r\n }\r\n userFormData.Locations = workArea;\r\n userFormData.SubRegion = vm.Region;\r\n }\r\n\r\n\r\n if (vm.loggedinUserRole == 'Administrator' || vm.loggedinUserRole == 'Project Manager' || vm.loggedinUserRole == 'Vendor Manager' || vm.loggedinUserRole == 'SuperAdministrator' || vm.loggedinUserRole == 'OnBoarding Manager' || vm.loggedinUserRole == 'Account Manager' || vm.loggedinUserRole == 'OnBoarding Supervisor' || vm.loggedinUserRole == 'Operation Manager' || vm.loggedinUserRole == 'Operation Supervisor' || vm.loggedinUserRole == 'Higher Management'\r\n || vm.loggedinUserRole == 'Dispatch Manager' || vm.loggedinUserRole == 'Dispatch Team Lead' || vm.loggedinUserRole == 'Freelancer Dispatcher' || vm.loggedinUserRole == 'OnBoarding Team Lead') {\r\n userFormData.ReportingTo = vm.ReportingTo;\r\n userFormData.Role = vm.Role;\r\n } else if (vm.loggedinUserRole == 'Supervisor') {\r\n userFormData.ReportingTo = loggedinUser;\r\n userFormData.Role = 'Field Engineer';\r\n }\r\n\r\n\r\n\r\n if ((vm.email == null || vm.email == '') && (vm.phone_number == null || vm.phone_number == '')) {\r\n vm.showFailure(\"Failed\", \"Please provide email id or mobile number\");\r\n vm.isDisabled = false;\r\n } else {\r\n // Submit as normal\r\n if (vm.editMode) {\r\n ServiceCenterCreationService.updateUser(userFormData, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 201) {\r\n vm.showSuccess(\"Success\", \"User Updated Successfully\");\r\n vm.isDisabled = false;\r\n $timeout(function () {\r\n $state.go('index.TeamMember', {\r\n reload: true\r\n });\r\n }, 2000);\r\n }\r\n else {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }\r\n\r\n }, function () {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"Failed\", \"Unable to update user\");\r\n })\r\n } else {\r\n\r\n userFormData.UserId = '';\r\n ServiceCenterCreationService.updateUser(userFormData, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 201) {\r\n if (!vm.saveAndNewFlag && vm.loggedinUserRole == 'SuperAdministrator') {\r\n $state.go('index.TeamMember', {\r\n reload: true\r\n });\r\n }\r\n else if (!vm.saveAndNewFlag) {\r\n $state.go('index.TeamMember', {\r\n reload: true\r\n });\r\n\r\n $timeout(function () {\r\n window.location.reload(true);\r\n }, 3000);\r\n } else {\r\n vm.showSuccess(\"User Creation Status\", \"User created successfully\");\r\n vm.isDisabled = false;\r\n clearFormFields();\r\n }\r\n } else if (resp.data.ErrorCode == 104) {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"User Creation Status\", \"User already exist\");\r\n } else if (resp.data && resp.data.Message) {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"User Creation Status\", resp.data.Message);\r\n } else {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"User Creation Status\", \"Unable to create user, server is not responding correctly.\");\r\n }\r\n vm.isDisabled = false;\r\n }, function (error) {\r\n vm.isDisabled = false;\r\n if (error.data.ErrorCode == 104) {\r\n vm.showFailure(\"User Creation Status\", \"Unable to create user, server is not responding correctly.\");\r\n }\r\n else {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"User Creation Status\", \"Unable to create user, server is not responding correctly.\");\r\n }\r\n }\r\n );\r\n }\r\n }\r\n } else {\r\n vm.signup_form.submitted = true;\r\n vm.isDisabled = false;\r\n }\r\n }\r\n\r\n // vm.saveAndNew = function () {\r\n // vm.saveAndNewFlag = true;\r\n // vm.saveUser();\r\n // }\r\n\r\n vm.getAccounts = function () {\r\n ServiceCenterCreationService.getAllAccounts(loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data && resp.status == 200) {\r\n vm.accounts = resp.data;\r\n }\r\n }, function () {\r\n });\r\n }\r\n vm.getAccounts();\r\n\r\n function clearFormFields() {\r\n vm.username = '';\r\n vm.gender = '';\r\n vm.address = '';\r\n vm.email = '';\r\n vm.phone_number = '';\r\n vm.last_name = '';\r\n // vm.birth_date = '';\r\n vm.cores_address = '';\r\n vm.father_name = '';\r\n vm.alternate_number = '';\r\n vm.workArea = '';\r\n vm.city = '';\r\n // vm.reporting_to = '';\r\n vm.state = '';\r\n // vm.role = '';\r\n vm.skill = '';\r\n vm.expertise = '';\r\n vm.saveAndNewFlag = false;\r\n }\r\n\r\n var skillsArray = [];\r\n vm.getAllSkill = function () {\r\n ServiceCenterCreationService.getAllSkills(loggedinUser, token).then(function (resp) {\r\n vm.skills = resp.data;\r\n for (var index = 0; index < vm.skills.length; index++) {\r\n skillsArray.push({\r\n skill: vm.skills.SkillName\r\n });\r\n }\r\n });\r\n }\r\nvm.BrandList = \"\";\r\n // var brandArray = [];\r\n vm.getAllBrands = function () {\r\n ServiceCenterCreationService.getAllBrands(loggedinUser, token).then(function (resp) {\r\n vm.BrandList = resp.data;\r\n // for (var index = 0; index < vm.brands.length; index++) {\r\n // brandArray.push({\r\n // brand: vm.brands.BrandNameName\r\n // });\r\n // }\r\n });\r\n }\r\n\r\n vm.selectExpertise = function (skill) {\r\n // ServiceCenterCreationService.getAllSkills().then(function (resp) {\r\n // vm.expertiseList = resp.data;\r\n // vm.expertiseList = [];\r\n if (!vm.skills) {\r\n var expertiseArray = [];\r\n expertiseArray.push({\r\n skill: vm.skills.SkillName\r\n });\r\n vm.expertiseList = expertiseArray;\r\n }\r\n }\r\n\r\n\r\n ///get all the circles through api\r\n function getAllCircles() {\r\n vm.circles = [];\r\n vm.CircleList = [];\r\n vm.MainRegionList = '';\r\n if (vm.EnableRegion) {\r\n ServiceCenterCreationService.GetRegion(loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length > 0) {\r\n vm.MainRegionList = resp.data;\r\n $log.log('RegionList', vm.RegionList)\r\n }\r\n }\r\n })\r\n } else if (vm.LocationMapping == 'Circle') {\r\n ServiceCenterCreationService.GetTelecomCircle(loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.values.length > 0) {\r\n vm.CircleList = resp.data.values;\r\n\r\n }\r\n }\r\n })\r\n } else {\r\n\r\n ServiceCenterCreationService.getAllState(loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length > 0) {\r\n vm.circles = resp.data;\r\n }\r\n }\r\n });\r\n }\r\n\r\n }\r\n\r\n ///Executes when the user select the state\r\n vm.selectState = function (state) {\r\n var Getstate = state;\r\n ServiceCenterCreationService.getCities(loggedinUser, Getstate, token).then(function (resp) {\r\n vm.cityList = resp.data;\r\n if (!resp.data) {\r\n var cityArray = [];\r\n cityArray.push({\r\n city: state\r\n });\r\n vm.cityList = cityArray;\r\n // console.log(vm.cityList);\r\n }\r\n }, function () {\r\n\r\n });\r\n }\r\n\r\n vm.selectSubRegion = function (region) {\r\n\r\n ServiceCenterCreationService.GetSubRegion(loggedinUser, token, region).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length > 0) {\r\n vm.SubRegionList = resp.data;\r\n }\r\n }\r\n })\r\n }\r\n vm.selectCitySubRegion = function (Subregion) {\r\n\r\n ServiceCenterCreationService.GetCityBySubRegion(loggedinUser, Subregion, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length > 0) {\r\n vm.SubCityList = resp.data;\r\n }\r\n }\r\n })\r\n }\r\n\r\n vm.selectStateforPresent = function (state) {\r\n var Getstate = state;\r\n ServiceCenterCreationService.getCities(loggedinUser, Getstate, token).then(function (resp) {\r\n vm.presentcityList = resp.data;\r\n if (!resp.data) {\r\n var cityArray = [];\r\n cityArray.push({\r\n city: state\r\n });\r\n vm.cityList = cityArray;\r\n }\r\n }, function () {\r\n\r\n });\r\n }\r\n\r\n //state \r\n vm.getStateList = function (region) {\r\n ServiceCenterCreationService.GetRegion(loggedinUser, token, region).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.allStates = resp.data;\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n\r\n function getallCities(state) {\r\n ReferService.getAllCity(loggedinUser, state, token).then(function (resp) {\r\n vm.CityList = resp.data;\r\n });\r\n }\r\n vm.selectedState = function (state) {\r\n getallCities(state);\r\n }\r\n ///Executes when the user select the city\r\n vm.selectCity = function (city) {\r\n ServiceCenterCreationService.getAllPincode(city).then(function (resp) {\r\n vm.pincodeList = resp.data;\r\n if (!resp.data) {\r\n var pincodeArray = [];\r\n pincodeArray.push({\r\n pincode: city\r\n });\r\n vm.pincodeList = pincodeArray;\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n vm.selectCityforPresent = function (loggedinUser, city) {\r\n ServiceCenterCreationService.getAllPincode(loggedinUser, city.ID).then(function (resp) {\r\n vm.presentpincodeList = resp.data;\r\n if (!resp.data) {\r\n var pincodeArray = [];\r\n pincodeArray.push({\r\n pincode: city\r\n });\r\n vm.pincodeList = pincodeArray;\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n vm.removeAccountDetail = function (index) {\r\n vm.workAreas.splice(index, 1);\r\n vm.getAllHDAccounts();\r\n }\r\n\r\n vm.EditData = function (index) {\r\n vm.SelectedAccount = vm.workAreas[index];\r\n vm.territoryStates(vm.SelectedAccount.AccountId);\r\n vm.selectedStateForTerritory(vm.SelectedAccount.State);\r\n vm.selectedCityForTerritory(vm.SelectedAccount.City);\r\n }\r\n\r\n vm.AccountChange = function () {\r\n for (var i = 0; i < vm.RemainingCHDAccounts.length; i++) {\r\n var Acc = vm.RemainingCHDAccounts[i];\r\n if (Acc.AccountName == vm.SelectedAccount.AccountName) {\r\n vm.SelectedAccount.AccountId = Acc.AccountId;\r\n // vm.SelectedAccount = Acc; \r\n // break;\r\n }\r\n }\r\n vm.territoryStates(vm.SelectedAccount.AccountId);\r\n }\r\n vm.territoryStates = function (AccountId) {\r\n vm.AccountIDforTerritory = AccountId;\r\n ServiceCenterCreationService.getTerritoryStates(loggedinUser, token, AccountId, vm.Role).then(function (resp) {\r\n vm.stateListTerritory = resp.data;\r\n if (resp.status == 200) {\r\n // vm.territoryCity();\r\n }\r\n })\r\n }\r\n\r\n vm.selectedStateForTerritory = function (state) {\r\n vm.territoryCity(state, vm.AccountIDforTerritory);\r\n }\r\n vm.territoryCity = function (state, AccountId) {\r\n vm.StateForTerritoryCity = state;\r\n ServiceCenterCreationService.getTerritoryCity(loggedinUser, token, AccountId, state, vm.Role).then(function (resp) {\r\n vm.cityListTerritory = resp.data;\r\n if (resp.status == 200) {\r\n\r\n\r\n }\r\n })\r\n }\r\n\r\n vm.selectedCityForTerritory = function (City) {\r\n vm.territoryPincodes(City);\r\n }\r\n vm.uniPin = [];\r\n vm.territoryPincodes = function (City) {\r\n ServiceCenterCreationService.getTerritoryPincodes(loggedinUser, token, vm.AccountIDforTerritory, vm.StateForTerritoryCity, City, vm.Role).then(function (resp) {\r\n // if(resp.status == 200) {\r\n vm.pinCodeListTerritory = resp.data;\r\n for (var i = 0; i < vm.workAreas.length; i++) {\r\n var Acc = vm.workAreas[i];\r\n if ((Acc.City == City) && (Acc.AccountId == vm.AccountIDforTerritory) && (Acc.State == vm.StateForTerritoryCity)) {\r\n for (var j = 0; j < vm.pinCodeListTerritory.length; j++) {\r\n var pinCodeUnique = vm.pinCodeListTerritory[j];\r\n for (var k = 0; k < Acc.PinCode.length; k++) {\r\n if (pinCodeUnique == Acc.PinCode[k]) {\r\n vm.pinCodeListTerritory.splice(j, 1);\r\n // break; \r\n }\r\n }\r\n\r\n }\r\n }\r\n }\r\n // }\r\n })\r\n }\r\n\r\n vm.addMoreAccount = function () {\r\n vm.SelectedAccount = [];\r\n vm.showEditList = true;\r\n vm.showAction = false;\r\n for (var i = 0; i < vm.workAreas.length; i++) {\r\n var Acc = vm.workAreas[i];\r\n for (var j = 0; j < vm.RemainingCHDAccounts.length; j++) {\r\n // console.log('acc = ' + Acc.AccountId + \" vm.RemainingCHDAccounts[j].AccountId \" + vm.RemainingCHDAccounts[j].AccountId + 'len ' + j) \r\n if (Acc.AccountId == vm.RemainingCHDAccounts[j].AccountId) {\r\n // vm.RemainingCHDAccounts.splice(j,1); \r\n //break; \r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n //CHDAllaccounts\r\n vm.getAllHDAccounts = function () {\r\n ServiceCenterCreationService.getAllAccountsConfigured(loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n if (resp.status == 200) {\r\n vm.CHDAccounts = resp.data;\r\n vm.RemainingCHDAccounts = vm.CHDAccounts;\r\n }\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n vm.UpdateAllHDAccountConfig = function (index) {\r\n vm.showAction = true;\r\n var checkAccount = false;\r\n for (var i = 0; i < vm.workAreas.length; i++) {\r\n if (vm.SelectedAccount.PinCode == undefined) {\r\n vm.showFailure(\"Failed\", \"Please add Account details with Locations\");\r\n vm.workAreas[index].edit = true;\r\n }\r\n // vm.workAreas[i] == vm.SelectedAccount;\r\n // vm.workAreas[i].AccountSkillSet = vm.SelectedSkills;\r\n // vm.workAreas[i].AccountLocations = vm.SelectedLocations;\r\n // var Acc = vm.workAreas[i];\r\n // if(Acc.AccountName == vm.SelectedAccount.AccountName ) {\r\n // vm.workAreas[i] == vm.SelectedAccount;\r\n // checkAccount = true;\r\n // break;\r\n // }\r\n }\r\n if (checkAccount == false && index == undefined) {\r\n vm.SelectedAccountObj = Object.assign({}, vm.SelectedAccount);\r\n if (vm.SelectedAccountObj.AccountName && vm.SelectedAccountObj.State && vm.SelectedAccountObj.City && vm.SelectedAccountObj.PinCode) {\r\n vm.workAreas.push(vm.SelectedAccountObj);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", \"Please add Account details with Locations\");\r\n vm.workAreas[i].edit = true;\r\n\r\n }\r\n\r\n }\r\n else {\r\n var Acc = vm.workAreas[i];\r\n }\r\n vm.showEditList = false;\r\n }\r\n\r\n vm.getAllHDAccounts();\r\n vm.getAllSkill();\r\n vm.getStateList(\"INDIA\");\r\n vm.getAllBrands();\r\n }\r\n});\r\n\nangular.module('inspinia').service('SearchUserInfoService', function (ApiURL, FreelancerURL,LocationURL,PublicApiURL, $log, $http,$localStorage) {\r\n \r\n \r\n\r\n this.GetSearchUserInfoByReqUserId = function (loggedinUser, SearchUser, token){\r\n var url = FreelancerURL + \"/api/FreeLancerUser/\"+SearchUser+\"/GetUserDetails\";\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token, 'UserId':loggedinUser}\r\n });\r\n }\r\n this.getFixedUserInfo = function(userId, loggedInUser, token){\r\n // var url = ApiURL + '/api/User/' + userId +'/byUserIdWithJobCount?reqUserId='+ loggedInUser ;\r\n\t var url = FreelancerURL + '/api/FreeLancerUser/' + userId +'/'+ loggedInUser+ '/'+ 'byUserIdWithJobCount' ;\r\n\t return $http.get(url,{\r\n\t headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n\t })\r\n\t}\r\n\r\n this.getJobsByUserId=function(status,userId,loggedinUser, token,PageIndex,PageSize,OrderBy,SortType){\r\n //var url =ApiURL + \"/api/Ticket/\" +userId+\"/byUserId?reqUserId=\"+loggedinUser;\r\n var url =ApiURL + \"/api/CallPatching/\" +userId+ \"/\"+status+\"/byUserIdStatusforCHDWithDynPaging?\"+ 'PageIndex=' + PageIndex + '&PageSize=' + PageSize+ '&OrderBy=' + OrderBy + '&SortType=' + SortType;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, \r\n 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetFreelancerJobs = function(userId, loggedinUser, token){\r\n var url = FreelancerURL + '/api/FreelancerTicket/' + userId + '/' + loggedinUser + '/ByUserId'\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token, 'UserId':loggedinUser}\r\n });\r\n }\r\n \r\n});\r\n\nangular.module('inspinia').controller('SearchUserInfoController', function (SearchUserInfoService, toaster, $filter, PublicApiURL, $window, $log, $q, $compile, DTOptionsBuilder, DTColumnBuilder, $localStorage, ticketTemplateService, $scope, $state, FreelancerURL, ApiURL, $timeout) {\r\n\tvm = this;\r\n\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\tvm.SortType = 'desc';\r\n vm.SortField = 'CreatedOn';\r\n\tvar uPageIndex = 1;\r\n var uPageSize = 10; \r\n\tvar jPageIndex = 1;\r\n var jPageSize = 10; \r\n\tvm.jobsPageListCount=10;\r\n\tvm.pageListCounts = [10, 20, 30, 50];\r\n\r\n\t$scope.JobsPerPage = vm.jobsPageListCount;\r\n $scope.jobspagination = {\r\n current: 1\r\n };\r\n\r\n\t vm.sortColumn = function(col){\r\n\t\tvm.SortField = col;\r\n\t\tif(vm.SortType=='desc'){\r\n\t\t vm.SortType = 'asc';\r\n\t\t vm.reverseclass = 'fa fa-arrow-up';\r\n\t\t}else{\r\n\t\t vm.SortType = 'desc';\r\n\t\t vm.reverseclass = 'fa fa-arrow-down';\r\n\t\t}\r\n\t\tvm.filterStatusForJObs($scope.jobStatusForPaging, $scope.selectedUserId, $localStorage.loggedInUserId, token,jPageIndex,jPageSize)\r\n \r\n\t };\r\n\t \r\n\t // remove and change class\r\n\t vm.sortClass = function(col){\r\n\t\tif(vm.SortField == col ){\r\n\t\t if(vm.SortType == 'desc'){\r\n\t\t return 'fa fa-arrow-down'; \r\n\t\t }else{\r\n\t\t return 'fa fa-arrow-up';\r\n\t\t }\r\n\t\t}\r\n\t\t else{\r\n\t\t return '';\r\n\t\t}\r\n\t }\r\n\r\n\tvm.cangeJobsPageListCount = function() { \r\n\t\t$scope.JobsPerPage = vm.jobsPageListCount;\r\n\t\tuPageSize = $scope.JobsPerPage;\r\n\t\t$scope.jobsTablepageChanged($scope.jobspagination.current);\r\n\t\tvm.selectAll = false;\r\n\t }\r\n\t uPageIndex=$scope.jobspagination.current;\r\n $scope.jobsTablepageChanged = function(newPage) { \r\n jPageIndex = newPage;\r\n vm.jobsStarIndex = (newPage-1)*vm.jobsMaxcount; \r\n vm.jobsMaxcount = newPage*vm.jobsPageListCount;\r\n vm.filterStatusForJObs($scope.jobStatusForPaging);\r\n \r\n };\r\n\t $scope.totalJobs = 0;\r\n\r\n\tvm.SearchUserInfoList ={};\r\n\tvm.SearchUserinfo = function () {\t\t\t\r\n\t\tvm.SearchUserinfoForm.submitted = true;\r\n\t\tif (vm.SearchUserinfoForm.$valid) {\r\n\t\tSearchUserInfoService.GetSearchUserInfoByReqUserId(loggedinUser, vm.SearchUser, token).then(function (resp) {\r\n\t\t\tif(resp.status==206){\t\t\t\r\n\t\t\t\tvm.showFailure('Failed', resp.data.Message);\r\n\t\t\t\tvm.SearchUserInfoList =\"\";\t\r\n\t\t\t}\t\t\r\n\t\t\telse\r\n\t\t\t\tvm.SearchUserInfoList = resp.data;\t\t\t\t\t\t\t\t\r\n\t\t});\r\n\t}\r\n}\r\n\r\n\r\n\r\n\r\n\tvm.getFLprofile = function (userId) {\r\n\t $scope.selectedUserId=userId; \r\n\t document.getElementById(\"freelancerProfile\").style.width = \"100%\";\r\n\t SearchUserInfoService.getFixedUserInfo(userId, loggedinUser, token).then(function (resp) {\r\n\t vm.TicketSelectedForAssistedSuggestion = resp.data;\r\n\t // for(var i=0;i
';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn('RuleId').withTitle('Rule Id').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n }),\r\n DTColumnBuilder.newColumn('Description').withTitle('Role Description').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n })\r\n\r\n\r\n ];\r\n\r\n function toggleAll(selectAll, selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n selectedItems[id] = selectAll;\r\n }\r\n }\r\n }\r\n function toggleOne(selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n vm.roleScRuleList[id].IsEnable = selectedItems[id];\r\n // if (!selectedItems[id]) {\r\n // \tvm.selectAll = false;\r\n // \treturn;\r\n // }\r\n }\r\n\r\n }\r\n vm.selectAll = true;\r\n }\r\n\r\n }\r\n\r\n\r\n vm.GenerateCertificateTable = function () {\r\n\r\n vm.headerCompiled_Certi = false;\r\n vm.selected_Certi = {};\r\n vm.selectAll_Certi = false;\r\n vm.toggleAll_Certi = toggleAll_Certi;\r\n vm.toggleOne_Certi = toggleOne_Certi;\r\n // var titleHtml_Certi = '
';\r\n\r\n vm.dtOptions_Certi = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n defer.resolve(vm.certificateScRuleList);\r\n return defer.promise;\r\n })\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withBootstrap()\r\n .withOption('createdRow', function (row, data, dataIndex) {\r\n $compile(angular.element(row).contents())($scope);\r\n })\r\n .withOption('headerCallback', function (header) {\r\n if (!vm.headerCompiled_Certi) {\r\n // Use this headerCompiled field to only compile header once\r\n vm.headerCompiled_Certi = true;\r\n $compile(angular.element(header).contents())($scope);\r\n }\r\n });\r\n\r\n\r\n vm.dtColumns_Certi = [\r\n DTColumnBuilder.newColumn(null).withTitle(null).renderWith(function (data, type, full, meta) {\r\n vm.selected_Certi[meta.row] = data.IsEnable;\r\n return '
';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn('RuleId').withTitle('Rule Id').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n }),\r\n DTColumnBuilder.newColumn('Description').withTitle('Certificate Description').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n })\r\n\r\n\r\n ];\r\n\r\n function toggleAll_Certi(selectAll, selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n selectedItems[id] = selectAll;\r\n }\r\n }\r\n }\r\n function toggleOne_Certi(selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n vm.certificateScRuleList[id].IsEnable = selectedItems[id];\r\n // if (!selectedItems[id]) {\r\n // \tvm.selectAll_Certi = false;\r\n // \treturn;\r\n // }\r\n }\r\n }\r\n vm.selectAll_Certi = true;\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n vm.GenerateAssetsTable = function () {\r\n\r\n vm.headerCompiled_Asset = false;\r\n vm.selected_Asset = {};\r\n vm.selectAll_Asset = false;\r\n vm.toggleAll_Asset = toggleAll_Asset;\r\n vm.toggleOne_Asset = toggleOne_Asset;\r\n // var titleHtml_Asset = '
';\r\n\r\n vm.dtOptions_Asset = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n defer.resolve(vm.assetScRuleList);\r\n return defer.promise;\r\n })\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withBootstrap()\r\n .withOption('createdRow', function (row, data, dataIndex) {\r\n $compile(angular.element(row).contents())($scope);\r\n })\r\n .withOption('headerCallback', function (header) {\r\n if (!vm.headerCompiled_Asset) {\r\n // Use this headerCompiled field to only compile header once\r\n vm.headerCompiled_Asset = true;\r\n $compile(angular.element(header).contents())($scope);\r\n }\r\n });\r\n\r\n\r\n vm.dtColumns_Asset = [\r\n DTColumnBuilder.newColumn(null).withTitle(null).renderWith(function (data, type, full, meta) {\r\n vm.selected_Asset[meta.row] = data.IsEnable;\r\n return '
';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn('RuleId').withTitle('Rule Id').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n }),\r\n DTColumnBuilder.newColumn('Description').withTitle('Assets Description').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n })\r\n\r\n\r\n ];\r\n\r\n function toggleAll_Asset(selectAll, selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n selectedItems[id] = selectAll;\r\n }\r\n }\r\n }\r\n function toggleOne_Asset(selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n vm.assetScRuleList[id].IsEnable = selectedItems[id];\r\n // if (!selectedItems[id]) {\r\n // \tvm.selectAll_Asset = false;\r\n // \treturn;\r\n // }\r\n }\r\n }\r\n vm.selectAll_Asset = true;\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n vm.GenerateToolTable = function () {\r\n\r\n vm.headerCompiled_Tool = false;\r\n vm.selected_Tool = {};\r\n vm.selectAll_Tool = false;\r\n vm.toggleAll_Tool = toggleAll_Tool;\r\n vm.toggleOne_Tool = toggleOne_Tool;\r\n // var titleHtml_Tool = '
';\r\n\r\n vm.dtOptions_Tool = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n defer.resolve(vm.toolScRuleList);\r\n return defer.promise;\r\n })\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withBootstrap()\r\n .withOption('createdRow', function (row, data, dataIndex) {\r\n $compile(angular.element(row).contents())($scope);\r\n })\r\n .withOption('headerCallbacks', function (header) {\r\n if (!vm.headerCompiled_Tool) {\r\n // Use this headerCompiled field to only compile header once\r\n vm.headerCompiled_Tool = true;\r\n $compile(angular.element(header).contents())($scope);\r\n }\r\n });\r\n\r\n\r\n vm.dtColumns_Tool = [\r\n DTColumnBuilder.newColumn(null).withTitle(null).renderWith(function (data, type, full, meta) {\r\n vm.selected_Tool[meta.row] = data.IsEnable;\r\n return '
';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn('RuleId').withTitle('Rule Id').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n }),\r\n DTColumnBuilder.newColumn('Description').withTitle('Tools Description').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n })\r\n\r\n\r\n ];\r\n \r\n function toggleAll_Tool(selectAll, selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n selectedItems[id] = selectAll;\r\n }\r\n }\r\n }\r\n function toggleOne_Tool(selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n vm.toolScRuleList[id].IsEnable = selectedItems[id];\r\n // if (!selectedItems[id]) {\r\n // \tvm.selectAll_Tool = false;\r\n // \treturn;\r\n // }\r\n }\r\n }\r\n vm.selectAll_Tool = true;\r\n }\r\n\r\n }\r\n\r\n vm.GenerateTalentPoolTable = function () {\r\n\r\n vm.headerCompiled_TalentPool = false;\r\n vm.selected_TalentPool = {};\r\n vm.selectAll_TalentPool = false;\r\n vm.toggleAll_TalentPool = toggleAll_TalentPool;\r\n vm.toggleOne_TalentPool = toggleOne_TalentPool;\r\n // var titleHtml_TalentPool = '
';\r\n\r\n vm.dtOptions_TalentPool = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n defer.resolve(vm.TalentPoolScRuleList);\r\n return defer.promise;\r\n })\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withBootstrap()\r\n .withOption('createdRow', function (row, data, dataIndex) {\r\n $compile(angular.element(row).contents())($scope);\r\n })\r\n .withOption('headerCallbacks', function (header) {\r\n if (!vm.headerCompiled_TalentPool) {\r\n // Use this headerCompiled field to only compile header once\r\n vm.headerCompiled_TalentPool = true;\r\n $compile(angular.element(header).contents())($scope);\r\n }\r\n });\r\n\r\n\r\n \r\n vm.dtColumns_TalentPool = [\r\n DTColumnBuilder.newColumn(null).withTitle(null).renderWith(function (data, type, full, meta) {\r\n vm.selected_TalentPool[meta.row] = data.IsEnable;\r\n return '
';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn('RuleId').withTitle('Rule Id').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n }),\r\n DTColumnBuilder.newColumn('Description').withTitle('Talent Pool Description').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n })\r\n\r\n\r\n ];\r\n function toggleAll_TalentPool(selectAll, selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n selectedItems[id] = selectAll;\r\n }\r\n }\r\n }\r\n function toggleOne_TalentPool(selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n vm.TalentPoolScRuleList[id].IsEnable = selectedItems[id];\r\n // if (!selectedItems[id]) {\r\n // \tvm.selectAll_TalentPool = false;\r\n // \treturn;\r\n // }\r\n }\r\n }\r\n vm.selectAll_TalentPool = true;\r\n }\r\n\r\n }\r\n vm.reloadData = function () {\r\n var resetPaging = true;\r\n vm.dtInstance.reloadData(resetPaging);\r\n vm.dtInstance_Certi.reloadData(resetPaging);\r\n vm.dtInstance_Asset.reloadData(resetPaging);\r\n vm.dtInstance_Tool.reloadData(resetPaging);\r\n vm.dtInstance_TalentPool.reloadData(resetPaging);\r\n\r\n }\r\n\r\n vm.SaveSchedulingRule = function () {\r\n\r\n var RuleIdList = '';\r\n for (var i = 0; i < vm.roleScRuleList.length; i++) {\r\n if (vm.selected[i] == true) {\r\n if (!RuleIdList) {\r\n RuleIdList = vm.roleScRuleList[i].RuleId;\r\n } else {\r\n RuleIdList = RuleIdList + \",\" + vm.roleScRuleList[i].RuleId;\r\n }\r\n }\r\n }\r\n for (var j = 0; j < vm.certificateScRuleList.length; j++) {\r\n if (vm.certificateScRuleList[j].IsEnable == true) {\r\n if (!RuleIdList) {\r\n RuleIdList = vm.certificateScRuleList[j].RuleId;\r\n } else {\r\n RuleIdList = RuleIdList + \",\" + vm.certificateScRuleList[j].RuleId;\r\n }\r\n }\r\n }\r\n for (var k = 0; k < vm.assetScRuleList.length; k++) {\r\n if (vm.assetScRuleList[k].IsEnable == true) {\r\n if (!RuleIdList) {\r\n RuleIdList = vm.assetScRuleList[k].RuleId;\r\n } else {\r\n RuleIdList = RuleIdList + \",\" + vm.assetScRuleList[k].RuleId;\r\n }\r\n }\r\n }\r\n for (var l = 0; l < vm.toolScRuleList.length; l++) {\r\n if (vm.toolScRuleList[l].IsEnable == true) {\r\n if (!RuleIdList) {\r\n RuleIdList = vm.toolScRuleList[l].RuleId;\r\n } else {\r\n RuleIdList = RuleIdList + \",\" + vm.toolScRuleList[l].RuleId;\r\n }\r\n }\r\n }\r\n for (var l = 0; l < vm.TalentPoolScRuleList.length; l++) {\r\n if (vm.TalentPoolScRuleList[l].IsEnable == true) {\r\n if (!RuleIdList) {\r\n RuleIdList = vm.TalentPoolScRuleList[l].RuleId;\r\n } else {\r\n RuleIdList = RuleIdList + \",\" + vm.TalentPoolScRuleList[l].RuleId;\r\n }\r\n }\r\n }\r\n SchedulingRuleService.SaveSchedulingRule(loggedinUser, RuleIdList, token, function (res) {\r\n if (res.data) {\r\n vm.showSuccess(\"Success\", \"Successfully Save Scheduling Rules\");\r\n // vm.getAllSchedulingRules();\r\n // // vm.reloadData();\r\n $timeout(function () {\r\n $state.reload();\r\n }, 2000);\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to Save Scheduling Rule.\");\r\n });\r\n\r\n }\r\n\r\n})\r\n\r\n\nangular.module('inspinia').service('SchedulerRuleService', function ($log, $http, CronUrl, SchedulingAPI, ApiURL) {\r\n\r\n this.GeBusinessObjectivetMaster = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/MasterSelectionCriteria/GeBusinessObjectivetMasterSelectionCriteria';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n })\r\n }\r\n\r\n this.UpdateMasterSelectionCriteria = function (data, loggedinUser, token) {\r\n var url = ApiURL + '/api/MasterSelectionCriteria/UpdateMasterSelectionCriteria';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n});\r\n\r\n\nangular.module('inspinia').controller('SchedulerRuleController', function (SchedulerRuleService, $timeout, $uibModal, DTOptionsBuilder, DTColumnBuilder, $compile, $q, DTColumnDefBuilder, $scope, $log, AssignationRuleService, $localStorage, ReportService, DashboardURL) {\r\n var vm = this;\r\n\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n if (!loggedinUser) {\r\n\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n\r\n var token = $localStorage.token;\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.schedules = [];\r\n vm.selectStatus = {};\r\n\r\n $scope.distance = 0;\r\n $scope.updateBikePosition = function () {\r\n var rangeSlider = document.getElementById('distanceRange');\r\n var bikeIcon = document.getElementById('bikeIcon');\r\n var rangeWidth = rangeSlider.offsetWidth;\r\n var rangeValue = rangeSlider.value;\r\n var bikePosition = (rangeValue / rangeSlider.max) * rangeWidth;\r\n\r\n bikeIcon.style.transform = 'translateX(' + bikePosition + 'px)';\r\n }\r\n $scope.DistanceBetween = 0;\r\n\r\n vm.GeBusinessObjectivetMaster = function () {\r\n SchedulerRuleService.GeBusinessObjectivetMaster(loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n {\r\n vm.businessObjectiveData = resp.data;\r\n $scope.updateBikePosition();\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n vm.GeBusinessObjectivetMaster();\r\n\r\n vm.objectiveList = [];\r\n\r\n vm.UpdateMasterSelectionCriteria = function (objectivesdata) {\r\n vm.objectivesdata = objectivesdata;\r\n vm.updatingName = objectivesdata.Name;\r\n angular.forEach(vm.businessObjectiveData, function (buisnessObject) {\r\n if (buisnessObject.Name == vm.updatingName) {\r\n var data = {\r\n \"RuleId\": vm.objectivesdata.RuleId,\r\n \"RuleType\": vm.objectivesdata.RuleType,\r\n \"Name\": vm.objectivesdata.Name,\r\n \"Description\": (vm.objectivesdata.Description).toString(),\r\n \"RulePriority\": parseInt(vm.objectivesdata.RulePriority),\r\n \"IsEnable\": true,\r\n \"DisplayDescription\": vm.objectivesdata.DisplayDescription\r\n }\r\n vm.objectiveList.push(data);\r\n }\r\n })\r\n SchedulerRuleService.UpdateMasterSelectionCriteria(vm.objectiveList, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 201) {\r\n vm.showSuccess(\"Success\", \"Scheduling settings updated successfully.\");\r\n $timeout(function () {\r\n vm.objectiveList = [];\r\n vm.GeBusinessObjectivetMaster();\r\n }, 1000);\r\n }\r\n })\r\n }\r\n\r\n});\nangular.module('inspinia').service('ScheduledReportService', function ($log, $http, CronUrl, ApiURL) {\r\n\r\n vm = this;\r\n\r\n vm.getSheduledReports = function (loggedinUser, token, callback) {\r\n $http.get(ApiURL+'/api/ReportSchedule/getallcronbyAccount?userId='+loggedinUser+'&entity=report', {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':loggedinUser\r\n }\r\n }).then(function(res){\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n });\r\n }\r\n // https://product.mymobiforce.com/coreapi/api/ReportSchedule/enableAnddisablecronApi\r\n vm.enabledSchedules = function(loggedinUser, ids, token, callback){\r\n \t$http.put(ApiURL+'/api/ReportSchedule/enableAnddisablecronApi', {ids : ids, userId: loggedinUser, enable: true}, { headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':loggedinUser } }).then(function(res){\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n });\r\n \t\r\n }\r\n\r\n vm.disableSchedules = function(loggedinUser, ids, token, callback){\r\n\t $http.put(ApiURL+'/api/ReportSchedule/enableAnddisablecronApi', {ids : ids, userId: loggedinUser, enable: false}, { headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':loggedinUser } }).then(function(res){\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n });\r\n }\r\n});\nangular.module('inspinia').controller('ScheduledReportController', function ($uibModal, DTOptionsBuilder, DTColumnDefBuilder, $scope, $log, ScheduledReportService, $localStorage, ReportService, DashboardURL) {\r\n var vm = this;\r\n\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n if (!loggedinUser) {\r\n\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n\r\n var token = $localStorage.token;\r\n\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\r\n var token = $localStorage.token;\r\n vm.schedules = [];\r\n vm.selectStatus = {};\r\n $scope.$parent.$parent.main.implementSelectItems('schedules', this);\r\n\r\n vm.getSheduledReports = function(){\r\n angular.forEach(vm.schedules, function(d){\r\n vm.selectStatus[d.id]=d.checked;\r\n });\r\n\r\n ScheduledReportService.getSheduledReports(loggedinUser, token, vm.createCallback(null, [function(data){\r\n if(angular.equals(vm.schedules, data)){\r\n //$log.log(\"same schedule data\");\r\n return false;\r\n }\r\n vm.schedules = [];\r\n if (vm.schedules && data) {\r\n vm.schedules.extend(data);\r\n }\r\n angular.forEach(vm.schedules, function(d){\r\n d.checked = vm.selectStatus[d.id];\r\n var sT = d.jobStartTime;\r\n var eT = d.endTime;\r\n d.startTimeIns = sT.date+\" \"+sT.month+\" \"+sT.year+\" \"+vm.parseTo2(sT.hour)+\":\"+vm.parseTo2(sT.min)+\":\"+vm.parseTo2(sT.sec);\r\n d.endTimeIns = eT.date+\" \"+eT.month+\" \"+eT.year+\" \"+vm.parseTo2(eT.hour)+\":\"+vm.parseTo2(eT.min)+\":\"+vm.parseTo2(eT.sec);\r\n d.modelObj = JSON.parse(d.model);\r\n d.duration = d.modelObj.RollUps;\r\n if(isNaN(d.duration)){\r\n d.displayDuration = d.duration;\r\n } else {\r\n d.displayDuration = \"Last \"+d.duration+\" day\"+(d.duration>1?\"s\":\"\"); \r\n }\r\n d.TOList=[];\r\n angular.forEach(d.modelObj.TOList, function(email){\r\n var addedUsr = false;\r\n angular.forEach(vm.users, function(u){\r\n if(u.UserId.toLowerCase().indexOf(email.toLowerCase()) > -1){\r\n addedUsr=true;\r\n d.TOList.push(u); \r\n }\r\n })\r\n if(!addedUsr){\r\n d.TOList.push({UserId:email, FirstName:email.split(\"@\")[0], LastName:\"\"});\r\n }\r\n })\r\n\r\n d.CCList=[];\r\n angular.forEach(d.modelObj.CCList, function(email){\r\n var addedUsr = false;\r\n angular.forEach(vm.users, function(u){\r\n if(u.UserId.toLowerCase().indexOf(email.toLowerCase()) > -1){\r\n addedUsr=true;\r\n d.CCList.push(u);\r\n }\r\n })\r\n if(!addedUsr){\r\n d.CCList.push({UserId:email, FirstName:email.split(\"@\")[0], LastName:\"\"});\r\n }\r\n })\r\n\r\n d.BCCList=[];\r\n angular.forEach(d.modelObj.BCCList, function(email){\r\n var addedUsr = false;\r\n angular.forEach(vm.users, function(u){\r\n if(u.UserId.toLowerCase().indexOf(email.toLowerCase()) > -1){\r\n addedUsr=true;\r\n d.BCCList.push(u);\r\n }\r\n })\r\n if(!addedUsr){\r\n d.BCCList.push({UserId:email, FirstName:email.split(\"@\")[0], LastName:\"\"});\r\n }\r\n })\r\n \r\n });\r\n }]));\r\n }; \r\n vm.getSheduledReports();\r\n\r\n vm.getMonth = function(mon){\r\n var m = [\"JAN\", \"FEB\", \"MAR\", \"APR\", \"MAY\", \"JUN\", \"JUL\", \"AUG\", \"SEP\", \"OCT\", \"NOV\", \"DEC\"].indexOf(mon)+1;\r\n return (m>9)?m:\"0\"+m;\r\n }\r\n\r\n vm.parseTo2 = function(v){\r\n return (v+\"\").length>1?v:\"0\"+v;\r\n }\r\n\r\n vm.dtOptions = DTOptionsBuilder.newOptions().withDOM(\r\n '<\"html5buttons\"B>lTfgitp')\r\n .withButtons([{extend:'colvis'},{extend:'csv'},{extend:'print'},{extend:'copy'}]).withPaginationType(\r\n 'full_numbers').withOption('lengthChange', false)\r\n .withOption('order', []);\r\n \r\n vm.buildColumnBuilder = function (l) {\r\n vm.dtColumnDefs = [];\r\n for (var i = 0; i < l; i++) {\r\n vm.dtColumnDefs.push(DTColumnDefBuilder.newColumnDef(i).notSortable());\r\n }\r\n }\r\n vm.buildColumnBuilder(6);\r\n\r\n vm.scheduleModel = {\r\n frequency: \"once\",\r\n once: \"once\",\r\n daily: \"daily\",\r\n weekly: \"weekly\",\r\n every_15_days: \"every_15_days\",\r\n monthly: \"monthly\",\r\n cronExpression: \"expression\",\r\n input_for_month: {\r\n option: \"start_of_day\",\r\n start_of_day: \"start_of_day\",\r\n end_of_day: \"end_of_day\",\r\n specific_date: \"specific_date\",\r\n date: 1\r\n },\r\n specific_date_range: [],\r\n start_date:moment(),\r\n end_date:moment().add(1, 'M'),\r\n attachReportInMailBody:true,\r\n scheduleTime:\"\",\r\n scheduleName:\"\",\r\n reportNameAlreadyExists:false,\r\n reportNameMendtryErr:false,\r\n toListMendtryErr:false,\r\n timeMendtryErr:false,\r\n endTimeErr:false,\r\n sampleDate:moment(),\r\n sampleDateMendtryErr:false,\r\n pull_data: {\r\n range: \"last_day\",\r\n day: \"last_day\",\r\n week: \"last_week\",\r\n month: \"last_month\",\r\n quarter: \"last_quarter\",\r\n current_month: \"current_month\",\r\n specific: \"specific\",\r\n specific_day_value: 1,\r\n calculate_range: function () {\r\n //$log.log(vm.scheduleModel.pull_data.range);\r\n var today = new Date();\r\n if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.day) {\r\n var date = today;\r\n return date.getDate() + \"-\" + (date.getMonth()+1) + \"-\" + date.getFullYear();\r\n } if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.week) {\r\n var date = new Date(today.getFullYear(), today.getMonth(), today.getDate() - 7);\r\n return date.getDate() + \"-\" + (date.getMonth()+1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth()+1) + \"-\" + today.getFullYear();\r\n } if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.month) {\r\n var date = new Date(today.getFullYear(), today.getMonth() - 1, today.getDate());\r\n return date.getDate() + \"-\" + (date.getMonth()+1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth()+1) + \"-\" + today.getFullYear();\r\n } if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.quarter) {\r\n var date = new Date(today.getFullYear(), today.getMonth() - 3, today.getDate());\r\n return date.getDate() + \"-\" + (date.getMonth()+1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth()+1) + \"-\" + today.getFullYear();\r\n }if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.current_month) {\r\n var date = new Date(today.getFullYear(), today.getMonth(), today.getDate());\r\n return 01 + \"-\" + (date.getMonth()+1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth()+1) + \"-\" + today.getFullYear();\r\n } if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.specific) {\r\n //$log.log(vm.scheduleModel.pull_data.specific_day_value)\r\n var date = new Date(today.getFullYear(), today.getMonth(), today.getDate() - vm.scheduleModel.pull_data.specific_day_value);\r\n return date.getDate() + \"-\" + (date.getMonth()+1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth()+1) + \"-\" + today.getFullYear();\r\n }\r\n }\r\n }\r\n };\r\n\r\n for (var i = 1; i < 32; i++) {\r\n vm.scheduleModel.specific_date_range.push({ value: i, label: i });\r\n }\r\n\r\n vm.ScheduledReport = function (s) {\r\n vm.shareModel.toList = s.TOList;\r\n vm.shareModel.ccList = s.CCList;\r\n vm.shareModel.bccList = s.BCCList;\r\n vm.scheduleModel.reportName=s.uniqueId;\r\n if(s.cronType.toLowerCase()==vm.scheduleModel.cronExpression){\r\n vm.scheduleModel.frequency=vm.scheduleModel.monthly;\r\n vm.scheduleModel.input_for_month.option=vm.scheduleModel.input_for_month.end_of_day; \r\n var splittedExp = s.cronExpression.split(\" \"); \r\n vm.scheduleModel.scheduleTime=vm.parseTo2(splittedExp[1])+\":\"+vm.parseTo2(splittedExp[2]);\r\n } else if(s.cronType.toLowerCase()==vm.scheduleModel.monthly) {\r\n vm.scheduleModel.frequency=vm.scheduleModel.monthly;\r\n vm.scheduleModel.input_for_month.option=vm.scheduleModel.input_for_month.specific_date;\r\n vm.scheduleModel.input_for_month.date=s.monthly.dayOfMonth;\r\n vm.scheduleModel.scheduleTime=vm.parseTo2(s.monthly.hour)+\":\"+vm.parseTo2(s.monthly.min);\r\n } else if(s.cronType.toLowerCase()==vm.scheduleModel.weekly){ \r\n vm.scheduleModel.frequency=vm.scheduleModel.weekly;\r\n\r\n vm.scheduleModel.input_of_week={}\r\n vm.scheduleModel.input_of_week.sun=false\r\n vm.scheduleModel.input_of_week.mon=false\r\n vm.scheduleModel.input_of_week.tue=false\r\n vm.scheduleModel.input_of_week.wed=false\r\n vm.scheduleModel.input_of_week.thu=false\r\n vm.scheduleModel.input_of_week.fri=false\r\n vm.scheduleModel.input_of_week.sat=false\r\n\r\n switch(s.weekly.dayOfWeek[0]){\r\n case 1:\r\n vm.scheduleModel.input_of_week.sun=true;break;\r\n case 2:\r\n vm.scheduleModel.input_of_week.mon=true;break;\r\n case 3:\r\n vm.scheduleModel.input_of_week.tue=true;break;\r\n case 4:\r\n vm.scheduleModel.input_of_week.wed=true;break;\r\n case 5:\r\n vm.scheduleModel.input_of_week.thu=true;break;\r\n case 6:\r\n vm.scheduleModel.input_of_week.fri=true;break;\r\n case 7:\r\n vm.scheduleModel.input_of_week.sat=true;break;\r\n }\r\n vm.scheduleModel.scheduleTime=vm.parseTo2(s.weekly.hour)+\":\"+vm.parseTo2(s.weekly.min);\r\n } else if(s.cronType.toLowerCase()==vm.scheduleModel.daily){ \r\n vm.scheduleModel.frequency=vm.scheduleModel.daily;\r\n vm.scheduleModel.scheduleTime=vm.parseTo2(s.daily.hour)+\":\"+vm.parseTo2(s.daily.min);\r\n } else if(s.cronType.toLowerCase()==vm.scheduleModel.once){ \r\n vm.scheduleModel.frequency=vm.scheduleModel.once;\r\n if(s.jobStartTime){\r\n vm.scheduleModel.sampleDate=moment(s.jobStartTime.year+\"-\"+s.jobStartTime.month+\"-\"+vm.parseTo2(s.jobStartTime.date)+\" \"+vm.parseTo2(s.jobStartTime.hour)+\":\"+vm.parseTo2(s.jobStartTime.min)+\":\"+vm.parseTo2(s.jobStartTime.sec), \"YYYY-MMM-DD hh:mm:ss\"); \r\n } \r\n }\r\n\r\n if(isNaN(s.duration)){ \r\n if(s.duration==\"Last Day\"){\r\n vm.scheduleModel.pull_data.range=vm.scheduleModel.pull_data.day;\r\n } else if(s.duration==\"Last Week\"){\r\n vm.scheduleModel.pull_data.range=vm.scheduleModel.pull_data.week;\r\n } else if(s.duration==\"Last Month\"){\r\n vm.scheduleModel.pull_data.range=vm.scheduleModel.pull_data.month;\r\n } else if(s.duration==\"Last Quarter\"){\r\n vm.scheduleModel.pull_data.range=vm.scheduleModel.pull_data.quarter;\r\n }else if(s.duration==\"Current Month\"){\r\n vm.scheduleModel.pull_data.range=vm.scheduleModel.pull_data.current_month;\r\n }\r\n } else {\r\n vm.scheduleModel.pull_data.range=vm.scheduleModel.pull_data.specific;\r\n vm.scheduleModel.pull_data.specific_day_value=s.duration;\r\n }\r\n\r\n if(s.jobStartTime) {\r\n vm.scheduleModel.start_date=moment(s.jobStartTime.year+\"-\"+s.jobStartTime.month+\"-\"+vm.parseTo2(s.jobStartTime.date)+\" \"+vm.parseTo2(s.jobStartTime.hour)+\":\"+vm.parseTo2(s.jobStartTime.min)+\":\"+vm.parseTo2(s.jobStartTime.sec), \"YYYY-MMM-DD hh:mm:ss\");\r\n } else {\r\n vm.scheduleModel.start_date=moment();\r\n }\r\n if(s.endTime) {\r\n vm.scheduleModel.end_date=moment(s.endTime.year+\"-\"+s.endTime.month+\"-\"+vm.parseTo2(s.endTime.date)+\" \"+vm.parseTo2(s.endTime.hour)+\":\"+vm.parseTo2(s.endTime.min)+\":\"+vm.parseTo2(s.endTime.sec), \"YYYY-MMM-DD hh:mm:ss\");\r\n } else {\r\n vm.scheduleModel.end_date=vm.scheduleModel.start_date.add(1, 'month');\r\n }\r\n \r\n vm.scheduleModel.attachReportInMailBody=s.modelObj.ReportInMailBody;\r\n vm.scheduleModel.sampleDateMendtryErr=false;\r\n \r\n vm.shareModel.content = s.modelObj.Body.replace(new RegExp(\"
\", 'g'), \"\\n\");;\r\n vm.scheduleModel.modelReportName = s.reportName;\r\n vm.ScheduledReportModal = $uibModal.open({\r\n templateUrl: 'ScheduledReport.html',\r\n backdrop: 'static',\r\n windowClass:'schedulerModal',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.monthNames3 = [\"JAN\", \"FEB\", \"MAR\", \"APR\", \"MAY\", \"JUN\",\r\n \"JUL\", \"AUG\", \"SEP\", \"OCT\", \"NOV\", \"DEC\"\r\n ];\r\n\r\n vm.scheduleModel.scheduleReport = function () {\r\n var startTime = null;\r\n var endTime = null;\r\n var cronExpression = null;\r\n var daily = null;\r\n var weekly = null;\r\n var monthly = null;\r\n //$log.log(\"vm.scheduleModel.scheduleTime \",vm.scheduleModel.scheduleTime);\r\n if(vm.scheduleModel.reportName==null || vm.scheduleModel.reportName.length==0){\r\n vm.scheduleModel.reportNameMendtryErr=true;\r\n return;\r\n }\r\n if(vm.shareModel.toList.length==0){\r\n vm.scheduleModel.toListMendtryErr=true;\r\n return; \r\n }\r\n\r\n if (vm.scheduleModel.frequency == vm.scheduleModel.once) {\r\n //$log.log(\"vm.scheduleModel.sampleDate\", vm.scheduleModel.sampleDate);\r\n if(vm.scheduleModel.sampleDate){\r\n var sample_Data = vm.scheduleModel.sampleDate?vm.scheduleModel.sampleDate:new moment();\r\n startTime = {\r\n \"date\": sample_Data.format(\"DD\"),\r\n \"hour\": sample_Data.format(\"HH\"),\r\n \"min\": sample_Data.format(\"mm\"),\r\n \"month\": sample_Data.format(\"MMM\").toUpperCase(),\r\n \"sec\": sample_Data.format(\"ss\"),\r\n \"year\": sample_Data.format(\"YYYY\")\r\n };\r\n endTime = startTime;\r\n //$log.log(\"startTime \",startTime);\r\n } else {\r\n vm.showFailure(\"Invalid Parameter\", \"Please select valid time to send report\");\r\n return;\r\n }\r\n \r\n } else {\r\n var startDate = vm.scheduleModel.start_date?new Date(vm.scheduleModel.start_date):new Date();\r\n var endDate = vm.scheduleModel.end_date?new Date(vm.scheduleModel.end_date):new Date();\r\n if(endDate\");\r\n \r\n var schedulerModel = {};\r\n schedulerModel[\"TOList\"]=toList;\r\n schedulerModel[\"CCList\"]=ccList;\r\n schedulerModel[\"BCCList\"]=bccList;\r\n schedulerModel[\"Body\"]=content;\r\n schedulerModel[\"Subject\"]=\"Report: \" + vm.scheduleModel.modelReportName\r\n schedulerModel[\"ReportName\"]=vm.scheduleModel.modelReportName\r\n schedulerModel[\"ReqUserId\"]=loggedinUser;\r\n schedulerModel[\"FilterKeys\"]=null;\r\n schedulerModel[\"FilterValues\"]=null;\r\n schedulerModel[\"ReportInMailBody\"]=vm.scheduleModel.attachReportInMailBody;\r\n if(vm.scheduleModel.pull_data.range==vm.scheduleModel.pull_data.day){\r\n schedulerModel[\"RollUps\"]=\"Last Day\";\r\n } else if(vm.scheduleModel.pull_data.range==vm.scheduleModel.pull_data.week){\r\n schedulerModel[\"RollUps\"]=\"Last Week\"; \r\n } else if(vm.scheduleModel.pull_data.range==vm.scheduleModel.pull_data.month){\r\n schedulerModel[\"RollUps\"]=\"Last Month\"; \r\n } else if(vm.scheduleModel.pull_data.range==vm.scheduleModel.pull_data.quarter){\r\n schedulerModel[\"RollUps\"]=\"Last Quarter\"; \r\n }else if(vm.scheduleModel.pull_data.range==vm.scheduleModel.pull_data.current_month){\r\n schedulerModel[\"RollUps\"]=\"Current Month\"; \r\n } else if(vm.scheduleModel.pull_data.range==vm.scheduleModel.pull_data.specific){\r\n var re = /^[1-9]+[0-9]*$/;\r\n if(!re.test(vm.scheduleModel.pull_data.specific_day_value)){\r\n vm.scheduleModel.pull_data.specificDayValMedtryErr=true;\r\n return;\r\n }\r\n schedulerModel[\"RollUps\"]=vm.scheduleModel.pull_data.specific_day_value; \r\n }\r\n data[\"model\"]=JSON.stringify(schedulerModel);\r\n data[\"entity\"]=\"report\";\r\n\r\n ReportService.RescheduleReport(loggedinUser, data, token, \r\n vm.createCallback(null, [function (data) {\r\n // //$log.log(data);\r\n vm.showSuccess(\"Success\", \"Schedule Updated\");\r\n vm.getSheduledReports();\r\n }]));\r\n\r\n vm.closeScheduledReportModal();\r\n }\r\n\r\n vm.closeScheduledReportModal = function () {\r\n vm.ScheduledReportModal.close();\r\n }\r\n\r\n vm.shareModel = {\r\n selectedUsers: [],\r\n toList: [],\r\n ccList: [],\r\n bccList: [],\r\n content: vm.defaultMailBody\r\n };\r\n\r\n vm.shareModel.getUserSuggestion = function (val) {\r\n\r\n vm.scheduleModel.toListMendtryErr=false;\r\n\r\n var re = /^[A-Za-z0-9]+([\\.\\-_]*[A-Za-z0-9]+)*@[A-Za-z0-9]+([\\.\\-_]*[A-Za-z0-9]+)*\\.([A-Za-z]{2}|[A-Za-z]{3})$/;\r\n if (vm.users.length > 0) {\r\n return re.test(val)?[{FirstName:val.split(\"@\")[0], LastName:\"\", UserId:val}].concat(vm.users):vm.users;\r\n }\r\n vm.getUsers();\r\n return re.test(val)?[{FirstName:val.split(\"@\")[0], LastName:\"\", UserId:val}]:[];\r\n } \r\n\r\n vm.shareModel.removeSelectedUsers = function (element) {\r\n var matched = false;\r\n angular.forEach(vm.shareModel.toList, function (d) {\r\n if (d.UserId == element.UserId) {\r\n matched = true;\r\n return;\r\n }\r\n });\r\n if (!matched) {\r\n angular.forEach(vm.shareModel.ccList, function (d) {\r\n if (d.UserId == element.UserId) {\r\n matched = true;\r\n return;\r\n }\r\n });\r\n } \r\n if (!matched) {\r\n angular.forEach(vm.shareModel.bccList, function (d) {\r\n if (d.UserId == element.UserId) {\r\n matched = true;\r\n return;\r\n }\r\n });\r\n } \r\n if (!matched) {\r\n return element;\r\n }\r\n }\r\n \r\n vm.shareModel.searchAsOr = function (searchText1) {\r\n return function (entry) {\r\n var splittedText = searchText1.split(\";\");\r\n if (splittedText != null && splittedText.length > 0) {\r\n var searchText = splittedText[splittedText.length - 1].trim();\r\n if (entry.FirstName.toLowerCase().indexOf(searchText.toLowerCase()) > -1\r\n || (entry.LastName!=null && entry.LastName.toLowerCase().indexOf(searchText.toLowerCase()) > -1)\r\n || entry.UserId.toLowerCase().indexOf(searchText.toLowerCase()) > -1)\r\n return entry;\r\n }\r\n }\r\n }\r\n\r\n vm.getUsers = function () {\r\n vm.users = [];\r\n ReportService.getUsers(loggedinUser, token, vm.createCallback(vm.users, [function (data) {\r\n //$log.log(data);\r\n }]));\r\n };\r\n\r\n vm.getUsers(); \r\n\r\n vm.shareModel.cancelledToListUser = function (i) {\r\n vm.shareModel.toList.splice(i, 1);\r\n }\r\n\r\n vm.shareModel.cancelledCCListUser = function (i) {\r\n vm.shareModel.ccList.splice(i, 1);\r\n }\r\n\r\n vm.shareModel.cancelledBCCListUser = function (i) {\r\n vm.shareModel.bccList.splice(i, 1);\r\n }\r\n\r\n vm.shareModel.selectUserNameInToList = function (item) {\r\n vm.shareModel.toList.push(item);\r\n vm.shareModel.toUsers = [];\r\n }\r\n vm.shareModel.selectUserNameInCCList = function (item) {\r\n vm.shareModel.ccList.push(item);\r\n vm.shareModel.ccUsers = [];\r\n }\r\n vm.shareModel.selectUserNameInBCCList = function (item) {\r\n vm.shareModel.bccList.push(item);\r\n vm.shareModel.bccUsers = [];\r\n }\r\n\r\n vm.enableSchedules = function(id){\r\n var ids = id;\r\n angular.forEach(vm.schedules, function(s){\r\n if(s.checked){\r\n ids += s.id+\",\";\r\n }\r\n });\r\n if(ids.length>0){\r\n ids=ids.substring(0, ids.length-1);\r\n }\r\n\r\n ScheduledReportService.enabledSchedules(loggedinUser, ids, token, function(data){\r\n vm.showSuccess(\"Status\", data.msg);\r\n vm.getSheduledReports();\r\n });\r\n }\r\n\r\n vm.disableSchedules = function(id){\r\n var ids = id;\r\n angular.forEach(vm.schedules, function(s){\r\n if(s.checked){\r\n ids += s.id+\",\";\r\n }\r\n });\r\n if(ids.length>0){\r\n ids=ids.substring(0, ids.length-1);\r\n }\r\n\r\n ScheduledReportService.disableSchedules(loggedinUser, ids, token, function(data){\r\n vm.showSuccess(\"Status\", data.msg);\r\n vm.getSheduledReports();\r\n });\r\n\r\n }\r\n }\r\n});\nangular.module('inspinia').service('SMEInteractionService', function (ApiURL, PublicApiURL, ActivityURL, LocationURL, $http, FreelancerURL, SchedulingAPI) {\r\n\r\n this.SendCommunicationInvite = function (UserId, type, step, loggedinUser, token) {\r\n var url = ApiURL + '/api/Ticket/SendCommunicationInviteOnBoarding?UserId=' + UserId + '&Type=' + type + '&Step=' + step;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n\r\n this.GetAllInteractions = function (data, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerRegistration/GetAllInteractions';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAllInteractionsDashboard = function (data, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerRegistration/GetAllInteractionsDashboard';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.AssignSlotInteractionToUser = function (data, userId, InteractionType, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerRegistration/AssignSlotInteractionToUser?AssignToUser=' + userId + '&InteractionType=' + InteractionType;\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAvailableSlots = function (selectedDate, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreelancerUser/GetAvailableSlotsForBGVerification?date=' + selectedDate;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n\r\n }\r\n });\r\n }\r\n\r\n this.BookSlotForSMEInterationWeb = function (userId, selectedDate, slotIndex, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreelancerUser/BookSlotForSMEInterationWeb?UserId=' + userId + '&date=' + selectedDate + '&SlotId=' + slotIndex;\r\n return $http.put(url, null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetBasicDetailsWeb = function (UserId, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreelancerRegistration/GetBasicDetailsWeb?UserId=' + UserId;\r\n return $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n })\r\n }\r\n\r\n this.UploadSMEInteractionVideo = function (UserId,Rating, Feedback,Skill,FrontFileName, files, token, loggedinUser) {\r\n var formdata = new FormData();\r\n formdata.append(FrontFileName, files[0]);\r\n formdata.append(\"UserId\", UserId);\r\n formdata.append(\"skill\", Skill);\r\n formdata.append(\"Feedback\", Feedback);\r\n formdata.append(\"Rating\", Rating);\r\n var url = ApiURL + '/api/Upload/UploadSMEInteractionVideo';\r\n return $http.post(url, formdata, {\r\n headers: { 'Content-Type': undefined, 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n});\nangular.module('inspinia').controller('SMEInteractionController', function (SMEInteractionService, ReferService, ScheduleAssignService, $q, $log, $filter, $state, $localStorage, UIURL, $stateParams, $uibModal, $scope, DTOptionsBuilder, DTColumnDefBuilder, toaster, $timeout, $compile, uiCalendarConfig, ImageUrl, PublicApiURL, $window) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n var accountid = $localStorage.accountConfig.AccountId;\r\n vm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n vm.showSuccess = $scope.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.main.showFailure;\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n\r\n vm.sorttype = \"desc\";\r\n vm.SortType = \"desc\";\r\n vm.SortField = 'CreatedOn';\r\n vm.InteractionList = [];\r\n vm.assignButtonDisable = false;\r\n vm.bGVerifyListLength = 0;\r\n vm.userPageListCount = 10;\r\n vm.pageListCounts = [10, 20, 30, 50];\r\n var PageIndex = 1;\r\n var PageSize = 10;\r\n vm.InteractionType = 'SMEInteration';\r\n vm.statusList = [\"Pending\", \"Completed\", \"Assigned\"];\r\n vm.AssignedTo = '';\r\n vm.slotStatus = 'Assigned';\r\n vm.DateField = 'CreatedOn';\r\n vm.State = '';\r\n vm.City = '';\r\n vm.userskill = '';\r\n vm.disableuploadbutton = false;\r\n var startDate = moment().subtract(7, 'day').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.bookingdates = { startDate: moment().subtract(7, 'day'), endDate: moment() };\r\n vm.bookingRanges = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n 'Till now': [moment().subtract(5, 'years'), moment()]\r\n };\r\n\r\n // start calender\r\n var scheduleStartDate = new Date();\r\n var scheduleEndDate = new Date();\r\n scheduleEndDate.setDate(scheduleEndDate.getDate() + 6);\r\n vm.slotBookingdates = { scheduleStartDate: moment().subtract(7, 'day'), scheduleEndDate: moment() };\r\n $scope.showCalendar = false;\r\n $scope.showBookingTab = false;\r\n vm.slotDate = $filter('date')(new Date(), 'yyyy-MM-dd');\r\n $scope.toggleCalendar = function (userId) {\r\n vm.slotBookingUserId = userId;\r\n vm.GetAvailableSlots(vm.slotDate);\r\n $scope.showBookingTab = true;\r\n $scope.showCalendar = !$scope.showCalendar;\r\n };\r\n $scope.dateClicked = function () {\r\n vm.slotDate = $filter('date')(new Date(vm.slotBookingdates), 'yyyy-MM-dd');\r\n vm.GetAvailableSlots(vm.slotDate);\r\n };\r\n $scope.dateOptions = {\r\n formatYear: 'yyyy',\r\n startingDay: 1,\r\n minDate: scheduleStartDate,\r\n maxDate: scheduleEndDate\r\n };\r\n $scope.date = scheduleStartDate;\r\n\r\n\r\n\r\n ////end calender\r\n\r\n var scdt = new Date();\r\n scdt.setMinutes(scdt.getMinutes() + 30);\r\n vm.SourceCreationDate = scdt;\r\n var pcdt = new Date();\r\n pcdt.setDate(pcdt.getDate() + 7);\r\n vm.PlannedClosureDate = pcdt;\r\n\r\n vm.openCalendar = function (e, picker) {\r\n vm.ClosureDateTime.open = true;\r\n };\r\n var plannedclosuredatelimit = new Date();\r\n plannedclosuredatelimit.setMinutes(plannedclosuredatelimit.getMinutes() + 1)\r\n vm.ClosureDateTime = { date: '', datepickerOptions: { minDate: plannedclosuredatelimit } };\r\n\r\n var date = new Date();\r\n var d = date.getDate();\r\n var m = date.getMonth();\r\n var y = date.getFullYear();\r\n vm.eventsF = function (start, end, timezone, callback) {\r\n var s = new Date(start).getTime() / 1000;\r\n var e = new Date(end).getTime() / 1000;\r\n var m = new Date(start).getMonth();\r\n var events = [{\r\n title: 'Feed Me ' + m,\r\n start: s + (50000),\r\n end: s + (100000),\r\n allDay: false,\r\n className: ['customFeed']\r\n }];\r\n callback(events);\r\n };\r\n\r\n vm.outsidedateRangeChange = function (ev, picker) {\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n if (vm.InteractionType == 'BGVerify') {\r\n vm.InteractionType = 'BGVerify'\r\n }\r\n if (vm.InteractionType == 'SMEInteration') {\r\n vm.InteractionType = 'SMEInteration'\r\n }\r\n $scope.Userpagination = {};\r\n PageIndex = 1;\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n vm.GetAllInteractions();\r\n vm.GetAllInteractionsDashboard();\r\n };\r\n\r\n\r\n vm.toBeAssigned = [];\r\n vm.implementSelectItemsUsers = function (itemList, scope) {\r\n scope.selectAllUsers = false;\r\n scope.showMinusUsers = false;\r\n scope.selectRowUsers = function (i) {\r\n scope.showMinusUsers = false;\r\n scope.selectAllUsers = false;\r\n angular.forEach(scope[itemList], function (d) {\r\n if (d.checked) {\r\n vm.toBeAssigned.push(d.UserId)\r\n scope.showMinusUsers = true;\r\n }\r\n\r\n });\r\n }\r\n scope.applyAllNewJobSelect = function () {\r\n angular.forEach(scope[itemList], function (d) {\r\n d.checked = scope.selectAllUsers;\r\n });\r\n }\r\n\r\n scope.resetAllSelect = function () {\r\n scope.selectAllUsers = false;\r\n scope.showMinusUsers = false;\r\n }\r\n }\r\n\r\n vm.implementSelectItemsUsers('InteractionList', this);\r\n\r\n\r\n vm.AssignTickets = function (userId) {\r\n if (vm.toBeAssigned.length <= 1) {\r\n vm.showFailure(\"Failed\", 'Please select atleast 1 user to assign');\r\n } else {\r\n vm.assignButtonDisable = true;\r\n s.AssignSlotInteractionToUser(vm.toBeAssigned, userId, vm.InteractionType, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.showSuccess(\"Success\", \"Users assigned successfully\");\r\n vm.assignButtonDisable = false;\r\n $timeout(function () {\r\n vm.GetAllInteractions();\r\n vm.GetAllInteractionsDashboard();\r\n vm.toBeAssigned = [];\r\n }, 2000);\r\n\r\n } else {\r\n vm.showFailure(\"Failed\", \"User could not be assigned, server is not responding correctly.\");\r\n vm.assignButtonDisable = false;\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"User could not be assigned, server is not responding correctly.\");\r\n vm.assignButtonDisable = false;\r\n })\r\n }\r\n }\r\n\r\n\r\n $scope.totalTableUsersBG = 0;\r\n $scope.userSMETablePerPage = vm.userPageListCount;\r\n $scope.UserSMETablepagination = {\r\n current: 1\r\n };\r\n\r\n\r\n vm.changeUserSMEPageListCount = function () {\r\n $scope.userSMETablePerPage = vm.userPageListCount;\r\n PageSize = $scope.userSMETablePerPage;\r\n $scope.UserSMETablepageChanged($scope.UserSMETablepagination.current);\r\n }\r\n\r\n PageIndex = $scope.UserSMETablepagination.current;\r\n $scope.UserSMETablepageChanged = function (newPage) {\r\n PageIndex = newPage;\r\n vm.GetAllInteractions();\r\n };\r\n\r\n $scope.totalTableUsersBG = 0;\r\n $scope.userTablePerPage = vm.userPageListCount;\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n\r\n\r\n vm.changeUserPageListCount = function () {\r\n $scope.userTablePerPage = vm.userPageListCount;\r\n PageSize = $scope.userTablePerPage;\r\n $scope.UserTablepageChanged($scope.UserTablepagination.current);\r\n }\r\n\r\n PageIndex = $scope.UserTablepagination.current;\r\n $scope.UserTablepageChanged = function (newPage) {\r\n PageIndex = newPage;\r\n vm.GetAllInteractions();\r\n };\r\n\r\n\r\n vm.GetAllInteractions = function () {\r\n data = {\r\n \"Status\": vm.slotStatus,\r\n \"Skill\": vm.userskill == \"\" ? \"\" : vm.userskill.join(\"|\"),\r\n \"DateField\": vm.DateField,\r\n \"FromDate\": startDate,\r\n \"ToDate\": endDate,\r\n \"AssignedTo\": vm.AssignedTo == \"\" ? \"\" : vm.AssignedTo.join(\"|\"),\r\n \"InteractionType\": vm.InteractionType,\r\n \"PageIndex\": PageIndex,\r\n \"PageCount\": PageSize,\r\n \"State\": vm.State,\r\n \"City\": vm.City\r\n }\r\n SMEInteractionService.GetAllInteractions(data, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.InteractionList = resp.data.GetInteractionResModelList;\r\n $scope.totalTableUsersBG = resp.data.Count;\r\n if (vm.InteractionList.length < vm.userPageListCount)\r\n vm.bGVerifyListLength = $scope.totalTableUsersBG;\r\n else\r\n vm.bGVerifyListLength = PageIndex * vm.userPageListCount;\r\n if (PageIndex == 1)\r\n vm.pageindexCount = 1;\r\n else\r\n vm.pageindexCount = (((PageIndex - 1) * vm.userPageListCount) + 1);\r\n }\r\n\r\n })\r\n }\r\n\r\n vm.GetAllInteractionsDashboard = function () {\r\n data = {\r\n \"Status\": vm.slotStatus,\r\n \"Skill\": vm.userskill == \"\" ? \"\" : vm.userskill.join(\"|\"),\r\n \"DateField\": vm.DateField,\r\n \"FromDate\": startDate,\r\n \"ToDate\": endDate,\r\n \"AssignedTo\": vm.AssignedTo == \"\" ? \"\" : vm.AssignedTo.join(\"|\"),\r\n \"InteractionType\": vm.InteractionType,\r\n \"PageIndex\": PageIndex,\r\n \"PageCount\": PageSize,\r\n \"State\": vm.State,\r\n \"City\": vm.City\r\n }\r\n SMEInteractionService.GetAllInteractionsDashboard(data, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.TotalSlots = resp.data.TotalSlots;\r\n vm.AssignedSlots = resp.data.AssignedSlots;\r\n vm.PendingSlots = resp.data.PendingSlots;\r\n vm.CompletedSlots = resp.data.CompletedSlots;\r\n vm.BreachedSlots = resp.data.BreachedSlots;\r\n }\r\n\r\n })\r\n }\r\n\r\n vm.GetAllInteractions();\r\n vm.GetAllInteractionsDashboard();\r\n\r\n /// video upload\r\n vm.VideoUploadPopup = function (UserId, UserSkill) {\r\n vm.UserIdForVideo = UserId;\r\n vm.UserSkillForVideo = UserSkill;\r\n VideoModel = $uibModal.open({\r\n templateUrl: 'videoupload_model.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n }, function () {\r\n });\r\n \r\n }\r\n vm.file = [];\r\n $scope.uploadVideoFile = function(files){\r\n vm.FrontFileName=\"\";\r\n vm.FilesFrontDoc = files.files;\r\n vm.FrontFileName = vm.FilesFrontDoc[0].name; \r\n vm.file.push(vm.FilesFrontDoc);\t\r\n var allowedExtensions = /(\\.mp4|\\.mov|\\.avi|\\.webm|\\.m4v|\\.mov|\\.qt)$/i; \r\n if(!allowedExtensions.exec(vm.FrontFileName)){\r\n vm.FilesFrontDoc = [];\r\n vm.clear(); \r\n alert('Please upload file having extensions .mp4,.mov,.avi,.webm,.m4v,.mov,.qt only.');\r\n }\r\n }\r\n vm.clear = function () {\r\n angular.element(\"input[type='file']\").val(null);\r\n };\r\n\r\n $scope.stars = [1, 2, 3, 4, 5];\r\n $scope.skillrating = 0;\r\n\r\n $scope.setRating = function(rating) {\r\n $scope.skillrating = rating;\r\n };\r\n\r\n vm.UploadVideo = function () {\r\n var Feedback = vm.FeedbackRemarks;\r\n var Rating = $scope.skillrating;\r\n vm.disableuploadbutton = true;\r\n SMEInteractionService.UploadSMEInteractionVideo(vm.UserIdForVideo,Rating, Feedback,vm.UserSkillForVideo ,vm.FrontFileName, vm.FilesFrontDoc, token, loggedinUser).then(function (res) {\r\n if (res && res.status == 201) {\r\n vm.showSuccess(\"Success\", \"Video Uploaded Successfully.\");\r\n vm.VideoUploadPop();\r\n vm.disableuploadbutton = false;\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", \"Not Uploaded\");\r\n vm.VideoUploadPop();\r\n vm.disableuploadbutton = false;\r\n } else {\r\n vm.showFailure(\"Failed\");\r\n }\r\n });\r\n }\r\n\r\n vm.VideoUploadPop = function () {\r\n VideoModel.close();\r\n $scope.skillrating = 0;\r\n vm.FeedbackRemarks = \"\";\r\n }\r\n\r\n vm.GetAvailableSlots = function (slotDate) {\r\n vm.slotDate = slotDate\r\n SMEInteractionService.GetAvailableSlots(slotDate, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.AvailableSlots = resp.data.objAvailableSlotModelList;\r\n if(vm.AvailableSlots.length != 0){\r\n $scope.showBookingTab = true;\r\n }\r\n else{\r\n $scope.showBookingTab = false;\r\n }\r\n $scope.selectedTimeSlot = vm.AvailableSlots[0];\r\n }\r\n })\r\n }\r\n vm.SlotId = '';\r\n vm.disableBookingButton = false;\r\n vm.BookSlotForSMEInterationWeb = function () {\r\n vm.disableBookingButton = true;\r\n SMEInteractionService.BookSlotForSMEInterationWeb(vm.slotBookingUserId, vm.slotDate, vm.SlotId, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n $scope.toggleCalendar();\r\n vm.showSuccess(\"Success\", resp.data.Message);\r\n $timeout(function () {\r\n vm.GetAllInteractions();\r\n vm.GetAllInteractionsDashboard();\r\n }, 2000);\r\n vm.disableBookingButton = false;\r\n }\r\n else {\r\n vm.disableBookingButton = false;\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }\r\n })\r\n }\r\n\r\n vm.ProfileEditView = function (userId) {\r\n $state.go('index.RegistrationForm', {\r\n UserId: userId\r\n })\r\n }\r\n\r\n vm.getAllUsersByType = function (value) {\r\n $scope.totalTableUsersBG = 0;\r\n if (value == 'BGVerify') {\r\n vm.InteractionType = 'BGVerify'\r\n }\r\n if (value == 'SMEInteration') {\r\n vm.InteractionType = 'SMEInteration'\r\n }\r\n $scope.UserTablepagination = {};\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n $scope.UserSMETablepagination = {};\r\n $scope.UserSMETablepagination = {\r\n current: 1\r\n };\r\n vm.GetAllInteractions();\r\n vm.GetAllInteractionsDashboard();\r\n\r\n }\r\n\r\n vm.getAllSlotsByStatus = function (status) {\r\n vm.slotStatus = status;\r\n PageIndex = 1;\r\n vm.GetAllInteractions();\r\n }\r\n\r\n vm.OpenSMEPopUp = function (userDetail) {\r\n vm.userName = userDetail.UserName;\r\n vm.userId = userDetail.UserId;\r\n SMEInteractionModel = $uibModal.open({\r\n templateUrl: 'SME_Interaction_model.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n }, function () {\r\n });\r\n }\r\n\r\n $scope.SmeInteractionScreen = true;\r\n $scope.Smeinteract = function() {\r\n $scope.SmeInteractionScreen = !$scope.SmeInteractionScreen;\r\n };\r\n\r\n $scope.closeNav = function () {\r\n $scope.SmeInteractionScreen = !$scope.SmeInteractionScreen;\r\n }\r\n\r\n vm.closeInteractionPopUp = function () {\r\n SMEInteractionModel.close();\r\n }\r\n\r\n vm.GetBasicDetails = function (UserId) {\r\n vm.UserId = UserId;\r\n SMEInteractionService.GetBasicDetailsWeb(vm.UserId, loggedinUser, token).then(function (resp) {\r\n vm.UserBasicInfo = resp.data;\r\n });\r\n }\r\n vm.SendCommunicationInvite = function (type, Step, UserId) {\r\n // if($scope.AudioCallInitiated == false && type == 'Audio') {\r\n vm.UserId = UserId;\r\n if (type == 'Audio') {\r\n SMEInteractionService.SendCommunicationInvite(vm.UserId, type, Step, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n {\r\n vm.connectionLink = resp.data;\r\n vm.showSuccess(\"Success\", \"Audio call request initiated\");\r\n // vm.PollVideoCallFieldLocation();\t\r\n // $scope.AudioCallInitiated = true;\t\t\t\t\r\n\r\n }\r\n }\r\n });\r\n }\r\n else if (type == 'Video') {\r\n SMEInteractionService.SendCommunicationInvite(vm.UserId, type, Step, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n {\r\n vm.connectionLink = resp.data;\r\n vm.closeInteractionPopUp();\r\n vm.showSuccess(\"Success\", \"Video call request initiated\");\r\n // vm.PollVideoCallFieldLocation();\t\r\n // $scope.VideoCallInitiated = true;\t\t\t\t\r\n\r\n }\r\n }\r\n });\r\n }\r\n else if (type == 'Text') {\r\n SMEInteractionService.SendCommunicationInvite(vm.UserId, type, Step, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n {\r\n vm.connectionLink = resp.data;\r\n vm.showSuccess(\"Success\", \"Communication Request Initiated\");\r\n // vm.PollVideoCallFieldLocation();\t\r\n // $scope.ChatInitiated = true;\t\t\t\t\r\n\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n }\r\n});\r\n\r\nangular.module('inspinia').filter('searchUser', function () {\r\n return function (items, search) {\r\n var filtered = [];\r\n if (search) {\r\n angular.forEach(items, function (item) {\r\n var searchstr = new RegExp(search, \"i\");\r\n if (item.id.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.User_Type.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.city.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.contactnumber.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.name.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.role.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.state.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n });\r\n } else {\r\n filtered = items;\r\n }\r\n return filtered;\r\n }\r\n})\nangular.module('inspinia').service('ScheduleAssignService',function($http,ApiURL,SchedulingAPI,FreelancerURL,PublicApiURL){\r\n\r\n\r\nthis.GetTicketsByFilter = function(loggedinUser,itemNames,itemValues, token){\r\n var url = ApiURL + '/api/Ticket/' + loggedinUser + '/GetTicketsForAssignation?itemNames=' + itemNames + '&itemValues=' + itemValues;\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token}\r\n })\r\n }\r\n\r\n\r\n //https://test.mymobiforce.com/SchedulingAPI/api/AssistedScheduling/GetSchedulingEvaluationResult?reqUserId=U360000000001\r\n\r\n this.GetSchedulingEvaluationResult = function(data,reqUserId,token){\r\n \tvar url = SchedulingAPI + 'x='+reqUserId;\r\n \treturn $http.post(url,data,{\r\n \t\theaders:{'Content-Type':'application/json','Token':token}\r\n \t})\r\n\r\n }\r\n\r\n //BroadCast Jobs/Bids\r\n //http://192.168.0.80:92/FreelancerAPI/api/BID/createBidFromAssistedScheduling?reqUserId=asdasd\r\n\r\n this.BroadCastJobsforUser = function(loggedinUser,data, token){\r\n var url = FreelancerURL + '/api/BID/createBidFromAssistedScheduling?reqUserId=' + loggedinUser;\r\n return $http.post(url,data,{\r\n headers:{\r\n 'Content-Type':'application/json',\r\n 'Token': token\r\n }\r\n });\r\n }\r\n\r\n //https://db.mymobiforce.com/publicapi/api/Address/GetCountry?userId=U420000000001\r\n this.getCountry = function (loggedInUserId, token){\r\n var url = PublicApiURL + '/api/Address/GetCountry?userId=' + loggedInUserId;\r\n return $http.get(url, {\r\n headers:{'Token':token}\r\n });\r\n }\r\n\r\n //https://db.mymobiforce.com/publicapi/api/Address/GetStates?userId=U420000000001&country=QATAR\r\n this.getStates = function (loggedInUserId, token, country) {\r\n var url = PublicApiURL + '/api/Address/GetStates?userId=' + loggedInUserId + '&country=' + country;\r\n return $http.get(url,{\r\n headers:{'Token':token,}\r\n });\r\n }\r\n\r\n\r\n //https://db.mymobiforce.com/publicapi/api/Address/GetCities?userId=U420000000001&state=DOHA\r\n this.getCities = function (loggedInUserId, token, state) {\r\n var url = PublicApiURL + '/api/Address/GetCities?userId=' + loggedInUserId + '&state=' + state;\r\n return $http.get(url, {\r\n headers:{'Token':token}\r\n });\r\n }\r\n\r\n\r\n \r\n//https://test.mymobiforce.com/SchedulingAPI/api/AssistedScheduling/GetAllAssignedJobs?accountId=35&supervisiorId=U350000000006&fromDate=2018-12-17&toDate=2018-12-17\r\n \r\n this.GetSchedulingEventToday = function(accountId,supervisiorId,fromDate,toDate,itemNames,itemValues,token){\r\n var url = SchedulingAPI + '/api/AssistedScheduling/GetAllAssignedJobs?accountId='+accountId +'&supervisiorId='+supervisiorId +'&fromDate='+fromDate+ '&toDate='+toDate +\r\n \"&itemNames=\" + itemNames + \"&itemValues=\" + itemValues;\r\n return $http.get(url,{\r\n headers:{\r\n 'Content-Type':'application/json',\r\n 'Token': token,\r\n 'UserId': supervisiorId\r\n }\r\n })\r\n\r\n }\r\n\r\n\r\n// https://demo.mymobiforce.com/schedulingapi/api/AutoJobAssign/AutoScheduleAllJobsDemo?reqUserId=U560000000001\r\n this.AutoAssignTickets = function(reqUserId,ticketId, token){\r\n var url = SchedulingAPI + '/api/AutoJobAssign/AutoScheduleAllJobsDemo?reqUserId='+reqUserId +'&TicketIds='+ticketId;\r\n return $http.put(url,{}, {\r\n headers:{'Content-Type':'application/json','Token':token,'UserId': reqUserId\r\n }\r\n }) \r\n }\r\n\r\n\r\n this.AutoAssignTicketsForToday = function(reqUserId,selectedDate, transMode, itemNames,itemValues,token){\r\n var url = SchedulingAPI + '/api/AutoJobAssign/AutoScheduleAllJobsDemo?reqUserId='+reqUserId+'&scheduleDate='+selectedDate + '&transMode='+transMode +\r\n \"&itemNames=\" + itemNames + \"&itemValues=\" + itemValues;\r\n return $http.put(url,{}, {\r\n headers:{'Content-Type':'application/json','Token':token,'UserId': reqUserId\r\n }\r\n }) \r\n }\r\n\r\n // https://product.mymobiforce.com/schedulingapi/api/AssistedScheduling/GetFixedTeamTimeLine?reqUserId=U400000000001\r\n this.OnloadUser = function(data,reqUserId,token){\r\n \tvar url = SchedulingAPI + '/api/AssistedScheduling/GetFixedTeamTimeLine?reqUserId='+reqUserId;\r\n \treturn $http.post(url,data,{\r\n \t\theaders:{'Content-Type':'application/json','Token':token}\r\n \t})\r\n\r\n }\r\n\r\n\r\n //Assign Tickets\r\n //http://192.168.0.80:92/CoreAPI/api/Ticket/ass/asd/asd/AssignTicket\r\n this.AssignTickets = function(userId,reqUserId,ticketId, token){\r\n var TicketId = ticketId.split(',');\r\n var url = ApiURL + '/api/Ticket/' + userId + '/' + reqUserId + '/AssignTicket'\r\n return $http.put(url,TicketId, {\r\n headers:{'Content-Type':'application/json','Token':token\r\n }\r\n }) \r\n }\r\n \r\n\r\n\r\n\r\n//AssignTicketsTimeline\r\n//https://test.mymobiforce.com/coreapi/api/Ticket/test/AssignTicketForAssistedScheduling\r\n this.AssignTicketsTimeline = function(reqUserId,list, token){\r\n var url = ApiURL + '/api/Ticket/' + reqUserId + '/AssignTicketForAssistedScheduling'\r\n return $http.put(url,list,{\r\n headers:{'Content-Type':'application/json','Token':token}\r\n })\r\n }\r\n\r\n\r\n\r\n this.GetTicketsByStatus = function (loggedinUser, itemNames,itemValues, token) {\r\n var url = FreelancerURL + '/api/BID/'+loggedinUser+'/' + itemNames + '/'+ itemValues + '/getjobsbyfilter';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetTicketsByStatusDemo = function (loggedinUser, itemNames,itemValues, fromDate, toDate, token) {\r\n var url = FreelancerURL + '/api/BID/'+loggedinUser+'/' + itemNames + '/'+ itemValues + '/' + fromDate + '/' + toDate + '/getjobsbyfilterDemo';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n})\nvar app =angular.module('inspinia').controller('ScheduleJobAssigne',function(ScheduleAssignService, jobBidCreationService, UIURL,FreelancerFixedService,\r\n $log, $state, $localStorage, $stateParams, $uibModal, VendorCreationService, $scope, DTOptionsBuilder, DTColumnDefBuilder, toaster, $timeout, $compile,\r\n uiCalendarConfig, ImageUrl,$filter){\r\n\r\n\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var loggedinUserSkill = $localStorage.loggedInUser_SkillSet;\r\n var loggedinUserRegion = $localStorage.loggedInUser_Region;\r\n if (!loggedinUser) {\r\n\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n }else{\r\n var token = $localStorage.token;\r\n //Global Variable Declaration\r\n vm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n vm.loggedInUserVendorId = $localStorage.loggedInUser_VendorId;\r\n vm.loggedInUserReportingTo = $localStorage.loggedInUser_ReportingTo;\r\n vm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n vm.TimeoutFunc = $scope.$parent.$parent.main.TimeoutFunc;\r\n vm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n vm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n vm.loggedinAs = $localStorage.loggedinAs; \r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.MobiforceCommission = vm.getAccountConfigSetting('MobiforceCommissionPercentage');\r\n vm.VendorAssignation = vm.getAccountConfigSetting('VendorAssignation');\r\n vm.EnableRegion = vm.getAccountConfigSetting('EnableRegion');\r\n vm.FreelancerAccess = vm.getAccountConfigSetting('FreelancerAccess');\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n vm.AllTicketList = '';\r\n vm.filterCriteria1 = [\"Price\",\"Distance\",\"Ratings\"];\r\n vm.filterCriteria2 = [\"Price\",\"Distance\",\"Ratings\"];\r\n vm.filterCriteria3 = [\"Price\",\"Distance\",\"Ratings\"];\r\n vm.selectedFilter1 = 'Distance';\r\n vm.selectedFilter2= 'Ratings';\r\n vm.selectedFilter3= 'Price';\r\n vm.disablefilters = true;\r\n vm.range = '10';\r\n vm.isCurrentLocation = false;\r\n vm.selectedRow = null; // initialize our variable to null\r\n vm.selectedFreelancers = [];\r\n vm.SuggestedUserList = [];\r\n vm.AssignTicektData = [];\r\n vm.AllAssignUserDetails=[];\r\n $scope.AssignSelectedUser={};\r\n $scope.AssignSelectedUser.allItemsSelected = false;\r\n vm.AllAssignUserList =[];\r\n vm.BroadcastedUserList =[];\r\n vm.ReadyToAssignList =[];\r\n $scope.BroadcastedUser ={};\r\n $scope.BroadcastedUser.allItemsSelected = false;\r\n vm.TransMode = 'driving';\r\n vm.IsMaterialDelivered = $localStorage.accountConfig.IsMaterialDelivered;\r\n vm.IsBroadcastPermision = true;\r\n vm.IsAssignPermision = true;\r\n vm.Mode = 'List';\r\n vm.TicketStatus = 'New';\r\n vm.cities = [];\r\n vm.markers = [];\r\n var NewJobIcon = UIURL+'/assets/images/patterns/JOb_icon.png';\r\n var BroadcastedJobIcon = UIURL+'/assets/images/patterns/JOb_icon.png';\r\n var AssignedJobIcon = UIURL+'/assets/images/patterns/JOb_icon.png';\r\n var CompletedJobIcon = UIURL+'/assets/images/patterns/JOb_icon.png';\r\n var flIcon = UIURL+'/assets/images/patterns/mascot_icon2.png';\r\n var ftIcon = UIURL+'/assets/images/patterns/mascot_icon2.png';\r\n var fvIcon = UIURL+'/assets/images/patterns/mascot_icon2.png';\r\n var vIcon = UIURL+'/assets/images/patterns/mascot_icon2.png';\r\n var DefaultImage = UIURL+'/assets/images/patterns/Photo1.png';\r\n vm.InfoWindow;\r\n vm.selectedTicket = '';\r\n vm.BroadcastedJobList = '';\r\n var listdata=[];\r\n //vm.filterUserData = 'All';\r\n\r\n\r\n $scope.editingData = {};\r\n $scope.editingFPrice = {};\r\n $scope.modify = function(list){ \r\n $scope.editingData[list.UserId] = true;\r\n };\r\n\r\n $scope.modifyFPrice = function(list){ \r\n $scope.editingFPrice[list.UserId] = true;\r\n };\r\n\r\n\r\n $scope.update = function(list){\r\n if(list.Price==0){\r\n vm.showFailure(\"Failed\",\"Bid price can't be zero.\");\r\n }else{\r\n list.TPrice = (Number)(list.Price) + ((list.Price * vm.GSTPercentange)/100);\r\n list.FPrice = (list.Price) - ((list.Price * vm.MobiforceCommission)/100);\r\n $scope.editingData[list.UserId] = false;\r\n }\r\n \r\n };\r\n\r\n $scope.updateFPrice = function(list){\r\n if(list.FPrice==0){\r\n vm.showFailure(\"Failed\",\"price can't be zero.\");\r\n }else{\r\n list.Price = (list.FPrice * 100)/(100 - vm.MobiforceCommission);\r\n list.TPrice = (Number)(list.Price) + ((list.Price * vm.GSTPercentange)/100);\r\n \r\n $scope.editingFPrice[list.UserId] = false;\r\n }\r\n \r\n };\r\n\r\n//loggedinUser,itemNames,itemValues, token\r\nvm.GetTicketsForAssignation = function(){\r\n if (vm.VerticalName!='IMS' || vm.VerticalName!='Spectro Labs') {\r\n var itemNames = '';\r\n var itemValues = '';\r\n if(loggedinUserSkill==\"VSAT\"){\r\n itemNames+=\"Template\";\r\n itemValues+=\"VSAT CCR\";\r\n } else if(loggedinUserSkill==\"LeaseLine\"){\r\n itemNames+=\"Template\";\r\n itemValues+=\"LeaseLine CCR\";\r\n }\r\n ScheduleAssignService.GetTicketsByFilter(loggedinUser,itemNames,itemValues,token).then(function(resp){\r\n if (resp && resp.status == 200 && resp.data) {\r\n var ticketData = [];\r\n vm.AllTicketList = resp.data;\r\n ticketData = vm.AllTicketList;\r\n // vm.selectedTicket = ticketData[0];\r\n vm.disablefilters = false;\r\n // vm.GetSchedulingResults();\r\n GetSchedulingEventforToday(loggedinUser);\r\n scheduler.clearAll();\r\n }\r\n })\r\n }\r\n}\r\n\r\nvm.round2Decimal = function (no) {\r\n return Math.round(no * 100) / 100; \r\n}\r\n\r\n\r\nvm.model = {};\r\nvm.model.allItemsSelected = false;\r\n\r\nif(vm.FreelancerAccess){\r\n vm.model = [{ \"key\": 1, \"Role\": \"Field Engineer\", \"userType\": \"Fixed Team\", \"Value\":\"Field Engineer\"},\r\n { \"key\": 2, \"Role\": \"Field Engineer\", \"userType\":\"Freelancer\", \"Value\":\"Freelancer\"},\r\n { \"key\": 3, \"Role\": \"Vendor Manager\", \"userType\": \"Fixed Team\", \"Value\":\"Vendor\"},\r\n { \"key\": 4, \"Role\": \"Vendor Manager\", \"userType\":\"Freelancer\", \"Value\":\"Freelancer Vendor\"}\r\n ];\r\n}else{\r\n vm.model = [\r\n { \"key\": 1, \"Role\": \"Field Engineer\", \"userType\": \"Fixed Team\", \"Value\":\"Field Engineer\"},\r\n { \"key\": 3, \"Role\": \"Vendor Manager\", \"userType\": \"Fixed Team\", \"Value\":\"Vendor\"}\r\n ];\r\n}\r\n\r\n\r\nvm.selectEntityFilter = function () {\r\n var newList = [];\r\n var usersList = angular.copy(vm.SuggestedUserList.users);\r\n vm.TestCase = false;\r\n for (var i = 0; i < vm.model.length; i++) {\r\n if (!vm.model[i].isChecked) {\r\n vm.TestCase = true;\r\n vm.model.allItemsSelected = false;\r\n var Role =vm.model[i].Role;\r\n var userType =vm.model[i].userType;\r\n var allIndex = [];\r\n /*usersList.some(function(obj, x) {\r\n if(obj.role == Role && obj.userType == userType){\r\n delete usersList[x];\r\n } else {\r\n false;\r\n }\r\n });*/\r\n newList =[];\r\n /*angular.forEach(usersList, function(d){\r\n if(d){\r\n newList.push(d);\r\n }\r\n })*/\r\n }\r\n }\r\n if(newList=='' && vm.TestCase == false){\r\n newList= vm.SuggestedUserList.users;\r\n // scheduler.updateCollection(\"sections\", newList);\r\n vm.model.allItemsSelected = true;\r\n }else{\r\n // scheduler.updateCollection(\"sections\", newList);\r\n }\r\n };\r\n\r\n vm.selectAllFilter = function () {\r\n for (var i = 0; i < vm.model.length; i++) {\r\n vm.model[i].isChecked = vm.model.allItemsSelected;\r\n }\r\n /*if(vm.model.allItemsSelected==true){\r\n scheduler.updateCollection(\"sections\", vm.SuggestedUserList.users);\r\n }else{\r\n var freelist =[];\r\n scheduler.updateCollection(\"sections\",freelist);\r\n }*/\r\n };\r\n vm.model.allItemsSelected = true;\r\n vm.selectAllFilter();\r\n\r\n\r\n vm.FilterData = function(item,level){\r\n if (level == 1) {\r\n vm.filterCriteria2 = [];\r\n angular.forEach(vm.filterCriteria1,function(d){\r\n if (d!=item) {\r\n vm.filterCriteria2.push(d);\r\n }\r\n })\r\n }else if(level == 2){\r\n vm.filterCriteria3 = [];\r\n angular.forEach(vm.filterCriteria1,function(d){\r\n if (d!=item) {\r\n if (d!=vm.selectedFilter1) {\r\n vm.filterCriteria3.push(d);\r\n } \r\n }\r\n })\r\n }\r\n }\r\n\r\n vm.GetJobsByFilter = function(item,value){\r\n if (item == 'Priority') {\r\n var itemNames = 'Priority';\r\n var itemValues = value;\r\n ScheduleAssignService.GetTicketsByFilter(loggedinUser,itemNames,itemValues).then(function(resp){\r\n if (resp && resp.status == 200 && resp.data) {\r\n vm.AllTicketList = resp.data;\r\n }\r\n })\r\n }\r\n }\r\n\r\n vm.GetMobCommission = function(data)\r\n { \r\n vm.MobiforceCommission =data;\r\n }\r\n\r\n vm.GetServiceTax = function(data)\r\n { \r\n vm.GSTPercentange =data;\r\n }\r\n\r\n\r\n jobBidCreationService.GetMobCommission(loggedinUser, token, vm.GetMobCommission);\r\n jobBidCreationService.GetServiceTax(loggedinUser, token, vm.GetServiceTax);\r\n\r\n\r\n\r\n vm.getBroadcastedTickets = function(){\r\n // var loggedinUser1 = 'U350000000001'\r\n var itemNames = 'Ticket Status';\r\n var itemValues = 'Broadcasted';\r\n if(vm.VerticalName=='IMS'){\r\n if(loggedinUserSkill==\"VSAT\"){\r\n itemNames+=\",Template\";\r\n itemValues+=\",VSAT CCR\";\r\n } else if(loggedinUserSkill==\"LeaseLine\"){\r\n itemName+=\",Template\";\r\n itemValues+=\",LeaseLine CCR\";\r\n }\r\n }\r\n ScheduleAssignService.GetTicketsByStatus(loggedinUser,itemNames, itemValues,token).then(function(resp){\r\n if (resp && resp.status == 200 && resp.data) {\r\n var ticketData = [];\r\n vm.BroadcastedJobList = resp.data;\r\n // ticketData = vm.BroadcastedJobList;\r\n // vm.selectedTicket = ticketData[0];\r\n vm.disablefilters = false;\r\n // vm.GetSchedulingResults();\r\n GetSchedulingEventforToday(loggedinUser);\r\n scheduler.clearAll();\r\n }\r\n })\r\n }\r\n\r\n vm.getReadyToAssign= function(){\r\n\r\n // var loggedinUser1 = 'U350000000001'\r\n var itemNames = 'Ticket Status';\r\n var itemValues = 'ReadyToAssign';\r\n if(vm.VerticalName=='IMS'){\r\n if(loggedinUserSkill==\"VSAT\"){\r\n itemNames+=\",Template\";\r\n itemValues+=\",VSAT CCR\";\r\n } else if(loggedinUserSkill==\"LeaseLine\"){\r\n itemNames+=\",Template\";\r\n itemValues+=\",LeaseLine CCR\";\r\n }\r\n }\r\n ScheduleAssignService.GetTicketsByStatus(loggedinUser,itemNames, itemValues,token).then(function(resp){\r\n if (resp && resp.status == 200 && resp.data) {\r\n var ticketData = [];\r\n vm.ReadyToAssignList = resp.data;\r\n // ticketData = vm.BroadcastedJobList;\r\n // vm.selectedTicket = ticketData[0];\r\n vm.disablefilters = false;\r\n // vm.GetSchedulingResults();\r\n GetSchedulingEventforToday(loggedinUser);\r\n scheduler.clearAll();\r\n }\r\n })\r\n }\r\n\r\n \r\n\r\n \r\n vm.setClickedRowNew = function(index,data){ \r\n vm.IsLineItemAvailable = data.IsLineItemAvailable;\r\n\r\n //function that sets the value of selectedRow to current index\r\n vm.selectedRow = index;\r\n if(vm.IsMaterialDelivered){\r\n if(data.MetrialDeliverStatus !='Delivered'){\r\n vm.IsBroadcastPermision = false;\r\n vm.IsAssignPermision = false;\r\n }\r\n }\r\n vm.selectedTicket = data;\r\n vm.disablefilters = false;\r\n if (vm.range!= '') {\r\n vm.GetSchedulingResults();\r\n }\r\n}\r\n\r\n vm.setClickedRowBroad = function(index,data){ //function that sets the value of selectedRow to current index\r\n vm.selectedRow = index;\r\n vm.selectedTicket = data;\r\n vm.disablefilters = false;\r\n if (vm.range!= '') {\r\n vm.GetSchedulingResults();\r\n }\r\n}\r\n\r\nvm.setSelectedFreelancers = function(index,data){\r\n if( vm.selectedFreelancers.indexOf(data) > -1 ){\r\n vm.selectedFreelancers.splice(vm.selectedFreelancers.indexOf(data), 1);\r\n }\r\n else{\r\n vm.selectedFreelancers.push(data);\r\n }\r\n}\r\n\r\nvm.isSelected = function(data){\r\n var bool = vm.selectedFreelancers.indexOf(data) >-1;\r\n return bool;\r\n}\r\n\r\nvm.getProfilePic = function (profilePicName) {\r\n return profilePicName ? ImageUrl + \"/\" + profilePicName : DefaultImage;\r\n}\r\n\r\nvm.filterUsers = function(role){\r\n if (role == 'Field Engineer') {\r\n vm.filterUserData = 'Field Engineer';\r\n }else if(role == 'Freelancer'){\r\n vm.filterUserData = 'Freelancer';\r\n }else if(role == 'Vendor Manager'){\r\n vm.filterUserData = 'Vendor Manager';\r\n } \r\n}\r\n\r\nvm.ChangeMode = function (mode) {\r\n if(mode == 'List'){\r\n vm.Mode = 'List';\r\n if(vm.selectedTicket == ''){\r\n GetSchedulingEventforToday(loggedinUser);\r\n } else {\r\n vm.GetSchedulingResults();\r\n }\r\n }\r\n}\r\n\r\nvm.GetSchedulingResults = function(){\r\n\r\n vm.cities = [];\r\n vm.markers = [];\r\n if (vm.TicketStatus == 'New') {\r\n if (vm.selectedTicket=='' || vm.selectedTicket==null) {\r\n // vm.showFailure(\"Please select a job\");\r\n }else{\r\n var obj = {};\r\n var roleList = [];\r\n angular.forEach(vm.model, function(d){\r\n if(d.isChecked){\r\n roleList.push({\"UserRole\":d.Role, \"UserType\":d.userType});\r\n }\r\n })\r\n obj.OrderByUsers = [];\r\n obj.JobId = vm.selectedTicket.TicketId;\r\n\r\n // obj.jobId = vm.selectedTicket.LinkId?vm.selectedTicket.LinkId:vm.selectedTicket.TicketId;\r\n obj.JobAccountId = '';\r\n obj.FromDate = new Date().toISOString().slice(0,10);\r\n obj.ToDate = new Date().toISOString().slice(0,10);\r\n obj.ActOnCurrentLocation = vm.isCurrentLocation;\r\n obj.RangeFromJob = parseInt(vm.range*1000);\r\n obj.FETravelChargePerKM = 10;\r\n obj.TransportMode = vm.TransMode;\r\n obj.UserConfigList = roleList;\r\n if (vm.selectedFilter1!=undefined && vm.selectedFilter1!='') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 1;\r\n if (vm.selectedFilter1.indexOf('Distance')>=0) {\r\n orderObj.OrderByField = 'UserDistance'; \r\n }else if (vm.selectedFilter1.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating'; \r\n }else if (vm.selectedFilter1.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate'; \r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter2!=undefined && vm.selectedFilter2!='') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 2;\r\n if (vm.selectedFilter2.indexOf('Distance')>=0) {\r\n orderObj.OrderByField = 'UserDistance'; \r\n }else if (vm.selectedFilter2.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating'; \r\n }else if (vm.selectedFilter2.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter3!=undefined && vm.selectedFilter3!='') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 3;\r\n if (vm.selectedFilter3.indexOf('Distance')>=0) {\r\n orderObj.OrderByField = 'UserDistance';\r\n }else if (vm.selectedFilter3.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating';\r\n }else if (vm.selectedFilter3.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n\r\n ScheduleAssignService.GetSchedulingEvaluationResult(obj,loggedinUser,token).then(function(resp){\r\n if (resp && resp.status==200 && resp.data && resp.data.users.length>0) {\r\n vm.SuggestedUserList = [];\r\n vm.BroadcastedList = [];\r\n vm.BroadcastedUserList =[];\r\n vm.SuggestedUserList = resp.data;\r\n for(var i=0;i=0) {\r\n orderObj.OrderByField = 'UserDistance'; \r\n }else if (vm.selectedFilter1.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating'; \r\n }else if (vm.selectedFilter1.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate'; \r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter2!=undefined && vm.selectedFilter2!='') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 2;\r\n if (vm.selectedFilter2.indexOf('Distance')>=0) {\r\n orderObj.OrderByField = 'UserDistance'; \r\n }else if (vm.selectedFilter2.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating'; \r\n }else if (vm.selectedFilter2.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter3!=undefined && vm.selectedFilter3!='') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 3;\r\n if (vm.selectedFilter3.indexOf('Distance')>=0) {\r\n orderObj.OrderByField = 'UserDistance';\r\n }else if (vm.selectedFilter3.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating';\r\n }else if (vm.selectedFilter3.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n\r\n ScheduleAssignService.GetSchedulingEvaluationResult(obj,loggedinUser,token).then(function(resp){\r\n if (resp && resp.status==200 && resp.data && resp.data.users.length>0) {\r\n vm.SuggestedUserList = [];\r\n vm.SuggestedUserList =resp.data;\r\n for(var i=0;i=0) {\r\n orderObj.OrderByField = 'UserDistance'; \r\n }else if (vm.selectedFilter1.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating'; \r\n }else if (vm.selectedFilter1.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate'; \r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter2!=undefined && vm.selectedFilter2!='') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 2;\r\n if (vm.selectedFilter2.indexOf('Distance')>=0) {\r\n orderObj.OrderByField = 'UserDistance'; \r\n }else if (vm.selectedFilter2.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating'; \r\n }else if (vm.selectedFilter2.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter3!=undefined && vm.selectedFilter3!='') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 3;\r\n if (vm.selectedFilter3.indexOf('Distance')>=0) {\r\n orderObj.OrderByField = 'UserDistance';\r\n }else if (vm.selectedFilter3.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating';\r\n }else if (vm.selectedFilter3.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n\r\n ScheduleAssignService.GetSchedulingEvaluationResult(obj,loggedinUser,token).then(function(resp){\r\n if (resp && resp.status==200 && resp.data && resp.data.users.length>0) {\r\n vm.SuggestedUserList = [];\r\n\r\n vm.SuggestedUserList =resp.data;\r\n for(var i=0;itoday){\r\n var sdate = start_date.split(\" \")[0];\r\n var stime = start_date.split(\" \")[1];\r\n var edate = end_date.split(\" \")[0];\r\n var etime = end_date.split(\" \")[1];\r\n start_date = newdate + ' ' + stime;\r\n end_date = newdate + ' ' + etime;\r\n }*/\r\n // vm.AllAssignUserList.push({\"UserId\":Id,\"TicketId\":ticketid}); \r\n\r\n //var fromDate = new Date().toISOString().slice(0,10);\r\n //var toDate = new Date().toISOString().slice(0,10);\r\n\r\n var AssignList =[];\r\n\r\n if(vm.AllAssignUserDetails.length!=0){\r\n console.log(vm.AllAssignUserDetails);\r\n AssignList = $filter('filter')(vm.AllAssignUserDetails,function(value){\r\n // return value.UserId==Id && value.start_date==start_date;\r\n //return value.UserId==Id;\r\n return value.TicketId==ticket;\r\n\r\n })\r\n console.log(AssignList);\r\n /// it is used for the \r\n if(AssignList.length!=0){\r\n var checklinkId = AssignList[0].LinkId;\r\n AssignList =[];\r\n var evs = scheduler.getEvents();\r\n var checkList = $filter('filter')(evs,function(value){\r\n return value.LinkId==checklinkId;\r\n })\r\n var d = checkList[0].id;\r\n scheduler.deleteEvent(d);\r\n }\r\n\r\n if(AssignList.length==0){\r\n var eventId = scheduler.addEvent({\r\n start_date: start_date,\r\n end_date: end_date,\r\n assignedUserid: Id,\r\n status :status,\r\n Role :Role,\r\n TicketId:ticket,\r\n Distance :Distance,\r\n LinkId: linkId,\r\n SuggestedPrice:SuggestedPrice,\r\n Price : Price,\r\n Name : Name,\r\n userType :userType\r\n });\r\n\r\n vm.AllAssignUserDetails.push({\"UserId\":Id,\"TicketId\":ticketid,\"LinkId\":linkId,\"Role\":Role,\"start_date\":start_date,\"end_date\":end_date,\"Name\":Name,\"Distance\":Distance,\"SuggestedPrice\":SuggestedPrice,\"type\":userType,\"Price\": Price});\r\n // console.log(vm.AllAssignUserDetails);\r\n }\r\n }else if(vm.AllAssignUserDetails.length==0){\r\n var eventId = scheduler.addEvent({\r\n start_date: start_date,\r\n end_date: end_date,\r\n assignedUserid: Id,\r\n status :status,\r\n Role :Role,\r\n TicketId:ticket,\r\n LinkId: linkId,\r\n Distance :Distance,\r\n SuggestedPrice:SuggestedPrice,\r\n Price : Price,\r\n Name : Name,\r\n userType: userType,\r\n });\r\n\r\n vm.AllAssignUserDetails.push({\"UserId\":Id,\"TicketId\":ticketid,\"LinkId\":linkId,\"Role\":Role,\"start_date\":start_date,\"end_date\":end_date,\"Name\":Name,\"Distance\":Distance,\"SuggestedPrice\":SuggestedPrice,\"type\":userType,\"Price\": Price});\r\n\r\n }\r\n }\r\n\r\n /* vm.AssignTicketsTimeline = function () {\r\n vm.AllUserList =[];\r\n if(vm.selectedFreelancers == ''){\r\n vm.showFailure(\"Please select users.\")\r\n } else {\r\n angular.forEach(vm.selectedFreelancers,function(data){\r\n if(data.Role=='Field Engineer' && data.type=='Fixed Team') {\r\n vm.AllUserList.push({\"UserId\":data.UserId,\"TicketId\":data.TicketId,\"StartTime\":data.start_date,\"Endtime\":data.end_date,\"SuggestedPrice\":data.SuggestedPrice,\"AssignPrice\":data.Price ,\"Distance\":data.Distance})\r\n } else if (data.Role=='Field Engineer' && data.type == 'Freelancer') {\r\n vm.AllUserList.push({\"UserId\":data.UserId,\"TicketId\":data.TicketId,\"StartTime\":data.start_date,\"Endtime\":data.end_date,\"SuggestedPrice\":data.SuggestedPrice,\"AssignPrice\":data.Price ,\"Distance\":data.Distance})\r\n } else if (data.Role=='Vendor Manager' && data.type == 'Fixed Team') {\r\n vm.AllUserList.push({\"UserId\":data.UserId,\"TicketId\":data.TicketId,\"StartTime\":data.start_date,\"Endtime\":data.end_date,\"SuggestedPrice\":data.SuggestedPrice,\"AssignPrice\":data.Price ,\"Distance\":data.Distance})\r\n } else {\r\n vm.AllUserList.push({\"UserId\":data.UserId,\"TicketId\":data.TicketId,\"StartTime\":data.start_date,\"Endtime\":data.end_date,\"SuggestedPrice\":data.SuggestedPrice,\"AssignPrice\":data.Price ,\"Distance\":data.Distance})\r\n }\r\n })\r\n\r\n ScheduleAssignService.AssignTicketssTimeline(loggedinUser,vm.AllUserList,token).then(function(resp){\r\n if (resp.status == 200 && resp.data) {\r\n vm.showSuccess(\"Success\",\"Job Assigned Successfully\");\r\n // vm.TimeoutFunc(1500, vm.GetTicketsForAssignation());\r\n // vm.TimeoutFGetSchedulingEventforToday(loggedinUser));\r\n //vm.GetTicketsForAssignation();\r\n // GetSchedulingEventforToday(loggedinUser);\r\n vm.selectedFreelancers = [];\r\n vm.AssignModal.close();\r\n\r\n\r\n scheduler.clearAll();\r\n\r\n $timeout(function () {\r\n vm.mapMarkers=[];\r\n // vm.AssignModal.close();\r\n GetSchedulingEventforToday(loggedinUser);\r\n vm.GetTicketsForAssignation();\r\n }, 1500);\r\n // $timeout(function() {\r\n // vm.GetTicketsForAssignation();\r\n // }, 1000);\r\n if(vm.Mode=='Map') {\r\n $timeout(function () {\r\n vm.mapMarkers=[];\r\n vm.AssignModal.close();\r\n }, 1500);\r\n }\r\n }else {\r\n vm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n }\r\n })\r\n }\r\n }*/\r\n\r\n\r\n vm.AssignTicketsTimeline = function () {\r\n\r\n vm.AllUserList =[];\r\n angular.forEach(vm.AllAssignUserDetails,function(data){\r\n\r\n if(data.Role=='Field Engineer' && data.type=='Fixed Team' && data.isChecked ==true) {\r\n vm.AllUserList.push({\"UserId\":data.UserId,\"TicketId\":data.TicketId?data.TicketId:data.LinkId,\"StartTime\":data.start_date,\"Endtime\":data.end_date,\"SuggestedPrice\":data.SuggestedPrice,\"AssignPrice\":data.Price ,\"Distance\":data.Distance})\r\n } else if (data.Role=='Field Engineer' && data.type == 'Freelancer' && data.isChecked ==true) {\r\n vm.AllUserList.push({\"UserId\":data.UserId,\"TicketId\":data.TicketId?data.TicketId:data.LinkId,\"StartTime\":data.start_date,\"Endtime\":data.end_date,\"SuggestedPrice\":data.SuggestedPrice,\"AssignPrice\":data.Price ,\"Distance\":data.Distance})\r\n } else if (data.Role=='Vendor Manager' && data.type == 'Fixed Team' && data.isChecked ==true) {\r\n vm.AllUserList.push({\"UserId\":data.UserId,\"TicketId\":data.TicketId?data.TicketId:data.LinkId,\"StartTime\":data.start_date,\"Endtime\":data.end_date,\"SuggestedPrice\":data.SuggestedPrice,\"AssignPrice\":data.Price ,\"Distance\":data.Distance})\r\n } else if (data.Role=='Vendor Manager' && data.type == 'Freelancer' && data.isChecked ==true){\r\n vm.AllUserList.push({\"UserId\":data.UserId,\"TicketId\":data.TicketId?data.TicketId:data.LinkId,\"StartTime\":data.start_date,\"Endtime\":data.end_date,\"SuggestedPrice\":data.SuggestedPrice,\"AssignPrice\":data.Price ,\"Distance\":data.Distance})\r\n }\r\n })\r\n if(vm.AllUserList == ''){\r\n vm.showFailure(\"Please select users.\")\r\n } else {\r\n ScheduleAssignService.AssignTicketsTimeline(loggedinUser,vm.AllUserList,token).then(function(resp){\r\n if (resp && resp.data) {\r\n\r\n vm.showSuccess(\"Success\",\"Job Assigned Successfully\");\r\n scheduler.clearAll();\r\n\r\n $timeout(function () {\r\n vm.mapMarkers=[];\r\n vm.AssignModal.close();\r\n GetSchedulingEventforToday(loggedinUser);\r\n if(vm.TicketStatus==\"New\"){\r\n vm.GetTicketsForAssignation();\r\n }else if(vm.TicketStatus==\"ReadyToAssign\"){\r\n vm.getReadyToAssign();\r\n }\r\n\r\n\r\n }, 1500);\r\n if(vm.Mode=='Map') {\r\n $timeout(function () {\r\n vm.mapMarkers=[];\r\n vm.AssignModal.close();\r\n }, 1500);\r\n }\r\n }else {\r\n vm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n }\r\n })\r\n }\r\n\r\n }\r\n\r\n vm.clearData = function () {\r\n vm.AllAssignUserDetails = [];\r\n vm.selectedTicket = '';\r\n vm.mapMarkers = [];\r\n } \r\n\r\n\r\n vm.OpenBroadcastModal = function(){\r\n if(vm.BroadcastedUserList == ''){\r\n vm.showFailure(\"Not found\",\"No users found\");\r\n } else {\r\n $scope.BroadcastedUser.allItemsSelected = true;\r\n $scope.selectAllBoardUser();\r\n vm.BroadcastModal = $uibModal.open({\r\n templateUrl: 'Broadcast-modal',\r\n backdrop: 'static',\r\n size:'lg',\r\n scope: $scope\r\n });\r\n }\r\n }\r\n\r\n vm.CloseBroadcastModal = function(){\r\n vm.selectedFreelancers = [];\r\n vm.BroadcastModal.close();\r\n }\r\n\r\n vm.OpenAssignModal = function(){ \r\n vm.AllAssignUserDetails =[];\r\n var evs = scheduler.getEvents();\r\n var t = vm.TicketStatus;\r\n var uniqueEventlist = new Map(); \r\n\r\n\r\n var eventslist = $filter('filter')(evs,function(value){\r\n return value.Price ==0;\r\n })\r\n\r\n angular.forEach(evs,function(data){\r\n\r\n if(!uniqueEventlist.has(data.TicketId)){\r\n uniqueEventlist.set(data.TicketId);\r\n\r\n if(data.status=='New'){\r\n var Id= data.assignedUserid;\r\n var ticketid= data.TicketId;\r\n var linkid = data.LinkId;\r\n var start_date =moment(data.start_date).format('YYYY-MM-DD HH:mm');\r\n var end_date = moment(data.end_date).format('YYYY-MM-DD HH:mm');\r\n\r\n angular.forEach(vm.SuggestedUserList.users,function(value){\r\n if(value.id==Id && value.userType!='Freelancer'){ \r\n vm.AllAssignUserDetails.push({\"UserId\":Id,\"TicketId\":ticketid,\"LinkId\":linkid,\"Role\":value.role,\"start_date\":start_date,\"end_date\":end_date,\"Name\":value.name,\"Distance\":value.UserDistance,\"SuggestedPrice\":value.BIDCounterRate,\"type\":value.userType,\"Price\": value.BIDCounterRate});\r\n\r\n }\r\n\r\n })\r\n }else if(data.status=='Broadcasted'){\r\n var Id= data.assignedUserid;\r\n var ticketid= data.TicketId;\r\n var linkid = data.LinkId;\r\n var start_date =moment(data.start_date).format('YYYY-MM-DD HH:mm');\r\n var end_date = moment(data.end_date).format('YYYY-MM-DD HH:mm');\r\n\r\n angular.forEach(vm.SuggestedUserList.users,function(value){\r\n if(value.id==Id){\r\n\r\n vm.AllAssignUserDetails.push({\"UserId\":Id,\"TicketId\":ticketid,\"LinkId\":linkid,\"Role\":value.role,\"start_date\":start_date,\"end_date\":end_date,\"Name\":value.name,\"Distance\":value.UserDistance,\"SuggestedPrice\":value.BIDCounterRate,\"type\":value.userType,\"Price\": value.BIDCounterRate});\r\n // console.log(vm.AllAssignUserDetails);\r\n }\r\n\r\n })\r\n }else if(data.status=='ReadyToAssign'){\r\n\r\n var Id= data.assignedUserid;\r\n var ticketid= data.TicketId;\r\n var linkid = data.LinkId;\r\n var start_date =moment(data.start_date).format('YYYY-MM-DD HH:mm');\r\n var end_date = moment(data.end_date).format('YYYY-MM-DD HH:mm');\r\n\r\n angular.forEach(vm.SuggestedUserList.users,function(value){\r\n if(value.id==Id){\r\n\r\n vm.AllAssignUserDetails.push({\"UserId\":Id,\"TicketId\":ticketid,\"LinkId\":linkid,\"Role\":value.role,\"start_date\":start_date,\"end_date\":end_date,\"Name\":value.name,\"Distance\":value.UserDistance,\"SuggestedPrice\":value.BIDCounterRate,\"type\":value.userType,\"Price\": value.BIDCounterRate});\r\n // console.log(vm.AllAssignUserDetails);\r\n }\r\n\r\n })\r\n }\r\n }\r\n })\r\n $scope.AssignSelectedUser = vm.AllAssignUserDetails;\r\n $scope.AssignSelectedUser.allItemsSelected = true;\r\n $scope.selectAll();\r\n\r\n vm.AssignModal = $uibModal.open({\r\n templateUrl: 'Assign-modal',\r\n size:'lg',\r\n backdrop: 'static',\r\n scope: $scope\r\n });\r\n // }\r\n }\r\n\r\n vm.CloseAssignModal = function(){\r\n vm.selectedFreelancers = [];\r\n vm.AssignModal.close();\r\n }\r\n\r\n\r\n //Broadcast Bids/Jobs\r\n vm.BroadcastTicket = function(){\r\n\r\n\r\n var BidData = [];\r\n var obj = {};\r\n var time = '';\r\n var hrs = '';\r\n var min = '';\r\n obj.JobID = vm.selectedTicket.TicketId;\r\n obj.BIDDuration = vm.selectedTicket.BidDuration;\r\n // obj.BroadCastRate = vm.selectedTicket.BroadcastRate\r\n //obj.BroadCastGrossRate = vm.selectedTicket.BroadcastGrossRate\r\n obj.MobiforceCommissionPercentage = parseInt(vm.selectedTicket.MobiforceCommission);\r\n // obj.FixedBidPrice = true;\r\n BidData.push(obj);\r\n\r\n\r\n var UserData = [];\r\n /* angular.forEach(vm.selectedFreelancers, function (d) {\r\n if (d) {*/\r\n angular.forEach($scope.BroadcastedUser, function (d) {\r\n if (d.isChecked==true) {\r\n // UserData.push(d.UserId);\r\n UserData.push({\"UserId\":d.UserId,\"SuggestedPrice\":parseInt(d.SuggestedPrice),\"Price\":parseInt(d.Price) ,\"Distance\":d.Distance});\r\n } \r\n });\r\n var checklist = $filter('filter')(UserData,function(value){\r\n return value.Price ==0;\r\n })\r\n if(checklist.length!=0){\r\n vm.showFailure(\"Failed\", \"Bid price can't be zero.\");\r\n }else{\r\n if (BidData.length > 0 && UserData.length > 0) {\r\n var data = {\r\n \"JobId\": vm.selectedTicket.TicketId,\r\n \"BIDDuration\": vm.selectedTicket.BidDuration,\r\n \"MobiforceCommissionPercentage\": parseInt(vm.selectedTicket.MobiforceCommission),\r\n \"Users\": UserData\r\n };\r\n //$log.log('BradcastedJobs', data);\r\n vm.BroadcastModal.close();\r\n\r\n ScheduleAssignService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 201 || resp.status == 200) {\r\n vm.toaster_success.body = 'Jobs Broadcasted Successfully';\r\n toaster.pop(vm.toaster_success);\r\n vm.selectedFreelancers = [];\r\n $timeout(function () {\r\n vm.GetTicketsForAssignation();\r\n }, 1500);\r\n\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", \"Please select users.\");\r\n }\r\n }) \r\n } else {\r\n vm.showFailure(\"Failed\", \"Please select jobs and users.\");\r\n }\r\n } \r\n\r\n }\r\n\r\n//Assign Tickets\r\nvm.AssignTickets = function (role, userId) {\r\n if (role == 'Field Engineer') {\r\n ScheduleAssignService.AssignTickets(userId,loggedinUser,vm.selectedTicket.TicketId,token).then(function(resp){\r\n if (resp && resp.data) {\r\n vm.showSuccess(\"Success\",\"Job Assigned Successfully\");\r\n vm.TimeoutFunc(1500, vm.GetTicketsForAssignation());\r\n // $timeout(function() {\r\n // vm.GetTicketsForAssignation();\r\n // }, 1000);\r\n if(vm.Mode=='Map') {\r\n $timeout(function () {\r\n vm.mapMarkers=[];\r\n vm.AssignModal.close();\r\n }, 1500);\r\n }\r\n }else {\r\n vm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n }\r\n })\r\n }else if (role == 'Vendor Manager') {\r\n }\r\n}\r\n\r\n //MAP INTEGRATION\r\n vm.MapIntegration = function(){\r\n //for Initial Loading\r\n if(vm.selectedTicket==''){\r\n vm.mapMarkers = [];\r\n //Today's Scheduling Events\r\n angular.forEach(vm.SuggestedUserList.tickets, function(d){\r\n var customer = {};\r\n customer.lat = d.latitude;\r\n customer.long = d.longitude;\r\n customer.StartTime = d.start_date;\r\n customer.Address = d.city+' '+d.state;\r\n customer.ConsumerName = d.customerName;\r\n customer.ContactNumber = 'NA';\r\n customer.Role = 'Customer';\r\n customer.Status = d.status;\r\n customer.AssignedUser = d.assignedUserName;\r\n customer.JobId = d.id;\r\n customer.StartDate = d.start_date;\r\n customer.EndDate = d.end_date;\r\n vm.mapMarkers.push(customer);\r\n })\r\n angular.forEach(vm.SuggestedUserList.users, function(d){\r\n var obj = {};\r\n obj.UserName = d.name;\r\n obj.BIDCounterRate = vm.round2Decimal(d.BIDCounterRate);\r\n obj.UserRating = d.UserRating?d.UserRating:0;\r\n obj.UserDistance = vm.round2Decimal(d.UserDistance);\r\n obj.UserLatitude = d.UserLatitude;\r\n obj.UserLongitude = d.UserLongitude;\r\n obj.UserContact = d.contactnumber?d.contactnumber:'NA';\r\n obj.UserImage = vm.getProfilePic(d.UserProfilePhoto);\r\n obj.Role = d.role;\r\n obj.userType = d.userType;\r\n vm.mapMarkers.push(obj);\r\n })\r\n //New Jobs\r\n if(vm.TicketStatus == 'New'){\r\n angular.forEach(vm.AllTicketList, function(d){\r\n var customer = {};\r\n var DefaultLat = parseFloat(d.Latitude);\r\n var DefaultLong = parseFloat(d.Longitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = d.City+' '+d.State;\r\n customer.ConsumerName = d.ConsumerName;\r\n customer.JobType = d.JobType;\r\n customer.ContactNumber = 'NA';\r\n customer.Role = 'Customer';\r\n customer.Status = 'New';\r\n customer.JobId = d.TicketId;\r\n customer.StartDate = d.StartTime;\r\n customer.EndDate = d.EndTime;\r\n vm.mapMarkers.push(customer);\r\n })\r\n //Broadcasted Jobs\r\n } else if (vm.TicketStatus == 'Broadcasted'){\r\n angular.forEach(vm.BroadcastedJobList, function(d){\r\n var customer = {};\r\n var DefaultLat = parseFloat(d.JobLatitude);\r\n var DefaultLong = parseFloat(d.JobLongitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = d.Location;\r\n customer.ConsumerName = d.CustomerName;\r\n customer.JobType = d.JobType;\r\n customer.ContactNumber = 'NA';\r\n customer.Role = 'Customer';\r\n customer.Status = 'Broadcasted';\r\n customer.JobId = d.JobId;\r\n customer.StartDate = d.StartDateTime;\r\n customer.EndDate = d.EndDateTime;\r\n vm.mapMarkers.push(customer);\r\n })\r\n } else if (vm.TicketStatus == 'ReadyToAssign'){\r\n angular.forEach(vm.ReadyToAssignList, function(d){\r\n var customer = {};\r\n var DefaultLat = parseFloat(d.JobLatitude);\r\n var DefaultLong = parseFloat(d.JobLongitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = d.Location;\r\n customer.ConsumerName = d.CustomerName;\r\n customer.JobType = d.JobType;\r\n customer.ContactNumber = 'NA';\r\n customer.Role = 'Customer';\r\n customer.Status = 'ReadyToAssign';\r\n customer.JobId = d.JobId;\r\n customer.StartDate = d.StartDateTime;\r\n customer.EndDate = d.EndDateTime;\r\n vm.mapMarkers.push(customer);\r\n })\r\n }\r\n //on Job Selection\r\n } else {\r\n vm.mapMarkers = [];\r\n var customer = {};\r\n //Adding Customer Site on Ticket Status Basis\r\n if(vm.TicketStatus == 'New') {\r\n var DefaultLat = parseFloat(vm.selectedTicket.Latitude);\r\n var DefaultLong = parseFloat(vm.selectedTicket.Longitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = vm.selectedTicket.City+' '+vm.selectedTicket.State;\r\n customer.ConsumerName = vm.selectedTicket.ConsumerName;\r\n customer.Status = vm.selectedTicket.TicketStatus;\r\n customer.JobId = vm.selectedTicket.TicketId;\r\n customer.StartDate = vm.selectedTicket.StartTime;\r\n customer.EndDate = vm.selectedTicket.EndTime;\r\n } \r\n else if (vm.TicketStatus == 'Broadcasted') {\r\n var DefaultLat = parseFloat(vm.selectedTicket.JobLatitude);\r\n var DefaultLong = parseFloat(vm.selectedTicket.JobLongitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = vm.selectedTicket.Location;\r\n customer.ConsumerName = vm.selectedTicket.CustomerName;\r\n customer.Status = vm.selectedTicket.Status;\r\n customer.JobId = vm.selectedTicket.JobId;\r\n customer.StartDate = vm.selectedTicket.StartDateTime;\r\n customer.EndDate = vm.selectedTicket.EndDateTime;\r\n } else if (vm.TicketStatus == 'ReadyToAssign') {\r\n var DefaultLat = parseFloat(vm.selectedTicket.JobLatitude);\r\n var DefaultLong = parseFloat(vm.selectedTicket.JobLongitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = vm.selectedTicket.Location;\r\n customer.ConsumerName = vm.selectedTicket.CustomerName;\r\n customer.Status = vm.selectedTicket.Status;\r\n customer.JobId = vm.selectedTicket.JobId;\r\n customer.StartDate = vm.selectedTicket.StartDateTime;\r\n customer.EndDate = vm.selectedTicket.EndDateTime;\r\n }\r\n customer.JobType = vm.selectedTicket.JobType;\r\n customer.ContactNumber = 'NA';\r\n customer.Role = 'Customer';\r\n vm.mapMarkers.push(customer);\r\n\r\n //Adding Users into Marker\r\n angular.forEach(vm.SuggestedUserList.users,function(d){\r\n var obj = {};\r\n if (d && d.UserLatitude && d.UserLongitude) {\r\n obj.UserName = d.name;\r\n // obj.BIDApplyDateTime = d.BIDApplyDateTime;\r\n // obj.BIDApplyStatus = d.BIDApplyStatus;\r\n obj.BIDCounterRate = vm.round2Decimal(d.BIDCounterRate);\r\n obj.JobId = d.id;\r\n // obj.UserCurrentJobs = d.UserCurrentJobs;\r\n // obj.UserId = d.UserId;\r\n obj.UserRating = d.UserRating?d.UserRating:0;\r\n // obj.UserTotalJobs = d.UserTotalJobs;\r\n obj.UserDistance = vm.round2Decimal(d.UserDistance);\r\n obj.UserLatitude = d.UserLatitude;\r\n obj.UserLongitude = d.UserLongitude;\r\n obj.UserContact = d.contactnumber?d.contactnumber:'NA';\r\n obj.UserImage = vm.getProfilePic(d.UserProfilePhoto);\r\n // if (obj.Role=='Freelancer') {\r\n // obj.AssigButton = false; \r\n // }else{\r\n // obj.AssigButton = true;\r\n // }\r\n obj.Role = d.role;\r\n obj.userType = d.userType;\r\n vm.mapMarkers.push(obj);\r\n }\r\n })\r\n }\r\n\r\n\r\n //Setting the Map Options\r\n vm.MapOptions = {\r\n center: new google.maps.LatLng(DefaultLat, DefaultLong),\r\n // zoom: 20,\r\n mapTypeId: google.maps.MapTypeId.ROADMAP\r\n }\r\n\r\n //Initializing the InfoWindow, Map and LatLngBounds objects.\r\n vm.InfoWindow = new google.maps.InfoWindow();\r\n vm.Latlngbounds = new google.maps.LatLngBounds();\r\n vm.Map = new google.maps.Map(document.getElementById(\"map-canvas\"), vm.MapOptions);\r\n\r\n //Looping through the Array and adding Markers.\r\n for(var i=0; iimage
\"\r\n vm.InfoWindow.setContent(\"

\"+data.ConsumerName+\"


\"+' '+data.JobId+\"
\"+' '+data.Status+\"
\"+' '+data.AssignedUser+\"
\"+' '+moment(data.StartDate).format(\"YYYY-MM-DD HH:mm\")+\"
\"+' '+moment(data.EndDate).format(\"YYYY-MM-DD HH:mm\")+\"
\"+' '+data.Address+\"
\"); \r\n } else if(data.Status == 'Completed'){\r\n //var content = \"
image
\"\r\n vm.InfoWindow.setContent(\"

\"+data.ConsumerName+\"


\"+' '+data.JobId+\"
\"+' '+data.Status+\"
\"+' '+data.AssignedUser+\"
\"+' '+moment(data.StartDate).format(\"YYYY-MM-DD HH:mm\")+\"
\"+' '+moment(data.EndDate).format(\"YYYY-MM-DD HH:mm\")+\"
\"+' '+data.Address+\"
\"); \r\n } \r\n else {\r\n //var content = \"
image
\"\r\n vm.InfoWindow.setContent(\"

\"+data.ConsumerName+\"


\"+' '+data.JobId+\"
\"+' '+data.Status+\"
\"+' '+moment(data.StartDate).format(\"YYYY-MM-DD HH:mm\")+\"
\"+' '+moment(data.EndDate).format(\"YYYY-MM-DD HH:mm\")+\"
\"+' '+data.Address+\"
\");\r\n }\r\n vm.InfoWindow.open(vm.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n vm.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, data);\r\n vm.Latlngbounds.extend(marker.position);\r\n }else{\r\n ticketLatlng = new google.maps.LatLng(data.UserLatitude, data.UserLongitude);\r\n //Initializing the Marker object.\r\n if(data.Role == 'Field Engineer' && data.userType == 'Freelancer'){\r\n var marker = new google.maps.Marker({\r\n position: ticketLatlng,\r\n map: vm.Map,\r\n title: data.UserName,\r\n animation: google.maps.Animation.DROP,\r\n //icon: flIcon,\r\n icon: {\r\n url: UIURL+'/assets/images/patterns/mascot_icon2.png',\r\n labelOrigin: new google.maps.Point(80, 52),\r\n },\r\n\r\n label: {\r\n text: data.UserName,\r\n color: \"#1a237e\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n position:\"absolute\"\r\n }\r\n }); \r\n }else if (data.Role == 'Field Engineer' && data.userType == 'Fixed Team') {\r\n var marker = new google.maps.Marker({\r\n position: ticketLatlng,\r\n map: vm.Map,\r\n title: data.UserName,\r\n animation: google.maps.Animation.DROP,\r\n //icon: ftIcon,\r\n icon: {\r\n url: UIURL+'/assets/images/patterns/mascot_icon2.png',\r\n labelOrigin: new google.maps.Point(80, 52),\r\n },\r\n label: {\r\n text: data.UserName,\r\n color: \"#1a237e\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n position:\"absolute\"\r\n\r\n }\r\n });\r\n } else if (data.Role == 'Vendor Manager' && data.userType == 'Fixed Team') {\r\n var marker = new google.maps.Marker({\r\n position: ticketLatlng,\r\n map: vm.Map,\r\n title: data.UserName,\r\n animation: google.maps.Animation.DROP,\r\n //icon: vIcon,\r\n icon: {\r\n url: UIURL+'/assets/images/patterns/mascot_icon2.png',\r\n labelOrigin: new google.maps.Point(80, 52),\r\n },\r\n label: {\r\n text: data.UserName,\r\n color: \"#1a237e\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n position:\"absolute\"\r\n\r\n }\r\n });\r\n } else if (data.Role == 'Vendor Manager' && data.userType == 'Freelancer') {\r\n var marker = new google.maps.Marker({\r\n position: ticketLatlng,\r\n map: vm.Map,\r\n title: data.UserName,\r\n animation: google.maps.Animation.DROP,\r\n //icon: fvIcon,\r\n icon: {\r\n url: UIURL+'/assets/images/patterns/mascot_icon2.png',\r\n labelOrigin: new google.maps.Point(80, 52),\r\n },\r\n label: {\r\n text: data.UserName,\r\n color: \"#1a237e\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n position:\"absolute\"\r\n\r\n }\r\n });\r\n }\r\n\r\n //Adding InfoWindow to the Marker.\r\n (function (marker, data) {\r\n google.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n if(data.Role == 'Field Engineer' && data.userType == 'Fixed Team'){\r\n var Role = 'Field Engineer';\r\n } else if(data.Role == 'Field Engineer' && data.userType == 'Freelancer'){\r\n var Role = 'Freelancer';\r\n } else if(data.Role == 'Vendor Manager' && data.userType == 'Fixed Team') {\r\n var Role = 'Vendor Manager';\r\n } else {\r\n var Role = 'Freelancer Vendor';\r\n }\r\n var content = \"
image
\"+' '+data.UserName+\"
\"+' '+data.UserContact+\"
\"+' '+data.UserDistance+\" Kms
\"+' '+data.BIDCounterRate+\"
\"+' '+Role+\"
\"\r\n vm.InfoWindow.setContent(content);\r\n vm.InfoWindow.open(vm.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n vm.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, data); \r\n // vm.Latlngbounds.extend(marker.position);\r\n }\r\n //Plotting the Marker on the Map. \r\n }\r\n //Adjusting the Map for best display.\r\n vm.Map.setCenter(vm.Latlngbounds.getCenter());\r\n // vm.Map.fitBounds(vm.Latlngbounds);\r\n vm.Map.setZoom(13);\r\n \r\n }\r\n\r\n//Global Calls\r\nvm.GetTicketsForAssignation();\r\n}\r\n\r\nfunction GetSchedulingEventforToday(supervisiorId){\r\n //scheduler.clearAll();\r\n var accountId='';\r\n \r\n /*var fromDate = new Date().toISOString().slice(0,10);\r\n var toDate = new Date().toISOString().slice(0,10);*/\r\n /*var fromDate =\"2018-12-13\"\r\n var toDate = \"2019-01-03\"*/\r\n var date = new Date();\r\n var fromDate = new Date(date.getFullYear(), date.getMonth(), 1);\r\n fromDate = moment(fromDate).format(\"YYYY-MM-DD\");\r\n var toDate = new Date(date.getFullYear(), date.getMonth() + 1, 0);\r\n toDate = moment(toDate).format(\"YYYY-MM-DD\");\r\n ScheduleAssignService.GetSchedulingEventToday(accountId,supervisiorId,fromDate,toDate,token).then(function(resp){\r\n if (resp && resp.status == 200 && resp.data) {\r\n vm.SuggestedUserList = [];\r\n\r\n vm.SuggestedUserList = resp.data;\r\n\r\n var evs = scheduler.getEvents();\r\n\r\n angular.forEach(evs,function(val){\r\n if(val.status=='New'){\r\n var id =val.id;\r\n scheduler.deleteEvent(id); \r\n }\r\n })\r\n init();\r\n }\r\n })\r\n vm.MapIntegration();\r\n }\r\n GetSchedulingEventforToday(loggedinUser);\r\n\r\n\r\n\r\n\r\n\r\n $scope.selectEntity = function () {\r\n // If any entity is not checked, then uncheck the \"allItemsSelected\" checkbox\r\n for (var i = 0; i < $scope.AssignSelectedUser.length; i++) {\r\n if (!$scope.AssignSelectedUser[i].isChecked) {\r\n $scope.AssignSelectedUser.allItemsSelected = false;\r\n return;\r\n }\r\n }\r\n\r\n //If not the check the \"allItemsSelected\" checkbox\r\n $scope.AssignSelectedUser.allItemsSelected = true;\r\n };\r\n\r\n // This executes when checkbox in table header is checked\r\n $scope.selectAll = function () {\r\n // Loop through all the entities and set their isChecked property\r\n for (var i = 0; i < $scope.AssignSelectedUser.length; i++) {\r\n $scope.AssignSelectedUser[i].isChecked = $scope.AssignSelectedUser.allItemsSelected;\r\n }\r\n };\r\n\r\n\r\n\r\n\r\n $scope.selectEntityBoardUser = function () {\r\n // If any entity is not checked, then uncheck the \"allItemsSelected\" checkbox\r\n for (var i = 0; i < $scope.BroadcastedUser.length; i++) {\r\n if (!$scope.BroadcastedUser[i].isChecked) {\r\n $scope.BroadcastedUser.allItemsSelected = false;\r\n return;\r\n }\r\n }\r\n\r\n //If not the check the \"allItemsSelected\" checkbox\r\n $scope.BroadcastedUser.allItemsSelected = true;\r\n };\r\n\r\n // This executes when checkbox in table header is checked\r\n $scope.selectAllBoardUser = function () {\r\n // Loop through all the entities and set their isChecked property\r\n for (var i = 0; i < $scope.BroadcastedUser.length; i++) {\r\n $scope.BroadcastedUser[i].isChecked = $scope.BroadcastedUser.allItemsSelected;\r\n }\r\n };\r\n\r\n\r\n\r\n function init() {\r\n\r\n scheduler.locale.labels.timeline_tab = \"Timeline\";\r\n scheduler.locale.labels.section_custom=\"Section\";\r\n // scheduler.config.details_on_create=true;\r\n // scheduler.config.details_on_dblclick=true;\r\n scheduler.config.dblclick_create = false; \r\n\r\n scheduler.config.xml_date=\"%Y-%m-%d %H:%i\";\r\n var format = scheduler.date.date_to_str(\"%H:%i\");\r\n scheduler.config.touch_tooltip = true;\r\n scheduler.config.drag_resize= false;\r\n\r\n\r\n \r\n\r\n //it is used for the drag and drop functionality \r\n scheduler.attachEvent(\"onBeforeDrag\", function (event_id, mode, native_event_object){\r\n\r\n var ev = scheduler.getEvent(event_id);\r\n if(ev.status=='Assigned'){\r\n return false;\r\n } if(ev.status=='Completed'){\r\n return false;\r\n } \r\n else{\r\n return true; \r\n }\r\n });\r\n\r\n\r\n\r\n// this is used when we drag the event in one use to another user but the time is still same \r\nscheduler.attachEvent(\"onBeforeEventChanged\", function(ev, e, is_new, original){\r\n\r\n if (original.assignedUserid == ev.assignedUserid) \r\n return false;\r\n\r\n ev.start_date = original.start_date;\r\n ev.end_date = original.end_date;\r\n return true;\r\n});\r\n\r\n\r\n\r\n\r\n //this methd is used to stop the open the popup on double click \r\n scheduler.attachEvent(\"onDblClick\", function (id, e){ \r\n return false;\r\n });\r\n\r\n\r\n\r\n if(vm.SuggestedUserList.users.length!=0){\r\n var sections =[];\r\n var sections =vm.SuggestedUserList;\r\n if(vm.selectedTicket.Status==\"ReadyToAssign\"){\r\n var sectionlist = $filter('filter')(sections.users,function(value){\r\n // return value.BIDCounterRate!=0;\r\n return value.BIDCounterRate;\r\n })\r\n sections.users = sectionlist;\r\n }\r\n }else{\r\n var sections =[];\r\n var sections = vm.SuggestedUserList;\r\n // var sections.users =[];\r\n }\r\n\r\n /* scheduler.templates.event_bar_text = function(sd, ed, ev){\r\n return format(sd)+\" - \"+format(ed);\r\n }*/\r\n\r\n\r\n //this is used for the tooltip\r\n scheduler.templates.tooltip_text = function(start,end,event) { \r\n var t = event.id;\r\n t = t.toString();\r\n var res = t.charAt(0);\r\n if(res==\"1\"){\r\n var Id = event.LinkId?event.LinkId:event.TicketId;\r\n }else{\r\n var Id = event.id;\r\n }\r\n return \"Job Status : \"+event.status+\"
\"+ \r\n\r\n \"Job Id : \"+Id+\"
\"+ \r\n \"Start Time : \" + scheduler.templates.tooltip_date_format(start) + \"
\" +\r\n \"End Time : \" + scheduler.templates.tooltip_date_format(end);\r\n\r\n };\r\n\r\n// this is used for creating two event in the same slot \r\n scheduler.config.collision_limit = 5; //allows creating 2 events per time slot\r\n/*scheduler.attachEvent(\"onEventLoading\", function(ev){ \r\n return scheduler.checkCollision(ev); \r\n});\r\n*/\r\n\r\n\r\n\r\n\r\nscheduler.createTimelineView({\r\n name: \"timeline\",\r\n x_date: \"%H:%i\",\r\n x_unit:\"minute\",// the scale parameters will be calculated in minutes\r\n x_step:30, //sets the '30 minute' step, e.g. 09:00 - 09:30\r\n x_size:24, // the number of '30 minute's in the interval 09:00 - 15:00\r\n // 15 - 9 = 6 hours = 360 minutes = 360/30 = 12\r\n x_start:18, //scale starts from 09:00,i.e. 9 hours from the default start- 00:00.\r\n // 9 hours = 540 minutes = 540/30 = 18 'x_step's \r\n x_length:48,//sc\r\n y_unit: scheduler.serverList('sections',sections.users),\r\n y_property: \"assignedUserid\",\r\n render:\"bar\",\r\n });\r\n\r\nscheduler.ignore_timeline = function(date){\r\n //non-work hours\r\n if (date.getHours() < 8 || date.getHours() > 18) return true;\r\n };\r\n\r\n\r\n scheduler.templates.timeline_scale_label =function(key, label,sections){\r\n if(sections.userType=='Fixed Team' && sections.role=='Field Engineer'){\r\n var UserIdentity ='FE';\r\n\r\n } else if(sections.userType=='Freelancer' && sections.role=='Field Engineer'){\r\n var UserIdentity ='FL';\r\n\r\n } else if(sections.userType=='Fixed Team' && sections.role=='Vendor Manager'){\r\n var UserIdentity ='V';\r\n\r\n } else if(sections.userType=='Freelancer' && sections.role=='Vendor Manager'){\r\n var UserIdentity ='FV';\r\n \r\n }\r\n var ratings = sections.UserRating?sections.UserRating:0;\r\n if(sections.BIDCounterRate!=null){\r\n return \"
\\\r\n
image
\\\r\n
\\\r\n
\"+sections.name+\"\"+UserIdentity+\"
\\\r\n

\"+sections.contactnumber+\"

\\\r\n

\"+ moment(sections.LastLocationDateTime).format(\"DD/MM/YYYY HH:mm\")+\"

\\\r\n
\\\r\n \"+ratings+\"\\\r\n \\\r\n \"+round2Decimal(sections.UserDistance)+\" km \\\r\n \"+sections.UserDuration+\" Min\\\r\n
\\\r\n
\\\r\n
\";\r\n }else{\r\n return \"
\\\r\n
image
\\\r\n
\\\r\n
\"+sections.name+\"\"+UserIdentity+\"
\\\r\n

\"+sections.contactnumber+\"

\\\r\n

\"+ moment(sections.LastLocationDateTime).format(\"DD/MM/YYYY HH:mm\")+\"

\\\r\n
\\\r\n \"+ratings+\"\\\r\n \"+sections.UserDuration+\" Min\\\r\n
\\\r\n
\";\r\n }\r\n\r\n };\r\n\r\n\r\n function getPic(profilePic) {\r\n return profilePic ? ImageUrl + '/' + profilePic : DefaultImage;\r\n }\r\n\r\n function round2Decimal(no) {\r\n return Math.round(no * 100) / 100; \r\n }\r\n\r\n\r\n\r\n\r\n\r\n scheduler.attachEvent(\"onBeforeViewChange\", function(old_mode,old_date,mode,date){\r\n //any custom logic here\r\n\r\n vm.mode =mode;\r\n return true;\r\n });\r\n\r\n/*scheduler.templates.event_text=function(start, end, event){\r\n return \"
\"+Id+\"
\";\r\n}\r\n*/\r\n\r\n //timeline event bar text is used for timeline mode\r\n scheduler.templates.event_bar_text = function (start, end, event) {\r\n var t = event.id;\r\n t = t.toString();\r\n var res = t.charAt(0);\r\n if(res==\"1\"){\r\n var Id = event.LinkId?event.LinkId:event.TicketId;\r\n }else{\r\n var Id =event.LinkId?event.LinkId:event.id;\r\n }\r\n return \"
\"+Id+\"
\";\r\n};\r\n\r\n// it is used when we dislay in month mode\r\nscheduler.templates.event_bar_date = function(start,end,event){\r\n var t = event.id;\r\n t = t.toString();\r\n var res = t.charAt(0);\r\n if(res==\"1\"){\r\n var Id = event.LinkId?event.LinkId:event.TicketId;\r\n }else{\r\n var Id = event.LinkId?event.LinkId:event.id;\r\n }\r\n return \"\"+Id+\" \";\r\n};\r\n\r\n // it is used for the week basis \r\n scheduler.templates.event_header = function(start,end,event){\r\n var t = event.id;\r\n t = t.toString();\r\n var res = t.charAt(0);\r\n if(res==\"1\"){\r\n var Id = event.LinkId?event.LinkId:event.TicketId;\r\n }else{\r\n var Id =event.LinkId?event.LinkId:event.id;\r\n }\r\n return \"
\"+Id+\"
\";\r\n\r\n};\r\n\r\n\r\n\r\n//this is used for the status \r\nscheduler.templates.event_class = function (start, end, event) {\r\n if(vm.mode=='timeline'){\r\n scheduler.config.readonly = false;\r\n if (event.status == \"Assigned\") {\r\n return \"Assigned\";\r\n }\r\n if (event.status == \"New\") {\r\n return \"New\";\r\n }\r\n if (event.status == \"Broadcasted\") {\r\n return \"Broadcasted\";\r\n } \r\n if (event.status == \"Completed\") {\r\n return \"Completed\";\r\n }if(event.status ==\"ReadyToAssign\"){\r\n return \"ReadyToAssign\";\r\n }\r\n return \"dhx_rent_payed\";\r\n\r\n}\r\nelse if(vm.mode=='week' || vm.mode=='month' || vm.mode=='day'){\r\n scheduler.config.readonly = true;\r\n if (event.status == \"Assigned\") {\r\n return \"Assigned1\";\r\n }\r\n if (event.status == \"New\") {\r\n return \"New1\";\r\n }\r\n if (event.status == \"Broadcasted\") {\r\n return \"Broadcasted1\";\r\n } \r\n if (event.status == \"Completed\") {\r\n return \"Completed1\";\r\n }if(event.status ==\"ReadyToAssign\"){\r\n return \"ReadyToAssign1\";\r\n }\r\n return \"dhx_rent_payed1\";\r\n}\r\n\r\n};\r\n\r\nscheduler.init('scheduler_here',new Date(),\"timeline\");\r\n\r\nif(sections.tickets.length!=0){\r\n\r\n var sectionlist = $filter('filter')(sections.tickets,function(value){\r\n // return value.UserId==Id && value.start_date==start_date;\r\n //return value.UserId==Id;\r\n return value.status=='Completed' || value.status=='Assigned';\r\n\r\n })\r\n sections.tickets = sectionlist;\r\n scheduler.parse(sections.tickets,\"json\");\r\n}\r\n\r\n //scheduler.parse(sections.tickets,\"json\");\r\n\r\n }\r\n\r\n//init();\r\nvm.GetAllStates = function () {\r\n //U310000000001\r\n VendorCreationService.getAllState(loggedinUser).then(function (resp) {\r\n if (resp.data) {\r\n if (!angular.equals(vm.stateList, resp.data.values)) {\r\n vm.stateList = resp.data.values;\r\n }\r\n }\r\n })\r\n}\r\nvm.GetAllStates();\r\n})\r\n\nvar app = angular.module('inspinia').controller('DemoAssignedController', function (ScheduleAssignService, DTColumnBuilder, jobBidCreationService, UIURL, FreelancerFixedService,\r\n $log, $state, $localStorage, $stateParams, CentralHelpdeskConfigService, CentralHDTicketsViewService, $uibModal, AssignationRuleService, SchedulingRuleService, VendorCreationService, $scope, DTOptionsBuilder, DTColumnDefBuilder, toaster, $timeout, $compile,\r\n uiCalendarConfig, ImageUrl, $filter) {\r\n\r\n\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var loggedinUserSkill = $localStorage.loggedInUser_SkillSet;\r\n var loggedinUserRegion = $localStorage.loggedInUser_Region;\r\n if (!loggedinUser) {\r\n\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n var token = $localStorage.token;\r\n //Global Variable Declaration\r\n vm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n vm.loggedInUserVendorId = $localStorage.loggedInUser_VendorId;\r\n vm.loggedInUserReportingTo = $localStorage.loggedInUser_ReportingTo;\r\n vm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n vm.TimeoutFunc = $scope.$parent.$parent.main.TimeoutFunc;\r\n vm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n vm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n vm.loggedinAs = $localStorage.loggedinAs;\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.MobiforceCommission = vm.getAccountConfigSetting('MobiforceCommissionPercentage');\r\n vm.VendorAssignation = vm.getAccountConfigSetting('VendorAssignation');\r\n vm.EnableRegion = vm.getAccountConfigSetting('EnableRegion');\r\n vm.FreelancerAccess = vm.getAccountConfigSetting('FreelancerAccess');\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n vm.AllTicketList = '';\r\n vm.filterCriteria1 = [\"Price\", \"Distance\", \"Ratings\"];\r\n vm.filterCriteria2 = [\"Price\", \"Distance\", \"Ratings\"];\r\n vm.filterCriteria3 = [\"Price\", \"Distance\", \"Ratings\"];\r\n vm.selectedFilter1 = 'Distance';\r\n vm.selectedFilter2 = 'Ratings';\r\n vm.selectedFilter3 = 'Price';\r\n vm.disablefilters = true;\r\n vm.range = '10';\r\n vm.TerritoryState = '';\r\n vm.NewJob = true;\r\n vm.isCurrentLocation = false;\r\n vm.selectedRow = null; // initialize our variable to null\r\n vm.selectedFreelancers = [];\r\n vm.SuggestedUserList = [];\r\n vm.AssignTicektData = [];\r\n vm.AllAssignUserDetails = [];\r\n $scope.AssignSelectedUser = {};\r\n $scope.AssignSelectedUser.allItemsSelected = false;\r\n vm.AllAssignUserList = [];\r\n vm.BroadcastedUserList = [];\r\n vm.ReadyToAssignList = [];\r\n $scope.BroadcastedUser = {};\r\n $scope.BroadcastedUser.allItemsSelected = false;\r\n vm.TransMode = 'driving';\r\n vm.IsMaterialDelivered = $localStorage.accountConfig.IsMaterialDelivered;\r\n vm.IsBroadcastPermision = true;\r\n vm.IsAssignPermision = true;\r\n vm.Mode = 'List';\r\n vm.TicketStatus = 'New';\r\n vm.cities = [];\r\n vm.markers = [];\r\n var itemNames = '';\r\n var itemValues = '';\r\n vm.otherfilter = '';\r\n vm.DateField = 'CreatedOn';\r\n var NewJobIcon = UIURL + '/assets/images/patterns/JOb_icon.png';\r\n var BroadcastedJobIcon = UIURL + '/assets/images/patterns/JOb_icon.png';\r\n var AssignedJobIcon = UIURL + '/assets/images/patterns/JOb_icon.png';\r\n var CompletedJobIcon = UIURL + '/assets/images/patterns/JOb_icon.png';\r\n var flIcon = UIURL + '/assets/images/patterns/mascot_icon2.png';\r\n var ftIcon = UIURL + '/assets/images/patterns/mascot_icon2.png';\r\n var fvIcon = UIURL + '/assets/images/patterns/mascot_icon2.png';\r\n var vIcon = UIURL + '/assets/images/patterns/mascot_icon2.png';\r\n var DefaultImage = UIURL + '/assets/images/patterns/Photo1.png';\r\n vm.InfoWindow;\r\n vm.selectedTicket = '';\r\n vm.BroadcastedJobList = '';\r\n // var startDate = moment().subtract(7, 'day').format(\"YYYY-MM-DD\");\r\n var startDate = moment().format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n $scope.dates = { startDate: startDate, endDate: endDate };\r\n $scope.ranges = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\r\n 'This month': [moment().startOf('month'), moment().endOf('month')]\r\n };\r\n\r\n\r\n\r\n $scope.dateRangeChange = function (ev, picker) {\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n vm.getAllTicketList();\r\n\r\n };\r\n\r\n $scope.editingData = {};\r\n $scope.editingFPrice = {};\r\n $scope.modify = function (list) {\r\n $scope.editingData[list.UserId] = true;\r\n };\r\n\r\n $scope.modifyFPrice = function (list) {\r\n $scope.editingFPrice[list.UserId] = true;\r\n };\r\n\r\n\r\n $scope.update = function (list) {\r\n if (list.Price == 0) {\r\n vm.showFailure(\"Failed\", \"Bid price can't be zero.\");\r\n } else {\r\n list.TPrice = (Number)(list.Price) + ((list.Price * vm.GSTPercentange) / 100);\r\n list.FPrice = (list.Price) - ((list.Price * vm.MobiforceCommission) / 100);\r\n $scope.editingData[list.UserId] = false;\r\n }\r\n\r\n };\r\n\r\n $scope.updateFPrice = function (list) {\r\n if (list.FPrice == 0) {\r\n vm.showFailure(\"Failed\", \"price can't be zero.\");\r\n } else {\r\n list.Price = (list.FPrice * 100) / (100 - vm.MobiforceCommission);\r\n list.TPrice = (Number)(list.Price) + ((list.Price * vm.GSTPercentange) / 100);\r\n\r\n $scope.editingFPrice[list.UserId] = false;\r\n }\r\n\r\n };\r\n\r\n vm.Technicianviewtypes = [\r\n {\r\n name: 'All',\r\n value: 'All'\r\n },\r\n {\r\n name: 'New',\r\n value: 'New'\r\n },\r\n {\r\n name: 'ReadyToAssign',\r\n value: 'ReadyToAssign'\r\n },\r\n\r\n {\r\n name: 'Broadcasted',\r\n value: 'Broadcasted'\r\n },\r\n\r\n {\r\n name: 'Approved',\r\n value: 'Approved'\r\n },\r\n {\r\n name: 'Assigned',\r\n value: 'Assigned'\r\n },\r\n {\r\n name: 'Cancelled',\r\n value: 'Cancelled'\r\n },\r\n {\r\n name: 'OnSite',\r\n value: 'OnSite'\r\n },\r\n {\r\n name: 'Lunch',\r\n value: 'Lunch'\r\n },\r\n {\r\n name: 'InTransite',\r\n value: 'InTransite'\r\n },\r\n {\r\n name: 'Completed',\r\n value: 'Completed'\r\n },\r\n {\r\n name: 'Rejected',\r\n value: 'Rejected'\r\n },\r\n {\r\n name: 'On Hold',\r\n value: 'Hold'\r\n },\r\n ];\r\n vm.technicianuserviewtype = vm.Technicianviewtypes[0].value;\r\n vm.userviewlayout = vm.technicianuserviewtype;\r\n vm.globalsearch = '';\r\n vm.userviewtype = function (userview) {\r\n vm.globalsearch = userview;\r\n vm.getAllTicketList();\r\n }\r\n\r\n vm.Filter = function () {\r\n if (vm.otherfilter == 'New' || vm.otherfilter == \"ReadyToAssign\") {\r\n itemNames = 'Ticket Status';\r\n itemValues = vm.otherfilter;\r\n }\r\n else {\r\n itemNames = 'Ticket Status';\r\n itemValues = vm.technicianuserviewtype;\r\n }\r\n if (vm.VerticalName != 'IMS' || vm.VerticalName != 'Spectro Labs') {\r\n if (loggedinUserSkill == \"VSAT\") {\r\n itemNames += \"Template\";\r\n itemValues += \"VSAT CCR\";\r\n } else if (loggedinUserSkill == \"LeaseLine\") {\r\n itemNames += \"Template\";\r\n itemValues += \"LeaseLine CCR\";\r\n }\r\n }\r\n\r\n if (vm.VerticalName == 'IMS') {\r\n if (loggedinUserSkill == \"VSAT\") {\r\n itemNames += \",Template\";\r\n itemValues += \",VSAT CCR\";\r\n } else if (loggedinUserSkill == \"LeaseLine\") {\r\n itemNames += \",Template\";\r\n itemValues += \",LeaseLine CCR\";\r\n }\r\n }\r\n\r\n if (vm.TerritoryState != '') {\r\n itemNames += \",State\";\r\n itemValues = itemValues + \",\" + vm.TerritoryState;\r\n }\r\n }\r\n vm.getAllTicketList = function () {\r\n var fromDate = startDate;\r\n var toDate = endDate;\r\n vm.Filter();\r\n ScheduleAssignService.GetTicketsByStatusDemo(loggedinUser, itemNames, itemValues, fromDate, toDate, token).then(function (resp) {\r\n if (resp && resp.status == 200 && resp.data) {\r\n //var ticketData = [];\r\n vm.AllTicketLists = resp.data;\r\n // ticketData = vm.AllTicketLists; \r\n vm.disablefilters = false;\r\n\r\n GetSchedulingEventfordates(loggedinUser, fromDate, toDate);\r\n scheduler.clearAll();\r\n }\r\n })\r\n }\r\n\r\n vm.getAllTicketList();\r\n\r\n vm.round2Decimal = function (no) {\r\n return Math.round(no * 100) / 100;\r\n }\r\n\r\n\r\n $scope.class1 = false;\r\n vm.addRemoveRedClass = function () {\r\n if ($scope.class1) {\r\n $scope.class1 = false;\r\n } else {\r\n $scope.class1 = true;\r\n }\r\n }\r\n\r\n\r\n\r\n vm.model = {};\r\n vm.model.allItemsSelected = false;\r\n\r\n // if(vm.FreelancerAccess){\r\n // vm.model = [{ \"key\": 1, \"Role\": \"Field Engineer\", \"userType\": \"Fixed Team\", \"Value\":\"Field Engineer\"},\r\n // { \"key\": 2, \"Role\": \"Field Engineer\", \"userType\":\"Freelancer\", \"Value\":\"Freelancer\"},\r\n // { \"key\": 3, \"Role\": \"Vendor Manager\", \"userType\": \"Fixed Team\", \"Value\":\"Vendor\"},\r\n // { \"key\": 4, \"Role\": \"Vendor Manager\", \"userType\":\"Freelancer\", \"Value\":\"Freelancer Vendor\"}\r\n // ];\r\n // }else{\r\n // vm.model = [\r\n // { \"key\": 1, \"Role\": \"Field Engineer\", \"userType\": \"Fixed Team\", \"Value\":\"Field Engineer\"},\r\n // { \"key\": 3, \"Role\": \"Vendor Manager\", \"userType\": \"Fixed Team\", \"Value\":\"Vendor\"}\r\n // ];\r\n // }\r\n\r\n if (vm.FreelancerAccess) {\r\n vm.model = [{ \"key\": 1, \"Role\": \"Field Engineer\", \"userType\": \"Fixed Team\", \"Value\": \"Fixed Team\" },\r\n { \"key\": 2, \"Role\": \"Field Engineer\", \"userType\": \"Freelancer\", \"Value\": \"Freelancers/Contractors\" },\r\n { \"key\": 3, \"Role\": \"Vendor Manager\", \"userType\": \"Freelancer\", \"Value\": \"Third party vendors\" }\r\n ];\r\n } else {\r\n vm.model = [{ \"key\": 1, \"Role\": \"Field Engineer\", \"userType\": \"Fixed Team\", \"Value\": \"Fixed Team\" },\r\n { \"key\": 2, \"Role\": \"Field Engineer\", \"userType\": \"Freelancer\", \"Value\": \"Freelancers/Contractors\" },\r\n { \"key\": 3, \"Role\": \"Vendor Manager\", \"userType\": \"Freelancer\", \"Value\": \"Third party vendors\" }\r\n ];\r\n }\r\n\r\n vm.ticketdates = { startDate: moment().subtract(7, 'day'), endDate: moment() };\r\n vm.ticketranges = {\r\n 'Today': [moment(), moment()],\r\n // 'Yesterday': [moment().subtract(1, 'days'), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')]\r\n };\r\n\r\n vm.getSkills = function () {\r\n CentralHDTicketsViewService.getSkills(loggedinUser, token, function (skills) {\r\n vm.skills = skills;\r\n }, vm.showFailure);\r\n }\r\n vm.getSkills();\r\n\r\n vm.statusList = [];\r\n vm.getJobAllStatus = function () {\r\n CentralHDTicketsViewService.getJobAllStatus(loggedinUser, token, function (data) {\r\n //vm.statusList = data;\r\n angular.forEach(data, function (status) {\r\n if (status.StatusName == 'On Hold') {\r\n status.StatusName = 'Hold';\r\n }\r\n vm.statusList.push(status.StatusName);\r\n })\r\n }, vm.showFailure);\r\n }\r\n vm.getJobAllStatus();\r\n\r\n vm.GetAllStates = function () {\r\n CentralHDTicketsViewService.getStates(loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length > 0) {\r\n vm.states = resp.data;\r\n }\r\n }\r\n });\r\n }\r\n vm.GetAllStates();\r\n\r\n vm.getAllAccounts = function () {\r\n CentralHelpdeskConfigService.getAllAccounts(loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n if (resp.status == 200) {\r\n vm.HDAllAccounts = resp.data;\r\n\r\n }\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n vm.getAllAccounts();\r\n\r\n vm.getAllCustomer = function () {\r\n CentralHDTicketsViewService.getAllCustomers(loggedinUser, token).then(function (resp) {\r\n vm.CustomerList = resp.data;\r\n })\r\n }\r\n\r\n vm.GetProjectByCustomer = function () {\r\n vm.ProjectListByCustomer = [];\r\n angular.forEach(vm.CustomerList, function (customer) {\r\n if (customer.CompanyName == vm.SearchByCName) {\r\n vm.ProjectListByCustomer = customer.Projects;\r\n }\r\n })\r\n }\r\n\r\n vm.getAllCustomer();\r\n\r\n vm.GetCustomerByAccount = function () {\r\n var SelectedAccountId = '';\r\n angular.forEach(vm.HDAllAccounts, function (account) {\r\n if (account.AccountName == vm.SearchByAccountName) {\r\n SelectedAccountId = account.AccountId;\r\n }\r\n })\r\n CentralHDTicketsViewService.GetCustomersByAccount(loggedinUser, SelectedAccountId, token).then(function (resp) {\r\n vm.CustomerList = resp.data;\r\n })\r\n }\r\n $scope.isOpen = false;\r\n $scope.isOpen1 = false;\r\n $scope.isCollapsed = true;\r\n $scope.isCollapsed0 = true;\r\n $scope.isCollapsed1 = true;\r\n $scope.isCollapsed2 = true;\r\n $scope.isCollapsed3 = true;\r\n $scope.isCollapsed4 = true;\r\n $scope.isCollapsed5 = true;\r\n $scope.isCollapsed6 = true;\r\n $scope.isCollapsed7 = true;\r\n $scope.isCollapsed8 = true;\r\n $scope.isCollapsed9 = true;\r\n $scope.isCollapsed10 = true;\r\n $scope.isCollapsed11 = true;\r\n $scope.isCollapsed12 = true;\r\n $scope.isCollapsed13 = true;\r\n $scope.isCollapsed14 = true;\r\n $scope.isCollapsed15 = true;\r\n $scope.isCollapsed16 = true;\r\n $scope.isCollapsed17 = true;\r\n $scope.isCollapsed18 = true;\r\n $scope.isCollapsed19 = true;\r\n $scope.isCollapsed20 = true;\r\n $scope.isCollapsed21 = true;\r\n $scope.isCollapsed22 = true;\r\n $scope.isCollapsed23 = true;\r\n $scope.isCollapsed24 = true;\r\n $scope.isCollapsed25 = true;\r\n $scope.isCollapsed26 = true;\r\n $scope.isCollapsed27 = true;\r\n $scope.isCollapsed28 = true;\r\n $scope.isCollapsed29 = true;\r\n $scope.isCollapsed30 = true;\r\n $scope.isCollapsed31 = true;\r\n $scope.isCollapsed32 = true;\r\n $scope.isCollapsed33 = true;\r\n $scope.isCollapsed34 = true;\r\n $scope.isCollapsed35 = true;\r\n $scope.isCollapsed36 = true;\r\n $scope.isCollapsed37 = true;\r\n $scope.isCollapsed38 = true;\r\n $scope.isCollapsed39 = true;\r\n $scope.isCollapsed40 = true;\r\n $scope.isCollapsed41 = true;\r\n $scope.isCollapsed42 = true;\r\n $scope.isCollapsed43 = true;\r\n\r\n $scope.openAnalysisReport = function (analysisDetails) {\r\n $localStorage.UploadId = analysisDetails.UploadId;\r\n $scope.showAnalysisReport = !$scope.showAnalysisReport;\r\n angular.element('#filter-visible-area').removeClass(\"filter-slider-visible\");\r\n }\r\n $scope.backScreen = function () {\r\n $scope.showAnalysisReport = false;\r\n angular.element('#filter-visible-area').addClass(\"filter-slider-visible\");\r\n }\r\n // $scope.class1 = false;\r\n // vm.addRemoveRedClass = function (UploadId) {\r\n // $localStorage.UploadId = UploadId;\r\n // if ($scope.class1) {\r\n // $scope.class1 = false;\r\n // } else {\r\n // $scope.class1 = true;\r\n // }\r\n // }\r\n\r\n vm.RedirectToConfiguration = function () {\r\n $state.go('index.SchedulerRuleConfig', { reload: true });\r\n }\r\n\r\n vm.selectEntityFilter = function () {\r\n var newList = [];\r\n var usersList = angular.copy(vm.SuggestedUserList.users);\r\n vm.TestCase = false;\r\n for (var i = 0; i < vm.model.length; i++) {\r\n if (!vm.model[i].isChecked) {\r\n vm.TestCase = true;\r\n vm.model.allItemsSelected = false;\r\n var Role = vm.model[i].Role;\r\n var userType = vm.model[i].userType;\r\n var allIndex = [];\r\n /*usersList.some(function(obj, x) {\r\n if(obj.role == Role && obj.userType == userType){\r\n delete usersList[x];\r\n } else {\r\n false;\r\n }\r\n });*/\r\n newList = [];\r\n /*angular.forEach(usersList, function(d){\r\n if(d){\r\n newList.push(d);\r\n }\r\n })*/\r\n }\r\n }\r\n if (newList == '' && vm.TestCase == false) {\r\n newList = vm.SuggestedUserList.users;\r\n // scheduler.updateCollection(\"sections\", newList);\r\n vm.model.allItemsSelected = true;\r\n } else {\r\n // scheduler.updateCollection(\"sections\", newList);\r\n }\r\n };\r\n\r\n vm.selectAllFilter = function () {\r\n for (var i = 0; i < vm.model.length; i++) {\r\n vm.model[i].isChecked = vm.model.allItemsSelected;\r\n }\r\n /*if(vm.model.allItemsSelected==true){\r\n scheduler.updateCollection(\"sections\", vm.SuggestedUserList.users);\r\n }else{\r\n var freelist =[];\r\n scheduler.updateCollection(\"sections\",freelist);\r\n }*/\r\n };\r\n vm.model.allItemsSelected = true;\r\n vm.selectAllFilter();\r\n\r\n\r\n vm.FilterData = function (item, level) {\r\n if (level == 1) {\r\n vm.filterCriteria2 = [];\r\n angular.forEach(vm.filterCriteria1, function (d) {\r\n if (d != item) {\r\n vm.filterCriteria2.push(d);\r\n }\r\n })\r\n } else if (level == 2) {\r\n vm.filterCriteria3 = [];\r\n angular.forEach(vm.filterCriteria1, function (d) {\r\n if (d != item) {\r\n if (d != vm.selectedFilter1) {\r\n vm.filterCriteria3.push(d);\r\n }\r\n }\r\n })\r\n }\r\n }\r\n\r\n vm.GetJobsByFilter = function (item, value) {\r\n if (item == 'Priority') {\r\n var itemNames = 'Priority';\r\n var itemValues = value;\r\n ScheduleAssignService.GetTicketsByFilter(loggedinUser, itemNames, itemValues).then(function (resp) {\r\n if (resp && resp.status == 200 && resp.data) {\r\n vm.AllTicketList = resp.data;\r\n }\r\n })\r\n }\r\n }\r\n\r\n vm.GetMobCommission = function (data) {\r\n vm.MobiforceCommission = data;\r\n }\r\n\r\n vm.GetServiceTax = function (data) {\r\n vm.GSTPercentange = data;\r\n }\r\n\r\n\r\n jobBidCreationService.GetMobCommission(loggedinUser, token, vm.GetMobCommission);\r\n jobBidCreationService.GetServiceTax(loggedinUser, token, vm.GetServiceTax);\r\n\r\n\r\n\r\n\r\n vm.setClickedRowNew = function (index, data) {\r\n\r\n //need to fix assisted scheduling. returning for now\r\n return true;\r\n\r\n\r\n //function that sets the value of selectedRow to current index\r\n vm.selectedRow = index;\r\n if (vm.IsMaterialDelivered) {\r\n if (data.MetrialDeliverStatus != 'Delivered') {\r\n vm.IsBroadcastPermision = false;\r\n vm.IsAssignPermision = false;\r\n }\r\n }\r\n vm.selectedTicket = data;\r\n vm.disablefilters = false;\r\n if (vm.range != '') {\r\n vm.GetSchedulingResults();\r\n }\r\n }\r\n\r\n\r\n\r\n vm.setClickedRowBroad = function (index, data) { //function that sets the value of selectedRow to current index\r\n vm.selectedRow = index;\r\n vm.selectedTicket = data;\r\n vm.disablefilters = false;\r\n if (vm.range != '') {\r\n vm.GetSchedulingResults();\r\n }\r\n }\r\n\r\n vm.setSelectedFreelancers = function (index, data) {\r\n if (vm.selectedFreelancers.indexOf(data) > -1) {\r\n vm.selectedFreelancers.splice(vm.selectedFreelancers.indexOf(data), 1);\r\n }\r\n else {\r\n vm.selectedFreelancers.push(data);\r\n }\r\n }\r\n\r\n vm.isSelected = function (data) {\r\n var bool = vm.selectedFreelancers.indexOf(data) > -1;\r\n return bool;\r\n }\r\n\r\n vm.getProfilePic = function (profilePicName) {\r\n return profilePicName ? ImageUrl + \"/\" + profilePicName : DefaultImage;\r\n }\r\n\r\n vm.filterUsers = function (role) {\r\n if (role == 'Field Engineer') {\r\n vm.filterUserData = 'Field Engineer';\r\n } else if (role == 'Freelancer') {\r\n vm.filterUserData = 'Freelancer';\r\n } else if (role == 'Vendor Manager') {\r\n vm.filterUserData = 'Vendor Manager';\r\n }\r\n }\r\n\r\n vm.ChangeMode = function (mode) {\r\n if (mode == 'List') {\r\n vm.Mode = 'List';\r\n if (vm.selectedTicket == '') {\r\n console.log('ChangeMode');\r\n GetSchedulingEventforToday(loggedinUser);\r\n } else {\r\n vm.GetSchedulingResults();\r\n }\r\n }\r\n }\r\n\r\n vm.OnloadUsers = function () {\r\n var today = new Date();\r\n var newdate = moment(today).format(\"YYYY-MM-DD\");\r\n var data = {\r\n\r\n \"JobId\": \"\",\r\n \"ActOnCurrentLocation\": true,\r\n \"RangeFromJob\": \"\",\r\n \"OrderByUsers\": [\r\n {\r\n \"PriorityOrder\": 0,\r\n \"OrderByField\": \"\"\r\n }\r\n ],\r\n \"FETravelChargePerKM\": 0,\r\n \"FromDate\": newdate,\r\n \"ToDate\": newdate,\r\n \"TransportMode\": \"\",\r\n \"UserConfigList\": [\r\n {\r\n \"UserRole\": \"\",\r\n \"UserType\": \"\"\r\n }\r\n ]\r\n\r\n }\r\n ScheduleAssignService.OnloadUser(data, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200 && resp.data && resp.data.users.length > 0) {\r\n vm.SuggestedUserList = [];\r\n\r\n vm.SuggestedUserList = resp.data;\r\n for (var i = 0; i < vm.SuggestedUserList.users.length; i++) {\r\n if (vm.SuggestedUserList.users[i].contactnumber) {\r\n vm.SuggestedUserList.users[i].contactnumber = vm.SuggestedUserList.users[i].contactnumber.replace(/\\d(?=\\d{4})/g, '*');\r\n }\r\n }\r\n\r\n\r\n for (var i = 0; i < vm.SuggestedUserList.users.length; i++) {\r\n if (vm.SuggestedUserList.users[i].userType == \"Fixed Team\") {\r\n $(\".FEHIDE\").addClass(\"colors\");\r\n\r\n }\r\n }\r\n init();\r\n\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n //vm.OnloadUsers();\r\n\r\n\r\n\r\n\r\n vm.GetSchedulingResults = function () {\r\n\r\n vm.cities = [];\r\n vm.markers = [];\r\n if (vm.TicketStatus == 'New') {\r\n if (vm.selectedTicket == '' || vm.selectedTicket == null) {\r\n // vm.showFailure(\"Please select a job\");\r\n } else {\r\n var obj = {};\r\n var roleList = [];\r\n angular.forEach(vm.model, function (d) {\r\n if (d.isChecked) {\r\n roleList.push({ \"UserRole\": d.Role, \"UserType\": d.userType });\r\n }\r\n })\r\n obj.OrderByUsers = [];\r\n obj.JobId = vm.selectedTicket.JobId;\r\n\r\n // obj.jobId = vm.selectedTicket.LinkId?vm.selectedTicket.LinkId:vm.selectedTicket.TicketId;\r\n obj.JobAccountId = '';\r\n obj.FromDate = new Date().toISOString().slice(0, 10);\r\n obj.ToDate = new Date().toISOString().slice(0, 10);\r\n obj.ActOnCurrentLocation = vm.isCurrentLocation;\r\n obj.RangeFromJob = parseInt(vm.range * 1000);\r\n obj.FETravelChargePerKM = 10;\r\n obj.TransportMode = vm.TransMode;\r\n obj.UserConfigList = roleList;\r\n if (vm.selectedFilter1 != undefined && vm.selectedFilter1 != '') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 1;\r\n if (vm.selectedFilter1.indexOf('Distance') >= 0) {\r\n orderObj.OrderByField = 'UserDistance';\r\n } else if (vm.selectedFilter1.indexOf('Ratings') >= 0) {\r\n orderObj.OrderByField = 'UserRating';\r\n } else if (vm.selectedFilter1.indexOf('Price') >= 0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter2 != undefined && vm.selectedFilter2 != '') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 2;\r\n if (vm.selectedFilter2.indexOf('Distance') >= 0) {\r\n orderObj.OrderByField = 'UserDistance';\r\n } else if (vm.selectedFilter2.indexOf('Ratings') >= 0) {\r\n orderObj.OrderByField = 'UserRating';\r\n } else if (vm.selectedFilter2.indexOf('Price') >= 0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter3 != undefined && vm.selectedFilter3 != '') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 3;\r\n if (vm.selectedFilter3.indexOf('Distance') >= 0) {\r\n orderObj.OrderByField = 'UserDistance';\r\n } else if (vm.selectedFilter3.indexOf('Ratings') >= 0) {\r\n orderObj.OrderByField = 'UserRating';\r\n } else if (vm.selectedFilter3.indexOf('Price') >= 0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n\r\n ScheduleAssignService.GetSchedulingEvaluationResult(obj, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200 && resp.data && resp.data.users.length > 0) {\r\n vm.SuggestedUserList = [];\r\n vm.BroadcastedList = [];\r\n vm.BroadcastedUserList = [];\r\n vm.SuggestedUserList = resp.data;\r\n for (var i = 0; i < vm.SuggestedUserList.users.length; i++) {\r\n if (vm.SuggestedUserList.users[i].contactnumber) {\r\n vm.SuggestedUserList.users[i].contactnumber = vm.SuggestedUserList.users[i].contactnumber.replace(/\\d(?=\\d{4})/g, '*');\r\n }\r\n\r\n }\r\n\r\n vm.UserList = resp.data.users;\r\n angular.forEach(vm.UserList, function (d) {\r\n if (d.userType == 'Freelancer') {\r\n vm.BroadcastedList.push(d);\r\n var TPrice = (Number)(d.Price) + ((d.Price * vm.GSTPercentange) / 100);\r\n var FPrice = (d.Price) - ((d.Price * vm.MobiforceCommission) / 100);\r\n vm.BroadcastedUserList.push({ \"UserId\": d.id, \"Role\": d.role, \"Name\": d.name, \"ContactNumber\": d.contactnumber, \"Distance\": d.UserDistance, \"SuggestedPrice\": d.BIDCounterRate, \"type\": d.userType, \"Price\": d.Price, \"TPrice\": TPrice, \"FPrice\": FPrice });\r\n\r\n }\r\n })\r\n $scope.BroadcastedUser = vm.BroadcastedUserList;\r\n\r\n vm.GetResult(resp.data.users, vm.selectedTicket.TicketId, vm.selectedTicket.LinkId, vm.selectedTicket.StartTime, vm.selectedTicket.TaskEndTime, vm.selectedTicket.TicketStatus);\r\n\r\n\r\n init();\r\n vm.selectEntityFilter();\r\n // vm.MapIntegration()\r\n // vm.MapData();\r\n } else {\r\n vm.toaster_fail.title = \"Not Found\";\r\n vm.toaster_fail.body = \"No users found\";\r\n toaster.pop(vm.toaster_fail);\r\n console.log('GetSchedulingResults');\r\n GetSchedulingEventforToday(loggedinUser);\r\n }\r\n })\r\n }\r\n } else if (vm.TicketStatus == 'Broadcasted') {\r\n if (vm.selectedTicket == '' || vm.selectedTicket == null) {\r\n // vm.showFailure(\"Please select a job\");\r\n } else {\r\n var obj = {};\r\n var roleList = [];\r\n angular.forEach(vm.model, function (d) {\r\n if (d.isChecked) {\r\n roleList.push({ \"UserRole\": d.Role, \"UserType\": d.userType });\r\n }\r\n })\r\n obj.OrderByUsers = [];\r\n obj.JobId = vm.selectedTicket.JobId;\r\n // obj.jobId = vm.selectedTicket.LinkId?vm.selectedTicket.LinkId:vm.selectedTicket.TicketId;\r\n obj.JobAccountId = '';\r\n obj.ActOnCurrentLocation = vm.isCurrentLocation;\r\n obj.FromDate = new Date().toISOString().slice(0, 10);\r\n obj.ToDate = new Date().toISOString().slice(0, 10);\r\n obj.RangeFromJob = parseInt(vm.range * 1000);\r\n obj.FETravelChargePerKM = 10;\r\n obj.TransportMode = vm.TransMode;\r\n obj.UserConfigList = roleList;\r\n if (vm.selectedFilter1 != undefined && vm.selectedFilter1 != '') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 1;\r\n if (vm.selectedFilter1.indexOf('Distance') >= 0) {\r\n orderObj.OrderByField = 'UserDistance';\r\n } else if (vm.selectedFilter1.indexOf('Ratings') >= 0) {\r\n orderObj.OrderByField = 'UserRating';\r\n } else if (vm.selectedFilter1.indexOf('Price') >= 0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter2 != undefined && vm.selectedFilter2 != '') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 2;\r\n if (vm.selectedFilter2.indexOf('Distance') >= 0) {\r\n orderObj.OrderByField = 'UserDistance';\r\n } else if (vm.selectedFilter2.indexOf('Ratings') >= 0) {\r\n orderObj.OrderByField = 'UserRating';\r\n } else if (vm.selectedFilter2.indexOf('Price') >= 0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter3 != undefined && vm.selectedFilter3 != '') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 3;\r\n if (vm.selectedFilter3.indexOf('Distance') >= 0) {\r\n orderObj.OrderByField = 'UserDistance';\r\n } else if (vm.selectedFilter3.indexOf('Ratings') >= 0) {\r\n orderObj.OrderByField = 'UserRating';\r\n } else if (vm.selectedFilter3.indexOf('Price') >= 0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n\r\n ScheduleAssignService.GetSchedulingEvaluationResult(obj, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200 && resp.data && resp.data.users.length > 0) {\r\n vm.SuggestedUserList = [];\r\n vm.SuggestedUserList = resp.data;\r\n for (var i = 0; i < vm.SuggestedUserList.users.length; i++) {\r\n if (vm.SuggestedUserList.users[i].contactnumber) {\r\n vm.SuggestedUserList.users[i].contactnumber = vm.SuggestedUserList.users[i].contactnumber.replace(/\\d(?=\\d{4})/g, '*');\r\n }\r\n }\r\n vm.userList = resp.data;\r\n vm.GetResult(resp.data.users, vm.selectedTicket.JobId, vm.selectedTicket.LinkId, vm.selectedTicket.StartDateTime, vm.selectedTicket.TaskEndTime, vm.selectedTicket.Status);\r\n\r\n init();\r\n vm.selectEntityFilter();\r\n // vm.MapIntegration()\r\n // vm.MapData();\r\n } else {\r\n vm.toaster_fail.title = \"Not Found\";\r\n vm.toaster_fail.body = \"No users found\";\r\n toaster.pop(vm.toaster_fail);\r\n console.log('GetSchedulingResults-2');\r\n GetSchedulingEventforToday(loggedinUser);\r\n }\r\n })\r\n }\r\n }\r\n if (vm.TicketStatus == 'ReadyToAssign') {\r\n if (vm.selectedTicket == '' || vm.selectedTicket == null) {\r\n // vm.showFailure(\"Please select a job\");\r\n } else {\r\n var obj = {};\r\n var roleList = [];\r\n angular.forEach(vm.model, function (d) {\r\n if (d.isChecked) {\r\n roleList.push({ \"UserRole\": d.Role, \"UserType\": d.userType });\r\n }\r\n })\r\n obj.OrderByUsers = [];\r\n obj.JobId = vm.selectedTicket.JobId;\r\n obj.JobAccountId = '';\r\n obj.ActOnCurrentLocation = vm.isCurrentLocation;\r\n obj.FromDate = new Date().toISOString().slice(0, 10);\r\n obj.ToDate = new Date().toISOString().slice(0, 10);\r\n obj.RangeFromJob = parseInt(vm.range * 1000);\r\n obj.FETravelChargePerKM = 10;\r\n obj.TransportMode = vm.TransMode;\r\n obj.UserConfigList = roleList;\r\n if (vm.selectedFilter1 != undefined && vm.selectedFilter1 != '') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 1;\r\n if (vm.selectedFilter1.indexOf('Distance') >= 0) {\r\n orderObj.OrderByField = 'UserDistance';\r\n } else if (vm.selectedFilter1.indexOf('Ratings') >= 0) {\r\n orderObj.OrderByField = 'UserRating';\r\n } else if (vm.selectedFilter1.indexOf('Price') >= 0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter2 != undefined && vm.selectedFilter2 != '') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 2;\r\n if (vm.selectedFilter2.indexOf('Distance') >= 0) {\r\n orderObj.OrderByField = 'UserDistance';\r\n } else if (vm.selectedFilter2.indexOf('Ratings') >= 0) {\r\n orderObj.OrderByField = 'UserRating';\r\n } else if (vm.selectedFilter2.indexOf('Price') >= 0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter3 != undefined && vm.selectedFilter3 != '') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 3;\r\n if (vm.selectedFilter3.indexOf('Distance') >= 0) {\r\n orderObj.OrderByField = 'UserDistance';\r\n } else if (vm.selectedFilter3.indexOf('Ratings') >= 0) {\r\n orderObj.OrderByField = 'UserRating';\r\n } else if (vm.selectedFilter3.indexOf('Price') >= 0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n\r\n ScheduleAssignService.GetSchedulingEvaluationResult(obj, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200 && resp.data && resp.data.users.length > 0) {\r\n vm.SuggestedUserList = [];\r\n\r\n vm.SuggestedUserList = resp.data;\r\n for (var i = 0; i < vm.SuggestedUserList.users.length; i++) {\r\n if (vm.SuggestedUserList.users[i].contactnumber) {\r\n vm.SuggestedUserList.users[i].contactnumber = vm.SuggestedUserList.users[i].contactnumber.replace(/\\d(?=\\d{4})/g, '*');\r\n }\r\n }\r\n vm.userList = resp.data;\r\n vm.GetResult(resp.data.users, vm.selectedTicket.JobId, vm.selectedTicket.LinkId, vm.selectedTicket.StartDateTime, vm.selectedTicket.TaskEndTime, vm.selectedTicket.Status);\r\n\r\n init();\r\n vm.selectEntityFilter();\r\n // vm.MapIntegration()\r\n // vm.MapData();\r\n } else {\r\n vm.toaster_fail.title = \"Not Found\";\r\n vm.toaster_fail.body = \"No users found\";\r\n toaster.pop(vm.toaster_fail);\r\n console.log('GetSchedulingResults-3');\r\n GetSchedulingEventforToday(loggedinUser);\r\n\r\n }\r\n })\r\n }\r\n }\r\n }\r\n\r\n vm.GetResult = function (user, ticketid, linkId, start, end, status) {\r\n // scheduler.clearAll();\r\n\r\n var ticket = vm.selectedTicket.TicketId ? vm.selectedTicket.TicketId : vm.selectedTicket.JobId;\r\n\r\n var evs = scheduler.getEvents();\r\n if (vm.TicketStatus == \"ReadyToAssign\") {\r\n var bidRate = user[0].BIDCounterRate;\r\n var readyList = $filter('filter')(user, function (value) {\r\n return value.BIDCounterRate != 0;\r\n })\r\n if (readyList.length != 0) {\r\n var Id = readyList[0].id;\r\n var Role = readyList[0].role;\r\n var userType = readyList[0].userType;\r\n var Name = readyList[0].name;\r\n var Distance = readyList[0].UserDistance;\r\n var SuggestedPrice = readyList[0].BIDCounterRate;\r\n var Price = readyList[0].BIDCounterRate;\r\n } else {\r\n var Id = user[0].id\r\n var Role = user[0].role;\r\n var userType = user[0].userType;\r\n var Name = user[0].name;\r\n var Distance = user[0].UserDistance;\r\n var SuggestedPrice = user[0].BIDCounterRate;\r\n var Price = user[0].BIDCounterRate;\r\n }\r\n } else {\r\n var Id = user[0].id;\r\n var Role = user[0].role;\r\n var userType = user[0].userType;\r\n var Name = user[0].name;\r\n var Distance = user[0].UserDistance;\r\n var SuggestedPrice = user[0].BIDCounterRate;\r\n var Price = user[0].BIDCounterRate;\r\n }\r\n /* var Role = user[0].role;\r\n var userType = user[0].userType;\r\n var Name = user[0].name;\r\n var Distance = user[0].UserDistance;\r\n var SuggestedPrice = user[0].BIDCounterRate;\r\n var Price = user[0].BIDCounterRate;*/\r\n var start_date = moment(start).format(\"DD-MM-YYYY HH:mm\");\r\n var end_date = moment(end).format(\"DD-MM-YYYY HH:mm\");\r\n var today = new Date();\r\n var newdate = moment(today).format(\"DD-MM-YYYY\");\r\n\r\n\r\n\r\n // if(start_datetoday){\r\n var sdate = start_date.split(\" \")[0];\r\n var stime = start_date.split(\" \")[1];\r\n var edate = end_date.split(\" \")[0];\r\n var etime = end_date.split(\" \")[1];\r\n start_date = newdate + ' ' + stime;\r\n end_date = newdate + ' ' + etime;\r\n }*/\r\n // vm.AllAssignUserList.push({\"UserId\":Id,\"TicketId\":ticketid}); \r\n\r\n //var fromDate = new Date().toISOString().slice(0,10);\r\n //var toDate = new Date().toISOString().slice(0,10);\r\n\r\n var AssignList = [];\r\n\r\n if (vm.AllAssignUserDetails.length != 0) {\r\n console.log(vm.AllAssignUserDetails);\r\n AssignList = $filter('filter')(vm.AllAssignUserDetails, function (value) {\r\n // return value.UserId==Id && value.start_date==start_date;\r\n //return value.UserId==Id;\r\n return value.TicketId == ticket;\r\n\r\n })\r\n console.log(AssignList);\r\n /// it is used for the \r\n if (AssignList.length != 0) {\r\n var checklinkId = AssignList[0].LinkId;\r\n AssignList = [];\r\n var evs = scheduler.getEvents();\r\n var checkList = $filter('filter')(evs, function (value) {\r\n return value.LinkId == checklinkId;\r\n })\r\n var d = checkList[0].id;\r\n scheduler.deleteEvent(d);\r\n }\r\n\r\n if (AssignList.length == 0) {\r\n var eventId = scheduler.addEvent({\r\n start_date: start_date,\r\n end_date: end_date,\r\n assignedUserid: Id,\r\n status: status,\r\n Role: Role,\r\n TicketId: ticket,\r\n Distance: Distance,\r\n LinkId: linkId,\r\n SuggestedPrice: SuggestedPrice,\r\n Price: Price,\r\n Name: Name,\r\n userType: userType\r\n });\r\n\r\n vm.AllAssignUserDetails.push({ \"UserId\": Id, \"TicketId\": ticketid, \"LinkId\": linkId, \"Role\": Role, \"start_date\": start_date, \"end_date\": end_date, \"Name\": Name, \"Distance\": Distance, \"SuggestedPrice\": SuggestedPrice, \"type\": userType, \"Price\": Price });\r\n // console.log(vm.AllAssignUserDetails);\r\n }\r\n } else if (vm.AllAssignUserDetails.length == 0) {\r\n var eventId = scheduler.addEvent({\r\n start_date: start_date,\r\n end_date: end_date,\r\n assignedUserid: Id,\r\n status: status,\r\n Role: Role,\r\n TicketId: ticket,\r\n LinkId: linkId,\r\n Distance: Distance,\r\n SuggestedPrice: SuggestedPrice,\r\n Price: Price,\r\n Name: Name,\r\n userType: userType,\r\n });\r\n\r\n vm.AllAssignUserDetails.push({ \"UserId\": Id, \"TicketId\": ticketid, \"LinkId\": linkId, \"Role\": Role, \"start_date\": start_date, \"end_date\": end_date, \"Name\": Name, \"Distance\": Distance, \"SuggestedPrice\": SuggestedPrice, \"type\": userType, \"Price\": Price });\r\n\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n vm.AssignTicketsTimeline = function () {\r\n\r\n vm.AllUserList = [];\r\n angular.forEach(vm.AllAssignUserDetails, function (data) {\r\n\r\n if (data.Role == 'Field Engineer' && data.type == 'Fixed Team' && data.isChecked == true) {\r\n vm.AllUserList.push({ \"UserId\": data.UserId, \"TicketId\": data.JobId ? data.JobId : data.LinkId, \"StartTime\": data.start_date, \"Endtime\": data.end_date, \"SuggestedPrice\": data.SuggestedPrice, \"AssignPrice\": data.Price, \"Distance\": data.Distance })\r\n } else if (data.Role == 'Field Engineer' && data.type == 'Freelancer' && data.isChecked == true) {\r\n vm.AllUserList.push({ \"UserId\": data.UserId, \"TicketId\": data.JobId ? data.JobId : data.LinkId, \"StartTime\": data.start_date, \"Endtime\": data.end_date, \"SuggestedPrice\": data.SuggestedPrice, \"AssignPrice\": data.Price, \"Distance\": data.Distance })\r\n } else if (data.Role == 'Vendor Manager' && data.type == 'Fixed Team' && data.isChecked == true) {\r\n vm.AllUserList.push({ \"UserId\": data.UserId, \"TicketId\": data.JobId ? data.JobId : data.LinkId, \"StartTime\": data.start_date, \"Endtime\": data.end_date, \"SuggestedPrice\": data.SuggestedPrice, \"AssignPrice\": data.Price, \"Distance\": data.Distance })\r\n } else if (data.Role == 'Vendor Manager' && data.type == 'Freelancer' && data.isChecked == true) {\r\n vm.AllUserList.push({ \"UserId\": data.UserId, \"TicketId\": data.JobId ? data.JobId : data.LinkId, \"StartTime\": data.start_date, \"Endtime\": data.end_date, \"SuggestedPrice\": data.SuggestedPrice, \"AssignPrice\": data.Price, \"Distance\": data.Distance })\r\n }\r\n })\r\n if (vm.AllUserList == '') {\r\n vm.showFailure(\"Please select users.\")\r\n } else {\r\n ScheduleAssignService.AssignTicketsTimeline(loggedinUser, vm.AllUserList, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n\r\n vm.showSuccess(\"Success\", \"Job Assigned Successfully\");\r\n scheduler.clearAll();\r\n\r\n $timeout(function () {\r\n vm.mapMarkers = [];\r\n vm.AssignModal.close();\r\n console.log('AssignTicketsTimeline');\r\n GetSchedulingEventforToday(loggedinUser);\r\n if (vm.TicketStatus == \"New\") {\r\n vm.otherfilter = \"New\";\r\n vm.getAllTicketList();\r\n\r\n } else if (vm.TicketStatus == \"ReadyToAssign\") {\r\n vm.otherfilter = \"ReadyToAssign\";\r\n vm.getAllTicketList();\r\n }\r\n vm.otherfilter = '';\r\n\r\n }, 1500);\r\n if (vm.Mode == 'Map') {\r\n $timeout(function () {\r\n vm.mapMarkers = [];\r\n vm.AssignModal.close();\r\n }, 1500);\r\n }\r\n } else {\r\n vm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n }\r\n })\r\n }\r\n $state.reload();\r\n }\r\n\r\n vm.clearData = function () {\r\n vm.AllAssignUserDetails = [];\r\n vm.selectedTicket = '';\r\n vm.mapMarkers = [];\r\n }\r\n\r\n\r\n vm.OpenBroadcastModal = function () {\r\n if (vm.BroadcastedUserList == '') {\r\n vm.showFailure(\"Not found\", \"No users found\");\r\n } else {\r\n $scope.BroadcastedUser.allItemsSelected = true;\r\n $scope.selectAllBoardUser();\r\n vm.BroadcastModal = $uibModal.open({\r\n templateUrl: 'Broadcast-modal',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n }\r\n\r\n vm.CloseBroadcastModal = function () {\r\n vm.selectedFreelancers = [];\r\n vm.BroadcastModal.close();\r\n }\r\n\r\n vm.OpenAssignModal = function () {\r\n vm.AllAssignUserDetails = [];\r\n var evs = scheduler.getEvents();\r\n var t = vm.TicketStatus;\r\n var uniqueEventlist = new Map();\r\n\r\n\r\n var eventslist = $filter('filter')(evs, function (value) {\r\n return value.Price == 0;\r\n })\r\n\r\n angular.forEach(evs, function (data) {\r\n\r\n if (!uniqueEventlist.has(data.JobId)) {\r\n uniqueEventlist.set(data.JobId);\r\n\r\n if (data.status == 'New') {\r\n var Id = data.assignedUserid;\r\n var ticketid = data.JobId;\r\n var linkid = data.LinkId;\r\n var start_date = moment(data.start_date).format('YYYY-MM-DD HH:mm');\r\n var end_date = moment(data.end_date).format('YYYY-MM-DD HH:mm');\r\n\r\n angular.forEach(vm.SuggestedUserList.users, function (value) {\r\n if (value.id == Id && value.userType != 'Freelancer') {\r\n vm.AllAssignUserDetails.push({ \"UserId\": Id, \"TicketId\": ticketid, \"LinkId\": linkid, \"Role\": value.role, \"start_date\": start_date, \"end_date\": end_date, \"Name\": value.name, \"Distance\": value.UserDistance, \"SuggestedPrice\": value.BIDCounterRate, \"type\": value.userType, \"Price\": value.BIDCounterRate });\r\n\r\n }\r\n\r\n })\r\n } else if (data.status == 'Broadcasted') {\r\n var Id = data.assignedUserid;\r\n var ticketid = data.JobId;\r\n var linkid = data.LinkId;\r\n var start_date = moment(data.start_date).format('YYYY-MM-DD HH:mm');\r\n var end_date = moment(data.end_date).format('YYYY-MM-DD HH:mm');\r\n\r\n angular.forEach(vm.SuggestedUserList.users, function (value) {\r\n if (value.id == Id) {\r\n\r\n vm.AllAssignUserDetails.push({ \"UserId\": Id, \"TicketId\": ticketid, \"LinkId\": linkid, \"Role\": value.role, \"start_date\": start_date, \"end_date\": end_date, \"Name\": value.name, \"Distance\": value.UserDistance, \"SuggestedPrice\": value.BIDCounterRate, \"type\": value.userType, \"Price\": value.BIDCounterRate });\r\n // console.log(vm.AllAssignUserDetails);\r\n }\r\n\r\n })\r\n } else if (data.status == 'ReadyToAssign') {\r\n\r\n var Id = data.assignedUserid;\r\n var ticketid = data.JobId;\r\n var linkid = data.LinkId;\r\n var start_date = moment(data.start_date).format('YYYY-MM-DD HH:mm');\r\n var end_date = moment(data.end_date).format('YYYY-MM-DD HH:mm');\r\n\r\n angular.forEach(vm.SuggestedUserList.users, function (value) {\r\n if (value.id == Id) {\r\n\r\n vm.AllAssignUserDetails.push({ \"UserId\": Id, \"TicketId\": ticketid, \"LinkId\": linkid, \"Role\": value.role, \"start_date\": start_date, \"end_date\": end_date, \"Name\": value.name, \"Distance\": value.UserDistance, \"SuggestedPrice\": value.BIDCounterRate, \"type\": value.userType, \"Price\": value.BIDCounterRate });\r\n // console.log(vm.AllAssignUserDetails);\r\n }\r\n\r\n })\r\n }\r\n }\r\n })\r\n $scope.AssignSelectedUser = vm.AllAssignUserDetails;\r\n $scope.AssignSelectedUser.allItemsSelected = true;\r\n $scope.selectAll();\r\n\r\n vm.AssignModal = $uibModal.open({\r\n templateUrl: 'Assign-modal',\r\n size: 'lg',\r\n backdrop: 'static',\r\n scope: $scope\r\n });\r\n // }\r\n }\r\n\r\n vm.CloseAssignModal = function () {\r\n vm.selectedFreelancers = [];\r\n vm.AssignModal.close();\r\n }\r\n\r\n\r\n //Broadcast Bids/Jobs\r\n vm.BroadcastTicket = function () {\r\n\r\n\r\n var BidData = [];\r\n var obj = {};\r\n var time = '';\r\n var hrs = '';\r\n var min = '';\r\n obj.JobID = vm.selectedTicket.JobId;\r\n obj.BIDDuration = vm.selectedTicket.BIDDuration;\r\n // obj.BroadCastRate = vm.selectedTicket.BroadcastRate\r\n //obj.BroadCastGrossRate = vm.selectedTicket.BroadcastGrossRate\r\n obj.MobiforceCommissionPercentage = parseInt(vm.selectedTicket.MobiforceCommission);\r\n // obj.FixedBidPrice = true;\r\n BidData.push(obj);\r\n\r\n\r\n var UserData = [];\r\n /* angular.forEach(vm.selectedFreelancers, function (d) {\r\n if (d) {*/\r\n angular.forEach($scope.BroadcastedUser, function (d) {\r\n if (d.isChecked == true) {\r\n // UserData.push(d.UserId);\r\n UserData.push({ \"UserId\": d.UserId, \"SuggestedPrice\": parseInt(d.SuggestedPrice), \"Price\": parseInt(d.Price), \"Distance\": d.Distance });\r\n }\r\n });\r\n var checklist = $filter('filter')(UserData, function (value) {\r\n return value.Price == 0;\r\n })\r\n if (checklist.length != 0) {\r\n vm.showFailure(\"Failed\", \"Bid price can't be zero.\");\r\n } else {\r\n if (BidData.length > 0 && UserData.length > 0) {\r\n var data = {\r\n \"JobId\": vm.selectedTicket.JobId,\r\n \"BIDDuration\": vm.selectedTicket.BidDuration,\r\n \"MobiforceCommissionPercentage\": parseInt(vm.selectedTicket.MobiforceCommission),\r\n \"Users\": UserData\r\n };\r\n //$log.log('BradcastedJobs', data);\r\n vm.BroadcastModal.close();\r\n\r\n ScheduleAssignService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 201 || resp.status == 200) {\r\n vm.toaster_success.body = 'Jobs Broadcasted Successfully';\r\n toaster.pop(vm.toaster_success);\r\n vm.selectedFreelancers = [];\r\n $timeout(function () {\r\n vm.otherfilter = \"New\";\r\n vm.getAllTicketList();\r\n\r\n }, 1500);\r\n vm.otherfilter = '';\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", \"Please select users.\");\r\n }\r\n })\r\n } else {\r\n vm.showFailure(\"Failed\", \"Please select jobs and users.\");\r\n }\r\n }\r\n\r\n }\r\n\r\n //Assign Tickets\r\n vm.AssignTickets = function (role, userId) {\r\n if (role == 'Field Engineer') {\r\n ScheduleAssignService.AssignTickets(userId, loggedinUser, vm.selectedTicket.TicketId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.showSuccess(\"Success\", \"Job Assigned Successfully\");\r\n vm.otherfilter = \"New\";\r\n vm.TimeoutFunc(1500, vm.getAllTicketList());\r\n if (vm.Mode == 'Map') {\r\n $timeout(function () {\r\n vm.mapMarkers = [];\r\n vm.AssignModal.close();\r\n }, 1500);\r\n }\r\n vm.otherfilter = '';\r\n } else {\r\n vm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n }\r\n })\r\n } else if (role == 'Vendor Manager') {\r\n }\r\n }\r\n\r\n //MAP INTEGRATION\r\n vm.MapIntegration = function () {\r\n //for Initial Loading\r\n if (vm.selectedTicket == '') {\r\n vm.mapMarkers = [];\r\n //Today's Scheduling Events\r\n angular.forEach(vm.SuggestedUserList.tickets, function (d) {\r\n var customer = {};\r\n customer.lat = d.latitude;\r\n customer.long = d.longitude;\r\n customer.StartTime = d.start_date;\r\n customer.Address = d.city + ' ' + d.state;\r\n customer.ConsumerName = d.customerName;\r\n customer.ContactNumber = 'NA';\r\n customer.Role = 'Customer';\r\n customer.Status = d.status;\r\n customer.AssignedUser = d.assignedUserName;\r\n customer.JobId = d.id;\r\n customer.StartDate = d.start_date;\r\n customer.EndDate = d.end_date;\r\n if (d.status != 'Lunch') {\r\n vm.mapMarkers.push(customer);\r\n }\r\n })\r\n angular.forEach(vm.SuggestedUserList.users, function (d) {\r\n var obj = {};\r\n obj.UserName = d.name;\r\n obj.BIDCounterRate = vm.round2Decimal(d.BIDCounterRate);\r\n obj.UserRating = d.UserRating ? d.UserRating : 0;\r\n obj.UserDistance = vm.round2Decimal(d.UserDistance);\r\n obj.UserLatitude = d.UserLatitude;\r\n obj.UserLongitude = d.UserLongitude;\r\n obj.UserContact = d.contactnumber ? d.contactnumber : 'NA';\r\n obj.UserImage = vm.getProfilePic(d.UserProfilePhoto);\r\n obj.Role = d.role;\r\n obj.userType = d.userType;\r\n vm.mapMarkers.push(obj);\r\n })\r\n //New Jobs\r\n if (vm.TicketStatus == 'New') {\r\n angular.forEach(vm.AllTicketList, function (d) {\r\n var customer = {};\r\n var DefaultLat = parseFloat(d.JobLatitude);\r\n var DefaultLong = parseFloat(d.JobLongitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = d.City + ' ' + d.State;\r\n customer.ConsumerName = d.ConsumerName;\r\n customer.JobType = d.JobType;\r\n customer.ContactNumber = 'NA';\r\n customer.Role = 'Customer';\r\n customer.Status = 'New';\r\n customer.JobId = d.TicketId;\r\n customer.StartDate = d.StartTime;\r\n customer.EndDate = d.EndTime;\r\n vm.mapMarkers.push(customer);\r\n })\r\n //Broadcasted Jobs\r\n } else if (vm.TicketStatus == 'Broadcasted') {\r\n angular.forEach(vm.BroadcastedJobList, function (d) {\r\n var customer = {};\r\n var DefaultLat = parseFloat(d.JobLatitude);\r\n var DefaultLong = parseFloat(d.JobLongitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = d.Location;\r\n customer.ConsumerName = d.CustomerName;\r\n customer.JobType = d.JobType;\r\n customer.ContactNumber = 'NA';\r\n customer.Role = 'Customer';\r\n customer.Status = 'Broadcasted';\r\n customer.JobId = d.JobId;\r\n customer.StartDate = d.StartDateTime;\r\n customer.EndDate = d.EndDateTime;\r\n vm.mapMarkers.push(customer);\r\n })\r\n } else if (vm.TicketStatus == 'ReadyToAssign') {\r\n angular.forEach(vm.ReadyToAssignList, function (d) {\r\n var customer = {};\r\n var DefaultLat = parseFloat(d.JobLatitude);\r\n var DefaultLong = parseFloat(d.JobLongitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = d.Location;\r\n customer.ConsumerName = d.CustomerName;\r\n customer.JobType = d.JobType;\r\n customer.ContactNumber = 'NA';\r\n customer.Role = 'Customer';\r\n customer.Status = 'ReadyToAssign';\r\n customer.JobId = d.JobId;\r\n customer.StartDate = d.StartDateTime;\r\n customer.EndDate = d.EndDateTime;\r\n vm.mapMarkers.push(customer);\r\n })\r\n }\r\n //on Job Selection\r\n } else {\r\n vm.mapMarkers = [];\r\n var customer = {};\r\n //Adding Customer Site on Ticket Status Basis\r\n if (vm.TicketStatus == 'New') {\r\n var DefaultLat = parseFloat(vm.selectedTicket.Latitude);\r\n var DefaultLong = parseFloat(vm.selectedTicket.Longitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = vm.selectedTicket.City + ' ' + vm.selectedTicket.State;\r\n customer.ConsumerName = vm.selectedTicket.ConsumerName;\r\n customer.Status = vm.selectedTicket.TicketStatus;\r\n customer.JobId = vm.selectedTicket.TicketId;\r\n customer.StartDate = vm.selectedTicket.StartTime;\r\n customer.EndDate = vm.selectedTicket.EndTime;\r\n\r\n }\r\n else if (vm.TicketStatus == 'Broadcasted') {\r\n var DefaultLat = parseFloat(vm.selectedTicket.JobLatitude);\r\n var DefaultLong = parseFloat(vm.selectedTicket.JobLongitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = vm.selectedTicket.Location;\r\n customer.ConsumerName = vm.selectedTicket.CustomerName;\r\n customer.Status = vm.selectedTicket.Status;\r\n customer.JobId = vm.selectedTicket.JobId;\r\n customer.StartDate = vm.selectedTicket.StartDateTime;\r\n customer.EndDate = vm.selectedTicket.EndDateTime;\r\n } else if (vm.TicketStatus == 'ReadyToAssign') {\r\n var DefaultLat = parseFloat(vm.selectedTicket.JobLatitude);\r\n var DefaultLong = parseFloat(vm.selectedTicket.JobLongitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = vm.selectedTicket.Location;\r\n customer.ConsumerName = vm.selectedTicket.CustomerName;\r\n customer.Status = vm.selectedTicket.Status;\r\n customer.JobId = vm.selectedTicket.JobId;\r\n customer.StartDate = vm.selectedTicket.StartDateTime;\r\n customer.EndDate = vm.selectedTicket.EndDateTime;\r\n }\r\n customer.JobType = vm.selectedTicket.JobType;\r\n customer.ContactNumber = 'NA';\r\n customer.Role = 'Customer';\r\n vm.mapMarkers.push(customer);\r\n\r\n //Adding Users into Marker\r\n angular.forEach(vm.SuggestedUserList.users, function (d) {\r\n var obj = {};\r\n if (d && d.UserLatitude && d.UserLongitude) {\r\n obj.UserName = d.name;\r\n // obj.BIDApplyDateTime = d.BIDApplyDateTime;\r\n // obj.BIDApplyStatus = d.BIDApplyStatus;\r\n obj.BIDCounterRate = vm.round2Decimal(d.BIDCounterRate);\r\n obj.JobId = d.id;\r\n // obj.UserCurrentJobs = d.UserCurrentJobs;\r\n // obj.UserId = d.UserId;\r\n obj.UserRating = d.UserRating ? d.UserRating : 0;\r\n // obj.UserTotalJobs = d.UserTotalJobs;\r\n obj.UserDistance = vm.round2Decimal(d.UserDistance);\r\n obj.UserLatitude = d.UserLatitude;\r\n obj.UserLongitude = d.UserLongitude;\r\n obj.UserContact = d.contactnumber ? d.contactnumber : 'NA';\r\n obj.UserImage = vm.getProfilePic(d.UserProfilePhoto);\r\n // if (obj.Role=='Freelancer') {\r\n // obj.AssigButton = false; \r\n // }else{\r\n // obj.AssigButton = true;\r\n // }\r\n obj.Role = d.role;\r\n obj.userType = d.userType;\r\n vm.mapMarkers.push(obj);\r\n }\r\n })\r\n }\r\n\r\n\r\n //Setting the Map Options\r\n vm.MapOptions = {\r\n center: new google.maps.LatLng(DefaultLat, DefaultLong),\r\n // zoom: 20,\r\n mapTypeId: google.maps.MapTypeId.ROADMAP\r\n }\r\n\r\n //Initializing the InfoWindow, Map and LatLngBounds objects.\r\n vm.InfoWindow = new google.maps.InfoWindow();\r\n vm.Latlngbounds = new google.maps.LatLngBounds();\r\n vm.Map = new google.maps.Map(document.getElementById(\"map-canvas\"), vm.MapOptions);\r\n\r\n //Looping through the Array and adding Markers.\r\n for (var i = 0; i < vm.mapMarkers.length; i++) {\r\n var data = vm.mapMarkers[i];\r\n var ticketLatlng = '';\r\n if (data.Role == 'Customer') {\r\n ticketLatlng = new google.maps.LatLng(data.lat, data.long);\r\n //Initializing the Marker object.\r\n if (data.Status == 'New') {\r\n var marker = new google.maps.Marker({\r\n position: ticketLatlng,\r\n map: vm.Map,\r\n //label:data.ConsumerName,\r\n title: data.ConsumerName,\r\n // labelClass:\"marker_container-label\",\r\n // labelInBackground:false,\r\n //icon:NewJobIcon,\r\n icon: {\r\n url: UIURL + '/assets/images/patterns/JOb_icon.png',\r\n labelOrigin: new google.maps.Point(80, 52),\r\n },\r\n animation: google.maps.Animation.DROP,\r\n label: {\r\n text: data.ConsumerName,\r\n color: \"#C70E20\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n position: \"absolute\"\r\n }\r\n });\r\n } else if (data.Status == 'Broadcasted') {\r\n var marker = new google.maps.Marker({\r\n position: ticketLatlng,\r\n map: vm.Map,\r\n //label:data.ConsumerName,\r\n title: data.ConsumerName,\r\n // labelClass:\"marker_container-label\",\r\n // labelInBackground:false,\r\n // icon:BroadcastedJobIcon,\r\n icon: {\r\n url: UIURL + '/assets/images/patterns/JOb_icon.png',\r\n labelOrigin: new google.maps.Point(50, 32),\r\n },\r\n animation: google.maps.Animation.DROP,\r\n label: {\r\n text: data.ConsumerName,\r\n color: \"#C70E20\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n position: \"absolute\"\r\n }\r\n });\r\n } else if (data.Status == 'Assigned') {\r\n var marker = new google.maps.Marker({\r\n position: ticketLatlng,\r\n map: vm.Map,\r\n //label:data.ConsumerName,\r\n title: data.ConsumerName,\r\n // labelClass:\"marker_container-label\",\r\n // labelInBackground:false,\r\n //icon: AssignedJobIcon,\r\n icon: {\r\n url: UIURL + '/assets/images/patterns/JOb_icon.png',\r\n labelOrigin: new google.maps.Point(50, 32),\r\n },\r\n animation: google.maps.Animation.DROP,\r\n label: {\r\n text: data.ConsumerName,\r\n color: \"#C70E20\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n position: \"absolute\"\r\n }\r\n });\r\n } else if (data.Status == 'Completed') {\r\n var marker = new google.maps.Marker({\r\n position: ticketLatlng,\r\n map: vm.Map,\r\n //label:data.ConsumerName,\r\n title: data.ConsumerName,\r\n // labelClass:\"marker_container-label\",\r\n // labelInBackground:false,\r\n //icon: CompletedJobIcon,\r\n icon: {\r\n url: UIURL + '/assets/images/patterns/JOb_icon.png',\r\n labelOrigin: new google.maps.Point(50, 32),\r\n },\r\n animation: google.maps.Animation.DROP,\r\n label: {\r\n text: data.ConsumerName,\r\n color: \"#C70E20\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n position: \"absolute\"\r\n }\r\n });\r\n } else {\r\n var marker = new google.maps.Marker({\r\n position: ticketLatlng,\r\n map: vm.Map,\r\n // label:data.ConsumerName,\r\n title: data.ConsumerName,\r\n // labelClass:\"marker_container-label\",\r\n // labelInBackground:false,\r\n // icon: CompletedJobIcon,\r\n icon: {\r\n url: UIURL + '/assets/images/patterns/JOb_icon.png',\r\n labelOrigin: new google.maps.Point(50, 32),\r\n },\r\n animation: google.maps.Animation.DROP,\r\n label: {\r\n text: data.ConsumerName,\r\n color: \"#C70E20\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n position: \"absolute\"\r\n }\r\n });\r\n }\r\n\r\n //Adding InfoWindow to the Marker.\r\n (function (marker, data) {\r\n google.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n if (data.Status == 'Assigned') {\r\n //var content = \"
image
\"\r\n vm.InfoWindow.setContent(\"

\" + data.ConsumerName + \"


\" + ' ' + data.JobId + \"
\" + ' ' + data.Status + \"
\" + ' ' + data.AssignedUser + \"
\" + ' ' + moment(data.StartDate).format(\"YYYY-MM-DD HH:mm\") + \"
\" + ' ' + moment(data.EndDate).format(\"YYYY-MM-DD HH:mm\") + \"
\" + ' ' + data.Address + \"
\");\r\n } else if (data.Status == 'Completed') {\r\n //var content = \"
image
\"\r\n vm.InfoWindow.setContent(\"

\" + data.ConsumerName + \"


\" + ' ' + data.JobId + \"
\" + ' ' + data.Status + \"
\" + ' ' + data.AssignedUser + \"
\" + ' ' + moment(data.StartDate).format(\"YYYY-MM-DD HH:mm\") + \"
\" + ' ' + moment(data.EndDate).format(\"YYYY-MM-DD HH:mm\") + \"
\" + ' ' + data.Address + \"
\");\r\n }\r\n else {\r\n //var content = \"
image
\"\r\n vm.InfoWindow.setContent(\"

\" + data.ConsumerName + \"


\" + ' ' + data.JobId + \"
\" + ' ' + data.Status + \"
\" + ' ' + moment(data.StartDate).format(\"YYYY-MM-DD HH:mm\") + \"
\" + ' ' + moment(data.EndDate).format(\"YYYY-MM-DD HH:mm\") + \"
\" + ' ' + data.Address + \"
\");\r\n }\r\n vm.InfoWindow.open(vm.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n vm.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, data);\r\n vm.Latlngbounds.extend(marker.position);\r\n } else {\r\n ticketLatlng = new google.maps.LatLng(data.UserLatitude, data.UserLongitude);\r\n //Initializing the Marker object.\r\n if (data.Role == 'Field Engineer' && data.userType == 'Freelancer') {\r\n var marker = new google.maps.Marker({\r\n position: ticketLatlng,\r\n map: vm.Map,\r\n title: data.UserName,\r\n animation: google.maps.Animation.DROP,\r\n //icon: flIcon,\r\n icon: {\r\n url: UIURL + '/assets/images/patterns/mascot_icon2.png',\r\n labelOrigin: new google.maps.Point(80, 52),\r\n },\r\n\r\n label: {\r\n text: data.UserName,\r\n color: \"#1a237e\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n position: \"absolute\"\r\n }\r\n });\r\n } else if (data.Role == 'Field Engineer' && data.userType == 'Fixed Team') {\r\n var marker = new google.maps.Marker({\r\n position: ticketLatlng,\r\n map: vm.Map,\r\n title: data.UserName,\r\n animation: google.maps.Animation.DROP,\r\n //icon: ftIcon,\r\n icon: {\r\n url: UIURL + '/assets/images/patterns/mascot_icon2.png',\r\n labelOrigin: new google.maps.Point(80, 52),\r\n },\r\n label: {\r\n text: data.UserName,\r\n color: \"#1a237e\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n position: \"absolute\"\r\n\r\n }\r\n });\r\n } else if (data.Role == 'Vendor Manager' && data.userType == 'Fixed Team') {\r\n var marker = new google.maps.Marker({\r\n position: ticketLatlng,\r\n map: vm.Map,\r\n title: data.UserName,\r\n animation: google.maps.Animation.DROP,\r\n //icon: vIcon,\r\n icon: {\r\n url: UIURL + '/assets/images/patterns/mascot_icon2.png',\r\n labelOrigin: new google.maps.Point(80, 52),\r\n },\r\n label: {\r\n text: data.UserName,\r\n color: \"#1a237e\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n position: \"absolute\"\r\n\r\n }\r\n });\r\n } else if (data.Role == 'Vendor Manager' && data.userType == 'Freelancer') {\r\n var marker = new google.maps.Marker({\r\n position: ticketLatlng,\r\n map: vm.Map,\r\n title: data.UserName,\r\n animation: google.maps.Animation.DROP,\r\n //icon: fvIcon,\r\n icon: {\r\n url: UIURL + '/assets/images/patterns/mascot_icon2.png',\r\n labelOrigin: new google.maps.Point(80, 52),\r\n },\r\n label: {\r\n text: data.UserName,\r\n color: \"#1a237e\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n position: \"absolute\"\r\n\r\n }\r\n });\r\n }\r\n\r\n //Adding InfoWindow to the Marker.\r\n (function (marker, data) {\r\n google.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n if (data.Role == 'Field Engineer' && data.userType == 'Fixed Team') {\r\n var Role = 'Field Engineer';\r\n } else if (data.Role == 'Field Engineer' && data.userType == 'Freelancer') {\r\n var Role = 'Freelancer';\r\n } else if (data.Role == 'Vendor Manager' && data.userType == 'Fixed Team') {\r\n var Role = 'Vendor Manager';\r\n } else {\r\n var Role = 'Freelancer Vendor';\r\n }\r\n var content = \"
image
\" + ' ' + data.UserName + \"
\" + ' ' + data.UserContact + \"
\" + ' ' + data.UserDistance + \" Kms
\" + ' ' + data.BIDCounterRate + \"
\" + ' ' + Role + \"
\"\r\n vm.InfoWindow.setContent(content);\r\n vm.InfoWindow.open(vm.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n vm.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, data);\r\n // vm.Latlngbounds.extend(marker.position);\r\n }\r\n //Plotting the Marker on the Map. \r\n }\r\n //Adjusting the Map for best display.\r\n vm.Map.setCenter(vm.Latlngbounds.getCenter());\r\n // vm.Map.fitBounds(vm.Latlngbounds);\r\n vm.Map.setZoom(13);\r\n\r\n }\r\n }\r\n\r\n\r\n vm.territoryChange = function () {\r\n GetSchedulingEventforToday(loggedinUser);\r\n }\r\n\r\n function GetSchedulingEventforToday(supervisiorId) {\r\n var accountId = '';\r\n // var date = new Date();\r\n // var fromDate = new Date(date.getFullYear(), date.getMonth(), 1);\r\n // fromDate = moment(fromDate).format(\"YYYY-MM-DD\");\r\n fromDate = moment().format(\"YYYY-MM-DD\");\r\n // var toDate = new Date(date.getFullYear(), date.getMonth() + 1, 0);\r\n // toDate = moment(toDate).format(\"YYYY-MM-DD\");\r\n toDate = moment().format(\"YYYY-MM-DD\");\r\n var itemNames = 'State';\r\n var itemValues = vm.TerritoryState;\r\n ScheduleAssignService.GetSchedulingEventToday(accountId, supervisiorId, fromDate, toDate, itemNames, itemValues, token).then(function (resp) {\r\n if (resp && resp.status == 200 && resp.data) {\r\n vm.SuggestedUserList = [];\r\n vm.SuggestedUserList = resp.data;\r\n vm.ObjectivesList = resp.data.businessObjectives;\r\n var evs = scheduler.getEvents();\r\n angular.forEach(evs, function (val) {\r\n if (val.status == 'New') {\r\n var id = val.id;\r\n scheduler.deleteEvent(id);\r\n }\r\n })\r\n init();\r\n }\r\n })\r\n vm.MapIntegration();\r\n }\r\n\r\n\r\n function GetSchedulingEventfordates(supervisiorId, fromDate, toDate) {\r\n var accountId = '';\r\n var date = new Date();\r\n //var fromDate = new Date(date.getFullYear(), date.getMonth(), 1);\r\n fromDate = moment(fromDate).format(\"YYYY-MM-DD\");\r\n //var toDate = new Date(date.getFullYear(), date.getMonth() + 1, 0);\r\n toDate = moment(toDate).format(\"YYYY-MM-DD\");\r\n var itemNames = 'State';\r\n var itemValues = vm.TerritoryState;\r\n ScheduleAssignService.GetSchedulingEventToday(accountId, supervisiorId, fromDate, toDate, itemNames, itemValues, token).then(function (resp) {\r\n if (resp && resp.status == 200 && resp.data) {\r\n vm.SuggestedUserList = [];\r\n vm.SuggestedUserList = resp.data;\r\n var evs = scheduler.getEvents();\r\n angular.forEach(evs, function (val) {\r\n if (val.status == 'New') {\r\n var id = val.id;\r\n scheduler.deleteEvent(id);\r\n }\r\n })\r\n init();\r\n }\r\n })\r\n vm.MapIntegration();\r\n }\r\n\r\n\r\n\r\n GetSchedulingEventforToday(loggedinUser);\r\n\r\n\r\n\r\n\r\n\r\n $scope.selectEntity = function () {\r\n // If any entity is not checked, then uncheck the \"allItemsSelected\" checkbox\r\n for (var i = 0; i < $scope.AssignSelectedUser.length; i++) {\r\n if (!$scope.AssignSelectedUser[i].isChecked) {\r\n $scope.AssignSelectedUser.allItemsSelected = false;\r\n return;\r\n }\r\n }\r\n\r\n //If not the check the \"allItemsSelected\" checkbox\r\n $scope.AssignSelectedUser.allItemsSelected = true;\r\n };\r\n\r\n // This executes when checkbox in table header is checked\r\n $scope.selectAll = function () {\r\n // Loop through all the entities and set their isChecked property\r\n for (var i = 0; i < $scope.AssignSelectedUser.length; i++) {\r\n $scope.AssignSelectedUser[i].isChecked = $scope.AssignSelectedUser.allItemsSelected;\r\n }\r\n };\r\n\r\n\r\n\r\n\r\n $scope.selectEntityBoardUser = function () {\r\n // If any entity is not checked, then uncheck the \"allItemsSelected\" checkbox\r\n for (var i = 0; i < $scope.BroadcastedUser.length; i++) {\r\n if (!$scope.BroadcastedUser[i].isChecked) {\r\n $scope.BroadcastedUser.allItemsSelected = false;\r\n return;\r\n }\r\n }\r\n\r\n //If not the check the \"allItemsSelected\" checkbox\r\n $scope.BroadcastedUser.allItemsSelected = true;\r\n };\r\n\r\n // This executes when checkbox in table header is checked\r\n $scope.selectAllBoardUser = function () {\r\n // Loop through all the entities and set their isChecked property\r\n for (var i = 0; i < $scope.BroadcastedUser.length; i++) {\r\n $scope.BroadcastedUser[i].isChecked = $scope.BroadcastedUser.allItemsSelected;\r\n }\r\n };\r\n\r\n\r\n\r\n function init() {\r\n scheduler.locale.labels.timeline_tab = \"Timeline\";\r\n scheduler.locale.labels.section_custom = \"Section\";\r\n // scheduler.config.details_on_create=true;\r\n // scheduler.config.details_on_dblclick=true;\r\n scheduler.config.dblclick_create = false;\r\n scheduler.config.xml_date = \"%Y-%m-%d %H:%i\";\r\n var format = scheduler.date.date_to_str(\"%H:%i\");\r\n scheduler.config.touch_tooltip = true;\r\n scheduler.config.drag_resize = false;\r\n\r\n //it is used for the drag and drop functionality \r\n scheduler.attachEvent(\"onBeforeDrag\", function (event_id, mode, native_event_object) {\r\n var ev = scheduler.getEvent(event_id);\r\n if (ev.status == 'Assigned') {\r\n return false;\r\n }\r\n else if (ev.status == 'InTransite') {\r\n return false;\r\n }\r\n else if (ev.status == 'OnSite') {\r\n return false;\r\n }\r\n else if (ev.status == 'Completed') {\r\n return false;\r\n }\r\n else if (ev.status == 'Lunch') {\r\n return false;\r\n }\r\n else if (ev.status == 'Approved') {\r\n return false;\r\n }\r\n else {\r\n return true;\r\n }\r\n });\r\n\r\n // this is used when we drag the event in one use to another user but the time is still same \r\n scheduler.attachEvent(\"onBeforeEventChanged\", function (ev, e, is_new, original) {\r\n if (original.assignedUserid == ev.assignedUserid)\r\n return false;\r\n ev.start_date = original.start_date;\r\n ev.end_date = original.end_date;\r\n return true;\r\n });\r\n\r\n //this methd is used to stop the open the popup on double click \r\n scheduler.attachEvent(\"onDblClick\", function (id, e) {\r\n return false;\r\n });\r\n\r\n if (vm.SuggestedUserList.users.length != 0) {\r\n var sections = [];\r\n var sections = vm.SuggestedUserList;\r\n if (vm.selectedTicket.Status == \"ReadyToAssign\") {\r\n var sectionlist = $filter('filter')(sections.users, function (value) {\r\n // return value.BIDCounterRate!=0;\r\n return value.BIDCounterRate;\r\n })\r\n sections.users = sectionlist;\r\n }\r\n } else {\r\n var sections = [];\r\n var sections = vm.SuggestedUserList;\r\n // var sections.users =[];\r\n }\r\n\r\n //this is used for the tooltip\r\n scheduler.templates.tooltip_text = function (start, end, event) {\r\n var t = event.id;\r\n t = t.toString();\r\n var res = t.charAt(0);\r\n if (res == \"1\") {\r\n var Id = event.LinkId ? event.LinkId : event.TicketId;\r\n } else {\r\n var Id = event.id;\r\n }\r\n return \"Job Status : \" + event.status + \"
\" +\r\n \"Job Id : \" + Id + \"
\" +\r\n \"Travel Distance : \" + event.TravelDistance + \" Km
\" +\r\n \"Travel Duration : \" + event.TravelDuration + \" Mins
\" +\r\n \"Job Type : \" + event.JobType + \"
\" +\r\n \"Job Duration : \" + event.TaskDuration + \"
\"\r\n \"Start Time : \" + scheduler.templates.tooltip_date_format(start) + \"
\"\r\n \"End Time : \" + scheduler.templates.tooltip_date_format(end);\r\n };\r\n\r\n //this is used for creating two event in the same slot \r\n scheduler.config.collision_limit = 5; //allows creating 2 events per time slot\r\n /*scheduler.attachEvent(\"onEventLoading\", function(ev){ \r\n return scheduler.checkCollision(ev); \r\n });\r\n */\r\n\r\n scheduler.createTimelineView({\r\n name: \"timeline\",\r\n x_date: \"%H:%i\",\r\n x_unit: \"minute\",// the scale parameters will be calculated in minutes\r\n x_step: 30, //sets the '30 minute' step, e.g. 09:00 - 09:30\r\n x_size: 24, // the number of '30 minute's in the interval 09:00 - 15:00\r\n // 15 - 9 = 6 hours = 360 minutes = 360/30 = 12\r\n x_start: 18, //scale starts from 09:00,i.e. 9 hours from the default start- 00:00.\r\n // 9 hours = 540 minutes = 540/30 = 18 'x_step's \r\n x_length: 48,//sc\r\n y_unit: scheduler.serverList('sections', sections.users),\r\n y_property: \"assignedUserid\",\r\n render: \"bar\",\r\n });\r\n\r\n scheduler.ignore_timeline = function (date) {\r\n //non-work hours\r\n if (date.getHours() < 8 || date.getHours() > 18) return true;\r\n };\r\n\r\n scheduler.templates.timeline_scale_label = function (key, label, sections) {\r\n\r\n if (sections.userType == 'Fixed Team' && sections.role == 'Field Engineer' && sections.VendorTeam == 'Non Vendor Team') {\r\n $(document).ready(function () {\r\n $(\".FEHIDE\").hide();\r\n });\r\n\r\n var UserIdentity = 'FE';\r\n } else if (sections.userType == 'Fixed Team' && sections.role == 'Field Engineer' && sections.VendorTeam == 'Vendor Team') {\r\n var UserIdentity = 'VT';\r\n } else if (sections.userType == 'Freelancer' && sections.role == 'Field Engineer') {\r\n var UserIdentity = 'FL';\r\n } else if (sections.userType == 'Fixed Team' && sections.role == 'Vendor Manager') {\r\n var UserIdentity = 'V';\r\n } else if (sections.userType == 'Freelancer' && sections.role == 'Vendor Manager') {\r\n var UserIdentity = 'FV';\r\n $(document).ready(function () {\r\n $(\".FEHIDE\").show();\r\n });\r\n }\r\n var ratings = sections.UserRating ? sections.UserRating : 0;\r\n // if (sections.userType == 'Fixed Team' && sections.role == 'Vendor Manager') {\r\n // return \"
\";\r\n // }\r\n // else {\r\n if (sections.BIDCounterRate != null) {\r\n return \"
\\\r\n
image
\\\r\n
\\\r\n
\"+ sections.name + \"\" + UserIdentity + \"\" + UserIdentity + \"
\\\r\n
\\\r\n
\\\r\n \\\r\n \\\r\n \\\r\n \\\r\n \"+ round2Decimal(sections.UserDistance) + \" km \\\r\n \"+ sections.UserDuration + \" Min\\\r\n \"+ ratings + \" \\\r\n
\\\r\n
\";\r\n } else {\r\n return \"
\\\r\n
image
\\\r\n
\\\r\n
\"+ sections.name + \"\" + UserIdentity + \"
\\\r\n
\\\r\n
\" + sections.city + \" (\" + sections.state + \")\" +\"
\\\r\n
\\\r\n \\\r\n \\\r\n \\\r\n \\\r\n \"+ round2Decimal(sections.UserDistance) + \" km \\\r\n \"+ sections.UserDuration + \" Min\\\r\n \"+ ratings + \" \\\r\n
\\\r\n
\";\r\n }\r\n // }\r\n };\r\n\r\n function getPic(profilePic) {\r\n return profilePic ? ImageUrl + '/' + profilePic : DefaultImage;\r\n }\r\n\r\n function round2Decimal(no) {\r\n return Math.round(no * 100) / 100;\r\n }\r\n\r\n scheduler.attachEvent(\"onBeforeViewChange\", function (old_mode, old_date, mode, date) {\r\n //any custom logic here\r\n vm.mode = mode;\r\n return true;\r\n });\r\n\r\n //timeline event bar text is used for timeline mode\r\n scheduler.templates.event_bar_text = function (start, end, event) {\r\n var t = event.id;\r\n t = t.toString();\r\n var res = t.charAt(0);\r\n if (res == \"1\") {\r\n var Id = event.LinkId ? event.LinkId : event.TicketId;\r\n }\r\n // else if(res==\"L\"){\r\n // return \"
\"+event.JobType + \"
\";\r\n // }\r\n else {\r\n var Id = event.LinkId ? event.LinkId : event.id;\r\n }\r\n return \"
\" + Id.substring(8, 14) + \" | \" + event.JobType + \"
\";\r\n\r\n };\r\n\r\n // it is used when we dislay in month mode\r\n scheduler.templates.event_bar_date = function (start, end, event) {\r\n var t = event.id;\r\n t = t.toString();\r\n var res = t.charAt(0);\r\n if (res == \"1\") {\r\n var Id = event.LinkId ? event.LinkId : event.TicketId;\r\n } else {\r\n var Id = event.LinkId ? event.LinkId : event.id;\r\n }\r\n return \"\" + Id + \" \";\r\n };\r\n\r\n // it is used for the week basis \r\n scheduler.templates.event_header = function (start, end, event) {\r\n var t = event.id;\r\n t = t.toString();\r\n var res = t.charAt(0);\r\n if (res == \"1\") {\r\n var Id = event.LinkId ? event.LinkId : event.TicketId;\r\n } else {\r\n var Id = event.LinkId ? event.LinkId : event.id;\r\n }\r\n return \"
\" + Id + \"
\";\r\n };\r\n\r\n //this is used for the status \r\n scheduler.templates.event_class = function (start, end, event) {\r\n if (vm.mode == 'timeline') {\r\n scheduler.config.readonly = false;\r\n if (event.status == \"Assigned\") {\r\n return \"Assigned\";\r\n }\r\n else if (event.status == \"New\") {\r\n return \"New\";\r\n }\r\n else if (event.status == \"InTransite\") {\r\n return \"InTransite\";\r\n }\r\n else if (event.status == \"OnSite\") {\r\n return \"OnSite\";\r\n }\r\n else if (event.status == \"Broadcasted\") {\r\n return \"Broadcasted\";\r\n }\r\n else if (event.status == \"Completed\") {\r\n return \"Completed\";\r\n }\r\n else if (event.status == \"Lunch\") {\r\n return \"Lunch\";\r\n }\r\n else if (event.status == \"Approved\") {\r\n return \"Approved\";\r\n }\r\n else if (event.status == \"ReadyToAssign\") {\r\n return \"ReadyToAssign\";\r\n }\r\n return \"dhx_rent_payed\";\r\n }\r\n else if (vm.mode == 'week' || vm.mode == 'month' || vm.mode == 'day') {\r\n scheduler.config.readonly = true;\r\n if (event.status == \"Assigned\") {\r\n return \"Assigned1\";\r\n }\r\n else if (event.status == \"New\") {\r\n return \"New1\";\r\n }\r\n else if (event.status == \"Broadcasted\") {\r\n return \"Broadcasted1\";\r\n }\r\n else if (event.status == \"Completed\") {\r\n return \"Completed1\";\r\n }\r\n else if (event.status == \"InTransite\") {\r\n return \"InTransite1\";\r\n }\r\n else if (event.status == \"OnSite\") {\r\n return \"OnSite1\";\r\n }\r\n else if (event.status == \"Lunch\") {\r\n return \"Lunch1\";\r\n }\r\n else if (event.status == \"Approved\") {\r\n return \"Approved1\";\r\n }\r\n else if (event.status == \"ReadyToAssign\") {\r\n return \"ReadyToAssign1\";\r\n }\r\n return \"dhx_rent_payed1\";\r\n }\r\n };\r\n\r\n scheduler.init('scheduler_here', new Date(), \"timeline\");\r\n if (sections.tickets.length != 0) {\r\n var sectionlist = $filter('filter')(sections.tickets, function (value) {\r\n return value.status == 'Completed' || value.status == 'Assigned' || value.status == 'OnSite' || value.status == 'Approved' || value.status == 'Lunch'\r\n || value.status == 'InTransite';\r\n })\r\n sections.tickets = sectionlist;\r\n scheduler.parse(sections.tickets, \"json\");\r\n }\r\n }\r\n\r\n //init();\r\n /*vm.GetAllStates = function () {\r\n VendorCreationService.getAllState(loggedinUser).then(function (resp) {\r\n if (resp.data) {\r\n if (!angular.equals(vm.stateList, resp.data.values)) {\r\n vm.stateList = resp.data.values;\r\n }\r\n }\r\n })\r\n }\r\n vm.GetAllStates();*/\r\n\r\n\r\n vm.getCountry = function () {\r\n ScheduleAssignService.getCountry(loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200 && resp.data && resp.data.values.length > 0) {\r\n vm.Country = resp.data.values;\r\n vm.getStates(vm.Country[0]);\r\n $log.log('city', vm.RegionList)\r\n }\r\n })\r\n }\r\n\r\n vm.getStates = function (country) {\r\n ScheduleAssignService.getStates(loggedinUser, token, country).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.values.length > 0) {\r\n vm.stateList = resp.data.values;\r\n $log.log('states', vm.stateList);\r\n }\r\n }\r\n })\r\n }\r\n\r\n vm.getCountry();\r\n\r\n\r\n\r\n vm.AutoAssignSelectedTickets = function () {\r\n var ticketId = '';\r\n angular.forEach(vm.AllTicketList, function (t) {\r\n if (t.isChecked) {\r\n ticketId += t.TicketId + \",\";\r\n }\r\n })\r\n ticketId = ticketId.length > 0 ? ticketId.substring(0, ticketId.length - 1) : ticketId;\r\n if (ticketId != \"\") {\r\n ScheduleAssignService.AutoAssignTickets(loggedinUser, ticketId, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n\r\n vm.SuggestedUserList = [];\r\n vm.SuggestedUserList = resp.data;\r\n vm.showSuccess(\"Success\", \"Job Assigned Successfully\");\r\n vm.otherfilter = \"New\";\r\n vm.getAllTicketList();\r\n vm.otherfilter = '';\r\n\r\n init();\r\n\r\n } else {\r\n vm.toaster_fail.title = \"Not Found\";\r\n vm.toaster_fail.body = \"No users found\";\r\n toaster.pop(vm.toaster_fail);\r\n\r\n }\r\n })\r\n } else {\r\n vm.showFailure(\"Failed\", \"Please select the job first\");\r\n return;\r\n }\r\n $state.reload();\r\n }\r\n\r\n vm.OpenAutoAssignModal = function () {\r\n autoAssignModalInstance = $uibModal.open({\r\n templateUrl: 'auto_assign_model.html',\r\n scope: $scope\r\n });\r\n }\r\n vm.CloseModal = function () {\r\n autoAssignModalInstance.close();\r\n }\r\n\r\n vm.AutoAssign = function () {\r\n var selectedDate = moment(vm.Selecteddate).format('YYYY-MM-DD');\r\n var itemNames = 'State';\r\n var itemValues = vm.TerritoryState;\r\n ScheduleAssignService.AutoAssignTicketsForToday(loggedinUser, selectedDate, vm.TransMode, itemNames, itemValues, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.SuggestedUserList = [];\r\n vm.SuggestedUserList = resp.data;\r\n autoAssignModalInstance.close();\r\n vm.showSuccess(\"Success\", \"Job Assigned Successfully\");\r\n vm.otherfilter = \"New\";\r\n vm.getAllTicketList();\r\n vm.otherfilter = '';\r\n init();\r\n\r\n } else {\r\n vm.toaster_fail.title = \"Not Found\";\r\n vm.toaster_fail.body = \"No users found\";\r\n toaster.pop(vm.toaster_fail);\r\n\r\n }\r\n })\r\n $state.reload();\r\n }\r\n\r\n // This property will be bound to checkbox in table header\r\n vm.AllTicketList.allTicketSelected = false;\r\n\r\n\r\n\r\n // This executes when entity in table is checked\r\n $scope.selectSingleTicket = function () {\r\n // If any entity is not checked, then uncheck the \"allItemsSelected\" checkbox\r\n for (var i = 0; i < vm.AllTicketLists.length; i++) {\r\n if (!vm.AllTicketLists[i].isChecked) {\r\n vm.AllTicketLists.allTicketSelected = false;\r\n return;\r\n }\r\n }\r\n\r\n //If not the check the \"allItemsSelected\" checkbox\r\n $scope.model.allItemsSelected = true;\r\n };\r\n\r\n // This executes when checkbox in table header is checked\r\n $scope.selectAllTicket = function () {\r\n // Loop through all the entities and set their isChecked property\r\n for (var i = 0; i < vm.AllTicketLists.length; i++) {\r\n vm.AllTicketLists[i].isChecked = vm.AllTicketLists.allTicketSelected;\r\n }\r\n };\r\n $(function () {\r\n $('#colorselector').change(function () {\r\n $('.colors').hide();\r\n $('#' + $(this).val()).show();\r\n });\r\n });\r\n\r\n // vm.getAllTools = function(){\r\n // NewTalentPoolService.GetAllToolSets(loggedinUser,token,function(data){\r\n // vm.Asset_ToolList = data;\r\n // },vm.showFailure);\r\n // }\r\n // vm.getAllTools();\r\n\r\n vm.getAllSchedulingRules = function () {\r\n SchedulingRuleService.GetAllSecheculingRules(loggedinUser, token).then(function (res) {\r\n vm.ruleList = res.data;\r\n vm.toolScRuleList = [];\r\n vm.assetScRuleList = [];\r\n vm.certificateScRuleList = [];\r\n vm.roleScRuleList = [];\r\n for (var i = 0; i < vm.ruleList.length; i++) {\r\n if (vm.ruleList[i].RuleType == 'Certificate') {\r\n vm.certificateScRuleList.push(vm.ruleList[i]);\r\n } else if (vm.ruleList[i].RuleType == 'Asset') {\r\n vm.assetScRuleList.push(vm.ruleList[i]);\r\n } else if (vm.ruleList[i].RuleType == 'Tool') {\r\n vm.toolScRuleList.push(vm.ruleList[i]);\r\n } else if (vm.ruleList[i].RuleType == 'Role') {\r\n vm.roleScRuleList.push(vm.ruleList[i]);\r\n }\r\n }\r\n if (vm.roleScRuleList) {\r\n vm.GenerateRoleTable();\r\n }\r\n if (vm.certificateScRuleList) {\r\n vm.GenerateCertificateTable();\r\n }\r\n if (vm.assetScRuleList) {\r\n vm.GenerateAssetsTable();\r\n }\r\n if (vm.toolScRuleList) {\r\n vm.GenerateToolTable();\r\n }\r\n })\r\n\r\n }\r\n\r\n vm.GenerateCertificateTable = function () {\r\n\r\n vm.headerCompiled_Certi = false;\r\n vm.selected_Certi = {};\r\n vm.selectAll_Certi = false;\r\n vm.toggleAll_Certi = toggleAll_Certi;\r\n vm.toggleOne_Certi = toggleOne_Certi;\r\n // var titleHtml_Certi = '
';\r\n\r\n vm.dtOptions_Certi = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n defer.resolve(vm.certificateScRuleList);\r\n return defer.promise;\r\n })\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withBootstrap()\r\n .withOption('createdRow', function (row, data, dataIndex) {\r\n $compile(angular.element(row).contents())($scope);\r\n })\r\n .withOption('headerCallback', function (header) {\r\n if (!vm.headerCompiled_Certi) {\r\n // Use this headerCompiled field to only compile header once\r\n vm.headerCompiled_Certi = true;\r\n $compile(angular.element(header).contents())($scope);\r\n }\r\n });\r\n\r\n\r\n vm.dtColumns_Certi = [\r\n DTColumnBuilder.newColumn(null).withTitle(null).renderWith(function (data, type, full, meta) {\r\n vm.selected_Certi[meta.row] = data.IsEnable;\r\n return '
';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn('RuleId').withTitle('Rule Id').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n }),\r\n DTColumnBuilder.newColumn('Description').withTitle('Certificate Description').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n })\r\n\r\n\r\n ];\r\n\r\n function toggleAll_Certi(selectAll, selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n selectedItems[id] = selectAll;\r\n }\r\n }\r\n }\r\n function toggleOne_Certi(selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n vm.certificateScRuleList[id].IsEnable = selectedItems[id];\r\n // if (!selectedItems[id]) {\r\n // \tvm.selectAll_Certi = false;\r\n // \treturn;\r\n // }\r\n }\r\n }\r\n vm.selectAll_Certi = true;\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n vm.GenerateAssetsTable = function () {\r\n\r\n vm.headerCompiled_Asset = false;\r\n vm.selected_Asset = {};\r\n vm.selectAll_Asset = false;\r\n vm.toggleAll_Asset = toggleAll_Asset;\r\n vm.toggleOne_Asset = toggleOne_Asset;\r\n // var titleHtml_Asset = '
';\r\n\r\n vm.dtOptions_Asset = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n defer.resolve(vm.assetScRuleList);\r\n return defer.promise;\r\n })\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withBootstrap()\r\n .withOption('createdRow', function (row, data, dataIndex) {\r\n $compile(angular.element(row).contents())($scope);\r\n })\r\n .withOption('headerCallback', function (header) {\r\n if (!vm.headerCompiled_Asset) {\r\n // Use this headerCompiled field to only compile header once\r\n vm.headerCompiled_Asset = true;\r\n $compile(angular.element(header).contents())($scope);\r\n }\r\n });\r\n\r\n\r\n vm.dtColumns_Asset = [\r\n DTColumnBuilder.newColumn(null).withTitle(null).renderWith(function (data, type, full, meta) {\r\n vm.selected_Asset[meta.row] = data.IsEnable;\r\n return '
';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn('RuleId').withTitle('Rule Id').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n }),\r\n DTColumnBuilder.newColumn('Description').withTitle('Assets Description').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n })\r\n\r\n\r\n ];\r\n\r\n function toggleAll_Asset(selectAll, selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n selectedItems[id] = selectAll;\r\n }\r\n }\r\n }\r\n function toggleOne_Asset(selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n vm.assetScRuleList[id].IsEnable = selectedItems[id];\r\n // if (!selectedItems[id]) {\r\n // \tvm.selectAll_Asset = false;\r\n // \treturn;\r\n // }\r\n }\r\n }\r\n vm.selectAll_Asset = true;\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n vm.GenerateToolTable = function () {\r\n\r\n vm.headerCompiled_Tool = false;\r\n vm.selected_Tool = {};\r\n vm.selectAll_Tool = false;\r\n vm.toggleAll_Tool = toggleAll_Tool;\r\n vm.toggleOne_Tool = toggleOne_Tool;\r\n // var titleHtml_Tool = '
';\r\n\r\n vm.dtOptions_Tool = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n defer.resolve(vm.toolScRuleList);\r\n return defer.promise;\r\n })\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withBootstrap()\r\n .withOption('createdRow', function (row, data, dataIndex) {\r\n $compile(angular.element(row).contents())($scope);\r\n })\r\n .withOption('headerCallbacks', function (header) {\r\n if (!vm.headerCompiled_Tool) {\r\n // Use this headerCompiled field to only compile header once\r\n vm.headerCompiled_Tool = true;\r\n $compile(angular.element(header).contents())($scope);\r\n }\r\n });\r\n\r\n\r\n vm.dtColumns_Tool = [\r\n DTColumnBuilder.newColumn(null).withTitle(null).renderWith(function (data, type, full, meta) {\r\n vm.selected_Tool[meta.row] = data.IsEnable;\r\n return '
';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn('RuleId').withTitle('Rule Id').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n }),\r\n DTColumnBuilder.newColumn('Description').withTitle('Tools Description').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n })\r\n\r\n\r\n ];\r\n\r\n function toggleAll_Tool(selectAll, selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n selectedItems[id] = selectAll;\r\n }\r\n }\r\n }\r\n function toggleOne_Tool(selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n vm.toolScRuleList[id].IsEnable = selectedItems[id];\r\n // if (!selectedItems[id]) {\r\n // \tvm.selectAll_Tool = false;\r\n // \treturn;\r\n // }\r\n }\r\n }\r\n vm.selectAll_Tool = true;\r\n }\r\n\r\n }\r\n vm.getAllSchedulingRules();\r\n\r\n vm.GenerateRoleTable = function () {\r\n\r\n vm.headerCompiled = false;\r\n vm.selected = {};\r\n vm.selectAll = false;\r\n vm.toggleAll = toggleAll;\r\n vm.toggleOne = toggleOne;\r\n // var titleHtml = '
';\r\n\r\n vm.dtOptions = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n defer.resolve(vm.roleScRuleList);\r\n return defer.promise;\r\n })\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withBootstrap()\r\n .withOption('createdRow', function (row, data, dataIndex) {\r\n $compile(angular.element(row).contents())($scope);\r\n })\r\n .withOption('headerCallback', function (header) {\r\n if (!vm.headerCompiled) {\r\n // Use this headerCompiled field to only compile header once\r\n vm.headerCompiled = true;\r\n $compile(angular.element(header).contents())($scope);\r\n }\r\n });\r\n\r\n\r\n vm.dtColumns = [\r\n DTColumnBuilder.newColumn(null).withTitle(null).renderWith(function (data, type, full, meta) {\r\n vm.selected[meta.row] = data.IsEnable;\r\n return '
';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn('RuleId').withTitle('Rule Id').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n }),\r\n DTColumnBuilder.newColumn('Description').withTitle('Role Description').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n })\r\n\r\n\r\n ];\r\n\r\n function toggleAll(selectAll, selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n selectedItems[id] = selectAll;\r\n }\r\n }\r\n }\r\n function toggleOne(selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n vm.roleScRuleList[id].IsEnable = selectedItems[id];\r\n // if (!selectedItems[id]) {\r\n // \tvm.selectAll = false;\r\n // \treturn;\r\n // }\r\n }\r\n\r\n }\r\n vm.selectAll = true;\r\n }\r\n\r\n }\r\n\r\n vm.AssignationRulePriorityList = [0, 1, 2, 3, 4, 5, 6];\r\n vm.AssignationRules = function () {\r\n AssignationRuleService.getAssignationRule(loggedinUser, token).then(function (resp) {\r\n vm.AssignationRuleList = [];\r\n\r\n vm.AssignationRuleList = resp.data;\r\n for (var i = 0; i < vm.AssignationRuleList.length; i++) {\r\n var rule = vm.AssignationRuleList[i];\r\n if (rule.IsEnable && i == 0) {\r\n\r\n vm.AssignName = rule.OrderByName;\r\n vm.AssignPriorityIndex = rule.PriorityIndex\r\n\r\n }\r\n else if (rule.IsEnable && i == 1) {\r\n vm.AssignName1 = rule.OrderByName;\r\n vm.AssignPriorityIndex1 = rule.PriorityIndex\r\n\r\n }\r\n else if (rule.IsEnable && i == 2) {\r\n vm.AssignName2 = rule.OrderByName;\r\n vm.AssignPriorityIndex2 = rule.PriorityIndex\r\n\r\n }\r\n else if (rule.IsEnable && i == 3) {\r\n vm.AssignName3 = rule.OrderByName;\r\n vm.AssignPriorityIndex3 = rule.PriorityIndex\r\n\r\n }\r\n else if (rule.IsEnable && i == 4) {\r\n vm.AssignName4 = rule.OrderByName;\r\n vm.AssignPriorityIndex4 = rule.PriorityIndex\r\n\r\n }\r\n else if (rule.IsEnable && i == 5) {\r\n vm.AssignName5 = rule.OrderByName;\r\n vm.AssignPriorityIndex5 = rule.PriorityIndex\r\n\r\n }\r\n }\r\n\r\n })\r\n };\r\n vm.AssignationRules();\r\n\r\n\r\n})\r\n\nvar app =angular.module('inspinia').controller('AutoAssignedController',function(ScheduleAssignService,UIURL,FreelancerFixedService,\r\n $log, $state, $localStorage, $stateParams, $uibModal, $scope, DTOptionsBuilder, DTColumnDefBuilder, toaster, $timeout, $compile,\r\n uiCalendarConfig, ImageUrl,$filter){\r\n\r\n\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var loggedinUserSkill = $localStorage.loggedInUser_SkillSet;\r\n var loggedinUserRegion = $localStorage.loggedInUser_Region;\r\n if (!loggedinUser) {\r\n\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n }else{\r\n var token = $localStorage.token;\r\n //Global Variable Declaration\r\n vm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n vm.loggedInUserVendorId = $localStorage.loggedInUser_VendorId;\r\n vm.loggedInUserReportingTo = $localStorage.loggedInUser_ReportingTo;\r\n vm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n vm.TimeoutFunc = $scope.$parent.$parent.main.TimeoutFunc;\r\n vm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n vm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n vm.loggedinAs = $localStorage.loggedinAs; \r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.MobiforceCommission = vm.getAccountConfigSetting('MobiforceCommissionPercentage');\r\n vm.VendorAssignation = vm.getAccountConfigSetting('VendorAssignation');\r\n vm.EnableRegion = vm.getAccountConfigSetting('EnableRegion');\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n vm.AllTicketList = '';\r\n vm.filterCriteria1 = [\"Price\",\"Distance\",\"Ratings\"];\r\n vm.filterCriteria2 = [\"Price\",\"Distance\",\"Ratings\"];\r\n vm.filterCriteria3 = [\"Price\",\"Distance\",\"Ratings\"];\r\n vm.selectedFilter1 = 'Distance';\r\n vm.selectedFilter2= 'Ratings';\r\n vm.selectedFilter3= 'Price';\r\n vm.disablefilters = true;\r\n vm.range = '50';\r\n vm.isCurrentLocation = true;\r\n vm.selectedRow = null; // initialize our variable to null\r\n vm.selectedFreelancers = [];\r\n vm.SuggestedUserList = [];\r\n vm.AssignTicektData = [];\r\n vm.AllAssignUserDetails=[];\r\n $scope.AssignSelectedUser={};\r\n $scope.AssignSelectedUser.allItemsSelected = false;\r\n vm.AllAssignUserList =[];\r\n vm.BroadcastedUserList =[];\r\n vm.ReadyToAssignList =[];\r\n $scope.BroadcastedUser ={};\r\n $scope.BroadcastedUser.allItemsSelected = false;\r\n vm.TransMode = 'driving';\r\n \r\n vm.Mode = 'List';\r\n vm.TicketStatus = 'New';\r\n vm.cities = [];\r\n vm.markers = [];\r\n var NewJobIcon = UIURL+'/assets/images/patterns/NewJobIcon.png';\r\n var BroadcastedJobIcon = UIURL+'/assets/images/patterns/BroadcastedJobIcon.png';\r\n var AssignedJobIcon = UIURL+'/assets/images/patterns/AssignedJobIcon.png';\r\n var CompletedJobIcon = UIURL+'/assets/images/patterns/completed.png';\r\n var flIcon = UIURL+'/assets/images/patterns/delivery-man1.png';\r\n var ftIcon = UIURL+'/assets/images/patterns/delivery-man1.png';\r\n var fvIcon = UIURL+'/assets/images/patterns/delivery-man1.png';\r\n var vIcon = UIURL+'/assets/images/patterns/delivery-man1.png';\r\n var DefaultImage = UIURL+'/assets/images/patterns/Photo1.png';\r\n vm.InfoWindow;\r\n vm.selectedTicket = '';\r\n vm.BroadcastedJobList = '';\r\n var listdata=[];\r\n //vm.filterUserData = 'All';\r\n \r\n\r\n $scope.editingData = {};\r\n $scope.modify = function(list){ \r\n $scope.editingData[list.UserId] = true;\r\n };\r\n\r\n\r\n $scope.update = function(list){\r\n if(list.Price==0){\r\n vm.showFailure(\"Failed\",\"Bid price can't be zero.\");\r\n }else{\r\n $scope.editingData[list.UserId] = false;\r\n }\r\n \r\n };\r\n\r\n //loggedinUser,itemNames,itemValues, token\r\n vm.GetTicketsForAssignation = function(){\r\n if (vm.VerticalName!='IMS' || vm.VerticalName!='Spectro Labs') {\r\n var itemNames = '';\r\n var itemValues = '';\r\n if(loggedinUserSkill==\"VSAT\"){\r\n itemNames+=\"Template\";\r\n itemValues+=\"VSAT CCR\";\r\n } else if(loggedinUserSkill==\"LeaseLine\"){\r\n itemNames+=\"Template\";\r\n itemValues+=\"LeaseLine CCR\";\r\n }\r\n ScheduleAssignService.GetTicketsByFilter(loggedinUser,itemNames,itemValues,token).then(function(resp){\r\n if (resp && resp.status == 200 && resp.data) {\r\n var ticketData = [];\r\n vm.AllTicketList = resp.data;\r\n ticketData = vm.AllTicketList;\r\n // vm.selectedTicket = ticketData[0];\r\n vm.disablefilters = false;\r\n // vm.GetSchedulingResults();\r\n // GetSchedulingEventforToday(loggedinUser);\r\n //scheduler.clearAll();\r\n }\r\n })\r\n }\r\n }\r\n \r\n vm.round2Decimal = function (no) {\r\n return Math.round(no * 100) / 100; \r\n }\r\n\r\n\r\n vm.model = {};\r\n vm.model.allItemsSelected = false;\r\n vm.model = [{ \"key\": 1, \"Role\": \"Field Engineer\", \"userType\": \"Fixed Team\", \"Value\":\"Field Engineer\"},\r\n /* { \"key\": 2, \"Role\": \"Field Engineer\", \"userType\":\"Freelancer\", \"Value\":\"Freelancer\"},*/\r\n { \"key\": 3, \"Role\": \"Vendor Manager\", \"userType\": \"Fixed Team\", \"Value\":\"Vendor\"},\r\n /* { \"key\": 4, \"Role\": \"Vendor Manager\", \"userType\":\"Freelancer\", \"Value\":\"Freelancer Vendor\"}*/\r\n ];\r\n \r\n vm.selectEntityFilter = function () {\r\n var newList = [];\r\n var usersList = angular.copy(vm.SuggestedUserList.users);\r\n vm.TestCase = false;\r\n for (var i = 0; i < vm.model.length; i++) {\r\n if (!vm.model[i].isChecked) {\r\n vm.TestCase = true;\r\n vm.model.allItemsSelected = false;\r\n var Role =vm.model[i].Role;\r\n var userType =vm.model[i].userType;\r\n var allIndex = [];\r\n /*usersList.some(function(obj, x) {\r\n if(obj.role == Role && obj.userType == userType){\r\n delete usersList[x];\r\n } else {\r\n false;\r\n }\r\n });*/\r\n newList =[];\r\n /*angular.forEach(usersList, function(d){\r\n if(d){\r\n newList.push(d);\r\n }\r\n })*/\r\n }\r\n }\r\n if(newList=='' && vm.TestCase == false){\r\n newList= vm.SuggestedUserList.users;\r\n // scheduler.updateCollection(\"sections\", newList);\r\n vm.model.allItemsSelected = true;\r\n }else{\r\n // scheduler.updateCollection(\"sections\", newList);\r\n }\r\n };\r\n\r\n vm.selectAllFilter = function () {\r\n for (var i = 0; i < vm.model.length; i++) {\r\n vm.model[i].isChecked = vm.model.allItemsSelected;\r\n }\r\n /*if(vm.model.allItemsSelected==true){\r\n scheduler.updateCollection(\"sections\", vm.SuggestedUserList.users);\r\n }else{\r\n var freelist =[];\r\n scheduler.updateCollection(\"sections\",freelist);\r\n }*/\r\n };\r\n vm.model.allItemsSelected = true;\r\n vm.selectAllFilter();\r\n\r\n\r\n vm.FilterData = function(item,level){\r\n if (level == 1) {\r\n vm.filterCriteria2 = [];\r\n angular.forEach(vm.filterCriteria1,function(d){\r\n if (d!=item) {\r\n vm.filterCriteria2.push(d);\r\n }\r\n })\r\n }else if(level == 2){\r\n vm.filterCriteria3 = [];\r\n angular.forEach(vm.filterCriteria1,function(d){\r\n if (d!=item) {\r\n if (d!=vm.selectedFilter1) {\r\n vm.filterCriteria3.push(d);\r\n } \r\n }\r\n })\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n \r\n \r\n // This property will be bound to checkbox in table header\r\n vm.AllTicketList.allTicketSelected = false;\r\n \r\n \r\n \r\n // This executes when entity in table is checked\r\n $scope.selectSingleTicket = function () {\r\n // If any entity is not checked, then uncheck the \"allItemsSelected\" checkbox\r\n for (var i = 0; i < vm.AllTicketList.length; i++) {\r\n if (!vm.AllTicketList[i].isChecked) {\r\n vm.AllTicketList.allTicketSelected = false;\r\n return;\r\n }\r\n }\r\n \r\n //If not the check the \"allItemsSelected\" checkbox\r\n $scope.model.allItemsSelected = true;\r\n };\r\n \r\n // This executes when checkbox in table header is checked\r\n $scope.selectAllTicket = function () {\r\n // Loop through all the entities and set their isChecked property\r\n for (var i = 0; i < vm.AllTicketList.length; i++) {\r\n vm.AllTicketList[i].isChecked = vm.AllTicketList.allTicketSelected;\r\n }\r\n };\r\n \r\n vm.AutoAssign = function(){\r\n \r\n\r\n var ticketId = '';\r\n\r\n angular.forEach(vm.AllTicketList, function (t) {\r\n if (t.isChecked) {\r\n ticketId += t.TicketId + \",\";\r\n }\r\n })\r\n ticketId = ticketId.length > 0 ? ticketId.substring(0, ticketId.length - 1) : ticketId;\r\n if(ticketId!=\"\"){\r\n ScheduleAssignService.AutoAssignTickets(loggedinUser,ticketId,token).then(function(resp){\r\n if (resp && resp.status==200 ) {\r\n \r\n vm.SuggestedUserList = []; \r\n vm.SuggestedUserList = resp.data;\r\n vm.showSuccess(\"Success\",\"Job Assigned Successfully\");\r\n vm.GetTicketsForAssignation();\r\n init();\r\n \r\n }else{\r\n vm.toaster_fail.title=\"Not Found\";\r\n vm.toaster_fail.body=\"No users found\";\r\n toaster.pop(vm.toaster_fail);\r\n \r\n }\r\n })\r\n }else{\r\n vm.showFailure(\"Failed\",\"Please select the job first\");\r\n }\r\n \r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n vm.GetJobsByFilter = function(item,value){\r\n if (item == 'Priority') {\r\n var itemNames = 'Priority';\r\n var itemValues = value;\r\n ScheduleAssignService.GetTicketsByFilter(loggedinUser,itemNames,itemValues).then(function(resp){\r\n if (resp && resp.status == 200 && resp.data) {\r\n vm.AllTicketList = resp.data;\r\n }\r\n })\r\n }\r\n }\r\n \r\n vm.getBroadcastedTickets = function(){\r\n // var loggedinUser1 = 'U350000000001'\r\n var itemNames = 'Ticket Status';\r\n var itemValues = 'Broadcasted';\r\n if(vm.VerticalName=='IMS'){\r\n if(loggedinUserSkill==\"VSAT\"){\r\n itemNames+=\",Template\";\r\n itemValues+=\",VSAT CCR\";\r\n } else if(loggedinUserSkill==\"LeaseLine\"){\r\n itemName+=\",Template\";\r\n itemValues+=\",LeaseLine CCR\";\r\n }\r\n }\r\n ScheduleAssignService.GetTicketsByStatus(loggedinUser,itemNames, itemValues,token).then(function(resp){\r\n if (resp && resp.status == 200 && resp.data) {\r\n var ticketData = [];\r\n vm.BroadcastedJobList = resp.data;\r\n // ticketData = vm.BroadcastedJobList;\r\n // vm.selectedTicket = ticketData[0];\r\n vm.disablefilters = false;\r\n // vm.GetSchedulingResults();\r\n GetSchedulingEventforToday(loggedinUser);\r\n scheduler.clearAll();\r\n }\r\n })\r\n }\r\n \r\n vm.getReadyToAssign= function(){\r\n\r\n // var loggedinUser1 = 'U350000000001'\r\n var itemNames = 'Ticket Status';\r\n var itemValues = 'ReadyToAssign';\r\n if(vm.VerticalName=='IMS'){\r\n if(loggedinUserSkill==\"VSAT\"){\r\n itemNames+=\",Template\";\r\n itemValues+=\",VSAT CCR\";\r\n } else if(loggedinUserSkill==\"LeaseLine\"){\r\n itemName+=\",Template\";\r\n itemValues+=\",LeaseLine CCR\";\r\n }\r\n }\r\n ScheduleAssignService.GetTicketsByStatus(loggedinUser,itemNames, itemValues,token).then(function(resp){\r\n if (resp && resp.status == 200 && resp.data) {\r\n var ticketData = [];\r\n vm.ReadyToAssignList = resp.data;\r\n // ticketData = vm.BroadcastedJobList;\r\n // vm.selectedTicket = ticketData[0];\r\n vm.disablefilters = false;\r\n // vm.GetSchedulingResults();\r\n GetSchedulingEventforToday(loggedinUser);\r\n scheduler.clearAll();\r\n }\r\n })\r\n }\r\n \r\n \r\n\r\n\r\n vm.setClickedRowNew = function(index,data){ \r\n //function that sets the value of selectedRow to current index\r\n vm.selectedRow = index;\r\n\r\n vm.selectedTicket = data;\r\n vm.disablefilters = false;\r\n if (vm.range!= '') {\r\n vm.GetSchedulingResults();\r\n }\r\n }\r\n\r\n vm.setClickedRowBroad = function(index,data){ //function that sets the value of selectedRow to current index\r\n vm.selectedRow = index;\r\n vm.selectedTicket = data;\r\n vm.disablefilters = false;\r\n if (vm.range!= '') {\r\n vm.GetSchedulingResults();\r\n }\r\n }\r\n\r\n vm.setSelectedFreelancers = function(index,data){\r\n if( vm.selectedFreelancers.indexOf(data) > -1 ){\r\n vm.selectedFreelancers.splice(vm.selectedFreelancers.indexOf(data), 1);\r\n }\r\n else{\r\n vm.selectedFreelancers.push(data);\r\n }\r\n }\r\n\r\n vm.isSelected = function(data){\r\n var bool = vm.selectedFreelancers.indexOf(data) >-1;\r\n return bool;\r\n }\r\n\r\n vm.getProfilePic = function (profilePicName) {\r\n return profilePicName ? ImageUrl + \"/\" + profilePicName : DefaultImage;\r\n }\r\n\r\n vm.filterUsers = function(role){\r\n if (role == 'Field Engineer') {\r\n vm.filterUserData = 'Field Engineer';\r\n }else if(role == 'Freelancer'){\r\n vm.filterUserData = 'Freelancer';\r\n }else if(role == 'Vendor Manager'){\r\n vm.filterUserData = 'Vendor Manager';\r\n } \r\n }\r\n\r\n vm.ChangeMode = function (mode) {\r\n if(mode == 'List'){\r\n vm.Mode = 'List';\r\n if(vm.selectedTicket == ''){\r\n GetSchedulingEventforToday(loggedinUser);\r\n } else {\r\n vm.GetSchedulingResults();\r\n }\r\n }\r\n }\r\n\r\n vm.GetSchedulingResults = function(){\r\n \r\n vm.cities = [];\r\n vm.markers = [];\r\n if (vm.TicketStatus == 'New') {\r\n if (vm.selectedTicket=='' || vm.selectedTicket==null) {\r\n // vm.showFailure(\"Please select a job\");\r\n }else{\r\n var obj = {};\r\n var roleList = [];\r\n angular.forEach(vm.model, function(d){\r\n if(d.isChecked){\r\n roleList.push({\"UserRole\":d.Role, \"UserType\":d.userType});\r\n }\r\n })\r\n obj.OrderByUsers = [];\r\n obj.JobId = vm.selectedTicket.TicketId;\r\n\r\n // obj.jobId = vm.selectedTicket.LinkId?vm.selectedTicket.LinkId:vm.selectedTicket.TicketId;\r\n obj.JobAccountId = '';\r\n obj.FromDate = new Date().toISOString().slice(0,10);\r\n obj.ToDate = new Date().toISOString().slice(0,10);\r\n obj.ActOnCurrentLocation = vm.isCurrentLocation;\r\n obj.RangeFromJob = parseInt(vm.range*1000);\r\n obj.FETravelChargePerKM = 10;\r\n obj.TransportMode = vm.TransMode;\r\n obj.UserConfigList = roleList;\r\n if (vm.selectedFilter1!=undefined && vm.selectedFilter1!='') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 1;\r\n if (vm.selectedFilter1.indexOf('Distance')>=0) {\r\n orderObj.OrderByField = 'UserDistance'; \r\n }else if (vm.selectedFilter1.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating'; \r\n }else if (vm.selectedFilter1.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate'; \r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter2!=undefined && vm.selectedFilter2!='') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 2;\r\n if (vm.selectedFilter2.indexOf('Distance')>=0) {\r\n orderObj.OrderByField = 'UserDistance'; \r\n }else if (vm.selectedFilter2.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating'; \r\n }else if (vm.selectedFilter2.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter3!=undefined && vm.selectedFilter3!='') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 3;\r\n if (vm.selectedFilter3.indexOf('Distance')>=0) {\r\n orderObj.OrderByField = 'UserDistance';\r\n }else if (vm.selectedFilter3.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating';\r\n }else if (vm.selectedFilter3.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n\r\n ScheduleAssignService.GetSchedulingEvaluationResult(obj,loggedinUser,token).then(function(resp){\r\n if (resp && resp.status==200 && resp.data && resp.data.users.length>0) {\r\n vm.SuggestedUserList = [];\r\n vm.BroadcastedList = [];\r\n vm.BroadcastedUserList =[];\r\n vm.SuggestedUserList = resp.data;\r\n vm.UserList = resp.data.users;\r\n angular.forEach(vm.UserList, function(d){\r\n if(d.userType == 'Freelancer'){\r\n vm.BroadcastedList.push(d);\r\n vm.BroadcastedUserList.push({\"UserId\":d.id,\"Role\":d.role,\"Name\":d.name,\"Distance\":d.UserDistance,\"SuggestedPrice\":d.BIDCounterRate,\"type\":d.userType,\"Price\": d.BIDCounterRate});\r\n \r\n }\r\n })\r\n $scope.BroadcastedUser =vm.BroadcastedUserList;\r\n \r\n vm.GetResult(resp.data.users,vm.selectedTicket.TicketId,vm.selectedTicket.LinkId,vm.selectedTicket.StartTime,vm.selectedTicket.EndTime,vm.selectedTicket.TicketStatus);\r\n \r\n \r\n init();\r\n vm.selectEntityFilter();\r\n // vm.MapIntegration()\r\n // vm.MapData();\r\n }else{\r\n vm.toaster_fail.title=\"Not Found\";\r\n vm.toaster_fail.body=\"No users found\";\r\n toaster.pop(vm.toaster_fail);\r\n GetSchedulingEventforToday(loggedinUser);\r\n }\r\n })\r\n }\r\n } else if (vm.TicketStatus == 'Broadcasted') {\r\n if (vm.selectedTicket=='' || vm.selectedTicket==null) {\r\n // vm.showFailure(\"Please select a job\");\r\n }else{\r\n var obj = {};\r\n var roleList = [];\r\n angular.forEach(vm.model, function(d){\r\n if(d.isChecked){\r\n roleList.push({\"UserRole\":d.Role, \"UserType\":d.userType});\r\n }\r\n })\r\n obj.OrderByUsers = [];\r\n obj.JobId = vm.selectedTicket.JobId;\r\n // obj.jobId = vm.selectedTicket.LinkId?vm.selectedTicket.LinkId:vm.selectedTicket.TicketId;\r\n obj.JobAccountId = '';\r\n obj.ActOnCurrentLocation = vm.isCurrentLocation;\r\n obj.FromDate = new Date().toISOString().slice(0,10);\r\n obj.ToDate = new Date().toISOString().slice(0,10);\r\n obj.RangeFromJob = parseInt(vm.range*1000);\r\n obj.FETravelChargePerKM = 10;\r\n obj.TransportMode = vm.TransMode;\r\n obj.UserConfigList = roleList;\r\n if (vm.selectedFilter1!=undefined && vm.selectedFilter1!='') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 1;\r\n if (vm.selectedFilter1.indexOf('Distance')>=0) {\r\n orderObj.OrderByField = 'UserDistance'; \r\n }else if (vm.selectedFilter1.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating'; \r\n }else if (vm.selectedFilter1.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate'; \r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter2!=undefined && vm.selectedFilter2!='') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 2;\r\n if (vm.selectedFilter2.indexOf('Distance')>=0) {\r\n orderObj.OrderByField = 'UserDistance'; \r\n }else if (vm.selectedFilter2.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating'; \r\n }else if (vm.selectedFilter2.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter3!=undefined && vm.selectedFilter3!='') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 3;\r\n if (vm.selectedFilter3.indexOf('Distance')>=0) {\r\n orderObj.OrderByField = 'UserDistance';\r\n }else if (vm.selectedFilter3.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating';\r\n }else if (vm.selectedFilter3.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n\r\n ScheduleAssignService.GetSchedulingEvaluationResult(obj,loggedinUser,token).then(function(resp){\r\n if (resp && resp.status==200 && resp.data && resp.data.users.length>0) {\r\n vm.SuggestedUserList = [];\r\n vm.SuggestedUserList =resp.data;\r\n vm.userList = resp.data;\r\n vm.GetResult(resp.data.users,vm.selectedTicket.JobId,vm.selectedTicket.LinkId,vm.selectedTicket.StartDateTime,vm.selectedTicket.EndDateTime,vm.selectedTicket.Status);\r\n \r\n init();\r\n vm.selectEntityFilter();\r\n // vm.MapIntegration()\r\n // vm.MapData();\r\n }else{\r\n vm.toaster_fail.title=\"Not Found\";\r\n vm.toaster_fail.body=\"No users found\";\r\n toaster.pop(vm.toaster_fail);\r\n GetSchedulingEventforToday(loggedinUser);\r\n }\r\n })\r\n }\r\n }\r\n if (vm.TicketStatus == 'ReadyToAssign') {\r\n if (vm.selectedTicket=='' || vm.selectedTicket==null) {\r\n // vm.showFailure(\"Please select a job\");\r\n }else{\r\n var obj = {};\r\n var roleList = [];\r\n angular.forEach(vm.model, function(d){\r\n if(d.isChecked){\r\n roleList.push({\"UserRole\":d.Role, \"UserType\":d.userType});\r\n }\r\n })\r\n obj.OrderByUsers = [];\r\n obj.JobId = vm.selectedTicket.JobId;\r\n obj.JobAccountId = '';\r\n obj.ActOnCurrentLocation = vm.isCurrentLocation;\r\n obj.FromDate = new Date().toISOString().slice(0,10);\r\n obj.ToDate = new Date().toISOString().slice(0,10);\r\n obj.RangeFromJob = parseInt(vm.range*1000);\r\n obj.FETravelChargePerKM = 10;\r\n obj.TransportMode = vm.TransMode;\r\n obj.UserConfigList = roleList; \r\n if (vm.selectedFilter1!=undefined && vm.selectedFilter1!='') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 1;\r\n if (vm.selectedFilter1.indexOf('Distance')>=0) {\r\n orderObj.OrderByField = 'UserDistance'; \r\n }else if (vm.selectedFilter1.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating'; \r\n }else if (vm.selectedFilter1.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate'; \r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter2!=undefined && vm.selectedFilter2!='') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 2;\r\n if (vm.selectedFilter2.indexOf('Distance')>=0) {\r\n orderObj.OrderByField = 'UserDistance'; \r\n }else if (vm.selectedFilter2.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating'; \r\n }else if (vm.selectedFilter2.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter3!=undefined && vm.selectedFilter3!='') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 3;\r\n if (vm.selectedFilter3.indexOf('Distance')>=0) {\r\n orderObj.OrderByField = 'UserDistance';\r\n }else if (vm.selectedFilter3.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating';\r\n }else if (vm.selectedFilter3.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n\r\n ScheduleAssignService.GetSchedulingEvaluationResult(obj,loggedinUser,token).then(function(resp){\r\n if (resp && resp.status==200 && resp.data && resp.data.users.length>0) {\r\n vm.SuggestedUserList = [];\r\n \r\n vm.SuggestedUserList =resp.data;\r\n vm.userList = resp.data;\r\n vm.GetResult(resp.data.users,vm.selectedTicket.JobId,vm.selectedTicket.LinkId,vm.selectedTicket.StartDateTime,vm.selectedTicket.EndDateTime,vm.selectedTicket.Status);\r\n \r\n init();\r\n vm.selectEntityFilter();\r\n // vm.MapIntegration()\r\n // vm.MapData();\r\n }else{\r\n vm.toaster_fail.title=\"Not Found\";\r\n vm.toaster_fail.body=\"No users found\";\r\n toaster.pop(vm.toaster_fail);\r\n GetSchedulingEventforToday(loggedinUser);\r\n\r\n }\r\n })\r\n }\r\n } \r\n }\r\n\r\n vm.GetResult = function(user,ticketid,linkId,start,end,status){\r\n // scheduler.clearAll();\r\n \r\n var ticket = vm.selectedTicket.TicketId?vm.selectedTicket.TicketId:vm.selectedTicket.JobId; \r\n \r\n var evs = scheduler.getEvents();\r\n if(vm.TicketStatus==\"ReadyToAssign\"){\r\n var bidRate = user[0].BIDCounterRate;\r\n var readyList = $filter('filter')(user,function(value){\r\n return value.BIDCounterRate!=0;\r\n })\r\n if(readyList.length!=0){\r\n var Id = readyList[0].id;\r\n var Role = readyList[0].role;\r\n var userType = readyList[0].userType;\r\n var Name = readyList[0].name;\r\n var Distance = readyList[0].UserDistance;\r\n var SuggestedPrice = readyList[0].BIDCounterRate;\r\n var Price = readyList[0].BIDCounterRate;\r\n }else{\r\n var Id = user[0].id\r\n var Role = user[0].role;\r\n var userType = user[0].userType;\r\n var Name = user[0].name;\r\n var Distance = user[0].UserDistance;\r\n var SuggestedPrice = user[0].BIDCounterRate;\r\n var Price = user[0].BIDCounterRate;\r\n }\r\n }else{\r\n var Id = user[0].id;\r\n var Role = user[0].role;\r\n var userType = user[0].userType;\r\n var Name = user[0].name;\r\n var Distance = user[0].UserDistance;\r\n var SuggestedPrice = user[0].BIDCounterRate;\r\n var Price = user[0].BIDCounterRate;\r\n }\r\n /* var Role = user[0].role;\r\n var userType = user[0].userType;\r\n var Name = user[0].name;\r\n var Distance = user[0].UserDistance;\r\n var SuggestedPrice = user[0].BIDCounterRate;\r\n var Price = user[0].BIDCounterRate;*/\r\n var start_date = moment(start).format(\"DD-MM-YYYY HH:mm\");\r\n var end_date= moment(end).format(\"DD-MM-YYYY HH:mm\");\r\n var today = new Date(); \r\n var newdate = moment(today).format(\"DD-MM-YYYY\");\r\n\r\n \r\n\r\n // if(start_datetoday){\r\n var sdate = start_date.split(\" \")[0];\r\n var stime = start_date.split(\" \")[1];\r\n var edate = end_date.split(\" \")[0];\r\n var etime = end_date.split(\" \")[1];\r\n start_date = newdate + ' ' + stime;\r\n end_date = newdate + ' ' + etime;\r\n }\r\n // vm.AllAssignUserList.push({\"UserId\":Id,\"TicketId\":ticketid}); \r\n\r\n //var fromDate = new Date().toISOString().slice(0,10);\r\n //var toDate = new Date().toISOString().slice(0,10);\r\n\r\n var AssignList =[];\r\n \r\n if(vm.AllAssignUserDetails.length!=0){\r\n console.log(vm.AllAssignUserDetails);\r\n AssignList = $filter('filter')(vm.AllAssignUserDetails,function(value){\r\n // return value.UserId==Id && value.start_date==start_date;\r\n //return value.UserId==Id;\r\n return value.TicketId==ticket;\r\n\r\n })\r\n console.log(AssignList);\r\n /// it is used for the \r\n if(AssignList.length!=0){\r\n var checklinkId = AssignList[0].LinkId;\r\n AssignList =[];\r\n var evs = scheduler.getEvents();\r\n var checkList = $filter('filter')(evs,function(value){\r\n return value.LinkId==checklinkId;\r\n })\r\n var d = checkList[0].id;\r\n scheduler.deleteEvent(d);\r\n }\r\n \r\n if(AssignList.length==0){\r\n var eventId = scheduler.addEvent({\r\n start_date: start_date,\r\n end_date: end_date,\r\n assignedUserid: Id,\r\n status :status,\r\n Role :Role,\r\n TicketId:ticket,\r\n Distance :Distance,\r\n LinkId: linkId,\r\n SuggestedPrice:SuggestedPrice,\r\n Price : Price,\r\n Name : Name,\r\n userType :userType\r\n });\r\n\r\n vm.AllAssignUserDetails.push({\"UserId\":Id,\"TicketId\":ticketid,\"LinkId\":linkId,\"Role\":Role,\"start_date\":start_date,\"end_date\":end_date,\"Name\":Name,\"Distance\":Distance,\"SuggestedPrice\":SuggestedPrice,\"type\":userType,\"Price\": Price});\r\n // console.log(vm.AllAssignUserDetails);\r\n }\r\n }else if(vm.AllAssignUserDetails.length==0){\r\n var eventId = scheduler.addEvent({\r\n start_date: start_date,\r\n end_date: end_date,\r\n assignedUserid: Id,\r\n status :status,\r\n Role :Role,\r\n TicketId:ticket,\r\n LinkId: linkId,\r\n Distance :Distance,\r\n SuggestedPrice:SuggestedPrice,\r\n Price : Price,\r\n Name : Name,\r\n userType: userType,\r\n });\r\n \r\n vm.AllAssignUserDetails.push({\"UserId\":Id,\"TicketId\":ticketid,\"LinkId\":linkId,\"Role\":Role,\"start_date\":start_date,\"end_date\":end_date,\"Name\":Name,\"Distance\":Distance,\"SuggestedPrice\":SuggestedPrice,\"type\":userType,\"Price\": Price});\r\n \r\n }\r\n }\r\n\r\n /* vm.AssignTicketsTimeline = function () {\r\n vm.AllUserList =[];\r\n if(vm.selectedFreelancers == ''){\r\n vm.showFailure(\"Please select users.\")\r\n } else {\r\n angular.forEach(vm.selectedFreelancers,function(data){\r\n if(data.Role=='Field Engineer' && data.type=='Fixed Team') {\r\n vm.AllUserList.push({\"UserId\":data.UserId,\"TicketId\":data.TicketId,\"StartTime\":data.start_date,\"Endtime\":data.end_date,\"SuggestedPrice\":data.SuggestedPrice,\"AssignPrice\":data.Price ,\"Distance\":data.Distance})\r\n } else if (data.Role=='Field Engineer' && data.type == 'Freelancer') {\r\n vm.AllUserList.push({\"UserId\":data.UserId,\"TicketId\":data.TicketId,\"StartTime\":data.start_date,\"Endtime\":data.end_date,\"SuggestedPrice\":data.SuggestedPrice,\"AssignPrice\":data.Price ,\"Distance\":data.Distance})\r\n } else if (data.Role=='Vendor Manager' && data.type == 'Fixed Team') {\r\n vm.AllUserList.push({\"UserId\":data.UserId,\"TicketId\":data.TicketId,\"StartTime\":data.start_date,\"Endtime\":data.end_date,\"SuggestedPrice\":data.SuggestedPrice,\"AssignPrice\":data.Price ,\"Distance\":data.Distance})\r\n } else {\r\n vm.AllUserList.push({\"UserId\":data.UserId,\"TicketId\":data.TicketId,\"StartTime\":data.start_date,\"Endtime\":data.end_date,\"SuggestedPrice\":data.SuggestedPrice,\"AssignPrice\":data.Price ,\"Distance\":data.Distance})\r\n }\r\n })\r\n\r\n ScheduleAssignService.AssignTicketssTimeline(loggedinUser,vm.AllUserList,token).then(function(resp){\r\n if (resp.status == 200 && resp.data) {\r\n vm.showSuccess(\"Success\",\"Job Assigned Successfully\");\r\n // vm.TimeoutFunc(1500, vm.GetTicketsForAssignation());\r\n // vm.TimeoutFGetSchedulingEventforToday(loggedinUser));\r\n //vm.GetTicketsForAssignation();\r\n // GetSchedulingEventforToday(loggedinUser);\r\n vm.selectedFreelancers = [];\r\n vm.AssignModal.close();\r\n\r\n\r\n scheduler.clearAll();\r\n\r\n $timeout(function () {\r\n vm.mapMarkers=[];\r\n // vm.AssignModal.close();\r\n GetSchedulingEventforToday(loggedinUser);\r\n vm.GetTicketsForAssignation();\r\n }, 1500);\r\n // $timeout(function() {\r\n // vm.GetTicketsForAssignation();\r\n // }, 1000);\r\n if(vm.Mode=='Map') {\r\n $timeout(function () {\r\n vm.mapMarkers=[];\r\n vm.AssignModal.close();\r\n }, 1500);\r\n }\r\n }else {\r\n vm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n }\r\n })\r\n }\r\n }*/\r\n\r\n\r\n vm.AssignTicketsTimeline = function () {\r\n \r\n vm.AllUserList =[];\r\n angular.forEach(vm.AllAssignUserDetails,function(data){\r\n\r\n if(data.Role=='Field Engineer' && data.type=='Fixed Team' && data.isChecked ==true) {\r\n vm.AllUserList.push({\"UserId\":data.UserId,\"TicketId\":data.TicketId?data.TicketId:data.LinkId,\"StartTime\":data.start_date,\"Endtime\":data.end_date,\"SuggestedPrice\":data.SuggestedPrice,\"AssignPrice\":data.Price ,\"Distance\":data.Distance})\r\n } else if (data.Role=='Field Engineer' && data.type == 'Freelancer' && data.isChecked ==true) {\r\n vm.AllUserList.push({\"UserId\":data.UserId,\"TicketId\":data.TicketId?data.TicketId:data.LinkId,\"StartTime\":data.start_date,\"Endtime\":data.end_date,\"SuggestedPrice\":data.SuggestedPrice,\"AssignPrice\":data.Price ,\"Distance\":data.Distance})\r\n } else if (data.Role=='Vendor Manager' && data.type == 'Fixed Team' && data.isChecked ==true) {\r\n vm.AllUserList.push({\"UserId\":data.UserId,\"TicketId\":data.TicketId?data.TicketId:data.LinkId,\"StartTime\":data.start_date,\"Endtime\":data.end_date,\"SuggestedPrice\":data.SuggestedPrice,\"AssignPrice\":data.Price ,\"Distance\":data.Distance})\r\n } else if (data.Role=='Vendor Manager' && data.type == 'Freelancer' && data.isChecked ==true){\r\n vm.AllUserList.push({\"UserId\":data.UserId,\"TicketId\":data.TicketId?data.TicketId:data.LinkId,\"StartTime\":data.start_date,\"Endtime\":data.end_date,\"SuggestedPrice\":data.SuggestedPrice,\"AssignPrice\":data.Price ,\"Distance\":data.Distance})\r\n }\r\n })\r\n if(vm.AllUserList == ''){\r\n vm.showFailure(\"Please select users.\")\r\n } else {\r\n ScheduleAssignService.AssignTicketsTimeline(loggedinUser,vm.AllUserList,token).then(function(resp){\r\n if (resp && resp.data) {\r\n \r\n vm.showSuccess(\"Success\",\"Job Assigned Successfully\");\r\n scheduler.clearAll();\r\n\r\n $timeout(function () {\r\n vm.mapMarkers=[];\r\n vm.AssignModal.close();\r\n GetSchedulingEventforToday(loggedinUser);\r\n if(vm.TicketStatus==\"New\"){\r\n vm.GetTicketsForAssignation();\r\n }else if(vm.TicketStatus==\"ReadyToAssign\"){\r\n vm.getReadyToAssign();\r\n }\r\n \r\n \r\n }, 1500);\r\n if(vm.Mode=='Map') {\r\n $timeout(function () {\r\n vm.mapMarkers=[];\r\n vm.AssignModal.close();\r\n }, 1500);\r\n }\r\n }else {\r\n vm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n }\r\n })\r\n }\r\n\r\n }\r\n\r\nvm.clearData = function () {\r\n vm.AllAssignUserDetails = [];\r\n vm.selectedTicket = '';\r\n vm.mapMarkers = [];\r\n } \r\n\r\n\r\n vm.OpenBroadcastModal = function(){\r\n if(vm.BroadcastedUserList == ''){\r\n vm.showFailure(\"Not found\",\"No users found\");\r\n } else {\r\n $scope.BroadcastedUser.allItemsSelected = true;\r\n $scope.selectAllBoardUser();\r\n vm.BroadcastModal = $uibModal.open({\r\n templateUrl: 'Broadcast-modal',\r\n backdrop: 'static',\r\n size:'lg',\r\n scope: $scope\r\n });\r\n }\r\n }\r\n \r\n vm.CloseBroadcastModal = function(){\r\n vm.selectedFreelancers = [];\r\n vm.BroadcastModal.close();\r\n }\r\n\r\n vm.OpenAssignModal = function(){ \r\n vm.AllAssignUserDetails =[];\r\n var evs = scheduler.getEvents();\r\n var t = vm.TicketStatus;\r\n\r\n\r\n var eventslist = $filter('filter')(evs,function(value){\r\n return value.Price ==0;\r\n })\r\n \r\n angular.forEach(evs,function(data){\r\n\r\n if(data.status=='New'){\r\n var Id= data.assignedUserid;\r\n var ticketid= data.TicketId;\r\n var linkid = data.LinkId;\r\n var start_date =moment(data.start_date).format('YYYY-MM-DD HH:mm');\r\n var end_date = moment(data.end_date).format('YYYY-MM-DD HH:mm');\r\n\r\n angular.forEach(vm.SuggestedUserList.users,function(value){\r\n if(value.id==Id && value.userType!='Freelancer'){ \r\n vm.AllAssignUserDetails.push({\"UserId\":Id,\"TicketId\":ticketid,\"LinkId\":linkid,\"Role\":value.role,\"start_date\":start_date,\"end_date\":end_date,\"Name\":value.name,\"Distance\":value.UserDistance,\"SuggestedPrice\":value.BIDCounterRate,\"type\":value.userType,\"Price\": value.BIDCounterRate});\r\n\r\n }\r\n\r\n })\r\n }else if(data.status=='Broadcasted'){\r\n var Id= data.assignedUserid;\r\n var ticketid= data.TicketId;\r\n var linkid = data.LinkId;\r\n var start_date =moment(data.start_date).format('YYYY-MM-DD HH:mm');\r\n var end_date = moment(data.end_date).format('YYYY-MM-DD HH:mm');\r\n\r\n angular.forEach(vm.SuggestedUserList.users,function(value){\r\n if(value.id==Id){\r\n \r\n vm.AllAssignUserDetails.push({\"UserId\":Id,\"TicketId\":ticketid,\"LinkId\":linkid,\"Role\":value.role,\"start_date\":start_date,\"end_date\":end_date,\"Name\":value.name,\"Distance\":value.UserDistance,\"SuggestedPrice\":value.BIDCounterRate,\"type\":value.userType,\"Price\": value.BIDCounterRate});\r\n // console.log(vm.AllAssignUserDetails);\r\n }\r\n\r\n })\r\n }else if(data.status=='ReadyToAssign'){\r\n \r\n var Id= data.assignedUserid;\r\n var ticketid= data.TicketId;\r\n var linkid = data.LinkId;\r\n var start_date =moment(data.start_date).format('YYYY-MM-DD HH:mm');\r\n var end_date = moment(data.end_date).format('YYYY-MM-DD HH:mm');\r\n\r\n angular.forEach(vm.SuggestedUserList.users,function(value){\r\n if(value.id==Id){\r\n \r\n vm.AllAssignUserDetails.push({\"UserId\":Id,\"TicketId\":ticketid,\"LinkId\":linkid,\"Role\":value.role,\"start_date\":start_date,\"end_date\":end_date,\"Name\":value.name,\"Distance\":value.UserDistance,\"SuggestedPrice\":value.BIDCounterRate,\"type\":value.userType,\"Price\": value.BIDCounterRate});\r\n // console.log(vm.AllAssignUserDetails);\r\n }\r\n\r\n })\r\n }\r\n })\r\n \r\n \r\n\r\n $scope.AssignSelectedUser = vm.AllAssignUserDetails;\r\n $scope.AssignSelectedUser.allItemsSelected = true;\r\n $scope.selectAll();\r\n\r\n vm.AssignModal = $uibModal.open({\r\n templateUrl: 'Assign-modal',\r\n size:'lg',\r\n backdrop: 'static',\r\n scope: $scope\r\n });\r\n // }\r\n }\r\n\r\n vm.CloseAssignModal = function(){\r\n vm.selectedFreelancers = [];\r\n vm.AssignModal.close();\r\n }\r\n\r\n\r\n //Broadcast Bids/Jobs\r\n vm.BroadcastTicket = function(){\r\n\r\n\r\n var BidData = [];\r\n var obj = {};\r\n var time = '';\r\n var hrs = '';\r\n var min = '';\r\n obj.JobID = vm.selectedTicket.TicketId;\r\n obj.BIDDuration = vm.selectedTicket.BidDuration;\r\n // obj.BroadCastRate = vm.selectedTicket.BroadcastRate\r\n //obj.BroadCastGrossRate = vm.selectedTicket.BroadcastGrossRate\r\n obj.MobiforceCommissionPercentage = parseInt(vm.selectedTicket.MobiforceCommission);\r\n // obj.FixedBidPrice = true;\r\n BidData.push(obj);\r\n\r\n \r\n var UserData = [];\r\n /* angular.forEach(vm.selectedFreelancers, function (d) {\r\n if (d) {*/\r\n angular.forEach($scope.BroadcastedUser, function (d) {\r\n if (d.isChecked==true) {\r\n // UserData.push(d.UserId);\r\n UserData.push({\"UserId\":d.UserId,\"SuggestedPrice\":parseInt(d.SuggestedPrice),\"Price\":parseInt(d.Price) ,\"Distance\":d.Distance});\r\n } \r\n });\r\n var checklist = $filter('filter')(UserData,function(value){\r\n return value.Price ==0;\r\n })\r\n if(checklist.length!=0){\r\n vm.showFailure(\"Failed\", \"Bid price can't be zero.\");\r\n }else{\r\n if (BidData.length > 0 && UserData.length > 0) {\r\n var data = {\r\n \"JobId\": vm.selectedTicket.TicketId,\r\n \"BIDDuration\": vm.selectedTicket.BidDuration,\r\n \"MobiforceCommissionPercentage\": parseInt(vm.selectedTicket.MobiforceCommission),\r\n \"Users\": UserData\r\n };\r\n //$log.log('BradcastedJobs', data);\r\n vm.BroadcastModal.close();\r\n\r\n ScheduleAssignService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 201 || resp.status == 200) {\r\n vm.toaster_success.body = 'Jobs Broadcasted Successfully';\r\n toaster.pop(vm.toaster_success);\r\n vm.selectedFreelancers = [];\r\n $timeout(function () {\r\n vm.GetTicketsForAssignation();\r\n }, 1500);\r\n\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", \"Please select users.\");\r\n }\r\n }) \r\n } else {\r\n vm.showFailure(\"Failed\", \"Please select jobs and users.\");\r\n }\r\n } \r\n\r\n }\r\n\r\n//Assign Tickets\r\n vm.AssignTickets = function (role, userId) {\r\n if (role == 'Field Engineer') {\r\n ScheduleAssignService.AssignTickets(userId,loggedinUser,vm.selectedTicket.TicketId,token).then(function(resp){\r\n if (resp && resp.data) {\r\n vm.showSuccess(\"Success\",\"Job Assigned Successfully\");\r\n vm.TimeoutFunc(1500, vm.GetTicketsForAssignation());\r\n // $timeout(function() {\r\n // vm.GetTicketsForAssignation();\r\n // }, 1000);\r\n if(vm.Mode=='Map') {\r\n $timeout(function () {\r\n vm.mapMarkers=[];\r\n vm.AssignModal.close();\r\n }, 1500);\r\n }\r\n }else {\r\n vm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n }\r\n })\r\n }else if (role == 'Vendor Manager') {\r\n }\r\n }\r\n \r\n //MAP INTEGRATION\r\n vm.MapIntegration = function(){\r\n //for Initial Loading\r\n if(vm.selectedTicket==''){\r\n vm.mapMarkers = [];\r\n //Today's Scheduling Events\r\n angular.forEach(vm.SuggestedUserList.tickets, function(d){\r\n var customer = {};\r\n customer.lat = d.latitude;\r\n customer.long = d.longitude;\r\n customer.StartTime = d.start_date;\r\n customer.Address = d.city+' '+d.state;\r\n customer.ConsumerName = d.customerName;\r\n customer.ContactNumber = 'NA';\r\n customer.Role = 'Customer';\r\n customer.Status = d.status;\r\n customer.AssignedUser = d.assignedUserName;\r\n customer.JobId = d.id;\r\n customer.StartDate = d.start_date;\r\n customer.EndDate = d.end_date;\r\n vm.mapMarkers.push(customer);\r\n })\r\n angular.forEach(vm.SuggestedUserList.users, function(d){\r\n var obj = {};\r\n obj.UserName = d.name;\r\n obj.BIDCounterRate = vm.round2Decimal(d.BIDCounterRate);\r\n obj.UserRating = d.UserRating?d.UserRating:0;\r\n obj.UserDistance = vm.round2Decimal(d.UserDistance);\r\n obj.UserLatitude = d.UserLatitude;\r\n obj.UserLongitude = d.UserLongitude;\r\n obj.UserContact = d.contactnumber?d.contactnumber:'NA';\r\n obj.UserImage = vm.getProfilePic(d.UserProfilePhoto);\r\n obj.Role = d.role;\r\n obj.userType = d.userType;\r\n vm.mapMarkers.push(obj);\r\n })\r\n //New Jobs\r\n if(vm.TicketStatus == 'New'){\r\n angular.forEach(vm.AllTicketList, function(d){\r\n var customer = {};\r\n var DefaultLat = parseFloat(d.Latitude);\r\n var DefaultLong = parseFloat(d.Longitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = d.City+' '+d.State;\r\n customer.ConsumerName = d.ConsumerName;\r\n customer.JobType = d.JobType;\r\n customer.ContactNumber = 'NA';\r\n customer.Role = 'Customer';\r\n customer.Status = 'New';\r\n customer.JobId = d.TicketId;\r\n customer.StartDate = d.StartTime;\r\n customer.EndDate = d.EndTime;\r\n vm.mapMarkers.push(customer);\r\n })\r\n //Broadcasted Jobs\r\n } else if (vm.TicketStatus == 'Broadcasted'){\r\n angular.forEach(vm.BroadcastedJobList, function(d){\r\n var customer = {};\r\n var DefaultLat = parseFloat(d.JobLatitude);\r\n var DefaultLong = parseFloat(d.JobLongitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = d.Location;\r\n customer.ConsumerName = d.CustomerName;\r\n customer.JobType = d.JobType;\r\n customer.ContactNumber = 'NA';\r\n customer.Role = 'Customer';\r\n customer.Status = 'Broadcasted';\r\n customer.JobId = d.JobId;\r\n customer.StartDate = d.StartDateTime;\r\n customer.EndDate = d.EndDateTime;\r\n vm.mapMarkers.push(customer);\r\n })\r\n } else if (vm.TicketStatus == 'ReadyToAssign'){\r\n angular.forEach(vm.ReadyToAssignList, function(d){\r\n var customer = {};\r\n var DefaultLat = parseFloat(d.JobLatitude);\r\n var DefaultLong = parseFloat(d.JobLongitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = d.Location;\r\n customer.ConsumerName = d.CustomerName;\r\n customer.JobType = d.JobType;\r\n customer.ContactNumber = 'NA';\r\n customer.Role = 'Customer';\r\n customer.Status = 'ReadyToAssign';\r\n customer.JobId = d.JobId;\r\n customer.StartDate = d.StartDateTime;\r\n customer.EndDate = d.EndDateTime;\r\n vm.mapMarkers.push(customer);\r\n })\r\n }\r\n //on Job Selection\r\n } else {\r\n vm.mapMarkers = [];\r\n var customer = {};\r\n //Adding Customer Site on Ticket Status Basis\r\n if(vm.TicketStatus == 'New') {\r\n var DefaultLat = parseFloat(vm.selectedTicket.Latitude);\r\n var DefaultLong = parseFloat(vm.selectedTicket.Longitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = vm.selectedTicket.City+' '+vm.selectedTicket.State;\r\n customer.ConsumerName = vm.selectedTicket.ConsumerName;\r\n customer.Status = vm.selectedTicket.TicketStatus;\r\n customer.JobId = vm.selectedTicket.TicketId;\r\n customer.StartDate = vm.selectedTicket.StartTime;\r\n customer.EndDate = vm.selectedTicket.EndTime;\r\n } \r\n else if (vm.TicketStatus == 'Broadcasted') {\r\n var DefaultLat = parseFloat(vm.selectedTicket.JobLatitude);\r\n var DefaultLong = parseFloat(vm.selectedTicket.JobLongitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = vm.selectedTicket.Location;\r\n customer.ConsumerName = vm.selectedTicket.CustomerName;\r\n customer.Status = vm.selectedTicket.Status;\r\n customer.JobId = vm.selectedTicket.JobId;\r\n customer.StartDate = vm.selectedTicket.StartDateTime;\r\n customer.EndDate = vm.selectedTicket.EndDateTime;\r\n } else if (vm.TicketStatus == 'ReadyToAssign') {\r\n var DefaultLat = parseFloat(vm.selectedTicket.JobLatitude);\r\n var DefaultLong = parseFloat(vm.selectedTicket.JobLongitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = vm.selectedTicket.Location;\r\n customer.ConsumerName = vm.selectedTicket.CustomerName;\r\n customer.Status = vm.selectedTicket.Status;\r\n customer.JobId = vm.selectedTicket.JobId;\r\n customer.StartDate = vm.selectedTicket.StartDateTime;\r\n customer.EndDate = vm.selectedTicket.EndDateTime;\r\n }\r\n customer.JobType = vm.selectedTicket.JobType;\r\n customer.ContactNumber = 'NA';\r\n customer.Role = 'Customer';\r\n vm.mapMarkers.push(customer);\r\n\r\n //Adding Users into Marker\r\n angular.forEach(vm.SuggestedUserList.users,function(d){\r\n var obj = {};\r\n if (d && d.UserLatitude && d.UserLongitude) {\r\n obj.UserName = d.name;\r\n // obj.BIDApplyDateTime = d.BIDApplyDateTime;\r\n // obj.BIDApplyStatus = d.BIDApplyStatus;\r\n obj.BIDCounterRate = vm.round2Decimal(d.BIDCounterRate);\r\n obj.JobId = d.id;\r\n // obj.UserCurrentJobs = d.UserCurrentJobs;\r\n // obj.UserId = d.UserId;\r\n obj.UserRating = d.UserRating?d.UserRating:0;\r\n // obj.UserTotalJobs = d.UserTotalJobs;\r\n obj.UserDistance = vm.round2Decimal(d.UserDistance);\r\n obj.UserLatitude = d.UserLatitude;\r\n obj.UserLongitude = d.UserLongitude;\r\n obj.UserContact = d.contactnumber?d.contactnumber:'NA';\r\n obj.UserImage = vm.getProfilePic(d.UserProfilePhoto);\r\n // if (obj.Role=='Freelancer') {\r\n // obj.AssigButton = false; \r\n // }else{\r\n // obj.AssigButton = true;\r\n // }\r\n obj.Role = d.role;\r\n obj.userType = d.userType;\r\n vm.mapMarkers.push(obj);\r\n }\r\n })\r\n }\r\n \r\n\r\n //Setting the Map Options\r\n vm.MapOptions = {\r\n center: new google.maps.LatLng(DefaultLat, DefaultLong),\r\n // zoom: 20,\r\n mapTypeId: google.maps.MapTypeId.ROADMAP\r\n }\r\n\r\n //Initializing the InfoWindow, Map and LatLngBounds objects.\r\n vm.InfoWindow = new google.maps.InfoWindow();\r\n vm.Latlngbounds = new google.maps.LatLngBounds();\r\n vm.Map = new google.maps.Map(document.getElementById(\"map-canvas\"), vm.MapOptions);\r\n\r\n //Looping through the Array and adding Markers.\r\n for(var i=0; iimage
\"\r\n vm.InfoWindow.setContent(\"

\"+data.ConsumerName+\"


\"+' '+data.JobId+\"
\"+' '+data.Status+\"
\"+' '+data.AssignedUser+\"
\"+' '+moment(data.StartDate).format(\"YYYY-MM-DD HH:mm\")+\"
\"+' '+moment(data.EndDate).format(\"YYYY-MM-DD HH:mm\")+\"
\"+' '+data.Address+\"
\"); \r\n } else if(data.Status == 'Completed'){\r\n //var content = \"
image
\"\r\n vm.InfoWindow.setContent(\"

\"+data.ConsumerName+\"


\"+' '+data.JobId+\"
\"+' '+data.Status+\"
\"+' '+data.AssignedUser+\"
\"+' '+moment(data.StartDate).format(\"YYYY-MM-DD HH:mm\")+\"
\"+' '+moment(data.EndDate).format(\"YYYY-MM-DD HH:mm\")+\"
\"+' '+data.Address+\"
\"); \r\n } \r\n else {\r\n //var content = \"
image
\"\r\n vm.InfoWindow.setContent(\"

\"+data.ConsumerName+\"


\"+' '+data.JobId+\"
\"+' '+data.Status+\"
\"+' '+moment(data.StartDate).format(\"YYYY-MM-DD HH:mm\")+\"
\"+' '+moment(data.EndDate).format(\"YYYY-MM-DD HH:mm\")+\"
\"+' '+data.Address+\"
\");\r\n }\r\n vm.InfoWindow.open(vm.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n vm.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, data);\r\n vm.Latlngbounds.extend(marker.position);\r\n }else{\r\n ticketLatlng = new google.maps.LatLng(data.UserLatitude, data.UserLongitude);\r\n //Initializing the Marker object.\r\n if(data.Role == 'Field Engineer' && data.userType == 'Freelancer'){\r\n var marker = new google.maps.Marker({\r\n position: ticketLatlng,\r\n map: vm.Map,\r\n title: data.UserName,\r\n animation: google.maps.Animation.DROP,\r\n //icon: flIcon,\r\n icon: {\r\n url: UIURL+'/assets/images/patterns/delivery-man1.png',\r\n labelOrigin: new google.maps.Point(80, 52),\r\n },\r\n \r\n label: {\r\n text: data.UserName,\r\n color: \"#1a237e\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n position:\"absolute\"\r\n }\r\n }); \r\n }else if (data.Role == 'Field Engineer' && data.userType == 'Fixed Team') {\r\n var marker = new google.maps.Marker({\r\n position: ticketLatlng,\r\n map: vm.Map,\r\n title: data.UserName,\r\n animation: google.maps.Animation.DROP,\r\n //icon: ftIcon,\r\n icon: {\r\n url: UIURL+'/assets/images/patterns/delivery-man1.png',\r\n labelOrigin: new google.maps.Point(80, 52),\r\n },\r\n label: {\r\n text: data.UserName,\r\n color: \"#1a237e\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n position:\"absolute\"\r\n \r\n }\r\n });\r\n } else if (data.Role == 'Vendor Manager' && data.userType == 'Fixed Team') {\r\n var marker = new google.maps.Marker({\r\n position: ticketLatlng,\r\n map: vm.Map,\r\n title: data.UserName,\r\n animation: google.maps.Animation.DROP,\r\n //icon: vIcon,\r\n icon: {\r\n url: UIURL+'/assets/images/patterns/delivery-man1.png',\r\n labelOrigin: new google.maps.Point(80, 52),\r\n },\r\n label: {\r\n text: data.UserName,\r\n color: \"#1a237e\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n position:\"absolute\"\r\n \r\n }\r\n });\r\n } else if (data.Role == 'Vendor Manager' && data.userType == 'Freelancer') {\r\n var marker = new google.maps.Marker({\r\n position: ticketLatlng,\r\n map: vm.Map,\r\n title: data.UserName,\r\n animation: google.maps.Animation.DROP,\r\n //icon: fvIcon,\r\n icon: {\r\n url: UIURL+'/assets/images/patterns/delivery-man1.png',\r\n labelOrigin: new google.maps.Point(80, 52),\r\n },\r\n label: {\r\n text: data.UserName,\r\n color: \"#1a237e\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n position:\"absolute\"\r\n \r\n }\r\n });\r\n }\r\n \r\n //Adding InfoWindow to the Marker.\r\n (function (marker, data) {\r\n google.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n if(data.Role == 'Field Engineer' && data.userType == 'Fixed Team'){\r\n var Role = 'Field Engineer';\r\n } else if(data.Role == 'Field Engineer' && data.userType == 'Freelancer'){\r\n var Role = 'Freelancer';\r\n } else if(data.Role == 'Vendor Manager' && data.userType == 'Fixed Team') {\r\n var Role = 'Vendor Manager';\r\n } else {\r\n var Role = 'Freelancer Vendor';\r\n }\r\n var content = \"
image
\"+' '+data.UserName+\"
\"+' '+data.UserContact+\"
\"+' '+data.UserDistance+\" Kms
\"+' '+data.BIDCounterRate+\"
\"+' '+Role+\"
\"\r\n vm.InfoWindow.setContent(content);\r\n vm.InfoWindow.open(vm.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n vm.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, data); \r\n // vm.Latlngbounds.extend(marker.position);\r\n }\r\n //Plotting the Marker on the Map. \r\n }\r\n //Adjusting the Map for best display.\r\n vm.Map.setCenter(vm.Latlngbounds.getCenter());\r\n // vm.Map.fitBounds(vm.Latlngbounds);\r\n vm.Map.setZoom(13);\r\n \r\n }\r\n\r\n//Global Calls\r\nvm.GetTicketsForAssignation();\r\n }\r\n\r\nfunction GetSchedulingEventforToday(supervisiorId){\r\n //scheduler.clearAll();\r\n var accountId='';\r\n \r\n /*var fromDate = new Date().toISOString().slice(0,10);\r\n var toDate = new Date().toISOString().slice(0,10);*/\r\n /*var fromDate =\"2018-12-13\"\r\n var toDate = \"2019-01-03\"*/\r\n var date = new Date();\r\n var fromDate = new Date(date.getFullYear(), date.getMonth(), 1);\r\n fromDate = moment(fromDate).format(\"YYYY-MM-DD\");\r\n var toDate = new Date(date.getFullYear(), date.getMonth() + 1, 0);\r\n toDate = moment(toDate).format(\"YYYY-MM-DD\");\r\n ScheduleAssignService.GetSchedulingEventToday(accountId,supervisiorId,fromDate,toDate,token).then(function(resp){\r\n if (resp && resp.status == 200 && resp.data) {\r\n vm.SuggestedUserList = [];\r\n \r\n vm.SuggestedUserList = resp.data;\r\n\r\n var evs = scheduler.getEvents();\r\n\r\n angular.forEach(evs,function(val){\r\n if(val.status=='New'){\r\n var id =val.id;\r\n scheduler.deleteEvent(id); \r\n }\r\n })\r\n init();\r\n }\r\n })\r\n vm.MapIntegration();\r\n}\r\nGetSchedulingEventforToday(loggedinUser);\r\n\r\n\r\n\r\n\r\n\r\n $scope.selectEntity = function () {\r\n // If any entity is not checked, then uncheck the \"allItemsSelected\" checkbox\r\n for (var i = 0; i < $scope.AssignSelectedUser.length; i++) {\r\n if (!$scope.AssignSelectedUser[i].isChecked) {\r\n $scope.AssignSelectedUser.allItemsSelected = false;\r\n return;\r\n }\r\n }\r\n \r\n //If not the check the \"allItemsSelected\" checkbox\r\n $scope.AssignSelectedUser.allItemsSelected = true;\r\n };\r\n \r\n // This executes when checkbox in table header is checked\r\n $scope.selectAll = function () {\r\n // Loop through all the entities and set their isChecked property\r\n for (var i = 0; i < $scope.AssignSelectedUser.length; i++) {\r\n $scope.AssignSelectedUser[i].isChecked = $scope.AssignSelectedUser.allItemsSelected;\r\n }\r\n };\r\n\r\n \r\n\r\n\r\n $scope.selectEntityBoardUser = function () {\r\n // If any entity is not checked, then uncheck the \"allItemsSelected\" checkbox\r\n for (var i = 0; i < $scope.BroadcastedUser.length; i++) {\r\n if (!$scope.BroadcastedUser[i].isChecked) {\r\n $scope.BroadcastedUser.allItemsSelected = false;\r\n return;\r\n }\r\n }\r\n \r\n //If not the check the \"allItemsSelected\" checkbox\r\n $scope.BroadcastedUser.allItemsSelected = true;\r\n };\r\n\r\n // This executes when checkbox in table header is checked\r\n $scope.selectAllBoardUser = function () {\r\n // Loop through all the entities and set their isChecked property\r\n for (var i = 0; i < $scope.BroadcastedUser.length; i++) {\r\n $scope.BroadcastedUser[i].isChecked = $scope.BroadcastedUser.allItemsSelected;\r\n }\r\n };\r\n\r\n\r\n\r\n function init() {\r\n\r\n scheduler.locale.labels.timeline_tab = \"Timeline\";\r\n scheduler.locale.labels.section_custom=\"Section\";\r\n // scheduler.config.details_on_create=true;\r\n // scheduler.config.details_on_dblclick=true;\r\n scheduler.config.dblclick_create = false; \r\n\r\n scheduler.config.xml_date=\"%Y-%m-%d %H:%i\";\r\n var format = scheduler.date.date_to_str(\"%H:%i\");\r\n scheduler.config.touch_tooltip = true;\r\n scheduler.config.drag_resize= false;\r\n\r\n scheduler.config.multisection = true; \r\n scheduler.config.multisection_shift_all = false;\r\n \r\n\r\n \r\n \r\n //it is used for the drag and drop functionality \r\n scheduler.attachEvent(\"onBeforeDrag\", function (event_id, mode, native_event_object){\r\n \r\n var ev = scheduler.getEvent(event_id);\r\n if(ev.status=='Assigned'){\r\n return false;\r\n } if(ev.status=='Completed'){\r\n return false;\r\n } \r\n else{\r\n return true; \r\n }\r\n });\r\n\r\n\r\n\r\n// this is used when we drag the event in one use to another user but the time is still same \r\n scheduler.attachEvent(\"onBeforeEventChanged\", function(ev, e, is_new, original){\r\n \r\n if (original.assignedUserid == ev.assignedUserid) \r\n return false;\r\n \r\n ev.start_date = original.start_date;\r\n ev.end_date = original.end_date;\r\n return true;\r\n});\r\n\r\n\r\n\r\n\r\n //this methd is used to stop the open the popup on double click \r\n scheduler.attachEvent(\"onDblClick\", function (id, e){ \r\n return false;\r\n });\r\n\r\n\r\n\r\n if(vm.SuggestedUserList.users.length!=0){\r\n var sections =[];\r\n var sections =vm.SuggestedUserList;\r\n if(vm.selectedTicket.Status==\"ReadyToAssign\"){\r\n var sectionlist = $filter('filter')(sections.users,function(value){\r\n return value.BIDCounterRate!=0;\r\n })\r\n sections.users = sectionlist;\r\n }\r\n }else{\r\n var sections =[];\r\n var sections = vm.SuggestedUserList;\r\n // var sections.users =[];\r\n }\r\n \r\n /* scheduler.templates.event_bar_text = function(sd, ed, ev){\r\n return format(sd)+\" - \"+format(ed);\r\n }*/\r\n \r\n\r\n //this is used for the tooltip\r\n scheduler.templates.tooltip_text = function(start,end,event) { \r\n var t = event.id;\r\n t = t.toString();\r\n var res = t.charAt(0);\r\n if(res==\"1\"){\r\n var Id = event.LinkId?event.LinkId:event.TicketId;\r\n }else{\r\n var Id = event.LinkId;\r\n }\r\n return \"Job Status : \"+event.status+\"
\"+ \r\n\r\n \"Job Id : \"+Id+\"
\"+ \r\n \"Start Time : \" + scheduler.templates.tooltip_date_format(start) + \"
\" +\r\n \"End Time : \" + scheduler.templates.tooltip_date_format(end);\r\n\r\n };\r\n\r\n// this is used for creating two event in the same slot \r\n scheduler.config.collision_limit = 5; //allows creating 2 events per time slot\r\n/*scheduler.attachEvent(\"onEventLoading\", function(ev){ \r\n return scheduler.checkCollision(ev); \r\n});\r\n*/\r\n\r\n\r\n\r\n\r\n scheduler.createTimelineView({\r\n name: \"timeline\",\r\n x_date: \"%H:%i\",\r\n x_unit:\"minute\",// the scale parameters will be calculated in minutes\r\n x_step:30, //sets the '30 minute' step, e.g. 09:00 - 09:30\r\n x_size:24, // the number of '30 minute's in the interval 09:00 - 15:00\r\n // 15 - 9 = 6 hours = 360 minutes = 360/30 = 12\r\n x_start:18, //scale starts from 09:00,i.e. 9 hours from the default start- 00:00.\r\n // 9 hours = 540 minutes = 540/30 = 18 'x_step's \r\n x_length:48,//sc\r\n y_unit: scheduler.serverList('sections',sections.users),\r\n y_property: \"assignedUserid\",\r\n render:\"bar\",\r\n\r\n });\r\n\r\n scheduler.ignore_timeline = function(date){\r\n //non-work hours\r\n if (date.getHours() < 8 || date.getHours() > 18) return true;\r\n };\r\n\r\n\r\n scheduler.templates.timeline_scale_label =function(key, label,sections){\r\n if(sections.userType=='Fixed Team' && sections.role=='Field Engineer'){\r\n var UserIdentity ='FE';\r\n \r\n } else if(sections.userType=='Freelancer' && sections.role=='Field Engineer'){\r\n var UserIdentity ='FL';\r\n \r\n } else if(sections.userType=='Fixed Team' && sections.role=='Vendor Manager'){\r\n var UserIdentity ='V';\r\n \r\n } else if(sections.userType=='Freelancer' && sections.role=='Vendor Manager'){\r\n var UserIdentity ='FV';\r\n \r\n }\r\n var ratings = sections.UserRating?sections.UserRating:0;\r\n if(sections.BIDCounterRate!=null){\r\n return \"
\\\r\n
image
\\\r\n
\\\r\n
\"+sections.name+\"\"+UserIdentity+\"
\\\r\n
\\\r\n \"+ratings+\"\\\r\n \\\r\n \"+round2Decimal(sections.UserDistance)+\" km \\\r\n \"+sections.UserDuration+\" Min\\\r\n
\\\r\n
\\\r\n
\";\r\n }else{\r\n return \"
\\\r\n
image
\\\r\n
\\\r\n
\"+sections.name+\"\"+UserIdentity+\"
\\\r\n
\\\r\n \"+ratings+\"\\\r\n \"+sections.UserDuration+\" Min\\\r\n
\\\r\n
\";\r\n }\r\n\r\n };\r\n\r\n\r\nfunction getPic(profilePic) {\r\n return profilePic ? ImageUrl + '/' + profilePic : DefaultImage;\r\n}\r\n\r\nfunction round2Decimal(no) {\r\n return Math.round(no * 100) / 100; \r\n}\r\n \r\n\r\n \r\n\r\n\r\nscheduler.attachEvent(\"onBeforeViewChange\", function(old_mode,old_date,mode,date){\r\n //any custom logic here\r\n \r\n vm.mode =mode;\r\n return true;\r\n});\r\n\r\n/*scheduler.templates.event_text=function(start, end, event){\r\n return \"
\"+Id+\"
\";\r\n}\r\n*/\r\n \r\n //timeline event bar text is used for timeline mode\r\n scheduler.templates.event_bar_text = function (start, end, event) {\r\n var t = event.id;\r\n debugger;\r\n t = t.toString();\r\n var res = t.charAt(0);\r\n if(res==\"1\"){\r\n var Id = event.LinkId?event.LinkId:event.TicketId;\r\n }else{\r\n var Id =event.LinkId;\r\n }\r\n return \"
\"+Id+\"
\";\r\n };\r\n\r\n// it is used when we dislay in month mode\r\nscheduler.templates.event_bar_date = function(start,end,event){\r\n var t = event.id;\r\n t = t.toString();\r\n var res = t.charAt(0);\r\n if(res==\"1\"){\r\n var Id = event.LinkId?event.LinkId:event.TicketId;\r\n }else{\r\n var Id = event.LinkId?event.LinkId:event.id;\r\n }\r\n return \"\"+Id+\" \";\r\n};\r\n \r\n // it is used for the week basis \r\n scheduler.templates.event_header = function(start,end,event){\r\n var t = event.id;\r\n t = t.toString();\r\n var res = t.charAt(0);\r\n if(res==\"1\"){\r\n var Id = event.LinkId?event.LinkId:event.TicketId;\r\n }else{\r\n var Id =event.LinkId?event.LinkId:event.id;\r\n }\r\n return \"
\"+Id+\"
\";\r\n \r\n};\r\n\r\n\r\n\r\n//this is used for the status \r\n scheduler.templates.event_class = function (start, end, event) {\r\n if(vm.mode=='timeline'){\r\n scheduler.config.readonly = false;\r\n if (event.status == \"Assigned\") {\r\n return \"Assigned\";\r\n }\r\n if (event.status == \"New\") {\r\n return \"New\";\r\n }\r\n if (event.status == \"Broadcasted\") {\r\n return \"Broadcasted\";\r\n } \r\n if (event.status == \"Completed\") {\r\n return \"Completed\";\r\n }if(event.status ==\"ReadyToAssign\"){\r\n return \"ReadyToAssign\";\r\n }\r\n return \"dhx_rent_payed\";\r\n\r\n }\r\n else if(vm.mode=='week' || vm.mode=='month' || vm.mode=='day'){\r\n scheduler.config.readonly = true;\r\n if (event.status == \"Assigned\") {\r\n return \"Assigned1\";\r\n }\r\n if (event.status == \"New\") {\r\n return \"New1\";\r\n }\r\n if (event.status == \"Broadcasted\") {\r\n return \"Broadcasted1\";\r\n } \r\n if (event.status == \"Completed\") {\r\n return \"Completed1\";\r\n }if(event.status ==\"ReadyToAssign\"){\r\n return \"ReadyToAssign1\";\r\n }\r\n return \"dhx_rent_payed1\";\r\n }\r\n\r\n };\r\n\r\n /* var someDate = new Date();\r\n var numberOfDaysToAdd = 5;\r\n var nextday = 1;\r\n someDate.setDate(someDate.getDate() + nextday)*/\r\n\r\n scheduler.init('scheduler_here',new Date(),\"timeline\");\r\n\r\n if(sections.tickets.length!=0){\r\n\r\n var sectionlist = $filter('filter')(sections.tickets,function(value){\r\n // return value.UserId==Id && value.start_date==start_date;\r\n //return value.UserId==Id;\r\n return value.status=='Completed' || value.status=='Assigned';\r\n\r\n })\r\n sections.tickets = sectionlist;\r\n scheduler.parse(sections.tickets,\"json\");\r\n }\r\n \r\n //scheduler.parse(sections.tickets,\"json\");\r\n \r\n }\r\n\r\n//init();\r\n})\r\n\nangular.module('inspinia').service('ScheduleExceptionListPagingService', function (ApiURL,SchedulingAPI, $window, $http) {\r\n\r\n var vm = this;\r\n vm.setShowSuccess = function (success) {\r\n vm.showSuccess = success;\r\n }\r\n\r\n vm.setShowFailure = function (failure) {\r\n vm.showFailure = failure;\r\n }\r\n\r\n// https://perf.mymobiforce.com/coreapi/api/TicketPayment/getinvoicesinrange?ReqUserId=F00000000000&StartDate=2019-07-01&EndDate=2019-08-21\r\nthis.GetAllScheduleExceptionListbyDateRange = function (loggedinUser, startDate, endDate, token) {\r\n var url = SchedulingAPI + '/api/AutoSchedulerException/GetSchedulerException?ReqUserId=' + loggedinUser + '&StartDate=' + startDate + '&EndDate='+endDate;\r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId':loggedinUser }\r\n });\r\n}\r\n\r\n\r\n //https://perf.mymobiforce.com/schedulingapi/api/AutoSchedulerException/MarkResolveSchedulerException?reqUserId=U350000000001&exceptionId=U350000000001\r\n this.ResolveException = function(loggedinUser, exceptionIdList, success, token){\r\n var url = SchedulingAPI + '/api/AutoSchedulerException/MarkResolveSchedulerException?reqUserId=' + loggedinUser ;\r\n $http.put(url,{'exceptionIdList':exceptionIdList},{\r\n headers:{'Content-Type':'application/json', 'Token': token, 'UserId':loggedinUser}\r\n }).then(function (res) {\r\n if(status = '202'){\r\n vm.showSuccess(\"Schedule Exception\", \"Exception(s) resolved successfully\");\r\n }\r\n \r\n success(res);\r\n }, function () {\r\n vm.showFailure(\"Schedule Exception\", \"Unable to resolved Exception(s)\");\r\n })\r\n }\r\n \r\n\r\n // https://perf.mymobiforce.com/coreapi/api/TicketPayment/PayCompleteInvoice?ReqUserId=F00000000000&InvoiceNo=IN_000000001\r\n // this.PutSingleInvoicePayments = function (loggedinUser, InvoiceNo, success, token) {\r\n // var url = ApiURL + '/api/TicketPayment/PayCompleteInvoice?ReqUserId=' + loggedinUser + '&InvoiceNo=' + InvoiceNo\r\n // $http.put(url, null, {\r\n // headers: { 'Content-Type': 'application/json', 'Token': token }\r\n // }).then(function (res) {\r\n // vm.showSuccess(\"Payment Information\", \"Payment Completed Successfully\");\r\n // success(res);\r\n // }, function () {\r\n // vm.showFailure(\"Payment Information\", \"Unable to make payment\");\r\n // })\r\n // }\r\n\r\n // https://perf.mymobiforce.com/coreapi/api/TicketPayment/PayMultiInvoices?ReqUserId=F00000000000&InvoiceNos=indifnd\r\n // this.PutMultiSelectedInvoicePayments = function (loggedinUser, InvoiceNos, success, token) {\r\n // var url = ApiURL + '/api/TicketPayment/PayMultiInvoices?ReqUserId=' + loggedinUser + '&InvoiceNos=' + InvoiceNos\r\n // $http.put(url, null, {\r\n // headers: { 'Content-Type': 'application/json', 'Token': token }\r\n // }).then(function (res) {\r\n // vm.showSuccess(\"Payment Information\", \"Payment Completed Successfully\");\r\n // success(res);\r\n // }, function () {\r\n // vm.showFailure(\"Payment Information\", \"Unable to make payment\");\r\n // })\r\n // }\r\n\r\n // https://perf.mymobiforce.com/SchedulingAPI/api/AutoSchedulerException/GetActiveSchedulerExceptionMobileApp?reqUserId=U00000000406&startDate=2021-08-01&endDate=2021-10-07&PageIndex=1&PageSize=10\r\n // this.getAllJobTickets = function (reqUserId, startDate, endDate, token,PageIndex,PageSize) {\r\n // var url = '';\r\n // url = SchedulingAPI + '/api/AutoSchedulerException/GetActiveSchedulerExceptionMobileApp?reqUserId=' + reqUserId + '&startDate=' + startDate+ '&endDate=' + endDate +'&PageIndex=' + PageIndex + '&PageSize=' + PageSize;\r\n // // url = ApiURL + '/api/Ticket/GetTicketsbyDateRange?fromDate=' + startDate + '&toDate=' + endDate+ '&reqUserId=' + supervisorId + '&itemNames=' + itemNames + '&itemValues=' + itemValues+'&templateCols='+templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues + '&DateField=' + DateField;\r\n // return $http.get(url, {\r\n // headers: {\r\n // 'Content-Type': 'application/json',\r\n // 'Token': token,\r\n // 'UserId': reqUserId\r\n // }\r\n // });\r\n // }\r\n//https://perf.mymobiforce.com/schedulingapi/api/AutoSchedulerException/GetSchedulerExceptionForServerWithDynPaging\r\n this.getAllJobForExceptionList = function ( loggedinUser, token,userFormData) {\r\n var url = SchedulingAPI + \"/api/AutoSchedulerException/GetSchedulerExceptionForServerWithDynPaging\";\r\n return $http.put(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n });\r\n }\r\n\r\n this.getAllAccounts = function (loggedinUser,token) { \r\n var url = ApiURL+ '/api/account/GetAllAccountsMiniModel';\r\n return $http.get(url, {\r\n headers: { \r\n 'Content-Type': 'application/json',\r\n 'Token':token , \r\n 'UserId':loggedinUser\r\n \r\n }\r\n });\r\n }\r\n this.getAllUserByReportingPerson = function (reportingTo, token) {\r\n var url = ApiURL +'/api/User/'+ reportingTo+'/byReportingToWithJobCount?ReqUserId='+reportingTo;\r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId':reportingTo }\r\n });\r\n }\r\n\r\n\r\n// https://perf.mymobiforce.com/publicapi/api/Report/DownloadInvoices?reqUserId=F00000000000&InvoicesNo=IN_000000002\r\nthis.downloadInvoicebyInvoiceNo = function (loggedinUser, InvoiceNos, success, token) {\r\n $window.location.href = PublicApiURL + '/api/Report/DownloadInvoices?reqUserId=' + loggedinUser + '&InvoicesNo=' + InvoiceNos\r\n console.log($window.location.href);\r\n // $http.get(url,{\r\n // headers: { 'Content-Type': 'application/json', 'Token': token }\r\n // }).then(function (res) {\r\n // vm.showSuccess(\"Download Information\", \"Download Completed Successfully\");\r\n // success(res);\r\n // }, function () {\r\n // vm.showFailure(\"Payment Information\", \"Unable to Download Invoices\");\r\n // })\r\n}\r\n\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('ScheduleExceptionListPagingController', function (ScheduleExceptionListPagingService, $resource, toaster, $filter, $compile, $q, $state, $localStorage, $scope, DTOptionsBuilder, DTColumnBuilder, $uibModal, $timeout) {\r\n\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\t\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\t\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\t\tScheduleExceptionListPagingService.setShowSuccess($scope.$parent.$parent.main.showSuccess);\r\n\t\tScheduleExceptionListPagingService.setShowFailure($scope.$parent.$parent.main.showFailure);\r\n\t\tvm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n\t\tvm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\t\t$scope.$parent.$parent.main.implementSelectItems('scheduleExceptionListNew', this);\r\n\t\t// $scope.$parent.$parent.main.implementSelectItems('InVoiceHistoryData', this);\r\n\t\t$scope.isNavCollapsed = true;\r\n\t\t$scope.isCollapsed = true;\r\n\t\t$scope.isCollapsedHorizontal = false;\r\n\t\tvm.dtInstance = {};\r\n\t\tvm.selectSingle = false;\r\n\t\tvm.disableExceptionButton = false;\r\n\t\tvm.ticketPageListCount = 10;\r\n\t\tvm.pageListCounts = [10, 20, 30, 50];\r\n\t\tvm.scheduleExceptionListNewLength=0;\r\n\t\tvar PageIndex = 1;\r\n\t\tvar PageSize = 10; \r\n\t\tvm.SearchByAccountName = '';\r\n\t\tvm.ExceptionType = '';\r\n\t\tvm.exceptionState = '';\r\n\t\tvm.showAllAccounts = [];\r\n\t\tvm.UserId='';\r\n\r\n\t\t$scope.dates = { startDate: moment().subtract(0, 'days'), endDate: moment() };\r\n\t\tvar startDate = moment().subtract(0, 'days').format(\"YYYY-MM-DD\");\r\n\t\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\r\n\t\t$scope.ranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment()]\r\n\t\t};\r\n\r\n\t\t$scope.dateRangeChange = function (ev, picker) {\r\n\t\t\t// console.log(ev, picker);\r\n\t\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\t\tvm.getAllJobForExceptionList();\r\n\r\n\r\n\t\t};\r\n\r\n\t\t\r\n\t\t$scope.totalTableTickets = 0;\r\n\t\t$scope.ticketTablePerPage = vm.ticketPageListCount ; \r\n\t\t$scope.TicketTablepagination = {\r\n\t\t current: 1\r\n\t\t};\r\n\t\r\n\t\r\n\t\tvm.changeTicketPageListCount = function() { \r\n\t\t $scope.ticketTablePerPage = vm.ticketPageListCount;\r\n\t\t PageSize = $scope.ticketTablePerPage;\r\n\t\t $scope.TicketTablepageChanged($scope.TicketTablepagination.current);\r\n\t\t vm.selectAll = false;\r\n\t\t}\r\n\r\n\t\tPageIndex=$scope.TicketTablepagination.current;\r\n\t\t$scope.TicketTablepageChanged = function(newPage) { \r\n\t\t PageIndex = newPage; \r\n\t\t vm.getAllJobForExceptionList();\r\n\t\t};\r\n\r\n\t\tvm.scheduleExceptionListNew=[];\r\n \r\n\t\tvm.getAllJobForExceptionList = function() {\r\n\t\t\tvar userFormData = {\t\r\n\t\t\t\t\"startDate\":startDate,\t\r\n\t\t\t\t\"endDate\":endDate,\r\n\t\t\t\t\"PageIndex\": PageIndex,\r\n\t\t\t\t\"PageSize\":PageSize,\t\r\n\t\t\t\t\"ExceptionType\":vm.ExceptionType,\r\n\t\t\t\t\"ExceptionState\":vm.exceptionState,\r\n\t\t\t\t\"ExceptionAssignToUserId\":vm.UserId,\r\n\t\t\t\t\"ReqUserId\":loggedinUser,\r\n\t\t\t\t\"AccountName\":vm.SearchByAccountName\r\n\t\t\t}\r\n\t\t PageIndex = PageIndex?PageIndex:1;\r\n\t\t ScheduleExceptionListPagingService.getAllJobForExceptionList(loggedinUser,token,userFormData).then(function (resp) {\r\n\t\t if (resp && resp.data) {\r\n\t\t\t vm.scheduleExceptionListNew = resp.data.listScheduleException;\r\n\t\t\t $scope.totalTableTickets = resp.data.nRecordCount;\r\n\t\t\t $scope.totalTableUsers = resp.data.nRecordCount;\r\n \r\n\t\t\t vm.enableFilters = true;\r\n\t\t\t vm.actionFlag = false;\r\n\t\t\t $localStorage.TList = vm.scheduleExceptionListNew;\r\n\t\t\t $localStorage.AllJobType = vm.searchJobTypeText;\r\n\t\t\t $localStorage.AllJobStatus = vm.searchStatusText;\r\n\t\t\t angular.forEach(vm.scheduleExceptionListNew, function (t) {\r\n\t\t\t t.StartTime = moment(t.StartTime, \"YYYY-MM-DDThh:mm:ssZ\"); \r\n\t\t\t t.StartTimeD = t.StartTime.format(\"YYYY-MM-DD hh:mm\");\r\n \r\n\t\t\t var today = moment();\r\n\t\t\t })\r\n\t\t\t\r\n\t\t\t if(vm.scheduleExceptionListNew.length < vm.ticketPageListCount)\r\n\t\t\t vm.scheduleExceptionListNewLength = $scope.totalTableTickets;\r\n\t\t\t else\r\n\t\t\t vm.scheduleExceptionListNewLength = PageIndex * vm.ticketPageListCount;\r\n\t\t\t if(PageIndex==1)\r\n\t\t\t vm.pageindexCount = 1;\r\n\t\t\t else\r\n\t\t\t vm.pageindexCount = (((PageIndex-1) * vm.ticketPageListCount) + 1);\r\n\t\t }\r\n \r\n\t\t }, function () { \r\n\t\t });\r\n\t\t \r\n\t }\r\n\t vm.getAllJobForExceptionList();\r\n\r\n\r\n\t vm.implementSelectItemsNewJob = function (itemList, scope) {\r\n\t\tscope.selectAllNewJob = false;\r\n\t\tscope.showMinusNewJob = false;\r\n\t\tscope.selectRowNewJob = function (i) {\r\n\t\t scope.showMinusNewJob = false;\r\n\t\t scope.selectAllNewJob = false;\r\n\t\t angular.forEach(scope[itemList], function (d) {\r\n\t\t\tif (d.checked) {\r\n\t\t\t scope.showMinusNewJob = true;\r\n\t\t\t \r\n\t\t\t}\r\n\t\t });\r\n\t\t}\r\n\t\tscope.applyAllNewJobSelect = function () {\r\n\t\t angular.forEach(scope[itemList], function (d) {\r\n\t\t\td.checked = scope.selectAllNewJob;\r\n\t\t });\r\n\t\t}\r\n \r\n\t\tscope.resetAllSelect = function () {\r\n\t\t scope.selectAllNewJob = false;\r\n\t\t scope.showMinusNewJob = false;\r\n\t\t}\r\n\t }\r\n \r\n\t vm.implementSelectItemsNewJob('scheduleExceptionListNew', this);\r\n\r\n\t vm.JobView = function (ticketId) {\r\n\t\t$localStorage.backToOldJobList = '';\r\n\t\t $localStorage.SDate = startDate;\r\n\t\t $localStorage.EDate = endDate;\r\n\t\t \r\n\t\t $localStorage.TicketFilterModel ={\r\n\t\t\t\"JobLocation\" : vm.locationSearch,\r\n\t\t\t\"JobStatus\" : vm.searchStatusText,\r\n\t\t\t\"JobSDate\" : startDate,\r\n\t\t\t\"JobEDate\" : endDate, \r\n\t\t\t\"JobSkill\" : vm.skillsSearch,\r\n\t\t\t\"UserType\" : vm.UsersType,\r\n\t\t\t\"PageIndex\" : PageIndex \r\n\t\t } ;\r\n\t\t$localStorage.backToOldJobList = 'ManualAssignationTeamAssign';\r\n\t\t\r\n\t\t\r\n\t\t $state.go('index.JobDetailView', {\r\n\t\t\tticketId: ticketId\r\n\t\t })\r\n\t\t\r\n\t }\r\n\r\n\r\n\tvm.DisableScheduledExceptionButtons = function (disable) {\r\n\t if(disable){\r\n\t \t\tvm.disableExceptionButton = true;\t\t\t\r\n\t }\r\n\t else{\r\n\t \tvm.disableExceptionButton = false;\r\n\t }\r\n\t}\r\n\tvm.getAllDispatchUser = function () {\r\n\t\tScheduleExceptionListPagingService.getAllUserByReportingPerson(loggedinUser, token).then(function (resp) {\r\n\t\t vm.DSusers = resp.data;\r\n\t\t}, function () {\r\n\t\t})\r\n\t }\r\n\t vm.getAllDispatchUser();\r\n\r\n\r\n\tvm.resolveException = function(){\r\n\t\tvm.DisableScheduledExceptionButtons(true);\r\n\t\tvar exceptionIdList = []; \r\n\t\tangular.forEach(vm.scheduleExceptionListNew, function(d){\r\n\t\t if (d.checked) {\r\n\t\t\texceptionIdList.push(d.ExceptionId); \r\n\t\t }\r\n\t\t})\r\n\t\tvm.DisableScheduledExceptionButtons(true); \r\n\t\tScheduleExceptionListPagingService.ResolveException(loggedinUser, exceptionIdList, vm.createCallback(null, [function(data){\r\n\t\t\t\t\t$timeout(function(){ \r\n\t\t\t\t\t\tvm.selectSingle = false;\r\n\t\t\t\t\t\tvm.DisableScheduledExceptionButtons(false);\r\n\t\t\t\t\t\tvm.getAllJobForExceptionList(); \r\n\t\t\t\t\t }, 1000);\r\n\t\t}]), token);\r\n\t}\r\n\tvm.accounts=[];\r\n\tvm.getAllAccounts = function ( ) {\r\n\t\tScheduleExceptionListPagingService.getAllAccounts(loggedinUser, token).then(function (resp) { \r\n\t\t if (resp && resp.data) { \r\n\t\t\tif(resp.status==200)\r\n\t\t\t{\r\n\t\t\t vm.showAllAccounts = resp.data;\r\n\r\n\t\t\t}\r\n\t\t } \r\n\t\t}, function () { \r\n\t\t});\r\n\t}\r\n\tvm.getAllAccounts();\r\n\r\n\r\n\t}\r\n});\nangular.module('inspinia').service('SlaService', function ($log, $http, $localStorage, $window, ApiURL, PublicApiURL) {\r\n\r\n\r\n //https://perf.mymobiforce.com/coreapi/api/SLAConfiguration/3600000000001/CreateSLAConfiguration\r\n \tthis.createSla = function (loggedInUserId, data,token) {\r\n var url = ApiURL + '/api/SLAConfiguration/'+loggedInUserId+'/CreateSLAConfiguration/';\r\n return $http.post(url, data, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':loggedInUserId}\r\n });\r\n }\r\n\r\n //https://perf.mymobiforce.com/coreapi/api/SLAConfiguration/U350000000001/GetAllSLAConfiguration\r\n this.getAllSla = function (loggedInUserId, token) {\r\n var url = ApiURL + '/api/SLAConfiguration/'+loggedInUserId+'/GetAllSLAConfiguration/';\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':loggedInUserId}\r\n });\r\n } \r\n\r\n\r\n\r\n //https://perf.mymobiforce.com/coreapi/api/SLAConfiguration/U350000000001/SLA35000000000001/GetSLAConfiguration\r\n this.getSingleSla = function (loggedInUserId, slaId ,token) {\r\n var url = ApiURL + '/api/SLAConfiguration/'+loggedInUserId+'/'+slaId+'/GetSLAConfiguration/';\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':loggedInUserId}\r\n });\r\n } \r\n\r\n //https://perf.mymobiforce.com/coreapi/api/SLAConfiguration/U350000000001/UpdateSLAConfiguration\r\n this.UpdateSla = function (loggedInUserId, data,token) {\r\n var url = ApiURL + '/api/SLAConfiguration/'+loggedInUserId+'/UpdateSLAConfiguration/';\r\n return $http.put(url, data, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':loggedInUserId}\r\n });\r\n }\r\n\r\n // https://perf.mymobiforce.com/publicapi/api/Location/GetRegion?userId=U360000000001\r\n this.getRegionbyUserId = function (loggedInUserId, token) {\r\n var url = PublicApiURL + '/api/Location/GetRegion?userId='+loggedInUserId;\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':loggedInUserId}\r\n });\r\n }\r\n\r\n // https://perf.mymobiforce.com/coreapi/api/Project/U350000000001/U350000000001/GetProjectsByUserId\r\n this.getProjectsbyUserId = function (loggedInUserId, token) {\r\n var url = ApiURL + '/api/Project/'+loggedInUserId+'/'+loggedInUserId+'/GetProjectsByUserId';\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':loggedInUserId}\r\n });\r\n }\r\n\r\n // https://perf.mymobiforce.com/coreapi/api/SkillSets?reqUserId=U350000000001\r\n this.getSkills = function (loggedInUserId, token) {\r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedInUserId;\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':loggedInUserId}\r\n });\r\n }\r\n\r\n // https://perf.mymobiforce.com/coreapi/api/Customer?reqUserId=U350000000001\r\n this.getCustomers = function (loggedInUserId, token) {\r\n var url = ApiURL + '/api/Customer?reqUserId='+loggedInUserId;\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':loggedInUserId}\r\n });\r\n }\r\n\r\n // https://perf.mymobiforce.com/coreapi/api/Project/U350000000001/C0000000001/GetProjectsByCustomerId\r\n this.GetProjectsByCustomerId = function (loggedInUserId, customerId, token) {\r\n var url = ApiURL + '/api/Project/'+loggedInUserId+'/'+customerId+'/GetProjectsByCustomerId';\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':loggedInUserId}\r\n });\r\n }\r\n\r\n});\r\n\nangular.module('inspinia').controller('SLAListingController', function (SlaService, $state, $log, $localStorage, $uibModal, $scope, toaster,DTOptionsBuilder, DTColumnDefBuilder, $filter, $window, $timeout) {\r\n \r\n var vm = this;\r\n var loggedInUserId = $localStorage.loggedInUserId;\r\n\r\n if (!loggedInUserId) {\r\n $state.go('Login',{\r\n reload: true\r\n });\r\n } else {\r\n \r\n var token = $localStorage.token;\r\n vm.AllSlaList = '';\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.LocationCheck = false;\r\n vm.ProjectCheck = false;\r\n vm.CustomerCheck = false;\r\n vm.SkillsetCheck = false;\r\n vm.CalltypeCheck = false;\r\n vm.Location = '';\r\n vm.Project = '';\r\n vm.Customer = '';\r\n vm.SkillSet = '';\r\n vm.CallType = '';\r\n vm.dtInstance = {};\r\n \r\n \r\n vm.GetAllSLA = function () {\r\n SlaService.getAllSla(loggedInUserId, token).then(function(resp){\r\n if(resp && resp.data){\r\n vm.AllSlaList = resp.data;\r\n }\r\n })\r\n }\r\n vm.GetAllSLA();\r\n\r\n vm.searchTable = function () {\r\n vm.dtInstance.DataTable.search(vm.searchText);\r\n vm.dtInstance.DataTable.search(vm.searchText).draw();\r\n };\r\n\r\n\r\n vm.dtOptions = DTOptionsBuilder.newOptions().withDOM(\r\n '<\"html5buttons\"B>lTfgitp').withPaginationType(\r\n 'full_numbers')\r\n .withButtons([])\r\n .withOption('lengthChange', false)\r\n .withOption('initComplete', function () {\r\n $('.dataTables_filter input').unbind();\r\n })\r\n .withOption('order', [3, 'asc']);\r\n\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(7).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(8).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(9).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(10).notSortable()\r\n ];\r\n \r\n\r\n \r\n vm.OpenSettingModal = function(slaId){\r\n vm.getLocations();\r\n vm.getProjects();\r\n vm.getSkills();\r\n vm.getCustomers();\r\n SlaService.getSingleSla(loggedInUserId, slaId, token).then(function(resp){\r\n var singleList = [];\r\n if(resp && resp.data){\r\n var singleList = resp.data;\r\n vm.SlaID = singleList[0].SLAId,\r\n vm.SlaDefinition = singleList[0].SLADefinition;\r\n vm.Severity = singleList[0].Severity;\r\n vm.SlaValue = singleList[0].SLAValue;\r\n vm.Timing = singleList[0].SLACalender;\r\n vm.startTime = singleList[0].ShiftStartTime;\r\n vm.endTime = singleList[0].ShiftEndTime;\r\n vm.HolidaySchedule = singleList[0].HolidayListApplicable;\r\n vm.WorkingDays = singleList[0].NotWorkingDays;\r\n vm.HolidayList = singleList[0].HolidayList;\r\n vm.SlaActive = singleList[0].IsSLAActive;\r\n vm.Location = singleList[0].SLALocation;\r\n vm.Customer = singleList[0].Customer;\r\n vm.Project = singleList[0].Project;\r\n vm.SkillSet = singleList[0].Skill;\r\n vm.CallType = singleList[0].CallType;\r\n if(vm.Location){\r\n vm.LocationCheck = true;\r\n }\r\n if(vm.Customer){\r\n vm.CustomerCheck = true;\r\n /*$timeout(function () {\r\n vm.getProjectsbyCustomer(vm.Customer) \r\n }, 1000);*/\r\n }\r\n if(vm.Project){\r\n vm.ProjectCheck = true;\r\n }\r\n if(vm.SkillSet){\r\n vm.SkillsetCheck = true;\r\n }\r\n if(vm.CallType){\r\n vm.CalltypeCheck = true;\r\n }\r\n }\r\n })\r\n\r\n vm.SettingModal = $uibModal.open({\r\n templateUrl: 'Setting-modal',\r\n backdrop: 'static',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.getLocations = function () {\r\n SlaService.getRegionbyUserId(loggedInUserId, token).then(function(resp){\r\n if(resp && resp.data){\r\n vm.locationList = resp.data.values;\r\n }\r\n })\r\n }\r\n\r\n vm.getProjects = function () {\r\n vm.Project = '';\r\n SlaService.getProjectsbyUserId(loggedInUserId, token).then(function(resp){\r\n if(resp && resp.data){\r\n vm.projectList = resp.data;\r\n if(vm.Customer){\r\n \t$timeout(function () {\r\n vm.getProjectsbyCustomer(vm.Customer) \r\n }, 1000);\r\n }\r\n \r\n }\r\n })\r\n }\r\n\r\n vm.getSkills = function () {\r\n SlaService.getSkills(loggedInUserId, token).then(function(resp){\r\n if(resp && resp.data){\r\n vm.skillList = resp.data;\r\n }\r\n })\r\n }\r\n\r\n vm.getCustomers = function () {\r\n SlaService.getCustomers(loggedInUserId, token).then(function(resp){\r\n if(resp && resp.data){\r\n vm.customerList = resp.data;\r\n }\r\n })\r\n }\r\n\r\n vm.getProjectsbyCustomer = function(customerName){\r\n var CustomId = '';\r\n vm.projectList ='';\r\n angular.forEach(vm.customerList, function(d){\r\n if(d.CompanyName == customerName){\r\n CustomId = d.CustomerId;\r\n }\r\n })\r\n SlaService.GetProjectsByCustomerId(loggedInUserId, CustomId, token).then(function(resp){\r\n if(resp && resp.data){\r\n vm.projectList = resp.data;\r\n }\r\n })\r\n }\r\n\r\n\t\tvm.CloseSettingModal = function(){\r\n\t\t\tvm.LocationCheck = false;\r\n\t\t\tvm.CustomerCheck = false;\r\n\t\t\tvm.SkillsetCheck = false;\r\n\t\t\tvm.CalltypeCheck = false;\r\n\t\t\tvm.ProjectCheck = false;\r\n\t\t\tvm.SettingModal.close();\r\n\t\t}\r\n \r\n vm.Save = function(){\r\n var CustomerId = '';\r\n var ProjectId = '';\r\n angular.forEach(vm.customerList, function(d){\r\n if(d.CompanyName == vm.Customer){\r\n CustomerId = d.CustomerId;\r\n }\r\n })\r\n \r\n angular.forEach(vm.projectList, function(e){\r\n if(e.Name == vm.Project){\r\n ProjectId = e.ProjectId;\r\n }\r\n })\r\n\r\n var dataModel = {\r\n \"SLAId\": vm.SlaID,\r\n \"SLADefinition\": vm.SlaDefinition,\r\n \"Severity\": vm.Severity,\r\n \"SLAValue\": vm.SlaValue,\r\n \"SLACalender\": vm.Timing,\r\n \"ShiftStartTime\": vm.startTime,\r\n \"ShiftEndTime\": vm.endTime,\r\n \"HolidayListApplicable\": vm.HolidaySchedule,\r\n \"SLALocation\" : vm.Location,\r\n \"Skill\" : vm.SkillSet,\r\n \"CallType\" : vm.CallType,\r\n \"Project\" : vm.Project,\r\n \"ProjectId\": ProjectId,\r\n \"Customer\": vm.Customer,\r\n \"CustomerId\": CustomerId,\r\n \"IsSLAActive\" : vm.SlaActive,\r\n \"NotWorkingDays\": vm.WorkingDays?vm.WorkingDays:'',\r\n \"HolidayList\": vm.HolidayList?vm.HolidayList:'',\r\n }\r\n\r\n if(!vm.Location && !vm.Customer && !vm.Project && !vm.SkillSet && !vm.CallType){\r\n vm.showFailure(\"Failed\",\"Please select atleast one.\")\r\n }else {\r\n SlaService.UpdateSla(loggedInUserId, dataModel, token).then(function(resp){\r\n if(resp && resp.status==202 ){\r\n vm.showSuccess(\"Success\",\"Sla settings updated\");\r\n vm.CloseSettingModal();\r\n vm.GetAllSLA();\r\n $timeout(function () {\r\n $state.reload();\r\n }, 1000);\r\n }else if(resp.status == 206){ \r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }else{\r\n vm.showFailure(\"Failed\",\"Sla setting updation failed.Server is not responding correctly. Please try again later.\")\r\n }\r\n })\r\n }\r\n }\r\n\r\n vm.changeSlaSetting = function(sla){\r\n\r\n \t SlaService.UpdateSla(loggedInUserId, sla, token).then(function(resp){\r\n if(resp && resp.status==202 ){\r\n vm.showSuccess(\"Success\",\"Sla settings updated\");\r\n // vm.CloseSettingModal();\r\n // vm.GetAllSLA();\r\n \r\n }else if(resp.status == 206){ \r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }else{\r\n vm.showFailure(\"Failed\",\"Sla setting updation failed.Server is not responding correctly. Please try again later.\")\r\n }\r\n })\r\n\r\n\r\n\r\n }\r\n\r\n\r\n }\r\n});\r\n\nvar app =angular.module('inspinia').controller('SLACrationController', function (SlaService,$scope, $state, $filter,$stateParams, $timeout,$log, $localStorage, $uibModal, $scope, toaster, $filter, $window, $timeout) {\r\n var vm = this;\r\n\r\n var loggedInUserId = $localStorage.loggedInUserId;\r\n var slaId = $stateParams.slaId;\r\n\r\n if (!loggedInUserId) {\r\n $state.go('Login',{\r\n reload: true\r\n });\r\n } else {\r\n\r\n \tvar token = $localStorage.token;\r\n \tvm.readyList =\"\";\r\n vm.SLAId =\"\",\r\n \t vm.SlaDefinition = '';\r\n vm.Severity = '';\r\n vm.SlaValue = '';\r\n vm.slaValueInDays = 0;\r\n vm.TimeJobReceive ='';\r\n vm.Timing = '24X7';\r\n vm.startTime = '00:00';\r\n vm.endTime = '23:59';\r\n vm.Location = '';\r\n vm.Project = '';\r\n vm.ProjectId = '';\r\n vm.Customer = '';\r\n vm.CustomerId = '';\r\n vm.Skill = '';\r\n vm.CallType = '';\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n \tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n // vm.dayList = [\"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\", \"Sun\"]\r\n vm.HolidaySchedule = false;\r\n // vm.HolidayList = {\r\n // HolidayDate: moment().format(\"YYYY-MM-DD\"),\r\n // HolidayName: ''\r\n // };\r\n\r\n vm.model = {};\r\n\t\r\n\t // This property will be bound to checkbox in table header\r\n\t \r\n vm.model = [\r\n \r\n\t { \"key\": 1, \"value\": \"Mon\" , \"isChecked\":true },\r\n\t { \"key\": 2, \"value\": \"Tue\" , \"isChecked\":true },\r\n\t { \"key\": 3, \"value\": \"Wed\" ,\"isChecked\":true },\r\n\t { \"key\": 4, \"value\": \"Thu\" ,\"isChecked\":true },\r\n\t { \"key\": 5, \"value\": \"Fri\" ,\"isChecked\":true },\r\n\t { \"key\": 6, \"value\": \"Sat\" ,\"isChecked\":true },\r\n\t { \"key\": 0, \"value\": \"Sun\", \"isChecked\":true }\r\n\t \r\n\t ];\r\n\t vm.model.allItemsSelected = true;\r\n\r\n \r\n\t // This executes when entity in table is checked\r\n\t vm.selectEntity = function () {\r\n\t // If any entity is not checked, then uncheck the \"allItemsSelected\" checkbox\r\n\t for (var i = 0; i < vm.model.length; i++) {\r\n\t if (!vm.model[i].isChecked) {\r\n\t vm.model.allItemsSelected = false;\r\n\t return;\r\n\t }\r\n\t }\r\n\t\r\n\t //If not the check the \"allItemsSelected\" checkbox\r\n\t vm.model.allItemsSelected = true;\r\n\t };\r\n\t\r\n\t // This executes when checkbox in table header is checked\r\n\t vm.selectAll = function () {\r\n\t // Loop through all the entities and set their isChecked property\r\n\t for (var i = 0; i < vm.model.length; i++) {\r\n\t vm.model[i].isChecked = vm.model.allItemsSelected;\r\n\t }\r\n\t };\r\n\t if(!slaId){\r\n vm.selectAll();\r\n\t }\r\n\t \r\n vm.deSelectAll = function () {\r\n for (var i = 0; i < vm.model.length; i++) {\r\n vm.model[i].isChecked = false;\r\n }\r\n };\r\n vm.selectTimings = function(){\r\n vm.startTime = \"00:00\";\r\n vm.endTime = \"23:59\";\r\n }\r\n \r\n \r\n \r\n\r\n \tvm.HolidayList = [];\r\n \tvar List = {\r\n \t\t\t\"IsHolidayActive\": false,\r\n \t\t\t\"HolidayDate\": moment().format(\"YYYY-MM-DD\")\r\n\t}\r\n\tvm.HolidayList.push(List);\r\n\r\n\t vm.HolidayList.allItemsSelected = false;\r\n\r\n\r\n\r\n\tvm.AddHolidayList = function(){\r\n \t\tvar ele={\r\n \"IsHolidayActive\": false,\r\n \"HolidayDate\": moment().format(\"YYYY-MM-DD\")\r\n \t\t};\r\n \t\tvm.HolidayList.push(ele);\r\n\t}\r\n\tvm.RemoveHolidayList = function (index){\r\n \t\tvm.HolidayList.splice(index, 1);\r\n\t}\r\n\r\n\r\n vm.AddSLA = function(){\r\n vm.WorkingDays =[];\r\n vm.LeaveList =[];\r\n \r\n angular.forEach(vm.model,function(data){\r\n \tif(data.isChecked==false){\r\n \t\tvm.WorkingDays.push(data.key);\r\n \t}\t\r\n })\r\n vm.HolidaySchedule = JSON.parse(vm.HolidaySchedule);\r\n\r\n for(var i=0;i -1 ){\r\n vm.selectedFreelancers.splice(vm.selectedFreelancers.indexOf(data), 1);\r\n }\r\n else{\r\n vm.selectedFreelancers.push(data);\r\n }\r\n}\r\n\r\nvm.isSelected = function(data){\r\n var bool = vm.selectedFreelancers.indexOf(data) >-1;\r\n return bool;\r\n}\r\n\r\nvm.getProfilePic = function (profilePicName) {\r\n return profilePicName ? ImageUrl + \"/\" + profilePicName : DefaultImage;\r\n}\r\n\r\nvm.filterUsers = function(role){\r\n if (role == 'Field Engineer') {\r\n vm.filterUserData = 'Field Engineer';\r\n }else if(role == 'Freelancer'){\r\n vm.filterUserData = 'Freelancer';\r\n }else if(role == 'Vendor Manager'){\r\n vm.filterUserData = 'Vendor Manager';\r\n } \r\n}\r\n\r\nvm.ChangeMode = function (mode) {\r\n if(mode == 'List'){\r\n vm.Mode = 'List';\r\n if(vm.selectedTicket == ''){\r\n GetSchedulingEventforToday(loggedinUser);\r\n } else {\r\n vm.GetSchedulingResults();\r\n }\r\n }\r\n}\r\n\r\nvm.GetSchedulingResults = function(){\r\n\r\n vm.cities = [];\r\n vm.markers = [];\r\n if (vm.TicketStatus == 'New') {\r\n if (vm.selectedTicket=='' || vm.selectedTicket==null) {\r\n // vm.showFailure(\"Please select a job\");\r\n }else{\r\n var obj = {};\r\n var roleList = [];\r\n angular.forEach(vm.model, function(d){\r\n if(d.isChecked){\r\n roleList.push({\"UserRole\":d.Role, \"UserType\":d.userType});\r\n }\r\n })\r\n obj.OrderByUsers = [];\r\n obj.JobId = vm.selectedTicket.TicketId;\r\n\r\n // obj.jobId = vm.selectedTicket.LinkId?vm.selectedTicket.LinkId:vm.selectedTicket.TicketId;\r\n obj.JobAccountId = '';\r\n obj.FromDate = new Date().toISOString().slice(0,10);\r\n obj.ToDate = new Date().toISOString().slice(0,10);\r\n obj.ActOnCurrentLocation = vm.isCurrentLocation;\r\n obj.RangeFromJob = parseInt(vm.range*1000);\r\n obj.FETravelChargePerKM = 10;\r\n obj.TransportMode = vm.TransMode;\r\n obj.UserConfigList = roleList;\r\n if (vm.selectedFilter1!=undefined && vm.selectedFilter1!='') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 1;\r\n if (vm.selectedFilter1.indexOf('Distance')>=0) {\r\n orderObj.OrderByField = 'UserDistance'; \r\n }else if (vm.selectedFilter1.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating'; \r\n }else if (vm.selectedFilter1.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate'; \r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter2!=undefined && vm.selectedFilter2!='') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 2;\r\n if (vm.selectedFilter2.indexOf('Distance')>=0) {\r\n orderObj.OrderByField = 'UserDistance'; \r\n }else if (vm.selectedFilter2.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating'; \r\n }else if (vm.selectedFilter2.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter3!=undefined && vm.selectedFilter3!='') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 3;\r\n if (vm.selectedFilter3.indexOf('Distance')>=0) {\r\n orderObj.OrderByField = 'UserDistance';\r\n }else if (vm.selectedFilter3.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating';\r\n }else if (vm.selectedFilter3.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n\r\n ScheduleAssignService.GetSchedulingEvaluationResult(obj,loggedinUser,token).then(function(resp){\r\n if (resp && resp.status==200 && resp.data && resp.data.users.length>0) {\r\n vm.SuggestedUserList = [];\r\n vm.BroadcastedList = [];\r\n vm.BroadcastedUserList =[];\r\n vm.SuggestedUserList = resp.data;\r\n for(var i=0;i=0) {\r\n orderObj.OrderByField = 'UserDistance'; \r\n }else if (vm.selectedFilter1.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating'; \r\n }else if (vm.selectedFilter1.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate'; \r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter2!=undefined && vm.selectedFilter2!='') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 2;\r\n if (vm.selectedFilter2.indexOf('Distance')>=0) {\r\n orderObj.OrderByField = 'UserDistance'; \r\n }else if (vm.selectedFilter2.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating'; \r\n }else if (vm.selectedFilter2.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter3!=undefined && vm.selectedFilter3!='') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 3;\r\n if (vm.selectedFilter3.indexOf('Distance')>=0) {\r\n orderObj.OrderByField = 'UserDistance';\r\n }else if (vm.selectedFilter3.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating';\r\n }else if (vm.selectedFilter3.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n\r\n ScheduleAssignService.GetSchedulingEvaluationResult(obj,loggedinUser,token).then(function(resp){\r\n if (resp && resp.status==200 && resp.data && resp.data.users.length>0) {\r\n vm.SuggestedUserList = [];\r\n vm.SuggestedUserList =resp.data;\r\n for(var i=0;i=0) {\r\n orderObj.OrderByField = 'UserDistance'; \r\n }else if (vm.selectedFilter1.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating'; \r\n }else if (vm.selectedFilter1.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate'; \r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter2!=undefined && vm.selectedFilter2!='') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 2;\r\n if (vm.selectedFilter2.indexOf('Distance')>=0) {\r\n orderObj.OrderByField = 'UserDistance'; \r\n }else if (vm.selectedFilter2.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating'; \r\n }else if (vm.selectedFilter2.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter3!=undefined && vm.selectedFilter3!='') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 3;\r\n if (vm.selectedFilter3.indexOf('Distance')>=0) {\r\n orderObj.OrderByField = 'UserDistance';\r\n }else if (vm.selectedFilter3.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating';\r\n }else if (vm.selectedFilter3.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n\r\n ScheduleAssignService.GetSchedulingEvaluationResult(obj,loggedinUser,token).then(function(resp){\r\n if (resp && resp.status==200 && resp.data && resp.data.users.length>0) {\r\n vm.SuggestedUserList = [];\r\n\r\n vm.SuggestedUserList =resp.data;\r\n for(var i=0;itoday){\r\n var sdate = start_date.split(\" \")[0];\r\n var stime = start_date.split(\" \")[1];\r\n var edate = end_date.split(\" \")[0];\r\n var etime = end_date.split(\" \")[1];\r\n start_date = newdate + ' ' + stime;\r\n end_date = newdate + ' ' + etime;\r\n }*/\r\n // vm.AllAssignUserList.push({\"UserId\":Id,\"TicketId\":ticketid}); \r\n\r\n //var fromDate = new Date().toISOString().slice(0,10);\r\n //var toDate = new Date().toISOString().slice(0,10);\r\n\r\n var AssignList =[];\r\n\r\n if(vm.AllAssignUserDetails.length!=0){\r\n console.log(vm.AllAssignUserDetails);\r\n AssignList = $filter('filter')(vm.AllAssignUserDetails,function(value){\r\n // return value.UserId==Id && value.start_date==start_date;\r\n //return value.UserId==Id;\r\n return value.TicketId==ticket;\r\n\r\n })\r\n console.log(AssignList);\r\n /// it is used for the \r\n if(AssignList.length!=0){\r\n var checklinkId = AssignList[0].LinkId;\r\n AssignList =[];\r\n var evs = scheduler.getEvents();\r\n var checkList = $filter('filter')(evs,function(value){\r\n return value.LinkId==checklinkId;\r\n })\r\n var d = checkList[0].id;\r\n scheduler.deleteEvent(d);\r\n }\r\n\r\n if(AssignList.length==0){\r\n var eventId = scheduler.addEvent({\r\n start_date: start_date,\r\n end_date: end_date,\r\n assignedUserid: Id,\r\n status :status,\r\n Role :Role,\r\n TicketId:ticket,\r\n Distance :Distance,\r\n LinkId: linkId,\r\n SuggestedPrice:SuggestedPrice,\r\n Price : Price,\r\n Name : Name,\r\n userType :userType\r\n });\r\n\r\n vm.AllAssignUserDetails.push({\"UserId\":Id,\"TicketId\":ticketid,\"LinkId\":linkId,\"Role\":Role,\"start_date\":start_date,\"end_date\":end_date,\"Name\":Name,\"Distance\":Distance,\"SuggestedPrice\":SuggestedPrice,\"type\":userType,\"Price\": Price});\r\n // console.log(vm.AllAssignUserDetails);\r\n }\r\n }else if(vm.AllAssignUserDetails.length==0){\r\n var eventId = scheduler.addEvent({\r\n start_date: start_date,\r\n end_date: end_date,\r\n assignedUserid: Id,\r\n status :status,\r\n Role :Role,\r\n TicketId:ticket,\r\n LinkId: linkId,\r\n Distance :Distance,\r\n SuggestedPrice:SuggestedPrice,\r\n Price : Price,\r\n Name : Name,\r\n userType: userType,\r\n });\r\n\r\n vm.AllAssignUserDetails.push({\"UserId\":Id,\"TicketId\":ticketid,\"LinkId\":linkId,\"Role\":Role,\"start_date\":start_date,\"end_date\":end_date,\"Name\":Name,\"Distance\":Distance,\"SuggestedPrice\":SuggestedPrice,\"type\":userType,\"Price\": Price});\r\n\r\n }\r\n }\r\n\r\n /* vm.AssignTicketsTimeline = function () {\r\n vm.AllUserList =[];\r\n if(vm.selectedFreelancers == ''){\r\n vm.showFailure(\"Please select users.\")\r\n } else {\r\n angular.forEach(vm.selectedFreelancers,function(data){\r\n if(data.Role=='Field Engineer' && data.type=='Fixed Team') {\r\n vm.AllUserList.push({\"UserId\":data.UserId,\"TicketId\":data.TicketId,\"StartTime\":data.start_date,\"Endtime\":data.end_date,\"SuggestedPrice\":data.SuggestedPrice,\"AssignPrice\":data.Price ,\"Distance\":data.Distance})\r\n } else if (data.Role=='Field Engineer' && data.type == 'Freelancer') {\r\n vm.AllUserList.push({\"UserId\":data.UserId,\"TicketId\":data.TicketId,\"StartTime\":data.start_date,\"Endtime\":data.end_date,\"SuggestedPrice\":data.SuggestedPrice,\"AssignPrice\":data.Price ,\"Distance\":data.Distance})\r\n } else if (data.Role=='Vendor Manager' && data.type == 'Fixed Team') {\r\n vm.AllUserList.push({\"UserId\":data.UserId,\"TicketId\":data.TicketId,\"StartTime\":data.start_date,\"Endtime\":data.end_date,\"SuggestedPrice\":data.SuggestedPrice,\"AssignPrice\":data.Price ,\"Distance\":data.Distance})\r\n } else {\r\n vm.AllUserList.push({\"UserId\":data.UserId,\"TicketId\":data.TicketId,\"StartTime\":data.start_date,\"Endtime\":data.end_date,\"SuggestedPrice\":data.SuggestedPrice,\"AssignPrice\":data.Price ,\"Distance\":data.Distance})\r\n }\r\n })\r\n\r\n ScheduleAssignService.AssignTicketssTimeline(loggedinUser,vm.AllUserList,token).then(function(resp){\r\n if (resp.status == 200 && resp.data) {\r\n vm.showSuccess(\"Success\",\"Job Assigned Successfully\");\r\n // vm.TimeoutFunc(1500, vm.GetTicketsForAssignation());\r\n // vm.TimeoutFGetSchedulingEventforToday(loggedinUser));\r\n //vm.GetTicketsForAssignation();\r\n // GetSchedulingEventforToday(loggedinUser);\r\n vm.selectedFreelancers = [];\r\n vm.AssignModal.close();\r\n\r\n\r\n scheduler.clearAll();\r\n\r\n $timeout(function () {\r\n vm.mapMarkers=[];\r\n // vm.AssignModal.close();\r\n GetSchedulingEventforToday(loggedinUser);\r\n vm.GetTicketsForAssignation();\r\n }, 1500);\r\n // $timeout(function() {\r\n // vm.GetTicketsForAssignation();\r\n // }, 1000);\r\n if(vm.Mode=='Map') {\r\n $timeout(function () {\r\n vm.mapMarkers=[];\r\n vm.AssignModal.close();\r\n }, 1500);\r\n }\r\n }else {\r\n vm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n }\r\n })\r\n }\r\n }*/\r\n\r\n\r\n vm.AssignTicketsTimeline = function () {\r\n\r\n vm.AllUserList =[];\r\n angular.forEach(vm.AllAssignUserDetails,function(data){\r\n\r\n if(data.Role=='Field Engineer' && data.type=='Fixed Team' && data.isChecked ==true) {\r\n vm.AllUserList.push({\"UserId\":data.UserId,\"TicketId\":data.TicketId?data.TicketId:data.LinkId,\"StartTime\":data.start_date,\"Endtime\":data.end_date,\"SuggestedPrice\":data.SuggestedPrice,\"AssignPrice\":data.Price ,\"Distance\":data.Distance})\r\n } else if (data.Role=='Field Engineer' && data.type == 'Freelancer' && data.isChecked ==true) {\r\n vm.AllUserList.push({\"UserId\":data.UserId,\"TicketId\":data.TicketId?data.TicketId:data.LinkId,\"StartTime\":data.start_date,\"Endtime\":data.end_date,\"SuggestedPrice\":data.SuggestedPrice,\"AssignPrice\":data.Price ,\"Distance\":data.Distance})\r\n } else if (data.Role=='Vendor Manager' && data.type == 'Fixed Team' && data.isChecked ==true) {\r\n vm.AllUserList.push({\"UserId\":data.UserId,\"TicketId\":data.TicketId?data.TicketId:data.LinkId,\"StartTime\":data.start_date,\"Endtime\":data.end_date,\"SuggestedPrice\":data.SuggestedPrice,\"AssignPrice\":data.Price ,\"Distance\":data.Distance})\r\n } else if (data.Role=='Vendor Manager' && data.type == 'Freelancer' && data.isChecked ==true){\r\n vm.AllUserList.push({\"UserId\":data.UserId,\"TicketId\":data.TicketId?data.TicketId:data.LinkId,\"StartTime\":data.start_date,\"Endtime\":data.end_date,\"SuggestedPrice\":data.SuggestedPrice,\"AssignPrice\":data.Price ,\"Distance\":data.Distance})\r\n }\r\n })\r\n if(vm.AllUserList == ''){\r\n vm.showFailure(\"Please select users.\")\r\n } else {\r\n ScheduleAssignService.AssignTicketsTimeline(loggedinUser,vm.AllUserList,token).then(function(resp){\r\n if (resp && resp.data) {\r\n\r\n vm.showSuccess(\"Success\",\"Job Assigned Successfully\");\r\n scheduler.clearAll();\r\n\r\n $timeout(function () {\r\n vm.mapMarkers=[];\r\n vm.AssignModal.close();\r\n GetSchedulingEventforToday(loggedinUser);\r\n if(vm.TicketStatus==\"New\"){\r\n vm.GetTicketsForAssignation();\r\n }else if(vm.TicketStatus==\"ReadyToAssign\"){\r\n vm.getReadyToAssign();\r\n }\r\n\r\n\r\n }, 1500);\r\n if(vm.Mode=='Map') {\r\n $timeout(function () {\r\n vm.mapMarkers=[];\r\n vm.AssignModal.close();\r\n }, 1500);\r\n }\r\n }else {\r\n vm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n }\r\n })\r\n }\r\n\r\n }\r\n\r\n vm.clearData = function () {\r\n vm.AllAssignUserDetails = [];\r\n vm.selectedTicket = '';\r\n vm.mapMarkers = [];\r\n } \r\n\r\n\r\n vm.OpenBroadcastModal = function(){\r\n if(vm.BroadcastedUserList == ''){\r\n vm.showFailure(\"Not found\",\"No users found\");\r\n } else {\r\n $scope.BroadcastedUser.allItemsSelected = true;\r\n $scope.selectAllBoardUser();\r\n vm.BroadcastModal = $uibModal.open({\r\n templateUrl: 'Broadcast-modal',\r\n backdrop: 'static',\r\n size:'lg',\r\n scope: $scope\r\n });\r\n }\r\n }\r\n\r\n vm.CloseBroadcastModal = function(){\r\n vm.selectedFreelancers = [];\r\n vm.BroadcastModal.close();\r\n }\r\n\r\n vm.OpenAssignModal = function(){ \r\n vm.AllAssignUserDetails =[];\r\n var evs = scheduler.getEvents();\r\n var t = vm.TicketStatus;\r\n var uniqueEventlist = new Map(); \r\n\r\n\r\n var eventslist = $filter('filter')(evs,function(value){\r\n return value.Price ==0;\r\n })\r\n\r\n angular.forEach(evs,function(data){\r\n\r\n if(!uniqueEventlist.has(data.TicketId)){\r\n uniqueEventlist.set(data.TicketId);\r\n\r\n if(data.status=='New'){\r\n var Id= data.assignedUserid;\r\n var ticketid= data.TicketId;\r\n var linkid = data.LinkId;\r\n var start_date =moment(data.start_date).format('YYYY-MM-DD HH:mm');\r\n var end_date = moment(data.end_date).format('YYYY-MM-DD HH:mm');\r\n\r\n angular.forEach(vm.SuggestedUserList.users,function(value){\r\n if(value.id==Id && value.userType!='Freelancer'){ \r\n vm.AllAssignUserDetails.push({\"UserId\":Id,\"TicketId\":ticketid,\"LinkId\":linkid,\"Role\":value.role,\"start_date\":start_date,\"end_date\":end_date,\"Name\":value.name,\"Distance\":value.UserDistance,\"SuggestedPrice\":value.BIDCounterRate,\"type\":value.userType,\"Price\": value.BIDCounterRate});\r\n\r\n }\r\n\r\n })\r\n }else if(data.status=='Broadcasted'){\r\n var Id= data.assignedUserid;\r\n var ticketid= data.TicketId;\r\n var linkid = data.LinkId;\r\n var start_date =moment(data.start_date).format('YYYY-MM-DD HH:mm');\r\n var end_date = moment(data.end_date).format('YYYY-MM-DD HH:mm');\r\n\r\n angular.forEach(vm.SuggestedUserList.users,function(value){\r\n if(value.id==Id){\r\n\r\n vm.AllAssignUserDetails.push({\"UserId\":Id,\"TicketId\":ticketid,\"LinkId\":linkid,\"Role\":value.role,\"start_date\":start_date,\"end_date\":end_date,\"Name\":value.name,\"Distance\":value.UserDistance,\"SuggestedPrice\":value.BIDCounterRate,\"type\":value.userType,\"Price\": value.BIDCounterRate});\r\n // console.log(vm.AllAssignUserDetails);\r\n }\r\n\r\n })\r\n }else if(data.status=='ReadyToAssign'){\r\n\r\n var Id= data.assignedUserid;\r\n var ticketid= data.TicketId;\r\n var linkid = data.LinkId;\r\n var start_date =moment(data.start_date).format('YYYY-MM-DD HH:mm');\r\n var end_date = moment(data.end_date).format('YYYY-MM-DD HH:mm');\r\n\r\n angular.forEach(vm.SuggestedUserList.users,function(value){\r\n if(value.id==Id){\r\n\r\n vm.AllAssignUserDetails.push({\"UserId\":Id,\"TicketId\":ticketid,\"LinkId\":linkid,\"Role\":value.role,\"start_date\":start_date,\"end_date\":end_date,\"Name\":value.name,\"Distance\":value.UserDistance,\"SuggestedPrice\":value.BIDCounterRate,\"type\":value.userType,\"Price\": value.BIDCounterRate});\r\n // console.log(vm.AllAssignUserDetails);\r\n }\r\n\r\n })\r\n }\r\n }\r\n })\r\n $scope.AssignSelectedUser = vm.AllAssignUserDetails;\r\n $scope.AssignSelectedUser.allItemsSelected = true;\r\n $scope.selectAll();\r\n\r\n vm.AssignModal = $uibModal.open({\r\n templateUrl: 'Assign-modal',\r\n size:'lg',\r\n backdrop: 'static',\r\n scope: $scope\r\n });\r\n // }\r\n }\r\n\r\n vm.CloseAssignModal = function(){\r\n vm.selectedFreelancers = [];\r\n vm.AssignModal.close();\r\n }\r\n\r\n\r\n //Broadcast Bids/Jobs\r\n vm.BroadcastTicket = function(){\r\n\r\n\r\n var BidData = [];\r\n var obj = {};\r\n var time = '';\r\n var hrs = '';\r\n var min = '';\r\n obj.JobID = vm.selectedTicket.TicketId;\r\n obj.BIDDuration = vm.selectedTicket.BidDuration;\r\n // obj.BroadCastRate = vm.selectedTicket.BroadcastRate\r\n //obj.BroadCastGrossRate = vm.selectedTicket.BroadcastGrossRate\r\n obj.MobiforceCommissionPercentage = parseInt(vm.selectedTicket.MobiforceCommission);\r\n // obj.FixedBidPrice = true;\r\n BidData.push(obj);\r\n\r\n\r\n var UserData = [];\r\n /* angular.forEach(vm.selectedFreelancers, function (d) {\r\n if (d) {*/\r\n angular.forEach($scope.BroadcastedUser, function (d) {\r\n if (d.isChecked==true) {\r\n // UserData.push(d.UserId);\r\n UserData.push({\"UserId\":d.UserId,\"SuggestedPrice\":parseInt(d.SuggestedPrice),\"Price\":parseInt(d.Price) ,\"Distance\":d.Distance});\r\n } \r\n });\r\n var checklist = $filter('filter')(UserData,function(value){\r\n return value.Price ==0;\r\n })\r\n if(checklist.length!=0){\r\n vm.showFailure(\"Failed\", \"Bid price can't be zero.\");\r\n }else{\r\n if (BidData.length > 0 && UserData.length > 0) {\r\n var data = {\r\n \"JobId\": vm.selectedTicket.TicketId,\r\n \"BIDDuration\": vm.selectedTicket.BidDuration,\r\n \"MobiforceCommissionPercentage\": parseInt(vm.selectedTicket.MobiforceCommission),\r\n \"Users\": UserData\r\n };\r\n //$log.log('BradcastedJobs', data);\r\n vm.BroadcastModal.close();\r\n\r\n ScheduleAssignService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 201 || resp.status == 200) {\r\n vm.toaster_success.body = 'Jobs Broadcasted Successfully';\r\n toaster.pop(vm.toaster_success);\r\n vm.selectedFreelancers = [];\r\n $timeout(function () {\r\n vm.GetTicketsForAssignation();\r\n }, 1500);\r\n\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", \"Please select users.\");\r\n }\r\n }) \r\n } else {\r\n vm.showFailure(\"Failed\", \"Please select jobs and users.\");\r\n }\r\n } \r\n\r\n }\r\n\r\n//Assign Tickets\r\nvm.AssignTickets = function (role, userId) {\r\n if (role == 'Field Engineer') {\r\n ScheduleAssignService.AssignTickets(userId,loggedinUser,vm.selectedTicket.TicketId,token).then(function(resp){\r\n if (resp && resp.data) {\r\n vm.showSuccess(\"Success\",\"Job Assigned Successfully\");\r\n vm.TimeoutFunc(1500, vm.GetTicketsForAssignation());\r\n // $timeout(function() {\r\n // vm.GetTicketsForAssignation();\r\n // }, 1000);\r\n if(vm.Mode=='Map') {\r\n $timeout(function () {\r\n vm.mapMarkers=[];\r\n vm.AssignModal.close();\r\n }, 1500);\r\n }\r\n }else {\r\n vm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n }\r\n })\r\n }else if (role == 'Vendor Manager') {\r\n }\r\n}\r\n\r\n //MAP INTEGRATION\r\n vm.MapIntegration = function(){\r\n //for Initial Loading\r\n if(vm.selectedTicket==''){\r\n vm.mapMarkers = [];\r\n //Today's Scheduling Events\r\n angular.forEach(vm.SuggestedUserList.tickets, function(d){\r\n var customer = {};\r\n customer.lat = d.latitude;\r\n customer.long = d.longitude;\r\n customer.StartTime = d.start_date;\r\n customer.Address = d.city+' '+d.state;\r\n customer.ConsumerName = d.customerName;\r\n customer.ContactNumber = 'NA';\r\n customer.Role = 'Customer';\r\n customer.Status = d.status;\r\n customer.AssignedUser = d.assignedUserName;\r\n customer.JobId = d.id;\r\n customer.StartDate = d.start_date;\r\n customer.EndDate = d.end_date;\r\n vm.mapMarkers.push(customer);\r\n })\r\n angular.forEach(vm.SuggestedUserList.users, function(d){\r\n var obj = {};\r\n obj.UserName = d.name;\r\n obj.BIDCounterRate = vm.round2Decimal(d.BIDCounterRate);\r\n obj.UserRating = d.UserRating?d.UserRating:0;\r\n obj.UserDistance = vm.round2Decimal(d.UserDistance);\r\n obj.UserLatitude = d.UserLatitude;\r\n obj.UserLongitude = d.UserLongitude;\r\n obj.UserContact = d.contactnumber?d.contactnumber:'NA';\r\n obj.UserImage = vm.getProfilePic(d.UserProfilePhoto);\r\n obj.Role = d.role;\r\n obj.userType = d.userType;\r\n vm.mapMarkers.push(obj);\r\n })\r\n //New Jobs\r\n if(vm.TicketStatus == 'New'){\r\n angular.forEach(vm.AllTicketList, function(d){\r\n var customer = {};\r\n var DefaultLat = parseFloat(d.Latitude);\r\n var DefaultLong = parseFloat(d.Longitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = d.City+' '+d.State;\r\n customer.ConsumerName = d.ConsumerName;\r\n customer.JobType = d.JobType;\r\n customer.ContactNumber = 'NA';\r\n customer.Role = 'Customer';\r\n customer.Status = 'New';\r\n customer.JobId = d.TicketId;\r\n customer.StartDate = d.StartTime;\r\n customer.EndDate = d.EndTime;\r\n vm.mapMarkers.push(customer);\r\n })\r\n //Broadcasted Jobs\r\n } else if (vm.TicketStatus == 'Broadcasted'){\r\n angular.forEach(vm.BroadcastedJobList, function(d){\r\n var customer = {};\r\n var DefaultLat = parseFloat(d.JobLatitude);\r\n var DefaultLong = parseFloat(d.JobLongitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = d.Location;\r\n customer.ConsumerName = d.CustomerName;\r\n customer.JobType = d.JobType;\r\n customer.ContactNumber = 'NA';\r\n customer.Role = 'Customer';\r\n customer.Status = 'Broadcasted';\r\n customer.JobId = d.JobId;\r\n customer.StartDate = d.StartDateTime;\r\n customer.EndDate = d.EndDateTime;\r\n vm.mapMarkers.push(customer);\r\n })\r\n } else if (vm.TicketStatus == 'ReadyToAssign'){\r\n angular.forEach(vm.ReadyToAssignList, function(d){\r\n var customer = {};\r\n var DefaultLat = parseFloat(d.JobLatitude);\r\n var DefaultLong = parseFloat(d.JobLongitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = d.Location;\r\n customer.ConsumerName = d.CustomerName;\r\n customer.JobType = d.JobType;\r\n customer.ContactNumber = 'NA';\r\n customer.Role = 'Customer';\r\n customer.Status = 'ReadyToAssign';\r\n customer.JobId = d.JobId;\r\n customer.StartDate = d.StartDateTime;\r\n customer.EndDate = d.EndDateTime;\r\n vm.mapMarkers.push(customer);\r\n })\r\n }\r\n //on Job Selection\r\n } else {\r\n vm.mapMarkers = [];\r\n var customer = {};\r\n //Adding Customer Site on Ticket Status Basis\r\n if(vm.TicketStatus == 'New') {\r\n var DefaultLat = parseFloat(vm.selectedTicket.Latitude);\r\n var DefaultLong = parseFloat(vm.selectedTicket.Longitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = vm.selectedTicket.City+' '+vm.selectedTicket.State;\r\n customer.ConsumerName = vm.selectedTicket.ConsumerName;\r\n customer.Status = vm.selectedTicket.TicketStatus;\r\n customer.JobId = vm.selectedTicket.TicketId;\r\n customer.StartDate = vm.selectedTicket.StartTime;\r\n customer.EndDate = vm.selectedTicket.EndTime;\r\n } \r\n else if (vm.TicketStatus == 'Broadcasted') {\r\n var DefaultLat = parseFloat(vm.selectedTicket.JobLatitude);\r\n var DefaultLong = parseFloat(vm.selectedTicket.JobLongitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = vm.selectedTicket.Location;\r\n customer.ConsumerName = vm.selectedTicket.CustomerName;\r\n customer.Status = vm.selectedTicket.Status;\r\n customer.JobId = vm.selectedTicket.JobId;\r\n customer.StartDate = vm.selectedTicket.StartDateTime;\r\n customer.EndDate = vm.selectedTicket.EndDateTime;\r\n } else if (vm.TicketStatus == 'ReadyToAssign') {\r\n var DefaultLat = parseFloat(vm.selectedTicket.JobLatitude);\r\n var DefaultLong = parseFloat(vm.selectedTicket.JobLongitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = vm.selectedTicket.Location;\r\n customer.ConsumerName = vm.selectedTicket.CustomerName;\r\n customer.Status = vm.selectedTicket.Status;\r\n customer.JobId = vm.selectedTicket.JobId;\r\n customer.StartDate = vm.selectedTicket.StartDateTime;\r\n customer.EndDate = vm.selectedTicket.EndDateTime;\r\n }\r\n customer.JobType = vm.selectedTicket.JobType;\r\n customer.ContactNumber = 'NA';\r\n customer.Role = 'Customer';\r\n vm.mapMarkers.push(customer);\r\n\r\n //Adding Users into Marker\r\n angular.forEach(vm.SuggestedUserList.users,function(d){\r\n var obj = {};\r\n if (d && d.UserLatitude && d.UserLongitude) {\r\n obj.UserName = d.name;\r\n // obj.BIDApplyDateTime = d.BIDApplyDateTime;\r\n // obj.BIDApplyStatus = d.BIDApplyStatus;\r\n obj.BIDCounterRate = vm.round2Decimal(d.BIDCounterRate);\r\n obj.JobId = d.id;\r\n // obj.UserCurrentJobs = d.UserCurrentJobs;\r\n // obj.UserId = d.UserId;\r\n obj.UserRating = d.UserRating?d.UserRating:0;\r\n // obj.UserTotalJobs = d.UserTotalJobs;\r\n obj.UserDistance = vm.round2Decimal(d.UserDistance);\r\n obj.UserLatitude = d.UserLatitude;\r\n obj.UserLongitude = d.UserLongitude;\r\n obj.UserContact = d.contactnumber?d.contactnumber:'NA';\r\n obj.UserImage = vm.getProfilePic(d.UserProfilePhoto);\r\n // if (obj.Role=='Freelancer') {\r\n // obj.AssigButton = false; \r\n // }else{\r\n // obj.AssigButton = true;\r\n // }\r\n obj.Role = d.role;\r\n obj.userType = d.userType;\r\n vm.mapMarkers.push(obj);\r\n }\r\n })\r\n }\r\n\r\n\r\n //Setting the Map Options\r\n vm.MapOptions = {\r\n center: new google.maps.LatLng(DefaultLat, DefaultLong),\r\n // zoom: 20,\r\n mapTypeId: google.maps.MapTypeId.ROADMAP\r\n }\r\n\r\n //Initializing the InfoWindow, Map and LatLngBounds objects.\r\n vm.InfoWindow = new google.maps.InfoWindow();\r\n vm.Latlngbounds = new google.maps.LatLngBounds();\r\n vm.Map = new google.maps.Map(document.getElementById(\"map-canvas\"), vm.MapOptions);\r\n\r\n //Looping through the Array and adding Markers.\r\n for(var i=0; iimage
\"\r\n vm.InfoWindow.setContent(\"

\"+data.ConsumerName+\"


\"+' '+data.JobId+\"
\"+' '+data.Status+\"
\"+' '+data.AssignedUser+\"
\"+' '+moment(data.StartDate).format(\"YYYY-MM-DD HH:mm\")+\"
\"+' '+moment(data.EndDate).format(\"YYYY-MM-DD HH:mm\")+\"
\"+' '+data.Address+\"
\"); \r\n } else if(data.Status == 'Completed'){\r\n //var content = \"
image
\"\r\n vm.InfoWindow.setContent(\"

\"+data.ConsumerName+\"


\"+' '+data.JobId+\"
\"+' '+data.Status+\"
\"+' '+data.AssignedUser+\"
\"+' '+moment(data.StartDate).format(\"YYYY-MM-DD HH:mm\")+\"
\"+' '+moment(data.EndDate).format(\"YYYY-MM-DD HH:mm\")+\"
\"+' '+data.Address+\"
\"); \r\n } \r\n else {\r\n //var content = \"
image
\"\r\n vm.InfoWindow.setContent(\"

\"+data.ConsumerName+\"


\"+' '+data.JobId+\"
\"+' '+data.Status+\"
\"+' '+moment(data.StartDate).format(\"YYYY-MM-DD HH:mm\")+\"
\"+' '+moment(data.EndDate).format(\"YYYY-MM-DD HH:mm\")+\"
\"+' '+data.Address+\"
\");\r\n }\r\n vm.InfoWindow.open(vm.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n vm.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, data);\r\n vm.Latlngbounds.extend(marker.position);\r\n }else{\r\n ticketLatlng = new google.maps.LatLng(data.UserLatitude, data.UserLongitude);\r\n //Initializing the Marker object.\r\n if(data.Role == 'Field Engineer' && data.userType == 'Freelancer'){\r\n var marker = new google.maps.Marker({\r\n position: ticketLatlng,\r\n map: vm.Map,\r\n title: data.UserName,\r\n animation: google.maps.Animation.DROP,\r\n //icon: flIcon,\r\n icon: {\r\n url: UIURL+'/assets/images/patterns/mascot_icon2.png',\r\n labelOrigin: new google.maps.Point(80, 52),\r\n },\r\n\r\n label: {\r\n text: data.UserName,\r\n color: \"#1a237e\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n position:\"absolute\"\r\n }\r\n }); \r\n }else if (data.Role == 'Field Engineer' && data.userType == 'Fixed Team') {\r\n var marker = new google.maps.Marker({\r\n position: ticketLatlng,\r\n map: vm.Map,\r\n title: data.UserName,\r\n animation: google.maps.Animation.DROP,\r\n //icon: ftIcon,\r\n icon: {\r\n url: UIURL+'/assets/images/patterns/mascot_icon2.png',\r\n labelOrigin: new google.maps.Point(80, 52),\r\n },\r\n label: {\r\n text: data.UserName,\r\n color: \"#1a237e\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n position:\"absolute\"\r\n\r\n }\r\n });\r\n } else if (data.Role == 'Vendor Manager' && data.userType == 'Fixed Team') {\r\n var marker = new google.maps.Marker({\r\n position: ticketLatlng,\r\n map: vm.Map,\r\n title: data.UserName,\r\n animation: google.maps.Animation.DROP,\r\n //icon: vIcon,\r\n icon: {\r\n url: UIURL+'/assets/images/patterns/mascot_icon2.png',\r\n labelOrigin: new google.maps.Point(80, 52),\r\n },\r\n label: {\r\n text: data.UserName,\r\n color: \"#1a237e\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n position:\"absolute\"\r\n\r\n }\r\n });\r\n } else if (data.Role == 'Vendor Manager' && data.userType == 'Freelancer') {\r\n var marker = new google.maps.Marker({\r\n position: ticketLatlng,\r\n map: vm.Map,\r\n title: data.UserName,\r\n animation: google.maps.Animation.DROP,\r\n //icon: fvIcon,\r\n icon: {\r\n url: UIURL+'/assets/images/patterns/mascot_icon2.png',\r\n labelOrigin: new google.maps.Point(80, 52),\r\n },\r\n label: {\r\n text: data.UserName,\r\n color: \"#1a237e\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n position:\"absolute\"\r\n\r\n }\r\n });\r\n }\r\n\r\n //Adding InfoWindow to the Marker.\r\n (function (marker, data) {\r\n google.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n if(data.Role == 'Field Engineer' && data.userType == 'Fixed Team'){\r\n var Role = 'Field Engineer';\r\n } else if(data.Role == 'Field Engineer' && data.userType == 'Freelancer'){\r\n var Role = 'Freelancer';\r\n } else if(data.Role == 'Vendor Manager' && data.userType == 'Fixed Team') {\r\n var Role = 'Vendor Manager';\r\n } else {\r\n var Role = 'Freelancer Vendor';\r\n }\r\n var content = \"
image
\"+' '+data.UserName+\"
\"+' '+data.UserContact+\"
\"+' '+data.UserDistance+\" Kms
\"+' '+data.BIDCounterRate+\"
\"+' '+Role+\"
\"\r\n vm.InfoWindow.setContent(content);\r\n vm.InfoWindow.open(vm.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n vm.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, data); \r\n // vm.Latlngbounds.extend(marker.position);\r\n }\r\n //Plotting the Marker on the Map. \r\n }\r\n //Adjusting the Map for best display.\r\n vm.Map.setCenter(vm.Latlngbounds.getCenter());\r\n // vm.Map.fitBounds(vm.Latlngbounds);\r\n vm.Map.setZoom(13);\r\n \r\n }\r\n\r\n//Global Calls\r\nvm.GetTicketsForAssignation();\r\n}\r\n\r\nfunction GetSchedulingEventforToday(supervisiorId){\r\n //scheduler.clearAll();\r\n var accountId='';\r\n \r\n /*var fromDate = new Date().toISOString().slice(0,10);\r\n var toDate = new Date().toISOString().slice(0,10);*/\r\n /*var fromDate =\"2018-12-13\"\r\n var toDate = \"2019-01-03\"*/\r\n var date = new Date();\r\n var fromDate = new Date(date.getFullYear(), date.getMonth(), 1);\r\n fromDate = moment(fromDate).format(\"YYYY-MM-DD\");\r\n var toDate = new Date(date.getFullYear(), date.getMonth() + 1, 0);\r\n toDate = moment(toDate).format(\"YYYY-MM-DD\");\r\n ScheduleAssignService.GetSchedulingEventToday(accountId,supervisiorId,fromDate,toDate,token).then(function(resp){\r\n if (resp && resp.status == 200 && resp.data) {\r\n vm.SuggestedUserList = [];\r\n\r\n vm.SuggestedUserList = resp.data;\r\n\r\n var evs = scheduler.getEvents();\r\n\r\n angular.forEach(evs,function(val){\r\n if(val.status=='New'){\r\n var id =val.id;\r\n scheduler.deleteEvent(id); \r\n }\r\n })\r\n init();\r\n }\r\n })\r\n vm.MapIntegration();\r\n }\r\n GetSchedulingEventforToday(loggedinUser);\r\n\r\n\r\n\r\n\r\n\r\n $scope.selectEntity = function () {\r\n // If any entity is not checked, then uncheck the \"allItemsSelected\" checkbox\r\n for (var i = 0; i < $scope.AssignSelectedUser.length; i++) {\r\n if (!$scope.AssignSelectedUser[i].isChecked) {\r\n $scope.AssignSelectedUser.allItemsSelected = false;\r\n return;\r\n }\r\n }\r\n\r\n //If not the check the \"allItemsSelected\" checkbox\r\n $scope.AssignSelectedUser.allItemsSelected = true;\r\n };\r\n\r\n // This executes when checkbox in table header is checked\r\n $scope.selectAll = function () {\r\n // Loop through all the entities and set their isChecked property\r\n for (var i = 0; i < $scope.AssignSelectedUser.length; i++) {\r\n $scope.AssignSelectedUser[i].isChecked = $scope.AssignSelectedUser.allItemsSelected;\r\n }\r\n };\r\n\r\n\r\n\r\n\r\n $scope.selectEntityBoardUser = function () {\r\n // If any entity is not checked, then uncheck the \"allItemsSelected\" checkbox\r\n for (var i = 0; i < $scope.BroadcastedUser.length; i++) {\r\n if (!$scope.BroadcastedUser[i].isChecked) {\r\n $scope.BroadcastedUser.allItemsSelected = false;\r\n return;\r\n }\r\n }\r\n\r\n //If not the check the \"allItemsSelected\" checkbox\r\n $scope.BroadcastedUser.allItemsSelected = true;\r\n };\r\n\r\n // This executes when checkbox in table header is checked\r\n $scope.selectAllBoardUser = function () {\r\n // Loop through all the entities and set their isChecked property\r\n for (var i = 0; i < $scope.BroadcastedUser.length; i++) {\r\n $scope.BroadcastedUser[i].isChecked = $scope.BroadcastedUser.allItemsSelected;\r\n }\r\n };\r\n\r\n\r\n\r\n function init() {\r\n\r\n scheduler.locale.labels.timeline_tab = \"Timeline\";\r\n scheduler.locale.labels.section_custom=\"Section\";\r\n // scheduler.config.details_on_create=true;\r\n // scheduler.config.details_on_dblclick=true;\r\n scheduler.config.dblclick_create = false; \r\n\r\n scheduler.config.xml_date=\"%Y-%m-%d %H:%i\";\r\n var format = scheduler.date.date_to_str(\"%H:%i\");\r\n scheduler.config.touch_tooltip = true;\r\n scheduler.config.drag_resize= false;\r\n\r\n\r\n \r\n\r\n //it is used for the drag and drop functionality \r\n scheduler.attachEvent(\"onBeforeDrag\", function (event_id, mode, native_event_object){\r\n\r\n var ev = scheduler.getEvent(event_id);\r\n if(ev.status=='Assigned'){\r\n return false;\r\n } if(ev.status=='Completed'){\r\n return false;\r\n } \r\n else{\r\n return true; \r\n }\r\n });\r\n\r\n\r\n\r\n// this is used when we drag the event in one use to another user but the time is still same \r\nscheduler.attachEvent(\"onBeforeEventChanged\", function(ev, e, is_new, original){\r\n\r\n if (original.assignedUserid == ev.assignedUserid) \r\n return false;\r\n\r\n ev.start_date = original.start_date;\r\n ev.end_date = original.end_date;\r\n return true;\r\n});\r\n\r\n\r\n\r\n\r\n //this methd is used to stop the open the popup on double click \r\n scheduler.attachEvent(\"onDblClick\", function (id, e){ \r\n return false;\r\n });\r\n\r\n\r\n\r\n if(vm.SuggestedUserList.users.length!=0){\r\n var sections =[];\r\n var sections =vm.SuggestedUserList;\r\n if(vm.selectedTicket.Status==\"ReadyToAssign\"){\r\n var sectionlist = $filter('filter')(sections.users,function(value){\r\n // return value.BIDCounterRate!=0;\r\n return value.BIDCounterRate;\r\n })\r\n sections.users = sectionlist;\r\n }\r\n }else{\r\n var sections =[];\r\n var sections = vm.SuggestedUserList;\r\n // var sections.users =[];\r\n }\r\n\r\n /* scheduler.templates.event_bar_text = function(sd, ed, ev){\r\n return format(sd)+\" - \"+format(ed);\r\n }*/\r\n\r\n\r\n //this is used for the tooltip\r\n scheduler.templates.tooltip_text = function(start,end,event) { \r\n var t = event.id;\r\n t = t.toString();\r\n var res = t.charAt(0);\r\n if(res==\"1\"){\r\n var Id = event.LinkId?event.LinkId:event.TicketId;\r\n }else{\r\n var Id = event.id;\r\n }\r\n return \"Job Status : \"+event.status+\"
\"+ \r\n\r\n \"Job Id : \"+Id+\"
\"+ \r\n \"Start Time : \" + scheduler.templates.tooltip_date_format(start) + \"
\" +\r\n \"End Time : \" + scheduler.templates.tooltip_date_format(end);\r\n\r\n };\r\n\r\n// this is used for creating two event in the same slot \r\n scheduler.config.collision_limit = 5; //allows creating 2 events per time slot\r\n/*scheduler.attachEvent(\"onEventLoading\", function(ev){ \r\n return scheduler.checkCollision(ev); \r\n});\r\n*/\r\n\r\n\r\n\r\n\r\nscheduler.createTimelineView({\r\n name: \"timeline\",\r\n x_date: \"%H:%i\",\r\n x_unit:\"minute\",// the scale parameters will be calculated in minutes\r\n x_step:30, //sets the '30 minute' step, e.g. 09:00 - 09:30\r\n x_size:24, // the number of '30 minute's in the interval 09:00 - 15:00\r\n // 15 - 9 = 6 hours = 360 minutes = 360/30 = 12\r\n x_start:18, //scale starts from 09:00,i.e. 9 hours from the default start- 00:00.\r\n // 9 hours = 540 minutes = 540/30 = 18 'x_step's \r\n x_length:48,//sc\r\n y_unit: scheduler.serverList('sections',sections.users),\r\n y_property: \"assignedUserid\",\r\n render:\"bar\",\r\n });\r\n\r\nscheduler.ignore_timeline = function(date){\r\n //non-work hours\r\n if (date.getHours() < 8 || date.getHours() > 18) return true;\r\n };\r\n\r\n\r\n scheduler.templates.timeline_scale_label =function(key, label,sections){\r\n if(sections.userType=='Fixed Team' && sections.role=='Field Engineer'){\r\n var UserIdentity ='FE';\r\n\r\n } else if(sections.userType=='Freelancer' && sections.role=='Field Engineer'){\r\n var UserIdentity ='FL';\r\n\r\n } else if(sections.userType=='Fixed Team' && sections.role=='Vendor Manager'){\r\n var UserIdentity ='V';\r\n\r\n } else if(sections.userType=='Freelancer' && sections.role=='Vendor Manager'){\r\n var UserIdentity ='FV';\r\n \r\n }\r\n var ratings = sections.UserRating?sections.UserRating:0;\r\n if(sections.BIDCounterRate!=null){\r\n return \"
\\\r\n
image
\\\r\n
\\\r\n
\"+sections.name+\"\"+UserIdentity+\"
\\\r\n

\"+sections.contactnumber+\"

\\\r\n

\"+ moment(sections.LastLocationDateTime).format(\"DD/MM/YYYY HH:mm\")+\"

\\\r\n
\\\r\n \"+ratings+\"\\\r\n \\\r\n \"+round2Decimal(sections.UserDistance)+\" km \\\r\n \"+sections.UserDuration+\" Min\\\r\n
\\\r\n
\\\r\n
\";\r\n }else{\r\n return \"
\\\r\n
image
\\\r\n
\\\r\n
\"+sections.name+\"\"+UserIdentity+\"
\\\r\n

\"+sections.contactnumber+\"

\\\r\n

\"+ moment(sections.LastLocationDateTime).format(\"DD/MM/YYYY HH:mm\")+\"

\\\r\n
\\\r\n \"+ratings+\"\\\r\n \"+sections.UserDuration+\" Min\\\r\n
\\\r\n
\";\r\n }\r\n\r\n };\r\n\r\n\r\n function getPic(profilePic) {\r\n return profilePic ? ImageUrl + '/' + profilePic : DefaultImage;\r\n }\r\n\r\n function round2Decimal(no) {\r\n return Math.round(no * 100) / 100; \r\n }\r\n\r\n\r\n\r\n\r\n\r\n scheduler.attachEvent(\"onBeforeViewChange\", function(old_mode,old_date,mode,date){\r\n //any custom logic here\r\n\r\n vm.mode =mode;\r\n return true;\r\n });\r\n\r\n/*scheduler.templates.event_text=function(start, end, event){\r\n return \"
\"+Id+\"
\";\r\n}\r\n*/\r\n\r\n //timeline event bar text is used for timeline mode\r\n scheduler.templates.event_bar_text = function (start, end, event) {\r\n var t = event.id;\r\n t = t.toString();\r\n var res = t.charAt(0);\r\n if(res==\"1\"){\r\n var Id = event.LinkId?event.LinkId:event.TicketId;\r\n }else{\r\n var Id =event.LinkId?event.LinkId:event.id;\r\n }\r\n return \"
\"+Id+\"
\";\r\n};\r\n\r\n// it is used when we dislay in month mode\r\nscheduler.templates.event_bar_date = function(start,end,event){\r\n var t = event.id;\r\n t = t.toString();\r\n var res = t.charAt(0);\r\n if(res==\"1\"){\r\n var Id = event.LinkId?event.LinkId:event.TicketId;\r\n }else{\r\n var Id = event.LinkId?event.LinkId:event.id;\r\n }\r\n return \"\"+Id+\" \";\r\n};\r\n\r\n // it is used for the week basis \r\n scheduler.templates.event_header = function(start,end,event){\r\n var t = event.id;\r\n t = t.toString();\r\n var res = t.charAt(0);\r\n if(res==\"1\"){\r\n var Id = event.LinkId?event.LinkId:event.TicketId;\r\n }else{\r\n var Id =event.LinkId?event.LinkId:event.id;\r\n }\r\n return \"
\"+Id+\"
\";\r\n\r\n};\r\n\r\n\r\n\r\n//this is used for the status \r\nscheduler.templates.event_class = function (start, end, event) {\r\n if(vm.mode=='timeline'){\r\n scheduler.config.readonly = false;\r\n if (event.status == \"Assigned\") {\r\n return \"Assigned\";\r\n }\r\n if (event.status == \"New\") {\r\n return \"New\";\r\n }\r\n if (event.status == \"Broadcasted\") {\r\n return \"Broadcasted\";\r\n } \r\n if (event.status == \"Completed\") {\r\n return \"Completed\";\r\n }if(event.status ==\"ReadyToAssign\"){\r\n return \"ReadyToAssign\";\r\n }\r\n return \"dhx_rent_payed\";\r\n\r\n}\r\nelse if(vm.mode=='week' || vm.mode=='month' || vm.mode=='day'){\r\n scheduler.config.readonly = true;\r\n if (event.status == \"Assigned\") {\r\n return \"Assigned1\";\r\n }\r\n if (event.status == \"New\") {\r\n return \"New1\";\r\n }\r\n if (event.status == \"Broadcasted\") {\r\n return \"Broadcasted1\";\r\n } \r\n if (event.status == \"Completed\") {\r\n return \"Completed1\";\r\n }if(event.status ==\"ReadyToAssign\"){\r\n return \"ReadyToAssign1\";\r\n }\r\n return \"dhx_rent_payed1\";\r\n}\r\n\r\n};\r\n\r\nscheduler.init('scheduler_here',new Date(),\"timeline\");\r\n\r\nif(sections.tickets.length!=0){\r\n\r\n var sectionlist = $filter('filter')(sections.tickets,function(value){\r\n // return value.UserId==Id && value.start_date==start_date;\r\n //return value.UserId==Id;\r\n return value.status=='Completed' || value.status=='Assigned';\r\n\r\n })\r\n sections.tickets = sectionlist;\r\n scheduler.parse(sections.tickets,\"json\");\r\n}\r\n\r\n //scheduler.parse(sections.tickets,\"json\");\r\n\r\n }\r\n\r\n//init();\r\nvm.GetAllStates = function () {\r\n //U310000000001\r\n VendorCreationService.getAllState(loggedinUser).then(function (resp) {\r\n if (resp.data) {\r\n if (!angular.equals(vm.stateList, resp.data.values)) {\r\n vm.stateList = resp.data.values;\r\n }\r\n }\r\n })\r\n}\r\nvm.GetAllStates();\r\n})\r\n\nangular.module('inspinia').service('RosterShiftService',function($http,ApiURL,SchedulingAPI,StaffSchedulingAPI,FreelancerURL,PublicApiURL){\r\n\r\n this.GetSchedulingEvaluationResult = function(data,reqUserId,token){\r\n \tvar url = SchedulingAPI + 'x='+reqUserId;\r\n \treturn $http.post(url,data,{\r\n \t\theaders:{'Content-Type':'application/json','Token':token}\r\n \t})\r\n\r\n }\r\n\r\n this.BroadCastJobsforUser = function(loggedinUser,data, token){\r\n var url = FreelancerURL + '/api/BID/createBidFromAssistedScheduling?reqUserId=' + loggedinUser;\r\n return $http.post(url,data,{\r\n headers:{\r\n 'Content-Type':'application/json',\r\n 'Token': token\r\n }\r\n });\r\n }\r\n\r\n // this.getCountry = function (loggedInUserId, token){\r\n // var url = PublicApiURL + '/api/Address/GetCountry?userId=' + loggedInUserId;\r\n // return $http.get(url, {\r\n // headers:{'Token':token}\r\n // });\r\n // }\r\n\r\n this.getStates = function (loggedInUserId, token, country) {\r\n var url = PublicApiURL + '/api/Address/GetStates?userId=' + loggedInUserId + '&country=' + country;\r\n return $http.get(url,{\r\n headers:{'Token':token,}\r\n });\r\n }\r\n\r\n this.getCities = function (loggedInUserId, token, state) {\r\n var url = PublicApiURL + '/api/Address/GetCities?userId=' + loggedInUserId + '&state=' + state;\r\n return $http.get(url, {\r\n headers:{'Token':token}\r\n });\r\n }\r\n\r\n this.GetDataForShiftView = function(data,loggedInUserId,token){\r\n var url = StaffSchedulingAPI + '/api/StaffShift/GetDataForShiftView';\r\n return $http.put(url,data,{\r\n headers:{\r\n 'Content-Type':'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n })\r\n\r\n }\r\n\r\n this.AutoAssignTickets = function(reqUserId,ticketId, token){\r\n var url = SchedulingAPI + '/api/AutoJobAssign/AutoScheduleAllJobsDemo?reqUserId='+reqUserId +'&TicketIds='+ticketId;\r\n return $http.put(url,{}, {\r\n headers:{'Content-Type':'application/json','Token':token,'UserId': reqUserId\r\n }\r\n }) \r\n }\r\n\r\n\r\n this.AutoAssignTicketsForToday = function(reqUserId,selectedDate, transMode, itemNames,itemValues,token){\r\n var url = SchedulingAPI + '/api/AutoJobAssign/AutoScheduleAllJobsDemo?reqUserId='+reqUserId+'&scheduleDate='+selectedDate + '&transMode='+transMode +\r\n \"&itemNames=\" + itemNames + \"&itemValues=\" + itemValues;\r\n return $http.put(url,{}, {\r\n headers:{'Content-Type':'application/json','Token':token,'UserId': reqUserId\r\n }\r\n }) \r\n }\r\n\r\n\r\n this.AssignTickets = function(userId,reqUserId,ticketId, token){\r\n var TicketId = ticketId.split(',');\r\n var url = ApiURL + '/api/Ticket/' + userId + '/' + reqUserId + '/AssignTicket'\r\n return $http.put(url,TicketId, {\r\n headers:{'Content-Type':'application/json','Token':token\r\n }\r\n }) \r\n }\r\n \r\n\r\n this.AssignTicketsTimeline = function(reqUserId,list, token){\r\n var url = ApiURL + '/api/Ticket/' + reqUserId + '/AssignTicketForAssistedScheduling'\r\n return $http.put(url,list,{\r\n headers:{'Content-Type':'application/json','Token':token}\r\n })\r\n }\r\n\r\n this.GetTicketsByStatus = function (loggedinUser, itemNames,itemValues, token) {\r\n var url = FreelancerURL + '/api/BID/'+loggedinUser+'/' + itemNames + '/'+ itemValues + '/getjobsbyfilter';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetTicketsByStatusDemo = function (loggedinUser, itemNames,itemValues, fromDate, toDate, token) {\r\n var url = FreelancerURL + '/api/BID/'+loggedinUser+'/' + itemNames + '/'+ itemValues + '/' + fromDate + '/' + toDate + '/getjobsbyfilterDemo';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetEligibleUserForShiftSwap = function (shiftId, loggedinUser, token) {\r\n var url = StaffSchedulingAPI + '/api/StaffShift/GetEligibleUserForShiftSwap?ShiftId=' + shiftId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.ShiftSwapToUser = function (shiftId, userId, loggedinUser, token) {\r\n var url = StaffSchedulingAPI + '/api/StaffShift/ShiftSwapToUser?ShiftId=' + shiftId + '&UserId=' + userId;\r\n return $http.put(url, null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n})\nvar app = angular.module('inspinia').controller('RosterShiftController', function (RosterShiftService, DTColumnBuilder,shiftManagementService, jobBidCreationService, UIURL, FreelancerFixedService,\r\n $log, $state, $localStorage, $stateParams, CentralHelpdeskConfigService, EmployeeShiftMapService,CentralHDTicketsViewService, $uibModal, AssignationRuleService, SchedulingRuleService, VendorCreationService, $scope, DTOptionsBuilder, DTColumnDefBuilder, toaster, $timeout, $compile,\r\n uiCalendarConfig, ImageUrl, $filter) {\r\n\r\n\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var loggedinUserSkill = $localStorage.loggedInUser_SkillSet;\r\n var loggedinUserRegion = $localStorage.loggedInUser_Region;\r\n if (!loggedinUser) {\r\n\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n var token = $localStorage.token;\r\n //Global Variable Declaration\r\n vm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n vm.loggedInUserVendorId = $localStorage.loggedInUser_VendorId;\r\n vm.loggedInUserReportingTo = $localStorage.loggedInUser_ReportingTo;\r\n vm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n vm.TimeoutFunc = $scope.$parent.$parent.main.TimeoutFunc;\r\n vm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n vm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n vm.loggedinAs = $localStorage.loggedinAs;\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.MobiforceCommission = vm.getAccountConfigSetting('MobiforceCommissionPercentage');\r\n vm.VendorAssignation = vm.getAccountConfigSetting('VendorAssignation');\r\n vm.EnableRegion = vm.getAccountConfigSetting('EnableRegion');\r\n vm.FreelancerAccess = vm.getAccountConfigSetting('FreelancerAccess');\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n vm.AllTicketList = '';\r\n vm.filterCriteria1 = [\"Price\", \"Distance\", \"Ratings\"];\r\n vm.filterCriteria2 = [\"Price\", \"Distance\", \"Ratings\"];\r\n vm.filterCriteria3 = [\"Price\", \"Distance\", \"Ratings\"];\r\n vm.selectedFilter1 = 'Distance';\r\n vm.selectedFilter2 = 'Ratings';\r\n vm.selectedFilter3 = 'Price';\r\n vm.disablefilters = true;\r\n vm.range = '10';\r\n vm.TerritoryState = '';\r\n vm.NewJob = true;\r\n vm.isCurrentLocation = false;\r\n vm.selectedRow = null; // initialize our variable to null\r\n vm.selectedFreelancers = [];\r\n vm.SuggestedUserList = [];\r\n vm.AssignTicektData = [];\r\n vm.AllAssignUserDetails = [];\r\n $scope.AssignSelectedUser = {};\r\n $scope.AssignSelectedUser.allItemsSelected = false;\r\n vm.AllAssignUserList = [];\r\n vm.BroadcastedUserList = [];\r\n vm.ReadyToAssignList = [];\r\n $scope.BroadcastedUser = {};\r\n $scope.BroadcastedUser.allItemsSelected = false;\r\n vm.TransMode = 'driving';\r\n vm.IsMaterialDelivered = $localStorage.accountConfig.IsMaterialDelivered;\r\n vm.IsBroadcastPermision = true;\r\n vm.IsAssignPermision = true;\r\n vm.Mode = 'List';\r\n vm.TicketStatus = 'New';\r\n vm.cities = [];\r\n vm.markers = [];\r\n var itemNames = '';\r\n var itemValues = '';\r\n vm.otherfilter = '';\r\n vm.DateField = 'CreatedOn';\r\n var NewJobIcon = UIURL + '/assets/images/patterns/JOb_icon.png';\r\n var BroadcastedJobIcon = UIURL + '/assets/images/patterns/JOb_icon.png';\r\n var AssignedJobIcon = UIURL + '/assets/images/patterns/JOb_icon.png';\r\n var CompletedJobIcon = UIURL + '/assets/images/patterns/JOb_icon.png';\r\n var flIcon = UIURL + '/assets/images/patterns/mascot_icon2.png';\r\n var ftIcon = UIURL + '/assets/images/patterns/mascot_icon2.png';\r\n var fvIcon = UIURL + '/assets/images/patterns/mascot_icon2.png';\r\n var vIcon = UIURL + '/assets/images/patterns/mascot_icon2.png';\r\n var DefaultImage = UIURL + '/assets/images/patterns/Photo1.png';\r\n vm.InfoWindow;\r\n vm.selectedTicket = '';\r\n vm.BroadcastedJobList = '';\r\n var startDate = moment().startOf('isoWeek').isoWeekday(1).format(\"YYYY-MM-DD\");\r\n var endDate = moment().endOf('isoWeek').isoWeekday(7).format(\"YYYY-MM-DD\");\r\n $scope.dates = { startDate: startDate, endDate: endDate };\r\n $scope.ranges = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last week': [moment().startOf('week').isoWeekday(1), moment().endOf('week').isoWeekday(0)],\r\n 'This week': [moment().startOf('isoWeek').isoWeekday(1), moment().endOf('isoWeek').isoWeekday(7)],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')]\r\n };\r\n\r\n\r\n\r\n $scope.dateRangeChange = function (ev, picker) {\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n GetSchedulingEventforToday(loggedinUser);\r\n\r\n };\r\n\r\n $scope.editingData = {};\r\n $scope.editingFPrice = {};\r\n $scope.modify = function (list) {\r\n $scope.editingData[list.UserId] = true;\r\n };\r\n\r\n $scope.modifyFPrice = function (list) {\r\n $scope.editingFPrice[list.UserId] = true;\r\n };\r\n\r\n\r\n $scope.update = function (list) {\r\n if (list.Price == 0) {\r\n vm.showFailure(\"Failed\", \"Bid price can't be zero.\");\r\n } else {\r\n list.TPrice = (Number)(list.Price) + ((list.Price * vm.GSTPercentange) / 100);\r\n list.FPrice = (list.Price) - ((list.Price * vm.MobiforceCommission) / 100);\r\n $scope.editingData[list.UserId] = false;\r\n }\r\n\r\n };\r\n\r\n $scope.updateFPrice = function (list) {\r\n if (list.FPrice == 0) {\r\n vm.showFailure(\"Failed\", \"price can't be zero.\");\r\n } else {\r\n list.Price = (list.FPrice * 100) / (100 - vm.MobiforceCommission);\r\n list.TPrice = (Number)(list.Price) + ((list.Price * vm.GSTPercentange) / 100);\r\n\r\n $scope.editingFPrice[list.UserId] = false;\r\n }\r\n\r\n };\r\n\r\n vm.Technicianviewtypes = [\r\n {\r\n name: 'All',\r\n value: 'All'\r\n },\r\n {\r\n name: 'New',\r\n value: 'New'\r\n },\r\n {\r\n name: 'ReadyToAssign',\r\n value: 'ReadyToAssign'\r\n },\r\n\r\n {\r\n name: 'Broadcasted',\r\n value: 'Broadcasted'\r\n },\r\n\r\n {\r\n name: 'Approved',\r\n value: 'Approved'\r\n },\r\n {\r\n name: 'Assigned',\r\n value: 'Assigned'\r\n },\r\n {\r\n name: 'Cancelled',\r\n value: 'Cancelled'\r\n },\r\n {\r\n name: 'OnSite',\r\n value: 'OnSite'\r\n },\r\n {\r\n name: 'Lunch',\r\n value: 'Lunch'\r\n },\r\n {\r\n name: 'InTransite',\r\n value: 'InTransite'\r\n },\r\n {\r\n name: 'Completed',\r\n value: 'Completed'\r\n },\r\n {\r\n name: 'Rejected',\r\n value: 'Rejected'\r\n },\r\n {\r\n name: 'On Hold',\r\n value: 'Hold'\r\n },\r\n ];\r\n vm.technicianuserviewtype = vm.Technicianviewtypes[0].value;\r\n vm.userviewlayout = vm.technicianuserviewtype;\r\n vm.globalsearch = '';\r\n vm.userviewtype = function (userview) {\r\n vm.globalsearch = userview;\r\n vm.getAllTicketList();\r\n }\r\n\r\n vm.Filter = function () {\r\n if (vm.otherfilter == 'New' || vm.otherfilter == \"ReadyToAssign\") {\r\n itemNames = 'Ticket Status';\r\n itemValues = vm.otherfilter;\r\n }\r\n else {\r\n itemNames = 'Ticket Status';\r\n itemValues = vm.technicianuserviewtype;\r\n }\r\n if (vm.VerticalName != 'IMS' || vm.VerticalName != 'Spectro Labs') {\r\n if (loggedinUserSkill == \"VSAT\") {\r\n itemNames += \"Template\";\r\n itemValues += \"VSAT CCR\";\r\n } else if (loggedinUserSkill == \"LeaseLine\") {\r\n itemNames += \"Template\";\r\n itemValues += \"LeaseLine CCR\";\r\n }\r\n }\r\n\r\n if (vm.VerticalName == 'IMS') {\r\n if (loggedinUserSkill == \"VSAT\") {\r\n itemNames += \",Template\";\r\n itemValues += \",VSAT CCR\";\r\n } else if (loggedinUserSkill == \"LeaseLine\") {\r\n itemNames += \",Template\";\r\n itemValues += \",LeaseLine CCR\";\r\n }\r\n }\r\n\r\n if (vm.TerritoryState != '') {\r\n itemNames += \",State\";\r\n itemValues = itemValues + \",\" + vm.TerritoryState;\r\n }\r\n }\r\n vm.getAllTicketList = function () {\r\n var fromDate = startDate;\r\n var toDate = endDate;\r\n vm.Filter();\r\n RosterShiftService.GetTicketsByStatusDemo(loggedinUser, itemNames, itemValues, fromDate, toDate, token).then(function (resp) {\r\n if (resp && resp.status == 200 && resp.data) {\r\n //var ticketData = [];\r\n vm.AllTicketLists = resp.data;\r\n // ticketData = vm.AllTicketLists; \r\n vm.disablefilters = false;\r\n\r\n // GetSchedulingEventfordates(loggedinUser, fromDate, toDate);\r\n scheduler.clearAll();\r\n }\r\n })\r\n }\r\n\r\n vm.getAllTicketList();\r\n\r\n vm.round2Decimal = function (no) {\r\n return Math.round(no * 100) / 100;\r\n }\r\n\r\n\r\n $scope.class1 = false;\r\n vm.addRemoveRedClass = function () {\r\n if ($scope.class1) {\r\n $scope.class1 = false;\r\n } else {\r\n $scope.class1 = true;\r\n }\r\n }\r\n\r\n\r\n\r\n vm.model = {};\r\n vm.model.allItemsSelected = false;\r\n\r\n // if(vm.FreelancerAccess){\r\n // vm.model = [{ \"key\": 1, \"Role\": \"Field Engineer\", \"userType\": \"Fixed Team\", \"Value\":\"Field Engineer\"},\r\n // { \"key\": 2, \"Role\": \"Field Engineer\", \"userType\":\"Freelancer\", \"Value\":\"Freelancer\"},\r\n // { \"key\": 3, \"Role\": \"Vendor Manager\", \"userType\": \"Fixed Team\", \"Value\":\"Vendor\"},\r\n // { \"key\": 4, \"Role\": \"Vendor Manager\", \"userType\":\"Freelancer\", \"Value\":\"Freelancer Vendor\"}\r\n // ];\r\n // }else{\r\n // vm.model = [\r\n // { \"key\": 1, \"Role\": \"Field Engineer\", \"userType\": \"Fixed Team\", \"Value\":\"Field Engineer\"},\r\n // { \"key\": 3, \"Role\": \"Vendor Manager\", \"userType\": \"Fixed Team\", \"Value\":\"Vendor\"}\r\n // ];\r\n // }\r\n\r\n if (vm.FreelancerAccess) {\r\n vm.model = [{ \"key\": 1, \"Role\": \"Field Engineer\", \"userType\": \"Fixed Team\", \"Value\": \"Fixed Team\" },\r\n { \"key\": 2, \"Role\": \"Field Engineer\", \"userType\": \"Freelancer\", \"Value\": \"Freelancers/Contractors\" },\r\n { \"key\": 3, \"Role\": \"Vendor Manager\", \"userType\": \"Freelancer\", \"Value\": \"Third party vendors\" }\r\n ];\r\n } else {\r\n vm.model = [{ \"key\": 1, \"Role\": \"Field Engineer\", \"userType\": \"Fixed Team\", \"Value\": \"Fixed Team\" },\r\n { \"key\": 2, \"Role\": \"Field Engineer\", \"userType\": \"Freelancer\", \"Value\": \"Freelancers/Contractors\" },\r\n { \"key\": 3, \"Role\": \"Vendor Manager\", \"userType\": \"Freelancer\", \"Value\": \"Third party vendors\" }\r\n ];\r\n }\r\n\r\n vm.ticketdates = { startDate: moment().subtract(7, 'day'), endDate: moment() };\r\n vm.ticketranges = {\r\n 'Today': [moment(), moment()],\r\n // 'Yesterday': [moment().subtract(1, 'days'), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')]\r\n };\r\n\r\n vm.getSkills = function () {\r\n CentralHDTicketsViewService.getSkills(loggedinUser, token, function (skills) {\r\n vm.skills = skills;\r\n }, vm.showFailure);\r\n }\r\n vm.getSkills();\r\n\r\n vm.statusList = [];\r\n vm.getJobAllStatus = function () {\r\n CentralHDTicketsViewService.getJobAllStatus(loggedinUser, token, function (data) {\r\n //vm.statusList = data;\r\n angular.forEach(data, function (status) {\r\n if (status.StatusName == 'On Hold') {\r\n status.StatusName = 'Hold';\r\n }\r\n vm.statusList.push(status.StatusName);\r\n })\r\n }, vm.showFailure);\r\n }\r\n vm.getJobAllStatus();\r\n\r\n vm.GetAllStates = function () {\r\n CentralHDTicketsViewService.getStates(loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length > 0) {\r\n vm.states = resp.data;\r\n }\r\n }\r\n });\r\n }\r\n vm.GetAllStates();\r\n\r\n vm.getAllAccounts = function () {\r\n CentralHelpdeskConfigService.getAllAccounts(loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n if (resp.status == 200) {\r\n vm.HDAllAccounts = resp.data;\r\n\r\n }\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n vm.getAllAccounts();\r\n\r\n vm.getAllCustomer = function () {\r\n CentralHDTicketsViewService.getAllCustomers(loggedinUser, token).then(function (resp) {\r\n vm.CustomerList = resp.data;\r\n })\r\n }\r\n\r\n vm.GetProjectByCustomer = function () {\r\n vm.ProjectListByCustomer = [];\r\n angular.forEach(vm.CustomerList, function (customer) {\r\n if (customer.CompanyName == vm.SearchByCName) {\r\n vm.ProjectListByCustomer = customer.Projects;\r\n }\r\n })\r\n }\r\n\r\n vm.getAllCustomer();\r\n\r\n vm.GetCustomerByAccount = function () {\r\n var SelectedAccountId = '';\r\n angular.forEach(vm.HDAllAccounts, function (account) {\r\n if (account.AccountName == vm.SearchByAccountName) {\r\n SelectedAccountId = account.AccountId;\r\n }\r\n })\r\n CentralHDTicketsViewService.GetCustomersByAccount(loggedinUser, SelectedAccountId, token).then(function (resp) {\r\n vm.CustomerList = resp.data;\r\n })\r\n }\r\n $scope.isOpen = false;\r\n $scope.isOpen1 = false;\r\n $scope.isCollapsed = true;\r\n $scope.isCollapsed0 = true;\r\n $scope.isCollapsed1 = true;\r\n $scope.isCollapsed2 = true;\r\n $scope.isCollapsed3 = true;\r\n $scope.isCollapsed4 = true;\r\n $scope.isCollapsed5 = true;\r\n $scope.isCollapsed6 = true;\r\n $scope.isCollapsed7 = true;\r\n $scope.isCollapsed8 = true;\r\n $scope.isCollapsed9 = true;\r\n $scope.isCollapsed10 = true;\r\n $scope.isCollapsed11 = true;\r\n $scope.isCollapsed12 = true;\r\n $scope.isCollapsed13 = true;\r\n $scope.isCollapsed14 = true;\r\n $scope.isCollapsed15 = true;\r\n $scope.isCollapsed16 = true;\r\n $scope.isCollapsed17 = true;\r\n $scope.isCollapsed18 = true;\r\n $scope.isCollapsed19 = true;\r\n $scope.isCollapsed20 = true;\r\n $scope.isCollapsed21 = true;\r\n $scope.isCollapsed22 = true;\r\n $scope.isCollapsed23 = true;\r\n $scope.isCollapsed24 = true;\r\n $scope.isCollapsed25 = true;\r\n $scope.isCollapsed26 = true;\r\n $scope.isCollapsed27 = true;\r\n $scope.isCollapsed28 = true;\r\n $scope.isCollapsed29 = true;\r\n $scope.isCollapsed30 = true;\r\n $scope.isCollapsed31 = true;\r\n $scope.isCollapsed32 = true;\r\n $scope.isCollapsed33 = true;\r\n $scope.isCollapsed34 = true;\r\n $scope.isCollapsed35 = true;\r\n $scope.isCollapsed36 = true;\r\n $scope.isCollapsed37 = true;\r\n $scope.isCollapsed38 = true;\r\n $scope.isCollapsed39 = true;\r\n $scope.isCollapsed40 = true;\r\n $scope.isCollapsed41 = true;\r\n $scope.isCollapsed42 = true;\r\n $scope.isCollapsed43 = true;\r\n\r\n $scope.openAnalysisReport = function (analysisDetails) {\r\n $localStorage.UploadId = analysisDetails.UploadId;\r\n $scope.showAnalysisReport = !$scope.showAnalysisReport;\r\n angular.element('#filter-visible-area').removeClass(\"filter-slider-visible\");\r\n }\r\n $scope.backScreen = function () {\r\n $scope.showAnalysisReport = false;\r\n angular.element('#filter-visible-area').addClass(\"filter-slider-visible\");\r\n }\r\n // $scope.class1 = false;\r\n // vm.addRemoveRedClass = function (UploadId) {\r\n // $localStorage.UploadId = UploadId;\r\n // if ($scope.class1) {\r\n // $scope.class1 = false;\r\n // } else {\r\n // $scope.class1 = true;\r\n // }\r\n // }\r\n\r\n vm.RedirectToConfiguration = function () {\r\n $state.go('index.SchedulerRuleConfig', { reload: true });\r\n }\r\n\r\n vm.selectEntityFilter = function () {\r\n var newList = [];\r\n var usersList = angular.copy(vm.SuggestedUserList.users);\r\n vm.TestCase = false;\r\n for (var i = 0; i < vm.model.length; i++) {\r\n if (!vm.model[i].isChecked) {\r\n vm.TestCase = true;\r\n vm.model.allItemsSelected = false;\r\n var Role = vm.model[i].Role;\r\n var userType = vm.model[i].userType;\r\n var allIndex = [];\r\n /*usersList.some(function(obj, x) {\r\n if(obj.role == Role && obj.userType == userType){\r\n delete usersList[x];\r\n } else {\r\n false;\r\n }\r\n });*/\r\n newList = [];\r\n /*angular.forEach(usersList, function(d){\r\n if(d){\r\n newList.push(d);\r\n }\r\n })*/\r\n }\r\n }\r\n if (newList == '' && vm.TestCase == false) {\r\n newList = vm.SuggestedUserList.users;\r\n // scheduler.updateCollection(\"sections\", newList);\r\n vm.model.allItemsSelected = true;\r\n } else {\r\n // scheduler.updateCollection(\"sections\", newList);\r\n }\r\n };\r\n\r\n vm.selectAllFilter = function () {\r\n for (var i = 0; i < vm.model.length; i++) {\r\n vm.model[i].isChecked = vm.model.allItemsSelected;\r\n }\r\n /*if(vm.model.allItemsSelected==true){\r\n scheduler.updateCollection(\"sections\", vm.SuggestedUserList.users);\r\n }else{\r\n var freelist =[];\r\n scheduler.updateCollection(\"sections\",freelist);\r\n }*/\r\n };\r\n vm.model.allItemsSelected = true;\r\n vm.selectAllFilter();\r\n\r\n\r\n vm.FilterData = function (item, level) {\r\n if (level == 1) {\r\n vm.filterCriteria2 = [];\r\n angular.forEach(vm.filterCriteria1, function (d) {\r\n if (d != item) {\r\n vm.filterCriteria2.push(d);\r\n }\r\n })\r\n } else if (level == 2) {\r\n vm.filterCriteria3 = [];\r\n angular.forEach(vm.filterCriteria1, function (d) {\r\n if (d != item) {\r\n if (d != vm.selectedFilter1) {\r\n vm.filterCriteria3.push(d);\r\n }\r\n }\r\n })\r\n }\r\n }\r\n\r\n vm.GetMobCommission = function (data) {\r\n vm.MobiforceCommission = data;\r\n }\r\n\r\n vm.GetServiceTax = function (data) {\r\n vm.GSTPercentange = data;\r\n }\r\n\r\n\r\n jobBidCreationService.GetMobCommission(loggedinUser, token, vm.GetMobCommission);\r\n jobBidCreationService.GetServiceTax(loggedinUser, token, vm.GetServiceTax);\r\n\r\n\r\n\r\n\r\n vm.setClickedRowNew = function (index, data) {\r\n\r\n //need to fix assisted scheduling. returning for now\r\n return true;\r\n\r\n\r\n //function that sets the value of selectedRow to current index\r\n vm.selectedRow = index;\r\n if (vm.IsMaterialDelivered) {\r\n if (data.MetrialDeliverStatus != 'Delivered') {\r\n vm.IsBroadcastPermision = false;\r\n vm.IsAssignPermision = false;\r\n }\r\n }\r\n vm.selectedTicket = data;\r\n vm.disablefilters = false;\r\n if (vm.range != '') {\r\n vm.GetSchedulingResults();\r\n }\r\n }\r\n\r\n\r\n\r\n vm.setClickedRowBroad = function (index, data) { //function that sets the value of selectedRow to current index\r\n vm.selectedRow = index;\r\n vm.selectedTicket = data;\r\n vm.disablefilters = false;\r\n if (vm.range != '') {\r\n vm.GetSchedulingResults();\r\n }\r\n }\r\n\r\n vm.setSelectedFreelancers = function (index, data) {\r\n if (vm.selectedFreelancers.indexOf(data) > -1) {\r\n vm.selectedFreelancers.splice(vm.selectedFreelancers.indexOf(data), 1);\r\n }\r\n else {\r\n vm.selectedFreelancers.push(data);\r\n }\r\n }\r\n\r\n vm.isSelected = function (data) {\r\n var bool = vm.selectedFreelancers.indexOf(data) > -1;\r\n return bool;\r\n }\r\n\r\n vm.getProfilePic = function (profilePicName) {\r\n return profilePicName ? ImageUrl + \"/\" + profilePicName : DefaultImage;\r\n }\r\n\r\n vm.filterUsers = function (role) {\r\n if (role == 'Field Engineer') {\r\n vm.filterUserData = 'Field Engineer';\r\n } else if (role == 'Freelancer') {\r\n vm.filterUserData = 'Freelancer';\r\n } else if (role == 'Vendor Manager') {\r\n vm.filterUserData = 'Vendor Manager';\r\n }\r\n }\r\n\r\n vm.ChangeMode = function (mode) {\r\n if (mode == 'List') {\r\n vm.Mode = 'List';\r\n if (vm.selectedTicket == '') {\r\n console.log('ChangeMode');\r\n GetSchedulingEventforToday(loggedinUser);\r\n } else {\r\n vm.GetSchedulingResults();\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n vm.GetSchedulingResults = function () {\r\n\r\n vm.cities = [];\r\n vm.markers = [];\r\n if (vm.TicketStatus == 'New') {\r\n if (vm.selectedTicket == '' || vm.selectedTicket == null) {\r\n // vm.showFailure(\"Please select a job\");\r\n } else {\r\n var obj = {};\r\n var roleList = [];\r\n angular.forEach(vm.model, function (d) {\r\n if (d.isChecked) {\r\n roleList.push({ \"UserRole\": d.Role, \"UserType\": d.userType });\r\n }\r\n })\r\n obj.OrderByUsers = [];\r\n obj.JobId = vm.selectedTicket.JobId;\r\n\r\n // obj.jobId = vm.selectedTicket.LinkId?vm.selectedTicket.LinkId:vm.selectedTicket.TicketId;\r\n obj.JobAccountId = '';\r\n obj.FromDate = new Date().toISOString().slice(0, 10);\r\n obj.ToDate = new Date().toISOString().slice(0, 10);\r\n obj.ActOnCurrentLocation = vm.isCurrentLocation;\r\n obj.RangeFromJob = parseInt(vm.range * 1000);\r\n obj.FETravelChargePerKM = 10;\r\n obj.TransportMode = vm.TransMode;\r\n obj.UserConfigList = roleList;\r\n if (vm.selectedFilter1 != undefined && vm.selectedFilter1 != '') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 1;\r\n if (vm.selectedFilter1.indexOf('Distance') >= 0) {\r\n orderObj.OrderByField = 'UserDistance';\r\n } else if (vm.selectedFilter1.indexOf('Ratings') >= 0) {\r\n orderObj.OrderByField = 'UserRating';\r\n } else if (vm.selectedFilter1.indexOf('Price') >= 0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter2 != undefined && vm.selectedFilter2 != '') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 2;\r\n if (vm.selectedFilter2.indexOf('Distance') >= 0) {\r\n orderObj.OrderByField = 'UserDistance';\r\n } else if (vm.selectedFilter2.indexOf('Ratings') >= 0) {\r\n orderObj.OrderByField = 'UserRating';\r\n } else if (vm.selectedFilter2.indexOf('Price') >= 0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter3 != undefined && vm.selectedFilter3 != '') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 3;\r\n if (vm.selectedFilter3.indexOf('Distance') >= 0) {\r\n orderObj.OrderByField = 'UserDistance';\r\n } else if (vm.selectedFilter3.indexOf('Ratings') >= 0) {\r\n orderObj.OrderByField = 'UserRating';\r\n } else if (vm.selectedFilter3.indexOf('Price') >= 0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n\r\n RosterShiftService.GetSchedulingEvaluationResult(obj, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200 && resp.data && resp.data.users.length > 0) {\r\n vm.SuggestedUserList = [];\r\n vm.BroadcastedList = [];\r\n vm.BroadcastedUserList = [];\r\n vm.SuggestedUserList = resp.data;\r\n for (var i = 0; i < vm.SuggestedUserList.users.length; i++) {\r\n if (vm.SuggestedUserList.users[i].contactnumber) {\r\n vm.SuggestedUserList.users[i].contactnumber = vm.SuggestedUserList.users[i].contactnumber.replace(/\\d(?=\\d{4})/g, '*');\r\n }\r\n\r\n }\r\n\r\n vm.UserList = resp.data.users;\r\n angular.forEach(vm.UserList, function (d) {\r\n if (d.userType == 'Freelancer') {\r\n vm.BroadcastedList.push(d);\r\n var TPrice = (Number)(d.Price) + ((d.Price * vm.GSTPercentange) / 100);\r\n var FPrice = (d.Price) - ((d.Price * vm.MobiforceCommission) / 100);\r\n vm.BroadcastedUserList.push({ \"UserId\": d.id, \"Role\": d.role, \"Name\": d.name, \"ContactNumber\": d.contactnumber, \"Distance\": d.UserDistance, \"SuggestedPrice\": d.BIDCounterRate, \"type\": d.userType, \"Price\": d.Price, \"TPrice\": TPrice, \"FPrice\": FPrice });\r\n\r\n }\r\n })\r\n $scope.BroadcastedUser = vm.BroadcastedUserList;\r\n\r\n vm.GetResult(resp.data.users, vm.selectedTicket.TicketId, vm.selectedTicket.LinkId, vm.selectedTicket.StartTime, vm.selectedTicket.TaskEndTime, vm.selectedTicket.TicketStatus);\r\n\r\n\r\n init();\r\n vm.selectEntityFilter();\r\n } else {\r\n vm.toaster_fail.title = \"Not Found\";\r\n vm.toaster_fail.body = \"No users found\";\r\n toaster.pop(vm.toaster_fail);\r\n console.log('GetSchedulingResults');\r\n GetSchedulingEventforToday(loggedinUser);\r\n }\r\n })\r\n }\r\n } else if (vm.TicketStatus == 'Broadcasted') {\r\n if (vm.selectedTicket == '' || vm.selectedTicket == null) {\r\n // vm.showFailure(\"Please select a job\");\r\n } else {\r\n var obj = {};\r\n var roleList = [];\r\n angular.forEach(vm.model, function (d) {\r\n if (d.isChecked) {\r\n roleList.push({ \"UserRole\": d.Role, \"UserType\": d.userType });\r\n }\r\n })\r\n obj.OrderByUsers = [];\r\n obj.JobId = vm.selectedTicket.JobId;\r\n // obj.jobId = vm.selectedTicket.LinkId?vm.selectedTicket.LinkId:vm.selectedTicket.TicketId;\r\n obj.JobAccountId = '';\r\n obj.ActOnCurrentLocation = vm.isCurrentLocation;\r\n obj.FromDate = new Date().toISOString().slice(0, 10);\r\n obj.ToDate = new Date().toISOString().slice(0, 10);\r\n obj.RangeFromJob = parseInt(vm.range * 1000);\r\n obj.FETravelChargePerKM = 10;\r\n obj.TransportMode = vm.TransMode;\r\n obj.UserConfigList = roleList;\r\n if (vm.selectedFilter1 != undefined && vm.selectedFilter1 != '') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 1;\r\n if (vm.selectedFilter1.indexOf('Distance') >= 0) {\r\n orderObj.OrderByField = 'UserDistance';\r\n } else if (vm.selectedFilter1.indexOf('Ratings') >= 0) {\r\n orderObj.OrderByField = 'UserRating';\r\n } else if (vm.selectedFilter1.indexOf('Price') >= 0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter2 != undefined && vm.selectedFilter2 != '') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 2;\r\n if (vm.selectedFilter2.indexOf('Distance') >= 0) {\r\n orderObj.OrderByField = 'UserDistance';\r\n } else if (vm.selectedFilter2.indexOf('Ratings') >= 0) {\r\n orderObj.OrderByField = 'UserRating';\r\n } else if (vm.selectedFilter2.indexOf('Price') >= 0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter3 != undefined && vm.selectedFilter3 != '') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 3;\r\n if (vm.selectedFilter3.indexOf('Distance') >= 0) {\r\n orderObj.OrderByField = 'UserDistance';\r\n } else if (vm.selectedFilter3.indexOf('Ratings') >= 0) {\r\n orderObj.OrderByField = 'UserRating';\r\n } else if (vm.selectedFilter3.indexOf('Price') >= 0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n\r\n RosterShiftService.GetSchedulingEvaluationResult(obj, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200 && resp.data && resp.data.users.length > 0) {\r\n vm.SuggestedUserList = [];\r\n vm.SuggestedUserList = resp.data;\r\n for (var i = 0; i < vm.SuggestedUserList.users.length; i++) {\r\n if (vm.SuggestedUserList.users[i].contactnumber) {\r\n vm.SuggestedUserList.users[i].contactnumber = vm.SuggestedUserList.users[i].contactnumber.replace(/\\d(?=\\d{4})/g, '*');\r\n }\r\n }\r\n vm.userList = resp.data;\r\n vm.GetResult(resp.data.users, vm.selectedTicket.JobId, vm.selectedTicket.LinkId, vm.selectedTicket.StartDateTime, vm.selectedTicket.TaskEndTime, vm.selectedTicket.Status);\r\n\r\n init();\r\n vm.selectEntityFilter();\r\n // vm.MapIntegration()\r\n // vm.MapData();\r\n } else {\r\n vm.toaster_fail.title = \"Not Found\";\r\n vm.toaster_fail.body = \"No users found\";\r\n toaster.pop(vm.toaster_fail);\r\n console.log('GetSchedulingResults-2');\r\n GetSchedulingEventforToday(loggedinUser);\r\n }\r\n })\r\n }\r\n }\r\n if (vm.TicketStatus == 'ReadyToAssign') {\r\n if (vm.selectedTicket == '' || vm.selectedTicket == null) {\r\n // vm.showFailure(\"Please select a job\");\r\n } else {\r\n var obj = {};\r\n var roleList = [];\r\n angular.forEach(vm.model, function (d) {\r\n if (d.isChecked) {\r\n roleList.push({ \"UserRole\": d.Role, \"UserType\": d.userType });\r\n }\r\n })\r\n obj.OrderByUsers = [];\r\n obj.JobId = vm.selectedTicket.JobId;\r\n obj.JobAccountId = '';\r\n obj.ActOnCurrentLocation = vm.isCurrentLocation;\r\n obj.FromDate = new Date().toISOString().slice(0, 10);\r\n obj.ToDate = new Date().toISOString().slice(0, 10);\r\n obj.RangeFromJob = parseInt(vm.range * 1000);\r\n obj.FETravelChargePerKM = 10;\r\n obj.TransportMode = vm.TransMode;\r\n obj.UserConfigList = roleList;\r\n if (vm.selectedFilter1 != undefined && vm.selectedFilter1 != '') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 1;\r\n if (vm.selectedFilter1.indexOf('Distance') >= 0) {\r\n orderObj.OrderByField = 'UserDistance';\r\n } else if (vm.selectedFilter1.indexOf('Ratings') >= 0) {\r\n orderObj.OrderByField = 'UserRating';\r\n } else if (vm.selectedFilter1.indexOf('Price') >= 0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter2 != undefined && vm.selectedFilter2 != '') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 2;\r\n if (vm.selectedFilter2.indexOf('Distance') >= 0) {\r\n orderObj.OrderByField = 'UserDistance';\r\n } else if (vm.selectedFilter2.indexOf('Ratings') >= 0) {\r\n orderObj.OrderByField = 'UserRating';\r\n } else if (vm.selectedFilter2.indexOf('Price') >= 0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter3 != undefined && vm.selectedFilter3 != '') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 3;\r\n if (vm.selectedFilter3.indexOf('Distance') >= 0) {\r\n orderObj.OrderByField = 'UserDistance';\r\n } else if (vm.selectedFilter3.indexOf('Ratings') >= 0) {\r\n orderObj.OrderByField = 'UserRating';\r\n } else if (vm.selectedFilter3.indexOf('Price') >= 0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n\r\n RosterShiftService.GetSchedulingEvaluationResult(obj, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200 && resp.data && resp.data.users.length > 0) {\r\n vm.SuggestedUserList = [];\r\n\r\n vm.SuggestedUserList = resp.data;\r\n for (var i = 0; i < vm.SuggestedUserList.users.length; i++) {\r\n if (vm.SuggestedUserList.users[i].contactnumber) {\r\n vm.SuggestedUserList.users[i].contactnumber = vm.SuggestedUserList.users[i].contactnumber.replace(/\\d(?=\\d{4})/g, '*');\r\n }\r\n }\r\n vm.userList = resp.data;\r\n vm.GetResult(resp.data.users, vm.selectedTicket.JobId, vm.selectedTicket.LinkId, vm.selectedTicket.StartDateTime, vm.selectedTicket.TaskEndTime, vm.selectedTicket.Status);\r\n\r\n init();\r\n vm.selectEntityFilter();\r\n // vm.MapIntegration()\r\n // vm.MapData();\r\n } else {\r\n vm.toaster_fail.title = \"Not Found\";\r\n vm.toaster_fail.body = \"No users found\";\r\n toaster.pop(vm.toaster_fail);\r\n console.log('GetSchedulingResults-3');\r\n GetSchedulingEventforToday(loggedinUser);\r\n\r\n }\r\n })\r\n }\r\n }\r\n }\r\n\r\n vm.GetResult = function (user, ticketid, linkId, start, end, status) {\r\n // scheduler.clearAll();\r\n\r\n var ticket = vm.selectedTicket.TicketId ? vm.selectedTicket.TicketId : vm.selectedTicket.JobId;\r\n\r\n var evs = scheduler.getEvents();\r\n if (vm.TicketStatus == \"ReadyToAssign\") {\r\n var bidRate = user[0].BIDCounterRate;\r\n var readyList = $filter('filter')(user, function (value) {\r\n return value.BIDCounterRate != 0;\r\n })\r\n if (readyList.length != 0) {\r\n var Id = readyList[0].id;\r\n var Role = readyList[0].role;\r\n var userType = readyList[0].userType;\r\n var Name = readyList[0].name;\r\n var Distance = readyList[0].UserDistance;\r\n var SuggestedPrice = readyList[0].BIDCounterRate;\r\n var Price = readyList[0].BIDCounterRate;\r\n } else {\r\n var Id = user[0].id\r\n var Role = user[0].role;\r\n var userType = user[0].userType;\r\n var Name = user[0].name;\r\n var Distance = user[0].UserDistance;\r\n var SuggestedPrice = user[0].BIDCounterRate;\r\n var Price = user[0].BIDCounterRate;\r\n }\r\n } else {\r\n var Id = user[0].id;\r\n var Role = user[0].role;\r\n var userType = user[0].userType;\r\n var Name = user[0].name;\r\n var Distance = user[0].UserDistance;\r\n var SuggestedPrice = user[0].BIDCounterRate;\r\n var Price = user[0].BIDCounterRate;\r\n }\r\n /* var Role = user[0].role;\r\n var userType = user[0].userType;\r\n var Name = user[0].name;\r\n var Distance = user[0].UserDistance;\r\n var SuggestedPrice = user[0].BIDCounterRate;\r\n var Price = user[0].BIDCounterRate;*/\r\n var start_date = moment(start).format(\"DD-MM-YYYY HH:mm\");\r\n var end_date = moment(end).format(\"DD-MM-YYYY HH:mm\");\r\n var today = new Date();\r\n var newdate = moment(today).format(\"DD-MM-YYYY\");\r\n\r\n\r\n\r\n // if(start_datetoday){\r\n var sdate = start_date.split(\" \")[0];\r\n var stime = start_date.split(\" \")[1];\r\n var edate = end_date.split(\" \")[0];\r\n var etime = end_date.split(\" \")[1];\r\n start_date = newdate + ' ' + stime;\r\n end_date = newdate + ' ' + etime;\r\n }*/\r\n // vm.AllAssignUserList.push({\"UserId\":Id,\"TicketId\":ticketid}); \r\n\r\n //var fromDate = new Date().toISOString().slice(0,10);\r\n //var toDate = new Date().toISOString().slice(0,10);\r\n\r\n var AssignList = [];\r\n\r\n if (vm.AllAssignUserDetails.length != 0) {\r\n console.log(vm.AllAssignUserDetails);\r\n AssignList = $filter('filter')(vm.AllAssignUserDetails, function (value) {\r\n // return value.UserId==Id && value.start_date==start_date;\r\n //return value.UserId==Id;\r\n return value.TicketId == ticket;\r\n\r\n })\r\n console.log(AssignList);\r\n /// it is used for the \r\n if (AssignList.length != 0) {\r\n var checklinkId = AssignList[0].LinkId;\r\n AssignList = [];\r\n var evs = scheduler.getEvents();\r\n var checkList = $filter('filter')(evs, function (value) {\r\n return value.LinkId == checklinkId;\r\n })\r\n var d = checkList[0].id;\r\n scheduler.deleteEvent(d);\r\n }\r\n\r\n if (AssignList.length == 0) {\r\n var eventId = scheduler.addEvent({\r\n start_date: start_date,\r\n end_date: end_date,\r\n assignedUserid: Id,\r\n status: status,\r\n Role: Role,\r\n TicketId: ticket,\r\n Distance: Distance,\r\n LinkId: linkId,\r\n SuggestedPrice: SuggestedPrice,\r\n Price: Price,\r\n Name: Name,\r\n userType: userType\r\n });\r\n\r\n vm.AllAssignUserDetails.push({ \"UserId\": Id, \"TicketId\": ticketid, \"LinkId\": linkId, \"Role\": Role, \"start_date\": start_date, \"end_date\": end_date, \"Name\": Name, \"Distance\": Distance, \"SuggestedPrice\": SuggestedPrice, \"type\": userType, \"Price\": Price });\r\n // console.log(vm.AllAssignUserDetails);\r\n }\r\n } else if (vm.AllAssignUserDetails.length == 0) {\r\n var eventId = scheduler.addEvent({\r\n start_date: start_date,\r\n end_date: end_date,\r\n assignedUserid: Id,\r\n status: status,\r\n Role: Role,\r\n TicketId: ticket,\r\n LinkId: linkId,\r\n Distance: Distance,\r\n SuggestedPrice: SuggestedPrice,\r\n Price: Price,\r\n Name: Name,\r\n userType: userType,\r\n });\r\n\r\n vm.AllAssignUserDetails.push({ \"UserId\": Id, \"TicketId\": ticketid, \"LinkId\": linkId, \"Role\": Role, \"start_date\": start_date, \"end_date\": end_date, \"Name\": Name, \"Distance\": Distance, \"SuggestedPrice\": SuggestedPrice, \"type\": userType, \"Price\": Price });\r\n\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n vm.AssignTicketsTimeline = function () {\r\n\r\n vm.AllUserList = [];\r\n angular.forEach(vm.AllAssignUserDetails, function (data) {\r\n\r\n if (data.Role == 'Field Engineer' && data.type == 'Fixed Team' && data.isChecked == true) {\r\n vm.AllUserList.push({ \"UserId\": data.UserId, \"TicketId\": data.JobId ? data.JobId : data.LinkId, \"StartTime\": data.start_date, \"Endtime\": data.end_date, \"SuggestedPrice\": data.SuggestedPrice, \"AssignPrice\": data.Price, \"Distance\": data.Distance })\r\n } else if (data.Role == 'Field Engineer' && data.type == 'Freelancer' && data.isChecked == true) {\r\n vm.AllUserList.push({ \"UserId\": data.UserId, \"TicketId\": data.JobId ? data.JobId : data.LinkId, \"StartTime\": data.start_date, \"Endtime\": data.end_date, \"SuggestedPrice\": data.SuggestedPrice, \"AssignPrice\": data.Price, \"Distance\": data.Distance })\r\n } else if (data.Role == 'Vendor Manager' && data.type == 'Fixed Team' && data.isChecked == true) {\r\n vm.AllUserList.push({ \"UserId\": data.UserId, \"TicketId\": data.JobId ? data.JobId : data.LinkId, \"StartTime\": data.start_date, \"Endtime\": data.end_date, \"SuggestedPrice\": data.SuggestedPrice, \"AssignPrice\": data.Price, \"Distance\": data.Distance })\r\n } else if (data.Role == 'Vendor Manager' && data.type == 'Freelancer' && data.isChecked == true) {\r\n vm.AllUserList.push({ \"UserId\": data.UserId, \"TicketId\": data.JobId ? data.JobId : data.LinkId, \"StartTime\": data.start_date, \"Endtime\": data.end_date, \"SuggestedPrice\": data.SuggestedPrice, \"AssignPrice\": data.Price, \"Distance\": data.Distance })\r\n }\r\n })\r\n if (vm.AllUserList == '') {\r\n vm.showFailure(\"Please select users.\")\r\n } else {\r\n RosterShiftService.AssignTicketsTimeline(loggedinUser, vm.AllUserList, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n\r\n vm.showSuccess(\"Success\", \"Job Assigned Successfully\");\r\n scheduler.clearAll();\r\n\r\n $timeout(function () {\r\n vm.mapMarkers = [];\r\n vm.AssignModal.close();\r\n console.log('AssignTicketsTimeline');\r\n GetSchedulingEventforToday(loggedinUser);\r\n if (vm.TicketStatus == \"New\") {\r\n vm.otherfilter = \"New\";\r\n vm.getAllTicketList();\r\n\r\n } else if (vm.TicketStatus == \"ReadyToAssign\") {\r\n vm.otherfilter = \"ReadyToAssign\";\r\n vm.getAllTicketList();\r\n }\r\n vm.otherfilter = '';\r\n\r\n }, 1500);\r\n // if (vm.Mode == 'Map') {\r\n // $timeout(function () {\r\n // vm.mapMarkers = [];\r\n // vm.AssignModal.close();\r\n // }, 1500);\r\n // }\r\n } else {\r\n vm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n }\r\n })\r\n }\r\n $state.reload();\r\n }\r\n\r\n vm.clearData = function () {\r\n vm.AllAssignUserDetails = [];\r\n vm.selectedTicket = '';\r\n vm.mapMarkers = [];\r\n }\r\n\r\n\r\n vm.OpenBroadcastModal = function () {\r\n if (vm.BroadcastedUserList == '') {\r\n vm.showFailure(\"Not found\", \"No users found\");\r\n } else {\r\n $scope.BroadcastedUser.allItemsSelected = true;\r\n $scope.selectAllBoardUser();\r\n vm.BroadcastModal = $uibModal.open({\r\n templateUrl: 'Broadcast-modal',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n }\r\n\r\n vm.CloseBroadcastModal = function () {\r\n vm.selectedFreelancers = [];\r\n vm.BroadcastModal.close();\r\n }\r\n\r\n vm.OpenAssignModal = function () {\r\n vm.AllAssignUserDetails = [];\r\n var evs = scheduler.getEvents();\r\n var t = vm.TicketStatus;\r\n var uniqueEventlist = new Map();\r\n\r\n\r\n var eventslist = $filter('filter')(evs, function (value) {\r\n return value.Price == 0;\r\n })\r\n\r\n angular.forEach(evs, function (data) {\r\n\r\n if (!uniqueEventlist.has(data.JobId)) {\r\n uniqueEventlist.set(data.JobId);\r\n\r\n if (data.status == 'New') {\r\n var Id = data.assignedUserid;\r\n var ticketid = data.JobId;\r\n var linkid = data.LinkId;\r\n var start_date = moment(data.start_date).format('YYYY-MM-DD HH:mm');\r\n var end_date = moment(data.end_date).format('YYYY-MM-DD HH:mm');\r\n angular.forEach(vm.SuggestedUserList.users, function (value) {\r\n if (value.id == Id && value.userType != 'Freelancer') {\r\n vm.AllAssignUserDetails.push({ \"UserId\": Id, \"TicketId\": ticketid, \"LinkId\": linkid, \"Role\": value.role, \"start_date\": start_date, \"end_date\": end_date, \"Name\": value.name, \"Distance\": value.UserDistance, \"SuggestedPrice\": value.BIDCounterRate, \"type\": value.userType, \"Price\": value.BIDCounterRate });\r\n\r\n }\r\n\r\n })\r\n } else if (data.status == 'Broadcasted') {\r\n var Id = data.assignedUserid;\r\n var ticketid = data.JobId;\r\n var linkid = data.LinkId;\r\n var start_date = moment(data.start_date).format('YYYY-MM-DD HH:mm');\r\n var end_date = moment(data.end_date).format('YYYY-MM-DD HH:mm');\r\n\r\n angular.forEach(vm.SuggestedUserList.users, function (value) {\r\n if (value.id == Id) {\r\n\r\n vm.AllAssignUserDetails.push({ \"UserId\": Id, \"TicketId\": ticketid, \"LinkId\": linkid, \"Role\": value.role, \"start_date\": start_date, \"end_date\": end_date, \"Name\": value.name, \"Distance\": value.UserDistance, \"SuggestedPrice\": value.BIDCounterRate, \"type\": value.userType, \"Price\": value.BIDCounterRate });\r\n // console.log(vm.AllAssignUserDetails);\r\n }\r\n\r\n })\r\n } else if (data.status == 'ReadyToAssign') {\r\n\r\n var Id = data.assignedUserid;\r\n var ticketid = data.JobId;\r\n var linkid = data.LinkId;\r\n var start_date = moment(data.start_date).format('YYYY-MM-DD HH:mm');\r\n var end_date = moment(data.end_date).format('YYYY-MM-DD HH:mm');\r\n\r\n angular.forEach(vm.SuggestedUserList.users, function (value) {\r\n if (value.id == Id) {\r\n\r\n vm.AllAssignUserDetails.push({ \"UserId\": Id, \"TicketId\": ticketid, \"LinkId\": linkid, \"Role\": value.role, \"start_date\": start_date, \"end_date\": end_date, \"Name\": value.name, \"Distance\": value.UserDistance, \"SuggestedPrice\": value.BIDCounterRate, \"type\": value.userType, \"Price\": value.BIDCounterRate });\r\n // console.log(vm.AllAssignUserDetails);\r\n }\r\n\r\n })\r\n }\r\n }\r\n })\r\n $scope.AssignSelectedUser = vm.AllAssignUserDetails;\r\n $scope.AssignSelectedUser.allItemsSelected = true;\r\n $scope.selectAll();\r\n\r\n vm.AssignModal = $uibModal.open({\r\n templateUrl: 'Assign-modal',\r\n size: 'lg',\r\n backdrop: 'static',\r\n scope: $scope\r\n });\r\n // }\r\n }\r\n\r\n vm.CloseAssignModal = function () {\r\n vm.selectedFreelancers = [];\r\n vm.AssignModal.close();\r\n }\r\n\r\n\r\n //Broadcast Bids/Jobs\r\n vm.BroadcastTicket = function () {\r\n\r\n\r\n var BidData = [];\r\n var obj = {};\r\n var time = '';\r\n var hrs = '';\r\n var min = '';\r\n obj.JobID = vm.selectedTicket.JobId;\r\n obj.BIDDuration = vm.selectedTicket.BIDDuration;\r\n // obj.BroadCastRate = vm.selectedTicket.BroadcastRate\r\n //obj.BroadCastGrossRate = vm.selectedTicket.BroadcastGrossRate\r\n obj.MobiforceCommissionPercentage = parseInt(vm.selectedTicket.MobiforceCommission);\r\n // obj.FixedBidPrice = true;\r\n BidData.push(obj);\r\n\r\n\r\n var UserData = [];\r\n /* angular.forEach(vm.selectedFreelancers, function (d) {\r\n if (d) {*/\r\n angular.forEach($scope.BroadcastedUser, function (d) {\r\n if (d.isChecked == true) {\r\n // UserData.push(d.UserId);\r\n UserData.push({ \"UserId\": d.UserId, \"SuggestedPrice\": parseInt(d.SuggestedPrice), \"Price\": parseInt(d.Price), \"Distance\": d.Distance });\r\n }\r\n });\r\n var checklist = $filter('filter')(UserData, function (value) {\r\n return value.Price == 0;\r\n })\r\n if (checklist.length != 0) {\r\n vm.showFailure(\"Failed\", \"Bid price can't be zero.\");\r\n } else {\r\n if (BidData.length > 0 && UserData.length > 0) {\r\n var data = {\r\n \"JobId\": vm.selectedTicket.JobId,\r\n \"BIDDuration\": vm.selectedTicket.BidDuration,\r\n \"MobiforceCommissionPercentage\": parseInt(vm.selectedTicket.MobiforceCommission),\r\n \"Users\": UserData\r\n };\r\n //$log.log('BradcastedJobs', data);\r\n vm.BroadcastModal.close();\r\n\r\n RosterShiftService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 201 || resp.status == 200) {\r\n vm.toaster_success.body = 'Jobs Broadcasted Successfully';\r\n toaster.pop(vm.toaster_success);\r\n vm.selectedFreelancers = [];\r\n $timeout(function () {\r\n vm.otherfilter = \"New\";\r\n vm.getAllTicketList();\r\n\r\n }, 1500);\r\n vm.otherfilter = '';\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", \"Please select users.\");\r\n }\r\n })\r\n } else {\r\n vm.showFailure(\"Failed\", \"Please select jobs and users.\");\r\n }\r\n }\r\n\r\n }\r\n\r\n //Assign Tickets\r\n vm.AssignTickets = function (role, userId) {\r\n if (role == 'Field Engineer') {\r\n RosterShiftService.AssignTickets(userId, loggedinUser, vm.selectedTicket.TicketId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.showSuccess(\"Success\", \"Job Assigned Successfully\");\r\n vm.otherfilter = \"New\";\r\n vm.TimeoutFunc(1500, vm.getAllTicketList());\r\n if (vm.Mode == 'Map') {\r\n $timeout(function () {\r\n vm.mapMarkers = [];\r\n vm.AssignModal.close();\r\n }, 1500);\r\n }\r\n vm.otherfilter = '';\r\n } else {\r\n vm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n }\r\n })\r\n } else if (role == 'Vendor Manager') {\r\n }\r\n }\r\n\r\n //MAP INTEGRATION\r\n vm.MapIntegration = function () {\r\n //for Initial Loading\r\n if (vm.selectedTicket == '') {\r\n vm.mapMarkers = [];\r\n //Today's Scheduling Events\r\n angular.forEach(vm.SuggestedUserList.tickets, function (d) {\r\n var customer = {};\r\n customer.lat = d.latitude;\r\n customer.long = d.longitude;\r\n customer.StartTime = d.start_date;\r\n customer.Address = d.city + ' ' + d.state;\r\n customer.ConsumerName = d.customerName;\r\n customer.ContactNumber = 'NA';\r\n customer.Role = 'Customer';\r\n customer.Status = d.status;\r\n customer.AssignedUser = d.assignedUserName;\r\n customer.JobId = d.id;\r\n customer.StartDate = d.start_date;\r\n customer.EndDate = d.end_date;\r\n if (d.status != 'Lunch Break') {\r\n vm.mapMarkers.push(customer);\r\n }\r\n })\r\n angular.forEach(vm.SuggestedUserList.users, function (d) {\r\n var obj = {};\r\n obj.UserName = d.name;\r\n obj.BIDCounterRate = vm.round2Decimal(d.BIDCounterRate);\r\n obj.UserRating = d.UserRating ? d.UserRating : 0;\r\n obj.UserDistance = vm.round2Decimal(d.UserDistance);\r\n obj.UserLatitude = d.UserLatitude;\r\n obj.UserLongitude = d.UserLongitude;\r\n obj.UserContact = d.contactnumber ? d.contactnumber : 'NA';\r\n obj.UserImage = vm.getProfilePic(d.UserProfilePhoto);\r\n obj.Role = d.role;\r\n obj.userType = d.userType;\r\n vm.mapMarkers.push(obj);\r\n })\r\n //New Jobs\r\n if (vm.TicketStatus == 'New') {\r\n angular.forEach(vm.AllTicketList, function (d) {\r\n var customer = {};\r\n var DefaultLat = parseFloat(d.JobLatitude);\r\n var DefaultLong = parseFloat(d.JobLongitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = d.City + ' ' + d.State;\r\n customer.ConsumerName = d.ConsumerName;\r\n customer.JobType = d.JobType;\r\n customer.ContactNumber = 'NA';\r\n customer.Role = 'Customer';\r\n customer.Status = 'New';\r\n customer.JobId = d.TicketId;\r\n customer.StartDate = d.StartTime;\r\n customer.EndDate = d.EndTime;\r\n vm.mapMarkers.push(customer);\r\n })\r\n //Broadcasted Jobs\r\n } else if (vm.TicketStatus == 'Broadcasted') {\r\n angular.forEach(vm.BroadcastedJobList, function (d) {\r\n var customer = {};\r\n var DefaultLat = parseFloat(d.JobLatitude);\r\n var DefaultLong = parseFloat(d.JobLongitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = d.Location;\r\n customer.ConsumerName = d.CustomerName;\r\n customer.JobType = d.JobType;\r\n customer.ContactNumber = 'NA';\r\n customer.Role = 'Customer';\r\n customer.Status = 'Broadcasted';\r\n customer.JobId = d.JobId;\r\n customer.StartDate = d.StartDateTime;\r\n customer.EndDate = d.EndDateTime;\r\n vm.mapMarkers.push(customer);\r\n })\r\n } else if (vm.TicketStatus == 'ReadyToAssign') {\r\n angular.forEach(vm.ReadyToAssignList, function (d) {\r\n var customer = {};\r\n var DefaultLat = parseFloat(d.JobLatitude);\r\n var DefaultLong = parseFloat(d.JobLongitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = d.Location;\r\n customer.ConsumerName = d.CustomerName;\r\n customer.JobType = d.JobType;\r\n customer.ContactNumber = 'NA';\r\n customer.Role = 'Customer';\r\n customer.Status = 'ReadyToAssign';\r\n customer.JobId = d.JobId;\r\n customer.StartDate = d.StartDateTime;\r\n customer.EndDate = d.EndDateTime;\r\n vm.mapMarkers.push(customer);\r\n })\r\n }\r\n //on Job Selection\r\n } else {\r\n vm.mapMarkers = [];\r\n var customer = {};\r\n //Adding Customer Site on Ticket Status Basis\r\n if (vm.TicketStatus == 'New') {\r\n var DefaultLat = parseFloat(vm.selectedTicket.Latitude);\r\n var DefaultLong = parseFloat(vm.selectedTicket.Longitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = vm.selectedTicket.City + ' ' + vm.selectedTicket.State;\r\n customer.ConsumerName = vm.selectedTicket.ConsumerName;\r\n customer.Status = vm.selectedTicket.TicketStatus;\r\n customer.JobId = vm.selectedTicket.TicketId;\r\n customer.StartDate = vm.selectedTicket.StartTime;\r\n customer.EndDate = vm.selectedTicket.EndTime;\r\n\r\n }\r\n else if (vm.TicketStatus == 'Broadcasted') {\r\n var DefaultLat = parseFloat(vm.selectedTicket.JobLatitude);\r\n var DefaultLong = parseFloat(vm.selectedTicket.JobLongitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = vm.selectedTicket.Location;\r\n customer.ConsumerName = vm.selectedTicket.CustomerName;\r\n customer.Status = vm.selectedTicket.Status;\r\n customer.JobId = vm.selectedTicket.JobId;\r\n customer.StartDate = vm.selectedTicket.StartDateTime;\r\n customer.EndDate = vm.selectedTicket.EndDateTime;\r\n } else if (vm.TicketStatus == 'ReadyToAssign') {\r\n var DefaultLat = parseFloat(vm.selectedTicket.JobLatitude);\r\n var DefaultLong = parseFloat(vm.selectedTicket.JobLongitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = vm.selectedTicket.Location;\r\n customer.ConsumerName = vm.selectedTicket.CustomerName;\r\n customer.Status = vm.selectedTicket.Status;\r\n customer.JobId = vm.selectedTicket.JobId;\r\n customer.StartDate = vm.selectedTicket.StartDateTime;\r\n customer.EndDate = vm.selectedTicket.EndDateTime;\r\n }\r\n customer.JobType = vm.selectedTicket.JobType;\r\n customer.ContactNumber = 'NA';\r\n customer.Role = 'Customer';\r\n vm.mapMarkers.push(customer);\r\n\r\n //Adding Users into Marker\r\n angular.forEach(vm.SuggestedUserList.users, function (d) {\r\n var obj = {};\r\n if (d && d.UserLatitude && d.UserLongitude) {\r\n obj.UserName = d.name;\r\n // obj.BIDApplyDateTime = d.BIDApplyDateTime;\r\n // obj.BIDApplyStatus = d.BIDApplyStatus;\r\n obj.BIDCounterRate = vm.round2Decimal(d.BIDCounterRate);\r\n obj.JobId = d.id;\r\n // obj.UserCurrentJobs = d.UserCurrentJobs;\r\n // obj.UserId = d.UserId;\r\n obj.UserRating = d.UserRating ? d.UserRating : 0;\r\n // obj.UserTotalJobs = d.UserTotalJobs;\r\n obj.UserDistance = vm.round2Decimal(d.UserDistance);\r\n obj.UserLatitude = d.UserLatitude;\r\n obj.UserLongitude = d.UserLongitude;\r\n obj.UserContact = d.contactnumber ? d.contactnumber : 'NA';\r\n obj.UserImage = vm.getProfilePic(d.UserProfilePhoto);\r\n // if (obj.Role=='Freelancer') {\r\n // obj.AssigButton = false; \r\n // }else{\r\n // obj.AssigButton = true;\r\n // }\r\n obj.Role = d.role;\r\n obj.userType = d.userType;\r\n vm.mapMarkers.push(obj);\r\n }\r\n })\r\n }\r\n\r\n\r\n //Setting the Map Options\r\n vm.MapOptions = {\r\n center: new google.maps.LatLng(DefaultLat, DefaultLong),\r\n // zoom: 20,\r\n mapTypeId: google.maps.MapTypeId.ROADMAP\r\n }\r\n\r\n //Initializing the InfoWindow, Map and LatLngBounds objects.\r\n vm.InfoWindow = new google.maps.InfoWindow();\r\n vm.Latlngbounds = new google.maps.LatLngBounds();\r\n vm.Map = new google.maps.Map(document.getElementById(\"map-canvas\"), vm.MapOptions);\r\n\r\n //Looping through the Array and adding Markers.\r\n for (var i = 0; i < vm.mapMarkers.length; i++) {\r\n var data = vm.mapMarkers[i];\r\n var ticketLatlng = '';\r\n if (data.Role == 'Customer') {\r\n ticketLatlng = new google.maps.LatLng(data.lat, data.long);\r\n //Initializing the Marker object.\r\n if (data.Status == 'New') {\r\n var marker = new google.maps.Marker({\r\n position: ticketLatlng,\r\n map: vm.Map,\r\n //label:data.ConsumerName,\r\n title: data.ConsumerName,\r\n // labelClass:\"marker_container-label\",\r\n // labelInBackground:false,\r\n //icon:NewJobIcon,\r\n icon: {\r\n url: UIURL + '/assets/images/patterns/JOb_icon.png',\r\n labelOrigin: new google.maps.Point(80, 52),\r\n },\r\n animation: google.maps.Animation.DROP,\r\n label: {\r\n text: data.ConsumerName,\r\n color: \"#C70E20\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n position: \"absolute\"\r\n }\r\n });\r\n } else if (data.Status == 'Broadcasted') {\r\n var marker = new google.maps.Marker({\r\n position: ticketLatlng,\r\n map: vm.Map,\r\n //label:data.ConsumerName,\r\n title: data.ConsumerName,\r\n // labelClass:\"marker_container-label\",\r\n // labelInBackground:false,\r\n // icon:BroadcastedJobIcon,\r\n icon: {\r\n url: UIURL + '/assets/images/patterns/JOb_icon.png',\r\n labelOrigin: new google.maps.Point(50, 32),\r\n },\r\n animation: google.maps.Animation.DROP,\r\n label: {\r\n text: data.ConsumerName,\r\n color: \"#C70E20\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n position: \"absolute\"\r\n }\r\n });\r\n } else if (data.Status == 'Assigned') {\r\n var marker = new google.maps.Marker({\r\n position: ticketLatlng,\r\n map: vm.Map,\r\n //label:data.ConsumerName,\r\n title: data.ConsumerName,\r\n // labelClass:\"marker_container-label\",\r\n // labelInBackground:false,\r\n //icon: AssignedJobIcon,\r\n icon: {\r\n url: UIURL + '/assets/images/patterns/JOb_icon.png',\r\n labelOrigin: new google.maps.Point(50, 32),\r\n },\r\n animation: google.maps.Animation.DROP,\r\n label: {\r\n text: data.ConsumerName,\r\n color: \"#C70E20\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n position: \"absolute\"\r\n }\r\n });\r\n } else if (data.Status == 'Completed') {\r\n var marker = new google.maps.Marker({\r\n position: ticketLatlng,\r\n map: vm.Map,\r\n //label:data.ConsumerName,\r\n title: data.ConsumerName,\r\n // labelClass:\"marker_container-label\",\r\n // labelInBackground:false,\r\n //icon: CompletedJobIcon,\r\n icon: {\r\n url: UIURL + '/assets/images/patterns/JOb_icon.png',\r\n labelOrigin: new google.maps.Point(50, 32),\r\n },\r\n animation: google.maps.Animation.DROP,\r\n label: {\r\n text: data.ConsumerName,\r\n color: \"#C70E20\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n position: \"absolute\"\r\n }\r\n });\r\n } else {\r\n var marker = new google.maps.Marker({\r\n position: ticketLatlng,\r\n map: vm.Map,\r\n // label:data.ConsumerName,\r\n title: data.ConsumerName,\r\n // labelClass:\"marker_container-label\",\r\n // labelInBackground:false,\r\n // icon: CompletedJobIcon,\r\n icon: {\r\n url: UIURL + '/assets/images/patterns/JOb_icon.png',\r\n labelOrigin: new google.maps.Point(50, 32),\r\n },\r\n animation: google.maps.Animation.DROP,\r\n label: {\r\n text: data.ConsumerName,\r\n color: \"#C70E20\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n position: \"absolute\"\r\n }\r\n });\r\n }\r\n\r\n //Adding InfoWindow to the Marker.\r\n (function (marker, data) {\r\n google.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n if (data.Status == 'Assigned') {\r\n //var content = \"
image
\"\r\n vm.InfoWindow.setContent(\"

\" + data.ConsumerName + \"


\" + ' ' + data.JobId + \"
\" + ' ' + data.Status + \"
\" + ' ' + data.AssignedUser + \"
\" + ' ' + moment(data.StartDate).format(\"YYYY-MM-DD HH:mm\") + \"
\" + ' ' + moment(data.EndDate).format(\"YYYY-MM-DD HH:mm\") + \"
\" + ' ' + data.Address + \"
\");\r\n } else if (data.Status == 'Completed') {\r\n //var content = \"
image
\"\r\n vm.InfoWindow.setContent(\"

\" + data.ConsumerName + \"


\" + ' ' + data.JobId + \"
\" + ' ' + data.Status + \"
\" + ' ' + data.AssignedUser + \"
\" + ' ' + moment(data.StartDate).format(\"YYYY-MM-DD HH:mm\") + \"
\" + ' ' + moment(data.EndDate).format(\"YYYY-MM-DD HH:mm\") + \"
\" + ' ' + data.Address + \"
\");\r\n }\r\n else {\r\n //var content = \"
image
\"\r\n vm.InfoWindow.setContent(\"

\" + data.ConsumerName + \"


\" + ' ' + data.JobId + \"
\" + ' ' + data.Status + \"
\" + ' ' + moment(data.StartDate).format(\"YYYY-MM-DD HH:mm\") + \"
\" + ' ' + moment(data.EndDate).format(\"YYYY-MM-DD HH:mm\") + \"
\" + ' ' + data.Address + \"
\");\r\n }\r\n vm.InfoWindow.open(vm.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n vm.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, data);\r\n vm.Latlngbounds.extend(marker.position);\r\n } else {\r\n ticketLatlng = new google.maps.LatLng(data.UserLatitude, data.UserLongitude);\r\n //Initializing the Marker object.\r\n if (data.Role == 'Field Engineer' && data.userType == 'Freelancer') {\r\n var marker = new google.maps.Marker({\r\n position: ticketLatlng,\r\n map: vm.Map,\r\n title: data.UserName,\r\n animation: google.maps.Animation.DROP,\r\n //icon: flIcon,\r\n icon: {\r\n url: UIURL + '/assets/images/patterns/mascot_icon2.png',\r\n labelOrigin: new google.maps.Point(80, 52),\r\n },\r\n\r\n label: {\r\n text: data.UserName,\r\n color: \"#1a237e\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n position: \"absolute\"\r\n }\r\n });\r\n } else if (data.Role == 'Field Engineer' && data.userType == 'Fixed Team') {\r\n var marker = new google.maps.Marker({\r\n position: ticketLatlng,\r\n map: vm.Map,\r\n title: data.UserName,\r\n animation: google.maps.Animation.DROP,\r\n //icon: ftIcon,\r\n icon: {\r\n url: UIURL + '/assets/images/patterns/mascot_icon2.png',\r\n labelOrigin: new google.maps.Point(80, 52),\r\n },\r\n label: {\r\n text: data.UserName,\r\n color: \"#1a237e\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n position: \"absolute\"\r\n\r\n }\r\n });\r\n } else if (data.Role == 'Vendor Manager' && data.userType == 'Fixed Team') {\r\n var marker = new google.maps.Marker({\r\n position: ticketLatlng,\r\n map: vm.Map,\r\n title: data.UserName,\r\n animation: google.maps.Animation.DROP,\r\n //icon: vIcon,\r\n icon: {\r\n url: UIURL + '/assets/images/patterns/mascot_icon2.png',\r\n labelOrigin: new google.maps.Point(80, 52),\r\n },\r\n label: {\r\n text: data.UserName,\r\n color: \"#1a237e\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n position: \"absolute\"\r\n\r\n }\r\n });\r\n } else if (data.Role == 'Vendor Manager' && data.userType == 'Freelancer') {\r\n var marker = new google.maps.Marker({\r\n position: ticketLatlng,\r\n map: vm.Map,\r\n title: data.UserName,\r\n animation: google.maps.Animation.DROP,\r\n //icon: fvIcon,\r\n icon: {\r\n url: UIURL + '/assets/images/patterns/mascot_icon2.png',\r\n labelOrigin: new google.maps.Point(80, 52),\r\n },\r\n label: {\r\n text: data.UserName,\r\n color: \"#1a237e\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n position: \"absolute\"\r\n\r\n }\r\n });\r\n }\r\n\r\n //Adding InfoWindow to the Marker.\r\n (function (marker, data) {\r\n google.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n if (data.Role == 'Field Engineer' && data.userType == 'Fixed Team') {\r\n var Role = 'Field Engineer';\r\n } else if (data.Role == 'Field Engineer' && data.userType == 'Freelancer') {\r\n var Role = 'Freelancer';\r\n } else if (data.Role == 'Vendor Manager' && data.userType == 'Fixed Team') {\r\n var Role = 'Vendor Manager';\r\n } else {\r\n var Role = 'Freelancer Vendor';\r\n }\r\n var content = \"
image
\" + ' ' + data.UserName + \"
\" + ' ' + data.UserContact + \"
\" + ' ' + data.UserDistance + \" Kms
\" + ' ' + data.BIDCounterRate + \"
\" + ' ' + Role + \"
\"\r\n vm.InfoWindow.setContent(content);\r\n vm.InfoWindow.open(vm.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n vm.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, data);\r\n // vm.Latlngbounds.extend(marker.position);\r\n }\r\n //Plotting the Marker on the Map. \r\n }\r\n //Adjusting the Map for best display.\r\n vm.Map.setCenter(vm.Latlngbounds.getCenter());\r\n // vm.Map.fitBounds(vm.Latlngbounds);\r\n vm.Map.setZoom(13);\r\n\r\n }\r\n }\r\n\r\n\r\n vm.GetAllDepartment = function () {\r\n $scope.isEditdepartment = false;\r\n shiftManagementService.GetAllDepartment(loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200 && resp) {\r\n vm.departmentList = resp.data;\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n }\r\n\r\n vm.GetAllDepartment();\r\n\r\n vm.GetAllLocations = function () {\r\n shiftManagementService.GetAllLocations(loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200 && resp) {\r\n vm.locationsList = resp.data;\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n }\r\n\r\n vm.GetAllLocations();\r\n\r\n\r\n document.getElementById('prevButton').addEventListener('click', function() {\r\n handleButtonClick('prev');\r\n });\r\n \r\n document.getElementById('nextButton').addEventListener('click', function() {\r\n handleButtonClick('next');\r\n });\r\n \r\n function handleButtonClick(direction) {\r\n var currentStartDate = scheduler.getState().date;\r\n startDate = direction === 'prev' ? scheduler.date.add(currentStartDate, -7, 'day') : scheduler.date.add(currentStartDate, 7, 'day');\r\n endDate = scheduler.date.add(startDate, 6, 'day');\r\n startDate = moment(startDate).format(\"YYYY-MM-DD\");\r\n endDate = moment(endDate).format(\"YYYY-MM-DD\");\r\n GetSchedulingEventforToday(loggedinUser);\r\n }\r\n \r\n\r\n\r\n vm.territoryChange = function () {\r\n if(!vm.SelectedLocation){\r\n vm.SelectedLocation = \"\";\r\n }\r\n if(!vm.departmemtId){\r\n vm.departmemtId = \"\";\r\n }\r\n GetSchedulingEventforToday(loggedinUser);\r\n }\r\n\r\n function GetSchedulingEventforToday(loggedinUser) {\r\n fromDate = moment().format(\"YYYY-MM-DD\");\r\n toDate = moment().format(\"YYYY-MM-DD\");\r\n var data = {\r\n \"LocationId\": vm.SelectedLocation,\r\n \"DepartmentId\": vm.departmemtId,\r\n \"StartDate\": startDate,\r\n \"EndDate\": endDate\r\n }\r\n RosterShiftService.GetDataForShiftView(data, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200 && resp.data) {\r\n vm.SuggestedUserList = [];\r\n vm.SuggestedUserList = resp.data;\r\n vm.ListShiftDaySummary = resp.data.ListShiftDaySummary;\r\n vm.ShiftSummaryOverAll = resp.data.ShiftSummaryOverAll;\r\n var evs = scheduler.getEvents();\r\n // angular.forEach(evs, function (val) {\r\n // if (val.status == 'Created') {\r\n // var id = val.id;\r\n // scheduler.deleteEvent(id);\r\n // }\r\n // })\r\n init();\r\n }\r\n })\r\n // vm.MapIntegration();\r\n }\r\n\r\n\r\n GetSchedulingEventforToday(loggedinUser);\r\n\r\n\r\n $scope.selectEntity = function () {\r\n // If any entity is not checked, then uncheck the \"allItemsSelected\" checkbox\r\n for (var i = 0; i < $scope.AssignSelectedUser.length; i++) {\r\n if (!$scope.AssignSelectedUser[i].isChecked) {\r\n $scope.AssignSelectedUser.allItemsSelected = false;\r\n return;\r\n }\r\n }\r\n\r\n //If not the check the \"allItemsSelected\" checkbox\r\n $scope.AssignSelectedUser.allItemsSelected = true;\r\n };\r\n\r\n // This executes when checkbox in table header is checked\r\n $scope.selectAll = function () {\r\n // Loop through all the entities and set their isChecked property\r\n for (var i = 0; i < $scope.AssignSelectedUser.length; i++) {\r\n $scope.AssignSelectedUser[i].isChecked = $scope.AssignSelectedUser.allItemsSelected;\r\n }\r\n };\r\n\r\n\r\n\r\n\r\n $scope.selectEntityBoardUser = function () {\r\n // If any entity is not checked, then uncheck the \"allItemsSelected\" checkbox\r\n for (var i = 0; i < $scope.BroadcastedUser.length; i++) {\r\n if (!$scope.BroadcastedUser[i].isChecked) {\r\n $scope.BroadcastedUser.allItemsSelected = false;\r\n return;\r\n }\r\n }\r\n\r\n //If not the check the \"allItemsSelected\" checkbox\r\n $scope.BroadcastedUser.allItemsSelected = true;\r\n };\r\n\r\n // This executes when checkbox in table header is checked\r\n $scope.selectAllBoardUser = function () {\r\n // Loop through all the entities and set their isChecked property\r\n for (var i = 0; i < $scope.BroadcastedUser.length; i++) {\r\n $scope.BroadcastedUser[i].isChecked = $scope.BroadcastedUser.allItemsSelected;\r\n }\r\n };\r\n\r\n\r\n\r\n function init() {\r\n scheduler.locale.labels.timeline_tab = \"Week\";\r\n scheduler.locale.labels.section_custom = \"Section\";\r\n // scheduler.config.details_on_create=true;\r\n // scheduler.config.details_on_dblclick=true;\r\n scheduler.config.dblclick_create = false;\r\n scheduler.config.xml_date = \"%Y-%m-%d %H:%i\";\r\n var format = scheduler.date.date_to_str(\"%H:%i\");\r\n scheduler.config.touch_tooltip = true;\r\n scheduler.config.drag_resize = false;\r\n\r\n //it is used for the drag and drop functionality \r\n scheduler.attachEvent(\"onBeforeDrag\", function (event_id, mode, native_event_object) {\r\n var ev = scheduler.getEvent(event_id);\r\n if (ev.status == 'Accepted') {\r\n return false;\r\n }\r\n else if (ev.status == 'Published') {\r\n return false;\r\n }\r\n else if (ev.status == 'Inprogress') {\r\n return false;\r\n }\r\n else if (ev.status == 'Completed') {\r\n return false;\r\n }\r\n else if (ev.status == 'Lunch Break') {\r\n return false;\r\n }\r\n else if (ev.status == 'Approved') {\r\n return false;\r\n }\r\n else {\r\n return true;\r\n }\r\n });\r\n\r\n // this is used when we drag the event in one use to another user but the time is still same \r\n scheduler.attachEvent(\"onBeforeEventChanged\", function (ev, e, is_new, original) {\r\n if (original.assignedUserid == ev.assignedUserid)\r\n return false;\r\n ev.start_date = original.start_date;\r\n ev.end_date = original.end_date;\r\n return true;\r\n });\r\n\r\n //this methd is used to stop the open the popup on double click \r\n // scheduler.attachEvent(\"onDblClick\", function (id, e) {\r\n // return false;\r\n // });\r\n\r\n if (vm.SuggestedUserList.users.length != 0) {\r\n var sections = [];\r\n var sections = vm.SuggestedUserList;\r\n if (vm.selectedTicket.Status == \"ReadyToAssign\") {\r\n var sectionlist = $filter('filter')(sections.users, function (value) {\r\n // return value.BIDCounterRate!=0;\r\n return value.BIDCounterRate;\r\n })\r\n sections.users = sectionlist;\r\n }\r\n } else {\r\n var sections = [];\r\n var sections = vm.SuggestedUserList;\r\n // var sections.users =[];\r\n }\r\n\r\n //this is used for the tooltip\r\n scheduler.templates.tooltip_text = function (start, end, event) {\r\n var t = event.id;\r\n t = t.toString();\r\n var res = t.charAt(0);\r\n // if (res == \"1\") {\r\n // var Id = event.id ? event.LinkId : event.TicketId;\r\n // } else {\r\n var Id = event.id;\r\n // }\r\n return \"Shift Status : \" + event.status + \"
\" +\r\n \"Shift Id : \" + Id + \"
\" +\r\n \"Shift Type : \" + event.ShiftType + \"
\" +\r\n \"Shift Time : \" + event.ShiftTime + \"
\" +\r\n \"Start Time : \" + scheduler.templates.tooltip_date_format(start) + \"
\" +\r\n \"End Time : \" + scheduler.templates.tooltip_date_format(end);\r\n };\r\n\r\n //this is used for creating two event in the same slot \r\n scheduler.config.collision_limit = 5; //allows creating 2 events per time slot\r\n /*scheduler.attachEvent(\"onEventLoading\", function(ev){ \r\n return scheduler.checkCollision(ev); \r\n });\r\n */\r\n\r\n scheduler.createTimelineView({\r\n name: \"timeline\",\r\n x_date: \"%D, %M %d\",\r\n x_unit: \"day\",// the scale parameters will be calculated in minutes\r\n x_step: 1, //sets the '30 minute' step, e.g. 09:00 - 09:30\r\n x_size: 7, // the number of '30 minute's in the interval 09:00 - 15:00\r\n // 15 - 9 = 6 hours = 360 minutes = 360/30 = 12\r\n x_start: firstDayOfCurrentWeek, //scale starts from 09:00,i.e. 9 hours from the default start- 00:00.\r\n // 9 hours = 540 minutes = 540/30 = 18 'x_step's \r\n x_length: 7,//sc\r\n y_unit: scheduler.serverList('sections', sections.users),\r\n y_property: \"assignedUserid\",\r\n render: \"bar\",\r\n });\r\n\r\n scheduler.ignore_timeline = function (date) {\r\n //non-work hours\r\n //if (date.getHours() < 8 || date.getHours() > 18) return true;\r\n };\r\n\r\n scheduler.templates.timeline_scale_label = function (key, label, sections) {\r\n\r\n if (sections.userType == 'Fixed Team' && sections.role == 'Field Engineer' && sections.VendorTeam == 'Non Vendor Team') {\r\n $(document).ready(function () {\r\n $(\".FEHIDE\").hide();\r\n });\r\n\r\n var UserIdentity = 'FE';\r\n } else if (sections.userType == 'Fixed Team' && sections.role == 'Field Engineer' && sections.VendorTeam == 'Vendor Team') {\r\n var UserIdentity = 'VT';\r\n } else if (sections.userType == 'Freelancer' && sections.role == 'Field Engineer') {\r\n var UserIdentity = 'FL';\r\n } else if (sections.userType == 'Fixed Team' && sections.role == 'Vendor Manager') {\r\n var UserIdentity = 'V';\r\n } else if (sections.userType == 'Freelancer' && sections.role == 'Vendor Manager') {\r\n var UserIdentity = 'FV';\r\n $(document).ready(function () {\r\n $(\".FEHIDE\").show();\r\n });\r\n }\r\n\r\n $scope.getInitials = function(name) {\r\n var words = name.split(' ');\r\n var initials = words.map(function(word) {\r\n return word[0];\r\n }).join('').toUpperCase();\r\n return initials;\r\n };\r\n\r\n var initials = $scope.getInitials(sections.name);\r\n\r\n $scope.colors = [\r\n '#E0DFFD',\r\n '#DDEFEF',\r\n '#FFF5D6',\r\n '#B7E3B6',\r\n '#E4EDF9',\r\n '#EDDCF3',\r\n '#F3F5FE',\r\n '#FFF2F0'\r\n ];\r\n\r\n $scope.colorCounter = 0;\r\n\r\n $scope.getContrastColor = function (hexColor) {\r\n\r\n // Extract RGB components\r\n var r = parseInt(hexColor.slice(1, 3), 16);\r\n var g = parseInt(hexColor.slice(3, 5), 16);\r\n var b = parseInt(hexColor.slice(5, 7), 16);\r\n // Calculate a darker shade by multiplying each component by a factor (e.g., 0.8)\r\n var factor = 1.7;\r\n var darkerR = Math.round(r * factor);\r\n var darkerG = Math.round(g * factor);\r\n var darkerB = Math.round(b * factor);\r\n\r\n // Convert the darker shade to hex\r\n var darkerShadeHex = '#' + ('00' + darkerR.toString(16)).slice(-2) +\r\n ('00' + darkerG.toString(16)).slice(-2) +\r\n ('00' + darkerB.toString(16)).slice(-2);\r\n\r\n return darkerShadeHex;\r\n };\r\n $scope.randomBackgroundColor = $scope.colors[Math.floor(Math.random() * $scope.colors.length)];\r\n $scope.randomTextColor = $scope.getContrastColor($scope.randomBackgroundColor);\r\n $scope.dynamicStyles = {\r\n 'background-color': $scope.randomBackgroundColor,\r\n 'color': $scope.randomTextColor\r\n };\r\n\r\n // $scope.resetColorCounter = function() {\r\n // $scope.colorCounter = 0;\r\n // };\r\n\r\n var ratings = sections.UserRating ? sections.UserRating : 0;\r\n return \"
\\\r\n
\\\r\n \" + initials +\"
\\\r\n
\\\r\n

\"+ sections.name + \"

\\\r\n

(\"+ sections.Role + \")

\\\r\n \" + sections.TotalHours + \" h / $ \" + sections.AmountEarned +\"\\\r\n
\\\r\n
\\\r\n
\";\r\n };\r\n\r\n function getPic(profilePic) {\r\n return profilePic ? ImageUrl + '/' + profilePic : DefaultImage;\r\n }\r\n\r\n function round2Decimal(no) {\r\n return Math.round(no * 100) / 100;\r\n }\r\n vm.Opened = false;\r\n scheduler.attachEvent(\"onBeforeViewChange\", function (old_mode, old_date, mode, date) {\r\n //any custom logic here\r\n vm.mode = mode;\r\n return true;\r\n });\r\n\r\n// Change the labels for the Save and Delete buttons\r\n\r\n// scheduler.config.buttons_left = [\"dhx_save_btn\", \"dhx_cancel_btn\"];\r\n\r\n// scheduler.config.buttons_left[\"dhx_save_btn\"] = 'CustomSaveLabel';\r\n// scheduler.config.buttons_left = [\"dhx_save_btn\", \"dhx_cancel_btn\"];\r\n\r\nscheduler.config.buttons_left = [\"dhx_save_btn\", \"dhx_cancel_btn\"];\r\n// scheduler.config.labels[\"dhx_save_btn\"] = \"Assign\";\r\n\r\nscheduler.config.buttons_right = [];\r\n\r\n\r\nvar initialEventDate;\r\n\r\nscheduler.attachEvent(\"onBeforeDrag\", function (id, mode, e){\r\n if (mode != \"create\") {\r\n initialEventDate = scheduler.getEvent(id).start_date;\r\n }\r\n return true;\r\n});\r\n\r\nscheduler.attachEvent(\"onDragEnd\", function(id, mode, e){\r\n var finalEventDate = scheduler.getEvent(id).start_date;\r\n scheduler.showLightbox(id);\r\n var directionDrag;\r\n if (initialEventDate < finalEventDate) {\r\n \tdirectionDrag = 'Left to right';\r\n } else if (initialEventDate > finalEventDate) {\r\n \tdirectionDrag = 'Right to left';\r\n } else {\r\n \tdirectionDrag = 'Undraged';\r\n }\r\n scheduler.formSection('direction').setValue(directionDrag);\r\n});\r\nscheduler.locale.labels[\"dhx_save_btn\"] = \"YourCustomLabel\";\r\n\r\n scheduler.templates.event_bar_text = function (start, end, event) {\r\n var t = event.id;\r\n t = t.toString();\r\n var res = t.charAt(0);\r\n if (res == \"1\") {\r\n var Id = event.id ? event.id : event.id;\r\n }\r\n // else if(res==\"L\"){\r\n // return \"
\"+event.JobType + \"
\";\r\n // }\r\n else {\r\n var Id = event.id ? event.id : event.id;\r\n }\r\n\r\n var barText = Id.substring(12, 16) + ' | ' + event.ShiftType;\r\n\r\n return '
'+\r\n // ' ' + Id + '
' +\r\n '

' + event.ShiftTime + '

' +\r\n // '

' + event.ShiftName + '

' +\r\n // ' ' + event.ShiftType + '
';\r\n '

' + event.ShiftDepartment + '

' +\r\n // '

' + event.ShiftLocation + '

' +\r\n '
';\r\n };\r\n\r\n scheduler.attachEvent('onClick', function (id, e) {\r\n vm.eventID = id;\r\n vm.dropdownOptions = [];\r\n vm.GetEligibleUserForShiftSwap(id);\r\n return false; \r\n });\r\n\r\nvm.dropdownOptions = [];\r\n\r\nscheduler.config.lightbox.sections = [];\r\n\r\nvm.GetEligibleUserForShiftSwap = function (shiftId) {\r\n vm.shiftId = shiftId;\r\n RosterShiftService.GetEligibleUserForShiftSwap(shiftId, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200 && resp) {\r\n vm.eligibleUsersList = resp.data;\r\n if (vm.eligibleUsersList) {\r\n vm.dropdownOptions = vm.eligibleUsersList.map(function (user) {\r\n return { key: user.UserId, label: user.UserName };\r\n });\r\n\r\n // Clear existing sections\r\n scheduler.config.lightbox.sections = [];\r\n\r\n // Add new section with updated dropdown options\r\n scheduler.config.lightbox.sections.push({\r\n name: \"Select User:\",\r\n height: 35,\r\n type: \"select\",\r\n map_to: \"user_id\",\r\n options: vm.dropdownOptions\r\n });\r\n\r\n // Open the lightbox\r\n scheduler.resetLightbox();\r\n scheduler.showLightbox(shiftId);\r\n } else {\r\n vm.showFailure(\"Failed\", 'Only published and accepted Shift can be re-assigned');\r\n }\r\n }\r\n });\r\n};\r\n\r\n\r\n\r\n\r\nscheduler.attachEvent(\"onEventSave\", function (id, data, is_new_event) {\r\n var selectedUser = data.user_id;\r\n vm.PublishShiftToUser(id,selectedUser);\r\n return true;\r\n});\r\n \r\nscheduler.attachEvent(\"onEventCancel\", function () {\r\n scheduler.config.lightbox.sections = [];\r\n scheduler.endLightbox(false);\r\n return true;\r\n});\r\n\r\nvm.PublishShiftToUser = function (id,selectedUser) {\r\n EmployeeShiftMapService.PublishShiftToUser(id, selectedUser, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 202 && resp) {\r\n vm.showSuccess(\"Success\", 'Shift published successfully');\r\n $timeout(function () {\r\n GetSchedulingEventforToday(loggedinUser);\r\n }, 2000);\r\n \r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n\r\n}\r\n\r\nvar currentDate = new Date(startDate);\r\nvar firstDayOfCurrentWeek = new Date(currentDate);\r\nvar dayOfWeek = currentDate.getDay(); // 0 is Sunday, 1 is Monday, ..., 6 is Saturday\r\nvar difference = dayOfWeek === 0 ? 6 : dayOfWeek - 1;\r\nfirstDayOfCurrentWeek.setDate(currentDate.getDate() - difference);\r\n\r\n scheduler.templates.event_bar_date = function (start, end, event) {\r\n var t = event.id;\r\n t = t.toString();\r\n var res = t.charAt(0);\r\n if (res == \"1\") {\r\n var Id = event.id ? event.id : event.TicketId;\r\n } else {\r\n var Id = event.id ? event.id : event.id;\r\n }\r\n return \"\" + Id + \" \";\r\n };\r\n\r\n // it is used for the week basis \r\n scheduler.templates.event_header = function (start, end, event) {\r\n var t = event.id;\r\n t = t.toString();\r\n var res = t.charAt(0);\r\n if (res == \"1\") {\r\n var Id = event.id ? event.id : event.id;\r\n } else {\r\n var Id = event.id ? event.id : event.id;\r\n }\r\n return \"
\" + Id + \"
\";\r\n };\r\n\r\n //this is used for the status \r\n scheduler.templates.event_class = function (start, end, event) {\r\n if (vm.mode == 'timeline') {\r\n scheduler.config.readonly = false;\r\n if (event.status == \"Accepted\") {\r\n return \"Assigned\";\r\n }\r\n else if (event.status == \"Created\") {\r\n return \"New\";\r\n }\r\n else if (event.status == \"Inprogress\") {\r\n return \"InTransite\";\r\n }\r\n else if (event.status == \"Published\") {\r\n return \"Lunch\";\r\n }\r\n else if (event.status == \"Completed\") {\r\n return \"Completed\";\r\n }\r\n else if (event.status == \"Lunch Break\") {\r\n return \"Lunch\";\r\n }\r\n else if (event.status == \"Approved\") {\r\n return \"Approved\";\r\n }\r\n return \"dhx_rent_payed\";\r\n }\r\n else if (vm.mode == 'week' || vm.mode == 'month' || vm.mode == 'day') {\r\n scheduler.config.readonly = true;\r\n if (event.status == \"Assigned\") {\r\n return \"Assigned1\";\r\n }\r\n else if (event.status == \"New\") {\r\n return \"New1\";\r\n }\r\n else if (event.status == \"Broadcasted\") {\r\n return \"Broadcasted1\";\r\n }\r\n else if (event.status == \"Completed\") {\r\n return \"Completed1\";\r\n }\r\n else if (event.status == \"InTransite\") {\r\n return \"InTransite1\";\r\n }\r\n else if (event.status == \"OnSite\") {\r\n return \"OnSite1\";\r\n }\r\n else if (event.status == \"Lunch\") {\r\n return \"Lunch1\";\r\n }\r\n else if (event.status == \"Approved\") {\r\n return \"Approved1\";\r\n }\r\n else if (event.status == \"ReadyToAssign\") {\r\n return \"ReadyToAssign1\";\r\n }\r\n return \"dhx_rent_payed1\";\r\n }\r\n };\r\n\r\n scheduler.init('scheduler_here', firstDayOfCurrentWeek, \"timeline\");\r\n if (sections.tickets.length != 0) {\r\n var sectionlist = $filter('filter')(sections.tickets, function (value) {\r\n return value.status == 'Completed' || value.status == 'Published' || value.status == 'Approved' || value.status == 'Accepted' || value.status == 'Inprogress'\r\n || value.status == 'Lunch Break';\r\n })\r\n sections.tickets = sectionlist;\r\n scheduler.parse(sections.tickets, \"json\");\r\n }\r\n }\r\n\r\n // init();\r\n\r\n\r\n // vm.getCountry = function () {\r\n // RosterShiftService.getCountry(loggedinUser, token).then(function (resp) {\r\n // if (resp.status == 200 && resp.data && resp.data.values.length > 0) {\r\n // vm.Country = resp.data.values;\r\n // vm.getStates(vm.Country[0]);\r\n // $log.log('city', vm.RegionList)\r\n // }\r\n // })\r\n // }\r\n\r\n vm.getStates = function (country) {\r\n RosterShiftService.getStates(loggedinUser, token, country).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.values.length > 0) {\r\n vm.stateList = resp.data.values;\r\n $log.log('states', vm.stateList);\r\n }\r\n }\r\n })\r\n }\r\n\r\n // vm.getCountry();\r\n\r\n\r\n\r\n vm.AutoAssignSelectedTickets = function () {\r\n var ticketId = '';\r\n angular.forEach(vm.AllTicketList, function (t) {\r\n if (t.isChecked) {\r\n ticketId += t.TicketId + \",\";\r\n }\r\n })\r\n ticketId = ticketId.length > 0 ? ticketId.substring(0, ticketId.length - 1) : ticketId;\r\n if (ticketId != \"\") {\r\n RosterShiftService.AutoAssignTickets(loggedinUser, ticketId, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n\r\n vm.SuggestedUserList = [];\r\n vm.SuggestedUserList = resp.data;\r\n vm.showSuccess(\"Success\", \"Job Assigned Successfully\");\r\n vm.otherfilter = \"New\";\r\n vm.getAllTicketList();\r\n vm.otherfilter = '';\r\n\r\n init();\r\n\r\n } else {\r\n vm.toaster_fail.title = \"Not Found\";\r\n vm.toaster_fail.body = \"No users found\";\r\n toaster.pop(vm.toaster_fail);\r\n\r\n }\r\n })\r\n } else {\r\n vm.showFailure(\"Failed\", \"Please select the job first\");\r\n return;\r\n }\r\n $state.reload();\r\n }\r\n\r\n vm.OpenAutoAssignModal = function () {\r\n autoAssignModalInstance = $uibModal.open({\r\n templateUrl: 'auto_assign_model.html',\r\n scope: $scope\r\n });\r\n }\r\n vm.CloseModal = function () {\r\n autoAssignModalInstance.close();\r\n }\r\n\r\n vm.AutoAssign = function () {\r\n var selectedDate = moment(vm.Selecteddate).format('YYYY-MM-DD');\r\n var itemNames = 'State';\r\n var itemValues = vm.TerritoryState;\r\n RosterShiftService.AutoAssignTicketsForToday(loggedinUser, selectedDate, vm.TransMode, itemNames, itemValues, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.SuggestedUserList = [];\r\n vm.SuggestedUserList = resp.data;\r\n autoAssignModalInstance.close();\r\n vm.showSuccess(\"Success\", \"Job Assigned Successfully\");\r\n vm.otherfilter = \"New\";\r\n vm.getAllTicketList();\r\n vm.otherfilter = '';\r\n init();\r\n\r\n } else {\r\n vm.toaster_fail.title = \"Not Found\";\r\n vm.toaster_fail.body = \"No users found\";\r\n toaster.pop(vm.toaster_fail);\r\n\r\n }\r\n })\r\n $state.reload();\r\n }\r\n\r\n // This property will be bound to checkbox in table header\r\n vm.AllTicketList.allTicketSelected = false;\r\n\r\n\r\n\r\n // This executes when entity in table is checked\r\n $scope.selectSingleTicket = function () {\r\n // If any entity is not checked, then uncheck the \"allItemsSelected\" checkbox\r\n for (var i = 0; i < vm.AllTicketLists.length; i++) {\r\n if (!vm.AllTicketLists[i].isChecked) {\r\n vm.AllTicketLists.allTicketSelected = false;\r\n return;\r\n }\r\n }\r\n\r\n //If not the check the \"allItemsSelected\" checkbox\r\n $scope.model.allItemsSelected = true;\r\n };\r\n\r\n // This executes when checkbox in table header is checked\r\n $scope.selectAllTicket = function () {\r\n // Loop through all the entities and set their isChecked property\r\n for (var i = 0; i < vm.AllTicketLists.length; i++) {\r\n vm.AllTicketLists[i].isChecked = vm.AllTicketLists.allTicketSelected;\r\n }\r\n };\r\n $(function () {\r\n $('#colorselector').change(function () {\r\n $('.colors').hide();\r\n $('#' + $(this).val()).show();\r\n });\r\n });\r\n\r\n // vm.getAllTools = function(){\r\n // NewTalentPoolService.GetAllToolSets(loggedinUser,token,function(data){\r\n // vm.Asset_ToolList = data;\r\n // },vm.showFailure);\r\n // }\r\n // vm.getAllTools();\r\n\r\n // vm.getAllSchedulingRules = function () {\r\n // SchedulingRuleService.GetAllSecheculingRules(loggedinUser, token).then(function (res) {\r\n // vm.ruleList = res.data;\r\n // vm.toolScRuleList = [];\r\n // vm.assetScRuleList = [];\r\n // vm.certificateScRuleList = [];\r\n // vm.roleScRuleList = [];\r\n // for (var i = 0; i < vm.ruleList.length; i++) {\r\n // if (vm.ruleList[i].RuleType == 'Certificate') {\r\n // vm.certificateScRuleList.push(vm.ruleList[i]);\r\n // } else if (vm.ruleList[i].RuleType == 'Asset') {\r\n // vm.assetScRuleList.push(vm.ruleList[i]);\r\n // } else if (vm.ruleList[i].RuleType == 'Tool') {\r\n // vm.toolScRuleList.push(vm.ruleList[i]);\r\n // } else if (vm.ruleList[i].RuleType == 'Role') {\r\n // vm.roleScRuleList.push(vm.ruleList[i]);\r\n // }\r\n // }\r\n // if (vm.roleScRuleList) {\r\n // vm.GenerateRoleTable();\r\n // }\r\n // if (vm.certificateScRuleList) {\r\n // vm.GenerateCertificateTable();\r\n // }\r\n // if (vm.assetScRuleList) {\r\n // vm.GenerateAssetsTable();\r\n // }\r\n // if (vm.toolScRuleList) {\r\n // vm.GenerateToolTable();\r\n // }\r\n // })\r\n\r\n // }\r\n\r\n // vm.GenerateCertificateTable = function () {\r\n\r\n // vm.headerCompiled_Certi = false;\r\n // vm.selected_Certi = {};\r\n // vm.selectAll_Certi = false;\r\n // vm.toggleAll_Certi = toggleAll_Certi;\r\n // vm.toggleOne_Certi = toggleOne_Certi;\r\n // // var titleHtml_Certi = '
';\r\n\r\n // vm.dtOptions_Certi = DTOptionsBuilder.fromFnPromise(function () {\r\n // var defer = $q.defer();\r\n // defer.resolve(vm.certificateScRuleList);\r\n // return defer.promise;\r\n // })\r\n // .withPaginationType('full_numbers')\r\n // .withOption('order', [])\r\n // .withBootstrap()\r\n // .withOption('createdRow', function (row, data, dataIndex) {\r\n // $compile(angular.element(row).contents())($scope);\r\n // })\r\n // .withOption('headerCallback', function (header) {\r\n // if (!vm.headerCompiled_Certi) {\r\n // // Use this headerCompiled field to only compile header once\r\n // vm.headerCompiled_Certi = true;\r\n // $compile(angular.element(header).contents())($scope);\r\n // }\r\n // });\r\n\r\n\r\n // vm.dtColumns_Certi = [\r\n // DTColumnBuilder.newColumn(null).withTitle(null).renderWith(function (data, type, full, meta) {\r\n // vm.selected_Certi[meta.row] = data.IsEnable;\r\n // return '
';\r\n // }).notSortable(),\r\n // DTColumnBuilder.newColumn('RuleId').withTitle('Rule Id').notSortable().renderWith(function (data) {\r\n // return '' + data + '';\r\n // }),\r\n // DTColumnBuilder.newColumn('Description').withTitle('Certificate Description').notSortable().renderWith(function (data) {\r\n // return '' + data + '';\r\n // })\r\n\r\n\r\n // ];\r\n\r\n // function toggleAll_Certi(selectAll, selectedItems) {\r\n // for (var id in selectedItems) {\r\n // if (selectedItems.hasOwnProperty(id)) {\r\n // selectedItems[id] = selectAll;\r\n // }\r\n // }\r\n // }\r\n // function toggleOne_Certi(selectedItems) {\r\n // for (var id in selectedItems) {\r\n // if (selectedItems.hasOwnProperty(id)) {\r\n // vm.certificateScRuleList[id].IsEnable = selectedItems[id];\r\n // // if (!selectedItems[id]) {\r\n // // \tvm.selectAll_Certi = false;\r\n // // \treturn;\r\n // // }\r\n // }\r\n // }\r\n // vm.selectAll_Certi = true;\r\n // }\r\n\r\n\r\n\r\n // }\r\n\r\n // vm.GenerateAssetsTable = function () {\r\n\r\n // vm.headerCompiled_Asset = false;\r\n // vm.selected_Asset = {};\r\n // vm.selectAll_Asset = false;\r\n // vm.toggleAll_Asset = toggleAll_Asset;\r\n // vm.toggleOne_Asset = toggleOne_Asset;\r\n // // var titleHtml_Asset = '
';\r\n\r\n // vm.dtOptions_Asset = DTOptionsBuilder.fromFnPromise(function () {\r\n // var defer = $q.defer();\r\n // defer.resolve(vm.assetScRuleList);\r\n // return defer.promise;\r\n // })\r\n // .withPaginationType('full_numbers')\r\n // .withOption('order', [])\r\n // .withBootstrap()\r\n // .withOption('createdRow', function (row, data, dataIndex) {\r\n // $compile(angular.element(row).contents())($scope);\r\n // })\r\n // .withOption('headerCallback', function (header) {\r\n // if (!vm.headerCompiled_Asset) {\r\n // // Use this headerCompiled field to only compile header once\r\n // vm.headerCompiled_Asset = true;\r\n // $compile(angular.element(header).contents())($scope);\r\n // }\r\n // });\r\n\r\n\r\n // vm.dtColumns_Asset = [\r\n // DTColumnBuilder.newColumn(null).withTitle(null).renderWith(function (data, type, full, meta) {\r\n // vm.selected_Asset[meta.row] = data.IsEnable;\r\n // return '
';\r\n // }).notSortable(),\r\n // DTColumnBuilder.newColumn('RuleId').withTitle('Rule Id').notSortable().renderWith(function (data) {\r\n // return '' + data + '';\r\n // }),\r\n // DTColumnBuilder.newColumn('Description').withTitle('Assets Description').notSortable().renderWith(function (data) {\r\n // return '' + data + '';\r\n // })\r\n\r\n\r\n // ];\r\n\r\n // function toggleAll_Asset(selectAll, selectedItems) {\r\n // for (var id in selectedItems) {\r\n // if (selectedItems.hasOwnProperty(id)) {\r\n // selectedItems[id] = selectAll;\r\n // }\r\n // }\r\n // }\r\n // function toggleOne_Asset(selectedItems) {\r\n // for (var id in selectedItems) {\r\n // if (selectedItems.hasOwnProperty(id)) {\r\n // vm.assetScRuleList[id].IsEnable = selectedItems[id];\r\n // }\r\n // }\r\n // vm.selectAll_Asset = true;\r\n // }\r\n\r\n\r\n\r\n // }\r\n\r\n // vm.GenerateToolTable = function () {\r\n\r\n // vm.headerCompiled_Tool = false;\r\n // vm.selected_Tool = {};\r\n // vm.selectAll_Tool = false;\r\n // vm.toggleAll_Tool = toggleAll_Tool;\r\n // vm.toggleOne_Tool = toggleOne_Tool;\r\n // // var titleHtml_Tool = '
';\r\n\r\n // vm.dtOptions_Tool = DTOptionsBuilder.fromFnPromise(function () {\r\n // var defer = $q.defer();\r\n // defer.resolve(vm.toolScRuleList);\r\n // return defer.promise;\r\n // })\r\n // .withPaginationType('full_numbers')\r\n // .withOption('order', [])\r\n // .withBootstrap()\r\n // .withOption('createdRow', function (row, data, dataIndex) {\r\n // $compile(angular.element(row).contents())($scope);\r\n // })\r\n // .withOption('headerCallbacks', function (header) {\r\n // if (!vm.headerCompiled_Tool) {\r\n // // Use this headerCompiled field to only compile header once\r\n // vm.headerCompiled_Tool = true;\r\n // $compile(angular.element(header).contents())($scope);\r\n // }\r\n // });\r\n\r\n\r\n // vm.dtColumns_Tool = [\r\n // DTColumnBuilder.newColumn(null).withTitle(null).renderWith(function (data, type, full, meta) {\r\n // vm.selected_Tool[meta.row] = data.IsEnable;\r\n // return '
';\r\n // }).notSortable(),\r\n // DTColumnBuilder.newColumn('RuleId').withTitle('Rule Id').notSortable().renderWith(function (data) {\r\n // return '' + data + '';\r\n // }),\r\n // DTColumnBuilder.newColumn('Description').withTitle('Tools Description').notSortable().renderWith(function (data) {\r\n // return '' + data + '';\r\n // })\r\n\r\n\r\n // ];\r\n\r\n // function toggleAll_Tool(selectAll, selectedItems) {\r\n // for (var id in selectedItems) {\r\n // if (selectedItems.hasOwnProperty(id)) {\r\n // selectedItems[id] = selectAll;\r\n // }\r\n // }\r\n // }\r\n // function toggleOne_Tool(selectedItems) {\r\n // for (var id in selectedItems) {\r\n // if (selectedItems.hasOwnProperty(id)) {\r\n // vm.toolScRuleList[id].IsEnable = selectedItems[id];\r\n // // if (!selectedItems[id]) {\r\n // // \tvm.selectAll_Tool = false;\r\n // // \treturn;\r\n // // }\r\n // }\r\n // }\r\n // vm.selectAll_Tool = true;\r\n // }\r\n\r\n // }\r\n // vm.getAllSchedulingRules();\r\n\r\n // vm.GenerateRoleTable = function () {\r\n\r\n // vm.headerCompiled = false;\r\n // vm.selected = {};\r\n // vm.selectAll = false;\r\n // vm.toggleAll = toggleAll;\r\n // vm.toggleOne = toggleOne;\r\n // // var titleHtml = '
';\r\n\r\n // vm.dtOptions = DTOptionsBuilder.fromFnPromise(function () {\r\n // var defer = $q.defer();\r\n // defer.resolve(vm.roleScRuleList);\r\n // return defer.promise;\r\n // })\r\n // .withPaginationType('full_numbers')\r\n // .withOption('order', [])\r\n // .withBootstrap()\r\n // .withOption('createdRow', function (row, data, dataIndex) {\r\n // $compile(angular.element(row).contents())($scope);\r\n // })\r\n // .withOption('headerCallback', function (header) {\r\n // if (!vm.headerCompiled) {\r\n // // Use this headerCompiled field to only compile header once\r\n // vm.headerCompiled = true;\r\n // $compile(angular.element(header).contents())($scope);\r\n // }\r\n // });\r\n\r\n\r\n // vm.dtColumns = [\r\n // DTColumnBuilder.newColumn(null).withTitle(null).renderWith(function (data, type, full, meta) {\r\n // vm.selected[meta.row] = data.IsEnable;\r\n // return '
';\r\n // }).notSortable(),\r\n // DTColumnBuilder.newColumn('RuleId').withTitle('Rule Id').notSortable().renderWith(function (data) {\r\n // return '' + data + '';\r\n // }),\r\n // DTColumnBuilder.newColumn('Description').withTitle('Role Description').notSortable().renderWith(function (data) {\r\n // return '' + data + '';\r\n // })\r\n\r\n\r\n // ];\r\n\r\n // function toggleAll(selectAll, selectedItems) {\r\n // for (var id in selectedItems) {\r\n // if (selectedItems.hasOwnProperty(id)) {\r\n // selectedItems[id] = selectAll;\r\n // }\r\n // }\r\n // }\r\n // function toggleOne(selectedItems) {\r\n // for (var id in selectedItems) {\r\n // if (selectedItems.hasOwnProperty(id)) {\r\n // vm.roleScRuleList[id].IsEnable = selectedItems[id];\r\n // // if (!selectedItems[id]) {\r\n // // \tvm.selectAll = false;\r\n // // \treturn;\r\n // // }\r\n // }\r\n\r\n // }\r\n // vm.selectAll = true;\r\n // }\r\n\r\n // }\r\n\r\n\r\n \r\n vm.disableBookingButton = false;\r\n\r\n vm.ShiftSwapToUser = function (userId) {\r\n vm.disableBookingButton = true;\r\n RosterShiftService.ShiftSwapToUser(vm.shiftId, userId, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 202 && resp) {\r\n vm.disableBookingButton = false;\r\n $scope.toggleMenu();\r\n vm.showSuccess(\"Success\", 'Shift swapped successfully');\r\n $timeout(function () {\r\n vm.GetAllShiftsForDate();\r\n }, 2000);\r\n }\r\n else {\r\n vm.disableBookingButton = false;\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n\r\n }\r\n\r\n vm.AssignationRulePriorityList = [0, 1, 2, 3, 4, 5, 6];\r\n vm.AssignationRules = function () {\r\n AssignationRuleService.getAssignationRule(loggedinUser, token).then(function (resp) {\r\n vm.AssignationRuleList = [];\r\n\r\n vm.AssignationRuleList = resp.data;\r\n for (var i = 0; i < vm.AssignationRuleList.length; i++) {\r\n var rule = vm.AssignationRuleList[i];\r\n if (rule.IsEnable && i == 0) {\r\n\r\n vm.AssignName = rule.OrderByName;\r\n vm.AssignPriorityIndex = rule.PriorityIndex\r\n\r\n }\r\n else if (rule.IsEnable && i == 1) {\r\n vm.AssignName1 = rule.OrderByName;\r\n vm.AssignPriorityIndex1 = rule.PriorityIndex\r\n\r\n }\r\n else if (rule.IsEnable && i == 2) {\r\n vm.AssignName2 = rule.OrderByName;\r\n vm.AssignPriorityIndex2 = rule.PriorityIndex\r\n\r\n }\r\n else if (rule.IsEnable && i == 3) {\r\n vm.AssignName3 = rule.OrderByName;\r\n vm.AssignPriorityIndex3 = rule.PriorityIndex\r\n\r\n }\r\n else if (rule.IsEnable && i == 4) {\r\n vm.AssignName4 = rule.OrderByName;\r\n vm.AssignPriorityIndex4 = rule.PriorityIndex\r\n\r\n }\r\n else if (rule.IsEnable && i == 5) {\r\n vm.AssignName5 = rule.OrderByName;\r\n vm.AssignPriorityIndex5 = rule.PriorityIndex\r\n\r\n }\r\n }\r\n\r\n })\r\n };\r\n vm.AssignationRules();\r\n\r\n\r\n})\r\n\nvar app =angular.module('inspinia').controller('AutoAssignedController',function(ScheduleAssignService,UIURL,FreelancerFixedService,\r\n $log, $state, $localStorage, $stateParams, $uibModal, $scope, DTOptionsBuilder, DTColumnDefBuilder, toaster, $timeout, $compile,\r\n uiCalendarConfig, ImageUrl,$filter){\r\n\r\n\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var loggedinUserSkill = $localStorage.loggedInUser_SkillSet;\r\n var loggedinUserRegion = $localStorage.loggedInUser_Region;\r\n if (!loggedinUser) {\r\n\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n }else{\r\n var token = $localStorage.token;\r\n //Global Variable Declaration\r\n vm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n vm.loggedInUserVendorId = $localStorage.loggedInUser_VendorId;\r\n vm.loggedInUserReportingTo = $localStorage.loggedInUser_ReportingTo;\r\n vm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n vm.TimeoutFunc = $scope.$parent.$parent.main.TimeoutFunc;\r\n vm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n vm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n vm.loggedinAs = $localStorage.loggedinAs; \r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.MobiforceCommission = vm.getAccountConfigSetting('MobiforceCommissionPercentage');\r\n vm.VendorAssignation = vm.getAccountConfigSetting('VendorAssignation');\r\n vm.EnableRegion = vm.getAccountConfigSetting('EnableRegion');\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n vm.AllTicketList = '';\r\n vm.filterCriteria1 = [\"Price\",\"Distance\",\"Ratings\"];\r\n vm.filterCriteria2 = [\"Price\",\"Distance\",\"Ratings\"];\r\n vm.filterCriteria3 = [\"Price\",\"Distance\",\"Ratings\"];\r\n vm.selectedFilter1 = 'Distance';\r\n vm.selectedFilter2= 'Ratings';\r\n vm.selectedFilter3= 'Price';\r\n vm.disablefilters = true;\r\n vm.range = '50';\r\n vm.isCurrentLocation = true;\r\n vm.selectedRow = null; // initialize our variable to null\r\n vm.selectedFreelancers = [];\r\n vm.SuggestedUserList = [];\r\n vm.AssignTicektData = [];\r\n vm.AllAssignUserDetails=[];\r\n $scope.AssignSelectedUser={};\r\n $scope.AssignSelectedUser.allItemsSelected = false;\r\n vm.AllAssignUserList =[];\r\n vm.BroadcastedUserList =[];\r\n vm.ReadyToAssignList =[];\r\n $scope.BroadcastedUser ={};\r\n $scope.BroadcastedUser.allItemsSelected = false;\r\n vm.TransMode = 'driving';\r\n \r\n vm.Mode = 'List';\r\n vm.TicketStatus = 'New';\r\n vm.cities = [];\r\n vm.markers = [];\r\n var NewJobIcon = UIURL+'/assets/images/patterns/NewJobIcon.png';\r\n var BroadcastedJobIcon = UIURL+'/assets/images/patterns/BroadcastedJobIcon.png';\r\n var AssignedJobIcon = UIURL+'/assets/images/patterns/AssignedJobIcon.png';\r\n var CompletedJobIcon = UIURL+'/assets/images/patterns/completed.png';\r\n var flIcon = UIURL+'/assets/images/patterns/delivery-man1.png';\r\n var ftIcon = UIURL+'/assets/images/patterns/delivery-man1.png';\r\n var fvIcon = UIURL+'/assets/images/patterns/delivery-man1.png';\r\n var vIcon = UIURL+'/assets/images/patterns/delivery-man1.png';\r\n var DefaultImage = UIURL+'/assets/images/patterns/Photo1.png';\r\n vm.InfoWindow;\r\n vm.selectedTicket = '';\r\n vm.BroadcastedJobList = '';\r\n var listdata=[];\r\n //vm.filterUserData = 'All';\r\n \r\n\r\n $scope.editingData = {};\r\n $scope.modify = function(list){ \r\n $scope.editingData[list.UserId] = true;\r\n };\r\n\r\n\r\n $scope.update = function(list){\r\n if(list.Price==0){\r\n vm.showFailure(\"Failed\",\"Bid price can't be zero.\");\r\n }else{\r\n $scope.editingData[list.UserId] = false;\r\n }\r\n \r\n };\r\n\r\n //loggedinUser,itemNames,itemValues, token\r\n vm.GetTicketsForAssignation = function(){\r\n if (vm.VerticalName!='IMS' || vm.VerticalName!='Spectro Labs') {\r\n var itemNames = '';\r\n var itemValues = '';\r\n if(loggedinUserSkill==\"VSAT\"){\r\n itemNames+=\"Template\";\r\n itemValues+=\"VSAT CCR\";\r\n } else if(loggedinUserSkill==\"LeaseLine\"){\r\n itemNames+=\"Template\";\r\n itemValues+=\"LeaseLine CCR\";\r\n }\r\n ScheduleAssignService.GetTicketsByFilter(loggedinUser,itemNames,itemValues,token).then(function(resp){\r\n if (resp && resp.status == 200 && resp.data) {\r\n var ticketData = [];\r\n vm.AllTicketList = resp.data;\r\n ticketData = vm.AllTicketList;\r\n // vm.selectedTicket = ticketData[0];\r\n vm.disablefilters = false;\r\n // vm.GetSchedulingResults();\r\n // GetSchedulingEventforToday(loggedinUser);\r\n //scheduler.clearAll();\r\n }\r\n })\r\n }\r\n }\r\n \r\n vm.round2Decimal = function (no) {\r\n return Math.round(no * 100) / 100; \r\n }\r\n\r\n\r\n vm.model = {};\r\n vm.model.allItemsSelected = false;\r\n vm.model = [{ \"key\": 1, \"Role\": \"Field Engineer\", \"userType\": \"Fixed Team\", \"Value\":\"Field Engineer\"},\r\n /* { \"key\": 2, \"Role\": \"Field Engineer\", \"userType\":\"Freelancer\", \"Value\":\"Freelancer\"},*/\r\n { \"key\": 3, \"Role\": \"Vendor Manager\", \"userType\": \"Fixed Team\", \"Value\":\"Vendor\"},\r\n /* { \"key\": 4, \"Role\": \"Vendor Manager\", \"userType\":\"Freelancer\", \"Value\":\"Freelancer Vendor\"}*/\r\n ];\r\n \r\n vm.selectEntityFilter = function () {\r\n var newList = [];\r\n var usersList = angular.copy(vm.SuggestedUserList.users);\r\n vm.TestCase = false;\r\n for (var i = 0; i < vm.model.length; i++) {\r\n if (!vm.model[i].isChecked) {\r\n vm.TestCase = true;\r\n vm.model.allItemsSelected = false;\r\n var Role =vm.model[i].Role;\r\n var userType =vm.model[i].userType;\r\n var allIndex = [];\r\n /*usersList.some(function(obj, x) {\r\n if(obj.role == Role && obj.userType == userType){\r\n delete usersList[x];\r\n } else {\r\n false;\r\n }\r\n });*/\r\n newList =[];\r\n /*angular.forEach(usersList, function(d){\r\n if(d){\r\n newList.push(d);\r\n }\r\n })*/\r\n }\r\n }\r\n if(newList=='' && vm.TestCase == false){\r\n newList= vm.SuggestedUserList.users;\r\n // scheduler.updateCollection(\"sections\", newList);\r\n vm.model.allItemsSelected = true;\r\n }else{\r\n // scheduler.updateCollection(\"sections\", newList);\r\n }\r\n };\r\n\r\n vm.selectAllFilter = function () {\r\n for (var i = 0; i < vm.model.length; i++) {\r\n vm.model[i].isChecked = vm.model.allItemsSelected;\r\n }\r\n /*if(vm.model.allItemsSelected==true){\r\n scheduler.updateCollection(\"sections\", vm.SuggestedUserList.users);\r\n }else{\r\n var freelist =[];\r\n scheduler.updateCollection(\"sections\",freelist);\r\n }*/\r\n };\r\n vm.model.allItemsSelected = true;\r\n vm.selectAllFilter();\r\n\r\n\r\n vm.FilterData = function(item,level){\r\n if (level == 1) {\r\n vm.filterCriteria2 = [];\r\n angular.forEach(vm.filterCriteria1,function(d){\r\n if (d!=item) {\r\n vm.filterCriteria2.push(d);\r\n }\r\n })\r\n }else if(level == 2){\r\n vm.filterCriteria3 = [];\r\n angular.forEach(vm.filterCriteria1,function(d){\r\n if (d!=item) {\r\n if (d!=vm.selectedFilter1) {\r\n vm.filterCriteria3.push(d);\r\n } \r\n }\r\n })\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n \r\n \r\n // This property will be bound to checkbox in table header\r\n vm.AllTicketList.allTicketSelected = false;\r\n \r\n \r\n \r\n // This executes when entity in table is checked\r\n $scope.selectSingleTicket = function () {\r\n // If any entity is not checked, then uncheck the \"allItemsSelected\" checkbox\r\n for (var i = 0; i < vm.AllTicketList.length; i++) {\r\n if (!vm.AllTicketList[i].isChecked) {\r\n vm.AllTicketList.allTicketSelected = false;\r\n return;\r\n }\r\n }\r\n \r\n //If not the check the \"allItemsSelected\" checkbox\r\n $scope.model.allItemsSelected = true;\r\n };\r\n \r\n // This executes when checkbox in table header is checked\r\n $scope.selectAllTicket = function () {\r\n // Loop through all the entities and set their isChecked property\r\n for (var i = 0; i < vm.AllTicketList.length; i++) {\r\n vm.AllTicketList[i].isChecked = vm.AllTicketList.allTicketSelected;\r\n }\r\n };\r\n \r\n vm.AutoAssign = function(){\r\n \r\n\r\n var ticketId = '';\r\n\r\n angular.forEach(vm.AllTicketList, function (t) {\r\n if (t.isChecked) {\r\n ticketId += t.TicketId + \",\";\r\n }\r\n })\r\n ticketId = ticketId.length > 0 ? ticketId.substring(0, ticketId.length - 1) : ticketId;\r\n if(ticketId!=\"\"){\r\n ScheduleAssignService.AutoAssignTickets(loggedinUser,ticketId,token).then(function(resp){\r\n if (resp && resp.status==200 ) {\r\n \r\n vm.SuggestedUserList = []; \r\n vm.SuggestedUserList = resp.data;\r\n vm.showSuccess(\"Success\",\"Job Assigned Successfully\");\r\n vm.GetTicketsForAssignation();\r\n init();\r\n \r\n }else{\r\n vm.toaster_fail.title=\"Not Found\";\r\n vm.toaster_fail.body=\"No users found\";\r\n toaster.pop(vm.toaster_fail);\r\n \r\n }\r\n })\r\n }else{\r\n vm.showFailure(\"Failed\",\"Please select the job first\");\r\n }\r\n \r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n vm.GetJobsByFilter = function(item,value){\r\n if (item == 'Priority') {\r\n var itemNames = 'Priority';\r\n var itemValues = value;\r\n ScheduleAssignService.GetTicketsByFilter(loggedinUser,itemNames,itemValues).then(function(resp){\r\n if (resp && resp.status == 200 && resp.data) {\r\n vm.AllTicketList = resp.data;\r\n }\r\n })\r\n }\r\n }\r\n \r\n vm.getBroadcastedTickets = function(){\r\n // var loggedinUser1 = 'U350000000001'\r\n var itemNames = 'Ticket Status';\r\n var itemValues = 'Broadcasted';\r\n if(vm.VerticalName=='IMS'){\r\n if(loggedinUserSkill==\"VSAT\"){\r\n itemNames+=\",Template\";\r\n itemValues+=\",VSAT CCR\";\r\n } else if(loggedinUserSkill==\"LeaseLine\"){\r\n itemName+=\",Template\";\r\n itemValues+=\",LeaseLine CCR\";\r\n }\r\n }\r\n ScheduleAssignService.GetTicketsByStatus(loggedinUser,itemNames, itemValues,token).then(function(resp){\r\n if (resp && resp.status == 200 && resp.data) {\r\n var ticketData = [];\r\n vm.BroadcastedJobList = resp.data;\r\n // ticketData = vm.BroadcastedJobList;\r\n // vm.selectedTicket = ticketData[0];\r\n vm.disablefilters = false;\r\n // vm.GetSchedulingResults();\r\n GetSchedulingEventforToday(loggedinUser);\r\n scheduler.clearAll();\r\n }\r\n })\r\n }\r\n \r\n vm.getReadyToAssign= function(){\r\n\r\n // var loggedinUser1 = 'U350000000001'\r\n var itemNames = 'Ticket Status';\r\n var itemValues = 'ReadyToAssign';\r\n if(vm.VerticalName=='IMS'){\r\n if(loggedinUserSkill==\"VSAT\"){\r\n itemNames+=\",Template\";\r\n itemValues+=\",VSAT CCR\";\r\n } else if(loggedinUserSkill==\"LeaseLine\"){\r\n itemName+=\",Template\";\r\n itemValues+=\",LeaseLine CCR\";\r\n }\r\n }\r\n ScheduleAssignService.GetTicketsByStatus(loggedinUser,itemNames, itemValues,token).then(function(resp){\r\n if (resp && resp.status == 200 && resp.data) {\r\n var ticketData = [];\r\n vm.ReadyToAssignList = resp.data;\r\n // ticketData = vm.BroadcastedJobList;\r\n // vm.selectedTicket = ticketData[0];\r\n vm.disablefilters = false;\r\n // vm.GetSchedulingResults();\r\n GetSchedulingEventforToday(loggedinUser);\r\n scheduler.clearAll();\r\n }\r\n })\r\n }\r\n \r\n \r\n\r\n\r\n vm.setClickedRowNew = function(index,data){ \r\n //function that sets the value of selectedRow to current index\r\n vm.selectedRow = index;\r\n\r\n vm.selectedTicket = data;\r\n vm.disablefilters = false;\r\n if (vm.range!= '') {\r\n vm.GetSchedulingResults();\r\n }\r\n }\r\n\r\n vm.setClickedRowBroad = function(index,data){ //function that sets the value of selectedRow to current index\r\n vm.selectedRow = index;\r\n vm.selectedTicket = data;\r\n vm.disablefilters = false;\r\n if (vm.range!= '') {\r\n vm.GetSchedulingResults();\r\n }\r\n }\r\n\r\n vm.setSelectedFreelancers = function(index,data){\r\n if( vm.selectedFreelancers.indexOf(data) > -1 ){\r\n vm.selectedFreelancers.splice(vm.selectedFreelancers.indexOf(data), 1);\r\n }\r\n else{\r\n vm.selectedFreelancers.push(data);\r\n }\r\n }\r\n\r\n vm.isSelected = function(data){\r\n var bool = vm.selectedFreelancers.indexOf(data) >-1;\r\n return bool;\r\n }\r\n\r\n vm.getProfilePic = function (profilePicName) {\r\n return profilePicName ? ImageUrl + \"/\" + profilePicName : DefaultImage;\r\n }\r\n\r\n vm.filterUsers = function(role){\r\n if (role == 'Field Engineer') {\r\n vm.filterUserData = 'Field Engineer';\r\n }else if(role == 'Freelancer'){\r\n vm.filterUserData = 'Freelancer';\r\n }else if(role == 'Vendor Manager'){\r\n vm.filterUserData = 'Vendor Manager';\r\n } \r\n }\r\n\r\n vm.ChangeMode = function (mode) {\r\n if(mode == 'List'){\r\n vm.Mode = 'List';\r\n if(vm.selectedTicket == ''){\r\n GetSchedulingEventforToday(loggedinUser);\r\n } else {\r\n vm.GetSchedulingResults();\r\n }\r\n }\r\n }\r\n\r\n vm.GetSchedulingResults = function(){\r\n \r\n vm.cities = [];\r\n vm.markers = [];\r\n if (vm.TicketStatus == 'New') {\r\n if (vm.selectedTicket=='' || vm.selectedTicket==null) {\r\n // vm.showFailure(\"Please select a job\");\r\n }else{\r\n var obj = {};\r\n var roleList = [];\r\n angular.forEach(vm.model, function(d){\r\n if(d.isChecked){\r\n roleList.push({\"UserRole\":d.Role, \"UserType\":d.userType});\r\n }\r\n })\r\n obj.OrderByUsers = [];\r\n obj.JobId = vm.selectedTicket.TicketId;\r\n\r\n // obj.jobId = vm.selectedTicket.LinkId?vm.selectedTicket.LinkId:vm.selectedTicket.TicketId;\r\n obj.JobAccountId = '';\r\n obj.FromDate = new Date().toISOString().slice(0,10);\r\n obj.ToDate = new Date().toISOString().slice(0,10);\r\n obj.ActOnCurrentLocation = vm.isCurrentLocation;\r\n obj.RangeFromJob = parseInt(vm.range*1000);\r\n obj.FETravelChargePerKM = 10;\r\n obj.TransportMode = vm.TransMode;\r\n obj.UserConfigList = roleList;\r\n if (vm.selectedFilter1!=undefined && vm.selectedFilter1!='') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 1;\r\n if (vm.selectedFilter1.indexOf('Distance')>=0) {\r\n orderObj.OrderByField = 'UserDistance'; \r\n }else if (vm.selectedFilter1.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating'; \r\n }else if (vm.selectedFilter1.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate'; \r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter2!=undefined && vm.selectedFilter2!='') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 2;\r\n if (vm.selectedFilter2.indexOf('Distance')>=0) {\r\n orderObj.OrderByField = 'UserDistance'; \r\n }else if (vm.selectedFilter2.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating'; \r\n }else if (vm.selectedFilter2.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter3!=undefined && vm.selectedFilter3!='') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 3;\r\n if (vm.selectedFilter3.indexOf('Distance')>=0) {\r\n orderObj.OrderByField = 'UserDistance';\r\n }else if (vm.selectedFilter3.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating';\r\n }else if (vm.selectedFilter3.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n\r\n ScheduleAssignService.GetSchedulingEvaluationResult(obj,loggedinUser,token).then(function(resp){\r\n if (resp && resp.status==200 && resp.data && resp.data.users.length>0) {\r\n vm.SuggestedUserList = [];\r\n vm.BroadcastedList = [];\r\n vm.BroadcastedUserList =[];\r\n vm.SuggestedUserList = resp.data;\r\n vm.UserList = resp.data.users;\r\n angular.forEach(vm.UserList, function(d){\r\n if(d.userType == 'Freelancer'){\r\n vm.BroadcastedList.push(d);\r\n vm.BroadcastedUserList.push({\"UserId\":d.id,\"Role\":d.role,\"Name\":d.name,\"Distance\":d.UserDistance,\"SuggestedPrice\":d.BIDCounterRate,\"type\":d.userType,\"Price\": d.BIDCounterRate});\r\n \r\n }\r\n })\r\n $scope.BroadcastedUser =vm.BroadcastedUserList;\r\n \r\n vm.GetResult(resp.data.users,vm.selectedTicket.TicketId,vm.selectedTicket.LinkId,vm.selectedTicket.StartTime,vm.selectedTicket.EndTime,vm.selectedTicket.TicketStatus);\r\n \r\n \r\n init();\r\n vm.selectEntityFilter();\r\n // vm.MapIntegration()\r\n // vm.MapData();\r\n }else{\r\n vm.toaster_fail.title=\"Not Found\";\r\n vm.toaster_fail.body=\"No users found\";\r\n toaster.pop(vm.toaster_fail);\r\n GetSchedulingEventforToday(loggedinUser);\r\n }\r\n })\r\n }\r\n } else if (vm.TicketStatus == 'Broadcasted') {\r\n if (vm.selectedTicket=='' || vm.selectedTicket==null) {\r\n // vm.showFailure(\"Please select a job\");\r\n }else{\r\n var obj = {};\r\n var roleList = [];\r\n angular.forEach(vm.model, function(d){\r\n if(d.isChecked){\r\n roleList.push({\"UserRole\":d.Role, \"UserType\":d.userType});\r\n }\r\n })\r\n obj.OrderByUsers = [];\r\n obj.JobId = vm.selectedTicket.JobId;\r\n // obj.jobId = vm.selectedTicket.LinkId?vm.selectedTicket.LinkId:vm.selectedTicket.TicketId;\r\n obj.JobAccountId = '';\r\n obj.ActOnCurrentLocation = vm.isCurrentLocation;\r\n obj.FromDate = new Date().toISOString().slice(0,10);\r\n obj.ToDate = new Date().toISOString().slice(0,10);\r\n obj.RangeFromJob = parseInt(vm.range*1000);\r\n obj.FETravelChargePerKM = 10;\r\n obj.TransportMode = vm.TransMode;\r\n obj.UserConfigList = roleList;\r\n if (vm.selectedFilter1!=undefined && vm.selectedFilter1!='') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 1;\r\n if (vm.selectedFilter1.indexOf('Distance')>=0) {\r\n orderObj.OrderByField = 'UserDistance'; \r\n }else if (vm.selectedFilter1.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating'; \r\n }else if (vm.selectedFilter1.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate'; \r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter2!=undefined && vm.selectedFilter2!='') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 2;\r\n if (vm.selectedFilter2.indexOf('Distance')>=0) {\r\n orderObj.OrderByField = 'UserDistance'; \r\n }else if (vm.selectedFilter2.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating'; \r\n }else if (vm.selectedFilter2.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter3!=undefined && vm.selectedFilter3!='') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 3;\r\n if (vm.selectedFilter3.indexOf('Distance')>=0) {\r\n orderObj.OrderByField = 'UserDistance';\r\n }else if (vm.selectedFilter3.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating';\r\n }else if (vm.selectedFilter3.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n\r\n ScheduleAssignService.GetSchedulingEvaluationResult(obj,loggedinUser,token).then(function(resp){\r\n if (resp && resp.status==200 && resp.data && resp.data.users.length>0) {\r\n vm.SuggestedUserList = [];\r\n vm.SuggestedUserList =resp.data;\r\n vm.userList = resp.data;\r\n vm.GetResult(resp.data.users,vm.selectedTicket.JobId,vm.selectedTicket.LinkId,vm.selectedTicket.StartDateTime,vm.selectedTicket.EndDateTime,vm.selectedTicket.Status);\r\n \r\n init();\r\n vm.selectEntityFilter();\r\n // vm.MapIntegration()\r\n // vm.MapData();\r\n }else{\r\n vm.toaster_fail.title=\"Not Found\";\r\n vm.toaster_fail.body=\"No users found\";\r\n toaster.pop(vm.toaster_fail);\r\n GetSchedulingEventforToday(loggedinUser);\r\n }\r\n })\r\n }\r\n }\r\n if (vm.TicketStatus == 'ReadyToAssign') {\r\n if (vm.selectedTicket=='' || vm.selectedTicket==null) {\r\n // vm.showFailure(\"Please select a job\");\r\n }else{\r\n var obj = {};\r\n var roleList = [];\r\n angular.forEach(vm.model, function(d){\r\n if(d.isChecked){\r\n roleList.push({\"UserRole\":d.Role, \"UserType\":d.userType});\r\n }\r\n })\r\n obj.OrderByUsers = [];\r\n obj.JobId = vm.selectedTicket.JobId;\r\n obj.JobAccountId = '';\r\n obj.ActOnCurrentLocation = vm.isCurrentLocation;\r\n obj.FromDate = new Date().toISOString().slice(0,10);\r\n obj.ToDate = new Date().toISOString().slice(0,10);\r\n obj.RangeFromJob = parseInt(vm.range*1000);\r\n obj.FETravelChargePerKM = 10;\r\n obj.TransportMode = vm.TransMode;\r\n obj.UserConfigList = roleList; \r\n if (vm.selectedFilter1!=undefined && vm.selectedFilter1!='') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 1;\r\n if (vm.selectedFilter1.indexOf('Distance')>=0) {\r\n orderObj.OrderByField = 'UserDistance'; \r\n }else if (vm.selectedFilter1.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating'; \r\n }else if (vm.selectedFilter1.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate'; \r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter2!=undefined && vm.selectedFilter2!='') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 2;\r\n if (vm.selectedFilter2.indexOf('Distance')>=0) {\r\n orderObj.OrderByField = 'UserDistance'; \r\n }else if (vm.selectedFilter2.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating'; \r\n }else if (vm.selectedFilter2.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n if (vm.selectedFilter3!=undefined && vm.selectedFilter3!='') {\r\n var orderObj = {};\r\n orderObj.PriorityOrder = 3;\r\n if (vm.selectedFilter3.indexOf('Distance')>=0) {\r\n orderObj.OrderByField = 'UserDistance';\r\n }else if (vm.selectedFilter3.indexOf('Ratings')>=0) {\r\n orderObj.OrderByField = 'UserRating';\r\n }else if (vm.selectedFilter3.indexOf('Price')>=0) {\r\n orderObj.OrderByField = 'BIDCounterRate';\r\n }\r\n obj.OrderByUsers.push(orderObj);\r\n }\r\n\r\n ScheduleAssignService.GetSchedulingEvaluationResult(obj,loggedinUser,token).then(function(resp){\r\n if (resp && resp.status==200 && resp.data && resp.data.users.length>0) {\r\n vm.SuggestedUserList = [];\r\n \r\n vm.SuggestedUserList =resp.data;\r\n vm.userList = resp.data;\r\n vm.GetResult(resp.data.users,vm.selectedTicket.JobId,vm.selectedTicket.LinkId,vm.selectedTicket.StartDateTime,vm.selectedTicket.EndDateTime,vm.selectedTicket.Status);\r\n \r\n init();\r\n vm.selectEntityFilter();\r\n // vm.MapIntegration()\r\n // vm.MapData();\r\n }else{\r\n vm.toaster_fail.title=\"Not Found\";\r\n vm.toaster_fail.body=\"No users found\";\r\n toaster.pop(vm.toaster_fail);\r\n GetSchedulingEventforToday(loggedinUser);\r\n\r\n }\r\n })\r\n }\r\n } \r\n }\r\n\r\n vm.GetResult = function(user,ticketid,linkId,start,end,status){\r\n // scheduler.clearAll();\r\n \r\n var ticket = vm.selectedTicket.TicketId?vm.selectedTicket.TicketId:vm.selectedTicket.JobId; \r\n \r\n var evs = scheduler.getEvents();\r\n if(vm.TicketStatus==\"ReadyToAssign\"){\r\n var bidRate = user[0].BIDCounterRate;\r\n var readyList = $filter('filter')(user,function(value){\r\n return value.BIDCounterRate!=0;\r\n })\r\n if(readyList.length!=0){\r\n var Id = readyList[0].id;\r\n var Role = readyList[0].role;\r\n var userType = readyList[0].userType;\r\n var Name = readyList[0].name;\r\n var Distance = readyList[0].UserDistance;\r\n var SuggestedPrice = readyList[0].BIDCounterRate;\r\n var Price = readyList[0].BIDCounterRate;\r\n }else{\r\n var Id = user[0].id\r\n var Role = user[0].role;\r\n var userType = user[0].userType;\r\n var Name = user[0].name;\r\n var Distance = user[0].UserDistance;\r\n var SuggestedPrice = user[0].BIDCounterRate;\r\n var Price = user[0].BIDCounterRate;\r\n }\r\n }else{\r\n var Id = user[0].id;\r\n var Role = user[0].role;\r\n var userType = user[0].userType;\r\n var Name = user[0].name;\r\n var Distance = user[0].UserDistance;\r\n var SuggestedPrice = user[0].BIDCounterRate;\r\n var Price = user[0].BIDCounterRate;\r\n }\r\n /* var Role = user[0].role;\r\n var userType = user[0].userType;\r\n var Name = user[0].name;\r\n var Distance = user[0].UserDistance;\r\n var SuggestedPrice = user[0].BIDCounterRate;\r\n var Price = user[0].BIDCounterRate;*/\r\n var start_date = moment(start).format(\"DD-MM-YYYY HH:mm\");\r\n var end_date= moment(end).format(\"DD-MM-YYYY HH:mm\");\r\n var today = new Date(); \r\n var newdate = moment(today).format(\"DD-MM-YYYY\");\r\n\r\n \r\n\r\n // if(start_datetoday){\r\n var sdate = start_date.split(\" \")[0];\r\n var stime = start_date.split(\" \")[1];\r\n var edate = end_date.split(\" \")[0];\r\n var etime = end_date.split(\" \")[1];\r\n start_date = newdate + ' ' + stime;\r\n end_date = newdate + ' ' + etime;\r\n }\r\n // vm.AllAssignUserList.push({\"UserId\":Id,\"TicketId\":ticketid}); \r\n\r\n //var fromDate = new Date().toISOString().slice(0,10);\r\n //var toDate = new Date().toISOString().slice(0,10);\r\n\r\n var AssignList =[];\r\n \r\n if(vm.AllAssignUserDetails.length!=0){\r\n console.log(vm.AllAssignUserDetails);\r\n AssignList = $filter('filter')(vm.AllAssignUserDetails,function(value){\r\n // return value.UserId==Id && value.start_date==start_date;\r\n //return value.UserId==Id;\r\n return value.TicketId==ticket;\r\n\r\n })\r\n console.log(AssignList);\r\n /// it is used for the \r\n if(AssignList.length!=0){\r\n var checklinkId = AssignList[0].LinkId;\r\n AssignList =[];\r\n var evs = scheduler.getEvents();\r\n var checkList = $filter('filter')(evs,function(value){\r\n return value.LinkId==checklinkId;\r\n })\r\n var d = checkList[0].id;\r\n scheduler.deleteEvent(d);\r\n }\r\n \r\n if(AssignList.length==0){\r\n var eventId = scheduler.addEvent({\r\n start_date: start_date,\r\n end_date: end_date,\r\n assignedUserid: Id,\r\n status :status,\r\n Role :Role,\r\n TicketId:ticket,\r\n Distance :Distance,\r\n LinkId: linkId,\r\n SuggestedPrice:SuggestedPrice,\r\n Price : Price,\r\n Name : Name,\r\n userType :userType\r\n });\r\n\r\n vm.AllAssignUserDetails.push({\"UserId\":Id,\"TicketId\":ticketid,\"LinkId\":linkId,\"Role\":Role,\"start_date\":start_date,\"end_date\":end_date,\"Name\":Name,\"Distance\":Distance,\"SuggestedPrice\":SuggestedPrice,\"type\":userType,\"Price\": Price});\r\n // console.log(vm.AllAssignUserDetails);\r\n }\r\n }else if(vm.AllAssignUserDetails.length==0){\r\n var eventId = scheduler.addEvent({\r\n start_date: start_date,\r\n end_date: end_date,\r\n assignedUserid: Id,\r\n status :status,\r\n Role :Role,\r\n TicketId:ticket,\r\n LinkId: linkId,\r\n Distance :Distance,\r\n SuggestedPrice:SuggestedPrice,\r\n Price : Price,\r\n Name : Name,\r\n userType: userType,\r\n });\r\n \r\n vm.AllAssignUserDetails.push({\"UserId\":Id,\"TicketId\":ticketid,\"LinkId\":linkId,\"Role\":Role,\"start_date\":start_date,\"end_date\":end_date,\"Name\":Name,\"Distance\":Distance,\"SuggestedPrice\":SuggestedPrice,\"type\":userType,\"Price\": Price});\r\n \r\n }\r\n }\r\n\r\n /* vm.AssignTicketsTimeline = function () {\r\n vm.AllUserList =[];\r\n if(vm.selectedFreelancers == ''){\r\n vm.showFailure(\"Please select users.\")\r\n } else {\r\n angular.forEach(vm.selectedFreelancers,function(data){\r\n if(data.Role=='Field Engineer' && data.type=='Fixed Team') {\r\n vm.AllUserList.push({\"UserId\":data.UserId,\"TicketId\":data.TicketId,\"StartTime\":data.start_date,\"Endtime\":data.end_date,\"SuggestedPrice\":data.SuggestedPrice,\"AssignPrice\":data.Price ,\"Distance\":data.Distance})\r\n } else if (data.Role=='Field Engineer' && data.type == 'Freelancer') {\r\n vm.AllUserList.push({\"UserId\":data.UserId,\"TicketId\":data.TicketId,\"StartTime\":data.start_date,\"Endtime\":data.end_date,\"SuggestedPrice\":data.SuggestedPrice,\"AssignPrice\":data.Price ,\"Distance\":data.Distance})\r\n } else if (data.Role=='Vendor Manager' && data.type == 'Fixed Team') {\r\n vm.AllUserList.push({\"UserId\":data.UserId,\"TicketId\":data.TicketId,\"StartTime\":data.start_date,\"Endtime\":data.end_date,\"SuggestedPrice\":data.SuggestedPrice,\"AssignPrice\":data.Price ,\"Distance\":data.Distance})\r\n } else {\r\n vm.AllUserList.push({\"UserId\":data.UserId,\"TicketId\":data.TicketId,\"StartTime\":data.start_date,\"Endtime\":data.end_date,\"SuggestedPrice\":data.SuggestedPrice,\"AssignPrice\":data.Price ,\"Distance\":data.Distance})\r\n }\r\n })\r\n\r\n ScheduleAssignService.AssignTicketssTimeline(loggedinUser,vm.AllUserList,token).then(function(resp){\r\n if (resp.status == 200 && resp.data) {\r\n vm.showSuccess(\"Success\",\"Job Assigned Successfully\");\r\n // vm.TimeoutFunc(1500, vm.GetTicketsForAssignation());\r\n // vm.TimeoutFGetSchedulingEventforToday(loggedinUser));\r\n //vm.GetTicketsForAssignation();\r\n // GetSchedulingEventforToday(loggedinUser);\r\n vm.selectedFreelancers = [];\r\n vm.AssignModal.close();\r\n\r\n\r\n scheduler.clearAll();\r\n\r\n $timeout(function () {\r\n vm.mapMarkers=[];\r\n // vm.AssignModal.close();\r\n GetSchedulingEventforToday(loggedinUser);\r\n vm.GetTicketsForAssignation();\r\n }, 1500);\r\n // $timeout(function() {\r\n // vm.GetTicketsForAssignation();\r\n // }, 1000);\r\n if(vm.Mode=='Map') {\r\n $timeout(function () {\r\n vm.mapMarkers=[];\r\n vm.AssignModal.close();\r\n }, 1500);\r\n }\r\n }else {\r\n vm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n }\r\n })\r\n }\r\n }*/\r\n\r\n\r\n vm.AssignTicketsTimeline = function () {\r\n \r\n vm.AllUserList =[];\r\n angular.forEach(vm.AllAssignUserDetails,function(data){\r\n\r\n if(data.Role=='Field Engineer' && data.type=='Fixed Team' && data.isChecked ==true) {\r\n vm.AllUserList.push({\"UserId\":data.UserId,\"TicketId\":data.TicketId?data.TicketId:data.LinkId,\"StartTime\":data.start_date,\"Endtime\":data.end_date,\"SuggestedPrice\":data.SuggestedPrice,\"AssignPrice\":data.Price ,\"Distance\":data.Distance})\r\n } else if (data.Role=='Field Engineer' && data.type == 'Freelancer' && data.isChecked ==true) {\r\n vm.AllUserList.push({\"UserId\":data.UserId,\"TicketId\":data.TicketId?data.TicketId:data.LinkId,\"StartTime\":data.start_date,\"Endtime\":data.end_date,\"SuggestedPrice\":data.SuggestedPrice,\"AssignPrice\":data.Price ,\"Distance\":data.Distance})\r\n } else if (data.Role=='Vendor Manager' && data.type == 'Fixed Team' && data.isChecked ==true) {\r\n vm.AllUserList.push({\"UserId\":data.UserId,\"TicketId\":data.TicketId?data.TicketId:data.LinkId,\"StartTime\":data.start_date,\"Endtime\":data.end_date,\"SuggestedPrice\":data.SuggestedPrice,\"AssignPrice\":data.Price ,\"Distance\":data.Distance})\r\n } else if (data.Role=='Vendor Manager' && data.type == 'Freelancer' && data.isChecked ==true){\r\n vm.AllUserList.push({\"UserId\":data.UserId,\"TicketId\":data.TicketId?data.TicketId:data.LinkId,\"StartTime\":data.start_date,\"Endtime\":data.end_date,\"SuggestedPrice\":data.SuggestedPrice,\"AssignPrice\":data.Price ,\"Distance\":data.Distance})\r\n }\r\n })\r\n if(vm.AllUserList == ''){\r\n vm.showFailure(\"Please select users.\")\r\n } else {\r\n ScheduleAssignService.AssignTicketsTimeline(loggedinUser,vm.AllUserList,token).then(function(resp){\r\n if (resp && resp.data) {\r\n \r\n vm.showSuccess(\"Success\",\"Job Assigned Successfully\");\r\n scheduler.clearAll();\r\n\r\n $timeout(function () {\r\n vm.mapMarkers=[];\r\n vm.AssignModal.close();\r\n GetSchedulingEventforToday(loggedinUser);\r\n if(vm.TicketStatus==\"New\"){\r\n vm.GetTicketsForAssignation();\r\n }else if(vm.TicketStatus==\"ReadyToAssign\"){\r\n vm.getReadyToAssign();\r\n }\r\n \r\n \r\n }, 1500);\r\n if(vm.Mode=='Map') {\r\n $timeout(function () {\r\n vm.mapMarkers=[];\r\n vm.AssignModal.close();\r\n }, 1500);\r\n }\r\n }else {\r\n vm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n }\r\n })\r\n }\r\n\r\n }\r\n\r\nvm.clearData = function () {\r\n vm.AllAssignUserDetails = [];\r\n vm.selectedTicket = '';\r\n vm.mapMarkers = [];\r\n } \r\n\r\n\r\n vm.OpenBroadcastModal = function(){\r\n if(vm.BroadcastedUserList == ''){\r\n vm.showFailure(\"Not found\",\"No users found\");\r\n } else {\r\n $scope.BroadcastedUser.allItemsSelected = true;\r\n $scope.selectAllBoardUser();\r\n vm.BroadcastModal = $uibModal.open({\r\n templateUrl: 'Broadcast-modal',\r\n backdrop: 'static',\r\n size:'lg',\r\n scope: $scope\r\n });\r\n }\r\n }\r\n \r\n vm.CloseBroadcastModal = function(){\r\n vm.selectedFreelancers = [];\r\n vm.BroadcastModal.close();\r\n }\r\n\r\n vm.OpenAssignModal = function(){ \r\n vm.AllAssignUserDetails =[];\r\n var evs = scheduler.getEvents();\r\n var t = vm.TicketStatus;\r\n\r\n\r\n var eventslist = $filter('filter')(evs,function(value){\r\n return value.Price ==0;\r\n })\r\n \r\n angular.forEach(evs,function(data){\r\n\r\n if(data.status=='New'){\r\n var Id= data.assignedUserid;\r\n var ticketid= data.TicketId;\r\n var linkid = data.LinkId;\r\n var start_date =moment(data.start_date).format('YYYY-MM-DD HH:mm');\r\n var end_date = moment(data.end_date).format('YYYY-MM-DD HH:mm');\r\n\r\n angular.forEach(vm.SuggestedUserList.users,function(value){\r\n if(value.id==Id && value.userType!='Freelancer'){ \r\n vm.AllAssignUserDetails.push({\"UserId\":Id,\"TicketId\":ticketid,\"LinkId\":linkid,\"Role\":value.role,\"start_date\":start_date,\"end_date\":end_date,\"Name\":value.name,\"Distance\":value.UserDistance,\"SuggestedPrice\":value.BIDCounterRate,\"type\":value.userType,\"Price\": value.BIDCounterRate});\r\n\r\n }\r\n\r\n })\r\n }else if(data.status=='Broadcasted'){\r\n var Id= data.assignedUserid;\r\n var ticketid= data.TicketId;\r\n var linkid = data.LinkId;\r\n var start_date =moment(data.start_date).format('YYYY-MM-DD HH:mm');\r\n var end_date = moment(data.end_date).format('YYYY-MM-DD HH:mm');\r\n\r\n angular.forEach(vm.SuggestedUserList.users,function(value){\r\n if(value.id==Id){\r\n \r\n vm.AllAssignUserDetails.push({\"UserId\":Id,\"TicketId\":ticketid,\"LinkId\":linkid,\"Role\":value.role,\"start_date\":start_date,\"end_date\":end_date,\"Name\":value.name,\"Distance\":value.UserDistance,\"SuggestedPrice\":value.BIDCounterRate,\"type\":value.userType,\"Price\": value.BIDCounterRate});\r\n // console.log(vm.AllAssignUserDetails);\r\n }\r\n\r\n })\r\n }else if(data.status=='ReadyToAssign'){\r\n \r\n var Id= data.assignedUserid;\r\n var ticketid= data.TicketId;\r\n var linkid = data.LinkId;\r\n var start_date =moment(data.start_date).format('YYYY-MM-DD HH:mm');\r\n var end_date = moment(data.end_date).format('YYYY-MM-DD HH:mm');\r\n\r\n angular.forEach(vm.SuggestedUserList.users,function(value){\r\n if(value.id==Id){\r\n \r\n vm.AllAssignUserDetails.push({\"UserId\":Id,\"TicketId\":ticketid,\"LinkId\":linkid,\"Role\":value.role,\"start_date\":start_date,\"end_date\":end_date,\"Name\":value.name,\"Distance\":value.UserDistance,\"SuggestedPrice\":value.BIDCounterRate,\"type\":value.userType,\"Price\": value.BIDCounterRate});\r\n // console.log(vm.AllAssignUserDetails);\r\n }\r\n\r\n })\r\n }\r\n })\r\n \r\n \r\n\r\n $scope.AssignSelectedUser = vm.AllAssignUserDetails;\r\n $scope.AssignSelectedUser.allItemsSelected = true;\r\n $scope.selectAll();\r\n\r\n vm.AssignModal = $uibModal.open({\r\n templateUrl: 'Assign-modal',\r\n size:'lg',\r\n backdrop: 'static',\r\n scope: $scope\r\n });\r\n // }\r\n }\r\n\r\n vm.CloseAssignModal = function(){\r\n vm.selectedFreelancers = [];\r\n vm.AssignModal.close();\r\n }\r\n\r\n\r\n //Broadcast Bids/Jobs\r\n vm.BroadcastTicket = function(){\r\n\r\n\r\n var BidData = [];\r\n var obj = {};\r\n var time = '';\r\n var hrs = '';\r\n var min = '';\r\n obj.JobID = vm.selectedTicket.TicketId;\r\n obj.BIDDuration = vm.selectedTicket.BidDuration;\r\n // obj.BroadCastRate = vm.selectedTicket.BroadcastRate\r\n //obj.BroadCastGrossRate = vm.selectedTicket.BroadcastGrossRate\r\n obj.MobiforceCommissionPercentage = parseInt(vm.selectedTicket.MobiforceCommission);\r\n // obj.FixedBidPrice = true;\r\n BidData.push(obj);\r\n\r\n \r\n var UserData = [];\r\n /* angular.forEach(vm.selectedFreelancers, function (d) {\r\n if (d) {*/\r\n angular.forEach($scope.BroadcastedUser, function (d) {\r\n if (d.isChecked==true) {\r\n // UserData.push(d.UserId);\r\n UserData.push({\"UserId\":d.UserId,\"SuggestedPrice\":parseInt(d.SuggestedPrice),\"Price\":parseInt(d.Price) ,\"Distance\":d.Distance});\r\n } \r\n });\r\n var checklist = $filter('filter')(UserData,function(value){\r\n return value.Price ==0;\r\n })\r\n if(checklist.length!=0){\r\n vm.showFailure(\"Failed\", \"Bid price can't be zero.\");\r\n }else{\r\n if (BidData.length > 0 && UserData.length > 0) {\r\n var data = {\r\n \"JobId\": vm.selectedTicket.TicketId,\r\n \"BIDDuration\": vm.selectedTicket.BidDuration,\r\n \"MobiforceCommissionPercentage\": parseInt(vm.selectedTicket.MobiforceCommission),\r\n \"Users\": UserData\r\n };\r\n //$log.log('BradcastedJobs', data);\r\n vm.BroadcastModal.close();\r\n\r\n ScheduleAssignService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 201 || resp.status == 200) {\r\n vm.toaster_success.body = 'Jobs Broadcasted Successfully';\r\n toaster.pop(vm.toaster_success);\r\n vm.selectedFreelancers = [];\r\n $timeout(function () {\r\n vm.GetTicketsForAssignation();\r\n }, 1500);\r\n\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", \"Please select users.\");\r\n }\r\n }) \r\n } else {\r\n vm.showFailure(\"Failed\", \"Please select jobs and users.\");\r\n }\r\n } \r\n\r\n }\r\n\r\n//Assign Tickets\r\n vm.AssignTickets = function (role, userId) {\r\n if (role == 'Field Engineer') {\r\n ScheduleAssignService.AssignTickets(userId,loggedinUser,vm.selectedTicket.TicketId,token).then(function(resp){\r\n if (resp && resp.data) {\r\n vm.showSuccess(\"Success\",\"Job Assigned Successfully\");\r\n vm.TimeoutFunc(1500, vm.GetTicketsForAssignation());\r\n // $timeout(function() {\r\n // vm.GetTicketsForAssignation();\r\n // }, 1000);\r\n if(vm.Mode=='Map') {\r\n $timeout(function () {\r\n vm.mapMarkers=[];\r\n vm.AssignModal.close();\r\n }, 1500);\r\n }\r\n }else {\r\n vm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n }\r\n })\r\n }else if (role == 'Vendor Manager') {\r\n }\r\n }\r\n \r\n //MAP INTEGRATION\r\n vm.MapIntegration = function(){\r\n //for Initial Loading\r\n if(vm.selectedTicket==''){\r\n vm.mapMarkers = [];\r\n //Today's Scheduling Events\r\n angular.forEach(vm.SuggestedUserList.tickets, function(d){\r\n var customer = {};\r\n customer.lat = d.latitude;\r\n customer.long = d.longitude;\r\n customer.StartTime = d.start_date;\r\n customer.Address = d.city+' '+d.state;\r\n customer.ConsumerName = d.customerName;\r\n customer.ContactNumber = 'NA';\r\n customer.Role = 'Customer';\r\n customer.Status = d.status;\r\n customer.AssignedUser = d.assignedUserName;\r\n customer.JobId = d.id;\r\n customer.StartDate = d.start_date;\r\n customer.EndDate = d.end_date;\r\n vm.mapMarkers.push(customer);\r\n })\r\n angular.forEach(vm.SuggestedUserList.users, function(d){\r\n var obj = {};\r\n obj.UserName = d.name;\r\n obj.BIDCounterRate = vm.round2Decimal(d.BIDCounterRate);\r\n obj.UserRating = d.UserRating?d.UserRating:0;\r\n obj.UserDistance = vm.round2Decimal(d.UserDistance);\r\n obj.UserLatitude = d.UserLatitude;\r\n obj.UserLongitude = d.UserLongitude;\r\n obj.UserContact = d.contactnumber?d.contactnumber:'NA';\r\n obj.UserImage = vm.getProfilePic(d.UserProfilePhoto);\r\n obj.Role = d.role;\r\n obj.userType = d.userType;\r\n vm.mapMarkers.push(obj);\r\n })\r\n //New Jobs\r\n if(vm.TicketStatus == 'New'){\r\n angular.forEach(vm.AllTicketList, function(d){\r\n var customer = {};\r\n var DefaultLat = parseFloat(d.Latitude);\r\n var DefaultLong = parseFloat(d.Longitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = d.City+' '+d.State;\r\n customer.ConsumerName = d.ConsumerName;\r\n customer.JobType = d.JobType;\r\n customer.ContactNumber = 'NA';\r\n customer.Role = 'Customer';\r\n customer.Status = 'New';\r\n customer.JobId = d.TicketId;\r\n customer.StartDate = d.StartTime;\r\n customer.EndDate = d.EndTime;\r\n vm.mapMarkers.push(customer);\r\n })\r\n //Broadcasted Jobs\r\n } else if (vm.TicketStatus == 'Broadcasted'){\r\n angular.forEach(vm.BroadcastedJobList, function(d){\r\n var customer = {};\r\n var DefaultLat = parseFloat(d.JobLatitude);\r\n var DefaultLong = parseFloat(d.JobLongitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = d.Location;\r\n customer.ConsumerName = d.CustomerName;\r\n customer.JobType = d.JobType;\r\n customer.ContactNumber = 'NA';\r\n customer.Role = 'Customer';\r\n customer.Status = 'Broadcasted';\r\n customer.JobId = d.JobId;\r\n customer.StartDate = d.StartDateTime;\r\n customer.EndDate = d.EndDateTime;\r\n vm.mapMarkers.push(customer);\r\n })\r\n } else if (vm.TicketStatus == 'ReadyToAssign'){\r\n angular.forEach(vm.ReadyToAssignList, function(d){\r\n var customer = {};\r\n var DefaultLat = parseFloat(d.JobLatitude);\r\n var DefaultLong = parseFloat(d.JobLongitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = d.Location;\r\n customer.ConsumerName = d.CustomerName;\r\n customer.JobType = d.JobType;\r\n customer.ContactNumber = 'NA';\r\n customer.Role = 'Customer';\r\n customer.Status = 'ReadyToAssign';\r\n customer.JobId = d.JobId;\r\n customer.StartDate = d.StartDateTime;\r\n customer.EndDate = d.EndDateTime;\r\n vm.mapMarkers.push(customer);\r\n })\r\n }\r\n //on Job Selection\r\n } else {\r\n vm.mapMarkers = [];\r\n var customer = {};\r\n //Adding Customer Site on Ticket Status Basis\r\n if(vm.TicketStatus == 'New') {\r\n var DefaultLat = parseFloat(vm.selectedTicket.Latitude);\r\n var DefaultLong = parseFloat(vm.selectedTicket.Longitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = vm.selectedTicket.City+' '+vm.selectedTicket.State;\r\n customer.ConsumerName = vm.selectedTicket.ConsumerName;\r\n customer.Status = vm.selectedTicket.TicketStatus;\r\n customer.JobId = vm.selectedTicket.TicketId;\r\n customer.StartDate = vm.selectedTicket.StartTime;\r\n customer.EndDate = vm.selectedTicket.EndTime;\r\n } \r\n else if (vm.TicketStatus == 'Broadcasted') {\r\n var DefaultLat = parseFloat(vm.selectedTicket.JobLatitude);\r\n var DefaultLong = parseFloat(vm.selectedTicket.JobLongitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = vm.selectedTicket.Location;\r\n customer.ConsumerName = vm.selectedTicket.CustomerName;\r\n customer.Status = vm.selectedTicket.Status;\r\n customer.JobId = vm.selectedTicket.JobId;\r\n customer.StartDate = vm.selectedTicket.StartDateTime;\r\n customer.EndDate = vm.selectedTicket.EndDateTime;\r\n } else if (vm.TicketStatus == 'ReadyToAssign') {\r\n var DefaultLat = parseFloat(vm.selectedTicket.JobLatitude);\r\n var DefaultLong = parseFloat(vm.selectedTicket.JobLongitude);\r\n customer.lat = DefaultLat;\r\n customer.long = DefaultLong;\r\n customer.Address = vm.selectedTicket.Location;\r\n customer.ConsumerName = vm.selectedTicket.CustomerName;\r\n customer.Status = vm.selectedTicket.Status;\r\n customer.JobId = vm.selectedTicket.JobId;\r\n customer.StartDate = vm.selectedTicket.StartDateTime;\r\n customer.EndDate = vm.selectedTicket.EndDateTime;\r\n }\r\n customer.JobType = vm.selectedTicket.JobType;\r\n customer.ContactNumber = 'NA';\r\n customer.Role = 'Customer';\r\n vm.mapMarkers.push(customer);\r\n\r\n //Adding Users into Marker\r\n angular.forEach(vm.SuggestedUserList.users,function(d){\r\n var obj = {};\r\n if (d && d.UserLatitude && d.UserLongitude) {\r\n obj.UserName = d.name;\r\n // obj.BIDApplyDateTime = d.BIDApplyDateTime;\r\n // obj.BIDApplyStatus = d.BIDApplyStatus;\r\n obj.BIDCounterRate = vm.round2Decimal(d.BIDCounterRate);\r\n obj.JobId = d.id;\r\n // obj.UserCurrentJobs = d.UserCurrentJobs;\r\n // obj.UserId = d.UserId;\r\n obj.UserRating = d.UserRating?d.UserRating:0;\r\n // obj.UserTotalJobs = d.UserTotalJobs;\r\n obj.UserDistance = vm.round2Decimal(d.UserDistance);\r\n obj.UserLatitude = d.UserLatitude;\r\n obj.UserLongitude = d.UserLongitude;\r\n obj.UserContact = d.contactnumber?d.contactnumber:'NA';\r\n obj.UserImage = vm.getProfilePic(d.UserProfilePhoto);\r\n // if (obj.Role=='Freelancer') {\r\n // obj.AssigButton = false; \r\n // }else{\r\n // obj.AssigButton = true;\r\n // }\r\n obj.Role = d.role;\r\n obj.userType = d.userType;\r\n vm.mapMarkers.push(obj);\r\n }\r\n })\r\n }\r\n \r\n\r\n //Setting the Map Options\r\n vm.MapOptions = {\r\n center: new google.maps.LatLng(DefaultLat, DefaultLong),\r\n // zoom: 20,\r\n mapTypeId: google.maps.MapTypeId.ROADMAP\r\n }\r\n\r\n //Initializing the InfoWindow, Map and LatLngBounds objects.\r\n vm.InfoWindow = new google.maps.InfoWindow();\r\n vm.Latlngbounds = new google.maps.LatLngBounds();\r\n vm.Map = new google.maps.Map(document.getElementById(\"map-canvas\"), vm.MapOptions);\r\n\r\n //Looping through the Array and adding Markers.\r\n for(var i=0; iimage
\"\r\n vm.InfoWindow.setContent(\"

\"+data.ConsumerName+\"


\"+' '+data.JobId+\"
\"+' '+data.Status+\"
\"+' '+data.AssignedUser+\"
\"+' '+moment(data.StartDate).format(\"YYYY-MM-DD HH:mm\")+\"
\"+' '+moment(data.EndDate).format(\"YYYY-MM-DD HH:mm\")+\"
\"+' '+data.Address+\"
\"); \r\n } else if(data.Status == 'Completed'){\r\n //var content = \"
image
\"\r\n vm.InfoWindow.setContent(\"

\"+data.ConsumerName+\"


\"+' '+data.JobId+\"
\"+' '+data.Status+\"
\"+' '+data.AssignedUser+\"
\"+' '+moment(data.StartDate).format(\"YYYY-MM-DD HH:mm\")+\"
\"+' '+moment(data.EndDate).format(\"YYYY-MM-DD HH:mm\")+\"
\"+' '+data.Address+\"
\"); \r\n } \r\n else {\r\n //var content = \"
image
\"\r\n vm.InfoWindow.setContent(\"

\"+data.ConsumerName+\"


\"+' '+data.JobId+\"
\"+' '+data.Status+\"
\"+' '+moment(data.StartDate).format(\"YYYY-MM-DD HH:mm\")+\"
\"+' '+moment(data.EndDate).format(\"YYYY-MM-DD HH:mm\")+\"
\"+' '+data.Address+\"
\");\r\n }\r\n vm.InfoWindow.open(vm.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n vm.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, data);\r\n vm.Latlngbounds.extend(marker.position);\r\n }else{\r\n ticketLatlng = new google.maps.LatLng(data.UserLatitude, data.UserLongitude);\r\n //Initializing the Marker object.\r\n if(data.Role == 'Field Engineer' && data.userType == 'Freelancer'){\r\n var marker = new google.maps.Marker({\r\n position: ticketLatlng,\r\n map: vm.Map,\r\n title: data.UserName,\r\n animation: google.maps.Animation.DROP,\r\n //icon: flIcon,\r\n icon: {\r\n url: UIURL+'/assets/images/patterns/delivery-man1.png',\r\n labelOrigin: new google.maps.Point(80, 52),\r\n },\r\n \r\n label: {\r\n text: data.UserName,\r\n color: \"#1a237e\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n position:\"absolute\"\r\n }\r\n }); \r\n }else if (data.Role == 'Field Engineer' && data.userType == 'Fixed Team') {\r\n var marker = new google.maps.Marker({\r\n position: ticketLatlng,\r\n map: vm.Map,\r\n title: data.UserName,\r\n animation: google.maps.Animation.DROP,\r\n //icon: ftIcon,\r\n icon: {\r\n url: UIURL+'/assets/images/patterns/delivery-man1.png',\r\n labelOrigin: new google.maps.Point(80, 52),\r\n },\r\n label: {\r\n text: data.UserName,\r\n color: \"#1a237e\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n position:\"absolute\"\r\n \r\n }\r\n });\r\n } else if (data.Role == 'Vendor Manager' && data.userType == 'Fixed Team') {\r\n var marker = new google.maps.Marker({\r\n position: ticketLatlng,\r\n map: vm.Map,\r\n title: data.UserName,\r\n animation: google.maps.Animation.DROP,\r\n //icon: vIcon,\r\n icon: {\r\n url: UIURL+'/assets/images/patterns/delivery-man1.png',\r\n labelOrigin: new google.maps.Point(80, 52),\r\n },\r\n label: {\r\n text: data.UserName,\r\n color: \"#1a237e\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n position:\"absolute\"\r\n \r\n }\r\n });\r\n } else if (data.Role == 'Vendor Manager' && data.userType == 'Freelancer') {\r\n var marker = new google.maps.Marker({\r\n position: ticketLatlng,\r\n map: vm.Map,\r\n title: data.UserName,\r\n animation: google.maps.Animation.DROP,\r\n //icon: fvIcon,\r\n icon: {\r\n url: UIURL+'/assets/images/patterns/delivery-man1.png',\r\n labelOrigin: new google.maps.Point(80, 52),\r\n },\r\n label: {\r\n text: data.UserName,\r\n color: \"#1a237e\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n position:\"absolute\"\r\n \r\n }\r\n });\r\n }\r\n \r\n //Adding InfoWindow to the Marker.\r\n (function (marker, data) {\r\n google.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n if(data.Role == 'Field Engineer' && data.userType == 'Fixed Team'){\r\n var Role = 'Field Engineer';\r\n } else if(data.Role == 'Field Engineer' && data.userType == 'Freelancer'){\r\n var Role = 'Freelancer';\r\n } else if(data.Role == 'Vendor Manager' && data.userType == 'Fixed Team') {\r\n var Role = 'Vendor Manager';\r\n } else {\r\n var Role = 'Freelancer Vendor';\r\n }\r\n var content = \"
image
\"+' '+data.UserName+\"
\"+' '+data.UserContact+\"
\"+' '+data.UserDistance+\" Kms
\"+' '+data.BIDCounterRate+\"
\"+' '+Role+\"
\"\r\n vm.InfoWindow.setContent(content);\r\n vm.InfoWindow.open(vm.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n vm.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, data); \r\n // vm.Latlngbounds.extend(marker.position);\r\n }\r\n //Plotting the Marker on the Map. \r\n }\r\n //Adjusting the Map for best display.\r\n vm.Map.setCenter(vm.Latlngbounds.getCenter());\r\n // vm.Map.fitBounds(vm.Latlngbounds);\r\n vm.Map.setZoom(13);\r\n \r\n }\r\n\r\n//Global Calls\r\nvm.GetTicketsForAssignation();\r\n }\r\n\r\nfunction GetSchedulingEventforToday(supervisiorId){\r\n //scheduler.clearAll();\r\n var accountId='';\r\n \r\n /*var fromDate = new Date().toISOString().slice(0,10);\r\n var toDate = new Date().toISOString().slice(0,10);*/\r\n /*var fromDate =\"2018-12-13\"\r\n var toDate = \"2019-01-03\"*/\r\n var date = new Date();\r\n var fromDate = new Date(date.getFullYear(), date.getMonth(), 1);\r\n fromDate = moment(fromDate).format(\"YYYY-MM-DD\");\r\n var toDate = new Date(date.getFullYear(), date.getMonth() + 1, 0);\r\n toDate = moment(toDate).format(\"YYYY-MM-DD\");\r\n ScheduleAssignService.GetSchedulingEventToday(accountId,supervisiorId,fromDate,toDate,token).then(function(resp){\r\n if (resp && resp.status == 200 && resp.data) {\r\n vm.SuggestedUserList = [];\r\n \r\n vm.SuggestedUserList = resp.data;\r\n\r\n var evs = scheduler.getEvents();\r\n\r\n angular.forEach(evs,function(val){\r\n if(val.status=='New'){\r\n var id =val.id;\r\n scheduler.deleteEvent(id); \r\n }\r\n })\r\n init();\r\n }\r\n })\r\n vm.MapIntegration();\r\n}\r\nGetSchedulingEventforToday(loggedinUser);\r\n\r\n\r\n\r\n\r\n\r\n $scope.selectEntity = function () {\r\n // If any entity is not checked, then uncheck the \"allItemsSelected\" checkbox\r\n for (var i = 0; i < $scope.AssignSelectedUser.length; i++) {\r\n if (!$scope.AssignSelectedUser[i].isChecked) {\r\n $scope.AssignSelectedUser.allItemsSelected = false;\r\n return;\r\n }\r\n }\r\n \r\n //If not the check the \"allItemsSelected\" checkbox\r\n $scope.AssignSelectedUser.allItemsSelected = true;\r\n };\r\n \r\n // This executes when checkbox in table header is checked\r\n $scope.selectAll = function () {\r\n // Loop through all the entities and set their isChecked property\r\n for (var i = 0; i < $scope.AssignSelectedUser.length; i++) {\r\n $scope.AssignSelectedUser[i].isChecked = $scope.AssignSelectedUser.allItemsSelected;\r\n }\r\n };\r\n\r\n \r\n\r\n\r\n $scope.selectEntityBoardUser = function () {\r\n // If any entity is not checked, then uncheck the \"allItemsSelected\" checkbox\r\n for (var i = 0; i < $scope.BroadcastedUser.length; i++) {\r\n if (!$scope.BroadcastedUser[i].isChecked) {\r\n $scope.BroadcastedUser.allItemsSelected = false;\r\n return;\r\n }\r\n }\r\n \r\n //If not the check the \"allItemsSelected\" checkbox\r\n $scope.BroadcastedUser.allItemsSelected = true;\r\n };\r\n\r\n // This executes when checkbox in table header is checked\r\n $scope.selectAllBoardUser = function () {\r\n // Loop through all the entities and set their isChecked property\r\n for (var i = 0; i < $scope.BroadcastedUser.length; i++) {\r\n $scope.BroadcastedUser[i].isChecked = $scope.BroadcastedUser.allItemsSelected;\r\n }\r\n };\r\n\r\n\r\n\r\n function init() {\r\n\r\n scheduler.locale.labels.timeline_tab = \"Timeline\";\r\n scheduler.locale.labels.section_custom=\"Section\";\r\n // scheduler.config.details_on_create=true;\r\n // scheduler.config.details_on_dblclick=true;\r\n scheduler.config.dblclick_create = false; \r\n\r\n scheduler.config.xml_date=\"%Y-%m-%d %H:%i\";\r\n var format = scheduler.date.date_to_str(\"%H:%i\");\r\n scheduler.config.touch_tooltip = true;\r\n scheduler.config.drag_resize= false;\r\n\r\n scheduler.config.multisection = true; \r\n scheduler.config.multisection_shift_all = false;\r\n \r\n\r\n \r\n \r\n //it is used for the drag and drop functionality \r\n scheduler.attachEvent(\"onBeforeDrag\", function (event_id, mode, native_event_object){\r\n \r\n var ev = scheduler.getEvent(event_id);\r\n if(ev.status=='Assigned'){\r\n return false;\r\n } if(ev.status=='Completed'){\r\n return false;\r\n } \r\n else{\r\n return true; \r\n }\r\n });\r\n\r\n\r\n\r\n// this is used when we drag the event in one use to another user but the time is still same \r\n scheduler.attachEvent(\"onBeforeEventChanged\", function(ev, e, is_new, original){\r\n \r\n if (original.assignedUserid == ev.assignedUserid) \r\n return false;\r\n \r\n ev.start_date = original.start_date;\r\n ev.end_date = original.end_date;\r\n return true;\r\n});\r\n\r\n\r\n\r\n\r\n //this methd is used to stop the open the popup on double click \r\n scheduler.attachEvent(\"onDblClick\", function (id, e){ \r\n return false;\r\n });\r\n\r\n\r\n\r\n if(vm.SuggestedUserList.users.length!=0){\r\n var sections =[];\r\n var sections =vm.SuggestedUserList;\r\n if(vm.selectedTicket.Status==\"ReadyToAssign\"){\r\n var sectionlist = $filter('filter')(sections.users,function(value){\r\n return value.BIDCounterRate!=0;\r\n })\r\n sections.users = sectionlist;\r\n }\r\n }else{\r\n var sections =[];\r\n var sections = vm.SuggestedUserList;\r\n // var sections.users =[];\r\n }\r\n \r\n /* scheduler.templates.event_bar_text = function(sd, ed, ev){\r\n return format(sd)+\" - \"+format(ed);\r\n }*/\r\n \r\n\r\n //this is used for the tooltip\r\n scheduler.templates.tooltip_text = function(start,end,event) { \r\n var t = event.id;\r\n t = t.toString();\r\n var res = t.charAt(0);\r\n if(res==\"1\"){\r\n var Id = event.LinkId?event.LinkId:event.TicketId;\r\n }else{\r\n var Id = event.LinkId;\r\n }\r\n return \"Job Status : \"+event.status+\"
\"+ \r\n\r\n \"Job Id : \"+Id+\"
\"+ \r\n \"Start Time : \" + scheduler.templates.tooltip_date_format(start) + \"
\" +\r\n \"End Time : \" + scheduler.templates.tooltip_date_format(end);\r\n\r\n };\r\n\r\n// this is used for creating two event in the same slot \r\n scheduler.config.collision_limit = 5; //allows creating 2 events per time slot\r\n/*scheduler.attachEvent(\"onEventLoading\", function(ev){ \r\n return scheduler.checkCollision(ev); \r\n});\r\n*/\r\n\r\n\r\n\r\n\r\n scheduler.createTimelineView({\r\n name: \"timeline\",\r\n x_date: \"%H:%i\",\r\n x_unit:\"minute\",// the scale parameters will be calculated in minutes\r\n x_step:30, //sets the '30 minute' step, e.g. 09:00 - 09:30\r\n x_size:24, // the number of '30 minute's in the interval 09:00 - 15:00\r\n // 15 - 9 = 6 hours = 360 minutes = 360/30 = 12\r\n x_start:18, //scale starts from 09:00,i.e. 9 hours from the default start- 00:00.\r\n // 9 hours = 540 minutes = 540/30 = 18 'x_step's \r\n x_length:48,//sc\r\n y_unit: scheduler.serverList('sections',sections.users),\r\n y_property: \"assignedUserid\",\r\n render:\"bar\",\r\n\r\n });\r\n\r\n scheduler.ignore_timeline = function(date){\r\n //non-work hours\r\n if (date.getHours() < 8 || date.getHours() > 18) return true;\r\n };\r\n\r\n\r\n scheduler.templates.timeline_scale_label =function(key, label,sections){\r\n if(sections.userType=='Fixed Team' && sections.role=='Field Engineer'){\r\n var UserIdentity ='FE';\r\n \r\n } else if(sections.userType=='Freelancer' && sections.role=='Field Engineer'){\r\n var UserIdentity ='FL';\r\n \r\n } else if(sections.userType=='Fixed Team' && sections.role=='Vendor Manager'){\r\n var UserIdentity ='V';\r\n \r\n } else if(sections.userType=='Freelancer' && sections.role=='Vendor Manager'){\r\n var UserIdentity ='FV';\r\n \r\n }\r\n var ratings = sections.UserRating?sections.UserRating:0;\r\n if(sections.BIDCounterRate!=null){\r\n return \"
\\\r\n
image
\\\r\n
\\\r\n
\"+sections.name+\"\"+UserIdentity+\"
\\\r\n
\\\r\n \"+ratings+\"\\\r\n \\\r\n \"+round2Decimal(sections.UserDistance)+\" km \\\r\n \"+sections.UserDuration+\" Min\\\r\n
\\\r\n
\\\r\n
\";\r\n }else{\r\n return \"
\\\r\n
image
\\\r\n
\\\r\n
\"+sections.name+\"\"+UserIdentity+\"
\\\r\n
\\\r\n \"+ratings+\"\\\r\n \"+sections.UserDuration+\" Min\\\r\n
\\\r\n
\";\r\n }\r\n\r\n };\r\n\r\n\r\nfunction getPic(profilePic) {\r\n return profilePic ? ImageUrl + '/' + profilePic : DefaultImage;\r\n}\r\n\r\nfunction round2Decimal(no) {\r\n return Math.round(no * 100) / 100; \r\n}\r\n \r\n\r\n \r\n\r\n\r\nscheduler.attachEvent(\"onBeforeViewChange\", function(old_mode,old_date,mode,date){\r\n //any custom logic here\r\n \r\n vm.mode =mode;\r\n return true;\r\n});\r\n\r\n/*scheduler.templates.event_text=function(start, end, event){\r\n return \"
\"+Id+\"
\";\r\n}\r\n*/\r\n \r\n //timeline event bar text is used for timeline mode\r\n scheduler.templates.event_bar_text = function (start, end, event) {\r\n var t = event.id;\r\n debugger;\r\n t = t.toString();\r\n var res = t.charAt(0);\r\n if(res==\"1\"){\r\n var Id = event.LinkId?event.LinkId:event.TicketId;\r\n }else{\r\n var Id =event.LinkId;\r\n }\r\n return \"
\"+Id+\"
\";\r\n };\r\n\r\n// it is used when we dislay in month mode\r\nscheduler.templates.event_bar_date = function(start,end,event){\r\n var t = event.id;\r\n t = t.toString();\r\n var res = t.charAt(0);\r\n if(res==\"1\"){\r\n var Id = event.LinkId?event.LinkId:event.TicketId;\r\n }else{\r\n var Id = event.LinkId?event.LinkId:event.id;\r\n }\r\n return \"\"+Id+\" \";\r\n};\r\n \r\n // it is used for the week basis \r\n scheduler.templates.event_header = function(start,end,event){\r\n var t = event.id;\r\n t = t.toString();\r\n var res = t.charAt(0);\r\n if(res==\"1\"){\r\n var Id = event.LinkId?event.LinkId:event.TicketId;\r\n }else{\r\n var Id =event.LinkId?event.LinkId:event.id;\r\n }\r\n return \"
\"+Id+\"
\";\r\n \r\n};\r\n\r\n\r\n\r\n//this is used for the status \r\n scheduler.templates.event_class = function (start, end, event) {\r\n if(vm.mode=='timeline'){\r\n scheduler.config.readonly = false;\r\n if (event.status == \"Assigned\") {\r\n return \"Assigned\";\r\n }\r\n if (event.status == \"New\") {\r\n return \"New\";\r\n }\r\n if (event.status == \"Broadcasted\") {\r\n return \"Broadcasted\";\r\n } \r\n if (event.status == \"Completed\") {\r\n return \"Completed\";\r\n }if(event.status ==\"ReadyToAssign\"){\r\n return \"ReadyToAssign\";\r\n }\r\n return \"dhx_rent_payed\";\r\n\r\n }\r\n else if(vm.mode=='week' || vm.mode=='month' || vm.mode=='day'){\r\n scheduler.config.readonly = true;\r\n if (event.status == \"Assigned\") {\r\n return \"Assigned1\";\r\n }\r\n if (event.status == \"New\") {\r\n return \"New1\";\r\n }\r\n if (event.status == \"Broadcasted\") {\r\n return \"Broadcasted1\";\r\n } \r\n if (event.status == \"Completed\") {\r\n return \"Completed1\";\r\n }if(event.status ==\"ReadyToAssign\"){\r\n return \"ReadyToAssign1\";\r\n }\r\n return \"dhx_rent_payed1\";\r\n }\r\n\r\n };\r\n\r\n /* var someDate = new Date();\r\n var numberOfDaysToAdd = 5;\r\n var nextday = 1;\r\n someDate.setDate(someDate.getDate() + nextday)*/\r\n\r\n scheduler.init('scheduler_here',new Date(),\"timeline\");\r\n\r\n if(sections.tickets.length!=0){\r\n\r\n var sectionlist = $filter('filter')(sections.tickets,function(value){\r\n // return value.UserId==Id && value.start_date==start_date;\r\n //return value.UserId==Id;\r\n return value.status=='Completed' || value.status=='Assigned';\r\n\r\n })\r\n sections.tickets = sectionlist;\r\n scheduler.parse(sections.tickets,\"json\");\r\n }\r\n \r\n //scheduler.parse(sections.tickets,\"json\");\r\n \r\n }\r\n\r\n//init();\r\n})\r\n\nangular.module('inspinia').service('RoleAccessManagement', function (ApiURL,SchedulingAPI, $window, $http) {\r\n\r\n \r\n\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('RoleAccessManagementController', function (RoleAccessManagement, $resource, toaster, $filter, $compile, $q, $state, $localStorage, $scope, DTOptionsBuilder, DTColumnBuilder, $uibModal, $timeout) {\r\n\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\t\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\t\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\t\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\t\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\t\tvm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n\t\tvm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\t\t$scope.isNavCollapsed = true;\r\n\t\t$scope.isCollapsed = true;\r\n\t\t$scope.isCollapsedHorizontal = false;\r\n\t\tvm.dtInstance = {};\r\n\t\tvm.selectSingle = false;\r\n\t\tvm.disableExceptionButton = false;\r\n\t\tvm.ticketPageListCount = 10;\r\n\t\tvm.pageListCounts = [10, 20, 30, 50];\r\n\t\tvm.scheduleExceptionListNewLength=0;\r\n\t\tvar PageIndex = 1;\r\n\t\tvar PageSize = 10; \r\n\t\tvm.SearchByAccountName = '';\r\n\t\tvm.ExceptionType = '';\r\n\t\tvm.exceptionState = '';\r\n\t\tvm.showAllAccounts = [];\r\n\t\tvm.UserId='';\r\n\r\n\t\t$scope.dates = { startDate: moment().subtract(0, 'days'), endDate: moment() };\r\n\t\tvar startDate = moment().subtract(0, 'days').format(\"YYYY-MM-DD\");\r\n\t\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\r\n\t\t$scope.ranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment()]\r\n\t\t};\r\n\r\n\t\t$scope.dateRangeChange = function (ev, picker) {\r\n\t\t\t// console.log(ev, picker);\r\n\t\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\t\tvm.getAllJobForExceptionList();\r\n\r\n\r\n\t\t};\r\n\t\tvm.roles = [\r\n\t\t\t{ name: 'Account Manager', description: 'Manages client relationships, ensuring satisfaction, retention, and revenue growth through effective communication and strategic planning.\t' },\r\n\t\t\t{ name: 'Administrator', description: 'Oversees the overall operations and ensures system reliability.' },\r\n\t\t\t{ name: 'Branch Service Manager\t', description: 'Supervises branch services, ensures customer satisfaction, and aligns branch operations with organizational objectives.' },\r\n\t\t\t{ name: 'Category Manager', description: 'Strategically manages product categories, driving profitability through pricing, merchandising, and supply chain coordination.' },\r\n\t\t\t{ name: 'Community Manager', description: 'Builds and engages online/offline communities, fostering relationships and brand loyalty through communication and events.' },\r\n\t\t\t{ name: 'Customer', description: 'Engages with services/products, providing feedback, ensuring satisfaction, and driving business through ongoing interactions.' },\r\n\t\t\t{ name: 'Defective Management', description: 'Handles defect identification, analysis, and resolution to maintain product/service quality and customer satisfaction.' },\r\n\t\t\t{ name: 'Dispatch Head', description: 'Oversees logistics and dispatch operations, ensuring timely deliveries and optimal resource allocation.' },\r\n\t\t\t{ name: 'Dispatch Manager', description: 'Manages dispatch teams, schedules shipments, and ensures smooth delivery operations.' },\r\n\t\t\t{ name: 'Dispatch Supervisor', description: 'Supervises dispatch staff, monitors activities, and resolves logistical issues efficiently.' },\r\n\t\t\t{ name: 'Dispatch Team Lead', description: 'Guides dispatch team members, assigns tasks, and ensures operational efficiency.' },\r\n\t\t\t{ name: 'Field Engineer\t', description: 'Provides on-site technical support, installation, and maintenance of equipment or systems.' },\r\n\t\t\t{ name: 'Freelancer Dispatcher', description: 'Coordinates freelance dispatching activities, ensuring timely task completion and communication.' },\r\n\t\t\t{ name: 'Help Desk', description: 'Provides first-line support, resolving technical or service-related issues for users/customers.' },\r\n\t\t\t{ name: 'Higher Management', description: 'Coordinates freelance dispatching activities, ensuring timely task completion and communication.\t' },\r\n\t\t\t{ name: 'Invoice Manager', description: 'Manages billing operations, ensuring timely invoicing and error-free transactions.' },\r\n\t\t\t{ name: 'Onboarding Head', description: 'Leads onboarding initiatives, ensuring seamless employee integration and alignment with company culture. \t' },\r\n\t\t\t{ name: 'Onboarding Manager', description: 'Oversees new hires onboarding process, facilitating training and resource allocation.\t' },\r\n\t\t\t{ name: 'Onboarding Team Lead', description: 'Coordinates onboarding efforts, mentoring team members to meet objectives.' },\r\n\t\t\t{ name: 'Project Manager', description: 'Plans, executes, and oversees projects, ensuring timely completion within budget and scope.' },\r\n\t\t\t{ name: 'Regional Service Manager', description: 'Manages regional service teams, ensuring alignment with company standards and customer satisfaction.' },\r\n\t\t\t{ name: 'Supervisor', description: 'Oversees team operations, monitors performance, and ensures efficiency.' },\r\n\t\t\t{ name: 'Vendor Manager', description: 'Manages vendor relationships, ensuring quality service and cost-effectiveness.' },\r\n\t\t\t{ name: 'Warehouse Manager', description: 'Oversees warehouse operations, ensuring inventory accuracy and efficient workflow.' },\r\n\t\t];\r\n\t\tvm.isEditMode = false;\r\n\t\tvm.RoleAccessManagementModal = function (role) {\r\n\t\t\tif (role) {\r\n\t\t\t\tvm.selectedRole = angular.copy(role); // For editing, make a copy of the role\r\n\t\t\t\tvm.modalTitle = 'Edit ' + vm.selectedRole.name; // Edit title\r\n\t\t\t\tvm.isEditMode = true; // Flag to indicate that it's in edit mode\r\n\t\t\t} else {\r\n\t\t\t\tvm.modalTitle = 'New Role'; // Title for creating a new role\r\n\t\t\t\tvm.isEditMode = false; // Flag for creating a new role\r\n\t\t\t}\r\n\t\t\tvm.roleaccessModelOpen = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'RoleAccessModal.html',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t};\r\n\t\t\t vm.RoleAccessManagementClose = function () {\r\n\t\t\t\t vm.roleaccessModelOpen.close();\r\n\t\t\t\t\r\n\t\t\t }\r\n\t\t\t vm.deleteregion = function(){\r\n\t\t\t\tvm.showSuccess(\"Success\", \"Delete successfully.\");\r\n\t\t\t}\r\n\t\t\tvm.disableCreateButton = false;\r\n\t\t\t vm.CreateCase = function(){\r\n\t\t\t\t\r\n\t\t\t\t\tvm.disableCreateButton = true;\r\n\t\t\t\t\tvm.showSuccess(\"Success\", \" Successfully Save\");\r\n\t\t\t\t\tvm.RoleAccessManagementClose();\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t}\r\n\r\n\r\n\t}\r\n});\nangular.module('inspinia').controller('RoasterTeamMemberController', function (teamCardService, $timeout, MainService, $rootScope, DTColumnBuilder, $compile, $q, ProjectCreationService, $scope, TeamProfileService, $stateParams, $uibModal, $localStorage, $log, $state, DTOptionsBuilder, PlanningResourseMapService, DashboardService, DTColumnDefBuilder, ImageUrl) {\r\n var vm = this;\r\n var userId = $stateParams.userId;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n $rootScope.rootScopeMessage = '';\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n } else {\r\n vm.users = [];\r\n vm.FilterSwitch = false;\r\n vm.client = 1;\r\n vm.tab = 1;\r\n vm.skill = '';\r\n vm.workArea = '';\r\n var skillsArray;\r\n var circleArray;\r\n var ProjectModal = {};\r\n var userIndex = 0;\r\n vm.filteredProperties = {};\r\n vm.selectAll = false;\r\n vm.showMinus = false;\r\n vm.searchText = \"\";\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.dtInstance = {};\r\n var witemNames = \"\";\r\n var witemValues = \"\";\r\n var wsSDate = '';\r\n var wsEDate = '';\r\n var uPageIndex = 1;\r\n var uwPageIndex = 1;\r\n var uPageSize = 10;\r\n var uwPageSize = 10;\r\n vm.userPageListCount= 10;\r\n vm.pageListCounts = [10, 20, 30, 50];\r\n\r\n vm.imageServices = function (img) {\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n if (resp.data == null || resp.data == '') {\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n }\r\n else {\r\n vm.profileImg = resp.data;\r\n }\r\n console.log(vm.profileImg);\r\n }, function () {\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n vm.exportData = function () {\r\n var blob = new Blob([document.getElementById('tab-1').innerHTML], {\r\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\r\n });\r\n saveAs(blob, \"Report.xls\");\r\n };\r\n\r\n vm.preProcessUsers = function (user) {\r\n user.ratingStars = vm.getRatingStars(user.CustomerRating);\r\n user.blankStars = vm.getBlankStars(user.CustomerRating);\r\n user.displayName = user.FirstName + \" \" + user.LastName;\r\n // user.displayName = user.displayName.length>8?(user.displayName.substring(0, 8)+\"...\"):user.displayName;\r\n var locs = \"\";\r\n angular.forEach(user.Locations, function (l) {\r\n locs += l + \",\";\r\n });\r\n user.allLocations = locs.length > 0 ? locs.substring(0, locs.length - 1) : \"\";\r\n var skills = \"\";\r\n angular.forEach(user.SkillSet, function (s) {\r\n skills += s + \",\";\r\n });\r\n user.allSkills = skills.length > 0 ? skills.substring(0, skills.length - 1) : \"\";\r\n var workareas = \"\";\r\n angular.forEach(user.Locations, function (w) {\r\n workareas += w + \",\";\r\n });\r\n user.allWorkareas = workareas.length > 0 ? workareas.substring(0, workareas.length - 1) : \"\";\r\n }\r\n\r\n vm.getAllUser = function () {\r\n teamCardService.getAllUserByReportingPerson(loggedinUser, token).then(function (resp) {\r\n vm.users = resp.data;\r\n vm.imageServices(vm.users.Picture);\r\n // angular.forEach(vm.users, function (d) {\r\n // vm.preProcessUsers(d);\r\n // });\r\n // if (vm.users.length == 0) {\r\n // vm.client = 1;\r\n // } else {\r\n // vm.client = 3;\r\n // vm.userInfo = vm.users[userIndex];\r\n // }\r\n }, function () {\r\n //$log.log('not working');\r\n })\r\n }\r\n\r\n vm.getUserInfo = function (userId, loggedinUser) {\r\n TeamProfileService.getFixedUserInfo(userId, loggedinUser, token).then(function (resp) {\r\n vm.userInfo = resp.data;\r\n vm.imageServices(vm.userInfo.Picture);\r\n vm.preProcessUsers(vm.userInfo);\r\n }, function () {\r\n //$log.log('not working');\r\n });\r\n }\r\n\r\n vm.getAllSkills = function () {\r\n TeamProfileService.getAllSkills().then(function (resp) {\r\n vm.skills = resp.data;\r\n for (var index = 0; index < vm.skills.length; index++) {\r\n skillsArray.push({\r\n skill: vm.skills.SkillName\r\n });\r\n }\r\n }, function () {\r\n //$log.log('not working');\r\n });\r\n }\r\n\r\n vm.getAllCircles = function (loggedinUser) {\r\n ProjectCreationService.GetAllCircles(loggedinUser).then(function (resp) {\r\n vm.circles = resp.data;\r\n for (var index = 0; index < vm.circles.length; index++) {\r\n circleArray.push({\r\n workArea: vm.circles.circle\r\n });\r\n }\r\n }, function () {\r\n //$log.log('not working');\r\n });\r\n }\r\n\r\n vm.AddTeamMember = function () {\r\n $state.go('index.RoasterTeamCreate', {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.ProfileView = function (userid) {\r\n $state.go('index.TeamProfile', {\r\n userId: userid\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.ProfileData = function (userId) {\r\n vm.getUserInfo(userId, loggedinUser);\r\n vm.client = 3;\r\n }\r\n\r\n vm.filtermodal = function () {\r\n ProjectModal = $uibModal.open({\r\n templateUrl: 'Filter.html',\r\n backdrop: 'static',\r\n\r\n scope: $scope\r\n });\r\n }\r\n\r\n\r\n vm.CloseModal = function () {\r\n ProjectModal.close();\r\n }\r\n $scope.selectedOption = '';\r\n vm.LunchSchedule = function () {\r\n UpdateLunch = $uibModal.open({\r\n templateUrl: 'LunchPopup.html',\r\n backdrop: 'static',\r\n\r\n scope: $scope\r\n });\r\n }\r\n vm.closeUpdateLunch = function () {\r\n UpdateLunch.close();\r\n }\r\n\r\n vm.editTeamMember = function (userName) {\r\n $state.go('index.RoasterTeamEdit', {\r\n userId: userName\r\n });\r\n }\r\n vm.hideoverlay = function () {\r\n $scope.myvalue = false;\r\n $scope.userClass_status = true;\r\n }\r\n $scope.userClass_status = true;\r\n vm.userSingle = function () {\r\n $scope.userClass_status = !$scope.userClass_status;\r\n $scope.myvalue = true;\r\n };\r\n $scope.close360View = function () {\r\n $scope.userClass_status = true;\r\n $scope.myvalue = false;\r\n }\r\n\r\n vm.Get360TeamProfileData = function (userId) {\r\n vm.userId = userId;\r\n DashboardService.Get360ProfileData(loggedinUser, userId, token).then(function (resp) {\r\n if (resp.data) {\r\n vm.userSingle();\r\n $scope.myvalue = false;\r\n }\r\n vm.teamdata = resp.data;\r\n vm.AvgRating = vm.teamdata.userProfile.AverageRating;\r\n vm.ReviewsList = vm.teamdata.userProfile.Reviews\r\n vm.teamdata.ratingStars = vm.getRatingStars(Math.round(vm.teamdata.userProfile.Ratings.TechnicianRating));\r\n vm.teamdata.blankStars = vm.getBlankStars(Math.round(vm.teamdata.userProfile.Ratings.TechnicianRating));\r\n vm.teamdata.avgratingStars = vm.getAvgRatingStars(Math.round(vm.teamdata.userProfile.AverageRating.AverageRating));\r\n vm.teamdata.avgblankStars = vm.getAvgBlankStars(Math.round(vm.teamdata.userProfile.AverageRating.AverageRating));\r\n if (vm.teamdata.userProfile.ContactNumber) {\r\n vm.teamdata.userProfile.ContactNumber = vm.teamdata.userProfile.ContactNumber.replace(/\\d(?=\\d{4})/g, '*');\r\n }\r\n\r\n if (vm.teamdata.userProfile.Reviews) {\r\n vm.teamdata.userProfile.Reviews.forEach(function (element, i) {\r\n vm.teamdata.userratingStars = vm.getUserRatingStars(Math.round(vm.teamdata.userProfile.Reviews[i].Average));\r\n vm.teamdata.userblankStars = vm.getUserBlankStars(Math.round(vm.teamdata.userProfile.Reviews[i].Average));\r\n element.arrayRating = vm.teamdata.userratingStars;\r\n element.blankRating = vm.teamdata.userblankStars;\r\n });\r\n }\r\n\r\n vm.TechnicianRating = Number(vm.teamdata.userProfile.Ratings.TechnicianRating).toFixed(1);\r\n $timeout(function () {\r\n displayTotals();\r\n }, 300);\r\n }, function () {\r\n })\r\n }\r\n\r\n $scope.totalWS = 0;\r\n $scope.wsPerPage = vm.userPageListCount;\r\n $scope.Userpagination = {\r\n current: 1\r\n };\r\n\r\n //left show page 10 20 30\r\n vm.changeUserPageListCount = function(userId) {\r\n $scope.wsPerPage = vm.userPageListCount;\r\n uPageSize = $scope.wsPerPage;\r\n $scope.WSTablePageChanged($scope.Userpagination.current);\r\n\r\n uPageIndex=$scope.Userpagination.current;\r\n $scope.WSTablePageChanged = function(newPage) { \r\n uPageIndex = newPage;\r\n vm.wsersFilterArray(); \r\n vm.Get360WorkSummary(loggedinUser, token,userId, witemNames, witemValues, uPageIndex, uPageSize,wsSDate,wsEDate,vm.OrderBy,vm.sorttype);\r\n\r\n };\r\n }\r\n\r\n uPageIndex=$scope.Userpagination.current;\r\n $scope.WSTablePageChanged = function(newPage) { \r\n uPageIndex = newPage;\r\n if(witemNames != 'Search')\r\n {\r\n vm.wsersFilterArray();\r\n }\r\n\r\n vm.Get360WorkSummary(loggedinUser, token,vm.userId, witemNames, witemValues, uPageIndex, uPageSize, wsSDate,wsEDate,vm.OrderBy,vm.sorttype);\r\n\r\n };\r\n\r\n\r\n vm.wsersFilterArray = function()\r\n {\r\n witemNames=\"\";\r\n witemValues=\"\";\r\n\r\n if (vm.searchStatusText != \"\" && vm.searchStatusText != \"All\" && vm.searchStatusText != null){\r\n if(itemNames.length > 0 && itemValues.length > 0){\r\n itemNames = itemNames + ',Status';\r\n itemValues = itemValues + ',' + vm.searchStatusText;\r\n }else{\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText;\r\n } \r\n }\r\n if (vm.userNameSearch) { \r\n if(witemNames) \r\n {\r\n witemNames = witemNames + ',Search';\r\n witemValues = witemValues + \",\" + vm.userNameSearch;\r\n }\r\n else\r\n {\r\n witemNames = 'Search';\r\n witemValues = vm.userNameSearch;\r\n } \r\n }\r\n\r\n if(vm.JobcountbyStatus)\r\n {\r\n if(witemNames) \r\n {\r\n witemNames = witemNames + ',Status';\r\n witemValues = witemValues + \",\" + vm.JobcountbyStatus;\r\n }\r\n else\r\n {\r\n witemNames = 'Status';\r\n witemValues = vm.JobcountbyStatus;\r\n }\r\n }\r\n\r\n }\r\n\r\n vm.Get360WorkSummary = function () {\r\n DashboardService.Get360WorkSummary(loggedinUser, token, vm.userId, witemNames, witemValues, uPageIndex, uPageSize, wsSDate, wsEDate, vm.OrderBy, vm.sorttype).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.statusCount = resp.data;\r\n vm.wsTicketList = resp.data.workSummaryData;\r\n $scope.totalWS = resp.data.WorkSummaryTotalCount;\r\n if (vm.wsTicketList.length < vm.userPageListCount)\r\n vm.wsListLength = $scope.totalWS;\r\n else\r\n vm.wsListLength = uPageIndex * vm.userPageListCount;\r\n if (uPageIndex == 1)\r\n vm.wspageindexCount = 1;\r\n else\r\n vm.wspageindexCount = (((uPageIndex - 1) * vm.userPageListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n }\r\n vm.RedirectToConfiguration = function () {\r\n $state.go('index.CalendarManagement', { reload: true });\r\n }\r\n \r\n vm.Get360SkillSummary = function () {\r\n DashboardService.Get360SkillSummary(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.skillsetData = resp.data;\r\n for(var i=0;ilTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withOption('createdRow', createdRow)\r\n // .withScroller()\r\n // .withOption('deferRender', true)\r\n // .withOption('scrollY', 350)\r\n // .withOption('paging', false)\r\n .withOption('rowCallback', rowCallback);\r\n\r\n function createdRow(row, data, dataIndex) {\r\n // Recompiling so we can bind Angular directive to the DT\r\n $compile(angular.element(row).contents())($scope);\r\n }\r\n\r\n function rowCallback(nRow, aData, iDisplayIndex, iDisplayIndexFull) {\r\n $('td', nRow).unbind('click');\r\n $('td', nRow).bind('click', function () {\r\n $scope.$apply(function () {\r\n vm.ProfileData(aData.UserId);\r\n });\r\n });\r\n return nRow;\r\n }\r\n\r\n vm.dtColumns = [\r\n DTColumnBuilder.newColumn(null).withTitle('UserId').renderWith(function (data, type, full, meta) {\r\n if (data.Role != 'Field Engineer') {\r\n return '';\r\n } else {\r\n return '';\r\n }\r\n }),\r\n DTColumnBuilder.newColumn(null).withTitle('Name').renderWith(function (data, type, full, meta) {\r\n var address = '';\r\n if (data.Picture == null) {\r\n address = \"assets/images/patterns/photo1.png\";\r\n } else {\r\n // address= vm.getProfilePic(data.Picture);\r\n\r\n\r\n // var img = full.Picture;\r\n // vm.imageServices = function(img){\r\n MainService.GetImageBlob(loggedinUser, token, data.Picture).then(function (resp) {\r\n address = resp.data;\r\n\r\n });\r\n\r\n // } \r\n // vm.imageServices(data.Picture);\r\n }\r\n\r\n return '' + data.FirstName + ' ' + data.LastName + '';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn('ContactNumber').withTitle('Phone Number').notSortable(),\r\n DTColumnBuilder.newColumn('Role').withTitle('Role').notSortable(),\r\n DTColumnBuilder.newColumn('LocationName').withTitle('Location Name').notSortable(),\r\n DTColumnBuilder.newColumn('DepartmentName').withTitle('Department Name').notSortable(),\r\n DTColumnBuilder.newColumn('IsExperienced').withTitle('Experienced').notSortable(),\r\n DTColumnBuilder.newColumn('OverTimeHourlyRate').withTitle('Overtime Hourly Rate').notSortable(),\r\n DTColumnBuilder.newColumn('ShiftHourlyRate').withTitle('Shift Hourly Rate').notSortable(),\r\n\r\n // DTColumnBuilder.newColumn('').withTitle('Account Name').notSortable().renderWith(function (data, type, full, meta) {\r\n // if (full.TerritoryMappingModel) {\r\n // vm.accNameLoac = [];\r\n // vm.accIdLoac = [];\r\n // angular.forEach(full.TerritoryMappingModel, function (d) {\r\n // vm.accNameLoac.push(d.AccountName);\r\n // });\r\n // } else {\r\n // vm.accNameLoac = '';\r\n // }\r\n // return '
' + vm.accNameLoac + '
'\r\n // }),\r\n // DTColumnBuilder.newColumn('').withTitle('Account Id').notSortable().renderWith(function (data, type, full, meta) {\r\n // if (full.TerritoryMappingModel) {\r\n // vm.accLoac = [];\r\n // angular.forEach(full.TerritoryMappingModel, function (d) {\r\n // vm.accLoac.push(d.AccountId);\r\n // });\r\n // } else {\r\n // vm.accLoac = '';\r\n // }\r\n // return '
' + vm.accLoac + '
'\r\n // }),\r\n\r\n // DTColumnBuilder.newColumn('').withTitle('State').notSortable().renderWith(function (data, type, full, meta) {\r\n // if (full.TerritoryMappingModel) {\r\n // vm.stateLoac = [];\r\n // angular.forEach(full.TerritoryMappingModel, function (d) {\r\n // vm.stateLoac.push(d.State);\r\n // });\r\n // } else {\r\n // vm.stateLoac = '';\r\n // }\r\n // return '
' + vm.stateLoac + '
'\r\n // }),\r\n\r\n // DTColumnBuilder.newColumn('').withTitle('City').notSortable().renderWith(function (data, type, full, meta) {\r\n // if (full.TerritoryMappingModel) {\r\n // vm.cityLoac = [];\r\n // angular.forEach(full.TerritoryMappingModel, function (d) {\r\n // vm.cityLoac.push(d.City);\r\n // });\r\n // } else {\r\n // vm.cityLoac = '';\r\n // }\r\n // return '
' + vm.cityLoac + '
'\r\n // }),\r\n\r\n // DTColumnBuilder.newColumn('').withTitle('Pin Code').notSortable().renderWith(function (data, type, full, meta) {\r\n // if (full.TerritoryMappingModel) {\r\n // vm.pinLoac = [];\r\n // angular.forEach(full.TerritoryMappingModel, function (d) {\r\n // vm.pinLoac.push(d.PinCode);\r\n // });\r\n // } else {\r\n // vm.pinLoac = '';\r\n // }\r\n // return '
' + vm.pinLoac + '
'\r\n // }),\r\n\r\n // DTColumnBuilder.newColumn('JobTotal').withTitle('Total Jobs').notSortable(),\r\n // DTColumnBuilder.newColumn('JobCompleted').withTitle('Completed Jobs').notSortable()\r\n\r\n ];\r\n\r\n\r\n // vm.dtOptions = DTOptionsBuilder.newOptions().withDOM(\r\n // '<\"html5buttons\"B>lTfgitp')\r\n // .withButtons([]).withPaginationType(\r\n // 'full_numbers').withOption('lengthChange', false)\r\n // .withOption('initComplete', function () {\r\n // $('.dataTables_filter input').unbind();\r\n // })\r\n // .withOption('order', [1, 'asc']);\r\n\r\n // vm.dtColumnDefs = [\r\n // DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n // // DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(2).notSortable().withClass('td-small-with-panel'),\r\n // DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(7).notSortable()];\r\n\r\n vm.getProfilePic = function (profilePicName) {\r\n return profilePicName ? ImageUrl + \"/\" + profilePicName : null;\r\n }\r\n }\r\n});\n/* FileSaver.js\r\n * A saveAs() FileSaver implementation.\r\n * 1.3.2\r\n * 2016-06-16 18:25:19\r\n *\r\n * By Eli Grey, http://eligrey.com\r\n * License: MIT\r\n * See https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md\r\n */\r\n\r\n/*global self */\r\n/*jslint bitwise: true, indent: 4, laxbreak: true, laxcomma: true, smarttabs: true, plusplus: true */\r\n\r\n/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */\r\n\r\nvar saveAs = saveAs || (function(view) {\r\n\t\"use strict\";\r\n\t// IE <10 is explicitly unsupported\r\n\tif (typeof view === \"undefined\" || typeof navigator !== \"undefined\" && /MSIE [1-9]\\./.test(navigator.userAgent)) {\r\n\t\treturn;\r\n\t}\r\n\tvar\r\n\t\t doc = view.document\r\n\t\t // only get URL when necessary in case Blob.js hasn't overridden it yet\r\n\t\t, get_URL = function() {\r\n\t\t\treturn view.URL || view.webkitURL || view;\r\n\t\t}\r\n\t\t, save_link = doc.createElementNS(\"http://www.w3.org/1999/xhtml\", \"a\")\r\n\t\t, can_use_save_link = \"download\" in save_link\r\n\t\t, click = function(node) {\r\n\t\t\tvar event = new MouseEvent(\"click\");\r\n\t\t\tnode.dispatchEvent(event);\r\n\t\t}\r\n\t\t, is_safari = /constructor/i.test(view.HTMLElement) || view.safari\r\n\t\t, is_chrome_ios =/CriOS\\/[\\d]+/.test(navigator.userAgent)\r\n\t\t, throw_outside = function(ex) {\r\n\t\t\t(view.setImmediate || view.setTimeout)(function() {\r\n\t\t\t\tthrow ex;\r\n\t\t\t}, 0);\r\n\t\t}\r\n\t\t, force_saveable_type = \"application/octet-stream\"\r\n\t\t// the Blob API is fundamentally broken as there is no \"downloadfinished\" event to subscribe to\r\n\t\t, arbitrary_revoke_timeout = 1000 * 40 // in ms\r\n\t\t, revoke = function(file) {\r\n\t\t\tvar revoker = function() {\r\n\t\t\t\tif (typeof file === \"string\") { // file is an object URL\r\n\t\t\t\t\tget_URL().revokeObjectURL(file);\r\n\t\t\t\t} else { // file is a File\r\n\t\t\t\t\tfile.remove();\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t\tsetTimeout(revoker, arbitrary_revoke_timeout);\r\n\t\t}\r\n\t\t, dispatch = function(filesaver, event_types, event) {\r\n\t\t\tevent_types = [].concat(event_types);\r\n\t\t\tvar i = event_types.length;\r\n\t\t\twhile (i--) {\r\n\t\t\t\tvar listener = filesaver[\"on\" + event_types[i]];\r\n\t\t\t\tif (typeof listener === \"function\") {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tlistener.call(filesaver, event || filesaver);\r\n\t\t\t\t\t} catch (ex) {\r\n\t\t\t\t\t\tthrow_outside(ex);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t, auto_bom = function(blob) {\r\n\t\t\t// prepend BOM for UTF-8 XML and text/* types (including HTML)\r\n\t\t\t// note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF\r\n\t\t\tif (/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(blob.type)) {\r\n\t\t\t\treturn new Blob([String.fromCharCode(0xFEFF), blob], {type: blob.type});\r\n\t\t\t}\r\n\t\t\treturn blob;\r\n\t\t}\r\n\t\t, FileSaver = function(blob, name, no_auto_bom) {\r\n\t\t\tif (!no_auto_bom) {\r\n\t\t\t\tblob = auto_bom(blob);\r\n\t\t\t}\r\n\t\t\t// First try a.download, then web filesystem, then object URLs\r\n\t\t\tvar\r\n\t\t\t\t filesaver = this\r\n\t\t\t\t, type = blob.type\r\n\t\t\t\t, force = type === force_saveable_type\r\n\t\t\t\t, object_url\r\n\t\t\t\t, dispatch_all = function() {\r\n\t\t\t\t\tdispatch(filesaver, \"writestart progress write writeend\".split(\" \"));\r\n\t\t\t\t}\r\n\t\t\t\t// on any filesys errors revert to saving with object URLs\r\n\t\t\t\t, fs_error = function() {\r\n\t\t\t\t\tif ((is_chrome_ios || (force && is_safari)) && view.FileReader) {\r\n\t\t\t\t\t\t// Safari doesn't allow downloading of blob urls\r\n\t\t\t\t\t\tvar reader = new FileReader();\r\n\t\t\t\t\t\treader.onloadend = function() {\r\n\t\t\t\t\t\t\tvar url = is_chrome_ios ? reader.result : reader.result.replace(/^data:[^;]*;/, 'data:attachment/file;');\r\n\t\t\t\t\t\t\tvar popup = view.open(url, '_blank');\r\n\t\t\t\t\t\t\tif(!popup) view.location.href = url;\r\n\t\t\t\t\t\t\turl=undefined; // release reference before dispatching\r\n\t\t\t\t\t\t\tfilesaver.readyState = filesaver.DONE;\r\n\t\t\t\t\t\t\tdispatch_all();\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\treader.readAsDataURL(blob);\r\n\t\t\t\t\t\tfilesaver.readyState = filesaver.INIT;\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// don't create more object URLs than needed\r\n\t\t\t\t\tif (!object_url) {\r\n\t\t\t\t\t\tobject_url = get_URL().createObjectURL(blob);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (force) {\r\n\t\t\t\t\t\tview.location.href = object_url;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tvar opened = view.open(object_url, \"_blank\");\r\n\t\t\t\t\t\tif (!opened) {\r\n\t\t\t\t\t\t\t// Apple does not allow window.open, see https://developer.apple.com/library/safari/documentation/Tools/Conceptual/SafariExtensionGuide/WorkingwithWindowsandTabs/WorkingwithWindowsandTabs.html\r\n\t\t\t\t\t\t\tview.location.href = object_url;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfilesaver.readyState = filesaver.DONE;\r\n\t\t\t\t\tdispatch_all();\r\n\t\t\t\t\trevoke(object_url);\r\n\t\t\t\t}\r\n\t\t\t;\r\n\t\t\tfilesaver.readyState = filesaver.INIT;\r\n\r\n\t\t\tif (can_use_save_link) {\r\n\t\t\t\tobject_url = get_URL().createObjectURL(blob);\r\n\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\tsave_link.href = object_url;\r\n\t\t\t\t\tsave_link.download = name;\r\n\t\t\t\t\tclick(save_link);\r\n\t\t\t\t\tdispatch_all();\r\n\t\t\t\t\trevoke(object_url);\r\n\t\t\t\t\tfilesaver.readyState = filesaver.DONE;\r\n\t\t\t\t});\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tfs_error();\r\n\t\t}\r\n\t\t, FS_proto = FileSaver.prototype\r\n\t\t, saveAs = function(blob, name, no_auto_bom) {\r\n\t\t\treturn new FileSaver(blob, name || blob.name || \"download\", no_auto_bom);\r\n\t\t}\r\n\t;\r\n\t// IE 10+ (native saveAs)\r\n\tif (typeof navigator !== \"undefined\" && navigator.msSaveOrOpenBlob) {\r\n\t\treturn function(blob, name, no_auto_bom) {\r\n\t\t\tname = name || blob.name || \"download\";\r\n\r\n\t\t\tif (!no_auto_bom) {\r\n\t\t\t\tblob = auto_bom(blob);\r\n\t\t\t}\r\n\t\t\treturn navigator.msSaveOrOpenBlob(blob, name);\r\n\t\t};\r\n\t}\r\n\r\n\tFS_proto.abort = function(){};\r\n\tFS_proto.readyState = FS_proto.INIT = 0;\r\n\tFS_proto.WRITING = 1;\r\n\tFS_proto.DONE = 2;\r\n\r\n\tFS_proto.error =\r\n\tFS_proto.onwritestart =\r\n\tFS_proto.onprogress =\r\n\tFS_proto.onwrite =\r\n\tFS_proto.onabort =\r\n\tFS_proto.onerror =\r\n\tFS_proto.onwriteend =\r\n\t\tnull;\r\n\r\n\treturn saveAs;\r\n}(\r\n\t typeof self !== \"undefined\" && self\r\n\t|| typeof window !== \"undefined\" && window\r\n\t|| this.content\r\n));\r\n// `self` is undefined in Firefox for Android content script context\r\n// while `this` is nsIContentFrameMessageManager\r\n// with an attribute `content` that corresponds to the window\r\n\r\nif (typeof module !== \"undefined\" && module.exports) {\r\n module.exports.saveAs = saveAs;\r\n} else if ((typeof define !== \"undefined\" && define !== null) && (define.amd !== null)) {\r\n define(\"FileSaver.js\", function() {\r\n return saveAs;\r\n });\r\n}\nangular.module('inspinia').service('RoasterTeamFormCreationService', function (ApiURL, LocationURL,PublicApiURL, $log, $http,$localStorage) {\r\n var url = ApiURL + '/api/User';\r\n\r\n //state api https://product.mymobiforce.com/publicapi/api/Location/GetAllStates?userId=F00000000000&country=INDIA\r\n this.getState = function (loggedInUserId,token,region) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url, {\r\n headers: { \r\n 'Content-Type': 'application/json',\r\n 'Token':token , \r\n 'UserId':loggedInUserId\r\n }\r\n });\r\n }\r\n \r\n this.CreateUser = function (userFormData, loggedinUser, token) {\r\n var url = ApiURL + '/api/User?reqUserId='+loggedinUser;\r\n return $http.post(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token, 'UserId':loggedinUser \r\n }\r\n });\r\n }\r\n\r\n this.getAllRole = function (token) {\r\n var url = ApiURL + '/api/role';\r\n return $http.get(url, {\r\n 'Token': token, 'UserId':loggedinUser\r\n });\r\n }\r\n //https://test.mymobiforce.com/publicapi/api/Location/GetRegion?userId=U370000000001\r\n this.GetRegion = function(loggedInUserId, token){\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId':loggedInUserId}\r\n })\r\n }\r\n this.GetTelecomCircle = function(loggedInUserId, token){\r\n var url = PublicApiURL + '/api/Location/GetTelecomCircles?userId='+ loggedInUserId;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId':loggedInUserId}\r\n })\r\n }\r\n\r\n //https://test.mymobiforce.com/publicapi/api/Location/GetSubRegion?userId=U370000000001®ion=North\r\n this.GetSubRegion = function(loggedInUserId, token, region){\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+region;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId':loggedInUserId}\r\n })\r\n }\r\n //https://test.mymobiforce.com/publicapi/api/Location/GetCity?userId=U360000000001&subregion=noida\r\n this.GetCityBySubRegion = function(loggedInUserId, subRegion, token){\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+subRegion;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId':loggedInUserId}\r\n })\r\n }\r\n\r\n\r\n this.getAllSkills = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url, {headers:{'Token': token, 'UserId':loggedinUser}});\r\n }\r\n\r\n//https://db.mymobiforce.com/publicapi/api/Address/GetCountry?userId=U420000000001\r\nthis.getCountry = function (loggedinUser, token) {\r\n var url = PublicApiURL + '/api/Address/GetCountry?userId=' + loggedinUser;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n } \r\n});\r\n}\r\n\r\nthis.getAllState = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n } \r\n});\r\n}\r\n\r\nthis.getCities = function (loggedinUser,state,token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+state;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n } \r\n});\r\n}\r\n\r\n this.getAllCity = function (loggedinUser,state, token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+state;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n } \r\n });\r\n }\r\n\r\n this.getAllPincode = function (city) {\r\n var url = LocationURL+'/api/Location/'+$localStorage.loggedinUser+'/'+city+'/GetPincodesByCity';\r\n return $http.get(url, {\r\n params: {}\r\n });\r\n }\r\n\r\n //http://localhost:56749/api/User/Project%20Manager/GetReportingToUserByRole?reqUserId=saurabhgupta3371%40gmail.com\r\n\r\n this.GetReportingToUser = function(role, loggedinUser, token){\r\n var url = ApiURL + '/api/User/' + role + '/GetReportingToUserByRole?reqUserId=' + loggedinUser\r\n return $http.get(url,{\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token, 'UserId':loggedinUser }\r\n })\r\n }\r\n\r\n // this.validateAllPincode = function (pin) {\r\n // var url = 'https://www.whizapi.com/api/v2/util/ui/in/indian-city-by-postal-code?project-app-key=pso222ywjvx996b93gd8wpp6&pin='+pin;\r\n // return $http.get(url, {\r\n // params: {}\r\n // });\r\n // }\r\n\r\n this.getAllReportingTo = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/User';\r\n return $http.get(url, {\r\n params: {userid: loggedinUser},\r\n headers: {'Token':token, 'UserId':loggedinUser }\r\n })\r\n }\r\n\r\n this.getUserData = function (userid, token) {\r\n return $http.get(url, {\r\n params: {UserId:userid},\r\n headers: {'Token':token, 'UserId':loggedinUser }\r\n });\r\n }\r\n\r\n this.updateUser = function (userFormData,loggedinUser, token) {\r\n var url = ApiURL + '/api/User/UpdateTeamUserDetails';\r\n return $http.put(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token, 'UserId':loggedinUser}\r\n });\r\n }\r\n //http://192.168.0.80:92/CoreAPI/api/Role/ByReqUserId?reqUserId=kanika.bansal%40innotiontech.com\r\n\r\n this.getAllRoleByUserId = function (userId, token) {\r\n var url = ApiURL + '/api/Role/ByReqUserId?reqUserId='+userId;\r\n return $http.get(url,{\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':userId}\r\n \r\n });\r\n }\r\n\r\n this.uploadProfilePic = function(loggedinUser, data, token, success, failure){\r\n $http.post(ApiURL + '/api/UploadImage', data, { \r\n headers: {\r\n 'Content-Type': undefined, 'Token': token, 'UserId':loggedinUser\r\n }\r\n }).then(success, failure);\r\n }\r\n \r\nthis.getAllAccounts = function (loggedInUserId,token) { \r\n var url = ApiURL+ '/api/account/GetAllAccountsMiniModel';\r\n return $http.get(url, {\r\n headers: { \r\n 'Content-Type': 'application/json',\r\n 'Token':token , \r\n 'UserId':loggedInUserId\r\n \r\n }\r\n });\r\n}\r\n\r\n//Accounts API\r\nthis.getAllAccountsConfigured = function (loggedinUser,token) { \r\n var url = ApiURL+ '/api/CentralHelpDesk/GetAllAccountHDConfig';\r\n return $http.get(url, {\r\n headers: { \r\n 'Content-Type': 'application/json',\r\n 'Token':token , \r\n 'UserId':loggedinUser\r\n \r\n }\r\n });\r\n}\r\n\r\n\r\n//https://product.mymobiforce.com/coreAPI/api/User/GetTeamUserDetails?UserId=U00000000413\r\nthis.getFixedUserInfo = function (userId,loggedInUser, token) {\r\n var url = ApiURL + '/api/User/GetTeamUserDetails?UserId='+ userId ;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n}\r\n\r\n// http://localhost:56749/api/TerritoryMappingUser/GetStateByAccountIdAndRole?AccountId=114&Role=Administrator\r\nthis.getTerritoryStates = function (loggedInUser, token,AccountId,Role) {\r\n var url = ApiURL + '/api/TerritoryMappingUser/GetStateByAccountIdAndRole?AccountId='+ AccountId+ '&Role='+ Role;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n}\r\n\r\n//http://localhost:56749/api/TerritoryMappingUser/GetCityByAccountIdAndStateAndRole?AccountId=144&State=Uttar%20Pradesh&Role=Administrator\r\nthis.getTerritoryCity = function (loggedInUser, token,AccountId,state,Role) {\r\n var url = ApiURL + '/api/TerritoryMappingUser/GetCityByAccountIdAndStateAndRole?AccountId='+ AccountId+'&State='+state+'&Role='+ Role;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n}\r\n\r\n//https://upgrad.mymobiforce.com/coreapi/api/TerritoryMappingUser/GetPincodeByStateAndCityAndAccountIdAndRole?AccountId=144&State=Uttar%20Pradesh&City=Noida&Role=Administrator\r\nthis.getTerritoryPincodes = function (loggedInUser, token,AccountId,state,City,Role) {\r\n var url = ApiURL + '/api/TerritoryMappingUser/GetPincodeByStateAndCityAndAccountIdAndRole?AccountId='+ AccountId+'&State='+state+'&City='+City+'&Role='+ Role;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n}\r\n \r\n});\r\n\nangular.module('inspinia').controller('RoasterTeamFormCreationController', function (shiftManagementService,ProjectCreationService,ReferService, MainService, $state, $scope, $timeout, $stateParams, $filter, $log, $localStorage, RoasterTeamFormCreationService, TeamProfileService, toaster, $q, ImageUrl) {\r\n var vm = this;\r\n vm.isDisabled = false;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n if ($localStorage.accountConfig) {\r\n if ($localStorage.accountConfig) {\r\n vm.EnableRegion = $localStorage.accountConfig.EnableRegion;\r\n }\r\n }else{\r\n vm.EnableRegion = false;\r\n }\r\n\r\n if (!loggedinUser) {\r\n\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n\r\n vm.loggedinUserRole = $localStorage.loggedInUser_Role;\r\n\r\n //$log.log('Role=',vm.loggedinUserRole);\r\n angular.element(document).ready(function () {\r\n angular.element('ul[side-navigation]').find('a[ui-sref=\"index.RoasterTeamMember\"]').parent().prop('class', 'active');\r\n // angular.element(\".chosen-select\").chosen();\r\n });\r\n\r\n ///Global variables goign to use for seeting page defaults.\r\n\r\n var userId_ForUpdate = $stateParams.userId;\r\n vm.saveAndNewFlag = false;\r\n vm.editMode = false;\r\n vm.address_option = 'Yes';\r\n vm.officeFormValidation = false;\r\n vm.isCollapsed = false;\r\n vm.isUserDetailCollapsed = false;\r\n vm.isOfficeUseCollapsed = true;\r\n vm.Role = '';\r\n vm.specialist = \"No\";\r\n vm.ReportingTo = '';\r\n vm.SubCity='';\r\n vm.allStates = [];\r\n //page binding models using\r\n vm.username = '';\r\n vm.gender = '';\r\n vm.email = '';\r\n vm.phone_number = '';\r\n vm.last_name = '';\r\n vm.birth_date = moment();\r\n vm.father_name = '';\r\n vm.alternate_number = '';\r\n vm.workArea = '';\r\n vm.AccountName = '';\r\n vm.company = '';\r\n vm.permanent_address_line1 = '';\r\n vm.permanent_state = '';\r\n vm.permanent_pincode = '';\r\n vm.permanent_address_line2 = '';\r\n vm.permanent_city = '';\r\n vm.present_address_line1 = '';\r\n vm.present_address_line2 = '';\r\n vm.present_state = '';\r\n vm.present_city = '';\r\n vm.present_pincode = '';\r\n vm.skill = '';\r\n vm.expertise = '';\r\n vm.reportinToList = '';\r\n vm.workAreas = [];\r\n vm.CHDAccounts = [];\r\n vm.RemainingCHDAccounts = [];\r\n vm.SelectedAccount={};\r\n vm.showAction = true;\r\n // vm.multiPincode = []\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n vm.LocationMapping = vm.getAccountConfigSetting('LocationMapping');\r\n console.log('vertical',vm.VerticalName);\r\n vm.MainRegion = '';\r\n vm.SubRegion = '';\r\n var today = new Date();\r\n var date = today.getFullYear() - 18;\r\n var age = (today.getMonth() + 1 + \"/\" + today.getDate() + \"/\" + date).toString();\r\n\r\n vm.maxDOB = new Date(age);\r\n vm.maxDOBStr = vm.maxDOB.toDateString();\r\n age = Date.parse(age);\r\n $scope.MaxDate = moment(age);\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.showEditList = false;\r\n vm.showEditLists = false;\r\n vm.isShow=true;\r\n \r\n getAllRole();\r\n\r\n function getAllRole() {\r\n if (vm.loggedinUserRole == 'Administrator' || vm.loggedinUserRole == 'Project Manager' || vm.loggedinUserRole == 'Vendor Manager' || vm.loggedinUserRole == 'SuperAdministrator' || vm.loggedinUserRole == 'OnBoarding Manager' || vm.loggedinUserRole == 'Account Manager' || vm.loggedinUserRole == 'OnBoarding Supervisor' || vm.loggedinUserRole == 'Operation Manager' || vm.loggedinUserRole == 'Operation Supervisor' || vm.loggedinUserRole == 'Higher Management'\r\n || vm.loggedinUserRole == 'Dispatch Head' || vm.loggedinUserRole == 'Dispatch Manager' || vm.loggedinUserRole == 'Freelancer Dispatcher' || vm.loggedinUserRole == 'Dispatch Team Lead' || vm.loggedinUserRole == 'OnBoarding Team Lead') {\r\n RoasterTeamFormCreationService.getAllRoleByUserId(loggedinUser, token).then(function (resp) {\r\n if(resp.status == 200){\r\n if(resp.data && resp.data.length>0){\r\n vm.RolesList = resp.data;\r\n }\r\n }\r\n })\r\n }\r\n }\r\n\r\n vm.checkMaxDOB = function () {\r\n if (vm.birth_date && !vm.birth_date._isAMomentObject) {\r\n var splittedDOB = vm.birth_date.split(\"/\");\r\n vm.birth_date = moment(new Date((splittedDOB[1] + \"/\" + splittedDOB[0] + \"/\" + splittedDOB[2]).toString()));\r\n }\r\n\r\n return (vm.maxDOB - vm.birth_date) < 0;\r\n }\r\n\r\n vm.GetReportingToUser = function (role) {\r\n vm.reportinToList=\"\";\r\n RoasterTeamFormCreationService.GetReportingToUser(role, loggedinUser, token).then(function (resp) {\r\n if(resp.status == 200){\r\n if(resp.data && resp.data.length>0){\r\n vm.reportinToList = resp.data;\r\n }\r\n }\r\n })\r\n }\r\n\r\n\r\n vm.removeAddmoreEditList = function () { \r\n vm.showEditList = false;\r\n vm.showAction = true;\r\n}\r\n \r\n vm.selectedCountry = null;\r\n //get country of user\r\n\r\n vm.getCountry = function () {\r\n RoasterTeamFormCreationService.getCountry(loggedinUser, token).then(function (resp) {\r\n if(resp.status == 200){\r\n if(resp.data && resp.data.values.length>0){\r\n vm.countrylist = resp.data.values;\r\n vm.selectedCountry = vm.countrylist[0];\r\n vm.getAllState();\r\n //getAllCircles(loggedinUser);\r\n }\r\n } \r\n })\r\n }\r\n\r\n\r\n vm.GetAllDepartmentsForLocation = function (locationId) {\r\n shiftManagementService.GetAllDepartmentsForLocation(locationId, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200 && resp) {\r\n vm.departmentListByLocation = resp.data;\r\n if (vm.DepartmentId) {\r\n for (var i = 0; i < vm.departmentListByLocation.length; i++) {\r\n if (vm.departmentListByLocation[i].DepartmentId == vm.DepartmentId) {\r\n vm.SelectedDepartment = vm.departmentListByLocation[i];\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n }\r\n\r\n vm.GetAllLocations = function () {\r\n shiftManagementService.GetAllLocations(loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200 && resp) {\r\n vm.locationsList = resp.data;\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n }\r\n\r\n vm.GetAllLocations();\r\n\r\n vm.getAllState = function () {\r\n RoasterTeamFormCreationService.getAllState(loggedinUser, token).then(function (resp) {\r\n if(resp.status == 200){\r\n if(resp.data && resp.data.length>0){\r\n vm.stateList = resp.data;\r\n if ($state.current.name == 'index.RoasterTeamEdit') {\r\n vm.teamEditMode = $state.current.name;\r\n vm.editMode = true;\r\n \r\n if(userId_ForUpdate.startsWith(\"U\") || userId_ForUpdate.startsWith(\"F\")){\r\n RoasterTeamFormCreationService.getFixedUserInfo(userId_ForUpdate, loggedinUser, token).then(function (resp) {\r\n var userData = resp.data;\r\n vm.AccountName = userData.ServiceAccountIds;\r\n vm.username = userData.FirstName;\r\n vm.gender = userData.Gender;\r\n vm.email = userData.PersonalEmail;\r\n vm.phone_number = parseInt(userData.ContactNumber);\r\n vm.last_name = userData.LastName;\r\n vm.birth_date = moment(userData.DOB);\r\n vm.father_name = userData.FatherName;\r\n if(userData.AlternativeContactNumber){\r\n vm.alternate_number = parseInt(userData.AlternativeContactNumber);\r\n } \r\n vm.specialist = userData.Specialist; \r\n vm.workArea = userData.Locations;\r\n //vm.company = userData.CompanyName;\r\n vm.userId = userData.UserId;\r\n vm.permanent_address_line1 = userData.PermanentAdd1;\r\n vm.permanent_address_line2 = userData.PermanentAdd2;\r\n vm.permanent_city = userData.PermanentCity.toUpperCase();\r\n vm.permanent_state = userData.PermanentState;\r\n vm.permanent_pincode = userData.PermanentPinCode;\r\n vm.present_address_line1 = userData.CurrentAdd1;\r\n vm.present_address_line2 = userData.CurrentAdd2;\r\n vm.present_city = userData.CurrentCity.toUpperCase();\r\n vm.present_state = userData.CurrentState;\r\n vm.present_pincode = userData.CurrentPinCode;\r\n vm.skill = userData.SkillSet;\r\n vm.expertise = userData.Expertise;\r\n vm.Role = userData.Role;\r\n vm.GetReportingToUser(vm.Role);\r\n vm.ReportingTo = userData.ReportingTo;\r\n vm.workAreas = userData.TerritoryConfigurations;\r\n vm.overtimeHourlyRate = userData.OverTimeHourlyRate;\r\n vm.shiftHourlyRate = userData.ShiftHourlyRate;\r\n vm.IsExperienced = userData.IsExperienced;\r\n vm.LocationId = userData.LocationId;\r\n if (vm.LocationId) {\r\n for (var i = 0; i < vm.locationsList.length; i++) {\r\n if (vm.locationsList[i].LocationId == vm.LocationId) {\r\n vm.SelectedLocation = vm.locationsList[i];\r\n \r\n }\r\n }\r\n } \r\n vm.DepartmentId = userData.DepartmentId;\r\n vm.GetAllDepartmentsForLocation(userData.LocationId); \r\n \r\n // vm.profilePic = userData.Picture;\r\n vm.imageServices(userData.Picture);\r\n if (vm.EnableRegion) {\r\n vm.MainRegion = userData.Region;\r\n \r\n //GetSubRegionList\r\n vm.selectSubRegion(vm.MainRegion);\r\n vm.Region = userData.SubRegion;\r\n vm.selectCitySubRegion(vm.Region);\r\n vm.SubCity = userData.Locations;\r\n }else{\r\n vm.workArea = userData.Locations;\r\n }\r\n \r\n //Get Id of state by its name \r\n for (var i = 0; i < vm.stateList.length; i++) {\r\n if (vm.stateList[i] == vm.permanent_state) {\r\n vm.permanent_state = vm.stateList[i];\r\n vm.selectState(vm.permanent_state);\r\n }\r\n if (vm.stateList[i] == vm.present_state) {\r\n vm.present_state = vm.stateList[i];\r\n vm.selectStateforPresent(vm.present_state);\r\n }\r\n }\r\n \r\n ///Get the workArea badges in edit mode \r\n var circleArray = [];\r\n if(vm.workArea){\r\n for (var pin = 0; pin < vm.workArea.length; pin++) {\r\n circleArray.push({\r\n workArea: vm.workArea\r\n });\r\n }\r\n }\r\n \r\n \r\n ///Check Present address is same as the Permanent Address.\r\n if ((vm.permanent_address_line1 == vm.present_address_line1) && (vm.permanent_address_line2 == vm.present_address_line2) && (vm.permanent_city == vm.present_city) &&\r\n (vm.permanent_state == vm.present_state) && (vm.permanent_pincode == vm.present_pincode)) {\r\n vm.address_option = 'Yes';\r\n } else {\r\n vm.address_option = 'No';\r\n }\r\n }, function () {\r\n \r\n });\r\n }\r\n else\r\n {\r\n TeamProfileService.getUserInfo(userId_ForUpdate, loggedinUser, token).then(function (resp) {\r\n var userData = resp.data;\r\n vm.username = userData.FirstName;\r\n vm.gender = userData.Gender;\r\n vm.email = userData.PersonalEmail;\r\n vm.phone_number = parseInt(userData.ContactNumber);\r\n vm.last_name = userData.LastName;\r\n vm.birth_date = moment(userData.DOB);\r\n vm.father_name = userData.FatherName;\r\n vm.alternate_number = parseInt(userData.AlternativeContactNumber);\r\n vm.specialist = userData.Specialist; \r\n //vm.workArea = userData.Locations;\r\n vm.company = userData.CompanyName;\r\n vm.userId = userData.UserId;\r\n vm.permanent_address_line1 = userData.PermanentAdd1;\r\n vm.permanent_address_line2 = userData.PermanentAdd2;\r\n vm.permanent_city = userData.PermanentCity.toUpperCase();\r\n vm.permanent_state = userData.PermanentState;\r\n vm.permanent_pincode = userData.PermanentPinCode;\r\n vm.present_address_line1 = userData.CurrentAdd1;\r\n vm.present_address_line2 = userData.CurrentAdd2;\r\n vm.present_city = userData.CurrentCity.toUpperCase();\r\n vm.present_state = userData.CurrentState;\r\n vm.present_pincode = userData.CurrentPinCode;\r\n vm.skill = userData.SkillSet;\r\n vm.expertise = userData.Expertise;\r\n vm.Role = userData.Role;\r\n vm.GetReportingToUser(vm.Role);\r\n vm.ReportingTo = userData.ReportingTo;\r\n vm.profilePic = userData.Picture;\r\n if (vm.EnableRegion) {\r\n vm.MainRegion = userData.Region;\r\n \r\n //GetSubRegionList\r\n vm.selectSubRegion(vm.MainRegion);\r\n vm.Region = userData.SubRegion;\r\n vm.selectCitySubRegion(vm.Region);\r\n vm.SubCity = userData.Locations;\r\n }else{\r\n vm.workArea = userData.Locations;\r\n }\r\n \r\n //Get Id of state by its name \r\n for (var i = 0; i < vm.stateList.length; i++) {\r\n if (vm.stateList[i] == vm.permanent_state) {\r\n vm.permanent_state = vm.stateList[i];\r\n vm.selectState(vm.permanent_state);\r\n }\r\n if (vm.stateList[i] == vm.present_state) {\r\n vm.present_state = vm.stateList[i];\r\n vm.selectStateforPresent(vm.present_state);\r\n }\r\n }\r\n \r\n ///Get the workArea badges in edit mode \r\n var circleArray = [];\r\n for (var pin = 0; pin < vm.workArea.length; pin++) {\r\n circleArray.push({\r\n workArea: vm.workArea\r\n });\r\n }\r\n \r\n ///Check Present address is same as the Permanent Address.\r\n if ((vm.permanent_address_line1 == vm.present_address_line1) && (vm.permanent_address_line2 == vm.present_address_line2) && (vm.permanent_city == vm.present_city) &&\r\n (vm.permanent_state == vm.present_state) && (vm.permanent_pincode == vm.present_pincode)) {\r\n vm.address_option = 'Yes';\r\n } else {\r\n vm.address_option = 'No';\r\n }\r\n }, function () {\r\n \r\n });\r\n }\r\n \r\n\r\n\r\n }\r\n \r\n }\r\n } \r\n })\r\n \r\n }\r\n \r\n vm.getCountry();\r\n\r\n $scope.modelOptions = {\r\n getterSetter: true\r\n };\r\n\r\n\r\n\r\n vm.getProfilePic = function(pic){\r\n return ImageUrl+\"/\"+vm.profilePic;\r\n }\r\n\r\n vm.changeFile = function(selector){\r\n angular.element(selector).trigger(\"click\");\r\n }\r\n\r\n $scope.uploadImageFile = function(files){\r\n var file = files.files[0];\r\n\r\n var rendomnumber = Math.floor(1000 + Math.random() * 9999);\r\n filename = loggedinUser+\"_ProfilePic_\" + rendomnumber +\".\"+ file.name.split(\".\")[1];\r\n var file = new File([file], filename, {type:file.type});\r\n\r\n if(file.type.indexOf(\"image/jpg\")>=0 || file.type.indexOf(\"image/png\")>=0 \r\n || file.type.indexOf(\"image/bmp\")>=0 || file.type.indexOf(\"image/jpeg\")>=0){\r\n var data = new FormData();\r\n data.append(\"files\", file);\r\n RoasterTeamFormCreationService.uploadProfilePic(loggedinUser, data, token, function(res){\r\n if(res && res.status==201 && res.data){\r\n vm.profilePic = filename;\r\n vm.imageServices(filename);\r\n }\r\n }, function(err){\r\n vm.showFailure(\"Failed\", err.data);\r\n });\r\n } else {\r\n vm.fileUploadError = \"Please upload image only as profile picture.\";\r\n }\r\n }\r\n vm.imageServices = function(img){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n }\r\n else{\r\n vm.profileImg = resp.data;\r\n }\r\n console.log(vm.profileImg);\r\n }, function() {\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n });\r\n \r\n }\r\n vm.imageServices(vm.profileImg);\r\n\r\n ///Saving User function \r\n vm.saveUser = function () {\r\n vm.isDisabled = true;\r\n vm.signup_form.submitted = true;\r\n if (vm.signup_form.$valid) {\r\n if (vm.address_option == 'Yes') {\r\n vm.present_address_line1 = vm.permanent_address_line1;\r\n vm.present_address_line2 = vm.permanent_address_line2;\r\n vm.present_state = vm.permanent_state;\r\n vm.present_city = vm.permanent_city;\r\n vm.present_pincode = vm.permanent_pincode;\r\n }\r\n \r\n var workArea = '';\r\n var skill = '';\r\n if((vm.loggedinUserRole != \"Dispatch Manager\") && (vm.loggedinUserRole != \"OnBoarding Manager\") && (vm.loggedinUserRole != \"Dispatch Team Lead\")&& (vm.loggedinUserRole != \"OnBoarding Team Lead\")){ \r\n workArea = vm.workArea;\r\n skill = vm.skill;\r\n /*for (var index = 0; index < vm.workArea.length; index++) {\r\n if (index == (vm.workArea.length - 1)) {\r\n workArea = workArea + vm.workArea[index];\r\n continue;\r\n }\r\n workArea = workArea + vm.workArea[index] + ',';\r\n } \r\n for (var skillindex = 0; skillindex < vm.skill.length; skillindex++) {\r\n if (skillindex == (vm.skills.length - 1)) {\r\n skill = skill + vm.skill[skillindex];\r\n vm.selectExpertise(skill);\r\n continue;\r\n }\r\n skill = skill + vm.skill[skillindex] + ',';\r\n vm.selectExpertise(skill);\r\n }*/\r\n } \r\n\r\n ///model to send for creating user \r\n var userFormData = { \r\n \"UserId\": vm.userId,\r\n \"FirstName\": vm.username,\r\n \"LastName\": vm.last_name,\r\n \"Gender\": vm.gender,\r\n \"DOB\": moment(vm.birth_date, 'DD/MM/YYYY').format('YYYY-MM-DDTHH:mm:ss.SSSZ'), \r\n \"PersonalEmail\": vm.email,\r\n \"ContactNumber\": vm.phone_number,\r\n \"AlternativeContactNumber\": vm.alternate_number,\r\n \"CompanyName\": vm.company,\r\n \"Locations\": workArea,\r\n \"PermanentAdd1\": vm.permanent_address_line1,\r\n \"PermanentAdd2\": vm.permanent_address_line2,\r\n \"PermanentState\": vm.permanent_state,\r\n \"PermanentCity\": vm.permanent_city,\r\n \"PermanentPincode\": vm.permanent_pincode,\r\n \"CurrentAdd1\": vm.present_address_line1,\r\n \"CurrentAdd2\": vm.present_address_line2,\r\n \"CurrentState\": vm.present_state,\r\n \"CurrentCity\": vm.present_city,\r\n \"CurrentPincode\": vm.present_pincode,\r\n \"SkillSet\": skill,\r\n \"Expertise\": vm.expertise,\r\n \"ReportingTo\": '',\r\n \"Role\": '',\r\n \"Picture\":vm.profilePic,\r\n \"TerritoryConfigurations\":vm.workAreas,\r\n \"Specialist\":vm.specialist,\r\n \"DepartmentId\": vm.SelectedDepartment.DepartmentId,\r\n \"LocationId\": vm.SelectedLocation.LocationId,\r\n \"DepartmentName\": vm.SelectedDepartment.DepartmentName,\r\n \"LocationName\": vm.SelectedLocation.LocationName,\r\n \"IsExperienced\": vm.IsExperienced,\r\n \"OverTimeHourlyRate\": vm.overtimeHourlyRate,\r\n \"ShiftHourlyRate\": vm.shiftHourlyRate,\r\n }\r\n if (vm.EnableRegion) {\r\n userFormData.Region = vm.MainRegion;\r\n \r\n var workArea = '';\r\n for (var index = 0; index < vm.SubCity.length; index++) {\r\n if (index == (vm.SubCity.length - 1)) {\r\n workArea = workArea + vm.SubCity[index];\r\n continue;\r\n }\r\n workArea = workArea + vm.SubCity[index] + ',';\r\n }\r\n userFormData.Locations = workArea;\r\n userFormData.SubRegion = vm.Region;\r\n }\r\n\r\n \r\n if (vm.loggedinUserRole == 'Administrator' || vm.loggedinUserRole == 'Project Manager' || vm.loggedinUserRole == 'Vendor Manager' || vm.loggedinUserRole == 'SuperAdministrator' || vm.loggedinUserRole == 'OnBoarding Manager' || vm.loggedinUserRole == 'Account Manager' || vm.loggedinUserRole == 'OnBoarding Supervisor' || vm.loggedinUserRole == 'Operation Manager' || vm.loggedinUserRole == 'Operation Supervisor' || vm.loggedinUserRole == 'Higher Management'\r\n || vm.loggedinUserRole == 'Dispatch Manager' || vm.loggedinUserRole == 'Dispatch Team Lead'|| vm.loggedinUserRole == 'Freelancer Dispatcher'|| vm.loggedinUserRole == 'OnBoarding Team Lead') {\r\n userFormData.ReportingTo = vm.ReportingTo;\r\n userFormData.Role = vm.Role;\r\n }else if(vm.loggedinUserRole == 'Supervisor'){\r\n userFormData.ReportingTo = loggedinUser;\r\n userFormData.Role = 'Field Engineer';\r\n }\r\n\r\n \r\n\r\n if((vm.email==null || vm.email=='') && (vm.phone_number==null || vm.phone_number=='')){\r\n vm.showFailure(\"Failed\", \"Please provide email id or mobile number\");\r\n vm.isDisabled = false;\r\n } else{\r\n // Submit as normal\r\n if (vm.editMode) {\r\n RoasterTeamFormCreationService.updateUser(userFormData, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 201) {\r\n vm.showSuccess(\"Success\", \"User Updated Successfully\");\r\n vm.isDisabled = false;\r\n $timeout(function () {\r\n $state.go('index.RoasterTeamMember', {\r\n reload: true\r\n });\r\n }, 2000);\r\n }\r\n else{\r\n vm.isDisabled = false;\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }\r\n \r\n }, function () {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"Failed\", \"Unable to update user\");\r\n })\r\n } else {\r\n\r\n userFormData.UserId = '';\r\n RoasterTeamFormCreationService.updateUser(userFormData, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 201) {\r\n if (!vm.saveAndNewFlag && vm.loggedinUserRole == 'SuperAdministrator') {\r\n $state.go('index.RoasterTeamMember', {\r\n reload: true\r\n });\r\n }\r\n else if (!vm.saveAndNewFlag) {\r\n $state.go('index.RoasterTeamMember', {\r\n reload: true\r\n });\r\n\r\n $timeout(function () {\r\n window.location.reload(true);\r\n }, 3000);\r\n } else {\r\n vm.showSuccess(\"User Creation Status\", \"User created successfully\");\r\n vm.isDisabled = false;\r\n clearFormFields();\r\n }\r\n } else if (resp.data.ErrorCode == 104) {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"User Creation Status\", \"User already exist\");\r\n } else if(resp.data && resp.data.Message) {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"User Creation Status\", resp.data.Message);\r\n } else {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"User Creation Status\", \"Unable to create user, server is not responding correctly.\");\r\n }\r\n vm.isDisabled = false;\r\n }, function (error) {\r\n vm.isDisabled = false;\r\n if (error.data.ErrorCode == 104) {\r\n vm.showFailure(\"User Creation Status\", \"Unable to create user, server is not responding correctly.\");\r\n }\r\n else {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"User Creation Status\", \"Unable to create user, server is not responding correctly.\");\r\n }\r\n }\r\n );\r\n }\r\n }\r\n } else {\r\n vm.signup_form.submitted = false;\r\n vm.isDisabled = false;\r\n }\r\n }\r\n\r\n // vm.saveAndNew = function () {\r\n // vm.saveAndNewFlag = true;\r\n // vm.saveUser();\r\n // }\r\n\r\n vm.getAccounts = function () {\r\n RoasterTeamFormCreationService.getAllAccounts(loggedinUser, token).then(function (resp) { \r\n if (resp && resp.data && resp.status==200) { \r\n vm.accounts = resp.data;\r\n } \r\n }, function () { \r\n });\r\n } \r\n vm.getAccounts();\r\n\r\n function clearFormFields() {\r\n vm.username = '';\r\n vm.gender = '';\r\n vm.address = '';\r\n vm.email = '';\r\n vm.phone_number = '';\r\n vm.last_name = '';\r\n // vm.birth_date = '';\r\n vm.cores_address = '';\r\n vm.father_name = '';\r\n vm.alternate_number = '';\r\n vm.workArea = '';\r\n vm.city = '';\r\n // vm.reporting_to = '';\r\n vm.state = '';\r\n // vm.role = '';\r\n vm.skill = '';\r\n vm.expertise = '';\r\n vm.saveAndNewFlag = false;\r\n }\r\n\r\n var skillsArray = [];\r\n vm.getAllSkill = function () {\r\n RoasterTeamFormCreationService.getAllSkills(loggedinUser, token).then(function (resp) {\r\n vm.skills = resp.data; \r\n for (var index = 0; index < vm.skills.length; index++) { \r\n skillsArray.push({\r\n skill: vm.skills.SkillName\r\n });\r\n }\r\n }); \r\n }\r\n\r\n vm.selectExpertise = function (skill) {\r\n // RoasterTeamFormCreationService.getAllSkills().then(function (resp) {\r\n // vm.expertiseList = resp.data;\r\n // vm.expertiseList = [];\r\n if (!vm.skills) {\r\n var expertiseArray = [];\r\n expertiseArray.push({\r\n skill: vm.skills.SkillName\r\n });\r\n vm.expertiseList = expertiseArray;\r\n }\r\n }\r\n\r\n\r\n ///get all the circles through api\r\n function getAllCircles() {\r\n vm.circles = [];\r\n vm.CircleList=[];\r\n vm.MainRegionList = '';\r\n if (vm.EnableRegion) {\r\n RoasterTeamFormCreationService.GetRegion(loggedinUser,token).then(function(resp){\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length>0) {\r\n vm.MainRegionList = resp.data;\r\n $log.log('RegionList',vm.RegionList)\r\n }\r\n }\r\n })\r\n }else if (vm.LocationMapping == 'Circle') {\r\n RoasterTeamFormCreationService.GetTelecomCircle(loggedinUser,token).then(function(resp){\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.values.length>0) {\r\n vm.CircleList = resp.data.values;\r\n \r\n }\r\n }\r\n })\r\n }else{\r\n\r\n RoasterTeamFormCreationService.getAllState(loggedinUser, token).then(function(resp){\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length>0) {\r\n vm.circles = resp.data;\r\n }\r\n }\r\n });\r\n }\r\n \r\n }\r\n\r\n ///Executes when the user select the state\r\n vm.selectState = function (state) {\r\n var Getstate = state;\r\n RoasterTeamFormCreationService.getCities(loggedinUser,Getstate,token).then(function (resp) {\r\n vm.cityList = resp.data;\r\n if (!resp.data) {\r\n var cityArray = [];\r\n cityArray.push({\r\n city: state\r\n });\r\n vm.cityList = cityArray;\r\n }\r\n }, function () {\r\n\r\n });\r\n }\r\n\r\n vm.selectSubRegion = function(region){\r\n \r\n RoasterTeamFormCreationService.GetSubRegion(loggedinUser,token,region).then(function(resp){\r\n if (resp.status==200) {\r\n if (resp.data && resp.data.length>0) {\r\n vm.SubRegionList = resp.data;\r\n }\r\n }\r\n })\r\n }\r\n vm.selectCitySubRegion = function(Subregion){\r\n \r\n RoasterTeamFormCreationService.GetCityBySubRegion(loggedinUser,Subregion,token).then(function(resp){\r\n if (resp.status==200) {\r\n if (resp.data && resp.data.length>0) {\r\n vm.SubCityList = resp.data;\r\n }\r\n }\r\n })\r\n }\r\n\r\n vm.selectStateforPresent = function (state) { \r\n var Getstate = state;\r\n RoasterTeamFormCreationService.getCities(loggedinUser,Getstate,token).then(function (resp) {\r\n vm.presentcityList = resp.data;\r\n if (!resp.data) {\r\n var cityArray = [];\r\n cityArray.push({\r\n city: state\r\n });\r\n vm.cityList = cityArray;\r\n }\r\n }, function () {\r\n\r\n });\r\n }\r\n\r\n //state \r\n vm.getStateList = function (region) {\r\n RoasterTeamFormCreationService.getState(loggedinUser, token, region).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.allStates = resp.data;\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n\r\n function getallCities(state) {\r\n ReferService.getAllCity(loggedinUser, state,token).then(function (resp) {\r\n vm.CityList = resp.data;\r\n });\r\n }\r\n vm.selectedState = function (state) {\r\n getallCities(state);\r\n }\r\n ///Executes when the user select the city\r\n vm.selectCity = function (city) {\r\n RoasterTeamFormCreationService.getAllPincode(city).then(function (resp) {\r\n vm.pincodeList = resp.data;\r\n if (!resp.data) {\r\n var pincodeArray = [];\r\n pincodeArray.push({\r\n pincode: city\r\n });\r\n vm.pincodeList = pincodeArray;\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n vm.selectCityforPresent = function (loggedinUser, city) {\r\n RoasterTeamFormCreationService.getAllPincode(loggedinUser, city.ID).then(function (resp) {\r\n vm.presentpincodeList = resp.data;\r\n if (!resp.data) {\r\n var pincodeArray = [];\r\n pincodeArray.push({\r\n pincode: city\r\n });\r\n vm.pincodeList = pincodeArray;\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n vm.removeAccountDetail = function (index) {\r\n vm.workAreas.splice(index,1); \r\n vm.getAllHDAccounts(); \r\n }\r\n\r\n vm.EditData=function(index){\r\n vm.SelectedAccount = vm.workAreas[index]; \r\n vm.territoryStates(vm.SelectedAccount.AccountId);\r\n vm.selectedStateForTerritory(vm.SelectedAccount.State);\r\n vm.selectedCityForTerritory(vm.SelectedAccount.City); \r\n }\r\n\r\n vm.AccountChange=function (){ \r\n for (var i = 0; i < vm.RemainingCHDAccounts.length; i++) {\r\n var Acc = vm.RemainingCHDAccounts[i];\r\n if(Acc.AccountName == vm.SelectedAccount.AccountName ) {\r\n vm.SelectedAccount.AccountId = Acc.AccountId;\r\n // vm.SelectedAccount = Acc; \r\n // break;\r\n }\r\n }\r\n vm.territoryStates(vm.SelectedAccount.AccountId);\r\n }\r\n vm.territoryStates = function (AccountId) {\r\n vm.AccountIDforTerritory = AccountId;\r\n RoasterTeamFormCreationService.getTerritoryStates(loggedinUser, token,AccountId,vm.Role).then(function(resp) {\r\n vm.stateListTerritory = resp.data;\r\n if(resp.status == 200) {\r\n // vm.territoryCity();\r\n }\r\n })\r\n }\r\n\r\n vm.selectedStateForTerritory = function (state) {\r\n vm.territoryCity(state,vm.AccountIDforTerritory);\r\n }\r\n vm.territoryCity = function (state,AccountId) {\r\n vm.StateForTerritoryCity = state;\r\n RoasterTeamFormCreationService.getTerritoryCity(loggedinUser, token,AccountId,state,vm.Role).then(function(resp) {\r\n vm.cityListTerritory = resp.data;\r\n if(resp.status == 200) {\r\n \r\n\r\n }\r\n })\r\n }\r\n\r\n vm.selectedCityForTerritory = function (City) {\r\n vm.territoryPincodes(City);\r\n }\r\n vm.uniPin = [];\r\n vm.territoryPincodes = function (City) {\r\n RoasterTeamFormCreationService.getTerritoryPincodes(loggedinUser, token,vm.AccountIDforTerritory,vm.StateForTerritoryCity,City,vm.Role).then(function(resp) {\r\n // if(resp.status == 200) {\r\n vm.pinCodeListTerritory = resp.data;\r\n for (var i = 0; i < vm.workAreas.length; i++) {\r\n var Acc = vm.workAreas[i];\r\n if((Acc.City == City) && (Acc.AccountId ==vm.AccountIDforTerritory) && (Acc.State == vm.StateForTerritoryCity)) {\r\n for (var j = 0; j < vm.pinCodeListTerritory.length; j++) { \r\n var pinCodeUnique = vm.pinCodeListTerritory[j];\r\n for (var k = 0; k < Acc.PinCode.length; k++) { \r\n if( pinCodeUnique == Acc.PinCode[k]) {\r\n vm.pinCodeListTerritory.splice(j,1);\r\n // break; \r\n }\r\n }\r\n \r\n }\r\n }\r\n }\r\n // }\r\n })\r\n }\r\n\r\n vm.addMoreAccount = function(){\r\n vm.SelectedAccount=[]; \r\n vm.showEditList = true;\r\n vm.showAction = false;\r\n for (var i = 0; i < vm.workAreas.length; i++) {\r\n var Acc = vm.workAreas[i];\r\n for (var j = 0; j < vm.RemainingCHDAccounts.length; j++) { \r\n // console.log('acc = ' + Acc.AccountId + \" vm.RemainingCHDAccounts[j].AccountId \" + vm.RemainingCHDAccounts[j].AccountId + 'len ' + j) \r\n if(Acc.AccountId == vm.RemainingCHDAccounts[j].AccountId ) {\r\n // vm.RemainingCHDAccounts.splice(j,1); \r\n //break; \r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n //CHDAllaccounts\r\n vm.getAllHDAccounts = function ( ) {\r\n RoasterTeamFormCreationService.getAllAccountsConfigured(loggedinUser, token).then(function (resp) { \r\n if (resp && resp.data){ \r\n if(resp.status==200){\r\n vm.CHDAccounts = resp.data;\r\n vm.RemainingCHDAccounts = vm.CHDAccounts;\r\n }\r\n } \r\n }, function () { \r\n });\r\n }\r\n\r\n vm.UpdateAllHDAccountConfig = function(index){ \r\n vm.showAction = true; \r\n var checkAccount = false;\r\n for (var i = 0; i < vm.workAreas.length; i++) {\r\n if(vm.SelectedAccount.PinCode == undefined) {\r\n vm.showFailure(\"Failed\", \"Please add Account details with Locations\");\r\n vm.workAreas[index].edit = true;\r\n }\r\n // vm.workAreas[i] == vm.SelectedAccount;\r\n // vm.workAreas[i].AccountSkillSet = vm.SelectedSkills;\r\n // vm.workAreas[i].AccountLocations = vm.SelectedLocations;\r\n // var Acc = vm.workAreas[i];\r\n // if(Acc.AccountName == vm.SelectedAccount.AccountName ) {\r\n // vm.workAreas[i] == vm.SelectedAccount;\r\n // checkAccount = true;\r\n // break;\r\n // }\r\n }\r\n if(checkAccount == false && index == undefined) { \r\n vm.SelectedAccountObj = Object.assign({}, vm.SelectedAccount); \r\n if(vm.SelectedAccountObj.AccountName && vm.SelectedAccountObj.State && vm.SelectedAccountObj.City && vm.SelectedAccountObj.PinCode) {\r\n vm.workAreas.push(vm.SelectedAccountObj);\r\n } \r\n else {\r\n vm.showFailure(\"Failed\", \"Please add Account details with Locations\");\r\n vm.workAreas[i].edit = true;\r\n \r\n } \r\n \r\n }\r\n else {\r\n var Acc = vm.workAreas[i];\r\n }\r\n vm.showEditList = false; \r\n }\r\n \r\n vm.getAllHDAccounts(); \r\n vm.getAllSkill();\r\n vm.getStateList(\"INDIA\");\r\n }\r\n});\r\n\nangular.module('inspinia').service('ReturnablePartConsumeListService', function (AcessoriesURL, ApiURL, $window, $http) {\r\n\r\n this.GetAllWareHouse = function (loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/WareHouse/GetAllWareHouse';\r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n } \r\n\r\n this.GetRefundablePartlist = function (paymentstatus,DateField,startDate,endDate,oPageIndex,oPageSize,OrderBy,SortType, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFProductReplacement/GetRefundablePartlist?StartDate=' + startDate + '&EndDate=' + endDate + '&DateField=' + DateField + '&PaidStatus=' + paymentstatus + '&OrderBy=' + OrderBy + '&SortType=' + SortType + '&PageSize=' + oPageSize + '&PageIndex=' + oPageIndex;\r\n return $http.get(url,{\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.ReturnTicketPartOrderPlace = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFReturnOrder/ReturnTicketPartOrderPlace';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetRefundablePartlist_CSV = function (paymentstatus,DateField,startDate,endDate,oPageIndex,oPageSize,OrderBy,SortType, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFProductReplacement/GetRefundablePartlist_CSV?StartDate=' + startDate + '&EndDate=' + endDate + '&DateField=' + DateField + '&PaidStatus=' + paymentstatus + '&OrderBy=' + OrderBy + '&SortType=' + SortType + '&PageSize=' + oPageSize + '&PageIndex=' + oPageIndex;\r\n return $http.get(url,{\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n // this.MarkNonReturnPartDetails = function (parttId,loggedinUser, token) {\r\n // var url = AcessoriesURL + '/api/RequestedPartInventoryController/MarkNonReturnPartDetails?PartId=' + parttId;\r\n // return $http.put(url,null, {\r\n // headers: { 'Token': token, 'UserId': loggedinUser }\r\n // });\r\n // }\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('ReturnablePartConsumeListController', function (ReturnablePartConsumeListService,ngProgressFactory, $resource,$rootScope,$http, $stateParams, toaster, $filter, $compile, $q,ApiURL, $state, $localStorage, $scope, DTOptionsBuilder, DTColumnBuilder, $uibModal, $timeout) {\r\n\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\t// var warehouseId = $stateParams.warehouseId;\r\n\t\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\t\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\t\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\t\tvm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\t\tvm.AccountId = $localStorage.accountConfig.AccountId;\r\n\t\t$scope.isNavCollapsed = true;\r\n\t\t$scope.isCollapsed = true;\r\n\t\t$scope.isCollapsedHorizontal = false;\r\n\t\tvm.selectSingle = false;\r\n\t\tvm.disableExceptionButton = false;\r\n\t\tvar oPageIndex = 1;\r\n\t\tvar oPageSize = 10;\r\n\t\tvm.progressbar = ngProgressFactory.createInstance();\r\n\t\tvm.noMsg = [];\r\n\t\tvm.noOfRecords = 0;\r\n\t\tvm.file = null;\r\n\t\tvm.allOrdersPageListCount = 10;\r\n\t\tvar PageIndex = 1;\r\n\t\tvar PageSize = 10;\r\n\t\tvm.DateField = 'CreatedOn';\r\n\t\tvm.OrderBy = 'desc';\r\n \t\tvm.SortType = 'CreatedOn';\r\n\t\t vm.paymentstatus = 'All';\r\n\t\tvm.allInventoryPageListCount = 10;\r\n\t\tvm.pageListCounts = [10, 20, 30, 50];\r\n\t\tvm.UserId = '';\r\n\t\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\t\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\t\t$scope.dates = { startDate: moment().subtract(30, 'day'), endDate: moment() };\r\n\t\tvar startDate = moment().subtract(30, 'days').format(\"YYYY-MM-DD\");\r\n\t\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\t\t$scope.ranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment().endOf('month')]\r\n\t\t};\r\n\r\n\t\tvm.outsidedateRangeChange = function (ev, picker) {\r\n\t\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\t\tvm.GetRefundablePartlist();\r\n\t\t};\r\n\r\n\t\t$scope.totalInvList = 0;\r\n\t\t$scope.inventoryPerPage = vm.allInventoryPageListCount;\r\n\t\t$scope.InventoryPagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\t\tvm.disableCreateButton = false;\r\n\r\n\t\tvm.DisableCreateButton = function (disable) {\r\n\t\t\tif (disable) {\r\n\t\t\t\tvm.disableCreateButton = true;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.disableCreateButton = false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.changeAllInventoryPageListCount = function () {\r\n\t\t\t$scope.inventoryPerPage = vm.allInventoryPageListCount;\r\n\t\t\tPageSize = $scope.inventoryPerPage;\r\n\t\t\t$scope.AllInventoryTablePageChanged($scope.InventoryPagination.current);\r\n\t\t\tvm.selectAll = false;\r\n\t\t\tPageIndex = $scope.InventoryPagination.current;\r\n\t\t\t$scope.AllInventoryTablePageChanged = function (newPage) {\r\n\t\t\t\tPageIndex = newPage;\r\n\r\n\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tPageIndex = $scope.InventoryPagination.current;\r\n\t\t$scope.AllInventoryTablePageChanged = function (newPage) {\r\n\t\t\tPageIndex = newPage;\r\n\t\t\tvm.GetRefundablePartlist();\r\n\r\n\t\t};\r\n\t\tvm.SearchText = '';\r\n\t\tvm.warehouselist = \"\";\r\n\t\tvm.warehouseInvetoryList = [];\r\n\r\n\r\n\t\tvm.clearFilter = function () {\r\n\t\t\tvm.SearchText = '';\r\n\t\t\tvm.warehouselist = '';\r\n\r\n\t\t}\r\n vm.applyOrderFilter = function () {\r\n\t\t\tvm.GetDamgedPrdouctDetailList();\r\n\t\t\tvm.GetProductDetailDashboardByFilter();\r\n\t\t\t// vm.GetOrdersDashboardByFilter();\r\n\t\t}\r\n\t\tvm.selectedData = [];\r\n\r\n\t\tvm.handleCheckboxToggle = function (order) {\r\n\t\t\tif (order.isSelected) {\r\n\t\t\t\tvm.selectedData.push({\r\n\t\t\t\t\tTicketId: order.TicketId,\r\n\t\t\t\t\tMMFPartId: order.PartId,\r\n\t\t\t\t\tSKUId: order.SKUId,\r\n\t\t\t\t\tStockCount: order.StockCount\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.selectedData = vm.selectedData.filter(function (item) {\r\n\t\t\t\t\treturn item.MMFPartId !== order.PartId;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\t\r\n\t\tvm.toggleSelectAll = function () {\r\n\t\t\tif (vm.selectAll) {\r\n\t\t\t\tvm.selectedData = vm.paymentstatusList\r\n\t\t\t\t\t.filter(function (order) {\r\n\t\t\t\t\t\treturn order.PartReturnStatus === 'Pending' || order.PartReturnStatus === 'Reject';\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.map(function (order) {\r\n\t\t\t\t\t\torder.isSelected = true;\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tTicketId: order.TicketId,\r\n\t\t\t\t\t\t\tMMFPartId: order.PartId,\r\n\t\t\t\t\t\t\tSKUId: order.SKUId,\r\n\t\t\t\t\t\t\tStockCount: order.StockCount\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.paymentstatusList = vm.paymentstatusList.map(function (order) {\r\n\t\t\t\t\torder.isSelected = false;\r\n\t\t\t\t\treturn order;\r\n\t\t\t\t});\r\n\t\t\t\tvm.selectedData = [];\r\n\t\t\t}\r\n\t\t};\r\n\t\t;\r\n\t\t\r\n\r\nvm.OpenCreateChallanModel = function () {\r\n if (vm.selectedData.length === 0) {\r\n alert('Please select at least one item.');\r\n return;\r\n }\r\n vm.createchallan = $uibModal.open({\r\n templateUrl: 'MarkpaymentAccept.html',\r\n backdrop: 'static',\r\n scope: angular.extend($scope.$new(), { challanData: vm.selectedData })\r\n });\r\n};\r\n\r\n\r\n\t\tvm.closeCreateChallanConfirmation = function () {\r\n\t\t\tvm.createchallan.close();\r\n\t\t\tvm.selectedData = [];\r\n\t\t}\r\n\r\n\r\n\t\t$scope.TotalRecord = 0;\r\n\t\t$scope.ordersPerPage = vm.allOrdersPageListCount;\r\n\t\t$scope.OrdersPagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\r\n\t\tvm.changeAllOrderPageListCount = function () {\r\n\t\t\t$scope.ordersPerPage = vm.allOrdersPageListCount;\r\n\t\t\toPageSize = $scope.ordersPerPage;\r\n\t\t\t$scope.AllOrderTablePageChanged($scope.OrdersPagination.current);\r\n\t\t\toPageIndex = $scope.OrdersPagination.current;\r\n\t\t\t$scope.AllOrderTablePageChanged = function (newPage) {\r\n\t\t\t\toPageIndex = newPage;\r\n\t\t\t\tvm.GetRefundablePartlist();\r\n\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\toPageIndex = $scope.OrdersPagination.current;\r\n\t\t$scope.AllOrderTablePageChanged = function (newPage) {\r\n\t\t\toPageIndex = newPage;\r\n\t\t\tvm.GetRefundablePartlist();\r\n\r\n\t\t};\r\n\r\n\t\tvm.OpenTicketView = function (ticket) {\r\n\t\t\t$state.go('index.JobDetailView', {\r\n\t\t\t\tticketId: ticket\r\n\t\t\t}, { reload: true });\r\n\t\t}\r\n\t\t\r\n\t\tvm.paymentstatusList = [];\r\n\t\tvm.GetRefundablePartlist = function () {\r\n\t\t\tReturnablePartConsumeListService.GetRefundablePartlist(vm.paymentstatus,vm.DateField,startDate,endDate,oPageIndex,oPageSize,vm.OrderBy,vm.SortType, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.paymentstatusList = resp.data.returnableparts;\r\n\t\t\t\t\t$scope.TotalRecord = resp.data.Count;\r\n\t\t\t\t\tif (vm.paymentstatusList.length < vm.allOrdersPageListCount)\r\n\t\t\t\t\t\tvm.orderListLength = $scope.TotalRecord;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.orderListLength = oPageIndex * vm.allOrdersPageListCount;\r\n\t\t\t\t\tif (oPageIndex == 1)\r\n\t\t\t\t\t\tvm.opageindexCount = 1;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.opageindexCount = (((oPageIndex - 1) * vm.allOrdersPageListCount) + 1);\r\n\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.GetRefundablePartlist();\r\n\r\n\t\tvm.GetAllWareHouse = function () {\r\n\t\t\tReturnablePartConsumeListService.GetAllWareHouse(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.warehouseitemlist = resp.data;\r\n\t\t\t\t\tif (vm.warehouseitemlist.length > 0) {\r\n\t\t\t\t\t\tvm.warehouseid = vm.warehouseitemlist[0].strWareHouseId; \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.GetAllWareHouse();\r\n\t\tvm.OpenNonReturnUploadModel = function () {\r\n\t\t\tvm.ReadyToRaiseModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'ReadyToRaiseModal.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tsize: 'md',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeReadyToRaiseModal = function () {\r\n\t\t\tvm.showPassed = false;\r\n\t\t\tvm.showErrors = false;\r\n\t\t\tvm.errorList = [];\r\n\t\t\tvm.ReadyToRaiseModal.close();\r\n\t\t}\r\n\t\r\n\r\n\t\tvm.ReturnTicketPartOrderPlace = function () {\r\n\t\t\tvm.validationForm.submitted = true;\r\n\t\t\tif (vm.validationForm.$valid) {\r\n\t\t\t\tvm.DisableCreateButton(true);\r\n\t\t\tvar data ={\r\n\t\t\t\t\"WareHouseID\": vm.warehouseid,\r\n\t\t\t\t\"Attachment\": vm.FileName,\r\n\t\t\t\t\"WarrantyType\": \"\",\r\n\t\t\t\t\"returnTicketDefects\": vm.selectedData\r\n\t\t\t}\r\n\t\t\tReturnablePartConsumeListService.ReturnTicketPartOrderPlace(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", \"Return Challan has been created successfully\");\r\n\t\t\t\t\tvm.closeCreateChallanConfirmation();\r\n\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\tvm.GetRefundablePartlist();\r\n\t\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data)\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t\t}\r\n\r\n\t\tvm.GetRefundablePartlist_CSV = function () {\r\n\t\t\tReturnablePartConsumeListService.GetRefundablePartlist_CSV(vm.paymentstatus,vm.DateField,startDate,endDate,oPageIndex,oPageSize,vm.OrderBy,vm.SortType, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvar csvData = resp.data;\r\n\t\t\t\t\tvar blob = new Blob([csvData], { type: 'text/csv' });\r\n\t\t\t\t\tvar url = window.URL.createObjectURL(blob);\r\n\t\t\t\t\tvar a = document.createElement('a');\r\n\t\t\t\t\ta.href = url;\r\n\t\t\t\t\ta.download = 'All_Returnable_Products_List.csv';\r\n\t\t\t\t\ta.click();\r\n\t\t\t\t\twindow.URL.revokeObjectURL(url);\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.getProjects = function(customer){\r\n\t\t\tvm.projectList = customer.Projects;\r\n\t\t\tif(vm.projectList.length > 0){\r\n\t\t\t vm.selectedProject = vm.projectList[0];\r\n\t\t\t}\r\n\t\t }\r\n\t\t\r\n\t\t if (vm.bulkuploadType == 'cms') {\r\n\t\t\tvm.dzOptions = {\r\n\t\t\t paramName: 'photo',\r\n\t\t\t maxFilesize: '100',\r\n\t\t\t url: '/',\r\n\t\t\t acceptedFiles: '.zip',\r\n\t\t\t dictDefaultMessage: 'Click to add or drop files',\r\n\t\t\t dictRemoveFile: 'Remove'\r\n\t\t\t};\r\n\t\t } else {\r\n\t\t\tvm.dzOptions = {\r\n\t\t\t paramName: 'photo',\r\n\t\t\t maxFilesize: '100',\r\n\t\t\t url: '/',\r\n\t\t\t acceptedFiles: '.xlsx, .xls',\r\n\t\t\t dictDefaultMessage: 'Click to add or drop files',\r\n\t\t\t dictRemoveFile: 'Remove'\r\n\t\t\t};\r\n\t\t }\r\n\t\t\r\n\t\t vm.dtOptions = DTOptionsBuilder.newOptions().withDOM('<\"html5buttons\"B>lTfgitp')\r\n\t\t\t.withPaginationType('full_numbers').withDisplayLength(5).withOption('lengthMenu', [5, 10, 15, 20]);\r\n\t\t\r\n\t\t// vm.dtColumnDefs = [\r\n\t\t// \tDTColumnDefBuilder.newColumnDef(0).notSortable()\r\n\t\t// ];\r\n\t\t\r\n\t\t vm.loaderFlag = false;\r\n\t\t vm.hideLoader = function () {\r\n\t\t\tif (vm.loaderFlag) {\r\n\t\t\t $rootScope.$broadcast(\"loader_hide\");\r\n\t\t\t $timeout(function () { vm.loaderFlag = false; }, 1000);\r\n\t\t\t $timeout(vm.hideLoader, 1);\r\n\t\t\t}\r\n\t\t }\r\n\t\t\r\n\t\t vm.scrollDwn = function () {\r\n\t\t\t$(\"html, body\").animate({ scrollTop: $(document).height() - $(window).height() }, 900);\r\n\t\t\t// $location.hash('error_datatable');\r\n\t\t\t// $anchorScroll();\r\n\t\t }\r\n\t\t\r\n\t\t vm.dzCallbacks = {\r\n\t\t\t'addedfile': function (file) {\r\n\t\t\t vm.showErrors = false;\r\n\t\t\t vm.errorList = [];\r\n\t\t\t vm.UpdateErrorList = [];\r\n\t\t\t vm.disableUploadButton = true;\r\n\t\t\t vm.users = [];\r\n\t\t\r\n\t\t\t vm.customers = [];\r\n\t\t\t vm.tickets = [];\r\n\t\t\t vm.cms = [];\r\n\t\t\t $(\"#dropzone1 .dz-progress .dz-upload\").hide();\r\n\t\t\t $(\".bulkupload-progress\").width(0);\r\n\t\t\t $(\".ajax-loader\").hide();\r\n\t\t\t vm.progressbar.reset();\r\n\t\t\t vm.progressbar.start();\r\n\t\t\t vm.showSuccess = false;\r\n\t\t\t vm.canceler = $q.defer();\r\n\t\t\t vm.successTitle = \"\";\r\n\t\t\t vm.successMsg = \"\";\r\n\t\t\t vm.noOfRecords = 0;\r\n\t\t\r\n\t\t\t var dropzoneChildren = $(\"#dropzone1\").children();\r\n\t\t\t $(\"#dropzone1\").empty();\r\n\t\t\t $(\"#dropzone1\").append(dropzoneChildren[0]);\r\n\t\t\t $(\"#dropzone1\").append(dropzoneChildren[dropzoneChildren.length - 1]);\r\n\t\t\r\n\t\t\t vm.loaderFlag = true;\r\n\t\t\t vm.hideLoader();\r\n\t\t\t vm.file = file;\r\n\t\t\r\n\t\t\t var fd = new FormData();\r\n\t\t\t fd.append('file', file);\r\n\t\t\t if (vm.bulkuploadType != 'cms') {\r\n\t\t\t\tif (vm.updateType != 'UpdateS') {\r\n\t\t\t\t $http.post(ApiURL + '/api/BulkUpload/MediaUpload?reqUserId=' + loggedinUser + '&action=Create', fd, {\r\n\t\t\t\t transformRequest: angular.identity,\r\n\t\t\t\t headers: { 'Content-Type': undefined, 'Token': token, 'UserId':loggedinUser},\r\n\t\t\t\t timeout: vm.canceler.promise\r\n\t\t\t\t})\r\n\t\t\t\t .success(function (data) {\r\n\t\t\t\t\t$(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n\t\t\t\t\tif (vm.bulkuploadType == 'user') {\r\n\t\t\t\t\t vm.users = data.Users;\r\n\t\t\t\t\t vm.noOfRecords = data.Users ? data.Users.length : 0;\r\n\t\t\t\t\t} else if (vm.bulkuploadType == 'customer') {\r\n\t\t\t\t\t vm.customers = data.Customers;\r\n\t\t\t\t\t vm.noOfRecords = data.Customers ? data.Customers.length : 0;\r\n\t\t\t\t\t} else if (vm.bulkuploadType == 'ticket') {\r\n\t\t\t\t\t vm.tickets = data.Tickets;\r\n\t\t\t\t\t vm.noOfRecords = data.Tickets ? data.Tickets.length : 0;\r\n\t\t\t\t\t}\r\n\t\t\r\n\t\t\t\t\t$(\"#dropzone1>div:last-child\").removeClass(\"dz-error\").addClass(\"dz-success\");\r\n\t\t\t\t\tif (data.Errors.length > 0) {\r\n\t\t\t\t\t //console.log('data.Errors',data.Errors);\r\n\t\t\t\t\t vm.dtColumnDefs = [\r\n\t\t\t\t\t\tDTColumnDefBuilder.newColumnDef(0).notSortable()\r\n\t\t\t\t\t ];\r\n\t\t\t\t\t angular.forEach(data.Errors, function (v, k) {\r\n\t\t\r\n\t\t\t\t\t\tif (v.ItemErrors.length > 0) {\r\n\t\t\t\t\t\t var e1 = {};\r\n\t\t\t\t\t\t angular.forEach(v.ItemErrors, function (v1, k1) {\r\n\t\t\t\t\t\t\te1.message = e1.message != undefined && e1.message != \"undefined\" && e1.message.length > 0 ? e1.message + \",\" + v1.Message : v1.Message;\r\n\t\t\t\t\t\t });\r\n\t\t\t\t\t\t if (v.Row > 0 && data.Users && data.Users.length > 0 && data.Users.length >= v.Row) {\r\n\t\t\t\t\t\t\te1.data = data.Users[v.Row - 1];\r\n\t\t\t\t\t\t } if (v.Row > 0 && data.Tickets && data.Tickets.length > 0 && data.Tickets.length >= v.Row) {\r\n\t\t\t\t\t\t\te1.data = data.Tickets[v.Row - 1];\r\n\t\t\t\t\t\t } if (v.Row > 0 && data.Customers && data.Customers.length > 0 && data.Customers.length >= v.Row) {\r\n\t\t\t\t\t\t\te1.data = data.Customers[v.Row - 1];\r\n\t\t\t\t\t\t }\r\n\t\t\t\t\t\t vm.errorList.push(e1);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t });\r\n\t\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t\t vm.disableUploadButton = true;\r\n\t\t\t\t\t vm.successTitle = \"Invalid records!\";\r\n\t\t\t\t\t vm.successMsg = \"There are \" + vm.errorList.length + \" errors. To see them click here\";\r\n\t\t\t\t\t vm.noMsg = [];\r\n\t\t\t\t\t vm.showErrors = true;\r\n\t\t\t\t\t $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\t\t\t} else if (data.ErrorCode == 103) {\r\n\t\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t\t vm.disableUploadButton = true;\r\n\t\t\t\t\t vm.successTitle = \"Missing columns in excel file\";\r\n\t\t\t\t\t vm.successMsg = \"Following columns are missing in excel file. Please add them and re-upload file\";\r\n\t\t\t\t\t vm.noMsg = [];\r\n\t\t\t\t\t angular.forEach(data.MissingColumns, function (k, v) {\r\n\t\t\t\t\t\tvm.noMsg.push(k);\r\n\t\t\t\t\t });\r\n\t\t\t\t\t $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\t\t\t} else if (data.Message && data.Message.length>0) {\r\n\t\t\r\n\t\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t\t vm.disableUploadButton = true;\r\n\t\t\t\t\t vm.successTitle = \"Validation failed\";\r\n\t\t\t\t\t vm.successMsg = data.Message\r\n\t\t\t\t\t vm.noMsg = [];\r\n\t\t\t\t\t angular.forEach(data.MissingColumns, function (k, v) {\r\n\t\t\t\t\t\tvm.noMsg.push(k);\r\n\t\t\t\t\t });\r\n\t\t\t\t\t $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t\t vm.disableUploadButton = false;\r\n\t\t\t\t\t vm.successTitle = \"Validation completed\";\r\n\t\t\t\t\t vm.successMsg = vm.bulkuploadType.charAt(0).toUpperCase() + vm.bulkuploadType.slice(1) + (vm.noOfRecords > 1 ? \"s\" : \"\") + \" are validated successfully. Total \" + vm.noOfRecords + \" \" + vm.bulkuploadType + (vm.noOfRecords > 1 ? \"s\" : \"\") + \" found. Please click on start upload button to proceed.\";\r\n\t\t\t\t\t // vm.successMsg = \"You have successfully created \"+vm.bulkuploadType+\"s in bulk\";\r\n\t\t\t\t\t vm.noMsg = [];\r\n\t\t\t\t\t $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$(\"table th:first-child\").removeClass(\"sorting_asc\");\r\n\t\t\t\t\tvm.progressbar.complete();\r\n\t\t\t\t })\r\n\t\t\t\t .error(function (errorMessage) {\r\n\t\t\t\t\t$(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n\t\t\t\t\tvm.progressbar.complete();\r\n\t\t\t\t\tvm.successTitle = \"Validation of records failed\";\r\n\t\t\t\t\tvm.successMsg = \"Error in data validation, please correct the data and re-upload file\";\r\n\t\t\t\t\t$(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\t\t });\r\n\t\t\t\t}else if (vm.updateType == 'UpdateS'){\r\n\t\t\t\t //http://localhost:56749/api/BulkUpload/BulkUpdateLinkTickets?reqUserId=U310000000001\r\n\t\t\t\t $http.post(ApiURL + '/api/BulkUpload/BulkUpdateLinkTickets?reqUserId=' + loggedinUser, fd, {\r\n\t\t\t\t transformRequest: angular.identity,\r\n\t\t\t\t headers: { 'Content-Type': undefined, 'Token': token, 'UserId':loggedinUser },\r\n\t\t\t\t timeout: vm.canceler.promise\r\n\t\t\t\t})\r\n\t\t\t\t .success(function (data) {\r\n\t\t\t\t\t$(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n\t\t\t\t\tif (vm.bulkuploadType == 'user') {\r\n\t\t\t\t\t vm.users = data.Users;\r\n\t\t\t\t\t vm.noOfRecords = data.Users ? data.Users.length : 0;\r\n\t\t\t\t\t} else if (vm.bulkuploadType == 'customer') {\r\n\t\t\t\t\t vm.customers = data.Customers;\r\n\t\t\t\t\t vm.noOfRecords = data.Customers ? data.Customers.length : 0;\r\n\t\t\t\t\t} else if (vm.bulkuploadType == 'ticket') {\r\n\t\t\t\t\t vm.tickets = data.Tickets;\r\n\t\t\t\t\t vm.noOfRecords = data.Tickets ? data.Tickets.length : 0;\r\n\t\t\t\t\t}\r\n\t\t\r\n\t\t\t\t\t$(\"#dropzone1>div:last-child\").removeClass(\"dz-error\").addClass(\"dz-success\");\r\n\t\t\t\t\tif (data.Errors.length > 0) {\r\n\t\t\t\t\t vm.showErrors = true;\r\n\t\t\t\t\t // vm.dtColumnDefs = [];\r\n\t\t\t\t\t // for (var i = 0; i < data.Errors.length; i++) {\r\n\t\t\t\t\t // vm.dtColumnDefs.push(DTColumnDefBuilder.newColumnDef(i));\r\n\t\t\t\t\t // }\r\n\t\t\t\t\t vm.dtColumnDefs = [\r\n\t\t\t\t\t\tDTColumnDefBuilder.newColumnDef(0).notSortable()\r\n\t\t\t\t\t ];\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t angular.forEach(data.Errors, function (v, k) {\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t//errObj.ItemErrors = [];\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tif (v.ItemErrors.length>0) {\r\n\t\t\t\t\t\t angular.forEach(v.ItemErrors, function(d){\r\n\t\t\t\t\t\t\tvar errObj = {};\r\n\t\t\t\t\t\t\terrObj.TicketId = v.TicketId;\r\n\t\t\t\t\t\t\tif (d.ErrorMessage) {\r\n\t\t\t\t\t\t\t errObj.TestName = d.TemplateName;\r\n\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t errObj.ParameterName = d.ItemName;\r\n\t\t\t\t\t\t\t errObj.Error = d.ErrorMessage;\r\n\t\t\t\t\t\t\t errObj.row = d.row;\r\n\t\t\t\t\t\t\t errObj.col = d.col;\r\n\t\t\t\t\t\t\t vm.UpdateErrorList.push(errObj);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t }) \r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t//vm.UpdateErrorList.push(errObj);\r\n\t\t\t\t\t\t//console.log('vm.UpdateErrorList',vm.UpdateErrorList);\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t });\r\n\t\t\r\n\t\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t\t vm.disableUploadButton = true;\r\n\t\t\t\t\t vm.successTitle = \"Invalid records!\";\r\n\t\t\t\t\t vm.successMsg = \"There are \" + vm.UpdateErrorList.length + \" errors. To see them click here\";\r\n\t\t\t\t\t vm.noMsg = [];\r\n\t\t\t\t\t vm.showErrors = true;\r\n\t\t\t\t\t $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\t\t\t} else if (data.ErrorCode == 103) {\r\n\t\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t\t vm.disableUploadButton = true;\r\n\t\t\t\t\t vm.successTitle = \"Missing columns in excel file\";\r\n\t\t\t\t\t vm.successMsg = \"Following columns are missing in excel file. Please add them and re-upload file\";\r\n\t\t\t\t\t vm.noMsg = [];\r\n\t\t\t\t\t angular.forEach(data.MissingColumns, function (k, v) {\r\n\t\t\t\t\t\tvm.noMsg.push(k);\r\n\t\t\t\t\t });\r\n\t\t\t\t\t $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\t\t\t} else if (data.Message && data.Message.length>0) {\r\n\t\t\r\n\t\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t\t vm.disableUploadButton = true;\r\n\t\t\t\t\t vm.successTitle = \"Upload failed\";\r\n\t\t\t\t\t vm.successMsg = data.Message\r\n\t\t\t\t\t vm.noMsg = [];\r\n\t\t\t\t\t angular.forEach(data.MissingColumns, function (k, v) {\r\n\t\t\t\t\t\tvm.noMsg.push(k);\r\n\t\t\t\t\t });\r\n\t\t\t\t\t $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t\t vm.disableUploadButton = false;\r\n\t\t\t\t\t vm.successTitle = \"Upload completed\";\r\n\t\t\t\t\t vm.successMsg = \"All tickets have been uploaded successfully\";\r\n\t\t\t\t\t // vm.successMsg = \"You have successfully created \"+vm.bulkuploadType+\"s in bulk\";\r\n\t\t\t\t\t vm.noMsg = [];\r\n\t\t\t\t\t $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$(\"table th:first-child\").removeClass(\"sorting_asc\");\r\n\t\t\t\t\tvm.progressbar.complete();\r\n\t\t\t\t })\r\n\t\t\t\t .error(function (errorMessage) {\r\n\t\t\t\t\t$(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n\t\t\t\t\tvm.progressbar.complete();\r\n\t\t\t\t\tvm.showSuccess = true;\r\n\t\t\t\t\tvm.successTitle = \"Upload failed\";\r\n\t\t\t\t\tvm.successMsg = errorMessage.Message;\r\n\t\t\t\t\t$(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\t\t });\r\n\t\t\t\t}\r\n\t\t\t \r\n\t\t\t } else {\r\n\t\t\t\tvar url = verifyBulkPost.replace(\"{accountId}\", vm.userId);\r\n\t\t\t\t$http.post(url, fd, {\r\n\t\t\t\t transformRequest: angular.identity,\r\n\t\t\t\t headers: { 'Content-Type': undefined },\r\n\t\t\t\t timeout: vm.canceler.promise\r\n\t\t\t\t})\r\n\t\t\t\t .success(function (data) {\r\n\t\t\t\t\tif(data.errorCode==0 && data.result && data.result.success && data.result.success.length>0){\r\n\t\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t\t vm.disableUploadButton = false;\r\n\t\t\t\t\t vm.successTitle = \"Validation completed\";\r\n\t\t\t\t\t vm.successMsg = \"CMS content is validated successfully. Please click on start upload button to proceed.\";\r\n\t\t\t\t\t // vm.successMsg = \"You have successfully created \"+vm.bulkuploadType+\"s in bulk\";\r\n\t\t\t\t\t vm.noMsg = [];\r\n\t\t\t\t\t $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n\t\t\t\t\t vm.progressbar.complete();\r\n\t\t\r\n\t\t\t\t\t} else if(data.validationFlag==false && data.rowErrors){\r\n\t\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t\t vm.disableUploadButton = true;\r\n\t\t\t\t\t vm.successTitle = \"Invalid records!\";\r\n\t\t\t\t\t vm.successMsg = \"There are \" + data.rowErrors.length + \" errors. To see them click here\";\r\n\t\t\t\t\t vm.noMsg = [];\r\n\t\t\t\t\t vm.showErrors = true;\r\n\t\t\t\t\t $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\t\t\t if (data.rowErrors.length > 0) {\r\n\t\t\t\t\t\tvm.dtColumnDefs = [\r\n\t\t\t\t\t\t DTColumnDefBuilder.newColumnDef(0).notSortable()\r\n\t\t\t\t\t\t];\r\n\t\t\t\t\t\tangular.forEach(data.rowErrors, function (v, k) {\r\n\t\t\r\n\t\t\t\t\t\t if (v.error.length > 0) {\r\n\t\t\t\t\t\t\tvar e1 = {};\r\n\t\t\t\t\t\t\tangular.forEach(v.error, function (v1, k1) {\r\n\t\t\t\t\t\t\t e1.message = e1.message != undefined && e1.message != \"undefined\" && e1.message.length > 0 ? e1.message + \",\" + v1 : v1;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\te1.data=JSON.parse(v.content); \r\n\t\t\t\t\t\t\tvm.errorList.push(e1);\r\n\t\t\t\t\t\t }\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t }\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t\t vm.disableUploadButton = true;\r\n\t\t\t\t\t $(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n\t\t\t\t\t vm.progressbar.complete();\r\n\t\t\t\t\t vm.successTitle = \"Validation of records failed\";\r\n\t\t\t\t\t vm.successMsg = data.error+\". Please correct the data and re-upload file.\";\r\n\t\t\t\t\t $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\t\t\t vm.progressbar.complete();\r\n\t\t\t\t\t}\r\n\t\t\t\t })\r\n\t\t\t\t .error(function (errorMessage) {\r\n\t\t\t\t\tvm.showSuccess = true;\r\n\t\t\t\t\t$(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n\t\t\t\t\tvm.progressbar.complete();\r\n\t\t\t\t\tvm.successTitle = \"Validation of records failed\";\r\n\t\t\t\t\tvm.successMsg = \"Error in data validation, please correct the data and re-upload file\";\r\n\t\t\t\t\t$(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\t\t\tvm.progressbar.complete();\r\n\t\t\t\t });\r\n\t\t\t }\r\n\t\t\t},\r\n\t\t\t'success': function (file, xhr) {\r\n\t\t\t},\r\n\t\t\t'error': function (file, errorMessage) {\r\n\t\t\t}\r\n\t\t };\r\n\t\t\r\n\t\t vm.addFiles = function () {\r\n\t\t\t$(\"#dropzone1\").trigger(\"click\");\r\n\t\t }\r\n\t\t\r\n\t\t vm.uploadFile = function () {\r\n\t\t\tif (vm.users && vm.users.length > 0) {\r\n\t\t\r\n\t\t\t vm.progressbar.reset();\r\n\t\t\t vm.progressbar.start();\r\n\t\t\r\n\t\t\t $http.post(ApiURL + '/api/User/' + loggedinUser + '/UploadUsers',\r\n\t\t\t\tvm.users, {\r\n\t\t\t\t headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':loggedinUser }\r\n\t\t\t\t})\r\n\t\t\t\t.success(function (data) {\r\n\t\t\t\t console.log(data);\r\n\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t vm.disableUploadButton = true;\r\n\t\t\t\t vm.successTitle = \"Upload completed\";\r\n\t\t\t\t vm.successMsg = \"Users are created in bulk successfully\";\r\n\t\t\t\t vm.noMsg = [];\r\n\t\t\t\t $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n\t\t\r\n\t\t\t\t vm.progressbar.complete();\r\n\t\t\t\t})\r\n\t\t\t\t.error(function (errorMessage) {\r\n\t\t\t\t console.log(errorMessage)\r\n\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t vm.successTitle = \"Upload Failed\";\r\n\t\t\t\t vm.successMsg = errorMessage;\r\n\t\t\t\t vm.noMsg = [];\r\n\t\t\t\t $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\t\t vm.progressbar.complete();\r\n\t\t\t\t});\r\n\t\t\r\n\t\t\t} else if (vm.tickets && vm.tickets.length > 0) {\r\n\t\t\r\n\t\t\t vm.progressbar.reset();\r\n\t\t\t vm.progressbar.start();\r\n\t\t\t vm.disableUploadButton = true;\r\n\t\t\r\n\t\t\t $http.post(ApiURL + '/api/Ticket/{TicketRequestModels}/' + vm.userId + '/UploadTickets?action=Create',\r\n\t\t\t\tvm.tickets, {\r\n\t\t\t\t headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':vm.userId }\r\n\t\t\t\t})\r\n\t\t\t\t.success(function (data) {\r\n\t\t\t\t console.log(data);\r\n\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t vm.disableUploadButton = true;\r\n\t\t\t\t vm.successTitle = \"Upload completed\";\r\n\t\t\t\t vm.successMsg = \"Jobs are created in bulk successfully\";\r\n\t\t\t\t vm.noMsg = [];\r\n\t\t\t\t $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n\t\t\t\t vm.progressbar.complete();\r\n\t\t\t\t})\r\n\t\t\t\t.error(function (errorMessage) {\r\n\t\t\t\t console.log(errorMessage)\r\n\t\t\t\t vm.disableUploadButton = false;\r\n\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t vm.successTitle = \"Upload Failed\";\r\n\t\t\t\t vm.successMsg = errorMessage;\r\n\t\t\t\t vm.noMsg = [];\r\n\t\t\t\t $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\t\t vm.progressbar.complete();\r\n\t\t\t\t});\r\n\t\t\r\n\t\t\t} else if (vm.customers && vm.customers.length > 0) {\r\n\t\t\r\n\t\t\t vm.progressbar.reset();\r\n\t\t\t vm.progressbar.start();\r\n\t\t\r\n\t\t\t $http.post(ApiURL + '/api/Customer/{objCustomerRequestModels}/' + vm.userId + '/UploadCustomers',\r\n\t\t\t\tvm.customers, {\r\n\t\t\t\t headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':vm.userId }\r\n\t\t\t\t})\r\n\t\t\t\t.success(function (data) {\r\n\t\t\t\t console.log(data);\r\n\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t vm.successTitle = \"Upload completed\";\r\n\t\t\t\t vm.successMsg = \"Customers are created in bulk successfully\";\r\n\t\t\t\t vm.noMsg = [];\r\n\t\t\t\t $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n\t\t\t\t vm.progressbar.complete();\r\n\t\t\t\t})\r\n\t\t\t\t.error(function (errorMessage) {\r\n\t\t\t\t console.log(errorMessage)\r\n\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t vm.successTitle = \"Upload Failed\";\r\n\t\t\t\t vm.successMsg = errorMessage;\r\n\t\t\t\t vm.noMsg = [];\r\n\t\t\t\t $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\t\t vm.progressbar.complete();\r\n\t\t\t\t});\r\n\t\t\t} else if (vm.bulkuploadType == 'cms') {\r\n\t\t\t vm.progressbar.reset();\r\n\t\t\t vm.progressbar.start();\r\n\t\t\r\n\t\t\t var fd = new FormData();\r\n\t\t\t fd.append('file', vm.file);\r\n\t\t\t \r\n\t\t\t var url = addBulkPost.replace(\"{accountId}\", vm.userId).replace(\"{userId}\", vm.userId);\r\n\t\t\t $http.post(url, fd, {\r\n\t\t\t\ttransformRequest: angular.identity,\r\n\t\t\t\theaders: { 'Content-Type': undefined }\r\n\t\t\t })\r\n\t\t\t\t.success(function (data) {\r\n\t\t\t\t console.log(data);\r\n\t\t\t\t if (data.errorCode > 0) {\r\n\t\t\t\t\tvm.showSuccess = true;\r\n\t\t\t\t\tvm.successTitle = \"Upload Failed\";\r\n\t\t\t\t\tvm.successMsg = data.error;\r\n\t\t\t\t\tvm.noMsg = [];\r\n\t\t\t\t\t$(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\t\t\tvm.progressbar.complete();\r\n\t\t\r\n\t\t\t\t } else if (data.result && data.result.success) {\r\n\t\t\t\t\tvm.showSuccess = true;\r\n\t\t\t\t\tvm.successTitle = \"Upload completed\";\r\n\t\t\t\t\tvm.successMsg = \"Products are created in bulk successfully\";\r\n\t\t\t\t\tvm.noMsg = [];\r\n\t\t\t\t\t$(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n\t\t\t\t\tvm.progressbar.complete();\r\n\t\t\t\t } else {\r\n\t\t\t\t\tvm.showSuccess = true;\r\n\t\t\t\t\tvm.successTitle = \"Upload Failed\";\r\n\t\t\t\t\tvm.successMsg = \"Technical problem\";\r\n\t\t\t\t\tvm.noMsg = [];\r\n\t\t\t\t\t$(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\t\t\tvm.progressbar.complete();\r\n\t\t\t\t }\r\n\t\t\t\t})\r\n\t\t\t\t.error(function (errorMessage) {\r\n\t\t\t\t console.log(errorMessage)\r\n\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t vm.successTitle = \"Upload Failed\";\r\n\t\t\t\t vm.successMsg = errorMessage;\r\n\t\t\t\t vm.noMsg = [];\r\n\t\t\t\t $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\t\t vm.progressbar.complete();\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t }\r\n\t\t vm.selectedItems = {}; \r\n\r\n // vm.toggleSelectAll = function () {\r\n // angular.forEach(vm.paymentstatusList, function (item) {\r\n // vm.selectedItems[item] = vm.checkedAll;\r\n // });\r\n // };\r\n \r\n // vm.toggleSingleSelection = function (partId) {\r\n // vm.checkedAll = vm.paymentstatusList.every(function (item) {\r\n // return vm.selectedItems[item];\r\n // });\r\n // };\r\n\t\tvm.Acceptancemodel = function (requestDetails) {\r\n\t\t\tvm.showPartDetails=false;\r\n\t\t\tvm.AllRequestDetail = requestDetails;\r\n\t\t\tvm.updateStatusModelOpen = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'acceptancepopup.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\t\t$scope.uploadImageForNotice = function (files) {\r\n\t\t\tvm.FileName = \"\";\r\n\t\t\tvm.FilesDoc = files.files[0];\r\n\t\t\tvm.FileName = vm.FilesDoc.name;\r\n\t\t\tvm.FileSize = vm.FilesDoc.size;\r\n\t\t \r\n\t\t\t// Allowed file extensions (Images: jpg, jpeg, png, jfif and Documents: pdf, doc, docx)\r\n\t\t\tvar allowedExtensions = /(\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png|\\.JFIF|\\.jfif|\\.PDF|\\.pdf|\\.DOC|\\.doc|\\.DOCX|\\.docx)$/i;\r\n\t\t \r\n\t\t\t// Validate file extension\r\n\t\t\tif (!allowedExtensions.exec(vm.FileName)) {\r\n\t\t\t vm.FilesDoc = [];\r\n\t\t\t vm.clear();\r\n\t\t\t alert('Please upload a file with extensions .jpg, .jpeg, .png, .jfif, .pdf, .doc, or .docx only.');\r\n\t\t\t}\r\n\t\t \r\n\t\t\t// Optional: You can re-enable the file size check if needed (e.g., for 1MB max file size)\r\n\t\t\t// var allowedFileSize = 1000000; // 1MB\r\n\t\t\t// if(vm.FileSize > allowedFileSize) {\r\n\t\t\t// vm.FilesDoc = [];\r\n\t\t\t// vm.clear(); \r\n\t\t\t// alert('File size cannot exceed 1MB');\r\n\t\t\t// }\r\n\t\t };\r\n\t\t \r\n\t\t // Function to clear the file input\r\n\t\t vm.clear = function () {\r\n\t\t\tangular.element(\"input[type='file']\").val(null);\r\n\t\t };\r\n\t\t \r\n\t \r\n\t\t vm.clear = function () {\r\n\t\t\tangular.element(\"input[type='file']\").val(null);\r\n\t\t };\r\n\t\t// vm.CloseAcceptanceModel = function () {\r\n\t\t// \tvm.updateStatusModelOpen.close();\r\n\t\t// \tvm.DisableCreateButton(false);\r\n\t\t// \tvm.UpdateOrderStatus = \"\";\r\n\t\t// \tvm.TrackingLink = \"\";\r\n\t\t// \tvm.strPackageId = \"\";\r\n\t\t// \tvm.strPackageStatus = \"\";\r\n\t\t// \tvm.strPackageTrackingId = \"\";\r\n\t\t// \tvm.strShipmentId = \"\";\r\n\t\t// \tvm.PackageDetails = [];\r\n\t\t// \tvm.datePackedOn = moment().format(\"YYYY-MM-DD\");\r\n\t\t// }\r\n\r\n\t\r\n\r\n\t}\r\n});\nangular.module('inspinia').service('ReportLatestService', function (ApiURL, $log, $http, $localStorage) {\r\n\r\n\r\n\r\n});\r\n\nangular.module('inspinia').controller('ReportLatestController', function (ReportLatestService,ReportCreationService, $stateParams, $uibModal, $scope, $log, $state, $localStorage) {\r\n var vm = this;\r\n if (!$localStorage.loggedInUserId) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n } else {\r\n \r\n}\r\n});\nangular.module('inspinia').service('ReportDownloadService', function (ApiURL, $http, DashboardURL, $window, PublicApiURL) {\r\n\r\n var vm = this;\r\n\r\n this.getAllReportsByUserId = function (loggedinUser, token) {\r\n var url = DashboardURL + '/api/S3ReportMapper/GetReportNameByUserId';\r\n return $http.get(url, {\r\n headers: { \r\n 'Token': token, \r\n 'UserId':loggedinUser \r\n }\r\n });\r\n }\r\n\r\n this.GetReportColumnsByReportName = function (data, loggedinUser, token) {\r\n var url = DashboardURL + '/api/S3ReportMapper/GetReportColumnsByReportName';\r\n return $http.put(url,data, {\r\n headers: { \r\n 'Token': token, \r\n 'UserId':loggedinUser \r\n }\r\n });\r\n }\r\n\r\n this.GetCustomersByAccount = function (loggedinUser, accountId, token) {\r\n var url = ApiURL + '/api/Customer/GetCustomerByAccountId?accountId=' + accountId\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json','Token':token,'UserId': loggedinUser }\r\n })\r\n }\r\n\r\n this.GenerateReports = function (data, loggedinUser, token) {\r\n var url = DashboardURL + '/api/S3ReportMapper/GenerateReport';\r\n return $http.post(url,data, {\r\n headers: { \r\n 'Token': token, \r\n 'UserId':loggedinUser \r\n }\r\n });\r\n }\r\n\r\n // https://pro.mymobiforce.com/dashboardapi/api/S3ReportMapper/DownloadS3Report?ReportIdOnS3=tushar tst_U1140000000001_22082017375529\r\n\r\n this.DownloadReport = function (ReportIdOnS3, loggedinUser, token) { \r\n var url = DashboardURL + \"/api/S3ReportMapper/DownloadS3Report?ReportIdOnS3=\" + ReportIdOnS3; \r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.getAllAccounts = function (loggedinUser,token) { \r\n var url = ApiURL+ '/api/CentralHelpDesk/GetAllAccountHDConfig';\r\n return $http.get(url, {\r\n headers: { \r\n 'Content-Type': 'application/json',\r\n 'Token':token , \r\n 'UserId':loggedinUser\r\n \r\n }\r\n });\r\n }\r\n\r\n // this.DownloadReport = function (ReportIdOnS3) { \r\n // var url = PublicApiURL + \"/api/Report/DownloadS3Report?ReportIdOnS3=\" + ReportIdOnS3; \r\n // $window.open(url, \"_blank\");\r\n // }\r\n\r\n this.GetAllgeneratedReport = function (loggedinUser,token,itemNames,itemValues,uPageIndex,uPageSize,DataFeild,startDate,endDate) {\r\n var url = DashboardURL + '/api/S3ReportMapper/GetAllReportsByUserId?filteritem=' + itemNames + '&filterValue=' + itemValues +'&PageIndex=' + uPageIndex + '&PageSize=' + uPageSize + '&DataFeild='+ DataFeild + '&startDate=' + startDate + '&endDate=' + endDate;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n } \r\n\r\n\r\n});\r\n\nangular.module('inspinia').controller('ReportDownloadController', function ($uibModal,ReportDownloadService, $compile, MainService, $timeout,$location,$window, $stateParams, DTOptionsBuilder, DTColumnBuilder, $scope, $state, $log, ReportService, $localStorage, DashboardURL, $q,$http,$rootScope) {\r\n var vm = this;\r\n\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n if (!loggedinUser) {\r\n\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n var token = $localStorage.token;\r\n vm.accountConfig = $localStorage.accountConfig;\r\n vm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.users = [];\r\n startDate = '';\r\n endDate = '';\r\n var uPageIndex = 1;\r\n var uPageSize = 10; \r\n var uitemNames=\"\";\r\n var uitemValues=\"\";\r\n vm.OrderBy = \"CreatedOn\";\r\n vm.sorttype = \"desc\";\r\n vm.DateField=\"StatusChangedOn\";\r\n vm.reportnames='';\r\n vm.FilterStatus=\"All\";\r\n vm.Reportname = \"\";\r\n vm.reportsLength=0;\r\n vm.reportPageListCount= 10;\r\n vm.pageListCounts = [10, 20, 30, 50];\r\n var startDate = moment().subtract(7, 'days').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.reportNametoGen = '';\r\n vm.ReportByAccountName = [];\r\n vm.HDAllAccounts = [];\r\n $log.log('$stateParams.start_date',$stateParams.start_date);\r\n \r\n\r\n if (moment().quarter() === 2) {\r\n thisFiscalStart = moment().month('April').startOf('month');\r\n thisFiscalEnd = moment().add(1, 'year').month('March').endOf('month');\r\n } else {\r\n thisFiscalStart = moment().subtract(1, 'year').month('April').startOf('month');\r\n thisFiscalEnd = moment().month('March').endOf('month');\r\n };\r\n\r\n vm.reportdates = { startDate: moment().subtract(7, 'day'), endDate: moment() };\r\n $scope.ranges = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n 'This year': [thisFiscalStart, thisFiscalEnd], \r\n 'Till now': [moment().subtract(5, 'years'), moment()]\r\n };\r\n\r\n vm.genreportdates = { startDate: moment(), endDate: moment() };\r\n vm.ranges1 = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n 'This year': [thisFiscalStart, thisFiscalEnd], \r\n 'Till now': [moment().subtract(5, 'years'), moment()]\r\n };\r\n\r\n vm.dateRangeChange = function (ev, picker) {\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n vm.GetAllgenReport(loggedinUser, token, uitemNames, uitemValues, uPageIndex, uPageSize ,vm.OrderBy, startDate, endDate);\r\n };\r\n\r\n vm.outsidedateRangeChange = function (ev, picker) { \r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n };\r\n\r\n\r\n getAllReports();\r\n\r\n function getAllReports() {\r\n ReportDownloadService.getAllReportsByUserId(loggedinUser, token).then(function (resp) {\r\n if(resp.status == 200){\r\n if(resp.data && resp.data.length>0){\r\n vm.reportType = resp.data;\r\n }\r\n }\r\n })\r\n }\r\n\r\n vm.getAllReportsColumn = function (ReportType) {\r\n vm.ReportType = ReportType;\r\n if(ReportType== \"\"){\r\n vm.showFailure(\"Failed\", \"Please select report name that needs to be generated\");\r\n }\r\n else {\r\n var data = {\r\n \"ReportName\": vm.ReportType\r\n } \r\n ReportDownloadService.GetReportColumnsByReportName(data,loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.reportColumnsdata = resp.data;\r\n vm.reportCol = vm.reportColumnsdata.ColumnObject;\r\n vm.selectAllColumns = true;\r\n vm.showMinusColumns = false;\r\n openModal = $uibModal.open({\r\n templateUrl: 'customModal.html',\r\n size: 'lg',\r\n scope: $scope,\r\n controller: function ($scope, $uibModalInstance) {\r\n $scope.ok = function () {\r\n $uibModalInstance.close();\r\n \r\n };\r\n $scope.cancel = function () {\r\n $uibModalInstance.dismiss('cancel');\r\n };\r\n }\r\n });\r\n }\r\n\r\n }, function () {\r\n \r\n });\r\n } \r\n }\r\n\r\n vm.getAllAccounts = function ( ) {\r\n ReportDownloadService.getAllAccounts(loggedinUser, token).then(function (resp) { \r\n if (resp && resp.data) { \r\n if(resp.status==200)\r\n {\r\n vm.HDAllAccounts = resp.data;\r\n \r\n }\r\n } \r\n }, function () { \r\n });\r\n }\r\n vm.getAllAccounts();\r\n\r\n vm.implementSelectItemsTickets = function (itemList1, scope1) { \r\n scope1.selectAllColumns = true; \r\n scope1.showMinusColumns = false;\r\n scope1.selectRow1 = function (i) { \r\n scope1.selectAllColumns = false; \r\n scope1.showMinusColumns = false;\r\n for(var i=0; i< scope1.reportCol.length;i++){\r\n scope1.showMinusColumns = true;\r\n var tempTickets = scope1.reportCol[i];\r\n if(tempTickets.checked1) { \r\n scope1.showMinusColumns = true;\r\n }\r\n }\r\n }\r\n scope1.applyAllColumnsSelect = function () {\r\n angular.forEach(scope1[itemList1], function (d) {\r\n d.checked1 = scope1.selectAllColumns;\r\n });\r\n } \r\n }\r\n vm.implementSelectItemsTickets('reportCol', this);\r\n\r\n vm.generateReport = function () {\r\n var ColumnListModel = [];\r\n for (var colIndex = 0; colIndex < vm.reportCol.length; colIndex++) {\r\n if(vm.reportCol[colIndex].checked1){ \r\n ColumnListModel.push(vm.reportCol[colIndex]);\r\n ColumnListModel.forEach(function (element,i) {\r\n delete element.checked1;\r\n });\r\n }\r\n }\r\n vm.SelectedAccounts=[];\r\n angular.forEach(vm.HDAllAccounts, function (account) {\r\n angular.forEach(vm.ReportByAccountName, function (accountName) {\r\n if (account.AccountName == accountName) {\r\n vm.SelectedAccounts.push(account.AccountId);\r\n }\r\n }) \r\n }) \r\n \r\n var data = {\r\n \"ReportName\": vm.reportNametoGen,\r\n \"ReportType\": vm.ReportType,\r\n \"Account\" : vm.SelectedAccounts,\r\n \"Customer\" : vm.SearchByCName,\r\n \"Project\" : vm.SearchByPName,\r\n \"Status\" : vm.FilterStatus,\r\n \"EndDate\": moment(vm.genreportdates.endDate).format('YYYY-MM-DD'),\r\n \"StartDate\": moment(vm.genreportdates.startDate).format('YYYY-MM-DD'),\r\n \"ColumnObject\": ColumnListModel,\r\n } \r\n ReportDownloadService.GenerateReports(data,loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\",\"Report Generated Successfully.\"); \r\n $timeout(function () {\r\n vm.GetAllgenReport();\r\n vm.ResetUserFilter();\r\n }, 5000); \r\n } \r\n else {\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }\r\n });\r\n }\r\n\r\n vm.GetCustomerByAccount=function(){ \r\n var SelectedAccountId = '';\r\n angular.forEach(vm.HDAllAccounts, function (account) {\r\n if (account.AccountName==vm.ReportByAccountName) {\r\n SelectedAccountId = account.AccountId; \r\n }\r\n })\r\n ReportDownloadService.GetCustomersByAccount(loggedinUser,SelectedAccountId,token).then(function(resp){\r\n vm.CustomerList = resp.data;\r\n })\r\n }\r\n\r\n vm.GetProjectByCustomer=function(){\r\n vm.ProjectListByCust=[];\r\n angular.forEach(vm.CustomerList, function (customer) {\r\n if (customer.CompanyName==vm.SearchByCName) {\r\n vm.ProjectListByCust = customer.Projects; \r\n }\r\n })\r\n }\r\n\r\n vm.statusList=[\"Broadcasted\",\"Cancelled\",\"Assigned\", \"New\",\"Hold\", \"ReadyToAssign\", \"Rejected\",\"Approved\",\"Completed\",\"AssignedNoAction\", \"ScheduleException\",\"AddressException\",\"PriceException\"];\r\n\r\n\r\n vm.UsersFilterArray = function()\r\n {\r\n uitemNames=\"\";\r\n uitemValues=\"\";\r\n\r\n if (vm.reportnames) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',ReportName';\r\n uitemValues = uitemValues + \",\" + vm.reportnames.join('|');\r\n }\r\n else\r\n {\r\n uitemNames = 'ReportName';\r\n uitemValues = vm.reportnames.join('|');\r\n } \r\n }\r\n }\r\n\r\n vm.ResetUserFilter = function () { \r\n vm.reportNametoGen = '';\r\n vm.ReportByAccountName = [];\r\n vm.genreportdates.endDate;\r\n vm.genreportdates.startDate;\r\n ColumnListModel = [];\r\n vm.SelectedAccounts = [];\r\n vm.SearchByCName = '';\r\n vm.SearchByPName = '';\r\n vm.FilterStatus = 'All'\r\n }\r\n\r\n vm.UsersFilterArray(); \r\n vm.ReportByFiltersList=[];\r\n vm.reportDetails = [];\r\n vm.GetAllgenReport = function () {\r\n ReportDownloadService.GetAllgeneratedReport(loggedinUser, token, uitemNames, uitemValues, uPageIndex, uPageSize,vm.OrderBy, startDate, endDate).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.statusCount = resp.data;\r\n vm.ReportByFiltersList = resp.data.ReportList;\r\n $scope.totalReports = vm.statusCount.Count;\r\n if(vm.ReportByFiltersList.length < vm.reportPageListCount)\r\n vm.reportListLength = $scope.totalReports;\r\n else\r\n vm.reportListLength = uPageIndex * vm.reportPageListCount;\r\n if(uPageIndex==1)\r\n vm.upageindexCount = 1;\r\n else\r\n vm.upageindexCount = (((uPageIndex-1) * vm.reportPageListCount) + 1);\r\n }\r\n })\r\n }\r\n\r\n vm.GetAllgenReport();\r\n\r\n $scope.totalReports = 0;\r\n $scope.reportsPerPage = vm.reportPageListCount;\r\n $scope.Userpagination = {\r\n current: 1\r\n };\r\n\r\n vm.changeUserPageListCount = function() { \r\n $scope.reportsPerPage = vm.reportPageListCount;\r\n uPageSize = $scope.reportsPerPage;\r\n $scope.UserTablePageChanged($scope.Userpagination.current);\r\n uPageIndex=$scope.Userpagination.current;\r\n $scope.UserTablePageChanged = function(newPage) { \r\n uPageIndex = newPage;\r\n vm.UsersFilterArray(); \r\n vm.GetAllgenReport(loggedinUser, token, uitemNames, uitemValues, uPageIndex, uPageSize, startDate, endDate,vm.OrderBy);\r\n\r\n };\r\n }\r\n uPageIndex=$scope.Userpagination.current;\r\n $scope.UserTablePageChanged = function(newPage) { \r\n uPageIndex = newPage;\r\n vm.UsersFilterArray(); \r\n vm.GetAllgenReport(loggedinUser, token, uitemNames, uitemValues, uPageIndex, uPageSize, startDate, endDate,vm.OrderBy);\r\n\r\n };\r\n\r\n vm.applyUserFilter= function(){\r\n vm.UsersFilterArray();\r\n uPageIndex=1;\r\n $scope.Userpagination = {\r\n current: 1\r\n }; \r\n vm.GetAllgenReport(loggedinUser, token, uitemNames, uitemValues, uPageIndex, uPageSize, startDate, endDate,vm.OrderBy);\r\n }\r\n\r\n vm.GetListPersistentReports = function (loggedInUserId) {\r\n ReportDownloadService.ListPersistentReports(loggedInUserId, token).then(function (resp) {\r\n if (resp.data) {\r\n vm.ReportList = resp.data;\r\n }\r\n })\r\n }\r\n\r\n vm.downloadPersistentReport = function (ReportIdOnS3) { \r\n ReportDownloadService.DownloadReport(ReportIdOnS3, loggedinUser, token).then(function(resp){ \r\n if (resp && resp.status == 200) { \r\n vm.responseData = resp.data;\r\n var blob = new Blob([vm.responseData],{\r\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\r\n });\r\n saveAs(blob, ReportIdOnS3 +\".csv\");\r\n }\r\n else{\r\n vm.showFailure(\"Failure\", \"Unable to Downloaded due to server issue\");\r\n }\t\t\t\r\n })\r\n }\r\n\r\n vm.implementSelectItemsRG = function (itemList, scope) {\r\n scope.selectAllColumn = false;\r\n scope.showMinusRG = false;\r\n scope.selectCountRG = 0;\r\n scope.selectRowRG = function (i) {\r\n scope.selectCountRG = 0;\r\n scope.showMinusRG = false;\r\n scope.selectAllColumn = false;\r\n angular.forEach(vm.ColumnsList, function (d) {\r\n if (d.checked) {\r\n scope.showMinusRG = true;\r\n scope.selectCountRG++;\r\n }\r\n });\r\n }\r\n scope.applyAllRGSelect = function () {\r\n angular.forEach(scope[itemList], function (d) {\r\n d.checked = scope.selectAllColumn;\r\n scope.selectCountRG++;\r\n });\r\n }\r\n }\r\n\r\n vm.implementSelectItemsRG('ColumnsList', this);\r\n }\r\n\r\n});\r\n\r\n\nangular.module(\"inspinia\").controller(\"reportDetailShareController\", function ($uibModal, $window,DashboardURL, $compile, MainService, $scope, $log, $q,dashboardReportListService, DTOptionsBuilder, DTColumnBuilder, $timeout, $localStorage,$state, $stateParams, reportDetailService) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n\r\n if(!loggedinUser)\r\n {\r\n loggedinUser = $stateParams.userid;\r\n }\r\n\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n vm.DocumentType = $stateParams.Type;\r\n vm.ReportId = $stateParams.report_id;\r\n vm.ReportName = '';\r\n var token = $localStorage.token;\r\n\r\n if(!token)\r\n {\r\n token = $stateParams.token;\r\n }\r\n\r\n vm.showSuccess = function (title, body) {\r\n if (title) {\r\n vm.toaster_success.title = title;\r\n } if (body) {\r\n vm.toaster_success.body = body;\r\n }\r\n toaster.pop(vm.toaster_success);\r\n }\r\n\r\n vm.showFailure = function (title, body) {\r\n if (title) {\r\n vm.toaster_fail.title = title;\r\n } if (body) {\r\n vm.toaster_fail.body = body;\r\n }\r\n toaster.pop(vm.toaster_fail);\r\n }\r\n\r\n $scope.isLayoutEditable = false;\r\n vm.AllFieldList = [];\r\n vm.AllValues = [];\r\n vm.tableCharts = {};\r\n vm.deepLink = {};\r\n vm.valueClass = {};\r\n vm.profileImg = '';\r\n var intialLoad = true;\r\n vm.users = [];\r\n vm.filename = '';\r\n vm.report_title = \"\";\r\n vm.attachReportInMailBody = true;\r\n vm.attachReportInExcel = true;\r\n //vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n //vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n vm.filter_key = $stateParams.filter_key ? $stateParams.filter_key : \"\";\r\n vm.isData = $stateParams.isData ? $stateParams.isData : false;\r\n vm.key = $stateParams.key ? $stateParams.key : \"\";\r\n vm.filter_name = $stateParams.filter_name ? $stateParams.filter_name : \"\";\r\n vm.additionalInfo = $stateParams.end_date ? $stateParams.end_date : \"\";\r\n var today = new Date();\r\n var formattedDate = today.toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric' });\r\n // vm.defaultMailBody = \"Hello,\\n\\nYou are requested to view project report on below link \\n\\n\" + $window.location.href + \" \\n\\nThanks\\nMobiforce Team\";\r\n vm.defaultMailBody = 'Hello User,\\n\\nPlease find report ' + vm.SharedReportName + 'on ' + formattedDate + '\\n\\nThanks\\nMobiforce Team';\r\n //var creationDatefunc = $scope.$parent.$parent.main.AccountStartDate;\r\n //vm.accountCreationDate = creationDatefunc();\r\n vm.accountCreationDate = moment(\"2017-04-01\");\r\n vm.tableCharts = {};\r\n vm.selectDimension = {};\r\n vm.dashboard_data = {};\r\n vm.metricsCharts = {};\r\n vm.tableCharts = {};\r\n vm.lineCharts = {};\r\n vm.pieCharts = {};\r\n vm.barCharts = {};\r\n vm.stackedCharts = {};\r\n var start_date = '';\r\n var thisFiscalStart = '';\r\n var thisFiscalEnd = '';\r\n vm.BusinessUnit = '';\r\n vm.State = '';\r\n vm.Skill = '';\r\n vm.Account = '';\r\n vm.filterKeys = '';\r\n vm.filterValues = '';\r\n var total = 'Total';\r\n\r\n if (moment().quarter() === 2) {\r\n thisFiscalStart = moment().month('April').startOf('month');\r\n thisFiscalEnd = moment().add(1, 'year').month('March').endOf('month');\r\n } else {\r\n thisFiscalStart = moment().subtract(1, 'year').month('April').startOf('month');\r\n thisFiscalEnd = moment().month('March').endOf('month');\r\n };\r\n\r\n\r\n vm.shareModel = {\r\n selectedUsers: [],\r\n toList: [],\r\n ccList: [],\r\n bccList: [],\r\n content: vm.defaultMailBody\r\n };\r\n vm.monthNames3 = [\"JAN\", \"FEB\", \"MAR\", \"APR\", \"MAY\", \"JUN\",\r\n \"JUL\", \"AUG\", \"SEP\", \"OCT\", \"NOV\", \"DEC\"\r\n ];\r\n\r\n vm.scheduleModel = {\r\n frequency: \"once\",\r\n once: \"once\",\r\n daily: \"daily\",\r\n weekly: \"weekly\",\r\n every_15_days: \"every_15_days\",\r\n monthly: \"monthly\",\r\n cronExpression: \"expression\",\r\n input_for_month: {\r\n option: \"start_of_day\",\r\n start_of_day: \"start_of_day\",\r\n end_of_day: \"end_of_day\",\r\n specific_date: \"specific_date\",\r\n date: 1\r\n },\r\n specific_date_range: [],\r\n start_date: moment(),\r\n end_date: moment().add(1, 'M'),\r\n attachReportInMailBody: true,\r\n attachReportInExcel: true,\r\n scheduleTime: \"\",\r\n scheduleName: \"\",\r\n reportNameAlreadyExists: false,\r\n reportNameMendtryErr: false,\r\n toListMendtryErr: false,\r\n timeMendtryErr: false,\r\n sampleDateMendtryErr: false,\r\n pull_data: {\r\n range: \"last_day\",\r\n day: \"last_day\",\r\n week: \"last_week\",\r\n month: \"last_month\",\r\n quarter: \"last_quarter\",\r\n current_month: \"current_month\",\r\n specific: \"specific\",\r\n specific_day_value: 1,\r\n calculate_range: function () {\r\n //$log.log(vm.scheduleModel.pull_data.range);\r\n var today = new Date();\r\n if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.day) {\r\n var date = today;\r\n return date.getDate() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear();\r\n } if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.week) {\r\n var date = new Date(today.getFullYear(), today.getMonth(), today.getDate() - 7);\r\n return date.getDate() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth() + 1) + \"-\" + today.getFullYear();\r\n } if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.month) {\r\n var date = new Date(today.getFullYear(), today.getMonth() - 1, today.getDate());\r\n return date.getDate() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth() + 1) + \"-\" + today.getFullYear();\r\n } if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.quarter) {\r\n var date = new Date(today.getFullYear(), today.getMonth() - 3, today.getDate());\r\n return date.getDate() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth() + 1) + \"-\" + today.getFullYear();\r\n }\r\n if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.current_month) {\r\n var date = new Date(today.getFullYear(), today.getMonth(), today.getDate());\r\n return 1 + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth() + 1) + \"-\" + today.getFullYear();\r\n }\r\n if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.specific) {\r\n //$log.log(vm.scheduleModel.pull_data.specific_day_value)\r\n var date = new Date(today.getFullYear(), today.getMonth(), today.getDate() - vm.scheduleModel.pull_data.specific_day_value);\r\n return date.getDate() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth() + 1) + \"-\" + today.getFullYear();\r\n }\r\n }\r\n }\r\n };\r\n\r\n for (var i = 1; i < 32; i++) {\r\n vm.scheduleModel.specific_date_range.push({ value: i, label: i });\r\n }\r\n $scope.ranges = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment()]\r\n };\r\n\r\n $scope.dashboardranges = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Payment week': [moment().startOf('week').isoWeekday(1), moment().endOf('week').isoWeekday(0)],\r\n // 'Last week': [moment().subtract(1, 'weeks').startOf('week').isoWeekday(1), moment().subtract(1, 'weeks').endOf('week').isoWeekday(0)], \r\n 'This week': [moment().startOf('week'), moment().endOf('week')],\r\n 'Last week': [moment().subtract(1, 'weeks').startOf('week'), moment().subtract(1, 'weeks').endOf('week')],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n 'Last month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')],\r\n // 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This quater': [moment().startOf('quarter'), moment().endOf('quarter')],\r\n 'Last quater': [moment().subtract(1, 'quarters').startOf('quarter'), moment().subtract(1, 'quarters').endOf('quarter')],\r\n 'This year': [thisFiscalStart, thisFiscalEnd],\r\n 'Till now': [moment().subtract(5, 'years'), moment()]\r\n };\r\n\r\n\r\n $scope.dateRangeChange = function (ev, picker) {\r\n var startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n var endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n vm.AllValues = [];\r\n vm.rollup = \"Range(\" + startDate + \"|\" + endDate + \")\";\r\n if (vm.DocumentType == 'dashboard') {\r\n vm.getDashboard($stateParams.report_name);\r\n intialLoad = false;\r\n }\r\n else if (vm.DocumentType == 'report') {\r\n vm.getCustomerReport($stateParams.report_id);\r\n }\r\n vm.tableCharts = {};\r\n };\r\n\r\n $scope.filterRangeChange = function (ev, picker) {\r\n vm.filterstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n vm.filterendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n };\r\n $log.log('$stateParams.start_date', $stateParams.start_date);\r\n if ($stateParams.start_date) { \r\n var startDate = $scope.dashboardranges[$stateParams.start_date][0].format(\"YYYY-MM-DD\");\r\n var endDate = $scope.dashboardranges[$stateParams.start_date][1].format(\"YYYY-MM-DD\");\r\n vm.rollup = \"Range(\" + startDate + \"|\" + endDate + \")\";\r\n $scope.dates = { startDate: startDate, endDate: endDate };\r\n } else if (vm.isData) {\r\n if ($stateParams.start_date == '' || $stateParams.start_date == null) {\r\n $scope.dates = { startDate: vm.accountCreationDate, endDate: moment() };\r\n var startDate = vm.accountCreationDate;\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.rollup = \"Range(\" + startDate + \"|\" + endDate + \")\";\r\n }\r\n } else {\r\n $scope.dates = { startDate: moment().subtract(0, 'days'), endDate: moment() };\r\n var startDate = moment().subtract(0, 'days').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.rollup = \"Range(\" + startDate + \"|\" + endDate + \")\";\r\n }\r\n //vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n //vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n vm.filter_key = $stateParams.filter_key ? $stateParams.filter_key : \"\";\r\n vm.isData = $stateParams.isData ? $stateParams.isData : false;\r\n vm.key = $stateParams.key ? $stateParams.key : \"\";\r\n vm.filter_name = $stateParams.filter_name ? $stateParams.filter_name : \"\";\r\n //vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.createCallback = function (modelObj, callbacks) {\r\n return function (data) {\r\n if (modelObj && data) {\r\n modelObj.extend(data);\r\n }\r\n if (callbacks) {\r\n angular.forEach(callbacks, function (d) {\r\n if (d) {\r\n d(data);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n $scope.dragoverCallback = function (index, external, type, callback) {\r\n $scope.logListEvent('dragged over', index, external, type);\r\n // Invoke callback to origin for container types.\r\n if (type == 'container' && !external) {\r\n console.log('Container being dragged contains ' + callback() + ' items');\r\n }\r\n return index < 10; // Disallow dropping in the third row.\r\n };\r\n\r\n $scope.order = [];\r\n var currentIndex = 0;\r\n $scope.dropCallback = function (index, item, external, type) {\r\n $scope.logListEvent('dropped at', index, item, external, type);\r\n $scope.order = vm.AllValuesOriginalIndex;\r\n var currentIndex = $scope.order.indexOf(item.chartId);\r\n // If the item is already in the order array, remove it from the current position\r\n if (currentIndex !== -1) {\r\n $scope.order.splice(currentIndex, 1);\r\n }\r\n // Insert the item at the new position\r\n $scope.order.splice(index, 0, item.chartId);\r\n console.log($scope.order);\r\n return item;\r\n }; \r\n\r\n $scope.logEvent = function (message) {\r\n console.log(message);\r\n };\r\n\r\n $scope.logListEvent = function (action, index, external, type) {\r\n var message = external ? 'External ' : '';\r\n message += type + ' element was ' + action + ' position ' + index;\r\n console.log(message);\r\n };\r\n\r\n // Initialize model\r\n // $scope.model = [[]];\r\n var id = 10;\r\n angular.forEach(vm.metricsChart, function (container) {\r\n var container = { items: [], effectAllowed: effect };\r\n for (var k = 0; k < 7; ++k) {\r\n container.items.push({ label: effect + ' ' + id++, effectAllowed: \"all\" });\r\n }\r\n });\r\n\r\n $scope.$watch(vm.metricsChart, function (model) {\r\n $scope.modelAsJson = angular.toJson(model, true);\r\n }, true);\r\n\r\n\r\n vm.dashboardCallback = vm.createCallback(null, [function (data) {\r\n vm.dashboard_data = data;\r\n\r\n if (data && data.DashboardFilters) {\r\n vm.enableFilter = true;\r\n vm.updateDefaultDateFilter(data.DashboardFilters);\r\n //vm.getFilerValues(data.DashboardFilters.FilterList); \r\n }\r\n else {\r\n vm.enableFilter = false;\r\n vm.updateDefaultDateFilter(null);\r\n }\r\n\r\n angular.forEach(data.ChartModel, function (d) {\r\n\r\n if (d.ClickableColumns != null && d.ClickableColumns.length > 0) {\r\n angular.forEach(d.ClickableColumns, function (cl) {\r\n if (cl.Link == \"ProjectSummary\") {\r\n vm.deepLink[cl.ColumnName + \" \" + d.ChartId] = function () {\r\n return \"index.Report({report_name:'ProjectSummary', key:'\" + cl.KeyName + \"'})\";\r\n }\r\n } else if (cl.Link == \"CustomerSummary\") {\r\n vm.deepLink[cl.ColumnName + \" \" + d.ChartId] = function () {\r\n\r\n return \"index.Report({report_name:'CustomerSummary', key:'\" + cl.KeyName + \"'})\";\r\n }\r\n } else if (cl.Link == \"DashboardReport\") {\r\n\r\n vm.deepLink[cl.ColumnName + \" \" + d.ChartId] = function (filterValue, filterName) {\r\n var Keyfilter = cl.KeyName;\r\n if (cl.KeyName.indexOf(\"|\") >= 0) {\r\n var stringArray = cl.KeyName.split('|');\r\n filterName = stringArray[1];\r\n Keyfilter = stringArray[0];\r\n }\r\n if (filterValue == undefined && filterName == undefined) {\r\n filterValue = '';\r\n filterName = '';\r\n }\r\n if (d.ChartType == 'Metrics' || d.chartType == 'OneServMetrics') {\r\n //console.log('start_date',start_date);\r\n if (d.Rollups && d.Rollups.length > 0) {\r\n angular.forEach(d.Rollups, function (d) {\r\n if (d == 'Today') {\r\n var sDate = moment().format(\"YYYY-MM-DD\");\r\n var eDate = moment().format(\"YYYY-MM-DD\");\r\n start_date = \"Range(\" + sDate + \"|\" + eDate + \")\";\r\n }\r\n else if (d == 'Yesterday') {\r\n var sDate = moment().subtract(1, 'days').format(\"YYYY-MM-DD\");\r\n var eDate = moment().subtract(1, 'days').format(\"YYYY-MM-DD\");\r\n start_date = \"Range(\" + sDate + \"|\" + eDate + \")\";\r\n }\r\n else if (d == 'Monthly') {\r\n var sDate = moment().startOf('month').format(\"YYYY-MM-DD\");\r\n var eDate = moment().endOf('month').format(\"YYYY-MM-DD\");\r\n start_date = \"Range(\" + sDate + \"|\" + eDate + \")\";\r\n } else if (d == 'Week1') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date = vm.GetDateRange(getCurrentMonth, getCurrentYear, 'week1');\r\n } else if (d == 'Week2') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date = vm.GetDateRange(getCurrentMonth, getCurrentYear, 'week2');\r\n } else if (d == 'Week3') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date = vm.GetDateRange(getCurrentMonth, getCurrentYear, 'week3');\r\n } else if (d == 'Week4') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date = vm.GetDateRange(getCurrentMonth, getCurrentYear, 'week4');\r\n }\r\n })\r\n } else {\r\n start_date = vm.rollup;\r\n }\r\n var obj = {\r\n \"report_name\": 'LinkTicketReport',\r\n \"key\": Keyfilter,\r\n \"filter_key\": filterName,\r\n \"filter_name\": filterValue,\r\n \"start_date\": start_date,\r\n \"isData\": true\r\n }\r\n return obj;\r\n } else {\r\n return \"index.DashboardReport({report_name:'LinkTicketReport', key:'\" + Keyfilter + \"',filter_key:'\" + filterName + \"', filter_name:'\" + filterValue + \"', start_date:'\" + vm.rollup + \"', isData:'\" + true + \"'})\";\r\n }\r\n }\r\n } else {\r\n if (cl.Link) {\r\n vm.deepLink[cl.ColumnName + \" \" + d.ChartId] = function (filterValue, filterName) {\r\n var Keyfilter = cl.KeyName;\r\n if (cl.KeyName.indexOf(\"|\") >= 0) {\r\n var stringArray = cl.KeyName.split('|');\r\n filterName = stringArray[1];\r\n Keyfilter = stringArray[0];\r\n }\r\n if (filterValue == undefined && filterName == undefined) {\r\n filterValue = '';\r\n filterName = '';\r\n }\r\n\r\n filterName = filterName + ',' + vm.filterKeys;\r\n filterValue = filterValue + ',' + vm.filterValues;\r\n\r\n if (d.ChartType == 'Metrics' || d.chartType == 'OneServMetrics') {\r\n //console.log('start_date',start_date);\r\n if (d.Rollups && d.Rollups.length > 0) {\r\n angular.forEach(d.Rollups, function (d) {\r\n if (d == 'Today') {\r\n var sDate = moment().format(\"YYYY-MM-DD\");\r\n var eDate = moment().format(\"YYYY-MM-DD\");\r\n start_date = \"Range(\" + sDate + \"|\" + eDate + \")\";\r\n }\r\n else if (d == 'Yesterday') {\r\n var sDate = moment().subtract(1, 'days').format(\"YYYY-MM-DD\");\r\n var eDate = moment().subtract(1, 'days').format(\"YYYY-MM-DD\");\r\n start_date = \"Range(\" + sDate + \"|\" + eDate + \")\";\r\n } else if (d == 'Monthly') {\r\n var sDate = moment().startOf('month').format(\"YYYY-MM-DD\");\r\n var eDate = moment().endOf('month').format(\"YYYY-MM-DD\");\r\n start_date = \"Range(\" + sDate + \"|\" + eDate + \")\";\r\n } else if (d == 'Week1') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date = vm.GetDateRange(getCurrentMonth, getCurrentYear, 'week1');\r\n } else if (d == 'Week2') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date = vm.GetDateRange(getCurrentMonth, getCurrentYear, 'week2');\r\n } else if (d == 'Week3') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date = vm.GetDateRange(getCurrentMonth, getCurrentYear, 'week3');\r\n } else if (d == 'Week4') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date = vm.GetDateRange(getCurrentMonth, getCurrentYear, 'week4');\r\n }\r\n })\r\n } else {\r\n start_date = vm.rollup;\r\n }\r\n var obj = {\r\n \"report_name\": cl.Link,\r\n \"key\": Keyfilter,\r\n \"filter_key\": filterName,\r\n \"filter_name\": filterValue,\r\n \"start_date\": start_date,\r\n \"isData\": true\r\n }\r\n return obj;\r\n } else {\r\n return \"index.DashboardReport({report_name:'\" + cl.Link + \"', key:'\" + Keyfilter + \"',filter_key:'\" + filterName + \"', filter_name:'\" + filterValue + \"', start_date:'\" + vm.rollup + \"', isData:'\" + true + \"'})\";\r\n }\r\n }\r\n }\r\n }\r\n })\r\n }\r\n if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Today\") >= 0 && d.ChartType != 'CustomLine') {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Today\");\r\n }\r\n else if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Yesterday\") >= 0 && d.ChartType != 'CustomLine') {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Yesterday\");\r\n }\r\n else if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Week1\") >= 0 && d.ChartType != 'CustomLine') {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Week1\");\r\n } else if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Week2\") >= 0 && d.ChartType != 'CustomLine') {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Week2\");\r\n } else if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Week3\") >= 0 && d.ChartType != 'CustomLine') {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Week3\");\r\n } else if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Week4\") >= 0 && d.ChartType != 'CustomLine') {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Week4\");\r\n }\r\n else if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Monthly\") >= 0 && d.ChartType != 'CustomLine') {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Monthly\");\r\n }\r\n else if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Monthly-6\") >= 0 && d.ChartType != 'CustomLine') {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Monthly-6\");\r\n }\r\n else if (d.ChartType == 'CustomLine' && d.Dimensions.length > 0 && d.Rollups.indexOf(\"Monthly\") >= 0) {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, \"Monthly\");\r\n }\r\n else if (d.ChartType == 'CustomLine' && d.Dimensions.length > 0 && d.Rollups.indexOf(\"Today\") >= 0) {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, \"Today\");\r\n }\r\n else if (d.ChartType == 'CustomLine' && d.Dimensions.length > 0 && d.Rollups.indexOf(\"Yesterday\") >= 0) {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, \"Yesterday\");\r\n }\r\n else if (d.ChartType == 'CustomBar' && d.Dimensions.length > 0) {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, '');\r\n } else if (d.ChartType == 'DrillDownBar' && d.Dimensions.length > 0) {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, '');\r\n } else if (d.ChartType == 'CustomStackedBar' && d.Dimensions.length > 0) {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, '');\r\n } else if (d.ChartType == 'CustomPie' && d.Dimensions.length > 0) {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, '');\r\n }\r\n else {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, vm.rollup);\r\n }\r\n\r\n });\r\n // console.log('vm.deepLink',vm.deepLink);\r\n }])\r\n\r\n vm.getDashboard = function (dashboardName) {\r\n reportDetailService.getDashboard(loggedinUser, dashboardName, token, vm.dashboardCallback);\r\n }\r\n\r\n vm.getReportName = function (reportNameParam) {\r\n if (reportNameParam == 'ProjectSummary') {\r\n return 'Project Report';\r\n } else if (reportNameParam == 'ProjectStatus') {\r\n return 'Project Status Report';\r\n } else if (reportNameParam == 'CustomerSummary') {\r\n return 'Customer Report';\r\n } else if (reportNameParam == 'CustomerStatusReport') {\r\n return 'Customer Status Report';\r\n } else if (reportNameParam == 'Financial') {\r\n return 'Financial Report';\r\n } else if (reportNameParam == 'DailyProgress') {\r\n return 'Daily Progress Report';\r\n } else if (reportNameParam == 'DailyStatusProgress') {\r\n return '';\r\n } else if (reportNameParam == 'Scheduled') {\r\n return '';\r\n } else if (reportNameParam == 'TeamReport') {\r\n return 'Team Report';\r\n } else if (reportNameParam == 'TeamDetailReport') {\r\n return 'Team Detailed Report';\r\n } else if (reportNameParam == 'ReferralReport') {\r\n return 'Referral Report';\r\n } else if (reportNameParam == 'LabReport') {\r\n return 'Lab Report';\r\n } else if (reportNameParam == 'SpectroLabDetailedReport') {\r\n return 'Spectro Lab Detailed Report';\r\n }\r\n else if (reportNameParam == 'CustomerHCLReport') {\r\n return 'Customer HCL Report';\r\n }\r\n else if (reportNameParam == 'CustomerLocationHCLReport') {\r\n return 'Customer Location HCL Report';\r\n }\r\n else if (reportNameParam == 'CityTicketHCLReport') {\r\n return 'City Ticket HCL Report';\r\n }\r\n else if (reportNameParam == 'TeamHclReport') {\r\n return 'Team Hcl Report';\r\n }\r\n else if (reportNameParam == 'TeamHclDetailedReport') {\r\n return 'Team Hcl Detailed Report';\r\n } else if (reportNameParam == 'TeamTicketHCLReport') {\r\n return 'Team Ticket HCL Report';\r\n } else if (reportNameParam == 'LinkTicketReport') {\r\n return 'Link Ticket Report';\r\n } else if (reportNameParam == 'TicketSummary') {\r\n return 'Ticket Summary';\r\n } else if (reportNameParam == 'AgingofTickets') {\r\n return 'Aging of Tickets';\r\n } else if (reportNameParam == 'Regional Summary') {\r\n return 'Regional Summary';\r\n } else if (reportNameParam == 'Finance Report') {\r\n return 'Finance Report';\r\n } else if (reportNameParam == 'Finance Ticket Report') {\r\n return 'Finance Ticket Report';\r\n }\r\n else {\r\n return reportNameParam;\r\n }\r\n }\r\n\r\n vm.getReportTitle = function (reportNameParam) {\r\n if (reportNameParam == 'ProjectSummary') {\r\n return 'Project Summary';\r\n } else if (reportNameParam == 'ProjectStatus') {\r\n return 'Project Status';\r\n } else if (reportNameParam == 'CustomerSummary') {\r\n return 'Customer Summary';\r\n } else if (reportNameParam == 'CustomerStatusReport') {\r\n return 'Customer Status Report';\r\n } else if (reportNameParam == 'Financial') {\r\n return 'Financial Summary';\r\n } else if (reportNameParam == 'DailyProgress') {\r\n return 'Project Daily Progress';\r\n } else if (reportNameParam == 'DailyStatusProgress') {\r\n return 'Daily Status Progress';\r\n } else if (reportNameParam == 'Scheduled') {\r\n return 'Scheduled Report';\r\n } else if (reportNameParam == 'TeamReport') {\r\n return 'Team Report';\r\n } else if (reportNameParam == 'TeamDetailReport') {\r\n return 'Team Detailed Report';\r\n } else if (reportNameParam == 'ReferralReport') {\r\n return 'Referral Report';\r\n } else if (reportNameParam == 'LabReport') {\r\n return 'Lab Report';\r\n } else if (reportNameParam == 'SpectroLabDetailedReport') {\r\n return 'Spectro Lab Detailed Report';\r\n } else if (reportNameParam == 'CustomerHCLReport') {\r\n return 'Customer HCL Report';\r\n }\r\n else if (reportNameParam == 'CustomerLocationHCLReport') {\r\n return 'Customer Location HCL Report';\r\n } else if (reportNameParam == 'CityTicketHCLReport') {\r\n return 'City Ticket HCL Report';\r\n }\r\n else if (reportNameParam == 'TeamHclReport') {\r\n return 'Team Hcl Report';\r\n }\r\n else if (reportNameParam == 'TeamHclDetailedReport') {\r\n return 'Team Hcl Detailed Report';\r\n }\r\n else if (reportNameParam == 'TeamTicketHCLReport') {\r\n return 'Team Ticket HCL Report';\r\n } else if (reportNameParam == 'LinkTicketReport') {\r\n return 'Link Ticket Report';\r\n } else if (reportNameParam == 'TicketSummary') {\r\n return 'Ticket Summary';\r\n } else if (reportNameParam == 'Regional Summary') {\r\n return 'Regional Summary';\r\n } else if (reportNameParam == 'Finance Report') {\r\n return 'Finance Report';\r\n } else if (reportNameParam == 'Finance Ticket Report') {\r\n return 'Finance Ticket Report';\r\n }\r\n else {\r\n return reportNameParam;\r\n }\r\n\r\n }\r\n\r\n\r\n vm.reportLayoutCallback = vm.createCallback(null, [function (data) {\r\n if(vm.widgetcreate){\r\n vm.closecreatewidet();\r\n }\r\n else if(vm.widgetupdate){\r\n vm.closeupdatewidget();\r\n }\r\n vm.report_data = data;\r\n vm.ReportName = data.ReportName;\r\n var matricsCount = 0;\r\n vm.tableCount = 0;\r\n vm.tableNames = [];\r\n vm.tableOrder = [];\r\n vm.tableArray = [];\r\n var matricsIds = [];\r\n vm.AllValues = [];\r\n angular.forEach(data.chartModel, function (d) {\r\n if (d.ClickableColumns != null && d.ClickableColumns.length > 0) {\r\n angular.forEach(d.ClickableColumns, function (cl) {\r\n if (cl.Link == \"Project Status Report\") {\r\n vm.deepLink[cl.ColumnName] = function (filterName) {\r\n return \"index.Report({report_name:'ProjectStatus', filter_key:'\" + cl.KeyName + \"', filter_name:'\" + filterName + \"', start_date:'\" + vm.rollup + \"'})\";\r\n }\r\n } if (cl.Link == \"Customer Status Report\") {\r\n vm.deepLink[cl.ColumnName] = function (filterName) {\r\n return \"index.Report({report_name:'CustomerStatusReport', filter_key:'\" + cl.KeyName + \"', filter_name:'\" + filterName + \"', start_date:'\" + vm.rollup + \"'})\";\r\n }\r\n } if (cl.Link == 'Customer Location HCL Report') {\r\n vm.deepLink[cl.ColumnName] = function (filterName) {\r\n return \"index.Report({report_name:'CustomerLocationHCLReport', filter_key:'\" + cl.KeyName + \"', filter_name:'\" + filterName + \"' , start_date:'\" + vm.rollup + \"'})\";\r\n }\r\n }\r\n if (cl.Link == 'City Ticket HCL Report') {\r\n vm.deepLink[cl.ColumnName] = function (filterName, i) {\r\n return \"index.Report({report_name:'CityTicketHCLReport', filter_key:'\" + cl.KeyName + \"', filter_name:'\" + filterName + \"' , start_date:'\" + vm.rollup + \"', end_date:'\" + i + \"'})\";\r\n }\r\n }\r\n if (cl.Link == 'Team Hcl Detailed Report') {\r\n vm.deepLink[cl.ColumnName] = function (filterName) {\r\n // var fromDate = $stateParams.start_date?$stateParams.start_date:\"\";\r\n // var toDate = $stateParams.end_date?$stateParams.end_date:\"\";;\r\n return \"index.Report({report_name:'TeamHclDetailedReport', filter_key:'\" + cl.KeyName + \"', filter_name:'\" + filterName + \"' , start_date:'\" + vm.rollup + \"'})\";\r\n }\r\n }\r\n if (cl.Link == 'Team Ticket HCL Report') {\r\n vm.deepLink[cl.ColumnName] = function (filterName, i) {\r\n //$log.log('Name',i);\r\n // var fromDate = $stateParams.start_date?$stateParams.start_date:\"\";\r\n // var toDate = $stateParams.end_date?$stateParams.end_date:\"\";;\r\n return \"index.Report({report_name:'TeamTicketHCLReport', filter_key:'\" + cl.KeyName + \"', filter_name:'\" + filterName + \"' , start_date:'\" + vm.rollup + \"' , end_date:'\" + i + \"'})\";\r\n }\r\n }\r\n if (cl.Link == \"JobView\") {\r\n\r\n if (vm.VerticalName == \"IMS\") {\r\n vm.deepLink[cl.ColumnName] = function (param) {\r\n return \"index.JobView({ticketId:'\" + param + \"',type:'isTicketView'})\";\r\n }\r\n }\r\n else {\r\n vm.deepLink[cl.ColumnName] = function (param) {\r\n return \"index.JobDetailView({ticketId:'\" + param + \"',type:'isTicketView'})\";\r\n }\r\n\r\n }\r\n\r\n } if (cl.Link == 'Team Detailed Report') {\r\n vm.deepLink[cl.ColumnName] = function (filterName) {\r\n return \"index.Report({report_name:'TeamDetailReport', filter_key:'\" + cl.KeyName + \"', filter_name:'\" + filterName + \"', start_date:'\" + vm.rollup + \"'})\";\r\n }\r\n } if (cl.Link == 'Spectro Lab Detailed Report') {\r\n vm.deepLink[cl.ColumnName] = function (filterName) {\r\n return \"index.Report({report_name:'SpectroLabDetailedReport', filter_key:'\" + cl.KeyName + \"', filter_name:'\" + filterName + \"', start_date:'\" + vm.rollup + \"'})\";\r\n }\r\n } if (cl.Link == 'Finance Ticket Report') {\r\n vm.deepLink[cl.ColumnName] = function (filterName) {\r\n return \"index.Report({report_name:'Finance Ticket Report', filter_key:'\" + cl.KeyName + \"', filter_name:'\" + filterName + \"', start_date:'\" + vm.rollup + \"'})\";\r\n }\r\n }\r\n });\r\n }\r\n if (d.UIClasess != null && d.UIClasess.length > 0) {\r\n vm.valueClass = {};\r\n angular.forEach(d.UIClasess, function (cl) {\r\n vm.valueClass[cl.ColumnName] = cl.ClassName;\r\n });\r\n }\r\n vm.filter_key = ''; \r\n vm.filter_name = ''; \r\n if (d.DataFilters != null && d.DataFilters.length > 0) { \r\n angular.forEach(d.DataFilters, function (cl) {\r\n if (vm.filter_key) {\r\n vm.filter_key = vm.filter_key + \",\" + cl.FieldName;\r\n vm.filter_name = vm.filter_name + \",\" + cl.FieldValue;\r\n }\r\n else {\r\n vm.filter_key = cl.FieldName;\r\n vm.filter_name = cl.FieldValue;\r\n }\r\n });\r\n }\r\n if (d.ChartType == 'Metrics') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, vm.rollup, vm.filter_key, vm.filter_name, \"\", false);\r\n matricsCount++;\r\n matricsIds.push(d.ChartId);\r\n vm.metricsCharts[d.ChartId] = d;\r\n vm.metricsCharts[d.ChartId].value = \"Loading...\";\r\n var CompData = {};\r\n CompData.chartId = d.ChartId;\r\n CompData.chartType = 'metrices';\r\n CompData.metrics = d.Metrics[0];\r\n CompData.value = \"Loading...\";\r\n CompData.EntityName = d.EntityName;\r\n CompData.DataFilters = d.DataFilters;\r\n CompData.ChartTitle = d.ChartTitle;\r\n CompData.ChartSubtitle = d.ChartSubtitle;\r\n vm.AllValues.push(CompData);\r\n }\r\n else if (d.ChartType == 'Table') {\r\n if (vm.isData) {\r\n d.Metrics = vm.key;\r\n }\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, vm.rollup, vm.filter_key, vm.filter_name, d.ChartTitle, vm.isData);\r\n vm.tableNames[vm.tableCount] = d.ChartTitle;\r\n vm.tableOrder[vm.tableCount] = d.ChartId;\r\n vm.tableCount = vm.tableCount + 1;\r\n vm.tableCharts[d.ChartId] = {};\r\n vm.tableCharts[d.ChartId].ChartId = d.ChartId;\r\n vm.tableCharts[d.ChartId].ChartTitle = d.ChartTitle;\r\n vm.tableCharts[d.ChartId].ChartSubtitle = d.ChartSubtitle;\r\n vm.tableCharts[d.ChartId].DataFilters = d.DataFilters;\r\n vm.tableCharts[d.ChartId].EntityName = d.EntityName;\r\n }\r\n });\r\n if (matricsCount >= 5) {\r\n if (matricsCount % 4 == 0) {\r\n matricsCount = 4;\r\n } else {\r\n matricsCount = 3;\r\n }\r\n }\r\n matricsCount = 12 / matricsCount;\r\n matricsCount = Math.round(matricsCount);\r\n angular.forEach(matricsIds, function (d) {\r\n vm.metricsCharts[d].width = \"col-lg-\" + matricsCount;\r\n });\r\n }])\r\n\r\n\r\n vm.getCustomerReport = function (reportid) {\r\n reportDetailService.getCustomerReportById(loggedinUser, reportid, token, vm.reportLayoutCallback);\r\n\r\n }\r\n\r\n vm.report_title = vm.getReportTitle($stateParams.report_name);\r\n\r\n if (vm.DocumentType == 'dashboard') {\r\n vm.getDashboard($stateParams.report_name);\r\n }\r\n else if (vm.DocumentType == 'report') {\r\n vm.getCustomerReport($stateParams.report_id);\r\n }\r\n\r\n // var metricsDictionary = {};\r\n \r\n\r\n vm.getChart = function (chartId, chartType, metrics, dimensions, rollUp, filterKeys, filterValues, chartName, isData, total) {\r\n vm.AllValuesOriginalIndex = [];\r\n vm.rachit = [];\r\n reportDetailService.getChart(loggedinUser, token, chartType, metrics, dimensions, rollUp, filterKeys, filterValues, chartName, isData, total, vm.createCallback(vm.rachit, [function (data) {\r\n if (chartType == 'Metrics') {\r\n vm.metricsCharts[chartId].value = data;\r\n for (var i = 0; i < vm.AllValues.length; i++) {\r\n if (vm.AllValues[i].chartId == chartId) {\r\n index = i;\r\n break; // Exit the loop when the chartId is found\r\n }\r\n }\r\n vm.AllValues[index].value = data;\r\n vm.AllValuesOriginalIndex.push(chartId);\r\n } else if (chartType == 'Table') {\r\n vm.tableCharts[chartId].value = data;\r\n vm.tableCharts[chartId].DimensionName = dimensions[0];\r\n vm.dataFilters = vm.tableCharts[chartId].DataFilters;\r\n vm.EntityName = vm.tableCharts[chartId].EntityName;\r\n vm.buildColumnBuilder(data, chartId, chartType, metrics, dimensions, rollUp, filterKeys, filterValues, chartName, isData);\r\n\r\n }\r\n console.log(vm.AllValuesOriginalIndex);\r\n }]));\r\n\r\n // for (var i = 0; i < vm.AllValues.length; i++) {\r\n // var chartData = vm.AllValues[i];\r\n // metricsDictionary[currentIndex] = chartData.chartId;\r\n // currentIndex++;\r\n // }\r\n // console.log(metricsDictionary);\r\n }\r\n\r\n \r\n\r\n vm.buildColumnBuilder = function (dataSets, chartId, chartType, metrics, dimensions, rollUp, filterKeys, filterValues, chartName, isData) {\r\n if (vm.tableCharts[chartId] && vm.tableCharts[chartId].value) {\r\n var columns = [];\r\n for (var key in dataSets.Categories) {\r\n var temp = '';\r\n // var columnName = key;\r\n temp = DTColumnBuilder.newColumn(key).withTitle(dataSets.Categories[key]).renderWith(function (data, type, full, meta) {\r\n var temp = '';\r\n function getKeyByValue(object, value) {\r\n for (var prop in object) {\r\n if (object.hasOwnProperty(prop)) {\r\n if (object[prop] === value)\r\n temp = prop;\r\n }\r\n }\r\n }\r\n getKeyByValue(full, data)\r\n var firstColumntKey = Object.values(full)[0];\r\n // var fixedCatogries = Object.values(vm.tableCharts[chartId].value.Categories)[0];\r\n var t = vm.tableCharts[chartId].value.Categories;\r\n var n = t[temp];\r\n if (vm.deepLink[n]) {\r\n return \"' + data + \"\";\r\n }\r\n //data = 'T360000388568_CCR_Form_Photo7825.jpg';\r\n\r\n if ((temp == 'CCR URL' || temp == 'CCRFormPhotoAttachmentPath' || temp == 'TicketSignOffReport') && data) {\r\n\r\n vm.filename = data.substring(data.lastIndexOf('/') + 1);\r\n\r\n\r\n return '' + vm.filename + ' ';\r\n\r\n }\r\n else if ((temp == 'FieldReports') && data) {\r\n var fileUrls = data.split(',');\r\n var ancharStr = '';\r\n var filename;\r\n angular.forEach(fileUrls, function (value, key) {\r\n filename = value.substring(value.lastIndexOf('/') + 1);\r\n ancharStr = ancharStr + '' + filename + ' ';\r\n });\r\n\r\n return ancharStr;\r\n\r\n }\r\n else {\r\n return data;\r\n }\r\n });\r\n columns.push(temp);\r\n }\r\n vm.tableCharts[chartId].dtColumns = columns;\r\n }\r\n\r\n\r\n\r\n vm.tableCharts[chartId].dtOptions = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n defer.resolve(dataSets.Values);\r\n return defer.promise;\r\n }).withDOM(\r\n '<\"html5buttons\"B>lTfgitp')\r\n .withOption('lengthChange', false)\r\n .withOption('order', [])\r\n .withButtons([{ extend: 'colvis' }, { extend: 'csv' }, { extend: 'print' }, { extend: 'copy' }])\r\n .withOption('createdRow', createdRow);\r\n }\r\n\r\n function createdRow(row, data, dataIndex) {\r\n // Recompiling so we can bind Angular directive to the DT\r\n $compile(angular.element(row).contents())($scope);\r\n }\r\n\r\n $scope.shouldHighlightItem = function() {\r\n $scope.isLayoutEditable = true;\r\n };\r\n\r\n $scope.shouldNotHighlightItem = function() {\r\n $scope.isLayoutEditable = false;\r\n };\r\n\r\n\r\n // Dashboard code start by simran\r\n\r\n vm.getChartDashboard = function (chartId, chartType, metrics, dimensions, subtitle, YAxis, rollup) {\r\n vm.AllValues = [];\r\n vm.AllValuesDash = [];\r\n vm.selectDimension[chartId] = {};\r\n reportDetailService.getChart1(loggedinUser, token, chartType, metrics, dimensions, rollup, vm.filterKeys, vm.filterValues, \"\", false, total, vm.createCallback(null, [function (data) {\r\n if (chartType == 'Metrics' || chartType == 'OneServMetrics') {\r\n vm.metricsCharts[chartId] = {};\r\n vm.metricsCharts[chartId].value = data;\r\n vm.metricsCharts[chartId].subtitles = subtitle.split(\",\");\r\n vm.metricsCharts[chartId].ChartId = chartId;\r\n vm.AllValuesDash.push(vm.metricsCharts[chartId].value);\r\n } else if (chartType == 'Table') {\r\n vm.tableCharts[chartId] = {};\r\n vm.tableCharts[chartId].value = data;\r\n vm.tableCharts[chartId].ChartId = chartId;\r\n vm.createTableChart(chartId, data.Categories.length, data);\r\n\r\n //vm.buildColumnBuilder(chartId, data.Categories.length);\r\n } else if (chartType == 'Line') {\r\n vm.lineCharts[chartId] = {};\r\n vm.lineCharts[chartId].value = data;\r\n vm.lineCharts[chartId].selectedRollup = rollup;\r\n vm.createLineChart(chartId, YAxis);\r\n } else if (chartType == 'Bar') {\r\n vm.barCharts[chartId] = {};\r\n vm.barCharts[chartId].value = data;\r\n vm.barCharts[chartId].selectedRollup = rollup;\r\n vm.createBarChart(chartId, YAxis);\r\n } else if (chartType == 'StackedBar') {\r\n vm.stackedCharts[chartId] = {};\r\n vm.stackedCharts[chartId].value = data;\r\n vm.stackedCharts[chartId].selectedRollup = rollup;\r\n vm.createStackedChart(chartId, YAxis);\r\n } else if (chartType == 'Pie') {\r\n vm.pieCharts[chartId] = {};\r\n vm.pieCharts[chartId].value = data;\r\n vm.createPieChart(chartId, subtitle);\r\n } else if (chartType == 'CustomPie') {\r\n vm.pieCharts[chartId] = {};\r\n vm.pieCharts[chartId].value = data;\r\n vm.pieCharts[chartId].selectedDimension = dimensions;\r\n vm.createPieChart(chartId, subtitle);\r\n } else if (chartType == 'CustomLine') {\r\n vm.lineCharts[chartId] = {};\r\n vm.lineCharts[chartId].value = data;\r\n vm.lineCharts[chartId].selectedDimension = dimensions;\r\n vm.selectDimension[chartId].dimension = dimensions;\r\n vm.lineCharts[chartId].selectedRollup = rollup;\r\n vm.createLineChart(chartId, YAxis);\r\n } else if (chartType == 'CustomBar') {\r\n vm.barCharts[chartId] = {};\r\n vm.barCharts[chartId].value = data;\r\n vm.barCharts[chartId].selectedDimension = dimensions;\r\n vm.selectDimension[chartId].dimension = dimensions;\r\n vm.barCharts[chartId].selectedRollup = rollup;\r\n vm.createBarChart(chartId, YAxis);\r\n } else if (chartType == 'DrillDownBar') {\r\n vm.barCharts[chartId] = {};\r\n vm.barCharts[chartId].value = data;\r\n vm.barCharts[chartId].selectedDimension = dimensions;\r\n vm.selectDimension[chartId].dimension = dimensions;\r\n vm.barCharts[chartId].selectedRollup = rollup;\r\n vm.createDrilledDownBarChart(chartId, YAxis);\r\n } else if (chartType == 'CustomStackedBar') {\r\n vm.stackedCharts[chartId] = {};\r\n vm.stackedCharts[chartId].value = data;\r\n vm.stackedCharts[chartId].selectedDimension = dimensions;\r\n vm.selectDimension[chartId].dimension = dimensions;\r\n vm.stackedCharts[chartId].selectedRollup = rollup;\r\n vm.createStackedChart(chartId, YAxis);\r\n }\r\n }]));\r\n }\r\n\r\n\r\n var makeDynamicTable = function (chartId, dataSet) {\r\n\r\n if (dataSet.Values.length >= 10) {\r\n vm.tableCharts[chartId].dtOptions = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n defer.resolve(dataSet.Values);\r\n return defer.promise;\r\n })\r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withOption('createdRow', createdRow)\r\n .withBootstrap();\r\n }\r\n else {\r\n vm.tableCharts[chartId].dtOptions = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n defer.resolve(dataSet.Values);\r\n return defer.promise;\r\n })\r\n .withDOM('Tfgt')\r\n //.withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withOption('createdRow', createdRow)\r\n .withBootstrap();\r\n\r\n }\r\n\r\n\r\n function createdRow(row, data, dataIndex) {\r\n // Recompiling so we can bind Angular directive to the DT\r\n $compile(angular.element(row).contents())($scope);\r\n }\r\n\r\n vm.tableCharts[chartId].dtInstance = {};\r\n vm.tableCharts[chartId].dtColumns = [];\r\n var columnList = Object.keys(dataSet.Categories);\r\n for (var index = 0; index < columnList.length; index++) {\r\n\r\n var temp = '';\r\n var colunId = columnList[index];\r\n temp = DTColumnBuilder.newColumn(colunId).withTitle(dataSet.Categories[colunId]).renderWith(function (data, type, full, meta) {\r\n var colKey = '';\r\n function getKeyByIndex(object, col) {\r\n var colList = Object.keys(object);\r\n colKey = colList[col];\r\n }\r\n getKeyByIndex(full, meta.col)\r\n var firstColumntKey = Object.values(full)[0];\r\n var fixedCatogries = Object.values(vm.tableCharts[chartId].value.Categories)[0];\r\n var t = vm.tableCharts[chartId].value.Categories;\r\n var n = t[colKey];\r\n if (data > 0 && vm.deepLink[n + ' ' + vm.tableCharts[chartId].ChartId]) {\r\n return \"' + data + \" \";\r\n // return \"\" + data + \" \";\r\n } else {\r\n return \"\" + data + \"\";\r\n }\r\n });\r\n vm.tableCharts[chartId].dtColumns.push(temp);\r\n }\r\n }\r\n\r\n vm.createTableChart = function (chartId, lenth, data) {\r\n makeDynamicTable(chartId, data);\r\n }\r\n\r\n vm.updateDefaultDateFilter = function (dasahboardFilter) {\r\n if (intialLoad) {\r\n var startDate = '';\r\n var endDate = '';\r\n if (dasahboardFilter && dasahboardFilter.DefaultDateFilter) {\r\n startDate = $scope.dashboardranges[dasahboardFilter.DefaultDateFilter][0];\r\n endDate = $scope.dashboardranges[dasahboardFilter.DefaultDateFilter][1];\r\n $scope.dates = { startDate: startDate, endDate: endDate };\r\n $scope.$broadcast('update.daterangepicker', { date: $scope.dates });\r\n vm.rollup = \"Range(\" + startDate.format(\"YYYY-MM-DD\") + \"|\" + endDate.format(\"YYYY-MM-DD\") + \")\";\r\n }\r\n }\r\n }\r\n\r\n vm.ShareMailReport = function () {\r\n vm.SharedReportName = vm.ReportName;\r\n vm.shareModel.toList = [];\r\n vm.shareModel.ccList = [];\r\n vm.shareModel.bccList = [];\r\n vm.shareModel.mailbody = 'Hello User,\\n\\nPlease find report ' + vm.SharedReportName + ' on ' + formattedDate + '\\n\\nThanks\\nMobiforce Team';\r\n vm.shareModel.content = 'Hello User,\\n\\nPlease find report ' + vm.SharedReportName + ' on ' + formattedDate + '\\n\\nThanks\\nMobiforce Team';\r\n vm.ShareModal = $uibModal.open({\r\n templateUrl: 'ShareMailwidgetCtrl.html',\r\n backdrop: 'static',\r\n size: 'md',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.ShareReport = function () {\r\n vm.SharedReportName = vm.ReportName;\r\n vm.shareModel.toList = [];\r\n vm.shareModel.ccList = [];\r\n vm.shareModel.bccList = [];\r\n vm.GetSharedUsers(vm.ReportName);\r\n vm.shareModel.mailbody = 'Hello User,\\n\\nPlease find report ' + vm.SharedReportName + ' on ' + formattedDate + '\\n\\nThanks\\nMobiforce Team';\r\n vm.shareModel.content = 'Hello User,\\n\\nPlease find report ' + vm.SharedReportName + ' on ' + formattedDate + '\\n\\nThanks\\nMobiforce Team';\r\n vm.ShareModal = $uibModal.open({\r\n templateUrl: 'SharewidgetCtrl.html',\r\n backdrop: 'static',\r\n size: 'md',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.closeShareReportModal = function () {\r\n vm.ShareModal.close();\r\n }\r\n\r\n vm.GetSharedUsers = function (dashboardname) {\r\n dashboardReportListService.GetSharedUsers(dashboardname,loggedinUser, token).then(function (resp) {\r\n if(resp.data){\r\n vm.shareModel.toList = resp.data;\r\n }\r\n })\r\n }\r\n\r\n vm.GrantRevokeAccessToReport = function(){\r\n var toList = [];\r\n angular.forEach(vm.shareModel.toList, function(user){\r\n toList.push(user.UserId);\r\n });\r\n if(toList.length==0){\r\n vm.scheduleModel.toListMendtryErr=true;\r\n return;\r\n }\r\n var commaSeparatedtoList = toList.join(',');\r\n vm.closeShareReportModal();\r\n dashboardReportListService.GrantRevokeAccessToReport(vm.SharedReportName, commaSeparatedtoList, loggedinUser,token).then(function(resp){\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.closeShareReportModal();\r\n } \r\n else{\r\n vm.showFailure(\"Failed\", resp.data)\r\n }\r\n })\r\n }\r\n\r\n vm.updatewidget = function (item) {\r\n vm.itemData = item;\r\n if(item.chartType){\r\n vm.selectedOption = item.chartType;\r\n vm.deleteChartId = item.chartId;\r\n vm.SelectedType = item.EntityName;\r\n vm.chartName = item.metrics;\r\n vm.chartDisplayName = item.ChartTitle;\r\n vm.chartDescription = item.ChartSubtitle;\r\n vm.GetMetricsByEntityType(item.EntityName, item.metrics);\r\n vm.dataFilters = item.DataFilters; \r\n }\r\n else{\r\n vm.selectedOption = \"dimension\";\r\n vm.deleteChartId = item.ChartId;\r\n vm.SelectedType = item.EntityName;\r\n // vm.chartDisplayName = item.chartDisplayName;\r\n vm.DimensionName = item.DimensionName;\r\n vm.chartName = item.DimensionName;\r\n // vm.chartDescription = item.chartDescription;\r\n vm.GetDimensionByEntityName(item.EntityName, vm.DimensionName);\r\n vm.dataFilters = item.DataFilters;\r\n }\r\n \r\n }\r\n vm.closeupdatewidget = function () {\r\n vm.widgetupdate.close();\r\n vm.SelectedType = \"\";\r\n vm.SelectedChartName = \"\";\r\n vm.chartDisplayName = \"\";\r\n vm.chartDescription = \"\";\r\n }\r\n\r\n vm.createwidget = function () {\r\n vm.widgetcreate = $uibModal.open({\r\n templateUrl: 'createwidget.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n vm.closecreatewidet = function () {\r\n vm.widgetcreate.close();\r\n vm.dataFilters = [];\r\n vm.chartDisplayName= \"\";\r\n vm.chartDescription = \"\";\r\n vm.SelectedType = \"\";\r\n vm.SelectedChartName = \"\";\r\n }\r\n\r\n vm.ReportFilter = function () {\r\n vm.FilterModal = $uibModal.open({\r\n templateUrl: 'ReportFilter.html',\r\n backdrop: 'static',\r\n size: 'md',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.closeReportFilterModal = function () {\r\n vm.FilterModal.close();\r\n }\r\n\r\n vm.ScheduledReport = function () {\r\n vm.shareModel.toList = [];\r\n vm.shareModel.ccList = [];\r\n vm.shareModel.bccList = [];\r\n vm.scheduleModel.reportName = vm.ReportName;\r\n vm.scheduleModel.frequency = vm.scheduleModel.once;\r\n vm.scheduleModel.pull_data.range = vm.scheduleModel.pull_data.day;\r\n vm.scheduleModel.attachReportInMailBody = true;\r\n vm.scheduleModel.attachReportInExcel = true;\r\n vm.scheduleModel.sampleDateMendtryErr = false;\r\n vm.scheduleModel.input_of_week = null;\r\n vm.scheduleModel.sampleDate = new moment();\r\n vm.scheduleModel.input_for_month.option = vm.scheduleModel.input_for_month.start_of_day;\r\n vm.shareModel.content = \"Please find below the progress report as on $Date\\n\\nYou are requested to view the detailed report at $Link\";\r\n vm.ScheduledReportModal = $uibModal.open({\r\n templateUrl: 'ScheduledwidgetCtrl.html',\r\n backdrop: 'static',\r\n windowClass: 'schedulerModal',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.closeScheduledReportModal = function () {\r\n vm.ScheduledReportModal.close();\r\n }\r\n\r\n $scope.options = ['Option 1', 'Option 2', 'Option 3', 'Option 4'];\r\n $scope.selectedOptions = {};\r\n\r\n vm.shareModel.getUserSuggestion = function (val) {\r\n vm.scheduleModel.toListMendtryErr = false;\r\n var re = /^[A-Za-z0-9]+([\\.\\-_]*[A-Za-z0-9]+)*@[A-Za-z0-9]+([\\.\\-_]*[A-Za-z0-9]+)*\\.([A-Za-z]{2}|[A-Za-z]{3})$/;\r\n if (vm.users.length > 0) {\r\n return re.test(val) ? [{ FirstName: val.split(\"@\")[0], LastName: \"\", UserId: val }].concat(vm.users) : vm.users;\r\n }\r\n // vm.getUsersLite();\r\n return re.test(val) ? [{ FirstName: val.split(\"@\")[0], LastName: \"\", UserId: val }] : [];\r\n }\r\n\r\n // vm.getUsers = function () {\r\n // vm.users = [];\r\n // reportDetailService.getUsers(loggedinUser, token, vm.createCallback(vm.users, [function (data) {\r\n // //$log.log(data);\r\n // }]));\r\n // }\r\n\r\n vm.getUsersLite = function () {\r\n vm.users = [];\r\n reportDetailService.getUsersLite(loggedinUser, token, vm.createCallback(vm.users, [function (data) {\r\n //$log.log(data);\r\n }]));\r\n }\r\n\r\n vm.getUsersLite();\r\n\r\n vm.shareModel.searchAsOr = function (searchText1) {\r\n return function (entry) {\r\n var splittedText = searchText1.split(\";\");\r\n if (splittedText != null && splittedText.length > 0) {\r\n var searchText = splittedText[splittedText.length - 1].trim();\r\n if (entry.FirstName.toLowerCase().indexOf(searchText.toLowerCase()) > -1\r\n || (entry.LastName != null && entry.LastName.toLowerCase().indexOf(searchText.toLowerCase()) > -1)\r\n || entry.UserId.toLowerCase().indexOf(searchText.toLowerCase()) > -1)\r\n return entry;\r\n }\r\n }\r\n }\r\n\r\n vm.shareModel.removeSelectedUsers = function (element) {\r\n var matched = false;\r\n angular.forEach(vm.shareModel.toList, function (d) {\r\n if (d.UserId == element.UserId) {\r\n matched = true;\r\n return;\r\n }\r\n });\r\n if (!matched) {\r\n angular.forEach(vm.shareModel.ccList, function (d) {\r\n if (d.UserId == element.UserId) {\r\n matched = true;\r\n return;\r\n }\r\n });\r\n }\r\n if (!matched) {\r\n angular.forEach(vm.shareModel.bccList, function (d) {\r\n if (d.UserId == element.UserId) {\r\n matched = true;\r\n return;\r\n }\r\n });\r\n }\r\n if (!matched) {\r\n return element;\r\n }\r\n }\r\n\r\n vm.shareModel.cancelledToListUser = function (i) {\r\n vm.shareModel.toList.splice(i, 1);\r\n }\r\n\r\n vm.shareModel.cancelledCCListUser = function (i) {\r\n vm.shareModel.ccList.splice(i, 1);\r\n }\r\n\r\n vm.shareModel.cancelledBCCListUser = function (i) {\r\n vm.shareModel.bccList.splice(i, 1);\r\n }\r\n\r\n vm.shareModel.selectUserNameInToList = function (item) {\r\n vm.shareModel.toList.push(item);\r\n vm.shareModel.toUsers = [];\r\n }\r\n vm.shareModel.selectUserNameInCCList = function (item) {\r\n vm.shareModel.ccList.push(item);\r\n vm.shareModel.ccUsers = [];\r\n }\r\n vm.shareModel.selectUserNameInBCCList = function (item) {\r\n vm.shareModel.bccList.push(item);\r\n vm.shareModel.bccUsers = [];\r\n }\r\n\r\n vm.shareModel.mailReport = function () {\r\n var toList = [];\r\n angular.forEach(vm.shareModel.toList, function (user) {\r\n toList.push(user.UserId);\r\n });\r\n var ccList = [];\r\n angular.forEach(vm.shareModel.ccList, function (user) {\r\n ccList.push(user.UserId);\r\n });\r\n var bccList = [];\r\n angular.forEach(vm.shareModel.bccList, function (user) {\r\n bccList.push(user.UserId);\r\n });\r\n if (toList.length == 0) {\r\n vm.scheduleModel.toListMendtryErr = true;\r\n return;\r\n }\r\n if (vm.shareModel.content.length == 0) {\r\n return false;\r\n }\r\n\r\n var content = vm.shareModel.content;\r\n content = content.replace(new RegExp(\"\\n\", 'g'), \"
\");\r\n vm.closeShareReportModal();\r\n reportDetailService.mailReport(token, toList, ccList, bccList, \"Report: \" + vm.ReportName,\r\n content, vm.ReportName, loggedinUser, vm.filter_key, vm.filter_name,\r\n vm.attachReportInMailBody, vm.attachReportInExcel, vm.rollup,\r\n vm.createCallback(null, [function (data) {\r\n vm.showSuccess(\"Success\", \"Report has been shared successfully\");\r\n }]));\r\n }\r\n\r\n vm.downloadReport = function () {\r\n reportDetailService.downloadReport(vm.report_data.ReportName, loggedinUser, vm.filter_key, vm.filter_name, vm.rollup, vm.isData);\r\n }\r\n\r\n vm.scheduleModel.checkName = function () {\r\n reportDetailService.checkReportName(vm.scheduleModel.reportName, function (data) {\r\n //$log.log(\"checkName reposnse\", data);\r\n vm.scheduleModel.reportNameAlreadyExists = data;\r\n });\r\n }\r\n\r\n vm.scheduleModel.scheduleReport = function () {\r\n var startTime = null;\r\n var endTime = null;\r\n var cronExpression = null;\r\n var daily = null;\r\n var weekly = null;\r\n var monthly = null;\r\n //$log.log(\"vm.scheduleModel.scheduleTime \",vm.scheduleModel.scheduleTime);\r\n if (vm.scheduleModel.reportName == null || vm.scheduleModel.reportName.length == 0) {\r\n vm.scheduleModel.reportNameMendtryErr = true;\r\n return;\r\n }\r\n if (vm.shareModel.toList.length == 0) {\r\n vm.scheduleModel.toListMendtryErr = true;\r\n return;\r\n }\r\n if (vm.scheduleModel.frequency == vm.scheduleModel.once) {\r\n //$log.log(\"vm.scheduleModel.sampleDate\", vm.scheduleModel.sampleDate);\r\n if (vm.scheduleModel.sampleDate) {\r\n var sample_Data = vm.scheduleModel.sampleDate ? vm.scheduleModel.sampleDate : new moment();\r\n startTime = {\r\n \"date\": sample_Data.format(\"DD\"),\r\n \"hour\": sample_Data.format(\"HH\"),\r\n \"min\": sample_Data.format(\"mm\"),\r\n \"month\": sample_Data.format(\"MMM\").toUpperCase(),\r\n \"sec\": sample_Data.format(\"ss\"),\r\n \"year\": sample_Data.format(\"YYYY\")\r\n };\r\n var sampleEndTime = moment(sample_Data).add(1, 'month');\r\n endTime = {\r\n \"date\": sampleEndTime.format(\"DD\"),\r\n \"hour\": sampleEndTime.format(\"HH\"),\r\n \"min\": sampleEndTime.format(\"mm\"),\r\n \"month\": sampleEndTime.format(\"MMM\").toUpperCase(),\r\n \"sec\": sampleEndTime.format(\"ss\"),\r\n \"year\": sampleEndTime.format(\"YYYY\")\r\n };\r\n //$log.log(\"startTime \",startTime);\r\n } else {\r\n vm.scheduleModel.sampleDateMendtryErr = true;\r\n return;\r\n }\r\n\r\n } else {\r\n var startDate = vm.scheduleModel.start_date ? new Date(vm.scheduleModel.start_date) : new Date();\r\n var endDate = vm.scheduleModel.end_date ? new Date(vm.scheduleModel.end_date) : new Date();\r\n startTime = {\r\n \"date\": startDate.getDate(),\r\n \"hour\": startDate.getHours(),\r\n \"min\": startDate.getMinutes(),\r\n \"month\": vm.monthNames3[startDate.getMonth()],\r\n \"sec\": startDate.getSeconds(),\r\n \"year\": startDate.getFullYear()\r\n };\r\n endTime = {\r\n \"date\": endDate.getDate(),\r\n \"hour\": endDate.getHours(),\r\n \"min\": endDate.getMinutes(),\r\n \"month\": vm.monthNames3[endDate.getMonth()],\r\n \"sec\": endDate.getSeconds(),\r\n \"year\": endDate.getFullYear()\r\n };\r\n var hour, min;\r\n if (vm.scheduleModel.scheduleTime) {\r\n var splittedtime = vm.scheduleModel.scheduleTime.split(\":\");\r\n hour = parseInt(splittedtime[0]);\r\n min = parseInt(splittedtime[1]);\r\n } else {\r\n vm.scheduleModel.timeMendtryErr = true;\r\n return;\r\n }\r\n if (vm.scheduleModel.frequency == vm.scheduleModel.daily) {\r\n daily = {\r\n \"hour\": hour,\r\n \"minute\": min\r\n };\r\n } else if (vm.scheduleModel.frequency == vm.scheduleModel.weekly) {\r\n var dayOfWeek = [];\r\n\r\n if (vm.scheduleModel.input_of_week.sun) {\r\n dayOfWeek.push(1);\r\n }\r\n if (vm.scheduleModel.input_of_week.mon) {\r\n dayOfWeek.push(2);\r\n }\r\n if (vm.scheduleModel.input_of_week.tue) {\r\n dayOfWeek.push(3);\r\n }\r\n if (vm.scheduleModel.input_of_week.wed) {\r\n dayOfWeek.push(4);\r\n }\r\n if (vm.scheduleModel.input_of_week.thu) {\r\n dayOfWeek.push(5);\r\n }\r\n if (vm.scheduleModel.input_of_week.fri) {\r\n dayOfWeek.push(6);\r\n }\r\n if (vm.scheduleModel.input_of_week.sat) {\r\n dayOfWeek.push(7);\r\n }\r\n weekly = {\r\n \"dayOfWeek\": dayOfWeek,\r\n \"hour\": hour,\r\n \"minute\": min\r\n };\r\n } else if (vm.scheduleModel.frequency == vm.scheduleModel.monthly) {\r\n if (vm.scheduleModel.input_for_month.option == vm.scheduleModel.input_for_month.start_of_day) {\r\n monthly = {\r\n \"dayOfMonth\": \"1\",\r\n \"hour\": hour,\r\n \"minute\": min\r\n };\r\n } if (vm.scheduleModel.input_for_month.option == vm.scheduleModel.input_for_month.end_of_day) {\r\n cronExpression = \"0 \" + hour + \" \" + min + \" L * ?\";\r\n vm.scheduleModel.frequency = vm.scheduleModel.cronExpression\r\n } if (vm.scheduleModel.input_for_month.option == vm.scheduleModel.input_for_month.specific_date) {\r\n monthly = {\r\n \"dayOfMonth\": vm.scheduleModel.input_for_month.date,\r\n \"hour\": hour,\r\n \"minute\": min\r\n };\r\n }\r\n\r\n }\r\n }\r\n\r\n var data = {\r\n \"cronExpression\": cronExpression,\r\n \"cronType\": vm.scheduleModel.frequency,\r\n \"daily\": daily,\r\n \"endTime\": endTime,\r\n \"jobStartTime\": startTime,\r\n \"method\": \"POST\",\r\n \"monthly\": monthly,\r\n \"uniqueId\": vm.scheduleModel.reportName,\r\n \"reportId\": $stateParams.report_id,\r\n \"url\": DashboardURL + \"/api/Report/mailexcelreportbyreportid\",\r\n \"weekly\": weekly,\r\n \"accountId\": loggedinUser\r\n };\r\n\r\n var toList = [];\r\n angular.forEach(vm.shareModel.toList, function (user) {\r\n toList.push(user.PersonalEmail);\r\n });\r\n var ccList = [];\r\n angular.forEach(vm.shareModel.ccList, function (user) {\r\n ccList.push(user.PersonalEmail);\r\n });\r\n var bccList = [];\r\n angular.forEach(vm.shareModel.bccList, function (user) {\r\n bccList.push(user.PersonalEmail);\r\n });\r\n\r\n if (vm.shareModel.content.length == 0) {\r\n vm.shareModel.contentMedtryErr = true;\r\n return;\r\n }\r\n\r\n var content = vm.shareModel.content;\r\n content = content.replace(new RegExp(\"\\n\", 'g'), \"
\");\r\n var schedulerModel = {};\r\n schedulerModel[\"TOList\"] = toList;\r\n schedulerModel[\"CCList\"] = ccList;\r\n schedulerModel[\"BCCList\"] = bccList;\r\n schedulerModel[\"Body\"] = content;\r\n schedulerModel[\"Subject\"] = \"Report: \" + vm.ReportName\r\n schedulerModel[\"ReportId\"] = vm.ReportId\r\n schedulerModel[\"ReqUserId\"] = loggedinUser;\r\n schedulerModel[\"FilterKeys\"] = null;\r\n schedulerModel[\"FilterValues\"] = null;\r\n schedulerModel[\"ReportInMailBody\"] = vm.scheduleModel.attachReportInMailBody;\r\n schedulerModel[\"AttachXLSReportInMail\"] = vm.scheduleModel.attachReportInExcel;\r\n if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.day) {\r\n schedulerModel[\"RollUps\"] = \"Last Day\";\r\n } else if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.week) {\r\n schedulerModel[\"RollUps\"] = \"Last Week\";\r\n } else if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.month) {\r\n schedulerModel[\"RollUps\"] = \"Last Month\";\r\n } else if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.quarter) {\r\n schedulerModel[\"RollUps\"] = \"Last Quarter\";\r\n } else if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.current_month) {\r\n schedulerModel[\"RollUps\"] = \"Current Month\";\r\n } else if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.specific) {\r\n var re = /^[1-9]+[0-9]*$/;\r\n if (!re.test(vm.scheduleModel.pull_data.specific_day_value)) {\r\n vm.scheduleModel.pull_data.specificDayValMedtryErr = true;\r\n return;\r\n }\r\n schedulerModel[\"RollUps\"] = vm.scheduleModel.pull_data.specific_day_value;\r\n }\r\n data[\"model\"] = JSON.stringify(schedulerModel);\r\n data[\"entity\"] = \"report\";\r\n\r\n reportDetailService.scheduleReport(loggedinUser, data, token,\r\n vm.createCallback(null, [function (data) {\r\n if (data.msg == \"Schedule already exists\") {\r\n vm.showFailure(\"Failed\", \"Schedule with same name already exists.\");\r\n } else if (data.msg == \"Unexpected params\") {\r\n vm.showFailure(\"Failed\", \"Unexpected parameters.\");\r\n } else if (data.msg == \"Failed\") {\r\n vm.showFailure(\"Server Error\", \"Failed to create schedule.\");\r\n } else {\r\n vm.showSuccess(\"Success\", \"Report scheduled successfully.\");\r\n vm.closeScheduledReportModal();\r\n }\r\n }]));\r\n }\r\n\r\n vm.PDFView = function (img) {\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n vm.pdfimage = resp.data;\r\n });\r\n $scope.selected = null;\r\n $timeout(function () {\r\n jobAppointmentModal = $uibModal.open({\r\n templateUrl: 'PDFView.html',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }, 1000)\r\n }\r\n vm.PDFUserModal = function () {\r\n jobAppointmentModal.close();\r\n }\r\n vm.isShow = true;\r\n vm.showEditList = false;\r\n vm.showAction = true;\r\n\r\n // vm.addMoreFilter = function () {\r\n // vm.SelectedSkills = [];\r\n // vm.SelectedLocations = [];\r\n // vm.SelectedField = [];\r\n // vm.showEditList = true;\r\n // vm.showAction = false;\r\n // vm.getAllAccountsExceptHD();\r\n\r\n // }\r\n\r\n vm.addMoreFilter = function () {\r\n vm.showEditList = true;\r\n vm.showAction = false;\r\n };\r\n\r\n vm.addNewFilter = function (filter) {\r\n if (filter.FieldName.Type == 'Text') {\r\n filter.FieldValue = filter.FieldValue.join('|');\r\n }\r\n else if (filter.FieldName.Type == 'DateTime'){\r\n filter.FieldValue = vm.filterstartDate + '|' + vm.filterendDate;\r\n filter.FieldValue = filter.FieldValue.toString();\r\n\r\n }\r\n else if (filter.FieldName.Type == 'Numeric'){\r\n filter.FieldValue = filter.FieldValue.toString();\r\n }\r\n vm.dataFilters.push({\r\n \"FieldName\": filter.FieldName.Name,\r\n \"Condition\": filter.Condition,\r\n \"FieldValue\": filter.FieldValue,\r\n \"JoiningOperator\": filter.JoiningOperator\r\n });\r\n vm.showEditList = false;\r\n vm.showAction = true;\r\n // Clear the form fields after adding\r\n // filter.FieldName = \"\";\r\n // filter.Condition = \"\";\r\n // filter.FieldValue = \"\";\r\n // filter.JoiningOperator = \"\";\r\n };\r\n\r\n $scope.toggleEdit = function (filter) {\r\n angular.forEach(vm.AllFieldList.Fields, function (d) {\r\n if (d.Name == filter.FieldName) {\r\n filter.FieldName = d; \r\n return; \r\n }\r\n });\r\n \r\n if (filter.FieldName.Type == 'Text') {\r\n filter.FieldValue = filter.FieldValue.split('|');\r\n }\r\n else if (filter.FieldName.Type == 'DateTime'){\r\n var dateValues = filter.FieldValue.split('|');\r\n vm.filterstartDate = dateValues[0];\r\n vm.filterendDate = dateValues[1];\r\n \r\n }\r\n else if (filter.FieldName.Type == 'Numeric'){\r\n filter.FieldValue = parseFloat(filter.FieldValue);\r\n }\r\n vm.GetFieldValuesByFieldNames(vm.SelectedType, filter.FieldName.Name);\r\n // filter.FieldValue = filter.FieldValue;\r\n filter.Condition = filter.Condition;\r\n filter.JoiningOperator = filter.JoiningOperator;\r\n };\r\n\r\n vm.SaveCustomSettings = function(){\r\n reportDetailService.SaveCustomSettings($stateParams.report_id, $scope.order, loggedinUser,token).then(function(resp){\r\n if (resp && resp.status == 201) {\r\n vm.showSuccess(\"Success\", \"Layout Saved Successfully\");\r\n $scope.shouldNotHighlightItem();\r\n } \r\n else{\r\n vm.showFailure(\"Failed\", resp.data)\r\n }\r\n })\r\n }\r\n\r\n $scope.updateDataFilter = function (filter) {\r\n // Update the values with the edited values\r\n\r\n if (filter.FieldName.Type == 'Text') {\r\n filter.FieldValue = filter.FieldValue.join('|');\r\n }\r\n else if (filter.FieldName.Type == 'DateTime'){\r\n filter.FieldValue = vm.filterstartDate + '|' + vm.filterendDate;\r\n filter.FieldValue = filter.FieldValue.toString();\r\n\r\n }\r\n else if (filter.FieldName.Type == 'Numeric'){\r\n filter.FieldValue = filter.FieldValue.toString();\r\n }\r\n filter.FieldName = filter.FieldName.Name;\r\n filter.Condition = filter.Condition;\r\n filter.JoiningOperator = filter.JoiningOperator;\r\n };\r\n\r\n $scope.deleteDataFilter = function (filter) {\r\n const index = vm.dataFilters.indexOf(filter);\r\n if (index !== -1) {\r\n vm.dataFilters.splice(index, 1);\r\n }\r\n };\r\n\r\n vm.removeAddmoreEditList = function () {\r\n vm.showEditList = false;\r\n vm.showAction = true;\r\n }\r\n\r\n vm.openDilogforDelete = function (index) {\r\n $scope.deleteIndex = index;\r\n vm.ShareModal = $uibModal.open({\r\n templateUrl: 'openDilogforDelete.html',\r\n backdrop: 'static',\r\n size: 'md',\r\n scope: $scope,\r\n });\r\n }\r\n\r\n vm.closeopenDilogforDeleteModal = function () {\r\n vm.ShareModal.close();\r\n }\r\n\r\n vm.selectedOption = 'dimension';\r\n\r\n vm.ChangeOption = function (type) {\r\n vm.selectedOption = type;\r\n vm.SelectedType = \"\";\r\n vm.SelectedChartName = \"\";\r\n vm.chartDisplayName = \"\";\r\n vm.chartDescription = \"\";\r\n vm.dataFilters = [];\r\n }\r\n\r\n vm.GetFieldValuesByFieldNames = function (EntityType, EntityName) {\r\n reportDetailService.GetFieldValuesByFieldNames(EntityType, EntityName,loggedinUser, token).then(function (resp) {\r\n vm.AllFieldValuesList = resp.data.Values;\r\n })\r\n }\r\n\r\n vm.ChangeMetrics = function (chart) {\r\n if(vm.selectedOption == 'metrices'){\r\n vm.chartName = chart.MetricsName\r\n }\r\n else{\r\n vm.chartName = chart.DimensionName\r\n }\r\n vm.chartDisplayName = chart.DisplayName;\r\n vm.chartDescription = chart.Description;\r\n vm.dataFilters = [];\r\n }\r\n\r\n vm.GetFieldTypesByEntityName = function (EntityType) {\r\n reportDetailService.GetFieldTypesByEntityName(EntityType, loggedinUser, token).then(function (resp) {\r\n vm.AllFieldList = resp.data;\r\n\r\n })\r\n }\r\n\r\n\r\n vm.GetMetricsByEntityType = function (EntityType,SelectedChartName) {\r\n reportDetailService.GetMetricsByEntityType(EntityType, loggedinUser, token).then(function (resp) {\r\n vm.AllMetricsList = resp.data;\r\n if(SelectedChartName){\r\n angular.forEach(vm.AllMetricsList, function (d) {\r\n if (d.MetricsName == SelectedChartName) {\r\n vm.SelectedChartName = d; \r\n return; \r\n }\r\n });\r\n vm.GetFieldTypesByEntityName(EntityType);\r\n if(vm.AllFieldList){\r\n vm.widgetupdate = $uibModal.open({\r\n templateUrl: 'updatewidget.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n }\r\n })\r\n }\r\n\r\n vm.GetDimensionByEntityName = function (EntityType,SelectedChartName) {\r\n reportDetailService.GetDimensionByEntityName(EntityType, loggedinUser, token).then(function (resp) {\r\n vm.AllDimensionsList = resp.data;\r\n if(SelectedChartName){\r\n angular.forEach(vm.AllDimensionsList, function (d) {\r\n if (d.DimensionName == SelectedChartName) {\r\n vm.SelectedChartName = d; \r\n vm.chartDisplayName = d.DisplayName;\r\n vm.chartDescription = d.Description; \r\n return; \r\n }\r\n });\r\n vm.GetFieldTypesByEntityName(EntityType);\r\n if(vm.AllFieldList){\r\n vm.widgetupdate = $uibModal.open({\r\n templateUrl: 'updatewidget.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n }\r\n })\r\n }\r\n\r\n vm.GetAllEntityTypes = function () {\r\n reportDetailService.GetAllEntityTypes(loggedinUser, token).then(function (resp) {\r\n vm.AllEntityList = resp.data;\r\n })\r\n }\r\n\r\n vm.GetAllEntityTypes();\r\n vm.dataFilters = [];\r\n\r\n vm.AddChartsToReport = function () {\r\n vm.feedbackForm.submitted = true;\r\n if (vm.feedbackForm.$valid) {\r\n data = {\r\n \"ReportId\": $stateParams.report_id,\r\n \"ChatType\": vm.selectedOption,\r\n \"ChartName\": vm.chartName,\r\n \"DisplayName\": vm.chartDisplayName,\r\n \"Description\": vm.chartDescription,\r\n \"DeleteChartId\": \"\",\r\n \"DataFilters\": vm.dataFilters\r\n }\r\n reportDetailService.AddChartsToReport(data, loggedinUser, token, vm.reportLayoutCallback);\r\n }\r\n }\r\n\r\n vm.UpdateChartsFromReport = function() {\r\n data ={\r\n \"ReportId\": $stateParams.report_id,\r\n \"ChatType\": vm.selectedOption,\r\n \"ChartName\": vm.chartName,\r\n \"DisplayName\": vm.chartDisplayName,\r\n \"Description\": vm.chartDescription,\r\n \"DeleteChartId\": vm.deleteChartId,\r\n \"DataFilters\": vm.dataFilters\r\n }\r\n reportDetailService.UpdateChartsFromReport(data, loggedinUser, token,vm.reportLayoutCallback);\r\n vm.dataFilters = [];\r\n vm.chartDisplayName= \"\";\r\n vm.chartDisplayName = \"\";\r\n vm.closeupdatewidget();\r\n // .then(function (resp) {\r\n // if(resp.data && resp.status == 201){ \r\n // $timeout(function () {\r\n // vm.getCustomerReport(vm.getReportName($stateParams.report_name));\r\n // }, 2000)\r\n // vm.showSuccess(\"Success\", resp.data);\r\n // }\r\n // else{\r\n // vm.showFailure(\"Failed\", resp.data);\r\n // }\r\n // })\r\n }\r\n\r\n vm.DeleteChartsFromReport = function(item) {\r\n if(item.chartId){\r\n vm.deleteChartId = item.chartId;\r\n }\r\n else{\r\n vm.deleteChartId = item.ChartId;\r\n }\r\n reportDetailService.DeleteChartsFromReport($stateParams.report_id,vm.deleteChartId, loggedinUser, token).then(function (resp) {\r\n if(resp.data && resp.status == 201){\r\n $timeout(function () {\r\n vm.getCustomerReport($stateParams.report_id);\r\n }, 2000)\r\n vm.showSuccess(\"Success\", resp.data);\r\n }\r\n else{\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n }\r\n\r\n }\r\n\r\n});\r\n\nangular.module('inspinia').service('reportDetailService', function (ApiURL, $log, $http, DashboardURL, $window, CronUrl, PublicApiURL) {\r\n\r\n vm = this;\r\n\r\n vm.setShowSuccess = function (success) {\r\n vm.showSuccess = success;\r\n }\r\n\r\n vm.setShowFailure = function (failure) {\r\n vm.showFailure = failure;\r\n }\r\n\r\n vm.getCustomerReport = function (loggedinUser, reportname, token, callback) {\r\n $http.get(DashboardURL + '/api/Report/' + loggedinUser + '/' + reportname + '/GetByReportName', { headers: { 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n });\r\n }\r\n\r\n vm.getCustomerReportById = function (loggedinUser, reportid, token, callback) {\r\n $http.get(DashboardURL + '/api/Report/GetReportById?reportId=' + reportid, { headers: { 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n });\r\n }\r\n\r\n vm.getDashboard = function (loggedinUser, dashbardName, token, callback) {\r\n $http.get(DashboardURL + '/api/Dashboard/' + loggedinUser + '/' + dashbardName + '/GetDashboardByName', {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n })\r\n }\r\n\r\n vm.GetDashboardByDashboardId = function (loggedinUser, dashboardId, token, callback) {\r\n $http.get(DashboardURL + '/api/Dashboard/GetDashboardByDashboardId?reqUserId=' + loggedinUser + '&DashboardId=' + dashboardId, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n })\r\n }\r\n\r\n vm.getChart = function (loggedinUser, token, chartType, metrics, dimensions, rollUp, filterKeys, filterValues, chartName, isData, total, callback) {\r\n $http.get(DashboardURL + '/api/Chart?ReqUserId=' + loggedinUser + '&ChartType=' + chartType + '&Metrics=' + metrics + '&DimensionList=' + dimensions + '&RollsUP=' + encodeURI(rollUp) + \"&FilterKeys=\" + filterKeys + \"&FilterValues=\" + filterValues + \"&isData=\" + isData + \"&total=\" + total, { headers: { 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if (callback) {\r\n res.data['chartName'] = chartName;\r\n callback(res.data);\r\n }\r\n });\r\n }\r\n\r\n this.getSkills = function (loggedinUser, token, callback, failure) {\r\n var url = ApiURL + '/api/SkillSets?reqUserId=' + loggedinUser;\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n }, function () {\r\n failure(\"skills\", \"Unable to get skills\");\r\n });\r\n }\r\n\r\n\r\n this.getAccounts = function (loggedinUser, token, callback, failure) {\r\n var url = ApiURL + '/api/account/GetAllAccountsMiniModel';\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n }, function () {\r\n failure(\"skills\", \"Unable to get accounts\");\r\n });\r\n }\r\n\r\n\r\n this.getBusinessUnits = function (loggedinUser, token, callback, failure) {\r\n var url = ApiURL + '/api/accountConfig/GetAllEnterpriseType';\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n }, function () {\r\n failure(\"skills\", \"Unable to get business units\");\r\n });\r\n }\r\n\r\n\r\n this.getAllState = function (loggedInUserId, token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.getDistrictsByState = function (loggedinUser, token, state, callback, failure) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State=' + state;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser\r\n }\r\n }).then(function (res) {\r\n callback(res.data.values);\r\n }, function () {\r\n failure(\"states\", \"Unable to get district\");\r\n });\r\n }\r\n\r\n this.getCitiesByState = function (loggedinUser, token, state) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State=' + state;\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n // vm.getUsers = function (loggedinUser, token, callback) {\r\n // $http.get(ApiURL + '/api/' + loggedinUser + '/User', { headers: { 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n // if (callback) {\r\n // callback(res.data);\r\n // }\r\n // })\r\n // }\r\n\r\n vm.getUsersLite = function (loggedinUser, token, callback) {\r\n $http.get(DashboardURL + '/api/Dashboard/GetReportUsers', { headers: { 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n })\r\n }\r\n\r\n vm.mailReport = function (token, toList, ccList, bccList, subject, message, reportName, userID, filterKey, filterValue, reportInMailBody, rollUps, callback) {\r\n var data = {\r\n \"TOList\": toList,\r\n \"CCList\": ccList,\r\n \"BCCList\": bccList,\r\n \"Body\": message,\r\n \"Subject\": subject,\r\n \"ReportName\": reportName,\r\n \"ReqUserId\": userID,\r\n \"FilterKeys\": null,\r\n \"FilterValues\": null,\r\n \"ReportInMailBody\": reportInMailBody,\r\n \"RollUps\": rollUps\r\n };\r\n\r\n $http.post(DashboardURL + '/api/Report/mailexcelreportbyname', data, { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': userID } }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n })\r\n }\r\n\r\n // vm.scheduleReport = function (loggedinUser, data, token, callback) {\r\n // $http.post(ApiURL + '/api/ReportSchedule/cron?userId=' + loggedinUser, data, { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n // if (callback) {\r\n // callback(res.data);\r\n // }\r\n // })\r\n // }\r\n\r\n vm.scheduleReport = function (loggedinUser, data, token, callback) {\r\n $http.put(DashboardURL + '/api/AddUpateScheduleToReport', data, { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n })\r\n }\r\n\r\n vm.RescheduleReport = function (loggedinUser, data, token, callback) {\r\n $http.put(ApiURL + '/api/ReportSchedule/cron?userId=' + loggedinUser, data, { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n })\r\n }\r\n\r\n vm.downloadReport = function (reportName, loggedinUser, filterKey, filterName, rollUps, isData) {\r\n $window.location.href = PublicApiURL + \"/api/Report/DownloadExcelReportByReportName?reportName=\" + reportName + \"&reqUserId=\" + loggedinUser + \"&FilterKeys=\" + filterKey + \"&FilterValues=\" + filterName + \"&RollUps=\" + rollUps + \"&isData=\" + isData;\r\n console.log('$window.location.href', $window.location.href);\r\n }\r\n\r\n vm.checkReportName = function (reportName, callback) {\r\n $http.get(CronUrl + '/isCronNameExists?name=' + reportName, { headers: { 'Content-Type': 'application/json' } }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n })\r\n }\r\n\r\n vm.GetAllEntityTypes = function (loggedinUser, token) {\r\n var url = DashboardURL + '/api/Dashboard/GetAllEntityTypes';\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n vm.GetFieldTypesByEntityName = function (EntityType, loggedinUser, token) {\r\n var url = DashboardURL + '/api/Dashboard/GetFieldTypesByEntityName?EntityName=' + EntityType;\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n vm.GetFieldValuesByFieldNames = function (EntityType, FieldName, loggedinUser, token) {\r\n var url = DashboardURL + '/api/Dashboard/GetFieldValuesByFieldNames?EntityName=' + EntityType + '&FieldName=' + FieldName;\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n vm.GetMetricsByEntityType = function (EntityType, loggedinUser, token) {\r\n var url = DashboardURL + '/api/Metrics/GetMetricsByEntityType?EntityType=' + EntityType;\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n vm.GetDimensionByEntityName = function (EntityType, loggedinUser, token) {\r\n var url = DashboardURL + '/api/GetDimensionByEntityName?Name=' + EntityType;\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n vm.AddChartsToReport = function (data, loggedinUser, token, callback) {\r\n var url = DashboardURL + '/api/AddChartsToReport';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n });\r\n }\r\n\r\n vm.AddChartsToDashboard = function (data, loggedinUser, token, callback) {\r\n var url = DashboardURL + '/api/Chart/AddChartsToDashboard';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n });\r\n }\r\n\r\n vm.UpdateChartsFromReport = function (data, loggedinUser, token, callback) {\r\n var url = DashboardURL + '/api/UpdateChartsFromReport';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n });\r\n }\r\n\r\n\r\n vm.UpdateChartsFromDashboard = function (data, loggedinUser, token, callback) {\r\n var url = DashboardURL + '/api/Chart/UpdateChartsFromDashboard';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n });\r\n }\r\n\r\n vm.DeleteChartsFromReport = function (ReportId, deleteChartId, loggedinUser, token) {\r\n var url = DashboardURL + '/api/DeleteChartsFromReport?ReportId=' + ReportId + '&ChartId=' + deleteChartId;\r\n return $http.put(url, null, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n vm.DeleteChartsFromDashboard = function (DashboardId, deleteChartId, loggedinUser, token) {\r\n var url = DashboardURL + '/api/Chart/DeleteChartsFromDashboard?DashboardId=' + DashboardId + '&ChartId=' + deleteChartId;\r\n return $http.put(url, null, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.SaveCustomSettingsForDashboard = function (DashboardId, order, loggedinUser, token) {\r\n var url = DashboardURL + '/api/Chart/SaveLayoutToDashboard?DashboardId=' + DashboardId;\r\n return $http.put(url, order, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.SaveCustomSettings = function (ReportId, order, loggedinUser, token) {\r\n var url = DashboardURL + '/api/SaveLayoutToReport?ReportId=' + ReportId;\r\n return $http.put(url, order, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n});\r\n\nangular.module(\"inspinia\").controller(\"reportDetailController\", function ($uibModal, $window, DashboardURL, $compile, MainService, $scope, $log, $q, dashboardReportListService, CentralHelpdeskConfigService, DTOptionsBuilder, DTColumnBuilder, $timeout, $localStorage, $state, $stateParams, reportDetailService) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n vm.DocumentType = $stateParams.Type;\r\n vm.ReportId = $stateParams.report_id;\r\n vm.ReportName = '';\r\n var token = $localStorage.token;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n $scope.isLayoutEditable = false;\r\n vm.AllFieldList = [];\r\n vm.AllValues = [];\r\n vm.tableCharts = {};\r\n vm.deepLink = {};\r\n vm.valueClass = {};\r\n vm.selectedOption = 'dimension';\r\n var intialLoad = true;\r\n vm.users = [];\r\n vm.filename = '';\r\n vm.attachReportInMailBody = true;\r\n vm.attachReportInExcel = true;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n vm.filter_key = $stateParams.filter_key ? $stateParams.filter_key : \"\";\r\n vm.isData = $stateParams.isData ? $stateParams.isData : false;\r\n vm.key = $stateParams.key ? $stateParams.key : \"\";\r\n vm.filter_name = $stateParams.filter_name ? $stateParams.filter_name : \"\";\r\n vm.additionalInfo = $stateParams.end_date ? $stateParams.end_date : \"\";\r\n var today = new Date();\r\n var formattedDate = today.toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric' });\r\n // vm.defaultMailBody = \"Hello,\\n\\nYou are requested to view project report on below link \\n\\n\" + $window.location.href + \" \\n\\nThanks\\nMobiforce Team\";\r\n vm.defaultMailBody = 'Hello User,\\n\\nPlease find report ' + vm.SharedReportName + 'on ' + formattedDate + '\\n\\nThanks\\nMobiforce Team';\r\n var creationDatefunc = $scope.$parent.$parent.main.AccountStartDate;\r\n vm.accountCreationDate = creationDatefunc();\r\n vm.tableCharts = {};\r\n vm.selectDimension = {};\r\n vm.dashboard_data = {};\r\n vm.metricsCharts = {};\r\n vm.tableCharts = {};\r\n vm.lineCharts = {};\r\n vm.pieCharts = {};\r\n vm.barCharts = {};\r\n vm.stackedCharts = {};\r\n var start_date = '';\r\n var thisFiscalStart = '';\r\n var thisFiscalEnd = '';\r\n vm.BusinessUnit = '';\r\n vm.State = '';\r\n vm.Skill = '';\r\n vm.Account = '';\r\n vm.filterKeys = '';\r\n vm.filterValues = '';\r\n var total = 'Total';\r\n\r\n if (moment().quarter() === 2) {\r\n thisFiscalStart = moment().month('April').startOf('month');\r\n thisFiscalEnd = moment().add(1, 'year').month('March').endOf('month');\r\n } else {\r\n thisFiscalStart = moment().subtract(1, 'year').month('April').startOf('month');\r\n thisFiscalEnd = moment().month('March').endOf('month');\r\n };\r\n\r\n\r\n $log.log('$stateParams.start_date', $stateParams.start_date);\r\n if ($stateParams.start_date) {\r\n vm.rollup = $stateParams.start_date;\r\n //\"Range(\"+startDate+\"|\"+endDate+\")\";\r\n var dateArray1 = vm.rollup.split('(');\r\n var dateArray2 = dateArray1[1].split(')');\r\n var dateArray3 = dateArray2[0].split('|');\r\n var startDate = moment(dateArray3[0]).format(\"YYYY-MM-DD\");\r\n var endDate = moment(dateArray3[1]).format(\"YYYY-MM-DD\");\r\n $scope.dates = { startDate: moment(dateArray3[0]), endDate: moment(dateArray3[1]) };\r\n\r\n } else if (vm.isData) {\r\n if ($stateParams.start_date == '' || $stateParams.start_date == null) {\r\n $scope.dates = { startDate: vm.accountCreationDate, endDate: moment() };\r\n var startDate = vm.accountCreationDate;\r\n //var startDate = moment(0).format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.rollup = \"Range(\" + startDate + \"|\" + endDate + \")\";\r\n }\r\n } else {\r\n $scope.dates = { startDate: moment().subtract(0, 'days'), endDate: moment() };\r\n var startDate = moment().subtract(0, 'days').format(\"YYYY-MM-DD\");\r\n //var startDate = moment(0).format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.rollup = \"Range(\" + startDate + \"|\" + endDate + \")\";\r\n\r\n }\r\n\r\n vm.shareModel = {\r\n selectedUsers: [],\r\n toList: [],\r\n ccList: [],\r\n bccList: [],\r\n content: vm.defaultMailBody\r\n };\r\n vm.monthNames3 = [\"JAN\", \"FEB\", \"MAR\", \"APR\", \"MAY\", \"JUN\",\r\n \"JUL\", \"AUG\", \"SEP\", \"OCT\", \"NOV\", \"DEC\"\r\n ];\r\n\r\n vm.scheduleModel = {\r\n frequency: \"once\",\r\n once: \"once\",\r\n daily: \"daily\",\r\n weekly: \"weekly\",\r\n every_15_days: \"every_15_days\",\r\n monthly: \"monthly\",\r\n cronExpression: \"expression\",\r\n input_for_month: {\r\n option: \"start_of_day\",\r\n start_of_day: \"start_of_day\",\r\n end_of_day: \"end_of_day\",\r\n specific_date: \"specific_date\",\r\n date: 1\r\n },\r\n specific_date_range: [],\r\n start_date: moment(),\r\n end_date: moment().add(1, 'M'),\r\n attachReportInMailBody: true,\r\n attachReportInExcel: true,\r\n scheduleTime: \"\",\r\n scheduleName: \"\",\r\n reportNameAlreadyExists: false,\r\n reportNameMendtryErr: false,\r\n toListMendtryErr: false,\r\n timeMendtryErr: false,\r\n sampleDateMendtryErr: false,\r\n pull_data: {\r\n range: \"last_day\",\r\n day: \"last_day\",\r\n week: \"last_week\",\r\n month: \"last_month\",\r\n quarter: \"last_quarter\",\r\n current_month: \"current_month\",\r\n specific: \"specific\",\r\n specific_day_value: 1,\r\n calculate_range: function () {\r\n //$log.log(vm.scheduleModel.pull_data.range);\r\n var today = new Date();\r\n if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.day) {\r\n var date = today;\r\n return date.getDate() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear();\r\n } if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.week) {\r\n var date = new Date(today.getFullYear(), today.getMonth(), today.getDate() - 7);\r\n return date.getDate() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth() + 1) + \"-\" + today.getFullYear();\r\n } if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.month) {\r\n var date = new Date(today.getFullYear(), today.getMonth() - 1, today.getDate());\r\n return date.getDate() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth() + 1) + \"-\" + today.getFullYear();\r\n } if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.quarter) {\r\n var date = new Date(today.getFullYear(), today.getMonth() - 3, today.getDate());\r\n return date.getDate() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth() + 1) + \"-\" + today.getFullYear();\r\n }\r\n if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.current_month) {\r\n var date = new Date(today.getFullYear(), today.getMonth(), today.getDate());\r\n return 1 + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth() + 1) + \"-\" + today.getFullYear();\r\n }\r\n if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.specific) {\r\n //$log.log(vm.scheduleModel.pull_data.specific_day_value)\r\n var date = new Date(today.getFullYear(), today.getMonth(), today.getDate() - vm.scheduleModel.pull_data.specific_day_value);\r\n return date.getDate() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth() + 1) + \"-\" + today.getFullYear();\r\n }\r\n }\r\n }\r\n };\r\n\r\n for (var i = 1; i < 32; i++) {\r\n vm.scheduleModel.specific_date_range.push({ value: i, label: i });\r\n }\r\n $scope.ranges = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment()]\r\n };\r\n\r\n $scope.dashboardranges = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Payment week': [moment().startOf('week').isoWeekday(1), moment().endOf('week').isoWeekday(0)],\r\n // 'Last week': [moment().subtract(1, 'weeks').startOf('week').isoWeekday(1), moment().subtract(1, 'weeks').endOf('week').isoWeekday(0)], \r\n 'This week': [moment().startOf('week'), moment().endOf('week')],\r\n 'Last week': [moment().subtract(1, 'weeks').startOf('week'), moment().subtract(1, 'weeks').endOf('week')],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n 'Last month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')],\r\n // 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This quater': [moment().startOf('quarter'), moment().endOf('quarter')],\r\n 'Last quater': [moment().subtract(1, 'quarters').startOf('quarter'), moment().subtract(1, 'quarters').endOf('quarter')],\r\n 'This year': [thisFiscalStart, thisFiscalEnd],\r\n 'Till now': [moment().subtract(5, 'years'), moment()]\r\n };\r\n\r\n\r\n $scope.dateRangeChange = function (ev, picker) {\r\n var startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n var endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n vm.AllValues = [];\r\n vm.rollup = \"Range(\" + startDate + \"|\" + endDate + \")\";\r\n if (vm.DocumentType == 'dashboard') {\r\n vm.GetDashboardByDashboardId($stateParams.report_id);\r\n intialLoad = false;\r\n }\r\n else if (vm.DocumentType == 'report') {\r\n vm.getCustomerReport($stateParams.report_id);\r\n }\r\n vm.tableCharts = {};\r\n };\r\n\r\n $scope.filterRangeChange = function (ev, picker) {\r\n vm.filterstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n vm.filterendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n };\r\n\r\n vm.getSkills = function () {\r\n reportDetailService.getSkills(loggedinUser, token, function (skills) {\r\n vm.skills = skills;\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.getAccounts = function () {\r\n if (vm.loggedinUserRole == \"Dispatch Manager\") {\r\n CentralHelpdeskConfigService.getAllAccounts(loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data && resp.status == 200) {\r\n vm.accounts = resp.data;\r\n }\r\n }, vm.showFailure);\r\n }\r\n else {\r\n reportDetailService.getAccounts(loggedinUser, token, function (accounts) {\r\n vm.accounts = accounts;\r\n }, vm.showFailure);\r\n }\r\n }\r\n\r\n vm.getBusinessUnits = function () {\r\n reportDetailService.getBusinessUnits(loggedinUser, token, function (businessUnits) {\r\n vm.businessUnits = businessUnits;\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.getStates = function () {\r\n reportDetailService.getAllState(loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length > 0) {\r\n vm.states = resp.data;\r\n }\r\n }\r\n });\r\n }\r\n\r\n vm.getDistrictByState = function () {\r\n reportDetailService.getDistrictsByState(loggedinUser, token, vm.State, function (districts) {\r\n vm.districts = districts;\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.getCitiesByState = function () {\r\n reportDetailService.getCitiesByState(loggedinUser, token, vm.State).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length > 0) {\r\n vm.districts = resp.data;\r\n }\r\n }\r\n });\r\n }\r\n\r\n $log.log('$stateParams.start_date', $stateParams.start_date);\r\n if ($stateParams.start_date) {\r\n vm.rollup = $stateParams.start_date;\r\n var dateArray1 = vm.rollup.split('(');\r\n var dateArray2 = dateArray1[1].split(')');\r\n var dateArray3 = dateArray2[0].split('|');\r\n var startDate = moment(dateArray3[0]).format(\"YYYY-MM-DD\");\r\n var endDate = moment(dateArray3[1]).format(\"YYYY-MM-DD\");\r\n $scope.dates = { startDate: moment(dateArray3[0]), endDate: moment(dateArray3[1]) };\r\n } else if (vm.isData) {\r\n if ($stateParams.start_date == '' || $stateParams.start_date == null) {\r\n $scope.dates = { startDate: vm.accountCreationDate, endDate: moment() };\r\n var startDate = vm.accountCreationDate;\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.rollup = \"Range(\" + startDate + \"|\" + endDate + \")\";\r\n }\r\n } else {\r\n $scope.dates = { startDate: moment().subtract(0, 'days'), endDate: moment() };\r\n var startDate = moment().subtract(0, 'days').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.rollup = \"Range(\" + startDate + \"|\" + endDate + \")\";\r\n }\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n vm.filter_key = $stateParams.filter_key ? $stateParams.filter_key : \"\";\r\n vm.isData = $stateParams.isData ? $stateParams.isData : false;\r\n vm.key = $stateParams.key ? $stateParams.key : \"\";\r\n vm.filter_name = $stateParams.filter_name ? $stateParams.filter_name : \"\";\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n $scope.dragoverCallback = function (index, external, type, callback) {\r\n $scope.logListEvent('dragged over', index, external, type);\r\n // Invoke callback to origin for container types.\r\n if (type == 'container' && !external) {\r\n console.log('Container being dragged contains ' + callback() + ' items');\r\n }\r\n return index < 10; // Disallow dropping in the third row.\r\n };\r\n\r\n $scope.order = [];\r\n var currentIndex = 0;\r\n $scope.dropCallback = function (index, item, external, type) {\r\n $scope.logListEvent('dropped at', index, item, external, type);\r\n $scope.order = vm.AllValuesOriginalIndex;\r\n var currentIndex = $scope.order.indexOf(item.chartId);\r\n // If the item is already in the order array, remove it from the current position\r\n if (currentIndex !== -1) {\r\n $scope.order.splice(currentIndex, 1);\r\n }\r\n // Insert the item at the new position\r\n $scope.order.splice(index, 0, item.chartId);\r\n console.log($scope.order);\r\n return item;\r\n };\r\n\r\n $scope.logEvent = function (message) {\r\n console.log(message);\r\n };\r\n\r\n $scope.logListEvent = function (action, index, external, type) {\r\n var message = external ? 'External ' : '';\r\n message += type + ' element was ' + action + ' position ' + index;\r\n console.log(message);\r\n };\r\n\r\n\r\n var id = 10;\r\n angular.forEach(vm.metricsChart, function (container) {\r\n var container = { items: [], effectAllowed: effect };\r\n for (var k = 0; k < 7; ++k) {\r\n container.items.push({ label: effect + ' ' + id++, effectAllowed: \"all\" });\r\n }\r\n });\r\n\r\n $scope.$watch(vm.metricsChart, function (model) {\r\n $scope.modelAsJson = angular.toJson(model, true);\r\n }, true);\r\n\r\n\r\n vm.dashboardCallback = vm.createCallback(null, [function (data) {\r\n if (vm.widgetcreate) {\r\n vm.closecreatewidet();\r\n }\r\n else if (vm.widgetupdate) {\r\n vm.closeupdatewidget();\r\n }\r\n vm.dashboard_data = data;\r\n var matricsCount = 0;\r\n vm.tableCount = 0;\r\n vm.lineCount = 0;\r\n vm.tableNames = [];\r\n vm.tableOrder = [];\r\n vm.tableArray = [];\r\n var matricsIds = [];\r\n vm.AllValues = [];\r\n var linechartIds = [];\r\n vm.lineArray = [];\r\n if (data && data.DashboardFilters) {\r\n vm.enableFilter = true;\r\n vm.updateDefaultDateFilter(data.DashboardFilters);\r\n }\r\n else {\r\n vm.enableFilter = false;\r\n vm.updateDefaultDateFilter(null);\r\n }\r\n\r\n angular.forEach(data.ChartModel, function (d) {\r\n\r\n if (d.ClickableColumns != null && d.ClickableColumns.length > 0) {\r\n angular.forEach(d.ClickableColumns, function (cl) {\r\n if (cl.Link == \"ProjectSummary\") {\r\n vm.deepLink[cl.ColumnName + \" \" + d.ChartId] = function () {\r\n return \"index.Report({report_name:'ProjectSummary', key:'\" + cl.KeyName + \"'})\";\r\n }\r\n } else if (cl.Link == \"CustomerSummary\") {\r\n vm.deepLink[cl.ColumnName + \" \" + d.ChartId] = function () {\r\n\r\n return \"index.Report({report_name:'CustomerSummary', key:'\" + cl.KeyName + \"'})\";\r\n }\r\n } else if (cl.Link == \"DashboardReport\") {\r\n\r\n vm.deepLink[cl.ColumnName + \" \" + d.ChartId] = function (filterValue, filterName) {\r\n var Keyfilter = cl.KeyName;\r\n if (cl.KeyName.indexOf(\"|\") >= 0) {\r\n var stringArray = cl.KeyName.split('|');\r\n filterName = stringArray[1];\r\n Keyfilter = stringArray[0];\r\n }\r\n if (filterValue == undefined && filterName == undefined) {\r\n filterValue = '';\r\n filterName = '';\r\n }\r\n if (d.ChartType == 'Metrics') {\r\n if (d.Rollups && d.Rollups.length > 0) {\r\n angular.forEach(d.Rollups, function (d) {\r\n if (d == 'Today') {\r\n var sDate = moment().format(\"YYYY-MM-DD\");\r\n var eDate = moment().format(\"YYYY-MM-DD\");\r\n start_date = \"Range(\" + sDate + \"|\" + eDate + \")\";\r\n }\r\n else if (d == 'Yesterday') {\r\n var sDate = moment().subtract(1, 'days').format(\"YYYY-MM-DD\");\r\n var eDate = moment().subtract(1, 'days').format(\"YYYY-MM-DD\");\r\n start_date = \"Range(\" + sDate + \"|\" + eDate + \")\";\r\n }\r\n else if (d == 'Monthly') {\r\n var sDate = moment().startOf('month').format(\"YYYY-MM-DD\");\r\n var eDate = moment().endOf('month').format(\"YYYY-MM-DD\");\r\n start_date = \"Range(\" + sDate + \"|\" + eDate + \")\";\r\n } else if (d == 'Week1') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date = vm.GetDateRange(getCurrentMonth, getCurrentYear, 'week1');\r\n } else if (d == 'Week2') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date = vm.GetDateRange(getCurrentMonth, getCurrentYear, 'week2');\r\n } else if (d == 'Week3') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date = vm.GetDateRange(getCurrentMonth, getCurrentYear, 'week3');\r\n } else if (d == 'Week4') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date = vm.GetDateRange(getCurrentMonth, getCurrentYear, 'week4');\r\n }\r\n })\r\n } else {\r\n start_date = vm.rollup;\r\n }\r\n var obj = {\r\n \"report_name\": 'LinkTicketReport',\r\n \"key\": Keyfilter,\r\n \"filter_key\": filterName,\r\n \"filter_name\": filterValue,\r\n \"start_date\": start_date,\r\n \"isData\": true\r\n }\r\n return obj;\r\n } else {\r\n return \"index.DashboardReport({report_name:'LinkTicketReport', key:'\" + Keyfilter + \"',filter_key:'\" + filterName + \"', filter_name:'\" + filterValue + \"', start_date:'\" + vm.rollup + \"', isData:'\" + true + \"'})\";\r\n }\r\n }\r\n } else {\r\n if (cl.Link) {\r\n vm.deepLink[cl.ColumnName + \" \" + d.ChartId] = function (filterValue, filterName) {\r\n var Keyfilter = cl.KeyName;\r\n if (cl.KeyName.indexOf(\"|\") >= 0) {\r\n var stringArray = cl.KeyName.split('|');\r\n filterName = stringArray[1];\r\n Keyfilter = stringArray[0];\r\n }\r\n if (filterValue == undefined && filterName == undefined) {\r\n filterValue = '';\r\n filterName = '';\r\n }\r\n\r\n filterName = filterName + ',' + vm.filterKeys;\r\n filterValue = filterValue + ',' + vm.filterValues;\r\n\r\n if (d.ChartType == 'Metrics') {\r\n if (d.Rollups && d.Rollups.length > 0) {\r\n angular.forEach(d.Rollups, function (d) {\r\n if (d == 'Today') {\r\n var sDate = moment().format(\"YYYY-MM-DD\");\r\n var eDate = moment().format(\"YYYY-MM-DD\");\r\n start_date = \"Range(\" + sDate + \"|\" + eDate + \")\";\r\n }\r\n else if (d == 'Yesterday') {\r\n var sDate = moment().subtract(1, 'days').format(\"YYYY-MM-DD\");\r\n var eDate = moment().subtract(1, 'days').format(\"YYYY-MM-DD\");\r\n start_date = \"Range(\" + sDate + \"|\" + eDate + \")\";\r\n } else if (d == 'Monthly') {\r\n var sDate = moment().startOf('month').format(\"YYYY-MM-DD\");\r\n var eDate = moment().endOf('month').format(\"YYYY-MM-DD\");\r\n start_date = \"Range(\" + sDate + \"|\" + eDate + \")\";\r\n } else if (d == 'Week1') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date = vm.GetDateRange(getCurrentMonth, getCurrentYear, 'week1');\r\n } else if (d == 'Week2') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date = vm.GetDateRange(getCurrentMonth, getCurrentYear, 'week2');\r\n } else if (d == 'Week3') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date = vm.GetDateRange(getCurrentMonth, getCurrentYear, 'week3');\r\n } else if (d == 'Week4') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date = vm.GetDateRange(getCurrentMonth, getCurrentYear, 'week4');\r\n }\r\n })\r\n } else {\r\n start_date = vm.rollup;\r\n }\r\n var obj = {\r\n \"report_name\": cl.Link,\r\n \"key\": Keyfilter,\r\n \"filter_key\": filterName,\r\n \"filter_name\": filterValue,\r\n \"start_date\": start_date,\r\n \"isData\": true\r\n }\r\n return obj;\r\n } else {\r\n return \"index.DashboardReport({report_name:'\" + cl.Link + \"', key:'\" + Keyfilter + \"',filter_key:'\" + filterName + \"', filter_name:'\" + filterValue + \"', start_date:'\" + vm.rollup + \"', isData:'\" + true + \"'})\";\r\n }\r\n }\r\n }\r\n }\r\n })\r\n }\r\n\r\n if (d.ChartType == 'Line') {\r\n vm.lineCount = vm.lineCount + 1;\r\n linechartIds.push(d.ChartId);\r\n vm.lineCharts[d.ChartId] = d;\r\n vm.lineCharts[d.ChartId].value = \"Loading...\";\r\n var CompLData = {};\r\n CompLData.chartId = d.ChartId;\r\n CompLData.chartType = 'linecharts';\r\n CompLData.metrics = d.Metrics;\r\n CompLData.value = \"Loading...\";\r\n CompLData.EntityName = d.EntityName;\r\n CompLData.DataFilters = d.DataFilters;\r\n CompLData.ChartTitle = d.ChartTitle;\r\n CompLData.ChartSubtitle = d.ChartSubtitle;\r\n CompLData.Rollups = d.Rollups;\r\n CompLData.YAxis = d.YAxis;\r\n vm.lineArray.push(CompLData);\r\n }\r\n\r\n if (d.ChartType == 'Metrics') {\r\n matricsCount++;\r\n matricsIds.push(d.ChartId);\r\n vm.metricsCharts[d.ChartId] = d;\r\n vm.metricsCharts[d.ChartId].value = \"Loading...\";\r\n var CompData = {};\r\n CompData.chartId = d.ChartId;\r\n CompData.chartType = 'metrices';\r\n CompData.metrics = d.Metrics[0];\r\n CompData.value = \"Loading...\";\r\n CompData.EntityName = d.EntityName;\r\n CompData.DataFilters = d.DataFilters;\r\n CompData.ChartTitle = d.ChartTitle;\r\n CompData.ChartSubtitle = d.ChartSubtitle;\r\n vm.AllValues.push(CompData);\r\n }\r\n\r\n if (d.ChartType == 'Table') {\r\n vm.tableNames[vm.tableCount] = d.ChartTitle;\r\n vm.tableOrder[vm.tableCount] = d.ChartId;\r\n vm.tableCount = vm.tableCount + 1;\r\n vm.tableCharts[d.ChartId] = {};\r\n vm.tableCharts[d.ChartId].ChartId = d.ChartId;\r\n vm.tableCharts[d.ChartId].ChartTitle = d.ChartTitle;\r\n vm.tableCharts[d.ChartId].ChartSubtitle = d.ChartSubtitle;\r\n vm.tableCharts[d.ChartId].DataFilters = d.DataFilters;\r\n vm.tableCharts[d.ChartId].EntityName = d.EntityName;\r\n }\r\n\r\n if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Today\") >= 0 && d.ChartType != 'CustomLine') {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Today\");\r\n }\r\n else if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Yesterday\") >= 0 && d.ChartType != 'CustomLine') {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Yesterday\");\r\n }\r\n else if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Week1\") >= 0 && d.ChartType != 'CustomLine') {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Week1\");\r\n } else if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Week2\") >= 0 && d.ChartType != 'CustomLine') {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Week2\");\r\n } else if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Week3\") >= 0 && d.ChartType != 'CustomLine') {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Week3\");\r\n } else if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Week4\") >= 0 && d.ChartType != 'CustomLine') {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Week4\");\r\n }\r\n else if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Monthly\") >= 0 && d.ChartType != 'CustomLine') {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Monthly\");\r\n }\r\n else if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Monthly-6\") >= 0 && d.ChartType != 'CustomLine') {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Monthly-6\");\r\n }\r\n else if (d.ChartType == 'CustomLine' && d.Dimensions.length > 0 && d.Rollups.indexOf(\"Monthly\") >= 0) {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, \"Monthly\");\r\n }\r\n else if (d.ChartType == 'CustomLine' && d.Dimensions.length > 0 && d.Rollups.indexOf(\"Today\") >= 0) {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, \"Today\");\r\n }\r\n else if (d.ChartType == 'CustomLine' && d.Dimensions.length > 0 && d.Rollups.indexOf(\"Yesterday\") >= 0) {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, \"Yesterday\");\r\n }\r\n else if (d.ChartType == 'CustomBar' && d.Dimensions.length > 0) {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, '');\r\n } else if (d.ChartType == 'DrillDownBar' && d.Dimensions.length > 0) {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, '');\r\n } else if (d.ChartType == 'CustomStackedBar' && d.Dimensions.length > 0) {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, '');\r\n } else if (d.ChartType == 'CustomPie' && d.Dimensions.length > 0) {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, '');\r\n }\r\n else {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, vm.rollup);\r\n }\r\n\r\n });\r\n }])\r\n\r\n vm.GetDashboardByDashboardId = function (dashboardName) {\r\n reportDetailService.GetDashboardByDashboardId(loggedinUser, dashboardName, token, vm.dashboardCallback);\r\n }\r\n\r\n vm.reportLayoutCallback = vm.createCallback(null, [function (data) {\r\n if (vm.widgetcreate) {\r\n vm.closecreatewidet();\r\n }\r\n else if (vm.widgetupdate) {\r\n vm.closeupdatewidget();\r\n }\r\n vm.report_data = data;\r\n vm.ReportName = data.ReportName;\r\n var matricsCount = 0;\r\n vm.tableCount = 0;\r\n vm.tableNames = [];\r\n vm.tableOrder = [];\r\n vm.tableArray = [];\r\n var matricsIds = [];\r\n vm.AllValues = [];\r\n angular.forEach(data.chartModel, function (d) {\r\n if (d.ClickableColumns != null && d.ClickableColumns.length > 0) {\r\n angular.forEach(d.ClickableColumns, function (cl) {\r\n if (cl.Link == \"Project Status Report\") {\r\n vm.deepLink[cl.ColumnName] = function (filterName) {\r\n return \"index.Report({report_name:'ProjectStatus', filter_key:'\" + cl.KeyName + \"', filter_name:'\" + filterName + \"', start_date:'\" + vm.rollup + \"'})\";\r\n }\r\n } if (cl.Link == \"Customer Status Report\") {\r\n vm.deepLink[cl.ColumnName] = function (filterName) {\r\n return \"index.Report({report_name:'CustomerStatusReport', filter_key:'\" + cl.KeyName + \"', filter_name:'\" + filterName + \"', start_date:'\" + vm.rollup + \"'})\";\r\n }\r\n } if (cl.Link == 'Customer Location HCL Report') {\r\n vm.deepLink[cl.ColumnName] = function (filterName) {\r\n return \"index.Report({report_name:'CustomerLocationHCLReport', filter_key:'\" + cl.KeyName + \"', filter_name:'\" + filterName + \"' , start_date:'\" + vm.rollup + \"'})\";\r\n }\r\n }\r\n if (cl.Link == 'City Ticket HCL Report') {\r\n vm.deepLink[cl.ColumnName] = function (filterName, i) {\r\n return \"index.Report({report_name:'CityTicketHCLReport', filter_key:'\" + cl.KeyName + \"', filter_name:'\" + filterName + \"' , start_date:'\" + vm.rollup + \"', end_date:'\" + i + \"'})\";\r\n }\r\n }\r\n if (cl.Link == 'Team Hcl Detailed Report') {\r\n vm.deepLink[cl.ColumnName] = function (filterName) {\r\n return \"index.Report({report_name:'TeamHclDetailedReport', filter_key:'\" + cl.KeyName + \"', filter_name:'\" + filterName + \"' , start_date:'\" + vm.rollup + \"'})\";\r\n }\r\n }\r\n if (cl.Link == 'Team Ticket HCL Report') {\r\n vm.deepLink[cl.ColumnName] = function (filterName, i) {\r\n return \"index.Report({report_name:'TeamTicketHCLReport', filter_key:'\" + cl.KeyName + \"', filter_name:'\" + filterName + \"' , start_date:'\" + vm.rollup + \"' , end_date:'\" + i + \"'})\";\r\n }\r\n }\r\n if (cl.Link == \"JobView\") {\r\n\r\n if (vm.VerticalName == \"IMS\") {\r\n vm.deepLink[cl.ColumnName] = function (param) {\r\n return \"index.JobView({ticketId:'\" + param + \"',type:'isTicketView'})\";\r\n }\r\n }\r\n else {\r\n vm.deepLink[cl.ColumnName] = function (param) {\r\n return \"index.JobDetailView({ticketId:'\" + param + \"',type:'isTicketView'})\";\r\n }\r\n\r\n }\r\n\r\n } if (cl.Link == 'Team Detailed Report') {\r\n vm.deepLink[cl.ColumnName] = function (filterName) {\r\n return \"index.Report({report_name:'TeamDetailReport', filter_key:'\" + cl.KeyName + \"', filter_name:'\" + filterName + \"', start_date:'\" + vm.rollup + \"'})\";\r\n }\r\n } if (cl.Link == 'Spectro Lab Detailed Report') {\r\n vm.deepLink[cl.ColumnName] = function (filterName) {\r\n return \"index.Report({report_name:'SpectroLabDetailedReport', filter_key:'\" + cl.KeyName + \"', filter_name:'\" + filterName + \"', start_date:'\" + vm.rollup + \"'})\";\r\n }\r\n } if (cl.Link == 'Finance Ticket Report') {\r\n vm.deepLink[cl.ColumnName] = function (filterName) {\r\n return \"index.Report({report_name:'Finance Ticket Report', filter_key:'\" + cl.KeyName + \"', filter_name:'\" + filterName + \"', start_date:'\" + vm.rollup + \"'})\";\r\n }\r\n }\r\n });\r\n }\r\n if (d.UIClasess != null && d.UIClasess.length > 0) {\r\n vm.valueClass = {};\r\n angular.forEach(d.UIClasess, function (cl) {\r\n vm.valueClass[cl.ColumnName] = cl.ClassName;\r\n });\r\n }\r\n vm.filter_key = '';\r\n vm.filter_name = '';\r\n if (d.DataFilters != null && d.DataFilters.length > 0) {\r\n angular.forEach(d.DataFilters, function (cl) {\r\n if (vm.filter_key) {\r\n vm.filter_key = vm.filter_key + \",\" + cl.FieldName;\r\n vm.filter_name = vm.filter_name + \",\" + cl.FieldValue;\r\n }\r\n else {\r\n vm.filter_key = cl.FieldName;\r\n vm.filter_name = cl.FieldValue;\r\n }\r\n });\r\n }\r\n if (d.ChartType == 'Metrics') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, vm.rollup, vm.filter_key, vm.filter_name, \"\", false);\r\n matricsCount++;\r\n matricsIds.push(d.ChartId);\r\n vm.metricsCharts[d.ChartId] = d;\r\n vm.metricsCharts[d.ChartId].value = \"Loading...\";\r\n var CompData = {};\r\n CompData.chartId = d.ChartId;\r\n CompData.chartType = 'metrices';\r\n CompData.metrics = d.Metrics[0];\r\n CompData.value = \"Loading...\";\r\n CompData.EntityName = d.EntityName;\r\n CompData.DataFilters = d.DataFilters;\r\n CompData.ChartTitle = d.ChartTitle;\r\n CompData.ChartSubtitle = d.ChartSubtitle;\r\n vm.AllValues.push(CompData);\r\n }\r\n else if (d.ChartType == 'Table') {\r\n if (vm.isData) {\r\n d.Metrics = vm.key;\r\n }\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, vm.rollup, vm.filter_key, vm.filter_name, d.ChartTitle, vm.isData);\r\n vm.tableNames[vm.tableCount] = d.ChartTitle;\r\n vm.tableOrder[vm.tableCount] = d.ChartId;\r\n vm.tableCount = vm.tableCount + 1;\r\n vm.tableCharts[d.ChartId] = {};\r\n vm.tableCharts[d.ChartId].ChartId = d.ChartId;\r\n vm.tableCharts[d.ChartId].ChartTitle = d.ChartTitle;\r\n vm.tableCharts[d.ChartId].ChartSubtitle = d.ChartSubtitle;\r\n vm.tableCharts[d.ChartId].DataFilters = d.DataFilters;\r\n vm.tableCharts[d.ChartId].EntityName = d.EntityName;\r\n }\r\n });\r\n if (matricsCount >= 5) {\r\n if (matricsCount % 4 == 0) {\r\n matricsCount = 4;\r\n } else {\r\n matricsCount = 3;\r\n }\r\n }\r\n matricsCount = 12 / matricsCount;\r\n matricsCount = Math.round(matricsCount);\r\n angular.forEach(matricsIds, function (d) {\r\n vm.metricsCharts[d].width = \"col-lg-\" + matricsCount;\r\n });\r\n }])\r\n\r\n\r\n vm.getCustomerReport = function (reportid) {\r\n reportDetailService.getCustomerReportById(loggedinUser, reportid, token, vm.reportLayoutCallback);\r\n }\r\n\r\n if (vm.DocumentType == 'dashboard') {\r\n vm.GetDashboardByDashboardId($stateParams.report_id);\r\n vm.getSkills();\r\n vm.getAccounts();\r\n vm.getBusinessUnits();\r\n vm.getStates();\r\n }\r\n else if (vm.DocumentType == 'report') {\r\n vm.getCustomerReport($stateParams.report_id);\r\n }\r\n\r\n vm.getChart = function (chartId, chartType, metrics, dimensions, rollUp, filterKeys, filterValues, chartName, isData, total) {\r\n vm.AllValuesOriginalIndex = [];\r\n vm.rachit = [];\r\n reportDetailService.getChart(loggedinUser, token, chartType, metrics, dimensions, rollUp, filterKeys, filterValues, chartName, isData, total, vm.createCallback(vm.rachit, [function (data) {\r\n if (chartType == 'Metrics') {\r\n vm.metricsCharts[chartId].value = data;\r\n for (var i = 0; i < vm.AllValues.length; i++) {\r\n if (vm.AllValues[i].chartId == chartId) {\r\n index = i;\r\n break; // Exit the loop when the chartId is found\r\n }\r\n }\r\n vm.AllValues[index].value = data;\r\n vm.AllValuesOriginalIndex.push(chartId);\r\n } else if (chartType == 'Table') {\r\n vm.tableCharts[chartId].value = data;\r\n vm.tableCharts[chartId].DimensionName = dimensions[0];\r\n vm.dataFilters = vm.tableCharts[chartId].DataFilters;\r\n vm.EntityName = vm.tableCharts[chartId].EntityName;\r\n vm.buildColumnBuilder(data, chartId, chartType, metrics, dimensions, rollUp, filterKeys, filterValues, chartName, isData);\r\n\r\n }\r\n console.log(vm.AllValuesOriginalIndex);\r\n }]));\r\n\r\n // for (var i = 0; i < vm.AllValues.length; i++) {\r\n // var chartData = vm.AllValues[i];\r\n // metricsDictionary[currentIndex] = chartData.chartId;\r\n // currentIndex++;\r\n // }\r\n // console.log(metricsDictionary);\r\n }\r\n\r\n\r\n\r\n vm.buildColumnBuilder = function (dataSets, chartId, chartType, metrics, dimensions, rollUp, filterKeys, filterValues, chartName, isData) {\r\n if (vm.tableCharts[chartId] && vm.tableCharts[chartId].value) {\r\n var columns = [];\r\n for (var key in dataSets.Categories) {\r\n var temp = '';\r\n // var columnName = key;\r\n temp = DTColumnBuilder.newColumn(key).withTitle(dataSets.Categories[key]).renderWith(function (data, type, full, meta) {\r\n var temp = '';\r\n function getKeyByValue(object, value) {\r\n for (var prop in object) {\r\n if (object.hasOwnProperty(prop)) {\r\n if (object[prop] === value)\r\n temp = prop;\r\n }\r\n }\r\n }\r\n getKeyByValue(full, data)\r\n var firstColumntKey = Object.values(full)[0];\r\n // var fixedCatogries = Object.values(vm.tableCharts[chartId].value.Categories)[0];\r\n var t = vm.tableCharts[chartId].value.Categories;\r\n var n = t[temp];\r\n if (vm.deepLink[n]) {\r\n return \"' + data + \"\";\r\n }\r\n //data = 'T360000388568_CCR_Form_Photo7825.jpg';\r\n\r\n if ((temp == 'CCR URL' || temp == 'CCRFormPhotoAttachmentPath' || temp == 'TicketSignOffReport') && data) {\r\n\r\n vm.filename = data.substring(data.lastIndexOf('/') + 1);\r\n\r\n\r\n return '' + vm.filename + ' ';\r\n\r\n }\r\n else if ((temp == 'FieldReports') && data) {\r\n var fileUrls = data.split(',');\r\n var ancharStr = '';\r\n var filename;\r\n angular.forEach(fileUrls, function (value, key) {\r\n filename = value.substring(value.lastIndexOf('/') + 1);\r\n ancharStr = ancharStr + '' + filename + ' ';\r\n });\r\n\r\n return ancharStr;\r\n\r\n }\r\n else {\r\n return data;\r\n }\r\n });\r\n columns.push(temp);\r\n }\r\n vm.tableCharts[chartId].dtColumns = columns;\r\n }\r\n\r\n\r\n\r\n vm.tableCharts[chartId].dtOptions = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n defer.resolve(dataSets.Values);\r\n return defer.promise;\r\n }).withDOM(\r\n '<\"html5buttons\"B>lTfgitp')\r\n .withOption('lengthChange', false)\r\n .withOption('order', [])\r\n .withButtons([{ extend: 'colvis' }, { extend: 'csv' }, { extend: 'print' }, { extend: 'copy' }])\r\n .withOption('createdRow', createdRow);\r\n }\r\n\r\n function createdRow(row, data, dataIndex) {\r\n // Recompiling so we can bind Angular directive to the DT\r\n $compile(angular.element(row).contents())($scope);\r\n }\r\n\r\n $scope.shouldHighlightItem = function () {\r\n $scope.isLayoutEditable = true;\r\n };\r\n\r\n $scope.shouldNotHighlightItem = function () {\r\n $scope.isLayoutEditable = false;\r\n };\r\n\r\n\r\n // Dashboard code start by simran\r\n\r\n vm.getChartDashboard = function (chartId, chartType, metrics, dimensions, subtitle, YAxis, rollup) {\r\n vm.AllValuesOriginalIndex = [];\r\n vm.lineArraysOriginalIndex = [];\r\n vm.selectDimension[chartId] = {};\r\n reportDetailService.getChart(loggedinUser, token, chartType, metrics, dimensions, rollup, vm.filterKeys, vm.filterValues, \"\", false, total, vm.createCallback(null, [function (data) {\r\n if (chartType == 'Metrics') {\r\n vm.metricsCharts[chartId].value = data;\r\n for (var i = 0; i < vm.AllValues.length; i++) {\r\n if (vm.AllValues[i].chartId == chartId) {\r\n index = i;\r\n break;\r\n }\r\n }\r\n vm.AllValues[index].value = data;\r\n vm.AllValuesOriginalIndex.push(chartId);\r\n }\r\n else if (chartType == 'Table') {\r\n vm.tableCharts[chartId].value = data;\r\n vm.tableCharts[chartId].DimensionName = dimensions[0];\r\n vm.dataFilters = vm.tableCharts[chartId].DataFilters;\r\n vm.EntityName = vm.tableCharts[chartId].EntityName;\r\n vm.createTableChart(chartId, data.Categories.length, data);\r\n }\r\n\r\n else if (chartType == 'Line') {\r\n vm.lineCharts[chartId] = {};\r\n vm.lineCharts[chartId].value = data;\r\n vm.lineCharts[chartId].selectedRollup = rollup;\r\n vm.createLineChart(chartId, YAxis);\r\n }\r\n else if (chartType == 'Bar') {\r\n vm.barCharts[chartId] = {};\r\n vm.barCharts[chartId].value = data;\r\n vm.barCharts[chartId].selectedRollup = rollup;\r\n vm.createBarChart(chartId, YAxis);\r\n } else if (chartType == 'StackedBar') {\r\n vm.stackedCharts[chartId] = {};\r\n vm.stackedCharts[chartId].value = data;\r\n vm.stackedCharts[chartId].selectedRollup = rollup;\r\n vm.createStackedChart(chartId, YAxis);\r\n } else if (chartType == 'Pie') {\r\n vm.pieCharts[chartId] = {};\r\n vm.pieCharts[chartId].value = data;\r\n vm.createPieChart(chartId, subtitle);\r\n } else if (chartType == 'CustomPie') {\r\n vm.pieCharts[chartId] = {};\r\n vm.pieCharts[chartId].value = data;\r\n vm.pieCharts[chartId].selectedDimension = dimensions;\r\n vm.createPieChart(chartId, subtitle);\r\n } else if (chartType == 'CustomLine') {\r\n vm.lineCharts[chartId] = {};\r\n vm.lineCharts[chartId].value = data;\r\n vm.lineCharts[chartId].selectedDimension = dimensions;\r\n vm.selectDimension[chartId].dimension = dimensions;\r\n vm.lineCharts[chartId].selectedRollup = rollup;\r\n vm.createLineChart(chartId, YAxis);\r\n } else if (chartType == 'CustomBar') {\r\n vm.barCharts[chartId] = {};\r\n vm.barCharts[chartId].value = data;\r\n vm.barCharts[chartId].selectedDimension = dimensions;\r\n vm.selectDimension[chartId].dimension = dimensions;\r\n vm.barCharts[chartId].selectedRollup = rollup;\r\n vm.createBarChart(chartId, YAxis);\r\n } else if (chartType == 'DrillDownBar') {\r\n vm.barCharts[chartId] = {};\r\n vm.barCharts[chartId].value = data;\r\n vm.barCharts[chartId].selectedDimension = dimensions;\r\n vm.selectDimension[chartId].dimension = dimensions;\r\n vm.barCharts[chartId].selectedRollup = rollup;\r\n vm.createDrilledDownBarChart(chartId, YAxis);\r\n } else if (chartType == 'CustomStackedBar') {\r\n vm.stackedCharts[chartId] = {};\r\n vm.stackedCharts[chartId].value = data;\r\n vm.stackedCharts[chartId].selectedDimension = dimensions;\r\n vm.selectDimension[chartId].dimension = dimensions;\r\n vm.stackedCharts[chartId].selectedRollup = rollup;\r\n vm.createStackedChart(chartId, YAxis);\r\n }\r\n }]));\r\n }\r\n\r\n vm.saveRollup = function (chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup) {\r\n if (chartType == 'Line') {\r\n vm.lineCharts[chartId].selectedRollup = rollup;\r\n if (!dimensions) {\r\n dimensions = '';\r\n }\r\n vm.getChartDashboard(chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup);\r\n vm.createLineChart(chartId, yAxis);\r\n } else if (chartType == 'Bar') {\r\n vm.barCharts[chartId].selectedRollup = rollup;\r\n vm.getChartDashboard(chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup);\r\n vm.createBarChart(chartId, yAxis);\r\n } else if (chartType == 'CustomLine') {\r\n vm.lineCharts[chartId].selectedRollup = rollup;\r\n dimensions = vm.lineCharts[chartId].selectedDimension;\r\n vm.getChartDashboard(chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup);\r\n vm.createLineChart(chartId, yAxis);\r\n } else if (chartType == 'CustomBar') {\r\n vm.barCharts[chartId].selectedRollup = rollup;\r\n if (vm.selectDimension && vm.selectDimension[chartId].dimension.length > 0) {\r\n dimensions = vm.selectDimension[chartId].dimension;\r\n } else {\r\n dimensions = vm.lineCharts[chartId].selectedDimension;\r\n }\r\n vm.getChartDashboard(chartId, chartType, metrics, dimensions, rollup);\r\n vm.createLineChart(chartId, yAxis);\r\n }\r\n }\r\n\r\n vm.createLineChart = function (chartId, yAxis) {\r\n vm.chartOptions = vm.chartOptions ? vm.chartOptions : {};\r\n $timeout(function () {\r\n if (vm.lineCharts[chartId] && vm.lineCharts[chartId].value) {\r\n vm.chartOptions[chartId] = {\r\n credits: {\r\n enabled: true\r\n },\r\n colors: ['#3093d1', '#fcb631', '#9ad631', '#f34ea8', '#30bfdd', '#fc9532', '#9f4bc7', '#304ec6', '#fcd731', '#f08576', '#418842'],\r\n chart: {\r\n type: 'line'\r\n },\r\n title: {\r\n text: ''\r\n },\r\n subtitle: {\r\n text: ''\r\n },\r\n xAxis: {\r\n categories: vm.lineCharts[chartId].value.Categories\r\n },\r\n // legend: {\r\n // layout: 'horizontal',\r\n // align: 'left',\r\n // itemWidth: 100,\r\n // verticalAlign: 'bottom',\r\n // //y: 30,\r\n // navigation: {\r\n // activeColor: '#3E576F',\r\n // animation: true,\r\n // arrowSize: 12,\r\n // inactiveColor: '#CCC',\r\n // style: {\r\n // fontWeight: 'bold',\r\n // color: '#333',\r\n // fontSize: '12px'\r\n // }\r\n // }\r\n // },\r\n // legend: {\r\n // align: 'right',\r\n // verticalAlign: 'top',\r\n // layout: 'vertical',\r\n // x: 0,\r\n // y: 100\r\n // },\r\n yAxis: {\r\n title: {\r\n text: yAxis\r\n },\r\n scrollbar: {\r\n enabled: true\r\n }\r\n },\r\n plotOptions: {\r\n line: {\r\n dataLabels: {\r\n enabled: true\r\n },\r\n enableMouseTracking: true\r\n }\r\n },\r\n series: GetSeries()\r\n\r\n };\r\n function GetSeries() {\r\n\r\n if (vm.lineCharts[chartId].value.Series.length > 10) {\r\n\r\n for (var i = 0; i < vm.lineCharts[chartId].value.Series.length; i++) {\r\n //vm.lineCharts[chartId].value.Series[i].visible = false;\r\n }\r\n return vm.lineCharts[chartId].value.Series;\r\n } else {\r\n return vm.lineCharts[chartId].value.Series;\r\n }\r\n }\r\n if (vm.lineCharts[chartId].value.Series.length > 10) {\r\n var legend = {\r\n layout: 'horizontal',\r\n align: 'left',\r\n itemWidth: 100,\r\n verticalAlign: 'bottom',\r\n //y: 30,\r\n navigation: {\r\n activeColor: '#3E576F',\r\n animation: true,\r\n arrowSize: 12,\r\n inactiveColor: '#CCC',\r\n style: {\r\n fontWeight: 'bold',\r\n color: '#333',\r\n fontSize: '12px'\r\n }\r\n }\r\n }\r\n vm.chartOptions[chartId].legend = legend;\r\n }\r\n\r\n var chart = new Highcharts.chart(chartId, vm.chartOptions[chartId]);\r\n\r\n chart.reflowNow = function () {\r\n this.containerHeight = this.options.chart.height || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'height');\r\n this.containerWidth = this.options.chart.width || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'width');\r\n this.setSize(this.containerWidth, this.containerHeight, false);\r\n this.hasUserSize = null;\r\n }\r\n }\r\n }, 1000);\r\n }\r\n vm.createBarChart = function (chartId, yAxis) {\r\n $timeout(function () {\r\n if (vm.barCharts[chartId] && vm.barCharts[chartId].value) {\r\n var chartData = {\r\n credits: {\r\n enabled: true\r\n },\r\n colors: ['#3093d1', '#fcb631', '#9ad631', '#f34ea8', '#30bfdd', '#fc9532', '#9f4bc7', '#304ec6', '#fcd731', '#f08576', '#418842'],\r\n chart: {\r\n type: 'column',\r\n inverted: false\r\n },\r\n legend: {\r\n enabled: true\r\n },\r\n title: {\r\n text: ''\r\n },\r\n subtitle: {\r\n text: ''\r\n },\r\n xAxis: {\r\n // type : 'category',\r\n categories: vm.barCharts[chartId].value.Categories\r\n },\r\n yAxis: {\r\n title: {\r\n text: yAxis\r\n }\r\n },\r\n plotOptions: {\r\n column: {\r\n dataLabels: {\r\n enabled: true,\r\n\r\n }\r\n }\r\n },\r\n\r\n series: vm.barCharts[chartId].value.Series\r\n // drilldown:vm.barCharts[chartId].value.drilldown\r\n\r\n };\r\n\r\n if (chartData && chartData.series && chartData.series.length > 0 && chartData.series[0].data\r\n && chartData.series[0].data.length > 0 && chartData.series[0].data[0]) {\r\n chartData.series[0].data[0].sliced = true;\r\n chartData.series[0].data[0].selected = true;\r\n }\r\n\r\n var chart = new Highcharts.chart(chartId, chartData);\r\n\r\n chart.reflowNow = function () {\r\n this.containerHeight = this.options.chart.height || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'height');\r\n this.containerWidth = this.options.chart.width || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'width');\r\n this.setSize(this.containerWidth, this.containerHeight, false);\r\n this.hasUserSize = null;\r\n }\r\n }\r\n }, 2000);\r\n }\r\n\r\n //Create DrillDown Bar Chart\r\n vm.createDrilledDownBarChart = function (chartId, yAxis) {\r\n $timeout(function () {\r\n if (vm.barCharts[chartId] && vm.barCharts[chartId].value) {\r\n var chartData = {\r\n credits: {\r\n enabled: true\r\n },\r\n colors: ['#3093d1', '#fcb631', '#9ad631', '#f34ea8', '#30bfdd', '#fc9532', '#9f4bc7', '#304ec6', '#fcd731', '#f08576', '#418842'],\r\n chart: {\r\n type: 'column',\r\n inverted: false\r\n },\r\n legend: {\r\n enabled: false\r\n },\r\n title: {\r\n text: ''\r\n },\r\n subtitle: {\r\n text: ''\r\n },\r\n xAxis: {\r\n type: 'category'\r\n\r\n },\r\n yAxis: {\r\n title: {\r\n text: yAxis\r\n }\r\n },\r\n plotOptions: {\r\n column: {\r\n dataLabels: {\r\n enabled: true,\r\n\r\n }\r\n }\r\n },\r\n\r\n series: vm.barCharts[chartId].value.Series,\r\n drilldown: vm.barCharts[chartId].value.drilldown\r\n\r\n };\r\n\r\n if (chartData && chartData.series && chartData.series.length > 0 && chartData.series[0].data\r\n && chartData.series[0].data.length > 0 && chartData.series[0].data[0]) {\r\n chartData.series[0].data[0].sliced = true;\r\n chartData.series[0].data[0].selected = true;\r\n }\r\n\r\n\r\n var chart = new Highcharts.chart(chartId, chartData);\r\n\r\n chart.reflowNow = function () {\r\n this.containerHeight = this.options.chart.height || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'height');\r\n this.containerWidth = this.options.chart.width || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'width');\r\n this.setSize(this.containerWidth, this.containerHeight, false);\r\n this.hasUserSize = null;\r\n }\r\n }\r\n }, 2000);\r\n }\r\n\r\n //Stacked Chart\r\n vm.createStackedChart = function (chartId, yAxis) {\r\n $timeout(function () {\r\n if (vm.stackedCharts[chartId] && vm.stackedCharts[chartId].value) {\r\n var stackedchartData = {\r\n credits: {\r\n enabled: true\r\n },\r\n colors: ['#3093d1', '#fcb631', '#9ad631', '#f34ea8', '#30bfdd', '#fc9532', '#9f4bc7', '#304ec6', '#fcd731', '#f08576', '#418842'],\r\n chart: {\r\n type: 'column',\r\n inverted: false\r\n },\r\n title: {\r\n text: ''\r\n },\r\n subtitle: {\r\n text: ''\r\n },\r\n xAxis: {\r\n categories: vm.stackedCharts[chartId].value.Categories\r\n },\r\n yAxis: {\r\n min: 0,\r\n title: {\r\n text: yAxis\r\n }\r\n },\r\n legend: {\r\n\r\n reversed: true\r\n },\r\n tooltip: {\r\n formatter: function () {\r\n return '' + this.x + '
' +\r\n this.series.name + ': ' + this.y + '
' +\r\n 'Total: ' + this.point.stackTotal;\r\n }\r\n },\r\n plotOptions: {\r\n column: {\r\n dataLabels: {\r\n enabled: true,\r\n align: 'right',\r\n color: 'black',\r\n x: -10\r\n },\r\n enableMouseTracking: true\r\n },\r\n series: {\r\n\r\n stacking: 'normal'\r\n }\r\n },\r\n series: vm.stackedCharts[chartId].value.Series\r\n };\r\n if (stackedchartData && stackedchartData.series && stackedchartData.series.length > 0 && stackedchartData.series[0].data\r\n && stackedchartData.series[0].data.length > 0 && stackedchartData.series[0].data[0]) {\r\n stackedchartData.series[0].data[0].sliced = true;\r\n stackedchartData.series[0].data[0].selected = true;\r\n }\r\n\r\n var chart = new Highcharts.chart(chartId, stackedchartData);\r\n\r\n chart.reflowNow = function () {\r\n this.containerHeight = this.options.chart.height || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'height');\r\n this.containerWidth = this.options.chart.width || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'width');\r\n this.setSize(this.containerWidth, this.containerHeight, false);\r\n this.hasUserSize = null;\r\n }\r\n }\r\n }, 2000);\r\n }\r\n\r\n vm.createPieChart = function (chartId, title) {\r\n vm.showPieChart = vm.showPieChart || {};\r\n vm.tempShowPieChart = vm.tempShowPieChart || {};\r\n vm.showPieChart[chartId] = true;\r\n $timeout(function () {\r\n vm.tempShowPieChart[chartId] = false;\r\n if (vm.pieCharts[chartId] && vm.pieCharts[chartId].value) {\r\n\r\n for (var i = 0; i < vm.pieCharts[chartId].value.length; i++) {\r\n if (vm.pieCharts[chartId].value[i].y > 0) {\r\n vm.tempShowPieChart[chartId] = true;\r\n }\r\n }\r\n vm.showPieChart[chartId] = vm.tempShowPieChart[chartId];\r\n var chartData = {\r\n chart: {\r\n plotBackgroundColor: null,\r\n plotBorderWidth: null,\r\n plotShadow: false,\r\n type: 'pie'\r\n },\r\n colors: ['#3093d1', '#fcb631', '#9ad631', '#f34ea8', '#30bfdd', '#fc9532', '#9f4bc7', '#304ec6', '#fcd731', '#f08576', '#418842'],\r\n title: {\r\n text: ''\r\n },\r\n tooltip: {\r\n headerFormat: ' {series.name} : {point.name}
',\r\n pointFormat: ' {point.name}: {point.y:,.0f}
',\r\n footerFormat: ' Percentage : {point.percentage:,.1f}% ', shared: true, useHTML: true\r\n //pointFormat: '{series.name}: {point.y:.1f}%'\r\n },\r\n plotOptions: {\r\n pie: {\r\n allowPointSelect: true,\r\n cursor: 'pointer',\r\n dataLabels: {\r\n enabled: false\r\n },\r\n showInLegend: true\r\n }\r\n },\r\n series: [{\r\n name: title,\r\n colorByPoint: true,\r\n data: vm.pieCharts[chartId].value\r\n }]\r\n };\r\n if (chartData && chartData.series && chartData.series.length > 0 && chartData.series[0].data\r\n && chartData.series[0].data.length > 0 && chartData.series[0].data[0]) {\r\n chartData.series[0].data[0].sliced = true;\r\n chartData.series[0].data[0].selected = true;\r\n }\r\n var chart = new Highcharts.chart(chartId, chartData);\r\n\r\n chart.reflowNow = function () {\r\n this.containerHeight = this.options.chart.height || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'height');\r\n this.containerWidth = this.options.chart.width || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'width');\r\n this.setSize(this.containerWidth, this.containerHeight, false);\r\n this.hasUserSize = null;\r\n }\r\n }\r\n }, 1000);\r\n }\r\n\r\n var gaugeInstances = {};\r\n vm.createGaugeChart = function (chartId) {\r\n if (gaugeInstances[chartId]) {\r\n gaugeInstances[chartId].destroy();\r\n }\r\n vm.showGaugeChart = vm.showGaugeChart || {};\r\n vm.tempshowGaugeChart = vm.tempshowGaugeChart || {};\r\n vm.showGaugeChart[chartId] = true;\r\n vm.tempshowGaugeChart[chartId] = false;\r\n\r\n if (vm.gaugeCharts[chartId] && vm.gaugeCharts[chartId].value) {\r\n vm.tempshowGaugeChart[chartId] = true;\r\n vm.showGaugeChart[chartId] = vm.tempshowGaugeChart[chartId];\r\n var label = \"(\" + vm.gaugeCharts[chartId].value[0].AcheivedPercentage + \"% of the target)\";\r\n var chartData = {\r\n id: chartId,\r\n value: vm.gaugeCharts[chartId].value[0].Value,\r\n min: 0,\r\n max: vm.gaugeCharts[chartId].value[0].TargetValue,\r\n decimals: 0,\r\n gaugeWidthScale: 0.6,\r\n pointer: true,\r\n pointerOptions: {\r\n toplength: -15,\r\n bottomlength: 10,\r\n bottomwidth: 12,\r\n color: '#333333',\r\n stroke: '#ffffff',\r\n stroke_width: 3,\r\n stroke_linecap: 'round'\r\n },\r\n customSectors: {\r\n ranges: [{\r\n color: \"#ff3b30\",\r\n lo: 0,\r\n hi: vm.gaugeCharts[chartId].value[0].TargetValue * 0.25\r\n }, {\r\n color: \"#FFA500\",\r\n lo: vm.gaugeCharts[chartId].value[0].TargetValue * 0.25,\r\n hi: vm.gaugeCharts[chartId].value[0].TargetValue * 0.50\r\n }, {\r\n color: \"#eccd28\",\r\n lo: vm.gaugeCharts[chartId].value[0].TargetValue * 0.50,\r\n hi: vm.gaugeCharts[chartId].value[0].TargetValue * 0.75\r\n }, {\r\n color: \"#43bf58\",\r\n lo: vm.gaugeCharts[chartId].value[0].TargetValue * 0.75,\r\n hi: vm.gaugeCharts[chartId].value[0].TargetValue\r\n }]\r\n },\r\n label: label,\r\n labelFontColor: \"#333333\",\r\n labelFontFamily: \"Arial\",\r\n labelFontSize: \"20px\",\r\n textRenderer: function (val) {\r\n return (vm.gaugeCharts[chartId].value[0].ValueType == 'INR' ? (vm.gaugeCharts[chartId].value[0].strValue) : vm.gaugeCharts[chartId].value[0].Value);\r\n },\r\n };\r\n gaugeInstances[chartId] = new JustGage(chartData);\r\n }\r\n };\r\n\r\n var makeDynamicTable = function (chartId, dataSet) {\r\n\r\n if (dataSet.Values.length >= 10) {\r\n vm.tableCharts[chartId].dtOptions = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n defer.resolve(dataSet.Values);\r\n return defer.promise;\r\n })\r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withOption('createdRow', createdRow)\r\n .withBootstrap();\r\n }\r\n else {\r\n vm.tableCharts[chartId].dtOptions = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n defer.resolve(dataSet.Values);\r\n return defer.promise;\r\n })\r\n .withDOM('Tfgt')\r\n //.withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withOption('createdRow', createdRow)\r\n .withBootstrap();\r\n\r\n }\r\n\r\n\r\n function createdRow(row, data, dataIndex) {\r\n // Recompiling so we can bind Angular directive to the DT\r\n $compile(angular.element(row).contents())($scope);\r\n }\r\n\r\n vm.tableCharts[chartId].dtInstance = {};\r\n vm.tableCharts[chartId].dtColumns = [];\r\n var columnList = Object.keys(dataSet.Categories);\r\n for (var index = 0; index < columnList.length; index++) {\r\n\r\n var temp = '';\r\n var colunId = columnList[index];\r\n temp = DTColumnBuilder.newColumn(colunId).withTitle(dataSet.Categories[colunId]).renderWith(function (data, type, full, meta) {\r\n var colKey = '';\r\n function getKeyByIndex(object, col) {\r\n var colList = Object.keys(object);\r\n colKey = colList[col];\r\n }\r\n getKeyByIndex(full, meta.col)\r\n var firstColumntKey = Object.values(full)[0];\r\n var fixedCatogries = Object.values(vm.tableCharts[chartId].value.Categories)[0];\r\n var t = vm.tableCharts[chartId].value.Categories;\r\n var n = t[colKey];\r\n if (data > 0 && vm.deepLink[n + ' ' + vm.tableCharts[chartId].ChartId]) {\r\n return \"' + data + \" \";\r\n // return \"\" + data + \" \";\r\n } else {\r\n return \"\" + data + \"\";\r\n }\r\n });\r\n vm.tableCharts[chartId].dtColumns.push(temp);\r\n }\r\n }\r\n\r\n vm.createTableChart = function (chartId, lenth, data) {\r\n makeDynamicTable(chartId, data);\r\n }\r\n\r\n vm.updateDefaultDateFilter = function (dasahboardFilter) {\r\n if (intialLoad) {\r\n var startDate = '';\r\n var endDate = '';\r\n if (dasahboardFilter && dasahboardFilter.DefaultDateFilter) {\r\n startDate = $scope.dashboardranges[dasahboardFilter.DefaultDateFilter][0];\r\n endDate = $scope.dashboardranges[dasahboardFilter.DefaultDateFilter][1];\r\n $scope.dates = { startDate: startDate, endDate: endDate };\r\n $scope.$broadcast('update.daterangepicker', { date: $scope.dates });\r\n vm.rollup = \"Range(\" + startDate.format(\"YYYY-MM-DD\") + \"|\" + endDate.format(\"YYYY-MM-DD\") + \")\";\r\n }\r\n }\r\n }\r\n\r\n vm.ShareMailReport = function () {\r\n vm.SharedReportName = vm.ReportName;\r\n vm.shareModel.toList = [];\r\n vm.shareModel.ccList = [];\r\n vm.shareModel.bccList = [];\r\n vm.shareModel.mailbody = 'Hello User,\\n\\nPlease find report ' + vm.SharedReportName + ' on ' + formattedDate + '\\n\\nThanks\\nMobiforce Team';\r\n vm.shareModel.content = 'Hello User,\\n\\nPlease find report ' + vm.SharedReportName + ' on ' + formattedDate + '\\n\\nThanks\\nMobiforce Team';\r\n vm.ShareModal = $uibModal.open({\r\n templateUrl: 'ShareMailwidgetCtrl.html',\r\n backdrop: 'static',\r\n size: 'md',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.ShareReport = function () {\r\n vm.SharedReportName = vm.ReportName;\r\n vm.shareModel.toList = [];\r\n vm.shareModel.ccList = [];\r\n vm.shareModel.bccList = [];\r\n vm.GetSharedUsers(vm.ReportName);\r\n vm.shareModel.mailbody = 'Hello User,\\n\\nPlease find report ' + vm.SharedReportName + ' on ' + formattedDate + '\\n\\nThanks\\nMobiforce Team';\r\n vm.shareModel.content = 'Hello User,\\n\\nPlease find report ' + vm.SharedReportName + ' on ' + formattedDate + '\\n\\nThanks\\nMobiforce Team';\r\n vm.ShareModal = $uibModal.open({\r\n templateUrl: 'SharewidgetCtrl.html',\r\n backdrop: 'static',\r\n size: 'md',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.closeShareReportModal = function () {\r\n vm.ShareModal.close();\r\n }\r\n\r\n vm.GetSharedUsers = function (dashboardname) {\r\n dashboardReportListService.GetSharedUsers(dashboardname, loggedinUser, token).then(function (resp) {\r\n if (resp.data) {\r\n vm.shareModel.toList = resp.data;\r\n }\r\n })\r\n }\r\n\r\n vm.GrantRevokeAccessToReport = function () {\r\n var toList = [];\r\n angular.forEach(vm.shareModel.toList, function (user) {\r\n toList.push(user.UserId);\r\n });\r\n if (toList.length == 0) {\r\n vm.scheduleModel.toListMendtryErr = true;\r\n return;\r\n }\r\n var commaSeparatedtoList = toList.join(',');\r\n vm.closeShareReportModal();\r\n dashboardReportListService.GrantRevokeAccessToReport(vm.SharedReportName, commaSeparatedtoList, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.closeShareReportModal();\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data)\r\n }\r\n })\r\n }\r\n\r\n vm.updatewidget = function (item) {\r\n vm.itemData = item;\r\n if (item.chartType) {\r\n vm.selectedOption = item.chartType;\r\n vm.deleteChartId = item.chartId;\r\n vm.SelectedType = item.EntityName;\r\n vm.chartName = item.metrics;\r\n vm.chartDisplayName = item.ChartTitle;\r\n vm.chartDescription = item.ChartSubtitle;\r\n vm.chartYAxisName = item.YAxis;\r\n vm.GetMetricsByEntityType(item.EntityName, item.metrics);\r\n vm.dataFilters = item.DataFilters;\r\n }\r\n else {\r\n vm.selectedOption = \"dimension\";\r\n vm.deleteChartId = item.ChartId;\r\n vm.SelectedType = item.EntityName;\r\n // vm.chartDisplayName = item.chartDisplayName;\r\n vm.DimensionName = item.DimensionName;\r\n vm.chartName = item.DimensionName;\r\n // vm.chartDescription = item.chartDescription;\r\n vm.GetDimensionByEntityName(item.EntityName, vm.DimensionName);\r\n vm.dataFilters = item.DataFilters;\r\n }\r\n\r\n }\r\n vm.closeupdatewidget = function () {\r\n vm.widgetupdate.close();\r\n vm.SelectedType = \"\";\r\n vm.SelectedChartName = \"\";\r\n vm.chartDisplayName = \"\";\r\n vm.chartDescription = \"\";\r\n vm.chartYAxisName = \"\";\r\n }\r\n\r\n vm.createwidget = function () {\r\n vm.widgetcreate = $uibModal.open({\r\n templateUrl: 'createwidget.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n vm.closecreatewidet = function () {\r\n vm.widgetcreate.close();\r\n vm.dataFilters = [];\r\n vm.chartDisplayName = \"\";\r\n vm.chartDescription = \"\";\r\n vm.chartYAxisName = \"\";\r\n vm.SelectedType = \"\";\r\n vm.SelectedChartName = \"\";\r\n }\r\n\r\n vm.ReportFilter = function () {\r\n vm.FilterModal = $uibModal.open({\r\n templateUrl: 'ReportFilter.html',\r\n backdrop: 'static',\r\n size: 'md',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.closeReportFilterModal = function () {\r\n vm.FilterModal.close();\r\n }\r\n\r\n vm.ScheduledReport = function () {\r\n vm.shareModel.toList = [];\r\n vm.shareModel.ccList = [];\r\n vm.shareModel.bccList = [];\r\n vm.scheduleModel.reportName = vm.ReportName;\r\n vm.scheduleModel.frequency = vm.scheduleModel.once;\r\n vm.scheduleModel.pull_data.range = vm.scheduleModel.pull_data.day;\r\n vm.scheduleModel.attachReportInMailBody = true;\r\n vm.scheduleModel.attachReportInExcel = true;\r\n vm.scheduleModel.sampleDateMendtryErr = false;\r\n vm.scheduleModel.input_of_week = null;\r\n vm.scheduleModel.sampleDate = new moment();\r\n vm.scheduleModel.input_for_month.option = vm.scheduleModel.input_for_month.start_of_day;\r\n vm.shareModel.content = \"Please find below the progress report as on $Date\\n\\nYou are requested to view the detailed report at $Link\";\r\n vm.ScheduledReportModal = $uibModal.open({\r\n templateUrl: 'ScheduledwidgetCtrl.html',\r\n backdrop: 'static',\r\n windowClass: 'schedulerModal',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.closeScheduledReportModal = function () {\r\n vm.ScheduledReportModal.close();\r\n }\r\n\r\n $scope.options = ['Option 1', 'Option 2', 'Option 3', 'Option 4'];\r\n $scope.selectedOptions = {};\r\n\r\n vm.shareModel.getUserSuggestion = function (val) {\r\n vm.scheduleModel.toListMendtryErr = false;\r\n var re = /^[A-Za-z0-9]+([\\.\\-_]*[A-Za-z0-9]+)*@[A-Za-z0-9]+([\\.\\-_]*[A-Za-z0-9]+)*\\.([A-Za-z]{2}|[A-Za-z]{3})$/;\r\n if (vm.users.length > 0) {\r\n return re.test(val) ? [{ FirstName: val.split(\"@\")[0], LastName: \"\", UserId: val }].concat(vm.users) : vm.users;\r\n }\r\n // vm.getUsersLite();\r\n return re.test(val) ? [{ FirstName: val.split(\"@\")[0], LastName: \"\", UserId: val }] : [];\r\n }\r\n\r\n // vm.getUsers = function () {\r\n // vm.users = [];\r\n // reportDetailService.getUsers(loggedinUser, token, vm.createCallback(vm.users, [function (data) {\r\n // //$log.log(data);\r\n // }]));\r\n // }\r\n\r\n vm.getUsersLite = function () {\r\n vm.users = [];\r\n reportDetailService.getUsersLite(loggedinUser, token, vm.createCallback(vm.users, [function (data) {\r\n //$log.log(data);\r\n }]));\r\n }\r\n\r\n vm.getUsersLite();\r\n\r\n vm.shareModel.searchAsOr = function (searchText1) {\r\n return function (entry) {\r\n var splittedText = searchText1.split(\";\");\r\n if (splittedText != null && splittedText.length > 0) {\r\n var searchText = splittedText[splittedText.length - 1].trim();\r\n if (entry.FirstName.toLowerCase().indexOf(searchText.toLowerCase()) > -1\r\n || (entry.LastName != null && entry.LastName.toLowerCase().indexOf(searchText.toLowerCase()) > -1)\r\n || entry.UserId.toLowerCase().indexOf(searchText.toLowerCase()) > -1)\r\n return entry;\r\n }\r\n }\r\n }\r\n\r\n vm.shareModel.removeSelectedUsers = function (element) {\r\n var matched = false;\r\n angular.forEach(vm.shareModel.toList, function (d) {\r\n if (d.UserId == element.UserId) {\r\n matched = true;\r\n return;\r\n }\r\n });\r\n if (!matched) {\r\n angular.forEach(vm.shareModel.ccList, function (d) {\r\n if (d.UserId == element.UserId) {\r\n matched = true;\r\n return;\r\n }\r\n });\r\n }\r\n if (!matched) {\r\n angular.forEach(vm.shareModel.bccList, function (d) {\r\n if (d.UserId == element.UserId) {\r\n matched = true;\r\n return;\r\n }\r\n });\r\n }\r\n if (!matched) {\r\n return element;\r\n }\r\n }\r\n\r\n vm.shareModel.cancelledToListUser = function (i) {\r\n vm.shareModel.toList.splice(i, 1);\r\n }\r\n\r\n vm.shareModel.cancelledCCListUser = function (i) {\r\n vm.shareModel.ccList.splice(i, 1);\r\n }\r\n\r\n vm.shareModel.cancelledBCCListUser = function (i) {\r\n vm.shareModel.bccList.splice(i, 1);\r\n }\r\n\r\n vm.shareModel.selectUserNameInToList = function (item) {\r\n vm.shareModel.toList.push(item);\r\n vm.shareModel.toUsers = [];\r\n }\r\n vm.shareModel.selectUserNameInCCList = function (item) {\r\n vm.shareModel.ccList.push(item);\r\n vm.shareModel.ccUsers = [];\r\n }\r\n vm.shareModel.selectUserNameInBCCList = function (item) {\r\n vm.shareModel.bccList.push(item);\r\n vm.shareModel.bccUsers = [];\r\n }\r\n\r\n vm.shareModel.mailReport = function () {\r\n var toList = [];\r\n angular.forEach(vm.shareModel.toList, function (user) {\r\n toList.push(user.UserId);\r\n });\r\n var ccList = [];\r\n angular.forEach(vm.shareModel.ccList, function (user) {\r\n ccList.push(user.UserId);\r\n });\r\n var bccList = [];\r\n angular.forEach(vm.shareModel.bccList, function (user) {\r\n bccList.push(user.UserId);\r\n });\r\n if (toList.length == 0) {\r\n vm.scheduleModel.toListMendtryErr = true;\r\n return;\r\n }\r\n if (vm.shareModel.content.length == 0) {\r\n return false;\r\n }\r\n\r\n var content = vm.shareModel.content;\r\n content = content.replace(new RegExp(\"\\n\", 'g'), \"
\");\r\n vm.closeShareReportModal();\r\n reportDetailService.mailReport(token, toList, ccList, bccList, \"Report: \" + vm.ReportName,\r\n content, vm.ReportName, loggedinUser, vm.filter_key, vm.filter_name,\r\n vm.attachReportInMailBody, vm.attachReportInExcel, vm.rollup,\r\n vm.createCallback(null, [function (data) {\r\n vm.showSuccess(\"Success\", \"Report has been shared successfully\");\r\n }]));\r\n }\r\n\r\n vm.downloadReport = function () {\r\n reportDetailService.downloadReport(vm.report_data.ReportName, loggedinUser, vm.filter_key, vm.filter_name, vm.rollup, vm.isData);\r\n }\r\n\r\n vm.scheduleModel.checkName = function () {\r\n reportDetailService.checkReportName(vm.scheduleModel.reportName, function (data) {\r\n //$log.log(\"checkName reposnse\", data);\r\n vm.scheduleModel.reportNameAlreadyExists = data;\r\n });\r\n }\r\n\r\n vm.scheduleModel.scheduleReport = function () {\r\n var startTime = null;\r\n var endTime = null;\r\n var cronExpression = null;\r\n var daily = null;\r\n var weekly = null;\r\n var monthly = null;\r\n //$log.log(\"vm.scheduleModel.scheduleTime \",vm.scheduleModel.scheduleTime);\r\n if (vm.scheduleModel.reportName == null || vm.scheduleModel.reportName.length == 0) {\r\n vm.scheduleModel.reportNameMendtryErr = true;\r\n return;\r\n }\r\n if (vm.shareModel.toList.length == 0) {\r\n vm.scheduleModel.toListMendtryErr = true;\r\n return;\r\n }\r\n if (vm.scheduleModel.frequency == vm.scheduleModel.once) {\r\n //$log.log(\"vm.scheduleModel.sampleDate\", vm.scheduleModel.sampleDate);\r\n if (vm.scheduleModel.sampleDate) {\r\n var sample_Data = vm.scheduleModel.sampleDate ? vm.scheduleModel.sampleDate : new moment();\r\n startTime = {\r\n \"date\": sample_Data.format(\"DD\"),\r\n \"hour\": sample_Data.format(\"HH\"),\r\n \"min\": sample_Data.format(\"mm\"),\r\n \"month\": sample_Data.format(\"MMM\").toUpperCase(),\r\n \"sec\": sample_Data.format(\"ss\"),\r\n \"year\": sample_Data.format(\"YYYY\")\r\n };\r\n var sampleEndTime = moment(sample_Data).add(1, 'month');\r\n endTime = {\r\n \"date\": sampleEndTime.format(\"DD\"),\r\n \"hour\": sampleEndTime.format(\"HH\"),\r\n \"min\": sampleEndTime.format(\"mm\"),\r\n \"month\": sampleEndTime.format(\"MMM\").toUpperCase(),\r\n \"sec\": sampleEndTime.format(\"ss\"),\r\n \"year\": sampleEndTime.format(\"YYYY\")\r\n };\r\n //$log.log(\"startTime \",startTime);\r\n } else {\r\n vm.scheduleModel.sampleDateMendtryErr = true;\r\n return;\r\n }\r\n\r\n } else {\r\n var startDate = vm.scheduleModel.start_date ? new Date(vm.scheduleModel.start_date) : new Date();\r\n var endDate = vm.scheduleModel.end_date ? new Date(vm.scheduleModel.end_date) : new Date();\r\n startTime = {\r\n \"date\": startDate.getDate(),\r\n \"hour\": startDate.getHours(),\r\n \"min\": startDate.getMinutes(),\r\n \"month\": vm.monthNames3[startDate.getMonth()],\r\n \"sec\": startDate.getSeconds(),\r\n \"year\": startDate.getFullYear()\r\n };\r\n endTime = {\r\n \"date\": endDate.getDate(),\r\n \"hour\": endDate.getHours(),\r\n \"min\": endDate.getMinutes(),\r\n \"month\": vm.monthNames3[endDate.getMonth()],\r\n \"sec\": endDate.getSeconds(),\r\n \"year\": endDate.getFullYear()\r\n };\r\n var hour, min;\r\n if (vm.scheduleModel.scheduleTime) {\r\n var splittedtime = vm.scheduleModel.scheduleTime.split(\":\");\r\n hour = parseInt(splittedtime[0]);\r\n min = parseInt(splittedtime[1]);\r\n } else {\r\n vm.scheduleModel.timeMendtryErr = true;\r\n return;\r\n }\r\n if (vm.scheduleModel.frequency == vm.scheduleModel.daily) {\r\n daily = {\r\n \"hour\": hour,\r\n \"minute\": min\r\n };\r\n } else if (vm.scheduleModel.frequency == vm.scheduleModel.weekly) {\r\n var dayOfWeek = [];\r\n\r\n if (vm.scheduleModel.input_of_week.sun) {\r\n dayOfWeek.push(1);\r\n }\r\n if (vm.scheduleModel.input_of_week.mon) {\r\n dayOfWeek.push(2);\r\n }\r\n if (vm.scheduleModel.input_of_week.tue) {\r\n dayOfWeek.push(3);\r\n }\r\n if (vm.scheduleModel.input_of_week.wed) {\r\n dayOfWeek.push(4);\r\n }\r\n if (vm.scheduleModel.input_of_week.thu) {\r\n dayOfWeek.push(5);\r\n }\r\n if (vm.scheduleModel.input_of_week.fri) {\r\n dayOfWeek.push(6);\r\n }\r\n if (vm.scheduleModel.input_of_week.sat) {\r\n dayOfWeek.push(7);\r\n }\r\n weekly = {\r\n \"dayOfWeek\": dayOfWeek,\r\n \"hour\": hour,\r\n \"minute\": min\r\n };\r\n } else if (vm.scheduleModel.frequency == vm.scheduleModel.monthly) {\r\n if (vm.scheduleModel.input_for_month.option == vm.scheduleModel.input_for_month.start_of_day) {\r\n monthly = {\r\n \"dayOfMonth\": \"1\",\r\n \"hour\": hour,\r\n \"minute\": min\r\n };\r\n } if (vm.scheduleModel.input_for_month.option == vm.scheduleModel.input_for_month.end_of_day) {\r\n cronExpression = \"0 \" + hour + \" \" + min + \" L * ?\";\r\n vm.scheduleModel.frequency = vm.scheduleModel.cronExpression\r\n } if (vm.scheduleModel.input_for_month.option == vm.scheduleModel.input_for_month.specific_date) {\r\n monthly = {\r\n \"dayOfMonth\": vm.scheduleModel.input_for_month.date,\r\n \"hour\": hour,\r\n \"minute\": min\r\n };\r\n }\r\n\r\n }\r\n }\r\n\r\n var data = {\r\n \"cronExpression\": cronExpression,\r\n \"cronType\": vm.scheduleModel.frequency,\r\n \"daily\": daily,\r\n \"endTime\": endTime,\r\n \"jobStartTime\": startTime,\r\n \"method\": \"POST\",\r\n \"monthly\": monthly,\r\n \"uniqueId\": vm.scheduleModel.reportName,\r\n \"reportId\": $stateParams.report_id,\r\n \"url\": DashboardURL + \"/api/Report/mailexcelreportbyreportid\",\r\n \"weekly\": weekly,\r\n \"accountId\": loggedinUser\r\n };\r\n\r\n var toList = [];\r\n angular.forEach(vm.shareModel.toList, function (user) {\r\n toList.push(user.PersonalEmail);\r\n });\r\n var ccList = [];\r\n angular.forEach(vm.shareModel.ccList, function (user) {\r\n ccList.push(user.PersonalEmail);\r\n });\r\n var bccList = [];\r\n angular.forEach(vm.shareModel.bccList, function (user) {\r\n bccList.push(user.PersonalEmail);\r\n });\r\n\r\n if (vm.shareModel.content.length == 0) {\r\n vm.shareModel.contentMedtryErr = true;\r\n return;\r\n }\r\n\r\n var content = vm.shareModel.content;\r\n content = content.replace(new RegExp(\"\\n\", 'g'), \"
\");\r\n var schedulerModel = {};\r\n schedulerModel[\"TOList\"] = toList;\r\n schedulerModel[\"CCList\"] = ccList;\r\n schedulerModel[\"BCCList\"] = bccList;\r\n schedulerModel[\"Body\"] = content;\r\n schedulerModel[\"Subject\"] = \"Report: \" + vm.ReportName\r\n schedulerModel[\"ReportId\"] = vm.ReportId\r\n schedulerModel[\"ReqUserId\"] = loggedinUser;\r\n schedulerModel[\"FilterKeys\"] = null;\r\n schedulerModel[\"FilterValues\"] = null;\r\n schedulerModel[\"ReportInMailBody\"] = vm.scheduleModel.attachReportInMailBody;\r\n schedulerModel[\"AttachXLSReportInMail\"] = vm.scheduleModel.attachReportInExcel;\r\n if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.day) {\r\n schedulerModel[\"RollUps\"] = \"Last Day\";\r\n } else if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.week) {\r\n schedulerModel[\"RollUps\"] = \"Last Week\";\r\n } else if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.month) {\r\n schedulerModel[\"RollUps\"] = \"Last Month\";\r\n } else if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.quarter) {\r\n schedulerModel[\"RollUps\"] = \"Last Quarter\";\r\n } else if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.current_month) {\r\n schedulerModel[\"RollUps\"] = \"Current Month\";\r\n } else if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.specific) {\r\n var re = /^[1-9]+[0-9]*$/;\r\n if (!re.test(vm.scheduleModel.pull_data.specific_day_value)) {\r\n vm.scheduleModel.pull_data.specificDayValMedtryErr = true;\r\n return;\r\n }\r\n schedulerModel[\"RollUps\"] = vm.scheduleModel.pull_data.specific_day_value;\r\n }\r\n data[\"model\"] = JSON.stringify(schedulerModel);\r\n data[\"entity\"] = \"report\";\r\n\r\n reportDetailService.scheduleReport(loggedinUser, data, token,\r\n vm.createCallback(null, [function (data) {\r\n if (data.msg == \"Schedule already exists\") {\r\n vm.showFailure(\"Failed\", \"Schedule with same name already exists.\");\r\n } else if (data.msg == \"Unexpected params\") {\r\n vm.showFailure(\"Failed\", \"Unexpected parameters.\");\r\n } else if (data.msg == \"Failed\") {\r\n vm.showFailure(\"Server Error\", \"Failed to create schedule.\");\r\n } else {\r\n vm.showSuccess(\"Success\", \"Report scheduled successfully.\");\r\n vm.closeScheduledReportModal();\r\n }\r\n }]));\r\n }\r\n\r\n vm.PDFView = function (img) {\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n vm.pdfimage = resp.data;\r\n });\r\n $scope.selected = null;\r\n $timeout(function () {\r\n jobAppointmentModal = $uibModal.open({\r\n templateUrl: 'PDFView.html',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }, 1000)\r\n }\r\n vm.PDFUserModal = function () {\r\n jobAppointmentModal.close();\r\n }\r\n vm.isShow = true;\r\n vm.showEditList = false;\r\n vm.showAction = true;\r\n\r\n // vm.addMoreFilter = function () {\r\n // vm.SelectedSkills = [];\r\n // vm.SelectedLocations = [];\r\n // vm.SelectedField = [];\r\n // vm.showEditList = true;\r\n // vm.showAction = false;\r\n // vm.getAllAccountsExceptHD();\r\n\r\n // }\r\n\r\n vm.addMoreFilter = function () {\r\n vm.showEditList = true;\r\n vm.showAction = false;\r\n };\r\n\r\n vm.addNewFilter = function (filter) {\r\n if (filter.FieldName.Type == 'Text') {\r\n filter.FieldValue = filter.FieldValue.join('|');\r\n }\r\n else if (filter.FieldName.Type == 'DateTime') {\r\n filter.FieldValue = vm.filterstartDate + '|' + vm.filterendDate;\r\n filter.FieldValue = filter.FieldValue.toString();\r\n\r\n }\r\n else if (filter.FieldName.Type == 'Numeric') {\r\n filter.FieldValue = filter.FieldValue.toString();\r\n }\r\n vm.dataFilters.push({\r\n \"FieldName\": filter.FieldName.Name,\r\n \"Condition\": filter.Condition,\r\n \"FieldValue\": filter.FieldValue,\r\n \"JoiningOperator\": filter.JoiningOperator\r\n });\r\n vm.showEditList = false;\r\n vm.showAction = true;\r\n // Clear the form fields after adding\r\n // filter.FieldName = \"\";\r\n // filter.Condition = \"\";\r\n // filter.FieldValue = \"\";\r\n // filter.JoiningOperator = \"\";\r\n };\r\n\r\n $scope.toggleEdit = function (filter) {\r\n angular.forEach(vm.AllFieldList.Fields, function (d) {\r\n if (d.Name == filter.FieldName) {\r\n filter.FieldName = d;\r\n return;\r\n }\r\n });\r\n\r\n if (filter.FieldName.Type == 'Text') {\r\n filter.FieldValue = filter.FieldValue.split('|');\r\n }\r\n else if (filter.FieldName.Type == 'DateTime') {\r\n var dateValues = filter.FieldValue.split('|');\r\n vm.filterstartDate = dateValues[0];\r\n vm.filterendDate = dateValues[1];\r\n\r\n }\r\n else if (filter.FieldName.Type == 'Numeric') {\r\n filter.FieldValue = parseFloat(filter.FieldValue);\r\n }\r\n vm.GetFieldValuesByFieldNames(vm.SelectedType, filter.FieldName.Name);\r\n // filter.FieldValue = filter.FieldValue;\r\n filter.Condition = filter.Condition;\r\n filter.JoiningOperator = filter.JoiningOperator;\r\n };\r\n\r\n vm.SaveCustomSettings = function () {\r\n const SaveCustom = vm.DocumentType === 'dashboard' ? reportDetailService.SaveCustomSettingsForDashboard : reportDetailService.SaveCustomSettings;\r\n SaveCustom($stateParams.report_id, $scope.order, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 201) {\r\n vm.showSuccess(\"Success\", \"Layout Saved Successfully\");\r\n $scope.shouldNotHighlightItem();\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data)\r\n }\r\n })\r\n }\r\n\r\n $scope.updateDataFilter = function (filter) {\r\n if (filter.FieldName.Type == 'Text') {\r\n filter.FieldValue = filter.FieldValue.join('|');\r\n }\r\n else if (filter.FieldName.Type == 'DateTime') {\r\n filter.FieldValue = vm.filterstartDate + '|' + vm.filterendDate;\r\n filter.FieldValue = filter.FieldValue.toString();\r\n\r\n }\r\n else if (filter.FieldName.Type == 'Numeric') {\r\n filter.FieldValue = filter.FieldValue.toString();\r\n }\r\n filter.FieldName = filter.FieldName.Name;\r\n filter.Condition = filter.Condition;\r\n filter.JoiningOperator = filter.JoiningOperator;\r\n };\r\n\r\n $scope.deleteDataFilter = function (filter) {\r\n const index = vm.dataFilters.indexOf(filter);\r\n if (index !== -1) {\r\n vm.dataFilters.splice(index, 1);\r\n }\r\n };\r\n\r\n vm.removeAddmoreEditList = function () {\r\n vm.showEditList = false;\r\n vm.showAction = true;\r\n }\r\n\r\n vm.openDilogforDelete = function (index) {\r\n $scope.deleteIndex = index;\r\n vm.ShareModal = $uibModal.open({\r\n templateUrl: 'openDilogforDelete.html',\r\n backdrop: 'static',\r\n size: 'md',\r\n scope: $scope,\r\n });\r\n }\r\n\r\n vm.closeopenDilogforDeleteModal = function () {\r\n vm.ShareModal.close();\r\n }\r\n\r\n vm.ChangeOption = function (type) {\r\n vm.selectedOption = type;\r\n vm.SelectedType = \"\";\r\n vm.SelectedChartName = \"\";\r\n vm.chartDisplayName = \"\";\r\n vm.chartDescription = \"\";\r\n vm.chartYAxisName = \"\";\r\n vm.dataFilters = [];\r\n }\r\n\r\n vm.GetFieldValuesByFieldNames = function (EntityType, EntityName) {\r\n reportDetailService.GetFieldValuesByFieldNames(EntityType, EntityName, loggedinUser, token).then(function (resp) {\r\n vm.AllFieldValuesList = resp.data.Values;\r\n })\r\n }\r\n\r\n vm.ChangeMetrics = function (chart) {\r\n var metricsNames = [];\r\n if (vm.selectedOption == 'linecharts' && Array.isArray(chart)) {\r\n for (var i = 0; i < chart.length; i++) {\r\n metricsNames.push(chart[i].MetricsName);\r\n }\r\n vm.chartName = metricsNames;\r\n vm.chartDisplayName = \"\";\r\n vm.chartDescription = \"\";\r\n }\r\n else if (vm.selectedOption == 'metrices') {\r\n vm.chartName = chart.MetricsName;\r\n vm.chartName = [vm.chartName];\r\n vm.chartDisplayName = chart.DisplayName;\r\n vm.chartDescription = chart.Description;\r\n }\r\n else {\r\n vm.chartName = chart.DimensionName;\r\n vm.chartName = [vm.chartName];\r\n vm.chartDisplayName = chart.DisplayName;\r\n vm.chartDescription = chart.Description;\r\n }\r\n vm.dataFilters = [];\r\n }\r\n\r\n vm.GetFieldTypesByEntityName = function (EntityType) {\r\n reportDetailService.GetFieldTypesByEntityName(EntityType, loggedinUser, token).then(function (resp) {\r\n vm.AllFieldList = resp.data;\r\n\r\n })\r\n }\r\n\r\n vm.GetMetricsByEntityType = function (EntityType, SelectedChartName) {\r\n reportDetailService.GetMetricsByEntityType(EntityType, loggedinUser, token).then(function (resp) {\r\n vm.AllMetricsList = resp.data;\r\n if (SelectedChartName) {\r\n vm.SelectedChartName = [];\r\n angular.forEach(vm.AllMetricsList, function (d) {\r\n if (Array.isArray(SelectedChartName)) {\r\n if (SelectedChartName.indexOf(d.MetricsName) !== -1) {\r\n vm.SelectedChartName.push(d);\r\n }\r\n } else {\r\n if (d.MetricsName === SelectedChartName) {\r\n vm.SelectedChartName = d;\r\n }\r\n }\r\n });\r\n vm.GetFieldTypesByEntityName(EntityType);\r\n if (vm.AllFieldList) {\r\n vm.widgetupdate = $uibModal.open({\r\n templateUrl: 'updatewidget.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n }\r\n })\r\n }\r\n\r\n vm.GetDimensionByEntityName = function (EntityType, SelectedChartName) {\r\n reportDetailService.GetDimensionByEntityName(EntityType, loggedinUser, token).then(function (resp) {\r\n vm.AllDimensionsList = resp.data;\r\n if (SelectedChartName) {\r\n angular.forEach(vm.AllDimensionsList, function (d) {\r\n if (d.DimensionName == SelectedChartName) {\r\n vm.SelectedChartName = d;\r\n vm.chartDisplayName = d.DisplayName;\r\n vm.chartDescription = d.Description;\r\n return;\r\n }\r\n });\r\n vm.GetFieldTypesByEntityName(EntityType);\r\n if (vm.AllFieldList) {\r\n vm.widgetupdate = $uibModal.open({\r\n templateUrl: 'updatewidget.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n }\r\n })\r\n }\r\n\r\n vm.GetAllEntityTypes = function () {\r\n reportDetailService.GetAllEntityTypes(loggedinUser, token).then(function (resp) {\r\n vm.AllEntityList = resp.data;\r\n })\r\n }\r\n\r\n vm.GetAllEntityTypes();\r\n vm.dataFilters = [];\r\n\r\n vm.AddChartsToReport = function () {\r\n vm.feedbackForm.submitted = true;\r\n if (vm.feedbackForm.$valid) {\r\n data = {\r\n \"ReportId\": $stateParams.report_id,\r\n \"ChatType\": vm.selectedOption,\r\n \"ChartName\": vm.chartName,\r\n \"DisplayName\": vm.chartDisplayName,\r\n \"Description\": vm.chartDescription,\r\n \"DeleteChartId\": \"\",\r\n \"DataFilters\": vm.dataFilters\r\n }\r\n reportDetailService.AddChartsToReport(data, loggedinUser, token, vm.reportLayoutCallback);\r\n }\r\n }\r\n\r\n vm.AddChartsToDashboard = function () {\r\n vm.feedbackForm.submitted = true;\r\n if (vm.feedbackForm.$valid) {\r\n data = {\r\n \"DashboardId\": $stateParams.report_id,\r\n \"ChatType\": vm.selectedOption,\r\n \"ChartName\": vm.chartName,\r\n \"DisplayName\": vm.chartDisplayName,\r\n \"Description\": vm.chartDescription,\r\n \"DeleteChartId\": \"\",\r\n \"DataFilters\": vm.dataFilters,\r\n \"YAxis\": vm.chartYAxisName\r\n }\r\n reportDetailService.AddChartsToDashboard(data, loggedinUser, token, vm.dashboardCallback);\r\n }\r\n }\r\n\r\n vm.UpdateChartsFromReport = function () {\r\n data = {\r\n \"ReportId\": $stateParams.report_id,\r\n \"ChatType\": vm.selectedOption,\r\n \"ChartName\": vm.chartName,\r\n \"DisplayName\": vm.chartDisplayName,\r\n \"Description\": vm.chartDescription,\r\n \"DeleteChartId\": vm.deleteChartId,\r\n \"DataFilters\": vm.dataFilters\r\n }\r\n reportDetailService.UpdateChartsFromReport(data, loggedinUser, token, vm.reportLayoutCallback);\r\n vm.dataFilters = [];\r\n vm.chartDisplayName = \"\";\r\n vm.chartDisplayName = \"\";\r\n vm.closeupdatewidget();\r\n }\r\n\r\n vm.UpdateChartsFromDashboard = function () {\r\n data = {\r\n \"DashboardId\": $stateParams.report_id,\r\n \"ChatType\": vm.selectedOption,\r\n \"ChartName\": vm.chartName,\r\n \"DisplayName\": vm.chartDisplayName,\r\n \"Description\": vm.chartDescription,\r\n \"DeleteChartId\": vm.deleteChartId,\r\n \"DataFilters\": vm.dataFilters,\r\n \"YAxis\": vm.chartYAxisName\r\n }\r\n reportDetailService.UpdateChartsFromDashboard(data, loggedinUser, token, vm.dashboardCallback);\r\n vm.dataFilters = [];\r\n vm.chartDisplayName = \"\";\r\n vm.chartDisplayName = \"\";\r\n vm.chartYAxisName = \"\";\r\n vm.closeupdatewidget();\r\n }\r\n\r\n vm.DeleteChartsFromReport = function (item) {\r\n if (item.chartId) {\r\n vm.deleteChartId = item.chartId;\r\n } else {\r\n vm.deleteChartId = item.ChartId;\r\n }\r\n const deleteService = vm.DocumentType === 'dashboard' ? reportDetailService.DeleteChartsFromDashboard : reportDetailService.DeleteChartsFromReport;\r\n deleteService($stateParams.report_id, vm.deleteChartId, loggedinUser, token).then(function (resp) {\r\n if (resp.data && resp.status == 201) {\r\n $timeout(function () {\r\n if (vm.DocumentType == 'dashboard') {\r\n vm.GetDashboardByDashboardId($stateParams.report_id);\r\n intialLoad = false;\r\n } else if (vm.DocumentType == 'report') {\r\n vm.getCustomerReport($stateParams.report_id);\r\n }\r\n }, 2000);\r\n vm.showSuccess(\"Success\", resp.data);\r\n } else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n });\r\n }\r\n\r\n vm.Allapplyfilter = function () {\r\n vm.filterKeys = '';\r\n vm.filterValues = '';\r\n prepareFilters('BusinessUnit', vm.BusinessUnit);\r\n prepareFilters('AccountName', vm.Account);\r\n prepareFilters('Skill', vm.Skill);\r\n prepareFilters('State', vm.State);\r\n prepareFilters('City', vm.District);\r\n vm.tableCharts = {};\r\n vm.GetDashboardByDashboardId($stateParams.report_id);\r\n }\r\n\r\n var prepareFilters = function (filterkey, filervalue) {\r\n if (filervalue) {\r\n if (vm.filterKeys) {\r\n vm.filterKeys = vm.filterKeys + ',' + filterkey;\r\n vm.filterValues = vm.filterValues + ',' + filervalue;\r\n }\r\n else {\r\n vm.filterKeys = filterkey;\r\n vm.filterValues = filervalue;\r\n\r\n }\r\n }\r\n }\r\n\r\n vm.ResetFilter = function () {\r\n vm.filterKeys = '';\r\n vm.filterValues = '';\r\n vm.BusinessUnit = '';\r\n vm.Account = '';\r\n vm.Skill = '';\r\n vm.State = '';\r\n vm.District = '';\r\n vm.tableCharts = {};\r\n vm.GetDashboardByDashboardId($stateParams.report_id);\r\n }\r\n\r\n }\r\n\r\n});\r\n\nangular.module('inspinia').service('ReportCreationService', function () {\r\n\r\n \r\n});\r\n\nangular.module('inspinia').controller('ReportCreationController', function ($scope, $log, $localStorage,ReportCreationService) {\r\nvar vm = this;\r\n \r\n var loggedInUserId = $localStorage.loggedInUserId;\r\n if (!loggedInUserId) {\r\n \r\n $state.go('Login', {\r\n reload: true\r\n });\r\n \r\n } else {\r\n\r\n var lastIndex = 3;\r\n $scope.list = [];\r\n \r\n\r\n var NonAggregated = function() {\r\n $scope.list.push({\r\n 'id': '_1',\r\n 'text': 'One'\r\n },{\r\n 'id': '_2',\r\n 'text': 'Two'\r\n },{\r\n 'id': '_3',\r\n 'text': 'Three'\r\n },{\r\n 'id': '_4',\r\n 'text': 'Four'\r\n });\r\n };\r\n\r\n \r\n\r\n $scope.settings = {\r\n bootstrap2: false,\r\n filterClear: '',\r\n filterPlaceHolder: 'Filter!',\r\n moveSelectedLabel: 'Move selected only',\r\n moveAllLabel: 'Move all!',\r\n removeSelectedLabel: 'Remove selected only',\r\n removeAllLabel: 'Remove all!',\r\n moveOnSelect: false,\r\n preserveSelection: 'moved',\r\n selectedListLabel: '',\r\n nonSelectedListLabel: '',\r\n postfix: '_helperz',\r\n selectMinHeight: 130,\r\n filter: true,\r\n filterNonSelected: '',\r\n filterSelected: '',\r\n infoAll: '',\r\n infoFiltered: 'Filtered {0} from {1}!',\r\n infoEmpty: 'Empty list!',\r\n filterValues: true\r\n };\r\n\r\n NonAggregated();\r\n\r\n \r\n $scope.lists = [];\r\n var Aggregated = function() {\r\n $scope.lists.push({\r\n 'ids': '_1',\r\n 'texts': 'Five'\r\n },{\r\n 'ids': '_2',\r\n 'texts': 'Six'\r\n },{\r\n 'ids': '_3',\r\n 'texts': 'Seven'\r\n },{\r\n 'ids': '_4',\r\n 'texts': 'Eight'\r\n });\r\n };\r\n\r\n \r\n\r\n $scope.setting = {\r\n bootstrap2: false,\r\n filterClear: '',\r\n filterPlaceHolder: 'Filter!',\r\n moveSelectedLabel: 'Move selected only',\r\n moveAllLabel: 'Move all!',\r\n removeSelectedLabel: 'Remove selected only',\r\n removeAllLabel: 'Remove all!',\r\n moveOnSelect: false,\r\n preserveSelection: 'moved',\r\n selectedListLabel: '',\r\n nonSelectedListLabel: '',\r\n postfix: '_helperz',\r\n selectMinHeight: 130,\r\n filter: true,\r\n filterNonSelected: '',\r\n filterSelected: '',\r\n infoAll: '',\r\n infoFiltered: 'Filtered {0} from {1}!',\r\n infoEmpty: 'Empty list!',\r\n filterValues: true\r\n };\r\n\r\n Aggregated();\r\n\r\n\r\n\r\n\r\n$scope.listed = [];\r\nvar DrillDown = function() {\r\n $scope.listed.push({\r\n 'id_1': '_1',\r\n 'text_1': 'Nine'\r\n },{\r\n 'id_1': '_2',\r\n 'text_1': 'Ten'\r\n },{\r\n 'id_1': '_3',\r\n 'text_1': 'Eleven'\r\n },{\r\n 'id_1': '_4',\r\n 'text_1': 'Twelve'\r\n });\r\n};\r\n\r\n\r\n\r\n$scope.set = {\r\n bootstrap2: false,\r\n filterClear: '',\r\n filterPlaceHolder: 'Filter!',\r\n moveSelectedLabel: 'Move selected only',\r\n moveAllLabel: 'Move all!',\r\n removeSelectedLabel: 'Remove selected only',\r\n removeAllLabel: 'Remove all!',\r\n moveOnSelect: false,\r\n preserveSelection: 'moved',\r\n selectedListLabel: '',\r\n nonSelectedListLabel: '',\r\n postfix: '_helperz',\r\n selectMinHeight: 130,\r\n filter: true,\r\n filterNonSelected: '',\r\n filterSelected: '',\r\n infoAll: '',\r\n infoFiltered: 'Filtered {0} from {1}!',\r\n infoEmpty: 'Empty list!',\r\n filterValues: true\r\n};\r\n\r\nDrillDown();\r\n\r\n}\r\n\r\n\r\n\r\n})\nangular.module('inspinia').service('ReportService', function (ApiURL, $log, $http, DashboardURL, $window, CronUrl, PublicApiURL) {\r\n\r\n vm = this;\r\n\r\n vm.setShowSuccess = function (success) {\r\n vm.showSuccess = success;\r\n }\r\n\r\n vm.setShowFailure = function (failure) {\r\n vm.showFailure = failure;\r\n }\r\n\r\n vm.getDummyData = function (callback) {\r\n callback(JSON.parse('{\"dashboardName\": \"Account Dashboard\",\"dashboardDescription\": \"This is a Account Dashboard for Admin Role\",\"Role\": \"Administrator\",\"chartModel\": [{\"YAxisRules\": [{\"YAxisRule\": \"COUNT\",}], \"ChartName\": \"JOBS\",\"ChartType\": \"METRICS\",\"ChartId\": \"CH0000001\"\"dashboardId\" : \"d00000001\"\"ChartTitle\": \"Jobs\",\"ChartSubtitle\": \"Job Count\",\"ChartColor\": \"BLACK\",\"XRules\": {\"XAxis\": \"Status(Assigned,Completed,Approved)\"}}]}'));\r\n }\r\n\r\n vm.getDummyTableData = function (callback) {\r\n //$log.log(\"in getDummyTableData\");\r\n callback(JSON.parse('{\"Table\" :{\"ColumnHeaderName\" : \"Location\",\"ColumnHeaderValuesList\" : [\"All Location\", \"Haryana\", \"Delhi\"],\"TableColumns\" : [{\"ColumnName\":\"RFLOS\", \"ValueList\": [\"200/400\", \"20/40\", \"-\"]},{\"ColumnName\":\"IWAN\", \"ValueList\": [\"400/800\", \"-\", \"40/80\"]}]}}'));\r\n }\r\n\r\n vm.getCustomerReport = function (loggedinUser, reportname, token, callback) {\r\n $http.get(DashboardURL+'/api/Report/'+loggedinUser+'/'+reportname+'/GetByReportName', { headers: {'Token': token,'UserId':loggedinUser}}).then(function(res){\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n });\r\n }\r\n\r\n vm.getChart = function (loggedinUser, token, chartType, metrics, dimensions, rollUp, filterKeys, filterValues,chartName,isData,total,callback) {\r\n //$log.log(\"in service\", DashboardURL + '/api/Chart?ReqUserId=' + loggedinUser + '&ChartType=' + chartType + '&Metrics=' + metrics + '&DimensionList=' + dimensions + '&RollsUP='+rollUp+\"&FilterKeys=\"+filterKeys+\"&FilterValues=\"+filterValues);\r\n $http.get(DashboardURL + '/api/Chart?ReqUserId=' + loggedinUser + '&ChartType=' + chartType + '&Metrics=' + metrics + '&DimensionList=' + dimensions + '&RollsUP='+encodeURI(rollUp)+\"&FilterKeys=\"+filterKeys+\"&FilterValues=\"+filterValues+\"&isData=\"+isData+\"&total=\"+total, {headers:{'Token': token,'UserId':loggedinUser}}).then(function (res) {\r\n if (callback) {\r\n res.data['chartName'] = chartName;\r\n callback(res.data);\r\n }\r\n });\r\n }\r\n\r\n vm.getUsers = function(loggedinUser, token, callback){\r\n $http.get(ApiURL + '/api/'+loggedinUser+'/User', { headers: {'Token': token,'UserId':loggedinUser}}).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n })\r\n }\r\n\r\n vm.mailReport = function(token, toList, ccList, bccList, subject, message, reportName, userID, filterKey, filterValue, reportInMailBody, rollUps, callback){\r\n var data = {\r\n \"TOList\": toList,\r\n \"CCList\": ccList,\r\n \"BCCList\": bccList,\r\n \"Body\": message,\r\n \"Subject\": subject,\r\n \"ReportName\": reportName,\r\n \"ReqUserId\": userID,\r\n \"FilterKeys\": null,\r\n \"FilterValues\": null,\r\n \"ReportInMailBody\": reportInMailBody,\r\n \"RollUps\":rollUps\r\n };\r\n\r\n //$log.log(\"data\", data);\r\n $http.post(DashboardURL + '/api/Report/mailexcelreportbyname', data, { headers: { 'Content-Type': 'application/json', 'Token': token,'UserId':userID } }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n })\r\n }\r\n\r\n vm.scheduleReport = function(loggedinUser, data, token, callback){\r\n $http.post(ApiURL + '/api/ReportSchedule/cron?userId='+loggedinUser, data, { headers: { 'Content-Type': 'application/json', 'Token': token,'UserId':loggedinUser } }).then(function (res) {\r\n if (callback) {\r\n //$log.log(\"scheduleReport in report service\", res);\r\n callback(res.data);\r\n }\r\n })\r\n }\r\n\r\n vm.RescheduleReport = function(loggedinUser, data, token, callback){\r\n $http.put(ApiURL + '/api/ReportSchedule/cron?userId='+loggedinUser, data, { headers: { 'Content-Type': 'application/json', 'Token': token,'UserId':loggedinUser } }).then(function (res) {\r\n if (callback) {\r\n //$log.log(\"rescheduleReport in report service\", res);\r\n callback(res.data);\r\n }\r\n })\r\n } \r\n\r\n vm.downloadReport = function(reportName, loggedinUser, filterKey, filterName,rollUps,isData) {\r\n if(reportName == 'DSR Report' || reportName == 'Gangnam Ticket ReportG'){\r\n $window.location.href= 'https://login.mymobiforce.com/coreapi/reports/DSR%20Report.xlsb';\r\n }else{\r\n $window.location.href=PublicApiURL+\"/api/Report/DownloadExcelReportByReportName?reportName=\"+reportName+\"&reqUserId=\"+loggedinUser+\"&FilterKeys=\"+filterKey+\"&FilterValues=\"+filterName+\"&RollUps=\"+rollUps+\"&isData=\"+isData;\r\n console.log('$window.location.href',$window.location.href);\r\n }\r\n \r\n }\r\n\r\n vm.checkReportName = function(reportName, callback){\r\n $http.get(CronUrl + '/isCronNameExists?name='+reportName, { headers: { 'Content-Type': 'application/json' } }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n })\r\n }\r\n\r\n});\r\n\nangular.module('inspinia').controller('ReportController', function ($uibModal, $compile,InventoryCartService,InventoryItemListService, MainService, $timeout,$location,$window, $stateParams, DTOptionsBuilder, DTColumnBuilder, $scope, $state, $log, ReportService, $localStorage, DashboardURL, $q,$http,$rootScope) {\r\n var vm = this;\r\n\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n if (!loggedinUser) {\r\n\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n var token = $localStorage.token;\r\n\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n ReportService.setShowSuccess($scope.$parent.$parent.main.showSuccess);\r\n ReportService.setShowFailure($scope.$parent.$parent.main.showFailure);\r\n vm.report_data = {};\r\n var accountConfig = $localStorage.accountConfig;\r\n vm.accountId = $localStorage.accountConfig.AccountId;\r\n if (accountConfig && accountConfig.EnableRegion) {\r\n vm.EnableRegion = accountConfig.EnableRegion\r\n }else{\r\n vm.EnableRegion = false;\r\n }\r\n vm.metricsCharts = {};\r\n vm.tableArray = [];\r\n vm.profileImg='';\r\n vm.users = [];\r\n vm.filename='';\r\n vm.deepLink = {};\r\n vm.valueClass = {};\r\n vm.report_title=\"\";\r\n vm.attachReportInMailBody = true;\r\n vm.attachReportInExcel = true;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n vm.filter_key = $stateParams.filter_key?$stateParams.filter_key:\"\";\r\n vm.isData = $stateParams.isData?$stateParams.isData:false;\r\n vm.key = $stateParams.key?$stateParams.key:\"\";\r\n vm.filter_name = $stateParams.filter_name?$stateParams.filter_name:\"\";\r\n vm.additionalInfo = $stateParams.end_date?$stateParams.end_date:\"\";\r\n vm.defaultMailBody = \"Hello,\\n\\nYou are requested to view project report on below link \\n\\n\" + $window.location.href + \" \\n\\nThanks\\nMobiforce Team\";\r\n var creationDatefunc = $scope.$parent.$parent.main.AccountStartDate;\r\n vm.accountCreationDate = creationDatefunc();\r\n vm.tableCharts = {};\r\n var total = 'Total';\r\n $log.log('$stateParams.start_date',$stateParams.start_date);\r\n\r\n // var startDate = $stateParams.start_date?$stateParams.start_date:moment(0).format(\"YYYY-MM-DD\");\r\n // var endDate = $stateParams.end_date?$stateParams.end_date:moment().format(\"YYYY-MM-DD\");\r\n if ($stateParams.start_date) {\r\n vm.rollup = $stateParams.start_date;\r\n //\"Range(\"+startDate+\"|\"+endDate+\")\";\r\n var dateArray1 = vm.rollup.split('(');\r\n var dateArray2 = dateArray1[1].split(')');\r\n var dateArray3 = dateArray2[0].split('|');\r\n var startDate = moment(dateArray3[0]).format(\"YYYY-MM-DD\");\r\n var endDate = moment(dateArray3[1]).format(\"YYYY-MM-DD\");\r\n\r\n $scope.dates = { startDate: moment(dateArray3[0]), endDate: moment(dateArray3[1])};\r\n \r\n \r\n }else if(vm.isData){\r\n if ($stateParams.start_date =='' || $stateParams.start_date == null) {\r\n $scope.dates = { startDate:vm.accountCreationDate, endDate: moment() };\r\n var startDate =vm.accountCreationDate;\r\n //var startDate = moment(0).format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.rollup = \"Range(\"+startDate+\"|\"+endDate+\")\";\r\n }\r\n \r\n \r\n }else {\r\n $scope.dates = { startDate:moment().subtract(0, 'days'), endDate: moment() };\r\n var startDate = moment().subtract(0, 'days').format(\"YYYY-MM-DD\");\r\n //var startDate = moment(0).format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.rollup = \"Range(\"+startDate+\"|\"+endDate+\")\";\r\n \r\n }\r\n\r\n vm.Allapplyfilter = function () {\r\n vm.filter_key = '';\r\n vm.filter_name = '';\r\n prepareFilters('ProductBrand', vm.brandName);\r\n\r\n prepareFilters('ProductGroup', vm.productGroup);\r\n prepareFilters('ProductCategory', vm.partName);\r\n\r\n prepareFilters('strJobServiceType', vm.ticketType);\r\n prepareFilters('TicketStatus', vm.callStatus);\r\n vm.getCustomerReport(vm.getReportName($stateParams.report_name));\r\n vm.tableCharts = {};\r\n }\r\n\r\n var prepareFilters = function (filterkey, filtername) {\r\n if (filtername) {\r\n if (vm.filter_key) {\r\n vm.filter_key = vm.filter_key + ',' + filterkey;\r\n vm.filter_name = vm.filter_name + ',' + filtername;\r\n }\r\n else {\r\n vm.filter_key = filterkey;\r\n vm.filter_name = filtername;\r\n\r\n }\r\n }\r\n }\r\n\r\n\r\n vm.clearFilter = function () {\r\n vm.brandName = '';\r\n vm.partName = '';\r\n vm.productGroup = '';\r\n vm.callStatus = '';\r\n vm.ticketType = '';\r\n vm.Allapplyfilter();\r\n }\r\n \r\n vm.shareModel = {\r\n selectedUsers: [],\r\n toList: [],\r\n ccList: [],\r\n bccList: [],\r\n content: vm.defaultMailBody\r\n };\r\n vm.monthNames3 = [\"JAN\", \"FEB\", \"MAR\", \"APR\", \"MAY\", \"JUN\",\r\n \"JUL\", \"AUG\", \"SEP\", \"OCT\", \"NOV\", \"DEC\"\r\n ];\r\n\r\n vm.scheduleModel = {\r\n frequency: \"once\",\r\n once: \"once\",\r\n daily: \"daily\",\r\n weekly: \"weekly\",\r\n every_15_days: \"every_15_days\",\r\n monthly: \"monthly\",\r\n cronExpression: \"expression\",\r\n input_for_month: {\r\n option: \"start_of_day\",\r\n start_of_day: \"start_of_day\",\r\n end_of_day: \"end_of_day\",\r\n specific_date: \"specific_date\",\r\n date: 1\r\n },\r\n specific_date_range: [],\r\n start_date:moment(),\r\n end_date:moment().add(1, 'M'),\r\n attachReportInMailBody:true,\r\n attachReportInExcel: true,\r\n scheduleTime:\"\",\r\n scheduleName:\"\",\r\n reportNameAlreadyExists:false,\r\n reportNameMendtryErr:false,\r\n toListMendtryErr:false,\r\n timeMendtryErr:false,\r\n sampleDateMendtryErr:false,\r\n pull_data: {\r\n range: \"last_day\",\r\n day: \"last_day\",\r\n week: \"last_week\",\r\n month: \"last_month\",\r\n quarter: \"last_quarter\",\r\n current_month: \"current_month\",\r\n specific: \"specific\",\r\n specific_day_value: 1,\r\n calculate_range: function () {\r\n //$log.log(vm.scheduleModel.pull_data.range);\r\n var today = new Date();\r\n if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.day) {\r\n var date = today;\r\n return date.getDate() + \"-\" + (date.getMonth()+1) + \"-\" + date.getFullYear();\r\n } if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.week) {\r\n var date = new Date(today.getFullYear(), today.getMonth(), today.getDate() - 7);\r\n return date.getDate() + \"-\" + (date.getMonth()+1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth()+1) + \"-\" + today.getFullYear();\r\n } if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.month) {\r\n var date = new Date(today.getFullYear(), today.getMonth() - 1, today.getDate());\r\n return date.getDate() + \"-\" + (date.getMonth()+1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth()+1) + \"-\" + today.getFullYear();\r\n } if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.quarter) {\r\n var date = new Date(today.getFullYear(), today.getMonth() - 3, today.getDate());\r\n return date.getDate() + \"-\" + (date.getMonth()+1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth()+1) + \"-\" + today.getFullYear();\r\n }\r\n if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.current_month) {\r\n var date = new Date(today.getFullYear(), today.getMonth(), today.getDate());\r\n return 01 + \"-\" + (date.getMonth()+1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth()+1) + \"-\" + today.getFullYear();\r\n }\r\n if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.specific) {\r\n //$log.log(vm.scheduleModel.pull_data.specific_day_value)\r\n var date = new Date(today.getFullYear(), today.getMonth(), today.getDate() - vm.scheduleModel.pull_data.specific_day_value);\r\n return date.getDate() + \"-\" + (date.getMonth()+1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth()+1) + \"-\" + today.getFullYear();\r\n }\r\n }\r\n }\r\n };\r\n\r\n for (var i = 1; i < 32; i++) {\r\n vm.scheduleModel.specific_date_range.push({ value: i, label: i });\r\n }\r\n\r\n vm.getChart = function (chartId, chartType, metrics, dimensions, rollUp, filterKeys, filterValues,chartName,isData, total) {\r\n //$log.log(\"in controller\", loggedinUser, chartType, metrics, dimensions, rollUp, filterKeys, filterValues); \r\n vm.rachit = [];\r\n ReportService.getChart(loggedinUser, token, chartType, metrics, dimensions, rollUp, filterKeys, filterValues,chartName,isData, total, vm.createCallback(vm.rachit, [function (data) {\r\n if (chartType == 'Metrics') {\r\n vm.metricsCharts[chartId].value = data;\r\n } else if (chartType == 'Table') { \r\n\r\n //vm.tableCharts[chartId] = {};\r\n vm.tableCharts[chartId].value = data;\r\n //vm.tableCharts[chartId].ChartId = chartId;\r\n //vm.tableCharts[chartId].table_name = data.chartName; \r\n // console.log(data,chartType);\r\n vm.buildColumnBuilder(data, chartId, chartType, metrics, dimensions, rollUp, filterKeys, filterValues,chartName,isData);\r\n \r\n }\r\n }]));\r\n }\r\n\r\n vm.plotHistory = function(data){\r\n vm.ticketHistory = [];\r\n if (data!=null && data != '') {\r\n vm.ticketHistory = JSON.parse(data);\r\n }\r\n \r\n // $log.log('plotHistory',vm.ticketHistory);\r\n }\r\n\r\n \r\n\r\n // $scope.dates = { startDate: moment().subtract(1, 'day'), endDate: moment().subtract(1, 'day') };\r\n // $scope.dates = { startDate: moment(0), endDate: moment() };\r\n $scope.ranges = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n // 'This month': [moment().startOf('month'), moment().endOf('month')]\r\n 'This month': [moment().startOf('month'), moment()]\r\n };\r\n\r\n $scope.dateRangeChange = function(ev, picker){\r\n // console.log(ev, picker);\r\n var startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n var endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n \r\n //$location.search(start_date);\r\n // $location.path($stateParams.start_date+\"/\"+$stateParams.end_date).replace();\r\n // $log.log('$stateParams.start_date',$stateParams.start_date);\r\n // $log.log('$stateParams.end_date',$stateParams.end_date);\r\n // vm.sDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n // vm.eDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n vm.rollup = \"Range(\"+startDate+\"|\"+endDate+\")\";\r\n vm.getCustomerReport(vm.getReportName($stateParams.report_name));\r\n vm.tableCharts = {};\r\n\r\n };\r\n \r\n vm.reportLayoutCallback = vm.createCallback(null, [function (data) {\r\n vm.report_data = data;\r\n var matricsCount = 0;\r\n vm.tableCount = 0;\r\n vm.tableNames = [];\r\n vm.tableOrder = [];\r\n vm.tableArray = [];\r\n var matricsIds = [];\r\n //$log.log(data);\r\n angular.forEach(data.chartModel, function (d) {\r\n if (d.ClickableColumns != null && d.ClickableColumns.length > 0) {\r\n angular.forEach(d.ClickableColumns, function (cl) {\r\n if (cl.Link == \"Project Status Report\") {\r\n vm.deepLink[cl.ColumnName] = function (filterName) {\r\n //$log.log(\"index.Report({report_name:'ProjectStatus', filter_key:'\"+cl.KeyName+\"', filter_name:'\"+filterName+\"'})\");\r\n return \"index.Report({report_name:'ProjectStatus', filter_key:'\"+cl.KeyName+\"', filter_name:'\"+filterName+\"', start_date:'\"+vm.rollup+\"'})\";\r\n }\r\n } if (cl.Link == \"Customer Status Report\") {\r\n vm.deepLink[cl.ColumnName] = function (filterName) {\r\n //$log.log(\"index.Report({report_name:'CustomerStatusReport', filter_key:'\"+cl.KeyName+\"', filter_name:'\"+filterName+\"'})\");\r\n return \"index.Report({report_name:'CustomerStatusReport', filter_key:'\"+cl.KeyName+\"', filter_name:'\"+filterName+\"', start_date:'\"+vm.rollup+\"'})\";\r\n }\r\n }if (cl.Link == 'Customer Location HCL Report') {\r\n vm.deepLink[cl.ColumnName] = function (filterName){\r\n return \"index.Report({report_name:'CustomerLocationHCLReport', filter_key:'\"+cl.KeyName+\"', filter_name:'\"+filterName+\"' , start_date:'\"+vm.rollup+\"'})\";\r\n }\r\n }\r\n if (cl.Link == 'City Ticket HCL Report') {\r\n vm.deepLink[cl.ColumnName] = function (filterName,i){\r\n // var fromDate = $stateParams.start_date?$stateParams.start_date:\"\";\r\n // var toDate = $stateParams.end_date?$stateParams.end_date:\"\";;\r\n return \"index.Report({report_name:'CityTicketHCLReport', filter_key:'\"+cl.KeyName+\"', filter_name:'\"+filterName+\"' , start_date:'\"+vm.rollup+\"', end_date:'\"+i+\"'})\";\r\n }\r\n }\r\n if (cl.Link == 'Team Hcl Detailed Report') {\r\n vm.deepLink[cl.ColumnName] = function (filterName){\r\n // var fromDate = $stateParams.start_date?$stateParams.start_date:\"\";\r\n // var toDate = $stateParams.end_date?$stateParams.end_date:\"\";;\r\n return \"index.Report({report_name:'TeamHclDetailedReport', filter_key:'\"+cl.KeyName+\"', filter_name:'\"+filterName+\"' , start_date:'\"+vm.rollup+\"'})\";\r\n }\r\n }\r\n if (cl.Link == 'Team Ticket HCL Report') {\r\n vm.deepLink[cl.ColumnName] = function (filterName,i){\r\n //$log.log('Name',i);\r\n // var fromDate = $stateParams.start_date?$stateParams.start_date:\"\";\r\n // var toDate = $stateParams.end_date?$stateParams.end_date:\"\";;\r\n return \"index.Report({report_name:'TeamTicketHCLReport', filter_key:'\"+cl.KeyName+\"', filter_name:'\"+filterName+\"' , start_date:'\"+vm.rollup+\"' , end_date:'\"+i+\"'})\";\r\n }\r\n }\r\n if (cl.Link == \"JobView\") {\r\n\r\n if(vm.VerticalName == \"IMS\"){\r\n vm.deepLink[cl.ColumnName] = function (param) {\r\n return \"index.JobView({ticketId:'\" + param + \"',type:'isTicketView'})\";\r\n }\r\n }\r\n else {\r\n vm.deepLink[cl.ColumnName] = function (param) {\r\n return \"index.JobDetailView({ticketId:'\" + param + \"',type:'isTicketView'})\";\r\n }\r\n \r\n }\r\n \r\n }if (cl.Link == 'Team Detailed Report') {\r\n vm.deepLink[cl.ColumnName] = function (filterName){\r\n return \"index.Report({report_name:'TeamDetailReport', filter_key:'\"+cl.KeyName+\"', filter_name:'\"+filterName+\"', start_date:'\"+vm.rollup+\"'})\";\r\n }\r\n }if (cl.Link == 'Spectro Lab Detailed Report') {\r\n vm.deepLink[cl.ColumnName] = function (filterName){\r\n return \"index.Report({report_name:'SpectroLabDetailedReport', filter_key:'\"+cl.KeyName+\"', filter_name:'\"+filterName+\"', start_date:'\"+vm.rollup+\"'})\";\r\n }\r\n }if (cl.Link == 'Finance Ticket Report') {\r\n vm.deepLink[cl.ColumnName] = function (filterName){\r\n return \"index.Report({report_name:'Finance Ticket Report', filter_key:'\"+cl.KeyName+\"', filter_name:'\"+filterName+\"', start_date:'\"+vm.rollup+\"'})\";\r\n }\r\n }\r\n });\r\n }\r\n if (d.UIClasess != null && d.UIClasess.length > 0) {\r\n vm.valueClass = {};\r\n angular.forEach(d.UIClasess, function (cl) {\r\n vm.valueClass[cl.ColumnName] = cl.ClassName;\r\n });\r\n }\r\n //$log.log(vm.valueClass);\r\n // $log.log(\"dates\", $scope.dates);\r\n if (d.ChartType == 'Metrics') {\r\n \r\n // $timeout(function(){\r\n // vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, vm.rollup, vm.filter_key, vm.filter_name);\r\n // },1000)\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, vm.rollup, vm.filter_key, vm.filter_name,\"\",false);\r\n matricsCount++;\r\n matricsIds.push(d.ChartId);\r\n vm.metricsCharts[d.ChartId] = d;\r\n vm.metricsCharts[d.ChartId].value = \"Loading...\";\r\n } \r\n else if(d.ChartType == 'Table'){\r\n\r\n if (vm.isData) {\r\n d.Metrics = vm.key; \r\n }\r\n // var isData = false;\r\n // if (vm.report_data.ReportName == 'Link Ticket Report') {\r\n // d.Metrics = vm.key;\r\n // isData = true;\r\n // }\r\n $timeout(function(){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, vm.rollup, vm.filter_key, vm.filter_name, d.ChartTitle,vm.isData);\r\n },100)\r\n // vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, vm.rollup, vm.filter_key, vm.filter_name);\r\n vm.tableNames[vm.tableCount]=d.ChartTitle;\r\n vm.tableOrder[vm.tableCount]=d.ChartId;\r\n vm.tableCount = vm.tableCount + 1;\r\n\r\n vm.tableCharts[d.ChartId] = {};\r\n //vm.tableCharts[d.ChartId].value = data;\r\n vm.tableCharts[d.ChartId].ChartId = d.ChartId;\r\n vm.tableCharts[d.ChartId].table_name = d.ChartTitle;\r\n\r\n // console.log(vm.tableNames);\r\n // console.log(vm.tableOrder);\r\n // vm.tableArray[vm.tableCount].table_name = d.ChartTitle;\r\n // $log.log('vm.tableArray[vm.tableCount].table_name',vm.tableArray[vm.tableCount].table_name); \r\n }\r\n \r\n \r\n });\r\n if (matricsCount >= 5) {\r\n if (matricsCount % 4 == 0) {\r\n matricsCount = 4;\r\n } else {\r\n matricsCount = 3;\r\n }\r\n }\r\n matricsCount = 12 / matricsCount;\r\n matricsCount = Math.round(matricsCount);\r\n angular.forEach(matricsIds, function (d) {\r\n vm.metricsCharts[d].width = \"col-lg-\" + matricsCount;\r\n });\r\n }])\r\n\r\n vm.getCustomerReport = function (reportname) {\r\n ReportService.getCustomerReport(loggedinUser, reportname, token, vm.reportLayoutCallback);\r\n \r\n }\r\n\r\n vm.getReportName = function(reportNameParam){\r\n if (reportNameParam == 'ProjectSummary') {\r\n return 'Project Report';\r\n } else if (reportNameParam == 'ProjectStatus') {\r\n return 'Project Status Report';\r\n } else if (reportNameParam == 'CustomerSummary') {\r\n return 'Customer Report';\r\n } else if (reportNameParam == 'CustomerStatusReport') {\r\n return 'Customer Status Report';\r\n } else if (reportNameParam == 'Financial') {\r\n return 'Financial Report';\r\n } else if (reportNameParam == 'DailyProgress') {\r\n return 'Daily Progress Report';\r\n } else if (reportNameParam == 'DailyStatusProgress') {\r\n return '';\r\n } else if (reportNameParam == 'Scheduled') {\r\n return '';\r\n }else if (reportNameParam == 'TeamReport') {\r\n return 'Team Report';\r\n }else if (reportNameParam == 'TeamDetailReport') {\r\n return 'Team Detailed Report';\r\n } else if(reportNameParam == 'ReferralReport'){\r\n return 'Referral Report';\r\n }else if(reportNameParam == 'LabReport'){\r\n return 'Lab Report';\r\n }else if(reportNameParam == 'SpectroLabDetailedReport'){\r\n return 'Spectro Lab Detailed Report';\r\n }\r\n else if(reportNameParam == 'CustomerHCLReport'){\r\n return 'Customer HCL Report';\r\n }\r\n else if(reportNameParam == 'CustomerLocationHCLReport'){\r\n return 'Customer Location HCL Report';\r\n }\r\n else if(reportNameParam == 'CityTicketHCLReport'){\r\n return 'City Ticket HCL Report';\r\n }\r\n else if(reportNameParam == 'TeamHclReport'){\r\n return 'Team Hcl Report';\r\n }\r\n else if(reportNameParam == 'TeamHclDetailedReport'){\r\n return 'Team Hcl Detailed Report';\r\n }else if(reportNameParam == 'TeamTicketHCLReport'){\r\n return 'Team Ticket HCL Report';\r\n }else if(reportNameParam == 'LinkTicketReport'){\r\n return 'Link Ticket Report';\r\n }else if(reportNameParam == 'TicketSummary'){\r\n return 'Ticket Summary';\r\n }else if(reportNameParam == 'AgingofTickets'){\r\n return 'Aging of Tickets';\r\n }else if(reportNameParam == 'Regional Summary'){\r\n return 'Regional Summary';\r\n }else if(reportNameParam == 'Finance Report'){\r\n return 'Finance Report';\r\n }else if(reportNameParam == 'Finance Ticket Report'){\r\n return 'Finance Ticket Report';\r\n }\r\n else \r\n {\r\n return reportNameParam;\r\n }\r\n }\r\n\r\n vm.getReportTitle = function(reportNameParam){\r\n if (reportNameParam == 'ProjectSummary') {\r\n return 'Project Summary';\r\n } else if (reportNameParam == 'ProjectStatus') {\r\n return 'Project Status';\r\n } else if (reportNameParam == 'CustomerSummary') {\r\n return 'Customer Summary';\r\n } else if (reportNameParam == 'CustomerStatusReport') {\r\n return 'Customer Status Report';\r\n } else if (reportNameParam == 'Financial') {\r\n return 'Financial Summary';\r\n } else if (reportNameParam == 'DailyProgress') {\r\n return 'Project Daily Progress';\r\n } else if (reportNameParam == 'DailyStatusProgress') {\r\n return 'Daily Status Progress';\r\n } else if (reportNameParam == 'Scheduled') {\r\n return 'Scheduled Report';\r\n }else if (reportNameParam == 'TeamReport') {\r\n return 'Team Report';\r\n }else if (reportNameParam == 'TeamDetailReport') {\r\n return 'Team Detailed Report';\r\n } else if(reportNameParam == 'ReferralReport'){\r\n return 'Referral Report';\r\n }else if(reportNameParam == 'LabReport'){\r\n return 'Lab Report';\r\n }else if(reportNameParam == 'SpectroLabDetailedReport'){\r\n return 'Spectro Lab Detailed Report';\r\n }else if(reportNameParam == 'CustomerHCLReport'){\r\n return 'Customer HCL Report';\r\n }\r\n else if(reportNameParam == 'CustomerLocationHCLReport'){\r\n return 'Customer Location HCL Report';\r\n }else if(reportNameParam == 'CityTicketHCLReport'){\r\n return 'City Ticket HCL Report';\r\n }\r\n else if(reportNameParam == 'TeamHclReport'){\r\n return 'Team Hcl Report';\r\n }\r\n else if(reportNameParam == 'TeamHclDetailedReport'){\r\n return 'Team Hcl Detailed Report';\r\n }\r\n else if(reportNameParam == 'TeamTicketHCLReport'){\r\n return 'Team Ticket HCL Report';\r\n }else if(reportNameParam == 'LinkTicketReport'){\r\n return 'Link Ticket Report';\r\n }else if(reportNameParam == 'TicketSummary'){\r\n return 'Ticket Summary';\r\n }else if(reportNameParam == 'Regional Summary'){\r\n return 'Regional Summary';\r\n }else if(reportNameParam == 'Finance Report'){\r\n return 'Finance Report';\r\n }else if(reportNameParam == 'Finance Ticket Report'){\r\n return 'Finance Ticket Report';\r\n }\r\n else\r\n {\r\n return reportNameParam;\r\n }\r\n\r\n }\r\n\r\n vm.report_title = vm.getReportTitle($stateParams.report_name);\r\n vm.getCustomerReport(vm.getReportName($stateParams.report_name));\r\n\r\n vm.ShareReport = function () {\r\n //$log.log(\"ShareReport\");\r\n vm.shareModel.toList = [];\r\n vm.shareModel.ccList = [];\r\n vm.shareModel.bccList = [];\r\n vm.shareModel.content = \"Please find below the progress report as on $Date\\n\\nYou are requested to view the detailed report at $Link\";\r\n vm.ShareModal = $uibModal.open({\r\n templateUrl: 'ShareReport.html',\r\n backdrop: 'static',\r\n size: 'md',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.closeShareReportModal = function () {\r\n vm.ShareModal.close();\r\n }\r\n\r\n vm.ReportFilter = function () {\r\n vm.FilterModal = $uibModal.open({\r\n templateUrl: 'ReportFilter.html',\r\n backdrop: 'static',\r\n size: 'md',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.closeReportFilterModal = function () {\r\n vm.FilterModal.close();\r\n }\r\n\r\n vm.ScheduledReport = function () {\r\n vm.shareModel.toList = [];\r\n vm.shareModel.ccList = [];\r\n vm.shareModel.bccList = [];\r\n vm.scheduleModel.reportName=\"\";\r\n vm.scheduleModel.frequency=vm.scheduleModel.once;\r\n vm.scheduleModel.pull_data.range=vm.scheduleModel.pull_data.day; \r\n vm.scheduleModel.attachReportInMailBody=true;\r\n vm.scheduleModel.attachReportInExcel=true;\r\n vm.scheduleModel.sampleDateMendtryErr=false;\r\n vm.scheduleModel.input_of_week=null;\r\n vm.scheduleModel.sampleDate=new moment();\r\n vm.scheduleModel.input_for_month.option=vm.scheduleModel.input_for_month.start_of_day; \r\n vm.shareModel.content = \"Please find below the progress report as on $Date\\n\\nYou are requested to view the detailed report at $Link\";\r\n vm.ScheduledReportModal = $uibModal.open({\r\n templateUrl: 'ScheduledReport.html',\r\n backdrop: 'static',\r\n windowClass:'schedulerModal',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.closeScheduledReportModal = function () {\r\n vm.ScheduledReportModal.close();\r\n }\r\n\r\n vm.shareModel.getUserSuggestion = function (val) {\r\n\r\n vm.scheduleModel.toListMendtryErr=false;\r\n\r\n var re = /^[A-Za-z0-9]+([\\.\\-_]*[A-Za-z0-9]+)*@[A-Za-z0-9]+([\\.\\-_]*[A-Za-z0-9]+)*\\.([A-Za-z]{2}|[A-Za-z]{3})$/;\r\n if (vm.users.length > 0) {\r\n return re.test(val)?[{FirstName:val.split(\"@\")[0], LastName:\"\", UserId:val}].concat(vm.users):vm.users;\r\n }\r\n vm.getUsers();\r\n return re.test(val)?[{FirstName:val.split(\"@\")[0], LastName:\"\", UserId:val}]:[];\r\n }\r\n\r\n vm.getUsers = function () {\r\n vm.users = [];\r\n ReportService.getUsers(loggedinUser, token, vm.createCallback(vm.users, [function (data) {\r\n //$log.log(data);\r\n }]));\r\n }\r\n\r\n vm.shareModel.searchAsOr = function (searchText1) {\r\n return function (entry) {\r\n var splittedText = searchText1.split(\";\");\r\n if (splittedText != null && splittedText.length > 0) {\r\n var searchText = splittedText[splittedText.length - 1].trim();\r\n if (entry.FirstName.toLowerCase().indexOf(searchText.toLowerCase()) > -1\r\n || (entry.LastName !=null && entry.LastName.toLowerCase().indexOf(searchText.toLowerCase()) > -1)\r\n || entry.UserId.toLowerCase().indexOf(searchText.toLowerCase()) > -1)\r\n return entry;\r\n }\r\n }\r\n }\r\n\r\n vm.shareModel.removeSelectedUsers = function (element) {\r\n var matched = false;\r\n angular.forEach(vm.shareModel.toList, function (d) {\r\n if (d.UserId == element.UserId) {\r\n matched = true;\r\n return;\r\n }\r\n });\r\n if (!matched) {\r\n angular.forEach(vm.shareModel.ccList, function (d) {\r\n if (d.UserId == element.UserId) {\r\n matched = true;\r\n return;\r\n }\r\n });\r\n } \r\n if (!matched) {\r\n angular.forEach(vm.shareModel.bccList, function (d) {\r\n if (d.UserId == element.UserId) {\r\n matched = true;\r\n return;\r\n }\r\n });\r\n } \r\n if (!matched) {\r\n return element;\r\n }\r\n }\r\n\r\n vm.shareModel.cancelledToListUser = function (i) {\r\n vm.shareModel.toList.splice(i, 1);\r\n }\r\n\r\n vm.shareModel.cancelledCCListUser = function (i) {\r\n vm.shareModel.ccList.splice(i, 1);\r\n }\r\n\r\n vm.shareModel.cancelledBCCListUser = function (i) {\r\n vm.shareModel.bccList.splice(i, 1);\r\n }\r\n\r\n vm.shareModel.selectUserNameInToList = function (item) {\r\n vm.shareModel.toList.push(item);\r\n vm.shareModel.toUsers = [];\r\n }\r\n vm.shareModel.selectUserNameInCCList = function (item) {\r\n vm.shareModel.ccList.push(item);\r\n vm.shareModel.ccUsers = [];\r\n }\r\n vm.shareModel.selectUserNameInBCCList = function (item) {\r\n vm.shareModel.bccList.push(item);\r\n vm.shareModel.bccUsers = [];\r\n }\r\n\r\n vm.shareModel.mailReport = function () {\r\n var toList = [];\r\n angular.forEach(vm.shareModel.toList, function(user){\r\n toList.push(user.UserId);\r\n });\r\n var ccList = [];\r\n angular.forEach(vm.shareModel.ccList, function(user){\r\n ccList.push(user.UserId);\r\n });\r\n var bccList = [];\r\n angular.forEach(vm.shareModel.bccList, function(user){\r\n bccList.push(user.UserId);\r\n });\r\n if(toList.length==0){\r\n vm.scheduleModel.toListMendtryErr=true;\r\n return;\r\n }\r\n if(vm.shareModel.content.length==0){\r\n return false;\r\n }\r\n\r\n var content = vm.shareModel.content;\r\n content=content.replace(new RegExp(\"\\n\", 'g'), \"
\");\r\n vm.closeShareReportModal();\r\n ReportService.mailReport(token, toList, ccList, bccList, \"Report: \" + vm.getReportName($stateParams.report_name), \r\n content, vm.getReportName($stateParams.report_name), loggedinUser, vm.filter_key, vm.filter_name, \r\n vm.attachReportInMailBody,vm.attachReportInExcel,vm.rollup,\r\n vm.createCallback(null, [function (data) { \r\n vm.showSuccess(\"Success\", \"Report has been shared successfully\");\r\n }]));\r\n }\r\n\r\n vm.downloadReport = function(){\r\n ReportService.downloadReport(vm.report_data.ReportName, loggedinUser, vm.filter_key, vm.filter_name,vm.rollup,vm.isData);\r\n \r\n }\r\n\r\n vm.scheduleModel.checkName = function(){\r\n ReportService.checkReportName(vm.scheduleModel.reportName, function(data){\r\n //$log.log(\"checkName reposnse\", data);\r\n vm.scheduleModel.reportNameAlreadyExists=data;\r\n });\r\n }\r\n\r\n vm.scheduleModel.scheduleReport = function () {\r\n var startTime = null;\r\n var endTime = null;\r\n var cronExpression = null;\r\n var daily = null;\r\n var weekly = null;\r\n var monthly = null;\r\n //$log.log(\"vm.scheduleModel.scheduleTime \",vm.scheduleModel.scheduleTime);\r\n if(vm.scheduleModel.reportName==null || vm.scheduleModel.reportName.length==0){\r\n vm.scheduleModel.reportNameMendtryErr=true;\r\n return;\r\n }\r\n if(vm.shareModel.toList.length==0){\r\n vm.scheduleModel.toListMendtryErr=true;\r\n return; \r\n }\r\n\r\n if (vm.scheduleModel.frequency == vm.scheduleModel.once) {\r\n //$log.log(\"vm.scheduleModel.sampleDate\", vm.scheduleModel.sampleDate);\r\n if(vm.scheduleModel.sampleDate){\r\n var sample_Data = vm.scheduleModel.sampleDate?vm.scheduleModel.sampleDate:new moment();\r\n startTime = {\r\n \"date\": sample_Data.format(\"DD\"),\r\n \"hour\": sample_Data.format(\"HH\"),\r\n \"min\": sample_Data.format(\"mm\"),\r\n \"month\": sample_Data.format(\"MMM\").toUpperCase(),\r\n \"sec\": sample_Data.format(\"ss\"),\r\n \"year\": sample_Data.format(\"YYYY\")\r\n };\r\n\r\n var sampleEndTime = moment(sample_Data).add(1, 'month');\r\n endTime = {\r\n \"date\": sampleEndTime.format(\"DD\"),\r\n \"hour\": sampleEndTime.format(\"HH\"),\r\n \"min\": sampleEndTime.format(\"mm\"),\r\n \"month\": sampleEndTime.format(\"MMM\").toUpperCase(),\r\n \"sec\": sampleEndTime.format(\"ss\"),\r\n \"year\": sampleEndTime.format(\"YYYY\")\r\n };\r\n //$log.log(\"startTime \",startTime);\r\n } else {\r\n vm.scheduleModel.sampleDateMendtryErr=true;\r\n return;\r\n }\r\n \r\n } else {\r\n var startDate = vm.scheduleModel.start_date?new Date(vm.scheduleModel.start_date):new Date();\r\n var endDate = vm.scheduleModel.end_date?new Date(vm.scheduleModel.end_date):new Date();\r\n startTime = {\r\n \"date\": startDate.getDate(),\r\n \"hour\": startDate.getHours(),\r\n \"min\": startDate.getMinutes(),\r\n \"month\": vm.monthNames3[startDate.getMonth()],\r\n \"sec\": startDate.getSeconds(),\r\n \"year\": startDate.getFullYear()\r\n };\r\n endTime = {\r\n \"date\": endDate.getDate(),\r\n \"hour\": endDate.getHours(),\r\n \"min\": endDate.getMinutes(),\r\n \"month\": vm.monthNames3[endDate.getMonth()],\r\n \"sec\": endDate.getSeconds(),\r\n \"year\": endDate.getFullYear()\r\n };\r\n var hour, min;\r\n if(vm.scheduleModel.scheduleTime){\r\n var splittedtime = vm.scheduleModel.scheduleTime.split(\":\");\r\n hour = splittedtime[0];\r\n min = splittedtime[1];\r\n } else {\r\n vm.scheduleModel.timeMendtryErr=true;\r\n return;\r\n }\r\n if (vm.scheduleModel.frequency == vm.scheduleModel.daily) {\r\n daily = {\r\n \"hour\": hour,\r\n \"min\": min\r\n };\r\n } else if (vm.scheduleModel.frequency == vm.scheduleModel.weekly) {\r\n var dayOfWeek = [];\r\n\r\n if (vm.scheduleModel.input_of_week.sun) {\r\n dayOfWeek.push(1);\r\n }\r\n if (vm.scheduleModel.input_of_week.mon) {\r\n dayOfWeek.push(2);\r\n }\r\n if (vm.scheduleModel.input_of_week.tue) {\r\n dayOfWeek.push(3);\r\n }\r\n if (vm.scheduleModel.input_of_week.wed) {\r\n dayOfWeek.push(4);\r\n }\r\n if (vm.scheduleModel.input_of_week.thu) {\r\n dayOfWeek.push(5);\r\n }\r\n if (vm.scheduleModel.input_of_week.fri) {\r\n dayOfWeek.push(6);\r\n }\r\n if (vm.scheduleModel.input_of_week.sat) {\r\n dayOfWeek.push(7);\r\n }\r\n weekly = {\r\n \"dayOfWeek\": dayOfWeek,\r\n \"hour\": hour,\r\n \"min\": min\r\n };\r\n } else if (vm.scheduleModel.frequency == vm.scheduleModel.monthly) {\r\n if (vm.scheduleModel.input_for_month.option == vm.scheduleModel.input_for_month.start_of_day) {\r\n monthly = {\r\n \"dayOfMonth\": \"1\",\r\n \"hour\": hour,\r\n \"min\": min\r\n };\r\n } if (vm.scheduleModel.input_for_month.option == vm.scheduleModel.input_for_month.end_of_day) {\r\n cronExpression = \"0 \"+hour+\" \"+min+\" L * ?\";\r\n vm.scheduleModel.frequency = vm.scheduleModel.cronExpression\r\n } if (vm.scheduleModel.input_for_month.option == vm.scheduleModel.input_for_month.specific_date) {\r\n monthly = {\r\n \"dayOfMonth\": vm.scheduleModel.input_for_month.date,\r\n \"hour\": hour,\r\n \"min\": min\r\n };\r\n }\r\n\r\n } \r\n }\r\n\r\n var data = {\r\n \"cronExpression\": cronExpression,\r\n \"cronType\": vm.scheduleModel.frequency,\r\n \"daily\": daily,\r\n \"endTime\": endTime,\r\n \"jobStartTime\": startTime,\r\n \"method\": \"POST\",\r\n \"monthly\": monthly,\r\n \"uniqueId\": vm.scheduleModel.reportName,\r\n \"reportName\": vm.getReportName($stateParams.report_name),\r\n \"url\": DashboardURL+\"/api/Report/mailexcelreportbyname\",\r\n \"weekly\": weekly,\r\n \"accountId\":loggedinUser\r\n };\r\n\r\n var toList = [];\r\n angular.forEach(vm.shareModel.toList, function(user){\r\n toList.push(user.UserId);\r\n });\r\n var ccList = [];\r\n angular.forEach(vm.shareModel.ccList, function(user){\r\n ccList.push(user.UserId);\r\n });\r\n var bccList = [];\r\n angular.forEach(vm.shareModel.bccList, function(user){\r\n bccList.push(user.UserId);\r\n });\r\n\r\n if(vm.shareModel.content.length==0){\r\n vm.shareModel.contentMedtryErr=true;\r\n return;\r\n }\r\n\r\n var content = vm.shareModel.content;\r\n content=content.replace(new RegExp(\"\\n\", 'g'), \"
\");\r\n var schedulerModel = {};\r\n schedulerModel[\"TOList\"]=toList;\r\n schedulerModel[\"CCList\"]=ccList;\r\n schedulerModel[\"BCCList\"]=bccList;\r\n schedulerModel[\"Body\"]=content;\r\n schedulerModel[\"Subject\"]=\"Report: \" + vm.getReportName($stateParams.report_name)\r\n schedulerModel[\"ReportName\"]=vm.getReportName($stateParams.report_name)\r\n schedulerModel[\"ReqUserId\"]=loggedinUser;\r\n schedulerModel[\"FilterKeys\"]=null;\r\n schedulerModel[\"FilterValues\"]=null;\r\n schedulerModel[\"ReportInMailBody\"]=vm.scheduleModel.attachReportInMailBody;\r\n schedulerModel[\"AttachXLSReportInMail\"]=vm.scheduleModel.attachReportInExcel;\r\n if(vm.scheduleModel.pull_data.range==vm.scheduleModel.pull_data.day){\r\n schedulerModel[\"RollUps\"]=\"Last Day\";\r\n } else if(vm.scheduleModel.pull_data.range==vm.scheduleModel.pull_data.week){\r\n schedulerModel[\"RollUps\"]=\"Last Week\"; \r\n } else if(vm.scheduleModel.pull_data.range==vm.scheduleModel.pull_data.month){\r\n schedulerModel[\"RollUps\"]=\"Last Month\"; \r\n } else if(vm.scheduleModel.pull_data.range==vm.scheduleModel.pull_data.quarter){\r\n schedulerModel[\"RollUps\"]=\"Last Quarter\"; \r\n }else if(vm.scheduleModel.pull_data.range==vm.scheduleModel.pull_data.current_month){\r\n schedulerModel[\"RollUps\"]=\"Current Month\"; \r\n } else if(vm.scheduleModel.pull_data.range==vm.scheduleModel.pull_data.specific){\r\n var re = /^[1-9]+[0-9]*$/;\r\n if(!re.test(vm.scheduleModel.pull_data.specific_day_value)){\r\n vm.scheduleModel.pull_data.specificDayValMedtryErr=true;\r\n return;\r\n }\r\n schedulerModel[\"RollUps\"]=vm.scheduleModel.pull_data.specific_day_value; \r\n }\r\n data[\"model\"]=JSON.stringify(schedulerModel);\r\n data[\"entity\"]=\"report\";\r\n\r\n ReportService.scheduleReport(loggedinUser, data, token,\r\n vm.createCallback(null, [function (data) { \r\n if(data.msg==\"Schedule already exists\"){\r\n vm.showFailure(\"Failed\", \"Schedule with same name already exists.\");\r\n } else if(data.msg==\"Unexpected params\"){\r\n vm.showFailure(\"Failed\", \"Unexpected parameters.\");\r\n } else if(data.msg==\"Failed\"){\r\n vm.showFailure(\"Server Error\", \"Failed to create schedule.\");\r\n } else {\r\n vm.showSuccess(\"Success\", \"Report scheduled successfully.\");\r\n vm.closeScheduledReportModal();\r\n }\r\n }]));\r\n }\r\n // vm.filename='';\r\n \r\n\r\n vm.PDFView = function (img) { \r\n \r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n \r\n vm.pdfimage = resp.data;\r\n });\r\n $scope.selected = null;\r\n $timeout(function(){\r\n jobAppointmentModal = $uibModal.open({\r\n templateUrl: 'PDFView.html',\r\n size :'lg',\r\n scope: $scope\r\n });\r\n },1000)\r\n \r\n }\r\n vm.PDFUserModal = function(){\r\n jobAppointmentModal.close();\r\n }\r\n\r\n \r\n \r\n vm.buildColumnBuilder = function (dataSets, chartId, chartType, metrics, dimensions, rollUp, filterKeys, filterValues,chartName,isData) {\r\n if (vm.tableCharts[chartId] && vm.tableCharts[chartId].value) {\r\n var columns = [];\r\n for (var key in dataSets.Categories) {\r\n var temp = '';\r\n // var columnName = key;\r\n temp = DTColumnBuilder.newColumn(key).withTitle(dataSets.Categories[key]).renderWith(function(data,type,full,meta){\r\n var temp = '';\r\n function getKeyByValue(object, value) {\r\n for( var prop in object ) {\r\n if( object.hasOwnProperty( prop ) ) {\r\n if( object[ prop ] === value )\r\n temp = prop;\r\n }\r\n }\r\n }\r\n getKeyByValue(full,data)\r\n var firstColumntKey = Object.values(full)[0];\r\n // var fixedCatogries = Object.values(vm.tableCharts[chartId].value.Categories)[0];\r\n var t = vm.tableCharts[chartId].value.Categories;\r\n var n = t[temp];\r\n if(vm.deepLink[n]){\r\n return \"' + data + \"\";\r\n }\r\n //data = 'T360000388568_CCR_Form_Photo7825.jpg';\r\n \r\n if((temp =='CCR URL' || temp == 'CCRFormPhotoAttachmentPath'|| temp == 'TicketSignOffReport') && data){\r\n \r\n vm.filename = data.substring(data.lastIndexOf('/')+1);\r\n \r\n \r\n return '' + vm.filename + ' ';\r\n \r\n }\r\n else if((temp == 'FieldReports') && data){\r\n var fileUrls = data.split(',');\r\n var ancharStr = '';\r\n var filename;\r\n angular.forEach(fileUrls, function(value, key){\r\n filename = value.substring(value.lastIndexOf('/')+1);\r\n ancharStr = ancharStr + '' + filename + ' ';\r\n });\r\n\r\n return ancharStr;\r\n \r\n }\r\n else{\r\n return data;\r\n }\r\n });\r\n columns.push(temp);\r\n } \r\n vm.tableCharts[chartId].dtColumns = columns; \r\n }\r\n \r\n\r\n\r\n vm.tableCharts[chartId].dtOptions = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n defer.resolve(dataSets.Values);\r\n return defer.promise;\r\n }).withDOM(\r\n '<\"html5buttons\"B>lTfgitp')\r\n .withOption('lengthChange', false)\r\n .withOption('order', [])\r\n .withButtons([{ extend: 'colvis' }, {\r\n extend: 'csv', filename: vm.report_data.ReportName, exportOptions: {\r\n columns: ':visible'\r\n }\r\n }, {\r\n extend: 'print', title: vm.report_data.ReportName, exportOptions: {\r\n columns: ':visible'\r\n }\r\n }, {\r\n extend: 'copy', exportOptions: {\r\n columns: ':visible'\r\n }\r\n }])\r\n .withOption('createdRow', createdRow);\r\n }\r\n\r\n function createdRow(row, data, dataIndex) {\r\n // Recompiling so we can bind Angular directive to the DT\r\n $compile(angular.element(row).contents())($scope);\r\n }\r\n \r\n\r\n vm.statusList = [\"Assigned\",\"Completed\",\"Approved\",\"Cancelled\",\"Hold\"];\r\n\r\n vm.GetItemBrandName = function () {\r\n\t\t\tInventoryCartService.GetItemBrandName(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.BrandList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t};\r\n\r\n\t\tvm.GetItemGroupName = function () {\r\n\t\t\tif (!vm.brandName) {\r\n\t\t\t\tvm.brandName = \"\";\r\n\t\t\t}\r\n\t\t\tInventoryCartService.GetItemGroupName(vm.brandName, loggedinUser, token).then(\r\n\t\t\t\tfunction (resp) {\r\n\t\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\t\tvm.PartNameList = resp.data;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t};\r\n\r\n\t\tvm.GetItemListName = function () {\r\n\t\t\tif (!vm.productGroup) {\r\n\t\t\t\tvm.productGroup = \"\";\r\n\t\t\t}\r\n\t\t\tInventoryCartService.GetItemListName(vm.brandName,vm.productGroup,loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.PartList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t};\r\n\r\n if (vm.accountId == '364' || vm.accountId == '361') {\r\n vm.GetItemBrandName();\r\n vm.GetItemGroupName();\r\n vm.GetItemListName();\r\n }\r\n\r\n\t\t// vm.PartListWithFilter = [];\r\n\r\n\t\t// vm.GetItemPartName = function () {\r\n\t\t// vm.PartListWithFilter = [];\r\n\t\t// if (!vm.partName) {\r\n\t\t// \tvm.partName = \"\";\r\n\t\t// }\r\n\t\t// InventoryItemListService.GetItemPartName(vm.brandName,vm.productGroup,vm.partName,loggedinUser,token).then(function (resp) {\r\n\t\t// \tif (resp.data && resp.status == 200) {\r\n\t\t// \t vm.PartListWithFilter = resp.data;\r\n\t\t// \t}\r\n\t\t// }, vm.showFailure);\r\n\t\t// };\r\n\t\t// vm.GetItemPartName();\r\n\r\n }\r\n});\r\n\r\n\nangular.module('inspinia').service('RegisteredAllUserService',function(ApiURL,FreelancerURL, PublicApiURL,ActivityURL,LocationURL,$http, FreelancerURL, SchedulingAPI){\r\n\r\n this.GetAllSkills = function (loggedinUser, token) { \r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json', 'Token': token, 'UserId': loggedinUser}\r\n });\r\n }\r\n\r\n\r\n this.getAllState = function (loggedinUser,token) { \r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url,{\r\n headers:{\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n this.GetAllRegisteredUser = function (loggedinUser,token,itemNames,itemValues,userType,userAvailableStatus,DateField,PageIndex,PageSize, startDate, endDate,OrderBy,SortType) {\r\n var url = '';\r\n url = FreelancerURL + '/api/FreeLancerRegistration/GetRegisteredUsersByFiltersWithDynaPage?itemNames=' + itemNames + '&itemValues=' + itemValues + '&userType=' + userType+ '&userAvailableStatus=' + userAvailableStatus + '&DateField=' + DateField + '&PageIndex=' + PageIndex + '&PageSize=' + PageSize + '&FromDate=' + startDate + '&ToDate=' + endDate+ '&OrderBy=' + OrderBy + '&SortType=' + SortType;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.getAllState = function (loggedinUser) {\r\n var url = LocationURL + '/api/Location/' + loggedinUser + '/GetAllStates';\r\n return $http.get(url, {\r\n params: {}\r\n });\r\n }\r\n //http://192.168.0.80:92/LocationAPI/api/Location/saurabhgupta3371%40gmail.com/UTTAR%20PRADESH/GetCitiesByState\r\n \r\n this.getCityByState = function (loggedinUser, state) {\r\n var url = LocationURL + '/api/Location/' + loggedinUser + '/' + state + '/GetCitiesByState';\r\n return $http.get(url, {\r\n params: {}\r\n });\r\n }\r\n\r\n});\nangular.module('inspinia').controller('RegisteredAllUserController', function (RegisteredAllUserService,ActiveUserUpdateService,ReferService,$q,CentralHelpdeskConfigService, ScheduleAssignService,RegisteredAllUserService, $log, $state, $localStorage, $stateParams, $uibModal, $scope, DTOptionsBuilder, DTColumnDefBuilder, toaster, $timeout, $compile, uiCalendarConfig, ImageUrl, PublicApiURL,$window) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var loggedinUserSkill = $localStorage.loggedInUser_SkillSet;\r\n var loggedinUserRegion = $localStorage.loggedInUser_Region;\r\n var accountid= $localStorage.accountConfig.AccountId;\r\n \r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n var token = $localStorage.token;\r\n \r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.accountConfig = $localStorage.accountConfig;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.IsMaterialDelivered = $localStorage.accountConfig.IsMaterialDelivered;\r\n vm.MobiforceCommission = vm.getAccountConfigSetting('MobiforceCommissionPercentage');\r\n vm.VendorAssignation = vm.getAccountConfigSetting('VendorAssignation');\r\n vm.EnableRegion = vm.getAccountConfigSetting('EnableRegion');\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n vm.FreelancerAccess = vm.getAccountConfigSetting('FreelancerAccess');\r\n //Global Variable Declaration\r\n vm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n vm.loggedInUserVendorId = $localStorage.loggedInUser_VendorId;\r\n vm.loggedInUserReportingTo = $localStorage.loggedInUser_ReportingTo;\r\n vm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n vm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n vm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n vm.loggedinAs = $localStorage.loggedinAs;\r\n vm.PermanentState = '';\r\n vm.PermanentCity = '';\r\n vm.userskill = '';\r\n vm.pincode = '';\r\n vm.userNameSearch = '';\r\n vm.contactNumberSearch = '';\r\n vm.userSource = '';\r\n vm.CriminalVerified='';\r\n vm.IdVerified='';\r\n vm.IsAuthorizedServicePartner = '';\r\n vm.PANVerified='';\r\n vm.UserAvailable=''\r\n vm.skillData = '';\r\n vm.circleData = '';\r\n vm.isChecked = \"fixed\";\r\n vm.searchText = \"\";\r\n vm.Technicianstartingdate = '2017-01-01';\r\n vm.tab = '';\r\n vm.pageindexCount=0;\r\n vm.DateField=\"StatusChangedOn\";\r\n vm.searchStatusText=\"All\"; \r\n var uPageIndex = 1;\r\n var uPageSize = 10; \r\n vm.UsersType=\"\";\r\n vm.uType=\"\";\r\n var uitemNames=\"\";\r\n var uitemValues=\"\";\r\n vm.searchUsersText=\"\";\r\n vm.jobsCount='';\r\n vm.SortType = 'desc';\r\n vm.SortField = 'CreatedOn';\r\n vm.userPageListCount= 10;\r\n vm.pageListCounts = [10, 20, 30, 50];\r\n\r\n var startDate = moment().subtract(7, 'days').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n $scope.dates = { startDate: startDate, endDate:endDate};\r\n $scope.ranges = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n 'Till now': [moment(vm.Technicianstartingdate), moment(endDate)],\r\n };\r\n \r\n $scope.dateRangeChange = function (ev, picker) {\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n };\r\n vm.searchText = '';\r\n vm.RegistrationNo = '';\r\n\r\n vm.preProcessData = function (vendor) {\r\n var locations = \"\";\r\n angular.forEach(vendor.WorkLocationList, function (l) {\r\n locations += l + \",\";\r\n });\r\n vendor.allLocations = locations.length > 0 ? locations.substring(0, locations.length - 1) : \"\";\r\n\r\n var skills = \"\";\r\n angular.forEach(vendor.SkillData, function (s) {\r\n skills += s.Skill + \",\";\r\n });\r\n vendor.allSkills = skills.length > 0 ? skills.substring(0, skills.length - 1) : \"\";\r\n }\r\n\r\n vm.creationForm = function (RegistrationNo) {\r\n $localStorage.From = '';\r\n $state.go('index.OnBoardingForm', {\r\n RegistrationNo: RegistrationNo\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.userOnboardingForm = function (UserId) {\r\n $localStorage.From = '';\r\n $state.go('index.RegistrationForm', {\r\n UserId: UserId\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.loadAllSkills = function(){ \r\n RegisteredAllUserService.GetAllSkills(loggedinUser, token).then(function (resp) {\r\n vm.skillsWithPipe = '';\r\n if (resp && resp.data) {\r\n vm.skillData = resp.data;\r\n if(vm.skillData && vm.skillData.length>0){\r\n angular.forEach(vm.skillData, function(s){\r\n vm.skillsWithPipe += s.SkillName+\"|\";\r\n });\r\n vm.skillsWithPipe = vm.skillsWithPipe.length>0\r\n ? vm.skillsWithPipe.substring(0,vm.skillsWithPipe.length-1) : \"\";\r\n }\r\n }\r\n });\r\n }\r\n vm.loadAllSkills();\r\n \r\n vm.getProfilePic = function (profilePicName) {\r\n return profilePicName ? ImageUrl + \"/\" + profilePicName : null;\r\n }\r\n\r\n \r\n vm.ResetUserSelection = function (scope){\r\n scope.selectAllFL = false;\r\n scope.showMinusFL = false;\r\n scope.selectCountFL = 0;\r\n }\r\n\r\n if(vm.loggedInUserRole == \"SuperAdministrator\")\r\n {\r\n vm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\", \"Freelancer Team\"];\r\n }\r\n else\r\n {\r\n vm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\", \"Freelancer Team\"];\r\n }\r\n \r\n vm.ResetUserFilter = function () { \r\n vm.UsersType = '';\r\n vm.PermanentState = '';\r\n vm.PermanentCity = '';\r\n vm.userskill = ''; \r\n vm.uType= ''; \r\n vm.CriminalVerified='';\r\n vm.IdVerified='';\r\n vm.IsAuthorizedServicePartner = '';\r\n vm.PANVerified=''; \r\n vm.userSource = ''; \r\n vm.pincode ='';\r\n vm.userNameSearch ='';\r\n vm.contactNumberSearch = '';\r\n startDate = '';\r\n endDate = '';\r\n vm.applyUserFilter();\r\n // vm.GetAllRegisteredUser(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize, startDate, endDate);\r\n\r\n }\r\n\r\n vm.UsersFilterArray = function()\r\n {\r\n vm.ResetUserSelection(this);\r\n uitemNames=\"\";\r\n uitemValues=\"\";\r\n\r\n if (vm.userskill) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',SkillSet';\r\n uitemValues = uitemValues + \",\" + vm.userskill;\r\n }\r\n else\r\n {\r\n uitemNames = 'SkillSet';\r\n uitemValues = vm.userskill;\r\n } \r\n }\r\n if (vm.userSource) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',Source';\r\n uitemValues = uitemValues + \",\" + vm.userSource;\r\n }\r\n else\r\n {\r\n uitemNames = 'Source';\r\n uitemValues = vm.userSource;\r\n } \r\n }\r\n if (vm.pincode) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',Search';\r\n uitemValues = uitemValues + \",\" + vm.pincode;\r\n }\r\n else\r\n {\r\n uitemNames = 'Search';\r\n uitemValues = vm.pincode;\r\n } \r\n }\r\n if (vm.userNameSearch) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',Search';\r\n uitemValues = uitemValues + \",\" + vm.userNameSearch;\r\n }\r\n else\r\n {\r\n uitemNames = 'Search';\r\n uitemValues = vm.userNameSearch;\r\n } \r\n }\r\n if (vm.contactNumberSearch) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',ContactNumber';\r\n uitemValues = uitemValues + \",\" + vm.contactNumberSearch;\r\n }\r\n else\r\n {\r\n uitemNames = 'ContactNumber';\r\n uitemValues = vm.contactNumberSearch;\r\n } \r\n }\r\n \r\n if (vm.CriminalVerified == true) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',IsCriminalVerified';\r\n uitemValues = uitemValues + \",\" + true;\r\n }\r\n else\r\n {\r\n uitemNames = 'IsCriminalVerified';\r\n uitemValues = true;\r\n } \r\n }\r\n if (vm.IdVerified == true) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',IsAdharVerified';\r\n uitemValues = uitemValues + \",\" + true;\r\n }\r\n else\r\n {\r\n uitemNames = 'IsAdharVerified';\r\n uitemValues = true;\r\n } \r\n }\r\n if (vm.IsAuthorizedServicePartner == true) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',IsAuthorizedServicePartner';\r\n uitemValues = uitemValues + \",\" + true;\r\n }\r\n else\r\n {\r\n uitemNames = 'IsAuthorizedServicePartner';\r\n uitemValues = true;\r\n } \r\n }\r\n if (vm.PANVerified == true) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',IsPanVerified';\r\n uitemValues = uitemValues + \",\" + true;\r\n }\r\n else\r\n {\r\n uitemNames = 'IsPanVerified';\r\n uitemValues = true;\r\n } \r\n }\r\n if (vm.PermanentState) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',Locations';\r\n uitemValues = uitemValues + \",\" + vm.PermanentState;\r\n }\r\n else\r\n {\r\n uitemNames = 'Locations';\r\n uitemValues = vm.PermanentState;\r\n } \r\n }\r\n if (vm.PermanentState && vm.PermanentCity) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',CurrentCity';\r\n uitemValues = uitemValues + \",\" + vm.PermanentCity;\r\n }\r\n else\r\n {\r\n uitemNames = 'CurrentCity';\r\n uitemValues = vm.UsersType;\r\n } \r\n }\r\n if (vm.UsersType) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',Role';\r\n uitemValues = uitemValues + \",\" + vm.UsersType;\r\n }\r\n else\r\n {\r\n uitemNames = 'Role';\r\n uitemValues = vm.UsersType;\r\n } \r\n } \r\n\r\n if(vm.UsersType==\"Freelancer\")\r\n {\r\n vm.uType=\"Freelancer\";\r\n }\r\n else if(vm.UsersType==\"Freelancer Vendor\")\r\n {\r\n vm.uType=\"Freelancer\";\r\n } \r\n else if(vm.UsersType==\"Freelancer Team\")\r\n {\r\n vm.uType=\"Fixed\";\r\n }\r\n else \r\n {\r\n vm.uType=\"\";\r\n vm.UsersType = '';\r\n } \r\n\r\n }\r\n\r\n function getAllStates(loggedinUser) {\r\n var defered = $q.defer();\r\n ReferService.getAllState(loggedinUser,token).then(function (resp) {\r\n defered.resolve(resp);\r\n }, function (error) {\r\n defered.reject(error);\r\n });\r\n return defered.promise;\r\n }\r\n \r\n var allStatePromise = getAllStates(loggedinUser);\r\n allStatePromise.then(function (resp) {\r\n vm.StateList = resp.data;\r\n \r\n });\r\n function getallCities(state) {\r\n ReferService.getAllCity(loggedinUser, state,token).then(function (resp) {\r\n vm.CityList = resp.data;\r\n });\r\n }\r\n vm.selectedState = function (state) {\r\n getallCities(state);\r\n }\r\n\r\n $scope.totalUsers = 0;\r\n $scope.usersPerPage = vm.userPageListCount;\r\n $scope.Userpagination = {\r\n current: 1\r\n };\r\n\r\n //left show page 10 20 30\r\n vm.changeUserPageListCount = function() { \r\n $scope.usersPerPage = vm.userPageListCount;\r\n uPageSize = $scope.usersPerPage;\r\n $scope.UserTablePageChanged($scope.Userpagination.current);\r\n vm.selectAll = false;\r\n \r\n uPageIndex=$scope.Userpagination.current;\r\n $scope.UserTablePageChanged = function(newPage) { \r\n uPageIndex = newPage;\r\n vm.UsersFilterArray(); \r\n vm.GetAllRegisteredUser(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize, startDate, endDate);\r\n\r\n };\r\n }\r\n \r\n uPageIndex=$scope.Userpagination.current;\r\n $scope.UserTablePageChanged = function(newPage) { \r\n uPageIndex = newPage;\r\n if(uitemNames != 'Search')\r\n {\r\n vm.UsersFilterArray();\r\n }\r\n \r\n vm.GetAllRegisteredUser(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize, startDate, endDate);\r\n\r\n };\r\n\r\n vm.ticketList=[];\r\n\r\n vm.UserByFiltersList=[];\r\n vm.GetAllRegisteredUser = function (loggedinUser, token, uitemNames, uitemValues, userType, UserAvailable, uPageIndex, uPageSize) {\r\n RegisteredAllUserService.GetAllRegisteredUser(loggedinUser, token, uitemNames, uitemValues, userType, vm.UserAvailable, vm.DateField, uPageIndex, uPageSize, startDate, endDate,vm.SortField,vm.SortType).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.UserByFiltersList = resp.data.ListUserResponseModel;\r\n $scope.totalUsers = resp.data.Count;\r\n // preprocessData(vm.UserByFiltersList);\r\n if(vm.UserByFiltersList.length < vm.userPageListCount)\r\n vm.userListLength = $scope.totalUsers;\r\n else\r\n vm.userListLength = uPageIndex * vm.userPageListCount;\r\n if(uPageIndex==1)\r\n vm.upageindexCount = 1;\r\n else\r\n vm.upageindexCount = (((uPageIndex-1) * vm.userPageListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n }\r\n vm.UsersFilterArray(); \r\n vm.GetAllRegisteredUser(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize, startDate, endDate);\r\n\r\n }\r\n vm.searchTicket = function () { \r\n vm.ResetTicketFilter(); \r\n };\r\n vm.searchUser = function () { \r\n vm.ResetUserSelection(this);\r\n vm.ResetUserFilter(); \r\n if(vm.searchUsersText)\r\n {\r\n uitemNames = 'Search';\r\n uitemValues = vm.searchUsersText;\r\n } \r\n vm.GetAllRegisteredUser(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize, startDate, endDate);\r\n\r\n };\r\n \r\n\r\n vm.closeUserSearchText = function()\r\n { \r\n vm.ResetUserSelection(this);\r\n vm.ResetUserFilter(); \r\n vm.searchUsersText=\"\";\r\n uitemNames = '';\r\n uitemValues = ''; \r\n vm.GetAllRegisteredUser(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize, startDate, endDate);\r\n\r\n\r\n }\r\n vm.applyUserFilter=function()\r\n { \r\n vm.UsersFilterArray(); \r\n \r\n uPageIndex=1;\r\n $scope.Userpagination = {\r\n current: 1\r\n }; \r\n vm.GetAllRegisteredUser(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize, startDate, endDate);\r\n\r\n\r\n }\r\n vm.SubmitFilter = function () { \r\n\r\n $scope.Userpagination = {};\r\n vm.UsersFilterArray();\r\n uPageIndex=1;\r\n $scope.Userpagination = {\r\n current: 1\r\n }; \r\n vm.GetAllRegisteredUser(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize, startDate, endDate);\r\n\r\n\r\n }\r\n vm.sortColumn = function(col){\r\n vm.SortField = col;\r\n if(vm.SortType=='desc'){\r\n vm.SortType = 'asc';\r\n vm.reverseclass = 'fa fa-arrow-up';\r\n }else{\r\n vm.SortType = 'desc';\r\n vm.reverseclass = 'fa fa-arrow-down';\r\n }\r\n vm.GetAllRegisteredUser(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize, startDate, endDate);\r\n };\r\n \r\n // remove and change class\r\n vm.sortClass = function(col){\r\n if(vm.SortField == col ){\r\n if(vm.SortType == 'desc'){\r\n return 'fa fa-arrow-down'; \r\n }else{\r\n return 'fa fa-arrow-up';\r\n }\r\n }\r\n else{\r\n return '';\r\n }\r\n }\r\n\r\n});\nangular.module('inspinia').controller('ReferVendorController', function (ReferService, $rootScope, CustomerFormCreationService, $q, $log, $localStorage, $stateParams, toaster, $state, $timeout, ImageUrl, $scope) {\r\n var vm = this;\r\n var loggedinUser = 'U310000000001';\r\n vm.ReferealKey = $stateParams.reference_key;\r\n vm.stateList = '';\r\n vm.first_name = '';\r\n vm.last_name = '';\r\n vm.date_of_birth = '';\r\n vm.email = '';\r\n vm.phone = '';\r\n vm.address1 = '';\r\n vm.address2 = '';\r\n vm.state = '';\r\n vm.city = '';\r\n vm.pincode = '';\r\n vm.gender = '';\r\n vm.cityList = '';\r\n vm.BGDocList = [];\r\n vm.error = {};\r\n vm.verticalList = '';\r\n vm.company_name = '';\r\n vm.vertical = '';\r\n vm.skills = [];\r\n vm.employee_strength = '';\r\n vm.inventory = '';\r\n\r\n vm.showSuccess = $scope.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.main.showFailure;\r\n\r\n vm.BGDocType = ['GST Certificate Copy', 'Aadhar Card (Of Business owner)', 'PAN Card (of Business or of Owner)', 'Address Proof (of Business)', 'Voter ID Card', 'Business Profile/ Owner Resume', 'Educational Certificate (Of Highest Degree)', 'Cancelled Cheque'];\r\n vm.BDDocSubType = {};\r\n vm.BDDocSubType['GST Certificate Copy'] = ['GST Certificate'];\r\n vm.BDDocSubType['Address Proof (of Business)'] = [\"Driving License\", \"Passport\", \"Rent Agreement\", \"Telephone/Gas Bill\", \"Bank Passbook\"];\r\n vm.BDDocSubType['PAN Card (of Business or of Owner)'] = ['Pan Card'];\r\n vm.BDDocSubType['Educational Certificate (Of Highest Degree)'] = [\"10th Certificate\", \"12th Certificate\", \"Graduation Degree/Deploma\", \"PG Degree/Deploma\"];\r\n vm.BDDocSubType['Aadhar Card (Of Business owner)'] = [\"Aadhar Card\"];\r\n vm.BDDocSubType['Business Profile/ Owner Resume'] = [\"Resume\"];\r\n vm.BDDocSubType['Voter ID Card'] = [\"Voter ID Card\"];\r\n vm.BDDocSubType['Cancelled Cheque'] = [\"Cancelled Cheque\"];\r\n\r\n angular.forEach(vm.BGDocType, function(d, i){\r\n vm.BGDocList[i] = {\r\n \"DocumentType\": d,\r\n \"DocumentName\": vm.BDDocSubType[d][0],\r\n \"DocumentPath\": \"\"\r\n };\r\n vm.error[d] = null;\r\n });\r\n\r\n vm.dd_options = {};\r\n vm.months = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\r\n vm.mm_options = {\"Jan\":true, \"Feb\":true, \"Mar\":true, \"Apr\":true, \"May\":true, \"Jun\":true, \r\n \"Jul\":true, \"Aug\":true, \"Sep\":true, \"Oct\":true, \"Nov\":true, \"Dec\":true};\r\n vm.max_date = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\r\n vm.yyyy_options = [];\r\n var currentYear = moment().format(\"YYYY\");\r\n var currentMonth = moment().format(\"MM\")*1;\r\n var currentDate = moment().format(\"DD\")*1;\r\n\r\n for(var i=18;i<=60;i++){ \r\n vm.yyyy_options.push(currentYear-i);\r\n }\r\n\r\n for(var i=1;i<=31;i++){\r\n vm.dd_options[i]=true;\r\n }\r\n\r\n vm.getDateList = function(){\r\n if(vm.date_of_birth_yyyy!=null && vm.date_of_birth_mm!=null){\r\n var month = vm.months.indexOf(vm.date_of_birth_mm);\r\n var maxDD = vm.max_date[month];\r\n if(month==1 && vm.date_of_birth_yyyy%4 > 0){\r\n maxDD=28;\r\n }\r\n\r\n vm.dd_options=[];\r\n for(var i=1;i<=maxDD;i++){\r\n vm.dd_options[i]=true;\r\n }\r\n if(currentYear-vm.date_of_birth_yyyy==18 && vm.date_of_birth_mm==vm.months[currentMonth-1]){\r\n for(var i=currentDate;i=0 || file.type.indexOf(\"image/png\")>=0 \r\n || file.type.indexOf(\"image/bmp\")>=0 || file.type.indexOf(\"image/jpeg\")>=0){\r\n var data = new FormData();\r\n data.append(\"files\", files.files[0]);\r\n ReferService.uploadProfilePic(loggedinUser, data, function (res) {\r\n if (res && res.status == 201 && res.data) {\r\n vm[type] = res.data;\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to upload profile pic, server error\");\r\n });\r\n } else {\r\n vm.fileUploadError = \"Please upload image only as profile picture.\";\r\n }\r\n \r\n }\r\n\r\n vm.getFileType = function(url){\r\n if(url.indexOf(\".jpg\")>=0 || url.indexOf(\".jpeg\")>=0 || url.indexOf(\".png\")>=0 || url.indexOf(\".bmp\")>=0){\r\n return \"image\";\r\n } else if(url.indexOf(\".pdf\")>=0){\r\n return \"pdf\";\r\n } else if(url.indexOf(\".doc\")>=0 || url.indexOf(\".docx\")>=0){\r\n return \"doc\";\r\n } else {\r\n return \"others\";\r\n }\r\n }\r\n\r\n $scope.uploadBGFile = function (elem) {\r\n var data = new FormData();\r\n var index = (angular.element(elem).attr(\"data-index\"));\r\n var doc = vm.BGDocList[index];\r\n vm.error[doc.DocumentType] = null;\r\n var file = elem.files[0];\r\n if(file.type==\"application/pdf\" \r\n || file.type==\"application/vnd.openxmlformats-officedocument.wordprocessingml.document\" \r\n || file.type==\"application/msword\" || file.type.indexOf(\"image/jpg\")>=0 || file.type.indexOf(\"image/png\")>=0 \r\n || file.type.indexOf(\"image/bmp\")>=0 || file.type.indexOf(\"image/jpeg\")>=0){\r\n data.append(\"files\", elem.files[0]);\r\n ReferService.uploadProfilePic(loggedinUser, data, function (res) {\r\n if (res && res.status == 201 && res.data) {\r\n doc.DocumentPath = res.data;\r\n doc.DocumentPath1 = elem.files[0].name;\r\n doc.edit=false;\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to upload profile pic, server is not responding correctly.\");\r\n });\r\n } else {\r\n vm.error[doc.DocumentType] = \"You can upload image, pdf or word document only\";\r\n }\r\n }\r\n\r\n vm.getVerticalName = function() {\r\n ReferService.getVerticalName().then(function (resp) {\r\n vm.verticalList = resp.data;\r\n })\r\n }\r\n vm.getVerticalName();\r\n\r\n vm.selectSkills = function (vertical) {\r\n if(vertical!=''){\r\n vm.skillList = '';\r\n angular.forEach(vm.verticalList, function(d){\r\n if(d.Category == vertical){\r\n vm.skillList = d.ListSkillSet;\r\n return;\r\n }\r\n })\r\n }\r\n }\r\n\r\n})\nangular.module('inspinia').service('ReferService', function ($http, FreelancerURL, LocationURL, ApiURL, PublicApiURL) {\r\n\r\n this.CreateFreelancer = function (freelancerData) {\r\n var url = PublicApiURL + '/api/FreeLancerRegistration/';\r\n return $http.post(url, freelancerData, {\r\n headers: { 'Content-Type': 'application/json' }\r\n });\r\n }\r\n\r\n this.CreateVendor = function (vendorData) {\r\n var url = PublicApiURL + '/api/FreeLancerRegistration/RegisterFreelancerVendor/';\r\n return $http.post(url, vendorData, {\r\n headers: { 'Content-Type': 'application/json' }\r\n });\r\n }\r\n\r\n // https://test.mymobiforce.com/publicapi/api/Location/GetSubRegion?userId=U350000000006®ion=INDIA\r\n this.getAllState = function (userId,token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token':token, 'UserId':userId }\r\n });\r\n }\r\n\r\n // https://test.mymobiforce.com/publicapi/api/Location/GetCity?userId=U350000000006&subregion=UTTAR%20PRADESH\r\n this.getAllCity = function (userId, state,token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+state;\r\n return $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token':token, 'UserId':userId }\r\n });\r\n }\r\n\r\n this.uploadProfilePic = function (loggedinUser, data, success, failure) {\r\n $http.post(PublicApiURL + '/api/PostUserPic?reqUserId=' + loggedinUser, data, {\r\n headers: {\r\n 'Content-Type': undefined\r\n }\r\n }).then(success, failure);\r\n }\r\n\r\n //https://test.mymobiforce.com/publicapi/api/GetSkillsWithCategory\r\n this.getVerticalName = function(){\r\n var url = PublicApiURL + '/api/GetSkillsWithCategory';\r\n return $http.get(url);\r\n }\r\n})\nangular.module('inspinia').controller('ReferFreelancerController', function (ReferService, $rootScope, CustomerFormCreationService, $q, $log, $localStorage, $stateParams, toaster, $state, $timeout, ImageUrl, $scope) {\r\n var vm = this;\r\n var loggedinUser = 'U310000000001';\r\n vm.ReferealKey = $stateParams.reference_key;\r\n vm.stateList = '';\r\n vm.first_name = '';\r\n vm.last_name = '';\r\n vm.date_of_birth = '';\r\n vm.email = '';\r\n vm.phone = '';\r\n vm.address1 = '';\r\n vm.address2 = '';\r\n vm.state = '';\r\n vm.city = '';\r\n vm.pincode = '';\r\n vm.gender = '';\r\n vm.cityList = '';\r\n vm.BGDocList = [];\r\n vm.error = {};\r\n \r\n vm.showSuccess = $scope.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.main.showFailure;\r\n\r\n vm.BGDocType = ['Upload Aadhar Card', 'Upload Address Proof', 'Upload Pan Card', 'Upload Education Certificate', 'Upload Police Verification', 'Upload Resume'];\r\n vm.BDDocSubType = {};\r\n vm.BDDocSubType['Upload Aadhar Card'] = ['Aadhar Card'];\r\n vm.BDDocSubType['Upload Address Proof'] = [\"Voter Id Card\", \"Driving License\", \"Passport\", \"Rent Agreement\", \"Telephone/Gas Bill\", \"Bank Passbook\"];\r\n vm.BDDocSubType['Upload Pan Card'] = ['Pan Card'];\r\n vm.BDDocSubType['Upload Education Certificate'] = [\"10th Certificate\", \"12th Certificate\", \"Graduation Degree/Deploma\", \"PG Degree/Deploma\"];\r\n vm.BDDocSubType['Upload Police Verification'] = [\"Police Verification\"];\r\n vm.BDDocSubType['Upload Resume'] = [\"Resume\"];\r\n\r\n angular.forEach(vm.BGDocType, function(d, i){\r\n vm.BGDocList[i] = {\r\n \"DocumentType\": d,\r\n \"DocumentName\": vm.BDDocSubType[d][0],\r\n \"DocumentPath\": \"\"\r\n };\r\n vm.error[d] = null;\r\n });\r\n\r\n vm.dd_options = {};\r\n vm.months = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\r\n vm.mm_options = {\"Jan\":true, \"Feb\":true, \"Mar\":true, \"Apr\":true, \"May\":true, \"Jun\":true, \r\n \"Jul\":true, \"Aug\":true, \"Sep\":true, \"Oct\":true, \"Nov\":true, \"Dec\":true};\r\n vm.max_date = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\r\n vm.yyyy_options = [];\r\n var currentYear = moment().format(\"YYYY\");\r\n var currentMonth = moment().format(\"MM\")*1;\r\n var currentDate = moment().format(\"DD\")*1;\r\n\r\n for(var i=18;i<=60;i++){ \r\n vm.yyyy_options.push(currentYear-i);\r\n }\r\n\r\n for(var i=1;i<=31;i++){\r\n vm.dd_options[i]=true;\r\n }\r\n\r\n vm.getDateList = function(){\r\n if(vm.date_of_birth_yyyy!=null && vm.date_of_birth_mm!=null){\r\n var month = vm.months.indexOf(vm.date_of_birth_mm);\r\n var maxDD = vm.max_date[month];\r\n if(month==1 && vm.date_of_birth_yyyy%4 > 0){\r\n maxDD=28;\r\n }\r\n\r\n vm.dd_options=[];\r\n for(var i=1;i<=maxDD;i++){\r\n vm.dd_options[i]=true;\r\n }\r\n if(currentYear-vm.date_of_birth_yyyy==18 && vm.date_of_birth_mm==vm.months[currentMonth-1]){\r\n for(var i=currentDate;i=0 || file.type.indexOf(\"image/png\")>=0 \r\n || file.type.indexOf(\"image/bmp\")>=0 || file.type.indexOf(\"image/jpeg\")>=0){\r\n var data = new FormData();\r\n data.append(\"files\", files.files[0]);\r\n ReferService.uploadProfilePic(loggedinUser, data, function (res) {\r\n if (res && res.status == 201 && res.data) {\r\n vm[type] = res.data;\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to upload profile pic, server error\");\r\n });\r\n } else {\r\n vm.fileUploadError = \"Please upload image only as profile picture.\";\r\n }\r\n \r\n }\r\n\r\n vm.getFileType = function(url){\r\n if(url.indexOf(\".jpg\")>=0 || url.indexOf(\".jpeg\")>=0 || url.indexOf(\".png\")>=0 || url.indexOf(\".bmp\")>=0){\r\n return \"image\";\r\n } else if(url.indexOf(\".pdf\")>=0){\r\n return \"pdf\";\r\n } else if(url.indexOf(\".doc\")>=0 || url.indexOf(\".docx\")>=0){\r\n return \"doc\";\r\n } else {\r\n return \"others\";\r\n }\r\n }\r\n\r\n $scope.uploadBGFile = function (elem) {\r\n var data = new FormData();\r\n var index = (angular.element(elem).attr(\"data-index\"));\r\n var doc = vm.BGDocList[index];\r\n vm.error[doc.DocumentType] = null;\r\n var file = elem.files[0];\r\n if(file.type==\"application/pdf\" \r\n || file.type==\"application/vnd.openxmlformats-officedocument.wordprocessingml.document\" \r\n || file.type==\"application/msword\" || file.type.indexOf(\"image/jpg\")>=0 || file.type.indexOf(\"image/png\")>=0 \r\n || file.type.indexOf(\"image/bmp\")>=0 || file.type.indexOf(\"image/jpeg\")>=0){\r\n data.append(\"files\", elem.files[0]);\r\n ReferService.uploadProfilePic(loggedinUser, data, function (res) {\r\n if (res && res.status == 201 && res.data) {\r\n doc.DocumentPath = res.data;\r\n doc.DocumentPath1 = elem.files[0].name;\r\n doc.edit=false;\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to upload profile pic, server is not responding correctly.\");\r\n });\r\n } else {\r\n vm.error[doc.DocumentType] = \"You can upload image, pdf or word document only\";\r\n }\r\n }\r\n\r\n})\nangular.module('inspinia').service('ReferService', function ($http, FreelancerURL, LocationURL, ApiURL, PublicApiURL) {\r\n\r\n this.CreateFreelancer = function (freelancerData) {\r\n var url = PublicApiURL + '/api/FreeLancerRegistration/';\r\n return $http.post(url, freelancerData, {\r\n headers: { 'Content-Type': 'application/json' }\r\n });\r\n }\r\n\r\n this.CreateVendor = function (vendorData) {\r\n var url = PublicApiURL + '/api/FreeLancerRegistration/RegisterFreelancerVendor/';\r\n return $http.post(url, vendorData, {\r\n headers: { 'Content-Type': 'application/json' }\r\n });\r\n }\r\n\r\n // https://test.mymobiforce.com/publicapi/api/Location/GetSubRegion?userId=U350000000006®ion=INDIA\r\n this.getAllState = function (userId,token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token':token, 'UserId':userId }\r\n });\r\n }\r\n\r\n // https://test.mymobiforce.com/publicapi/api/Location/GetCity?userId=U350000000006&subregion=UTTAR%20PRADESH\r\n this.getAllCity = function (userId, state,token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+state;\r\n return $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token':token, 'UserId':userId }\r\n });\r\n }\r\n\r\n this.uploadProfilePic = function (loggedinUser, data, success, failure) {\r\n $http.post(PublicApiURL + '/api/PostUserPic?reqUserId=' + loggedinUser, data, {\r\n headers: {\r\n 'Content-Type': undefined\r\n }\r\n }).then(success, failure);\r\n }\r\n\r\n //https://test.mymobiforce.com/publicapi/api/GetSkillsWithCategory\r\n this.getVerticalName = function(){\r\n var url = PublicApiURL + '/api/GetSkillsWithCategory';\r\n return $http.get(url);\r\n }\r\n})\nangular.module('inspinia').controller('ReferController', function (ReferService, $rootScope, CustomerFormCreationService, $q, $log, $localStorage, $stateParams, toaster, $state, $timeout, ImageUrl, $scope) {\r\n var vm = this;\r\n var loggedinUser = 'U310000000001';\r\n vm.ReferealKey = $stateParams.reference_key;\r\n vm.stateList = '';\r\n vm.first_name = '';\r\n vm.last_name = '';\r\n vm.date_of_birth = '';\r\n vm.email = '';\r\n vm.phone = '';\r\n vm.address1 = '';\r\n vm.address2 = '';\r\n vm.state = '';\r\n vm.city = '';\r\n vm.pincode = '';\r\n vm.gender = '';\r\n vm.cityList = '';\r\n vm.BGDocList = [];\r\n vm.error = {};\r\n vm.verticalList = '';\r\n vm.company_name = '';\r\n vm.vertical = '';\r\n vm.skills = [];\r\n vm.employee_strength = '';\r\n vm.inventory = '';\r\n\r\n vm.showSuccess = $scope.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.main.showFailure;\r\n\r\n vm.BGDocType = ['Upload Aadhar Card', 'Upload Address Proof', 'Upload Pan Card', 'Upload Education Certificate', 'Upload Police Verification', 'Upload Resume'];\r\n vm.BDDocSubType = {};\r\n vm.BDDocSubType['Upload Aadhar Card'] = ['Aadhar Card'];\r\n vm.BDDocSubType['Upload Address Proof'] = [\"Voter Id Card\", \"Driving License\", \"Passport\", \"Rent Agreement\", \"Telephone/Gas Bill\", \"Bank Passbook\"];\r\n vm.BDDocSubType['Upload Pan Card'] = ['Pan Card'];\r\n vm.BDDocSubType['Upload Education Certificate'] = [\"10th Certificate\", \"12th Certificate\", \"Graduation Degree/Deploma\", \"PG Degree/Deploma\"];\r\n vm.BDDocSubType['Upload Police Verification'] = [\"Police Verification\"];\r\n vm.BDDocSubType['Upload Resume'] = [\"Resume\"];\r\n\r\n angular.forEach(vm.BGDocType, function(d, i){\r\n vm.BGDocList[i] = {\r\n \"DocumentType\": d,\r\n \"DocumentName\": vm.BDDocSubType[d][0],\r\n \"DocumentPath\": \"\"\r\n };\r\n vm.error[d] = null;\r\n });\r\n\r\n vm.dd_options = {};\r\n vm.months = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\r\n vm.mm_options = {\"Jan\":true, \"Feb\":true, \"Mar\":true, \"Apr\":true, \"May\":true, \"Jun\":true, \r\n \"Jul\":true, \"Aug\":true, \"Sep\":true, \"Oct\":true, \"Nov\":true, \"Dec\":true};\r\n vm.max_date = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\r\n vm.yyyy_options = [];\r\n var currentYear = moment().format(\"YYYY\");\r\n var currentMonth = moment().format(\"MM\")*1;\r\n var currentDate = moment().format(\"DD\")*1;\r\n\r\n for(var i=18;i<=60;i++){ \r\n vm.yyyy_options.push(currentYear-i);\r\n }\r\n\r\n for(var i=1;i<=31;i++){\r\n vm.dd_options[i]=true;\r\n }\r\n\r\n vm.getDateList = function(){\r\n if(vm.date_of_birth_yyyy!=null && vm.date_of_birth_mm!=null){\r\n var month = vm.months.indexOf(vm.date_of_birth_mm);\r\n var maxDD = vm.max_date[month];\r\n if(month==1 && vm.date_of_birth_yyyy%4 > 0){\r\n maxDD=28;\r\n }\r\n\r\n vm.dd_options=[];\r\n for(var i=1;i<=maxDD;i++){\r\n vm.dd_options[i]=true;\r\n }\r\n if(currentYear-vm.date_of_birth_yyyy==18 && vm.date_of_birth_mm==vm.months[currentMonth-1]){\r\n for(var i=currentDate;i=0 || file.type.indexOf(\"image/png\")>=0 \r\n || file.type.indexOf(\"image/bmp\")>=0 || file.type.indexOf(\"image/jpeg\")>=0){\r\n var data = new FormData();\r\n data.append(\"files\", files.files[0]);\r\n ReferService.uploadProfilePic(loggedinUser, data, function (res) {\r\n if (res && res.status == 201 && res.data) {\r\n vm[type] = res.data;\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to upload profile pic, server error\");\r\n });\r\n } else {\r\n vm.fileUploadError = \"Please upload image only as profile picture.\";\r\n }\r\n \r\n }\r\n\r\n vm.getFileType = function(url){\r\n if(url.indexOf(\".jpg\")>=0 || url.indexOf(\".jpeg\")>=0 || url.indexOf(\".png\")>=0 || url.indexOf(\".bmp\")>=0){\r\n return \"image\";\r\n } else if(url.indexOf(\".pdf\")>=0){\r\n return \"pdf\";\r\n } else if(url.indexOf(\".doc\")>=0 || url.indexOf(\".docx\")>=0){\r\n return \"doc\";\r\n } else {\r\n return \"others\";\r\n }\r\n }\r\n\r\n $scope.uploadBGFile = function (elem) {\r\n var data = new FormData();\r\n var index = (angular.element(elem).attr(\"data-index\"));\r\n var doc = vm.BGDocList[index];\r\n vm.error[doc.DocumentType] = null;\r\n var file = elem.files[0];\r\n if(file.type==\"application/pdf\" \r\n || file.type==\"application/vnd.openxmlformats-officedocument.wordprocessingml.document\" \r\n || file.type==\"application/msword\" || file.type.indexOf(\"image/jpg\")>=0 || file.type.indexOf(\"image/png\")>=0 \r\n || file.type.indexOf(\"image/bmp\")>=0 || file.type.indexOf(\"image/jpeg\")>=0){\r\n data.append(\"files\", elem.files[0]);\r\n ReferService.uploadProfilePic(loggedinUser, data, function (res) {\r\n if (res && res.status == 201 && res.data) {\r\n doc.DocumentPath = res.data;\r\n doc.DocumentPath1 = elem.files[0].name;\r\n doc.edit=false;\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to upload profile pic, server is not responding correctly.\");\r\n });\r\n } else {\r\n vm.error[doc.DocumentType] = \"You can upload image, pdf or word document only\";\r\n }\r\n }\r\n\r\n vm.getVerticalName = function() {\r\n ReferService.getVerticalName().then(function (resp) {\r\n vm.verticalList = resp.data;\r\n })\r\n }\r\n vm.getVerticalName();\r\n\r\n vm.selectSkills = function (vertical) {\r\n if(vertical!=''){\r\n vm.skillList = '';\r\n angular.forEach(vm.verticalList, function(d){\r\n if(d.Category == vertical){\r\n vm.skillList = d.ListSkillSet;\r\n return;\r\n }\r\n })\r\n }\r\n }\r\n\r\n})\nangular.module('inspinia').service('RedirectUserPaymentService', function (ApiURL, $log, $http,FreelancerURL, PublicApiURL) {\r\n\r\n // https://perf.mymobiforce.com/freelancerapi/api/PaymentAccount?reqUserId=U400000000001\r\n\tthis.updateAccountPaymentDetails = function(loggedinUser,token,userId,rechargeAmt,processingAmt,gstAmount,totalAmount,processingFee,gstFee, transactionId,paymentId,paymentStatus,InstamojoId, success, failure){\r\n\t\tvar data ={\r\n \"AccountName\": \"\",\r\n \"AccountId\": \"\",\r\n \"RechargeAmount\": rechargeAmt,\r\n \"RechargeBy\": userId,\r\n \"Description\": \"\",\r\n \"GST\": gstAmount,\r\n \"TotalAmount\": totalAmount,\r\n \"PaymentType\": \"online\",\r\n \"Status\": paymentStatus,\r\n \"PaymentId\": paymentId,\r\n \"TransactionId\": transactionId,\r\n \"InstamojoId\": InstamojoId,\r\n \"ProcessingFeeAmount\": processingAmt,\r\n \"ProcessingFee\": processingFee,\r\n \"GSTFee\": gstFee\r\n\t\t};\r\n\t\t$http.post(FreelancerURL+\"/api/PaymentAccount?reqUserId=\"+userId, data, \r\n\t\t\t{ headers: { 'Content-Type': 'application/json','Token':token, 'UserId':loggedinUser } }).then(function(res){\r\n\t\t\tif(res && success){\r\n\t\t\t\tsuccess(res);\r\n\t\t\t}\r\n\t\t});\r\n }\r\n \r\n\r\n\r\n});\nangular.module('inspinia').controller('RedirectUserPaymentController', function ($scope,$localStorage, $state, $log, $location, RedirectUserPaymentService) {\r\n \r\n var vm = this;\r\n var token = $localStorage.token;\r\n vm.showSuccess = $scope.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.main.showFailure\r\n vm.contactNumber = $localStorage.ContactNumber;\r\n\r\n vm.userId = $state.params.user;\r\n vm.rechargeAmt = $state.params.rAmt;\r\n vm.processingAmt = $state.params.proFeeAmt;\r\n vm.gstAmount = $state.params.gstAmt;\r\n vm.totalAmount = $state.params.tAmt;\r\n vm.processingFee = $state.params.proFee;\r\n vm.gstFee = $state.params.gstFee;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n vm.tranactionErrorCode = '0';\r\n vm.transactionMsg= 'Payment Transaction Failed, Please retry!';\r\n\r\n vm.transactionId = null;\r\n vm.paymentId = null;\r\n vm.paymentStatus = null;\r\n vm.InstamojoId = null; \r\n vm.getQueryParams = function(){\r\n var params = $location.search();\r\n vm.transactionId = params.transaction_id;\r\n vm.paymentId = params.payment_id;\r\n vm.paymentStatus = params.payment_status;\r\n vm.InstamojoId = params.id;\r\n }\r\n vm.getQueryParams();\r\n if(vm.transactionId){\r\n RedirectUserPaymentService.updateAccountPaymentDetails(loggedinUser,token,vm.userId,vm.rechargeAmt,vm.processingAmt,vm.gstAmount,vm.totalAmount,vm.processingFee,vm.gstFee, vm.transactionId,vm.paymentId,vm.paymentStatus,vm.InstamojoId, function(res){\r\n if(res && res.status == 200){\r\n if(res.data.ErrorCode == 2001)\r\n {\r\n vm.tranactionErrorCode = res.data.ErrorCode;\r\n $scope.$parent.$parent.main.GetAccountBalance();\r\n vm.transactionMsg = res.data.Message;\r\n vm.showSuccess(vm.transactionMsg);\r\n }\r\n else{ \r\n vm.transactionMsg = res.data.Message; \r\n vm.showFailure(vm.transactionMsg);\r\n } \r\n }\r\n },function(res){\r\n vm.showFailure(vm.transactionMsg);\r\n })\r\n }\r\n \r\n});\nangular.module('inspinia').service('RedirectPaymentService', function (ApiURL, $log, $http, PublicApiURL) {\r\n\r\n\t// this.getPaymentStatus = function(paymentId, transactionId, paymentReqId, success, failure){\r\n\t// \tvar url = ApiURL+\"\";\r\n\r\n\t// \t$http.get().then(function(res){\r\n\t// \t\tif(res && res.data){\r\n\t// \t\t\tsuccess(res.data);\r\n\t// \t\t} else {\r\n\t// \t\t\tfailure(\"Error\", \"Unable to get payment status, server is not responding correctly.\");\r\n\t// \t\t}\r\n\t// \t}, function(err){\r\n\t// \t\tfailure(\"Error\", \"Unable to get payment status, server is not responding correctly.\");\r\n\t// \t});\r\n\t// }\r\n\r\n\tthis.updatePaymentDetails = function(jobCardId, totalAmount, modeOfPayment, transactionId, success, failure){\r\n\t\tvar data ={\r\n\t\t \"JobCardId\": jobCardId,\r\n\t\t \"totalAmount\": totalAmount,\r\n\t\t \"modeOfPayment\": modeOfPayment,\r\n\t\t \"trns_id\": transactionId\r\n\t\t};\r\n\t\t$http.put(PublicApiURL+\"/api/CustomerJobCard/PutCustomerJobCardAmount\", data, \r\n\t\t\t{ headers: { 'Content-Type': 'application/json' } }).then(function(res){\r\n\t\t\tif(res && res.status==200 && res.data && success){\r\n\t\t\t\tsuccess(res.data);\r\n\t\t\t} else if(failure){\r\n\t\t\t\tfailure();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n});\nangular.module('inspinia').controller('RedirectPaymentController', function ($scope, $state, $log, $location, RedirectPaymentService) {\r\n \r\n \tvar vm = this;\r\n\tvm.showSuccess = $scope.$parent.main.showSuccess;\r\n\tvm.showFailure = $scope.$parent.main.showFailure\r\n\r\n\r\n\tvar totalAmount = $state.params.ta;\r\n\tvar jobCardId = $state.params.job;\r\n\r\n\tvar transactionId = null;\r\n\t\t\r\n\tvm.getQueryParams = function(){\r\n\t \tvar params = $location.search();\r\n\t \ttransactionId = params.transaction_id;\r\n\t}\r\n\r\n\tvm.getQueryParams();\r\n\tif(transactionId){\r\n\t\tRedirectPaymentService.updatePaymentDetails(jobCardId, totalAmount, \"Online\", transactionId, function(res){\r\n\t\t\tif(res && res.status == 'successful'){\r\n\t\t\t\t$state.go(\"RateJob\", {\t\t\t\t\t\r\n\t\t\t\t\tjobCardId: jobCardId\r\n\t });\r\n\t\t\t}\r\n\t\t}, vm.showFailure)\r\n\t}\r\n});\nangular.module('inspinia').service('RechargeService', function ($http, ApiURL, PublicApiURL, FreelancerURL) {\r\n\r\n this.getAllState = function (userId) {\r\n var url = PublicApiURL + '/api/Location/GetSubRegion?userId=' + userId + '®ion=INDIA';\r\n return $http.get(url, {\r\n params: {}\r\n });\r\n }\r\n\r\n this.getAllCity = function (userId, state) {\r\n var url = PublicApiURL + '/api/Location/GetCity?userId=' + userId + '&subregion=' + state;\r\n return $http.get(url);\r\n }\r\n\r\n this.buyLicenseRequestToGenerateOrderId = function (loggedinUser, amount, token) {\r\n var url = ApiURL + '/api/RazorPay/CreateOrder?amountToBeCharged=' + amount + '&RechargeIn=AccountWallet';\r\n return $http.post(url, null, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GoToVerifySignature = function (response, loggedinUser, token) {\r\n var url = ApiURL + '/api/RazorPay/VerifySignature'\r\n return $http.post(url, response, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.updateAccountPaymentDetails = function (token, loggedinUser, data) {\r\n var url = FreelancerURL + '/api/PaymentAccount?reqUserId=' + loggedinUser;\r\n return $http.post(url, data, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.createPaymentLink = function (data, loggedinUser, token, success, failure) {\r\n $http.post(PublicApiURL + \"/api/Payment/createpaymentlink\", data,\r\n { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if (res && res.data && success) {\r\n success(res.data);\r\n } else if (failure) {\r\n failure();\r\n }\r\n });\r\n }\r\n\r\n this.GetAccountRechageParams = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/account/' + loggedinUser + '/getAccountRechageParams';\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n})\r\n\nangular.module('inspinia').controller('RechargeController', function ($uibModal, $localStorage, $window, jobBidCreationService, $scope, toaster, PaymentSectionService, UIURL, RechargeService) {\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tvm.showSuccess = $scope.$parent.main.showSuccess;\r\n\tvm.showFailure = $scope.$parent.main.showFailure;\r\n\tvm.FirstName = $localStorage.loggedInUser_FirstName;\r\n\tvm.LastName = $localStorage.loggedInUser_LastName;\r\n\tvm.ContactNumber = $localStorage.ContactNumber;\r\n\tvm.CurrencySymbol = $localStorage.accountConfig.CurrencySymbol;\r\n\tvm.response = {};\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t}\r\n\telse {\r\n\t\t//need to get these percentage from servver\r\n\t\tvm.processingFee = 3;\r\n\t\tvm.gstFee = 5;\r\n\t\tvm.minRechageAmount = 5000;\r\n\t\tvm.rechargeAmount = 5000;\r\n\t}\r\n\r\n\r\n\r\n\tvm.GetServiceTax = function (data) {\r\n\t\tvm.gstFee = data;\r\n\t\tvm.calculateRecahge();\r\n\t}\r\n\r\n\tjobBidCreationService.GetServiceTax(loggedinUser, token, vm.GetServiceTax);\r\n\r\n\tvm.calculateRecahge = function () {\r\n\t\tif (vm.rechargeAmount > 0) {\r\n\t\t\t// vm.gstFeeAmount = (vm.rechargeAmount * (vm.gstFee / 100)).toFixed(2);\r\n\t\t\t// vm.subTotal = Number(vm.rechargeAmount) + Number(vm.gstFeeAmount);\r\n\t\t\t// vm.procssingFeeAmount = (vm.subTotal * (vm.processingFee / 100)).toFixed(2);\r\n\t\t\t// vm.totalAmount = (Number(vm.subTotal) + Number(vm.procssingFeeAmount)).toFixed(2);\r\n\t\t\tvm.gstFeeAmount = 0;\r\n\t\t\tvm.subTotal = Number(vm.rechargeAmount);\r\n\t\t\tvm.procssingFeeAmount = 0;\r\n\t\t\tvm.totalAmount = (Number(vm.rechargeAmount));\r\n\t\t}\r\n\t\telse {\r\n\t\t\tvm.gstFeeAmount = \"\";\r\n\t\t\tvm.subTotal = \"\";\r\n\t\t\tvm.procssingFeeAmount = \"\";\r\n\t\t\tvm.totalAmount = \"\";\r\n\t\t}\r\n\r\n\t}\r\n\r\n\r\n\tvm.GetAccountRechageParams = function () {\r\n\t\tRechargeService.GetAccountRechageParams(loggedinUser, token).then(function (resp) {\r\n\t\t\tif (resp && resp.status == 200 && resp.data) {\r\n\t\t\t\tvm.minRechageAmount = Number(resp.data.minAccountRecharge);\r\n\t\t\t\tvm.rechargeAmount = vm.minRechageAmount;\r\n\t\t\t\tvm.processingFee = resp.data.transactionCharge;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\tvm.GetAccountRechageParams();\r\n\r\n\tvm.calculateRecahge();\r\n\r\n\r\n\t// To Integrate RazorPay\r\n\r\n\r\n\tfunction GoToUpdateAccount() {\r\n\t\tvar data = {\r\n\t\t\t\"AccountName\": \"\",\r\n\t\t\t\"AccountId\": \"\",\r\n\t\t\t\"RechargeAmount\": vm.rechargeAmount,\r\n\t\t\t\"RechargeBy\": loggedinUser,\r\n\t\t\t\"Description\": \"\",\r\n\t\t\t\"GST\": vm.gstFeeAmount,\r\n\t\t\t// \"TotalAmount\": vm.totalAmount,\r\n\t\t\t\"TotalAmount\": vm.rechargeAmount,\r\n\t\t\t\"PaymentType\": \"online\",\r\n\t\t\t\"Status\": \"Done\",\r\n\t\t\t\"PaymentId\": \"\",\r\n\t\t\t\"TransactionId\": \"\",\r\n\t\t\t\"InstamojoId\": \"\",\r\n\t\t\t\"ProcessingFeeAmount\": vm.procssingFeeAmount,\r\n\t\t\t\"ProcessingFee\": '0',\r\n\t\t\t\"GSTFee\": 0\r\n\t\t\t// \"ProcessingFee\": vm.processingFee,\r\n\t\t\t// \"GSTFee\": vm.gstFee\r\n\t\t};\r\n\t\tif (vm.response) {\r\n\t\t\tdata.PaymentId = vm.response.razorpay_payment_id;\r\n\t\t\tdata.TransactionId = vm.response.razorpay_order_id;\r\n\t\t}\r\n\t\tif (data) {\r\n\t\t\tRechargeService.updateAccountPaymentDetails(token, loggedinUser, data).then( function (res) {\r\n\t\t\t\tif (res && res.status == 200) {\r\n\t\t\t\t\tvm.showSuccess('Success', res.data.Message);\r\n\t\t\t\t\t$scope.$parent.$parent.main.GetAccountBalance();\r\n\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\tvm.showSuccess('Failed', res.data.Message);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tfunction GoToVerifySingnature(response) {\r\n\t\tvm.response = response;\r\n\t\tvm.response.RechargeIn = \"AccountWallet\";\r\n\t\tRechargeService.GoToVerifySignature(vm.response, loggedinUser, token).then(function (resp) {\r\n\t\t\tif (resp.status == '202') {\r\n\t\t\t\tvm.showSuccess('Success', 'Payment Done Successfully');\r\n\t\t\t\tGoToUpdateAccount();\r\n\r\n\t\t\t} else {\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tfunction goToNextStepForPayment(orderId, event) {\r\n\t\tCallbackToGetResponse = function (response) {\r\n\t\t\tif (response) {\r\n\t\t\t\tGoToVerifySingnature(response);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvar options = {\r\n\t\t\t\"key\": \"rzp_test_pKf3uRdmvsAUdL\", // Enter the Key ID generated from the Dashboard\r\n\t\t\t\"amount\": \"\", // Amount is in currency subunits. Default currency is INR. Hence, 50000 refers to 100 paise or INR 500.\r\n\t\t\t\"currency\": \"INR\",\r\n\t\t\t\"name\": \"\",\r\n\t\t\t\"description\": \"Account Recharge\",\r\n\t\t\t\"image\": \"\",\r\n\t\t\t\"order_id\": \"\",\r\n\t\t\t\"handler\": CallbackToGetResponse,\r\n\t\t\t\"prefill\": { \"name\": \"\", \"email\": \"innotiontechnologies@gmail.com\", \"contact\": \"\" },\r\n\t\t\t\"notes\": { \"address\": \"C-22A, Sector 57, Noida, UP\" },\r\n\t\t\t\"theme\": { \"color\": \"#F37254\" }\r\n\t\t};\r\n\t\toptions.currency = vm.CurrencySymbol;\r\n\t\toptions.amount = vm.totalAmount;\r\n\t\toptions.order_id = orderId;\r\n\t\toptions.prefill.name = vm.FirstName + \" \" + vm.LastName;\r\n\t\toptions.prefill.contact = vm.ContactNumber;\r\n\t\t// options.prefill.contact = \"8051747909\";\r\n\t\toptions.name = vm.FirstName + \" \" + vm.LastName;\r\n\r\n\t\tvar rzp1 = new Razorpay(options);\r\n\t\trzp1.open();\r\n\t\tevent.preventDefault();\r\n\r\n\t}\r\n\r\n\tvm.makePayment = function (event) {\r\n\t\tvm.recharge_form.submitted = true;\r\n\t\tif (vm.rechargeAmount < vm.minRechageAmount) {\r\n\t\t\tvm.recharge_form.recharge.$invalid = true;\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tvar orderId = '';\r\n\t\tif (vm.recharge_form.$valid) {\r\n\t\t\tRechargeService.buyLicenseRequestToGenerateOrderId(loggedinUser, vm.rechargeAmount, token).then(function (resp) {\r\n\t\t\t\tif (resp.status = 201) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", 'Order id generate' + resp.statusText);\r\n\t\t\t\t\torderId = resp.data;\r\n\t\t\t\t\tif (orderId) {\r\n\t\t\t\t\t\tgoToNextStepForPayment(orderId, event);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvm.showSuccess(\"Failed\", 'Order id not generate' + resp.statusText);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\t// To Integrate Instamojo\r\n\r\n\r\n\t// vm.makePayment = function(){\r\n\t// \tvm.recharge_form.submitted = true;\r\n\t// \tif(vm.rechargeAmount < vm.minRechageAmount){\r\n\t// \t\tvm.recharge_form.recharge.$invalid = true;\r\n\t// \t\treturn;\t\r\n\t// \t}\r\n\t// \tif(vm.recharge_form.$valid){\r\n\t// \t\tvar paymentInfo = {\r\n\t// \t\t\t\"name\": $localStorage.loggedInUser_FirstName+' '+$localStorage.loggedInUser_LastName,\r\n\t// \t\t\t\"phone\" : $localStorage.ContactNumber,\r\n\t// \t\t\t\"rechargeAmount\": vm.rechargeAmount,\r\n\t// \t\t\t//\"rechargeAmount\": \"4999\",\r\n\t// \t\t\t\"amount\": vm.totalAmount,\r\n\t// \t\t//\t\"redircet_url\": encodeURI($window.origin + \"/#/index/RedirectUserPaymentUrl/\" + loggedinUser+ \"/\" + vm.rechargeAmount + \"/\" + vm.procssingFeeAmount + \"/\" + vm.gstFeeAmount + \"/\" + vm.totalAmount + \"/\" + vm.processingFee +\"/\" + vm.gstFee)\r\n\t// \t\t\t\"redircet_url\": $window.origin + \"/#/index/RedirectUserPaymentUrl/\"\r\n\r\n\t// \t}\r\n\t// \tRechargeService.createPaymentLink(paymentInfo, loggedinUser, token, function(res){\r\n\t// \t\tif(res.ErrorCode)\r\n\t// \t\t{\r\n\t// \t\t\tvm.showFailure(\"Failed\", res.ErrorDesc);\r\n\t// \t\t}\r\n\t// \t\telse\r\n\t// \t\t{\r\n\t// \t\t\t$window.location.href = res.Link;\r\n\t// \t\t}\r\n\r\n\t// \t}, function(){\r\n\t// \t\tvm.showFailure(\"Failed\", \"Unable to get payment link, server is not responding correctly.\");\r\n\t// \t});\r\n\t// }\r\n\t// }\r\n\r\n\t$(function () {\r\n\t\t$(\".number-only\").keypress(function (e) {\r\n\t\t\tif (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {\r\n\t\t\t\t$(\"#wdm_errmsg\").html(\"Please Enter Digits Only\").show().fadeOut(\"slow\");\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t});\r\n\t\t/* Do not allow paste */\r\n\t\t$('.number-only').bind(\"paste\", function (e) {\r\n\t\t\te.preventDefault();\r\n\t\t});\r\n\t\t// $('.number-only').keypress(function(e) {\r\n\t\t// if(isNaN(this.value+\"\"+String.fromCharCode(e.charCode))) return false;\r\n\t\t// })\t\r\n\r\n\t});\r\n})\nangular.module('inspinia').service('Project_Details_LatestService', function(ApiURL, $log, $http){\r\n\r\n\r\n//http://115.124.122.225:93/CoreAPI/api/Ticket/sachin.rana%40innotiontech.com/Uttar%20Pradesh/Drive%20Test/GetByCircleProjectName\r\nthis.GetTicketByCircleProjectName = function(loggedinUser, circle, projectName, token){\r\n var url = ApiURL + '/api/Ticket/' + loggedinUser + '/' + circle + '/' + projectName + '/GetByCircleProjectName'\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json','Token':token,'UserId':loggedinUser}\r\n });\r\n}\r\n// https://product.mymobiforce.com/coreapi/api/Ticket/Gati%20Tikona%20Lavelle%20Networks/GetTicketsByProjectName\r\nthis.GetTicketByCircleProjectNameOnLoad = function(loggedinUser, projectName, token){\r\n var url = ApiURL + '/api/Ticket/' + '/' + projectName + '/GetTicketsByProjectName'\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json','Token':token,'UserId':loggedinUser}\r\n });\r\n}\r\n\r\n\r\n//http://115.124.122.225:93/CoreAPI/api/ProjectLocation/sachin.rana%40innotiontech.com/tata_Drive%20Test/GetProjectLocationByProjectId\r\n\r\nthis.GetLocationByProjectId = function(loggedinUser,projectId, token){\r\n var url = ApiURL + '/api/ProjectLocation/' + loggedinUser + '/' + projectId + '/GetProjectLocationByProjectId'\r\n return $http.get(url,{\r\n headers: {'Content-Type': 'application/json','Token':token,'UserId':loggedinUser}\r\n })\r\n}\r\n\r\n\r\n\r\n});\nangular.module('inspinia').controller('Project_Details_LatestController', function ($stateParams, $timeout, $uibModal, $scope, $log, $state, $localStorage, Project_Details_LatestService, ProjectService, DTOptionsBuilder, DTColumnDefBuilder) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n if (!loggedinUser) {\r\n $state.go('Login',{\r\n reload:true\r\n });\r\n }else{\r\n vm.ProjectId = $stateParams.projectId;\r\n vm.pocLocation = $stateParams.pocLocation;\r\n vm.projectName = $stateParams.projectName;\r\n vm.pocName = $stateParams.pocName;\r\n vm.pocNumber = $stateParams.pocNumber;\r\n vm.circleTicketList = '';\r\n vm.ticketCircle = vm.pocLocation;\r\n vm.projectModel = '';\r\n vm.selectedLocation = '';\r\n vm.circle = '';\r\n\r\n vm.CustomDateformat = $localStorage.CustomDateformat;\r\n vm.backlist = function () {\r\n \r\n $state.go('index.Project1',{reload: true });\r\n\r\n}\r\n\r\n vm.exportData = function () {\r\n var blob = new Blob([document.getElementById('job-Table').innerHTML], {\r\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\r\n });\r\n saveAs(blob, \"Report.xls\");\r\n };\r\n\r\n // vm.GetProjectById = function(ProjectId){\r\n // ProjectService.GetProjectByProjectId(loggedinUser,ProjectId).then(function(resp)\r\n // {\r\n // vm.projectModel = resp.data;\r\n // },function(error){\r\n // //$log.log('error occured in GetProjectById');\r\n // });\r\n // }\r\n\r\n vm.GetProjectLocations = function () {\r\n ProjectService.GetProjectLocations(loggedinUser, vm.ProjectId, vm.pocLocation, token).then(function (resp) {\r\n vm.projectModel = resp.data;\r\n }, function (error) {\r\n //$log.log('error occured in GetProjectLocations');\r\n })\r\n }\r\n\r\n vm.GetProjectLocationsByProjectId = function (projectId, circle) {\r\n ProjectService.GetProjectLocations(loggedinUser, projectId, circle, token).then(function (resp) {\r\n vm.projectModel = resp.data;\r\n vm.GetTicketsByLocations(circle);\r\n }, function (error) {\r\n //$log.log('error occured in GetProjectLocations');\r\n })\r\n }\r\n\r\n\r\n\r\n vm.GetLocationByProjectId = function () {\r\n Project_Details_LatestService.GetLocationByProjectId(loggedinUser, vm.ProjectId, token).then(function (resp) {\r\n vm.selectedLocation = resp.data;\r\n }, function (error) {\r\n //$log.log('error occured in GetProjectLocations');\r\n })\r\n }\r\n vm.GetTicketByCircleProjectName = function () {\r\n Project_Details_LatestService.GetTicketByCircleProjectName(loggedinUser, vm.ticketCircle, vm.projectName, token).then(function (resp) {\r\n vm.circleTicketList = resp.data;\r\n }, function (error) {\r\n //$log.log('error occured in GetTicketByCircleProjectId');\r\n })\r\n }\r\n vm.GetTicketByCircleProjectNameOnLoad = function () {\r\n Project_Details_LatestService.GetTicketByCircleProjectNameOnLoad(loggedinUser, vm.projectName, token).then(function (resp) {\r\n vm.circleTicketList = resp.data;\r\n }, function (error) {\r\n })\r\n }\r\n\r\n vm.GetTicketsByLocations = function (circle) {\r\n Project_Details_LatestService.GetTicketByCircleProjectName(loggedinUser, circle, vm.projectName, token).then(function (resp) {\r\n vm.circleTicketList = resp.data;\r\n if (vm.circleTicketList == null) {\r\n vm.circleTicketList = '';\r\n }\r\n }, function (error) {\r\n vm.circleTicketList = '';\r\n //$log.log('error occured in GetTicketsByLocations');\r\n })\r\n }\r\n\r\n\r\n\r\n vm.dtOptions = DTOptionsBuilder.newOptions()\r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withButtons([{extend:'colvis'},{extend:'csv'}])\r\n \r\n \r\n .withPaginationType('full_numbers')\r\n .withOption('lengthChange', true)\r\n .withOption('paging', true)\r\n .withOption('bInfo',true)\r\n .withOption('order', [0, 'desc']);\r\n \r\n\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n //DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(5).notSortable()];\r\n \r\n\r\n vm.GetProjectLocations();\r\n vm.GetLocationByProjectId();\r\n vm.GetTicketByCircleProjectNameOnLoad();\r\n\r\n }\r\n \r\n\r\n});\nangular.module('inspinia').service('RateJobService', function($http, ApiURL, PublicApiURL){\r\n\r\n\tthis.rateCustomer = function(accountId, jobCardId, rating, feedback, success, failure){\r\n\t\tvar data = {\r\n\t\t \"JobCardId\": jobCardId,\r\n\t\t \"accountId\": accountId,\r\n\t\t \"rating\": rating,\r\n\t\t \"feedback\": feedback\r\n\t\t};\r\n\t\t$http.put(PublicApiURL+\"/api/CustomerJobCard/PutCustomerJobCardRating\", data, \r\n\t\t\t{ headers: { 'Content-Type': 'application/json' } }).then(function(res){\r\n\t\t\tif(res && res.status==202 && success){\r\n\t\t\t\tsuccess();\r\n\t\t\t} else if(failure){\r\n\t\t\t\tfailure();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tthis.getCustomerJobCard = function(jobCardId, success, failure){\r\n\t\t$http.get(PublicApiURL+\"/api/CustomerJobCard/\"+jobCardId+\"/GetCustomerJobCard\").then(function(res){\r\n\t\t\tif(res && res.data && success){\r\n\t\t\t\tsuccess(res.data);\r\n\t\t\t} else if(failure){\r\n\t\t\t\tfailure();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\t\r\n\r\n\tthis.getAllReasonStatements = function(success, failure){\r\n\t\t$http.get(PublicApiURL+\"/api/ReasonStatement/getallreasonstatements\").then(function(res){\r\n\t\t\tif(res && res.data && success){\r\n\t\t\t\tsuccess(res.data);\r\n\t\t\t} else if(failure){\r\n\t\t\t\tfailure();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n});\nangular.module('inspinia').controller('RateJobController', function (UIURL, $scope, $state, $stateParams, $localStorage, $log, $timeout, RateJobService, ImageUrl) {\r\n var vm = this;\r\n\r\n var jobCardId = $stateParams.jobCardId;\r\n \r\n vm.showSuccess = $scope.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.main.showFailure;\r\n\r\n vm.feedback = {};\r\n\r\n vm.ticketId = '';\r\n\r\n\r\n\r\n vm.confirmationModalObj={};\r\n\r\n vm.rateCustomer = function(){\r\n vm.feedbackStr = \"\";\r\n angular.forEach(vm.feedback, function(v, k){\r\n if(v){\r\n vm.feedbackStr+=k+\",\";\r\n }\r\n });\r\n if(vm.otherRatingFeedback && vm.otherRatingFeedback.length>0){\r\n vm.feedbackStr+=vm.otherRatingFeedback;\r\n } else {\r\n vm.feedbackStr=vm.feedbackStr.length>0?vm.feedbackStr.substr(0, vm.feedbackStr.length-1):null;\r\n }\r\n \r\n RateJobService.rateCustomer(accountId, jobCardId, vm.rating, vm.feedbackStr, function(){\r\n vm.showSuccess(\"Success\", \"Rated successfully\");\r\n $timeout(function() {\r\n $localStorage.rateJobParams = {\r\n rating: vm.rating,\r\n status: \"RatingDone\"\r\n }\r\n $state.go('PaymentSection', {\r\n accountId: accountId,\r\n jobCardId: jobCardId,\r\n reload: true\r\n });\r\n }, 2000);\r\n }, function(){\r\n vm.showFailure(\"Failed\", \"Unable to reach server\");\r\n });\r\n }\r\n\r\n vm.getCustomerJobCard = function(){\r\n RateJobService.getCustomerJobCard(jobCardId, function(data){\r\n vm.ticketId = data.JobId;\r\n }, function(){\r\n vm.showFailure(\"Failed\", \"Unable to reach server\");\r\n }); \r\n }\r\n\r\n\r\n vm.getCustomerJobCard();\r\n\r\n vm.getRatingMeaning = function(){\r\n switch(parseInt(vm.rating)){\r\n case 1: return \"Terrible\"; \r\n case 2: return \"Bad\";\r\n case 3: return \"Ok\";\r\n case 4: return \"Good\";\r\n case 5: return \"Excellent\";\r\n default: return \"\";\r\n }\r\n }\r\n\r\n vm.reasons = {\"CancelationList\":[], \"RescheduleList\":[], \"RatingList\":[]};\r\n vm.getAllReasonStatements = function(){\r\n RateJobService.getAllReasonStatements(function(data){\r\n if(data && data.CancelationList){\r\n vm.reasons.CancelationList = data.CancelationList;\r\n vm.cancelReason = vm.reasons.CancelationList[0];\r\n }\r\n if(data && data.RescheduleList){\r\n vm.reasons.RescheduleList = data.RescheduleList;\r\n vm.rescheduleReason = vm.reasons.RescheduleList[0];\r\n }\r\n if(data && data.RatingList && data.RatingList.length>0){\r\n vm.reasons.RatingList = data.RatingList;\r\n }\r\n }, function(){\r\n\r\n });\r\n }\r\n vm.getAllReasonStatements();\r\n\r\n vm.getRatingFeedbackList = function(rating){\r\n var feedbackList = [];\r\n angular.forEach(vm.reasons.RatingList, function(d){\r\n if(d && d.Rating==rating){\r\n feedbackList=d.ReasonList;\r\n return;\r\n }\r\n });\r\n $log.log(\"getRatingFeedbackList result\", feedbackList);\r\n return feedbackList;\r\n }\r\n\r\n vm.getImageUrl = function(image){\r\n return ImageUrl + \"/\" +image;\r\n }\r\n})\nangular.module('inspinia').service('ProjectCreationLatestService', function (ApiURL, LocationURL, $log, $http, $localStorage,PublicApiURL) {\r\n\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n vm = this;\r\n\r\n vm.setShowSuccess = function (success) {\r\n vm.showSuccess = success;\r\n }\r\n\r\n vm.setShowFailure = function (failure) {\r\n vm.showFailure = failure;\r\n }\r\n this.CreateProject = function (projectFormData,loggedinUser, token) {\r\n var url = ApiURL + '/api/Project?reqUserId=' + loggedinUser;\r\n return $http.post(url, projectFormData, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':loggedinUser}});\r\n }\r\n\r\n this.UpdateProject = function (projectFormData,loggedinUser, token) {\r\n var url = ApiURL + '/api/Project?reqUserId=' + loggedinUser;\r\n return $http.put(url, projectFormData, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':loggedinUser}});\r\n }\r\n\r\n this.GetAllCustomers = function (loggedinUser, token){\r\n var url = ApiURL + '/api/Customer?reqUserId=' + loggedinUser;\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token, 'UserId':loggedinUser}\r\n });\r\n }\r\n\r\n this.GetAllCircles = function(loggedinUser){\r\n var url = LocationURL + '/api/Location/' + loggedinUser + '/GetAllCircles'\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json'}\r\n });\r\n }\r\n\r\n this.GetAllCircles1 = function(callback){\r\n var url = LocationURL + '/api/Location/' + loggedinUser + '/GetAllCircles'\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json'}\r\n }).then(function(resp){\r\n if(callback){\r\n callback(resp.data);\r\n }\r\n }, function(){\r\n vm.showFailure(\"Circles\", \"Unable to get cirlces\");\r\n });\r\n }\r\n \r\n this.GetTelecomCircle = function(loggedInUserId, token){\r\n var url = PublicApiURL + '/api/Location/GetTelecomCircles?userId='+ loggedInUserId;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n\r\n this.GetPointofContacts = function(loggedinUser,customerId, token)\r\n {\r\n var url = ApiURL + '/api/CustomerContact/' + loggedinUser + '/' + customerId + '/GetCustomerContactsByCustomerId'\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token, 'UserId':loggedinUser}\r\n });\r\n }\r\n\r\n this.GetAllSupervisors = function(role,loggedinUser, token){\r\n var url = ApiURL + '/api/User/'+role+ '/' + \"UserStatus\"+ '/'+ \"Active\" +'/byRole?reqUserId=' + loggedinUser;\r\n return $http.get(url,{\r\n headers:{'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':loggedinUser}\r\n }); \r\n }\r\n\r\n //https://db.mymobiforce.com/publicapi/api/Address/GetCountry?userId=U420000000001\r\n this.getCountry = function (userId,token) {\r\n var url = PublicApiURL + '/api/Address/GetCountry?userId=' + userId;\r\n return $http.get(url, {\r\n headers:{'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':userId}\r\n //params: {}\r\n });\r\n }\r\n\r\n //https://db.mymobiforce.com/publicapi/api/Address/GetStates?userId=U420000000001&country=QATAR\r\n this.getStates = function (userId,token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url, {\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token, 'UserId':userId}\r\n });\r\n }\r\n\r\n\r\n //https://db.mymobiforce.com/publicapi/api/Address/GetCities?userId=U420000000001&state=DOHA\r\n this.getCities = function (userId, state) {\r\n var url = PublicApiURL + '/api/Address/GetCities?userId=' + userId + '&state=' + state;\r\n return $http.get(url, {\r\n headers:{'Content-Type':'application/json',\r\n 'UserId':userId}\r\n });\r\n }\r\n // this.GetUsersByRole = function (loggedinUser, role, itemNames,itemValues) {\r\n // var url = ApiURL + '/api/User/'+role+ '/' + itemNames+ '/'+ itemValues+'/byRole?reqUserId=' + loggedinUser;\r\n // return $http.get(url, {\r\n // headers: {\r\n // 'Content-Type': 'application/json'\r\n // }\r\n // });\r\n // }\r\n\r\n this.GetProjectByProjectId = function (loggedinUser,projectId, token) {\r\n var url = ApiURL + '/api/Project/' + loggedinUser + '/' + projectId + '/GetProjectById'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':loggedinUser }\r\n });\r\n }\r\n\r\n // https://perf.mymobiforce.com/coreapi/api/SkillSets?reqUserId=U400000000001\r\n this.getAllSkills = function(loggedinUser, token, success, failure){\r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url, {headers: {'Token': token, 'UserId':loggedinUser}}).then(function(res){\r\n if(res && res.status == 200 && res.data){\r\n success(res.data);\r\n }\r\n }, function(err){\r\n failure(\"Failed\", \"Unable to get skill list, server error.\")\r\n })\r\n }\r\n\r\n // https://perf.mymobiforce.com/coreapi/api/MasterSelectionCriteria/GetAllMaster?UserId=U400000000001\r\n // https://perf.mymobiforce.com/coreapi/api/MasterSelectionCriteria/GetAll?UserId=U400000000001\r\n this.GetAllSchedulingRule = function(loginUser, token){\r\n // var url = ApiURL + '/api/MasterSelectionCriteria/GetAllMaster?UserId='+loginUser;\r\n var url = ApiURL + '/api/MasterSelectionCriteria/GetAll?UserId=' + loginUser;\r\n return $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token':token, 'UserId':loginUser }\r\n });\r\n }\r\n\r\n\r\n\r\n \r\n});\nangular.module('inspinia').controller('ProjectCreationLatestController', function ($scope, $state, DTOptionsBuilder, DTColumnBuilder, $q, $compile, $stateParams, $timeout, $log, $uibModal, ProjectCreationLatestService, $localStorage, $filter, toaster) {\r\n\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n } else {\r\n vm.loggedinUserRole = $localStorage.loggedInUser_Role;\r\n var projectId = '';\r\n vm.IsPCLink = $localStorage.accountConfig.IsPCLink;\r\n vm.managerId = '';\r\n var projectId_ForUpdate = $stateParams.projectId;\r\n vm.allcustomers = '';\r\n vm.editMode = false;\r\n vm.FixedBidPrice = false;\r\n vm.DynamicPricing = false;\r\n vm.IsCustomerAppointmentNeeded = false;\r\n vm.IsHappyCodeEnabled = false;\r\n vm.IsQuickResolveTicketsEnable = false;\r\n vm.IsSpareShipmentEnabled = false;\r\n vm.IsOnSiteReportEnabled = false;\r\n vm.GeoFenceEnabled = false;\r\n vm.avg_time_close = true;\r\n vm.range = 0;\r\n // vm.PriceBid = 'ON';\r\n var role = 'Supervisor';\r\n /// for declaration\r\n vm.ProjectName = '';\r\n vm.saveAndNewFlag = false;\r\n vm.isDisabled = false;\r\n vm.ProjectManager = '';\r\n vm.StartDate = moment();\r\n vm.EndDate = moment();\r\n vm.Customer = '';\r\n vm.ProjectDescription = '';\r\n vm.AvgTimeClose = '';\r\n vm.MeetingCustAppointment = '';\r\n vm.WithinDay = '';\r\n vm.Circle = '';\r\n vm.POC = '';\r\n vm.Supervisor = '';\r\n vm.mFirstName = '';\r\n vm.mLastName = '';\r\n vm.mMobile = '';\r\n vm.mOtherMobile = '';\r\n vm.mEmail = '';\r\n vm.Projects = [];\r\n vm.pocId = '';\r\n vm.Policies = [];\r\n vm.pocDataGlobal = [];\r\n vm.POCList = [];\r\n vm.CircleList = [];\r\n vm.tcircle = '';\r\n vm.globalMainPOCData = [];\r\n vm.projectManagerList = '';\r\n vm.price = '';\r\n vm.circleArray = '';\r\n vm.Skill = '';\r\n vm.AllSchedulingRuleList = [];\r\n vm.RemaningSkillSet = [];\r\n vm.AllSkillList = [];\r\n vm.showSchedulingTable = false;\r\n vm.ScheduleingRuleSkill = [];\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n vm.LocationMapping = vm.getAccountConfigSetting('LocationMapping');\r\n ProjectCreationLatestService.setShowSuccess($scope.$parent.$parent.main.showSuccess);\r\n ProjectCreationLatestService.setShowFailure($scope.$parent.$parent.main.showFailure);\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.CurrencySetting = $localStorage.accountConfig.CurrencySetting;\r\n vm.showLocation = false;\r\n if(vm.IsPCLink){\r\n vm.showLocation = true;\r\n }\r\n\r\n if ($state.current.name == 'index.ProjectCreationLatest') {\r\n var POC_1 = {\r\n LocationOf_1: '',\r\n POCOf_1: '',\r\n SupervisorOf_1: '',\r\n CustomerOf_1: ''\r\n };\r\n vm.POCList.push(POC_1);\r\n }\r\n\r\n vm.removePoc = function () {\r\n var lastpoc = vm.POCList.length - 1;\r\n vm.POCList.splice(lastpoc);\r\n }\r\n \r\n //For ProjectEdit Mode\r\n if ($state.current.name == 'index.ProjectEditLatest') {\r\n vm.editMode = true;\r\n ProjectCreationLatestService.GetProjectByProjectId(loggedinUser, projectId_ForUpdate, token).then(function (resp) {\r\n var projectData = resp.data;\r\n // vm.skillrulemap = projectData.ProjectSkillRulesMap;\r\n vm.ScheduleingRuleSkill = Object.keys(projectData.ProjectSkillRulesMap);\r\n vm.AllSchedulingRuleList = Object.values(projectData.ProjectSkillRulesMap);\r\n var ruleIdList =[];\r\n for(var i = 0 ; i < vm.AllSchedulingRuleList.length; i++){\r\n var temp = [];\r\n for( var j = 0; j< vm.AllSchedulingRuleList[i].length; j++){\r\n if(vm.AllSchedulingRuleList[i][j].IsEnable){\r\n temp.push(vm.AllSchedulingRuleList[i][j].RuleId);\r\n }\r\n }\r\n ruleIdList.push(temp);\r\n }\r\n \r\n for(var map = 0 ; map < ruleIdList.length; map++){\r\n vm.skillrulemap[vm.ScheduleingRuleSkill[map]] = ruleIdList[map];\r\n }\r\n console.log(vm.skillrulemap);\r\n ProjectCreationLatestService.getAllSkills(loggedinUser, token, function (data) {\r\n vm.AllSkillSets = data;\r\n vm.RemaningSkillSet[0] = vm.AllSkillSets.slice(); \r\n for(var index = 0; index< vm.ScheduleingRuleSkill.length; index++){\r\n if(index > 0){\r\n vm.addMoreSkill(index-1);\r\n }\r\n vm.renderRuleTable(vm.ScheduleingRuleSkill[index], vm.AllSchedulingRuleList[index], index);\r\n }\r\n\r\n vm.GetPointofContacts(projectData.CustomerId);\r\n vm.ProjectName = projectData.Name;\r\n vm.managerId = projectData.Manager;\r\n vm.StartDate = moment(projectData.StartDate, 'YYYY-MM-DDTHH:mm:ss.SSSZ').format('YYYY-MM-DD');\r\n vm.EndDate = moment(projectData.EndDate, 'YYYY-MM-DDTHH:mm:ss.SSSZ').format('YYYY-MM-DD');\r\n // vm.StartDate = $filter('date')(new Date(projectData.StartDate),\"dd/MM/yyyy\");\r\n // vm.EndDate = $filter('date')(new Date(projectData.EndDate),\"dd/MM/yyyy\");\r\n vm.Customer = projectData.CustomerId;\r\n vm.JobDuration = projectData.JobDuration;\r\n vm.ProjectDescription = projectData.Description;\r\n if(projectData.CustomerContactResponseModel)\r\n {\r\n vm.pocId = projectData.CustomerContactResponseModel.DocId; \r\n }\r\n vm.AvgTimeClose = parseInt(projectData.SlaModel.Policies[0]);\r\n vm.MeetingCustAppointment = projectData.SlaModel.Policies[1];\r\n vm.WithinDay = parseInt(projectData.SlaModel.Policies[2]);\r\n vm.range = projectData.GetFenceRange; \r\n vm.price = parseFloat(projectData.JobRate);\r\n vm.GeoFenceEnabled = projectData.GeoFenceEnabled;\r\n vm.FixedBidPrice = projectData.FixedBidPrice;\r\n vm.DynamicPricing = projectData.DynamicPricing;\r\n vm.IsCustomerAppointmentNeeded = projectData.IsCustomerAppointmentNeeded;\r\n vm.IsHappyCodeEnabled = projectData.IsHappyCodeEnabled;\r\n vm.IsQuickResolveTicketsEnable = projectData.IsQuickResolveTicketsEnable;\r\n vm.IsOnSiteReportEnabled = projectData.IsOnSiteReportEnabled;\r\n vm.IsSpareShipmentEnabled = projectData.IsSpareShipmentEnabled;\r\n // vm.ScheduleingRuleSkill = projectData.ProjectSkillRules;\r\n for (var projectLocationIndex = 0; projectLocationIndex < projectData.ProjectLocationModels.length; projectLocationIndex++) {\r\n var listPoc = {}\r\n listPoc['PlId'] = projectData.ProjectLocationModels[projectLocationIndex].PlId;\r\n listPoc['LocationOf_' + (projectLocationIndex + 1)] = projectData.ProjectLocationModels[projectLocationIndex].Circle;\r\n listPoc['SupervisorOf_' + (projectLocationIndex + 1)] = projectData.ProjectLocationModels[projectLocationIndex].SupervisorId;\r\n listPoc['POCOf_' + (projectLocationIndex + 1)] = projectData.ProjectLocationModels[projectLocationIndex].CustomerContactRequestModelId;\r\n vm.POCList.push(listPoc);\r\n }\r\n //$log.log('POCList',vm.POCList);\r\n \r\n if(vm.POCList.length <= 0){\r\n var POC_1 = {\r\n LocationOf_1: '',\r\n POCOf_1: '',\r\n SupervisorOf_1: '',\r\n CustomerOf_1: ''\r\n };\r\n vm.POCList.push(POC_1);\r\n }\r\n\r\n }); \r\n });\r\n }\r\n\r\n vm.GetAllCustomers = function () {\r\n ProjectCreationLatestService.GetAllCustomers(loggedinUser, token).then(function (resp) {\r\n vm.allcustomers = resp.data;\r\n }, function (error) {\r\n //$log.log('error occured');\r\n })\r\n }\r\n\r\n vm.selectedCountry = null;\r\n //get country of user\r\n vm.getCountry = function () {\r\n ProjectCreationLatestService.getCountry(loggedinUser,token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.values.length > 0) {\r\n vm.countrylist = resp.data.values;\r\n vm.selectedCountry = vm.countrylist[0];\r\n vm.GetAllCircles();\r\n }\r\n }\r\n })\r\n }\r\n\r\n\r\n vm.GetAllCircles = function () {\r\n vm.circles = [];\r\n if (vm.LocationMapping == 'Project' || vm.LocationMapping == '' || vm.LocationMapping == null) {\r\n ProjectCreationLatestService.getStates(loggedinUser,token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length > 0) {\r\n vm.circles = resp.data;\r\n\r\n }\r\n }\r\n });\r\n\r\n /* ProjectCreationService.GetAllCircles1(vm.createCallback(vm.circles, [function (data) {\r\n angular.forEach(data, function (d) {\r\n vm.CircleList.push({\r\n circle: d.circle\r\n });\r\n })\r\n //$log.log(vm.circleArray);\r\n }]));*/\r\n } else if (vm.VerticalName == 'Circle') {\r\n ProjectCreationLatestService.GetTelecomCircle(loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.values.length > 0) {\r\n vm.circles = resp.data.values;\r\n\r\n }\r\n }\r\n })\r\n }\r\n\r\n\r\n }\r\n\r\n vm.GetPointofContacts = function (customerId) {\r\n ProjectCreationLatestService.GetPointofContacts(loggedinUser, customerId, token).then(function (resp) {\r\n vm.onSelectPoc = resp.data;\r\n }, function (error) {\r\n //$log.log('error occured');\r\n })\r\n }\r\n\r\n vm.GetAllSupervisors = function (role, loggedinUser) {\r\n ProjectCreationLatestService.GetAllSupervisors(role, loggedinUser, token).then(function (resp) {\r\n vm.supervisorList = resp.data;\r\n }, function (error) {\r\n //$log.log('error Occured');\r\n })\r\n }\r\n\r\n vm.GetAllProjectManagers = function (loggedinUser) {\r\n ProjectCreationLatestService.GetAllSupervisors('Project Manager', loggedinUser, token).then(function (resp) {\r\n vm.projectManagerList = resp.data;\r\n //$log.log(\"vm.projectManagerList\", vm.projectManagerList);\r\n }, function (error) {\r\n //$log.log('error Occured');\r\n })\r\n }\r\n\r\n $scope.pocData = {\r\n \"FirstName\": vm.FirstName,\r\n \"LastName\": vm.LastName,\r\n \"Mobile\": vm.Mobile,\r\n \"OtherMobile\": vm.OtherMobile,\r\n \"Email\": vm.Email,\r\n \"CustomerId\": vm.Customer,\r\n \"Projects\": [\r\n \"\"\r\n ]\r\n }\r\n\r\n vm.getSkillSets = function () {\r\n ProjectCreationLatestService.getAllSkills(loggedinUser, token, function (data) {\r\n vm.AllSkillSets = data;\r\n vm.RemaningSkillSet[0] = vm.AllSkillSets.slice(); \r\n // console.log(vm.AllSkillSets);\r\n }, vm.showFailure);\r\n }\r\n vm.getSkillSets();\r\n\r\n vm.getRemainingSkillSets = function (index) {\r\n vm.RemaningSkillSet[index] = vm.RemaningSkillSet[index-1].slice();\r\n if ($state.current.name == 'index.ProjectEdit') {\r\n var removeLastSkill = vm.ScheduleingRuleSkill[index-1];\r\n }\r\n else{\r\n var removeLastSkill = vm.ScheduleingRuleSkill[vm.ScheduleingRuleSkill.length-1];\r\n }\r\n for (var i = 0; i < vm.RemaningSkillSet[index].length; i++) { \r\n if (vm.RemaningSkillSet[index][i].SkillName == removeLastSkill) {\r\n vm.RemaningSkillSet[index].splice(i, 1); \r\n }\r\n }\r\n }\r\n\r\n \r\n vm.dtInstance = [];\r\n vm.dtOptions = [];\r\n vm.dtColumns = [];\r\n vm.selected = [];\r\n \r\n vm.selectedRulesList = [];\r\n vm.selectedSkill = '';\r\n vm.skillrulemap = {};\r\n\r\n vm.EnableRuleTable = function (skill, index) {\r\n if (skill) {\r\n vm.selectedSkill = skill;\r\n vm.showSchedulingTable = true;\r\n vm.getAllSchedulingRule(index);\r\n }\r\n }\r\n\r\n vm.renderRuleTable = function(skill, rule,index){\r\n vm.showSchedulingTable = true;\r\n vm.AllSchedulingRuleList[index] = rule;\r\n if (vm.AllSchedulingRuleList[index]) {\r\n vm.CreateTable(index);\r\n }\r\n }\r\n\r\n vm.getAllSchedulingRule = function (index) {\r\n ProjectCreationLatestService.GetAllSchedulingRule(loggedinUser, token).then(function (resp) {\r\n vm.AllSchedulingRuleList[index] = resp.data;\r\n if (vm.AllSchedulingRuleList[index]) {\r\n vm.CreateTable(index);\r\n }\r\n\r\n })\r\n }\r\n\r\n\r\n\r\n vm.CreateTable = function (index) {\r\n\r\n vm.headerCompiled = false;\r\n vm.dtInstance[index] = {};\r\n vm.selected[index] = {};\r\n vm.selectAll = false;\r\n vm.toggleAll = toggleAll;\r\n vm.toggleOne = toggleOne;\r\n // var titleHtml = '
';\r\n\r\n vm.dtOptions[index] = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n defer.resolve(vm.AllSchedulingRuleList[index]);\r\n return defer.promise;\r\n })\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withBootstrap()\r\n .withOption('createdRow', function (row, data, dataIndex) {\r\n $compile(angular.element(row).contents())($scope);\r\n })\r\n .withOption('headerCallback', function (header) {\r\n if (!vm.headerCompiled) {\r\n // Use this headerCompiled field to only compile header once\r\n vm.headerCompiled = true;\r\n $compile(angular.element(header).contents())($scope);\r\n }\r\n });\r\n\r\n\r\n vm.dtColumns[index] = [\r\n DTColumnBuilder.newColumn(null).withTitle(null).renderWith(function (data, type, full, meta) {\r\n vm.selected[index][meta.row] = data.IsEnable;\r\n return '
';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn('RuleId').withTitle('Rule Id').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn('RuleType').withTitle('Rule Type').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn('Description').withTitle('Role Description').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n }).notSortable()\r\n\r\n\r\n ];\r\n\r\n function toggleAll(selectAll, selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n selectedItems[id] = selectAll;\r\n }\r\n }\r\n }\r\n\r\n function toggleOne(selectedItems, index) {\r\n var tempRuleIdList = [];\r\n for (var id in selectedItems[index]) {\r\n if (selectedItems[index].hasOwnProperty(id)) {\r\n vm.AllSchedulingRuleList[index][id].IsEnable = selectedItems[index][id];\r\n if (vm.AllSchedulingRuleList[index][id].IsEnable) {\r\n tempRuleIdList.push(vm.AllSchedulingRuleList[index][id].RuleId);\r\n }\r\n }\r\n }\r\n vm.skillrulemap[vm.ScheduleingRuleSkill[index]] = tempRuleIdList;\r\n vm.selectAll = true;\r\n }\r\n\r\n\r\n }\r\n\r\n vm.tempSkillList = [];\r\n var skill = {}\r\n vm.tempSkillList.push(skill);\r\n\r\n vm.addMoreSkill = function (index) {\r\n var temp = {}\r\n vm.getRemainingSkillSets(index+1);\r\n vm.tempSkillList.push(temp); \r\n }\r\n\r\n vm.addMoreSkillByUser = function (index) {\r\n var temp = {}\r\n vm.getRemainingSkillSets(index+1);\r\n vm.tempSkillList.push(temp); \r\n vm.EnableRuleTable(vm.RemaningSkillSet[index][0].SkillName, index); \r\n }\r\n\r\n vm.removeSkill = function (index) { \r\n var removeSkillObject = ''; \r\n var removedSkill = vm.ScheduleingRuleSkill[index];\r\n for(var pos = 0 ; pos < vm.RemaningSkillSet.length; pos++){\r\n for(var posi = 0; posi < vm.RemaningSkillSet[pos].length;posi ++){\r\n if(vm.RemaningSkillSet[pos][posi].SkillName == removedSkill){\r\n removeSkillObject = vm.RemaningSkillSet[pos][posi];\r\n }\r\n }\r\n \r\n }\r\n\r\n //vm.RemaningSkillSet.splice(index,1);\r\n\r\n for(var i=index+1; i < vm.RemaningSkillSet.length;i++)\r\n {\r\n vm.RemaningSkillSet[i].push(removeSkillObject);\r\n }\r\n vm.RemaningSkillSet.splice(index,1);\r\n vm.AllSchedulingRuleList.splice(index,1);\r\n vm.ScheduleingRuleSkill.splice(index,1);\r\n vm.dtOptions.splice(index,1);\r\n vm.dtColumns.splice(index,1);\r\n vm.dtInstance.splice(index,1);\r\n vm.tempSkillList.splice(index, 1);\r\n var key = Object.keys(vm.skillrulemap)[index];\r\n delete vm.skillrulemap[key];\r\n\r\n // vm.getSkillSets();\r\n \r\n }\r\n\r\n\r\n //model to send Project Creation\r\n vm.saveProject = function () {\r\n \r\n if (vm.loggedinUserRole == 'Project Manager') {\r\n vm.managerId = loggedinUser;\r\n }\r\n var locationContactModel = [];\r\n // var CustomerContactRequestModel = [];\r\n for (var custIndex = 0; custIndex < vm.POCList.length; custIndex++) {\r\n\r\n if (!vm.POCList[custIndex]['LocationOf_' + (custIndex + 1)] && !vm.POCList[custIndex]['SupervisorOf_' + (custIndex + 1)]) {\r\n continue;\r\n }\r\n\r\n if (vm.POCList[custIndex].PlId) {\r\n var obj = {};\r\n obj = {\r\n \"PlId\": vm.POCList[custIndex]['PlId'],\r\n \"CustomerId\": vm.Customer,\r\n \"Circle\": vm.POCList[custIndex]['LocationOf_' + (custIndex + 1)],\r\n \"CustomerContactRequestModelId\": vm.POCList[custIndex]['POCOf_' + (custIndex + 1)],\r\n \"SupervisorId\": vm.POCList[custIndex]['SupervisorOf_' + (custIndex + 1)],\r\n \"CustomerContactRequestModel\": null\r\n }\r\n\r\n if (vm.pocDataGlobal != 0) {\r\n if (!obj.CustomerContactRequestModelId || angular.isUndefined(obj.CustomerContactRequestModelId)) {\r\n obj.CustomerContactRequestModel = {\r\n \"FirstName\": vm.pocDataGlobal[custIndex].FirstName,\r\n \"LastName\": vm.pocDataGlobal[custIndex].LastName,\r\n \"Email\": vm.pocDataGlobal[custIndex].Email,\r\n \"OtherMobile\": vm.pocDataGlobal[custIndex].OtherMobile,\r\n \"Mobile\": vm.pocDataGlobal[custIndex].Mobile\r\n }\r\n }\r\n }\r\n\r\n } else {\r\n var obj = {};\r\n obj = {\r\n \"CustomerId\": vm.Customer,\r\n \"Circle\": vm.POCList[custIndex]['LocationOf_' + (custIndex + 1)],\r\n \"CustomerContactRequestModelId\": vm.POCList[custIndex]['POCOf_' + (custIndex + 1)],\r\n \"SupervisorId\": vm.POCList[custIndex]['SupervisorOf_' + (custIndex + 1)],\r\n \"CustomerContactRequestModel\": null\r\n }\r\n if (vm.pocDataGlobal != 0) {\r\n if (!obj.CustomerContactRequestModelId || angular.isUndefined(obj.CustomerContactRequestModelId)) {\r\n obj.CustomerContactRequestModel = {\r\n \"FirstName\": vm.pocDataGlobal[custIndex].FirstName,\r\n \"LastName\": vm.pocDataGlobal[custIndex].LastName,\r\n \"Email\": vm.pocDataGlobal[custIndex].Email,\r\n \"OtherMobile\": vm.pocDataGlobal[custIndex].OtherMobile,\r\n \"Mobile\": vm.pocDataGlobal[custIndex].Mobile\r\n }\r\n }\r\n }\r\n }\r\n locationContactModel.push(obj);\r\n // CustomerContactRequestModel.push(obj.CustomerContactRequestModel);\r\n }\r\n\r\n var projectData = {\r\n \"ProjectId\": projectId_ForUpdate,\r\n \"Name\": vm.ProjectName,\r\n \"Manager\": vm.managerId,\r\n \"StartDate\": moment(vm.StartDate, \"YYYY-MM-DD\").format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\"),\r\n \"EndDate\": moment(vm.EndDate, \"YYYY-MM-DD\").format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\"),\r\n \"CustomerId\": vm.Customer,\r\n \"Description\": vm.ProjectDescription,\r\n \"Status\": 'Active',\r\n \"CustomerContactRequestModelId\": vm.pocId,\r\n \"JobRate\": vm.price,\r\n \"JobGrossRate\": \"\",\r\n \"FixedBidPrice\": vm.FixedBidPrice,\r\n \"GeoFenceEnabled\": vm.GeoFenceEnabled,\r\n \"GetFenceRange\": vm.range,\r\n \"CustomerContactRequestModel\": null,\r\n \"JobDuration\": vm.JobDuration,\r\n \"ProjectSkillRules\" : vm.skillrulemap,\r\n // \"ProjectSkillRules\" : vm.tempSkillList,\r\n \"Locations\": locationContactModel,\r\n \"DynamicPricing\": vm.DynamicPricing,\r\n \"IsCustomerAppointmentNeeded\": vm.IsCustomerAppointmentNeeded,\r\n \"IsQuickResolveTicketsEnable\": vm.IsQuickResolveTicketsEnable,\r\n \"IsHappyCodeEnabled\": vm.IsHappyCodeEnabled,\r\n \"IsOnSiteReportEnabled\": vm.IsOnSiteReportEnabled,\r\n \"IsSpareShipmentEnabled\": vm.IsSpareShipmentEnabled,\r\n \"SLA\": {\r\n \"Policies\": [\r\n\r\n ]\r\n }\r\n }\r\n if (vm.globalMainPOCData != 0) {\r\n if (!projectData.CustomerContactRequestModelId) {\r\n projectData.CustomerContactRequestModel = {\r\n \"FirstName\": vm.globalMainPOCData[0].FirstName,\r\n \"LastName\": vm.globalMainPOCData[0].LastName,\r\n \"Mobile\": vm.globalMainPOCData[0].Mobile,\r\n \"OtherMobile\": vm.globalMainPOCData[0].OtherMobile,\r\n \"Email\": vm.globalMainPOCData[0].Email,\r\n \"CustomerId\": vm.Customer,\r\n \"Projects\": [\r\n \"\"\r\n ]\r\n }\r\n }\r\n }\r\n\r\n projectData.SLA.Policies.push(vm.AvgTimeClose);\r\n projectData.SLA.Policies.push(vm.MeetingCustAppointment);\r\n projectData.SLA.Policies.push(vm.WithinDay);\r\n //$log.log(projectData);\r\n\r\n\r\n if(vm.EndDate <= vm.StartDate)\r\n {\r\n vm.showFailure(\"Faild\", \"End date can't be less than start date\");\r\n return\r\n }\r\n\r\n if (vm.project_form.$valid) {\r\n vm.isDisabled = true;\r\n if (vm.editMode) {\r\n ProjectCreationLatestService.UpdateProject(projectData, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 202) {\r\n // toaster.pop({\r\n // type: 'success',\r\n // title: 'Project Information',\r\n // shoeCloseButton: true,\r\n // body: 'Project Updated Successfully',\r\n // \"progressBar\": true,\r\n // \"preventDuplicates\": false,\r\n // \"showDuration\": \"400\",\r\n // \"hideDuration\": \"1000\",\r\n // \"timeout\": 2000,\r\n // \"tapToDismiss\": true,\r\n // positionClass: \"toast-top-full-width\"\r\n // });\r\n vm.showSuccess(\"Project Update Status\", \"Project Updated Successfully\");\r\n vm.isDisabled = false;\r\n $timeout(function () {\r\n $state.go('index.Project1', {\r\n reload: true\r\n });\r\n }, 2000);\r\n } else if (resp.data && resp.data.Message) {\r\n vm.showFailure(\"Project Update Status\", resp.data.Message);\r\n } else {\r\n vm.showFailure(\"Project Update Status\", \"Unable to create project, server is not responding correctly.\");\r\n }\r\n vm.isDisabled = false;\r\n }, function () {\r\n vm.isDisabled = false;\r\n // toaster.pop({\r\n // type: 'error',\r\n // title: 'Project Creation Status',\r\n // showCloseButton: true,\r\n // body: 'unable to update user',\r\n // \"progressBar\": true,\r\n // \"preventDuplicates\": false,\r\n // \"showDuration\": \"400\",\r\n // \"hideDuration\": \"1000\",\r\n // \"tapToDismiss\": true,\r\n // \"timeout\": 2000,\r\n // positionClass: 'toast-top-full-width'\r\n // });\r\n vm.showFailure(\"Project Update Status\", \"Unable to create project, server is not responding correctly.\");\r\n vm.isDisabled = false;\r\n })\r\n } else {\r\n ProjectCreationLatestService.CreateProject(angular.toJson(projectData), loggedinUser, token).then(function (resp) {\r\n if (resp.status == 201) {\r\n vm.isDisabled = true;\r\n if (!vm.saveAndNewFlag) {\r\n // toaster.pop({\r\n // type: 'success',\r\n // title: 'Project Creation Status ',\r\n // showCloseButton: true,\r\n // body: 'Project created successfully',\r\n // \"progressBar\": true,\r\n // \"preventDuplicates\": false,\r\n // \"showDuration\": \"400\",\r\n // \"hideDuration\": \"1000\",\r\n // \"tapToDismiss\": true,\r\n // \"timeout\": 2000,\r\n // positionClass: 'toast-top-full-width'\r\n // });\r\n vm.showSuccess(\"Project Creation Status\", \"Project created successfully\");\r\n vm.isDisabled = false;\r\n clearFormFields();\r\n $timeout(function () {\r\n $state.go('index.Project1', {\r\n reload: true\r\n });\r\n }, 2000);\r\n } else {\r\n vm.showFailure(\"Project Creation Status\", \"Unable to create project, server is not responding correctly.\");\r\n }\r\n } else if (resp.data && resp.data.Message) {\r\n vm.showFailure(\"Project Creation Status\", resp.data.Message);\r\n } else {\r\n vm.showFailure(\"Project Creation Status\", \"Unable to create project, server is not responding correctly.\");\r\n }\r\n vm.isDisabled = false;\r\n }, function (error) {\r\n $log.log(error);\r\n vm.isDisabled = false;\r\n var msg = 'Unable to create project, server is not responding correctly.';\r\n if (error.data && error.data.error_code == 1013) {\r\n msg = \"Project already exist with name \" + projectData.Name;\r\n } else if (error.data && error.data.Message) {\r\n msg = error.data.Message;\r\n }\r\n vm.showFailure(\"Project Creation Status\", msg);\r\n // toaster.pop({\r\n // type: 'error',\r\n // title: 'Project Creation Status ',\r\n // showCloseButton: true,\r\n // body: msg,\r\n // \"progressBar\": true,\r\n // \"preventDuplicates\": false,\r\n // \"showDuration\": \"400\",\r\n // \"hideDuration\": \"1000\",\r\n // \"tapToDismiss\": true,\r\n // \"timeout\": 2000,\r\n // positionClass: 'toast-top-full-width'\r\n // });\r\n });\r\n }\r\n }\r\n else {\r\n vm.project_form.submitted = true;\r\n }\r\n }\r\n function clearFormFields() {\r\n vm.ProjectName = '';\r\n vm.ProjectManager = '';\r\n vm.StartDate = '';\r\n vm.EndDate = '';\r\n vm.Customer = '';\r\n vm.ProjectDescription = '';\r\n vm.AvgTimeClose = '';\r\n vm.MeetingCustAppointment = '';\r\n vm.WithinDay = '';\r\n vm.Location = '';\r\n vm.POC = '';\r\n vm.Supervisor = '';\r\n vm.range = '';\r\n vm.price = '';\r\n }\r\n\r\n //adding more Poc section\r\n\r\n\r\n\r\n vm.demotag = [\r\n { text: 'Delhi' }\r\n // { text: 'Lucknow' }\r\n\r\n ];\r\n\r\n\r\n $scope.AddMainContactPopUp = function () {\r\n var mainModalInstance = $uibModal.open({\r\n templateUrl: 'Add_Main_Contact_modal.html',\r\n backdrop: true,\r\n controller: function ($scope, $log, $uibModalInstance) {\r\n $scope.SavePOCModal = function () {\r\n if ($scope.AddMainPOCSave_Form.$valid) {\r\n $scope.objMainPOCData = {};\r\n objMainPOCData = {\r\n \"FirstName\": $scope.mFirstName,\r\n \"LastName\": $scope.mLastName,\r\n \"Email\": $scope.mEmail,\r\n \"OtherMobile\": $scope.mOtherMobile,\r\n \"Mobile\": $scope.mMobile\r\n }\r\n //$log.log(objMainPOCData);\r\n vm.globalMainPOCData.push(objMainPOCData);\r\n // pocDataGlobal = objpocData;\r\n //$log.log(vm.globalMainPOCData);\r\n $uibModalInstance.close();\r\n // $rootScope.$broadcast('Saving_Template', {\r\n // });\r\n } else {\r\n $scope.AddMainPOCSave_Form.submitted = true;\r\n }\r\n }\r\n $scope.CloseModal = function () {\r\n $uibModalInstance.close();\r\n }\r\n\r\n },\r\n // controller: ModalInstanceCtrl,\r\n size: 'lg',\r\n\r\n });\r\n }\r\n\r\n\r\n $scope.AddContactPopUp = function () {\r\n var modalInstance = $uibModal.open({\r\n templateUrl: 'Add_Contact_modal.html',\r\n backdrop: true,\r\n controller: ModalInstanceCtrl,\r\n // resolve : {\r\n // pocData : function(){\r\n\r\n // return {customerId:vm.Customer};\r\n // }\r\n // },\r\n size: 'lg',\r\n\r\n });\r\n }\r\n\r\n var ModalInstanceCtrl = function ($scope, $rootScope, $uibModalInstance) {\r\n // console.log(pocData);\r\n // $scope.pocData = pocData;\r\n // pocDataGlobal=$scope.pocData;\r\n $scope.SavingTemplate = function () {\r\n if ($scope.AddPOCSave_Form.$valid) {\r\n $scope.objpocData = {};\r\n objpocData = {\r\n \"FirstName\": $scope.FirstName,\r\n \"LastName\": $scope.LastName,\r\n \"Email\": $scope.Email,\r\n \"OtherMobile\": $scope.OtherMobile,\r\n \"Mobile\": $scope.Mobile\r\n }\r\n //$log.log(objpocData);\r\n vm.pocDataGlobal.push(objpocData);\r\n // pocDataGlobal = objpocData;\r\n //$log.log(vm.pocDataGlobal);\r\n $uibModalInstance.close();\r\n // $rootScope.$broadcast('Saving_Template', {\r\n // });\r\n } else {\r\n $scope.AddPOCSave_Form.submitted = true;\r\n }\r\n }\r\n\r\n $scope.CloseModal = function () {\r\n $uibModalInstance.close();\r\n }\r\n }\r\n\r\n vm.getCircles = function (index) {\r\n var locations = [];\r\n angular.extend(locations, vm.circles);\r\n if (vm.LocationMapping == 'Project' || vm.LocationMapping == '' || vm.LocationMapping == null) {\r\n\r\n angular.forEach(vm.circles, function (d) {\r\n for (var i = 0; i < vm.POCList.length; i++) {\r\n if (i != index && d.circle == vm.POCList[i]['LocationOf_' + (i + 1)]) {\r\n locations.splice(locations.indexOf(d), 1);\r\n }\r\n }\r\n });\r\n } else if (vm.LocationMapping == 'Circle') {\r\n angular.forEach(vm.circles, function (d) {\r\n for (var i = 0; i < vm.POCList.length; i++) {\r\n if (i != index && d == vm.POCList[i]['LocationOf_' + (i + 1)]) {\r\n locations.splice(locations.indexOf(d), 1);\r\n }\r\n }\r\n });\r\n }\r\n\r\n return locations;\r\n }\r\n\r\n vm.geofencestatus = function () {\r\n if (vm.GeoFenceEnabled == false) {\r\n vm.range = 0;\r\n } else {\r\n vm.range = '';\r\n }\r\n console.log(vm.GeoFenceEnabled + ' ' + vm.range);\r\n }\r\n\r\n vm.addMorePoc = function () {\r\n var ele = {\r\n\r\n }\r\n vm.POCList.push(ele);\r\n }\r\n\r\n vm.GetAllCustomers();\r\n vm.getCountry();\r\n vm.GetAllSupervisors(role, loggedinUser);\r\n vm.GetAllProjectManagers(loggedinUser);\r\n }\r\n\r\n\r\n});\r\n\nangular.module('inspinia').service('ProjectDetailService', function(ApiURL, $log, $http){\r\n\r\n\r\n//http://115.124.122.225:93/CoreAPI/api/Ticket/sachin.rana%40innotiontech.com/Uttar%20Pradesh/Drive%20Test/GetByCircleProjectName\r\nthis.GetTicketByCircleProjectName = function(loggedinUser, circle, projectName, token){\r\n var url = ApiURL + '/api/Ticket/' + loggedinUser + '/' + circle + '/' + projectName + '/GetByCircleProjectName'\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json','Token':token, 'UserId':loggedinUser}\r\n });\r\n}\r\n\r\n\r\n//http://115.124.122.225:93/CoreAPI/api/ProjectLocation/sachin.rana%40innotiontech.com/tata_Drive%20Test/GetProjectLocationByProjectId\r\n\r\nthis.GetLocationByProjectId = function(loggedinUser,projectId, token){\r\n var url = ApiURL + '/api/ProjectLocation/' + loggedinUser + '/' + projectId + '/GetProjectLocationByProjectId'\r\n return $http.get(url,{\r\n headers: {'Content-Type': 'application/json','Token':token, 'UserId':loggedinUser}\r\n })\r\n}\r\n\r\n\r\n\r\n});\nangular.module('inspinia').controller('ProjectDetailController', function ($stateParams, $uibModal, $scope, $log, $state, $localStorage, ProjectDetailService, ProjectService, DTOptionsBuilder, DTColumnDefBuilder) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n if (!loggedinUser) {\r\n $state.go('Login',{\r\n reload:true\r\n });\r\n }else{\r\n vm.ProjectId = $stateParams.projectId;\r\n vm.pocLocation = $stateParams.pocLocation;\r\n vm.projectName = $stateParams.projectName;\r\n vm.pocName = $stateParams.pocName;\r\n vm.pocNumber = $stateParams.pocNumber;\r\n vm.circleTicketList = '';\r\n vm.ticketCircle = vm.pocLocation;\r\n vm.projectModel = '';\r\n vm.selectedLocation = '';\r\n vm.circle = '';\r\n\r\n vm.editProject = function (projectId) {\r\n $state.go('index.ProjectEdit', {\r\n projectId: projectId\r\n });\r\n }\r\n\r\n\r\n vm.exportData = function () {\r\n var blob = new Blob([document.getElementById('job-Table').innerHTML], {\r\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\r\n });\r\n saveAs(blob, \"Report.xls\");\r\n };\r\n\r\n // vm.GetProjectById = function(ProjectId){\r\n // ProjectService.GetProjectByProjectId(loggedinUser,ProjectId).then(function(resp)\r\n // {\r\n // vm.projectModel = resp.data;\r\n // },function(error){\r\n // //$log.log('error occured in GetProjectById');\r\n // });\r\n // }\r\n\r\n vm.GetProjectLocations = function () {\r\n ProjectService.GetProjectLocations(loggedinUser, vm.ProjectId, vm.pocLocation, token).then(function (resp) {\r\n vm.projectModel = resp.data;\r\n }, function (error) {\r\n //$log.log('error occured in GetProjectLocations');\r\n })\r\n }\r\n\r\n vm.GetProjectLocationsByProjectId = function (projectId, circle) {\r\n ProjectService.GetProjectLocations(loggedinUser, projectId, circle, token).then(function (resp) {\r\n vm.GetTicketsByLocations(circle);\r\n vm.projectModel = resp.data;\r\n }, function (error) {\r\n //$log.log('error occured in GetProjectLocations');\r\n })\r\n }\r\n\r\n\r\n\r\n vm.GetLocationByProjectId = function () {\r\n ProjectDetailService.GetLocationByProjectId(loggedinUser, vm.ProjectId, token).then(function (resp) {\r\n vm.selectedLocation = resp.data;\r\n }, function (error) {\r\n //$log.log('error occured in GetProjectLocations');\r\n })\r\n }\r\n vm.GetTicketByCircleProjectName = function () {\r\n ProjectDetailService.GetTicketByCircleProjectName(loggedinUser, vm.ticketCircle, vm.projectName, token).then(function (resp) {\r\n vm.circleTicketList = resp.data;\r\n }, function (error) {\r\n //$log.log('error occured in GetTicketByCircleProjectId');\r\n })\r\n }\r\n\r\n vm.GetTicketsByLocations = function (circle) {\r\n ProjectDetailService.GetTicketByCircleProjectName(loggedinUser, circle, vm.projectName, token).then(function (resp) {\r\n vm.circleTicketList = resp.data;\r\n if (vm.circleTicketList == null) {\r\n vm.circleTicketList = '';\r\n }\r\n }, function (error) {\r\n vm.circleTicketList = '';\r\n //$log.log('error occured in GetTicketsByLocations');\r\n })\r\n }\r\n\r\n\r\n // var prev=0;\r\n // vm.dtOptions = DTOptionsBuilder.newOptions()\r\n // .withDOM('<\"html5buttons\"B>lTfrgitp')\r\n // .withButtons([{ extend: 'colvis' }, { extend: 'csv', filename: function () { return vm.getFileNameExport() } }])\r\n // // .withButtons([{extend:'csv'}])\r\n // .withOption('stateSave', true)\r\n // .withOption('deferRender', true)\r\n // .withOption('stateSaveCallback', function (settings, data) {\r\n // localStorage.setItem('JoblistTableProp', JSON.stringify(data));\r\n // })\r\n // .withOption('stateLoadCallback', function (settings) {\r\n\r\n vm.dtOptions = DTOptionsBuilder.newOptions().withDOM(\r\n '<\"html5buttons\"B>lTfgitp')\r\n .withButtons([{extend:'csv'}])\r\n \r\n .withPaginationType(\r\n 'full_numbers').withOption('lengthChange', false)\r\n // .withOption('initComplete', function () {\r\n // $('.dataTables_filter input').unbind();\r\n // })\r\n // .withOption('order', [1, 'desc']);\r\n\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(7).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(8).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(9).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(10).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(11).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(12).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(13).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(14).notSortable()\r\n ];\r\n\r\n vm.GetProjectLocations();\r\n vm.GetLocationByProjectId();\r\n vm.GetTicketByCircleProjectName();\r\n\r\n }\r\n \r\n\r\n});\nangular.module('inspinia').service('ProjectLatestService', function (ApiURL, $log, $http, $localStorage) {\r\n\r\n var vm = this;\r\n\r\n vm.setShowSuccess = function (success) {\r\n vm.showSuccess = success;\r\n }\r\n\r\n vm.setShowFailure = function (failure) {\r\n vm.showFailure = failure;\r\n }\r\n\r\n //http://115.124.122.225:93/CoreAPI/api/Project/srachit46%40gmail.com/srachit46%40gmail.com/GetProjectsByUserId\r\n\r\n this.GetAllProjects1 = function (loggedinUser, callback, token) {\r\n var url = ApiURL + '/api/Project/' + loggedinUser + '/' + loggedinUser + '/GetProjectsByUserId'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json','Token':token,'UserId':loggedinUser }\r\n }).then(function (res) {\r\n callback(res.data);\r\n }, function () {\r\n vm.showFailure(\"Projects\", \"Unable to get projects\");\r\n });\r\n }\r\n\r\n this.GetAllProjects = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/Project/' + loggedinUser + '/' + loggedinUser + '/GetProjectsByUserId'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json','Token':token }\r\n })\r\n }\r\n\r\n\r\n //http://115.124.122.225:93/CoreAPI/api/Project/srachit46%40gmail.com/tata_Test%20Project/GetProjectById\r\n\r\n this.GetProjectByProjectId = function (projectId, loggedinUser, token, callback) {\r\n var url = ApiURL + '/api/Project/' + loggedinUser + '/' + projectId + '/GetProjectById'\r\n return $http.get(url, {\r\n\r\n headers: { 'Content-Type': 'application/json' ,'Token':token,'UserId':loggedinUser}\r\n }).then(function (resp) {\r\n callback(resp.data);\r\n }, function (error) {\r\n vm.showFailure(\"Failed\", 'Could not be able to get project, id =' + projectId);\r\n });\r\n }\r\n\r\n\r\n\r\n this.ProjectsList = function () {\r\n var url = ApiURL;\r\n return $http.get(url);\r\n }\r\n //http://115.124.122.225:93/CoreAPI/api/ProjectLocation/sachin.rana%40innotiontech.com/tata_Drive%20Test/Tamilnadu/GetProjectLocation\r\n this.GetProjectLocations = function (loggedinUser, projectId, circle, token) {\r\n var url = ApiURL + '/api/ProjectLocation/' + loggedinUser + '/' + projectId + '/' + circle + '/GetProjectLocation'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json','Token':token }\r\n });\r\n }\r\n\r\n});\r\n\nangular.module('inspinia').controller('ProjectLatestController', function (ProjectLatestService, ProjectCreationService, customerService, $stateParams, $uibModal, $scope, $log, $state, $localStorage, DTOptionsBuilder, DTColumnDefBuilder) {\r\n var vm = this;\r\n if (!$localStorage.loggedInUserId) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n } else {\r\n vm.CustomDateformat = $localStorage.CustomDateformat;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n vm.searchText = \"\"\r\n var circleArray = [];\r\n var ProjectModal = {};\r\n vm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n var projectIndex = 0;\r\n //vm.projectId = '';\r\n vm.projects = [];\r\n vm.client = 1;\r\n vm.projectId = '';\r\n vm.project_name = '';\r\n vm.customerId = '';\r\n vm.circle = '';\r\n vm.start_date = '';\r\n vm.end_date = '';\r\n vm.sla = '';\r\n vm.projectModel = '';\r\n vm.pocLocation = '';\r\n vm.SupervisorName = '';\r\n vm.pocNumber = '';\r\n vm.pocName = '';\r\n vm.projectLocations = '';\r\n vm.projectName = '';\r\n vm.filters = {};\r\n vm.filterOptions = {};\r\n vm.selectedFilters = {};\r\n vm.dtInstance = {};\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n ProjectLatestService.setShowSuccess($scope.$parent.$parent.main.showSuccess);\r\n ProjectLatestService.setShowFailure($scope.$parent.$parent.main.showFailure);\r\n $scope.$parent.$parent.main.implementSelectItems('projects', this);\r\n\r\n vm.exportData = function () {\r\n var blob = new Blob([document.getElementById('project-table').innerHTML], {\r\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\r\n });\r\n saveAs(blob, \"Report.xls\");\r\n };\r\n\r\n vm.preProcessData = function(project){\r\n var skills = \"\";\r\n angular.forEach(project.ProjectLocationModels, function(l){\r\n skills += l.Circle + \",\";\r\n }); \r\n project.allLocations = skills.length>0?skills.substring(0, skills.length-1):\"\";\r\n }\r\n\r\n ///Get all Project for Logged in Users\r\n vm.GetAllProjects = function () {\r\n vm.projects = [];\r\n ProjectLatestService.GetAllProjects1(loggedinUser, vm.createCallback(vm.projects, [function () {\r\n vm.list_width = vm.projects.length == 0 ? 12 : 8;\r\n vm.projectModel = vm.projects[0];\r\n angular.forEach(vm.projects, function(p){\r\n vm.preProcessData(p);\r\n });\r\n }]), token);\r\n }\r\n\r\n vm.GetProjectInfo = function (projectId) {\r\n ProjectLatestService.GetProjectByProjectId(projectId, loggedinUser, token, vm.createCallback(null, [function (data) {\r\n vm.projectModel = data;\r\n \r\n }]));\r\n }\r\n\r\n vm.openProjectModal = function () {\r\n ProjectModal = $uibModal.open({\r\n templateUrl: 'approve_model.html',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.CloseModal = function () {\r\n ProjectModal.close();\r\n }\r\n\r\n vm.ProjectView = function () {\r\n $state.go('index.ProjectProfile', {\r\n\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.editProject = function (projectId) {\r\n $state.go('index.ProjectEditLatest', {\r\n projectId: projectId\r\n });\r\n }\r\n\r\n\r\n vm.ViewProject = function (pocLocation, projectId, projectName) {\r\n $state.go('index.Project_Details_Latest', {\r\n pocLocation: pocLocation,\r\n projectId: projectId,\r\n projectName: projectName\r\n // SupervisorName:SupervisorName,\r\n // pocNumber:pocNumber,\r\n // pocName:pocName\r\n },\r\n {\r\n reload: true,\r\n inherit: false,\r\n notify: true\r\n\r\n });\r\n }\r\n\r\n vm.getAllCustomer = function (loggedinUser) {\r\n customerService.getAllCustomers(loggedinUser, token).then(function (resp) {\r\n vm.customers = resp.data;\r\n });\r\n }\r\n\r\n vm.filtermodal = function () {\r\n ProjectModal = $uibModal.open({\r\n templateUrl: 'Filter.html',\r\n backdrop: 'static',\r\n\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.CloseModal = function () {\r\n ProjectModal.close();\r\n }\r\n\r\n vm.getAllCircles = function () {\r\n vm.circleArray=[];\r\n vm.circles=[];\r\n ProjectCreationService.GetAllCircles1(vm.createCallback(vm.circles, [function (data) {\r\n angular.forEach(data, function (d) {\r\n vm.circleArray.push({\r\n workArea: d.circle\r\n });\r\n })\r\n //$log.log(vm.circleArray, vm.circles);\r\n }]));\r\n }\r\n\r\n vm.search = function () {\r\n \r\n if (Object.keys(vm.filters).length > 0) {\r\n vm.filterOptions = {};\r\n angular.extend(vm.filterOptions, vm.filters);\r\n if(vm.filters.workArea){\r\n vm.filterOptions.ProjectLocationModels = {};\r\n vm.filterOptions.ProjectLocationModels.Circle = vm.filters.workArea[0];\r\n }\r\n } else {\r\n vm.filterOptions = {};\r\n }\r\n //$log.log(vm.filterOptions);\r\n ProjectModal.close();\r\n }\r\n\r\n vm.GetAllProjects();\r\n // vm.getAllCircles();\r\n vm.getAllCustomer(loggedinUser);\r\n\r\n vm.searchTable = function () {\r\n vm.dtInstance.DataTable.search(vm.searchText);\r\n vm.dtInstance.DataTable.search(vm.searchText).draw();\r\n };\r\n vm.editProject = function (projectId) {\r\n $state.go('index.ProjectEditLatest', {\r\n projectId: projectId\r\n });\r\n }\r\n\r\n vm.dtOptions = DTOptionsBuilder.newOptions()\r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withButtons([{extend:'colvis'},{extend:'csv'}])\r\n \r\n \r\n .withPaginationType('full_numbers')\r\n .withOption('lengthChange', true)\r\n .withOption('paging', true)\r\n .withOption('bInfo',true)\r\n .withOption('order', [0, 'desc']);\r\n \r\n\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0),\r\n //DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2),\r\n DTColumnDefBuilder.newColumnDef(3),\r\n DTColumnDefBuilder.newColumnDef(4),\r\n DTColumnDefBuilder.newColumnDef(5)];\r\n }\r\n\r\n vm.PieChart5 = {\r\n data: [226, 134],\r\n options: {\r\n fill: [\"#1ab394\", \"#d7d7d7\"]\r\n }\r\n};\r\n\r\n});\nangular.module('inspinia').service('ProjectCreationService', function (ApiURL, LocationURL, $log, $http, $localStorage,PublicApiURL) {\r\n\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n vm = this;\r\n\r\n vm.setShowSuccess = function (success) {\r\n vm.showSuccess = success;\r\n }\r\n\r\n vm.setShowFailure = function (failure) {\r\n vm.showFailure = failure;\r\n }\r\n this.CreateProject = function (projectFormData,loggedinUser, token) {\r\n var url = ApiURL + '/api/Project?reqUserId=' + loggedinUser;\r\n return $http.post(url, projectFormData, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':loggedinUser}});\r\n }\r\n\r\n this.UpdateProject = function (projectFormData,loggedinUser, token) {\r\n var url = ApiURL + '/api/Project?reqUserId=' + loggedinUser;\r\n return $http.put(url, projectFormData, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':loggedinUser}});\r\n }\r\n\r\n this.GetAllCustomers = function (loggedinUser, token){\r\n var url = ApiURL + '/api/Customer?reqUserId=' + loggedinUser;\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token, 'UserId':loggedinUser}\r\n });\r\n }\r\n\r\n this.GetAllCircles = function(loggedinUser){\r\n var url = LocationURL + '/api/Location/' + loggedinUser + '/GetAllCircles'\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json'}\r\n });\r\n }\r\n\r\n this.GetAllCircles1 = function(callback){\r\n var url = LocationURL + '/api/Location/' + loggedinUser + '/GetAllCircles'\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json'}\r\n }).then(function(resp){\r\n if(callback){\r\n callback(resp.data);\r\n }\r\n }, function(){\r\n vm.showFailure(\"Circles\", \"Unable to get cirlces\");\r\n });\r\n }\r\n \r\n this.GetTelecomCircle = function(loggedInUserId, token){\r\n var url = PublicApiURL + '/api/Location/GetTelecomCircles?userId='+ loggedInUserId;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n\r\n this.GetPointofContacts = function(loggedinUser,customerId, token)\r\n {\r\n var url = ApiURL + '/api/CustomerContact/' + loggedinUser + '/' + customerId + '/GetCustomerContactsByCustomerId'\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token, 'UserId':loggedinUser}\r\n });\r\n }\r\n\r\n this.GetAllSupervisors = function(role,loggedinUser, token){\r\n var url = ApiURL + '/api/User/'+role+ '/' + \"UserStatus\"+ '/'+ \"Active\" +'/byRole?reqUserId=' + loggedinUser;\r\n return $http.get(url,{\r\n headers:{'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':loggedinUser}\r\n }); \r\n }\r\n\r\n //https://db.mymobiforce.com/publicapi/api/Address/GetCountry?userId=U420000000001\r\n this.getCountry = function (userId,token) {\r\n var url = PublicApiURL + '/api/Address/GetCountry?userId=' + userId;\r\n return $http.get(url, {\r\n headers:{'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':userId}\r\n //params: {}\r\n });\r\n }\r\n\r\n //https://db.mymobiforce.com/publicapi/api/Address/GetStates?userId=U420000000001&country=QATAR\r\n this.getStates = function (userId,token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url, {\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token, 'UserId':userId}\r\n });\r\n }\r\n\r\n\r\n //https://db.mymobiforce.com/publicapi/api/Address/GetCities?userId=U420000000001&state=DOHA\r\n this.getCities = function (userId, state,token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+state;\r\n return $http.get(url, {\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token, 'UserId':userId}\r\n });\r\n }\r\n\r\n this.GetProjectByProjectId = function (loggedinUser,projectId, token) {\r\n var url = ApiURL + '/api/Project/' + loggedinUser + '/' + projectId + '/GetProjectById'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':loggedinUser }\r\n });\r\n }\r\n\r\n // https://perf.mymobiforce.com/coreapi/api/SkillSets?reqUserId=U400000000001\r\n this.getAllSkills = function(loggedinUser, token, success, failure){\r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url, {headers: {'Token': token, 'UserId':loggedinUser}}).then(function(res){\r\n if(res && res.status == 200 && res.data){\r\n success(res.data);\r\n }\r\n }, function(err){\r\n failure(\"Failed\", \"Unable to get skill list, server error.\")\r\n })\r\n }\r\n\r\n // https://perf.mymobiforce.com/coreapi/api/MasterSelectionCriteria/GetAllMaster?UserId=U400000000001\r\n // https://perf.mymobiforce.com/coreapi/api/MasterSelectionCriteria/GetAll?UserId=U400000000001\r\n this.GetAllSchedulingRule = function(loginUser, token){\r\n // var url = ApiURL + '/api/MasterSelectionCriteria/GetAllMaster?UserId='+loginUser;\r\n var url = ApiURL + '/api/MasterSelectionCriteria/GetAll?UserId=' + loginUser;\r\n return $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token':token, 'UserId':loginUser }\r\n });\r\n }\r\n\r\n\r\n\r\n \r\n});\nangular.module('inspinia').controller('ProjectCreationController', function ($scope, $state, DTOptionsBuilder, DTColumnBuilder, $q, $compile, $stateParams, $timeout, $log, $uibModal, ProjectCreationService, $localStorage, $filter, toaster) {\r\n\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n } else {\r\n vm.loggedinUserRole = $localStorage.loggedInUser_Role;\r\n var projectId = '';\r\n vm.IsPCLink = $localStorage.accountConfig.IsPCLink;\r\n vm.managerId = '';\r\n var projectId_ForUpdate = $stateParams.projectId;\r\n vm.allcustomers = '';\r\n vm.editMode = false;\r\n vm.FixedBidPrice = false;\r\n vm.DynamicPricing = false;\r\n vm.IsCustomerAppointmentNeeded = false;\r\n vm.IsQuickResolveTicketsEnable = true;\r\n vm.IsHappyCodeEnabled = false;\r\n vm.IsOnSiteReportEnabled = false;\r\n vm.IsSpareShipmentEnabled = false;\r\n vm.GeoFenceEnabled = false;\r\n vm.avg_time_close = true;\r\n vm.range = 0;\r\n // vm.PriceBid = 'ON';\r\n var role = 'Supervisor';\r\n /// for declaration\r\n vm.ProjectName = '';\r\n vm.saveAndNewFlag = false;\r\n vm.isDisabled = false;\r\n vm.ProjectManager = '';\r\n vm.StartDate = moment();\r\n vm.EndDate = moment();\r\n vm.Customer = '';\r\n vm.ProjectDescription = '';\r\n vm.AvgTimeClose = '';\r\n vm.MeetingCustAppointment = '';\r\n vm.WithinDay = '';\r\n vm.Circle = '';\r\n vm.POC = '';\r\n vm.Supervisor = '';\r\n vm.mFirstName = '';\r\n vm.mLastName = '';\r\n vm.mMobile = '';\r\n vm.mOtherMobile = '';\r\n vm.mEmail = '';\r\n vm.Projects = [];\r\n vm.pocId = '';\r\n vm.Policies = [];\r\n vm.pocDataGlobal = [];\r\n vm.POCList = [];\r\n vm.CircleList = [];\r\n vm.tcircle = '';\r\n vm.globalMainPOCData = [];\r\n vm.projectManagerList = '';\r\n vm.price = '';\r\n vm.circleArray = '';\r\n vm.Skill = '';\r\n vm.AllSchedulingRuleList = [];\r\n vm.RemaningSkillSet = [];\r\n vm.AllSkillList = [];\r\n vm.showSchedulingTable = false;\r\n vm.ScheduleingRuleSkill = [];\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n vm.LocationMapping = vm.getAccountConfigSetting('LocationMapping');\r\n ProjectCreationService.setShowSuccess($scope.$parent.$parent.main.showSuccess);\r\n ProjectCreationService.setShowFailure($scope.$parent.$parent.main.showFailure);\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.CurrencySetting = $localStorage.accountConfig.CurrencySetting;\r\n vm.showLocation = false;\r\n if(vm.IsPCLink){\r\n vm.showLocation = true;\r\n }\r\n\r\n if ($state.current.name == 'index.ProjectCreation') {\r\n var POC_1 = {\r\n LocationOf_1: '',\r\n POCOf_1: '',\r\n SupervisorOf_1: '',\r\n CustomerOf_1: ''\r\n };\r\n vm.POCList.push(POC_1);\r\n }\r\n\r\n vm.removePoc = function () {\r\n var lastpoc = vm.POCList.length - 1;\r\n vm.POCList.splice(lastpoc);\r\n }\r\n \r\n //For ProjectEdit Mode\r\n if ($state.current.name == 'index.ProjectEdit') {\r\n vm.editMode = true;\r\n ProjectCreationService.GetProjectByProjectId(loggedinUser, projectId_ForUpdate, token).then(function (resp) {\r\n var projectData = resp.data;\r\n // vm.skillrulemap = projectData.ProjectSkillRulesMap;\r\n vm.ScheduleingRuleSkill = Object.keys(projectData.ProjectSkillRulesMap);\r\n vm.AllSchedulingRuleList = Object.values(projectData.ProjectSkillRulesMap);\r\n var ruleIdList =[];\r\n for(var i = 0 ; i < vm.AllSchedulingRuleList.length; i++){\r\n var temp = [];\r\n for( var j = 0; j< vm.AllSchedulingRuleList[i].length; j++){\r\n if(vm.AllSchedulingRuleList[i][j].IsEnable){\r\n temp.push(vm.AllSchedulingRuleList[i][j].RuleId);\r\n }\r\n }\r\n ruleIdList.push(temp);\r\n }\r\n \r\n for(var map = 0 ; map < ruleIdList.length; map++){\r\n vm.skillrulemap[vm.ScheduleingRuleSkill[map]] = ruleIdList[map];\r\n }\r\n console.log(vm.skillrulemap);\r\n ProjectCreationService.getAllSkills(loggedinUser, token, function (data) {\r\n vm.AllSkillSets = data;\r\n vm.RemaningSkillSet[0] = vm.AllSkillSets.slice(); \r\n for(var index = 0; index< vm.ScheduleingRuleSkill.length; index++){\r\n if(index > 0){\r\n vm.addMoreSkill(index-1);\r\n }\r\n vm.renderRuleTable(vm.ScheduleingRuleSkill[index], vm.AllSchedulingRuleList[index], index);\r\n }\r\n\r\n vm.GetPointofContacts(projectData.CustomerId);\r\n vm.ProjectName = projectData.Name;\r\n vm.managerId = projectData.Manager;\r\n vm.StartDate = moment(projectData.StartDate, 'YYYY-MM-DDTHH:mm:ss.SSSZ').format('YYYY-MM-DD');\r\n vm.EndDate = moment(projectData.EndDate, 'YYYY-MM-DDTHH:mm:ss.SSSZ').format('YYYY-MM-DD');\r\n // vm.StartDate = $filter('date')(new Date(projectData.StartDate),\"dd/MM/yyyy\");\r\n // vm.EndDate = $filter('date')(new Date(projectData.EndDate),\"dd/MM/yyyy\");\r\n vm.Customer = projectData.CustomerId;\r\n vm.JobDuration = projectData.JobDuration;\r\n vm.ProjectDescription = projectData.Description;\r\n if(projectData.CustomerContactResponseModel)\r\n {\r\n vm.pocId = projectData.CustomerContactResponseModel.DocId; \r\n }\r\n vm.AvgTimeClose = parseInt(projectData.SlaModel.Policies[0]);\r\n vm.MeetingCustAppointment = projectData.SlaModel.Policies[1];\r\n vm.WithinDay = parseInt(projectData.SlaModel.Policies[2]);\r\n vm.range = projectData.GetFenceRange; \r\n vm.price = parseFloat(projectData.JobRate);\r\n vm.GeoFenceEnabled = projectData.GeoFenceEnabled;\r\n vm.FixedBidPrice = projectData.FixedBidPrice;\r\n vm.DynamicPricing = projectData.DynamicPricing;\r\n vm.IsCustomerAppointmentNeeded = projectData.IsCustomerAppointmentNeeded;\r\n vm.IsQuickResolveTicketsEnable = projectData.IsQuickResolveTicketsEnable;\r\n vm.IsHappyCodeEnabled = projectData.IsHappyCodeEnabled;\r\n vm.IsOnSiteReportEnabled = projectData.IsOnSiteReportEnabled;\r\n vm.IsSpareShipmentEnabled = projectData.IsSpareShipmentEnabled;\r\n // vm.ScheduleingRuleSkill = projectData.ProjectSkillRules;\r\n for (var projectLocationIndex = 0; projectLocationIndex < projectData.ProjectLocationModels.length; projectLocationIndex++) {\r\n var listPoc = {}\r\n listPoc['PlId'] = projectData.ProjectLocationModels[projectLocationIndex].PlId;\r\n listPoc['LocationOf_' + (projectLocationIndex + 1)] = projectData.ProjectLocationModels[projectLocationIndex].Circle;\r\n listPoc['SupervisorOf_' + (projectLocationIndex + 1)] = projectData.ProjectLocationModels[projectLocationIndex].SupervisorId;\r\n listPoc['POCOf_' + (projectLocationIndex + 1)] = projectData.ProjectLocationModels[projectLocationIndex].CustomerContactRequestModelId;\r\n vm.POCList.push(listPoc);\r\n }\r\n //$log.log('POCList',vm.POCList);\r\n \r\n if(vm.POCList.length <= 0){\r\n var POC_1 = {\r\n LocationOf_1: '',\r\n POCOf_1: '',\r\n SupervisorOf_1: '',\r\n CustomerOf_1: ''\r\n };\r\n vm.POCList.push(POC_1);\r\n }\r\n\r\n }); \r\n });\r\n }\r\n\r\n vm.GetAllCustomers = function () {\r\n ProjectCreationService.GetAllCustomers(loggedinUser, token).then(function (resp) {\r\n vm.allcustomers = resp.data;\r\n }, function (error) {\r\n //$log.log('error occured');\r\n })\r\n }\r\n\r\n vm.selectedCountry = null;\r\n //get country of user\r\n vm.getCountry = function () {\r\n ProjectCreationService.getCountry(loggedinUser,token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.values.length > 0) {\r\n vm.countrylist = resp.data.values;\r\n vm.selectedCountry = vm.countrylist[0];\r\n vm.GetAllCircles(loggedinUser);\r\n }\r\n }\r\n })\r\n }\r\n\r\n\r\n vm.GetAllCircles = function () {\r\n vm.circles = [];\r\n if (vm.LocationMapping == 'Project' || vm.LocationMapping == '' || vm.LocationMapping == null) {\r\n ProjectCreationService.getStates(loggedinUser,token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length > 0) {\r\n vm.circles = resp.data;\r\n\r\n }\r\n }\r\n });\r\n\r\n /* ProjectCreationService.GetAllCircles1(vm.createCallback(vm.circles, [function (data) {\r\n angular.forEach(data, function (d) {\r\n vm.CircleList.push({\r\n circle: d.circle\r\n });\r\n })\r\n //$log.log(vm.circleArray);\r\n }]));*/\r\n } else if (vm.VerticalName == 'Circle') {\r\n ProjectCreationService.GetTelecomCircle(loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.values.length > 0) {\r\n vm.circles = resp.data.values;\r\n\r\n }\r\n }\r\n })\r\n }\r\n\r\n\r\n }\r\n\r\n vm.GetPointofContacts = function (customerId) {\r\n ProjectCreationService.GetPointofContacts(loggedinUser, customerId, token).then(function (resp) {\r\n vm.onSelectPoc = resp.data;\r\n }, function (error) {\r\n //$log.log('error occured');\r\n })\r\n }\r\n\r\n vm.GetAllSupervisors = function (role, loggedinUser) {\r\n ProjectCreationService.GetAllSupervisors(role, loggedinUser, token).then(function (resp) {\r\n vm.supervisorList = resp.data;\r\n }, function (error) {\r\n //$log.log('error Occured');\r\n })\r\n }\r\n\r\n vm.GetAllProjectManagers = function (loggedinUser) {\r\n ProjectCreationService.GetAllSupervisors('Project Manager', loggedinUser, token).then(function (resp) {\r\n vm.projectManagerList = resp.data;\r\n //$log.log(\"vm.projectManagerList\", vm.projectManagerList);\r\n }, function (error) {\r\n //$log.log('error Occured');\r\n })\r\n }\r\n\r\n $scope.pocData = {\r\n \"FirstName\": vm.FirstName,\r\n \"LastName\": vm.LastName,\r\n \"Mobile\": vm.Mobile,\r\n \"OtherMobile\": vm.OtherMobile,\r\n \"Email\": vm.Email,\r\n \"CustomerId\": vm.Customer,\r\n \"Projects\": [\r\n \"\"\r\n ]\r\n }\r\n\r\n vm.getSkillSets = function () {\r\n ProjectCreationService.getAllSkills(loggedinUser, token, function (data) {\r\n vm.AllSkillSets = data;\r\n vm.RemaningSkillSet[0] = vm.AllSkillSets.slice(); \r\n // console.log(vm.AllSkillSets);\r\n }, vm.showFailure);\r\n }\r\n vm.getSkillSets();\r\n\r\n vm.getRemainingSkillSets = function (index) {\r\n vm.RemaningSkillSet[index] = vm.RemaningSkillSet[index-1].slice();\r\n if ($state.current.name == 'index.ProjectEdit') {\r\n var removeLastSkill = vm.ScheduleingRuleSkill[index-1];\r\n }\r\n else{\r\n var removeLastSkill = vm.ScheduleingRuleSkill[vm.ScheduleingRuleSkill.length-1];\r\n }\r\n for (var i = 0; i < vm.RemaningSkillSet[index].length; i++) { \r\n if (vm.RemaningSkillSet[index][i].SkillName == removeLastSkill) {\r\n vm.RemaningSkillSet[index].splice(i, 1); \r\n }\r\n }\r\n }\r\n\r\n \r\n vm.dtInstance = [];\r\n vm.dtOptions = [];\r\n vm.dtColumns = [];\r\n vm.selected = [];\r\n \r\n vm.selectedRulesList = [];\r\n vm.selectedSkill = '';\r\n vm.skillrulemap = {};\r\n\r\n vm.EnableRuleTable = function (skill, index) {\r\n if (skill) {\r\n vm.selectedSkill = skill;\r\n vm.showSchedulingTable = true;\r\n vm.getAllSchedulingRule(index);\r\n }\r\n }\r\n\r\n vm.renderRuleTable = function(skill, rule,index){\r\n vm.showSchedulingTable = true;\r\n vm.AllSchedulingRuleList[index] = rule;\r\n if (vm.AllSchedulingRuleList[index]) {\r\n vm.CreateTable(index);\r\n }\r\n }\r\n\r\n vm.getAllSchedulingRule = function (index) {\r\n ProjectCreationService.GetAllSchedulingRule(loggedinUser, token).then(function (resp) {\r\n vm.AllSchedulingRuleList[index] = resp.data;\r\n if (vm.AllSchedulingRuleList[index]) {\r\n vm.CreateTable(index);\r\n }\r\n\r\n })\r\n }\r\n\r\n\r\n\r\n vm.CreateTable = function (index) {\r\n\r\n vm.headerCompiled = false;\r\n vm.dtInstance[index] = {};\r\n vm.selected[index] = {};\r\n vm.selectAll = false;\r\n vm.toggleAll = toggleAll;\r\n vm.toggleOne = toggleOne;\r\n // var titleHtml = '
';\r\n\r\n vm.dtOptions[index] = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n defer.resolve(vm.AllSchedulingRuleList[index]);\r\n return defer.promise;\r\n })\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withBootstrap()\r\n .withOption('createdRow', function (row, data, dataIndex) {\r\n $compile(angular.element(row).contents())($scope);\r\n })\r\n .withOption('headerCallback', function (header) {\r\n if (!vm.headerCompiled) {\r\n // Use this headerCompiled field to only compile header once\r\n vm.headerCompiled = true;\r\n $compile(angular.element(header).contents())($scope);\r\n }\r\n });\r\n\r\n\r\n vm.dtColumns[index] = [\r\n DTColumnBuilder.newColumn(null).withTitle(null).renderWith(function (data, type, full, meta) {\r\n vm.selected[index][meta.row] = data.IsEnable;\r\n return '
';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn('RuleId').withTitle('Rule Id').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn('RuleType').withTitle('Rule Type').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn('Description').withTitle('Role Description').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n }).notSortable()\r\n\r\n\r\n ];\r\n\r\n function toggleAll(selectAll, selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n selectedItems[id] = selectAll;\r\n }\r\n }\r\n }\r\n\r\n function toggleOne(selectedItems, index) {\r\n var tempRuleIdList = [];\r\n for (var id in selectedItems[index]) {\r\n if (selectedItems[index].hasOwnProperty(id)) {\r\n vm.AllSchedulingRuleList[index][id].IsEnable = selectedItems[index][id];\r\n if (vm.AllSchedulingRuleList[index][id].IsEnable) {\r\n tempRuleIdList.push(vm.AllSchedulingRuleList[index][id].RuleId);\r\n }\r\n }\r\n }\r\n vm.skillrulemap[vm.ScheduleingRuleSkill[index]] = tempRuleIdList;\r\n vm.selectAll = true;\r\n }\r\n\r\n\r\n }\r\n\r\n vm.tempSkillList = [];\r\n var skill = {}\r\n vm.tempSkillList.push(skill);\r\n\r\n vm.addMoreSkill = function (index) {\r\n var temp = {}\r\n vm.getRemainingSkillSets(index+1);\r\n vm.tempSkillList.push(temp); \r\n }\r\n\r\n vm.addMoreSkillByUser = function (index) {\r\n var temp = {}\r\n vm.getRemainingSkillSets(index+1);\r\n vm.tempSkillList.push(temp); \r\n vm.EnableRuleTable(vm.RemaningSkillSet[index][0].SkillName, index); \r\n }\r\n\r\n vm.removeSkill = function (index) { \r\n var removeSkillObject = ''; \r\n var removedSkill = vm.ScheduleingRuleSkill[index];\r\n for(var pos = 0 ; pos < vm.RemaningSkillSet.length; pos++){\r\n for(var posi = 0; posi < vm.RemaningSkillSet[pos].length;posi ++){\r\n if(vm.RemaningSkillSet[pos][posi].SkillName == removedSkill){\r\n removeSkillObject = vm.RemaningSkillSet[pos][posi];\r\n }\r\n }\r\n \r\n }\r\n\r\n //vm.RemaningSkillSet.splice(index,1);\r\n\r\n for(var i=index+1; i < vm.RemaningSkillSet.length;i++)\r\n {\r\n vm.RemaningSkillSet[i].push(removeSkillObject);\r\n }\r\n vm.RemaningSkillSet.splice(index,1);\r\n vm.AllSchedulingRuleList.splice(index,1);\r\n vm.ScheduleingRuleSkill.splice(index,1);\r\n vm.dtOptions.splice(index,1);\r\n vm.dtColumns.splice(index,1);\r\n vm.dtInstance.splice(index,1);\r\n vm.tempSkillList.splice(index, 1);\r\n var key = Object.keys(vm.skillrulemap)[index];\r\n delete vm.skillrulemap[key];\r\n\r\n // vm.getSkillSets();\r\n \r\n }\r\n\r\n\r\n //model to send Project Creation\r\n vm.saveProject = function () {\r\n \r\n if (vm.loggedinUserRole == 'Project Manager') {\r\n vm.managerId = loggedinUser;\r\n }\r\n var locationContactModel = [];\r\n // var CustomerContactRequestModel = [];\r\n for (var custIndex = 0; custIndex < vm.POCList.length; custIndex++) {\r\n\r\n if (!vm.POCList[custIndex]['LocationOf_' + (custIndex + 1)] && !vm.POCList[custIndex]['SupervisorOf_' + (custIndex + 1)]) {\r\n continue;\r\n }\r\n\r\n if (vm.POCList[custIndex].PlId) {\r\n var obj = {};\r\n obj = {\r\n \"PlId\": vm.POCList[custIndex]['PlId'],\r\n \"CustomerId\": vm.Customer,\r\n \"Circle\": vm.POCList[custIndex]['LocationOf_' + (custIndex + 1)],\r\n \"CustomerContactRequestModelId\": vm.POCList[custIndex]['POCOf_' + (custIndex + 1)],\r\n \"SupervisorId\": vm.POCList[custIndex]['SupervisorOf_' + (custIndex + 1)],\r\n \"CustomerContactRequestModel\": null\r\n }\r\n\r\n if (vm.pocDataGlobal != 0) {\r\n if (!obj.CustomerContactRequestModelId || angular.isUndefined(obj.CustomerContactRequestModelId)) {\r\n obj.CustomerContactRequestModel = {\r\n \"FirstName\": vm.pocDataGlobal[custIndex].FirstName,\r\n \"LastName\": vm.pocDataGlobal[custIndex].LastName,\r\n \"Email\": vm.pocDataGlobal[custIndex].Email,\r\n \"OtherMobile\": vm.pocDataGlobal[custIndex].OtherMobile,\r\n \"Mobile\": vm.pocDataGlobal[custIndex].Mobile\r\n }\r\n }\r\n }\r\n\r\n } else {\r\n var obj = {};\r\n obj = {\r\n \"CustomerId\": vm.Customer,\r\n \"Circle\": vm.POCList[custIndex]['LocationOf_' + (custIndex + 1)],\r\n \"CustomerContactRequestModelId\": vm.POCList[custIndex]['POCOf_' + (custIndex + 1)],\r\n \"SupervisorId\": vm.POCList[custIndex]['SupervisorOf_' + (custIndex + 1)],\r\n \"CustomerContactRequestModel\": null\r\n }\r\n if (vm.pocDataGlobal != 0) {\r\n if (!obj.CustomerContactRequestModelId || angular.isUndefined(obj.CustomerContactRequestModelId)) {\r\n obj.CustomerContactRequestModel = {\r\n \"FirstName\": vm.pocDataGlobal[custIndex].FirstName,\r\n \"LastName\": vm.pocDataGlobal[custIndex].LastName,\r\n \"Email\": vm.pocDataGlobal[custIndex].Email,\r\n \"OtherMobile\": vm.pocDataGlobal[custIndex].OtherMobile,\r\n \"Mobile\": vm.pocDataGlobal[custIndex].Mobile\r\n }\r\n }\r\n }\r\n }\r\n locationContactModel.push(obj);\r\n // CustomerContactRequestModel.push(obj.CustomerContactRequestModel);\r\n }\r\n\r\n var projectData = {\r\n \"ProjectId\": projectId_ForUpdate,\r\n \"Name\": vm.ProjectName,\r\n \"Manager\": vm.managerId,\r\n \"StartDate\": moment(vm.StartDate, \"YYYY-MM-DD\").format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\"),\r\n \"EndDate\": moment(vm.EndDate, \"YYYY-MM-DD\").format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\"),\r\n \"CustomerId\": vm.Customer,\r\n \"Description\": vm.ProjectDescription,\r\n \"Status\": 'Active',\r\n \"CustomerContactRequestModelId\": vm.pocId,\r\n \"JobRate\": vm.price,\r\n \"JobGrossRate\": \"\",\r\n \"FixedBidPrice\": vm.FixedBidPrice,\r\n \"GeoFenceEnabled\": vm.GeoFenceEnabled,\r\n \"GetFenceRange\": vm.range,\r\n \"CustomerContactRequestModel\": null,\r\n \"JobDuration\": vm.JobDuration,\r\n \"ProjectSkillRules\" : vm.skillrulemap,\r\n // \"ProjectSkillRules\" : vm.tempSkillList,\r\n \"Locations\": locationContactModel,\r\n \"DynamicPricing\": vm.DynamicPricing,\r\n \"IsCustomerAppointmentNeeded\": vm.IsCustomerAppointmentNeeded,\r\n \"IsQuickResolveTicketsEnable\": vm.IsQuickResolveTicketsEnable,\r\n \"IsHappyCodeEnabled\": vm.IsHappyCodeEnabled,\r\n \"IsOnSiteReportEnabled\": vm.IsOnSiteReportEnabled,\r\n \"IsSpareShipmentEnabled\": vm.IsSpareShipmentEnabled,\r\n \"SLA\": {\r\n \"Policies\": [\r\n\r\n ]\r\n }\r\n }\r\n if (vm.globalMainPOCData != 0) {\r\n if (!projectData.CustomerContactRequestModelId) {\r\n projectData.CustomerContactRequestModel = {\r\n \"FirstName\": vm.globalMainPOCData[0].FirstName,\r\n \"LastName\": vm.globalMainPOCData[0].LastName,\r\n \"Mobile\": vm.globalMainPOCData[0].Mobile,\r\n \"OtherMobile\": vm.globalMainPOCData[0].OtherMobile,\r\n \"Email\": vm.globalMainPOCData[0].Email,\r\n \"CustomerId\": vm.Customer,\r\n \"Projects\": [\r\n \"\"\r\n ]\r\n }\r\n }\r\n }\r\n\r\n projectData.SLA.Policies.push(vm.AvgTimeClose);\r\n projectData.SLA.Policies.push(vm.MeetingCustAppointment);\r\n projectData.SLA.Policies.push(vm.WithinDay);\r\n //$log.log(projectData);\r\n\r\n\r\n if(vm.EndDate <= vm.StartDate)\r\n {\r\n vm.showFailure(\"Faild\", \"End date can't be less than start date\");\r\n return\r\n }\r\n\r\n if (vm.project_form.$valid) {\r\n vm.isDisabled = true;\r\n if (vm.editMode) {\r\n ProjectCreationService.UpdateProject(projectData, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 202) {\r\n // toaster.pop({\r\n // type: 'success',\r\n // title: 'Project Information',\r\n // shoeCloseButton: true,\r\n // body: 'Project Updated Successfully',\r\n // \"progressBar\": true,\r\n // \"preventDuplicates\": false,\r\n // \"showDuration\": \"400\",\r\n // \"hideDuration\": \"1000\",\r\n // \"timeout\": 2000,\r\n // \"tapToDismiss\": true,\r\n // positionClass: \"toast-top-full-width\"\r\n // });\r\n vm.showSuccess(\"Project Update Status\", \"Project Updated Successfully\");\r\n vm.isDisabled = false;\r\n $timeout(function () {\r\n $state.go('index.Project', {\r\n reload: true\r\n });\r\n }, 2000);\r\n } else if (resp.data && resp.data.Message) {\r\n vm.showFailure(\"Project Update Status\", resp.data.Message);\r\n } else {\r\n vm.showFailure(\"Project Update Status\", \"Unable to create project, server is not responding correctly.\");\r\n }\r\n vm.isDisabled = false;\r\n }, function () {\r\n vm.isDisabled = false;\r\n // toaster.pop({\r\n // type: 'error',\r\n // title: 'Project Creation Status',\r\n // showCloseButton: true,\r\n // body: 'unable to update user',\r\n // \"progressBar\": true,\r\n // \"preventDuplicates\": false,\r\n // \"showDuration\": \"400\",\r\n // \"hideDuration\": \"1000\",\r\n // \"tapToDismiss\": true,\r\n // \"timeout\": 2000,\r\n // positionClass: 'toast-top-full-width'\r\n // });\r\n vm.showFailure(\"Project Update Status\", \"Unable to create project, server is not responding correctly.\");\r\n vm.isDisabled = false;\r\n })\r\n } else {\r\n ProjectCreationService.CreateProject(angular.toJson(projectData), loggedinUser, token).then(function (resp) {\r\n if (resp.status == 201) {\r\n vm.isDisabled = true;\r\n if (!vm.saveAndNewFlag) {\r\n // toaster.pop({\r\n // type: 'success',\r\n // title: 'Project Creation Status ',\r\n // showCloseButton: true,\r\n // body: 'Project created successfully',\r\n // \"progressBar\": true,\r\n // \"preventDuplicates\": false,\r\n // \"showDuration\": \"400\",\r\n // \"hideDuration\": \"1000\",\r\n // \"tapToDismiss\": true,\r\n // \"timeout\": 2000,\r\n // positionClass: 'toast-top-full-width'\r\n // });\r\n vm.showSuccess(\"Project Creation Status\", \"Project created successfully\");\r\n vm.isDisabled = false;\r\n clearFormFields();\r\n $timeout(function () {\r\n $state.go('index.Project', {\r\n reload: true\r\n });\r\n }, 2000);\r\n } else {\r\n vm.showFailure(\"Project Creation Status\", \"Unable to create project, server is not responding correctly.\");\r\n }\r\n } else if (resp.data && resp.data.Message) {\r\n vm.showFailure(\"Project Creation Status\", resp.data.Message);\r\n } else {\r\n vm.showFailure(\"Project Creation Status\", \"Unable to create project, server is not responding correctly.\");\r\n }\r\n vm.isDisabled = false;\r\n }, function (error) {\r\n $log.log(error);\r\n vm.isDisabled = false;\r\n var msg = 'Unable to create project, server is not responding correctly.';\r\n if (error.data && error.data.error_code == 1013) {\r\n msg = \"Project already exist with name \" + projectData.Name;\r\n } else if (error.data && error.data.Message) {\r\n msg = error.data.Message;\r\n }\r\n vm.showFailure(\"Project Creation Status\", msg);\r\n // toaster.pop({\r\n // type: 'error',\r\n // title: 'Project Creation Status ',\r\n // showCloseButton: true,\r\n // body: msg,\r\n // \"progressBar\": true,\r\n // \"preventDuplicates\": false,\r\n // \"showDuration\": \"400\",\r\n // \"hideDuration\": \"1000\",\r\n // \"tapToDismiss\": true,\r\n // \"timeout\": 2000,\r\n // positionClass: 'toast-top-full-width'\r\n // });\r\n });\r\n }\r\n }\r\n else {\r\n vm.project_form.submitted = true;\r\n }\r\n }\r\n function clearFormFields() {\r\n vm.ProjectName = '';\r\n vm.ProjectManager = '';\r\n vm.StartDate = '';\r\n vm.EndDate = '';\r\n vm.Customer = '';\r\n vm.ProjectDescription = '';\r\n vm.AvgTimeClose = '';\r\n vm.MeetingCustAppointment = '';\r\n vm.WithinDay = '';\r\n vm.Location = '';\r\n vm.POC = '';\r\n vm.Supervisor = '';\r\n vm.range = '';\r\n vm.price = '';\r\n }\r\n\r\n //adding more Poc section\r\n\r\n\r\n\r\n vm.demotag = [\r\n { text: 'Delhi' }\r\n // { text: 'Lucknow' }\r\n\r\n ];\r\n\r\n\r\n $scope.AddMainContactPopUp = function () {\r\n var mainModalInstance = $uibModal.open({\r\n templateUrl: 'Add_Main_Contact_modal.html',\r\n backdrop: true,\r\n controller: function ($scope, $log, $uibModalInstance) {\r\n $scope.SavePOCModal = function () {\r\n if ($scope.AddMainPOCSave_Form.$valid) {\r\n $scope.objMainPOCData = {};\r\n objMainPOCData = {\r\n \"FirstName\": $scope.mFirstName,\r\n \"LastName\": $scope.mLastName,\r\n \"Email\": $scope.mEmail,\r\n \"OtherMobile\": $scope.mOtherMobile,\r\n \"Mobile\": $scope.mMobile\r\n }\r\n //$log.log(objMainPOCData);\r\n vm.globalMainPOCData.push(objMainPOCData);\r\n // pocDataGlobal = objpocData;\r\n //$log.log(vm.globalMainPOCData);\r\n $uibModalInstance.close();\r\n // $rootScope.$broadcast('Saving_Template', {\r\n // });\r\n } else {\r\n $scope.AddMainPOCSave_Form.submitted = true;\r\n }\r\n }\r\n $scope.CloseModal = function () {\r\n $uibModalInstance.close();\r\n }\r\n\r\n },\r\n // controller: ModalInstanceCtrl,\r\n size: 'lg',\r\n\r\n });\r\n }\r\n\r\n\r\n $scope.AddContactPopUp = function () {\r\n var modalInstance = $uibModal.open({\r\n templateUrl: 'Add_Contact_modal.html',\r\n backdrop: true,\r\n controller: ModalInstanceCtrl,\r\n // resolve : {\r\n // pocData : function(){\r\n\r\n // return {customerId:vm.Customer};\r\n // }\r\n // },\r\n size: 'lg',\r\n\r\n });\r\n }\r\n\r\n var ModalInstanceCtrl = function ($scope, $rootScope, $uibModalInstance) {\r\n // console.log(pocData);\r\n // $scope.pocData = pocData;\r\n // pocDataGlobal=$scope.pocData;\r\n $scope.SavingTemplate = function () {\r\n if ($scope.AddPOCSave_Form.$valid) {\r\n $scope.objpocData = {};\r\n objpocData = {\r\n \"FirstName\": $scope.FirstName,\r\n \"LastName\": $scope.LastName,\r\n \"Email\": $scope.Email,\r\n \"OtherMobile\": $scope.OtherMobile,\r\n \"Mobile\": $scope.Mobile\r\n }\r\n //$log.log(objpocData);\r\n vm.pocDataGlobal.push(objpocData);\r\n // pocDataGlobal = objpocData;\r\n //$log.log(vm.pocDataGlobal);\r\n $uibModalInstance.close();\r\n // $rootScope.$broadcast('Saving_Template', {\r\n // });\r\n } else {\r\n $scope.AddPOCSave_Form.submitted = true;\r\n }\r\n }\r\n\r\n $scope.CloseModal = function () {\r\n $uibModalInstance.close();\r\n }\r\n }\r\n\r\n vm.getCircles = function (index) {\r\n var locations = [];\r\n angular.extend(locations, vm.circles);\r\n if (vm.LocationMapping == 'Project' || vm.LocationMapping == '' || vm.LocationMapping == null) {\r\n\r\n angular.forEach(vm.circles, function (d) {\r\n for (var i = 0; i < vm.POCList.length; i++) {\r\n if (i != index && d.circle == vm.POCList[i]['LocationOf_' + (i + 1)]) {\r\n locations.splice(locations.indexOf(d), 1);\r\n }\r\n }\r\n });\r\n } else if (vm.LocationMapping == 'Circle') {\r\n angular.forEach(vm.circles, function (d) {\r\n for (var i = 0; i < vm.POCList.length; i++) {\r\n if (i != index && d == vm.POCList[i]['LocationOf_' + (i + 1)]) {\r\n locations.splice(locations.indexOf(d), 1);\r\n }\r\n }\r\n });\r\n }\r\n\r\n return locations;\r\n }\r\n\r\n vm.geofencestatus = function () {\r\n if (vm.GeoFenceEnabled == false) {\r\n vm.range = 0;\r\n } else {\r\n vm.range = '';\r\n }\r\n console.log(vm.GeoFenceEnabled + ' ' + vm.range);\r\n }\r\n\r\n vm.addMorePoc = function () {\r\n var ele = {\r\n\r\n }\r\n vm.POCList.push(ele);\r\n }\r\n\r\n vm.GetAllCustomers();\r\n vm.getCountry();\r\n vm.GetAllSupervisors(role, loggedinUser);\r\n vm.GetAllProjectManagers(loggedinUser);\r\n }\r\n\r\n\r\n});\r\n\nangular.module('inspinia').service('ProductReplacementOrdersService', function (AcessoriesURL, ApiURL, SchedulingAPI, $window, $http) {\r\n\r\n this.GetAllWareHouse = function (loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/WareHouse/GetAllWareHouse';\r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetProductReplacementList = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFProductReplacement/GetProductReplacementList';\r\n return $http.put(url, data, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetProductReplacementList_CSV = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFProductReplacement/GetProductReplacementList_CSV';\r\n return $http.put(url, data, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetProductReplacementDetails = function (replacementId, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFProductReplacement/GetProductReplacementDetails?replacementId=' + replacementId;\r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.UpdateProductReplacementStatus = function ( data,loggedinUser,token) {\r\n var url = AcessoriesURL + '/api/MMFProductReplacement/UpdateProductReplacementStatus';\r\n return $http.put(url, data,{\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.UpdateProductReplacementStatusWithAttachment = function (data, file, FileName, loggedinUser, token) {\r\n var formdata = new FormData();\r\n formdata.append(FileName, file);\r\n var FiltersData = JSON.stringify(data);\r\n formdata.append(\"FiltersData\", FiltersData);\r\n var url = AcessoriesURL + '/api/MMFProductReplacement/UpdateProductReplacementStatusWithAttachment';\r\n return $http.put(url, formdata, {\r\n headers: {\r\n 'Content-Type': undefined, 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.MarkProductStatusDeliveredByServiceCenter = function (data, imageFile, imageFileName, invoiceFile, invoiceFileName, loggedinUser, token) {\r\n var formdata = new FormData();\r\n formdata.append(imageFileName, imageFile);\r\n formdata.append(invoiceFileName, invoiceFile);\r\n var FiltersData = JSON.stringify(data);\r\n formdata.append(\"FiltersData\", FiltersData);\r\n var url = AcessoriesURL + '/api/MMFProductReplacement/MarkProductStatusDeliveredByServiceCenter';\r\n return $http.put(url, formdata, {\r\n headers: {\r\n 'Content-Type': undefined, 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n this.ResubmitProductReplacementRequest = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFProductReplacement/ResubmitProductReplacementRequest'\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.CreateReOrderProductReplacementRequest = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFProductReplacement/CreateReOrderProductReplacementRequest';\r\n return $http.post(url, data, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('ProductReplacementOrdersController', function (ProductReplacementOrdersService, MainService, $resource, $stateParams, toaster, $filter, $compile, $q, $state, $localStorage, $scope, DTOptionsBuilder, DTColumnBuilder, $uibModal, $timeout) {\r\n\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\t// var warehouseId = $stateParams.warehouseId;\r\n\t\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\t\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\t\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\t\tvm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\t\t$scope.isNavCollapsed = true;\r\n\t\t$scope.isCollapsed = true;\r\n\t\t$scope.isCollapsedHorizontal = false;\r\n\t\tvm.selectSingle = false;\r\n\t\tvm.disableExceptionButton = false;\r\n\t\tvar oPageIndex = 1;\r\n\t\tvar oPageSize = 10;\r\n\t\tvm.AccountId= $localStorage.accountConfig.AccountId;\r\n\t\tvm.allOrdersPageListCount = 10;\r\n\t\tvar PageIndex = 1;\r\n\t\tvar PageSize = 10;\r\n\t\tvm.ImageFileName = \"\";\r\n\t\tvm.InvoiceFileName = \"\";\r\n\t\tvm.allInventoryPageListCount = 10;\r\n\t\tvm.pageListCounts = [10, 20, 30, 50];\r\n\t\tvm.UserId = '';\r\n\t\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\t\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\t\t$scope.dates = { startDate: moment().subtract(30, 'day'), endDate: moment() };\r\n\t\tvar startDate = moment().subtract(30, 'days').format(\"YYYY-MM-DD\");\r\n\t\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\t\t$scope.ranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment().endOf('month')]\r\n\t\t};\r\n\r\n\t\tvm.outsidedateRangeChange = function (ev, picker) {\r\n\t\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\t\tvm.applyOrderFilter();\r\n\t\t};\r\n\r\n\t\tvm.disableCreateButton = false;\r\n\r\n\t\tvm.DisableCreateButton = function (disable) {\r\n\t\t\tif (disable) {\r\n\t\t\t\tvm.disableCreateButton = true;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.disableCreateButton = false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t$scope.totalTableTickets = 0;\r\n\t\t$scope.ticketTablePerPage = vm.ticketPageListCount;\r\n\t\t$scope.TicketTablepagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\t\tvm.GetAllWareHouse = function () {\r\n\t\t\tProductReplacementOrdersService.GetAllWareHouse(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.warehouseitemlist = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.GetAllWareHouse();\r\n\t\tvm.OpenResubmitReplaceModel = function (resubmitreplacedetails) {\r\n\t\t\tvm.resubmitReplacementId = resubmitreplacedetails;\r\n\t\t\tResubmitReplaceModel = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'Resubmit.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeResubmitRequestUpdateModel = function () {\r\n\t\t\tvm.DisableCreateButton(false);\r\n\t\t\tResubmitReplaceModel.close();\r\n\t\t\tvm.resubmitstrReplacementComment = '';\r\n\t\t\tvm.resubmitReplacementId = '';\r\n\t\t}\r\n\t\tvm.ResubmitProductReplacementRequest = function () {\r\n\t\t\tvm.Resubmit_Form.submitted = true;\r\n\t\t\tif (vm.Resubmit_Form.$valid) {\r\n\t\t\t\t// $scope.uploadFiles();\r\n\t\t\t\tvm.DisableCreateButton(true);\r\n\t\t\t\tvar resubmitreplacementreasondata = {\r\n\t\t\t\t\t\"strProductReplacementId\": vm.resubmitReplacementId,\r\n\t\t\t\t\t\"strReplacementComment\": vm.resubmitstrReplacementComment,\r\n\t\t\t\t\t\"strReplacementReason\": vm.resubmitrelacementoption,\r\n\t\t\t\t}\r\n\t\t\t\tProductReplacementOrdersService.ResubmitProductReplacementRequest(resubmitreplacementreasondata, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Product replacement request raised.\");\r\n\t\t\t\t\t\tvm.closeResubmitRequestUpdateModel();\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\tvm.GetProductReplacementList();\r\n\t\t\t\t\t\t\t// vm.getAllJobTickets(supervisorId, startDate, endDate, itemNames, itemValues, templateItemNames, templateItemValues);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tvm.trackingStatus = false;\r\n\r\n\t\tvm.GetProductReplacementDetails = function (replacementId) {\r\n\t\t\tProductReplacementOrdersService.GetProductReplacementDetails(replacementId, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.trackingDetails = resp.data;\r\n\t\t\t\t\tvm.activitytimeline = resp.data.listApprovalTrail;\r\n\t\t\t\t\tvm.trackingStatus = true;\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.OpenUseerDetails = function (orderid) {\r\n\t\t\t$state.go('index.WareHouseOrderDetailView', {\r\n\t\t\t\torder_id: orderid\r\n\t\t\t}, { reload: true });\r\n\t\t}\r\n\r\n\t\tvm.reorderReplacementId = '';\r\n\t\tvm.OpenReOrderConfirmation = function (reordereplacedetails) {\r\n\t\t\tvm.reorderReplacementId = reordereplacedetails;\r\n\t\t\tReorderModel = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'ReOrderPart.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeReOrderConfirmation = function () {\r\n\t\t\tReorderModel.close();\r\n\t\t\tvm.DisableCreateButton(false);\r\n\t\t\tvm.reorderReplacementId = '';\r\n\t\t\tvm.reorderReplacementComment = '';\r\n\t\t}\r\n\r\n\t\tvm.CreateReOrderProductReplacementRequest = function () {\r\n\t\t\tvm.Reorder_Form.submitted = true;\r\n\t\t\tif (vm.Reorder_Form.$valid) {\r\n\t\t\t\tvm.DisableCreateButton(true);\r\n\t\t\t\tvar reordereplacementreasondata = {\r\n\t\t\t\t\t\"strProductReplacementId\": vm.reorderReplacementId,\r\n\t\t\t\t\t\"strReplacementComment\": vm.reorderReplacementComment,\r\n\t\t\t\t\t\"strReplacementReason\": vm.reorderrelacementoption,\r\n\t\t\t\t}\r\n\t\t\t\tProductReplacementOrdersService.CreateReOrderProductReplacementRequest(reordereplacementreasondata, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Product re-order request raised.\");\r\n\t\t\t\t\t\tvm.closeReOrderConfirmation();\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\tvm.GetProductReplacementList();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t}\r\n\t\t}\r\n\t\t// vm.TrackingSidePanel = function (replacementId) {\r\n\t\t// \tvm.TrackDetails = p;\r\n\t\t// \tvm.trackingStatus = true;\r\n\t\t// }\r\n\t\tvm.OpenTicketView = function (ticket) {\r\n\t\t\t$state.go('index.JobDetailView', {\r\n\t\t\t\tticketId: ticket\r\n\t\t\t}, { reload: true });\r\n\t\t}\r\n\t\tvm.productType = \"\";\r\n\t\tvm.OpenDeliveredModel = function (requestId, product) {\r\n\t\t\tvm.requestIdTobeUpdated = requestId;\r\n\t\t\tvm.productType = product;\r\n\t\t\tDeliveredUpdateModel = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'UpdateDeliveredStatus.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeDeliveredUpdateModel = function () {\r\n\t\t\tDeliveredUpdateModel.close();\r\n\t\t\tvm.DeliveryRemark = \"\";\r\n\t\t\tvm.warehouselist = \"\";\r\n\t\t\tvm.InvoiceFileName = \"\";\r\n\t\t\tvm.ImageFileName = \"\";\r\n\t\t\tvm.substatus = \"\";\r\n\t\t\tvm.productType = \"\";\r\n\t\t\tvm.IndoorSerialNumber = \"\";\r\n\t\t\tvm.OutdoorSerialNumber = \"\";\r\n\t\t\tvm.ModelNumber = \"\";\r\n\t\t\tvm.clear();\r\n\r\n\t\t}\r\n\r\n\t\tvm.OpenRequestUpdateModel = function (requestId, action) {\r\n\t\t\tvm.UpdateAction = action;\r\n\t\t\tvm.requestIdTobeUpdated = requestId;\r\n\t\t\tRequestUpdateModel = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'UpdateRequestStatus.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeRequestUpdateModel = function () {\r\n\t\t\tRequestUpdateModel.close();\r\n\t\t\tvm.UpdationRemark = \"\";\r\n\t\t\tvm.warehouselist = \"\";\r\n\t\t\tvm.FileName = \"\";\r\n\t\t\tvm.GRNumber = \"\";\r\n\t\t\tvm.PackageDetails = \"\";\r\n\t\t\tvm.TrackingLink = \"\";\r\n\t\t\tvm.warehouselist = \"\";\r\n\t\t}\r\n\r\n\t\t$scope.uploadImageForNotice = function (files) {\r\n\t\t\tvm.FileName = \"\";\r\n\t\t\tvm.FilesDoc = files.files[0];\r\n\t\t\tvm.FileName = vm.FilesDoc.name;\r\n\t\t\tvm.FileSize = vm.FilesDoc.size;\r\n\r\n\t\t\t// Allowed file extensions (Images: jpg, jpeg, png, jfif and Documents: pdf, doc, docx)\r\n\t\t\tvar allowedExtensions = /(\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png|\\.JFIF|\\.jfif|\\.PDF|\\.pdf|\\.DOC|\\.doc|\\.DOCX|\\.docx)$/i;\r\n\r\n\t\t\t// Validate file extension\r\n\t\t\tif (!allowedExtensions.exec(vm.FileName)) {\r\n\t\t\t\tvm.FilesDoc = [];\r\n\t\t\t\tvm.clear();\r\n\t\t\t\talert('Please upload a file with extensions .jpg, .jpeg, .png, .jfif, .pdf, .doc, or .docx only.');\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t$scope.uploadImageForDelivery = function (files) {\r\n\t\t\tvm.ImageFileName = \"\";\r\n\t\t\tvm.ImageFilesDoc = files.files[0];\r\n\t\t\tvm.ImageFileName = vm.ImageFilesDoc.name;\r\n\t\t\tvm.ImageFileSize = vm.ImageFilesDoc.size;\r\n\r\n\t\t\t// Allowed file extensions (Images: jpg, jpeg, png, jfif and Documents: pdf, doc, docx)\r\n\t\t\tvar allowedExtensions = /(\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png|\\.JFIF|\\.jfif|\\.PDF|\\.pdf|\\.DOC|\\.doc|\\.DOCX|\\.docx)$/i;\r\n\r\n\t\t\t// Validate file extension\r\n\t\t\tif (!allowedExtensions.exec(vm.ImageFileName)) {\r\n\t\t\t\tvm.ImageFilesDoc = [];\r\n\t\t\t\tvm.clear();\r\n\t\t\t\talert('Please upload a file with extensions .jpg, .jpeg, .png, .jfif, .pdf, .doc, or .docx only.');\r\n\t\t\t}\r\n\t\t}\r\n\t\t$scope.uploadInvoiceForDelivery = function (files) {\r\n\t\t\tvm.InvoiceFileName = \"\";\r\n\t\t\tvm.InvoiceFilesDoc = files.files[0];\r\n\t\t\tvm.InvoiceFileName = vm.InvoiceFilesDoc.name;\r\n\t\t\tvm.FileSize = vm.InvoiceFilesDoc.size;\r\n\r\n\t\t\t// Allowed file extensions (Images: jpg, jpeg, png, jfif and Documents: pdf, doc, docx)\r\n\t\t\tvar allowedExtensions = /(\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png|\\.JFIF|\\.jfif|\\.PDF|\\.pdf|\\.DOC|\\.doc|\\.DOCX|\\.docx)$/i;\r\n\r\n\t\t\t// Validate file extension\r\n\t\t\tif (!allowedExtensions.exec(vm.InvoiceFileName)) {\r\n\t\t\t\tvm.InvoiceFilesDoc = [];\r\n\t\t\t\tvm.clear();\r\n\t\t\t\talert('Please upload a file with extensions .jpg, .jpeg, .png, .jfif, .pdf, .doc, or .docx only.');\r\n\t\t\t}\r\n\t\t}\r\n\t\t// Function to clear the file input\r\n\t\tvm.clear = function () {\r\n\t\t\tangular.element(\"input[type='file']\").val(null);\r\n\t\t};\r\n\t\tvm.PDFViewOfShipmentDoc = function (page) {\r\n\t\t\tvm.IsLoadSucessfull = false;\r\n\t\t\tMainService.GetImageBlob(loggedinUser, token, page).then(function (resp) {\r\n\t\t\t\tvm.pdfimage = resp.data;\r\n\t\t\t\tvm.IsLoadSucessfull = true;\r\n\t\t\t});\r\n\t\t\t$timeout(function () {\r\n\t\t\t\tvm.taxInvoiceModel = $uibModal.open({\r\n\t\t\t\t\ttemplateUrl: \"PDFView.html\",\r\n\t\t\t\t\tsize: \"lg\",\r\n\t\t\t\t\tscope: $scope,\r\n\t\t\t\t});\r\n\t\t\t}, 1000);\r\n\t\t};\r\n\t\tvm.closePDFView = function () {\r\n\t\t\tvm.taxInvoiceModel.close();\r\n\r\n\t\t};\r\n\t\tvm.ImageViewOfShipmentDoc = function (img, index) {\r\n\t\t\tMainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n\t\t\t\tif (resp.data == null || resp.data == '') {\r\n\t\t\t\t\tvm.productImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.productImg[index] = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, function () {\r\n\t\t\t\tvm.productImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t\r\n\t\t$scope.checkPDF = function (path) {\r\n\t\t\tif (path) {\r\n\t\t\t\tvar pt = path.substr(path.length - 4);\r\n\t\t\t\tif (pt == '.pdf') {\r\n\t\t\t\t\tvm.error = function () {\r\n\t\t\t\t\t\t$(\".pdf\").attr({ \"target\": \"_blank\" })\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tvm.ActionToBeTaken = '';\r\n\t\tvm.UpdateRequestStatusBySC = function () {\r\n\t\t\tif (vm.UpdateAction == 'Approval') {\r\n\t\t\t\tvm.ActionToBeTaken = 'Approved';\r\n\t\t\t}\r\n\t\t\telse if (vm.UpdateAction == 'Dispatched'){\r\n\t\t\t\tvm.ActionToBeTaken = 'Dispatched';\r\n\t\t\t}\r\n\t\t\telse if (vm.UpdateAction == 'Delivered'){\r\n\t\t\t\tvm.ActionToBeTaken = 'Delivered';\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tvm.ActionToBeTaken = 'Rejected';\r\n\t\t\t}\r\n\t\t\tvm.Request_Update_Form.submitted = true;\r\n\t\t\tif (vm.Request_Update_Form.$valid) {\r\n\t\t\t\tvar RequestModel = {\r\n\t\t\t\t\t\"ReplacementId\": vm.requestIdTobeUpdated,\r\n\t\t\t\t\t\"Status\": vm.ActionToBeTaken,\r\n\t\t\t\t\t\"Comment\": \"\",\r\n\t\t\t\t\t\"Reason\": vm.UpdationRemark,\r\n\t\t\t\t\t\"WareHouseId\": vm.warehouselist\r\n\t\t\t\t }\r\n\t\t\t\tProductReplacementOrdersService.UpdateProductReplacementStatus(RequestModel, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Request updated successfully\");\r\n\t\t\t\t\t\tvm.closeRequestUpdateModel();\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\tvm.GetProductReplacementList();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.UpdateProductReplacementStatusWithAttachment = function () {\r\n\t\t\tif (vm.UpdateAction == 'Approval') {\r\n\t\t\t\tvm.ActionToBeTaken = 'Approved';\r\n\t\t\t}\r\n\t\t\telse if (vm.UpdateAction == 'Dispatched') {\r\n\t\t\t\tvm.ActionToBeTaken = 'Dispatched';\r\n\t\t\t}\r\n\t\t\telse if (vm.UpdateAction == 'Delivered') {\r\n\t\t\t\tvm.ActionToBeTaken = 'Delivered';\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.ActionToBeTaken = 'Rejected';\r\n\t\t\t}\r\n\t\t\tvm.Request_Update_Form.submitted = true;\r\n\t\t\tif (vm.Request_Update_Form.$valid) {\r\n\t\t\t\tvm.PackageDetails = [{\r\n\t\t\t\t\t\"strPackageId\": vm.strPackageId,\r\n\t\t\t\t\t\"strPackageStatus\": \"Shipped\",\r\n\t\t\t\t\t\"strPackageTrackingId\": vm.strPackageTrackingId,\r\n\t\t\t\t\t\"strShipmentId\": vm.strShipmentId,\r\n\t\t\t\t\t\"datePackedOn\": moment().format(\"YYYY-MM-DD\")\r\n\t\t\t\t}]\r\n\t\t\t\tvar RequestModel = {\r\n\t\t\t\t\t\"ReplacementId\": vm.requestIdTobeUpdated,\r\n\t\t\t\t\t\"Status\": vm.ActionToBeTaken,\r\n\t\t\t\t\t\"Comment\": \"\",\r\n\t\t\t\t\t\"Reason\": vm.UpdationRemark,\r\n\t\t\t\t\t\"WareHouseId\": vm.warehouselist,\r\n\t\t\t\t\t\"TrackingLink\": vm.TrackingLink,\r\n\t\t\t\t\t\"PackageDetails\": vm.PackageDetails,\r\n\t\t\t\t\t\"GRNumber\": vm.GRNumber,\r\n\t\t\t\t\t\"Attachement\": vm.FileName,\r\n\t\t\t\t}\r\n\t\t\t\tProductReplacementOrdersService.UpdateProductReplacementStatusWithAttachment(RequestModel, vm.FilesDoc, vm.FileName, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Request updated successfully\");\r\n\t\t\t\t\t\tvm.closeRequestUpdateModel();\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\tvm.GetProductReplacementList();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tvm.AcceptDelivery = function () {\r\n\t\t\tvm.DeliveryModal_Form.submitted = true;\r\n\t\t\tif (vm.DeliveryModal_Form.$valid) {\r\n\t\t\t\tvar data = {\r\n\t\t\t\t\t\"ReplacementId\": vm.requestIdTobeUpdated,\r\n\t\t\t\t\t\"Reason\": vm.DeliveryRemark,\r\n\t\t\t\t\t\"ModelNumber\": vm.ModelNumber,\r\n\t\t\t\t\t\"IndoorSerialNumber\": vm.IndoorSerialNumber,\r\n\t\t\t\t\t\"OutdoorSerialNumber\": vm.OutdoorSerialNumber,\r\n\t\t\t\t\t\"SubStatus\": vm.substatus,\r\n\t\t\t\t\t\"DamgedAttachment\": vm.ImageFileName,\r\n\t\t\t\t\t\"InvoiceImage\": vm.InvoiceFileName\r\n\t\t\t\t}\r\n\t\t\t\tProductReplacementOrdersService.MarkProductStatusDeliveredByServiceCenter(data, vm.ImageFilesDoc, vm.ImageFileName, vm.InvoiceFilesDoc, vm.InvoiceFileName, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Request marked delivered successfully\");\r\n\t\t\t\t\t\tvm.closeDeliveredUpdateModel();\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\tvm.GetProductReplacementList();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t\t}\r\n\t\t}\r\n\t\t$scope.openTrackingLink = function (trackingLink) {\r\n\t\t\t$window.open(trackingLink, '_blank');\r\n\t\t};\r\n\r\n\r\n\t\t$scope.totalInvList = 0;\r\n\t\t$scope.inventoryPerPage = vm.allInventoryPageListCount;\r\n\t\t$scope.InventoryPagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\r\n\r\n\t\tvm.changeAllInventoryPageListCount = function () {\r\n\t\t\t$scope.inventoryPerPage = vm.allInventoryPageListCount;\r\n\t\t\tPageSize = $scope.inventoryPerPage;\r\n\t\t\t$scope.AllInventoryTablePageChanged($scope.InventoryPagination.current);\r\n\t\t\tvm.selectAll = false;\r\n\t\t\tPageIndex = $scope.InventoryPagination.current;\r\n\t\t\t$scope.AllInventoryTablePageChanged = function (newPage) {\r\n\t\t\t\tPageIndex = newPage;\r\n\r\n\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tPageIndex = $scope.InventoryPagination.current;\r\n\t\t$scope.AllInventoryTablePageChanged = function (newPage) {\r\n\t\t\tPageIndex = newPage;\r\n\t\t\tvm.GetProductReplacementList();\r\n\r\n\t\t};\r\n\t\tvm.SearchText = '';\r\n\t\tvm.warehouselist = \"\";\r\n\t\tvm.warehouseInvetoryList = [];\r\n\r\n\r\n\t\tvm.clearFilter = function () {\r\n\t\t\tvm.SearchText = '';\r\n\t\t\tvm.warehouselist = '';\r\n\r\n\t\t}\r\n\r\n\r\n\r\n\r\n\t\tvm.applyOrderFilter = function () {\r\n\t\t\tvm.GetProductReplacementList();\r\n\t\t}\r\n\t\tvm.SelectedOrderStatus = '';\r\n\r\n\t\tvm.setSelectedFilter = function (item) {\r\n\t\t\tvm.SelectedOrderStatus = item;\r\n\t\t\tvm.applyOrderFilter();\r\n\t\t};\r\n\r\n\r\n\t\tvm.clearMyOrderFilter = function () {\r\n\t\t\tvm.SelectedOrderStatus = '';\r\n\t\t\tvm.warehouselist = '';\r\n\t\t\tvm.searchTag = '';\r\n\t\t\tvm.applyOrderFilter();\r\n\t\t}\r\n\r\n\t\tvm.TrainingImageServices = function (img, index) {\r\n\t\t\tMainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n\t\t\t\tif (resp.data == null || resp.data == '') {\r\n\t\t\t\t\tvm.TrainingImagebase64[index] = 'assets/images/patterns/image_placeholder.png';\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.TrainingImagebase64[index] = resp.data;\r\n\t\t\t\t}\r\n\t\t\t\t$scope.filesArray.push({\r\n\t\t\t\t\tname: img,\r\n\t\t\t\t\tsrc: vm.TrainingImagebase64[index],\r\n\t\t\t\t});\r\n\t\t\t}, function () {\r\n\t\t\t\tvm.TrainingImagebase64[index] = 'assets/images/patterns/image_placeholder.png';\r\n\t\t\t\t$scope.filesArray.push({\r\n\t\t\t\t\tname: img,\r\n\t\t\t\t\tsrc: vm.TrainingImagebase64[index],\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.showPartDetails = false;\r\n\r\n\t\tvm.CancelMyOrder = function () {\r\n\t\t\tProductReplacementOrdersService.CancelMyOrder(vm.orderId, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", \"Order cancelled successfully.\");\r\n\t\t\t\t\tvm.closeOrderCancelConfirmation();\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tvm.GetProductReplacementList();\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\r\n\t\t$scope.totalOrderList = 0;\r\n\t\t$scope.ordersPerPage = vm.allOrdersPageListCount;\r\n\t\t$scope.OrdersPagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\r\n\t\tvm.changeAllOrderPageListCount = function () {\r\n\t\t\t$scope.ordersPerPage = vm.allOrdersPageListCount;\r\n\t\t\toPageSize = $scope.ordersPerPage;\r\n\t\t\t$scope.AllOrderTablePageChanged($scope.OrdersPagination.current);\r\n\t\t\toPageIndex = $scope.OrdersPagination.current;\r\n\t\t\t$scope.AllOrderTablePageChanged = function (newPage) {\r\n\t\t\t\toPageIndex = newPage;\r\n\t\t\t\tvm.GetProductReplacementList();\r\n\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\toPageIndex = $scope.OrdersPagination.current;\r\n\t\t$scope.AllOrderTablePageChanged = function (newPage) {\r\n\t\t\toPageIndex = newPage;\r\n\t\t\tvm.GetProductReplacementList();\r\n\r\n\t\t};\r\n\t\tvm.orderInvetoryList = [];\r\n\r\n\t\tvm.GetProductReplacementList = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"Status\": vm.SelectedOrderStatus,\r\n\t\t\t\t\"SearchText\": vm.searchTag,\r\n\t\t\t\t\"StartDate\": startDate,\r\n\t\t\t\t\"EndDate\": endDate,\r\n\t\t\t\t\"PageIndex\": oPageIndex,\r\n\t\t\t\t\"PageSize\": oPageSize\r\n\t\t\t}\r\n\t\t\tProductReplacementOrdersService.GetProductReplacementList(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.orderInvetoryList = resp.data.ReturnList;\r\n\t\t\t\t\t$scope.totalOrderList = resp.data.RecordCount;\r\n\t\t\t\t\tvm.productImg = [];\r\n\t\t\t\t\tfor (var i = 0; i < vm.orderInvetoryList.length; i++) {\r\n\t\t\t\t\t\tvar item = vm.orderInvetoryList[i];\r\n\t\t\t\t\t\tvm.ImageViewOfShipmentDoc(item.strPackageAttachment, i);\r\n\t\t\t\t\t\t// vm.ImageViewOfInvoice(item.InvoiceImage, i);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (vm.orderInvetoryList.length < vm.allOrdersPageListCount)\r\n\t\t\t\t\t\tvm.orderListLength = $scope.totalOrderList;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.orderListLength = oPageIndex * vm.allOrdersPageListCount;\r\n\t\t\t\t\tif (oPageIndex == 1)\r\n\t\t\t\t\t\tvm.opageindexCount = 1;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.opageindexCount = (((oPageIndex - 1) * vm.allOrdersPageListCount) + 1);\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.GetProductReplacementList();\r\n\r\n\t\tvm.GetProductReplacementList_CSV = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"Status\": vm.SelectedOrderStatus,\r\n\t\t\t\t\"SearchText\": vm.searchTag,\r\n\t\t\t\t\"StartDate\": startDate,\r\n\t\t\t\t\"EndDate\": endDate,\r\n\t\t\t\t\"PageIndex\": oPageIndex,\r\n\t\t\t\t\"PageSize\": oPageSize\r\n\t\t\t}\r\n\t\t\tProductReplacementOrdersService.GetProductReplacementList_CSV(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvar csvData = resp.data;\r\n\t\t\t\t\tvar blob = new Blob([csvData], { type: 'text/csv' });\r\n\t\t\t\t\tvar url = window.URL.createObjectURL(blob);\r\n\t\t\t\t\tvar a = document.createElement('a');\r\n\t\t\t\t\ta.href = url;\r\n\t\t\t\t\ta.download = 'All_Replacement_Orders_List.csv';\r\n\t\t\t\t\ta.click();\r\n\t\t\t\t\twindow.URL.revokeObjectURL(url);\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.Acceptancemodel = function (requestDetails) {\r\n\t\t\tvm.showPartDetails = false;\r\n\t\t\tvm.AllRequestDetail = requestDetails;\r\n\t\t\tvm.updateStatusModelOpen = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'acceptancepopup.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.CloseAcceptanceModel = function () {\r\n\t\t\tvm.updateStatusModelOpen.close();\r\n\t\t\tvm.DisableCreateButton(false);\r\n\t\t\tvm.UpdateOrderStatus = \"\";\r\n\t\t\tvm.TrackingLink = \"\";\r\n\t\t\tvm.strPackageId = \"\";\r\n\t\t\tvm.strPackageStatus = \"\";\r\n\t\t\tvm.strPackageTrackingId = \"\";\r\n\t\t\tvm.strShipmentId = \"\";\r\n\t\t\tvm.PackageDetails = [];\r\n\t\t\tvm.datePackedOn = moment().format(\"YYYY-MM-DD\");\r\n\t\t}\r\n\t}\r\n});\nangular.module('inspinia').service('ProductReplacementApprovalService', function (AcessoriesURL, ApiURL,MMFCRMURL, SchedulingAPI, $window, $http) {\r\n\r\n this.GetAllWareHouse = function (loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/WareHouse/GetAllWareHouse';\r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetProductReplacementList = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFApprovalFlow/GetProductReplacementList';\r\n return $http.put(url, data, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n this.GetAllActiveProductModelMaster = function (ProductName, brand,loggedinUser, token) {\r\n var url = MMFCRMURL + '/api/CRMBrandProductMaster/GetAllActiveProductModelMaster?productName=' + ProductName + '&brandName=' + brand;\r\n\t\treturn $http.get(url, {\r\n\t\t\theaders: { 'Token': token, 'UserId': loggedinUser }\r\n\t\t});\r\n\t}\r\n this.GetProductReplacementDashboard = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFApprovalFlow/GetProductReplacementDashboard';\r\n return $http.post(url, data, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetProductReplacementList_CSV = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFApprovalFlow/GetProductReplacementList_CSV';\r\n return $http.put(url, data, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetProductReplacementDetails = function (replacementId, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFApprovalFlow/GetProductReplacementDetails?replacementId=' + replacementId;\r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.UpdateProductReplacementStatus = function ( data,loggedinUser,token) {\r\n var url = AcessoriesURL + '/api/MMFApprovalFlow/UpdateProductReplacementStatus';\r\n return $http.put(url, data,{\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.UpdateProductReplacementStatusWithAttachment = function (data, file, FileName, loggedinUser, token) {\r\n var formdata = new FormData();\r\n formdata.append(FileName, file);\r\n var FiltersData = JSON.stringify(data);\r\n formdata.append(\"FiltersData\", FiltersData);\r\n var url = AcessoriesURL + '/api/MMFApprovalFlow/UpdateProductReplacementStatusWithAttachment';\r\n return $http.put(url, formdata, {\r\n headers: {\r\n 'Content-Type': undefined, 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.MarkProductStatusDeliveredByServiceCenter = function (data, imageFile, imageFileName, invoiceFile, invoiceFileName, loggedinUser, token) {\r\n var formdata = new FormData();\r\n formdata.append(imageFileName, imageFile);\r\n formdata.append(invoiceFileName, invoiceFile);\r\n var FiltersData = JSON.stringify(data);\r\n formdata.append(\"FiltersData\", FiltersData);\r\n var url = AcessoriesURL + '/api/MMFProductReplacement/MarkProductStatusDeliveredByServiceCenter';\r\n return $http.put(url, formdata, {\r\n headers: {\r\n 'Content-Type': undefined, 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n this.ResubmitProductReplacementRequest = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFApprovalFlow/ResubmitProductReplacementRequest'\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.CreateReOrderProductReplacementRequest = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFApprovalFlow/CreateReOrderProductReplacementRequest';\r\n return $http.post(url, data, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('ProductReplacementApprovalController', function (ProductReplacementApprovalService, MainService, $resource, $stateParams, toaster, $filter, $compile, $q, $state, $localStorage, $scope, DTOptionsBuilder, DTColumnBuilder, $uibModal, $timeout) {\r\n\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\t// var warehouseId = $stateParams.warehouseId;\r\n\t\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\t\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\t\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\t\tvm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\t\t$scope.isNavCollapsed = true;\r\n\t\t$scope.isCollapsed = true;\r\n\t\t$scope.isCollapsedHorizontal = false;\r\n\t\tvm.selectSingle = false;\r\n\t\tvm.disableExceptionButton = false;\r\n\t\tvar oPageIndex = 1;\r\n\t\tvar oPageSize = 10;\r\n\t\tvm.AccountId= $localStorage.accountConfig.AccountId;\r\n\t\tvm.allOrdersPageListCount = 10;\r\n\t\tvar PageIndex = 1;\r\n\t\tvar PageSize = 10;\r\n\t\tvm.ImageFileName = \"\";\r\n\t\tvm.InvoiceFileName = \"\";\r\n\t\tvm.allInventoryPageListCount = 10;\r\n\t\tvm.pageListCounts = [10, 20, 30, 50];\r\n\t\tvm.UserId = '';\r\n\t\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\t\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\t\t$scope.dates = { startDate: moment().subtract(30, 'day'), endDate: moment() };\r\n\t\tvar startDate = moment().subtract(30, 'days').format(\"YYYY-MM-DD\");\r\n\t\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\t\t$scope.ranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment().endOf('month')]\r\n\t\t};\r\n\r\n\t\tvm.outsidedateRangeChange = function (ev, picker) {\r\n\t\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\t\tvm.applyOrderFilter();\r\n\t\t};\r\n\r\n\t\tvm.disableCreateButton = false;\r\n\r\n\t\tvm.DisableCreateButton = function (disable) {\r\n\t\t\tif (disable) {\r\n\t\t\t\tvm.disableCreateButton = true;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.disableCreateButton = false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t$scope.totalTableTickets = 0;\r\n\t\t$scope.ticketTablePerPage = vm.ticketPageListCount;\r\n\t\t$scope.TicketTablepagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\t\tvm.GetAllWareHouse = function () {\r\n\t\t\tProductReplacementApprovalService.GetAllWareHouse(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.warehouseitemlist = resp.data;\r\n\t\t\t\t\t\r\n\t\t\t\t\t// Set the first item as default\r\n\t\t\t\t\tif (vm.warehouseitemlist.length > 0) {\r\n\t\t\t\t\t\tvm.warehouselist = vm.warehouseitemlist[0].strWareHouseId;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t};\r\n\t\t\r\n\t\tvm.GetAllWareHouse();\r\n\t\tvm.OpenResubmitReplaceModel = function (resubmitreplacedetails) {\r\n\t\t\tvm.resubmitReplacementId = resubmitreplacedetails;\r\n\t\t\tResubmitReplaceModel = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'Resubmit.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeResubmitRequestUpdateModel = function () {\r\n\t\t\tvm.DisableCreateButton(false);\r\n\t\t\tResubmitReplaceModel.close();\r\n\t\t\tvm.resubmitstrReplacementComment = '';\r\n\t\t\tvm.resubmitReplacementId = '';\r\n\t\t}\r\n\t\tvm.ResubmitProductReplacementRequest = function () {\r\n\t\t\tvm.Resubmit_Form.submitted = true;\r\n\t\t\tif (vm.Resubmit_Form.$valid) {\r\n\t\t\t\t// $scope.uploadFiles();\r\n\t\t\t\tvm.DisableCreateButton(true);\r\n\t\t\t\tvar resubmitreplacementreasondata = {\r\n\t\t\t\t\t\"strProductReplacementId\": vm.resubmitReplacementId,\r\n\t\t\t\t\t\"strReplacementComment\": vm.resubmitstrReplacementComment,\r\n\t\t\t\t\t\"strReplacementReason\": vm.resubmitrelacementoption,\r\n\t\t\t\t}\r\n\t\t\t\tProductReplacementApprovalService.ResubmitProductReplacementRequest(resubmitreplacementreasondata, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Product replacement request raised.\");\r\n\t\t\t\t\t\tvm.closeResubmitRequestUpdateModel();\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\tvm.GetProductReplacementList();\r\n\t\t\t\t\t\t\tvm.GetProductReplacementDashboard();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tvm.trackingStatus = false;\r\n\r\n\t\tvm.GetProductReplacementDetails = function (replacementId) {\r\n\t\t\tProductReplacementApprovalService.GetProductReplacementDetails(replacementId, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.trackingDetails = resp.data;\r\n\t\t\t\t\tvm.activitytimeline = resp.data.listApprovalTrail;\r\n\t\t\t\t\tvm.trackingStatus = true;\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.OpenUseerDetails = function (orderid) {\r\n\t\t\t$state.go('index.WareHouseOrderDetailView', {\r\n\t\t\t\torder_id: orderid\r\n\t\t\t}, { reload: true });\r\n\t\t}\r\n\r\n\t\tvm.reorderReplacementId = '';\r\n\t\tvm.OpenReOrderConfirmation = function (reordereplacedetails) {\r\n\t\t\tvm.reorderReplacementId = reordereplacedetails;\r\n\t\t\tReorderModel = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'ReOrderPart.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeReOrderConfirmation = function () {\r\n\t\t\tReorderModel.close();\r\n\t\t\tvm.DisableCreateButton(false);\r\n\t\t\tvm.reorderReplacementId = '';\r\n\t\t\tvm.reorderReplacementComment = '';\r\n\t\t}\r\n\r\n\t\tvm.CreateReOrderProductReplacementRequest = function () {\r\n\t\t\tvm.Reorder_Form.submitted = true;\r\n\t\t\tif (vm.Reorder_Form.$valid) {\r\n\t\t\t\tvm.DisableCreateButton(true);\r\n\t\t\t\tvar reordereplacementreasondata = {\r\n\t\t\t\t\t\"strProductReplacementId\": vm.reorderReplacementId,\r\n\t\t\t\t\t\"strReplacementComment\": vm.reorderReplacementComment,\r\n\t\t\t\t\t\"strReplacementReason\": vm.reorderrelacementoption,\r\n\t\t\t\t}\r\n\t\t\t\tProductReplacementApprovalService.CreateReOrderProductReplacementRequest(reordereplacementreasondata, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Product re-order request raised.\");\r\n\t\t\t\t\t\tvm.closeReOrderConfirmation();\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\tvm.GetProductReplacementList();\r\n\t\t\t\t\t\t\tvm.GetProductReplacementDashboard();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t}\r\n\t\t}\r\n\t\t// vm.TrackingSidePanel = function (replacementId) {\r\n\t\t// \tvm.TrackDetails = p;\r\n\t\t// \tvm.trackingStatus = true;\r\n\t\t// }\r\n\t\tvm.OpenTicketView = function (ticket) {\r\n\t\t\t$state.go('index.JobDetailView', {\r\n\t\t\t\tticketId: ticket\r\n\t\t\t}, { reload: true });\r\n\t\t}\r\n\t\tvm.productType = \"\";\r\n\t\tvm.OpenDeliveredModel = function (requestId, product) {\r\n\t\t\tvm.requestIdTobeUpdated = requestId;\r\n\t\t\tvm.productType = product;\r\n\t\t\tDeliveredUpdateModel = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'UpdateDeliveredStatus.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeDeliveredUpdateModel = function () {\r\n\t\t\tDeliveredUpdateModel.close();\r\n\t\t\tvm.DeliveryRemark = \"\";\r\n\t\t\tvm.warehouselist = \"\";\r\n\t\t\tvm.InvoiceFileName = \"\";\r\n\t\t\tvm.ImageFileName = \"\";\r\n\t\t\tvm.substatus = \"\";\r\n\t\t\tvm.productType = \"\";\r\n\t\t\tvm.IndoorSerialNumber = \"\";\r\n\t\t\tvm.OutdoorSerialNumber = \"\";\r\n\t\t\tvm.ModelNumber = \"\";\r\n\t\t\tvm.clear();\r\n\r\n\t\t}\r\n\t\r\n\t\tvm.OpenRequestUpdateModel = function (requestId, action,modelbrand,productname) {\r\n\t\t\tvm.UpdateAction = action;\r\n\t\t\tvm.requestIdTobeUpdated = requestId;\r\n\t\t\tvm.ModelBrand = modelbrand;\r\n\t\t\tvm.ModelProducName = productname;\r\n\t\t\tRequestUpdateModel = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'UpdateRequestStatus.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope, \r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.GetAllActiveProductModelMaster = function () {\r\n\t\t\tProductReplacementApprovalService.GetAllActiveProductModelMaster(vm.ModelProducName,vm.ModelBrand,loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.AllActiveProductModelNoList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t\tvm.closeRequestUpdateModel = function () {\r\n\t\t\tRequestUpdateModel.close();\r\n\t\t\tvm.UpdationRemark = \"\";\r\n\t\t\tvm.warehouselist = \"\";\r\n\t\t\tvm.FileName = \"\";\r\n\t\t\tvm.GRNumber = \"\";\r\n\t\t\tvm.PackageDetails = \"\";\r\n\t\t\tvm.TrackingLink = \"\";\r\n\t\t\tvm.warehouselist = \"\";\r\n\t\t\tvm.newmodelname = \"\";\r\n\t\t\tvm.oldmodelprice = \"\";\r\n\t\t\tvm.newmodelprice = \"\";\r\n\t\t\tvm.DisableCreateButton = false;\r\n\t\t}\r\n\r\n\t\t$scope.uploadImageForNotice = function (files) {\r\n\t\t\tvm.FileName = \"\";\r\n\t\t\tvm.FilesDoc = files.files[0];\r\n\t\t\tvm.FileName = vm.FilesDoc.name;\r\n\t\t\tvm.FileSize = vm.FilesDoc.size;\r\n\r\n\t\t\t// Allowed file extensions (Images: jpg, jpeg, png, jfif and Documents: pdf, doc, docx)\r\n\t\t\tvar allowedExtensions = /(\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png|\\.JFIF|\\.jfif|\\.PDF|\\.pdf|\\.DOC|\\.doc|\\.DOCX|\\.docx)$/i;\r\n\r\n\t\t\t// Validate file extension\r\n\t\t\tif (!allowedExtensions.exec(vm.FileName)) {\r\n\t\t\t\tvm.FilesDoc = [];\r\n\t\t\t\tvm.clear();\r\n\t\t\t\talert('Please upload a file with extensions .jpg, .jpeg, .png, .jfif, .pdf, .doc, or .docx only.');\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t$scope.uploadImageForDelivery = function (files) {\r\n\t\t\tvm.ImageFileName = \"\";\r\n\t\t\tvm.ImageFilesDoc = files.files[0];\r\n\t\t\tvm.ImageFileName = vm.ImageFilesDoc.name;\r\n\t\t\tvm.ImageFileSize = vm.ImageFilesDoc.size;\r\n\r\n\t\t\t// Allowed file extensions (Images: jpg, jpeg, png, jfif and Documents: pdf, doc, docx)\r\n\t\t\tvar allowedExtensions = /(\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png|\\.JFIF|\\.jfif|\\.PDF|\\.pdf|\\.DOC|\\.doc|\\.DOCX|\\.docx)$/i;\r\n\r\n\t\t\t// Validate file extension\r\n\t\t\tif (!allowedExtensions.exec(vm.ImageFileName)) {\r\n\t\t\t\tvm.ImageFilesDoc = [];\r\n\t\t\t\tvm.clear();\r\n\t\t\t\talert('Please upload a file with extensions .jpg, .jpeg, .png, .jfif, .pdf, .doc, or .docx only.');\r\n\t\t\t}\r\n\t\t}\r\n\t\t$scope.uploadInvoiceForDelivery = function (files) {\r\n\t\t\tvm.InvoiceFileName = \"\";\r\n\t\t\tvm.InvoiceFilesDoc = files.files[0];\r\n\t\t\tvm.InvoiceFileName = vm.InvoiceFilesDoc.name;\r\n\t\t\tvm.FileSize = vm.InvoiceFilesDoc.size;\r\n\r\n\t\t\t// Allowed file extensions (Images: jpg, jpeg, png, jfif and Documents: pdf, doc, docx)\r\n\t\t\tvar allowedExtensions = /(\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png|\\.JFIF|\\.jfif|\\.PDF|\\.pdf|\\.DOC|\\.doc|\\.DOCX|\\.docx)$/i;\r\n\r\n\t\t\t// Validate file extension\r\n\t\t\tif (!allowedExtensions.exec(vm.InvoiceFileName)) {\r\n\t\t\t\tvm.InvoiceFilesDoc = [];\r\n\t\t\t\tvm.clear();\r\n\t\t\t\talert('Please upload a file with extensions .jpg, .jpeg, .png, .jfif, .pdf, .doc, or .docx only.');\r\n\t\t\t}\r\n\t\t}\r\n\t\t// Function to clear the file input\r\n\t\tvm.clear = function () {\r\n\t\t\tangular.element(\"input[type='file']\").val(null);\r\n\t\t};\r\n\t\tvm.PDFViewOfShipmentDoc = function (page) {\r\n\t\t\tvm.IsLoadSucessfull = false;\r\n\t\t\tMainService.GetImageBlob(loggedinUser, token, page).then(function (resp) {\r\n\t\t\t\tvm.pdfimage = resp.data;\r\n\t\t\t\tvm.IsLoadSucessfull = true;\r\n\t\t\t});\r\n\t\t\t$timeout(function () {\r\n\t\t\t\tvm.taxInvoiceModel = $uibModal.open({\r\n\t\t\t\t\ttemplateUrl: \"PDFView.html\",\r\n\t\t\t\t\tsize: \"lg\",\r\n\t\t\t\t\tscope: $scope,\r\n\t\t\t\t});\r\n\t\t\t}, 1000);\r\n\t\t};\r\n\t\tvm.closePDFView = function () {\r\n\t\t\tvm.taxInvoiceModel.close();\r\n\r\n\t\t};\r\n\t\tvm.ImageViewOfShipmentDoc = function (img, index) {\r\n\t\t\tMainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n\t\t\t\tif (resp.data == null || resp.data == '') {\r\n\t\t\t\t\tvm.productImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.productImg[index] = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, function () {\r\n\t\t\t\tvm.productImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t\r\n\t\t$scope.checkPDF = function (path) {\r\n\t\t\tif (path) {\r\n\t\t\t\tvar pt = path.substr(path.length - 4);\r\n\t\t\t\tif (pt == '.pdf') {\r\n\t\t\t\t\tvm.error = function () {\r\n\t\t\t\t\t\t$(\".pdf\").attr({ \"target\": \"_blank\" })\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tvm.ActionToBeTaken = '';\r\n\t\tvm.UpdateRequestStatus = function () {\r\n\t\t\tif (vm.UpdateAction == 'Approval') {\r\n\t\t\t\tvm.ActionToBeTaken = 'Approved';\r\n\t\t\t}\r\n\t\t\telse if (vm.UpdateAction == 'Dispatched'){\r\n\t\t\t\tvm.ActionToBeTaken = 'Dispatched';\r\n\t\t\t}\r\n\t\t\telse if (vm.UpdateAction == 'Delivered'){\r\n\t\t\t\tvm.ActionToBeTaken = 'Delivered';\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tvm.ActionToBeTaken = 'Reject';\r\n\t\t\t}\r\n\t\t\tvm.Request_Update_Form.submitted = true;\r\n\t\t\tif (vm.Request_Update_Form.$valid) {\r\n\t\t\t\tvm.disableCreateButton = true;\r\n\t\t\t\tvar RequestModel = {\r\n\t\t\t\t\t\"ReplacementId\": vm.requestIdTobeUpdated,\r\n\t\t\t\t\t\"Status\": vm.ActionToBeTaken,\r\n\t\t\t\t\t\"Comment\": \"\",\r\n\t\t\t\t\t\"Reason\": vm.UpdationRemark,\r\n\t\t\t\t\t\"WareHouseId\": vm.warehouselist,\r\n\t\t\t\t\t\"NewModelNumber\" : vm.newmodelname,\r\n\t\t\t\t\t\"OldModelPrice\" : vm.oldmodelprice,\r\n\t\t\t\t\t\"NewModelPrice\" : vm.newmodelprice,\r\n\t\t\t\t }\r\n\t\t\t\tProductReplacementApprovalService.UpdateProductReplacementStatus(RequestModel, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Request updated successfully\");\r\n\t\t\t\t\t\tvm.closeRequestUpdateModel();\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\tvm.GetProductReplacementList();\r\n\t\t\t\t\t\t\tvm.GetProductReplacementDashboard();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t\tvm.DisableCreateButton = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.UpdateProductReplacementStatusWithAttachment = function () {\r\n\t\t\tif (vm.UpdateAction == 'Approval') {\r\n\t\t\t\tvm.ActionToBeTaken = 'Approved';\r\n\t\t\t}\r\n\t\t\telse if (vm.UpdateAction == 'Dispatched') {\r\n\t\t\t\tvm.ActionToBeTaken = 'Dispatched';\r\n\t\t\t}\r\n\t\t\telse if (vm.UpdateAction == 'Delivered') {\r\n\t\t\t\tvm.ActionToBeTaken = 'Delivered';\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.ActionToBeTaken = 'Reject';\r\n\t\t\t}\r\n\t\t\tvm.Request_Update_Form.submitted = true;\r\n\t\t\tif (vm.Request_Update_Form.$valid) { \r\n\t\t\t\tvm.disableCreateButton = true;\r\n\t\t\t\tvm.PackageDetails = [{\r\n\t\t\t\t\t\"strPackageId\": vm.strPackageId,\r\n\t\t\t\t\t\"strPackageStatus\": \"Shipped\",\r\n\t\t\t\t\t\"strPackageTrackingId\": vm.strPackageTrackingId,\r\n\t\t\t\t\t\"strShipmentId\": vm.strShipmentId,\r\n\t\t\t\t\t\"datePackedOn\": moment().format(\"YYYY-MM-DD\")\r\n\t\t\t\t}]\r\n\t\t\t\tvar RequestModel = {\r\n\t\t\t\t\t\"ReplacementId\": vm.requestIdTobeUpdated,\r\n\t\t\t\t\t\"Status\": vm.ActionToBeTaken,\r\n\t\t\t\t\t\"Comment\": \"\",\r\n\t\t\t\t\t\"Reason\": vm.UpdationRemark,\r\n\t\t\t\t\t\"WareHouseId\": vm.warehouselist,\r\n\t\t\t\t\t\"TrackingLink\": vm.TrackingLink,\r\n\t\t\t\t\t\"PackageDetails\": vm.PackageDetails,\r\n\t\t\t\t\t\"GRNumber\": vm.GRNumber,\r\n\t\t\t\t\t\"Attachement\": vm.FileName,\r\n\t\t\t\t}\r\n\t\t\t\tProductReplacementApprovalService.UpdateProductReplacementStatusWithAttachment(RequestModel, vm.FilesDoc, vm.FileName, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Request updated successfully\");\r\n\t\t\t\t\t\tvm.closeRequestUpdateModel();\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\tvm.GetProductReplacementList();\r\n\t\t\t\t\t\t\tvm.GetProductReplacementDashboard();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t\tvm.disableCreateButton = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tvm.AcceptDelivery = function () {\r\n\t\t\tvm.DeliveryModal_Form.submitted = true;\r\n\t\t\tif (vm.DeliveryModal_Form.$valid) {\r\n\t\t\t\tvar data = {\r\n\t\t\t\t\t\"ReplacementId\": vm.requestIdTobeUpdated,\r\n\t\t\t\t\t\"Reason\": vm.DeliveryRemark,\r\n\t\t\t\t\t\"ModelNumber\": vm.ModelNumber,\r\n\t\t\t\t\t\"IndoorSerialNumber\": vm.IndoorSerialNumber,\r\n\t\t\t\t\t\"OutdoorSerialNumber\": vm.OutdoorSerialNumber,\r\n\t\t\t\t\t\"SubStatus\": vm.substatus,\r\n\t\t\t\t\t\"DamgedAttachment\": vm.ImageFileName,\r\n\t\t\t\t\t\"InvoiceImage\": vm.InvoiceFileName\r\n\t\t\t\t}\r\n\t\t\t\tProductReplacementApprovalService.MarkProductStatusDeliveredByServiceCenter(data, vm.ImageFilesDoc, vm.ImageFileName, vm.InvoiceFilesDoc, vm.InvoiceFileName, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Request marked delivered successfully\");\r\n\t\t\t\t\t\tvm.closeDeliveredUpdateModel();\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\tvm.GetProductReplacementList();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t\t}\r\n\t\t}\r\n\t\t$scope.openTrackingLink = function (trackingLink) {\r\n\t\t\t$window.open(trackingLink, '_blank');\r\n\t\t};\r\n\r\n\r\n\t\t$scope.totalInvList = 0;\r\n\t\t$scope.inventoryPerPage = vm.allInventoryPageListCount;\r\n\t\t$scope.InventoryPagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\r\n\r\n\t\tvm.changeAllInventoryPageListCount = function () {\r\n\t\t\t$scope.inventoryPerPage = vm.allInventoryPageListCount;\r\n\t\t\tPageSize = $scope.inventoryPerPage;\r\n\t\t\t$scope.AllInventoryTablePageChanged($scope.InventoryPagination.current);\r\n\t\t\tvm.selectAll = false;\r\n\t\t\tPageIndex = $scope.InventoryPagination.current;\r\n\t\t\t$scope.AllInventoryTablePageChanged = function (newPage) {\r\n\t\t\t\tPageIndex = newPage;\r\n\r\n\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tPageIndex = $scope.InventoryPagination.current;\r\n\t\t$scope.AllInventoryTablePageChanged = function (newPage) {\r\n\t\t\tPageIndex = newPage;\r\n\t\t\tvm.GetProductReplacementList();\r\n\r\n\t\t};\r\n\t\tvm.SearchText = '';\r\n\t\tvm.warehouselist = \"\";\r\n\t\tvm.warehouseInvetoryList = [];\r\n\r\n\r\n\t\tvm.clearFilter = function () {\r\n\t\t\tvm.SearchText = '';\r\n\t\t\tvm.warehouselist = '';\r\n\r\n\t\t}\r\n\r\n\t\tvm.applyOrderFilter = function () {\r\n\t\t\tvm.GetProductReplacementList();\r\n\t\t\tvm.GetProductReplacementDashboard();\r\n\t\t}\r\n\r\n\t\tvm.SelectedOrderStatus = vm.loggedInUserRole === 'Service Center' ? 'Dispatched' : 'PendingAtMe';\r\n\r\n\t\tvm.setSelectedFilter = function (item) {\r\n\t\t\tvm.SelectedOrderStatus = item;\r\n\t\t\tvm.applyOrderFilter();\r\n\t\t};\r\n\r\n\r\n\t\tvm.clearMyOrderFilter = function () {\r\n\t\t\tvm.SelectedOrderStatus = '';\r\n\t\t\tvm.warehouselist = '';\r\n\t\t\tvm.searchTag = '';\r\n\t\t\tvm.applyOrderFilter();\r\n\t\t}\r\n\r\n\t\tvm.TrainingImageServices = function (img, index) {\r\n\t\t\tMainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n\t\t\t\tif (resp.data == null || resp.data == '') {\r\n\t\t\t\t\tvm.TrainingImagebase64[index] = 'assets/images/patterns/image_placeholder.png';\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.TrainingImagebase64[index] = resp.data;\r\n\t\t\t\t}\r\n\t\t\t\t$scope.filesArray.push({\r\n\t\t\t\t\tname: img,\r\n\t\t\t\t\tsrc: vm.TrainingImagebase64[index],\r\n\t\t\t\t});\r\n\t\t\t}, function () {\r\n\t\t\t\tvm.TrainingImagebase64[index] = 'assets/images/patterns/image_placeholder.png';\r\n\t\t\t\t$scope.filesArray.push({\r\n\t\t\t\t\tname: img,\r\n\t\t\t\t\tsrc: vm.TrainingImagebase64[index],\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.showPartDetails = false;\r\n\r\n\t\t$scope.totalOrderList = 0;\r\n\t\t$scope.ordersPerPage = vm.allOrdersPageListCount;\r\n\t\t$scope.OrdersPagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\r\n\t\tvm.changeAllOrderPageListCount = function () {\r\n\t\t\t$scope.ordersPerPage = vm.allOrdersPageListCount;\r\n\t\t\toPageSize = $scope.ordersPerPage;\r\n\t\t\t$scope.AllOrderTablePageChanged($scope.OrdersPagination.current);\r\n\t\t\toPageIndex = $scope.OrdersPagination.current;\r\n\t\t\t$scope.AllOrderTablePageChanged = function (newPage) {\r\n\t\t\t\toPageIndex = newPage;\r\n\t\t\t\tvm.GetProductReplacementList();\r\n\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\toPageIndex = $scope.OrdersPagination.current;\r\n\t\t$scope.AllOrderTablePageChanged = function (newPage) {\r\n\t\t\toPageIndex = newPage;\r\n\t\t\tvm.GetProductReplacementList();\r\n\r\n\t\t};\r\n\t\tvm.orderInvetoryList = [];\r\n\r\n\t\tvm.GetProductReplacementList = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"Status\": vm.SelectedOrderStatus,\r\n\t\t\t\t\"SearchText\": vm.searchTag,\r\n\t\t\t\t\"StartDate\": startDate,\r\n\t\t\t\t\"EndDate\": endDate,\r\n\t\t\t\t\"PageIndex\": oPageIndex,\r\n\t\t\t\t\"PageSize\": oPageSize\r\n\t\t\t}\r\n\t\t\tProductReplacementApprovalService.GetProductReplacementList(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.orderInvetoryList = resp.data.ReturnList;\r\n\t\t\t\t\t$scope.totalOrderList = resp.data.RecordCount;\r\n\t\t\t\t\tvm.productImg = [];\r\n\t\t\t\t\tfor (var i = 0; i < vm.orderInvetoryList.length; i++) {\r\n\t\t\t\t\t\tvar item = vm.orderInvetoryList[i];\r\n\t\t\t\t\t\tvm.ImageViewOfShipmentDoc(item.strPackageAttachment, i);\r\n\t\t\t\t\t\t// vm.ImageViewOfInvoice(item.InvoiceImage, i);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (vm.orderInvetoryList.length < vm.allOrdersPageListCount)\r\n\t\t\t\t\t\tvm.orderListLength = $scope.totalOrderList;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.orderListLength = oPageIndex * vm.allOrdersPageListCount;\r\n\t\t\t\t\tif (oPageIndex == 1)\r\n\t\t\t\t\t\tvm.opageindexCount = 1;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.opageindexCount = (((oPageIndex - 1) * vm.allOrdersPageListCount) + 1);\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.GetProductReplacementList();\r\n\r\n\r\n\t\tvm.GetProductReplacementDashboard = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"Status\": vm.SelectedOrderStatus,\r\n\t\t\t\t\"SearchText\": vm.searchTag,\r\n\t\t\t\t\"StartDate\": startDate,\r\n\t\t\t\t\"EndDate\": endDate,\r\n\t\t\t\t\"PageIndex\": oPageIndex,\r\n\t\t\t\t\"PageSize\": oPageSize\r\n\t\t\t}\r\n\t\t\tProductReplacementApprovalService.GetProductReplacementDashboard(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.DashboardCount = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.GetProductReplacementDashboard();\r\n\r\n\t\tvm.GetProductReplacementList_CSV = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"Status\": vm.SelectedOrderStatus,\r\n\t\t\t\t\"SearchText\": vm.searchTag,\r\n\t\t\t\t\"StartDate\": startDate,\r\n\t\t\t\t\"EndDate\": endDate,\r\n\t\t\t\t\"PageIndex\": oPageIndex,\r\n\t\t\t\t\"PageSize\": oPageSize\r\n\t\t\t}\r\n\t\t\tProductReplacementApprovalService.GetProductReplacementList_CSV(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvar csvData = resp.data;\r\n\t\t\t\t\tvar blob = new Blob([csvData], { type: 'text/csv' });\r\n\t\t\t\t\tvar url = window.URL.createObjectURL(blob);\r\n\t\t\t\t\tvar a = document.createElement('a');\r\n\t\t\t\t\ta.href = url;\r\n\t\t\t\t\ta.download = 'All_Replacement_Orders_List.csv';\r\n\t\t\t\t\ta.click();\r\n\t\t\t\t\twindow.URL.revokeObjectURL(url);\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.Acceptancemodel = function (requestDetails) {\r\n\t\t\tvm.showPartDetails = false;\r\n\t\t\tvm.AllRequestDetail = requestDetails;\r\n\t\t\tvm.updateStatusModelOpen = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'acceptancepopup.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.CloseAcceptanceModel = function () {\r\n\t\t\tvm.updateStatusModelOpen.close();\r\n\t\t\tvm.DisableCreateButton(false);\r\n\t\t\tvm.UpdateOrderStatus = \"\";\r\n\t\t\tvm.TrackingLink = \"\";\r\n\t\t\tvm.strPackageId = \"\";\r\n\t\t\tvm.strPackageStatus = \"\";\r\n\t\t\tvm.strPackageTrackingId = \"\";\r\n\t\t\tvm.strShipmentId = \"\";\r\n\t\t\tvm.PackageDetails = [];\r\n\t\t\tvm.datePackedOn = moment().format(\"YYYY-MM-DD\");\r\n\t\t}\r\n\t}\r\n});\nangular.module('inspinia').service('PriceModelMappingService', function (ApiURL, FreelancerURL,LocationURL,PublicApiURL, $log, $http,$localStorage,$window) {\r\n\r\nthis.getAllGoodsWithoutZeroPrice = function ( reqUserId,token,PageIndex,PageSize,SearchValue) { \r\n var url = ApiURL + '/api/ProductBrandModel/GetAllWhiteGoodsIntegrationWithoutZeroPrice?' + '&PageIndex=' + PageIndex + '&PageSize=' + PageSize;\r\n if(SearchValue)\r\n {\r\n url = url + '&searchValue=' + SearchValue;\r\n }\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': reqUserId\r\n }\r\n });\r\n}\r\n\r\n//https://product.mymobiforce.com/coreapi/api/TicketToBeCancel/GetTBCCancellationReasons\r\nthis.GetTBCCancellationReasons = function ( reqUserId,token) { \r\n var url = ApiURL + '/api/TicketToBeCancel/GetTBCCancellationReasons';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': reqUserId\r\n }\r\n });\r\n}\r\n\r\n//Tickets API\r\nthis.getAllGoodsWithZeroPrice = function (reqUserId,token,PageIndex,PageSize,SearchValue) { \r\n url = ApiURL + '/api/ProductBrandModel/GetAllWhiteGoodsIntegrationWithZeroPrice?'+ '&PageIndex=' + PageIndex + '&PageSize=' + PageSize;\r\n if(SearchValue)\r\n {\r\n url = url + '&searchValue=' + SearchValue;\r\n }\r\n return $http.get(url, {\r\n headers: { \r\n 'Content-Type': 'application/json',\r\n 'Token':token , \r\n 'UserId':reqUserId\r\n \r\n }\r\n });\r\n}\r\n\r\n//https://product.mymobiforce.com/coreapi/api/ProductBrandModel/UpdateWhiteGoodsIntegrationConfig\r\nthis.UpdateWhiteGoodsIntegrationConfig = function (loginUserId, data, token) { \r\n var url = ApiURL + '/api/ProductBrandModel/UpdateWhiteGoodsIntegrationConfig';\r\n return $http.put(url,data,{\r\n headers:{'Content-Type':'application/json','Token':token, 'UserId':loginUserId}\r\n });\r\n}\r\n\r\nthis.UpdateTBCconfig = function (loginUserId, data, token) { \r\n var url = ApiURL + '/api/TicketToBeCancel/ConfigureTBCCancellationReasonsOnAccount';\r\n return $http.post(url,data,{\r\n headers:{'Content-Type':'application/json','Token':token, 'UserId':loginUserId}\r\n });\r\n}\r\n//https://product.mymobiforce.com/coreapi/api/ProductBrandModel/GetJobLineItemGroupByModel\r\nthis.GetSuggestionOfJobLineItem = function (loginUserId, data, token) { \r\n var url = ApiURL + '/api/ProductBrandModel/GetJobLineItemGroupByModel';\r\n return $http.put(url,data,{\r\n headers:{'Content-Type':'application/json','Token':token, 'UserId':loginUserId}\r\n });\r\n}\r\n\r\n//https://login.mymobiforce.com/coreapi/api/ProductBrandModel/CreateWhiteGoodsIntegrationConfig\r\nthis.AddBrandandModel = function (data, token, loggedInUserId) { \r\n var url = ApiURL + '/api/ProductBrandModel/CreateWhiteGoodsIntegrationConfig';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n })\r\n}\r\n\r\n// https://product.mymobiforce.com/coreapi/api/SkillSets?reqUserId=U1850000000001\r\nthis.GetAllSkills = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json', 'Token': token, 'UserId': loggedinUser}\r\n });\r\n}\r\n\r\n// https://product.mymobiforce.com/coreapi/api/Project/GetProjectsIdsByAccountId\r\nthis.GetAllProjects = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/Project/GetProjectsIdsByAccountId';\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json', 'Token': token, 'UserId': loggedinUser}\r\n });\r\n}\r\n\r\n\r\n});\r\n\nangular.module('inspinia').controller('PriceModelMappingController', function (PriceModelMappingService,ReferService, toaster, $filter,$rootScope, PublicApiURL, $window, $log, $q, $compile, DTOptionsBuilder,DTColumnDefBuilder, DTColumnBuilder, $uibModal, $localStorage, ticketTemplateService, $scope, $state, FreelancerURL, ApiURL, $timeout) {\r\n\tvm = this;\r\n\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\t\r\n\tvm.ListGoodsWithoutZeroPrice ={};\r\n \tvm.CustomDateformat = $localStorage.CustomDateformat; \r\n vm.LineItemAccountId = $localStorage.accountConfig.AccountId\r\n vm.FreelancerAccess = $localStorage.accountConfig.FreelancerAccess;\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.accountConfig = $localStorage.accountConfig;\r\n vm.confirmTagModal = $scope.$parent.$parent.main.confirmTagModal;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.CurrencySymbol = $localStorage.accountConfig.CurrencySymbol;\r\n vm.EnableRegion = vm.getAccountConfigSetting('EnableRegion');\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n var token = $localStorage.token;\r\n\t vm.ticketList = [];\r\n vm.ListGoodsWithoutZeroPrice=[];\r\n vm.ListOfLineItem=[];\r\n vm.ListofGoods=[]; \r\n vm.CustomerList = [];\r\n vm.ProjectList = [];\r\n vm.SearchByGroupId = '';\r\n vm.BrandName ='';\r\n vm.ModelNumber ='';\r\n vm.SelectedPriceGroup = '';\r\n vm.ProjectId ='';\r\n vm.SkillName ='';\r\n vm.AccountId = '';\r\n\r\n vm.addBrandName ='';\r\n vm.addModelNumber ='';\r\n vm.addSelectedPriceGroup = '';\r\n vm.addProjectId ='';\r\n vm.addSkillName ='';\r\n vm.addAccountId = '';\r\n vm.addGroupId = '';\r\n vm.edit=false;\r\n vm.SearchByPriceGroupId = '';\r\n vm.SearchByNoPriceGroupId = '';\r\n vm.ProjectId = '';\r\n vm.previousPage = $localStorage.previousPage;\r\n vm.autoScheduleOn = $localStorage.accountConfig.IsAutoSchedulerOn;\r\n var approveModalInstance = {};\r\n var supervisorId = $localStorage.loggedInUserId;\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n vm.loggedInAs = $localStorage.loggedinAs;\r\n\r\n // page 1 to 10\r\n\r\n vm.pageindexCount=0;\r\n vm.pageindexCountWithoutZero=0;\r\n vm.ticketList = [];\r\n vm.WithZeroListLength=0;\r\n vm.WithoutZeroListLength=0;\r\n vm.TypeOfList=\"ZeroPrice\";\r\n \r\n var itemNames = \"\";\r\n var itemValues = \"\";\r\n var PageIndex = 1;\r\n \r\n\r\n var PageIndexWithoutZero = 1;\r\n var PageSize = 10;\r\n\r\n $scope.totalTableWithZero = 0;\r\n $scope.usersTablePerPage = 10;\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n \r\n $scope.totalTableWithoutZero = 0;\r\n $scope.usersTablePerPageWithoutZero = 10; \r\n $scope.UserTablepaginationWithoutZero = {\r\n currentPage: 1\r\n };\r\n \r\n $scope.UserTablepagination.current= $localStorage.TicketFilterModel?$localStorage.TicketFilterModel.PageIndex:1;\r\n\r\n $scope.UserTablepageChanged = function(newPage) {\r\n\t\t \r\n\t PageIndex = newPage;\t \r\n\t vm.getAllGoodsWithZeroPrice(loggedinUser,token,PageIndex,PageSize,vm.SearchByNoPriceGroupId);\r\n \r\n\t};\r\n $scope.UserTablepaginationWithoutZero.currentPage= $localStorage.TicketFilterModelInvoice?$localStorage.TicketFilterModelInvoice.PageIndexWithoutZero:1;\r\n\r\n $scope.UserTablepageChangedWTZ = function(newPage) {\r\n \r\n PageIndexWithoutZero = newPage;\t\r\n \r\n vm.getAllGoodsWithoutZeroPrice(loggedinUser,token,PageIndexWithoutZero,PageSize,vm.SearchByNoPriceGroupId);\r\n\r\n };\r\n \r\n\r\nvm.TabClickEvent= function(listType)\r\n{\r\n \r\n vm.TypeOfList=listType;\r\n if(vm.TypeOfList==\"ZeroPrice\")\r\n {\r\n vm.getAllGoodsWithZeroPrice(loggedinUser,token,PageIndex,PageSize, vm.SearchByPriceGroupId);\r\n }\r\n else if (vm.TypeOfList==\"WithoutZeroPrice\")\r\n { \r\n vm.getAllGoodsWithoutZeroPrice(loggedinUser,token,PageIndexWithoutZero,PageSize, vm.SearchByNoPriceGroupId);\r\n }\r\n else if (vm.TypeOfList==\"TBC\")\r\n { \r\n vm.GetTBCCancellationReasons(loggedinUser,token);\r\n }\r\n}\r\n\r\nvm.applySearch = function(){\r\n if(vm.TypeOfList==\"ZeroPrice\")\r\n { \r\n vm.getAllGoodsWithZeroPrice(loggedinUser,token,PageIndex,PageSize, vm.SearchByPriceGroupId);\r\n }\r\n else if(vm.TypeOfList==\"WithoutZeroPrice\")\r\n { \r\n vm.getAllGoodsWithoutZeroPrice(loggedinUser,token,PageIndexWithoutZero,PageSize, vm.SearchByNoPriceGroupId);\r\n } \r\n}\r\n\r\nvm.clearSearchText = function(){ \r\n if(vm.TypeOfList==\"ZeroPrice\")\r\n { \r\n vm.SearchByPriceGroupId = '';\r\n vm.getAllGoodsWithZeroPrice(loggedinUser,token,PageIndex,PageSize, vm.SearchByPriceGroupId);\r\n }\r\n else if(vm.TypeOfList==\"WithoutZeroPrice\")\r\n { \r\n vm.SearchByNoPriceGroupId = '';\r\n vm.getAllGoodsWithoutZeroPrice(loggedinUser,token,PageIndexWithoutZero,PageSize, vm.SearchByNoPriceGroupId);\r\n } \r\n}\r\n\r\n\r\nvm.getAllGoodsWithoutZeroPrice = function (loggedinUser,token,PageIndex,PageSize,SearchValue) {\t\r\n\tPriceModelMappingService.getAllGoodsWithoutZeroPrice(loggedinUser,token,PageIndex,PageSize,SearchValue).then(function (resp) {\r\n\t if (resp && resp.data) {\r\n\t\tvm.ListGoodsWithoutZeroPrice = resp.data.BrandModelList;\r\n\t\t $scope.totalTableWithoutZero = resp.data.Total;\t\r\n \r\n if(vm.ListGoodsWithoutZeroPrice.length < 10)\r\n vm.WithoutZeroListLength = $scope.totalTableWithoutZero;\r\n else\r\n vm.WithoutZeroListLength = PageIndexWithoutZero * 10;\r\n if(PageIndexWithoutZero==1)\r\n vm.pageindexCountWithoutZero = 1;\r\n else\r\n vm.pageindexCountWithoutZero = (((PageIndexWithoutZero-1) * 10) + 1);\r\n\t }\r\n\r\n\t}, function () {\r\n\t \r\n\t});\r\n }\r\n\r\n vm.GetTBCCancellationReasons = function (loggedinUser,token) {\t\r\n PriceModelMappingService.GetTBCCancellationReasons(loggedinUser,token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.getTBClist = resp.data;\r\n // $scope.totalTableWithoutZero = resp.data.Total;\t\r\n \r\n // if(vm.ListGoodsWithoutZeroPrice.length < 10)\r\n // vm.WithoutZeroListLength = $scope.totalTableWithoutZero;\r\n // else\r\n // vm.WithoutZeroListLength = PageIndexWithoutZero * 10;\r\n // if(PageIndexWithoutZero==1)\r\n // vm.pageindexCountWithoutZero = 1;\r\n // else\r\n // vm.pageindexCountWithoutZero = (((PageIndexWithoutZero-1) * 10) + 1);\r\n }\r\n \r\n }, function () {\r\n \r\n });\r\n }\r\n \r\n //getAllGoodsWithZeroPrice\r\n\r\n vm.getAllGoodsWithZeroPrice = function (loggedinUser,token,PageIndex,PageSize, SearchValue) {\r\n PriceModelMappingService.getAllGoodsWithZeroPrice(loggedinUser,token,PageIndex,PageSize, SearchValue).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.ListofGoods = resp.data.BrandModelList;\t\r\n $scope.totalTableWithZero = resp.data.Total;\r\n \r\n if(vm.ListofGoods.length < 10)\r\n vm.WithZeroListLength = $scope.totalTableWithZero;\r\n else\r\n vm.WithZeroListLength = PageIndex * 10;\r\n if(PageIndex==1)\r\n vm.pageindexCount = 1;\r\n else\r\n vm.pageindexCount = (((PageIndex-1) * 10) + 1);\r\n } \r\n \r\n }, function () {\r\n \r\n });\r\n }\r\n \r\n vm.getAllGoodsWithZeroPrice(loggedinUser,token,PageIndex,PageSize);\r\n\r\n vm.updateWhiteGoods = function (index) { \r\n var data = [ \r\n {\r\n \"BrandName\": vm.ListofGoods[index].BrandName,\r\n \"ModelNumber\": vm.ListofGoods[index].ModelNumber,\r\n \"GroupId\": vm.SelectedPriceGroup.GroupId,\r\n \"GroupName\": vm.SelectedPriceGroup.GroupName,\r\n \"ProjectId\": vm.ListofGoods[index].ProjectId,\r\n \"SkillName\": vm.ListofGoods[index].SkillName\r\n } \r\n ] \r\n PriceModelMappingService.UpdateWhiteGoodsIntegrationConfig(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 202 ) {\r\n \r\n $timeout(function () {\r\n\r\n vm.showSuccess(\"Success\", \"Updated successfully\"); \r\n vm.getAllGoodsWithZeroPrice(loggedinUser,token,PageIndex,PageSize);\r\n \r\n }, 1000);\r\n }\r\n if (resp.status == 206) { \r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }\r\n }, function () { \r\n });\r\n }\r\n\r\n //TBC edit and save\r\n vm.updateTBCResons = function (index) {\r\n if(vm.getTBClist[index].TBCPrice > 100 || vm.getTBClist[index].TBCPrice < -1) {\r\n vm.showFailure(\"please enter percentage between 0 to 100 only\"); \r\n vm.GetTBCCancellationReasons(loggedinUser,token);\r\n }\r\n else {\r\n var data = [ \r\n {\r\n \"CancellationReason\": vm.getTBClist[index].CancellationReason,\r\n \"TBCPrice\": vm.getTBClist[index].TBCPrice,\r\n \"IsApplicableForAutoPayment\": vm.getTBClist[index].IsApplicableForAutoPayment\r\n } \r\n ] \r\n PriceModelMappingService.UpdateTBCconfig(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 200 ) {\r\n \r\n $timeout(function () {\r\n vm.showSuccess(\"Success\", \"Updated successfully\"); \r\n vm.GetTBCCancellationReasons(loggedinUser,token); \r\n }, 2000);\r\n }\r\n if (resp.status == 206) { \r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }\r\n }, function () { \r\n });\r\n } \r\n }\r\n\r\n //get suggestion'\r\n vm.getJobLineItem = function (index,e) {\r\n // vm.ListofGoods[index].edit = e;\r\n var data = \r\n {\r\n \"BrandName\": vm.ListofGoods[index].BrandName,\r\n \"ModelNumber\": vm.ListofGoods[index].ModelNumber,\r\n \"GroupId\": vm.ListofGoods[index].GroupId,\r\n \"GroupName\": vm.ListofGoods[index].GroupName,\r\n \"ProjectId\": vm.ListofGoods[index].ProjectId,\r\n \"SkillName\": vm.ListofGoods[index].SkillName,\r\n \"AccountId\": vm.ListofGoods[index].AccountId\r\n } \r\n PriceModelMappingService.GetSuggestionOfJobLineItem(loggedinUser, data, token).then(function (resp) {\r\n vm.ListOfLineItem = resp.data;\r\n }, function () { \r\n });\r\n }\r\n\r\n vm.getJobLineItemForAdd = function () {\r\n var data = \r\n {\r\n \"ProjectId\": vm.ProjectId,\r\n \"AccountId\": vm.LineItemAccountId\r\n } \r\n PriceModelMappingService.GetSuggestionOfJobLineItem(loggedinUser, data, token).then(function (resp) {\r\n vm.ListOfLineItem = resp.data;\r\n }, function () { \r\n });\r\n }\r\n\r\n vm.loadAllSkills = function(){\r\n PriceModelMappingService.GetAllSkills(loggedinUser, token).then(function (resp) {\r\n vm.skillsWithPipe = '';\r\n if (resp && resp.data) {\r\n vm.skillData = resp.data;\r\n }\r\n });\r\n }\r\n vm.loadAllSkills();\r\n\r\n vm.loadAllProjects = function(){\r\n PriceModelMappingService.GetAllProjects(loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.ProjectData = resp.data;\r\n }\r\n });\r\n }\r\n vm.loadAllProjects();\r\n \r\n\r\n vm.openBMModel = function (currentJOb) {\r\n vm.CurrentJob = currentJOb;\r\n openBMModel = $uibModal.open({\r\n templateUrl: 'openBMmodel.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n \r\n vm.CloseopenBMModel = function () {\r\n vm.addBrandName ='';\r\n vm.addModelNumber ='';\r\n vm.addSelectedPriceGroup = '';\r\n vm.addProjectId ='';\r\n vm.addSkillName ='';\r\n vm.addAccountId = '';\r\n vm.addGroupId = '';\r\n vm.ProjectId = '';\r\n openBMModel.close();\r\n }\r\n \r\n vm.AddBM = function () { \r\n var data = [{\r\n \"BrandName\": vm.addBrandName,\r\n \"ModelNumber\": vm.addModelNumber,\r\n \"GroupId\": vm.addSelectedPriceGroup.GroupId,\r\n \"GroupName\": vm.addSelectedPriceGroup.GroupName,\r\n \"ProjectId\": vm.ProjectId,\r\n \"SkillName\": vm.addSkillName \r\n }];\r\n PriceModelMappingService.AddBrandandModel(data, token, loggedinUser).then(function (resp) { \r\n if (resp.status == 201 ) {\r\n vm.showSuccess(\"Success\", \"Added successfully\"); \r\n $timeout(function () { \r\n vm.CloseopenBMModel(); \r\n vm.getAllGoodsWithZeroPrice(loggedinUser,token,PageIndex,PageSize);\r\n }, 1000);\r\n }\r\n if (resp.status == 206) { \r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }\r\n }, function () { \r\n });\r\n \r\n }\r\n \r\n }\r\n\r\n})\r\n \r\n\r\n\nangular.module('inspinia').service('PreferredVendorTechnicianProfileService', function (ApiURL,FreelancerURL, LocationURL, $log, $http, $localStorage) {\r\n \r\n\t //http://localhost:56749/api/Vendor/kanika.bansal%40innotiontech.com/V0000000001/getvendorbyid\r\n\t this.GetVendorById = function(loggedInUser,vendorId, token){\r\n\t\tvar url = ApiURL + '/api/Vendor/' + loggedInUser + '/' + vendorId + '/getvendorbyid';\r\n\t\treturn $http.get(url,{\r\n\t\t headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n\t\t})\r\n\t }\r\n\r\n\t //https://perf.mymobiforce.com/freelancerapi/api/FreelancerVendor/getvendorteam?reqUserId=F00000000000&VendorId=V00000000143\r\n\tthis.GetVendorTeam = function(loggedInUser,vendorId, token){\r\n\t\tvar url = FreelancerURL + '/api/FreelancerVendor/getvendorteam?reqUserId=' + loggedInUser + '&VendorId=' + vendorId;\r\n\t\treturn $http.get(url,{\r\n\t\t headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n\t\t})\r\n\t }\r\n\r\n\t this.PreferredSingleVendor = function(loggedinUser, vendorId, status, token){\r\n\t\tvar url = FreelancerURL + '/api/FreelancerVendor/Favorite/' + loggedinUser + '/'+ vendorId +'/'+status;\r\n\t\treturn $http.put(url, null, {\r\n\t\t headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n\t\t});\r\n\t }\r\n\t this.BlockedSingleUser = function(loggedinUser, userId, status, token){\r\n\t\tvar url = FreelancerURL + '/api/FreeLancerUser/Block/' + loggedinUser + '/'+ userId +'/'+status;\r\n\t\treturn $http.put(url, null, {\r\n\t\t headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n\t\t});\r\n\t }\r\n\t this.BlockedVendor = function(loggedinUser, vendorId, status, token){\r\n\t\tvar url = FreelancerURL + '/api/FreelancerVendor/Block/' + loggedinUser + '/'+ vendorId +'/'+status;\r\n\t\treturn $http.put(url, null, {\r\n\t\t headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n\t\t});\r\n\t }\r\n\r\n\t// this.GetTicketsByVendor = function(loggedInUser,vendorId,itemName,itemValue,token){\r\n\t// \tvar url = ApiURL + '/api/Ticket/' + loggedInUser + '/' + vendorId + '/' + itemName + '/' + itemValue+'/getticketsbyvendor';\r\n\t// \treturn $http.get(url,{\r\n\t// \t headers:{'Content-Type' : 'application/json','Token':token}\r\n\t// \t})\r\n\t// }\r\n\t \r\n\tthis.GetTicketsByVendor = function(loggedInUser,vendorId,token){\r\n\t var url = FreelancerURL + '/api/FreeLancerTicket/byVendorId?reqUserId=' + loggedInUser + '&VendorId=' + vendorId;\r\n\t return $http.get(url,{\r\n\t\theaders:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n\t })\r\n\t}\r\n\r\n\tthis.UserAgreement=function(userId,loggedinUser, token){\r\n\t\tvar url =ApiURL + \"/api/User/GetEULAByUserId?reqUserId=\" +loggedinUser+\"&userId=\"+userId;\r\n\t\treturn $http.get(url, {\r\n\t\t headers: {\r\n\t\t\t'Content-Type': 'application/json',\r\n\t\t\t'Token': token, 'UserId':loggedinUser\r\n\t\t }\r\n\t\t});\r\n\t }\r\n\r\n \r\n\t// https://perf.mymobiforce.com/coreapi/api/Vendor/F00000000000/V00000000141/getvendorbyid\r\n\t//https://perf.mymobiforce.com/FreelancerAPI/api/FreelancerTicket/F00000000657/F00000000000/ByUserId\r\n});\r\n\r\n//https://perf.mymobiforce.com/coreapi/api/User/F00000000657/byUserIdWithJobCount?reqUserId=F00000000000\nangular.module('inspinia').controller('PreferredVendorTechnicianProfileController', function (PreferredVendorTechnicianProfileService, MainService,ActiveUserService,ImageUrl, $log, $state, $localStorage, $stateParams, $uibModal, $scope, DTOptionsBuilder, DTColumnDefBuilder, toaster, $timeout) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n // var loggedinUser = 'F00000000000';\r\n // var loggedinUser = $localStorage.loggedInUserId;\r\n vm.loggedInUser_Role=$localStorage.loggedInUser_Role;\r\n var token = $localStorage.token;\r\n vm.showSuccess = $scope.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.main.showFailure;\r\n vm.NokiaTableHeaderChange = $localStorage.accountConfig.NokiaTableHeaderChange;\r\n\r\n if (!loggedinUser) {\r\n $state.go('Login',{\r\n reload:true\r\n });\r\n }else{\r\n //Global Variable Declaration\r\n vm.CustomDateformat = $localStorage.CustomDateformat;\r\n vm.vendorList='';\r\n vm.vendorData = '';\r\n vm.ActivationStatus = '';\r\n vm.searchText = '';\r\n vm.dtInstance = {};\r\n vm.vendorId = $stateParams.VendorId; \r\n vm.jobTickets = '';\r\n vm.itemName = '';\r\n vm.itemValue = '';\r\n vm.dtInstance = {};\r\n vm. dtInstanceticket={};\r\n vm.AccountHistoryData=[];\r\n vm.InsurenceImg=\"\";\r\n vm.CertprofileImg=[];\r\n vm.profileImg=\"\";\r\n vm.teamprofileImg=\"\";\r\n vm.teamCertificateprofileImg=[];\r\n vm.backlistVendor = function () {\r\n if(vm.loggedInUser_Role== 'SuperAdministrator'){\r\n $state.go('index.NewTalentPool',{type: 'Vendor',reload: true });\r\n }\r\n else{\r\n $state.go('index.PreferredVendorTalentPool',{reload: true });\r\n\r\n }\r\n}\r\n$scope.checkPDF = function(path){\r\n\r\n if(!path)\r\n return true;\r\n \r\n var pt = path.substr(path.length - 4);\r\n if(pt == '.pdf'){\r\n vm.error = function(){\r\n $(\".pdf\").attr({\"target\" : \"_blank\"})\r\n }\r\n return true;\r\n }\r\n}\r\nvm.imageServices = function(img){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n }\r\n else{\r\n vm.profileImg = resp.data;\r\n }\r\n console.log(vm.profileImg);\r\n }, function() {\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n });\r\n \r\n } \r\nvm.InsurenceimageServices = function(img){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.InsurenceImg = 'assets/images/patterns/pdf.png';\r\n }\r\nelse{\r\n vm.InsurenceImg= resp.data;\r\n}\r\n \r\n }, function() {\r\n vm.InsurenceImg = 'assets/images/patterns/pdf.png';\r\n });\r\n \r\n}\r\n \r\nvm.CertimageServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.CertprofileImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else{\r\n vm.CertprofileImg[index] = resp.data;\r\n }\r\n \r\n }, function() {\r\n vm.CertprofileImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n });\r\n \r\n }\r\n vm.teamimageServices = function(img){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.teamprofileImg = 'assets/images/patterns/photo1.png';\r\n }\r\n else{\r\n vm.teamprofileImg = resp.data;\r\n }\r\n console.log(vm.teamprofileImg);\r\n }, function() {\r\n vm.teamprofileImg = 'assets/images/patterns/photo1.png';\r\n }); \r\n } \r\n vm.TeamCertificateimageServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.teamCertificateprofileImg[index] = 'assets/images/patterns/pdf.png';\r\n }\r\n else{\r\n vm.teamCertificateprofileImg[index] = resp.data;\r\n }\r\n }, function() {\r\n vm.teamCertificateprofileImg[index] = 'assets/images/patterns/pdf.png';\r\n });\r\n } \r\n vm.GetVendorById = function () {\r\n PreferredVendorTechnicianProfileService.GetVendorById(loggedinUser, vm.vendorId, token).then(function (resp) {\r\n vm.users = resp.data;\r\n vm.InsurenceimageServices(vm.users.InsuranceDetails.InsuranceImageURL);\r\n for(var i=0;i\" + \"Decoded URI: \" + dec;\r\n $('#agreementview').contents().find('html').html(dec);\r\n // document.getElementById(\"demo\").html(dec);\r\n \r\n // vm.showSuccess('Success', \"User added in preferred talent pool\");\r\n // vm.PreferredUserModal.close();\r\n }else{\r\n var dec = decodeURIComponent(resp.data).replace(/\\+/g,\" \");\r\n $('#agreementview').contents().find('html').html(dec);\r\n }\r\n \r\n })\r\n }\r\n if(vm.loggedInUser_Role== 'SuperAdministrator'){\r\n vm.RechargeHistory = function (userid) {\r\n vm.userid=userid;\r\n RechargeModal = $uibModal.open({\r\n templateUrl: 'viewRechargeHistory.html',\r\n scope: $scope,\r\n resolve: {\r\n items: function () {\r\n return {\r\n AccountName: vm.CompanyName,\r\n AccountId: vm.Email\r\n };\r\n }\r\n },\r\n size: 'lg'\r\n });\r\n ActiveUserService.getFreelancerHistory(userid, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.AccountHistoryData = resp.data;\r\n }\r\n })\r\n }\r\n }\r\n \r\n vm.CloseRechargeModal = function () {\r\n RechargeModal.close();\r\n }\r\n \r\n vm.dtOptions = DTOptionsBuilder.newOptions().withDOM(\r\n '<\"html5buttons\"B>lTfgitp').withPaginationType(\r\n 'full_numbers').withOption('lengthChange', false)\r\n .withOption('order', []);\r\n \r\n vm.dtColumnDefs = [\r\n //DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable().withClass('td-small-with-panel'),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable()];\r\n\r\n\r\n //if(vm.loggedInUser_Role== 'SuperAdministrator'){\r\n vm.TicketHistory = function(userid) {\r\n vm.userid=userid;\r\n TicketModal = $uibModal.open({\r\n templateUrl: 'TicketHistory.html',\r\n scope: $scope,\r\n windowClass:'schedulerModal'\r\n // controller: GetTicketByVendor(vendorId,itemName,itemValue),\r\n // size:'lg' \r\n }); \r\n \r\n }\r\n //}\r\n \r\n vm.CloseTicketModal = function(){\r\n TicketModal.close();\r\n }\r\n \r\n vm.GetTicketByVendor = function(vendorId,itemName,itemValue){\r\n PreferredVendorTechnicianProfileService.GetTicketsByVendor(loggedinUser,vendorId,token).then(function(resp){\r\n if(resp.data){\r\n vm.jobTickets = resp.data;\r\n }\r\n })\r\n }\r\n vm.GetTicketByVendor(vm.vendorId,'VendorId',vm.vendorId);\r\n \r\n vm.dtOptionsticket = DTOptionsBuilder.newOptions().withDOM(\r\n '<\"html5buttons\"B>lTfgitp').withPaginationType(\r\n 'full_numbers').withOption('lengthChange', false)\r\n .withOption('initComplete', function () {\r\n $('.dataTables_filter input').unbind();\r\n })\r\n .withOption('order', [0, 'asc']);\r\n \r\n vm.dtColumnDefsticket = [\r\n //DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(7).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(8).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(9).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(10).notSortable()\r\n ];\r\n\r\n vm.dtOptionsTeam = DTOptionsBuilder.newOptions().withDOM(\r\n '<\"html5buttons\"B>lTfgitp').withPaginationType(\r\n 'full_numbers').withOption('lengthChange', false)\r\n .withOption('initComplete', function () {\r\n $('.dataTables_filter input').unbind();\r\n })\r\n .withOption('order', [0, 'asc']);\r\n \r\n vm.dtColumnTeamDefs = [\r\n //DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(7).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(8).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(9).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(10).notSortable()\r\n ];\r\n\r\n\r\n});\nangular.module('inspinia').service('PreferredVendorTalentPoolService', function (FreelancerURL, ApiURL, LocationURL, PublicApiURL, $log, $http) {\r\n\r\n this.GetAllUsers = function (loggedinUser, token) {\r\n\r\n var url = FreelancerURL + '/api/FreeLancerUser/' + loggedinUser + '/GetAllUsers'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n })\r\n }\r\n\r\n this.getUserInfo = function (userId, loggedinUser, token) {\r\n var url = FreelancerURL + \"/api/FreeLancerUser/\" + userId + \"/\" + loggedinUser + \"/byUserId\";\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token':token, 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n // https://perf.mymobiforce.com/freelancerapi/api/FreelancerVendor/U400000000001/getallvendors\r\n this.GetAllVendors = function(loggedInUser,token){\r\n var url = FreelancerURL + '/api/FreelancerVendor/' + loggedInUser + '/getallvendors';\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n\r\n this.GetFreelancerVendorsByFilters = function(loggedInUser,token){\r\n var url = ApiURL + '/api/Vendor/' + loggedInUser + '/VendorStatus/Active' + '/getfreelancervendorsbyfilters';\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n\r\n //https://login.mymobiforce.com/freelancerapi/api/FreelancerRecharge/F00000000121/getrechargehistorybyself?StartDate=&EndDate=\r\n \r\n this.getFreelancerHistory = function (userId, token) {\r\n var url = FreelancerURL + \"/api/FreelancerRecharge/\" + userId + \"/getrechargehistorybyself?StartDate=&EndDate=\";\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token':token, 'UserId':userId\r\n }\r\n });\r\n }\r\n\r\n \r\n// https://perf.mymobiforce.com/freelancerapi/api/FreeLancerUser/GetFavoriteFreelancersByAccount/U400000000001\r\n this.getPreferredUser = function (userId, token) {\r\n var url = FreelancerURL + \"/api/FreeLancerUser/GetFavoriteFreelancersByAccount/\" + userId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token':token, 'UserId':userId\r\n }\r\n });\r\n }\r\n // https://perf.mymobiforce.com/freelancerapi/api/FreeLancerUser/GetFavoriteFreelancersByAccount/U400000000001\r\n\r\n this.getPreferredVendor = function (userId, token) {\r\n var url = FreelancerURL + \"/api/FreelancerVendor/GetFavoriteFreelancerVendorsByAccount/\" + userId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token':token, 'UserId':userId\r\n }\r\n });\r\n }\r\n\r\n\r\n this.getAllSkills = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url, {\r\n headers: {'Token': token, 'UserId':loggedinUser}\r\n });\r\n }\r\n\r\n this.GetAllCircles = function (loggedinUser) {\r\n var url = LocationURL + '/api/Location/' + loggedinUser + '/GetAllCircles'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json' }\r\n });\r\n }\r\n\r\n this.updateUser = function (userFormData, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerUser/' + loggedinUser + '/PutUser';\r\n return $http.put(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n });\r\n }\r\n\r\n this.GetVendorById = function(loggedInUser,vendorId, token){\r\n\t var url = ApiURL + '/api/Vendor/' + loggedInUser + '/' + vendorId + '/getvendorbyid';\r\n\t return $http.get(url,{\r\n\t headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n\t })\r\n\t}\r\n\r\n this.uploadProfilePic = function (loggedinUser, data, token, success, failure) {\r\n $http.post(ApiURL + '/api/User/PostUserPic?reqUserId=' + loggedinUser, data, {\r\n headers: {\r\n 'Content-Type': undefined, 'Token': token, 'UserId':loggedinUser\r\n }\r\n }).then(success, failure);\r\n }\r\n\r\n //http://localhost:50144/api/FreelancerAccount/F00000000000/F00000000106/getaccountbyfreelancerid\r\n this.GetFreelancerBalance = function (loggedinUser, freelancerId, token) {\r\n var url = FreelancerURL + '/api/FreelancerAccount/' + loggedinUser + '/' + freelancerId + '/getaccountbyfreelancerid';\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':loggedinUser }\r\n });\r\n }\r\n\r\n\r\n //https://perf.mymobiforce.com/freelancerapi/api/FreeLancerUser/Block/U400000000001/F00000000106/false\r\n\r\n // this.GetSingleBlockedUser = function (loggedinUser, freelancerId, token) {\r\n // var url = FreelancerURL + '/api/FreeLancerUser/Block/' + loggedinUser + '/' + freelancerId + '/false';\r\n // return $http.get(url, {\r\n // headers: { 'Content-Type': 'application/json', 'Token': token }\r\n // });\r\n // }\r\n\r\n // https://perf.mymobiforce.com/freelancerapi/api/FreeLancerUser/Block/U400000000001/F00000000664/true\r\n this.BlockedSingleUser = function(loggedinUser, userId, status, token){\r\n var url = FreelancerURL + '/api/FreeLancerUser/Block/' + loggedinUser + '/'+ userId +'/'+status;\r\n return $http.put(url, null, {\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n });\r\n }\r\n\r\n//https://perf.mymobiforce.com/freelancerapi/api/FreeLancerUser/Favorite/U400000000001/F00000000657/true\r\n \r\nthis.PreferredSingleUser = function(loggedinUser, userId, status, token){\r\n var url = FreelancerURL + '/api/FreeLancerUser/Favorite/' + loggedinUser + '/'+ userId +'/'+status;\r\n return $http.put(url, null, {\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n });\r\n}\r\n\r\n//https://perf.mymobiforce.com/freelancerapi/api/FreelancerVendor/Favorite/U400000000001/V00000000006/false\r\nthis.PreferredSingleVendor = function(loggedinUser, vendorId, status, token){\r\n var url = FreelancerURL + '/api/FreelancerVendor/Favorite/' + loggedinUser + '/'+ vendorId +'/'+status;\r\n return $http.put(url, null, {\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n });\r\n}\r\n\r\n//https://perf.mymobiforce.com/freelancerapi/api/FreeLancerUser/Favorite/U400000000001/F00000000657/true\r\n \r\n// this.UnPreferredSingleUser = function(loggedinUser, userId, status, token){\r\n// var url = FreelancerURL + '/api/FreeLancerUser/Favorite/' + loggedinUser + '/'+ userId +'/'+status;\r\n// return $http.put(url, null, {\r\n// headers: { 'Content-Type': 'application/json', 'Token':token }\r\n// });\r\n// }\r\n\r\n//https://perf.mymobiforce.com/freelancerapi/api/FreelancerVendor/Block/U400000000001/V00000000013/false\r\nthis.BlockedVendor = function(loggedinUser, vendorId, status, token){\r\n var url = FreelancerURL + '/api/FreelancerVendor/Block/' + loggedinUser + '/'+ vendorId +'/'+status;\r\n return $http.put(url, null, {\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n });\r\n}\r\n\r\n\r\nthis.getAllState = function (loggedinUser) {\r\n var url = LocationURL + '/api/Location/' + loggedinUser + '/GetAllStates';\r\n return $http.get(url, {\r\n params: {}\r\n });\r\n}\r\n//http://192.168.0.80:92/LocationAPI/api/Location/saurabhgupta3371%40gmail.com/UTTAR%20PRADESH/GetCitiesByState\r\n\r\nthis.getCityByState = function (loggedinUser, state) {\r\n var url = LocationURL + '/api/Location/' + loggedinUser + '/' + state + '/GetCitiesByState';\r\n return $http.get(url, {\r\n params: {}\r\n });\r\n}\r\n\r\nthis.getAllSkills = function(loggedinUser, token, success, failure){\r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url, {headers: {'Token': token, 'UserId':loggedinUser}}).then(function(res){\r\n if(res && res.status == 200 && res.data){\r\n success(res.data);\r\n }\r\n }, function(err){\r\n failure(\"Failed\", \"Unable to get skill list, server error.\")\r\n })\r\n}\r\nthis.GetAllCertificate = function(loggedinUser, token, success, failure){\r\n // var url = ApiURL + '/api/Cetrificate/GetAll?reqUserId=' + loggedinUser;\r\n var url = ApiURL + '/api/Cetrificate/GetAllMaster?reqUserId=' + loggedinUser;\r\n return $http.get(url,{headers:{'Token':token, 'UserId':loggedinUser}}).then(function(res){\r\n if(res && res.status == 201 && res.data){\r\n success(res.data);\r\n }\r\n },function(err){\r\n failure(\"Failed\",\"Unable to get certificate list, server error.\");\r\n })\r\n}\r\n\r\nthis.GetAllToolSets = function(loggedinUser, token, success, failure){\r\n var url = ApiURL + '/api/Tool/GetAllMaster?reqUserId=' + loggedinUser;\r\n return $http.get(url,{headers:{'Token':token, 'UserId':loggedinUser}}).then(function(res){\r\n if(res && res.status == 201 && res.data){\r\n success(res.data);\r\n }\r\n },function(err){\r\n failure(\"Failed\",\"Unable to get certificate list, server error.\");\r\n })\r\n}\r\n \r\n//https://perf.mymobiforce.com/freelancerapi/api/FreelancerUser/FilterFrUsers?reqUserid=U400000000001\r\n\r\nthis.Filter = function ( loggedinUser, token,userFormData) {\r\n var url = FreelancerURL + \"/api/FreelancerUser/FilterFrUsers?reqUserid=\" + loggedinUser;\r\n return $http.put(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n });\r\n}\r\n})\r\n\nangular.module('inspinia').controller('PreferredVendorTalentPoolController', function(toaster, UIURL, NewTalentPoolService, \r\n\t$state ,$localStorage, $filter ,$compile, $scope, DTOptionsBuilder, DTColumnDefBuilder, DTColumnBuilder, PublicApiURL, $log, \r\n\tHelpDeskCustomerViewService,ReferService, $stateParams, $uibModal, JobTicketViewService,$rootScope, NgMap, $q, $timeout, ImageUrl) {\r\n\tvm = this;\r\n\tvm.showAdvanceFilter = false;\r\n\tvm.showSuccess = $scope.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.main.showFailure;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar AccountID = $localStorage.accountConfig.AccountId;\r\n\tvar accountcreationDate = $localStorage.accountConfig.AccountCreationDate;\r\n\tvm.loggedInUser_Role=$localStorage.loggedInUser_Role;\r\n\tvm.Technicianstartingdate = '2017-01-01';\r\n\tvm.VendorStartingDate = '2017-01-01';\r\n\t\r\n\t\r\n\tvm.UserType=$stateParams.type;\r\n\tvar token = $localStorage.token;\r\n\tvm.dtInstanceUser={};\r\n\tvm.dtInstancePreferredUserTable={};\r\n\t// vm.dtInstancePreferredUser={};\r\n\tvm.adddaterange=false;\r\n\tvm.vendoradddaterange=false;\r\n\tvm.dtInstanceVendor={};\r\n\tvm.dtInstancePreferredVendor={};\r\n\tvm.PreferredvendorListdata=[];\r\n\tvm.Bluserlist=[];\r\n\tvm.blockvendorlist=[];\r\n\tvm.showtechnician=true;\r\n\tvm.showvendor=false;\r\n\tvm.technicianlistview=true;\r\n\tvm.vendorlistview=true;\r\n\tvm.selectedInvoice = '';\r\n\tvm.users=[];\r\n\tvm.searchText = '';\r\n\tvm.PermanentState='';\r\n\tvm.VendorPermanentState='';\r\n vm.UserName='';\r\n\tvm.ContactNumber='';\r\n\tvm.VendorUserName='';\r\n\tvm.VendorContactNumber='';\r\n\tvm.StateList=[];\r\n\tvm.VendorStateList=[];\r\n\tvm.PermanentCity='';\r\n\tvm.VendorPermanentCity='';\r\n\tvm.CityList=[];\r\n\tvm.VendorCityList=[];\r\n\tvm.addSkill='';\r\n\tvm.VendoraddSkill='';\r\n\tvm.AllCertificateSets=[];\r\n\tvm.VendorAllCertificateSets=[];\r\n\tvm.addTraningCertificateName='';\r\n\tvm.Asset_Tools='';\r\n\tvm.VendorAsset_Tools='';\r\n\tvm.Asset_Bike=false;\r\n\tvm.Asset_Mobile=false;\r\n\tvm.Asset_Laptop=false;\r\n\tvm.Student=false;\r\n\tvm.Intern=false;\r\n\tvm.VendorSource='';\r\n\tvm.Adharcard=false;\r\n\tvm.Pancard=false;\r\n\tvm.VendorAsset_Laptop=false;\r\n\tvm.VendorAsset_Mobile=false;\r\n\tvm.VendorAsset_Bike=false;\r\n\tvm.Prime=false;\r\n\tvm.pincode=[];\r\n\tvm.AlredayPreferred = [];\r\n\tvm.Vendorpincode=[];\r\n\r\n\tvar startDate = moment(vm.Technicianstartingdate).format(\"YYYY-MM-DD\");\r\n var endDate = moment();\r\n $scope.dates = { startDate: startDate, endDate:endDate};\r\n $scope.ranges = {\r\n 'Today': [moment(), moment()],\r\n // 'Yesterday': [moment().subtract(1, 'days'), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n\t 'Till now': [moment(startDate), moment(endDate)],\r\n\t// 'Till now': [startDate ='', startDate ='']\r\n\t};\r\n\r\n\t$scope.dateRangeChange = function (ev, picker) {\r\n\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t};\r\n\t\r\n\t$scope.Vendordates = { startDate: startDate, endDate: endDate };\r\n $scope.Vendorranges = {\r\n 'Today': [moment(), moment()],\r\n // 'Yesterday': [moment().subtract(1, 'days'), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n\t 'Till now' :[moment(vm.VendorStartingDate), moment()]\r\n\t// 'Till now': [startDate ='01/01/01', moment(),]\r\n\t};\r\n\t$scope.dateRangeChange = function (ev, picker) {\r\n\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t};\r\n\t\r\n\tvm.City='';\r\n\tvm.Pincode='';\r\n\tvm.Experience='';\r\n\tvm.VendorExperience='';\r\n\tvm.Ratings='';\r\n\tvm.VendorRatings='';\r\n\tvm.Assets_Tools='';\r\n\tvm.Jobscount='';\r\n\tvm.VendorJobscount='';\r\n\tvm.FilterAdhar='';\r\n\tvm.FilterPancard='';\r\n\t\r\n\t// vm.PreferredUser=true;\r\n\tvm.PreferredUsers=[];\r\n\tvm.vendorList=[];\r\n\tvm.PreferredVendors=[];\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\t\r\n\t\t\r\n\t\tif($localStorage.TechnicianDetailsView =='TechnicianDetails'){\r\n\t\t\tvm.currentPage = $localStorage.PageIndex?$localStorage.PageIndex:1;\r\n\t\t\t// $localStorage.PVendorFilterData\r\n\t\t}\r\n\t\telse{\r\n\t\t\tvm.currentPage = 1;\r\n\t\t}\r\n\r\n\t\tvm.currentPage = $localStorage.PageIndex?$localStorage.PageIndex:1;\r\n\t\tvm.pageSize = 20;\r\n\r\n\t\t$scope.totalUsers = 0;\r\n\t\t$scope.usersPerPage = 20; // this should match however many results your API puts on one page\r\n\t\t$scope.pagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\r\n\t\t$scope.pagination.current = $localStorage.PageIndex?$localStorage.PageIndex:1;\r\n\t\t$scope.totalTableUsers = 0;\r\n\t\t$scope.usersTablePerPage = 20; // this should match however many results your API puts on one page\r\n\t\t$scope.UserTablepagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\r\n\t\t$scope.UserTablepagination.current = $localStorage.PageIndex?$localStorage.PageIndex:1;\r\n\r\n\r\n\r\n\t\t$scope.totalvendor = 0;\r\n\t\t$scope.vendorPerPage = 20; // this should match however many results your API puts on one page\r\n\t\t$scope.vendorpagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\t\t$scope.vendorpagination.current = $localStorage.VendorPageIndex?$localStorage.VendorPageIndex:1;\r\n\r\n\t\t$scope.totalvendorTable = 0;\r\n\t\t$scope.vendorPerPageTable = 20; // this should match however many results your API puts on one page\r\n\t\t$scope.vendorpaginationTable = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\t\t$scope.vendorpaginationTable.current = $localStorage.VendorPageIndex?$localStorage.VendorPageIndex:1;\r\n\r\n\t\t\r\n\t\tif($localStorage.PreferredVendorDetailsView =='PreferredVendorDetails'){\r\n\t\t\tvm.VendorcurrentPage = $localStorage.VendorPageIndex?$localStorage.VendorPageIndex:1;\r\n\t\t\t\r\n\t\t}\r\n\t\telse{\r\n\t\t\tvm.VendorcurrentPage = 1;\r\n\t\t}\r\n\r\n\t\t\r\n\r\n\t\tvm.VendorpageSize = 20;\r\n\t\t$scope.pageChanged = function(newPage) {\r\n\t\t\tvm.currentPage = newPage;\r\n\t\t\t// vm.GetAllUsers(newPage);\r\n\t\t\tvm.applyfilter(newPage);\r\n\r\n\t\t};\r\n\r\n\t\t$scope.UserTablepageChanged = function(newPage) {\r\n\t\t\tvm.currentPage = newPage;\r\n\t\t\t// vm.GetAllUsers(newPage);\r\n\t\t\tvm.applyfilter(newPage);\r\n //vm.Allapplyfilter(newPage);\r\n\t\t};\r\n\r\n\t\t\r\n\t\t$scope.PreferredUserTablepageChanged = function(newPage) {\r\n\t\t\t\r\n\t\t\t// vm.GetAllUsers(newPage);\r\n\t\t\tvm.applyfilter(newPage);\r\n\r\n\t\t};\r\n\r\n\t\t\r\n\t\t\r\n\r\n\r\n\t\t\r\n\t\t\r\n\t vm.availableSearchParams = [\r\n\t { key: \"TemplateName\", name: \"TemplateName\", placeholder: \"TemplateName...\" }\r\n\t // { key: \"city\", name: \"City\", placeholder: \"City...\" },\r\n\t // { key: \"country\", name: \"Country\", placeholder: \"Country...\" },\r\n\t // { key: \"emailAddress\", name: \"E-Mail\", placeholder: \"E-Mail...\", allowMultiple: true },\r\n\t // { key: \"job\", name: \"Job\", placeholder: \"Job...\" }\r\n\t\t];\r\n\r\n\t\tvm.getPicUrl = function (profilePicName) {\r\n\t\t\treturn profilePicName ? ImageUrl + \"/\" + profilePicName : null;\r\n\t\t }\r\n\r\n\r\n\t\t \r\n\t\t\r\n\t\tvm.FreelancerUserRoles = [\r\n\t\t {\r\n\t\t\tname: 'Freelancer Technician',\r\n\t\t\tvalue: 'Technician'\r\n\t\t }, \r\n\t\t {\r\n\t\t\tname: 'Freelancer Vendor',\r\n\t\t\tvalue: 'Vendor'\r\n\t\t }];\r\n\r\n\t\t\r\n\r\n\t\tvm.userlayout = vm.selectedFreelancerUserRole;\r\n vm.Checkuserrole=\"\";\r\n\t\tvm.userroletype = function (userrole) {\r\n\t\t\tif(vm.globalsearch == 'List'){\r\n\t\t\t\t\r\n\t\t\t}else if(vm.globalsearch == 'List1'){\r\n\r\n\t\t\t}else{\r\n\t\t\t\tvm.globalsearch = '';\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tif(userrole == 'Technician'){\r\n\t\t\t\tvm.Checkuserrole=\"Technician\";\r\n\t\t\t\tvm.showtechnician=true;\r\n\t\t\t\tvm.showvendor = false;\t\r\n\t\t\t}else if(userrole == 'Vendor'){\r\n\t\t\t\tvm.Checkuserrole=\"Technician\";\r\n\t\t\t\tvm.showtechnician=false;\r\n\t\t\t\tvm.showvendor=true;\r\n\t\t\t}\r\n\r\n\t\t }\r\n\t\t \r\n\t\t if(vm.UserType){\r\n\t\t\tvm.userroletype(vm.UserType);\r\n\t\t }\r\n// Freelancer Technician Layout\r\n\t\t vm.Technicianviewtypes = [\r\n\t\t\t{\r\n\t\t\t\tname: 'List View',\r\n\t\t\t\tvalue: 'List'\r\n\t\t\t },\r\n\t\t\t{\r\n\t\t\t\tname: 'Card View',\r\n\t\t\t\tvalue: 'Card'\r\n\t\t\t},\r\n\t\t\t \r\n\t\t\t {\r\n\t\t\t name: 'Map View',\r\n\t\t\t value: 'Map'\r\n\t\t\t }\r\n\t\t\t\r\n\t\t\t];\r\n \r\n\t\t vm.technicianuserviewtype = vm.Technicianviewtypes[0].value;\r\n\t\t vm.userviewlayout = vm.technicianuserviewtype;\r\n\t\t vm.globalsearch='';\r\n\t\t vm.userviewtype = function (userview) {\r\n\t\t\tvm.globalsearch=userview;\r\n\t\t\tif(userview == 'Card'){\r\n\t\t\t\tif(checkTalentandPreferred=='Preferred')\r\n\t\t\t{\r\n\t\t\t\tvm.PreferredUser = true;\r\n\t\t\t\tvm.techniciancardview=false;\r\n\t\t\t\tvm.technicianlistview = false;\r\n\t\t\t\tvm.technicianmapview=false;\r\n\t\t\t\tvm.PreferredUserlist=false;\r\n\t\t\t\tvm.preferredtechnicianmapview=false;\t\r\n\t\t\t}\r\n\t\t\telse if(checkTalentandPreferred=='TalentPool')\r\n\t\t\t{\r\n\t\t\t\tvm.PreferredUser = false;\r\n\t\t\t\tvm.techniciancardview=true;\r\n\t\t\t\tvm.technicianlistview = false;\r\n\t\t\t\tvm.technicianmapview=false;\r\n\t\t\t\tvm.PreferredUserlist=false;\r\n\t\t\t\tvm.preferredtechnicianmapview=false;\r\n\t\t\t\t\t\r\n\t\t\t}\r\n\r\n\r\n\t\t\t}else if(userview == 'List'){\r\n\t\t\t\tif(checkTalentandPreferred=='Preferred')\r\n\t\t\t\t{\r\n\t\t\t\tvm.PreferredUser = false;\r\n\t\t\t\tvm.PreferredUserlist=true;\r\n\t\t\t\tvm.techniciancardview=false;\r\n\t\t\t\tvm.technicianlistview = false;\r\n\t\t\t\tvm.technicianmapview=false;\r\n\t\t\t\tvm.preferredtechnicianmapview=false;\t\r\n\t\t\t\t}\r\n\t\t\t\telse if(checkTalentandPreferred=='TalentPool')\r\n\t\t\t{\r\n\t\t\t\tvm.PreferredUser = false;\r\n\t\t\t\tvm.techniciancardview=false;\r\n\t\t\t\tvm.technicianlistview = true;\r\n\t\t\t\tvm.technicianmapview=false;\r\n\t\t\t\tvm.PreferredUserlist=false;\r\n\t\t\t\tvm.preferredtechnicianmapview=false;\t\r\n\t\t\t}\r\n\t\t\t}\r\n\t\t\telse if(userview == 'Map'){\r\n\t\t\t\tif(checkTalentandPreferred=='Preferred')\r\n\t\t\t\t{\r\n\t\t\t\tvm.PreferredUser = false;\r\n\t\t\t\tvm.PreferredUserlist=false;\r\n\t\t\t\tvm.techniciancardview=false;\r\n\t\t\t\tvm.technicianlistview = false;\r\n\t\t\t\tvm.technicianmapview=false;\r\n\t\t\t\tvm.preferredtechnicianmapview=true;\t\r\n\t\t\t\t}\r\n\t\t\t\telse if(checkTalentandPreferred=='TalentPool')\r\n\t\t\t{\r\n\t\t\t\tvm.PreferredUser = false;\r\n\t\t\t\tvm.techniciancardview=false;\r\n\t\t\t\tvm.technicianlistview = false;\r\n\t\t\t\tvm.technicianmapview=true;\r\n\t\t\t\tvm.PreferredUserlist=false;\r\n\t\t\t\tvm.preferredtechnicianmapview=false;\t\r\n\t\t\t}\r\n\t\t\t}\r\n\t\t\t\r\n\r\n\t\t }\r\n\r\nvar checkTalentandPreferred=\"TalentPool\";\r\n vm.preferredtechnicianview = function (PreferredUser,PreferredTalentPool) {\r\n\t if(PreferredUser=='Preferred'){\r\n\t\tcheckTalentandPreferred='Preferred';\r\n\t\tvm.techniciancardview=false;\r\n\t\tvm.PreferredUser = true;\r\n\t\tvm.technicianlistview = false;\r\n\t\tvm.technicianmapview=false;\r\n\t\tvm.PreferredUserlist=false;\r\n\t\tvm.preferredtechnicianmapview=false;\r\n\r\n\t\tif(PreferredTalentPool=='Card'){\r\n\t\t\tvm.techniciancardview=false;\r\n\t\t\tvm.PreferredUser = true;\r\n\t\t\tvm.technicianlistview = false;\r\n\t\t\tvm.technicianmapview=false;\r\n\t\t\tvm.PreferredUserlist=false;\r\n\t\t\tvm.preferredtechnicianmapview=false;\r\n\t\t}\r\n\r\n\t\telse if(PreferredTalentPool=='List'){\r\n\t\t\tvm.techniciancardview=false;\r\n\t\t\tvm.PreferredUser = false;\r\n\t\t\tvm.technicianlistview = false;\r\n\t\t\tvm.technicianmapview=false;\r\n\t\t\tvm.PreferredUserlist=true;\r\n\t\t\tvm.preferredtechnicianmapview=false;\r\n\t\t}\r\n\r\n\t\telse if(PreferredTalentPool=='Map'){\r\n\t\t\tvm.techniciancardview=false;\r\n\t\t\tvm.PreferredUser = false;\r\n\t\t\tvm.technicianlistview = false;\r\n\t\t\tvm.technicianmapview=false;\r\n\t\t\tvm.PreferredUserlist=false;\r\n\t\t\tvm.preferredtechnicianmapview=true;\r\n\t\t\t$(\"#Map\").hide();\r\n\t\t\t$(\"#Map2\").show();\r\n\t\t}\r\n\r\n\t }\r\n\r\n }\r\n\r\n\r\n vm.allTechnicianview= function(TalentPool,AllTalentPool){\r\n\t if(TalentPool=='TalentPool'){\r\n\t\tcheckTalentandPreferred='TalentPool';\r\n\t vm.techniciancardview=true;\r\n\t vm.PreferredUser = false;\r\n\t vm.technicianlistview = false;\r\n\t\tvm.technicianmapview=false;\r\n\t\tvm.PreferredUserlist=false;\r\n\t\tvm.preferredtechnicianmapview=false;\r\n\r\n\t\tif(AllTalentPool=='Card'){\r\n\t\t\tvm.techniciancardview=true;\r\n\t\t\tvm.PreferredUser = false;\r\n\t\t\tvm.technicianlistview = false;\r\n\t\t\tvm.technicianmapview=false;\r\n\t\t\tvm.PreferredUserlist=false;\r\n\t\t\tvm.preferredtechnicianmapview=false;\r\n\t\t}\r\n\t\telse if(AllTalentPool=='List'){\r\n\t\t\tvm.techniciancardview=false;\r\n\t\t\tvm.PreferredUser = false;\r\n\t\t\tvm.technicianlistview = true;\r\n\t\t\tvm.technicianmapview=false;\r\n\t\t\tvm.PreferredUserlist=false;\r\n\t\t\tvm.preferredtechnicianmapview=false;\r\n\t\t}\r\n\t\telse if(AllTalentPool=='Map'){\r\n\t\t\tvm.techniciancardview=false;\r\n\t\t\tvm.PreferredUser = false;\r\n\t\t\tvm.technicianlistview = false;\r\n\t\t\tvm.technicianmapview=true;\r\n\t\t\tvm.PreferredUserlist=false;\r\n\t\t\tvm.PreferredUsermapview=false;\r\n\t\t\tvm.preferredtechnicianmapview=false;\r\n\t\t\t$(\"#Map\").show();\r\n\t\t\t$(\"#Map2\").hide();\r\n\t\t}\r\n\t }\r\n\t\t\r\n }\r\n\r\n\r\n \r\n// Vendor Layout\r\nvm.Vendorviewtypes = [\r\n\t{\r\n\t\tname: 'List View',\r\n\t\tvalue: 'List1'\r\n\t },\r\n\t{\r\n\t\tname: 'Card View',\r\n\t\tvalue: 'Card1'\r\n\t},\r\n\t \r\n\t {\r\n\t name: 'Map View',\r\n\t value: 'Map1'\r\n\t }\r\n\t\r\n\t];\r\n\r\n vm.vendoruserviewtype = vm.Vendorviewtypes[0].value;\r\n vm.vendorviewlayout = vm.vendoruserviewtype;\r\n vm.globalVendorsearch='';\r\n vm.vendorviewtype = function (vendorview) {\r\n\tvm.globalsearch=vendorview;\r\n\tif(vendorview == 'Card1'){\r\n\t\t\t\r\n\tif(checkTalentandPreferredVendor=='PreferredVendor')\r\n\t{\r\n\t vm.vendorcardview=false;\r\n\t vm.PreferredVendor = true;\r\n\t\tvm.vendorpreferredlistview = false;\r\n\t\t vm.vendorlistview=false;\r\n\t\t vm.vendormapview=false;\r\n\t\t vm.Preferredvendormapview=false;\r\n\t}\r\n\telse if(checkTalentandPreferredVendor=='TalentPoolVendor')\r\n\t\t{\r\n\t\tvm.vendorcardview=true;\r\n\t\tvm.PreferredVendor = false;\r\n\t\tvm.vendorpreferredlistview = false;\r\n\t\tvm.vendorlistview=false;\r\n\t\tvm.vendormapview=false;\r\n\t\tvm.Preferredvendormapview=false;\r\n\t\t\t}\r\n\t}else if(vendorview == 'List1'){\r\n\t\tvm.globalsearch=vendorview;\r\n\t\tif(checkTalentandPreferredVendor=='PreferredVendor')\r\n\t\t{\r\n\t\tvm.vendorcardview=false;\r\n\t\tvm.PreferredVendor = false;\r\n\t\tvm.vendorpreferredlistview = true;\r\n\t\t vm.vendorlistview=false;\r\n\t\t vm.vendormapview=false;\r\n\t\t vm.Preferredvendormapview=false;\r\n\t\t}\r\n\t\telse if(checkTalentandPreferredVendor=='TalentPoolVendor')\r\n\t\t{\r\n\t\tvm.vendorcardview=false;\r\n\t\tvm.PreferredVendor = false;\r\n\t\tvm.vendorpreferredlistview = false;\r\n\t\tvm.vendorlistview=true;\r\n\t\tvm.vendormapview=false;\r\n\t\tvm.Preferredvendormapview=false;\r\n\t\t}\r\n\t}\r\n\telse if(vendorview == 'Map1'){\r\n\t\tif(checkTalentandPreferredVendor=='PreferredVendor')\r\n\t\t{\r\n\t\tvm.vendorcardview=false;\r\n\t\tvm.PreferredVendor = false;\r\n\t\tvm.vendorpreferredlistview = false;\r\n\t\t vm.vendorlistview=false;\r\n\t\t vm.vendormapview=false;\r\n\t\t vm.Preferredvendormapview=true;\r\n\t\t}\r\n\t\telse if(checkTalentandPreferredVendor=='TalentPoolVendor')\r\n\t\t{\r\n\t\tvm.vendorcardview=false;\r\n\t\tvm.PreferredVendor = false;\r\n\t\tvm.vendorpreferredlistview = false;\r\n\t\tvm.vendorlistview=false;\r\n\t\tvm.vendormapview=true;\r\n\t\tvm.Preferredvendormapview=false;\r\n\t\t}\r\n\t}\r\n }\r\n\r\n var checkTalentandPreferredVendor=\"TalentPoolVendor\";\r\n vm.preferredvendorview = function (PreferredVendor,PreferredTalentPoolVendor) {\r\n\tif(PreferredVendor=='PreferredVendor'){\r\n\t\tcheckTalentandPreferredVendor='PreferredVendor';\r\n\t\tvm.vendorcardview=false;\r\n\t\tvm.PreferredVendor = true;\r\n\t\tvm.vendorpreferredlistview = false;\r\n\t\tvm.vendorlistview=false;\r\n\t\tvm.vendormapview=false;\r\n\t\tvm.Preferredvendormapview=false;\r\n\r\n\t\tif(PreferredTalentPoolVendor=='Card1'){\r\n\t\t\tvm.vendorcardview=false;\r\n\t\t\tvm.PreferredVendor = true;\r\n\t\t\tvm.vendorpreferredlistview = false;\r\n\t\t\tvm.vendorlistview=false;\r\n\t\t\tvm.vendormapview=false;\r\n\t\t\tvm.Preferredvendormapview=false;\r\n\t\t}\r\n\r\n\t\telse if(PreferredTalentPoolVendor=='List1'){\r\n\t\t\tvm.vendorcardview=false;\r\n\t\t\tvm.PreferredVendor = false;\r\n\t\t\tvm.vendorpreferredlistview = true;\r\n\t\t\tvm.vendorlistview=false;\r\n\t\t\tvm.vendormapview=false;\r\n\t\t\tvm.Preferredvendormapview=false;\r\n\t\t}\r\n\r\n\t\telse if(PreferredTalentPoolVendor=='Map1'){\r\n\t\t\tvm.vendorcardview=false;\r\n\t\t\tvm.PreferredVendor = false;\r\n\t\t\tvm.vendorpreferredlistview = false;\r\n\t\t\tvm.vendorlistview=false;\r\n\t\t\tvm.vendormapview=false;\r\n\t\t\tvm.Preferredvendormapview=true;\r\n\t\t}\r\n\r\n\t\t\r\n\t}\r\n\r\n\r\n}\r\nvm.preferredvendorview('PreferredVendor' , vm.vendoruserviewtype);\r\n\r\n\r\nvm.allVendorview= function(TalentPoolVendor,AllTalentPoolVendor){\r\n\tif(TalentPoolVendor=='TalentPoolVendor'){\r\n\t checkTalentandPreferred='TalentPoolVendor';\r\n\t vm.vendorcardview=true;\r\n\t\t vm.PreferredVendor = false;\r\n\t\t vm.vendorpreferredlistview = false;\r\n\t\t vm.vendorlistview=false;\r\n\t\t vm.vendormapview=false;\r\n\t\t vm.Preferredvendormapview=false;\r\n\r\n\t if(AllTalentPoolVendor=='Card1'){\r\n\t\t vm.vendorcardview=true;\r\n\t\t vm.PreferredVendor = false;\r\n\t\t vm.vendorpreferredlistview = false;\r\n\t\t vm.vendorlistview=false;\r\n\t\t vm.vendormapview=false;\r\n\t\t vm.Preferredvendormapview=false;\r\n\t }\r\n\t else if(AllTalentPoolVendor=='List1'){\r\n\t\t vm.vendorcardview=false;\r\n\t\t vm.PreferredVendor = false;\r\n\t\t vm.vendorpreferredlistview = false;\r\n\t\t vm.vendorlistview=true;\r\n\t\t vm.vendormapview=false;\r\n\t\t vm.Preferredvendormapview=false;\r\n\t }\r\n\t else if(AllTalentPoolVendor=='Map1'){\r\n\t\t vm.vendorcardview=false;\r\n\t\t\tvm.PreferredVendor = false;\r\n\t\t\tvm.vendorpreferredlistview = false;\r\n\t\t\tvm.vendorlistview=false;\r\n\t\t\tvm.vendormapview=true;\r\n\t\t\tvm.Preferredvendormapview=false;\r\n\t }\r\n\t}\r\n\r\n}\r\nif($localStorage.selectedFreelancerUserRole){\r\n\tvm.selectedFreelancerUserRole=$localStorage.selectedFreelancerUserRole;\r\n\tvm.userroletype(vm.selectedFreelancerUserRole);\r\n\t}\r\n\telse{\r\n\t\tvm.selectedFreelancerUserRole = vm.FreelancerUserRoles[0].value;\r\n\t}\r\n\t\t/*$scope.options = [\r\n\t\t\t{\r\n\t\t\t name: 'Freelancer Technician',\r\n\t\t\t value: 'Technicain'\r\n\t\t\t}, \r\n\t\t\t{\r\n\t\t\t name: 'Freelancer Vendor',\r\n\t\t\t value: 'Vendor'\r\n\t\t\t}\r\n\t\t ];\r\n\t\t $scope.selectedOption = $scope.options[0];*/\r\n\r\n\t\t$scope.isNavCollapsed = true;\r\n\t\t$scope.isCollapsed = true;\r\n\t\t$scope.isCollapsedHorizontal = false;\r\n\r\n\t\tvm.getPreferredUser = function(){\r\n\t\t\tNewTalentPoolService.getPreferredUser(loggedinUser,token).then(function(resp){\r\n\t\t\t\tvm.PreferredUsers = resp.data;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\r\n\r\n\t\t// vm.getPreferredUser();\r\n\r\n\t\tvm.getPreferredVendor = function(){\r\n\t\t\tNewTalentPoolService.getPreferredVendor(loggedinUser,token).then(function(resp){\r\n\t\t\t\tvm.PreferredVendors = resp.data;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t//vm.getPreferredVendor();\r\n\r\n\t\t\r\n\t\t vm.PreferredVendorTechnicianProfile = function (PreferredVendor) {debugger\r\n\t\t\t$localStorage.VendorPageIndex = vm.VendorcurrentPage;\r\n\t\t\t$localStorage.PreferredVendorDetailsView ='PreferredVendorDetails';\r\n\t\t\tif(vm.vendoruserviewtype =='List1'){\r\n\t\t\t\t$localStorage.vendorviewtype ='List1'\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\t$localStorage.vendorviewtype ='Card1'\r\n\t\r\n\t\t\t\t}\r\n\t\t\t$localStorage.PVendorFilterData={};\r\n\t\t\tvar temp = [];\r\n\t\t\tfor(var i=0;i 0) {\r\n\t\t// \t\tvm.vendorList = resp.data;\r\n\t \r\n\t\t// \t }\r\n\t\t// \t})\r\n\t\t// }\r\n\r\n\t\t \r\n\t\t //vm.GetAllVendors();\r\n\r\n\t\t// vm.GetSingleBlockedUser = function () {\r\n\t\t// \tNewTalentPoolService.GetSingleBlockedUser(loggedinUser, token).then(function (resp) {\r\n\t\t// \t\tvm.BlokedSingleUser = resp.data;\r\n\t\t// \t})\r\n\t\t// }\r\n\t\t// vm.GetSingleBlockedUser();\r\n\r\n\r\n\t\t// vm.GetAllUsers();\r\n\t\tvm.getProfilePic = function (pic) {\r\n\t\t\treturn ImageUrl + \"/\" + pic;\r\n\t\t }\r\n\t\t vm.searchTable = function () {\r\n\t\t\tvm.dtInstance.DataTable.search(vm.searchText);\r\n\t\t\tvm.dtInstance.DataTable.search(vm.searchText).draw();\r\n\t\t };\r\n\r\n\t\t// start preferred vendor table\r\n\t\r\n\t\tvm.dtOptionsPreferredvendor = DTOptionsBuilder.newOptions()\r\n\t\t.withDOM('<\"html5buttons\"B>lTfgitp')\r\n\t\t.withButtons([{extend:'colvis'},{extend:'csv'}])\r\n\t\t.withOption('stateSave', true)\r\n \r\n\t\t.withPaginationType('full_numbers')\r\n\t\t.withOption('lengthChange', false)\r\n\t\t.withOption('paging', false)\r\n\t\t.withOption('bInfo',false)\r\n\t\t.withOption('order', [0, 'desc']);\r\n\r\n\t\tvm.dtColumnsPreferredvendor = [\r\n\t\tDTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n\t\tDTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n\t\tDTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n\t\tDTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n\t\tDTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n\t\tDTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n\t\tDTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n\t\tDTColumnDefBuilder.newColumnDef(7).notSortable(),\r\n\t\tDTColumnDefBuilder.newColumnDef(8).notSortable(),\r\n\t\tDTColumnDefBuilder.newColumnDef(9).notSortable(),\r\n\t\tDTColumnDefBuilder.newColumnDef(10).notSortable(),\r\n\t\tDTColumnDefBuilder.newColumnDef(11).notSortable(),\r\n\t\tDTColumnDefBuilder.newColumnDef(12).notSortable(),\r\n\t\t];\r\n\t\r\n\t\r\n\t\t vm.GetVendorDataById = function (vendorId) {\r\n\t\t\tNewTalentPoolService.GetVendorById(loggedinUser, vendorId, token).then(function (resp) {\r\n\t\t\t if (resp.data) {\r\n\t\t\t\t// if (!angular.equals(vm.vendorData,resp.data)) {\r\n\t\t\t\tvm.vendorData = resp.data;\r\n\t\t\t\tvm.preProcessData(vm.vendorData);\r\n\t\t\t\tvm.ActivationStatus = vm.vendorData.VendorStatus == \"Active\" ? true : false;\r\n\t\t\t\t// }\r\n\t\t\t }\r\n\t\t\t})\r\n\t\t }\r\n\t\t\r\n\r\n\t\t\r\n\r\n\r\n\r\n\r\n\r\n\t\t vm.getUserInfo = function (userId, loggedinUser) {\r\n\t\t\tNewTalentPoolService.getUserInfo(userId, loggedinUser, token).then(function (resp) {\r\n\t\t\t vm.userInfo = resp.data;\r\n\t\t\t// vm.GetFreelancerBalance(vm.userInfo.UserId);\r\n\t\t\t vm.skill = vm.userInfo.SkillSet;\r\n\t\t\t vm.circle = vm.userInfo.Locations;\r\n\t\t\t}, function () {\r\n\t\t\t //$log.log('not working');\r\n\t\t\t});\r\n\t\t }\r\n\t\t// vm.getUserInfo();\r\n\t\t// vm.VendorProfileView = function(userid){\r\n\t\t// \t$state.go('index.NewVendorProfile', {\r\n\t\t// \t userId: userid\r\n\t\t// \t}, {\r\n\t\t// \t\treload: true\r\n\t\t// \t });\r\n\t\t// }\r\n\r\n\t\t// vm.ProfileView = function (userid) {\r\n\t\t// \t$state.go('index.VendorProfile1', {\r\n\t\t// \t userId: userid\r\n\t\t// \t}, {\r\n\t\t// \t\treload: true\r\n\t\t// \t });\r\n\t\t// }\r\n\t\t vm.ProfileData = function (userId) {\r\n\t\t\tvm.getUserInfo(userId, loggedinUser);\r\n\t\t\tvm.client = 3;\r\n\t\t }\r\n\r\n\t\r\n\t\r\n\t\r\n\t\r\n\r\n\t\tvm.preferreduser=[];\r\n\t\tvm.Preferred = function (UserId) {\r\n\t\t\tvar openpopup = true;\r\n\t\tfor(var i=0;i0)\r\n\t\t {\r\n\t\t\t for(var i=0; i 0){\r\n\t\t\t\t\t for(var j=0;j0)\r\n\t\t// {\r\n\t\t// \t for(var i=0; i 0){\r\n\t\t// \t\t\t for(var j=0;j0)\r\n\t\t\t\t{\r\n\t\t\t\t\tfor(var i=0; i 0){\r\n\t\t\t\t\t\t\t\tfor(var j=0;j 0) {\r\n\t\t\t\tvm.vendorList = resp.data;\r\n\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\r\n// vm.GetAllUsers();\r\nvm.getProfilePic = function (pic) {\r\n\treturn ImageUrl + \"/\" + pic;\r\n}\r\nvm.searchTable = function () {\r\n\tvm.dtInstance.DataTable.search(vm.searchText);\r\n\tvm.dtInstance.DataTable.search(vm.searchText).draw();\r\n};\r\n// start all user\r\n// vm.Bluserlist = [];\r\nvm.applyfilter = function (index, data) {\r\n\tvar userFormData ={};\r\n\tif(data){\r\n\t\tuserFormData=data;\r\n\t}else{\r\n\t\tvar temp = [];\r\n\t\tfor(var i=0;i0)\r\n\t\t\t {\r\n\t\t\t \tfor(var i=0; i 0){\r\n\t\t\t \t\t\t\tfor(var j=0;j0)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tfor(var i=0; i 0){\r\n\t\t\t\t\t\t\t\t\t\tfor(var j=0;j0)\r\n\t\t\t// {\r\n\t\t\t// \tfor(var i=0; i 0){\r\n\t\t\t// \t\t\t\tfor(var j=0;j0)\r\n\t\t\t{\r\n\t\t\t\tfor(var i=0; i 0){\r\n\t\t\t\t\t\t\tfor(var j=0;jlTfgitp')\r\n\t.withButtons([{extend:'colvis'},{extend:'csv'}])\r\n\t.withOption('stateSave', true)\r\n\t\r\n\t.withPaginationType('full_numbers')\r\n\t.withOption('lengthChange', false)\r\n\t.withOption('paging', false)\r\n\t.withOption('bInfo',false)\r\n\t.withOption('order', [0, 'desc']);\r\n\r\n\tvm.PreferreddtColumnDefs = [\r\n\tDTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n\tDTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n\tDTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n\tDTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n\tDTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n\tDTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n\tDTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n\tDTColumnDefBuilder.newColumnDef(7).notSortable(),\r\n\tDTColumnDefBuilder.newColumnDef(8).notSortable(),\r\n\tDTColumnDefBuilder.newColumnDef(9).notSortable(),\r\n\tDTColumnDefBuilder.newColumnDef(10).notSortable(),\r\n\tDTColumnDefBuilder.newColumnDef(11).notSortable(),\r\n\tDTColumnDefBuilder.newColumnDef(12).notSortable(),\r\n\t];\r\n\t\t\r\n\r\n\t\t vm.getUserInfo = function (userId, loggedinUser) {\r\n\t\t\tNewTalentPoolService.getUserInfo(userId, loggedinUser, token).then(function (resp) {\r\n\t\t\t vm.userInfo = resp.data;\r\n\t\t\t// vm.GetFreelancerBalance(vm.userInfo.UserId);\r\n\t\t\t vm.skill = vm.userInfo.SkillSet;\r\n\t\t\t vm.circle = vm.userInfo.Locations;\r\n\t\t\t}, function () {\r\n\t\t\t //$log.log('not working');\r\n\t\t\t});\r\n\t\t }\r\n\t\t// vm.getUserInfo();\r\n\t\t\r\n\t\t vm.ProfileData = function (userId) {\r\n\t\t\tvm.getUserInfo(userId, loggedinUser);\r\n\t\t\tvm.client = 3;\r\n\t\t }\r\n\r\n\t\r\n\t\r\n\t\r\n\t\r\n\r\n\t\tvm.preferreduser=[];\r\n\t\tvm.Preferred = function (UserId) {\r\n\t\t\tvar openpopup = true;\r\n\t\tfor(var i=0;i0)\r\n\t\t\t\t {\r\n\t\t\t\t\t for(var i=0; i 0){\r\n\t\t\t\t\t\t\t for(var j=0;j\" + \"Decoded URI: \" + dec;\r\n $('#agreementview').contents().find('html').html(dec);\r\n // document.getElementById(\"demo\").html(dec);\r\n \r\n // vm.showSuccess('Success', \"User added in preferred talent pool\");\r\n // vm.PreferredUserModal.close();\r\n }else{\r\n var dec = decodeURIComponent(resp.data).replace(/\\+/g,\" \");\r\n $('#agreementview').contents().find('html').html(dec);\r\n }\r\n \r\n })\r\n }\r\n\r\n if(vm.loggedInUser_Role== 'SuperAdministrator'){\r\n vm.RechargeHistory = function(userid) {\r\n vm.userid=userid;\r\n RechargeModal = $uibModal.open({\r\n templateUrl: 'rechargeHistory.html',\r\n scope: $scope,\r\n controller: ModalInstanceCtrlHistory,\r\n resolve : {\r\n items : function(){\r\n return {\r\n AccountName:vm.CompanyName,\r\n AccountId:vm.Email\r\n };\r\n }\r\n },\r\n size:'lg' \r\n }); \r\n }\r\n }\r\n vm.imageServices = function(img){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n }\r\n else{\r\n vm.profileImg = resp.data;\r\n }\r\n console.log(vm.profileImg);\r\n }, function() {\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n });\r\n \r\n } \r\n vm.InsurenceimageServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.InsurenceImg = 'assets/images/patterns/pdf.png';\r\n }\r\n else{\r\n vm.InsurenceImg= resp.data;\r\n }\r\n \r\n }, function() {\r\n vm.InsurenceImg = 'assets/images/patterns/pdf.png';\r\n });\r\n \r\n }\r\n \r\n vm.CertimageServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.CertprofileImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else{\r\n vm.CertprofileImg[index] = resp.data;\r\n }\r\n \r\n }, function() {\r\n vm.CertprofileImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n });\r\n \r\n }\r\n vm.CloseRechargeModal = function(){\r\n RechargeModal.close();\r\n }\r\n\r\n var ModalInstanceCtrlHistory = function($scope, $rootScope, $uibModalInstance, items) { \r\n PreferredFreelancerTechnicianProfileService.getFreelancerHistory(vm.userId, loggedinUser, token).then(function(resp){\r\n if (resp && resp.data) {\r\n vm.AccountHistoryData = resp.data;\r\n }\r\n }) \r\n }\r\n\r\n vm.dtOption = DTOptionsBuilder.newOptions().withDOM(\r\n '<\"html5buttons\"B>lTfgitp').withPaginationType(\r\n 'full_numbers').withOption('lengthChange', false)\r\n .withOption('order', []);\r\n \r\n vm.dtColumnDefs = [\r\n //DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable().withClass('td-small-with-panel'),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable()];\r\n\r\n //if(vm.loggedInUser_Role== 'SuperAdministrator'){\r\n vm.TicketHistory = function(userid) {\r\n vm.userid=userid;\r\n TicketModal = $uibModal.open({\r\n templateUrl: 'TicketHistory.html',\r\n scope: $scope,\r\n controller: getJobsByUserId(userid, loggedinUser),\r\n size:'lg' \r\n }); \r\n \r\n }\r\n //}\r\n \r\n vm.CloseTicketModal = function(){\r\n TicketModal.close();\r\n }\r\n \r\n\r\n // var ModalInstanceCtrTicketlHistory = function($scope, $rootScope, $uibModalInstance, items) { \r\n // \r\n // FreelancerTechnicianProfileService.getJobsByUserId(vm.userId, loggedinUser, token).then(function (resp) {\r\n // vm.jobTickets = resp.data;\r\n // }) \r\n // }\r\n\r\n var getJobsByUserId= function(userid, loggedinUser) {\r\n PreferredFreelancerTechnicianProfileService.getJobsByUserId(vm.userId, loggedinUser, token).then(function (resp) {\r\n vm.jobTickets = resp.data;\r\n }, function () {\r\n });\r\n \r\n }\r\n\r\n\r\n\r\n vm.dtOptionsticket = DTOptionsBuilder.newOptions().withDOM(\r\n '<\"html5buttons\"B>lTfgitp').withPaginationType(\r\n 'full_numbers').withOption('lengthChange', false)\r\n // .withButtons(['colvis'])\r\n .withOption('stateSave', true)\r\n .withOption('stateSaveCallback', function (settings, data) {\r\n localStorage.setItem('DataTables_' + settings.sInstance, JSON.stringify(data))\r\n })\r\n .withOption('stateLoadCallback', function (settings) {\r\n var state = JSON.parse(localStorage.getItem('DataTables_' + settings.sInstance));\r\n if (state) {\r\n state.search = { search: \"\", smart: true, regex: false, caseInsensitive: true };\r\n if(state.columns && state.columns.length>0){\r\n state.columns[7].visible=false;\r\n state.columns[8].visible=false;\r\n state.columns[10].visible=false;\r\n state.columns[11].visible=false; \r\n }\r\n }\r\n return state;\r\n })\r\n .withOption('initComplete', function () {\r\n $('.dataTables_filter input').unbind();\r\n })\r\n .withOption('order', [1, 'desc']);\r\n \r\n vm.dtColumnDefsticket = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(7).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(8).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(9).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(10).notSortable()\r\n ];\r\n\r\n\r\n \r\n\r\n\r\n\r\n});\nangular.module('inspinia').service('TicketBasedPlanningService', function (ApiURL,SchedulingAPI, FreelancerURL,LocationURL,PublicApiURL, $log, $http,$localStorage,$window) {\r\n\r\nthis.getTicketBasedPlanning = function (startDate, endDate, reqUserId,token, itemNames,itemValues,DateField,PageIndex,PageSize) {\r\n var url = '';\r\n url = ApiURL + '/api/Invoice/GetInvoicesAccountsDateRangeWithDynaPaging?fromDate=' + startDate + '&toDate=' + endDate+ '&reqUserId=' + reqUserId + '&itemNames=' + itemNames + '&itemValues=' + itemValues + '&DateField=' + DateField + '&PageIndex=' + PageIndex + '&PageSize=' + PageSize;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': reqUserId\r\n }\r\n });\r\n}\r\nthis.GetAddressBasedPlanningResult = function (userFormData, loggedInUserId,token) {\r\n var url = SchedulingAPI + '/api/AssistedScheduling/GetAddressBasedPlanningResultReport';\r\n return $http.post(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token , 'UserId': loggedInUserId\r\n }\r\n });\r\n}\r\n});\nangular.module('inspinia').controller('TicketBasedPlanningController', function (TicketBasedPlanningService,JobTicketViewService,MainService,ReferService,ActiveVendorUpdateService, $http,toaster, $filter,$rootScope, PublicApiURL, $window, $log, $q, $compile, DTOptionsBuilder,DTColumnDefBuilder, DTColumnBuilder, $uibModal, $localStorage, ticketTemplateService, $scope, $state, FreelancerURL, ApiURL, $timeout,ngProgressFactory) {\r\n\tvm = this;\r\n\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\tvm.CustomDateformat = $localStorage.CustomDateformat; \r\n vm.FreelancerAccess = $localStorage.accountConfig.FreelancerAccess;\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.accountConfig = $localStorage.accountConfig;\r\n vm.confirmTagModal = $scope.$parent.$parent.main.confirmTagModal;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.CurrencySymbol = $localStorage.accountConfig.CurrencySymbol;\r\n vm.EnableRegion = vm.getAccountConfigSetting('EnableRegion');\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n var token = $localStorage.token;\r\n // $scope.$parent.$parent.main.implementSelectItems('ticketList', this);\r\n vm.searchText = \"\";\r\n vm.IsSearch = false;\r\n\tvm.DateField=\"CreatedOn\";\r\n\tvm.SearchByUserType=''; \r\n\tvm.searchJobTypeText = \"\";\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n\tvm.TotalLocation=0;\r\n\tvm.TotalMatch=0;\r\n\tvm.NotMatch=0;\r\n\tvm.Atleast3Match=0;\r\n\tvm.Atleast2Match=0;\r\n\tvm.Atleast1Match=0; \r\n\tvm.RunRateInDays=0;\r\n\tvm.RangeInKm=50;\r\n\tvm.JobSkill=\"\";\r\n\tvm.RegistrationStatus=\"\";\r\n\tvm.Asset=\"\";\r\n\tvm.Tools=\"\";\r\n\tvm.Certificate=\"\";\r\n\tvm.PermanentCity=\"\";\r\n vm.PermanentState=\"\"; \r\n\tvm.Pincode=\"\";\r\n\tvm.UserDetailVerification=\"\";\r\n\tvm.showErrors = false;\r\n\tvm.showSuccess = false;\r\n\tvm.errorList = [];\r\n\tvm.disableUploadButton = true;\r\n\tvm.LocationAddressList = [];\t\r\n\tvm.TicketBasedPlanningList ={};\r\n\tvm.bulkuploadType = \"Location\";\r\n\tvm.progressbar = ngProgressFactory.createInstance();\r\n\tvm.canceler = $q.defer();\r\n\tvm.successTitle = \"\";\r\n\tvm.successMsg = \"\";\r\n\tvm.noMsg = [];\r\n\tvm.noOfRecords = 0;\r\n\tvm.file = null;\r\n\tvm.dtInstance = {};\r\n var startDate = moment().subtract(7, 'day').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.ticketdates = { startDate: moment().subtract(7, 'day'), endDate: moment() };\r\n vm.ticketranges = {\r\n 'Today': [moment(), moment()],\r\n // 'Yesterday': [moment().subtract(1, 'days'), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')]\r\n }; \r\n\r\n\tvm.searchTable = function () {\r\n\t\tvm.dtInstance.DataTable.search(vm.searchText);\r\n\t\tvm.dtInstance.DataTable.search(vm.searchText).draw();\r\n\t };\r\n \r\n\t vm.dtOptions = DTOptionsBuilder.newOptions().withDOM(\r\n\t\t'<\"html5buttons\"B>lTfgitp').withPaginationType(\r\n\t\t'full_numbers')\r\n\t\t.withButtons([])\r\n\t\t.withOption('lengthChange', false)\r\n\t\t.withOption('initComplete', function () {\r\n\t\t $('.dataTables_filter input').unbind();\r\n\t\t})\r\n\t\t.withOption('order', [1, 'desc']);\r\n \r\n\t vm.dtColumnDefs = [\r\n\t\tDTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n\t\t//DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n\t\tDTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n\t\tDTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n\t\tDTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n\t\tDTColumnDefBuilder.newColumnDef(5).notSortable()];\r\n\t\r\n vm.ConverttoDecimal = function(value) {\r\n return (parseFloat(value).toFixed(2))\r\n }\r\n vm.getSkills = function () {\r\n\tJobTicketViewService.getSkills(loggedinUser, token, function (skills) {\r\n\t vm.skills = skills; \r\n\t}, vm.showFailure);\r\n }\r\n vm.getSkills();\r\n function getAllStates() {\r\n\tvar defered = $q.defer();\r\n\tReferService.getAllState(loggedinUser,token).then(function (resp) {\r\n\t\tdefered.resolve(resp);\r\n\t}, function (error) {\r\n\t\tdefered.reject(error);\r\n\t});\r\n\treturn defered.promise;\r\n}\r\n\r\nvar allStatePromise = getAllStates();\r\nallStatePromise.then(function (resp) {\r\n\tvm.StateList = resp.data;\r\n\t\r\n});\r\nfunction getallCities(state) {\r\n\tReferService.getAllCity(loggedinUser, state,token).then(function (resp) {\r\n\t\tvm.CityList = resp.data;\r\n\t});\r\n}\r\nvm.selectedState = function (state) {\r\n\tgetallCities(state);\r\n}\r\n \r\n vm.dateRangeChange = function (ev, picker) {\r\n vm.IsSearch = true;\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\"); \r\n vm.ticketdates = { startDate: startDate, endDate: endDate };\r\n };\r\n\r\n vm.outsidedateRangeChange = function (ev, picker) { \r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n \r\n };\r\n\r\n vm.OpenUploadLocationModal = function () \r\n {\r\n\tuploadLocationModalInstance = $uibModal.open({\r\n\ttemplateUrl: 'bulk_upload_location_model.html',\r\n\tscope: $scope\r\n\t});\t\r\n }\r\n vm.RangeFunction= function(){\r\n $timeout(function(){\r\n $(\"#example_id\").ionRangeSlider({\r\n\tgrid: true,\r\n\tmin: 0,\r\n\tmax: 200,\r\n\tfrom: 50,\r\n\tstep : 1,\r\n\tskin: \"round\",\r\n\tpostfix: \" Kms\"\r\n});\r\n},100)\r\n }\r\nvm.CloseModal = function () {\r\n\tuploadLocationModalInstance.close();\r\n}\r\n \r\n/////////////////////////////////////////////////////////\r\nif (vm.bulkuploadType == 'cms') {\r\n vm.dzOptions = {\r\n paramName: 'photo',\r\n maxFilesize: '100',\r\n url: '/',\r\n acceptedFiles: '.zip',\r\n dictDefaultMessage: 'Click to add or drop files',\r\n dictRemoveFile: 'Remove'\r\n };\r\n } else {\r\n vm.dzOptions = {\r\n paramName: 'photo',\r\n maxFilesize: '100',\r\n url: '/',\r\n acceptedFiles: '.xlsx, .xls',\r\n dictDefaultMessage: 'Click to add or drop files',\r\n dictRemoveFile: 'Remove'\r\n };\r\n }\r\n\r\n vm.dtOptions = DTOptionsBuilder.newOptions().withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers').withDisplayLength(5).withOption('lengthMenu', [5, 10, 15, 20]);\r\n\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable()\r\n ];\r\n\r\n vm.loaderFlag = false;\r\n vm.hideLoader = function () {\r\n if (vm.loaderFlag) {\r\n $rootScope.$broadcast(\"loader_hide\");\r\n $timeout(function () { vm.loaderFlag = false; }, 1000);\r\n $timeout(vm.hideLoader, 1);\r\n }\r\n }\r\n\r\n vm.scrollDwn = function () {\r\n $(\"html, body\").animate({ scrollTop: $(document).height() - $(window).height() }, 900);\r\n // $location.hash('error_datatable');\r\n // $anchorScroll();\r\n }\r\nvm.dzCallbacks = {\r\n 'addedfile': function (file) {\r\n vm.showErrors = false;\r\n vm.errorList = [];\r\n vm.disableUploadButton = true;\r\n vm.LocationAddressList = []; \r\n \r\n $(\"#dropzone1 .dz-progress .dz-upload\").hide();\r\n $(\".bulkupload-progress\").width(0);\r\n $(\".ajax-loader\").hide();\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n vm.showSuccess = false;\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noOfRecords = 0;\r\n\r\n var dropzoneChildren = $(\"#dropzone1\").children();\r\n $(\"#dropzone1\").empty();\r\n $(\"#dropzone1\").append(dropzoneChildren[0]);\r\n $(\"#dropzone1\").append(dropzoneChildren[dropzoneChildren.length - 1]);\r\n\r\n vm.loaderFlag = true;\r\n vm.hideLoader();\r\n vm.file = file;\r\n var fd = new FormData();\r\n fd.append('file', file); \r\n $http.post(ApiURL + '/api/BulkUpload/MediaUpload?reqUserId=' + loggedinUser + '&action=Create', fd, {\r\n transformRequest: angular.identity,\r\n headers: { 'Content-Type': undefined, 'Token': token,'UserId': loggedinUser },\r\n timeout: vm.canceler.promise\r\n })\r\n .success(function (data) {\r\n $(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n if (vm.bulkuploadType == 'Location') {\r\n\t\t\t\tvm.LocationAddressList = data.AddressList;\t\t\t \r\n vm.noOfRecords = data.AddressList ? data.AddressList.length : 0;\r\n } \r\n $(\"#dropzone1>div:last-child\").removeClass(\"dz-error\").addClass(\"dz-success\");\r\n if (data.Errors.length > 0) {\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable()\r\n ];\r\n angular.forEach(data.Errors, function (v, k) {\r\n\r\n if (v.ItemErrors.length > 0) {\r\n var e1 = {};\r\n angular.forEach(v.ItemErrors, function (v1, k1) {\r\n e1.message = e1.message != undefined && e1.message != \"undefined\" && e1.message.length > 0 ? e1.message + \",\" + v1.Message : v1.Message;\r\n });\r\n if (v.Row > 0 && data.AddressList && data.AddressList.length > 0 && data.AddressList.length >= v.Row) {\r\n e1.data = data.AddressList[v.Row - 1];\r\n } \r\n vm.errorList.push(e1);\r\n }\r\n });\r\n\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Invalid records!\";\r\n vm.successMsg = \"There are \" + vm.errorList.length + \" errors. To see them click here\";\r\n vm.noMsg = [];\r\n vm.showErrors = true;\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n } else if (data.ErrorCode == 103) {\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Missing columns in excel file\";\r\n vm.successMsg = \"Following columns are missing in excel file. Please add them and re-upload file\";\r\n vm.noMsg = [];\r\n angular.forEach(data.MissingColumns, function (k, v) {\r\n vm.noMsg.push(k);\r\n });\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n } else if (data.Message && data.Message.length>0) {\r\n\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Validation failed\";\r\n vm.successMsg = data.Message\r\n vm.noMsg = [];\r\n angular.forEach(data.MissingColumns, function (k, v) {\r\n vm.noMsg.push(k);\r\n });\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\r\n } else {\r\n vm.showSuccess = true;\r\n vm.disableUploadButton = false;\r\n vm.successTitle = \"Validation completed\";\r\n vm.successMsg = vm.bulkuploadType.charAt(0).toUpperCase() + vm.bulkuploadType.slice(1) + (vm.noOfRecords > 1 ? \"s\" : \"\") + \" are validated successfully. Total \" + vm.noOfRecords + \" \" + vm.bulkuploadType + (vm.noOfRecords > 1 ? \"s\" : \"\") + \" found. Please click on start upload button to proceed.\";\r\n // vm.successMsg = \"You have successfully created \"+vm.bulkuploadType+\"s in bulk\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n }\r\n $(\"table th:first-child\").removeClass(\"sorting_asc\");\r\n vm.progressbar.complete();\r\n })\r\n .error(function (errorMessage) {\r\n $(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n vm.progressbar.complete();\r\n vm.successTitle = \"Validation of records failed\";\r\n vm.successMsg = \"Error in data validation, please correct the data and re-upload file\";\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n });\r\n \r\n },\r\n 'success': function (file, xhr) {\r\n },\r\n 'error': function (file, errorMessage) {\r\n }\r\n };\r\n\r\n vm.addFiles = function () {\r\n $(\"#dropzone1\").trigger(\"click\");\r\n }\r\n vm.GetAddressBasedPlanning = function () {\t\t\t\r\n\tvar userData = {\r\n\t\t\"AddressList\": vm.LocationAddressList,\r\n\t\t\"ActOnCurrentLocation\": true,\r\n\t\t\"RangeFromJob\": (vm.RangeInKm * 1000),\r\n\t\t\"Skill\": vm.JobSkill==\"\" ? \"\": vm.JobSkill.join(\"|\"),\r\n\t\t\"RegistrationStatus\": vm.RegistrationStatus==\"Both\" ? \"\": vm.RegistrationStatus,\r\n\t\t\"AssetList\": vm.Asset,\r\n\t\t\"CertificateList\": vm.Certificate,\r\n\t\t\"ToolList\": vm.Tools,\r\n\t\t\"UserDetailVerificationList\": vm.UserDetailVerification,\r\n\t\t\"OrderByUsers\": [\r\n\t\t {\"PriorityOrder\":1,\"OrderByField\":\"UserDistance\"},{\"PriorityOrder\":2,\"OrderByField\":\"UserRating\"}\r\n\t\t],\r\n\t\t\"UserConfigList\": [\r\n\t\t {\"UserRole\":\"Field Engineer\",\"UserType\":\"Freelancer\"},{\"UserRole\":\"Vendor Manager\",\"UserType\":\"Freelancer\"}\r\n\t\t]\r\n\t }\r\n \tvm.progressbar.reset();\r\n \tvm.progressbar.start();\r\n \tTicketBasedPlanningService.GetAddressBasedPlanningResult(userData, loggedinUser, token).then(function (resp) {\r\n\tif(resp.status==200){\t\t\r\n\t\tvm.TicketBasedPlanningList = resp.data;\t\r\n\t\tvm.TotalLocation = vm.TicketBasedPlanningList.TotalJobLocations;\r\n\t\tvm.TotalMatch = vm.TicketBasedPlanningList.TotalMatch;\r\n\t\tvm.NotMatch = vm.TicketBasedPlanningList.NotMatch;\r\n\t\tvm.Atleast3Match = vm.TicketBasedPlanningList.Atleast3Match;\r\n\t\tvm.Atleast2Match = vm.TicketBasedPlanningList.Atleast2Match;\r\n\t\tvm.Atleast1Match = vm.TicketBasedPlanningList.Atleast1Match;\r\n\t\tvm.RunRateInDays = vm.TicketBasedPlanningList;\r\n\t}\r\n\telse\r\n\t{\r\n\t\tvm.TicketBasedPlanningList=null;\r\n\t}\t\t\t\t\t\t\t\r\n});\r\n\r\n}\r\n vm.uploadFile = function () {\r\n if (vm.LocationAddressList && vm.LocationAddressList.length > 0) {\r\n\t\t\r\n\t\tvm.GetAddressBasedPlanning();\r\n\t\tuploadLocationModalInstance.close();\r\n }\r\n }\r\nvm.AssetList = [\"Laptop\",\"Mobile\", \"Bike\"];\r\nvm.RegistrationStatusList = [\"Active\",\"Registered\", \"Both\"];\r\nvm.UserDetailVerificationList = [\"BG Certified\",\"Address Verified\", \"ID Verified\",\"Criminal Verified\"];\r\nvm.getAllTools = function(){\r\n\tActiveVendorUpdateService.GetAllToolSets(loggedinUser,token,function(data){\r\n\t\tvm.Asset_ToolList = data;\r\n\t},vm.showFailure);\r\n}\r\nvm.getAllTools();\r\n\r\nvm.getAllCertificate = function(){\r\n\tActiveVendorUpdateService.GetAllCertificate(loggedinUser,token,function(data){\r\n\t\tvm.AllCertificateSets = data;\r\n\t},vm.showFailure);\r\n}\r\nvm.getAllCertificate();\r\nvm.Allapplyfilter = function(){ \r\n\t\r\n\tvm.GetAddressBasedPlanning();\r\n }\r\n vm.ResetFilter = function(){\r\n\tvm.RangeInKm=\"\";\r\n\tvm.JobSkill=\"\";\r\n\tvm.RegistrationStatus=\"\";\r\n\tvm.Asset=\"\";\r\n\tvm.Tools=\"\";\r\n\tvm.Certificate=\"\";\r\n\tvm.UserDetailVerification=\"\";\r\n\tvm.PermanentCity=\"\";\r\n vm.PermanentState=\"\"; \r\n\tvm.Pincode=\"\";\r\n }\r\n \r\n///////////////////////////////////////////////////\r\n \r\n}\r\n});\r\n// $(\"#example_id\").ionRangeSlider({\r\n// \tgrid: true,\r\n// \tmin: 0,\r\n// \tmax: 200,\r\n// \tfrom: 0,\r\n// \tstep : 1,\r\n// \tskin: \"round\",\r\n// \tpostfix: \" Kms\"\r\n// });\nangular.module('inspinia').service('PlanningToolService', function (ApiURL, SchedulingAPI,$log,FreelancerURL, $http, $localStorage, $window, PublicApiURL, ActivityURL) {\r\n\r\n \r\n});\r\n\nangular.module('inspinia').controller('PlanningToolController', function ($state, $localStorage) {\r\n var vm = this;\r\n \r\n var loggedInUserId = $localStorage.loggedInUserId;\r\n if (!loggedInUserId) {\r\n \r\n $state.go('Login', {\r\n reload: true\r\n });\r\n \r\n } else {\r\n \r\n \r\n \r\n }\r\n })\r\n \r\n\r\n \r\n \nangular.module('inspinia').service('PlanningBulkUploadService', function () {\r\n\r\n \r\n});\r\n\nangular.module('inspinia').controller('PlanningBulkUploadController', function ($scope, $log, $localStorage,PlanningBulkUploadService) {\r\n\r\n var vm = this;\r\n \r\n var loggedInUserId = $localStorage.loggedInUserId;\r\n if (!loggedInUserId) {\r\n \r\n $state.go('Login', {\r\n reload: true\r\n });\r\n \r\n } else\r\n {\r\n \r\n }\r\n\r\n})\nangular.module('inspinia').controller('PlanningTicketController', function ($scope, $uibModal) {\r\n\r\n $scope.openModal = function () {\r\n $uibModal.open({\r\n templateUrl: 'customModal.html',\r\n controller: function ($scope, $uibModalInstance) {\r\n $scope.ok = function () {\r\n $uibModalInstance.close();\r\n };\r\n \r\n $scope.cancel = function () {\r\n $uibModalInstance.dismiss('cancel');\r\n };\r\n }\r\n })\r\n };\r\n\r\n\r\n $scope.openSaveReport = function () {\r\n $uibModal.open({\r\n templateUrl: 'saveReport.html',\r\n controller: function ($scope, $uibModalInstance) {\r\n $scope.ok = function () {\r\n $uibModalInstance.close();\r\n };\r\n \r\n $scope.cancel = function () {\r\n $uibModalInstance.dismiss('cancel');\r\n };\r\n }\r\n })\r\n };\r\n\r\n $scope.openEmail = function () {\r\n $uibModal.open({\r\n templateUrl: 'emailReport.html',\r\n size:'lg',\r\n controller: function ($scope, $uibModalInstance) {\r\n $scope.ok = function () {\r\n $uibModalInstance.close();\r\n };\r\n \r\n $scope.cancel = function () {\r\n $uibModalInstance.dismiss('cancel');\r\n };\r\n }\r\n })\r\n };\r\n\r\n $scope.priceSlider = 10;\r\n $scope.myTrigger = \"outsideClick\";\r\n\r\n $scope.toggleSingleClass = function() {\r\n $scope.class_status = !$scope.class_status;\r\n };\r\n \r\n});\nangular.module('inspinia').service('PlanningTemplatesService', function () {\r\n\r\n \r\n});\r\n\nangular.module('inspinia').controller('PlanningTemplatesController', function ($scope, $log, $localStorage,PlanningTemplatesService) {\r\n\r\n var vm = this;\r\n \r\n var loggedInUserId = $localStorage.loggedInUserId;\r\n if (!loggedInUserId) {\r\n \r\n $state.go('Login', {\r\n reload: true\r\n });\r\n \r\n } else\r\n {\r\n $scope.IsVisible = false;\r\n $scope.ShowHide = function () {\r\n //If DIV is visible it will be hidden and vice versa.\r\n $scope.IsVisible = true;\r\n }\r\n\r\n $scope.isNavCollapsed = true;\r\n $scope.isCollapsed = false;\r\n $scope.isNavCollapseds = true;\r\n $scope.isCollapseds = false;\r\n $scope.isNavCollapsedss = true;\r\n $scope.isCollapsedss = false;\r\n $scope.isNavCollapsedsss = true;\r\n $scope.isCollapsedsss = false;\r\n $scope.toggle = {};\r\n $scope.toggle.switch = true;\r\n $scope.toggle.switch1=true;\r\n $scope.toggle.switch2=true;\r\n $scope.toggle.switch3=true;\r\n $scope.toggle.switch6=true;\r\n $scope.toggle.switch7=true;\r\n $scope.toggle.switch8=true;\r\n $scope.toggle.switch9=true;\r\n $scope.toggle.switch10=true;\r\n $scope.toggle.switch12=true;\r\n }\r\n\r\n\r\n \r\n\r\n})\n\r\nangular.module('inspinia').service('PlanningResourseMapService', function (ApiURL, FreelancerURL, SchedulingAPI, $log, $http, $localStorage) {\r\n\r\n this.GetAllFreLancerProfile = function (loggedinUser, token, itemNames, itemValues, textItemNames, textItemValues) {\r\n var url = '';\r\n var url = FreelancerURL + '/api/FreeLancerUser/' + loggedinUser + '/GetAllFreLancerWithFiltersWithLightProfile?itemNames=' + itemNames + '&itemValues=' + itemValues + '&textItemNames=' + textItemNames + '&textItemValues=' + textItemValues;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetTalentPoolForMapView = function (mapuserFormData, loggedinUser, token) {\r\n var url = FreelancerURL + \"/api/FreelancerUser/GetTalentPoolForMapView\";\r\n return $http.put(url, mapuserFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetJobTicket = function (ticketId, loggedinUser, token) {\r\n var url = ApiURL + '/api/Ticket/' + ticketId + '/' + loggedinUser + '/byTicketId';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAddressBasedPlanningResult = function (userFormData, loggedInUserId, token) {\r\n var url = SchedulingAPI + '/api/AssistedScheduling/GetAddressBasedPlanningResultReport';\r\n return $http.post(url, userFormData, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n // https://login.mymobiforce.com/coreapi/api/accountConfig/GetAllAccountDetails \r\n\r\n\r\n this.GetAllAccountDetails = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/accountConfig/GetAllAccountDetails';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.getSkills = function (loggedinUser, token, callback, failure) {\r\n var url = ApiURL + '/api/SkillSets/' + loggedinUser + '/getmasterskillsB2C';\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n }, function () {\r\n failure(\"skills\", \"Unable to get skills\");\r\n });\r\n }\r\n\r\n this.GetAllCertificate = function (loggedinUser, token, success, failure) {\r\n var url = ApiURL + '/api/Cetrificate/GetAllMaster?reqUserId=' + loggedinUser;\r\n return $http.get(url, { headers: { 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if (res && res.status == 201 && res.data) {\r\n success(res.data);\r\n }\r\n }, function (err) {\r\n failure(\"Failed\", \"Unable to get certificate list, server error.\");\r\n })\r\n }\r\n\r\n this.GetAllToolSets = function (loggedinUser, token, success, failure) {\r\n var url = ApiURL + '/api/Tool/GetAllMaster?reqUserId=' + loggedinUser;\r\n return $http.get(url, { headers: { 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if (res && res.status == 201 && res.data) {\r\n success(res.data);\r\n }\r\n }, function (err) {\r\n failure(\"Failed\", \"Unable to get certificate list, server error.\");\r\n })\r\n }\r\n\r\n this.GetSchedulingEvaluationResult = function (data, reqUserId, token) {\r\n var url = SchedulingAPI + '/api/AssistedScheduling/GetSchedulingEvaluationResult?reqUserId=' + reqUserId;\r\n return $http.post(url, data, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': reqUserId }\r\n });\r\n }\r\n\r\n this.GetTicketsOnFilterWithPaging = function (ticketFormData, loggedinUser, token) {\r\n var url = ApiURL + \"/api/CapacityPlanning/GetTicketsOnFilter\";\r\n return $http.post(url, ticketFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n this.GetCustomersOnFilterWithPaging = function (ticketFormData, loggedinUser, token) {\r\n var url = ApiURL + \"/api/CapacityPlanning/GetCustomersOnFilter\";\r\n return $http.post(url, ticketFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n this.GetCustomersOnFilterWithoutPaging = function (ticketFormData, loggedinUser, token) {\r\n var url = ApiURL + \"/api/CapacityPlanning/GetCustomersOnFilter\";\r\n return $http.post(url, ticketFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetTicketsOnFilterWithoutPaging = function (ticketFormData, loggedinUser, token) {\r\n var url = ApiURL + \"/api/CapacityPlanning/GetTicketsOnFilter\";\r\n return $http.post(url, ticketFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetUsersForPinpoint = function (ticketFormData, lat, long, pincode, loggedinUser, token) {\r\n var url = ApiURL + '/api/CapacityPlanning/GetUsersForPinpoint?Latitude=' + lat + '&Longitude=' + long + \"&Pincode=\" + pincode;\r\n return $http.post(url, ticketFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n\r\n this.GetUsersOnFilterForTickets = function (ticketFormData, loggedinUser, token) {\r\n var url = ApiURL + '/api/CapacityPlanning/GetUsersOnFilterForTickets';\r\n return $http.post(url, ticketFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetPincodeBasedUserAnalysis = function (PincodeUserFilters, loggedinUser, token) {\r\n var url = ApiURL + '/api/CapacityPlanning/GetPincodeBasedUserAnalysis';\r\n return $http.post(url, PincodeUserFilters, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.Filter = function (loggedinUser, token, userFormData) {\r\n var url = FreelancerURL + \"/api/FreelancerUser/FreelancerByPaging?reqUserid=\" + loggedinUser;\r\n return $http.put(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.getAllState = function (loggedinUser) {\r\n var url = LocationURL + '/api/Location/' + loggedinUser + '/GetAllStates';\r\n return $http.get(url, {\r\n params: {}\r\n });\r\n }\r\n\r\n this.GetAllUsers = function (loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerUser/' + loggedinUser + '/GetAllUsers'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n })\r\n }\r\n\r\n this.GetAllUsers = function (loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerUser/' + loggedinUser + '/GetAllUsers'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n })\r\n }\r\n\r\n this.GetAllCapacityUpload = function (loggedinUser, token) {\r\n var url = ApiURL + \"/api/CapacityPlanning/GetAllCapacityUpload\";\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetAllAnalysisForUpload = function (loggedinUser, token, UploadId) {\r\n var url = ApiURL + '/api/CapacityPlanning/GetAllAnalysisForUpload?UploadId=' + UploadId;\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.CreateNewAnalysis = function (data, loggedinUser, token) {\r\n var url = ApiURL + '/api/CapacityPlanning/CreateNewAnalysis';\r\n return $http.post(url, data, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetAnalysisData = function (loggedinUser, token, UploadId, AnalysisId, Orderby, OrderSequence, PageIndex, PageSize) {\r\n var url = '';\r\n url = ApiURL + '/api/CapacityPlanning/GetAnalysisDataOnPaging?UploadId=' + UploadId + '&AnalysisId=' + AnalysisId + '&Orderby=' + Orderby + '&OrderSequence=' + OrderSequence + '&Index=' + PageIndex + '&PageSize=' + PageSize;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetExceptionAnalysisData = function (loggedinUser, token, UploadId, AnalysisId, Orderby, OrderSequence, PageIndex, PageSize) {\r\n var url = '';\r\n url = ApiURL + '/api/CapacityPlanning/GetAnalysisExceptionDataOnPaging?UploadId=' + UploadId + '&AnalysisId=' + AnalysisId + '&Orderby=' + Orderby + '&OrderSequence=' + OrderSequence + '&Index=' + PageIndex + '&PageSize=' + PageSize;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAnalysisDashboard = function (loggedinUser, token, UploadId, AnalysisId) {\r\n var url = ApiURL + '/api/CapacityPlanning/GetAnalysisDashboard?UploadId=' + UploadId + '&AnalysisId=' + AnalysisId;\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetAllPendingJobsCount = function (loggedinUser, token, UploadId) {\r\n var url = ApiURL + '/api/CapacityPlanning/GetAllPendingJobsCount?UploadId=' + UploadId;\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetAnalysisFilters = function (loggedinUser, token, UploadId, AnalysisId) {\r\n var url = ApiURL + '/api/CapacityPlanning/GetAnalysisFilters?UploadId=' + UploadId + '&AnalysisId=' + AnalysisId;\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.VerifyAddress = function (updatedAddress, loggedinUser, token) {\r\n var url = ApiURL + '/api/CapacityPlanning/VerifyAddress?UpdatedAddress=' + updatedAddress;\r\n return $http.post(url, '', {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n })\r\n }\r\n\r\n this.GetAddressByGoogle = function (findAddress, loggedinUser, token) {\r\n var url = ApiURL + '/api/CapacityPlanning/GetAddressByGoogle?UpdatedAddress=' + findAddress;\r\n return $http.post(url, '', {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n })\r\n }\r\n\r\n this.UpdateAddress = function (data, loggedinUser, token) {\r\n var url = ApiURL + '/api/CapacityPlanning/UpdateAddress';\r\n return $http.post(url, data, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n })\r\n }\r\n\r\n this.CreateDynamicAnalysis = function (data, loggedinUser, token) {\r\n var url = ApiURL + '/api/CapacityPlanning/CreateDynamicAnalysis';\r\n return $http.post(url, data, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n })\r\n }\r\n\r\n this.GetUserListData = function (UploadId, AnalysisId, AddressId, ListType, SortBy, OrderSequence, ulPageIndex, ulPageSize, loggedinUser, token) {\r\n url = ApiURL + '/api/CapacityPlanning/GetUserListForAddressOnPaging?UploadId=' + UploadId + '&AnalysisId=' + AnalysisId + '&AddressId=' + AddressId + '&ListType=' + ListType + '&Orderby=' + SortBy + '&OrderSequence=' + OrderSequence + '&Index=' + ulPageIndex + '&PageSize=' + ulPageSize;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.callToTechnicianApi = function (loggedinUser, userid, token) {\r\n url = ApiURL + '/api/CallPatching/ClickToCallFieldTeam?userId=' + userid;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetUserData = function (loggedinUser, token, UploadId, AnalysisId, Orderby, OrderSequence, uwPageIndex, uwPageSize) {\r\n var url = '';\r\n url = ApiURL + '/api/CapacityPlanning/GetUserAnalysisDataOnPaging?UploadId=' + UploadId + '&AnalysisId=' + AnalysisId + '&Orderby=' + Orderby + '&OrderSequence=' + OrderSequence + '&Index=' + uwPageIndex + '&PageSize=' + uwPageSize;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAddressListForUserOnPaging = function (UploadId, AnalysisId, UserId, ListType, SortBy, OrderSequence, uwtPageIndex, uwtPageSize, loggedinUser, token) {\r\n url = ApiURL + '/api/CapacityPlanning/GetAddressListForUserOnPaging?UploadId=' + UploadId + '&AnalysisId=' + AnalysisId + '&UserId=' + UserId + '&ListType=' + ListType + '&Orderby=' + SortBy + '&OrderSequence=' + OrderSequence + '&Index=' + uwtPageIndex + '&PageSize=' + uwtPageSize;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAllCampaignName = function (loggedinUser, token) {\r\n url = ApiURL + '/api/Campaign/GetAllCampaignName';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAllConsumerCampaignName = function (loggedinUser, token) {\r\n url = ApiURL + '/api/Campaign/GetAllConsumerCampaignName';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.RunCampaignOnConsumer = function (consumnerFormData, loggedinUser, token) {\r\n var url = ApiURL + \"/api/CapacityPlanning/RunCampaignOnConsumer\";\r\n return $http.post(url, consumnerFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetAllGenericCampaignName = function (loggedinUser, token) {\r\n url = ApiURL + '/api/Campaign/GetAllGenericCampaignName';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.RunCampaignOnUsers = function (userFormData, loggedinUser, token) {\r\n var url = ApiURL + \"/api/Campaign/RunCampaignOnUsers\";\r\n return $http.put(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.CreateNoticeOnUsers = function (userFormData, files, FileName, loggedinUser, token) {\r\n var formdata = new FormData();\r\n formdata.append(FileName, files);\r\n var FiltersData = JSON.stringify(userFormData);\r\n formdata.append(\"FiltersData\", FiltersData);\r\n var url = ApiURL + '/api/Campaign/CreateNoticeOnUsers';\r\n return $http.post(url, formdata, {\r\n headers: { 'Content-Type': undefined, 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.RunCampaignOnFilteredUsers = function (userFormData, campaignName, loggedinUser, token) {\r\n var url = ApiURL + \"/api/Campaign/RunCampaignOnFilteredUsers?CampaignName=\" + campaignName;\r\n return $http.put(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.CreateJobBundleAndBroadcast = function (loggedinUser, broadcastData, token) {\r\n var url = ApiURL + '/api/CapacityPlanning/CreateJobBundleAndBroadcast';\r\n return $http.post(url, broadcastData, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.CreateAndBroadcastPendingJobs = function (UploadId, loggedinUser, token) {\r\n var url = ApiURL + \"/api/CapacityPlanning/CreateAndBroadcastPendingJobs?UploadId=\" + UploadId;\r\n return $http.post(url, null, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n});\r\n\nangular.module('inspinia').controller('PlanningResourceMapController', function (DashboardService, $stateParams, DTColumnBuilder, $filter, $q, $compile, DTOptionsBuilder, ManualAssignationJobService, RegisteredAllUserService, PlanningResourseMapService, $scope, TicketBasedPlanningService, $uibModal, $timeout, $http, NgMap,\r\n ReferService, $rootScope, $q, DTColumnDefBuilder, $uibModal, $localStorage, $state, FreelancerURL, ApiURL, $timeout, ngProgressFactory, $interval) {\r\n var vm = this;\r\n vm.updateType = $stateParams.type;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n vm.accountid= $localStorage.accountConfig.AccountId;\r\n var token = $localStorage.token;\r\n vm.startDate = new Date(); // Set initial start date\r\n vm.endDate = new Date(); // Set initial end date\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n } else {\r\n\r\n vm.FilterSwitch = false;\r\n vm.client = 1;\r\n vm.workArea = '';\r\n var ProjectModal = {};\r\n var circleArray;\r\n vm.filteredProperties = {};\r\n var customerIndex = 0;\r\n vm.disableBroadcastButton = false;\r\n vm.projectName = '';\r\n vm.dtInstance = {};\r\n vm.showticketSuccess = false;\r\n $scope.myvalue = false;\r\n $scope.class_status = true;\r\n $scope.toggleSingleClass = function () {\r\n $scope.class_status = !$scope.class_status;\r\n $scope.myvalue = true;\r\n };\r\n\r\n $scope.broadcastSentUser = true;\r\n $scope.toggleForBroadcast = function () {\r\n $scope.broadcastSentUser = !$scope.broadcastSentUser;\r\n $scope.myvalue = true;\r\n };\r\n $scope.manualAssignationWrapper = \"hide-nav\";\r\n $scope.toggleMenu = function () {\r\n if ($scope.manualAssignationWrapper === \"hide-nav\") {\r\n $scope.manualAssignationWrapper = \"show-nav\";\r\n }\r\n else {\r\n $scope.manualAssignationWrapper = \"hide-nav\";\r\n }\r\n };\r\n $scope.hideAllUser = true;\r\n\r\n $scope.showAllUser = function () {\r\n $scope.hideAllUser = true;\r\n };\r\n $scope.hideAllUserbutton = function () {\r\n $scope.hideAllUser = false;\r\n };\r\n $scope.userClass_status = true;\r\n $scope.toggleBottom = false;\r\n $scope.open360View = function () {\r\n $scope.userClass_status = false;\r\n $scope.myvalue = true;\r\n }\r\n $scope.close360View = function () {\r\n $scope.userClass_status = true;\r\n $scope.myvalue = false;\r\n }\r\n $scope.closeSlideBottom = function () {\r\n $scope.toggleNav = false;\r\n }\r\n $scope.hideoverlay = function () {\r\n $scope.myvalue = false;\r\n $scope.class_status = true;\r\n $scope.userClass_status = true;\r\n $scope.broadcastSentUser = true;\r\n $scope.userFilter = true;\r\n $scope.minatureSlide = true;\r\n $scope.myvalue = false;\r\n vm.closeFeedbackoption();\r\n }\r\n $scope.close360ViewBroadcaste = function () {\r\n $scope.myvalue = false;\r\n angular.element('#div1').removeClass(\"alpha\");\r\n $scope.userClass_status = true;\r\n }\r\n $scope.userSingle = function () {\r\n $scope.userClass_status = !$scope.userClass_status;\r\n $scope.myvalue = true;\r\n };\r\n $scope.userFilter = true;\r\n $scope.assignJobFilter = function () {\r\n $scope.userFilter = !$scope.userFilter;\r\n $scope.myvalue = true;\r\n $scope.manualAssignationWrapper = \"hide-nav\";\r\n // $scope.toggleMenu();\r\n };\r\n $scope.minatureSlide = true;\r\n $scope.minatureSlideBtn = function () {\r\n $scope.minatureSlide = !$scope.minatureSlide;\r\n $scope.myvalue = true;\r\n };\r\n\r\n\r\n $scope.hideFilter = function () {\r\n $scope.userFilter = true;\r\n $scope.minatureSlide = true;\r\n $scope.myvalue = false;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n vm.CustomDateformat = $localStorage.CustomDateformat;\r\n vm.FreelancerAccess = $localStorage.accountConfig.FreelancerAccess;\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.accountConfig = $localStorage.accountConfig;\r\n vm.confirmTagModal = $scope.$parent.$parent.main.confirmTagModal;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.CurrencySymbol = $localStorage.accountConfig.CurrencySymbol;\r\n vm.EnableRegion = vm.getAccountConfigSetting('EnableRegion');\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n var token = $localStorage.token;\r\n vm.searchText = \"\";\r\n vm.searchTicket = \"\";\r\n vm.IsSearch = false;\r\n vm.DateField = \"CreatedOn\";\r\n var fnitemNames = '';\r\n var fnitemValues = '';\r\n var witemNames = \"\";\r\n var witemValues = \"\";\r\n var wsSDate = '';\r\n var wsEDate = '';\r\n var fPageIndex = 1;\r\n var fPageSize = 10;\r\n vm.SearchByUserType = '';\r\n vm.searchJobTypeText = \"\";\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n vm.TotalLocation = 0;\r\n vm.TotalMatch = 0;\r\n vm.NotMatch = 0;\r\n vm.Atleast3Match = 0;\r\n vm.Atleast2Match = 0;\r\n vm.Atleast1Match = 0;\r\n vm.RunRateInDays = 0;\r\n vm.RangeInKm = 0;\r\n vm.JobSkill = \"\";\r\n vm.RegistrationStatus = \"\";\r\n vm.UserRegistrationStatus = \"\";\r\n vm.TechRole = \"\";\r\n vm.Asset = \"\";\r\n vm.Tools = \"\";\r\n vm.Certificate = \"\";\r\n vm.PermanentCity = \"\";\r\n vm.techPincode = \"\";\r\n vm.PermanentState = \"\";\r\n vm.TicketState = \"\";\r\n vm.SearchByAccountName = \"\";\r\n vm.PreferredForAccounts = \"\";\r\n vm.TicketCity = \"\";\r\n vm.ticketStatus = \"\";\r\n vm.TicketSkill = \"\";\r\n vm.Pincode = \"\";\r\n vm.UserDetailVerification = \"\";\r\n vm.showErrors = false;\r\n vm.showPassed = false;\r\n vm.errorList = [];\r\n vm.disableUploadButton = true;\r\n vm.LocationAddressList = [];\r\n vm.TicketBasedPlanningList = {};\r\n vm.bulkuploadType = \"\";\r\n vm.progressbar = ngProgressFactory.createInstance();\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noMsg = [];\r\n vm.noOfRecords = 0;\r\n vm.file = null;\r\n vm.fileName = '';\r\n vm.fileDescription = '';\r\n vm.techpageindexCount = 0;\r\n var TPPageIndex = 1;\r\n var TPPageSize = 10;\r\n var cuPageIndex = 1;\r\n var cuPageSize = 10;\r\n vm.ticketPoolPageListCount = 10;\r\n vm.customerPageListCount = 10;\r\n vm.userPoolPageListCount = 10;\r\n vm.pageListCounts = [10, 20, 30, 50];\r\n vm.ticketPoolListLenth = 0;\r\n vm.customerListLenth = 0;\r\n vm.userPoolListLength = 0;\r\n var PageIndex = 1;\r\n var PageSize = 10;\r\n vm.pageindexCount = 0;\r\n vm.TPpageindexCount = 0;\r\n vm.cuPageindexCount = 0;\r\n var UPPageIndex = 1;\r\n var UPPageSize = 10;\r\n vm.UPpageindexCount = 0;\r\n vm.DateField = \"StatusChangedOn\";\r\n vm.searchStatusText = \"All\";\r\n var uPageIndex = 1;\r\n var uwPageIndex = 1;\r\n var uPageSize = 10;\r\n var uwPageSize = 10;\r\n var ulPageIndex = 1;\r\n var ulPageSize = 10;\r\n vm.AlListCount = 10;\r\n var uwtPageIndex = 1;\r\n var uwtPageSize = 10;\r\n var uwtPageSize = 10;\r\n vm.UWListCount = 10;\r\n var exuPageIndex = 1;\r\n var exuPageSize = 10;\r\n vm.EAlListCount = 10;\r\n vm.UsersType = \"\";\r\n vm.OrderSequence = \"asc\";\r\n vm.Orderby = \"City\";\r\n vm.SortBy = \"Distance\";\r\n var uitemNames = \"\";\r\n var uitemValues = \"\";\r\n vm.searchUsersText = \"\";\r\n vm.jobsCount = '';\r\n vm.userPageListCount = 10;\r\n vm.UWticketsListCount = 10;\r\n vm.pageListCountsuwt = [10, 20, 30, 50];\r\n\r\n var startDate = moment().subtract(7, 'days').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n $scope.dates = { startDate: startDate, endDate: endDate };\r\n $scope.ranges = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n 'Till now': [moment(vm.Technicianstartingdate), moment(endDate)],\r\n };\r\n\r\n $scope.dateRangeChange = function (ev, picker) {\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n vm.getAllJobForExceptionList();\r\n vm.GetAnalysisDataList(loggedinUser, token, vm.UploadId, vm.AnalysisId, vm.Orderby, vm.OrderSequence, uPageIndex, uPageSize);\r\n\r\n };\r\n\r\n\r\n vm.City = '';\r\n vm.Pincode = '';\r\n vm.Experience = '';\r\n vm.Ratings = '';\r\n vm.Assets_Tools = '';\r\n vm.Jobscount = '';\r\n vm.FilterAdhar = '';\r\n vm.FilterPancard = '';\r\n $localStorage.filteraddskill = '';\r\n $localStorage.filterPermanentstate = '';\r\n vm.currentPage = $localStorage.PageIndex ? $localStorage.PageIndex : 1;\r\n vm.pageSize = 20;\r\n\r\n $scope.totalUsers = 0;\r\n $scope.usersPerPage = 20; // this should match however many results your API puts on one page\r\n $scope.pagination = {\r\n current: 1\r\n };\r\n\r\n $scope.pagination.current = $localStorage.PageIndex ? $localStorage.PageIndex : 1;\r\n $scope.totalTableUsers = 0;\r\n $scope.usersTablePerPage = 20; // this should match however many results your API puts on one page\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n\r\n $scope.UserTablepagination.current = $localStorage.PageIndex ? $localStorage.PageIndex : 1;\r\n\r\n $scope.pageChanged = function (newPage) {\r\n vm.currentPage = newPage;\r\n vm.applyfilter(newPage);\r\n\r\n };\r\n $scope.isOpen = false;\r\n $scope.isOpen1 = false;\r\n $scope.isCollapsed = true;\r\n $scope.isCollapsed0 = true;\r\n $scope.isCollapsed1 = true;\r\n $scope.isCollapsed2 = true;\r\n $scope.isCollapsed3 = true;\r\n $scope.isCollapsed4 = true;\r\n $scope.isCollapsed5 = true;\r\n $scope.isCollapsed6 = true;\r\n $scope.isCollapsed7 = true;\r\n $scope.isCollapsed8 = true;\r\n $scope.isCollapsed9 = true;\r\n $scope.isCollapsed10 = true;\r\n $scope.isCollapsed11 = true;\r\n $scope.isCollapsed12 = true;\r\n $scope.isCollapsed13 = true;\r\n $scope.isCollapsed14 = true;\r\n $scope.isCollapsed15 = true;\r\n $scope.isCollapsed16 = true;\r\n $scope.isCollapsed17 = true;\r\n $scope.isCollapsed18 = true;\r\n $scope.isCollapsed19 = true;\r\n $scope.isCollapsed20 = true;\r\n $scope.isCollapsed21 = true;\r\n $scope.isCollapsed22 = true;\r\n $scope.isCollapsed23 = true;\r\n $scope.isCollapsed24 = true;\r\n $scope.isCollapsed25 = true;\r\n $scope.isCollapsed26 = true;\r\n $scope.isCollapsed27 = true;\r\n $scope.isCollapsed28 = true;\r\n $scope.isCollapsed29 = true;\r\n $scope.isCollapsed30 = true;\r\n $scope.isCollapsed31 = true;\r\n $scope.isCollapsed32 = true;\r\n $scope.isCollapsed33 = true;\r\n $scope.isCollapsed34 = true;\r\n $scope.isCollapsed35 = true;\r\n $scope.isCollapsed36 = true;\r\n $scope.isCollapsed37 = true;\r\n $scope.isCollapsed38 = true;\r\n $scope.isCollapsed39 = true;\r\n $scope.isCollapsed40 = true;\r\n $scope.isCollapsed41 = true;\r\n $scope.isCollapsed42 = true;\r\n $scope.showAnalysisReport = false;\r\n $scope.analysisFilterView = false;\r\n $scope.ticketFilterView = false;\r\n $scope.exceptionView = false;\r\n\r\n $scope.openAnalysisReport = function (analysisDetails) {\r\n $localStorage.UploadId = analysisDetails.UploadId;\r\n $scope.showAnalysisReport = !$scope.showAnalysisReport;\r\n angular.element('#filter-visible-area').removeClass(\"filter-slider-visible\");\r\n }\r\n $scope.backScreen = function () {\r\n $scope.showAnalysisReport = false;\r\n angular.element('#filter-visible-area').addClass(\"filter-slider-visible\");\r\n }\r\n\r\n $scope.analysisFilter = function () {\r\n $scope.analysisFilterView = true;\r\n $scope.showAnalysisReport = false;\r\n $scope.ticketFilterView = false;\r\n $scope.pincodeBasedFilterView = false;\r\n $scope.customerFilterView = false;\r\n $scope.searchDisabled = true;\r\n $scope.Ticket = false;\r\n $scope.Finance = false;\r\n $scope.Skills = false;\r\n angular.element('#filterList').addClass(\"removefilter-list\");\r\n angular.element('#filter-visible-area').addClass(\"filter-slider-visible\");\r\n }\r\n\r\n $scope.ticketFilter = function () {\r\n $scope.pincodeBasedFilterView = false;\r\n $scope.ticketFilterView = true;\r\n $scope.analysisFilterView = false;\r\n $scope.customerFilterView = false;\r\n $scope.showAnalysisReport = false;\r\n $scope.searchDisabled = false;\r\n $scope.Ticket = false;\r\n $scope.Finance = false;\r\n $scope.Skills = false;\r\n angular.element('#filterList').addClass(\"removefilter-list\");\r\n angular.element('#filter-visible-area').addClass(\"filter-slider-visible\");\r\n }\r\n\r\n $scope.pincodeBasedFilter = function () {\r\n $scope.pincodeBasedFilterView = true;\r\n $scope.ticketFilterView = false;\r\n $scope.analysisFilterView = false;\r\n $scope.customerFilterView = false;\r\n $scope.showAnalysisReport = false;\r\n $scope.searchDisabled = false;\r\n $scope.Ticket = false;\r\n $scope.Finance = false;\r\n $scope.Skills = false;\r\n angular.element('#filterList').addClass(\"removefilter-list\");\r\n angular.element('#filter-visible-area').addClass(\"filter-slider-visible\");\r\n }\r\n\r\n $scope.customerFilter = function () {\r\n $scope.pincodeBasedFilterView = false;\r\n $scope.ticketFilterView = false;\r\n $scope.customerFilterView = true;\r\n $scope.analysisFilterView = false;\r\n $scope.showAnalysisReport = false;\r\n $scope.searchDisabled = false;\r\n $scope.Ticket = false;\r\n $scope.Finance = false;\r\n $scope.Skills = false;\r\n angular.element('#filterList').addClass(\"removefilter-list\");\r\n angular.element('#filter-visible-area').addClass(\"filter-slider-visible\");\r\n }\r\n\r\n vm.techToRunCampaignOn = [];\r\n vm.implementSelectTech = function (itemList, scope) {\r\n scope.selectAllFL = false;\r\n scope.showMinusFL = false;\r\n scope.selectCountFL = 0;\r\n scope.selectRowFL = function (i) {\r\n scope.selectCountFL = 0;\r\n scope.showMinusFL = false;\r\n scope.selectAllFL = false;\r\n angular.forEach(vm.users, function (d) {\r\n if (d.checked) {\r\n vm.techToRunCampaignOn.push(d.UserId);\r\n scope.showMinusFL = true;\r\n scope.selectCountFL++;\r\n }\r\n });\r\n }\r\n\r\n $scope.selectedOption = ''; // Initialize selectedOption with an empty string\r\n\r\n // Function to determine which div to show based on the selected option\r\n // vm.showDiv = function() {\r\n // if ($scope.selectedOption === 'Location') {\r\n // return true;\r\n // }\r\n // return false;\r\n // };\r\n\r\n scope.applyAllFLSelect = function () {\r\n angular.forEach(scope[itemList], function (d) {\r\n d.checked = scope.selectAllFL;\r\n scope.selectCountFL++;\r\n if (d.checked) {\r\n vm.techToRunCampaignOn.push(d.UserId);\r\n }\r\n });\r\n }\r\n }\r\n\r\n vm.ResetUserSelection = function (scope) {\r\n scope.selectAllFL = false;\r\n scope.showMinusFL = false;\r\n scope.selectCountFL = 0;\r\n }\r\n vm.implementSelectTech('users', this);\r\n\r\n $scope.removeAnalysisFilter = function () {\r\n $scope.searchDisabled = true;\r\n angular.element('#filterList').removeClass(\"removefilter-list\");\r\n angular.element('#filter-visible-area').addClass(\"filter-slider-visible\");\r\n }\r\n\r\n $scope.cars = [\r\n { id: 1, name: 'CCNA' },\r\n { id: 2, name: 'Medical' },\r\n { id: 3, name: 'LO' },\r\n { id: 4, name: 'Computer' },\r\n { id: 5, name: 'OHS' },\r\n { id: 6, name: 'L1' },\r\n { id: 7, name: 'First-Aid Certification' },\r\n { id: 8, name: 'PT Id' },\r\n { id: 9, name: 'FARM TOC LI' },\r\n { id: 10, name: 'FLTV Installation' },\r\n ];\r\n\r\n $scope.tools = [\r\n { id: 1, name: 'Console Cable' },\r\n { id: 2, name: 'Drill Machine' },\r\n { id: 3, name: 'LAN Cable' },\r\n { id: 4, name: 'USB Converter' },\r\n { id: 5, name: 'Dongle ' },\r\n { id: 6, name: 'Toolkit' },\r\n { id: 7, name: 'Hearing Protection EN 352 2' },\r\n { id: 8, name: 'Safety Shoes CE marked' },\r\n { id: 9, name: 'Full Body Harness EN 361 2002' },\r\n { id: 10, name: 'Laptop' },\r\n\r\n ];\r\n $scope.selectedTools = [];\r\n\r\n\r\n vm.JobSkill = \"\";\r\n vm.ActiveInMonth = \"\";\r\n vm.NoOfJobDone = \"\";\r\n vm.Asset = \"\";\r\n vm.Tools = \"\";\r\n vm.UserRole = \"\";\r\n vm.MatchCriteria = \"\";\r\n vm.TraningCertificate = \"\";\r\n vm.ToolList = \"\";\r\n vm.OneJobDone = false;\r\n vm.MatchingSkill = false;\r\n vm.Asset_Bike = false;\r\n vm.Asset_Mobile = false;\r\n vm.Asset_Laptop = false;\r\n vm.IsBasedOnPincode = true;\r\n vm.disableCreateButton = false;\r\n\r\n vm.cities = {\r\n chicago: { population: 2714856, position: [41.878113, -87.629798] },\r\n newyork: { population: 8405837, position: [40.714352, -74.005973] },\r\n losangeles: { population: 3857799, position: [34.052234, -118.243684] },\r\n vancouver: { population: 603502, position: [49.25, -123.1] },\r\n }\r\n vm.getRadius = function (num) {\r\n return Math.sqrt(num) * 100;\r\n }\r\n\r\n\r\n NgMap.getMap().then(function (map) {\r\n vm.map = map;\r\n });\r\n\r\n\r\n // Cluster Map section start by simran\r\n\r\n vm.showMapWithFreelancers = function () {\r\n const warehouse = {\r\n url: \"../../assets/images/patterns/WH-1.png\"\r\n };\r\n const freelancer = {\r\n url: \"../../assets/images/patterns/FL.png\"\r\n };\r\n const vendor = {\r\n url: \"../../assets/images/patterns/FV.png\"\r\n };\r\n const masterwarehouse = {\r\n url: \"../../assets/images/patterns/WH.png\"\r\n }\r\n vm.dynMarkers = [];\r\n NgMap.getMap().then(function (map) {\r\n for (var i = 0; i < vm.freelancerlist.length; i++) {\r\n vm.techdetails = vm.freelancerlist[i];\r\n if (vm.freelancerlist[i].hasWareHouse == true) {\r\n icons = warehouse\r\n }\r\n else if (vm.freelancerlist[i].MasterWarehouse == true) {\r\n icons = masterwarehouse\r\n }\r\n else if (vm.freelancerlist[i].Role == 'Field Engineer') {\r\n icons = freelancer\r\n }\r\n else if (vm.freelancerlist[i].Role == 'Vendor Manager') {\r\n icons = vendor\r\n }\r\n var latLng = new google.maps.LatLng(vm.freelancerlist[i].CurrentLatitude, vm.freelancerlist[i].CurrentLongitude);\r\n const marker = new google.maps.Marker({ position: latLng, icon: icons });\r\n const contentString = \"

\" + vm.techdetails.Role + \"

\" + vm.techdetails.FirstName + \"\" + vm.techdetails.UserId + \"Skill: \" + vm.techdetails.SkillSet + \"Location: \" + vm.techdetails.Locations + \"Pincode:\" + vm.techdetails.CurrentPinCode + \"
\";\r\n var infowindow = new google.maps.InfoWindow();\r\n marker.addListener(\"click\", function () {\r\n infowindow.setContent(contentString);\r\n infowindow.open(map, marker);\r\n });\r\n vm.dynMarkers.push(marker);\r\n }\r\n if (vm.markerClusterer) {\r\n vm.markerClusterer.addMarkers(vm.dynMarkers);\r\n }\r\n else {\r\n const clusterOptions = {\r\n imagePath: \"https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m\",\r\n gridSize: 60,\r\n zoomOnClick: true,\r\n maxZoom: null,\r\n };\r\n vm.markerClusterer = new MarkerClusterer(map, vm.dynMarkers, clusterOptions);\r\n }\r\n });\r\n }\r\n vm.getRadius = function (num) {\r\n return Math.sqrt(num) * 100;\r\n }\r\n\r\n vm.GetTalentPoolForMap = function () {\r\n if (vm.markerClusterer) {\r\n vm.markerClusterer.clearMarkers();\r\n vm.dynTicketMarkers = [];\r\n }\r\n PlanningResourseMapService.GetTalentPoolForMapView(vm.mapuserFormData, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.freelancerlist = resp.data;\r\n vm.showMapWithFreelancers();\r\n }\r\n });\r\n }\r\n\r\n //--ENd Of Map\r\n\r\n // TicketPool code start here by simran \r\n\r\n var ticketstartDate = moment().format(\"YYYY-MM-DD\");\r\n var ticketendDate = moment().format(\"YYYY-MM-DD\");\r\n\r\n vm.ticketPooldates = { ticketstartDate: moment(), ticketendDate: moment() };\r\n\r\n vm.ticketranges = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')]\r\n };\r\n\r\n vm.ticketdateRangeChange = function (ev, picker) {\r\n ticketstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n ticketendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n };\r\n\r\n vm.statusList = [\"New\", \"Hold\", \"Broadcasted\", \"Assigned\", \"Completed\", \"Approved\", \"Rejected\", \"Cancelled\", \"ScheduleException\", \"AddressException\", \"PriceException\"];\r\n\r\n $scope.totalTableTicketPool = 0;\r\n $scope.ticketPoolTablePerPage = vm.ticketPoolPageListCount;\r\n $scope.TicketPoolTablepagination = {\r\n current: 1\r\n };\r\n\r\n\r\n vm.changeTicketPoolPageListCount = function () {\r\n $scope.ticketPoolTablePerPage = vm.ticketPoolPageListCount;\r\n TPPageSize = $scope.ticketPoolTablePerPage;\r\n $scope.TicketPoolTablepageChanged($scope.TicketPoolTablepagination.current);\r\n vm.selectAll = false;\r\n }\r\n\r\n PageIndex = $scope.TicketPoolTablepagination.current;\r\n $scope.TicketPoolTablepageChanged = function (newPage) {\r\n TPPageIndex = newPage;\r\n vm.addFilterforTickets();\r\n };\r\n\r\n vm.ticketPoolList = [];\r\n vm.addFilterforTickets = function () {\r\n deleteMarkers();\r\n var ticketFormData = {\r\n \"ticketFilters\": {\r\n \"AccountId\": vm.SearchByAccountName == \"\" ? \"\" : vm.SearchByAccountName.join(\"|\"),\r\n \"State\": vm.TicketState,\r\n \"City\": vm.TicketCity == \"\" ? \"\" : vm.TicketCity.join(\"|\"),\r\n \"Pincode\": \"\",\r\n \"Status\": vm.ticketStatus == \"\" ? \"\" : vm.ticketStatus.join(\"|\"),\r\n \"Skills\": vm.TicketSkill == \"\" ? \"\" : vm.TicketSkill.join(\"|\"),\r\n \"FromDate\": ticketstartDate,\r\n \"ToDate\": ticketendDate,\r\n \"PageIndex\": TPPageIndex,\r\n \"PageSize\": TPPageSize\r\n },\r\n \"ticketUserFilters\": {\r\n \"AnalysisBasedOn\": vm.IsBasedOnPincode == true ? \"Pincode\" : \"Distance\",\r\n \"RangeFromJob\": (vm.RangeInKm * 1000),\r\n \"Skills\": vm.JobSkill == \"\" ? \"\" : vm.JobSkill.join(\"|\"),\r\n \"OneJobDoneForSkills\": vm.OneJobDone,\r\n \"MatchingSkill\": vm.MatchingSkill,\r\n \"FavoriteForAccounts\": vm.PreferredForAccounts == \"\" ? \"\" : vm.PreferredForAccounts.join(\"|\"),\r\n \"UserStatus\": vm.UserRegistrationStatus,\r\n \"UserRole\": vm.TechRole == \"\" ? \"\" : vm.TechRole.join(\"|\")\r\n }\r\n }\r\n if (vm.markerClusterer) {\r\n vm.markerClusterer.clearMarkers();\r\n vm.dynMarkers = [];\r\n }\r\n TPPageIndex = TPPageIndex ? TPPageIndex : 1;\r\n PlanningResourseMapService.GetTicketsOnFilterWithPaging(ticketFormData, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.ticketPoolList = resp.data;\r\n // $scope.totalTableTicketPool = resp.data.length;\t\r\n if (vm.ticketPoolList.length < vm.ticketPoolPageListCount)\r\n vm.ticketPoolListLenth = $scope.totalTableTicketPool;\r\n else\r\n vm.ticketPoolListLenth = TPPageIndex * vm.ticketPoolPageListCount;\r\n if (TPPageIndex == 1)\r\n vm.TPpageindexCount = 1;\r\n else\r\n vm.TPpageindexCount = (((TPPageIndex - 1) * vm.ticketPoolPageListCount) + 1);\r\n }\r\n\r\n }, function () {\r\n });\r\n }\r\n\r\n\r\n\r\n //customer list\r\n $scope.totalCustomers = 0;\r\n $scope.customerTablePerPage = vm.customerPageListCount;\r\n $scope.customerTablepagination = {\r\n current: 1\r\n };\r\n\r\n\r\n vm.changeCustomerTablePerPage = function () {\r\n $scope.customerTablePerPage = vm.customerPageListCount;\r\n cuPageSize = $scope.customerTablePerPage;\r\n $scope.CustomerTablepageChanged($scope.customerTablepagination.current);\r\n vm.selectAll = false;\r\n }\r\n\r\n PageIndex = $scope.customerTablepagination.current;\r\n $scope.CustomerTablepageChanged = function (newPage) {\r\n cuPageIndex = newPage;\r\n vm.addFilterforCustomer();\r\n };\r\n vm.customerList = [];\r\n vm.addFilterforCustomer = function () {\r\n deleteMarkers();\r\n var ticketFormData = {\r\n \"ticketFilters\": {\r\n \"AccountId\": vm.SearchByAccountName == \"\" ? \"\" : vm.SearchByAccountName.join(\"|\"),\r\n \"State\": vm.TicketState,\r\n \"City\": vm.TicketCity == \"\" ? \"\" : vm.TicketCity.join(\"|\"),\r\n \"Pincode\": \"\",\r\n \"Status\": vm.ticketStatus == \"\" ? \"\" : vm.ticketStatus.join(\"|\"),\r\n \"Skills\": vm.TicketSkill == \"\" ? \"\" : vm.TicketSkill.join(\"|\"),\r\n \"FromDate\": ticketstartDate,\r\n \"ToDate\": ticketendDate,\r\n \"PageIndex\": cuPageIndex,\r\n \"PageSize\": cuPageSize\r\n },\r\n \"ticketUserFilters\": {\r\n \"AnalysisBasedOn\": vm.IsBasedOnPincode == true ? \"Pincode\" : \"Distance\",\r\n \"RangeFromJob\": (vm.RangeInKm * 1000),\r\n \"Skills\": vm.JobSkill == \"\" ? \"\" : vm.JobSkill.join(\"|\"),\r\n \"OneJobDoneForSkills\": vm.OneJobDone,\r\n \"MatchingSkill\": vm.MatchingSkill,\r\n \"FavoriteForAccounts\": vm.PreferredForAccounts == \"\" ? \"\" : vm.PreferredForAccounts.join(\"|\"),\r\n \"UserStatus\": vm.UserRegistrationStatus,\r\n \"UserRole\": vm.TechRole == \"\" ? \"\" : vm.TechRole.join(\"|\")\r\n }\r\n }\r\n if (vm.markerClusterer) {\r\n vm.markerClusterer.clearMarkers();\r\n vm.dynMarkers = [];\r\n }\r\n cuPageIndex = cuPageIndex ? cuPageIndex : 1;\r\n PlanningResourseMapService.GetCustomersOnFilterWithPaging(ticketFormData, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.customerPoolList = resp.data;\r\n $scope.totalCustomers = resp.data.length;\r\n if (vm.customerPoolList.length < vm.customerPageListCount)\r\n vm.customerListLenth = $scope.totalCustomers;\r\n else\r\n vm.customerListLenth = cuPageIndex * vm.customerPageListCount;\r\n if (cuPageIndex == 1)\r\n vm.cuPageindexCount = 1;\r\n else\r\n vm.cuPageindexCount = (((cuPageIndex - 1) * vm.customerPageListCount) + 1);\r\n }\r\n\r\n }, function () {\r\n });\r\n }\r\n\r\n\r\n // $scope.totalTableUserPool = 0;\r\n // $scope.userPoolTablePerPage = vm.userPoolPageListCount ; \r\n // $scope.UserPoolTablepagination = {\r\n // current: 1\r\n // };\r\n\r\n // vm.changeUserPoolPageListCount = function() { \r\n // $scope.userPoolTablePerPage = vm.userPoolPageListCount;\r\n // UPPageSize = $scope.userPoolTablePerPage;\r\n // $scope.UserPoolTablepageChanged($scope.UserPoolTablepagination.current);\r\n // vm.selectAll = false;\r\n // }\r\n\r\n // PageIndex=$scope.UserPoolTablepagination.current;\r\n // $scope.UserPoolTablepageChanged = function(newPage) { \r\n // UPPageIndex = newPage; \r\n // vm.addFilterforPincodeAnalysis(); \r\n // };\r\n\r\n userPoolList = [];\r\n vm.addFilterforPincodeAnalysis = function () {\r\n deleteMarkers();\r\n var PincodeUserFilters = {\r\n \"AnalysisBasedOn\": \"Pincode\",\r\n \"RangeFromJob\": 9000,\r\n \"UserState\": vm.PermanentState,\r\n \"UserCity\": vm.PermanentCity,\r\n \"Locations\": vm.techPincode,\r\n \"Skills\": vm.JobSkill == \"\" ? \"\" : vm.JobSkill.join(\"|\"),\r\n \"OneJobDoneForSkills\": vm.OneJobDone,\r\n \"MatchingSkill\": false,\r\n \"FavoriteForAccounts\": vm.PreferredForAccounts == \"\" ? \"\" : vm.PreferredForAccounts.join(\"|\"),\r\n \"UserStatus\": vm.UserRegistrationStatus,\r\n \"UserRole\": vm.TechRole == \"\" ? \"\" : vm.TechRole.join(\"|\"),\r\n \"UploadId\": \"\",\r\n \"AnalysisId\": \"\",\r\n \"AnalysisName\": \"\",\r\n \"AnalysisDescription\": \"\",\r\n \"ActiveInMonth\": \"\",\r\n \"NoOfJobDone\": \"\",\r\n \"IsBikeAvailable\": false,\r\n \"IsMobileAvailable\": false,\r\n \"IsLaptopAvailable\": false,\r\n \"UserCertificates\": \"\",\r\n \"UserTools\": \"\"\r\n }\r\n if (vm.markerClusterer) {\r\n vm.markerClusterer.clearMarkers();\r\n vm.dynMarkers = [];\r\n }\r\n // UPPageIndex = UPPageIndex?UPPageIndex:1; \r\n PlanningResourseMapService.GetPincodeBasedUserAnalysis(PincodeUserFilters, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.userPoolList = resp.data;\r\n vm.showSuccess(\"Success\", resp.data);\r\n // if(vm.userPoolList.length < vm.userPoolPageListCount)\r\n // vm.userPoolListLength = $scope.totalTableUserPool;\r\n // else\r\n // vm.userPoolListLength = UPPageIndex * vm.userPoolPageListCount;\r\n // if(UPPageIndex==1)\r\n // vm.UPpageindexCount = 1;\r\n // else\r\n // vm.UPpageindexCount = (((UPPageIndex-1) * vm.userPoolPageListCount) + 1);\r\n }\r\n\r\n }, function () {\r\n });\r\n }\r\n\r\n vm.userFilterEnable = false;\r\n\r\n vm.showUserFilter = function () {\r\n vm.IsBasedOnPincode = true;\r\n vm.chkselect = true;\r\n vm.RangeInKm = 0;\r\n vm.JobSkill = \"\";\r\n vm.OneJobDone = false;\r\n vm.MatchingSkill = false;\r\n vm.UserRegistrationStatus = \"\";\r\n vm.TechRole = \"\";\r\n }\r\n\r\n $scope.exceptionFilter = function () {\r\n $scope.pincodeBasedFilterView = false;\r\n $scope.ticketFilterView = false;\r\n $scope.exceptionView = true;\r\n $scope.analysisFilterView = false;\r\n $scope.showAnalysisReport = false;\r\n $scope.searchDisabled = true;\r\n $scope.Ticket = false;\r\n $scope.Finance = false;\r\n $scope.Skills = false;\r\n angular.element('#filterList').addClass(\"removefilter-list\");\r\n angular.element('#filter-visible-area').addClass(\"filter-slider-visible\");\r\n vm.ResetFilter();\r\n }\r\n\r\n vm.addFilterforExceptionTickets = function () {\r\n deleteMarkers();\r\n var ticketFormData = {\r\n \"ticketFilters\": {\r\n \"AccountId\": vm.SearchByAccountName == \"\" ? \"\" : vm.SearchByAccountName.join(\"|\"),\r\n \"State\": vm.TicketState,\r\n \"City\": vm.TicketCity == \"\" ? \"\" : vm.TicketCity.join(\"|\"),\r\n \"Pincode\": \"\",\r\n \"Status\": \"Cancelled|ScheduleException\",\r\n \"Skills\": vm.TicketSkill == \"\" ? \"\" : vm.TicketSkill.join(\"|\"),\r\n \"FromDate\": ticketstartDate,\r\n \"ToDate\": ticketendDate,\r\n \"PageIndex\": 0,\r\n \"PageSize\": 0\r\n },\r\n \"ticketUserFilters\": {\r\n \"AnalysisBasedOn\": vm.IsBasedOnPincode == true ? \"Pincode\" : \"Distance\",\r\n \"RangeFromJob\": (vm.RangeInKm * 1000),\r\n \"Skills\": vm.JobSkill == \"\" ? \"\" : vm.JobSkill.join(\"|\"),\r\n \"OneJobDoneForSkills\": vm.OneJobDone,\r\n \"MatchingSkill\": vm.MatchingSkill,\r\n \"FavoriteForAccounts\": vm.PreferredForAccounts == \"\" ? \"\" : vm.PreferredForAccounts.join(\"|\"),\r\n \"UserStatus\": vm.UserRegistrationStatus,\r\n \"UserRole\": vm.TechRole == \"\" ? \"\" : vm.TechRole.join(\"|\")\r\n }\r\n }\r\n if (vm.markerClusterer) {\r\n vm.markerClusterer.clearMarkers();\r\n vm.dynMarkers = [];\r\n }\r\n vm.UserIdsList = [];\r\n TPPageIndex = TPPageIndex ? TPPageIndex : 1;\r\n PlanningResourseMapService.GetUsersOnFilterForTickets(ticketFormData, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.exceptionPoolList = resp.data;\r\n vm.exceptionPoolUserList = resp.data.UserLiteResponseModelList;\r\n for (i = 0; i <= vm.exceptionPoolUserList.length; i++) {\r\n vm.UserIdsList.push(vm.exceptionPoolUserList[i].UserId);\r\n }\r\n preprocessData(vm.exceptionPoolUserList);\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n vm.addFilterforTicketMap = function () {\r\n deleteMarkers();\r\n vm.ticketFormData = {\r\n \"ticketFilters\": {\r\n \"AccountId\": vm.SearchByAccountName == \"\" ? \"\" : vm.SearchByAccountName.join(\"|\"),\r\n \"State\": vm.TicketState,\r\n \"City\": vm.TicketCity == \"\" ? \"\" : vm.TicketCity.join(\"|\"),\r\n \"Pincode\": \"\",\r\n \"Status\": vm.ticketStatus == \"\" ? \"\" : vm.ticketStatus.join(\"|\"),\r\n \"Skills\": vm.TicketSkill == \"\" ? \"\" : vm.TicketSkill.join(\"|\"),\r\n \"FromDate\": ticketstartDate,\r\n \"ToDate\": ticketendDate,\r\n \"PageIndex\": 0,\r\n \"PageSize\": 0\r\n },\r\n \"ticketUserFilters\": {\r\n \"AnalysisBasedOn\": vm.IsBasedOnPincode == true ? \"Pincode\" : \"Distance\",\r\n \"RangeFromJob\": (vm.RangeInKm * 1000),\r\n \"Skills\": vm.JobSkill == \"\" ? \"\" : vm.JobSkill.join(\"|\"),\r\n \"OneJobDoneForSkills\": vm.OneJobDone,\r\n \"MatchingSkill\": vm.MatchingSkill,\r\n \"FavoriteForAccounts\": vm.PreferredForAccounts == \"\" ? \"\" : vm.PreferredForAccounts.join(\"|\"),\r\n \"UserStatus\": vm.UserRegistrationStatus,\r\n \"UserRole\": vm.TechRole == \"\" ? \"\" : vm.TechRole.join(\"|\")\r\n }\r\n }\r\n if (vm.markerClusterer) {\r\n vm.markerClusterer.clearMarkers();\r\n vm.dynMarkers = [];\r\n }\r\n PlanningResourseMapService.GetTicketsOnFilterWithoutPaging(vm.ticketFormData, loggedinUser, token).then(function (resp) {\r\n vm.ticketPoolList = resp.data;\r\n $scope.totalTableTicketPool = resp.data.length;\r\n vm.showMapWithTicketPool();\r\n $scope.addRemoveRedClass();\r\n })\r\n }\r\n\r\n vm.addFilterforCustomerMap = function () {\r\n deleteMarkers();\r\n vm.ticketFormData = {\r\n \"ticketFilters\": {\r\n \"AccountId\": vm.SearchByAccountName == \"\" ? \"\" : vm.SearchByAccountName.join(\"|\"),\r\n \"State\": vm.TicketState,\r\n \"City\": vm.TicketCity == \"\" ? \"\" : vm.TicketCity.join(\"|\"),\r\n \"Pincode\": \"\",\r\n \"Status\": vm.ticketStatus == \"\" ? \"\" : vm.ticketStatus.join(\"|\"),\r\n \"Skills\": vm.TicketSkill == \"\" ? \"\" : vm.TicketSkill.join(\"|\"),\r\n \"FromDate\": ticketstartDate,\r\n \"ToDate\": ticketendDate,\r\n \"PageIndex\": 0,\r\n \"PageSize\": 0\r\n },\r\n \"ticketUserFilters\": {\r\n \"AnalysisBasedOn\": vm.IsBasedOnPincode == true ? \"Pincode\" : \"Distance\",\r\n \"RangeFromJob\": (vm.RangeInKm * 1000),\r\n \"Skills\": vm.JobSkill == \"\" ? \"\" : vm.JobSkill.join(\"|\"),\r\n \"OneJobDoneForSkills\": vm.OneJobDone,\r\n \"MatchingSkill\": vm.MatchingSkill,\r\n \"FavoriteForAccounts\": vm.PreferredForAccounts == \"\" ? \"\" : vm.PreferredForAccounts.join(\"|\"),\r\n \"UserStatus\": vm.UserRegistrationStatus,\r\n \"UserRole\": vm.TechRole == \"\" ? \"\" : vm.TechRole.join(\"|\")\r\n }\r\n }\r\n if (vm.markerClusterer) {\r\n vm.markerClusterer.clearMarkers();\r\n vm.dynMarkers = [];\r\n }\r\n PlanningResourseMapService.GetCustomersOnFilterWithoutPaging(vm.ticketFormData, loggedinUser, token).then(function (resp) {\r\n vm.ticketPoolList = resp.data;\r\n $scope.totalTableTicketPool = resp.data.length;\r\n vm.showMapWithTicketPool();\r\n $scope.addRemoveRedClass();\r\n })\r\n }\r\n var markers = [];\r\n vm.showMapWithTechBasedOnTicket = function () {\r\n const freelancer = {\r\n url: \"../../assets/images/patterns/FL.png\"\r\n };\r\n const vendor = {\r\n url: \"../../assets/images/patterns/FV.png\"\r\n };\r\n\r\n NgMap.getMap().then(function (map) {\r\n\r\n $scope.infoWindow = new google.maps.InfoWindow();\r\n $scope.Latlngbounds = new google.maps.LatLngBounds();\r\n\r\n for (var i = 0; i < vm.userslistbyTkt.length; i++) {\r\n var data = vm.userslistbyTkt[i]\r\n if (data.UserRole == 'Field Engineer') {\r\n icons = freelancer\r\n }\r\n else if (data.UserRole == 'Vendor Manager') {\r\n icons = vendor\r\n }\r\n var myLatlng = new google.maps.LatLng(data.FixedLatitude, data.FixedLongitude);\r\n var marker = new google.maps.Marker({\r\n position: myLatlng,\r\n map: map,\r\n icon: icons\r\n });\r\n\r\n markers.push(marker);\r\n (function (marker, data) {\r\n google.maps.event.addListener(marker, \"click\", function (e) {\r\n $scope.infoWindow.setContent(\"

\" + data.UserRole + \"

\" + data.UserName + \"\" + data.UserId + \"SkillSet: \" + data.SkillSet + \"Location: \" + data.UserWorkLocations + \"TotalJobDone:\" + data.TotalJobDone + \"TotalJobRejected:\" + data.TotalJobRejeceted + \"Rating By MMF:\" + data.RatingByMMF.toFixed(1) + \"Distance(Km):\" + data.Distance + \"
\");\r\n $scope.infoWindow.open(map, marker);\r\n });\r\n })(marker, data);\r\n $scope.Latlngbounds.extend(marker.position);\r\n }\r\n\r\n });\r\n }\r\n // Removes the markers from the map, but keeps them in the array.\r\n function clearMarkers() {\r\n for (var i = 0; i < markers.length; i++) {\r\n markers[i].setMap(null); //markerToBeRemoved.setMap(null);\r\n }\r\n }\r\n\r\n // Deletes all markers in the array by removing references to them.\r\n function deleteMarkers() {\r\n clearMarkers();\r\n markers = [];\r\n }\r\n\r\n vm.GetUsersForPinpoint = function (lat, long, pincode) {\r\n deleteMarkers();\r\n vm.usersPinFormData = vm.ticketFormData.ticketUserFilters;\r\n vm.usersPinFormData.UploadId = \"\";\r\n vm.usersPinFormData.AnalysisId = \"\";\r\n vm.usersPinFormData.AnalysisName = \"\";\r\n vm.usersPinFormData.AnalysisDescription = \"\";\r\n vm.usersPinFormData.ActiveInMonth = \"\";\r\n vm.usersPinFormData.NoOfJobDone = \"\";\r\n vm.usersPinFormData.IsBikeAvailable = false;\r\n vm.usersPinFormData.IsMobileAvailable = false;\r\n vm.usersPinFormData.IsLaptopAvailable = false;\r\n vm.usersPinFormData.UserCertificates = \"\";\r\n vm.usersPinFormData.UserTools = \"\";\r\n PlanningResourseMapService.GetUsersForPinpoint(vm.usersPinFormData, lat, long, pincode, loggedinUser, token).then(function (resp) {\r\n vm.userslistbyTkt = resp.data;\r\n $timeout(function () {\r\n vm.showMapWithTechBasedOnTicket();\r\n }, 2000);\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n\r\n // vm.exportData = function () {\r\n // var blob = new Blob([document.getElementById('tab-resp').innerHTML], {\r\n // type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\r\n // });\r\n // saveAs(blob, \"Report.xls\");\r\n // };\r\n\r\n // vm.searchTable = function () {\r\n // vm.dtInstance.DataTable.search(vm.searchText);\r\n // vm.dtInstance.DataTable.search(vm.searchText).draw();\r\n // };\r\n\r\n // vm.dtOptions = DTOptionsBuilder.fromFnPromise(function(){\r\n // var defer = $q.defer();\r\n\r\n // vm.ticketFormData = {\r\n // \"ticketFilters\": {\r\n // \"AccountId\": \"\",\r\n // \"State\": vm.TicketState,\r\n // \"City\": vm.TicketCity==\"\" ? \"\": vm.TicketCity.join(\"|\"),\r\n // \"Pincode\": \"\",\r\n // \"Status\": vm.ticketStatus == \"\" ? \"\": vm.ticketStatus.join(\"|\"),\r\n // \"Skills\": vm.TicketSkill == \"\" ? \"\": vm.TicketSkill.join(\"|\"),\r\n // \"FromDate\": ticketstartDate,\r\n // \"ToDate\": ticketendDate,\r\n // \"PageIndex\": 0,\r\n // \"PageSize\": 0\r\n // },\r\n // \"ticketUserFilters\": {\r\n // \"AnalysisBasedOn\": vm.IsBasedOnPincode == true ? \"Pincode\" : \"Distance\",\r\n // \"RangeFromJob\": (vm.RangeInKm * 1000),\r\n // \"Skills\": vm.JobSkill==\"\" ? \"\": vm.JobSkill.join(\"|\"),\r\n // \"OneJobDoneForSkills\": vm.OneJobDone,\r\n // \"MatchingSkill\" : vm.MatchingSkill,\r\n // \"UserStatus\": vm.RegistrationStatus,\r\n // \"UserRole\": vm.UserRole==\"\" ? \"\": vm.UserRole.join(\"|\")\r\n // }\r\n // }\r\n // if(vm.markerClusterer){\r\n // vm.markerClusterer.clearMarkers();\r\n // vm.dynMarkers = [];\r\n // }\r\n // PlanningResourseMapService.GetTicketsOnFilter(vm.ticketFormData,loggedinUser,token).then(function(resp){\r\n // vm.ticketPoolList = resp.data;\r\n // vm.showMapWithTicketPool();\r\n // defer.resolve(vm.ticketPoolList);\r\n // })\r\n // return defer.promise;\r\n\r\n // }).withDOM('<\"html5buttons\"B>lTfgitp').withPaginationType('full_numbers').withOption('order', [0,'desc']).withOption('createdRow', createdRow);\r\n\r\n // function createdRow(row, data, dataIndex) {\r\n // $compile(angular.element(row).contents())($scope);\r\n // }\r\n\r\n // vm.dtColumns = [\r\n // DTColumnBuilder.newColumn(null).withTitle('Ticket Id').renderWith(function(data, type, full, meta){\r\n // return ' ' + data.TicketId + '';\r\n // }),\r\n // DTColumnBuilder.newColumn('Status').withTitle('Status').notSortable(),\r\n // DTColumnBuilder.newColumn('AccountName').withTitle('AccountName').notSortable(),\r\n // DTColumnBuilder.newColumn('Skill').withTitle('Skill').notSortable(),\r\n // DTColumnBuilder.newColumn('Address').withTitle('Address').notSortable(),\r\n // DTColumnBuilder.newColumn('City').withTitle('City').notSortable(),\r\n // DTColumnBuilder.newColumn('State').withTitle('State').notSortable(),\r\n // DTColumnBuilder.newColumn('Pincode').withTitle('Pincode').notSortable(),\r\n // DTColumnBuilder.newColumn('Latitude').withTitle('Latitude').notSortable(),\r\n // DTColumnBuilder.newColumn('Longitude').withTitle('Longitude').notSortable(),\r\n\r\n\r\n // ];\r\n\r\n\r\n\r\n\r\n // ticketpool end\r\n\r\n\r\n // TicketPool Map section start by simran\r\n\r\n\r\n\r\n vm.showMapWithTicketPool = function () {\r\n const ticket = {\r\n url: \"../../assets/images/patterns/TC-1.png\"\r\n };\r\n const customer = {\r\n url: \"../../assets/images/patterns/customer-icon.png\"\r\n };\r\n vm.dynTicketMarkers = [];\r\n NgMap.getMap().then(function (map) {\r\n if ($scope.customerFilterView == false) {\r\n for (var i = 0; i < vm.ticketPoolList.length; i++) {\r\n vm.ticketdetails = vm.ticketPoolList[i];\r\n if (vm.ticketdetails) {\r\n icons = ticket\r\n }\r\n var latLng = new google.maps.LatLng(vm.ticketPoolList[i].Latitude, vm.ticketPoolList[i].Longitude);\r\n const marker = new google.maps.Marker({ position: latLng, icon: icons });\r\n const contentString = \"

\" + vm.ticketdetails.TicketId + \"

\" + vm.ticketdetails.AccountName + \"Skill:\" + vm.ticketdetails.Skill + \"Pincode:\" + vm.ticketdetails.Pincode + \"
\";\r\n const ticketlat = vm.ticketdetails.Latitude;\r\n const ticketlong = vm.ticketdetails.Longitude;\r\n const Pincode = vm.ticketdetails.Pincode;\r\n var infowindow = new google.maps.InfoWindow();\r\n marker.addListener(\"click\", function () {\r\n vm.GetUsersForPinpoint(ticketlat, ticketlong, Pincode);\r\n infowindow.setContent(contentString);\r\n infowindow.open(map, marker);\r\n });\r\n vm.dynTicketMarkers.push(marker);\r\n }\r\n }\r\n else if ($scope.customerFilterView == true) {\r\n for (var i = 0; i < vm.customerPoolList.length; i++) {\r\n vm.customerdetails = vm.customerPoolList[i];\r\n if (vm.customerdetails) {\r\n icons = customer\r\n }\r\n var latLng = new google.maps.LatLng(vm.customerPoolList[i].Latitude, vm.customerPoolList[i].Longitude);\r\n const marker = new google.maps.Marker({ position: latLng, icon: icons });\r\n const contentString = \"

\" + vm.customerdetails.CustomerName + \"

\" + vm.customerdetails.CustomerAddress + \"Service Type:\" + vm.customerdetails.ServiceType + \"Pincode:\" + vm.customerdetails.CustomerPincode + \"
\";\r\n var infowindow = new google.maps.InfoWindow();\r\n marker.addListener(\"click\", function () {\r\n infowindow.setContent(contentString);\r\n infowindow.open(map, marker);\r\n });\r\n vm.dynTicketMarkers.push(marker);\r\n }\r\n }\r\n if (vm.markerClusterer) {\r\n vm.markerClusterer.addMarkers(vm.dynTicketMarkers);\r\n }\r\n else {\r\n const clusterOptions = {\r\n imagePath: \"https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m\",\r\n gridSize: 60,\r\n zoomOnClick: true,\r\n maxZoom: null,\r\n };\r\n vm.markerClusterer = new MarkerClusterer(map, vm.dynTicketMarkers, clusterOptions);\r\n }\r\n });\r\n }\r\n\r\n\r\n $scope.isActive = false;\r\n $scope.isActive1 = true;\r\n $scope.HideText = function () {\r\n $scope.isActive = true;\r\n $scope.isActive1 = false;\r\n }\r\n $scope.ShowText = function () {\r\n $scope.isActive = false;\r\n $scope.isActive1 = true;\r\n };\r\n\r\n\r\n $scope.isClick = false;\r\n $scope.isClick1 = false;\r\n $scope.isClick2 = false;\r\n $scope.isClick3 = false;\r\n $scope.activeButton = function () {\r\n $scope.isClick = !$scope.isClick;\r\n }\r\n $scope.activeButton1 = function () {\r\n $scope.isClick1 = !$scope.isClick1;\r\n }\r\n $scope.activeButton2 = function () {\r\n $scope.isClick2 = !$scope.isClick2;\r\n }\r\n $scope.activeButton3 = function () {\r\n $scope.isClick3 = !$scope.isClick3;\r\n }\r\n\r\n vm.getFLprofile = function () {\r\n\r\n document.getElementById(\"freelancerProfile\").style.display = \"block \";\r\n }\r\n vm.HideFLprofile = function () {\r\n\r\n document.getElementById(\"freelancerProfile\").style.display = \"none\";\r\n }\r\n\r\n\r\n\r\n $scope.dateRangeChange = function (ev, picker) {\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n vm.getAllJobForExceptionList();\r\n };\r\n\r\n\r\n $scope.class1 = false;\r\n $scope.addRemoveRedClass = function (UploadId) {\r\n $localStorage.UploadId = UploadId;\r\n if ($scope.class1) {\r\n $scope.class1 = false;\r\n } else {\r\n $scope.class1 = true;\r\n }\r\n }\r\n\r\n $scope.addFilterforAnalysis = function () {\r\n vm.ResetFilter();\r\n if ($scope.class1) {\r\n $scope.class1 = false;\r\n } else {\r\n $scope.class1 = true;\r\n }\r\n }\r\n\r\n\r\n $scope.slider = {\r\n value: 50,\r\n options: {\r\n floor: 0,\r\n ceil: 100,\r\n step: 1,\r\n minLimit: 10,\r\n maxLimit: 90\r\n }\r\n };\r\n\r\n $scope.myTrigger = \"outsideClick\";\r\n\r\n $scope.openModal = function () {\r\n $uibModal.open({\r\n templateUrl: 'customModal.html',\r\n controller: function ($scope, $uibModalInstance) {\r\n $scope.ok = function () {\r\n $uibModalInstance.close();\r\n };\r\n $scope.cancel = function () {\r\n $uibModalInstance.dismiss('cancel');\r\n };\r\n }\r\n })\r\n };\r\n\r\n\r\n function getAllStates() {\r\n var defered = $q.defer();\r\n ReferService.getAllState(loggedinUser, token).then(function (resp) {\r\n defered.resolve(resp);\r\n }, function (error) {\r\n defered.reject(error);\r\n });\r\n return defered.promise;\r\n }\r\n\r\n var allStatePromise = getAllStates(loggedinUser);\r\n allStatePromise.then(function (resp) {\r\n vm.StateList = resp.data;\r\n\r\n });\r\n function getallCities(state) {\r\n ReferService.getAllCity(loggedinUser, state, token).then(function (resp) {\r\n vm.CityList = resp.data;\r\n });\r\n }\r\n vm.selectedState = function (state) {\r\n getallCities(state);\r\n }\r\n\r\n vm.analysisModel = function () {\r\n vm.analysisDetails = vm.analysisDetails;\r\n vm.analysisModelOpen = $uibModal.open({\r\n templateUrl: 'analysisModel.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n\r\n vm.campaignModel = function () {\r\n vm.analysisDetails = vm.analysisDetails;\r\n vm.campaignRunModelOpen = $uibModal.open({\r\n templateUrl: 'campaignRunModel.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n\r\n vm.CloseCampaignModel = function () {\r\n vm.campaignRunModelOpen.close();\r\n }\r\n\r\n vm.openConsumerCampaignModel = function () {\r\n vm.analysisDetails = vm.analysisDetails;\r\n vm.consumenCampaignModelOpen = $uibModal.open({\r\n templateUrl: 'consumerCampaignRunModel.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n\r\n vm.CloseConsumerCampaignModel = function () {\r\n vm.ConsumerCampaignName = \"\";\r\n vm.consumenCampaignModelOpen.close();\r\n }\r\n\r\n vm.RunCampaignOnConsumer = function () {\r\n vm.consumner_campaign_form.submitted = true;\r\n vm.ticketFormData.CampaignName = vm.ConsumerCampaignName;\r\n if (vm.consumner_campaign_form.$valid) {\r\n PlanningResourseMapService.RunCampaignOnConsumer(vm.ticketFormData, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.CloseConsumerCampaignModel();\r\n }\r\n })\r\n }\r\n }\r\n\r\n vm.CreateAndBroadcastPendingJobs = function () {\r\n vm.DisableBroadcastButtons(true);\r\n PlanningResourseMapService.CreateAndBroadcastPendingJobs($localStorage.UploadId, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.broadcastCloseModal();\r\n vm.GetUserDataList(loggedinUser, token, vm.UploadId, vm.AnalysisId, vm.Orderby, vm.OrderSequence, uwPageIndex, uwPageSize);\r\n }\r\n else{\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n }\r\n\r\n vm.noticeModel = function () {\r\n // vm.analysisDetails = vm.analysisDetails;\r\n vm.noticeBroadcastModelOpen = $uibModal.open({\r\n templateUrl: 'noticeBroadcastModel.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n\r\n vm.CloseNoticeModel = function () {\r\n vm.noticename = \"\";\r\n vm.landingPage = \"\";\r\n vm.fileLink = \"\";\r\n vm.noticeType = \"\";\r\n vm.noticeDescription = \"\";\r\n vm.NoticeRole = [];\r\n vm.NoticeBrand = \"\";\r\n vm.FilesDoc = [];\r\n vm.FileName = \"\";\r\n vm.startDatenew = new Date();\r\n vm.endDatenew = pcdt;\r\n vm.showErrorMessage = false;\r\n vm.DisableCreateButton(false);\r\n vm.noticeBroadcastModelOpen.close();\r\n }\r\n\r\n\r\n vm.dynamicCampaignModel = function () {\r\n vm.analysisDetails = vm.analysisDetails;\r\n vm.dynamicCampaignModelOpen = $uibModal.open({\r\n templateUrl: 'campaignDynamicModel.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n vm.CloseDynamicCampaignModel = function () {\r\n vm.dynamicCampaignModelOpen.close();\r\n }\r\n\r\n vm.CloseAnalysisModel = function () {\r\n vm.analysisModelOpen.close();\r\n vm.DisableCreateButton(false);\r\n vm.AnalysisName = \"\";\r\n if (vm.confirmstatus != 'update') {\r\n vm.AnalysisDescription = \"\";\r\n vm.analysisDetails.AnalysisDescription = \"\";\r\n }\r\n $scope.showAnalysisReport = false;\r\n $timeout(function () {\r\n vm.GetAllCapacityUpload();\r\n }, 2000);\r\n }\r\n\r\n vm.ConfirmAnalysis = function (status, analysisData) {\r\n vm.confirmstatus = status;\r\n vm.analysisDetails = analysisData;\r\n vm.UploadId = vm.analysisDetails.UploadId;\r\n }\r\n $scope.openSaveReport = function () {\r\n $uibModal.open({\r\n templateUrl: 'saveReport.html',\r\n controller: function ($scope, $uibModalInstance) {\r\n $scope.Toast = false;\r\n $scope.ShowToast = function () {\r\n $scope.Toast = true;\r\n $timeout(function () {\r\n $scope.Toast = false;\r\n }, 3000);\r\n }\r\n $scope.ok = function () {\r\n $uibModalInstance.close();\r\n };\r\n\r\n $scope.cancel = function () {\r\n $uibModalInstance.dismiss('cancel');\r\n };\r\n }\r\n })\r\n };\r\n\r\n $scope.openEmail = function () {\r\n $uibModal.open({\r\n templateUrl: 'emailReport.html',\r\n size: 'lg',\r\n controller: function ($scope, $uibModalInstance) {\r\n $scope.ok = function () {\r\n $uibModalInstance.close();\r\n };\r\n\r\n $scope.cancel = function () {\r\n $uibModalInstance.dismiss('cancel');\r\n };\r\n }\r\n })\r\n };\r\n\r\n $scope.openCapacity = function () {\r\n $uibModal.open({\r\n templateUrl: 'CapacityModal.html',\r\n controller: function ($scope, $uibModalInstance) {\r\n $scope.ok = function () {\r\n $uibModalInstance.close();\r\n };\r\n $scope.cancel = function () {\r\n $uibModalInstance.dismiss('cancel');\r\n };\r\n }\r\n })\r\n };\r\n\r\n $scope.verify = false;\r\n\r\n vm.EditAddressModel = function (ueradata) {\r\n vm.userDetails = ueradata;\r\n addressEditModel = $uibModal.open({\r\n templateUrl: 'editLocationTable.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n\r\n vm.CloseEditAddressModel = function () {\r\n addressEditModel.close();\r\n vm.addressData.partial_match = false;\r\n vm.addressData.formatted_address = \"\";\r\n }\r\n\r\n vm.pullBackTicketFromAssign = function (currentJOb) {\r\n vm.CurrentJob = currentJOb;\r\n vm.AuditTicketId = vm.CurrentJob.TicketId;\r\n vm.TicketBreachValue = vm.CurrentJob.TicketBreachValue;\r\n if (vm.CurrentJob.TicketStatus == \"Assigned\" && vm.CurrentJob.SecondryStatus != \"InTransit\") {\r\n ManualAssignationJobService.GetPullBacknReasons(loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.pullBackReasonsList = resp.data;\r\n pullBackReasonsModalInstance = $uibModal.open({\r\n templateUrl: 'pullBack_reasons_model.html',\r\n scope: $scope\r\n });\r\n }\r\n }, function () {\r\n });\r\n }\r\n }\r\n\r\n vm.GetUserFeedbackOption = function (toggleNav, userid) {\r\n $scope.toggleNav = !toggleNav;\r\n $scope.activeRow = userid;\r\n vm.userid = userid;\r\n ManualAssignationJobService.GetUserFeedbackOption(loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.userfeedbackList = resp.data;\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n vm.closeFeedbackoption = function () {\r\n $scope.toggleNav = true;\r\n vm.Comments = \"\";\r\n vm.MasterReason = \"\";\r\n\r\n }\r\n\r\n vm.GetFeedbackByUserId = function (userid) {\r\n ManualAssignationJobService.GetFeedbackByUserId(loggedinUser, token, userid).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.commentList = resp.data;\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n vm.UserDataUpdateRequest = function (toggleNav, userid) {\r\n $scope.toggleNav = !toggleNav;\r\n vm.feedbackForm.submitted = true;\r\n if (vm.feedbackForm.$valid) {\r\n var data = {\r\n \"MasterReason\": vm.MasterReason,\r\n \"Comments\": vm.Comments,\r\n \"RequestForUserId\": userid,\r\n \"TicketId\": $localStorage.UploadId\r\n }\r\n ManualAssignationJobService.UserDataUpdateRequest(data, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.Comments = \"\";\r\n vm.MasterReason = \"\";\r\n }\r\n }, function () {\r\n });\r\n }\r\n }\r\n\r\n vm.callToTechnician = function (userid) {\r\n PlanningResourseMapService.callToTechnicianApi(loggedinUser, userid, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Call Initiated\");\r\n }\r\n else {\r\n vm.showFailure(\"Failure\", resp.data.Message);\r\n }\r\n });\r\n\r\n }\r\n\r\n vm.VerifyAddress = function (UpdatedAddress, verify) {\r\n if (UpdatedAddress) {\r\n PlanningResourseMapService.VerifyAddress(UpdatedAddress, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp.data[0] == null) {\r\n vm.showFailure(\"Failed\", \"Address Not Found By Google\");\r\n }\r\n else {\r\n vm.addressData = resp.data[0];\r\n $scope.verify = !verify;\r\n vm.showSuccess(\"Success\", \"Address Verified by Google\");\r\n }\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n });\r\n }\r\n else {\r\n }\r\n }\r\n\r\n\r\n vm.PlotAddress = function (findAddress) {\r\n deleteMarkers();\r\n vm.freelancerlist = [];\r\n vm.userslistbyTkt = [];\r\n if (vm.markerClusterer) {\r\n vm.markerClusterer.clearMarkers();\r\n }\r\n if (findAddress) {\r\n PlanningResourseMapService.GetAddressByGoogle(findAddress, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp.data[0] == null) {\r\n vm.showFailure(\"Failed\", \"Address Not Found By Google\");\r\n }\r\n else {\r\n vm.ticketPoolList = resp.data;\r\n vm.showSuccess(\"Success\", \"Address Verified by Google\");\r\n vm.showMapWithTicketPool();\r\n }\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n });\r\n }\r\n else {\r\n }\r\n }\r\n\r\n vm.UpdateAddress = function (newAddress) {\r\n var addressform = {\r\n \"UploadId\": vm.userDetails.UploadId,\r\n \"AnalysisName\": vm.analysisDetails.AnalysisName,\r\n \"AnalysisDescription\": vm.analysisDetails.AnalysisDescription,\r\n \"AddressId\": vm.userDetails.AddressId,\r\n \"UpdatedAddress\": newAddress,\r\n \"Country\": vm.addressData.country,\r\n \"Formatted_Address\": vm.addressData.formatted_address,\r\n \"City\": vm.addressData.city,\r\n \"State\": vm.addressData.state,\r\n \"Pincode\": vm.addressData.pincode,\r\n \"District\": vm.addressData.district,\r\n \"Latitude\": vm.addressData.lat,\r\n \"Longitude\": vm.addressData.lng\r\n }\r\n PlanningResourseMapService.UpdateAddress(addressform, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n $timeout(function () {\r\n vm.GetExceptionAnalysisDataList(loggedinUser, token, vm.UploadId, vm.AnalysisId, vm.Orderby, vm.OrderSequence, uPageIndex, uPageSize); vm.CloseEditAddressModel();\r\n }, 2000);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n });\r\n\r\n }\r\n\r\n vm.sortColumn = function (col) {\r\n vm.Orderby = col;\r\n if (vm.OrderSequence == 'desc') {\r\n vm.OrderSequence = 'asc';\r\n vm.reverseclass = 'fa fa-arrow-up';\r\n } else {\r\n vm.OrderSequence = 'desc';\r\n vm.reverseclass = 'fa fa-arrow-down';\r\n }\r\n vm.GetAnalysisDataList(loggedinUser, token, vm.UploadId, vm.AnalysisId, vm.Orderby, vm.OrderSequence, uPageIndex, uPageSize);\r\n };\r\n\r\n vm.sortColumnUser = function (col) {\r\n vm.Orderby = col;\r\n if (vm.OrderSequence == 'desc') {\r\n vm.OrderSequence = 'asc';\r\n vm.reverseclass = 'fa fa-arrow-up';\r\n } else {\r\n vm.OrderSequence = 'desc';\r\n vm.reverseclass = 'fa fa-arrow-down';\r\n }\r\n vm.GetUserDataList(loggedinUser, token, vm.UploadId, vm.AnalysisId, vm.Orderby, vm.OrderSequence, uwPageIndex, uwPageSize);\r\n\r\n };\r\n vm.sortClass = function (col) {\r\n if (vm.Orderby == col) {\r\n if (vm.OrderSequence == 'desc') {\r\n return 'fa fa-arrow-down';\r\n } else {\r\n return 'fa fa-arrow-up';\r\n }\r\n }\r\n else {\r\n return '';\r\n }\r\n }\r\n\r\n vm.applyLocationFilter = function (analysisDetails) {\r\n vm.UploadId = $localStorage.UploadId;\r\n vm.AnalysisId = analysisDetails.AnalysisId;\r\n $localStorage.AnalysisId = vm.AnalysisId;\r\n vm.analysisDetails = analysisDetails;\r\n vm.GetAnalysisDataList(loggedinUser, token, vm.UploadId, vm.AnalysisId, vm.Orderby, vm.OrderSequence, uPageIndex, uPageSize);\r\n vm.GetAnalysisDashboard(vm.UploadId, vm.AnalysisId);\r\n vm.GetAnalysisFilters(vm.UploadId, vm.AnalysisId);\r\n }\r\n\r\n vm.applyExceptionLocationFilter = function (analysisDetails) {\r\n vm.UploadId = $localStorage.UploadId;\r\n vm.AnalysisId = analysisDetails.AnalysisId;\r\n $localStorage.AnalysisId = vm.AnalysisId;\r\n vm.analysisDetails = analysisDetails;\r\n vm.GetExceptionAnalysisDataList(loggedinUser, token, vm.UploadId, vm.AnalysisId, vm.Orderby, vm.OrderSequence, uPageIndex, uPageSize);\r\n vm.GetAnalysisDashboard(vm.UploadId, vm.AnalysisId);\r\n }\r\n\r\n vm.applyUserFilter = function (analysisDetails) {\r\n vm.UploadId = $localStorage.UploadId;\r\n vm.AnalysisId = analysisDetails.AnalysisId;\r\n vm.GetAnalysisDashboard(vm.UploadId, vm.AnalysisId);\r\n vm.GetAllPendingJobsCount(vm.UploadId);\r\n vm.GetUserDataList(loggedinUser, token, vm.UploadId, vm.AnalysisId, vm.Orderby, vm.OrderSequence, uwPageIndex, uwPageSize);\r\n }\r\n\r\n vm.UsersFilterArray = function () {\r\n uitemNames = \"\";\r\n uitemValues = \"\";\r\n textItemNames = \"\";\r\n textItemValues = \"\";\r\n\r\n if (vm.userskill) {\r\n if (uitemNames) {\r\n uitemNames = uitemNames + ',SkillSet';\r\n uitemValues = uitemValues + \",\" + vm.userskill.join('|');;\r\n }\r\n else {\r\n uitemNames = 'SkillSet';\r\n uitemValues = vm.userskill.join('|');;\r\n }\r\n }\r\n if (vm.TraningCertificate) {\r\n if (uitemNames) {\r\n uitemNames = uitemNames + ',Certificates';\r\n uitemValues = uitemValues + \",\" + vm.TraningCertificate.join('|');;\r\n }\r\n else {\r\n uitemNames = 'Certificates';\r\n uitemValues = vm.TraningCertificate.join('|');;\r\n }\r\n }\r\n if (vm.Source) {\r\n if (uitemNames) {\r\n uitemNames = uitemNames + ',Source';\r\n uitemValues = uitemValues + \",\" + vm.Source;\r\n }\r\n else {\r\n uitemNames = 'Source';\r\n uitemValues = vm.Source;\r\n }\r\n }\r\n if (vm.UserStatus) {\r\n if (uitemNames) {\r\n uitemNames = uitemNames + ',UserStatus';\r\n uitemValues = uitemValues + \",\" + vm.UserStatus;\r\n }\r\n else {\r\n uitemNames = 'UserStatus';\r\n uitemValues = vm.UserStatus;\r\n }\r\n }\r\n if (vm.freelancerRole) {\r\n if (uitemNames) {\r\n uitemNames = uitemNames + ',Role';\r\n uitemValues = uitemValues + \",\" + vm.freelancerRole.join('|');\r\n }\r\n else {\r\n uitemNames = 'Role';\r\n uitemValues = vm.freelancerRole.join('|');\r\n }\r\n }\r\n\r\n if (vm.UserName) {\r\n if (textItemNames.length == 0 && textItemValues.length == 0) {\r\n textItemNames = 'UserName';\r\n textItemValues = vm.UserName;\r\n } else {\r\n textItemNames = textItemNames + ',UserName';\r\n textItemValues = textItemValues + ',' + vm.UserName;\r\n }\r\n }\r\n if (vm.ContactNumber) {\r\n if (textItemNames.length == 0 && textItemValues.length == 0) {\r\n textItemNames = 'ContactNumber';\r\n textItemValues = vm.ContactNumber;\r\n } else {\r\n textItemNames = textItemNames + ',ContactNumber';\r\n textItemValues = textItemValues + ',' + vm.ContactNumber;\r\n }\r\n }\r\n\r\n // if (vm.freelancerRole != 'Private Field Engineer' && vm.freelancerRole != 'Private Vendor Manager') { \r\n // if(uitemNames) \r\n // {\r\n // uitemNames = uitemNames + ',Role';\r\n // uitemValues = uitemValues + \",\" + vm.freelancerRole;\r\n // }\r\n // else\r\n // {\r\n // uitemNames = 'Role';\r\n // uitemValues = vm.freelancerRole;\r\n // } \r\n // }\r\n // if (vm.freelancerRole == 'Private Field Engineer' || vm.freelancerRole == 'Private Vendor Manager') { \r\n // if(vm.freelancerRole == 'Private Field Engineer'){\r\n // \tif(uitemNames && vm.freelancerRole == 'Private Field Engineer') \r\n // \t{\r\n // \t uitemNames = uitemNames + ',Role' + ',UserType';\r\n // \t uitemValues = uitemValues + \",\" + 'Field Engineer' + \",\" + 'Private';\r\n // \t}\r\n // \telse {\r\n // \t\tuitemNames = 'Role' + ',UserType';\r\n // \t\tuitemValues = 'Field Engineer' + \",\" + 'Private';\r\n // \t }\r\n // }\r\n\r\n // if(vm.freelancerRole == 'Private Vendor Manager'){\r\n // \tif(uitemNames && vm.freelancerRole == 'Private Vendor Manager')\r\n // \t{\r\n // \t\tuitemNames = uitemNames + ',Role' + ',UserType';\r\n // \t\tuitemValues = uitemValues + \",\" + 'Vendor Manager' + \",\" + 'Private';\r\n // \t} \r\n // \telse {\r\n // \t\tuitemNames = 'Role' + ',UserType';\r\n // \t\tuitemValues = 'Field Engineer' + \",\" + 'Private';\r\n // \t }\r\n // }\r\n\r\n // else(vm.freelancerRole=='All Private Users')\r\n // {\r\n // uitemNames = 'UserType';\r\n // uitemValues = 'Private';\r\n // } \r\n // }\r\n // if (vm.freelancerRole=='') { \r\n // if(uitemNames) \r\n // {\r\n // uitemNames = uitemNames + ',UserType';\r\n // uitemValues = uitemValues + \",\" + 'Private'\r\n // }\r\n // else\r\n // {\r\n // uitemNames = 'UserType';\r\n // uitemValues = 'Private'\r\n // } \r\n // }\r\n if (vm.ContactNumber) {\r\n if (uitemNames) {\r\n uitemNames = uitemNames + ',ContactNumber';\r\n uitemValues = uitemValues + \",\" + vm.ContactNumber;\r\n }\r\n else {\r\n uitemNames = 'ContactNumber';\r\n uitemValues = vm.ContactNumber;\r\n }\r\n }\r\n if (vm.Asset_Bike == true) {\r\n if (uitemNames) {\r\n uitemNames = uitemNames + ',IsBikeAvailable';\r\n uitemValues = uitemValues + \",\" + '\"true\"';\r\n }\r\n else {\r\n uitemNames = 'IsBikeAvailable';\r\n uitemValues = '\"true\"';\r\n }\r\n }\r\n if (vm.Asset_Laptop == true) {\r\n if (uitemNames) {\r\n uitemNames = uitemNames + ',IsLaptopAvailable';\r\n uitemValues = uitemValues + \",\" + '\"true\"';\r\n }\r\n else {\r\n uitemNames = 'IsLaptopAvailable';\r\n uitemValues = '\"true\"';\r\n }\r\n }\r\n if (vm.Asset_Mobile == true) {\r\n if (uitemNames) {\r\n uitemNames = uitemNames + ',IsMobileAvailable';\r\n uitemValues = uitemValues + \",\" + '\"true\"';\r\n }\r\n else {\r\n uitemNames = 'IsMobileAvailable';\r\n uitemValues = '\"true\"';\r\n }\r\n }\r\n\r\n if (vm.Criminal == true) {\r\n if (uitemNames) {\r\n uitemNames = uitemNames + ',IsCriminalVerified';\r\n uitemValues = uitemValues + \",\" + '\"true\"';\r\n }\r\n else {\r\n uitemNames = 'IsCriminalVerified';\r\n uitemValues = '\"true\"';\r\n }\r\n }\r\n if (vm.Adharcard == true) {\r\n if (uitemNames) {\r\n uitemNames = uitemNames + ',IsAdharVerified';\r\n uitemValues = uitemValues + \",\" + '\"true\"';\r\n }\r\n else {\r\n uitemNames = 'IsAdharVerified';\r\n uitemValues = '\"true\"';\r\n }\r\n }\r\n if (vm.IsBankVerified == true) {\r\n if (uitemNames) {\r\n uitemNames = uitemNames + ',IsBankVarified';\r\n uitemValues = uitemValues + \",\" + '\"true\"';\r\n }\r\n else {\r\n uitemNames = 'IsBankVarified';\r\n uitemValues = '\"true\"';\r\n }\r\n }\r\n if (vm.OneJobDone == true) {\r\n if (uitemNames) {\r\n uitemNames = uitemNames + ',OneJobDoneForSkills';\r\n uitemValues = uitemValues + \",\" + '\"true\"';\r\n }\r\n else {\r\n uitemNames = 'OneJobDoneForSkills';\r\n uitemValues = '\"true\"';\r\n }\r\n }\r\n if (vm.PermanentState) {\r\n if (uitemNames) {\r\n uitemNames = uitemNames + ',CurrentState';\r\n uitemValues = uitemValues + \",\" + vm.PermanentState;\r\n }\r\n else {\r\n uitemNames = 'CurrentState';\r\n uitemValues = vm.PermanentState;\r\n }\r\n }\r\n if (vm.PermanentState && vm.PermanentCity) {\r\n if (uitemNames) {\r\n uitemNames = uitemNames + ',CurrentCity';\r\n uitemValues = uitemValues + \",\" + vm.PermanentCity.join('|');\r\n }\r\n else {\r\n uitemNames = 'CurrentCity';\r\n uitemValues = vm.UsersType;\r\n }\r\n }\r\n // if (vm.UsersType) { \r\n // if(uitemNames) \r\n // {\r\n // uitemNames = uitemNames + ',Role';\r\n // uitemValues = uitemValues + \",\" + vm.UsersType;\r\n // }\r\n // else\r\n // {\r\n // uitemNames = 'Role';\r\n // uitemValues = vm.UsersType;\r\n // } \r\n // } \r\n\r\n // if(vm.UsersType==\"Freelancer\")\r\n // {\r\n // vm.uType=\"Freelancer\";\r\n // }\r\n // else if(vm.UsersType==\"Freelancer Vendor\")\r\n // {\r\n // vm.uType=\"Freelancer\";\r\n // } \r\n // else if(vm.UsersType==\"Freelancer Team\")\r\n // {\r\n // vm.uType=\"Fixed\";\r\n // }\r\n // else \r\n // {\r\n // vm.uType=\"\";\r\n // vm.UsersType = '';\r\n // } \r\n\r\n }\r\n\r\n // vm.applyUserMapFilter=function()\r\n // { \r\n // vm.UsersFilterArray(); \r\n // vm.GetAllFreLancerProfile(loggedinUser,token,vm.userFormData);\r\n // }\r\n\r\n\r\n vm.ResetFilter = function () {\r\n vm.RangeInKm = 0;\r\n vm.IsBasedOnPincode = true;\r\n vm.RegistrationStatus = \"\";\r\n vm.UserRegistrationStatus = \"\";\r\n vm.JobSkill = \"\";\r\n vm.UserDetailVerification = \"\";\r\n vm.PermanentCity = \"\";\r\n vm.techPincode = \"\";\r\n vm.PermanentState = \"\";\r\n vm.ActiveInMonth = \"\";\r\n vm.NoOfJobDone = \"\";\r\n vm.TicketState = \"\";\r\n vm.TicketCity = \"\";\r\n vm.TicketSkill = \"\";\r\n vm.ticketStatus = \"\";\r\n vm.chkselect = true;\r\n vm.TechRole = \"\";\r\n vm.MatchCriteria = \"\";\r\n vm.TraningCertificate = \"\";\r\n vm.SearchByAccountName = \"\";\r\n vm.PreferredForAccounts = \"\";\r\n vm.ToolList = \"\";\r\n vm.OneJobDone = false;\r\n vm.MatchingSkill = false;\r\n vm.Asset_Bike = false;\r\n vm.Asset_Mobile = false;\r\n vm.Asset_Laptop = false;\r\n }\r\n\r\n\r\n vm.getAllCertificate = function () {\r\n PlanningResourseMapService.GetAllCertificate(loggedinUser, token, function (data) {\r\n vm.AllCertificateSets = data;\r\n }, vm.showFailure);\r\n }\r\n vm.getAllCertificate();\r\n\r\n vm.getSkills = function () {\r\n PlanningResourseMapService.getSkills(loggedinUser, token, function (skills) {\r\n vm.skills = skills;\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.getSkills();\r\n\r\n vm.GetAllAccounts = function () {\r\n PlanningResourseMapService.GetAllAccountDetails(loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.accountsList = resp.data;\r\n }\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.GetAllAccounts();\r\n\r\n $scope.searchDisabled = true;\r\n vm.GetAllCapacityUpload = function () {\r\n deleteMarkers();\r\n PlanningResourseMapService.GetAllCapacityUpload(loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.capacityList = resp.data;\r\n $scope.isCollapsed = true;\r\n }\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.GetAllAnalysisByUploadId = function (isCollapsed, UploadId, UploadType) {\r\n if (vm.UploadId == UploadId) {\r\n $scope.isCollapsed = !isCollapsed;\r\n }\r\n $scope.showRow = UploadId;\r\n $localStorage.UploadId = UploadId;\r\n $localStorage.UploadType = UploadType;\r\n vm.UploadId = $localStorage.UploadId;\r\n vm.UploadType = $localStorage.UploadType; \r\n PlanningResourseMapService.GetAllAnalysisForUpload(loggedinUser, token, $localStorage.UploadId).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.analysisList = resp.data;\r\n }\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.GetAllAnalysisUsers = function (isCollapsed, addresId, UploadId) {\r\n // if(vm.UploadId == UploadId){\r\n $scope.isCollapsed = !isCollapsed;\r\n // } \r\n $scope.showUserRow = addresId;\r\n vm.UploadId = UploadId;\r\n PlanningResourseMapService.GetAllAnalysisForUpload(loggedinUser, token, UploadId).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.analysisList = resp.data;\r\n }\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.GetAnalysisDashboard = function (UploadId, AnalysisId) {\r\n PlanningResourseMapService.GetAnalysisDashboard(loggedinUser, token, UploadId, AnalysisId).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.analysisCount = resp.data;\r\n }\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.GetAllPendingJobsCount = function (UploadId) {\r\n PlanningResourseMapService.GetAllPendingJobsCount(loggedinUser, token, UploadId).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.pendingJobsCount = resp.data;\r\n }\r\n }, vm.showFailure);\r\n }\r\n\r\n\r\n vm.Skillset = [];\r\n vm.UserTools = [];\r\n vm.UserCertificates = [];\r\n vm.UserRole = [];\r\n vm.GetAnalysisFilters = function (UploadId, AnalysisId) {\r\n PlanningResourseMapService.GetAnalysisFilters(loggedinUser, token, UploadId, AnalysisId).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.filtersData = resp.data;\r\n vm.Skillset = vm.filtersData.Skills.split(\"|\");\r\n vm.UserTools = vm.filtersData.UserTools.split(\"|\");\r\n vm.UserRole = vm.filtersData.UserRole.split(\"|\");\r\n vm.UserCertificates = vm.filtersData.UserCertificates.split(\"|\");\r\n }\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.getAllTools = function () {\r\n PlanningResourseMapService.GetAllToolSets(loggedinUser, token, function (data) {\r\n vm.Asset_ToolList = data;\r\n }, vm.showFailure);\r\n }\r\n vm.getAllTools();\r\n\r\n vm.chkselect = true;\r\n\r\n vm.pincodeCheck = function () {\r\n vm.chkselect = !vm.chkselect;\r\n }\r\n\r\n\r\n\r\n //upload xls \r\n vm.OpenUploadLocationModal = function () {\r\n uploadLocationModalInstance = $uibModal.open({\r\n templateUrl: 'bulk_upload_location_model.html',\r\n backdrop: 'static',\r\n // size:'lg',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.CloseModal = function () {\r\n uploadLocationModalInstance.close();\r\n vm.fileName = '';\r\n vm.bulkuploadType = '';\r\n vm.description = '';\r\n vm.errorList = [];\r\n vm.showErrors = false;\r\n vm.showticketSuccess = false;\r\n $timeout(function () {\r\n vm.GetAllCapacityUpload();\r\n }, 2000);\r\n }\r\n\r\n vm.OpenExistingTicketModal = function () {\r\n analyzeExistingModalInstance = $uibModal.open({\r\n templateUrl: 'existing_Ticket_model.html',\r\n backdrop: 'static',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.CloseExistingModal = function () {\r\n analyzeExistingModalInstance.close();\r\n vm.DisableCreateButton(false);\r\n vm.fileName = '';\r\n vm.selectedAccounts = [];\r\n vm.fileDescription = '';\r\n vm.endDateForAnalysis = new Date();\r\n $timeout(function () {\r\n vm.GetAllCapacityUpload();\r\n }, 2000);\r\n }\r\n\r\n vm.RangeFunction = function () {\r\n $timeout(function () {\r\n $(\"#example_id\").ionRangeSlider({\r\n grid: true,\r\n min: 0,\r\n max: 200,\r\n from: 50,\r\n step: 1,\r\n skin: \"round\",\r\n postfix: \" Kms\"\r\n });\r\n }, 100)\r\n }\r\n\r\n if (vm.bulkuploadType == 'cms') {\r\n vm.dzOptions = {\r\n paramName: 'photo',\r\n maxFilesize: '100',\r\n url: '/',\r\n acceptedFiles: '.zip',\r\n dictDefaultMessage: 'Click to add or drop files',\r\n dictRemoveFile: 'Remove'\r\n };\r\n } else {\r\n vm.dzOptions = {\r\n paramName: 'photo',\r\n maxFilesize: '100',\r\n url: '/',\r\n acceptedFiles: '.xlsx, .xls',\r\n dictDefaultMessage: 'Click to add or drop files',\r\n dictRemoveFile: 'Remove'\r\n };\r\n }\r\n vm.dtOptions = DTOptionsBuilder.newOptions().withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers').withDisplayLength(5).withOption('lengthMenu', [5, 10, 15, 20]);\r\n\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable()\r\n ];\r\n\r\n vm.loaderFlag = false;\r\n vm.hideLoader = function () {\r\n if (vm.loaderFlag) {\r\n $rootScope.$broadcast(\"loader_hide\");\r\n $timeout(function () { vm.loaderFlag = false; }, 1000);\r\n $timeout(vm.hideLoader, 1);\r\n }\r\n }\r\n\r\n vm.scrollDwn = function () {\r\n $(\"html, body\").animate({ scrollTop: $(document).height() - $(window).height() }, 900);\r\n // $location.hash('error_datatable');\r\n // $anchorScroll();\r\n }\r\n vm.dzCallbacks = {\r\n 'addedfile': function (file) {\r\n vm.showErrors = false;\r\n vm.errorList = [];\r\n vm.disableUploadButton = true;\r\n vm.LocationAddressList = [];\r\n\r\n $(\"#dropzone1 .dz-progress .dz-upload\").hide();\r\n $(\".bulkupload-progress\").width(0);\r\n $(\".ajax-loader\").hide();\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n vm.showticketSuccess = false;\r\n vm.showPassed = false;\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noOfRecords = 0;\r\n\r\n var dropzoneChildren = $(\"#dropzone1\").children();\r\n $(\"#dropzone1\").empty();\r\n $(\"#dropzone1\").append(dropzoneChildren[0]);\r\n $(\"#dropzone1\").append(dropzoneChildren[dropzoneChildren.length - 1]);\r\n\r\n vm.loaderFlag = true;\r\n vm.hideLoader();\r\n vm.file = file;\r\n vm.MediaUploadReqModel = {\r\n \"action\": 'Create',\r\n \"UploadedFileName\": vm.fileName,\r\n \"FileDescription\": vm.fileDescription\r\n }\r\n var fd = new FormData();\r\n fd.append('file', file);\r\n if (vm.bulkuploadType == 'ticket') {\r\n $http.post(ApiURL + '/api/BulkUpload/MediaUpload?reqUserId=' + loggedinUser + '&action=Create', fd, {\r\n transformRequest: angular.identity,\r\n headers: { 'Content-Type': undefined, 'Token': token, 'UserId': loggedinUser },\r\n timeout: vm.canceler.promise\r\n })\r\n .success(function (data) {\r\n $(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n vm.tickets = data.Tickets;\r\n vm.noOfRecords = data.Tickets ? data.Tickets.length : 0;\r\n $(\"#dropzone1>div:last-child\").removeClass(\"dz-error\").addClass(\"dz-success\");\r\n if (data.Errors.length > 0) {\r\n //console.log('data.Errors',data.Errors);\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable()\r\n ];\r\n angular.forEach(data.Errors, function (v, k) {\r\n\r\n if (v.ItemErrors.length > 0) {\r\n var e1 = {};\r\n angular.forEach(v.ItemErrors, function (v1, k1) {\r\n e1.message = e1.message != undefined && e1.message != \"undefined\" && e1.message.length > 0 ? e1.message + \",\" + v1.Message : v1.Message;\r\n });\r\n if (v.Row > 0 && data.Users && data.Users.length > 0 && data.Users.length >= v.Row) {\r\n e1.data = data.Users[v.Row - 1];\r\n } if (v.Row > 0 && data.Tickets && data.Tickets.length > 0 && data.Tickets.length >= v.Row) {\r\n e1.data = data.Tickets[v.Row - 1];\r\n } if (v.Row > 0 && data.Customers && data.Customers.length > 0 && data.Customers.length >= v.Row) {\r\n e1.data = data.Customers[v.Row - 1];\r\n }\r\n vm.errorList.push(e1);\r\n }\r\n });\r\n vm.showticketSuccess = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Invalid records!\";\r\n vm.successMsg = \"There are \" + vm.errorList.length + \" errors. To see them click here\";\r\n vm.noMsg = [];\r\n vm.showErrors = true;\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n } else if (data.ErrorCode == 103) {\r\n vm.showticketSuccess = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Missing columns in excel file\";\r\n vm.successMsg = \"Following columns are missing in excel file. Please add them and re-upload file\";\r\n vm.noMsg = [];\r\n angular.forEach(data.MissingColumns, function (k, v) {\r\n vm.noMsg.push(k);\r\n });\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n } else if (data.Message && data.Message.length > 0) {\r\n\r\n vm.showticketSuccess = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Validation failed\";\r\n vm.successMsg = data.Message\r\n vm.noMsg = [];\r\n angular.forEach(data.MissingColumns, function (k, v) {\r\n vm.noMsg.push(k);\r\n });\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\r\n } else {\r\n vm.showticketSuccess = true;\r\n vm.disableUploadButton = false;\r\n vm.successTitle = \"Validation completed\";\r\n vm.successMsg = vm.bulkuploadType.charAt(0).toUpperCase() + vm.bulkuploadType.slice(1) + (vm.noOfRecords > 1 ? \"s\" : \"\") + \" are validated successfully. Total \" + vm.noOfRecords + \" \" + vm.bulkuploadType + (vm.noOfRecords > 1 ? \"s\" : \"\") + \" found. Please click on start upload button to proceed.\";\r\n // vm.successMsg = \"You have successfully created \"+vm.bulkuploadType+\"s in bulk\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n }\r\n $(\"table th:first-child\").removeClass(\"sorting_asc\");\r\n vm.progressbar.complete();\r\n })\r\n .error(function (errorMessage) {\r\n $(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n vm.progressbar.complete();\r\n vm.successTitle = \"Validation of records failed\";\r\n vm.successMsg = \"Error in data validation, please correct the data and re-upload file\";\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n });\r\n }\r\n else {\r\n fd.append('MediaUploadReqModel', JSON.stringify(vm.MediaUploadReqModel))\r\n $http.post(ApiURL + '/api/CapacityPlanning/MediaUploadAndCreate', fd, {\r\n transformRequest: angular.identity,\r\n headers: { 'Content-Type': undefined, 'Token': token, 'UserId': loggedinUser },\r\n timeout: vm.canceler.promise\r\n })\r\n .success(function (data) {\r\n $(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n if (vm.bulkuploadType == 'Location') {\r\n vm.LocationAddressList = data.AddressList;\r\n vm.noOfRecords = data.AddressList ? data.AddressList.length : 0;\r\n }\r\n $(\"#dropzone1>div:last-child\").removeClass(\"dz-error\").addClass(\"dz-success\");\r\n if (data.Errors.length > 0) {\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable()\r\n ];\r\n angular.forEach(data.Errors, function (v, k) {\r\n\r\n if (v.ItemErrors.length > 0) {\r\n var e1 = {};\r\n angular.forEach(v.ItemErrors, function (v1, k1) {\r\n e1.message = e1.message != undefined && e1.message != \"undefined\" && e1.message.length > 0 ? e1.message + \",\" + v1.Message : v1.Message;\r\n });\r\n if (v.Row > 0 && data.AddressList && data.AddressList.length > 0 && data.AddressList.length >= v.Row) {\r\n e1.data = data.AddressList[v.Row - 1];\r\n }\r\n vm.errorList.push(e1);\r\n }\r\n });\r\n\r\n vm.showPassed = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Invalid records!\";\r\n vm.successMsg = \"There are \" + vm.errorList.length + \" errors. To see them click here\";\r\n vm.noMsg = [];\r\n vm.showErrors = true;\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n } else if (data.ErrorCode == 103) {\r\n vm.showPassed = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Missing columns in excel file\";\r\n vm.successMsg = \"Following columns are missing in excel file. Please add them and re-upload file\";\r\n vm.noMsg = [];\r\n angular.forEach(data.MissingColumns, function (k, v) {\r\n vm.noMsg.push(k);\r\n });\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n } else if (data.Message && data.Message.length > 0) {\r\n\r\n vm.showPassed = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Validation failed\";\r\n vm.successMsg = data.Message\r\n vm.noMsg = [];\r\n angular.forEach(data.MissingColumns, function (k, v) {\r\n vm.noMsg.push(k);\r\n });\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\r\n } else {\r\n vm.showPassed = false;\r\n vm.disableUploadButton = false;\r\n vm.successTitle = \"File Uploaded\";\r\n vm.successMsg = vm.bulkuploadType.charAt(0).toUpperCase() + vm.bulkuploadType.slice(1) + (vm.noOfRecords > 1 ? \"s\" : \"\") + \" are uploaded successfully. Total \" + vm.noOfRecords + \" \" + vm.bulkuploadType + (vm.noOfRecords > 1 ? \"s\" : \"\") + \" found.\";\r\n $timeout(function () {\r\n vm.CloseModal();\r\n }, 2000);\r\n\r\n // vm.successMsg = \"You have successfully created \"+vm.bulkuploadType+\"s in bulk\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n }\r\n $(\"table th:first-child\").removeClass(\"sorting_asc\");\r\n vm.progressbar.complete();\r\n })\r\n .error(function (errorMessage) {\r\n $(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n vm.progressbar.complete();\r\n vm.successTitle = \"Validation of records failed\";\r\n vm.successMsg = \"Error in data validation, please correct the data and re-upload file\";\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n });\r\n }\r\n },\r\n 'success': function (file, xhr) {\r\n },\r\n 'error': function (file, errorMessage) {\r\n }\r\n };\r\n\r\n vm.addFiles = function () {\r\n $(\"#dropzone1\").trigger(\"click\");\r\n }\r\n // vm.uploadFile = function () {\r\n // if (vm.LocationAddressList && vm.LocationAddressList.length > 0) {\r\n // \tuploadLocationModalInstance.close();\r\n // }\r\n // }\r\n\r\n\r\n vm.uploadFile = function () {\r\n if (vm.tickets && vm.tickets.length > 0) {\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n vm.disableUploadButton = true;\r\n $http.post(ApiURL + '/api/CapacityPlanning/UploadTickets?UploadedFileName=' + vm.fileName + '&FileDescription=' + vm.fileDescription,\r\n vm.tickets, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n })\r\n .success(function (data) {\r\n console.log(data);\r\n vm.showticketSuccess = false;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Upload completed\";\r\n vm.successMsg = \"Jobs are uploaded in bulk successfully\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n vm.CloseModal();\r\n vm.progressbar.complete();\r\n })\r\n .error(function (errorMessage) {\r\n console.log(errorMessage)\r\n vm.disableUploadButton = false;\r\n vm.showticketSuccess = true;\r\n vm.successTitle = \"Upload Failed\";\r\n vm.successMsg = errorMessage;\r\n vm.noMsg = [];\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n vm.progressbar.complete();\r\n });\r\n\r\n }\r\n }\r\n\r\n\r\n //list of analysis\r\n $scope.totalAL = 0;\r\n $scope.ALPerPage = vm.AlListCount;\r\n $scope.aLpagination = {\r\n current: 1\r\n };\r\n\r\n //left show page 10 20 30\r\n vm.changeAlPageListCount = function () {\r\n $scope.ALPerPage = vm.AlListCount;\r\n uPageSize = $scope.ALPerPage;\r\n $scope.AlTablePageChanged($scope.aLpagination.current);\r\n vm.selectAll = false;\r\n uPageIndex = $scope.aLpagination.current;\r\n $scope.AlTablePageChanged = function (newPage) {\r\n uPageIndex = newPage;\r\n vm.GetAnalysisDataList(loggedinUser, token, vm.UploadId, vm.AnalysisId, vm.Orderby, vm.OrderSequence, uPageIndex, uPageSize);\r\n };\r\n }\r\n\r\n uPageIndex = $scope.aLpagination.current;\r\n $scope.AlTablePageChanged = function (newPage) {\r\n uPageIndex = newPage;\r\n vm.GetAnalysisDataList(loggedinUser, token, vm.UploadId, vm.AnalysisId, vm.Orderby, vm.OrderSequence, uPageIndex, uPageSize);\r\n };\r\n\r\n vm.analysisFiltersList = [];\r\n vm.GetAnalysisDataList = function (loggedinUser, token, UploadId, AnalysisId, userType, OrderSequence, uPageIndex, uPageSize) {\r\n PlanningResourseMapService.GetAnalysisData(loggedinUser, token, UploadId, AnalysisId, vm.Orderby, vm.OrderSequence, uPageIndex, uPageSize).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.analysisFiltersList = resp.data.AddressAnalysisResModelList;\r\n $scope.totalAL = resp.data.TotalRecords;\r\n if (vm.analysisFiltersList.length < vm.AlListCount)\r\n vm.analysisListLength = $scope.totalAL;\r\n else\r\n vm.analysisListLength = uPageIndex * vm.AlListCount;\r\n if (uPageIndex == 1)\r\n vm.upageindexCount = 1;\r\n else\r\n vm.upageindexCount = (((uPageIndex - 1) * vm.AlListCount) + 1);\r\n }\r\n }, function (error) {\r\n })\r\n }\r\n\r\n\r\n //list of exception location\r\n $scope.totalEAL = 0;\r\n $scope.EALPerPage = vm.EAlListCount;\r\n $scope.eaLpagination = {\r\n current: 1\r\n };\r\n\r\n //left show page 10 20 30\r\n vm.changeEAlPageListCount = function () {\r\n $scope.EALPerPage = vm.EAlListCount;\r\n exuPageSize = $scope.EALPerPage;\r\n $scope.EAlTablePageChanged($scope.eaLpagination.current);\r\n vm.selectAll = false;\r\n exuPageIndex = $scope.eaLpagination.current;\r\n $scope.EAlTablePageChanged = function (newPage) {\r\n exuPageIndex = newPage;\r\n vm.GetExceptionAnalysisDataList(loggedinUser, token, vm.UploadId, vm.AnalysisId, vm.Orderby, vm.OrderSequence, exuPageIndex, exuPageSize);\r\n };\r\n }\r\n\r\n exuPageIndex = $scope.eaLpagination.current;\r\n $scope.EAlTablePageChanged = function (newPage) {\r\n exuPageIndex = newPage;\r\n vm.GetExceptionAnalysisDataList(loggedinUser, token, vm.UploadId, vm.AnalysisId, vm.Orderby, vm.OrderSequence, exuPageIndex, exuPageSize);\r\n };\r\n\r\n vm.exceptionAnalysisFiltersList = [];\r\n vm.GetExceptionAnalysisDataList = function (loggedinUser, token, UploadId, AnalysisId, userType, OrderSequence, exuPageIndex, exuPageSize) {\r\n PlanningResourseMapService.GetExceptionAnalysisData(loggedinUser, token, UploadId, AnalysisId, vm.Orderby, vm.OrderSequence, exuPageIndex, exuPageSize).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.exceptionAnalysisFiltersList = resp.data.AddressAnalysisResModelList;\r\n $scope.totalEAL = resp.data.TotalRecords;\r\n if (vm.exceptionAnalysisFiltersList.length < vm.EAlListCount)\r\n vm.exceptionAnalysisLength = $scope.totalEAL;\r\n else\r\n vm.exceptionAnalysisLength = exuPageIndex * vm.EAlListCount;\r\n if (exuPageIndex == 1)\r\n vm.exuPageIndexCount = 1;\r\n else\r\n vm.exuPageIndexCount = (((exuPageIndex - 1) * vm.EAlListCount) + 1);\r\n }\r\n }, function (error) {\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n //list of users\r\n $scope.totalUsers = 0;\r\n $scope.usersPerPage = vm.userPageListCount;\r\n $scope.Userpagination = {\r\n current: 1\r\n };\r\n\r\n //left show page 10 20 30\r\n vm.userchangePageListCount = function () {\r\n $scope.usersPerPage = vm.userPageListCount;\r\n ulPageSize = $scope.usersPerPage;\r\n $scope.UserTablePageChanged($scope.Userpagination.current);\r\n vm.selectAll = false;\r\n ulPageIndex = $scope.Userpagination.current;\r\n $scope.UserTablePageChanged = function (newPage) {\r\n ulPageIndex = newPage;\r\n vm.GetUserDataPagingList(true, $localStorage.UploadId, vm.AnalysisId, vm.AddressId, vm.ListType, vm.SortBy, vm.OrderSequence, ulPageIndex, ulPageSize, loggedinUser, token);\r\n };\r\n }\r\n\r\n ulPageIndex = $scope.Userpagination.current;\r\n $scope.UserTablePageChanged = function (newPage) {\r\n ulPageIndex = newPage;\r\n vm.GetUserDataPagingList(true, $localStorage.UploadId, vm.AnalysisId, vm.AddressId, vm.ListType, vm.SortBy, vm.OrderSequence, ulPageIndex, ulPageSize, loggedinUser, token)\r\n };\r\n\r\n\r\n vm.UWticketDataList = [];\r\n vm.GetUserDataPagingList = function (isCollapsed, UploadId, AnalysisId, AddressId, ListType) {\r\n if (vm.AddressId == AddressId) {\r\n $scope.isCollapsed = !isCollapsed;\r\n }\r\n $scope.showUserTable = AddressId;\r\n vm.UploadId = UploadId;\r\n vm.AnalysisId = AnalysisId;\r\n vm.AddressId = AddressId;\r\n vm.ListType = ListType;\r\n PlanningResourseMapService.GetUserListData(vm.UploadId, vm.AnalysisId, vm.AddressId, vm.ListType, vm.SortBy, vm.OrderSequence, ulPageIndex, ulPageSize, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.UWticketDataList = resp.data.UserModelResList;\r\n $scope.totalUsers = resp.data.RecordCount;\r\n preprocessData(vm.UWticketDataList);\r\n if (vm.UWticketDataList.length < vm.userPageListCount)\r\n vm.userListLength = $scope.totalUsers;\r\n else\r\n vm.userListLength = ulPageIndex * vm.userPageListCount;\r\n if (ulPageIndex == 1)\r\n vm.ulpageindexCount = 1;\r\n else\r\n vm.ulpageindexCount = (((ulPageIndex - 1) * vm.userPageListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n }\r\n\r\n\r\n $scope.TalentPoolTablepageChanged = function (newPage) {\r\n\r\n vm.currentPage = newPage;\r\n\r\n vm.applyfilter(newPage, '');\r\n };\r\n\r\n vm.UserRoleList = [\"Field Engineer\", \"Vendor Manager\", \"VendorTeam\", \"PrivateVendor\", \"PrivateFreelancer\", \"ServiceCenter\"];\r\n\r\n vm.applyfilter = function (index, data) {\r\n var userFormData = {};\r\n if (data) {\r\n userFormData = data;\r\n } else {\r\n var temp = [];\r\n var res = vm.Experience.split(\"-\");\r\n var jobscount = vm.Jobscount.split(\"-\");\r\n var ratings = vm.Ratings.split(\"-\");\r\n if (vm.freelancerRole) {\r\n vm.freelancerRoleList = vm.freelancerRole.join('|');\r\n }\r\n\r\n userFormData = {\r\n \"PageIndex\": index,\r\n \"PageSize\": 20,\r\n \"ActivationStartDate\": startDate,\r\n \"ActivationEnddate\": endDate,\r\n \"State\": vm.PermanentState,\r\n \"Cities\": vm.PermanentCity,\r\n \"Pincodes\": temp,\r\n \"Skill\": vm.addSkill,\r\n \"ExperienceStart\": res[0],\r\n \"ExperienceEnd\": res[1],\r\n \"Certificates\": vm.addTraningCertificateName,\r\n \"IsBikeAvailable\": vm.Asset_Bike,\r\n \"IsMobileAvailable\": vm.Asset_Mobile,\r\n \"IsLaptopAvailable\": vm.Asset_Laptop,\r\n \"Tools\": vm.Asset_Tools,\r\n \"JobCountStart\": jobscount[0],\r\n \"JobCountEnd\": jobscount[1],\r\n \"RatingStart\": Number(ratings[0]),\r\n \"RatingEnd\": Number(ratings[1]),\r\n \"PreferredTalentPool\": false,\r\n \"IsStudent\": vm.Student,\r\n \"IsCriminalVerified\": vm.Criminal,\r\n \"IsBankVarified\": vm.IsBankVerified,\r\n \"IsUPIVarified\": vm.IsUPIVarified,\r\n \"IsStudent\": vm.Student,\r\n \"MMFPrimeMember\": vm.Prime,\r\n \"IsOpenForInternship\": vm.Intern,\r\n \"IsAdharVerified\": vm.Adharcard,\r\n \"IsPanVerified\": vm.Pancard,\r\n \"Source\": vm.Source,\r\n \"FreelancerRole\": vm.freelancerRoleList,\r\n \"UserStatus\": vm.UserStatus\r\n }\r\n if (vm.adddaterange) {\r\n userFormData.ActivationStartDate = startDate;\r\n userFormData.ActivationEnddate = endDate;\r\n }\r\n }\r\n\r\n $localStorage.FilterData = userFormData;\r\n PlanningResourseMapService.Filter(loggedinUser, token, userFormData).then(function (resp) {\r\n if (resp.data) {\r\n vm.users = [];\r\n vm.Bluserlist = [];\r\n vm.usersCounts = resp.data;\r\n vm.users = resp.data.Users;\r\n\r\n for (var i = 0; i < vm.users.length; i++) {\r\n if (vm.users[i].CustomerRating) {\r\n vm.users[i].CustomerRating = Number(vm.users[i].CustomerRating).toFixed(1);\r\n }\r\n }\r\n\r\n vm.totalTalentPoolCount = resp.data.Count;\r\n $scope.totalUsers = resp.data.Count;\r\n $scope.totalTableUsers = resp.data.Count;\r\n\r\n if (vm.users.length < 20)\r\n vm.usersLength = $scope.totalUsers;\r\n else\r\n vm.usersLength = index * 20;\r\n if (index == 1)\r\n vm.techpageindexCount = 1;\r\n else\r\n vm.techpageindexCount = (((index - 1) * 20) + 1);\r\n\r\n if (vm.users.length > 0) {\r\n for (var i = 0; i < vm.users.length; i++) {\r\n if (vm.users[i].BlockedByAccounts) {\r\n if (vm.users[i].BlockedByAccounts.length > 0) {\r\n for (var j = 0; j < vm.users[i].BlockedByAccounts.length; j++) {\r\n if (vm.users[i].BlockedByAccounts[j] == AccountID) {\r\n vm.Bluserlist.push(vm.users[i]);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n }\r\n }\r\n })\r\n\r\n }\r\n\r\n\r\n vm.TechnicianclearFilter = function () {\r\n vm.UserName = '';\r\n vm.ContactNumber = '';\r\n vm.Source = '';\r\n vm.Adharcard = '';\r\n vm.Pancard = '';\r\n vm.Prime = '';\r\n vm.IsBankVerified = '';\r\n vm.Criminal = '';\r\n vm.PermanentState = '';\r\n vm.PermanentCity = '';\r\n vm.Experience = '';\r\n vm.traningCertificateList = \"\";\r\n vm.freelancerRoleList = \"\";\r\n vm.freelancerRole = \"\";\r\n vm.Asset_Laptop = '';\r\n vm.Asset_Mobile = '';\r\n vm.Asset_Bike = '';\r\n vm.Asset_Tools = '';\r\n vm.Jobscount = '';\r\n vm.Ratings = '';\r\n vm.CurrentState = '';\r\n vm.UserStatus = '';\r\n vm.userskill = [];\r\n vm.userskill = '';\r\n vm.OneJobDone = false;\r\n vm.ServiceBrand = '';\r\n vm.ServiceProduct = '';\r\n vm.AllapplyTalentPoolfilter();\r\n }\r\n\r\n\r\n // // var first = 1;\r\n // if($localStorage.TechnicianDetailsView =='TechnicianDetails' ){\r\n // if($localStorage.backToTechnicianList==\"\" || $localStorage.backToTechnicianList===\"undefined\")\r\n // {\r\n // $localStorage.FilterData.State ='';\r\n // $localStorage.FilterData.Cities = '';\r\n // $localStorage.FilterData.Pincodes=[];\r\n // $localStorage.FilterData.Skill='';\r\n // $localStorage.FilterData.ExperienceStart='';\r\n // $localStorage.FilterData.ExperienceEnd ='';\r\n // $localStorage.FilterData.Certificates ='';\r\n // $localStorage.FilterData.IsBikeAvailable ='';\r\n // $localStorage.FilterData.IsMobileAvailable ='';\r\n // $localStorage.FilterData.IsLaptopAvailable ='';\r\n // $localStorage.FilterData.Tools ='';\r\n // $localStorage.FilterData.ContactNumber='';\r\n // $localStorage.FilterData.JobCountStart='';\r\n // $localStorage.FilterData.JobCountEnd='';\r\n // $localStorage.FilterData.UserName ='';\r\n // $localStorage.FilterData.Source ='';\r\n // $localStorage.FilterData.RatingStart ='';\r\n // $localStorage.FilterData.RatingEnd ='';\t\r\n // $localStorage.FilterData.IsStudent ='';\t\r\n // $localStorage.FilterData.MMFPrimeMember ='';\t\r\n // $localStorage.FilterData.IsOpenForInternship ='';\t\r\n // $localStorage.FilterData.IsAdharVerified ='';\t\r\n // $localStorage.FilterData.IsPanVerified ='';\t\r\n // $localStorage.FilterData.PageIndex=1;\r\n // $scope.UserTablepagination = {\r\n // current: 1\r\n // };\r\n // $scope.UserTablepagination.current=1;\r\n // }\r\n // var fdata = $localStorage.FilterData;\r\n // var rating = fdata.RatingStart+'-'+fdata.RatingEnd;\r\n // var jobcount = fdata.JobCountStart+'-'+fdata.JobCountEnd;\r\n // var exp = fdata.ExperienceStart+'-'+fdata.ExperienceEnd; \t\r\n // vm.PermanentState =\tfdata.State;\t\r\n // vm.PermanentCity = fdata.Cities;\r\n // temp = fdata.Pincodes;\r\n // vm.addSkill = fdata.Skill\r\n // vm.Experience = exp;\r\n // vm.addTraningCertificateName = fdata.Certificates;\r\n // vm.Asset_Bike = fdata.IsBikeAvailable;\r\n // vm.Asset_Mobile = fdata.IsMobileAvailable;\r\n // vm.Asset_Laptop = fdata.IsLaptopAvailable;\r\n // vm.Asset_Tools = fdata.Tools;\r\n // vm.Jobscount = jobcount;\r\n // vm.Ratings = rating;\r\n // vm.ContactNumber = fdata.ContactNumber;\r\n // vm.UserName = fdata.UserName;\r\n // vm.Student = fdata.IsStudent;\r\n // vm.Prime = fdata.MMFPrimeMember;\r\n // vm.Intern = fdata.IsOpenForInternship;\r\n // vm.Adharcard = fdata.IsAdharVerified;\r\n // vm.Pancard = fdata.IsPanVerified;\r\n // vm.Source = fdata.Source;\r\n // $scope.dates = {startDate : fdata.ActivationStartDate, endDate :fdata.ActivationEnddate};\r\n // if($localStorage.Technicianviewtype =='List'){\r\n // vm.PreferredUser = false;\r\n // vm.techniciancardview=false;\r\n // vm.technicianlistview = true;\r\n // vm.technicianmapview=false;\r\n // vm.PreferredUserlist=false;\r\n // vm.preferredtechnicianmapview=false;\r\n // vm.technicianuserviewtype ='List';\r\n // }\r\n // if($localStorage.backToTechnicianList==\"\" || $localStorage.backToTechnicianList===\"undefined\")\r\n // vm.applyfilter(1, fdata);\r\n // else\r\n // vm.applyfilter(vm.currentPage, fdata);\r\n // }\r\n // else{\r\n // vm.applyfilter(vm.currentPage);\r\n // $scope.dates = {startDate : startDate, endDate :endDate};\r\n // }\r\n\r\n var startDate = moment().subtract(30, 'days').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.ticketdates = { startDate: moment().subtract(30, 'days'), endDate: moment() };\r\n // vm.ticketranges = {\r\n // 'Today': [moment(), moment()],\r\n // 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n // 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n // 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n // 'This month': [moment().startOf('month'), moment().endOf('month')]\r\n // };\r\n vm.outsidedateRangeChange = function (ev, picker) {\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n };\r\n\r\n vm.pfuserlist = [];\r\n\r\n vm.filterApplied = false;\r\n\r\n vm.AllapplyTalentPoolfilter = function (filterApplied) {\r\n vm.filterApplied = filterApplied;\r\n $scope.Ticket = 1;\r\n deleteMarkers();\r\n if (vm.markerClusterer) {\r\n vm.markerClusterer.clearMarkers();\r\n vm.dynTicketMarkers = [];\r\n }\r\n vm.ticketPoolList = [];\r\n $scope.dates = { startDate: startDate, endDate: endDate };\r\n vm.adddaterange = true;\r\n $scope.UserTablepagination.current = 1;\r\n var temp = [];\r\n var tuPageIndex = '';\r\n var res = vm.Experience.split(\"-\");\r\n var jobscount = vm.Jobscount.split(\"-\");\r\n var ratings = vm.Ratings.split(\"-\");\r\n // if(!index){\r\n // tuPageIndex = 1;\r\n // }else{\r\n tuPageIndex = 1;\r\n // }\r\n\r\n vm.freelancerRoleList = \"\";\r\n if (vm.freelancerRole) {\r\n vm.freelancerRoleList = vm.freelancerRole.join('|');\r\n }\r\n vm.traningCertificateList = \"\";\r\n if (vm.TraningCertificate) {\r\n vm.traningCertificateList = vm.TraningCertificate.join('|');\r\n }\r\n if (vm.UserStatus != \"Active\") {\r\n startDate = \"\";\r\n endDate = \"\";\r\n }\r\n else {\r\n startDate = startDate;\r\n endDate = endDate;\r\n }\r\n if (!ratings[1]) {\r\n ratings[1] = 0;\r\n }\r\n vm.userFormData = {\r\n \"PageIndex\": tuPageIndex,\r\n \"PageSize\": 20,\r\n \"ActivationStartDate\": startDate,\r\n \"ActivationEnddate\": endDate,\r\n \"State\": vm.PermanentState,\r\n \"Cities\": vm.PermanentCity,\r\n \"Pincodes\": temp,\r\n \"Skill\": vm.userskill,\r\n \"ExperienceStart\": res[0],\r\n \"ExperienceEnd\": res[1],\r\n \"Certificates\": vm.traningCertificateList,\r\n \"IsBikeAvailable\": vm.Asset_Bike,\r\n \"IsMobileAvailable\": vm.Asset_Mobile,\r\n \"IsLaptopAvailable\": vm.Asset_Laptop,\r\n \"Tools\": vm.Asset_Tools,\r\n \"JobCountStart\": jobscount[0],\r\n \"JobCountEnd\": jobscount[1],\r\n \"RatingStart\": Number(ratings[0]),\r\n \"RatingEnd\": Number(ratings[1]),\r\n \"PreferredTalentPool\": false,\r\n \"FreelancerRole\": vm.freelancerRoleList,\r\n \"UserStatus\": vm.UserStatus,\r\n \"ContactNumber\": vm.ContactNumber,\r\n \"UserName\": vm.UserName,\r\n \"IsStudent\": vm.Student,\r\n \"MMFPrimeMember\": vm.Prime,\r\n \"IsOpenForInternship\": vm.Intern,\r\n \"IsAdharVerified\": vm.Adharcard,\r\n \"BrandName\": vm.ServiceBrand,\r\n \"ProductServing\": vm.ServiceProduct,\r\n \"IsBankVarified\": vm.IsBankVerified,\r\n \"IsCriminalVerified\": vm.Criminal,\r\n \"Source\": vm.Source,\r\n \"OneJobDoneForSkills\": vm.OneJobDone,\r\n }\r\n\r\n vm.mapuserFormData = {\r\n \"PageIndex\": '',\r\n \"PageSize\": '',\r\n \"ActivationStartDate\": startDate,\r\n \"ActivationEnddate\": endDate,\r\n \"State\": vm.PermanentState,\r\n \"Cities\": vm.PermanentCity,\r\n \"Pincodes\": temp,\r\n \"Skill\": vm.userskill,\r\n \"ExperienceStart\": res[0],\r\n \"ExperienceEnd\": res[1],\r\n \"Certificates\": vm.traningCertificateList,\r\n \"IsBikeAvailable\": vm.Asset_Bike,\r\n \"IsMobileAvailable\": vm.Asset_Mobile,\r\n \"IsLaptopAvailable\": vm.Asset_Laptop,\r\n \"Tools\": vm.Asset_Tools,\r\n \"JobCountStart\": jobscount[0],\r\n \"JobCountEnd\": jobscount[1],\r\n \"RatingStart\": Number(ratings[0]),\r\n \"RatingEnd\": Number(ratings[1]),\r\n \"PreferredTalentPool\": false,\r\n \"FreelancerRole\": vm.freelancerRoleList,\r\n \"UserStatus\": vm.UserStatus,\r\n \"ContactNumber\": vm.ContactNumber,\r\n \"UserName\": vm.UserName,\r\n \"IsStudent\": vm.Student,\r\n \"MMFPrimeMember\": vm.Prime,\r\n \"IsOpenForInternship\": vm.Intern,\r\n \"IsAdharVerified\": vm.Adharcard,\r\n \"IsBankVarified\": vm.IsBankVerified,\r\n \"IsCriminalVerified\": vm.Criminal,\r\n \"BrandName\": vm.ServiceBrand,\r\n \"ProductServing\": vm.ServiceProduct,\r\n \"Source\": vm.Source,\r\n \"OneJobDoneForSkills\": vm.OneJobDone,\r\n }\r\n if (vm.filterApplied) {\r\n vm.GetTalentPoolForMap();\r\n }\r\n PlanningResourseMapService.Filter(loggedinUser, token, vm.userFormData).then(function (resp) {\r\n if (resp.data) {\r\n vm.pfuserlist = [];\r\n vm.users = [];\r\n vm.usersCounts = resp.data;\r\n vm.users = resp.data.Users;\r\n if (vm.users.length == 0) {\r\n vm.showFailure('Failed', 'No User Found');\r\n }\r\n for (var i = 0; i < vm.users.length; i++) {\r\n if (vm.users[i].CustomerRating) {\r\n vm.users[i].CustomerRating = Number(vm.users[i].CustomerRating).toFixed(1);\r\n }\r\n }\r\n vm.totalTalentPoolCount = resp.data.Count;\r\n $scope.totalTalentUsers = resp.data.Count;\r\n $scope.totalTableUsers = resp.data.Count;\r\n if (vm.users.length < 20)\r\n vm.usersLength = $scope.totalTalentUsers;\r\n else\r\n vm.usersLength = tuPageIndex * 20;\r\n if (tuPageIndex == 1)\r\n vm.techpageindexCount = 1;\r\n else\r\n vm.techpageindexCount = (((tuPageIndex - 1) * 20) + 1);\r\n if (vm.users.length < 20)\r\n vm.usersLength = $scope.totalTalentUsers;\r\n else\r\n vm.usersLength = tuPageIndex * 20;\r\n if (tuPageIndex == 1)\r\n vm.techpageindexCount = 1;\r\n else\r\n vm.techpageindexCount = (((tuPageIndex - 1) * 20) + 1);\r\n if (vm.users.length > 0) {\r\n for (var i = 0; i < vm.users.length; i++) {\r\n if (vm.users[i].FavoriteForAccounts) {\r\n if (vm.users[i].FavoriteForAccounts.length > 0) {\r\n for (var j = 0; j < vm.users[i].FavoriteForAccounts.length; j++) {\r\n if (vm.users[i].FavoriteForAccounts[j] == AccountID) {\r\n vm.pfuserlist.push(vm.users[i]);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n $timeout(function () {\r\n $scope.class1 = false;\r\n }, 250);\r\n }\r\n })\r\n }\r\n vm.AllapplyTalentPoolfilter();\r\n\r\n\r\n\r\n\r\n //apply filter for analysis\r\n vm.AllapplyfilterCopy = function () {\r\n vm.DisableCreateButton(true);\r\n var userFormData = {\r\n \"UploadId\": $localStorage.UploadId,\r\n \"AnalysisId\": vm.confirmstatus == \"update\" ? vm.analysisDetails.AnalysisId : \"\",\r\n \"AnalysisName\": vm.confirmstatus == \"update\" ? vm.analysisDetails.AnalysisName : vm.AnalysisName,\r\n \"AnalysisDescription\": vm.analysisDetails.AnalysisDescription,\r\n \"AnalysisBasedOn\": vm.IsBasedOnPincode == true ? \"Pincode\" : \"Distance\",\r\n \"RangeFromJob\": (vm.RangeInKm * 1000),\r\n \"OneJobDoneForSkills\": vm.OneJobDone,\r\n \"Skills\": vm.JobSkill == \"\" ? \"\" : vm.JobSkill.join(\"|\"),\r\n \"UserStatus\": vm.RegistrationStatus,\r\n \"UserRole\": vm.UserRole == \"\" ? \"\" : vm.UserRole.join(\"|\"),\r\n \"MatchCriteria\": vm.MatchCriteria == \"\" ? \"\" : vm.MatchCriteria.join(\"|\"),\r\n \"ActiveInMonth\": vm.ActiveInMonth,\r\n \"NoOfJobDone\": vm.NoOfJobDone,\r\n \"IsBikeAvailable\": vm.Asset_Bike,\r\n \"IsMobileAvailable\": vm.Asset_Mobile,\r\n \"IsLaptopAvailable\": vm.Asset_Laptop,\r\n \"UserCertificates\": vm.TraningCertificate == \"\" ? \"\" : vm.TraningCertificate.join(\"|\"),\r\n \"UserTools\": vm.ToolList == \"\" ? \"\" : vm.ToolList.join(\"|\"),\r\n // \"JobOrUser\": \"string\",\r\n // \"IsMMFPrimeMember\": true,\r\n // \"IsSecurityDeposited\": true,\r\n // \"IsCriminalVerified\": true,\r\n // \"IsIncomeAbove25\": true,\r\n // \"IsVaccinated\": true\r\n }\r\n PlanningResourseMapService.CreateNewAnalysis(userFormData, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Analysis Created Successfully\");\r\n $timeout(function () {\r\n $scope.addFilterforAnalysis();\r\n vm.CloseAnalysisModel();\r\n // $scope.addRemoveRedClass(); \r\n }, 2000);\r\n }\r\n })\r\n }\r\n\r\n vm.DisableCreateButton = function (disable) {\r\n if (disable) {\r\n vm.disableCreateButton = true;\r\n }\r\n else {\r\n vm.disableCreateButton = false;\r\n }\r\n }\r\n\r\n //user wise with pagination\r\n $scope.totalUW = 0;\r\n $scope.UWPerPage = vm.UWListCount;\r\n $scope.UWpagination = {\r\n current: 1\r\n };\r\n\r\n //left show page 10 20 30\r\n vm.changeUWPageListCount = function () {\r\n $scope.UWPerPage = vm.UWListCount;\r\n uwPageSize = $scope.UWPerPage;\r\n $scope.UWTablePageChanged($scope.UWpagination.current);\r\n vm.selectAll = false;\r\n uwPageIndex = $scope.UWpagination.current;\r\n $scope.UWTablePageChanged = function (newPage) {\r\n uwPageIndex = newPage;\r\n vm.GetUserDataList(loggedinUser, token, vm.UploadId, vm.AnalysisId, vm.Orderby, vm.OrderSequence, uwPageIndex, uwPageSize);\r\n };\r\n }\r\n\r\n uwPageIndex = $scope.UWpagination.current;\r\n $scope.UWTablePageChanged = function (newPage) {\r\n uwPageIndex = newPage;\r\n vm.GetUserDataList(loggedinUser, token, vm.UploadId, vm.AnalysisId, vm.Orderby, vm.OrderSequence, uwPageIndex, uwPageSize);\r\n };\r\n\r\n vm.analysisUserList = [];\r\n vm.GetUserDataList = function (loggedinUser, token, UploadId, AnalysisId, userType, OrderSequence, uwPageIndex, uwPageSize) {\r\n PlanningResourseMapService.GetUserData(loggedinUser, token, UploadId, AnalysisId, vm.Orderby, vm.OrderSequence, uwPageIndex, uwPageSize).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.analysisUserList = resp.data.UserAnalysisResModelList;\r\n $scope.totalUW = resp.data.TotalRecords;\r\n preprocessData(vm.analysisUserList);\r\n if (vm.analysisUserList.length < vm.UWListCount)\r\n vm.analysisListUWLength = $scope.totalUW;\r\n else\r\n vm.analysisListUWLength = uwPageIndex * vm.UWListCount;\r\n if (uwPageIndex == 1)\r\n vm.uwpageindexCount = 1;\r\n else\r\n vm.uwpageindexCount = (((uwPageIndex - 1) * vm.UWListCount) + 1);\r\n }\r\n }, function (error) {\r\n })\r\n }\r\n\r\n\r\n //list of userwise\r\n $scope.totalUWtickets = 0;\r\n $scope.UWticketsPerPage = vm.UWticketsListCount;\r\n $scope.UWticketspagination = {\r\n current: 1\r\n };\r\n\r\n //left show page 10 20 30\r\n vm.UWticketsPageListCount = function () {\r\n $scope.UWticketsPerPage = vm.UWticketsListCount;\r\n uwtPageSize = $scope.UWticketsPerPage;\r\n $scope.UWTicketTablePageChanged($scope.UWticketspagination.current);\r\n vm.selectAll = false;\r\n uwtPageIndex = $scope.UWticketspagination.current;\r\n $scope.UWTicketTablePageChanged = function (newPage) {\r\n uwtPageIndex = newPage;\r\n vm.GetUserUWDataPagingList(true, $localStorage.UploadId, vm.AnalysisId, vm.UserId, vm.ListType, vm.SortBy, vm.OrderSequence, uwtPageIndex, uwtPageSize, loggedinUser, token);\r\n };\r\n }\r\n\r\n uwtPageIndex = $scope.UWticketspagination.current;\r\n $scope.UWTicketTablePageChanged = function (newPage) {\r\n uwtPageIndex = newPage;\r\n vm.GetUserUWDataPagingList(true, $localStorage.UploadId, vm.AnalysisId, vm.UserId, vm.ListType, vm.SortBy, vm.OrderSequence, uwtPageIndex, uwtPageSize, loggedinUser, token)\r\n };\r\n\r\n vm.toBebundle = [];\r\n vm.bundlePrice = [];\r\n vm.bundleDistance = [];\r\n vm.implementSelectItemsNewJob = function (itemList, scope) {\r\n scope.selectAllNewJob = false;\r\n scope.showMinusNewJob = false;\r\n scope.CreateComboFlag = false;\r\n scope.selectRowNewJob = function (i) {\r\n scope.showMinusNewJob = false;\r\n scope.selectAllNewJob = false;\r\n scope.CreateComboFlag = false;\r\n angular.forEach(scope[itemList], function (d) {\r\n if (d.checked) {\r\n vm.toBebundle.push(d.AddressId)\r\n vm.selctedTickets = vm.toBebundle.length;\r\n scope.showMinusNewJob = true;\r\n // if(d.TicketStatus == 'New' || d.TicketStatus == 'Broadcasted'){\r\n scope.CreateComboFlag = true;\r\n // }\r\n }\r\n\r\n });\r\n }\r\n\r\n\r\n scope.applyAllNewJobSelect = function () {\r\n angular.forEach(scope[itemList], function (d) {\r\n d.checked = scope.selectAllNewJob;\r\n if (d.checked) {\r\n scope.CreateComboFlag = true;\r\n }\r\n });\r\n }\r\n\r\n scope.resetAllSelect = function () {\r\n scope.selectAllNewJob = false;\r\n scope.showMinusNewJob = false;\r\n scope.PlannedClosureDateFlag = false;\r\n scope.CreateComboFlag = false;\r\n }\r\n }\r\n\r\n vm.implementSelectItemsNewJob('UWTicketList', this);\r\n\r\n\r\n vm.UWTicketList = [];\r\n vm.GetUserUWDataPagingList = function (isCollapsed, UploadId, AnalysisId, UserId, ListType, UserName) {\r\n vm.UserName = UserName;\r\n if (vm.UserId == UserId) {\r\n $scope.isCollapsed = !isCollapsed;\r\n }\r\n $scope.showAddressTable = UserId;\r\n vm.UploadId = UploadId;\r\n vm.AnalysisId = AnalysisId;\r\n vm.UserId = UserId;\r\n vm.ListType = ListType;\r\n PlanningResourseMapService.GetAddressListForUserOnPaging($localStorage.UploadId, $localStorage.AnalysisId, vm.UserId, vm.ListType, vm.SortBy, vm.OrderSequence, uwtPageIndex, uwtPageSize, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.UWTicketList = resp.data.AddressModelResList;\r\n $scope.totalUWtickets = resp.data.RecordCount;\r\n if (vm.UWTicketList.length < vm.UWticketsListCount)\r\n vm.UWTicketListLength = $scope.totalUWtickets;\r\n else\r\n vm.UWTicketListLength = uwtPageIndex * vm.UWticketsListCount;\r\n if (uwtPageIndex == 1)\r\n vm.uwtPageIndexCount = 1;\r\n else\r\n vm.uwtPageIndexCount = (((uwtPageIndex - 1) * vm.UWticketsListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n }\r\n\r\n\r\n vm.CreateBJobs = function () {\r\n vm.bundleTicketArray = [];\r\n vm.bundleData = [];\r\n vm.bundlesum = 0;\r\n vm.totalDistance = 0;\r\n vm.bundleAvgDistance = 0;\r\n angular.forEach(vm.UWTicketList, function (d) {\r\n if (d.checked) {\r\n vm.bundleTicketArray.push(d.AddressId)\r\n vm.bundleData.push(d)\r\n vm.bundlePrice.push(d.FreelancerPrice)\r\n vm.bundlesum = vm.bundlePrice.reduce(function (total, price) {\r\n return total + price;\r\n }, 0);\r\n vm.bundleDistance.push(d.Distance)\r\n vm.totalDistance = vm.bundleDistance.reduce(function (total, distance) {\r\n return total + distance;\r\n }, 0);\r\n vm.bundleAvgDistance = vm.totalDistance / vm.bundleDistance.length;\r\n\r\n }\r\n })\r\n vm.confirmationMessage = 'Please confirm if you want to create bundle of mentioned addresses and broadcast to ' + vm.UserName + \" with user Id \" + vm.UserId;\r\n confirmationModalInstance = $uibModal.open({\r\n templateUrl: 'bundle_jobs_confirmation_model.html',\r\n scope: $scope,\r\n backdrop: 'static',\r\n size: 'lg'\r\n });\r\n }\r\n\r\n vm.confirmationCloseModal = function () {\r\n vm.DisableBroadcastButtons(false);\r\n vm.toBebundle = [];\r\n vm.bundlePrice = [];\r\n vm.bundlesum = 0; \r\n vm.totalDistance = 0;\r\n vm.bundleAvgDistance = 0;\r\n confirmationModalInstance.close();\r\n }\r\n\r\n vm.OpenPendingJobsBroadcastConfirmation = function(){\r\n broadcastconfirmationModal = $uibModal.open({\r\n templateUrl: 'pending_jobs_confirmation_model.html',\r\n scope: $scope,\r\n backdrop: 'static',\r\n size: 'md'\r\n });\r\n }\r\n\r\n vm.broadcastCloseModal = function () {\r\n vm.DisableBroadcastButtons(false);\r\n broadcastconfirmationModal.close();\r\n }\r\n\r\n\r\n vm.DisableBroadcastButtons = function (disable) {\r\n if (disable) {\r\n vm.disableBroadcastButton = true;\r\n vm.disableBroadcastCloseButton = true;\r\n }\r\n else {\r\n vm.disableBroadcastButton = false;\r\n vm.disableBroadcastCloseButton = false;\r\n }\r\n }\r\n\r\n\r\n vm.BundleJobsBroadcast = function () {\r\n var broadcastData = {\r\n \"AddressIdList\": vm.bundleTicketArray,\r\n \"UserId\": vm.UserId,\r\n \"UploadId\": $localStorage.UploadId\r\n }\r\n vm.DisableBroadcastButtons(true);\r\n PlanningResourseMapService.CreateJobBundleAndBroadcast(loggedinUser, broadcastData, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n $timeout(function () {\r\n vm.GetUserUWDataPagingList(true, $localStorage.UploadId, vm.AnalysisId, vm.UserId, vm.ListType, vm.SortBy, vm.OrderSequence, uwtPageIndex, uwtPageSize, loggedinUser, token)\r\n vm.confirmationCloseModal();\r\n scope.CreateComboFlag = false;\r\n }, 2000);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n vm.confirmationCloseModal();\r\n scope.CreateComboFlag = false;\r\n }\r\n });\r\n }\r\n var today = new Date();\r\n var yesterday = new Date(today);\r\n yesterday.setDate(today.getDate() - 1);\r\n \r\n vm.startDateForAnalysis = yesterday;\r\n vm.endDateForAnalysis = new Date();\r\n\r\n\r\n vm.startDatenew = new Date();\r\n var pcdt = new Date();\r\n var year = pcdt.getFullYear();\r\n var month = ('0' + (pcdt.getMonth() + 1)).slice(-2);\r\n var day = ('0' + pcdt.getDate()).slice(-2);\r\n $scope.minDate = year + '-' + month + '-' + day;\r\n\r\n pcdt.setDate(pcdt.getDate() + 1);\r\n vm.endDatenew = pcdt;\r\n vm.showErrorMessage = false;\r\n vm.showAccountErrorMessage = false;\r\n\r\n $scope.getCurrentDate = function() {\r\n var currentDate = new Date();\r\n return currentDate.toISOString().split('T')[0];\r\n };\r\n\r\n vm.checkDateRange = function () {\r\n if (moment(vm.endDatenew) <= moment(vm.startDatenew)) {\r\n vm.showErrorMessage = true;\r\n } else {\r\n vm.showErrorMessage = false;\r\n }\r\n };\r\n\r\n vm.checkAnalysisDateRange = function () {\r\n if (moment(vm.endDateForAnalysis) < moment(vm.startDateForAnalysis)) {\r\n vm.showErrorMessage = true;\r\n } else {\r\n vm.showErrorMessage = false;\r\n }\r\n };\r\n\r\n vm.RunCampaignOnUsers = function () {\r\n vm.campaign_form.submitted = true;\r\n vm.userFormData.CampaignName = vm.CampaignName;\r\n if (vm.campaign_form.$valid) {\r\n PlanningResourseMapService.RunCampaignOnUsers(vm.userFormData, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.CloseCampaignModel();\r\n }\r\n })\r\n }\r\n }\r\n\r\n $scope.uploadImageForNotice = function (files) {\r\n vm.FileName = \"\";\r\n vm.FilesDoc = files.files[0];\r\n vm.FileName = vm.FilesDoc.name;\r\n vm.FileSize = vm.FilesDoc.size;\r\n // var allowedFileSize = 1000000;\r\n var allowedExtensions = /(\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png|\\.JFIF|\\.jfif)$/i;\r\n if (!allowedExtensions.exec(vm.FileName)) {\r\n vm.FilesDoc = [];\r\n vm.clear();\r\n alert('Please upload file having extensions .jpg,.jpeg,.png only.');\r\n }\r\n // if(vm.FileSize > allowedFileSize){\r\n // vm.FilesDoc = [];\r\n // vm.clear(); \r\n // alert('File size cannot exceed 1MB');\r\n // }\r\n }\r\n\r\n vm.clear = function () {\r\n angular.element(\"input[type='file']\").val(null);\r\n };\r\n\r\n vm.landingPageList = [\"Explorer\", \"Lead\", \"Wallet\", \"Job\", \"Customer\", \"Profile\", \"Skill\", \"Service Area\", \"Certificate\", \"Team\", \"My Website\", \"Link\"];\r\n // $scope.broadcastOptions = [\"SMS\", \"In-App Notification\", \"E-Mail\", \"WhatsApp Msg\"];\r\n\r\n vm.CreateNoticeOnUsers = function () {\r\n if (moment(vm.endDatenew) <= moment(vm.startDatenew)) {\r\n vm.showErrorMessage = true;\r\n }\r\n else {\r\n vm.Notice_BroadcastForm.submitted = true;\r\n vm.userFormData.ActivityName = vm.noticename;\r\n vm.userFormData.LandingPage = vm.landingPage;\r\n vm.userFormData.NoticeType = vm.noticeType;\r\n vm.userFormData.ActivityLink = vm.fileLink;\r\n vm.userFormData.ActivityDescription = vm.noticeDescription;\r\n vm.userFormData.NoticeStartDate = moment(vm.startDatenew).format(\"YYYY-MM-DD\");\r\n vm.userFormData.NoticeEnddate = moment(vm.endDatenew).format(\"YYYY-MM-DD\");\r\n if (vm.Notice_BroadcastForm.$valid) {\r\n vm.DisableCreateButton(true);\r\n PlanningResourseMapService.CreateNoticeOnUsers(vm.userFormData, vm.FilesDoc, vm.FileName, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 201) {\r\n vm.CloseNoticeModel();\r\n vm.showSuccess(\"Success\", resp.data.Message);\r\n }\r\n else if (resp.status == 500) {\r\n vm.showFailure(\"Failed\", \"Please select image to upload\");\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", \"Please select image to upload\");\r\n }\r\n })\r\n }\r\n }\r\n }\r\n\r\n vm.campaignSkill = null;\r\n vm.campaignLocation = null;\r\n vm.campaignTools = null;\r\n vm.campaignLink = null;\r\n\r\n vm.DynamicRunCampaignOnUsers = function () {\r\n vm.campaign_form.submitted = true;\r\n vm.userFormData.CampaignName = vm.CampaignName;\r\n vm.userFormData.CampaignParameters = [];\r\n vm.userFormData.CampaignParameters.push(vm.campaignSkill);\r\n vm.userFormData.CampaignParameters.push(vm.campaignLocation);\r\n vm.userFormData.CampaignParameters.push(vm.campaignTools);\r\n vm.userFormData.CampaignParameters.push(vm.campaignLink);\r\n if (vm.campaign_form.$valid) {\r\n PlanningResourseMapService.RunCampaignOnUsers(vm.userFormData, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.CloseDynamicCampaignModel();\r\n }\r\n })\r\n }\r\n }\r\n\r\n vm.RunExcepCampaignOnUsers = function () {\r\n vm.campaign_form.submitted = true;\r\n if (vm.campaign_form.$valid) {\r\n PlanningResourseMapService.RunCampaignOnFilteredUsers(vm.UserIdsList, vm.CampaignName, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.CloseCampaignModel();\r\n }\r\n })\r\n }\r\n }\r\n\r\n // 360 profile\r\n vm.GetAllCampaignName = function () {\r\n PlanningResourseMapService.GetAllCampaignName(loggedinUser, token).then(function (resp) {\r\n vm.campaignNameList = resp.data;\r\n })\r\n }\r\n\r\n vm.GetAllConsumerCampaignName = function () {\r\n PlanningResourseMapService.GetAllConsumerCampaignName(loggedinUser, token).then(function (resp) {\r\n vm.consumerCampaignNameList = resp.data;\r\n })\r\n }\r\n\r\n vm.GetAllGenericCampaignName = function () {\r\n PlanningResourseMapService.GetAllGenericCampaignName(loggedinUser, token).then(function (resp) {\r\n vm.genericCampaignNameList = resp.data;\r\n })\r\n }\r\n\r\n\r\n vm.GetFinanceTicketDetail = function (paymentId, isCollapsed) {\r\n $scope.isCollapsed = !isCollapsed;\r\n DashboardService.GetFinanceTicketDetail(paymentId).then(function (resp) {\r\n vm.financedetails = resp.data;\r\n })\r\n }\r\n\r\n vm.GetLastFollowUpOnTicketId = function (teamid) {\r\n vm.userId = teamid;\r\n vm.FollowupListArr = [];\r\n DashboardService.GetLastFollowUpOnTicketId(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.followupdata = resp.data;\r\n angular.forEach(vm.followupdata, function (fdetail, i) {\r\n if (fdetail != null) {\r\n angular.forEach(vm.followupdata[i].FollowUpOnTicket, function (fdetail, i) {\r\n vm.FollowupList = fdetail.FollowUpOnTicket;\r\n vm.FollowupListArr.push(fdetail);\r\n })\r\n\r\n }\r\n })\r\n })\r\n }\r\n\r\n vm.Get360TeamProfileData = function (teamid) {\r\n vm.userId = teamid;\r\n DashboardService.Get360ProfileData(loggedinUser, teamid, token).then(function (resp) {\r\n if (resp.data) {\r\n $scope.userSingle();\r\n }\r\n vm.teamdata = resp.data;\r\n vm.AvgRating = vm.teamdata.userProfile.AverageRating;\r\n vm.ReviewsList = vm.teamdata.userProfile.Reviews\r\n vm.teamdata.ratingStars = vm.getRatingStars(Math.round(vm.teamdata.userProfile.Ratings.TechnicianRating));\r\n vm.teamdata.blankStars = vm.getBlankStars(Math.round(vm.teamdata.userProfile.Ratings.TechnicianRating));\r\n vm.teamdata.avgratingStars = vm.getAvgRatingStars(Math.round(vm.teamdata.userProfile.AverageRating.AverageRating));\r\n vm.teamdata.avgblankStars = vm.getAvgBlankStars(Math.round(vm.teamdata.userProfile.AverageRating.AverageRating));\r\n if (vm.teamdata.userProfile.ContactNumber) {\r\n vm.teamdata.userProfile.ContactNumber = vm.teamdata.userProfile.ContactNumber.replace(/\\d(?=\\d{4})/g, '*');\r\n }\r\n\r\n if (vm.teamdata.userProfile.Reviews) {\r\n vm.teamdata.userProfile.Reviews.forEach(function (element, i) {\r\n vm.teamdata.userratingStars = vm.getUserRatingStars(Math.round(vm.teamdata.userProfile.Reviews[i].Average));\r\n vm.teamdata.userblankStars = vm.getUserBlankStars(Math.round(vm.teamdata.userProfile.Reviews[i].Average));\r\n element.arrayRating = vm.teamdata.userratingStars;\r\n element.blankRating = vm.teamdata.userblankStars;\r\n });\r\n }\r\n\r\n vm.TechnicianRating = Number(vm.teamdata.userProfile.Ratings.TechnicianRating).toFixed(1);\r\n $timeout(function () {\r\n displayTotals();\r\n }, 300);\r\n }, function () {\r\n })\r\n }\r\n\r\n vm.Get360AuthorizedDetail = function () {\r\n DashboardService.GetAuthorizedServicePartnerDetail(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.authorizeDetail = resp.data;\r\n })\r\n }\r\n\r\n vm.brandList = [\"LG\", \"Samsung\", \"Havells & lloyds\", \"Hitachi\", \"Panasonic\", \"O general\", \"Daikin\", \"Micromax\", \"Bluestar\", \"Toshiba\", \"Glen\", \"Lifelong\", \"Whirlpool\", \"IFB\", \"Philips\", \"Godrej\", \"Bajaj\"];\r\n\r\n vm.productList = [\"Aircon\", \"Air cooler\", \"Home Appliances\", \"IT\", \"AC\", \"Multi product\", \"RO\", \"Printer\"];\r\n\r\n vm.getRatingStars = function (rating) {\r\n var stars = [];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.push(i);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n vm.getBlankStars = function (rating) {\r\n var stars = [1, 2, 3, 4, 5];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.splice(stars.indexOf(i), 1);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n vm.getAvgRatingStars = function (rating) {\r\n var stars = [];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.push(i);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n vm.getAvgBlankStars = function (rating) {\r\n var stars = [1, 2, 3, 4, 5];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.splice(stars.indexOf(i), 1);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n vm.getUserRatingStars = function (rating) {\r\n var stars = [];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.push(i);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n vm.getUserBlankStars = function (rating) {\r\n var stars = [1, 2, 3, 4, 5];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.splice(stars.indexOf(i), 1);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n $scope.totalWS = 0;\r\n $scope.wsPerPage = vm.userPageListCount;\r\n $scope.Userpagination = {\r\n current: 1\r\n };\r\n\r\n //left show page 10 20 30\r\n vm.changeUserPageListCount = function (userId) {\r\n $scope.wsPerPage = vm.userPageListCount;\r\n uPageSize = $scope.wsPerPage;\r\n $scope.WSTablePageChanged($scope.Userpagination.current);\r\n\r\n uPageIndex = $scope.Userpagination.current;\r\n $scope.WSTablePageChanged = function (newPage) {\r\n uPageIndex = newPage;\r\n vm.wsersFilterArray();\r\n vm.Get360WorkSummary(loggedinUser, token, userId, witemNames, witemValues, uPageIndex, uPageSize, wsSDate, wsEDate, vm.OrderBy, vm.sorttype);\r\n\r\n };\r\n }\r\n\r\n uPageIndex = $scope.Userpagination.current;\r\n $scope.WSTablePageChanged = function (newPage) {\r\n uPageIndex = newPage;\r\n if (witemNames != 'Search') {\r\n vm.wsersFilterArray();\r\n }\r\n\r\n vm.Get360WorkSummary(loggedinUser, token, vm.userId, witemNames, witemValues, uPageIndex, uPageSize, wsSDate, wsEDate, vm.OrderBy, vm.sorttype);\r\n\r\n };\r\n\r\n\r\n vm.wsersFilterArray = function () {\r\n witemNames = \"\";\r\n witemValues = \"\";\r\n\r\n if (vm.searchStatusText != \"\" && vm.searchStatusText != \"All\" && vm.searchStatusText != null) {\r\n if (itemNames.length > 0 && itemValues.length > 0) {\r\n itemNames = itemNames + ',Status';\r\n itemValues = itemValues + ',' + vm.searchStatusText;\r\n } else {\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText;\r\n }\r\n }\r\n if (vm.userNameSearch) {\r\n if (witemNames) {\r\n witemNames = witemNames + ',Search';\r\n witemValues = witemValues + \",\" + vm.userNameSearch;\r\n }\r\n else {\r\n witemNames = 'Search';\r\n witemValues = vm.userNameSearch;\r\n }\r\n }\r\n\r\n if (vm.JobcountbyStatus) {\r\n if (witemNames) {\r\n witemNames = witemNames + ',Status';\r\n witemValues = witemValues + \",\" + vm.JobcountbyStatus;\r\n }\r\n else {\r\n witemNames = 'Status';\r\n witemValues = vm.JobcountbyStatus;\r\n }\r\n }\r\n\r\n }\r\n\r\n\r\n // apply user rating to all displays\r\n // add star ratings to an array\r\n var starRating = document.querySelectorAll(\".fa-star\"),\r\n ratingTotal = document.querySelectorAll(\".rating-total\");\r\n\r\n // convert ratingTotal HTMLCollection to array and reverse its order (5 star <-> 1 star)\r\n var reverseRatingTotal = Array.from(ratingTotal).reverse();\r\n\r\n // display initial rating totals\r\n // displayTotals();\r\n\r\n // use event listener to record changes to user rating\r\n starRating.forEach(function (star) {\r\n star.addEventListener(\"change\", recordRating);\r\n })\r\n\r\n function recordRating(event) {\r\n // use indexOf to identify selected user rating\r\n var userRating = Array.from(starRating).indexOf(event.target);\r\n\r\n // define selected rating to adjust display totals\r\n var selectedIndex;\r\n\r\n starRating.forEach(function (item, index) {\r\n // add or remove .active class based upon selected user rating\r\n if (index < userRating + 1) {\r\n starRating[index].classList.add(\"active\");\r\n selectedIndex = index;\r\n } else {\r\n starRating[index].classList.remove(\"active\");\r\n }\r\n\r\n displayTotals(selectedIndex);\r\n });\r\n }\r\n vm.countForStatus = 50;\r\n // display star rating totals from html custom data-\r\n function displayTotals(selectedIndex) {\r\n var barChart = document.querySelectorAll(\".bar\"),\r\n displaySummary = document.querySelectorAll(\".summary\"),\r\n numRatings = 0,\r\n numRatingsValue = 0;\r\n\r\n // convert barChart HTMLCollection to array and reverse its order (5 star <-> 1 star)\r\n var reverseBarChart = Array.from(barChart).reverse();\r\n\r\n reverseRatingTotal.forEach(function (total, index) {\r\n if (index == selectedIndex) {\r\n // add selected rating to display total\r\n total.innerHTML = (parseInt(total.getAttribute(\"data-rating-count\")) + 1);\r\n // adjust selected bar width\r\n reverseBarChart[index].style.width = (((parseInt(total.getAttribute(\"data-rating-count\")) + 1) / 20) * 100) + \"%\";\r\n } else {\r\n // display unselected totals\r\n total.innerHTML = total.getAttribute(\"data-rating-count\");\r\n // adjust unselected bar widths\r\n reverseBarChart[index].style.width = ((total.getAttribute(\"data-rating-count\") / 20) * 100) + \"%\";\r\n }\r\n // count total number and value of ratings\r\n numRatings += parseInt(total.innerHTML);\r\n numRatingsValue += (parseInt(total.innerHTML) * (index + 1));\r\n });\r\n\r\n // display rating average and total\r\n ratingsAverage = (numRatingsValue / numRatings).toFixed(2);\r\n // displaySummary[0].innerHTML = ratingsAverage + \" average based on \" + numRatings + \" reviews.\";\r\n }\r\n\r\n vm.Get360VendorTeamData = function (teamid) {\r\n vm.userId = teamid;\r\n DashboardService.Get360VendorTeamData(loggedinUser, teamid, token).then(function (resp) {\r\n vm.vendorteam = resp.data;\r\n })\r\n }\r\n\r\n vm.GetUsersTicket = function (isCollapsed, status, id, type) {\r\n $scope.activeRow = id;\r\n $scope.isCollapsed = !isCollapsed;\r\n vm.userIdforStatus = id;\r\n vm.statusForTickets = status;\r\n vm.JobcountbyStatus = '';\r\n vm.filterType = type;\r\n vm.FilterArray();\r\n if (!vm.filterType) {\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }\r\n vm.getAllJobTicketsCopyForUsers(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }\r\n\r\n vm.getAllJobTicketsCopyForUsers = function (loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize) {\r\n var templateCols = \"\";\r\n vm.resetAllSelect();\r\n var templateCols = \"\";\r\n vm.UserticketList = [];\r\n PageIndex = PageIndex ? PageIndex : 1;\r\n vm.DateField = vm.DateField ? vm.DateField : \"CreatedOn\";\r\n ManualAssignationJobService.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, token, itemNames, itemValues, textItemNames, textItemValues, templateCols, templateItemNames, templateItemValues, vm.DateField, PageIndex, PageSize, vm.SortType, vm.SortField).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.UserticketList = resp.data.LightTicketModels;\r\n }\r\n\r\n }, function () {\r\n });\r\n\r\n }\r\n\r\n vm.Get360WorkSummary = function () {\r\n DashboardService.Get360WorkSummary(loggedinUser, token, vm.userId, witemNames, witemValues, uPageIndex, uPageSize, wsSDate, wsEDate, vm.OrderBy, vm.sorttype).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.statusCount = resp.data;\r\n vm.wsTicketList = resp.data.workSummaryData;\r\n $scope.totalWS = resp.data.WorkSummaryTotalCount;\r\n if (vm.wsTicketList.length < vm.userPageListCount)\r\n vm.wsListLength = $scope.totalWS;\r\n else\r\n vm.wsListLength = uPageIndex * vm.userPageListCount;\r\n if (uPageIndex == 1)\r\n vm.wspageindexCount = 1;\r\n else\r\n vm.wspageindexCount = (((uPageIndex - 1) * vm.userPageListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n }\r\n\r\n vm.FinanceFiltersList = [];\r\n vm.GetFinancialSummary = function () {\r\n DashboardService.GetFinancialSummary(loggedinUser, token, vm.userId, fnitemNames, fnitemValues, fPageIndex, fPageSize, startDate, endDate).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.paymentCount = resp.data.paymentsSummary;\r\n vm.FinanceFiltersList = resp.data.financialSummary360.financialLPSummaryList;\r\n $scope.totalFinList = resp.data.financialSummary360.count;\r\n if (vm.FinanceFiltersList.length < vm.financePageListCount)\r\n vm.financeListLength = $scope.totalFinList;\r\n else\r\n vm.financeListLength = fPageIndex * vm.financePageListCount;\r\n if (fPageIndex == 1)\r\n vm.fpageindexCount = 1;\r\n else\r\n vm.fpageindexCount = (((fPageIndex - 1) * vm.financePageListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n }\r\n\r\n\r\n vm.Get360SkillSummary = function (teamid) {\r\n vm.userId = teamid;\r\n DashboardService.Get360SkillSummary(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.skillsetData = resp.data;\r\n for (var i = 0; i < vm.skillsetData.CertificateDetails.length; i++) {\r\n vm.CertimageServices(vm.skillsetData.CertificateDetails[i].TrainingCertificate, i);\r\n }\r\n\r\n if (vm.skillsetData.PreviousCompanyDetailsList) {\r\n for (var i = 0; i < vm.skillsetData.PreviousCompanyDetailsList.length; i++) {\r\n if (vm.getFileType(vm.skillsetData.PreviousCompanyDetailsList[i].ExperienceLetter) == 'image')\r\n vm.PreviousCompnyExperienceLetterServices(vm.skillsetData.PreviousCompanyDetailsList[i].ExperienceLetter, i);\r\n }\r\n }\r\n\r\n if (vm.skillsetData.UserTrainingList) {\r\n for (var i = 0; i < vm.skillsetData.UserTrainingList.length; i++) {\r\n if (vm.getFileType(vm.skillsetData.UserTrainingList[i].TrainingImage) == 'image')\r\n vm.TrainingImageServices(vm.skillsetData.UserTrainingList[i].TrainingImage, i);\r\n if (vm.getFileType(vm.skillsetData.UserTrainingList[i].TrainingAttendance) == 'image')\r\n vm.TrainingAttendanceServices(vm.skillsetData.UserTrainingList[i].TrainingAttendance, i);\r\n }\r\n\r\n }\r\n })\r\n }\r\n\r\n vm.GetReviewAndRatings = function (teamid) {\r\n vm.userId = teamid;\r\n DashboardService.GetReviewAndRatings(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.reviewData = resp.data;\r\n vm.teamdata.InstallationratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.InstallationService_Avrage));\r\n vm.teamdata.InstallationblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.InstallationService_Avrage));\r\n vm.teamdata.SafetyratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.SafetyProtocols_Avrage));\r\n vm.teamdata.SafetyblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.SafetyProtocols_Avrage));\r\n vm.teamdata.VisitratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.VisitonTime_Avrage));\r\n vm.teamdata.VisitblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.VisitonTime_Avrage));\r\n vm.teamdata.CourteousratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.CourteousRespectful_Avrage));\r\n vm.teamdata.CourteousblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.CourteousRespectful_Avrage));\r\n vm.teamdata.ProratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.ProfessionalAppearance_Avrage));\r\n vm.teamdata.ProblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.ProfessionalAppearance_Avrage));\r\n vm.teamdata.ServiceratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.ServiceExperience_Avrage));\r\n vm.teamdata.ServiceblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.ServiceExperience_Avrage));\r\n })\r\n }\r\n\r\n\r\n vm.Get360VendorTeamData = function (teamid) {\r\n vm.userId = teamid;\r\n DashboardService.Get360VendorTeamData(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.vendorteam = resp.data;\r\n })\r\n }\r\n\r\n\r\n vm.GetToolsAndAssets = function (teamid) {\r\n vm.userId = teamid;\r\n DashboardService.GetToolsAndAssets(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.assetData = resp.data;\r\n })\r\n }\r\n\r\n vm.selectedAccounts = [];\r\n vm.ChangeDetectinAccountSection = function () {\r\n if(vm.selectedAccounts.length <= 5){\r\n vm.showAccountErrorMessage = false;\r\n }\r\n }\r\n vm.CreateDynamicAnalysis = function () {\r\n if(!vm.endDateForAnalysis){\r\n vm.endDateForAnalysis = new Date();\r\n }\r\n if (moment(vm.endDateForAnalysis) < moment(vm.startDateForAnalysis)) {\r\n vm.showErrorMessage = true;\r\n }\r\n if(vm.selectedAccounts.length > 5){\r\n vm.showAccountErrorMessage = true;\r\n }\r\n else{\r\n vm.Dynamic_Analysis_Form.submitted = true;\r\n var existingDataform = {\r\n \"AccountIdList\": vm.selectedAccounts,\r\n \"UploadedFileName\": vm.fileName,\r\n \"FileDescription\": vm.fileDescription,\r\n \"FromDate\": moment(vm.startDateForAnalysis).format(\"YYYY-MM-DD\"),\r\n \"ToDate\": moment(vm.endDateForAnalysis).format(\"YYYY-MM-DD\")\r\n }\r\n if(vm.selectedAccounts && vm.fileName && vm.fileDescription) {\r\n vm.Dynamic_Analysis_Form.$valid = true;\r\n }\r\n if (vm.Dynamic_Analysis_Form.$valid) {\r\n vm.DisableCreateButton(true);\r\n PlanningResourseMapService.CreateDynamicAnalysis(existingDataform, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.CloseExistingModal();\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n vm.CloseExistingModal();\r\n }\r\n })\r\n }\r\n }\r\n }\r\n\r\n function preprocessData(users) {\r\n if (users && users.length > 0) {\r\n angular.forEach(users, function (user) {\r\n user.locationCount = user.Locations && user.Locations.length > 0 ? user.Locations.length : 0;\r\n user.locationToolTip = \"\";\r\n if (user.locationCount > 0) {\r\n angular.forEach(user.Locations, function (loc) {\r\n user.locationToolTip += loc + \",\";\r\n })\r\n user.locationToolTip = user.locationToolTip.substr(0, user.locationToolTip.length - 1);\r\n }\r\n\r\n user.worklocationCount = user.UserWorkLocations && user.UserWorkLocations.length > 0 ? user.UserWorkLocations.length : 0;\r\n user.worklocationToolTip = \"\";\r\n if (user.worklocationCount > 0) {\r\n angular.forEach(user.UserWorkLocations, function (loc) {\r\n user.worklocationToolTip += loc + \",\";\r\n })\r\n user.worklocationToolTip = user.worklocationToolTip.substr(0, user.worklocationToolTip.length - 1);\r\n }\r\n\r\n user.SkillSetCount = user.SkillSet && user.SkillSet.length > 0 ? user.SkillSet.length : 0;\r\n user.SkillSetToolTip = \"\";\r\n if (user.SkillSetCount > 0) {\r\n angular.forEach(user.SkillSet, function (s) {\r\n user.SkillSetToolTip += s + \",\";\r\n })\r\n user.SkillSetToolTip = user.SkillSetToolTip.substr(0, user.SkillSetToolTip.length - 1);\r\n }\r\n\r\n user.OneJobSkillSetCount = user.OneJobDoneSkills && user.OneJobDoneSkills.length > 0 ? user.OneJobDoneSkills.length : 0;\r\n user.OneJobSkillSetToolTip = \"\";\r\n if (user.OneJobSkillSetCount > 0) {\r\n angular.forEach(user.OneJobDoneSkills, function (s) {\r\n user.OneJobSkillSetToolTip += s + \",\";\r\n })\r\n user.OneJobSkillSetToolTip = user.OneJobSkillSetToolTip.substr(0, user.OneJobSkillSetToolTip.length - 1);\r\n }\r\n\r\n });\r\n }\r\n }\r\n // for arrow rotate \r\n\r\n $scope.toggleSingleClass = function () {\r\n $scope.class_status = !$scope.class_status;\r\n };\r\n $scope.activatedButton = function () {\r\n $scope.isactivated = !$scope.isactivated;\r\n }\r\n $scope.activatedButton1 = function () {\r\n $scope.isactivated1 = !$scope.isactivated1;\r\n }\r\n $scope.activatedButton2 = function () {\r\n $scope.isactivated2 = !$scope.isactivated2;\r\n }\r\n $scope.activatedButton3 = function () {\r\n $scope.isactivated3 = !$scope.isactivated3;\r\n }\r\n $scope.activatedButton4 = function () {\r\n $scope.isactivated4 = !$scope.isactivated4;\r\n }\r\n $scope.activatedButton5 = function () {\r\n $scope.isactivated5 = !$scope.isactivated5;\r\n }\r\n $scope.activatedButton6 = function () {\r\n $scope.isactivated6 = !$scope.isactivated6;\r\n }\r\n $scope.activatedButton7 = function () {\r\n $scope.isactivated7 = !$scope.isactivated7;\r\n }\r\n $scope.activatedButton8 = function () {\r\n $scope.isactivated8 = !$scope.isactivated8;\r\n }\r\n $scope.activatedButton9 = function () {\r\n $scope.isactivated9 = !$scope.isactivated9;\r\n }\r\n $scope.activatedButton10 = function () {\r\n $scope.isactivated10 = !$scope.isactivated10;\r\n }\r\n $scope.activatedButton11 = function () {\r\n $scope.isactivated11 = !$scope.isactivated11;\r\n }\r\n $scope.activatedButton12 = function () {\r\n $scope.isactivated12 = !$scope.isactivated12;\r\n }\r\n $scope.activatedButton13 = function () {\r\n $scope.isactivated13 = !$scope.isactivated13;\r\n }\r\n $scope.activatedButton14 = function () {\r\n $scope.isactivated14 = !$scope.isactivated14;\r\n }\r\n $scope.activatedButton15 = function () {\r\n $scope.isactivated15 = !$scope.isactivated15;\r\n }\r\n $scope.activatedButton16 = function () {\r\n $scope.isactivated16 = !$scope.isactivated16;\r\n }\r\n $scope.activatedButton17 = function () {\r\n $scope.isactivated17 = !$scope.isactivated17;\r\n }\r\n $scope.activatedButton18 = function () {\r\n $scope.isactivated18 = !$scope.isactivated18;\r\n }\r\n $scope.activatedButton19 = function () {\r\n $scope.isactivated19 = !$scope.isactivated19;\r\n }\r\n\r\n $scope.activatedButton20 = function () {\r\n $scope.isactivated20 = !$scope.isactivated20;\r\n }\r\n $scope.activatedButton21 = function () {\r\n $scope.isactivated21 = !$scope.isactivated21;\r\n }\r\n $scope.activatedButton22 = function () {\r\n $scope.isactivated22 = !$scope.isactivated22;\r\n }\r\n $scope.activatedButton23 = function () {\r\n $scope.isactivated23 = !$scope.isactivated23;\r\n }\r\n $scope.activatedButton24 = function () {\r\n $scope.isactivated24 = !$scope.isactivated24;\r\n }\r\n $scope.activatedButton25 = function () {\r\n $scope.isactivated25 = !$scope.isactivated25;\r\n }\r\n $scope.activatedButton26 = function () {\r\n $scope.isactivated26 = !$scope.isactivated26;\r\n }\r\n $scope.activatedButton27 = function () {\r\n $scope.isactivated27 = !$scope.isactivated27;\r\n }\r\n $scope.activatedButton28 = function () {\r\n $scope.isactivated28 = !$scope.isactivated28;\r\n }\r\n $scope.activatedButton29 = function () {\r\n $scope.isactivated29 = !$scope.isactivated29;\r\n }\r\n $scope.activatedButton30 = function () {\r\n $scope.isactivated30 = !$scope.isactivated30;\r\n }\r\n $scope.activatedButton31 = function () {\r\n $scope.isactivated31 = !$scope.isactivated31;\r\n }\r\n $scope.activatedButton32 = function () {\r\n $scope.isactivated32 = !$scope.isactivated32;\r\n }\r\n $scope.activatedButton33 = function () {\r\n $scope.isactivated33 = !$scope.isactivated33;\r\n }\r\n $scope.activatedButton34 = function () {\r\n $scope.isactivated34 = !$scope.isactivated34;\r\n }\r\n $scope.activatedButton35 = function () {\r\n $scope.isactivated35 = !$scope.isactivated35;\r\n }\r\n $scope.activatedButton36 = function () {\r\n $scope.isactivated36 = !$scope.isactivated36;\r\n }\r\n $scope.activatedButton37 = function () {\r\n $scope.isactivated37 = !$scope.isactivated37;\r\n }\r\n $scope.activatedButton38 = function () {\r\n $scope.isactivated38 = !$scope.isactivated38;\r\n }\r\n $scope.activatedButton39 = function () {\r\n $scope.isactivated39 = !$scope.isactivated39;\r\n }\r\n var $range = $(\".js-range-slider\"),\r\n $from = $(\".from\"),\r\n $to = $(\".to\"),\r\n range,\r\n min = $range.data('min'),\r\n max = $range.data('max'),\r\n from,\r\n to;\r\n\r\n var updateValues = function () {\r\n $from.prop(\"value\", from);\r\n $to.prop(\"value\", to);\r\n };\r\n\r\n $range.ionRangeSlider({\r\n onChange: function (data) {\r\n from = data.from;\r\n to = data.to;\r\n updateValues();\r\n }\r\n });\r\n\r\n range = $range.data(\"ionRangeSlider\");\r\n var updateRange = function () {\r\n range.update({\r\n from: from,\r\n to: to\r\n });\r\n };\r\n\r\n $from.on(\"input\", function () {\r\n from = +$(this).prop(\"value\");\r\n if (from < min) {\r\n from = min;\r\n }\r\n if (from > to) {\r\n from = to;\r\n }\r\n updateValues();\r\n updateRange();\r\n });\r\n\r\n $to.on(\"input\", function () {\r\n to = +$(this).prop(\"value\");\r\n if (to > max) {\r\n to = max;\r\n }\r\n if (to < from) {\r\n to = from;\r\n }\r\n updateValues();\r\n\r\n\r\n updateRange();\r\n });\r\n }\r\n});\n\r\nangular.module('inspinia').service('PincodeFinderService', function (ApiURL, FreelancerURL, SchedulingAPI, $log, $http, $localStorage) {\r\n\r\n this.GetFreelancerDataByUserId = function (userId, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerUser/' + userId + '/' + loggedinUser + \"/byUserId\";\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetPinCodesAndJobInfo = function (loggedinUser,token,data) {\r\n var url = ApiURL + '/api/AddressMaster/GetPinCodesAndJobInfo';\r\n return $http.post(url, data,{\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n } \r\n\r\n this.GetMaxJobServedDistance = function (loggedinUser,token,data) {\r\n var url = ApiURL + '/api/AddressMaster/GetOptimizedJobServedDistance';\r\n return $http.post(url, data,{\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n } \r\n\r\n});\r\n\nangular.module('inspinia').controller('PincodeFinderController', function (PincodeFinderService,DashboardService, $stateParams, $scope, $uibModal, $timeout, $http, NgMap,$location,$anchorScroll,\r\n $uibModal, $localStorage, $state, UIURL, $timeout) {\r\n var vm = this;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var userId = $stateParams.userId;\r\n vm.DistanceBetween = 10;\r\n $scope.selectedPincode = null;\r\n var uPageIndex = 0;\r\n var uPageSize = 0;\r\n // $scope.selectedFiltersString = \"\";\r\n var uitemNames = \"Status\";\r\n var uitemValues = \"Approved|Completed\";\r\n vm.OrderBy = \"CreatedOn\";\r\n vm.sorttype = \"desc\";\r\n var startDate = moment().subtract(5, 'years').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.ticketdates = { startDate: moment().subtract(5, 'years'), endDate: moment() };\r\n vm.ticketranges = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n 'Till now': [moment().subtract(5, 'years'), moment()]\r\n };\r\n\r\n $scope.ticketFilters = {\r\n Approved: true,\r\n Cancelled: false,\r\n Completed: true,\r\n Assigned: false\r\n};\r\n\r\n$scope.pincodeFilters = {\r\n InProfileNoJobs: true,\r\n InProfileWithJobs: true,\r\n NotInProfileWithJobs: true,\r\n NotInProfileNoJobs: true\r\n};\r\n\r\n$scope.sortType = ''; // Default sorting column\r\n$scope.sortReverse = false; // Default sorting order\r\n\r\n$scope.sortBy = function (column) {\r\n if ($scope.sortType === column) {\r\n $scope.sortReverse = !$scope.sortReverse;\r\n } else {\r\n $scope.sortType = column;\r\n $scope.sortReverse = false;\r\n }\r\n};\r\n\r\n vm.outsidedateRangeChange = function (ev, picker) { \r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n vm.GetPinCodesAndJobInfo();\r\n };\r\n\r\n var token = $localStorage.token;\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n } else {\r\n\r\n NgMap.getMap().then(function (map) {\r\n vm.map = map;\r\n });\r\n\r\n vm.getRadius = function (num) {\r\n return Math.sqrt(num) * 100;\r\n }\r\n\r\n vm.backprvpage = function () {\r\n $state.go('index.AllUsersList', {\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n const freelancer = {\r\n url: \"../../assets/images/patterns/FL.png\"\r\n };\r\n const vendor = {\r\n url: \"../../assets/images/patterns/FV.png\"\r\n };\r\n const vendorTeam = {\r\n url: \"../../assets/images/patterns/FVT.png\"\r\n };\r\n\r\n vm.highlightRow = function (pincode) {\r\n $scope.selectedPincode = pincode;\r\n };\r\n\r\n\r\n vm.showMapWithUser = function () {\r\n NgMap.getMap().then(function (map) {\r\n if (vm.techData) {\r\n if (vm.techData.Role == 'Field Engineer') {\r\n icons = freelancer\r\n }\r\n else if (vm.techData.Role == 'Vendor Manager') {\r\n icons = vendor\r\n }\r\n else if (vm.techData.Role == 'Fixed Team') {\r\n icons = vendorTeam\r\n }\r\n var latLng = new google.maps.LatLng(vm.techData.FixedLatitude, vm.techData.FixedLongitude);\r\n const marker = new google.maps.Marker({ position: latLng, icon: icons });\r\n const contentString = \"

\" +vm.techData.Role + \"

Name: \" + vm.techData.FirstName + ' ' + vm.techData.LastName + \"SkillSet: \" + vm.techData.SkillSet + \"Address: \" + vm.techData.CurrentAdd1 + ' ' + vm.techData.CurrentAdd2 + \"City: \" + vm.techData.City + \"State: \" + vm.techData.CurrentState + \"Pincode: \" + vm.techData.CurrentPinCode + \"GeoLocation: \" + vm.techData.FixedGeoLocation + \"
\";\r\n var infowindow = new google.maps.InfoWindow({ content: contentString });\r\n marker.addListener(\"click\", function () {\r\n infowindow.open(map, marker);\r\n });\r\n marker.setMap(map);\r\n map.panTo(latLng);\r\n map.setZoom(12);\r\n if((vm.techData.FixedLatitude != 0) && (vm.techData.FixedLongitude != 0)){\r\n vm.GetMaxJobServedDistance();\r\n }\r\n }\r\n\r\n });\r\n }\r\n\r\n\r\n $scope.onSliderMouseUp = function () {\r\n vm.GetPinCodesAndJobInfo();\r\n };\r\n\r\n function clearTicketMarkers() {\r\n for (var i = 0; i < ticketMarkers.length; i++) {\r\n ticketMarkers[i].setMap(null);\r\n }\r\n }\r\n\r\n function clearPinCodeMarkers() {\r\n for (var i = 0; i < pinCodeMarkers.length; i++) {\r\n pinCodeMarkers[i].setMap(null);\r\n }\r\n }\r\n\r\n function deleteTicketMarkers() {\r\n clearTicketMarkers();\r\n ticketMarkers = [];\r\n }\r\n\r\n function deletePinCodeMarkers() {\r\n clearPinCodeMarkers();\r\n pinCodeMarkers = [];\r\n }\r\n\r\n const pincodesWithJobsInProfile = {\r\n url: \"https://maps.google.com/mapfiles/ms/micons/green-dot.png\"\r\n };\r\n const pincodesWithoutJobsInProfile = {\r\n url: \"https://maps.google.com/mapfiles/ms/micons/orange-dot.png\"\r\n };\r\n const pincodesNotExist = {\r\n url: \"https://maps.google.com/mapfiles/ms/micons/red-dot.png\"\r\n }\r\n const pincodesWithJobsNotInProfile = {\r\n url: \"https://maps.google.com/mapfiles/ms/micons/blue-dot.png\" \r\n }\r\n\r\n\r\n var ticketMarkers = [];\r\n var pinCodeMarkers = [];\r\n var bouncingMarker = null; \r\n vm.showMapWithTechBasedOnPincodes = function () {\r\n NgMap.getMap().then(function (map) {\r\n $scope.infoWindow = new google.maps.InfoWindow();\r\n $scope.Latlngbounds = new google.maps.LatLngBounds();\r\n var circleCenter = new google.maps.LatLng(vm.techData.FixedLatitude, vm.techData.FixedLongitude);\r\n var circleRadius = vm.DistanceBetween*1000;\r\n // Remove previous circle if it exists\r\n if (vm.circle) {\r\n vm.circle.setMap(null);\r\n }\r\n // Create a circle\r\n vm.circle = new google.maps.Circle({\r\n strokeColor: '#00FF00', // Green color\r\n strokeOpacity: 0.8,\r\n strokeWeight: 2,\r\n fillColor: '#00FF00',\r\n fillOpacity: 0.35,\r\n map: map,\r\n center: circleCenter,\r\n radius: circleRadius,\r\n });\r\n for (var i = 0; i < vm.userslistbyTkt.length; i++) {\r\n var data = vm.userslistbyTkt[i]\r\n var myLatlng = new google.maps.LatLng(data.Latitude, data.Longitude);\r\n // Check if data.PinCode is in vm.techData.Locations list\r\n // var pinCodeInLocations = vm.techData.Locations.includes(data.PinCode);\r\n // var icon = pinCodeInLocations ? iconsMap.start : iconsMap.end;\r\n // var marker = new google.maps.Marker({\r\n // position: myLatlng,\r\n // map: map,\r\n // icon: icon\r\n // });\r\n // }\r\n if($scope.pincodeFilters.InProfileNoJobs && data.InProfile && data.JobCount == 0){\r\n var icon = pincodesWithoutJobsInProfile;\r\n marker = new google.maps.Marker({\r\n position: myLatlng,\r\n map: map,\r\n icon: icon\r\n });\r\n }\r\n if($scope.pincodeFilters.InProfileWithJobs && data.InProfile && data.JobCount > 0){\r\n var icon = pincodesWithJobsInProfile;\r\n marker = new google.maps.Marker({\r\n position: myLatlng,\r\n map: map,\r\n icon: icon\r\n });\r\n }\r\n if($scope.pincodeFilters.NotInProfileWithJobs && data.JobCount > 0 && !data.InProfile){\r\n var icon = pincodesWithJobsNotInProfile;\r\n marker = new google.maps.Marker({\r\n position: myLatlng,\r\n map: map,\r\n icon: icon\r\n });\r\n }\r\n if($scope.pincodeFilters.NotInProfileNoJobs && data.JobCount == 0 && !data.InProfile){\r\n var icon = pincodesNotExist;\r\n marker = new google.maps.Marker({\r\n position: myLatlng,\r\n map: map,\r\n icon: icon\r\n });\r\n }\r\n // var marker = new google.maps.Marker({\r\n // position: myLatlng,\r\n // map: map,\r\n // icon: icon\r\n // });\r\n pinCodeMarkers.push(marker);\r\n (function (marker, data, index) {\r\n google.maps.event.addListener(marker, \"click\", function (e) {\r\n if (bouncingMarker && bouncingMarker !== marker) {\r\n bouncingMarker.setAnimation(null);\r\n }\r\n toggleBounce(marker); \r\n bouncingMarker = marker; \r\n // $scope.infoWindow.setContent(\"

Pincode Info

Distance: \" + data.Distance + 'KM' + \"PinCode: \" + data.PinCode + \"Locality: \" + data.Locality + \"Tehsil: \" + data.Tehsil + \"District: \" + data.District + \"City: \" + data.City + \"State: \" + data.State + \"Latitude: \" + data.Latitude + \"Longitude: \" + data.Longitude + \"
\");\r\n // $scope.infoWindow.open(map, marker);\r\n // Highlight the corresponding row in the table\r\n $scope.$apply(function () {\r\n $scope.selectedMarkerIndex = index;\r\n vm.scrollToRow(index);\r\n });\r\n });\r\n })(marker, data,i);\r\n $scope.Latlngbounds.extend(marker.position);\r\n map.fitBounds($scope.Latlngbounds);\r\n }\r\n\r\n });\r\n }\r\n\r\n\r\n $scope.openInfoWindow = function (index) {\r\n if (pinCodeMarkers[index] && vm.userslistbyTkt[index]) {\r\n var marker = pinCodeMarkers[index];\r\n var data = vm.userslistbyTkt[index];\r\n if (bouncingMarker && bouncingMarker !== marker) {\r\n bouncingMarker.setAnimation(null);\r\n }\r\n toggleBounce(marker); \r\n bouncingMarker = marker; \r\n // $scope.infoWindow.setContent(\"

Pincode Info

Distance: \" + data.Distance + 'KM' + \"Locality: \" + data.Locality + \"Tehsil: \" + data.Tehsil + \"District: \" + data.District + \"City: \" + data.City + \"State: \" + data.State + \"PinCode: \" + data.PinCode + \"Latitude: \" + data.Latitude + \"Longitude: \" + data.Longitude + \"
\");\r\n // $scope.infoWindow.open(map, marker);\r\n $scope.selectedMarkerIndex = index;\r\n }\r\n };\r\n\r\n // Function to toggle marker bounce\r\n function toggleBounce(marker) {\r\n marker.setAnimation(google.maps.Animation.BOUNCE);\r\n }\r\n\r\n vm.scrollToRow = function(index) {\r\n var rowId = 'pincodeRow_' + index;\r\n \r\n // Scroll to the element with the specified ID\r\n $location.hash(rowId);\r\n $anchorScroll();\r\n };\r\n\r\n vm.GetFreelancerDataByUserId = function () {\r\n PincodeFinderService.GetFreelancerDataByUserId(userId, loggedinUser, token).then(function (resp) {\r\n vm.techData = resp.data;\r\n vm.showMapWithUser();\r\n })\r\n }\r\n\r\n\r\n vm.GetFreelancerDataByUserId();\r\n\r\n vm.GetMaxJobServedDistance = function(){\r\n var fetchdataModel = {\r\n \"Range\": 10000,\r\n \"UserId\": userId,\r\n \"JobsFromDate\": \"2016-12-11\",\r\n \"JobsToDate\": endDate,\r\n \"ItemNames\": \"Status\",\r\n \"ItemValues\": uitemValues,\r\n \"DataFeild\": \"CreatedOn\",\r\n \"PageIndex\": 0,\r\n \"PageSize\": 0,\r\n \"OrderBy\": \"CreatedOn\",\r\n \"SortType\": \"desc\"\r\n }\r\n PincodeFinderService.GetMaxJobServedDistance(loggedinUser, token, fetchdataModel).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.DistanceBetween = resp.data;\r\n $timeout(function () {\r\n vm.GetPinCodesAndJobInfo();\r\n }, 1000);\r\n }\r\n })\r\n }\r\n\r\n vm.updatePincodesMapIcons = function () {\r\n deletePinCodeMarkers();\r\n vm.showMapWithTechBasedOnPincodes();\r\n };\r\n\r\n\r\n vm.GetPinCodesAndJobInfo = function(){\r\n deleteTicketMarkers();\r\n deletePinCodeMarkers();\r\n var fetchdataModel = {\r\n \"Range\": vm.DistanceBetween * 1000,\r\n \"UserId\": userId,\r\n \"JobsFromDate\": startDate,\r\n \"JobsToDate\": endDate,\r\n \"ItemNames\": \"Status\",\r\n \"ItemValues\": uitemValues,\r\n \"DataFeild\": \"CreatedOn\",\r\n \"PageIndex\": 0,\r\n \"PageSize\": 0,\r\n \"OrderBy\": \"CreatedOn\",\r\n \"SortType\": \"desc\"\r\n }\r\n PincodeFinderService.GetPinCodesAndJobInfo(loggedinUser, token, fetchdataModel).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.OverAllInfo = resp.data;\r\n vm.TicketListByFilter = resp.data.WorkSummary360Data.workSummaryData;\r\n vm.userslistbyTkt = resp.data.PinCodesInfoList;\r\n if($scope.mapType == 'showPincodes'){\r\n $timeout(function () {\r\n vm.showMapWithTechBasedOnPincodes();\r\n }, 1000);\r\n }\r\n // if(!$scope.showPincodes){\r\n // deletePinCodeMarkers();\r\n // }\r\n if($scope.mapType == 'showTickets'){\r\n $timeout(function () {\r\n vm.showMapBasedOnTickets();\r\n }, 1000);\r\n }\r\n // if (!$scope.showTickets){\r\n // deleteTicketMarkers();\r\n // }\r\n }\r\n })\r\n }\r\n\r\n vm.showMapBasedOnTickets = function () {\r\n NgMap.getMap().then(function (map) {\r\n $scope.infoWindow = new google.maps.InfoWindow();\r\n $scope.Latlngbounds = new google.maps.LatLngBounds();\r\n const ticketPlot = {\r\n url: \"https://maps.google.com/mapfiles/ms/micons/green-dot.png\"\r\n };\r\n icons = ticketPlot;\r\n for (var i = 0; i < vm.TicketListByFilter.length; i++) {\r\n var data = vm.TicketListByFilter[i]\r\n var myLatlng = new google.maps.LatLng(data.Latitude, data.Longitude);\r\n var marker = new google.maps.Marker({\r\n position: myLatlng,\r\n map: map,\r\n icon: icons\r\n });\r\n ticketMarkers.push(marker);\r\n (function (marker, data, index) {\r\n google.maps.event.addListener(marker, \"click\", function (e) { \r\n $scope.infoWindow.setContent(\"

Ticket Info

TicketId : \" + data.TicketID + \"Skill: \" + data.TicketType + \"Pincode: \" + data.Pincode + \"Status: \" + data.JobsStatus + \"
\");\r\n $scope.infoWindow.open(map, marker);\r\n });\r\n })(marker, data,i);\r\n $scope.Latlngbounds.extend(marker.position);\r\n map.fitBounds($scope.Latlngbounds);\r\n }\r\n\r\n });\r\n }\r\n $scope.mapType = 'showPincodes'; \r\n $scope.showTickets = false;\r\n $scope.showPincodes = true;\r\n $scope.showAllTickets = false;\r\n\r\n vm.displayAllTickets = function(){\r\n if($scope.showAllTickets){\r\n startDate = moment().subtract(5, 'years').format(\"YYYY-MM-DD\");\r\n endDate = moment().format(\"YYYY-MM-DD\");\r\n $scope.ticketFilters = {\r\n Approved: true,\r\n Cancelled: true,\r\n Completed: true,\r\n Assigned: true\r\n };\r\n vm.updateMapIcons();\r\n }\r\n if (!$scope.showAllTickets){\r\n $scope.ticketFilters = {\r\n Approved: true,\r\n Cancelled: false,\r\n Completed: true,\r\n Assigned: false\r\n };\r\n vm.updateMapIcons();\r\n }\r\n \r\n }\r\n\r\n vm.updateOptionalMapIcons = function() {\r\n if ($scope.mapType === 'showPincodes') {\r\n deleteTicketMarkers();\r\n $scope.pincodeFilters = {\r\n InProfileNoJobs: true,\r\n InProfileWithJobs: true,\r\n NotInProfileWithJobs: true,\r\n NotInProfileNoJobs: true\r\n };\r\n vm.GetPinCodesAndJobInfo();\r\n } else if ($scope.mapType === 'showTickets') {\r\n deletePinCodeMarkers();\r\n vm.updateMapIcons();\r\n }\r\n };\r\n\r\n\r\n // vm.updateTicketMapIcons = function(){\r\n // if($scope.showTickets){\r\n // $scope.ticketFilters = {\r\n // Approved: true,\r\n // Cancelled: false,\r\n // Completed: true,\r\n // Assigned: false\r\n // };\r\n // vm.updateMapIcons();\r\n // }\r\n // if (!$scope.showTickets){\r\n // deleteTicketMarkers();\r\n // }\r\n \r\n // }\r\n // vm.updatePincodeMapIcons = function(){\r\n // if($scope.showPincodes){\r\n // $scope.pincodeFilters = {\r\n // InProfileNoJobs: true,\r\n // InProfileWithJobs: true,\r\n // NotInProfileWithJobs: true,\r\n // NotInProfileNoJobs: true\r\n // };\r\n // vm.GetPinCodesAndJobInfo();\r\n // }\r\n // if(!$scope.showPincodes){\r\n // deletePinCodeMarkers();\r\n // }\r\n // }\r\n vm.updateMapIcons = function(){\r\n uitemValues = Object.keys($scope.ticketFilters)\r\n .filter(function (key) {\r\n return $scope.ticketFilters[key];\r\n })\r\n .join(\"|\");\r\n vm.GetPinCodesAndJobInfo();\r\n }\r\n\r\n var $range = $(\".js-range-slider\"),\r\n $from = $(\".from\"),\r\n $to = $(\".to\"),\r\n range,\r\n min = $range.data('min'),\r\n max = $range.data('max'),\r\n from,\r\n to;\r\n\r\n var updateValues = function () {\r\n $from.prop(\"value\", from);\r\n $to.prop(\"value\", to);\r\n };\r\n\r\n $range.ionRangeSlider({\r\n onChange: function (data) {\r\n from = data.from;\r\n to = data.to;\r\n updateValues();\r\n }\r\n });\r\n\r\n range = $range.data(\"ionRangeSlider\");\r\n var updateRange = function () {\r\n range.update({\r\n from: from,\r\n to: to\r\n });\r\n };\r\n\r\n $from.on(\"input\", function () {\r\n from = +$(this).prop(\"value\");\r\n if (from < min) {\r\n from = min;\r\n }\r\n if (from > to) {\r\n from = to;\r\n }\r\n updateValues();\r\n updateRange();\r\n });\r\n\r\n $to.on(\"input\", function () {\r\n to = +$(this).prop(\"value\");\r\n if (to > max) {\r\n to = max;\r\n }\r\n if (to < from) {\r\n to = from;\r\n }\r\n updateValues();\r\n updateRange();\r\n });\r\n }\r\n});\nangular.module('inspinia').controller('PlanningResourceController', function ($scope, $uibModal) {\r\n\r\n $scope.openModal = function () {\r\n $uibModal.open({\r\n templateUrl: 'customModal.html',\r\n controller: function ($scope, $uibModalInstance) {\r\n $scope.ok = function () {\r\n $uibModalInstance.close();\r\n };\r\n \r\n $scope.cancel = function () {\r\n $uibModalInstance.dismiss('cancel');\r\n };\r\n }\r\n })\r\n };\r\n\r\n\r\n $scope.openSaveReport = function () {\r\n $uibModal.open({\r\n templateUrl: 'saveReport.html',\r\n controller: function ($scope, $uibModalInstance) {\r\n $scope.ok = function () {\r\n $uibModalInstance.close();\r\n };\r\n \r\n $scope.cancel = function () {\r\n $uibModalInstance.dismiss('cancel');\r\n };\r\n }\r\n })\r\n };\r\n\r\n $scope.openEmail = function () {\r\n $uibModal.open({\r\n templateUrl: 'emailReport.html',\r\n size:'lg',\r\n controller: function ($scope, $uibModalInstance) {\r\n $scope.ok = function () {\r\n $uibModalInstance.close();\r\n };\r\n \r\n $scope.cancel = function () {\r\n $uibModalInstance.dismiss('cancel');\r\n };\r\n }\r\n })\r\n };\r\n\r\n $scope.priceSlider = 10;\r\n $scope.myTrigger = \"outsideClick\";\r\n\r\n $scope.toggleSingleClass = function() {\r\n $scope.class_status = !$scope.class_status;\r\n };\r\n \r\n});\nangular.module('inspinia').service('PlanningReportService', function (FreelancerURL, ApiURL,SchedulingAPI, LocationURL, $log, $http) {\r\n\r\n \r\n // https://perf.mymobiforce.com/schedulingapi/api/AssistedScheduling/GetSchedulingEvaluationResultReport?reqUserId=F00000000000\r\n this.GetSchedulingEvaluationResult = function(data,reqUserId,token){\r\n \tvar url = SchedulingAPI + '/api/AssistedScheduling/GetSchedulingEvaluationResultReport?reqUserId='+reqUserId;\r\n return $http.post(url,data,{\r\n \t\theaders:{'Content-Type':'application/json','Token':token, 'UserId':reqUserId}\r\n \t})\r\n\r\n }\r\n\r\n \r\n\r\n \r\n\r\n})\nangular.module('inspinia').controller('PlanningReportController', function ($scope, $uibModal) {\r\n\r\n $scope.openModal = function () {\r\n $uibModal.open({\r\n templateUrl: 'customModal.html',\r\n controller: function ($scope, $uibModalInstance) {\r\n $scope.ok = function () {\r\n $uibModalInstance.close();\r\n };\r\n \r\n $scope.cancel = function () {\r\n $uibModalInstance.dismiss('cancel');\r\n };\r\n }\r\n })\r\n };\r\n\r\n $scope.toggleSingleClass = function() {\r\n $scope.class_status = !$scope.class_status;\r\n };\r\n \r\n});\nangular.module('inspinia').service('PersistentReportService', function (PublicApiURL, ApiURL, $window, $http) {\r\n\r\n var vm = this;\r\n vm.setShowSuccess = function (success) {\r\n vm.showSuccess = success;\r\n }\r\n\r\n vm.setShowFailure = function (failure) {\r\n vm.showFailure = failure;\r\n }\r\n\r\nthis.ListPersistentReports = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/PersistentReport/GetPersistentReports';\r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId':loggedinUser }\r\n });\r\n}\r\n\r\n//https://perf.mymobiforce.com/publicapi/api/Report/DownloadPersistentReport?reportName=AllTicket21092312305953.csv\r\nthis.DownloadReport = function (reportName) { \r\n var url = PublicApiURL + \"/api/Report/DownloadPersistentReport?reportName=\" + reportName; \r\n $window.open(url, \"_blank\");\r\n}\r\n\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('PersistentReportController', function (PersistentReportService,ApiURL, $resource, toaster, $filter, $compile, $q, $state, $localStorage, $scope, DTOptionsBuilder,$window, DTColumnBuilder, $uibModal, $timeout) {\r\n\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\t\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\t\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\t\tPersistentReportService.setShowSuccess($scope.$parent.$parent.main.showSuccess);\r\n\t\tPersistentReportService.setShowFailure($scope.$parent.$parent.main.showFailure);\r\n\t\tvm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n\t\t$scope.$parent.$parent.main.implementSelectItems('ReportList', this);\r\n\t\t$scope.isNavCollapsed = true;\r\n\t\t$scope.isCollapsed = true;\r\n\t\t$scope.isCollapsedHorizontal = false;\r\n\t\tvm.dtInstance = {};\r\n\t\tvm.selectSingle = false;\r\n\t\tvm.disableExceptionButton = false;\r\n\t\t\r\n\t\tvm.GetListPersistentReports = function (loggedInUserId, reload) {\r\n\t\t\tPersistentReportService.ListPersistentReports(loggedInUserId, token).then(function (resp) {\r\n\t\t\t\tif (resp.data) {\r\n\t\t\t\t\tvm.ReportList = resp.data;\r\n\t\t\t\t\tvm.recteateTable();\r\n\t\t\t\t\tconsole.log(vm.ReportList);\r\n\t\t\t\t\tif(reload){\r\n\t\t\t\t\t\tvm.reloadData();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t\tvm.GetListPersistentReports(loggedinUser, false);\r\n\t\tvm.recteateTable = function () {\r\n\t\t\tvm.headerCompiled = false;\t\t\t\r\n\t\t\tvm.selected = {};\r\n\t\t\tvm.dtOptions = DTOptionsBuilder.fromFnPromise(function () {\r\n\t\t\t\tvar defer = $q.defer();\r\n\t\t\t\tdefer.resolve(vm.ReportList);\r\n\t\t\t\treturn defer.promise;\r\n\t\t\t})\r\n\t\t\t\t.withDOM('<\"html5buttons\"B>lTfgitp')\r\n\t\t\t\t.withPaginationType('full_numbers')\r\n\t\t\t\t.withOption('order', [1, 'desc'])\r\n\t\t\t\t.withOption('createdRow', function (row, data, dataIndex) {\r\n\t\t\t\t\t// Recompiling so we can bind Angular directive to the DT\r\n\t\t\t\t\t$compile(angular.element(row).contents())($scope);\r\n\t\t\t\t})\r\n\t\t\t\t.withOption('headerCallback', function (header) {\r\n\t\t\t\t\tif (!vm.headerCompiled) {\r\n\t\t\t\t\t\t// Use this headerCompiled field to only compile header once\r\n\t\t\t\t\t\tvm.headerCompiled = true;\r\n\t\t\t\t\t\t$compile(angular.element(header).contents())($scope);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.withBootstrap();\r\n\r\n\r\n\t\t\tvm.dtColumns = [\r\n\t\t\t\t//DTColumnBuilder.newColumn('DocId').withTitle('Doc Id').notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('Name').withTitle('Report Name').notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('CreatedOn').withTitle('Created On').withOption('type', 'date'),\t\r\n\t\t\t\tDTColumnBuilder.newColumn('Size').withTitle('Size').notSortable(),\t\r\n\t\t\t\tDTColumnBuilder.newColumn('DocId').withTitle('Download').notSortable().renderWith(function (data) {\t\t\t\t\t\r\n\t\t\t\t\treturn ' ' + '' + '';\r\n\t\t\t\t}),\t\r\n\r\n\t\t\t];\r\n\r\n\t\t\tvm.downloadPersistentReport = function (ReportNo) { \r\n\t\tPersistentReportService.DownloadReport(ReportNo).then(function(resp){ \r\n\t\t\tif (resp && resp.status == 200) { \r\n\t\t\t\tvm.showSuccess(\"Success\", \"Downloaded\");\r\n\t\t \t}\r\n\t\t \telse{\r\n\t\t \t\tvm.showFailure(\"Failure\", \"Unable to Downloaded due to server issue\");\r\n\t\t \t}\t\t\t\r\n\t\t })\r\n\t }\r\n\t}\r\n\r\n\t\r\n\r\n\tvm.reloadData = function(){\r\n\t\tvar resetPaging = true;\r\n\t vm.dtInstance.reloadData(resetPaging);\r\n\t }\r\n\r\n\t}\r\n});\nangular.module('inspinia').service('PepsicoCustomerProfileViewService', function (ApiURL, $http, FreelancerURL, LocationURL) {\r\n\r\n this.getUserInfo = function (userId,loggedInUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerUser/' + userId +'/'+ loggedInUser+ '/'+ 'byUserIdWithJobCount' ;\r\n\t return $http.get(url,{\r\n\t headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n\t })\r\n\t}\r\n\r\n}\r\n)\r\n\nangular.module('inspinia').controller('PepsicoCustomerProfileViewController', function ($scope, $state, $filter,MainService,TeamProfileService, OnBoardingFormService, $log, $stateParams, $localStorage, DTColumnDefBuilder, DTOptionsBuilder, ImageUrl) {\r\n var vm = this;\r\n var userId = $stateParams.userId;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n\r\n // if (!loggedinUser || !userId) {\r\n\r\n // $state.go('Login', {\r\n // reload: true\r\n // });\r\n\r\n // } else {\r\n // var loggedinUserRole = $localStorage.loggedInUser_Role;\r\n \r\n // }\r\n});\r\n\nangular.module('inspinia').service('PayOnlineService', function($http, ApiURL, $log, PublicApiURL){\r\n\t\r\n\t//https://product.mymobiforce.com/publicapi/api/CustomerJobCard/V0000001011/GetCustomerJobCard\r\n\tthis.getCustomerJobCard = function(jobCardId, success, failure){\r\n\t\t$http.get(PublicApiURL+\"/api/CustomerJobCard/\"+jobCardId+\"/GetCustomerJobCard\").then(function(res){\r\n\t\t\tif(res && res.data && success){\r\n\t\t\t\tsuccess(res.data);\r\n\t\t\t} else if(failure){\r\n\t\t\t\tfailure();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tthis.updatePaymentDetails = function(accountId, jobCardId, serviceCharge, serviceTax, accesoriesCharge, totalAmount, modeOfPayment, success, failure){\r\n\t\tvar data ={\r\n\t\t \"JobCardId\": jobCardId,\r\n\t\t \"accountId\": accountId,\r\n\t\t \"serviceCharge\": serviceCharge,\r\n\t\t \"serviceTax\": serviceTax,\r\n\t\t \"accesoriesCharge\": accesoriesCharge,\r\n\t\t \"totalAmount\": totalAmount,\r\n\t\t \"modeOfPayment\": modeOfPayment\r\n\t\t};\r\n\t\t$http.put(PublicApiURL+\"/api/CustomerJobCard/PutCustomerJobCardAmount\", data, \r\n\t\t\t{ headers: { 'Content-Type': 'application/json' } }).then(function(res){\r\n\t\t\tif(res && res.status==202 && success){\r\n\t\t\t\tsuccess();\r\n\t\t\t} else if(failure){\r\n\t\t\t\tfailure();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tthis.rateCustomer = function(accountId, jobCardId, rating, feedback, success, failure){\r\n\t\tvar data = {\r\n\t\t \"JobCardId\": jobCardId,\r\n\t\t \"accountId\": accountId,\r\n\t\t \"rating\": rating,\r\n\t\t \"feedback\": feedback\r\n\t\t};\r\n\t\t$http.put(PublicApiURL+\"/api/CustomerJobCard/PutCustomerJobCardRating\", data, \r\n\t\t\t{ headers: { 'Content-Type': 'application/json' } }).then(function(res){\r\n\t\t\tif(res && res.status==202 && success){\r\n\t\t\t\tsuccess();\r\n\t\t\t} else if(failure){\r\n\t\t\t\tfailure();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tthis.changeJobStatus = function(accountId, jobCardId, status, reason, success, failure){\r\n\t\tvar data = {\r\n\t\t\t\"JobCardId\":jobCardId,\r\n\t\t\t\"accountId\":accountId,\r\n\t\t\t\"requestStatus\":status,\r\n\t\t\t\"reason\":reason\r\n\t\t};\r\n\t\t$http.put(PublicApiURL+\"/api/CustomerJobCard/PutJobRequestByCustomer\", data, \r\n\t\t\t{ headers: { 'Content-Type': 'application/json' } }).then(function(res){\r\n\t\t\tif(res && res.status==202 && success){\r\n\t\t\t\tsuccess();\r\n\t\t\t} else if(failure){\r\n\t\t\t\tfailure();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tthis.getAllReasonStatements = function(success, failure){\r\n\t\t$http.get(PublicApiURL+\"/api/ReasonStatement/getallreasonstatements\").then(function(res){\r\n\t\t\tif(res && res.data && success){\r\n\t\t\t\tsuccess(res.data);\r\n\t\t\t} else if(failure){\r\n\t\t\t\tfailure();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tthis.createPaymentLink = function(data, success, failure){\r\n\t\t$http.post(PublicApiURL+\"/api/Payment/CreateConsumerPaymentLink\", data, \r\n\t\t\t{ headers: { 'Content-Type': 'application/json' } }).then(function(res){\r\n\t\t\tif(res && res.data && success){\r\n\t\t\t\tsuccess(res.data);\r\n\t\t\t} else if(failure){\r\n\t\t\t\tfailure();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n});\nangular.module('inspinia').controller('PayOnlineController', function (UIURL, $uibModal, $state, $localStorage, $scope, $stateParams, $log, PayOnlineService, ImageUrl, $window) {\r\n var vm = this;\r\n vm.accCheck = '';\r\n var jobCardId = $stateParams.jobCardId;\r\n var accountId = '';\r\n vm.showSuccess = $scope.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.main.showFailure;\r\n vm.round2Decimal = $scope.$parent.main.round2Decimal;\r\n\r\n vm.feedback = {};\r\n vm.customerJobCard = {};\r\n\r\n vm.payumoneyModel = {\r\n txnid:\"1\",\r\n hash:\"\",\r\n key:\"BcUfbhDR\",\r\n amount:120,\r\n productinfo:\"\",\r\n firstname:\"\",\r\n lastname:\"\",\r\n email:\"\",\r\n phone:\"\",\r\n surl:'http://www.google.com',\r\n furl:'http://www.google.com'\r\n };\r\n\r\n vm.getCustomerJobCard = function(){\r\n PayOnlineService.getCustomerJobCard(jobCardId, function(data){\r\n $log.log(\"res of getCustomerJobCard=\"+data);\r\n vm.customerJobCard = data; \r\n \r\n }, function(){\r\n vm.showFailure(\"Failed\", \"Unable to reach server\");\r\n }); \r\n }\r\n vm.getCustomerJobCard();\r\n\r\n vm.getTotalAmount = function(){\r\n return vm.customerJobCard.ServiceCharge;\r\n }\r\n\r\n vm.getAccessoriesCharges = function(){\r\n return !isNaN(vm.customerJobCard.AccesoriesCharge)?parseFloat(vm.customerJobCard.AccesoriesCharge):0;\r\n }\r\n\r\n vm.approveModalInstance={};\r\n vm.OpenApproveModal = function () {\r\n vm.RatingOfTicket = '';\r\n vm.aproveMessage = 'Please Rate !';\r\n vm.isApproveModalOpened = true;\r\n \r\n vm.approveModalInstance = $uibModal.open({\r\n templateUrl: 'approve_model.html',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.confirmationModalObj={};\r\n vm.OpenConfirmModal = function (boxType) {\r\n vm.boxType = boxType;\r\n vm.openConfirmationBox = true;\r\n \r\n vm.confirmationModalObj = $uibModal.open({\r\n templateUrl: 'confirmation.html',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.closeConfirmBox = function(){\r\n vm.openConfirmationBox = false;\r\n vm.confirmationModalObj.close();\r\n }\r\n vm.checkAccessoriesValue = function(value){\r\n //var acceValue = parseFloat(value);\r\n if (value!=\"\") {\r\n if (parseFloat(value)<50000 && !value.includes('-')) {\r\n vm.accCheck = false;\r\n }else if(value.includes('-')){\r\n vm.accCheck = true;\r\n }\r\n else{\r\n vm.accCheck = true;\r\n }\r\n }\r\n \r\n \r\n }\r\n\r\n vm.proceedToPay = function(){ \r\n var data = {\r\n \"name\": vm.customerJobCard.ConsumerName,\r\n \"phone\": vm.customerJobCard.ConsumerContact,\r\n \"jobCardId\":jobCardId,\r\n \"amount\": vm.getTotalAmount(),\r\n //\"redircet_url\": \"http://localhost:3000/#/RedirectPaymentUrl/\"\r\n \"redircet_url\": UIURL+\"/#/RedirectPaymentUrl/\"\r\n }\r\n PayOnlineService.createPaymentLink(data, function(res){\r\n $window.location.href = res.Link;\r\n }, function(){\r\n vm.showFailure(\"Failed\", \"Unable to get payment link, server is not responding correctly.\");\r\n }); \r\n }\r\n\r\n vm.rateCustomer = function(){\r\n\r\n if(vm.customerJobCard.JobStatus=='PaymentDone'){\r\n vm.feedbackStr = \"\";\r\n angular.forEach(vm.feedback, function(v, k){\r\n if(v){\r\n vm.feedbackStr+=k+\",\";\r\n }\r\n });\r\n if(vm.otherRatingFeedback && vm.otherRatingFeedback.length>0){\r\n vm.feedbackStr+=vm.otherRatingFeedback;\r\n } else {\r\n vm.feedbackStr=vm.feedbackStr.length>0?vm.feedbackStr.substr(0, vm.feedbackStr.length-1):null;\r\n }\r\n \r\n PayOnlineService.rateCustomer(accountId, jobCardId, vm.rating, vm.feedbackStr, function(){\r\n vm.customerJobCard.JobStatus=\"RatingDone\";\r\n vm.customerJobCard.CustomerGivenRating=vm.rating;\r\n vm.isApproveModalOpened = false;\r\n vm.approveModalInstance.close();\r\n vm.showSuccess(\"Success\", \"Rated successfully\");\r\n }, function(){\r\n vm.showFailure(\"Failed\", \"Unable to reach server\");\r\n });\r\n }\r\n }\r\n\r\n vm.getRatingMeaning = function(){\r\n switch(parseInt(vm.rating)){\r\n case 1: return \"Terrible\"; \r\n case 2: return \"Bad\";\r\n case 3: return \"Ok\";\r\n case 4: return \"Good\";\r\n case 5: return \"Excellent\";\r\n default: return \"\";\r\n }\r\n }\r\n\r\n vm.cancelTicket = function(){\r\n if(vm.customerJobCard.JobStatus=='Assigned'){\r\n PayOnlineService.changeJobStatus(accountId, jobCardId, \"Cancelled\", vm.cancelReason=='others'?vm.cancelOtherReason:vm.cancelReason, function(){\r\n vm.customerJobCard.JobStatus=\"Canceled\";\r\n vm.showSuccess(\"Success\", \"Canceled successfully\");\r\n vm.closeConfirmBox();\r\n }, function(){\r\n vm.showFailure(\"Failed\", \"Unable to reach server\");\r\n vm.closeConfirmBox();\r\n });\r\n } \r\n }\r\n\r\n vm.rescheduleTicket = function(){\r\n if(vm.customerJobCard.JobStatus=='Assigned'){\r\n PayOnlineService.changeJobStatus(accountId, jobCardId, \"Rescheduled\", vm.rescheduleReason=='others'?vm.rescheduleOtherReason:vm.rescheduleReason, function(){\r\n vm.customerJobCard.JobStatus=\"Rescheduled\";\r\n vm.showSuccess(\"Success\", \"Rescheduled successfully\");\r\n vm.closeConfirmBox();\r\n }, function(){\r\n vm.showFailure(\"Failed\", \"Unable to reach server\"); \r\n vm.closeConfirmBox();\r\n });\r\n }\r\n }\r\n\r\n vm.getReadableDate = function(){\r\n var time = new moment(vm.customerJobCard.JobDateTime, \"YYYY-MM-DDThh:mm:ss\");\r\n return time.format(\"DD MMM YYYY\")+\" at \"+time.format(\"LTS\");\r\n }\r\n\r\n vm.isJobStarted = function(){\r\n return (new moment(vm.customerJobCard.JobDateTime, \"YYYY-MM-DDThh:mm:ss\")<=new moment());\r\n }\r\n\r\n vm.showCancelButton = function(){\r\n // return (new moment(\"2018-01-31T18:15:00\", \"YYYY-MM-DDThh:mm:ss\")>=new moment().add({ minutes: 30})) && (vm.customerJobCard.JobStatus=='Assigned'); \r\n return (new moment(vm.customerJobCard.JobDateTime, \"YYYY-MM-DDThh:mm:ss\")>=new moment().add({ minutes: 30})) && (vm.customerJobCard.JobStatus=='Assigned'); \r\n }\r\n\r\n vm.reasons = {\"CancelationList\":[], \"RescheduleList\":[], \"RatingList\":[]};\r\n vm.getAllReasonStatements = function(){\r\n PayOnlineService.getAllReasonStatements(function(data){\r\n if(data && data.CancelationList){\r\n vm.reasons.CancelationList = data.CancelationList;\r\n vm.cancelReason = vm.reasons.CancelationList[0];\r\n }\r\n if(data && data.RescheduleList){\r\n vm.reasons.RescheduleList = data.RescheduleList;\r\n vm.rescheduleReason = vm.reasons.RescheduleList[0];\r\n }\r\n if(data && data.RatingList && data.RatingList.length>0){\r\n vm.reasons.RatingList = data.RatingList;\r\n }\r\n }, function(){\r\n\r\n });\r\n }\r\n vm.getAllReasonStatements();\r\n\r\n vm.getRatingFeedbackList = function(rating){\r\n var feedbackList = [];\r\n angular.forEach(vm.reasons.RatingList, function(d){\r\n if(d && d.Rating==rating){\r\n feedbackList=d.ReasonList;\r\n return;\r\n }\r\n });\r\n $log.log(\"getRatingFeedbackList result\", feedbackList);\r\n return feedbackList;\r\n }\r\n\r\n \r\n\r\n $scope.$on('$locationChangeStart', function (scope, next, current) {\r\n if (current.indexOf(\"/PaymentSection/\")>=0) {\r\n if(vm.openConfirmationBox){\r\n vm.closeConfirmBox();\r\n scope.preventDefault(); \r\n } else if(vm.isApproveModalOpened){\r\n vm.approveModalInstance.close();\r\n scope.preventDefault();\r\n }\r\n }\r\n });\r\n})\nangular.module('inspinia').service('PaymentSectionService', function($http, ApiURL, $log, PublicApiURL){\r\n\t\r\n\tthis.getCustomerJobCard = function(accountId, jobCardId, success, failure){\r\n\t\t$http.get(PublicApiURL+\"/api/CustomerJobCard/\"+jobCardId+\"/\"+accountId+\"/GetCustomerJobCard\").then(function(res){\r\n\t\t\tif(res && res.data && success){\r\n\t\t\t\tsuccess(res.data);\r\n\t\t\t} else if(failure){\r\n\t\t\t\tfailure();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tthis.getCustomerJobCardById = function(jobCardId, success, failure){\r\n\t\t$http.get(PublicApiURL+\"/api/CustomerJobCard/\"+jobCardId+\"/GetCustomerJobCard\").then(function(res){\r\n\t\t\tif(res && res.data && success){\r\n\t\t\t\tsuccess(res.data);\r\n\t\t\t} else if(failure){\r\n\t\t\t\tfailure();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tthis.updatePaymentDetails = function(accountId, jobCardId, serviceCharge, serviceTax, accesoriesCharge, totalAmount, modeOfPayment, success, failure){\r\n\t\tvar data ={\r\n\t\t \"JobCardId\": jobCardId,\r\n\t\t \"accountId\": accountId,\r\n\t\t \"serviceCharge\": serviceCharge,\r\n\t\t \"serviceTax\": serviceTax,\r\n\t\t \"accesoriesCharge\": accesoriesCharge,\r\n\t\t \"totalAmount\": totalAmount,\r\n\t\t \"modeOfPayment\": modeOfPayment\r\n\t\t};\r\n\t\t$http.put(PublicApiURL+\"/api/CustomerJobCard/PutCustomerJobCardAmount\", data, \r\n\t\t\t{ headers: { 'Content-Type': 'application/json' } }).then(function(res){\r\n\t\t\tif(res && res.status==202 && success){\r\n\t\t\t\tsuccess();\r\n\t\t\t} else if(failure){\r\n\t\t\t\tfailure();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tthis.rateCustomer = function(accountId, jobCardId, rating, feedback, success, failure){\r\n\t\tvar data = {\r\n\t\t \"JobCardId\": jobCardId,\r\n\t\t \"accountId\": accountId,\r\n\t\t \"rating\": rating,\r\n\t\t \"feedback\": feedback\r\n\t\t};\r\n\t\t$http.put(PublicApiURL+\"/api/CustomerJobCard/PutCustomerJobCardRating\", data, \r\n\t\t\t{ headers: { 'Content-Type': 'application/json' } }).then(function(res){\r\n\t\t\tif(res && res.status==202 && success){\r\n\t\t\t\tsuccess();\r\n\t\t\t} else if(failure){\r\n\t\t\t\tfailure();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tthis.changeJobStatus = function(accountId, jobCardId, status, reason, success, failure){\r\n\t\tvar data = {\r\n\t\t\t\"JobCardId\":jobCardId,\r\n\t\t\t\"accountId\":accountId,\r\n\t\t\t\"requestStatus\":status,\r\n\t\t\t\"reason\":reason\r\n\t\t};\r\n\t\t$http.put(PublicApiURL+\"/api/CustomerJobCard/PutJobRequestByCustomer\", data, \r\n\t\t\t{ headers: { 'Content-Type': 'application/json' } }).then(function(res){\r\n\t\t\tif(res && res.status==202 && success){\r\n\t\t\t\tsuccess();\r\n\t\t\t} else if(failure){\r\n\t\t\t\tfailure();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tthis.getAllReasonStatements = function(success, failure){\r\n\t\t$http.get(PublicApiURL+\"/api/ReasonStatement/getallreasonstatements\").then(function(res){\r\n\t\t\tif(res && res.data && success){\r\n\t\t\t\tsuccess(res.data);\r\n\t\t\t} else if(failure){\r\n\t\t\t\tfailure();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tthis.createPaymentLink = function(data, success, failure){\r\n\t\t$http.post(PublicApiURL+\"/api/Payment/createpaymentlink\", data, \r\n\t\t\t{ headers: { 'Content-Type': 'application/json' } }).then(function(res){\r\n\t\t\tif(res && res.data && success){\r\n\t\t\t\tsuccess(res.data);\r\n\t\t\t} else if(failure){\r\n\t\t\t\tfailure();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n});\nangular.module('inspinia').controller('PaymentSectionController', function (UIURL, $uibModal, $state, $localStorage, $scope, $stateParams, $log, PaymentSectionService, ImageUrl, $window) {\r\n var vm = this;\r\n vm.accCheck = '';\r\n var accountId = $stateParams.accountId;\r\n var jobCardId = $stateParams.jobCardId;\r\n \r\n vm.showSuccess = $scope.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.main.showFailure;\r\n vm.round2Decimal = $scope.$parent.main.round2Decimal;\r\n\r\n vm.feedback = {};\r\n vm.customerJobCard = {};\r\n\r\n vm.payumoneyModel = {\r\n txnid:\"1\",\r\n hash:\"\",\r\n key:\"BcUfbhDR\",\r\n amount:120,\r\n productinfo:\"\",\r\n firstname:\"\",\r\n lastname:\"\",\r\n email:\"\",\r\n phone:\"\",\r\n surl:'http://www.google.com',\r\n furl:'http://www.google.com'\r\n };\r\n\r\n vm.getCustomerJobCard = function(){\r\n PaymentSectionService.getCustomerJobCard(accountId, jobCardId, function(data){\r\n $log.log(\"res of getCustomerJobCard=\"+data);\r\n vm.customerJobCard = data;\r\n if($localStorage.rateJobParams){\r\n vm.customerJobCard.JobStatus=$localStorage.rateJobParams.status;\r\n vm.customerJobCard.CustomerGivenRating=$localStorage.rateJobParams.rating;\r\n delete $localStorage.rateJobParams;\r\n }\r\n if(data && data.JobStatus == 'PaymentDone'){\r\n // vm.OpenApproveModal();\r\n\r\n $state.go('RateJob', {\r\n accountId: accountId,\r\n jobCardId: jobCardId,\r\n reload: true\r\n });\r\n }\r\n }, function(){\r\n vm.showFailure(\"Failed\", \"Unable to reach server\");\r\n }); \r\n }\r\n vm.getCustomerJobCard();\r\n\r\n vm.getTotalAmount = function(){\r\n var totalAmouont = parseFloat(vm.customerJobCard.ServiceCharge) + parseFloat(vm.customerJobCard.ServiceTax);\r\n if(!isNaN(vm.customerJobCard.AccesoriesCharge) && vm.customerJobCard.AccesoriesCharge != \"\" && vm.customerJobCard.AccesoriesCharge != null && !vm.customerJobCard.AccesoriesCharge.includes('-')){\r\n totalAmouont = parseFloat(totalAmouont) + parseFloat(vm.customerJobCard.AccesoriesCharge);\r\n }\r\n totalAmouont = vm.round2Decimal(totalAmouont);\r\n return totalAmouont;\r\n }\r\n\r\n vm.getAccessoriesCharges = function(){\r\n return !isNaN(vm.customerJobCard.AccesoriesCharge)?parseFloat(vm.customerJobCard.AccesoriesCharge):0;\r\n }\r\n\r\n vm.approveModalInstance={};\r\n vm.OpenApproveModal = function () {\r\n vm.RatingOfTicket = '';\r\n vm.aproveMessage = 'Please Rate !';\r\n vm.isApproveModalOpened = true;\r\n \r\n vm.approveModalInstance = $uibModal.open({\r\n templateUrl: 'approve_model.html',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.confirmationModalObj={};\r\n vm.OpenConfirmModal = function (boxType) {\r\n vm.boxType = boxType;\r\n vm.openConfirmationBox = true;\r\n \r\n vm.confirmationModalObj = $uibModal.open({\r\n templateUrl: 'confirmation.html',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.closeConfirmBox = function(){\r\n vm.openConfirmationBox = false;\r\n vm.confirmationModalObj.close();\r\n }\r\n vm.checkAccessoriesValue = function(value){\r\n //var acceValue = parseFloat(value);\r\n if (value!=\"\") {\r\n if (parseFloat(value)<50000 && !value.includes('-')) {\r\n vm.accCheck = false;\r\n }else if(value.includes('-')){\r\n vm.accCheck = true;\r\n }\r\n else{\r\n vm.accCheck = true;\r\n }\r\n }\r\n \r\n \r\n }\r\n\r\n vm.proceedToPay = function(){debugger\r\n if(vm.customerJobCard.JobStatus=='RatingDone'){\r\n if(vm.payment_mode == 'COD'){ \r\n PaymentSectionService.updatePaymentDetails(accountId, jobCardId, parseFloat(vm.customerJobCard.ServiceCharge),\r\n parseFloat(vm.customerJobCard.ServiceTax), vm.getAccessoriesCharges(), vm.getTotalAmount(), vm.payment_mode,\r\n function(){\r\n vm.OpenApproveModal();\r\n vm.customerJobCard.JobStatus=\"PaymentDone\";\r\n vm.showSuccess(\"Success\", \"Payment done\");\r\n }, function(){\r\n vm.showFailure(\"Failed\", \"Unable to reach server\");\r\n });\r\n } else {\r\n var data = {\r\n \"name\": vm.customerJobCard.ConsumerName,\r\n \"phone\": vm.customerJobCard.ConsumerContact,\r\n \"amount\": vm.getTotalAmount(),\r\n \"redircet_url\": UIURL+\"/#/RedirectPaymentUrl/\"+vm.customerJobCard.ServiceCharge+\r\n \"/\"+vm.customerJobCard.ServiceTax+\"/\"+vm.getAccessoriesCharges()+\"/\"+vm.getTotalAmount()+\"/\"+accountId+\"/\"+jobCardId\r\n }\r\n PaymentSectionService.createPaymentLink(data, function(res){\r\n $window.location.href = res.Link;\r\n }, function(){\r\n vm.showFailure(\"Failed\", \"Unable to get payment link, server is not responding correctly.\");\r\n });\r\n }\r\n \r\n }\r\n \r\n \r\n }\r\n\r\n vm.rateCustomer = function(){\r\n\r\n if(vm.customerJobCard.JobStatus=='PaymentDone'){\r\n vm.feedbackStr = \"\";\r\n angular.forEach(vm.feedback, function(v, k){\r\n if(v){\r\n vm.feedbackStr+=k+\",\";\r\n }\r\n });\r\n if(vm.otherRatingFeedback && vm.otherRatingFeedback.length>0){\r\n vm.feedbackStr+=vm.otherRatingFeedback;\r\n } else {\r\n vm.feedbackStr=vm.feedbackStr.length>0?vm.feedbackStr.substr(0, vm.feedbackStr.length-1):null;\r\n }\r\n \r\n PaymentSectionService.rateCustomer(accountId, jobCardId, vm.rating, vm.feedbackStr, function(){\r\n vm.customerJobCard.JobStatus=\"RatingDone\";\r\n vm.customerJobCard.CustomerGivenRating=vm.rating;\r\n vm.isApproveModalOpened = false;\r\n vm.approveModalInstance.close();\r\n vm.showSuccess(\"Success\", \"Rated successfully\");\r\n }, function(){\r\n vm.showFailure(\"Failed\", \"Unable to reach server\");\r\n });\r\n }\r\n }\r\n\r\n vm.getRatingMeaning = function(){\r\n switch(parseInt(vm.rating)){\r\n case 1: return \"Terrible\"; \r\n case 2: return \"Bad\";\r\n case 3: return \"Ok\";\r\n case 4: return \"Good\";\r\n case 5: return \"Excellent\";\r\n default: return \"\";\r\n }\r\n }\r\n\r\n vm.cancelTicket = function(){\r\n if(vm.customerJobCard.JobStatus=='Assigned'){\r\n PaymentSectionService.changeJobStatus(accountId, jobCardId, \"Cancelled\", vm.cancelReason=='others'?vm.cancelOtherReason:vm.cancelReason, function(){\r\n vm.customerJobCard.JobStatus=\"Canceled\";\r\n vm.showSuccess(\"Success\", \"Canceled successfully\");\r\n vm.closeConfirmBox();\r\n }, function(){\r\n vm.showFailure(\"Failed\", \"Unable to reach server\");\r\n vm.closeConfirmBox();\r\n });\r\n } \r\n }\r\n\r\n vm.rescheduleTicket = function(){\r\n if(vm.customerJobCard.JobStatus=='Assigned'){\r\n PaymentSectionService.changeJobStatus(accountId, jobCardId, \"Rescheduled\", vm.rescheduleReason=='others'?vm.rescheduleOtherReason:vm.rescheduleReason, function(){\r\n vm.customerJobCard.JobStatus=\"Rescheduled\";\r\n vm.showSuccess(\"Success\", \"Rescheduled successfully\");\r\n vm.closeConfirmBox();\r\n }, function(){\r\n vm.showFailure(\"Failed\", \"Unable to reach server\"); \r\n vm.closeConfirmBox();\r\n });\r\n }\r\n }\r\n\r\n vm.getReadableDate = function(){\r\n var time = new moment(vm.customerJobCard.JobDateTime, \"YYYY-MM-DDThh:mm:ss\");\r\n return time.format(\"DD MMM YYYY\")+\" at \"+time.format(\"LTS\");\r\n }\r\n\r\n vm.isJobStarted = function(){\r\n return (new moment(vm.customerJobCard.JobDateTime, \"YYYY-MM-DDThh:mm:ss\")<=new moment());\r\n }\r\n\r\n vm.showCancelButton = function(){\r\n // return (new moment(\"2018-01-31T18:15:00\", \"YYYY-MM-DDThh:mm:ss\")>=new moment().add({ minutes: 30})) && (vm.customerJobCard.JobStatus=='Assigned'); \r\n return (new moment(vm.customerJobCard.JobDateTime, \"YYYY-MM-DDThh:mm:ss\")>=new moment().add({ minutes: 30})) && (vm.customerJobCard.JobStatus=='Assigned'); \r\n }\r\n\r\n vm.reasons = {\"CancelationList\":[], \"RescheduleList\":[], \"RatingList\":[]};\r\n vm.getAllReasonStatements = function(){\r\n PaymentSectionService.getAllReasonStatements(function(data){\r\n if(data && data.CancelationList){\r\n vm.reasons.CancelationList = data.CancelationList;\r\n vm.cancelReason = vm.reasons.CancelationList[0];\r\n }\r\n if(data && data.RescheduleList){\r\n vm.reasons.RescheduleList = data.RescheduleList;\r\n vm.rescheduleReason = vm.reasons.RescheduleList[0];\r\n }\r\n if(data && data.RatingList && data.RatingList.length>0){\r\n vm.reasons.RatingList = data.RatingList;\r\n }\r\n }, function(){\r\n\r\n });\r\n }\r\n vm.getAllReasonStatements();\r\n\r\n vm.getRatingFeedbackList = function(rating){\r\n var feedbackList = [];\r\n angular.forEach(vm.reasons.RatingList, function(d){\r\n if(d && d.Rating==rating){\r\n feedbackList=d.ReasonList;\r\n return;\r\n }\r\n });\r\n $log.log(\"getRatingFeedbackList result\", feedbackList);\r\n return feedbackList;\r\n }\r\n\r\n vm.getImageUrl = function(image){\r\n return ImageUrl + \"/\" +image;\r\n }\r\n\r\n $scope.$on('$locationChangeStart', function (scope, next, current) {\r\n if (current.indexOf(\"/PaymentSection/\")>=0) {\r\n if(vm.openConfirmationBox){\r\n vm.closeConfirmBox();\r\n scope.preventDefault(); \r\n } else if(vm.isApproveModalOpened){\r\n vm.approveModalInstance.close();\r\n scope.preventDefault();\r\n }\r\n }\r\n });\r\n})\nangular.module('inspinia').service('orderdetailService', function (ApiURL, SchedulingAPI, $window, $localStorage, $http) {\r\n\r\n // var vm = this;\r\n // vm.setShowSuccess = function (success) {\r\n // vm.showSuccess = success;\r\n // }\r\n\r\n // vm.setShowFailure = function (failure) {\r\n // vm.showFailure = failure;\r\n // }\r\n\r\n // this.GetUserAllSalesOrderDetail = function (orderStatus, token) {\r\n // var url = ApiURL + '/api/ZohoInventoryController/GetUserAllSalesOrderDetail?OrderStatus=' + orderStatus;\r\n // return $http.get(url, {\r\n // headers: {\r\n // 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n // }\r\n // });\r\n // }\r\n\r\n this.GetSalesOrdetailByTicketId = function (ticketId,token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/GetSalesOrdetailByTicketId?ZOHOSalesOrderId=' + ticketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n this.GetShipmentOrder = function (salesOrderNumber,token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/GetShipmentOrder?salesOrderNumber=' + salesOrderNumber;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('OrderDetailViewController', function (toaster, MainService, orderdetailService, ManualAssignationJobService, $window, PublicApiURL, ApiURL, \r\n\t$state, $localStorage, $scope, JobTicketViewService, DTOptionsBuilder, DTColumnBuilder,\r\n\t$uibModal, inventorynewService, jobCreationService, ReportService, $filter, $q, $timeout, $sce, $rootScope, $stateParams, $compile, UIURL, ImageUrl) {\r\n\tvm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvm.NokiaTableHeaderChange = $localStorage.accountConfig.NokiaTableHeaderChange;\r\n\tvar loggedinUserName = $localStorage.loggedInUser_FirstName + \" \" + $localStorage.loggedInUser_LastName;\r\n\tvar token = $localStorage.token;\r\n\tvar loggedinUserImage = $localStorage.picture;\r\n\tvar TicketOrderId = $stateParams.order_id;\r\n\tvm.SearchTag = \"\";\r\n\tvm.showMapPermision = false;\r\n\tvm.superPower = false;\r\n\t$scope.isCollapsed = true;\r\n\tvm.UserId = \"\";\r\n\tvm.CurrencySetting = $localStorage.accountConfig.CurrencySetting;\r\n\tvm.CallPatchEnable = $localStorage.accountConfig.CallPatchEnable;\r\n\tvm.Role = $localStorage.loggedInUser_Role;\r\n\tvm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n\tvm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\tvm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n\tvar accountConfig = $localStorage.accountConfig;\r\n\tvm.AccountId = $localStorage.accountConfig.AccountId;\r\n\tvm.isDefective = false;\r\n\tvm.ImageArray = [];\r\n\tvm.states = [];\r\n\tvm.cities = [];\r\n\tvm.isShow = true;\r\n\tvm.showEditList = false;\r\n\tvm.showAction = true;\r\n\tvm.dataFilters = [];\r\n\tvm.CancellationReasons = '';\r\n\tvm.IsCommissionDetect = false;\r\n\tvm.urlForNonFeasible = '';\r\n\tvm.currentStepModel = {};\r\n\tvm.dtInstanceNearBy = {};\r\n\tvm.dtInstanceFixed = {};\r\n\tvm.dtInstance = {};\r\n\tvm.dtInstancePre = {};\r\n\tvm.SparePartAddress = {};\r\n\tvm.disableBroadcastButton = false;\r\n\tvm.disableRouteButton = false;\r\n\tvm.IsChatEnabled = true;\r\n\tvm.showPrefer = '';\r\n\tvm.disabledDrop = false;\r\n\tvm.showloading = false\r\n\tvm.ComplianceDisable = true;\r\n\tvm.PincodeEnabled = true;\r\n\tvm.passSerialNum = false;\r\n\tvm.PrivateDisable = false;\r\n\tvm.messageText = \"\";\r\n\tvm.PriceLineItemList = [];\r\n\tvm.LineItemDataList = [];\r\n\tvm.serviceType = '';\r\n\tvm.AppointmentTime = '';\r\n\tvm.ticketPrice = \"\";\r\n\tvm.freelancerPrice = \"\";\r\n\tvm.tPrice = \"\";\r\n\tvm.commission = \"\";\r\n\tvm.tax = \"\";\r\n\tvm.freelancerPricetemp = \"\";\r\n\tvm.LineItemImage = null;\r\n\tvm.edit = true;\r\n\tvm.edit1 = false;\r\n\t// vm.myvalue = false;\r\n\tvm.BonusPenaltyList = [];\r\n\tvm.BonusList = [];\r\n\tvm.PenaltyList = [];\r\n\tvm.ShipmentDetails = \"\";\r\n\tvm.LineitemActivityList = [];\r\n\tvm.LineItemCategoryType = \"\";\r\n\tvm.projectId = \"\";\r\n\tvm.selectedprojectId = \"\";\r\n\tvm.dynamicpricing = \"\";\r\n\tvm.FreelancrPriceEnable = \"\";\r\n\tvm.PercentageEnable = \"\";\r\n\tvar price = 0;\r\n\tvar Quantity = 1;\r\n\tvar totalFPrice = 0.0;\r\n\tvm.BasePriceTotal = 0.0;\r\n\tvm.dFreelancerPriceTotal = 0.0;\r\n\tvm.PercentageTotal = 0.0;\r\n\tvm.FreelancerPriceTotal = 0.0;\r\n\tvm.MobiforceCommission = $localStorage.accountConfig.MobiforceCommissionPercentage;\r\n\tvm.IsFinalApproval = false;\r\n\tvm.disableExceptionButton = false;\r\n\t// vm.IsWithInDays = true;\r\n\tvm.StockCountToAssign = 0;\r\n\tvm.PartActionType = \"\";\r\n\tvm.feedbackremark = '';\r\n\tvm.PlannedClosureDateType = \"first\";\r\n\tvm.WithInDays = 1;\r\n\tvm.WithInDaysNumbers = [1, 2, 3, 4, 5];\r\n\tvm.IsSafetyAudit = 'Not Done';\r\n\tvm.ratingwarning = \"\";\r\n\tvm.approvalRemark = '';\r\n\tvm.MaterialStatusList = [\"Dispatched\", \"Delivered\", \"Partially Delivered\", \"Not Delivered\"];\r\n\tvm.IsMaterialDelivered = $localStorage.accountConfig.IsMaterialDelivered;\r\n\tvm.SelectedMaterial = '';\r\n\tvm.FreelancerAccess = $localStorage.accountConfig.FreelancerAccess;\r\n\tvm.ZOHOWarehouseName = '';\r\n\tvm.customerJobCard = [];\r\n\tvm.PageIndex = 1;\r\n\tvm.PageSize = 10;\r\n\tstartDate = '';\r\n\tendDate = '';\r\n\tvm.sortType = \"\"\r\n vm.orderBy = \"\";\r\n\tvm.itemValue = '';\r\n\tvm.OrderStatus = \"\";\r\n\tvm.SearchText = \"\";\r\n\tvar uPageIndex = 1;\r\n\tvar uPageSize = 10;\r\n\tvar dPageSize = 10;\r\n\tvar dPageIndex = 1;\r\n\tvar fPageIndex = 1;\r\n\tvar fPageSize = 10;\r\n\tvar ePageIndex = 1;\r\n\tvar ePageSize = 10;\r\n\tvm.userPageListCount = 10;\r\n\tvm.financePageListCount = 10;\r\n\tvm.defectedPageListCount = 10;\r\n\tvm.brandName = \"\";\r\n\tvm.partName = \"\";\r\n\tvm.productGroup = \"\";\r\n\tvm.BrandListName = \"\";\r\n\tvm.allSalesOrderPageListCount = 10;\r\n\tvm.allHistoryOrderPageListCount = 10;\r\n\tvm.pageListCounts = [10, 20, 30, 50];\r\n\tvar startDate = moment().subtract(7, 'days').format(\"YYYY-MM-DD\");\r\n\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\tvm.dateField = \"CreatedOn\";\r\n\tvm.ticketdates = { startDate: moment().subtract(7, 'day'), endDate: moment() };\r\n\tvm.ticketranges = {\r\n\t\t'Today': [moment(), moment()],\r\n\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t'This month': [moment().startOf('month'), moment().endOf('month')]\r\n\t};\r\n\t\r\n\tvm.outsidedateRangeChange = function (ev, picker) {\r\n\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\tvm.ApplyFilter();\r\n\t};\r\n\tif (accountConfig && accountConfig.EnableRegion) {\r\n\t\tvm.EnableRegion = accountConfig.EnableRegion;\r\n\t} else {\r\n\t\tvm.EnableRegion = false;\r\n\t}\r\n\t\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\r\n\t\tvar token = $localStorage.token;\r\n\t\tvm.ticketType = $stateParams.type;\r\n\t\tvm.TicketId = $stateParams.ticketId;\r\n\r\n\t\tvm.activeTab = 'Details'; \r\n\r\n\t\tvm.activateTab = function(tab) {\r\n vm.activeTab = tab;\r\n };\r\n\r\n// \t\tvm.TicketPartOrderList = [];\r\n// \t\tvm.GetUserAllSalesOrderDetailforWeb = function () {\r\n// \t\t\torderdetailService.GetUserAllSalesOrderDetailforWeb(token, vm.OrderStatus, vm.SearchText, vm.partName, vm.brandName, vm.productGroup,vm.orderBy,vm.sortType, fPageIndex, fPageSize, startDate, endDate, vm.dateField).then(function (resp) {\r\n// \t\t\t\tif (resp && resp.data) {\r\n// \t\t\t\t\tvm.TicketPartOrderList = resp.data.zohoItemRequestModels;\r\n// \t\t\t\t\t$scope.totalFinList = resp.data.Count;\r\n// \t\t\t\t\tif (vm.TicketPartOrderList.length < vm.allSalesOrderPageListCount)\r\n// \t\t\t\t\t\tvm.financeListLength = $scope.totalFinList;\r\n// \t\t\t\t\telse\r\n// \t\t\t\t\t\tvm.financeListLength = fPageIndex * vm.allSalesOrderPageListCount;\r\n// \t\t\t\t\tif (fPageIndex == 1)\r\n// \t\t\t\t\t\tvm.fpageindexCount = 1;\r\n// \t\t\t\t\telse\r\n// \t\t\t\t\t\tvm.fpageindexCount = (((fPageIndex - 1) * vm.allSalesOrderPageListCount) + 1);\r\n// \t\t\t\t}\r\n// \t\t\t}, function (error) {\r\n\r\n// \t\t\t})\r\n// \t\t}\r\n// vm.GetUserAllSalesOrderDetailforWeb();\r\n\r\nvm.Ticketdetailsview = function (ticketId) {\r\n\t$state.go('index.JobDetailView', {\r\n\t\tticketId : ticketId\r\n\t}, {\r\n\t reload: true\r\n\t});\r\n } \r\n\r\nvm.GetShipmentOrder = function () {\r\n\torderdetailService.GetShipmentOrder(TicketOrderId, token).then(function (resp) {\r\n\t\tif (resp && resp.data) {\r\n\t\t\tvm.TrackingDetails = resp.data;\r\n\t\t}\r\n\t});\r\n}\r\nvm.GetSalesOrdetailByTicketId = function () {\r\n\torderdetailService.GetSalesOrdetailByTicketId(TicketOrderId, token).then(function (resp) {\r\n\t\tif (resp && resp.data) {\r\n\t\t\tvm.Ticketdetails = resp.data;\r\n\t\t}\r\n\t});\r\n}\r\nvm.GetSalesOrdetailByTicketId();\r\n\t}\r\n\r\n\t\r\n\t})\nangular.module('inspinia').service('OrdersListService', function (ApiURL, AcessoriesURL, $window, $localStorage, $http) {\r\n\r\n this.GetAllOrdersByFilter = function (token, data) {\r\n var url = AcessoriesURL + '/api/MMFOrder/GetAllOrdersByFilter';\r\n return $http.post(url, data,{\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetOrdersDashboardByFilter = function (token, data) {\r\n var url = AcessoriesURL + '/api/MMFOrder/GetOrdersDashboardByFilter';\r\n return $http.post(url, data,{\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.UpdateOrderStatus = function (token, data) {\r\n var url = AcessoriesURL + '/api/MMFOrder/UpdateOrderStatus';\r\n return $http.put(url, data,{\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetShipmentOrder = function (salesOrderNumber, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/GetShipmentOrder?salesOrderNumber=' + salesOrderNumber;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('OrdersListController', function (OrdersListService, $window, ApiURL,\r\n\t$state, $localStorage, $scope, $uibModal, $timeout, $stateParams) {\r\n\tvm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tvm.SearchTag = \"\";\r\n\tvm.showMapPermision = false;\r\n\tvm.superPower = false;\r\n\t$scope.isCollapsed = true;\r\n\tvm.UserId = \"\";\r\n\tvm.CurrencySetting = $localStorage.accountConfig.CurrencySetting;\r\n\tvm.Role = $localStorage.loggedInUser_Role;\r\n\tvm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n\tvm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\tvm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n\tvar accountConfig = $localStorage.accountConfig;\r\n\tvm.AccountId = $localStorage.accountConfig.AccountId;\r\n\tvm.ImageArray = [];\r\n\tvm.states = [];\r\n\tvm.cities = [];\r\n\tvm.isShow = true;\r\n\tvm.showEditList = false;\r\n\tvm.showAction = true;\r\n\tvm.dataFilters = [];\r\n\tvm.CancellationReasons = '';\r\n\tvm.IsCommissionDetect = false;\r\n\tvm.urlForNonFeasible = '';\r\n\tvm.currentStepModel = {};\r\n\tvm.dtInstanceNearBy = {};\r\n\tvm.dtInstanceFixed = {};\r\n\tvm.dtInstance = {};\r\n\tvm.dtInstancePre = {};\r\n\tvm.SparePartAddress = {};\r\n\tvm.disableBroadcastButton = false;\r\n\tvm.disableRouteButton = false;\r\n\tvm.IsChatEnabled = true;\r\n\tvm.showPrefer = '';\r\n\tvm.disabledDrop = false;\r\n\tvm.showloading = false\r\n\tvm.ComplianceDisable = true;\r\n\tvm.PincodeEnabled = true;\r\n\tvm.passSerialNum = false;\r\n\tvm.PrivateDisable = false;\r\n\tvm.messageText = \"\";\r\n\tvm.PriceLineItemList = [];\r\n\tvm.LineItemDataList = [];\r\n\tvm.lineItem = \"\";\r\n\tvm.serviceType = '';\r\n\tvm.AppointmentTime = '';\r\n\tvm.ticketPrice = \"\";\r\n\tvm.freelancerPrice = \"\";\r\n\tvm.edit = true;\r\n\tvm.BonusPenaltyList = [];\r\n\tvm.BonusList = [];\r\n\tvm.PenaltyList = [];\r\n\tvm.ShipmentDetails = \"\";\r\n\tvm.LineitemActivityList = [];\r\n\tvm.LineItemCategoryType = \"\";\r\n\tvm.projectId = \"\";\r\n\tvm.selectedprojectId = \"\";\r\n\tvm.dynamicpricing = \"\";\r\n\tvm.IsFinalApproval = false;\r\n\tvm.disableExceptionButton = false;\r\n\tvm.ZOHOWarehouseName = '';\r\n\tvm.customerJobCard = [];\r\n\tvm.PageIndex = 1;\r\n\tvm.PageSize = 10;\r\n\tstartDate = '';\r\n\tendDate = '';\r\n\tvm.sortType = \"\"\r\n\tvm.orderBy = \"\";\r\n\tvm.itemValue = '';\r\n\tvm.OrderStatus = \"\";\r\n\tvm.PaymentStatus = \"\";\r\n\tvm.SearchText = \"\";\r\n\tvar fPageIndex = 1;\r\n\tvar fPageSize = 10;\r\n\tvm.userPageListCount = 10;\r\n\tvm.financePageListCount = 10;\r\n\tvm.defectedPageListCount = 10;\r\n\tvm.brandName = \"\";\r\n\tvm.partName = \"\";\r\n\tvm.productGroup = \"\";\r\n\tvm.BrandListName = \"\";\r\n\tvm.allSalesOrderPageListCount = 10;\r\n\tvm.allHistoryOrderPageListCount = 10;\r\n\tvm.pageListCounts = [10, 20, 30, 50];\r\n\tvar startDate = moment().subtract(30, 'days').format(\"YYYY-MM-DD\");\r\n\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\tvm.dateField = \"CreatedOn\";\r\n\tvm.ticketdates = { startDate: moment().subtract(30, 'day'), endDate: moment() };\r\n\tvm.ticketranges = {\r\n\t\t'Today': [moment(), moment()],\r\n\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t'This month': [moment().startOf('month'), moment().endOf('month')],\r\n\t\t'Till now': [moment().subtract(5, 'years'), moment()]\r\n\t};\r\n\r\n\tvm.outsidedateRangeChange = function (ev, picker) {\r\n\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\tvm.GetAllOrdersByFilter();\r\n\t\tvm.GetOrdersDashboardByFilter();\r\n\t};\r\n\tif (accountConfig && accountConfig.EnableRegion) {\r\n\t\tvm.EnableRegion = accountConfig.EnableRegion;\r\n\t} else {\r\n\t\tvm.EnableRegion = false;\r\n\t}\r\n\r\n\tvm.PartsList = [\"CCTV\", \"Fan\", \"Geyser\"];\r\n\tvm.TemplateData = [];\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\r\n\t\tvar token = $localStorage.token;\r\n\t\tvm.ticketType = $stateParams.type;\r\n\t\tvm.TicketId = $stateParams.ticketId;\r\n\r\n\t\tvm.getPicUrl = function (ItemImage) {\r\n\t\t\treturn ItemImage ? ApiURL + \"/api/ZohoInventoryController/GetItemImage?item=\" + ItemImage : null;\r\n\t\t}\r\n\r\n\t\tvm.showPartDetails = false;\r\n\r\n\t\tvm.OpenSidePanel = function (s) {\r\n\t\t\tvm.PartDetails = s;\r\n\t\t\tvm.showPartDetails = true;\r\n\t\t}\r\n\r\n\t\tvm.trackingStatus = false;\r\n\t\tvm.TrackingSidePanel = function (p) {\r\n\t\t\tvm.TrackDetails = p;\r\n\t\t\tvm.trackingStatus = true;\r\n\t\t}\r\n\t\tvm.getPic = function (LineItemAttachment) {\r\n\t\t\treturn LineItemAttachment ? ApiURL + \"/api/ZohoInventoryController/GetItemImage?item=\" + LineItemAttachment : null;\r\n\t\t}\r\n\r\n\t\tvm.disableCreateButton = false;\r\n\r\n\t\tvm.DisableCreateButton = function (disable) {\r\n\t\t\tif (disable) {\r\n\t\t\t\tvm.disableCreateButton = true;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.disableCreateButton = false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t$scope.totalFinList = 0;\r\n\t\t$scope.usersPerPage = vm.allSalesOrderPageListCount;\r\n\t\t$scope.SalesOrderPagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\r\n\t\tvm.changeAllSalesOrderPageListCount = function () {\r\n\t\t\t$scope.usersPerPage = vm.allSalesOrderPageListCount;\r\n\t\t\tfPageSize = $scope.usersPerPage;\r\n\t\t\t$scope.AllSalesOrderTablePageChanged($scope.SalesOrderPagination.current);\r\n\t\t\tvm.selectAll = false;\r\n\t\t\tfPageIndex = $scope.SalesOrderPagination.current;\r\n\t\t\t$scope.AllSalesOrderTablePageChanged = function (newPage) {\r\n\t\t\t\tfPageIndex = newPage;\r\n\t\t\t\tvm.GetAllOrdersByFilter();\r\n\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tfPageIndex = $scope.SalesOrderPagination.current;\r\n\t\t$scope.AllSalesOrderTablePageChanged = function (newPage) {\r\n\t\t\tfPageIndex = newPage;\r\n\t\t\tvm.GetAllOrdersByFilter();\r\n\r\n\t\t};\r\n\r\n\t\tvm.orderdetailsview = function (salesOrderDetail) {\r\n\t\t\t$state.go('index.OrderDetailView', {\r\n\t\t\t\torder_id: salesOrderDetail\r\n\t\t\t}, {\r\n\t\t\t\treload: true\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.AccessoriesPartOrderList = [];\r\n\t\tvm.GetAllOrdersByFilter = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"OrderStatus\": vm.OrderStatus,\r\n\t\t\t\t\"PaymentStatus\": vm.PaymentStatus,\r\n\t\t\t\t\"OrderStartDate\": startDate,\r\n\t\t\t\t\"OrderEndDate\": endDate,\r\n\t\t\t\t\"PageIndex\": fPageIndex,\r\n\t\t\t\t\"PageSize\": fPageSize\r\n\t\t\t}\r\n\t\t\tOrdersListService.GetAllOrdersByFilter(token, data).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.AccessoriesPartOrderList = resp.data.OrderList;\r\n\t\t\t\t\t$scope.totalFinList = resp.data.Count;\r\n\t\t\t\t\tif (vm.AccessoriesPartOrderList.length < vm.allSalesOrderPageListCount)\r\n\t\t\t\t\t\tvm.financeListLength = $scope.totalFinList;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.financeListLength = fPageIndex * vm.allSalesOrderPageListCount;\r\n\t\t\t\t\tif (fPageIndex == 1)\r\n\t\t\t\t\t\tvm.fpageindexCount = 1;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.fpageindexCount = (((fPageIndex - 1) * vm.allSalesOrderPageListCount) + 1);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\r\n\t\tvm.GetAllOrdersByFilter();\r\n\r\n\t\tvm.GetOrdersDashboardByFilter = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"OrderStatus\": vm.OrderStatus,\r\n\t\t\t\t\"PaymentStatus\": vm.PaymentStatus,\r\n\t\t\t\t\"OrderStartDate\": startDate,\r\n\t\t\t\t\"OrderEndDate\": endDate,\r\n\t\t\t\t\"PageIndex\": fPageIndex,\r\n\t\t\t\t\"PageSize\": fPageSize\r\n\t\t\t}\r\n\t\t\tOrdersListService.GetOrdersDashboardByFilter(token, data).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.OrderCountData = resp.data;\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\r\n\t\tvm.GetOrdersDashboardByFilter();\r\n\r\n\t\tvm.getAllSlotsByStatus = function (status) {\r\n\t\t\tvm.OrderStatus = status;\r\n\t\t\tvm.PaymentStatus = \"\";\r\n\t\t\tfPageIndex = 1;\r\n\t\t\tvm.GetAllOrdersByFilter();\r\n\t\t\t// vm.GetOrdersDashboardByFilter();\r\n\t\t }\r\n\t\t\r\n\t\tvm.getAllByPaymentStatus = function (status) {\r\n\t\tvm.OrderStatus = \"\";\r\n\t\tvm.PaymentStatus = status;\r\n\t\tfPageIndex = 1;\r\n\t\tvm.GetAllOrdersByFilter();\r\n\t\t// vm.GetOrdersDashboardByFilter();\r\n\t\t}\r\n\r\n\r\n\t\tvm.changeCategoryFilter = function () {\r\n\t\tfPageIndex = 1;\r\n\t\tvm.GetAllOrdersByFilter();\r\n\t\tvm.GetOrdersDashboardByFilter();\r\n\t\t}\r\n\r\n\r\n\t\tvm.GetShipmentOrder = function (salesOrderNumber) {\r\n\t\t\tOrdersListService.GetShipmentOrder(salesOrderNumber, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.TrackingDetails = resp.data;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.Acceptancemodel = function (requestDetails) {\r\n\t\t\tvm.showPartDetails=false;\r\n\t\t\tvm.AllRequestDetail = requestDetails;\r\n\t\t\tvm.updateStatusModelOpen = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'acceptancepopup.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.CloseAcceptanceModel = function () {\r\n\t\t\tvm.updateStatusModelOpen.close();\r\n\t\t\tvm.DisableCreateButton(false);\r\n\t\t\tvm.UpdateOrderStatus = \"\";\r\n\t\t\tvm.TrackingLink = \"\";\r\n\t\t\tvm.strPackageId = \"\";\r\n\t\t\tvm.strPackageStatus = \"\";\r\n\t\t\tvm.strPackageTrackingId = \"\";\r\n\t\t\tvm.strShipmentId = \"\";\r\n\t\t\tvm.PackageDetails = [];\r\n\t\t\tvm.datePackedOn = moment().format(\"YYYY-MM-DD\");\r\n\t\t}\r\n\r\n\t\tvm.UpdateCartOrderStatus = function () {\r\n\t\t\tvm.CartOrder_Form.submitted = true;\r\n\t\t\tif (vm.CartOrder_Form.$valid) {\r\n\t\t\t\tvm.DisableCreateButton(true);\r\n\t\t\t\tif(vm.UpdateOrderStatus == \"Cancelled\"){\r\n\t\t\t\t\tvm.PackageDetails = [{\r\n\t\t\t\t\t\t\"strPackageId\": \"\",\r\n\t\t\t\t\t\t\"strPackageStatus\": \"\",\r\n\t\t\t\t\t\t\"strPackageTrackingId\": \"\",\r\n\t\t\t\t\t\t\"strShipmentId\": \"\",\r\n\t\t\t\t\t\t\"datePackedOn\": \"\",\r\n\t\t\t\t\t}]\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\tvm.PackageDetails = [{\r\n\t\t\t\t\t\t\"strPackageId\": vm.strPackageId,\r\n\t\t\t\t\t\t\"strPackageStatus\": \"Shipped\",\r\n\t\t\t\t\t\t\"strPackageTrackingId\": vm.strPackageTrackingId,\r\n\t\t\t\t\t\t\"strShipmentId\": vm.strShipmentId,\r\n\t\t\t\t\t\t\"datePackedOn\": moment().format(\"YYYY-MM-DD\")\r\n\t\t\t\t\t}]\r\n\t\t\t\t}\r\n\t\t\t\tvar data = {\r\n\t\t\t\t\t\"OrderId\": vm.AllRequestDetail.OrderId,\r\n\t\t\t\t\t\"OrderStatus\": vm.UpdateOrderStatus,\r\n\t\t\t\t\t\"TrackingLink\": vm.TrackingLink,\r\n\t\t\t\t\t\"PackageDetails\": vm.PackageDetails\r\n\t\t\t\t}\r\n\t\t\t\tOrdersListService.UpdateOrderStatus(token, data).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\t\tvm.CloseAcceptanceModel();\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", 'Order Updated Successfully.');\r\n\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\tvm.GetAllOrdersByFilter();\r\n\t\t\t\t\t\t\tvm.GetOrdersDashboardByFilter();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\t\tvm.showFailure('Failed', resp.data.Message);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\t\r\n\t\t}\r\n\r\n\t\tvm.addFiles = function () {\r\n\t\t\t$(\"#dropzone1\").trigger(\"click\");\r\n\t\t}\r\n\t\r\n\t\tvm.toggleCollapsibleTable = function (isCollapsed, index) {\r\n\t\t\t$scope.isCollapsed = !isCollapsed;\r\n\t\t\t$scope.activeRow = index;\r\n\t\t}\r\n\t}\r\n})\r\n\nangular.module('inspinia').service('OperationTATBreachedService', function (ApiURL,FreelancerURL, $http) {\r\n\r\n this.CommittmentFollowUp = function (data, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/MMFServicePack/UpdateUserCommittmetStatus';\r\n return $http.put(url, data, {\r\n headers: { 'ContentType': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetAllActivitiesForUser = function (userId, loggedinUser, token) {\r\n var url = ApiURL + '/api/Timeline/GetAllCallRecordingForUser?UserId=' + userId;\r\n return $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n this.CloseOnBoardingTask = function (data, loggedinUser, token) {\r\n var url = ApiURL + '/api/OnBoardingTask/CloseOnBoardingTask';\r\n return $http.post(url, data,{\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.callToTechnicianApi = function (loggedinUser, userid, token) {\r\n url = ApiURL + '/api/CallPatching/ClickToCallFieldTeam?userId=' + userid + '&CallFor=CommitmentCall';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetOnBoardingTaskByFilters = function (data, loggedinUser, token) {\r\n var url = ApiURL + '/api/OnBoardingTask/GetOnBoardingTaskByFilters';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetTatTaskCountsByFilters = function (data, loggedinUser, token) {\r\n var url = ApiURL + '/api/OnBoardingTask/GetTatTaskCountsByFilters';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('OperationTATBreachedController', function (OperationTATBreachedService, AllUsersListService, ReferService, CommittmentOpsService, $resource, SlotAllocationService, toaster, $filter, $compile, $q, $state, $localStorage, $scope, DTOptionsBuilder, DTColumnBuilder, $uibModal, $timeout) {\r\n\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\t\tvar Closuredatelimit = new Date();\r\n\t\tvm.ClosureDateTime = { date: '', datepickerOptions: { minDate: Closuredatelimit } };\r\n\t\tvar datelimit = new Date();\r\n\t\tdatelimit.setMinutes(datelimit.getMinutes() + 1)\r\n\t\t// vm.AppointmentsDate = { date: '', datepickerOptions: { minDate: datelimit }, dateFormat: \"yy/mm/dd\" };\r\n\t\tvm.userCommittmentDate = new Date();\r\n\t\tvm.AppointmentsDate = {\r\n\t\t\tdatepickerOptions: {\r\n\t\t\t\tminDate: new Date()\r\n\t\t\t}\r\n\t\t};\r\n\t\tvm.userComments = \"\";\r\n\t\tvm.userCommittmentStatus = \"\";\r\n\t\tvm.closeuserCommittmentStatus = \"Interested\";\r\n\t\tvm.userCommittmentId = \"\";\r\n\t\tvar PageIndex = 1;\r\n\t\tvar PageSize = 10;\r\n\t\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\t\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\t\tvm.ExceptionType = 'PICKUP_TAT_BREACHED';\r\n\t\tvm.UserId = '';\r\n\t\tvm.OnBoardingList = [];\r\n\t\tvm.bGVerifyListLength = 0;\r\n\t\tvm.userPageListCount = 10;\r\n\t\tvm.pageListCounts = [10, 20, 30, 50];\r\n\t\tvm.AssignedTo = '';\r\n\t\tvm.taskStatus = '';\r\n\t\tvm.DateField = 'CreatedOn';\r\n\t\tvm.State = '';\r\n\t\tvm.City = '';\r\n\t\tvm.taskPincode = '';\r\n\t\tvm.CreationSource = '';\r\n\t\tvm.taskskill = '';\r\n\t\tvm.accountId = '';\r\n\t\tvm.capacityCount = '';\r\n\t\tvm.cityOfTask = \"\";\r\n\t\tvm.accountIdOfTask = \"\";\r\n\t\tvm.stateOfTask = \"\";\r\n\t\tvm.skillOfTask = \"\";\r\n\t\tvm.descriptionOfTask = \"\";\r\n\t\tvm.Technicianstartingdate = '2017-01-01';\r\n\t\tvm.TaskId = \"\";\r\n\t\tvm.IsFreelancerBidCount = false;\r\n\t\tvm.IsFixedTeamCount = false;\r\n\t\tvm.Asset = \"\";\r\n\t\tvm.Tools = \"\";\r\n\t\tvm.Certificate = \"\";\r\n\t\tvm.PermanentCity = \"\";\r\n\t\tvm.techPincode = \"\";\r\n\t\tvm.PermanentState = \"\";\r\n\t\tvm.TicketState = \"\";\r\n\t\tvm.SearchByAccountName = \"\";\r\n\t\tvm.PreferredForAccounts = \"\";\r\n\t\tvm.TicketCity = \"\";\r\n\t\tvm.ticketStatus = \"\";\r\n\t\tvm.IsCommittedUser = false,\r\n\t\tvm.IsCommitmentInterestedUser = false,\r\n\t\t$scope.Prime = false;\r\n\t\t$scope.NonPrime = false;\r\n\t\tvm.PssStatus = \"\";\r\n\t\t$scope.selectedTools = [];\r\n\t\tvm.JobSkill = \"\";\r\n\t\tvm.ActiveInMonth = \"\";\r\n\t\tvm.NoOfJobDone = \"\";\r\n\t\tvm.Asset = \"\";\r\n\t\tvm.Tools = \"\";\r\n\t\tvm.UserRole = \"\";\r\n\t\tvm.MatchCriteria = \"\";\r\n\t\tvm.TraningCertificate = \"\";\r\n\t\tvm.ToolList = \"\";\r\n\t\tvm.OneJobDone = false;\r\n\t\tvm.SearchTag = \"\";\r\n\t\tvm.MatchingSkill = false;\r\n\t\tvm.Asset_Bike = false;\r\n\t\tvm.Asset_Mobile = false;\r\n\t\tvm.Asset_Laptop = false;\r\n\t\tvm.disableCreateButton = false;\r\n\t\tvm.Sort = \"desc\";\r\n\t\tvm.Pincode = \"\";\r\n\t\tvm.Experience = \"\";\r\n\t\tvm.Ratings = \"\";\r\n\t\tvm.Assets_Tools = \"\";\r\n\t\tvm.Jobscount = \"\";\r\n\t\tvm.FilterAdhar = \"\";\r\n\t\tvm.FilterPancard = \"\";\r\n\t\tvm.IsAuthorizedServiceCenter = false;\r\n\t\t$localStorage.filteraddskill = \"\";\r\n\t\t$localStorage.filterPermanentstate = \"\";\r\n\t\tvm.currentPage = $localStorage.PageIndex ? $localStorage.PageIndex : 1;\r\n\t\t$scope.totalUsers = 0;\r\n\t\t$scope.pagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\t\t$scope.pagination.current = $localStorage.PageIndex ? $localStorage.PageIndex : 1;\r\n\t\t$scope.totalTableUsers = 0;\r\n\t\t$scope.usersTablePerPage = 10;\r\n\t\t$scope.UserTablepagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\r\n\t\t$scope.UserTablepagination.current = $localStorage.PageIndex ? $localStorage.PageIndex : 1;\r\n\t\t$scope.pageChanged = function (newPage) {\r\n\t\t\tvm.currentPage = newPage;\r\n\t\t\tvm.applyfilter(newPage);\r\n\r\n\t\t};\r\n\t\t$scope.dates = { startDate: moment().subtract(30, 'days'), endDate: moment() };\r\n\t\tvar startDate = moment().subtract(30, 'days').format(\"YYYY-MM-DD\");\r\n\t\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\r\n\t\t$scope.ranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment()]\r\n\t\t};\r\n\r\n\t\tvm.ticketdates = { startDate: moment().subtract(30, 'days'), endDate: moment() };\r\n\t\tvm.ticketranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment().endOf('month')],\r\n\t\t\t'Till now': [moment(vm.Technicianstartingdate), moment(endDate)],\r\n\t\t};\r\n\t\tvm.outsidedateRangeChange = function (ev, picker) {\r\n\t\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\t};\r\n\t\t// vm.GetAllActiveTaskForFilter = function () {\r\n\t\t// \tAllUsersListService.GetAllActiveTaskForFilter(loggedinUser, token).then(function (resp) {\r\n\t\t// \t\tif (resp && resp.data) {\r\n\t\t// \t\t\tvm.ActiveTaskList = resp.data;\r\n\t\t// \t\t}\r\n\t\t// \t}, vm.showFailure);\r\n\t\t// }\r\n\t\t// vm.GetAllActiveTaskForFilter();\r\n\r\n\t\tvm.UserRoleList = [\"Field Engineer\", \"Vendor Manager\", \"VendorTeam\", \"ServiceCenter\"];\r\n\r\n\t\t// vm.getSkills = function () {\r\n\t\t// \tAllUsersListService.getSkills(loggedinUser, token, function (skills) {\r\n\t\t// \t\tvm.skills = skills;\r\n\t\t// \t}, vm.showFailure);\r\n\t\t// }\r\n\r\n\t\t// vm.getSkills();\r\n\r\n\t\t// vm.GetAllAccounts = function () {\r\n\t\t// \tAllUsersListService.GetAllAccountDetails(loggedinUser, token).then(function (resp) {\r\n\t\t// \t\tif (resp && resp.data) {\r\n\t\t// \t\t\tvm.accountsList = resp.data;\r\n\t\t// \t\t}\r\n\t\t// \t}, vm.showFailure);\r\n\t\t// }\r\n\r\n\t\t// vm.GetAllAccounts();\r\n\r\n\t\tvm.getAllSlotsByStatus = function (status) {\r\n\t\t\tvm.taskStatus = status;\r\n\t\t\tPageIndex = 1;\r\n\t\t\tvm.GetOnBoardingTaskByFilters();\r\n\t\t}\r\n\t\t\r\n\t\tvm.activeTab = \"PICKUP_TAT_BREACHED\";\r\n\r\n\t\t$scope.changeBackgroundColor = function (event, activeTab) {\r\n\t\t\tvm.activeTab = activeTab;\r\n\t\t\tif ($scope.selectedElement) {\r\n\t\t\t\t$scope.selectedElement.style.backgroundColor = 'white';\r\n\t\t\t}\r\n\t\t\tvar targetElement = event.currentTarget;\r\n\t\t\ttargetElement.style.backgroundColor = '#b3b3b966';\r\n\t\t\t$scope.selectedElement = targetElement;\r\n\t\t\tvm.ExceptionType = vm.activeTab;\r\n\t\t\tvm.GetOnBoardingTaskByFilters();\r\n\t\t\tvm.GetOnBoardingTaskCounts();\r\n\t\t};\r\n\r\n\t\t$timeout(function () {\r\n\t\t\t$scope.changeBackgroundColor({ currentTarget: document.getElementById('PICKUP_TAT_BREACHED') }, 'PICKUP_TAT_BREACHED');\r\n\t\t}, 0);\r\n\r\n\t\t// vm.callToTechnician = function (userid) {\r\n\t\t// \tCommittmentOpsService.callToTechnicianApi(loggedinUser, userid, token).then(function (resp) {\r\n\t\t// \t\tif (resp.status == 200) {\r\n\t\t// \t\t\tvm.showSuccess(\"Success\", \"Call Initiated\");\r\n\t\t// \t\t}\r\n\t\t// \t\telse {\r\n\t\t// \t\t\tvm.showFailure(\"Failure\", resp.data.Message);\r\n\t\t// \t\t}\r\n\t\t// \t});\r\n\r\n\t\t// }\r\n\r\n\t\tvm.ApplyTaskfilter = function () {\r\n\t\t\t// $scope.UserTablepagination = {};\r\n\t\t\t// $scope.UserTablepagination = {\r\n\t\t\t// current: 1\r\n\t\t\t// };\r\n\t\t\t// $scope.hideFilter();\r\n\t\t\tvm.GetOnBoardingTaskByFilters();\r\n\t\t\tvm.GetOnBoardingTaskCounts();\r\n\t\t}\r\n\r\n\t\t// vm.editJobAppointment = function () {\r\n\t\t// \tvm.jobAppointmentModal = $uibModal.open({\r\n\t\t// \t\ttemplateUrl: 'editJobAppointment.html',\r\n\t\t// \t\tscope: $scope\r\n\t\t// \t});\r\n\t\t// }\r\n\r\n\r\n\t\t// vm.closeJobAppointment = function () {\r\n\t\t// \tvm.jobAppointmentModal.close();\r\n\t\t// }\r\n\r\n\t\t$scope.userFilter = true;\r\n\t\t$scope.assignJobFilter = function () {\r\n\t\t\t$scope.userFilter = !$scope.userFilter;\r\n\t\t\t$scope.myvalue = false;\r\n\t\t\t$scope.manualAssignationWrapper = \"hide-nav\";\r\n\t\t};\r\n\t\t$scope.broadcastSentUser = true;\r\n\t\t$scope.toggleForBroadcast = function () {\r\n\t\t\t$scope.broadcastSentUser = !$scope.broadcastSentUser;\r\n\t\t\t$scope.myvalue = false;\r\n\r\n\t\t};\r\n\r\n\t\t$scope.calltrack = function () {\r\n\t\t\t$scope.myvalue = false;\r\n\t\t\t$scope.class_status = true;\r\n\t\t\t$scope.broadcastSentUser = true;\r\n\r\n\t\t}\r\n\r\n\t\t$scope.hideoverlay = function () {\r\n\t\t\t$scope.myvalue = false;\r\n\t\t\t$scope.broadcastSentUser = true;\r\n\t\t\t\r\n\t\t }\r\n\r\n\r\n\t\t// $scope.customSearch = function (item) {\r\n\t\t// if (!vm.SearchTagNew) {\r\n\t\t// \treturn true;\r\n\t\t// }\r\n\t\t// var lowerCaseSearchText = vm.SearchTagNew.toLowerCase();\r\n\t\t// for (var prop in item) {\r\n\t\t// \tif (item.hasOwnProperty(prop) && angular.isString(item[prop])) {\r\n\t\t// \tvar lowerCaseProp = item[prop].toLowerCase();\r\n\t\t// \tif (lowerCaseProp.includes(lowerCaseSearchText)) {\r\n\t\t// \t\treturn true;\r\n\t\t// \t}\r\n\t\t// \t}\r\n\t\t// }\r\n\t\t// return false;\r\n\t\t// };\r\n\r\n\r\n\t\tvm.GetOnBoardingTaskByFilters = function () {\r\n\t\t\tdata = {\r\n\t\t\t\t\"Status\": vm.taskStatus,\r\n\t\t\t\t\"Skill\": vm.taskskill == \"\" ? \"\" : vm.taskskill.join(\"|\"),\r\n\t\t\t\t\"DateField\": vm.DateField,\r\n\t\t\t\t\"FromDate\": moment().subtract(5, 'years').format(\"YYYY-MM-DD\"),\r\n\t\t\t\t\"ToDate\": endDate,\r\n\t\t\t\t\"AccountId\": vm.accountId == \"\" ? \"\" : vm.accountId.join(\"|\"),\r\n\t\t\t\t\"PageIndex\": PageIndex,\r\n\t\t\t\t\"PageSize\": 500,\r\n\t\t\t\t\"State\": vm.State,\r\n\t\t\t\t\"City\": vm.City,\r\n\t\t\t\t\"Pincode\": vm.taskPincode,\r\n\t\t\t\t\"OrderBy\": vm.OrderBy,\r\n\t\t\t\t\"Sort\": vm.Sort,\r\n\t\t\t\t\"AssignedTo\": vm.AssignedTo == \"\" ? \"\" : vm.AssignedTo.join(\"|\"),\r\n\t\t\t\t\"CreationSource\": vm.CreationSource,\r\n\t\t\t\t\"ExceptionType\": vm.ExceptionType,\r\n\t\t\t}\r\n\t\t\tOperationTATBreachedService.GetOnBoardingTaskByFilters(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.OnBoardingList = resp.data.OnBoardingResModelList;\r\n\t\t\t\t\t$scope.totalTableUsersBG = resp.data.RecordCount;\r\n\t\t\t\t\tif (vm.OnBoardingList.length < vm.userPageListCount)\r\n\t\t\t\t\t\tvm.bGVerifyListLength = $scope.totalTableUsersBG;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.bGVerifyListLength = PageIndex * vm.userPageListCount;\r\n\t\t\t\t\tif (PageIndex == 1)\r\n\t\t\t\t\t\tvm.pageindexCount = 1;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.pageindexCount = (((PageIndex - 1) * vm.userPageListCount) + 1);\r\n\t\t\t\t}\r\n\r\n\t\t\t})\r\n\t\t}\r\n\t\tvm.GetOnBoardingTaskCounts = function () {\r\n\t\t\tdata = {\r\n\t\t\t\t\"Status\": vm.taskStatus,\r\n\t\t\t\t\"Skill\": vm.taskskill == \"\" ? \"\" : vm.taskskill.join(\"|\"),\r\n\t\t\t\t\"DateField\": vm.DateField,\r\n\t\t\t\t\"FromDate\": moment().subtract(5, 'years').format(\"YYYY-MM-DD\"),\r\n\t\t\t\t\"ToDate\": endDate,\r\n\t\t\t\t\"AccountId\": vm.accountId == \"\" ? \"\" : vm.accountId.join(\"|\"),\r\n\t\t\t\t\"PageIndex\": PageIndex,\r\n\t\t\t\t\"PageSize\": 500,\r\n\t\t\t\t\"State\": vm.State,\r\n\t\t\t\t\"City\": vm.City,\r\n\t\t\t\t\"Pincode\": vm.taskPincode,\r\n\t\t\t\t\"OrderBy\": vm.OrderBy,\r\n\t\t\t\t\"Sort\": vm.Sort,\r\n\t\t\t\t\"AssignedTo\": vm.AssignedTo == \"\" ? \"\" : vm.AssignedTo.join(\"|\"),\r\n\t\t\t\t\"CreationSource\": vm.CreationSource,\r\n\t\t\t\t\"ExceptionType\": vm.ExceptionType,\r\n\t\t\t}\r\n\t\t\tOperationTATBreachedService.GetTatTaskCountsByFilters(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.TotalTask = resp.data.TotalTask;\r\n\t\t\t\t\tvm.OpenTask = resp.data.OpenTask;\r\n\t\t\t\t\tvm.ClosedTask = resp.data.ClosedTask;\r\n\t\t\t\t\tvm.PickupTAT = resp.data.PickupTAT;\r\n\t\t\t\t\tvm.EstimateTAT = resp.data.EstimateTAT;\r\n\t\t\t\t\tvm.EstimateApprovalTAT = resp.data.EstimateApprovalTAT;\r\n\t\t\t\t\tvm.RepairTAT = resp.data.RepairTAT;\r\n\t\t\t\t\tvm.DeliveryTAT = resp.data.DeliveryTAT;\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tvm.GetOnBoardingTaskByFilters();\r\n\t\tvm.GetOnBoardingTaskCounts();\r\n\r\n\t\t// vm.getAllCertificate = function () {\r\n\t\t// \tAllUsersListService.GetAllCertificate(loggedinUser, token, function (data) {\r\n\t\t// \t\tvm.AllCertificateSets = data;\r\n\t\t// \t}, vm.showFailure);\r\n\t\t// }\r\n\t\t// vm.getAllCertificate();\r\n\r\n\t\tvm.brandList = [\"LG\", \"Samsung\", \"Havells & lloyds\", \"Hitachi\", \"Panasonic\", \"O general\", \"Daikin\", \"Micromax\", \"Bluestar\", \"Toshiba\", \"Glen\", \"Lifelong\", \"Whirlpool\", \"IFB\", \"Philips\", \"Godrej\", \"Bajaj\"];\r\n\r\n\t\tvm.productList = [\"Aircon\", \"Air cooler\", \"Home Appliances\", \"IT\", \"AC\", \"Multi product\", \"RO\", \"Printer\"];\r\n\r\n\t\t// function getAllStates() {\r\n\t\t// \tvar defered = $q.defer();\r\n\t\t// \tReferService.getAllState(loggedinUser, token).then(function (resp) {\r\n\t\t// \t\tdefered.resolve(resp);\r\n\t\t// \t}, function (error) {\r\n\t\t// \t\tdefered.reject(error);\r\n\t\t// \t});\r\n\t\t// \treturn defered.promise;\r\n\t\t// }\r\n\r\n\t\t// var allStatePromise = getAllStates(loggedinUser);\r\n\t\t// allStatePromise.then(function (resp) {\r\n\t\t// \tvm.StateList = resp.data;\r\n\r\n\t\t// });\r\n\t\t// function getallCities(state) {\r\n\t\t// \tReferService.getAllCity(loggedinUser, state, token).then(function (resp) {\r\n\t\t// \t\tvm.CityList = resp.data;\r\n\t\t// \t});\r\n\t\t// }\r\n\t\t// vm.selectedState = function (state) {\r\n\t\t// \tgetallCities(state);\r\n\t\t// }\r\n\r\n\t\t// vm.taskBasedFilter = function (task) {\r\n\t\t// \tvm.TaskId = task;\r\n\t\t// \tstartDate = moment().subtract(5, 'years').format(\"YYYY-MM-DD\");\r\n\t\t// \tendDate = moment().format(\"YYYY-MM-DD\");\r\n\t\t// \tvm.AllapplyTalentPoolfilter();\r\n\t\t// }\r\n\r\n\t\t// vm.Open360ForActiveUsers = function (teamid) {\r\n\t\t// \tif (vm.loggedInUserRole != 'Dispatch Head' && vm.loggedInUserRole != 'Higher Management' && vm.loggedInUserRole != 'Community Manager') {\r\n\t\t// \t\t$state.go('index.Dashboard', {\r\n\t\t// \t\t\tUserId: teamid\r\n\t\t// \t\t}, { reload: true });\r\n\t\t// \t}\r\n\t\t// \telse if (vm.loggedInUserRole == 'Dispatch Head' || vm.loggedInUserRole == 'Higher Management' || vm.loggedInUserRole == 'Community Manager') {\r\n\t\t// \t\t$state.go('index.Technician360view', {\r\n\t\t// \t\t\tuserId: teamid\r\n\t\t// \t\t}, { reload: true });\r\n\t\t// \t}\r\n\t\t// }\r\n\r\n\r\n\t\t// $scope.TalentPoolTablepageChanged = function (newPage) {\r\n\r\n\t\t// \tvm.currentPage = newPage;\r\n\r\n\t\t// \tvm.applyfilter(newPage, '');\r\n\t\t// };\r\n\r\n\t\t// vm.applyfilter = function (index, data) {\r\n\t\t// \tvar userFormData = {};\r\n\t\t// \tif (data) {\r\n\t\t// \t\tuserFormData = data;\r\n\t\t// \t} else {\r\n\t\t// \t\tvar temp = [];\r\n\t\t// \t\tvar res = vm.Experience.split(\"-\");\r\n\t\t// \t\tvar jobscount = vm.Jobscount.split(\"-\");\r\n\t\t// \t\tvar ratings = vm.Ratings.split(\"-\");\r\n\t\t// \t\tuserFormData = {\r\n\t\t// \t\t\t\"PageIndex\": index,\r\n\t\t// \t\t\t\"PageSize\": 10,\r\n\t\t// \t\t\t\"ActivationStartDate\": startDate,\r\n\t\t// \t\t\t\"ActivationEnddate\": endDate,\r\n\t\t// \t\t\t\"State\": vm.PermanentState,\r\n\t\t// \t\t\t\"Cities\": vm.PermanentCity,\r\n\t\t// \t\t\t\"Pincodes\": temp,\r\n\t\t// \t\t\t\"Skill\": vm.addSkill,\r\n\t\t// \t\t\t\"ExperienceStart\": res[0],\r\n\t\t// \t\t\t\"ExperienceEnd\": res[1],\r\n\t\t// \t\t\t\"Certificates\": vm.addTraningCertificateName,\r\n\t\t// \t\t\t\"IsBikeAvailable\": vm.Asset_Bike,\r\n\t\t// \t\t\t\"IsMobileAvailable\": vm.Asset_Mobile,\r\n\t\t// \t\t\t\"IsLaptopAvailable\": vm.Asset_Laptop,\r\n\t\t// \t\t\t\"Tools\": vm.Asset_Tools,\r\n\t\t// \t\t\t\"JobCountStart\": jobscount[0],\r\n\t\t// \t\t\t\"JobCountEnd\": jobscount[1],\r\n\t\t// \t\t\t\"RatingStart\": Number(ratings[0]),\r\n\t\t// \t\t\t\"RatingEnd\": Number(ratings[1]),\r\n\t\t// \t\t\t\"PreferredTalentPool\": false,\r\n\t\t// \t\t\t\"IsStudent\": vm.Student,\r\n\t\t// \t\t\t\"IsCriminalVerified\": vm.Criminal,\r\n\t\t// \t\t\t\"IsBankVarified\": vm.IsBankVerified,\r\n\t\t// \t\t\t\"IsUPIVarified\": vm.IsUPIVarified,\r\n\t\t// \t\t\t\"MMFPrimeMember\": $scope.Prime,\r\n\t\t// \t\t\t\"IsCommittedUser\": vm.IsCommittedUser,\r\n\t\t// \t\t\t\"IsCommitmentInterestedUser\": vm.IsCommitmentInterestedUser,\r\n\t\t// \t\t\t\"MMFNonPrimeMember\": $scope.NonPrime,\r\n\t\t// \t\t\t\"IsOpenForInternship\": vm.Intern,\r\n\t\t// \t\t\t\"IsAdharVerified\": vm.Adharcard,\r\n\t\t// \t\t\t\"IsPanVerified\": vm.Pancard,\r\n\t\t// \t\t\t\"Source\": vm.Source,\r\n\t\t// \t\t\t\"FreelancerRole\": vm.freelancerRole,\r\n\t\t// \t\t\t\"UserStatus\": vm.UserStatus,\r\n\t\t// \t\t\t\"PssStatus\": vm.PssStatus,\r\n\t\t// \t\t\t\"OneJobDoneForSkills\": vm.OneJobDone,\r\n\t\t// \t\t\t\"ReportingTo\": vm.ReportingTo,\r\n\t\t// \t\t\t\"OrderBy\": vm.OrderBy,\r\n\t\t// \t\t\t\"SortType\": vm.SortType,\r\n\t\t// \t\t\t\"UserVerificationStatus\": vm.UserVerificationStatus,\r\n\t\t// \t\t\t\"IsFreelancerBidCount\": vm.IsFreelancerBidCount,\r\n\t\t// \t\t\t\"IsFixedTeamCount\": vm.IsFixedTeamCount,\r\n\t\t// \t\t\t\"ContactNumber\": vm.ContactNumber,\r\n\t\t// \t\t\t\"UserName\": vm.UserName,\r\n\t\t// \t\t\t\"UserId\": vm.UserId,\r\n\t\t// \t\t\t\"BrandName\": vm.ServiceBrand,\r\n\t\t// \t\t\t\"ProductServing\": vm.ServiceProduct,\r\n\t\t// \t\t\t\"SearchTag\": vm.SearchTag,\r\n\t\t// \t\t\t\"IsAuthorizedServiceCenterCount\": vm.IsAuthorizedServiceCenter,\r\n\t\t// \t\t\t\"TaskId\": vm.TaskId\r\n\t\t// \t\t}\r\n\t\t// \t\tif (vm.adddaterange) {\r\n\t\t// \t\t\tuserFormData.ActivationStartDate = startDate;\r\n\t\t// \t\t\tuserFormData.ActivationEnddate = endDate;\r\n\t\t// \t\t}\r\n\t\t// \t}\r\n\r\n\t\t// \t$localStorage.FilterData = userFormData;\r\n\t\t// \tAllUsersListService.Filter(loggedinUser, token, userFormData).then(function (resp) {\r\n\t\t// \t\tif (resp.data) {\r\n\t\t// \t\t\tvm.users = [];\r\n\t\t// \t\t\tvm.Bluserlist = [];\r\n\t\t// \t\t\tvm.usersCounts = resp.data;\r\n\t\t// \t\t\tvm.users = resp.data.Users;\r\n\r\n\t\t// \t\t\tfor (var i = 0; i < vm.users.length; i++) {\r\n\t\t// \t\t\t\tif (vm.users[i].CustomerRating) {\r\n\t\t// \t\t\t\t\tvm.users[i].CustomerRating = Number(vm.users[i].CustomerRating).toFixed(1);\r\n\t\t// \t\t\t\t}\r\n\t\t// \t\t\t}\r\n\r\n\t\t// \t\t\tvm.totalTalentPoolCount = resp.data.Count;\r\n\t\t// \t\t\t$scope.totalUsers = resp.data.Count;\r\n\t\t// \t\t\t$scope.totalTableUsers = resp.data.Count;\r\n\r\n\t\t// \t\t\tif (vm.users.length < 10)\r\n\t\t// \t\t\t\tvm.usersLength = $scope.totalUsers;\r\n\t\t// \t\t\telse\r\n\t\t// \t\t\t\tvm.usersLength = index * 10;\r\n\t\t// \t\t\tif (index == 1)\r\n\t\t// \t\t\t\tvm.techpageindexCount = 1;\r\n\t\t// \t\t\telse\r\n\t\t// \t\t\t\tvm.techpageindexCount = (((index - 1) * 10) + 1);\r\n\r\n\t\t// \t\t\tif (vm.users.length > 0) {\r\n\t\t// \t\t\t\tfor (var i = 0; i < vm.users.length; i++) {\r\n\t\t// \t\t\t\t\tif (vm.users[i].BlockedByAccounts) {\r\n\t\t// \t\t\t\t\t\tif (vm.users[i].BlockedByAccounts.length > 0) {\r\n\t\t// \t\t\t\t\t\t\tfor (var j = 0; j < vm.users[i].BlockedByAccounts.length; j++) {\r\n\t\t// \t\t\t\t\t\t\t\tif (vm.users[i].BlockedByAccounts[j] == AccountID) {\r\n\t\t// \t\t\t\t\t\t\t\t\tvm.Bluserlist.push(vm.users[i]);\r\n\t\t// \t\t\t\t\t\t\t\t\tbreak;\r\n\t\t// \t\t\t\t\t\t\t\t}\r\n\t\t// \t\t\t\t\t\t\t}\r\n\t\t// \t\t\t\t\t\t}\r\n\t\t// \t\t\t\t\t}\r\n\t\t// \t\t\t\t}\r\n\r\n\t\t// \t\t\t}\r\n\t\t// \t\t}\r\n\t\t// \t})\r\n\r\n\t\t// }\r\n\r\n\t\t// vm.GetReportingToMeUsers = function () {\r\n\t\t// \tSlotAllocationService.GetReportingToMeUsers(loggedinUser, token).then(function (resp) {\r\n\t\t// \t\tif (resp && resp.data) {\r\n\t\t// \t\t\tvm.UserByFiltersList = resp.data;\r\n\t\t// \t\t}\r\n\t\t// \t}, function () {\r\n\t\t// \t});\r\n\r\n\t\t// }\r\n\r\n\t\t// vm.GetReportingToMeUsers();\r\n\r\n\r\n\t\t// vm.TechnicianclearFilter = function () {\r\n\t\t// \tvm.UserName = \"\";\r\n\t\t// \tvm.UserId = \"\";\r\n\t\t// \tvm.ContactNumber = \"\";\r\n\t\t// \tvm.Source = \"\";\r\n\t\t// \tvm.Adharcard = \"\";\r\n\t\t// \tvm.Pancard = \"\";\r\n\t\t// \t$scope.Prime = false;\r\n\t\t// \t$scope.NonPrime = false;\r\n\t\t// \tvm.IsCommittedUser = false;\r\n\t\t// \tvm.IsCommitmentInterestedUser = false;\r\n\t\t// \tvm.PssStatus = \"\";\r\n\t\t// \tvm.IsBankVerified = \"\";\r\n\t\t// \tvm.PreferredForAccounts = \"\";\r\n\t\t// \tvm.PssStatus = \"\";\r\n\t\t// \tvm.Criminal = \"\";\r\n\t\t// \tvm.PermanentState = \"\";\r\n\t\t// \tvm.PermanentCity = \"\";\r\n\t\t// \tvm.Experience = \"\";\r\n\t\t// \tvm.traningCertificateList = \"\";\r\n\t\t// \tvm.freelancerRoleList = \"\";\r\n\t\t// \tvm.freelancerRole = \"\";\r\n\t\t// \tvm.Asset_Laptop = \"\";\r\n\t\t// \tvm.Asset_Mobile = \"\";\r\n\t\t// \tvm.Asset_Bike = \"\";\r\n\t\t// \tvm.Asset_Tools = \"\";\r\n\t\t// \tvm.Jobscount = \"\";\r\n\t\t// \tvm.Ratings = \"\";\r\n\t\t// \tvm.CurrentState = \"\";\r\n\t\t// \tvm.UserStatus = \"\";\r\n\t\t// \tvm.userskill = [];\r\n\t\t// \tvm.userskill = \"\";\r\n\t\t// \tvm.OneJobDone = false;\r\n\t\t// \tvm.SearchTag = \"\";\r\n\t\t// \tvm.ServiceBrand = \"\";\r\n\t\t// \tvm.ReportingTo = \"\";\r\n\t\t// \tvm.ServiceProduct = \"\";\r\n\t\t// \tvm.ReportingTo = \"\";\r\n\t\t// \tvm.TaskId = \"\";\r\n\t\t// \tstartDate = moment().subtract(30, 'days').format(\"YYYY-MM-DD\");\r\n\t\t// \tendDate = moment().format(\"YYYY-MM-DD\");\r\n\t\t// \tvm.AllapplyTalentPoolfilter();\r\n\t\t// }\r\n\r\n\t\t// vm.getAllUsersByStage = function (stage) {\r\n\t\t// \tvm.UserVerificationStatus = stage;\r\n\t\t// \tvm.IsAuthorizedServiceCenter = false;\r\n\t\t// \tvm.freelancerRole = \"\";\r\n\t\t// \tvm.IsCommittedUser = false;\r\n\t\t// \tvm.IsCommitmentInterestedUser = false;\r\n\t\t// \tvm.UserStatus = \"\";\r\n\t\t// \tvm.PssStatus = \"\";\r\n\t\t// \t$scope.Prime = false;\r\n\t\t// \t$scope.NonPrime = false;\r\n\t\t// \tvm.OneJobDone = false;\r\n\t\t// \tvm.Criminal = false;\r\n\t\t// \tvm.IsFreelancerBidCount = false;\r\n\t\t// \tvm.IsFixedTeamCount = false;\r\n\t\t// \tvm.AllapplyTalentPoolfilter();\r\n\r\n\t\t// }\r\n\r\n\t\t// vm.getAllUsersByRole = function (role) {\r\n\t\t// \tvm.UserVerificationStatus = \"\";\r\n\t\t// \tvm.IsCommittedUser = false;\r\n\t\t// \tvm.IsCommitmentInterestedUser = false;\r\n\t\t// \tif (role == 'Active') {\r\n\t\t// \t\tvm.UserStatus = role;\r\n\t\t// \t\tvm.freelancerRole = \"\";\r\n\t\t// \t}\r\n\t\t// \telse if (role == 'Inactive') {\r\n\t\t// \t\tvm.UserStatus = role;\r\n\t\t// \t\tvm.freelancerRole = \"\";\r\n\t\t// \t}\r\n\t\t// \telse if (role == 'Invite') {\r\n\t\t// \t\tvm.UserStatus = role;\r\n\t\t// \t\tvm.freelancerRole = \"\";\r\n\t\t// \t}\r\n\t\t// \telse if (role == '') {\r\n\t\t// \t\tvm.UserStatus = role;\r\n\t\t// \t\tvm.freelancerRole = \"\";\r\n\t\t// \t}\r\n\t\t// \telse {\r\n\t\t// \t\tvm.freelancerRole = role;\r\n\t\t// \t\tvm.UserStatus = \"Active\";\r\n\t\t// \t}\r\n\t\t// \t$scope.Prime = false;\r\n\t\t// \t$scope.NonPrime = false;\r\n\t\t// \tvm.PssStatus = \"\";\r\n\t\t// \tvm.OneJobDone = false;\r\n\t\t// \tvm.Criminal = false;\r\n\t\t// \tvm.IsFreelancerBidCount = false;\r\n\t\t// \tvm.IsFixedTeamCount = false;\r\n\t\t// \tvm.IsAuthorizedServiceCenter = false;\r\n\t\t// \tvm.AllapplyTalentPoolfilter();\r\n\t\t// }\r\n\r\n\t\t// vm.getAllOneJobDone = function () {\r\n\t\t// \t$scope.Prime = false;\r\n\t\t// \t$scope.NonPrime = false;\r\n\t\t// \tvm.Criminal = false;\r\n\t\t// \tvm.IsFixedTeamCount = false;\r\n\t\t// \tvm.IsFreelancerBidCount = false;\r\n\t\t// \tvm.PssStatus = \"\";\r\n\t\t// \tvm.UserVerificationStatus = \"\";\r\n\t\t// \tvm.IsAuthorizedServiceCenter = false;\r\n\t\t// \tvm.IsCommittedUser = false;\r\n\t\t// \tvm.IsCommitmentInterestedUser = false;\r\n\t\t// \tvm.freelancerRole = \"\";\r\n\t\t// \tvm.UserStatus = \"\";\r\n\t\t// \tvm.OneJobDone = true;\r\n\t\t// \tvm.AllapplyTalentPoolfilter();\r\n\t\t// }\r\n\r\n\t\t// vm.getAllFixedTeam = function () {\r\n\t\t// \t$scope.Prime = false;\r\n\t\t// \t$scope.NonPrime = false;\r\n\t\t// \tvm.Criminal = false;\r\n\t\t// \tvm.IsFixedTeamCount = true;\r\n\t\t// \tvm.IsFreelancerBidCount = false;\r\n\t\t// \tvm.PssStatus = \"\";\r\n\t\t// \tvm.UserVerificationStatus = \"\";\r\n\t\t// \tvm.IsAuthorizedServiceCenter = false;\r\n\t\t// \tvm.IsCommittedUser = false;\r\n\t\t// \tvm.IsCommitmentInterestedUser = false;\r\n\t\t// \tvm.freelancerRole = \"\";\r\n\t\t// \tvm.UserStatus = \"\";\r\n\t\t// \tvm.OneJobDone = false;\r\n\t\t// \tvm.AllapplyTalentPoolfilter();\r\n\t\t// }\r\n\r\n\t\t// vm.getAllLeadStarted = function () {\r\n\t\t// \t$scope.Prime = false;\r\n\t\t// \t$scope.NonPrime = false;\r\n\t\t// \tvm.Criminal = false;\r\n\t\t// \tvm.IsFreelancerBidCount = true;\r\n\t\t// \tvm.IsFixedTeamCount = false;\r\n\t\t// \tvm.UserVerificationStatus = \"\";\r\n\t\t// \tvm.IsAuthorizedServiceCenter = false;\r\n\t\t// \tvm.IsCommittedUser = false;\r\n\t\t// \tvm.IsCommitmentInterestedUser = false;\r\n\t\t// \tvm.freelancerRole = \"\";\r\n\t\t// \tvm.PssStatus = \"\";\r\n\t\t// \tvm.UserStatus = \"\";\r\n\t\t// \tvm.OneJobDone = false;\r\n\t\t// \tvm.AllapplyTalentPoolfilter();\r\n\t\t// }\r\n\r\n\t\t// vm.getCountByPssValue = function (pss) {\r\n\t\t// \t$scope.Prime = false;\r\n\t\t// \t$scope.NonPrime = false;\r\n\t\t// \tvm.PssStatus = pss;\r\n\t\t// \tvm.Criminal = false;\r\n\t\t// \tvm.IsFreelancerBidCount = false;\r\n\t\t// \tvm.IsFixedTeamCount = false;\r\n\t\t// \tvm.UserVerificationStatus = \"\";\r\n\t\t// \tvm.IsCommittedUser = false;\r\n\t\t// \tvm.IsCommitmentInterestedUser = false;\r\n\t\t// \tvm.freelancerRole = \"\";\r\n\t\t// \tvm.UserStatus = \"\";\r\n\t\t// \tvm.OneJobDone = false;\r\n\t\t// \tvm.IsAuthorizedServiceCenter = false;\r\n\t\t// \tvm.AllapplyTalentPoolfilter();\r\n\t\t// }\r\n\t\t// vm.authorizeDetail = function (role) {\r\n\t\t// \tif (role == 'Active') {\r\n\t\t// \t\tvm.UserStatus = role;\r\n\r\n\t\t// \t}\r\n\t\t// \telse if (role == 'Inactive') {\r\n\t\t// \t\tvm.UserStatus = role;\r\n\r\n\t\t// \t}\r\n\t\t// \telse if (role == '') {\r\n\t\t// \t\tvm.UserStatus = role;\r\n\r\n\t\t// \t}\r\n\t\t// \t$scope.Prime = false;\r\n\t\t// \t$scope.NonPrime = false;\r\n\t\t// \tvm.Criminal = false;\r\n\t\t// \tvm.IsFreelancerBidCount = false;\r\n\t\t// \tvm.IsFixedTeamCount = false;\r\n\t\t// \tvm.UserVerificationStatus = \"\";\r\n\t\t// \tvm.IsCommittedUser = false;\r\n\t\t// \tvm.IsCommitmentInterestedUser = false;\r\n\t\t// \tvm.freelancerRole = \"\";\r\n\t\t// \tvm.OneJobDone = false;\r\n\t\t// \tvm.IsAuthorizedServiceCenter = true;\r\n\t\t// \tvm.AllapplyTalentPoolfilter();\r\n\t\t// }\r\n\r\n\t\t// vm.committedDetail = function (committedvalue) {\r\n\t\t// \tif (committedvalue == true) {\r\n\t\t// \t\tvm.IsCommittedUser = true;\r\n\t\t// \t\tvm.IsCommitmentInterestedUser = false;\r\n\t\t// \t}\r\n\t\t// \telse if (committedvalue == false) {\r\n\t\t// \t\tvm.IsCommittedUser = false;\r\n\t\t// \t\tvm.IsCommitmentInterestedUser = true;\r\n\t\t// \t}\r\n\t\t// \tvm.PssStatus = \"\";\r\n\t\t// \t$scope.Prime = false;\r\n\t\t// \t$scope.NonPrime = false;\r\n\t\t// \tvm.OneJobDone = false;\r\n\t\t// \tvm.IsFreelancerBidCount = false;\r\n\t\t// \tvm.IsFixedTeamCount = false;\r\n\t\t// \tvm.Criminal = false;\r\n\t\t// \tvm.UserVerificationStatus = \"\";\r\n\t\t// \tvm.IsAuthorizedServiceCenter = false;\r\n\t\t// \tvm.freelancerRole = \"\";\r\n\t\t// \tvm.UserStatus = \"\";\r\n\t\t// \tvm.AllapplyTalentPoolfilter();\r\n\t\t// }\r\n\r\n\t\t// vm.getAllCriminalFlag = function (criminalValue) {\r\n\t\t// \tvm.PssStatus = \"\";\r\n\t\t// \t$scope.Prime = false;\r\n\t\t// \t$scope.NonPrime = false;\r\n\t\t// \tvm.OneJobDone = false;\r\n\t\t// \tvm.IsFreelancerBidCount = false;\r\n\t\t// \tvm.IsFixedTeamCount = false;\r\n\t\t// \tvm.Criminal = criminalValue;\r\n\t\t// \tvm.UserVerificationStatus = \"\";\r\n\t\t// \tvm.IsAuthorizedServiceCenter = false;\r\n\t\t// \tvm.IsCommittedUser = false;\r\n\t\t// \tvm.IsCommitmentInterestedUser = false;\r\n\t\t// \tvm.freelancerRole = \"\";\r\n\t\t// \tvm.UserStatus = \"\";\r\n\t\t// \tvm.AllapplyTalentPoolfilter();\r\n\r\n\t\t// }\r\n\t\t// vm.getAllPrimeFlag = function (primeValue) {\r\n\t\t// \tif (primeValue == true) {\r\n\t\t// \t\t$scope.Prime = true;\r\n\t\t// \t\t$scope.NonPrime = false;\r\n\t\t// \t} else if (primeValue == false) {\r\n\t\t// \t\t$scope.NonPrime = true;\r\n\t\t// \t\t$scope.Prime = false;\r\n\t\t// \t}\r\n\t\t// \tvm.Criminal = false;\r\n\t\t// \tvm.IsFreelancerBidCount = false;\r\n\t\t// \tvm.IsFixedTeamCount = false;\r\n\t\t// \tvm.UserVerificationStatus = \"\";\r\n\t\t// \tvm.IsCommittedUser = false;\r\n\t\t// \tvm.IsCommitmentInterestedUser = false;\r\n\t\t// \tvm.freelancerRole = \"\";\r\n\t\t// \tvm.UserStatus = \"\";\r\n\t\t// \tvm.PssStatus = \"\";\r\n\t\t// \tvm.IsAuthorizedServiceCenter = false;\r\n\t\t// \tvm.OneJobDone = false;\r\n\t\t// \tvm.AllapplyTalentPoolfilter();\r\n\r\n\t\t// }\r\n\r\n\r\n\t\t// vm.AllapplyTalentPoolfilter = function () {\r\n\t\t// \t$scope.Ticket = 1;\r\n\t\t// \t$scope.dates = { startDate: startDate, endDate: endDate };\r\n\t\t// \tvm.adddaterange = true;\r\n\t\t// \t$scope.UserTablepagination.current = 1;\r\n\t\t// \tvar temp = [];\r\n\t\t// \tvar tuPageIndex = \"\";\r\n\t\t// \tvar res = vm.Experience.split(\"-\");\r\n\t\t// \tvar jobscount = vm.Jobscount.split(\"-\");\r\n\t\t// \tvar ratings = vm.Ratings.split(\"-\");\r\n\t\t// \ttuPageIndex = 1;\r\n\t\t// \tvm.traningCertificateList = \"\";\r\n\t\t// \tif (vm.TraningCertificate) {\r\n\t\t// \t\tvm.traningCertificateList = vm.TraningCertificate.join('|');\r\n\t\t// \t}\r\n\t\t// \tif (vm.PreferredForAccounts) {\r\n\t\t// \t\tstartDate = \"\";\r\n\t\t// \t\tendDate = \"\";\r\n\t\t// \t}\r\n\t\t// \tvm.userFormData = {\r\n\t\t// \t\t\"PageIndex\": tuPageIndex,\r\n\t\t// \t\t\"PageSize\": 10,\r\n\t\t// \t\t\"ActivationStartDate\": startDate,\r\n\t\t// \t\t\"ActivationEnddate\": endDate,\r\n\t\t// \t\t\"State\": vm.PermanentState,\r\n\t\t// \t\t\"Cities\": vm.PermanentCity,\r\n\t\t// \t\t\"Pincodes\": temp,\r\n\t\t// \t\t\"Skill\": vm.userskill,\r\n\t\t// \t\t\"UserVerificationStatus\": vm.UserVerificationStatus,\r\n\t\t// \t\t\"ExperienceStart\": res[0],\r\n\t\t// \t\t\"ExperienceEnd\": res[1],\r\n\t\t// \t\t\"Certificates\": vm.traningCertificateList,\r\n\t\t// \t\t\"IsBikeAvailable\": vm.Asset_Bike,\r\n\t\t// \t\t\"IsMobileAvailable\": vm.Asset_Mobile,\r\n\t\t// \t\t\"IsLaptopAvailable\": vm.Asset_Laptop,\r\n\t\t// \t\t\"Tools\": vm.Asset_Tools,\r\n\t\t// \t\t\"JobCountStart\": jobscount[0],\r\n\t\t// \t\t\"JobCountEnd\": jobscount[1],\r\n\t\t// \t\t\"RatingStart\": Number(ratings[0]),\r\n\t\t// \t\t\"RatingEnd\": Number(ratings[1]),\r\n\t\t// \t\t\"PreferredTalentPool\": false,\r\n\t\t// \t\t\"IsFreelancerBidCount\": vm.IsFreelancerBidCount,\r\n\t\t// \t\t\"IsFixedTeamCount\": vm.IsFixedTeamCount,\r\n\t\t// \t\t\"FreelancerRole\": vm.freelancerRole,\r\n\t\t// \t\t\"UserStatus\": vm.UserStatus,\r\n\t\t// \t\t\"ContactNumber\": vm.ContactNumber,\r\n\t\t// \t\t\"UserName\": vm.UserName,\r\n\t\t// \t\t\"UserId\": vm.UserId,\r\n\t\t// \t\t\"IsStudent\": vm.Student,\r\n\t\t// \t\t\"MMFPrimeMember\": $scope.Prime,\r\n\t\t// \t\t\"MMFNonPrimeMember\": $scope.NonPrime,\r\n\t\t// \t\t\"IsOpenForInternship\": vm.Intern,\r\n\t\t// \t\t\"IsAdharVerified\": vm.Adharcard,\r\n\t\t// \t\t\"BrandName\": vm.ServiceBrand,\r\n\t\t// \t\t\"ProductServing\": vm.ServiceProduct,\r\n\t\t// \t\t\"IsBankVarified\": vm.IsBankVerified,\r\n\t\t// \t\t\"IsCriminalVerified\": vm.Criminal,\r\n\t\t// \t\t\"Source\": vm.Source,\r\n\t\t// \t\t\"OneJobDoneForSkills\": vm.OneJobDone,\r\n\t\t// \t\t\"PssStatus\": vm.PssStatus,\r\n\t\t// \t\t\"SearchTag\": vm.SearchTag,\r\n\t\t// \t\t\"ReportingTo\": vm.ReportingTo,\r\n\t\t// \t\t\"OrderBy\": vm.OrderBy,\r\n\t\t// \t\t\"SortType\": vm.SortType,\r\n\t\t// \t\t\"IsCommittedUser\": vm.IsCommittedUser,\r\n\t\t// \t\t\"IsCommitmentInterestedUser\": vm.IsCommitmentInterestedUser,\r\n\t\t// \t\t\"IsAuthorizedServiceCenterCount\": vm.IsAuthorizedServiceCenter,\r\n\t\t// \t\t\"PreferredForAccount\": vm.PreferredForAccounts,\r\n\t\t// \t\t\"TaskId\": vm.TaskId\r\n\t\t// \t}\r\n\t\t// \tAllUsersListService.Filter(loggedinUser, token, vm.userFormData).then(function (resp) {\r\n\t\t// \t\tif (resp.data) {\r\n\t\t// \t\t\tvm.pfuserlist = [];\r\n\t\t// \t\t\tvm.users = [];\r\n\t\t// \t\t\tvm.usersCounts = resp.data;\r\n\t\t// \t\t\tvm.users = resp.data.Users;\r\n\t\t// \t\t\tif (vm.users.length == 0) {\r\n\t\t// \t\t\t\tvm.showFailure('Failed', 'No User Found');\r\n\t\t// \t\t\t}\r\n\t\t// \t\t\tfor (var i = 0; i < vm.users.length; i++) {\r\n\t\t// \t\t\t\tif (vm.users[i].CustomerRating) {\r\n\t\t// \t\t\t\t\tvm.users[i].CustomerRating = Number(vm.users[i].CustomerRating).toFixed(1);\r\n\t\t// \t\t\t\t}\r\n\t\t// \t\t\t}\r\n\t\t// \t\t\tvm.totalTalentPoolCount = resp.data.Count;\r\n\t\t// \t\t\t$scope.totalTalentUsers = resp.data.Count;\r\n\t\t// \t\t\t$scope.totalTableUsers = resp.data.Count;\r\n\t\t// \t\t\tif (vm.users.length < 10)\r\n\t\t// \t\t\t\tvm.usersLength = $scope.totalTalentUsers;\r\n\t\t// \t\t\telse\r\n\t\t// \t\t\t\tvm.usersLength = tuPageIndex * 10;\r\n\t\t// \t\t\tif (tuPageIndex == 1)\r\n\t\t// \t\t\t\tvm.techpageindexCount = 1;\r\n\t\t// \t\t\telse\r\n\t\t// \t\t\t\tvm.techpageindexCount = (((tuPageIndex - 1) * 10) + 1);\r\n\t\t// \t\t\tif (vm.users.length < 10)\r\n\t\t// \t\t\t\tvm.usersLength = $scope.totalTalentUsers;\r\n\t\t// \t\t\telse\r\n\t\t// \t\t\t\tvm.usersLength = tuPageIndex * 10;\r\n\t\t// \t\t\tif (tuPageIndex == 1)\r\n\t\t// \t\t\t\tvm.techpageindexCount = 1;\r\n\t\t// \t\t\telse\r\n\t\t// \t\t\t\tvm.techpageindexCount = (((tuPageIndex - 1) * 10) + 1);\r\n\t\t// \t\t\tif (vm.users.length > 0) {\r\n\t\t// \t\t\t\tfor (var i = 0; i < vm.users.length; i++) {\r\n\t\t// \t\t\t\t\tif (vm.users[i].FavoriteForAccounts) {\r\n\t\t// \t\t\t\t\t\tif (vm.users[i].FavoriteForAccounts.length > 0) {\r\n\t\t// \t\t\t\t\t\t\tfor (var j = 0; j < vm.users[i].FavoriteForAccounts.length; j++) {\r\n\t\t// \t\t\t\t\t\t\t\tif (vm.users[i].FavoriteForAccounts[j] == AccountID) {\r\n\t\t// \t\t\t\t\t\t\t\t\tvm.pfuserlist.push(vm.users[i]);\r\n\t\t// \t\t\t\t\t\t\t\t\tbreak;\r\n\t\t// \t\t\t\t\t\t\t\t}\r\n\t\t// \t\t\t\t\t\t\t}\r\n\t\t// \t\t\t\t\t\t}\r\n\t\t// \t\t\t\t\t}\r\n\t\t// \t\t\t\t}\r\n\t\t// \t\t\t}\r\n\t\t// \t\t\t$timeout(function () {\r\n\t\t// \t\t\t\t$scope.class1 = false;\r\n\t\t// \t\t\t}, 250);\r\n\t\t// \t\t}\r\n\t\t// \t})\r\n\t\t// \tvm.UserCountbyFilter();\r\n\t\t// }\r\n\r\n\t\t// vm.UserCountbyFilter = function () {\r\n\t\t// \tAllUsersListService.UserCountbyFilter(loggedinUser, token, vm.userFormData).then(function (resp) {\r\n\t\t// \t\tif (resp.data) {\r\n\t\t// \t\t\tvm.TotalUsersCount = resp.data.Count;\r\n\t\t// \t\t\tvm.BasicInformation = resp.data.BasicInformation;\r\n\t\t// \t\t\tvm.TotalInvitedUserCount = resp.data.TotalInvitedUserCount;\r\n\t\t// \t\t\tvm.LocationAndSkill = resp.data.LocationAndSkill;\r\n\t\t// \t\t\tvm.Backgroundverified = resp.data.Backgroundverified;\r\n\t\t// \t\t\tvm.Paymentverified = resp.data.Paymentverified;\r\n\t\t// \t\t\tvm.PoliceVerified = resp.data.PoliceVerified;\r\n\t\t// \t\t\tvm.CriminalVerified = resp.data.CriminalVerified;\r\n\t\t// \t\t\tvm.TotalActiveFrUsersCount = resp.data.TotalActiveFrUsersCount;\r\n\t\t// \t\t\tvm.TotalActiveFVUsersCount = resp.data.TotalActiveFVUsersCount;\r\n\t\t// \t\t\tvm.TotalActiveFVTUsersCount = resp.data.TotalActiveFVTUsersCount;\r\n\t\t// \t\t\tvm.FixedTeamCount = resp.data.FixedTeamCount;\r\n\t\t// \t\t\tvm.PrimeMember = resp.data.PrimeMember;\r\n\t\t// \t\t\tvm.NonPrimeMember = resp.data.NonPrimeMember;\r\n\t\t// \t\t\tvm.TotalActiveUsersCount = resp.data.TotalActiveUsersCount;\r\n\t\t// \t\t\tvm.Count = resp.data.Count;\r\n\t\t// \t\t\tvm.TotalRegisterUser = resp.data.TotalRegisterUser;\r\n\t\t// \t\t\tvm.TotalFreelancerBidCount = resp.data.TotalFreelancerBidCount;\r\n\t\t// \t\t\tvm.OneJobDoneCount = resp.data.OneJobDoneCount;\r\n\t\t// \t\t\tvm.NonPrimeMoreThanTenCount = resp.data.NonPrimeMoreThanTenCount;\r\n\t\t// \t\t\tvm.LeadReceivedUserCount = resp.data.LeadReceivedUserCount;\r\n\t\t// \t\t\tvm.LeadNotReceivedUserCount = resp.data.LeadNotReceivedUserCount;\r\n\t\t// \t\t\tvm.LeadAcceptedUserCount = resp.data.LeadAcceptedUserCount;\r\n\t\t// \t\t\tvm.LeadNotAcceptedUserCount = resp.data.LeadNotAcceptedUserCount;\r\n\t\t// \t\t\tvm.JobRejectionBreachedCount = resp.data.JobRejectionBreachedCount;\r\n\t\t// \t\t\tvm.JobRejectionMetCount = resp.data.JobRejectionMetCount;\r\n\t\t// \t\t\tvm.SOPAdherenceBreachedCount = resp.data.SOPAdherenceBreachedCount;\r\n\t\t// \t\t\tvm.SOPAdherenceMetCount = resp.data.SOPAdherenceMetCount;\r\n\t\t// \t\t\tvm.AuthorizedServiceParnterDetailCount = resp.data.AuthorizedServiceParnterDetailCount;\r\n\t\t// \t\t\tvm.AuthorizedServiceParnterDetailCountActive = resp.data.AuthorizedServiceParnterDetailCountActive;\r\n\t\t// \t\t\tvm.AuthorizedServiceParnterDetailCountInActive = resp.data.AuthorizedServiceParnterDetailCountInActive;\r\n\t\t// \t\t\tvm.CommitmentInterestedUserCount = resp.data.CommitmentInterestedUserCount;\r\n\t\t// \t\t\tvm.CommittedUserCount = resp.data.CommittedUserCount\r\n\t\t// \t\t}\r\n\t\t// \t})\r\n\t\t// }\r\n\t\t// vm.AllapplyTalentPoolfilter();\r\n\r\n\t\t// $scope.isOpen = false;\r\n\t\t// $scope.isOpen1 = false;\r\n\t\t// $scope.isCollapsed = true;\r\n\t\t// $scope.isCollapsed0 = true;\r\n\t\t// $scope.isCollapsed1 = true;\r\n\t\t// $scope.isCollapsed2 = true;\r\n\t\t// $scope.isCollapsed3 = true;\r\n\t\t// $scope.isCollapsed4 = true;\r\n\t\t// $scope.isCollapsed19 = true;\r\n\t\t// $scope.isCollapsed21 = true;\r\n\t\t// $scope.isCollapsed23 = true;\r\n\t\t// $scope.isCollapsed24 = true;\r\n\t\t// $scope.isCollapsed26 = true;\r\n\t\t// $scope.isCollapsed35 = true;\r\n\t\t// $scope.isCollapsed36 = true;\r\n\t\t// $scope.isCollapsed40 = true;\r\n\t\t// $scope.isCollapsed41 = true;\r\n\t\t// $scope.isCollapsed42 = true;\r\n\t\t// $scope.isCollapsed43 = true;\r\n\t\t// $scope.isCollapsed49 = true;\r\n\r\n\t\t// $scope.activatedButton = function () {\r\n\t\t// \t$scope.isactivated = !$scope.isactivated;\r\n\t\t// }\r\n\t\t// $scope.activatedButton1 = function () {\r\n\t\t// \t$scope.isactivated1 = !$scope.isactivated1;\r\n\t\t// }\r\n\t\t// $scope.activatedButton2 = function () {\r\n\t\t// \t$scope.isactivated2 = !$scope.isactivated2;\r\n\t\t// }\r\n\t\t// $scope.activatedButton3 = function () {\r\n\t\t// \t$scope.isactivated3 = !$scope.isactivated3;\r\n\t\t// }\r\n\t\t// $scope.activatedButton4 = function () {\r\n\t\t// \t$scope.isactivated4 = !$scope.isactivated4;\r\n\t\t// }\r\n\t\t// $scope.activatedButton5 = function () {\r\n\t\t// \t$scope.isactivated5 = !$scope.isactivated5;\r\n\t\t// }\r\n\t\t// $scope.activatedButton6 = function () {\r\n\t\t// \t$scope.isactivated6 = !$scope.isactivated6;\r\n\t\t// }\r\n\t\t// $scope.activatedButton7 = function () {\r\n\t\t// \t$scope.isactivated7 = !$scope.isactivated7;\r\n\t\t// }\r\n\t\t// $scope.activatedButton8 = function () {\r\n\t\t// \t$scope.isactivated8 = !$scope.isactivated8;\r\n\t\t// }\r\n\t\t// $scope.activatedButton9 = function () {\r\n\t\t// \t$scope.isactivated9 = !$scope.isactivated9;\r\n\t\t// }\r\n\t\t// $scope.activatedButton10 = function () {\r\n\t\t// \t$scope.isactivated10 = !$scope.isactivated10;\r\n\t\t// }\r\n\t\t// $scope.activatedButton11 = function () {\r\n\t\t// \t$scope.isactivated11 = !$scope.isactivated11;\r\n\t\t// }\r\n\t\t// $scope.activatedButton12 = function () {\r\n\t\t// \t$scope.isactivated12 = !$scope.isactivated12;\r\n\t\t// }\r\n\t\t// $scope.activatedButton13 = function () {\r\n\t\t// \t$scope.isactivated13 = !$scope.isactivated13;\r\n\t\t// }\r\n\t\t// $scope.activatedButton14 = function () {\r\n\t\t// \t$scope.isactivated14 = !$scope.isactivated14;\r\n\t\t// }\r\n\t\t// $scope.activatedButton15 = function () {\r\n\t\t// \t$scope.isactivated15 = !$scope.isactivated15;\r\n\t\t// }\r\n\t\t// $scope.activatedButton16 = function () {\r\n\t\t// \t$scope.isactivated16 = !$scope.isactivated16;\r\n\t\t// }\r\n\t\t// $scope.activatedButton17 = function () {\r\n\t\t// \t$scope.isactivated17 = !$scope.isactivated17;\r\n\t\t// }\r\n\t\t// $scope.activatedButton18 = function () {\r\n\t\t// \t$scope.isactivated18 = !$scope.isactivated18;\r\n\t\t// }\r\n\t\t// $scope.activatedButton19 = function () {\r\n\t\t// \t$scope.isactivated19 = !$scope.isactivated19;\r\n\t\t// }\r\n\r\n\t\t// $scope.activatedButton20 = function () {\r\n\t\t// \t$scope.isactivated20 = !$scope.isactivated20;\r\n\t\t// }\r\n\t\t// $scope.activatedButton21 = function () {\r\n\t\t// \t$scope.isactivated21 = !$scope.isactivated21;\r\n\t\t// }\r\n\t\t// $scope.activatedButton22 = function () {\r\n\t\t// \t$scope.isactivated22 = !$scope.isactivated22;\r\n\t\t// }\r\n\t\t// $scope.activatedButton23 = function () {\r\n\t\t// \t$scope.isactivated23 = !$scope.isactivated23;\r\n\t\t// }\r\n\t\t// $scope.activatedButton24 = function () {\r\n\t\t// \t$scope.isactivated24 = !$scope.isactivated24;\r\n\t\t// }\r\n\t\t// $scope.activatedButton25 = function () {\r\n\t\t// \t$scope.isactivated25 = !$scope.isactivated25;\r\n\t\t// }\r\n\t\t// $scope.activatedButton26 = function () {\r\n\t\t// \t$scope.isactivated26 = !$scope.isactivated26;\r\n\t\t// }\r\n\t\t// $scope.activatedButton27 = function () {\r\n\t\t// \t$scope.isactivated27 = !$scope.isactivated27;\r\n\t\t// }\r\n\t\t// $scope.activatedButton28 = function () {\r\n\t\t// \t$scope.isactivated28 = !$scope.isactivated28;\r\n\t\t// }\r\n\t\t// $scope.activatedButton29 = function () {\r\n\t\t// \t$scope.isactivated29 = !$scope.isactivated29;\r\n\t\t// }\r\n\t\t// $scope.activatedButton30 = function () {\r\n\t\t// \t$scope.isactivated30 = !$scope.isactivated30;\r\n\t\t// }\r\n\t\t// $scope.activatedButton31 = function () {\r\n\t\t// \t$scope.isactivated31 = !$scope.isactivated31;\r\n\t\t// }\r\n\t\t// $scope.activatedButton32 = function () {\r\n\t\t// \t$scope.isactivated32 = !$scope.isactivated32;\r\n\t\t// }\r\n\t\t// $scope.activatedButton33 = function () {\r\n\t\t// \t$scope.isactivated33 = !$scope.isactivated33;\r\n\t\t// }\r\n\t\t// $scope.activatedButton34 = function () {\r\n\t\t// \t$scope.isactivated34 = !$scope.isactivated34;\r\n\t\t// }\r\n\t\t// $scope.activatedButton35 = function () {\r\n\t\t// \t$scope.isactivated35 = !$scope.isactivated35;\r\n\t\t// }\r\n\t\t// $scope.activatedButton36 = function () {\r\n\t\t// \t$scope.isactivated36 = !$scope.isactivated36;\r\n\t\t// }\r\n\t\t// $scope.activatedButton37 = function () {\r\n\t\t// \t$scope.isactivated37 = !$scope.isactivated37;\r\n\t\t// }\r\n\t\t// $scope.activatedButton38 = function () {\r\n\t\t// \t$scope.isactivated38 = !$scope.isactivated38;\r\n\t\t// }\r\n\t\t// $scope.activatedButton39 = function () {\r\n\t\t// \t$scope.isactivated39 = !$scope.isactivated39;\r\n\t\t// }\r\n\t\t// $scope.activatedButton40 = function () {\r\n\t\t// \t$scope.isactivated40 = !$scope.isactivated40;\r\n\t\t// }\r\n\r\n\t\t\r\n\t\tvm.sortColumn = function (col) {\r\n\t\t\tvm.OrderBy = col;\r\n\t\t\tif (vm.SortType == 'desc') {\r\n\t\t\t vm.SortType = 'asc';\r\n\t\t\t vm.reverseclass = 'fa fa-arrow-up';\r\n\t\t\t} else {\r\n\t\t\t vm.SortType = 'desc';\r\n\t\t\t vm.reverseclass = 'fa fa-arrow-down';\r\n\t\t\t}\r\n\t\t\t// vm.AllapplyTalentPoolfilter();\r\n\t\t };\r\n\t \r\n\t\t vm.sortClass = function (col) {\r\n\t\t\tif (vm.OrderBy == col) {\r\n\t\t\t if (vm.SortType == 'desc') {\r\n\t\t\t\treturn 'fa fa-arrow-down';\r\n\t\t\t } else {\r\n\t\t\t\treturn 'fa fa-arrow-up';\r\n\t\t\t }\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t return \"\";\r\n\t\t\t}\r\n\t\t }\r\n\r\n\t\t// vm.GetAllActivitiesForUser = function (userId) {\r\n\t\t// \tvm.CallingUser = userId;\r\n\t\t// \tCommittmentOpsService.GetAllActivitiesForUser(userId, loggedinUser, token).then(function (resp) {\r\n\t\t// \t\tvm.UserActivityInfo = resp.data;\r\n\t\t// \t});\r\n\t\t// }\r\n\r\n// \t\tvm.CommittmentModelOpen = function (userid) {\r\n// \t\t\tvm.userCommittmentId = userid;\r\n// \t\t\tvm.CommittmentModel = $uibModal.open({\r\n// \t\t\t\ttemplateUrl: 'committmentmodel.html',\r\n// \t\t\t\tbackdrop: 'static',\r\n// \t\t\t\tsize: 'lg',\r\n// \t\t\t\tscope: $scope\r\n// \t\t\t});\r\n// \t\t}\r\n// \t\tvm.CloseCommittmentModel = function () {\r\n// \t\t\tvm.CommittmentModel.close();\r\n// \t\t\tvm.userCommittmentDate = new Date();\r\n// \t\t\tvm.userCommittmentStatus = \"Interested\";\r\n// \t\t\tvm.userCommittmentId = \"\";\r\n// \t\t\tvm.userComments = \"\";\r\n// \t\t\tvm.userCommittmentReason = \"\";\r\n// \t\t}\r\n\r\n// \t\tvm.CommittmentFollowUp = function () {\r\n// \t\t\tvm.committment_form.submitted = true;\r\n// \t\t\t// if (vm.userCommittmentStatus) {\r\n// \t\t\t\tif(vm.committment_form.$valid){\r\n// \t\t\t\tif (vm.userCommittmentStatus == 'NotInterested') {\r\n// \t\t\t\t\tvm.userCommittmentDate = \"\";\r\n// \t\t\t\t}\r\n// \t\t\t\telse {\r\n// \t\t\t\t\tvm.userCommittmentDate = moment(vm.userCommittmentDate).format(\"YYYY-MM-DD\");\r\n// \t\t\t\t}\r\n\t\t\t\t\r\n// \t\t\t\tvar data = {\r\n// \t\t\t\t\t\"CommittmentStatus\": vm.userCommittmentStatus,\r\n// \t\t\t\t\t\"CommittmentReason\": vm.userCommittmentReason,\r\n// \t\t\t\t\t\"UserComment\": vm.userComments,\r\n// \t\t\t\t\t\"Date\": vm.userCommittmentDate,\r\n// \t\t\t\t\t\"UserId\": vm.userCommittmentId,\r\n// \t\t\t\t}\r\n\t\t\t\t\r\n\r\n\r\n// \t\t\t\tCommittmentOpsService.CommittmentFollowUp(data, loggedinUser, token).then(function (resp) {\r\n// \t\t\t\t\tif (resp && resp.status == 200) {\r\n// \t\t\t\t\t\tvm.showSuccess(\"Success\", resp.data.Message);\r\n// \t\t\t\t\t\tvm.CloseCommittmentModel();\r\n// \t\t\t\t\t\t$timeout(function () {\r\n// \t\t\t\t\t\t\tvm.AllapplyTalentPoolfilter();\r\n// \t\t\t\t\t\t}, 2000);\r\n// \t\t\t\t\t}\r\n// \t\t\t\t\telse {\r\n// \t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n// \t\t\t\t\t}\r\n// \t\t\t\t});\r\n\t\t\t\r\n// \t\t// }\r\n// \t\t\t// else {\r\n// \t\t\t// \tvm.showFailure(\"Failed\", \"Please select committment status.\");\r\n// \t\t\t// }\r\n// }\r\n// \t\t}\r\n\r\n\t\t// vm.OpenTracking = function (user) {\r\n\t\t// \t$state.go('index.PincodeFinder', {\r\n\t\t// \t\tuserId: user.UserId,\r\n\t\t// \t}, {\r\n\t\t// \t\treload: true\r\n\t\t// \t});\r\n\t\t// }\r\n\r\n\t\t// $scope.followupmodal = true;\r\n\t\t// $scope.toggleForBroadcastnew = function () {\r\n\t\t// \t$scope.followupmodal = !$scope.followupmodal;\r\n\t\t// \t$scope.myvalue = true;\r\n\r\n\t\t// };\r\n\r\n\t\t// vm.CloseingRemark = \"\";\r\n\t\t// vm.OnBoardingTaskModelOpen = function (taskid) {\r\n\t\t// \tvm.CommitmentTaskId = taskid;\r\n\t\t// \tvm.OnBoardingTaskmodel = $uibModal.open({\r\n\t\t// \t\ttemplateUrl: 'OnBoardingTaskmodel.html',\r\n\t\t// \t\tbackdrop: 'static',\r\n\t\t// \t\tsize: 'lg',\r\n\t\t// \t\tscope: $scope\r\n\t\t// \t});\r\n\t\t// }\r\n\r\n\t\t// vm.CloseOnBoardingTaskModel = function () {\r\n\t\t// \tvm.OnBoardingTaskmodel.close();\r\n\t\t// \tvm.CommitmentTaskId = \"\";\r\n\t\t// \tvm.CloseingRemark = \"\";\r\n\t\t// \tvm.closeuserCommittmentStatus = \"Interested\";\r\n\t\t// }\r\n\r\n\r\n\t\t// vm.CloseOnBoardingTask = function () {\r\n\t\t// \tif (vm.closeuserCommittmentStatus == 'NotInterested') {\r\n\t\t// \t\tvm.userCommittmentDate = \"\";\r\n\t\t// \t}\r\n\t\t// \telse {\r\n\t\t// \t\tvm.userCommittmentDate = moment(vm.userCommittmentDate).format(\"YYYY-MM-DD\");\r\n\t\t// \t}\r\n\t\t// \tvar data = {\r\n\t\t// \t\t\"TaskId\": vm.CommitmentTaskId,\r\n\t\t// \t\t\"CloseingRemark\": vm.CloseingRemark,\r\n\t\t// \t\t\"CommittmentStatus\": vm.closeuserCommittmentStatus,\r\n\t\t// \t\t\"Date\": vm.userCommittmentDate,\r\n\t\t// \t}\r\n\t\t// \tCommittmentOpsService.CloseOnBoardingTask(data, loggedinUser, token).then(function (resp) {\r\n\t\t// \t\tif (resp && resp.status == 200) {\r\n\t\t// \t\t\tvm.showSuccess(\"Success\", resp.data.Message);\r\n\t\t// \t\t\tvm.CloseOnBoardingTaskModel();\r\n\t\t// \t\t}\r\n\t\t// \t\telse {\r\n\t\t// \t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t// \t\t}\r\n\t\t// \t});\r\n\t\t// }\r\n\r\n\t}\r\n});\nangular.module('inspinia').service('OpenBucketAssignationService', function (ApiURL, FreelancerURL,LocationURL,PublicApiURL, $log, $http,$localStorage,$window) {\r\n\r\n \r\n});\nangular.module('inspinia').controller('OpenBucketAssignationController', function (OpenBucketAssignationService, ReferService, toaster, $filter, $rootScope, PublicApiURL, $window, $log, $q, $compile, DTOptionsBuilder, DTColumnDefBuilder, DTColumnBuilder, $uibModal, $localStorage, ticketTemplateService, $scope, $state, FreelancerURL, ApiURL, $timeout) {\r\n vm = this;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n } else { \r\n \r\n }\r\n});\r\n \nangular.module('inspinia').service('OpenBucketSettingsService', function (ApiURL, FreelancerURL,LocationURL,PublicApiURL, $log, $http,$localStorage,$window) {\r\n\r\n \r\n});\nangular.module('inspinia').controller('OpenBucketSettingsController', function (OpenBucketSettingsService, ReferService, toaster, $filter, $rootScope, PublicApiURL, $window, $log, $q, $compile, DTOptionsBuilder, DTColumnDefBuilder, DTColumnBuilder, $uibModal, $localStorage, ticketTemplateService, $scope, $state, FreelancerURL, ApiURL, $timeout) {\r\n vm = this;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n } else { \r\n \r\n vm.showTimes=[];\r\n vm.Priority=[];\r\n vm.bucketTimeWindow=\"\";\r\n vm.timeslotDay =[];\r\n vm.bucketSkills=\"\";\r\n vm.showTickets=\"\";\r\n vm.bucketDistance=\"\";\r\n vm.autoTimeWindow=\"\";\r\n vm.assignationMode=[];\r\n vm.userWithSecurityPayment;\r\n vm.bucketState;\r\n vm.prefrence;\r\n\r\n vm.addTimes = function() {\r\n vm.timeslotDay;\r\n }\r\n vm.updateSetting = function(){ \r\n var data = {};\r\n data = {\r\n \"UserId\": loggedinUser,\r\n \"autoTimeWindow\":vm.autoTimeWindow,\r\n \"showTime\": vm.timeslotDay,\r\n \"timeWindow\":vm.bucketTimeWindow,\r\n \"Distance\":vm.bucketDistance,\r\n \"showTickets\":vm.showTickets,\r\n \"bucketSkills\": vm.bucketSkills,\r\n \"bucketState\":vm.bucketState,\r\n \"userWithSecurityPayment\": vm.userWithSecurityPayment,\r\n \"prefrence\": vm.prefrence,\r\n \"assignationMode\":vm.assignationMode,\r\n \"Priority\": vm.Priority\r\n } \r\n \r\n OpenBucketSettingsService.updateSetting(data, token, loggedinUser).then(function(res){\r\n if (res && res.status == 201) { \r\n } \r\n });\r\n }\r\n \r\n }\r\n});\nangular.module('inspinia').service('OnBoardingFlowService', function ($http, FreelancerURL,ActivityURL, ApiURL, PublicApiURL, IntegrationAPI) {\r\n\r\n\r\n this.SaveBackgroundChecks = function (data, files, files2, files3, token, loggedinUser) {\r\n var formdata = new FormData();\r\n formdata.append(\"FrontDocFile\", files[0]);\r\n formdata.append(\"BackDocFile\", files2[0]);\r\n formdata.append(\"ThirdPartyDocFile\", files3[0]);\r\n var followupdata = JSON.stringify(data);\r\n formdata.append(\"BackgroundData\", followupdata);\r\n var url = ApiURL + '/api/Upload/UpdateBackgroundDoc';\r\n return $http.post(url, formdata, {\r\n headers: { 'Content-Type': undefined, 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.sendBoatLink = function (loggedinUser, mobileNo, skill, token, success, failure) {\r\n var url = PublicApiURL + '/api/TestSkill/SendSkillTestLink?reqUserId=' + loggedinUser + '&ContactNumber=' + mobileNo + '&skill=' + skill;\r\n $http.post(url, null, { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser } }).then(success, failure);\r\n }\r\n\r\n this.GetBasicDetailsWeb = function (UserId, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreelancerRegistration/GetBasicDetailsWeb?UserId=' + UserId;\r\n return $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n })\r\n }\r\n\r\n this.UpdateUserProfileValidationData = function (data, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerRegistration/UpdateUserProfileValidationData';\r\n return $http.put(url, data, {\r\n headers: { 'ContentType': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n\r\n this.GetBasicDetailsWebDynamic = function (UserId, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreelancerRegistration/GetBasicDetailsWebDynamic?UserId=' + UserId;\r\n return $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n })\r\n }\r\n\r\n this.GetSkillDataAndLocationWeb = function (UserId, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreelancerRegistration/GetSkillDataAndLocationWeb?UserId=' + UserId;\r\n return $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n })\r\n }\r\n\r\n this.GetInvitedTeamForRegistrationWeb = function (UserId, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreelancerVendor/GetInvitedTeamForRegistrationWeb?UserId=' + UserId;\r\n return $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n })\r\n } \r\n\r\n this.GetBankDetailsForUsers = function (UserId, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreelancerVendor/GetBankDetailsForUsers?UserId=' + UserId;\r\n return $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n })\r\n } \r\n\r\n this.GetBGverificationWeb = function (UserId, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerRegistration/GetBGverificationWeb?UserId=' + UserId;\r\n return $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n })\r\n } \r\n\r\n this.SendCommunicationInvite = function (UserId,type,step,loggedinUser, token) { \r\n var url = ApiURL + '/api/Ticket/SendCommunicationInviteOnBoarding?UserId=' + UserId +'&Type=' + type +'&Step=' + step ;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n \r\n // this.GetBasicDetails = function (UserId, loggedinUser, token) {\r\n // var url = FreelancerURL + '/api/FreelancerRegistration/GetBasicDetailsWeb?UserId=' + UserId;\r\n // return $http.get(url, {\r\n // headers: { 'ContentType': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n // })\r\n // }\r\n\r\n this.SetUserStatusInActiveMode = function (userId, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerRegistration/SetUserStatusInActiveMode?UserId=' + userId;\r\n return $http.put(url, null, {\r\n headers: { 'ContentType': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n ////External Video Uploaad List\r\n this.UploadExternalVideoList = function (newdata, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerRegistration/GetVideoKycData' ;\r\n return $http.put(url,newdata,{\r\n headers: { 'ContentType': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n this.GetAllActivitiesForUser = function (userId, loggedinUser, token) {\r\n var url = ActivityURL + '/api/Activity/GetAllActivitiesForUser?UserId=' + userId;\r\n return $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.UploadBGInteractionVideo = function (UserId,Rating, Feedback,FrontFileName, files, token, loggedinUser) {\r\n var formdata = new FormData();\r\n formdata.append(FrontFileName, files[0]);\r\n formdata.append(\"UserId\", UserId);\r\n formdata.append(\"Feedback\", Feedback);\r\n formdata.append(\"Rating\", Rating);\r\n var url = ApiURL + '/api/Upload/UploadBGInteractionVideo';\r\n return $http.post(url, formdata, {\r\n headers: { 'Content-Type': undefined, 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n\r\n this.ReTestForSkill = function (data, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/UserSkillTest/ReTestForSkill' ;\r\n return $http.put(url,data,{\r\n headers: { 'ContentType': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n})\nangular.module('inspinia').controller('OnBoardingFlowController', function (OnBoardingFlowService,AllUsersListService, $q, MainService, $filter, ReferService, FreelancerURL, $window, $location, $rootScope, $stateParams, $uibModal, $scope, $log, ImageUrl, $sce, toaster, $localStorage, $timeout, $state) {\r\n\r\n var vm = this;\r\n var UserId = $stateParams.UserId;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n vm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n var token = $localStorage.token;\r\n vm.From = $localStorage.From;\r\n vm.ActiveFVT = $localStorage.ActiveFVT;\r\n vm.IsProfileActivationRights = $localStorage.IsProfileActivationRights;\r\n if (vm.From == 'FVT') {\r\n vm.dissableBankDetails = true;\r\n }\r\n vm.showSuccess = $scope.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.main.showFailure;\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n \r\n vm.ItemComment = \"\";\r\n vm.SectionName = \"\";\r\n vm.ItemStatus = \"\";\r\n vm.searchButtonText = 'Update';\r\n vm.dissbleUpdateButton = false;\r\n vm.disableRejectButton = false;\r\n vm.editmode = false;\r\n vm.RegisteredUser = '';\r\n vm.FirstName = '';\r\n vm.BGVerificationStatus = '';\r\n vm.isnonindeximage = \"\";\r\n vm.LastName = '';\r\n vm.MobileNo = '';\r\n vm.Email = '';\r\n vm.pdfimage = '';\r\n vm.DOB = moment();\r\n vm.Gender = '';\r\n vm.Designation = '';\r\n vm.Background = '';\r\n vm.PAN = '';\r\n vm.Aadhar = '';\r\n vm.AddressLine1 = '';\r\n vm.AddressLine2 = '';\r\n vm.PermanentState = '';\r\n vm.PermanentCity = '';\r\n vm.PermanentPincode = '';\r\n vm.BaseAddressLine1 = '';\r\n vm.BaseAddressLine2 = '';\r\n vm.AccountList = [];\r\n vm.AllAccountNames = [];\r\n vm.BaseState = '';\r\n vm.BaseCity = '';\r\n vm.BasePincode = '';\r\n vm.UserId = '';\r\n vm.DocumentType = '';\r\n vm.DocumentName = '';\r\n vm.UserType = '';\r\n vm.Picture = '';\r\n vm.RegistrationStatus = '';\r\n vm.UserInfoCheck = false;\r\n vm.UserLocationCheck = false;\r\n vm.UserDocumentCheck = false;\r\n vm.UserTraningCheck = false;\r\n vm.UserBankDetailsCheck = false;\r\n vm.UserAvailableAssestCheck = false;\r\n vm.ToolAuditFiles = [];\r\n vm.ThirdPartyDocs = [];\r\n vm.FilesBackDoc = [];\r\n vm.FilesFrontDoc = [];\r\n vm.BackFileName = \"\";\r\n vm.FrontFileName = \"\";\r\n vm.UserSkillCheck = false;\r\n vm.verifyAll = false;\r\n vm.Asset_Mobile = '';\r\n vm.Asset_Laptop = '';\r\n vm.Asset_Bike = '';\r\n vm.Asset_Tools = '';\r\n vm.Asset_ToolList = [];\r\n vm.Work_Location = [];\r\n vm.PreferredLocationList = [];\r\n vm.BGDocList = [];\r\n vm.disableActivateButton = false;\r\n vm.AccountName = '';\r\n vm.AllCertificateSets = [];\r\n vm.experienceYearList = [];\r\n vm.AllSkillSets = [];\r\n vm.DocprofileImg = [];\r\n vm.CertprofileImg = [];\r\n vm.SkillList = [];\r\n vm.QualificationList = [];\r\n vm.TrainingList = [];\r\n vm.addTraningCertificateName = '';\r\n vm.tempTCertificateFile = '';\r\n vm.addSkill = '';\r\n vm.addExprence = '';\r\n vm.pathtcertificate = '';\r\n vm.error = {};\r\n vm.CoverageDistance = '';\r\n vm.IsStudent = '';\r\n vm.IsOpenForInternship = '';\r\n vm.IsPanVerified = '';\r\n vm.IsAdharVerified = '';\r\n vm.Source = '';\r\n vm.CertificateNo = '';\r\n vm.CertificateIssueDate = moment();\r\n vm.CertificateExpiryDate = moment();\r\n vm.BankAccountNo = '';\r\n vm.BankIFSC = '';\r\n vm.AccountHolderName = '';\r\n vm.FEBankDetails = {};\r\n var currentIndex = 0;\r\n vm.InsuranceDetails = {};\r\n vm.ContractDocPath = '';\r\n vm.ContractSignDate = '';\r\n vm.ToolsDetailList = [];\r\n vm.PreviousCompanyDetailsList = [];\r\n vm.VerificationCertprofileImg = [];\r\n vm.Verificationpathtcertificate = '';\r\n vm.UserExperience = '';\r\n vm.CompanyName = '';\r\n vm.FatherName = '';\r\n var today = new Date();\r\n var date = today.getFullYear() - 18;\r\n var age = (today.getMonth() + 1 + \"/\" + today.getDate() + \"/\" + date).toString();\r\n vm.maxDOB = new Date(age);\r\n vm.maxDOBStr = vm.maxDOB.toDateString();\r\n age = Date.parse(age);\r\n\r\n vm.getPicUrl = function (pic) {\r\n\r\n return ImageUrl + \"/\" + pic;\r\n }\r\n vm.PDFView = function (page) {\r\n MainService.GetImageBlob(loggedinUser, token, page).then(function (resp) {\r\n\r\n vm.pdfimage = resp.data;\r\n });\r\n $scope.selected = null;\r\n $timeout(function () {\r\n jobAppointmentModal = $uibModal.open({\r\n templateUrl: 'PDFView.html',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }, 1000)\r\n\r\n }\r\n vm.PDFUserModal = function () {\r\n jobAppointmentModal.close();\r\n }\r\n $scope.checkPDF = function (path) {\r\n\r\n var pt = path.substr(path.length - 4);\r\n if (pt == '.pdf') {\r\n vm.error = function () {\r\n $(\".pdf\").attr({ \"target\": \"_blank\" })\r\n }\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n\r\n \r\n $scope.attachBackDoc = function(files){ \r\n vm.BackFileName=\"\";\r\n var file = files.files[0];\r\n vm.BackFileName=file.name; \r\n vm.FilesBackDoc = files.files;\r\n var allowedExtensions = /(\\.pdf|\\.PDF|\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png)$/i; \r\n if(!allowedExtensions.exec(file.name)){\r\n vm.FilesBackDoc = [];\r\n vm.clear(); \r\n alert('Please upload file having extensions .pdf,.jpg,.jpeg,.png only.');\r\n }\r\n }\r\n\r\n $scope.uploadBGFilenew = function(files){ \r\n vm.FrontFileName=\"\";\r\n var file = files.files[0];\r\n vm.FrontFileName=file.name; \r\n vm.FilesFrontDoc = files.files;\r\n var allowedExtensions = /(\\.pdf|\\.PDF|\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png)$/i; \r\n if(!allowedExtensions.exec(file.name)){\r\n vm.FilesFrontDoc = [];\r\n vm.clear(); \r\n alert('Please upload file having extensions .pdf,.jpg,.jpeg,.png only.');\r\n }\r\n }\r\n\r\n vm.clear = function () {\r\n angular.element(\"input[type='file']\").val(null);\r\n }; \r\n\r\n vm.changeFile = function (selector) {\r\n angular.element(selector).trigger(\"click\");\r\n }\r\n\r\n vm.changeCertificateFile = function (selector) {\r\n angular.element(selector).trigger(\"click\");\r\n }\r\n vm.VerificationchangeCertificateFile = function (selector) {\r\n angular.element(selector).trigger(\"click\");\r\n }\r\n $scope.uploadImageFile = function (files, type) {\r\n var file = files.files[0];\r\n\r\n var rendomnumber = Math.floor(1000 + Math.random() * 9999);\r\n filename = vm.UserId + \"_ProfilePic_\" + rendomnumber + \".\" + file.name.split(\".\")[1];\r\n var file = new File([file], filename, { type: file.type });\r\n\r\n if (file.type.indexOf(\"image/jpg\") >= 0 || file.type.indexOf(\"image/png\") >= 0\r\n || file.type.indexOf(\"image/bmp\") >= 0 || file.type.indexOf(\"image/jpeg\") >= 0) {\r\n var data = new FormData();\r\n data.append(\"files\", file);\r\n OnBoardingFlowService.uploadProfilePic(loggedinUser, data, token, function (res) {\r\n if (res && res.status == 201 && res.data) {\r\n vm[type] = filename;\r\n vm.imageServices(filename);\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to upload profile pic, server error\");\r\n });\r\n } else {\r\n vm.fileUploadError = \"Please upload image only as profile picture.\";\r\n }\r\n }\r\n\r\n vm.imageServices = function (img) {\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n if (resp.data == null || resp.data == '') {\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n }\r\n else {\r\n vm.profileImg = resp.data;\r\n }\r\n console.log(vm.profileImg);\r\n }, function () {\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n });\r\n\r\n }\r\n vm.DocumentimageServices = function (img, index) {\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n vm.DocprofileImg[index] = resp.data;\r\n\r\n });\r\n\r\n }\r\n vm.CertificateimageServices = function (cert, index) {\r\n MainService.GetImageBlob(loggedinUser, token, cert).then(function (resp) {\r\n vm.CertprofileImg[index] = resp.data;\r\n });\r\n }\r\n vm.UploadCertificateimageServices = function (cert) {\r\n MainService.GetImageBlob(loggedinUser, token, cert).then(function (resp) {\r\n vm.UploadCertprofileImg = resp.data;\r\n vm.isnonindeximage = \"1\";\r\n });\r\n }\r\n vm.VerificationCertificateimageServices = function (cert, index) {\r\n MainService.GetImageBlob(loggedinUser, token, cert).then(function (resp) {\r\n vm.VerificationCertprofileImg[index] = resp.data;\r\n });\r\n }\r\n vm.Verificationisnonindeximage = \"0\";\r\n vm.VerificationUploadCertificateimageServices = function (cert) {\r\n MainService.GetImageBlob(loggedinUser, token, cert).then(function (resp) {\r\n vm.VerificationUploadCertprofileImg = resp.data;\r\n vm.Verificationisnonindeximage = \"1\";\r\n alert(vm.VerificationUploadCertprofileImg);\r\n });\r\n }\r\n\r\n\r\n $scope.uploadCertificateFile = function (elem) {\r\n var index = (angular.element(elem).attr(\"data-index\"));\r\n // var doc = vm.BGDocList[index];\r\n var traning = vm.TrainingList[index];\r\n // vm.error[traning.CertificateName] = '';\r\n var file = elem.files[0];\r\n var rendomnumber = Math.floor(1000 + Math.random() * 9999);\r\n filename = vm.UserId + \"_TraningCertificate_\" + rendomnumber + \".\" + file.name.split(\".\")[1];\r\n var file = new File([file], filename, { type: file.type });\r\n\r\n if (file.type == \"application/pdf\" || file.type == \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"\r\n || file.type == \"application/msword\" || file.type.indexOf(\"image/jpg\") >= 0 || file.type.indexOf(\"image/png\") >= 0\r\n || file.type.indexOf(\"image/bmp\") >= 0 || file.type.indexOf(\"image/jpeg\") >= 0) {\r\n var data = new FormData();\r\n data.append(\"files\", file);\r\n OnBoardingFlowService.uploadProfilePic(loggedinUser, data, token, function (res) {\r\n if (res && res.status == 201 && res.data) {\r\n vm.pathtcertificate = filename;\r\n vm.UploadCertificateimageServices(filename);\r\n if (vm.pathtcertificate) {\r\n vm.tempCertificateAdd = false;\r\n }\r\n traning.TrainingCertificate = traning.TrainingCertificate = filename;\r\n traning.CertificateName = traning.CertificateName;\r\n\r\n traning.edit = false;\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to upload certificate, server error\");\r\n });\r\n } else {\r\n vm.error[traning.CertificateName] = \"You can upload image, pdf or word document only\";\r\n }\r\n }\r\n\r\n\r\n\r\n vm.sendBoatLink = function (skill) {\r\n console.log(skill);\r\n OnBoardingFlowService.sendBoatLink(loggedinUser, vm.MobileNo, skill, token, function (res) {\r\n if (res && res.status == 201) {\r\n vm.showSuccess('Success', \"Successfully send link\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to send link, server error\");\r\n })\r\n }\r\n\r\n\r\n \r\n // New Onboarding Flow code start\r\n\r\n\r\n vm.UpdateValidationData = function () {\r\n var validationData = {\r\n \"UserId\": UserId,\r\n \"SectionName\": vm.SectionName,\r\n \"ItemName\": vm.fieldData.ItemName,\r\n \"ItemComment\": vm.ItemComment,\r\n \"ItemStatus\": vm.ItemStatus\r\n }\r\n vm.validationForm.submitted = true;\r\n if (vm.validationForm.$valid) {\r\n vm.disableRejectButton = true;\r\n OnBoardingFlowService.UpdateUserProfileValidationData(validationData, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n $timeout(function () {\r\n vm.GetBasicDetailsDynamic();\r\n vm.GetSkillDataAndLocation();\r\n vm.GetBasicDetails();\r\n vm.GetBGverificationWeb();\r\n vm.GetAllActivitiesForUser();\r\n }, 2000);\r\n if(vm.IsApprovedModelOpen == true){\r\n vm.closeApprovalPopUp();\r\n }\r\n else if (vm.IsRejectModelOpen == true){\r\n vm.closeRejectionPopUp();\r\n } \r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n if(vm.IsApprovedModelOpen == true){\r\n vm.closeApprovalPopUp();\r\n }\r\n else if (vm.IsRejectModelOpen == true){\r\n vm.closeRejectionPopUp();\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n vm.OpenRejectionPopUp = function (fieldData, Section) {\r\n vm.fieldData = fieldData;\r\n vm.IsRejectModelOpen = true;\r\n vm.ItemStatus = 'Rejected';\r\n vm.SectionName = Section;\r\n RejectionModel = $uibModal.open({\r\n templateUrl: 'rejectField_model.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n }, function () {\r\n });\r\n }\r\n\r\n vm.OpenApprovalPopUp = function (fieldData, Section) {\r\n vm.IsApprovedModelOpen = true;\r\n vm.fieldData = fieldData;\r\n vm.ItemStatus = 'Approved';\r\n vm.SectionName = Section;\r\n ApprovalModel = $uibModal.open({\r\n templateUrl: 'approveField_model.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n }, function () {\r\n });\r\n }\r\n\r\n vm.closeApprovalPopUp = function () {\r\n ApprovalModel.close();\r\n vm.ItemComment = \"\";\r\n vm.disableRejectButton = false;\r\n vm.IsApprovedModelOpen = false;\r\n }\r\n\r\n vm.closeRejectionPopUp = function () {\r\n RejectionModel.close();\r\n vm.ItemComment = \"\";\r\n vm.disableRejectButton = false;\r\n vm.IsRejectModelOpen = false;\r\n }\r\n\r\n\r\n vm.callToTechnician = function () { \r\n AllUsersListService.callToTechnicianApi(loggedinUser,UserId, token).then(function (resp) {\r\n if(resp.status == 200) {\r\n vm.showSuccess(\"Success\",\"Call Initiated\");\r\n }\r\n else {\r\n vm.showFailure(\"Failure\",resp.data.Message);\r\n } \r\n });\r\n \r\n }\r\n\r\n vm.SiteRescheduleAudit = function (index) {\r\n var data = {};\r\n data = {\r\n \"UserId\": UserId,\r\n \"docName\": vm.UserBGInfo[index].DocumentName,\r\n \"docType\": \"\",\r\n \"DocumentNo\": vm.UserBGInfo[index].DocumentNo,\r\n \"VerificationMode\": \"\",\r\n \"VerificationAuthority\": \"\",\r\n \"VerificationStatus\": \"\",\r\n \"ThirdPartyDocumentPath\": \"\"\r\n }\r\n\r\n OnBoardingFlowService.SaveBackgroundChecks(data, vm.FilesFrontDoc, vm.FilesBackDoc, vm.ThirdPartyDocs, token, loggedinUser).then(function (res) {\r\n if (res && res.status == 201) {\r\n vm.data = \"\";\r\n vm.showSuccess(\"Success\", \"Document Uploaded Successfully.\");\r\n $timeout(function () {\r\n vm.GetBGverificationWeb();\r\n }, 2000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", \"Not Uploaded\");\r\n } else {\r\n vm.showFailure(\"Failed\");\r\n }\r\n });\r\n }\r\n\r\n\r\n vm.GetBasicDetails = function () {\r\n OnBoardingFlowService.GetBasicDetailsWeb(UserId, loggedinUser, token).then(function (resp) {\r\n vm.UserBasicInfo = resp.data;\r\n vm.userProfileValidationData = vm.UserBasicInfo.userProfileValidationData;\r\n });\r\n }\r\n\r\n vm.GetBasicDetails();\r\n\r\n // vm.GetBasicDetailsList = function () {\r\n // OnBoardingFlowService.GetBasicDetails(UserId, loggedinUser, token).then(function (resp) {\r\n // vm.UserBasicInfo = resp.data;\r\n // });\r\n // }\r\n vm.GetBasicDetailsDynamic = function () {\r\n OnBoardingFlowService.GetBasicDetailsWebDynamic(UserId, loggedinUser, token).then(function (resp) {\r\n vm.UserBasicInfoList = resp.data;\r\n });\r\n }\r\n\r\n vm.GetBasicDetailsDynamic();\r\n\r\n vm.GetSkillDataAndLocation = function () {\r\n OnBoardingFlowService.GetSkillDataAndLocationWeb(UserId, loggedinUser, token).then(function (resp) {\r\n vm.UserSkillandLocationInfo = resp.data;\r\n });\r\n }\r\n\r\n vm.GetInvitedTeamForRegistration = function () {\r\n OnBoardingFlowService.GetInvitedTeamForRegistrationWeb(UserId, loggedinUser, token).then(function (resp) {\r\n vm.UserInvitedTeamInfo = resp.data;\r\n });\r\n }\r\n\r\n vm.GetBankDetailsForUsers = function () {\r\n OnBoardingFlowService.GetBankDetailsForUsers(UserId, loggedinUser, token).then(function (resp) {\r\n vm.UserBankInfo = resp.data;\r\n });\r\n }\r\n\r\n vm.GetBGverificationWeb = function () {\r\n OnBoardingFlowService.GetBGverificationWeb(UserId, loggedinUser, token).then(function (resp) {\r\n vm.UserBGInfo = resp.data.userBGverificationValidationsData;\r\n });\r\n }\r\n \r\n\r\n\r\n vm.VideoUploadPopup = function () {\r\n VideoModel = $uibModal.open({\r\n templateUrl: 'videoupload_model.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n }, function () {\r\n });\r\n \r\n }\r\n\r\n vm.file = [];\r\n $scope.uploadVideoFile = function(files){\r\n \r\n vm.FrontFileName=\"\";\r\n vm.FilesFrontDoc = files.files;\r\n vm.FrontFileName = vm.FilesFrontDoc[0].name; \r\n vm.file.push(vm.FilesFrontDoc);\t\r\n var allowedExtensions = /(\\.mp4|\\.mov|\\.avi|\\.webm|\\.m4v|\\.mov|\\.qt)$/i; \r\n if(!allowedExtensions.exec(vm.FrontFileName)){\r\n vm.FilesFrontDoc = [];\r\n vm.clear(); \r\n alert('Please upload file having extensions .mp4,.mov,.avi,.webm,.m4v,.mov,.qt only.');\r\n }\r\n }\r\n\r\n vm.VideoUploadPop = function () {\r\n VideoModel.close();\r\n $scope.skillrating = 0;\r\n vm.FeedbackRemarks = \"\";\r\n }\r\n\r\n $scope.stars = [1, 2, 3, 4, 5];\r\n $scope.skillrating = 0;\r\n \r\n $scope.setRating = function(rating) {\r\n $scope.skillrating = rating;\r\n };\r\n\r\n vm.UploadVideo = function () {\r\n var Feedback = vm.FeedbackRemarks;\r\n var Rating = $scope.skillrating;\r\n vm.disableuploadbutton = true;\r\n OnBoardingFlowService.UploadBGInteractionVideo(UserId,Rating, Feedback,vm.FrontFileName, vm.FilesFrontDoc, token, loggedinUser).then(function (res) { \r\n if (res && res.status == 201) {\r\n vm.VideoUploadPop();\r\n vm.showSuccess(\"Success\", \"Video Uploaded Successfully.\");\r\n vm.disableuploadbutton = false;\r\n $timeout (function(){\r\n vm.ExternalUpload();\r\n },2000)\r\n \r\n } else if (res && res.data && res.data.Message) {\r\n vm.VideoUploadPop();\r\n vm.showFailure(\"Failed\", \"Not Uploaded\");\r\n vm.disableuploadbutton = false;\r\n } else {\r\n vm.showFailure(\"Failed\");\r\n }\r\n });\r\n }\r\n ///External Video List\r\n vm.ExternalUpload = function () {\r\n var newdata = {};\r\n newdata = {\r\n \"UserId\": UserId,\r\n \"Type\": \"\",\r\n \"skillName\": \"\"\r\n }\r\n OnBoardingFlowService.UploadExternalVideoList(newdata, loggedinUser, token).then(function (resp) {\r\n vm.UploadVideoExternal = resp.data;\r\n });\r\n }\r\n\r\n \r\n\r\n\r\n vm.ReTestForSkill = function (skill) {\r\n var data = {};\r\n data = {\r\n \"UserId\": UserId,\r\n \"Skill\": skill \r\n }\r\n OnBoardingFlowService.ReTestForSkill(data, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n });\r\n }\r\n\r\n \r\n vm.SetUserStatusInActiveMode = function () {\r\n vm.disableActivateButton = true;\r\n OnBoardingFlowService.SetUserStatusInActiveMode(UserId,loggedinUser,token).then(function (res) {\r\n if (res && res.status == 200) {\r\n vm.showSuccess(\"Success\", res.data.Message);\r\n $timeout(function () {\r\n if(vm.loggedInUserRole == 'OnBoarding Manager' || vm.loggedInUserRole == 'SuperAdministrator' ){\r\n $state.go('index.AllUsersList', { reload: true });\r\n }\r\n else{\r\n $state.go('index.BGVerification', { reload: true });\r\n }\r\n \r\n }, 2000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\");\r\n }\r\n vm.disableActivateButton = false;\r\n });\r\n }\r\n\r\n vm.getImageDataFST = function (data) {\t\t\t\r\n\t\t\tif (data) {\r\n\t\t\t\treturn data;\r\n\t\t\t} else {\r\n\t\t\t\treturn \"assets/images/patterns/no-image.png\";\r\n\t\t\t}\r\n\t\t}\r\n\r\n vm.videoCallEnabled = false;\r\n $scope.closeDiv = function() {\r\n vm.videoCallEnabled = false;\r\n };\r\n\r\n $scope.AudioCallInitiated = false;\r\n\t\t$scope.VideoCallInitiated = false;\r\n\t\t$scope.ChatInitiated = false;\r\n\r\n vm.SendCommunicationInvite = function (type,Step) {\t\r\n vm.videoCallEnabled = true;\t\t\r\n\t\t\tif($scope.AudioCallInitiated == false && type == 'Audio') {\r\n\t\t\t\tOnBoardingFlowService.SendCommunicationInvite(UserId,type,Step,loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif(resp.status==200){\t\t\t\t\t\t\r\n\t\t\t\t\t\t{\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tvm.connectionLink = resp.data;\r\n\t\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Audio call request initiated\");\r\n\t\t\t\t\t\t\t// vm.PollVideoCallFieldLocation();\t\r\n\t\t\t\t\t\t\t$scope.AudioCallInitiated = true;\t\t\t\t\r\n\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\t}\t\r\n\t\t\telse if($scope.VideoCallInitiated == false && type == 'Video') {\r\n\t\t\t\tOnBoardingFlowService.SendCommunicationInvite(UserId,type,Step,loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif(resp.status==200){\t\t\t\t\t\t\r\n\t\t\t\t\t\t{\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tvm.connectionLink = resp.data;\r\n\t\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Video call request initiated\");\r\n\t\t\t\t\t\t\t// vm.PollVideoCallFieldLocation();\t\r\n\t\t\t\t\t\t\t$scope.VideoCallInitiated = true;\t\t\t\t\r\n\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\telse if($scope.ChatInitiated == false && type == 'Text') {\r\n\t\t\t\tOnBoardingFlowService.SendCommunicationInvite(UserId,type,Step, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif(resp.status==200){\t\t\t\t\t\t\r\n\t\t\t\t\t\t{\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tvm.connectionLink = resp.data;\r\n\t\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Communication Request Initiated\");\r\n\t\t\t\t\t\t\t// vm.PollVideoCallFieldLocation();\t\r\n\t\t\t\t\t\t\t$scope.ChatInitiated = true;\t\t\t\t\r\n\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\t}\t\t\r\n\t\t\t}\r\n\r\n vm.GetAllActivitiesForUser = function () {\r\n OnBoardingFlowService.GetAllActivitiesForUser(UserId, loggedinUser, token).then(function (resp) {\r\n vm.UserActivityInfo = resp.data;\r\n });\r\n }\r\n vm.GetAllActivitiesForUser();\r\n\r\n }\r\n})\r\n\r\nfunction CheckRegExOnKeyPress(e) {\r\n\r\n var regex = new RegExp(\"^[a-zA-Z0-9\\\\s\\\\.\\\\,\\\\-\\\\/]+$\");\r\n var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);\r\n if (regex.test(str)) {\r\n return true;\r\n }\r\n e.preventDefault();\r\n return false;\r\n};\r\nfunction CheckRegExOnKeyPressCertificate(e) {\r\n\r\n var regex = new RegExp(\"^[a-zA-Z0-9\\\\s\\\\.\\\\-\\\\\\\\]+$\");\r\n var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);\r\n if (regex.test(str)) {\r\n return true;\r\n }\r\n e.preventDefault();\r\n return false;\r\n};\r\n\r\n\nangular.module('inspinia').service('OnBoardingFormService', function($http, FreelancerURL,ApiURL,PublicApiURL,IntegrationAPI){\r\n\r\n //http://192.168.0.80:92/FreelancerAPI/api/FreeLancerRegistration/srachit46%40gmail.com/UR0000000002/GetUserByRegistrationNumber\r\n this.GetUserByRegistrationNo = function (loggedinUser, registrationNo, token) { \r\n var url = FreelancerURL + '/api/FreelancerRegistration/' + loggedinUser + '/' + registrationNo + '/GetUserByRegistrationNumber'\r\n return $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n })\r\n }\r\n\r\n //save button for BG check\r\n // this.CreateInvoiceToBillToAndShipTo = function (loggedinUser,token,InoviceToBillToAndShipToData) {\r\n // var url = ApiURL + '/api/Upload/BackgroundDoc';\r\n // return $http.post(url, InoviceToBillToAndShipToData, {\r\n // headers: { \r\n // 'Content-Type': 'application/json',\r\n // 'Token':token , \r\n // 'UserId':loggedinUser\r\n // }\r\n // });\r\n // }\r\n\r\n\r\n // this.SaveBackgroundChecks = function(BGDocList, files, token, loggedinUser){ \r\n // var formdata = new FormData();\t\t\r\n // if(files)\r\n // {\r\n // formdata.append(\"files\", files[0]); \r\n // }\r\n \r\n \r\n // var followupdata = JSON.stringify(BGDocList);\r\n // formdata.append(\"BackgroundData\", followupdata);\r\n // // formdata.append(\"reqUserId\", loggedinUser);\r\n // var url = ApiURL + '/api/Upload/BackgroundDoc';\r\n // return $http.post(url,formdata,{\r\n // headers:{'Content-Type':undefined,'Token':token, 'UserId': loggedinUser}\r\n // });\r\n // }\r\n\r\n this.SaveBackgroundChecks = function(BGDocList, files,files2,files3, token, loggedinUser){\r\n var formdata = new FormData();\t\t\r\n formdata.append(\"FrontDocFile\", files[0]);\r\n formdata.append(\"BackDocFile\", files2[0]);\r\n formdata.append(\"ThirdPartyDocFile\", files3[0]);\t\r\n var followupdata = JSON.stringify(BGDocList);\r\n formdata.append(\"BackgroundData\", followupdata);\r\n // formdata.append(\"reqUserId\", loggedinUser);\r\n var url = ApiURL + '/api/Upload/UpdateBackgroundDoc';\r\n return $http.post(url,formdata,{\r\n headers:{'Content-Type':undefined,'Token':token, 'UserId': loggedinUser}\r\n });\r\n }\r\n\r\n this.getAllState = function (loggedinUser, token) {\r\n var url = LocationURL + '/api/Location/' + loggedinUser + '/GetAllStates';\r\n return $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n });\r\n }\r\n //http://192.168.0.80:92/LocationAPI/api/Location/saurabhgupta3371%40gmail.com/UTTAR%20PRADESH/GetCitiesByState\r\n\r\n this.getCityByState = function (loggedinUser, state) {\r\n var url = LocationURL + '/api/Location/' + loggedinUser + '/' + state + '/GetCitiesByState';\r\n return $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n });\r\n }\r\n\r\n this.updateuUser = function (loggedinUser, data, token) {\r\n var url = FreelancerURL + '/api/FreeLancerRegistration?reqUserId=' + loggedinUser;\r\n return $http.put(url, data, {\r\n headers: { 'ContentType': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n });\r\n }\r\n\r\n this.uploadProfilePic = function (loggedinUser, data, token, success, failure) {\r\n $http.post(ApiURL + '/api/UploadDoc', data,{\r\n headers: {\r\n 'Content-Type': undefined, 'Token': token, 'UserId':loggedinUser\r\n }\r\n }).then(success, failure);\r\n }\r\n// https://perf.mymobiforce.com/coreapi/api/Cetrificate/GetAll?reqUserId=F00000000000\r\n// https://perf.mymobiforce.com/coreapi/api/Cetrificate/GetAllMaster?reqUserId=F00000000000\r\n this.GetAllCertificate = function(loggedinUser, token, success, failure){\r\n // var url = ApiURL + '/api/Cetrificate/GetAll?reqUserId=' + loggedinUser;\r\n var url = ApiURL + '/api/Cetrificate/GetAllMaster?reqUserId=' + loggedinUser;\r\n return $http.get(url,{headers:{'Token':token, 'UserId':loggedinUser}}).then(function(res){\r\n if(res && res.status == 201 && res.data){\r\n success(res.data);\r\n }\r\n },function(err){\r\n failure(\"Failed\",\"Unable to get certificate list, server error.\");\r\n })\r\n }\r\n\r\n// https://perf.mymobiforce.com/coreapi/api/Tool/GetAllMaster?reqUserId=F00000000000\r\n this.GetAllToolSets = function(loggedinUser, token, success, failure){\r\n var url = ApiURL + '/api/Tool/GetAllMaster?reqUserId=' + loggedinUser;\r\n return $http.get(url,{headers:{'Token':token, 'UserId':loggedinUser}}).then(function(res){\r\n if(res && res.status == 201 && res.data){\r\n success(res.data);\r\n }\r\n },function(err){\r\n failure(\"Failed\",\"Unable to get certificate list, server error.\");\r\n })\r\n }\r\n\r\n this.getAllSkills = function(loggedinUser, token, success, failure){\r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url, {headers: {'Token': token, 'UserId':loggedinUser}}).then(function(res){\r\n if(res && res.status == 200 && res.data){\r\n success(res.data);\r\n }\r\n }, function(err){\r\n failure(\"Failed\", \"Unable to get skill list, server error.\")\r\n })\r\n }\r\n\r\n //https://db.mymobiforce.com/publicapi/api/Address/GetCountry?userId=U420000000001\r\nthis.getCountry = function (userId) {\r\n var url = PublicApiURL + '/api/Address/GetCountry?userId=' + userId;\r\n return $http.get(url, {\r\n params: {}\r\n });\r\n}\r\n\r\n//https://db.mymobiforce.com/publicapi/api/Address/GetStates?userId=U420000000001&country=QATAR\r\nthis.getStates = function (userId, country) {\r\n var url = PublicApiURL + '/api/Address/GetStates?userId=' + userId + '&country=' + country;\r\n return $http.get(url, {\r\n params: {}\r\n });\r\n}\r\n\r\n\r\n//https://db.mymobiforce.com/publicapi/api/Address/GetCities?userId=U420000000001&state=DOHA\r\nthis.getCities = function (userId, state) {\r\n var url = PublicApiURL + '/api/Address/GetCities?userId=' + userId + '&state=' + state;\r\n return $http.get(url, {\r\n params: {}\r\n });\r\n}\r\n\r\n\r\n this.GetAllCircles = function (loggedinUser, success, failure) {\r\n var url = LocationURL + '/api/Location/' + loggedinUser + '/GetAllCircles'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json' }\r\n }).then(function(res){\r\n if(res && res.status ==200 && res.data){\r\n success(res.data);\r\n } \r\n }, function(err){\r\n failure(\"Failed\", \"Unable to get locations, server is not responding correctly\");\r\n });\r\n }\r\n\r\n this.getAllAccounts = function (loggedinUser,token) { \r\n var url = FreelancerURL+ '/api/FreeLancerUser/Administrator/' + loggedinUser + '/Account';\r\n return $http.get(url, {\r\n headers: { \r\n 'Content-Type': 'application/json',\r\n 'Token':token , \r\n 'UserId':loggedinUser\r\n \r\n }\r\n });\r\n }\r\n\r\n // https://perf.mymobiforce.com/publicapi/api/TestSkill/SendSkillTestLink?reqUserId=F00000000000&ContactNumber=9711845000&skill=Water_Purifier_Service\r\n this.sendBoatLink = function(loggedinUser, mobileNo, skill, token, success, failure){\r\n var url = PublicApiURL + '/api/TestSkill/SendSkillTestLink?reqUserId=' +loggedinUser + '&ContactNumber=' + mobileNo + '&skill='+skill ;\r\n $http.post(url,null,{headers: { 'Content-Type': 'application/json','Token': token, 'UserId':loggedinUser }}).then(success, failure);\r\n }\r\n\r\n this.callToInitCverification = function(loggedinUser,UserId,token, success, failure){ \r\n var url = IntegrationAPI + '/api/VerficationIntegration/CreateCriminalVerificationRequest?UserId=' +UserId;\r\n return $http.get(url, {headers: {'Token': token, 'UserId':loggedinUser}}).then(function(res){\r\n if(res && res.status == 200 && res.data){\r\n success(res.data);\r\n }\r\n }, function(err){\r\n failure(\"Failed\")\r\n }) }\r\n\r\n\r\n this.RejectUserProfile = function (userId,rejectRemark,loggedinUser,token) {\r\n var url = FreelancerURL + '/api/FreelancerUser/RejectUserProfile?userId=' + userId + '&ProfileReviewComment=' + rejectRemark;\r\n return $http.put(url, null, {\r\n headers: { 'ContentType': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n });\r\n }\r\n\r\n this.VerifyUserProfile = function (userId,loggedinUser,token) {\r\n var url = FreelancerURL + '/api/FreelancerUser/VerifyUserProfile?userId=' + userId;\r\n return $http.put(url, null, {\r\n headers: { 'ContentType': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n });\r\n }\r\n \r\n})\nangular.module('inspinia').controller('OnBoardingFormController', function (OnBoardingFormService,ActiveUserUpdateService, $q, MainService, $filter, ReferService, FreelancerURL, $window, $location, $rootScope, $stateParams, $uibModal, $scope, $log, ImageUrl, $sce, toaster, $localStorage, $timeout, $state) {\r\n\r\n var vm = this;\r\n var RegistrationNo = $stateParams.RegistrationNo;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n vm.From = $localStorage.From;\r\n vm.ActiveFVT = $localStorage.ActiveFVT;\r\n if(vm.From == 'FVT'){\r\n vm.dissableBankDetails = true;\r\n }\r\n vm.showSuccess = $scope.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.main.showFailure;\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n vm.searchButtonText = 'Update';\r\n vm.dissbleUpdateButton = false;\r\n vm.rejectButtonStatus = 'Reject';\r\n vm.disableRejectButton = false;\r\n vm.dissableMobile = true;\r\n vm.editmode = false;\r\n vm.RegisteredUser = '';\r\n vm.FirstName = '';\r\n // vm.UpdatedOn = '';\r\n vm.BGVerificationStatus= '';\r\n vm.isnonindeximage = \"\";\r\n vm.LastName = '';\r\n vm.MobileNo = '';\r\n vm.Email = '';\r\n vm.pdfimage ='';\r\n vm.DOB = moment();\r\n vm.Gender = '';\r\n vm.Designation='';\r\n vm.Background='';\r\n vm.PAN = '';\r\n vm.Aadhar = '';\r\n vm.AddressLine1 = '';\r\n vm.AddressLine2 = '';\r\n vm.PermanentState = '';\r\n vm.PermanentCity = '';\r\n vm.PermanentPincode = '';\r\n vm.BaseAddressLine1 = '';\r\n vm.BaseAddressLine2 = '';\r\n vm.AccountList = [];\r\n vm.AllAccountNames = [];\r\n vm.BaseState = '';\r\n vm.BaseCity = '';\r\n vm.BasePincode = '';\r\n vm.UserId = '';\r\n vm.DocumentType = '';\r\n vm.DocumentName = '';\r\n vm.UserType = '';\r\n vm.Picture = '';\r\n vm.RegistrationStatus = '';\r\n vm.UserInfoCheck = false;\r\n vm.UserLocationCheck = false;\r\n vm.UserDocumentCheck = false;\r\n vm.UserTraningCheck = false;\r\n vm.UserBankDetailsCheck =false;\r\n vm.UserAvailableAssestCheck = false;\r\n vm.WorkPlaceFileName = \"\";\r\n vm.AuthFileName = \"\";\r\n vm.TrainingFileName = \"\";\r\n vm.BrandName= \"\";\r\n vm.BrandNameOther= \"\";\r\n vm.Tenure = 0;\r\n vm.ProductServing = \"\";\r\n vm.ProductServingOther = \"\";\r\n vm.ServiceCenterAddress= \"\";\r\n vm.TeamSize = 0;\r\n vm.FilesAuthDoc= [];\r\n vm.FilesTrainingDoc= [];\r\n vm.FilesWorkPlaceDoc = [];\r\n vm.ToolAuditFiles = [];\r\n vm.ThirdPartyDocs = [];\r\n vm.FilesBackDoc = [];\r\n vm.FilesFrontDoc = [];\r\n vm.BackFileName=\"\";\r\n vm.FrontFileName=\"\";\r\n vm.UserSkillCheck = false;\r\n vm.verifyAll = false;\r\n vm.Asset_Mobile = '';\r\n vm.Asset_Laptop = '';\r\n vm.Asset_Bike = '';\r\n vm.Asset_Tools = '';\r\n vm.Asset_ToolList = [];\r\n vm.Work_Location=[];\r\n vm.PreferredLocationList = [];\r\n vm.BGDocList = [];\r\n vm.AccountName = '';\r\n vm.AllCertificateSets = [];\r\n vm.experienceYearList = [];\r\n vm.AllSkillSets = [];\r\n vm.DocprofileImg =[];\r\n vm.CertprofileImg =[];\r\n vm.SkillList = [];\r\n vm.QualificationList = [];\r\n vm.TrainingList = [];\r\n vm.addTraningCertificateName = '';\r\n vm.tempTCertificateFile = '';\r\n vm.addSkill = '';\r\n vm.addExprence = '';\r\n vm.pathtcertificate = '';\r\n vm.error = {};\r\n vm.CoverageDistance = '';\r\n vm.IsStudent = '';\r\n vm.IsOpenForInternship = '';\r\n vm.IsPanVerified = '';\r\n vm.IsAdharVerified = '';\r\n vm.Source = '';\r\n vm.CertificateNo = '';\r\n vm.CertificateIssueDate = moment();\r\n vm.CertificateExpiryDate = moment();\r\n vm.BankAccountNo = '';\r\n vm.BankIFSC = '';\r\n vm.AccountHolderName = '';\r\n vm.FEBankDetails = {};\r\n var $container = $('.basicwizard1');\r\n var $p = $('.referalwizard');\r\n var currentIndex = 0;\r\n vm.InsuranceDetails = {};\r\n vm.ContractDocPath = '';\r\n vm.ContractSignDate = '';\r\n vm.ToolsDetailList=[];\r\n vm.PreviousCompanyDetailsList=[];\r\n vm.VerificationCertprofileImg = [];\r\n vm.Verificationpathtcertificate = '';\r\n vm.UserExperience='';\r\n vm.CompanyName = '';\r\n vm.FatherName = '';\r\n var today = new Date();\r\n var date = today.getFullYear() - 18;\r\n var age = (today.getMonth() + 1 + \"/\" + today.getDate() + \"/\" + date).toString();\r\n vm.maxDOB = new Date(age);\r\n vm.maxDOBStr = vm.maxDOB.toDateString();\r\n age = Date.parse(age);\r\n $scope.MaxDate = moment(age);\r\n vm.checkMaxDOB = function () {\r\n if (vm.DOB && !vm.DOB._isAMomentObject) {\r\n var splittedDOB = vm.DOB.split(\"/\");\r\n vm.DOB = moment(new Date((splittedDOB[1] + \"/\" + splittedDOB[0] + \"/\" + splittedDOB[2]).toString()));\r\n }\r\n return (vm.maxDOB - vm.DOB) < 0;\r\n }\r\n\r\n vm.qualificationList = [\"10th\", \"12th\", \"Graduation Degree/Deploma\", \"PG Degree/Deploma\"];\r\n vm.BGDocType = ['Aadhar Card', 'Address Proof', 'Pan Card','Court Information', 'Education Certificate','Police Verification','Resume','Cancelled Check','Experience Letter','GST_Certificate'];\r\n // vm.BGDocType = ['Aadhar Card', 'Address Proof', 'Pan Card', 'Court Information'];\r\n vm.BDDocSubType = {};\r\n vm.BDDocSubType['Aadhar Card'] = ['Aadhar Card', 'Voter Id Card', 'Driving License'];\r\n vm.BDDocSubType['Address Proof'] = [\"Aadhar Card\", \"Voter Id Card\", \"Driving License\", \"Passport\", \"Rent Agreement\", \"Telephone/Gas Bill\", \"Bank Passbook\"];\r\n vm.BDDocSubType['Pan Card'] = ['Pan Card'];\r\n vm.BDDocSubType['Education Certificate'] = vm.qualificationList;\r\n vm.BDDocSubType['Police Verification'] = [\"Police Verification\"];\r\n vm.BDDocSubType['Resume'] = [\"Resume\"];\r\n vm.BDDocSubType['Cancelled Check'] = [\"Cancelled Check\"];\r\n vm.BDDocSubType['Experience Letter'] = [\"Experience Letter\"];\r\n\r\n vm.GetUserByRegistrationNo = function () { \r\n OnBoardingFormService.GetUserByRegistrationNo(loggedinUser, RegistrationNo, token).then(function (resp) {\r\n var RegisteredUser = resp.data;\r\n vm.UserId = RegisteredUser.UserId;\r\n vm.FirstName = RegisteredUser.FirstName;\r\n // vm.BGDocList = RegisteredUser.BGVerificationDocPath;\r\n vm.BGVerificationStatus = RegisteredUser.BGVerificationStatus;\r\n vm.LastName = RegisteredUser.LastName;\r\n vm.ProfileRejectDate = RegisteredUser.ProfileRejectDate;\r\n vm.ProfileRejectedBy = RegisteredUser.ProfileRejectedBy;\r\n vm.ProfileResubmitDate = RegisteredUser.ProfileResubmitDate;\r\n vm.ProfileReviewComment = RegisteredUser.ProfileReviewComment;\r\n vm.DOB = moment(RegisteredUser.DOB);\r\n vm.Email = RegisteredUser.PersonalEmail;\r\n vm.Gender = RegisteredUser.Gender;\r\n vm.Designation = RegisteredUser.Designation;\r\n vm.Background =RegisteredUser.BGVerificationStatus;\r\n vm.PAN = RegisteredUser.PAN;\r\n vm.Aadhar = RegisteredUser.AdharNo;\r\n vm.MobileNo = RegisteredUser.ContactNumber;\r\n vm.AddressLine1 = RegisteredUser.PermanentAdd1;\r\n vm.AddressLine2 = RegisteredUser.PermanentAdd2;\r\n vm.PermanentState = RegisteredUser.PermanentState;\r\n vm.PermanentCity = RegisteredUser.PermanentCity?RegisteredUser.PermanentCity.toUpperCase():RegisteredUser.PermanentCity;\r\n vm.PermanentPincode = RegisteredUser.PermanentPinCode;\r\n vm.BaseAddressLine1 = RegisteredUser.CurrentAdd1;\r\n vm.BaseAddressLine2 = RegisteredUser.CurrentAdd2;\r\n vm.BaseState = RegisteredUser.CurrentState;\r\n vm.BaseCity = RegisteredUser.CurrentCity?RegisteredUser.CurrentCity.toUpperCase():RegisteredUser.CurrentCity;\r\n vm.BasePincode = RegisteredUser.CurrentPinCode;\r\n // vm.Picture = RegisteredUser.Picture;\r\n vm.RegistrationStatus = RegisteredUser.RegistrationStatus;\r\n vm.Asset_Mobile = RegisteredUser.IsMobileAvailable;\r\n vm.Asset_Bike = RegisteredUser.IsBikeAvailable;\r\n vm.Asset_Laptop = RegisteredUser.IsLaptopAvailable;\r\n vm.QualificationList = RegisteredUser.UserQualification;\r\n vm.FEBankDetails = RegisteredUser.FEBankDetails;// Added bank account details\r\n vm.UserInfoCheck = RegisteredUser.IsBasicVerified;\r\n vm.UserLocationCheck = RegisteredUser.IsLocVerified;\r\n vm.UserDocumentCheck = RegisteredUser.IsDocsVerified;\r\n vm.UserBankDetailsCheck = RegisteredUser.IsBankDetailsVerified;\r\n vm.UserTraningCheck = RegisteredUser.IsCertificationVerified;\r\n vm.UserAvailableAssestCheck = RegisteredUser.IsAssetsVerified;\r\n vm.UserSkillCheck = RegisteredUser.IsSkillsVerified;\r\n vm.CoverageDistance = RegisteredUser.CoverageDistance;\r\n vm.Asset_Tools = RegisteredUser.Tools;\r\n vm.UserType= RegisteredUser.UserType;\r\n vm.AccountList = RegisteredUser.AccountDetails;\r\n vm.InsuranceDetails = RegisteredUser.InsuranceDetails;\r\n vm.ContractDocPath = RegisteredUser.ContractDocPath;\r\n vm.ContractSignDate = RegisteredUser.ContractSignDate;\r\n vm.Work_Location =RegisteredUser.Locations;\r\n vm.IsStudent = RegisteredUser.IsStudent;\r\n vm.IsOpenForInternship = RegisteredUser.IsOpenForInternship;\r\n vm.IsPanVerified = RegisteredUser.IsPanVerified;\r\n vm.IsAdharVerified = RegisteredUser.IsAdharVerified;\r\n vm.Source = RegisteredUser.Source;\r\n vm.imageServices(RegisteredUser.Picture);\r\n vm.ToolsDetailList = RegisteredUser.ToolsDetailList;\r\n vm.ServicePartnerModel = RegisteredUser.ServicePartnerModel;\r\n vm.PreviousCompanyDetailsList = RegisteredUser.PreviousCompanyDetailsList;\r\n vm.UserExperience = RegisteredUser.Experience;\r\n vm.CompanyName = RegisteredUser.CompanyName;\r\n vm.FatherName = RegisteredUser.FatherName;\r\n $(\"#example_id\").ionRangeSlider({\r\n grid: true,\r\n min: 0,\r\n max: 400,\r\n from: vm.CoverageDistance,\r\n step : 1,\r\n skin: \"round\",\r\n postfix: \" Kms\"\r\n });\r\n\r\n if (RegisteredUser.BGVerificationDocPath) {\r\n angular.forEach(vm.BGDocType, function (d, i) {\r\n vm.BGDocList[i] = {\r\n // \"DocumentType\": e,\r\n \"DocumentName\": d,\r\n \"DocumentNo\":\"\",\r\n \"VerificationMode\":\"\",\r\n \"DocumentPath\": \"\",\r\n \"ThirdPartyDocumentPath\": \"\",\r\n \"DocumentPath\": \"\",\r\n \"ThirdPartyDocumentPath\": \"\"\r\n };\r\n \r\n for (var imageIndex = 0; imageIndex < RegisteredUser.BGVerificationDocPath.length; imageIndex++) {\r\n if (d == RegisteredUser.BGVerificationDocPath[imageIndex].DocumentName ) {\r\n vm.BGDocList[i] = RegisteredUser.BGVerificationDocPath[imageIndex];\r\n vm.BGDocList[i].DocumentNo = vm.BGDocList[i].DocumentNo;\r\n vm.BGDocList[i].DocumentPath = vm.BGDocList[i].DocumentPath;\r\n vm.BGDocList[i].ThirdPartyDocumentPath = vm.BGDocList[i].ThirdPartyDocumentPath;\r\n //vm.BGDocList[i].DocumentData = vm.DocumentimageServices(vm.BGDocList[i].DocumentPath,i);\r\n //vm.BGDocList[i].ThirdPartyDocumentData = vm.DocumentimageServices(vm.BGDocList[i].ThirdPartyDocumentPath,i);\r\n \r\n }\r\n }\r\n })\r\n }\r\n\r\n\r\n // $scope.attachThirdPartyReport = function(files){ \r\n // vm.ToolAuditFileName=\"\";\r\n // var file = files.files[0];\r\n // vm.ToolAuditFileName=file.name; \r\n // vm.ToolAuditFiles = files.files;\r\n // var allowedExtensions = /(\\.pdf|\\.PDF|\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png)$/i; \r\n // if(!allowedExtensions.exec(file.name)){\r\n // vm.ToolAuditFiles = [];\r\n // vm.clear(); \r\n // alert('Please upload file having extensions .pdf,.jpg,.jpeg,.png only.');\r\n // }\r\n // }\r\n $scope.attachThirdPartyReport = function(files){ \r\n vm.ToolAuditFileName=\"\";\r\n var file = files.files[0];\r\n vm.ToolAuditFileName=file.name; \r\n vm.ThirdPartyDocs = files.files;\r\n var allowedExtensions = /(\\.pdf|\\.PDF|\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png)$/i; \r\n if(!allowedExtensions.exec(file.name)){\r\n vm.ThirdPartyDocs = [];\r\n vm.clear(); \r\n alert('Please upload file having extensions .pdf,.jpg,.jpeg,.png only.');\r\n }\r\n }\r\n\r\n $scope.attachBackDoc = function(files){ \r\n vm.BackFileName=\"\";\r\n var file = files.files[0];\r\n vm.BackFileName=file.name; \r\n vm.FilesBackDoc = files.files;\r\n var allowedExtensions = /(\\.pdf|\\.PDF|\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png)$/i; \r\n if(!allowedExtensions.exec(file.name)){\r\n vm.FilesBackDoc = [];\r\n vm.clear(); \r\n alert('Please upload file having extensions .pdf,.jpg,.jpeg,.png only.');\r\n }\r\n }\r\n\r\n $scope.uploadBGFilenew = function(files){ \r\n vm.FrontFileName=\"\";\r\n var file = files.files[0];\r\n vm.FrontFileName=file.name; \r\n vm.FilesFrontDoc = files.files;\r\n var allowedExtensions = /(\\.pdf|\\.PDF|\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png)$/i; \r\n if(!allowedExtensions.exec(file.name)){\r\n vm.FilesFrontDoc = [];\r\n vm.clear(); \r\n alert('Please upload file having extensions .pdf,.jpg,.jpeg,.png only.');\r\n }\r\n }\r\n \r\n vm.clear = function () {\r\n angular.element(\"input[type='file']\").val(null);\r\n }; \r\n\r\n vm.DocEdit = function(index){\r\n vm.ToolAuditFiles=null; \r\n }\r\n \r\n vm.SiteRescheduleAudit = function(index){ \r\n // vm.ToolAuditFiles=[];\r\n var data = {};\r\n data = { \r\n \"UserId\": vm.UserId, \r\n \"docName\": vm.BGDocList[index].DocumentName,\r\n \"docType\": \"\",\r\n \"DocumentNo\":vm.BGDocList[index].DocumentNo,\r\n \"VerificationMode\":vm.BGDocList[index].VerificationMode,\r\n \"VerificationAuthority\":vm.BGDocList[index].VerificationAuthority,\r\n \"VerificationStatus\":vm.BGDocList[index].VerificationStatus,\r\n \"ThirdPartyDocumentPath\":vm.BGDocList[index].ThirdPartyDocumentPathName\r\n } \r\n \r\n OnBoardingFormService.SaveBackgroundChecks(data,vm.FilesFrontDoc,vm.FilesBackDoc, vm.ThirdPartyDocs, token, loggedinUser).then(function(res){\r\n if (res && res.status == 201) { \r\n vm.data=\"\"; \r\n vm.showSuccess(\"Success\", \"Document verified successfully.\");\r\n \r\n $timeout(function () {\r\n // vm.ToolAuditFileName=\"\";\r\n vm.GetUserByRegistrationNo();\r\n \r\n }, 4000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\",\"not verified\");\r\n } else {\r\n vm.showFailure(\"Failed\");\r\n }\r\n },vm.showFailure(\"Failed\", \"Please Upload Document\"));\r\n }\r\n\r\n $scope.attachAuthCertiDoc = function(files){ \r\n vm.AuthFileName = \"\";\r\n var file = files.files[0];\r\n vm.AuthFileName = file.name; \r\n vm.FilesAuthDoc = files.files;\r\n var allowedExtensions = /(\\.pdf|\\.PDF|\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png)$/i; \r\n if(!allowedExtensions.exec(file.name)){\r\n vm.FilesAuthDoc = [];\r\n vm.clear(); \r\n alert('Please upload file having extensions .pdf,.jpg,.jpeg,.png only.');\r\n }\r\n }\r\n\r\n $scope.attachTrainingDoc = function(files){ \r\n vm.TrainingFileName = \"\";\r\n var file = files.files[0];\r\n vm.TrainingFileName = file.name; \r\n vm.FilesTrainingDoc = files.files;\r\n var allowedExtensions = /(\\.pdf|\\.PDF|\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png)$/i; \r\n if(!allowedExtensions.exec(file.name)){\r\n vm.FilesTrainingDoc = [];\r\n vm.clear(); \r\n alert('Please upload file having extensions .pdf,.jpg,.jpeg,.png only.');\r\n }\r\n }\r\n\r\n $scope.attachWorkPlaceDoc = function(files){ \r\n vm.WorkPlaceFileName = \"\";\r\n var file = files.files[0];\r\n vm.WorkPlaceFileName = file.name; \r\n vm.FilesWorkPlaceDoc = files.files;\r\n var allowedExtensions = /(\\.pdf|\\.PDF|\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png)$/i; \r\n if(!allowedExtensions.exec(file.name)){\r\n vm.FilesWorkPlaceDoc = [];\r\n vm.clear(); \r\n alert('Please upload file having extensions .pdf,.jpg,.jpeg,.png only.');\r\n }\r\n }\r\n\r\n vm.UpdateAuthorizedServiceDetails = function(index){\r\n var data = {};\r\n data = {\r\n \"ServicePartnerId\": vm.ServicePartnerModel[index].ServicePartnerId,\r\n \"BrandName\": vm.BrandName,\r\n \"BrandNameOther\": vm.BrandNameOther,\r\n \"Tenure\": vm.ServicePartnerModel[index].Tenure,\r\n \"ProductServing\": vm.ProductServing,\r\n \"ProductServingOther\": vm.ProductServingOther,\r\n \"TeamSize\": vm.ServicePartnerModel[index].TeamSize,\r\n \"ServiceCenterAddress\": vm.ServicePartnerModel[index].ServiceCenterAddress,\r\n \"CertificateOfAuthorization\": vm.AuthFileName,\r\n \"TrainingCertificate\": vm.TrainingFileName,\r\n \"PhotoOfWorkPlace\":vm.WorkPlaceFileName\r\n } \r\n ActiveUserUpdateService.SaveAuthorizationData(data,vm.UserId,vm.FilesAuthDoc,vm.FilesTrainingDoc,vm.FilesWorkPlaceDoc, token, loggedinUser).then(function(res){\r\n if (res && res.status == 201) { \r\n vm.data=\"\"; \r\n vm.showSuccess(\"Success\", \"Document verified successfully.\");\r\n $timeout(function () {\r\n vm.GetUserByRegistrationNo();\r\n vm.BrandName = '';\r\n vm.BrandNameOther = '';\r\n vm.ProductServing = '';\r\n vm.ProductServingOther = '';\r\n }, 2500);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\",\"not verified\");\r\n } else {\r\n vm.showFailure(\"Failed\");\r\n }\r\n },vm.showFailure);\r\n }\r\n if (RegisteredUser.TrainingAssessment) {\r\n for (var trainingIndex = 0; trainingIndex < RegisteredUser.TrainingAssessment.length; trainingIndex++) {\r\n vm.TrainingList[trainingIndex] = RegisteredUser.TrainingAssessment[trainingIndex];\r\n vm.CertificateimageServices(vm.TrainingList[trainingIndex].TrainingCertificate,trainingIndex);\r\n\r\n // if(vm.TrainingList[trainingIndex].VerificationReportPath !=null)\r\n vm.VerificationCertificateimageServices(vm.TrainingList[trainingIndex].VerificationReportPath,trainingIndex);\r\n \r\n }\r\n }\r\n\r\n // if(RegisteredUser.BGVerificationDocPath.length > 0){\r\n \r\n // for(var doc = 0; doc< RegisteredUser.BGVerificationDocPath.length;doc++){\r\n // vm.BGDocList[doc] = RegisteredUser.BGVerificationDocPath[doc];\r\n // }\r\n // console.log(vm.BGDocList);\r\n\r\n // for( var m = 0; m 0) {\r\n vm.countrylist = resp.data.values;\r\n vm.selectedCountry = vm.countrylist[0];\r\n vm.GetAllCircles();\r\n }\r\n }\r\n })\r\n }\r\n vm.getCountry();\r\n\r\n function getallCities(state) {\r\n ReferService.getAllCity(loggedinUser, state,token).then(function (resp) {\r\n vm.CityList = resp.data;\r\n });\r\n }\r\n\r\n function getallBaseCities(state) {\r\n ReferService.getAllCity(loggedinUser, state,token).then(function (resp) {\r\n vm.BaseCityList = resp.data;\r\n });\r\n }\r\n\r\n vm.selectedState = function (state) {\r\n getallCities(state);\r\n }\r\n\r\n vm.emptyPincode = function () {\r\n vm.PermanentPincode = '';\r\n }\r\n\r\n vm.selectedBaseState = function (bstate) {\r\n getallBaseCities(bstate);\r\n }\r\n vm.emptyBasePincode = function () {\r\n vm.BasePincode = '';\r\n }\r\n\r\n vm.getPicUrl = function (pic) {\r\n \r\n return ImageUrl + \"/\" + pic;\r\n }\r\n vm.PDFView = function (page) {\r\n MainService.GetImageBlob(loggedinUser, token, page).then(function(resp) {\r\n \r\n vm.pdfimage = resp.data;\r\n });\r\n $scope.selected = null;\r\n $timeout(function(){\r\n jobAppointmentModal = $uibModal.open({\r\n templateUrl: 'PDFView.html',\r\n size :'lg',\r\n scope: $scope\r\n });\r\n },1000)\r\n \r\n }\r\n vm.PDFUserModal = function(){\r\n jobAppointmentModal.close();\r\n }\r\n\r\n vm.checkdateformat = function (_date) {\r\n \r\n var _date = _date.split(' ')[0];\r\n return vm.InsuranceDetails.IssueDate = $filter('date')(new Date(_date),'dd/MMM/yy');\r\n }\r\n $scope.checkPDF = function(path){\r\n \r\n var pt = path.substr(path.length - 4);\r\n if(pt == '.pdf'){\r\n vm.error = function(){\r\n $(\".pdf\").attr({\"target\" : \"_blank\"})\r\n }\r\n return true;\r\n }\r\n else\r\n {\r\n return false;\r\n }\r\n }\r\n \r\n vm.changeFile = function (selector) {\r\n angular.element(selector).trigger(\"click\");\r\n }\r\n\r\n vm.changeCertificateFile = function (selector) {\r\n angular.element(selector).trigger(\"click\");\r\n }\r\n vm.VerificationchangeCertificateFile = function (selector) {\r\n angular.element(selector).trigger(\"click\");\r\n }\r\n $scope.uploadImageFile = function (files, type) {\r\n var file = files.files[0];\r\n\r\n var rendomnumber = Math.floor(1000 + Math.random() * 9999);\r\n filename = vm.UserId+\"_ProfilePic_\" + rendomnumber +\".\"+ file.name.split(\".\")[1];\r\n var file = new File([file], filename, {type:file.type});\r\n\r\n if (file.type.indexOf(\"image/jpg\") >= 0 || file.type.indexOf(\"image/png\") >= 0\r\n || file.type.indexOf(\"image/bmp\") >= 0 || file.type.indexOf(\"image/jpeg\") >= 0) {\r\n var data = new FormData();\r\n data.append(\"files\", file);\r\n OnBoardingFormService.uploadProfilePic(loggedinUser, data, token, function (res) {\r\n if (res && res.status == 201 && res.data) {\r\n vm[type] = filename;\r\n vm.imageServices(filename);\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to upload profile pic, server error\");\r\n });\r\n } else {\r\n vm.fileUploadError = \"Please upload image only as profile picture.\";\r\n }\r\n }\r\n\r\n vm.imageServices = function(img){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n }\r\n else{\r\n vm.profileImg = resp.data;\r\n }\r\n console.log(vm.profileImg);\r\n }, function() {\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n });\r\n \r\n } \r\n vm.DocumentimageServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n vm.DocprofileImg[index] = resp.data;\r\n \r\n });\r\n \r\n }\r\n vm.CertificateimageServices = function(cert,index){\r\n MainService.GetImageBlob(loggedinUser, token, cert).then(function(resp) {\r\n vm.CertprofileImg[index] = resp.data; \r\n }); \r\n }\r\n vm.UploadCertificateimageServices = function(cert){\r\n MainService.GetImageBlob(loggedinUser, token, cert).then(function(resp) {\r\n vm.UploadCertprofileImg = resp.data;\r\n vm.isnonindeximage = \"1\"; \r\n }); \r\n }\r\n vm.VerificationCertificateimageServices = function(cert,index){\r\n MainService.GetImageBlob(loggedinUser, token, cert).then(function(resp) {\r\n vm.VerificationCertprofileImg[index] = resp.data; \r\n }); \r\n }\r\n vm.Verificationisnonindeximage=\"0\";\r\n vm.VerificationUploadCertificateimageServices = function(cert){\r\n MainService.GetImageBlob(loggedinUser, token, cert).then(function(resp) {\r\n vm.VerificationUploadCertprofileImg = resp.data;\r\n vm.Verificationisnonindeximage = \"1\"; \r\n alert(vm.VerificationUploadCertprofileImg); \r\n }); \r\n }\r\n\r\n // $scope.uploadBGFile = function (elem) {\r\n // var index = (angular.element(elem).attr(\"data-index\"));\r\n // var doc = vm.BGDocList[index];\r\n // vm.error[doc.DocumentType] = '';\r\n // var file = elem.files[0];\r\n\r\n // var rendomnumber = Math.floor(1000 + Math.random() * 9999);\r\n // filename = vm.UserId+\"_\"+doc.DocumentName.replace(/[^a-zA-Z0-9]/g, '') +\"_\" + rendomnumber +\".\"+ file.name.split(\".\")[1];\r\n // var file = new File([file], filename, {type:file.type});\r\n\r\n // if (file.type == \"application/pdf\" || file.type == \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"\r\n // || file.type == \"application/msword\" || file.type.indexOf(\"image/jpg\") >= 0 || file.type.indexOf(\"image/png\") >= 0\r\n // || file.type.indexOf(\"image/bmp\") >= 0 || file.type.indexOf(\"image/jpeg\") >= 0) {\r\n // var data = new FormData();\r\n // data.append(\"files\", file);\r\n // OnBoardingFormService.uploadProfilePic(loggedinUser, data, token, function (res) {\r\n // if (res && res.status == 201 && res.data) {\r\n // doc.DocumentPath = doc.DocumentPath = filename;\r\n // doc.DocumentName = doc.DocumentName;\r\n // doc.DocumentNo = doc.DocumentNo;\r\n // vm.DocumentimageServices(doc.DocumentPath,index);\r\n // doc.edit = false;\r\n // }\r\n // }, function (err) {\r\n // vm.showFailure(\"Failed\", \"File name is invalid, unable to upload document\");\r\n // });\r\n // } else {\r\n // vm.error[doc.DocumentType] = \"You can upload image, pdf or word document only\";\r\n // }\r\n // }\r\n\r\n //background Checks\r\n // $scope.uploadBGFilenew = function (elem) {\r\n // var index = (angular.element(elem).attr(\"data-index\"));\r\n // var doc = vm.BGDocList[index];\r\n // vm.error[doc.DocumentType] = '';\r\n // var file = elem.files[0];\r\n\r\n // var rendomnumber = Math.floor(1000 + Math.random() * 9999);\r\n // filename = vm.UserId+\"_\"+doc.DocumentName.replace(/[^a-zA-Z0-9]/g, '') +\"_\" + rendomnumber +\".\"+ file.name.split(\".\")[1];\r\n // var file = new File([file], filename, {type:file.type});\r\n\r\n // if (file.type == \"application/pdf\" || file.type == \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"\r\n // || file.type == \"application/msword\" || file.type.indexOf(\"image/jpg\") >= 0 || file.type.indexOf(\"image/png\") >= 0\r\n // || file.type.indexOf(\"image/bmp\") >= 0 || file.type.indexOf(\"image/jpeg\") >= 0) {\r\n // var data = new FormData();\r\n // data.append(\"files\", file);\r\n // OnBoardingFormService.uploadProfilePic(loggedinUser, data, token, function (res) {\r\n // if (res && res.status == 201 && res.data) {\r\n // doc.DocumentPath = doc.DocumentPath = filename;\r\n // doc.ThirdPartyDocumentPath = doc.ThirdPartyDocumentPath = filename;\r\n // doc.DocumentName = doc.DocumentName;\r\n // doc.DocumentNo = doc.DocumentNo;\r\n // // doc.UpdatedOn = doc.UpdatedOn;\r\n // vm.DocumentimageServices(doc.DocumentPath,index);\r\n // vm.DocumentimageServices(doc.ThirdPartyDocumentPath,index);\r\n // doc.editnew = false;\r\n // }\r\n // }, function (err) {\r\n // vm.showFailure(\"Failed\", \"File name is invalid, unable to upload document\");\r\n // });\r\n // } else {\r\n // vm.error[doc.DocumentType] = \"You can upload image, pdf or word document only\";\r\n // }\r\n // }\r\n\r\n\r\n $scope.uploadCertificateFile = function (elem) {\r\n var index = (angular.element(elem).attr(\"data-index\"));\r\n // var doc = vm.BGDocList[index];\r\n var traning = vm.TrainingList[index];\r\n // vm.error[traning.CertificateName] = '';\r\n var file = elem.files[0];\r\n var rendomnumber = Math.floor(1000 + Math.random() * 9999);\r\n filename = vm.UserId+\"_TraningCertificate_\" + rendomnumber +\".\"+ file.name.split(\".\")[1];\r\n var file = new File([file], filename, {type:file.type});\r\n\r\n if (file.type == \"application/pdf\" || file.type == \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"\r\n || file.type == \"application/msword\" || file.type.indexOf(\"image/jpg\") >= 0 || file.type.indexOf(\"image/png\") >= 0\r\n || file.type.indexOf(\"image/bmp\") >= 0 || file.type.indexOf(\"image/jpeg\") >= 0) {\r\n var data = new FormData();\r\n data.append(\"files\", file);\r\n OnBoardingFormService.uploadProfilePic(loggedinUser, data, token, function (res) {\r\n if (res && res.status == 201 && res.data) {\r\n vm.pathtcertificate = filename;\r\n vm.UploadCertificateimageServices(filename);\r\n if(vm.pathtcertificate){\r\n vm.tempCertificateAdd = false;\r\n }\r\n traning.TrainingCertificate = traning.TrainingCertificate = filename;\r\n traning.CertificateName = traning.CertificateName;\r\n \r\n traning.edit = false;\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to upload certificate, server error\");\r\n });\r\n } else {\r\n vm.error[traning.CertificateName] = \"You can upload image, pdf or word document only\";\r\n }\r\n }\r\n \r\n $scope.uploadInsurenceFile = function (elem) {\r\n var index = (angular.element(elem).attr(\"data-index\"));\r\n var doc = vm.InsuranceDetails\r\n \r\n var file = elem.files[0];\r\n \r\n var rendomnumber = Math.floor(1000 + Math.random() * 9999);\r\n filename = vm.UserId+\"_Insurence_\" + rendomnumber +\".\"+ file.name.split(\".\")[1];\r\n var file = new File([file], filename, {type:file.type});\r\n\r\n if (file.type == \"application/pdf\" || file.type == \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"\r\n || file.type == \"application/msword\" || file.type.indexOf(\"image/jpg\") >= 0 || file.type.indexOf(\"image/png\") >= 0\r\n || file.type.indexOf(\"image/bmp\") >= 0 || file.type.indexOf(\"image/jpeg\") >= 0) {\r\n\r\n var data = new FormData();\r\n data.append(\"files\", file);\r\n OnBoardingFormService.uploadProfilePic(loggedinUser, data, token, function (res) {\r\n if (res && res.status == 201 && res.data) {\r\n vm.InsuranceDetails.InsuranceImageURL = vm.InsuranceDetails.InsuranceImageURL1 = filename;\r\n \r\n vm.edit = false;\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to upload insurance document, server error\");\r\n });\r\n } else {\r\n vm.showFailure(\"Failed\", \"You can upload image, pdf or word document only\");\r\n }\r\n }\r\n vm.tempfilename=\"\";\r\n $scope.VerificationuploadCertificateFile = function (elem) { \r\n \r\n var index = (angular.element(elem).attr(\"data-index\")); \r\n var traning = vm.TrainingList[index]; \r\n var file = elem.files[0];\r\n var rendomnumber = Math.floor(1000 + Math.random() * 9999);\r\n filename = vm.UserId+\"_VerificationTraningCertificate_\" + rendomnumber +\".\"+ file.name.split(\".\")[1];\r\n var file = new File([file], filename, {type:file.type});\r\n\r\n if (file.type == \"application/pdf\" || file.type == \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"\r\n || file.type == \"application/msword\" || file.type.indexOf(\"image/jpg\") >= 0 || file.type.indexOf(\"image/png\") >= 0\r\n || file.type.indexOf(\"image/bmp\") >= 0 || file.type.indexOf(\"image/jpeg\") >= 0) {\r\n var data = new FormData();\r\n data.append(\"files\", file);\r\n OnBoardingFormService.uploadProfilePic(loggedinUser, data, token, function (res) {\r\n if (res && res.status == 201 && res.data) {\r\n vm.Verificationpathtcertificate = filename;\r\n vm.VerificationUploadCertificateimageServices(filename);\r\n \r\n if(vm.Verificationpathtcertificate){\r\n vm.VerificationtempCertificateAdd = false;\r\n }\r\n vm.tempfilename =filename;\r\n traning.VerificationReportPath = traning.VerificationReportPath = filename;\r\n traning.CertificateName = traning.CertificateName;\r\n \r\n traning.edit = false;\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to upload verification doc, server error\");\r\n });\r\n } else {\r\n vm.error[traning.CertificateName] = \"You can upload image, pdf or word document only\";\r\n }\r\n }\r\n var tempPLocation = {\r\n PreferredState: \"\",\r\n PreferredCity: \"\",\r\n PreferredPincode: \"\"\r\n }\r\n vm.PreferredLocationList.push(tempPLocation);\r\n vm.AddPreferredLocation = function () {\r\n var temp = {};\r\n vm.PreferredLocationList.push(temp);\r\n }\r\n vm.DeletePreferredLocation = function (i) {\r\n vm.PreferredLocationList.splice(i, 1);\r\n }\r\n\r\n for (var i = 0; i <= 30; i++) {\r\n vm.experienceYearList.push(i);\r\n }\r\n\r\n vm.getAllCertificate = function(){\r\n OnBoardingFormService.GetAllCertificate(loggedinUser,token,function(data){\r\n vm.AllCertificateSets = data;\r\n },vm.showFailure);\r\n }\r\n vm.getAllCertificate();\r\n\r\n vm.getAllTools = function(){\r\n OnBoardingFormService.GetAllToolSets(loggedinUser,token,function(data){\r\n vm.Asset_ToolList = data;\r\n },vm.showFailure);\r\n }\r\n vm.getAllTools();\r\n\r\n vm.addMoreTCertificate = function(){\r\n\r\n var CertificateIssueDate = $filter('date')(new Date(vm.CertificateIssueDate),'yyyy-MM-dd');\r\n var CertificateExpiryDate = $filter('date')(new Date(vm.CertificateExpiryDate),'yyyy-MM-dd');\r\n if(CertificateIssueDate >= CertificateExpiryDate ){\r\n vm.showFailure(\"Expiry date should be greater than Issue Date\");\r\n vm.showTCList = false;\r\n vm.pathtcertificate = '';\r\n vm.addTraningCertificateName = '';\r\n vm.CertificateNo = '';\r\n vm.CertificateIssueDate = moment();\r\n vm.CertificateExpiryDate = moment();\r\n vm.VerificationAgency ='';\r\n vm.Verificationpathtcertificate='';\r\n }else{\r\n var tData = {\r\n CertificateName: vm.addTraningCertificateName,\r\n TrainingCertificate: vm.pathtcertificate,\r\n CertificateNo : vm.CertificateNo,\r\n CertificateIssueDate: CertificateIssueDate,\r\n CertificateExpiryDate: CertificateExpiryDate,\r\n CertificationYear: '',\r\n AssessmentLevel: '',\r\n Description : '',\r\n VerificationAgency : vm.VerificationAgency, \r\n VerificationReportPath : vm.Verificationpathtcertificate\r\n }\r\n \r\n if(tData.CertificateName && tData.TrainingCertificate && tData.CertificateIssueDate && tData.CertificateExpiryDate){\r\n vm.TrainingList.push(tData);\r\n vm.showTCList = false;\r\n vm.addTraningCertificateName = '';\r\n vm.CertificateNo = '';\r\n vm.CertificateIssueDate = moment();\r\n vm.CertificateExpiryDate = moment();\r\n vm.pathtcertificate = '';\r\n vm.VerificationAgency ='';\r\n vm.Verificationpathtcertificate='';\r\n }else{\r\n vm.showTCList = false;\r\n vm.pathtcertificate = '';\r\n vm.addTraningCertificateName = '';\r\n vm.CertificateNo = '';\r\n vm.CertificateIssueDate = moment();\r\n vm.CertificateExpiryDate = moment();\r\n vm.VerificationAgency ='';\r\n vm.Verificationpathtcertificate='';\r\n vm.showFailure(\"Warning\", \"You must select Certificate Name,CertificateIssueDate,CertificateExpiryDate & Upload File \");\r\n }\r\n }\r\n }\r\n\r\n vm.removeCurrentCertificate = function () {\r\n vm.showTCList = false;\r\n vm.addTraningCertificateName = '';\r\n vm.pathtcertificate = '';\r\n vm.CertificateNo = '';\r\n vm.CertificateIssueDate = moment();\r\n vm.CertificateExpiryDate = moment();\r\n }\r\n\r\n vm.removeCertificate = function(index){\r\n vm.TrainingList.splice(index,1);\r\n }\r\n\r\n vm.showTCList = false;\r\n vm.addMoreCertificateInTable = function(){\r\n vm.showTCList = true;\r\n vm.tempCertificateAdd = true;\r\n }\r\n\r\n vm.tempCertificateAdd = false;\r\n // vm.enableCertificateAddButton = function(){\r\n // vm.tempCertificateAdd = true;\r\n // }\r\n\r\n vm.getCertificateSets = function () {\r\n var RemoveCertificate = [];\r\n var remainingCertificate = Array.from(vm.AllCertificateSets);\r\n angular.forEach(remainingCertificate, function (d) {\r\n for (var i = 0; i < vm.TrainingList.length; i++) {\r\n if (d.Name == vm.TrainingList[i].CertificateName) {\r\n RemoveCertificate.push(d);\r\n return;\r\n }\r\n }\r\n });\r\n angular.forEach(RemoveCertificate, function (s) {\r\n remainingCertificate.splice(remainingCertificate.indexOf(s), 1);\r\n })\r\n return remainingCertificate;\r\n }\r\n\r\n\r\n vm.getAllSkills = function () {\r\n OnBoardingFormService.getAllSkills(loggedinUser, token, function (data) {\r\n vm.AllSkillSets = data;\r\n }, vm.showFailure);\r\n }\r\n vm.getAllSkills();\r\n\r\n vm.getSkillSets = function () {\r\n var RemoveSkills = [];\r\n var remainingSkills = Array.from(vm.AllSkillSets);\r\n angular.forEach(remainingSkills, function (d) {\r\n for (var i = 0; i < vm.SkillList.length; i++) {\r\n if (d.SkillName == vm.SkillList[i].Skill) {\r\n RemoveSkills.push(d);\r\n return;\r\n }\r\n }\r\n });\r\n angular.forEach(RemoveSkills, function (s) {\r\n remainingSkills.splice(remainingSkills.indexOf(s), 1);\r\n })\r\n return remainingSkills;\r\n }\r\n\r\n vm.showRow = false;\r\n vm.addMoreSkill = function () {\r\n var skillData = {\r\n Skill: vm.addSkill,\r\n Experience: vm.addExprence,\r\n PercentageScore :'0',\r\n Brand: [],\r\n SelfRatingOnSkill: ''\r\n }\r\n \r\n if(skillData.Skill){\r\n vm.SkillList.push(skillData);\r\n vm.showRow = false;\r\n vm.addExprence = '';\r\n vm.addSkill = '';\r\n }else{\r\n vm.showRow = false;\r\n vm.addExprence = '';\r\n vm.addSkill = '';\r\n vm.showFailure(\"Warning\", \"You must select SKILL & EXPERIENCE\");\r\n }\r\n\r\n }\r\n\r\n vm.removeCurrentSkill = function () {\r\n vm.showRow = false;\r\n vm.addSkill = '';\r\n vm.addExprence = '';\r\n }\r\n\r\n vm.removeSkill = function (index) {\r\n vm.SkillList.splice(index, 1);\r\n }\r\n\r\n vm.addMoreSkillInTable = function () {\r\n vm.showRow = true;\r\n }\r\n\r\n vm.tempSkillList = [];\r\n var skillData = {\r\n Skill: \"\",\r\n Experience: \"\",\r\n Brand: [],\r\n SelfRatingOnSkill: ''\r\n }\r\n vm.tempSkillList.push(skillData);\r\n\r\n vm.tempAddMoreSkill = function () {\r\n var blank = {}\r\n vm.tempSkillList.push(blank);\r\n }\r\n\r\n vm.tempDeleteMoreSkill = function (index) {\r\n vm.tempSkillList.splice(index, 1);\r\n }\r\n\r\n vm.pushTempTOOriginal = function () {\r\n vm.closeSkillModel()\r\n for (var i = 0; i < vm.tempSkillList.length; i++) {\r\n vm.SkillList.push(vm.tempSkillList[i]);\r\n }\r\n console.log(vm.SkillList);\r\n\r\n }\r\n\r\n// private a user for particular accounts\r\n\r\n vm.getAllAccounts = function () {\r\n OnBoardingFormService.getAllAccounts(loggedinUser, token).then(function (resp) { \r\n if (resp && resp.data) { \r\n vm.AllAccounts = resp.data;\r\n } \r\n }, function () { \r\n });\r\n } \r\n vm.getAllAccounts();\r\n\r\n vm.AccountChange=function (){\r\n for (var i = 0; i < vm.AllAccounts.length; i++) {\r\n var Acc = vm.AllAccounts[i];\r\n if(Acc.CompanyName == vm.AccountName ) {\r\n vm.SelectedAccount = Acc;\r\n vm.AccountId = vm.SelectedAccount.AccountId;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n vm.getAccounts = function () {\r\n vm.AccountChange();\r\n var RemoveAccounts = [];\r\n var remainingAccounts = Array.from(vm.AllAccounts);\r\n angular.forEach(remainingAccounts, function (d) {\r\n for (var i = 0; i < vm.AccountList.length; i++) {\r\n if (d.CompanyName == vm.AccountList[i].Account) {\r\n RemoveAccounts.push(d);\r\n return;\r\n }\r\n }\r\n });\r\n angular.forEach(RemoveAccounts, function (s) {\r\n remainingAccounts.splice(remainingAccounts.indexOf(s), 1);\r\n })\r\n return remainingAccounts;\r\n }\r\n\r\n vm.showRow1 = false;\r\n vm.addMoreAccounts = function () { debugger\r\n var accountData = {\r\n Account: vm.AccountName,\r\n AccountId: vm.AccountId,\r\n }\r\n \r\n if(accountData.Account){\r\n vm.AccountList.push(accountData);\r\n vm.showRow1 = false;\r\n vm.AccountName = '';\r\n vm.AccountId = '';\r\n }else{\r\n vm.showRow1 = false;\r\n vm.AccountName = '';\r\n vm.AccountId = '';\r\n vm.showFailure(\"Warning\", \"You must select Account\");\r\n }\r\n\r\n }\r\n\r\n vm.removeCurrentAccount = function () {\r\n vm.showRow1 = false;\r\n vm.Account = '';\r\n }\r\n\r\n vm.removeAccount = function (index) {\r\n vm.AccountList.splice(index, 1);\r\n }\r\n\r\n vm.addMoreAccountsInTable = function () {\r\n vm.showRow1 = true;\r\n }\r\n\r\n\r\n vm.sendBoatLink = function(skill){\r\n console.log(skill);\r\n OnBoardingFormService.sendBoatLink(loggedinUser, vm.MobileNo, skill, token, function(res){\r\n if (res && res.status == 201){\r\n vm.showSuccess('Success', \"Successfully send link\");\r\n }\r\n },function(err){\r\n vm.showFailure(\"Failed\", \"Unable to send link, server error\");\r\n })\r\n }\r\n\r\n\r\n // vm.Addskill = function () {\r\n // vm.AllBookingList = '';\r\n // $scope.selected = null;\r\n // vm.addSkillModal = $uibModal.open({\r\n // templateUrl: 'Addskill.html',\r\n // size: 'lg',\r\n // scope: $scope\r\n // });\r\n\r\n // }\r\n\r\n // vm.closeSkillModel = function () {\r\n // vm.addSkillModal.close();\r\n // }\r\n\r\n // vm.ToolLists = function (tool) {\r\n // vm.UpdatedToolList.push(tool);\r\n // }\r\n\r\n $p.on('click', function (e) {\r\n var $current = $(e.currentTarget);\r\n var index = $p.index($current);\r\n if (index > currentIndex) {\r\n $container.addClass('forward');\r\n } else {\r\n $container.removeClass('forward');\r\n }\r\n currentIndex = index;\r\n $container.attr('data-step', index);\r\n });\r\n vm.changeStatus = function (status) {\r\n //$log.log(\"status\", status);\r\n if (status == 'Basic') {\r\n //$log.log(\"status\", status);\r\n // vm.RegistrationStatus = \"Basic Checked\";\r\n $('.referalwizard[id=\"2\"]').trigger('click', function (e) {\r\n vm.UserInfoCheck = true;\r\n var $current = $(e.currentTarget);\r\n var index = $p.index($current);\r\n if (index > currentIndex) {\r\n $container.addClass('forward');\r\n } else {\r\n $container.removeClass('forward');\r\n }\r\n currentIndex = index;\r\n $container.attr('data-step', index);\r\n });\r\n }\r\n else if (status == 'Location') {\r\n // vm.RegistrationStatus = \"Location Checked\";\r\n $('.referalwizard[id=\"3\"]').trigger('click', function (e) {\r\n vm.UserLocationCheck = true;\r\n var $current = $(e.currentTarget);\r\n var index = $p.index($current);\r\n if (index > currentIndex) {\r\n $container.addClass('forward');\r\n } else {\r\n $container.removeClass('forward');\r\n }\r\n currentIndex = index;\r\n $container.attr('data-step', index);\r\n });\r\n }\r\n else if (status == 'Document') {\r\n // vm.RegistrationStatus = \"Document Checked\";\r\n $('.referalwizard[id=\"4\"]').trigger('click', function (e) {\r\n vm.UserDocumentCheck = true;\r\n var $current = $(e.currentTarget);\r\n var index = $p.index($current);\r\n if (index > currentIndex) {\r\n $container.addClass('forward');\r\n } else {\r\n $container.removeClass('forward');\r\n }\r\n currentIndex = index;\r\n $container.attr('data-step', index);\r\n });\r\n }\r\n else if (status == 'Bank') {\r\n // vm.RegistrationStatus = \"Document Checked\";\r\n $('.referalwizard[id=\"5\"]').trigger('click', function (e) {\r\n vm.UserDocumentCheck = true;\r\n var $current = $(e.currentTarget);\r\n var index = $p.index($current);\r\n if (index > currentIndex) {\r\n $container.addClass('forward');\r\n } else {\r\n $container.removeClass('forward');\r\n }\r\n currentIndex = index;\r\n $container.attr('data-step', index);\r\n });\r\n }\r\n else if (status == 'Traning') {\r\n // vm.RegistrationStatus = \"Document Checked\";\r\n $('.referalwizard[id=\"6\"]').trigger('click', function (e) {\r\n vm.UserBankDetailsCheck = true;\r\n var $current = $(e.currentTarget);\r\n var index = $p.index($current);\r\n if (index > currentIndex) {\r\n $container.addClass('forward');\r\n } else {\r\n $container.removeClass('forward');\r\n }\r\n currentIndex = index;\r\n $container.attr('data-step', index);\r\n });\r\n }\r\n else if (status == 'Assets') {\r\n // vm.RegistrationStatus = \"Assets Checked\";\r\n $('.referalwizard[id=\"7\"]').trigger('click', function (e) {\r\n vm.UserAvailableAssestCheck = true;\r\n var $current = $(e.currentTarget);\r\n var index = $p.index($current);\r\n if (index > currentIndex) {\r\n $container.addClass('forward');\r\n } else {\r\n $container.removeClass('forward');\r\n }\r\n currentIndex = index;\r\n $container.attr('data-step', index);\r\n });\r\n }\r\n else if (status == 'Skill') {\r\n // vm.RegistrationStatus = \"Skill Checked\";\r\n $('.referalwizard[id=\"8\"]').trigger('click', function (e) {\r\n vm.UserSkillCheck = true;\r\n vm.verifyAll = true;\r\n var $current = $(e.currentTarget);\r\n var index = $p.index($current);\r\n if (index > currentIndex) {\r\n $container.addClass('forward');\r\n } else {\r\n $container.removeClass('forward');\r\n }\r\n currentIndex = index;\r\n $container.attr('data-step', index);\r\n });\r\n }\r\n }\r\n vm.outsidedateRangeChange = function () { \r\n \r\n vm.InsuranceDetails.IssueDate = vm.InsuranceDetails.IssueDate.format(\"YYYY-MM-DD\");\r\n vm.InsuranceDetails.ExpiryDate = vm.InsuranceDetails.ExpiryDate.format(\"YYYY-MM-DD\");\r\n };\r\n\r\n vm.VerifyAllUserInfo = function () {\r\n vm.verifyAll = true;\r\n vm.changeStatus('Basic');\r\n vm.changeStatus('Location');\r\n vm.changeStatus(\"Document\");\r\n vm.changeStatus(\"Bank\");\r\n vm.changeStatus(\"Traning\");\r\n vm.changeStatus(\"Assets\");\r\n vm.changeStatus(\"Skill\");\r\n vm.UserInfoCheck = true;\r\n vm.UserLocationCheck = true;\r\n vm.UserDocumentCheck = true;\r\n vm.UserBankDetailsCheck = true;\r\n vm.UserTraningCheck = true;\r\n vm.UserAvailableAssestCheck = true;\r\n vm.UserSkillCheck = true;\r\n\r\n // vm.UserInfoCheck == true ? vm.UserInfoCheck = false : vm.UserInfoCheck = true;\r\n // vm.UserLocationCheck == true ? vm.UserLocationCheck = false : vm.UserLocationCheck = true;\r\n // vm.UserDocumentCheck == true ? vm.UserDocumentCheck = false : vm.UserDocumentCheck = true;\r\n // vm.UserAvailableAssestCheck == true ? vm.UserAvailableAssestCheck = false : vm.UserAvailableAssestCheck = true;\r\n // vm.UserSkillCheck == true ? vm.UserSkillCheck = false : vm.UserSkillCheck = true;\r\n }\r\n vm.ApprovedAndRejectTool=function(IsApproved, index)\r\n { \r\n if(IsApproved==\"Approved\")\r\n vm.ApprovedRejectTool = \"Approved\";\r\n else\r\n vm.ApprovedRejectTool = \"Rejected\";\r\n \r\n vm.ToolsDetailList[index].VerificationStatus=vm.ApprovedRejectTool;\r\n }\r\n vm.ApprovedAndRejectCertificate=function(IsApproved, index)\r\n { \r\n if(IsApproved==\"Approved\")\r\n vm.ApprovedRejectCertificate = \"Approved\";\r\n else\r\n vm.ApprovedRejectCertificate = \"Rejected\";\r\n \r\n vm.TrainingList[index].VerificationStatus=vm.ApprovedRejectCertificate;\r\n }\r\n vm.updateUser = function () {\r\n \r\n vm.searchButtonText = 'Updating';\r\n vm.dissbleUpdateButton = true;\r\n \r\n if (vm.form1.$valid) {\r\n \r\n var SkillSetModel = [];\r\n for (var skillIndex = 0; skillIndex < vm.SkillList.length; skillIndex++) {\r\n SkillSetModel.push(vm.SkillList[skillIndex]);\r\n }\r\n\r\n var AccountSetModel = [];\r\n for (var accountIndex = 0; accountIndex < vm.AccountList.length; accountIndex++) {\r\n AccountSetModel.push(vm.AccountList[accountIndex]);\r\n }\r\n\r\n var TrainingAssessmentModel = [];\r\n for (var trainingIndex = 0; trainingIndex < vm.TrainingList.length; trainingIndex++) {\r\n vm.TrainingList[trainingIndex].Description = null;\r\n TrainingAssessmentModel.push(vm.TrainingList[trainingIndex]);\r\n }\r\n\r\n // console.log(vm.BGDocList);\r\n // for(var i = 0; i< vm.BGDocList.length; i++){\r\n // if(vm.BGDocList[i].DocumentType == 'Id Prof'){\r\n // vm.BGDocList[i].DocumentType = 'Aadhar Card';\r\n // vm.BGDocList[i].DocumentName = vm.BGDocList[i].DocumentName;\r\n // vm.BGDocList[i].DocumentPath = vm.BGDocList[i].DocumentPath; \r\n // }\r\n // }\r\n // console.log('After Update')\r\n // console.log(vm.BGDocList);\r\n\r\n var BGVerificationDocPathModel = [];\r\n angular.forEach(vm.BGDocList, function (d) {\r\n BGVerificationDocPathModel.push({\r\n \"DocumentType\": d.DocumentType,\r\n \"DocumentName\": d.DocumentName,\r\n \"DocumentNo\":d.DocumentNo,\r\n // \"UpdatedOn\":d.UpdatedOn,\r\n \"DocumentPath\": d.DocumentPathName,\r\n \"ThirdPartyDocumentPath\":d.ThirdPartyDocumentPathName\r\n });\r\n })\r\n \r\n if(vm.InsuranceDetails.PolicyNumber == null || vm.InsuranceDetails.PolicyNumber == \"\"){\r\n vm.InsuranceDetails = vm.InsuranceDetails;\r\n }\r\n else\r\n {\r\n var PolicyIssueDate = $filter('date')(new Date(vm.InsuranceDetails.IssueDate),'yyyy-MM-dd');\r\n var PolicyExpiryDate = $filter('date')(new Date(vm.InsuranceDetails.ExpiryDate),'yyyy-MM-dd');\r\n if(PolicyIssueDate >= PolicyExpiryDate ){\r\n vm.showFailure(\"Policy expiry date should be greater than Issue Date\");\r\n return;\r\n }\r\n var InsuranceDet = {\r\n \"PolicyNumber\": vm.InsuranceDetails.PolicyNumber,\r\n \"IssueDate\": vm.InsuranceDetails.IssueDate,\r\n \"ExpiryDate\": vm.InsuranceDetails.ExpiryDate,\r\n \"InsuranceImageURL\": vm.InsuranceDetails.InsuranceImageURL,\r\n }\r\n vm.InsuranceDetails = InsuranceDet;\r\n }\r\n \r\n \r\n // console.log(BGVerificationDocPathModel);\r\n var data = {\r\n \"UserId\": vm.UserId,\r\n \"DocumentName\" : vm.DocumentName,\r\n \"FirstName\": vm.FirstName,\r\n \"BGVerificationStatus\":vm.BGVerificationStatus,\r\n // \"UpdatedOn\":vm.UpdatedOn,\r\n \"LastName\": vm.LastName,\r\n \"Gender\": vm.Gender,\r\n \"PAN\" : vm.PAN,\r\n \"AdharNo\" : vm.Aadhar,\r\n \"DOB\": vm.DOB,\r\n \"RegistrationStatus\": vm.RegistrationStatus,\r\n \"FatherName\": vm.FatherName,\r\n \"PersonalEmail\": vm.Email,\r\n \"ContactNumber\": vm.MobileNo,\r\n \"AlternativeContactNumber\": \"\",\r\n \"CompanyName\": vm.CompanyName,\r\n \"AddressLine1\": '',\r\n \"AddressLine2\": '',\r\n \"State\": '',\r\n \"City\": '',\r\n \"PinCode\": '',\r\n \"CurAddressLine1\": vm.BaseAddressLine1,\r\n \"CurAddressLine2\": vm.BaseAddressLine2,\r\n \"CurState\": vm.BaseState,\r\n \"CurCity\": vm.BaseCity,\r\n \"CurPinCode\": vm.BasePincode,\r\n \"PerAddressLine1\": vm.AddressLine1,\r\n \"PerAddressLine2\": vm.AddressLine2,\r\n \"PerState\": vm.PermanentState,\r\n \"PerCity\": vm.PermanentCity,\r\n \"PerPinCode\": vm.PermanentPincode,\r\n \"Picture\": vm.Picture,\r\n \"UserQualification\": vm.QualificationList,\r\n \"SkillData\": SkillSetModel,\r\n \"accountData\": AccountSetModel,\r\n // \"Locations\": vm.PreferredLocation,\r\n // \"Expertise\": vm.Expertise,\r\n \"BGVerificationStatus\": vm.Background,\r\n \"FEBankDetails\": vm.FEBankDetails,// Added bank account details\r\n \"TrainingAssessment\": TrainingAssessmentModel,\r\n // \"BGVerificationDocPath\": BGVerificationDocPathModel,\r\n \"BGVerificationDocPath\": null,\r\n \"VerificationsRemarks\": null,\r\n \"IsBasicVerified\": vm.UserInfoCheck,\r\n \"IsLocVerified\": vm.UserLocationCheck,\r\n \"IsDocsVerified\": vm.UserDocumentCheck,\r\n \"IsBankDetailsVerified\": vm.UserBankDetailsCheck,\r\n \"IsCertificationVerified\" : vm.UserTraningCheck,\r\n \"IsAssetsVerified\": vm.UserAvailableAssestCheck,\r\n \"IsSkillsVerified\": vm.UserSkillCheck,\r\n \"IsMobileAvailable\": vm.Asset_Mobile,\r\n \"IsLaptopAvailable\": vm.Asset_Laptop,\r\n \"IsBikeAvailable\": vm.Asset_Bike,\r\n \"Tools\": vm.Asset_Tools,\r\n \"InsuranceDetails\": vm.InsuranceDetails,\r\n \"ContractDocPath\": vm.ContractDocPath,\r\n \"ContractSignDate\": vm.ContractSignDate,\r\n \"Locations\":vm.Work_Location,\r\n \"CoverageDistance\" : parseFloat(vm.CoverageDistance),\r\n \"IsStudent\": vm.IsStudent,\r\n \"IsOpenForInternship\": vm.IsOpenForInternship,\r\n \"IsPanVerified\" : vm.IsPanVerified,\r\n \"IsAdharVerified\" : vm.IsAdharVerified,\r\n \"Source\" : vm.Source,\r\n \"Designation\" : vm.Designation,\r\n \"ToolsDetailList\": vm.ToolsDetailList,\r\n \"Experience\" : vm.UserExperience,\r\n \"AccountDetails\":vm.AccountList\r\n }\r\n \r\n OnBoardingFormService.updateuUser(loggedinUser, data, token).then(function (resp) { \r\n if (resp.status == 202) {\r\n vm.showSuccess(\"Registration Status\", \"User Updated Successfully.\");\r\n $timeout(function () {\r\n if(vm.From == 'FVT'){\r\n $state.go('index.RegisteredVendorTeam', { reload: true });\r\n }else{\r\n $state.go('index.RegisteredAllUser', { reload: true });\r\n }\r\n \r\n }, 2000);\r\n } else if (resp.data && resp.data.Message) {\r\n vm.showFailure(\"Registration Status\", resp.data.Message);\r\n } else {\r\n vm.showFailure(\"Registration Status\", \"User could not be updated, server is not responding correctly.\");\r\n }\r\n }, function (error) {\r\n vm.showFailure(\"Registration Status\", \"User could not be updated, server is not responding correctly.\");\r\n });\r\n\r\n }\r\n else {\r\n vm.form1.submitted = true;\r\n vm.searchButtonText = 'Update';\r\n vm.showFailure(\"Failed\", \"Please enter correct details.\");\r\n vm.dissbleUpdateButton = false;\r\n }\r\n }\r\n\r\n vm.callforCriminalVerification = function(){\r\n OnBoardingFormService.callToInitCverification(loggedinUser,vm.UserId, token, function(res){\r\n if (res){\r\n $timeout(function () {\r\n vm.showSuccess('Success', res);\r\n vm.GetUserByRegistrationNo();\r\n }, 1000);\r\n }\r\n else\r\n {\r\n vm.showFailure(\"Failed\", res)\r\n }\r\n },function(){\r\n vm.showFailure(\"Failed\");\r\n })\r\n }\r\n\r\n vm.markActive = function () {\r\n if(vm.From != 'FVT'){\r\n //if( vm.FEBankDetails && vm.FEBankDetails.AccountNo && vm.FEBankDetails.IFSC && vm.FEBankDetails.AccountHolderName){\r\n if(vm.SkillList.length > 0 && vm.SkillList != null){\r\n if ((vm.BGDocList[1] && vm.BGDocList[1].DocumentPath!=null && vm.BGDocList[1].DocumentPath.length>0) && \r\n vm.BGDocList[0] && vm.BGDocList[0].DocumentPath!=null && vm.BGDocList[0].DocumentPath.length>0\r\n ) {\r\n vm.RegistrationStatus = 'Active';\r\n vm.updateUser();\r\n } else {\r\n if(vm.BGDocList[1].DocumentPath==''){\r\n vm.showFailure(\"Failed\", \"Please upload Address Proof details\");\r\n }\r\n else if(vm.BGDocList[0].DocumentPath==''){\r\n vm.showFailure(\"Failed\", \"Please Upload Aadhar Card\");\r\n }\r\n }\r\n }else{\r\n vm.showFailure(\"Failed\", \"Please enter at least one skill\");\r\n }\r\n // }else{\r\n // vm.showFailure(\"Failed\", \"Please enter AccountNo & IFSC & AccountHolderName\");\r\n // } \r\n }\r\n // && vm.BGDocList[2] && vm.BGDocList[2].DocumentPath!=null && vm.BGDocList[2].DocumentPath.length>0 \r\n if(vm.From == 'FVT'){\r\n if(vm.SkillList.length > 0 && vm.SkillList != null){\r\n if ((vm.BGDocList[1] && vm.BGDocList[1].DocumentPath!=null && vm.BGDocList[1].DocumentPath.length>0) \r\n && vm.BGDocList[0] && vm.BGDocList[0].DocumentPath!=null && vm.BGDocList[0].DocumentPath.length>0 ) {\r\n vm.RegistrationStatus = 'Active';\r\n vm.updateUser();\r\n } else {\r\n if(vm.BGDocList[1].DocumentPath==''){\r\n vm.showFailure(\"Failed\", \"Please upload Address Proof details\");\r\n }\r\n else if(vm.BGDocList[0].DocumentPath==''){\r\n vm.showFailure(\"Failed\", \"Please Upload Aadhar Card\");\r\n }\r\n }\r\n }else{\r\n vm.showFailure(\"Failed\", \"Please enter at least one skill\");\r\n }\r\n }\r\n \r\n }\r\n\r\n\r\n vm.CircleList = [];\r\n vm.GetAllCircles = function () {\r\n OnBoardingFormService.getStates(loggedinUser, vm.selectedCountry).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.values.length > 0) {\r\n vm.CircleList = resp.data.values;\r\n }\r\n }\r\n });\r\n }\r\n\r\n vm.OpenRejectionPopUp = function(){\r\n vm.RejectModel = $uibModal.open({\r\n templateUrl: 'rejectUser_model.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n }, function () { \r\n });\r\n }\r\n \r\n vm.RejectUserProfile = function(){\r\n vm.rejectForm.submitted = true;\r\n if (vm.rejectForm.$valid) { \r\n vm.rejectButtonStatus = 'Rejecting';\r\n vm.disableRejectButton = true; \r\n OnBoardingFormService.RejectUserProfile(vm.UserId,vm.rejectRemark,loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) { \r\n vm.showSuccess(\"Success\", resp.data); \r\n vm.closeRejectionPopup();\r\n $timeout(function () {\r\n vm.GetUserByRegistrationNo();\r\n }, 2000);\r\n }\r\n else{\r\n vm.showFailure(\"Failed\", resp.data); \r\n vm.closeRejectionPopup();\r\n }\r\n }); \r\n }\r\n }\r\n\r\n vm.closeRejectionPopup = function () {\r\n vm.RejectModel.close();\r\n vm.rejectRemark = \"\";\r\n vm.disableRejectButton = false; \r\n vm.rejectButtonStatus = 'Reject';\r\n }\r\n\r\n vm.VerifyUserProfile = function(){\r\n vm.disableRejectButton = true; \r\n OnBoardingFormService.VerifyUserProfile(vm.UserId,loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) { \r\n vm.showSuccess(\"Success\", resp.data); \r\n }\r\n else{\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n }); \r\n }\r\n\r\n\r\n }\r\n})\r\n\r\nfunction CheckRegExOnKeyPress(e) {\r\n \r\n var regex = new RegExp(\"^[a-zA-Z0-9\\\\s\\\\.\\\\,\\\\-\\\\/]+$\");\r\n var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);\r\n if (regex.test(str)) {\r\n return true;\r\n }\r\n e.preventDefault();\r\n return false;\r\n};\r\nfunction CheckRegExOnKeyPressCertificate(e) {\r\n \r\n var regex = new RegExp(\"^[a-zA-Z0-9\\\\s\\\\.\\\\-\\\\\\\\]+$\");\r\n var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);\r\n if (regex.test(str)) {\r\n return true;\r\n }\r\n e.preventDefault();\r\n return false;\r\n};\r\n\r\n\nangular.module('inspinia').service('NonReturnablePartConsumeListService', function (AcessoriesURL, ApiURL, $window, $http) {\r\n\r\n this.GetAllWareHouse = function (loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/WareHouse/GetAllWareHouse';\r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n } \r\n\r\n this.GetNonRefundablePartlist = function (paymentstatus,DateField,startDate,endDate,oPageIndex,oPageSize,OrderBy,SortType, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFProductReplacement/GetNonRefundablePartlist?StartDate=' + startDate + '&EndDate=' + endDate + '&DateField=' + DateField + '&PaidStatus=' + paymentstatus + '&OrderBy=' + OrderBy + '&SortType=' + SortType + '&PageSize=' + oPageSize + '&PageIndex=' + oPageIndex;\r\n return $http.get(url,{\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetNonRefundablePartlist_CSV = function (paymentstatus,DateField,startDate,endDate,oPageIndex,oPageSize,OrderBy,SortType, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFProductReplacement/GetNonRefundablePartlist_CSV?StartDate=' + startDate + '&EndDate=' + endDate + '&DateField=' + DateField + '&PaidStatus=' + paymentstatus + '&OrderBy=' + OrderBy + '&SortType=' + SortType + '&PageSize=' + oPageSize + '&PageIndex=' + oPageIndex;\r\n return $http.get(url,{\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.MarkNonReturnPartDetails = function (parttId,loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/RequestedPartInventoryController/MarkNonReturnPartDetails?PartId=' + parttId;\r\n return $http.put(url,null, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n this.NonReturnTicketPartOrderPlace = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFNonReturnOrder/NonReturnTicketPartOrderPlace';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('NonReturnablePartConsumeListController', function (NonReturnablePartConsumeListService,ngProgressFactory, $resource,$rootScope,$http, $stateParams, toaster, $filter, $compile, $q,ApiURL, $state, $localStorage, $scope, DTOptionsBuilder, DTColumnBuilder, $uibModal, $timeout) {\r\n\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\t// var warehouseId = $stateParams.warehouseId;\r\n\t\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\t\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\t\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\t\tvm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\t\tvm.AccountId = $localStorage.accountConfig.AccountId;\r\n\t\t$scope.isNavCollapsed = true;\r\n\t\t$scope.isCollapsed = true;\r\n\t\t$scope.isCollapsedHorizontal = false;\r\n\t\tvm.selectSingle = false;\r\n\t\tvm.disableExceptionButton = false;\r\n\t\tvar oPageIndex = 1;\r\n\t\tvar oPageSize = 10;\r\n\t\tvm.progressbar = ngProgressFactory.createInstance();\r\n\t\tvm.noMsg = [];\r\n\t\tvm.noOfRecords = 0;\r\n\t\tvm.file = null;\r\n\t\tvm.allOrdersPageListCount = 10;\r\n\t\tvar PageIndex = 1;\r\n\t\tvar PageSize = 10;\r\n\t\tvm.DateField = 'CreatedOn';\r\n\t\tvm.OrderBy = 'desc';\r\n \t\tvm.SortType = 'CreatedOn';\r\n\t\t vm.paymentstatus = 'All';\r\n\t\tvm.allInventoryPageListCount = 10;\r\n\t\tvm.pageListCounts = [10, 20, 30, 50];\r\n\t\tvm.UserId = '';\r\n\t\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\t\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\t\t$scope.dates = { startDate: moment().subtract(30, 'day'), endDate: moment() };\r\n\t\tvar startDate = moment().subtract(30, 'days').format(\"YYYY-MM-DD\");\r\n\t\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\t\t$scope.ranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment().endOf('month')]\r\n\t\t};\r\n\r\n\t\tvm.outsidedateRangeChange = function (ev, picker) {\r\n\t\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\t\tvm.GetNonRefundablePartlist();\r\n\t\t};\r\n\r\n\t\t$scope.totalInvList = 0;\r\n\t\t$scope.inventoryPerPage = vm.allInventoryPageListCount;\r\n\t\t$scope.InventoryPagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\r\n\r\n\t\tvm.changeAllInventoryPageListCount = function () {\r\n\t\t\t$scope.inventoryPerPage = vm.allInventoryPageListCount;\r\n\t\t\tPageSize = $scope.inventoryPerPage;\r\n\t\t\t$scope.AllInventoryTablePageChanged($scope.InventoryPagination.current);\r\n\t\t\tvm.selectAll = false;\r\n\t\t\tPageIndex = $scope.InventoryPagination.current;\r\n\t\t\t$scope.AllInventoryTablePageChanged = function (newPage) {\r\n\t\t\t\tPageIndex = newPage;\r\n\r\n\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tPageIndex = $scope.InventoryPagination.current;\r\n\t\t$scope.AllInventoryTablePageChanged = function (newPage) {\r\n\t\t\tPageIndex = newPage;\r\n\t\t\tvm.GetNonRefundablePartlist();\r\n\r\n\t\t};\r\n\t\tvm.SearchText = '';\r\n\t\tvm.warehouselist = \"\";\r\n\t\tvm.warehouseInvetoryList = [];\r\n\r\n\r\n\t\tvm.clearFilter = function () {\r\n\t\t\tvm.SearchText = '';\r\n\t\t\tvm.warehouselist = '';\r\n\r\n\t\t}\r\n vm.applyOrderFilter = function () {\r\n\t\t\tvm.GetDamgedPrdouctDetailList();\r\n\t\t\tvm.GetProductDetailDashboardByFilter();\r\n\t\t\t// vm.GetOrdersDashboardByFilter();\r\n\t\t}\r\n\t\r\n\t\tvm.OpenMarkPaymentConfirmation = function (markpayment) {\r\n\t\t\tvm.paymentmark = markpayment\r\n\t\t\tvm.markpayment = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'MarkpaymentAccept.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeMarkPaymentConfirmation = function () {\r\n\t\t\tvm.markpayment.close();\r\n\t\t}\r\n\r\n\r\n\t\t$scope.TotalRecord = 0;\r\n\t\t$scope.ordersPerPage = vm.allOrdersPageListCount;\r\n\t\t$scope.OrdersPagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\r\n\t\tvm.changeAllOrderPageListCount = function () {\r\n\t\t\t$scope.ordersPerPage = vm.allOrdersPageListCount;\r\n\t\t\toPageSize = $scope.ordersPerPage;\r\n\t\t\t$scope.AllOrderTablePageChanged($scope.OrdersPagination.current);\r\n\t\t\toPageIndex = $scope.OrdersPagination.current;\r\n\t\t\t$scope.AllOrderTablePageChanged = function (newPage) {\r\n\t\t\t\toPageIndex = newPage;\r\n\t\t\t\tvm.GetNonRefundablePartlist();\r\n\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\toPageIndex = $scope.OrdersPagination.current;\r\n\t\t$scope.AllOrderTablePageChanged = function (newPage) {\r\n\t\t\toPageIndex = newPage;\r\n\t\t\tvm.GetNonRefundablePartlist();\r\n\r\n\t\t};\r\n\t\tvm.disableCreateButton = false;\r\n\r\n\t\tvm.DisableCreateButton = function (disable) {\r\n\t\t\tif (disable) {\r\n\t\t\t\tvm.disableCreateButton = true;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.disableCreateButton = false;\r\n\t\t\t}\r\n\t\t}\r\n\t\tvm.OpenTicketView = function (ticket) {\r\n\t\t\t$state.go('index.JobDetailView', {\r\n\t\t\t\tticketId: ticket\r\n\t\t\t}, { reload: true });\r\n\t\t}\r\n\t\tvm.GetAllWareHouse = function () {\r\n\t\t\tNonReturnablePartConsumeListService.GetAllWareHouse(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.warehouseitemlist = resp.data;\r\n\t\t\t\t\tif (vm.warehouseitemlist.length > 0) {\r\n\t\t\t\t\t\tvm.warehouseid = vm.warehouseitemlist[0].strWareHouseId; \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.GetAllWareHouse();\r\n\r\n\t\tvm.selectedData = [];\r\n\r\n\t\tvm.handleCheckboxToggle = function (order) {\r\n\t\t\tif (order.isSelected) {\r\n\t\t\t\tvm.selectedData.push({\r\n\t\t\t\t\tTicketId: order.TicketId,\r\n\t\t\t\t\tMMFPartId: order.PartId,\r\n\t\t\t\t\tSKUId: order.SKUId,\r\n\t\t\t\t\tStockCount: order.StockCount\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.selectedData = vm.selectedData.filter(function (item) {\r\n\t\t\t\t\treturn item.MMFPartId !== order.PartId;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\t\r\n\t\tvm.toggleSelectAll = function () {\r\n\t\t\tif (vm.selectAll) {\r\n\t\t\t\tvm.selectedData = vm.paymentstatusList\r\n\t\t\t\t\t.filter(function (order) {\r\n\t\t\t\t\t\treturn order.PartOrderStatus === 'Pending' || order.PartOrderStatus === 'Reject';\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.map(function (order) {\r\n\t\t\t\t\t\torder.isSelected = true;\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tTicketId: order.TicketId,\r\n\t\t\t\t\t\t\tMMFPartId: order.PartId,\r\n\t\t\t\t\t\t\tSKUId: order.SKUId,\r\n\t\t\t\t\t\t\tStockCount: order.StockCount\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.paymentstatusList = vm.paymentstatusList.map(function (order) {\r\n\t\t\t\t\torder.isSelected = false;\r\n\t\t\t\t\treturn order;\r\n\t\t\t\t});\r\n\t\t\t\tvm.selectedData = [];\r\n\t\t\t}\r\n\t\t};\r\n\t\t\r\n\t\tvm.NonReturnTicketPartOrderPlace = function () {\r\n\t\t\tvm.validationForm.submitted = true;\r\n\t\t\tif (vm.validationForm.$valid) {\r\n\t\t\t\tvm.DisableCreateButton(true);\r\n\t\t\tvar data ={\r\n\t\t\t\t\"WareHouseID\": vm.warehouseid,\r\n\t\t\t\t\"WarrantyType\": \"\",\r\n\t\t\t\t\"nonReturnTicketDefects\": vm.selectedData\r\n\t\t\t}\r\n\t\t\tNonReturnablePartConsumeListService.NonReturnTicketPartOrderPlace(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", \"Return Challan has been created successfully\");\r\n\t\t\t\t\tvm.closeCreateChallanConfirmation();\r\n\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\tvm.GetNonRefundablePartlist();\r\n\t\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data)\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t\t}\r\n\t\t\r\n\r\nvm.OpenCreateChallanModel = function () {\r\n if (vm.selectedData.length === 0) {\r\n alert('Please select at least one item.');\r\n return;\r\n }\r\n vm.createchallan = $uibModal.open({\r\n templateUrl: 'CreateChallan.html',\r\n backdrop: 'static',\r\n scope: angular.extend($scope.$new(), { challanData: vm.selectedData })\r\n });\r\n};\r\n\r\n\r\n\t\tvm.closeCreateChallanConfirmation = function () {\r\n\t\t\tvm.createchallan.close();\r\n\t\t\tvm.selectedData = [];\r\n\t\t}\r\n\t\tvm.paymentstatusList = [];\r\n\t\tvm.GetNonRefundablePartlist = function () {\r\n\t\t\tNonReturnablePartConsumeListService.GetNonRefundablePartlist(vm.paymentstatus,vm.DateField,startDate,endDate,oPageIndex,oPageSize,vm.OrderBy,vm.SortType, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.paymentstatusList = resp.data.partResModels;\r\n\t\t\t\t\t$scope.TotalRecord = resp.data.count;\r\n\t\t\t\t\tif (vm.paymentstatusList.length < vm.allOrdersPageListCount)\r\n\t\t\t\t\t\tvm.orderListLength = $scope.TotalRecord;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.orderListLength = oPageIndex * vm.allOrdersPageListCount;\r\n\t\t\t\t\tif (oPageIndex == 1)\r\n\t\t\t\t\t\tvm.opageindexCount = 1;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.opageindexCount = (((oPageIndex - 1) * vm.allOrdersPageListCount) + 1);\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.GetNonRefundablePartlist();\r\n\r\n\t\tvm.MarkNonReturnPartDetails = function () {\r\n\t\t\tNonReturnablePartConsumeListService.MarkNonReturnPartDetails(vm.paymentmark, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", \"Payment marked successfully.\");\r\n\t\t\t\t\tvm.closeMarkPaymentConfirmation();\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tvm.GetNonRefundablePartlist();\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.OpenNonReturnUploadModel = function () {\r\n\t\t\tvm.ReadyToRaiseModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'ReadyToRaiseModal.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tsize: 'md',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeReadyToRaiseModal = function () {\r\n\t\t\tvm.showPassed = false;\r\n\t\t\tvm.showErrors = false;\r\n\t\t\tvm.errorList = [];\r\n\t\t\tvm.ReadyToRaiseModal.close();\r\n\t\t}\r\n\t\tvm.GetNonRefundablePartlist_CSV = function () {\r\n\t\t\t// var data = {\r\n\t\t\t// \t\"Status\": vm.SelectedOrderStatus,\r\n\t\t\t// \t\"SearchText\": vm.searchTag,\r\n\t\t\t// \t\"StartDate\": startDate,\r\n\t\t\t// \t\"EndDate\": endDate,\r\n\t\t\t// \t\"PageIndex\": oPageIndex,\r\n\t\t\t// \t\"PageSize\": oPageSize\r\n\t\t\t// }\r\n\t\t\tNonReturnablePartConsumeListService.GetNonRefundablePartlist_CSV(vm.paymentstatus,vm.DateField,startDate,endDate,oPageIndex,oPageSize,vm.OrderBy,vm.SortType, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvar csvData = resp.data;\r\n\t\t\t\t\tvar blob = new Blob([csvData], { type: 'text/csv' });\r\n\t\t\t\t\tvar url = window.URL.createObjectURL(blob);\r\n\t\t\t\t\tvar a = document.createElement('a');\r\n\t\t\t\t\ta.href = url;\r\n\t\t\t\t\ta.download = 'All_Non_Returnable_Products_List.csv';\r\n\t\t\t\t\ta.click();\r\n\t\t\t\t\twindow.URL.revokeObjectURL(url);\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.getProjects = function(customer){\r\n\t\t\tvm.projectList = customer.Projects;\r\n\t\t\tif(vm.projectList.length > 0){\r\n\t\t\t vm.selectedProject = vm.projectList[0];\r\n\t\t\t}\r\n\t\t }\r\n\t\t\r\n\t\t if (vm.bulkuploadType == 'cms') {\r\n\t\t\tvm.dzOptions = {\r\n\t\t\t paramName: 'photo',\r\n\t\t\t maxFilesize: '100',\r\n\t\t\t url: '/',\r\n\t\t\t acceptedFiles: '.zip',\r\n\t\t\t dictDefaultMessage: 'Click to add or drop files',\r\n\t\t\t dictRemoveFile: 'Remove'\r\n\t\t\t};\r\n\t\t } else {\r\n\t\t\tvm.dzOptions = {\r\n\t\t\t paramName: 'photo',\r\n\t\t\t maxFilesize: '100',\r\n\t\t\t url: '/',\r\n\t\t\t acceptedFiles: '.xlsx, .xls',\r\n\t\t\t dictDefaultMessage: 'Click to add or drop files',\r\n\t\t\t dictRemoveFile: 'Remove'\r\n\t\t\t};\r\n\t\t }\r\n\t\t\r\n\t\t vm.dtOptions = DTOptionsBuilder.newOptions().withDOM('<\"html5buttons\"B>lTfgitp')\r\n\t\t\t.withPaginationType('full_numbers').withDisplayLength(5).withOption('lengthMenu', [5, 10, 15, 20]);\r\n\t\t\r\n\t\t// vm.dtColumnDefs = [\r\n\t\t// \tDTColumnDefBuilder.newColumnDef(0).notSortable()\r\n\t\t// ];\r\n\t\t\r\n\t\t vm.loaderFlag = false;\r\n\t\t vm.hideLoader = function () {\r\n\t\t\tif (vm.loaderFlag) {\r\n\t\t\t $rootScope.$broadcast(\"loader_hide\");\r\n\t\t\t $timeout(function () { vm.loaderFlag = false; }, 1000);\r\n\t\t\t $timeout(vm.hideLoader, 1);\r\n\t\t\t}\r\n\t\t }\r\n\t\t\r\n\t\t vm.scrollDwn = function () {\r\n\t\t\t$(\"html, body\").animate({ scrollTop: $(document).height() - $(window).height() }, 900);\r\n\t\t\t// $location.hash('error_datatable');\r\n\t\t\t// $anchorScroll();\r\n\t\t }\r\n\t\t\r\n\t\t vm.dzCallbacks = {\r\n\t\t\t'addedfile': function (file) {\r\n\t\t\t vm.showErrors = false;\r\n\t\t\t vm.errorList = [];\r\n\t\t\t vm.UpdateErrorList = [];\r\n\t\t\t vm.disableUploadButton = true;\r\n\t\t\t vm.users = [];\r\n\t\t\r\n\t\t\t vm.customers = [];\r\n\t\t\t vm.tickets = [];\r\n\t\t\t vm.cms = [];\r\n\t\t\t $(\"#dropzone1 .dz-progress .dz-upload\").hide();\r\n\t\t\t $(\".bulkupload-progress\").width(0);\r\n\t\t\t $(\".ajax-loader\").hide();\r\n\t\t\t vm.progressbar.reset();\r\n\t\t\t vm.progressbar.start();\r\n\t\t\t vm.showSuccess = false;\r\n\t\t\t vm.canceler = $q.defer();\r\n\t\t\t vm.successTitle = \"\";\r\n\t\t\t vm.successMsg = \"\";\r\n\t\t\t vm.noOfRecords = 0;\r\n\t\t\r\n\t\t\t var dropzoneChildren = $(\"#dropzone1\").children();\r\n\t\t\t $(\"#dropzone1\").empty();\r\n\t\t\t $(\"#dropzone1\").append(dropzoneChildren[0]);\r\n\t\t\t $(\"#dropzone1\").append(dropzoneChildren[dropzoneChildren.length - 1]);\r\n\t\t\r\n\t\t\t vm.loaderFlag = true;\r\n\t\t\t vm.hideLoader();\r\n\t\t\t vm.file = file;\r\n\t\t\r\n\t\t\t var fd = new FormData();\r\n\t\t\t fd.append('file', file);\r\n\t\t\t if (vm.bulkuploadType != 'cms') {\r\n\t\t\t\tif (vm.updateType != 'UpdateS') {\r\n\t\t\t\t $http.post(ApiURL + '/api/BulkUpload/MediaUpload?reqUserId=' + loggedinUser + '&action=Create', fd, {\r\n\t\t\t\t transformRequest: angular.identity,\r\n\t\t\t\t headers: { 'Content-Type': undefined, 'Token': token, 'UserId':loggedinUser},\r\n\t\t\t\t timeout: vm.canceler.promise\r\n\t\t\t\t})\r\n\t\t\t\t .success(function (data) {\r\n\t\t\t\t\t$(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n\t\t\t\t\tif (vm.bulkuploadType == 'user') {\r\n\t\t\t\t\t vm.users = data.Users;\r\n\t\t\t\t\t vm.noOfRecords = data.Users ? data.Users.length : 0;\r\n\t\t\t\t\t} else if (vm.bulkuploadType == 'customer') {\r\n\t\t\t\t\t vm.customers = data.Customers;\r\n\t\t\t\t\t vm.noOfRecords = data.Customers ? data.Customers.length : 0;\r\n\t\t\t\t\t} else if (vm.bulkuploadType == 'ticket') {\r\n\t\t\t\t\t vm.tickets = data.Tickets;\r\n\t\t\t\t\t vm.noOfRecords = data.Tickets ? data.Tickets.length : 0;\r\n\t\t\t\t\t}\r\n\t\t\r\n\t\t\t\t\t$(\"#dropzone1>div:last-child\").removeClass(\"dz-error\").addClass(\"dz-success\");\r\n\t\t\t\t\tif (data.Errors.length > 0) {\r\n\t\t\t\t\t //console.log('data.Errors',data.Errors);\r\n\t\t\t\t\t vm.dtColumnDefs = [\r\n\t\t\t\t\t\tDTColumnDefBuilder.newColumnDef(0).notSortable()\r\n\t\t\t\t\t ];\r\n\t\t\t\t\t angular.forEach(data.Errors, function (v, k) {\r\n\t\t\r\n\t\t\t\t\t\tif (v.ItemErrors.length > 0) {\r\n\t\t\t\t\t\t var e1 = {};\r\n\t\t\t\t\t\t angular.forEach(v.ItemErrors, function (v1, k1) {\r\n\t\t\t\t\t\t\te1.message = e1.message != undefined && e1.message != \"undefined\" && e1.message.length > 0 ? e1.message + \",\" + v1.Message : v1.Message;\r\n\t\t\t\t\t\t });\r\n\t\t\t\t\t\t if (v.Row > 0 && data.Users && data.Users.length > 0 && data.Users.length >= v.Row) {\r\n\t\t\t\t\t\t\te1.data = data.Users[v.Row - 1];\r\n\t\t\t\t\t\t } if (v.Row > 0 && data.Tickets && data.Tickets.length > 0 && data.Tickets.length >= v.Row) {\r\n\t\t\t\t\t\t\te1.data = data.Tickets[v.Row - 1];\r\n\t\t\t\t\t\t } if (v.Row > 0 && data.Customers && data.Customers.length > 0 && data.Customers.length >= v.Row) {\r\n\t\t\t\t\t\t\te1.data = data.Customers[v.Row - 1];\r\n\t\t\t\t\t\t }\r\n\t\t\t\t\t\t vm.errorList.push(e1);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t });\r\n\t\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t\t vm.disableUploadButton = true;\r\n\t\t\t\t\t vm.successTitle = \"Invalid records!\";\r\n\t\t\t\t\t vm.successMsg = \"There are \" + vm.errorList.length + \" errors. To see them click here\";\r\n\t\t\t\t\t vm.noMsg = [];\r\n\t\t\t\t\t vm.showErrors = true;\r\n\t\t\t\t\t $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\t\t\t} else if (data.ErrorCode == 103) {\r\n\t\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t\t vm.disableUploadButton = true;\r\n\t\t\t\t\t vm.successTitle = \"Missing columns in excel file\";\r\n\t\t\t\t\t vm.successMsg = \"Following columns are missing in excel file. Please add them and re-upload file\";\r\n\t\t\t\t\t vm.noMsg = [];\r\n\t\t\t\t\t angular.forEach(data.MissingColumns, function (k, v) {\r\n\t\t\t\t\t\tvm.noMsg.push(k);\r\n\t\t\t\t\t });\r\n\t\t\t\t\t $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\t\t\t} else if (data.Message && data.Message.length>0) {\r\n\t\t\r\n\t\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t\t vm.disableUploadButton = true;\r\n\t\t\t\t\t vm.successTitle = \"Validation failed\";\r\n\t\t\t\t\t vm.successMsg = data.Message\r\n\t\t\t\t\t vm.noMsg = [];\r\n\t\t\t\t\t angular.forEach(data.MissingColumns, function (k, v) {\r\n\t\t\t\t\t\tvm.noMsg.push(k);\r\n\t\t\t\t\t });\r\n\t\t\t\t\t $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t\t vm.disableUploadButton = false;\r\n\t\t\t\t\t vm.successTitle = \"Validation completed\";\r\n\t\t\t\t\t vm.successMsg = vm.bulkuploadType.charAt(0).toUpperCase() + vm.bulkuploadType.slice(1) + (vm.noOfRecords > 1 ? \"s\" : \"\") + \" are validated successfully. Total \" + vm.noOfRecords + \" \" + vm.bulkuploadType + (vm.noOfRecords > 1 ? \"s\" : \"\") + \" found. Please click on start upload button to proceed.\";\r\n\t\t\t\t\t // vm.successMsg = \"You have successfully created \"+vm.bulkuploadType+\"s in bulk\";\r\n\t\t\t\t\t vm.noMsg = [];\r\n\t\t\t\t\t $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$(\"table th:first-child\").removeClass(\"sorting_asc\");\r\n\t\t\t\t\tvm.progressbar.complete();\r\n\t\t\t\t })\r\n\t\t\t\t .error(function (errorMessage) {\r\n\t\t\t\t\t$(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n\t\t\t\t\tvm.progressbar.complete();\r\n\t\t\t\t\tvm.successTitle = \"Validation of records failed\";\r\n\t\t\t\t\tvm.successMsg = \"Error in data validation, please correct the data and re-upload file\";\r\n\t\t\t\t\t$(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\t\t });\r\n\t\t\t\t}else if (vm.updateType == 'UpdateS'){\r\n\t\t\t\t //http://localhost:56749/api/BulkUpload/BulkUpdateLinkTickets?reqUserId=U310000000001\r\n\t\t\t\t $http.post(ApiURL + '/api/BulkUpload/BulkUpdateLinkTickets?reqUserId=' + loggedinUser, fd, {\r\n\t\t\t\t transformRequest: angular.identity,\r\n\t\t\t\t headers: { 'Content-Type': undefined, 'Token': token, 'UserId':loggedinUser },\r\n\t\t\t\t timeout: vm.canceler.promise\r\n\t\t\t\t})\r\n\t\t\t\t .success(function (data) {\r\n\t\t\t\t\t$(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n\t\t\t\t\tif (vm.bulkuploadType == 'user') {\r\n\t\t\t\t\t vm.users = data.Users;\r\n\t\t\t\t\t vm.noOfRecords = data.Users ? data.Users.length : 0;\r\n\t\t\t\t\t} else if (vm.bulkuploadType == 'customer') {\r\n\t\t\t\t\t vm.customers = data.Customers;\r\n\t\t\t\t\t vm.noOfRecords = data.Customers ? data.Customers.length : 0;\r\n\t\t\t\t\t} else if (vm.bulkuploadType == 'ticket') {\r\n\t\t\t\t\t vm.tickets = data.Tickets;\r\n\t\t\t\t\t vm.noOfRecords = data.Tickets ? data.Tickets.length : 0;\r\n\t\t\t\t\t}\r\n\t\t\r\n\t\t\t\t\t$(\"#dropzone1>div:last-child\").removeClass(\"dz-error\").addClass(\"dz-success\");\r\n\t\t\t\t\tif (data.Errors.length > 0) {\r\n\t\t\t\t\t vm.showErrors = true;\r\n\t\t\t\t\t // vm.dtColumnDefs = [];\r\n\t\t\t\t\t // for (var i = 0; i < data.Errors.length; i++) {\r\n\t\t\t\t\t // vm.dtColumnDefs.push(DTColumnDefBuilder.newColumnDef(i));\r\n\t\t\t\t\t // }\r\n\t\t\t\t\t vm.dtColumnDefs = [\r\n\t\t\t\t\t\tDTColumnDefBuilder.newColumnDef(0).notSortable()\r\n\t\t\t\t\t ];\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t angular.forEach(data.Errors, function (v, k) {\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t//errObj.ItemErrors = [];\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tif (v.ItemErrors.length>0) {\r\n\t\t\t\t\t\t angular.forEach(v.ItemErrors, function(d){\r\n\t\t\t\t\t\t\tvar errObj = {};\r\n\t\t\t\t\t\t\terrObj.TicketId = v.TicketId;\r\n\t\t\t\t\t\t\tif (d.ErrorMessage) {\r\n\t\t\t\t\t\t\t errObj.TestName = d.TemplateName;\r\n\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t errObj.ParameterName = d.ItemName;\r\n\t\t\t\t\t\t\t errObj.Error = d.ErrorMessage;\r\n\t\t\t\t\t\t\t errObj.row = d.row;\r\n\t\t\t\t\t\t\t errObj.col = d.col;\r\n\t\t\t\t\t\t\t vm.UpdateErrorList.push(errObj);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t }) \r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t//vm.UpdateErrorList.push(errObj);\r\n\t\t\t\t\t\t//console.log('vm.UpdateErrorList',vm.UpdateErrorList);\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t });\r\n\t\t\r\n\t\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t\t vm.disableUploadButton = true;\r\n\t\t\t\t\t vm.successTitle = \"Invalid records!\";\r\n\t\t\t\t\t vm.successMsg = \"There are \" + vm.UpdateErrorList.length + \" errors. To see them click here\";\r\n\t\t\t\t\t vm.noMsg = [];\r\n\t\t\t\t\t vm.showErrors = true;\r\n\t\t\t\t\t $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\t\t\t} else if (data.ErrorCode == 103) {\r\n\t\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t\t vm.disableUploadButton = true;\r\n\t\t\t\t\t vm.successTitle = \"Missing columns in excel file\";\r\n\t\t\t\t\t vm.successMsg = \"Following columns are missing in excel file. Please add them and re-upload file\";\r\n\t\t\t\t\t vm.noMsg = [];\r\n\t\t\t\t\t angular.forEach(data.MissingColumns, function (k, v) {\r\n\t\t\t\t\t\tvm.noMsg.push(k);\r\n\t\t\t\t\t });\r\n\t\t\t\t\t $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\t\t\t} else if (data.Message && data.Message.length>0) {\r\n\t\t\r\n\t\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t\t vm.disableUploadButton = true;\r\n\t\t\t\t\t vm.successTitle = \"Upload failed\";\r\n\t\t\t\t\t vm.successMsg = data.Message\r\n\t\t\t\t\t vm.noMsg = [];\r\n\t\t\t\t\t angular.forEach(data.MissingColumns, function (k, v) {\r\n\t\t\t\t\t\tvm.noMsg.push(k);\r\n\t\t\t\t\t });\r\n\t\t\t\t\t $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t\t vm.disableUploadButton = false;\r\n\t\t\t\t\t vm.successTitle = \"Upload completed\";\r\n\t\t\t\t\t vm.successMsg = \"All tickets have been uploaded successfully\";\r\n\t\t\t\t\t // vm.successMsg = \"You have successfully created \"+vm.bulkuploadType+\"s in bulk\";\r\n\t\t\t\t\t vm.noMsg = [];\r\n\t\t\t\t\t $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$(\"table th:first-child\").removeClass(\"sorting_asc\");\r\n\t\t\t\t\tvm.progressbar.complete();\r\n\t\t\t\t })\r\n\t\t\t\t .error(function (errorMessage) {\r\n\t\t\t\t\t$(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n\t\t\t\t\tvm.progressbar.complete();\r\n\t\t\t\t\tvm.showSuccess = true;\r\n\t\t\t\t\tvm.successTitle = \"Upload failed\";\r\n\t\t\t\t\tvm.successMsg = errorMessage.Message;\r\n\t\t\t\t\t$(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\t\t });\r\n\t\t\t\t}\r\n\t\t\t \r\n\t\t\t } else {\r\n\t\t\t\tvar url = verifyBulkPost.replace(\"{accountId}\", vm.userId);\r\n\t\t\t\t$http.post(url, fd, {\r\n\t\t\t\t transformRequest: angular.identity,\r\n\t\t\t\t headers: { 'Content-Type': undefined },\r\n\t\t\t\t timeout: vm.canceler.promise\r\n\t\t\t\t})\r\n\t\t\t\t .success(function (data) {\r\n\t\t\t\t\tif(data.errorCode==0 && data.result && data.result.success && data.result.success.length>0){\r\n\t\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t\t vm.disableUploadButton = false;\r\n\t\t\t\t\t vm.successTitle = \"Validation completed\";\r\n\t\t\t\t\t vm.successMsg = \"CMS content is validated successfully. Please click on start upload button to proceed.\";\r\n\t\t\t\t\t // vm.successMsg = \"You have successfully created \"+vm.bulkuploadType+\"s in bulk\";\r\n\t\t\t\t\t vm.noMsg = [];\r\n\t\t\t\t\t $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n\t\t\t\t\t vm.progressbar.complete();\r\n\t\t\r\n\t\t\t\t\t} else if(data.validationFlag==false && data.rowErrors){\r\n\t\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t\t vm.disableUploadButton = true;\r\n\t\t\t\t\t vm.successTitle = \"Invalid records!\";\r\n\t\t\t\t\t vm.successMsg = \"There are \" + data.rowErrors.length + \" errors. To see them click here\";\r\n\t\t\t\t\t vm.noMsg = [];\r\n\t\t\t\t\t vm.showErrors = true;\r\n\t\t\t\t\t $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\t\t\t if (data.rowErrors.length > 0) {\r\n\t\t\t\t\t\tvm.dtColumnDefs = [\r\n\t\t\t\t\t\t DTColumnDefBuilder.newColumnDef(0).notSortable()\r\n\t\t\t\t\t\t];\r\n\t\t\t\t\t\tangular.forEach(data.rowErrors, function (v, k) {\r\n\t\t\r\n\t\t\t\t\t\t if (v.error.length > 0) {\r\n\t\t\t\t\t\t\tvar e1 = {};\r\n\t\t\t\t\t\t\tangular.forEach(v.error, function (v1, k1) {\r\n\t\t\t\t\t\t\t e1.message = e1.message != undefined && e1.message != \"undefined\" && e1.message.length > 0 ? e1.message + \",\" + v1 : v1;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\te1.data=JSON.parse(v.content); \r\n\t\t\t\t\t\t\tvm.errorList.push(e1);\r\n\t\t\t\t\t\t }\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t }\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t\t vm.disableUploadButton = true;\r\n\t\t\t\t\t $(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n\t\t\t\t\t vm.progressbar.complete();\r\n\t\t\t\t\t vm.successTitle = \"Validation of records failed\";\r\n\t\t\t\t\t vm.successMsg = data.error+\". Please correct the data and re-upload file.\";\r\n\t\t\t\t\t $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\t\t\t vm.progressbar.complete();\r\n\t\t\t\t\t}\r\n\t\t\t\t })\r\n\t\t\t\t .error(function (errorMessage) {\r\n\t\t\t\t\tvm.showSuccess = true;\r\n\t\t\t\t\t$(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n\t\t\t\t\tvm.progressbar.complete();\r\n\t\t\t\t\tvm.successTitle = \"Validation of records failed\";\r\n\t\t\t\t\tvm.successMsg = \"Error in data validation, please correct the data and re-upload file\";\r\n\t\t\t\t\t$(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\t\t\tvm.progressbar.complete();\r\n\t\t\t\t });\r\n\t\t\t }\r\n\t\t\t},\r\n\t\t\t'success': function (file, xhr) {\r\n\t\t\t},\r\n\t\t\t'error': function (file, errorMessage) {\r\n\t\t\t}\r\n\t\t };\r\n\t\t\r\n\t\t vm.addFiles = function () {\r\n\t\t\t$(\"#dropzone1\").trigger(\"click\");\r\n\t\t }\r\n\t\t\r\n\t\t vm.uploadFile = function () {\r\n\t\t\tif (vm.users && vm.users.length > 0) {\r\n\t\t\r\n\t\t\t vm.progressbar.reset();\r\n\t\t\t vm.progressbar.start();\r\n\t\t\r\n\t\t\t $http.post(ApiURL + '/api/User/' + loggedinUser + '/UploadUsers',\r\n\t\t\t\tvm.users, {\r\n\t\t\t\t headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':loggedinUser }\r\n\t\t\t\t})\r\n\t\t\t\t.success(function (data) {\r\n\t\t\t\t console.log(data);\r\n\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t vm.disableUploadButton = true;\r\n\t\t\t\t vm.successTitle = \"Upload completed\";\r\n\t\t\t\t vm.successMsg = \"Users are created in bulk successfully\";\r\n\t\t\t\t vm.noMsg = [];\r\n\t\t\t\t $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n\t\t\r\n\t\t\t\t vm.progressbar.complete();\r\n\t\t\t\t})\r\n\t\t\t\t.error(function (errorMessage) {\r\n\t\t\t\t console.log(errorMessage)\r\n\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t vm.successTitle = \"Upload Failed\";\r\n\t\t\t\t vm.successMsg = errorMessage;\r\n\t\t\t\t vm.noMsg = [];\r\n\t\t\t\t $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\t\t vm.progressbar.complete();\r\n\t\t\t\t});\r\n\t\t\r\n\t\t\t} else if (vm.tickets && vm.tickets.length > 0) {\r\n\t\t\r\n\t\t\t vm.progressbar.reset();\r\n\t\t\t vm.progressbar.start();\r\n\t\t\t vm.disableUploadButton = true;\r\n\t\t\r\n\t\t\t $http.post(ApiURL + '/api/Ticket/{TicketRequestModels}/' + vm.userId + '/UploadTickets?action=Create',\r\n\t\t\t\tvm.tickets, {\r\n\t\t\t\t headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':vm.userId }\r\n\t\t\t\t})\r\n\t\t\t\t.success(function (data) {\r\n\t\t\t\t console.log(data);\r\n\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t vm.disableUploadButton = true;\r\n\t\t\t\t vm.successTitle = \"Upload completed\";\r\n\t\t\t\t vm.successMsg = \"Jobs are created in bulk successfully\";\r\n\t\t\t\t vm.noMsg = [];\r\n\t\t\t\t $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n\t\t\t\t vm.progressbar.complete();\r\n\t\t\t\t})\r\n\t\t\t\t.error(function (errorMessage) {\r\n\t\t\t\t console.log(errorMessage)\r\n\t\t\t\t vm.disableUploadButton = false;\r\n\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t vm.successTitle = \"Upload Failed\";\r\n\t\t\t\t vm.successMsg = errorMessage;\r\n\t\t\t\t vm.noMsg = [];\r\n\t\t\t\t $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\t\t vm.progressbar.complete();\r\n\t\t\t\t});\r\n\t\t\r\n\t\t\t} else if (vm.customers && vm.customers.length > 0) {\r\n\t\t\r\n\t\t\t vm.progressbar.reset();\r\n\t\t\t vm.progressbar.start();\r\n\t\t\r\n\t\t\t $http.post(ApiURL + '/api/Customer/{objCustomerRequestModels}/' + vm.userId + '/UploadCustomers',\r\n\t\t\t\tvm.customers, {\r\n\t\t\t\t headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':vm.userId }\r\n\t\t\t\t})\r\n\t\t\t\t.success(function (data) {\r\n\t\t\t\t console.log(data);\r\n\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t vm.successTitle = \"Upload completed\";\r\n\t\t\t\t vm.successMsg = \"Customers are created in bulk successfully\";\r\n\t\t\t\t vm.noMsg = [];\r\n\t\t\t\t $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n\t\t\t\t vm.progressbar.complete();\r\n\t\t\t\t})\r\n\t\t\t\t.error(function (errorMessage) {\r\n\t\t\t\t console.log(errorMessage)\r\n\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t vm.successTitle = \"Upload Failed\";\r\n\t\t\t\t vm.successMsg = errorMessage;\r\n\t\t\t\t vm.noMsg = [];\r\n\t\t\t\t $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\t\t vm.progressbar.complete();\r\n\t\t\t\t});\r\n\t\t\t} else if (vm.bulkuploadType == 'cms') {\r\n\t\t\t vm.progressbar.reset();\r\n\t\t\t vm.progressbar.start();\r\n\t\t\r\n\t\t\t var fd = new FormData();\r\n\t\t\t fd.append('file', vm.file);\r\n\t\t\t \r\n\t\t\t var url = addBulkPost.replace(\"{accountId}\", vm.userId).replace(\"{userId}\", vm.userId);\r\n\t\t\t $http.post(url, fd, {\r\n\t\t\t\ttransformRequest: angular.identity,\r\n\t\t\t\theaders: { 'Content-Type': undefined }\r\n\t\t\t })\r\n\t\t\t\t.success(function (data) {\r\n\t\t\t\t console.log(data);\r\n\t\t\t\t if (data.errorCode > 0) {\r\n\t\t\t\t\tvm.showSuccess = true;\r\n\t\t\t\t\tvm.successTitle = \"Upload Failed\";\r\n\t\t\t\t\tvm.successMsg = data.error;\r\n\t\t\t\t\tvm.noMsg = [];\r\n\t\t\t\t\t$(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\t\t\tvm.progressbar.complete();\r\n\t\t\r\n\t\t\t\t } else if (data.result && data.result.success) {\r\n\t\t\t\t\tvm.showSuccess = true;\r\n\t\t\t\t\tvm.successTitle = \"Upload completed\";\r\n\t\t\t\t\tvm.successMsg = \"Products are created in bulk successfully\";\r\n\t\t\t\t\tvm.noMsg = [];\r\n\t\t\t\t\t$(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n\t\t\t\t\tvm.progressbar.complete();\r\n\t\t\t\t } else {\r\n\t\t\t\t\tvm.showSuccess = true;\r\n\t\t\t\t\tvm.successTitle = \"Upload Failed\";\r\n\t\t\t\t\tvm.successMsg = \"Technical problem\";\r\n\t\t\t\t\tvm.noMsg = [];\r\n\t\t\t\t\t$(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\t\t\tvm.progressbar.complete();\r\n\t\t\t\t }\r\n\t\t\t\t})\r\n\t\t\t\t.error(function (errorMessage) {\r\n\t\t\t\t console.log(errorMessage)\r\n\t\t\t\t vm.showSuccess = true;\r\n\t\t\t\t vm.successTitle = \"Upload Failed\";\r\n\t\t\t\t vm.successMsg = errorMessage;\r\n\t\t\t\t vm.noMsg = [];\r\n\t\t\t\t $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\t\t vm.progressbar.complete();\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t }\r\n\t\t// vm.Acceptancemodel = function (requestDetails) {\r\n\t\t// \tvm.showPartDetails=false;\r\n\t\t// \tvm.AllRequestDetail = requestDetails;\r\n\t\t// \tvm.updateStatusModelOpen = $uibModal.open({\r\n\t\t// \t\ttemplateUrl: 'acceptancepopup.html',\r\n\t\t// \t\tbackdrop: 'static',\r\n\t\t// \t\tscope: $scope,\r\n\t\t// \t});\r\n\t\t// }\r\n\r\n\t\t// vm.CloseAcceptanceModel = function () {\r\n\t\t// \tvm.updateStatusModelOpen.close();\r\n\t\t// \tvm.DisableCreateButton(false);\r\n\t\t// \tvm.UpdateOrderStatus = \"\";\r\n\t\t// \tvm.TrackingLink = \"\";\r\n\t\t// \tvm.strPackageId = \"\";\r\n\t\t// \tvm.strPackageStatus = \"\";\r\n\t\t// \tvm.strPackageTrackingId = \"\";\r\n\t\t// \tvm.strShipmentId = \"\";\r\n\t\t// \tvm.PackageDetails = [];\r\n\t\t// \tvm.datePackedOn = moment().format(\"YYYY-MM-DD\");\r\n\t\t// }\r\n\r\n\t\r\n\r\n\t}\r\n});\nangular.module('inspinia').service('NoticeCampaignDetailsService', function (ApiURL,SchedulingAPI,AcessoriesURL, $window, $http) {\r\n\r\n\r\n\r\n \r\n\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('NoticeCampaignDetailsController', function (NoticeCampaignDetailsService, $resource, toaster, $filter, $compile, $q, $state, $localStorage, $scope, DTOptionsBuilder, DTColumnBuilder, $uibModal, $timeout) {\r\n\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\t\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\t\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\t\tvm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n\t\tvm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\t\t$scope.isNavCollapsed = true;\r\n\t\t$scope.isCollapsed = true;\r\n\t\t$scope.isCollapsedHorizontal = false;\r\n\t\tvm.dtInstance = {};\r\n\t\tvm.selectSingle = false;\r\n\t\tvm.disableExceptionButton = false;\r\n\t\tvm.ticketPageListCount = 10;\r\n\t\tvm.financePageListCount = 10;\r\n\t\tvm.pageListCounts = [10, 20, 30, 50];\r\n\t\tvm.scheduleExceptionListNewLength=0;\r\n\t\tvar PageIndex = 1;\r\n\t\tvar PageSize = 10; \r\n\t\tvm.SearchByAccountName = '';\r\n\t\tvm.ExceptionType = '';\r\n\t\tvm.exceptionState = '';\r\n\t\tvm.showAllAccounts = [];\r\n\t\tvm.UserId='';\r\n vm.SearchText = '';\r\n\t\t $scope.dates = { startDate: moment().subtract(30, 'day'), endDate: moment() };\r\n\t\t var startDate = moment().subtract(30, 'days').format(\"YYYY-MM-DD\");\r\n\t\t var endDate = moment().format(\"YYYY-MM-DD\");\r\n\t\t$scope.ranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment().endOf('month')]\r\n\t\t};\r\n\r\n\t\tvm.outsidedateRangeChange = function (ev, picker) {\r\n\t\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\t\t// vm.GetAllBillsWithFilter();\r\n\t\t};\r\n\r\n\t\t\r\n\t\t// $scope.totalInventory = 0;\r\n // $scope.usersStockPageRequest = vm.financePageListCount;\r\n // $scope.Requestpagination = {\r\n // current: 1,\r\n // };\r\n\r\n // vm.changeMyStockPageListCount = function () {\r\n // $scope.usersStockPageRequest = vm.financePageListCount;\r\n // PageSize = $scope.usersStockPageRequest;\r\n // // $scope.Requestpagination.current = 1;\r\n // $scope.MystockTablePageChanged($scope.Requestpagination.current);\r\n\t\t// vm.selectAll = false;\r\n\t\t// \tPageIndex = $scope.Requestpagination.current;\r\n\t\t// \t$scope.MystockTablePageChanged = function (newPage) {\r\n\t\t// \t\tPageIndex = newPage;\r\n\t\t// \t\tvm.GetAllBillsWithFilter();\r\n\t\t// \t };\r\n \r\n // };\r\n\t\t// PageIndex = $scope.Requestpagination.current;\r\n\r\n // $scope.MystockTablePageChanged = function (newPage) {\r\n // PageIndex = newPage;\r\n // vm.GetAllBillsWithFilter();\r\n // };\r\n \r\n\r\n\r\n\t}\r\n});\nangular.module('inspinia').service('NotificationSettingService', function (ApiURL,$log,$http) {\r\n\r\n //https://test.mymobiforce.com/coreapi/api/alertconfiguration/asdasd/CreateTransactionalAlert\r\n this.CreateTransactionalAlert = function(reqUserId,token,data){\r\n \tvar url = ApiURL+'/api/alertconfiguration/'+reqUserId+'/CreateTransactionalAlert';\r\n \treturn $http.post(url,data,{\r\n \t\theaders:{'Content-Type':'application/json','token':token, 'UserId':reqUserId}\r\n \t});\r\n }\r\n //https://test.mymobiforce.com/coreapi/api/alertconfiguration/U360000000001/GetAllAlertConfiguration\r\nthis.GetAllAlertConfiguration = function(reqUserId,token){\r\n\tvar url=ApiURL+'/api/alertconfiguration/'+reqUserId+'/GetAllAlertConfiguration';\r\n\treturn $http.get(url,{\r\n\t\theaders:{'Content-Type':'application/json','token':token, 'UserId':reqUserId}\r\n\t})\r\n}\r\n\r\n\r\n\r\n//https://test.mymobiforce.com/coreapi/api/alertconfiguration/U360000000001/JOB_ASSIGNED/TRANSACTIONAL/GetAlertConfiguration\r\nthis.GetAlertConfiguration = function(reqUserId,id,type,token){\r\n\tvar url=ApiURL+'/api/alertconfiguration/'+reqUserId+'/'+id+'/'+type+'/GetAlertConfiguration';\r\n\treturn $http.get(url,{\r\n\t\theaders:{'Content-Type':'application/json','token':token, 'UserId':reqUserId}\r\n\t})\r\n}\r\nthis.DeleteAlertConfiguration = function(reqUserId,token,data){\r\n\tvar url=ApiURL+'/api/alertconfiguration/'+reqUserId+'/GetAllAlertConfiguration';\r\n\treturn $http.delete(url,data,{\r\n\t\theaders:{'Content-Type':'application/json','token':token, 'UserId':reqUserId}\r\n\t})\r\n}\r\n//https://test.mymobiforce.com/coreapi/api/alertconfiguration/U360000000001/alertId/alertType/DeleteAlertConfiguration\r\n\r\nthis.DeleteAlertConfiguration = function(reqUserId,id,type,token){\r\n return $http({\r\n method: 'DELETE',\r\n url: ApiURL + \"/api/alertconfiguration/\"+reqUserId+ \"/\"+id+\"/\"+type+\"/DeleteAlertConfiguration\",\r\n data: { \r\n },\r\n headers: {\r\n 'Content-type': 'application/json', 'token':token, 'UserId':reqUserId\r\n }\r\n })\r\n }\r\n //https://test.mymobiforce.com/coreapi/api/escalationalertconfiguration/reqUserId/alertId/alertType/DeleteEscalationAlertConfiguration\r\nthis.DeleteEscalationAlertConfiguration = function(reqUserId,id,type,token){\r\n return $http({\r\n method: 'DELETE',\r\n url: ApiURL + \"/api/escalationalertconfiguration/\"+reqUserId+ \"/\"+id+\"/\"+type+\"/DeleteEscalationAlertConfiguration\",\r\n data: { \r\n },\r\n headers: {\r\n 'Content-type': 'application/json', 'token':token, 'UserId':reqUserId\r\n }\r\n })\r\n }\r\n\r\n //https://test.mymobiforce.com/coreapi/api/slaalertconfiguration/reqUserId/alertId/alertType/DeleteSLAAlertConfiguration\r\nthis.DeleteSLAAlertConfiguration = function(reqUserId,id,type,token){\r\n return $http({\r\n method: 'DELETE',\r\n url: ApiURL + \"/api/slaalertconfiguration/\"+reqUserId+ \"/\"+id+\"/\"+type+\"/DeleteSLAAlertConfiguration\",\r\n data: { \r\n },\r\n headers: {\r\n 'Content-type': 'application/json', 'token':token, 'UserId':reqUserId\r\n }\r\n })\r\n }\r\n\r\n});\nangular.module('inspinia').controller('NotificationSettingController', function (MailUrl,$state,toaster,$timeout,$window,$state,ReportService, $scope,$uibModal,$log, $localStorage,NotificationSettingService,$stateParams,DTOptionsBuilder, DTColumnDefBuilder) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n vm.AlertType = $stateParams.alertType;\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n if (vm.AlertType == 'main') {\r\n vm.eventType ='';\r\n }else if(vm.AlertType == 'transactional'){\r\n vm.eventType =$stateParams.eventType; \r\n }\r\n vm.mode = $stateParams.mode;\r\n vm.channelList = [\"SMS\",\"Email\",\"Notification\",\"WebNotification\"];\r\n vm.RoleList = [\"Project Manager\",\"Help Desk\",\"Supervisor\",\"Field Engineer\",\"Consumer\",\"Vendor Manager\"];\r\n vm.selectedRolesList = [];\r\n vm.channelList = [\"SMS\",\"Notifications\",\"Email\",\"WebNotification\"];\r\n vm.selectedChannelArray = '';\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n vm.eventConfigurationArray = [];\r\n vm.dtInstance = {};\r\n vm.users=[];\r\n vm.toUsers=[];\r\n vm.toList=[];\r\n vm.mobileNo = '';\r\n vm.outsiderTransText = '';\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.showInfo =$scope.$parent.$parent.main.showInfo;\r\n vm.confirmTagModal =$scope.$parent.$parent.main.confirmTagModal;\r\n vm.outSidecheck1 = false;\r\n vm.AllConfigurayionList = '';\r\n //https://test.mymobiforce.com/assets/templates/36/JOB_ASSIGNED.html\r\n vm.mailMessagePath = MailUrl+'/assets/templates/'+'36'+'/';\r\n\r\n vm.GetAlertConfiguration = function(name,type){\r\n NotificationSettingService.GetAlertConfiguration(loggedinUser,name,type,token).then(function(resp){\r\n if (resp && resp.status == 200) {\r\n vm.singleNotificationAlert = resp.data;\r\n vm.eventConfigurationArray = [];\r\n angular.forEach(vm.singleNotificationAlert.ListAlertTemplate, function(d){\r\n var editObject = {};\r\n editObject.channel = [];\r\n if (d) {\r\n editObject.check=true;\r\n editObject.role = d.Role;\r\n if (d.Role!='Outsider') {\r\n if (d.SMSEnabled) {\r\n editObject.channel.push(\"SMS\");\r\n editObject.smsText = d.SMSText;\r\n\r\n }if (d.EmailEnabled) {\r\n editObject.channel.push(\"Email\")\r\n }if (d.NotificationEnabled) {\r\n editObject.channel.push(\"Notifications\");\r\n editObject.smsText = d.NotificationText;\r\n }\r\n if (d.WebNotificationEnabled) {\r\n editObject.channel.push(\"WebNotification\");\r\n editObject.smsText = d.WebNotificationText;\r\n }\r\n vm.eventConfigurationArray.push(editObject);\r\n }else if (d.Role == 'Outsider') {\r\n vm.outSidecheck1 = true;\r\n vm.outsiderTransText = d.SMSText\r\n vm.toList = [];\r\n angular.forEach(d.UserOutSideContact, function(d){\r\n var objOutsider = {};\r\n if (d) {\r\n objOutsider.PersonalEmail = d.UserOutSideEmail;\r\n objOutsider.ContactNumber = d.UserOutSidePhone;\r\n vm.toList.push(objOutsider);\r\n }\r\n })\r\n // var emailArray = d.UserOutsideSystemEmail.split(\",\");\r\n // var mobileArray = d.UserOutSideSystemPhone.split(\",\");\r\n // vm.toList = [];\r\n // angular.forEach(emailArray,function(d){\r\n // var emailObj = [];\r\n // if (d!=\"\") {\r\n // emailObj.PersonalEmail = d;\r\n // vm.toList.push(emailObj);\r\n // }\r\n // })\r\n }\r\n \r\n }\r\n \r\n //console.log('vm.eventConfigurationArray',vm.eventConfigurationArray);\r\n })\r\n }\r\n })\r\n }\r\n\r\n vm.EditAlerts = function(alertType,alertId){\r\n if (alertType == 'transactional') {\r\n $state.go('index.NotificationSettings',{\r\n alertType:alertType,\r\n eventType:alertId,\r\n mode:true\r\n },{\r\n reload:true\r\n })\r\n }else if (alertType == 'SLA') {\r\n $state.go('index.SLASettings',{\r\n mode:true\r\n },{\r\n reload:true\r\n })\r\n\r\n }else if (alertType == 'Escalation') {\r\n $state.go('index.EscalationSettings',{\r\n mode:true,\r\n alertId:alertId\r\n },{\r\n reload:true\r\n })\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n if (vm.mode == \"true\") {\r\n vm.mode = true;\r\n if(vm.AlertType == 'transactional'){\r\n vm.GetAlertConfiguration(vm.eventType,vm.AlertType);\r\n }\r\n \r\n }else{\r\n vm.mode = false;\r\n }\r\n vm.OpenTransactionalModal = function(){\r\n TransactionalModal = $uibModal.open({\r\n templateUrl: 'transactional-alert-modal',\r\n scope: $scope,\r\n size:'lg'\r\n })\r\n }\r\n vm.CloseTransactionalModal = function(){\r\n TransactionalModal.close();\r\n }\r\nvar confObject = {\r\n // check_1:'',\r\n // role_1:'',\r\n // channel_1:'',\r\n // emailP_1:'',\r\n // smsText_1:''\r\n}\r\n//vm.eventConfigurationArray.push(confObject);\r\n\r\nvm.AddEventsConfiguration = function(){\r\n var ele={};\r\n vm.eventConfigurationArray.push(ele);\r\n}\r\nvm.RemoveEventsConfiguration = function (index){\r\n vm.eventConfigurationArray.splice(index, 1);\r\n}\r\n\r\n\r\n \r\n\r\n // vm.GetEvent = function(event){\r\n // vm.eventType = event;\r\n // console.log('vm.eventType before',vm.eventType); \r\n // vm.CloseTransactionalModal();\r\n // console.log('vm.eventType after',vm.eventType); \r\n // }\r\n\r\n vm.OpenMailModal = function(){\r\n MailModal = $uibModal.open({\r\n templateUrl: 'mail-modal',\r\n scope: $scope,\r\n size:'lg'\r\n })\r\n }\r\n vm.CloseMailModal = function(){\r\n MailModal.close();\r\n }\r\n\r\nvar confObject = {\r\n \r\n}\r\nvm.eventConfigurationArray.push(confObject);\r\n\r\nvm.AddEventsConfiguration = function(){\r\n var ele={};\r\n vm.eventConfigurationArray.push(ele);\r\n}\r\nvm.RemoveEventsConfiguration = function (index){\r\n vm.eventConfigurationArray.splice(index, 1);\r\n}\r\n// vm.storeSelectedRoles = function(role){\r\n\r\n// vm.selectedRolesList.push(vm.RoleList[role]);\r\n// }\r\n\r\n// vm.removeSelectedRoles = function (element) {\r\n// var matched = false;\r\n// angular.forEach(vm.selectedRolesList, function (d) {\r\n// if (d == element) {\r\n// matched = true;\r\n// return;\r\n// }\r\n// });\r\n// if (!matched) {\r\n// return element;\r\n// }\r\n// }\r\nvm.getUserSuggestion = function (val) {\r\n\r\n // vm.scheduleModel.toListMendtryErr=false;\r\n\r\n var re = /^[A-Za-z0-9]+([\\.\\-_]*[A-Za-z0-9]+)*@[A-Za-z0-9]+([\\.\\-_]*[A-Za-z0-9]+)*\\.([A-Za-z]{2}|[A-Za-z]{3})$/;\r\n if (vm.users.length > 0) {\r\n return re.test(val)?[{FirstName:val.split(\"@\")[0], LastName:\"\", UserId:val}].concat(vm.users):vm.users;\r\n }\r\n vm.getUsers();\r\n return re.test(val)?[{FirstName:val.split(\"@\")[0], LastName:\"\", UserId:val}]:[];\r\n }\r\n\r\n vm.getUsers = function () {\r\n vm.users = [];\r\n ReportService.getUsers(loggedinUser, token, vm.createCallback(vm.users, [function (data) {\r\n //$log.log(data);\r\n }]));\r\n }\r\n\r\n vm.searchAsOr = function (searchText1) {\r\n return function (entry) {\r\n var splittedText = searchText1.split(\";\");\r\n if (splittedText != null && splittedText.length > 0) {\r\n var searchText = splittedText[splittedText.length - 1].trim();\r\n if (entry.FirstName.toLowerCase().indexOf(searchText.toLowerCase()) > -1\r\n || (entry.LastName !=null && entry.LastName.toLowerCase().indexOf(searchText.toLowerCase()) > -1)\r\n || entry.UserId.toLowerCase().indexOf(searchText.toLowerCase()) > -1)\r\n return entry;\r\n }\r\n }\r\n }\r\n vm.removeSelectedUsers = function (element) {\r\n var matched = false;\r\n angular.forEach(vm.toList, function (d) {\r\n if (d.PersonalEmail == element.PersonalEmail) {\r\n matched = true;\r\n return;\r\n }\r\n });\r\n if (!matched) {\r\n return element;\r\n }\r\n }\r\n vm.selectUserNameInToList = function (item,mobile) {\r\n if (item == '' && mobile == '') {\r\n vm.showInfo(\"Information\",\"Please enter email or mobile\");\r\n return;\r\n }\r\n var obj=[];\r\n if (item && item.length!=0) {\r\n obj.PersonalEmail = item;\r\n }\r\n \r\n if (mobile && mobile.length>0) {\r\n obj.ContactNumber = mobile; \r\n }else{\r\n angular.forEach(vm.users, function(d){\r\n if (d.PersonalEmail == item) {\r\n obj.ContactNumber = d.ContactNumber;\r\n }\r\n })\r\n }\r\n vm.toList.push(obj);\r\n vm.toUsers = [];\r\n vm.mobileNo = '';\r\n }\r\n vm.RemovefromList = function(index){\r\n vm.toList.splice(index,1);\r\n }\r\n\r\nvm.SaveEventConfiguration = function(){\r\n\r\nif (vm.config_form.$valid) {\r\n var obj = {};\r\n obj.AlertType = vm.AlertType;\r\n obj.AlertId = vm.eventType;\r\n var alertArray = [];\r\n angular.forEach(vm.eventConfigurationArray, function(d){\r\n var alertObject = {};\r\n if (d && d.check) {\r\n if (d.channel.indexOf('SMS')!=-1) {\r\n alertObject.SMSEnabled = true;\r\n alertObject.SMSText = d.smsText;\r\n }else{\r\n alertObject.SMSEnabled = false;\r\n alertObject.SMSText = \"\";\r\n }\r\n if (d.channel.indexOf('Email')!=-1) {\r\n alertObject.EmailEnabled = true;\r\n alertObject.EmailTemplateName =vm.eventType;\r\n alertObject.EmailSubject = vm.eventType;\r\n }else{\r\n alertObject.EmailEnabled = false;\r\n alertObject.EmailTemplateName =\"\";\r\n alertObject.EmailSubject = \"\";\r\n }if (d.channel.indexOf('Notifications')!=-1) {\r\n alertObject.NotificationEnabled = true;\r\n alertObject.NotificationText =d.smsText;\r\n }else{\r\n alertObject.NotificationEnabled = false;\r\n alertObject.NotificationText =\"\";\r\n }if (d.channel.indexOf('WebNotification')!=-1) {\r\n alertObject.WebNotificationEnabled = true;\r\n alertObject.WebNotificationText =d.smsText;\r\n }else{\r\n alertObject.WebNotificationEnabled = false;\r\n alertObject.WebNotificationText =\"\";\r\n }if (d.channel.indexOf('WhatsApp')!=-1) {\r\n alertObject.WhatsAppEnabled = true;\r\n alertObject.WhatsAppText =d.smsText;\r\n }else{\r\n alertObject.WhatsAppEnabled = false;\r\n alertObject.WhatsAppText =\"\";\r\n }\r\n alertObject.Role = d.role;\r\n alertObject.UserOutSideContact=[];\r\n alertObject.UserOutSideContact.UserOutSideEmail = \"\";\r\n alertObject.UserOutSideContact.UserOutSidePhone = \"\";\r\n alertArray.push(alertObject);\r\n }\r\n })\r\n\r\n if (vm.outSidecheck1) {\r\n if (vm.toList && vm.toList.length>0) {\r\n var alertObject = {}\r\n var outSiderModel = [];\r\n angular.forEach(vm.toList, function(d){\r\n var objModel = {};\r\n if (d) {\r\n objModel.UserOutSideEmail = d.PersonalEmail;\r\n objModel.UserOutSidePhone = d.ContactNumber;\r\n outSiderModel.push(objModel);\r\n }\r\n })\r\n \r\n alertObject.UserOutSideContact = outSiderModel;\r\n alertObject.Role = \"Outsider\";\r\n alertObject.SMSText = vm.outsiderTransText;\r\n alertObject.SMSEnabled = true;\r\n alertObject.EmailEnabled = true;\r\n alertObject.EmailSubject = vm.eventType;\r\n alertObject.EmailTemplateName = vm.eventType;\r\n alertObject.NotificationEnabled = false;\r\n alertObject.NotificationText = \"\";\r\n alertObject.WhatsAppEnabled = false;\r\n alertObject.WhatsAppText = \"\";\r\n alertArray.push(alertObject);\r\n }else{\r\n vm.showInfo(\"Information\",\"Please select outside users or uncheck the button\");\r\n return;\r\n }\r\n }\r\n obj.ListAlertTemplate = alertArray;\r\n //console.log('obj',obj);\r\n NotificationSettingService.CreateTransactionalAlert(loggedinUser,token,obj).then(function(resp){\r\n if (resp && resp.data) {\r\n vm.showSuccess(\"Success\",vm.eventType +\"-Transactional Alert has been created\");\r\n $timeout(function(){\r\n $state.go('index.NotificationSettings',{\r\n alertType:'main',\r\n eventType:'',\r\n mode:''\r\n },{\r\n reload:true\r\n });\r\n },2000)\r\n }else{\r\n vm.showFailure(\"Failure\",vm.eventType +\"-Transactional Alert creation failed due to some technical error\");\r\n }\r\n })\r\n}else{\r\n vm.config_form.submitted = true;\r\n}\r\n \r\n}\r\n\r\n\r\n vm.GetAllAlertConfiguration = function(){\r\n NotificationSettingService.GetAllAlertConfiguration(loggedinUser,token).then(function(resp){\r\n if (resp && resp.status == 200 && resp.data && resp.data.length>0) {\r\n vm.AllConfigurationList = resp.data;\r\n //console.log('vm.AllConfigurayionList',vm.AllConfigurationList);\r\n }else{\r\n vm.showFailure(\"Error\",\"No Configuration found\")\r\n }\r\n })\r\n }\r\n \r\n vm.DeleteAlertConfiguration = function(name,type){\r\n vm.confirmTagModal(\"Do you want to delete selected configuration?\",function(){\r\n if (type=='transactional') {\r\n NotificationSettingService.DeleteAlertConfiguration(loggedinUser,name,type,token).then(function(resp){\r\n if (resp) {\r\n vm.showSuccess(\"Success\",\"Alert has been deleted successfully\");\r\n $timeout(function(){\r\n vm.GetAllAlertConfiguration();\r\n },2000)\r\n \r\n }else{\r\n vm.showFailure(\"Error\",\"Technical error occured\")\r\n }\r\n })\r\n }else if(type == 'Escalation'){\r\n NotificationSettingService.DeleteEscalationAlertConfiguration(loggedinUser,name,type,token).then(function(resp){\r\n if (resp) {\r\n vm.showSuccess(\"Success\",\"Alert has been deleted successfully\");\r\n $timeout(function(){\r\n vm.GetAllAlertConfiguration();\r\n },2000)\r\n \r\n }else{\r\n vm.showFailure(\"Error\",\"Technical error occured\")\r\n }\r\n })\r\n\r\n }else if(type == 'SLA'){\r\n NotificationSettingService.DeleteSLAAlertConfiguration(loggedinUser,name,type,token).then(function(resp){\r\n if (resp) {\r\n vm.showSuccess(\"Success\",\"Alert has been deleted successfully\");\r\n $timeout(function(){\r\n vm.GetAllAlertConfiguration();\r\n },2000)\r\n \r\n }else{\r\n vm.showFailure(\"Error\",\"Technical error occured\")\r\n }\r\n })\r\n }\r\n })\r\n }\r\n\r\n//Global Call functions\r\nif (vm.AlertType == 'main') {\r\n vm.GetAllAlertConfiguration();\r\n}\r\n\r\n\r\n vm.dtOptions = DTOptionsBuilder.newOptions().withDOM(\r\n '<\"html5buttons\"B>lTfrgitp')\r\n .withButtons([]).withPaginationType(\r\n 'full_numbers').withOption('lengthChange', false)\r\n .withOption('searching',true)\r\n .withOption('initComplete', function () {\r\n $('.dataTables_filter input').unbind();\r\n });\r\n // .withOption('order', [1, 'asc']);\r\n\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable()\r\n ];\r\n\r\n});\nangular.module('inspinia').service('NewTalentPoolService', function (FreelancerURL, ApiURL, LocationURL, PublicApiURL, $log, $http) {\r\n\r\n this.GetAllUsers = function (loggedinUser, token) {\r\n\r\n var url = FreelancerURL + '/api/FreeLancerUser/' + loggedinUser + '/GetAllUsers'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n })\r\n }\r\n\r\n this.getUserInfo = function (userId, loggedinUser, token) {\r\n var url = FreelancerURL + \"/api/FreeLancerUser/\" + userId + \"/\" + loggedinUser + \"/byUserId\";\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token':token, 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n // https://perf.mymobiforce.com/freelancerapi/api/FreelancerVendor/U400000000001/getallvendors\r\n this.GetAllVendors = function(loggedInUser,token){\r\n var url = FreelancerURL + '/api/FreelancerVendor/' + loggedInUser + '/getallvendors';\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n\r\n this.GetFreelancerVendorsByFilters = function(loggedInUser,token){\r\n var url = ApiURL + '/api/Vendor/' + loggedInUser + '/VendorStatus/Active' + '/getfreelancervendorsbyfilters';\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n\r\n //https://login.mymobiforce.com/freelancerapi/api/FreelancerRecharge/F00000000121/getrechargehistorybyself?StartDate=&EndDate=\r\n \r\n this.getFreelancerHistory = function (userId, token) {\r\n var url = FreelancerURL + \"/api/FreelancerRecharge/\" + userId + \"/getrechargehistorybyself?StartDate=&EndDate=\";\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token':token, 'UserId':userId\r\n }\r\n });\r\n }\r\n\r\n \r\n// https://perf.mymobiforce.com/freelancerapi/api/FreeLancerUser/GetFavoriteFreelancersByAccount/U400000000001\r\n this.getPreferredUser = function (userId, token) {\r\n var url = FreelancerURL + \"/api/FreeLancerUser/GetFavoriteFreelancersByAccount/\" + userId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token':token, 'UserId':userId\r\n }\r\n });\r\n }\r\n // https://perf.mymobiforce.com/freelancerapi/api/FreeLancerUser/GetFavoriteFreelancersByAccount/U400000000001\r\n\r\n this.getPreferredVendor = function (userId, token) {\r\n var url = FreelancerURL + \"/api/FreelancerVendor/GetFavoriteFreelancerVendorsByAccount/\" + userId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token':token, 'UserId':userId\r\n }\r\n });\r\n }\r\n\r\n\r\n this.getAllSkills = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url, {\r\n headers: {'Token': token, 'UserId':loggedinUser}\r\n });\r\n }\r\n\r\n this.GetAllCircles = function (loggedinUser) {\r\n var url = LocationURL + '/api/Location/' + loggedinUser + '/GetAllCircles'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json' }\r\n });\r\n }\r\n\r\n this.updateUser = function (userFormData, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerUser/' + loggedinUser + '/PutUser';\r\n return $http.put(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n });\r\n }\r\n\r\n this.GetVendorById = function(loggedInUser,vendorId, token){\r\n\t var url = ApiURL + '/api/Vendor/' + loggedInUser + '/' + vendorId + '/getvendorbyid';\r\n\t return $http.get(url,{\r\n\t headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n\t })\r\n\t}\r\n\r\n this.uploadProfilePic = function (loggedinUser, data, token, success, failure) {\r\n $http.post(ApiURL + '/api/User/PostUserPic?reqUserId=' + loggedinUser, data, {\r\n headers: {\r\n 'Content-Type': undefined, 'Token': token, 'UserId':loggedinUser\r\n }\r\n }).then(success, failure);\r\n }\r\n\r\n //http://localhost:50144/api/FreelancerAccount/F00000000000/F00000000106/getaccountbyfreelancerid\r\n this.GetFreelancerBalance = function (loggedinUser, freelancerId, token) {\r\n var url = FreelancerURL + '/api/FreelancerAccount/' + loggedinUser + '/' + freelancerId + '/getaccountbyfreelancerid';\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':loggedinUser }\r\n });\r\n }\r\n\r\n\r\n //https://perf.mymobiforce.com/freelancerapi/api/FreeLancerUser/Block/U400000000001/F00000000106/false\r\n\r\n // this.GetSingleBlockedUser = function (loggedinUser, freelancerId, token) {\r\n // var url = FreelancerURL + '/api/FreeLancerUser/Block/' + loggedinUser + '/' + freelancerId + '/false';\r\n // return $http.get(url, {\r\n // headers: { 'Content-Type': 'application/json', 'Token': token }\r\n // });\r\n // }\r\n\r\n // https://perf.mymobiforce.com/freelancerapi/api/FreeLancerUser/Block/U400000000001/F00000000664/true\r\n this.BlockedSingleUser = function(loggedinUser, userId, status, token){\r\n var url = FreelancerURL + '/api/FreeLancerUser/Block/' + loggedinUser + '/'+ userId +'/'+status;\r\n return $http.put(url, null, {\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n });\r\n }\r\n\r\n//https://perf.mymobiforce.com/freelancerapi/api/FreeLancerUser/Favorite/U400000000001/F00000000657/true\r\n \r\nthis.PreferredSingleUser = function(loggedinUser, userId, status, token){\r\n var url = FreelancerURL + '/api/FreeLancerUser/Favorite/' + loggedinUser + '/'+ userId +'/'+status;\r\n return $http.put(url, null, {\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n });\r\n}\r\n\r\n//https://perf.mymobiforce.com/freelancerapi/api/FreelancerVendor/Favorite/U400000000001/V00000000006/false\r\nthis.PreferredSingleVendor = function(loggedinUser, vendorId, status, token){\r\n var url = FreelancerURL + '/api/FreelancerVendor/Favorite/' + loggedinUser + '/'+ vendorId +'/'+status;\r\n return $http.put(url, null, {\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n });\r\n}\r\n\r\n//https://perf.mymobiforce.com/freelancerapi/api/FreeLancerUser/Favorite/U400000000001/F00000000657/true\r\n \r\n// this.UnPreferredSingleUser = function(loggedinUser, userId, status, token){\r\n// var url = FreelancerURL + '/api/FreeLancerUser/Favorite/' + loggedinUser + '/'+ userId +'/'+status;\r\n// return $http.put(url, null, {\r\n// headers: { 'Content-Type': 'application/json', 'Token':token }\r\n// });\r\n// }\r\n\r\n//https://perf.mymobiforce.com/freelancerapi/api/FreelancerVendor/Block/U400000000001/V00000000013/false\r\nthis.BlockedVendor = function(loggedinUser, vendorId, status, token){\r\n var url = FreelancerURL + '/api/FreelancerVendor/Block/' + loggedinUser + '/'+ vendorId +'/'+status;\r\n return $http.put(url, null, {\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n });\r\n}\r\n\r\n\r\nthis.getAllState = function (userId,token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':userId }\r\n });\r\n}\r\nthis.getCityByState = function (userId, state, token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+state;\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':userId }\r\n });\r\n}\r\n\r\nthis.getAllSkills = function(loggedinUser, token, success, failure){\r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url, {headers: {'Token': token, 'UserId':loggedinUser}}).then(function(res){\r\n if(res && res.status == 200 && res.data){\r\n success(res.data);\r\n }\r\n }, function(err){\r\n failure(\"Failed\", \"Unable to get skill list, server error.\")\r\n })\r\n}\r\nthis.GetAllCertificate = function(loggedinUser, token, success, failure){\r\n // var url = ApiURL + '/api/Cetrificate/GetAll?reqUserId=' + loggedinUser;\r\n var url = ApiURL + '/api/Cetrificate/GetAllMaster?reqUserId=' + loggedinUser;\r\n return $http.get(url,{headers:{'Token':token, 'UserId':loggedinUser}}).then(function(res){\r\n if(res && res.status == 201 && res.data){\r\n success(res.data);\r\n }\r\n },function(err){\r\n failure(\"Failed\",\"Unable to get certificate list, server error.\");\r\n })\r\n}\r\n\r\nthis.GetAllToolSets = function(loggedinUser, token, success, failure){\r\n var url = ApiURL + '/api/Tool/GetAllMaster?reqUserId=' + loggedinUser;\r\n return $http.get(url,{headers:{'Token':token, 'UserId':loggedinUser}}).then(function(res){\r\n if(res && res.status == 201 && res.data){\r\n success(res.data);\r\n }\r\n },function(err){\r\n failure(\"Failed\",\"Unable to get certificate list, server error.\");\r\n })\r\n}\r\n \r\n//https://perf.mymobiforce.com/freelancerapi/api/FreelancerUser/FilterFrUsers?reqUserid=U400000000001\r\n\r\nthis.Filter = function ( loggedinUser, token,userFormData) {\r\n var url = FreelancerURL + \"/api/FreelancerUser/FilterFrUsers?reqUserid=\" + loggedinUser;\r\n return $http.put(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n });\r\n}\r\n})\r\n\nangular.module('inspinia').controller('NewTalentPoolController', function(toaster, UIURL, NewTalentPoolService, \r\n\t$state ,$localStorage, $filter ,$compile, $scope, DTOptionsBuilder, TeamFormCreationService, DTColumnDefBuilder, DTColumnBuilder, PublicApiURL, $log, \r\n\tHelpDeskCustomerViewService,ReferService, $stateParams, $uibModal, JobTicketViewService,$rootScope, NgMap, $q, $timeout, ImageUrl) {\r\n\tvm = this;\r\n\tvm.showAdvanceFilter = false;\r\n\tvm.CustomDateformat = $localStorage.CustomDateformat;\r\n\tvm.showSuccess = $scope.$parent.main.showSuccess;\r\n\tvm.showFailure = $scope.$parent.main.showFailure;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar AccountID = $localStorage.accountConfig.AccountId;\r\n\tvar accountcreationDate = $localStorage.accountConfig.AccountCreationDate;\r\n\tvm.loggedInUser_Role=$localStorage.loggedInUser_Role;\r\n\tvm.Technicianstartingdate = '2017-01-01';\r\n\tvm.VendorStartingDate = '2017-01-01';\t\r\n\tvm.UserType=$stateParams.type?$stateParams.type:\"Technician\"; //$stateParams.type;\r\n\tvar token = $localStorage.token;\r\n\tvm.dtInstanceUser={};\r\n\tvm.dtInstancePreferredUserTable={};\r\n\t// vm.dtInstancePreferredUser={};\r\n\tvm.adddaterange=false;\r\n\tvm.vendoradddaterange=false;\r\n\tvm.dtInstanceVendor={};\r\n\tvm.dtInstancePreferredVendor={};\r\n\tvm.PreferredvendorListdata=[];\r\n\tvm.Bluserlist=[];\r\n\tvm.blockvendorlist=[];\r\n\tvm.showtechnician=true;\r\n\tvm.showvendor=false;\r\n\tvm.technicianlistview=true;\r\n\tvm.vendorlistview=true;\r\n\tvm.selectedInvoice = '';\r\n\tvm.users=[];\r\n\tvm.searchText = '';\r\n\tvm.PermanentState='';\r\n\tvm.VendorPermanentState='';\r\n\tvm.UserName='';\r\n\tvm.ContactNumber='';\r\n\tvm.VendorUserName='';\r\n\tvm.VendorContactNumber='';\r\n\tvm.StateList=[];\r\n\tvm.VendorStateList=[];\r\n\tvm.PermanentCity='';\r\n\tvm.VendorPermanentCity='';\r\n\tvm.CityList=[];\r\n\tvm.VendorCityList=[];\r\n\tvm.addSkill='';\r\n\tvm.VendoraddSkill='';\r\n\tvm.AllCertificateSets=[];\r\n\tvm.VendorAllCertificateSets=[];\r\n\tvm.addTraningCertificateName='';\r\n\tvm.Asset_Tools='';\r\n\tvm.VendorAsset_Tools='';\r\n\tvm.Asset_Bike=false;\r\n\tvm.Asset_Mobile=false;\r\n\tvm.Asset_Laptop=false;\r\n\tvm.Student=false;\r\n\tvm.Intern=false;\r\n\tvm.Prime=false;\r\n\tvm.VendorSource='';\r\n\tvm.Adharcard=false;\r\n\tvm.Pancard=false;\r\n\tvm.VendorAsset_Laptop=false;\r\n\tvm.VendorAsset_Mobile=false;\r\n\tvm.VendorAsset_Bike=false;\r\n\tvm.pincode=[];\r\n\tvm.AlredayPreferred = [];\r\n\tvm.Vendorpincode=[];\r\n\t\r\n\tvm.vendorListLength=0;\r\n\tvm.pageindexCount=0;\r\n\tvm.usersLength=0;\r\n\tvm.techpageindexCount=0;\r\n\tvm.selectedFreelancerUserRole=\"\";\r\n\tvar startDate = moment(vm.Technicianstartingdate).format(\"YYYY-MM-DD\");\r\n\tvar endDate = moment();\r\n\t$scope.dates = { startDate: startDate, endDate:endDate};\r\n\t$scope.ranges = {\r\n\t\t'Today': [moment(), moment()],\r\n // 'Yesterday': [moment().subtract(1, 'days'), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n 'Till now': [moment(startDate), moment(endDate)],\r\n\t// 'Till now': [startDate ='', startDate ='']\r\n\t};\r\n\r\n\r\n\r\n\t\r\n\r\n$scope.dateRangeChange = function (ev, picker) {\r\n\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n};\r\n\r\n$scope.Vendordates = { startDate: startDate, endDate: endDate };\r\n$scope.Vendorranges = {\r\n\t'Today': [moment(), moment()],\r\n // 'Yesterday': [moment().subtract(1, 'days'), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n 'Till now' :[moment(vm.VendorStartingDate), moment()]\r\n\t// 'Till now': [startDate ='01/01/01', moment(),]\r\n};\r\n$scope.dateRangeChange = function (ev, picker) {\r\n\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n};\r\n\r\nvm.City='';\r\nvm.Pincode='';\r\nvm.Experience='';\r\nvm.VendorExperience='';\r\nvm.Ratings='';\r\nvm.VendorRatings='';\r\nvm.Assets_Tools='';\r\nvm.Jobscount='';\r\nvm.VendorJobscount='';\r\nvm.FilterAdhar='';\r\nvm.FilterPancard='';\r\n$localStorage.filteraddskill ='';\r\n$localStorage.filterPermanentstate ='';\r\nvm.PreferredUsers=[];\r\nvm.vendorList=[];\r\nvm.PreferredVendors=[];\r\nif (!loggedinUser) {\r\n\t$state.go('Login', {\r\n\t\treload: true\r\n\t});\r\n} else {\r\n\r\n\tif($localStorage.TechnicianDetailsView =='TechnicianDetails'){\r\n\t\tvm.currentPage = $localStorage.PageIndex?$localStorage.PageIndex:1;\r\n\t}\r\n\telse{\r\n\t\tvm.currentPage = 1;\r\n\t}\r\n\r\n\tvm.currentPage = $localStorage.PageIndex?$localStorage.PageIndex:1;\r\n\tvm.pageSize = 20;\r\n\r\n\t$scope.totalUsers = 0;\r\n\t$scope.usersPerPage = 20; // this should match however many results your API puts on one page\r\n\t$scope.pagination = {\r\n\t\tcurrent: 1\r\n\t};\r\n\r\n\t$scope.pagination.current = $localStorage.PageIndex?$localStorage.PageIndex:1;\r\n\t$scope.totalTableUsers = 0;\r\n\t$scope.usersTablePerPage = 20; // this should match however many results your API puts on one page\r\n\t$scope.UserTablepagination = {\r\n\t\tcurrent: 1\r\n\t};\r\n\r\n\t$scope.UserTablepagination.current = $localStorage.PageIndex?$localStorage.PageIndex:1;\r\n\r\n\t$scope.totalvendor = 0;\r\n\t$scope.vendorPerPage = 20; // this should match however many results your API puts on one page\r\n\t$scope.vendorpagination = {\r\n\t\tcurrent: 1\r\n\t};\r\n\t$scope.vendorpagination.current = $localStorage.VendorPageIndex?$localStorage.VendorPageIndex:1;\r\n\r\n\t$scope.totalvendorTable = 0;\r\n\t$scope.vendorPerPageTable = 20; // this should match however many results your API puts on one page\r\n\t$scope.vendorpaginationTable = {\r\n\t\tcurrent: 1\r\n\t};\r\n\t$scope.vendorpaginationTable.current = $localStorage.VendorPageIndex?$localStorage.VendorPageIndex:1;\r\n\tif($localStorage.VendorDetailsView =='VendorDetails'){\r\n\t\tvm.VendorcurrentPage = $localStorage.VendorPageIndex?$localStorage.VendorPageIndex:1;\r\n\t\t\r\n\t}\r\n\telse{\r\n\t\tvm.VendorcurrentPage = 1;\r\n\t}\t\t\r\n\r\n\tvm.VendorpageSize = 20;\r\n\t$scope.pageChanged = function(newPage) {\r\n\t\tvm.currentPage = newPage;\r\n\t\tvm.applyfilter(newPage);\r\n\r\n\t};\r\n\r\n\t$scope.UserTablepageChanged = function(newPage) {\r\n\t\t\r\n\t\tvm.currentPage = newPage;\r\n\r\n\t\tvm.applyfilter(newPage,'');\r\n //vm.Allapplyfilter(newPage);\r\n };\r\n\r\n\r\n $scope.PreferredUserTablepageChanged = function(newPage) {\r\n\r\n\t\t// vm.GetAllUsers(newPage);\r\n\t\tvm.applyfilter(newPage);\r\n\r\n\t};\r\n\r\n\t$scope.vendorpageChanged = function(newPage) {\r\n\t\t// vm.GetAllUsers(newPage);\r\n\t\tvm.VendorcurrentPage = newPage;\r\n\t\tvm.Vendorapplyfilter(newPage);\r\n\r\n\t};\r\n\t$scope.VendorTablepageChanged = function(newPage) {\r\n\t\t// vm.GetAllUsers(newPage);\r\n\t\tvm.VendorcurrentPage = newPage;\r\n\t\tvm.Vendorapplyfilter(newPage);\r\n\r\n\t};\t\t\r\n\t\t\r\n\tvm.availableSearchParams = [\r\n\t{ key: \"TemplateName\", name: \"TemplateName\", placeholder: \"TemplateName...\" }\r\n // { key: \"city\", name: \"City\", placeholder: \"City...\" },\r\n // { key: \"country\", name: \"Country\", placeholder: \"Country...\" },\r\n // { key: \"emailAddress\", name: \"E-Mail\", placeholder: \"E-Mail...\", allowMultiple: true },\r\n // { key: \"job\", name: \"Job\", placeholder: \"Job...\" }\r\n ];\r\n\r\n vm.getPicUrl = function (profilePicName) {\r\n \treturn profilePicName ? ImageUrl + \"/\" + profilePicName : null;\r\n }\r\n\r\n\r\n vm.selectState = function (state) {\r\n \tvar Getstate = state;\r\n \tTeamFormCreationService.getCities(loggedinUser,Getstate,token).then(function (resp) {\r\n \t\tvm.cityList = resp.data;\r\n \t\tif (!resp.data) {\r\n \t\t\tvar cityArray = [];\r\n \t\t\tcityArray.push({\r\n \t\t\t\tcity: state\r\n \t\t\t});\r\n \t\t\tvm.cityList = cityArray;\r\n \t\t}\r\n \t}, function () {\r\n\r\n \t});\r\n }\r\n\r\n\r\n// vendor filter\r\n//vendor data form\r\nvm.AllVendorfilter = function (index) {\t\r\n\tif(index != undefined){\r\n\t\tif(index.includes(\":\"))\r\n\t\t{\r\n\t\t\tvar strKey = index.split(':')[0];\r\n\t\t\tif(strKey==\"Skill\")\r\n\t\t\t{ \r\n\t\t\t\tvm.VendoraddSkill='';\r\n\t\t\t\tvm.VendoraddSkill=[index.split(':')[1]];\r\n\t\t\t}\r\n\t\t\tif(strKey==\"State\")\r\n\t\t\t{\r\n\t\t\t\tvm.VendorPermanentState='';\r\n\t\t\t\tvm.VendorPermanentState=index.split(':')[1];\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t$scope.Vendordates = { startDate: startDate, endDate: endDate };\r\n\tvm.vendoradddaterange=true;\r\n\t$scope.vendorpaginationTable.current=1;\r\n\tvm.pfvendorlist=[];\r\n\tvar temp = [];\r\n\tfor(var i=0;i0)\r\n\t\t\t\t{\r\n\t\t\t\t\tfor(var i=0; i 0){\r\n\t\t\t\t\t\t\t\tfor(var j=0;j 0) {\r\n\t\t\t\tvm.vendorList = resp.data;\r\n\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\r\n// vm.GetAllUsers();\r\nvm.getProfilePic = function (pic) {\r\n\treturn ImageUrl + \"/\" + pic;\r\n}\r\nvm.searchTable = function () {\r\n\tvm.dtInstance.DataTable.search(vm.searchText);\r\n\tvm.dtInstance.DataTable.search(vm.searchText).draw();\r\n};\r\n// start all user\r\n// vm.Bluserlist = [];\r\nvm.applyfilter = function (index, data) {\r\n\tvar userFormData ={};\r\n\tif(data){\r\n\t\tuserFormData=data;\r\n\t}else{\r\n\t\tvar temp = [];\r\n\t\tfor(var i=0;i0)\r\n\t\t\t {\r\n\t\t\t \tfor(var i=0; i 0){\r\n\t\t\t \t\t\t\tfor(var j=0;j0)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tfor(var i=0; i 0){\r\n\t\t\t\t\t\t\t\t\t\tfor(var j=0;j0)\r\n\t\t\t{\r\n\t\t\t\tfor(var i=0; i 0){\r\n\t\t\t\t\t\t\tfor(var j=0;j0)\r\n\t\t\t{\r\n\t\t\t\tfor(var i=0; i 0){\r\n\t\t\t\t\t\t\tfor(var j=0;j= 0 || file.type.indexOf(\"image/png\") >= 0\r\n || file.type.indexOf(\"image/bmp\") >= 0 || file.type.indexOf(\"image/jpeg\") >= 0) {\r\n var data = new FormData();\r\n data.append(\"files\", file);\r\n NewOnboardingFlowService.uploadProfilePic(loggedinUser, data, token, function (res) {\r\n if (res && res.status == 201 && res.data) {\r\n vm[type] = filename;\r\n vm.imageServices(filename);\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to upload profile pic, server error\");\r\n });\r\n } else {\r\n vm.fileUploadError = \"Please upload image only as profile picture.\";\r\n }\r\n }\r\n\r\n vm.imageServices = function (img) {\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n if (resp.data == null || resp.data == '') {\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n }\r\n else {\r\n vm.profileImg = resp.data;\r\n }\r\n console.log(vm.profileImg);\r\n }, function () {\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n });\r\n\r\n }\r\n vm.DocumentimageServices = function (img, index) {\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n vm.DocprofileImg[index] = resp.data;\r\n\r\n });\r\n\r\n }\r\n vm.CertificateimageServices = function (cert, index) {\r\n MainService.GetImageBlob(loggedinUser, token, cert).then(function (resp) {\r\n vm.CertprofileImg[index] = resp.data;\r\n });\r\n }\r\n vm.UploadCertificateimageServices = function (cert) {\r\n MainService.GetImageBlob(loggedinUser, token, cert).then(function (resp) {\r\n vm.UploadCertprofileImg = resp.data;\r\n vm.isnonindeximage = \"1\";\r\n });\r\n }\r\n vm.VerificationCertificateimageServices = function (cert, index) {\r\n MainService.GetImageBlob(loggedinUser, token, cert).then(function (resp) {\r\n vm.VerificationCertprofileImg[index] = resp.data;\r\n });\r\n }\r\n vm.Verificationisnonindeximage = \"0\";\r\n vm.VerificationUploadCertificateimageServices = function (cert) {\r\n MainService.GetImageBlob(loggedinUser, token, cert).then(function (resp) {\r\n vm.VerificationUploadCertprofileImg = resp.data;\r\n vm.Verificationisnonindeximage = \"1\";\r\n alert(vm.VerificationUploadCertprofileImg);\r\n });\r\n }\r\n\r\n\r\n $scope.uploadCertificateFile = function (elem) {\r\n var index = (angular.element(elem).attr(\"data-index\"));\r\n // var doc = vm.BGDocList[index];\r\n var traning = vm.TrainingList[index];\r\n // vm.error[traning.CertificateName] = '';\r\n var file = elem.files[0];\r\n var rendomnumber = Math.floor(1000 + Math.random() * 9999);\r\n filename = vm.UserId + \"_TraningCertificate_\" + rendomnumber + \".\" + file.name.split(\".\")[1];\r\n var file = new File([file], filename, { type: file.type });\r\n\r\n if (file.type == \"application/pdf\" || file.type == \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"\r\n || file.type == \"application/msword\" || file.type.indexOf(\"image/jpg\") >= 0 || file.type.indexOf(\"image/png\") >= 0\r\n || file.type.indexOf(\"image/bmp\") >= 0 || file.type.indexOf(\"image/jpeg\") >= 0) {\r\n var data = new FormData();\r\n data.append(\"files\", file);\r\n NewOnboardingFlowService.uploadProfilePic(loggedinUser, data, token, function (res) {\r\n if (res && res.status == 201 && res.data) {\r\n vm.pathtcertificate = filename;\r\n vm.UploadCertificateimageServices(filename);\r\n if (vm.pathtcertificate) {\r\n vm.tempCertificateAdd = false;\r\n }\r\n traning.TrainingCertificate = traning.TrainingCertificate = filename;\r\n traning.CertificateName = traning.CertificateName;\r\n\r\n traning.edit = false;\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to upload certificate, server error\");\r\n });\r\n } else {\r\n vm.error[traning.CertificateName] = \"You can upload image, pdf or word document only\";\r\n }\r\n }\r\n\r\n\r\n\r\n vm.sendBoatLink = function (skill) {\r\n console.log(skill);\r\n NewOnboardingFlowService.sendBoatLink(loggedinUser, vm.MobileNo, skill, token, function (res) {\r\n if (res && res.status == 201) {\r\n vm.showSuccess('Success', \"Successfully send link\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to send link, server error\");\r\n })\r\n }\r\n\r\n\r\n \r\n // New Onboarding Flow code start\r\n\r\n\r\n vm.UpdateValidationData = function () {\r\n var validationData = {\r\n \"UserId\": UserId,\r\n \"SectionName\": vm.SectionName,\r\n \"ItemName\": vm.fieldData.ItemName,\r\n \"ItemComment\": vm.ItemComment,\r\n \"ItemStatus\": vm.ItemStatus\r\n }\r\n vm.validationForm.submitted = true;\r\n if (vm.validationForm.$valid) {\r\n vm.disableRejectButton = true;\r\n NewOnboardingFlowService.UpdateUserProfileValidationData(validationData, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n $timeout(function () {\r\n vm.GetBasicDetailsDynamic();\r\n vm.GetSkillDataAndLocation();\r\n vm.GetBasicDetails();\r\n vm.GetBGverificationWeb();\r\n vm.GetAllActivitiesForUser();\r\n }, 2000);\r\n if(vm.IsApprovedModelOpen == true){\r\n vm.closeApprovalPopUp();\r\n }\r\n else if (vm.IsRejectModelOpen == true){\r\n vm.closeRejectionPopUp();\r\n } \r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n if(vm.IsApprovedModelOpen == true){\r\n vm.closeApprovalPopUp();\r\n }\r\n else if (vm.IsRejectModelOpen == true){\r\n vm.closeRejectionPopUp();\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n vm.OpenRejectionPopUp = function (fieldData, Section) {\r\n vm.fieldData = fieldData;\r\n vm.IsRejectModelOpen = true;\r\n vm.ItemStatus = 'Rejected';\r\n vm.SectionName = Section;\r\n RejectionModel = $uibModal.open({\r\n templateUrl: 'rejectField_model.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n }, function () {\r\n });\r\n }\r\n\r\n vm.OpenApprovalPopUp = function (fieldData, Section) {\r\n vm.IsApprovedModelOpen = true;\r\n vm.fieldData = fieldData;\r\n vm.ItemStatus = 'Approved';\r\n vm.SectionName = Section;\r\n ApprovalModel = $uibModal.open({\r\n templateUrl: 'approveField_model.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n }, function () {\r\n });\r\n }\r\n\r\n vm.closeApprovalPopUp = function () {\r\n ApprovalModel.close();\r\n vm.ItemComment = \"\";\r\n vm.disableRejectButton = false;\r\n vm.IsApprovedModelOpen = false;\r\n }\r\n\r\n vm.closeRejectionPopUp = function () {\r\n RejectionModel.close();\r\n vm.ItemComment = \"\";\r\n vm.disableRejectButton = false;\r\n vm.IsRejectModelOpen = false;\r\n }\r\n\r\n\r\n vm.callToTechnician = function () { \r\n AllUsersListService.callToTechnicianApi(loggedinUser,UserId, token).then(function (resp) {\r\n if(resp.status == 200) {\r\n vm.showSuccess(\"Success\",\"Call Initiated\");\r\n }\r\n else {\r\n vm.showFailure(\"Failure\",resp.data.Message);\r\n } \r\n });\r\n \r\n }\r\n\r\n vm.SiteRescheduleAudit = function (index) {\r\n var data = {};\r\n data = {\r\n \"UserId\": UserId,\r\n \"docName\": vm.UserBGInfo[index].DocumentName,\r\n \"docType\": \"\",\r\n \"DocumentNo\": vm.UserBGInfo[index].DocumentNo,\r\n \"VerificationMode\": \"\",\r\n \"VerificationAuthority\": \"\",\r\n \"VerificationStatus\": \"\",\r\n \"ThirdPartyDocumentPath\": \"\"\r\n }\r\n\r\n NewOnboardingFlowService.SaveBackgroundChecks(data, vm.FilesFrontDoc, vm.FilesBackDoc, vm.ThirdPartyDocs, token, loggedinUser).then(function (res) {\r\n if (res && res.status == 201) {\r\n vm.data = \"\";\r\n vm.showSuccess(\"Success\", \"Document Uploaded Successfully.\");\r\n $timeout(function () {\r\n vm.GetBGverificationWeb();\r\n }, 2000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", \"Not Uploaded\");\r\n } else {\r\n vm.showFailure(\"Failed\");\r\n }\r\n });\r\n }\r\n\r\n\r\n vm.GetBasicDetails = function () {\r\n NewOnboardingFlowService.GetBasicDetailsWeb(UserId, loggedinUser, token).then(function (resp) {\r\n vm.UserBasicInfo = resp.data;\r\n vm.userProfileValidationData = vm.UserBasicInfo.userProfileValidationData;\r\n });\r\n }\r\n\r\n vm.GetBasicDetails();\r\n\r\n // vm.GetBasicDetailsList = function () {\r\n // OnBoardingFlowService.GetBasicDetails(UserId, loggedinUser, token).then(function (resp) {\r\n // vm.UserBasicInfo = resp.data;\r\n // });\r\n // }\r\n vm.GetBasicDetailsDynamic = function () {\r\n NewOnboardingFlowService.GetBasicDetailsWebDynamic(UserId, loggedinUser, token).then(function (resp) {\r\n vm.UserBasicInfoList = resp.data;\r\n });\r\n }\r\n\r\n vm.GetBasicDetailsDynamic();\r\n\r\n vm.GetWorkExperinceData = function () {\r\n NewOnboardingFlowService.GetWorkExperinceDataforGc(UserId, loggedinUser, token).then(function (resp) {\r\n vm.WorkExperienceInfo = resp.data;\r\n });\r\n }\r\n\r\n vm.GetSkillDataAndLocation = function () {\r\n NewOnboardingFlowService.GetSkillDataAndLocationWeb(UserId, loggedinUser, token).then(function (resp) {\r\n vm.UserSkillandLocationInfo = resp.data;\r\n });\r\n }\r\n\r\n vm.GetInvitedTeamForRegistration = function () {\r\n NewOnboardingFlowService.GetInvitedTeamForRegistrationWeb(UserId, loggedinUser, token).then(function (resp) {\r\n vm.UserInvitedTeamInfo = resp.data;\r\n });\r\n }\r\n\r\n vm.GetBankDetailsForUsers = function () {\r\n NewOnboardingFlowService.GetBankDetailsForUsers(UserId, loggedinUser, token).then(function (resp) {\r\n vm.UserBankInfo = resp.data;\r\n });\r\n }\r\n\r\n vm.GetBGverificationWeb = function () {\r\n NewOnboardingFlowService.GetBGverificationWeb(UserId, loggedinUser, token).then(function (resp) {\r\n vm.UserBGInfo = resp.data.userBGverificationValidationsData;\r\n });\r\n }\r\n \r\n\r\n\r\n vm.VideoUploadPopup = function () {\r\n VideoModel = $uibModal.open({\r\n templateUrl: 'videoupload_model.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n }, function () {\r\n });\r\n \r\n }\r\n\r\n vm.file = [];\r\n $scope.uploadVideoFile = function(files){\r\n \r\n vm.FrontFileName=\"\";\r\n vm.FilesFrontDoc = files.files;\r\n vm.FrontFileName = vm.FilesFrontDoc[0].name; \r\n vm.file.push(vm.FilesFrontDoc);\t\r\n var allowedExtensions = /(\\.mp4|\\.mov|\\.avi|\\.webm|\\.m4v|\\.mov|\\.qt)$/i; \r\n if(!allowedExtensions.exec(vm.FrontFileName)){\r\n vm.FilesFrontDoc = [];\r\n vm.clear(); \r\n alert('Please upload file having extensions .mp4,.mov,.avi,.webm,.m4v,.mov,.qt only.');\r\n }\r\n }\r\n\r\n vm.VideoUploadPop = function () {\r\n VideoModel.close();\r\n $scope.skillrating = 0;\r\n vm.FeedbackRemarks = \"\";\r\n }\r\n\r\n $scope.stars = [1, 2, 3, 4, 5];\r\n $scope.skillrating = 0;\r\n \r\n $scope.setRating = function(rating) {\r\n $scope.skillrating = rating;\r\n };\r\n\r\n vm.UploadVideo = function () {\r\n var Feedback = vm.FeedbackRemarks;\r\n var Rating = $scope.skillrating;\r\n vm.disableuploadbutton = true;\r\n NewOnboardingFlowService.UploadBGInteractionVideo(UserId,Rating, Feedback,vm.FrontFileName, vm.FilesFrontDoc, token, loggedinUser).then(function (res) { \r\n if (res && res.status == 201) {\r\n vm.VideoUploadPop();\r\n vm.showSuccess(\"Success\", \"Video Uploaded Successfully.\");\r\n vm.disableuploadbutton = false;\r\n $timeout (function(){\r\n vm.ExternalUpload();\r\n },2000)\r\n \r\n } else if (res && res.data && res.data.Message) {\r\n vm.VideoUploadPop();\r\n vm.showFailure(\"Failed\", \"Not Uploaded\");\r\n vm.disableuploadbutton = false;\r\n } else {\r\n vm.showFailure(\"Failed\");\r\n }\r\n });\r\n }\r\n ///External Video List\r\n vm.ExternalUpload = function () {\r\n var newdata = {};\r\n newdata = {\r\n \"UserId\": UserId,\r\n \"Type\": \"\",\r\n \"skillName\": \"\"\r\n }\r\n NewOnboardingFlowService.UploadExternalVideoList(newdata, loggedinUser, token).then(function (resp) {\r\n vm.UploadVideoExternal = resp.data;\r\n });\r\n }\r\n\r\n \r\n\r\n\r\n vm.ReTestForSkill = function (skill) {\r\n var data = {};\r\n data = {\r\n \"UserId\": UserId,\r\n \"Skill\": skill \r\n }\r\n NewOnboardingFlowService.ReTestForSkill(data, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n });\r\n }\r\n\r\n \r\n vm.SetUserStatusInActiveMode = function () {\r\n vm.disableActivateButton = true;\r\n NewOnboardingFlowService.SetUserStatusInActiveMode(UserId,loggedinUser,token).then(function (res) {\r\n if (res && res.status == 200) {\r\n vm.showSuccess(\"Success\", res.data.Message);\r\n $timeout(function () {\r\n if(vm.loggedInUserRole == 'OnBoarding Manager' || vm.loggedInUserRole == 'SuperAdministrator' ){\r\n $state.go('index.AllUsersList', { reload: true });\r\n }\r\n else{\r\n $state.go('index.BGVerification', { reload: true });\r\n }\r\n \r\n }, 2000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\");\r\n }\r\n vm.disableActivateButton = false;\r\n });\r\n }\r\n\r\n vm.getImageDataFST = function (data) {\t\t\t\r\n\t\t\tif (data) {\r\n\t\t\t\treturn data;\r\n\t\t\t} else {\r\n\t\t\t\treturn \"assets/images/patterns/no-image.png\";\r\n\t\t\t}\r\n\t\t}\r\n\r\n vm.videoCallEnabled = false;\r\n $scope.closeDiv = function() {\r\n vm.videoCallEnabled = false;\r\n };\r\n\r\n $scope.AudioCallInitiated = false;\r\n\t\t$scope.VideoCallInitiated = false;\r\n\t\t$scope.ChatInitiated = false;\r\n\r\n vm.SendCommunicationInvite = function (type,Step) {\t\r\n vm.videoCallEnabled = true;\t\t\r\n\t\t\tif($scope.AudioCallInitiated == false && type == 'Audio') {\r\n\t\t\t\tNewOnboardingFlowService.SendCommunicationInvite(UserId,type,Step,loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif(resp.status==200){\t\t\t\t\t\t\r\n\t\t\t\t\t\t{\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tvm.connectionLink = resp.data;\r\n\t\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Audio call request initiated\");\r\n\t\t\t\t\t\t\t// vm.PollVideoCallFieldLocation();\t\r\n\t\t\t\t\t\t\t$scope.AudioCallInitiated = true;\t\t\t\t\r\n\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\t}\t\r\n\t\t\telse if($scope.VideoCallInitiated == false && type == 'Video') {\r\n\t\t\t\tNewOnboardingFlowService.SendCommunicationInvite(UserId,type,Step,loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif(resp.status==200){\t\t\t\t\t\t\r\n\t\t\t\t\t\t{\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tvm.connectionLink = resp.data;\r\n\t\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Video call request initiated\");\r\n\t\t\t\t\t\t\t// vm.PollVideoCallFieldLocation();\t\r\n\t\t\t\t\t\t\t$scope.VideoCallInitiated = true;\t\t\t\t\r\n\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\telse if($scope.ChatInitiated == false && type == 'Text') {\r\n\t\t\t\tNewOnboardingFlowService.SendCommunicationInvite(UserId,type,Step, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif(resp.status==200){\t\t\t\t\t\t\r\n\t\t\t\t\t\t{\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tvm.connectionLink = resp.data;\r\n\t\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Communication Request Initiated\");\r\n\t\t\t\t\t\t\t// vm.PollVideoCallFieldLocation();\t\r\n\t\t\t\t\t\t\t$scope.ChatInitiated = true;\t\t\t\t\r\n\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\t}\t\t\r\n\t\t\t}\r\n\r\n vm.GetAllActivitiesForUser = function () {\r\n NewOnboardingFlowService.GetAllActivitiesForUser(UserId, loggedinUser, token).then(function (resp) {\r\n vm.UserActivityInfo = resp.data;\r\n });\r\n }\r\n vm.GetAllActivitiesForUser();\r\n\r\n }\r\n})\r\n\r\nfunction CheckRegExOnKeyPress(e) {\r\n\r\n var regex = new RegExp(\"^[a-zA-Z0-9\\\\s\\\\.\\\\,\\\\-\\\\/]+$\");\r\n var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);\r\n if (regex.test(str)) {\r\n return true;\r\n }\r\n e.preventDefault();\r\n return false;\r\n};\r\nfunction CheckRegExOnKeyPressCertificate(e) {\r\n\r\n var regex = new RegExp(\"^[a-zA-Z0-9\\\\s\\\\.\\\\-\\\\\\\\]+$\");\r\n var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);\r\n if (regex.test(str)) {\r\n return true;\r\n }\r\n e.preventDefault();\r\n return false;\r\n};\r\n\r\n\nangular.module('inspinia').service('jobDetailsService', function (ApiURL, $log, $http, SchedulingAPI, FreelancerURL, $localStorage, ActivityURL, LocationURL, PublicApiURL,$timeout){\r\n\r\n this.GetJobTicket = function (ticketId, token) {\r\n var url = ApiURL + '/api/Ticket/' + ticketId + '/' + $localStorage.loggedInUserId + '/byTicketId';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n //https://product.mymobiforce.com/coreapi/api/Ticket/ApproveJobStart?TicketId= T560000012781\r\n\r\n this.GetJobApprove = function (ticketId, token) { \r\n var url = ApiURL + '/api/Ticket/ApproveJobStart?TicketId=' + ticketId;\r\n return $http.put(url,ticketId, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n //https://product.mymobiforce.com/coreapi/api/Ticket/RejectJobStart?TicketId=T560000012784\r\n this.RejectJob = function (ticketId, token) { \r\n var url = ApiURL + '/api/Ticket/RejectJobStart?TicketId=' + ticketId;\r\n return $http.put(url,ticketId, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n \r\n this.downloadOnSiteReport = function ( loggedInUserId, token,TicketId) { \r\n var url = ApiURL + '/api/Report/GeneratePdfOnSiteReport?TicketId=' + TicketId;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedInUserId \r\n }\r\n \r\n });\r\n }\r\n this.getHistory = function (ticketId, token) {\r\n var url = ApiURL + '/api/Ticket/' + ticketId + '/' + $localStorage.loggedInUserId + '/TicketHistorybyTicketId';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.getAllActivitiesForJob = function (jobId, accountId, token, callback) {\r\n var url = ActivityURL + '/api/Activity/' + accountId + '/GetAllActivitiesForJob?jobId=' + jobId;\r\n $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token':token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n }).then(function (res) {\r\n if (res && res.data)\r\n callback(res.data);\r\n });\r\n }\r\n\r\n this.updateStartTime = function(ticketId, userId, startTime,EndTime, token, success, failure){\r\n var url = ApiURL+\"/api/Ticket/updatestartdate\"; \r\n \r\n $http.put(url, {\r\n \"requserid\": userId,\r\n \"ticketid\": ticketId,\r\n \"starttime\": startTime,\r\n \"endtime\": EndTime\r\n // \"endtime\": EndTime.format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\")\r\n }, { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId } }).then(function(res){\r\n if(res){\r\n success(res);\r\n } else {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\") \r\n }\r\n }, function(error){\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n //https://perf.mymobiforce.com/coreapi/api/Ticket/UpdateMetrialDeliverStatus?requserid=122&ticketid=2222&MetrialDeliverStatus=2xvfxcv\r\n this.UpdateMetrialDeliveredStatus = function(ticketId, userId, matrialStatus, token, success, failure){\r\n var url = ApiURL+\"/api/Ticket/UpdateMetrialDeliverStatus?requserid=\"+userId+'&ticketid='+ticketId+'&MetrialDeliverStatus='+matrialStatus; \r\n $http.put(url, null, { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId } }).then(function(res){\r\n if(res){\r\n success(res);\r\n } else {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\") \r\n }\r\n }, function(error){\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.updateJobTicketwithImage = function (ticketModel, token) {\r\n\r\n\r\n var request = {\r\n method: 'POST',\r\n url: ApiURL + '/api/Upload/PostMediaFileWithObject',\r\n data: ticketModel,\r\n headers: {\r\n 'Token': token,\r\n 'UserId':$localStorage.loggedInUserId,\r\n 'Content-Type': undefined\r\n \r\n }\r\n };\r\n \r\n // SEND THE FILES.\r\n return $http(request)\r\n .success(function (d) {\r\n // alert(d);\r\n })\r\n .error(function () {\r\n });\r\n \r\n // var url = ApiURL + '/api/Upload/PostMediaFileWithObject';\r\n // return $http.post(url, ticketModel, {\r\n // headers: {\r\n // 'Content-Type': 'undefined', 'Token': token\r\n // }\r\n // });\r\n }\r\n \r\n\r\n this.getTemplateByName = function(name, token, userId, success, failure){\r\n var url = ApiURL + '/api/Template/'+name+'/'+userId+'/byName';\r\n $http.get(url, {\r\n headers:{'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId}\r\n }).then(function(res){\r\n if(res && res.data){\r\n success(res.data);\r\n }\r\n }, function(error){\r\n failure(\"Failed\", \"Failed to get template \"+name+\", server is not responding correctly.\");\r\n });\r\n }\r\n \r\n this.getAllState = function (userId,token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':userId }\r\n });\r\n }\r\n \r\n this.getAllCity = function (userId, state, token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+state;\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':userId }\r\n });\r\n }\r\n\r\n //call to customer https://product.mymobiforce.com/coreapi/api/CallPatching/ClickToCall\r\n this.callToCustomer = function (loggedinUser,data, token) {\r\n $http.post(ApiURL + '/api/CallPatching/ClickToCall',data,\r\n { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':loggedinUser } }).then(function (resp) {\r\n if (resp && resp.data) {\t \r\n if(resp.status==200)\r\n {\r\n vm.showSuccess(resp.data.Message); \r\n }\r\n else {\r\n vm.showFailure(\"Failed\");\r\n }\r\n }\r\n });\r\n }\r\n\r\n this.saveTicket = function (loggedinUser, ticketId, data, token, success, failure) {\r\n $http.put(ApiURL + '/api/Ticket/' + loggedinUser + '/' + ticketId + '/byTicketId', data, \r\n { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':loggedinUser } }).then(function (res) {\r\n if (res && res.status == 200 && res) {\r\n success(res.data);\r\n } else{\r\n failure(\"Failed\", res.data.Message);\r\n }\r\n }, function (err) {\r\n failure(\"Failed\", \"Unable to update job, server is not responding correctly.\");\r\n });\r\n }\r\n //https://product.mymobiforce.com/coreapi/api/Ticket/UpdatePlannedClosureDate\r\n this.updatePlannedClosure = function (loggedinUser, data, token, success, failure) {\r\n $http.put(ApiURL + '/api/Ticket/UpdatePlannedClosureDate', data, \r\n { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':loggedinUser } }).then(function (res) {\r\n if (res && res.status == 200 && res) {\r\n success(res.data);\r\n } else{\r\n failure(\"Failed\", res.data.Message);\r\n }\r\n }, function (err) {\r\n failure(\"Failed\", \"Unable to update job, server is not responding correctly.\");\r\n });\r\n }\r\n this.UpdateJobPayment = function (loggedinUser, ticketId, BroadcastRate, token, success, failure) {\r\n var url = ApiURL + '/api/Ticket/UpdateJobPayment?reqUserId=' + loggedinUser + '&TicketId=' + ticketId + '&BroadcastRate='+BroadcastRate;\r\n $http.put(url,null, { headers: { 'Content-Type': 'application/json', 'Token': token,'UserId':loggedinUser } }).then(function (res) {\r\n if (res && res.status == 200 && res) {\r\n success(res.data);\r\n } else{\r\n failure(\"Failed\", \"Unable to update job payment, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n failure(\"Failed\", \"Unable to update job payment, server is not responding correctly.\");\r\n });\r\n }\r\n // https://perf.mymobiforce.com/freelancerapi/api/FreeLancerUser/GetFavoriteFreelancersByAccount/U400000000001\r\n // this.GetAllPrefereTalentPool = function(loggedinUser,token){\r\n // var url = FreelancerURL + '/api/FreeLancerUser/GetFavoriteFreelancersByAccount/'+loggedinUser;\r\n // return $http.get(url, {\r\n // headers: {\r\n // 'Content-Type': 'application/json', 'Token': token\r\n // }\r\n // });\r\n // }\r\n\r\n this.GetSchedulingEvaluationResult = function(data,reqUserId,token){\r\n var url = SchedulingAPI + '/api/AssistedScheduling/GetSchedulingEvaluationResult?reqUserId='+reqUserId;\r\n return $http.post(url,data,{\r\n headers:{'Content-Type':'application/json','Token':token, 'UserId':reqUserId}\r\n });\r\n }\r\n\r\n // https://perf.mymobiforce.com/schedulingapi/api/AssistedScheduling/GetFavoriteFR?reqUserId=U400000000001\r\n this.GetAllPrefereTalentPool = function(data,reqUserId,token){\r\n var url = SchedulingAPI + '/api/AssistedScheduling/GetFavoriteFR?reqUserId='+reqUserId;\r\n return $http.post(url,data,{\r\n headers:{'Content-Type':'application/json','Token':token, 'UserId':reqUserId}\r\n });\r\n }\r\n\r\n // https://perf.mymobiforce.com/schedulingapi/api/AssistedScheduling/GetPreWorkedWith?reqUserId=U400000000001\r\n this.GetAllPreviousUser = function(data,reqUserId,token){\r\n var url = SchedulingAPI + '/api/AssistedScheduling/GetPreWorkedWith?reqUserId='+reqUserId;\r\n return $http.post(url,data,{\r\n headers:{'Content-Type':'application/json','Token':token, 'UserId':reqUserId}\r\n });\r\n }\r\n\r\n\r\n this.BroadCastJobsforUser = function(loggedinUser,data, token){\r\n var url = FreelancerURL + '/api/BID/createBidFromAssistedScheduling?reqUserId=' + loggedinUser;\r\n return $http.post(url,data,{\r\n headers:{\r\n 'Content-Type':'application/json',\r\n 'Token': token, 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.getCustomerJobCardbyJobId = function(accountId, jobId, token ,success, failure){\r\n $http.get(ApiURL+\"/api/GetCustomerJobCardbyJobId/\"+jobId+\"/\"+accountId+\"/GetCustomerJobCardbyJobId\", {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n }).then(function(res){\r\n if(res && res.data && success){\r\n success(res.data);\r\n } else if(failure){\r\n failure();\r\n }\r\n });\r\n }\r\n\r\n this.GetTicketsByStatus = function (loggedinUser, itemNames,itemValues, token) {\r\n var url = FreelancerURL + '/api/BID/'+loggedinUser+'/' + itemNames + '/'+ itemValues + '/getjobsbyfilter';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n\r\n //https://test.mymobiforce.com/coreapi/api/Ticket/test/AssignTicketForAssistedScheduling\r\n this.AssignTicketsTimeline = function(reqUserId,list, token){\r\n var url = ApiURL + '/api/Ticket/' + reqUserId + '/AssignTicketForAssistedScheduling'\r\n return $http.put(url,list,{\r\n headers:{'Content-Type':'application/json','Token':token, 'UserId':reqUserId}\r\n })\r\n }\r\n\r\n //https://perf.mymobiforce.com/coreapi/api/User/GetUsersByTicketId/U400000000001/T0000000605\r\n // var ApiURL='https://perf.mymobiforce.com/coreapi';\r\n this.GetUsersByTicketId = function(loggedinUser,ticketId,token){\r\n var url = ApiURL + '/api/User/GetUsersByTicketId/'+loggedinUser+'/'+ticketId;\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json','token':token, 'UserId':loggedinUser}\r\n })\r\n }\r\n//https://test.mymobiforce.com/coreapi/api/ServiceGST/GetGST?reqUserId=U3600000000001&skill=AC%20Installation\r\nthis.GetServiceTax = function(loggedInUserId,token, callback){\r\n var url = ApiURL + '/api/ServiceGST?reqUserId='+ loggedInUserId;\r\n return $http.get(url,{\r\n headers:{'Token':token,'UserId':loggedInUserId}\r\n }).then(function(res){\r\n callback(res.data)\r\n },function(){\r\n\r\n });\r\n}\r\nthis.GetMobCommission = function(loggedInUserId,token, callback){\r\n var url = ApiURL + '/api/ServiceGST/GetMobiforceCommission?reqUserId='+ loggedInUserId;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId':loggedInUserId}\r\n }).then(function(res){\r\n callback(res.data)\r\n },function(){\r\n\r\n });\r\n}\r\n\r\nthis.OnLoadLineItemDetails = function(loggedinUser,LineItemTicketId,token){\r\n var url = ApiURL + '/api/JobLineItem/GetJobLineItemByTicketId?reqUserId='+loggedinUser+'&ticketId='+LineItemTicketId;\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json','token':token, 'UserId':loggedinUser}\r\n })\r\n}\r\nthis.CreateUpdateRemoveLineItem = function (userFormData, loggedInUserId,token) {\r\n var url = ApiURL + '/api/JobLineItem/UpdateJobLineItemForNewPricing?reqUserId='+ loggedInUserId;\r\n return $http.put(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token , 'UserId':loggedInUserId\r\n }\r\n });\r\n}\r\nthis.completeJob = function (data, loggedinUser, token, success, failure) {\r\n var url = ApiURL + '/api/Ticket/updatestatus';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':loggedinUser\r\n }\r\n }).then(success, function(error){\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n}\r\n//https://product.mymobiforce.com/coreapi/api/Ticket/FVT0000000000066/FV0000000000103/T350000012267/35/AssignTicketByVendorFromMobile\r\n\r\nthis.VendorManagerAssignJobTeam = function (UserID, loggedInUserId,TicketId,jobAccountId,token) {\r\n var url = ApiURL + '/api/Ticket/'+ UserID +'/'+ loggedInUserId +'/'+ TicketId +'/'+ jobAccountId +'/AssignTicketByVendorFromMobile';\r\n return $http.put(url, null, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token , 'UserId':loggedInUserId\r\n }\r\n });\r\n}\r\n\r\nthis.uploadLineItemPic = function (loggedInUserId, data, token, success, failure) {\r\n $http.post(ApiURL + '/api/User/PostUserPic?reqUserId=' + loggedInUserId, data, {\r\n headers: {\r\n 'Content-Type': undefined, 'Token': token, 'UserId':loggedInUserId\r\n }\r\n }).then(success, failure);\r\n}\r\n\r\nthis.UpdateJobPaymentDynamicPrice = function (loggedinUser, ticketId, BroadcastRate,MobiforceCommission,FreelancerRate, IsFinalApproval,data,token, success, failure) {debugger\r\n var url = ApiURL + '/api/Ticket/UpdateJobPaymentDynamicPrice?reqUserId=' + loggedinUser + '&TicketId=' + ticketId + '&BroadcastRate='+BroadcastRate + '&MobiforceCommission='+MobiforceCommission + '&FreelancerRate='+FreelancerRate + '&IsFinalApproval='+IsFinalApproval;\r\n $http.put(url,data,{ headers: { 'Content-Type': 'application/json', 'Token': token , 'UserId':loggedinUser} }).then(function (res) {\r\n if (res.status == 201) {\r\n success(res.data);\r\n } else{\r\n\r\n $timeout(function(){\t\r\n failure(\"Failed\", res.data.Message);\r\n vm.enable1 = \"true\";\r\n vm.ApprovePricingButtonText = \"Approve Pricing\";\t\t\t\t\r\n }, 1000);\r\n\r\n }\r\n }, function (err) {\r\n failure(\"Failed\", \"Unable to update job payment, server is not responding correctly.\");\r\n });\r\n}\r\n\r\nthis.UpdateJobPaymentDynamicPriceAndApprove = function (loggedInUserId, data,token) {\r\n var url = ApiURL + '/api/Ticket/UpdateJobPaymentDynamicPriceAndApprove';\r\n return $http.put(url, data, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token , 'UserId':loggedInUserId\r\n }\r\n });\r\n}\r\n\r\n//https://product.mymobiforce.com/coreapi/api/JobLineItem/GetAllJobLineItemMasterByTicketId?ticketId=T1140000016805_1\r\nthis.GetJobLineItem = function(loggedInUserId,ticketId,token){\r\n var url = ApiURL + '/api/JobLineItem/GetAllJobLineItemMasterByTicketId?ticketId='+ticketId;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId': loggedInUserId}\r\n })\r\n}\r\n\r\n\r\nthis.ResolveException = function (loggedinUser,ticketIdList, token) {\r\n var url = SchedulingAPI + '/api/AutoSchedulerException/MarkResolveSchedulerExceptionForTicket?reqUserId=' + loggedinUser; \r\n return $http.put(url, {'exceptionIdList':ticketIdList}, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token , 'UserId':loggedinUser\r\n }\r\n });\r\n}\r\n\r\nthis.GetCallDetails = function (ticketId, token) { \r\n var url = ApiURL + '/api/CallPatching/GetCallDetailsforTicket?TicketId=' + ticketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n});\nangular.module('inspinia').controller('NewJobDetailController', function (toaster,MainService,$window,PublicApiURL, ApiURL,\r\n\t$state, $localStorage, $scope,JobTicketViewService, DTOptionsBuilder, DTColumnBuilder, \r\n\t$uibModal, jobDetailsService,jobCreationService, $filter, $q, $timeout, $sce, $rootScope, $stateParams, $compile, UIURL, ImageUrl) {\r\n\tvm = this;\r\n\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvm.NokiaTableHeaderChange = $localStorage.accountConfig.NokiaTableHeaderChange;\r\n\tvar loggedinUserName = $localStorage.loggedInUser_FirstName + \" \" + $localStorage.loggedInUser_LastName;\r\n\tvar token = $localStorage.token;\r\n\tvar loggedinUserImage = $localStorage.picture;\r\n\tvar uTicketId = $stateParams.ticketId;\r\n\tvm.showMapPermision = false;\r\n\tvm.superPower = false;\r\n\tvm.CurrencySetting = $localStorage.accountConfig.CurrencySetting;\r\n\tvm.CallPatchEnable = $localStorage.accountConfig.CallPatchEnable;\r\n\tvm.Role = $localStorage.loggedInUser_Role;\r\n\tvm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n\tvm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\tvm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n\tvar accountConfig = $localStorage.accountConfig;\r\n\tvm.AccountId = $localStorage.accountConfig.AccountId;\r\n\tvar currentStepName = '';\r\n\tvar ticketEditModalInstance = {};\r\n\tvm.ImageArray = [];\r\n\tvm.states = [];\r\n\tvm.cities = [];\r\n\tvm.urlForNonFeasible='';\r\n\tvm.currentStepModel = {};\r\n\tvm.dtInstanceNearBy = {};\r\n\tvm.dtInstanceFixed = {};\r\n\tvm.dtInstance = {};\r\n\tvm.dtInstancePre = {};\r\n\tvm.SparePartAddress = {};\r\n\tvm.disableBroadcastButton = false;\r\n\tvm.disableRouteButton = false;\r\n\tvm.showPrefer = '';\r\n\tvm.disabledDrop = false;\r\n\tvm.showloading = false\r\n\tvm.ComplianceDisable = true;\t\r\n\tvm.messageText = \"\";\r\n\tvm.PriceLineItemList = [];\r\n\tvm.LineItemDataList = [];\r\n\tvm.serviceType = '';\r\n\tvm.ticketPrice = \"\";\r\n vm.freelancerPrice = \"\";\r\n vm.tPrice = \"\";\r\n vm.commission = \"\";\r\n vm.tax = \"\";\r\n vm.freelancerPricetemp = \"\";\r\n\tvm.LineItemImage=null;\r\n\tvm.edit=true;\r\n\tvm.edit1=false;\r\n\tvm.BonusPenaltyList =[];\r\n\tvm.BonusList =[];\r\n\tvm.PenaltyList=[];\r\n\r\n\tvm.LineitemActivityList=[];\r\n vm.LineItemCategoryType=\"\";\r\n\tvm.projectId=\"\";\r\n\t \r\n vm.selectedprojectId=\"\";\r\n vm.dynamicpricing=\"\";\r\n vm.FreelancrPriceEnable=\"\";\r\n\tvm.PercentageEnable=\"\";\r\n var price=0;\r\n var Quantity=1;\r\n var totalFPrice=0.0;\r\n vm.BasePriceTotal=0.0;\r\n\tvm.dFreelancerPriceTotal=0.0;\r\n vm.PercentageTotal=0.0;\r\n vm.FreelancerPriceTotal=0.0;\r\n\tvm.MobiforceCommission = $localStorage.accountConfig.MobiforceCommissionPercentage;\r\n\tvm.IsFinalApproval=false;\r\n\tvm.disableExceptionButton = false;\r\n\t// vm.IsWithInDays = true;\r\n\tvm.PlannedClosureDateType = \"first\";\r\n\tvm.WithInDays = 1;\r\n\tvm.WithInDaysNumbers = [1,2,3,4,5];\r\n\tvm.IsSafetyAudit = 'Not Done';\r\n\tvm.ratingwarning=\"\";\r\n\tvm.approvalRemark = '';\r\n\tvm.MaterialStatusList = [\"Dispatched\",\"Delivered\",\"Partially Delivered\",\"Not Delivered\"];\r\n\tvm.IsMaterialDelivered = $localStorage.accountConfig.IsMaterialDelivered;\r\n\tvm.SelectedMaterial = '';\r\n\tvm.FreelancerAccess = $localStorage.accountConfig.FreelancerAccess;\r\n\tvm.customerJobCard = [];\r\n\tif (accountConfig && accountConfig.EnableRegion) {\r\n\t\tvm.EnableRegion = accountConfig.EnableRegion;\r\n\t} else {\r\n\t\tvm.EnableRegion = false;\r\n\t}\r\n\r\n\tvm.TemplateData = [];\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\r\n\t\tvar token = $localStorage.token;\r\n\t\tvm.ticketType = $stateParams.type;\r\n\t\tvm.TicketId = $stateParams.ticketId;\r\n\r\n\t\tvm.BackToTicketList = function () {\r\n\t\t\tif($localStorage.backToOldJobList == 'go'){\r\n\t\t\t\t$rootScope.rootScopeMessage = 'NewJobDetails';\r\n\t\t\t\t$state.go('index.JobTickets', {}, { reload: true });\r\n\t\t\t}else if($localStorage.backToOldJobList == 'FreelancerFixedTeamAssign'){\r\n\t\t\t\t// $rootScope.rootScopeMessage = 'FreelancerFixedTeamAssign';\r\n\t\t\t\t$state.go('index.Freelancer_Fixed_Team', {}, { reload: true });\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\t$rootScope.rootScopeMessage = 'NewJobDetailsCopy';\r\n\t\t\t\t$state.go('index.JobTicketsCopy', {}, { reload: true });\r\n\t\t\t}\r\n\t\t\t\r\n\t\t}\r\n\r\n\t\tfunction clean(obj) {\r\n\t\t\tfor (var propName in obj) {\r\n\t\t\t\tif (obj[propName] === null || obj[propName] === undefined) {\r\n\t\t\t\t\tdelete obj[propName];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\t\t\r\n\r\n\t\tvm.DisableRouteBroadcastButtons = function (disable) {\r\n\t if(disable){\r\n\t vm.disableBroadcastButton = true;\r\n\t\t\tvm.disableRouteButton = true;\r\n\t }\r\n\t else{\r\n\t vm.disableBroadcastButton = false;\r\n\t\t\tvm.disableRouteButton = false;\r\n\t }\r\n\t }\r\n\r\n\t\t//getJobapprove\r\n\t\tvm.GetJobApprovebtn = function () {\t\t\t\r\n\t\t\tjobDetailsService.GetJobApprove(vm.TicketId, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\t\t\t\t \r\n\t\t\t\t\tif(resp.status==200)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", resp.data);\t\r\n\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\t}, 500);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.GetCallDetails = function () {\t\t\t\r\n\t\t\tjobDetailsService.GetCallDetails(vm.TicketId, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\t\t\t\t \r\n\t\t\t\t\tif(resp.status==200)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvm.getCallDetailsList = resp.data;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t\t//Reject job\r\n\t\t\tvm.RejectJobBtn = function () {\t\t\t\r\n\t\t\t\tjobDetailsService.RejectJob(vm.TicketId, token).then(function (resp) {\r\n\t\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\tif(resp.status==200)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tvm.showSuccess(\"Success\", resp.data);\t\r\n\t\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\t\t}, 500);\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\r\n\r\n\r\n\r\n\t\tvm.getTicketByJobId = function () {\t\t\t\r\n\t\t\tjobDetailsService.GetJobTicket(vm.TicketId, token).then(function (resp) {\r\n\t\t\t\tvm.TicketInfo = resp.data;\r\n\t\t\t\tvm.PlannedClosureDateType = vm.TicketInfo.SPDUpdateWithInDays == 0?'first':'other';\r\n\t\t\t\tvm.FreelancerBidForLightTicketList = vm.TicketInfo.FreelancerBidForLightTicketModel;\r\n\t\t\t\t vm.FreelancerBidCount=vm.TicketInfo.FreelancerBidForLightTicketModel.length\r\n\t\t\t\tvm.BonusPenaltyList = vm.TicketInfo.ListBonusPenalty;\r\n\r\n\t\t\t\t\tif(vm.TicketInfo.ConsumerContact && vm.Role != 'Dispatch Manager'){\r\n\t\t\t\t\t vm.TicketInfo.ConsumerContact=vm.TicketInfo.ConsumerContact.replace(/\\d(?=\\d{4})/g, '*');\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\tfor(var i = 0; i < vm.BonusPenaltyList.length; i++)\r\n\t\t\t {\r\n\t\t\t\tif(vm.BonusPenaltyList[i].RuleType == \"Bonus\")\t\t\t\t\r\n\t\t\t\t\tvm.BonusList.push(vm.BonusPenaltyList[i]);\t\t\t\t\r\n\t\t\t\telse\r\n\t\t\t\t\tvm.PenaltyList.push(vm.BonusPenaltyList[i]);\r\n\t\t\t }\t\r\n\t\t\t\tvm.projectId=vm.TicketInfo.ProjectId;\r\n\r\n\t\t\t\t//vm.TicketInfo.IsLineItemAvailable=true;\r\n\t\t\t\tif (vm.TicketInfo.TicketStatus == 'New') \r\n\t\t\t\t\tvm.fileuploadShow=false;\t\t\t\t\r\n\t\t\t\telse\r\n\t\t\t\t \tvm.fileuploadShow=true;\r\n\t\t\t\tvm.GetAllJobLineItems(vm.TicketId);\r\n\t\t\t\tif (vm.TicketInfo.SpareTransportType == '0') {\r\n\t\t\t\t\tclean(vm.TicketInfo.Courier);\r\n\t\t\t\t\t// var temp = (Object.keys(vm.TicketInfo.Courier).forEach((key) => (vm.TicketInfo.Courier[key] == null) && delete vm.TicketInfo.Courier[key]));\r\n\t\t\t\t\tif (vm.TicketInfo.Courier) {\r\n\t\t\t\t\t\tvm.SparePartAddress = (Object.values(vm.TicketInfo.Courier)).toString();\r\n\t\t\t\t\t\tvm.SpareTransportType = 'Courier';\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t} else if (vm.TicketInfo.SpareTransportType == '1') {\r\n\t\t\t\t\t// var temp = Object.keys(vm.TicketInfo.PickUp).forEach((key) => (vm.TicketInfo.PickUp[key] == null) && delete vm.TicketInfo.PickUp[key]);\r\n\t\t\t\t\tclean(vm.TicketInfo.PickUp);\r\n\t\t\t\t\tvm.SparePartAddress = (Object.values(vm.TicketInfo.PickUp)).toString();\r\n\t\t\t\t\tvm.SpareTransportType = 'PickUp';\r\n\t\t\t\t} else if (vm.TicketInfo.SpareTransportType == '2') {\r\n\t\t\t\t\tclean(vm.TicketInfo.PickUpDrop.PickUp);\r\n\t\t\t\t\t// var temp = Object.keys(vm.TicketInfo.PickUpDrop.PickUp).forEach((key) => (vm.TicketInfo.PickUpDrop.PickUp[key] == null) && delete vm.TicketInfo.PickUpDrop.PickUp[key]);\r\n\t\t\t\t\tvm.SparePartAddress = (Object.values(vm.TicketInfo.PickUpDrop.PickUp)).toString();\r\n\t\t\t\t\tvm.SpareTransportType = 'PickUpDrop';\r\n\t\t\t\t\tvm.SparePartDropAddress = vm.TicketInfo.PickUpDrop.Address1 + ',' + vm.TicketInfo.PickUpDrop.Address2 + ',' + vm.TicketInfo.PickUpDrop.State + ',' + vm.TicketInfo.PickUpDrop.City + ',' + vm.TicketInfo.PickUpDrop.Pincode;\r\n\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (vm.TicketInfo.Template == 'VSAT Troubleshooting' || vm.TicketInfo.Template == 'LeaseLine Troubleshooting') {\r\n\t\t\t\t\t// vm.GetStatusActivityInPie();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (vm.TicketInfo.LinkId) {\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvm.getAllActivitiesForJob();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tangular.copy(vm.TicketInfo.TemplateModel, vm.TemplateData);\r\n\r\n\t\t\t\tfor (var index = 0; index < vm.TemplateData.SectionList.length; index++) {\t\t\t\t\t\r\n\t\t\t\t\tif (vm.TemplateData.SectionList[index].Action == 'Supervisor' && vm.TemplateData.SectionList[index].SectionName == 'Supervisor') {\r\n\t\t\t\t\t\tvm.SuperVisorData = vm.TemplateData.SectionList[index].ItemList;\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t//ListFieldSupportTeam \r\n\t\t\t\tfor (var index = 0; index < vm.TicketInfo.ListFieldSupportTeam.length; index++) {\t\t\t\t\t\r\n\t\t\t\t\tif (vm.TicketInfo.ListFieldSupportTeam.length >= 0 ) {\r\n\t\t\t\t\t\tvm.ListOfSupportTeam = vm.TicketInfo.ListFieldSupportTeam;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvm.getCallTypeList(vm.TicketInfo.JobType, vm.SuperVisorData);\r\n\t\t\t\tvm.ListActionWise = SeperateSectionAndItems(vm.TemplateData.SectionList, 'Action');\r\n\r\n\t\t\t\t\r\n\t\t\t\tvm.TicketInfoEdit = {\r\n\t\t\t\t\tConsumerName: vm.TicketInfo.ConsumerName,\r\n\t\t\t\t\tConsumerContact: vm.TicketInfo.ConsumerContact,\r\n\t\t\t\t\tAddress1: vm.TicketInfo.Address1,\r\n\t\t\t\t\tAddress2: vm.TicketInfo.Address2,\r\n\t\t\t\t\tPincode: vm.TicketInfo.Pincode,\r\n\t\t\t\t\tStartTime: vm.TicketInfo.StartTime,\r\n\t\t\t\t\tEndTime: vm.TicketInfo.EndTime\r\n\t\t\t\t}\r\n\t\t\t\tvm.getAllStates();\r\n\t\t\t\tif (vm.TicketInfo.State) {\r\n\t\t\t\t\tvm.getCities(vm.TicketInfo.State);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tjobDetailsService.getTemplateByName(vm.TicketInfo.Template, token, loggedinUser, function (data) {\r\n\t\t\t\t\tvm.templateData = data;\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t\t\tvm.TechnicianSource = vm.TicketInfo.TechnicianSource ? vm.TicketInfo.TechnicianSource : vm.TechnicianSource = '';\r\n\r\n\t\t\t\tvm.showPrefer = 'fixed';\r\n\t\t\t\t// \tvm.GetFixedUser(false);\r\n\t\t\t\t// \tvm.GetNearByUser(false);\r\n\t\t\t\t// vm.GetPreviousWorker(false);\r\n\t\t\t\t// vm.GetTalentPoolUser(false);\r\n\r\n\t\t\t\tif (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\tvm.disabledDrop = true;\r\n\t\t\t\t}\r\n\t\t\t\tif (vm.TicketInfo.MetrialDeliverStatus) {\r\n\t\t\t\t\tvm.SelectedMaterial = vm.TicketInfo.MetrialDeliverStatus;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (vm.TechnicianSource == '0' && vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\tvm.showPrefer = 'fixed';\r\n\t\t\t\t\tvm.showF = true;\r\n\t\t\t\t\tvm.showN = false;\r\n\t\t\t\t\tvm.showT = false;\r\n\t\t\t\t\tvm.showP = false;\r\n\t\t\t\t\tvm.GetFixedUser(false);\r\n\t\t\t\t} else if (vm.TechnicianSource == '1' && vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\tvm.showPrefer = 'nearBy';\r\n\t\t\t\t\tvm.showF = false;\r\n\t\t\t\t\tvm.showN = true;\r\n\t\t\t\t\tvm.showT = false;\r\n\t\t\t\t\tvm.showP = false;\r\n\t\t\t\t\tvm.GetNearByUser(false);\r\n\t\t\t\t} else if (vm.TechnicianSource == '2' && vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\tvm.showPrefer = 'true';\r\n\t\t\t\t\tvm.showF = false;\r\n\t\t\t\t\tvm.showN = false;\r\n\t\t\t\t\tvm.showT = true;\r\n\t\t\t\t\tvm.showP = false;\r\n\t\t\t\t\tvm.GetTalentPoolUser(true);\r\n\t\t\t\t} else if (vm.TechnicianSource == '3' && vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\tvm.showPrefer = 'previous';\r\n\t\t\t\t\tvm.showF = false;\r\n\t\t\t\t\tvm.showN = false;\r\n\t\t\t\t\tvm.showT = false;\r\n\t\t\t\t\tvm.showP = true;\r\n\t\t\t\t\tvm.GetPreviousWorker(true);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvm.showF = true;\r\n\t\t\t\t\tvm.showN = true;\r\n\t\t\t\t\tvm.showT = true;\r\n\t\t\t\t\tvm.showP = true;\r\n\t\t\t\t\tvm.GetFixedUser(false);\r\n\t\t\t\t\tvm.GetNearByUser(false);\r\n\t\t\t\t\tvm.GetPreviousWorker(false);\r\n\t\t\t\t\tvm.GetTalentPoolUser(false);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif($localStorage.loggedInUser_Role == 'Vendor Manager'){\r\n\t\t\t\t\tvm.showPrefer = 'fixed';\r\n\t\t\t\t\tvm.showF = true;\r\n\t\t\t\t\tvm.showN = false;\r\n\t\t\t\t\tvm.showT = false;\r\n\t\t\t\t\tvm.showP = false;\r\n\t\t\t\t\tvm.GetFixedUser(true);\r\n\t\t\t\t}\r\n\r\n\r\n\r\n\t\t\t});\r\n\r\n\t\t}\r\n\t\r\n\t\tvm.getTicketByJobId();\r\n\r\n\t\tvm.addClassInButton = function () {\r\n\t\t\tif (vm.TechnicianSource && vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$('#btnFixedTeam').addClass('activeButton');\r\n\t\t\t\t\t$('#btnNearBy').addClass('activeButton');\r\n\t\t\t\t\t$('#btnTalent').addClass('activeButton');\r\n\t\t\t\t\t$('#btnPrefer').addClass('activeButton');\r\n\t\t\t\t}, 100);\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tvm.planerDateModal = {};\r\n\t\tvm.editplanCloser = function () {\r\n\t\t\tvm.TicketInfoEdit['PlannedClosureDate'] = vm.TicketInfo.PlannedClosureDate;\r\n\t\t\tvm.planerDateModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'editplanerDate.html',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeplanerDate = function () {\r\n\t\t\tvm.planerDateModal.close();\r\n\t\t}\r\n\r\n\t\tvm.updatePlannedClosure = function () {\r\n\t\t\t\tvm.PlannedClosureticketList = [];\r\n\t\t\t\tvm.PlannedClosureticketList.push(vm.TicketInfo.TicketId);\r\n\r\n\t\t\t\tvar data = {\r\n\t\t\t\t\t\"TicketIds\":vm.PlannedClosureticketList,\r\n\t\t\t\t\t \"TicketPlannedClosureDate\": moment(vm.TicketInfoEdit.PlannedClosureDate).format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\"),\r\n\t\t\t\t\t \"IsWithInDays\":vm.IsWithInDays == 'first'?true:false,\r\n \t\t\t\t\t \"WithInDays\": vm.WithInDays,\r\n\t\t\t\t};\r\n\r\n\t\t\t\tjobDetailsService.updatePlannedClosure(loggedinUser, data, token, function (res) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", res);\r\n\t\t\t\t\tvm.planerDateModal.close();\r\n\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.jobAddressModal = {};\r\n\t\tvm.editJobAddress = function () {\r\n\r\n\t\t\tvm.TicketInfoEdit['ConsumerName'] = vm.TicketInfo.ConsumerName;\r\n\t\t\tvm.TicketInfoEdit['ConsumerContact'] = vm.TicketInfo.ConsumerContact;\r\n\t\t\tvm.TicketInfoEdit['Address1'] = vm.TicketInfo.Address1;\r\n\t\t\tvm.TicketInfoEdit['Address2'] = vm.TicketInfo.Address2;\r\n\t\t\tvm.TicketInfoEdit['Pincode'] = vm.TicketInfo.Pincode;\r\n\t\t\tvm.TicketInfoEdit['StartTime'] = vm.TicketInfo.StartTime;\r\n\t\t\tvm.TicketInfoEdit['EndTime'] = vm.TicketInfo.EndTime;\r\n\t\t\tvm.TicketInfoEdit['Region'] = vm.TicketInfo.Region;\r\n\t\t\tvm.TicketInfoEdit['SubRegion'] = vm.TicketInfo.SubRegion;\r\n\r\n\t\t\tif (vm.states && !vm.TicketInfoEdit.State || vm.TicketInfoEdit.State != vm.TicketInfo.State) {\r\n\t\t\t\tangular.forEach(vm.states, function (s) {\r\n\t\t\t\t\tif (s == vm.TicketInfo.State) {\r\n\t\t\t\t\t\tvm.TicketInfoEdit.State = s;\r\n\t\t\t\t\t\tvm.getCities(vm.TicketInfo.State);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tvm.jobAddressModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'editJobAddress.html',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t\twindowClass: 'schedulerModal'\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeJobAddress = function () {\r\n\t\t\tvm.jobAddressModal.close();\r\n\t\t}\r\n\r\n\t\tvm.updateJobAddress = function () {\r\n\t\t\tvm.jobAddressForm.submitted = true;\r\n\t\t\tif (vm.jobAddressForm.$valid) {\r\n\t\t\t\tvar data = {\r\n\t\t\t\t\t\"ConsumerContact\": vm.TicketInfoEdit.ConsumerContact,\r\n\t\t\t\t\t\"Address1\": vm.TicketInfoEdit.Address1,\r\n\t\t\t\t\t\"Address2\": vm.TicketInfoEdit.Address2,\r\n\t\t\t\t\t\"ConsumerName\": vm.TicketInfoEdit.ConsumerName,\r\n\t\t\t\t\t\"State\": vm.TicketInfoEdit.State,\r\n\t\t\t\t\t\"City\": vm.TicketInfoEdit.City,\r\n\t\t\t\t\t\"Pincode\": vm.TicketInfoEdit.Pincode,\r\n\t\t\t\t\t\"StartTime\": vm.TicketInfoEdit.StartTime,\r\n\t\t\t\t\t\"EndTime\": vm.TicketInfoEdit.EndTime,\r\n\t\t\t\t\t\"Region\": vm.TicketInfo.Region,\r\n\t\t\t\t\t\"SubRegion\": vm.TicketInfo.SubRegion,\r\n\r\n\t\t\t\t};\r\n\r\n\t\t\t\tjobDetailsService.saveTicket(loggedinUser, vm.TicketInfo.TicketId, data, token, function (res) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", res);\r\n\t\t\t\t\tvm.jobAddressModal.close();\r\n\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t//window.location.reload(true);\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t\t} else {\r\n\t\t\t\tconsole.log(\"invalid values\");\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t//call customer or freelancer\r\n\t\tvm.callToCustomer = function (TicketId,ConnectTo) { \r\n\t\t\t\tvar data = {\r\n\t\t\t\t\t\"ConnectTo\": ConnectTo,\r\n\t\t\t\t\t\"TicketId\": TicketId\r\n\t\t\t\t\t};\r\n\t\t\t\tjobDetailsService.callToCustomer(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t});\r\n\t\t\t\r\n\t\t}\r\n\t\tvm.jobPayment = {};\r\n\t\tvm.editJobPayment = function () {\t\t\r\n\t\t\tvm.TicketInfoEdit['FreelancerRate'] = vm.TicketInfo.FreelancerRate;\r\n\t\t\tvm.TicketInfoEdit['MobiforceCommission'] = vm.TicketInfo.MobiforceCommission;\r\n\t\t\tvm.TicketInfoEdit['BroadcastRate'] = vm.TicketInfo.BroadcastRate;\t\t\t\r\n\t\t\tvm.serviceType=vm.TicketInfo.PaymentType;\t\t\t\r\n\t\t\tvm.jobPaymentModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'editJobPayment.html',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t\twindowClass: 'schedulerModal'\r\n\t\t\t});\r\n\t\t\t\r\n\t\t\tvm.calculatePrice();\r\n\t\t\tvm.calculateFreelancerPrice ();\r\n\t\t}\r\n\r\n\t\tvm.closeJobPayment = function () {\r\n\t\t\tvm.jobPaymentModal.close();\r\n\t\t}\r\n\t\tvm.updateJobPayment = function () {\r\n\t\t\t\r\n\t\t\tvm.jobPaymentForm.submitted = true;\r\n\t\t\tif (vm.jobPaymentForm.$valid) {\r\n\t\t\t\t// var data = {\r\n\t\t\t\t// \t\"FreelancerRate\": vm.TicketInfoEdit.FreelancerRate,\r\n\t\t\t\t// \t\"BroadcastRate\": vm.TicketInfoEdit.BroadcastRate,\r\n\t\t\t\t// \t\"BroadcastGrossRate\": (vm.TicketInfoEdit.BroadcastRate * ((vm.GSTPercentange+100)*.01))\t\t\t\r\n\t\t\t\t// };\r\n\t\t\t\tjobDetailsService.UpdateJobPayment(loggedinUser, vm.TicketInfo.TicketId, vm.TicketInfoEdit.BroadcastRate, token, function (res) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", res);\r\n\t\t\t\t\tvm.jobPaymentModal.close();\r\n\t\t\t\t\t//window.location.reload(true);\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t\t} else {\r\n\r\n\t\t\t}\r\n\t\t}\r\n\t\tvm.getAllStates = function () {\r\n\t\t\tjobDetailsService.getAllState(loggedinUser,token).then(function (resp) {\r\n\t\t\t\tvm.states = resp.data;\r\n\t\t\t\tangular.forEach(vm.states, function (s) {\r\n\t\t\t\t\tif (s == vm.TicketInfo.State) {\r\n\t\t\t\t\t\tvm.TicketInfoEdit.State = s;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.getCities = function (state) {\r\n\t\t\tif (state != \"\" && state.length > 0) {\r\n\t\t\t\tvm.cities = [];\r\n\t\t\t\tjobDetailsService.getAllCity(loggedinUser, state,token).then(function (resp) {\r\n\t\t\t\t\tvm.cities = resp.data;\r\n\t\t\t\t\tangular.forEach(vm.cities, function (c) {\r\n\t\t\t\t\t\tif (vm.TicketInfo.City) {\r\n\t\t\t\t\t\t\tvar city = vm.TicketInfo.City.toUpperCase();\r\n\t\t\t\t\t\t\tif (c == city) {\r\n\t\t\t\t\t\t\t\tvm.TicketInfoEdit.City = c;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\r\n\t\tvm.history = {};\r\n\t\tvm.getHistory = function () {\r\n\t\t\tjobDetailsService.getHistory(vm.TicketId, token).then(function (res) {\r\n\t\t\t\tvm.history = res.data;\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.getHistory();\r\n\r\n\t\tvm.getAllActivitiesForJob = function () {\r\n\t\t\tjobDetailsService.getAllActivitiesForJob(vm.TicketId, loggedinUser, token, function (data) {\r\n\t\t\t\tvm.statusTracker = data;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.jobAppointmentModal = {};\r\n\t\tvm.editJobAppointment = function () {\r\n\t\t\tvm.TicketInfoEdit['ConsumerName'] = vm.TicketInfo.ConsumerName;\r\n\t\t\tvm.TicketInfoEdit['ConsumerContact'] = vm.TicketInfo.ConsumerContact;\r\n\t\t\tvm.TicketInfoEdit['Address1'] = vm.TicketInfo.Address1;\r\n\t\t\tvm.TicketInfoEdit['Address2'] = vm.TicketInfo.Address2;\r\n\t\t\tvm.TicketInfoEdit['Pincode'] = vm.TicketInfo.Pincode;\r\n\t\t\tvm.TicketInfoEdit['StartTime'] = new Date(vm.TicketInfo.StartTime);\r\n\t\t\tvm.TicketInfoEdit['EndTime'] = new Date(vm.TicketInfo.EndTime);\r\n\r\n\t\t\tif (vm.states && !vm.TicketInfoEdit.State || vm.TicketInfoEdit.State != vm.TicketInfo.State) {\r\n\t\t\t\tangular.forEach(vm.states, function (s) {\r\n\t\t\t\t\tif (s == vm.TicketInfo.State) {\r\n\t\t\t\t\t\tvm.TicketInfoEdit.State = s;\r\n\t\t\t\t\t\tvm.getCities(vm.TicketInfo.State);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tvm.jobAppointmentModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'editJobAppointment.html',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeJobAppointment = function () {\r\n\t\t\tvm.jobAppointmentModal.close();\r\n\t\t}\r\n\r\n\t\tvm.updateJobAppointment = function () {\r\n\t\t\t\r\n\t\t\tvm.jobAppointmentForm.submitted = true;\r\n\t\t\tif (vm.jobAppointmentForm.$valid) {\t\t\t\t\t\r\n\t\t\t\tif(moment(vm.TicketInfoEdit.StartTime)._i <= moment(vm.TicketInfoEdit.EndTime)._i){\r\n\t\t\t\t\tvar sDate = moment(vm.TicketInfoEdit.StartTime).format(\"DD-MM-YYYY HH:mm\");\r\n\t\t\t\t\tvar eDate = moment(vm.TicketInfoEdit.EndTime).format(\"DD-MM-YYYY HH:mm\");\r\n\t\t\t\t\tvm.Stdate = sDate;\r\n\t\t\t\t\tvm.Etdate = eDate;\r\n\r\n\t\t\t\t\tjobDetailsService.updateStartTime(vm.TicketInfo.TicketId, loggedinUser, vm.Stdate, vm.Etdate, token, function (res) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Start time updated successfully\");\r\n\t\t\t\t\t\tvm.jobAppointmentModal.close();\r\n\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t}, vm.showFailure);\r\n\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tvm.showFailure('Failed','End date should be greater than Start date or time!');\r\n\t\t\t\t\t}\r\n\t\t\t}else{\r\n\t\t\t\tvm.showFailure('Failed', 'Start and End date should be greater than current date or time!');\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.UpdateMatrialStatus = function(MetrialDeliveredStatus){\r\n\t\t\tif(MetrialDeliveredStatus){\r\n\t\t\t\tjobDetailsService.UpdateMetrialDeliveredStatus(vm.TicketInfo.TicketId,loggedinUser,MetrialDeliveredStatus,token,function(res){\r\n\t\t\t\t\tvm.showSuccess(\"Success\", \"Matrial Delivered Status updated successfully\");\r\n\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t},vm.showFailure);\r\n\t\t\t}else{\r\n\t\t\t\tvm.showFailure(\"Failed\",\"Please select matrial delivred status\");\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.getReadableTime = function (time) {\r\n\t\t\tvm.timeDisplay = \"\";\r\n\t\t\tif (typeof time == \"string\") {\r\n\t\t\t\tvm.timeDisplay = $filter('date')(new Date(time), \"yyyy/MM/dd h:mm:ss a\");\r\n\t\t\t}\r\n\t\t\tif (typeof time == \"object\") {\r\n\t\t\t\tvm.timeDisplay = time.format(\"DD/MMM/YY LTS\");\r\n\t\t\t}\r\n\t\t\treturn vm.timeDisplay;\r\n\t\t}\r\n\r\n\t\tvm.isUpdatePermission = function () {\r\n\t\t\tif (vm.VerticalName == 'Spectro Labs') {\r\n\t\t\t\tif (accountConfig && accountConfig.MenuListModel) {\r\n\t\t\t\t\tfor (var i = 0; i < accountConfig.MenuListModel.length; i++) {\r\n\t\t\t\t\t\tif (accountConfig.MenuListModel[i].MenuName == \"Jobs\") {\r\n\t\t\t\t\t\t\tfor (var j = 0; j < accountConfig.MenuListModel[i].SubMenusList.length; j++) {\r\n\t\t\t\t\t\t\t\tif (accountConfig.MenuListModel[i].SubMenusList[j].SubMenuName == \"All Tickets\") {\r\n\t\t\t\t\t\t\t\t\treturn accountConfig.MenuListModel[i].SubMenusList[j].UpdatePermission.split(\",\").indexOf($localStorage.loggedInUser_Role) >= 0;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (accountConfig && accountConfig.MenuListModel) {\r\n\t\t\t\t\tfor (var i = 0; i < accountConfig.MenuListModel.length; i++) {\r\n\t\t\t\t\t\tif (accountConfig.MenuListModel[i].MenuName == \"Jobs\") {\r\n\t\t\t\t\t\t\tfor (var j = 0; j < accountConfig.MenuListModel[i].SubMenusList.length; j++) {\r\n\t\t\t\t\t\t\t\tif (accountConfig.MenuListModel[i].SubMenusList[j].SubMenuName == \"All Jobs\") {\r\n\t\t\t\t\t\t\t\t\treturn accountConfig.MenuListModel[i].SubMenusList[j].UpdatePermission.split(\",\").indexOf($localStorage.loggedInUser_Role) >= 0;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tvm.getDropDownOptions = function (SectionName, ItemName) {\r\n\t\t\tvar options = [];\r\n\t\t\tif (vm.templateData && vm.templateData.SectionList) {\r\n\t\t\t\tangular.forEach(vm.templateData.SectionList, function (l) {\r\n\t\t\t\t\tif (l.SectionName == SectionName && l.ItemList && l.ItemList.length > 0) {\r\n\t\t\t\t\t\tangular.forEach(l.ItemList, function (item) {\r\n\t\t\t\t\t\t\tif (item.ItemName == ItemName && item.ItemType == \"Dropdown Type\" && item.field_options && item.field_options.options && item.field_options.options.length > 0) {\r\n\t\t\t\t\t\t\t\t//$log.log(\"item.field_options.options\", item.field_options.options);\r\n\t\t\t\t\t\t\t\toptions = item.field_options.options;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\treturn options;\r\n\t\t}\r\n\r\n\t\tvm.getDropDownOptionsForCheckboxList = function (SectionName, ItemName) {\r\n\t\t\tvar options = [];\r\n\t\t\tif (vm.templateData && vm.templateData.SectionList) {\r\n\t\t\t\tangular.forEach(vm.templateData.SectionList, function (l) {\r\n\t\t\t\t\tif (l.SectionName == SectionName && l.ItemList && l.ItemList.length > 0) {\r\n\t\t\t\t\t\tangular.forEach(l.ItemList, function (item) {\r\n\t\t\t\t\t\t\tif (item.ItemName == ItemName && item.ItemType == \"CheckBoxList DropDown Type\" && item.field_options && item.field_options.options && item.field_options.options.length > 0) {\r\n\t\t\t\t\t\t\t\t//$log.log(\"item.field_options.options\", item.field_options.options);\r\n\t\t\t\t\t\t\t\toptions = item.field_options.options;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\treturn options;\r\n\t\t}\r\n\r\n\t\t //download PDF \r\n\t\t vm.downloadReportPDF = function (ticketId) { \r\n\t\t\tif (vm.TicketInfo.OnSiteReport != null) { \r\n\t\t\t var urlWithFeasible = PublicApiURL + '/api/Report/GeneratePdfOnSiteReportForMultipleTickets?TicketIds=' + ticketId;\r\n\t\t\t $window.open(urlWithFeasible, '_blank')\r\n\t\t\t} else {\r\n\t\t\t// var urlForNonFeasible = ApiURL + '/api/Report/GeneratePdfOnSiteReport?TicketId=' + ticketId;\r\n\t\t\t// $window.open(urlForNonFeasible, '_blank')\r\n\t\t\tvm.downloadOnSiteReport();\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t}\r\n\t\t }\r\n\r\n\t\t vm.pdfimage = \"\";\r\n\t\t\tvm.DocumentAvailableMessage=\"\";\t\r\n\t\t\tvm.downloadOnSiteReport = function (previewSelectedObj) { \r\n\t\t\t\tvm.PDFViewRport();\r\n\t\t\t\r\n\t\t\t\tvar PreviewConsolidatedInvoiceList = previewSelectedObj;\r\n\t\t\t\tjobDetailsService.downloadOnSiteReport(loggedinUser, token, vm.TicketInfo.TicketId).then(function (resp) {\r\n\t\t\t\t\t// var responseDataList=[];\r\n\t\t\t\t\tvm.responseDataList = resp.data;\r\n\t\t\t\t\t// for(var i=0; i';\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase 'Date Type':\r\n\t\t\t\t\tvm.PlottedItem = ''\r\n\t\t\t\t\t\t+ '';\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase 'Multiple Picture Type':\r\n\t\t\t\t\tvm.PlottedItem = ''\r\n\t\t\t\t\t\t+ ''\r\n\t\t\t\t\t\t+ '';\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'Signature Type':\r\n\t\t\t\t\tvm.PlottedItem = ''\r\n\t\t\t\t\t\t+ ''\r\n\t\t\t\t\t\t+ '';\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'File Attachment Type':\r\n\t\t\t\t\tvm.PlottedItem = ''\r\n\t\t\t\t\t\t// + ''\r\n\t\t\t\t\t\t + '
'\r\n\t\t\t\t\t\t+ '
Click here to upload PDF
'\r\n\t\t\t\t\t\t+ '


Click here to upload PDF
'\r\n\t\t\t\t\t\t //+ '
Click here to upload pdf';\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'CheckBoxList DropDown Type':\r\n\t\t\t\t\tvm.PlottedItem = '';\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'Video Type':\r\n\t\t\t\t\tvm.PlottedItem = ''\r\n\t\t\t\t\t\t+''\r\n\t\t\t\t\t\t+'';\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'Character FilteredTextBoxField':\r\n\t\t\t\tcase 'Bigger Textbox':\r\n\t\t\t\tcase 'Edit Enabled':\r\n\t\t\t\tcase 'Phone Type':\r\n\t\t\t\tcase 'Decimal TextBox Type':\r\n\t\t\t\tcase 'Numeric FilteredTextBoxField':\r\n\t\t\t\tcase 'Instruction Type':\r\n\t\t\t\tcase 'Scan Barcode Type':\r\n\t\t\t\tcase 'Email':\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tvm.PlottedItem = '';\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\treturn vm.PlottedItem;\r\n\t\t}\r\n\r\n\r\n\t\tvm.UpdateStep = function () {\r\n\r\n\t\t\tvar formData = new FormData();\r\n\r\n\t\t\tfor (var ticketmodelIndex = 0; ticketmodelIndex < vm.TicketInfo.TemplateModel.SectionList.length; ticketmodelIndex++) {\r\n\t\t\t\tvar Action = vm.TicketInfo.TemplateModel.SectionList[ticketmodelIndex].Action;\r\n\t\t\t\tvar section = vm.TicketInfo.TemplateModel.SectionList[ticketmodelIndex].SectionName;\r\n\t\t\t\tif (Action == currentStepName) {\r\n\t\t\t\t\tfor (var currentModalIndex = 0; currentModalIndex < vm.ModalActionWithValuesList.SectionList.length; currentModalIndex++) {\r\n\t\t\t\t\t\tif (section == vm.ModalActionWithValuesList.SectionList[currentModalIndex].SectionName) {\r\n\r\n\t\t\t\t\t\t\tvm.TicketInfo.TemplateModel.SectionList[ticketmodelIndex].ItemList = vm.ModalActionWithValuesList.SectionList[currentModalIndex].ItemList;\r\n\t\t\t\t\t\t\tangular.forEach(vm.TicketInfo.TemplateModel.SectionList[ticketmodelIndex].ItemList, function (item) {\r\n\t\t\t\t\t\t\t\tif (item.ItemType == 'Date Type') {\r\n\r\n\t\t\t\t\t\t\t\t\titem.ItemValue = moment(item.ItemValue).format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\");\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\telse if (item.ItemType == 'CheckBoxList DropDown Type') {\r\n\t\t\t\t\t\t\t\t\titem.field_options.options = [];\r\n\t\t\t\t\t\t\t\t\tif (item.ItemValues && item.ItemValues.length > 0) {\r\n\r\n\t\t\t\t\t\t\t\t\t\tfor (var i = 0; i < item.ItemValues.length; i++) {\r\n\t\t\t\t\t\t\t\t\t\t\tvar obj = { \"label\": item.ItemValues[i] };\r\n\t\t\t\t\t\t\t\t\t\t\t// obj.push()\r\n\t\t\t\t\t\t\t\t\t\t\titem.field_options.options.push(obj);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t//item.field_options.options.push(item.ItemValue);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse if (item.ItemType == 'Multiple Picture Type' || item.ItemType == 'Signature Type' || item.ItemType == 'File Attachment Type' || item.ItemType == 'Video Type') {\r\n\t\t\t\t\t\t\t\t\tif (vm.ImageArray[section + '_' + item.ItemName]) {\r\n\t\t\t\t\t\t\t\t\t\tvm.ImageArray[section + '_' + item.ItemName].name = vm.TicketInfo.TicketId + '_' + vm.ImageArray[section + '_' + item.ItemName].name;\r\n\t\t\t\t\t\t\t\t\t\titem.ItemValue = vm.TicketInfo.TicketId + '_' + Math.random().toString(36).substring(7) + new Date().getTime() + vm.ImageArray[section + '_' + item.ItemName].name;\r\n\t\t\t\t\t\t\t\t\t\titem.ImageName = item.ItemValue;\r\n\t\t\t\t\t\t\t\t\t\tformData.append(vm.TicketInfo.TicketId + '_' + vm.ImageArray[section + '_' + item.ItemName].name, vm.ImageArray[section + '_' + item.ItemName], item.ImageName);\r\n\r\n\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t// else if (item.ItemType == 'Video Type') { \r\n\t\t\t\t\t\t\t\t// \tif (vm.ImageArray[section + '_' + item.ItemName]) {\r\n\t\t\t\t\t\t\t\t// \t\tvm.ImageArray[section + '_' + item.ItemName].name = vm.TicketInfo.TicketId + '_' + vm.ImageArray[section + '_' + item.ItemName].name;\r\n\t\t\t\t\t\t\t\t// \t\titem.ItemValue = vm.TicketInfo.TicketId + '_' + Math.random().toString(36).substring(7) + new Date().getTime() + vm.ImageArray[section + '_' + item.ItemName].name;\r\n\t\t\t\t\t\t\t\t// \t\titem.ImageName = item.ItemValue;\r\n\t\t\t\t\t\t\t\t// \t\tformData.append(vm.TicketInfo.TicketId + '_' + vm.ImageArray[section + '_' + item.ItemName].name, vm.ImageArray[section + '_' + item.ItemName], item.ImageName);\r\n\r\n\t\t\t\t\t\t\t\t// \t}\r\n\r\n\t\t\t\t\t\t\t\t// }\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tticketEditModalInstance.close();\r\n\t\t\tformData.append('reqUserId', loggedinUser)\r\n\t\t\t//var data = angular.toJson(vm.TicketInfo);\r\n\t\t\tvar data = JSON.stringify(vm.TicketInfo);\r\n\t\t\tformData.append(\"TicketRequestModel\", data);\r\n\t\t\tjobDetailsService.updateJobTicketwithImage(formData, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 202 || resp.status == 200) {\r\n\t\t\t\t\t$timeout(function(){\t\r\n\t\t\t\t\t\ttoaster.pop({\r\n\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\ttitle: 'job update Status',\r\n\t\t\t\t\t\t\tshowCloseButton: true,\r\n\t\t\t\t\t\t\tbody: 'Job has been successfully updated',\r\n\t\t\t\t\t\t\t\"progressBar\": true,\r\n\t\t\t\t\t\t\t\"preventDuplicates\": false,\r\n\t\t\t\t\t\t\t\"showDuration\": \"400\",\r\n\t\t\t\t\t\t\t\"hideDuration\": \"1000\",\r\n\t\t\t\t\t\t\t\"tapToDismiss\": true,\r\n\t\t\t\t\t\t\t\"timeout\": 2000,\r\n\t\t\t\t\t\t\tpositionClass: 'toast-top-full-width'\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\tvm.getTicketByJobId();\t\t\t\t\t\t\r\n\t\t\t\t\t}, 1000);\r\n\t\t\t\t\tfor (var sectionIndex = 0; sectionIndex < vm.currentStepModel.SectionList.length; sectionIndex++) {\r\n\t\t\t\t\t\tfor (var itemIndex = 0; itemIndex < vm.currentStepModel.SectionList[sectionIndex].ItemList.length; itemIndex++) {\r\n\t\t\t\t\t\t\tvar beforeChangeItem = vm.currentStepModel.SectionList[sectionIndex].ItemList[itemIndex].ItemValue;\r\n\t\t\t\t\t\t\tvar afterChangeItem = vm.ModalActionWithValuesList.SectionList[sectionIndex].ItemList[itemIndex].ItemValue;\r\n\t\t\t\t\t\t\tif (beforeChangeItem != afterChangeItem) {\r\n\t\t\t\t\t\t\t\tvm.currentStepModel.SectionList[sectionIndex].ItemList[itemIndex].ItemValue = afterChangeItem;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\t\t\t\t\t\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttoaster.pop({\r\n\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\ttitle: 'job update Status',\r\n\t\t\t\t\t\tshowCloseButton: true,\r\n\t\t\t\t\t\tbody: 'Job has not been updated',\r\n\t\t\t\t\t\t\"progressBar\": true,\r\n\t\t\t\t\t\t\"preventDuplicates\": false,\r\n\t\t\t\t\t\t\"showDuration\": \"400\",\r\n\t\t\t\t\t\t\"hideDuration\": \"1000\",\r\n\t\t\t\t\t\t\"tapToDismiss\": true,\r\n\t\t\t\t\t\t\"timeout\": 2000,\r\n\t\t\t\t\t\tpositionClass: 'toast-top-full-width'\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}, function () {\r\n\t\t\t\ttoaster.pop({\r\n\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\ttitle: 'job update Status',\r\n\t\t\t\t\tshowCloseButton: true,\r\n\t\t\t\t\tbody: 'server error',\r\n\t\t\t\t\t\"progressBar\": true,\r\n\t\t\t\t\t\"preventDuplicates\": false,\r\n\t\t\t\t\t\"showDuration\": \"400\",\r\n\t\t\t\t\t\"hideDuration\": \"1000\",\r\n\t\t\t\t\t\"tapToDismiss\": true,\r\n\t\t\t\t\t\"timeout\": 2000,\r\n\t\t\t\t\tpositionClass: 'toast-top-full-width'\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\r\n\r\n\t\tvm.getImageData = function (data) {\t\t\t\r\n\t\t\tif (data) {\r\n\t\t\t\t// console.log(data);\r\n\t\t\t\treturn data;\r\n\t\t\t} else {\r\n\t\t\t\treturn \"assets/images/patterns/no-image.png\";\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t//\r\n\t\tvm.getImageDataFST = function (data) {\t\t\t\r\n\t\t\tif (data) {\r\n\t\t\t\t// console.log(data);\r\n\t\t\t\treturn data;\r\n\t\t\t} else {\r\n\t\t\t\treturn \"assets/images/patterns/no-image.png\";\r\n\t\t\t}\r\n\t\t}\r\n\t\tvm.getPdfExist = function (name) {\t\t\t\r\n\t\t\tif(name==null)\t\t\t\r\n\t\t\t\treturn \"assets/images/patterns/no-image.png\";\r\n\t\t\telse\r\n\t\t\t\treturn name;\t\t\t\r\n\t\t// \telse{\r\n // var strPdf = name.includes(\".pdf\")\t\t\r\n\t\t// \tif (strPdf) {\t\t\t\t\r\n\t\t// \t\t//return \"../assets/images/patterns/pdf.png\";\r\n\t\t// \t} else {\r\n\t\t// \t\treturn \"assets/images/patterns/no-image.png\";\r\n\t\t// \t}\r\n\t\t// }\r\n\t\t}\r\n\t\tvm.PlotItemSectionAndActionWise = function (itemType) {\r\n\t\t\tvm.PlottedItem = '';\r\n\t\t\tswitch (itemType) {\r\n\t\t\t\tcase 'Multiple Picture Type':\r\n\t\t\t\t\tvm.PlottedItem = '
' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t// '
' +\r\n\t\t\t\t\t\t// '
';\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t'\"image-1\"' +\r\n\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t'
';\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t// Added by Vikash on demand of salman sir after confirming by jitendra sir\r\n\t\t\t\tcase 'Draw Layout Type':\r\n\t\t\t\t\tvm.PlottedItem = '
' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t// '
' +\r\n\t\t\t\t\t\t// '
';\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t'\"image-1\"' +\r\n\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t'
';\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase 'Signature Type':\r\n\t\t\t\t\tvm.PlottedItem = '
' +\r\n\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t'\"image-1\"' +\r\n\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t'
';\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t// \r\n\t\t\t\t// \"image-1\"\r\n\t\t\t\t// \r\n\t\t\t\tcase 'File Attachment Type':\r\n\t\t\t\t\tvm.PlottedItem = '
' +\r\n\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t'
';\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'Video Type':\r\n\t\t\t\t\tvm.PlottedItem = '

{{plotItem.ItemName}}.*

' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t'
';\r\n\r\n\t\t\t\t\t//vm.PlottedItem = '';\r\n\t\t\t\t\t\t// vm.PlottedItem = '';\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase 'CheckBoxList DropDown Type':\r\n\t\t\t\t\tvm.PlottedItem = '
' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t'{{itemOption.label}}
';\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'Date Type':\r\n\t\t\t\t\tvm.PlottedItem = '
' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t'{{plotItem.ItemValue | date}}
';\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase 'Character FilteredTextBoxField':\r\n\t\t\t\tcase 'Bigger Textbox':\r\n\t\t\t\tcase 'Dropdown Type':\r\n\t\t\t\tcase 'Edit Enabled':\r\n\t\t\t\tcase 'Phone Type':\r\n\t\t\t\tcase 'Decimal TextBox Type':\r\n\t\t\t\tcase 'Numeric FilteredTextBoxField':\r\n\t\t\t\tcase 'Instruction Type':\r\n\t\t\t\tcase 'Scan Barcode Type':\r\n\t\t\t\tcase 'Email':\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tvm.PlottedItem = '
' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t'

'\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\treturn vm.PlottedItem;\r\n\t\t}\r\n\r\n\r\n\t\tvm.getCallTypeList = function (jobType, callType) {\r\n\t\t\tvm.CallTypeItemList = [];\r\n\t\t\tif (jobType == 'VSAT') {\r\n\t\t\t\tif (callType[0].ItemValue == 'Maintenance') {\r\n\t\t\t\t\tvm.CallTypeList = [\"IDU replaced. Vsat made up and working\",\r\n\t\t\t\t\t\t\"ODU replaced. Vsat made up and working\",\r\n\t\t\t\t\t\t\"LNBC replaced. Vsat made up and working\",\r\n\t\t\t\t\t\t\"IFL cable replaced. Vsat made up and working\",\r\n\t\t\t\t\t\t\"LNA replaced. Vsat made up and working\",\r\n\t\t\t\t\t\t\"Feed replaced. Vsat made up and working\",\r\n\t\t\t\t\t\t\"Antenna replaced. Vsat made up and working\",\r\n\t\t\t\t\t\t\"Connector replaced. Vsat made up and working\",\r\n\t\t\t\t\t\t\"After antenna alignment Vsat made up and working\",\r\n\t\t\t\t\t\t\"Power issue resolved at customer premises. Vsat has come up and working\",\r\n\t\t\t\t\t\t\"UPS issue has been resolved at customer end. Vsat has come up and working\",\r\n\t\t\t\t\t\t\"Earthing issue has been resolved at customer end. Vsat has come up and working\",\r\n\t\t\t\t\t\t\"After powering ON the equipments. Vsat made up and working\",\r\n\t\t\t\t\t\t\"Hardware rebooted. Vsat made up\",\r\n\t\t\t\t\t\t\"Monkey cage issue resolved. Vsat made up and working\",\r\n\t\t\t\t\t\t\"Others\"\r\n\t\t\t\t\t]\r\n\t\t\t\t} else if (callType[0].ItemValue == 'Installation') {\r\n\t\t\t\t\tvm.CallTypeList = [\"Installation and activation has been done. Vsat is up and working\",\r\n\t\t\t\t\t\t\"Installation done after rectification of power/earthing parameter at customer end\",\r\n\t\t\t\t\t\t\"Others\"\r\n\t\t\t\t\t]\r\n\t\t\t\t} else if (callType[0].ItemValue == 'Shifting') {\r\n\t\t\t\t\tvm.CallTypeList = [\"Shifting of Vsat completed from old premises to new premises\",\r\n\t\t\t\t\t\t\"Shifting of Vsat completed from existing floor to new floor in the same premises\",\r\n\t\t\t\t\t\t\"Shifting of IDU/ODU completed\",\r\n\t\t\t\t\t\t\"Shifting done after rectification of power/earthing parameter at customer end\",\r\n\t\t\t\t\t\t\"Others\"\r\n\t\t\t\t\t]\r\n\t\t\t\t}\r\n\t\t\t} else if (jobType == 'LeaseLine') {\r\n\t\t\t\tif (callType[0].ItemValue == 'LLM') {\r\n\t\t\t\t\tvm.CallTypeList = [\"Local lead issue has been resolved. Link is up and working\",\r\n\t\t\t\t\t\t\"UG Cable cut restored. Link is up and working\",\r\n\t\t\t\t\t\t\"OFC cut has been restored. Link came up and working\",\r\n\t\t\t\t\t\t\"Mux issue has been resolved. Link has come up and working\",\r\n\t\t\t\t\t\t\"MPLS trunk issue has been resolved. Link is up and working\",\r\n\t\t\t\t\t\t\"NIB routing issue has been resolved. Links are up and working\",\r\n\t\t\t\t\t\t\"Major media failure has been resolved. Links came up and working\",\r\n\t\t\t\t\t\t\"BSNL hardware issue has been resolved. Link is up and working\",\r\n\t\t\t\t\t\t\"Router replaced. Link is up and working\",\r\n\t\t\t\t\t\t\"Switch replaced. Link is up and working\",\r\n\t\t\t\t\t\t\"MLLN modem replaced. Link is up and working\",\r\n\t\t\t\t\t\t\"conventional modem replaced. Link made up\",\r\n\t\t\t\t\t\t\"HWIC card replaced. Link is up and working\",\r\n\t\t\t\t\t\t\"Serial cable replaced. Link is up and working\",\r\n\t\t\t\t\t\t\"OFC media has been restored. Link is up and working\",\r\n\t\t\t\t\t\t\"BSNL wiring issue resolved in the exchange. Link is up and working\",\r\n\t\t\t\t\t\t\"Customer's modem has been replaced. Link is up\",\r\n\t\t\t\t\t\t\"Customer's router has been replaced. Link made up\",\r\n\t\t\t\t\t\t\"No issue found in the link. Customer saying up\",\r\n\t\t\t\t\t\t\"High utilization due to which getting slow connectivity\",\r\n\t\t\t\t\t\t\"LAN issue resolved. Customer is getting connectivity\",\r\n\t\t\t\t\t\t\"PCM issue resolved. Link has come up\",\r\n\t\t\t\t\t\t\"Mux channel issue resolved. Link has come up.\",\r\n\t\t\t\t\t\t\"Routing issue b/w MTNL & BSNL has been resolved. Link has come up\",\r\n\t\t\t\t\t\t\"Power issue resolved in the exchange. Link has come up and working\",\r\n\t\t\t\t\t\t\"UPS issue has been resolved at customer end. Link has come up and working\",\r\n\t\t\t\t\t\t\"Earthing issue has been resolved at customer end. Link has come up and working\",\r\n\t\t\t\t\t\t\"After powering ON the equipments Link made up and working\",\r\n\t\t\t\t\t\t\"Hardware rebooted. Link made up.\",\r\n\t\t\t\t\t\t\"Others\"\r\n\t\t\t\t\t]\r\n\t\t\t\t} else if (callType[0].ItemValue == 'LLP') {\r\n\t\t\t\t\tvm.CallTypeList = [\"Commissioning done after PCM/Channal wiring done\",\r\n\t\t\t\t\t\t\"Commissioning done after replacing MLLN modem\",\r\n\t\t\t\t\t\t\"Commissioning done after completion of MPLS end configuration\",\r\n\t\t\t\t\t\t\"Commissioning done after OFC media preparation\",\r\n\t\t\t\t\t\t\"Commissioning done after allocation of channel\",\r\n\t\t\t\t\t\t\"Commissioning done after replacing router/card\",\r\n\t\t\t\t\t\t\"Commissioning done after replacing serial cable\",\r\n\t\t\t\t\t\t\"Commissioning done after configuring the CE router\",\r\n\t\t\t\t\t\t\"Commissioning done after media preparation b/w MTNL & BSNL\",\r\n\t\t\t\t\t\t\"Commissioning done after installation of new local lead\",\r\n\t\t\t\t\t\t\"Commissioning done after rectification of power/earthing parameter at customer end\",\r\n\t\t\t\t\t\t\"Others\"\r\n\t\t\t\t\t]\r\n\t\t\t\t} else if (callType[0].ItemValue == 'Upgration') {\r\n\t\t\t\t\tvm.CallTypeList = [\"Upgradation done after PCM/Channal wiring done\",\r\n\t\t\t\t\t\t\"Upgradation done after replacing MLLN modem\",\r\n\t\t\t\t\t\t\"Upgradation done after completion of MPLS end configuration\",\r\n\t\t\t\t\t\t\"Upgradation done after OFC media preparation\",\r\n\t\t\t\t\t\t\"Upgradation done after allocation of channel\",\r\n\t\t\t\t\t\t\"Upgradation done after replacing router/card\",\r\n\t\t\t\t\t\t\"Upgradation done after replacing serial cable\",\r\n\t\t\t\t\t\t\"Upgradation done after configuring the CE router\",\r\n\t\t\t\t\t\t\"Upgradation done after media preparation b/w MTNL & BSNL\",\r\n\t\t\t\t\t\t\"Upgradation done after rectification of power/earthing parameter at customer end\",\r\n\t\t\t\t\t\t\"Others\"\r\n\t\t\t\t\t]\r\n\t\t\t\t} else if (callType[0].ItemValue == 'Shifting') {\r\n\t\t\t\t\tvm.CallTypeList = [\"Shifting of link completed from old premises to new premises\",\r\n\t\t\t\t\t\t\"Shifting of link completed from existing floor to new floor in the same premises\",\r\n\t\t\t\t\t\t\"Shifting of exchange completed\",\r\n\t\t\t\t\t\t\"Shifting done after rectification of power/earthing parameter at customer end\",\r\n\t\t\t\t\t\t\"Others\"\r\n\t\t\t\t\t]\r\n\t\t\t\t} else if (callType[0].ItemValue == 'Installation & Configuration of Device') {\r\n\t\t\t\t\tvm.CallTypeList = [\"Router installed. Link made up and working\",\r\n\t\t\t\t\t\t\"Switch installed. Link made up and working\",\r\n\t\t\t\t\t\t\"HWIC card installed. Link made up and working\",\r\n\t\t\t\t\t\t\"Serial cable installed. Link made up and working\",\r\n\t\t\t\t\t\t\"MLLN modem installed. Link made up and working\",\r\n\t\t\t\t\t\t\"Router/MLLN modem/switch installed at customer end\",\r\n\t\t\t\t\t\t\"UPS installed at customer end. Link made up and working\",\r\n\t\t\t\t\t\t\"Installation done after rectification of power/earthing parameter at customer end\",\r\n\t\t\t\t\t\t\"Others\"\r\n\t\t\t\t\t]\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// vm.showFixed = true;\r\n\t\tvm.DistanceFixed = '10';\r\n\t\tvm.starFixed = '5';\r\n\t\tvm.DistanceNearBy = '10';\r\n\t\tvm.starNearBy = '5';\r\n\t\tvm.Distance = '10';\r\n\t\tvm.DistancePre = '10';\r\n\t\tvm.star = '5';\r\n\t\tvm.showNearByTable = false;\r\n\t\tvm.model = {};\r\n\t\tvm.model = [{ \"key\": 1, \"Role\": \"Field Engineer\", \"userType\": \"Fixed Team\", \"Value\": \"Field Engineer\" },\r\n\t\t{ \"key\": 2, \"Role\": \"Field Engineer\", \"userType\": \"Freelancer\", \"Value\": \"Freelancer\" },\r\n\t\t{ \"key\": 3, \"Role\": \"Vendor Manager\", \"userType\": \"Fixed Team\", \"Value\": \"Vendor\" },\r\n\t\t{ \"key\": 4, \"Role\": \"Vendor Manager\", \"userType\": \"Freelancer\", \"Value\": \"Freelancer\" }];\r\n\r\n\t\tvm.GetFixedUser = function (reload) {\r\n\t\t\tvar roleList = [];\r\n\t\t\troleList.push({ \"UserRole\": 'Field Engineer', \"UserType\": \"Fixed Team\" });\r\n\r\n\t\t\tvar orderbyUser = [];\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 1, \"OrderByField\": \"UserRating\" });\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 2, \"OrderByField\": \"BIDCounterRate\" });\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 3, \"OrderByField\": \"UserDistance\" });\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"ActOnCurrentLocation\": false,\r\n\t\t\t\t\"RangeFromJob\": parseInt(vm.DistanceFixed) * 1000,\r\n\t\t\t\t\"UserConfigList\": roleList,\r\n\t\t\t\t\"FETravelChargePerKM\": 10,\r\n\t\t\t\t\"FromDate\": vm.TicketInfo.StartTime,\r\n\t\t\t\t\"ToDate\": vm.TicketInfo.EndTime,\r\n\t\t\t\t\"TransportMode\": \"driving\",\r\n\t\t\t\t\"OrderByUsers\": orderbyUser\r\n\t\t\t};\r\n\t\t\tjobDetailsService.GetSchedulingEvaluationResult(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tvm.FixedUserList = resp.data.users;\r\n\t\t\t\tvm.FixedUserLength = vm.FixedUserList.length;\r\n\t\t\t\t\r\n\t\t\t\tvm.CreateFixedUserTable();\r\n\t\t\t\tif (reload) {\r\n\t\t\t\t\tvm.reloadDataFixed();\r\n\t\t\t\t}\r\n\r\n\t\t\t});\r\n\r\n\t\t}\r\n\r\n\r\n\r\n\t\tvm.CreateFixedUserTable = function () {\r\n\t\t\tvm.headerCompiledFixed = false;\r\n\t\t\t// vm.dtInstanceFixed = {};\r\n\t\t\tvm.showFixedTable = 'Fixed';\r\n\t\t\tvm.showFixed = true;\r\n\t\t\tvm.selectedFixed = {};\r\n\t\t\tvm.toggleOneFixed = toggleOneFixed;\r\n\t\t\tvm.selectAllFixed = false;\r\n\t\t\tvm.toggleAllFixed = toggleAllFixed;\r\n\t\t\tvar temp = false;\r\n\t\t\tif (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\ttemp = true;\r\n\t\t\t}\r\n\r\n\t\t\t// var titleHtmlFixed = '';\r\n\t\t\tvm.dtOptionsFixed = DTOptionsBuilder.fromFnPromise(function () {\r\n\t\t\t\tvar defer = $q.defer();\r\n\t\t\t\tdefer.resolve(vm.FixedUserList);\r\n\t\t\t\treturn defer.promise;\r\n\t\t\t})\r\n\t\t\t\t.withPaginationType('full_numbers')\r\n\t\t\t\t.withOption('order', [])\r\n\t\t\t\t.withOption('createdRow', function (row, data, dataIndex) {\r\n\t\t\t\t\t// Recompiling so we can bind Angular directive to the DT\r\n\t\t\t\t\t$compile(angular.element(row).contents())($scope);\r\n\t\t\t\t})\r\n\t\t\t\t.withOption('headerCallback', function (header) {\r\n\t\t\t\t\tif (!vm.headerCompiledFixed) {\r\n\t\t\t\t\t\t// Use this headerCompiled field to only compile header once\r\n\t\t\t\t\t\tvm.headerCompiledFixed = true;\r\n\t\t\t\t\t\t$compile(angular.element(header).contents())($scope);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.withBootstrap();\r\n\r\n\r\n\t\t\tvm.dtColumnsFixed = [\r\n\t\t\t\t\r\n\t\t\t\tDTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvar temp = false;\r\n\t\t\t\t\tif(vm.IsMaterialDelivered){\r\n\t\t\t\t\t\t\tif( vm.TicketInfo.TicketStatus != 'New' || vm.TicketInfo.MetrialDeliverStatus !='Delivered'){\r\n\t\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\tif(vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif($localStorage.loggedInUser_Role == 'Vendor Manager'){\r\n\t\t\t\t\t\t\ttemp = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif(vm.TicketInfo.UserName != '' && vm.TicketInfo.UserName != null){\r\n\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif(vm.TicketInfo.TicketStatus == 'Completed'){\r\n\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn '';\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('id').withTitle('Id').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('name').withTitle('Name').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\t\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('userType').withTitle('User Type').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('UserRating').withTitle('Rating').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('JobTotal').withTitle('Jobs').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('UserDistance').withTitle('Distance(In KM.)').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t})\r\n\r\n\t\t\t];\r\n\r\n\t\t\tfunction toggleAllFixed(selectAll, selectedItems) {\r\n\t\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t\t\t\tselectedItems[id] = selectAll;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// function toggleOneFixed(selectedItems) {\r\n\t\t\t// \tfor (var id in selectedItems) {\r\n\t\t\t// \t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t// \t\t\tif (!selectedItems[id]) {\r\n\t\t\t// \t\t\t\tif(vm.selectSingleFixed){\r\n\t\t\t// \t\t\t\t\tvm.selectAllFixed = false;\r\n\t\t\t// \t\t\t\t\tvm.selectSingleFixed = false;\r\n\t\t\t// \t\t\t\t\treturn;\r\n\t\t\t// \t\t\t\t}\r\n\r\n\t\t\t// \t\t\t\tvm.selectAllFixed = false;\r\n\t\t\t// \t\t\t\tvm.selectSingleFixed = true;\r\n\t\t\t// \t\t\t\treturn;\r\n\t\t\t// \t\t\t}\r\n\t\t\t// \t\t\tvm.selectSingleFixed = false;\r\n\t\t\t// \t\t}\r\n\t\t\t// \t}\r\n\t\t\t// \tvm.selectAllFixed = true;\r\n\t\t\t// }\r\n\r\n\t\t\tfunction toggleOneFixed(selectedItems) {\r\n\t\t\t\tvm.selectAllFixed = false;\r\n\t\t\t\tvm.selectSingleFixed = false;\r\n\t\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\t\tif (selectedItems[id]) {\r\n\t\t\t\t\t\tvm.selectSingleFixed = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\r\n\t\t}\r\n\r\n\r\n\r\n\r\n\r\n\t\tvm.NearByUserList = [];\r\n\r\n\t\tvm.GetNearByUser = function (reload) {\r\n\r\n\t\t\tvm.headerCompiledNearBy = false;\r\n\t\t\t// vm.NearByUserList = [];\r\n\t\t\tvar roleList = [];\r\n\t\t\troleList.push({ \"UserRole\": 'Field Engineer', \"UserType\": \"Freelancer\" });\r\n\t\t\troleList.push({ \"UserRole\": 'Vendor Manager', \"UserType\": \"Freelancer\" });\r\n\t\t\tvar orderbyUser = [];\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 0, \"OrderByField\": \"UserRating\" });\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 1, \"OrderByField\": \"BIDCounterRate\" });\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 2, \"OrderByField\": \"UserDistance\" });\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"ActOnCurrentLocation\": false,\r\n\t\t\t\t\"IsComplianceDisable\": vm.ComplianceDisable,\r\n\t\t\t\t\"RangeFromJob\": parseInt(vm.DistanceNearBy) * 1000,\r\n\t\t\t\t\"UserConfigList\": roleList,\r\n\t\t\t\t\"FETravelChargePerKM\": 10,\r\n\t\t\t\t\"FromDate\": vm.TicketInfo.StartTime,\r\n\t\t\t\t\"ToDate\": vm.TicketInfo.EndTime,\r\n\t\t\t\t\"TransportMode\": \"driving\",\r\n\t\t\t\t\"OrderByUsers\": orderbyUser,\r\n\t\t\t};\r\n\t\t\tjobDetailsService.GetSchedulingEvaluationResult(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tvm.NearByUserList = resp.data.users;\r\n\t\t\t\tvm.NearByUserLength = vm.NearByUserList.length;\r\n\t\t\t\t\r\n\t\t\t\tvm.CreateNearByTable();\r\n\t\t\t\tif (reload) {\r\n\t\t\t\t\tvm.reloadData();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t}\r\n\r\n\t\tvm.selectSingleNearBy = false;\r\n\t\tvm.CreateNearByTable = function () {\r\n\t\t\tvm.headerCompiledNearBy = false;\r\n\t\t\tvm.showNearByTable = 'showNear';\r\n\t\t\tvm.selectedNearBy = {};\r\n\t\t\tvm.toggleOneNearBy = toggleOneNearBy;\r\n\t\t\t// vm.dtInstanceNearBy = {};\r\n\t\t\tvm.selectAllNearBy = false;\r\n\t\t\tvm.toggleAllNearBy = toggleAllNearBy;\r\n\t\t\tvar temp = false;\r\n\t\t\t// if (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t// \ttemp = true;\r\n\t\t\t// }\r\n\t\t\tif(vm.IsMaterialDelivered){\r\n\t\t\t\tif( vm.TicketInfo.TicketStatus != 'New' || vm.TicketInfo.MetrialDeliverStatus !='Delivered'){\r\n\t\t\t\t\ttemp = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tif(vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\ttemp = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\ttemp = vm.TicketInfo.ShowManualBroadcast?temp:true;\r\n\t\t\tvar titleHtmlNearBy = '';\r\n\t\t\tvm.dtOptionsNearBy = DTOptionsBuilder.fromFnPromise(function () {\r\n\t\t\t\tvar defer = $q.defer();\r\n\t\t\t\tdefer.resolve(vm.NearByUserList);\r\n\t\t\t\treturn defer.promise;\r\n\t\t\t})\r\n\t\t\t\t.withPaginationType('full_numbers')\r\n\t\t\t\t.withOption('order', [])\r\n\t\t\t\t.withOption('createdRow', function (row, data, dataIndex) {\r\n\t\t\t\t\t// Recompiling so we can bind Angular directive to the DT\r\n\t\t\t\t\t$compile(angular.element(row).contents())($scope);\r\n\t\t\t\t})\r\n\t\t\t\t.withOption('headerCallback', function (header) {\r\n\t\t\t\t\tif (!vm.headerCompiledNearBy) {\r\n\t\t\t\t\t\t// Use this headerCompiled field to only compile header once\r\n\t\t\t\t\t\tvm.headerCompiledNearBy = true;\r\n\t\t\t\t\t\t$compile(angular.element(header).contents())($scope);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.withBootstrap();\r\n\r\n\r\n\t\t\tvm.dtColumnsNearBy = [\r\n\t\t\t\tDTColumnBuilder.newColumn(null).withTitle(titleHtmlNearBy).renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvm.selectedNearBy[meta.row] = false;\r\n\t\t\t\t\tvar temp = false;\r\n\t\t\t\t\t// if (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t// \ttemp = true;\r\n\t\t\t\t\t// }\r\n\t\t\t\t\t\tif(vm.IsMaterialDelivered){\r\n\t\t\t\t\t\t\t\tif( vm.TicketInfo.TicketStatus != 'New' || vm.TicketInfo.MetrialDeliverStatus !='Delivered'){\r\n\t\t\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\tif(vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\ttemp = vm.TicketInfo.ShowManualBroadcast?temp:true;\r\n\t\t\t\t\treturn '';\r\n\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvar temp = false;\r\n\t\t\t\t\tif(vm.IsMaterialDelivered){\r\n\t\t\t\t\t\t\tif( vm.TicketInfo.TicketStatus != 'New' || vm.TicketInfo.MetrialDeliverStatus !='Delivered'){\r\n\t\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\tif(vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.disableRouteButton = vm.TicketInfo.ShowManualBroadcast?temp:true;\r\n\t\t\t\t\treturn '';\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('id').withTitle('Id').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('name').withTitle('Name').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}).notSortable(),\r\n\r\n\t\t\t\tDTColumnBuilder.newColumn('User_Type').withTitle('User Type').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('UserRating').withTitle('Rating').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('JobTotal').withTitle('Jobs').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('UserDistance').withTitle('Distance(In KM.)').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('IsPresentToday').withTitle('Attendance').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvar attendance =\"\";\r\n\t\t\t\t\tif(full.User_Type==\"Freelancer Vendor\")\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tattendance = \"NA\";\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\tif(full.IsPresentToday){\r\n\t\t\t\t\t\tattendance = \"Present\";\r\n\t\t\t\t\t }else{\r\n\t\t\t\t\t\tattendance = \"Absent\";\r\n\t\t\t\t\t }\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn '' + attendance + '';\r\n\r\n\t\t\t\t})\r\n\t\t\t\t\r\n\t\t\t\t// return '
'+location+'
'\r\n\t\t\t\r\n\r\n\t\t\t];\r\n\r\n\t\t\tfunction toggleAllNearBy(selectAll, selectedItems) {\r\n\t\t\t\tvm.selectSingleNearBy = false;\r\n\t\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t\t\t\tselectedItems[id] = selectAll;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// function toggleOneNearBy(selectedItems) {\r\n\t\t\t// \tfor (var id in selectedItems) {\r\n\t\t\t// \t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t// \t\t\tif (!selectedItems[id]) {\r\n\t\t\t// \t\t\t\tif(vm.selectSingleNearBy){\r\n\t\t\t// \t\t\t\t\tvm.selectAllNearBy = false;\r\n\t\t\t// \t\t\t\t\tvm.selectSingleNearBy = false;\r\n\t\t\t// \t\t\t\t\treturn;\r\n\t\t\t// \t\t\t\t}\r\n\r\n\t\t\t// \t\t\t\tvm.selectAllNearBy = false;\r\n\t\t\t// \t\t\t\tvm.selectSingleNearBy = true;\r\n\t\t\t// \t\t\t\treturn;\r\n\t\t\t// \t\t\t}\r\n\t\t\t// \t\t\tvm.selectSingleNearBy = false;\r\n\t\t\t// \t\t}\r\n\t\t\t// \t}\r\n\t\t\t// \tvm.selectAllNearBy = true;\r\n\t\t\t// }\r\n\r\n\t\t\tfunction toggleOneNearBy(selectedItems) {\r\n\t\t\t\tvm.selectAllNearBy = false;\r\n\t\t\t\tvm.selectSingleNearBy = false;\r\n\t\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\t\tif (selectedItems[id]) {\r\n\t\t\t\t\t\tvm.selectSingleNearBy = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t\tvm.reloadDataFixed = function () {\r\n\t\t\tvar resetPagingFixed = true;\r\n\t\t\tvm.dtInstanceFixed.reloadData(resetPagingFixed);\r\n\t\t}\r\n\r\n\t\tvm.reloadData = function () {\r\n\t\t\tvar resetPaging = true;\r\n\t\t\tvm.dtInstanceNearBy.reloadData(resetPaging);\r\n\t\t\t\r\n\r\n\t\t}\r\n\r\n\t\tvm.reloadDataTalent = function () {\r\n\t\t\tvar resetPagingTalent = true;\r\n\t\t\tvm.dtInstance.reloadData(resetPagingTalent);\r\n\t\t}\r\n\r\n\t\tvm.reloadDataPre = function () {\r\n\t\t\tvar resetPagingPre = true;\r\n\t\t\tvm.dtInstancePre.reloadData(resetPagingPre);\r\n\t\t}\r\n\r\n\r\n\t\tvm.Preffered = function () {\r\n\t\t\tvm.jobAppointmentModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'Preffered.html',\r\n\t\t\t\tsize: 'sm',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.GetTalentPoolUser = function (reload) {\r\n\t\t\tvm.headerCompiled = false;\r\n\t\t\tvar Distance = parseInt(vm.Distance)\r\n\t\t\tvar roleList = [];\r\n\t\t\troleList.push({ \"UserRole\": 'Field Engineer', \"UserType\": \"Freelancer\" });\r\n\t\t\troleList.push({ \"UserRole\": 'Vendor Manager', \"UserType\": \"Freelancer\" });\r\n\t\t\tvar orderbyUser = [];\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 0, \"OrderByField\": \"UserRating\" });\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 1, \"OrderByField\": \"BIDCounterRate\" });\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 2, \"OrderByField\": \"UserDistance\" });\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"ActOnCurrentLocation\": false,\r\n\t\t\t\t\"RangeFromJob\": Distance * 1000,\r\n\t\t\t\t\"UserConfigList\": roleList,\r\n\t\t\t\t\"FETravelChargePerKM\": 10,\r\n\t\t\t\t\"FromDate\": vm.TicketInfo.StartTime,\r\n\t\t\t\t\"ToDate\": vm.TicketInfo.EndTime,\r\n\t\t\t\t\"TransportMode\": \"driving\",\r\n\t\t\t\t\"OrderByUsers\": orderbyUser\r\n\t\t\t};\r\n\t\t\tjobDetailsService.GetAllPrefereTalentPool(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tvm.PrefreUserList = resp.data;\r\n\t\t\t\tvm.PrefreUserLength = vm.PrefreUserList.length;\r\n\t\t\t\t\r\n\t\t\t\tvm.CreatePrefreTable();\r\n\t\t\t\tif (reload) {\r\n\t\t\t\t\tvm.reloadDataTalent();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t}\r\n\r\n\t\tvm.selectSingle = false;\r\n\t\tvm.CreatePrefreTable = function () {\r\n\t\t\t// vm.Invoice = {};\r\n\t\t\tvm.headerCompiled = false;\r\n\t\t\tvm.selected = {};\r\n\t\t\tvm.toggleOne = toggleOne;\r\n\t\t\t// vm.dtInstance = {};\r\n\t\t\tvm.selectAll = false;\r\n\t\t\tvm.toggleAll = toggleAll;\r\n\t\t\tvar temp = false;\r\n\t\t\t// if (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t// \ttemp = true;\r\n\t\t\t// }\r\n\t\t\tif(vm.IsMaterialDelivered){\r\n\t\t\t\tif( vm.TicketInfo.TicketStatus != 'New' || vm.TicketInfo.MetrialDeliverStatus !='Delivered'){\r\n\t\t\t\t\ttemp = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tif(vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\ttemp = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\ttemp = vm.TicketInfo.ShowManualBroadcast?temp:true;\r\n\t\t\tvar titleHtml = '';\r\n\r\n\t\t\tvm.dtOptions = DTOptionsBuilder.fromFnPromise(function () {\r\n\t\t\t\tvar defer = $q.defer();\r\n\t\t\t\tvm.showTable = true;\r\n\t\t\t\tdefer.resolve(vm.PrefreUserList);\r\n\t\t\t\treturn defer.promise;\r\n\r\n\t\t\t})\r\n\t\t\t\t.withPaginationType('full_numbers')\r\n\t\t\t\t.withOption('order', [])\r\n\t\t\t\t.withOption('createdRow', createdRow)\r\n\t\t\t\t.withOption('headerCallback', headerCallback)\r\n\t\t\t\t.withBootstrap();\r\n\r\n\t\t\tfunction createdRow(row, data, dataIndex) {\r\n\t\t\t\t// Recompiling so we can bind Angular directive to the DT\r\n\t\t\t\t$compile(angular.element(row).contents())($scope);\r\n\t\t\t}\r\n\r\n\t\t\tfunction headerCallback(header) {\r\n\t\t\t\tif (!vm.headerCompiled) {\r\n\t\t\t\t\t// Use this headerCompiled field to only compile header once\r\n\t\t\t\t\tvm.headerCompiled = true;\r\n\t\t\t\t\t$compile(angular.element(header).contents())($scope);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tvm.dtColumns = [\r\n\t\t\t\tDTColumnBuilder.newColumn(null).withTitle(titleHtml).renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvm.selected[meta.row] = false;\r\n\t\t\t\t\tvar temp = false;\r\n\t\t\t\t\t// if (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t// \ttemp = true;\r\n\t\t\t\t\t// }\r\n\t\t\t\t\tif(vm.IsMaterialDelivered){\r\n\t\t\t\t\t\t\t\tif( vm.TicketInfo.TicketStatus != 'New' || vm.TicketInfo.MetrialDeliverStatus !='Delivered'){\r\n\t\t\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\tif(vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\ttemp = vm.TicketInfo.ShowManualBroadcast?temp:true;\r\n\t\t\t\t\treturn '';\r\n\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvar temp = false;\r\n\t\t\t\t\tif(vm.IsMaterialDelivered){\r\n\t\t\t\t\t\tif( vm.TicketInfo.TicketStatus != 'New' || vm.TicketInfo.MetrialDeliverStatus !='Delivered'){\r\n\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\tif(vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.disableRouteButton = vm.TicketInfo.ShowManualBroadcast?temp:true;\r\n\t\t\t\t\treturn '';\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('id').withTitle('Id').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('name').withTitle('Name').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\t\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('User_Type').withTitle('User Type').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('UserRating').withTitle('Rating').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('JobTotal').withTitle('Jobs').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('UserDistance').withTitle('Distance(In KM.)').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('IsPresentToday').withTitle('Attendance').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvar attendance =\"\";\r\n\t\t\t\t\tif(full.IsPresentToday){\r\n\t\t\t\t\t\tattendance = \"Present\";\r\n\t\t\t\t\t }else{\r\n\t\t\t\t\t\tattendance = \"Absent\";\r\n\t\t\t\t\t }\r\n\t\t\t\t\t \r\n\t\t\t\t\treturn '' + attendance + '';\r\n\r\n\t\t\t\t})\r\n\r\n\t\t\t];\r\n\r\n\t\t\tfunction toggleAll(selectAll, selectedItems) {\r\n\t\t\t\tvm.selectSingle = false;\r\n\t\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t\t\t\tselectedItems[id] = selectAll;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// function toggleOne(selectedItems) {\r\n\t\t\t// \tfor (var id in selectedItems) {\r\n\t\t\t// \t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t// \t\t\tif (!selectedItems[id]) {\r\n\r\n\t\t\t// \t\t\t\tif(vm.selectSingle){\r\n\t\t\t// \t\t\t\t\tvm.selectAll = false;\r\n\t\t\t// \t\t\t\t\tvm.selectSingle = false;\r\n\t\t\t// \t\t\t\t\treturn;\r\n\t\t\t// \t\t\t\t}\r\n\t\t\t// \t\t\t\tvm.selectAll = false;\r\n\t\t\t// \t\t\t\tvm.selectSingle = true;\r\n\t\t\t// \t\t\t\treturn;\r\n\t\t\t// \t\t\t}\r\n\t\t\t// \t\t\tvm.selectSingle = false;\r\n\t\t\t// \t\t}\r\n\t\t\t// \t}\r\n\t\t\t// \tvm.selectAll = true;\r\n\t\t\t// }\r\n\r\n\t\t\tfunction toggleOne(selectedItems) {\r\n\t\t\t\tvm.selectAll = false;\r\n\t\t\t\tvm.selectSingle = false;\r\n\t\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\t\tif (selectedItems[id]) {\r\n\t\t\t\t\t\tvm.selectSingle = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\r\n\t\t}\r\n\t\tvm.showTablePre = false;\r\n\t\tvm.selectSinglePre = false;\r\n\t\tvm.GetPreviousWorker = function (reload) {\r\n\r\n\t\t\tvm.headerCompiledPre = false;\r\n\t\t\tvar Distance = parseInt(vm.DistancePre)\r\n\t\t\tvar roleList = [];\r\n\t\t\troleList.push({ \"UserRole\": 'Field Engineer', \"UserType\": \"Freelancer\" });\r\n\t\t\troleList.push({ \"UserRole\": 'Vendor Manager', \"UserType\": \"Freelancer\" });\r\n\t\t\tvar orderbyUser = [];\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 0, \"OrderByField\": \"UserRating\" });\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 1, \"OrderByField\": \"BIDCounterRate\" });\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 2, \"OrderByField\": \"UserDistance\" });\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"ActOnCurrentLocation\": false,\r\n\t\t\t\t\"RangeFromJob\": Distance * 1000,\r\n\t\t\t\t\"UserConfigList\": roleList,\r\n\t\t\t\t\"FETravelChargePerKM\": 10,\r\n\t\t\t\t\"FromDate\": vm.TicketInfo.StartTime,\r\n\t\t\t\t\"ToDate\": vm.TicketInfo.EndTime,\r\n\t\t\t\t\"TransportMode\": \"driving\",\r\n\t\t\t\t\"OrderByUsers\": orderbyUser\r\n\t\t\t};\r\n\t\t\tjobDetailsService.GetAllPreviousUser(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tvm.PreviousUserList = resp.data;\r\n\t\t\t\tvm.PreviousUserLength = vm.PreviousUserList.length;\r\n\t\t\t\t\r\n\t\t\t\tvm.CreatePreviousUserTable();\r\n\t\t\t\tif (reload) {\r\n\t\t\t\t\tvm.reloadDataPre();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.CreatePreviousUserTable = function () {\r\n\t\t\tvm.headerCompiledPre = false;\r\n\t\t\tvm.selectedPre = {};\r\n\t\t\tvm.toggleOnePre = toggleOnePre;\r\n\t\t\t// vm.dtInstancePre = {};\r\n\t\t\tvm.selectAllPre = false;\r\n\t\t\tvm.toggleAllPre = toggleAllPre;\r\n\t\t\tvar temp = false;\r\n\t\t\t// if (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t// \ttemp = true;\r\n\t\t\t// }\r\n\t\t\tif(vm.IsMaterialDelivered){\r\n\t\t\t\tif( vm.TicketInfo.TicketStatus != 'New' || vm.TicketInfo.MetrialDeliverStatus !='Delivered'){\r\n\t\t\t\t\ttemp = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tif(vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\ttemp = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\ttemp = vm.TicketInfo.ShowManualBroadcast?temp:true;\r\n\t\t\tvar titleHtmlPre = '';\r\n\r\n\t\t\tvm.dtOptionsPre = DTOptionsBuilder.fromFnPromise(function () {\r\n\t\t\t\tvar defer = $q.defer();\r\n\t\t\t\tvm.showTablePre = true;\r\n\t\t\t\tdefer.resolve(vm.PreviousUserList);\r\n\t\t\t\treturn defer.promise;\r\n\r\n\t\t\t})\r\n\t\t\t\t.withPaginationType('full_numbers')\r\n\t\t\t\t.withOption('order', [])\r\n\t\t\t\t.withOption('createdRow', function (row, data, dataIndex) {\r\n\t\t\t\t\t// Recompiling so we can bind Angular directive to the DT\r\n\t\t\t\t\t$compile(angular.element(row).contents())($scope);\r\n\t\t\t\t})\r\n\t\t\t\t.withOption('headerCallback', function (header) {\r\n\t\t\t\t\tif (!vm.headerCompiledPre) {\r\n\t\t\t\t\t\t// Use this headerCompiled field to only compile header once\r\n\t\t\t\t\t\tvm.headerCompiledPre = true;\r\n\t\t\t\t\t\t$compile(angular.element(header).contents())($scope);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.withBootstrap();\r\n\r\n\r\n\t\t\tvm.dtColumnsPre = [\r\n\t\t\t\tDTColumnBuilder.newColumn(null).withTitle(titleHtmlPre).renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvm.selectedPre[meta.row] = false;\r\n\t\t\t\t\tvar temp = false;\r\n\t\t\t\t\t// if (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t// \ttemp = true;\r\n\t\t\t\t\t// }\r\n\t\t\t\t\tif(vm.IsMaterialDelivered){\r\n\t\t\t\t\t\t\t\tif( vm.TicketInfo.TicketStatus != 'New' || vm.TicketInfo.MetrialDeliverStatus !='Delivered'){\r\n\t\t\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\tif(vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\ttemp = vm.TicketInfo.ShowManualBroadcast?temp:true;\r\n\t\t\t\t\treturn '';\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvar temp = false;\r\n\t\t\t\t\tif(vm.IsMaterialDelivered){\r\n\t\t\t\t\t\tif( vm.TicketInfo.TicketStatus != 'New' || vm.TicketInfo.MetrialDeliverStatus !='Delivered'){\r\n\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\tif(vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.disableRouteButton = vm.TicketInfo.ShowManualBroadcast?temp:true;\r\n\t\t\t\t\treturn '';\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('id').withTitle('Id').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('name').withTitle('Name').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('User_Type').withTitle('User Type').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('UserRating').withTitle('Rating').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('JobTotal').withTitle('Jobs').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('UserDistance').withTitle('Distance(In KM.)').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('IsPresentToday').withTitle('Attendance').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvar attendance =\"\";\r\n\t\t\t\t\tif(full.IsPresentToday){\r\n\t\t\t\t\t\tattendance = \"Present\";\r\n\t\t\t\t\t }else{\r\n\t\t\t\t\t\tattendance = \"Absent\";\r\n\t\t\t\t\t }\r\n\t\t\t\t\t \r\n\t\t\t\t\treturn '' + attendance + '';\r\n\r\n\t\t\t\t})\r\n\r\n\t\t\t];\r\n\r\n\t\t\tfunction toggleAllPre(selectAll, selectedItems) {\r\n\t\t\t\tvm.selectSinglePre = false;\r\n\t\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t\t\t\tselectedItems[id] = selectAll;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// function toggleOnePre(selectedItems) {\r\n\t\t\t// \tfor (var id in selectedItems) {\r\n\t\t\t// \t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t// \t\t\tif (!selectedItems[id]) {\r\n\r\n\t\t\t// \t\t\t\tif(vm.selectSinglePre){\r\n\t\t\t// \t\t\t\t\tvm.selectAllPre = false;\r\n\t\t\t// \t\t\t\t\tvm.selectSinglePre = false;\r\n\t\t\t// \t\t\t\t\tcontinue;\r\n\t\t\t// \t\t\t\t}\r\n\t\t\t// \t\t\t\tvm.selectAllPre = false;\r\n\t\t\t// \t\t\t\tvm.selectSinglePre = true;\r\n\t\t\t// \t\t\t\tcontinue;\r\n\t\t\t// \t\t\t}\r\n\r\n\t\t\t// \t\t}\r\n\t\t\t// \t\tvm.selectSinglePre = false;\r\n\t\t\t// \t}\r\n\t\t\t// \tvm.selectAllPre = true;\r\n\t\t\t// }\r\n\t\t\tfunction toggleOnePre(selectedItems) {\r\n\t\t\t\tvm.selectSinglePre = false;\r\n\t\t\t\tvm.selectAllPre = false;\r\n\t\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\t\tif (selectedItems[id]) {\r\n\t\t\t\t\t\tvm.selectSinglePre = true;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tvm.BroadcastField = function () {\r\n\t\t\t//vm.dissbleBroadcastButton = true;\r\n\t\t\tvm.DisableRouteBroadcastButtons(true);\r\n\t\t\tvar temp = [];\r\n\t\t\tfor (var i = 0; i < vm.FixedUserList.length; i++) {\r\n\t\t\t\tif (vm.selectedFixed[i] == true) {\r\n\t\t\t\t\ttemp.push({ \"UserId\": vm.FixedUserList[i].id, \"SuggestedPrice\": null, \"Price\": parseInt(vm.FixedUserList[i].Price), \"Distance\": parseInt(vm.FixedUserList[i].UserDistance) });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"BIDDuration\": vm.TicketInfo.BidDuration,\r\n\t\t\t\t\"MobiforceCommissionPercentage\": vm.TicketInfo.MobiforceCommission,\r\n\t\t\t\t\"TechnicianSource\": 0,\r\n\t\t\t\t\"Users\": temp\r\n\t\t\t};\r\n\t\t\tif (data.Users.length > 0) {\r\n\t\t\t\tjobDetailsService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess('Success', \"Jobs Broadcasted Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$state.reload();\r\n\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t}, 2000);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.BroadcastTicketNearBy = function () {\r\n\t\t\t//vm.dissbleBroadcastButton = true;\r\n\t\t\tvm.DisableRouteBroadcastButtons(true);\r\n\t\t\tvar temp = [];\r\n\t\t\tfor (var i = 0; i < vm.NearByUserList.length; i++) {\r\n\t\t\t\tif (vm.selectedNearBy[i] == true) {\r\n\t\t\t\t\ttemp.push({ \"UserId\": vm.NearByUserList[i].id, \"SuggestedPrice\": null, \"Price\": parseInt(vm.NearByUserList[i].Price), \"Distance\": parseInt(vm.NearByUserList[i].UserDistance) });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"BIDDuration\": vm.TicketInfo.BidDuration,\r\n\t\t\t\t\"MobiforceCommissionPercentage\": vm.TicketInfo.MobiforceCommission,\r\n\t\t\t\t\"TechnicianSource\": 1,\r\n\t\t\t\t\"Users\": temp\r\n\t\t\t};\r\n\t\t\tif (data.Users.length > 0) {\r\n\t\t\t\tjobDetailsService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess('Success', \"Jobs Broadcasted Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$state.reload();\r\n\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t}, 2000);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.BroadcastTicketPool = function () {\r\n\t\t\t//vm.dissbleBroadcastButton = true;\r\n\t\t\tvm.DisableRouteBroadcastButtons(true);\r\n\t\t\tvar temp = [];\r\n\t\t\tfor (var i = 0; i < vm.PrefreUserList.length; i++) {\r\n\t\t\t\tif (vm.selected[i] == true) {\r\n\t\t\t\t\ttemp.push({ \"UserId\": vm.PrefreUserList[i].id, \"SuggestedPrice\": null, \"Price\": parseInt(vm.PrefreUserList[i].Price), \"Distance\": parseInt(vm.PrefreUserList[i].UserDistance) });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"BIDDuration\": vm.TicketInfo.BidDuration,\r\n\t\t\t\t\"MobiforceCommissionPercentage\": vm.TicketInfo.MobiforceCommission,\r\n\t\t\t\t\"TechnicianSource\": 2,\r\n\t\t\t\t\"Users\": temp\r\n\t\t\t};\r\n\t\t\tif (data.Users.length > 0) {\r\n\t\t\t\tjobDetailsService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess('Success', \"Jobs Broadcasted Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$state.reload();\r\n\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t}, 2000);\r\n\t\t\t}\r\n\r\n\r\n\t\t}\r\n\r\n\t\tvm.BroadcastTicketPrevious = function () {\r\n\t\t\t//vm.dissbleBroadcastButton = true;\r\n\t\t\tvm.DisableRouteBroadcastButtons(true);\r\n\t\t\tvar temp = [];\r\n\t\t\tfor (var i = 0; i < vm.PreviousUserList.length; i++) {\r\n\t\t\t\tif (vm.selectedPre[i] == true) {\r\n\t\t\t\t\ttemp.push({ \"UserId\": vm.PreviousUserList[i].id, \"SuggestedPrice\": null, \"Price\": parseInt(vm.PreviousUserList[i].Price), \"Distance\": parseInt(vm.PreviousUserList[i].UserDistance) });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"BIDDuration\": vm.TicketInfo.BidDuration,\r\n\t\t\t\t\"MobiforceCommissionPercentage\": vm.TicketInfo.MobiforceCommission,\r\n\t\t\t\t\"TechnicianSource\": 3,\r\n\t\t\t\t\"Users\": temp\r\n\t\t\t};\r\n\t\t\tif (data.Users.length > 0) {\r\n\t\t\t\tjobDetailsService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess('Success', \"Jobs Broadcasted Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$state.reload();\r\n\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t}, 2000);\r\n\t\t\t}\r\n\r\n\r\n\t\t}\r\n\r\n\t\tvm.routeFixed = function (index) {\r\n\t\t\tvar data = vm.FixedUserList[index];\r\n\t\t\tvar temp = [];\r\n\t\t\ttemp.push({ \"UserId\": data.id, \"SuggestedPrice\": null, \"Price\": parseFloat(data.Price), \"Distance\": parseFloat(data.UserDistance) });\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"BIDDuration\": vm.TicketInfo.BidDuration,\r\n\t\t\t\t\"MobiforceCommissionPercentage\": vm.TicketInfo.MobiforceCommission,\r\n\t\t\t\t\"BroadcastType\": \"Route\",\r\n\t\t\t\t\"TechnicianSource\": 0,\r\n\t\t\t\t\"Users\": temp\r\n\t\t\t};\r\n\t\t\tif (data.Users.length > 0) {\r\n\t\t\t\tjobDetailsService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess('Success', \"Jobs Route Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", \"User Not Found.\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Please select users.\");\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$state.reload();\r\n\t\t\t\t}, 2000);\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\r\n\t\tvm.route = function (index) {\r\n\t\t\tvm.DisableRouteBroadcastButtons(true);\r\n\t\t\tvar data = vm.NearByUserList[index];\r\n\t\t\tvar temp = [];\r\n\t\t\ttemp.push({ \"UserId\": data.id, \"SuggestedPrice\": null, \"Price\": parseFloat(data.Price), \"Distance\": parseFloat(data.UserDistance) });\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"BIDDuration\": vm.TicketInfo.BidDuration,\r\n\t\t\t\t\"MobiforceCommissionPercentage\": vm.TicketInfo.MobiforceCommission,\r\n\t\t\t\t\"BroadcastType\": \"Route\",\r\n\t\t\t\t\"TechnicianSource\": 1,\r\n\t\t\t\t\"Users\": temp\r\n\t\t\t};\r\n\t\t\tif (data.Users.length > 0) {\r\n\t\t\t\tvm.showloading = true;\r\n\t\t\t\tjobDetailsService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t\t\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess('Success', \"Jobs Route Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (resp.status == 206) {\r\n\t\t\t\t\t\tvm.showFailure('Failed', resp.data.Message);\r\n\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", \"Users Not Found\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.showloading = false;\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Please select users.\");\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$state.reload();\r\n\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t}, 2000);\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tvm.routePreTalent = function (index) {\r\n\t\t\tvm.DisableRouteBroadcastButtons(true);\r\n\t\t\tvar data = vm.PrefreUserList[index];\r\n\t\t\tvar temp = [];\r\n\t\t\ttemp.push({ \"UserId\": data.id, \"SuggestedPrice\": null, \"Price\": parseFloat(data.Price), \"Distance\": parseFloat(data.UserDistance) });\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"BIDDuration\": vm.TicketInfo.BidDuration,\r\n\t\t\t\t\"MobiforceCommissionPercentage\": vm.TicketInfo.MobiforceCommission,\r\n\t\t\t\t\"BroadcastType\": \"Route\",\r\n\t\t\t\t\"TechnicianSource\": 2,\r\n\t\t\t\t\"Users\": temp\r\n\t\t\t};\r\n\t\t\tif (data.Users.length > 0) {\r\n\t\t\t\tjobDetailsService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess('Success', \"Jobs Route Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", \"User Not Found.\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Please select users.\");\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$state.reload();\r\n\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t}, 2000);\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tvm.routePrevoius = function (index) {\r\n\t\t\tvm.DisableRouteBroadcastButtons(true);\r\n\t\t\tvar data = vm.PreviousUserList[index];\r\n\t\t\tvar temp = [];\r\n\t\t\ttemp.push({ \"UserId\": data.id, \"SuggestedPrice\": null, \"Price\": parseFloat(data.Price), \"Distance\": parseFloat(data.UserDistance) });\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"BIDDuration\": vm.TicketInfo.BidDuration,\r\n\t\t\t\t\"MobiforceCommissionPercentage\": vm.TicketInfo.MobiforceCommission,\r\n\t\t\t\t\"BroadcastType\": \"Route\",\r\n\t\t\t\t\"TechnicianSource\": 3,\r\n\t\t\t\t\"Users\": temp\r\n\t\t\t};\r\n\t\t\tif (data.Users.length > 0) {\r\n\t\t\t\tjobDetailsService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess('Success', \"Jobs Route Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", \"Users Not Found.\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Please select users.\");\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$state.reload();\r\n\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t}, 2000);\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tvm.getReadyToAssign = function () {\r\n\r\n\t\t\tvar roleList = [];\r\n\t\t\troleList.push({ \"UserRole\": 'Field Engineer', \"UserType\": \"Freelancer\" });\r\n\t\t\troleList.push({ \"UserRole\": 'Vendor Manager', \"UserType\": \"Freelancer\" });\r\n\t\t\tvar orderbyUser = [];\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 2, \"OrderByField\": \"UserRating\" });\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 3, \"OrderByField\": \"BIDCounterRate\" });\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 1, \"OrderByField\": \"UserDistance\" });\r\n\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"JobAccountId\": '',\r\n\t\t\t\t\"ActOnCurrentLocation\": false,\r\n\t\t\t\t\"RangeFromJob\": 50 * 1000,\r\n\t\t\t\t\"UserConfigList\": roleList,\r\n\t\t\t\t\"FETravelChargePerKM\": 10,\r\n\t\t\t\t\"FromDate\": vm.TicketInfo.StartTime,\r\n\t\t\t\t\"ToDate\": vm.TicketInfo.EndTime,\r\n\t\t\t\t\"TransportMode\": \"driving\",\r\n\t\t\t\t\"OrderByUsers\": orderbyUser\r\n\t\t\t};\r\n\r\n\t\t\tdata.JobAccountId = '';\r\n\t\t\tjobDetailsService.GetSchedulingEvaluationResult(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tvm.ReadytoAssignUser = resp.data.users;\r\n\t\t\t\tvm.ReadyUserLength = vm.ReadytoAssignUser.length;\r\n\r\n\t\t\t});\r\n\r\n\r\n\t\t}\r\n\r\n\t\tvm.AssignTicketsToFixedTeam = function (index) {\r\n\r\n\t\t\tvar temp = vm.FixedUserList[index];\r\n\t\t\tif($localStorage.loggedInUser_Role == 'Vendor Manager'){\r\n\t\t\t\tjobDetailsService.VendorManagerAssignJobTeam(temp.id,loggedinUser, uTicketId, vm.TicketInfo.JobAccountId, token).then(function (resp) {\r\n\t\t\t\t\tif (resp && resp.status == '200') {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Job Assigned Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t\r\n\t\t\t}\r\n\t\t\telse{\r\n\r\n\t\t\tvar AllUserList = [];\r\n\r\n\t\t\tvar data = {\r\n\t\t\t\t\"UserId\": temp.id ? temp.id : temp.LinkId,\r\n\t\t\t\t\"TicketId\": vm.TicketId,\r\n\t\t\t\t\"StartTime\": moment(vm.TicketInfo.StartTime).format('YYYY-MM-DD HH:mm'),\r\n\t\t\t\t\"Endtime\": moment(vm.TicketInfo.EndTime).format('YYYY-MM-DD HH:mm'),\r\n\t\t\t\t\"SuggestedPrice\": temp.Price,\r\n\t\t\t\t\"AssignPrice\": temp.Price,\r\n\t\t\t\t\"Distance\": temp.UserDistance\r\n\t\t\t}\r\n\t\t\tAllUserList.push(data);\r\n\t\t\tif (AllUserList == '') {\r\n\t\t\t\tvm.showFailure(\"Please select users.\")\r\n\t\t\t} else {\r\n\t\t\t\tjobDetailsService.AssignTicketsTimeline(loggedinUser, AllUserList, token).then(function (resp) {\r\n\t\t\t\t\tif (resp && resp.status == '200') {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Job Assigned Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t}, 2000);\r\n\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\t\t}\r\n\r\n\t\tvm.AssignTicketsTimeline = function (rUser, index) {\t\t\t\r\n\t\t\tvar AllUserList = [];\r\n\t\t\tvar data = {\r\n\t\t\t\t\"UserId\": rUser.id ? rUser.id : rUser.LinkId,\r\n\t\t\t\t\"TicketId\": vm.TicketId,\r\n\t\t\t\t\"StartTime\": moment(vm.TicketInfo.StartTime).format('YYYY-MM-DD HH:mm'),\r\n\t\t\t\t\"Endtime\": moment(vm.TicketInfo.EndTime).format('YYYY-MM-DD HH:mm'),\r\n\t\t\t\t\"SuggestedPrice\": rUser.BIDCounterRate,\r\n\t\t\t\t\"AssignPrice\": rUser.BIDCounterRate,\r\n\t\t\t\t\"Distance\": rUser.UserDistance\r\n\t\t\t}\r\n\t\t\tAllUserList.push(data);\r\n\t\t\tif (AllUserList == '') {\r\n\t\t\t\tvm.showFailure(\"Please select users.\")\r\n\t\t\t} else {\r\n\t\t\t\tjobDetailsService.AssignTicketsTimeline(loggedinUser, AllUserList, token).then(function (resp) {\r\n\t\t\t\t\t\r\n\t\t\t\t\tif (resp && resp.status == '200') {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Job Assigned Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t\t// scheduler.clearAll();\r\n\r\n\t\t\t\t\t\t// $timeout(function () {\r\n\t\t\t\t\t\t// vm.mapMarkers=[];\r\n\t\t\t\t\t\t// vm.AssignModal.close();\r\n\t\t\t\t\t\t// GetSchedulingEventforToday(loggedinUser);\r\n\t\t\t\t\t\t// if(vm.TicketStatus==\"New\"){\r\n\t\t\t\t\t\t// \t vm.GetTicketsForAssignation();\r\n\t\t\t\t\t\t// }else if(vm.TicketStatus==\"ReadyToAssign\"){\r\n\t\t\t\t\t\t// \tvm.getReadyToAssign();\r\n\t\t\t\t\t\t// }\r\n\r\n\r\n\t\t\t\t\t\t// }, 1500);\r\n\t\t\t\t\t\t// if(vm.Mode=='Map') {\r\n\t\t\t\t\t\t// $timeout(function () {\r\n\t\t\t\t\t\t// \t vm.mapMarkers=[];\r\n\t\t\t\t\t\t// \t vm.AssignModal.close();\r\n\t\t\t\t\t\t// }, 1500);\r\n\t\t\t\t\t\t// }\r\n\t\t\t\t\t} \r\n\t\t\t\t\telse if (resp.status == 206) {\r\n\t\t\t\t\t\tvm.showFailure('Failed', resp.data.Message);\r\n\t\t\t\t\t }\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tvm.getCustomerJobCard = function () {\r\n\t\t\tjobDetailsService.getCustomerJobCardbyJobId(loggedinUser, vm.TicketId, token, function (data) {\r\n\t\t\t\tvm.JobLatitude = data.JobLatitude;\r\n\t\t\t\tvm.JobLongitude = data.JobLongitude;\r\n\t\t\t\tvm.FELatitude = data.FELatitude;\r\n\t\t\t\tvm.FELongitude = data.FELongitude;\r\n\t\t\t\tvm.contactnumber = data.FEContactNumber;\r\n\t\t\t\tvm.jobtype = data.Description;\r\n\t\t\t\tvm.name = data.FEName;\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t// $log.log(\"res of getCustomerJobCard=\" + data);\r\n\t\t\t\tvm.customerJobCard = data;\r\n\t\t\t\tif ($localStorage.rateJobParams) {\r\n\t\t\t\t\tvm.customerJobCard.userRole = $localStorage.Role;\r\n\t\t\t\t\tvm.customerJobCard.JobStatus = $localStorage.rateJobParams.status;\r\n\t\t\t\t\tvm.customerJobCard.CustomerGivenRating = $localStorage.rateJobParams.rating;\r\n\t\t\t\t\tdelete $localStorage.rateJobParams;\r\n\t\t\t\t}\r\n\t\t\t\tif (data && data.JobStatus == 'PaymentDone') {\r\n\r\n\t\t\t\t}\r\n\r\n\t\t\t\tinitMap();\r\n\t\t\t}, function () {\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Unable to reach server\");\r\n\t\t\t});\r\n\t\t}\r\n\r\n\r\n\t\tvm.getTracking = function () {\r\n\r\n\t\t\tif (vm.TicketInfo.TicketStatus == 'New' || vm.TicketInfo.TicketStatus == 'Hold' || vm.TicketInfo.TicketStatus == 'Broadcasted' || vm.TicketInfo.TicketStatus == 'ReadyToAssign') {\r\n\t\t\t\tvm.superPower = true;\r\n\t\t\t\tdisplayJobOnMap();\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif( (vm.TicketInfo.TicketStatus == 'Assigned'|| vm.TicketInfo.TicketStatus == 'Rejected' || vm.TicketInfo.TicketStatus == 'Approved' || vm.TicketInfo.TicketStatus == 'Completed' ) && vm.TicketInfo.UserId){\r\n\t\t\t\t\tvm.showMapPermision = true;\r\n\t\t\t\t\tvm.superPower = true;\r\n\t\t\t\t}else{\r\n\t\t\t\t\tvm.showMapPermision = false;\r\n\t\t\t\t}\r\n\t\t\t\tvm.getCustomerJobCard();\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\r\n\t\t// -------------------------------------------------------------------------------\r\n\t\t// Tracking code goes here\r\n\t\t\r\n\t\tvm.makeUserMarker = function (position, icon, map) {\r\n\t\t\tvar marker = new google.maps.Marker({\r\n\t\t\t\tposition: position,\r\n\t\t\t\tmap: map,\r\n\t\t\t\ticon: icon\r\n\t\t\t});\r\n\t\t\t//Adding InfoWindow to the Marker.\r\n\t\t\t(function (marker, customerJobCard) {\r\n\t\t\t\tgoogle.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n\t\t\t\t\t$scope.InfoWindow.setContent(\"

\" + vm.name + \"

\");\r\n\t\t\t\t\t$scope.InfoWindow.open($scope.Map, marker);\r\n\t\t\t\t});\r\n\t\t\t\tgoogle.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n\t\t\t\t\t$scope.InfoWindow.close(vm.Map, marker);\r\n\t\t\t\t});\r\n\t\t\t})(marker, vm.customerJobCard);\r\n\r\n\t\t\t//Plotting the Marker on the Map.\r\n\t\t\t$scope.Latlngbounds.extend(marker.position);\r\n\r\n\t\t}\r\n\r\n\t\tvm.makeJobMarker = function (position, icon, map) {\r\n\t\t\tvar marker = new google.maps.Marker({\r\n\t\t\t\tposition: position,\r\n\t\t\t\tmap: map,\r\n\t\t\t\ticon: icon\r\n\t\t\t});\r\n\t\t\t//Adding InfoWindow to the Marker.\r\n\t\t\t(function (marker, customerJobCard) {\r\n\t\t\t\tgoogle.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n\t\t\t\t\t$scope.InfoWindow.setContent(\"

\" + vm.customerJobCard.ConsumerName + \"

\" + ' ' + vm.customerJobCard.JobId + \"
\" + ' ' + moment(vm.customerJobCard.JobDateTime).format(\"YYYY-MM-DD HH:mm\") + \"
\" + ' ' + vm.customerJobCard.ConsumerContact);\r\n\t\t\t\t\t$scope.InfoWindow.open($scope.Map, marker);\r\n\t\t\t\t});\r\n\t\t\t\tgoogle.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n\t\t\t\t\t$scope.InfoWindow.close(vm.Map, marker);\r\n\t\t\t\t});\r\n\t\t\t})(marker, vm.customerJobCard);\r\n\r\n\t\t\t//Plotting the Marker on the Map.\r\n\t\t\t$scope.Latlngbounds.extend(marker.position);\r\n\t\t}\r\n\r\n\r\n\r\n\t\tfunction initMap() {\r\n\t\t\tvar pointA = new google.maps.LatLng(vm.JobLatitude, vm.JobLongitude),\r\n\t\t\t\tpointB = new google.maps.LatLng(vm.FELatitude, vm.FELongitude),\r\n\t\t\t\t// center = new google.maps.LatLng(51.3, 0.8),\r\n\t\t\t\tmyOptions = {\r\n\t\t\t\t\tzoom: 8,\r\n\t\t\t\t\tzoomControl: false,\r\n\t\t\t\t\tscaleControl: true,\r\n\t\t\t\t\tmapTypeControl: false,\r\n\t\t\t\t\tstreetViewControl: false,\r\n\t\t\t\t\tgestureHandling: 'greedy',\r\n\t\t\t\t\t// center: center,\r\n\t\t\t\t\tmapTypeId: google.maps.MapTypeId.ROADMAP\r\n\t\t\t\t},\r\n\r\n\t\t\t\tmap = new google.maps.Map(document.getElementById('map-canvas'), myOptions),\r\n\t\t\t\t// Instantiate a directions service.\r\n\t\t\t\tdirectionsService = new google.maps.DirectionsService,\r\n\t\t\t\tdirectionsDisplay = new google.maps.DirectionsRenderer({\r\n\t\t\t\t\tmap: map\r\n\t\t\t\t}),\r\n\t\t\t\tduration = document.getElementById('duration');\r\n\t\t\tdistance = document.getElementById('distance');\r\n\t\t\tflightPath = new google.maps.Polyline({\r\n\t\t\t\tpath: [pointA, pointB],\r\n\t\t\t\t// geodesic: true,\r\n\t\t\t\tstrokeColor: 'red',\r\n\t\t\t});\r\n\t\t\t$scope.InfoWindow = new google.maps.InfoWindow();\r\n\t\t\t$scope.Latlngbounds = new google.maps.LatLngBounds();\r\n\t\t\t// click on marker B to get route from A to B\r\n\t\t\tcalculateAndDisplayRoute(directionsService, directionsDisplay, pointA, pointB, distance, duration, map);\r\n\t\t\tvar travelMode = \"DRIVING\";\r\n\t\t\tvar icon = \"https://img.icons8.com/color/96/000000/street-view.png\";\r\n\t\t}\r\n\r\n\r\n\t\tfunction calculateAndDisplayRoute(directionsService, directionsDisplay, pointA, pointB, distance, duration, map) {\r\n\t\t\tvar selectedMode = \"DRIVING\";\r\n\t\t\tdirectionsService.route({\r\n\t\t\t\torigin: pointA,\r\n\t\t\t\tdestination: pointB,\r\n\t\t\t\tunitSystem: google.maps.UnitSystem.METRIC,\r\n\t\t\t\ttravelMode: google.maps.TravelMode[selectedMode]\r\n\t\t\t}, function (response, status) {\r\n\t\t\t\tif (status == google.maps.DirectionsStatus.OK) {\r\n\t\t\t\t\tnew google.maps.DirectionsRenderer({\r\n\t\t\t\t\t\tmap: map,\r\n\t\t\t\t\t\tdirections: response,\r\n\t\t\t\t\t\tsuppressMarkers: true,\r\n\t\t\t\t\t\tpolylineOptions: {\r\n\t\t\t\t\t\t\tstrokeColor: \"#000000\"\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tvar leg = response.routes[0].legs[0];\r\n\t\t\t\t\t//outputTxt.innerHTML =(response.routes[0].legs[0].distance.value/1000) + \" Kms\";\r\n\t\t\t\t\tdistance.innerHTML = response.routes[0].legs[0].distance.text;\r\n\t\t\t\t\tduration.innerHTML = response.routes[0].legs[0].duration.text;\r\n\t\t\t\t\tvm.distance = response.routes[0].legs[0].distance.value / 1000;\r\n\t\t\t\t\tvm.makeJobMarker(leg.start_location, icons.start, map);\r\n\t\t\t\t\tvm.makeUserMarker(leg.end_location, icons.end, map);\r\n\t\t\t\t} else {\r\n\t\t\t\t\twindow.alert('Directions request failed due to ' + status);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvar icons = {\r\n\t\t\tstart: new google.maps.MarkerImage(\r\n\t\t\t\t// URL\r\n\t\t\t\tUIURL + '/assets/images/patterns/JOb_icon.png',\r\n\t\t\t\t// (width,height)\r\n\t\t\t\tnew google.maps.Size(44, 32),\r\n\t\t\t\t// The origin point (x,y)\r\n\t\t\t\tnew google.maps.Point(0, 0),\r\n\t\t\t\t// The anchor point (x,y)\r\n\t\t\t\tnew google.maps.Point(22, 32)),\r\n\t\t\tend: new google.maps.MarkerImage(\r\n\t\t\t\t// URL\r\n\t\t\t\tUIURL + '/assets/images/patterns/delivery-man1.png',\r\n\t\t\t\t// (width,height)\r\n\t\t\t\tnew google.maps.Size(44, 32),\r\n\t\t\t\t// The origin point (x,y)\r\n\t\t\t\tnew google.maps.Point(0, 0),\r\n\t\t\t\t// The anchor point (x,y)\r\n\t\t\t\tnew google.maps.Point(22, 32))\r\n\t\t};\r\n\r\n\r\n\t\tdisplayJobOnMap = function () {\r\n\t\t\tsetTimeout(function () {\r\n\t\t\t\tShowJobOnMap();\r\n\t\t\t}, 500);\r\n\t\t};\r\n\r\n\r\n\t\tfunction ShowJobOnMap() {\r\n\t\t\tvar pointA = new google.maps.LatLng(vm.TicketInfo.Latitude, vm.TicketInfo.Longitude);\r\n\t\t\t//var myLatlng = new google.maps.LatLng(-25.363882,131.044922);\r\n\t\t\tvar mapOptions = {\r\n\t\t\t\tzoom: 15,\r\n\t\t\t\tscaleControl: true,\r\n\t\t\t\tgestureHandling: 'greedy',\r\n\t\t\t\tmapTypeId: google.maps.MapTypeId.ROADMAP,\r\n\t\t\t\tcenter: pointA\r\n\t\t\t}\r\n\t\t\tvar map = new google.maps.Map(document.getElementById(\"map-canvas\"), mapOptions);\r\n\r\n\t\t\tvar marker = new google.maps.Marker({\r\n\t\t\t\tposition: pointA,\r\n\t\t\t\ticon: icons.start\r\n\t\t\t});\r\n\r\n\t\t\t$scope.InfoWindow = new google.maps.InfoWindow();\r\n\t\t\t$scope.Latlngbounds = new google.maps.LatLngBounds();\r\n\r\n\t\t\tvar ticketinformation = vm.TicketInfo;\r\n\r\n\t\t\t//Adding InfoWindow to the Marker.\r\n\t\t\t(function (marker, ticketinformation) {\r\n\t\t\t\tgoogle.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n\t\t\t\t\t$scope.InfoWindow.setContent(\"

\" + vm.TicketInfo.ConsumerName + \"

\" + ' ' + vm.TicketInfo.ConsumerContact);\r\n\t\t\t\t\t$scope.InfoWindow.open(map, marker);\r\n\t\t\t\t});\r\n\t\t\t\tgoogle.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n\t\t\t\t\t$scope.InfoWindow.close(map, marker);\r\n\t\t\t\t});\r\n\t\t\t})(marker, ticketinformation);\r\n\r\n\t\t\t// To add the marker to the map, call setMap();\r\n\t\t\tmarker.setMap(map);\r\n\r\n\t\t}\r\n\r\n\r\n\t\t// Start chat section and developed by Satya\r\n\r\n\t\tvm.getPicUrl = function (pic) {\r\n\t\t\treturn ImageUrl + \"/\" + pic;\r\n\t\t}\r\n\t\tvar pageloadselecteduserid = \"\";\r\n\t\tvar pageloadselectedusername = \"\";\r\n\t\tvm.getTicketUserList = function (loggedinUser, ticketId, token) {\r\n\t\t\tjobDetailsService.GetUsersByTicketId(loggedinUser, ticketId, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\tvm.UserListByTicketId = resp.data;\r\n\t\t\t\t\tif (resp.data.length > 0) {\r\n\t\t\t\t\t\t//chatfooterrow.visible=true;\r\n\t\t\t\t\t\tpageloadselecteduserid = resp.data[0].UserId;\r\n\t\t\t\t\t\tpageloadselectedusername = resp.data[0].FirstName + \" \" + resp.data[0].LastName;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t\tvm.getTicketUserList(loggedinUser, uTicketId, token);\r\n\t\tvm.PressEnter = function (event, chatReceiverId, messageText) {\r\n\t\t\tif (event.keyCode == '13') {\r\n\t\t\t\tvm.sendMessage(chatReceiverId, messageText);\r\n\t\t\t}\r\n\t\t}\r\n\t\tvm.LoadMessageToReadMessageStatus = function (TicketIdtoRead) {\r\n\t\t\tif (!TicketIdtoRead) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tvar query = firebase.firestore().collection('chats')\r\n\t\t\t\t.where(\"ReceiverId\", \"==\", loggedinUser);\r\n\t\t\tvar query1 = query.where(\"TicketId\", \"==\", TicketIdtoRead);\r\n\t\t\tquery1.get().then(function (querySnapshot) {\r\n\t\t\t\tif (querySnapshot.docs.length > 0) {\r\n\t\t\t\t\tquerySnapshot.forEach(function (doc) {\r\n\t\t\t\t\t\tvar message = doc.data();\r\n\t\t\t\t\t\tvar NotifyLength = message.Notify.length;\r\n\t\t\t\t\t\tvar MessageStatusLength = message.MessageStatus.length;\r\n\t\t\t\t\t\tvar messageLength = message.messages.length;\r\n\t\t\t\t\t\tvar TotalNewMessageNotify = messageLength - NotifyLength;\r\n\t\t\t\t\t\tvar TotalNewMessageStatus = messageLength - MessageStatusLength;\r\n\t\t\t\t\t\tvar docRef = firebase.firestore().collection('chats').doc(doc.id);\r\n\t\t\t\t\t\tvar newMessageStatusLength = 0;\r\n\t\t\t\t\t\tvar newNotifyLength = 0;\r\n\t\t\t\t\t\tfor (var i = 0; i < TotalNewMessageStatus; i++) {\r\n\t\t\t\t\t\t\tif (newMessageStatusLength == 0)\r\n\t\t\t\t\t\t\t\tnewMessageStatusLength = MessageStatusLength + 1;\r\n\t\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t\tnewMessageStatusLength = newMessageStatusLength + 1;\r\n\r\n\t\t\t\t\t\t\tdocRef.update({ MessageStatus: firebase.firestore.FieldValue.arrayUnion(newMessageStatusLength) });\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tfor (var i = 0; i < TotalNewMessageNotify; i++) {\r\n\t\t\t\t\t\t\tif (newNotifyLength == 0)\r\n\t\t\t\t\t\t\t\tnewNotifyLength = NotifyLength + 1;\r\n\t\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t\tnewNotifyLength = newNotifyLength + 1;\r\n\r\n\t\t\t\t\t\t\tdocRef.update({ Notify: firebase.firestore.FieldValue.arrayUnion(newNotifyLength) });\r\n\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tvar activeonchat = false;\r\n\t\tvm.getChatOnPageLoad = function () {\r\n\t\t\tactiveonchat = true;\r\n\t\t\tvm.getUserChat(pageloadselecteduserid, pageloadselectedusername, 0);\r\n\t\t}\r\n\r\n\t\tvm.getUserDetailstochat = function (ChatUserId) {\r\n\t\t\tvar username = \"\";\r\n\t\t\tvar upicture = \"\";\r\n\t\t\tfor (var i = 0; i < vm.UserListByTicketId.length; i++) {\r\n\t\t\t\tif (vm.UserListByTicketId[i].UserId == ChatUserId) {\r\n\t\t\t\t\tusername = vm.UserListByTicketId[i].FirstName + \" \" + vm.UserListByTicketId[i].LastName;\r\n\t\t\t\t\tupicture = vm.UserListByTicketId[i].Picture == '' || vm.UserListByTicketId[i].Picture == null ? 'assets/images/patterns/photo2.jpg' : vm.getPicUrl(vm.UserListByTicketId[i].Picture);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn {\r\n\t\t\t\tUserName: username,\r\n\t\t\t\tuPicture: upicture\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t\tvm.PreviousIndex = 0;\r\n\t\tvar currentelementId = \"\";\r\n\t\tvar previouselementId = \"\";\r\n\t\tvm.chatReceiverId = \"\";\r\n\t\tvm.getUserChat = function (chatUserId, chatUserName, index) {\r\n\t\t\tvm.chatDisplayUserName = chatUserName;\r\n\t\t\tvm.chatReceiverId = chatUserId;\r\n\t\t\tvar ChatTicketId = \"\";\r\n\t\t\tif (loggedinUser < chatUserId)\r\n\t\t\t\tChatTicketId = uTicketId + \"_\" + loggedinUser + \"_\" + chatUserId;\r\n\t\t\telse\r\n\t\t\t\tChatTicketId = uTicketId + \"_\" + chatUserId + \"_\" + loggedinUser;\r\n\r\n\t\t\tvm.loadMessages(ChatTicketId);\r\n\r\n\t\t\tvm.LoadMessageToReadMessageStatus(ChatTicketId);\r\n\r\n\t\t\tif (vm.PreviousIndex == 0) {\r\n\t\t\t\tpreviouselementId = '#DivChatUserList' + vm.PreviousIndex;\r\n\t\t\t\t$(previouselementId).removeClass('chatuseractive');\r\n\t\t\t\tvm.PreviousIndex = index;\r\n\t\t\t\tcurrentelementId = '#DivChatUserList' + index;\r\n\t\t\t\t$(currentelementId).addClass('chatuseractive');\r\n\t\t\t}\r\n\t\t\telse if (vm.PreviousIndex != index) {\r\n\t\t\t\tcurrentelementId = '#DivChatUserList' + index;\r\n\t\t\t\tpreviouselementId = '#DivChatUserList' + vm.PreviousIndex;\r\n\t\t\t\t$(previouselementId).removeClass('chatuseractive');\r\n\t\t\t\t$(currentelementId).addClass('chatuseractive');\r\n\t\t\t\tvm.PreviousIndex = index;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tvm.createMessages = function (ticketId, subMessagedata, chatreceiverid) {\r\n\t\t\tvar data = {\r\n\t\t\t\tTicketId: ticketId,\r\n\t\t\t\tNotify: [],\r\n\t\t\t\tMessageStatus: [],\r\n\t\t\t\tReceiverId: chatreceiverid,\r\n\t\t\t\tCreateDate: firebase.firestore.FieldValue.serverTimestamp(),\r\n\t\t\t\tmessages: [subMessagedata]\r\n\t\t\t};\r\n\t\t\tvar docRef = firebase.firestore().collection('chats').add(data);\r\n\t\t}\r\n\r\n\t\tvm.sendMessage = function (chatreceiverid, content) {\r\n\t\t\tif (!content) {\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Please enter message to chat.\");\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvar ChatTicketId = \"\";\r\n\t\t\t\tif (loggedinUser < chatreceiverid)\r\n\t\t\t\t\tChatTicketId = uTicketId + \"_\" + loggedinUser + \"_\" + chatreceiverid;\r\n\t\t\t\telse\r\n\t\t\t\t\tChatTicketId = uTicketId + \"_\" + chatreceiverid + \"_\" + loggedinUser;\r\n\r\n\t\t\t\t//var status = 'New';\r\n\t\t\t\tvar url = '';\r\n\t\t\t\tvar messagetype = 'Text';\r\n\r\n\t\t\t\tvar subMessagedata = {\r\n\t\t\t\t\tSenderId: loggedinUser,\r\n\t\t\t\t\tReceiverId: chatreceiverid,\r\n\t\t\t\t\tUrl: url,\r\n\t\t\t\t\tMessageType: messagetype,\r\n\t\t\t\t\tTimestamp: new Date(),\r\n\t\t\t\t\tContent: content\r\n\t\t\t\t};\r\n\r\n\t\t\t\tvar query = firebase.firestore().collection(\"chats\")\r\n\t\t\t\t\t.where(\"TicketId\", \"==\", ChatTicketId);\r\n\r\n\t\t\t\tquery.get().then(function (querySnapshot) {\r\n\t\t\t\t\tif (querySnapshot.docs.length > 0) {\r\n\t\t\t\t\t\tquerySnapshot.forEach(function (doc) {\r\n\r\n\t\t\t\t\t\t\tif (doc.data().TicketId == ChatTicketId) {\r\n\t\t\t\t\t\t\t\tvar docRef = firebase.firestore().collection('chats').doc(doc.id);\r\n\t\t\t\t\t\t\t\tdocRef.update({ ReceiverId: chatreceiverid });\r\n\t\t\t\t\t\t\t\tdocRef.update({ messages: firebase.firestore.FieldValue.arrayUnion(subMessagedata) });\r\n\t\t\t\t\t\t\t\t//vm.LoadMessageToReadMessageStatus(ChatTicketId);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\tvm.createMessages(ChatTicketId, subMessagedata, chatreceiverid);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.createMessages(ChatTicketId, subMessagedata, chatreceiverid);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tcontent = \"\";\r\n\t\t\tvm.messageText = \"\";\r\n\t\t}\r\n\r\n\t\t// Loads chat messages history and listens for upcoming ones.\r\n\t\tvm.loadMessages = function (chatticketid) {\r\n\t\t\tvar query = firebase.firestore()\r\n\t\t\t\t.collection('chats')\r\n\t\t\t\t.where(\"TicketId\", \"==\", chatticketid)\r\n\t\t\t\t.limit(1);\r\n\t\t\t// Start listening to the query.\r\n\t\t\tvar unsubscribe = query.onSnapshot(function (snapshot) {\r\n\t\t\t\tvar allMessage = \"\";\r\n\t\t\t\tsnapshot.docChanges().forEach(function (change) {\r\n\r\n\t\t\t\t\tif (change.type === 'removed') {\r\n\t\t\t\t\t\t// deleteMessage(change.doc.id);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvar message = change.doc.data();\r\n\r\n\t\t\t\t\t\tallMessage = \"
\";\r\n\t\t\t\t\t\tfor (var i = 0; i < message.messages.length; i++) {\r\n\t\t\t\t\t\t\tif (message.messages.length > 0) {\r\n\t\t\t\t\t\t\t\tvar uPicture = loggedinUserImage == '' || loggedinUserImage == null ? 'assets/images/patterns/photo2.jpg' : vm.getPicUrl(loggedinUserImage);\r\n\t\t\t\t\t\t\t\tif (message.messages[i].SenderId == loggedinUser) {\r\n\t\t\t\t\t\t\t\t\tvar Rightcontent = \"\";\r\n\t\t\t\t\t\t\t\t\tif (message.messages[i].MessageType == \"Text\")\r\n\t\t\t\t\t\t\t\t\t\tRightcontent = \"\" + message.messages[i].Content + \"\"\r\n\r\n\t\t\t\t\t\t\t\t\tvar RightuploadImage = \"\";\r\n\t\t\t\t\t\t\t\t\tif (message.messages[i].MessageType == \"Image\") {\r\n\t\t\t\t\t\t\t\t\t\tRightuploadImage += \"\"\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tvar Rightuploadpdf = \"\";\r\n\t\t\t\t\t\t\t\t\tif (message.messages[i].MessageType == \"PDF\")\r\n\t\t\t\t\t\t\t\t\t\tRightuploadpdf = \"\"\r\n\t\t\t\t\t\t\t\t\tvar Rightuploadvideo = \"\";\r\n\t\t\t\t\t\t\t\t\tif (message.messages[i].MessageType == \"Video\")\r\n\t\t\t\t\t\t\t\t\t\tRightuploadvideo = \"
\"\r\n\r\n\t\t\t\t\t\t\t\t\tallMessage += \"
\"\r\n\t\t\t\t\t\t\t\t\t\t+ \"\"\r\n\t\t\t\t\t\t\t\t\t\t+ \"
\"\r\n\t\t\t\t\t\t\t\t\t\t+ \" \" + loggedinUserName + \" \"\r\n\t\t\t\t\t\t\t\t\t\t+ \" \" + moment.unix(message.messages[i].Timestamp.seconds).format(\"ddd MMM DD YYYY - h:mm:ss\") + \"\"\r\n\t\t\t\t\t\t\t\t\t\t+ Rightcontent\r\n\t\t\t\t\t\t\t\t\t\t+ RightuploadImage\r\n\t\t\t\t\t\t\t\t\t\t+ Rightuploadpdf\r\n\t\t\t\t\t\t\t\t\t\t+ Rightuploadvideo\r\n\t\t\t\t\t\t\t\t\t\t+ \"
\"\r\n\t\t\t\t\t\t\t\t\t\t+ \"
\"\r\n\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse if (message.messages[i].ReceiverId == loggedinUser) {\r\n\t\t\t\t\t\t\t\t\tvar Leftcontent = \"\";\r\n\t\t\t\t\t\t\t\t\tif (message.messages[i].MessageType == \"Text\")\r\n\t\t\t\t\t\t\t\t\t\tLeftcontent = \"\" + message.messages[i].Content + \"\"\r\n\r\n\t\t\t\t\t\t\t\t\tvar LeftuploadImage = \"\";\r\n\t\t\t\t\t\t\t\t\tif (message.messages[i].MessageType == \"Image\") {\r\n\t\t\t\t\t\t\t\t\t\tLeftuploadImage += \"\"\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tvar Leftuploadpdf = \"\";\r\n\t\t\t\t\t\t\t\t\tif (message.messages[i].MessageType == \"PDF\")\r\n\t\t\t\t\t\t\t\t\t\tLeftuploadpdf = \"\"\r\n\t\t\t\t\t\t\t\t\tvar Leftuploadvideo = \"\";\r\n\t\t\t\t\t\t\t\t\tif (message.messages[i].MessageType == \"Video\")\r\n\t\t\t\t\t\t\t\t\t\tLeftuploadvideo = \"
\"\r\n\r\n\t\t\t\t\t\t\t\t\tallMessage += \"
\"\r\n\t\t\t\t\t\t\t\t\t\t+ \"\"\r\n\t\t\t\t\t\t\t\t\t\t+ \"
\"\r\n\t\t\t\t\t\t\t\t\t\t+ \" \" + vm.getUserDetailstochat(message.messages[i].SenderId).UserName + \"\"\r\n\t\t\t\t\t\t\t\t\t\t+ \" \" + moment.unix(message.messages[i].Timestamp.seconds).format(\"ddd MMM DD YYYY - h:mm:ss\") + \"\"\r\n\t\t\t\t\t\t\t\t\t\t+ Leftcontent\r\n\t\t\t\t\t\t\t\t\t\t+ LeftuploadImage\r\n\t\t\t\t\t\t\t\t\t\t+ Leftuploadpdf\r\n\t\t\t\t\t\t\t\t\t\t+ Leftuploadvideo\r\n\t\t\t\t\t\t\t\t\t\t+ \"
\"\r\n\t\t\t\t\t\t\t\t\t\t+ \"
\"\r\n\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tallMessage += \"
\";\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\t$('#chatMessageBox').html(allMessage);\r\n\t\t\t\tallMessage = \"\";\r\n\t\t\t\tvar objDiv = document.getElementById(\"scrolldiv\");\r\n\t\t\t\tobjDiv.scrollTop = objDiv.scrollHeight;\r\n\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.saveImageMessage = function (file, chatreceiverid) {\r\n\t\t\t// TODO 9: Posts a new image as a message.\r\n\t\t\t// 1 - We add a message with a loading icon that will get updated with the shared image.\r\n\t\t\tvar ChatTicketId = \"\";\r\n\t\t\tif (loggedinUser < chatreceiverid)\r\n\t\t\t\tChatTicketId = uTicketId + \"_\" + loggedinUser + \"_\" + chatreceiverid;\r\n\t\t\telse\r\n\t\t\t\tChatTicketId = uTicketId + \"_\" + chatreceiverid + \"_\" + loggedinUser;\r\n\r\n\t\t\tvar query = firebase.firestore().collection(\"chats\")\r\n\t\t\t\t.where(\"TicketId\", \"==\", ChatTicketId)\r\n\r\n\t\t\tquery.get().then(function (querySnapshot) {\r\n\t\t\t\tif (querySnapshot.docs.length > 0) {\r\n\t\t\t\t\tquerySnapshot.forEach(function (doc) {\r\n\t\t\t\t\t\tif (doc.data().TicketId == ChatTicketId) {\r\n\t\t\t\t\t\t\t//var status = 'New';\r\n\t\t\t\t\t\t\tvar url = '';\r\n\t\t\t\t\t\t\tvar messagetype = '';\r\n\t\t\t\t\t\t\tif (file.type == \"application/pdf\")\r\n\t\t\t\t\t\t\t\tmessagetype = 'PDF';\r\n\t\t\t\t\t\t\telse if (file.type == \"image/jpg\" || file.type == \"image/png\" || file.type == \"image/jpeg\" || file.type == \"image/bmp\")\r\n\t\t\t\t\t\t\t\tmessagetype = 'Image';\r\n\t\t\t\t\t\t\telse if (file.type == \"video/mp4\")\r\n\t\t\t\t\t\t\t\tmessagetype = 'Video';\r\n\r\n\t\t\t\t\t\t\tvar filePath = loggedinUser + '/' + doc.id + '/' + file.name;\r\n\t\t\t\t\t\t\treturn firebase.storage().ref(filePath).put(file).then(function (fileSnapshot) {\r\n\t\t\t\t\t\t\t\t// 3 - Generate a public URL for the file.\r\n\t\t\t\t\t\t\t\treturn fileSnapshot.ref.getDownloadURL().then(function (url) {\r\n\t\t\t\t\t\t\t\t\t// 4 - Update the chat message placeholder with the image's URL.\r\n\t\t\t\t\t\t\t\t\tvar subMessagedata = {\r\n\t\t\t\t\t\t\t\t\t\tSenderId: loggedinUser,\r\n\t\t\t\t\t\t\t\t\t\tReceiverId: chatreceiverid,\r\n\t\t\t\t\t\t\t\t\t\tUrl: url,\r\n\t\t\t\t\t\t\t\t\t\tMessageType: messagetype,\r\n\t\t\t\t\t\t\t\t\t\tTimestamp: new Date(),\r\n\t\t\t\t\t\t\t\t\t\tContent: '',\r\n\t\t\t\t\t\t\t\t\t\tstorageUri: fileSnapshot.metadata.fullPath\r\n\t\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\t\tvar docRef = firebase.firestore().collection('chats').doc(doc.id);\r\n\t\t\t\t\t\t\t\t\tdocRef.update({ ReceiverId: chatreceiverid });\r\n\t\t\t\t\t\t\t\t\treturn docRef.update({ messages: firebase.firestore.FieldValue.arrayUnion(subMessagedata) });\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.changeChatFile = function (selector) {\r\n\t\t\tangular.element(selector).trigger(\"click\");\r\n\t\t}\r\n\t\t$scope.uploadChatImageFile = function (files) {\r\n\t\t\tvar file = files.files[0];\r\n\t\t\tif (file.type.indexOf(\"image/jpg\") >= 0 || file.type.indexOf(\"image/png\") >= 0 || file.type.indexOf(\"image/bmp\") >= 0 || file.type.indexOf(\"image/jpeg\") >= 0 || file.type.indexOf(\"application/pdf\") >= 0) {\r\n\t\t\t\tif (file.size > 2097152) {\r\n\t\t\t\t\talert(\"File size must under 2 MB\");\r\n\t\t\t\t\treturn;\r\n\t\t\t\t} else vm.saveImageMessage(file, vm.chatReceiverId);\r\n\t\t\t}\r\n\t\t\telse if (file.type.indexOf(\"video/mp4\") >= 0) {\r\n\t\t\t\tvm.saveImageMessage(file, vm.chatReceiverId);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t\r\n\t\t\t\talert(\"Please upload image, pdf and mp4 video only\");\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\t// End chat section\r\n\r\n\r\n\t\tvar scdt = new Date();\r\n\t\tscdt.setMinutes(scdt.getMinutes() + 30);\r\n\t\tvm.SourceCreationDate = scdt;\r\n\t\tvar pcdt = new Date();\r\n\t\tpcdt.setDate(pcdt.getDate() + 7);\r\n\t\tvm.PlannedClosureDate = pcdt;\r\n\r\n\t\tvm.openCalendar = function (e, picker) {\r\n\t\t\tvm.AppointmentsDate.open = true;\r\n\t\t\tvm.ClosureDateTime.open = true;\r\n\t\t};\r\n\r\n\t\tvar Closuredatelimit = new Date();\r\n\t\t// Closuredatelimit.setMinutes(Closuredatelimit.getMinutes() + 1)\r\n\t\tvm.ClosureDateTime = { date: '', datepickerOptions: { minDate: Closuredatelimit } };\r\n\r\n\t\tvar datelimit = new Date();\r\n\r\n\t\tdatelimit.setMinutes(datelimit.getMinutes() + 1)\r\n\t\tvm.AppointmentsDate = { date: '', datepickerOptions: { minDate: datelimit } };\r\n\r\n\r\n\t\tvm.openCalendarEndDate = function (e, picker) {\r\n\t\t\tvm.AppointmentsEndDate.open = true;\r\n\t\t};\r\n\r\n\t\tvar EndDatelimit = new Date();\r\n\t\tEndDatelimit.setMinutes(EndDatelimit.getMinutes() + 1)\r\n\t\tvm.AppointmentsEndDate = { date: '', datepickerOptions: { minDate: EndDatelimit } };\r\n\r\n\t\tvm.ViewProfile = function (UserId,UserType) {\r\n \r\n\t\t\tJobTicketViewService.getUserProfileData(loggedinUser,UserId, token).then(function(res){\r\n\t\t\t vm.UserProfileData = res.data;\r\n\t\t\t vm.customerrating = Number(vm.UserProfileData.CustomerRating).toFixed(1);\r\n\t\t\t if(vm.UserProfileData){\r\n\t\t\t\tvm.AddPreferredVendorModal = $uibModal.open({\r\n\t\t\t\t templateUrl: 'UserProfile.html',\r\n\t\t\t\t windowClass:'schedulerModal',\r\n\t\t\t\t scope: $scope,\r\n\t\t\t\t reload:true\r\n\t\t\t\t });\r\n\t\t\t }else{\r\n\t\t\t\tvm.showFailure('Failed','User Not found');\r\n\t\t\t }\r\n\t\t\t});\r\n\t\t\t \r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tvm.UserProfileClose = function(){\r\n\t\t\t\tvm.AddPreferredVendorModal.close();\r\n\t\t\t }\r\n\t\t\t \r\n\t\t\t vm.GetServiceTax = function(data)\r\n\t\t\t {\t\t\t\t \r\n\t\t\t\t vm.GSTPercentange =data;\r\n\t\t\t }\r\n\t\t\t vm.GetMobCommission = function(data)\r\n\t\t\t { \r\n\t\t\t\tvm.MobiforceCommission =data;\r\n\t\t\t }\r\n\t\t\t jobDetailsService.GetServiceTax(loggedinUser, token, vm.GetServiceTax);\r\n\t\t\t jobDetailsService.GetMobCommission(loggedinUser, token, vm.GetMobCommission);\r\n\t\t\t vm.calculatePrice = function () {\t\r\n\r\n\t\t\t\tif(vm.serviceType == 'Free'){\r\n\t\t\t\r\n\t\t\t\t\tif(vm.TicketInfoEdit.BroadcastRate > 0){\t\t\r\n\t\t\t\t // vm.TicketInfo.FreelancerRate = 0; \r\n\t\t\t\t \r\n\t\t\t\t\tvm.commission = vm.TicketInfoEdit.BroadcastRate * (vm.MobiforceCommission) / 100;\r\n\t\t\t\t\tvm.freelancerPricetemp = vm.TicketInfoEdit.BroadcastRate - vm.commission;\r\n\t\t\t\t\tvm.tPrice = vm.TicketInfoEdit.BroadcastRate;\r\n\t\t\t\t\tvm.tax = (Number(vm.tPrice) * Number(vm.GSTPercentange) / 100).toFixed(2);\r\n\t\t\t\t\tvm.TicketInfo.FreelancerRate = vm.freelancerPricetemp;\r\n\t\t\t\t }\r\n\t\t\t\t else{\r\n\t\t\t\t\tvm.tPrice = \"\";\r\n\t\t\t\t\t vm.commission = \"\";\r\n\t\t\t\t\t vm.tax = \"\";\r\n\t\t\t\t\t vm.freelancerPricetemp = '';\r\n\t\t\t\t\t vm.TicketInfo.FreelancerRate = \"\";\r\n\t\t\t\t}\r\n\t\t\t }else if(vm.serviceType =='Paid'){\r\n\t\t\t\r\n\t\t\t\tif(vm.TicketInfoEdit.BroadcastRate > 0){\t\t\r\n\t\t\t\t // vm.freelancerPrice = 0; \r\n\t\t\t\t\tvm.commission = vm.TicketInfoEdit.BroadcastRate * (vm.MobiforceCommission) / 100;\r\n\t\t\t\t\tvm.freelancerPricetemp = vm.TicketInfoEdit.BroadcastRate - vm.commission;\r\n\t\t\t\t\tvm.tax = (Number(vm.TicketInfoEdit.BroadcastRate) * Number(vm.GSTPercentange) / 100).toFixed(2);\r\n\t\t\t\t\tvm.tPrice = (Number(vm.TicketInfoEdit.BroadcastRate) + Number(vm.tax));\r\n\t\t\t\t\tvm.TicketInfo.FreelancerRate = vm.freelancerPricetemp;\r\n\t\t\t\t }else{\r\n\t\t\t\t\t\tvm.tPrice = \"\";\r\n\t\t\t\t\t\t vm.commission = \"\";\r\n\t\t\t\t\t\t vm.tax = \"\";\r\n\t\t\t\t\t\t vm.freelancerPricetemp = '';\r\n\t\t\t\t\t\t vm.TicketInfo.FreelancerRate = \"\";\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\r\n\t\t\t }\r\n\t\t\t vm.ConverttoDecimal = function(value) {\r\n \t\t\t\t\treturn (parseFloat(value).toFixed(2))\r\n\t\t\t }\r\n\r\n\t\t\t vm.calculateFreelancerPrice = function () {\t\r\n\t\t\t\tif(vm.serviceType =='Free'){\r\n\t\t\t\t\tif(vm.TicketInfo.FreelancerRate > 0){\t\t\r\n\t\t\t\t vm.TicketInfoEdit.BroadcastRate = 0; \r\n\t\t\t\t vm.freelancerPricetemp = vm.TicketInfo.FreelancerRate;\r\n\t\t\t\t vm.commission = (vm.TicketInfo.FreelancerRate * vm.MobiforceCommission)/(100-20) ;\r\n\t\t\t\t vm.tPrice = Number(vm.TicketInfo.FreelancerRate) + Number(vm.commission);\r\n\t\t\t\t vm.tax = vm.tPrice * (vm.GSTPercentange) / 100;\r\n\t\t\t\t \r\n\t\t\t\t vm.TicketInfoEdit.BroadcastRate = vm.tPrice;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvm.tPrice = \"\";\r\n\t\t\t\t\t\tvm.freelancerPricetemp = \"\";\r\n\t\t\t\t vm.commission = \"\";\r\n\t\t\t\t vm.tax = \"\";\r\n\t\t\t\t vm.TicketInfoEdit.BroadcastRate = '';\r\n\t\t\t\t\t}\r\n\t\t\t\r\n\t\t\t\t}else if(vm.serviceType=='Paid'){\r\n\t\t\t\r\n\t\t\t\tif(vm.TicketInfo.FreelancerRate > 0){\t\t\r\n\t\t\t\t vm.TicketInfoEdit.BroadcastRate = 0; \r\n\t\t\t\t vm.freelancerPricetemp = vm.TicketInfo.FreelancerRate;\r\n\t\t\t\t vm.commission = (vm.TicketInfo.FreelancerRate * vm.MobiforceCommission)/(100-vm.MobiforceCommission) ;\r\n\t\t\t\t vm.tax = ((Number(vm.TicketInfo.FreelancerRate) + Number(vm.commission)) * Number(vm.GSTPercentange) / 100).toFixed(2);\r\n\t\t\t\t vm.tPrice = Number(Number(vm.TicketInfo.FreelancerRate) + Number(vm.commission)) + Number(vm.tax);\r\n\t\t\t \r\n\t\t\t\t vm.TicketInfoEdit.BroadcastRate = Number(Number(vm.TicketInfo.FreelancerRate) + Number(vm.commission));\r\n\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvm.tPrice = \"\";\r\n\t\t\t\t\t\tvm.freelancerPricetemp = \"\";\r\n\t\t\t\t vm.commission = \"\";\r\n\t\t\t\t vm.tax = \"\";\r\n\t\t\t\t vm.TicketInfoEdit.BroadcastRate = '';\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t }\r\n\t\t\t }\r\n\t\t\t vm.OnLoadLineItemDetails = function(LineItemTicketId){\r\n\t\t\t\t \r\n\t\t\t\tvm.showTotal = true;\r\n\t\t\t\t\r\n\t\t\t\tjobDetailsService.OnLoadLineItemDetails(loggedinUser, LineItemTicketId, token).then(function(resp){\r\n\t\t\t\t if (resp.status==200) {\r\n\t\t\t\t vm.LineItemList = resp.data.LineItemList;\r\n\t\t\t\t for (var i = 0; i < vm.LineItemList.length; i++) {\r\n\t\t\t\t\tvar tData = {\r\n\t\t\t\t\t\tLineItemDescription: vm.LineItemList[i].LineItemDescription,\r\n\t\t\t\t\t\tLineItemCategory: vm.LineItemList[i].LineItemCategory,\r\n\t\t\t\t\t\tLineItemPercentage : vm.LineItemList[i].LineItemPercentage,\r\n\t\t\t\t\t\tdLineItemWinPrice: vm.LineItemList[i].dLineItemWinPrice,\r\n\t\t\t\t\t\t// dFreelancerPrice: vm.LineItemList[i].dFreelancerPrice,\r\n\t\t\t\t\t\tLineItemQuantity: vm.LineItemList[i].LineItemQuantity,\r\n\t\t\t\t\t\tFreelancerPrice: vm.LineItemList[i].LineItemFreelancerPrice,\r\n\t\t\t\t\t\tRemarks: vm.LineItemList[i].LineItemRemark,\r\n\t\t\t\t\t\tLineItemCompanyProvided: vm.LineItemList[i].LineItemCompanyProvided,\r\n\t\t\t\t\t\tLineItemId: vm.LineItemList[i].LineItemId,\r\n\t\t\t\t\t\tLineItemCode: vm.LineItemList[i].LineItemCode,\t\t\t\r\n\t\t\t\t\t\tLineItemUnit: vm.LineItemList[i].LineItemUnit,\t\t\t\t\t\t\r\n\t\t\t\t\t\tLineItemAttachment: vm.LineItemList[i].LineItemAttachment,\r\n\t\t\t\t\t\tLineItemHSNCode: null,\r\n\t\t\t\t\t\tLineItemDisplayDescription: null,\r\n\t\t\t\t\t\tLineItemRemark: null,\r\n\t\t\t\t\t\tdLineItemFreelancerPrice: vm.LineItemList[i].dLineItemFreelancerPrice,\r\n\t\t\t\t\t\tLineItemRemark: vm.Remarks,\r\n\t\t\t\t\t\t// LineItemQuantity: \"1\",\r\n\t\t\t\t\t\tLineItemAction: null,\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t }\r\n\t\t\t\t\t vm.PriceLineItemList.push(tData);\r\n\t\t\t\t\t var _baseprice=0.0;\r\n\t\t\t\t\t var _dFprice=0.0;\r\n\t\t\t\t\t var _lineitemquantity = 0.0;\r\n\t\t\t\t\t var _lineitemfreelancerprice = 0.0;\r\n\t\t\t\t\t if(vm.LineItemList[i].dLineItemWinPrice==\"\" || vm.LineItemList[i].dLineItemWinPrice==null)\r\n\t\t\t\t\t\t\t_baseprice = 0.0;\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t_baseprice = vm.LineItemList[i].dLineItemWinPrice;\r\n\r\n\t\t\t\t\t\tif(vm.LineItemList[i].dLineItemFreelancerPrice==\"\" || vm.LineItemList[i].dLineItemFreelancerPrice==null)\r\n\t\t\t\t\t\t\t_dFprice = 0.0;\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t_dFprice = vm.LineItemList[i].dLineItemFreelancerPrice;\r\n\t\t\t\t\t\tif(vm.LineItemList[i].LineItemQuantity==\"\" || vm.LineItemList[i].LineItemQuantity==null)\r\n\t\t\t\t\t\t\t_lineitemquantity = 0.0;\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t_lineitemquantity = vm.LineItemList[i].LineItemQuantity;\r\n\t\t\t\t\t\tif(vm.LineItemList[i].LineItemFreelancerPrice==\"\" || vm.LineItemList[i].LineItemFreelancerPrice==null)\r\n\t\t\t\t\t\t\t_lineitemfreelancerprice = 0.0;\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t_lineitemfreelancerprice = vm.LineItemList[i].LineItemFreelancerPrice;\r\n\r\n\t\t\t\t\tif(vm.LineItemList[i].LineItemCategory !=\"Collection\" && vm.LineItemList[i].LineItemCategory !=\"Penalty\"){\r\n\r\n\t\t\t\t\t// if(vm.LineItemList[i].LineItemCategory !=\"General\"){\r\n\t\t\t\t\t vm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) + (parseFloat(_baseprice) * parseInt(_lineitemquantity))).toFixed(2);\r\n\t\t\t\t\t vm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) + (parseFloat(_dFprice) * parseInt(_lineitemquantity))).toFixed(2);\r\n\t\t\t\t\t// }\r\n\t\t\t\t\t// else{\r\n\t\t\t\t\t\tif(vm.LineItemList[i].LineItemCompanyProvided==\"No\")\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t_baseprice=0.0;\r\n\t\t\t\t\t\t\t_dFprice=0.0;\r\n\t\t\t\t\t\t\tvm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) + (parseFloat(_baseprice) * parseInt(_lineitemquantity))).toFixed(2);\r\n\t\t\t\t\t\t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) + (parseFloat(_dFprice) * parseInt(_lineitemquantity))).toFixed(2);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t// }\t\t\t \r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if(vm.LineItemList[i].LineItemCategory ==\"Penalty\") {\r\n\t\t\t\t\t\tvm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) + (parseFloat(_baseprice) * parseInt(_lineitemquantity))).toFixed(2);\r\n\t\t\t\t\t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) - (parseFloat(_dFprice) * parseInt(_lineitemquantity))).toFixed(2);\r\n\t\t\t\t\t \r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t }\r\n\t\t\t\t})\r\n\t\t\t }\r\n\t\t\t vm.OnLoadLineItemDetails(vm.TicketId);\r\n\t\t\t vm.GetAllJobLineItems = function(ticketId){\t\t\t\t \r\n\t\t\t\tjobDetailsService.GetJobLineItem(loggedinUser, ticketId, token).then(function(resp){\r\n\t\t\t\t if (resp.status==200) {\r\n\t\t\t\t vm.JobItemList = resp.data;\r\n\t\t\t\t }\r\n\t\t\t\t})\r\n\t\t\t }\r\n\t\t\t vm.ActivityDescription=[];\r\n\t\t\t \r\n\t\t\t vm.getLineItemAcitivityDesc = function(LineItemCategoryType){\r\n\t\t\t\tvm.LineItemDisc=\"\";\r\n\t\t\t\tvar LineItemAcitivityArray = [];\r\n\t\t\t\t for (var i = 0; i < vm.JobItemList.length; i++) {\r\n\t\t\t\t\t if (vm.JobItemList[i].LineItemCategory == LineItemCategoryType) {\r\n\t\t\t\t\t\tLineItemAcitivityArray.push(vm.JobItemList[i]);\r\n\t\t\t\t\t }\r\n\t\t\t\t }\r\n\t\t\t\t vm.LineitemActivityList=LineItemAcitivityArray;\r\n\t\t\t\tif(LineItemCategoryType==\"Service\"){\r\n\t\t\t\t\tvm.fileuploadShow=false;\t\r\n\t\t\t\t\t vm.qunatityEnable=false;\r\n\t\t\t\t\t vm.PercentageEnable=false;\t\r\n\t\t\t\t}\r\n\t\t\t\tif(LineItemCategoryType==\"HW\"){\t\r\n\t\t\t\t vm.qunatityEnable=false; \r\n\t\t\t\t vm.fileuploadShow=true;\r\n\t\t\t\t vm.PercentageEnable=false;\t\r\n\t\t\t\t vm.disableProvided=false;\r\n\t\t\t\t} \r\n\t\t\t\tif(LineItemCategoryType==\"General\")\r\n\t\t\t\t{\r\n\t\t\t\t\tvm.qunatityEnable=true; \r\n\t\t\t\t\tvm.PercentageEnable=true;\r\n\t\t\t\t}\r\n\t\t\t\t vm.ActivityDescription = vm.getRemainingLineItems();\r\n\t\t\t\t}\r\n\t\t\t\tvm.LineItemCompanyProvidedChange = function(LineItemCompanyProvided,index){\r\n\t\t\t\t\tif(typeof index === \"undefined\"){\r\n\t\t\t\t\t if(LineItemCompanyProvided==\"Yes\"){ \r\n\t\t\t\t\t\tif((vm.LineItemCategoryType==\"HW\" || vm.LineItemCategoryType==\"Service\" ) && vm.LineItemList.LineItemDescription==\"Others\"){\r\n\t\t\t\t\t\t vm.LineItemList.dLineItemFreelancerPrice = 0;\r\n\t\t\t\t\t\t vm.CompanyProvidedEnable=true;\r\n\t\t\t\t\t\t vm.IsBasePriceDisabled=true; \r\n\t\t\t\t\t\t if(vm.LineItemCategoryType==\"HW\" && vm.LineItemList.LineItemDescription==\"Others\"){\r\n\t\t\t\t\t\t\tvm.LineItemList.dLineItemFreelancerPrice = 0;\r\n\t\t\t\t\t\t\tvm.CompanyProvidedEnable=true;\r\n\t\t\t\t\t\t\tvm.FreelancrPriceEnable=true;\r\n\t\t\t\t\t\t\tvm.IsBasePriceDisabled=false;\r\n\t\t\t\t\t\t } \r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif(vm.LineItemCategoryType==\"Bonus\" || vm.LineItemCategoryType==\"Penalty\" ){\r\n\t\t\t\t\t\t\tvm.CompanyProvidedEnable=true;\r\n\t\t\t\t\t\t\tvm.IsBasePriceDisabled=true;\r\n\t\t\t\t\t\t\tvm.FreelancrPriceEnable=true; \r\n\t\t\t\t\t\t }\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t vm.LineItemList.origdLineItemFreelancerPrice = vm.LineItemList.dLineItemFreelancerPrice;\t\t\t\t\t \r\n\t\t\t\t\t\t vm.LineItemList.dLineItemFreelancerPrice = 0; \r\n\t\t\t\t\t\t vm.CompanyProvidedEnable=true;\r\n\t\t\t\t\t\t vm.IsBasePriceDisabled=true; \r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t }\r\n\t\t\t\t\t else{\r\n\t\t\t\t\t\tif((vm.LineItemCategoryType==\"HW\" || vm.LineItemCategoryType==\"Service\" )&& vm.LineItemList.LineItemDescription==\"Others\"){ \r\n\t\t\t\t\t\t vm.IsBasePriceDisabled=false; \r\n\t\t\t\t\t\t vm.CompanyProvidedEnable=false; \r\n\t\t\t\t\t\t if(vm.LineItemCategoryType==\"HW\" && vm.LineItemList.LineItemDescription==\"Others\"){\r\n\t\t\t\t\t\t \tvm.FreelancrPriceEnable=false;\r\n\t\t\t\t\t\t\tvm.LineItemList.dLineItemFreelancerPrice = vm.LineItemList.dLineItemWinPrice?vm.LineItemList.dLineItemWinPrice:0; \r\n\t\t\t\t\t\t } \r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{ \r\n\t\t\t\t\t\t vm.CompanyProvidedEnable=false;\r\n\t\t\t\t\t\t vm.IsBasePriceDisabled=true; \r\n\t\t\t\t\t\t vm.LineItemList.dLineItemFreelancerPrice = vm.LineItemList.origdLineItemFreelancerPrice; \r\n\t\t\t\t\t\t} \r\n\t\t\t\t\t } \r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t if(LineItemCompanyProvided==\"Yes\"){ \r\n\t\t\t\t\t \tvm.PriceLineItemList[index].origdLineItemFreelancerPrice = vm.PriceLineItemList[index].dLineItemFreelancerPrice; \r\n\t\t\t\t\t\tvm.PriceLineItemList[index].dLineItemFreelancerPrice = 0; \r\n\t\t\t\t\t\tvm.CompanyProvidedEnable=true;\r\n\t\t\t\t\t\tvm.IsBasePriceDisabled=true; \r\n\t\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory==\"HW\" && vm.PriceLineItemList[index].LineItemDescription==\"Others\"){ \r\n\t\t\t\t\t\t vm.PriceLineItemList[index].dLineItemFreelancerPrice = 0; \r\n\t\t\t\t\t\t vm.CompanyProvidedEnable=true;\r\n\t\t\t\t\t\t vm.FreelancrPriceEnable=true; \r\n\t\t\t\t\t\t vm.IsBasePriceDisabled=false; \r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t }\r\n\t\t\t\t\t else{ \r\n\t\t\t\t\t\tvm.CompanyProvidedEnable=false; \r\n\t\t\t\t\t\tvm.IsBasePriceDisabled=true; \r\n\t\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory==\"HW\" ){\r\n\t\t\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemDescription==\"Others\"){\r\n\t\t\t\t\t\t\t\tvm.PriceLineItemList[index].dLineItemFreelancerPrice = vm.PriceLineItemList[index].dLineItemWinPrice;\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t \t\tvm.CompanyProvidedEnable=false;\r\n\t\t\t\t\t\t \t\tvm.FreelancrPriceEnable=false;\r\n\t\t\t\t\t\t \t\tvm.IsBasePriceDisabled=false; \r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t\tvm.PriceLineItemList[index].dLineItemFreelancerPrice = vm.PriceLineItemList[index].origdLineItemFreelancerPrice;\r\n\t\t\t\t }\t\t\t\t\t\t \r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t }\r\n\t\t\t\t\t} \r\n\t\t\t\t }\r\n\t\t\t vm.LineItemEdit = function(index){\r\n\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory==\"Collection\")\r\n\t\t\t\t{\r\n\t\t\t\t vm.IsBasePriceDisabled=true; \r\n\t\t\t\t vm.PercentageEnable=true; \r\n\t\t\t\t vm.disableProvided=true; \r\n\t\t\t\t vm.qunatityEnable=true;\r\n\t\t\t\t vm.FreelancrPriceEnable=false;\r\n\t\t \r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory==\"General\")\r\n\t\t\t\t{\t\t\t\t\r\n\t\t\t\t\tvm.FreelancrPriceEnable=false;\r\n\t\t\t\t\tvm.qunatityEnable=true; \r\n\t\t\t\t\tvm.disableProvided=true;\r\n\t\t\t\t\tvm.IsBasePriceDisabled=true;\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory==\"Service\")\r\n\t\t\t\t{\r\n\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory==\"Service\" && vm.PriceLineItemList[index].LineItemDescription==\"Others\") \r\n\t\t\t\t\t{ \r\n\t\t\t\t\t \r\n\t\t\t\t\t vm.CompanyProvidedEnable=false;\r\n\t\t\t\t\t vm.IsBasePriceDisabled=false; \r\n\t\t\t\t\t vm.PercentageEnable=true;\r\n\t\t\t\t\t vm.disableProvided=true;\r\n\t\t\t\t\t vm.FreelancrPriceEnable=false;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t{\r\n\t\t\t\t\t vm.qunatityEnable=false;\r\n\t\t\t\t\t vm.disableProvided=true;\r\n\t\t\t\t\t vm.PercentageEnable=false;\r\n\t\t\t\t\t vm.IsBasePriceDisabled=true;\r\n\t\t\t\t\t vm.FreelancrPriceEnable=true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory==\"Bonus\" || vm.PriceLineItemList[index].LineItemCategory==\"Penalty\"){\t\t\r\n\t\t\t\t\t vm.qunatityEnable=true;\r\n\t\t\t\t\t vm.disableProvided=true;\r\n\t\t\t\t\t vm.IsBasePriceDisabled=true;\r\n\t\t\t\t\t vm.FreelancrPriceEnable=false;\r\n\t\t\t\t}\r\n\r\n\r\n\t\t\t if(vm.PriceLineItemList[index].LineItemCategory==\"HW\")\r\n\t\t\t {\r\n\r\n\t\t\t\t\t vm.qunatityEnable=false;\r\n\t\t\t\t\t vm.disableProvided=false;\r\n\t\t\t\t\t if(vm.PriceLineItemList[index].LineItemCompanyProvided==\"Yes\")\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory==\"HW\" && vm.PriceLineItemList[index].LineItemDescription==\"Others\") \r\n\t\t\t\t\t\t{\t\t\t\t\t \r\n\t\t\t\t\t\t vm.FreelancrPriceEnable=true;\r\n\t\t\t\t\t\t vm.IsBasePriceDisabled=false;\r\n\t\t\t\t\t\t vm.disableProvided=false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tvm.FreelancrPriceEnable=true;\r\n\t\t\t\t\t\t\tvm.IsBasePriceDisabled=false;\r\n\t\t\t\t\t\t\tvm.disableProvided=false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t }\r\n\t\t\t\t\t else\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory==\"HW\" && vm.PriceLineItemList[index].LineItemDescription==\"Others\") \r\n\t\t\t\t\t\t{\t\t\t\t\t \r\n\t\t\t\t\t\t vm.FreelancrPriceEnable=false;\r\n\t\t\t\t\t\t vm.IsBasePriceDisabled=false;\r\n\t\t\t\t\t\t vm.disableProvided=false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tvm.FreelancrPriceEnable=true;\r\n\t\t\t\t\t\t\tvm.IsBasePriceDisabled=true; \r\n\t\t\t\t\t\t\tvm.disableProvided=false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t }\r\n\t\t\t\t\t\r\n\t\t\t }\r\n\t\t\t}\r\n\t\t\t\tvm.LineItemCompanyProvided=vm.PriceLineItemList[index].LineItemCompanyProvided;\r\n\r\n\t\t\t}\r\n\t\t\tvm.OnBasePriceChange = function()\r\n\t\t\t{\t\t\t \r\n\t\t\t //fl = bp-bp*(per/100)\r\n\t\t\t if(vm.LineItemList.LineItemPercentage==\"\" || parseFloat(vm.LineItemList.LineItemPercentage)<1)\r\n \t\tvm.LineItemList.LineItemPercentage=0.0;\r\n\t\t\t vm.FreelancerPrice = (parseFloat(vm.LineItemList.dLineItemWinPrice) - parseFloat(vm.LineItemList.dLineItemWinPrice) * (parseFloat(vm.LineItemList.LineItemPercentage) / 100)).toFixed(2);\r\n\t\t\t vm.FreelancerPrice = vm.FreelancerPrice * parseFloat(vm.LineItemList.LineItemQuantity);\r\n\t\t\t}\r\n\r\n\t\t\tvm.LineItemDetails = function(ObjLineItem){\t\t\t\t\t\t\t\t\r\n\t\t\t\t\tvar LineItemId=ObjLineItem.LineItemId;\r\n\t\t\t\t\tjobCreationService.ItemLineDetails(loggedinUser, vm.projectId, LineItemId, token).then(function(resp){\r\n\t\t\t\t\tif (resp.status==200) {\r\n\t\t\t\t\t\tvm.LineItemList = resp.data;\r\n\t\t\t\t\t\tvm.LineItemList.LineItemQuantity=1;\r\n\t\t\t\t\t\tvm.LineItemCompanyProvided= vm.LineItemList.LineItemCompanyProvided;\r\n\t\t\t\t\t\tif(vm.LineItemCategoryType==\"Collection\"){\r\n\t\t\t\t\t\t\t\tvm.FreelancrPriceEnable=false;\r\n\t\t\t\t\t\t\t\tvm.IsBasePriceDisabled=true; \r\n\t\t\t\t\t\t\t\tvm.disableProvided=true; \r\n\t\t\t\t\t\t\t\tvm.qunatityEnable=true;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t\tif(vm.LineItemCompanyProvided==\"Yes\"){\r\n\t\t\t\t\t\t\t\t\tif(vm.LineItemCategoryType==\"General\"){\r\n\t\t\t\t\t\t\t\t\t\tvm.FreelancrPriceEnable=false;\r\n\t\t\t\t\t\t\t\t\t\tvm.IsBasePriceDisabled=true;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t\t\t\tif(vm.LineItemCategoryType == \"Service\"){\r\n\t\t\t\t\t\t\t\t\t\t\tvm.disableProvided=true; \t\r\n\t\t\t\t\t\t\t\t\t\t\tvm.FreelancrPriceEnable=false;\r\n\t\t\t\t\t\t\t\t\t\t\tvm.IsBasePriceDisabled=true;\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t\t\t\t\tvm.disableProvided=false;\r\n\t\t\t\t\t\t\t\t\t\t\tvm.FreelancrPriceEnable=false;\r\n\t\t\t\t\t\t\t\t\t\t\tvm.IsBasePriceDisabled=true;\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse if(vm.LineItemCategoryType==\"General\"){\r\n\t\t\t\t\t\t\t\t\tvm.FreelancrPriceEnable=false;\r\n\t\t\t\t\t\t\t\t\tvm.qunatityEnable=true; \r\n\t\t\t\t\t\t\t\t\tvm.disableProvided=true;\r\n\t\t\t\t\t\t\t\t\tvm.IsBasePriceDisabled=true; \r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t\t\tif(vm.LineItemCategoryType == \"Service\"){\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tvm.disableProvided=true; \t\r\n\t\t\t\t\t\t\t\t\t\tvm.FreelancrPriceEnable=true;\r\n\t\t\t\t\t\t\t\t\t\tvm.IsBasePriceDisabled=true;\r\n\t\t\t\t\t\t\t\t\t}\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t\t\t\tvm.disableProvided=false;\r\n\t\t\t\t\t\t\t\t\t\tvm.FreelancrPriceEnable=true;\r\n\t\t\t\t\t\t\t\t\t\tvm.IsBasePriceDisabled=true;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\tif(vm.LineItemCategoryType==\"HW\" && ObjLineItem.LineItemDescription==\"Others\"){\r\n\t\t\t\t\t\t\t\t\tvm.IsBasePriceDisabled=false; \r\n\t\t\t\t\t\t\t\t\tvm.PercentageEnable=true; \r\n\t\t\t\t\t\t\t\t\tvm.disableProvided=false; \r\n\t\t\t\t\t\t\t\t\tvm.FreelancrPriceEnable=false; \r\n\t\t\t\t\t\t\t\t}\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tif(vm.LineItemCategoryType==\"Service\" && ObjLineItem.LineItemDescription==\"Others\"){\r\n\t\t\t\t\t\t\t\t\tvm.IsBasePriceDisabled=false; \r\n\t\t\t\t\t\t\t\t\tvm.PercentageEnable=true; \r\n\t\t\t\t\t\t\t\t\tvm.disableProvided=true; \r\n\t\t\t\t\t\t\t\t\tvm.FreelancrPriceEnable=false; \r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tif(vm.LineItemCategoryType==\"Bonus\" || ObjLineItem.LineItemDescription==\"Penalty\"){\r\n\t\t\t\t\t\t\t\t\tvm.IsBasePriceDisabled=true; \r\n\t\t\t\t\t\t\t\t\tvm.PercentageEnable=true; \r\n\t\t\t\t\t\t\t\t\tvm.disableProvided=true; \r\n\t\t\t\t\t\t\t\t\tvm.FreelancrPriceEnable=false; \r\n\t\t\t\t\t\t\t\t}\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t//vm.calculateLineItemPrice();\t\r\n\t\t\t\t\t\t\t\t//vm.OnBasePriceChange();\r\n\t\t\t\t\t\t\t}\t\t\t \r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t}\t\r\n\t\t\t vm.searchButtonText = \"Save\";\r\n\t\t\t vm.addPriceLineItem = function(){ \r\n\r\n\t\t\t\tif(!vm.LineItemCategoryType){\r\n\t\t\t\t\tvm.showFailure(\"Warning\", \"Please select category type\"); \r\n\t\t\t\t\treturn; \r\n\t\t\t\t} \r\n\t \r\n\t\t\t\tif(!vm.LineItemDisc){\r\n\t\t\t\t vm.showFailure(\"Warning\", \"Please select activity description\"); \r\n\t\t\t\t return; \r\n\t\t\t\t} \r\n\t \r\n\t\t\t\tif(vm.LineItemCategoryType!=\"Collection\" && vm.LineItemCategoryType!=\"General\" && vm.LineItemCategoryType!=\"Bonus\"&& vm.LineItemCategoryType!=\"Penalty\"){\r\n\t\t\t\t\tif(vm.LineItemList.dLineItemWinPrice==\"\" || vm.LineItemList.dLineItemWinPrice==\"0\" \r\n\t\t\t\t\t|| parseInt(vm.LineItemList.dLineItemWinPrice) < 1)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvm.showFailure(\"Warning\", \"Please enter base price\"); \r\n\t\t\t\t\t\treturn; \r\n\t\t\t\t\t} \r\n\t\t\r\n\t\t\t\t\tif(vm.LineItemCompanyProvided ==\"\"){\r\n\t\t\t\t\t\tvm.showFailure(\"Warning\", \"Please select company provided yes or no\"); \r\n\t\t\t\t\t\treturn; \r\n\t\t\t\t\t} \r\n\t\t\t\t\t\r\n\t\t\t\t\tif(vm.LineItemList.LineItemQuantity==\"\"){\r\n\t\t\t\t\t\tvm.showFailure(\"Warning\", \"Please enter quantity\"); \r\n\t\t\t\t\t\treturn; \r\n\t\t\t\t\t}\r\n\t\t\r\n\t\t\t\t\tif(vm.LineItemList.LineItemQuantity==0){\r\n\t\t\t\t\t\tvm.showFailure(\"Warning\", \"zero (0) quantity not allowed\"); \r\n\t\t\t\t\t\treturn; \r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif(vm.LineItemList.LineItemDescription == \"Others\" && (parseFloat(vm.LineItemList.dLineItemFreelancerPrice) > parseFloat(vm.LineItemList.dLineItemWinPrice))){\r\n \t\t\tvm.showFailure(\"Warning\", \"Please enter freelancer price less or equal to win price\");\r\n \t\t\treturn;\r\n \t\t}\r\n\t\t\r\n\t\t\t\t\tif(vm.LineItemList.dLineItemFreelancerPrice==\"\" || vm.LineItemList.dLineItemFreelancerPrice==\"0\" \r\n\t\t\t\t\t|| parseInt(vm.LineItemList.dLineItemFreelancerPrice) < 1){\r\n\t\t\t\t\t\tif(vm.LineItemCategoryType==\"HW\" && vm.LineItemCompanyProvided==\"Yes\")\r\n\t\t\t\t\t\t{\r\n\t\t \r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t vm.showFailure(\"Warning\", \"Please enter freelancer price\");\r\n\t\t\t\t\t\t return; \r\n\t\t\t\t\t\t} \r\n\t\t\t\t\t} \r\n\t\t\t \t} \r\n\t\t\t\tvar tData = {\r\n\t\t\t\t\tLineItemDescription: vm.LineItemList.LineItemDescription,\r\n\t\t\t\t\tLineItemCategory: vm.LineItemCategoryType, \r\n\t\t\t\t\tdLineItemWinPrice: vm.LineItemList.dLineItemWinPrice,\r\n\t\t\t\t\tLineItemId: vm.LineItemDisc.LineItemId,\r\n\t\t\t\t\tLineItemCode: vm.LineItemList.LineItemCode,\r\n\t\t\t\t\tLineItemQuantity: vm.LineItemList.LineItemQuantity, \r\n\t\t\t\t\tdLineItemFreelancerPrice: vm.LineItemList.dLineItemFreelancerPrice,\r\n\t\t\t\t\torigdLineItemFreelancerPrice: vm.LineItemList.origdLineItemFreelancerPrice,\r\n\t\t\t\t\tLineItemRemark: vm.Remarks,\r\n\t\t\t\t\tLineItemUnit: vm.LineItemList.LineItemUnit,\r\n\t\t\t\t\tLineItemCompanyProvided: vm.LineItemCompanyProvided,\r\n\t\t\t\t\tLineItemAction: \"Add\",\r\n\t\t\t\t\tLineItemAttachment: \"\", \r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar basePrice = vm.LineItemList.dLineItemWinPrice;\r\n\t\t\t\tvar dFprice = vm.LineItemList.dLineItemFreelancerPrice; \r\n\t\t\t\tvar LineItemQuantity = vm.LineItemList.LineItemQuantity; \r\n\t\t\t\t\t \r\n\t\t\t\tif(vm.LineItemCategoryType!=\"Collection\" && vm.LineItemCategoryType!=\"Penalty\"){\r\n\t\t\t\t\tvm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) + (parseFloat(basePrice) * parseInt(LineItemQuantity))).toFixed(2);\r\n\t\t\t\t\tif(vm.LineItemCategoryType==\"Bonus\"){\r\n\t\t\t\t\t\tvar FLPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) + (parseFloat(dFprice) * parseInt(LineItemQuantity))).toFixed(2);\r\n\t\t\t\t\t\tif(parseInt(FLPriceTotal) <= parseInt(vm.BasePriceTotal)){\r\n\t\t\t\t\t\t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) + (parseFloat(dFprice) * parseInt(LineItemQuantity))).toFixed(2);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\tvar maxBonus = (parseFloat(vm.BasePriceTotal) - parseFloat(vm.dFreelancerPriceTotal)).toFixed(2);\r\n\t\t\t\t\t\t\tvm.showFailure(\"Warning\", \"Please enter bonus price less or equal to \" + maxBonus);\r\n\t \t\t\treturn true;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) + (parseFloat(dFprice) * parseInt(LineItemQuantity))).toFixed(2);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\tif(vm.LineItemCategoryType==\"Penalty\"){\r\n\t\t\t\t\tvm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) - (parseFloat(basePrice) * parseInt(LineItemQuantity))).toFixed(2);\r\n\t\t\t\t\tvar FLPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) - (parseFloat(dFprice) * parseInt(LineItemQuantity))).toFixed(2);\r\n\t\t\t\t\tif(parseInt(FLPriceTotal) >= 0 ){\r\n\t\t\t\t\t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) - (parseFloat(dFprice) * parseInt(LineItemQuantity))).toFixed(2);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\t\t\t\t\t\t\r\n\t\t\t\t\t\tvm.showFailure(\"Warning\", \"Please enter penalty price less or equal to \" + vm.dFreelancerPriceTotal);\r\n \t\t\treturn true;\r\n\t\t\t\t\t}\t\t\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif(tData.LineItemDescription){ \r\n\t\t\t\t\tvm.PriceLineItemList.push(tData); \r\n\t\t\t\t\tvm.showTCList = false; \r\n\t\t\t\t\tvm.EmptyLineItemDetails(); \r\n\t\t\t\t}else{\r\n\t\t\t\t\tvm.showTCList = false;\r\n\t\t\t\t\tvm.showFailure(\"Warning\", \"You must select activity description\");\r\n\t\t\t\t} \r\n\t\t\t\tvm.LineItemCategoryType=\"\";\r\n\t\t\t\tvm.LineItemDisc=\"\";\r\n\t\t\t }\r\n\r\n\t\t\t vm.getRemainingLineItems = function () { \r\n\t\t\t\tvar RemovePriceLineItems = [];\r\n\t\t\t\tvar remainingPriceLineItems = Array.from(vm.LineitemActivityList);\r\n\t\t\t\tangular.forEach(remainingPriceLineItems, function (d) {\r\n\t\t\t\t\tfor (var i = 0; i < vm.PriceLineItemList.length; i++) {\r\n\t\t\t\t\t\tif (d.LineItemDescription == vm.PriceLineItemList[i].LineItemDescription && d.LineItemCategory==vm.PriceLineItemList[i].LineItemCategory) {\r\n\t\t\t\t\t\t RemovePriceLineItems.push(d);\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tangular.forEach(RemovePriceLineItems, function (s) {\r\n\t\t\t\t remainingPriceLineItems.splice(remainingPriceLineItems.indexOf(s), 1);\r\n\t\t\t\t}) \r\n\t\t\t\treturn remainingPriceLineItems;\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\t vm.showTCList = false;\r\n\t\t\t vm.showTotal = true;\t\t\t \r\n\t\t\t\tvm.addMoreCertificateInTable = function(){\r\n\t\t\t\t\tvm.showTCList = true;\r\n\t\t\t\t\tvm.showTotal = true;\r\n\t\t\t\t\tvm.tempCertificateAdd = true;\r\n\t\t\t\t}\t\t\r\n\t\t\t\tvm.tempCertificateAdd = false;\r\n\t\t\r\n\t\t\t\tvm.calculateLineItemPrice = function (index) { \r\n\t\t\t\t\t \r\n\t\t\t\t\tif(typeof index === \"undefined\")\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvar basePrice = vm.LineItemList.dLineItemWinPrice;\t \r\n\t\t\t\t\t\tvar LineItemQuantity = vm.LineItemList.LineItemQuantity;\r\n\t\t\t\t\t\t// if(percentage==\"\")\r\n\t\t\t\t\t\t// \tprice=0;\r\n\t\t\t\t\t\t// else \r\n\t\t\t\t\t\t// \tprice = parseInt(LineItemQuantity) * parseFloat(basePrice) * parseFloat(percentage)/100;\r\n\t\t\t\t\t\tif(LineItemQuantity==\"\")\r\n\t\t\t\t\t\t\ttotalFPrice=0;\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\ttotalFPrice = parseInt(LineItemQuantity) * basePrice - price;\r\n\t\t\t\t\t\tif(vm.LineItemList.LineItemCategory==\"HW\" && vm.LineItemList.LineItemCompanyProvided==\"Yes\" && (percentage==0.0 || percentage==0)){\r\n\t\t\t\t\t\t\ttotalFPrice=0.0;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\tvm.FreelancerPrice = totalFPrice.toFixed(2); \r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t{ \r\n\t\t\t\t\t\tvar basePrice = vm.PriceLineItemList[index].dLineItemWinPrice;\r\n\t\t\t\t\t\t// var percentage = vm.PriceLineItemList[index].LineItemPercentage;\r\n\t\t\t\t\t\tvar LineItemQuantity = vm.PriceLineItemList[index].LineItemQuantity;\r\n\t\t\t\t\t\t// var price = parseInt(Quantity) * parseFloat(basePrice) * parseFloat(percentage)/100;\r\n\t\t\t\t\t\t// var totalFPrice = parseInt(Quantity) * basePrice - price;\r\n\t\t\t\t\t\t// vm.PriceLineItemList[index].FreelancerPrice = totalFPrice.toFixed(2);\r\n\t\t\t\t\r\n\t\t\t\t\t\tif(percentage==\"\")\r\n\t\t\t\t\t\t\tprice=0;\r\n\t\t\t\t\t\telse \r\n\t\t\t\t\t\t\tprice = parseInt(LineItemQuantity) * parseFloat(basePrice) * parseFloat(percentage)/100;\r\n\t\t\t\t\t\tif(LineItemQuantity==\"\")\r\n\t\t\t\t\t\t\ttotalFPrice=0;\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\ttotalFPrice = parseInt(LineItemQuantity) * basePrice - price;\r\n\t\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory==\"HW\" && vm.PriceLineItemList[index].LineItemCompanyProvided==\"Yes\" && (percentage==0.0 || percentage==0)){\r\n\t\t\t\t\t\t\ttotalFPrice=0.0;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\tvm.PriceLineItemList[index].FreelancerPrice = totalFPrice.toFixed(2);\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t }\r\n\t\t\t\t vm.FreelancerChangeCal=function(index)\r\n\t\t\t\t {\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tif(typeof index === \"undefined\")\r\n\t\t\t\t\t\t{ \r\n\t\t\t\t\t\t\tif(vm.LineItemCategoryType!=\"Collection\")\r\n \t\t\t\t\t\t{ \r\n\t\t\t\t\t\t\t\tif(vm.LineItemCategoryType!=\"General\")\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tif(vm.FreelancerPrice==\"\")\r\n\t\t\t\t\t\t\t\tvm.LineItemList.LineItemPercentage=100;\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tif( parseFloat(vm.FreelancerPrice)> ( parseFloat(vm.LineItemList.dLineItemWinPrice) * parseFloat(vm.LineItemList.LineItemQuantity)))\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tvm.showFailure(\"Warning\",\"Freelancer price should be less than or equal to base price\");\r\n\t\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tvm.LineItemList.LineItemPercentage = (((parseFloat(vm.LineItemList.dLineItemWinPrice)-(parseFloat(vm.FreelancerPrice)/parseFloat(vm.LineItemList.LineItemQuantity)))/parseFloat(vm.LineItemList.dLineItemWinPrice))*100).toFixed(2);\r\n\t\t\t\t\t\t\t\tif(vm.LineItemList.LineItemPercentage==\"NaN\")\r\n\t\t\t\t\t\t\t\t\tvm.LineItemList.LineItemPercentage=0.0;\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory!=\"Collection\")\r\n \t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory !=\"General\")\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemPercentage==\"\")\r\n\t\t\t\t\t\t\t\t\tvm.PriceLineItemList[index].LineItemPercentage=0.0;\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tif( parseFloat(vm.PriceLineItemList[index].FreelancerPrice)> ( parseFloat(vm.PriceLineItemList[index].dLineItemWinPrice) * parseFloat(vm.PriceLineItemList[index].LineItemQuantity)))\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tvm.showFailure(\"Warning\",\"Freelancer price should be less than or equal to base price\");\r\n\t\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tvm.PriceLineItemList[index].LineItemPercentage = (((parseFloat(vm.PriceLineItemList[index].dLineItemWinPrice)-(parseFloat(vm.PriceLineItemList[index].FreelancerPrice)/parseFloat(vm.PriceLineItemList[index].LineItemQuantity)))/parseFloat(vm.PriceLineItemList[index].dLineItemWinPrice))*100).toFixed(2);\r\n\t\t\t\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemPercentage==\"NaN\")\r\n\t\t\t\t\t\t\t\t\tvm.PriceLineItemList[index].LineItemPercentage=100.00;\r\n\t\t\t\t\t\t\t\t}\t\t\t\t\t \r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\tvm.EditUpdateCalculation = function(index)\r\n\t\t\t\t{\r\n\r\n\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemDescription == \"Others\" && (parseFloat(vm.PriceLineItemList[index].dLineItemFreelancerPrice) > parseFloat(vm.PriceLineItemList[index].dLineItemWinPrice))){\r\n\t \t\tvm.showFailure(\"Warning\", \"Please enter freelancer price less or equal to win price\");\r\n\t \t\treturn true;\r\n\t \t}\r\n\r\n\t \tif(vm.PriceLineItemList[index].LineItemDescription==\"Bonus\"){\r\n var FLPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) + (parseFloat(vm.PriceLineItemList[index].dLineItemFreelancerPrice) * parseInt(vm.PriceLineItemList[index].LineItemQuantity))).toFixed(2);\r\n if(parseInt(FLPriceTotal) > parseInt(vm.BasePriceTotal)){ \r\n var maxBonus = (parseFloat(vm.BasePriceTotal) - parseFloat(vm.dFreelancerPriceTotal)).toFixed(2);\r\n vm.showFailure(\"Warning\", \"Please enter bonus price less or equal to \" + maxBonus);\r\n return true;\r\n }\r\n }\r\n else if(vm.PriceLineItemList[index].LineItemDescription==\"Penalty\"){\t \r\n\t var FLPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) - (parseFloat(vm.PriceLineItemList[index].dLineItemFreelancerPrice) * parseInt(vm.PriceLineItemList[index].LineItemQuantity))).toFixed(2);\r\n\t if(parseInt(FLPriceTotal) < 0 ){\t \r\n\t vm.showFailure(\"Warning\", \"Please enter penalty price less or equal to \" + vm.dFreelancerPriceTotal);\r\n\t return true;\r\n\t } \r\n\t }\r\n\r\n\r\n\t\t\t\t\tvm.BasePriceTotal=0.0;\r\n\t\t\t\t\tvm.dFreelancerPriceTotal=0.0;\t\t\t\t\t\r\n\t\t\t\t\tfor(var i = 0; i < vm.PriceLineItemList.length; i++)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tif(vm.PriceLineItemList[i].LineItemCategory!=\"Collection\"){\r\n\t\t\t\t\t\t\tvar basePrice = vm.PriceLineItemList[i].dLineItemWinPrice;\r\n\t\t\t\t\t\t\tvar dFprice = vm.PriceLineItemList[i].dLineItemFreelancerPrice;\r\n\t\t\t\t\t\t\tvar LineItemQuantity = vm.PriceLineItemList[i].LineItemQuantity;\r\n\t\t\t\t\t\t\tif(vm.PriceLineItemList[i].LineItemCategory == \"General\")\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tif(vm.PriceLineItemList[i].LineItemCompanyProvided==\"No\")\r\n\t\t\t\t\t\t\t\t\tbasePrice=0.0;\r\n\t\t\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tvm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) + (parseFloat(basePrice) * LineItemQuantity)).toFixed(2);\r\n\t\t\t\t\t \t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) + (parseFloat(dFprice) * LineItemQuantity)).toFixed(2);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} \r\n\t\t\t\t\tvm.PriceLineItemList[index].edit=false;\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t//delete row non edit\r\n\tvm.removeLineItem = function(index){ \r\n\t\tif(vm.PriceLineItemList[index].LineItemCategory!=\"Collection\" && vm.PriceLineItemList[index].LineItemCategory!=\"Penalty\"){\r\n\t\t var basePrice = vm.PriceLineItemList[index].dLineItemWinPrice;\r\n\t\t var dFprice = vm.PriceLineItemList[index].dLineItemFreelancerPrice;\r\n\t\t var LineItemQuantity = vm.PriceLineItemList[index].LineItemQuantity;\r\n\t\t vm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) - parseFloat(basePrice) * parseInt(LineItemQuantity)).toFixed(2);\r\n\t\t vm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) - parseFloat(dFprice) * parseInt(LineItemQuantity)).toFixed(2);\r\n\t\t}\r\n\t\telse if(vm.PriceLineItemList[index].LineItemCategory==\"Penalty\") {\r\n\t\t\tvar basePrice = vm.PriceLineItemList[index].dLineItemWinPrice;\r\n\t\t\tvar dFprice = vm.PriceLineItemList[index].dLineItemFreelancerPrice;\r\n\t\t\tvar LineItemQuantity = vm.PriceLineItemList[index].LineItemQuantity;\r\n\t\t\tvm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) + parseFloat(basePrice) * parseInt(LineItemQuantity)).toFixed(2);\r\n\t\t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) + parseFloat(dFprice) * parseInt(LineItemQuantity)).toFixed(2);\r\n\t\t \r\n\t\t}\r\n\t\tvm.PriceLineItemList.splice(index, 1);\r\n\t } \t\r\n\t\t\t\t\r\n\t\tvm.updateRomoveLineItem = function(index,action)\r\n\t\t{\t\t\r\n\t\t\t\r\n\t\t\tif(action==\"Update\"){\r\n\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory!=\"Collection\")\r\n\t\t\t\t{\r\n\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemQuantity==\"\")\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvm.PriceLineItemList[index].edit=true;\r\n\t\t\t\t\t\tvm.showFailure(\"Warning\", \"Please enter quantity\"); \r\n\t\t\t\t\t\treturn; \r\n\t\t\t\t\t}\r\n\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemQuantity==0){\r\n\t\t\t\t\t\tvm.PriceLineItemList[index].edit=true;\r\n\t\t\t\t\t\tvm.showFailure(\"Warning\", \"zero (0) quantity not allowed\"); \r\n\t\t\t\t\t\treturn; \r\n\t\t\t\t\t}\r\n\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory!=\"General\"){\r\n\t\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory==\"HW\" && vm.LineItemCompanyProvided==\"Yes\"){}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif(vm.PriceLineItemList[index].dLineItemWinPrice==\"\" || vm.PriceLineItemList[index].dLineItemWinPrice==\"0\" || parseInt(vm.PriceLineItemList[index].dLineItemWinPrice) < 1)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tvm.PriceLineItemList[index].edit=true;\r\n\t\t\t\t\t\t\tvm.showFailure(\"Warning\", \"Please enter base price\"); \r\n\t\t\t\t\t\t\treturn; \r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif(parseFloat(vm.PriceLineItemList[index].LineItemPercentage)>100)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tvm.PriceLineItemList[index].edit=true;\r\n\t\t\t\t\t\t\tvm.showFailure(\"Warning\", \"Please enter percentage 100 or less than 100\"); \r\n\t\t\t\t\t\t\treturn; \r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif( parseFloat(vm.PriceLineItemList[index].FreelancerPrice)> ( parseFloat(vm.PriceLineItemList[index].dLineItemWinPrice) * parseFloat(vm.PriceLineItemList[index].LineItemQuantity)))\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tvm.PriceLineItemList[index].edit=true;\r\n\t\t\t\t\t\t\tvm.showFailure(\"Warning\",\"Freelancer price should be less than or equal to base price\");\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\tif(vm.PriceLineItemList[index].FreelancerPrice==\"\" || typeof vm.PriceLineItemList[index].FreelancerPrice === \"undefined\")\r\n\t\t\t\t\tvm.PriceLineItemList[index].FreelancerPrice=\"0\";\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tif(vm.PriceLineItemList[index].LineItemCategory==\"General\")\r\n\t\t\t{ \r\n\t\t\t\tvm.PriceLineItemList[index].dLineItemWinPrice=0.0;\r\n\t\t\t\tvm.PriceLineItemList[index].dLineItemFreelancerPrice=0.0;\r\n\t\t\t\tvm.PriceLineItemList[index].LineItemPercentage=0.0;\r\n\t\t\t}\r\n\t\t\tif(vm.PriceLineItemList[index].dLineItemWinPrice==\"\")\r\n\t\t\t\tvm.PriceLineItemList[index].dLineItemWinPrice=0.0;\r\n\t\t\tif(vm.PriceLineItemList[index].dLineItemFreelancerPrice==\"\")\r\n\t\t\t\tvm.PriceLineItemList[index].dLineItemFreelancerPrice=0.0;\r\n\t\t\tif(vm.PriceLineItemList[index].LineItemPercentage==\"\")\r\n\t\t\t\tvm.PriceLineItemList[index].LineItemPercentage=0.0;\r\n\t\t\tif(vm.PriceLineItemList[index].LineItemQuantity==\"\")\r\n\t\t\t\tvm.PriceLineItemList[index].LineItemQuantity=1;\r\n\t\t\tif(vm.PriceLineItemList[index].FreelancerPrice==\"\")\r\n\t\t\t\tvm.PriceLineItemList[index].FreelancerPrice=0.0;\r\n\r\n\t\t\t\t\r\n\t\t\tvar Requestdata = {\t\t\t\t\t \r\n\t\t\t\tLineItemDescription: vm.PriceLineItemList[index].LineItemDescription,\r\n\t\t\t\tLineItemCategory: vm.PriceLineItemList[index].LineItemCategory,\r\n\t\t\t\tLineItemPercentage : vm.PriceLineItemList[index].LineItemPercentage,\r\n\t\t\t\tdLineItemWinPrice: vm.PriceLineItemList[index].dLineItemWinPrice,\r\n\t\t\t\tdLineItemFreelancerPrice: vm.PriceLineItemList[index].dLineItemFreelancerPrice,\r\n\t\t\t\tLineItemId: vm.PriceLineItemList[index].LineItemId,\r\n\t\t\t\tLineItemCode: vm.PriceLineItemList[index].LineItemCode,\r\n\t\t\t\tLineItemQuantity: vm.PriceLineItemList[index].LineItemQuantity,\r\n\t\t\t\tLineItemFreelancerPrice: vm.ConverttoDecimal(vm.PriceLineItemList[index].FreelancerPrice),\r\n\t\t\t\tLineItemRemark: vm.PriceLineItemList[index].Remarks,\r\n\t\t\t\tLineItemUnit: vm.PriceLineItemList[index].LineItemUnit,\r\n\t\t\t\tLineItemAction: action,\r\n\t\t\t\tLineItemCompanyProvided: vm.LineItemCompanyProvided,\r\n\t\t\t\tLineItemAttachment: vm.LineItemImage\r\n\t\t }\r\n\t\t vm.PriceLineItemList[index].FreelancerPrice = vm.ConverttoDecimal(vm.PriceLineItemList[index].FreelancerPrice);\r\n\t\t vm.PriceLineItemList[index].LineItemPercentage = vm.ConverttoDecimal(vm.PriceLineItemList[index].LineItemPercentage);\r\n\t\t vm.LineItemDataList.push(Requestdata);\r\n\t\t userFormData = { \r\n\t\t\t\"TicketId\": vm.TicketId,\r\n\t\t\t\"LineItemRequestList\": vm.LineItemDataList\t\t\t \r\n\r\n\t\t}\r\n\t\t//vm.PriceLineItemList[index].LineItemCompanyProvided=vm.LineItemCompanyProvided;\r\n\r\n\t\t// vm.enable = \"false\";\r\n\t\t// if(action==\"Update\"){\t\t\t\t\r\n\t\t// vm.updateButtonText = \"Updating\";\r\n\t\t// vm.PriceLineItemList[index].edit=true;\r\n\t\t// }\r\n\t\t// else\r\n\t\t// vm.removeButtonText = \"Removing\";\r\n\t\r\n\t jobDetailsService.CreateUpdateRemoveLineItem(userFormData,loggedinUser,token).then(function(resp){\r\n\t\t\t//$timeout(function(){\r\n\t\t\t\t\r\n\t\t\tif (resp.status==201) { \r\n\t\t\t\tvar msg=\"\";\r\n\t\t\t\tif(action==\"Update\"){\t\r\n\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory!=\"Collection\"){\t\t\t\t\r\n\t\t\t\t\t\tvm.EditUpdateCalculation(index);\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\tjobDetailsService.UpdateJobPaymentDynamicPrice(loggedinUser, vm.TicketId, vm.BasePriceTotal, vm.PercentageTotal, vm.FreelancerPriceTotal, vm.IsFinalApproval, token, function (res) {\r\n\t\t\t\t\t\t$timeout(function(){\r\n\t\t\t\t\t\t//vm.showSuccess(\"Success\", res);\t\t\t\t\t\r\n\t\t\t\t\t\tmsg = \"LineItem has been updated successfully\";\r\n\t\t\t\t\t\tvm.LineItemDataList=[];\r\n\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", msg);\t\r\n\t\t\t\t\t\t// vm.enable = \"true\";\r\n\t\t\t\t\t\t// vm.updateButtonText = \"Update\";\r\n\t\t\t\t\t\t//vm.PriceLineItemList[index].edit=false;\r\n\t\t\t\t\t\t}, 1000);\t\t\t\t\t\t\r\n\t\t\t\t\t}, vm.showFailure);\t\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\t$timeout(function(){\r\n\t\t\t\t\t\tmsg = \"LineItem has been updated successfully\";\r\n\t\t\t\t\t\tvm.LineItemDataList=[];\r\n\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", msg);\t\r\n\t\t\t\t\t\t}, 1000);\t\t\t\t\t\t\r\n\t\t\t\t}\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\t\t\r\n\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory!=\"Collection\")\r\n\t\t\t\t{\r\n\t\t\t\t\tvar basePrice = vm.PriceLineItemList[index].dLineItemWinPrice;\r\n\t\t\t\t\tvar dFprice = vm.PriceLineItemList[index].dLineItemFreelancerPrice;\r\n\t\t\t\t\tvar freelancerPrice = vm.PriceLineItemList[index].FreelancerPrice;\r\n\t\t\t\t\tvar LineItemQuantity = vm.PriceLineItemList[index].LineItemQuantity;\r\n\r\n\t\t\t\t\tif(basePrice==\"\")\r\n\t\t\t\t\t\tbasePrice=0.0;\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\tif(dFprice==\"\")\r\n\t\t\t\t\t\tdFprice=0.0;\r\n\t\t\t\t\tif(freelancerPrice==\"\")\r\n\t\t\t\t\t\tfreelancerPrice=0.0;\r\n\t\t\t\t\tif(LineItemQuantity==\"\")\r\n\t\t\t\t\tLineItemQuantity=1;\r\n\r\n\t\t\t\t\tvar lessBasePrice = parseFloat(basePrice) * parseInt(LineItemQuantity);\r\n\t\t\t\t\tvar lessdFprice = parseFloat(dFprice) * parseInt(LineItemQuantity);\r\n\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory!=\"Collection\")\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory != \"General\")\r\n\t\t\t\t\t\t{\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tvm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) - parseFloat(lessBasePrice)).toFixed(2);\r\n\t\t\t\t\t\t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) - parseFloat(lessdFprice)).toFixed(2);\r\n\t\t\t\t\t\t\tvm.FreelancerPriceTotal = (parseFloat(vm.FreelancerPriceTotal) - parseFloat(freelancerPrice)).toFixed(2);\r\n\t\t\t\t\t\t\tvm.PercentageTotal = (100 - (vm.FreelancerPriceTotal * 100/vm.BasePriceTotal)).toFixed(2);\r\n\t\t\t\t\t\t\tif(vm.PercentageTotal==\"NaN\")\r\n\t\t\t\t\t\t\t\tvm.PercentageTotal=0;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemCompanyProvided==\"No\")\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tlessBasePrice =0.0;\r\n\t\t\t\t\t\t\t\tlessdFprice =0.0;\r\n\t\t\t\t\t\t\t\tvm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) - parseFloat(lessBasePrice)).toFixed(2);\r\n\t\t\t\t\t\t\t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) - parseFloat(lessdFprice)).toFixed(2);\r\n\t\t\t\t\t\t\t\tvm.FreelancerPriceTotal = (parseFloat(vm.FreelancerPriceTotal) - parseFloat(freelancerPrice)).toFixed(2);\r\n\t\t\t\t\t\t\t\tvm.PercentageTotal = (100 - (vm.FreelancerPriceTotal * 100/vm.BasePriceTotal)).toFixed(2);\r\n\t\t\t\t\t\t\t\tif(vm.PercentageTotal==\"NaN\")\r\n\t\t\t\t\t\t\t\t\tvm.PercentageTotal=0;\t\t\r\n\t\t\t\t\t\t\t\tif(vm.BasePriceTotal==\"0.00\" || vm.BasePriceTotal==\"0\")\r\n\t\t\t\t\t\t\t\t\tvm.PercentageTotal=0.00;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory!=\"Collection\")\r\n\t\t\t\t\t{\t\t\t\t\r\n\t\t\t\t\t\tjobDetailsService.UpdateJobPaymentDynamicPrice(loggedinUser, vm.TicketId, vm.BasePriceTotal, vm.PercentageTotal, vm.FreelancerPriceTotal, vm.IsFinalApproval, token, function (res) {\r\n\t\t\t\t\t\t\t$timeout(function(){\r\n\t\t\t\t\t\t\t//vm.showSuccess(\"Success\", res);\t\t\t\t\t\r\n\t\t\t\t\t\t\tmsg = \"LineItem has been removed successfully\";\r\n\t\t\t\t\t\t\tvm.LineItemDataList=[];\r\n\t\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\t\tvm.showSuccess(\"Success\", msg);\t\r\n\t\t\t\t\t\t\t// vm.enable = \"true\";\r\n\t\t\t\t\t\t\t// vm.removeButtonText = \"Remove\";\r\n\t\t\t\t\t\t\t}, 1000);\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t}, vm.showFailure);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t$timeout(function(){\r\n\t\t\t\t\t\t\tmsg = \"LineItem has been removed successfully\";\r\n\t\t\t\t\t\t\tvm.LineItemDataList=[];\r\n\t\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\t\tvm.showSuccess(\"Success\", msg);\t\r\n\t\t\t\t\t\t}, 1000);\r\n\t\t\t\t\t}\r\n\t\t\t\tvm.PriceLineItemList.splice(index, 1);\r\n\t\t\t}\r\n\t\t\t\t\r\n\t\t\tvm.EmptyLineItemDetails();\r\n\t\t\t// vm.LineItemCategoryType=\"\";\r\n\t\t\tvm.LineItemDisc=\"\";\r\n\t\t\tvm.LineItemDataList=[];\r\n\t\t\t // window.location.reload(true);\r\n\t\t\t}\r\n\t\t//}, 1000);\r\n\r\n\t\t })\r\n\t\t}\r\n\r\n\t\t//\r\n\t\tvm.UpdateLineItems=\"Update Line Items\";\r\n\t\tvm.updateLineItem = function()\r\n\t\t{\r\n\t\t\tif(vm.PriceLineItemList.length>0)\r\n\t\t\t{\t\r\n\t\t\t\tvm.enable1 = \"false\";\r\n\t\t\t\tvm.UpdateLineItems=\"Update Line Items...\";\r\n\r\n\t\t\t\tvar data = { \r\n\t\t\t\t\t\"TicketId\": vm.TicketId,\r\n\t\t\t\t\t\"LineItemRequestList\": vm.PriceLineItemList\r\n\t\t\t\t \r\n\t\t\t\t };\r\n\t\t\t\tjobDetailsService.CreateUpdateRemoveLineItem(data,loggedinUser,token).then(function(resp){\r\n\t\t\t\t\t\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\",resp.data+ \" Line Item\");\r\n\t\t\t\t\t\t$timeout(function(){\r\n\t\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\t\tvm.enable1 = \"true\";\t\r\n\t\t\t\t\t\t\tvm.UpdateLineItems=\"Update Line Items\";\t\t\t\t\r\n\t\t\t\t\t\t}, 1500);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t}, vm.showFailure);\t\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tvm.showFailure();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.ApprovePricingButtonText=\"Approve Pricing\";\r\n\t\tvm.ApprovePricing = function()\r\n\t\t{\r\n\t\t\tif(vm.PriceLineItemList.length>0)\r\n\t\t\t{\t\r\n\t\t\t\tvm.IsFinalApproval=true;\r\n\t\t\t\tvm.enable1 = \"false\";\r\n\t\t\t\tvm.ApprovePricingButtonText=\"Approve Pricing...\";\r\n\r\n\t\t\t\tvar data = { \r\n\t\t\t\t\t\"TicketId\": vm.TicketId,\r\n\t\t\t\t\t\"IsCollectionFlag\": true,\r\n\t\t\t\t\t\"CollectionPercentage\": 0,\r\n\t\t\t\t\t\"CollectionAmount\": 0,\r\n\t\t\t\t\t\"LineItemRequestList\": vm.PriceLineItemList\r\n\t\t\t\t \r\n\t\t\t\t };\r\n\t\t\t\tjobDetailsService.UpdateJobPaymentDynamicPrice(loggedinUser, vm.TicketId, vm.BasePriceTotal, vm.PercentageTotal, vm.FreelancerPriceTotal,vm.IsFinalApproval,data, token, function (res) {\r\n\t\t\t\t\t$timeout(function(){\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\tmsg = \"Price has been approved successfully\";\t\t\t\t\t\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", msg);\t\r\n\t\t\t\t\t\tvm.enable1 = \"true\";\r\n\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\tvm.ApprovePricingButtonText = \"Approve Pricing\";\t\t\t\t\t\r\n\t\t\t\t\t}, 1000);\t\t\t\t\t\t\r\n\t\t\t\t}, vm.showFailure);\t\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tvm.showFailure(\"Faild\", \"Please enter atleast one Line Item to Approve this job.\");\r\n\t\t\t}\r\n\t\t}\r\n\t\tvm.removeCurrentActivityRow = function()\r\n\t\t{\r\n\t\t\tvm.showTCList = false;\t\r\n\t\t\tvm.EmptyLineItemDetails();\t\t\r\n\t\t}\r\n\t\tvm.EmptyLineItemDetails = function()\r\n\t\t{\r\n\t\t\tvm.LineItemCategoryType=\"\";\r\n\t\t\tvm.LineItemDisc=\"\";\r\n\t\t\tvm.LineItemList.LineItemDescription = '';\r\n\t\t\tvm.LineItemList.LineItemCategory = '';\r\n\t\t\tvm.LineItemList.LineItemPercentage = '';\r\n\t\t\tvm.LineItemList.dLineItemWinPrice = '';\r\n\t\t\tvm.LineItemList.dLineItemFreelancerPrice = '';\r\n\t\t\tvm.LineItemList.LineItemQuantity='';\r\n\t\t\tvm.FreelancerPrice='';\r\n\t\t\tvm.Remarks='';\r\n\t\t}\r\n\t\tvm.changeFile = function (selector) {\r\n angular.element(selector).trigger(\"click\");\r\n\t\t}\r\n\t\t\r\n\t\t$scope.uploadLineItemFile = function (elem, index) {\r\n\t\t\t\r\n var index = (angular.element(elem).attr(\"data-index\")); \r\n var file = elem.files[0];\r\n if (file.type == \"application/pdf\" || file.type == \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"\r\n || file.type == \"application/msword\" || file.type.indexOf(\"image/jpg\") >= 0 || file.type.indexOf(\"image/png\") >= 0\r\n || file.type.indexOf(\"image/bmp\") >= 0 || file.type.indexOf(\"image/jpeg\") >= 0) {\r\n\r\n var data = new FormData();\r\n data.append(\"files\", file);\r\n jobDetailsService.uploadLineItemPic(loggedinUser, data, token, function (res) {\r\n if (res && res.status == 201 && res.data) {\t\r\n\t\t\t\t\t\tvm.edit=false;\t\t\t\t\t\r\n\t\t\t\t\t\tvm.PriceLineItemList[index].LineItemAttachment= vm.LineItemImage = res.data; \r\n\t\t\t\t\t vm.LineItemImage=res.data; \r\n\t\t\t\t\t\tvm.edit1=false;\r\n\t\t\t\t\t\t\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to upload line item, server error\");\r\n });\r\n } else {\r\n vm.showFailure(\"Failed\", \"You can upload image, pdf or word document only\");\r\n }\r\n }\r\n\t}\r\n\r\n\tvm.DisableScheduledExceptionButtons = function (disable) {\r\n\t if(disable){\r\n\t \t\tvm.disableExceptionButton = true;\t\t\t\r\n\t }\r\n\t else{\r\n\t \tvm.disableExceptionButton = false;\r\n\t }\r\n\t}\r\n\r\n\r\n\tvm.resolveException = function(){\r\n\t\tvm.DisableScheduledExceptionButtons(true);\r\n\t\tvar ticketIdList = []; \t\t\r\n\t\tticketIdList.push(uTicketId);\t\t\t \r\n\t\t\r\n\t\tjobDetailsService.ResolveException(loggedinUser, ticketIdList,token).then(function(resp){\r\n\t\t\tif (resp.status==202) {\t\t\r\n\t\t\t\t$timeout(function(){\t\t\t\t\t\t\t\t\r\n\t\t\t\t\tvm.showSuccess(\"Schedule Exception\", \"Exception Resolved Successfully\");\t\t\t\t\t\r\n\t\t\t\t\t// vm.getTicketByJobId();\t\r\n\t\t\t\t\twindow.location.reload(true);\r\n\t\t\t\t\tvm.DisableScheduledExceptionButtons(false);\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t}, 1000);\t\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t })\t\t\r\n\t }\r\n\r\n\tvm.Applycompletejob = function(){\r\n\r\n\t\tvar data ={\t\t\r\n\t\t\t\t\"ReqUserId\": loggedinUser,\r\n\t\t\t\t\"TicketId\": uTicketId,\r\n\t\t\t\t\"Status\": \"Completed\",\r\n\t\t\t\t\"TechnicianRating\": \"\",\r\n\t\t\t\t\"CompletionRemark\": \"\",\r\n\t\t\t\t\"ApprovalRemark\": \"\",\r\n\t\t\t\t\"SourceResolvedOn\": \"\",\r\n\t\t\t\t\"ClosureMode\": \"\",\r\n\t\t\t\t\"FieldJobClosureMode\": \"\",\r\n\t\t\t\t\"FieldJobVisitStatus\": \"\",\r\n\t\t\t\t\"JobWinRate\": 0,\r\n\t\t\t\t\"SelectedCompletionRemarkList\": [\r\n\t\t\t\t {\r\n\t\t\t\t\t\"remark\": \"\",\r\n\t\t\t\t\t\"description\": \"\",\r\n\t\t\t\t\t\"SelectedHWDetailList\": [\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\"Skill\": \"\",\r\n\t\t\t\t\t\t\"Code\": \"\",\r\n\t\t\t\t\t\t\"Name\": \"\",\r\n\t\t\t\t\t\t\"Description\": \"\",\r\n\t\t\t\t\t\t\"Category\": \"\",\r\n\t\t\t\t\t\t\"HardwareFrom\": \"\"\r\n\t\t\t\t\t }\r\n\t\t\t\t\t]\r\n\t\t\t\t }\r\n\t\t\t\t],\r\n\t\t\t\t\"RejectionRemark\": \"\"\r\n\t\t\t \r\n\t\t}\r\n\t\tjobDetailsService.completeJob(data, loggedinUser, token).then(function (resp) {\r\n\t\t\tif (resp.status == 202) {\r\n\t\t\t\tvm.showSuccess(\"Complete Job\", \"Job Completed Successfully.\");\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t$state.go('index.JobTickets', { reload: true });\r\n\t\t\t\t\r\n\t\t\t\t}, 1000);\r\n\t\t\t}\r\n\t\t\t\r\n\t\t})\r\n\t}\r\n\r\n\tvm.OpenApproveModal = function (currentJOb) \r\n {\t\r\n\t\tif(vm.PriceLineItemList.length>0)\r\n\t\t{\r\n\t\t\tvm.CurrentJob = currentJOb;\r\n\t\t\tvm.RatingOfTicket = ''; \r\n\t\t\tvm.aproveMessage = 'Please Rate !';\r\n\t\t\tapproveModalInstance = $uibModal.open({\r\n\t\t\ttemplateUrl: 'approve_model.html',\r\n\t\t\tscope: $scope\r\n\t\t\t}); \r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tvm.showFailure(\"Faild\", \"Please enter atleast one Line Item to Approve this job.\");\r\n\t\t}\r\n } \r\n\tvm.CloseModal = function () {\r\n\tapproveModalInstance.close();\r\n\t}\r\n\tvm.starChanged = function () {\r\n switch (vm.RatingOfTicket) {\r\n case '5':\r\n vm.aproveMessage = 'Excellent';\r\n break;\r\n \r\n case '4':\r\n vm.aproveMessage = 'Very Good';\r\n break;\r\n \r\n case '3':\r\n vm.aproveMessage = 'Good';\r\n break;\r\n \r\n case '2':\r\n vm.aproveMessage = 'Bad';\r\n break;\r\n \r\n case '1':\r\n vm.aproveMessage = 'Very Bad';\r\n break;\r\n\t\t}\r\n\t\tvm.ratingwarning=\"\";\r\n\t }\r\n\t\r\n\tvm.ApproveJob = function () { \r\n if (vm.RatingOfTicket) {\r\n\t\t approveModalInstance.close();\r\n\t\t var jobwinrate = 0.0;\r\n\t\t if(vm.Winrate == null || vm.Winrate == 0 || vm.Winrate =='')\r\n\t\t\tjobwinrate = 0.0;\r\n\t\t else\r\n\t\t\tjobwinrate = vm.Winrate;\r\n\t\t vm.ratingwarning=\"\";\r\n var data = { \r\n\t\t\t\"TicketId\": vm.TicketId,\r\n\t\t\t\"BroadcastRate\": vm.BasePriceTotal,\r\n\t\t\t\"MobiforceCommission\": vm.MobiforceCommission,\r\n\t\t\t\"FreelancerRate\": vm.TicketInfo.FreelancerRate,\r\n\t\t\t\"IsFinalApproval\": true,\r\n\t\t\t\"JobWinRate\" : parseFloat(jobwinrate.toFixed(2)),\r\n\t\t\t\"TechnicianRating\": vm.RatingOfTicket.toString(),\r\n\t\t\t\"ApprovalRemark\": vm.approvalRemark,\r\n\t\t\t\"IsSafetyAudit\":vm.IsSafetyAudit,\r\n\t\t\t\"Status\": \"Approved\",\r\n\t\t\t\"LineItemRequestList\": vm.PriceLineItemList\r\n \r\n\t\t };\r\n\t\t \r\n\t\t jobDetailsService.UpdateJobPaymentDynamicPriceAndApprove(loggedinUser, data, token).then(function(res){\r\n\t\t\t\r\n\t\t\tif (res.status == 200){\t\t\t\t\r\n\t\t\t\t\t$timeout(function(){\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\tmsg = \"Ticket and Price has been approved successfully\";\t\t\t\t\t\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", msg);\t\r\n\t\t\t\t\t\tvm.getTicketByJobId();\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t}, 1000);\r\n\t\t\t\t}\t\t\t\t\r\n\t\t\telse {\r\n\t\t\t\t\r\n\t\t\t\tvm.showFailure(\"Failed\", res.data);\r\n\t\t\t }\t\t\r\n\r\n\t\t\t}, vm.showFailure);\t\r\n\t\t\t\r\n } else {\r\n\t\t\tvm.ratingwarning=\"Please rate the technician.\";\r\n // approveModalInstance.close();\r\n }\r\n\t }\r\n\t vm.isApprovalPermission = function (defaultValue) {\r\n if (vm.accountConfig && vm.accountConfig['ApprovalPermission'] != null) {\r\n return vm.accountConfig['ApprovalPermission'].split(\",\").indexOf($localStorage.loggedInUser_Role) > -1;\r\n }\r\n return defaultValue;\r\n\t }\r\n\t// vm.BackToTicketList = function()\r\n\t// {\t\t \r\n\t// \t $localStorage.backToTicketList=\"JobDetailView\";\r\n\t// }\r\n\r\n\t $scope.checkPDF = function(path){ \r\n \r\n\t\tvar pt = path.substr(path.length - 4);\r\n\t\tif(pt == '.pdf'){\r\n\t\t vm.error = function(){\r\n\t\t\t$(\".pdf\").attr({\"target\" : \"_blank\"})\r\n\t\t\t}\r\n\t\t return true;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\t\r\n\t \r\n\t vm.PDFView = function (page) {\r\n\t\tvm.pdfimage=page;\r\n\t\t $scope.selected = null;\r\n\t\t $timeout(function(){\r\n\t\t\tjobAppointmentModal = $uibModal.open({\r\n\t\t\ttemplateUrl: 'PDFView.html',\r\n\t\t\tsize :'lg',\r\n\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t},1000)\t \r\n\t }\r\n\t vm.PDFUserModal = function(){\r\n\t\tjobAppointmentModal.close();\r\n\t }\r\n\r\n\t // download pdf\r\n\t\r\n\r\n\t vm.OpenPdfModal= function(PdfPathName)\r\n\t\t{\r\n vm.IsLoadSucessfull=false;\t\r\n MainService.GetImageBlob(loggedinUser, token, PdfPathName).then(function(resp) { \r\n vm.ConvertBase64ToBlob(resp.data);\r\n vm.IsLoadSucessfull=true;\t\r\n });\r\n\t\t\tjobAppointmentModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'SiteAuditPDFView.html',\r\n\t\t\t\tsize :'lg',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t\twindowClass: 'zindex'\r\n\t\t\t\t\r\n\t\t\t});\r\n\t\t}\r\n\t vm.SiteAuditPDFUserModal = function(){\r\n\t\tjobAppointmentModal.close();\r\n\t }\r\n\t\r\n\tvm.ConvertBase64ToBlob = function(response)\r\n\t{\r\n vm.Auditpdf=\"\";\r\n\t\tif(response !=null){\r\n\t\t\tvar arrrayBuffer = base64ToArrayBuffer(response); //data is the base64 encoded string\r\n\t\t\tvar blob = new Blob([arrrayBuffer], {type: \"application/pdf\"});\r\n\t\t\tvm.Auditpdf = URL.createObjectURL(blob);\t\t\t\t\r\n\t\t\tvm.IsLoadSucessfull=true;\r\n\t\t}\r\n\t\telse{\r\n\t\t\tvm.DocumentAvailableMessage=\"Document is not available\";\r\n\t\t\tvm.IsLoadSucessfull=true;\r\n\t\t}\r\n\t}\r\n\tfunction base64ToArrayBuffer(base64) \r\n\t{\r\n\t\tvar ret = base64.replace('data:application/pdf;base64,','');\r\n\t\t\tvar binaryString = atob(ret);\r\n\t\t\tvar binaryLen = binaryString.length;\r\n\t\t\tvar bytes = new Uint8Array(binaryLen);\r\n\t\t\tfor (var i = 0; i < binaryLen; i++) {\r\n\t\t\tvar ascii = binaryString.charCodeAt(i);\r\n\t\t\tbytes[i] = ascii;\r\n\t\t\t}\r\n\t\t\treturn bytes;\r\n\t} \r\n \r\n\tvm.getFileType = function(url){\r\n\t\tif(url.indexOf(\".jpg\")>=0 || url.indexOf(\".jpeg\")>=0 || url.indexOf(\".png\")>=0 || url.indexOf(\".bmp\")>=0 ||url.indexOf(\".JPG\")>=0 || url.indexOf(\".JPEG\")>=0 || url.indexOf(\".PNG\")>=0 || url.indexOf(\".BMP\")>=0){\r\n\t\t\treturn \"image\";\r\n\t\t} else if(url.indexOf(\".xls\")>=0 || url.indexOf(\".xlsx\")>=0 ||url.indexOf(\".XLS\")>=0 || url.indexOf(\".XLSX\")>=0){\r\n\t\t\treturn \"xls\";\r\n\t\t} else if(url.indexOf(\".pdf\")>=0 || url.indexOf(\".PDF\")>=0){\r\n\t\t\treturn \"pdf\";\r\n\t\t} else if(url.indexOf(\".doc\")>=0 || url.indexOf(\".docx\")>=0 || url.indexOf(\".DOC\")>=0 || url.indexOf(\".DOCX\")>=0){\r\n\t\t\treturn \"doc\";\r\n\t\t} else {\r\n\t\t\treturn \"others\";\r\n\t\t}\r\n\t\t}\r\n\t\tvm.WordDownloadtoView = function (page) { \r\n\t\t\t\r\n\t\tMainService.GetImageBlob(loggedinUser, token, page).then(function(resp) {\r\n\t\t\twindow.location.href = resp.data;\r\n\t\t}); \r\n\t\t\r\n\t}\r\n});\r\nfunction isNumberKey(evt,elemref, quantityvalue)\r\n{ \r\n var charCode = (evt.which) ? evt.which : evt.keyCode;\r\n if(quantityvalue==\"LineItemQuantity\"){\r\n if(charCode == 46 ){\r\n return false;\r\n }\r\n } \r\n if(charCode == 46 ){\r\n if ((elemref.value) && (elemref.value.indexOf('.') >= 0))\r\n return false;\r\n }\r\n if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57))\r\n { \r\n \r\n return false;\r\n } \r\n if(quantityvalue==\"Percentage\"){\r\n if(parseFloat(elemref.value + evt.key) > 100)\r\n {\r\n return false\r\n }\r\n }\r\n return true; \r\n}\r\nfunction CheckRegExOnKeyPress(e) {\r\n \r\n var regex = new RegExp(\"^[a-zA-Z0-9\\\\s\\\\.\\\\,\\\\-\\\\/]+$\");\r\n var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);\r\n if (regex.test(str)) {\r\n return true;\r\n }\r\n e.preventDefault();\r\n return false;\r\n};\r\n\nangular.module('inspinia').service('ManualAssignationJobService', function (ApiURL, $window, MMFCRMURL, PublicApiURL, ActivityURL, LocationURL, $http, FreelancerURL, SchedulingAPI) {\r\n var vm = this;\r\n\r\n vm.setShowSuccess = function (success) {\r\n vm.showSuccess = success;\r\n }\r\n\r\n vm.setShowFailure = function (failure) {\r\n vm.showFailure = failure;\r\n }\r\n //http://192.168.0.80:92/CoreAPI/api/Ticket/new/byStatus?reqUserId=kanika.bansal%40innotiontech.com\r\n this.GetTicketsByStatus = function (status, loggedinUser, token) {\r\n var url = ApiURL + '/api/Ticket/' + status + '/byStatus?reqUserId=' + loggedinUser;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n this.GetActiveUser = function (status, loggedinUser, token) {\r\n var url = ApiURL + '/api/Ticket/' + status + '/byStatus?reqUserId=' + loggedinUser;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n //Get all freelancers\r\n //http://192.168.0.80:92/FreelancerAPI/api/FreeLancerUser/kanika.bansal%40innotiontech.com/GetAllUsers\r\n // https://login.mymobiforce.com/FreelancerAPI/api/FreelancerUser/GetUserDetailsforSupervisior\r\n this.GetListAllFreelancers = function (data, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreelancerUser/GetUserDetailsforSupervisior';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n //http://192.168.0.80:92/FreelancerAPI/api/FreeLancerUser/Kanika.bansal%40innotiontech.com/GetAllFreLancerWithFilters?itemNames=UserStatus%2CRole&itemValues=Active%2CField%20Engineer\r\n this.GetAllFreelancersWithFilters = function (loggedinUser, itemNames, itemValues, token) {\r\n var url = FreelancerURL + '/api/FreeLancerUser/' + loggedinUser + '/GetAllFreLancerWithFilters?itemNames=' + itemNames + '&itemValues=' + itemValues;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n // url = https://product.mymobiforce.com/schedulingAPI/api/AutoJobBroadcast/BroadcastJobsManualMode\r\n this.AutoBroadcastAllNewJobsManualMode = function (loginUserId, ticketIds, token) {\r\n var url = SchedulingAPI + '/api/AutoJobBroadcast/BroadcastJobsManualMode';\r\n return $http.post(url, ticketIds, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loginUserId }\r\n });\r\n\r\n /*var url = SchedulingAPI + 'api/AutoJobBroadcast/BroadcastJobsManualMode'; \r\n return $http.post(url, ticketIds, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });*/\r\n }\r\n\r\n this.PullBackJob = function (loginUserId, ticketIds, token) {\r\n var url = ApiURL + '/api/Ticket/PullBackFromDispatchSupervisor';\r\n return $http.put(url, ticketIds, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loginUserId }\r\n });\r\n }\r\n\r\n this.callToTechnicianApi = function (loggedinUser, userid, token) {\r\n $http.get(ApiURL + '/api/CallPatching/ClickToCallFieldTeam?userId=' + userid,\r\n { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser } }).then(function (resp) {\r\n if (resp && resp.data) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Call Initiated\");\r\n }\r\n else {\r\n vm.showFailure(\"Failed\");\r\n }\r\n }\r\n });\r\n }\r\n\r\n this.callToTechnicianInBroadcastState = function (loggedinUser, userid, TicketId, token) {\r\n $http.get(ApiURL + '/api/CallPatching/ClickToCallFieldTeamInTicketBroadcastState?userId=' + userid + '&TicketId=' + TicketId,\r\n { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser } }).then(function (resp) {\r\n if (resp && resp.data) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Call Initiated\");\r\n }\r\n else {\r\n vm.showFailure(\"Failed\");\r\n }\r\n }\r\n });\r\n }\r\n\r\n this.GetAllWorkOrderJob = function (loggedinUser, ticketId, token) {\r\n var url = ApiURL + '/api/Ticket/GetAllWorkOrderJob?TicketId=' + ticketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n\r\n this.getAccounts = function (loggedinUser, token, callback, failure) {\r\n var url = ApiURL + '/api/account/GetAllAccountsMiniModel';\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n }, function () {\r\n failure(\"skills\", \"Unable to get accounts\");\r\n });\r\n }\r\n\r\n //http://192.168.0.80:92/CoreAPI/api/User/Kanika/byReportingToWithJobCount?reqUserId=kanika.bansal%40innotiontech.com\r\n this.GetTicketsById = function (ticketId, loggedinUser, token) {\r\n var url = ApiURL + '/api/Ticket/' + ticketId + '/' + loggedinUser + '/byTicketId';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAllSkills = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/SkillSets?reqUserId=' + loggedinUser;\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n //https://product.mymobiforce.com/CoreAPI/api/TicketRemarkOnStatus/getTicketRemarkOnStatus?AtStatus=FollowUp\r\n this.GetReasonsByStatus = function (loggedinUser, token, status) {\r\n var url = ApiURL + '/api/TicketRemarkOnStatus/getTicketRemarkOnStatus?AtStatus=' + status;\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n //Get Tickets by filter\r\n //http://192.168.0.80:92/CoreAPI/api/Ticket/kanika.bansal%40innotiontech.com/TicketStatus/Broadcasted/GetTicketsByUser\r\n //https://test.mymobiforce.com/coreapi/api/Ticket/reqUserId/GetTicketsForAssignation?itemNames=itemNames&itemValues=itemValues\r\n\r\n this.GetTicketsByFilter = function (loggedinUser, itemNames, itemValues, token) {\r\n var url = ApiURL + '/api/Ticket/' + loggedinUser + '/GetTicketsForAssignation?itemNames=' + itemNames + '&itemValues=' + itemValues;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n })\r\n }\r\n\r\n //Get Users By Filter\r\n\r\n //\r\n // http://192.168.0.80:92/CoreAPI/api/User/kanika.bansal%40innotiontech.com/UserStatus/Active/getusersbyfilters\r\n this.GetUsersByFilter = function (loggedinUser, itemNames, itemValues, token) {\r\n var url = ApiURL + '/api/User/' + loggedinUser + '/' + itemNames + '/' + itemValues + '/getusersbyfilters'\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n })\r\n }\r\n\r\n //Assign Tickets\r\n //http://192.168.0.80:92/CoreAPI/api/Ticket/ass/asd/asd/AssignTicket\r\n this.AssignTickets = function (userId, loggedinUser, ticketList, token) {\r\n // var TicketId = ticketList.split(',');\r\n var url = ApiURL + '/api/Ticket/' + userId + '/' + loggedinUser + '/AssignTicketToDispatchSupervisor'\r\n return $http.put(url, ticketList, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n })\r\n }\r\n\r\n\r\n // Bid Recieved Api\r\n // http://192.168.0.80:92/FreelancerAPI/api/BID/T0000000039/Received/kanika.bansal@innotiontech.com/byStatus\r\n this.GetBidReceivedByStatus = function (loggedinUser, ticketId, status, token) {\r\n var url = FreelancerURL + '/api/BID/GetLeadsByStatus?TicketId' + '=' + ticketId + '&' + 'leadStatus' + '=' + status\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n })\r\n }\r\n\r\n //bid deny https://product.mymobiforce.com/freelancerAPI/api/BID/GetLeadsByStatus?TicketId=T1140000016977&leadStatus=Deny\r\n this.GetBidDeny = function (loggedinUser, ticketId, status, token) {\r\n var url = FreelancerURL + '/api/BID/GetLeadsByStatus?TicketId' + '=' + ticketId + '&' + 'leadStatus' + '=' + status\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n })\r\n }\r\n //https://product.mymobiforce.com/FreelancerAPI/api/BID/GetLeadsByStatus?TicketId=T1140000091078&leadStatus=Sent&filter=Online\r\n //https://product.mymobiforce.com/freelancerAPI/api/BID/GetLeadsByStatus?TicketId=T1140000016977&leadStatus=Sent\r\n this.GetBidSentByStatus = function (loggedinUser, ticketId, status, token, userfilter) {\r\n var url = FreelancerURL + '/api/BID/GetLeadsByStatus?TicketId' + '=' + ticketId + '&' + 'leadStatus' + '=' + status + '&' + 'filter' + '=' + userfilter\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n })\r\n }\r\n\r\n this.GetFeedbackByUserId = function (loggedinUser, token, userid) {\r\n var url = FreelancerURL + '/api/BID/GetFeedbackByUserId?UserId=' + userid;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n })\r\n }\r\n\r\n //http://192.168.0.80:92/FreelancerAPI/api/BID/akshit.chauhan%40innotiontech.com/TicketStatus/Broadcasted/getjobsbyfilter\r\n this.GetBroadcastedBids = function (loggedinUser, itemNames, itemValues, token) {\r\n var url = FreelancerURL + '/api/BID/' + loggedinUser + '/' + itemNames + '/' + itemValues + '/getjobsbyfilter';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n //Assign Bids\r\n //http://192.168.0.80:92/FreelancerAPI/api/BID/kanika.bansal%40innotiontech.com/T0000000040/pri/acceptBIDAssignJob?jobAssignRate=100&jobAssignGrossRate=0\r\n this.AssignReceivedBid = function (loggedinUser, ticketId, userId, token) {\r\n var url = FreelancerURL + '/api/BID/' + loggedinUser + '/' + ticketId + '/' + userId + '/acceptBIDAssignJob';\r\n return $http.put(url, {}, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n //BroadCast Jobs/Bids\r\n //http://192.168.0.80:92/FreelancerAPI/api/BID/createbidforselectedteam?reqUserId=asdasd\r\n\r\n this.BroadCastJobs = function (loggedinUser, data, token) {\r\n var url = FreelancerURL + '/api/BID/createbidforselectedteam?reqUserId=' + loggedinUser;\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n //Get Users By Role\r\n //http://115.124.122.225/coreapi/api/User/Supervisor/byRole?reqUserId=satyendratiwari124%40gmail.com\r\n //http://192.168.0.80:92/CoreAPI/api/User/Supervisor/SkillSet/AC%20Repair/byRole?reqUserId=Kanika.bansal%40innotiontech.com\r\n this.GetUsersByRole = function (loggedinUser, role, itemNames, itemValues, token) {\r\n var url = ApiURL + '/api/User/' + role + '/' + itemNames + '/' + itemValues + '/byRole?reqUserId=' + loggedinUser;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n //Get All Vendor\r\n //http://192.168.0.80:92/CoreAPI/api/Vendor/kanika.bansal%40innotiontech.com/getallvendors\r\n\r\n //http://192.168.0.80:92/CoreAPI/api/Vendor/Kanika.bansal%40innotiontech.com/VendorLocations/Maharashtra/getvendorsbyfilters\r\n this.GetAllVendors = function (loggedinUser, itemNames, itemValues, token) {\r\n var url = ApiURL + '/api/Vendor/' + loggedinUser + '/' + itemNames + '/' + itemValues + '/getvendorsbyfilters'\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n\r\n this.GetFreelancerVendorsByFilters = function (loggedinUser, itemNames, itemValues, token) {\r\n var url = ApiURL + '/api/Vendor/' + loggedinUser + '/' + itemNames + '/' + itemValues + '/getfreelancervendorsbyfilters'\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n // https://perf.mymobiforce.com/coreapi/api/Vendor/U350000000001/VendorStatus/Active/getfixedvendorsbyfilters\r\n this.GetFixedVendorsByFilters = function (loggedinUser, itemNames, itemValues, token) {\r\n var url = ApiURL + '/api/Vendor/' + loggedinUser + '/' + itemNames + '/' + itemValues + '/getfixedvendorsbyfilters'\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n //http://192.168.0.80:92/CoreAPI/api/Ticket/ankur.sharma%40innotiontech.com/byUserId?reqUserId=akshit.chauhan%40innotiontech.com\r\n\r\n this.GetTicketsByUserId = function (loggedinUser, UserId, token) {\r\n var url = ApiURL + '/api/Ticket/' + UserId + '/byUserId?reqUserId=' + loggedinUser;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n // https://perf.mymobiforce.com/freelancerapi/api/BID/CreateRoutingBid?reqUserId=U350000000001\r\n this.RouteJobsforUser = function (loggedinUser, data, token) {\r\n var url = FreelancerURL + '/api/BID/CreateRoutingBid?reqUserId=' + loggedinUser;\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n this.getAllStateTech = function (loggedinUser, token) {\r\n var url = PublicApiURL + '/api/Location/GetSubRegion?userId=' + loggedinUser + '®ion=INDIA';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n\r\n this.ProcessJobToBeAssignedManually = function (ticketIDs, loggedInUserId, token) {\r\n var url = ApiURL + '/api/BatchProcessing/ProcessJobToBeAssignedManually';\r\n return $http.post(url, ticketIDs,\r\n {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedInUserId }\r\n })\r\n }\r\n\r\n // https://product.mymobiforce.com/coreapi/api/Ticket/TicketRejectionHistory?TicketId=T1140000092053\r\n\r\n this.getRejectHistory = function (TicketId, loggedinUser, token) {\r\n var url = ApiURL + '/api/Ticket/TicketRejectionHistory?TicketId=' + TicketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n\r\n });\r\n }\r\n\r\n //http://localhost:56749/api/User/GetUserByFiltersWithDynaPage?itemNames=SkillSet%2CLocations%2CRole&itemValues=EMF%20Survey%7CGeneral_Electrician%2CBIHAR%7CUTTAR%20PRADESH%2CField Engineer&userType=Freelancer&DateField=CreatedOn&PageIndex=0&PageSize=10\r\n this.GetUserByFiltersWithDynaPage = function (loggedinUser, token, itemNames, itemValues, userType, userAvailableStatus, DateField, PageIndex, PageSize) {\r\n var url = '';\r\n url = ApiURL + '/api/User/GetUserByFiltersWithDynaPageForCHDAccount?itemNames=' + itemNames + '&itemValues=' + itemValues + '&userType=' + userType + '&userAvailableStatus=' + userAvailableStatus + '&DateField=' + DateField + '&PageIndex=' + PageIndex + '&PageSize=' + PageSize;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n //https://product.mymobiforce.com/coreapi/api/Ticket/GetTicketsForAssignationByCHDAccount?fromDate=2021-06-01&toDate=2021-06-10&reqUserId=U00000000412&itemNames=Search&itemValues=J009&textItemNames=&textItemValues=&templateCols=&templateItemNames=&templateItemValues=&DateField=CreatedOn&PageIndex=1&PageSize=10\r\n this.getAllJobTickets = function (supervisorId, startDate, endDate, token, itemNames, itemValues, textItemNames, textItemValues, templateCols, templateItemNames, templateItemValues, DateField, PageIndex, PageSize, SortType, SortField) {\r\n var url = '';\r\n url = ApiURL + '/api/Ticket/GetTicketsbyDateRangeWithDynaPagingForCHDDashboard?fromDate=' + startDate + '&toDate=' + endDate + '&reqUserId=' + supervisorId + '&itemNames=' + itemNames + '&itemValues=' + itemValues + '&textItemNames=' + textItemNames + '&textItemValues=' + textItemValues + '&templateCols=' + templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues + '&DateField=' + DateField + '&PageIndex=' + PageIndex + '&PageSize=' + PageSize + '&SortType=' + SortType + '&SortField=' + SortField;\r\n // url = ApiURL + '/api/Ticket/GetTicketsbyDateRange?fromDate=' + startDate + '&toDate=' + endDate+ '&reqUserId=' + supervisorId + '&itemNames=' + itemNames + '&itemValues=' + itemValues+'&templateCols='+templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues + '&DateField=' + DateField;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': supervisorId\r\n }\r\n });\r\n }\r\n\r\n this.getAllJobTicketsCopyForPagging = function (supervisorId, startDate, endDate, token, itemNames, itemValues, textItemNames, textItemValues, templateCols, templateItemNames, templateItemValues, DateField, PageIndex, PageSize, SortType, SortField) {\r\n var url = '';\r\n url = ApiURL + '/api/Ticket/GetTicketsbyDateRangeWithDynaPagingForCHDListing?fromDate=' + startDate + '&toDate=' + endDate + '&reqUserId=' + supervisorId + '&itemNames=' + itemNames + '&itemValues=' + itemValues + '&textItemNames=' + textItemNames + '&textItemValues=' + textItemValues + '&templateCols=' + templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues + '&DateField=' + DateField + '&PageIndex=' + PageIndex + '&PageSize=' + PageSize + '&SortType=' + SortType + '&SortField=' + SortField;\r\n // url = ApiURL + '/api/Ticket/GetTicketsbyDateRange?fromDate=' + startDate + '&toDate=' + endDate+ '&reqUserId=' + supervisorId + '&itemNames=' + itemNames + '&itemValues=' + itemValues+'&templateCols='+templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues + '&DateField=' + DateField;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': supervisorId\r\n }\r\n });\r\n }\r\n\r\n //http://localhost:56749/api/Ticket/GetAssignedTicketforUser?UserId=U400000000395&reqUserId=U00000000079\r\n this.GetAssignedTicketforUser = function (UserId, loggedinUser, token) {\r\n var url = ApiURL + '/api/Ticket/GetAssignedTicketforUser?UserId=' + UserId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n })\r\n }\r\n\r\n this.GetJobTicket = function (ticketId, token) {\r\n var url = ApiURL + '/api/Ticket/' + ticketId + '/' + $localStorage.loggedInUserId + '/byTicketId';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetSchedulingEvaluationResult = function (data, reqUserId, token) {\r\n var url = SchedulingAPI + '/api/AssistedScheduling/GetFavoriteFR?reqUserId=' + reqUserId;\r\n return $http.post(url, data, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': reqUserId }\r\n });\r\n }\r\n\r\n // https://perf.mymobiforce.com/schedulingapi/api/AssistedScheduling/GetFavoriteFR?reqUserId=U400000000001\r\n this.GetAllPrefereTalentPool = function (data, reqUserId, token) {\r\n var url = SchedulingAPI + '/api/AssistedScheduling/GetPreWorkedWith?reqUserId=' + reqUserId;\r\n return $http.post(url, data, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': reqUserId }\r\n });\r\n }\r\n\r\n // https://perf.mymobiforce.com/schedulingapi/api/AssistedScheduling/GetPreWorkedWith?reqUserId=U400000000001\r\n this.GetAllTechnician = function (data, reqUserId, token) {\r\n var url = SchedulingAPI + '/api/AssistedScheduling/GetSchedulingEvaluationResult?reqUserId=' + reqUserId;\r\n return $http.post(url, data, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': reqUserId }\r\n });\r\n }\r\n\r\n this.BroadCastJobsforUser = function (loggedinUser, data, token) {\r\n var url = FreelancerURL + '/api/BID/createBidFromAssistedScheduling?reqUserId=' + loggedinUser;\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.AcceptJob = function (data, token, loggedInUserId, success, failure) {\r\n var url = ApiURL + '/api/Ticket/updatestatus';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.getPdfReport = function (loggedinUser, ticketID, token) {\r\n var url = ApiURL + '/api/Report/GeneratePdfReportForApprovedJob?TicketId=' + ticketID;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GeneratePdfJobSheet = function (loggedinUser, ticketID, token) {\r\n var url = ApiURL + '/api/Report/GeneratePdfJobSheet?TicketId=' + ticketID;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.PullBackTicket = function (loggedInUserId, ticketId, token) {\r\n var url = ApiURL + '/api/Ticket/' + loggedInUserId + '/' + ticketId + '/returnticket';\r\n return $http.put(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n })\r\n }\r\n\r\n this.RejectJob = function (data, token, loggedInUserId, success, failure) {\r\n var url = ApiURL + '/api/Ticket/updatestatus';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.ConvertToNewJob = function (data, token, loggedInUserId, success, failure) {\r\n var url = ApiURL + '/api/Ticket/updatestatus';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.UpdateHoldingStatus = function (loggedInUserId, ticketId, holdingStatus, reason, Remark, token) {\r\n var url = ApiURL + '/api/Ticket/' + loggedInUserId + '/' + ticketId + '/ticketholding?HoldingStatus=' + holdingStatus + '&Reason=' + reason + '&Remark=' + Remark;\r\n return $http.put(url, {}, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n })\r\n }\r\n\r\n this.downloadOnSiteReport = function (loggedInUserId, token, TicketId) {\r\n var url = ApiURL + '/api/Report/GeneratePdfOnSiteReport?TicketId=' + TicketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n\r\n });\r\n }\r\n\r\n this.GetCancellationReasons = function (AuditTicketId, status, loggedInUserId, token) {\r\n var url = '';\r\n url = ApiURL + '/api/TicketCancelationReasonController/' + loggedInUserId + '/getCancellationReasons?AtStatus=' + status + '&TicketId=' + AuditTicketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetPullBacknReasons = function (loggedInUserId, token) {\r\n var url = '';\r\n url = ApiURL + '/api/TicketRemarkOnStatus/getTicketRemarkOnStatus?AtStatus=' + 'PullBack';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetUserFeedbackOption = function (loggedInUserId, token) {\r\n var url = '';\r\n url = ApiURL + '/api/TicketRemarkOnStatus/getTicketRemarkOnStatus?AtStatus=' + 'userfeedback';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetUserByReportingTo = function (loggedInUserId, token) {\r\n var url = '';\r\n url = ApiURL + '/api/TerritoryMappingUser/GetUserByReportingTo';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n\r\n this.PullBackTicketFromTechnician = function (CancellationReasonsModel, loggedInUserId, token) {\r\n var url = ApiURL + '/api/Ticket/PullBackTicketFromTechnician';\r\n return $http.put(url, CancellationReasonsModel, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n // https://testg2.mymobiforce.com/coreapi/api/UserCallInputs/UserDataUpdateRequest\r\n\r\n this.UserDataUpdateRequest = function (data, loggedInUserId, token) {\r\n var url = ApiURL + '/api/UserCallInputs/UserDataUpdateRequest';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.UserPenaltyUpdate = function (data, loggedInUserId, token) {\r\n var url = ApiURL + '/api/BonusPenalty/ApplyPaneltyForUser';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n this.UpdateJobServerCancel = function (CancellationReasonsModel, loggedInUserId, token) {\r\n var url = ApiURL + '/api/Ticket/UpdateJobServerCancel';\r\n return $http.put(url, CancellationReasonsModel, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.SendCancelCodeToCustomer = function (SendCodeModel, loggedInUserId, token) {\r\n var url = ApiURL + '/api/Ticket/SendCancelCodeToCustomer';\r\n return $http.put(url, SendCodeModel, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.CancelTicket = function (loggedInUserId, ticketId, token) {\r\n var url = ApiURL + '/api/Ticket/CancelTicket?reqUserId=' + loggedInUserId + '&TicketId=' + ticketId;\r\n return $http.put(url, null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n // this.TBCCancelationAudit = function(TBCCancelationModel,ticketId,loggedInUserId, token){\r\n // var url = ApiURL + '/api/Ticket/UpdateJobAudit?TicketId='+ticketId +'&AuditValue='+TBCCancelationModel;\r\n // return $http.put(url,null, {\r\n // headers: {\r\n // 'Content-Type': 'application/json',\r\n // 'Token': token,\r\n // 'UserId': loggedInUserId\r\n // }\r\n // });\r\n // }\r\n\r\n this.TBCCancelationAudit = function (data, loggedInUserId, token) {\r\n var url = ApiURL + '/api/Ticket/UpdateJobAudit';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.updateTicketSettlement = function (data, token, loggedInUserId, success, failure) {\r\n\r\n var url = ApiURL + \"/api/Ticket/setsettlementstatus\"\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.UpdateFollowUpReason = function (data, files, token, loggedInUserId, success, failure) {\r\n var formdata = new FormData();\r\n formdata.append(\"files\", files[0]);\r\n var followupdata = JSON.stringify(data);\r\n formdata.append(\"ActivityModel\", followupdata);\r\n\r\n var url = ActivityURL + '/api/Activity/FollowUpWithReason';\r\n return $http.post(url, formdata, {\r\n headers: { 'Content-Type': undefined, 'Token': token, 'UserId': loggedInUserId }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n this.TicketFollowUpWithoutDoc = function (data, token, loggedInUserId, success, failure) {\r\n var formdata = new FormData();\r\n var followupdata = JSON.stringify(data);\r\n formdata.append(\"ActivityModel\", followupdata);\r\n\r\n var url = ActivityURL + '/api/Activity/FollowUpWithReason';\r\n return $http.post(url, formdata, {\r\n headers: { 'Content-Type': undefined, 'Token': token, 'UserId': loggedInUserId }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.getCustomerJobCardbyJobId = function (accountId, jobId, token, success, failure) {\r\n $http.get(ApiURL + \"/api/GetCustomerJobCardbyJobId/\" + jobId + \"/\" + accountId + \"/GetCustomerJobCardbyJobId\", {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': accountId\r\n }\r\n }).then(function (res) {\r\n if (res && res.data && success) {\r\n success(res.data);\r\n } else if (failure) {\r\n failure();\r\n }\r\n });\r\n }\r\n\r\n this.AddSiteAuditwithAttachment = function (data, files, token, loggedinUser) {\r\n var formdata = new FormData();\r\n formdata.append(\"files\", files[0]);\r\n var followupdata = JSON.stringify(data);\r\n formdata.append(\"AuditRequestModel\", followupdata);\r\n formdata.append(\"reqUserId\", loggedinUser);\r\n var url = ApiURL + '/api/Upload/PostMediaFileWithAuditObject';\r\n return $http.post(url, formdata, {\r\n headers: { 'Content-Type': undefined, 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.getFixedUserInfo = function (userId, loggedInUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerUser/' + userId + '/' + loggedInUser + '/' + 'byUserIdWithJobCount';\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedInUser }\r\n })\r\n }\r\n\r\n this.getJobsByUserId = function (status, userId, loggedinUser, token, PageIndex, PageSize, OrderBy, SortType) {\r\n var url = ApiURL + \"/api/CallPatching/\" + userId + \"/\" + status + \"/byUserIdStatusforCHDWithDynPaging?\" + 'PageIndex=' + PageIndex + '&PageSize=' + PageSize + '&OrderBy=' + OrderBy + '&SortType=' + SortType;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n\r\n this.ResolveException = function (loggedinUser, ticketId, token) {\r\n var url = SchedulingAPI + '/api/AutoSchedulerException/MarkResolveSchedulerExceptionForTicket?reqUserId=' + loggedinUser;\r\n return $http.put(url, { 'exceptionIdList': ticketId }, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n this.GetFreelancerJobs = function (userId, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreelancerTicket/' + userId + '/' + loggedinUser + '/ByUserId'\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.ResolveException = function (loggedinUser, ticketId, token) {\r\n var url = SchedulingAPI + '/api/AutoSchedulerException/MarkResolveSchedulerExceptionForTicket?reqUserId=' + loggedinUser;\r\n return $http.put(url, { 'exceptionIdList': ticketId }, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.ConvertJobIntoNew = function (MoveSPDbyTwoDays, IsCommissionDetect, PullBackReason, loggedinUser, ticketId, token) {\r\n var url = ApiURL + '/api/Ticket/ConvertToNewFromBroadcasted?PullBackReason=' + PullBackReason + '&MoveSPDbyTwoDays=' + MoveSPDbyTwoDays + '&IsCommissionDetect=' + IsCommissionDetect;\r\n return $http.post(url, ticketId, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetCustomersByAccount = function (loggedinUser, accountId, token) {\r\n var url = ApiURL + '/api/Customer/GetCustomerByAccountId?accountId=' + accountId\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n })\r\n }\r\n\r\n this.getAllAccounts = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/CentralHelpDesk/GetAllAccountHDConfig';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n\r\n }\r\n });\r\n }\r\n\r\n this.convertScheduleException = function (ticket, loggedinUser, token) {\r\n var url = SchedulingAPI + '/api/AutoSchedulerException/MarkTicketToScheduleException';\r\n return $http.put(url, ticket, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.CreateJobBundle = function (loggedinUser, data, IsSuggested, token) {\r\n var url = ApiURL + '/api/JobBundle/CreateJobBundle?IsSuggested=' + IsSuggested;\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.UnBundleJobs = function (loggedinUser, data, token) {\r\n var url = ApiURL + '/api/JobBundle/UnBundleJobs';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.RouteBundlesforUser = function (loggedinUser, data, token) {\r\n var url = FreelancerURL + '/api/BID/CreateRoutingBidForBundle?reqUserId=' + loggedinUser;\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.BroadcastJobBundle = function (loggedinUser, data, token) {\r\n var url = FreelancerURL + '/api/BID/BroadcastJobBundle?reqUserId=' + loggedinUser;\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.BroadCastBundlesforUser = function (loggedinUser, data, token) {\r\n var url = FreelancerURL + '/api/BID/ScheduleBundleWithAssistedScheduling?reqUserId=' + loggedinUser;\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAllBundledJobs = function (loggedinUser, bundleJobId, token) {\r\n var url = ApiURL + '/api/JobBundle/GetAllBundledJobs?bundleJobId=' + bundleJobId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.getJobsSuggestion = function (loggedinUser, token, startDate, endDate, itemNames, itemValues) {\r\n var url = ApiURL + \"/api/JobBundle/GetSuggestedJobByUser?\" + 'fromDate=' + startDate + '&toDate=' + endDate + '&itemNames=' + itemNames + '&itemValues=' + itemValues;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.getAllCustomers = function (loginUserId, token) {\r\n var url = ApiURL + '/api/Customer?reqUserId=' + loginUserId;\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loginUserId }\r\n });\r\n }\r\n\r\n this.GetAllProjects = function (loginUserId, token) {\r\n var url = ApiURL + '/api/Project/' + loginUserId + '/' + loginUserId + '/GetProjectsByUserId'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loginUserId }\r\n })\r\n }\r\n\r\n this.GetTicketDetailsBySuggestion = function (loggedinUser, token, startDate, endDate, itemNames, itemValues) {\r\n var url = ApiURL + \"/api/JobBundle/GetTicketDetailsBySuggestion?\" + 'fromDate=' + startDate + '&toDate=' + endDate + '&itemNames=' + itemNames + '&itemValues=' + itemValues;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.updatePlannedClosure = function (loggedinUser, data, token, success, failure) {\r\n $http.put(ApiURL + '/api/Ticket/UpdatePlannedClosureDate', data,\r\n { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if (res && res.status == 200 && res) {\r\n success(res.data);\r\n } else {\r\n failure(\"Failed\", res.data.Message);\r\n }\r\n }, function (err) {\r\n failure(\"Failed\", \"Unable to update job, server is not responding correctly.\");\r\n });\r\n }\r\n\r\n\r\n this.DownloadAllTicketReportWithFilter = function (loggedinUser, fromDate, toDate, itemNames, itemValues, textItemNames, textItemValues, templateCols, templateItemNames, templateItemValues, DateField) {\r\n var url = PublicApiURL + \"/api/Report/DownloadAllTicketReportWithFilter?fromDate=\" + fromDate + '&toDate=' + toDate + '&reqUserId=' + loggedinUser + \"&itemNames=\" + itemNames + '&itemValues=' + itemValues + '&textItemNames=' + textItemNames + '&textItemValues=' + textItemValues + '&templateCols=' + templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues + '&DateField=' + DateField;\r\n $window.open(url);\r\n }\r\n\r\n\r\n this.GetAllReprotingToUsersCRM = function (ticketId, loggedInUserId, token) {\r\n var url = MMFCRMURL + '/api/UserManagement/GetAllReprotingToUsersCRM?TicketId=' + ticketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.TransferCallToServiceCentre = function (ticketId, userId, loggedInUserId, token) {\r\n var url = MMFCRMURL + '/api/CRMConsumer/TransferCallToServiceCentre?TicketId=' + ticketId + '&UserId=' + userId;\r\n return $http.put(url, null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n this.ReopenCancelCall = function (ticketId, loggedInUserId, token) {\r\n var url = MMFCRMURL + '/api/CRMConsumer/ReopenCancelCall?TicketId=' + ticketId;\r\n return $http.put(url, null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.DownloadPAVReprotXls = function (TicketId, loggedInUserId, token) {\r\n var url = ApiURL + '/api/Report/DownloadPAVReprotXls?TicketId=' + TicketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n\r\n });\r\n }\r\n\r\n this.OnSiteReprotUploadWeb = function (data, files, token, loggedinUser) {\r\n var formdata = new FormData();\r\n formdata.append(\"files\", files);\r\n var url = ApiURL + '/api/Upload/OnSiteReprotUploadWeb?TicketId=' + data;\r\n return $http.post(url, formdata, {\r\n headers: { 'Content-Type': undefined, 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n\r\n});\nangular.module('inspinia').controller('ManualAssignationJobController', function (ManualAssignationJobService,DashboardService,MainService,JobTicketViewService,CentralHelpdeskConfigService,AllUsersListService,ReferService, ScheduleAssignService,$q, $log, $state, $localStorage,UIURL, $stateParams, $uibModal, $scope, DTOptionsBuilder, DTColumnDefBuilder, toaster, $timeout, $compile, uiCalendarConfig, ImageUrl, PublicApiURL,$window) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var loggedinUserSkill = $localStorage.loggedInUser_SkillSet;\r\n var loggedinUserRegion = $localStorage.loggedInUser_Region;\r\n vm.accountid= $localStorage.accountConfig.AccountId;\r\n vm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n vm.CallPatchEnable = $localStorage.accountConfig.CallPatchEnable;\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n $scope.myvalue = false;\r\n $scope.class_status = true;\r\n $scope.toggleSingleClass = function() {\r\n $scope.class_status = !$scope.class_status;\r\n $scope.myvalue = true;\r\n };\r\n\r\n $scope.broadcastSentUser = true;\r\n $scope.toggleForBroadcast = function() {\r\n $scope.broadcastSentUser = !$scope.broadcastSentUser;\r\n $scope.myvalue = true;\r\n };\r\n\r\n $scope.timeLineDetail = true;\r\n $scope.openTimeLine = function() {\r\n $scope.timeLineDetail = !$scope.timeLineDetail;\r\n $scope.myvalue = true;\r\n };\r\n $scope.manualAssignationWrapper = \"hide-nav\";\r\n $scope.toggleMenu = function(){\r\n if ($scope.manualAssignationWrapper === \"hide-nav\"){\r\n $scope.manualAssignationWrapper = \"show-nav\";\r\n }\r\n else{\r\n $scope.manualAssignationWrapper = \"hide-nav\";\r\n }\r\n };\r\n\r\n vm.orderdetailsview = function (salesOrderDetail) {\r\n $state.go('index.WareHouseOrderDetailView', {\r\n order_id: salesOrderDetail\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n $scope.hideAllUser = true;\r\n \r\n $scope.showAllUser = function(){\r\n $scope.hideAllUser = true; \r\n };\r\n $scope.hideAllUserbutton = function(){\r\n $scope.hideAllUser = false; \r\n };\r\n $scope.userClass_status = true;\r\n $scope.hideoverlay = function(){\r\n $scope.myvalue = false;\r\n $scope.class_status = true;\r\n $scope.userClass_status = true;\r\n $scope.broadcastSentUser = true;\r\n $scope.timeLineDetail = true;\r\n $scope.userFilter = true;\r\n $scope.minatureSlide = true;\r\n $scope.myvalue = false;\r\n vm.closeFeedbackoption();\r\n }\r\n $scope.close360ViewBroadcaste = function(){\r\n $scope.myvalue = false;\r\n angular.element('#div1').removeClass(\"alpha\");\r\n $scope.userClass_status = true;\r\n }\r\n $scope.userSingle = function() {\r\n $scope.userClass_status = !$scope.userClass_status;\r\n $scope.myvalue = true;\r\n };\r\n $scope.userFilter = true;\r\n $scope.assignJobFilter = function() {\r\n $scope.userFilter = !$scope.userFilter;\r\n $scope.myvalue = true;\r\n $scope.manualAssignationWrapper = \"hide-nav\";\r\n // $scope.toggleMenu();\r\n };\r\n $scope.minatureSlide = true;\r\n $scope.minatureSlideBtn = function() {\r\n $scope.minatureSlide = !$scope.minatureSlide;\r\n $scope.myvalue = true;\r\n };\r\n\r\n $scope.hideFilter = function(){\r\n $scope.userFilter = true;\r\n $scope.minatureSlide = true;\r\n $scope.myvalue = false;\r\n }\r\n\r\n var token = $localStorage.token;\r\n vm.IsOpenBucketEnabled = $localStorage.IsOpenBucketEnabled;\r\n vm.IsAutoAssignToCHDteam = $localStorage.IsAutoAssignToCHDteam;\r\n vm.IsOpenBucketEnabled = $localStorage.IsOpenBucketEnabled;\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.accountConfig = $localStorage.accountConfig;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.IsMaterialDelivered = $localStorage.accountConfig.IsMaterialDelivered;\r\n vm.MobiforceCommission = vm.getAccountConfigSetting('MobiforceCommissionPercentage');\r\n vm.VendorAssignation = vm.getAccountConfigSetting('VendorAssignation');\r\n vm.EnableRegion = vm.getAccountConfigSetting('EnableRegion');\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n vm.FreelancerAccess = vm.getAccountConfigSetting('FreelancerAccess');\r\n //Global Variable Declaration\r\n vm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n vm.loggedInUserVendorId = $localStorage.loggedInUser_VendorId;\r\n vm.loggedInUserReportingTo = $localStorage.loggedInUser_ReportingTo;\r\n vm.TeamStatus = '';\r\n vm.NewJobs = [];\r\n vm.BroadcastedJobs = '';\r\n vm.Attendence = '';\r\n vm.CancellationReasons = \"\";\r\n vm.JobProfile = '';\r\n vm.GroupType = \"Individual|WorkOrderGroup\";\r\n vm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n vm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n vm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n vm.loggedinAs = $localStorage.loggedinAs;\r\n vm.skillsSearch = '';\r\n vm.locationSearch = '';\r\n vm.userlocation = '';\r\n vm.userskill = '';\r\n vm.UserAvailable='';\r\n vm.AttendenceForBid ='';\r\n vm.skillData = '';\r\n vm.applyUserFilter = '';\r\n vm.MoveSPDbyTwoDays = false;\r\n vm.IsCommissionDetect = false;\r\n vm.filter = '';\r\n vm.circleData = '';\r\n vm.checkAll = '';\r\n vm.fixedUsers = '';\r\n vm.isChecked = \"fixed\";\r\n vm.freelancerUsers = '';\r\n vm.ticketaccount = '';\r\n vm.PermanentState = '';\r\n $scope.isCollapsed = true;\r\n $scope.isOpened = true; \r\n vm.PermanentCity ='';\r\n vm.ticketskill = '';\r\n vm.ticketstatus = '';\r\n vm.FreelancerVendorUsers = [];\r\n vm.VendorUsers = '';\r\n vm.selectedJob = '';\r\n vm.newJobselectAny = '';\r\n vm.fixed_selectAll = '';\r\n vm.searchText = \"\";\r\n vm.tab = '';\r\n vm.freelancerCheckAny = '';\r\n vm.filteredProperties = {};\r\n vm.filteredFreelancer = {};\r\n var GrossRate = 1.18;\r\n vm.selectsinglebidJob = '';\r\n vm.jobselected = [];\r\n vm.freelancer_selectAll = '';\r\n vm.supervisorList = '';\r\n vm.vendorList = [];\r\n vm.eventSources = [];\r\n vm.uiConfig = {};\r\n vm.AvailableUserData = '';\r\n vm.events = [];\r\n vm.UserAvailabilityData = '';\r\n vm.routebuttonDisable=false;\r\n vm.brodcastButtonDisable=false;\r\n vm.assignButtonDisable=false;\r\n vm.CurrentState = '';\r\n vm.WorkState = '';\r\n vm.WorkCity = '';\r\n vm.UserAvailabilityList = [\"Active\",\"MMFPrimeMember\",\"NoLead\",\"Offline\",\"OneJobDone\",\"Online\"];\r\n var itemNames = '';\r\n var itemValues = '';\r\n var fnitemNames = '';\r\n var fnitemValues = '';\r\n var templateItemNames = '';\r\n var templateItemValues = '';\r\n var textItemNames = '';\r\n var textItemValues = '';\r\n var PageIndex = 1;\r\n var PageSize = 10; \r\n vm.OrderBy = \"CreatedOn\";\r\n vm.sorttype = \"desc\";\r\n vm.SortType = \"desc\";\r\n vm.SortField = 'CreatedOn';\r\n vm.IsSafetyAudit = 'Not Done'; \r\n vm.ratingwarning=\"\";\r\n vm.ticketListLength=0;\r\n vm.pageindexCount=0;\r\n vm.bpageindexCount=0;\r\n vm.wpageindexCount=0;\r\n // vm.DateField=\"StatusChangedOn\";\r\n vm.DateField= vm.accountConfig.AccountId == 0 ? 'StatusChangedOn' : 'CreatedOn';\r\n vm.searchStatusText=\"All\"; \r\n var uPageIndex = 1;\r\n var uPageSize = 10; \r\n var jPageIndex = 1;\r\n var jPageSize = 10; \r\n var fPageIndex = 1;\r\n var fPageSize = 10;\r\n var bPageIndex = 1;\r\n var bPageSize = 10; \r\n var wPageIndex = 1;\r\n var wPageSize = 10;\r\n $scope.expanded = true; \r\n vm.UsersType=\"\";\r\n vm.uType=\"\";\r\n var uitemNames=\"\";\r\n var witemNames=\"\";\r\n var witemValues=\"\";\r\n vm.ComplianceDisable = true;\r\n vm.PincodeEnabled = false;\r\n vm.OneJobDoneOnSkill = false;\r\n vm.IsMMFPrimeMember = false;\r\n var uitemValues=\"\";\r\n vm.searchUsersText=\"\";\r\n vm.TicketSelectedForAssistedSuggestion = \"\"\r\n vm.UserSuggestionList = [];\r\n vm.StoreUserSuggestionList = [];\r\n vm.UserSuggestionCount = '';\r\n vm.HDAllAccounts = [];\r\n vm.jobsCount='';\r\n vm.UserBIDCount = '';\r\n vm.showMode = 'nearBy';\r\n vm.ticketPageListCount = 10;\r\n vm.userPageListCount= 10;\r\n vm.suggestionPageListCount=10;\r\n vm.jobsPageListCount=10;\r\n vm.financePageListCount= 10;\r\n vm.disableBroadcastButton = false;\r\n vm.disableBroadcastCloseButton = false;\r\n vm.pageListCounts = [10, 20, 30, 50];\r\n var startDate = moment().subtract(7, 'day').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.reasonsForFU = '';\r\n vm.reasonsForHold = ''; \r\n vm.primaryFollowUpReason = '';\r\n vm.primaryFollowUpRemark = ''; \r\n vm.primaryHoldReason='';\r\n vm.primaryHoldRemark=''; \r\n vm.convertNewReasons = '';\r\n vm.convertNewReasonsRemark ='';\r\n vm.disableExceptionButton = false;\r\n vm.bundleTicketArray = [];\r\n vm.unbundleTicketArray = [];\r\n vm.bundleJobId='';\r\n vm.bundleListLength=0;\r\n vm.workOrderListLength=0;\r\n vm.bundlePageListCount = 10;\r\n vm.workOrderPageListCount = 10;\r\n vm.pullBackReasons =''; \r\n vm.pullBackReasonsRemark= '';\r\n var wsSDate = ''; \r\n var wsEDate = '';\r\n $scope.IsSuggested = false;\r\n vm.closureCode = \"\";\r\n vm.IsClosuerCodeAvailable = false;\r\n vm.IsWithInDays = \"first\";\r\n vm.WithInDaysNumbers = [1,2,3,4,5];\r\n vm.PlannedClosureDate = \"\";\r\n vm.itemNamesSgtn = 'Pincode';\r\n vm.itemValuesSgtn = '';\r\n vm.ticketdates = { startDate: moment().subtract(7, 'day'), endDate: moment() };\r\n vm.ticketranges = {\r\n 'Today': [moment(), moment()],\r\n //'Yesterday': [moment().subtract(1, 'days'), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n 'Till now': [moment().subtract(5, 'years'), moment()]\r\n };\r\n var scdt = new Date();\r\n scdt.setMinutes(scdt.getMinutes() + 30);\r\n vm.SourceCreationDate = scdt;\r\n var pcdt = new Date();\r\n pcdt.setDate(pcdt.getDate() + 7);\r\n vm.PlannedClosureDate = pcdt;\r\n\r\n vm.openCalendar = function (e, picker) {\r\n vm.ClosureDateTime.open = true;\r\n };\r\n var plannedclosuredatelimit = new Date();\t\r\n plannedclosuredatelimit.setMinutes(plannedclosuredatelimit.getMinutes() + 1)\r\n vm.ClosureDateTime = { date: '', datepickerOptions: { minDate: plannedclosuredatelimit } };\r\n\r\n var date = new Date();\r\n var d = date.getDate();\r\n var m = date.getMonth();\r\n var y = date.getFullYear(); \r\n vm.eventsF = function (start, end, timezone, callback) {\r\n var s = new Date(start).getTime() / 1000;\r\n var e = new Date(end).getTime() / 1000;\r\n var m = new Date(start).getMonth();\r\n var events = [{\r\n title: 'Feed Me ' + m,\r\n start: s + (50000),\r\n end: s + (100000),\r\n allDay: false,\r\n className: ['customFeed']\r\n }];\r\n callback(events);\r\n };\r\n if (vm.accountConfig.AccountId === '361' || vm.accountConfig.AccountId === '364' || vm.accountConfig.AccountId === '380' || vm.accountConfig.AccountId === '383') {\r\n vm.UserAvailabilityList = vm.UserAvailabilityList.filter(function(item) {\r\n return item !== \"MMFPrimeMember\";\r\n });\r\n}\r\n vm.getSkills = function () {\r\n JobTicketViewService.getSkills(loggedinUser, token, function (skills) {\r\n vm.skills = skills;\r\n //vm.skills.unshift({ \"SkillName\": \"All Job Types\" }); \r\n if (vm.path == 'isTicketView') {\r\n vm.searchJobTypeText = $localStorage.AllJobType;\r\n // vm.searchStatusText = $localStorage.AllJobStatus;\r\n } \r\n }, vm.showFailure);\r\n }\r\n vm.getSkills();\r\n\r\n vm.GetFinanceTicketDetail = function (paymentId,isCollapsed) {\r\n $scope.isCollapsed = !isCollapsed; \r\n DashboardService.GetFinanceTicketDetail(paymentId).then(function (resp) {\r\n vm.financedetails = resp.data;\r\n })\r\n }\r\n\r\n vm.Allapplyfilter = function(){\r\n vm.searchText='';\r\n $scope.userFilter = true;\r\n $scope.myvalue = false;\r\n vm.GroupType = 'Individual|WorkOrderGroup';\r\n $scope.$broadcast('update.daterangepicker', {date: vm.ticketdates}); \r\n $scope.UserTablepagination = {}; \r\n vm.FilterArray(); \r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n} \r\n\r\nvm.getAllAccounts = function ( ) {\r\n ManualAssignationJobService.getAllAccounts(loggedinUser, token).then(function (resp) { \r\n if (resp && resp.data) { \r\n if(resp.status==200)\r\n {\r\n vm.HDAllAccounts = resp.data;\r\n\r\n }\r\n } \r\n }, function () { \r\n });\r\n}\r\nvm.getAllAccounts();\r\n\r\nvm.getAllCustomer = function(){ \r\n ManualAssignationJobService.getAllCustomers(loggedinUser,token).then(function(resp){\r\n vm.CustomerAcc = resp.data;\r\n })\r\n} \r\nvm.getAllProject= function(){ \r\n ManualAssignationJobService.GetAllProjects(loggedinUser,token).then(function(resp){\r\n vm.ProjectAcc = resp.data;\r\n })\r\n}\r\nvm.getAllCustomer();\r\nvm.getAllProject();\r\n\r\nvm.GetCustomerByAccount=function()\r\n{ var SelectedAccountId = ''; \r\n angular.forEach(vm.HDAllAccounts, function (account) {\r\n if (account.AccountName==vm.SearchByAccountName) {\r\n SelectedAccountId = account.AccountId; \r\n }\r\n })\r\n ManualAssignationJobService.GetCustomersByAccount(loggedinUser,SelectedAccountId,token).then(function(resp){\r\n vm.CustomerList = resp.data;\r\n })\r\n}\r\n\r\nvm.GetProjectByCustomer=function()\r\n{\r\n vm.ProjectListByCust=[];\r\n angular.forEach(vm.CustomerList, function (customer) {\r\n if (customer.CompanyName==vm.SearchByCName) {\r\n vm.ProjectListByCust = customer.Projects; \r\n }\r\n})\r\n}\r\n\r\nvm.GetProjectByCust=function()\r\n {\r\n vm.ProjectListByCustomer=[];\r\n angular.forEach(vm.ProjectList, function (prject) {\r\n if (prject.CustomerName==vm.SearchByCName) {\r\n vm.ProjectListByCustomer.push(prject);\r\n }\r\n })\r\n }\r\n\r\n vm.AutoBroadcastJobs = function(){\r\n vm.DisableBroadcastButtons(false); \r\n var ticketIds = ''; \r\n var count = 0; \r\n angular.forEach(vm.ticketList, function(d){\r\n if (d.checked) {\r\n count = count + 1;\r\n if(ticketIds == ''){\r\n ticketIds = d.TicketId;\r\n }\r\n else{\r\n ticketIds = ticketIds + \",\" + d.TicketId;\r\n } \r\n }\r\n })\r\n\r\n vm.confirmationMessage = 'Please confirm if you want to auto schedule ' + count + ' Jobs?';\r\n vm.autoBroadcastJobIds = ticketIds;\r\n confirmationModalInstance = $uibModal.open({\r\n templateUrl: 'auto_schedule_confirmation_model.html',\r\n scope: $scope,\r\n backdrop: 'static'\r\n });\r\n }\r\n\r\n vm.confirmationCloseModal = function () {\r\n vm.DisableBroadcastButtons(false); \r\n confirmationModalInstance.close();\r\n }\r\n\r\n\r\n vm.DisableBroadcastButtons = function (disable) {\r\n if(disable){\r\n vm.disableBroadcastButton = true;\r\n vm.disableBroadcastCloseButton = true;\r\n }\r\n else{\r\n vm.disableBroadcastButton = false;\r\n vm.disableBroadcastCloseButton = false;\r\n }\r\n }\r\n\r\n vm.AutoScheduleJobs = function () { \r\n vm.DisableBroadcastButtons(true);\r\n var data = {\r\n \"ticketIds\": vm.autoBroadcastJobIds\r\n } \r\n ManualAssignationJobService.AutoBroadcastAllNewJobsManualMode(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n }, 1000); \r\n confirmationModalInstance.close(); \r\n vm.showSuccess(\"Success\", \"Jobs has been auto scheduled successfully\");\r\n }\r\n if (resp.status == 206) { \r\n vm.showFailure(\"Failed\", resp.data);\r\n vm.DisableBroadcastButtons(false); \r\n confirmationModalInstance.close();\r\n }\r\n }, function () { \r\n });\r\n }\r\n\r\n ManualAssignationJobService.setShowSuccess($scope.$parent.$parent.main.showSuccess);\r\n ManualAssignationJobService.setShowFailure($scope.$parent.$parent.main.showFailure);\r\n \r\n vm.callToTechnician = function (userid) { \r\n ManualAssignationJobService.callToTechnicianApi(loggedinUser,userid, token).then(function (resp) {\r\n if(resp.status == 200) {\r\n vm.showSuccess(\"Success\",\"Call Initiated\") \r\n }\r\n else {\r\n vm.showFailure(\"Failure\",resp.data.Message)\r\n }\r\n \r\n });\r\n \r\n}\r\n\r\nvm.callToTechnicianInBroadcastState = function (userid,ticketId) { \r\n ManualAssignationJobService.callToTechnicianInBroadcastState(loggedinUser,userid,ticketId, token).then(function (resp) {\r\n if(resp.status == 200) {\r\n vm.showSuccess(\"Success\",\"Call Initiated\") \r\n }\r\n else {\r\n vm.showFailure(\"Failure\",resp.data.Message)\r\n }\r\n \r\n });\r\n\r\n}\r\n\r\nvm.GetAllWorkOrderJob = function (isCollapsed,workOrder) {\r\n if(vm.workOrder == workOrder){\r\n $scope.isCollapsed = !isCollapsed;\r\n } \r\n $scope.activeRow = workOrder;\r\n vm.workOrder = workOrder;\r\n vm.workOrdertList = [];\t\r\n if($scope.isCollapsed)\r\n return;\r\n ManualAssignationJobService.GetAllWorkOrderJob(loggedinUser,workOrder, token).then(function (resp) {\r\n if (resp && resp.data) {\t\t \r\n if(resp.status==200){\r\n vm.workOrdertList = resp.data;\r\n }\r\n }\r\n });\r\n}\r\n\r\nvm.getRejectHistory = function (ticketId) \r\n{ \r\n ManualAssignationJobService.getRejectHistory(ticketId,loggedinUser,token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.getDetailsList=resp.data;\r\n openHistoryModel = $uibModal.open({\r\n templateUrl: 'openHistoryModel.html',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n\r\n }, function () { \r\n });\r\n} \r\n\r\nvm.CloseHistoryModel = function () {\r\n openHistoryModel.close();\r\n}\r\n\r\n //pull back\r\n vm.PullBackJobs = function(){\r\n var ticketIds = ''; \r\n var count = 0; \r\n angular.forEach(vm.ticketList, function(d){\r\n if (d.checked) {\r\n count = count + 1;\r\n if(ticketIds == ''){\r\n ticketIds = d.TicketId;\r\n }\r\n else{\r\n ticketIds = ticketIds + \",\" + d.TicketId;\r\n } \r\n }\r\n })\r\n vm.pullBackJobIds = ticketIds;\r\n vm.DisableBroadcastButtons(true);\r\n var JobIdsforPull = [];\r\n JobIdsforPull.push(vm.pullBackJobIds); \r\n ManualAssignationJobService.PullBackJob(loggedinUser, JobIdsforPull, token).then(function (resp) {\r\n if (resp.status == 202) { \r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n vm.GetUserByFiltersWithDynaPage(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize); \r\n vm.showSuccess(\"Success\", \"Jobs - \" + vm.pullBackJobIds + \" pulledback succesfully\"); \r\n }, 1000); \r\n }\r\n if (resp.status == 206) { \r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n vm.DisableBroadcastButtons(false); \r\n }\r\n }, function () { \r\n });\r\n}\r\n\r\n /* alert on dayClick */\r\n vm.ev = {};\r\n vm.alertOnDayClick = function (date) {\r\n vm.alertMessage = (date.toString());\r\n vm.ev = {\r\n from: date.format('YYYY-MM-DD'),\r\n to: date.format('YYYY-MM-DD'),\r\n title: '',\r\n allDay: true\r\n };\r\n };\r\n\r\n /* alert on eventClick */\r\n vm.alertOnEventClick = function (date, jsEvent, view) {\r\n vm.alertMessage = (date.title);\r\n };\r\n /* alert on Drop */\r\n vm.alertOnDrop = function (event, delta, revertFunc, jsEvent, ui, view) {\r\n vm.alertMessage = ('Event Dropped to make dayDelta ' + delta);\r\n };\r\n /* alert on Resize */\r\n vm.alertOnResize = function (event, delta, revertFunc, jsEvent, ui, view) {\r\n vm.alertMessage = ('Event Resized to make dayDelta ' + delta);\r\n };\r\n /* add and removes an event source of choice */\r\n vm.addRemoveEventSource = function (sources, source) {\r\n var canAdd = 0;\r\n angular.forEach(sources, function (value, key) {\r\n if (sources[key] === source) {\r\n sources.splice(key, 1);\r\n canAdd = 1;\r\n }\r\n });\r\n if (canAdd === 0) {\r\n sources.push(source);\r\n }\r\n };\r\n /* add custom event*/\r\n vm.addEvent = function () {\r\n vm.events.push({\r\n title: $scope.ev.title,\r\n start: moment($scope.ev.from),\r\n end: moment($scope.ev.to),\r\n allDay: true,\r\n className: ['openSesame']\r\n });\r\n };\r\n /* remove event */\r\n /*$scope.remove = function (index) {\r\n $scope.events.splice(index, 1);\r\n };*/\r\n /* Change View */\r\n vm.changeView = function (view, calendar) {\r\n vm.currentView = view;\r\n uiCalendarConfig.calendars[calendar].fullCalendar('changeView', view);\r\n\r\n };\r\n /* Change View */\r\n vm.renderCalender = function (calendar) {\r\n $timeout(function () {\r\n if (uiCalendarConfig.calendars[calendar]) {\r\n uiCalendarConfig.calendars[calendar].fullCalendar('render');\r\n }\r\n });\r\n };\r\n /* Render Tooltip */\r\n $scope.eventRender = function (event, element, view) {\r\n element.attr({\r\n 'tooltip': event.title,\r\n 'uib-tooltip-append-to-body': true\r\n });\r\n $compile(element)($scope);\r\n };\r\n\r\n vm.currentView = 'month';\r\n\r\n /* config object */\r\n vm.uiConfig = {\r\n calendar: {\r\n height: 450,\r\n editable: false,\r\n displayEventTime: false,\r\n header: {\r\n left: 'title',\r\n center: 'myCustomButton',\r\n right: 'prev,next'\r\n },\r\n dayClick: vm.alertOnDayClick,\r\n eventClick: vm.alertOnEventClick,\r\n eventResize: vm.alertOnResize,\r\n eventRender: function (event, element, view) {\r\n element.attr({\r\n 'uib-tooltip': event.title,\r\n 'uib-tooltip-append-to-body': true\r\n });\r\n $compile(element)($scope);\r\n },\r\n businessHours: {\r\n start: '10:00', // a start time (10am in this example)\r\n end: '18:00', // an end time (6pm in this example)\r\n\r\n dow: [1, 2, 3, 4]\r\n // days of week. an array of zero-based day of week integers (0=Sunday)\r\n // (Monday-Thursday in this example)\r\n }\r\n }\r\n };\r\n\r\n vm.events = [];\r\n\r\n /* event sources array*/\r\n vm.eventSources = [vm.events, vm.eventsF];\r\n // vm.eventSources2 = [vm.calEventsExt, vm.eventsF, vm.events];\r\n\r\n //Availablity\r\n vm.Availibility = function (data) {\r\n vm.showAvailability = true;\r\n vm.AvailableUserData = data;\r\n vm.GetAssignedTicketforUser(data.UserId, loggedinUser, token)\r\n }\r\n\r\n vm.AvailibilityUS = function (data) {\r\n vm.showAvailability = true;\r\n vm.AvailableUserData = data;\r\n }\r\n\r\n vm.getAccounts = function () {\r\n ManualAssignationJobService.getAllAccounts(loggedinUser, token).then(function (resp) { \r\n if (resp && resp.data && resp.status==200) { \r\n vm.accounts = resp.data;\r\n } \r\n }, function () { \r\n });\r\n } \r\n vm.getAccounts();\r\n\r\n\r\n vm.DisableRouteBroadcastButtons = function (disable) {\r\n if(disable){\r\n vm.brodcastButtonDisable = true;\r\n vm.routebuttonDisable = true;\r\n }\r\n else{\r\n vm.brodcastButtonDisable = false;\r\n vm.routebuttonDisable = false;\r\n }\r\n }\r\n\r\n //Get new Jobs\r\n vm.GetNewJobs = function () {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemName = \"Circle,SkillSet\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch;\r\n } else {\r\n var itemName = '';\r\n var itemValues = '';\r\n }\r\n\r\n if(loggedinUserSkill==\"VSAT\"){\r\n itemName+=\"Template\";\r\n itemValues+=\"VSAT CCR\";\r\n } else if(loggedinUserSkill==\"LeaseLine\"){\r\n itemName+=\"Template\";\r\n itemValues+=\"LeaseLine CCR\";\r\n }\r\n ManualAssignationJobService.GetTicketsByFilter(loggedinUser, itemName, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data) {\r\n vm.NewJobs = resp.data;\r\n for (var index = 0; index < vm.NewJobs.length; index++) {\r\n var today = moment();\r\n //var date = moment(\"2015-05-13\", \"YYYY-MM-DD\");\r\n var date2 = vm.NewJobs[index].CreationDate;//moment(vm.NewJobs[index].CreationDate,'DD/MM/YYYY').format(\"YYYY-MM-DD\");\r\n // date2 = new Date(date2);\r\n var duration = today.diff(date2, 'days');\r\n // var hours = today.diff(date2,'hours');\r\n vm.NewJobs[index].Age = duration; \r\n }\r\n vm.selectAllNewJob = false;\r\n vm.showMinusNewJob = false;\r\n if(vm.IsMaterialDelivered){\r\n for (var index = 0; index < vm.NewJobs.length; index++) {\r\n if(vm.NewJobs[index].MetrialDeliverStatus =='Delivered'){\r\n vm.NewJobs[index].IsDissablePermision = false;\r\n }else{\r\n vm.NewJobs[index].IsDissablePermision = true;\r\n } \r\n }\r\n }\r\n } else {\r\n vm.NewJobs = '';\r\n //$log.log('vm.NewJobs', 'List Empty')\r\n }\r\n }\r\n })\r\n }\r\n vm.GetRejectedJobs = function () {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemName = \"Ticket Status,Circle,SkillSet\";\r\n var itemValues = 'Rejected' + ',' + vm.locationSearch + ',' + vm.skillsSearch;\r\n } else {\r\n var itemName = 'Ticket Status';\r\n var itemValues = 'Rejected';\r\n }\r\n ManualAssignationJobService.GetTicketsByFilter(loggedinUser, itemName, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data) {\r\n vm.NewJobs = resp.data;\r\n\r\n for (var index = 0; index < vm.NewJobs.length; index++) {\r\n var today = moment();\r\n //var date = moment(\"2015-05-13\", \"YYYY-MM-DD\");\r\n var date2 = vm.NewJobs[index].CreationDate;//moment(vm.NewJobs[index].CreationDate,'DD/MM/YYYY').format(\"YYYY-MM-DD\");\r\n // date2 = new Date(date2);\r\n\r\n var duration = today.diff(date2, 'days');\r\n // var hours = today.diff(date2,'hours');\r\n vm.NewJobs[index].Age = duration;\r\n }\r\n vm.selectAllNewJob = false;\r\n vm.showMinusNewJob = false;\r\n //$log.log('New TicketList',vm.NewJobs);\r\n\r\n } else {\r\n vm.NewJobs = '';\r\n //$log.log('vm.NewJobs', 'List Empty')\r\n }\r\n }\r\n })\r\n }\r\n\r\n vm.getRatingStars = function (rating) {\r\n var stars = [];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.push(i);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n vm.getBlankStars = function (rating) {\r\n var stars = [1, 2, 3, 4, 5];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.splice(stars.indexOf(i), 1);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n //Get all Active Fixed Users\r\n\r\n vm.GetAllActiveFixedUsers = function () {\r\n\r\n if (vm.loggedInUserRole == 'Administrator' || vm.loggedInUserRole == 'Project Manager' || vm.loggedinAs == 'Supervisor' || vm.loggedinAs == 'Vendor Supervisor' || vm.loggedInUserRole =='Help Desk') {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemNames = \"Locations,SkillSet,UserStatus,Role\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active' + ',' + 'Field Engineer';\r\n } else {\r\n var itemNames = \"UserStatus,Role\";\r\n var itemValues = \"Active,Field Engineer\";\r\n }\r\n if(vm.loggedInUserRole =='Help Desk') {\r\n itemNames+=\",SkillSet,SubRegion\";\r\n itemValues+=\",\"+loggedinUserSkill+\",\"+loggedinUserRegion;\r\n }\r\n\r\n ManualAssignationJobService.GetUsersByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.fixedUsers = resp.data;\r\n //$log.log('vm.fixedUsers', vm.fixedUsers);\r\n preprocessData(vm.fixedUsers);\r\n }\r\n })\r\n } else if (vm.loggedInUserRole == 'Vendor Manager') {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemNames = \"Locations,SkillSet,UserStatus,Role\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active' + ',' + 'Field Engineer';\r\n\r\n } else {\r\n var itemNames = \"UserStatus,Role\";\r\n var itemValues = \"Active,Field Engineer\";\r\n }\r\n\r\n ManualAssignationJobService.GetUsersByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.fixedUsers = resp.data;\r\n preprocessData(vm.fixedUsers);\r\n }\r\n })\r\n }\r\n }\r\n\r\n vm.loadAllSkills = function(){\r\n ManualAssignationJobService.GetAllSkills(loggedinUser, token).then(function (resp) {\r\n vm.skillsWithPipe = '';\r\n if (resp && resp.data) {\r\n vm.skillData = resp.data;\r\n if(vm.skillData && vm.skillData.length>0){\r\n angular.forEach(vm.skillData, function(s){\r\n vm.skillsWithPipe += s.SkillName+\"|\";\r\n });\r\n vm.skillsWithPipe = vm.skillsWithPipe.length>0\r\n ? vm.skillsWithPipe.substring(0,vm.skillsWithPipe.length-1) : \"\";\r\n }\r\n }\r\n });\r\n }\r\n vm.loadAllSkills();\r\n\r\n\r\n vm.GetFollowupReasons = function(){\r\n ManualAssignationJobService.GetReasonsByStatus(loggedinUser, token, 'FollowUp').then(function (resp) { \r\n if (resp && resp.data) {\r\n vm.reasonsForFU = resp.data;\r\n }\r\n });\r\n }\r\n vm.GetFollowupReasons();\r\n\r\n vm.GetHoldReasons = function(){\r\n ManualAssignationJobService.GetReasonsByStatus(loggedinUser, token, 'Hold').then(function (resp) { \r\n if (resp && resp.data) {\r\n vm.reasonsForHold = resp.data;\r\n }\r\n });\r\n }\r\n vm.GetHoldReasons();\r\n vm.usersStatus = 'Assigned';\r\n vm.applyFilterForUser = function(status) {\r\n vm.usersStatus = status;\r\n vm.filterType = \"\";\r\n vm.GetListAllFreelancers();\r\n }\r\n vm.GetListAllFreelancers = function () {\r\n // if(vm.filterTktStatus){\r\n // vm.usersStatus = 'Broadcasted';\r\n // }\r\n // else if(!vm.filterTktStatus && vm.usersStatus == 'Broadcasted'){\r\n // vm.usersStatus = \"Assigned\";\r\n // }\r\n // else {\r\n // vm.usersStatus;\r\n // }\r\n vm.filterToggle = true;\r\n var data = {\r\n \"itemNames\": \"Status\", \r\n \"itemValues\": vm.usersStatus, \r\n \"Type\": vm.filterType,\r\n \"toDate\": endDate,\r\n \"fromDate\": startDate,\r\n \"OrderBy\":vm.OrderBy, \r\n \"OrderSeq\":vm.OrderSeq\r\n }\r\n ManualAssignationJobService.GetListAllFreelancers(data,loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.listofActiveUsers = resp.data;\r\n }\r\n })\r\n }\r\n\r\n vm.sortColumnUser = function(OrderBy){\r\n vm.OrderBy = OrderBy;\r\n // vm.Orderby = col;\r\n if(vm.OrderSeq=='desc'){\r\n vm.OrderSeq = 'asc';\r\n vm.reverseclass = 'fa fa-arrow-up';\r\n }else{\r\n vm.OrderSeq = 'desc';\r\n vm.reverseclass = 'fa fa-arrow-down';\r\n }\r\n vm.GetListAllFreelancers();\r\n };\r\n\r\n vm.sortClassUser = function(col){\r\n if(vm.OrderBy == col ){\r\n if(vm.OrderSeq == 'desc'){\r\n return 'fa fa-arrow-down'; \r\n }else{\r\n return 'fa fa-arrow-up';\r\n }\r\n }\r\n else{\r\n return '';\r\n }\r\n }\r\n //Get all Freelancers\r\n vm.GetAllFreelancers = function () {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemNames = \"UserStatus,Locations,SkillSet,Role\";\r\n var itemValues = \"Active\" + ',' + vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Field Engineer';\r\n } else {\r\n var itemNames = \"UserStatus,Role\";\r\n var itemValues = \"Active,Field Engineer\";\r\n if(vm.skillsWithPipe && vm.skillsWithPipe.length>0){\r\n itemNames+=\",SkillSet\";\r\n itemValues+=\",\"+vm.skillsWithPipe;\r\n }\r\n }\r\n ManualAssignationJobService.GetAllFreelancersWithFilters(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.freelancerUsers = resp.data;\r\n // for(var i=0;i 0) {\r\n vm.FreelancerVendorUsers = resp.data;\r\n // for(var i=0;i 0) {\r\n ManualAssignationJobService.AssignTickets(userId, loggedinUser, itemValues, token).then(function (resp) {\r\n\r\n if (resp && resp.data && resp.data.ErrorCode == 140 && resp.data.Message) {\r\n if (mode == 'fixed') {\r\n vm.showFailure(\"Failed\", resp.data.Message + \". Please recharge your account.\");\r\n vm.assignButtonDisable = false;\r\n } else {\r\n vm.showFailure(\"Failed\", resp.data.Message + \".\");\r\n vm.assignButtonDisable = false;\r\n }\r\n } else if (resp && resp.data && resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Ticket assigned successfully\"); \r\n $timeout(function () {\r\n if(vm.TicketType == 'Combo') {\r\n vm.applyComboTktFilter();\r\n }\r\n if(vm.TicketType == 'WorkOrderGroup') {\r\n vm.applyfilterWorkOrder();\r\n }\r\n else{\r\n vm.applyTicketFilter();\r\n } \r\n vm.GetUserByFiltersWithDynaPage(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize);\r\n }, 1000);\r\n vm.assignButtonDisable = false;\r\n }\r\n else if (resp.status == 206) {\r\n vm.showFailure(\"Failed\", resp.data); \r\n $timeout(function () {\r\n if(vm.TicketType == 'Combo') {\r\n vm.applyComboTktFilter();\r\n }\r\n if(vm.TicketType == 'WorkOrderGroup') {\r\n vm.applyfilterWorkOrder();\r\n }\r\n else{\r\n vm.applyTicketFilter();\r\n }\r\n vm.applyUserFilter(); \r\n }, 1000);\r\n vm.assignButtonDisable = false;\r\n } else {\r\n vm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n vm.assignButtonDisable = false;\r\n }\r\n\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n vm.assignButtonDisable = false;\r\n })\r\n } else {\r\n vm.showFailure(\"Failed\", \"Please select New, Broadcasted or Assigned tickets to assign\");\r\n vm.assignButtonDisable = false;\r\n }\r\n }\r\n\r\n vm.toggleAll = function () {\r\n //$log.log('checkAll', vm.checkAll);\r\n var bool = true;\r\n if (vm.checkAll) {\r\n bool = false;\r\n }\r\n angular.forEach(vm.NewJobs, function (v, k) {\r\n // //$log.log('v',v);\r\n // //$log.log('k',k);\r\n v.checked = !bool;\r\n // //$log.log('!bool', v.checked);\r\n vm.checkAll = !bool;\r\n });\r\n }\r\n\r\n vm.checkAny = function (i) {\r\n //$log.log('newJobselectAny', vm.newJobselectAny);\r\n vm.checkAll = true;\r\n angular.forEach(vm.NewJobs, function (v, k) {\r\n\r\n if (!v.checked) {\r\n vm.checkAll = false;\r\n }\r\n });\r\n\r\n }\r\n\r\n vm.showCheckAny = function (i) {\r\n vm.showMinus = true;\r\n angular.forEach(vm.freelancerCheckAny, function (v, k) {\r\n if (v != true && k == vm.freelancerCheckAny[i]) {\r\n vm.showMinus = false;\r\n } else {\r\n vm.showMinus = true;\r\n }\r\n });\r\n }\r\n\r\n vm.GetTicketById = function (ticketId) {\r\n ManualAssignationJobService.GetTicketsById(ticketId, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.JobProfile = resp.data;\r\n }\r\n })\r\n }\r\n\r\n vm.removeFilters = function () {\r\n if (vm.isChecked == 'fixed') {\r\n var itemNames = \"TicketStatus\";\r\n var itemValues = 'New';\r\n if (vm.locationSearch) {\r\n itemNames += \",Circle\";\r\n itemValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n itemNames += \",SkillSet\";\r\n itemValues += \",\" + vm.skillsSearch;\r\n }\r\n\r\n ManualAssignationJobService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n });\r\n\r\n var teamIteamNames = \"UserStatus,Role\";\r\n var teamIteamValues = 'Active' + ',' + 'Field Engineer';\r\n\r\n if (vm.locationSearch) {\r\n teamIteamNames += \",Locations\";\r\n teamIteamValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n teamIteamNames += \",SkillSet\";\r\n teamIteamValues += \",\" + vm.skillsSearch;\r\n }\r\n ManualAssignationJobService.GetUsersByFilter(loggedinUser, teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.fixedUsers = resp.data;\r\n //$log.log('fixedUsers', resp.data);\r\n preprocessData(vm.fixedUsers);\r\n } else {\r\n vm.fixedUsers = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get users, server is not responding correctly.\");\r\n })\r\n\r\n\r\n } else if (vm.isChecked == 'freelancer') {\r\n\r\n var itemNames = \"TicketStatus\";\r\n var itemValues = 'New';\r\n\r\n if (vm.locationSearch) {\r\n itemNames += \",Circle\";\r\n itemValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n itemNames += \",SkillSet\";\r\n itemValues += \",\" + vm.skillsSearch;\r\n }\r\n ManualAssignationJobService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n })\r\n\r\n var teamIteamNames = \"UserStatus,Role\";\r\n var teamIteamValues = 'Active' + ',' + 'Field Engineer';\r\n\r\n if (vm.locationSearch) {\r\n teamIteamNames += \",Locations\";\r\n teamIteamValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n teamIteamNames += \",SkillSet\";\r\n teamIteamValues += \",\" + vm.skillsSearch;\r\n } else if(vm.skillsWithPipe && vm.skillsWithPipe.length>0){\r\n teamIteamNames+=\",SkillSet\";\r\n teamIteamValues+=vm.skillsWithPipe;\r\n }\r\n ManualAssignationJobService.GetAllFreelancersWithFilters(loggedinUser, teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.freelancerUsers = resp.data;\r\n //$log.log('freelancers', vm.freelancerUsers);\r\n preprocessData(vm.freelancerUsers);\r\n } else {\r\n vm.freelancerUsers = '';\r\n }\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get freelancers, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get freelancers, server is not responding correctly.\");\r\n });\r\n\r\n var broadItemNames = 'Circle,SkillSet,TicketStatus';\r\n var broadItemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Broadcasted';\r\n\r\n ManualAssignationJobService.GetBroadcastedBids(loggedinUser, broadItemNames, broadItemValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.BroadcastedJobs = resp.data;\r\n // vm.TeamProfile = vm.TeamProfile[0];\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get broadcasted jobs, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get broadcasted jobs, server is not responding correctly.\");\r\n })\r\n\r\n\r\n } else if (vm.isChecked == 'vendor') {\r\n var itemNames = \"TicketStatus\";\r\n var itemValues = 'New';\r\n if (vm.locationSearch) {\r\n itemNames += \",Circle\";\r\n itemValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n itemNames += \",SkillSet\";\r\n itemValues += \",\" + vm.skillsSearch;\r\n }\r\n\r\n ManualAssignationJobService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n }\r\n\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n })\r\n\r\n var teamIteamNames = \"UserStatus,Role\";\r\n var teamIteamValues = 'Active' + ',' + 'Field Engineer';\r\n\r\n if (vm.locationSearch) {\r\n teamIteamNames += \",Locations\";\r\n teamIteamValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n teamIteamNames += \",SkillSet\";\r\n teamIteamValues += \",\" + vm.skillsSearch;\r\n }\r\n ManualAssignationJobService.GetAllVendors(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data) {\r\n vm.vendorList = resp.data;\r\n preprocessData(vm.vendorList);\r\n }\r\n } else {\r\n vm.vendorList = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get vendors, server is not responding correctly.\");\r\n })\r\n\r\n } else if (vm.isChecked == 'supervisor') {\r\n\r\n var itemNames = \"TicketStatus\";\r\n var itemValues = 'New';\r\n\r\n if (vm.locationSearch) {\r\n itemNames += \",Circle\";\r\n itemValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n itemNames += \",SkillSet\";\r\n itemValues += \",\" + vm.skillsSearch;\r\n }\r\n ManualAssignationJobService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n });\r\n\r\n var teamIteamNames = \"UserStatus\";\r\n var teamIteamValues = 'Active';\r\n\r\n if (vm.locationSearch) {\r\n teamIteamNames += \",Locations\";\r\n teamIteamValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n teamIteamNames += \",SkillSet\";\r\n teamIteamValues += \",\" + vm.skillsSearch;\r\n }\r\n ManualAssignationJobService.GetUsersByRole(loggedinUser, 'Supervisor', teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp && resp.data.length > 0) {\r\n vm.supervisorList = resp.data;\r\n preprocessData(vm.supervisorList);\r\n } else {\r\n vm.supervisorList = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get supervisors, server is not responding correctly.\");\r\n });\r\n }\r\n }\r\n\r\n //To Search\r\n vm.search = function () {\r\n if (vm.searchform.$valid) {\r\n if (vm.isChecked == 'fixed') {\r\n var itemNames = \"Circle,SkillSet,TicketStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'New';\r\n ManualAssignationJobService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n });\r\n\r\n var teamIteamNames = \"Locations,SkillSet,UserStatus,Role\";\r\n var teamIteamValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active' + ',' + 'Field Engineer';\r\n ManualAssignationJobService.GetUsersByFilter(loggedinUser, teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.fixedUsers = resp.data;\r\n //$log.log('fixedUsers', resp.data);\r\n preprocessData(vm.fixedUsers);\r\n } else {\r\n vm.fixedUsers = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get field engineers, server is not responding correctly.\");\r\n })\r\n } else if (vm.isChecked == 'freelancer') {\r\n var itemNames = \"Circle,SkillSet,TicketStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'New';\r\n ManualAssignationJobService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n });\r\n\r\n var teamIteamNames = \"Locations,SkillSet,UserStatus,Role\";\r\n var teamIteamValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active' + ',' + 'Field Engineer';\r\n ManualAssignationJobService.GetAllFreelancersWithFilters(loggedinUser, teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.freelancerUsers = resp.data;\r\n //$log.log('freelancers', vm.freelancerUsers);\r\n preprocessData(vm.freelancerUsers);\r\n } else {\r\n vm.freelancerUsers = '';\r\n }\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get field engineers, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get field engineers, server is not responding correctly.\");\r\n });\r\n\r\n var broadItemNames = 'Circle,SkillSet,TicketStatus';\r\n var broadItemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Broadcasted';\r\n ManualAssignationJobService.GetBroadcastedBids(loggedinUser, broadItemNames, broadItemValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.BroadcastedJobs = resp.data;\r\n // vm.TeamProfile = vm.TeamProfile[0];\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get broadcasted jobs, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get broadcasted jobs, server is not responding correctly.\");\r\n })\r\n\r\n\r\n } else if (vm.isChecked == 'vendor') {\r\n\r\n var itemNames = \"Circle,SkillSet,TicketStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'New';\r\n\r\n ManualAssignationJobService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n })\r\n\r\n var teamIteamNames = \"Locations,SkillSet,UserStatus,Role\";\r\n var teamIteamValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active' + ',' + 'Field Engineer';\r\n ManualAssignationJobService.GetAllVendors(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data) {\r\n vm.vendorList = resp.data;\r\n preprocessData(vm.vendorList);\r\n }\r\n } else {\r\n vm.vendorList = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get vendors, server is not responding correctly.\");\r\n });\r\n\r\n } else if (vm.isChecked == 'supervisor') {\r\n\r\n var itemNames = \"Circle,SkillSet,TicketStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'New';\r\n ManualAssignationJobService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get supervisors, server is not responding correctly.\");\r\n });\r\n\r\n var teamIteamNames = \"Locations,SkillSet,UserStatus\";\r\n var teamIteamValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active';\r\n ManualAssignationJobService.GetUsersByRole(loggedinUser, 'Supervisor', teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp && resp.data.length > 0) {\r\n vm.supervisorList = resp.data;\r\n preprocessData(vm.supervisorList);\r\n } else {\r\n vm.supervisorList = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get users, server is not responding correctly.\");\r\n })\r\n\r\n }\r\n vm.SearchModal.close();\r\n } else {\r\n vm.searchform.submitted = true;\r\n }\r\n\r\n\r\n }\r\n\r\n \r\n vm.tabNo = function (tab) {\r\n vm.tab = tab;\r\n //$log.log('TabNo', vm.tab);\r\n }\r\n\r\n vm.ChangeMode = function (mode) {\r\n vm.tabNo('1');\r\n if (mode == 'fixed') {\r\n vm.fixed_select_all = false;\r\n vm.fixed_selectAll = false;\r\n vm.selectedItems = [];\r\n vm.fixed_select_single = [];\r\n if(vm.getAccountConfigSetting('CustomizeJobAssign')){\r\n vm.filteredProperties={\"SkillSet\":\"Water Sample Collection\"};\r\n } \r\n vm.GetAllActiveFixedUsers();\r\n\r\n } else if (mode == 'freelancer') {\r\n vm.GetAllFreelancers();\r\n vm.free_selectedItems = [];\r\n vm.freelancer_select_single = [];\r\n vm.free_NewJobSelectedItems = [];\r\n vm.freelancer_select_single_NewJob = [];\r\n vm.freelancer_select_all = false;\r\n vm.freelancer_selectAll = false;\r\n vm.freelancer_SelectAllJob = false;\r\n vm.freelancer_Select_All_NewJobs = false;\r\n\r\n\r\n } else if (mode == 'FixedVendors') {\r\n vm.GetAllVendors();\r\n vm.fixed_select_all = false;\r\n vm.fixed_selectAll = false;\r\n vm.selectedItems = [];\r\n vm.fixed_select_single = [];\r\n if(vm.getAccountConfigSetting('CustomizeJobAssign')){\r\n vm.filteredProperties={\"SkillSet\":\"Water Lab Test\"};\r\n }\r\n } else if (mode == 'vendor') {\r\n vm.GetAllFreelancerVendors();\r\n vm.Vendor_selectedItems = [];\r\n vm.Vendor_select_single = [];\r\n vm.Vendor_NewJobSelectedItems = [];\r\n vm.Vendor_select_single_NewJob = [];\r\n vm.Vendor_select_all = false;\r\n vm.Vendor_selectAll = false;\r\n vm.Vendor_SelectAllJob = false;\r\n vm.Vendor_Select_All_NewJobs = false;\r\n\r\n\r\n }\r\n else if (mode == 'supervisor') {\r\n vm.GetUsersByRole('Supervisor');\r\n vm.fixed_select_all = false;\r\n vm.fixed_selectAll = false;\r\n vm.selectedItems = [];\r\n vm.fixed_select_single = [];\r\n if(vm.getAccountConfigSetting('CustomizeJobAssign')){\r\n vm.filteredProperties = {\"SkillSet\":\"Water Lab Test\"};\r\n }\r\n }\r\n }\r\n vm.ChangeMode('fixed');\r\n\r\n\r\n //Get Users By Role\r\n\r\n vm.GetUsersByRole = function (role) {\r\n\r\n if (vm.loggedInUserRole == 'Administrator' || vm.loggedInUserRole == 'Project Manager') {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemNames = \"Locations,SkillSet,UserStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active';\r\n } else {\r\n var itemNames = \"UserStatus\";\r\n var itemValues = \"Active\";\r\n }\r\n } else if (vm.loggedinAs == 'Supervisor' || vm.loggedinAs == 'Vendor Supervisor') {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemNames = \"Locations,SkillSet,UserStatus,ReportingTo\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active' + ',' + vm.loggedInUserReportingTo;\r\n } else {\r\n var itemNames = \"UserStatus,ReportingTo\";\r\n var itemValues = \"Active,\" + vm.loggedInUserReportingTo;\r\n }\r\n } else if (vm.loggedInUserRole == 'Vendor Manager') {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemNames = \"Locations,SkillSet,UserStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active';\r\n } else {\r\n var itemNames = \"UserStatus\";\r\n var itemValues = \"Active,\";\r\n }\r\n }\r\n else if (vm.loggedInUserRole == 'Help Desk') {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemNames = \"Locations,SkillSet,UserStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active';\r\n } else {\r\n var itemNames = \"UserStatus\";\r\n var itemValues = \"Active,\";\r\n }\r\n }\r\n\r\n ManualAssignationJobService.GetUsersByRole(loggedinUser, role, itemNames, itemValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.supervisorList = resp.data;\r\n preprocessData(vm.supervisorList);\r\n }\r\n })\r\n\r\n }\r\n\r\n vm.processBroadcastRouteResponse= function(data){\r\n var SuccessCount = 0;\r\n var failuremsg = '';\r\n\r\n angular.forEach(data, function (res) {\r\n if (res.BroadcastStatus=='Job Assigned') {\r\n SuccessCount = SuccessCount + 1; \r\n }\r\n else\r\n {\r\n failuremsg = failuremsg + res.JobId + ' ' + res.BroadcastStatus + ' ';\r\n }\r\n });\r\n\r\n if(SuccessCount > 0 && failuremsg)\r\n {\r\n failuremsg = SuccessCount + ' Jobs routed Successfully ' + failuremsg;\r\n vm.showFailure('Failed',failuremsg);\r\n }\r\n else if(SuccessCount > 0)\r\n {\r\n failuremsg = SuccessCount + ' Jobs routed Successfully ';\r\n vm.showSuccess('Success',failuremsg);\r\n }\r\n else\r\n {\r\n vm.showFailure('Failed',failuremsg);\r\n }\r\n }\r\n\r\n //vm.tabNo('1');\r\n // Route Jobs\r\n vm.routeTicket = function(index){\r\n vm.DisableRouteBroadcastButtons(true);\r\n var data = {};\r\n for(var i=0; i< vm.ticketList.length;i++){\r\n if(vm.ticketList[i].TicketStatus==\"New\")\r\n {\r\n if(vm.ticketList[i].checked){\r\n if(i==0){\r\n data.JobIds = vm.ticketList[i].TicketId;\r\n }else{\r\n data.JobIds = data.JobIds + ',' + vm.ticketList[i].TicketId;\r\n }\r\n }\r\n }\r\n } \r\n if(vm.workorderTkt){\r\n data.JobIds = vm.tickIdForWoL;\r\n } \r\n for(var i=0; i< vm.UserByFiltersList.length;i++){\r\n if(vm.UserByFiltersList[i].checked){\r\n data.UserId = vm.UserByFiltersList[i].UserId;\r\n break;\r\n }\r\n }\r\n if(data.JobIds){\r\n ManualAssignationJobService.RouteJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 201) {\r\n vm.processBroadcastRouteResponse(resp.data);\t\t \r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n vm.UsersFilterArray(); \r\n vm.GetUserByFiltersWithDynaPage(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize);\r\n vm.DisableRouteBroadcastButtons(false);\r\n }, 2000);\r\n }\r\n else if(resp.status == 206){\r\n vm.showFailure(\"Failed\", resp.data);\r\n vm.DisableRouteBroadcastButtons(false);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n vm.DisableRouteBroadcastButtons(false);\r\n }\r\n });\r\n }else{\r\n vm.showFailure(\"Failed\", \"Please select tickets.\");\r\n vm.DisableRouteBroadcastButtons(false);\r\n }\r\n \r\n }\r\n\r\n // Route Jobs for user Suggestion\r\n vm.routeTicketUS = function (user) { \r\n vm.DisableRouteBroadcastButtons(true);\r\n var data = user; //vm.UserSuggestionList[0];\r\n var temp = [];\r\n temp.push({ \"UserId\": data.id, \"SuggestedPrice\": null, \"Price\": parseFloat(data.Price), \"Distance\": parseFloat(data.UserDistance) });\r\n var data = {\r\n \"JobId\": vm.broadcastTicketId,\r\n \"BIDDuration\": vm.TicketSelectedForAssistedSuggestion.BidDuration,\r\n \"MobiforceCommissionPercentage\": vm.TicketSelectedForAssistedSuggestion.MobiforceCommission,\r\n \"BroadcastType\": \"Route\",\r\n \"TechnicianSource\": 1,\r\n \"Users\": temp\r\n };\r\n if (data.Users.length > 0) {\r\n vm.showloading = true;\r\n ManualAssignationJobService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n \r\n if (resp.status == 201) {\r\n vm.showSuccess('Success', \"Jobs Route Successfully\");\r\n $timeout(function () {\r\n $state.reload();\r\n vm.DisableRouteBroadcastButtons(false);\r\n }, 2000);\r\n }\r\n else if (resp.status == 206) {\r\n vm.showFailure('Failed', resp.data.Message);\r\n vm.DisableRouteBroadcastButtons(false);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", \"Users Not Found\");\r\n $timeout(function () {\r\n $state.reload();\r\n vm.DisableRouteBroadcastButtons(false);\r\n }, 2000);\r\n }\r\n vm.showloading = false;\r\n });\r\n } else {\r\n vm.showFailure(\"Failed\", \"Please select users.\");\r\n $timeout(function () {\r\n $state.reload();\r\n vm.DisableRouteBroadcastButtons(false);\r\n }, 2000);\r\n }\r\n \r\n }\r\n\r\n //brodcast ticket nearBy\r\n vm.BroadcastTicketUserSuggestion = function (i) {\r\n //vm.dissbleBroadcastButton = true;\r\n vm.DisableRouteBroadcastButtons(true);\r\n var temp = [];\r\n angular.forEach(vm.UserSuggestionList, function(d){\r\n if (d.checked) {\r\n temp.push({ \"UserId\": d.id, \"SuggestedPrice\": null, \"Price\": parseInt(d.Price), \"Distance\": parseInt(d.UserDistance) });\r\n \r\n }\r\n })\r\n var data = {\r\n \"JobId\": vm.broadcastTicketId,\r\n \"BIDDuration\": vm.TicketSelectedForAssistedSuggestion.BidDuration,\r\n \"MobiforceCommissionPercentage\": vm.TicketSelectedForAssistedSuggestion.MobiforceCommission,\r\n \"TechnicianSource\": 1,\r\n \"Users\": temp\r\n };\r\n if (data.Users.length > 0) {\r\n ManualAssignationJobService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 201) {\r\n vm.showSuccess('Success', \"Jobs Broadcasted Successfully\");\r\n $timeout(function () {\r\n $state.reload();\r\n vm.DisableRouteBroadcastButtons(false);\r\n }, 2000);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data.BroadcastStatus);\r\n vm.DisableRouteBroadcastButtons(false);\r\n }\r\n });\r\n } \r\n else {\r\n vm.showFailure(\"Failed\", resp.data.BroadcastStatus);\r\n $timeout(function () {\r\n $state.reload();\r\n vm.DisableRouteBroadcastButtons(false);\r\n }, 2000);\r\n }\r\n }\r\n\r\n\r\n // Route Jobs\r\n vm.routeTicketToFV = function(index){\r\n var data = {};\r\n for(var i=0; i< vm.NewJobs.length;i++){\r\n if(vm.NewJobs[i].checked){\r\n if(i==0){\r\n data.JobIds = vm.NewJobs[i].TicketId;\r\n }else{\r\n data.JobIds = data.JobIds + ',' + vm.NewJobs[i].TicketId;\r\n }\r\n }\r\n }\r\n for(var i=0; i< vm.FreelancerVendorUsers.length;i++){\r\n if(vm.FreelancerVendorUsers[i].checked){\r\n data.UserId = vm.FreelancerVendorUsers[i].UserId;\r\n break;\r\n }\r\n }\r\n\r\n if(data.JobIds){\r\n ManualAssignationJobService.RouteJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 201) {\r\n vm.showSuccess('Success',\"Jobs Route Successfully\");\r\n $timeout(function () {\r\n $state.reload();\r\n }, 2000);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", \"Server error.\");\r\n }\r\n });\r\n }else{\r\n vm.showFailure(\"Failed\", \"Please select tickets.\");\r\n }\r\n \r\n }\r\n\r\n //Broadcast Bids/Jobs\r\n vm.BroadCastJobs = function () {\r\n vm.DisableRouteBroadcastButtons(true);\r\n var BidData = [];\r\n angular.forEach(vm.ticketList, function (d) {\r\n var obj = {};\r\n var time = '';\r\n var hrs = '';\r\n var min = '';\r\n if(d.TicketStatus==\"New\")\r\n {\r\n if (d.checked) {\r\n obj.JobID = d.TicketId;\r\n var time = d.BidDuration.split(':');\r\n var hrs = parseInt(time[0]);\r\n var min = parseInt(time[1]);\r\n obj.BIDDuration = hrs*60 + min;\r\n obj.BroadCastRate = d.BroadcastRate\r\n obj.BroadCastGrossRate = d.BroadcastGrossRate\r\n obj.MobiforceCommissionPercentage = d.MobiforceCommission\r\n obj.FixedBidPrice = true;\r\n BidData.push(obj);\r\n }\r\n }\r\n })\r\n var UserData = [];\r\n\r\n for(var i=0; i< vm.UserByFiltersList.length;i++){\r\n if(vm.UserByFiltersList[i].checked){\r\n UserData.push(vm.UserByFiltersList[i].UserId); \r\n }\r\n }\r\n\r\n if (BidData.length > 0 && UserData.length > 0) {\r\n var data = {\r\n \"Bids\": BidData,\r\n \"Users\": UserData\r\n };\r\n //$log.log('BradcastedJobs', data);\r\n vm.BroadcastModal.close();\r\n\r\n ManualAssignationJobService.BroadCastJobs(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 201 || resp.status == 200) {\r\n vm.processBroadcastRouteResponse(resp.data);\r\n //vm.toaster_success.body = 'Jobs Broadcasted Successfully';\r\n //toaster.pop(vm.toaster_success);\r\n vm.free_NewJobSelectedItems = [];\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n vm.UsersFilterArray(); \r\n vm.GetUserByFiltersWithDynaPage(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize);\r\n vm.DisableRouteBroadcastButtons(false);\r\n }, 2000);\r\n }\r\n if (resp.status == 206) {\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n vm.DisableRouteBroadcastButtons(false);\r\n }\r\n })\r\n } else {\r\n vm.showFailure(\"Failed\", \"Please select jobs and users.\");\r\n vm.DisableRouteBroadcastButtons(false);\r\n }\r\n }\r\n \r\n\r\n vm.BroadCastJobsFV = function () {\r\n\r\n var BidData = [];\r\n angular.forEach(vm.NewJobs, function (d) {\r\n var obj = {};\r\n var time = '';\r\n var hrs = '';\r\n var min = '';\r\n if (d.checked) {\r\n obj.JobID = d.TicketId;\r\n var time = d.BidDuration.split(':');\r\n var hrs = parseInt(time[0]);\r\n var min = parseInt(time[1]);\r\n obj.BIDDuration = hrs*60 + min;\r\n obj.BroadCastRate = d.BroadcastRate\r\n obj.BroadCastGrossRate = d.BroadcastGrossRate\r\n obj.MobiforceCommissionPercentage = d.MobiforceCommission\r\n obj.FixedBidPrice = true;\r\n BidData.push(obj);\r\n }\r\n })\r\n var UserData = [];\r\n for(var i=0; i< vm.FreelancerVendorUsers.length;i++){\r\n if(vm.FreelancerVendorUsers[i].checked){\r\n UserData.push(vm.FreelancerVendorUsers[i].UserId); \r\n }\r\n }\r\n\r\n if (BidData.length > 0 && UserData.length > 0) {\r\n var data = {\r\n \"Bids\": BidData,\r\n \"Users\": UserData\r\n };\r\n vm.BroadcastModalFV.close();\r\n ManualAssignationJobService.BroadCastJobs(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 201 || resp.status == 200) {\r\n vm.toaster_success.body = 'Jobs Broadcasted Successfully';\r\n toaster.pop(vm.toaster_success);\r\n vm.free_NewJobSelectedItems = [];\r\n $timeout(function () {\r\n $state.reload();\r\n }, 2000);\r\n }\r\n })\r\n } else {\r\n vm.showFailure(\"Failed\", \"Please select jobs and users.\");\r\n }\r\n }\r\n\r\nvm.AssignReceivedBid = function(user){ \r\nvm.AllDataList =[];\r\nvar data ={\r\n\"TicketId\": vm.broadcastTicketId,\r\n \"UserId\": user.UserId,\r\n \"StartTime\":vm.broadcaststartTime,\r\n \"Endtime\": vm.broadcastEndTime,\r\n \"SuggestedPrice\": 0,\r\n \"AssignPrice\": parseInt(vm.broadcastAssignRate),\r\n \"Distance\": 0,\r\n}\r\nvm.AllDataList.push(data)\r\n ScheduleAssignService.AssignTicketsTimeline(loggedinUser,vm.AllDataList,token).then(function(resp){\r\n if (resp && resp.data) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.ChangeMode('freelancer');\r\n vm.BidReceivedJobs = [];\r\n $timeout(function () {\r\n $scope.hideSentUser();\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n }, 500);\r\n }\r\n }, function (err) {\r\n if (err && err.data) {\r\n vm.showFailure(\"Failed\", err.data);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to assign job, server is not responding correctly.\");\r\n }\r\n })\r\n}\r\n\r\n //Get Bid Received\r\n\r\n vm.BidReceived = function (ticket) { \r\n var status = 'Received';\r\n vm.bidStatus = status;\r\n vm.ticketStatusCheck = ticket.TicketStatus;\r\n vm.broadcastTicketId = ticket.TicketId;\r\n vm.broadcastLinkId = ticket.LinkId;\r\n vm.broadcaststartTime = ticket.StartTimeD;\r\n vm.broadcastEndTime = ticket.EndTime;\r\n vm.broadcastTicketInfo = ticket;\r\n vm.isReceived = true;\r\n vm.BIDMaxcount = 10; \r\n vm.BIDStartIndex = 0;\r\n ManualAssignationJobService.GetBidReceivedByStatus(loggedinUser, vm.broadcastTicketId, status, token).then(function (resp) { \r\n if (resp && resp.data) {\r\n vm.BidReceivedJobs = resp.data;\r\n vm.UserBIDCount = vm.BidReceivedJobs.length;\r\n $scope.totalUserBID = vm.UserBIDCount; \r\n $scope.UserBIDpagination = {\r\n current: 1\r\n };\r\n angular.forEach(vm.BidReceivedJobs, function (user) {\r\n\r\n user.ratingStars = vm.getRatingStars(user.UserRating);\r\n user.blankStars = vm.getBlankStars(user.UserRating);\r\n user.exp = user.Experience > 0 ? parseFloat(user.UserExperience / 365).toFixed(1) : 0;\r\n })\r\n for(var i=0;i 0 ) {\r\n $scope.toggleForBroadcast();\r\n }\r\n }\r\n })\r\n }\r\n\r\n //deny\r\n vm.BidDeny = function (ticket) { \r\n document.getElementById(\"SendAndRecieveBid\").style.width = \"42%\";\r\n var status = 'Deny';\r\n vm.bidStatus = status;\r\n vm.ticketStatusCheck = ticket.TicketStatus;\r\n vm.broadcastTicketId = ticket.TicketId;\r\n vm.broadcastLinkId = ticket.LinkId;\r\n vm.broadcaststartTime = ticket.StartTimeD;\r\n vm.broadcastEndTime = ticket.EndTime;\r\n vm.broadcastTicketInfo = ticket;\r\n vm.isReceived = true;\r\n ManualAssignationJobService.GetBidDeny(loggedinUser, vm.broadcastTicketId, status, token).then(function (resp) { \r\n if (resp && resp.data) {\r\n vm.BidReceivedJobs = resp.data;\r\n vm.UserBIDCount = vm.BidReceivedJobs.length;\r\n $scope.totalUserBID = vm.UserBIDCount; \r\n $scope.UserBIDpagination = {\r\n current: 1\r\n };\r\n angular.forEach(vm.BidReceivedJobs, function (user) {\r\n user.ratingStars = vm.getRatingStars(user.UserRating);\r\n user.blankStars = vm.getBlankStars(user.UserRating);\r\n user.exp = user.Experience > 0 ? parseFloat(user.UserExperience / 365).toFixed(1) : 0;\r\n })\r\n // for(var i=0;i 0 ? parseFloat(user.UserExperience / 365).toFixed(1) : 0; \r\n })\r\n for(var i=0;ilTfgitp').withPaginationType(\r\n 'full_numbers').withOption('lengthChange', false)\r\n .withOption('initComplete', function () {\r\n $('.dataTables_filter input').unbind();\r\n })\r\n .withOption('order', [1, 'asc']);\r\n\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n //DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable()\r\n ];\r\n\r\n //Global Calling\r\n //vm.GetNewJobs();\r\n vm.GetAllActiveFixedUsers();\r\n //$log.log('isChecked', vm.isChecked);\r\n\r\n vm.openBroadcastmodal = function (i) {\r\n vm.broadcastError = null; \r\n vm.jobselected = [];\r\n angular.forEach(vm.ticketList, function (d) {\r\n if(d.TicketStatus==\"New\")\r\n {\r\n if (d.checked) {\r\n if (!d.BidDuration.includes(\":\")) {\r\n d.BidDuration = parseInt(d.BidDuration / 60) + \":\" + parseInt(d.BidDuration % 60);\r\n }\r\n \r\n \r\n vm.jobselected.push(d);\r\n $log.log(d)\r\n // angular.forEach(vm.jobselected, function (t) {\r\n // t.PincodeArray = t.Pincode.split(\"|\");\r\n // t.Pincode = Array.from(new Set(t.PincodeArray));\r\n // t.SkillSetArray = t.SkillSet.split(\"|\");\r\n // t.SkillSet = Array.from(new Set(t.SkillSetArray));\r\n // })\r\n }\r\n }\r\n });\r\n \r\n if (vm.jobselected.length > 0) {\r\n vm.BroadcastModal = $uibModal.open({\r\n templateUrl: 'Broadcast.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n else\r\n {\r\n vm.showFailure(\"Failed\", \"Please select jobs\"); \r\n vm.broadcastError = \"Please select jobs for bradcast\";\r\n }\r\n }\r\n\r\n vm.closeModal = function () {\r\n vm.BroadcastModal.close();\r\n }\r\n\r\n vm.openBroadcastmodalforFV = function (i) {\r\n vm.broadcastErrorFV = null; \r\n vm.jobselectedFV = [];\r\n angular.forEach(vm.NewJobs, function (d) {\r\n if (d.checked) {\r\n if (!d.BidDuration.includes(\":\")) {\r\n d.BidDuration = parseInt(d.BidDuration / 60) + \":\" + parseInt(d.BidDuration % 60);\r\n }\r\n \r\n vm.jobselectedFV.push(d);\r\n $log.log(d)\r\n }\r\n });\r\n if (vm.jobselectedFV.length > 0) {\r\n vm.BroadcastModalFV = $uibModal.open({\r\n templateUrl: 'BroadcastFV.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n } else {\r\n vm.broadcastErrorFV = \"Please select jobs for bradcast\";\r\n }\r\n }\r\n\r\n\r\n vm.OpenBroadcastModelToFV = function (i) {\r\n vm.broadcastErrorFV = null; \r\n vm.jobselectedFV = [];\r\n angular.forEach(vm.NewJobs, function (d) {\r\n if (d.checked) {\r\n if (!d.BidDuration.includes(\":\")) {\r\n d.BidDuration = parseInt(d.BidDuration / 60) + \":\" + parseInt(d.BidDuration % 60);\r\n }\r\n \r\n vm.jobselectedFV.push(d);\r\n $log.log(d)\r\n }\r\n });\r\n if (vm.jobselectedFV.length > 0) {\r\n vm.BroadcastModalFV = $uibModal.open({\r\n templateUrl: 'BroadcastFV.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n } else {\r\n vm.broadcastErrorFV = \"Please select jobs for bradcast\";\r\n }\r\n }\r\n\r\n vm.closeModalFV = function () {\r\n vm.BroadcastModalFV.close();\r\n }\r\n\r\n vm.GetAllVendors = function () {\r\n vm.vendorList = [];\r\n var itemNames = \"\";\r\n var itemValues = \"\";\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n itemNames = \"VendorLocations,VendorSkillsets,VendorStatus\";\r\n itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active';\r\n } else {\r\n itemNames = \"VendorStatus\";\r\n itemValues = \"Active\";\r\n }\r\n if (vm.loggedInUserRole == 'Help Desk') {\r\n itemNames += \",VendorSkillsets\";\r\n itemValues += \",\"+ loggedinUserSkill; \r\n }\r\n\r\n // GetAllVendors\r\n ManualAssignationJobService.GetFixedVendorsByFilters(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data) {\r\n angular.forEach(resp.data, function(vendor){\r\n if (vendor.UserId !=loggedinUser) {\r\n vm.vendorList.push(vendor);\r\n }\r\n })\r\n preprocessData(vm.vendorList);\r\n }\r\n } else {\r\n vm.vendorList = '';\r\n }\r\n })\r\n }\r\n\r\n //Implementation of Checkboxes for all tables\r\n vm.selectedItems = [];\r\n vm.fixed_select_single = [];\r\n vm.free_selectedItems = [];\r\n vm.freelancer_select_single = [];\r\n vm.free_NewJobSelectedItems = [];\r\n vm.freelancer_select_single_NewJob = [];\r\n vm.selectAllCheckboxes = function (mode, table) {\r\n if (mode == 'fixed' && table == 'fixed_NewJob') {\r\n if (vm.fixed_selectAll) {\r\n angular.forEach(vm.NewJobs, function (item) {\r\n idx = vm.selectedItems.indexOf(item);\r\n if (idx >= 0) {\r\n return true;\r\n } else {\r\n vm.fixed_select_all = true;\r\n vm.selectedItems.push(item);\r\n vm.fixed_select_single.push(\"true\");\r\n }\r\n })\r\n\r\n } else {\r\n vm.fixed_select_all = false;\r\n vm.fixed_selectAll = false;\r\n vm.selectedItems = [];\r\n vm.fixed_select_single = [];\r\n }\r\n\r\n //$log.log('selectedItems', vm.selectedItems);\r\n } else if (mode == 'freelancer' && table == 'freelancer_users') {\r\n if (vm.freelancer_selectAll) {\r\n angular.forEach(vm.freelancerUsers, function (item) {\r\n idx = vm.free_selectedItems.indexOf(item);\r\n if (idx >= 0) {\r\n return true;\r\n } else {\r\n vm.freelancer_select_all = true;\r\n vm.free_selectedItems.push(item);\r\n vm.freelancer_select_single.push(\"true\");\r\n }\r\n })\r\n } else {\r\n vm.freelancer_select_all = false;\r\n vm.freelacer_selectAll = false;\r\n vm.free_selectedItems = [];\r\n vm.freelancer_select_single = [];\r\n }\r\n\r\n } else if (mode == 'freelancer' && table == 'freelancer_NewJob') {\r\n if (vm.freelancer_SelectAllJobs) {\r\n angular.forEach(vm.NewJobs, function (item) {\r\n idx = vm.free_NewJobSelectedItems.indexOf(item);\r\n if (idx >= 0) {\r\n return true;\r\n } else {\r\n vm.freelancer_Select_All_NewJobs = true;\r\n vm.free_NewJobSelectedItems.push(item);\r\n vm.freelancer_select_single_NewJob.push(\"true\");\r\n }\r\n })\r\n } else {\r\n vm.freelancer_Select_All_NewJobs = false;\r\n vm.freelancer_SelectAllJobs = false;\r\n vm.free_NewJobSelectedItems = [];\r\n vm.freelancer_select_single_NewJob = [];\r\n }\r\n }\r\n }\r\n\r\n function preprocessData(users) {\r\n if (users && users.length > 0) {\r\n angular.forEach(users, function (user) {\r\n user.locationCount = user.Locations && user.Locations.length > 0 ? user.Locations.length : 0;\r\n user.locationToolTip = \"\";\r\n if (user.locationCount > 0) {\r\n angular.forEach(user.Locations, function (loc) {\r\n user.locationToolTip += loc + \",\";\r\n })\r\n user.locationToolTip = user.locationToolTip.substr(0, user.locationToolTip.length - 1);\r\n }\r\n\r\n user.SkillSetCount = user.SkillSet && user.SkillSet.length > 0 ? user.SkillSet.length : 0;\r\n user.SkillSetToolTip = \"\";\r\n if (user.SkillSetCount > 0) {\r\n angular.forEach(user.SkillSet, function (s) {\r\n user.SkillSetToolTip += s + \",\";\r\n })\r\n user.SkillSetToolTip = user.SkillSetToolTip.substr(0, user.SkillSetToolTip.length - 1);\r\n }\r\n user.OneJobSkillSetCount = user.OneJobDoneSkillSet && user.OneJobDoneSkillSet.length > 0 ? user.OneJobDoneSkillSet.length : 0;\r\n user.OneJobSkillSetToolTip = \"\";\r\n if (user.OneJobSkillSetCount > 0) {\r\n angular.forEach(user.OneJobDoneSkillSet, function (s) {\r\n user.OneJobSkillSetToolTip += s + \",\";\r\n })\r\n user.OneJobSkillSetToolTip = user.OneJobSkillSetToolTip.substr(0, user.OneJobSkillSetToolTip.length - 1);\r\n }\r\n\r\n user.ToolsListCount = user.Tools && user.Tools.length > 0 ? user.Tools.length : 0;\r\n user.ToolsListToolTip = \"\";\r\n if (user.ToolsListCount > 0) {\r\n angular.forEach(user.Tools , function (s) {\r\n user.ToolsListToolTip += s + \",\";\r\n })\r\n user.ToolsListToolTip = user.ToolsListToolTip.substr(0, user.ToolsListToolTip.length - 1);\r\n }\r\n user.VendorLocationsCount = user.VendorLocations && user.VendorLocations.length > 0 ? user.VendorLocations.length : 0;\r\n user.VendorLocationsToolTip = \"\";\r\n if (user.VendorLocationsCount > 0) {\r\n angular.forEach(user.VendorLocations, function (loc) {\r\n user.VendorLocationsToolTip += loc + \",\";\r\n })\r\n user.VendorLocationsToolTip = user.VendorLocationsToolTip.substr(0, user.VendorLocationsToolTip.length - 1);\r\n }\r\n\r\n user.VendorSkillsetsCount = user.VendorSkillsets && user.VendorSkillsets.length > 0 ? user.VendorSkillsets.length : 0;\r\n user.VendorSkillsetsToolTip = \"\";\r\n if (user.VendorSkillsetsCount > 0) {\r\n angular.forEach(user.VendorSkillsets, function (s) {\r\n user.VendorSkillsetsToolTip += s + \",\";\r\n })\r\n user.VendorSkillsetsToolTip = user.VendorSkillsetsToolTip.substr(0, user.VendorSkillsetsToolTip.length - 1);\r\n }\r\n user.ratingStars = vm.getRatingStars(Math.round(user.Ratings));\r\n user.blankStars = vm.getBlankStars(Math.round(user.Ratings));\r\n user.exp = user.Experience > 0 ? parseFloat(user.Experience / 365).toFixed(1) : 0;\r\n user.checked = false;\r\n });\r\n }\r\n }\r\n\r\n vm.getProfilePic = function (profilePicName) {\r\n return profilePicName ? ImageUrl + \"/\" + profilePicName : null;\r\n }\r\n\r\n vm.implementSelectTickets = function (itemList, scope) {\r\n scope.selectRowTicket = function (i) {\r\n vm.bundleTicketArray = []; \r\n vm.bundlePrice = [];\r\n vm.bundlesum = 0; \r\n angular.forEach(scope[itemList], function (d) {\r\n if (d.checked) {\r\n vm.bundleTicketArray.push(d.TicketId) \r\n vm.bundlePrice.push(d.FreelancerRate)\r\n vm.bundlesum = vm.bundlePrice.reduce(function (x, y) {\r\n return x + y;\r\n }, 0); \r\n } \r\n });\r\n if(vm.bundleTicketArray.length > 5) {\r\n vm.showFailure(\"Failed\", 'Please select 5 or less than 5 tickets to create combo');\r\n }\r\n }\r\n\r\n }\r\n\r\n vm.implementSelectTickets('jobTickets', this);\r\n\r\n vm.toBebundle = [];\r\n vm.implementSelectItemsNewJob = function (itemList, scope) {\r\n scope.selectAllNewJob = false;\r\n scope.showMinusNewJob = false;\r\n scope.PlannedClosureDateFlag = false;\r\n scope.CreateComboFlag = false;\r\n scope.AutoBroadcastedOnce = true;\r\n scope.selectRowNewJob = function (i) {\r\n scope.showMinusNewJob = false;\r\n scope.selectAllNewJob = false;\r\n scope.PlannedClosureDateFlag = false;\r\n scope.CreateComboFlag = false;\r\n scope.AutoBroadcastedOnce = true;\r\n angular.forEach(scope[itemList], function (d) {\r\n if (d.checked) {\r\n vm.toBebundle.push(d.TicketId)\r\n vm.selctedTickets = vm.toBebundle.length;\r\n scope.showMinusNewJob = true;\r\n if(!d.ShowManualBroadcast){\r\n scope.AutoBroadcastedOnce = d.ShowManualBroadcast;\r\n }\r\n if(d.TicketStatus == 'New'){\r\n scope.PlannedClosureDateFlag = true;\r\n }\r\n if((d.TicketStatus == 'New' || d.TicketStatus == 'Broadcasted') && (vm.accountConfig.AccountId != '361' && vm.accountConfig.AccountId != '364' && vm.accountConfig.AccountId != '380' && vm.accountConfig.AccountId != '383')){\r\n scope.CreateComboFlag = true;\r\n }\r\n }\r\n \r\n });\r\n }\r\n scope.applyAllNewJobSelect = function () {\r\n angular.forEach(scope[itemList], function (d) {\r\n d.checked = scope.selectAllNewJob;\r\n if(d.checked && d.TicketStatus == 'New' ){\r\n scope.PlannedClosureDateFlag = true;\r\n }\r\n });\r\n }\r\n\r\n scope.resetAllSelect = function () {\r\n scope.selectAllNewJob = false;\r\n scope.showMinusNewJob = false;\r\n scope.PlannedClosureDateFlag = false;\r\n scope.CreateComboFlag = false;\r\n }\r\n }\r\n\r\n vm.implementSelectItemsNewJob('ticketList', this);\r\n\r\n vm.implementSelectItemsFL = function (itemList, scope) {\r\n scope.selectAllFL = false;\r\n scope.showMinusFL = false;\r\n scope.selectCountFL = 0;\r\n scope.selectRowFL = function (i) {\r\n //$log.log(\"selectRow called\");\r\n scope.selectCountFL = 0;\r\n scope.showMinusFL = false;\r\n scope.selectAllFL = false;\r\n angular.forEach(vm.UserByFiltersList, function (d) {\r\n // //$log.log(d);\r\n if (d.checked) {\r\n scope.showMinusFL = true;\r\n scope.selectCountFL++;\r\n }\r\n });\r\n }\r\n scope.applyAllFLSelect = function () {\r\n angular.forEach(scope[itemList], function (d) {\r\n d.checked = scope.selectAllFL;\r\n scope.selectCountFL++;\r\n });\r\n }\r\n }\r\n \r\n //\r\n vm.ResetUserSelection = function (scope){\r\n scope.selectAllFL = false;\r\n scope.showMinusFL = false;\r\n scope.selectCountFL = 0;\r\n }\r\n vm.implementSelectItemsFL('UserByFiltersList', this);\r\n\r\n\r\n //userSuggestion list\r\n vm.implementSelectItemsUS = function (itemList, scope) {\r\n scope.selectAllUS = false;\r\n scope.showMinusUS = false;\r\n scope.selectCountUS = 0;\r\n scope.selectRowUS = function (i) {\r\n scope.selectCountUS = 0;\r\n scope.showMinusUS = false;\r\n scope.selectAllUS = false;\r\n angular.forEach(vm.UserSuggestionList, function (d) {\r\n if (d.checked) {\r\n scope.showMinusUS = true;\r\n scope.selectCountUS++;\r\n }\r\n });\r\n }\r\n scope.applyAllFLSelectUS = function () {\r\n angular.forEach(scope[itemList], function (d) {\r\n d.checked = scope.selectAllUS;\r\n scope.selectCountUS++;\r\n });\r\n }\r\n }\r\n //\r\n vm.ResetUserSelectionUS = function (scope){\r\n scope.selectAllUS = false;\r\n scope.showMinusUS = false;\r\n scope.selectCountUS = 0;\r\n }\r\n\r\n vm.workorderTkt = false;\r\n vm.selectRowNewWoL = function(tktId) {\r\n vm.tickIdForWoL = tktId;\r\n vm.workorderTkt = true\r\n\r\n }\r\n\r\nvm.implementSelectItemsUS('UserSuggestionList', this);\r\n\r\n\r\nif(vm.loggedInUserRole == \"Dispatch Supervisor\" || vm.loggedInUserRole == \"OnBoarding Supervisor\")\r\n{\r\n vm.statusList=[\"Broadcasted\",\"Completed\",\"Approved\",\"Assigned\", \"New\",\"Hold\", \"ReadyToAssign\", \"Rejected\",\"Cancelled\",\"AssignedNoAction\", \"ScheduleException\",\"AddressException\",\"PriceException\"];\r\n}\r\nelse\r\n{\r\n vm.statusList=[\"Broadcasted\",\"Completed\",\"Approved\",\"Assigned\", \"New\",\"Hold\", \"ReadyToAssign\", \"Rejected\",\"Cancelled\", \"ScheduleException\",\"AddressException\",\"PriceException\"];\r\n}\r\n\r\nif(vm.loggedInUserRole == \"Dispatch Supervisor\" || vm.loggedInUserRole == \"OnBoarding Supervisor\")\r\n{\r\n vm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\",\"Private\"];\r\n}\r\nelse\r\n{\r\n if(vm.loggedInUserRole == \"Dispatch Manager\"){\r\n vm.UserTypeList = [\"Freelancer\", \"Private\", \"Freelancer Vendor\", \"Dispatch Supervisor\",\"Freelancer Dispatcher\",\"Dispatch Team Lead\"];\r\n }\r\n else if(vm.loggedInUserRole == \"OnBoarding Manager\"){\r\n vm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\", \"OnBoarding Supervisor\"];\r\n }\r\n else if(vm.loggedInUserRole == \"Dispatch Team Lead\"){\r\n vm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\", \"Private\", \"Freelancer Dispatcher\", \"Dispatch Supervisor\"];\r\n }\r\n else if(vm.loggedInUserRole == \"Administrator\") {\r\n vm.UserTypeList = [\"Project Manager\", \"Supervisor\", \"Freelancer\", \"Freelancer Vendor\",\"Private\"];\r\n }\r\n else if(vm.loggedInUserRole == \"Project Manager\"){\r\n vm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\", \"Private\", \"Supervisor\"];\r\n }\r\n else if(vm.loggedInUserRole == \"Supervisor\"){\r\n vm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\",\"Private\"];\r\n }\r\n \r\n}\r\n \r\n vm.getJobAllStatus = function () {\r\n ManualAssignationJobService.getJobAllStatus(loggedinUser, token, function (data) { \r\n angular.forEach(data, function (status) {\r\n if (status.StatusName == 'On Hold') {\r\n status.StatusName = 'Hold'; \r\n }\r\n vm.statusList.push(status.StatusName); \r\n }) \r\n }, vm.showFailure);\r\n }\r\n \r\n $scope.slideAssistedSuggestion = function(){ \r\n document.getElementById(\"assistedSuggestion\").style.width = \"25%\";\r\n }\r\n vm.closeAssistedSuggestion = function(){ \r\n document.getElementById(\"assistedSuggestion\").style.width = \"0%\";\r\n }\r\n vm.closeFLprofile = function(){ \r\n document.getElementById(\"freelancerProfile\").style.width = \"0%\";\r\n }\r\n $scope.slideF = function(){ \r\n document.getElementById(\"myNav\").style.height = \"86%\";\r\n }\r\n vm.closeSlide = function(){ \r\n document.getElementById(\"myNav\").style.height = \"0%\";\r\n }\r\n vm.FilterArray = function () { \r\n itemNames = '';\r\n itemValues = '';\r\n templateItemNames = '';\r\n templateItemValues = '';\r\n if (vm.searchStatusText != \"\" && vm.searchStatusText != \"All\" && vm.searchStatusText != null){\r\n if(itemNames.length > 0 && itemValues.length > 0){\r\n itemNames = itemNames + ',Status';\r\n itemValues = itemValues + ',' + vm.searchStatusText.join('|');\r\n }else{\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText.join('|');\r\n } \r\n }\r\n\r\n if (vm.ticketskill != \"\" && vm.ticketskill != null) { \r\n if(itemNames) \r\n {\r\n itemNames = itemNames + ',Skill';\r\n itemValues = itemValues + \",\" + vm.ticketskill.join('|');;\r\n }\r\n else\r\n {\r\n itemNames = 'Skill';\r\n itemValues = vm.ticketskill.join('|');;\r\n } \r\n }\r\n\r\n if (vm.GroupType){\r\n if(itemNames){\r\n itemNames = itemNames + ',GroupType';\r\n itemValues = itemValues + ',' + vm.GroupType;\r\n }else{\r\n itemNames = 'GroupType';\r\n itemValues = vm.GroupType;\r\n } \r\n }\r\n\r\n if (vm.Priority) {\r\n if (itemNames) {\r\n itemNames = itemNames + ',Priority';\r\n itemValues = itemValues + ',' + vm.Priority;\r\n } else {\r\n itemNames = 'Priority';\r\n itemValues = vm.Priority;\r\n }\r\n }\r\n\r\n if(vm.SearchByAccountName != \"\" && vm.SearchByAccountName != null)\r\n {\r\n if(itemNames) \r\n {\r\n itemNames = itemNames + ',AccountName';\r\n itemValues = itemValues + \",\" + vm.SearchByAccountName.join('|');\r\n }\r\n else\r\n {\r\n itemNames = 'AccountName';\r\n itemValues = vm.SearchByAccountName.join('|');\r\n } \r\n }\r\n if(vm.SearchByCName){\r\n if(itemNames.length > 0 && itemValues.length > 0){\r\n itemNames = itemNames + ',CustomerName';\r\n itemValues = itemValues + ',' + vm.SearchByCName;\r\n }else{\r\n itemNames = 'CustomerName';\r\n itemValues = vm.SearchByCName;\r\n }\r\n if(itemNames.length > 0 && itemValues.length > 0){\r\n itemNames = itemNames + ',ProjectName';\r\n itemValues = itemValues + ',' + vm.SearchByPName;\r\n }else{\r\n itemNames = 'ProjectName';\r\n itemValues = vm.SearchByPName;\r\n }\r\n }\r\n\r\n if(vm.JobcountbyStatus)\r\n {\r\n if(itemNames) \r\n {\r\n itemNames = itemNames + ',Status';\r\n itemValues = itemValues + \",\" + vm.JobcountbyStatus;\r\n }\r\n else\r\n {\r\n itemNames = 'Status';\r\n itemValues = vm.JobcountbyStatus;\r\n }\r\n }\r\n\r\n if (vm.userIdforStatus) {\r\n if(itemNames) \r\n {\r\n itemNames = itemNames + ',UserId';\r\n itemValues = itemValues + \",\" + vm.userIdforStatus;\r\n }\r\n else\r\n {\r\n itemNames = 'UserId';\r\n itemValues = vm.userIdforStatus;\r\n } \r\n }\r\n if (vm.filterType) {\r\n if(itemNames) \r\n {\r\n itemNames = itemNames + ',Type';\r\n itemValues = itemValues + \",\" + vm.filterType;\r\n }\r\n else\r\n {\r\n itemNames = 'Type';\r\n itemValues = vm.filterType;\r\n } \r\n }\r\n if (vm.statusForTickets) {\r\n if (itemNames) {\r\n itemNames = itemNames + ',Status';\r\n itemValues = itemValues + \",\" + vm.statusForTickets;\r\n }\r\n else {\r\n itemNames = 'Status';\r\n itemValues = vm.statusForTickets;\r\n }\r\n }\r\n\r\n if (vm.ticketstatus) { \r\n if(itemNames) \r\n {\r\n itemNames = itemNames + ',Status';\r\n itemValues = itemValues + \",\" + vm.ticketstatus;\r\n }\r\n else\r\n {\r\n itemNames = 'Status';\r\n itemValues = vm.ticketstatus;\r\n } \r\n }\r\n\r\n if (vm.SearchByDName) { \r\n if(itemNames) \r\n {\r\n itemNames = itemNames + ',UserId';\r\n itemValues = itemValues + \",\" + vm.SearchByDName.UserId;\r\n }\r\n else\r\n {\r\n itemNames = 'UserId';\r\n itemValues = vm.SearchByDName;\r\n } \r\n }\r\n\r\n \r\n textItemNames = '';\r\n textItemValues = '';\r\n if(vm.SearchByIs){\r\n if(textItemNames.length == 0 && textItemValues.length == 0){\r\n textItemNames = 'CorelationValue';\r\n textItemValues = vm.SearchByIs;\r\n }else{\r\n textItemNames = textItemNames + ',CorelationValue';\r\n textItemValues = textItemValues + ',' + vm.SearchByIs;\r\n }\r\n \r\n }\r\n if(vm.SearchByDiscription){\r\n if(textItemNames.length == 0 && textItemValues.length == 0){\r\n textItemNames = 'JobDescription';\r\n textItemValues = vm.SearchByDiscription;\r\n }else{\r\n textItemNames = textItemNames + ',JobDescription';\r\n textItemValues = textItemValues + ',' + vm.SearchByDiscription;\r\n }\r\n }\r\n if(vm.SearchByTName){\r\n if(textItemNames.length == 0 && textItemValues.length == 0){\r\n textItemNames = 'UserName';\r\n textItemValues = vm.SearchByTName;\r\n }else{\r\n textItemNames = textItemNames + ',UserName';\r\n textItemValues = textItemValues + ',' + vm.SearchByTName;\r\n }\r\n }\r\n if(vm.SearchByConsumerName){\r\n if(textItemNames.length == 0 && textItemValues.length == 0){\r\n textItemNames = 'ConsumerName';\r\n textItemValues = vm.SearchByConsumerName;\r\n }else{\r\n textItemNames = textItemNames + ',ConsumerName';\r\n textItemValues = textItemValues + ',' + vm.SearchByConsumerName;\r\n }\r\n }\r\n if(vm.SearchByConsumerContact){\r\n if(textItemNames.length == 0 && textItemValues.length == 0){\r\n textItemNames = 'ConsumerContact';\r\n textItemValues = vm.SearchByConsumerContact;\r\n }else{\r\n textItemNames = textItemNames + ',ConsumerContact';\r\n textItemValues = textItemValues + ',' + vm.SearchByConsumerContact;\r\n }\r\n }\r\n\r\n if (vm.State) { \r\n if(itemNames) \r\n {\r\n itemNames = itemNames + ',State';\r\n itemValues = itemValues + \",\" + vm.State;\r\n }\r\n else\r\n {\r\n itemNames = 'State';\r\n itemValues = vm.State;\r\n } \r\n }\r\n\r\n if (vm.State && vm.City) { \r\n if(itemNames) \r\n {\r\n itemNames = itemNames + ',City';\r\n itemValues = itemValues + \",\" + vm.City;\r\n }\r\n else\r\n {\r\n itemNames = 'City';\r\n itemValues = vm.City;\r\n } \r\n }\r\n\r\n if(vm.searchText)\r\n {\r\n itemNames = 'Search';\r\n itemValues = vm.searchText;\r\n templateItemNames = '';\r\n templateItemValues = ''; \r\n textItemNames = '';\r\n textItemValues = '';\r\n startDate = startDate;\r\n endDate = endDate;\r\n }\r\n }\r\n\r\n\r\n vm.ResetTicketFilter = function () { \r\n vm.ticketaccount = '';\r\n vm.PermanentState = '';\r\n vm.ticketskill = '';\r\n vm.ticketstatus = '';\r\n vm.PermanentCity = '';\r\n vm.searchStatusText = '';\r\n }\r\n\r\n vm.ResetUserFilter = function () { \r\n vm.UsersType = '';\r\n vm.userlocation = '';\r\n vm.userskill = ''; \r\n vm.uType= ''; \r\n vm.SearchByIs = '';\r\n vm.SearchByDiscription = '';\r\n vm.SearchByTName = '';\r\n vm.SearchByPName = '';\r\n vm.SearchByDName = '';\r\n vm.SearchByCName = ''; \r\n vm.SearchByConsumerName = '';\r\n vm.SearchByConsumerContact = '';\r\n vm.CurrentCity = '';\r\n vm.CurrentState = '';\r\n vm.WorkState = '';\r\n vm.WorkCity = '';\r\n vm.userIdforStatus = '';\r\n vm.statusForTickets = '';\r\n vm.filterType = '';\r\n }\r\n vm.PlannedClosureDateModelOpen= function()\r\n { \r\n var ticketIdList=[];\r\n vm.IsLoadSucessfull=false;\r\n for(var j=0;j 0) {\r\n vm.teamToBeAssignedList = resp.data;\r\n reallocateModalInstance = $uibModal.open({\r\n templateUrl: 'call_reallocate_model.html',\r\n scope: $scope\r\n }); \r\n } else {\r\n vm.showFailure(\"Failed\",resp.data);\r\n }\r\n }\r\n });\r\n }\r\n vm.disableCreateButton = false;\r\n vm.reallocateTicketCloseModal = function () {\r\n reallocateModalInstance.close();\r\n vm.disableCreateButton = false;\r\n vm.toBeAssignedTicketId = \"\";\r\n vm.teamToBeAssignedList = [];\r\n }\r\n\r\n vm.TransferCallToServiceCentre = function () {\r\n vm.reallocationForm.submitted = true;\r\n if (vm.reallocationForm.$valid){\r\n vm.disableCreateButton = true;\r\n ManualAssignationJobService.TransferCallToServiceCentre(vm.toBeAssignedTicketId, vm.selectTechnician, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Job has reallocated successfully.\");\r\n vm.reallocateTicketCloseModal();\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n }, 2000)\r\n }\r\n else {\r\n vm.disableCreateButton = false;\r\n vm.showFailure(\"Failed\", resp.data)\r\n }\r\n });\r\n }\r\n \r\n }\r\n\r\n\r\n vm.UserPenaltyUpdate = function(){\r\n vm.closePenaltyPopup();\r\n vm.penaltyForm.submitted = true;\r\n if (vm.penaltyForm.$valid) { \r\n var data = {\r\n \"PenaltyReason\": vm.penaltyReason,\r\n \"PenaltyRemark\": vm.penaltyRemark,\r\n \"UserId\": vm.userId,\r\n \"Amount\" : vm.penaltyAmount\r\n }\r\n ManualAssignationJobService.UserPenaltyUpdate(data,loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) { \r\n vm.showSuccess(\"Success\",\"Penalty applied successfully\"); \r\n vm.penaltyReason = \"\";\r\n vm.penaltyRemark = \"\";\r\n vm.penaltyAmount = 0;\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", \"Server not responding\");\r\n vm.penaltyReason = \"\";\r\n vm.penaltyRemark = \"\";\r\n vm.penaltyAmount = 0;\r\n }\r\n }, function () {\r\n \r\n }); \r\n }\r\n }\r\n\r\n\r\n\r\n vm.UserDataUpdateRequest = function(isCollapsed,Ticket){\r\n $scope.isCollapsed = !isCollapsed;\r\n // vm.feedbackForm.submitted = true;\r\n // vm.feedbackFormBroadCasted.submitted = true;\r\n // if (vm.feedbackForm.$valid) { \r\n var data =\r\n {\r\n \"MasterReason\": vm.MasterReason,\r\n \"Comments\": vm.Comments,\r\n \"RequestForUserId\": vm.userid,\r\n \"TicketId\":Ticket\r\n }\r\n ManualAssignationJobService.UserDataUpdateRequest(data,loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) { \r\n vm.showSuccess(resp.data); \r\n $scope.isCollapsed = true;\r\n vm.Comments =\"\";\r\n vm.MasterReason =\"\";\r\n $timeout(function () {\r\n vm.GetFreelancerSuggestions(false,vm.showMode)\r\n }, 2000);\r\n }\r\n }, function () {\r\n \r\n }); \r\n // }\r\n }\r\n\r\n vm.BrodUserDataUpdateRequest = function(isCollapsed,Ticket){\r\n $scope.isCollapsed = !isCollapsed;\r\n // vm.feedbackFormBroadCasted.submitted = true;\r\n // if (vm.feedbackFormBroadCasted.$valid) { \r\n var data =\r\n {\r\n \"MasterReason\": vm.MasterReason,\r\n \"Comments\": vm.Comments,\r\n \"RequestForUserId\": vm.userid,\r\n \"TicketId\":Ticket\r\n }\r\n ManualAssignationJobService.UserDataUpdateRequest(data,loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) { \r\n vm.showSuccess(resp.data); \r\n $timeout(function () {\r\n vm.BidSent(vm.tempTicketInfo,\"feedbackFlag\");\r\n $scope.myvalue = false;\r\n }, 1000);\r\n $scope.isCollapsed = true;\r\n vm.Comments =\"\";\r\n vm.MasterReason =\"\";\r\n }\r\n }, function () { \r\n }); \r\n // }\r\n }\r\n\r\n\r\n\r\n vm.CancelTicket = function(ticketId, currentJOb){\r\n vm.CurrentJob = currentJOb;\r\n vm.TicketWarrantyStatus = currentJOb.WarrantyStatus;\r\n vm.RatingOfTicket = '';\r\n vm.AuditTicketId = vm.CurrentJob.TicketId;\r\n vm.IsClosureCodeNeeded = vm.CurrentJob.IsClosuerCodeNeeded;\r\n vm.TicketPaymentNeedToProcess = vm.CurrentJob.IsTicketPaymentNeedToProcess;\r\n vm.CollectionRequired = vm.CurrentJob.CollectionRequired;\r\n vm.IsApplicableForAutoPayment = vm.CurrentJob.IsApplicableForAutoPayment;\r\n if(vm.CurrentJob.TicketStatus==\"Completed\" && vm.CurrentJob.SubStatus ==\"TBC\"){ \r\n vm.PrimaryReason = vm.CurrentJob.PrimaryReason;\r\n ManualAssignationJobService.GetCancellationReasons(vm.AuditTicketId,vm.CurrentJob.TicketStatus, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.CancellationReasonsList=resp.data;\r\n approveModalInstance = $uibModal.open({\r\n templateUrl: 'tbc_confirm_cancelation_model.html',\r\n scope: $scope\r\n });\r\n }\r\n }, function () { \r\n });\r\n \r\n }\r\n else\r\n {\r\n \r\n vm.IsCancelFromServer = vm.accountConfig.IsCancelFromServer;\r\n if(vm.IsCancelFromServer && (vm.CurrentJob.TicketStatus==\"Assigned\" || vm.CurrentJob.TicketStatus==\"New\" || vm.CurrentJob.TicketStatus==\"ScheduleException\")){\r\n ManualAssignationJobService.GetCancellationReasons(vm.AuditTicketId,vm.CurrentJob.TicketStatus, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.CancellationReasonsList=resp.data;\r\n cancellationReasonsModalInstance = $uibModal.open({\r\n templateUrl: 'cancellation_reasons_model.html',\r\n scope: $scope\r\n }); \r\n }\r\n }, function () { \r\n });\r\n }\r\n else{\r\n ManualAssignationJobService.CancelTicket(loggedinUser,ticketId,token).then(function(res){\r\n if(res.status == 202 && res.statusText =='Accepted'){\r\n vm.showSuccess('Success',res.data);\r\n $timeout(function () {\r\n vm.FilterArray(); \r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n }, 1000);\r\n }\r\n }); \r\n }\r\n }\r\n }\r\n vm.JobRescheduleAudit = function()\r\n {\r\n rescheduleAuditModalInstance.close();\r\n ManualAssignationJobService.TBCCancelationAudit(vm.RescheduleAuditModel,vm.RescheduleAuditTicketId,loggedinUser,token).then(function(res){\r\n if(res && res.status == 200){\r\n vm.showSuccess(\"Success\", \"Job cancelation audit successfully done.\"); \r\n $timeout(function () {\r\n vm.FilterArray(); \r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n }, 1000); \r\n }\r\n });\r\n }\r\n \r\n\r\n vm.TBCCancelationAudit = function()\r\n { \r\n vm.tbccancellationReasonsForm.submitted = true;\r\n if(vm.CancellationReasons == 'Customer not responding' || vm.CancellationReasons == 'Customer denied sharing code'){\r\n vm.tbccancellationReasonsForm.$valid = true\r\n if (vm.tbccancellationReasonsForm.$valid) { \r\n if(vm.closureCode){\r\n vm.IsClosuerCodeAvailable = true;\r\n }\r\n else{\r\n vm.IsClosuerCodeAvailable = false;\r\n }\r\n var data = {\r\n \"TicketId\": vm.AuditTicketId,\r\n \"AuditValue\": vm.TBCCancelationModel,\r\n \"IsApplicableForAutoPayment\": vm.IsApplicableForAutoPayment,\r\n \"IsCommissionDetect\": vm.IsCommissionDetect,\r\n \"ClosuerCode\": vm.closureCode,\r\n \"IsClosuerCodeAvailable\" : vm.IsClosuerCodeAvailable,\r\n \"CancelReason\" : vm.CancellationReasons,\r\n }\r\n vm.IsInvoiceEnabled;\r\n approveModalInstance.close();\r\n ManualAssignationJobService.TBCCancelationAudit(data,loggedinUser,token).then(function(res){\r\n if(res && res.status == 200){\r\n vm.showSuccess(\"Success\", \"Job cancelation audit successfully done.\"); \r\n vm.closureCode = \"\";\r\n vm.IsClosureCodeNeeded = \"\";\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n }, 2000); \r\n }\r\n });\r\n }\r\n }\r\n else{\r\n if (vm.tbccancellationReasonsForm.$valid) { \r\n if(vm.closureCode){\r\n vm.IsClosuerCodeAvailable = true;\r\n }\r\n else{\r\n vm.IsClosuerCodeAvailable = false;\r\n }\r\n var data = {\r\n \"TicketId\": vm.AuditTicketId,\r\n \"AuditValue\": vm.TBCCancelationModel,\r\n \"IsApplicableForAutoPayment\": vm.IsApplicableForAutoPayment,\r\n \"IsCommissionDetect\": vm.IsCommissionDetect,\r\n \"ClosuerCode\": vm.closureCode,\r\n \"IsClosuerCodeAvailable\" : vm.IsClosuerCodeAvailable,\r\n \"CancelReason\" : vm.CancellationReasons,\r\n }\r\n vm.IsInvoiceEnabled;\r\n approveModalInstance.close();\r\n ManualAssignationJobService.TBCCancelationAudit(data,loggedinUser,token).then(function(res){\r\n if(res && res.status == 200){\r\n vm.showSuccess(\"Success\", \"Job cancelation audit successfully done.\"); \r\n vm.closureCode = \"\";\r\n vm.IsClosureCodeNeeded = \"\";\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n }, 2000); \r\n }\r\n });\r\n }\r\n \r\n }\r\n }\r\n vm.updateFalseTBC = function (status) {\r\n if(status == 'Yes' ) {\r\n vm.IsApplicableForAutoPayment = false;\r\n }\r\n else {\r\n vm.IsApplicableForAutoPayment = true;\r\n }\r\n }\r\n\r\n vm.CloseModal = function () {\r\n approveModalInstance.close();\r\n }\r\n vm.CancellationReasonsCloseModal = function () {\r\n cancellationReasonsModalInstance.close();\r\n vm.CancellationReasons=\"\";\r\n vm.CancellationReasonsRemark=\"\";\r\n vm.HintDisplay=\"\";\r\n vm.closureCode = \"\";\r\n }\r\n\r\n vm.UpdateCancellationReasons = function()\r\n { \r\n vm.cancellationReasonsForm.submitted = true;\r\n if(vm.CancellationReasons == 'Customer not responding' || vm.CancellationReasons == 'Customer denied sharing code'){\r\n vm.cancellationReasonsForm.$valid = true;\r\n if (vm.cancellationReasonsForm.$valid) { \r\n if(vm.closureCode){\r\n vm.IsClosuerCodeAvailable = true;\r\n }\r\n else{\r\n vm.IsClosuerCodeAvailable = false;\r\n } \r\n var CancellationReasonsModel = {\r\n \"TicketId\": vm.AuditTicketId,\r\n \"CancelReason\": vm.CancellationReasons,\r\n \"CancelRemark\": vm.CancellationReasonsRemark,\r\n \"ClosuerCode\": vm.closureCode,\r\n \"IsClosuerCodeAvailable\" : vm.IsClosuerCodeAvailable\r\n }\r\n ManualAssignationJobService.UpdateJobServerCancel(CancellationReasonsModel,loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) { \r\n vm.showSuccess(\"Success\",resp.data); \r\n $timeout(function () {\r\n vm.FilterArray(); \r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n \r\n }, 2000); \r\n cancellationReasonsModalInstance.close();\r\n vm.CancellationReasons=\"\";\r\n vm.CancellationReasonsRemark=\"\";\r\n vm.closureCode = \"\";\r\n vm.HintDisplay=\"\";\r\n }\r\n else{\r\n vm.showFailure(\"Failed\",resp.data);\r\n }\r\n }, function () {\r\n \r\n }); \r\n }\r\n }\r\n else {\r\n if (vm.cancellationReasonsForm.$valid) { \r\n if(vm.closureCode){\r\n vm.IsClosuerCodeAvailable = true;\r\n }\r\n else{\r\n vm.IsClosuerCodeAvailable = false;\r\n } \r\n var CancellationReasonsModel = {\r\n \"TicketId\": vm.AuditTicketId,\r\n \"CancelReason\": vm.CancellationReasons,\r\n \"CancelRemark\": vm.CancellationReasonsRemark,\r\n \"ClosuerCode\": vm.closureCode,\r\n \"IsClosuerCodeAvailable\" : vm.IsClosuerCodeAvailable\r\n }\r\n ManualAssignationJobService.UpdateJobServerCancel(CancellationReasonsModel,loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) { \r\n vm.showSuccess(\"Success\",resp.data); \r\n $timeout(function () {\r\n vm.FilterArray(); \r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n \r\n }, 2000); \r\n cancellationReasonsModalInstance.close();\r\n vm.CancellationReasons=\"\";\r\n vm.CancellationReasonsRemark=\"\";\r\n vm.closureCode = \"\";\r\n vm.HintDisplay=\"\";\r\n }\r\n else{\r\n vm.showFailure(\"Failed\",resp.data);\r\n }\r\n }, function () {\r\n \r\n }); \r\n }\r\n }\r\n \r\n }\r\n \r\n vm.SendCancelCodeToCustomer = function()\r\n { \r\n if (vm.CancellationReasons != \"\") { \r\n var SendCodeModel =\r\n {\r\n \"TicketId\": vm.AuditTicketId,\r\n \"CancelReason\": vm.CancellationReasons\r\n }\r\n ManualAssignationJobService.SendCancelCodeToCustomer(SendCodeModel,loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) { \r\n vm.showSuccess(\"Success\", \"Code Sent to Customer\"); \r\n }\r\n }, function () {\r\n \r\n }); \r\n }\r\n }\r\n\r\n //Cancel and clone ticket\r\n vm.CancleAndCloneTicket = function(ticket){\r\n var ticketData = ticket;\r\n $state.go('index.JobBidCreation', { cloneticketid:ticketData.TicketId },\r\n {reload: true,inherit: false,notify: true}); \r\n }\r\n\r\n vm.OpenSettlementModal = function (currentJOb) {\r\n vm.CurrentJob = currentJOb;\r\n vm.PaymentStatus = '';\r\n vm.Remarks = '';\r\n\r\n settlementModalInstance = $uibModal.open({\r\n templateUrl: 'settlement_model.html',\r\n scope: $scope\r\n });\r\n\r\n }\r\n\r\n vm.SettlementCloseModal = function () {\r\n settlementModalInstance.close();\r\n }\r\n\r\n vm.settlemenTicket = function (status, ticketId, remarks, userId) {\r\n settlementModalInstance.close();\r\n var settlementData = {};\r\n settlementData.PaymentStatus = status;\r\n settlementData.ReqUserId = loggedinUser;\r\n settlementData.TicketId = ticketId;\r\n settlementData.Remarks = remarks;\r\n settlementData.FEId = userId;\r\n settlementData.Status = \"Done\";\r\n ManualAssignationJobService.updateTicketSettlement(settlementData, token, loggedinUser, function (res) {\r\n \r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job settlement successfully done.\")\r\n $timeout(function () {\r\n vm.FilterArray(); \r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to settlement payment. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n\r\n }\r\n vm.makeUserMarker = function (position, icon, map) {\r\n var marker = new google.maps.Marker({\r\n position: position,\r\n map: map,\r\n icon: icon\r\n });\r\n\r\n //Adding InfoWindow to the Marker.\r\n (function (marker, customerJobCard) {\r\n google.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n $scope.InfoWindow.setContent(\"

\" + vm.name + \"

\" + ' ' + vm.contactnumber);\r\n $scope.InfoWindow.open($scope.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n $scope.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, vm.customerJobCard);\r\n\r\n //Plotting the Marker on the Map.\r\n $scope.Latlngbounds.extend(marker.position);\r\n\r\n }\r\n vm.makeJobMarker = function (position, icon, map) {\r\n var marker = new google.maps.Marker({\r\n position: position,\r\n map: map,\r\n icon: icon\r\n });\r\n\r\n //Adding InfoWindow to the Marker.\r\n (function (marker, customerJobCard) {\r\n google.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n $scope.InfoWindow.setContent(\"

\" + vm.customerJobCard.ConsumerName + \"

\" + ' ' + vm.customerJobCard.JobId + \"
\" + ' ' + moment(vm.customerJobCard.JobDateTime).format(\"YYYY-MM-DD HH:mm\") + \"
\" + ' ' + vm.customerJobCard.ConsumerContact);\r\n $scope.InfoWindow.open($scope.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n $scope.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, vm.customerJobCard);\r\n\r\n //Plotting the Marker on the Map.\r\n $scope.Latlngbounds.extend(marker.position);\r\n }\r\n function initMap() {\r\n var pointA = new google.maps.LatLng(vm.JobLatitude, vm.JobLongitude),\r\n pointB = new google.maps.LatLng(vm.FELatitude, vm.FELongitude),\r\n // center = new google.maps.LatLng(51.3, 0.8),\r\n myOptions = {\r\n zoom: 8,\r\n zoomControl: false,\r\n scaleControl: true,\r\n mapTypeControl: false,\r\n streetViewControl: false,\r\n gestureHandling: 'greedy',\r\n // center: center,\r\n mapTypeId: google.maps.MapTypeId.ROADMAP\r\n },\r\n\r\n map = new google.maps.Map(document.getElementById('map-canvas'), myOptions),\r\n // Instantiate a directions service.\r\n directionsService = new google.maps.DirectionsService,\r\n directionsDisplay = new google.maps.DirectionsRenderer({\r\n map: map\r\n }),\r\n duration = document.getElementById('duration');\r\n distance = document.getElementById('distance');\r\n flightPath = new google.maps.Polyline({\r\n path: [pointA, pointB],\r\n // geodesic: true,\r\n strokeColor: 'red',\r\n });\r\n $scope.InfoWindow = new google.maps.InfoWindow();\r\n $scope.Latlngbounds = new google.maps.LatLngBounds();\r\n // click on marker B to get route from A to B\r\n calculateAndDisplayRoute(directionsService, directionsDisplay, pointA, pointB, distance, duration, map);\r\n var travelMode = \"DRIVING\";\r\n var icon = \"https://img.icons8.com/color/96/000000/street-view.png\";\r\n }\r\n function calculateAndDisplayRoute(directionsService, directionsDisplay, pointA, pointB, distance, duration, map) {\r\n var selectedMode = \"DRIVING\";\r\n directionsService.route({\r\n origin: pointA,\r\n destination: pointB,\r\n unitSystem: google.maps.UnitSystem.METRIC,\r\n travelMode: google.maps.TravelMode[selectedMode]\r\n }, function (response, status) {\r\n if (status == google.maps.DirectionsStatus.OK) {\r\n new google.maps.DirectionsRenderer({\r\n map: map,\r\n directions: response,\r\n suppressMarkers: true,\r\n polylineOptions: {\r\n strokeColor: \"#000000\"\r\n }\r\n });\r\n var leg = response.routes[0].legs[0];\r\n //outputTxt.innerHTML =(response.routes[0].legs[0].distance.value/1000) + \" Kms\";\r\n distance.innerHTML = response.routes[0].legs[0].distance.text;\r\n duration.innerHTML = response.routes[0].legs[0].duration.text;\r\n vm.distance = response.routes[0].legs[0].distance.value / 1000;\r\n vm.makeJobMarker(leg.start_location, icons.start, map);\r\n vm.makeUserMarker(leg.end_location, icons.end, map);\r\n } else {\r\n window.alert('Directions request failed due to ' + status);\r\n }\r\n });\r\n }\r\n var icons = {\r\n start: new google.maps.MarkerImage(\r\n // URL\r\n UIURL + '/assets/images/patterns/JOb_icon.png',\r\n // (width,height)\r\n new google.maps.Size(44, 32),\r\n // The origin point (x,y)\r\n new google.maps.Point(0, 0),\r\n // The anchor point (x,y)\r\n new google.maps.Point(22, 32)),\r\n end: new google.maps.MarkerImage(\r\n // URL\r\n UIURL + '/assets/images/patterns/delivery-man1.png',\r\n // (width,height)\r\n new google.maps.Size(44, 32),\r\n // The origin point (x,y)\r\n new google.maps.Point(0, 0),\r\n // The anchor point (x,y)\r\n new google.maps.Point(22, 32))\r\n };\r\n\r\n vm.OpenFilterModel = function () {\r\n FollowUpModel = $uibModal.open({\r\n templateUrl: 'FilterModel.html',\r\n size: 'lg',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n vm.OpenReOpenCallModel = function (ticketid) {\r\n vm.TicketId = ticketid\r\n\t\t\tReopencallopen = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'ReopenCancelCall.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeReOpenCallModel = function () {\r\n\t\t\tvm.disableCreateButton = false;\r\n\t\t\tReopencallopen.close();\r\n\t\t\t\r\n\t\t}\r\n\r\n vm.ReopenCancelCall = function () {\r\n vm.validationForm.submitted = true;\r\n vm.disableCreateButton = true;\r\n ManualAssignationJobService.ReopenCancelCall(vm.TicketId,loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Call has Reopened Successfully\");\r\n vm.closeReOpenCallModel();\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n }, 2000)\r\n }\r\n else {\r\n vm.disableCreateButton = false;\r\n vm.showFailure(\"Failed\", resp.data)\r\n }\r\n });\r\n \r\n }\r\n\r\n vm.OpenFollowUpModel = function (ticketId) {\r\n vm.followup = '';\r\n vm.tickId = ticketId;\r\n FollowUpModel = $uibModal.open({\r\n templateUrl: 'FollowupJob.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n controller: ModalInstanceCtrlFollowUp,\r\n });\r\n }\r\n\r\n vm.CloseFollowUpModel = function () {\r\n vm.primaryFollowUpReason = '';\r\n vm.primaryFollowUpRemark = '';\r\n vm.primaryHoldReason='';\r\n vm.primaryHoldRemark='';\r\n vm.followFiles = null; \r\n FollowUpModel.close();\r\n }\r\n\r\n //\r\n $scope.attachmentForFollowUp = function(files){\r\n var file = files.files[0]; \r\n vm.followFiles = files.files;\r\n var allowedExtensions = /(\\.jpg|\\.jpeg|\\.png|\\.msg|\\.pdf|\\.bmp|\\.xps)$/i; \r\n if(!allowedExtensions.exec(file.name)){\r\n vm.followFiles = [];\r\n vm.clear(); \r\n alert('Please upload file having extensions .pdf,.jpg,.jpeg,.png,.msg,.bmp,xps only.');\r\n }\r\n }\r\n \r\n vm.clear = function () {\r\n angular.element(\"input[type='file']\").val(null);\r\n }; \r\n \r\n vm.DocEdit = function(index){\r\n vm.followFiles=null; \r\n }\r\n vm.ExternalUpload = function (teamid) {\r\n var newdata = {};\r\n newdata = {\r\n \"UserId\": teamid,\r\n \"Type\": \"\",\r\n \"skillName\": \"\"\r\n }\r\n AllUsersListService.UploadExternalVideoList(newdata, loggedinUser, token).then(function (resp) {\r\n vm.UploadVideoExternal = resp.data;\r\n });\r\n }\r\n var ModalInstanceCtrlFollowUp = function ($scope, $rootScope, $uibModalInstance) { \r\n vm.updateFollowUpStatus = function () {\r\n var data = {};\r\n data = {\r\n \"userId\": loggedinUser,\r\n \"dateTime\": \"\",\r\n \"activity\": \"\",\r\n \"action\": \"FOLLOW_UP\",\r\n \"userName\": \"\",\r\n \"ticketId\": vm.tickId,\r\n \"primaryReason\": vm.primaryFollowUpReason,\r\n \"SecondryReason\": \"\",\r\n \"ReasonComment\": vm.primaryFollowUpRemark\r\n }\r\n if(vm.followFiles != null) {\r\n ManualAssignationJobService.UpdateFollowUpReason(data,vm.followFiles, token, loggedinUser, function (res) {\r\n if (res && res.status == 201) {\r\n vm.showSuccess(\"Success\", \"Follow up done successfully.\");\r\n vm.CloseFollowUpModel();\r\n $timeout(function () {\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n vm.filterStatusForJObs($scope.jobStatusForPaging, $scope.selectedUserId, $localStorage.loggedInUserId, token,jPageIndex,jPageSize)\r\n }, 1000); \r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to create follow up. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n }\r\n else{\r\n ManualAssignationJobService.TicketFollowUpWithoutDoc(data, token, loggedinUser, function (res) {\r\n if (res && res.status == 201) {\r\n vm.showSuccess(\"Success\", \"Follow up done successfully.\");\r\n $timeout(function () {\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n }, 1000); \r\n } \r\n vm.CloseFollowUpModel();\r\n });\r\n }\r\n \r\n }\r\n }\r\n\r\n var ModelInstanceOfMap = function ($rootScope, $scope, $uibModal) {\r\n vm.getCustomerJobCard();\r\n }\r\n\r\n vm.getCustomerJobCard = function () {\r\n ManualAssignationJobService.getCustomerJobCardbyJobId(loggedinUser, vm.trackingTicketId, token, function (data) {\r\n vm.JobLatitude = data.JobLatitude;\r\n vm.JobLongitude = data.JobLongitude;\r\n vm.FELatitude = data.FELatitude;\r\n vm.FELongitude = data.FELongitude;\r\n vm.contactnumber = data.FEContactNumber;\r\n vm.jobtype = data.Description;\r\n vm.name = data.FEName;\r\n if(data.FEContactNumber){\r\n vm.contactnumber=data.FEContactNumber.replace(/\\d(?=\\d{4})/g, '*');\r\n }\r\n initMap();\r\n $log.log(\"res of getCustomerJobCard=\" + data);\r\n vm.customerJobCard = data;\r\n if(vm.customerJobCard.ConsumerContact){\r\n vm.customerJobCard.ConsumerContact=vm.customerJobCard.ConsumerContact.replace(/\\d(?=\\d{4})/g, '*');\r\n }\r\n if ($localStorage.rateJobParams) {\r\n vm.customerJobCard.userRole = $localStorage.Role;\r\n vm.customerJobCard.JobStatus = $localStorage.rateJobParams.status;\r\n vm.customerJobCard.CustomerGivenRating = $localStorage.rateJobParams.rating;\r\n delete $localStorage.rateJobParams;\r\n }\r\n if (data && data.JobStatus == 'PaymentDone') {\r\n\r\n }\r\n }, function () {\r\n vm.showFailure(\"Failed\", \"Unable to reach server\");\r\n });\r\n }\r\n vm.TicketBreachValueconver = function(TicketBreachValue)\r\n {\r\n var TicketBreachValueInString=\"\"; \r\n if(TicketBreachValue==0)\r\n TicketBreachValueInString = \"Not Breached\";\r\n if(TicketBreachValue==1)\r\n TicketBreachValueInString = \"Breached\";\r\n \r\n return TicketBreachValueInString;\r\n }\r\n vm.OpenTracking = function (ticket) {\r\n vm.trackingTicketId = ticket;\r\n Tracking = $uibModal.open({\r\n templateUrl: 'Tracking.html',\r\n size: 'lg',\r\n scope: $scope,\r\n controller: ModelInstanceOfMap\r\n })\r\n }\r\n vm.CloseTracking = function () {\r\n Tracking.close();\r\n }\r\n\r\n vm.OpenRescheduleAuditModal = function (currentAuditJOb) \r\n { \r\n vm.CurrentAuditJob = currentAuditJOb;\r\n vm.RatingOfTicket = '';\r\n vm.RescheduleAuditTicketId = vm.CurrentAuditJob.TicketId;\r\n vm.AuditPrimaryReason = vm.CurrentAuditJob.PrimaryReason;\r\n rescheduleAuditModalInstance = $uibModal.open({\r\n templateUrl: 'reschedule_audit_model.html',\r\n scope: $scope\r\n }); \r\n }\r\n\r\n vm.RescheduleAuditCloseModal = function () {\r\n rescheduleAuditModalInstance.close();\r\n }\r\n\r\n vm.pavModelTicketId = \"\";\r\n vm.OpenPAVReportUploadModal = function (ticketId) {\r\n vm.pavModelTicketId = ticketId;\r\n pavModelInstance = $uibModal.open({\r\n templateUrl: 'PAV_report_upload.html',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.closePAVModel = function () {\r\n if (pavModelInstance) {\r\n pavModelInstance.close();\r\n }\r\n vm.disableUploadButton = false;\r\n }\r\n\r\n $scope.attachPAVReport = function (files) {\r\n vm.PAVFileName = \"\";\r\n vm.PAVMessage = \"\";\r\n var selectedFile = files.files[0];\r\n if (!selectedFile) {\r\n vm.PAVMessage = \"No file selected.\";\r\n return;\r\n }\r\n vm.PAVFileName = selectedFile.name;\r\n if (vm.PAVFileName != \"\") {\r\n $timeout(function () {\r\n vm.PAVMessage = \"\";\r\n }, 100);\r\n }\r\n var allowedExtensions = /(\\.pdf|\\.PDF)$/i;\r\n if (!allowedExtensions.exec(selectedFile.name)) {\r\n vm.PAVMessage = \"Invalid file type. Please upload a PDF file only.\";\r\n vm.PAVFileName = \"\";\r\n vm.clear();\r\n return;\r\n }\r\n $timeout(function () {\r\n vm.PAVMessage = \"\";\r\n }, 100);\r\n\r\n vm.PAVReportFiles = selectedFile;\r\n }\r\n \r\n\r\n vm.UploadPAVReport = function () {\r\n ManualAssignationJobService.OnSiteReprotUploadWeb(vm.pavModelTicketId, vm.PAVReportFiles, token, loggedinUser).then(function (res) {\r\n vm.disableUploadButton = true;\r\n if (res && res.status == 201) {\r\n vm.showSuccess(\"Success\", \"Report uploaded successfully.\");\r\n vm.closePAVModel();\r\n $timeout(function () {\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n }, 1000);\r\n } else {\r\n vm.disableUploadButton = false;\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n });\r\n }\r\n\r\n vm.OpenSiteAuditModal = function (currentAuditJOb) \r\n { \r\n vm.CurrentAuditJob = currentAuditJOb; \r\n vm.SiteAuditTicketId = vm.CurrentAuditJob.TicketId; \r\n siteAuditModalInstance = $uibModal.open({\r\n templateUrl: 'site_audit_model.html',\r\n scope: $scope\r\n }); \r\n }\r\n vm.SiteAuditCloseModal = function () {\r\n siteAuditModalInstance.close();\r\n }\r\n\r\n $scope.attachSiteAudit = function(files){\r\n vm.SiteAuditFileName=\"\";\r\n var file = files.files[0];\r\n vm.SiteAuditFileName=file.name;\r\n if(vm.SiteAuditFileName!=\"\") \r\n { \r\n $timeout(function () {\r\n vm.SiteAuditMessage=\"\"; \r\n }, 100); \r\n } \r\n vm.followFiles = files.files;\r\n var allowedExtensions = /(\\.pdf|\\.doc|\\.docx|\\.xls|\\.xlsx|\\.PDF|\\.DOC|\\.DOCX|\\.XLS|\\.XLSX)$/i; \r\n if(!allowedExtensions.exec(file.name)){\r\n vm.followFiles = [];\r\n vm.clear(); \r\n alert('Please upload file having extensions .pdf,.doc,.docx,.xls,.xlsx only.');\r\n }\r\n }\r\n \r\n vm.SiteRescheduleAudit = function(){ \r\n if(vm.SiteAuditFileName==\"\")\r\n { \r\n return vm.SiteAuditMessage=\"Please Select Audit Report\";\r\n }\r\n else\r\n vm.SiteAuditMessage=\"\";\r\n\r\n var data = {};\r\n data = { \r\n \"AuditResult\": vm.SiteAuditModel, \r\n \"AuditObjectId\": vm.SiteAuditTicketId,\r\n \"AuditAttachmentName\": vm.SiteAuditFileName,\r\n \"AuditFor\": \"Ticket\" \r\n } \r\n siteAuditModalInstance.close(); \r\n ManualAssignationJobService.AddSiteAuditwithAttachment(data, vm.followFiles, token, loggedinUser).then(function(res){\r\n if (res && res.status == 202) { \r\n vm.showSuccess(\"Success\", \"Site Audit Saved successfully.\");\r\n $timeout(function () { \r\n vm.SiteAuditFileName=\"\";\r\n vm.FilterArray(); \r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to add site audit. Server is not responding correctly.\");\r\n }\r\n },vm.showFailure);\r\n }\r\n \r\n // Combo Paging Start\r\n\r\n $scope.totalTableBundles = 0;\r\n $scope.bundleTablePerPage = vm.bundlePageListCount ; \r\n $scope.BundleTablepagination = {\r\n current: 1\r\n };\r\n \r\n vm.changeBundlePageListCount = function() { \r\n vm.GroupType = 'Combo';\r\n $scope.bundleTablePerPage = vm.bundlePageListCount;\r\n bPageSize = $scope.bundleTablePerPage;\r\n $scope.BundleTablepageChanged($scope.BundleTablepagination.current);\r\n vm.selectAll = false;\r\n }\r\n \r\n bPageIndex=$scope.BundleTablepagination.current;\r\n $scope.BundleTablepageChanged = function(newPage) { \r\n vm.GroupType = 'Combo'; \r\n bPageIndex = newPage;\r\n vm.FilterArray(); \r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,bPageIndex,bPageSize); \r\n };\r\n\r\n // Combo Paging End\r\n\r\n // WorkOrder Paging Start\r\n\r\n $scope.totalTableWorkOrder = 0;\r\n $scope.workOrderTablePerPage = vm.workOrderPageListCount ;\r\n $scope.workOrderTablepagination = {\r\n current: 1\r\n };\r\n\r\n vm.changeWorkOrderListCount = function() { \r\n vm.GroupType = 'WorkOrder';\r\n $scope.workOrderTablePerPage = vm.workOrderPageListCount;\r\n wPageSize = $scope.workOrderTablePerPage;\r\n $scope.workOrderTablepageChanged($scope.workOrderTablepagination.current);\r\n vm.selectAll = false;\r\n }\r\n\r\n wPageIndex=$scope.workOrderTablepagination.current;\r\n $scope.workOrderTablepageChanged = function(newPage) { \r\n vm.GroupType = 'WorkOrder'; \r\n wPageIndex = newPage;\r\n vm.FilterArray(); \r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,wPageIndex,wPageSize); \r\n };\r\n\r\n // WorkOrder Paging End\r\n\r\n // Ticket Paging Start\r\n\r\n $scope.totalTableTickets = 0;\r\n $scope.ticketTablePerPage = vm.ticketPageListCount ;\r\n $scope.TicketTablepagination = {\r\n current: 1\r\n }; \r\n\r\n vm.changeTicketPageListCount = function() { \r\n vm.GroupType = 'Individual|WorkOrderGroup';\r\n $scope.ticketTablePerPage = vm.ticketPageListCount;\r\n PageSize = $scope.ticketTablePerPage;\r\n $scope.TicketTablepageChanged($scope.TicketTablepagination.current);\r\n vm.selectAll = false;\r\n }\r\n \r\n PageIndex=$scope.TicketTablepagination.current;\r\n $scope.TicketTablepageChanged = function(newPage) { \r\n vm.GroupType = 'Individual|WorkOrderGroup'; \r\n PageIndex = newPage;\r\n vm.FilterArray(); \r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n };\r\n\r\n // Ticket Paging End\r\n\r\n $scope.totalUsers = 0;\r\n $scope.usersPerPage = vm.userPageListCount;\r\n $scope.Userpagination = {\r\n current: 1\r\n };\r\n\r\n //left show page 10 20 30\r\n vm.changeAllUserPageListCount = function() { \r\n $scope.usersPerPage = vm.userPageListCount;\r\n uPageSize = $scope.usersPerPage;\r\n $scope.UserTablePageChanged($scope.Userpagination.current);\r\n vm.selectAll = false;\r\n \r\n uPageIndex=$scope.Userpagination.current;\r\n $scope.UserTablePageChanged = function(newPage) { \r\n uPageIndex = newPage;\r\n vm.UsersFilterArray(); \r\n vm.GetUserByFiltersWithDynaPage(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize);\r\n };\r\n}\r\n\r\n $scope.totalUserSuggestions = 0;\r\n $scope.userSuggestionsPerPage = vm.suggestionPageListCount;\r\n $scope.UserSuggestionspagination = {\r\n current: 1\r\n };\r\n\r\n vm.cangeSuggestionPageListCount = function() { \r\n $scope.userSuggestionsPerPage = vm.suggestionPageListCount;\r\n uPageSize = $scope.userSuggestionsPerPage;\r\n $scope.UserSuggestionTablepageChanged($scope.Userpagination.current);\r\n vm.selectAll = false;\r\n }\r\n uPageIndex=$scope.Userpagination.current;\r\n $scope.UserSuggestionTablepageChanged = function(newPage) { \r\n vm.SuggestionStarIndex = (newPage-1)*vm.SuggestionMaxcount; \r\n vm.SuggestionMaxcount = newPage*vm.suggestionPageListCount \r\n };\r\n\r\n // //jobs paging (freelancer profile)\r\n $scope.totalJobs = 0;\r\n // $scope.userSuggestionsPerPage = 10; // this should match however many results your API puts on one page\r\n $scope.JobsPerPage = vm.jobsPageListCount;\r\n $scope.jobspagination = {\r\n current: 1\r\n };\r\n\r\n vm.cangeJobsPageListCount = function() { \r\n $scope.JobsPerPage = vm.jobsPageListCount;\r\n uPageSize = $scope.JobsPerPage;\r\n $scope.jobsTablepageChanged($scope.jobspagination.current);\r\n vm.selectAll = false;\r\n }\r\n uPageIndex=$scope.jobspagination.current;\r\n $scope.jobsTablepageChanged = function(newPage) { \r\n jPageIndex = newPage;\r\n vm.jobsStarIndex = (newPage-1)*vm.jobsMaxcount; \r\n vm.jobsMaxcount = newPage*vm.jobsPageListCount;\r\n vm.filterStatusForJObs($scope.jobStatusForPaging);\r\n \r\n };\r\n\r\n //pagination for BID\r\n $scope.totalUserBID = 0;\r\n $scope.userBIDPerPage = 10; // this should match however many results your API puts on one page\r\n $scope.UserBIDpagination = {\r\n current: 1\r\n };\r\n\r\n $scope.UserBIDTablepageChanged = function(newPage) {\r\n vm.BIDStartIndex = (newPage-1)*10; \r\n vm.BIDMaxcount = newPage*10\r\n };\r\n \r\n // $scope.UserTablepagination.current= $localStorage.TicketFilterModel?$localStorage.TicketFilterModel.PageIndex:1;\r\n uPageIndex=$scope.Userpagination.current;\r\n $scope.UserTablePageChanged = function(newPage) { \r\n uPageIndex = newPage;\r\n if(uitemNames != 'Search')\r\n {\r\n vm.UsersFilterArray();\r\n }\r\n vm.GetUserByFiltersWithDynaPage(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize);\r\n\r\n };\r\n\r\n vm.ticketList=[];\r\n vm.getAllJobTickets = function(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize) { \r\n var templateCols=\"\";\r\n vm.resetAllSelect();\r\n var templateCols=\"\";\r\n PageIndex = PageIndex?PageIndex:1;\r\n // vm.DateField = vm.DateField?vm.DateField:\"CreatedOn\";\r\n vm.DateField= vm.accountConfig.AccountId == 0 ? vm.DateField : 'CreatedOn';\r\n ManualAssignationJobService.getAllJobTickets(loggedinUser, startDate, endDate, token, itemNames, itemValues,textItemNames, textItemValues, templateCols, templateItemNames, templateItemValues,vm.DateField,PageIndex,PageSize,vm.SortType,vm.SortField).then(function (resp) {\r\n if (resp && resp.data) {\r\n // vm.ticketList = resp.data.LightTicketModels;\r\n $scope.totalTableTickets = resp.data.Count;\r\n $scope.totalTableUsers = resp.data.Count;\r\n vm.ApprovedJobCount = resp.data.ApprovedJobCount;\r\n vm.AssignJobCount = resp.data.AssignJobCount;\r\n vm.AssignedNCallTakenButNoAppointment = resp.data.AssignedNCallTakenButNoAppointment;\r\n vm.AppointmentNotTakenInTime = resp.data.AppointmentNotTakenInTime;\r\n vm.AppointmentNotBooked = resp.data.AppointmentNotBooked;\r\n vm.AppointmentBookedThenCancelled = resp.data.AppointmentBookedThenCancelled;\r\n vm.BroadcastJobCount = resp.data.BroadcastJobCount;\r\n vm.CancelledSourceCount = resp.data.CancelledSourceCount;\r\n vm.CancelJobCount = resp.data.CancelJobCount;\r\n vm.CompleteJobCount = resp.data.CompleteJobCount;\r\n vm.TotalJobCount = resp.data.TotalJobCount;\r\n vm.HoldJobCount = resp.data.HoldJobCount;\r\n vm.CancelCustomerVerified = resp.data.CancelCustomerVerified;\r\n vm.ProductReplacementCount = resp.data.ProductReplacementCount;\r\n vm.GasChargingRequestCount = resp.data.GasChargingRequestCount;\r\n vm.InTransitJobCount = resp.data.InTransitJobCount; \r\n vm.ItemInventoryRaised = resp.data.ItemInventoryRaised;\r\n vm.ItemInventoryDelivered = resp.data.ItemInventoryDelivered; \r\n vm.ProductReplacementRaised = resp.data.ProductReplacementRaised;\r\n vm.AssignedThenCancelled = resp.data.AssignedThenCancelled;\r\n vm.AppointmentRescheduled = resp.data.AppointmentRescheduled; \r\n vm.OnSiteJobCount = resp.data.OnSiteJobCount; \r\n vm.InProgressJobCount = resp.data.InProgressJobCount; \r\n vm.NewJobCount = resp.data.NewJobCount;\r\n vm.PriorityCount = resp.data.PriorityCount;\r\n vm.ReadyToAssigJobCount = resp.data.ReadyToAssigJobCount;\r\n vm.RejectedJobCount = resp.data.RejectedJobCount;\r\n vm.ScheduleExceptionJobCount = resp.data.ScheduleExceptionJobCount;\r\n vm.ExceptionNoUserCount =resp.data.ExceptionNoUserCount;\r\n vm.AddressExceptionCount = resp.data.AddressExceptionCount;\r\n vm.PriceExceptionCount = resp.data.PriceExceptionCount;\r\n vm.AppointmentBookedForDay0 = resp.data.AppointmentBookedForDay0;\r\n vm.AppointmentBookedForDay1 = resp.data.AppointmentBookedForDay1;\r\n vm.AppointmentBookedForDay2Plus = resp.data.AppointmentBookedForDay2Plus;\r\n vm.AppointmentBreached = resp.data.AppointmentBreached;\r\n vm.NotAssignedForD0 = resp.data.NotAssignedForD0;\r\n vm.NotAssignedForD1 = resp.data.NotAssignedForD1;\r\n vm.CustomerCallInit = resp.data.CustomerCallInit;\r\n vm.AssignedNoActionCount = resp.data.AssignedNoActionCount;\r\n vm.BroadcastCountTickets = resp.data.BroadcastCountTickets;\r\n vm.enableFilters = true;\r\n vm.actionFlag = false;\r\n }\r\n\r\n }, function () { \r\n });\r\n\r\n }\r\n\r\n vm.getAllJobTicketsCopyForPagging = function(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize) { \r\n var templateCols=\"\";\r\n vm.resetAllSelect();\r\n var templateCols=\"\";\r\n PageIndex = PageIndex?PageIndex:1;\r\n vm.DateField = vm.DateField?vm.DateField:\"CreatedOn\";\r\n ManualAssignationJobService.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, token, itemNames, itemValues,textItemNames, textItemValues, templateCols, templateItemNames, templateItemValues,vm.DateField,PageIndex,PageSize,vm.SortType,vm.SortField).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.ticketList = resp.data.LightTicketModels;\r\n angular.forEach(vm.ticketList, function (t) {\r\n t.PincodeArray = t.Pincode.split(\"|\");\r\n t.Pincode = Array.from(new Set(t.PincodeArray));\r\n t.SkillSetArray = t.SkillSet.split(\"|\");\r\n t.SkillSet = Array.from(new Set(t.SkillSetArray));\r\n })\r\n $scope.totalTableBundles = resp.data.Count;\r\n $scope.totalTableWorkOrder = resp.data.Count;\r\n $scope.totalTableTickets = resp.data.Count;\r\n $scope.totalTableUsers = resp.data.Count;\r\n vm.enableFilters = true;\r\n vm.actionFlag = false;\r\n $localStorage.TList = vm.ticketList;\r\n $localStorage.AllJobType = vm.searchJobTypeText;\r\n $localStorage.AllJobStatus = vm.searchStatusText;\r\n angular.forEach(vm.ticketList, function (t) {\r\n t.StartTime = moment(t.StartTime, \"YYYY-MM-DDThh:mm:ssZ\"); \r\n t.StartTimeD = t.StartTime.format(\"YYYY-MM-DD hh:mm\");\r\n var today = moment();\r\n var date2 = t.CreationDate;\r\n var date3 = t.AssignationDate;\r\n var duration = today.diff(date2, 'days');\r\n var assignDuration = today.diff(date3, 'hour');\r\n var assignDurationMin = today.diff(date3, 'minutes');\r\n t.Age = duration;\r\n t.diffAssignation = assignDuration;\r\n t.diffAssignationMin = assignDurationMin%60;\r\n })\r\n \r\n if(vm.ticketList.length < vm.ticketPageListCount)\r\n vm.ticketListLength = $scope.totalTableTickets;\r\n else\r\n vm.ticketListLength = PageIndex * vm.ticketPageListCount;\r\n if(PageIndex==1)\r\n vm.pageindexCount = 1;\r\n else\r\n vm.pageindexCount = (((PageIndex-1) * vm.ticketPageListCount) + 1);\r\n\r\n if(vm.ticketList.length < vm.bundlePageListCount)\r\n vm.bundleListLength = $scope.totalTableBundles;\r\n else\r\n vm.bundleListLength = bPageIndex * vm.bundlePageListCount;\r\n if(bPageIndex==1)\r\n vm.bpageindexCount = 1;\r\n else\r\n vm.bpageindexCount = (((bPageIndex-1) * vm.bundlePageListCount) + 1);\r\n\r\n if(vm.ticketList.length < vm.workOrderPageListCount)\r\n vm.workOrderListLength = $scope.totalTableWorkOrder;\r\n else\r\n vm.workOrderListLength = wPageIndex * vm.workOrderPageListCount;\r\n if(wPageIndex==1)\r\n vm.wpageindexCount = 1;\r\n else\r\n vm.wpageindexCount = (((wPageIndex-1) * vm.workOrderPageListCount) + 1);\r\n }\r\n\r\n }, function () { \r\n });\r\n \r\n }\r\n vm.getAllTicketsByStatus = function(status)\r\n {\r\n\r\n if (status == 'P1') {\r\n vm.Priority = status;\r\n vm.JobcountbyStatus = '';\r\n }\r\n else {\r\n vm.Priority = '';\r\n vm.JobcountbyStatus = status;\r\n }\r\n\r\n if(vm.JobcountbyStatus == 'Broadcasted') {\r\n vm.SortField = 'BroadcastedOn';\r\n }\r\n else if(vm.JobcountbyStatus == 'Assigned'){\r\n vm.SortField = 'AssignationDateObj';\r\n }\r\n else if(vm.JobcountbyStatus == 'New'){\r\n vm.SortField = 'NewStatusDateObj';\r\n }\r\n else if(vm.JobcountbyStatus == 'Hold'){\r\n vm.SortField = 'HoldDateObj';\r\n }\r\n else if(vm.JobcountbyStatus == 'Completed'){\r\n vm.SortField = 'CompletionDateObj';\r\n }\r\n else if(vm.JobcountbyStatus == 'ScheduleException'){\r\n vm.SortField = 'ScheduleException';\r\n }\r\n else if(vm.JobcountbyStatus == 'Rejected'){\r\n vm.SortField = 'RejectionDateObj';\r\n }\r\n vm.GroupType = 'Individual|WorkOrderGroup'; \r\n vm.searchText='';\r\n vm.searchJobTypeText = \"\"; \r\n vm.searchStatusText=''; \r\n // vm.CustomerList = [];\r\n // vm.ProjectList = [];\r\n vm.ProjectListByCustomer=[];\r\n vm.SearchByIs = '';\r\n vm.SearchByDiscription = '';\r\n vm.SearchByTName = '';\r\n // vm.SearchByCName='';\r\n // vm.SearchByPName = '';\r\n vm.SearchByDName = '';\r\n vm.SearchByConsumerName = '';\r\n vm.SearchByConsumerContact = '';\r\n vm.SearchByState = '';\r\n vm.FilterArray(); \r\n // var startDate = moment(vm.ticketdates.startDate).format('YYYY-MM-DD');\r\n // var endDate = moment(vm.ticketdates.endDate).format('YYYY-MM-DD'); \r\n \r\n PageIndex=1;\r\n /*$scope.UserTablepagination = {\r\n current: 1\r\n };*/\r\n // vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n }\r\n\r\n // vm.sortBroadcastAge = function(SortType) {\r\n // vm.SortField = \"BroadcastedOn\";\r\n // vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n // }\r\n\r\n // vm.sortAge = function(SortType) {\r\n // vm.SortField = \"CreatedOn\";\r\n // vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n // }\r\n\r\n vm.sortColumn = function(col){\r\n vm.SortField = col;\r\n if(vm.SortType=='desc'){\r\n vm.SortType = 'asc';\r\n vm.reverseclass = 'fa fa-arrow-up';\r\n }else{\r\n vm.SortType = 'desc';\r\n vm.reverseclass = 'fa fa-arrow-down';\r\n }\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n // vm.filterStatusForJObs($scope.jobStatusForPaging, $scope.selectedUserId, $localStorage.loggedInUserId, token,jPageIndex,jPageSize)\r\n\r\n };\r\n \r\n // remove and change class\r\n vm.sortClass = function(col){\r\n if(vm.SortField == col ){\r\n if(vm.SortType == 'desc'){\r\n return 'fa fa-arrow-down'; \r\n }else{\r\n return 'fa fa-arrow-up';\r\n }\r\n }\r\n else{\r\n return '';\r\n }\r\n }\r\n\r\n\r\n vm.UserByFiltersList=[];\r\n vm.GetUserByFiltersWithDynaPage = function(loggedinUser, token, uitemNames, uitemValues, userType, UserAvailable, uPageIndex, uPageSize) { \r\n ManualAssignationJobService.GetUserByFiltersWithDynaPage(loggedinUser, token, uitemNames, uitemValues, userType, vm.UserAvailable, vm.DateField, uPageIndex, uPageSize).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.UserByFiltersList = resp.data.ListUserResponseModel;\r\n $scope.totalUsers = resp.data.Count;\r\n preprocessData(vm.UserByFiltersList);\r\n if(vm.UserByFiltersList.length < vm.userPageListCount)\r\n vm.userListLength = $scope.totalUsers;\r\n else\r\n vm.userListLength = uPageIndex * vm.userPageListCount;\r\n if(uPageIndex==1)\r\n vm.upageindexCount = 1;\r\n else\r\n vm.upageindexCount = (((uPageIndex-1) * vm.userPageListCount) + 1);\r\n\r\n for(var i=0;i 0 && itemValues.length > 0){\r\n itemNames = itemNames + ',Status';\r\n itemValues = itemValues + ',' + vm.searchStatusText;\r\n}else{\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText;\r\n} \r\n}\r\n\r\nif (vm.userskill) { \r\nif(uitemNames) \r\n{\r\n uitemNames = uitemNames + ',SkillSet';\r\n uitemValues = uitemValues + \",\" + vm.userskill;\r\n}\r\nelse\r\n{\r\n uitemNames = 'SkillSet';\r\n uitemValues = vm.userskill;\r\n} \r\n}\r\n\r\nif(vm.SearchByAccount)\r\n{\r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',CustomerAccountName';\r\n uitemValues = uitemValues + \",\" + vm.SearchByAccount;\r\n }\r\n else\r\n {\r\n uitemNames = 'CustomerAccountName';\r\n uitemValues = vm.SearchByAccount;\r\n } \r\n}\r\n\r\nif (vm.userNameSearch) { \r\nif(uitemNames) \r\n{\r\n uitemNames = uitemNames + ',Search';\r\n uitemValues = uitemValues + \",\" + vm.userNameSearch;\r\n}\r\nelse\r\n{\r\n uitemNames = 'Search';\r\n uitemValues = vm.userNameSearch;\r\n} \r\n}\r\n\r\nif (vm.PermanentState) { \r\nif(uitemNames) \r\n{\r\n uitemNames = uitemNames + ',State';\r\n uitemValues = uitemValues + \",\" + vm.PermanentState;\r\n}\r\nelse\r\n{\r\n uitemNames = 'State';\r\n uitemValues = vm.PermanentState;\r\n} \r\n}\r\n\r\nif(vm.JobcountbyStatus)\r\n{\r\n if(uitemNames) \r\n{\r\n uitemNames = uitemNames + ',Status';\r\n uitemValues = uitemValues + \",\" + vm.JobcountbyStatus;\r\n}\r\nelse\r\n{\r\n uitemNames = 'Status';\r\n uitemValues = vm.JobcountbyStatus;\r\n}\r\n}\r\n\r\nif (vm.WorkState) \r\n{ \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',State';\r\n uitemValues = uitemValues + \",\" + vm.WorkState;\r\n }\r\n else\r\n {\r\n uitemNames = 'State';\r\n uitemValues = vm.WorkState;\r\n } \r\n }\r\n if (vm.WorkState && vm.WorkCity) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',City';\r\n uitemValues = uitemValues + \",\" + vm.WorkCity;\r\n }\r\n else\r\n {\r\n uitemNames = 'City';\r\n uitemValues = vm.WorkCity;\r\n } \r\n }\r\n\r\nif (vm.CurrentState) { \r\nif(uitemNames) \r\n{\r\n uitemNames = uitemNames + ',CurrentState';\r\n uitemValues = uitemValues + \",\" + vm.CurrentState;\r\n}\r\nelse\r\n{\r\n uitemNames = 'CurrentState';\r\n uitemValues = vm.CurrentState;\r\n} \r\n}\r\nif (vm.CurrentState && vm.CurrentCity) { \r\nif(uitemNames) \r\n{\r\n uitemNames = uitemNames + ',CurrentCity';\r\n uitemValues = uitemValues + \",\" + vm.CurrentCity;\r\n}\r\nelse\r\n{\r\n uitemNames = 'CurrentCity';\r\n uitemValues = vm.CurrentCity;\r\n} \r\n}\r\n\r\nif (vm.UsersType) { \r\nif(uitemNames) \r\n{\r\n uitemNames = uitemNames + ',Role';\r\n uitemValues = uitemValues + \",\" + vm.UsersType;\r\n}\r\nelse\r\n{\r\n uitemNames = 'Role';\r\n uitemValues = vm.UsersType;\r\n} \r\n} \r\n\r\n\r\nif(vm.UsersType==\"Freelancer\")\r\n {\r\n vm.uType=\"Freelancer\";\r\n vm.SearchByAccount = ''\r\n }\r\n else if(vm.UsersType==\"Freelancer Vendor\")\r\n {\r\n vm.uType=\"Freelancer\";\r\n vm.SearchByAccount = ''\r\n } \r\n else if(vm.UsersType==\"Private\")\r\n {\r\n vm.uType=\"Private\";\r\n vm.SearchByAccount = ''\r\n } \r\n else if(vm.UsersType==\"Dispatch Supervisor\" || vm.UsersType==\"OnBoarding Supervisor\" || vm.UsersType==\"Dispatch Team Lead\" || vm.UsersType==\"Project Manager\" || vm.UsersType==\"Supervisor\")\r\n {\r\n vm.uType=\"Fixed\";\r\n }\r\n else if(vm.UsersType==\"Freelancer Dispatcher\")\r\n {\r\n vm.uType=\"Freelancer\";\r\n }\r\n else \r\n {\r\n vm.uType=\"\";\r\n vm.UsersType = '';\r\n } \r\n}\r\n\r\nvm.wsersFilterArray = function()\r\n{\r\nwitemNames=\"\";\r\nwitemValues=\"\";\r\n\r\nif (vm.searchStatusText != \"\" && vm.searchStatusText != \"All\" && vm.searchStatusText != null){\r\nif(itemNames.length > 0 && itemValues.length > 0){\r\n itemNames = itemNames + ',Status';\r\n itemValues = itemValues + ',' + vm.searchStatusText;\r\n}else{\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText;\r\n} \r\n}\r\nif (vm.userNameSearch) { \r\nif(witemNames) \r\n{\r\n witemNames = witemNames + ',Search';\r\n witemValues = witemValues + \",\" + vm.userNameSearch;\r\n}\r\nelse\r\n{\r\n witemNames = 'Search';\r\n witemValues = vm.userNameSearch;\r\n} \r\n}\r\n\r\nif(vm.JobcountbyStatus)\r\n{\r\n if(witemNames) \r\n{\r\n witemNames = witemNames + ',Status';\r\n witemValues = witemValues + \",\" + vm.JobcountbyStatus;\r\n}\r\nelse\r\n{\r\n witemNames = 'Status';\r\n witemValues = vm.JobcountbyStatus;\r\n}\r\n}\r\n\r\n}\r\n\r\n\r\n// apply user rating to all displays\r\n// add star ratings to an array\r\nvar starRating = document.querySelectorAll(\".fa-star\"),\r\nratingTotal = document.querySelectorAll(\".rating-total\");\r\n\r\n// convert ratingTotal HTMLCollection to array and reverse its order (5 star <-> 1 star)\r\nvar reverseRatingTotal = Array.from(ratingTotal).reverse();\r\n\r\n// display initial rating totals\r\n// displayTotals();\r\n\r\n// use event listener to record changes to user rating\r\nstarRating.forEach(function(star) {\r\nstar.addEventListener(\"change\", recordRating);\r\n})\r\n\r\nfunction recordRating(event) {\r\n// use indexOf to identify selected user rating\r\nvar userRating = Array.from(starRating).indexOf(event.target);\r\n\r\n// define selected rating to adjust display totals\r\nvar selectedIndex;\r\n\r\nstarRating.forEach(function(item, index) {\r\n// add or remove .active class based upon selected user rating\r\nif (index < userRating + 1) {\r\nstarRating[index].classList.add(\"active\");\r\nselectedIndex = index;\r\n} else {\r\nstarRating[index].classList.remove(\"active\");\r\n}\r\n\r\ndisplayTotals(selectedIndex);\r\n});\r\n}\r\nvm.countForStatus = 50;\r\n// display star rating totals from html custom data-\r\nfunction displayTotals(selectedIndex) {\r\nvar barChart = document.querySelectorAll(\".bar\"),\r\ndisplaySummary = document.querySelectorAll(\".summary\"),\r\nnumRatings = 0,\r\nnumRatingsValue = 0;\r\n\r\n// convert barChart HTMLCollection to array and reverse its order (5 star <-> 1 star)\r\nvar reverseBarChart = Array.from(barChart).reverse();\r\n\r\nreverseRatingTotal.forEach(function(total, index) {\r\nif (index == selectedIndex) {\r\n// add selected rating to display total\r\ntotal.innerHTML = (parseInt(total.getAttribute(\"data-rating-count\")) + 1);\r\n// adjust selected bar width\r\nreverseBarChart[index].style.width = (((parseInt(total.getAttribute(\"data-rating-count\")) + 1) / 20) * 100) + \"%\";\r\n} else {\r\n// display unselected totals\r\ntotal.innerHTML = total.getAttribute(\"data-rating-count\");\r\n// adjust unselected bar widths\r\nreverseBarChart[index].style.width = ((total.getAttribute(\"data-rating-count\") / 20) * 100) + \"%\";\r\n}\r\n// count total number and value of ratings\r\nnumRatings += parseInt(total.innerHTML);\r\nnumRatingsValue += (parseInt(total.innerHTML) * (index + 1));\r\n});\r\n\r\n// display rating average and total\r\nratingsAverage = (numRatingsValue / numRatings).toFixed(2);\r\n// displaySummary[0].innerHTML = ratingsAverage + \" average based on \" + numRatings + \" reviews.\";\r\n}\r\n\r\nvm.Get360VendorTeamData = function (teamid) {\r\n vm.userId = teamid;\r\n DashboardService.Get360VendorTeamData(loggedinUser, teamid, token).then(function (resp) {\r\n vm.vendorteam = resp.data;\r\n })\r\n}\r\n\r\nvm.GetUsersTicket = function (isCollapsed,status,id,type) {\r\n $scope.activeRow = id;\r\n $scope.isCollapsed = !isCollapsed;\r\n vm.userIdforStatus = id;\r\n vm.statusForTickets = status;\r\n vm.JobcountbyStatus = ''; \r\n vm.filterType = type; \r\n vm.FilterArray(); \r\n // if(!vm.filterType){\r\n // vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n // }\r\n vm.getAllJobTicketsCopyForUsers(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n}\r\n\r\nvm.getAllJobTicketsCopyForUsers = function(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize) { \r\n var templateCols=\"\";\r\n vm.resetAllSelect();\r\n var templateCols=\"\";\r\n vm.UserticketList = [];\r\n PageIndex = PageIndex?PageIndex:1;\r\n vm.DateField = vm.DateField?vm.DateField:\"CreatedOn\";\r\n ManualAssignationJobService.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, token, itemNames, itemValues,textItemNames, textItemValues, templateCols, templateItemNames, templateItemValues,vm.DateField,PageIndex,PageSize,vm.SortType,vm.SortField).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.UserticketList = resp.data.LightTicketModels;\r\n }\r\n\r\n }, function () { \r\n });\r\n \r\n}\r\n\r\nvm.Get360WorkSummary = function () {\r\n DashboardService.Get360WorkSummary(loggedinUser, token,vm.userId, witemNames, witemValues, uPageIndex, uPageSize, wsSDate,wsEDate,vm.OrderBy,vm.sorttype).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.statusCount = resp.data;\r\n vm.wsTicketList = resp.data.workSummaryData;\r\n $scope.totalWS = resp.data.WorkSummaryTotalCount;\r\n if(vm.wsTicketList.length < vm.userPageListCount)\r\n vm.wsListLength = $scope.totalWS;\r\n else\r\n vm.wsListLength = uPageIndex * vm.userPageListCount;\r\n if(uPageIndex==1)\r\n vm.wspageindexCount = 1;\r\n else\r\n vm.wspageindexCount = (((uPageIndex-1) * vm.userPageListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n}\r\n\r\nvm.FinanceFiltersList=[];\r\nvm.GetFinancialSummary = function () { \r\n DashboardService.GetFinancialSummary(loggedinUser, token,vm.userId, fnitemNames, fnitemValues, fPageIndex, fPageSize, startDate, endDate).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.paymentCount = resp.data.paymentsSummary;\r\n vm.FinanceFiltersList = resp.data.financialSummary360.financialLPSummaryList;\r\n $scope.totalFinList = resp.data.financialSummary360.count;\r\n if(vm.FinanceFiltersList.length < vm.financePageListCount)\r\n vm.financeListLength = $scope.totalFinList;\r\n else\r\n vm.financeListLength = fPageIndex * vm.financePageListCount;\r\n if(fPageIndex==1)\r\n vm.fpageindexCount = 1;\r\n else\r\n vm.fpageindexCount = (((fPageIndex-1) * vm.financePageListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n vm.ResetUserFilter();\r\n}\r\n\r\nvm.getFileType = function(url){\r\n if(url==null || url==\"\")\r\n {\r\n return \"others\";\r\n }\r\n else{\r\n if(url.indexOf(\".jpg\")>=0 || url.indexOf(\".jpeg\")>=0 || url.indexOf(\".png\")>=0 || url.indexOf(\".bmp\")>=0 ||url.indexOf(\".JPG\")>=0 || url.indexOf(\".JPEG\")>=0 || url.indexOf(\".PNG\")>=0 || url.indexOf(\".BMP\")>=0){\r\n return \"image\";\r\n } else if(url.indexOf(\".pdf\")>=0 || url.indexOf(\".PDF\")>=0){\r\n return \"pdf\";\r\n } else if(url.indexOf(\".xls\")>=0 || url.indexOf(\".xlsx\")>=0 ||url.indexOf(\".XLS\")>=0 || url.indexOf(\".XLSX\")>=0){\r\n return \"xls\"; \r\n } else if(url.indexOf(\".doc\")>=0 || url.indexOf(\".docx\")>=0 || url.indexOf(\".DOC\")>=0 || url.indexOf(\".DOCX\")>=0){\r\n return \"doc\";\r\n } \r\n else {\r\n return \"others\";\r\n }\r\n }\r\n }\r\n\r\n\r\nvm.CreateBJobs = function(){\r\n vm.bundleTicketArray = []; \r\n vm.bundlePrice = [];\r\n vm.bundleData = [];\r\n vm.bundlesum = 0;\r\n angular.forEach(vm.ticketList, function(d){\r\n if (d.checked) {\r\n vm.bundleTicketArray.push(d.TicketId)\r\n vm.bundlePrice.push(d.FreelancerRate)\r\n vm.bundleData.push(d)\r\n vm.bundlesum = vm.bundlePrice.reduce(function (x, y) {\r\n return x + y;\r\n }, 0); \r\n }\r\n })\r\n if(vm.bundleTicketArray.length <= 1) {\r\n vm.showFailure(\"Failed\", 'Please choose atleast 2 tickets to create combo');\r\n }\r\n else if(vm.bundleTicketArray.length > 5) {\r\n vm.showFailure(\"Failed\", 'Please select 5 or less than 5 tickets to create combo');\r\n }\r\n else {\r\n vm.confirmationMessage = 'Please confirm if you want to create combo of mentioned tickets:';\r\n confirmationModalInstance = $uibModal.open({\r\n templateUrl: 'bundle_jobs_confirmation_model.html',\r\n scope: $scope,\r\n backdrop: 'static'\r\n });\r\n }\r\n \r\n}\r\n\r\nvm.BundleJobsCreate = function (IsSuggested) { \r\n $scope.IsSuggested = IsSuggested;\r\n if(vm.bundleTicketArray.length <= 1) {\r\n vm.showFailure(\"Failed\", 'Please choose atleast 2 tickets to create combo');\r\n }\r\n else if(vm.bundleTicketArray.length > 5) {\r\n vm.showFailure(\"Failed\", 'Please select 5 or less than 5 tickets to create combo');\r\n }\r\n else{\r\n ManualAssignationJobService.CreateJobBundle(loggedinUser, vm.bundleTicketArray,IsSuggested,token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n $timeout(function () {\r\n vm.getJobsSuggestion(vm.itemNamesSgtn, vm.itemValuesSgtn);\r\n vm.FilterArray();\r\n // vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n vm.CloseComboModel();\r\n vm.confirmationCloseModal();\r\n }, 2000); \r\n confirmationModalInstance.close(); \r\n }\r\n else { \r\n vm.showFailure(\"Failed\", resp.data);\r\n vm.DisableBroadcastButtons(false); \r\n confirmationModalInstance.close();\r\n }\r\n });\r\n } \r\n}\r\n\r\n// Route Bundle\r\nvm.routeBundle = function(index){\r\n vm.DisableRouteBroadcastButtons(true);\r\n var data = {};\r\n for(var i=0; i< vm.ticketList.length;i++){\r\n if(vm.ticketList[i].TicketStatus==\"New\")\r\n {\r\n if(vm.ticketList[i].checked){\r\n if(i==0){\r\n data.JobIds = vm.ticketList[i].TicketId;\r\n }else{\r\n data.JobIds = data.JobIds + ',' + vm.ticketList[i].TicketId;\r\n }\r\n }\r\n }\r\n } \r\n for(var i=0; i< vm.UserByFiltersList.length;i++){\r\n if(vm.UserByFiltersList[i].checked){\r\n data.UserId = vm.UserByFiltersList[i].UserId;\r\n break;\r\n }\r\n }\r\n if(data.JobIds){\r\n ManualAssignationJobService.RouteBundlesforUser(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 201) {\r\n vm.DisableRouteBroadcastButtons(true); \r\n vm.processBroadcastRouteResponse(resp.data); \r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n vm.UsersFilterArray(); \r\n vm.GetUserByFiltersWithDynaPage(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize);\r\n vm.DisableRouteBroadcastButtons(false);\r\n }, 2000);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n vm.DisableRouteBroadcastButtons(false);\r\n }\r\n });\r\n }else{\r\n vm.showFailure(\"Failed\", \"Please select tickets.\");\r\n vm.DisableRouteBroadcastButtons(false);\r\n } \r\n }\r\n\r\n vm.BroadCastBundles = function () {\r\n vm.DisableRouteBroadcastButtons(true);\r\n var BidData = [];\r\n angular.forEach(vm.ticketList, function (d) {\r\n var obj = {};\r\n var time = '';\r\n var hrs = '';\r\n var min = '';\r\n if(d.TicketStatus==\"New\")\r\n {\r\n if (d.checked) {\r\n obj.JobID = d.TicketId;\r\n var time = d.BidDuration.split(':');\r\n var hrs = parseInt(time[0]);\r\n var min = parseInt(time[1]);\r\n obj.BIDDuration = hrs*60 + min;\r\n obj.BroadCastRate = d.BroadcastRate\r\n obj.BroadCastGrossRate = d.BroadcastGrossRate\r\n obj.MobiforceCommissionPercentage = d.MobiforceCommission\r\n obj.FixedBidPrice = true;\r\n BidData.push(obj);\r\n }\r\n }\r\n })\r\n var UserData = [];\r\n\r\n for(var i=0; i< vm.UserByFiltersList.length;i++){\r\n if(vm.UserByFiltersList[i].checked){\r\n UserData.push(vm.UserByFiltersList[i].UserId); \r\n }\r\n }\r\n\r\n if (BidData.length > 0 && UserData.length > 0) {\r\n var data = {\r\n \"Bids\": BidData,\r\n \"Users\": UserData\r\n };\r\n vm.BroadcastBundleModal.close();\r\n ManualAssignationJobService.BroadcastJobBundle(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 201 || resp.status == 200) {\r\n vm.DisableRouteBroadcastButtons(true);\r\n vm.processBroadcastRouteResponse(resp.data);\r\n vm.free_NewJobSelectedItems = [];\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n vm.UsersFilterArray(); \r\n vm.GetUserByFiltersWithDynaPage(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize);\r\n vm.DisableRouteBroadcastButtons(false);\r\n }, 2000);\r\n }\r\n if (resp.status == 206) {\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n vm.DisableRouteBroadcastButtons(false);\r\n }\r\n })\r\n } else {\r\n vm.showFailure(\"Failed\", \"Please select jobs and users.\");\r\n vm.DisableRouteBroadcastButtons(false);\r\n }\r\n }\r\n\r\nvm.openBroadcastBundlemodal = function (i) {\r\n vm.DisableRouteBroadcastButtons(true);\r\n vm.broadcastError = null; \r\n vm.jobselected = [];\r\n angular.forEach(vm.ticketList, function (d) {\r\n if(d.TicketStatus)\r\n {\r\n if (d.checked) {\r\n if (!d.BidDuration.includes(\":\")) {\r\n d.BidDuration = parseInt(d.BidDuration / 60) + \":\" + parseInt(d.BidDuration % 60);\r\n }\r\n vm.jobselected.push(d);\r\n $log.log(d)\r\n }\r\n }\r\n });\r\n if (vm.jobselected.length > 0) {\r\n vm.BroadcastBundleModal = $uibModal.open({\r\n templateUrl: 'BroadcastBundle.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n else\r\n {\r\n vm.showFailure(\"Failed\", \"Please select bundles\"); \r\n vm.broadcastError = \"Please select bundles for bradcast\";\r\n }\r\n}\r\n\r\nvm.closeBundleModal = function () {\r\n vm.BroadcastBundleModal.close();\r\n}\r\n\r\n\r\n//brodcast bundle to nearBy\r\n \r\nvm.BroadcastBundlesUS = function (i) {\r\n vm.DisableRouteBroadcastButtons(true);\r\n var temp = [];\r\n angular.forEach(vm.UserSuggestionList, function(d){\r\n if (d.checked) {\r\n temp.push({ \"UserId\": d.id, \"SuggestedPrice\": null, \"Price\": parseInt(d.Price), \"Distance\": parseInt(d.UserDistance) });\r\n \r\n }\r\n })\r\n var data = {\r\n \"JobId\": vm.broadcastTicketId,\r\n \"BIDDuration\": vm.TicketSelectedForAssistedSuggestion.BidDuration,\r\n \"MobiforceCommissionPercentage\": vm.TicketSelectedForAssistedSuggestion.MobiforceCommission,\r\n \"TechnicianSource\": 1,\r\n \"Users\": temp\r\n };\r\n if (data.Users.length > 0) {\r\n ManualAssignationJobService.BroadCastBundlesforUser(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 201) {\r\n vm.showSuccess('Success', \"Jobs Broadcasted Successfully\");\r\n $timeout(function () {\r\n vm.DisableRouteBroadcastButtons(false);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n $scope.hideoverlay();\r\n }, 2000);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data.BroadcastStatus);\r\n vm.DisableRouteBroadcastButtons(false);\r\n $scope.hideoverlay();\r\n }\r\n });\r\n } \r\n else {\r\n vm.showFailure(\"Failed\", resp.data.BroadcastStatus);\r\n $timeout(function () {\r\n $state.reload();\r\n vm.DisableRouteBroadcastButtons(false);\r\n }, 2000);\r\n }\r\n}\r\n\r\n// Route Bundles for user Suggestion\r\nvm.routeBundlesUS = function (user) { \r\n vm.DisableRouteBroadcastButtons(true);\r\n var data = user; //vm.UserSuggestionList[0];\r\n var temp = [];\r\n temp.push({ \"UserId\": data.id, \"SuggestedPrice\": null, \"Price\": parseFloat(data.Price), \"Distance\": parseFloat(data.UserDistance) });\r\n var data = {\r\n \"JobId\": vm.broadcastTicketId,\r\n \"BIDDuration\": vm.TicketSelectedForAssistedSuggestion.BidDuration,\r\n \"MobiforceCommissionPercentage\": vm.TicketSelectedForAssistedSuggestion.MobiforceCommission,\r\n \"BroadcastType\": \"Route\",\r\n \"TechnicianSource\": 1,\r\n \"Users\": temp\r\n };\r\n if (data.Users.length > 0) {\r\n vm.showloading = true;\r\n ManualAssignationJobService.BroadCastBundlesforUser(loggedinUser, data, token).then(function (resp) { \r\n if (resp.status == 201) {\r\n vm.showSuccess('Success', \"Jobs Route Successfully\");\r\n $timeout(function () {\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n vm.DisableRouteBroadcastButtons(false);\r\n $scope.hideoverlay();\r\n }, 2000);\r\n }\r\n else if (resp.status == 206) {\r\n vm.showFailure('Failed', resp.data.Message);\r\n vm.DisableRouteBroadcastButtons(false);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", \"Users Not Found\");\r\n $timeout(function () {\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n vm.DisableRouteBroadcastButtons(false);\r\n }, 2000);\r\n }\r\n vm.showloading = false;\r\n });\r\n } else {\r\n vm.showFailure(\"Failed\", \"Please select users.\");\r\n $timeout(function () {\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n vm.DisableRouteBroadcastButtons(false);\r\n }, 2000);\r\n }\r\n\r\n}\r\n\r\nvm.UnbundleBJobs = function(bundleid){\r\n vm.unbundleTicketArray = [];\r\n if (bundleid) {\r\n vm.unbundleTicketArray.push(bundleid) \r\n }\r\n vm.confirmationMessage = 'Please confirm if you want to unbundle: ' + vm.unbundleTicketArray;\r\n confirmationModalInstance = $uibModal.open({\r\n templateUrl: 'unbundle.html',\r\n scope: $scope,\r\n backdrop: 'static'\r\n });\r\n}\r\n\r\nvm.UnBundleTkts = function () { \r\n ManualAssignationJobService.UnBundleJobs(loggedinUser, vm.unbundleTicketArray, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n }, 1000); \r\n confirmationModalInstance.close(); \r\n vm.showSuccess(\"Success\", \"Job has been unbundled successfully\");\r\n }\r\n if (resp.status == 206) { \r\n vm.showFailure(\"Failed\", resp.data);\r\n vm.DisableBroadcastButtons(false); \r\n confirmationModalInstance.close();\r\n }\r\n });\r\n}\r\n\r\nvm.closeUnbundleModal = function () {\r\n confirmationModalInstance.close();\r\n}\r\n\r\n\r\nvm.GetAllBundledJobs = function(isCollapsed,bundleId){\r\n $scope.isCollapsed = !isCollapsed;\r\n $scope.activeRow = bundleId;\r\n vm.bundleJobId = bundleId;\r\n if(vm.bundleJobId){\r\n ManualAssignationJobService.GetAllBundledJobs(loggedinUser, vm.bundleJobId ,token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.BundleTicketList=resp.data;\r\n }\r\n }, function () { \r\n });\r\n }\r\n}\r\n\r\nvm.Get360SkillSummary = function (teamid) {\r\n vm.userId = teamid;\r\n DashboardService.Get360SkillSummary(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.skillsetData = resp.data;\r\n for(var i=0;i0){\r\n angular.forEach(vm.skillData, function(s){\r\n vm.skillsWithPipe += s.SkillName+\"|\";\r\n });\r\n vm.skillsWithPipe = vm.skillsWithPipe.length>0\r\n ? vm.skillsWithPipe.substring(0,vm.skillsWithPipe.length-1) : \"\";\r\n }\r\n }\r\n });\r\n }\r\n vm.loadAllSkills();\r\n\r\n //Get all Freelancers\r\n vm.GetAllFreelancers = function () {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemNames = \"UserStatus,Locations,SkillSet,Role\";\r\n var itemValues = \"Active\" + ',' + vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Field Engineer';\r\n } else {\r\n var itemNames = \"UserStatus,Role\";\r\n var itemValues = \"Active,Field Engineer\";\r\n if(vm.skillsWithPipe && vm.skillsWithPipe.length>0){\r\n itemNames+=\",SkillSet\";\r\n itemValues+=\",\"+vm.skillsWithPipe;\r\n }\r\n }\r\n ManualAssignationService.GetAllFreelancersWithFilters(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.freelancerUsers = resp.data;\r\n for(var i=0;i0){\r\n // itemNames+=\",SkillSet\";\r\n // itemValues+=\",\"+vm.skillsWithPipe;\r\n // }\r\n // }\r\n ManualAssignationService.GetFreelancerVendorsByFilters(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.FreelancerVendorUsers = resp.data;\r\n for(var i=0;i 0) {\r\n ManualAssignationService.AssignTickets(userId, loggedinUser, itemValues, token).then(function (resp) {\r\n\r\n if (resp && resp.data && resp.data.ErrorCode == 140 && resp.data.Message) {\r\n if (mode == 'fixed') {\r\n vm.showFailure(\"Failed\", resp.data.Message + \". Please recharge your account.\");\r\n } else {\r\n vm.showFailure(\"Failed\", resp.data.Message + \".\");\r\n }\r\n } else if (resp && resp.data) {\r\n\r\n vm.showSuccess(\"Success\", \"Ticket assigned successfully\");\r\n vm.selectedItems = [];\r\n\r\n if (mode == 'fixed') {\r\n var jobs = [];\r\n angular.forEach(vm.NewJobs, function (d) {\r\n if (itemValues.split(\",\").indexOf(d.TicketId) >= 0) {\r\n //remove this job from display\r\n } else {\r\n jobs.push(d);\r\n }\r\n });\r\n vm.NewJobs = jobs;\r\n vm.selectAllNewJob = false;\r\n vm.showMinusNewJob = false;\r\n\r\n } else {\r\n $timeout(function () {\r\n vm.GetNewJobs();\r\n }, 500);\r\n }\r\n\r\n } else {\r\n vm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n }\r\n\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n })\r\n } else {\r\n vm.showFailure(\"Failed\", \"Please select jobs to assign\");\r\n }\r\n }\r\n\r\n //Get Broadcasted Jobs\r\n vm.GetBroadcastedJobs = function () {\r\n\r\n // ManualAssignationService.GetTicketsByFilter(loggedinUser,\"Ticket Status\",\"Broadcasted\").then(function(resp){\r\n\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemName = \"Ticket Status,Circle,SkillSet\";\r\n var itemValues = 'Broadcasted' + ',' + vm.locationSearch + ',' + vm.skillsSearch;\r\n } else {\r\n var itemName = 'Ticket Status';\r\n var itemValues = 'Broadcasted';\r\n }\r\n\r\n ManualAssignationService.GetBroadcastedBids(loggedinUser, itemName, itemValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.BroadcastedJobs = resp.data;\r\n for (var index = 0; index < vm.BroadcastedJobs.length; index++) {\r\n vm.time = vm.BroadcastedJobs[index].BIDDuration;\r\n //$log.log(\"BidDuration: \",vm.time);\r\n var hr = parseInt(vm.time / 60);\r\n var min = vm.time % 60;\r\n vm.BroadcastedJobs[index].BIDDuration = hr + \":\" + min;\r\n }\r\n // vm.TeamProfile = vm.TeamProfile[0];\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get broadcasted jobs, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get broadcasted jobs, server is not responding correctly.\");\r\n })\r\n }\r\n\r\n \r\n\r\n vm.toggleAll = function () {\r\n //$log.log('checkAll', vm.checkAll);\r\n var bool = true;\r\n if (vm.checkAll) {\r\n bool = false;\r\n }\r\n angular.forEach(vm.NewJobs, function (v, k) {\r\n // //$log.log('v',v);\r\n // //$log.log('k',k);\r\n v.checked = !bool;\r\n // //$log.log('!bool', v.checked);\r\n vm.checkAll = !bool;\r\n });\r\n }\r\n\r\n vm.checkAny = function (i) {\r\n //$log.log('newJobselectAny', vm.newJobselectAny);\r\n vm.checkAll = true;\r\n angular.forEach(vm.NewJobs, function (v, k) {\r\n\r\n if (!v.checked) {\r\n vm.checkAll = false;\r\n }\r\n });\r\n\r\n }\r\n\r\n vm.showCheckAny = function (i) {\r\n vm.showMinus = true;\r\n angular.forEach(vm.freelancerCheckAny, function (v, k) {\r\n if (v != true && k == vm.freelancerCheckAny[i]) {\r\n vm.showMinus = false;\r\n } else {\r\n vm.showMinus = true;\r\n }\r\n });\r\n }\r\n\r\n vm.GetTicketById = function (ticketId) {\r\n ManualAssignationService.GetTicketsById(ticketId, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.JobProfile = resp.data;\r\n }\r\n })\r\n }\r\n\r\n //Advance Search\r\n vm.SearchModal = {};\r\n vm.AdvanceSearch = function () {\r\n vm.SearchModal = $uibModal.open({\r\n templateUrl: 'AssignFilter.html',\r\n backdrop: 'static',\r\n scope: $scope\r\n });\r\n //Load All Skills\r\n if (vm.skillData.length==0) {\r\n ManualAssignationService.GetAllSkills(loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.skillData = resp.data;\r\n }\r\n })\r\n }\r\n //Load All Circles\r\n if (vm.circleData.length==0) {\r\n\r\n ManualAssignationService.GetAllCircles(loggedinUser,token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.circleData = resp.data;\r\n }\r\n })\r\n }\r\n \r\n \r\n }\r\n vm.LocationsList=function()\r\n {\r\n ManualAssignationService.getAllState(loggedinUser, token).then(function(resp){\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.values.length>0) {\r\n vm.circleData = resp.data.values;\r\n \r\n }\r\n }\r\n }); \r\n }\r\n vm.LocationsList();\r\n vm.removeFilters = function () {\r\n if (vm.isChecked == 'fixed') {\r\n var itemNames = \"TicketStatus\";\r\n var itemValues = 'New';\r\n if (vm.locationSearch) {\r\n itemNames += \",Circle\";\r\n itemValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n itemNames += \",SkillSet\";\r\n itemValues += \",\" + vm.skillsSearch;\r\n }\r\n\r\n ManualAssignationService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n });\r\n\r\n var teamIteamNames = \"UserStatus,Role\";\r\n var teamIteamValues = 'Active' + ',' + 'Field Engineer';\r\n\r\n if (vm.locationSearch) {\r\n teamIteamNames += \",Locations\";\r\n teamIteamValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n teamIteamNames += \",SkillSet\";\r\n teamIteamValues += \",\" + vm.skillsSearch;\r\n }\r\n ManualAssignationService.GetUsersByFilter(loggedinUser, teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.fixedUsers = resp.data;\r\n //$log.log('fixedUsers', resp.data);\r\n preprocessData(vm.fixedUsers);\r\n } else {\r\n vm.fixedUsers = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get users, server is not responding correctly.\");\r\n })\r\n\r\n\r\n } else if (vm.isChecked == 'freelancer') {\r\n\r\n var itemNames = \"TicketStatus\";\r\n var itemValues = 'New';\r\n\r\n if (vm.locationSearch) {\r\n itemNames += \",Circle\";\r\n itemValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n itemNames += \",SkillSet\";\r\n itemValues += \",\" + vm.skillsSearch;\r\n }\r\n ManualAssignationService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n })\r\n\r\n var teamIteamNames = \"UserStatus,Role\";\r\n var teamIteamValues = 'Active' + ',' + 'Field Engineer';\r\n\r\n if (vm.locationSearch) {\r\n teamIteamNames += \",Locations\";\r\n teamIteamValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n teamIteamNames += \",SkillSet\";\r\n teamIteamValues += \",\" + vm.skillsSearch;\r\n } else if(vm.skillsWithPipe && vm.skillsWithPipe.length>0){\r\n teamIteamNames+=\",SkillSet\";\r\n teamIteamValues+=vm.skillsWithPipe;\r\n }\r\n ManualAssignationService.GetAllFreelancersWithFilters(loggedinUser, teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.freelancerUsers = resp.data;\r\n //$log.log('freelancers', vm.freelancerUsers);\r\n preprocessData(vm.freelancerUsers);\r\n } else {\r\n vm.freelancerUsers = '';\r\n }\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get freelancers, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get freelancers, server is not responding correctly.\");\r\n });\r\n\r\n var broadItemNames = 'Circle,SkillSet,TicketStatus';\r\n var broadItemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Broadcasted';\r\n\r\n ManualAssignationService.GetBroadcastedBids(loggedinUser, broadItemNames, broadItemValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.BroadcastedJobs = resp.data;\r\n // vm.TeamProfile = vm.TeamProfile[0];\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get broadcasted jobs, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get broadcasted jobs, server is not responding correctly.\");\r\n })\r\n\r\n\r\n } else if (vm.isChecked == 'vendor') {\r\n\r\n var itemNames = \"TicketStatus\";\r\n var itemValues = 'New';\r\n\r\n if (vm.locationSearch) {\r\n itemNames += \",Circle\";\r\n itemValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n itemNames += \",SkillSet\";\r\n itemValues += \",\" + vm.skillsSearch;\r\n }\r\n\r\n ManualAssignationService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n }\r\n\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n })\r\n\r\n var teamIteamNames = \"UserStatus,Role\";\r\n var teamIteamValues = 'Active' + ',' + 'Field Engineer';\r\n\r\n if (vm.locationSearch) {\r\n teamIteamNames += \",Locations\";\r\n teamIteamValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n teamIteamNames += \",SkillSet\";\r\n teamIteamValues += \",\" + vm.skillsSearch;\r\n }\r\n ManualAssignationService.GetAllVendors(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data) {\r\n vm.vendorList = resp.data;\r\n preprocessData(vm.vendorList);\r\n }\r\n } else {\r\n vm.vendorList = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get vendors, server is not responding correctly.\");\r\n })\r\n\r\n } else if (vm.isChecked == 'supervisor') {\r\n\r\n var itemNames = \"TicketStatus\";\r\n var itemValues = 'New';\r\n\r\n if (vm.locationSearch) {\r\n itemNames += \",Circle\";\r\n itemValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n itemNames += \",SkillSet\";\r\n itemValues += \",\" + vm.skillsSearch;\r\n }\r\n ManualAssignationService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n });\r\n\r\n var teamIteamNames = \"UserStatus\";\r\n var teamIteamValues = 'Active';\r\n\r\n if (vm.locationSearch) {\r\n teamIteamNames += \",Locations\";\r\n teamIteamValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n teamIteamNames += \",SkillSet\";\r\n teamIteamValues += \",\" + vm.skillsSearch;\r\n }\r\n ManualAssignationService.GetUsersByRole(loggedinUser, 'Supervisor', teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp && resp.data.length > 0) {\r\n vm.supervisorList = resp.data;\r\n preprocessData(vm.supervisorList);\r\n } else {\r\n vm.supervisorList = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get supervisors, server is not responding correctly.\");\r\n });\r\n }\r\n }\r\n\r\n //To Search\r\n vm.search = function () {\r\n if (vm.searchform.$valid) {\r\n if (vm.isChecked == 'fixed') {\r\n var itemNames = \"Circle,SkillSet,TicketStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'New';\r\n\r\n ManualAssignationService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n });\r\n\r\n var teamIteamNames = \"Locations,SkillSet,UserStatus,Role\";\r\n var teamIteamValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active' + ',' + 'Field Engineer';\r\n\r\n ManualAssignationService.GetUsersByFilter(loggedinUser, teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.fixedUsers = resp.data;\r\n //$log.log('fixedUsers', resp.data);\r\n preprocessData(vm.fixedUsers);\r\n } else {\r\n vm.fixedUsers = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get field engineers, server is not responding correctly.\");\r\n })\r\n\r\n\r\n } else if (vm.isChecked == 'freelancer') {\r\n\r\n var itemNames = \"Circle,SkillSet,TicketStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'New';\r\n\r\n ManualAssignationService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n });\r\n\r\n var teamIteamNames = \"Locations,SkillSet,UserStatus,Role\";\r\n var teamIteamValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active' + ',' + 'Field Engineer';\r\n\r\n ManualAssignationService.GetAllFreelancersWithFilters(loggedinUser, teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.freelancerUsers = resp.data;\r\n //$log.log('freelancers', vm.freelancerUsers);\r\n preprocessData(vm.freelancerUsers);\r\n\r\n\r\n } else {\r\n vm.freelancerUsers = '';\r\n }\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get field engineers, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get field engineers, server is not responding correctly.\");\r\n });\r\n\r\n var broadItemNames = 'Circle,SkillSet,TicketStatus';\r\n var broadItemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Broadcasted';\r\n\r\n ManualAssignationService.GetBroadcastedBids(loggedinUser, broadItemNames, broadItemValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.BroadcastedJobs = resp.data;\r\n // vm.TeamProfile = vm.TeamProfile[0];\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get broadcasted jobs, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get broadcasted jobs, server is not responding correctly.\");\r\n })\r\n\r\n\r\n } else if (vm.isChecked == 'vendor') {\r\n\r\n var itemNames = \"Circle,SkillSet,TicketStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'New';\r\n\r\n ManualAssignationService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n })\r\n\r\n var teamIteamNames = \"Locations,SkillSet,UserStatus,Role\";\r\n var teamIteamValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active' + ',' + 'Field Engineer';\r\n\r\n ManualAssignationService.GetAllVendors(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data) {\r\n vm.vendorList = resp.data;\r\n preprocessData(vm.vendorList);\r\n }\r\n } else {\r\n vm.vendorList = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get vendors, server is not responding correctly.\");\r\n });\r\n\r\n } else if (vm.isChecked == 'supervisor') {\r\n\r\n var itemNames = \"Circle,SkillSet,TicketStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'New';\r\n\r\n ManualAssignationService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get supervisors, server is not responding correctly.\");\r\n });\r\n\r\n var teamIteamNames = \"Locations,SkillSet,UserStatus\";\r\n var teamIteamValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active';\r\n\r\n ManualAssignationService.GetUsersByRole(loggedinUser, 'Supervisor', teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp && resp.data.length > 0) {\r\n vm.supervisorList = resp.data;\r\n preprocessData(vm.supervisorList);\r\n } else {\r\n vm.supervisorList = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get users, server is not responding correctly.\");\r\n })\r\n\r\n }\r\n vm.SearchModal.close();\r\n } else {\r\n vm.searchform.submitted = true;\r\n }\r\n\r\n\r\n }\r\n\r\n \r\n vm.tabNo = function (tab) {\r\n vm.tab = tab;\r\n //$log.log('TabNo', vm.tab);\r\n }\r\n\r\n vm.CloseAdvanceSearchModal = function () {\r\n vm.locationSearch = '';\r\n vm.skillsSearch = '';\r\n vm.SearchModal.close();\r\n }\r\n\r\n vm.ChangeMode = function (mode) {\r\n vm.tabNo('1');\r\n if (mode == 'fixed') {\r\n vm.fixed_select_all = false;\r\n vm.fixed_selectAll = false;\r\n vm.selectedItems = [];\r\n vm.fixed_select_single = [];\r\n if(vm.getAccountConfigSetting('CustomizeJobAssign')){\r\n vm.filteredProperties={\"SkillSet\":\"Water Sample Collection\"};\r\n } \r\n vm.GetAllActiveFixedUsers();\r\n\r\n } else if (mode == 'freelancer') {\r\n // vm.GetBroadcastedJobs();\r\n vm.GetAllFreelancers();\r\n vm.free_selectedItems = [];\r\n vm.freelancer_select_single = [];\r\n vm.free_NewJobSelectedItems = [];\r\n vm.freelancer_select_single_NewJob = [];\r\n vm.freelancer_select_all = false;\r\n vm.freelancer_selectAll = false;\r\n vm.freelancer_SelectAllJob = false;\r\n vm.freelancer_Select_All_NewJobs = false;\r\n\r\n\r\n } else if (mode == 'FixedVendors') {\r\n vm.GetAllVendors();\r\n vm.fixed_select_all = false;\r\n vm.fixed_selectAll = false;\r\n vm.selectedItems = [];\r\n vm.fixed_select_single = [];\r\n if(vm.getAccountConfigSetting('CustomizeJobAssign')){\r\n vm.filteredProperties={\"SkillSet\":\"Water Lab Test\"};\r\n }\r\n } else if (mode == 'vendor') {\r\n // vm.GetBroadcastedJobs();\r\n vm.GetAllFreelancerVendors();\r\n vm.Vendor_selectedItems = [];\r\n vm.Vendor_select_single = [];\r\n vm.Vendor_NewJobSelectedItems = [];\r\n vm.Vendor_select_single_NewJob = [];\r\n vm.Vendor_select_all = false;\r\n vm.Vendor_selectAll = false;\r\n vm.Vendor_SelectAllJob = false;\r\n vm.Vendor_Select_All_NewJobs = false;\r\n\r\n\r\n }\r\n else if (mode == 'supervisor') {\r\n vm.GetUsersByRole('Supervisor');\r\n vm.fixed_select_all = false;\r\n vm.fixed_selectAll = false;\r\n vm.selectedItems = [];\r\n vm.fixed_select_single = [];\r\n if(vm.getAccountConfigSetting('CustomizeJobAssign')){\r\n vm.filteredProperties = {\"SkillSet\":\"Water Lab Test\"};\r\n }\r\n }\r\n }\r\n vm.ChangeMode('fixed');\r\n\r\n\r\n //Get Users By Role\r\n\r\n vm.GetUsersByRole = function (role) {\r\n\r\n if (vm.loggedInUserRole == 'Administrator' || vm.loggedInUserRole == 'Project Manager') {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemNames = \"Locations,SkillSet,UserStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active';\r\n } else {\r\n var itemNames = \"UserStatus\";\r\n var itemValues = \"Active\";\r\n }\r\n } else if (vm.loggedinAs == 'Supervisor' || vm.loggedinAs == 'Vendor Supervisor') {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemNames = \"Locations,SkillSet,UserStatus,ReportingTo\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active' + ',' + vm.loggedInUserReportingTo;\r\n } else {\r\n var itemNames = \"UserStatus,ReportingTo\";\r\n var itemValues = \"Active,\" + vm.loggedInUserReportingTo;\r\n }\r\n } else if (vm.loggedInUserRole == 'Vendor Manager') {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemNames = \"Locations,SkillSet,UserStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active';\r\n } else {\r\n var itemNames = \"UserStatus\";\r\n var itemValues = \"Active,\";\r\n }\r\n }\r\n else if (vm.loggedInUserRole == 'Help Desk') {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemNames = \"Locations,SkillSet,UserStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active';\r\n } else {\r\n var itemNames = \"UserStatus\";\r\n var itemValues = \"Active,\";\r\n }\r\n }\r\n\r\n ManualAssignationService.GetUsersByRole(loggedinUser, role, itemNames, itemValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.supervisorList = resp.data;\r\n preprocessData(vm.supervisorList);\r\n }\r\n })\r\n\r\n }\r\n\r\n\r\n\r\n\r\n //vm.tabNo('1');\r\n\r\n // Route Jobs\r\n\r\n vm.routeTicket = function(index){\r\n //vm.routbuttonDisable=true;\r\n vm.DisableRouteBroadcastButtons(true);\r\n var data = {};\r\n for(var i=0; i< vm.ticketList.length;i++){\r\n if(vm.ticketList[i].TicketStatus==\"New\")\r\n {\r\n if(vm.ticketList[i].checked){\r\n if(i==0){\r\n data.JobIds = vm.ticketList[i].TicketId;\r\n }else{\r\n data.JobIds = data.JobIds + ',' + vm.ticketList[i].TicketId;\r\n }\r\n }\r\n }\r\n } \r\n for(var i=0; i< vm.UserByFiltersList.length;i++){\r\n if(vm.UserByFiltersList[i].checked){\r\n data.UserId = vm.UserByFiltersList[i].UserId;\r\n break;\r\n }\r\n }\r\n\t\t\t if(data.JobIds){\r\n ManualAssignationService.RouteJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 201) {\r\n vm.processBroadcastRouteResponse(resp.data); \r\n\t\t\t\t\t //vm.showSuccess('Success',\"Jobs Route Successfully\");\r\n\t\t\t\t\t $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.UsersFilterArray(); \r\n vm.GetUserByFiltersWithDynaPage(loggedinUser, token, uitemNames, uitemValues, vm.uType, uPageIndex, uPageSize);\r\n vm.DisableRouteBroadcastButtons(false);\r\n \r\n\t\t\t\t\t }, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t vm.showFailure(\"Failed\", resp.data.Message);\r\n vm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t}\r\n\t\t\t\t });\r\n\t\t\t }else{\r\n\t\t\t\t vm.showFailure(\"Failed\", \"Please select tickets.\");\r\n vm.DisableRouteBroadcastButtons(false);\r\n\t\t\t }\r\n\t\t\t\r\n\t\t}\r\n\r\n\r\n vm.DisableRouteBroadcastButtons = function (disable) {\r\n if(disable){\r\n vm.brodcastButtonDisable = true;\r\n vm.routebuttonDisable = true;\r\n }\r\n else{\r\n vm.brodcastButtonDisable = false;\r\n vm.routebuttonDisable = false;\r\n }\r\n }\r\n\r\n // Route Jobs\r\n vm.routeTicketToFV = function(index){\r\n var data = {};\r\n for(var i=0; i< vm.NewJobs.length;i++){\r\n if(vm.NewJobs[i].checked){\r\n if(i==0){\r\n data.JobIds = vm.NewJobs[i].TicketId;\r\n }else{\r\n data.JobIds = data.JobIds + ',' + vm.NewJobs[i].TicketId;\r\n }\r\n }\r\n }\r\n for(var i=0; i< vm.FreelancerVendorUsers.length;i++){\r\n if(vm.FreelancerVendorUsers[i].checked){\r\n data.UserId = vm.FreelancerVendorUsers[i].UserId;\r\n break;\r\n }\r\n }\r\n\r\n if(data.JobIds){\r\n ManualAssignationService.RouteJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 201) {\r\n vm.showSuccess('Success',\"Jobs Route Successfully\");\r\n $timeout(function () {\r\n $state.reload();\r\n }, 2000);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", \"Server error.\");\r\n }\r\n });\r\n }else{\r\n vm.showFailure(\"Failed\", \"Please select tickets.\");\r\n }\r\n \r\n }\r\n\r\n //Broadcast Bids/Jobs\r\n vm.BroadCastJobs = function () {\r\n vm.DisableRouteBroadcastButtons(true);\r\n var BidData = [];\r\n angular.forEach(vm.ticketList, function (d) {\r\n var obj = {};\r\n var time = '';\r\n var hrs = '';\r\n var min = '';\r\n if(d.TicketStatus==\"New\")\r\n {\r\n if (d.checked) {\r\n obj.JobID = d.TicketId;\r\n var time = d.BidDuration.split(':');\r\n var hrs = parseInt(time[0]);\r\n var min = parseInt(time[1]);\r\n obj.BIDDuration = hrs*60 + min;\r\n obj.BroadCastRate = d.BroadcastRate\r\n obj.BroadCastGrossRate = d.BroadcastGrossRate\r\n obj.MobiforceCommissionPercentage = d.MobiforceCommission\r\n obj.FixedBidPrice = true;\r\n BidData.push(obj);\r\n }\r\n }\r\n })\r\n var UserData = [];\r\n /*angular.forEach(vm.freelancerUsers, function (d) {\r\n if (d.checked) {\r\n UserData.push(d.UserId);\r\n }\r\n });*/\r\n\r\n for(var i=0; i< vm.UserByFiltersList.length;i++){\r\n if(vm.UserByFiltersList[i].checked){\r\n UserData.push(vm.UserByFiltersList[i].UserId); \r\n }\r\n }\r\n\r\n if (BidData.length > 0 && UserData.length > 0) {\r\n var data = {\r\n \"Bids\": BidData,\r\n \"Users\": UserData\r\n };\r\n //$log.log('BradcastedJobs', data);\r\n vm.BroadcastModal.close();\r\n\r\n ManualAssignationService.BroadCastJobs(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 201 || resp.status == 200) {\r\n vm.processBroadcastRouteResponse(resp.data); \r\n //vm.toaster_success.body = 'Jobs Broadcasted Successfully';\r\n //toaster.pop(vm.toaster_success);\r\n vm.free_NewJobSelectedItems = [];\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.UsersFilterArray(); \r\n vm.GetUserByFiltersWithDynaPage(loggedinUser, token, uitemNames, uitemValues, vm.uType, uPageIndex, uPageSize);\r\n vm.DisableRouteBroadcastButtons(false);\r\n \r\n }, 2000);\r\n }\r\n if (resp.status == 206) {\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n vm.DisableRouteBroadcastButtons(false);\r\n }\r\n })\r\n } else {\r\n vm.showFailure(\"Failed\", \"Please select jobs and users.\");\r\n vm.DisableRouteBroadcastButtons(false);\r\n }\r\n }\r\n\r\n vm.BroadCastJobsFV = function () {\r\n\r\n var BidData = [];\r\n angular.forEach(vm.NewJobs, function (d) {\r\n var obj = {};\r\n var time = '';\r\n var hrs = '';\r\n var min = '';\r\n if (d.checked) {\r\n obj.JobID = d.TicketId;\r\n var time = d.BidDuration.split(':');\r\n var hrs = parseInt(time[0]);\r\n var min = parseInt(time[1]);\r\n obj.BIDDuration = hrs*60 + min;\r\n obj.BroadCastRate = d.BroadcastRate\r\n obj.BroadCastGrossRate = d.BroadcastGrossRate\r\n obj.MobiforceCommissionPercentage = d.MobiforceCommission\r\n obj.FixedBidPrice = true;\r\n BidData.push(obj);\r\n }\r\n })\r\n var UserData = [];\r\n /*angular.forEach(vm.FreelancerVendorUsers, function (d) {\r\n if (d.checked) {\r\n UserData.push(d.UserId);\r\n }\r\n });*/\r\n\r\n for(var i=0; i< vm.FreelancerVendorUsers.length;i++){\r\n if(vm.FreelancerVendorUsers[i].checked){\r\n UserData.push(vm.FreelancerVendorUsers[i].UserId); \r\n }\r\n }\r\n\r\n if (BidData.length > 0 && UserData.length > 0) {\r\n var data = {\r\n \"Bids\": BidData,\r\n \"Users\": UserData\r\n };\r\n //$log.log('BradcastedJobs', data);\r\n vm.BroadcastModalFV.close();\r\n\r\n ManualAssignationService.BroadCastJobs(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 201 || resp.status == 200) {\r\n vm.toaster_success.body = 'Jobs Broadcasted Successfully';\r\n toaster.pop(vm.toaster_success);\r\n vm.free_NewJobSelectedItems = [];\r\n $timeout(function () {\r\n $state.reload();\r\n }, 2000);\r\n }\r\n })\r\n } else {\r\n vm.showFailure(\"Failed\", \"Please select jobs and users.\");\r\n }\r\n }\r\n\r\n\r\n // vm.AssignReceivedBid = function (userId, bidRate, bidGrossRate) {\r\n // bidGrossRate = bidGrossRate * GrossRate;\r\n \r\n // ManualAssignationService.AssignReceivedBid(loggedinUser, vm.broadcastTicketId, userId, token).then(function (resp) {\r\n // if (resp && resp.data) {\r\n // vm.showSuccess(\"Success\", \"Assigned Successfully\");\r\n // vm.ChangeMode('freelancer');\r\n // vm.BidReceivedJobs = [];\r\n // }\r\n // }, function (err) {\r\n // if (err && err.data && err.data.Message) {\r\n // vm.showFailure(\"Failed\", err.data.Message);\r\n // } else {\r\n // vm.showFailure(\"Failed\", \"Unable to assign job, server is not responding correctly.\");\r\n // }\r\n // })\r\n // }\r\n\r\n\r\nvm.AssignReceivedBid = function(user){\r\n \r\n vm.AllDataList =[];\r\nvar data ={\r\n \"TicketId\": vm.broadcastTicketId,\r\n \"UserId\": user.UserId,\r\n \"StartTime\":vm.broadcaststartTime,\r\n \"Endtime\": vm.broadcastEndTime,\r\n \"SuggestedPrice\": 0,\r\n \"AssignPrice\": parseInt(vm.broadcastAssignRate),\r\n \"Distance\": 0,\r\n}\r\nvm.AllDataList.push(data)\r\n\r\n ScheduleAssignService.AssignTicketsTimeline(loggedinUser,vm.AllDataList,token).then(function(resp){\r\n if (resp && resp.data) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.ChangeMode('freelancer');\r\n vm.BidReceivedJobs = [];\r\n\r\n $timeout(function () {\r\n \r\n vm.GetBroadcastedJobs();\r\n vm.closeSendAndRecieveBid();\r\n }, 1500);\r\n }\r\n }, function (err) {\r\n if (err && err.data) {\r\n vm.showFailure(\"Failed\", err.data);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to assign job, server is not responding correctly.\");\r\n }\r\n })\r\n\r\n\r\n}\r\n\r\n\r\n\r\n\r\n //Get Bid Received\r\n\r\n vm.BidReceived = function (ticket) { \r\n document.getElementById(\"SendAndRecieveBid\").style.width = \"42%\";\r\n var status = 'Received';\r\n vm.broadcastTicketId = ticket.TicketId;\r\n vm.broadcastLinkId = ticket.LinkId;\r\n vm.broadcaststartTime = ticket.StartTimeD;\r\n vm.broadcastEndTime = ticket.EndTime;\r\n //vm.broadcastAssignRate = ticket.JobAssignRate;\r\n\r\n vm.isReceived = true;\r\n ManualAssignationService.GetBidReceivedByStatus(loggedinUser, vm.broadcastTicketId, status, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.BidReceivedJobs = resp.data;\r\n angular.forEach(vm.BidReceivedJobs, function (user) {\r\n\r\n user.ratingStars = vm.getRatingStars(user.UserRating);\r\n user.blankStars = vm.getBlankStars(user.UserRating);\r\n user.exp = user.Experience > 0 ? parseFloat(user.UserExperience / 365).toFixed(1) : 0;\r\n })\r\n }\r\n //$log.log('Bids', resp.data);\r\n })\r\n }\r\n\r\n //Get bid sent\r\n vm.BidSent = function(ticket){\r\n document.getElementById(\"SendAndRecieveBid\").style.width = \"42%\";\r\n vm.broadcastTicketId = ticket.TicketId;\r\n vm.broadcastLinkId = ticket.LinkId;\r\n vm.isReceived = false;\r\n ManualAssignationService.GetBidSentByStatus(loggedinUser, ticket.TicketId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.BidReceivedJobs = resp.data;\r\n angular.forEach(vm.BidReceivedJobs, function (user) {\r\n user.ratingStars = vm.getRatingStars(user.UserRating);\r\n user.blankStars = vm.getBlankStars(user.UserRating);\r\n user.exp = user.Experience > 0 ? parseFloat(user.UserExperience / 365).toFixed(1) : 0;\r\n })\r\n }\r\n });\r\n }\r\n\r\n //Data Tables\r\n vm.dtOptions = DTOptionsBuilder.newOptions().withDOM(\r\n '<\"html5buttons\"B>lTfgitp').withPaginationType(\r\n 'full_numbers').withOption('lengthChange', false)\r\n .withOption('initComplete', function () {\r\n $('.dataTables_filter input').unbind();\r\n })\r\n .withOption('order', [1, 'asc']);\r\n\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n //DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable()\r\n // DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(7).notSortable()\r\n ];\r\n\r\n //Global Calling\r\n vm.GetNewJobs();\r\n vm.GetAllActiveFixedUsers();\r\n //$log.log('isChecked', vm.isChecked);\r\n\r\n vm.openBroadcastmodal = function (i) {\r\n vm.broadcastError = null; \r\n vm.jobselected = [];\r\n angular.forEach(vm.ticketList, function (d) {\r\n if(d.TicketStatus==\"New\")\r\n {\r\n if (d.checked) {\r\n if (!d.BidDuration.includes(\":\")) {\r\n d.BidDuration = parseInt(d.BidDuration / 60) + \":\" + parseInt(d.BidDuration % 60);\r\n }\r\n \r\n \r\n vm.jobselected.push(d);\r\n $log.log(d)\r\n }\r\n }\r\n });\r\n \r\n if (vm.jobselected.length > 0) {\r\n vm.BroadcastModal = $uibModal.open({\r\n templateUrl: 'Broadcast.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n else\r\n {\r\n vm.showFailure(\"Failed\", \"Please select jobs\"); \r\n vm.broadcastError = \"Please select jobs for bradcast\";\r\n }\r\n }\r\n\r\n vm.closeModal = function () {\r\n vm.BroadcastModal.close();\r\n }\r\n\r\n vm.openBroadcastmodalforFV = function (i) {\r\n vm.broadcastErrorFV = null; \r\n vm.jobselectedFV = [];\r\n angular.forEach(vm.NewJobs, function (d) {\r\n if (d.checked) {\r\n if (!d.BidDuration.includes(\":\")) {\r\n d.BidDuration = parseInt(d.BidDuration / 60) + \":\" + parseInt(d.BidDuration % 60);\r\n }\r\n \r\n vm.jobselectedFV.push(d);\r\n $log.log(d)\r\n }\r\n });\r\n if (vm.jobselectedFV.length > 0) {\r\n vm.BroadcastModalFV = $uibModal.open({\r\n templateUrl: 'BroadcastFV.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n } else {\r\n vm.broadcastErrorFV = \"Please select jobs for bradcast\";\r\n }\r\n }\r\n\r\n\r\n vm.OpenBroadcastModelToFV = function (i) {\r\n vm.broadcastErrorFV = null; \r\n vm.jobselectedFV = [];\r\n angular.forEach(vm.NewJobs, function (d) {\r\n if (d.checked) {\r\n if (!d.BidDuration.includes(\":\")) {\r\n d.BidDuration = parseInt(d.BidDuration / 60) + \":\" + parseInt(d.BidDuration % 60);\r\n }\r\n \r\n vm.jobselectedFV.push(d);\r\n $log.log(d)\r\n }\r\n });\r\n if (vm.jobselectedFV.length > 0) {\r\n vm.BroadcastModalFV = $uibModal.open({\r\n templateUrl: 'BroadcastFV.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n } else {\r\n vm.broadcastErrorFV = \"Please select jobs for bradcast\";\r\n }\r\n }\r\n\r\n vm.closeModalFV = function () {\r\n vm.BroadcastModalFV.close();\r\n }\r\n\r\n vm.GetAllVendors = function () {\r\n vm.vendorList = [];\r\n var itemNames = \"\";\r\n var itemValues = \"\";\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n itemNames = \"VendorLocations,VendorSkillsets,VendorStatus\";\r\n itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active';\r\n } else {\r\n itemNames = \"VendorStatus\";\r\n itemValues = \"Active\";\r\n }\r\n if (vm.loggedInUserRole == 'Help Desk') {\r\n itemNames += \",VendorSkillsets\";\r\n itemValues += \",\"+ loggedinUserSkill; \r\n }\r\n\r\n // GetAllVendors\r\n ManualAssignationService.GetFixedVendorsByFilters(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data) {\r\n angular.forEach(resp.data, function(vendor){\r\n if (vendor.UserId !=loggedinUser) {\r\n vm.vendorList.push(vendor);\r\n }\r\n })\r\n //vm.vendorList = resp.data;\r\n\r\n preprocessData(vm.vendorList);\r\n // $log.log('vendors', vm.vendorList);\r\n }\r\n } else {\r\n vm.vendorList = '';\r\n }\r\n })\r\n }\r\n\r\n //Implementation of Checkboxes for all tables\r\n vm.selectedItems = [];\r\n vm.fixed_select_single = [];\r\n vm.free_selectedItems = [];\r\n vm.freelancer_select_single = [];\r\n vm.free_NewJobSelectedItems = [];\r\n vm.freelancer_select_single_NewJob = [];\r\n\r\n vm.selectAllCheckboxes = function (mode, table) {\r\n if (mode == 'fixed' && table == 'fixed_NewJob') {\r\n if (vm.fixed_selectAll) {\r\n angular.forEach(vm.NewJobs, function (item) {\r\n idx = vm.selectedItems.indexOf(item);\r\n if (idx >= 0) {\r\n return true;\r\n } else {\r\n vm.fixed_select_all = true;\r\n vm.selectedItems.push(item);\r\n vm.fixed_select_single.push(\"true\");\r\n }\r\n })\r\n\r\n } else {\r\n vm.fixed_select_all = false;\r\n vm.fixed_selectAll = false;\r\n vm.selectedItems = [];\r\n vm.fixed_select_single = [];\r\n }\r\n\r\n //$log.log('selectedItems', vm.selectedItems);\r\n } else if (mode == 'freelancer' && table == 'freelancer_users') {\r\n if (vm.freelancer_selectAll) {\r\n angular.forEach(vm.freelancerUsers, function (item) {\r\n idx = vm.free_selectedItems.indexOf(item);\r\n if (idx >= 0) {\r\n return true;\r\n } else {\r\n vm.freelancer_select_all = true;\r\n vm.free_selectedItems.push(item);\r\n vm.freelancer_select_single.push(\"true\");\r\n }\r\n })\r\n } else {\r\n vm.freelancer_select_all = false;\r\n vm.freelacer_selectAll = false;\r\n vm.free_selectedItems = [];\r\n vm.freelancer_select_single = [];\r\n }\r\n\r\n } else if (mode == 'freelancer' && table == 'freelancer_NewJob') {\r\n if (vm.freelancer_SelectAllJobs) {\r\n angular.forEach(vm.NewJobs, function (item) {\r\n idx = vm.free_NewJobSelectedItems.indexOf(item);\r\n if (idx >= 0) {\r\n return true;\r\n } else {\r\n vm.freelancer_Select_All_NewJobs = true;\r\n vm.free_NewJobSelectedItems.push(item);\r\n vm.freelancer_select_single_NewJob.push(\"true\");\r\n }\r\n })\r\n } else {\r\n vm.freelancer_Select_All_NewJobs = false;\r\n vm.freelancer_SelectAllJobs = false;\r\n vm.free_NewJobSelectedItems = [];\r\n vm.freelancer_select_single_NewJob = [];\r\n }\r\n }\r\n //$log.log('freelancer_select_single_NewJob', vm.freelancer_select_single_NewJob);\r\n //$log.log('free_NewJobSelectedItems', vm.free_NewJobSelectedItems);\r\n }\r\n\r\n function preprocessData(users) {\r\n if (users && users.length > 0) {\r\n angular.forEach(users, function (user) {\r\n user.locationCount = user.Locations && user.Locations.length > 0 ? user.Locations.length : 0;\r\n user.locationToolTip = \"\";\r\n if (user.locationCount > 0) {\r\n angular.forEach(user.Locations, function (loc) {\r\n user.locationToolTip += loc + \",\";\r\n })\r\n user.locationToolTip = user.locationToolTip.substr(0, user.locationToolTip.length - 1);\r\n }\r\n\r\n user.SkillSetCount = user.SkillSet && user.SkillSet.length > 0 ? user.SkillSet.length : 0;\r\n user.SkillSetToolTip = \"\";\r\n if (user.SkillSetCount > 0) {\r\n angular.forEach(user.SkillSet, function (s) {\r\n user.SkillSetToolTip += s + \",\";\r\n })\r\n user.SkillSetToolTip = user.SkillSetToolTip.substr(0, user.SkillSetToolTip.length - 1);\r\n }\r\n\r\n user.VendorLocationsCount = user.VendorLocations && user.VendorLocations.length > 0 ? user.VendorLocations.length : 0;\r\n user.VendorLocationsToolTip = \"\";\r\n if (user.VendorLocationsCount > 0) {\r\n angular.forEach(user.VendorLocations, function (loc) {\r\n user.VendorLocationsToolTip += loc + \",\";\r\n })\r\n user.VendorLocationsToolTip = user.VendorLocationsToolTip.substr(0, user.VendorLocationsToolTip.length - 1);\r\n }\r\n\r\n user.VendorSkillsetsCount = user.VendorSkillsets && user.VendorSkillsets.length > 0 ? user.VendorSkillsets.length : 0;\r\n user.VendorSkillsetsToolTip = \"\";\r\n if (user.VendorSkillsetsCount > 0) {\r\n angular.forEach(user.VendorSkillsets, function (s) {\r\n user.VendorSkillsetsToolTip += s + \",\";\r\n })\r\n user.VendorSkillsetsToolTip = user.VendorSkillsetsToolTip.substr(0, user.VendorSkillsetsToolTip.length - 1);\r\n }\r\n\r\n // $log.log('ActualRating', user.FirstName + '' + Math.round(user.Ratings))\r\n user.ratingStars = vm.getRatingStars(Math.round(user.Ratings));\r\n user.blankStars = vm.getBlankStars(Math.round(user.Ratings));\r\n // $log.log('ratingStars', user.ratingStars);\r\n //$log.log('blankStars', user.getBlankStars);\r\n user.exp = user.Experience > 0 ? parseFloat(user.Experience / 365).toFixed(1) : 0;\r\n user.checked = false;\r\n });\r\n }\r\n }\r\n\r\n\r\n vm.processBroadcastRouteResponse= function(data){\r\n var SuccessCount = 0;\r\n var failuremsg = '';\r\n\r\n angular.forEach(data, function (res) {\r\n if (res.BroadcastStatus=='Success') {\r\n SuccessCount = SuccessCount + 1; \r\n }\r\n else\r\n {\r\n failuremsg = failuremsg + res.JobId + ' ' + res.BroadcastStatus + ' ';\r\n }\r\n });\r\n\r\n if(SuccessCount > 0 && failuremsg)\r\n {\r\n failuremsg = SuccessCount + ' Jobs routed Successfully ' + failuremsg;\r\n vm.showFailure('Failed',failuremsg);\r\n }\r\n else if(SuccessCount > 0)\r\n {\r\n failuremsg = SuccessCount + ' Jobs routed Successfully ';\r\n vm.showSuccess('Success',failuremsg);\r\n }\r\n else\r\n {\r\n vm.showFailure('Failed',failuremsg);\r\n }\r\n }\r\n\r\n vm.getProfilePic = function (profilePicName) {\r\n return profilePicName ? ImageUrl + \"/\" + profilePicName : null;\r\n }\r\n\r\n vm.implementSelectItemsNewJob = function (itemList, scope) {\r\n scope.selectAllNewJob = false;\r\n scope.showMinusNewJob = false;\r\n scope.AutoBroadcastedOnce = true;\r\n scope.selectRowNewJob = function (i) {\r\n //$log.log(\"selectRow called\");\r\n scope.showMinusNewJob = false;\r\n scope.selectAllNewJob = false;\r\n scope.AutoBroadcastedOnce = true;\r\n angular.forEach(scope[itemList], function (d) {\r\n // //$log.log(d);\r\n if (d.checked) {\r\n scope.showMinusNewJob = true;\r\n if(!d.ShowManualBroadcast){\r\n scope.AutoBroadcastedOnce = d.ShowManualBroadcast;\r\n }\r\n }\r\n });\r\n }\r\n scope.applyAllNewJobSelect = function () {\r\n //$log.log(\"applyAllSelect called\");\r\n angular.forEach(scope[itemList], function (d) {\r\n // //$log.log(d);\r\n d.checked = scope.selectAllNewJob;\r\n });\r\n }\r\n }\r\n\r\n vm.implementSelectItemsNewJob('ticketList', this);\r\n\r\n vm.implementSelectItemsFV = function (itemList, scope) {\r\n scope.selectAllFV = false;\r\n scope.showMinusFV = false;\r\n scope.selectCountFV = 0;\r\n scope.selectRowFV = function (i) {\r\n //$log.log(\"selectRow called\");\r\n scope.selectCountFV = 0;\r\n scope.showMinusFV = false;\r\n scope.selectAllFV = false;\r\n angular.forEach(scope[itemList], function (d) {\r\n // //$log.log(d);\r\n if (d.checked) {\r\n scope.showMinusFV = true;\r\n scope.selectCountFV++;\r\n }\r\n });\r\n }\r\n scope.applyAllFVSelect = function () {\r\n //$log.log(\"applyAllSelect called\");\r\n angular.forEach(scope[itemList], function (d) {\r\n // //$log.log(d);\r\n d.checked = scope.selectAllFV;\r\n scope.selectCountFV++;\r\n });\r\n }\r\n }\r\n vm.implementSelectItemsFV('FreelancerVendorUsers', this);\r\n\r\n vm.implementSelectItemsFL = function (itemList, scope) {\r\n scope.selectAllFL = false;\r\n scope.showMinusFL = false;\r\n scope.selectCountFL = 0;\r\n scope.selectRowFL = function (i) {\r\n //$log.log(\"selectRow called\");\r\n scope.selectCountFL = 0;\r\n scope.showMinusFL = false;\r\n scope.selectAllFL = false;\r\n angular.forEach(vm.UserByFiltersList, function (d) {\r\n // //$log.log(d);\r\n if (d.checked) {\r\n scope.showMinusFL = true;\r\n scope.selectCountFL++;\r\n }\r\n });\r\n }\r\n scope.applyAllFLSelect = function () {\r\n //$log.log(\"applyAllSelect called\");\r\n angular.forEach(scope[itemList], function (d) {\r\n // //$log.log(d);\r\n d.checked = scope.selectAllFL;\r\n scope.selectCountFL++;\r\n });\r\n }\r\n }\r\n vm.implementSelectItemsFL('freelancerUsers', this);\r\n\r\n vm.statusList=[];\r\n vm.UserTypeList = [\"Field Engineer\", \"Freelancer\", \"Vendor\", \"Freelancer Vendor\",\"Supervisor\", \"Private\"];\r\n vm.getJobAllStatus = function () {\r\n JobTicketViewService.getJobAllStatus(loggedinUser, token, function (data) { \r\n angular.forEach(data, function (status) {\r\n if (status.StatusName == 'On Hold') {\r\n status.StatusName = 'Hold'; \r\n }\r\n vm.statusList.push(status.StatusName); \r\n }) \r\n }, vm.showFailure);\r\n }\r\n vm.getJobAllStatus();\r\n $scope.slideF = function(){ \r\n document.getElementById(\"myNav\").style.height = \"86%\";\r\n }\r\n $scope.slideSendAndRecieveBid = function(){ \r\n document.getElementById(\"SendAndRecieveBid\").style.width = \"25%\";\r\n }\r\n vm.closeSendAndRecieveBid = function(){ \r\n document.getElementById(\"SendAndRecieveBid\").style.width = \"0%\";\r\n }\r\n vm.closeSlide = function(){ \r\n document.getElementById(\"myNav\").style.height = \"0%\";\r\n }\r\n vm.FilterArray = function () { \r\n itemNames = '';\r\n itemValues = '';\r\n templateItemNames = '';\r\n templateItemValues = '';\r\n if (vm.skillsSearch != \"\") { \r\n itemNames = 'Skill';\r\n itemValues = vm.skillsSearch.join(\"|\"); \r\n } \r\n if (vm.locationSearch != \"\")\r\n {\r\n if(itemNames.length > 0 && itemValues.length > 0){\r\n itemNames = itemNames + ',Circle';\r\n itemValues = itemValues + ',' + vm.locationSearch.join(\"|\");\r\n }else{\r\n itemNames = 'Circle';\r\n itemValues = vm.locationSearch.join(\"|\");\r\n } \r\n }\r\n // if (vm.locationSearch != \"\")\r\n // { \r\n // itemNames = 'Circle';\r\n // itemValues = vm.locationSearch;\r\n // } \r\n if (vm.searchStatusText != \"\" && vm.searchStatusText != \"All\" && vm.searchStatusText != null){\r\n if(itemNames.length > 0 && itemValues.length > 0){\r\n itemNames = itemNames + ',Status';\r\n itemValues = itemValues + ',' + vm.searchStatusText;\r\n }else{\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText;\r\n } \r\n }\r\n \r\n \r\n textItemNames = '';\r\n textItemValues = ''; \r\n if(vm.searchText.length>0)\r\n {\r\n itemNames = 'Search';\r\n itemValues = vm.searchText;\r\n templateItemNames = '';\r\n templateItemValues = ''; \r\n textItemNames = '';\r\n textItemValues = '';\r\n } \r\n }\r\n\r\n vm.UsersFilterArray = function()\r\n {\r\n uitemNames=\"\";\r\n uitemValues=\"\";\r\n if (vm.skillsSearch != \"\") { \r\n uitemNames = 'SkillSet';\r\n uitemValues = vm.skillsSearch.join(\"|\"); \r\n } \r\n if (vm.locationSearch != \"\")\r\n {\r\n if(uitemNames.length > 0 && uitemValues.length > 0){\r\n uitemNames = uitemNames + ',Locations';\r\n uitemValues = uitemValues + ',' + vm.locationSearch.join(\"|\");\r\n }else{\r\n uitemNames = 'Locations';\r\n uitemValues = vm.locationSearch.join(\"|\");\r\n } \r\n }\r\n if(vm.UsersType==\"Field Engineer\")\r\n {\r\n if(uitemNames.length > 0 && uitemValues.length > 0){\r\n uitemNames = uitemNames + ',Role';\r\n uitemValues = uitemValues + ',' + \"Field Engineer\";\r\n }else{\r\n uitemNames = 'Role';\r\n uitemValues = \"Field Engineer\";\r\n } \r\n vm.uType=\"Fixed\";\r\n }\r\n if(vm.UsersType==\"Freelancer\")\r\n {\r\n if(uitemNames.length > 0 && uitemValues.length > 0){\r\n uitemNames = uitemNames + ',Role';\r\n uitemValues = uitemValues + ',' + \"Field Engineer\";\r\n }else{\r\n uitemNames = 'Role';\r\n uitemValues = \"Field Engineer\";\r\n } \r\n vm.uType=\"Freelancer\";\r\n }\r\n if(vm.UsersType==\"Vendor\")\r\n {\r\n if(uitemNames.length > 0 && uitemValues.length > 0){\r\n uitemNames = uitemNames + ',Role';\r\n uitemValues = uitemValues + ',' + \"Vendor Manager\";\r\n }else{\r\n uitemNames = 'Role';\r\n uitemValues = \"Vendor Manager\";\r\n } \r\n vm.uType=\"Fixed\";\r\n }\r\n if(vm.UsersType==\"Freelancer Vendor\")\r\n {\r\n if(uitemNames.length > 0 && uitemValues.length > 0){\r\n uitemNames = uitemNames + ',Role';\r\n uitemValues = uitemValues + ',' + \"Vendor Manager\";\r\n }else{\r\n uitemNames = 'Role';\r\n uitemValues = \"Vendor Manager\";\r\n } \r\n vm.uType=\"Freelancer\";\r\n }\r\n if(vm.UsersType==\"Private\")\r\n {\r\n if(uitemNames.length > 0 && uitemValues.length > 0){\r\n uitemNames = uitemNames + ',Role';\r\n uitemValues = uitemValues + ',' + \"Private\";\r\n }else{\r\n uitemNames = 'Role';\r\n uitemValues = \"Private\";\r\n } \r\n vm.uType=\"Private\";\r\n }\r\n if(vm.UsersType==\"Supervisor\")\r\n {\r\n if(uitemNames.length > 0 && uitemValues.length > 0){\r\n uitemNames = uitemNames + ',Role';\r\n uitemValues = uitemValues + ',' + \"Supervisor\";\r\n }else{\r\n uitemNames = 'Role';\r\n uitemValues = \"Supervisor\";\r\n } \r\n vm.uType=\"Fixed\";\r\n } \r\n if(vm.searchUsersText.length>0)\r\n {\r\n if(uitemNames.length > 0 && uitemValues.length > 0){\r\n uitemNames = uitemNames + ',Search';\r\n uitemValues = uitemValues + ',' + vm.searchUsersText;\r\n }else{\r\n uitemNames = 'Search';\r\n uitemValues = vm.searchUsersText;\r\n } \r\n } \r\n }\r\n $scope.totalTableUsers = 0;\r\n $scope.usersTablePerPage = 10; // this should match however many results your API puts on one page\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n \r\n // $scope.UserTablepagination.current= $localStorage.TicketFilterModel?$localStorage.TicketFilterModel.PageIndex:1;\r\n PageIndex=$scope.UserTablepagination.current;\r\n $scope.UserTablepageChanged = function(newPage) { \r\n PageIndex = newPage;\r\n vm.FilterArray(); \r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,newPage,PageSize);\r\n };\r\n\r\n $scope.totalUsers = 0;\r\n $scope.usersPerPage = 10; // this should match however many results your API puts on one page\r\n $scope.Userpagination = {\r\n current: 1\r\n };\r\n \r\n // $scope.UserTablepagination.current= $localStorage.TicketFilterModel?$localStorage.TicketFilterModel.PageIndex:1;\r\n uPageIndex=$scope.Userpagination.current;\r\n $scope.UserpageChanged = function(newPage) { \r\n uPageIndex = newPage;\r\n vm.UsersFilterArray(); \r\n vm.GetUserByFiltersWithDynaPage(loggedinUser, token, uitemNames, uitemValues, vm.uType, uPageIndex, uPageSize);\r\n\r\n };\r\n\r\n //vm.ticketList=[];\r\n \r\n vm.getAllJobTickets = function(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize) { \r\n var templateCols=\"\";\r\n JobTicketViewService.getAllJobTicketsCopy(loggedinUser, startDate, endDate, token, itemNames, itemValues,textItemNames, textItemValues, templateCols, templateItemNames, templateItemValues,vm.DateField,PageIndex,PageSize).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.ticketList = resp.data.LightTicketModels;\r\n $scope.totalTableUsers = resp.data.Count;\r\n \r\n\r\n vm.enableFilters = true;\r\n vm.actionFlag = false;\r\n $localStorage.TList = vm.ticketList;\r\n $localStorage.AllJobType = vm.searchJobTypeText;\r\n $localStorage.AllJobStatus = vm.searchStatusText;\r\n angular.forEach(vm.ticketList, function (t) {\r\n t.StartTime = moment(t.StartTime, \"YYYY-MM-DDThh:mm:ssZ\");\r\n t.StartTimeD = t.StartTime.format(\"YYYY-MM-DDThh:mm\");\r\n\r\n var today = moment();\r\n var date2 = t.CreationDate;\r\n var duration = today.diff(date2, 'days');\r\n t.Age = duration;\r\n })\r\n \r\n if(vm.ticketList.length < 10)\r\n vm.ticketListLength = $scope.totalTableUsers;\r\n else\r\n vm.ticketListLength = PageIndex * 10;\r\n if(PageIndex==1)\r\n vm.pageindexCount = 1;\r\n else\r\n vm.pageindexCount = (((PageIndex-1) * 10) + 1);\r\n }\r\n\r\n }, function () { \r\n });\r\n \r\n }\r\n vm.UserByFiltersList=[];\r\n vm.GetUserByFiltersWithDynaPage = function(loggedinUser, token, uitemNames, uitemValues, userType, uPageIndex, uPageSize) { \r\n ManualAssignationService.GetUserByFiltersWithDynaPage(loggedinUser, token, uitemNames, uitemValues, userType, vm.DateField, uPageIndex, uPageSize).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.UserByFiltersList = resp.data.ListUserResponseModel;\r\n $scope.totalUsers = resp.data.Count;\r\n preprocessData(vm.UserByFiltersList);\r\n if(vm.UserByFiltersList.length < 10)\r\n vm.userListLength = $scope.totalUsers;\r\n else\r\n vm.userListLength = uPageIndex * 10;\r\n if(uPageIndex==1)\r\n vm.upageindexCount = 1;\r\n else\r\n vm.upageindexCount = (((uPageIndex-1) * 10) + 1);\r\n\r\n for(var i=0;ilTfgitp').withPaginationType(\r\n 'full_numbers').withOption('lengthChange', false)\r\n .withOption('order', [1, 'desc']);\r\n\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n //DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n //DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n //DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(7).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(8).notSortable()\r\n ];\r\n\r\n/*\r\n vm.buildTable = function (data) {\r\n vm.dtColumns = [\r\n DTColumnBuilder.newColumn(null).withTitle('')\r\n .notSortable()\r\n .withClass('select-checkbox')\r\n // Need to define the mRender function, otherwise we get a [Object Object]\r\n .renderWith(function() {return '';}),\r\n\r\n DTColumnBuilder.newColumn('UserId').withTitle('ID'),\r\n DTColumnBuilder.newColumn('UserName').withTitle('User Name'),\r\n DTColumnBuilder.newColumn('LeaveDate').withTitle('Leave Date'),\r\n DTColumnBuilder.newColumn('ApplyDate').withTitle('Apply Date'),\r\n DTColumnBuilder.newColumn('Status').withTitle('Status'),\r\n DTColumnBuilder.newColumn('ApproveDate').withTitle('ApproveDate'),\r\n DTColumnBuilder.newColumn('CancelDate').withTitle('CancelDate').notVisible(),\r\n DTColumnBuilder.newColumn('RejectDate').withTitle('RejectDate').notVisible(),\r\n DTColumnBuilder.newColumn('LeaveId').withTitle('LeaveId').notVisible()\r\n ];\r\n vm.dtOptions = DTOptionsBuilder.fromFnPromise(function() { \r\n var defer = $q.defer();\r\n defer.resolve(data);\r\n return defer.promise; \r\n }).withDOM(\r\n '<\"html5buttons\"B>lTfgitp').withPaginationType(\r\n 'full_numbers').withOption('lengthChange', false)\r\n .withButtons([])\r\n .withOption('order', [])\r\n .withSelect({\r\n style: 'os',\r\n selector: 'td:first-child'}); \r\n }\r\n\r\n\r\n \r\n\r\n*/\r\n\r\n\r\n \r\n }\r\n});\nangular.module('inspinia').service('LeaderBoardService', function (ApiURL,SchedulingAPI, $window, $http) {\r\n\r\n \r\n\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('LeaderBoardController', function (inventoryService, $resource, toaster, $filter, $compile, $q, $state, $localStorage, $scope, DTOptionsBuilder, DTColumnBuilder, $uibModal, $timeout) {\r\n\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\t\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\t\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\t\tinventoryService.setShowSuccess($scope.$parent.$parent.main.showSuccess);\r\n\t\tinventoryService.setShowFailure($scope.$parent.$parent.main.showFailure);\r\n\t\tvm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n\t\tvm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\t\t$scope.$parent.$parent.main.implementSelectItems('scheduleExceptionListNew', this);\r\n\t\t// $scope.$parent.$parent.main.implementSelectItems('InVoiceHistoryData', this);\r\n\t\t$scope.isNavCollapsed = true;\r\n\t\t$scope.isCollapsed = true;\r\n\t\t$scope.isCollapsedHorizontal = false;\r\n\t\tvm.dtInstance = {};\r\n\t\tvm.selectSingle = false;\r\n\t\tvm.disableExceptionButton = false;\r\n\t\tvm.ticketPageListCount = 10;\r\n\t\tvm.pageListCounts = [10, 20, 30, 50];\r\n\t\tvm.scheduleExceptionListNewLength=0;\r\n\t\tvar PageIndex = 1;\r\n\t\tvar PageSize = 10; \r\n\t\tvm.SearchByAccountName = '';\r\n\t\tvm.ExceptionType = '';\r\n\t\tvm.exceptionState = '';\r\n\t\tvm.showAllAccounts = [];\r\n\t\tvm.UserId='';\r\n\r\n\t\t$scope.dates = { startDate: moment().subtract(0, 'days'), endDate: moment() };\r\n\t\tvar startDate = moment().subtract(0, 'days').format(\"YYYY-MM-DD\");\r\n\t\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\r\n\t\t$scope.ranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment()]\r\n\t\t};\r\n\r\n\t\t$scope.dateRangeChange = function (ev, picker) {\r\n\t\t\t// console.log(ev, picker);\r\n\t\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\t\tvm.getAllJobForExceptionList();\r\n\r\n\r\n\t\t};\r\n\r\n\t\t\r\n\t\t\r\n\r\n\r\n\t}\r\n});\nangular.module('inspinia').service('LoadBalancerService', function (ApiURL, DashboardURL, $window, $http) {\r\n\r\n // this.GetKPITargetsForMonth = function (month, year, loggedInUserId, token) {\r\n // var url = DashboardURL + '/api/AccountKPI/GetKPITargetsAsDepartmentTypeForMonth?TargetMonth=' + month + '&TargetYear=' + year;\r\n // return $http.get(url, {\r\n // headers: {\r\n // 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedInUserId\r\n // }\r\n // });\r\n // }\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('LoadBalancerController', function (LoadBalancerService, ManualAssignationJobService, $resource, UIURL, $log, $q, $state, $localStorage, $scope, ReferService, $uibModal, $timeout) {\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\t\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\t\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\t\tvm.disableExceptionButton = false;\r\n\t\t$scope.isCollapsed = true;\r\n\r\n\t\tvm.GetKPITargetsForMonth = function () {\r\n\t\t\tLoadBalancerService.GetKPITargetsForMonth($scope.selectedMonth, $scope.selectedYear, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200 && resp) {\r\n\t\t\t\t\tvm.AllKPIData = resp.data.accountVerticalKPITargets;\r\n\t\t\t\t\tvm.AllRestKPIData = resp.data;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t\tvm.loadbalancer = function () {\r\n\t\t\tvm.loadBalancer = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'loadbalancer.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeloadbalancer = function() {\r\n\t\t\tvm.loadBalancer.close();\r\n\t\t}\r\n\t\tvm.OpenUploadKPIModel = function () {\r\n\t\t\tvm.ReadyToRaiseModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'ReadyToRaiseModal.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tsize: 'md',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeReadyToRaiseModal = function () {\r\n\t\t\tvm.showPassed = false;\r\n\t\t\tvm.showErrors = false;\r\n\t\t\tvm.errorList = [];\r\n\t\t\tvm.ReadyToRaiseModal.close();\r\n\t\t}\r\n\r\n\t\tfunction getAllStates() {\r\n\t\t\tvar defered = $q.defer();\r\n\t\t\tReferService.getAllState(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tdefered.resolve(resp);\r\n\t\t\t}, function (error) {\r\n\t\t\t\tdefered.reject(error);\r\n\t\t\t});\r\n\t\t\treturn defered.promise;\r\n\t\t}\r\n\r\n\t\tvar allStatePromise = getAllStates(loggedinUser);\r\n\t\tallStatePromise.then(function (resp) {\r\n\t\t\tvm.StateList = resp.data;\r\n\r\n\t\t});\r\n\t\tfunction getallCities(state) {\r\n\t\t\tReferService.getAllCity(loggedinUser, state, token).then(function (resp) {\r\n\t\t\t\tvm.CityList = resp.data;\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.selectedState = function (state) {\r\n\t\t\tgetallCities(state);\r\n\t\t}\r\n\t\tvm.getAllAccounts = function () {\r\n\t\t\tManualAssignationJobService.getAllAccounts(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\t\tvm.HDAllAccounts = resp.data;\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}, function () {\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.getAllAccounts();\r\n\r\n\t}\r\n});\nangular.module('inspinia').service('InvoicePaymentService', function (ApiURL,PublicApiURL, $window, $http) {\r\n\r\n var vm = this;\r\n vm.setShowSuccess = function (success) {\r\n vm.showSuccess = success;\r\n }\r\n\r\n vm.setShowFailure = function (failure) {\r\n vm.showFailure = failure;\r\n }\r\n // https://perf.mymobiforce.com/coreapi/api/TicketPayment/F00000000000/GetInvoicesByStatus?Status=new\r\n this.GetAllInvoicePayment = function (loggedinUser, status, token) {\r\n var url = ApiURL + '/api/TicketPayment/' + loggedinUser + '/GetInvoicesByStatus?Status=' + status;\r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId':loggedinUser }\r\n });\r\n }\r\n\r\n this.getInvoiceHistory = function (loggedinUser, InvoiceNo, token) {\r\n // https://perf.mymobiforce.com/coreapi/api/TicketPayment/F00000000000/IN_000000001/GetTicketPaymentsByInvoiceNo\r\n var url = ApiURL + \"/api/TicketPayment/\" + loggedinUser + \"/\" + InvoiceNo + \"/GetTicketPaymentsByInvoiceNo\"\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n // https://perf.mymobiforce.com/coreapi/api/TicketPayment/PayInvoice?ReqUserId=F00000000000\r\n this.PutInvoiceTicketPayments = function (loggedinUser, data, success, token) {\r\n var url = ApiURL + '/api/TicketPayment/PayInvoice?ReqUserId=' + loggedinUser\r\n $http.put(url, data, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':loggedinUser}\r\n }).then(function (res) {\r\n vm.showSuccess(\"Payment Information\", \"Payment Completed Successfully\");\r\n success(res);\r\n }, function () {\r\n vm.showFailure(\"Payment Information\", \"Unable to make payment\");\r\n })\r\n }\r\n // https://perf.mymobiforce.com/coreapi/api/TicketPayment/PayCompleteInvoice?ReqUserId=F00000000000&InvoiceNo=IN_000000001\r\n this.PutSingleInvoicePayments = function (loggedinUser, InvoiceNo, success, token) {\r\n var url = ApiURL + '/api/TicketPayment/PayCompleteInvoice?ReqUserId=' + loggedinUser + '&InvoiceNo=' + InvoiceNo\r\n $http.put(url, null, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token }\r\n }).then(function (res) {\r\n vm.showSuccess(\"Payment Information\", \"Payment Completed Successfully\");\r\n success(res);\r\n }, function () {\r\n vm.showFailure(\"Payment Information\", \"Unable to make payment\");\r\n })\r\n }\r\n\r\n // https://perf.mymobiforce.com/coreapi/api/TicketPayment/PayMultiInvoices?ReqUserId=F00000000000&InvoiceNos=indifnd\r\n this.PutMultiSelectedInvoicePayments = function (loggedinUser, InvoiceNos, success, token) {\r\n var url = ApiURL + '/api/TicketPayment/PayMultiInvoices?ReqUserId=' + loggedinUser + '&InvoiceNos=' + InvoiceNos\r\n $http.put(url, null, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':loggedinUser }\r\n }).then(function (res) {\r\n vm.showSuccess(\"Payment Information\", \"Payment Completed Successfully\");\r\n success(res);\r\n }, function () {\r\n vm.showFailure(\"Payment Information\", \"Unable to make payment\");\r\n })\r\n }\r\n\r\n// https://perf.mymobiforce.com/publicapi/api/Report/DownloadInvoices?reqUserId=F00000000000&InvoicesNo=IN_000000002\r\nthis.downloadInvoicebyInvoiceNo = function (loggedinUser, InvoiceNos, success, token) {\r\n $window.location.href = PublicApiURL + '/api/Report/DownloadInvoices?reqUserId=' + loggedinUser + '&InvoicesNo=' + InvoiceNos\r\n console.log($window.location.href);\r\n // $http.get(url,{\r\n // headers: { 'Content-Type': 'application/json', 'Token': token }\r\n // }).then(function (res) {\r\n // vm.showSuccess(\"Download Information\", \"Download Completed Successfully\");\r\n // success(res);\r\n // }, function () {\r\n // vm.showFailure(\"Payment Information\", \"Unable to Download Invoices\");\r\n // })\r\n}\r\n\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('InvoicePaymentController', function (InvoicePaymentService, toaster, $filter, $compile, $q, $state, $localStorage, $scope, DTOptionsBuilder, DTColumnBuilder, $uibModal, $timeout) {\r\n\r\n\tvar vm = this;\r\n\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\t\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\t\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\t\tInvoicePaymentService.setShowSuccess($scope.$parent.$parent.main.showSuccess);\r\n\t\tInvoicePaymentService.setShowFailure($scope.$parent.$parent.main.showFailure);\r\n\t\tvm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n\t\t$scope.$parent.$parent.main.implementSelectItems('InVoiceHistoryData', this);\r\n\t\t$scope.isNavCollapsed = true;\r\n\t\t$scope.isCollapsed = true;\r\n\t\t$scope.isCollapsedHorizontal = false;\r\n\t\tvm.dtInstance = {};\r\n\t\tvm.status = 'New';\r\n\t\t// Get Invoice Payment List\r\n\t\t// vm.getInvoicePaymentList = function(loggedInUserId, status){\r\n\t\t// \tInvoicePaymentService.GetAllInvoicePayment(loggedInUserId,status,token).then(function(resp){\r\n\t\t// \t\tif(resp.data.length > 0){\r\n\t\t// \t\t\tvm.invoicePaymentLists = resp.data; \r\n\t\t// \t\t}\r\n\t\t// \t})\r\n\t\t// }\r\n\t\t// vm.getInvoicePaymentList('F00000000000', vm.status);\r\n\t\tvm.selectedInvoice = '';\r\n\t\tvm.Invoice = {};\r\n\t\tvm.selected = {};\r\n\t\tvm.selectAll = false;\r\n\t\tvm.toggleAll = toggleAll;\r\n\t\tvm.toggleOne = toggleOne;\r\n\t\tvar titleHtml = '';\r\n\r\n\t\tvm.dtOptions = DTOptionsBuilder.fromFnPromise(function () {\r\n\t\t\tvar defer = $q.defer();\r\n\t\t\tInvoicePaymentService.GetAllInvoicePayment(loggedinUser, vm.status, token).then(function (resp) {\r\n\t\t\t\tvm.invoicePaymentList = resp.data;\r\n\t\t\t\t// console.log(vm.invoicePaymentList);\r\n\t\t\t\tdefer.resolve(vm.invoicePaymentList);\r\n\t\t\t});\r\n\r\n\t\t\treturn defer.promise;\r\n\t\t})\r\n\t\t\t.withDOM('<\"html5buttons\"B>lTfgitp')\r\n\t\t\t.withPaginationType('full_numbers')\r\n\t\t\t.withOption('order', [1, 'desc'])\r\n\t\t\t// .withOption('rowCallback', rowCallback)\r\n\t\t\t.withOption('createdRow', createdRow)\r\n\t\t\t.withOption('headerCallback', headerCallback)\r\n\t\t\t.withBootstrap();\r\n\r\n\t\tfunction createdRow(row, data, dataIndex) {\r\n\t\t\t// Recompiling so we can bind Angular directive to the DT\r\n\t\t\t$compile(angular.element(row).contents())($scope);\r\n\t\t}\r\n\t\tfunction headerCallback(header) {\r\n\t\t\tif (!vm.headerCompiled) {\r\n\t\t\t\t// Use this headerCompiled field to only compile header once\r\n\t\t\t\tvm.headerCompiled = true;\r\n\t\t\t\t$compile(angular.element(header).contents())($scope);\r\n\t\t\t}\r\n\t\t}\r\n\t\tfunction rowCallback(nRow, aData, iDisplayIndex, iDisplayIndexFull) {\r\n\t\t\t$('td', nRow).unbind('click');\r\n\t\t\t$('td', nRow).bind('click', function () {\r\n\t\t\t\t$scope.$apply(function () {\r\n\t\t\t\t\t// vm.ProfileData(aData.EnrollNo);\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t\treturn nRow;\r\n\t\t}\r\n\r\n\t\tvm.dtColumns = [\r\n\t\t\tDTColumnBuilder.newColumn(null).withTitle(titleHtml).renderWith(function (data, type, full, meta) {\r\n\t\t\t\tvm.selected[meta.row] = false;\r\n\t\t\t\treturn '';\r\n\t\t\t}).notSortable(),\r\n\t\t\tDTColumnBuilder.newColumn('InvoiceNo').withTitle('Invoice No').notSortable().renderWith(function (data) {\r\n\t\t\t\treturn '' + data + '';\r\n\t\t\t}),\r\n\t\t\tDTColumnBuilder.newColumn('UserName').withTitle('Technician Name').notSortable().renderWith(function (data) {\r\n\t\t\t\treturn '' + data + '';\r\n\t\t\t}),\r\n\t\t\tDTColumnBuilder.newColumn('CreatedOn').withTitle('Created Date').notSortable().renderWith(function (data) {\r\n\t\t\t\tvar dt = $filter('date')(new Date(data), \"dd/MM/yyyy\");\r\n return dt;\r\n\t\t\t}),\r\n\t\t\tDTColumnBuilder.newColumn('AmountPaid').withTitle('Disbursed Amount (Rs)').notSortable(),\r\n\t\t\tDTColumnBuilder.newColumn('AmountToBePaid').withTitle('Pending Amount (Rs)').notSortable(),\r\n\t\t\tDTColumnBuilder.newColumn('TotalAmount').withTitle('Total Amount (Rs)').notSortable(),\r\n\t\t\tDTColumnBuilder.newColumn('PaymentStatus').withTitle('Payment Status'),\r\n\t\t\tDTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data, type, full, meta) {\r\n\t\t\t\tvm.Invoice[meta.row] = data;\r\n\t\t\t\treturn ''\r\n\t\t\t\t\t// + ''\r\n\r\n\t\t\t})\r\n\r\n\t\t];\r\n\r\n\t\tfunction toggleAll(selectAll, selectedItems) {\r\n\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t\t\tselectedItems[id] = selectAll;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tfunction toggleOne(selectedItems) {\r\n\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t\t\tif (!selectedItems[id]) {\r\n\t\t\t\t\t\tvm.selectAll = false;\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvm.selectAll = true;\r\n\t\t}\r\n\r\n\t\tvm.PutInvoicePayments = function (Invoice) {\r\n\t\t\tInvoicePaymentService.PutSingleInvoicePayments(loggedinUser, Invoice.InvoiceNo, vm.createCallback(null, [function (data) {\r\n\t\t\t\t// $timeout(vm.GetUnPaidActiveUsers, 1000);\r\n\t\t\t\t\r\n\t\t\t}]), token);\r\n\r\n\t\t\tvm.reloadData();\r\n\t\t}\r\n\t\tvm.reloadData = reloadData;\r\n\t\tfunction reloadData() {\r\n\t\t\tvar resetPaging = true;\r\n\t\t\tvm.dtInstance.reloadData(callback, resetPaging);\r\n\t\t}\r\n\r\n\t\tfunction callback(json) {\r\n\t\t\tconsole.log(json);\r\n\t\t}\r\n\r\n\t\t// -----------------------------------------------------------------------------------\r\n\t\tvm.InvoiceHistory = function (invoiceNo) {\r\n\t\t\tvm.selectedInvoice = invoiceNo;\r\n\t\t\tInvoiceModel = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'Filter.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t\tcontroller: ModalInstanceCtrlHistory(invoiceNo.InvoiceNo),\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\treload: true\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.CloseInvoiceModal = function () {\r\n\t\t\tInvoiceModel.close();\r\n\t\t\tvm.reloadData();\r\n\t\t}\r\n\r\n\t\t// var ModalInstanceCtrlHistory = function (invoiceNo) {\r\n\t\t// \tInvoicePaymentService.getInvoiceHistory(loggedinUser, invoiceNo, token).then(function(resp){\r\n\t\t// \t\tvm.InVoiceHistoryData = resp.data;\r\n\t\t// \t});\t\r\n\t\t// }\r\n\r\n\t\tvm.selectedTicket = {};\r\n\t\tvm.selectAllTicket = false;\r\n\t\tvm.toggleAllTicket = toggleAllTicket;\r\n\t\tvm.toggleOneTicket = toggleOneTicket;\r\n\t\tvar titleHtmls = '';\r\n\t\tvar ModalInstanceCtrlHistory = function (invoiceNo) {\r\n\t\t\tvm.TicketdtOptions = DTOptionsBuilder.fromFnPromise(function () {\r\n\t\t\t\tvar defer = $q.defer();\r\n\t\t\t\tInvoicePaymentService.getInvoiceHistory(loggedinUser, invoiceNo, token).then(function (resp) {\r\n\t\t\t\t\tvm.InVoiceHistoryData = resp.data;\r\n\t\t\t\t\tconsole.log(vm.InVoiceHistoryData);\r\n\t\t\t\t\tdefer.resolve(vm.InVoiceHistoryData);\r\n\t\t\t\t})\r\n\r\n\t\t\t\treturn defer.promise;\r\n\t\t\t}).withDOM('<\"html5buttons\"B>lTfgitp').withPaginationType('full_numbers')\r\n\t\t\t\t.withOption('order', [1, 'desc']).withBootstrap()\r\n\t\t\t\t.withOption('createdRow', function (row, data, dataIndex) {\r\n\t\t\t\t\t// Recompiling so we can bind Angular directive to the DT\r\n\t\t\t\t\t$compile(angular.element(row).contents())($scope);\r\n\t\t\t\t})\r\n\t\t\t\t.withOption('headerCallback', function (header) {\r\n\t\t\t\t\tif (!vm.headerCompileds) {\r\n\t\t\t\t\t\t// Use this headerCompiled field to only compile header once\r\n\t\t\t\t\t\tvm.headerCompileds = true;\r\n\t\t\t\t\t\t$compile(angular.element(header).contents())($scope);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.TicketdtColumns = [\r\n\t\t\tDTColumnBuilder.newColumn(null).withTitle(titleHtmls).renderWith(function (data, type, full, meta) {\r\n\t\t\t\tvm.selectedTicket[meta.row] = false;\r\n\t\t\t\treturn '';\r\n\t\t\t}).notSortable(),\r\n\t\t\tDTColumnBuilder.newColumn('TicketId').withTitle('TicketId').renderWith(function (data) {\r\n\t\t\t\treturn '' + data + '';\r\n\t\t\t}),\r\n\t\t\tDTColumnBuilder.newColumn('AccountName').withTitle('Account Name').renderWith(function (data) {\r\n\t\t\t\treturn '' + data + '';\r\n\t\t\t}),\r\n\t\t\tDTColumnBuilder.newColumn('CustomerName').withTitle('Customer Name').renderWith(function (data) {\r\n\t\t\t\treturn '' + data + '';\r\n\t\t\t}),\r\n\t\t\tDTColumnBuilder.newColumn('ProjectName').withTitle('Project Name').renderWith(function (data) {\r\n\t\t\t\treturn '' + data + '';\r\n\t\t\t}),\r\n\t\t\tDTColumnBuilder.newColumn('AmountToBePaid').withTitle('AmountToBePaid'),\r\n\t\t\tDTColumnBuilder.newColumn('CreatedOn').withTitle('Ticket Date').renderWith(function(data){\r\n\t\t\t\tvar dt = $filter('date')(new Date(data), \"dd/MM/yyyy\");\r\n return dt;\r\n\t\t\t}),\r\n\r\n\t\t];\r\n\r\n\t\tfunction toggleAllTicket(selectAllTicket, selectedItems) {\r\n\r\n\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t\t\tselectedItems[id] = selectAllTicket;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tfunction toggleOneTicket(selectedItems) {\r\n\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t\t\tif (!selectedItems[id]) {\r\n\t\t\t\t\t\tvm.selectAllTicket = false;\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvm.selectAllTicket = true;\r\n\t\t}\r\n\r\n\t\tvm.PutInvoiceTicketPayments = function () {\r\n\r\n\t\t\tvar temp = '';\r\n\t\t\tvar objects = {\r\n\t\t\t\t\"InvoiceNo\": vm.selectedInvoice.InvoiceNo,\r\n\t\t\t\t\"PaymentRemark\": 'Yet to be Done'\r\n\t\t\t};\r\n\t\t\tvar temp = [];\r\n\t\t\tfor (var i = 0; i < vm.InVoiceHistoryData.length; i++) {\r\n\t\t\t\tif (vm.selectedTicket[i] == true) {\r\n\t\t\t\t\tvar TicketDetailsList =\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\"TicketId\": vm.InVoiceHistoryData[i].TicketId,\r\n\t\t\t\t\t\t\"AccountId\": vm.InVoiceHistoryData[i].AccountId\r\n\t\t\t\t\t};\r\n\t\t\t\t\ttemp.push(TicketDetailsList);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tobjects.TicketDetailsList = temp;\r\n\r\n\t\t\tInvoicePaymentService.PutInvoiceTicketPayments(loggedinUser, objects, vm.createCallback(null, [function (data) {\r\n\t\t\t\t// $timeout(vm.GetUnPaidActiveUsers, 1000);\r\n\t\t\t}]), token);\r\n\t\t\tvm.CloseInvoiceModal();\r\n\t\t}\r\n\r\n\t\tvm.PutMultiSelectedInvoicePayments = function () {\r\n\t\t\tvar InvoiceLists = '';\r\n\t\t\tfor (var i = 0; i < vm.invoicePaymentList.length; i++) {\r\n\t\t\t\tif (vm.selected[i] == true) {\r\n\t\t\t\t\tif (i == 0) {\r\n\t\t\t\t\t\tInvoiceLists = vm.invoicePaymentList[i].InvoiceNo;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tInvoiceLists = InvoiceLists + \",\" + vm.invoicePaymentList[i].InvoiceNo;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// console.log(InvoiceLists);\r\n\t\t\tInvoicePaymentService.PutMultiSelectedInvoicePayments(loggedinUser, InvoiceLists, vm.createCallback(null, [function (data) {\r\n\t\t\t\t// $timeout(vm.GetUnPaidActiveUsers, 1000);\r\n\t\t\t}]), token);\r\n\t\t\tvm.reloadData();\r\n\t\t\tvm.selectAll = false;\r\n\t\t}\r\n\r\n\t\tvm.downloadInvoice = function(){\r\n\r\n\t\t\tvar InvoiceNoList = '';\r\n\t\t\tfor(var i = 0; i< vm.invoicePaymentList.length; i++){\r\n\t\t\t\tif(vm.selected[i]==true){\r\n\t\t\t\t\tif(i==0){\r\n\t\t\t\t\t\tInvoiceNoList = vm.invoicePaymentList[i].InvoiceNo;\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tInvoiceNoList = InvoiceNoList + \",\" + vm.invoicePaymentList[i].InvoiceNo;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tconsole.log(InvoiceNoList);\r\n\t\t\tInvoicePaymentService.downloadInvoicebyInvoiceNo(loggedinUser,InvoiceNoList, vm.createCallback(null, [function(data){}]),token);\r\n\t\t\tvm.reloadData();\r\n\t\t\tvm.selectAll = false;\r\n\t\t}\r\n\r\n\r\n\t}\r\n});\nangular.module('inspinia').service('KPIconfigurationService', function (ApiURL, DashboardURL, $window, $http) {\r\n\r\n this.GetKPITargetsForMonth = function (month, year, loggedInUserId, token) {\r\n var url = DashboardURL + '/api/AccountKPI/GetKPITargetsAsDepartmentTypeForMonth?TargetMonth=' + month + '&TargetYear=' + year;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('KPIconfigurationController', function (KPIconfigurationService, $resource, UIURL, $log, toaster, $filter, $compile, $q, $state, $localStorage, $scope, DTOptionsBuilder, DTColumnBuilder, $uibModal, $timeout) {\r\n\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\t\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\t\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\t\tvm.dtInstance = {};\r\n\t\tvm.selectSingle = false;\r\n\t\tvm.disableExceptionButton = false;\r\n\t\t$scope.months = [\r\n\t\t\t'January', 'February', 'March', 'April',\r\n\t\t\t'May', 'June', 'July', 'August',\r\n\t\t\t'September', 'October', 'November', 'December'\r\n\t\t];\r\n\r\n\t\tvar currentYear = new Date().getFullYear();\r\n\t\tvar startYear = 2017;\r\n\r\n\t\t$scope.years = [];\r\n\t\tfor (var i = currentYear; i >= startYear; i--) {\r\n\t\t\t$scope.years.push(i);\r\n\t\t}\r\n\r\n\t\tvar currentDate = new Date();\r\n\t\t$scope.selectedMonth = $scope.months[currentDate.getMonth()];\r\n\t\t$scope.selectedYear = currentYear;\r\n\r\n\t\tvm.GetKPITargetsForMonth = function () {\r\n\t\t\tKPIconfigurationService.GetKPITargetsForMonth($scope.selectedMonth, $scope.selectedYear, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200 && resp) {\r\n\t\t\t\t\tvm.AllKPIData = resp.data.accountVerticalKPITargets;\r\n\t\t\t\t\tvm.AllRestKPIData = resp.data;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\t$scope.serialNumber = 1;\r\n\r\n\t\t$scope.updateDate = function () {\r\n\t\t\tif ($scope.selectedYear === currentYear) {\r\n\t\t\t\t$scope.months = $scope.months.slice(0, currentDate.getMonth() + 1);\r\n\t\t\t\tif ($scope.months.indexOf($scope.selectedMonth) === -1) {\r\n\t\t\t\t\t$scope.selectedMonth = $scope.months[0];\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\t$scope.months = [\r\n\t\t\t\t\t'January', 'February', 'March', 'April',\r\n\t\t\t\t\t'May', 'June', 'July', 'August',\r\n\t\t\t\t\t'September', 'October', 'November', 'December'\r\n\t\t\t\t];\r\n\t\t\t\t$scope.selectedMonth = $scope.months[0];\r\n\t\t\t}\r\n\t\t\tvm.GetKPITargetsForMonth();\r\n\t\t};\r\n\r\n\t\t$scope.updateDate();\r\n\r\n\t\tvm.dzOptions = {\r\n\t\t\tparamName: 'photo',\r\n\t\t\tmaxFilesize: '100',\r\n\t\t\turl: '/',\r\n\t\t\tacceptedFiles: '.xlsx, .xls',\r\n\t\t\tdictDefaultMessage: 'Click to add or drop files',\r\n\t\t\tdictRemoveFile: 'Remove'\r\n\t\t};\r\n\r\n\t\tvm.OpenUploadKPIModel = function () {\r\n\t\t\tvm.ReadyToRaiseModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'ReadyToRaiseModal.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tsize: 'md',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeReadyToRaiseModal = function () {\r\n\t\t\tvm.showPassed = false;\r\n\t\t\tvm.showErrors = false;\r\n\t\t\tvm.errorList = [];\r\n\t\t\tvm.ReadyToRaiseModal.close();\r\n\t\t}\r\n\t\tvm.scrollDwn = function () {\r\n\t\t\t$(\"html, body\").animate({ scrollTop: $(document).height() - $(window).height() }, 900);\r\n\t\t}\r\n\t\tvm.dzCallbacks = {\r\n\t\t\t'addedfile': function (file) {\r\n\t\t\t\tvm.showErrors = false;\r\n\t\t\t\tvm.errorList = [];\r\n\t\t\t\tvm.disableUploadButton = true;\r\n\t\t\t\tvm.InvoiceList = [];\r\n\r\n\t\t\t\t$(\"#dropzone1 .dz-progress .dz-upload\").hide();\r\n\t\t\t\t$(\".bulkupload-progress\").width(0);\r\n\t\t\t\t$(\".ajax-loader\").hide();\r\n\t\t\t\tvm.progressbar.reset();\r\n\t\t\t\tvm.progressbar.start();\r\n\t\t\t\tvm.showPassed = false;\r\n\t\t\t\tvm.canceler = $q.defer();\r\n\t\t\t\tvm.successTitle = \"\";\r\n\t\t\t\tvm.successMsg = \"\";\r\n\t\t\t\tvm.noOfRecords = 0;\r\n\r\n\t\t\t\tvar dropzoneChildren = $(\"#dropzone1\").children();\r\n\t\t\t\t$(\"#dropzone1\").empty();\r\n\t\t\t\t$(\"#dropzone1\").append(dropzoneChildren[0]);\r\n\t\t\t\t$(\"#dropzone1\").append(dropzoneChildren[dropzoneChildren.length - 1]);\r\n\r\n\t\t\t\tvm.loaderFlag = true;\r\n\t\t\t\tvm.hideLoader();\r\n\t\t\t\tvm.tickedfile = file;\r\n\t\t\t\tvar fd = new FormData();\r\n\t\t\t\tfd.append('file', file);\r\n\t\t\t\t$http.post(ApiURL + '/api/BulkUpload/MediaUpload?reqUserId=' + loggedInUserId + '&action=Create', fd, {\r\n\t\t\t\t\ttransformRequest: angular.identity,\r\n\t\t\t\t\theaders: { 'Content-Type': undefined, 'Token': token, 'UserId': loggedInUserId },\r\n\t\t\t\t\ttimeout: vm.canceler.promise\r\n\t\t\t\t})\r\n\t\t\t\t\t.success(function (data) {\r\n\t\t\t\t\t\t$(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n\t\t\t\t\t\tif (vm.bulkuploadType == 'Ticket') {\r\n\t\t\t\t\t\t\tvm.InvoiceList = data.BulkInvoiceGenerateModel;\r\n\t\t\t\t\t\t\tvm.noOfRecords = data.BulkInvoiceGenerateModel ? data.BulkInvoiceGenerateModel.length : 0;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t$(\"#dropzone1>div:last-child\").removeClass(\"dz-error\").addClass(\"dz-success\");\r\n\t\t\t\t\t\tif (data.Errors.length > 0) {\r\n\t\t\t\t\t\t\tvm.dtColumnDefs = [\r\n\t\t\t\t\t\t\t\tDTColumnDefBuilder.newColumnDef(0).notSortable()\r\n\t\t\t\t\t\t\t];\r\n\t\t\t\t\t\t\tangular.forEach(data.Errors, function (v, k) {\r\n\r\n\t\t\t\t\t\t\t\tif (v.ItemErrors.length > 0) {\r\n\t\t\t\t\t\t\t\t\tvar e1 = {};\r\n\t\t\t\t\t\t\t\t\tangular.forEach(v.ItemErrors, function (v1, k1) {\r\n\t\t\t\t\t\t\t\t\t\te1.message = e1.message != undefined && e1.message != \"undefined\" && e1.message.length > 0 ? e1.message + \",\" + v1.Message : v1.Message;\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tif (v.Row > 0 && data.BulkInvoiceGenerateModel && data.BulkInvoiceGenerateModel.length > 0 && data.BulkInvoiceGenerateModel.length >= v.Row) {\r\n\t\t\t\t\t\t\t\t\t\te1.data = data.BulkInvoiceGenerateModel[v.Row - 1];\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tvm.errorList.push(e1);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t\tvm.showPassed = true;\r\n\t\t\t\t\t\t\tvm.disableUploadButton = true;\r\n\t\t\t\t\t\t\tvm.successTitle = \"Invalid records!\";\r\n\t\t\t\t\t\t\tvm.successMsg = \"There are \" + vm.errorList.length + \" errors. To see them click here\";\r\n\t\t\t\t\t\t\tvm.noMsg = [];\r\n\t\t\t\t\t\t\tvm.showErrors = true;\r\n\t\t\t\t\t\t\t$(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\t\t\t\t} else if (data.ErrorCode == 103) {\r\n\t\t\t\t\t\t\tvm.showPassed = true;\r\n\t\t\t\t\t\t\tvm.disableUploadButton = true;\r\n\t\t\t\t\t\t\tvm.successTitle = \"Missing columns in excel file\";\r\n\t\t\t\t\t\t\tvm.successMsg = \"Following columns are missing in excel file. Please add them and re-upload file\";\r\n\t\t\t\t\t\t\tvm.noMsg = [];\r\n\t\t\t\t\t\t\tangular.forEach(data.MissingColumns, function (k, v) {\r\n\t\t\t\t\t\t\t\tvm.noMsg.push(k);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t$(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\t\t\t\t} else if (data.Message && data.Message.length > 0) {\r\n\r\n\t\t\t\t\t\t\tvm.showPassed = true;\r\n\t\t\t\t\t\t\tvm.disableUploadButton = true;\r\n\t\t\t\t\t\t\tvm.successTitle = \"Validation failed\";\r\n\t\t\t\t\t\t\tvm.successMsg = data.Message\r\n\t\t\t\t\t\t\tvm.noMsg = [];\r\n\t\t\t\t\t\t\tangular.forEach(data.MissingColumns, function (k, v) {\r\n\t\t\t\t\t\t\t\tvm.noMsg.push(k);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t$(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tvm.showPassed = true;\r\n\t\t\t\t\t\t\tvm.disableUploadButton = false;\r\n\t\t\t\t\t\t\tvm.successTitle = \"File Validated\";\r\n\t\t\t\t\t\t\tvm.successMsg = vm.bulkuploadType.charAt(0).toUpperCase() + vm.bulkuploadType.slice(1) + (vm.noOfRecords > 1 ? \"s\" : \"\") + \" are validated successfully. Total \" + vm.noOfRecords + \" \" + vm.bulkuploadType + (vm.noOfRecords > 1 ? \"s\" : \"\") + \" found.\";\r\n\t\t\t\t\t\t\tvm.noMsg = [];\r\n\t\t\t\t\t\t\t$(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t$(\"table th:first-child\").removeClass(\"sorting_asc\");\r\n\t\t\t\t\t\tvm.progressbar.complete();\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.error(function (errorMessage) {\r\n\t\t\t\t\t\t$(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n\t\t\t\t\t\tvm.progressbar.complete();\r\n\t\t\t\t\t\tvm.successTitle = \"Validation of records failed\";\r\n\t\t\t\t\t\tvm.successMsg = \"Error in data validation, please correct the data and re-upload file\";\r\n\t\t\t\t\t\t$(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\t\t\t\t\t});\r\n\r\n\t\t\t},\r\n\t\t\t'success': function (file, xhr) {\r\n\t\t\t},\r\n\t\t\t'error': function (file, errorMessage) {\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tvm.addFiles = function () {\r\n\t\t\t$(\"#dropzone1\").trigger(\"click\");\r\n\t\t}\r\n\r\n\t}\r\n});\nangular.module('inspinia').service('KPIAdvancedDashboardService', function (ApiURL, PublicApiURL, $log, $http, DashboardURL, ActivityURL) {\r\n \r\n var vm = this;\r\n\r\n vm.setShowSuccess = function (success) {\r\n vm.showSuccess = success;\r\n }\r\n\r\n vm.setShowFailure = function (failure) {\r\n vm.showFailure = failure;\r\n }\r\n \r\n vm.getDashboard = function (loggedinUser, dashbardName, token, callback) {\r\n $http.get(DashboardURL+'/api/Dashboard/'+loggedinUser+'/'+ dashbardName + '/GetDashboardByName', {\r\n headers: {'Token': token, 'UserId': loggedinUser}\r\n }).then(function(res){\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n })\r\n }\r\n\r\n vm.getChart = function (loggedinUser, chartType, metrics, dimensions, token, callback) {\r\n $http.get(DashboardURL + '/api/Chart?ReqUserId=' + loggedinUser + '&ChartType=' + chartType + '&Metrics=' + metrics + '&DimensionList=' + dimensions + '&RollsUP=null', {\r\n headers: {'Token': token, 'UserId': loggedinUser}\r\n }).then(function (res) {\r\n if (callback && (res.status == 200)) {\r\n callback(res.data);\r\n }\r\n })\r\n }\r\n\r\n this.getSkills = function (loggedinUser, token, callback, failure) {\r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json', 'Token': token,'UserId': loggedinUser } }).then(function (res) {\r\n if(callback){\r\n callback(res.data);\r\n }\r\n }, function () {\r\n failure(\"skills\", \"Unable to get skills\");\r\n });\r\n }\r\n\r\n\r\n this.getAccounts = function (loggedinUser, token, callback, failure) {\r\n var url = ApiURL + '/api/account/GetAllAccountsMiniModel';\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json', 'Token': token,'UserId': loggedinUser } }).then(function (res) {\r\n if(callback){\r\n callback(res.data);\r\n }\r\n }, function () {\r\n failure(\"skills\", \"Unable to get accounts\");\r\n });\r\n }\r\n\r\n this.GetKPIAccounts = function (businessunit,vertical,month,year,loggedinUser, token, callback, failure) {\r\n var url = DashboardURL + '/api/AccountKPI/GetAccounts?BusinessUnit=' + businessunit + '&Vertical=' + vertical + '&TargetMonth=' + month +'&TargetYear=' + year;\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json', 'Token': token,'UserId': loggedinUser } }).then(function (res) {\r\n if(callback){\r\n callback(res.data);\r\n }\r\n }, function () {\r\n failure(\"skills\", \"Unable to get accounts\");\r\n });\r\n }\r\n\r\n this.getBusinessUnits = function (vertical,loggedinUser, token, callback, failure) {\r\n // var url = ApiURL + '/api/accountConfig/GetAllEnterpriseType';\r\n var url = DashboardURL + '/api/AccountKPI/GetBusinessUnits?BusinessUnit=' +vertical;\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json', 'Token': token,'UserId': loggedinUser } }).then(function (res) {\r\n if(callback){\r\n callback(res.data);\r\n }\r\n }, function () {\r\n failure(\"skills\", \"Unable to get business units\");\r\n });\r\n }\r\n\r\n this.GetVerticals = function (loggedinUser, token, callback, failure) {\r\n var url = DashboardURL + '/api/AccountKPI/GetVerticals';\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json', 'Token': token,'UserId': loggedinUser } }).then(function (res) {\r\n if(callback){\r\n callback(res.data);\r\n }\r\n }, function () {\r\n failure(\"skills\", \"Unable to get verticals\");\r\n });\r\n }\r\n\r\n\r\n this.getAllState = function (loggedInUserId, token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedInUserId \r\n } \r\n });\r\n }\r\n\r\n this.getDistrictsByState = function (loggedinUser, token, state, callback, failure) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+state;\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser }}).then(function (res) {\r\n callback(res.data.values);\r\n }, function () {\r\n failure(\"states\", \"Unable to get district\");\r\n });\r\n }\r\n\r\n this.getCitiesByState = function (loggedinUser, token, state) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+state;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n } \r\n });\r\n }\r\n\r\n vm.getChart1 = function (loggedinUser, token, chartType, metrics, dimensions, rollUp, filterKeys, filterValues,chartName,isData,total, callback) {\r\n //$log.log(\"in service\", DashboardURL + '/api/Chart?ReqUserId=' + loggedinUser + '&ChartType=' + chartType + '&Metrics=' + metrics + '&DimensionList=' + dimensions + '&RollsUP='+rollUp+\"&FilterKeys=\"+filterKeys+\"&FilterValues=\"+filterValues);\r\n $http.get(DashboardURL + '/api/Chart?ReqUserId=' + loggedinUser + '&ChartType=' + chartType + '&Metrics=' + metrics + '&DimensionList=' + dimensions + '&RollsUP='+encodeURI(rollUp)+\"&FilterKeys=\"+filterKeys+\"&FilterValues=\"+filterValues+\"&isData=\"+isData+\"&total=\"+total, {headers:{'Token': token, 'UserId': loggedinUser}}).then(function (res) {\r\n if (callback) {\r\n res.data['chartName'] = chartName;\r\n callback(res.data);\r\n }\r\n });\r\n }\r\n\r\n});\nangular.module('inspinia').controller('KPIAdvancedDashboardController', function ($state, $stateParams, DTColumnBuilder, $q,$compile, $scope,AdvancedDashboardService, KPIAdvancedDashboardService, CentralHelpdeskConfigService, $stateParams, $q, $log, $localStorage, DTOptionsBuilder, DTColumnDefBuilder, ReportService, $timeout) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var loggedinUserRole = $localStorage.loggedInUser_Role;\r\n vm.matrixName = '';\r\n\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n } else {\r\n var token = $localStorage.token;\r\n\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n KPIAdvancedDashboardService.setShowSuccess($scope.$parent.$parent.main.showSuccess);\r\n KPIAdvancedDashboardService.setShowFailure($scope.$parent.$parent.main.showFailure);\r\n vm.dashboard_data = {};\r\n vm.metricsCharts = {};\r\n vm.tableCharts = {};\r\n vm.lineCharts = {};\r\n vm.pieCharts = {};\r\n vm.barCharts = {};\r\n vm.stackedCharts ={};\r\n vm.gaugeCharts ={};\r\n vm.deepLink = {};\r\n vm.selectDimension = {};\r\n vm.states = [];\r\n var start_date = '';\r\n vm.BusinessUnit = '';\r\n vm.SelectedVertical = '';\r\n vm.State = '';\r\n vm.Skill = '';\r\n vm.Account = '';\r\n vm.filterKeys = '';\r\n vm.filterValues = '';\r\n var thisFiscalStart = '';\r\n var thisFiscalEnd = '';\r\n var intialLoad = true;\r\n vm.districts = [];\r\n vm.District = '';\r\n //vm.enableFilter = false;\r\n vm.filters = [];\r\n var total = '';\r\n vm.accountListForFilter = \"\";\r\n\r\n if (moment().quarter() === 2) {\r\n thisFiscalStart = moment().month('April').startOf('month');\r\n thisFiscalEnd = moment().add(1, 'year').month('March').endOf('month');\r\n } else {\r\n thisFiscalStart = moment().subtract(1, 'year').month('April').startOf('month');\r\n thisFiscalEnd = moment().month('March').endOf('month');\r\n };\r\n\r\n $scope.ranges = {\r\n 'Today': [moment(), moment()], \r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')], \r\n 'Payment week': [moment().startOf('week').isoWeekday(1), moment().endOf('week').isoWeekday(0)], \r\n // 'Last week': [moment().subtract(1, 'weeks').startOf('week').isoWeekday(1), moment().subtract(1, 'weeks').endOf('week').isoWeekday(0)], \r\n // 'This week': [moment().startOf('week'), moment().endOf('week')], \r\n 'This week': [moment().startOf('isoWeek'), moment().endOf('isoWeek')], \r\n 'Last week': [moment().subtract(1, 'weeks').startOf('week'), moment().subtract(1, 'weeks').endOf('week')], \r\n 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n 'Last month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')],\r\n // 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This quater': [moment().startOf('quarter'), moment().endOf('quarter')],\r\n 'Last quater': [moment().subtract(1, 'quarters').startOf('quarter'), moment().subtract(1, 'quarters').endOf('quarter')], \r\n 'This year': [thisFiscalStart, thisFiscalEnd], \r\n 'Till now': [moment().subtract(5, 'years'), moment()]\r\n };\r\n\r\n vm.navigateToAdvanceDashboard = function (DashboardName) {\r\n $state.go('index.AdvancedDashboard', {\r\n name: DashboardName\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.IsDashboardFilterCheckRun = false;\r\n vm.DateRangeSelectedKey = \"Yesterday\";\r\n vm.ActualSelectedKey = 'Today';\r\n $scope.dateRangeChange = function(ev, picker){\r\n if (picker.chosenLabel == 'Today') {\r\n vm.DateRangeSelectedKey = 'Yesterday';\r\n vm.ActualSelectedKey = 'Today';\r\n } else if (picker.chosenLabel == 'This week') {\r\n vm.DateRangeSelectedKey = 'Last Week';\r\n vm.ActualSelectedKey = 'This Week';\r\n } else if (picker.chosenLabel == 'This month') {\r\n vm.DateRangeSelectedKey = 'Last Month';\r\n vm.ActualSelectedKey = 'This Month';\r\n } else {\r\n vm.DateRangeSelectedKey = picker.chosenLabel;\r\n vm.ActualSelectedKey = 'Custom Range';\r\n }\r\n var startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n month = moment(startDate).format('MMMM');\r\n year =moment(startDate).format('YYYY');\r\n var endDate = picker.endDate.format(\"YYYY-MM-DD\"); \r\n vm.rollup = \"Range(\"+startDate+\"|\"+endDate+\")\";\r\n vm.tableCharts = {};\r\n vm.loadSpecificDashboard($stateParams.name);\r\n intialLoad = false;\r\n };\r\n\r\n// $scope.dateRangeChange = function(ev, picker){\r\n// var startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n// var endDate = picker.endDate.format(\"YYYY-MM-DD\"); \r\n \r\n// var duration = picker.endDate.diff(picker.startDate, 'days');\r\n// vm.Age = duration;\r\n// vm.rollup = \"Range(\"+startDate+\"|\"+endDate+\")\";\r\n// vm.tableCharts = {};\r\n// if(vm.Age <= 31) {\r\n// vm.loadSpecificDashboard($stateParams.name);\r\n// intialLoad = false;\r\n// }\r\n// else {\r\n// // vm.showFailure(\"Please Select date range within 30 days\");\r\n// alert(\"Please Select date range within 30 days\");\r\n// }\r\n\r\n// };\r\n \r\n $scope.dates = { startDate: thisFiscalStart, endDate: thisFiscalEnd};\r\n vm.rollup = \"Range(\"+thisFiscalStart.format(\"YYYY-MM-DD\")+\"|\"+thisFiscalEnd.format(\"YYYY-MM-DD\")+\")\";\r\n\r\n vm.getSkills = function () {\r\n KPIAdvancedDashboardService.getSkills(loggedinUser, token, function (skills) {\r\n vm.skills = skills; \r\n }, vm.showFailure);\r\n } \r\n vm.getSkills();\r\n\r\n\r\n var month = moment().format(\"MMMM\");\r\n var year = moment().format(\"YYYY\");\r\n\r\n\r\n vm.getAccounts = function () {\r\n KPIAdvancedDashboardService.GetKPIAccounts(vm.BusinessUnit,vm.SelectedVertical,month,year,loggedinUser, token, function (accounts) {\r\n vm.accounts = accounts.ActiveAccounts; \r\n var accountIds = []; \r\n angular.forEach(vm.accounts, function(d){\r\n accountIds.push(d.AccountId);\r\n }) \r\n vm.accountListForFilter = accountIds.join('|'); \r\n }, vm.showFailure); \r\n } \r\n vm.getAccounts();\r\n\r\n vm.updateDefaultDateFilter = function( dasahboardFilter){ \r\n if(intialLoad){ \r\n var startDate = '';\r\n var endDate = '';\r\n if(dasahboardFilter && dasahboardFilter.DefaultDateFilter)\r\n { \r\n startDate = $scope.ranges[dasahboardFilter.DefaultDateFilter][0];\r\n endDate = $scope.ranges[dasahboardFilter.DefaultDateFilter][1]; \r\n $scope.dates = { startDate: startDate, endDate: endDate};\r\n month = startDate.format(\"MMMM\");\r\n year = startDate.format(\"YYYY\");\r\n $scope.$broadcast('update.daterangepicker', {date: $scope.dates});\r\n vm.rollup = \"Range(\"+startDate.format(\"YYYY-MM-DD\")+\"|\"+endDate.format(\"YYYY-MM-DD\")+\")\"; \r\n }\r\n }\r\n }\r\n\r\n vm.getBusinessUnits = function () {\r\n vm.BusinessUnit = '';\r\n KPIAdvancedDashboardService.getBusinessUnits(vm.SelectedVertical,loggedinUser, token, function (businessUnits) {\r\n vm.businessUnits = businessUnits;\r\n vm.getAccounts();\r\n }, vm.showFailure);\r\n } \r\n vm.getBusinessUnits();\r\n\r\n vm.GetVerticals = function () {\r\n KPIAdvancedDashboardService.GetVerticals(loggedinUser, token, function (verticals) {\r\n vm.verticalsList = verticals; \r\n }, vm.showFailure);\r\n } \r\n vm.GetVerticals();\r\n\r\n vm.getStates = function () {\r\n KPIAdvancedDashboardService.getAllState(loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length > 0) {\r\n vm.states = resp.data;\r\n }\r\n }\r\n });\r\n }\r\n vm.getStates();\r\n\r\n vm.getDistrictByState = function () {\r\n KPIAdvancedDashboardService.getDistrictsByState(loggedinUser, token, vm.State, function (districts) {\r\n vm.districts = districts; \r\n }, vm.showFailure);\r\n }\r\n\r\n vm.getCitiesByState = function () {\r\n KPIAdvancedDashboardService.getCitiesByState(loggedinUser, token, vm.State).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length > 0) {\r\n vm.districts = resp.data;\r\n }\r\n }\r\n });\r\n }\r\n // vm.getCitiesByState();\r\n vm.IsFilterApplied = false;\r\n\r\n vm.Allapplyfilter = function(){\r\n vm.filterKeys = '';\r\n vm.filterValues = '';\r\n if(vm.SelectedVertical != '' && vm.Account == ''){\r\n vm.Account = vm.accountListForFilter;\r\n }\r\n if(vm.BusinessUnit != '' && vm.Account == ''){\r\n vm.Account = vm.accountListForFilter;\r\n }\r\n if(vm.SelectedVertical != '' || vm.Account != '' || vm.BusinessUnit != ''){\r\n vm.IsFilterApplied = true;\r\n }\r\n // prepareFilters('BusinessUnit', vm.BusinessUnit);\r\n // prepareFilters('AccountName', vm.Account);\r\n prepareFilters('AccountId', vm.Account);\r\n // prepareFilters('Skill', vm.Skill);\r\n // prepareFilters('State', vm.State);\r\n // prepareFilters('City', vm.District);\r\n vm.tableCharts = {};\r\n vm.loadSpecificDashboard($stateParams.name); \r\n }\r\n\r\n var prepareFilters = function(filterkey, filervalue){ \r\n if(filervalue)\r\n {\r\n if(vm.filterKeys)\r\n {\r\n vm.filterKeys = vm.filterKeys + ',' + filterkey;\r\n vm.filterValues = vm.filterValues + ',' + filervalue;\r\n }\r\n else\r\n {\r\n vm.filterKeys = filterkey;\r\n vm.filterValues = filervalue;\r\n\r\n }\r\n }\r\n }\r\n\r\n vm.ResetFilter = function(){\r\n vm.filterKeys = '';\r\n vm.filterValues = '';\r\n vm.BusinessUnit = '';\r\n vm.SelectedVertical = '';\r\n vm.Account = '';\r\n vm.Skill = '';\r\n vm.State = '';\r\n vm.District = '';\r\n vm.tableCharts = {};\r\n vm.IsFilterApplied = false;\r\n vm.loadSpecificDashboard($stateParams.name);\r\n }\r\n\r\n\r\n\r\n vm.getChart = function (chartId, chartType, metrics, dimensions, subtitle, YAxis, rollup) {\r\n vm.selectDimension[chartId] = {};\r\n KPIAdvancedDashboardService.getChart1(loggedinUser, token, chartType, metrics, dimensions, rollup, vm.filterKeys, vm.filterValues,\"\",false, total, vm.createCallback(null, [function (data) {\r\n if (chartType == 'Metrics' || chartType == 'OneServMetrics' || chartType == 'metricscompare') {\r\n vm.metricsCharts[chartId] = {};\r\n vm.metricsCharts[chartId].value = data;\r\n vm.metricsCharts[chartId].subtitles = subtitle.split(\",\");\r\n vm.metricsCharts[chartId].ChartId = chartId;\r\n } else if (chartType == 'Table') {\r\n vm.tableCharts[chartId] = {};\r\n vm.tableCharts[chartId].value = data;\r\n vm.tableCharts[chartId].ChartId = chartId;\r\n vm.createTableChart(chartId, data.Categories.length , data); \r\n\r\n //vm.buildColumnBuilder(chartId, data.Categories.length);\r\n } else if (chartType == 'Line') {\r\n vm.lineCharts[chartId] = {};\r\n vm.lineCharts[chartId].value = data;\r\n vm.lineCharts[chartId].selectedRollup = rollup;\r\n vm.createLineChart(chartId, YAxis);\r\n } else if (chartType == 'Bar') {\r\n vm.barCharts[chartId] = {};\r\n vm.barCharts[chartId].value = data;\r\n vm.barCharts[chartId].selectedRollup = rollup;\r\n vm.createBarChart(chartId, YAxis);\r\n }else if (chartType == 'StackedBar') {\r\n vm.stackedCharts[chartId] = {};\r\n vm.stackedCharts[chartId].value = data;\r\n vm.stackedCharts[chartId].selectedRollup = rollup;\r\n vm.createStackedChart(chartId, YAxis);\r\n } else if (chartType == 'Pie') {\r\n vm.pieCharts[chartId] = {};\r\n vm.pieCharts[chartId].value = data;\r\n vm.createPieChart(chartId, subtitle);\r\n } else if (chartType == 'CustomPie') {\r\n vm.pieCharts[chartId] = {};\r\n vm.pieCharts[chartId].value = data;\r\n vm.pieCharts[chartId].selectedDimension=dimensions;\r\n vm.createPieChart(chartId, subtitle);\r\n } else if (chartType == 'CustomLine') {\r\n vm.lineCharts[chartId] = {};\r\n vm.lineCharts[chartId].value = data;\r\n vm.lineCharts[chartId].selectedDimension = dimensions;\r\n vm.selectDimension[chartId].dimension = dimensions;\r\n vm.lineCharts[chartId].selectedRollup = rollup;\r\n vm.createLineChart(chartId, YAxis);\r\n }else if (chartType == 'CustomBar') {\r\n vm.barCharts[chartId] = {};\r\n vm.barCharts[chartId].value = data;\r\n vm.barCharts[chartId].selectedDimension = dimensions;\r\n vm.selectDimension[chartId].dimension = dimensions;\r\n vm.barCharts[chartId].selectedRollup = rollup;\r\n vm.createBarChart(chartId, YAxis);\r\n }else if (chartType == 'DrillDownBar') {\r\n vm.barCharts[chartId] = {};\r\n vm.barCharts[chartId].value = data;\r\n vm.barCharts[chartId].selectedDimension = dimensions;\r\n vm.selectDimension[chartId].dimension = dimensions;\r\n vm.barCharts[chartId].selectedRollup = rollup;\r\n vm.createDrilledDownBarChart(chartId, YAxis);\r\n }else if (chartType == 'CustomStackedBar') {\r\n vm.stackedCharts[chartId] = {};\r\n vm.stackedCharts[chartId].value = data;\r\n vm.stackedCharts[chartId].selectedDimension = dimensions;\r\n vm.selectDimension[chartId].dimension = dimensions;\r\n vm.stackedCharts[chartId].selectedRollup = rollup;\r\n vm.createStackedChart(chartId, YAxis);\r\n }\r\n else if (chartType == 'metricskpi') {\r\n vm.gaugeCharts[chartId] = {};\r\n vm.gaugeCharts[chartId].value = data;\r\n vm.gaugeCharts[chartId].selectedRollup = rollup;\r\n vm.createGaugeChart(chartId);\r\n }\r\n }]));\r\n }\r\n\r\n vm.dashboardCallback = vm.createCallback(null, [function (data) {\r\n vm.dashboard_data = data;\r\n\r\n if(data && data.DashboardFilters){\r\n vm.enableFilter = true; \r\n vm.updateDefaultDateFilter(data.DashboardFilters); \r\n //vm.getFilerValues(data.DashboardFilters.FilterList); \r\n }\r\n else\r\n {\r\n vm.enableFilter = false;\r\n vm.updateDefaultDateFilter(null);\r\n } \r\n if (data && data.DashboardFilters && (data.DashboardFilters.DateFilterList == null|| data.DashboardFilters.DateFilterList.length == 0)) {\r\n vm.IsDashboardFilterCheckRun = true;\r\n } \r\n else if (data && data.DashboardFilters && data.DashboardFilters.DateFilterList.length > 0) {\r\n var dateFilterList = data.DashboardFilters.DateFilterList;\r\n var filteredRanges = {};\r\n Object.keys($scope.ranges).forEach(function(key) {\r\n if (dateFilterList.includes(key)) {\r\n filteredRanges[key] = $scope.ranges[key];\r\n }\r\n });\r\n $scope.ranges = filteredRanges;\r\n vm.IsDashboardFilterCheckRun = true;\r\n }\r\n\r\n angular.forEach(data.ChartModel, function (d) {\r\n\r\n if (d.ClickableColumns != null && d.ClickableColumns.length > 0) {\r\n angular.forEach(d.ClickableColumns, function(cl){\r\n if (cl.Link==\"ProjectSummary\") {\r\n vm.deepLink[cl.ColumnName + \" \"+ d.ChartId] = function () { \r\n return \"index.Report({report_name:'ProjectSummary', key:'\"+cl.KeyName+\"'})\";\r\n }\r\n }else if (cl.Link==\"CustomerSummary\") {\r\n vm.deepLink[cl.ColumnName + \" \"+ d.ChartId] = function () { \r\n \r\n return \"index.Report({report_name:'CustomerSummary', key:'\"+cl.KeyName+\"'})\";\r\n }\r\n }else if (cl.Link==\"DashboardReport\") {\r\n \r\n vm.deepLink[cl.ColumnName + \" \"+ d.ChartId] = function (filterValue,filterName) {\r\n var Keyfilter = cl.KeyName; \r\n \r\n // else\r\n // {\r\n // start_date = vm.rollup;\r\n // }\r\n if (cl.KeyName.indexOf(\"|\")>=0) {\r\n var stringArray = cl.KeyName.split('|');\r\n filterName = stringArray[1];\r\n Keyfilter = stringArray[0];\r\n }\r\n if (filterValue == undefined && filterName ==undefined) {\r\n filterValue = '';\r\n filterName = '';\r\n }\r\n if (d.ChartType == 'Metrics' || d.chartType == 'OneServMetrics' || d.chartType == 'metricscompare') {\r\n //console.log('start_date',start_date);\r\n if (d.Rollups && d.Rollups.length>0) {\r\n angular.forEach(d.Rollups, function(d){\r\n if (d == 'Today') {\r\n var sDate = moment().format(\"YYYY-MM-DD\");\r\n var eDate = moment().format(\"YYYY-MM-DD\");\r\n start_date = \"Range(\"+sDate+\"|\"+eDate+\")\";\r\n }\r\n else if (d == 'Yesterday') {\r\n \t\t\t\t\t\t\t\t\t\tvar sDate = moment().subtract(1, 'days').format(\"YYYY-MM-DD\");\r\n \t\t\t\t\t\t\t\t\t\tvar eDate = moment().subtract(1, 'days').format(\"YYYY-MM-DD\");\r\n \t\t\t\t\t\t\t\t\t\tstart_date = \"Range(\"+sDate+\"|\"+eDate+\")\"; }\r\n else if (d == 'Monthly') {\r\n var sDate = moment().startOf('month').format(\"YYYY-MM-DD\");\r\n var eDate = moment().endOf('month').format(\"YYYY-MM-DD\");\r\n start_date = \"Range(\"+sDate+\"|\"+eDate+\")\";\r\n }else if (d == 'Week1') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week1');\r\n }else if (d == 'Week2') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week2');\r\n }else if (d == 'Week3') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week3');\r\n }else if (d == 'Week4') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week4');\r\n }\r\n })\r\n }else{\r\n start_date = vm.rollup;\r\n }\r\n var obj = {\r\n \"report_name\":'LinkTicketReport',\r\n \"key\":Keyfilter,\r\n \"filter_key\":filterName,\r\n \"filter_name\":filterValue,\r\n \"start_date\":start_date,\r\n \"isData\":true\r\n } \r\n return obj;\r\n }else{\r\n return \"index.DashboardReport({report_name:'LinkTicketReport', key:'\"+Keyfilter+\"',filter_key:'\"+filterName+\"', filter_name:'\"+filterValue+\"', start_date:'\"+vm.rollup+\"', isData:'\"+true+\"'})\";\r\n } \r\n }\r\n }else{\r\n \t\t\t\t\t\tif (cl.Link){ \r\n \t\t\t\t\t\t\tvm.deepLink[cl.ColumnName + \" \"+ d.ChartId] = function (filterValue,filterName) {\r\n \t\t\t\t\t\t\t\tvar Keyfilter = cl.KeyName; \r\n \t\t\t\t\t\t\t if (cl.KeyName.indexOf(\"|\")>=0) {\r\n \t\t\t\t\t\t\t\t\tvar stringArray = cl.KeyName.split('|');\r\n \t\t\t\t\t\t\t\t\tfilterName = stringArray[1];\r\n \t\t\t\t\t\t\t\t\tKeyfilter = stringArray[0];\r\n \t\t\t\t\t\t\t\t}\r\n \t\t\t\t\t\t\t\tif (filterValue == undefined && filterName ==undefined) {\r\n \t\t\t\t\t\t\t\t\tfilterValue = '';\r\n \t\t\t\t\t\t\t\t\tfilterName = '';\r\n \t\t\t\t\t\t\t\t}\r\n\r\n filterName = filterName + ',' + vm.filterKeys;\r\n filterValue = filterValue + ',' + vm.filterValues;\r\n\r\n\r\n \t\t\t\t\t\t\t\tif (d.ChartType == 'Metrics' || d.chartType == 'OneServMetrics' || d.chartType == 'metricscompare') {\r\n \t\t\t\t\t\t\t\t\t//console.log('start_date',start_date);\r\n \t\t\t\t\t\t\t\t\tif (d.Rollups && d.Rollups.length>0) {\r\n \t\t\t\t\t\t\t\tangular.forEach(d.Rollups, function(d){\r\n \t\t\t\t\t\t\t\t\tif (d == 'Today') {\r\n \t\t\t\t\t\t\t\t\t\tvar sDate = moment().format(\"YYYY-MM-DD\");\r\n \t\t\t\t\t\t\t\t\t\tvar eDate = moment().format(\"YYYY-MM-DD\");\r\n \t\t\t\t\t\t\t\t\t\tstart_date = \"Range(\"+sDate+\"|\"+eDate+\")\";\r\n \t\t\t\t\t\t\t\t\t}\r\n else if (d == 'Yesterday') {\r\n \t\t\t\t\t\t\t\t\t\tvar sDate = moment().subtract(1, 'days').format(\"YYYY-MM-DD\");\r\n \t\t\t\t\t\t\t\t\t\tvar eDate = moment().subtract(1, 'days').format(\"YYYY-MM-DD\");\r\n \t\t\t\t\t\t\t\t\t\tstart_date = \"Range(\"+sDate+\"|\"+eDate+\")\";\r\n \t\t\t\t\t\t\t\t\t}else if (d == 'Monthly') {\r\n \t\t\t\t\t\t\t\t\t\tvar sDate = moment().startOf('month').format(\"YYYY-MM-DD\");\r\n \t\t\t\t\t\t\t\t\t\tvar eDate = moment().endOf('month').format(\"YYYY-MM-DD\");\r\n \t\t\t\t\t\t\t\t\t\tstart_date = \"Range(\"+sDate+\"|\"+eDate+\")\";\r\n \t\t\t\t\t\t\t\t\t}else if (d == 'Week1') {\r\n \t\t\t\t\t\t\t\t\t\tvar getCurrentMonth = new Date().getMonth();\r\n \t\t\t\t\t\t\t\t\t\tvar getCurrentYear = new Date().getFullYear();\r\n \t\t\t\t\t\t\t\t\t start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week1');\r\n \t\t\t\t\t\t\t\t\t}else if (d == 'Week2') {\r\n \t\t\t\t\t\t\t\t\t\tvar getCurrentMonth = new Date().getMonth();\r\n \t\t\t\t\t\t\t\t\t\tvar getCurrentYear = new Date().getFullYear();\r\n \t\t\t\t\t\t\t\t\t start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week2');\r\n \t\t\t\t\t\t\t\t\t}else if (d == 'Week3') {\r\n \t\t\t\t\t\t\t\t\t\tvar getCurrentMonth = new Date().getMonth();\r\n \t\t\t\t\t\t\t\t\t\tvar getCurrentYear = new Date().getFullYear();\r\n \t\t\t\t\t\t\t\t\t start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week3');\r\n \t\t\t\t\t\t\t\t\t}else if (d == 'Week4') {\r\n \t\t\t\t\t\t\t\t\t\tvar getCurrentMonth = new Date().getMonth();\r\n \t\t\t\t\t\t\t\t\t\tvar getCurrentYear = new Date().getFullYear();\r\n \t\t\t\t\t\t\t\t\t start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week4');\r\n \t\t\t\t\t\t\t\t\t}\r\n \t\t\t\t\t\t\t\t})\r\n \t\t\t\t\t\t\t\t}else{\r\n \t\t\t\t\t\t\t\t\tstart_date = vm.rollup;\r\n \t\t\t\t\t\t\t\t}\r\n \t\t\t\t\t\t\t\t var obj = { \r\n \t\t\t\t\t\t\t\t\t\t\"report_name\":cl.Link,\r\n \t\t\t\t\t\t\t\t\t\t\"key\":Keyfilter,\r\n \t\t\t\t\t\t\t\t\t\t\"filter_key\":filterName,\r\n \t\t\t\t\t\t\t\t\t\t\"filter_name\":filterValue,\r\n \t\t\t\t\t\t\t\t\t\t\"start_date\":start_date,\r\n \t\t\t\t\t\t\t\t\t\t\"isData\":true\r\n \t\t\t\t\t\t\t\t\t} \r\n \t\t\t\t\t\t\t\t\treturn obj;\r\n \t\t\t\t\t\t\t\t}else{\r\n \t\t\t\t\t\t\t\t\treturn \"index.DashboardReport({report_name:'\" + cl.Link + \"', key:'\"+Keyfilter+\"',filter_key:'\"+filterName+\"', filter_name:'\"+filterValue+\"', start_date:'\"+vm.rollup+\"', isData:'\"+true+\"'})\";\r\n \t\t\t\t\t\t\t\t} \r\n \t\t\t\t\t\t\t}\r\n \t\t\t\t\t\t}\r\n \t\t\t\t\t} \r\n })\r\n }\r\n if(d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Today\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Today\");\r\n }\r\n else if(d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Yesterday\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Yesterday\");\r\n }\r\n else if(d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Week1\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Week1\");\r\n }else if(d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Week2\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Week2\");\r\n }else if(d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Week3\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Week3\");\r\n }else if(d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Week4\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Week4\");\r\n }\r\n else if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Monthly\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Monthly\");\r\n }\r\n else if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Monthly-6\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Monthly-6\");\r\n }\r\n else if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Quarterly\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Quarterly\");\r\n }\r\n else if(d.ChartType == 'CustomLine' && d.Dimensions.length>0 && d.Rollups.indexOf(\"Monthly\")>=0){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, \"Monthly\");\r\n }\r\n else if(d.ChartType == 'CustomLine' && d.Dimensions.length>0 && d.Rollups.indexOf(\"Today\")>=0){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, \"Today\");\r\n }\r\n else if(d.ChartType == 'CustomLine' && d.Dimensions.length>0 && d.Rollups.indexOf(\"Yesterday\")>=0){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, \"Yesterday\");\r\n }\r\n else if(d.ChartType == 'CustomBar' && d.Dimensions.length>0){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, '');\r\n }else if(d.ChartType == 'DrillDownBar' && d.Dimensions.length>0){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, '');\r\n }else if(d.ChartType == 'CustomStackedBar' && d.Dimensions.length>0){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, '');\r\n }else if(d.ChartType == 'CustomPie' && d.Dimensions.length>0){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, '');\r\n }\r\n else {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, vm.rollup);\r\n }\r\n\r\n });\r\n // console.log('vm.deepLink',vm.deepLink);\r\n }])\r\n\r\n vm.GetDateRange = function(month,year,week){\r\n var weeks=[],\r\n firstDate=new Date(year, month, 1),\r\n lastDate=new Date(year, month+1, 0), \r\n numDays= lastDate.getDate();\r\n if (week == 'week1') {\r\n var start=1;\r\n var end=7;\r\n month = month+1\r\n var startRange = moment(year+\"-\"+month+\"-\"+start).format(\"YYYY-MM-DD\");\r\n var endRange = moment(year+\"-\"+month+\"-\"+end).format(\"YYYY-MM-DD\");\r\n return (\"Range(\"+startRange+\"|\"+endRange+\")\");\r\n }else if (week == 'week2') {\r\n var start = 8;\r\n var end = 14;\r\n month = month+1\r\n var startRange = moment(year+\"-\"+month+\"-\"+start).format(\"YYYY-MM-DD\");\r\n var endRange = moment(year+\"-\"+month+\"-\"+end).format(\"YYYY-MM-DD\");\r\n return (\"Range(\"+startRange+\"|\"+endRange+\")\");\r\n }else if (week == 'week3') {\r\n var start = 15;\r\n var end = 21;\r\n month = month+1\r\n var startRange = moment(year+\"-\"+month+\"-\"+start).format(\"YYYY-MM-DD\");\r\n var endRange = moment(year+\"-\"+month+\"-\"+end).format(\"YYYY-MM-DD\");\r\n return (\"Range(\"+startRange+\"|\"+endRange+\")\");\r\n }else if (week == 'week4') {\r\n var start = 22;\r\n var end = numDays;\r\n month = month+1\r\n var startRange = moment(year+\"-\"+month+\"-\"+start).format(\"YYYY-MM-DD\");\r\n var endRange = moment(year+\"-\"+month+\"-\"+end).format(\"YYYY-MM-DD\");\r\n return (\"Range(\"+startRange+\"|\"+endRange+\")\");\r\n }\r\n }\r\n\r\n vm.getDashboard = function (name) {\r\n KPIAdvancedDashboardService.getDashboard(loggedinUser, name, token, vm.dashboardCallback);\r\n }\r\n\r\n\r\n vm.loadDefaultDashboard = function(){\r\n if ($stateParams.name == 'account') {\r\n vm.getDashboard('Account Dashboard');\r\n } else if ($stateParams.name == 'accountDetails') {\r\n vm.getDashboard('Account Dashboard');\r\n }else if ($stateParams.name == 'admin') {\r\n vm.getDashboard('Admin Dashboard');\r\n }else if ($stateParams.name == 'manager') {\r\n vm.getDashboard('Manager Dashboard');\r\n }else if ($stateParams.name == 'supervisor') {\r\n vm.getDashboard('Supervisor Dashboard');\r\n }else if ($stateParams.name == 'vendor') {\r\n vm.getDashboard('Vendor Dashboard');\r\n } else {\r\n vm.getDashboard($stateParams.name);\r\n }\r\n }\r\n\r\n vm.loadSpecificDashboard = function(name){\r\n var DashboardListModel = vm.getAccountConfigSetting('DashboardListModel');\r\n var isLoaded = false;\r\n if(DashboardListModel && DashboardListModel.length>0){\r\n angular.forEach(DashboardListModel, function(d){\r\n if(d.DashboardType == name){\r\n vm.getDashboard(d.DashboardName);\r\n isLoaded = true;\r\n }\r\n })\r\n }\r\n if(isLoaded==false){\r\n vm.loadDefaultDashboard(name);\r\n }\r\n }\r\n\r\n vm.loadSpecificDashboard($stateParams.name);\r\n\r\n vm.LinkClick = function(url){\r\n // console.log(url);\r\n var i = vm.deepLink[url]('','');\r\n // console.log('i',i);\r\n var key ='';\r\n var filter_key='';\r\n var filter_name = '';\r\n var start_date='';\r\n var report_name = '';\r\n key = i.key;\r\n report_name = i.report_name;\r\n filter_key = i.filter_key;\r\n filter_name = i.filter_name;\r\n start_date = i.start_date;\r\n // console.log('params',key,report_name,filter_key,filter_name,start_date);\r\n $state.go('index.DashboardReport', {\r\n report_name: report_name,\r\n key: key,\r\n filter_key: filter_key,\r\n filter_name: filter_name,\r\n start_date: start_date,\r\n isData: true\r\n }, \r\n {\r\n reload: true\r\n });\r\n }\r\n \r\n //$log.log(\"$stateParams.name\",$stateParams.name);\r\n\r\n vm.saveRollup = function (chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup) {\r\n if (chartType == 'Line') {\r\n vm.lineCharts[chartId].selectedRollup = rollup;\r\n //$log.log(\"rollup\", rollup);\r\n vm.getChart(chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup);\r\n vm.createLineChart(chartId, yAxis); \r\n }else if(chartType == 'Bar'){\r\n vm.barCharts[chartId].selectedRollup = rollup;\r\n //$log.log(\"rollup\", rollup);\r\n vm.getChart(chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup);\r\n vm.createBarChart(chartId, yAxis); \r\n }else if(chartType == 'CustomLine'){\r\n vm.lineCharts[chartId].selectedRollup = rollup;\r\n dimensions = vm.lineCharts[chartId].selectedDimension;\r\n vm.getChart(chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup);\r\n vm.createLineChart(chartId, yAxis); \r\n }else if(chartType == 'CustomBar'){\r\n vm.barCharts[chartId].selectedRollup = rollup;\r\n //$log.log(\"rollup\", rollup);\r\n if (vm.selectDimension && vm.selectDimension[chartId].dimension.length>0) {\r\n dimensions = vm.selectDimension[chartId].dimension; \r\n }else{\r\n dimensions = vm.lineCharts[chartId].selectedDimension;\r\n } \r\n vm.getChart(chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup);\r\n vm.createLineChart(chartId, yAxis); \r\n } \r\n }\r\n\r\n vm.ChangeDimensions = function (chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup) {\r\n vm.lineCharts[chartId].selectedDimension = dimensions;\r\n rollup = 'Monthly';\r\n //$log.log(\"rollup\", rollup);\r\n vm.getChart(chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup);\r\n $timeout(function(){\r\n vm.createLineChart(chartId, yAxis);\r\n },1000) \r\n }\r\n\r\n //For CustomPieChart\r\n vm.ChangeDimensionsPie = function (chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup) {\r\n vm.pieCharts[chartId].selectedDimension = dimensions;\r\n // vm.selectDimension[chartId].dimension = dimensions;\r\n //console.log('selectDimension',vm.selectDimension);\r\n // vm.lineCharts[chartId].selectedRollup = rollup;\r\n //rollup = 'Monthly';\r\n //$log.log(\"rollup\", rollup);\r\n vm.getChart(chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, \"\");\r\n $timeout(function(){\r\n vm.createPieChart(chartId, yAxis);\r\n },1000)\r\n \r\n }\r\n\r\n //For CustomBarChart\r\n vm.ChangeDimensionsBar = function (chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup) {\r\n vm.barCharts[chartId].selectedDimension = dimensions;\r\n // vm.selectDimension[chartId].dimension = dimensions;\r\n //console.log('selectDimension',vm.selectDimension);\r\n // vm.lineCharts[chartId].selectedRollup = rollup;\r\n //rollup = 'Monthly';\r\n //$log.log(\"rollup\", rollup);\r\n vm.getChart(chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, \"\");\r\n $timeout(function(){\r\n vm.createBarChart(chartId, yAxis);\r\n },1000)\r\n \r\n }\r\n\r\n //For CustomStackedChart\r\n vm.ChangeDimensionsCustomStackedBar = function (chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup) {\r\n vm.stackedCharts[chartId].selectedDimension = dimensions;\r\n // vm.selectDimension = dimensions;\r\n // console.log('selectDimension',vm.selectDimension);\r\n // vm.lineCharts[chartId].selectedRollup = rollup;\r\n //rollup = 'Monthly';\r\n //$log.log(\"rollup\", rollup);\r\n vm.getChart(chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, \"\");\r\n $timeout(function(){\r\n vm.createStackedChart(chartId, yAxis);\r\n },1000)\r\n \r\n }\r\n\r\n vm.isActiveRollbackCustomPie = function(chartId, dimension){\r\n if(vm.pieCharts[chartId] && vm.pieCharts[chartId].selectedDimension){\r\n return vm.pieCharts[chartId].selectedDimension == dimension;\r\n }\r\n return false;\r\n }\r\n vm.isActiveRollbackCustomBar = function(chartId, dimension){\r\n if(vm.barCharts[chartId] && vm.barCharts[chartId].selectedDimension){\r\n return vm.barCharts[chartId].selectedDimension == dimension;\r\n }\r\n return false;\r\n }\r\n vm.isActiveRollbackCustomStackedBar = function(chartId, dimension){\r\n if(vm.stackedCharts[chartId] && vm.stackedCharts[chartId].selectedDimension){\r\n return vm.stackedCharts[chartId].selectedDimension == dimension;\r\n }\r\n return false;\r\n }\r\n\r\n vm.isActiveRollbackBar = function(chartId, rollup){\r\n if(vm.barCharts[chartId] && vm.barCharts[chartId].selectedRollup){\r\n return vm.barCharts[chartId].selectedRollup == rollup;\r\n }\r\n return false;\r\n }\r\n vm.isActiveRollbackStackedBar = function(chartId, rollup){\r\n if(vm.stackedCharts[chartId] && vm.stackedCharts[chartId].selectedRollup){\r\n return vm.stackedCharts[chartId].selectedRollup == rollup;\r\n }\r\n return false;\r\n }\r\n\r\n vm.isActiveRollback = function(chartId, rollup){\r\n if(vm.lineCharts[chartId] && vm.lineCharts[chartId].selectedRollup){\r\n return vm.lineCharts[chartId].selectedRollup == rollup;\r\n }\r\n return false;\r\n }\r\n // vm.isActiveRollbackCustome = function(chartId, dimension){\r\n // if(vm.lineCharts[chartId] && vm.lineCharts[chartId].selectedDimension){\r\n // return vm.lineCharts[chartId].selectedDimension == dimension;\r\n // }\r\n // return false;\r\n // }\r\n\r\n vm.createLineChart = function (chartId, yAxis) {\r\n vm.chartOptions = vm.chartOptions ? vm.chartOptions : {};\r\n $timeout(function () {\r\n if (vm.lineCharts[chartId] && vm.lineCharts[chartId].value) {\r\n vm.chartOptions[chartId] = {\r\n credits: {\r\n enabled: true\r\n },\r\n colors: ['#3093d1', '#fcb631', '#9ad631', '#f34ea8', '#30bfdd', '#fc9532', '#9f4bc7', '#304ec6', '#fcd731', '#f08576', '#418842'],\r\n chart: {\r\n type: 'line'\r\n },\r\n title: {\r\n text: ''\r\n },\r\n subtitle: {\r\n text: ''\r\n },\r\n xAxis: {\r\n categories: vm.lineCharts[chartId].value.Categories\r\n },\r\n // legend: {\r\n // layout: 'horizontal',\r\n // align: 'left',\r\n // itemWidth: 100,\r\n // verticalAlign: 'bottom',\r\n // //y: 30,\r\n // navigation: {\r\n // activeColor: '#3E576F',\r\n // animation: true,\r\n // arrowSize: 12,\r\n // inactiveColor: '#CCC',\r\n // style: {\r\n // fontWeight: 'bold',\r\n // color: '#333',\r\n // fontSize: '12px'\r\n // }\r\n // }\r\n // },\r\n // legend: {\r\n // align: 'right',\r\n // verticalAlign: 'top',\r\n // layout: 'vertical',\r\n // x: 0,\r\n // y: 100\r\n // },\r\n yAxis: {\r\n title: {\r\n text: yAxis\r\n },\r\n scrollbar: {\r\n enabled: true\r\n }\r\n },\r\n plotOptions: {\r\n line: {\r\n dataLabels: {\r\n enabled: true\r\n },\r\n enableMouseTracking: true\r\n }\r\n },\r\n series: GetSeries()\r\n\r\n };\r\n function GetSeries(){\r\n\r\n if (vm.lineCharts[chartId].value.Series.length>10) {\r\n \r\n for(var i=0; i10) {\r\n var legend = {\r\n layout: 'horizontal',\r\n align: 'left',\r\n itemWidth: 100,\r\n verticalAlign: 'bottom',\r\n //y: 30,\r\n navigation: {\r\n activeColor: '#3E576F',\r\n animation: true,\r\n arrowSize: 12,\r\n inactiveColor: '#CCC',\r\n style: {\r\n fontWeight: 'bold',\r\n color: '#333',\r\n fontSize: '12px'\r\n }\r\n }\r\n }\r\n vm.chartOptions[chartId].legend = legend;\r\n }\r\n\r\n var chart = new Highcharts.chart(chartId, vm.chartOptions[chartId]);\r\n \r\n chart.reflowNow = function () {\r\n this.containerHeight = this.options.chart.height || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'height');\r\n this.containerWidth = this.options.chart.width || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'width');\r\n this.setSize(this.containerWidth, this.containerHeight, false);\r\n this.hasUserSize = null;\r\n }\r\n }\r\n }, 1000);\r\n }\r\n vm.createBarChart = function (chartId, yAxis) {\r\n $timeout(function () {\r\n if (vm.barCharts[chartId] && vm.barCharts[chartId].value) {\r\n var chartData = {\r\n credits: {\r\n enabled: true\r\n },\r\n colors: ['#3093d1', '#fcb631', '#9ad631', '#f34ea8', '#30bfdd', '#fc9532', '#9f4bc7', '#304ec6', '#fcd731', '#f08576', '#418842'],\r\n chart: {\r\n type: 'column',\r\n inverted: false\r\n },\r\n legend: {\r\n enabled: true\r\n },\r\n title: {\r\n text: ''\r\n },\r\n subtitle: {\r\n text: ''\r\n },\r\n xAxis: {\r\n // type : 'category',\r\n categories: vm.barCharts[chartId].value.Categories \r\n },\r\n yAxis: {\r\n title: {\r\n text: yAxis\r\n }\r\n },\r\n plotOptions: {\r\n column: {\r\n dataLabels: {\r\n enabled: true,\r\n \r\n }\r\n }\r\n },\r\n \r\n series: vm.barCharts[chartId].value.Series\r\n // drilldown:vm.barCharts[chartId].value.drilldown\r\n \r\n };\r\n \r\n if (chartData && chartData.series && chartData.series.length>0 && chartData.series[0].data \r\n && chartData.series[0].data.length>0 && chartData.series[0].data[0]) {\r\n chartData.series[0].data[0].sliced=true;\r\n chartData.series[0].data[0].selected=true;\r\n }\r\n \r\n var chart = new Highcharts.chart(chartId, chartData);\r\n\r\n chart.reflowNow = function () {\r\n this.containerHeight = this.options.chart.height || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'height');\r\n this.containerWidth = this.options.chart.width || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'width');\r\n this.setSize(this.containerWidth, this.containerHeight, false);\r\n this.hasUserSize = null;\r\n }\r\n } \r\n }, 2000);\r\n }\r\n\r\n //Create DrillDown Bar Chart\r\n vm.createDrilledDownBarChart = function (chartId, yAxis) {\r\n $timeout(function () {\r\n if (vm.barCharts[chartId] && vm.barCharts[chartId].value) {\r\n var chartData = {\r\n credits: {\r\n enabled: true\r\n },\r\n colors: ['#3093d1', '#fcb631', '#9ad631', '#f34ea8', '#30bfdd', '#fc9532', '#9f4bc7', '#304ec6', '#fcd731', '#f08576', '#418842'],\r\n chart: {\r\n type: 'column',\r\n inverted: false\r\n },\r\n legend: {\r\n enabled: false\r\n },\r\n title: {\r\n text: ''\r\n },\r\n subtitle: {\r\n text: ''\r\n },\r\n xAxis: {\r\n type : 'category'\r\n \r\n },\r\n yAxis: {\r\n title: {\r\n text: yAxis\r\n }\r\n },\r\n plotOptions: {\r\n column: {\r\n dataLabels: {\r\n enabled: true,\r\n \r\n }\r\n }\r\n },\r\n \r\n series: vm.barCharts[chartId].value.Series,\r\n drilldown:vm.barCharts[chartId].value.drilldown\r\n \r\n };\r\n \r\n if (chartData && chartData.series && chartData.series.length>0 && chartData.series[0].data \r\n && chartData.series[0].data.length>0 && chartData.series[0].data[0]) {\r\n chartData.series[0].data[0].sliced=true;\r\n chartData.series[0].data[0].selected=true;\r\n }\r\n \r\n \r\n var chart = new Highcharts.chart(chartId, chartData);\r\n\r\n chart.reflowNow = function () {\r\n this.containerHeight = this.options.chart.height || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'height');\r\n this.containerWidth = this.options.chart.width || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'width');\r\n this.setSize(this.containerWidth, this.containerHeight, false);\r\n this.hasUserSize = null;\r\n }\r\n } \r\n }, 2000);\r\n }\r\n\r\n //Stacked Chart\r\n vm.createStackedChart = function (chartId, yAxis) {\r\n $timeout(function () {\r\n if (vm.stackedCharts[chartId] && vm.stackedCharts[chartId].value) {\r\n var stackedchartData = {\r\n credits: {\r\n enabled: true\r\n },\r\n colors: ['#3093d1', '#fcb631', '#9ad631', '#f34ea8', '#30bfdd', '#fc9532', '#9f4bc7', '#304ec6', '#fcd731', '#f08576', '#418842'],\r\n chart: {\r\n type: 'column',\r\n inverted: false\r\n },\r\n title: {\r\n text: ''\r\n },\r\n subtitle: {\r\n text: ''\r\n },\r\n xAxis: {\r\n categories: vm.stackedCharts[chartId].value.Categories \r\n },\r\n yAxis: {\r\n min: 0,\r\n title: {\r\n text: yAxis\r\n }\r\n },\r\n legend: {\r\n\r\n reversed: true\r\n },\r\n tooltip: {\r\n formatter: function () {\r\n return '' + this.x + '
' +\r\n this.series.name + ': ' + this.y + '
' +\r\n 'Total: ' + this.point.stackTotal;\r\n }\r\n },\r\n plotOptions: {\r\n column: {\r\n dataLabels: {\r\n enabled: true,\r\n align: 'right',\r\n color: 'black',\r\n x: -10\r\n },\r\n enableMouseTracking: true\r\n },\r\n series: {\r\n\r\n stacking: 'normal'\r\n }\r\n },\r\n series: vm.stackedCharts[chartId].value.Series\r\n };\r\n if (stackedchartData && stackedchartData.series && stackedchartData.series.length>0 && stackedchartData.series[0].data \r\n && stackedchartData.series[0].data.length>0 && stackedchartData.series[0].data[0]) {\r\n stackedchartData.series[0].data[0].sliced=true;\r\n stackedchartData.series[0].data[0].selected=true;\r\n }\r\n \r\n var chart = new Highcharts.chart(chartId, stackedchartData);\r\n\r\n chart.reflowNow = function () {\r\n this.containerHeight = this.options.chart.height || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'height');\r\n this.containerWidth = this.options.chart.width || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'width');\r\n this.setSize(this.containerWidth, this.containerHeight, false);\r\n this.hasUserSize = null;\r\n }\r\n } \r\n }, 2000);\r\n }\r\n\r\n vm.createPieChart = function (chartId, title) {\r\n vm.showPieChart = vm.showPieChart || {};\r\n vm.tempShowPieChart = vm.tempShowPieChart || {};\r\n vm.showPieChart[chartId] = true;\r\n $timeout(function () {\r\n vm.tempShowPieChart[chartId] = false;\r\n if (vm.pieCharts[chartId] && vm.pieCharts[chartId].value) {\r\n\r\n for(var i=0; i0){\r\n vm.tempShowPieChart[chartId]=true;\r\n }\r\n }\r\n vm.showPieChart[chartId]=vm.tempShowPieChart[chartId];\r\n var chartData = {\r\n chart: {\r\n plotBackgroundColor: null,\r\n plotBorderWidth: null,\r\n plotShadow: false,\r\n type: 'pie'\r\n },\r\n colors: ['#3093d1', '#fcb631', '#9ad631', '#f34ea8', '#30bfdd', '#fc9532', '#9f4bc7', '#304ec6', '#fcd731', '#f08576', '#418842'],\r\n title: {\r\n text: ''\r\n },\r\n tooltip: {\r\n headerFormat: ' {series.name} : {point.name}
',\r\n pointFormat: ' {point.name}: {point.y:,.0f}
',\r\n footerFormat: ' Percentage : {point.percentage:,.1f}% ', shared: true, useHTML: true\r\n //pointFormat: '{series.name}: {point.y:.1f}%'\r\n },\r\n plotOptions: {\r\n pie: {\r\n allowPointSelect: true,\r\n cursor: 'pointer',\r\n dataLabels: {\r\n enabled: false\r\n },\r\n showInLegend: true\r\n }\r\n },\r\n series: [{\r\n name: title,\r\n colorByPoint: true,\r\n data: vm.pieCharts[chartId].value\r\n }]\r\n };\r\n if(chartData && chartData.series && chartData.series.length>0 && chartData.series[0].data \r\n && chartData.series[0].data.length>0 && chartData.series[0].data[0]){\r\n chartData.series[0].data[0].sliced=true;\r\n chartData.series[0].data[0].selected=true; \r\n }\r\n var chart = new Highcharts.chart(chartId, chartData);\r\n\r\n chart.reflowNow = function () {\r\n this.containerHeight = this.options.chart.height || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'height');\r\n this.containerWidth = this.options.chart.width || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'width');\r\n this.setSize(this.containerWidth, this.containerHeight, false);\r\n this.hasUserSize = null;\r\n }\r\n } \r\n }, 1000);\r\n }\r\n\r\n var gaugeInstances = {};\r\n vm.createGaugeChart = function (chartId) {\r\n if (gaugeInstances[chartId]) {\r\n gaugeInstances[chartId].destroy();\r\n }\r\n vm.showGaugeChart = vm.showGaugeChart || {};\r\n vm.tempshowGaugeChart = vm.tempshowGaugeChart || {};\r\n vm.showGaugeChart[chartId] = true;\r\n vm.tempshowGaugeChart[chartId] = false;\r\n \r\n if (vm.gaugeCharts[chartId] && vm.gaugeCharts[chartId].value) {\r\n vm.tempshowGaugeChart[chartId] = true;\r\n vm.showGaugeChart[chartId] = vm.tempshowGaugeChart[chartId];\r\n var label = \"(\" + vm.gaugeCharts[chartId].value[0].AcheivedPercentage + \"% of the target)\";\r\n\r\n // var label = \"Achieved (\" + vm.gaugeCharts[chartId].value[0].AcheivedPercentage + \"% of the target)\";\r\n var chartData = {\r\n id: chartId,\r\n value: vm.gaugeCharts[chartId].value[0].Value,\r\n min: 0,\r\n max: vm.gaugeCharts[chartId].value[0].TargetValue,\r\n decimals: 0,\r\n gaugeWidthScale: 0.6,\r\n pointer: true,\r\n pointerOptions: {\r\n toplength: -15,\r\n bottomlength: 10,\r\n bottomwidth: 12,\r\n color: '#333333',\r\n stroke: '#ffffff',\r\n stroke_width: 3,\r\n stroke_linecap: 'round'\r\n },\r\n customSectors: {\r\n ranges: [{\r\n color: \"#ff3b30\",\r\n lo: 0,\r\n hi: vm.gaugeCharts[chartId].value[0].TargetValue * 0.25\r\n }, {\r\n color: \"#FFA500\",\r\n lo: vm.gaugeCharts[chartId].value[0].TargetValue * 0.25,\r\n hi: vm.gaugeCharts[chartId].value[0].TargetValue * 0.50\r\n }, {\r\n color: \"#eccd28\",\r\n lo: vm.gaugeCharts[chartId].value[0].TargetValue * 0.50,\r\n hi: vm.gaugeCharts[chartId].value[0].TargetValue * 0.75\r\n }, {\r\n color: \"#43bf58\",\r\n lo: vm.gaugeCharts[chartId].value[0].TargetValue * 0.75,\r\n hi: vm.gaugeCharts[chartId].value[0].TargetValue\r\n }]\r\n },\r\n label: label,\r\n labelFontColor: \"#333333\",\r\n labelFontFamily: \"Arial\",\r\n labelFontSize: \"20px\",\r\n textRenderer: function (val) {\r\n return (vm.gaugeCharts[chartId].value[0].ValueType == 'INR'?(vm.gaugeCharts[chartId].value[0].strValue): vm.gaugeCharts[chartId].value[0].Value);\r\n },\r\n };\r\n gaugeInstances[chartId] = new JustGage(chartData);\r\n }\r\n };\r\n\r\n// var intervalId = setInterval(function() {\r\n// gauge.refresh(Math.random() * 1000);\r\n// }, 5000);\r\n\r\n\r\n\r\n $scope.changeFunction = function() {\r\n alert('change');\r\n }\r\n\r\n var makeDynamicTable = function(chartId, dataSet){\r\n\r\n if(dataSet.Values.length >= 10)\r\n {\r\n vm.tableCharts[chartId].dtOptions = DTOptionsBuilder.fromFnPromise(function(){\r\n var defer = $q.defer();\r\n defer.resolve(dataSet.Values);\r\n return defer.promise;\r\n })\r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withOption('createdRow', createdRow)\r\n .withBootstrap();\r\n }\r\n else\r\n {\r\n vm.tableCharts[chartId].dtOptions = DTOptionsBuilder.fromFnPromise(function(){\r\n var defer = $q.defer();\r\n defer.resolve(dataSet.Values);\r\n return defer.promise;\r\n })\r\n .withDOM('Tfgt')\r\n //.withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withOption('createdRow', createdRow)\r\n .withBootstrap();\r\n\r\n }\r\n \r\n\r\n function createdRow(row, data, dataIndex) {\r\n // Recompiling so we can bind Angular directive to the DT\r\n $compile(angular.element(row).contents())($scope);\r\n }\r\n\r\n vm.tableCharts[chartId].dtInstance = {};\r\n vm.tableCharts[chartId].dtColumns = [];\r\n var columnList = Object.keys(dataSet.Categories);\r\n for(var index = 0; index < columnList.length; index++ ){\r\n\r\n var temp = '';\r\n var colunId = columnList[index];\r\n temp = DTColumnBuilder.newColumn(colunId).withTitle(dataSet.Categories[colunId]).renderWith(function(data,type,full,meta){\r\n var colKey = '';\r\n function getKeyByIndex(object, col) {\r\n var colList = Object.keys(object);\r\n colKey = colList[col]; \r\n }\r\n\r\n getKeyByIndex(full,meta.col)\r\n var firstColumntKey = Object.values(full)[0];\r\n var fixedCatogries = Object.values(vm.tableCharts[chartId].value.Categories)[0];\r\n var t = vm.tableCharts[chartId].value.Categories;\r\n var n = t[colKey]; \r\n if(data > 0 && vm.deepLink[n +' '+ vm.tableCharts[chartId].ChartId]){\r\n return \"' + data + \" \";\r\n // return \"\" + data + \" \";\r\n }else{\r\n return \"\"+data+\"\";\r\n }\r\n });\r\n vm.tableCharts[chartId].dtColumns.push(temp);\r\n } \r\n }\r\n \r\n vm.createTableChart = function (chartId, lenth , data) {\r\n makeDynamicTable(chartId, data);\r\n }\r\n\r\n $scope.$on('fullscreen', function () {\r\n setTimeout(function () {\r\n $(element).highcharts().reflow();\r\n }, 0);\r\n }); \r\n\r\n}\r\n});\r\n\nangular.module('inspinia').service('JobListService', function (ApiURL, SchedulingAPI,$log,FreelancerURL, $http, $localStorage, $window, PublicApiURL, ActivityURL) {\r\n\r\n //https://test.mymobiforce.com/coreapi/api/Ticket/GetTicketsbyDateRange?fromDate=asd&toDate=asd&reqUserId=asd&itemNames=asd&itemValues=asd\r\n\r\n/* this.getAllJobTickets = function (supervisorId, startDate, endDate, token, itemNames,itemValues,templateCols) {\r\n var url = '';\r\n url = ApiURL + '/api/Ticket/GetTicketsbyDateRange?fromDate=' + startDate + '&toDate=' + endDate+ '&reqUserId=' + supervisorId + '&itemNames=' + itemNames + '&itemValues=' + itemValues+'&templateCols='+templateCols;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token\r\n }\r\n });\r\n }\r\n*/\r\n//Generate Invoice Preview Via Model \r\nthis.downloadOnSiteReport = function ( loggedInUserId, token,TicketId) { \r\n var url = ApiURL + '/api/Report/GeneratePdfOnSiteReport?TicketId=' + TicketId;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedInUserId \r\n }\r\n \r\n });\r\n}\r\n\r\n this.getAllJobTickets = function (supervisorId, startDate, endDate, token, itemNames,itemValues,templateCols,templateItemNames,templateItemValues, DateField) {\r\n var url = '';\r\n // itemNames = '';\r\n // itemValues = '';\r\n url = ApiURL + '/api/Ticket/GetTicketsbyDateRange?fromDate=' + startDate + '&toDate=' + endDate+ '&reqUserId=' + supervisorId + '&itemNames=' + itemNames + '&itemValues=' + itemValues+'&templateCols='+templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues + '&DateField=' + DateField;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': supervisorId\r\n }\r\n });\r\n }\r\n\r\n this.getAllJobTicketsCopy = function (supervisorId, startDate, endDate, token, itemNames,itemValues,textItemNames,textItemValues,templateCols,templateItemNames,templateItemValues,DateField,PageIndex,PageSize) {\r\n var url = '';\r\n url = ApiURL + '/api/Ticket/GetTicketsbyDateRangeWithDynaPaging?fromDate=' + startDate + '&toDate=' + endDate+ '&reqUserId=' + supervisorId + '&itemNames=' + itemNames + '&itemValues=' + itemValues + '&textItemNames=' + textItemNames + '&textItemValues=' + textItemValues +'&templateCols='+templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues+ '&DateField=' + DateField + '&PageIndex=' + PageIndex + '&PageSize=' + PageSize;\r\n // url = ApiURL + '/api/Ticket/GetTicketsbyDateRange?fromDate=' + startDate + '&toDate=' + endDate+ '&reqUserId=' + supervisorId + '&itemNames=' + itemNames + '&itemValues=' + itemValues+'&templateCols='+templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues + '&DateField=' + DateField;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': supervisorId\r\n }\r\n });\r\n }\r\n\r\n // url = https://product.mymobiforce.com/schedulingAPI/api/AutoJobBroadcast/AutoBroadcastAllNewJobsManualMode\r\n this.AutoBroadcastAllNewJobsManualMode = function (loginUserId, token) {\r\n var url = '';\r\n url = SchedulingAPI + '/api/AutoJobBroadcast/AutoBroadcastAllNewJobsManualMode'; \r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n // https://perf.mymobiforce.com/publicapi/api/Report/DownloadAllTicketReport?fromDate=2019-11-28&toDate=2019-11-29&reqUserId=U400000000001&itemNames=SkillSet&itemValues=All%20Job%20Status&templateCols=All%20Source%20Types\r\n this.downloadTicketsReports = function (loggedInUserId, fromDate, toDate,itemNames,itemValues,templateCols) {\r\n var url = PublicApiURL + \"/api/Report/DownloadAllTicketReport?fromDate=\"+fromDate +'&toDate='+toDate + '&reqUserId='+loggedInUserId+ \"&itemNames=\" + itemNames + '&itemValues=' + itemValues+'&templateCols='+templateCols ;\r\n $window.open(url);\r\n }\r\n this.sendReportToMail = function (loggedInUserId,token, fromDate, toDate,itemNames,itemValues,templateCols) { \r\n var url = ApiURL + \"/api/Report/SendViaMailAllTicketWithTemplateReport?fromDate=\"+fromDate +'&toDate='+toDate + '&reqUserId='+loggedInUserId+ \"&itemNames=\" + itemNames + '&itemValues=' + itemValues+'&templateCols='+templateCols ;\r\n return $http.get(url,{\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n })\r\n }\r\n\r\n this.getCustomerJobCardbyJobId = function(accountId, jobId, token ,success, failure){\r\n\t\t$http.get(ApiURL+\"/api/GetCustomerJobCardbyJobId/\"+jobId+\"/\"+accountId+\"/GetCustomerJobCardbyJobId\", {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': accountId\r\n }\r\n }).then(function(res){\r\n\t\t\tif(res && res.data && success){\r\n\t\t\t\tsuccess(res.data);\r\n\t\t\t} else if(failure){\r\n\t\t\t\tfailure();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\r\n //http://localhost:56749/api/Ticket/DeleteTicket?UserId=asd&TicketId=asdasd\r\n this.DeleteTickets = function(userId,ticketId,token){\r\n // var url = ApiURL + \"/api/Ticket/DeleteTicket?UserId=\"+userId+ \"&TicketId=\"+ticketId;\r\n // return $http.delete(url,{\r\n // headers:{'Content-Type':'application/json','Token':token}\r\n // })\r\n\r\n return $http({\r\n method: 'DELETE',\r\n url: ApiURL + \"/api/Ticket/DeleteTicket?UserId=\"+userId+ \"&TicketId=\"+ticketId,\r\n data: {\r\n \r\n },\r\n headers: {\r\n 'Content-type': 'application/json', 'Token':token,'UserId': userId\r\n }\r\n })\r\n }\r\n\r\n this.SetTicketExecutionMode = function(reqUserId,mode,ticektIds,token){\r\n var url = ApiURL + \"/api/Ticket/SetTicketExecutionMode?ReqUserId=\" + reqUserId + \"&mode=\" + mode;\r\n return $http.put(url, {\r\n \"tickets\":ticektIds\r\n }, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': reqUserId\r\n }\r\n })\r\n }\r\n\r\n\r\n this.updateStartTime = function (ticketId, userId, startTime, token, success, failure) {\r\n var url = ApiURL + \"/api/Ticket/updatestartdate?requserid=\" + userId + \"&ticketid=\" + ticketId + \"&starttime=\" + encodeURI(startTime.format(\"YYYY-MM-DDThh:mm:ss.SSSZ\"));\r\n $http.put(url, {\r\n \"requserid\": userId,\r\n \"ticketid\": ticketId,\r\n \"starttime\": startTime.format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\")\r\n }, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': userId\r\n }\r\n }).then(function (res) {\r\n if (res) {\r\n success(res);\r\n } else {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n }\r\n }, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n //http://115.124.122.225/coreapi/api/Ticket/setsettlementstatus\r\n // this.updateTicketSettlement = function(data, token, success, failure){\r\n // var url = ApiURL + \"/api/Ticket/setsettlementstatus\"\r\n // $http.put(url, data,{\r\n // headers:{'Content-Type': 'application/json', 'Token': token}\r\n // }).then(success, function(error){\r\n // failure(\"Failed\", \"Job Settlement not updated. Server is not responding correctly.\")\r\n // });\r\n // }\r\n\r\n\r\n this.updateTicketSettlement = function (data, token, loggedInUserId, success, failure) {\r\n \r\n var url = ApiURL + \"/api/Ticket/setsettlementstatus\"\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.ApproveJob = function (data, token, loggedInUserId, success, failure) { \r\n var url = ApiURL + '/api/Ticket/updatestatus';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.AcceptJob = function (data, token, loggedInUserId, success, failure) { \r\n var url = ApiURL + '/api/Ticket/updatestatus';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.RejectJob = function (data, token, loggedInUserId, success, failure) { \r\n var url = ApiURL + '/api/Ticket/updatestatus';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.ConvertToNewJob = function (data, token, loggedInUserId, success, failure) { \r\n var url = ApiURL + '/api/Ticket/updatestatus';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n ///http://192.168.0.80:92/CoreAPI/api/Ticket/akshit.chauhan%40innotiontech.com/T0000000102/returnticket\r\n this.PullBackTicket = function (loggedInUserId, ticketId, token) {\r\n var url = ApiURL + '/api/Ticket/' + loggedInUserId + '/' + ticketId + '/returnticket';\r\n return $http.put(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n })\r\n }\r\n\r\n\r\n //https://test.mymobiforce.com/coreapi/api/Ticket/F00000000000/asdas/ActionByVendor?Action=asdasd\r\n this.ActionByVendor = function(loggedInUserId,ticketIds,action,token){\r\n var url = ApiURL + '/api/Ticket/' + loggedInUserId + '/'+ticketIds+'/ActionByVendor?Action='+action;\r\n return $http.put(url,{},{\r\n headers:{\r\n 'Content-Type':'application/json',\r\n 'Token':token,\r\n 'UserId': loggedInUserId\r\n }\r\n })\r\n }\r\n\r\n\r\n //http://192.168.0.80:92/Coreapi/api/Ticket/reqUserId/TicketId/HoldingStatus/ticketholding\r\n this.UpdateHoldingStatus = function (loggedInUserId, ticketId, holdingStatus,reason,Remark, token) {\r\n var url = ApiURL + '/api/Ticket/' + loggedInUserId + '/' + ticketId + '/ticketholding?HoldingStatus=' + holdingStatus +'&Reason=' + reason+ '&Remark='+ Remark;\r\n return $http.put(url,{}, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n })\r\n }\r\n\r\n this.updateTicket = function (ticket, loggedInUserId, token) {\r\n var url = ApiURL + '/api/Ticket?reqUserId=' + loggedInUserId;\r\n return $http.put(url, ticket, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.getJobAllStatus = function (loggedInUserId, token, success, failure) {\r\n var url = ApiURL + '/api/TicketStatus/' + loggedInUserId + '/GetAllTicketStatus';\r\n $http.get(url, { headers: { 'Token': token, 'UserId': loggedInUserId } }).then(function (res) {\r\n if (res && res.status == 200 && res.data) {\r\n if (success) {\r\n success(res.data);\r\n }\r\n } else if (res && res.data) {\r\n if (failure) {\r\n failure(\"Failed\", res.data);\r\n }\r\n } else {\r\n if (failure) {\r\n failure(\"Failed\", \"Unable to get status list, server is not responding correctly\");\r\n }\r\n }\r\n }, function (err) {\r\n if (failure) {\r\n failure(\"Failed\", \"Unable to get status list, server is not responding correctly\");\r\n }\r\n });\r\n }\r\n\r\n this.downloadMultipleReports = function (loggedInUserId, ticketId, reportMapperId, correlated) {\r\n var url = PublicApiURL + \"/api/Report/\" + ticketId + \"/DownloadReportByTemplateName?reqUserId=\" + loggedInUserId + \"&correlated=\" + (correlated?\"True\":\"False\")\r\n\r\n $window.open(url);\r\n }\r\n\r\n //https://product.mymobiforce.com/publicapi/api/Report/GeneratePdfOnSiteReportForMultipleTickets?TicketIds=T1140000016464_1\r\n this.downloadMultipleReports = function (loggedInUserId, ticketId, reportMapperId, correlated) {\r\n var url = PublicApiURL + \"/api/Report/\" + ticketId + \"/DownloadReportByTemplateName?reqUserId=\" + loggedInUserId + \"&correlated=\" + (correlated?\"True\":\"False\")\r\n\r\n $window.open(url);\r\n }\r\n\r\n\r\n //http://localhost:55238/api/Report/456/DownloadInvoice?reqUserId=123&correlated=True\r\n this.downloadInvoice = function (loggedInUserId, ticketId, correlated) {\r\n var url = PublicApiURL + \"/api/Report/\" + ticketId + \"/DownloadInvoice?reqUserId=\" + loggedInUserId + \"&correlated=\" + (correlated?\"True\":\"False\")\r\n\r\n $window.open(url);\r\n }\r\n\r\n this.getSkills = function (loggedinUser, token, callback, failure) {\r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json', 'Token': token,'UserId': loggedinUser } }).then(function (res) {\r\n if(callback){\r\n callback(res.data);\r\n }\r\n // vm.showSuccess(\"skills\", \"Got skills list\");\r\n }, function () {\r\n failure(\"skills\", \"Unable to get skills\");\r\n });\r\n }\r\n\r\n this.TicketFollowUp = function(data,files, token, loggedInUserId, success, failure){ \r\n var formdata = new FormData();\t\t\r\n formdata.append(\"files\", files[0]);\t\r\n var followupdata = JSON.stringify(data);\r\n formdata.append(\"ActivityModel\", followupdata);\r\n \r\n var url = ActivityURL + '/api/Activity/FollowUpWithReason';\r\n return $http.post(url,formdata,{\r\n headers:{'Content-Type':undefined,'Token':token,'UserId': loggedInUserId }\r\n }).then(success, function(error){\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n this.TicketFollowUpWithoutDoc = function(data, token, loggedInUserId, success, failure){ \r\n var formdata = new FormData();\t\t\r\n var followupdata = JSON.stringify(data);\r\n formdata.append(\"ActivityModel\", followupdata);\r\n \r\n var url = ActivityURL + '/api/Activity/FollowUpWithReason';\r\n return $http.post(url,formdata,{\r\n headers:{'Content-Type':undefined,'Token':token,'UserId': loggedInUserId }\r\n }).then(success, function(error){\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n \r\n this.getBillExpenseByTicketID = function(loggedinUser, ticketID, token){\r\n var url = ApiURL + '/api/Expense/GetByTicketId?ReqUserId=' + loggedinUser + '&TicketId=' +ticketID;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n\r\n this.getPdfReport = function(loggedinUser, ticketID, token){\r\n var url = ApiURL + '/api/Report/GeneratePdfReportForApprovedJob?TicketId=' +ticketID;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n // https://perf.mymobiforce.com/coreapi/api/Ticket/T0000000715%2CT0000000713/F00000000000/GetDataCaptureImagebyTicketId\r\n this.downloadImage = function(loggedInUserId,ticketIDs,token){ \r\n var url = PublicApiURL + \"/api/Report/DownloadDataCaptureInFieldPicture?reqUserId=\" + loggedInUserId + \"&TicketIds=\" + ticketIDs;\r\n $window.open(url);\r\n \r\n }\r\n\r\n this.getAllCustomers = function(loggedInUser,token) {\r\n var url = ApiURL + '/api/Customer?reqUserId=' +loggedInUser;\r\n return $http.get(url,{\r\n headers:{ 'Content-Type' : 'application/json','Token':token,'UserId': loggedInUser }\r\n });\r\n }\r\n\r\n//https://product.mymobiforce.com/coreapi/api/Customer/GetCustomerByAccountId?accountId=114\r\nthis.GetCustomersByAccount = function (loggedinUser, accountId, token) {\r\n var url = ApiURL + '/api/Customer/GetCustomerByAccountId?accountId=' + accountId\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json','Token':token,'UserId': loggedinUser }\r\n })\r\n}\r\n\r\n this.GetAllProjects = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/Project/' + loggedinUser + '/' + loggedinUser + '/GetProjectsByUserId'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json','Token':token,'UserId': loggedinUser }\r\n })\r\n}\r\n\r\n// https://product.mymobiforce.com/FreelancerAPI/api/FreeLancerUser/F00000001230/U400000000001/byUserIdWithJobCount\r\nthis.getUserProfileData = function (loggedinUser,userid, token) {\r\n var url = FreelancerURL + '/api/FreeLancerUser/' + userid + '/' + loggedinUser + '/byUserIdWithJobCount'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json','Token':token,'UserId': loggedinUser }\r\n })\r\n}\r\n\r\n// https://perf.mymobiforce.com/coreapi/api/User/235432432/byUserIdWithJobCount?reqUserId=34234\r\nthis.getFixedUserProfileData = function (loggedinUser,userid, token) {\r\n var url = ApiURL + '/api/User/' + userid + '/byUserIdWithJobCount?reqUserId=' + loggedinUser\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json','Token':token,'UserId': loggedinUser }\r\n })\r\n}\r\n//https://product.mymobiforce.com/coreapi/api/Ticket/CancelTicket?reqUserId=dfgdfs&TicketId=dfgfdg\r\nthis.CancelTicket = function(loggedInUserId,ticketId, token){\r\n var url = ApiURL + '/api/Ticket/CancelTicket?reqUserId='+loggedInUserId +'&TicketId='+ticketId;\r\n return $http.put(url,null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n}\r\nthis.TBCCancelationAudit = function(TBCCancelationModel,ticketId,loggedInUserId, token){\r\n var url = ApiURL + '/api/Ticket/UpdateJobAudit?TicketId='+ticketId +'&AuditValue='+TBCCancelationModel;\r\n return $http.put(url,null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n}\r\nthis.GetCSATRatingByTicketID = function (loggedInUserId, ticketId,token) {\r\n var url = '';\r\n url = ApiURL + '/api/Ticket/'+loggedInUserId+'/'+ticketId+'/GetCSATRatingByTicketID';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n}\r\n this.GetCancellationReasons = function (status, loggedInUserId,token) {\r\n var url = '';\r\n url = ApiURL + '/api/TicketCancelationReasonController/'+loggedInUserId+'/getCancellationReasons?AtStatus=' + status;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\nthis.UpdateJobServerCancel = function (CancellationReasonsModel, loggedInUserId, token) {\r\n var url = ApiURL + '/api/Ticket/UpdateJobServerCancel';\r\n return $http.put(url, CancellationReasonsModel, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n}\r\nthis.GetTicketByGeneralSearch = function (SearchText, PageIndex, PageSize,loggedInUserId,token) {\r\n var url = '';\r\n url = ApiURL + '/api/Ticket/GetTicketByGeneralSearch?searchText=' + SearchText + '&PageIndex=' + PageIndex+ '&PageSize=' + PageSize;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n}\r\nthis.AddSiteAuditwithAttachment = function(data, files, token, loggedinUser){ \r\n var formdata = new FormData();\t\t\r\n formdata.append(\"files\", files[0]);\t\r\n var followupdata = JSON.stringify(data);\r\n formdata.append(\"AuditRequestModel\", followupdata);\r\n formdata.append(\"reqUserId\", loggedinUser);\r\n var url = ApiURL + '/api/Upload/PostMediaFileWithAuditObject';\r\n return $http.post(url,formdata,{\r\n headers:{'Content-Type':undefined,'Token':token, 'UserId': loggedinUser}\r\n });\r\n}\r\n//https://product.mymobiforce.com/coreapi/api/Invoice/GetTicketDataToRaiseInvoice\r\nthis.GetTicketDataToRaiseInvoice = function (loggedinUser, ticketIdList,token) {\r\n var url = ApiURL + '/api/Invoice/GetTicketDataToRaiseInvoice'\r\n return $http.put(url, ticketIdList,{\r\n headers: { 'Content-Type': 'application/json','Token':token,'UserId': loggedinUser }\r\n })\r\n}\r\n\r\n//https://product.mymobiforce.com/coreapi/api/Invoice/MarkTicketsReadyToRaiseInvoice\r\nthis.MarkTicketsReadyToRaiseInvoice = function (loggedinUser, ticketwithLineitemList,token) {\r\n var url = ApiURL + '/api/Invoice/MarkTicketsReadyToRaiseInvoice'\r\n return $http.put(url, ticketwithLineitemList,{\r\n headers: { 'Content-Type': 'application/json','Token':token,'UserId': loggedinUser }\r\n })\r\n}\r\n\r\n //https://product.mymobiforce.com/CoreAPI/api/TicketRemarkOnStatus/getTicketRemarkOnStatus?AtStatus=FollowUp\r\n this.GetReasonsByStatus = function (loggedinUser, token, status) {\r\n var url = ApiURL + '/api/TicketRemarkOnStatus/getTicketRemarkOnStatus?AtStatus='+status;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json', 'Token': token, 'UserId': loggedinUser}\r\n });\r\n }\r\n\r\n this.ConvertJobIntoNew = function (loggedinUser,ticketId, token) {\r\n var url = ApiURL + '/api/Ticket/ConvertToNewFromBroadcasted'; \r\n return $http.post(url,ticketId, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token , 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n});\r\n\nangular.module('inspinia').controller('JobListController', function ($state, PaymentSectionService, $scope,JobListService, CentralHelpdeskConfigService, $rootScope,JobTicketViewService, $stateParams, UIURL, $log, $localStorage, DTOptionsBuilder, ApiURL, DTColumnBuilder, $uibModal, $scope, toaster, $filter, DTColumnDefBuilder, $window, $timeout, PublicApiURL, jobBidCreationService, ImageUrl) {\r\n var vm = this;\r\n\r\n \r\n $scope.toggle = false;\r\n\r\n\r\n\r\n $scope.IsVisible = false;\r\n $scope.ShowHide = function () {\r\n \r\n $scope.IsVisible = $scope.IsVisible ? false : true;\r\n }\r\n\r\n var loggedInUserId = $localStorage.loggedInUserId;\r\n if (!loggedInUserId) {\r\n \r\n $state.go('Login', {\r\n reload: true\r\n });\r\n \r\n } else {\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.accountConfig = $localStorage.accountConfig;\r\n vm.confirmTagModal = $scope.$parent.$parent.main.confirmTagModal;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.EnableRegion = vm.getAccountConfigSetting('EnableRegion');\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n var token = $localStorage.token;\r\n vm.Remarks = '';\r\n vm.selectedTemplates = '';\r\n vm.PaymentStatus = '';\r\n vm.SettlementStatus = '';\r\n vm.enableFilters = true;\r\n vm.actionFlag = false;\r\n vm.editPermission = false;\r\n vm.ticketList = [];\r\n vm.statusList = [];\r\n vm.reasonsForFU = '';\r\n vm.reasonsForHold = ''; \r\n vm.primaryFollowUpReason = '';\r\n vm.primaryFollowUpRemark = ''; \r\n vm.primaryHoldReason='';\r\n vm.primaryHoldRemark=''; \r\n // $scope.$parent.$parent.main.implementSelectItems('ticketList', this);\r\n vm.approvalRemark = '';\r\n vm.RejectionRemark = '';\r\n vm.searchText = \"\";\r\n vm.IsSearch = false;\r\n vm.searchStatusText = \"\";\r\n //vm.searchLabText = \"\";\r\n vm.HDAllAccounts = [];\r\n vm.searchJobTypeText = \"\";\r\n vm.SearchByAccountName = \"\";\r\n vm.DateField=\"StatusChangedOn\";\r\n vm.CustomerList = [];\r\n vm.ProjectList = [];\r\n vm.SearchByIs = '';\r\n vm.SearchByDiscription = '';\r\n vm.SearchByTName = '';\r\n vm.SearchByPName = '';\r\n vm.SearchByCName = '';\r\n vm.JobcountbyStatus=\"\";\r\n vm.previousPage = $localStorage.previousPage;\r\n vm.autoScheduleOn = $localStorage.accountConfig.IsAutoSchedulerOn;\r\n var approveModalInstance = {};\r\n var supervisorId = $localStorage.loggedInUserId;\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n vm.loggedInAs = $localStorage.loggedinAs;\r\n //$log.log(\"role\", vm.Role);\r\n vm.aproveMessage = 'Please Rate !';\r\n var itemNames = '';\r\n var itemValues = '';\r\n var templateItemNames = '';\r\n var templateItemValues = '';\r\n var textItemNames = '';\r\n var textItemValues = '';\r\n var PageIndex = 1;\r\n var PageSize = 10; \r\n vm.IsSafetyAudit = 'Not Done'; \r\n vm.ratingwarning=\"\";\r\n vm.ticketListLength=0;\r\n vm.pageindexCount=0;\r\n vm.SiteAuditFileName=\"\";\r\n vm.TicketDataToRaiseInvoiceList = []; \r\n vm.IsLoadSucessfull=false;\r\n \r\n var startDate = moment().subtract(7, 'day').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.ticketdates = { startDate: moment().subtract(7, 'day'), endDate: moment() };\r\n vm.ticketranges = {\r\n 'Today': [moment(), moment()],\r\n // 'Yesterday': [moment().subtract(1, 'days'), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')]\r\n };\r\n vm.path = \"\";\r\n vm.path = $rootScope.rootScopeMessage;\r\n \r\n if (vm.path == 'NewJobDetailsCopy') {\r\n \r\n vm.searchJobTypeText = $localStorage.AllJobType;\r\n vm.searchStatusText = $localStorage.AllJobStatus;\r\n var data = $localStorage.TicketFilterModel;\r\n \r\n if(data){\r\n vm.SearchByPName = data.JobProject;\r\n vm.SearchByTName = data.JobTName;\r\n vm.SearchByDiscription = data.JobDesc;\r\n vm.SearchByIs = data.JobId;\r\n vm.searchJobTypeText = data.JobType;\r\n vm.searchStatusText = data.JobStatus;\r\n vm.DateField = data.JobDType;\r\n PageIndex = data.PageIndex;\r\n vm.ticketdates = { startDate: data.JobSDate, endDate: data.JobEDate };\r\n \r\n }\r\n \r\n \r\n }\r\n \r\n if (vm.path == 'isTicketView') {\r\n var startDate = $localStorage.SDate;\r\n var endDate = $localStorage.EDate;\r\n vm.ticketdates = { startDate: startDate, endDate: endDate };\r\n } else {\r\n var startDate = $localStorage.SDate?$localStorage.SDate: moment().subtract(1, 'day').format(\"YYYY-MM-DD\");\r\n var endDate = $localStorage.EDate? $localStorage.EDate: moment().format(\"YYYY-MM-DD\");\r\n vm.ticketdates = { startDate: startDate, endDate: endDate };\r\n // $scope.dates = { startDate: moment().subtract(1, 'day'), endDate: moment() };\r\n }\r\n\r\n $scope.totalTableUsers = 0;\r\n $scope.usersTablePerPage = 10; // this should match however many results your API puts on one page\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n \r\n $scope.UserTablepagination.current= $localStorage.TicketFilterModel?$localStorage.TicketFilterModel.PageIndex:1;\r\n PageIndex=$scope.UserTablepagination.current;\r\n $scope.UserTablepageChanged = function(newPage) { \r\n PageIndex = newPage;\r\n vm.FilterArray(); \r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,newPage,PageSize);\r\n };\r\n\r\n \r\n vm.ResetFilter = function(){\r\n vm.searchStatusText = \"\";\r\n vm.searchLabText = \"\";\r\n vm.searchJobTypeText = \"\";\r\n vm.DateField=\"StatusChangedOn\"; \r\n vm.SearchByIs = '';\r\n vm.SearchByDiscription = '';\r\n vm.SearchByTName = '';\r\n vm.SearchByPName = '';\r\n vm.SearchByCName = ''; \r\n vm.SearchByAccountName = ''; \r\n //vm.CustomerList = [];\r\n //vm.ProjectList = [];\r\n vm.ProjectListByCustomer=[];\r\n PageIndex=1;\r\n PageSize=10;\r\n vm.FilterArray(); \r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n\r\n }\r\n vm.FilterArray = function () {\r\n \r\n itemNames = '';\r\n itemValues = '';\r\n templateItemNames = '';\r\n templateItemValues = '';\r\n if (vm.searchJobTypeText) { \r\n itemNames = 'Skill';\r\n itemValues = vm.searchJobTypeText.join(\"|\"); \r\n } \r\n if (vm.searchStatusText && vm.searchStatusText != \"\")\r\n { \r\n if(itemNames.length > 0 && itemValues.length > 0){\r\n itemNames = itemNames + ',Status';\r\n itemValues = itemValues + ',' + vm.searchStatusText.join(\"|\");\r\n }else{\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText.join(\"|\");\r\n }\r\n } \r\n if(vm.JobcountbyStatus)\r\n {\r\n itemNames = 'Status';\r\n itemValues = vm.JobcountbyStatus;\r\n }\r\n\r\n if(vm.SearchByAccountName)\r\n {\r\n if(itemNames){\r\n itemNames = itemNames + ',AccountName';\r\n itemValues = itemValues + ',' + vm.SearchByAccountName;\r\n }else{\r\n itemNames = 'AccountName';\r\n itemValues = vm.SearchByAccountName;\r\n }\r\n }\r\n\r\n if(vm.SearchByCName){\r\n if(itemNames.length > 0 && itemValues.length > 0){\r\n itemNames = itemNames + ',CustomerName';\r\n itemValues = itemValues + ',' + vm.SearchByCName;\r\n }else{\r\n itemNames = 'CustomerName';\r\n itemValues = vm.SearchByCName;\r\n }\r\n if(itemNames.length > 0 && itemValues.length > 0){\r\n itemNames = itemNames + ',ProjectName';\r\n itemValues = itemValues + ',' + vm.SearchByPName;\r\n }else{\r\n itemNames = 'ProjectName';\r\n itemValues = vm.SearchByPName;\r\n }\r\n }\r\n textItemNames = '';\r\n textItemValues = '';\r\n if(vm.SearchByIs){\r\n if(textItemNames.length == 0 && textItemValues.length == 0){\r\n textItemNames = 'CorelationValue';\r\n textItemValues = vm.SearchByIs;\r\n }else{\r\n textItemNames = textItemNames + ',CorelationValue';\r\n textItemValues = textItemValues + ',' + vm.SearchByIs;\r\n }\r\n \r\n }\r\n if(vm.SearchByDiscription){\r\n if(textItemNames.length == 0 && textItemValues.length == 0){\r\n textItemNames = 'JobDescription';\r\n textItemValues = vm.SearchByDiscription;\r\n }else{\r\n textItemNames = textItemNames + ',JobDescription';\r\n textItemValues = textItemValues + ',' + vm.SearchByDiscription;\r\n }\r\n }\r\n if(vm.SearchByTName){\r\n if(textItemNames.length == 0 && textItemValues.length == 0){\r\n textItemNames = 'UserName';\r\n textItemValues = vm.SearchByTName;\r\n }else{\r\n textItemNames = textItemNames + ',UserName';\r\n textItemValues = textItemValues + ',' + vm.SearchByTName;\r\n }\r\n }\r\n if(vm.searchText)\r\n {\r\n itemNames = 'Search';\r\n itemValues = vm.searchText;\r\n templateItemNames = '';\r\n templateItemValues = ''; \r\n textItemNames = '';\r\n textItemValues = '';\r\n } \r\n }\r\n // No Need to change\r\n vm.CommonFunToGetAllJob = function(){\r\n vm.FilterArray(); \r\n var templateCols=\"\"; \r\n JobTicketViewService.downloadTicketsReports(supervisorId, startDate, endDate, itemNames, itemValues,templateCols);\r\n }\r\n vm.MailReport = function(){\r\n vm.FilterArray(); \r\n var templateCols=\"\"; \r\n JobListService.sendReportToMail(loggedInUserId, token,startDate, endDate, itemNames, itemValues,templateCols).then(function (resp) { \r\n if (resp && resp.data) { \r\n if(resp.status==200)\r\n {\r\n vm.showSuccess(\"Success\", resp.data);\r\n }\r\n } \r\n else {\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n } \r\n }, function () { \r\n });;\r\n }\r\n\r\n vm.getAllAccounts = function ( ) {\r\n CentralHelpdeskConfigService.getAllAccounts(loggedInUserId, token).then(function (resp) { \r\n if (resp && resp.data) { \r\n if(resp.status==200)\r\n {\r\n vm.HDAllAccounts = resp.data;\r\n\r\n }\r\n } \r\n }, function () { \r\n });\r\n }\r\n\r\n vm.getAllAccounts(); \r\n\r\n vm.Allapplyfilter = function(){\r\n vm.searchText='';\r\n $scope.$broadcast('update.daterangepicker', {date: vm.ticketdates}); \r\n $scope.UserTablepagination = {}; \r\n vm.FilterArray(); \r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues,templateItemNames, templateItemValues,PageIndex,PageSize);\r\n \r\n } \r\n vm.getAllCustomer = function(){ \r\n JobTicketViewService.getAllCustomers(supervisorId,token).then(function(resp){\r\n vm.CustomerList = resp.data;\r\n })\r\n } \r\n vm.getAllProject= function(){ \r\n JobTicketViewService.GetAllProjects(supervisorId,token).then(function(resp){\r\n vm.ProjectList = resp.data;\r\n })\r\n }\r\n //vm.getAllCustomer();\r\n //vm.getAllProject();\r\n\r\n vm.GetCustomerByAccount=function()\r\n { var SelectedAccountId = ''; \r\n angular.forEach(vm.HDAllAccounts, function (account) {\r\n if (account.AccountName==vm.SearchByAccountName) {\r\n SelectedAccountId = account.AccountId; \r\n }\r\n })\r\n JobListService.GetCustomersByAccount(loggedInUserId,SelectedAccountId,token).then(function(resp){\r\n vm.CustomerList = resp.data;\r\n })\r\n }\r\n\r\n \r\n vm.GetProjectByCustomer=function()\r\n {\r\n vm.ProjectListByCustomer=[];\r\n angular.forEach(vm.CustomerList, function (customer) {\r\n if (customer.CompanyName==vm.SearchByCName) {\r\n vm.ProjectListByCustomer = customer.Projects;\r\n }\r\n })\r\n }\r\n vm.OpenAutoScheduleConfirmationModal = function () \r\n { \r\n vm.confirmationMessage = 'Do you want to auto schedule the jobs?';\r\n confirmationModalInstance = $uibModal.open({\r\n templateUrl: 'auto_schedule_confirmation_model.html',\r\n scope: $scope\r\n }); \r\n }\r\n \r\n vm.confirmationCloseModal = function () {\r\n confirmationModalInstance.close();\r\n }\r\n vm.AutoScheduleJobs = function () { \r\n JobTicketViewService.AutoBroadcastAllNewJobsManualMode(supervisorId,token).then(function (resp) {\r\n if (resp.status == 200) {\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000); \r\n confirmationModalInstance.close(); \r\n vm.showSuccess(\"Success\", \"Jobs has been auto scheduled successfully\");\r\n }\r\n if (resp.status == 206) { \r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }\r\n }, function () { \r\n });\r\n }\r\n vm.SubmitFilter = function () { \r\n $scope.UserTablepagination={}; \r\n vm.searchText='';\r\n var startDate = moment(vm.ticketdates.startDate).format('YYYY-MM-DD');\r\n var endDate = moment(vm.ticketdates.endDate).format('YYYY-MM-DD');\r\n vm.FilterArray(); \r\n PageIndex=1;\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n \r\n }\r\n vm.dateRangeChange = function (ev, picker) { \r\n vm.IsSearch = true;\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\"); \r\n vm.ticketdates = { startDate: startDate, endDate: endDate }; \r\n };\r\n \r\n vm.outsidedateRangeChange = function (ev, picker) { \r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n vm.DateField=\"StatusChangedOn\"; \r\n vm.JobcountbyStatus = '';\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n\r\n };\r\n vm.getAllJobTicketsCopy = function (supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize) {\r\n vm.FilterArray();\r\n var templateCols=\"\";\r\n PageIndex = PageIndex?PageIndex:1;\r\n vm.DateField = vm.DateField?vm.DateField:\"CreatedOn\";\r\n JobTicketViewService.getAllJobTicketsCopy(supervisorId, startDate, endDate, token, itemNames, itemValues,textItemNames, textItemValues, templateCols, templateItemNames, templateItemValues,vm.DateField,PageIndex,PageSize).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.ticketList = resp.data.LightTicketModels;\r\n $scope.totalTableUsers = resp.data.Count;\r\n vm.ApprovedJobCount = resp.data.ApprovedJobCount;\r\n vm.AssignJobCount = resp.data.AssignJobCount;\r\n vm.BroadcastJobCount = resp.data.BroadcastJobCount;\r\n vm.CancelJobCount = resp.data.CancelJobCount;\r\n vm.CompleteJobCount = resp.data.CompleteJobCount;\r\n vm.TotalJobCount = resp.data.TotalJobCount;\r\n vm.HoldJobCount = resp.data.HoldJobCount;\r\n vm.InTransitJobCount = resp.data.InTransitJobCount; \r\n vm.OnSiteJobCount = resp.data.OnSiteJobCount; \r\n vm.InProgressJobCount = resp.data.InProgressJobCount; \r\n vm.NewJobCount = resp.data.NewJobCount;\r\n vm.ReadyToAssigJobCount = resp.data.ReadyToAssigJobCount;\r\n vm.RejectedJobCount = resp.data.RejectedJobCount;\r\n vm.ScheduleExceptionJobCount = resp.data.ScheduleExceptionJobCount;\r\n vm.AddressExceptionCount = resp.data.AddressExceptionCount;\r\n vm.PriceExceptionCount = resp.data.PriceExceptionCount;\r\n vm.BroadcastCountTickets = resp.data.BroadcastCountTickets;\r\n\r\n vm.enableFilters = true;\r\n vm.actionFlag = false;\r\n $localStorage.TList = vm.ticketList;\r\n $localStorage.AllJobType = vm.searchJobTypeText;\r\n $localStorage.AllJobStatus = vm.searchStatusText;\r\n angular.forEach(vm.ticketList, function (t) {\r\n t.StartTime = moment(t.StartTime, \"YYYY-MM-DDThh:mm:ssZ\");\r\n t.StartTimeD = t.StartTime.format(\"DD/MM/YYYY LTS\");\r\n })\r\n\r\n if(vm.ticketList.length < 10)\r\n vm.ticketListLength = $scope.totalTableUsers;\r\n else\r\n vm.ticketListLength = PageIndex * 10;\r\n if(PageIndex==1)\r\n vm.pageindexCount = 1;\r\n else\r\n vm.pageindexCount = (((PageIndex-1) * 10) + 1);\r\n }\r\n \r\n }, function () { \r\n });\r\n }\r\n vm.getAllTicketsByStatus = function(status)\r\n {\r\n vm.JobcountbyStatus=status;\r\n //$scope.UserTablepagination={}; \r\n vm.searchText='';\r\n vm.searchJobTypeText = \"\"; \r\n vm.searchStatusText=''; \r\n vm.CustomerList = [];\r\n vm.ProjectList = [];\r\n vm.ProjectListByCustomer=[];\r\n vm.SearchByIs = '';\r\n vm.SearchByDiscription = '';\r\n vm.SearchByTName = '';\r\n vm.SearchByPName = '';\r\n vm.SearchByCName = '';\r\n // var startDate = moment(vm.ticketdates.startDate).format('YYYY-MM-DD');\r\n // var endDate = moment(vm.ticketdates.endDate).format('YYYY-MM-DD'); \r\n \r\n vm.FilterArray(); \r\n \r\n PageIndex=1;\r\n /*$scope.UserTablepagination = {\r\n current: 1\r\n };*/\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n \r\n }\r\n vm.Action = function (action) {\r\n \r\n var ticketId = '';\r\n \r\n angular.forEach(vm.ticketList, function (t) {\r\n if (t.checked) {\r\n ticketId += t.TicketId + \",\";\r\n }\r\n })\r\n ticketId = ticketId.length > 0 ? ticketId.substring(0, ticketId.length - 1) : ticketId;\r\n \r\n if (action == 'Accepted') {\r\n vm.editPermission = true;\r\n vm.confirmTagModal(\"Do you want to accept selected ticket's?\", function () {\r\n $log.log('Accept CallBack Call');\r\n JobTicketViewService.ActionByVendor(loggedInUserId, ticketId, action, token).then(function (resp) {\r\n if (resp.status == 202) { \r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n vm.actionFlag = false;\r\n vm.showSuccess(\"Success\", \"Selected Jobs has been accepted successfully\");\r\n \r\n } else {\r\n vm.showFailure(\"Failed\", \"Server facing some technical issue, please try again later\");\r\n }\r\n })\r\n })\r\n } else {\r\n vm.editPermission = false;\r\n vm.confirmTagModal(\"Do you want to reject selected ticket's?\", function () {\r\n $log.log('Accept CallBack Call');\r\n JobTicketViewService.ActionByVendor(loggedInUserId, ticketId, action, token).then(function (resp) {\r\n if (resp.status == 202) { \r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.actionFlag = false;\r\n }, 1000);\r\n vm.showSuccess(\"Success\", \"Selected Jobs has been rejected successfully\");\r\n \r\n } else {\r\n vm.showFailure(\"Failed\", \"Server facing some technical issue, please try again later\");\r\n }\r\n })\r\n })\r\n }\r\n }\r\n vm.enableFilters = true;\r\n \r\n vm.dtInstance = {}; \r\n vm.searchTable = function () { \r\n vm.FilterArray(); \r\n vm.ResetFilter(); \r\n // vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n \r\n };\r\n \r\n if($localStorage.backToTicketList==\"JobDetailView\")\r\n { \r\n $localStorage.backToTicketList=\"\"; \r\n vm.searchStatusText=$localStorage.TicketFilterModel.JobStatus;\r\n vm.searchJobTypeText=$localStorage.TicketFilterModel.JobType;\r\n vm.SearchByIs=$localStorage.TicketFilterModel.JobId;\r\n vm.SearchByDiscription=$localStorage.TicketFilterModel.JobDesc;\r\n vm.SearchByTName=$localStorage.TicketFilterModel.JobTName;\r\n vm.SearchByCName=$localStorage.TicketFilterModel.JobCustomer;\r\n vm.SearchByPName=$localStorage.TicketFilterModel.JobProject;\r\n vm.DateField=$localStorage.TicketFilterModel.JobDType;\r\n PageIndex=$localStorage.TicketFilterModel.PageIndex;\r\n vm.JobcountbyStatus=$localStorage.TicketFilterModel.JobcountbyStatus;\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n $localStorage.backToTicketList=\"\"; \r\n $localStorage.TicketFilterModel.PageIndex = 1;\r\n \r\n }\r\n else\r\n { \r\n if( typeof $localStorage.TicketFilterModel === \"undefined\" || $localStorage.TicketFilterModel==\"\" || typeof $localStorage.TicketFilterModel.PageIndex === \"undefined\")\r\n PageIndex=1;\r\n\r\n $localStorage.TicketFilterModel = {};\r\n $localStorage.TicketFilterModel.PageIndex = 1;\r\n \r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n $localStorage.TicketFilterModel = {};\r\n }\r\n vm.closeSearchText = function()\r\n { \r\n if(vm.searchText!=\"\")\r\n {\r\n vm.searchText=\"\";\r\n vm.ResetFilter();\r\n }\r\n }\r\n vm.ViewJob = function (ticket) { \r\n $localStorage.backToOldJobList = '';\r\n $localStorage.SDate = startDate;\r\n $localStorage.EDate = endDate;\r\n $localStorage.previousPage = 'jobticketcopy';\r\n $localStorage.TicketFilterModel ={\r\n \"JobType\" : vm.searchJobTypeText,\r\n \"JobStatus\" : vm.searchStatusText,\r\n \"JobDType\" : vm.DateField,\r\n \"JobSDate\" : startDate,\r\n \"JobEDate\" : endDate,\r\n \"JobId\" : vm.SearchByIs,\r\n \"JobDesc\" : vm.SearchByDiscription,\r\n \"JobTName\" : vm.SearchByTName, \r\n \"JobCustomer\" : vm.SearchByCName,\r\n \"JobProject\" : vm.SearchByPName,\r\n \"PageIndex\" : PageIndex,\r\n \"JobcountbyStatus\" : vm.JobcountbyStatus\r\n \r\n } ;\r\n // vm.VerticalName == 'Telecom' || vm.VerticalName == 'IMS'\r\n if(vm.VerticalName == 'IMS'){\r\n $state.go('index.JobView', {\r\n ticketId: ticket\r\n }, {\r\n reload: true\r\n });\r\n }else{\r\n $state.go('index.JobDetailView', {\r\n ticketId: ticket\r\n }, {\r\n reload: true\r\n }); \r\n }\r\n \r\n }\r\n\r\n vm.state = {};\r\n var columns = [\r\n {'name': 'field1', 'visible':true},//0\r\n {'name': 'field1', 'visible':true},//1\r\n {'name': 'field1', 'visible':true},//2\r\n {'name': 'field1', 'visible':true},//3\r\n {'name': 'field1', 'visible':true},//4\r\n {'name': 'field1', 'visible':true},//5\r\n {'name': 'field1', 'visible':true},//6\r\n {'name': 'field1', 'visible':true},//7\r\n {'name': 'field1', 'visible':true},//8\r\n {'name': 'field1', 'visible':true},//9\r\n {'name': 'field1', 'visible':true},//10\r\n {'name': 'field1', 'visible':true},//11\r\n {'name': 'field1', 'visible':true},//12\r\n {'name': 'field1', 'visible':true},//13\r\n {'name': 'field1', 'visible':true},//14\r\n {'name': 'field1', 'visible':true},//15\r\n {'name': 'field1', 'visible':true},//16\r\n {'name': 'field1', 'visible':true},//17\r\n {'name': 'field1', 'visible':true},//18\r\n {'name': 'field1', 'visible':true},//19\r\n {'name': 'field1', 'visible':true},//20\r\n {'name': 'field1', 'visible':true},//21\r\n {'name': 'field1', 'visible':true},//22\r\n {'name': 'field1', 'visible':true},//23\r\n {'name': 'field1', 'visible':true},//24\r\n {'name': 'field1', 'visible':true},//25\r\n {'name': 'field1', 'visible':true},//26\r\n {'name': 'field1', 'visible':true},//27\r\n {'name': 'field1', 'visible':true},//28\r\n {'name': 'field1', 'visible':true},//29\r\n {'name': 'field1', 'visible':true},//30\r\n {'name': 'field1', 'visible':true},//31\r\n {'name': 'field1', 'visible':true},//32\r\n {'name': 'field1', 'visible':true},//33\r\n {'name': 'field1', 'visible':true},//34\r\n {'name': 'field1', 'visible':true},//35\r\n {'name': 'field1', 'visible':true},//36\r\n {'name': 'field1', 'visible':true},//37\r\n {'name': 'field1', 'visible':true},//38\r\n {'name': 'field1', 'visible':true},//39\r\n {'name': 'field1', 'visible':true},//40\r\n {'name': 'field1', 'visible':true},//41\r\n {'name': 'field1', 'visible':true},//42\r\n {'name': 'field1', 'visible':true},//43\r\n {'name': 'field1', 'visible':true},//44\r\n {'name': 'field1', 'visible':true},//45\r\n {'name': 'field1', 'visible':true},//46\r\n {'name': 'field1', 'visible':true},//47\r\n {'name': 'field1', 'visible':true},//48\r\n {'name': 'field1', 'visible':true},//49\r\n {'name': 'field1', 'visible':true},//50\r\n {'name': 'field1', 'visible':true},//51\r\n {'name': 'field1', 'visible':true},//52\r\n {'name': 'field1', 'visible':true},//53\r\n {'name': 'field1', 'visible':true},//54\r\n {'name': 'field1', 'visible':true},//55\r\n {'name': 'field1', 'visible':true},//56\r\n {'name': 'field1', 'visible':true},//57\r\n {'name': 'field1', 'visible':true},//58\r\n {'name': 'field1', 'visible':true}//59\r\n ]\r\n\r\n vm.state.columns = columns;\r\n \r\n vm.dtOptions = DTOptionsBuilder.newOptions()\r\n .withPaginationType('full_numbers').withOption('lengthChange', false)\r\n .withOption('paging', false)\r\n .withOption('bInfo',false)\r\n .withOption('order', []);\r\n\r\n\r\n vm.dtColumnDefs = []; \r\n\r\n vm.buildColumnBuilder = function (){\r\n var tablecolumns = [];\r\n for(var index = 0; index < vm.state.columns.length; index++)\r\n {\r\n if( vm.state.columns[index].visible)\r\n {\r\n tablecolumns.push(DTColumnDefBuilder.newColumnDef(index).notSortable());\r\n }\r\n else\r\n {\r\n tablecolumns.push(DTColumnDefBuilder.newColumnDef(index).notSortable().notVisible())\r\n }\r\n }\r\n vm.dtColumnDefs = tablecolumns;\r\n }\r\n\r\n vm.buildColumnBuilder(); \r\n \r\n \r\n // Copied from main controller\r\n vm.implementSelectItems = function (itemList, scope) {\r\n scope.selectAll = false;\r\n scope.showMinus = false;\r\n scope.showAutoSchduleBtn = false;\r\n scope.downloadFlag = false;\r\n scope.downloadReportBtn = false;\r\n scope.deleteFlag = false;\r\n scope.ReadyToRaiseInvoiceFlag = false;\r\n scope.selectRow = function (i) {\r\n //$log.log(\"selectRow called\");\r\n scope.showMinus = false;\r\n scope.selectAll = false;\r\n scope.showAutoSchduleBtn = false;\r\n scope.downloadFlag = false;\r\n scope.downloadReportBtn = false;\r\n scope.deleteFlag = false;\r\n scope.ReadyToRaiseInvoiceFlag = false;\r\n \r\n for(var j=0;j

\" + vm.name + \"

\" + ' ' + vm.contactnumber);\r\n $scope.InfoWindow.open($scope.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n $scope.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, vm.customerJobCard);\r\n \r\n //Plotting the Marker on the Map.\r\n $scope.Latlngbounds.extend(marker.position);\r\n \r\n }\r\n vm.makeJobMarker = function (position, icon, map) {\r\n var marker = new google.maps.Marker({\r\n position: position,\r\n map: map,\r\n icon: icon\r\n });\r\n \r\n //Adding InfoWindow to the Marker.\r\n (function (marker, customerJobCard) {\r\n google.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n $scope.InfoWindow.setContent(\"

\" + vm.customerJobCard.ConsumerName + \"

\" + ' ' + vm.customerJobCard.JobId + \"
\" + ' ' + moment(vm.customerJobCard.JobDateTime).format(\"YYYY-MM-DD HH:mm\") + \"
\" + ' ' + vm.customerJobCard.ConsumerContact);\r\n $scope.InfoWindow.open($scope.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n $scope.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, vm.customerJobCard);\r\n \r\n //Plotting the Marker on the Map.\r\n $scope.Latlngbounds.extend(marker.position);\r\n }\r\n //It is used for the distance also \r\n function initMap() {\r\n var pointA = new google.maps.LatLng(vm.JobLatitude, vm.JobLongitude),\r\n pointB = new google.maps.LatLng(vm.FELatitude, vm.FELongitude),\r\n // center = new google.maps.LatLng(51.3, 0.8),\r\n myOptions = {\r\n zoom: 8,\r\n zoomControl: false,\r\n scaleControl: true,\r\n mapTypeControl: false,\r\n streetViewControl: false,\r\n gestureHandling: 'greedy',\r\n // center: center,\r\n mapTypeId: google.maps.MapTypeId.ROADMAP\r\n },\r\n \r\n map = new google.maps.Map(document.getElementById('map-canvas'), myOptions),\r\n // Instantiate a directions service.\r\n directionsService = new google.maps.DirectionsService,\r\n directionsDisplay = new google.maps.DirectionsRenderer({\r\n map: map\r\n }),\r\n duration = document.getElementById('duration');\r\n distance = document.getElementById('distance');\r\n flightPath = new google.maps.Polyline({\r\n path: [pointA, pointB],\r\n // geodesic: true,\r\n strokeColor: 'red',\r\n });\r\n $scope.InfoWindow = new google.maps.InfoWindow();\r\n $scope.Latlngbounds = new google.maps.LatLngBounds();\r\n // click on marker B to get route from A to B\r\n calculateAndDisplayRoute(directionsService, directionsDisplay, pointA, pointB, distance, duration, map);\r\n var travelMode = \"DRIVING\";\r\n var icon = \"https://img.icons8.com/color/96/000000/street-view.png\";\r\n }\r\n function calculateAndDisplayRoute(directionsService, directionsDisplay, pointA, pointB, distance, duration, map) {\r\n var selectedMode = \"DRIVING\";\r\n directionsService.route({\r\n origin: pointA,\r\n destination: pointB,\r\n unitSystem: google.maps.UnitSystem.METRIC,\r\n travelMode: google.maps.TravelMode[selectedMode]\r\n }, function (response, status) {\r\n if (status == google.maps.DirectionsStatus.OK) {\r\n new google.maps.DirectionsRenderer({\r\n map: map,\r\n directions: response,\r\n suppressMarkers: true,\r\n polylineOptions: {\r\n strokeColor: \"#000000\"\r\n }\r\n });\r\n var leg = response.routes[0].legs[0];\r\n //outputTxt.innerHTML =(response.routes[0].legs[0].distance.value/1000) + \" Kms\";\r\n distance.innerHTML = response.routes[0].legs[0].distance.text;\r\n duration.innerHTML = response.routes[0].legs[0].duration.text;\r\n vm.distance = response.routes[0].legs[0].distance.value / 1000;\r\n vm.makeJobMarker(leg.start_location, icons.start, map);\r\n vm.makeUserMarker(leg.end_location, icons.end, map);\r\n } else {\r\n window.alert('Directions request failed due to ' + status);\r\n }\r\n });\r\n }\r\n \r\n var icons = {\r\n start: new google.maps.MarkerImage(\r\n // URL\r\n UIURL + '/assets/images/patterns/JOb_icon.png',\r\n // (width,height)\r\n new google.maps.Size(44, 32),\r\n // The origin point (x,y)\r\n new google.maps.Point(0, 0),\r\n // The anchor point (x,y)\r\n new google.maps.Point(22, 32)),\r\n end: new google.maps.MarkerImage(\r\n // URL\r\n UIURL + '/assets/images/patterns/delivery-man1.png',\r\n // (width,height)\r\n new google.maps.Size(44, 32),\r\n // The origin point (x,y)\r\n new google.maps.Point(0, 0),\r\n // The anchor point (x,y)\r\n new google.maps.Point(22, 32))\r\n };\r\n /* vm.getReadableDate = function(){\r\n var time = new moment(vm.customerJobCard.JobDateTime, \"YYYY-MM-DDThh:mm:ss\");\r\n return time.format(\"DD MMM YYYY\")+\" at \"+time.format(\"LTS\"); \r\n } */\r\n vm.getCustomerJobCard = function () {\r\n JobTicketViewService.getCustomerJobCardbyJobId(loggedInUserId, vm.trackingTicketId, token, function (data) {\r\n vm.JobLatitude = data.JobLatitude;\r\n vm.JobLongitude = data.JobLongitude;\r\n vm.FELatitude = data.FELatitude;\r\n vm.FELongitude = data.FELongitude;\r\n vm.contactnumber = data.FEContactNumber;\r\n vm.jobtype = data.Description;\r\n vm.name = data.FEName;\r\n // vm.mapMarkers=[];\r\n initMap();\r\n $log.log(\"res of getCustomerJobCard=\" + data);\r\n vm.customerJobCard = data;\r\n if ($localStorage.rateJobParams) {\r\n vm.customerJobCard.userRole = $localStorage.Role;\r\n vm.customerJobCard.JobStatus = $localStorage.rateJobParams.status;\r\n vm.customerJobCard.CustomerGivenRating = $localStorage.rateJobParams.rating;\r\n delete $localStorage.rateJobParams;\r\n }\r\n if (data && data.JobStatus == 'PaymentDone') {\r\n \r\n }\r\n }, function () {\r\n vm.showFailure(\"Failed\", \"Unable to reach server\");\r\n });\r\n }\r\n //}\r\n vm.TicketBreachValueconver = function(TicketBreachValue)\r\n {\r\n var TicketBreachValueInString=\"\"; \r\n if(TicketBreachValue==0)\r\n TicketBreachValueInString = \"Not Breached\";\r\n if(TicketBreachValue==1)\r\n TicketBreachValueInString = \"Breached\";\r\n \r\n return TicketBreachValueInString;\r\n }\r\n vm.OpenTracking = function (ticket) {\r\n vm.trackingTicketId = ticket;\r\n Tracking = $uibModal.open({\r\n templateUrl: 'Tracking.html',\r\n size: 'lg',\r\n scope: $scope,\r\n controller: ModelInstanceOfMap\r\n })\r\n }\r\n vm.CloseTracking = function () {\r\n Tracking.close();\r\n }\r\n \r\n vm.getTemplateCallback = function (templates) {\r\n vm.templateListData = templates;\r\n vm.templateList = [];\r\n angular.forEach(vm.templateListData, function (d) {\r\n if (d.Skill != 'Water Sample Collection') {\r\n vm.templateList.push(d);\r\n }\r\n })\r\n }\r\n vm.OpenApproveModal = function (currentJOb) \r\n { \r\n vm.CurrentJob = currentJOb;\r\n vm.RatingOfTicket = ''; \r\n if(vm.CurrentJob.IsLineItemAvailable==true && vm.CurrentJob.IsDynamicPriceApproved==false){\r\n vm.aproveMessage = 'Please approve dynamic pricing line item under the ticket details section!';\r\n approveModalInstance = $uibModal.open({\r\n templateUrl: 'dynamic_price_approved_model.html',\r\n scope: $scope\r\n });\r\n }\r\n else{\r\n vm.aproveMessage = 'Please Rate !';\r\n approveModalInstance = $uibModal.open({\r\n templateUrl: 'approve_model.html',\r\n scope: $scope\r\n });\r\n } \r\n }\r\n \r\n vm.CloseModal = function () {\r\n approveModalInstance.close();\r\n }\r\n \r\n vm.OpenRescheduleAuditModal = function (currentAuditJOb) \r\n { \r\n vm.CurrentAuditJob = currentAuditJOb;\r\n vm.RatingOfTicket = '';\r\n vm.RescheduleAuditTicketId = vm.CurrentAuditJob.TicketId;\r\n vm.AuditPrimaryReason = vm.CurrentAuditJob.PrimaryReason;\r\n rescheduleAuditModalInstance = $uibModal.open({\r\n templateUrl: 'reschedule_audit_model.html',\r\n scope: $scope\r\n }); \r\n }\r\n \r\n vm.RescheduleAuditCloseModal = function () {\r\n rescheduleAuditModalInstance.close();\r\n }\r\n \r\n vm.JobRescheduleAudit = function()\r\n {\r\n rescheduleAuditModalInstance.close();\r\n JobTicketViewService.TBCCancelationAudit(vm.RescheduleAuditModel,vm.RescheduleAuditTicketId,loggedInUserId,token).then(function(res){\r\n if(res && res.status == 200){\r\n vm.showSuccess(\"Success\", \"Job cancelation audit successfully done.\"); \r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000); \r\n }\r\n });\r\n }\r\n \r\n\r\n vm.OpenSettlementModal = function (currentJOb) {\r\n vm.CurrentJob = currentJOb;\r\n vm.PaymentStatus = '';\r\n vm.Remarks = '';\r\n \r\n settlementModalInstance = $uibModal.open({\r\n templateUrl: 'settlement_model.html',\r\n scope: $scope\r\n });\r\n \r\n }\r\n \r\n vm.SettlementCloseModal = function () {\r\n settlementModalInstance.close();\r\n }\r\n \r\n vm.settlemenTicket = function (status, ticketId, remarks, userId) {\r\n settlementModalInstance.close();\r\n var settlementData = {};\r\n settlementData.PaymentStatus = status;\r\n settlementData.ReqUserId = loggedInUserId;\r\n settlementData.TicketId = ticketId;\r\n settlementData.Remarks = remarks;\r\n settlementData.FEId = userId;\r\n settlementData.Status = \"Done\";\r\n // $log.log('settlementData', settlementData);\r\n JobTicketViewService.updateTicketSettlement(settlementData, token, loggedInUserId, function (res) {\r\n \r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job settlement successfully done.\")\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to settlement payment. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n \r\n }\r\n \r\n \r\n vm.DeleteTicket = function () {\r\n var ticketId = [];\r\n angular.forEach(vm.ticketList, function (t) {\r\n if (t.checked) {\r\n ticketId.push(t.TicketId);\r\n }\r\n })\r\n // ticketId = ticketId.length > 0 ? ticketId.substring(0, ticketId.length - 1) : ticketId;\r\n \r\n if (ticketId != null && ticketId.length == 1) {\r\n JobTicketViewService.DeleteTickets(loggedInUserId, ticketId, token).then(function (resp) {\r\n vm.showAutoSchduleBtn = false;\r\n vm.downloadFlag = false;\r\n vm.downloadReportBtn = false;\r\n vm.deleteFlag = false;\r\n \r\n if (resp && resp.status == 202) {\r\n vm.showSuccess(\"Deleted\", resp.data);\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n } else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n \r\n })\r\n } else {\r\n vm.showFailure(\"Failed\", \"You can delete only one ticket at a time.\");\r\n }\r\n }\r\n \r\n \r\n vm.AutoSchedule = function () {\r\n var ticketId = [];\r\n angular.forEach(vm.ticketList, function (t) {\r\n if (t.checked) {\r\n ticketId.push(t.TicketId);\r\n }\r\n })\r\n \r\n if (ticketId != null) {\r\n JobTicketViewService.SetTicketExecutionMode(loggedInUserId, \"Auto\", ticketId, token).then(function (resp) {\r\n vm.showAutoSchduleBtn = false;\r\n vm.downloadFlag = false;\r\n vm.downloadReportBtn = false;\r\n vm.deleteFlag = false; \r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Scheduled Tickets\", resp.data.toString());\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n } else {\r\n vm.showFailure(\"Failed to schedule tickets\", resp.data.toString());\r\n }\r\n })\r\n } \r\n }\r\n\r\n\r\n \r\n \r\n vm.OpenFollowUpModel = function (ticketId) {\r\n vm.followup = '';\r\n vm.tickId = ticketId;\r\n FollowUpModel = $uibModal.open({\r\n templateUrl: 'FollowupJob.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n controller: ModalInstanceCtrlFollowUp,\r\n });\r\n }\r\n \r\n vm.CloseFollowUpModel = function () {\r\n vm.primaryFollowUpReason = '';\r\n vm.primaryFollowUpRemark = '';\r\n vm.primaryHoldReason='';\r\n vm.primaryHoldRemark='';\r\n vm.followFiles = null; \r\n FollowUpModel.close();\r\n }\r\n \r\n vm.RejectJobModel = function (currentJOb) {\r\n vm.CurrentJob = currentJOb;\r\n RejectJobModel = $uibModal.open({\r\n templateUrl: 'Rejectjob.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n \r\n vm.ConvertToNewJob = function(currentJOb){\r\n \r\n vm.CurrentJob = currentJOb; \r\n var data = {\r\n \"ReqUserId\": loggedInUserId,\r\n \"TicketId\": vm.CurrentJob.TicketId,\r\n \"Status\": \"New\" \r\n };\r\n JobTicketViewService.ConvertToNewJob(data, token, loggedInUserId, function (res) { \r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job converted successfully.\")\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to convert job. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n }\r\n \r\n vm.CloseRejectModel = function () {\r\n RejectJobModel.close();\r\n }\r\n\r\n\r\n //\r\n $scope.attachmentForFollowUp = function(files){\r\n var file = files.files[0]; \r\n vm.followFiles = files.files;\r\n var allowedExtensions = /(\\.jpg|\\.jpeg|\\.png|\\.msg|\\.pdf|\\.bmp|\\.xps)$/i; \r\n if(!allowedExtensions.exec(file.name)){\r\n vm.followFiles = [];\r\n vm.clear(); \r\n alert('Please upload file having extensions .pdf,.jpg,.jpeg,.png,.msg,.bmp,xps only.');\r\n }\r\n }\r\n \r\n vm.clear = function () {\r\n angular.element(\"input[type='file']\").val(null);\r\n }; \r\n \r\n vm.DocEdit = function(index){\r\n vm.followFiles=null; \r\n }\r\n\r\n vm.GetFollowupReasons = function(){\r\n JobListService.GetReasonsByStatus(loggedInUserId, token, 'FollowUp').then(function (resp) { \r\n if (resp && resp.data) {\r\n vm.reasonsForFU = resp.data;\r\n }\r\n });\r\n }\r\n vm.GetFollowupReasons();\r\n\r\n vm.GetHoldReasons = function(){\r\n JobListService.GetReasonsByStatus(loggedInUserId, token, 'Hold').then(function (resp) { \r\n if (resp && resp.data) {\r\n vm.reasonsForHold = resp.data;\r\n }\r\n });\r\n }\r\n vm.GetHoldReasons();\r\n\r\n\r\n var ModalInstanceCtrlFollowUp = function ($scope, $rootScope, $uibModalInstance) {\r\n vm.updateFollowUpStatus = function () {\r\n var data = {};\r\n data = {\r\n \"userId\": loggedInUserId,\r\n \"dateTime\": \"\",\r\n \"activity\": \"\",\r\n \"action\": \"FOLLOW_UP\",\r\n \"userName\": \"\",\r\n \"ticketId\": vm.tickId,\r\n \"primaryReason\": vm.primaryFollowUpReason,\r\n \"SecondryReason\": \"\",\r\n \"ReasonComment\": vm.primaryFollowUpRemark\r\n }\r\n if(vm.followFiles != null) {\r\n JobListService.TicketFollowUp(data,vm.followFiles, token, loggedInUserId, function (res) {\r\n if (res && res.status == 201) {\r\n vm.showSuccess(\"Success\", \"Follow up done successfully.\");\r\n $timeout(function () {\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.CloseFollowUpModel();\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to create follow up. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n }\r\n else {\r\n JobListService.TicketFollowUpWithoutDoc(data, token, loggedInUserId, function (res) {\r\n if (res) {\r\n vm.showSuccess(\"Success\", \"Follow up done successfully.\");\r\n $timeout(function () {\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n }\r\n vm.CloseFollowUpModel();\r\n });\r\n }\r\n }\r\n }\r\n\r\n vm.OpenHoldUpModel = function (ticketId, holdstatus) {\r\n if(holdstatus == 'Unhold')\r\n {\r\n vm.UpdateHoldingStatus(ticketId, holdstatus);\r\n } \r\n else{\r\n vm.tickId = ticketId;\r\n $scope.holdstatus =holdstatus;\r\n FollowUpModel = $uibModal.open({\r\n templateUrl: 'HoldJob.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n controller: ModalInstanceCtrlFollowUp,\r\n });\r\n } \r\n }\r\n\r\n vm.UpdateHoldingStatus = function (ticketId, holdingStatus) {\r\n JobListService.UpdateHoldingStatus(loggedInUserId, ticketId, holdingStatus,vm.primaryHoldReason,vm.primaryHoldRemark, token).then(function (resp) {\r\n if (resp.status == 202) {\r\n vm.showSuccess('Job Hold/Unhold Status', 'Job has been updated successfully');\r\n $timeout(function () {\r\n vm.FilterArray(); \r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 2000);\r\n vm.CloseFollowUpModel();\r\n }\r\n else if (resp.status == 206) {\r\n vm.showFailure('Failed', resp.data.Message);\r\n $timeout(function () {\r\n vm.FilterArray(); \r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000); \r\n } else {\r\n vm.showFailure('Job Hold/Unhold Status', 'Unable to update job, server is not responding correctly.');\r\n }\r\n }, function (err) {\r\n vm.showFailure('Job Hold/Unhold Status', 'Unable to update job, server is not responding correctly.');\r\n })\r\n }\r\n vm.ApproveJob = function () { \r\n if (vm.RatingOfTicket) {\r\n var jobwinrate = 0.0;\r\n if(vm.Winrate == null || vm.Winrate == 0 || vm.Winrate =='')\r\n jobwinrate = 0.0;\r\n else\r\n jobwinrate = vm.Winrate; \r\n \r\n approveModalInstance.close();\r\n var data = {\r\n \"ReqUserId\": loggedInUserId,\r\n \"TicketId\": vm.CurrentJob.TicketId,\r\n \"Status\": \"Approved\",\r\n \"JobWinRate\" : parseFloat(jobwinrate.toFixed(2)),\r\n \"TechnicianRating\": vm.RatingOfTicket.toString(),\r\n \"ApprovalRemark\": vm.approvalRemark.toString(),\r\n \"IsSafetyAudit\":vm.IsSafetyAudit\r\n };\r\n JobTicketViewService.ApproveJob(data, token, loggedInUserId, function (res) { \r\n if(res && res.data==\"Please enter atleast one Line Item to Approve this job \")\r\n {\r\n vm.showFailure(\"Success\", \"Please enter atleast one Line Item to Approve this job.\")\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n }\r\n else if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job approved successfully.\")\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n \r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to approve job. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n } else {\r\n vm.ratingwarning=\"Please rate the technician.\";\r\n //approveModalInstance.close();\r\n }\r\n }\r\n vm.AcceptJob = function (currentJOb) {\r\n vm.CurrentJob = currentJOb;\r\n var data = {\r\n \"ReqUserId\": loggedInUserId,\r\n \"TicketId\": vm.CurrentJob.TicketId,\r\n \"Status\": \"Accepted\" \r\n };\r\n JobTicketViewService.AcceptJob(data, token, loggedInUserId, function (res) { \r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job accepted successfully.\")\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to accept job. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n \r\n }\r\n \r\n vm.reAssignJob = function (currentJOb) {\r\n \r\n vm.CurrentJob = currentJOb;\r\n var data = {\r\n \"ReqUserId\": loggedInUserId,\r\n \"TicketId\": vm.CurrentJob.TicketId,\r\n \"Status\": \"Assigned\" \r\n };\r\n JobTicketViewService.AcceptJob(data, token, loggedInUserId,function (res) {\r\n \r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job reassigned successfully.\")\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to reassign job. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n \r\n }\r\n \r\n vm.cloneTicket = function (currentJOb) {\r\n \r\n vm.CurrentJob = currentJOb;\r\n if(vm.VerticalName == 'Telecom')\r\n {\r\n $state.go('index.JobBidCreation', { \r\n cloneticketid:vm.CurrentJob.TicketId \r\n },\r\n {\r\n reload: true,\r\n inherit: false,\r\n notify: true\r\n }); \r\n }\r\n else\r\n {\r\n $state.go('index.NewJobCreation', { \r\n },\r\n {\r\n reload: true,\r\n inherit: false,\r\n notify: true\r\n });\r\n \r\n }\r\n \r\n \r\n }\r\n \r\n vm.RejectJob = function () {\r\n if(!vm.RejectionRemark)\r\n {\r\n vm.showFailure(\"Failed\", \"Please comment on rejection.\");\r\n return;\r\n }\r\n RejectJobModel.close(); \r\n var data = {\r\n \"ReqUserId\": loggedInUserId,\r\n \"TicketId\": vm.CurrentJob.TicketId,\r\n \"Status\": \"Rejected\", \r\n \"RejectionRemark\": vm.RejectionRemark.toString()\r\n };\r\n JobTicketViewService.RejectJob(data, token, loggedInUserId, function (res) { \r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job rejected successfully.\")\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to approve job. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n \r\n }\r\n \r\n vm.PullBackTicket = function (ticketId) {\r\n JobTicketViewService.PullBackTicket(loggedInUserId, ticketId, token).then(function (resp) {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n })\r\n }\r\n\r\n \r\n vm.downloadReport = function (ticketId, templateName) {\r\n if (templateName == 'Water Testing') {\r\n var urlWithFeasible = PublicApiURL + '/api/Report/' + ticketId + '/DownloadReportByTemplateName?reqUserId=' + $localStorage.loggedInUserId;\r\n $window.open(urlWithFeasible, '_blank')\r\n } else {\r\n var urlForNonFeasible = PublicApiURL + '/api/Report/' + ticketId + '/Report?reqUserId=' + $localStorage.loggedInUserId;\r\n $window.open(urlForNonFeasible, '_blank')\r\n }\r\n }\r\n\r\n //download PDF \r\n vm.downloadReportPDF = function (ticketId,OnSiteReport) { debugger\r\n if (OnSiteReport != null) { \r\n var urlWithFeasible = PublicApiURL + '/api/Report/GeneratePdfOnSiteReportForMultipleTickets?TicketIds=' + ticketId;\r\n $window.open(urlWithFeasible, '_blank')\r\n } else {\r\n // var urlForNonFeasible = ApiURL + '/api/Report/GeneratePdfOnSiteReport?TicketIds=' + ticketId;\r\n // $window.open(urlForNonFeasible, '_blank')\r\n vm.downloadOnSiteReport(ticketId);\r\n }\r\n }\r\n\r\n \r\n\t\tvm.pdfimage = \"\";\r\n\t\tvm.DocumentAvailableMessage=\"\";\t\r\n\t\tvm.downloadOnSiteReport = function (ticketId) { debugger\r\n\t\t\tvm.PDFView();\r\n\t\t\t\r\n\t\t\t// var PreviewConsolidatedInvoiceList = previewSelectedObj;\r\n\t\t\tJobTicketViewService.downloadOnSiteReport(loggedInUserId, token, ticketId).then(function (resp) {\r\n\t\t\t\t// var responseDataList=[];\r\n\t\t\t\tvm.responseDataList = resp.data;\r\n\t\t\t\t// for(var i=0; i 0 ? ticketId.substring(0, ticketId.length - 1) : ticketId;\r\n JobTicketViewService.downloadMultipleReports(loggedInUserId, ticketId, reportMapperId, correlated);\r\n vm.showAutoSchduleBtn = false;\r\n vm.downloadFlag = false;\r\n vm.downloadReportBtn = false;\r\n vm.deleteFlag = false;\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }\r\n \r\n vm.downloadInvoiceReport = function () {\r\n var ticketId = \"\";\r\n var correlated = $localStorage.accountConfig.CorrelatedReports;\r\n // var reportMapperId = $localStorage.accountConfig.ReportMapperId;\r\n angular.forEach(vm.ticketList, function (t) {\r\n if (t.checked) {\r\n ticketId += t.TicketId + \",\";\r\n }\r\n })\r\n ticketId = ticketId.length > 0 ? ticketId.substring(0, ticketId.length - 1) : ticketId;\r\n JobTicketViewService.downloadInvoice(loggedInUserId, ticketId, correlated);\r\n }\r\n \r\n vm.showMultipleDownloadButton = function () {\r\n var ticketSelected = false;\r\n var IsReportMapper = false; \r\n vm.invoiceFlag = false;\r\n vm.deleteFlag = false;\r\n vm.actionFlag = false;\r\n var actionFlagList = [];\r\n var deleteFlagList = [];\r\n angular.forEach(vm.ticketList, function (t) {\r\n ticketSelected = ticketSelected || t.checked;\r\n if(t.checked){\r\n if(t.reportMapperId)\r\n {\r\n IsReportMapper = true;\r\n }\r\n else\r\n {\r\n IsReportMapper = false; \r\n }\r\n }\r\n if (vm.Role == 'Vendor Manager') {\r\n if (t.checked && t.SkillSet == 'Water Lab Test' && t.TicketStatus == 'Completed') {\r\n vm.invoiceFlag = true;\r\n } else if (t.checked && t.AcceptDate != null) {\r\n actionFlagList.push(false);\r\n } else if (t.checked && t.AcceptDate == null && t.TicketStatus == 'Rejected') {\r\n actionFlagList.push(false);\r\n } else if (t.checked && t.AcceptDate == null && t.TicketStatus == 'Assigned') {\r\n actionFlagList.push(true);\r\n }\r\n } else {\r\n if (t.checked && t.SkillSet == 'Water Lab Test' && t.TicketStatus == 'Completed') {\r\n vm.invoiceFlag = true;\r\n } else if (t.checked && t.TicketStatus == 'New') {\r\n deleteFlagList.push(true);\r\n // vm.deleteFlag = true;\r\n } else if (t.checked && t.TicketStatus != 'New') {\r\n // vm.deleteFlag = false;\r\n deleteFlagList.push(false);\r\n }\r\n }\r\n \r\n \r\n })\r\n if (deleteFlagList.includes(false)) {\r\n vm.deleteFlag = false;\r\n } else if (deleteFlagList.includes(true)) {\r\n vm.deleteFlag = true;\r\n } if (actionFlagList.includes(false)) {\r\n vm.actionFlag = false\r\n } else {\r\n vm.actionFlag = true;\r\n }\r\n return IsReportMapper && ticketSelected && $localStorage.accountConfig != null && $localStorage.accountConfig.CorrelatedReports != null && $localStorage.accountConfig.ReportMapperId != null;\r\n }\r\n // vm.showInvoiceButton = function () {\r\n // var invoiceFlag = false;\r\n // angular.forEach(vm.ticketList, function (t) {\r\n // if (t.checked && t.SkillSet == 'Water Lab Test' && t.TicketStatus == 'Completed') {\r\n // var invoiceFlag = true;\r\n // return invoiceFlag;\r\n // } \r\n // })\r\n // return invoiceFlag;\r\n // }\r\n \r\n vm.hideSingleDownloadButton = function () {\r\n return $localStorage.accountConfig != null && $localStorage.accountConfig.CorrelatedReports != null && $localStorage.accountConfig.ReportMapperId != null;\r\n }\r\n \r\n vm.getSkills = function () {\r\n JobTicketViewService.getSkills(loggedInUserId, token, function (skills) {\r\n vm.skills = skills;\r\n //vm.skills.unshift({ \"SkillName\": \"All Job Types\" }); \r\n if (vm.path == 'isTicketView') {\r\n vm.searchJobTypeText = $localStorage.AllJobType;\r\n // vm.searchStatusText = $localStorage.AllJobStatus;\r\n } \r\n }, vm.showFailure);\r\n \r\n \r\n \r\n }\r\n vm.getSkills();\r\n \r\n vm.isApprovalPermission = function (defaultValue) {\r\n if (vm.accountConfig && vm.accountConfig['ApprovalPermission'] != null) {\r\n return vm.accountConfig['ApprovalPermission'].split(\",\").indexOf($localStorage.loggedInUser_Role) > -1;\r\n }\r\n return defaultValue;\r\n }\r\n \r\n vm.OpenBillModal = function (ticketId) {\r\n vm.BillDetails = [];\r\n vm.TotalExpense = '';\r\n JobTicketViewService.getBillExpenseByTicketID(loggedInUserId, ticketId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n angular.forEach(resp.data, function (d) {\r\n vm.BillDetails = d.Bills;\r\n vm.TotalExpense = d.ExpenseAmount;\r\n })\r\n }\r\n if (vm.TotalExpense != 0) {\r\n BillModal = $uibModal.open({\r\n templateUrl: 'bill_model.html',\r\n scope: $scope\r\n })\r\n }\r\n })\r\n }\r\n \r\n vm.CloseBillModal = function () {\r\n BillModal.close();\r\n }\r\n \r\n vm.getPicUrl = function (pic) {\r\n return ImageUrl + '/' + pic;\r\n }\r\n\r\n vm.ReportpdfUrl = function (ticketId) {\r\n JobTicketViewService.getPdfReport(loggedInUserId, ticketId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n const linkSource = resp.data.Base64Data;\r\n const downloadLink = document.createElement(\"a\");\r\n const fileName = resp.data.ReportName;\r\n downloadLink.href = linkSource;\r\n downloadLink.download = fileName;\r\n downloadLink.click();\r\n } \r\n })\r\n }\r\n\r\n \r\n vm.reloadData = function(){\r\n var resetPaging = true;\r\n vm.dtInstance.reloadData(resetPaging);\r\n }\r\n //Cancel and clone ticket\r\n vm.CancleAndCloneTicket = function(ticket){\r\n var ticketData = ticket;\r\n $state.go('index.JobBidCreation', { cloneticketid:ticketData.TicketId },\r\n {reload: true,inherit: false,notify: true}); \r\n }\r\n vm.CancelTicket = function(ticketId, currentJOb){\r\n vm.CurrentJob = currentJOb;\r\n vm.RatingOfTicket = '';\r\n vm.AuditTicketId = vm.CurrentJob.TicketId;\r\n if(vm.CurrentJob.TicketStatus==\"Completed\" && vm.CurrentJob.SubStatus ==\"TBC\"){ \r\n vm.PrimaryReason = vm.CurrentJob.PrimaryReason;\r\n approveModalInstance = $uibModal.open({\r\n templateUrl: 'tbc_confirm_cancelation_model.html',\r\n scope: $scope\r\n });\r\n }\r\n else\r\n {\r\n \r\n vm.IsCancelFromServer = vm.accountConfig.IsCancelFromServer;\r\n if(vm.IsCancelFromServer && (vm.CurrentJob.TicketStatus==\"Assigned\" || vm.CurrentJob.TicketStatus==\"New\")){\r\n JobListService.GetCancellationReasons(vm.CurrentJob.TicketStatus, loggedInUserId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.CancellationReasonsList=resp.data;\r\n cancellationReasonsModalInstance = $uibModal.open({\r\n templateUrl: 'cancellation_reasons_model.html',\r\n scope: $scope\r\n }); \r\n }\r\n }, function () { \r\n });\r\n }\r\n else{\r\n JobListService.CancelTicket(loggedinUser,ticketId,token).then(function(res){\r\n if(res.status == 202 && res.statusText =='Accepted'){\r\n vm.showSuccess('Success',res.data);\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n }, 1000);\r\n }\r\n else if(res.status == 206)\r\n {\r\n vm.showFailure('Failed',res.data);\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n }, 1000);\r\n }\r\n }); \r\n }\r\n }\r\n }\r\n vm.OpenTicketRatingModal = function (currentTicketJob) \r\n { \r\n \r\n JobTicketViewService.GetCSATRatingByTicketID(loggedInUserId, currentTicketJob.TicketId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.TicketRatingList=resp.data;\r\n ticketRatingModalInstance = $uibModal.open({\r\n templateUrl: 'ticket_rating_model.html',\r\n scope: $scope\r\n });\r\n }\r\n \r\n }, function () {\r\n \r\n });\r\n } \r\n \r\n \r\n vm.TicketRatingCloseModal = function () {\r\n ticketRatingModalInstance.close();\r\n }\r\n vm.TBCCancelationAudit = function()\r\n {\r\n approveModalInstance.close();\r\n JobTicketViewService.TBCCancelationAudit(vm.TBCCancelationModel,vm.AuditTicketId,loggedInUserId,token).then(function(res){\r\n if(res && res.status == 200){\r\n vm.showSuccess(\"Success\", \"Job cancelation audit successfully done.\"); \r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n }, 2000); \r\n }\r\n });\r\n }\r\n vm.CancellationReasonsCloseModal = function () {\r\n cancellationReasonsModalInstance.close();\r\n vm.CancellationReasons=\"\";\r\n vm.CancellationReasonsRemark=\"\";\r\n vm.HintDisplay=\"\";\r\n }\r\n vm.UpdateCancellationReasons = function()\r\n {\r\n \r\n vm.cancellationReasonsForm.submitted = true;\r\n if (vm.cancellationReasonsForm.$valid) {\r\n \r\n var CancellationReasonsModel =\r\n {\r\n \"TicketId\": vm.AuditTicketId,\r\n \"CancelReason\": vm.CancellationReasons,\r\n \"CancelRemark\": vm.CancellationReasonsRemark\r\n }\r\n JobTicketViewService.UpdateJobServerCancel(CancellationReasonsModel,loggedInUserId, token).then(function (resp) {\r\n if (resp && resp.status == 200) { \r\n vm.showSuccess(resp.data.Message); \r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n\r\n // vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, templateItemNames, templateItemValues);\r\n \r\n }, 2000); \r\n cancellationReasonsModalInstance.close();\r\n vm.CancellationReasons=\"\";\r\n vm.CancellationReasonsRemark=\"\";\r\n vm.HintDisplay=\"\";\r\n }\r\n }, function () {\r\n \r\n }); \r\n }\r\n }\r\n \r\n vm.ViewProfile = function (UserId,UserType) {\r\n var IsUser = false;\r\n if(UserType && UserType == 'Freelancer'){\r\n JobTicketViewService.getUserProfileData(supervisorId,UserId, token).then(function(res){\r\n if(res.data && res.status == 200){\r\n vm.UserProfileData = res.data;\r\n vm.customerrating = Number(vm.UserProfileData.CustomerRating).toFixed(1);\r\n vm.AddPreferredVendorModal = $uibModal.open({\r\n templateUrl: 'UserProfile.html',\r\n scope: $scope,\r\n windowClass:'schedulerModal',\r\n reload:true\r\n });\r\n }else{\r\n vm.showFailure('Failed',res.data.Message);\r\n }\r\n \r\n });\r\n }else if(UserType && UserType == 'Fixed Team'){\r\n JobTicketViewService.getFixedUserProfileData(supervisorId,UserId, token).then(function(res){\r\n if(res.data && res.status == 200){\r\n vm.UserProfileData = res.data;\r\n vm.AddPreferredVendorModal = $uibModal.open({\r\n templateUrl: 'UserProfile.html',\r\n scope: $scope,\r\n windowClass:'schedulerModal',\r\n reload:true\r\n });\r\n }else{\r\n vm.showFailure('Failed',res.data.Message);\r\n }\r\n \r\n });\r\n }else{\r\n JobTicketViewService.getUserProfileData(supervisorId,UserId, token).then(function(res){\r\n if(res.data && res.status == 200){\r\n vm.UserProfileData = res.data;\r\n if(vm.UserProfileData){\r\n vm.AddPreferredVendorModal = $uibModal.open({\r\n templateUrl: 'UserProfile.html',\r\n scope: $scope,\r\n windowClass:'schedulerModal',\r\n reload:true\r\n });\r\n }else{\r\n vm.showFailure('Failed','User Not found');\r\n }\r\n }else{\r\n vm.showFailure('Failed',res.data.Message);\r\n }\r\n \r\n });\r\n }\r\n \r\n \r\n }\r\n \r\n vm.UserProfileClose = function(){\r\n vm.AddPreferredVendorModal.close();\r\n }\r\n vm.downloadDataCaptureImage = function(){\r\n var ticket = '';\r\n for(var i=0;i (vm.TicketInfo.Courier[key] == null) && delete vm.TicketInfo.Courier[key]));\r\n\t\t\t\t\tif (vm.TicketInfo.Courier) {\r\n\t\t\t\t\t\tvm.SparePartAddress = (Object.values(vm.TicketInfo.Courier)).toString();\r\n\t\t\t\t\t\tvm.SpareTransportType = 'Courier';\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t} else if (vm.TicketInfo.SpareTransportType == '1') {\r\n\t\t\t\t\t// var temp = Object.keys(vm.TicketInfo.PickUp).forEach((key) => (vm.TicketInfo.PickUp[key] == null) && delete vm.TicketInfo.PickUp[key]);\r\n\t\t\t\t\tclean(vm.TicketInfo.PickUp);\r\n\t\t\t\t\tvm.SparePartAddress = (Object.values(vm.TicketInfo.PickUp)).toString();\r\n\t\t\t\t\tvm.SpareTransportType = 'PickUp';\r\n\t\t\t\t} else if (vm.TicketInfo.SpareTransportType == '2') {\r\n\t\t\t\t\tclean(vm.TicketInfo.PickUpDrop.PickUp);\r\n\t\t\t\t\t// var temp = Object.keys(vm.TicketInfo.PickUpDrop.PickUp).forEach((key) => (vm.TicketInfo.PickUpDrop.PickUp[key] == null) && delete vm.TicketInfo.PickUpDrop.PickUp[key]);\r\n\t\t\t\t\tvm.SparePartAddress = (Object.values(vm.TicketInfo.PickUpDrop.PickUp)).toString();\r\n\t\t\t\t\tvm.SpareTransportType = 'PickUpDrop';\r\n\t\t\t\t\tvm.SparePartDropAddress = vm.TicketInfo.PickUpDrop.Address1 + ',' + vm.TicketInfo.PickUpDrop.Address2 + ',' + vm.TicketInfo.PickUpDrop.State + ',' + vm.TicketInfo.PickUpDrop.City + ',' + vm.TicketInfo.PickUpDrop.Pincode;\r\n\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (vm.TicketInfo.Template == 'VSAT Troubleshooting' || vm.TicketInfo.Template == 'LeaseLine Troubleshooting') {\r\n\t\t\t\t\t// vm.GetStatusActivityInPie();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (vm.TicketInfo.LinkId) {\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvm.getAllActivitiesForJob();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tangular.copy(vm.TicketInfo.TemplateModel, vm.TemplateData);\r\n\r\n\t\t\t\tfor (var index = 0; index < vm.TemplateData.SectionList.length; index++) {\t\t\t\t\t\r\n\t\t\t\t\tif (vm.TemplateData.SectionList[index].Action == 'Supervisor' && vm.TemplateData.SectionList[index].SectionName == 'Supervisor') {\r\n\t\t\t\t\t\tvm.SuperVisorData = vm.TemplateData.SectionList[index].ItemList;\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t//ListFieldSupportTeam \r\n\t\t\t\tfor (var index = 0; index < vm.TicketInfo.ListFieldSupportTeam.length; index++) {\t\t\t\t\t\r\n\t\t\t\t\tif (vm.TicketInfo.ListFieldSupportTeam.length >= 0 ) {\r\n\t\t\t\t\t\tvm.ListOfSupportTeam = vm.TicketInfo.ListFieldSupportTeam;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvm.ListActionWise = SeperateSectionAndItems(vm.TemplateData.SectionList, 'Action');\r\n\r\n\t\t\t\t\r\n\t\t\t\tvm.TicketInfoEdit = {\r\n\t\t\t\t\tConsumerName: vm.TicketInfo.ConsumerName,\r\n\t\t\t\t\tConsumerContact: vm.TicketInfo.ConsumerContact,\r\n\t\t\t\t\tAddress1: vm.TicketInfo.Address1,\r\n\t\t\t\t\tAddress2: vm.TicketInfo.Address2,\r\n\t\t\t\t\tPincode: vm.TicketInfo.Pincode,\r\n\t\t\t\t\t// StartTime: vm.TicketInfo.StartTime,\r\n\t\t\t\t\tPlannedStartDate: vm.TicketInfo.PlannedStartDate,\r\n\t\t\t\t\t// EndTime: vm.TicketInfo.EndTime,\r\n\t\t\t\t\tEndTime: ''\r\n\t\t\t\t}\r\n\t\t\t\tvm.getAllStates();\r\n\t\t\t\tif (vm.TicketInfo.State) {\r\n\t\t\t\t\tvm.getCities(vm.TicketInfo.State);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tJobDetailViewComboService.getTemplateByName(vm.TicketInfo.Template, token, loggedinUser,vm.TicketInfo.TicketId, function (data) {\r\n\t\t\t\t\tvm.templateData = data;\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t\t\tvm.TechnicianSource = vm.TicketInfo.TechnicianSource ? vm.TicketInfo.TechnicianSource : vm.TechnicianSource = '';\r\n\r\n\t\t\t\tvm.showPrefer = 'fixed';\r\n\t\t\t\t// \tvm.GetFixedUser(false);\r\n\t\t\t\t// \tvm.GetNearByUser(false);\r\n\t\t\t\t// vm.GetPreviousWorker(false);\r\n\t\t\t\t// vm.GetTalentPoolUser(false);\r\n\r\n\t\t\t\tif (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\tvm.disabledDrop = true;\r\n\t\t\t\t}\r\n\t\t\t\tif (vm.TicketInfo.MetrialDeliverStatus) {\r\n\t\t\t\t\tvm.SelectedMaterial = vm.TicketInfo.MetrialDeliverStatus;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (vm.TechnicianSource == '0' && vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\tvm.showPrefer = 'fixed';\r\n\t\t\t\t\tvm.showF = true;\r\n\t\t\t\t\tvm.showN = false;\r\n\t\t\t\t\tvm.showT = false;\r\n\t\t\t\t\tvm.showP = false;\r\n\t\t\t\t\tvm.GetFixedUser(false);\r\n\t\t\t\t} else if (vm.TechnicianSource == '1' && vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\tvm.showPrefer = 'nearBy';\r\n\t\t\t\t\tvm.showF = false;\r\n\t\t\t\t\tvm.showN = true;\r\n\t\t\t\t\tvm.showT = false;\r\n\t\t\t\t\tvm.showP = false;\r\n\t\t\t\t\tvm.GetNearByUser(false);\r\n\t\t\t\t} else if (vm.TechnicianSource == '2' && vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\tvm.showPrefer = 'true';\r\n\t\t\t\t\tvm.showF = false;\r\n\t\t\t\t\tvm.showN = false;\r\n\t\t\t\t\tvm.showT = true;\r\n\t\t\t\t\tvm.showP = false;\r\n\t\t\t\t\tvm.GetTalentPoolUser(true);\r\n\t\t\t\t} else if (vm.TechnicianSource == '3' && vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\tvm.showPrefer = 'previous';\r\n\t\t\t\t\tvm.showF = false;\r\n\t\t\t\t\tvm.showN = false;\r\n\t\t\t\t\tvm.showT = false;\r\n\t\t\t\t\tvm.showP = true;\r\n\t\t\t\t\tvm.GetPreviousWorker(true);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvm.showF = true;\r\n\t\t\t\t\tvm.showN = true;\r\n\t\t\t\t\tvm.showT = true;\r\n\t\t\t\t\tvm.showP = true;\r\n\t\t\t\t\tvm.GetFixedUser(false);\r\n\t\t\t\t\tvm.GetNearByUser(false);\r\n\t\t\t\t\tvm.GetPreviousWorker(false);\r\n\t\t\t\t\tvm.GetTalentPoolUser(false);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif($localStorage.loggedInUser_Role == 'Vendor Manager'){\r\n\t\t\t\t\tvm.showPrefer = 'fixed';\r\n\t\t\t\t\tvm.showF = true;\r\n\t\t\t\t\tvm.showN = false;\r\n\t\t\t\t\tvm.showT = false;\r\n\t\t\t\t\tvm.showP = false;\r\n\t\t\t\t\tvm.GetFixedUser(true);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t}\r\n\t\r\n\t\tvm.getTicketByJobId();\r\n\r\n\t\tvm.GetAllBundledJobs = function(bundleId){\r\n\t\t\tvm.bundleJobId = bundleId;\r\n\t\t\t\tif(vm.bundleJobId){\r\n\t\t\t\t\tJobDetailViewComboService.GetAllBundledJobs(loggedinUser, vm.bundleJobId ,token).then(function (resp) {\r\n\t\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\t\tvm.BundleTicketList=resp.data;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t}, function () { \r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// if(vm.TicketInfo.GroupType == 'WorkOrder') {\r\n\t\t\t\tvm.GetAllWorkOrderJob = function () {\t\t\t\r\n\t\t\t\t\tJobDetailViewComboService.GetAllWorkOrderJob(vm.TicketId, token).then(function (resp) {\r\n\t\t\t\t\t\tif (resp && resp.data) {\t\t \r\n\t\t\t\t\t\t\tif(resp.status==200){\r\n\t\t\t\t\t\t\t\tvm.workOrderList = resp.data;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t// }\r\n\t\t\tvm.GetAllWorkOrderJob();\r\n\r\n\t\tvm.addClassInButton = function () {\r\n\t\t\tif (vm.TechnicianSource && vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$('#btnFixedTeam').addClass('activeButton');\r\n\t\t\t\t\t$('#btnNearBy').addClass('activeButton');\r\n\t\t\t\t\t$('#btnTalent').addClass('activeButton');\r\n\t\t\t\t\t$('#btnPrefer').addClass('activeButton');\r\n\t\t\t\t}, 100);\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tvm.planerDateModal = {};\r\n\t\tvm.editplanCloser = function () {\r\n\t\t\tvm.TicketInfoEdit['PlannedClosureDate'] = vm.TicketInfo.PlannedClosureDate;\r\n\t\t\tvm.planerDateModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'editplanerDate.html',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeplanerDate = function () {\r\n\t\t\tvm.planerDateModal.close();\r\n\t\t}\r\n\r\n\t\tvm.updatePlannedClosure = function () {\r\n\t\t\t\tvm.PlannedClosureticketList = [];\r\n\t\t\t\tvm.PlannedClosureticketList.push(vm.TicketInfo.TicketId);\r\n\r\n\t\t\t\tvar data = {\r\n\t\t\t\t\t\"TicketIds\":vm.PlannedClosureticketList,\r\n\t\t\t\t\t \"TicketPlannedClosureDate\": moment(vm.TicketInfoEdit.PlannedClosureDate).format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\"),\r\n\t\t\t\t\t \"IsWithInDays\":vm.IsWithInDays == 'first'?true:false,\r\n \t\t\t\t\t \"WithInDays\": vm.WithInDays,\r\n\t\t\t\t};\r\n\r\n\t\t\t\tJobDetailViewComboService.updatePlannedClosure(loggedinUser, data, token, function (res) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", res);\r\n\t\t\t\t\tvm.planerDateModal.close();\r\n\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.jobAddressModal = {};\r\n\t\tvm.editJobAddress = function () {\r\n\r\n\t\t\tvm.TicketInfoEdit['ConsumerName'] = vm.TicketInfo.ConsumerName;\r\n\t\t\tvm.TicketInfoEdit['ConsumerContact'] = vm.TicketInfo.ConsumerContact;\r\n\t\t\tvm.TicketInfoEdit['Address1'] = vm.TicketInfo.Address1;\r\n\t\t\tvm.TicketInfoEdit['Address2'] = vm.TicketInfo.Address2;\r\n\t\t\tvm.TicketInfoEdit['Pincode'] = vm.TicketInfo.Pincode;\r\n\t\t\tvm.TicketInfoEdit['StartTime'] = vm.TicketInfo.StartTime;\r\n\t\t\tvm.TicketInfoEdit['EndTime'] = vm.TicketInfo.EndTime;\r\n\t\t\tvm.TicketInfoEdit['Region'] = vm.TicketInfo.Region;\r\n\t\t\tvm.TicketInfoEdit['SubRegion'] = vm.TicketInfo.SubRegion;\r\n\r\n\t\t\tif (vm.states && !vm.TicketInfoEdit.State || vm.TicketInfoEdit.State != vm.TicketInfo.State) {\r\n\t\t\t\tangular.forEach(vm.states, function (s) {\r\n\t\t\t\t\tif (s == vm.TicketInfo.State) {\r\n\t\t\t\t\t\tvm.TicketInfoEdit.State = s;\r\n\t\t\t\t\t\tvm.getCities(vm.TicketInfo.State);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tvm.jobAddressModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'editJobAddress.html',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t\twindowClass: 'schedulerModal'\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeJobAddress = function () {\r\n\t\t\tvm.jobAddressModal.close();\r\n\t\t}\r\n\r\n\t\tvm.updateJobAddress = function () {\r\n\t\t\tvm.jobAddressForm.submitted = true;\r\n\t\t\tif (vm.jobAddressForm.$valid) {\r\n\t\t\t\tvar data = {\r\n\t\t\t\t\t\"ConsumerContact\": vm.TicketInfoEdit.ConsumerContact,\r\n\t\t\t\t\t\"Address1\": vm.TicketInfoEdit.Address1,\r\n\t\t\t\t\t\"Address2\": vm.TicketInfoEdit.Address2,\r\n\t\t\t\t\t\"ConsumerName\": vm.TicketInfoEdit.ConsumerName,\r\n\t\t\t\t\t\"State\": vm.TicketInfoEdit.State,\r\n\t\t\t\t\t\"City\": vm.TicketInfoEdit.City,\r\n\t\t\t\t\t\"Pincode\": vm.TicketInfoEdit.Pincode,\r\n\t\t\t\t\t\"StartTime\": vm.TicketInfoEdit.StartTime,\r\n\t\t\t\t\t\"EndTime\": vm.TicketInfoEdit.EndTime,\r\n\t\t\t\t\t\"Region\": vm.TicketInfo.Region,\r\n\t\t\t\t\t\"SubRegion\": vm.TicketInfo.SubRegion,\r\n\r\n\t\t\t\t};\r\n\r\n\t\t\t\tJobDetailViewComboService.saveTicket(loggedinUser, vm.TicketInfo.TicketId, data, token, function (res) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", res);\r\n\t\t\t\t\tvm.jobAddressModal.close();\r\n\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t//window.location.reload(true);\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t\t} else {\r\n\t\t\t\tconsole.log(\"invalid values\");\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t//call customer or freelancer\r\n\t\tvm.callToCustomer = function (TicketId,ConnectTo) { \r\n\t\t\t\tvar data = {\r\n\t\t\t\t\t\"ConnectTo\": ConnectTo,\r\n\t\t\t\t\t\"TicketId\": TicketId\r\n\t\t\t\t\t};\r\n\t\t\t\tJobDetailViewComboService.callToCustomer(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t});\r\n\t\t\t\r\n\t\t}\r\n\r\n\t\tvm.getAllStates = function () {\r\n\t\t\tJobDetailViewComboService.getAllState(loggedinUser,token).then(function (resp) {\r\n\t\t\t\tvm.states = resp.data;\r\n\t\t\t\tangular.forEach(vm.states, function (s) {\r\n\t\t\t\t\tif (s == vm.TicketInfo.State) {\r\n\t\t\t\t\t\tvm.TicketInfoEdit.State = s;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.getCities = function (state) {\r\n\t\t\tif (state != \"\" && state.length > 0) {\r\n\t\t\t\tvm.cities = [];\r\n\t\t\t\tJobDetailViewComboService.getAllCity(loggedinUser, state,token).then(function (resp) {\r\n\t\t\t\t\tvm.cities = resp.data;\r\n\t\t\t\t\tangular.forEach(vm.cities, function (c) {\r\n\t\t\t\t\t\tif (vm.TicketInfo.City) {\r\n\t\t\t\t\t\t\tvar city = vm.TicketInfo.City.toUpperCase();\r\n\t\t\t\t\t\t\tif (c == city) {\r\n\t\t\t\t\t\t\t\tvm.TicketInfoEdit.City = c;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\r\n\t\tvm.getAllActivitiesForJob = function () {\r\n\t\t\tJobDetailViewComboService.getAllActivitiesForJob(vm.TicketId, loggedinUser, token, function (data) {\r\n\t\t\t\tvm.statusTracker = data;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.jobAppointmentModal = {};\r\n\t\tvm.editJobAppointment = function () {\r\n\t\t\tvm.TicketInfoEdit['ConsumerName'] = vm.TicketInfo.ConsumerName;\r\n\t\t\tvm.TicketInfoEdit['ConsumerContact'] = vm.TicketInfo.ConsumerContact;\r\n\t\t\tvm.TicketInfoEdit['Address1'] = vm.TicketInfo.Address1;\r\n\t\t\tvm.TicketInfoEdit['Address2'] = vm.TicketInfo.Address2;\r\n\t\t\tvm.TicketInfoEdit['Pincode'] = vm.TicketInfo.Pincode;\r\n\t\t\tvm.TicketInfoEdit['StartTime'] = new Date(vm.TicketInfo.StartTime);\r\n\t\t\tvm.TicketInfoEdit['EndTime'] = new Date(vm.TicketInfo.EndTime);\r\n\r\n\t\t\tif (vm.states && !vm.TicketInfoEdit.State || vm.TicketInfoEdit.State != vm.TicketInfo.State) {\r\n\t\t\t\tangular.forEach(vm.states, function (s) {\r\n\t\t\t\t\tif (s == vm.TicketInfo.State) {\r\n\t\t\t\t\t\tvm.TicketInfoEdit.State = s;\r\n\t\t\t\t\t\tvm.getCities(vm.TicketInfo.State);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tvm.jobAppointmentModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'editJobAppointment.html',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeJobAppointment = function () {\r\n\t\t\tvm.jobAppointmentModal.close();\r\n\t\t}\r\n\r\n\t\tvm.updateJobAppointment = function () {\r\n\t\t\t\r\n\t\t\tvm.jobAppointmentForm.submitted = true;\r\n\t\t\tif (vm.jobAppointmentForm.$valid) {\t\t\t\t\t\r\n\t\t\t\t// if(moment(vm.TicketInfoEdit.PlannedStartDate)._i <= moment(vm.TicketInfoEdit.EndTime)._i){\r\n\t\t\t\t\tvar sDate = moment(vm.TicketInfoEdit.PlannedStartDate).format(\"YYYY-MM-DD\");\r\n\t\t\t\t\t// var eDate = moment(vm.TicketInfoEdit.EndTime).format(\"DD-MM-YYYY HH:mm\");\r\n\t\t\t\t\tvm.Stdate = sDate;\r\n\t\t\t\t\tvm.Stime = vm.AppointmentTime;\r\n\t\t\t\t\tvm.CurrentDate = moment().format('YYYY-MM-DDTHH:mm:ss.SSSZ');\r\n\t\t\t\t\tvm.dateTime = moment (vm.Stdate + ' ' + vm.Stime).format('YYYY-MM-DDTHH:mm:ss.SSSZ');\r\n\t\t\t\t\tif(moment(vm.dateTime)._i >= moment(vm.CurrentDate)._i){\r\n\t\t\t\t\t// vm.Etdate = eDate;\r\n\r\n\t\t\t\t\tJobDetailViewComboService.updateStartTime(vm.TicketInfo.TicketId, loggedinUser, vm.dateTime, token, function (res) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Appointment Date updated successfully\");\r\n\t\t\t\t\t\tvm.jobAppointmentModal.close();\r\n\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t}, vm.showFailure);\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\tvm.showFailure('Failed','Start time should be greater than current time!');\r\n\t\t\t\t\t}\r\n\t\t\t}else{\r\n\t\t\t\tvm.showFailure('Failed', 'Appointment date is not valid');\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.UpdateMatrialStatus = function(MetrialDeliveredStatus){\r\n\t\t\tif(MetrialDeliveredStatus){\r\n\t\t\t\tJobDetailViewComboService.UpdateMetrialDeliveredStatus(vm.TicketInfo.TicketId,loggedinUser,MetrialDeliveredStatus,token,function(res){\r\n\t\t\t\t\tvm.showSuccess(\"Success\", \"Matrial Delivered Status updated successfully\");\r\n\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t},vm.showFailure);\r\n\t\t\t}else{\r\n\t\t\t\tvm.showFailure(\"Failed\",\"Please select matrial delivred status\");\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.getReadableTime = function (time) {\r\n\t\t\tvm.timeDisplay = \"\";\r\n\t\t\tif (typeof time == \"string\") {\r\n\t\t\t\tvm.timeDisplay = $filter('date')(new Date(time), \"yyyy/MM/dd h:mm:ss a\");\r\n\t\t\t}\r\n\t\t\tif (typeof time == \"object\") {\r\n\t\t\t\tvm.timeDisplay = time.format(\"DD/MMM/YY LTS\");\r\n\t\t\t}\r\n\t\t\treturn vm.timeDisplay;\r\n\t\t}\r\n\r\n\t\tvm.isUpdatePermission = function () {\r\n\t\t\tif (vm.VerticalName == 'Spectro Labs') {\r\n\t\t\t\tif (accountConfig && accountConfig.MenuListModel) {\r\n\t\t\t\t\tfor (var i = 0; i < accountConfig.MenuListModel.length; i++) {\r\n\t\t\t\t\t\tif (accountConfig.MenuListModel[i].MenuName == \"Jobs\") {\r\n\t\t\t\t\t\t\tfor (var j = 0; j < accountConfig.MenuListModel[i].SubMenusList.length; j++) {\r\n\t\t\t\t\t\t\t\tif (accountConfig.MenuListModel[i].SubMenusList[j].SubMenuName == \"All Tickets\") {\r\n\t\t\t\t\t\t\t\t\treturn accountConfig.MenuListModel[i].SubMenusList[j].UpdatePermission.split(\",\").indexOf($localStorage.loggedInUser_Role) >= 0;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (accountConfig && accountConfig.MenuListModel) {\r\n\t\t\t\t\tfor (var i = 0; i < accountConfig.MenuListModel.length; i++) {\r\n\t\t\t\t\t\tif (accountConfig.MenuListModel[i].MenuName == \"Jobs\") {\r\n\t\t\t\t\t\t\tfor (var j = 0; j < accountConfig.MenuListModel[i].SubMenusList.length; j++) {\r\n\t\t\t\t\t\t\t\tif (accountConfig.MenuListModel[i].SubMenusList[j].SubMenuName == \"All Jobs\") {\r\n\t\t\t\t\t\t\t\t\treturn accountConfig.MenuListModel[i].SubMenusList[j].UpdatePermission.split(\",\").indexOf($localStorage.loggedInUser_Role) >= 0;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tvm.getDropDownOptions = function (SectionName, ItemName) {\r\n\t\t\tvar options = [];\r\n\t\t\tif (vm.templateData && vm.templateData.SectionList) {\r\n\t\t\t\tangular.forEach(vm.templateData.SectionList, function (l) {\r\n\t\t\t\t\tif (l.SectionName == SectionName && l.ItemList && l.ItemList.length > 0) {\r\n\t\t\t\t\t\tangular.forEach(l.ItemList, function (item) {\r\n\t\t\t\t\t\t\tif (item.ItemName == ItemName && item.ItemType == \"Dropdown Type\" && item.field_options && item.field_options.options && item.field_options.options.length > 0) {\r\n\t\t\t\t\t\t\t\t//$log.log(\"item.field_options.options\", item.field_options.options);\r\n\t\t\t\t\t\t\t\toptions = item.field_options.options;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\treturn options;\r\n\t\t}\r\n\r\n\t\tvm.getDropDownOptionsForCheckboxList = function (SectionName, ItemName) {\r\n\t\t\tvar options = [];\r\n\t\t\tif (vm.templateData && vm.templateData.SectionList) {\r\n\t\t\t\tangular.forEach(vm.templateData.SectionList, function (l) {\r\n\t\t\t\t\tif (l.SectionName == SectionName && l.ItemList && l.ItemList.length > 0) {\r\n\t\t\t\t\t\tangular.forEach(l.ItemList, function (item) {\r\n\t\t\t\t\t\t\tif (item.ItemName == ItemName && item.ItemType == \"CheckBoxList DropDown Type\" && item.field_options && item.field_options.options && item.field_options.options.length > 0) {\r\n\t\t\t\t\t\t\t\t//$log.log(\"item.field_options.options\", item.field_options.options);\r\n\t\t\t\t\t\t\t\toptions = item.field_options.options;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\treturn options;\r\n\t\t}\r\n\r\n\r\n\t\t\r\n\t\t\tvm.PDFViewRport = function (page) {\r\n\t\t\t\tvm.pdfimage =\"\";\r\n\t\t\t\tvm.IsLoadSucessfull=false;\r\n\t\t\t\t$scope.selected = null;\r\n\t\t\t\t// $timeout(function () {\r\n\t\t\t\t\tjobAppointmentModalReport = $uibModal.open({\r\n\t\t\t\t\t\ttemplateUrl: 'PDFViewDownload.html',\r\n\t\t\t\t\t\tsize: 'lg',\r\n\t\t\t\t\t\tscope: $scope\r\n\t\t\t\t\t});\r\n\t\t\t\t// }, 1000)\r\n\t\r\n\t\t\t}\r\n\t\t\tvm.PDFUserModalReport = function () {\r\n\t\t\t\tjobAppointmentModalReport.close();\r\n\t\t\t}\r\n\r\n\t\t\tvm.PDFViewEstimate = function (img) {\r\n\t\t\t\tvm.pdfimage = \"\";\r\n\t\t\t\tvm.IsLoadSucessfull = false;\r\n\t\t\t\tMainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n\t\t\t\t vm.pdfimage = resp.data;\r\n\t\t\t\t vm.IsLoadSucessfull = true;\r\n\t\t\t\t});\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t jobAppointmentModal = $uibModal.open({\r\n\t\t\t\t\ttemplateUrl: 'PDFView.html',\r\n\t\t\t\t\tsize: 'lg',\r\n\t\t\t\t\tscope: $scope\r\n\t\t\t\t });\r\n\t\t\t\t}, 1000)\r\n\t\t\t }\r\n\t\r\n\t\t\tfunction base64ToArrayBuffer(base64) {\r\n\t\t\t\tvar ret = base64.replace('data:application/pdf;base64,', '');\r\n\t\t\t\tvar binaryString = atob(ret);\r\n\t\t\t\tvar binaryLen = binaryString.length;\r\n\t\t\t\tvar bytes = new Uint8Array(binaryLen);\r\n\t\t\t\tfor (var i = 0; i < binaryLen; i++) {\r\n\t\t\t\t\tvar ascii = binaryString.charCodeAt(i);\r\n\t\t\t\t\tbytes[i] = ascii;\r\n\t\t\t\t}\r\n\t\t\t\treturn bytes;\r\n\t\t\t}\r\n\r\n\r\n\t\tvm.clickOnFileControl = function (controlName) {\t\t\t\r\n\t\t\t//angular.element(\"#image\").trigger(\"click\");\r\n\t\t\tangular.element(\"input[type='file'][name='\" + controlName + \"']\").trigger(\"click\");\r\n\t\t}\r\n\r\n\t\t$scope.upload = function (obj, $index) {\t\t\t\r\n\t\t\tvar elem = obj.target || obj.srcElement;\r\n\t\t\tvm.ImageArray = [];\t\t\t\r\n\t\t\tfor (i = 0; i < item.ItemValue.length; i++) {\t\t\t\t\r\n\t\t\t\tvar file = item.ItemValue[i];\r\n\t\t\t\tvm.ImageArray.push(elem.files[i]);\r\n\t\t\t\tvar reader = new FileReader();\r\n\t\t\t\treader.onload = function (e) {\r\n\t\t\t\t\t$scope.display = e.target.result;\r\n\t\t\t\t\tvm.tempImg = e.target.result;\r\n\t\t\t\t\t$scope.$apply();\r\n\t\t\t\t}\r\n\t\t\t\treader.readAsDataURL(file);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tvm.OpenTicketEditModal = function (action) {\r\n\t\t\tvm.ModalActionWithValuesList = {}\r\n\t\t\tvm.currentStepModel = action.action;\r\n\t\t\tcurrentStepName = vm.currentStepModel.Action;\r\n\t\t\tticketEditModalInstance = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'ticketEdit_modal.html',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t\tangular.copy(action.action, vm.ModalActionWithValuesList);\r\n\r\n\t\t}\r\n\r\n\t\tvm.CloseEditModal = function () {\r\n\t\t\tticketEditModalInstance.close();\r\n\t\t}\r\n\r\n\t\tvm.getVideoUrl = function (url) {\r\n\t\t\tif (url) {\r\n\t\t\t\treturn $sce.trustAsResourceUrl(ImageUrl + '/' + url);\r\n\t\t\t} else {\r\n\t\t\t\treturn \"assets/images/patterns/no-image.png\";\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tfunction SeperateSectionAndItems(itemlist, property) {\r\n\t\t\t\r\n\t\t\tvar hash = {};\r\n\t\t\tvar second_property = 'Section';\r\n\t\t\tvar sectionList = [];\r\n\t\t\tfor (var itemNum = 0; itemNum < itemlist.length; itemNum++) {\r\n\t\t\t\tif (itemlist[itemNum].Action == 'Supervisor' || itemlist[itemNum].Action == 'systemInfo') {\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t\tif (itemlist[itemNum].Action == 'Payment Collection' && vm.TicketInfo.CollectionRequired=='No') {\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t\tif (!hash[itemlist[itemNum][property]])\r\n\t\t\t\t\thash[itemlist[itemNum][property]] = [];\r\n\t\t\t\thash[itemlist[itemNum][property]].push(itemlist[itemNum]);\r\n\t\t\t}\r\n\r\n\t\t\tfor (var action in hash) {\r\n\t\t\t\tvar sechash = {};\r\n\t\t\t\tvar nestedSectionList = hash[action];\r\n\t\t\t\tfor (var itemIndex = 0; itemIndex < nestedSectionList.length; itemIndex++) {\r\n\t\t\t\t\tif (!sechash[nestedSectionList[itemIndex][second_property]])\r\n\t\t\t\t\t\tsechash[nestedSectionList[itemIndex][second_property]] = [];\r\n\t\t\t\t\tsechash[nestedSectionList[itemIndex][second_property]].push(nestedSectionList[itemIndex]);\r\n\t\t\t\t}\r\n\t\t\t\thash[action] = sechash;\r\n\t\t\t}\r\n\r\n\t\t\tfor (var actionName in hash) {\r\n\t\t\t\tfor (var secName in hash[actionName]) {\r\n\t\t\t\t\tvar section = {};\r\n\t\t\t\t\tsection.SectionList = [];\r\n\t\t\t\t\tsection.Section = secName;\r\n\t\t\t\t\tfor (var i = 0; i < hash[actionName][secName].length; i++) {\r\n\t\t\t\t\t\tsection.SectionList.push(hash[actionName][secName][i]);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tsection.Action = actionName;\r\n\t\t\t\t\tsectionList.push(section);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn sectionList;\r\n\t\t}\r\n\r\n\r\n\t\tvm.EditItemSectionAndActionWise = function (itemType) {\r\n\t\t\tvm.PlottedItem = '';\r\n\r\n\t\t\tswitch (itemType) {\r\n\r\n\t\t\t\tcase 'Dropdown Type':\r\n\t\t\t\t\tvm.PlottedItem = '';\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase 'Date Type':\r\n\t\t\t\t\tvm.PlottedItem = ''\r\n\t\t\t\t\t\t+ '';\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase 'Multiple Picture Type':\r\n\t\t\t\t\tvm.PlottedItem = ''\r\n\t\t\t\t\t\t+ ''\r\n\t\t\t\t\t\t+ '';\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'Signature Type':\r\n\t\t\t\t\tvm.PlottedItem = ''\r\n\t\t\t\t\t\t+ ''\r\n\t\t\t\t\t\t+ '';\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'File Attachment Type':\r\n\t\t\t\t\tvm.PlottedItem = ''\r\n\t\t\t\t\t\t// + ''\r\n\t\t\t\t\t\t + '
'\r\n\t\t\t\t\t\t+ '
Click here to upload PDF
'\r\n\t\t\t\t\t\t+ '


Click here to upload PDF
'\r\n\t\t\t\t\t\t //+ '
Click here to upload pdf
';\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'CheckBoxList DropDown Type':\r\n\t\t\t\t\tvm.PlottedItem = '';\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'Video Type':\r\n\t\t\t\t\tvm.PlottedItem = ''\r\n\t\t\t\t\t\t+''\r\n\t\t\t\t\t\t+'';\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'Character FilteredTextBoxField':\r\n\t\t\t\tcase 'Bigger Textbox':\r\n\t\t\t\tcase 'Edit Enabled':\r\n\t\t\t\tcase 'Phone Type':\r\n\t\t\t\tcase 'Decimal TextBox Type':\r\n\t\t\t\tcase 'Numeric FilteredTextBoxField':\r\n\t\t\t\tcase 'Instruction Type':\r\n\t\t\t\tcase 'Scan Barcode Type':\r\n\t\t\t\tcase 'Email':\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tvm.PlottedItem = '';\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\treturn vm.PlottedItem;\r\n\t\t}\r\n\r\n\t\t\r\n\tvm.callToTechnician = function (userid) {\r\n\t\tJobDetailViewComboService.callToTechnicianApi(loggedinUser, userid, token).then(function (resp) {\r\n\t\tif(resp.status == 200) {\r\n\t\tvm.showSuccess(\"Success\",\"Call Initiated\")\r\n\t\t}\r\n\t\telse {\r\n\t\tvm.showFailure(\"Failure\",resp.data.Message)\r\n\t\t}\r\n\t\r\n\t\t}, function () {\r\n\t\t})\r\n\t}\r\n\r\n\t\tvm.UpdateStep = function () {\r\n\r\n\t\t\tvar formData = new FormData();\r\n\r\n\t\t\tfor (var ticketmodelIndex = 0; ticketmodelIndex < vm.TicketInfo.TemplateModel.SectionList.length; ticketmodelIndex++) {\r\n\t\t\t\tvar Action = vm.TicketInfo.TemplateModel.SectionList[ticketmodelIndex].Action;\r\n\t\t\t\tvar section = vm.TicketInfo.TemplateModel.SectionList[ticketmodelIndex].SectionName;\r\n\t\t\t\tif (Action == currentStepName) {\r\n\t\t\t\t\tfor (var currentModalIndex = 0; currentModalIndex < vm.ModalActionWithValuesList.SectionList.length; currentModalIndex++) {\r\n\t\t\t\t\t\tif (section == vm.ModalActionWithValuesList.SectionList[currentModalIndex].SectionName) {\r\n\r\n\t\t\t\t\t\t\tvm.TicketInfo.TemplateModel.SectionList[ticketmodelIndex].ItemList = vm.ModalActionWithValuesList.SectionList[currentModalIndex].ItemList;\r\n\t\t\t\t\t\t\tangular.forEach(vm.TicketInfo.TemplateModel.SectionList[ticketmodelIndex].ItemList, function (item) {\r\n\t\t\t\t\t\t\t\tif (item.ItemType == 'Date Type') {\r\n\r\n\t\t\t\t\t\t\t\t\titem.ItemValue = moment(item.ItemValue).format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\");\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\telse if (item.ItemType == 'CheckBoxList DropDown Type') {\r\n\t\t\t\t\t\t\t\t\titem.field_options.options = [];\r\n\t\t\t\t\t\t\t\t\tif (item.ItemValues && item.ItemValues.length > 0) {\r\n\r\n\t\t\t\t\t\t\t\t\t\tfor (var i = 0; i < item.ItemValues.length; i++) {\r\n\t\t\t\t\t\t\t\t\t\t\tvar obj = { \"label\": item.ItemValues[i] };\r\n\t\t\t\t\t\t\t\t\t\t\t// obj.push()\r\n\t\t\t\t\t\t\t\t\t\t\titem.field_options.options.push(obj);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t//item.field_options.options.push(item.ItemValue);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse if (item.ItemType == 'Multiple Picture Type' || item.ItemType == 'Signature Type' || item.ItemType == 'File Attachment Type' || item.ItemType == 'Video Type') {\r\n\t\t\t\t\t\t\t\t\tif (vm.ImageArray[section + '_' + item.ItemName]) {\r\n\t\t\t\t\t\t\t\t\t\tvm.ImageArray[section + '_' + item.ItemName].name = vm.TicketInfo.TicketId + '_' + vm.ImageArray[section + '_' + item.ItemName].name;\r\n\t\t\t\t\t\t\t\t\t\titem.ItemValue = vm.TicketInfo.TicketId + '_' + Math.random().toString(36).substring(7) + new Date().getTime() + vm.ImageArray[section + '_' + item.ItemName].name;\r\n\t\t\t\t\t\t\t\t\t\titem.ImageName = item.ItemValue;\r\n\t\t\t\t\t\t\t\t\t\tformData.append(vm.TicketInfo.TicketId + '_' + vm.ImageArray[section + '_' + item.ItemName].name, vm.ImageArray[section + '_' + item.ItemName], item.ImageName);\r\n\r\n\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t// else if (item.ItemType == 'Video Type') { \r\n\t\t\t\t\t\t\t\t// \tif (vm.ImageArray[section + '_' + item.ItemName]) {\r\n\t\t\t\t\t\t\t\t// \t\tvm.ImageArray[section + '_' + item.ItemName].name = vm.TicketInfo.TicketId + '_' + vm.ImageArray[section + '_' + item.ItemName].name;\r\n\t\t\t\t\t\t\t\t// \t\titem.ItemValue = vm.TicketInfo.TicketId + '_' + Math.random().toString(36).substring(7) + new Date().getTime() + vm.ImageArray[section + '_' + item.ItemName].name;\r\n\t\t\t\t\t\t\t\t// \t\titem.ImageName = item.ItemValue;\r\n\t\t\t\t\t\t\t\t// \t\tformData.append(vm.TicketInfo.TicketId + '_' + vm.ImageArray[section + '_' + item.ItemName].name, vm.ImageArray[section + '_' + item.ItemName], item.ImageName);\r\n\r\n\t\t\t\t\t\t\t\t// \t}\r\n\r\n\t\t\t\t\t\t\t\t// }\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tticketEditModalInstance.close();\r\n\t\t\tformData.append('reqUserId', loggedinUser)\r\n\t\t\t//var data = angular.toJson(vm.TicketInfo);\r\n\t\t\tvm.TicketInfo.TemplateModel.SectionList.forEach(function (element,i) {\r\n\t\t\t\tvm.TicketInfo.TemplateModel.SectionList[i].ItemList.forEach(function (element,i) {\r\n\t\t\t\t\tif( element.ItemType == 'Multiple Picture Type' || element.ItemType == 'Signature Type' || element.ItemType == 'File Attachment Type' || element.ItemType == 'Video Type') {\r\n\t\t\t\t\t\telement.ItemValue = '';\r\n\t\t\t\t\t\telement.imageData =[];\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t });\r\n\t\t\tvar data = JSON.stringify(vm.TicketInfo);\r\n\t\t\tformData.append(\"TicketRequestModel\", data);\r\n\t\t\tJobDetailViewComboService.updateJobTicketwithImage(formData, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 202 || resp.status == 200) {\r\n\t\t\t\t\t$timeout(function(){\t\r\n\t\t\t\t\t\ttoaster.pop({\r\n\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\ttitle: 'job update Status',\r\n\t\t\t\t\t\t\tshowCloseButton: true,\r\n\t\t\t\t\t\t\tbody: 'Job has been successfully updated',\r\n\t\t\t\t\t\t\t\"progressBar\": true,\r\n\t\t\t\t\t\t\t\"preventDuplicates\": false,\r\n\t\t\t\t\t\t\t\"showDuration\": \"400\",\r\n\t\t\t\t\t\t\t\"hideDuration\": \"1000\",\r\n\t\t\t\t\t\t\t\"tapToDismiss\": true,\r\n\t\t\t\t\t\t\t\"timeout\": 2000,\r\n\t\t\t\t\t\t\tpositionClass: 'toast-top-full-width'\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\tvm.getTicketByJobId();\t\t\t\t\t\t\r\n\t\t\t\t\t}, 1000);\r\n\t\t\t\t\tfor (var sectionIndex = 0; sectionIndex < vm.currentStepModel.SectionList.length; sectionIndex++) {\r\n\t\t\t\t\t\tfor (var itemIndex = 0; itemIndex < vm.currentStepModel.SectionList[sectionIndex].ItemList.length; itemIndex++) {\r\n\t\t\t\t\t\t\tvar beforeChangeItem = vm.currentStepModel.SectionList[sectionIndex].ItemList[itemIndex].ItemValue;\r\n\t\t\t\t\t\t\tvar afterChangeItem = vm.ModalActionWithValuesList.SectionList[sectionIndex].ItemList[itemIndex].ItemValue;\r\n\t\t\t\t\t\t\tif (beforeChangeItem != afterChangeItem) {\r\n\t\t\t\t\t\t\t\tvm.currentStepModel.SectionList[sectionIndex].ItemList[itemIndex].ItemValue = afterChangeItem;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\t\t\t\t\t\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttoaster.pop({\r\n\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\ttitle: 'job update Status',\r\n\t\t\t\t\t\tshowCloseButton: true,\r\n\t\t\t\t\t\tbody: 'Job has not been updated',\r\n\t\t\t\t\t\t\"progressBar\": true,\r\n\t\t\t\t\t\t\"preventDuplicates\": false,\r\n\t\t\t\t\t\t\"showDuration\": \"400\",\r\n\t\t\t\t\t\t\"hideDuration\": \"1000\",\r\n\t\t\t\t\t\t\"tapToDismiss\": true,\r\n\t\t\t\t\t\t\"timeout\": 2000,\r\n\t\t\t\t\t\tpositionClass: 'toast-top-full-width'\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}, function () {\r\n\t\t\t\ttoaster.pop({\r\n\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\ttitle: 'job update Status',\r\n\t\t\t\t\tshowCloseButton: true,\r\n\t\t\t\t\tbody: 'server error',\r\n\t\t\t\t\t\"progressBar\": true,\r\n\t\t\t\t\t\"preventDuplicates\": false,\r\n\t\t\t\t\t\"showDuration\": \"400\",\r\n\t\t\t\t\t\"hideDuration\": \"1000\",\r\n\t\t\t\t\t\"tapToDismiss\": true,\r\n\t\t\t\t\t\"timeout\": 2000,\r\n\t\t\t\t\tpositionClass: 'toast-top-full-width'\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\r\n\r\n\t\tvm.getImageData = function (data) {\t\t\t\r\n\t\t\tif (data) {\r\n\t\t\t\t// console.log(data);\r\n\t\t\t\treturn data;\r\n\t\t\t} else {\r\n\t\t\t\treturn \"assets/images/patterns/no-image.png\";\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t//\r\n\t\tvm.getImageDataFST = function (data) {\t\t\t\r\n\t\t\tif (data) {\r\n\t\t\t\t// console.log(data);\r\n\t\t\t\treturn data;\r\n\t\t\t} else {\r\n\t\t\t\treturn \"assets/images/patterns/no-image.png\";\r\n\t\t\t}\r\n\t\t}\r\n\t\tvm.getPdfExist = function (name) {\t\t\t\r\n\t\t\tif(name==null)\t\t\t\r\n\t\t\t\treturn \"assets/images/patterns/no-image.png\";\r\n\t\t\telse\r\n\t\t\t\treturn name;\t\t\t\r\n\t\t\r\n\t\t}\r\n\r\n\r\n\t\tvm.reloadData = function () {\r\n\t\t\tvar resetPaging = true;\r\n\t\t\tvm.dtInstanceNearBy.reloadData(resetPaging);\r\n\t\t\t\r\n\r\n\t\t}\r\n\r\n\t\tvm.reloadDataTalent = function () {\r\n\t\t\tvar resetPagingTalent = true;\r\n\t\t\tvm.dtInstance.reloadData(resetPagingTalent);\r\n\t\t}\r\n\r\n\t\tvm.reloadDataPre = function () {\r\n\t\t\tvar resetPagingPre = true;\r\n\t\t\tvm.dtInstancePre.reloadData(resetPagingPre);\r\n\t\t}\r\n\r\n\r\n\t\tvm.Preffered = function () {\r\n\t\t\tvm.jobAppointmentModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'Preffered.html',\r\n\t\t\t\tsize: 'sm',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n //Action \r\n vm.GetFollowupReasons = function(){\r\n ManualAssignationJobService.GetReasonsByStatus(loggedinUser, token, 'FollowUp').then(function (resp) { \r\n if (resp && resp.data) {\r\n vm.reasonsForFU = resp.data;\r\n }\r\n });\r\n }\r\n vm.GetFollowupReasons();\r\n\r\n vm.GetHoldReasons = function(){\r\n ManualAssignationJobService.GetReasonsByStatus(loggedinUser, token, 'Hold').then(function (resp) { \r\n if (resp && resp.data) {\r\n vm.reasonsForHold = resp.data;\r\n }\r\n });\r\n }\r\n vm.GetHoldReasons();\r\n vm.OpenFollowUpModel = function (ticketId) {\r\n vm.followup = '';\r\n vm.tickId = ticketId;\r\n FollowUpModel = $uibModal.open({\r\n templateUrl: 'FollowupJob.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n controller: ModalInstanceCtrlFollowUp,\r\n });\r\n }\r\n\r\n vm.CloseFollowUpModel = function () {\r\n vm.primaryFollowUpReason = '';\r\n vm.primaryFollowUpRemark = '';\r\n vm.primaryHoldReason='';\r\n vm.primaryHoldRemark='';\r\n vm.followFiles = null; \r\n FollowUpModel.close();\r\n }\r\n\r\n //\r\n $scope.attachmentForFollowUp = function(files){\r\n var file = files.files[0]; \r\n vm.followFiles = files.files;\r\n var allowedExtensions = /(\\.jpg|\\.jpeg|\\.png|\\.msg|\\.pdf|\\.bmp|\\.xps)$/i; \r\n if(!allowedExtensions.exec(file.name)){\r\n vm.followFiles = [];\r\n vm.clear(); \r\n alert('Please upload file having extensions .pdf,.jpg,.jpeg,.png,.msg,.bmp,xps only.');\r\n }\r\n }\r\n \r\n vm.clear = function () {\r\n angular.element(\"input[type='file']\").val(null);\r\n }; \r\n \r\n vm.DocEdit = function(index){\r\n vm.followFiles=null; \r\n }\r\n\r\n var ModalInstanceCtrlFollowUp = function ($scope, $rootScope, $uibModalInstance) { \r\n vm.updateFollowUpStatus = function () {\r\n var data = {};\r\n data = {\r\n \"userId\": loggedinUser,\r\n \"dateTime\": \"\",\r\n \"activity\": \"\",\r\n \"action\": \"FOLLOW_UP\",\r\n \"userName\": \"\",\r\n \"ticketId\": vm.tickId,\r\n \"primaryReason\": vm.primaryFollowUpReason,\r\n \"SecondryReason\": \"\",\r\n \"ReasonComment\": vm.primaryFollowUpRemark\r\n }\r\n if(vm.followFiles != null) {\r\n ManualAssignationJobService.UpdateFollowUpReason(data,vm.followFiles, token, loggedinUser, function (res) {\r\n if (res && res.status == 201) {\r\n vm.showSuccess(\"Success\", \"Follow up done successfully.\");\r\n vm.CloseFollowUpModel();\r\n $timeout(function () {\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.filterStatusForJObs($scope.jobStatusForPaging, $scope.selectedUserId, $localStorage.loggedInUserId, token,jPageIndex,jPageSize)\r\n }, 1000); \r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to create follow up. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n }\r\n else{\r\n ManualAssignationJobService.TicketFollowUpWithoutDoc(data, token, loggedinUser, function (res) {\r\n if (res && res.status == 201) {\r\n vm.showSuccess(\"Success\", \"Follow up done successfully.\");\r\n $timeout(function () {\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000); \r\n } \r\n vm.CloseFollowUpModel();\r\n });\r\n }\r\n \r\n }\r\n }\r\n\t\tvm.OpenApproveModal = function (currentJOb) \r\n\t\t{ \r\n\t\t\tvm.CurrentJob = currentJOb;\r\n\t\t\tvm.RatingOfTicket = ''; \r\n\t\t\tif(vm.CurrentJob.IsLineItemAvailable==true && vm.CurrentJob.IsDynamicPriceApproved==false){\r\n\t\t\tvm.aproveMessage = 'Please approve dynamic pricing line item under the ticket details section!';\r\n\t\t\tapproveModalInstance = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'dynamic_price_approved_model.html',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tvm.aproveMessage = 'Please Rate !';\r\n\t\t\t\tapproveModalInstance = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'approve_model.html',\r\n\t\t\t\tscope: $scope\r\n\t\t\t\t});\r\n\t\t\t} \r\n\t\t}\r\n\t\tvm.isApprovalPermission = function (defaultValue) {\r\n\t\t\tif (vm.accountConfig && vm.accountConfig['ApprovalPermission'] != null) {\r\n\t\t\t return vm.accountConfig['ApprovalPermission'].split(\",\").indexOf($localStorage.loggedInUser_Role) > -1;\r\n\t\t\t}\r\n\t\t\treturn defaultValue;\r\n\t\t }\r\n\t\t vm.AcceptJob = function (currentJOb) {\r\n\t\t\tvm.CurrentJob = currentJOb;\r\n\t\t\tvar data = {\r\n\t\t\t \"ReqUserId\": loggedinUser,\r\n\t\t\t \"TicketId\": vm.CurrentJob.TicketId,\r\n\t\t\t \"Status\": \"Accepted\" \r\n\t\t\t};\r\n\t\t\tManualAssignationJobService.AcceptJob(data, token, loggedinUser, function (res) { \r\n\t\t\t if (res && res.status == 202) {\r\n\t\t\t\tvm.showSuccess(\"Success\", \"Job accepted successfully.\")\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t vm.FilterArray(); \r\n\t\t\t\t vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n\t\t\t\t vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n\t\t\t }, 1000);\r\n\t\t\t } else if (res && res.data && res.data.Message) {\r\n\t\t\t\tvm.showFailure(\"Failed\", res.data.Message);\r\n\t\t\t } else {\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Unable to accept job. Server is not responding correctly.\");\r\n\t\t\t }\r\n\t\t\t}, vm.showFailure);\r\n\t\t \r\n\t\t}\r\n\r\n\t\tvm.downloadReport = function (ticketId, templateName) {\r\n\t\t\tif (templateName == 'Water Testing') {\r\n\t\t\t var urlWithFeasible = PublicApiURL + '/api/Report/' + ticketId + '/DownloadReportByTemplateName?reqUserId=' + $localStorage.loggedInUserId;\r\n\t\t\t $window.open(urlWithFeasible, '_blank')\r\n\t\t\t} else {\r\n\t\t\t var urlForNonFeasible = PublicApiURL + '/api/Report/' + ticketId + '/Report?reqUserId=' + $localStorage.loggedInUserId;\r\n\t\t\t $window.open(urlForNonFeasible, '_blank')\r\n\t\t\t}\r\n\t\t }\r\n\r\n\t\t vm.ReportpdfUrl = function (ticketId) {\r\n\t\t\tManualAssignationJobService.getPdfReport(loggedinUser, ticketId, token).then(function (resp) {\r\n\t\t\tif (resp && resp.data) {\r\n\t\t\t const linkSource = resp.data.Base64Data;\r\n\t\t\t const downloadLink = document.createElement(\"a\");\r\n\t\t\t const fileName = resp.data.ReportName;\r\n\t\t\t downloadLink.href = linkSource;\r\n\t\t\t downloadLink.download = fileName;\r\n\t\t\t downloadLink.click();\r\n\t\t\t} \r\n\t\t })\r\n\t\t}\r\n\t\t\r\n\r\n\r\n\t\t\r\nvm.PullBackTicket = function (ticketId) {\r\n\tManualAssignationJobService.PullBackTicket(loggedinUser, ticketId, token).then(function (resp) {\r\n\t vm.FilterArray(); \r\n\t vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n\t vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n })\r\n }\r\n \r\n vm.RejectJobModel = function (currentJOb) {\r\n\tvm.CurrentJob = currentJOb;\r\n\tRejectJobModel = $uibModal.open({\r\n\t templateUrl: 'Rejectjob.html',\r\n\t backdrop: 'static',\r\n\t scope: $scope,\r\n\t});\r\n }\r\n \r\n vm.CloseRejectModel = function () {\r\n\tRejectJobModel.close();\r\n }\r\n \r\n vm.RejectJob = function () {\r\n\tif(!vm.RejectionRemark)\r\n\t {\r\n\t\tvm.showFailure(\"Failed\", \"Please comment on rejection.\");\r\n\t\treturn;\r\n\t }\r\n\t RejectJobModel.close(); \r\n\t var data = {\r\n\t\t\"ReqUserId\": loggedinUser,\r\n\t\t\"TicketId\": vm.CurrentJob.TicketId,\r\n\t\t\"Status\": \"Rejected\", \r\n\t\t\"RejectionRemark\": vm.RejectionRemark.toString()\r\n\t };\r\n\t ManualAssignationJobService.RejectJob(data, token, loggedinUser, function (res) { \r\n\t\tif (res && res.status == 202) {\r\n\t\t vm.showSuccess(\"Success\", \"Job rejected successfully.\")\r\n\t\t $timeout(function () {\r\n\t\t\tvm.FilterArray(); \r\n\t\t\tvm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n\t\t\tvm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n\t\t }, 1000);\r\n\t\t} else if (res && res.data && res.data.Message) {\r\n\t\t vm.showFailure(\"Failed\", res.data.Message);\r\n\t\t} else {\r\n\t\t vm.showFailure(\"Failed\", \"Unable to approve job. Server is not responding correctly.\");\r\n\t\t}\r\n\t }, vm.showFailure);\r\n\t \r\n }\r\n \r\n vm.ConvertToNewJob = function(currentJOb){\r\n \r\n\tvm.CurrentJob = currentJOb; \r\n\tvar data = {\r\n\t \"ReqUserId\": loggedinUser,\r\n\t \"TicketId\": vm.CurrentJob.TicketId,\r\n\t \"Status\": \"New\" \r\n\t};\r\n\tManualAssignationJobService.ConvertToNewJob(data, token, loggedinUser, function (res) { \r\n\t if (res && res.status == 202) {\r\n\t\tvm.showSuccess(\"Success\", \"Job converted successfully.\")\r\n\t\t$timeout(function () {\r\n\t\t vm.FilterArray(); \r\n\t\t vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n\t\t vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n\t }, 1000);\r\n\t } else if (res && res.data && res.data.Message) {\r\n\t\tvm.showFailure(\"Failed\", res.data.Message);\r\n\t } else {\r\n\t\tvm.showFailure(\"Failed\", \"Unable to convert job. Server is not responding correctly.\");\r\n\t }\r\n\t}, vm.showFailure);\r\n }\r\n \r\n\t vm.OpenHoldUpModel = function (ticketId, holdstatus) {\r\n\t\t if(holdstatus == 'Unhold')\r\n\t\t {\r\n\t\t\tvm.UpdateHoldingStatus(ticketId, holdstatus);\r\n\t\t } \r\n\t\t else{\r\n\t\t\t vm.tickId = ticketId;\r\n\t\t\t $scope.holdstatus =holdstatus;\r\n\t\t\t FollowUpModel = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'HoldJob.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t\tcontroller: ModalInstanceCtrlFollowUp,\r\n\t\t\t });\r\n\t\t } \r\n\t }\r\n \r\n\t vm.CloseHoldUpModel = function () {\r\n\t\tFollowUpModel.close();\r\n\t }\r\n \r\n\t vm.UpdateHoldReason=\"Update\";\r\n\t vm.UpdateHoldingStatus = function (ticketId, holdingStatus) { \r\n\t\tif(vm.primaryHoldReason!= null)\r\n\t {\t\r\n\t\tvm.enable1 = \"false\";\r\n\t\tvm.UpdateHoldReason=\"Updating...\";\r\n\t };\r\n\t\tManualAssignationJobService.UpdateHoldingStatus(loggedinUser, ticketId, holdingStatus,vm.primaryHoldReason,vm.primaryHoldRemark, token).then(function (resp) {\r\n\t\t if (resp.status == 202) {\r\n\t\t\tvm.showSuccess('Job Hold/Unhold Status', 'Job has been updated successfully');\r\n\t\t\t$timeout(function () {\r\n\t\t\t vm.FilterArray(); \r\n\t\t\t vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n\t\t\t vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n\t\t\t vm.enable1 = \"true\";\t\r\n\t\t\t vm.UpdateHoldReason=\"Update\";\t\r\n\t\t }, 2000);\r\n\t\t vm.CloseFollowUpModel();\r\n\t\t }\r\n\t\t else if (resp.status == 206) {\r\n\t\t\t vm.showFailure('Failed', resp.data.Message);\r\n\t\t\t $timeout(function () {\r\n\t\t\t\tvm.FilterArray(); \r\n\t\t\t\tvm.enable1 = \"true\";\t\r\n\t\t\t\tvm.UpdateHoldReason=\"Update\";\t\r\n\t\t\t\tvm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n\t\t\t\tvm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n\t\t\t}, 1000); \r\n\t\t } else {\r\n\t\t\tvm.showFailure('Job Hold/Unhold Status', 'Unable to update job, server is not responding correctly.');\r\n\t\t }\r\n\t\t}, function (err) {\r\n\t\t vm.showFailure('Job Hold/Unhold Status', 'Unable to update job, server is not responding correctly.');\r\n\t\t})\r\n\t }\r\n \r\n\t vm.DisableScheduledExceptionButtons = function (disable) {\r\n\t\tif(disable){\r\n\t\t\tvm.disableExceptionButton = true;\t\t\t\r\n\t\t}\r\n\t\telse{\r\n\t\t vm.disableExceptionButton = false;\r\n\t\t}\r\n\t }\r\n\t\r\n\t\r\n\t vm.resolveException = function(TicketId){\r\n\t\tvm.DisableScheduledExceptionButtons(true);\r\n\t\tvar ticketIdList = []; \t\t\r\n\t\tticketIdList.push(TicketId);\t\t\t \r\n\t\t\r\n\t\tManualAssignationJobService.ResolveException(loggedinUser, ticketIdList,token).then(function(resp){\r\n\t\t if (resp.status==202) {\t\t\r\n\t\t\t$timeout(function(){\t\t\t\t\t\t\t\t\r\n\t\t\t vm.showSuccess(\"Schedule Exception\", \"Exception Resolved Successfully\");\t\t\t\t\t\r\n\t\t\t vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n\t\t\t vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n\t\t\t vm.DisableScheduledExceptionButtons(false);\t\t\t\t\t\t\r\n\t\t\t}, 1000);\t\r\n\t\t\t\r\n\t\t }\r\n\t\t })\t\t\r\n\t\t}\r\n\t\t\t//download PDF \r\n\t vm.downloadReportPDF = function (ticketId,OnSiteReport) { \r\n\t\tif (OnSiteReport != null) { \r\n\t\t var urlWithFeasible = PublicApiURL + '/api/Report/GeneratePdfOnSiteReportForMultipleTickets?TicketIds=' + ticketId;\r\n\t\t $window.open(urlWithFeasible, '_blank')\r\n\t\t} else {\r\n\t\t // var urlForNonFeasible = ApiURL + '/api/Report/GeneratePdfOnSiteReport?TicketIds=' + ticketId;\r\n\t\t // $window.open(urlForNonFeasible, '_blank')\r\n\t\t vm.downloadOnSiteReport(ticketId);\r\n\t\t}\r\n\t }\r\n \r\n\t vm.pdfimage = \"\";\r\n\t vm.DocumentAvailableMessage=\"\";\t\r\n\t vm.downloadOnSiteReport = function (ticketId) { \r\n\t\tvm.PDFView();\r\n\t\t\r\n\t\t// var PreviewConsolidatedInvoiceList = previewSelectedObj;\r\n\t\tManualAssignationJobService.downloadOnSiteReport(loggedinUser, token, ticketId).then(function (resp) {\r\n\t\t // var responseDataList=[];\r\n\t\t vm.responseDataList = resp.data;\r\n\t\t // for(var i=0; i';\r\n\r\n\t\t\tvm.dtOptions = DTOptionsBuilder.fromFnPromise(function () {\r\n\t\t\t\tvar defer = $q.defer();\r\n\t\t\t\tvm.showTable = true;\r\n\t\t\t\tdefer.resolve(vm.PrefreUserList);\r\n\t\t\t\treturn defer.promise;\r\n\r\n\t\t\t})\r\n\t\t\t\t.withPaginationType('full_numbers')\r\n\t\t\t\t.withOption('order', [])\r\n\t\t\t\t.withOption('createdRow', createdRow)\r\n\t\t\t\t.withOption('headerCallback', headerCallback)\r\n\t\t\t\t.withBootstrap();\r\n\r\n\t\t\tfunction createdRow(row, data, dataIndex) {\r\n\t\t\t\t// Recompiling so we can bind Angular directive to the DT\r\n\t\t\t\t$compile(angular.element(row).contents())($scope);\r\n\t\t\t}\r\n\r\n\t\t\tfunction headerCallback(header) {\r\n\t\t\t\tif (!vm.headerCompiled) {\r\n\t\t\t\t\t// Use this headerCompiled field to only compile header once\r\n\t\t\t\t\tvm.headerCompiled = true;\r\n\t\t\t\t\t$compile(angular.element(header).contents())($scope);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tvm.dtColumns = [\r\n\t\t\t\tDTColumnBuilder.newColumn(null).withTitle(titleHtml).renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvm.selected[meta.row] = false;\r\n\t\t\t\t\tvar temp = false;\r\n\t\t\t\t\t// if (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t// \ttemp = true;\r\n\t\t\t\t\t// }\r\n\t\t\t\t\tif(vm.IsMaterialDelivered){\r\n\t\t\t\t\t\t\t\tif( vm.TicketInfo.TicketStatus != 'New' || vm.TicketInfo.MetrialDeliverStatus !='Delivered'){\r\n\t\t\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\tif(vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\ttemp = vm.TicketInfo.ShowManualBroadcast?temp:true;\r\n\t\t\t\t\treturn '';\r\n\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvar temp = false;\r\n\t\t\t\t\tif(vm.IsMaterialDelivered){\r\n\t\t\t\t\t\tif( vm.TicketInfo.TicketStatus != 'New' || vm.TicketInfo.MetrialDeliverStatus !='Delivered'){\r\n\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\tif(vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.disableRouteButton = vm.TicketInfo.ShowManualBroadcast?temp:true;\r\n\t\t\t\t\treturn '';\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('id').withTitle('Id').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('name').withTitle('Name').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\t\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('User_Type').withTitle('User Type').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('UserRating').withTitle('Rating').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('JobTotal').withTitle('Jobs').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('UserDistance').withTitle('Distance(In KM.)').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('IsPresentToday').withTitle('Attendance').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvar attendance =\"\";\r\n\t\t\t\t\tif(full.IsPresentToday){\r\n\t\t\t\t\t\tattendance = \"Present\";\r\n\t\t\t\t\t }else{\r\n\t\t\t\t\t\tattendance = \"Absent\";\r\n\t\t\t\t\t }\r\n\t\t\t\t\t \r\n\t\t\t\t\treturn '' + attendance + '';\r\n\r\n\t\t\t\t})\r\n\r\n\t\t\t];\r\n\r\n\t\t\tfunction toggleAll(selectAll, selectedItems) {\r\n\t\t\t\tvm.selectSingle = false;\r\n\t\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t\t\t\tselectedItems[id] = selectAll;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// function toggleOne(selectedItems) {\r\n\t\t\t// \tfor (var id in selectedItems) {\r\n\t\t\t// \t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t// \t\t\tif (!selectedItems[id]) {\r\n\r\n\t\t\t// \t\t\t\tif(vm.selectSingle){\r\n\t\t\t// \t\t\t\t\tvm.selectAll = false;\r\n\t\t\t// \t\t\t\t\tvm.selectSingle = false;\r\n\t\t\t// \t\t\t\t\treturn;\r\n\t\t\t// \t\t\t\t}\r\n\t\t\t// \t\t\t\tvm.selectAll = false;\r\n\t\t\t// \t\t\t\tvm.selectSingle = true;\r\n\t\t\t// \t\t\t\treturn;\r\n\t\t\t// \t\t\t}\r\n\t\t\t// \t\t\tvm.selectSingle = false;\r\n\t\t\t// \t\t}\r\n\t\t\t// \t}\r\n\t\t\t// \tvm.selectAll = true;\r\n\t\t\t// }\r\n\r\n\t\t\tfunction toggleOne(selectedItems) {\r\n\t\t\t\tvm.selectAll = false;\r\n\t\t\t\tvm.selectSingle = false;\r\n\t\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\t\tif (selectedItems[id]) {\r\n\t\t\t\t\t\tvm.selectSingle = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\r\n\t\t}\r\n\t\tvm.showTablePre = false;\r\n\t\tvm.selectSinglePre = false;\r\n\t\tvm.GetPreviousWorker = function (reload) {\r\n\r\n\t\t\tvm.headerCompiledPre = false;\r\n\t\t\tvar Distance = parseInt(vm.DistancePre)\r\n\t\t\tvar roleList = [];\r\n\t\t\troleList.push({ \"UserRole\": 'Field Engineer', \"UserType\": \"Freelancer\" });\r\n\t\t\troleList.push({ \"UserRole\": 'Vendor Manager', \"UserType\": \"Freelancer\" });\r\n\t\t\tvar orderbyUser = [];\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 0, \"OrderByField\": \"UserRating\" });\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 1, \"OrderByField\": \"BIDCounterRate\" });\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 2, \"OrderByField\": \"UserDistance\" });\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"ActOnCurrentLocation\": false,\r\n\t\t\t\t\"RangeFromJob\": Distance * 1000,\r\n\t\t\t\t\"UserConfigList\": roleList,\r\n\t\t\t\t\"FETravelChargePerKM\": 10,\r\n\t\t\t\t\"FromDate\": vm.TicketInfo.StartTime,\r\n\t\t\t\t\"ToDate\": vm.TicketInfo.EndTime,\r\n\t\t\t\t\"TransportMode\": \"driving\",\r\n\t\t\t\t\"OrderByUsers\": orderbyUser\r\n\t\t\t};\r\n\t\t\tJobDetailViewComboService.GetAllPreviousUser(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tvm.PreviousUserList = resp.data;\r\n\t\t\t\tvm.PreviousUserLength = vm.PreviousUserList.length;\r\n\t\t\t\t\r\n\t\t\t\tvm.CreatePreviousUserTable();\r\n\t\t\t\tif (reload) {\r\n\t\t\t\t\tvm.reloadDataPre();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.CreatePreviousUserTable = function () {\r\n\t\t\tvm.headerCompiledPre = false;\r\n\t\t\tvm.selectedPre = {};\r\n\t\t\tvm.toggleOnePre = toggleOnePre;\r\n\t\t\t// vm.dtInstancePre = {};\r\n\t\t\tvm.selectAllPre = false;\r\n\t\t\tvm.toggleAllPre = toggleAllPre;\r\n\t\t\tvar temp = false;\r\n\t\t\t// if (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t// \ttemp = true;\r\n\t\t\t// }\r\n\t\t\tif(vm.IsMaterialDelivered){\r\n\t\t\t\tif( vm.TicketInfo.TicketStatus != 'New' || vm.TicketInfo.MetrialDeliverStatus !='Delivered'){\r\n\t\t\t\t\ttemp = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tif(vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\ttemp = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\ttemp = vm.TicketInfo.ShowManualBroadcast?temp:true;\r\n\t\t\tvar titleHtmlPre = '';\r\n\r\n\t\t\tvm.dtOptionsPre = DTOptionsBuilder.fromFnPromise(function () {\r\n\t\t\t\tvar defer = $q.defer();\r\n\t\t\t\tvm.showTablePre = true;\r\n\t\t\t\tdefer.resolve(vm.PreviousUserList);\r\n\t\t\t\treturn defer.promise;\r\n\r\n\t\t\t})\r\n\t\t\t\t.withPaginationType('full_numbers')\r\n\t\t\t\t.withOption('order', [])\r\n\t\t\t\t.withOption('createdRow', function (row, data, dataIndex) {\r\n\t\t\t\t\t// Recompiling so we can bind Angular directive to the DT\r\n\t\t\t\t\t$compile(angular.element(row).contents())($scope);\r\n\t\t\t\t})\r\n\t\t\t\t.withOption('headerCallback', function (header) {\r\n\t\t\t\t\tif (!vm.headerCompiledPre) {\r\n\t\t\t\t\t\t// Use this headerCompiled field to only compile header once\r\n\t\t\t\t\t\tvm.headerCompiledPre = true;\r\n\t\t\t\t\t\t$compile(angular.element(header).contents())($scope);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.withBootstrap();\r\n\r\n\r\n\t\t\tvm.dtColumnsPre = [\r\n\t\t\t\tDTColumnBuilder.newColumn(null).withTitle(titleHtmlPre).renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvm.selectedPre[meta.row] = false;\r\n\t\t\t\t\tvar temp = false;\r\n\t\t\t\t\t// if (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t// \ttemp = true;\r\n\t\t\t\t\t// }\r\n\t\t\t\t\tif(vm.IsMaterialDelivered){\r\n\t\t\t\t\t\t\t\tif( vm.TicketInfo.TicketStatus != 'New' || vm.TicketInfo.MetrialDeliverStatus !='Delivered'){\r\n\t\t\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\tif(vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\ttemp = vm.TicketInfo.ShowManualBroadcast?temp:true;\r\n\t\t\t\t\treturn '';\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvar temp = false;\r\n\t\t\t\t\tif(vm.IsMaterialDelivered){\r\n\t\t\t\t\t\tif( vm.TicketInfo.TicketStatus != 'New' || vm.TicketInfo.MetrialDeliverStatus !='Delivered'){\r\n\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\tif(vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.disableRouteButton = vm.TicketInfo.ShowManualBroadcast?temp:true;\r\n\t\t\t\t\treturn '';\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('id').withTitle('Id').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('name').withTitle('Name').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('User_Type').withTitle('User Type').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('UserRating').withTitle('Rating').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('JobTotal').withTitle('Jobs').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('UserDistance').withTitle('Distance(In KM.)').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('IsPresentToday').withTitle('Attendance').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvar attendance =\"\";\r\n\t\t\t\t\tif(full.IsPresentToday){\r\n\t\t\t\t\t\tattendance = \"Present\";\r\n\t\t\t\t\t }else{\r\n\t\t\t\t\t\tattendance = \"Absent\";\r\n\t\t\t\t\t }\r\n\t\t\t\t\t \r\n\t\t\t\t\treturn '' + attendance + '';\r\n\r\n\t\t\t\t})\r\n\r\n\t\t\t];\r\n\r\n\t\t\tfunction toggleAllPre(selectAll, selectedItems) {\r\n\t\t\t\tvm.selectSinglePre = false;\r\n\t\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t\t\t\tselectedItems[id] = selectAll;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// function toggleOnePre(selectedItems) {\r\n\t\t\t// \tfor (var id in selectedItems) {\r\n\t\t\t// \t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t// \t\t\tif (!selectedItems[id]) {\r\n\r\n\t\t\t// \t\t\t\tif(vm.selectSinglePre){\r\n\t\t\t// \t\t\t\t\tvm.selectAllPre = false;\r\n\t\t\t// \t\t\t\t\tvm.selectSinglePre = false;\r\n\t\t\t// \t\t\t\t\tcontinue;\r\n\t\t\t// \t\t\t\t}\r\n\t\t\t// \t\t\t\tvm.selectAllPre = false;\r\n\t\t\t// \t\t\t\tvm.selectSinglePre = true;\r\n\t\t\t// \t\t\t\tcontinue;\r\n\t\t\t// \t\t\t}\r\n\r\n\t\t\t// \t\t}\r\n\t\t\t// \t\tvm.selectSinglePre = false;\r\n\t\t\t// \t}\r\n\t\t\t// \tvm.selectAllPre = true;\r\n\t\t\t// }\r\n\t\t\tfunction toggleOnePre(selectedItems) {\r\n\t\t\t\tvm.selectSinglePre = false;\r\n\t\t\t\tvm.selectAllPre = false;\r\n\t\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\t\tif (selectedItems[id]) {\r\n\t\t\t\t\t\tvm.selectSinglePre = true;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tvm.BroadcastField = function () {\r\n\t\t\t//vm.dissbleBroadcastButton = true;\r\n\t\t\tvm.DisableRouteBroadcastButtons(true);\r\n\t\t\tvar temp = [];\r\n\t\t\tfor (var i = 0; i < vm.FixedUserList.length; i++) {\r\n\t\t\t\tif (vm.selectedFixed[i] == true) {\r\n\t\t\t\t\ttemp.push({ \"UserId\": vm.FixedUserList[i].id, \"SuggestedPrice\": null, \"Price\": parseInt(vm.FixedUserList[i].Price), \"Distance\": parseInt(vm.FixedUserList[i].UserDistance) });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"BIDDuration\": vm.TicketInfo.BidDuration,\r\n\t\t\t\t\"MobiforceCommissionPercentage\": vm.TicketInfo.MobiforceCommission,\r\n\t\t\t\t\"TechnicianSource\": 0,\r\n\t\t\t\t\"Users\": temp\r\n\t\t\t};\r\n\t\t\tif (data.Users.length > 0) {\r\n\t\t\t\tJobDetailViewComboService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess('Success', \"Jobs Broadcasted Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$state.reload();\r\n\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t}, 2000);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.BroadcastTicketNearBy = function () {\r\n\t\t\t//vm.dissbleBroadcastButton = true;\r\n\t\t\tvm.DisableRouteBroadcastButtons(true);\r\n\t\t\tvar temp = [];\r\n\t\t\tfor (var i = 0; i < vm.NearByUserList.length; i++) {\r\n\t\t\t\tif (vm.selectedNearBy[i] == true) {\r\n\t\t\t\t\ttemp.push({ \"UserId\": vm.NearByUserList[i].id, \"SuggestedPrice\": null, \"Price\": parseInt(vm.NearByUserList[i].Price), \"Distance\": parseInt(vm.NearByUserList[i].UserDistance) });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"BIDDuration\": vm.TicketInfo.BidDuration,\r\n\t\t\t\t\"MobiforceCommissionPercentage\": vm.TicketInfo.MobiforceCommission,\r\n\t\t\t\t\"TechnicianSource\": 1,\r\n\t\t\t\t\"Users\": temp\r\n\t\t\t};\r\n\t\t\tif (data.Users.length > 0) {\r\n\t\t\t\tJobDetailViewComboService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess('Success', \"Jobs Broadcasted Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$state.reload();\r\n\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t}, 2000);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.BroadcastTicketPool = function () {\r\n\t\t\t//vm.dissbleBroadcastButton = true;\r\n\t\t\tvm.DisableRouteBroadcastButtons(true);\r\n\t\t\tvar temp = [];\r\n\t\t\tfor (var i = 0; i < vm.PrefreUserList.length; i++) {\r\n\t\t\t\tif (vm.selected[i] == true) {\r\n\t\t\t\t\ttemp.push({ \"UserId\": vm.PrefreUserList[i].id, \"SuggestedPrice\": null, \"Price\": parseInt(vm.PrefreUserList[i].Price), \"Distance\": parseInt(vm.PrefreUserList[i].UserDistance) });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"BIDDuration\": vm.TicketInfo.BidDuration,\r\n\t\t\t\t\"MobiforceCommissionPercentage\": vm.TicketInfo.MobiforceCommission,\r\n\t\t\t\t\"TechnicianSource\": 2,\r\n\t\t\t\t\"Users\": temp\r\n\t\t\t};\r\n\t\t\tif (data.Users.length > 0) {\r\n\t\t\t\tJobDetailViewComboService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess('Success', \"Jobs Broadcasted Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$state.reload();\r\n\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t}, 2000);\r\n\t\t\t}\r\n\r\n\r\n\t\t}\r\n\r\n\t\tvm.BroadcastTicketPrevious = function () {\r\n\t\t\t//vm.dissbleBroadcastButton = true;\r\n\t\t\tvm.DisableRouteBroadcastButtons(true);\r\n\t\t\tvar temp = [];\r\n\t\t\tfor (var i = 0; i < vm.PreviousUserList.length; i++) {\r\n\t\t\t\tif (vm.selectedPre[i] == true) {\r\n\t\t\t\t\ttemp.push({ \"UserId\": vm.PreviousUserList[i].id, \"SuggestedPrice\": null, \"Price\": parseInt(vm.PreviousUserList[i].Price), \"Distance\": parseInt(vm.PreviousUserList[i].UserDistance) });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"BIDDuration\": vm.TicketInfo.BidDuration,\r\n\t\t\t\t\"MobiforceCommissionPercentage\": vm.TicketInfo.MobiforceCommission,\r\n\t\t\t\t\"TechnicianSource\": 3,\r\n\t\t\t\t\"Users\": temp\r\n\t\t\t};\r\n\t\t\tif (data.Users.length > 0) {\r\n\t\t\t\tJobDetailViewComboService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess('Success', \"Jobs Broadcasted Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$state.reload();\r\n\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t}, 2000);\r\n\t\t\t}\r\n\r\n\r\n\t\t}\r\n\r\n\t\tvm.routeFixed = function (index) {\r\n\t\t\tvar data = vm.FixedUserList[index];\r\n\t\t\tvar temp = [];\r\n\t\t\ttemp.push({ \"UserId\": data.id, \"SuggestedPrice\": null, \"Price\": parseFloat(data.Price), \"Distance\": parseFloat(data.UserDistance) });\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"BIDDuration\": vm.TicketInfo.BidDuration,\r\n\t\t\t\t\"MobiforceCommissionPercentage\": vm.TicketInfo.MobiforceCommission,\r\n\t\t\t\t\"BroadcastType\": \"Route\",\r\n\t\t\t\t\"TechnicianSource\": 0,\r\n\t\t\t\t\"Users\": temp\r\n\t\t\t};\r\n\t\t\tif (data.Users.length > 0) {\r\n\t\t\t\tJobDetailViewComboService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess('Success', \"Jobs Route Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", \"User Not Found.\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Please select users.\");\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$state.reload();\r\n\t\t\t\t}, 2000);\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\r\n\t\tvm.route = function (index) {\r\n\t\t\tvm.DisableRouteBroadcastButtons(true);\r\n\t\t\tvar data = vm.NearByUserList[index];\r\n\t\t\tvar temp = [];\r\n\t\t\ttemp.push({ \"UserId\": data.id, \"SuggestedPrice\": null, \"Price\": parseFloat(data.Price), \"Distance\": parseFloat(data.UserDistance) });\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"BIDDuration\": vm.TicketInfo.BidDuration,\r\n\t\t\t\t\"MobiforceCommissionPercentage\": vm.TicketInfo.MobiforceCommission,\r\n\t\t\t\t\"BroadcastType\": \"Route\",\r\n\t\t\t\t\"TechnicianSource\": 1,\r\n\t\t\t\t\"Users\": temp\r\n\t\t\t};\r\n\t\t\tif (data.Users.length > 0) {\r\n\t\t\t\tvm.showloading = true;\r\n\t\t\t\tJobDetailViewComboService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t\t\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess('Success', \"Jobs Route Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (resp.status == 206) {\r\n\t\t\t\t\t\tvm.showFailure('Failed', resp.data.Message);\r\n\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", \"Users Not Found\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.showloading = false;\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Please select users.\");\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$state.reload();\r\n\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t}, 2000);\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tvm.routePreTalent = function (index) {\r\n\t\t\tvm.DisableRouteBroadcastButtons(true);\r\n\t\t\tvar data = vm.PrefreUserList[index];\r\n\t\t\tvar temp = [];\r\n\t\t\ttemp.push({ \"UserId\": data.id, \"SuggestedPrice\": null, \"Price\": parseFloat(data.Price), \"Distance\": parseFloat(data.UserDistance) });\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"BIDDuration\": vm.TicketInfo.BidDuration,\r\n\t\t\t\t\"MobiforceCommissionPercentage\": vm.TicketInfo.MobiforceCommission,\r\n\t\t\t\t\"BroadcastType\": \"Route\",\r\n\t\t\t\t\"TechnicianSource\": 2,\r\n\t\t\t\t\"Users\": temp\r\n\t\t\t};\r\n\t\t\tif (data.Users.length > 0) {\r\n\t\t\t\tJobDetailViewComboService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess('Success', \"Jobs Route Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", \"User Not Found.\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Please select users.\");\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$state.reload();\r\n\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t}, 2000);\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tvm.routePrevoius = function (index) {\r\n\t\t\tvm.DisableRouteBroadcastButtons(true);\r\n\t\t\tvar data = vm.PreviousUserList[index];\r\n\t\t\tvar temp = [];\r\n\t\t\ttemp.push({ \"UserId\": data.id, \"SuggestedPrice\": null, \"Price\": parseFloat(data.Price), \"Distance\": parseFloat(data.UserDistance) });\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"BIDDuration\": vm.TicketInfo.BidDuration,\r\n\t\t\t\t\"MobiforceCommissionPercentage\": vm.TicketInfo.MobiforceCommission,\r\n\t\t\t\t\"BroadcastType\": \"Route\",\r\n\t\t\t\t\"TechnicianSource\": 3,\r\n\t\t\t\t\"Users\": temp\r\n\t\t\t};\r\n\t\t\tif (data.Users.length > 0) {\r\n\t\t\t\tJobDetailViewComboService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess('Success', \"Jobs Route Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", \"Users Not Found.\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Please select users.\");\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$state.reload();\r\n\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t}, 2000);\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tvm.getReadyToAssign = function () {\r\n\r\n\t\t\tvar roleList = [];\r\n\t\t\troleList.push({ \"UserRole\": 'Field Engineer', \"UserType\": \"Freelancer\" });\r\n\t\t\troleList.push({ \"UserRole\": 'Vendor Manager', \"UserType\": \"Freelancer\" });\r\n\t\t\tvar orderbyUser = [];\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 2, \"OrderByField\": \"UserRating\" });\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 3, \"OrderByField\": \"BIDCounterRate\" });\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 1, \"OrderByField\": \"UserDistance\" });\r\n\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"JobAccountId\": '',\r\n\t\t\t\t\"ActOnCurrentLocation\": false,\r\n\t\t\t\t\"RangeFromJob\": 50 * 1000,\r\n\t\t\t\t\"UserConfigList\": roleList,\r\n\t\t\t\t\"FETravelChargePerKM\": 10,\r\n\t\t\t\t\"FromDate\": vm.TicketInfo.StartTime,\r\n\t\t\t\t\"ToDate\": vm.TicketInfo.EndTime,\r\n\t\t\t\t\"TransportMode\": \"driving\",\r\n\t\t\t\t\"OrderByUsers\": orderbyUser\r\n\t\t\t};\r\n\r\n\t\t\tdata.JobAccountId = '';\r\n\t\t\tJobDetailViewComboService.GetSchedulingEvaluationResult(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tvm.ReadytoAssignUser = resp.data.users;\r\n\t\t\t\tvm.ReadyUserLength = vm.ReadytoAssignUser.length;\r\n\r\n\t\t\t});\r\n\r\n\r\n\t\t}\r\n\r\n\t\tvm.AssignTicketsToFixedTeam = function (index) {\r\n\r\n\t\t\tvar temp = vm.FixedUserList[index];\r\n\t\t\tif($localStorage.loggedInUser_Role == 'Vendor Manager'){\r\n\t\t\t\tJobDetailViewComboService.VendorManagerAssignJobTeam(temp.id,loggedinUser, uTicketId, vm.TicketInfo.JobAccountId, token).then(function (resp) {\r\n\t\t\t\t\tif (resp && resp.status == '200') {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Job Assigned Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t\r\n\t\t\t}\r\n\t\t\telse{\r\n\r\n\t\t\tvar AllUserList = [];\r\n\r\n\t\t\tvar data = {\r\n\t\t\t\t\"UserId\": temp.id ? temp.id : temp.LinkId,\r\n\t\t\t\t\"TicketId\": vm.TicketId,\r\n\t\t\t\t\"StartTime\": moment(vm.TicketInfo.StartTime).format('YYYY-MM-DD HH:mm'),\r\n\t\t\t\t\"Endtime\": moment(vm.TicketInfo.EndTime).format('YYYY-MM-DD HH:mm'),\r\n\t\t\t\t\"SuggestedPrice\": temp.Price,\r\n\t\t\t\t\"AssignPrice\": temp.Price,\r\n\t\t\t\t\"Distance\": temp.UserDistance\r\n\t\t\t}\r\n\t\t\tAllUserList.push(data);\r\n\t\t\tif (AllUserList == '') {\r\n\t\t\t\tvm.showFailure(\"Please select users.\")\r\n\t\t\t} else {\r\n\t\t\t\tJobDetailViewComboService.AssignTicketsTimeline(loggedinUser, AllUserList, token).then(function (resp) {\r\n\t\t\t\t\tif (resp && resp.status == '200') {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Job Assigned Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t}, 2000);\r\n\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\t\t}\r\n\r\n\t\tvm.AssignTicketsTimeline = function (rUser, index) {\t\t\t\r\n\t\t\tvar AllUserList = [];\r\n\t\t\tvar data = {\r\n\t\t\t\t\"UserId\": rUser.id ? rUser.id : rUser.LinkId,\r\n\t\t\t\t\"TicketId\": vm.TicketId,\r\n\t\t\t\t\"StartTime\": moment(vm.TicketInfo.StartTime).format('YYYY-MM-DD HH:mm'),\r\n\t\t\t\t\"Endtime\": moment(vm.TicketInfo.EndTime).format('YYYY-MM-DD HH:mm'),\r\n\t\t\t\t\"SuggestedPrice\": rUser.BIDCounterRate,\r\n\t\t\t\t\"AssignPrice\": rUser.BIDCounterRate,\r\n\t\t\t\t\"Distance\": rUser.UserDistance\r\n\t\t\t}\r\n\t\t\tAllUserList.push(data);\r\n\t\t\tif (AllUserList == '') {\r\n\t\t\t\tvm.showFailure(\"Please select users.\")\r\n\t\t\t} else {\r\n\t\t\t\tJobDetailViewComboService.AssignTicketsTimeline(loggedinUser, AllUserList, token).then(function (resp) {\r\n\t\t\t\t\t\r\n\t\t\t\t\tif (resp && resp.status == '200') {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Job Assigned Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t} \r\n\t\t\t\t\telse if (resp.status == 206) {\r\n\t\t\t\t\t\tvm.showFailure('Failed', resp.data.Message);\r\n\t\t\t\t\t }\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tvm.getCustomerJobCard = function () {\r\n\t\t\tJobDetailViewComboService.getCustomerJobCardbyJobId(loggedinUser, vm.trackingTicketId, token, function (data) {\r\n\t\t\t\tvm.JobLatitude = data.JobLatitude;\r\n\t\t\t\tvm.JobLongitude = data.JobLongitude;\r\n\t\t\t\tvm.FELatitude = data.FELatitude;\r\n\t\t\t\tvm.FELongitude = data.FELongitude;\r\n\t\t\t\tvm.contactnumber = data.FEContactNumber;\r\n\t\t\t\tvm.jobtype = data.Description;\r\n\t\t\t\tvm.name = data.FEName;\r\n\t\t\t\tvm.IsTrackingAllowed = data.IsTrackingAllowed;\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t// $log.log(\"res of getCustomerJobCard=\" + data);\r\n\t\t\t\tvm.customerJobCard = data;\r\n\t\t\t\tif ($localStorage.rateJobParams) {\r\n\t\t\t\t\tvm.customerJobCard.userRole = $localStorage.Role;\r\n\t\t\t\t\tvm.customerJobCard.JobStatus = $localStorage.rateJobParams.status;\r\n\t\t\t\t\tvm.customerJobCard.CustomerGivenRating = $localStorage.rateJobParams.rating;\r\n\t\t\t\t\tdelete $localStorage.rateJobParams;\r\n\t\t\t\t}\r\n\t\t\t\tif (data && data.JobStatus == 'PaymentDone') {\r\n\r\n\t\t\t\t}\r\n\r\n\t\t\t\tinitMap();\r\n\t\t\t}, function () {\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Unable to reach server\");\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.getTracking = function () {\r\n\r\n\t\t\tif (vm.TicketInfo.TicketStatus == 'New' || vm.TicketInfo.TicketStatus == 'Hold' || vm.TicketInfo.TicketStatus == 'Broadcasted' || vm.TicketInfo.TicketStatus == 'ReadyToAssign') {\r\n\t\t\t\tvm.superPower = true;\r\n\t\t\t\tdisplayJobOnMap();\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif( (vm.TicketInfo.TicketStatus == 'Assigned'|| vm.TicketInfo.TicketStatus == 'Rejected' || vm.TicketInfo.TicketStatus == 'Approved' || vm.TicketInfo.TicketStatus == 'Completed' ) && vm.TicketInfo.UserId){\r\n\t\t\t\t\tvm.showMapPermision = true;\r\n\t\t\t\t\tvm.superPower = true;\r\n\t\t\t\t}else{\r\n\t\t\t\t\tvm.showMapPermision = false;\r\n\t\t\t\t}\r\n\t\t\t\tvm.getCustomerJobCard();\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tvm.getPicUrl = function (pic) {\r\n\t\t\treturn ImageUrl + \"/\" + pic;\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tvm.DisableScheduledExceptionButtons = function (disable) {\r\n\t if(disable){\r\n\t \t\tvm.disableExceptionButton = true;\t\t\t\r\n\t }\r\n\t else{\r\n\t \tvm.disableExceptionButton = false;\r\n\t }\r\n\t}\r\n\r\n\t\r\n\r\n\t vm.OpenPdfModal= function(PdfPathName)\r\n\t\t{\r\n vm.IsLoadSucessfull=false;\t\r\n MainService.GetImageBlob(loggedinUser, token, PdfPathName).then(function(resp) { \r\n vm.ConvertBase64ToBlob(resp.data);\r\n vm.IsLoadSucessfull=true;\t\r\n });\r\n\t\t\tjobAppointmentModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'SiteAuditPDFView.html',\r\n\t\t\t\tsize :'lg',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t\twindowClass: 'zindex'\r\n\t\t\t\t\r\n\t\t\t});\r\n\t\t}\r\n\t vm.SiteAuditPDFUserModal = function(){\r\n\t\tjobAppointmentModal.close();\r\n\t }\r\n\t\r\n\tvm.ConvertBase64ToBlob = function(response)\r\n\t{\r\n vm.Auditpdf=\"\";\r\n\t\tif(response !=null){\r\n\t\t\tvar arrrayBuffer = base64ToArrayBuffer(response); //data is the base64 encoded string\r\n\t\t\tvar blob = new Blob([arrrayBuffer], {type: \"application/pdf\"});\r\n\t\t\tvm.Auditpdf = URL.createObjectURL(blob);\t\t\t\t\r\n\t\t\tvm.IsLoadSucessfull=true;\r\n\t\t}\r\n\t\telse{\r\n\t\t\tvm.DocumentAvailableMessage=\"Document is not available\";\r\n\t\t\tvm.IsLoadSucessfull=true;\r\n\t\t}\r\n\t}\r\n\tfunction base64ToArrayBuffer(base64) \r\n\t{\r\n\t\tvar ret = base64.replace('data:application/pdf;base64,','');\r\n\t\t\tvar binaryString = atob(ret);\r\n\t\t\tvar binaryLen = binaryString.length;\r\n\t\t\tvar bytes = new Uint8Array(binaryLen);\r\n\t\t\tfor (var i = 0; i < binaryLen; i++) {\r\n\t\t\tvar ascii = binaryString.charCodeAt(i);\r\n\t\t\tbytes[i] = ascii;\r\n\t\t\t}\r\n\t\t\treturn bytes;\r\n\t} \r\n \r\n\tvm.getFileType = function(url){\r\n\t\tif(url.indexOf(\".jpg\")>=0 || url.indexOf(\".jpeg\")>=0 || url.indexOf(\".png\")>=0 || url.indexOf(\".bmp\")>=0 ||url.indexOf(\".JPG\")>=0 || url.indexOf(\".JPEG\")>=0 || url.indexOf(\".PNG\")>=0 || url.indexOf(\".BMP\")>=0){\r\n\t\t\treturn \"image\";\r\n\t\t} else if(url.indexOf(\".xls\")>=0 || url.indexOf(\".xlsx\")>=0 ||url.indexOf(\".XLS\")>=0 || url.indexOf(\".XLSX\")>=0){\r\n\t\t\treturn \"xls\";\r\n\t\t} else if(url.indexOf(\".pdf\")>=0 || url.indexOf(\".PDF\")>=0){\r\n\t\t\treturn \"pdf\";\r\n\t\t} else if(url.indexOf(\".doc\")>=0 || url.indexOf(\".docx\")>=0 || url.indexOf(\".DOC\")>=0 || url.indexOf(\".DOCX\")>=0){\r\n\t\t\treturn \"doc\";\r\n\t\t} else {\r\n\t\t\treturn \"others\";\r\n\t\t}\r\n\t\t}\r\n\t\tvm.WordDownloadtoView = function (page) { \r\n\t\t\t\r\n\t\tMainService.GetImageBlob(loggedinUser, token, page).then(function(resp) {\r\n\t\t\twindow.location.href = resp.data;\r\n\t\t}); \r\n\t\t\r\n\t}\r\n});\r\nfunction isNumberKey(evt,elemref, quantityvalue)\r\n{ \r\n var charCode = (evt.which) ? evt.which : evt.keyCode;\r\n if(quantityvalue==\"LineItemQuantity\"){\r\n if(charCode == 46 ){\r\n return false;\r\n }\r\n } \r\n if(charCode == 46 ){\r\n if ((elemref.value) && (elemref.value.indexOf('.') >= 0))\r\n return false;\r\n }\r\n if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57))\r\n { \r\n \r\n return false;\r\n } \r\n if(quantityvalue==\"Percentage\"){\r\n if(parseFloat(elemref.value + evt.key) > 100)\r\n {\r\n return false\r\n }\r\n }\r\n return true; \r\n}\r\nfunction CheckRegExOnKeyPress(e) {\r\n \r\n var regex = new RegExp(\"^[a-zA-Z0-9\\\\s\\\\.\\\\,\\\\-\\\\/]+$\");\r\n var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);\r\n if (regex.test(str)) {\r\n return true;\r\n }\r\n e.preventDefault();\r\n return false;\r\n};\r\n\nangular.module('inspinia').service('JobDetailViewNewService', function (ApiURL, $log, $http, SchedulingAPI, FreelancerURL, $localStorage, ActivityURL, LocationURL, PublicApiURL,$timeout){\r\n\r\n this.GetJobTicket = function (ticketId, token) {\r\n var url = ApiURL + '/api/Ticket/' + ticketId + '/' + $localStorage.loggedInUserId + '/byTicketId';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetJobApprove = function (ticketId, token) { \r\n var url = ApiURL + '/api/Ticket/ApproveJobStart?TicketId=' + ticketId;\r\n return $http.put(url,ticketId, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.reqVideoCall = function (ticketId, token) { \r\n var url = ApiURL + '/api/Ticket/SendVideoCallInvite?TicketId=' + ticketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.SendCommunicationInvite = function (ticketId,type, token) { \r\n var url = ApiURL + '/api/Ticket/SendCommunicationInvite?TicketId=' + ticketId +'&Type=' + type ;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetLatestVideoSessionLocation = function (UserId,token) {\r\n var url = ActivityURL + '/api/Activity/GetLatestVideoSessionLocation?userId='+ UserId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.RejectJob = function (ticketId, token) { \r\n var url = ApiURL + '/api/Ticket/RejectJobStart?TicketId=' + ticketId;\r\n return $http.put(url,ticketId, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.initiateAdvancedPayment = function (advancedDetails, token) { \r\n var url = ApiURL + '/api/JobLineItem/UpdateAdvancePaymentLineItem';\r\n return $http.put(url,advancedDetails, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n \r\n this.downloadOnSiteReport = function ( loggedInUserId, token,TicketId) { \r\n var url = ApiURL + '/api/Report/GeneratePdfOnSiteReport?TicketId=' + TicketId;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedInUserId \r\n }\r\n \r\n });\r\n }\r\n\r\n this.getHistory = function (ticketId, token) {\r\n var url = ApiURL + '/api/Ticket/' + ticketId + '/' + $localStorage.loggedInUserId + '/TicketHistorybyTicketId';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.getAllActivitiesForJob = function (jobId, accountId, token, callback) {\r\n var url = ActivityURL + '/api/Activity/' + accountId + '/GetAllActivitiesForJob?jobId=' + jobId;\r\n $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token':token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n }).then(function (res) {\r\n if (res && res.data)\r\n callback(res.data);\r\n });\r\n }\r\n\r\n this.updateStartTime = function(ticketId, userId, startTime, token, success, failure){\r\n var url = ApiURL+\"/api/Ticket/updatestartdate\"; \r\n \r\n $http.put(url, {\r\n \"requserid\": userId,\r\n \"ticketid\": ticketId,\r\n \"starttime\": startTime,\r\n // \"endtime\": EndTime\r\n // \"endtime\": EndTime.format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\")\r\n }, { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId } }).then(function(res){\r\n if(res){\r\n success(res);\r\n } else {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\") \r\n }\r\n }, function(error){\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n this.UpdateMetrialDeliveredStatus = function(ticketId, userId, matrialStatus, token, success, failure){\r\n var url = ApiURL+\"/api/Ticket/UpdateMetrialDeliverStatus?requserid=\"+userId+'&ticketid='+ticketId+'&MetrialDeliverStatus='+matrialStatus; \r\n $http.put(url, null, { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId } }).then(function(res){\r\n if(res){\r\n success(res);\r\n } else {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\") \r\n }\r\n }, function(error){\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.updateJobTicketwithImage = function (ticketModel, token) {\r\n var request = {\r\n method: 'POST',\r\n url: ApiURL + '/api/Upload/PostMediaFileWithObject',\r\n data: ticketModel,\r\n headers: {\r\n 'Token': token,\r\n 'UserId':$localStorage.loggedInUserId,\r\n 'Content-Type': undefined\r\n \r\n }\r\n };\r\n \r\n // SEND THE FILES.\r\n return $http(request)\r\n .success(function (d) {\r\n // alert(d);\r\n })\r\n .error(function () {\r\n });\r\n \r\n // var url = ApiURL + '/api/Upload/PostMediaFileWithObject';\r\n // return $http.post(url, ticketModel, {\r\n // headers: {\r\n // 'Content-Type': 'undefined', 'Token': token\r\n // }\r\n // });\r\n }\r\n \r\n this.getTemplateByName = function(name, token, userId,ticketId, success, failure){\r\n var url = ApiURL + '/api/Template/'+name+'/'+userId+'/'+ticketId+'/byNameNew';\r\n $http.get(url, {\r\n headers:{'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId}\r\n }).then(function(res){\r\n if(res && res.data){\r\n success(res.data);\r\n }\r\n }, function(error){\r\n failure(\"Failed\", \"Failed to get template \"+name+\", server is not responding correctly.\");\r\n });\r\n }\r\n \r\n this.getAllState = function (userId,token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':userId }\r\n });\r\n }\r\n \r\n this.getAllCity = function (userId, state, token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+state;\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':userId }\r\n });\r\n }\r\n\r\n this.callToCustomer = function (loggedinUser,data, token) {\r\n $http.post(ApiURL + '/api/CallPatching/ClickToCall',data,\r\n { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':loggedinUser } }).then(function (resp) {\r\n if (resp && resp.data) {\t \r\n if(resp.status==200)\r\n {\r\n vm.showSuccess(resp.data.Message); \r\n }\r\n else {\r\n vm.showFailure(\"Failed\");\r\n }\r\n }\r\n });\r\n }\r\n\r\n this.ClickToCallAlternate = function (loggedinUser,data, token) {\r\n $http.post(ApiURL + '/api/CallPatching/ClickToCallAlternate',data,\r\n { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':loggedinUser } }).then(function (resp) {\r\n if (resp && resp.data) {\t \r\n if(resp.status==200)\r\n {\r\n vm.showSuccess(resp.data.Message); \r\n }\r\n else {\r\n vm.showFailure(\"Failed\");\r\n }\r\n }\r\n });\r\n }\r\n\r\n this.saveTicket = function (loggedinUser, ticketId, data, token, success, failure) {\r\n $http.put(ApiURL + '/api/Ticket/' + loggedinUser + '/' + ticketId + '/byTicketId', data, \r\n { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':loggedinUser } }).then(function (res) {\r\n if (res && res.status == 200 && res) {\r\n success(res.data);\r\n } else{\r\n failure(\"Failed\", res.data.Message);\r\n }\r\n }, function (err) {\r\n failure(\"Failed\", \"Unable to update job, server is not responding correctly.\");\r\n });\r\n }\r\n\r\n this.updateJobDescription = function (loggedinUser, data, token, success, failure) {\r\n $http.put(ApiURL + '/api/Ticket/updateJobDescription', data, \r\n { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':loggedinUser } }).then(function (res) {\r\n if (res && res.status == 200 && res) {\r\n success(res.data);\r\n } else{\r\n failure(\"Failed\", res.data.Message);\r\n }\r\n }, function (err) {\r\n failure(\"Failed\", \"Unable to update job, server is not responding correctly.\");\r\n });\r\n }\r\n\r\n this.updatePlannedClosure = function (loggedinUser, data, token, success, failure) {\r\n $http.put(ApiURL + '/api/Ticket/UpdatePlannedClosureDate', data, \r\n { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':loggedinUser } }).then(function (res) {\r\n if (res && res.status == 200 && res) {\r\n success(res.data);\r\n } else{\r\n failure(\"Failed\", res.data.Message);\r\n }\r\n }, function (err) {\r\n failure(\"Failed\", \"Unable to update job, server is not responding correctly.\");\r\n });\r\n }\r\n\r\n this.UpdateJobPayment = function (loggedinUser, ticketId, BroadcastRate, token, success, failure) {\r\n var url = ApiURL + '/api/Ticket/UpdateJobPayment?reqUserId=' + loggedinUser + '&TicketId=' + ticketId + '&BroadcastRate='+BroadcastRate;\r\n $http.put(url,null, { headers: { 'Content-Type': 'application/json', 'Token': token,'UserId':loggedinUser } }).then(function (res) {\r\n if (res && res.status == 200 && res) {\r\n success(res.data);\r\n } else{\r\n failure(\"Failed\", \"Unable to update job payment, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n failure(\"Failed\", \"Unable to update job payment, server is not responding correctly.\");\r\n });\r\n }\r\n\r\n this.GetSchedulingEvaluationResult = function(data,reqUserId,token){\r\n var url = SchedulingAPI + '/api/AssistedScheduling/GetSchedulingEvaluationResult?reqUserId='+reqUserId;\r\n return $http.post(url,data,{\r\n headers:{'Content-Type':'application/json','Token':token, 'UserId':reqUserId}\r\n });\r\n }\r\n\r\n this.GetAllPrefereTalentPool = function(data,reqUserId,token){\r\n var url = SchedulingAPI + '/api/AssistedScheduling/GetFavoriteFR?reqUserId='+reqUserId;\r\n return $http.post(url,data,{\r\n headers:{'Content-Type':'application/json','Token':token, 'UserId':reqUserId}\r\n });\r\n }\r\n\r\n this.GetAllPreviousUser = function(data,reqUserId,token){\r\n var url = SchedulingAPI + '/api/AssistedScheduling/GetPreWorkedWith?reqUserId='+reqUserId;\r\n return $http.post(url,data,{\r\n headers:{'Content-Type':'application/json','Token':token, 'UserId':reqUserId}\r\n });\r\n }\r\n\r\n\r\n this.BroadCastJobsforUser = function(loggedinUser,data, token){\r\n var url = FreelancerURL + '/api/BID/createBidFromAssistedScheduling?reqUserId=' + loggedinUser;\r\n return $http.post(url,data,{\r\n headers:{\r\n 'Content-Type':'application/json',\r\n 'Token': token, 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.getCustomerJobCardbyJobId = function(accountId, jobId, token ,success, failure){\r\n $http.get(ApiURL+\"/api/GetCustomerJobCardbyJobId/\"+jobId+\"/\"+accountId+\"/GetCustomerJobCardbyJobId\", {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n }).then(function(res){\r\n if(res && res.data && success){\r\n success(res.data);\r\n } else if(failure){\r\n failure();\r\n }\r\n });\r\n }\r\n\r\n this.GetLatestVideoSessionLocation = function (UserId,token) {\r\n var url = ActivityURL + '/api/Activity/GetLatestVideoSessionLocation?userId='+ UserId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetTicketsByStatus = function (loggedinUser, itemNames,itemValues, token) {\r\n var url = FreelancerURL + '/api/BID/'+loggedinUser+'/' + itemNames + '/'+ itemValues + '/getjobsbyfilter';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n \r\n this.AssignTicketsTimeline = function(reqUserId,list, token){\r\n var url = ApiURL + '/api/Ticket/' + reqUserId + '/AssignTicketForAssistedScheduling'\r\n return $http.put(url,list,{\r\n headers:{'Content-Type':'application/json','Token':token, 'UserId':reqUserId}\r\n })\r\n }\r\n\r\nthis.GetUsersByTicketId = function(loggedinUser,ticketId,token){\r\n var url = ApiURL + '/api/User/GetUsersByTicketId/'+loggedinUser+'/'+ticketId;\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json','token':token, 'UserId':loggedinUser}\r\n })\r\n}\r\n\r\nthis.GetServiceTax = function(loggedInUserId,token, callback){\r\n var url = ApiURL + '/api/ServiceGST?reqUserId='+ loggedInUserId;\r\n return $http.get(url,{\r\n headers:{'Token':token,'UserId':loggedInUserId}\r\n }).then(function(res){\r\n callback(res.data)\r\n },function(){\r\n\r\n });\r\n}\r\n\r\nthis.GetMobCommission = function(loggedInUserId,token, callback){\r\n var url = ApiURL + '/api/ServiceGST/GetMobiforceCommission?reqUserId='+ loggedInUserId;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId':loggedInUserId}\r\n }).then(function(res){\r\n callback(res.data)\r\n },function(){\r\n\r\n });\r\n}\r\n\r\nthis.OnLoadLineItemDetails = function(loggedinUser,LineItemTicketId,token){\r\n var url = ApiURL + '/api/JobLineItem/GetJobLineItemByTicketId?reqUserId='+loggedinUser+'&ticketId='+LineItemTicketId;\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json','token':token, 'UserId':loggedinUser}\r\n })\r\n}\r\nthis.CreateUpdateRemoveLineItem = function (userFormData, loggedInUserId,token) {\r\n var url = ApiURL + '/api/JobLineItem/UpdateJobLineItemForNewPricing?reqUserId='+ loggedInUserId;\r\n return $http.put(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token , 'UserId':loggedInUserId\r\n }\r\n });\r\n}\r\nthis.completeJob = function (data, loggedinUser, token, success, failure) {\r\n var url = ApiURL + '/api/Ticket/updatestatus';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':loggedinUser\r\n }\r\n }).then(success, function(error){\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n}\r\n\r\nthis.VendorManagerAssignJobTeam = function (UserID, loggedInUserId,TicketId,jobAccountId,token) {\r\n var url = ApiURL + '/api/Ticket/'+ UserID +'/'+ loggedInUserId +'/'+ TicketId +'/'+ jobAccountId +'/AssignTicketByVendorFromMobile';\r\n return $http.put(url, null, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token , 'UserId':loggedInUserId\r\n }\r\n });\r\n}\r\n\r\nthis.uploadLineItemPic = function (loggedInUserId, data, token, success, failure) {\r\n $http.post(ApiURL + '/api/User/PostUserPic?reqUserId=' + loggedInUserId, data, {\r\n headers: {\r\n 'Content-Type': undefined, 'Token': token, 'UserId':loggedInUserId\r\n }\r\n }).then(success, failure);\r\n}\r\n\r\nthis.UpdateJobPaymentDynamicPrice = function (loggedinUser, ticketId, BroadcastRate,MobiforceCommission,FreelancerRate, IsFinalApproval,data,token, success, failure) {\r\n var url = ApiURL + '/api/Ticket/UpdateJobPaymentDynamicPrice?reqUserId=' + loggedinUser + '&TicketId=' + ticketId + '&BroadcastRate='+BroadcastRate + '&MobiforceCommission='+MobiforceCommission + '&FreelancerRate='+FreelancerRate + '&IsFinalApproval='+IsFinalApproval;\r\n $http.put(url,data,{ headers: { 'Content-Type': 'application/json', 'Token': token , 'UserId':loggedinUser} }).then(function (res) {\r\n if (res.status == 201) {\r\n success(res.data);\r\n } else{\r\n\r\n $timeout(function(){\t\r\n failure(\"Failed\", res.data.Message);\r\n vm.enable1 = \"true\";\r\n vm.ApprovePricingButtonText = \"Approve Pricing\";\t\t\t\t\r\n }, 1000);\r\n\r\n }\r\n }, function (err) {\r\n failure(\"Failed\", \"Unable to update job payment, server is not responding correctly.\");\r\n });\r\n}\r\n\r\nthis.UpdateJobPaymentDynamicPriceAndApprove = function (loggedInUserId, data,token) {\r\n var url = ApiURL + '/api/Ticket/UpdateJobPaymentDynamicPriceAndApprove';\r\n return $http.put(url, data, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token , 'UserId':loggedInUserId\r\n }\r\n });\r\n}\r\n\r\nthis.GetJobLineItem = function(loggedInUserId,ticketId,token){\r\n var url = ApiURL + '/api/JobLineItem/GetAllJobLineItemMasterByTicketId?ticketId='+ticketId;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId': loggedInUserId}\r\n })\r\n}\r\n\r\n\r\nthis.ResolveException = function (loggedinUser,ticketIdList, token) {\r\n var url = SchedulingAPI + '/api/AutoSchedulerException/MarkResolveSchedulerExceptionForTicket?reqUserId=' + loggedinUser; \r\n return $http.put(url, {'exceptionIdList':ticketIdList}, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token , 'UserId':loggedinUser\r\n }\r\n });\r\n}\r\n\r\nthis.GetCallDetails = function (ticketId, token) { \r\n var url = ApiURL + '/api/CallPatching/GetCallDetailsforTicket?TicketId=' + ticketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n//https://login.mymobiforce.com/coreapi/api/VoltasMaster/GetMasterDataLiteByTicketId?TicketId=T2670000009096&PurchaseType=Online\r\n// this.purchaseFromList = function (ticketId, token) { \r\n// var url = ApiURL + '/api/VoltasMaster/GetMasterDataLiteByTicketIdForPortal?TicketId=' + ticketId;\r\n// return $http.get(url, {\r\n// headers: {\r\n// 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n// }\r\n// });\r\n// }\r\nthis.purchaseFromList = function (ticketId,PurchaseType, token) { \r\n var url = ApiURL + '/api/VoltasMaster/GetMasterDataLiteByTicketId?TicketId=' + ticketId + '&PurchaseType='+PurchaseType;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\nthis.GetAllTrackingDetails = function (data, token) { \r\n var url = ApiURL + '/api/ItemsInventory/ShowAllStateTrackingDtailsOfItems';\r\n return $http.put(url, data,{\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\nthis.GetTrackingDetailsByTrackinNumber = function (data, token) { \r\n var url = ApiURL + '/api/ItemsInventory/GetTrackingDetailsByTrackinNumber';\r\n return $http.put(url, data,{\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\nthis.byPassSerialNumber = function (TicketId,bypassvalidation,token) { \r\n var url = ApiURL + '/api/VoltasMaster/ByPassValidation?TicketId='+TicketId+'&bypassvalidation='+bypassvalidation;\r\n return $http.put(url,null,{\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\nthis.GetShipmentDetails = function (data, token) { \r\n var url = ApiURL + '/api/ItemsInventory/GetShipmentDetails';\r\n return $http.put(url, data,{\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\nthis.GetWarehouse = function (token,data) {\r\n var url = ApiURL + '/api/ItemsInventory/GetNearbyWarehouseList';\r\n return $http.put(url,data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\nthis.createSalesOrder = function (token,data) {\r\n var url = ApiURL + '/api/ItemsInventory/CreateSalesOrderForLineitem';\r\n return $http.post(url,data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\nthis.GetPreApprovalDocList = function (ticketId, token) { \r\n var url = ApiURL + '/api/Ticket/GetPreApprovalStep?TicketId=' + ticketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\nthis.GetPreApprovalStepEric = function (ticketId, token) { \r\n var url = ApiURL + '/api/Ticket/GetPreApprovalStepByMMF?TicketId=' + ticketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\nthis.completeTkt = function(data,token){\r\n var url = ApiURL + '/api/Ticket/MarkTicketInCompleteStatus';\r\n return $http.put(url,data,{\r\n headers:{\r\n 'Content-Type':'application/json',\r\n 'Token': token, \r\n 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\nthis.updateapproval = function(data, token,ticketId){\r\n var url = ApiURL + '/api/Ticket/UpdateMMFFromDataPreApprovalStepByPortal?TicketId=' + ticketId;\r\n return $http.put(url,data,{\r\n headers:{\r\n 'Content-Type':'application/json',\r\n 'Token': token, \r\n 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\nthis.approvePPw = function(data, token,ticketId){\r\n var url = ApiURL + '/api/Ticket/UpdatePreApprovalStep?TicketId=' + ticketId;\r\n return $http.put(url,data,{\r\n headers:{\r\n 'Content-Type':'application/json',\r\n 'Token': token, \r\n 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\nthis.RejectJobPPw = function(data, token,ticketId){\r\n var url = ApiURL + '/api/Ticket/UpdatePreApprovalStep?TicketId=' + ticketId;\r\n return $http.put(url,data,{\r\n headers:{\r\n 'Content-Type':'application/json',\r\n 'Token': token, \r\n 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\nthis.UpdateJobData = function(formdata, token, loggedinUser,TicketId){\r\n \r\n var url = ApiURL + '/api/Upload/UpdateJobFieldData?ticketId='+TicketId;\r\n return $http.post(url,formdata,{\r\n headers:{'Content-Type':undefined,'Token':token, 'UserId': loggedinUser}\r\n });\r\n}\r\n\r\nthis.GetTemplateData = function (ticketId, token) { \r\n var url = ApiURL + '/api/Ticket/GetTemplateData?TicketId=' + ticketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\nthis.GetSectionDataByStepName = function (ticketId,sectioninfo,token) { \r\n var url = ApiURL + '/api/Ticket/GetSectionDataByStepName?TicketId=' + ticketId + '§ionInfo=' + sectioninfo;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\nthis.GenerateConsumerInvoice = function (ticketId, token) { \r\n var url = ApiURL + '/api/Ticket/PDFReportMapper/GenerateConsumerInvoiceFromMobile?ticketId=' + ticketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\n});\nangular.module('inspinia').controller('JobDetailViewNewController', function (toaster,MainService,ManualAssignationJobService,$window,PublicApiURL, ApiURL,\r\n\t$state, $localStorage, $scope,JobTicketViewService,JobDetailViewNewService, DTOptionsBuilder, DTColumnBuilder, \r\n\t$uibModal, JobDetailViewNewService,jobCreationService, $filter, $q, $timeout, $sce, $rootScope, $stateParams, $compile, UIURL, ImageUrl) {\r\n\tvm = this;\r\n\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvm.NokiaTableHeaderChange = $localStorage.accountConfig.NokiaTableHeaderChange;\r\n\tvar loggedinUserName = $localStorage.loggedInUser_FirstName + \" \" + $localStorage.loggedInUser_LastName;\r\n\tvar token = $localStorage.token;\r\n\tvar loggedinUserImage = $localStorage.picture;\r\n\tvar uTicketId = $stateParams.ticketId;\r\n\tvm.showMapPermision = false;\r\n\tvm.superPower = false;\r\n\tvm.CurrencySetting = $localStorage.accountConfig.CurrencySetting;\r\n\tvm.CallPatchEnable = $localStorage.accountConfig.CallPatchEnable;\r\n\tvm.Role = $localStorage.loggedInUser_Role;\r\n\tvm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n\tvm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\tvm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n\tvar accountConfig = $localStorage.accountConfig;\r\n\tvm.AccountId = $localStorage.accountConfig.AccountId;\r\n\tvar currentStepName = '';\r\n\tvar ticketEditModalInstance = {};\r\n\tvm.ImageArray = [];\r\n\tvm.states = [];\r\n\tvm.cities = [];\r\n\tvm.urlForNonFeasible='';\r\n\tvm.currentStepModel = {};\r\n\tvm.dtInstanceNearBy = {};\r\n\tvm.dtInstanceFixed = {};\r\n\tvm.dtInstance = {};\r\n\tvm.dtInstancePre = {};\r\n\tvm.SparePartAddress = {};\r\n\tvm.disableBroadcastButton = false;\r\n\tvm.disableRouteButton = false;\r\n\tvm.showPrefer = '';\r\n\tvm.disabledDrop = false;\r\n\tvm.showloading = false\r\n\tvm.ComplianceDisable = true;\t\r\n\tvm.PincodeEnabled = true;\r\n\tvm.PrivateDisable = false;\t\r\n\tvm.messageText = \"\";\r\n\tvm.PriceLineItemList = [];\r\n\tvm.LineItemDataList = [];\r\n\tvm.serviceType = '';\r\n\tvm.AppointmentTime = '';\r\n\tvm.ticketPrice = \"\";\r\n vm.freelancerPrice = \"\";\r\n vm.tPrice = \"\";\r\n vm.commission = \"\";\r\n vm.tax = \"\";\r\n vm.freelancerPricetemp = \"\";\r\n\tvm.LineItemImage=null;\r\n\tvm.edit=true;\r\n\tvm.edit1=false;\r\n\tvm.BonusPenaltyList =[];\r\n\tvm.BonusList =[];\r\n\tvm.PenaltyList=[];\r\n\tvm.ShipmentDetails =\"\";\r\n\tvm.LineitemActivityList=[];\r\n vm.LineItemCategoryType=\"\";\r\n\tvm.projectId=\"\";\r\n\tvm.liveLatLong = \"\";\r\n\t \r\n vm.selectedprojectId=\"\";\r\n vm.dynamicpricing=\"\";\r\n vm.FreelancrPriceEnable=\"\";\r\n\tvm.PercentageEnable=\"\";\r\n var price=0;\r\n var Quantity=1;\r\n var totalFPrice=0.0;\r\n vm.BasePriceTotal=0.0;\r\n\tvm.dFreelancerPriceTotal=0.0;\r\n vm.PercentageTotal=0.0;\r\n vm.FreelancerPriceTotal=0.0;\r\n\tvm.MobiforceCommission = $localStorage.accountConfig.MobiforceCommissionPercentage;\r\n\tvm.IsFinalApproval=false;\r\n\tvm.disableExceptionButton = false;\r\n\t// vm.IsWithInDays = true;\r\n\tvm.feedbackremark = '';\r\n\tvm.PlannedClosureDateType = \"first\";\r\n\tvm.WithInDays = 1;\r\n\tvm.WithInDaysNumbers = [1,2,3,4,5];\r\n\tvm.IsSafetyAudit = 'Not Done';\r\n\tvm.ratingwarning=\"\";\r\n\tvm.approvalRemark = '';\r\n\tvm.MaterialStatusList = [\"Dispatched\",\"Delivered\",\"Partially Delivered\",\"Not Delivered\"];\r\n\tvm.IsMaterialDelivered = $localStorage.accountConfig.IsMaterialDelivered;\r\n\tvm.SelectedMaterial = '';\r\n\tvm.FreelancerAccess = $localStorage.accountConfig.FreelancerAccess;\r\n\tvm.ZOHOWarehouseName = '';\r\n\tvm.customerJobCard = [];\t\r\n\t$scope.status = {\r\n\t\tisFirstOpen: true,\r\n\t};\r\n\t$scope.oneAtATime = true;\r\n\tvm.ppwComment = '';\r\n\tif (accountConfig && accountConfig.EnableRegion) {\r\n\t\tvm.EnableRegion = accountConfig.EnableRegion;\r\n\t} else {\r\n\t\tvm.EnableRegion = false;\r\n\t}\r\n\r\n\tvm.TemplateData = [];\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\r\n\t\tvar token = $localStorage.token;\r\n\t\tvm.ticketType = $stateParams.type;\r\n\t\tvm.TicketId = $stateParams.ticketId;\r\n\r\n\t\tvm.BackToTicketList = function () {\r\n\t\t\tif($localStorage.backToOldJobList == 'go'){\r\n\t\t\t\t$rootScope.rootScopeMessage = 'JobDetailView';\r\n\t\t\t\t$state.go('index.JobTickets', {}, { reload: true });\r\n\t\t\t}else if($localStorage.backToOldJobList == 'FreelancerFixedTeamAssign'){\r\n\t\t\t\t// $rootScope.rootScopeMessage = 'FreelancerFixedTeamAssign';\r\n\t\t\t\t$state.go('index.Freelancer_Fixed_Team', {}, { reload: true });\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\t$rootScope.rootScopeMessage = 'JobDetailViewCopy';\r\n\t\t\t\t$state.go('index.JobTicketsCopy', {}, { reload: true });\r\n\t\t\t}\r\n\t\t\t\r\n\t\t}\r\n\r\n\t\tfunction clean(obj) {\r\n\t\t\tfor (var propName in obj) {\r\n\t\t\t\tif (obj[propName] === null || obj[propName] === undefined) {\r\n\t\t\t\t\tdelete obj[propName];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\t\t\r\n\r\n\t\tvm.byPassSerialNumber = function () {\t\t\t\r\n\t\t\tJobDetailViewNewService.byPassSerialNumber(vm.TicketId,vm.TicketInfo.Isbypassvalidation,token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tif(resp.status==200)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.DisableRouteBroadcastButtons = function (disable) {\r\n\t if(disable){\r\n\t vm.disableBroadcastButton = true;\r\n\t\t\tvm.disableRouteButton = true;\r\n\t }\r\n\t else{\r\n\t vm.disableBroadcastButton = false;\r\n\t\t\tvm.disableRouteButton = false;\r\n\t }\r\n\t }\r\n\r\n\t\t//getJobapprove\r\n\t\tvm.GetJobApprovebtn = function () {\t\t\t\r\n\t\t\tJobDetailViewNewService.GetJobApprove(vm.TicketId, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\t\t\t\t \r\n\t\t\t\t\tif(resp.status==200)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", resp.data);\t\r\n\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\t}, 500);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.GetCallDetails = function () {\t\t\t\r\n\t\t\tJobDetailViewNewService.GetCallDetails(vm.TicketId, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\t\t\t\t \r\n\t\t\t\t\tif(resp.status==200)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvm.getCallDetailsList = resp.data;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.GetUserFeedbackOption = function(userid){\r\n\t\t\tvm.userid = userid;\r\n\t\t\tManualAssignationJobService.GetUserFeedbackOption(loggedinUser, token).then(function (resp) {\r\n\t\t\t if (resp && resp.data) {\r\n\t\t\t\tvm.userfeedbackList=resp.data;\r\n\t\t\t\tvm.FeedbackModel = $uibModal.open({\r\n\t\t\t\t templateUrl: 'feedback_model.html',\r\n\t\t\t\t backdrop: 'static',\r\n\t\t\t\t scope: $scope,\r\n\t\t\t\t}); \r\n\t\t\t }\r\n\t\t\t}, function () { \r\n\t\t\t});\r\n\t\t }\r\n\r\n\t\tvm.closeFeedbackPopup = function () {\r\n\t\t\tvm.FeedbackModel.close();\r\n\t\t}\r\n\r\n\t\tvm.UserDataUpdateRequest = function(){\r\n\t\t\tvm.feedbackForm.submitted = true;\r\n\t\t\t if (vm.feedbackForm.$valid) { \r\n\t\t\t\tvar data = {\r\n\t\t\t\t \"MasterReason\": vm.MasterReason,\r\n\t\t\t\t \"Comments\": vm.Comments,\r\n\t\t\t\t \"RequestForUserId\": vm.userid\r\n\t\t\t\t}\r\n\t\t\t\tManualAssignationJobService.UserDataUpdateRequest(data,loggedinUser, token).then(function (resp) {\r\n\t\t\t\t if (resp && resp.status == 200) { \r\n\t\t\t\t\tvm.showSuccess(resp.data); \r\n\t\t\t\t\tvm.closeFeedbackPopup();\r\n\t\t\t\t\tvm.Comments =\"\";\r\n\t\t\t\t\tvm.MasterReason =\"\";\r\n\t\t\t\t }\r\n\t\t\t\t}, function () {\r\n\t\t\t\t\r\n\t\t\t\t}); \r\n\t\t\t }\r\n\t\t\t}\r\n\r\n\t\tvm.openVideoPopup = function () {\r\n\t\t\tvm.videoModal = $uibModal.open({\r\n\t\t\t templateUrl: 'video_modal.html',\r\n\t\t\t backdrop: 'static',\r\n\t\t\t size: 'lg',\r\n\t\t\t scope: $scope\r\n\t\t\t});\r\n\r\n\t\t\tvm.SendCommunicationInvite();\r\n\t\t }\r\n\r\n\t\tvm.closeVideoPopup = function () {\r\n\t\t\tvm.videoModal.close();\r\n\t\t}\r\n\t\t$scope.CallInitiated = false;\r\n\t\tvm.reqVideoCall = function () {\t\t\t\r\n\t\t\tif($scope.CallInitiated == false) {\r\n\t\t\t\tJobDetailViewNewService.reqVideoCall(vm.TicketId, token).then(function (resp) {\r\n\t\t\t\t\tif(resp.status==200){\t\t\t\t\t\t\r\n\t\t\t\t\t\t{\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tvm.videoLink = resp.data;\r\n\t\t\t\t\t\t\tvm.showSuccess(\"Success\", resp.data);\r\n\t\t\t\t\t\t\tvm.PollVideoCallFieldLocation();\t\r\n\t\t\t\t\t\t\t$scope.CallInitiated = true;\t\t\t\t\r\n\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t});\r\n\t\t\t}\t\t\t\r\n\t\t}\r\n\r\n\t\t$scope.AudioCallInitiated = false;\r\n\t\t$scope.VideoCallInitiated = false;\r\n\t\t$scope.ChatInitiated = false;\r\n\r\n\t\tvm.SendCommunicationInvite = function (type) {\t\t\t\r\n\t\t\tif($scope.AudioCallInitiated == false && type == 'Audio') {\r\n\t\t\t\tJobDetailViewNewService.SendCommunicationInvite(vm.TicketId,type, token).then(function (resp) {\r\n\t\t\t\t\tif(resp.status==200){\t\t\t\t\t\t\r\n\t\t\t\t\t\t{\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tvm.connectionLink = resp.data;\r\n\t\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Audio call request initiated\");\r\n\t\t\t\t\t\t\tvm.PollVideoCallFieldLocation();\t\r\n\t\t\t\t\t\t\t$scope.AudioCallInitiated = true;\t\t\t\t\r\n\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\t}\t\r\n\t\t\telse if($scope.VideoCallInitiated == false && type == 'Video') {\r\n\t\t\t\tJobDetailViewNewService.SendCommunicationInvite(vm.TicketId,type, token).then(function (resp) {\r\n\t\t\t\t\tif(resp.status==200){\t\t\t\t\t\t\r\n\t\t\t\t\t\t{\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tvm.connectionLink = resp.data;\r\n\t\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Video call request initiated\");\r\n\t\t\t\t\t\t\tvm.PollVideoCallFieldLocation();\t\r\n\t\t\t\t\t\t\t$scope.VideoCallInitiated = true;\t\t\t\t\r\n\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\telse if($scope.ChatInitiated == false && type == 'Text') {\r\n\t\t\t\tJobDetailViewNewService.SendCommunicationInvite(vm.TicketId,type, token).then(function (resp) {\r\n\t\t\t\t\tif(resp.status==200){\t\t\t\t\t\t\r\n\t\t\t\t\t\t{\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tvm.connectionLink = resp.data;\r\n\t\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Communication Request Initiated\");\r\n\t\t\t\t\t\t\tvm.PollVideoCallFieldLocation();\t\r\n\t\t\t\t\t\t\t$scope.ChatInitiated = true;\t\t\t\t\r\n\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\t}\t\t\r\n\t\t\t}\r\n\r\n\t\tvm.ShowLocationOfFieldTeamOnMap = function(){ \t\r\n\t\t\t\tif(!vm.liveLatLong){\r\n\t\t\t\t\tShowJobOnMap();\r\n\t\t\t\t}\t\t\r\n if(vm.liveLatLong){\r\n initMap();\r\n }\t\t \r\n\t }\r\n\r\n\t vm.PollVideoCallFieldLocation = function(){ \t\t\t\r\n\t setTimeout(function () {\r\n\t vm.GetLatestVideoSessionLocation();\t\t \r\n\t }, 5000);\r\n\t console.log(\"retry for video location...\");\t\t \r\n\t }\r\n\t\t//vm.userid = 'FVT0000000001982';\r\n vm.GetLatestVideoSessionLocation = function(){\r\n JobDetailViewNewService.GetLatestVideoSessionLocation(vm.TicketInfo.UserId, token).then(function (resp) { \r\n if(resp.status==200){ \r\n vm.liveLatLong = resp.data;\r\n if(vm.liveLatLong == \"\"){\r\n \tvm.PollVideoCallFieldLocation();\r\n }\r\n else\r\n {\r\n \tvm.liveLocation = vm.liveLatLong.split(',');\r\n\t vm.FELatitude = vm.liveLocation[0];\r\n\t vm.FELongitude = vm.liveLocation[1];\r\n\t vm.showMapPermision = true;\r\n\t vm.superPower = true;\t\r\n\t console.log(\"video location received from field ...\"); \r\n } \r\n } \r\n }); \r\n }\r\n\r\n\r\n\t\tvm.ViewJobCombo = function (ticket) { \r\n\t\t\t$localStorage.backToOldJobList = '';\r\n\t\t\t$localStorage.previousPage = 'jobticketcopy';\r\n\t\t\t $state.go('index.JobDetailViewCombo', {\r\n\t\t\t\tticketId: ticket\r\n\t\t\t });\t\r\n\t\t }\r\n\r\n\t\tvm.GetPreApprovalStepEric = function(){\t\t\t\r\n\t\t\tJobDetailViewNewService.GetPreApprovalStepEric(vm.TicketId, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\t\t \r\n\t\t\t\t\tif(resp.status==200){\r\n\t\t\t\t\t\tvm.dataDocList = resp.data;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.GetPreApprovalStepEric();\r\n\r\n\t\tvm.sectionDocList = []\r\n\t\tvm.GetSectionDataByStepName = function(sectioninfo){\t\r\n\t\t\tvm.StepName = sectioninfo;\r\n\t\t\tJobDetailViewNewService.GetSectionDataByStepName(vm.TicketId,vm.StepName, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\t\t \r\n\t\t\t\t\tif(resp.status==200){\r\n\t\t\t\t\t\tvm.sectionDocList[0] = resp.data;\r\n\t\t\t\t\t\tvm.stepsDocLists = vm.sectionDocList[0]\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.stepsDocList = []\r\n\t\tvm.GetTemplateData = function(){\t\t\t\r\n\t\t\tJobDetailViewNewService.GetTemplateData(vm.TicketId, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\t\t \r\n\t\t\t\t\tif(resp.status==200){\r\n\t\t\t\t\t\tvm.stepsDocList[0] = resp.data;\r\n\t\t\t\t\t\tvm.stepsDocLists = vm.stepsDocList[0];\r\n\t\t\t\t\t\tvm.StepsName = vm.stepsDocLists[0].StepsName;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.GetTemplateData();\r\n\t\tvm.implementSelectData = function (itemList, scope) {\r\n\t\t\tscope.selectAllColumns = false;\r\n\t\t\tscope.showMinusColumns = false;\r\n\t\t\tscope.selectDataRow = function (i) {\r\n\t\t\tscope.selectAllColumns = false;\r\n\t\t\tscope.showMinusColumns = true;\r\n\t\t\t vm.finalData=[]; \r\n\t\t\t angular.forEach(scope[itemList], function (d) {\r\n\t\t\t\tscope.selectAllColumns = false;\r\n\t\t\t\tscope.showMinusColumns = true;\r\n\t\t\t\tvm.tktList =d.ticketResponseList;\r\n\t\t\t\tvar SectionName = d.SectionName;\r\n\t\t\t\tangular.forEach(vm.tktList, function (ticketResponseList) {\t\t\t\t\t\r\n\t\t\t\t\tif (ticketResponseList.enabled) {\r\n\t\t\t\t\t\tscope.selectAllColumns = false;\r\n\t\t\t\t\t\tscope.showMinusColumns = true;\r\n\t\t\t\t\t\tvar templateSection = {};\r\n\t\t\t\t\t\ttemplateSection.SectionName = SectionName;\r\n\t\t\t\t\t\ttemplateSection.ticketResponseList = ticketResponseList;\r\n\t\t\t\t\t\tvm.finalData.push(templateSection);\t\t\r\n\t\t\t\t\t }\r\n\t\t\t\t});\r\n\t\t\t\t \r\n\t\t\t });\r\n\t\t\t}\r\n\t\t\tvm.stepsDocListsTempArray = [];\r\n\t\t\tscope.applyAllColumnsSelect = function () {\r\n\t\t\t\tvm.finalData=[];\r\n\t\t\t\tangular.forEach(scope[itemList], function (d) {\t\r\n\t\t\t\td.enabled = scope.selectAllColumns;\t\t\t \r\n\t\t\t\tvm.tktList =d.ticketResponseList;\r\n\t\t\t\tvar SectionName = d.SectionName;\r\n\t\t\t\t\tangular.forEach(vm.tktList, function (ticketResponseList) {\t\t\r\n\t\t\t\t\t\t\tticketResponseList.enabled = scope.selectAllColumns;\r\n\t\t\t\t\t\t\tvar templateSection = {};\r\n\t\t\t\t\t\t\ttemplateSection.SectionName = SectionName;\r\n\t\t\t\t\t\t\ttemplateSection.ticketResponseList = ticketResponseList;\r\n\t\t\t\t\t\t\tif(ticketResponseList.enabled && (ticketResponseList.ItemStatus == \"\" || ticketResponseList.ItemStatus == null || ticketResponseList.ItemStatus == 'ApprovedByVendor')) {\r\n\t\t\t\t\t\t\t\tvm.finalData.push(templateSection);\t\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t }\r\n\r\n\t\t\t scope.applyAllSelectSection = function (stepName) {\r\n\t\t\t\tvm.finalData=[];\r\n\t\t\t\tangular.forEach(scope[itemList], function (d,i) {\t\r\n\t\t\t\td.enabled = scope.selectAllColumns;\t\t\t \r\n\t\t\t\tvm.tktList =d.ticketResponseList;\r\n\t\t\t\tvar SectionName = d.SectionName;\r\n\t\t\t\tif(stepName == d.SectionName) {\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tangular.forEach(vm.tktList, function (ticketResponseList) {\t\r\n\t\t\t\t\t\t\t\tticketResponseList.enabled = scope.selectAllColumns;\r\n\t\t\t\t\t\t\t\tvar templateSection = {};\r\n\t\t\t\t\t\t\t\ttemplateSection.SectionName = SectionName;\r\n\t\t\t\t\t\t\t\ttemplateSection.ticketResponseList = ticketResponseList;\r\n\t\t\t\t\t\t\t\tif(ticketResponseList.enabled && (ticketResponseList.ItemStatus == \"\" || ticketResponseList.ItemStatus == null || ticketResponseList.ItemStatus == 'ApprovedByVendor')) {\r\n\t\t\t\t\t\t\t\t\tvm.finalData.push(templateSection);\t\r\n\t\t\t\t\t\t\t\t}\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\t\r\n\t\t\t\t\t}\t\t\t\t\r\n\t\t\t\t});\r\n\t\t\t }\r\n\t\t }\r\n\t\t vm.implementSelectData('stepsDocLists', this);\r\n\t\t vm.approveJobDataCap = function () { \r\n\t\t\tif(vm.finalData){\r\n\t\t\t\tangular.forEach(vm.finalData, function (q) {\r\n\t\t\t\t\tvm.ticketResp = q.ticketResponseList\r\n\t\t\t\t\t\tif(vm.ticketResp.ItemName) {\r\n\t\t\t\t\t\t\tdelete vm.ticketResp.ItemValue;\r\n\t\t\t\t\t\t\tdelete vm.ticketResp.ImageName;\r\n\t\t\t\t\t\t\tdelete vm.ticketResp.ItemUpdateDate;\r\n\t\t\t\t\t\t\tdelete vm.ticketResp.checked;\r\n\t\t\t\t\t\t\tdelete vm.ticketResp.ItemValues;\r\n\t\t\t\t\t\t\tdelete vm.ticketResp.ItemType;\r\n\t\t\t\t\t\t\tdelete vm.ticketResp.Value;\r\n\t\t\t\t\t\t\tdelete vm.ticketResp.VideoName;\r\n\t\t\t\t\t\t\tdelete vm.ticketResp.enabled;\r\n\t\t\t\t\t\t\tvm.ticketResp.ItemStatus = 'Approved';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t });\r\n\t\t\t\t JobDetailViewNewService.updateapproval(vm.finalData,token,vm.TicketId).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\t vm.showSuccess(\"Success\", \"approved\");\r\n\t\t\t\t\t $timeout(function () {\r\n\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\tvm.GetPreApprovalStepEric();\r\n\t\t\t\t\t\tvm.GetSectionDataByStepName(vm.StepName);\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse { \r\n\t\t\t\t\t vm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t });\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Please select field data.\");\r\n\t\t\t}\r\n\t\t }\r\n\r\n\t\t vm.RejectJobDataCap = function () { \r\n\t\t\tif(vm.finalData){\r\n\t\t\t\tangular.forEach(vm.finalData, function (q) {\r\n\t\t\t\t\tvm.ticketResp = q.ticketResponseList\r\n\t\t\t\t\t\tif(vm.ticketResp.ItemName) {\r\n\t\t\t\t\t\t\tdelete vm.ticketResp.ItemValue;\r\n\t\t\t\t\t\t\tdelete vm.ticketResp.ImageName;\r\n\t\t\t\t\t\t\tdelete vm.ticketResp.ItemUpdateDate;\r\n\t\t\t\t\t\t\tdelete vm.ticketResp.checked;\r\n\t\t\t\t\t\t\tdelete vm.ticketResp.ItemValues;\r\n\t\t\t\t\t\t\tdelete vm.ticketResp.ItemType;\r\n\t\t\t\t\t\t\tdelete vm.ticketResp.Value;\r\n\t\t\t\t\t\t\tdelete vm.ticketResp.VideoName;\r\n\t\t\t\t\t\t\tdelete vm.ticketResp.enabled;\r\n\t\t\t\t\t\t\tvm.ticketResp.ItemStatus = 'Rejected';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t });\r\n\t\t\t\tJobDetailViewNewService.updateapproval(vm.finalData,token,vm.TicketId).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\t vm.showSuccess(\"Success\", \"Rejected\");\r\n\t\t\t\t\t $timeout(function () {\r\n\t\t\t\t\t\tvm.GetPreApprovalStepEric();\r\n\t\t\t\t\t\tvm.GetSectionDataByStepName(vm.StepName);\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{ \r\n\t\t\t\t\t vm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t });\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Please select field data.\");\r\n\t\t\t}\r\n\t\t\t\r\n\t\t }\r\n\t\t\r\n\t\tvm.GetPreApprovalDocList = function () {\t\t\t\r\n\t\t\tJobDetailViewNewService.GetPreApprovalDocList(vm.TicketId, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\t\t \r\n\t\t\t\t\tif(resp.status==200){\r\n\t\t\t\t\t\tvm.pAdocList = resp.data;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.GetPreApprovalDocList();\r\n\r\n\t\tvm.implementSelectTickets = function (itemList, scope) {\r\n\t\t\tscope.selectAllColumns = false; \r\n scope.showMinusColumns = false;\r\n scope.selectDocRow = function (i) {\r\n scope.selectAllColumns = true; \r\n scope.showMinusColumns = false;\r\n\t\t\t vm.docListArray = []; \r\n\t\t\t angular.forEach(scope[itemList], function (d) {\r\n\t\t\t\tif (d.checked) {\r\n\t\t\t\t vm.docListArray.push(d) \r\n\t\t\t\t} \r\n\t\t\t });\r\n\t\t\t}\r\n\t\t\tscope.applyAllValuesSelect = function () {\r\n\t\t\t\tvm.docListArray = []; \r\n\t\t\t\tangular.forEach(scope[itemList], function (d) { \r\n\t\t\t\t\tif(d.ItemStatus == \"\" || d.ItemStatus == null || d.ItemStatus == 'ApprovedByVendor'){\r\n\t\t\t\t\t\td.checked = scope.selectAllColumns;\r\n\t\t\t\t\t\tif(d.checked) {\r\n\t\t\t\t\t\t\tvm.docListArray.push(d); \r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t}); \r\n\t\t }\r\n\t\t }\r\n\t\t vm.implementSelectTickets('pAdocList', this);\r\n\r\n\t\t vm.approvePPw = function () { \r\n\t\t\tangular.forEach(vm.docListArray, function (d) {\r\n\t\t\t\t// if(d.ItemValue) {\r\n\t\t\t\t\tdelete d.ItemValue;\r\n\t\t\t\t\tdelete d.ImageName;\r\n\t\t\t\t\tdelete d.ItemUpdateDate;\r\n\t\t\t\t\tdelete d.checked;\r\n\t\t\t\t\tdelete d.ItemValues;\r\n\t\t\t\t\tdelete d.ItemType;\r\n\t\t\t\t\tdelete d.Value;\r\n\t\t\t\t\tdelete d.VideoName;\r\n\t\t\t\t\td.ItemStatus = 'Approved';\r\n\t\t\t\t\t// d.ItemComment = vm.ppwComment;\r\n\t\t\t\t// }\r\n\t\t\t });\r\n\t\t\tJobDetailViewNewService.approvePPw(vm.docListArray,token,vm.TicketId).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t vm.showSuccess(\"Success\", \"approved\");\r\n\t\t\t\t $timeout(function () {\r\n\t\t\t\t\t$state.reload();\r\n\t\t\t\t\tvm.GetPreApprovalDocList();\r\n\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse { \r\n\t\t\t\t vm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t });\r\n\t\t }\r\n\t\t vm.RejectJobPPw = function () { \r\n\t\t\tangular.forEach(vm.docListArray, function (d) {\r\n\t\t\t\t// if(d.ItemValue) {\r\n\t\t\t\t\tdelete d.ItemValue;\r\n\t\t\t\t\tdelete d.ImageName;\r\n\t\t\t\t\tdelete d.ItemUpdateDate;\r\n\t\t\t\t\tdelete d.checked;\r\n\t\t\t\t\tdelete d.ItemValues;\r\n\t\t\t\t\tdelete d.ItemType;\r\n\t\t\t\t\tdelete d.Value;\r\n\t\t\t\t\tdelete d.VideoName;\r\n\t\t\t\t\td.ItemStatus = 'Rejected';\r\n\t\t\t\t// }\r\n\t\t\t });\r\n\t\t\tJobDetailViewNewService.RejectJobPPw(vm.docListArray,token,vm.TicketId).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t vm.showSuccess(\"Success\", \"Rejected\");\r\n\t\t\t\t $timeout(function () {\r\n\t\t\t\t\t$state.reload();\r\n\t\t\t\t\tvm.GetPreApprovalDocList();\r\n\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse{ \r\n\t\t\t\t vm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t });\r\n\t\t }\r\n\t\t// vm.GetTrackingDetails = function (HwType) {\r\n\t\t// \tvar data = {\r\n\t\t// \t\t\"TicketId\": vm.TicketId,\r\n\t\t// \t\t\"HardwareType\":HwType\r\n\t\t// \t};\t\t\r\n\t\t// \tJobDetailViewNewService.GetTrackingDetails(data, token).then(function (resp) {\r\n\t\t// \t\tif (resp && resp.data) {\r\n\t\t\t\t\t\t\t\t \r\n\t\t// \t\t\tif(resp.status==200)\r\n\t\t// \t\t\t{\r\n\t\t// \t\t\t\tvm.getTrackingDetailsList = resp.data;\r\n\t\t// \t\t\t}\r\n\r\n\t\t// \t\t}\r\n\t\t// \t});\r\n\t\t// }\r\n\r\n\t\tvm.GetTrackingDetailsByTrackinNumber = function (trackingNo) {\r\n\t\t\tvm.trackNo = trackingNo;\r\n\t\t\tvar data = {\r\n\t\t\t\t\"Id\": vm.TicketId,\r\n\t\t\t\t\"trackingNumber\": trackingNo\r\n\t\t\t};\t\t\r\n\t\t\tJobDetailViewNewService.GetTrackingDetailsByTrackinNumber(data, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\t\t\t\t \r\n\t\t\t\t\tif(resp.status==200)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvm.getTrackingDetailsList = resp.data;\r\n\t\t\t\t\t\tvm.lastTag = vm.getTrackingDetailsList[vm.getTrackingDetailsList.length - 1].tag;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n// Shipment Tracking Details\r\n\t\tvm.GetShipmentDetails = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"ID\": vm.TicketId\r\n\t\t\t};\t\t\r\n\t\t\tJobDetailViewNewService.GetShipmentDetails(data, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\t\t\t\t \r\n\t\t\t\t\tif(resp.status==200)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvm.getShipmentDetailsList = resp.data;\r\n\t\t\t\t\t\t// vm.lineItemShip = vm.getShipmentDetailsList[0].JobLineItemList;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t\t//Reject job\r\n\t\t\tvm.RejectJobBtn = function () {\t\t\t\r\n\t\t\t\tJobDetailViewNewService.RejectJob(vm.TicketId, token).then(function (resp) {\r\n\t\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\tif(resp.status==200)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tvm.showSuccess(\"Success\", resp.data);\t\r\n\t\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\t\t}, 500);\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\r\n\r\n\r\n\r\n\t\tvm.getTicketByJobId = function () {\t\t\t\r\n\t\t\tJobDetailViewNewService.GetJobTicket(vm.TicketId, token).then(function (resp) {\r\n\t\t\t\tvm.TicketInfo = resp.data;\r\n\t\t\t\tvm.sowLink = \"https://www.youtube.com/embed/\" + vm.TicketInfo.ScopeWorkPath;\r\n\t\t\t\tvm.PlannedClosureDateType = vm.TicketInfo.SPDUpdateWithInDays == 0?'first':'other';\r\n\t\t\t\tvm.FreelancerBidForLightTicketList = vm.TicketInfo.FreelancerBidForLightTicketModel;\r\n\t\t\t\t// vm.FreelancerBidCount=vm.TicketInfo.FreelancerBidForLightTicketModel.length;\r\n\t\t\t\tvm.BonusPenaltyList = vm.TicketInfo.ListBonusPenalty;\r\n\t\t\t\tvm.ShipmentDetails = vm.TicketInfo.ShipmentDetails;\r\n\t\t\t\tvm.JobLatitude = vm.TicketInfo.Latitude;\r\n\t\t\t\tvm.JobLongitude = vm.TicketInfo.Longitude;\r\n\t\t\t\tvm.name = vm.TicketInfo.UserName;\r\n\t\t\t\tif(vm.TicketInfo.ConsumerContact){\r\n\t\t\t\t\tvm.TicketInfo.ConsumerContact=vm.TicketInfo.ConsumerContact.replace(/\\d(?=\\d{4})/g, '*');\r\n\t\t\t\t }\r\n\t\t\t\tif(vm.TicketInfo.AlternateConsumerContact){\r\n\t\t\t\tvm.TicketInfo.AlternateConsumerContact = vm.TicketInfo.AlternateConsumerContact.replace(/\\d(?=\\d{4})/g, '*');\r\n\t\t\t\t}\r\n\t\t\t\tfor(var i = 0; i < vm.BonusPenaltyList.length; i++)\r\n\t\t\t {\r\n\t\t\t\tif(vm.BonusPenaltyList[i].RuleType == \"Bonus\")\t\t\t\t\r\n\t\t\t\t\tvm.BonusList.push(vm.BonusPenaltyList[i]);\t\t\t\t\r\n\t\t\t\telse\r\n\t\t\t\t\tvm.PenaltyList.push(vm.BonusPenaltyList[i]);\r\n\t\t\t }\t\r\n\t\t\t\tvm.projectId=vm.TicketInfo.ProjectId;\r\n\r\n\t\t\t\t//vm.TicketInfo.IsLineItemAvailable=true;\r\n\t\t\t\tif (vm.TicketInfo.TicketStatus == 'New') \r\n\t\t\t\t\tvm.fileuploadShow=false;\t\t\t\t\r\n\t\t\t\telse\r\n\t\t\t\t \tvm.fileuploadShow=true;\r\n\t\t\t\tvm.GetAllJobLineItems(vm.TicketId);\r\n\t\t\t\tif (vm.TicketInfo.SpareTransportType == '0') {\r\n\t\t\t\t\tclean(vm.TicketInfo.Courier);\r\n\t\t\t\t\t// var temp = (Object.keys(vm.TicketInfo.Courier).forEach((key) => (vm.TicketInfo.Courier[key] == null) && delete vm.TicketInfo.Courier[key]));\r\n\t\t\t\t\tif (vm.TicketInfo.Courier) {\r\n\t\t\t\t\t\tvm.SparePartAddress = (Object.values(vm.TicketInfo.Courier)).toString();\r\n\t\t\t\t\t\tvm.SpareTransportType = 'Courier';\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t} else if (vm.TicketInfo.SpareTransportType == '1') {\r\n\t\t\t\t\t// var temp = Object.keys(vm.TicketInfo.PickUp).forEach((key) => (vm.TicketInfo.PickUp[key] == null) && delete vm.TicketInfo.PickUp[key]);\r\n\t\t\t\t\tclean(vm.TicketInfo.PickUp);\r\n\t\t\t\t\tvm.SparePartAddress = (Object.values(vm.TicketInfo.PickUp)).toString();\r\n\t\t\t\t\tvm.SpareTransportType = 'PickUp';\r\n\t\t\t\t} else if (vm.TicketInfo.SpareTransportType == '2') {\r\n\t\t\t\t\tclean(vm.TicketInfo.PickUpDrop.PickUp);\r\n\t\t\t\t\t// var temp = Object.keys(vm.TicketInfo.PickUpDrop.PickUp).forEach((key) => (vm.TicketInfo.PickUpDrop.PickUp[key] == null) && delete vm.TicketInfo.PickUpDrop.PickUp[key]);\r\n\t\t\t\t\tvm.SparePartAddress = (Object.values(vm.TicketInfo.PickUpDrop.PickUp)).toString();\r\n\t\t\t\t\tvm.SpareTransportType = 'PickUpDrop';\r\n\t\t\t\t\tvm.SparePartDropAddress = vm.TicketInfo.PickUpDrop.Address1 + ',' + vm.TicketInfo.PickUpDrop.Address2 + ',' + vm.TicketInfo.PickUpDrop.State + ',' + vm.TicketInfo.PickUpDrop.City + ',' + vm.TicketInfo.PickUpDrop.Pincode;\r\n\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (vm.TicketInfo.Template == 'VSAT Troubleshooting' || vm.TicketInfo.Template == 'LeaseLine Troubleshooting') {\r\n\t\t\t\t\t// vm.GetStatusActivityInPie();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (vm.TicketInfo.LinkId) {\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvm.getAllActivitiesForJob();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tangular.copy(vm.TicketInfo.TemplateModel, vm.TemplateData);\r\n\r\n\t\t\t\tfor (var index = 0; index < vm.TemplateData.SectionList.length; index++) {\t\t\t\t\t\r\n\t\t\t\t\tif (vm.TemplateData.SectionList[index].Action == 'Supervisor' && vm.TemplateData.SectionList[index].SectionName == 'Supervisor') {\r\n\t\t\t\t\t\tvm.SuperVisorData = vm.TemplateData.SectionList[index].ItemList;\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t//ListFieldSupportTeam \r\n\t\t\t\tfor (var index = 0; index < vm.TicketInfo.ListFieldSupportTeam.length; index++) {\t\t\t\t\t\r\n\t\t\t\t\tif (vm.TicketInfo.ListFieldSupportTeam.length >= 0 ) {\r\n\t\t\t\t\t\tvm.ListOfSupportTeam = vm.TicketInfo.ListFieldSupportTeam;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvm.getCallTypeList(vm.TicketInfo.JobType, vm.SuperVisorData);\r\n\t\t\t\tvm.ListActionWise = SeperateSectionAndItems(vm.TemplateData.SectionList, 'Action');\r\n\r\n\t\t\t\t\r\n\t\t\t\tvm.TicketInfoEdit = {\r\n\t\t\t\t\tConsumerName: vm.TicketInfo.ConsumerName,\r\n\t\t\t\t\tConsumerContact: vm.TicketInfo.ConsumerContact,\r\n\t\t\t\t\tAddress1: vm.TicketInfo.Address1,\r\n\t\t\t\t\tAddress2: vm.TicketInfo.Address2,\r\n\t\t\t\t\tPincode: vm.TicketInfo.Pincode,\r\n\t\t\t\t\t// StartTime: vm.TicketInfo.StartTime,\r\n\t\t\t\t\tPlannedStartDate: vm.TicketInfo.PlannedStartDate,\r\n\t\t\t\t\t// EndTime: vm.TicketInfo.EndTime,\r\n\t\t\t\t\tEndTime: ''\r\n\t\t\t\t}\r\n\t\t\t\tvm.TicketDescEdit = {\r\n\t\t\t\t\tSkillSet: vm.TicketInfo.SkillSet,\r\n\t\t\t\t\tPaymentType: vm.TicketInfo.PaymentType,\r\n\t\t\t\t\tTemplate: vm.TicketInfo.Template,\r\n\t\t\t\t\tJobDescription: vm.TicketInfo.JobDescription,\r\n\t\t\t\t\tPriority: vm.TicketInfo.Priority,\r\n\t\t\t\t\tSiteId: vm.TicketInfo.SiteId,\r\n\t\t\t\t\tSiteName: vm.TicketInfo.SiteName,\r\n\t\t\t\t\tRegion: vm.TicketInfo.Region,\r\n\t\t\t\t\tBidDuration: vm.TicketInfo.BidDuration\r\n\t\t\t\t}\r\n\t\t\t\tvm.getAllStates();\r\n\t\t\t\tif (vm.TicketInfo.State) {\r\n\t\t\t\t\tvm.getCities(vm.TicketInfo.State);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tJobDetailViewNewService.getTemplateByName(vm.TicketInfo.Template, token, loggedinUser,vm.TicketInfo.TicketId, function (data) {\r\n\t\t\t\t\tvm.templateData = data;\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t\t\tvm.TechnicianSource = vm.TicketInfo.TechnicianSource ? vm.TicketInfo.TechnicianSource : vm.TechnicianSource = '';\r\n\r\n\t\t\t\tvm.showPrefer = 'fixed';\r\n\t\t\t\t// \tvm.GetFixedUser(false);\r\n\t\t\t\t// \tvm.GetNearByUser(false);\r\n\t\t\t\t// vm.GetPreviousWorker(false);\r\n\t\t\t\t// vm.GetTalentPoolUser(false);\r\n\r\n\t\t\t\tif (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\tvm.disabledDrop = true;\r\n\t\t\t\t}\r\n\t\t\t\tif (vm.TicketInfo.MetrialDeliverStatus) {\r\n\t\t\t\t\tvm.SelectedMaterial = vm.TicketInfo.MetrialDeliverStatus;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (vm.TechnicianSource == '0' && vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\tvm.showPrefer = 'fixed';\r\n\t\t\t\t\tvm.showF = true;\r\n\t\t\t\t\tvm.showN = false;\r\n\t\t\t\t\tvm.showT = false;\r\n\t\t\t\t\tvm.showP = false;\r\n\t\t\t\t\tvm.GetFixedUser(false);\r\n\t\t\t\t} else if (vm.TechnicianSource == '1' && vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\tvm.showPrefer = 'nearBy';\r\n\t\t\t\t\tvm.showF = false;\r\n\t\t\t\t\tvm.showN = true;\r\n\t\t\t\t\tvm.showT = false;\r\n\t\t\t\t\tvm.showP = false;\r\n\t\t\t\t\tvm.GetNearByUser(false);\r\n\t\t\t\t} else if (vm.TechnicianSource == '2' && vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\tvm.showPrefer = 'true';\r\n\t\t\t\t\tvm.showF = false;\r\n\t\t\t\t\tvm.showN = false;\r\n\t\t\t\t\tvm.showT = true;\r\n\t\t\t\t\tvm.showP = false;\r\n\t\t\t\t\tvm.GetTalentPoolUser(true);\r\n\t\t\t\t} else if (vm.TechnicianSource == '3' && vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\tvm.showPrefer = 'previous';\r\n\t\t\t\t\tvm.showF = false;\r\n\t\t\t\t\tvm.showN = false;\r\n\t\t\t\t\tvm.showT = false;\r\n\t\t\t\t\tvm.showP = true;\r\n\t\t\t\t\tvm.GetPreviousWorker(true);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvm.showF = true;\r\n\t\t\t\t\tvm.showN = true;\r\n\t\t\t\t\tvm.showT = true;\r\n\t\t\t\t\tvm.showP = true;\r\n\t\t\t\t\tvm.GetFixedUser(false);\r\n\t\t\t\t\tvm.GetNearByUser(false);\r\n\t\t\t\t\tvm.GetPreviousWorker(false);\r\n\t\t\t\t\tvm.GetTalentPoolUser(false);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif($localStorage.loggedInUser_Role == 'Vendor Manager'){\r\n\t\t\t\t\tvm.showPrefer = 'fixed';\r\n\t\t\t\t\tvm.showF = true;\r\n\t\t\t\t\tvm.showN = false;\r\n\t\t\t\t\tvm.showT = false;\r\n\t\t\t\t\tvm.showP = false;\r\n\t\t\t\t\tvm.GetFixedUser(true);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// vm.customergetTracking();\r\n\t\t\t});\r\n\r\n\t\t}\r\n\t\r\n\t\tvm.getTicketByJobId();\r\n\r\n\t\tvm.addClassInButton = function () {\r\n\t\t\tif (vm.TechnicianSource && vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$('#btnFixedTeam').addClass('activeButton');\r\n\t\t\t\t\t$('#btnNearBy').addClass('activeButton');\r\n\t\t\t\t\t$('#btnTalent').addClass('activeButton');\r\n\t\t\t\t\t$('#btnPrefer').addClass('activeButton');\r\n\t\t\t\t}, 100);\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tvm.planerDateModal = {};\r\n\t\tvm.editplanCloser = function () {\r\n\t\t\tvm.TicketInfoEdit['PlannedClosureDate'] = vm.TicketInfo.PlannedClosureDate;\r\n\t\t\tvm.planerDateModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'editplanerDate.html',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeplanerDate = function () {\r\n\t\t\tvm.planerDateModal.close();\r\n\t\t}\r\n\r\n\t\tvm.updatePlannedClosure = function () {\r\n\t\t\t\tvm.PlannedClosureticketList = [];\r\n\t\t\t\tvm.PlannedClosureticketList.push(vm.TicketInfo.TicketId);\r\n\r\n\t\t\t\tvar data = {\r\n\t\t\t\t\t\"TicketIds\":vm.PlannedClosureticketList,\r\n\t\t\t\t\t \"TicketPlannedClosureDate\": moment(vm.TicketInfoEdit.PlannedClosureDate).format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\"),\r\n\t\t\t\t\t \"IsWithInDays\":vm.IsWithInDays == 'first'?true:false,\r\n \t\t\t\t\t \"WithInDays\": vm.WithInDays,\r\n\t\t\t\t};\r\n\r\n\t\t\t\tJobDetailViewNewService.updatePlannedClosure(loggedinUser, data, token, function (res) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", res);\r\n\t\t\t\t\tvm.planerDateModal.close();\r\n\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.jobDescription = {};\r\n\t\tvm.editJobDesc = function () {\r\n\r\n\t\t\tvm.TicketDescEdit['SkillSet'] = vm.TicketInfo.SkillSet;\r\n\t\t\tvm.TicketDescEdit['PaymentType'] = vm.TicketInfo.PaymentType;\r\n\t\t\tvm.TicketDescEdit['Template'] = vm.TicketInfo.Template;\r\n\t\t\tvm.TicketDescEdit['JobDescription'] = vm.TicketInfo.JobDescription;\r\n\t\t\tvm.TicketDescEdit['Priority'] = vm.TicketInfo.Priority;\r\n\t\t\tvm.TicketDescEdit['SiteId'] = vm.TicketInfo.SiteId;\r\n\t\t\tvm.TicketDescEdit['SiteName'] = vm.TicketInfo.SiteName;\r\n\t\t\tvm.TicketDescEdit['Region'] = vm.TicketInfo.Region;\r\n\t\t\tvm.TicketDescEdit['BidDuration'] = vm.TicketInfo.BidDuration;\r\n\r\n\t\t\tvm.jobDescription = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'editJobDescription.html',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t\tsize: 'md',\r\n\t\t\t\twindowClass: 'schedulerModal'\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeJobDesc = function () {\r\n\t\t\tvm.jobDescription.close();\r\n\t\t}\r\n\r\n\t\tvm.updateJobDesc = function () {\r\n\t\t\tvm.jobDescForm.submitted = true;\r\n\t\t\tif (vm.jobDescForm.$valid) {\r\n\t\t\t\tvar data = {\r\n\t\t\t\t\t// \"SkillSet\": vm.TicketDescEdit.SkillSet,\r\n\t\t\t\t\t// \"PaymentType\": vm.TicketDescEdit.PaymentType,\r\n\t\t\t\t\t// \"Template\": vm.TicketDescEdit.Template,\r\n\t\t\t\t\t\"JobDescription\": vm.TicketDescEdit.JobDescription,\r\n\t\t\t\t\t\"Priority\": vm.TicketDescEdit.Priority,\r\n\t\t\t\t\t\"SiteId\": vm.TicketDescEdit.SiteId,\r\n\t\t\t\t\t\"SiteName\": vm.TicketDescEdit.SiteName,\r\n\t\t\t\t\t\"TicketId\": vm.TicketInfo.TicketId\r\n\t\t\t\t\t// \"Region\": vm.TicketDescEdit.Region,\r\n\t\t\t\t\t// \"BidDuration\": vm.TicketInfoEdit.BidDuration\r\n\t\t\t\t};\r\n\r\n\t\t\t\tJobDetailViewNewService.updateJobDescription(loggedinUser, data, token, function (res) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", res);\r\n\t\t\t\t\tvm.jobDescription.close();\r\n\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t//window.location.reload(true);\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t\t} else {\r\n\t\t\t\tconsole.log(\"invalid values\");\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tvm.jobAddressModal = {};\r\n\t\tvm.editJobAddress = function () {\r\n\r\n\t\t\tvm.TicketInfoEdit['ConsumerName'] = vm.TicketInfo.ConsumerName;\r\n\t\t\tvm.TicketInfoEdit['ConsumerContact'] = vm.TicketInfo.ConsumerContact;\r\n\t\t\tvm.TicketInfoEdit['Address1'] = vm.TicketInfo.Address1;\r\n\t\t\tvm.TicketInfoEdit['Address2'] = vm.TicketInfo.Address2;\r\n\t\t\tvm.TicketInfoEdit['Pincode'] = vm.TicketInfo.Pincode;\r\n\t\t\tvm.TicketInfoEdit['StartTime'] = vm.TicketInfo.StartTime;\r\n\t\t\tvm.TicketInfoEdit['EndTime'] = vm.TicketInfo.EndTime;\r\n\t\t\tvm.TicketInfoEdit['Region'] = vm.TicketInfo.Region;\r\n\t\t\tvm.TicketInfoEdit['SubRegion'] = vm.TicketInfo.SubRegion;\r\n\r\n\t\t\tif (vm.states && !vm.TicketInfoEdit.State || vm.TicketInfoEdit.State != vm.TicketInfo.State) {\r\n\t\t\t\tangular.forEach(vm.states, function (s) {\r\n\t\t\t\t\tif (s == vm.TicketInfo.State) {\r\n\t\t\t\t\t\tvm.TicketInfoEdit.State = s;\r\n\t\t\t\t\t\tvm.getCities(vm.TicketInfo.State);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tvm.jobAddressModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'editJobAddress.html',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t\twindowClass: 'schedulerModal'\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeJobAddress = function () {\r\n\t\t\tvm.jobAddressModal.close();\r\n\t\t}\r\n\r\n\t\tvm.updateJobAddress = function () {\r\n\t\t\tvm.jobAddressForm.submitted = true;\r\n\t\t\tif (vm.jobAddressForm.$valid) {\r\n\t\t\t\tvar data = {\r\n\t\t\t\t\t\"ConsumerContact\": vm.TicketInfoEdit.ConsumerContact,\r\n\t\t\t\t\t\"Address1\": vm.TicketInfoEdit.Address1,\r\n\t\t\t\t\t\"Address2\": vm.TicketInfoEdit.Address2,\r\n\t\t\t\t\t\"ConsumerName\": vm.TicketInfoEdit.ConsumerName,\r\n\t\t\t\t\t\"State\": vm.TicketInfoEdit.State,\r\n\t\t\t\t\t\"City\": vm.TicketInfoEdit.City,\r\n\t\t\t\t\t\"Pincode\": vm.TicketInfoEdit.Pincode,\r\n\t\t\t\t\t\"StartTime\": vm.TicketInfoEdit.StartTime,\r\n\t\t\t\t\t\"EndTime\": vm.TicketInfoEdit.EndTime,\r\n\t\t\t\t\t\"Region\": vm.TicketInfo.Region,\r\n\t\t\t\t\t\"SubRegion\": vm.TicketInfo.SubRegion,\r\n\r\n\t\t\t\t};\r\n\r\n\t\t\t\tJobDetailViewNewService.saveTicket(loggedinUser, vm.TicketInfo.TicketId, data, token, function (res) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", res);\r\n\t\t\t\t\tvm.jobAddressModal.close();\r\n\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t//window.location.reload(true);\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t\t} else {\r\n\t\t\t\tconsole.log(\"invalid values\");\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t//call customer or freelancer\r\n\t\tvm.callToCustomer = function (TicketId,ConnectTo) { \r\n\t\t\t\tvar data = {\r\n\t\t\t\t\t\"ConnectTo\": ConnectTo,\r\n\t\t\t\t\t\"TicketId\": TicketId\r\n\t\t\t\t\t};\r\n\t\t\t\tJobDetailViewNewService.callToCustomer(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t});\r\n\t\t\t\r\n\t\t}\r\n\r\n\t\tvm.ClickToCallAlternate = function (TicketId,ConnectTo) { \r\n\t\t\tvar data = {\r\n\t\t\t\t\"ConnectTo\": ConnectTo,\r\n\t\t\t\t\"TicketId\": TicketId\r\n\t\t\t\t};\r\n\t\t\t\tJobDetailViewNewService.ClickToCallAlternate(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t});\r\n\t\t\r\n\t}\r\n\r\n\t\tvm.jobPayment = {};\r\n\t\tvm.editJobPayment = function () {\t\t\r\n\t\t\tvm.TicketInfoEdit['FreelancerRate'] = vm.TicketInfo.FreelancerRate;\r\n\t\t\tvm.TicketInfoEdit['MobiforceCommission'] = vm.TicketInfo.MobiforceCommission;\r\n\t\t\tvm.TicketInfoEdit['BroadcastRate'] = vm.TicketInfo.BroadcastRate;\t\t\t\r\n\t\t\tvm.serviceType=vm.TicketInfo.PaymentType;\t\t\t\r\n\t\t\tvm.jobPaymentModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'editJobPayment.html',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t\twindowClass: 'schedulerModal'\r\n\t\t\t});\r\n\t\t\t\r\n\t\t\tvm.calculatePrice();\r\n\t\t\tvm.calculateFreelancerPrice ();\r\n\t\t}\r\n\r\n\t\tvm.closeJobPayment = function () {\r\n\t\t\tvm.jobPaymentModal.close();\r\n\t\t}\r\n\t\tvm.updateJobPayment = function () {\r\n\t\t\t\r\n\t\t\tvm.jobPaymentForm.submitted = true;\r\n\t\t\tif (vm.jobPaymentForm.$valid) {\r\n\t\t\t\t// var data = {\r\n\t\t\t\t// \t\"FreelancerRate\": vm.TicketInfoEdit.FreelancerRate,\r\n\t\t\t\t// \t\"BroadcastRate\": vm.TicketInfoEdit.BroadcastRate,\r\n\t\t\t\t// \t\"BroadcastGrossRate\": (vm.TicketInfoEdit.BroadcastRate * ((vm.GSTPercentange+100)*.01))\t\t\t\r\n\t\t\t\t// };\r\n\t\t\t\tJobDetailViewNewService.UpdateJobPayment(loggedinUser, vm.TicketInfo.TicketId, vm.TicketInfoEdit.BroadcastRate, token, function (res) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", res);\r\n\t\t\t\t\tvm.jobPaymentModal.close();\r\n\t\t\t\t\t//window.location.reload(true);\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t\t} else {\r\n\r\n\t\t\t}\r\n\t\t}\r\n\t\tvm.getAllStates = function () {\r\n\t\t\tJobDetailViewNewService.getAllState(loggedinUser,token).then(function (resp) {\r\n\t\t\t\tvm.states = resp.data;\r\n\t\t\t\tangular.forEach(vm.states, function (s) {\r\n\t\t\t\t\tif (s == vm.TicketInfo.State) {\r\n\t\t\t\t\t\tvm.TicketInfoEdit.State = s;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.getCities = function (state) {\r\n\t\t\tif (state != \"\" && state.length > 0) {\r\n\t\t\t\tvm.cities = [];\r\n\t\t\t\tJobDetailViewNewService.getAllCity(loggedinUser, state,token).then(function (resp) {\r\n\t\t\t\t\tvm.cities = resp.data;\r\n\t\t\t\t\tangular.forEach(vm.cities, function (c) {\r\n\t\t\t\t\t\tif (vm.TicketInfo.City) {\r\n\t\t\t\t\t\t\tvar city = vm.TicketInfo.City.toUpperCase();\r\n\t\t\t\t\t\t\tif (c == city) {\r\n\t\t\t\t\t\t\t\tvm.TicketInfoEdit.City = c;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\r\n\t\tvm.history = {};\r\n\t\tvm.getHistory = function () {\r\n\t\t\tJobDetailViewNewService.getHistory(vm.TicketId, token).then(function (res) {\r\n\t\t\t\tvm.history = res.data;\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.getHistory();\r\n\r\n\t\tvm.getAllActivitiesForJob = function () {\r\n\t\t\tJobDetailViewNewService.getAllActivitiesForJob(vm.TicketId, loggedinUser, token, function (data) {\r\n\t\t\t\tvm.statusTracker = data;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.jobAppointmentModal = {};\r\n\t\tvm.editJobAppointment = function () {\r\n\t\t\tvm.TicketInfoEdit['ConsumerName'] = vm.TicketInfo.ConsumerName;\r\n\t\t\tvm.TicketInfoEdit['ConsumerContact'] = vm.TicketInfo.ConsumerContact;\r\n\t\t\tvm.TicketInfoEdit['Address1'] = vm.TicketInfo.Address1;\r\n\t\t\tvm.TicketInfoEdit['Address2'] = vm.TicketInfo.Address2;\r\n\t\t\tvm.TicketInfoEdit['Pincode'] = vm.TicketInfo.Pincode;\r\n\t\t\tvm.TicketInfoEdit['StartTime'] = new Date(vm.TicketInfo.StartTime);\r\n\t\t\tvm.TicketInfoEdit['EndTime'] = new Date(vm.TicketInfo.EndTime);\r\n\r\n\t\t\tif (vm.states && !vm.TicketInfoEdit.State || vm.TicketInfoEdit.State != vm.TicketInfo.State) {\r\n\t\t\t\tangular.forEach(vm.states, function (s) {\r\n\t\t\t\t\tif (s == vm.TicketInfo.State) {\r\n\t\t\t\t\t\tvm.TicketInfoEdit.State = s;\r\n\t\t\t\t\t\tvm.getCities(vm.TicketInfo.State);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tvm.jobAppointmentModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'editJobAppointment.html',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeJobAppointment = function () {\r\n\t\t\tvm.jobAppointmentModal.close();\r\n\t\t}\r\n\r\n\t\tvm.updateJobAppointment = function () {\r\n\t\t\t\r\n\t\t\tvm.jobAppointmentForm.submitted = true;\r\n\t\t\tif (vm.jobAppointmentForm.$valid) {\t\t\t\t\t\r\n\t\t\t\t// if(moment(vm.TicketInfoEdit.PlannedStartDate)._i <= moment(vm.TicketInfoEdit.EndTime)._i){\r\n\t\t\t\t\tvar sDate = moment(vm.TicketInfoEdit.PlannedStartDate).format(\"YYYY-MM-DD\");\r\n\t\t\t\t\t// var eDate = moment(vm.TicketInfoEdit.EndTime).format(\"DD-MM-YYYY HH:mm\");\r\n\t\t\t\t\tvm.Stdate = sDate;\r\n\t\t\t\t\tvm.Stime = vm.AppointmentTime;\r\n\t\t\t\t\tvm.CurrentDate = moment().format('YYYY-MM-DDTHH:mm:ss.SSSZ');\r\n\t\t\t\t\tvm.dateTime = moment (vm.Stdate + ' ' + vm.Stime).format('YYYY-MM-DDTHH:mm:ss.SSSZ');\r\n\t\t\t\t\tif(moment(vm.dateTime)._i >= moment(vm.CurrentDate)._i){\r\n\t\t\t\t\t// vm.Etdate = eDate;\r\n\r\n\t\t\t\t\tJobDetailViewNewService.updateStartTime(vm.TicketInfo.TicketId, loggedinUser, vm.dateTime, token, function (res) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Appointment Date updated successfully\");\r\n\t\t\t\t\t\tvm.jobAppointmentModal.close();\r\n\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t}, vm.showFailure);\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\tvm.showFailure('Failed','Start time should be greater than current time!');\r\n\t\t\t\t\t}\r\n\t\t\t}else{\r\n\t\t\t\tvm.showFailure('Failed', 'Appointment date is not valid');\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.UpdateMatrialStatus = function(MetrialDeliveredStatus){\r\n\t\t\tif(MetrialDeliveredStatus){\r\n\t\t\t\tJobDetailViewNewService.UpdateMetrialDeliveredStatus(vm.TicketInfo.TicketId,loggedinUser,MetrialDeliveredStatus,token,function(res){\r\n\t\t\t\t\tvm.showSuccess(\"Success\", \"Matrial Delivered Status updated successfully\");\r\n\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t},vm.showFailure);\r\n\t\t\t}else{\r\n\t\t\t\tvm.showFailure(\"Failed\",\"Please select matrial delivred status\");\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.getReadableTime = function (time) {\r\n\t\t\tvm.timeDisplay = \"\";\r\n\t\t\tif (typeof time == \"string\") {\r\n\t\t\t\tvm.timeDisplay = $filter('date')(new Date(time), \"yyyy/MM/dd h:mm:ss a\");\r\n\t\t\t}\r\n\t\t\tif (typeof time == \"object\") {\r\n\t\t\t\tvm.timeDisplay = time.format(\"DD/MMM/YY LTS\");\r\n\t\t\t}\r\n\t\t\treturn vm.timeDisplay;\r\n\t\t}\r\n\r\n\t\tvm.isUpdatePermission = function () {\r\n\t\t\tif (vm.VerticalName == 'Spectro Labs') {\r\n\t\t\t\tif (accountConfig && accountConfig.MenuListModel) {\r\n\t\t\t\t\tfor (var i = 0; i < accountConfig.MenuListModel.length; i++) {\r\n\t\t\t\t\t\tif (accountConfig.MenuListModel[i].MenuName == \"Jobs\") {\r\n\t\t\t\t\t\t\tfor (var j = 0; j < accountConfig.MenuListModel[i].SubMenusList.length; j++) {\r\n\t\t\t\t\t\t\t\tif (accountConfig.MenuListModel[i].SubMenusList[j].SubMenuName == \"All Tickets\") {\r\n\t\t\t\t\t\t\t\t\treturn accountConfig.MenuListModel[i].SubMenusList[j].UpdatePermission.split(\",\").indexOf($localStorage.loggedInUser_Role) >= 0;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (accountConfig && accountConfig.MenuListModel) {\r\n\t\t\t\t\tfor (var i = 0; i < accountConfig.MenuListModel.length; i++) {\r\n\t\t\t\t\t\tif (accountConfig.MenuListModel[i].MenuName == \"Jobs\") {\r\n\t\t\t\t\t\t\tfor (var j = 0; j < accountConfig.MenuListModel[i].SubMenusList.length; j++) {\r\n\t\t\t\t\t\t\t\tif (accountConfig.MenuListModel[i].SubMenusList[j].SubMenuName == \"All Jobs\") {\r\n\t\t\t\t\t\t\t\t\treturn accountConfig.MenuListModel[i].SubMenusList[j].UpdatePermission.split(\",\").indexOf($localStorage.loggedInUser_Role) >= 0;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tvm.getDropDownOptions = function (SectionName, ItemName) {\r\n\t\t\tvar options = [];\r\n\t\t\tif (vm.templateData && vm.templateData.SectionList) {\r\n\t\t\t\tangular.forEach(vm.templateData.SectionList, function (l) {\r\n\t\t\t\t\tif (l.SectionName == SectionName && l.ItemList && l.ItemList.length > 0) {\r\n\t\t\t\t\t\tangular.forEach(l.ItemList, function (item) {\r\n\t\t\t\t\t\t\tif (item.ItemName == ItemName && item.ItemType == \"Dropdown Type\" && item.field_options && item.field_options.options && item.field_options.options.length > 0) {\r\n\t\t\t\t\t\t\t\t//$log.log(\"item.field_options.options\", item.field_options.options);\r\n\t\t\t\t\t\t\t\toptions = item.field_options.options;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\treturn options;\r\n\t\t}\r\n\r\n\t\tvm.getDropDownOptionsForCheckboxList = function (SectionName, ItemName) {\r\n\t\t\tvar options = [];\r\n\t\t\tif (vm.templateData && vm.templateData.SectionList) {\r\n\t\t\t\tangular.forEach(vm.templateData.SectionList, function (l) {\r\n\t\t\t\t\tif (l.SectionName == SectionName && l.ItemList && l.ItemList.length > 0) {\r\n\t\t\t\t\t\tangular.forEach(l.ItemList, function (item) {\r\n\t\t\t\t\t\t\tif (item.ItemName == ItemName && item.ItemType == \"CheckBoxList DropDown Type\" && item.field_options && item.field_options.options && item.field_options.options.length > 0) {\r\n\t\t\t\t\t\t\t\t//$log.log(\"item.field_options.options\", item.field_options.options);\r\n\t\t\t\t\t\t\t\toptions = item.field_options.options;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\treturn options;\r\n\t\t}\r\n\r\n\t\t //download PDF \r\n\t\t vm.downloadReportPDF = function (ticketId) { \r\n\t\t\tif (vm.TicketInfo.OnSiteReport != null) { \r\n\t\t\t var urlWithFeasible = PublicApiURL + '/api/Report/GeneratePdfOnSiteReportForMultipleTickets?TicketIds=' + ticketId;\r\n\t\t\t $window.open(urlWithFeasible, '_blank')\r\n\t\t\t} else {\r\n\t\t\t// var urlForNonFeasible = ApiURL + '/api/Report/GeneratePdfOnSiteReport?TicketId=' + ticketId;\r\n\t\t\t// $window.open(urlForNonFeasible, '_blank')\r\n\t\t\tvm.downloadOnSiteReport();\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t}\r\n\t\t }\r\n\r\n\t\t vm.pdfimage = \"\";\r\n\t\t\tvm.DocumentAvailableMessage=\"\";\t\r\n\t\t\tvm.downloadOnSiteReport = function (previewSelectedObj) { \r\n\t\t\t\tvm.PDFViewRport();\r\n\t\t\t\r\n\t\t\t\tvar PreviewConsolidatedInvoiceList = previewSelectedObj;\r\n\t\t\t\tJobDetailViewNewService.downloadOnSiteReport(loggedinUser, token, vm.TicketInfo.TicketId).then(function (resp) {\r\n\t\t\t\t\t// var responseDataList=[];\r\n\t\t\t\t\tvm.responseDataList = resp.data;\r\n\t\t\t\t\t// for(var i=0; i';\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\t// vm.PlottedItem = '';\r\n\t\t\t\t\t\tvm.PlottedItem = '';\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\tcase 'Date Type':\r\n\t\t\t\t\tvm.PlottedItem = ''\r\n\t\t\t\t\t\t+ '';\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'Multiple Picture Type':\r\n\t\t\t\t\t\t// if(vm.TicketInfo.JobAccountId == '266') {\r\n\t\t\t\t\t\t\tvm.PlottedItem =\r\n\t\t\t\t\t\t\t'
'\r\n\t\t\t\t\t\t\t+ ''\r\n\t\t\t\t\t\t\t+ '
'\r\n\t\t\t\t\t\t\t+ '
'\r\n\t\t\t\t\t\t\t+ ''\r\n\t\t\t\t\t\t\t+ '
'\r\n\t\t\t\t\t\t\t+ '
'\r\n\t\t\t\t\t\t\t+ ''\r\n\t\t\t\t\t\t\t+ '
'\r\n\r\n\t\t\t\t\t\t\t+ '
'\r\n\t\t\t\t\t\t\t+ ''\r\n\t\t\t\t\t\t\t+ ''\r\n\t\t\t\t\t\t\t+ '';\r\n\t\t\t\t\t\t\t+ '
'\r\n\t\t\t\t\t\t// }\r\n\t\t\t\t\t\t// else {\r\n\t\t\t\t\t\t// \tvm.PlottedItem = ''\r\n\t\t\t\t\t\t// \t+ ''\r\n\t\t\t\t\t\t// \t+ '';\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t// }\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t// \t+ '
'\r\n\t\t\t\t\t\t// \t+ ''\r\n\t\t\t\t\t\t// \t+ '
'\r\n\t\t\t\t\t\t// \t+ '
'\r\n\t\t\t\t\t\t// \t+ ''\r\n\t\t\t\t\t\t// \t+ '
'\r\n\t\t\t\t\t\t// \t+ '
'\r\n\t\t\t\t\t\t// \t+ ''\r\n\t\t\t\t\t\t// \t+ '
'\r\n\t\t\t\t\t\t// break;\r\n\t\t\t\tcase 'Signature Type':\r\n\t\t\t\t\tvm.PlottedItem = ''\r\n\t\t\t\t\t\t+ ''\r\n\t\t\t\t\t\t+ '';\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\t\tcase 'File Attachment Type':\r\n\t\t\t\t\tvm.PlottedItem = '
'\r\n\t\t\t\t\t\t+''\r\n\t\t\t\t\t\t// + ''\r\n\t\t\t\t\t\t + '
'\r\n\t\t\t\t\t\t+ '
Click here to upload File
'\r\n\t\t\t\t\t\t+ '


Click here to upload File
'\r\n\t\t\t\t\t\t //+ '
Click here to upload pdf';\r\n\t\t\t\t\t\t + '
'\r\n\r\n\t\t\t\t\t\t+'
'\r\n\t\t\t\t\t\t+''\r\n\t\t\t\t\t\t// + ''\r\n\t\t\t\t\t\t + '
'\r\n\t\t\t\t\t\t+ '
Click here to upload file
'\r\n\t\t\t\t\t\t// + '
{{item.ImageName}}
'\r\n\t\t\t\t\t\t+ '


Click here to upload file
'\r\n\t\t\t\t\t\t //+ '
Click here to upload pdf';\r\n\t\t\t\t\t\t + '
'\r\n\t\t\t\t\t\t break;\r\n\t\t\t\tcase 'CheckBoxList DropDown Type':\r\n\t\t\t\t\tvm.PlottedItem = '';\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'Video Type':\r\n\t\t\t\t\tvm.PlottedItem = ''\r\n\t\t\t\t\t\t+''\r\n\t\t\t\t\t\t+'';\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'Character FilteredTextBoxField':\r\n\t\t\t\tcase 'Bigger Textbox':\r\n\t\t\t\tcase 'Edit Enabled':\r\n\t\t\t\tcase 'Phone Type':\r\n\t\t\t\tcase 'Decimal TextBox Type':\r\n\t\t\t\tcase 'Numeric FilteredTextBoxField':\r\n\t\t\t\tcase 'Instruction Type':\r\n\t\t\t\tcase 'Scan Barcode Type':\r\n\t\t\t\tcase 'Email':\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tvm.PlottedItem = '';\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\treturn vm.PlottedItem;\r\n\t\t}\r\n\r\n\r\n\t\tvm.UpdateStep = function () {\r\n\r\n\t\t\tvar formData = new FormData();\r\n\r\n\t\t\tfor (var ticketmodelIndex = 0; ticketmodelIndex < vm.TicketInfo.TemplateModel.SectionList.length; ticketmodelIndex++) {\r\n\t\t\t\tvar Action = vm.TicketInfo.TemplateModel.SectionList[ticketmodelIndex].Action;\r\n\t\t\t\tvar section = vm.TicketInfo.TemplateModel.SectionList[ticketmodelIndex].SectionName;\r\n\t\t\t\tif (Action == currentStepName) {\r\n\t\t\t\t\tfor (var currentModalIndex = 0; currentModalIndex < vm.ModalActionWithValuesList.SectionList.length; currentModalIndex++) {\r\n\t\t\t\t\t\tif (section == vm.ModalActionWithValuesList.SectionList[currentModalIndex].SectionName) {\r\n\r\n\t\t\t\t\t\t\tvm.TicketInfo.TemplateModel.SectionList[ticketmodelIndex].ItemList = vm.ModalActionWithValuesList.SectionList[currentModalIndex].ItemList;\r\n\t\t\t\t\t\t\tangular.forEach(vm.TicketInfo.TemplateModel.SectionList[ticketmodelIndex].ItemList, function (item) {\r\n\t\t\t\t\t\t\t\tif (item.ItemType == 'Date Type') {\r\n\r\n\t\t\t\t\t\t\t\t\titem.ItemValue = moment(item.ItemValue).format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\");\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\telse if (item.ItemType == 'CheckBoxList DropDown Type') {\r\n\t\t\t\t\t\t\t\t\titem.field_options.options = [];\r\n\t\t\t\t\t\t\t\t\tif (item.ItemValues && item.ItemValues.length > 0) {\r\n\r\n\t\t\t\t\t\t\t\t\t\tfor (var i = 0; i < item.ItemValues.length; i++) {\r\n\t\t\t\t\t\t\t\t\t\t\tvar obj = { \"label\": item.ItemValues[i] };\r\n\t\t\t\t\t\t\t\t\t\t\t// obj.push()\r\n\t\t\t\t\t\t\t\t\t\t\titem.field_options.options.push(obj);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t//item.field_options.options.push(item.ItemValue);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse if (item.ItemType == 'Multiple Picture Type' || item.ItemType == 'Signature Type' || item.ItemType == 'File Attachment Type' || item.ItemType == 'Video Type') {\r\n\t\t\t\t\t\t\t\t\tif (vm.ImageArray[section + '_' + item.ItemName] && item.ItemValues == null) {\r\n\t\t\t\t\t\t\t\t\t\tvm.ImageArray[section + '_' + item.ItemName].name = vm.TicketInfo.TicketId + '_' + vm.ImageArray[section + '_' + item.ItemName].name;\r\n\t\t\t\t\t\t\t\t\t\titem.ItemValue = vm.TicketInfo.TicketId + '_' + Math.random().toString(36).substring(7) + new Date().getTime() + vm.ImageArray[section + '_' + item.ItemName].name;\r\n\t\t\t\t\t\t\t\t\t\titem.ImageName = item.ItemValue;\r\n\t\t\t\t\t\t\t\t\t\tformData.append(vm.TicketInfo.TicketId + '_' + vm.ImageArray[section + '_' + item.ItemName].name, vm.ImageArray[section + '_' + item.ItemName], item.ImageName);\r\n\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tif(item.ImageItemName != null) {\r\n\t\t\t\t\t\t\t\t\t\titem.ImageItemName.forEach(function(imgNameI, ind, theArray) {\r\n\t\t\t\t\t\t\t\t\tif (vm.ImageArray[section + '_' + item.ItemName+ '_' +ind]) {\r\n\t\t\t\t\t\t\t\t\t\tvm.imgType = vm.ImageArray[section + '_' + item.ItemName+ '_' +ind].name.slice(-4);\r\n\t\t\t\t\t\t\t\t\t\titem.ItemValue = vm.TicketInfo.TicketId + '_' + Action + '_' +section + '_' + item.ItemName + '_' + ind + vm.imgType;\r\n\t\t\t\t\t\t\t\t\t\titem.ItemValue = (item.ItemValue).replace(/ /g,\"_\");\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t// if(imgNameI.slice(0, -4) == item.ItemValue.slice(0, -4)) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.ImageItemName[ind] = imgNameI;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tformData.append(imgNameI, vm.ImageArray[section + '_' + item.ItemName+ '_' +ind],imgNameI);\r\n\t\t\t\t\t\t\t\t\t\t\t// }\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t });\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t// else if (item.ItemType == 'Video Type') { \r\n\t\t\t\t\t\t\t\t// \tif (vm.ImageArray[section + '_' + item.ItemName]) {\r\n\t\t\t\t\t\t\t\t// \t\tvm.ImageArray[section + '_' + item.ItemName].name = vm.TicketInfo.TicketId + '_' + vm.ImageArray[section + '_' + item.ItemName].name;\r\n\t\t\t\t\t\t\t\t// \t\titem.ItemValue = vm.TicketInfo.TicketId + '_' + Math.random().toString(36).substring(7) + new Date().getTime() + vm.ImageArray[section + '_' + item.ItemName].name;\r\n\t\t\t\t\t\t\t\t// \t\titem.ImageName = item.ItemValue;\r\n\t\t\t\t\t\t\t\t// \t\tformData.append(vm.TicketInfo.TicketId + '_' + vm.ImageArray[section + '_' + item.ItemName].name, vm.ImageArray[section + '_' + item.ItemName], item.ImageName);\r\n\r\n\t\t\t\t\t\t\t\t// \t}\r\n\r\n\t\t\t\t\t\t\t\t// }\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tticketEditModalInstance.close();\r\n\t\t\tformData.append('reqUserId', loggedinUser)\r\n\t\t\t//var data = angular.toJson(vm.TicketInfo);\r\n\t\t\tvm.TicketInfo.TemplateModel.SectionList.forEach(function (element,i) {\r\n\t\t\t\tvm.TicketInfo.TemplateModel.SectionList[i].ItemList.forEach(function (element,i) {\r\n\t\t\t\t\tif( element.ItemType == 'Multiple Picture Type' || element.ItemType == 'Signature Type' || element.ItemType == 'File Attachment Type' || element.ItemType == 'Video Type') {\r\n\t\t\t\t\t\telement.ItemValue = '';\r\n\t\t\t\t\t\telement.imageData =[];\r\n\t\t\t\t\t\telement.ItemValues = [];\r\n\t\t\t\t\t\telement.PdfData = [];\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t });\r\n\r\n\t\t if(vm.TicketInfo) {\r\n\t\t\tvm.TicketInfo.Address1 = '';\r\n\t\t\tvm.TicketInfo.Address2 = '';\r\n\r\n\t\t }\r\n\t\t\tvar data = JSON.stringify(vm.TicketInfo);\r\n\t\t\tformData.append(\"TicketRequestModel\", data);\r\n\t\t\tJobDetailViewNewService.updateJobTicketwithImage(formData, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 202 || resp.status == 200) {\r\n\t\t\t\t\t$timeout(function(){\t\r\n\t\t\t\t\t\ttoaster.pop({\r\n\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\ttitle: 'job update Status',\r\n\t\t\t\t\t\t\tshowCloseButton: true,\r\n\t\t\t\t\t\t\tbody: 'Job has been successfully updated',\r\n\t\t\t\t\t\t\t\"progressBar\": true,\r\n\t\t\t\t\t\t\t\"preventDuplicates\": false,\r\n\t\t\t\t\t\t\t\"showDuration\": \"400\",\r\n\t\t\t\t\t\t\t\"hideDuration\": \"1000\",\r\n\t\t\t\t\t\t\t\"tapToDismiss\": true,\r\n\t\t\t\t\t\t\t\"timeout\": 2000,\r\n\t\t\t\t\t\t\tpositionClass: 'toast-top-full-width'\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\tvm.getTicketByJobId();\t\t\t\t\t\t\r\n\t\t\t\t\t}, 1000);\r\n\t\t\t\t\tfor (var sectionIndex = 0; sectionIndex < vm.currentStepModel.SectionList.length; sectionIndex++) {\r\n\t\t\t\t\t\tfor (var itemIndex = 0; itemIndex < vm.currentStepModel.SectionList[sectionIndex].ItemList.length; itemIndex++) {\r\n\t\t\t\t\t\t\tvar beforeChangeItem = vm.currentStepModel.SectionList[sectionIndex].ItemList[itemIndex].ItemValue;\r\n\t\t\t\t\t\t\tvar afterChangeItem = vm.ModalActionWithValuesList.SectionList[sectionIndex].ItemList[itemIndex].ItemValue;\r\n\t\t\t\t\t\t\tif (beforeChangeItem != afterChangeItem) {\r\n\t\t\t\t\t\t\t\tvm.currentStepModel.SectionList[sectionIndex].ItemList[itemIndex].ItemValue = afterChangeItem;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\t\t\t\t\t\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttoaster.pop({\r\n\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\ttitle: 'job update Status',\r\n\t\t\t\t\t\tshowCloseButton: true,\r\n\t\t\t\t\t\tbody: 'Job has not been updated',\r\n\t\t\t\t\t\t\"progressBar\": true,\r\n\t\t\t\t\t\t\"preventDuplicates\": false,\r\n\t\t\t\t\t\t\"showDuration\": \"400\",\r\n\t\t\t\t\t\t\"hideDuration\": \"1000\",\r\n\t\t\t\t\t\t\"tapToDismiss\": true,\r\n\t\t\t\t\t\t\"timeout\": 2000,\r\n\t\t\t\t\t\tpositionClass: 'toast-top-full-width'\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}, function () {\r\n\t\t\t\ttoaster.pop({\r\n\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\ttitle: 'job update Status',\r\n\t\t\t\t\tshowCloseButton: true,\r\n\t\t\t\t\tbody: 'server error',\r\n\t\t\t\t\t\"progressBar\": true,\r\n\t\t\t\t\t\"preventDuplicates\": false,\r\n\t\t\t\t\t\"showDuration\": \"400\",\r\n\t\t\t\t\t\"hideDuration\": \"1000\",\r\n\t\t\t\t\t\"tapToDismiss\": true,\r\n\t\t\t\t\t\"timeout\": 2000,\r\n\t\t\t\t\tpositionClass: 'toast-top-full-width'\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\r\n\r\n\t\tvm.getImageData = function (data) {\t\t\t\r\n\t\t\tif (data) {\r\n\t\t\t\t// console.log(data);\r\n\t\t\t\treturn data;\r\n\t\t\t} else {\r\n\t\t\t\treturn \"assets/images/patterns/no-image.png\";\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t//\r\n\t\tvm.getImageDataFST = function (data) {\t\t\t\r\n\t\t\tif (data) {\r\n\t\t\t\t// console.log(data);\r\n\t\t\t\treturn data;\r\n\t\t\t} else {\r\n\t\t\t\treturn \"assets/images/patterns/no-image.png\";\r\n\t\t\t}\r\n\t\t}\r\n\t\tvm.getPdfExist = function (name) {\t\t\t\r\n\t\t\tif(name==null)\t\t\t\r\n\t\t\t\treturn \"assets/images/patterns/no-image.png\";\r\n\t\t\telse\r\n\t\t\t\treturn name;\t\t\t\r\n\t\t// \telse{\r\n // var strPdf = name.includes(\".pdf\")\t\t\r\n\t\t// \tif (strPdf) {\t\t\t\t\r\n\t\t// \t\t//return \"../assets/images/patterns/pdf.png\";\r\n\t\t// \t} else {\r\n\t\t// \t\treturn \"assets/images/patterns/no-image.png\";\r\n\t\t// \t}\r\n\t\t// }\r\n\t\t}\r\n\r\n\r\n\t\tvm.isPdfExist = function (name) {\t\t\t\t\t\t\r\n\t\t\tif(name!=null)\t{\r\n\t\t\t\tif(name.includes(\".pdf\"))\r\n\t\t\t\t{\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t\telse \r\n\t\t\t\t{\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\t\t\t\t\r\n\t\t\t}\t\t\r\n\t\t\telse{\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\t\tvm.PlotItemSectionAndActionWise = function (itemType) {\r\n\t\t\tvm.PlottedItem = '';\r\n\t\t\tswitch (itemType) {\r\n\t\t\t\tcase 'Multiple Picture Type':\r\n\t\t\t\t\t// if(vm.TicketInfo.JobAccountId == '266') {\r\n\t\t\t\t\t\tvm.PlottedItem = '
' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t// '
' +\r\n\t\t\t\t\t\t// '
';\r\n\t\t\t\t\t\t'
0\">'+\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t'\"image-1\"' +\r\n\t\t\t\t\t\t''+\r\n\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t'\"image-1\"' +\r\n\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t'
';\t\r\n\t\t\t\t\t// }\r\n\t\t\t\t\t// else {\r\n\t\t\t\t\t// \tvm.PlottedItem = '
' +\r\n\t\t\t\t\t// \t'
' +\r\n\t\t\t\t\t// \t// '
' +\r\n\t\t\t\t\t// \t// '
';\r\n\t\t\t\t\t// \t'
' +\r\n\t\t\t\t\t// \t'' +\r\n\t\t\t\t\t// \t'\"image-1\"' +\r\n\t\t\t\t\t// \t'' +\r\n\t\t\t\t\t// \t'
';\r\n\t\t\t\t\t// }\r\n\t\t\t\t\t\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t// Added by Vikash on demand of salman sir after confirming by jitendra sir\r\n\t\t\t\tcase 'Draw Layout Type':\r\n\t\t\t\t\tvm.PlottedItem = '
' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t// '
' +\r\n\t\t\t\t\t\t// '
';\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t'\"image-1\"' +\r\n\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t'
';\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase 'Signature Type':\r\n\t\t\t\t\tvm.PlottedItem = '
' +\r\n\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t'\"image-1\"' +\r\n\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t'
';\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t// \r\n\t\t\t\t// \"image-1\"\r\n\t\t\t\t// \r\n\t\t\t\tcase 'File Attachment Type':\r\n\t\t\t\t\tvm.PlottedItem = '
' +\r\n\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t''+\r\n\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t// '\"image-1\"' +\r\n\t\t\t\t\t\t'{{plotItem.ImageName}}'+\r\n\t\t\t\t\t\t''+\r\n\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t'
';\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'Video Type':\r\n\t\t\t\t\tvm.PlottedItem = '

{{plotItem.ItemName}}.*

' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t'
';\r\n\r\n\t\t\t\t\t//vm.PlottedItem = '';\r\n\t\t\t\t\t\t// vm.PlottedItem = '';\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase 'CheckBoxList DropDown Type':\r\n\t\t\t\t\tvm.PlottedItem = '
' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t'{{itemOption.label}}
';\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'Date Type':\r\n\t\t\t\t\tvm.PlottedItem = '
' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t'{{plotItem.ItemValue | date}}
';\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase 'Character FilteredTextBoxField':\r\n\t\t\t\tcase 'Bigger Textbox':\r\n\t\t\t\tcase 'Dropdown Type':\r\n\t\t\t\tcase 'Edit Enabled':\r\n\t\t\t\tcase 'Phone Type':\r\n\t\t\t\tcase 'Decimal TextBox Type':\r\n\t\t\t\tcase 'Numeric FilteredTextBoxField':\r\n\t\t\t\tcase 'Instruction Type':\r\n\t\t\t\tcase 'Scan Barcode Type':\r\n\t\t\t\tcase 'Email':\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tvm.PlottedItem = '
' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t'

'\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\treturn vm.PlottedItem;\r\n\t\t}\r\n\r\n\r\n\t\tvm.getCallTypeList = function (jobType, callType) {\r\n\t\t\tvm.CallTypeItemList = [];\r\n\t\t\tif (jobType == 'VSAT') {\r\n\t\t\t\tif (callType[0].ItemValue == 'Maintenance') {\r\n\t\t\t\t\tvm.CallTypeList = [\"IDU replaced. Vsat made up and working\",\r\n\t\t\t\t\t\t\"ODU replaced. Vsat made up and working\",\r\n\t\t\t\t\t\t\"LNBC replaced. Vsat made up and working\",\r\n\t\t\t\t\t\t\"IFL cable replaced. Vsat made up and working\",\r\n\t\t\t\t\t\t\"LNA replaced. Vsat made up and working\",\r\n\t\t\t\t\t\t\"Feed replaced. Vsat made up and working\",\r\n\t\t\t\t\t\t\"Antenna replaced. Vsat made up and working\",\r\n\t\t\t\t\t\t\"Connector replaced. Vsat made up and working\",\r\n\t\t\t\t\t\t\"After antenna alignment Vsat made up and working\",\r\n\t\t\t\t\t\t\"Power issue resolved at customer premises. Vsat has come up and working\",\r\n\t\t\t\t\t\t\"UPS issue has been resolved at customer end. Vsat has come up and working\",\r\n\t\t\t\t\t\t\"Earthing issue has been resolved at customer end. Vsat has come up and working\",\r\n\t\t\t\t\t\t\"After powering ON the equipments. Vsat made up and working\",\r\n\t\t\t\t\t\t\"Hardware rebooted. Vsat made up\",\r\n\t\t\t\t\t\t\"Monkey cage issue resolved. Vsat made up and working\",\r\n\t\t\t\t\t\t\"Others\"\r\n\t\t\t\t\t]\r\n\t\t\t\t} else if (callType[0].ItemValue == 'Installation') {\r\n\t\t\t\t\tvm.CallTypeList = [\"Installation and activation has been done. Vsat is up and working\",\r\n\t\t\t\t\t\t\"Installation done after rectification of power/earthing parameter at customer end\",\r\n\t\t\t\t\t\t\"Others\"\r\n\t\t\t\t\t]\r\n\t\t\t\t} else if (callType[0].ItemValue == 'Shifting') {\r\n\t\t\t\t\tvm.CallTypeList = [\"Shifting of Vsat completed from old premises to new premises\",\r\n\t\t\t\t\t\t\"Shifting of Vsat completed from existing floor to new floor in the same premises\",\r\n\t\t\t\t\t\t\"Shifting of IDU/ODU completed\",\r\n\t\t\t\t\t\t\"Shifting done after rectification of power/earthing parameter at customer end\",\r\n\t\t\t\t\t\t\"Others\"\r\n\t\t\t\t\t]\r\n\t\t\t\t}\r\n\t\t\t} else if (jobType == 'LeaseLine') {\r\n\t\t\t\tif (callType[0].ItemValue == 'LLM') {\r\n\t\t\t\t\tvm.CallTypeList = [\"Local lead issue has been resolved. Link is up and working\",\r\n\t\t\t\t\t\t\"UG Cable cut restored. Link is up and working\",\r\n\t\t\t\t\t\t\"OFC cut has been restored. Link came up and working\",\r\n\t\t\t\t\t\t\"Mux issue has been resolved. Link has come up and working\",\r\n\t\t\t\t\t\t\"MPLS trunk issue has been resolved. Link is up and working\",\r\n\t\t\t\t\t\t\"NIB routing issue has been resolved. Links are up and working\",\r\n\t\t\t\t\t\t\"Major media failure has been resolved. Links came up and working\",\r\n\t\t\t\t\t\t\"BSNL hardware issue has been resolved. Link is up and working\",\r\n\t\t\t\t\t\t\"Router replaced. Link is up and working\",\r\n\t\t\t\t\t\t\"Switch replaced. Link is up and working\",\r\n\t\t\t\t\t\t\"MLLN modem replaced. Link is up and working\",\r\n\t\t\t\t\t\t\"conventional modem replaced. Link made up\",\r\n\t\t\t\t\t\t\"HWIC card replaced. Link is up and working\",\r\n\t\t\t\t\t\t\"Serial cable replaced. Link is up and working\",\r\n\t\t\t\t\t\t\"OFC media has been restored. Link is up and working\",\r\n\t\t\t\t\t\t\"BSNL wiring issue resolved in the exchange. Link is up and working\",\r\n\t\t\t\t\t\t\"Customer's modem has been replaced. Link is up\",\r\n\t\t\t\t\t\t\"Customer's router has been replaced. Link made up\",\r\n\t\t\t\t\t\t\"No issue found in the link. Customer saying up\",\r\n\t\t\t\t\t\t\"High utilization due to which getting slow connectivity\",\r\n\t\t\t\t\t\t\"LAN issue resolved. Customer is getting connectivity\",\r\n\t\t\t\t\t\t\"PCM issue resolved. Link has come up\",\r\n\t\t\t\t\t\t\"Mux channel issue resolved. Link has come up.\",\r\n\t\t\t\t\t\t\"Routing issue b/w MTNL & BSNL has been resolved. Link has come up\",\r\n\t\t\t\t\t\t\"Power issue resolved in the exchange. Link has come up and working\",\r\n\t\t\t\t\t\t\"UPS issue has been resolved at customer end. Link has come up and working\",\r\n\t\t\t\t\t\t\"Earthing issue has been resolved at customer end. Link has come up and working\",\r\n\t\t\t\t\t\t\"After powering ON the equipments Link made up and working\",\r\n\t\t\t\t\t\t\"Hardware rebooted. Link made up.\",\r\n\t\t\t\t\t\t\"Others\"\r\n\t\t\t\t\t]\r\n\t\t\t\t} else if (callType[0].ItemValue == 'LLP') {\r\n\t\t\t\t\tvm.CallTypeList = [\"Commissioning done after PCM/Channal wiring done\",\r\n\t\t\t\t\t\t\"Commissioning done after replacing MLLN modem\",\r\n\t\t\t\t\t\t\"Commissioning done after completion of MPLS end configuration\",\r\n\t\t\t\t\t\t\"Commissioning done after OFC media preparation\",\r\n\t\t\t\t\t\t\"Commissioning done after allocation of channel\",\r\n\t\t\t\t\t\t\"Commissioning done after replacing router/card\",\r\n\t\t\t\t\t\t\"Commissioning done after replacing serial cable\",\r\n\t\t\t\t\t\t\"Commissioning done after configuring the CE router\",\r\n\t\t\t\t\t\t\"Commissioning done after media preparation b/w MTNL & BSNL\",\r\n\t\t\t\t\t\t\"Commissioning done after installation of new local lead\",\r\n\t\t\t\t\t\t\"Commissioning done after rectification of power/earthing parameter at customer end\",\r\n\t\t\t\t\t\t\"Others\"\r\n\t\t\t\t\t]\r\n\t\t\t\t} else if (callType[0].ItemValue == 'Upgration') {\r\n\t\t\t\t\tvm.CallTypeList = [\"Upgradation done after PCM/Channal wiring done\",\r\n\t\t\t\t\t\t\"Upgradation done after replacing MLLN modem\",\r\n\t\t\t\t\t\t\"Upgradation done after completion of MPLS end configuration\",\r\n\t\t\t\t\t\t\"Upgradation done after OFC media preparation\",\r\n\t\t\t\t\t\t\"Upgradation done after allocation of channel\",\r\n\t\t\t\t\t\t\"Upgradation done after replacing router/card\",\r\n\t\t\t\t\t\t\"Upgradation done after replacing serial cable\",\r\n\t\t\t\t\t\t\"Upgradation done after configuring the CE router\",\r\n\t\t\t\t\t\t\"Upgradation done after media preparation b/w MTNL & BSNL\",\r\n\t\t\t\t\t\t\"Upgradation done after rectification of power/earthing parameter at customer end\",\r\n\t\t\t\t\t\t\"Others\"\r\n\t\t\t\t\t]\r\n\t\t\t\t} else if (callType[0].ItemValue == 'Shifting') {\r\n\t\t\t\t\tvm.CallTypeList = [\"Shifting of link completed from old premises to new premises\",\r\n\t\t\t\t\t\t\"Shifting of link completed from existing floor to new floor in the same premises\",\r\n\t\t\t\t\t\t\"Shifting of exchange completed\",\r\n\t\t\t\t\t\t\"Shifting done after rectification of power/earthing parameter at customer end\",\r\n\t\t\t\t\t\t\"Others\"\r\n\t\t\t\t\t]\r\n\t\t\t\t} else if (callType[0].ItemValue == 'Installation & Configuration of Device') {\r\n\t\t\t\t\tvm.CallTypeList = [\"Router installed. Link made up and working\",\r\n\t\t\t\t\t\t\"Switch installed. Link made up and working\",\r\n\t\t\t\t\t\t\"HWIC card installed. Link made up and working\",\r\n\t\t\t\t\t\t\"Serial cable installed. Link made up and working\",\r\n\t\t\t\t\t\t\"MLLN modem installed. Link made up and working\",\r\n\t\t\t\t\t\t\"Router/MLLN modem/switch installed at customer end\",\r\n\t\t\t\t\t\t\"UPS installed at customer end. Link made up and working\",\r\n\t\t\t\t\t\t\"Installation done after rectification of power/earthing parameter at customer end\",\r\n\t\t\t\t\t\t\"Others\"\r\n\t\t\t\t\t]\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// vm.showFixed = true;\r\n\t\tvm.DistanceFixed = '10';\r\n\t\tvm.starFixed = '5';\r\n\t\tvm.DistanceNearBy = '10';\r\n\t\tvm.starNearBy = '5';\r\n\t\tvm.Distance = '10';\r\n\t\tvm.DistancePre = '10';\r\n\t\tvm.star = '5';\r\n\t\tvm.showNearByTable = false;\r\n\t\tvm.model = {};\r\n\t\tvm.model = [{ \"key\": 1, \"Role\": \"Field Engineer\", \"userType\": \"Fixed Team\", \"Value\": \"Field Engineer\" },\r\n\t\t{ \"key\": 2, \"Role\": \"Field Engineer\", \"userType\": \"Freelancer\", \"Value\": \"Freelancer\" },\r\n\t\t{ \"key\": 3, \"Role\": \"Vendor Manager\", \"userType\": \"Fixed Team\", \"Value\": \"Vendor\" },\r\n\t\t{ \"key\": 4, \"Role\": \"Vendor Manager\", \"userType\": \"Freelancer\", \"Value\": \"Freelancer\" }];\r\n\r\n\t\tvm.GetFixedUser = function (reload) {\r\n\t\t\tvar roleList = [];\r\n\t\t\troleList.push({ \"UserRole\": 'Field Engineer', \"UserType\": \"Fixed Team\" });\r\n\r\n\t\t\tvar orderbyUser = [];\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 1, \"OrderByField\": \"UserRating\" });\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 2, \"OrderByField\": \"BIDCounterRate\" });\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 3, \"OrderByField\": \"UserDistance\" });\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"ActOnCurrentLocation\": false,\r\n\t\t\t\t\"RangeFromJob\": parseInt(vm.DistanceFixed) * 1000,\r\n\t\t\t\t\"UserConfigList\": roleList,\r\n\t\t\t\t\"FETravelChargePerKM\": 10,\r\n\t\t\t\t\"FromDate\": vm.TicketInfo.StartTime,\r\n\t\t\t\t\"ToDate\": vm.TicketInfo.EndTime,\r\n\t\t\t\t\"TransportMode\": \"driving\",\r\n\t\t\t\t\"OrderByUsers\": orderbyUser\r\n\t\t\t};\r\n\t\t\tJobDetailViewNewService.GetSchedulingEvaluationResult(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tvm.FixedUserList = resp.data.users;\r\n\t\t\t\tvm.FixedUserLength = vm.FixedUserList.length;\r\n\t\t\t\t\r\n\t\t\t\tvm.CreateFixedUserTable();\r\n\t\t\t\tif (reload) {\r\n\t\t\t\t\tvm.reloadDataFixed();\r\n\t\t\t\t}\r\n\r\n\t\t\t});\r\n\r\n\t\t}\r\n\r\n\r\n\r\n\t\tvm.CreateFixedUserTable = function () {\r\n\t\t\tvm.headerCompiledFixed = false;\r\n\t\t\t// vm.dtInstanceFixed = {};\r\n\t\t\tvm.showFixedTable = 'Fixed';\r\n\t\t\tvm.showFixed = true;\r\n\t\t\tvm.selectedFixed = {};\r\n\t\t\tvm.toggleOneFixed = toggleOneFixed;\r\n\t\t\tvm.selectAllFixed = false;\r\n\t\t\tvm.toggleAllFixed = toggleAllFixed;\r\n\t\t\tvar temp = false;\r\n\t\t\tif (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\ttemp = true;\r\n\t\t\t}\r\n\r\n\t\t\t// var titleHtmlFixed = '';\r\n\t\t\tvm.dtOptionsFixed = DTOptionsBuilder.fromFnPromise(function () {\r\n\t\t\t\tvar defer = $q.defer();\r\n\t\t\t\tdefer.resolve(vm.FixedUserList);\r\n\t\t\t\treturn defer.promise;\r\n\t\t\t})\r\n\t\t\t\t.withPaginationType('full_numbers')\r\n\t\t\t\t.withOption('order', [])\r\n\t\t\t\t.withOption('createdRow', function (row, data, dataIndex) {\r\n\t\t\t\t\t// Recompiling so we can bind Angular directive to the DT\r\n\t\t\t\t\t$compile(angular.element(row).contents())($scope);\r\n\t\t\t\t})\r\n\t\t\t\t.withOption('headerCallback', function (header) {\r\n\t\t\t\t\tif (!vm.headerCompiledFixed) {\r\n\t\t\t\t\t\t// Use this headerCompiled field to only compile header once\r\n\t\t\t\t\t\tvm.headerCompiledFixed = true;\r\n\t\t\t\t\t\t$compile(angular.element(header).contents())($scope);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.withBootstrap();\r\n\r\n\r\n\t\t\tvm.dtColumnsFixed = [\r\n\t\t\t\t\r\n\t\t\t\tDTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvar temp = false;\r\n\t\t\t\t\tif(vm.IsMaterialDelivered){\r\n\t\t\t\t\t\t\tif( vm.TicketInfo.TicketStatus != 'New' || vm.TicketInfo.MetrialDeliverStatus !='Delivered'){\r\n\t\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\tif(vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif($localStorage.loggedInUser_Role == 'Vendor Manager'){\r\n\t\t\t\t\t\t\ttemp = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif(vm.TicketInfo.UserName != '' && vm.TicketInfo.UserName != null){\r\n\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif(vm.TicketInfo.TicketStatus == 'Completed'){\r\n\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn '';\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('id').withTitle('Id').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('name').withTitle('Name').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\t\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('userType').withTitle('User Type').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('UserRating').withTitle('Rating').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('JobTotal').withTitle('Jobs').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}),\r\n\t\t\t\t// DTColumnBuilder.newColumn('UserDistance').withTitle('Distance(In KM.)').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\t// \treturn '' + data + '';\r\n\r\n\t\t\t\t\t// })\r\n\t\t\t\tDTColumnBuilder.newColumn('UserDistance').withTitle('Distance(In KM.)').notSortable().renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tif(full.IsPincodeBasedScheduling == true){\r\n\t\t\t\t\t\treturn 'Matching Pincode';\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}}),\r\n\r\n\t\t\t];\r\n\r\n\t\t\tfunction toggleAllFixed(selectAll, selectedItems) {\r\n\t\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t\t\t\tselectedItems[id] = selectAll;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// function toggleOneFixed(selectedItems) {\r\n\t\t\t// \tfor (var id in selectedItems) {\r\n\t\t\t// \t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t// \t\t\tif (!selectedItems[id]) {\r\n\t\t\t// \t\t\t\tif(vm.selectSingleFixed){\r\n\t\t\t// \t\t\t\t\tvm.selectAllFixed = false;\r\n\t\t\t// \t\t\t\t\tvm.selectSingleFixed = false;\r\n\t\t\t// \t\t\t\t\treturn;\r\n\t\t\t// \t\t\t\t}\r\n\r\n\t\t\t// \t\t\t\tvm.selectAllFixed = false;\r\n\t\t\t// \t\t\t\tvm.selectSingleFixed = true;\r\n\t\t\t// \t\t\t\treturn;\r\n\t\t\t// \t\t\t}\r\n\t\t\t// \t\t\tvm.selectSingleFixed = false;\r\n\t\t\t// \t\t}\r\n\t\t\t// \t}\r\n\t\t\t// \tvm.selectAllFixed = true;\r\n\t\t\t// }\r\n\r\n\t\t\tfunction toggleOneFixed(selectedItems) {\r\n\t\t\t\tvm.selectAllFixed = false;\r\n\t\t\t\tvm.selectSingleFixed = false;\r\n\t\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\t\tif (selectedItems[id]) {\r\n\t\t\t\t\t\tvm.selectSingleFixed = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\r\n\t\t}\r\n\r\n\r\n\r\n\r\n\r\n\t\tvm.NearByUserList = [];\r\n\r\n\t\tvm.GetNearByUser = function (reload) {\r\n\r\n\t\t\tvm.headerCompiledNearBy = false;\r\n\t\t\t// vm.NearByUserList = [];\r\n\t\t\tvar roleList = [];\r\n\t\t\tvar orderbyUser = [];\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 0, \"OrderByField\": \"UserRating\" });\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 1, \"OrderByField\": \"BIDCounterRate\" });\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 2, \"OrderByField\": \"UserDistance\" });\r\n\t\t\tif(vm.PrivateDisable) {\r\n\t\t\t\troleList.push({ \"UserRole\": 'Field Engineer', \"UserType\": \"Private\" });\r\n\t\t\t\troleList.push({ \"UserRole\": 'Vendor Manager', \"UserType\": \"Private\" });\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\troleList.push({ \"UserRole\": 'Field Engineer', \"UserType\": \"Freelancer\" });\r\n\t\t\t\troleList.push({ \"UserRole\": 'Vendor Manager', \"UserType\": \"Freelancer\" });\r\n\t\t\t}\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"ActOnCurrentLocation\": false,\r\n\t\t\t\t\"IsComplianceDisable\": vm.ComplianceDisable,\r\n\t\t\t\t\"IsPincodeEnabled\": vm.PincodeEnabled,\r\n\t\t\t\t\"IsPrivateDisable\": vm.PrivateDisable,\r\n\t\t\t\t\"RangeFromJob\": parseInt(vm.DistanceNearBy) * 1000,\r\n\t\t\t\t\"UserConfigList\": roleList,\r\n\t\t\t\t\"FETravelChargePerKM\": 10,\r\n\t\t\t\t\"FromDate\": vm.TicketInfo.StartTime,\r\n\t\t\t\t\"ToDate\": vm.TicketInfo.EndTime,\r\n\t\t\t\t\"TransportMode\": \"driving\",\r\n\t\t\t\t\"OrderByUsers\": orderbyUser,\r\n\t\t\t};\r\n\t\t\tJobDetailViewNewService.GetSchedulingEvaluationResult(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tvm.NearByUserList = resp.data.users;\r\n\t\t\t\tvm.NearByUserLength = vm.NearByUserList.length;\r\n\t\t\t\t\r\n\t\t\t\tvm.CreateNearByTable();\r\n\t\t\t\tif (reload) {\r\n\t\t\t\t\tvm.reloadData();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t}\r\n\r\n\t\t// $scope.addNewType = function () {\r\n\t\t// \troleList.push({ \"UserRole\": 'Field Engineer', \"UserType\": \"Private\" });\r\n\t\t// \troleList.push({ \"UserRole\": 'Vendor Manager', \"UserType\": \"Private\" });\r\n\t\t// };\r\n\r\n\t\tvm.selectSingleNearBy = false;\r\n\t\tvm.CreateNearByTable = function () {\r\n\t\t\tvm.headerCompiledNearBy = false;\r\n\t\t\tvm.showNearByTable = 'showNear';\r\n\t\t\tvm.selectedNearBy = {};\r\n\t\t\tvm.toggleOneNearBy = toggleOneNearBy;\r\n\t\t\t// vm.dtInstanceNearBy = {};\r\n\t\t\tvm.selectAllNearBy = false;\r\n\t\t\tvm.toggleAllNearBy = toggleAllNearBy;\r\n\t\t\tvar temp = false;\r\n\t\t\t// if (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t// \ttemp = true;\r\n\t\t\t// }\r\n\t\t\tif(vm.IsMaterialDelivered){\r\n\t\t\t\tif( vm.TicketInfo.TicketStatus != 'New' || vm.TicketInfo.MetrialDeliverStatus !='Delivered'){\r\n\t\t\t\t\ttemp = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tif(vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\ttemp = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\ttemp = vm.TicketInfo.ShowManualBroadcast?temp:true;\r\n\t\t\tvar titleHtmlNearBy = '';\r\n\t\t\tvm.dtOptionsNearBy = DTOptionsBuilder.fromFnPromise(function () {\r\n\t\t\t\tvar defer = $q.defer();\r\n\t\t\t\tdefer.resolve(vm.NearByUserList);\r\n\t\t\t\treturn defer.promise;\r\n\t\t\t})\r\n\t\t\t\t.withPaginationType('full_numbers')\r\n\t\t\t\t.withOption('order', [])\r\n\t\t\t\t.withOption('createdRow', function (row, data, dataIndex) {\r\n\t\t\t\t\t// Recompiling so we can bind Angular directive to the DT\r\n\t\t\t\t\t$compile(angular.element(row).contents())($scope);\r\n\t\t\t\t})\r\n\t\t\t\t.withOption('headerCallback', function (header) {\r\n\t\t\t\t\tif (!vm.headerCompiledNearBy) {\r\n\t\t\t\t\t\t// Use this headerCompiled field to only compile header once\r\n\t\t\t\t\t\tvm.headerCompiledNearBy = true;\r\n\t\t\t\t\t\t$compile(angular.element(header).contents())($scope);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.withBootstrap();\r\n\r\n\r\n\t\t\tvm.dtColumnsNearBy = [\r\n\t\t\t\tDTColumnBuilder.newColumn(null).withTitle(titleHtmlNearBy).renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvm.selectedNearBy[meta.row] = false;\r\n\t\t\t\t\tvar temp = false;\r\n\t\t\t\t\t// if (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t// \ttemp = true;\r\n\t\t\t\t\t// }\r\n\t\t\t\t\t\tif(vm.IsMaterialDelivered){\r\n\t\t\t\t\t\t\t\tif( vm.TicketInfo.TicketStatus != 'New' || vm.TicketInfo.MetrialDeliverStatus !='Delivered'){\r\n\t\t\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\tif(vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\ttemp = vm.TicketInfo.ShowManualBroadcast?temp:true;\r\n\t\t\t\t\treturn '';\r\n\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvar temp = false;\r\n\t\t\t\t\tif(vm.IsMaterialDelivered){\r\n\t\t\t\t\t\t\tif( vm.TicketInfo.TicketStatus != 'New' || vm.TicketInfo.MetrialDeliverStatus !='Delivered'){\r\n\t\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\tif(vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.disableRouteButton = vm.TicketInfo.ShowManualBroadcast?temp:true;\r\n\t\t\t\t\treturn '';\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('id').withTitle('Id').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('name').withTitle('Name').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}).notSortable(),\r\n\r\n\t\t\t\tDTColumnBuilder.newColumn('User_Type').withTitle('User Type').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('UserRating').withTitle('Rating').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('JobTotal').withTitle('Jobs').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('UserDistance').withTitle('Distance(In KM.)').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('IsPresentToday').withTitle('Attendance').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvar attendance =\"\";\r\n\t\t\t\t\tif(full.User_Type==\"Freelancer Vendor\")\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tattendance = \"NA\";\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\tif(full.IsPresentToday){\r\n\t\t\t\t\t\tattendance = \"Present\";\r\n\t\t\t\t\t }else{\r\n\t\t\t\t\t\tattendance = \"Absent\";\r\n\t\t\t\t\t }\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn '' + attendance + '';\r\n\r\n\t\t\t\t})\r\n\t\t\t\t\r\n\t\t\t\t// return '
'+location+'
'\r\n\t\t\t\r\n\r\n\t\t\t];\r\n\r\n\t\t\tfunction toggleAllNearBy(selectAll, selectedItems) {\r\n\t\t\t\tvm.selectSingleNearBy = false;\r\n\t\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t\t\t\tselectedItems[id] = selectAll;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// function toggleOneNearBy(selectedItems) {\r\n\t\t\t// \tfor (var id in selectedItems) {\r\n\t\t\t// \t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t// \t\t\tif (!selectedItems[id]) {\r\n\t\t\t// \t\t\t\tif(vm.selectSingleNearBy){\r\n\t\t\t// \t\t\t\t\tvm.selectAllNearBy = false;\r\n\t\t\t// \t\t\t\t\tvm.selectSingleNearBy = false;\r\n\t\t\t// \t\t\t\t\treturn;\r\n\t\t\t// \t\t\t\t}\r\n\r\n\t\t\t// \t\t\t\tvm.selectAllNearBy = false;\r\n\t\t\t// \t\t\t\tvm.selectSingleNearBy = true;\r\n\t\t\t// \t\t\t\treturn;\r\n\t\t\t// \t\t\t}\r\n\t\t\t// \t\t\tvm.selectSingleNearBy = false;\r\n\t\t\t// \t\t}\r\n\t\t\t// \t}\r\n\t\t\t// \tvm.selectAllNearBy = true;\r\n\t\t\t// }\r\n\r\n\t\t\tfunction toggleOneNearBy(selectedItems) {\r\n\t\t\t\tvm.selectAllNearBy = false;\r\n\t\t\t\tvm.selectSingleNearBy = false;\r\n\t\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\t\tif (selectedItems[id]) {\r\n\t\t\t\t\t\tvm.selectSingleNearBy = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t\tvm.reloadDataFixed = function () {\r\n\t\t\tvar resetPagingFixed = true;\r\n\t\t\tvm.dtInstanceFixed.reloadData(resetPagingFixed);\r\n\t\t}\r\n\r\n\t\tvm.reloadData = function () {\r\n\t\t\tvar resetPaging = true;\r\n\t\t\tvm.dtInstanceNearBy.reloadData(resetPaging);\r\n\t\t\t\r\n\r\n\t\t}\r\n\r\n\t\tvm.reloadDataTalent = function () {\r\n\t\t\tvar resetPagingTalent = true;\r\n\t\t\tvm.dtInstance.reloadData(resetPagingTalent);\r\n\t\t}\r\n\r\n\t\tvm.reloadDataPre = function () {\r\n\t\t\tvar resetPagingPre = true;\r\n\t\t\tvm.dtInstancePre.reloadData(resetPagingPre);\r\n\t\t}\r\n\r\n\r\n\t\tvm.Preffered = function () {\r\n\t\t\tvm.jobAppointmentModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'Preffered.html',\r\n\t\t\t\tsize: 'sm',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.GetTalentPoolUser = function (reload) {\r\n\t\t\tvm.headerCompiled = false;\r\n\t\t\tvar Distance = parseInt(vm.Distance)\r\n\t\t\tvar roleList = [];\r\n\t\t\troleList.push({ \"UserRole\": 'Field Engineer', \"UserType\": \"Freelancer\" });\r\n\t\t\troleList.push({ \"UserRole\": 'Vendor Manager', \"UserType\": \"Freelancer\" });\r\n\t\t\tvar orderbyUser = [];\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 0, \"OrderByField\": \"UserRating\" });\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 1, \"OrderByField\": \"BIDCounterRate\" });\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 2, \"OrderByField\": \"UserDistance\" });\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"ActOnCurrentLocation\": false,\r\n\t\t\t\t\"RangeFromJob\": Distance * 1000,\r\n\t\t\t\t\"UserConfigList\": roleList,\r\n\t\t\t\t\"FETravelChargePerKM\": 10,\r\n\t\t\t\t\"FromDate\": vm.TicketInfo.StartTime,\r\n\t\t\t\t\"ToDate\": vm.TicketInfo.EndTime,\r\n\t\t\t\t\"TransportMode\": \"driving\",\r\n\t\t\t\t\"OrderByUsers\": orderbyUser\r\n\t\t\t};\r\n\t\t\tJobDetailViewNewService.GetAllPrefereTalentPool(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tvm.PrefreUserList = resp.data;\r\n\t\t\t\tvm.PrefreUserLength = vm.PrefreUserList.length;\r\n\t\t\t\t\r\n\t\t\t\tvm.CreatePrefreTable();\r\n\t\t\t\tif (reload) {\r\n\t\t\t\t\tvm.reloadDataTalent();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t}\r\n\r\n\t\tvm.selectSingle = false;\r\n\t\tvm.CreatePrefreTable = function () {\r\n\t\t\t// vm.Invoice = {};\r\n\t\t\tvm.headerCompiled = false;\r\n\t\t\tvm.selected = {};\r\n\t\t\tvm.toggleOne = toggleOne;\r\n\t\t\t// vm.dtInstance = {};\r\n\t\t\tvm.selectAll = false;\r\n\t\t\tvm.toggleAll = toggleAll;\r\n\t\t\tvar temp = false;\r\n\t\t\t// if (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t// \ttemp = true;\r\n\t\t\t// }\r\n\t\t\tif(vm.IsMaterialDelivered){\r\n\t\t\t\tif( vm.TicketInfo.TicketStatus != 'New' || vm.TicketInfo.MetrialDeliverStatus !='Delivered'){\r\n\t\t\t\t\ttemp = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tif(vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\ttemp = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\ttemp = vm.TicketInfo.ShowManualBroadcast?temp:true;\r\n\t\t\tvar titleHtml = '';\r\n\r\n\t\t\tvm.dtOptions = DTOptionsBuilder.fromFnPromise(function () {\r\n\t\t\t\tvar defer = $q.defer();\r\n\t\t\t\tvm.showTable = true;\r\n\t\t\t\tdefer.resolve(vm.PrefreUserList);\r\n\t\t\t\treturn defer.promise;\r\n\r\n\t\t\t})\r\n\t\t\t\t.withPaginationType('full_numbers')\r\n\t\t\t\t.withOption('order', [])\r\n\t\t\t\t.withOption('createdRow', createdRow)\r\n\t\t\t\t.withOption('headerCallback', headerCallback)\r\n\t\t\t\t.withBootstrap();\r\n\r\n\t\t\tfunction createdRow(row, data, dataIndex) {\r\n\t\t\t\t// Recompiling so we can bind Angular directive to the DT\r\n\t\t\t\t$compile(angular.element(row).contents())($scope);\r\n\t\t\t}\r\n\r\n\t\t\tfunction headerCallback(header) {\r\n\t\t\t\tif (!vm.headerCompiled) {\r\n\t\t\t\t\t// Use this headerCompiled field to only compile header once\r\n\t\t\t\t\tvm.headerCompiled = true;\r\n\t\t\t\t\t$compile(angular.element(header).contents())($scope);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tvm.dtColumns = [\r\n\t\t\t\tDTColumnBuilder.newColumn(null).withTitle(titleHtml).renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvm.selected[meta.row] = false;\r\n\t\t\t\t\tvar temp = false;\r\n\t\t\t\t\t// if (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t// \ttemp = true;\r\n\t\t\t\t\t// }\r\n\t\t\t\t\tif(vm.IsMaterialDelivered){\r\n\t\t\t\t\t\t\t\tif( vm.TicketInfo.TicketStatus != 'New' || vm.TicketInfo.MetrialDeliverStatus !='Delivered'){\r\n\t\t\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\tif(vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\ttemp = vm.TicketInfo.ShowManualBroadcast?temp:true;\r\n\t\t\t\t\treturn '';\r\n\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvar temp = false;\r\n\t\t\t\t\tif(vm.IsMaterialDelivered){\r\n\t\t\t\t\t\tif( vm.TicketInfo.TicketStatus != 'New' || vm.TicketInfo.MetrialDeliverStatus !='Delivered'){\r\n\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\tif(vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.disableRouteButton = vm.TicketInfo.ShowManualBroadcast?temp:true;\r\n\t\t\t\t\treturn '';\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('id').withTitle('Id').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('name').withTitle('Name').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\t\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('User_Type').withTitle('User Type').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('UserRating').withTitle('Rating').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('JobTotal').withTitle('Jobs').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('UserDistance').withTitle('Distance(In KM.)').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('IsPresentToday').withTitle('Attendance').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvar attendance =\"\";\r\n\t\t\t\t\tif(full.IsPresentToday){\r\n\t\t\t\t\t\tattendance = \"Present\";\r\n\t\t\t\t\t }else{\r\n\t\t\t\t\t\tattendance = \"Absent\";\r\n\t\t\t\t\t }\r\n\t\t\t\t\t \r\n\t\t\t\t\treturn '' + attendance + '';\r\n\r\n\t\t\t\t})\r\n\r\n\t\t\t];\r\n\r\n\t\t\tfunction toggleAll(selectAll, selectedItems) {\r\n\t\t\t\tvm.selectSingle = false;\r\n\t\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t\t\t\tselectedItems[id] = selectAll;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// function toggleOne(selectedItems) {\r\n\t\t\t// \tfor (var id in selectedItems) {\r\n\t\t\t// \t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t// \t\t\tif (!selectedItems[id]) {\r\n\r\n\t\t\t// \t\t\t\tif(vm.selectSingle){\r\n\t\t\t// \t\t\t\t\tvm.selectAll = false;\r\n\t\t\t// \t\t\t\t\tvm.selectSingle = false;\r\n\t\t\t// \t\t\t\t\treturn;\r\n\t\t\t// \t\t\t\t}\r\n\t\t\t// \t\t\t\tvm.selectAll = false;\r\n\t\t\t// \t\t\t\tvm.selectSingle = true;\r\n\t\t\t// \t\t\t\treturn;\r\n\t\t\t// \t\t\t}\r\n\t\t\t// \t\t\tvm.selectSingle = false;\r\n\t\t\t// \t\t}\r\n\t\t\t// \t}\r\n\t\t\t// \tvm.selectAll = true;\r\n\t\t\t// }\r\n\r\n\t\t\tfunction toggleOne(selectedItems) {\r\n\t\t\t\tvm.selectAll = false;\r\n\t\t\t\tvm.selectSingle = false;\r\n\t\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\t\tif (selectedItems[id]) {\r\n\t\t\t\t\t\tvm.selectSingle = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\r\n\t\t}\r\n\t\tvm.showTablePre = false;\r\n\t\tvm.selectSinglePre = false;\r\n\t\tvm.GetPreviousWorker = function (reload) {\r\n\r\n\t\t\tvm.headerCompiledPre = false;\r\n\t\t\tvar Distance = parseInt(vm.DistancePre)\r\n\t\t\tvar roleList = [];\r\n\t\t\troleList.push({ \"UserRole\": 'Field Engineer', \"UserType\": \"Freelancer\" });\r\n\t\t\troleList.push({ \"UserRole\": 'Vendor Manager', \"UserType\": \"Freelancer\" });\r\n\t\t\tvar orderbyUser = [];\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 0, \"OrderByField\": \"UserRating\" });\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 1, \"OrderByField\": \"BIDCounterRate\" });\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 2, \"OrderByField\": \"UserDistance\" });\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"ActOnCurrentLocation\": false,\r\n\t\t\t\t\"RangeFromJob\": Distance * 1000,\r\n\t\t\t\t\"UserConfigList\": roleList,\r\n\t\t\t\t\"FETravelChargePerKM\": 10,\r\n\t\t\t\t\"FromDate\": vm.TicketInfo.StartTime,\r\n\t\t\t\t\"ToDate\": vm.TicketInfo.EndTime,\r\n\t\t\t\t\"TransportMode\": \"driving\",\r\n\t\t\t\t\"OrderByUsers\": orderbyUser\r\n\t\t\t};\r\n\t\t\tJobDetailViewNewService.GetAllPreviousUser(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tvm.PreviousUserList = resp.data;\r\n\t\t\t\tvm.PreviousUserLength = vm.PreviousUserList.length;\r\n\t\t\t\t\r\n\t\t\t\tvm.CreatePreviousUserTable();\r\n\t\t\t\tif (reload) {\r\n\t\t\t\t\tvm.reloadDataPre();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.CreatePreviousUserTable = function () {\r\n\t\t\tvm.headerCompiledPre = false;\r\n\t\t\tvm.selectedPre = {};\r\n\t\t\tvm.toggleOnePre = toggleOnePre;\r\n\t\t\t// vm.dtInstancePre = {};\r\n\t\t\tvm.selectAllPre = false;\r\n\t\t\tvm.toggleAllPre = toggleAllPre;\r\n\t\t\tvar temp = false;\r\n\t\t\t// if (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t// \ttemp = true;\r\n\t\t\t// }\r\n\t\t\tif(vm.IsMaterialDelivered){\r\n\t\t\t\tif( vm.TicketInfo.TicketStatus != 'New' || vm.TicketInfo.MetrialDeliverStatus !='Delivered'){\r\n\t\t\t\t\ttemp = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tif(vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\ttemp = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\ttemp = vm.TicketInfo.ShowManualBroadcast?temp:true;\r\n\t\t\tvar titleHtmlPre = '';\r\n\r\n\t\t\tvm.dtOptionsPre = DTOptionsBuilder.fromFnPromise(function () {\r\n\t\t\t\tvar defer = $q.defer();\r\n\t\t\t\tvm.showTablePre = true;\r\n\t\t\t\tdefer.resolve(vm.PreviousUserList);\r\n\t\t\t\treturn defer.promise;\r\n\r\n\t\t\t})\r\n\t\t\t\t.withPaginationType('full_numbers')\r\n\t\t\t\t.withOption('order', [])\r\n\t\t\t\t.withOption('createdRow', function (row, data, dataIndex) {\r\n\t\t\t\t\t// Recompiling so we can bind Angular directive to the DT\r\n\t\t\t\t\t$compile(angular.element(row).contents())($scope);\r\n\t\t\t\t})\r\n\t\t\t\t.withOption('headerCallback', function (header) {\r\n\t\t\t\t\tif (!vm.headerCompiledPre) {\r\n\t\t\t\t\t\t// Use this headerCompiled field to only compile header once\r\n\t\t\t\t\t\tvm.headerCompiledPre = true;\r\n\t\t\t\t\t\t$compile(angular.element(header).contents())($scope);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.withBootstrap();\r\n\r\n\r\n\t\t\tvm.dtColumnsPre = [\r\n\t\t\t\tDTColumnBuilder.newColumn(null).withTitle(titleHtmlPre).renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvm.selectedPre[meta.row] = false;\r\n\t\t\t\t\tvar temp = false;\r\n\t\t\t\t\t// if (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t// \ttemp = true;\r\n\t\t\t\t\t// }\r\n\t\t\t\t\tif(vm.IsMaterialDelivered){\r\n\t\t\t\t\t\t\t\tif( vm.TicketInfo.TicketStatus != 'New' || vm.TicketInfo.MetrialDeliverStatus !='Delivered'){\r\n\t\t\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\tif(vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\ttemp = vm.TicketInfo.ShowManualBroadcast?temp:true;\r\n\t\t\t\t\treturn '';\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvar temp = false;\r\n\t\t\t\t\tif(vm.IsMaterialDelivered){\r\n\t\t\t\t\t\tif( vm.TicketInfo.TicketStatus != 'New' || vm.TicketInfo.MetrialDeliverStatus !='Delivered'){\r\n\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\tif(vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.disableRouteButton = vm.TicketInfo.ShowManualBroadcast?temp:true;\r\n\t\t\t\t\treturn '';\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('id').withTitle('Id').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('name').withTitle('Name').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('User_Type').withTitle('User Type').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('UserRating').withTitle('Rating').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('JobTotal').withTitle('Jobs').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('UserDistance').withTitle('Distance(In KM.)').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('IsPresentToday').withTitle('Attendance').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvar attendance =\"\";\r\n\t\t\t\t\tif(full.IsPresentToday){\r\n\t\t\t\t\t\tattendance = \"Present\";\r\n\t\t\t\t\t }else{\r\n\t\t\t\t\t\tattendance = \"Absent\";\r\n\t\t\t\t\t }\r\n\t\t\t\t\t \r\n\t\t\t\t\treturn '' + attendance + '';\r\n\r\n\t\t\t\t})\r\n\r\n\t\t\t];\r\n\r\n\t\t\tfunction toggleAllPre(selectAll, selectedItems) {\r\n\t\t\t\tvm.selectSinglePre = false;\r\n\t\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t\t\t\tselectedItems[id] = selectAll;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// function toggleOnePre(selectedItems) {\r\n\t\t\t// \tfor (var id in selectedItems) {\r\n\t\t\t// \t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t// \t\t\tif (!selectedItems[id]) {\r\n\r\n\t\t\t// \t\t\t\tif(vm.selectSinglePre){\r\n\t\t\t// \t\t\t\t\tvm.selectAllPre = false;\r\n\t\t\t// \t\t\t\t\tvm.selectSinglePre = false;\r\n\t\t\t// \t\t\t\t\tcontinue;\r\n\t\t\t// \t\t\t\t}\r\n\t\t\t// \t\t\t\tvm.selectAllPre = false;\r\n\t\t\t// \t\t\t\tvm.selectSinglePre = true;\r\n\t\t\t// \t\t\t\tcontinue;\r\n\t\t\t// \t\t\t}\r\n\r\n\t\t\t// \t\t}\r\n\t\t\t// \t\tvm.selectSinglePre = false;\r\n\t\t\t// \t}\r\n\t\t\t// \tvm.selectAllPre = true;\r\n\t\t\t// }\r\n\t\t\tfunction toggleOnePre(selectedItems) {\r\n\t\t\t\tvm.selectSinglePre = false;\r\n\t\t\t\tvm.selectAllPre = false;\r\n\t\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\t\tif (selectedItems[id]) {\r\n\t\t\t\t\t\tvm.selectSinglePre = true;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tvm.BroadcastField = function () {\r\n\t\t\t//vm.dissbleBroadcastButton = true;\r\n\t\t\tvm.DisableRouteBroadcastButtons(true);\r\n\t\t\tvar temp = [];\r\n\t\t\tfor (var i = 0; i < vm.FixedUserList.length; i++) {\r\n\t\t\t\tif (vm.selectedFixed[i] == true) {\r\n\t\t\t\t\ttemp.push({ \"UserId\": vm.FixedUserList[i].id, \"SuggestedPrice\": null, \"Price\": parseInt(vm.FixedUserList[i].Price), \"Distance\": parseInt(vm.FixedUserList[i].UserDistance) });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"BIDDuration\": vm.TicketInfo.BidDuration,\r\n\t\t\t\t\"MobiforceCommissionPercentage\": vm.TicketInfo.MobiforceCommission,\r\n\t\t\t\t\"TechnicianSource\": 0,\r\n\t\t\t\t\"Users\": temp\r\n\t\t\t};\r\n\t\t\tif (data.Users.length > 0) {\r\n\t\t\t\tJobDetailViewNewService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess('Success', \"Jobs Broadcasted Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$state.reload();\r\n\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t}, 2000);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.BroadcastTicketNearBy = function () {\r\n\t\t\t//vm.dissbleBroadcastButton = true;\r\n\t\t\tvm.DisableRouteBroadcastButtons(true);\r\n\t\t\tvar temp = [];\r\n\t\t\tfor (var i = 0; i < vm.NearByUserList.length; i++) {\r\n\t\t\t\tif (vm.selectedNearBy[i] == true) {\r\n\t\t\t\t\ttemp.push({ \"UserId\": vm.NearByUserList[i].id, \"SuggestedPrice\": null, \"Price\": parseInt(vm.NearByUserList[i].Price), \"Distance\": parseInt(vm.NearByUserList[i].UserDistance) });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"BIDDuration\": vm.TicketInfo.BidDuration,\r\n\t\t\t\t\"MobiforceCommissionPercentage\": vm.TicketInfo.MobiforceCommission,\r\n\t\t\t\t\"TechnicianSource\": 1,\r\n\t\t\t\t\"Users\": temp\r\n\t\t\t};\r\n\t\t\tif (data.Users.length > 0) {\r\n\t\t\t\tJobDetailViewNewService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess('Success', \"Jobs Broadcasted Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$state.reload();\r\n\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t}, 2000);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.BroadcastTicketPool = function () {\r\n\t\t\t//vm.dissbleBroadcastButton = true;\r\n\t\t\tvm.DisableRouteBroadcastButtons(true);\r\n\t\t\tvar temp = [];\r\n\t\t\tfor (var i = 0; i < vm.PrefreUserList.length; i++) {\r\n\t\t\t\tif (vm.selected[i] == true) {\r\n\t\t\t\t\ttemp.push({ \"UserId\": vm.PrefreUserList[i].id, \"SuggestedPrice\": null, \"Price\": parseInt(vm.PrefreUserList[i].Price), \"Distance\": parseInt(vm.PrefreUserList[i].UserDistance) });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"BIDDuration\": vm.TicketInfo.BidDuration,\r\n\t\t\t\t\"MobiforceCommissionPercentage\": vm.TicketInfo.MobiforceCommission,\r\n\t\t\t\t\"TechnicianSource\": 2,\r\n\t\t\t\t\"Users\": temp\r\n\t\t\t};\r\n\t\t\tif (data.Users.length > 0) {\r\n\t\t\t\tJobDetailViewNewService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess('Success', \"Jobs Broadcasted Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$state.reload();\r\n\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t}, 2000);\r\n\t\t\t}\r\n\r\n\r\n\t\t}\r\n\r\n\t\tvm.BroadcastTicketPrevious = function () {\r\n\t\t\t//vm.dissbleBroadcastButton = true;\r\n\t\t\tvm.DisableRouteBroadcastButtons(true);\r\n\t\t\tvar temp = [];\r\n\t\t\tfor (var i = 0; i < vm.PreviousUserList.length; i++) {\r\n\t\t\t\tif (vm.selectedPre[i] == true) {\r\n\t\t\t\t\ttemp.push({ \"UserId\": vm.PreviousUserList[i].id, \"SuggestedPrice\": null, \"Price\": parseInt(vm.PreviousUserList[i].Price), \"Distance\": parseInt(vm.PreviousUserList[i].UserDistance) });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"BIDDuration\": vm.TicketInfo.BidDuration,\r\n\t\t\t\t\"MobiforceCommissionPercentage\": vm.TicketInfo.MobiforceCommission,\r\n\t\t\t\t\"TechnicianSource\": 3,\r\n\t\t\t\t\"Users\": temp\r\n\t\t\t};\r\n\t\t\tif (data.Users.length > 0) {\r\n\t\t\t\tJobDetailViewNewService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess('Success', \"Jobs Broadcasted Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$state.reload();\r\n\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t}, 2000);\r\n\t\t\t}\r\n\r\n\r\n\t\t}\r\n\r\n\t\tvm.routeFixed = function (index) {\r\n\t\t\tvar data = vm.FixedUserList[index];\r\n\t\t\tvar temp = [];\r\n\t\t\ttemp.push({ \"UserId\": data.id, \"SuggestedPrice\": null, \"Price\": parseFloat(data.Price), \"Distance\": parseFloat(data.UserDistance) });\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"BIDDuration\": vm.TicketInfo.BidDuration,\r\n\t\t\t\t\"MobiforceCommissionPercentage\": vm.TicketInfo.MobiforceCommission,\r\n\t\t\t\t\"BroadcastType\": \"Route\",\r\n\t\t\t\t\"TechnicianSource\": 0,\r\n\t\t\t\t\"Users\": temp\r\n\t\t\t};\r\n\t\t\tif (data.Users.length > 0) {\r\n\t\t\t\tJobDetailViewNewService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess('Success', \"Jobs Route Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", \"User Not Found.\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Please select users.\");\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$state.reload();\r\n\t\t\t\t}, 2000);\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\r\n\t\tvm.route = function (index) {\r\n\t\t\tvm.DisableRouteBroadcastButtons(true);\r\n\t\t\tvar data = vm.NearByUserList[index];\r\n\t\t\tvar temp = [];\r\n\t\t\ttemp.push({ \"UserId\": data.id, \"SuggestedPrice\": null, \"Price\": parseFloat(data.Price), \"Distance\": parseFloat(data.UserDistance) });\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"BIDDuration\": vm.TicketInfo.BidDuration,\r\n\t\t\t\t\"MobiforceCommissionPercentage\": vm.TicketInfo.MobiforceCommission,\r\n\t\t\t\t\"BroadcastType\": \"Route\",\r\n\t\t\t\t\"TechnicianSource\": 1,\r\n\t\t\t\t\"Users\": temp\r\n\t\t\t};\r\n\t\t\tif (data.Users.length > 0) {\r\n\t\t\t\tvm.showloading = true;\r\n\t\t\t\tJobDetailViewNewService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t\t\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess('Success', \"Jobs Route Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (resp.status == 206) {\r\n\t\t\t\t\t\tvm.showFailure('Failed', resp.data.Message);\r\n\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", \"Users Not Found\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.showloading = false;\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Please select users.\");\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$state.reload();\r\n\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t}, 2000);\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tvm.routePreTalent = function (index) {\r\n\t\t\tvm.DisableRouteBroadcastButtons(true);\r\n\t\t\tvar data = vm.PrefreUserList[index];\r\n\t\t\tvar temp = [];\r\n\t\t\ttemp.push({ \"UserId\": data.id, \"SuggestedPrice\": null, \"Price\": parseFloat(data.Price), \"Distance\": parseFloat(data.UserDistance) });\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"BIDDuration\": vm.TicketInfo.BidDuration,\r\n\t\t\t\t\"MobiforceCommissionPercentage\": vm.TicketInfo.MobiforceCommission,\r\n\t\t\t\t\"BroadcastType\": \"Route\",\r\n\t\t\t\t\"TechnicianSource\": 2,\r\n\t\t\t\t\"Users\": temp\r\n\t\t\t};\r\n\t\t\tif (data.Users.length > 0) {\r\n\t\t\t\tJobDetailViewNewService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess('Success', \"Jobs Route Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", \"User Not Found.\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Please select users.\");\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$state.reload();\r\n\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t}, 2000);\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tvm.routePrevoius = function (index) {\r\n\t\t\tvm.DisableRouteBroadcastButtons(true);\r\n\t\t\tvar data = vm.PreviousUserList[index];\r\n\t\t\tvar temp = [];\r\n\t\t\ttemp.push({ \"UserId\": data.id, \"SuggestedPrice\": null, \"Price\": parseFloat(data.Price), \"Distance\": parseFloat(data.UserDistance) });\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"BIDDuration\": vm.TicketInfo.BidDuration,\r\n\t\t\t\t\"MobiforceCommissionPercentage\": vm.TicketInfo.MobiforceCommission,\r\n\t\t\t\t\"BroadcastType\": \"Route\",\r\n\t\t\t\t\"TechnicianSource\": 3,\r\n\t\t\t\t\"Users\": temp\r\n\t\t\t};\r\n\t\t\tif (data.Users.length > 0) {\r\n\t\t\t\tJobDetailViewNewService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess('Success', \"Jobs Route Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", \"Users Not Found.\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Please select users.\");\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$state.reload();\r\n\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t}, 2000);\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tvm.getReadyToAssign = function () {\r\n\r\n\t\t\tvar roleList = [];\r\n\t\t\troleList.push({ \"UserRole\": 'Field Engineer', \"UserType\": \"Freelancer\" });\r\n\t\t\troleList.push({ \"UserRole\": 'Vendor Manager', \"UserType\": \"Freelancer\" });\r\n\t\t\tvar orderbyUser = [];\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 2, \"OrderByField\": \"UserRating\" });\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 3, \"OrderByField\": \"BIDCounterRate\" });\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 1, \"OrderByField\": \"UserDistance\" });\r\n\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"JobAccountId\": '',\r\n\t\t\t\t\"ActOnCurrentLocation\": false,\r\n\t\t\t\t\"RangeFromJob\": 50 * 1000,\r\n\t\t\t\t\"UserConfigList\": roleList,\r\n\t\t\t\t\"FETravelChargePerKM\": 10,\r\n\t\t\t\t\"FromDate\": vm.TicketInfo.StartTime,\r\n\t\t\t\t\"ToDate\": vm.TicketInfo.EndTime,\r\n\t\t\t\t\"TransportMode\": \"driving\",\r\n\t\t\t\t\"OrderByUsers\": orderbyUser\r\n\t\t\t};\r\n\r\n\t\t\tdata.JobAccountId = '';\r\n\t\t\tJobDetailViewNewService.GetSchedulingEvaluationResult(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tvm.ReadytoAssignUser = resp.data.users;\r\n\t\t\t\tvm.ReadyUserLength = vm.ReadytoAssignUser.length;\r\n\r\n\t\t\t});\r\n\r\n\r\n\t\t}\r\n\r\n\t\tvm.AssignTicketsToFixedTeam = function (index) {\r\n\r\n\t\t\tvar temp = vm.FixedUserList[index];\r\n\t\t\tif($localStorage.loggedInUser_Role == 'Vendor Manager'){\r\n\t\t\t\tJobDetailViewNewService.VendorManagerAssignJobTeam(temp.id,loggedinUser, uTicketId, vm.TicketInfo.JobAccountId, token).then(function (resp) {\r\n\t\t\t\t\tif (resp && resp.status == '200') {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Job Assigned Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t\r\n\t\t\t}\r\n\t\t\telse{\r\n\r\n\t\t\tvar AllUserList = [];\r\n\r\n\t\t\tvar data = {\r\n\t\t\t\t\"UserId\": temp.id ? temp.id : temp.LinkId,\r\n\t\t\t\t\"TicketId\": vm.TicketId,\r\n\t\t\t\t\"StartTime\": moment(vm.TicketInfo.StartTime).format('YYYY-MM-DD HH:mm'),\r\n\t\t\t\t\"Endtime\": moment(vm.TicketInfo.EndTime).format('YYYY-MM-DD HH:mm'),\r\n\t\t\t\t\"SuggestedPrice\": temp.Price,\r\n\t\t\t\t\"AssignPrice\": temp.Price,\r\n\t\t\t\t\"Distance\": temp.UserDistance\r\n\t\t\t}\r\n\t\t\tAllUserList.push(data);\r\n\t\t\tif (AllUserList == '') {\r\n\t\t\t\tvm.showFailure(\"Please select users.\")\r\n\t\t\t} else {\r\n\t\t\t\tJobDetailViewNewService.AssignTicketsTimeline(loggedinUser, AllUserList, token).then(function (resp) {\r\n\t\t\t\t\tif (resp && resp.status == '200') {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Job Assigned Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t}, 2000);\r\n\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\t\t}\r\n\r\n\t\tvm.AssignTicketsTimeline = function (rUser, index) {\t\t\t\r\n\t\t\tvar AllUserList = [];\r\n\t\t\tvar data = {\r\n\t\t\t\t\"UserId\": rUser.id ? rUser.id : rUser.LinkId,\r\n\t\t\t\t\"TicketId\": vm.TicketId,\r\n\t\t\t\t\"StartTime\": moment(vm.TicketInfo.StartTime).format('YYYY-MM-DD HH:mm'),\r\n\t\t\t\t\"Endtime\": moment(vm.TicketInfo.EndTime).format('YYYY-MM-DD HH:mm'),\r\n\t\t\t\t\"SuggestedPrice\": rUser.BIDCounterRate,\r\n\t\t\t\t\"AssignPrice\": rUser.BIDCounterRate,\r\n\t\t\t\t\"Distance\": rUser.UserDistance\r\n\t\t\t}\r\n\t\t\tAllUserList.push(data);\r\n\t\t\tif (AllUserList == '') {\r\n\t\t\t\tvm.showFailure(\"Please select users.\")\r\n\t\t\t} else {\r\n\t\t\t\tJobDetailViewNewService.AssignTicketsTimeline(loggedinUser, AllUserList, token).then(function (resp) {\r\n\t\t\t\t\t\r\n\t\t\t\t\tif (resp && resp.status == '200') {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Job Assigned Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t\t// scheduler.clearAll();\r\n\r\n\t\t\t\t\t\t// $timeout(function () {\r\n\t\t\t\t\t\t// vm.mapMarkers=[];\r\n\t\t\t\t\t\t// vm.AssignModal.close();\r\n\t\t\t\t\t\t// GetSchedulingEventforToday(loggedinUser);\r\n\t\t\t\t\t\t// if(vm.TicketStatus==\"New\"){\r\n\t\t\t\t\t\t// \t vm.GetTicketsForAssignation();\r\n\t\t\t\t\t\t// }else if(vm.TicketStatus==\"ReadyToAssign\"){\r\n\t\t\t\t\t\t// \tvm.getReadyToAssign();\r\n\t\t\t\t\t\t// }\r\n\r\n\r\n\t\t\t\t\t\t// }, 1500);\r\n\t\t\t\t\t\t// if(vm.Mode=='Map') {\r\n\t\t\t\t\t\t// $timeout(function () {\r\n\t\t\t\t\t\t// \t vm.mapMarkers=[];\r\n\t\t\t\t\t\t// \t vm.AssignModal.close();\r\n\t\t\t\t\t\t// }, 1500);\r\n\t\t\t\t\t\t// }\r\n\t\t\t\t\t} \r\n\t\t\t\t\telse if (resp.status == 206) {\r\n\t\t\t\t\t\tvm.showFailure('Failed', resp.data.Message);\r\n\t\t\t\t\t }\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tvm.getCustomerJobCard = function () {\r\n\t\t\tJobDetailViewNewService.getCustomerJobCardbyJobId(loggedinUser, vm.TicketId, token, function (data) {\r\n\t\t\t\tvm.JobLatitude = data.JobLatitude;\r\n\t\t\t\tvm.JobLongitude = data.JobLongitude;\r\n\t\t\t\tvm.FELatitude = data.FELatitude;\r\n\t\t\t\tvm.FELongitude = data.FELongitude;\r\n\t\t\t\tvm.contactnumber = data.FEContactNumber;\r\n\t\t\t\tvm.jobtype = data.Description;\r\n\t\t\t\tvm.name = data.FEName;\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t// $log.log(\"res of getCustomerJobCard=\" + data);\r\n\t\t\t\tvm.customerJobCard = data;\r\n\t\t\t\tif ($localStorage.rateJobParams) {\r\n\t\t\t\t\tvm.customerJobCard.userRole = $localStorage.Role;\r\n\t\t\t\t\tvm.customerJobCard.JobStatus = $localStorage.rateJobParams.status;\r\n\t\t\t\t\tvm.customerJobCard.CustomerGivenRating = $localStorage.rateJobParams.rating;\r\n\t\t\t\t\tdelete $localStorage.rateJobParams;\r\n\t\t\t\t}\r\n\t\t\t\tif (data && data.JobStatus == 'PaymentDone') {\r\n\r\n\t\t\t\t}\r\n\r\n\t\t\t\tinitMap();\r\n\t\t\t}, function () {\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Unable to reach server\");\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.getTracking = function () {\r\n\r\n\t\t\tif ((vm.TicketInfo.TicketStatus == 'New' || vm.TicketInfo.TicketStatus == 'Hold' || vm.TicketInfo.TicketStatus == 'Broadcasted' || vm.TicketInfo.TicketStatus == 'ReadyToAssign') && vm.TicketInfo.IsTrackingAllowed == true) {\r\n\t\t\t\tvm.superPower = true;\r\n\t\t\t\tdisplayJobOnMap();\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif( (vm.TicketInfo.TicketStatus == 'Assigned'|| vm.TicketInfo.TicketStatus == 'Rejected' || vm.TicketInfo.TicketStatus == 'Approved' || vm.TicketInfo.TicketStatus == 'Completed' ) && vm.TicketInfo.UserId && vm.TicketInfo.IsTrackingAllowed == true){\r\n\t\t\t\t\tvm.showMapPermision = true;\r\n\t\t\t\t\tvm.superPower = true;\r\n\t\t\t\t}else{\r\n\t\t\t\t\tvm.showMapPermision = false;\r\n\t\t\t\t}\r\n\t\t\t\tvm.getCustomerJobCard();\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\t$scope.slide = false;\r\n\t\tvm.customergetTracking = function () { \r\n\t\t\tcustomerinitMap();\r\n\t\t\tif($scope.slide == false) {\r\n\t\t\t\t$scope.slide = true;\r\n\t\t\t} else {\r\n\t\t\t\t$scope.slide = false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\t// -------------------------------------------------------------------------------\r\n\t\t// Tracking code goes here\r\n\t\t\r\n\t\tvm.makeUserMarker = function (position, icon, map) {\r\n\t\t\tvar marker = new google.maps.Marker({\r\n\t\t\t\tposition: position,\r\n\t\t\t\tmap: map,\r\n\t\t\t\ticon: icon\r\n\t\t\t});\r\n\t\t\t//Adding InfoWindow to the Marker.\r\n\t\t\t(function (marker, customerJobCard) {\r\n\t\t\t\tgoogle.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n\t\t\t\t\t$scope.InfoWindow.setContent(\"

\" + vm.name + \"

\");\r\n\t\t\t\t\t$scope.InfoWindow.open($scope.Map, marker);\r\n\t\t\t\t});\r\n\t\t\t\tgoogle.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n\t\t\t\t\t$scope.InfoWindow.close(vm.Map, marker);\r\n\t\t\t\t});\r\n\t\t\t})(marker, vm.customerJobCard);\r\n\r\n\t\t\t//Plotting the Marker on the Map.\r\n\t\t\t$scope.Latlngbounds.extend(marker.position);\r\n\r\n\t\t}\r\n\r\n\t\tvm.makeJobMarker = function (position, icon, map) {\r\n\t\t\tvar marker = new google.maps.Marker({\r\n\t\t\t\tposition: position,\r\n\t\t\t\tmap: map,\r\n\t\t\t\ticon: icon\r\n\t\t\t});\r\n\t\t\t//Adding InfoWindow to the Marker.\r\n\t\t\t(function (marker, customerJobCard) {\r\n\t\t\t\tgoogle.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n\t\t\t\t\t$scope.InfoWindow.setContent(\"

\" + vm.TicketInfo.ConsumerName + \"

\" + ' ' + vm.TicketInfo.TicketId + \"
\" + ' ' + moment(vm.customerJobCard.JobDateTime).format(\"YYYY-MM-DD HH:mm\") + \"
\" + ' ' + vm.TicketInfo.ConsumerContact);\r\n\t\t\t\t\t$scope.InfoWindow.open($scope.Map, marker);\r\n\t\t\t\t});\r\n\t\t\t\tgoogle.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n\t\t\t\t\t$scope.InfoWindow.close(vm.Map, marker);\r\n\t\t\t\t});\r\n\t\t\t})(marker, vm.customerJobCard);\r\n\r\n\t\t\t//Plotting the Marker on the Map.\r\n\t\t\t$scope.Latlngbounds.extend(marker.position);\r\n\t\t}\r\n\r\n\r\n\t\tvm.customermakeUserMarker = function (position, icon, map) {\r\n\t\t\tvar marker = new google.maps.Marker({\r\n\t\t\t\tposition: position,\r\n\t\t\t\tmap: map,\r\n\t\t\t\ticon: icons.custstart\r\n\t\t\t});\r\n\t\t\t//Adding InfoWindow to the Marker.\r\n\t\t\t(function (marker, customerJobCard) {\r\n\t\t\t\tgoogle.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n\t\t\t\t\t$scope.InfoWindow.setContent(\"

Address updated by customer

\" + ' ' + vm.TicketInfo.OrignalLatitude + \"\" + ' ' + vm.TicketInfo.OrignalLongitude);\t\t\t\t\t$scope.InfoWindow.open($scope.Map, marker);\r\n\t\t\t\t});\r\n\t\t\t\tgoogle.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n\t\t\t\t\t$scope.InfoWindow.close(vm.Map, marker);\r\n\t\t\t\t});\r\n\t\t\t})(marker, vm.customerJobCard);\r\n\r\n\t\t\t//Plotting the Marker on the Map.\r\n\t\t\t$scope.Latlngbounds.extend(marker.position);\r\n\r\n\t\t}\r\n\r\n\t\tvm.customermakeJobMarker = function (position, icon, map) {\r\n\t\t\tvar marker = new google.maps.Marker({\r\n\t\t\t\tposition: position,\r\n\t\t\t\tmap: map,\r\n\t\t\t\ticon: icon\r\n\t\t\t});\r\n\t\t\t//Adding InfoWindow to the Marker.\r\n\t\t\t(function (marker, customerJobCard) {\r\n\t\t\t\tgoogle.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n\t\t\t\t\t$scope.InfoWindow.setContent(\"

\" + vm.TicketInfo.ConsumerName + \"

\" + ' ' + vm.TicketInfo.Latitude + \" \" + ' ' + vm.TicketInfo.Longitude);\t\t\t\t\t$scope.InfoWindow.open($scope.Map, marker);\r\n\t\t\t\t});\r\n\t\t\t\tgoogle.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n\t\t\t\t\t$scope.InfoWindow.close(vm.Map, marker);\r\n\t\t\t\t});\r\n\t\t\t})(marker, vm.customerJobCard);\r\n\r\n\t\t\t//Plotting the Marker on the Map.\r\n\t\t\t$scope.Latlngbounds.extend(marker.position);\r\n\t\t}\r\n\r\n\t\tfunction initMap() {\r\n\t\t\tvar pointA = new google.maps.LatLng(vm.JobLatitude, vm.JobLongitude),\r\n\t\t\t\tpointB = new google.maps.LatLng(vm.FELatitude, vm.FELongitude),\r\n\t\t\t\t// center = new google.maps.LatLng(51.3, 0.8),\r\n\t\t\t\tmyOptions = {\r\n\t\t\t\t\tzoom: 8,\r\n\t\t\t\t\tzoomControl: false,\r\n\t\t\t\t\tscaleControl: true,\r\n\t\t\t\t\tmapTypeControl: false,\r\n\t\t\t\t\tstreetViewControl: false,\r\n\t\t\t\t\tgestureHandling: 'greedy',\r\n\t\t\t\t\t// center: center,\r\n\t\t\t\t\tmapTypeId: google.maps.MapTypeId.ROADMAP\r\n\t\t\t\t},\r\n\r\n\t\t\t\tmap = new google.maps.Map(document.getElementById('map-canvas'), myOptions),\r\n\t\t\t\t// Instantiate a directions service.\r\n\t\t\t\tdirectionsService = new google.maps.DirectionsService,\r\n\t\t\t\tdirectionsDisplay = new google.maps.DirectionsRenderer({\r\n\t\t\t\t\tmap: map\r\n\t\t\t\t}),\r\n\t\t\t\tduration = document.getElementById('duration');\r\n\t\t\tdistance = document.getElementById('distance');\r\n\t\t\tflightPath = new google.maps.Polyline({\r\n\t\t\t\tpath: [pointA, pointB],\r\n\t\t\t\t// geodesic: true,\r\n\t\t\t\tstrokeColor: 'red',\r\n\t\t\t});\r\n\t\t\t$scope.InfoWindow = new google.maps.InfoWindow();\r\n\t\t\t$scope.Latlngbounds = new google.maps.LatLngBounds();\r\n\t\t\t// click on marker B to get route from A to B\r\n\t\t\tcalculateAndDisplayRoute(directionsService, directionsDisplay, pointA, pointB, distance, duration, map);\r\n\t\t\tvar travelMode = \"DRIVING\";\r\n\t\t\tvar icon = \"https://img.icons8.com/color/96/000000/street-view.png\";\r\n\t\t}\r\n\r\n\r\n\t\tfunction customerinitMap() {\r\n\t\t\tvar orgLat = vm.TicketInfo.OrignalLatitude;\r\n\t\t\tvar orgLong = vm.TicketInfo.OrignalLongitude;\r\n\t\t\tvar origLatLong = new google.maps.LatLng(vm.TicketInfo.Latitude, vm.TicketInfo.Longitude);\r\n\t\t\tvar custUpdatedLatLong = new google.maps.LatLng(vm.TicketInfo.OrignalLatitude, vm.TicketInfo.OrignalLongitude);\r\n\t\t\t// function custUpdatedLatLong(orgLat) {\r\n\t\t\t// \treturn isFinite(orgLat) && Math.abs(orgLat) <= 90;\r\n\t\t\t// }\r\n\t\t\t \r\n\t\t\t// function custUpdatedLatLong(orgLong) {\r\n\t\t\t// \treturn isFinite(orgLong) && Math.abs(orgLong) <= 180;\r\n\t\t\t// }\r\n\t\t\t// const regexExp = /^((\\-?|\\+?)?\\d+(\\.\\d+)?),\\s*((\\-?|\\+?)?\\d+(\\.\\d+)?)$/gi;\r\n\t\t\tif((orgLat > 0 && orgLat <= 90) && (orgLong > 0 && orgLong <= 180)) {\r\n\t\t\t\tvar myOptions = {\r\n\t\t\t\t\tzoom: 8,\r\n\t\t\t\t\tzoomControl: false,\r\n\t\t\t\t\tscaleControl: true,\r\n\t\t\t\t\tmapTypeControl: false,\r\n\t\t\t\t\tstreetViewControl: false,\r\n\t\t\t\t\tgestureHandling: 'greedy',\r\n\t\t\t\t\t// center: center,\r\n\t\t\t\t\tmapTypeId: google.maps.MapTypeId.ROADMAP\r\n\t\t\t\t},\r\n\r\n\t\t\t\tmap = new google.maps.Map(document.getElementById('map-canvas'), myOptions),\r\n\t\t\t\t// Instantiate a directions service.\r\n\t\t\t\tdirectionsService = new google.maps.DirectionsService,\r\n\t\t\t\tdirectionsDisplay = new google.maps.DirectionsRenderer({\r\n\t\t\t\t\tmap: map\r\n\t\t\t\t}),\r\n\t\t\t\tduration = document.getElementById('duration');\r\n\t\t\t\tdistance = document.getElementById('distance');\r\n\t\t\t\tflightPath = new google.maps.Polyline({\r\n\t\t\t\t\tpath: [origLatLong, custUpdatedLatLong],\r\n\t\t\t\t\tstrokeColor: 'red',\r\n\t\t\t\t});\r\n\t\t\t\t$scope.InfoWindow = new google.maps.InfoWindow();\r\n\t\t\t\t$scope.Latlngbounds = new google.maps.LatLngBounds();\r\n\t\t\t\tcustcalculateAndDisplayRoute(directionsService, directionsDisplay, origLatLong, custUpdatedLatLong, distance, duration, map);\r\n\t\t\t\tvar travelMode = \"DRIVING\";\r\n\t\t\t\tvar icon = \"https://img.icons8.com/color/96/000000/street-view.png\";\r\n\t\t\t} else {\r\n\t\t\t\tvar mapOptions = {\r\n\t\t\t\t\tzoom: 15,\r\n\t\t\t\t\tscaleControl: true,\r\n\t\t\t\t\tgestureHandling: 'greedy',\r\n\t\t\t\t\tmapTypeId: google.maps.MapTypeId.ROADMAP,\r\n\t\t\t\t\tcenter: origLatLong\r\n\t\t\t\t}\r\n\t\t\t\tvar map = new google.maps.Map(document.getElementById(\"map-canvas\"), mapOptions);\r\n\t\r\n\t\t\t\tvar marker = new google.maps.Marker({\r\n\t\t\t\t\tposition: origLatLong,\r\n\t\t\t\t\ticon: icons.start\r\n\t\t\t\t});\r\n\t\r\n\t\t\t\t$scope.InfoWindow = new google.maps.InfoWindow();\r\n\t\t\t\t$scope.Latlngbounds = new google.maps.LatLngBounds();\r\n\t\r\n\t\t\t\tvar ticketinformation = vm.TicketInfo;\r\n\t\r\n\t\t\t\t//Adding InfoWindow to the Marker.\r\n\t\t\t\t(function (marker, ticketinformation) {\r\n\t\t\t\t\tgoogle.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n\t\t\t\t\t\t$scope.InfoWindow.setContent(\"

Original Address

\" + ' ' + vm.TicketInfo.Latitude + ' ' + \" \"+ ' ' + vm.TicketInfo.Longitude);\r\n\t\t\t\t\t\t$scope.InfoWindow.open(map, marker);\r\n\t\t\t\t\t});\r\n\t\t\t\t\tgoogle.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n\t\t\t\t\t\t$scope.InfoWindow.close(map, marker);\r\n\t\t\t\t\t});\r\n\t\t\t\t})(marker, ticketinformation);\r\n\t\r\n\t\t\t\t// To add the marker to the map, call setMap();\r\n\t\t\t\tmarker.setMap(map);\t\t\t\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tfunction calculateAndDisplayRoute(directionsService, directionsDisplay, pointA, pointB, distance, duration, map) {\r\n\t\t\tvar selectedMode = \"DRIVING\";\r\n\t\t\tdirectionsService.route({\r\n\t\t\t\torigin: pointA,\r\n\t\t\t\tdestination: pointB,\r\n\t\t\t\tunitSystem: google.maps.UnitSystem.METRIC,\r\n\t\t\t\ttravelMode: google.maps.TravelMode[selectedMode]\r\n\t\t\t}, function (response, status) {\r\n\t\t\t\tif (status == google.maps.DirectionsStatus.OK) {\r\n\t\t\t\t\tnew google.maps.DirectionsRenderer({\r\n\t\t\t\t\t\tmap: map,\r\n\t\t\t\t\t\tdirections: response,\r\n\t\t\t\t\t\tsuppressMarkers: true,\r\n\t\t\t\t\t\tpolylineOptions: {\r\n\t\t\t\t\t\t\tstrokeColor: \"#000000\"\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tvar leg = response.routes[0].legs[0];\r\n\t\t\t\t\t//outputTxt.innerHTML =(response.routes[0].legs[0].distance.value/1000) + \" Kms\";\r\n\t\t\t\t\tdistance.innerHTML = response.routes[0].legs[0].distance.text;\r\n\t\t\t\t\tduration.innerHTML = response.routes[0].legs[0].duration.text;\r\n\t\t\t\t\tvm.distance = response.routes[0].legs[0].distance.value / 1000;\r\n\t\t\t\t\tvm.makeJobMarker(leg.start_location, icons.start, map);\r\n\t\t\t\t\tvm.makeUserMarker(leg.end_location, icons.end, map);\r\n\t\t\t\t} else {\r\n\t\t\t\t\twindow.alert('Directions request failed due to ' + status);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\r\n\t\tfunction custcalculateAndDisplayRoute(directionsService, directionsDisplay, origLatLong, custUpdatedLatLong, distance, duration, map) {\r\n\t\t\tvar selectedMode = \"DRIVING\";\r\n\t\t\tdirectionsService.route({\r\n\t\t\t\torigin: origLatLong,\r\n\t\t\t\tdestination: custUpdatedLatLong,\r\n\t\t\t\tunitSystem: google.maps.UnitSystem.METRIC,\r\n\t\t\t\ttravelMode: google.maps.TravelMode[selectedMode]\r\n\t\t\t}, function (response, status) {\r\n\t\t\t\tif (status == google.maps.DirectionsStatus.OK) {\r\n\t\t\t\t\tnew google.maps.DirectionsRenderer({\r\n\t\t\t\t\t\tmap: map,\r\n\t\t\t\t\t\tdirections: response,\r\n\t\t\t\t\t\tsuppressMarkers: true,\r\n\t\t\t\t\t\tpolylineOptions: {\r\n\t\t\t\t\t\t\tstrokeColor: \"#000000\"\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tvar leg = response.routes[0].legs[0];\r\n\t\t\t\t\t//outputTxt.innerHTML =(response.routes[0].legs[0].distance.value/1000) + \" Kms\";\r\n\t\t\t\t\tdistance.innerHTML = response.routes[0].legs[0].distance.text;\r\n\t\t\t\t\tduration.innerHTML = response.routes[0].legs[0].duration.text;\r\n\t\t\t\t\tvm.distance = response.routes[0].legs[0].distance.value / 1000;\r\n\t\t\t\t\tvm.customermakeJobMarker(leg.start_location\t, icons.start, map);\r\n\t\t\t\t\tvm.customermakeUserMarker(leg.start_location, icons.custstart, map);\r\n\r\n\t\t\t\tvm.customermakeJobMarker = function (position, icon, map) {\r\n\t\t\t\t\tvar marker = new google.maps.Marker({\r\n\t\t\t\t\t\tposition: position,\r\n\t\t\t\t\t\tmap: map,\r\n\t\t\t\t\t\ticon: icons.start\r\n\t\t\t\t\t});\r\n\t\t\t\t\t//Adding InfoWindow to the Marker.\r\n\t\t\t\t\t(function (marker, customerJobCard) {\r\n\t\t\t\t\t\tgoogle.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n\t\t\t\t\t\t$scope.InfoWindow.setContent(\"

Original Address

\" + ' ' + vm.TicketInfo.Latitude + \"\" + ' ' + vm.TicketInfo.Longitude);\t\t\t\t\t$scope.InfoWindow.open($scope.Map, marker);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tgoogle.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n\t\t\t\t\t\t\t$scope.InfoWindow.close(vm.Map, marker);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t})(marker, vm.customerJobCard);\r\n\r\n\t\t\t\t\t//Plotting the Marker on the Map.\r\n\t\t\t\t\t$scope.Latlngbounds.extend(marker.position);\r\n\t\t\t\t}\r\n\t\t\t\t(leg.end_location, icons.end, map);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\twindow.alert('Directions request failed due to ' + status);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\tvar icons = {\r\n\t\t\tstart: new google.maps.MarkerImage(\r\n\t\t\t\t// URL\r\n\t\t\t\tUIURL + '/assets/images/patterns/JOb_icon.png',\r\n\t\t\t\t// (width,height)\r\n\t\t\t\tnew google.maps.Size(44, 32),\r\n\t\t\t\t// The origin point (x,y)\r\n\t\t\t\tnew google.maps.Point(0, 0),\r\n\t\t\t\t// The anchor point (x,y)\r\n\t\t\t\tnew google.maps.Point(22, 32)),\r\n\t\t\tcuststart: new google.maps.MarkerImage(\r\n\t\t\t\t\t// URL\r\n\t\t\t\t\tUIURL + '/assets/images/patterns/about.png',\r\n\t\t\t\t\t// (width,height)\r\n\t\t\t\t\tnew google.maps.Size(44, 32),\r\n\t\t\t\t\t// The origin point (x,y)\r\n\t\t\t\t\tnew google.maps.Point(0, 0),\r\n\t\t\t\t\t// The anchor point (x,y)\r\n\t\t\t\t\tnew google.maps.Point(22, 32)),\r\n\t\t\tend: new google.maps.MarkerImage(\r\n\t\t\t\t// URL\r\n\t\t\t\tUIURL + '/assets/images/patterns/delivery-man1.png',\r\n\t\t\t\t// (width,height)\r\n\t\t\t\tnew google.maps.Size(44, 32),\r\n\t\t\t\t// The origin point (x,y)\r\n\t\t\t\tnew google.maps.Point(0, 0),\r\n\t\t\t\t// The anchor point (x,y)\r\n\t\t\t\tnew google.maps.Point(22, 32))\r\n\t\t};\r\n\r\n\r\n\t\tdisplayJobOnMap = function () {\r\n\t\t\tsetTimeout(function () {\r\n\t\t\t\tShowJobOnMap();\r\n\t\t\t}, 500);\r\n\t\t};\r\n\r\n\t\tfunction ShowJobOnMap() {\r\n\t\t\tvar pointA = new google.maps.LatLng(vm.TicketInfo.Latitude, vm.TicketInfo.Longitude);\r\n\t\t\t//var myLatlng = new google.maps.LatLng(-25.363882,131.044922);\r\n\t\t\tvar mapOptions = {\r\n\t\t\t\tzoom: 15,\r\n\t\t\t\tscaleControl: true,\r\n\t\t\t\tgestureHandling: 'greedy',\r\n\t\t\t\tmapTypeId: google.maps.MapTypeId.ROADMAP,\r\n\t\t\t\tcenter: pointA\r\n\t\t\t}\r\n\t\t\tvar map = new google.maps.Map(document.getElementById(\"map-canvas\"), mapOptions);\r\n\r\n\t\t\tvar marker = new google.maps.Marker({\r\n\t\t\t\tposition: pointA,\r\n\t\t\t\ticon: icons.start\r\n\t\t\t});\r\n\r\n\t\t\t$scope.InfoWindow = new google.maps.InfoWindow();\r\n\t\t\t$scope.Latlngbounds = new google.maps.LatLngBounds();\r\n\r\n\t\t\tvar ticketinformation = vm.TicketInfo;\r\n\r\n\t\t\t//Adding InfoWindow to the Marker.\r\n\t\t\t(function (marker, ticketinformation) {\r\n\t\t\t\tgoogle.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n\t\t\t\t\t$scope.InfoWindow.setContent(\"

\" + vm.TicketInfo.ConsumerName + \"

\" + ' ' + vm.TicketInfo.ConsumerContact);\r\n\t\t\t\t\t$scope.InfoWindow.open(map, marker);\r\n\t\t\t\t});\r\n\t\t\t\tgoogle.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n\t\t\t\t\t$scope.InfoWindow.close(map, marker);\r\n\t\t\t\t});\r\n\t\t\t})(marker, ticketinformation);\r\n\r\n\t\t\t// To add the marker to the map, call setMap();\r\n\t\t\tmarker.setMap(map);\r\n\r\n\t\t}\r\n\r\n\t\t// Start chat section and developed by Satya\r\n\r\n\t\tvm.getPicUrl = function (pic) {\r\n\t\t\treturn ImageUrl + \"/\" + pic;\r\n\t\t}\r\n\t\tvar pageloadselecteduserid = \"\";\r\n\t\tvar pageloadselectedusername = \"\";\r\n\t\tvm.getTicketUserList = function (loggedinUser, ticketId, token) {\r\n\t\t\tJobDetailViewNewService.GetUsersByTicketId(loggedinUser, ticketId, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\tvm.UserListByTicketId = resp.data;\r\n\t\t\t\t\tif (resp.data.length > 0) {\r\n\t\t\t\t\t\t//chatfooterrow.visible=true;\r\n\t\t\t\t\t\tpageloadselecteduserid = resp.data[0].UserId;\r\n\t\t\t\t\t\tpageloadselectedusername = resp.data[0].FirstName + \" \" + resp.data[0].LastName;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t\tvm.getTicketUserList(loggedinUser, uTicketId, token);\r\n\t\tvm.PressEnter = function (event, chatReceiverId, messageText) {\r\n\t\t\tif (event.keyCode == '13') {\r\n\t\t\t\tvm.sendMessage(chatReceiverId, messageText);\r\n\t\t\t}\r\n\t\t}\r\n\t\tvm.LoadMessageToReadMessageStatus = function (TicketIdtoRead) {\r\n\t\t\tif (!TicketIdtoRead) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tvar query = firebase.firestore().collection('chats')\r\n\t\t\t\t.where(\"ReceiverId\", \"==\", loggedinUser);\r\n\t\t\tvar query1 = query.where(\"TicketId\", \"==\", TicketIdtoRead);\r\n\t\t\tquery1.get().then(function (querySnapshot) {\r\n\t\t\t\tif (querySnapshot.docs.length > 0) {\r\n\t\t\t\t\tquerySnapshot.forEach(function (doc) {\r\n\t\t\t\t\t\tvar message = doc.data();\r\n\t\t\t\t\t\tvar NotifyLength = message.Notify.length;\r\n\t\t\t\t\t\tvar MessageStatusLength = message.MessageStatus.length;\r\n\t\t\t\t\t\tvar messageLength = message.messages.length;\r\n\t\t\t\t\t\tvar TotalNewMessageNotify = messageLength - NotifyLength;\r\n\t\t\t\t\t\tvar TotalNewMessageStatus = messageLength - MessageStatusLength;\r\n\t\t\t\t\t\tvar docRef = firebase.firestore().collection('chats').doc(doc.id);\r\n\t\t\t\t\t\tvar newMessageStatusLength = 0;\r\n\t\t\t\t\t\tvar newNotifyLength = 0;\r\n\t\t\t\t\t\tfor (var i = 0; i < TotalNewMessageStatus; i++) {\r\n\t\t\t\t\t\t\tif (newMessageStatusLength == 0)\r\n\t\t\t\t\t\t\t\tnewMessageStatusLength = MessageStatusLength + 1;\r\n\t\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t\tnewMessageStatusLength = newMessageStatusLength + 1;\r\n\r\n\t\t\t\t\t\t\tdocRef.update({ MessageStatus: firebase.firestore.FieldValue.arrayUnion(newMessageStatusLength) });\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tfor (var i = 0; i < TotalNewMessageNotify; i++) {\r\n\t\t\t\t\t\t\tif (newNotifyLength == 0)\r\n\t\t\t\t\t\t\t\tnewNotifyLength = NotifyLength + 1;\r\n\t\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t\tnewNotifyLength = newNotifyLength + 1;\r\n\r\n\t\t\t\t\t\t\tdocRef.update({ Notify: firebase.firestore.FieldValue.arrayUnion(newNotifyLength) });\r\n\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tvar activeonchat = false;\r\n\t\tvm.getChatOnPageLoad = function () {\r\n\t\t\tactiveonchat = true;\r\n\t\t\tvm.getUserChat(pageloadselecteduserid, pageloadselectedusername, 0);\r\n\t\t}\r\n\r\n\t\tvm.getUserDetailstochat = function (ChatUserId) {\r\n\t\t\tvar username = \"\";\r\n\t\t\tvar upicture = \"\";\r\n\t\t\tfor (var i = 0; i < vm.UserListByTicketId.length; i++) {\r\n\t\t\t\tif (vm.UserListByTicketId[i].UserId == ChatUserId) {\r\n\t\t\t\t\tusername = vm.UserListByTicketId[i].FirstName + \" \" + vm.UserListByTicketId[i].LastName;\r\n\t\t\t\t\tupicture = vm.UserListByTicketId[i].Picture == '' || vm.UserListByTicketId[i].Picture == null ? 'assets/images/patterns/photo2.jpg' : vm.getPicUrl(vm.UserListByTicketId[i].Picture);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn {\r\n\t\t\t\tUserName: username,\r\n\t\t\t\tuPicture: upicture\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t\tvm.PreviousIndex = 0;\r\n\t\tvar currentelementId = \"\";\r\n\t\tvar previouselementId = \"\";\r\n\t\tvm.chatReceiverId = \"\";\r\n\t\tvm.getUserChat = function (chatUserId, chatUserName, index) {\r\n\t\t\tvm.chatDisplayUserName = chatUserName;\r\n\t\t\tvm.chatReceiverId = chatUserId;\r\n\t\t\tvar ChatTicketId = \"\";\r\n\t\t\tif (loggedinUser < chatUserId)\r\n\t\t\t\tChatTicketId = uTicketId + \"_\" + loggedinUser + \"_\" + chatUserId;\r\n\t\t\telse\r\n\t\t\t\tChatTicketId = uTicketId + \"_\" + chatUserId + \"_\" + loggedinUser;\r\n\r\n\t\t\tvm.loadMessages(ChatTicketId);\r\n\r\n\t\t\tvm.LoadMessageToReadMessageStatus(ChatTicketId);\r\n\r\n\t\t\tif (vm.PreviousIndex == 0) {\r\n\t\t\t\tpreviouselementId = '#DivChatUserList' + vm.PreviousIndex;\r\n\t\t\t\t$(previouselementId).removeClass('chatuseractive');\r\n\t\t\t\tvm.PreviousIndex = index;\r\n\t\t\t\tcurrentelementId = '#DivChatUserList' + index;\r\n\t\t\t\t$(currentelementId).addClass('chatuseractive');\r\n\t\t\t}\r\n\t\t\telse if (vm.PreviousIndex != index) {\r\n\t\t\t\tcurrentelementId = '#DivChatUserList' + index;\r\n\t\t\t\tpreviouselementId = '#DivChatUserList' + vm.PreviousIndex;\r\n\t\t\t\t$(previouselementId).removeClass('chatuseractive');\r\n\t\t\t\t$(currentelementId).addClass('chatuseractive');\r\n\t\t\t\tvm.PreviousIndex = index;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tvm.getFileType = function(url){\r\n\t\t\tif(url==null || url==\"\")\r\n\t\t\t{\r\n\t\t\t return \"others\";\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tif(url.indexOf(\".jpg\")>=0 || url.indexOf(\".jpeg\")>=0 || url.indexOf(\".png\")>=0 || url.indexOf(\".bmp\")>=0 ||url.indexOf(\".JPG\")>=0 || url.indexOf(\".JPEG\")>=0 || url.indexOf(\".PNG\")>=0 || url.indexOf(\".BMP\")>=0){\r\n\t\t\t\t\treturn \"image\";\r\n\t\t\t\t} else if(url.indexOf(\".pdf\")>=0 || url.indexOf(\".PDF\")>=0){\r\n\t\t\t\t\treturn \"pdf\";\r\n\t\t\t\t} else if(url.indexOf(\".xls\")>=0 || url.indexOf(\".xlsx\")>=0 ||url.indexOf(\".XLS\")>=0 || url.indexOf(\".XLSX\")>=0){\r\n\t\t\t\t return \"xls\"; \r\n\t\t\t\t} else if(url.indexOf(\".doc\")>=0 || url.indexOf(\".docx\")>=0 || url.indexOf(\".DOC\")>=0 || url.indexOf(\".DOCX\")>=0){\r\n\t\t\t\t\treturn \"doc\";\r\n\t\t\t\t} \r\n\t\t\t\telse {\r\n\t\t\t\t\treturn \"others\";\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t }\r\n\r\n\t\t vm.ViewJobCombo = function (ticket){ \r\n\t\t\t\t$localStorage.backToOldJobList = '';\r\n\t\t\t\t$localStorage.previousPage = 'jobticketcopy';\r\n\t\t\t\t$state.go('index.JobDetailViewCombo', {\r\n\t\t\t\t\tticketId: ticket\r\n\t\t\t\t}); \r\n\t\t\t}\r\n\r\n\r\n\t\tvm.createMessages = function (ticketId, subMessagedata, chatreceiverid) {\r\n\t\t\tvar data = {\r\n\t\t\t\tTicketId: ticketId,\r\n\t\t\t\tNotify: [],\r\n\t\t\t\tMessageStatus: [],\r\n\t\t\t\tReceiverId: chatreceiverid,\r\n\t\t\t\tCreateDate: firebase.firestore.FieldValue.serverTimestamp(),\r\n\t\t\t\tmessages: [subMessagedata]\r\n\t\t\t};\r\n\t\t\tvar docRef = firebase.firestore().collection('chats').add(data);\r\n\t\t}\r\n\r\n\t\tvm.sendMessage = function (chatreceiverid, content) {\r\n\t\t\tif (!content) {\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Please enter message to chat.\");\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvar ChatTicketId = \"\";\r\n\t\t\t\tif (loggedinUser < chatreceiverid)\r\n\t\t\t\t\tChatTicketId = uTicketId + \"_\" + loggedinUser + \"_\" + chatreceiverid;\r\n\t\t\t\telse\r\n\t\t\t\t\tChatTicketId = uTicketId + \"_\" + chatreceiverid + \"_\" + loggedinUser;\r\n\r\n\t\t\t\t//var status = 'New';\r\n\t\t\t\tvar url = '';\r\n\t\t\t\tvar messagetype = 'Text';\r\n\r\n\t\t\t\tvar subMessagedata = {\r\n\t\t\t\t\tSenderId: loggedinUser,\r\n\t\t\t\t\tReceiverId: chatreceiverid,\r\n\t\t\t\t\tUrl: url,\r\n\t\t\t\t\tMessageType: messagetype,\r\n\t\t\t\t\tTimestamp: new Date(),\r\n\t\t\t\t\tContent: content\r\n\t\t\t\t};\r\n\r\n\t\t\t\tvar query = firebase.firestore().collection(\"chats\")\r\n\t\t\t\t\t.where(\"TicketId\", \"==\", ChatTicketId);\r\n\r\n\t\t\t\tquery.get().then(function (querySnapshot) {\r\n\t\t\t\t\tif (querySnapshot.docs.length > 0) {\r\n\t\t\t\t\t\tquerySnapshot.forEach(function (doc) {\r\n\r\n\t\t\t\t\t\t\tif (doc.data().TicketId == ChatTicketId) {\r\n\t\t\t\t\t\t\t\tvar docRef = firebase.firestore().collection('chats').doc(doc.id);\r\n\t\t\t\t\t\t\t\tdocRef.update({ ReceiverId: chatreceiverid });\r\n\t\t\t\t\t\t\t\tdocRef.update({ messages: firebase.firestore.FieldValue.arrayUnion(subMessagedata) });\r\n\t\t\t\t\t\t\t\t//vm.LoadMessageToReadMessageStatus(ChatTicketId);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\tvm.createMessages(ChatTicketId, subMessagedata, chatreceiverid);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.createMessages(ChatTicketId, subMessagedata, chatreceiverid);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tcontent = \"\";\r\n\t\t\tvm.messageText = \"\";\r\n\t\t}\r\n\r\n\t\t// Loads chat messages history and listens for upcoming ones.\r\n\t\tvm.loadMessages = function (chatticketid) {\r\n\t\t\tvar query = firebase.firestore()\r\n\t\t\t\t.collection('chats')\r\n\t\t\t\t.where(\"TicketId\", \"==\", chatticketid)\r\n\t\t\t\t.limit(1);\r\n\t\t\t// Start listening to the query.\r\n\t\t\tvar unsubscribe = query.onSnapshot(function (snapshot) {\r\n\t\t\t\tvar allMessage = \"\";\r\n\t\t\t\tsnapshot.docChanges().forEach(function (change) {\r\n\r\n\t\t\t\t\tif (change.type === 'removed') {\r\n\t\t\t\t\t\t// deleteMessage(change.doc.id);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvar message = change.doc.data();\r\n\r\n\t\t\t\t\t\tallMessage = \"
\";\r\n\t\t\t\t\t\tfor (var i = 0; i < message.messages.length; i++) {\r\n\t\t\t\t\t\t\tif (message.messages.length > 0) {\r\n\t\t\t\t\t\t\t\tvar uPicture = loggedinUserImage == '' || loggedinUserImage == null ? 'assets/images/patterns/photo2.jpg' : vm.getPicUrl(loggedinUserImage);\r\n\t\t\t\t\t\t\t\tif (message.messages[i].SenderId == loggedinUser) {\r\n\t\t\t\t\t\t\t\t\tvar Rightcontent = \"\";\r\n\t\t\t\t\t\t\t\t\tif (message.messages[i].MessageType == \"Text\")\r\n\t\t\t\t\t\t\t\t\t\tRightcontent = \"\" + message.messages[i].Content + \"\"\r\n\r\n\t\t\t\t\t\t\t\t\tvar RightuploadImage = \"\";\r\n\t\t\t\t\t\t\t\t\tif (message.messages[i].MessageType == \"Image\") {\r\n\t\t\t\t\t\t\t\t\t\tRightuploadImage += \"\"\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tvar Rightuploadpdf = \"\";\r\n\t\t\t\t\t\t\t\t\tif (message.messages[i].MessageType == \"PDF\")\r\n\t\t\t\t\t\t\t\t\t\tRightuploadpdf = \"\"\r\n\t\t\t\t\t\t\t\t\tvar Rightuploadvideo = \"\";\r\n\t\t\t\t\t\t\t\t\tif (message.messages[i].MessageType == \"Video\")\r\n\t\t\t\t\t\t\t\t\t\tRightuploadvideo = \"
\"\r\n\r\n\t\t\t\t\t\t\t\t\tallMessage += \"
\"\r\n\t\t\t\t\t\t\t\t\t\t+ \"\"\r\n\t\t\t\t\t\t\t\t\t\t+ \"
\"\r\n\t\t\t\t\t\t\t\t\t\t+ \" \" + loggedinUserName + \" \"\r\n\t\t\t\t\t\t\t\t\t\t+ \" \" + moment.unix(message.messages[i].Timestamp.seconds).format(\"ddd MMM DD YYYY - h:mm:ss\") + \"\"\r\n\t\t\t\t\t\t\t\t\t\t+ Rightcontent\r\n\t\t\t\t\t\t\t\t\t\t+ RightuploadImage\r\n\t\t\t\t\t\t\t\t\t\t+ Rightuploadpdf\r\n\t\t\t\t\t\t\t\t\t\t+ Rightuploadvideo\r\n\t\t\t\t\t\t\t\t\t\t+ \"
\"\r\n\t\t\t\t\t\t\t\t\t\t+ \"
\"\r\n\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse if (message.messages[i].ReceiverId == loggedinUser) {\r\n\t\t\t\t\t\t\t\t\tvar Leftcontent = \"\";\r\n\t\t\t\t\t\t\t\t\tif (message.messages[i].MessageType == \"Text\")\r\n\t\t\t\t\t\t\t\t\t\tLeftcontent = \"\" + message.messages[i].Content + \"\"\r\n\r\n\t\t\t\t\t\t\t\t\tvar LeftuploadImage = \"\";\r\n\t\t\t\t\t\t\t\t\tif (message.messages[i].MessageType == \"Image\") {\r\n\t\t\t\t\t\t\t\t\t\tLeftuploadImage += \"\"\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tvar Leftuploadpdf = \"\";\r\n\t\t\t\t\t\t\t\t\tif (message.messages[i].MessageType == \"PDF\")\r\n\t\t\t\t\t\t\t\t\t\tLeftuploadpdf = \"\"\r\n\t\t\t\t\t\t\t\t\tvar Leftuploadvideo = \"\";\r\n\t\t\t\t\t\t\t\t\tif (message.messages[i].MessageType == \"Video\")\r\n\t\t\t\t\t\t\t\t\t\tLeftuploadvideo = \"
\"\r\n\r\n\t\t\t\t\t\t\t\t\tallMessage += \"
\"\r\n\t\t\t\t\t\t\t\t\t\t+ \"\"\r\n\t\t\t\t\t\t\t\t\t\t+ \"
\"\r\n\t\t\t\t\t\t\t\t\t\t+ \" \" + vm.getUserDetailstochat(message.messages[i].SenderId).UserName + \"\"\r\n\t\t\t\t\t\t\t\t\t\t+ \" \" + moment.unix(message.messages[i].Timestamp.seconds).format(\"ddd MMM DD YYYY - h:mm:ss\") + \"\"\r\n\t\t\t\t\t\t\t\t\t\t+ Leftcontent\r\n\t\t\t\t\t\t\t\t\t\t+ LeftuploadImage\r\n\t\t\t\t\t\t\t\t\t\t+ Leftuploadpdf\r\n\t\t\t\t\t\t\t\t\t\t+ Leftuploadvideo\r\n\t\t\t\t\t\t\t\t\t\t+ \"
\"\r\n\t\t\t\t\t\t\t\t\t\t+ \"
\"\r\n\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tallMessage += \"
\";\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\t$('#chatMessageBox').html(allMessage);\r\n\t\t\t\tallMessage = \"\";\r\n\t\t\t\tvar objDiv = document.getElementById(\"scrolldiv\");\r\n\t\t\t\tobjDiv.scrollTop = objDiv.scrollHeight;\r\n\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.saveImageMessage = function (file, chatreceiverid) {\r\n\t\t\t// TODO 9: Posts a new image as a message.\r\n\t\t\t// 1 - We add a message with a loading icon that will get updated with the shared image.\r\n\t\t\tvar ChatTicketId = \"\";\r\n\t\t\tif (loggedinUser < chatreceiverid)\r\n\t\t\t\tChatTicketId = uTicketId + \"_\" + loggedinUser + \"_\" + chatreceiverid;\r\n\t\t\telse\r\n\t\t\t\tChatTicketId = uTicketId + \"_\" + chatreceiverid + \"_\" + loggedinUser;\r\n\r\n\t\t\tvar query = firebase.firestore().collection(\"chats\")\r\n\t\t\t\t.where(\"TicketId\", \"==\", ChatTicketId)\r\n\r\n\t\t\tquery.get().then(function (querySnapshot) {\r\n\t\t\t\tif (querySnapshot.docs.length > 0) {\r\n\t\t\t\t\tquerySnapshot.forEach(function (doc) {\r\n\t\t\t\t\t\tif (doc.data().TicketId == ChatTicketId) {\r\n\t\t\t\t\t\t\t//var status = 'New';\r\n\t\t\t\t\t\t\tvar url = '';\r\n\t\t\t\t\t\t\tvar messagetype = '';\r\n\t\t\t\t\t\t\tif (file.type == \"application/pdf\")\r\n\t\t\t\t\t\t\t\tmessagetype = 'PDF';\r\n\t\t\t\t\t\t\telse if (file.type == \"image/jpg\" || file.type == \"image/png\" || file.type == \"image/jpeg\" || file.type == \"image/bmp\")\r\n\t\t\t\t\t\t\t\tmessagetype = 'Image';\r\n\t\t\t\t\t\t\telse if (file.type == \"video/mp4\")\r\n\t\t\t\t\t\t\t\tmessagetype = 'Video';\r\n\r\n\t\t\t\t\t\t\tvar filePath = loggedinUser + '/' + doc.id + '/' + file.name;\r\n\t\t\t\t\t\t\treturn firebase.storage().ref(filePath).put(file).then(function (fileSnapshot) {\r\n\t\t\t\t\t\t\t\t// 3 - Generate a public URL for the file.\r\n\t\t\t\t\t\t\t\treturn fileSnapshot.ref.getDownloadURL().then(function (url) {\r\n\t\t\t\t\t\t\t\t\t// 4 - Update the chat message placeholder with the image's URL.\r\n\t\t\t\t\t\t\t\t\tvar subMessagedata = {\r\n\t\t\t\t\t\t\t\t\t\tSenderId: loggedinUser,\r\n\t\t\t\t\t\t\t\t\t\tReceiverId: chatreceiverid,\r\n\t\t\t\t\t\t\t\t\t\tUrl: url,\r\n\t\t\t\t\t\t\t\t\t\tMessageType: messagetype,\r\n\t\t\t\t\t\t\t\t\t\tTimestamp: new Date(),\r\n\t\t\t\t\t\t\t\t\t\tContent: '',\r\n\t\t\t\t\t\t\t\t\t\tstorageUri: fileSnapshot.metadata.fullPath\r\n\t\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\t\tvar docRef = firebase.firestore().collection('chats').doc(doc.id);\r\n\t\t\t\t\t\t\t\t\tdocRef.update({ ReceiverId: chatreceiverid });\r\n\t\t\t\t\t\t\t\t\treturn docRef.update({ messages: firebase.firestore.FieldValue.arrayUnion(subMessagedata) });\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.changeChatFile = function (selector) {\r\n\t\t\tangular.element(selector).trigger(\"click\");\r\n\t\t}\r\n\t\t$scope.uploadChatImageFile = function (files) {\r\n\t\t\tvar file = files.files[0];\r\n\t\t\tif (file.type.indexOf(\"image/jpg\") >= 0 || file.type.indexOf(\"image/png\") >= 0 || file.type.indexOf(\"image/bmp\") >= 0 || file.type.indexOf(\"image/jpeg\") >= 0 || file.type.indexOf(\"application/pdf\") >= 0) {\r\n\t\t\t\tif (file.size > 2097152) {\r\n\t\t\t\t\talert(\"File size must under 2 MB\");\r\n\t\t\t\t\treturn;\r\n\t\t\t\t} else vm.saveImageMessage(file, vm.chatReceiverId);\r\n\t\t\t}\r\n\t\t\telse if (file.type.indexOf(\"video/mp4\") >= 0) {\r\n\t\t\t\tvm.saveImageMessage(file, vm.chatReceiverId);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t\r\n\t\t\t\talert(\"Please upload image, pdf and mp4 video only\");\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\t// End chat section\r\n\r\n\r\n\t\tvar scdt = new Date();\r\n\t\tscdt.setMinutes(scdt.getMinutes() + 30);\r\n\t\tvm.SourceCreationDate = scdt;\r\n\t\tvar pcdt = new Date();\r\n\t\tpcdt.setDate(pcdt.getDate() + 7);\r\n\t\tvm.PlannedClosureDate = pcdt;\r\n\r\n\t\tvm.openCalendar = function (e, picker) {\r\n\t\t\tvm.AppointmentsDate.open = true;\r\n\t\t\tvm.ClosureDateTime.open = true;\r\n\t\t};\r\n\r\n\t\tvar Closuredatelimit = new Date();\r\n\t\t// Closuredatelimit.setMinutes(Closuredatelimit.getMinutes() + 1)\r\n\t\tvm.ClosureDateTime = { date: '', datepickerOptions: { minDate: Closuredatelimit } };\r\n\r\n\t\tvar datelimit = new Date();\r\n\r\n\t\tdatelimit.setMinutes(datelimit.getMinutes() + 1)\r\n\t\tvm.AppointmentsDate = { date: '', datepickerOptions: { minDate: datelimit }, dateFormat: \"yy/mm/dd\" };\r\n\r\n\r\n\t\tvm.openCalendarEndDate = function (e, picker) {\r\n\t\t\tvm.AppointmentsEndDate.open = true;\r\n\t\t};\r\n\r\n\t\tvar EndDatelimit = new Date();\r\n\t\tEndDatelimit.setMinutes(EndDatelimit.getMinutes() + 1)\r\n\t\tvm.AppointmentsEndDate = { date: '', datepickerOptions: { minDate: EndDatelimit } };\r\n\r\n\t\tvm.ViewProfile = function (UserId,UserType) {\r\n \r\n\t\t\tJobDetailViewNewService.getUserProfileData(loggedinUser,UserId, token).then(function(res){\r\n\t\t\t vm.UserProfileData = res.data;\r\n\t\t\t vm.customerrating = Number(vm.UserProfileData.CustomerRating).toFixed(1);\r\n\t\t\t if(vm.UserProfileData){\r\n\t\t\t\tvm.AddPreferredVendorModal = $uibModal.open({\r\n\t\t\t\t templateUrl: 'UserProfile.html',\r\n\t\t\t\t windowClass:'schedulerModal',\r\n\t\t\t\t scope: $scope,\r\n\t\t\t\t reload:true\r\n\t\t\t\t });\r\n\t\t\t }else{\r\n\t\t\t\tvm.showFailure('Failed','User Not found');\r\n\t\t\t }\r\n\t\t\t});\r\n\t\t\t \r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tvm.UserProfileClose = function(){\r\n\t\t\t\tvm.AddPreferredVendorModal.close();\r\n\t\t\t }\r\n\t\t\t \r\n\t\t\t vm.GetServiceTax = function(data)\r\n\t\t\t {\t\t\t\t \r\n\t\t\t\t vm.GSTPercentange =data;\r\n\t\t\t }\r\n\t\t\t vm.GetMobCommission = function(data)\r\n\t\t\t { \r\n\t\t\t\tvm.MobiforceCommission =data;\r\n\t\t\t }\r\n\t\t\t JobDetailViewNewService.GetServiceTax(loggedinUser, token, vm.GetServiceTax);\r\n\t\t\t JobDetailViewNewService.GetMobCommission(loggedinUser, token, vm.GetMobCommission);\r\n\t\t\t vm.calculatePrice = function () {\t\r\n\r\n\t\t\t\tif(vm.serviceType == 'Free'){\r\n\t\t\t\r\n\t\t\t\t\tif(vm.TicketInfoEdit.BroadcastRate > 0){\t\t\r\n\t\t\t\t // vm.TicketInfo.FreelancerRate = 0; \r\n\t\t\t\t \r\n\t\t\t\t\tvm.commission = vm.TicketInfoEdit.BroadcastRate * (vm.MobiforceCommission) / 100;\r\n\t\t\t\t\tvm.freelancerPricetemp = vm.TicketInfoEdit.BroadcastRate - vm.commission;\r\n\t\t\t\t\tvm.tPrice = vm.TicketInfoEdit.BroadcastRate;\r\n\t\t\t\t\tvm.tax = (Number(vm.tPrice) * Number(vm.GSTPercentange) / 100).toFixed(2);\r\n\t\t\t\t\tvm.TicketInfo.FreelancerRate = vm.freelancerPricetemp;\r\n\t\t\t\t }\r\n\t\t\t\t else{\r\n\t\t\t\t\tvm.tPrice = \"\";\r\n\t\t\t\t\t vm.commission = \"\";\r\n\t\t\t\t\t vm.tax = \"\";\r\n\t\t\t\t\t vm.freelancerPricetemp = '';\r\n\t\t\t\t\t vm.TicketInfo.FreelancerRate = \"\";\r\n\t\t\t\t}\r\n\t\t\t }else if(vm.serviceType =='Paid'){\r\n\t\t\t\r\n\t\t\t\tif(vm.TicketInfoEdit.BroadcastRate > 0){\t\t\r\n\t\t\t\t // vm.freelancerPrice = 0; \r\n\t\t\t\t\tvm.commission = vm.TicketInfoEdit.BroadcastRate * (vm.MobiforceCommission) / 100;\r\n\t\t\t\t\tvm.freelancerPricetemp = vm.TicketInfoEdit.BroadcastRate - vm.commission;\r\n\t\t\t\t\tvm.tax = (Number(vm.TicketInfoEdit.BroadcastRate) * Number(vm.GSTPercentange) / 100).toFixed(2);\r\n\t\t\t\t\tvm.tPrice = (Number(vm.TicketInfoEdit.BroadcastRate) + Number(vm.tax));\r\n\t\t\t\t\tvm.TicketInfo.FreelancerRate = vm.freelancerPricetemp;\r\n\t\t\t\t }else{\r\n\t\t\t\t\t\tvm.tPrice = \"\";\r\n\t\t\t\t\t\t vm.commission = \"\";\r\n\t\t\t\t\t\t vm.tax = \"\";\r\n\t\t\t\t\t\t vm.freelancerPricetemp = '';\r\n\t\t\t\t\t\t vm.TicketInfo.FreelancerRate = \"\";\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\r\n\t\t\t }\r\n\t\t\t vm.ConverttoDecimal = function(value) {\r\n \t\t\t\t\treturn (parseFloat(value).toFixed(2))\r\n\t\t\t }\r\n\r\n\t\t\t vm.calculateFreelancerPrice = function () {\t\r\n\t\t\t\tif(vm.serviceType =='Free'){\r\n\t\t\t\t\tif(vm.TicketInfo.FreelancerRate > 0){\t\t\r\n\t\t\t\t vm.TicketInfoEdit.BroadcastRate = 0; \r\n\t\t\t\t vm.freelancerPricetemp = vm.TicketInfo.FreelancerRate;\r\n\t\t\t\t vm.commission = (vm.TicketInfo.FreelancerRate * vm.MobiforceCommission)/(100-20) ;\r\n\t\t\t\t vm.tPrice = Number(vm.TicketInfo.FreelancerRate) + Number(vm.commission);\r\n\t\t\t\t vm.tax = vm.tPrice * (vm.GSTPercentange) / 100;\r\n\t\t\t\t \r\n\t\t\t\t vm.TicketInfoEdit.BroadcastRate = vm.tPrice;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvm.tPrice = \"\";\r\n\t\t\t\t\t\tvm.freelancerPricetemp = \"\";\r\n\t\t\t\t vm.commission = \"\";\r\n\t\t\t\t vm.tax = \"\";\r\n\t\t\t\t vm.TicketInfoEdit.BroadcastRate = '';\r\n\t\t\t\t\t}\r\n\t\t\t\r\n\t\t\t\t}else if(vm.serviceType=='Paid'){\r\n\t\t\t\r\n\t\t\t\tif(vm.TicketInfo.FreelancerRate > 0){\t\t\r\n\t\t\t\t vm.TicketInfoEdit.BroadcastRate = 0; \r\n\t\t\t\t vm.freelancerPricetemp = vm.TicketInfo.FreelancerRate;\r\n\t\t\t\t vm.commission = (vm.TicketInfo.FreelancerRate * vm.MobiforceCommission)/(100-vm.MobiforceCommission) ;\r\n\t\t\t\t vm.tax = ((Number(vm.TicketInfo.FreelancerRate) + Number(vm.commission)) * Number(vm.GSTPercentange) / 100).toFixed(2);\r\n\t\t\t\t vm.tPrice = Number(Number(vm.TicketInfo.FreelancerRate) + Number(vm.commission)) + Number(vm.tax);\r\n\t\t\t \r\n\t\t\t\t vm.TicketInfoEdit.BroadcastRate = Number(Number(vm.TicketInfo.FreelancerRate) + Number(vm.commission));\r\n\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvm.tPrice = \"\";\r\n\t\t\t\t\t\tvm.freelancerPricetemp = \"\";\r\n\t\t\t\t vm.commission = \"\";\r\n\t\t\t\t vm.tax = \"\";\r\n\t\t\t\t vm.TicketInfoEdit.BroadcastRate = '';\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t }\r\n\t\t\t }\r\n\t\t\t vm.OnLoadLineItemDetails = function(LineItemTicketId){\r\n\t\t\t\t \r\n\t\t\t\tvm.showTotal = true;\r\n\t\t\t\t\r\n\t\t\t\tJobDetailViewNewService.OnLoadLineItemDetails(loggedinUser, LineItemTicketId, token).then(function(resp){\r\n\t\t\t\t if (resp.status==200) {\r\n\t\t\t\t vm.LineItemList = resp.data.LineItemList;\r\n\t\t\t\t for (var i = 0; i < vm.LineItemList.length; i++) {\r\n\t\t\t\t\tvar tData = {\r\n\t\t\t\t\t\tLineItemDescription: vm.LineItemList[i].LineItemDescription,\r\n\t\t\t\t\t\tLineItemCategory: vm.LineItemList[i].LineItemCategory,\r\n\t\t\t\t\t\tLineItemPercentage : vm.LineItemList[i].LineItemPercentage,\r\n\t\t\t\t\t\tdLineItemWinPrice: vm.LineItemList[i].dLineItemWinPrice,\r\n\t\t\t\t\t\t// dFreelancerPrice: vm.LineItemList[i].dFreelancerPrice,\r\n\t\t\t\t\t\tLineItemQuantity: vm.LineItemList[i].LineItemQuantity,\r\n\t\t\t\t\t\tFreelancerPrice: vm.LineItemList[i].LineItemFreelancerPrice,\r\n\t\t\t\t\t\tLineItemRemark: vm.LineItemList[i].LineItemRemark,\r\n\t\t\t\t\t\tAddedFromField: vm.LineItemList[i].AddedFromField,\r\n\t\t\t\t\t\tLineItemCompanyProvided: vm.LineItemList[i].LineItemCompanyProvided,\r\n\t\t\t\t\t\tLineItemId: vm.LineItemList[i].LineItemId,\r\n\t\t\t\t\t\tLineItemCode: vm.LineItemList[i].LineItemCode,\t\t\t\r\n\t\t\t\t\t\tLineItemUnit: vm.LineItemList[i].LineItemUnit,\t\t\t\t\t\t\r\n\t\t\t\t\t\tLineItemAttachment: vm.LineItemList[i].LineItemAttachment,\r\n\t\t\t\t\t\tLineItemHSNCode: null,\r\n\t\t\t\t\t\tLineItemDisplayDescription: null,\r\n\t\t\t\t\t\t// LineItemRemark: null,\r\n\t\t\t\t\t\tdLineItemFreelancerPrice: vm.LineItemList[i].dLineItemFreelancerPrice,\r\n\t\t\t\t\t\tLineItemRemark: vm.LineItemList[i].LineItemRemark,\r\n\t\t\t\t\t\t// LineItemQuantity: \"1\",\r\n\t\t\t\t\t\tZOHOWarehouseName: vm.LineItemList[i].ZOHOWarehouseName,\r\n\t\t\t\t\t\tZOHOSalesOrderStatus: vm.LineItemList[i].ZOHOSalesOrderStatus,\r\n\t\t\t\t\t\tLineItemAction: null,\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t }\r\n\t\t\t\t\t vm.PriceLineItemList.push(tData);\r\n\t\t\t\t\t var _baseprice=0.0;\r\n\t\t\t\t\t var _dFprice=0.0;\r\n\t\t\t\t\t var _lineitemquantity = 0.0;\r\n\t\t\t\t\t var _lineitemfreelancerprice = 0.0;\r\n\t\t\t\t\t if(vm.LineItemList[i].dLineItemWinPrice==\"\" || vm.LineItemList[i].dLineItemWinPrice==null)\r\n\t\t\t\t\t\t\t_baseprice = 0.0;\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t_baseprice = vm.LineItemList[i].dLineItemWinPrice;\r\n\r\n\t\t\t\t\t\tif(vm.LineItemList[i].dLineItemFreelancerPrice==\"\" || vm.LineItemList[i].dLineItemFreelancerPrice==null)\r\n\t\t\t\t\t\t\t_dFprice = 0.0;\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t_dFprice = vm.LineItemList[i].dLineItemFreelancerPrice;\r\n\t\t\t\t\t\tif(vm.LineItemList[i].LineItemQuantity==\"\" || vm.LineItemList[i].LineItemQuantity==null)\r\n\t\t\t\t\t\t\t_lineitemquantity = 0.0;\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t_lineitemquantity = vm.LineItemList[i].LineItemQuantity;\r\n\t\t\t\t\t\tif(vm.LineItemList[i].LineItemFreelancerPrice==\"\" || vm.LineItemList[i].LineItemFreelancerPrice==null)\r\n\t\t\t\t\t\t\t_lineitemfreelancerprice = 0.0;\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t_lineitemfreelancerprice = vm.LineItemList[i].LineItemFreelancerPrice;\r\n\r\n\t\t\t\t\tif(vm.LineItemList[i].LineItemCategory !=\"Collection\" && vm.LineItemList[i].LineItemCategory !=\"Penalty\"&& vm.LineItemList[i].LineItemCategory !=\"AdvancedPayment\"){\r\n\r\n\t\t\t\t\t// if(vm.LineItemList[i].LineItemCategory !=\"General\"){\r\n\t\t\t\t\t vm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) + (parseFloat(_baseprice) * parseInt(_lineitemquantity))).toFixed(2);\r\n\t\t\t\t\t vm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) + (parseFloat(_dFprice) * parseInt(_lineitemquantity))).toFixed(2);\r\n\t\t\t\t\t// }\r\n\t\t\t\t\t// else{\r\n\t\t\t\t\t\tif(vm.LineItemList[i].LineItemCompanyProvided==\"No\")\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t_baseprice=0.0;\r\n\t\t\t\t\t\t\t_dFprice=0.0;\r\n\t\t\t\t\t\t\tvm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) + (parseFloat(_baseprice) * parseInt(_lineitemquantity))).toFixed(2);\r\n\t\t\t\t\t\t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) + (parseFloat(_dFprice) * parseInt(_lineitemquantity))).toFixed(2);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t// }\t\t\t \r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if(vm.LineItemList[i].LineItemCategory ==\"Penalty\") {\r\n\t\t\t\t\t\tvm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) + (parseFloat(_baseprice) * parseInt(_lineitemquantity))).toFixed(2);\r\n\t\t\t\t\t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) - (parseFloat(_dFprice) * parseInt(_lineitemquantity))).toFixed(2);\r\n\t\t\t\t\t \r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if(vm.LineItemList[i].LineItemCategory ==\"AdvancedPayment\") {\r\n\t\t\t\t\t\tvm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) + (parseFloat(_baseprice) * parseInt(_lineitemquantity))).toFixed(2);\r\n\t\t\t\t\t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) - (parseFloat(_dFprice) * parseInt(_lineitemquantity))).toFixed(2);\r\n\t\t\t\t\t \r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t }\r\n\t\t\t\t})\r\n\t\t\t }\r\n\t\t\t vm.OnLoadLineItemDetails(vm.TicketId);\r\n\t\t\t vm.GetAllJobLineItems = function(ticketId){\t\t\t\t \r\n\t\t\t\tJobDetailViewNewService.GetJobLineItem(loggedinUser, ticketId, token).then(function(resp){\r\n\t\t\t\t if (resp.status==200) {\r\n\t\t\t\t vm.JobItemList = resp.data;\r\n\t\t\t\t }\r\n\t\t\t\t})\r\n\t\t\t }\r\n\t\t\t vm.ActivityDescription=[];\r\n\t\t\t \r\n\t\t\t vm.getLineItemAcitivityDesc = function(LineItemCategoryType){\r\n\t\t\t\tvm.LineItemDisc=\"\";\r\n\t\t\t\tvar LineItemAcitivityArray = [];\r\n\t\t\t\t for (var i = 0; i < vm.JobItemList.length; i++) {\r\n\t\t\t\t\t if (vm.JobItemList[i].LineItemCategory == LineItemCategoryType) {\r\n\t\t\t\t\t\tLineItemAcitivityArray.push(vm.JobItemList[i]);\r\n\t\t\t\t\t }\r\n\t\t\t\t }\r\n\t\t\t\t vm.LineitemActivityList=LineItemAcitivityArray;\r\n\t\t\t\tif(LineItemCategoryType==\"Service\"){\r\n\t\t\t\t\tvm.fileuploadShow=false;\t\r\n\t\t\t\t\t vm.qunatityEnable=false;\r\n\t\t\t\t\t vm.PercentageEnable=false;\t\r\n\t\t\t\t}\r\n\t\t\t\tif(LineItemCategoryType==\"HW\"){\t\r\n\t\t\t\t vm.qunatityEnable=false; \r\n\t\t\t\t vm.fileuploadShow=true;\r\n\t\t\t\t vm.PercentageEnable=false;\t\r\n\t\t\t\t vm.disableProvided=false;\r\n\t\t\t\t} \r\n\t\t\t\tif(LineItemCategoryType==\"HWCollection\"){\t\r\n\t\t\t\t\tvm.IsBasePriceDisabled=false;\r\n\t\t\t\t\tvm.qunatityEnable=false; \r\n\t\t\t\t\tvm.fileuploadShow=true;\r\n\t\t\t\t\tvm.PercentageEnable=false;\t\r\n\t\t\t\t\tvm.disableProvided=false;\r\n\t\t\t\t }\r\n\t\t\t\tif(LineItemCategoryType==\"General\")\r\n\t\t\t\t{\r\n\t\t\t\t\tvm.qunatityEnable=true; \r\n\t\t\t\t\tvm.PercentageEnable=true;\r\n\t\t\t\t}\r\n\t\t\t\t vm.ActivityDescription = vm.getRemainingLineItems();\r\n\t\t\t\t}\r\n\t\t\t\tvm.LineItemCompanyProvidedChange = function(LineItemCompanyProvided,index){\r\n\t\t\t\t\tif(typeof index === \"undefined\"){\r\n\t\t\t\t\t if(LineItemCompanyProvided==\"Yes\"){ \r\n\t\t\t\t\t\tif((vm.LineItemCategoryType==\"HW\" || vm.LineItemCategoryType==\"Service\" ) && vm.LineItemList.LineItemDescription==\"Others\"){\r\n\t\t\t\t\t\t vm.LineItemList.dLineItemFreelancerPrice = 0;\r\n\t\t\t\t\t\t vm.CompanyProvidedEnable=true;\r\n\t\t\t\t\t\t vm.IsBasePriceDisabled=true; \r\n\t\t\t\t\t\t if(vm.LineItemCategoryType==\"HW\" && vm.LineItemList.LineItemDescription==\"Others\"){\r\n\t\t\t\t\t\t\tvm.LineItemList.dLineItemFreelancerPrice = 0;\r\n\t\t\t\t\t\t\tvm.CompanyProvidedEnable=true;\r\n\t\t\t\t\t\t\tvm.FreelancrPriceEnable=true;\r\n\t\t\t\t\t\t\tvm.IsBasePriceDisabled=false;\r\n\t\t\t\t\t\t } \r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif(vm.LineItemCategoryType==\"Bonus\" || vm.LineItemCategoryType==\"Penalty\" ){\r\n\t\t\t\t\t\t\tvm.CompanyProvidedEnable=true;\r\n\t\t\t\t\t\t\tvm.IsBasePriceDisabled=true;\r\n\t\t\t\t\t\t\tvm.FreelancrPriceEnable=true; \r\n\t\t\t\t\t\t }\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t vm.LineItemList.origdLineItemFreelancerPrice = vm.LineItemList.dLineItemFreelancerPrice;\t\t\t\t\t \r\n\t\t\t\t\t\t vm.LineItemList.dLineItemFreelancerPrice = 0; \r\n\t\t\t\t\t\t vm.CompanyProvidedEnable=true;\r\n\t\t\t\t\t\t vm.IsBasePriceDisabled=true; \r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t }\r\n\t\t\t\t\t else{\r\n\t\t\t\t\t\tif((vm.LineItemCategoryType==\"HW\" || vm.LineItemCategoryType==\"Service\" )&& vm.LineItemList.LineItemDescription==\"Others\"){ \r\n\t\t\t\t\t\t vm.IsBasePriceDisabled=false; \r\n\t\t\t\t\t\t vm.CompanyProvidedEnable=false; \r\n\t\t\t\t\t\t if(vm.LineItemCategoryType==\"HW\" && vm.LineItemList.LineItemDescription==\"Others\"){\r\n\t\t\t\t\t\t \tvm.FreelancrPriceEnable=false;\r\n\t\t\t\t\t\t\tvm.LineItemList.dLineItemFreelancerPrice = vm.LineItemList.dLineItemWinPrice?vm.LineItemList.dLineItemWinPrice:0; \r\n\t\t\t\t\t\t } \r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{ \r\n\t\t\t\t\t\t vm.CompanyProvidedEnable=false;\r\n\t\t\t\t\t\t vm.IsBasePriceDisabled=true; \r\n\t\t\t\t\t\t vm.LineItemList.dLineItemFreelancerPrice = vm.LineItemList.origdLineItemFreelancerPrice; \r\n\t\t\t\t\t\t} \r\n\t\t\t\t\t } \r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t if(LineItemCompanyProvided==\"Yes\"){ \r\n\t\t\t\t\t \tvm.PriceLineItemList[index].origdLineItemFreelancerPrice = vm.PriceLineItemList[index].dLineItemFreelancerPrice; \r\n\t\t\t\t\t\tvm.PriceLineItemList[index].dLineItemFreelancerPrice = 0; \r\n\t\t\t\t\t\tvm.CompanyProvidedEnable=true;\r\n\t\t\t\t\t\tvm.IsBasePriceDisabled=true; \r\n\t\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory==\"HW\" && vm.PriceLineItemList[index].LineItemDescription==\"Others\"){ \r\n\t\t\t\t\t\t vm.PriceLineItemList[index].dLineItemFreelancerPrice = 0; \r\n\t\t\t\t\t\t vm.CompanyProvidedEnable=true;\r\n\t\t\t\t\t\t vm.FreelancrPriceEnable=true; \r\n\t\t\t\t\t\t vm.IsBasePriceDisabled=false; \r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t }\r\n\t\t\t\t\t else{ \r\n\t\t\t\t\t\tvm.CompanyProvidedEnable=false; \r\n\t\t\t\t\t\tvm.IsBasePriceDisabled=true; \r\n\t\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory==\"HW\" ){\r\n\t\t\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemDescription==\"Others\"){\r\n\t\t\t\t\t\t\t\tvm.PriceLineItemList[index].dLineItemFreelancerPrice = vm.PriceLineItemList[index].dLineItemWinPrice;\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t \t\tvm.CompanyProvidedEnable=false;\r\n\t\t\t\t\t\t \t\tvm.FreelancrPriceEnable=false;\r\n\t\t\t\t\t\t \t\tvm.IsBasePriceDisabled=false; \r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t\tvm.PriceLineItemList[index].dLineItemFreelancerPrice = vm.PriceLineItemList[index].origdLineItemFreelancerPrice;\r\n\t\t\t\t }\t\t\t\t\t\t \r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t }\r\n\t\t\t\t\t} \r\n\t\t\t\t }\r\n\t\t\t vm.LineItemEdit = function(index){\r\n\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory==\"Collection\")\r\n\t\t\t\t{\r\n\t\t\t\t vm.IsBasePriceDisabled=true; \r\n\t\t\t\t vm.PercentageEnable=true; \r\n\t\t\t\t vm.disableProvided=true; \r\n\t\t\t\t vm.qunatityEnable=true;\r\n\t\t\t\t vm.FreelancrPriceEnable=false;\r\n\t\t \r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory==\"General\")\r\n\t\t\t\t{\t\t\t\t\r\n\t\t\t\t\tvm.FreelancrPriceEnable=false;\r\n\t\t\t\t\tvm.qunatityEnable=true; \r\n\t\t\t\t\tvm.disableProvided=true;\r\n\t\t\t\t\tvm.IsBasePriceDisabled=true;\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory==\"Service\")\r\n\t\t\t\t{\r\n\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory==\"Service\" && vm.PriceLineItemList[index].LineItemDescription==\"Others\") \r\n\t\t\t\t\t{ \r\n\t\t\t\t\t \r\n\t\t\t\t\t vm.CompanyProvidedEnable=false;\r\n\t\t\t\t\t vm.IsBasePriceDisabled=false; \r\n\t\t\t\t\t vm.PercentageEnable=true;\r\n\t\t\t\t\t vm.disableProvided=true;\r\n\t\t\t\t\t vm.FreelancrPriceEnable=false;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t{\r\n\t\t\t\t\t vm.qunatityEnable=false;\r\n\t\t\t\t\t vm.disableProvided=true;\r\n\t\t\t\t\t vm.PercentageEnable=false;\r\n\t\t\t\t\t vm.IsBasePriceDisabled=true;\r\n\t\t\t\t\t vm.FreelancrPriceEnable=true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory==\"Bonus\" || vm.PriceLineItemList[index].LineItemCategory==\"Penalty\"){\t\t\r\n\t\t\t\t\t vm.qunatityEnable=true;\r\n\t\t\t\t\t vm.disableProvided=true;\r\n\t\t\t\t\t vm.IsBasePriceDisabled=true;\r\n\t\t\t\t\t vm.FreelancrPriceEnable=false;\r\n\t\t\t\t}\r\n\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory==\"AdvancedPayment\"){\t\t\r\n\t\t\t\t\tvm.qunatityEnable=false;\r\n\t\t\t\t\tvm.disableProvided=true;\r\n\t\t\t\t\tvm.IsBasePriceDisabled=true;\r\n\t\t\t\t\tvm.FreelancrPriceEnable=false;\r\n\t\t\t }\r\n\r\n\t\t\t if(vm.PriceLineItemList[index].LineItemCategory==\"HW\")\r\n\t\t\t {\r\n\r\n\t\t\t\t\t vm.qunatityEnable=false;\r\n\t\t\t\t\t vm.disableProvided=false;\r\n\t\t\t\t\t if(vm.PriceLineItemList[index].LineItemCompanyProvided==\"Yes\")\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory==\"HW\" && vm.PriceLineItemList[index].LineItemDescription==\"Others\") \r\n\t\t\t\t\t\t{\t\t\t\t\t \r\n\t\t\t\t\t\t vm.FreelancrPriceEnable=true;\r\n\t\t\t\t\t\t vm.IsBasePriceDisabled=false;\r\n\t\t\t\t\t\t vm.disableProvided=false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tvm.FreelancrPriceEnable=true;\r\n\t\t\t\t\t\t\tvm.IsBasePriceDisabled=true;\r\n\t\t\t\t\t\t\tvm.disableProvided=true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t }\r\n\t\t\t\t\t else\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory==\"HW\" && vm.PriceLineItemList[index].LineItemDescription==\"Others\") \r\n\t\t\t\t\t\t{\t\t\t\t\t \r\n\t\t\t\t\t\t vm.FreelancrPriceEnable=false;\r\n\t\t\t\t\t\t vm.IsBasePriceDisabled=false;\r\n\t\t\t\t\t\t vm.disableProvided=false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tvm.FreelancrPriceEnable=true;\r\n\t\t\t\t\t\t\tvm.IsBasePriceDisabled=true; \r\n\t\t\t\t\t\t\tvm.disableProvided=false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t }\r\n\t\t\t\t\t\r\n\t\t\t }\r\n\t\t\t}\r\n\t\t\t\tvm.LineItemCompanyProvided=vm.PriceLineItemList[index].LineItemCompanyProvided;\r\n\r\n\t\t\t}\r\n\t\t\tvm.OnBasePriceChange = function()\r\n\t\t\t{\t\t\t \r\n\t\t\t //fl = bp-bp*(per/100)\r\n\t\t\t if(vm.LineItemList.LineItemPercentage==\"\" || parseFloat(vm.LineItemList.LineItemPercentage)<1)\r\n \t\tvm.LineItemList.LineItemPercentage=0.0;\r\n\t\t\t vm.FreelancerPrice = (parseFloat(vm.LineItemList.dLineItemWinPrice) - parseFloat(vm.LineItemList.dLineItemWinPrice) * (parseFloat(vm.LineItemList.LineItemPercentage) / 100)).toFixed(2);\r\n\t\t\t vm.FreelancerPrice = vm.FreelancerPrice * parseFloat(vm.LineItemList.LineItemQuantity);\r\n\t\t\t}\r\n\r\n\t\t\tvm.LineItemDetails = function(ObjLineItem){\t\t\t\t\t\t\t\t\r\n\t\t\t\t\tvar LineItemId=ObjLineItem.LineItemId;\r\n\t\t\t\t\tjobCreationService.ItemLineDetails(loggedinUser, vm.projectId, LineItemId, token).then(function(resp){\r\n\t\t\t\t\tif (resp.status==200) {\r\n\t\t\t\t\t\tvm.LineItemList = resp.data;\r\n\t\t\t\t\t\tvm.LineItemList.LineItemQuantity=1;\r\n\t\t\t\t\t\tvm.LineItemCompanyProvided= vm.LineItemList.LineItemCompanyProvided;\r\n\t\t\t\t\t\tif(vm.LineItemCategoryType==\"Collection\"){\r\n\t\t\t\t\t\t\t\tvm.FreelancrPriceEnable=false;\r\n\t\t\t\t\t\t\t\tvm.IsBasePriceDisabled=true; \r\n\t\t\t\t\t\t\t\tvm.disableProvided=true; \r\n\t\t\t\t\t\t\t\tvm.qunatityEnable=true;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t\tif(vm.LineItemCompanyProvided==\"Yes\"){\r\n\t\t\t\t\t\t\t\t\tif(vm.LineItemCategoryType==\"General\"){\r\n\t\t\t\t\t\t\t\t\t\tvm.FreelancrPriceEnable=false;\r\n\t\t\t\t\t\t\t\t\t\tvm.IsBasePriceDisabled=true;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t\t\t\tif(vm.LineItemCategoryType == \"Service\"){\r\n\t\t\t\t\t\t\t\t\t\t\tvm.disableProvided=true; \t\r\n\t\t\t\t\t\t\t\t\t\t\tvm.FreelancrPriceEnable=false;\r\n\t\t\t\t\t\t\t\t\t\t\tvm.IsBasePriceDisabled=true;\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t\t\t\t\tvm.disableProvided=false;\r\n\t\t\t\t\t\t\t\t\t\t\tvm.FreelancrPriceEnable=false;\r\n\t\t\t\t\t\t\t\t\t\t\tvm.IsBasePriceDisabled=true;\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse if(vm.LineItemCategoryType==\"General\"){\r\n\t\t\t\t\t\t\t\t\tvm.FreelancrPriceEnable=false;\r\n\t\t\t\t\t\t\t\t\tvm.qunatityEnable=true; \r\n\t\t\t\t\t\t\t\t\tvm.disableProvided=true;\r\n\t\t\t\t\t\t\t\t\tvm.IsBasePriceDisabled=true; \r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t\t\tif(vm.LineItemCategoryType == \"Service\"){\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tvm.disableProvided=true; \t\r\n\t\t\t\t\t\t\t\t\t\tvm.FreelancrPriceEnable=true;\r\n\t\t\t\t\t\t\t\t\t\tvm.IsBasePriceDisabled=true;\r\n\t\t\t\t\t\t\t\t\t}\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t\t\t\tvm.disableProvided=false;\r\n\t\t\t\t\t\t\t\t\t\tvm.FreelancrPriceEnable=true;\r\n\t\t\t\t\t\t\t\t\t\tvm.IsBasePriceDisabled=true;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tif(vm.LineItemCategoryType==\"AdvancedPayment\"){\r\n\t\t\t\t\t\t\t\t\tvm.IsBasePriceDisabled=true; \r\n\t\t\t\t\t\t\t\t\tvm.PercentageEnable=true; \r\n\t\t\t\t\t\t\t\t\tvm.disableProvided=true; \r\n\t\t\t\t\t\t\t\t\tvm.FreelancrPriceEnable=false;\r\n\t\t\t\t\t\t\t\t\tvm.qunatityEnable=true; \r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\tif(vm.LineItemCategoryType==\"HW\" && ObjLineItem.LineItemDescription==\"Others\"){\r\n\t\t\t\t\t\t\t\t\tvm.IsBasePriceDisabled=false; \r\n\t\t\t\t\t\t\t\t\tvm.PercentageEnable=true; \r\n\t\t\t\t\t\t\t\t\tvm.disableProvided=false; \r\n\t\t\t\t\t\t\t\t\tvm.FreelancrPriceEnable=false; \r\n\t\t\t\t\t\t\t\t}\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tif(vm.LineItemCategoryType==\"Service\" && ObjLineItem.LineItemDescription==\"Others\"){\r\n\t\t\t\t\t\t\t\t\tvm.IsBasePriceDisabled=false; \r\n\t\t\t\t\t\t\t\t\tvm.PercentageEnable=true; \r\n\t\t\t\t\t\t\t\t\tvm.disableProvided=true; \r\n\t\t\t\t\t\t\t\t\tvm.FreelancrPriceEnable=false; \r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tif(vm.LineItemCategoryType==\"Bonus\" || ObjLineItem.LineItemDescription==\"Penalty\"){\r\n\t\t\t\t\t\t\t\t\tvm.IsBasePriceDisabled=true; \r\n\t\t\t\t\t\t\t\t\tvm.PercentageEnable=true; \r\n\t\t\t\t\t\t\t\t\tvm.disableProvided=true; \r\n\t\t\t\t\t\t\t\t\tvm.FreelancrPriceEnable=false; \r\n\t\t\t\t\t\t\t\t}\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t//vm.calculateLineItemPrice();\t\r\n\t\t\t\t\t\t\t\t//vm.OnBasePriceChange();\r\n\t\t\t\t\t\t\t}\t\t\t \r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t}\t\r\n\t\t\t vm.searchButtonText = \"Save\";\r\n\t\t\t vm.addPriceLineItem = function(){ \r\n\r\n\t\t\t\tif(!vm.LineItemCategoryType){\r\n\t\t\t\t\tvm.showFailure(\"Warning\", \"Please select category type\"); \r\n\t\t\t\t\treturn; \r\n\t\t\t\t} \r\n\t \r\n\t\t\t\tif(!vm.LineItemDisc){\r\n\t\t\t\t vm.showFailure(\"Warning\", \"Please select activity description\"); \r\n\t\t\t\t return; \r\n\t\t\t\t} \r\n\r\n\t\t\t\tif(vm.LineItemCategoryType == \"HW\" && !vm.ZOHOWarehouseName && vm.TicketInfo.IsSpareShipmentEnabled == true){\r\n\t\t\t\t\tvm.showFailure(\"Warning\", \"Please select warehouse\"); \r\n\t\t\t\t\treturn; \r\n\t\t\t\t } \r\n\t \r\n\t\t\t\tif(vm.LineItemCategoryType!=\"Collection\" && vm.LineItemCategoryType!=\"General\" && vm.LineItemCategoryType!=\"Bonus\"&& vm.LineItemCategoryType!=\"Penalty\"&& vm.LineItemCategoryType!=\"AdvancedPayment\"){\r\n\t\t\t\t\tif(vm.LineItemList.dLineItemWinPrice==\"\" || vm.LineItemList.dLineItemWinPrice==\"0\" \r\n\t\t\t\t\t|| parseInt(vm.LineItemList.dLineItemWinPrice) < 1)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvm.showFailure(\"Warning\", \"Please enter base price\"); \r\n\t\t\t\t\t\treturn; \r\n\t\t\t\t\t} \r\n\t\t\r\n\t\t\t\t\tif(vm.LineItemCompanyProvided ==\"\"){\r\n\t\t\t\t\t\tvm.showFailure(\"Warning\", \"Please select company provided yes or no\"); \r\n\t\t\t\t\t\treturn; \r\n\t\t\t\t\t} \r\n\t\t\t\t\t\r\n\t\t\t\t\tif(vm.LineItemList.LineItemQuantity==\"\"){\r\n\t\t\t\t\t\tvm.showFailure(\"Warning\", \"Please enter quantity\"); \r\n\t\t\t\t\t\treturn; \r\n\t\t\t\t\t}\r\n\t\t\r\n\t\t\t\t\tif(vm.LineItemList.LineItemQuantity==0){\r\n\t\t\t\t\t\tvm.showFailure(\"Warning\", \"zero (0) quantity not allowed\"); \r\n\t\t\t\t\t\treturn; \r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif(vm.LineItemList.LineItemDescription == \"Others\" && (parseFloat(vm.LineItemList.dLineItemFreelancerPrice) > parseFloat(vm.LineItemList.dLineItemWinPrice))){\r\n \t\t\tvm.showFailure(\"Warning\", \"Please enter freelancer price less or equal to win price\");\r\n \t\t\treturn;\r\n \t\t}\r\n\t\t\r\n\t\t\t\t\tif(vm.LineItemList.dLineItemFreelancerPrice==\"\" || vm.LineItemList.dLineItemFreelancerPrice==\"0\" \r\n\t\t\t\t\t|| parseInt(vm.LineItemList.dLineItemFreelancerPrice) < 1){\r\n\t\t\t\t\t\tif(vm.LineItemCategoryType==\"HW\" && vm.LineItemCompanyProvided==\"Yes\")\r\n\t\t\t\t\t\t{\r\n\t\t \r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t vm.showFailure(\"Warning\", \"Please enter freelancer price\");\r\n\t\t\t\t\t\t return; \r\n\t\t\t\t\t\t} \r\n\t\t\t\t\t} \r\n\t\t\t \t} \r\n\t\t\t\tvar tData = {\r\n\t\t\t\t\tLineItemDescription: vm.LineItemList.LineItemDescription,\r\n\t\t\t\t\tLineItemCategory: vm.LineItemCategoryType, \r\n\t\t\t\t\tdLineItemWinPrice: vm.LineItemList.dLineItemWinPrice,\r\n\t\t\t\t\tLineItemId: vm.LineItemDisc.LineItemId,\r\n\t\t\t\t\tLineItemCode: vm.LineItemList.LineItemCode,\r\n\t\t\t\t\tLineItemQuantity: vm.LineItemList.LineItemQuantity, \r\n\t\t\t\t\tdLineItemFreelancerPrice: vm.LineItemList.dLineItemFreelancerPrice,\r\n\t\t\t\t\torigdLineItemFreelancerPrice: vm.LineItemList.origdLineItemFreelancerPrice,\r\n\t\t\t\t\tLineItemRemark: vm.LineItemRemark,\r\n\t\t\t\t\tLineItemUnit: vm.LineItemList.LineItemUnit,\r\n\t\t\t\t\tLineItemCompanyProvided: vm.LineItemCompanyProvided,\r\n\t\t\t\t\tLineItemAction: \"Add\",\r\n\t\t\t\t\tLineItemAttachment: \"\", \r\n\t\t\t\t\tZOHOWarehouseName: vm.ZOHOWarehouseName \r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar basePrice = vm.LineItemList.dLineItemWinPrice;\r\n\t\t\t\tvar dFprice = vm.LineItemList.dLineItemFreelancerPrice; \r\n\t\t\t\tvar LineItemQuantity = vm.LineItemList.LineItemQuantity; \r\n\t\t\t\t\t \r\n\t\t\t\tif(vm.LineItemCategoryType!=\"Collection\" && vm.LineItemCategoryType!=\"Penalty\"){\r\n\t\t\t\t\tvm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) + (parseFloat(basePrice) * parseInt(LineItemQuantity))).toFixed(2);\r\n\t\t\t\t\tif(vm.LineItemCategoryType==\"Bonus\"){\r\n\t\t\t\t\t\tvar FLPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) + (parseFloat(dFprice) * parseInt(LineItemQuantity))).toFixed(2);\r\n\t\t\t\t\t\tif(parseInt(FLPriceTotal) <= parseInt(vm.BasePriceTotal)){\r\n\t\t\t\t\t\t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) + (parseFloat(dFprice) * parseInt(LineItemQuantity))).toFixed(2);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\tvar maxBonus = (parseFloat(vm.BasePriceTotal) - parseFloat(vm.dFreelancerPriceTotal)).toFixed(2);\r\n\t\t\t\t\t\t\tvm.showFailure(\"Warning\", \"Please enter bonus price less or equal to \" + maxBonus);\r\n\t \t\t\treturn true;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) + (parseFloat(dFprice) * parseInt(LineItemQuantity))).toFixed(2);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\tif(vm.LineItemCategoryType==\"Penalty\"){\r\n\t\t\t\t\tvm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) - (parseFloat(basePrice) * parseInt(LineItemQuantity))).toFixed(2);\r\n\t\t\t\t\tvar FLPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) - (parseFloat(dFprice) * parseInt(LineItemQuantity))).toFixed(2);\r\n\t\t\t\t\tif(parseInt(FLPriceTotal) >= 0 ){\r\n\t\t\t\t\t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) - (parseFloat(dFprice) * parseInt(LineItemQuantity))).toFixed(2);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\t\t\t\t\t\t\r\n\t\t\t\t\t\tvm.showFailure(\"Warning\", \"Please enter penalty price less or equal to \" + vm.dFreelancerPriceTotal);\r\n \t\t\treturn true;\r\n\t\t\t\t\t}\t\t\r\n\t\t\t\t}\r\n\t\t\t\tif(vm.LineItemCategoryType==\"AdvancedPayment\"){\r\n\t\t\t\t\tvm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) - (parseFloat(basePrice) * parseInt(LineItemQuantity))).toFixed(2);\r\n\t\t\t\t\tvar FLPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) - (parseFloat(dFprice) * parseInt(LineItemQuantity))).toFixed(2);\r\n\t\t\t\t\tif(parseInt(FLPriceTotal) >= 0 ){\r\n\t\t\t\t\t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) - (parseFloat(dFprice) * parseInt(LineItemQuantity))).toFixed(2);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\t\t\t\t\t\t\r\n\t\t\t\t\t\tvm.showFailure(\"Warning\", \"Please enter AdvancedPayment price less or equal to \" + vm.dFreelancerPriceTotal);\r\n \t\t\treturn true;\r\n\t\t\t\t\t}\t\t\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif(tData.LineItemDescription){ \r\n\t\t\t\t\tvm.PriceLineItemList.push(tData); \r\n\t\t\t\t\tvm.showTCList = false; \r\n\t\t\t\t\tvm.EmptyLineItemDetails(); \r\n\t\t\t\t}else{\r\n\t\t\t\t\tvm.showTCList = false;\r\n\t\t\t\t\tvm.showFailure(\"Warning\", \"You must select activity description\");\r\n\t\t\t\t} \r\n\t\t\t\tvm.LineItemCategoryType=\"\";\r\n\t\t\t\tvm.LineItemDisc=\"\";\r\n\t\t\t }\r\n\r\n\t\t\t vm.getRemainingLineItems = function () { \r\n\t\t\t\tvar RemovePriceLineItems = [];\r\n\t\t\t\tvar remainingPriceLineItems = Array.from(vm.LineitemActivityList);\r\n\t\t\t\tangular.forEach(remainingPriceLineItems, function (d) {\r\n\t\t\t\t\tfor (var i = 0; i < vm.PriceLineItemList.length; i++) {\r\n\t\t\t\t\t\tif (d.LineItemDescription == vm.PriceLineItemList[i].LineItemDescription && d.LineItemCategory==vm.PriceLineItemList[i].LineItemCategory) {\r\n\t\t\t\t\t\t RemovePriceLineItems.push(d);\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tangular.forEach(RemovePriceLineItems, function (s) {\r\n\t\t\t\t remainingPriceLineItems.splice(remainingPriceLineItems.indexOf(s), 1);\r\n\t\t\t\t}) \r\n\t\t\t\treturn remainingPriceLineItems;\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\t vm.showTCList = false;\r\n\t\t\t vm.showTotal = true;\t\t\t \r\n\t\t\t\tvm.addMoreCertificateInTable = function(){\r\n\t\t\t\t\tvm.showTCList = true;\r\n\t\t\t\t\tvm.showTotal = true;\r\n\t\t\t\t\tvm.tempCertificateAdd = true;\r\n\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\tvm.tempCertificateAdd = false;\r\n\t\t\t\tvm.IsVisible = false;\r\n\t\t\t\tvar wareHouseItemList=[];\r\n\t\t\t\tvar createOrderData = [];\r\n\t\t\t\tvm.ShowHide = function (index) {\r\n\t\t\t\t\t if(vm.PriceLineItemList[index].ShowPassport == true) {\r\n\t\t\t\t\t\tvar hwData = {\r\n\t\t\t\t\t\t\twarehouseLineItemId : vm.PriceLineItemList[index].LineItemId,\r\n\t\t\t\t\t\t\twarehouseCategory : vm.PriceLineItemList[index].LineItemCategory,\r\n\t\t\t\t\t\t\twarehouseDescription : vm.PriceLineItemList[index].LineItemDescription,\r\n\t\t\t\t\t\t\twarehouseQuantity : vm.PriceLineItemList[index].LineItemQuantity,\r\n\t\t\t\t\t\t\twarehouseCompanyProvided : vm.PriceLineItemList[index].LineItemCompanyProvided,\r\n\t\t\t\t\t\t\tWarehouseNameSelected : vm.PriceLineItemList[index].ZOHOWarehouseName,\r\n\t\t\t\t\t\t\twarehouseBaseprice : vm.PriceLineItemList[index].dLineItemWinPrice,\r\n\t\t\t\t\t\t\twarehouseFreelancerPrice : vm.PriceLineItemList[index].dLineItemFreelancerPrice\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tvar sendWdata = {\r\n\t\t\t\t\t\t\tJobLineItemId : vm.PriceLineItemList[index].LineItemId,\r\n\t\t\t\t\t\t\tselectedWarehouse : vm.PriceLineItemList[index].ZOHOWarehouseName\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcreateOrderData.push(sendWdata);\r\n\t\t\t\t\t\twareHouseItemList.push(hwData);\r\n\t\t\t\t\t\tvm.IsVisible = vm.PriceLineItemList[index].ShowPassport;\r\n\t\t\t\t\t\tvm.warehouseModal = function () {\r\n\t\t\t\t\t\t\tvm.listWdata = wareHouseItemList;\r\n\t\t\t\t\t\t\tvm.ShareModal = $uibModal.open({\r\n\t\t\t\t\t\t\t templateUrl: 'warehouseModal.html',\r\n\t\t\t\t\t\t\t backdrop: 'static',\r\n\t\t\t\t\t\t\t size: 'lg',\r\n\t\t\t\t\t\t\t scope: $scope\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t }\r\n\t\t\t\t\t \r\n\t\t\t\t\t\t vm.closeWarehouseModal = function () {\r\n\t\t\t\t\t\t\tvm.IsVisible = false;\r\n\t\t\t\t\t\t\twareHouseItemList=[];\r\n\t\t\t\t\t\t\tcreateOrderData = [];\r\n\t\t\t\t\t\t\tvm.ShareModal.close();\r\n\t\t\t\t\t\t\tvm.OnLoadLineItemDetails(vm.TicketId);\r\n\t\t\t\t\t\t\tvm.PriceLineItemList = [];\r\n\t\t\t\t\t\t }\r\n\t\t\t\t\t }\r\n\t\t\t\t\t else {\r\n\t\t\t\t\t\twareHouseItemList=[];\r\n\t\t\t\t\t\tcreateOrderData = [];\r\n\t\t\t\t\t\tvm.IsVisible = vm.PriceLineItemList[index].ShowPassport;\r\n\t\t\t\t\t }\r\n\t\t\t\t\t// var hwData = {\r\n\t\t\t\t\t// \twarehouseLineItemId : vm.PriceLineItemList[index].LineItemId,\r\n\t\t\t\t\t// \twarehouseCategory : vm.PriceLineItemList[index].LineItemCategory,\r\n\t\t\t\t\t// \twarehouseDescription : vm.PriceLineItemList[index].LineItemDescription,\r\n\t\t\t\t\t// \twarehouseQuantity : vm.PriceLineItemList[index].LineItemQuantity,\r\n\t\t\t\t\t// \twarehouseCompanyProvided : vm.PriceLineItemList[index].LineItemCompanyProvided,\r\n\t\t\t\t\t// \tWarehouseNameSelected : vm.PriceLineItemList[index].ZOHOWarehouseName,\r\n\t\t\t\t\t// \twarehouseBaseprice : vm.PriceLineItemList[index].dLineItemWinPrice,\r\n\t\t\t\t\t// \twarehouseFreelancerPrice : vm.PriceLineItemList[index].dLineItemFreelancerPrice\r\n\t\t\t\t\t// }\r\n\t\t\t\t\t// var sendWdata = {\r\n\t\t\t\t\t// \tJobLineItemId : vm.PriceLineItemList[index].LineItemId,\r\n\t\t\t\t\t// \tselectedWarehouse : vm.PriceLineItemList[index].ZOHOWarehouseName\r\n\t\t\t\t\t// }\r\n\t\t\t\t\t// createOrderData.push(sendWdata);\r\n\t\t\t\t\t// wareHouseItemList.push(hwData);\r\n\t\t\t\t\t// vm.IsVisible = vm.PriceLineItemList[index].ShowPassport;\r\n\t\t\t\t\t\r\n\t\t\t\t\t// vm.warehouseModal = function () {\r\n\t\t\t\t\t// \tvm.listWdata = wareHouseItemList;\r\n\t\t\t\t\t// \tvm.ShareModal = $uibModal.open({\r\n\t\t\t\t\t// \t templateUrl: 'warehouseModal.html',\r\n\t\t\t\t\t// \t backdrop: 'static',\r\n\t\t\t\t\t// \t size: 'lg',\r\n\t\t\t\t\t// \t scope: $scope\r\n\t\t\t\t\t// \t});\r\n\t\t\t\t\t// }\r\n\t\t\t\t \r\n\t\t\t\t\t// vm.closeWarehouseModal = function () {\r\n\t\t\t\t\t// \tvm.ShareModal.close();\r\n\t\t\t\t\t// }\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvm.GetWarehouse = function (warehouseLineItemId) {\t\r\n\t\t\t\t\tvar gData = {\r\n\t\t\t\t\t\t\"Id\":warehouseLineItemId,\r\n\t\t\t\t\t\t\"TicketId\":vm.TicketId\r\n\t\t\t\t\t}\t\t\r\n\t\t\t\t\tJobDetailViewNewService.GetWarehouse(token,gData).then(function (resp) {\r\n\t\t\t\t\t\tvm.warehouseList = resp.data; \r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\t// vm.GetWarehouse();\r\n\r\n\t\t\t\tvm.createSales=\"Send\";\r\n\t\t\t\tvm.createSalesOrder = function () {\r\n\t\t\t\t\tif(vm.TicketId!= null)\r\n\t\t\t\t\t{\t\r\n\t\t\t\t\t\tvm.enable1 = \"false\";\r\n\t\t\t\t\t\tvm.createSales=\"Sending...\";\r\n\t\t\t\t\t};\r\n\t\t\t\t\tdata ={\r\n\t\t\t\t\t\t\"itemIdWithWarehouseModels\":createOrderData,\r\n\t\t\t\t\t\t\"TicketId\": vm.TicketId,\r\n\t\t\t\t\t }\t\t\r\n\t\t\t\t\tJobDetailViewNewService.createSalesOrder(token,data).then(function (resp) {\r\n\t\t\t\t\t\tif(resp.status == 200) {\r\n\t\t\t\t\t\t\t// vm.warehouseList = resp.data;\r\n\t\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\t\tvm.showSuccess(\"Success\",resp.data );\r\n\t\t\t\t\t\t\t\tvm.IsVisible = false;\r\n\t\t\t\t\t\t\t\twareHouseItemList=[];\r\n\t\t\t\t\t\t\t\tcreateOrderData = [];\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tvm.ShareModal.close();\t\r\n\t\t\t\t\t\t\t\tvm.OnLoadLineItemDetails(vm.TicketId);\r\n\t\t\t\t\t\t\t\tvm.PriceLineItemList = [];\r\n\t\t\t\t\t\t\t\tvm.enable1 = \"true\";\t\r\n \t\t\t\t\tvm.createSales=\"Send\";\t\r\n\t\t\t\t\t\t\t}, 500);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tvm.ShareModal.close();\r\n\t\t\t\t\t\t\tvm.showFailure('Failed', \"not able to create order \");\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\tvm.calculateLineItemPrice = function (index) { \r\n\t\t\t\t\t \r\n\t\t\t\t\tif(typeof index === \"undefined\")\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvar basePrice = vm.LineItemList.dLineItemWinPrice;\t \r\n\t\t\t\t\t\tvar LineItemQuantity = vm.LineItemList.LineItemQuantity;\r\n\t\t\t\t\t\t// if(percentage==\"\")\r\n\t\t\t\t\t\t// \tprice=0;\r\n\t\t\t\t\t\t// else \r\n\t\t\t\t\t\t// \tprice = parseInt(LineItemQuantity) * parseFloat(basePrice) * parseFloat(percentage)/100;\r\n\t\t\t\t\t\tif(LineItemQuantity==\"\")\r\n\t\t\t\t\t\t\ttotalFPrice=0;\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\ttotalFPrice = parseInt(LineItemQuantity) * basePrice - price;\r\n\t\t\t\t\t\tif(vm.LineItemList.LineItemCategory==\"HW\" && vm.LineItemList.LineItemCompanyProvided==\"Yes\" && (percentage==0.0 || percentage==0)){\r\n\t\t\t\t\t\t\ttotalFPrice=0.0;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\tvm.FreelancerPrice = totalFPrice.toFixed(2); \r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t{ \r\n\t\t\t\t\t\tvar basePrice = vm.PriceLineItemList[index].dLineItemWinPrice;\r\n\t\t\t\t\t\t// var percentage = vm.PriceLineItemList[index].LineItemPercentage;\r\n\t\t\t\t\t\tvar LineItemQuantity = vm.PriceLineItemList[index].LineItemQuantity;\r\n\t\t\t\t\t\t// var price = parseInt(Quantity) * parseFloat(basePrice) * parseFloat(percentage)/100;\r\n\t\t\t\t\t\t// var totalFPrice = parseInt(Quantity) * basePrice - price;\r\n\t\t\t\t\t\t// vm.PriceLineItemList[index].FreelancerPrice = totalFPrice.toFixed(2);\r\n\t\t\t\t\r\n\t\t\t\t\t\tif(percentage==\"\")\r\n\t\t\t\t\t\t\tprice=0;\r\n\t\t\t\t\t\telse \r\n\t\t\t\t\t\t\tprice = parseInt(LineItemQuantity) * parseFloat(basePrice) * parseFloat(percentage)/100;\r\n\t\t\t\t\t\tif(LineItemQuantity==\"\")\r\n\t\t\t\t\t\t\ttotalFPrice=0;\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\ttotalFPrice = parseInt(LineItemQuantity) * basePrice - price;\r\n\t\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory==\"HW\" && vm.PriceLineItemList[index].LineItemCompanyProvided==\"Yes\" && (percentage==0.0 || percentage==0)){\r\n\t\t\t\t\t\t\ttotalFPrice=0.0;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\tvm.PriceLineItemList[index].FreelancerPrice = totalFPrice.toFixed(2);\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t }\r\n\t\t\t\t vm.FreelancerChangeCal=function(index)\r\n\t\t\t\t {\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tif(typeof index === \"undefined\")\r\n\t\t\t\t\t\t{ \r\n\t\t\t\t\t\t\tif(vm.LineItemCategoryType!=\"Collection\")\r\n \t\t\t\t\t\t{ \r\n\t\t\t\t\t\t\t\tif(vm.LineItemCategoryType!=\"General\")\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tif(vm.FreelancerPrice==\"\")\r\n\t\t\t\t\t\t\t\tvm.LineItemList.LineItemPercentage=100;\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tif( parseFloat(vm.FreelancerPrice)> ( parseFloat(vm.LineItemList.dLineItemWinPrice) * parseFloat(vm.LineItemList.LineItemQuantity)))\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tvm.showFailure(\"Warning\",\"Freelancer price should be less than or equal to base price\");\r\n\t\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tvm.LineItemList.LineItemPercentage = (((parseFloat(vm.LineItemList.dLineItemWinPrice)-(parseFloat(vm.FreelancerPrice)/parseFloat(vm.LineItemList.LineItemQuantity)))/parseFloat(vm.LineItemList.dLineItemWinPrice))*100).toFixed(2);\r\n\t\t\t\t\t\t\t\tif(vm.LineItemList.LineItemPercentage==\"NaN\")\r\n\t\t\t\t\t\t\t\t\tvm.LineItemList.LineItemPercentage=0.0;\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory!=\"Collection\")\r\n \t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory !=\"General\")\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemPercentage==\"\")\r\n\t\t\t\t\t\t\t\t\tvm.PriceLineItemList[index].LineItemPercentage=0.0;\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tif( parseFloat(vm.PriceLineItemList[index].FreelancerPrice)> ( parseFloat(vm.PriceLineItemList[index].dLineItemWinPrice) * parseFloat(vm.PriceLineItemList[index].LineItemQuantity)))\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tvm.showFailure(\"Warning\",\"Freelancer price should be less than or equal to base price\");\r\n\t\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tvm.PriceLineItemList[index].LineItemPercentage = (((parseFloat(vm.PriceLineItemList[index].dLineItemWinPrice)-(parseFloat(vm.PriceLineItemList[index].FreelancerPrice)/parseFloat(vm.PriceLineItemList[index].LineItemQuantity)))/parseFloat(vm.PriceLineItemList[index].dLineItemWinPrice))*100).toFixed(2);\r\n\t\t\t\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemPercentage==\"NaN\")\r\n\t\t\t\t\t\t\t\t\tvm.PriceLineItemList[index].LineItemPercentage=100.00;\r\n\t\t\t\t\t\t\t\t}\t\t\t\t\t \r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\tvm.EditUpdateCalculation = function(index)\r\n\t\t\t\t{\r\n\r\n\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemDescription == \"Others\" && vm.PriceLineItemList[index].LineItemCategory != \"AdvancedPayment\" && (parseFloat(vm.PriceLineItemList[index].dLineItemFreelancerPrice) > parseFloat(vm.PriceLineItemList[index].dLineItemWinPrice))){\r\n\t \t\tvm.showFailure(\"Warning\", \"Please enter freelancer price less or equal to win price\");\r\n\t \t\treturn true;\r\n\t \t}\r\n\r\n\t \tif(vm.PriceLineItemList[index].LineItemDescription==\"Bonus\"){\r\n var FLPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) + (parseFloat(vm.PriceLineItemList[index].dLineItemFreelancerPrice) * parseInt(vm.PriceLineItemList[index].LineItemQuantity))).toFixed(2);\r\n if(parseInt(FLPriceTotal) > parseInt(vm.BasePriceTotal)){ \r\n var maxBonus = (parseFloat(vm.BasePriceTotal) - parseFloat(vm.dFreelancerPriceTotal)).toFixed(2);\r\n vm.showFailure(\"Warning\", \"Please enter bonus price less or equal to \" + maxBonus);\r\n return true;\r\n }\r\n }\r\n\t\t\t\t\telse if(vm.PriceLineItemList[index].LineItemCategory==\"AdvancedPayment\"){\t \r\n\t var FLPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) - (parseFloat(vm.PriceLineItemList[index].dLineItemFreelancerPrice) * parseInt(vm.PriceLineItemList[index].LineItemQuantity))).toFixed(2);\r\n\t if(parseInt(FLPriceTotal) < 0 ){\t \r\n\t vm.showFailure(\"Warning\", \"Please enter Advanced payment less or equal to \" + vm.dFreelancerPriceTotal);\r\n\t return true;\r\n\t } \r\n\t }\r\n else if(vm.PriceLineItemList[index].LineItemDescription==\"Penalty\"){\t \r\n\t var FLPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) - (parseFloat(vm.PriceLineItemList[index].dLineItemFreelancerPrice) * parseInt(vm.PriceLineItemList[index].LineItemQuantity))).toFixed(2);\r\n\t if(parseInt(FLPriceTotal) < 0 ){\t \r\n\t vm.showFailure(\"Warning\", \"Please enter penalty price less or equal to \" + vm.dFreelancerPriceTotal);\r\n\t return true;\r\n\t } \r\n\t }\r\n\t\t\t\t\telse if(vm.TicketInfo.IsSpareShipmentEnabled == true && vm.PriceLineItemList[index].ZOHOWarehouseName == null && vm.PriceLineItemList[index].LineItemCategory=='HW'){ \r\n\t vm.showFailure(\"Warning\", \"Please Select Warehouse\");\r\n\t\t\t\t\t\t\treturn true;\r\n\t }\r\n\r\n\r\n\t\t\t\t\tvm.BasePriceTotal=0.0;\r\n\t\t\t\t\tvm.dFreelancerPriceTotal=0.0;\t\t\t\t\t\r\n\t\t\t\t\tfor(var i = 0; i < vm.PriceLineItemList.length; i++)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tif(vm.PriceLineItemList[i].LineItemCategory!=\"Collection\" && vm.PriceLineItemList[i].LineItemCategory !=\"AdvancedPayment\"){\r\n\t\t\t\t\t\t\tvar basePrice = vm.PriceLineItemList[i].dLineItemWinPrice;\r\n\t\t\t\t\t\t\tvar dFprice = vm.PriceLineItemList[i].dLineItemFreelancerPrice;\r\n\t\t\t\t\t\t\tvar LineItemQuantity = vm.PriceLineItemList[i].LineItemQuantity;\r\n\t\t\t\t\t\t\tif(vm.PriceLineItemList[i].LineItemCategory == \"General\")\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tif(vm.PriceLineItemList[i].LineItemCompanyProvided==\"No\")\r\n\t\t\t\t\t\t\t\t\tbasePrice=0.0;\r\n\t\t\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tvm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) + (parseFloat(basePrice) * LineItemQuantity)).toFixed(2);\r\n\t\t\t\t\t \t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) + (parseFloat(dFprice) * LineItemQuantity)).toFixed(2);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if(vm.PriceLineItemList[i].LineItemCategory ==\"AdvancedPayment\"){\r\n\t\t\t\t\t\t\tvar basePrice = vm.PriceLineItemList[i].dLineItemWinPrice;\r\n\t\t\t\t\t\t\tvar dFprice = vm.PriceLineItemList[i].dLineItemFreelancerPrice;\r\n\t\t\t\t\t\t\tvar LineItemQuantity = vm.PriceLineItemList[i].LineItemQuantity;\r\n\t\t\t\t\t\t\tif(vm.PriceLineItemList[i].LineItemCategory == \"General\")\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tif(vm.PriceLineItemList[i].LineItemCompanyProvided==\"No\")\r\n\t\t\t\t\t\t\t\t\tbasePrice=0.0;\r\n\t\t\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tvm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) - (parseFloat(basePrice) * LineItemQuantity)).toFixed(2);\r\n\t\t\t\t\t\t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) - (parseFloat(dFprice) * LineItemQuantity)).toFixed(2);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} \r\n\t\t\t\t\tvm.PriceLineItemList[index].edit=false;\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t//delete row non edit\r\n\tvm.removeLineItem = function(index){ \r\n\t\tif(vm.PriceLineItemList[index].LineItemCategory!=\"Collection\" && vm.PriceLineItemList[index].LineItemCategory!=\"Penalty\" && vm.PriceLineItemList[index].LineItemCategory!=\"AdvancedPayment\"){\r\n\t\t var basePrice = vm.PriceLineItemList[index].dLineItemWinPrice;\r\n\t\t var dFprice = vm.PriceLineItemList[index].dLineItemFreelancerPrice;\r\n\t\t var LineItemQuantity = vm.PriceLineItemList[index].LineItemQuantity;\r\n\t\t vm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) - parseFloat(basePrice) * parseInt(LineItemQuantity)).toFixed(2);\r\n\t\t vm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) - parseFloat(dFprice) * parseInt(LineItemQuantity)).toFixed(2);\r\n\t\t}\r\n\t\telse if(vm.PriceLineItemList[index].LineItemCategory==\"Penalty\") {\r\n\t\t\tvar basePrice = vm.PriceLineItemList[index].dLineItemWinPrice;\r\n\t\t\tvar dFprice = vm.PriceLineItemList[index].dLineItemFreelancerPrice;\r\n\t\t\tvar LineItemQuantity = vm.PriceLineItemList[index].LineItemQuantity;\r\n\t\t\tvm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) + parseFloat(basePrice) * parseInt(LineItemQuantity)).toFixed(2);\r\n\t\t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) + parseFloat(dFprice) * parseInt(LineItemQuantity)).toFixed(2);\r\n\t\t \r\n\t\t}\r\n\t\telse if(vm.PriceLineItemList[index].LineItemCategory==\"AdvancedPayment\") {\r\n\t\t\tvar basePrice = vm.PriceLineItemList[index].dLineItemWinPrice;\r\n\t\t\tvar dFprice = vm.PriceLineItemList[index].dLineItemFreelancerPrice;\r\n\t\t\tvar LineItemQuantity = vm.PriceLineItemList[index].LineItemQuantity;\r\n\t\t\tvm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) + parseFloat(basePrice) * parseInt(LineItemQuantity)).toFixed(2);\r\n\t\t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) + parseFloat(dFprice) * parseInt(LineItemQuantity)).toFixed(2);\r\n\t\t \r\n\t\t}\r\n\t\tvm.PriceLineItemList.splice(index, 1);\r\n\t } \t\r\n\t\t\t\t\r\n\t\tvm.updateRomoveLineItem = function(index,action)\r\n\t\t{\t\t\r\n\t\t\t\r\n\t\t\tif(action==\"Update\"){\r\n\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory!=\"Collection\")\r\n\t\t\t\t{\r\n\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemQuantity==\"\")\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvm.PriceLineItemList[index].edit=true;\r\n\t\t\t\t\t\tvm.showFailure(\"Warning\", \"Please enter quantity\"); \r\n\t\t\t\t\t\treturn; \r\n\t\t\t\t\t}\r\n\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemQuantity==0){\r\n\t\t\t\t\t\tvm.PriceLineItemList[index].edit=true;\r\n\t\t\t\t\t\tvm.showFailure(\"Warning\", \"zero (0) quantity not allowed\"); \r\n\t\t\t\t\t\treturn; \r\n\t\t\t\t\t}\r\n\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory!=\"General\"){\r\n\t\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory==\"HW\" && vm.LineItemCompanyProvided==\"Yes\"){}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif(vm.PriceLineItemList[index].dLineItemWinPrice==\"\" || vm.PriceLineItemList[index].dLineItemWinPrice==\"0\" || parseInt(vm.PriceLineItemList[index].dLineItemWinPrice) < 1)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tvm.PriceLineItemList[index].edit=true;\r\n\t\t\t\t\t\t\tvm.showFailure(\"Warning\", \"Please enter base price\"); \r\n\t\t\t\t\t\t\treturn; \r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif(parseFloat(vm.PriceLineItemList[index].LineItemPercentage)>100)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tvm.PriceLineItemList[index].edit=true;\r\n\t\t\t\t\t\t\tvm.showFailure(\"Warning\", \"Please enter percentage 100 or less than 100\"); \r\n\t\t\t\t\t\t\treturn; \r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif( parseFloat(vm.PriceLineItemList[index].FreelancerPrice)> ( parseFloat(vm.PriceLineItemList[index].dLineItemWinPrice) * parseFloat(vm.PriceLineItemList[index].LineItemQuantity)))\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tvm.PriceLineItemList[index].edit=true;\r\n\t\t\t\t\t\t\tvm.showFailure(\"Warning\",\"Freelancer price should be less than or equal to base price\");\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\tif(vm.PriceLineItemList[index].FreelancerPrice==\"\" || typeof vm.PriceLineItemList[index].FreelancerPrice === \"undefined\")\r\n\t\t\t\t\tvm.PriceLineItemList[index].FreelancerPrice=\"0\";\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tif(vm.PriceLineItemList[index].LineItemCategory==\"General\")\r\n\t\t\t{ \r\n\t\t\t\tvm.PriceLineItemList[index].dLineItemWinPrice=0.0;\r\n\t\t\t\tvm.PriceLineItemList[index].dLineItemFreelancerPrice=0.0;\r\n\t\t\t\tvm.PriceLineItemList[index].LineItemPercentage=0.0;\r\n\t\t\t}\r\n\t\t\tif(vm.PriceLineItemList[index].dLineItemWinPrice==\"\")\r\n\t\t\t\tvm.PriceLineItemList[index].dLineItemWinPrice=0.0;\r\n\t\t\tif(vm.PriceLineItemList[index].dLineItemFreelancerPrice==\"\")\r\n\t\t\t\tvm.PriceLineItemList[index].dLineItemFreelancerPrice=0.0;\r\n\t\t\tif(vm.PriceLineItemList[index].LineItemPercentage==\"\")\r\n\t\t\t\tvm.PriceLineItemList[index].LineItemPercentage=0.0;\r\n\t\t\tif(vm.PriceLineItemList[index].LineItemQuantity==\"\")\r\n\t\t\t\tvm.PriceLineItemList[index].LineItemQuantity=1;\r\n\t\t\tif(vm.PriceLineItemList[index].FreelancerPrice==\"\")\r\n\t\t\t\tvm.PriceLineItemList[index].FreelancerPrice=0.0;\r\n\r\n\t\t\t\t\r\n\t\t\tvar Requestdata = {\t\t\t\t\t \r\n\t\t\t\tLineItemDescription: vm.PriceLineItemList[index].LineItemDescription,\r\n\t\t\t\tLineItemCategory: vm.PriceLineItemList[index].LineItemCategory,\r\n\t\t\t\tLineItemPercentage : vm.PriceLineItemList[index].LineItemPercentage,\r\n\t\t\t\tdLineItemWinPrice: vm.PriceLineItemList[index].dLineItemWinPrice,\r\n\t\t\t\tdLineItemFreelancerPrice: vm.PriceLineItemList[index].dLineItemFreelancerPrice,\r\n\t\t\t\tLineItemId: vm.PriceLineItemList[index].LineItemId,\r\n\t\t\t\tLineItemCode: vm.PriceLineItemList[index].LineItemCode,\r\n\t\t\t\tLineItemQuantity: vm.PriceLineItemList[index].LineItemQuantity,\r\n\t\t\t\tLineItemFreelancerPrice: vm.ConverttoDecimal(vm.PriceLineItemList[index].FreelancerPrice),\r\n\t\t\t\tLineItemRemark: vm.PriceLineItemList[index].LineItemRemark,\r\n\t\t\t\tZOHOWarehouseName: vm.PriceLineItemList[index].ZOHOWarehouseName,\r\n\t\t\t\tLineItemUnit: vm.PriceLineItemList[index].LineItemUnit,\r\n\t\t\t\tLineItemAction: action,\r\n\t\t\t\tLineItemCompanyProvided: vm.LineItemCompanyProvided,\r\n\t\t\t\tLineItemAttachment: vm.LineItemImage\r\n\t\t }\r\n\t\t vm.PriceLineItemList[index].FreelancerPrice = vm.ConverttoDecimal(vm.PriceLineItemList[index].FreelancerPrice);\r\n\t\t vm.PriceLineItemList[index].LineItemPercentage = vm.ConverttoDecimal(vm.PriceLineItemList[index].LineItemPercentage);\r\n\t\t vm.LineItemDataList.push(Requestdata);\r\n\t\t userFormData = { \r\n\t\t\t\"TicketId\": vm.TicketId,\r\n\t\t\t\"LineItemRequestList\": vm.LineItemDataList\t\t\t \r\n\r\n\t\t}\r\n\t\t//vm.PriceLineItemList[index].LineItemCompanyProvided=vm.LineItemCompanyProvided;\r\n\r\n\t\t// vm.enable = \"false\";\r\n\t\t// if(action==\"Update\"){\t\t\t\t\r\n\t\t// vm.updateButtonText = \"Updating\";\r\n\t\t// vm.PriceLineItemList[index].edit=true;\r\n\t\t// }\r\n\t\t// else\r\n\t\t// vm.removeButtonText = \"Removing\";\r\n\t\r\n\t JobDetailViewNewService.CreateUpdateRemoveLineItem(userFormData,loggedinUser,token).then(function(resp){\r\n\t\t\t//$timeout(function(){\r\n\t\t\t\t\r\n\t\t\tif (resp.status==201) { \r\n\t\t\t\tvar msg=\"\";\r\n\t\t\t\tif(action==\"Update\"){\t\r\n\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory!=\"Collection\"){\t\t\t\t\r\n\t\t\t\t\t\tvm.EditUpdateCalculation(index);\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\tJobDetailViewNewService.UpdateJobPaymentDynamicPrice(loggedinUser, vm.TicketId, vm.BasePriceTotal, vm.PercentageTotal, vm.FreelancerPriceTotal, vm.IsFinalApproval, token, function (res) {\r\n\t\t\t\t\t\t$timeout(function(){\r\n\t\t\t\t\t\t//vm.showSuccess(\"Success\", res);\t\t\t\t\t\r\n\t\t\t\t\t\tmsg = \"LineItem has been updated successfully\";\r\n\t\t\t\t\t\tvm.LineItemDataList=[];\r\n\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", msg);\t\r\n\t\t\t\t\t\t// vm.enable = \"true\";\r\n\t\t\t\t\t\t// vm.updateButtonText = \"Update\";\r\n\t\t\t\t\t\t//vm.PriceLineItemList[index].edit=false;\r\n\t\t\t\t\t\t}, 1000);\t\t\t\t\t\t\r\n\t\t\t\t\t}, vm.showFailure);\t\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\t$timeout(function(){\r\n\t\t\t\t\t\tmsg = \"LineItem has been updated successfully\";\r\n\t\t\t\t\t\tvm.LineItemDataList=[];\r\n\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", msg);\t\r\n\t\t\t\t\t\t}, 1000);\t\t\t\t\t\t\r\n\t\t\t\t}\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\t\t\r\n\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory!=\"Collection\")\r\n\t\t\t\t{\r\n\t\t\t\t\tvar basePrice = vm.PriceLineItemList[index].dLineItemWinPrice;\r\n\t\t\t\t\tvar dFprice = vm.PriceLineItemList[index].dLineItemFreelancerPrice;\r\n\t\t\t\t\tvar freelancerPrice = vm.PriceLineItemList[index].FreelancerPrice;\r\n\t\t\t\t\tvar LineItemQuantity = vm.PriceLineItemList[index].LineItemQuantity;\r\n\r\n\t\t\t\t\tif(basePrice==\"\")\r\n\t\t\t\t\t\tbasePrice=0.0;\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\tif(dFprice==\"\")\r\n\t\t\t\t\t\tdFprice=0.0;\r\n\t\t\t\t\tif(freelancerPrice==\"\")\r\n\t\t\t\t\t\tfreelancerPrice=0.0;\r\n\t\t\t\t\tif(LineItemQuantity==\"\")\r\n\t\t\t\t\tLineItemQuantity=1;\r\n\r\n\t\t\t\t\tvar lessBasePrice = parseFloat(basePrice) * parseInt(LineItemQuantity);\r\n\t\t\t\t\tvar lessdFprice = parseFloat(dFprice) * parseInt(LineItemQuantity);\r\n\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory!=\"Collection\")\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory != \"General\")\r\n\t\t\t\t\t\t{\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tvm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) - parseFloat(lessBasePrice)).toFixed(2);\r\n\t\t\t\t\t\t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) - parseFloat(lessdFprice)).toFixed(2);\r\n\t\t\t\t\t\t\tvm.FreelancerPriceTotal = (parseFloat(vm.FreelancerPriceTotal) - parseFloat(freelancerPrice)).toFixed(2);\r\n\t\t\t\t\t\t\tvm.PercentageTotal = (100 - (vm.FreelancerPriceTotal * 100/vm.BasePriceTotal)).toFixed(2);\r\n\t\t\t\t\t\t\tif(vm.PercentageTotal==\"NaN\")\r\n\t\t\t\t\t\t\t\tvm.PercentageTotal=0;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemCompanyProvided==\"No\")\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tlessBasePrice =0.0;\r\n\t\t\t\t\t\t\t\tlessdFprice =0.0;\r\n\t\t\t\t\t\t\t\tvm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) - parseFloat(lessBasePrice)).toFixed(2);\r\n\t\t\t\t\t\t\t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) - parseFloat(lessdFprice)).toFixed(2);\r\n\t\t\t\t\t\t\t\tvm.FreelancerPriceTotal = (parseFloat(vm.FreelancerPriceTotal) - parseFloat(freelancerPrice)).toFixed(2);\r\n\t\t\t\t\t\t\t\tvm.PercentageTotal = (100 - (vm.FreelancerPriceTotal * 100/vm.BasePriceTotal)).toFixed(2);\r\n\t\t\t\t\t\t\t\tif(vm.PercentageTotal==\"NaN\")\r\n\t\t\t\t\t\t\t\t\tvm.PercentageTotal=0;\t\t\r\n\t\t\t\t\t\t\t\tif(vm.BasePriceTotal==\"0.00\" || vm.BasePriceTotal==\"0\")\r\n\t\t\t\t\t\t\t\t\tvm.PercentageTotal=0.00;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\tif(vm.PriceLineItemList[index].LineItemCategory!=\"Collection\")\r\n\t\t\t\t\t{\t\t\t\t\r\n\t\t\t\t\t\tJobDetailViewNewService.UpdateJobPaymentDynamicPrice(loggedinUser, vm.TicketId, vm.BasePriceTotal, vm.PercentageTotal, vm.FreelancerPriceTotal, vm.IsFinalApproval, token, function (res) {\r\n\t\t\t\t\t\t\t$timeout(function(){\r\n\t\t\t\t\t\t\t//vm.showSuccess(\"Success\", res);\t\t\t\t\t\r\n\t\t\t\t\t\t\tmsg = \"LineItem has been removed successfully\";\r\n\t\t\t\t\t\t\tvm.LineItemDataList=[];\r\n\t\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\t\tvm.showSuccess(\"Success\", msg);\t\r\n\t\t\t\t\t\t\t// vm.enable = \"true\";\r\n\t\t\t\t\t\t\t// vm.removeButtonText = \"Remove\";\r\n\t\t\t\t\t\t\t}, 1000);\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t}, vm.showFailure);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t$timeout(function(){\r\n\t\t\t\t\t\t\tmsg = \"LineItem has been removed successfully\";\r\n\t\t\t\t\t\t\tvm.LineItemDataList=[];\r\n\t\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\t\tvm.showSuccess(\"Success\", msg);\t\r\n\t\t\t\t\t\t}, 1000);\r\n\t\t\t\t\t}\r\n\t\t\t\tvm.PriceLineItemList.splice(index, 1);\r\n\t\t\t}\r\n\t\t\t\t\r\n\t\t\tvm.EmptyLineItemDetails();\r\n\t\t\t// vm.LineItemCategoryType=\"\";\r\n\t\t\tvm.LineItemDisc=\"\";\r\n\t\t\tvm.LineItemDataList=[];\r\n\t\t\t // window.location.reload(true);\r\n\t\t\t}\r\n\t\t//}, 1000);\r\n\r\n\t\t })\r\n\t\t}\r\n\r\n\t\t//advanced payment \r\n\t\tvm.initiateAdvancedPayment =function (action,index) {\r\n\t\t\t// vm.removeLineItem(index);\r\n\t\t\tvm.sendAdvanceDetails ={\r\n\t\t\t\t\"TicketId\":vm.TicketId,\r\n\t\t\t\t\"Action\":action\r\n\t\t\t}\r\n\t\t\tJobDetailViewNewService.initiateAdvancedPayment(vm.sendAdvanceDetails,token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t vm.showSuccess(\"Success\", \"Initiated advanc payment\");\r\n\t\t\t\t\t vm.getTicketByJobId();\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{ \r\n\t\t\t\t\t vm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t vm.getTicketByJobId();\r\n\t\t\t\t\t}\r\n\t\t\t\t });\r\n\t\t}\r\n\t\t//\r\n\t\tvm.UpdateLineItems=\"Update Line Items\";\r\n\t\tvm.updateLineItem = function()\r\n\t\t{\r\n\t\t\tif(vm.PriceLineItemList.length>0)\r\n\t\t\t{\t\r\n\t\t\t\tvm.enable1 = \"false\";\r\n\t\t\t\tvm.UpdateLineItems=\"Update Line Items...\";\r\n\r\n\t\t\t\tvar data = { \r\n\t\t\t\t\t\"TicketId\": vm.TicketId,\r\n\t\t\t\t\t\"LineItemRequestList\": vm.PriceLineItemList\r\n\t\t\t\t \r\n\t\t\t\t };\r\n\t\t\t\tJobDetailViewNewService.CreateUpdateRemoveLineItem(data,loggedinUser,token).then(function(resp){\r\n\t\t\t\t\t\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\",resp.data+ \" Line Item\");\r\n\t\t\t\t\t\t$timeout(function(){\r\n\t\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\t\tvm.enable1 = \"true\";\t\r\n\t\t\t\t\t\t\tvm.UpdateLineItems=\"Update Line Items\";\t\t\t\t\r\n\t\t\t\t\t\t}, 1500);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t}, vm.showFailure);\t\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tvm.showFailure();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.ApprovePricingButtonText=\"Approve Pricing\";\r\n\t\tvm.ApprovePricing = function()\r\n\t\t{\r\n\t\t\tif(vm.PriceLineItemList.length>0)\r\n\t\t\t{\t\r\n\t\t\t\tvm.IsFinalApproval=true;\r\n\t\t\t\tvm.enable1 = \"false\";\r\n\t\t\t\tvm.ApprovePricingButtonText=\"Approve Pricing...\";\r\n\r\n\t\t\t\tvar data = { \r\n\t\t\t\t\t\"TicketId\": vm.TicketId,\r\n\t\t\t\t\t\"IsCollectionFlag\": true,\r\n\t\t\t\t\t\"CollectionPercentage\": 0,\r\n\t\t\t\t\t\"CollectionAmount\": 0,\r\n\t\t\t\t\t\"LineItemRequestList\": vm.PriceLineItemList\r\n\t\t\t\t \r\n\t\t\t\t };\r\n\t\t\t\tJobDetailViewNewService.UpdateJobPaymentDynamicPrice(loggedinUser, vm.TicketId, vm.BasePriceTotal, vm.PercentageTotal, vm.FreelancerPriceTotal,vm.IsFinalApproval,data, token, function (res) {\r\n\t\t\t\t\t$timeout(function(){\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\tmsg = \"Price has been approved successfully\";\t\t\t\t\t\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", msg);\t\r\n\t\t\t\t\t\tvm.enable1 = \"true\";\r\n\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\tvm.BonusList =[];\r\n\t\t\t\t\t\tvm.PenaltyList=[];\r\n\t\t\t\t\t\tvm.ApprovePricingButtonText = \"Approve Pricing\";\t\t\t\t\t\r\n\t\t\t\t\t}, 1000);\t\t\t\t\t\t\r\n\t\t\t\t}, vm.showFailure);\t\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tvm.showFailure(\"Faild\", \"Please enter atleast one Line Item to Approve this job.\");\r\n\t\t\t}\r\n\t\t}\r\n\t\tvm.removeCurrentActivityRow = function()\r\n\t\t{\r\n\t\t\tvm.showTCList = false;\t\r\n\t\t\tvm.EmptyLineItemDetails();\t\t\r\n\t\t}\r\n\t\tvm.EmptyLineItemDetails = function()\r\n\t\t{\r\n\t\t\tvm.LineItemCategoryType=\"\";\r\n\t\t\tvm.LineItemDisc=\"\";\r\n\t\t\tvm.LineItemList.LineItemDescription = '';\r\n\t\t\tvm.LineItemList.LineItemCategory = '';\r\n\t\t\tvm.LineItemList.LineItemPercentage = '';\r\n\t\t\tvm.LineItemList.dLineItemWinPrice = '';\r\n\t\t\tvm.LineItemList.dLineItemFreelancerPrice = '';\r\n\t\t\tvm.LineItemList.LineItemQuantity='';\r\n\t\t\tvm.FreelancerPrice='';\r\n\t\t\tvm.LineItemRemark='';\r\n\t\t\tvm.ZOHOWarehouseName='';\r\n\t\t}\r\n\t\tvm.changeFile = function (selector) {\r\n angular.element(selector).trigger(\"click\");\r\n\t\t}\r\n\t\t\r\n\t\t$scope.uploadLineItemFile = function (elem, index) {\r\n\t\t\t\r\n var index = (angular.element(elem).attr(\"data-index\")); \r\n var file = elem.files[0];\r\n if (file.type == \"application/pdf\" || file.type == \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"\r\n || file.type == \"application/msword\" || file.type.indexOf(\"image/jpg\") >= 0 || file.type.indexOf(\"image/png\") >= 0\r\n || file.type.indexOf(\"image/bmp\") >= 0 || file.type.indexOf(\"image/jpeg\") >= 0) {\r\n\r\n var data = new FormData();\r\n data.append(\"files\", file);\r\n JobDetailViewNewService.uploadLineItemPic(loggedinUser, data, token, function (res) {\r\n if (res && res.status == 201 && res.data) {\t\r\n\t\t\t\t\t\tvm.edit=false;\t\t\t\t\t\r\n\t\t\t\t\t\tvm.PriceLineItemList[index].LineItemAttachment= vm.LineItemImage = res.data; \r\n\t\t\t\t\t vm.LineItemImage=res.data; \r\n\t\t\t\t\t\tvm.edit1=false;\r\n\t\t\t\t\t\t\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to upload line item, server error\");\r\n });\r\n } else {\r\n vm.showFailure(\"Failed\", \"You can upload image, pdf or word document only\");\r\n }\r\n }\r\n\t}\r\n\r\n\tvm.DisableScheduledExceptionButtons = function (disable) {\r\n\t if(disable){\r\n\t \t\tvm.disableExceptionButton = true;\t\t\t\r\n\t }\r\n\t else{\r\n\t \tvm.disableExceptionButton = false;\r\n\t }\r\n\t}\r\n\r\n\r\n\tvm.resolveException = function(){\r\n\t\tvm.DisableScheduledExceptionButtons(true);\r\n\t\tvar ticketIdList = []; \t\t\r\n\t\tticketIdList.push(uTicketId);\t\t\t \r\n\t\t\r\n\t\tJobDetailViewNewService.ResolveException(loggedinUser, ticketIdList,token).then(function(resp){\r\n\t\t\tif (resp.status==202) {\t\t\r\n\t\t\t\t$timeout(function(){\t\t\t\t\t\t\t\t\r\n\t\t\t\t\tvm.showSuccess(\"Schedule Exception\", \"Exception Resolved Successfully\");\t\t\t\t\t\r\n\t\t\t\t\tvm.getTicketByJobId();\t\r\n\t\t\t\t\t// window.location.reload(true);\r\n\t\t\t\t\tvm.DisableScheduledExceptionButtons(false);\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t}, 1000);\t\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t })\t\t\r\n\t }\r\n\r\n\tvm.Applycompletejob = function(){\r\n\r\n\t\tvar data ={\t\t\r\n\t\t\t\t\"ReqUserId\": loggedinUser,\r\n\t\t\t\t\"TicketId\": uTicketId,\r\n\t\t\t\t\"Status\": \"Completed\",\r\n\t\t\t\t\"TechnicianRating\": \"\",\r\n\t\t\t\t\"CompletionRemark\": \"\",\r\n\t\t\t\t\"ApprovalRemark\": \"\",\r\n\t\t\t\t\"SourceResolvedOn\": \"\",\r\n\t\t\t\t\"ClosureMode\": \"\",\r\n\t\t\t\t\"FieldJobClosureMode\": \"\",\r\n\t\t\t\t\"FieldJobVisitStatus\": \"\",\r\n\t\t\t\t\"JobWinRate\": 0,\r\n\t\t\t\t\"SelectedCompletionRemarkList\": [\r\n\t\t\t\t {\r\n\t\t\t\t\t\"remark\": \"\",\r\n\t\t\t\t\t\"description\": \"\",\r\n\t\t\t\t\t\"SelectedHWDetailList\": [\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\"Skill\": \"\",\r\n\t\t\t\t\t\t\"Code\": \"\",\r\n\t\t\t\t\t\t\"Name\": \"\",\r\n\t\t\t\t\t\t\"Description\": \"\",\r\n\t\t\t\t\t\t\"Category\": \"\",\r\n\t\t\t\t\t\t\"HardwareFrom\": \"\"\r\n\t\t\t\t\t }\r\n\t\t\t\t\t]\r\n\t\t\t\t }\r\n\t\t\t\t],\r\n\t\t\t\t\"RejectionRemark\": \"\"\r\n\t\t\t \r\n\t\t}\r\n\t\tJobDetailViewNewService.completeJob(data, loggedinUser, token).then(function (resp) {\r\n\t\t\tif (resp.status == 202) {\r\n\t\t\t\tvm.showSuccess(\"Complete Job\", \"Job Completed Successfully.\");\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t$state.go('index.JobTickets', { reload: true });\r\n\t\t\t\t\r\n\t\t\t\t}, 1000);\r\n\t\t\t}\r\n\t\t\t\r\n\t\t})\r\n\t}\r\n\r\n\tvm.OpenApproveModal = function (currentJOb) \r\n {\t\r\n\t\tif(vm.PriceLineItemList.length>0)\r\n\t\t{\r\n\t\t\tvm.CurrentJob = currentJOb;\r\n\t\t\tvm.RatingOfTicket = ''; \r\n\t\t\tvm.aproveMessage = 'Please Rate !';\r\n\t\t\tapproveModalInstance = $uibModal.open({\r\n\t\t\ttemplateUrl: 'approve_model.html',\r\n\t\t\tscope: $scope\r\n\t\t\t}); \r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tvm.showFailure(\"Faild\", \"Please enter atleast one Line Item to Approve this job.\");\r\n\t\t}\r\n } \r\n\tvm.CloseModal = function () {\r\n\tapproveModalInstance.close();\r\n\t}\r\n\tvm.starChanged = function () {\r\n switch (vm.RatingOfTicket) {\r\n case '5':\r\n vm.aproveMessage = 'Excellent';\r\n break;\r\n \r\n case '4':\r\n vm.aproveMessage = 'Very Good';\r\n break;\r\n \r\n case '3':\r\n vm.aproveMessage = 'Good';\r\n break;\r\n \r\n case '2':\r\n vm.aproveMessage = 'Bad';\r\n break;\r\n \r\n case '1':\r\n vm.aproveMessage = 'Very Bad';\r\n break;\r\n\t\t}\r\n\t\tvm.ratingwarning=\"\";\r\n\t }\r\n\r\n\t vm.completeTkt = function (ticketid) { \r\n\r\n\t\tdata = {\r\n\t\t\t\"TicketId\": ticketid,\r\n\t\t\t\"TicketStatus\": \"Completed\",\r\n\t\t\t\"TicketCompletionRemark\": \"\"\r\n\t\t \t }\r\n\t\r\n\t\tJobDetailViewNewService.completeTkt(data,token).then(function (resp) {\r\n\t\t\tif (resp.status == 200) {\r\n\t\t\t vm.showSuccess(\"Success\", \"Ticket Completed Successfully\");\r\n\t\t\t $timeout(function () {\r\n\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t}, 2000);\r\n\t\t\t}\r\n\t\t\telse { \r\n\t\t\t vm.showFailure(\"Failed\", resp.data);\r\n\t\t\t}\r\n\t\t });\r\n\t }\r\n\t\r\n\tvm.ApproveJob = function () { \r\n if (vm.RatingOfTicket) {\r\n\t\t approveModalInstance.close();\r\n\t\t var jobwinrate = 0.0;\r\n\t\t if(vm.Winrate == null || vm.Winrate == 0 || vm.Winrate =='')\r\n\t\t\tjobwinrate = 0.0;\r\n\t\t else\r\n\t\t\tjobwinrate = vm.Winrate;\r\n\t\t vm.ratingwarning=\"\";\r\n var data = { \r\n\t\t\t\"TicketId\": vm.TicketId,\r\n\t\t\t\"BroadcastRate\": vm.BasePriceTotal,\r\n\t\t\t\"MobiforceCommission\": vm.MobiforceCommission,\r\n\t\t\t\"FreelancerRate\": vm.TicketInfo.FreelancerRate,\r\n\t\t\t\"IsFinalApproval\": true,\r\n\t\t\t\"JobWinRate\" : parseFloat(jobwinrate.toFixed(2)),\r\n\t\t\t\"TechnicianRating\": vm.RatingOfTicket.toString(),\r\n\t\t\t\"ApprovalRemark\": vm.approvalRemark,\r\n\t\t\t\"IsSafetyAudit\":vm.IsSafetyAudit,\r\n\t\t\t\"Status\": \"Approved\",\r\n\t\t\t\"LineItemRequestList\": vm.PriceLineItemList\r\n \r\n\t\t };\r\n\t\t \r\n\t\t JobDetailViewNewService.UpdateJobPaymentDynamicPriceAndApprove(loggedinUser, data, token).then(function(res){\r\n\t\t\t\r\n\t\t\tif (res.status == 200){\t\t\t\t\r\n\t\t\t\t\t$timeout(function(){\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\tmsg = \"Ticket and Price has been approved successfully\";\t\t\t\t\t\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", msg);\t\r\n\t\t\t\t\t\tvm.getTicketByJobId();\t\r\n\t\t\t\t\t\tvm.BonusList =[];\r\n\t\t\t\t\t\tvm.PenaltyList=[];\t\t\t\t\t\t\t\r\n\t\t\t\t\t}, 1000);\r\n\t\t\t\t}\t\t\t\t\r\n\t\t\telse {\r\n\t\t\t\t\r\n\t\t\t\tvm.showFailure(\"Failed\", res.data);\r\n\t\t\t }\t\t\r\n\r\n\t\t\t}, vm.showFailure);\t\r\n\t\t\t\r\n } else {\r\n\t\t\tvm.ratingwarning=\"Please rate the technician.\";\r\n // approveModalInstance.close();\r\n }\r\n\t }\r\n\t vm.isApprovalPermission = function (defaultValue) {\r\n if (vm.accountConfig && vm.accountConfig['ApprovalPermission'] != null) {\r\n return vm.accountConfig['ApprovalPermission'].split(\",\").indexOf($localStorage.loggedInUser_Role) > -1;\r\n }\r\n return defaultValue;\r\n\t }\r\n\t// vm.BackToTicketList = function()\r\n\t// {\t\t \r\n\t// \t $localStorage.backToTicketList=\"JobDetailView1\";\r\n\t// }\r\n\r\n\t$scope.checkPDF = function(path){ \r\n\t\t// var pt = path.substr(path.length - 4);\r\n\t\tif(path.startsWith(\"http\")){\r\n\t\t vm.error = function(){\r\n\t\t\t$(\"http\").attr({\"target\" : \"_blank\"})\r\n\t\t\t}\r\n\t\t return true;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\t\r\n\t \r\n\t vm.PDFView = function (page) {\r\n\t\tvm.pdfimage=page;\r\n\t\t $scope.selected = null;\r\n\t\t $timeout(function(){\r\n\t\t\tjobAppointmentModal = $uibModal.open({\r\n\t\t\ttemplateUrl: 'PDFView.html',\r\n\t\t\tsize :'lg',\r\n\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t},1000)\t \r\n\t }\r\n\t vm.PDFUserModal = function(){\r\n\t\tjobAppointmentModal.close();\r\n\t }\r\n\r\n\t // download pdf\r\n\t\r\n\r\n\t vm.OpenPdfModal= function(PdfPathName)\r\n\t\t{\r\n vm.IsLoadSucessfull=false;\t\r\n MainService.GetImageBlob(loggedinUser, token, PdfPathName).then(function(resp) { \r\n vm.ConvertBase64ToBlob(resp.data);\r\n vm.IsLoadSucessfull=true;\t\r\n });\r\n\t\t\tjobAppointmentModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'SiteAuditPDFView.html',\r\n\t\t\t\tsize :'lg',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t\twindowClass: 'zindex'\r\n\t\t\t\t\r\n\t\t\t});\r\n\t\t}\r\n\t vm.SiteAuditPDFUserModal = function(){\r\n\t\tjobAppointmentModal.close();\r\n\t }\r\n\t\r\n\tvm.ConvertBase64ToBlob = function(response)\r\n\t{\r\n vm.Auditpdf=\"\";\r\n\t\tif(response !=null){\r\n\t\t\tvar arrrayBuffer = base64ToArrayBuffer(response); //data is the base64 encoded string\r\n\t\t\tvar blob = new Blob([arrrayBuffer], {type: \"application/pdf\"});\r\n\t\t\tvm.Auditpdf = URL.createObjectURL(blob);\t\t\t\t\r\n\t\t\tvm.IsLoadSucessfull=true;\r\n\t\t}\r\n\t\telse{\r\n\t\t\tvm.DocumentAvailableMessage=\"Document is not available\";\r\n\t\t\tvm.IsLoadSucessfull=true;\r\n\t\t}\r\n\t}\r\n\tfunction base64ToArrayBuffer(base64) \r\n\t{\r\n\t\tvar ret = base64.replace('data:application/pdf;base64,','');\r\n\t\t\tvar binaryString = atob(ret);\r\n\t\t\tvar binaryLen = binaryString.length;\r\n\t\t\tvar bytes = new Uint8Array(binaryLen);\r\n\t\t\tfor (var i = 0; i < binaryLen; i++) {\r\n\t\t\tvar ascii = binaryString.charCodeAt(i);\r\n\t\t\tbytes[i] = ascii;\r\n\t\t\t}\r\n\t\t\treturn bytes;\r\n\t} \r\n\r\n\tvm.file= [];\r\n\r\n\tvm.getImageIndex = function(index) {\r\n\t\tvm.indexImgg = index;\r\n\t}\r\n\t$scope.uploadBGFilenew = function(files){\r\n\t\t$scope.stepsModel = []; \r\n\t\tvm.FrontFileName=\"\";\r\n\t\tvm.FilesFrontDoc = files.files;\r\n\t\tvm.FrontFileName = vm.FilesFrontDoc[0].name; \r\n\t\tvm.file.push(vm.FilesFrontDoc);\t\r\n\t\t$scope.imageIsLoaded = function(e){\r\n\t\t\t$scope.$apply(function() {\r\n\t\t\t\t$scope.stepsModel.push(e.target.result);\r\n\t\t\t});\r\n\t\t}\r\n\t\tfor (var i = 0; i < vm.FilesFrontDoc.length; i++) {\r\n\t\t\tvar file = vm.FilesFrontDoc[i];\r\n\t\t\t\tvar reader = new FileReader();\r\n\t\t\t\treader.onload = $scope.imageIsLoaded; \r\n\t\t\t\treader.readAsDataURL(file);\r\n\t\t}\t\r\n\t\tvar allowedExtensions = /(\\.pdf|\\.PDF|\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png|\\.JFIF|\\.jfif)$/i; \r\n\t\t if(!allowedExtensions.exec(vm.FrontFileName)){\r\n\t\t vm.FilesFrontDoc = [];\r\n\t\t vm.clear(); \r\n\t\t alert('Please upload file having extensions .pdf,.jpg,.jpeg,.png only.');\r\n\t\t}\r\n\t }\r\n\t vm.getImgIndex= function(index,selectedSectionName) {\r\n\t\tvm.imgIndex = index;\r\n\r\n\r\n\r\n\t\tvm.isEditDisabled = false;\r\n\t\tvm.stepsDocLists.forEach(function(data) {\r\n\t\t\tvm.FieldDataDetails = data.ticketResponseList;\r\n\t\t\tif(data.SectionName == selectedSectionName){\r\n\t\t\t\tupdateSection.SectionName = selectedSectionName;\r\n\t\t\t\tvm.FieldDataDetails.forEach(function(updateData) {\r\n\t\t\t\t\tif(updateData.ItemName == data.ticketResponseList[vm.imgIndex].ItemName) {\r\n\t\t\t\t\t\tvm.ticketResp = updateData;\r\n\t\t\t\t\t\tif(vm.ticketResp.edit == true) {\r\n\t\t\t\t\t\tvm.isEditDisabled = true;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t}\t\t\t\t\t\t\r\n\t\t\t\t\t});\t\r\n\t\t\t\t}\t\t\t\r\n\t\t\t});\r\n\t }\r\n\t vm.clear = function () {\r\n\t\tangular.element(\"input[type='file']\").val(null);\r\n\t }; \r\n\r\n\tvm.DataItemDetailList = [];\r\n\tvar updateSection = {};\r\n\tvm.UpdateDataModel = function(index,selectedSectionName)\r\n\t{ vm.isEditDisabled = false;\r\n\t\tvm.formdataForEdit = new FormData();\r\n\t\tvm.stepsDocLists.forEach(function(data) {\r\n\t\t\tvm.FieldDataDetails = data.ticketResponseList;\r\n\t\t\tif(data.SectionName == selectedSectionName){\r\n\t\t\t\tupdateSection.SectionName = selectedSectionName;\r\n\t\t\t\tvm.FieldDataDetails.forEach(function(updateData) {\r\n\t\t\t\t\tif(updateData.ItemName == data.ticketResponseList[vm.imgIndex].ItemName) {\r\n\t\t\t\t\t\tvm.ticketResp = updateData;\r\n\t\t\t\t\t\tif(vm.ticketResp.ImageItemName != null) {\r\n\t\t\t\t\t\t\tvm.ticketResp.ImageItemName.forEach(function(imgNameI, ind) {\t\r\n\t\t\t\t\t\t\t\tif(vm.file.length == 1) {\r\n\t\t\t\t\t\t\t\t\tif(vm.ticketResp.ImageItemName[vm.indexImgg] == imgNameI) {\r\n\t\t\t\t\t\t\t\t\t\t\tvm.formdataForEdit.append(vm.ticketResp.ImageItemName[vm.indexImgg], vm.file[0][0],vm.ticketResp.ImageItemName[vm.indexImgg]);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse if(vm.file.length > 1) {\r\n\t\t\t\t\t\t\t\t\t\tvm.formdataForEdit.append(imgNameI, vm.file[ind][0],imgNameI);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t });\r\n\t\t\t\t\t\t\t}\r\n\r\n\r\n\t\t\t\t\t\t\tif(vm.ticketResp.ImageItemName == null && vm.file.length != 0) {\r\n\t\t\t\t\t\t\t\tvm.ticketResp.ImageItemName = [];\r\n\t\t\t\t\t\t\t\t\tif (vm.file[0][0]) {\r\n\t\t\t\t\t\t\t\t\t\t\tvm.imgType = vm.file[0][0].type.substr(vm.file[0][0].type.indexOf('/')+ 1);\r\n\t\t\t\t\t\t\t\t\t\t\tvm.ItemImageName = vm.TicketInfo.TicketId + '_' + vm.StepName + '_' + selectedSectionName + '_' + vm.ticketResp.ItemName + '_' + 0 +\".\"+ vm.imgType;\r\n\t\t\t\t\t\t\t\t\t\t\tvm.ItemImageName = (vm.ItemImageName).replace(/ /g,\"_\");\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tvm.ticketResp.ImageItemName.push(vm.ItemImageName);\r\n\t\t\t\t\t\t\t\t\t\t\t\tvm.formdataForEdit.append(vm.ItemImageName, vm.file[0][0],vm.ItemImageName);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\r\n\t\t\t\t\t\t\tif((vm.ticketResp.ImageItemName == null && vm.ticketResp.ImageName != null) && (vm.ticketResp.ItemType == 'Multiple Picture Type' || vm.ticketResp.ItemType == 'Signature Type' || vm.ticketResp.ItemType == 'File Attachment Type' || vm.ticketResp.ItemType == 'Video Type')) {\t\r\n\t\t\t\t\t\t\t\t\t\tvm.imgType = vm.file[0][0].type.substr(vm.file[0][0].type.indexOf('/')+ 1);\r\n\t\t\t\t\t\t\t\t\t\tvm.ImageName = vm.TicketInfo.TicketId + '_' + vm.StepName + '_' + selectedSectionName + '_' + vm.ticketResp.ItemName + \".\" + vm.imgType;\r\n\t\t\t\t\t\t\t\t\t\tvm.ImageName = (vm.ImageName).replace(/ /g,\"_\");\r\n\t\t\t\t\t\t\t\t\t\tvm.formdataForEdit.append(vm.ticketResp.ImageName, vm.file[0][0],vm.ticketResp.ImageName);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (vm.ticketResp.ItemType == 'Date Type') {\r\n\r\n\t\t\t\t\t\t\t\tvm.ticketResp.ItemValue = moment(vm.ticketResp.ItemValue).format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\");\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tvm.DataItemDetail= {\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\"ItemName\": vm.ticketResp.ItemName,\r\n\t\t\t\t\t\t\t\t\"ImageItemName\":vm.ticketResp.ImageItemName,\r\n\t\t\t\t\t\t\t\t\"ItemComment\": vm.ticketResp.ItemComment,\r\n\t\t\t\t\t\t\t\t\"ItemStatus\": vm.ticketResp.ItemStatus,\r\n\t\t\t\t\t\t\t\t\"ItemType\": vm.ticketResp.ItemType,\r\n\t\t\t\t\t\t\t\t\"ItemUpdateDate\": vm.ticketResp.ItemUpdateDate,\r\n\t\t\t\t\t\t\t\t\"ItemValue\" : vm.ticketResp.ItemType != 'Multiple Picture Type'?vm.ticketResp.ItemValue:'',\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t// \"ItemValue\": vm.ticketResp.ItemValue\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tvm.DataItemDetailList.push(vm.DataItemDetail)\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tupdateSection.dataUpdateRequestModelList = vm.DataItemDetailList;\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t}\t\t\t\t\t\t\r\n\t\t\t\t\t});\t\r\n\t\t\t\t}\t\t\t\r\n\t\t\t});\r\n\t\t\tvar DataItemDetails = JSON.stringify(updateSection);\r\n\t\t\tvm.formdataForEdit.append(\"UpdateJobFieldDataModel\", DataItemDetails);\r\n\t\t\t$scope.stepsModel = []; \r\n\t}\r\n \r\n\tvm.UpdateFinalDataModel = function(){\t\r\n\t\t// vm.formdataForEdit = new FormData();\t\t\r\n\t\t\tJobDetailViewNewService.UpdateJobData(vm.formdataForEdit,token,loggedinUser,vm.TicketInfo.TicketId).then(function (resp) {\r\n\t\t\tif(resp.status == 202)\r\n\t\t\t{\t\r\n\t\t\t\tvm.showSuccess(\"Success\", \"Data has been successfully updated\");\r\n\t\t\t\tvm.DataItemDetailList = [];\r\n\t\t\t\tvm.file= [];\r\n\t\t\t\t$scope.stepsModel = []; \r\n\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\tvm.GetSectionDataByStepName(vm.StepName);\r\n\t\t\t\t},1000);\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Data not updated\");\r\n\t\t\t\tvm.DataItemDetailList = [];\r\n\t\t\t\tvm.file= [];\r\n\t\t\t\t$scope.stepsModel = []; \r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\tvm.getFileType = function(url){\r\n\t\tvar extension = fileName.split('.').pop(); \r\n\t\t}\r\n\t\tvm.WordDownloadtoView = function (page) { \r\n\t\t\t\r\n\t\tMainService.GetImageBlob(loggedinUser, token, page).then(function(resp) {\r\n\t\t\twindow.location.href = resp.data;\r\n\t\t}); \r\n\t\t\r\n\t}\r\n});\r\nfunction isNumberKey(evt,elemref, quantityvalue)\r\n{ \r\n var charCode = (evt.which) ? evt.which : evt.keyCode;\r\n if(quantityvalue==\"LineItemQuantity\"){\r\n if(charCode == 46 ){\r\n return false;\r\n }\r\n } \r\n if(charCode == 46 ){\r\n if ((elemref.value) && (elemref.value.indexOf('.') >= 0))\r\n return false;\r\n }\r\n if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57))\r\n { \r\n \r\n return false;\r\n } \r\n if(quantityvalue==\"Percentage\"){\r\n if(parseFloat(elemref.value + evt.key) > 100)\r\n {\r\n return false\r\n }\r\n }\r\n return true; \r\n}\r\nfunction CheckRegExOnKeyPress(e) {\r\n \r\n var regex = new RegExp(\"^[a-zA-Z0-9\\\\s\\\\.\\\\,\\\\-\\\\/]+$\");\r\n var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);\r\n if (regex.test(str)) {\r\n return true;\r\n }\r\n e.preventDefault();\r\n return false;\r\n};\r\n\nangular.module('inspinia').service('JobTicketViewService', function (ApiURL,AcessoriesURL,MMFCRMURL, SchedulingAPI,$log,FreelancerURL, $http, $localStorage, $window, PublicApiURL, ActivityURL, LocationURL) {\r\n\r\n //https://test.mymobiforce.com/coreapi/api/Ticket/GetTicketsbyDateRange?fromDate=asd&toDate=asd&reqUserId=asd&itemNames=asd&itemValues=asd\r\n\r\n/* this.getAllJobTickets = function (supervisorId, startDate, endDate, token, itemNames,itemValues,templateCols) {\r\n var url = '';\r\n url = ApiURL + '/api/Ticket/GetTicketsbyDateRange?fromDate=' + startDate + '&toDate=' + endDate+ '&reqUserId=' + supervisorId + '&itemNames=' + itemNames + '&itemValues=' + itemValues+'&templateCols='+templateCols;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token\r\n }\r\n });\r\n }\r\n*/\r\n//Generate Invoice Preview Via Model \r\nthis.downloadOnSiteReport = function ( loggedInUserId, token,TicketId) { \r\n var url = ApiURL + '/api/Report/GeneratePdfOnSiteReport?TicketId=' + TicketId;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedInUserId \r\n }\r\n \r\n });\r\n}\r\n\r\n //https://product.mymobiforce.com/coreapi/api/Ticket/UpdatePlannedClosureDate\r\n this.updatePlannedClosure = function (loggedinUser, data, token, success, failure) {\r\n $http.put(ApiURL + '/api/Ticket/UpdatePlannedClosureDate', data, \r\n { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':loggedinUser } }).then(function (res) {\r\n if (res && res.status == 200 && res) {\r\n success(res.data);\r\n } else{\r\n failure(\"Failed\", res.data.Message);\r\n }\r\n }, function (err) {\r\n failure(\"Failed\", \"Unable to update job, server is not responding correctly.\");\r\n });\r\n}\r\n\r\n//https://db.mymobiforce.com/publicapi/api/Address/GetStates?userId=U420000000001&country=QATAR\r\nthis.getStates = function (loggedInUserId, token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedInUserId \r\n } \r\n });\r\n}\r\n// https://product.mymobiforce.com/coreapi/api/Report/GetAttachmentsByTicketIdWithSignoffReport?TicketId=T2040000000004\r\nthis.getAttachment = function (loggedInUserId, token, TicketId) {\r\n var url = ApiURL + '/api/Report/GetAttachmentsByTicketIdWithSignoffReport?TicketId=' + TicketId;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedInUserId \r\n } \r\n});\r\n}\r\n\r\n// https://product.mymobiforce.com/coreapi/api/Image?fileName=Completion Sign Off Report_8299.pdf\r\nthis.viewReportPdf = function (loggedInUserId, token, fileName) { debugger\r\n var url = ApiURL + '/api/Image?fileName=' + fileName;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedInUserId \r\n } \r\n});\r\n}\r\n\r\n this.getAllJobTickets = function (supervisorId, startDate, endDate, token, itemNames,itemValues,templateCols,templateItemNames,templateItemValues, DateField) {\r\n var url = '';\r\n // itemNames = '';\r\n // itemValues = '';\r\n url = ApiURL + '/api/Ticket/GetTicketsbyDateRange?fromDate=' + startDate + '&toDate=' + endDate+ '&reqUserId=' + supervisorId + '&itemNames=' + itemNames + '&itemValues=' + itemValues+'&templateCols='+templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues + '&DateField=' + DateField;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': supervisorId\r\n }\r\n });\r\n }\r\n\r\n // https://product.mymobiforce.com/coreapi/api/Ticket/TicketRejectionHistory?TicketId=T1140000092053\r\n\r\nthis.getRejectHistory = function (TicketId, loggedinUser, token) { \r\n var url = ApiURL + '/api/Ticket/TicketRejectionHistory?TicketId=' + TicketId;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n }\r\n \r\n });\r\n}\r\n\r\n this.getAllJobTicketsCopy = function (supervisorId, startDate, endDate, token, itemNames,itemValues,textItemNames,textItemValues,templateCols,templateItemNames,templateItemValues,DateField,PageIndex,PageSize) {\r\n var url = '';\r\n url = ApiURL + '/api/Ticket/GetTicketsbyDateRangeWithDynaPaging?fromDate=' + startDate + '&toDate=' + endDate+ '&reqUserId=' + supervisorId + '&itemNames=' + itemNames + '&itemValues=' + itemValues + '&textItemNames=' + textItemNames + '&textItemValues=' + textItemValues +'&templateCols='+templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues+ '&DateField=' + DateField + '&PageIndex=' + PageIndex + '&PageSize=' + PageSize;\r\n // url = ApiURL + '/api/Ticket/GetTicketsbyDateRange?fromDate=' + startDate + '&toDate=' + endDate+ '&reqUserId=' + supervisorId + '&itemNames=' + itemNames + '&itemValues=' + itemValues+'&templateCols='+templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues + '&DateField=' + DateField;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': supervisorId\r\n }\r\n });\r\n }\r\n\r\n // url = https://product.mymobiforce.com/schedulingAPI/api/AutoJobBroadcast/AutoBroadcastAllNewJobsManualMode\r\n this.AutoBroadcastAllNewJobsManualMode = function (loginUserId,ticketId, token) {\r\n var url = '';\r\n url = SchedulingAPI + '/api/AutoJobBroadcast/BroadcastJobsManualMode'; \r\n return $http.post(url,ticketId, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n // https://perf.mymobiforce.com/publicapi/api/Report/DownloadAllTicketReport?fromDate=2019-11-28&toDate=2019-11-29&reqUserId=U400000000001&itemNames=SkillSet&itemValues=All%20Job%20Status&templateCols=All%20Source%20Types\r\n this.downloadTicketsReports = function (loggedInUserId, fromDate, toDate,itemNames,itemValues,templateCols) {\r\n var url = PublicApiURL + \"/api/Report/DownloadAllTicketReport?fromDate=\"+fromDate +'&toDate='+toDate + '&reqUserId='+loggedInUserId+ \"&itemNames=\" + itemNames + '&itemValues=' + itemValues+'&templateCols='+templateCols ;\r\n $window.open(url);\r\n }\r\n\r\n this.getCustomerJobCardbyJobId = function(accountId, jobId, token ,success, failure){\r\n\t\t$http.get(ApiURL+\"/api/GetCustomerJobCardbyJobId/\"+jobId+\"/\"+accountId+\"/GetCustomerJobCardbyJobId\", {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': accountId\r\n }\r\n }).then(function(res){\r\n\t\t\tif(res && res.data && success){\r\n\t\t\t\tsuccess(res.data);\r\n\t\t\t} else if(failure){\r\n\t\t\t\tfailure();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\r\n //http://localhost:56749/api/Ticket/DeleteTicket?UserId=asd&TicketId=asdasd\r\n this.DeleteTickets = function(userId,ticketId,token){\r\n // var url = ApiURL + \"/api/Ticket/DeleteTicket?UserId=\"+userId+ \"&TicketId=\"+ticketId;\r\n // return $http.delete(url,{\r\n // headers:{'Content-Type':'application/json','Token':token}\r\n // })\r\n\r\n return $http({\r\n method: 'DELETE',\r\n url: ApiURL + \"/api/Ticket/DeleteTicket?UserId=\"+userId+ \"&TicketId=\"+ticketId,\r\n data: {\r\n \r\n },\r\n headers: {\r\n 'Content-type': 'application/json', 'Token':token,'UserId': userId\r\n }\r\n })\r\n }\r\n\r\n this.SetTicketExecutionMode = function(reqUserId,mode,ticektIds,token){\r\n var url = ApiURL + \"/api/Ticket/SetTicketExecutionMode?ReqUserId=\" + reqUserId + \"&mode=\" + mode;\r\n return $http.put(url, {\r\n \"tickets\":ticektIds\r\n }, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': reqUserId\r\n }\r\n })\r\n }\r\n\r\n\r\n this.updateStartTime = function (ticketId, userId, startTime, token, success, failure) {\r\n var url = ApiURL + \"/api/Ticket/updatestartdate?requserid=\" + userId + \"&ticketid=\" + ticketId + \"&starttime=\" + encodeURI(startTime.format(\"YYYY-MM-DDThh:mm:ss.SSSZ\"));\r\n $http.put(url, {\r\n \"requserid\": userId,\r\n \"ticketid\": ticketId,\r\n \"starttime\": startTime.format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\")\r\n }, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': userId\r\n }\r\n }).then(function (res) {\r\n if (res) {\r\n success(res);\r\n } else {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n }\r\n }, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n //http://115.124.122.225/coreapi/api/Ticket/setsettlementstatus\r\n // this.updateTicketSettlement = function(data, token, success, failure){\r\n // var url = ApiURL + \"/api/Ticket/setsettlementstatus\"\r\n // $http.put(url, data,{\r\n // headers:{'Content-Type': 'application/json', 'Token': token}\r\n // }).then(success, function(error){\r\n // failure(\"Failed\", \"Job Settlement not updated. Server is not responding correctly.\")\r\n // });\r\n // }\r\n\r\n\r\n this.updateTicketSettlement = function (data, token, loggedInUserId, success, failure) {\r\n \r\n var url = ApiURL + \"/api/Ticket/setsettlementstatus\"\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.ApproveJob = function (data, token, loggedInUserId, success, failure) { \r\n var url = ApiURL + '/api/Ticket/updatestatus';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.AcceptJob = function (data, token, loggedInUserId, success, failure) { \r\n var url = ApiURL + '/api/Ticket/updatestatus';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.RejectJob = function (data, token, loggedInUserId, success, failure) { \r\n var url = ApiURL + '/api/Ticket/updatestatus';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.ConvertToNewJob = function (data, token, loggedInUserId, success, failure) { \r\n var url = ApiURL + '/api/Ticket/updatestatus';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n ///http://192.168.0.80:92/CoreAPI/api/Ticket/akshit.chauhan%40innotiontech.com/T0000000102/returnticket\r\n this.PullBackTicket = function (loggedInUserId, ticketId, token) {\r\n var url = ApiURL + '/api/Ticket/' + loggedInUserId + '/' + ticketId + '/returnticket';\r\n return $http.put(url, null,{\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n })\r\n }\r\n\r\n\r\n //https://test.mymobiforce.com/coreapi/api/Ticket/F00000000000/asdas/ActionByVendor?Action=asdasd\r\n this.ActionByVendor = function(loggedInUserId,ticketIds,action,token){\r\n var url = ApiURL + '/api/Ticket/' + loggedInUserId + '/'+ticketIds+'/ActionByVendor?Action='+action;\r\n return $http.put(url,{},{\r\n headers:{\r\n 'Content-Type':'application/json',\r\n 'Token':token,\r\n 'UserId': loggedInUserId\r\n }\r\n })\r\n }\r\n\r\n\r\n //http://192.168.0.80:92/Coreapi/api/Ticket/reqUserId/TicketId/HoldingStatus/ticketholding\r\n this.UpdateHoldingStatus = function (loggedInUserId, ticketId, holdingStatus,reason,Remark, token) {\r\n var url = ApiURL + '/api/Ticket/' + loggedInUserId + '/' + ticketId + '/ticketholding?HoldingStatus=' + holdingStatus +'&Reason=' + reason+ '&Remark='+ Remark;\r\n return $http.put(url,{}, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n })\r\n }\r\n\r\n this.updateTicket = function (ticket, loggedInUserId, token) {\r\n var url = ApiURL + '/api/Ticket?reqUserId=' + loggedInUserId;\r\n return $http.put(url, ticket, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.getJobAllStatus = function (loggedInUserId, token, success, failure) {\r\n var url = ApiURL + '/api/TicketStatus/' + loggedInUserId + '/GetAllTicketStatus';\r\n $http.get(url, { headers: { 'Token': token, 'UserId': loggedInUserId } }).then(function (res) {\r\n if (res && res.status == 200 && res.data) {\r\n if (success) {\r\n success(res.data);\r\n }\r\n } else if (res && res.data) {\r\n if (failure) {\r\n failure(\"Failed\", res.data);\r\n }\r\n } else {\r\n if (failure) {\r\n failure(\"Failed\", \"Unable to get status list, server is not responding correctly\");\r\n }\r\n }\r\n }, function (err) {\r\n if (failure) {\r\n failure(\"Failed\", \"Unable to get status list, server is not responding correctly\");\r\n }\r\n });\r\n }\r\n\r\n this.downloadMultipleReports = function (loggedInUserId, ticketId, reportMapperId, correlated) {\r\n var url = PublicApiURL + \"/api/Report/\" + ticketId + \"/DownloadReportByTemplateName?reqUserId=\" + loggedInUserId + \"&correlated=\" + (correlated?\"True\":\"False\")\r\n\r\n $window.open(url);\r\n }\r\n\r\n //https://product.mymobiforce.com/publicapi/api/Report/GeneratePdfOnSiteReportForMultipleTickets?TicketIds=T1140000016464_1\r\n this.downloadMultipleReports = function (loggedInUserId, ticketId, reportMapperId, correlated) {\r\n var url = PublicApiURL + \"/api/Report/\" + ticketId + \"/DownloadReportByTemplateName?reqUserId=\" + loggedInUserId + \"&correlated=\" + (correlated?\"True\":\"False\")\r\n\r\n $window.open(url);\r\n }\r\n\r\n\r\n //http://localhost:55238/api/Report/456/DownloadInvoice?reqUserId=123&correlated=True\r\n this.downloadInvoice = function (loggedInUserId, ticketId, correlated) {\r\n var url = PublicApiURL + \"/api/Report/\" + ticketId + \"/DownloadInvoice?reqUserId=\" + loggedInUserId + \"&correlated=\" + (correlated?\"True\":\"False\")\r\n\r\n $window.open(url);\r\n }\r\n\r\n this.getSkills = function (loggedinUser, token, callback, failure) {\r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json', 'Token': token,'UserId': loggedinUser } }).then(function (res) {\r\n if(callback){\r\n callback(res.data);\r\n }\r\n // vm.showSuccess(\"skills\", \"Got skills list\");\r\n }, function () {\r\n failure(\"skills\", \"Unable to get skills\");\r\n });\r\n }\r\n\r\n this.TicketFollowUp = function(data,files, token, loggedInUserId, success, failure){ \r\n var formdata = new FormData();\t\t\r\n\t\tformdata.append(\"files\", files[0]);\t\r\n\t\tvar followupdata = JSON.stringify(data);\r\n\t\tformdata.append(\"ActivityModel\", followupdata);\r\n \r\n var url = ActivityURL + '/api/Activity/FollowUpWithReason';\r\n return $http.post(url,formdata,{\r\n headers:{'Content-Type':undefined,'Token':token,'UserId': loggedInUserId }\r\n }).then(success, function(error){\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n this.CreateProductReplacementRequest = function (data,loggedInUserId, token) { \r\n var url = AcessoriesURL + '/api/MMFProductReplacement/CreateProductReplacementRequest'\r\n return $http.post(url, data,{\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n this.ResubmitProductReplacementRequest = function (data,loggedInUserId, token) { \r\n var url = AcessoriesURL + '/api/MMFProductReplacement/ResubmitProductReplacementRequest'\r\n return $http.put(url, data,{\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n this.TicketFollowUpWithoutDoc = function(data, token, loggedInUserId, success, failure){ \r\n var formdata = new FormData();\t\t\r\n\t\tvar followupdata = JSON.stringify(data);\r\n\t\tformdata.append(\"ActivityModel\", followupdata);\r\n \r\n var url = ActivityURL + '/api/Activity/FollowUpWithReason';\r\n return $http.post(url,formdata,{\r\n headers:{'Content-Type':undefined,'Token':token,'UserId': loggedInUserId }\r\n }).then(success, function(error){\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n this.getBillExpenseByTicketID = function(loggedinUser, ticketID, token){\r\n var url = ApiURL + '/api/Expense/GetByTicketId?ReqUserId=' + loggedinUser + '&TicketId=' +ticketID;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n\r\n this.getPdfReport = function(loggedinUser, ticketID, token){\r\n var url = ApiURL + '/api/Report/GeneratePdfReportForApprovedJob?TicketId=' +ticketID;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n // https://perf.mymobiforce.com/coreapi/api/Ticket/T0000000715%2CT0000000713/F00000000000/GetDataCaptureImagebyTicketId\r\n this.downloadImage = function(loggedInUserId,ticketIDs,token){ \r\n var url = PublicApiURL + \"/api/Report/DownloadDataCaptureInFieldPicture?reqUserId=\" + loggedInUserId + \"&TicketIds=\" + ticketIDs;\r\n $window.open(url);\r\n \r\n }\r\n\r\n // https://product.mymobiforce.com/publicapi/api/Report/DownloadDataCaptureInFileAttachment?reqUserId=U820000000001&TicketIds=T2040000000004\r\n this.downloadMultipleReport = function(loggedInUserId,ticketIDs){ \r\n var url = PublicApiURL + \"/api/Report/DownloadDataCaptureInFileAttachment?reqUserId=\" + loggedInUserId + \"&TicketIds=\" + ticketIDs;\r\n $window.open(url);\r\n \r\n }\r\n\r\n this.getAllCustomers = function(loggedInUser,token) {\r\n var url = ApiURL + '/api/Customer?reqUserId=' +loggedInUser;\r\n return $http.get(url,{\r\n headers:{ 'Content-Type' : 'application/json','Token':token,'UserId': loggedInUser }\r\n });\r\n }\r\n\r\n this.GetAllProjects = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/Project/' + loggedinUser + '/' + loggedinUser + '/GetProjectsByUserId'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json','Token':token,'UserId': loggedinUser }\r\n })\r\n}\r\n\r\n// https://product.mymobiforce.com/FreelancerAPI/api/FreeLancerUser/F00000001230/U400000000001/byUserIdWithJobCount\r\nthis.getUserProfileData = function (loggedinUser,userid, token) {\r\n var url = FreelancerURL + '/api/FreeLancerUser/' + userid + '/' + loggedinUser + '/byUserIdWithJobCount'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json','Token':token,'UserId': loggedinUser }\r\n })\r\n}\r\n\r\n// https://perf.mymobiforce.com/coreapi/api/User/235432432/byUserIdWithJobCount?reqUserId=34234\r\nthis.getFixedUserProfileData = function (loggedinUser,userid, token) {\r\n var url = ApiURL + '/api/User/' + userid + '/byUserIdWithJobCount?reqUserId=' + loggedinUser\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json','Token':token,'UserId': loggedinUser }\r\n })\r\n}\r\n//https://product.mymobiforce.com/coreapi/api/Ticket/CancelTicket?reqUserId=dfgdfs&TicketId=dfgfdg\r\nthis.CancelTicket = function(loggedInUserId,ticketId, token){\r\n var url = ApiURL + '/api/Ticket/CancelTicket?reqUserId='+loggedInUserId +'&TicketId='+ticketId;\r\n return $http.put(url,null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n}\r\nthis.TBCCancelationAudit = function(data,loggedInUserId, token){\r\n var url = ApiURL + '/api/Ticket/UpdateJobAudit';\r\n return $http.put(url,data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n}\r\nthis.GetCSATRatingByTicketID = function (loggedInUserId, ticketId,token) {\r\n var url = '';\r\n url = ApiURL + '/api/Ticket/'+loggedInUserId+'/'+ticketId+'/GetCSATRatingByTicketID';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n}\r\nthis.GetCancellationReasons = function (status, loggedInUserId,token) {\r\n var url = '';\r\n url = ApiURL + '/api/TicketCancelationReasonController/'+loggedInUserId+'/getCancellationReasons?AtStatus=' + status;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n}\r\n\r\nthis.UpdateJobServerCancel = function (CancellationReasonsModel, loggedInUserId, token) {\r\n var url = ApiURL + '/api/Ticket/UpdateJobServerCancel';\r\n return $http.put(url, CancellationReasonsModel, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n}\r\nthis.GetTicketByGeneralSearch = function (SearchText, PageIndex, PageSize,loggedInUserId,token) {\r\n var url = '';\r\n url = ApiURL + '/api/Ticket/GetTicketByGeneralSearch?searchText=' + SearchText + '&PageIndex=' + PageIndex+ '&PageSize=' + PageSize;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n}\r\nthis.AddSiteAuditwithAttachment = function(data, files, token, loggedinUser){ \r\n var formdata = new FormData();\t\t\r\n formdata.append(\"files\", files[0]);\t\r\n var followupdata = JSON.stringify(data);\r\n formdata.append(\"AuditRequestModel\", followupdata);\r\n formdata.append(\"reqUserId\", loggedinUser);\r\n var url = ApiURL + '/api/Upload/PostMediaFileWithAuditObject';\r\n return $http.post(url,formdata,{\r\n headers:{'Content-Type':undefined,'Token':token, 'UserId': loggedinUser}\r\n });\r\n}\r\n//https://product.mymobiforce.com/coreapi/api/Invoice/GetTicketDataToRaiseInvoice\r\nthis.GetTicketDataToRaiseInvoice = function (loggedinUser, ticketIdList,token) {\r\n var url = ApiURL + '/api/Invoice/GetTicketDataToRaiseInvoice'\r\n return $http.put(url, ticketIdList,{\r\n headers: { 'Content-Type': 'application/json','Token':token,'UserId': loggedinUser }\r\n })\r\n}\r\n\r\n//https://product.mymobiforce.com/coreapi/api/Invoice/MarkTicketsReadyToRaiseInvoice\r\nthis.MarkTicketsReadyToRaiseInvoice = function (loggedinUser, ticketwithLineitemList,token) {\r\n var url = ApiURL + '/api/Invoice/MarkTicketsReadyToRaiseInvoice'\r\n return $http.put(url, ticketwithLineitemList,{\r\n headers: { 'Content-Type': 'application/json','Token':token,'UserId': loggedinUser }\r\n })\r\n}\r\n //https://product.mymobiforce.com/CoreAPI/api/TicketRemarkOnStatus/getTicketRemarkOnStatus?AtStatus=FollowUp\r\n this.GetReasonsByStatus = function (loggedinUser, token, status) {\r\n var url = ApiURL + '/api/TicketRemarkOnStatus/getTicketRemarkOnStatus?AtStatus='+status;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json', 'Token': token, 'UserId': loggedinUser}\r\n });\r\n }\r\n this.GetPullBacknReasons = function (loggedInUserId,token) {\r\n var url = '';\r\n url = ApiURL + '/api/TicketRemarkOnStatus/getTicketRemarkOnStatus?AtStatus=' + 'PullBack';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n this.ReopenCancelCall = function (ticketId, loggedInUserId, token) {\r\n var url = MMFCRMURL + '/api/CRMConsumer/ReopenCancelCall?TicketId=' + ticketId;\r\n return $http.put(url,null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.PullBackTicketFromTechnician = function (CancellationReasonsModel, loggedInUserId, token) {\r\n var url = ApiURL + '/api/Ticket/PullBackTicketFromTechnician';\r\n return $http.put(url, CancellationReasonsModel, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n});\r\n\nangular.module('inspinia').controller('JobTicketViewControllerCopy', function ($state,DashboardService,$http, PaymentSectionService, $rootScope,JobTicketViewService, $stateParams, UIURL, $log, $localStorage, DTOptionsBuilder, ApiURL, DTColumnBuilder, $uibModal, $scope, toaster, $filter, DTColumnDefBuilder, $window, $timeout, PublicApiURL, jobBidCreationService, ImageUrl) {\r\n var vm = this;\r\n \r\n var loggedInUserId = $localStorage.loggedInUserId;\r\n if (!loggedInUserId) {\r\n \r\n $state.go('Login', {\r\n reload: true\r\n });\r\n \r\n } else {\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.accountConfig = $localStorage.accountConfig;\r\n vm.confirmTagModal = $scope.$parent.$parent.main.confirmTagModal;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.EnableRegion = vm.getAccountConfigSetting('EnableRegion');\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n var token = $localStorage.token;\r\n vm.Remarks = ''; \r\n vm.selectedTemplates = '';\r\n vm.PaymentStatus = '';\r\n vm.SettlementStatus = '';\r\n vm.enableFilters = true;\r\n vm.actionFlag = false;\r\n vm.editPermission = false;\r\n vm.reasonsForFU = '';\r\n vm.reasonsForHold = ''; \r\n vm.primaryFollowUpReason = '';\r\n vm.primaryFollowUpRemark = '';\r\n vm.primaryHoldReason = '';\r\n vm.primaryHoldRemark = '';\r\n vm.pullBackReasons = '';\r\n vm.pullBackReasonsRemark ='';\r\n vm.MoveSPDbyTwoDays = false;\r\n vm.ticketList = [];\r\n vm.statusList = [];\r\n // $scope.$parent.$parent.main.implementSelectItems('ticketList', this);\r\n vm.approvalRemark = '';\r\n vm.RejectionRemark = '';\r\n vm.searchText = \"\";\r\n vm.IsSearch = false;\r\n vm.searchStatusText = \"\";\r\n //vm.searchLabText = \"\";\r\n vm.searchJobTypeText = \"\";\r\n vm.DateField=\"CreatedOn\";\r\n vm.CustomerList = [];\r\n vm.ProjectList = [];\r\n vm.SearchByIs = '';\r\n vm.SearchByDiscription = '';\r\n vm.SearchByTName = '';\r\n vm.SearchByPName = '';\r\n vm.SearchByCName = '';\r\n vm.SearchByConsumerName = '';\r\n vm.SearchByConsumerContact = '';\r\n vm.SearchByState = '';\r\n vm.JobcountbyStatus=\"\";\r\n vm.states= [];\r\n vm.previousPage = $localStorage.previousPage;\r\n vm.autoScheduleOn = $localStorage.accountConfig.IsAutoSchedulerOn;\r\n var approveModalInstance = {};\r\n var supervisorId = $localStorage.loggedInUserId;\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n vm.loggedInAs = $localStorage.loggedinAs;\r\n //$log.log(\"role\", vm.Role);\r\n vm.aproveMessage = 'Please Rate !';\r\n var itemNames = '';\r\n var itemValues = '';\r\n var templateItemNames = '';\r\n var templateItemValues = '';\r\n var textItemNames = '';\r\n var textItemValues = '';\r\n var PageIndex = 1;\r\n var PageSize = 10; \r\n vm.IsSafetyAudit = 'Not Done'; \r\n vm.ratingwarning=\"\";\r\n vm.ticketListLength=0;\r\n vm.pageindexCount=0;\r\n vm.SiteAuditFileName=\"\";\r\n vm.IsWithInDays = \"first\";\r\n vm.WithInDaysNumbers = [1,2,3,4,5];\r\n vm.TicketDataToRaiseInvoiceList = []; \r\n vm.IsLoadSucessfull=false;\r\n vm.readyRaisedI = false;\r\n var uPageIndex = 1;\r\n var uPageSize = 10; \r\n var fPageIndex = 1;\r\n var fPageSize = 10; \r\n $scope.isCollapsed = true; \r\n $localStorage.AllJobStatus = vm.searchStatusText;\r\n vm.UsersType=\"\";\r\n vm.uType=\"\";\r\n var uitemNames=\"\";\r\n var uitemValues=\"\";\r\n vm.searchUsersText=\"\";\r\n vm.jobsCount='';\r\n vm.userPageListCount= 10;\r\n vm.financePageListCount= 10;\r\n vm.pageListCounts = [10, 20, 30, 50];\r\n vm.OrderBy = \"CreatedOn\";\r\n vm.sorttype = \"desc\";\r\n \r\n var startDate = moment().subtract(7, 'day').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.ticketdates = { startDate: moment().subtract(7, 'day'), endDate: moment() };\r\n vm.ticketranges = {\r\n 'Today': [moment(), moment()],\r\n // 'Yesterday': [moment().subtract(1, 'days'), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')]\r\n };\r\n vm.path = \"\";\r\n vm.path = $rootScope.rootScopeMessage;\r\n var scdt = new Date();\r\n scdt.setMinutes(scdt.getMinutes() + 30);\r\n vm.SourceCreationDate = scdt;\r\n var pcdt = new Date();\r\n pcdt.setDate(pcdt.getDate() + 7);\r\n vm.PlannedClosureDate = pcdt;\r\n\r\n vm.openCalendar = function (e, picker) {\r\n vm.ClosureDateTime.open = true;\r\n };\r\n var plannedclosuredatelimit = new Date();\t\r\n plannedclosuredatelimit.setMinutes(plannedclosuredatelimit.getMinutes() + 1)\r\n vm.ClosureDateTime = { date: '', datepickerOptions: { minDate: plannedclosuredatelimit } };\r\n if (vm.path == 'NewJobDetailsCopy') {\r\n \r\n vm.searchJobTypeText = $localStorage.AllJobType;\r\n vm.searchStatusText = $localStorage.AllJobStatus;\r\n var data = $localStorage.TicketFilterModel;\r\n \r\n if(data){\r\n vm.SearchByPName = data.JobProject;\r\n vm.SearchByTName = data.JobTName;\r\n vm.SearchByDiscription = data.JobDesc;\r\n vm.SearchByIs = data.JobId;\r\n vm.searchJobTypeText = data.JobType;\r\n vm.searchStatusText = data.JobStatus;\r\n vm.DateField = data.JobDType;\r\n PageIndex = data.PageIndex;\r\n vm.ticketdates = { startDate: data.JobSDate, endDate: data.JobEDate };\r\n \r\n }\r\n \r\n \r\n }\r\n \r\n if (vm.path == 'isTicketView') {\r\n var startDate = $localStorage.SDate;\r\n var endDate = $localStorage.EDate;\r\n vm.ticketdates = { startDate: startDate, endDate: endDate };\r\n } else {\r\n var startDate = $localStorage.SDate?$localStorage.SDate: moment().subtract(1, 'day').format(\"YYYY-MM-DD\");\r\n var endDate = $localStorage.EDate? $localStorage.EDate: moment().format(\"YYYY-MM-DD\");\r\n vm.ticketdates = { startDate: startDate, endDate: endDate };\r\n $scope.dates = { startDate: moment().subtract(1, 'day'), endDate: moment() };\r\n }\r\n\r\n $scope.totalTableUsers = 0;\r\n $scope.usersTablePerPage = 10; // this should match however many results your API puts on one page\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n \r\n $scope.UserTablepagination.current= $localStorage.TicketFilterModel?$localStorage.TicketFilterModel.PageIndex:1;\r\n PageIndex=$scope.UserTablepagination.current;\r\n $scope.UserTablepageChanged = function(newPage) { \r\n PageIndex = newPage;\r\n vm.FilterArray(); \r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,newPage,PageSize);\r\n };\r\n\r\n \r\n vm.ResetFilter = function(){\r\n vm.searchStatusText = \"\";\r\n vm.searchLabText = \"\";\r\n vm.searchJobTypeText = \"\";\r\n vm.DateField=\"CreatedOn\"; \r\n vm.SearchByIs = '';\r\n vm.SearchByDiscription = '';\r\n vm.SearchByTName = '';\r\n vm.SearchByPName = '';\r\n vm.SearchByCName = ''; \r\n vm.SearchByConsumerName = '';\r\n vm.SearchByConsumerContact = '';\r\n vm.SearchByState = '';\r\n //vm.CustomerList = [];\r\n //vm.ProjectList = [];\r\n vm.ProjectListByCustomer=[];\r\n PageIndex=1;\r\n PageSize=10;\r\n vm.FilterArray(); \r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n\r\n }\r\n vm.FilterArray = function () {\r\n \r\n itemNames = '';\r\n itemValues = '';\r\n templateItemNames = '';\r\n templateItemValues = '';\r\n if (vm.searchJobTypeText) { \r\n itemNames = 'Skill';\r\n itemValues = vm.searchJobTypeText.join(\"|\"); \r\n } \r\n if (vm.searchStatusText && vm.searchStatusText != \"\")\r\n { \r\n if(itemNames.length > 0 && itemValues.length > 0){\r\n itemNames = itemNames + ',Status';\r\n itemValues = itemValues + ',' + vm.searchStatusText.join(\"|\");\r\n }else{\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText.join(\"|\");\r\n }\r\n } \r\n if(vm.JobcountbyStatus)\r\n {\r\n itemNames = 'Status';\r\n itemValues = vm.JobcountbyStatus;\r\n }\r\n if(vm.SearchByCName){\r\n if(itemNames.length > 0 && itemValues.length > 0){\r\n itemNames = itemNames + ',CustomerName';\r\n itemValues = itemValues + ',' + vm.SearchByCName;\r\n }else{\r\n itemNames = 'CustomerName';\r\n itemValues = vm.SearchByCName;\r\n }\r\n if(itemNames.length > 0 && itemValues.length > 0){\r\n itemNames = itemNames + ',ProjectName';\r\n itemValues = itemValues + ',' + vm.SearchByPName;\r\n }else{\r\n itemNames = 'ProjectName';\r\n itemValues = vm.SearchByPName;\r\n }\r\n }\r\n textItemNames = '';\r\n textItemValues = '';\r\n if(vm.SearchByIs){\r\n if(textItemNames.length == 0 && textItemValues.length == 0){\r\n textItemNames = 'CorelationValue';\r\n textItemValues = vm.SearchByIs;\r\n }else{\r\n textItemNames = textItemNames + ',CorelationValue';\r\n textItemValues = textItemValues + ',' + vm.SearchByIs;\r\n }\r\n \r\n }\r\n if(vm.SearchByDiscription){\r\n if(textItemNames.length == 0 && textItemValues.length == 0){\r\n textItemNames = 'JobDescription';\r\n textItemValues = vm.SearchByDiscription;\r\n }else{\r\n textItemNames = textItemNames + ',JobDescription';\r\n textItemValues = textItemValues + ',' + vm.SearchByDiscription;\r\n }\r\n }\r\n if(vm.SearchByTName){\r\n if(textItemNames.length == 0 && textItemValues.length == 0){\r\n textItemNames = 'UserName';\r\n textItemValues = vm.SearchByTName;\r\n }else{\r\n textItemNames = textItemNames + ',UserName';\r\n textItemValues = textItemValues + ',' + vm.SearchByTName;\r\n }\r\n }\r\n if(vm.SearchByConsumerName){\r\n if(textItemNames.length == 0 && textItemValues.length == 0){\r\n textItemNames = 'ConsumerName';\r\n textItemValues = vm.SearchByConsumerName;\r\n }else{\r\n textItemNames = textItemNames + ',ConsumerName';\r\n textItemValues = textItemValues + ',' + vm.SearchByConsumerName;\r\n }\r\n }\r\n if(vm.SearchByConsumerContact){\r\n if(textItemNames.length == 0 && textItemValues.length == 0){\r\n textItemNames = 'ConsumerContact';\r\n textItemValues = vm.SearchByConsumerContact;\r\n }else{\r\n textItemNames = textItemNames + ',ConsumerContact';\r\n textItemValues = textItemValues + ',' + vm.SearchByConsumerContact;\r\n }\r\n }\r\n if(vm.SearchByState){\r\n if(textItemNames.length == 0 && textItemValues.length == 0){\r\n textItemNames = 'State';\r\n textItemValues = vm.SearchByState;\r\n }else{\r\n textItemNames = textItemNames + ',State';\r\n textItemValues = textItemValues + ',' + vm.SearchByState;\r\n }\r\n }\r\n if(vm.searchText)\r\n {\r\n itemNames = 'Search';\r\n itemValues = vm.searchText;\r\n templateItemNames = '';\r\n templateItemValues = ''; \r\n textItemNames = '';\r\n textItemValues = '';\r\n } \r\n }\r\n\r\n vm.GetAllStates = function () {\r\n JobTicketViewService.getStates(supervisorId, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length > 0) {\r\n vm.states = resp.data;\r\n }\r\n }\r\n });\r\n }\r\n vm.GetAllStates();\r\n\r\n vm.PlannedClosureDateModelOpen= function()\r\n {\r\n var ticketIdList=[];\r\n vm.IsLoadSucessfull=false;\r\n for(var j=0;j 0 ? ticketId.substring(0, ticketId.length - 1) : ticketId;\r\n \r\n if (action == 'Accepted') {\r\n vm.editPermission = true;\r\n vm.confirmTagModal(\"Do you want to accept selected ticket's?\", function () {\r\n $log.log('Accept CallBack Call');\r\n JobTicketViewService.ActionByVendor(loggedInUserId, ticketId, action, token).then(function (resp) {\r\n if (resp.status == 202) { \r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n vm.actionFlag = false;\r\n vm.showSuccess(\"Success\", \"Selected Jobs has been accepted successfully\");\r\n \r\n } else {\r\n vm.showFailure(\"Failed\", \"Server facing some technical issue, please try again later\");\r\n }\r\n })\r\n })\r\n } else {\r\n vm.editPermission = false;\r\n vm.confirmTagModal(\"Do you want to reject selected ticket's?\", function () {\r\n $log.log('Accept CallBack Call');\r\n JobTicketViewService.ActionByVendor(loggedInUserId, ticketId, action, token).then(function (resp) {\r\n if (resp.status == 202) { \r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.actionFlag = false;\r\n }, 1000);\r\n vm.showSuccess(\"Success\", \"Selected Jobs has been rejected successfully\");\r\n \r\n } else {\r\n vm.showFailure(\"Failed\", \"Server facing some technical issue, please try again later\");\r\n }\r\n })\r\n })\r\n }\r\n }\r\n vm.enableFilters = true;\r\n \r\n vm.dtInstance = {}; \r\n vm.searchTable = function () { \r\n vm.FilterArray(); \r\n vm.ResetFilter(); \r\n // vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n \r\n };\r\n \r\n if($localStorage.backToTicketList==\"JobDetailView\")\r\n { \r\n $localStorage.backToTicketList=\"\"; \r\n vm.searchStatusText=$localStorage.TicketFilterModel.JobStatus;\r\n vm.searchJobTypeText=$localStorage.TicketFilterModel.JobType;\r\n vm.SearchByIs=$localStorage.TicketFilterModel.JobId;\r\n vm.SearchByDiscription=$localStorage.TicketFilterModel.JobDesc;\r\n vm.SearchByTName=$localStorage.TicketFilterModel.JobTName;\r\n vm.SearchByCName=$localStorage.TicketFilterModel.JobCustomer;\r\n vm.SearchByPName=$localStorage.TicketFilterModel.JobProject;\r\n vm.DateField=$localStorage.TicketFilterModel.JobDType;\r\n PageIndex=$localStorage.TicketFilterModel.PageIndex;\r\n vm.JobcountbyStatus=$localStorage.TicketFilterModel.JobcountbyStatus;\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n $localStorage.backToTicketList=\"\"; \r\n $localStorage.TicketFilterModel.PageIndex = 1;\r\n \r\n }\r\n else\r\n { \r\n if( typeof $localStorage.TicketFilterModel === \"undefined\" || $localStorage.TicketFilterModel==\"\" || typeof $localStorage.TicketFilterModel.PageIndex === \"undefined\")\r\n PageIndex=1;\r\n\r\n $localStorage.TicketFilterModel = {};\r\n $localStorage.TicketFilterModel.PageIndex = 1;\r\n \r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n $localStorage.TicketFilterModel = {};\r\n }\r\n vm.closeSearchText = function()\r\n { \r\n if(vm.searchText!=\"\")\r\n {\r\n vm.searchText=\"\";\r\n vm.ResetFilter();\r\n }\r\n }\r\n vm.ViewJob = function (ticket) { \r\n $localStorage.backToOldJobList = '';\r\n $localStorage.SDate = startDate;\r\n $localStorage.EDate = endDate;\r\n $localStorage.previousPage = 'jobticketcopy';\r\n $localStorage.TicketFilterModel ={\r\n \"JobType\" : vm.searchJobTypeText,\r\n \"JobStatus\" : vm.searchStatusText,\r\n \"JobDType\" : vm.DateField,\r\n \"JobSDate\" : startDate,\r\n \"JobEDate\" : endDate,\r\n \"JobId\" : vm.SearchByIs,\r\n \"JobDesc\" : vm.SearchByDiscription,\r\n \"JobTName\" : vm.SearchByTName, \r\n \"JobCustomer\" : vm.SearchByCName,\r\n \"JobProject\" : vm.SearchByPName,\r\n \"PageIndex\" : PageIndex,\r\n \"JobcountbyStatus\" : vm.JobcountbyStatus\r\n \r\n } ;\r\n // vm.VerticalName == 'Telecom' || vm.VerticalName == 'IMS'\r\n if(vm.VerticalName == 'IMS'){\r\n $state.go('index.JobView', {\r\n ticketId: ticket\r\n }, {\r\n reload: true\r\n });\r\n }else{\r\n $state.go('index.JobDetailView', {\r\n ticketId: ticket\r\n }, {\r\n reload: true\r\n }); \r\n }\r\n \r\n }\r\n\r\n vm.state = {};\r\n var columns = [\r\n {'name': 'field1', 'visible':true},//0\r\n {'name': 'field1', 'visible':true},//1\r\n {'name': 'field1', 'visible':true},//2\r\n {'name': 'field1', 'visible':true},//3\r\n {'name': 'field1', 'visible':true},//4\r\n {'name': 'field1', 'visible':true},//5\r\n {'name': 'field1', 'visible':true},//6\r\n {'name': 'field1', 'visible':true},//7\r\n {'name': 'field1', 'visible':true},//8\r\n {'name': 'field1', 'visible':true},//9\r\n {'name': 'field1', 'visible':true},//10\r\n {'name': 'field1', 'visible':true},//11\r\n {'name': 'field1', 'visible':true},//12\r\n {'name': 'field1', 'visible':true},//13\r\n {'name': 'field1', 'visible':true},//14\r\n {'name': 'field1', 'visible':true},//15\r\n {'name': 'field1', 'visible':true},//16\r\n {'name': 'field1', 'visible':true},//17\r\n {'name': 'field1', 'visible':true},//18\r\n {'name': 'field1', 'visible':true},//19\r\n {'name': 'field1', 'visible':true},//20\r\n {'name': 'field1', 'visible':true},//21\r\n {'name': 'field1', 'visible':true},//22\r\n {'name': 'field1', 'visible':true},//23\r\n {'name': 'field1', 'visible':true},//24\r\n {'name': 'field1', 'visible':true},//25\r\n {'name': 'field1', 'visible':true},//26\r\n {'name': 'field1', 'visible':true},//27\r\n {'name': 'field1', 'visible':true},//28\r\n {'name': 'field1', 'visible':true},//29\r\n {'name': 'field1', 'visible':true},//30\r\n {'name': 'field1', 'visible':true},//31\r\n {'name': 'field1', 'visible':true},//32\r\n {'name': 'field1', 'visible':true},//33\r\n {'name': 'field1', 'visible':true},//34\r\n {'name': 'field1', 'visible':true},//35\r\n {'name': 'field1', 'visible':true},//36\r\n {'name': 'field1', 'visible':true},//37\r\n {'name': 'field1', 'visible':true},//38\r\n {'name': 'field1', 'visible':true},//39\r\n {'name': 'field1', 'visible':true},//40\r\n {'name': 'field1', 'visible':true},//41\r\n {'name': 'field1', 'visible':true},//42\r\n {'name': 'field1', 'visible':true},//43\r\n {'name': 'field1', 'visible':true},//44\r\n {'name': 'field1', 'visible':true},//45\r\n {'name': 'field1', 'visible':true},//46\r\n {'name': 'field1', 'visible':true},//47\r\n {'name': 'field1', 'visible':true},//48\r\n {'name': 'field1', 'visible':true},//49\r\n {'name': 'field1', 'visible':true},//50\r\n {'name': 'field1', 'visible':true},//51\r\n {'name': 'field1', 'visible':true},//52\r\n {'name': 'field1', 'visible':true},//53\r\n {'name': 'field1', 'visible':true},//54\r\n {'name': 'field1', 'visible':true},//55\r\n {'name': 'field1', 'visible':true},//56\r\n {'name': 'field1', 'visible':true},//57\r\n {'name': 'field1', 'visible':true},//58\r\n {'name': 'field1', 'visible':true},//59\r\n {'name': 'field1', 'visible':true},//60\r\n {'name': 'field1', 'visible':true},//61\r\n {'name': 'field1', 'visible':true},//62\r\n {'name': 'field1', 'visible':true}//63\r\n ]\r\n\r\n vm.state.columns = columns;\r\n \r\n vm.dtOptions = DTOptionsBuilder.newOptions()\r\n .withPaginationType('full_numbers').withOption('lengthChange', false)\r\n .withOption('paging', false)\r\n .withOption('bInfo',false)\r\n .withOption('order', []);\r\n\r\n\r\n vm.dtColumnDefs = []; \r\n\r\n vm.buildColumnBuilder = function (){\r\n var tablecolumns = [];\r\n for(var index = 0; index < vm.state.columns.length; index++)\r\n {\r\n if( vm.state.columns[index].visible)\r\n {\r\n tablecolumns.push(DTColumnDefBuilder.newColumnDef(index).notSortable());\r\n }\r\n else\r\n {\r\n tablecolumns.push(DTColumnDefBuilder.newColumnDef(index).notSortable().notVisible())\r\n }\r\n }\r\n vm.dtColumnDefs = tablecolumns;\r\n }\r\n\r\n vm.buildColumnBuilder(); \r\n \r\n \r\n // Copied from main controller\r\n vm.implementSelectItems = function (itemList, scope) {\r\n scope.selectAll = false;\r\n scope.showMinus = false;\r\n scope.showAutoSchduleBtn = false;\r\n scope.downloadFlag = false;\r\n scope.downloadReportBtn = false;\r\n scope.deleteFlag = false;\r\n scope.ReadyToRaiseInvoiceFlag = false;\r\n scope.PlannedClosureDateFlag = false;\r\n scope.selectRow = function (i) { \r\n //$log.log(\"selectRow called\");\r\n scope.showMinus = false;\r\n scope.selectAll = false;\r\n scope.showAutoSchduleBtn = false;\r\n scope.downloadFlag = false;\r\n scope.downloadReportBtn = false;\r\n scope.deleteFlag = false;\r\n scope.ReadyToRaiseInvoiceFlag = false;\r\n scope.PlannedClosureDateFlag = false;\r\n \r\n for(var j=0;j

\" + vm.name + \"

\" + ' ' + vm.contactnumber);\r\n $scope.InfoWindow.open($scope.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n $scope.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, vm.customerJobCard);\r\n \r\n //Plotting the Marker on the Map.\r\n $scope.Latlngbounds.extend(marker.position);\r\n \r\n }\r\n vm.makeJobMarker = function (position, icon, map) {\r\n var marker = new google.maps.Marker({\r\n position: position,\r\n map: map,\r\n icon: icon\r\n });\r\n \r\n //Adding InfoWindow to the Marker.\r\n (function (marker, customerJobCard) {\r\n google.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n $scope.InfoWindow.setContent(\"

\" + vm.customerJobCard.ConsumerName + \"

\" + ' ' + vm.customerJobCard.JobId + \"
\" + ' ' + moment(vm.customerJobCard.JobDateTime).format(\"YYYY-MM-DD HH:mm\") + \"
\" + ' ' + vm.customerJobCard.ConsumerContact);\r\n $scope.InfoWindow.open($scope.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n $scope.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, vm.customerJobCard);\r\n \r\n //Plotting the Marker on the Map.\r\n $scope.Latlngbounds.extend(marker.position);\r\n }\r\n //It is used for the distance also \r\n function initMap() {\r\n var pointA = new google.maps.LatLng(vm.JobLatitude, vm.JobLongitude),\r\n pointB = new google.maps.LatLng(vm.FELatitude, vm.FELongitude),\r\n // center = new google.maps.LatLng(51.3, 0.8),\r\n myOptions = {\r\n zoom: 8,\r\n zoomControl: false,\r\n scaleControl: true,\r\n mapTypeControl: false,\r\n streetViewControl: false,\r\n gestureHandling: 'greedy',\r\n // center: center,\r\n mapTypeId: google.maps.MapTypeId.ROADMAP\r\n },\r\n \r\n map = new google.maps.Map(document.getElementById('map-canvas'), myOptions),\r\n // Instantiate a directions service.\r\n directionsService = new google.maps.DirectionsService,\r\n directionsDisplay = new google.maps.DirectionsRenderer({\r\n map: map\r\n }),\r\n duration = document.getElementById('duration');\r\n distance = document.getElementById('distance');\r\n flightPath = new google.maps.Polyline({\r\n path: [pointA, pointB],\r\n // geodesic: true,\r\n strokeColor: 'red',\r\n });\r\n $scope.InfoWindow = new google.maps.InfoWindow();\r\n $scope.Latlngbounds = new google.maps.LatLngBounds();\r\n // click on marker B to get route from A to B\r\n calculateAndDisplayRoute(directionsService, directionsDisplay, pointA, pointB, distance, duration, map);\r\n var travelMode = \"DRIVING\";\r\n var icon = \"https://img.icons8.com/color/96/000000/street-view.png\";\r\n }\r\n function calculateAndDisplayRoute(directionsService, directionsDisplay, pointA, pointB, distance, duration, map) {\r\n var selectedMode = \"DRIVING\";\r\n directionsService.route({\r\n origin: pointA,\r\n destination: pointB,\r\n unitSystem: google.maps.UnitSystem.METRIC,\r\n travelMode: google.maps.TravelMode[selectedMode]\r\n }, function (response, status) {\r\n if (status == google.maps.DirectionsStatus.OK) {\r\n new google.maps.DirectionsRenderer({\r\n map: map,\r\n directions: response,\r\n suppressMarkers: true,\r\n polylineOptions: {\r\n strokeColor: \"#000000\"\r\n }\r\n });\r\n var leg = response.routes[0].legs[0];\r\n //outputTxt.innerHTML =(response.routes[0].legs[0].distance.value/1000) + \" Kms\";\r\n distance.innerHTML = response.routes[0].legs[0].distance.text;\r\n duration.innerHTML = response.routes[0].legs[0].duration.text;\r\n vm.distance = response.routes[0].legs[0].distance.value / 1000;\r\n vm.makeJobMarker(leg.start_location, icons.start, map);\r\n vm.makeUserMarker(leg.end_location, icons.end, map);\r\n } else {\r\n window.alert('Directions request failed due to ' + status);\r\n }\r\n });\r\n }\r\n \r\n var icons = {\r\n start: new google.maps.MarkerImage(\r\n // URL\r\n UIURL + '/assets/images/patterns/JOb_icon.png',\r\n // (width,height)\r\n new google.maps.Size(44, 32),\r\n // The origin point (x,y)\r\n new google.maps.Point(0, 0),\r\n // The anchor point (x,y)\r\n new google.maps.Point(22, 32)),\r\n end: new google.maps.MarkerImage(\r\n // URL\r\n UIURL + '/assets/images/patterns/delivery-man1.png',\r\n // (width,height)\r\n new google.maps.Size(44, 32),\r\n // The origin point (x,y)\r\n new google.maps.Point(0, 0),\r\n // The anchor point (x,y)\r\n new google.maps.Point(22, 32))\r\n };\r\n /* vm.getReadableDate = function(){\r\n var time = new moment(vm.customerJobCard.JobDateTime, \"YYYY-MM-DDThh:mm:ss\");\r\n return time.format(\"DD MMM YYYY\")+\" at \"+time.format(\"LTS\"); \r\n } */\r\n vm.getCustomerJobCard = function () {\r\n JobTicketViewService.getCustomerJobCardbyJobId(loggedInUserId, vm.trackingTicketId, token, function (data) {\r\n vm.JobLatitude = data.JobLatitude;\r\n vm.JobLongitude = data.JobLongitude;\r\n vm.FELatitude = data.FELatitude;\r\n vm.FELongitude = data.FELongitude;\r\n vm.contactnumber = data.FEContactNumber;\r\n vm.jobtype = data.Description;\r\n vm.name = data.FEName;\r\n \r\n if(data.FEContactNumber){\r\n vm.contactnumber=data.FEContactNumber.replace(/\\d(?=\\d{4})/g, '*');\r\n }\r\n // vm.mapMarkers=[];\r\n initMap();\r\n $log.log(\"res of getCustomerJobCard=\" + data);\r\n vm.customerJobCard = data;\r\n if(vm.customerJobCard.ConsumerContact){\r\n vm.customerJobCard.ConsumerContact=vm.customerJobCard.ConsumerContact.replace(/\\d(?=\\d{4})/g, '*');\r\n }\r\n if ($localStorage.rateJobParams) {\r\n vm.customerJobCard.userRole = $localStorage.Role;\r\n vm.customerJobCard.JobStatus = $localStorage.rateJobParams.status;\r\n vm.customerJobCard.CustomerGivenRating = $localStorage.rateJobParams.rating;\r\n delete $localStorage.rateJobParams;\r\n }\r\n if (data && data.JobStatus == 'PaymentDone') {\r\n \r\n }\r\n }, function () {\r\n vm.showFailure(\"Failed\", \"Unable to reach server\");\r\n });\r\n }\r\n //}\r\n vm.TicketBreachValueconver = function(TicketBreachValue)\r\n {\r\n var TicketBreachValueInString=\"\"; \r\n if(TicketBreachValue==0)\r\n TicketBreachValueInString = \"Not Breached\";\r\n if(TicketBreachValue==1)\r\n TicketBreachValueInString = \"Breached\";\r\n \r\n return TicketBreachValueInString;\r\n }\r\n vm.OpenTracking = function (ticket) {\r\n vm.trackingTicketId = ticket;\r\n Tracking = $uibModal.open({\r\n templateUrl: 'Tracking.html',\r\n size: 'lg',\r\n scope: $scope,\r\n controller: ModelInstanceOfMap\r\n })\r\n }\r\n vm.CloseTracking = function () {\r\n Tracking.close();\r\n }\r\n \r\n vm.getTemplateCallback = function (templates) {\r\n vm.templateListData = templates;\r\n vm.templateList = [];\r\n angular.forEach(vm.templateListData, function (d) {\r\n if (d.Skill != 'Water Sample Collection') {\r\n vm.templateList.push(d);\r\n }\r\n })\r\n }\r\n vm.OpenApproveModal = function (currentJOb) \r\n { \r\n vm.CurrentJob = currentJOb;\r\n vm.RatingOfTicket = ''; \r\n if(vm.CurrentJob.IsLineItemAvailable==true && vm.CurrentJob.IsDynamicPriceApproved==false){\r\n vm.aproveMessage = 'Please approve dynamic pricing line item under the ticket details section!';\r\n approveModalInstance = $uibModal.open({\r\n templateUrl: 'dynamic_price_approved_model.html',\r\n scope: $scope\r\n });\r\n }\r\n else{\r\n vm.aproveMessage = 'Please Rate !';\r\n approveModalInstance = $uibModal.open({\r\n templateUrl: 'approve_model.html',\r\n scope: $scope\r\n });\r\n } \r\n }\r\n \r\n vm.CloseModal = function () {\r\n approveModalInstance.close();\r\n }\r\n \r\n vm.OpenRescheduleAuditModal = function (currentAuditJOb) \r\n { \r\n vm.CurrentAuditJob = currentAuditJOb;\r\n vm.RatingOfTicket = '';\r\n vm.RescheduleAuditTicketId = vm.CurrentAuditJob.TicketId;\r\n vm.AuditPrimaryReason = vm.CurrentAuditJob.PrimaryReason;\r\n rescheduleAuditModalInstance = $uibModal.open({\r\n templateUrl: 'reschedule_audit_model.html',\r\n scope: $scope\r\n }); \r\n }\r\n \r\n vm.RescheduleAuditCloseModal = function () {\r\n rescheduleAuditModalInstance.close();\r\n }\r\n \r\n vm.JobRescheduleAudit = function()\r\n {\r\n\r\n var data = {\r\n \"TicketId\": vm.RescheduleAuditTicketId,\r\n \"AuditValue\": vm.RescheduleAuditModel,\r\n \"IsApplicableForAutoPayment\": vm.IsApplicableForAutoPayment\r\n }\r\n rescheduleAuditModalInstance.close();\r\n // JobTicketViewService.TBCCancelationAudit(vm.RescheduleAuditModel,vm.RescheduleAuditTicketId,loggedInUserId,token).then(function(res){\r\n JobTicketViewService.TBCCancelationAudit(data,loggedInUserId,token).then(function(res){\r\n if(res && res.status == 200){\r\n vm.showSuccess(\"Success\", \"Job cancelation audit successfully done.\"); \r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000); \r\n }\r\n });\r\n }\r\n \r\n\r\n vm.OpenSettlementModal = function (currentJOb) {\r\n vm.CurrentJob = currentJOb;\r\n vm.PaymentStatus = '';\r\n vm.Remarks = '';\r\n \r\n settlementModalInstance = $uibModal.open({\r\n templateUrl: 'settlement_model.html',\r\n scope: $scope\r\n });\r\n \r\n }\r\n \r\n vm.SettlementCloseModal = function () {\r\n settlementModalInstance.close();\r\n }\r\n \r\n vm.settlemenTicket = function (status, ticketId, remarks, userId) {\r\n settlementModalInstance.close();\r\n var settlementData = {};\r\n settlementData.PaymentStatus = status;\r\n settlementData.ReqUserId = loggedInUserId;\r\n settlementData.TicketId = ticketId;\r\n settlementData.Remarks = remarks;\r\n settlementData.FEId = userId;\r\n settlementData.Status = \"Done\";\r\n // $log.log('settlementData', settlementData);\r\n JobTicketViewService.updateTicketSettlement(settlementData, token, loggedInUserId, function (res) {\r\n \r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job settlement successfully done.\")\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to settlement payment. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n \r\n }\r\n \r\n \r\n vm.DeleteTicket = function () {\r\n var ticketId = [];\r\n angular.forEach(vm.ticketList, function (t) {\r\n if (t.checked) {\r\n ticketId.push(t.TicketId);\r\n }\r\n })\r\n // ticketId = ticketId.length > 0 ? ticketId.substring(0, ticketId.length - 1) : ticketId;\r\n \r\n if (ticketId != null && ticketId.length == 1) {\r\n JobTicketViewService.DeleteTickets(loggedInUserId, ticketId, token).then(function (resp) {\r\n vm.showAutoSchduleBtn = false;\r\n vm.downloadFlag = false;\r\n vm.downloadReportBtn = false;\r\n vm.deleteFlag = false;\r\n \r\n if (resp && resp.status == 202) {\r\n vm.showSuccess(\"Deleted\", resp.data);\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n } else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n \r\n })\r\n } else {\r\n vm.showFailure(\"Failed\", \"You can delete only one ticket at a time.\");\r\n }\r\n }\r\n \r\n \r\n vm.AutoSchedule = function () {\r\n var ticketId = [];\r\n angular.forEach(vm.ticketList, function (t) {\r\n if (t.checked) {\r\n ticketId.push(t.TicketId);\r\n }\r\n })\r\n \r\n if (ticketId != null) {\r\n JobTicketViewService.SetTicketExecutionMode(loggedInUserId, \"Auto\", ticketId, token).then(function (resp) {\r\n vm.showAutoSchduleBtn = false;\r\n vm.downloadFlag = false;\r\n vm.downloadReportBtn = false;\r\n vm.deleteFlag = false; \r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Scheduled Tickets\", resp.data.toString());\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n } else {\r\n vm.showFailure(\"Failed to schedule tickets\", resp.data.toString());\r\n }\r\n })\r\n } \r\n }\r\n \r\n \r\n vm.OpenFollowUpModel = function (ticketId) {\r\n vm.followup = '';\r\n vm.tickId = ticketId;\r\n FollowUpModel = $uibModal.open({\r\n templateUrl: 'FollowupJob.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n controller: ModalInstanceCtrlFollowUp,\r\n });\r\n }\r\n \r\n vm.CloseFollowUpModel = function () {\r\n vm.primaryFollowUpReason = '';\r\n vm.primaryFollowUpRemark = '';\r\n vm.primaryHoldReason='';\r\n vm.primaryHoldRemark='';\r\n vm.followFiles = null; \r\n FollowUpModel.close();\r\n }\r\n \r\n vm.RejectJobModel = function (currentJOb) {\r\n vm.CurrentJob = currentJOb;\r\n RejectJobModel = $uibModal.open({\r\n templateUrl: 'Rejectjob.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n \r\n\r\n \r\n vm.getRejectHistory = function (ticketId) \r\n { \r\n JobTicketViewService.getRejectHistory(ticketId,loggedInUserId,token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.getDetailsList=resp.data;\r\n openHistoryModel = $uibModal.open({\r\n templateUrl: 'openHistoryModel.html',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n\r\n }, function () {\r\n \r\n });\r\n } \r\n \r\n\r\n vm.CloseHistoryModel = function () {\r\n openHistoryModel.close();\r\n }\r\n\r\n vm.ConvertToNewJob = function(currentJOb){\r\n \r\n vm.CurrentJob = currentJOb; \r\n var data = {\r\n \"ReqUserId\": loggedInUserId,\r\n \"TicketId\": vm.CurrentJob.TicketId,\r\n \"Status\": \"New\" \r\n };\r\n JobTicketViewService.ConvertToNewJob(data, token, loggedInUserId, function (res) { \r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job converted successfully.\")\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to convert job. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n }\r\n \r\n vm.CloseRejectModel = function () {\r\n RejectJobModel.close();\r\n }\r\n\r\n //\r\n $scope.attachmentForFollowUp = function(files){\r\n var file = files.files[0]; \r\n vm.followFiles = files.files;\r\n var allowedExtensions = /(\\.jpg|\\.jpeg|\\.png|\\.msg|\\.pdf|\\.bmp|\\.xps)$/i; \r\n if(!allowedExtensions.exec(file.name)){\r\n vm.followFiles = [];\r\n vm.clear(); \r\n alert('Please upload file having extensions .pdf,.jpg,.jpeg,.png,.msg,.bmp,xps only.');\r\n }\r\n }\r\n \r\n vm.clear = function () {\r\n angular.element(\"input[type='file']\").val(null);\r\n }; \r\n\r\n vm.DocEdit = function(index){\r\n vm.followFiles=null; \r\n }\r\n\r\n vm.GetFollowupReasons = function(){\r\n JobTicketViewService.GetReasonsByStatus(loggedInUserId, token, 'FollowUp').then(function (resp) { \r\n if (resp && resp.data) {\r\n vm.reasonsForFU = resp.data;\r\n }\r\n });\r\n }\r\n vm.GetFollowupReasons();\r\n \r\n var ModalInstanceCtrlFollowUp = function ($scope, $rootScope, $uibModalInstance) { \r\n vm.updateFollowUpStatus = function () {\r\n var data = {};\r\n data = {\r\n \"userId\": loggedInUserId,\r\n \"dateTime\": \"\",\r\n \"activity\": \"\",\r\n \"action\": \"FOLLOW_UP\",\r\n \"userName\": \"\",\r\n \"ticketId\": vm.tickId,\r\n \"primaryReason\": vm.primaryFollowUpReason,\r\n \"SecondryReason\": \"\",\r\n \"ReasonComment\": vm.primaryFollowUpRemark\r\n }\r\n if(vm.followFiles != null) {\r\n JobTicketViewService.TicketFollowUp(data,vm.followFiles, token, loggedInUserId, function (res) {\r\n if (res && res.status == 201) {\r\n vm.showSuccess(\"Success\", \"Follow up done successfully.\");\r\n $timeout(function () {\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.CloseFollowUpModel();\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to create follow up. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n }\r\n else {\r\n JobTicketViewService.TicketFollowUpWithoutDoc(data, token, loggedInUserId, function (res) {\r\n if (res) {\r\n vm.showSuccess(\"Success\", \"Follow up done successfully.\");\r\n $timeout(function () {\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n }\r\n vm.CloseFollowUpModel();\r\n });\r\n }\r\n \r\n \r\n }\r\n }\r\n vm.ApproveJob = function () { \r\n if (vm.RatingOfTicket) {\r\n var jobwinrate = 0.0;\r\n if(vm.Winrate == null || vm.Winrate == 0 || vm.Winrate =='')\r\n jobwinrate = 0.0;\r\n else\r\n jobwinrate = vm.Winrate; \r\n \r\n approveModalInstance.close();\r\n var data = {\r\n \"ReqUserId\": loggedInUserId,\r\n \"TicketId\": vm.CurrentJob.TicketId,\r\n \"Status\": \"Approved\",\r\n \"JobWinRate\" : parseFloat(jobwinrate.toFixed(2)),\r\n \"TechnicianRating\": vm.RatingOfTicket.toString(),\r\n \"ApprovalRemark\": vm.approvalRemark.toString(),\r\n \"IsSafetyAudit\":vm.IsSafetyAudit\r\n };\r\n JobTicketViewService.ApproveJob(data, token, loggedInUserId, function (res) { \r\n if(res && res.data==\"Please enter atleast one Line Item to Approve this job \")\r\n {\r\n vm.showFailure(\"Success\", \"Please enter atleast one Line Item to Approve this job.\")\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n }\r\n else if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job approved successfully.\")\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n \r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to approve job. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n } else {\r\n vm.ratingwarning=\"Please rate the technician.\";\r\n //approveModalInstance.close();\r\n }\r\n }\r\n vm.AcceptJob = function (currentJOb) {\r\n vm.CurrentJob = currentJOb;\r\n var data = {\r\n \"ReqUserId\": loggedInUserId,\r\n \"TicketId\": vm.CurrentJob.TicketId,\r\n \"Status\": \"Accepted\" \r\n };\r\n JobTicketViewService.AcceptJob(data, token, loggedInUserId, function (res) { \r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job accepted successfully.\")\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to accept job. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n \r\n }\r\n \r\n vm.reAssignJob = function (currentJOb) {\r\n \r\n vm.CurrentJob = currentJOb;\r\n var data = {\r\n \"ReqUserId\": loggedInUserId,\r\n \"TicketId\": vm.CurrentJob.TicketId,\r\n \"Status\": \"Assigned\" \r\n };\r\n JobTicketViewService.AcceptJob(data, token, loggedInUserId,function (res) {\r\n \r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job reassigned successfully.\")\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to reassign job. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n \r\n }\r\n\r\n vm.cloneTicket = function (currentJOb) {\r\n \r\n vm.CurrentJob = currentJOb;\r\n if(vm.VerticalName == 'Telecom')\r\n {\r\n $state.go('index.JobBidCreation', { \r\n cloneticketid:vm.CurrentJob.TicketId \r\n },\r\n {\r\n reload: true,\r\n inherit: false,\r\n notify: true\r\n }); \r\n }\r\n else\r\n {\r\n $state.go('index.NewJobCreation', { \r\n },\r\n {\r\n reload: true,\r\n inherit: false,\r\n notify: true\r\n });\r\n \r\n }\r\n \r\n \r\n }\r\n \r\n vm.RejectJob = function () {\r\n if(!vm.RejectionRemark)\r\n {\r\n vm.showFailure(\"Failed\", \"Please comment on rejection.\");\r\n return;\r\n }\r\n RejectJobModel.close(); \r\n var data = {\r\n \"ReqUserId\": loggedInUserId,\r\n \"TicketId\": vm.CurrentJob.TicketId,\r\n \"Status\": \"Rejected\", \r\n \"RejectionRemark\": vm.RejectionRemark.toString()\r\n };\r\n JobTicketViewService.RejectJob(data, token, loggedInUserId, function (res) { \r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job rejected successfully.\")\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to approve job. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n \r\n }\r\n \r\n vm.PullBackTicket = function (ticketId) {\r\n JobTicketViewService.PullBackTicket(loggedInUserId, ticketId, token).then(function (resp) {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n })\r\n }\r\n\r\n vm.OpenHoldUpModel = function (ticketId, holdstatus) {\r\n if(holdstatus == 'Unhold')\r\n {\r\n vm.UpdateHoldingStatus(ticketId, holdstatus);\r\n } \r\n else{\r\n vm.tickId = ticketId;\r\n $scope.holdstatus =holdstatus;\r\n FollowUpModel = $uibModal.open({\r\n templateUrl: 'HoldJob.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n controller: ModalInstanceCtrlFollowUp,\r\n });\r\n } \r\n }\r\n \r\n vm.UpdateHoldReason=\"Update\";\r\n vm.UpdateHoldingStatus = function (ticketId, holdingStatus) {\r\n if(vm.primaryHoldReason!= null)\r\n\t\t\t{\t\r\n\t\t\t\tvm.enable1 = \"false\";\r\n\t\t\t\tvm.UpdateHoldReason=\"Updating...\";\r\n };\r\n JobTicketViewService.UpdateHoldingStatus(loggedInUserId, ticketId, holdingStatus,vm.primaryHoldReason,vm.primaryHoldRemark, token).then(function (resp) {\r\n if (resp.status == 202) {\r\n vm.showSuccess('Job Hold/Unhold Status', 'Job has been updated successfully');\r\n $timeout(function () {\r\n vm.FilterArray(); \r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.enable1 = \"true\";\t\r\n vm.UpdateHoldReason=\"Update\";\t\r\n }, 1000);\r\n vm.CloseFollowUpModel();\r\n }\r\n else if (resp.status == 206) {\r\n vm.showFailure('Failed', resp.data.Message);\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.enable1 = \"true\";\t\r\n\t\t\t\t\t\t vm.UpdateHoldReason=\"Update\";\t \r\n vm.getAllJobTicketsCopy(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000); \r\n vm.CloseFollowUpModel();\r\n } else {\r\n vm.showFailure('Job Hold/Unhold Status', 'Unable to update job, server is not responding correctly.');\r\n }\r\n }, function (err) {\r\n vm.showFailure('Job Hold/Unhold Status', 'Unable to update job, server is not responding correctly.');\r\n })\r\n }\r\n \r\n vm.downloadReport = function (ticketId, templateName) {\r\n if (templateName == 'Water Testing') {\r\n var urlWithFeasible = PublicApiURL + '/api/Report/' + ticketId + '/DownloadReportByTemplateName?reqUserId=' + $localStorage.loggedInUserId;\r\n $window.open(urlWithFeasible, '_blank')\r\n } else {\r\n var urlForNonFeasible = PublicApiURL + '/api/Report/' + ticketId + '/Report?reqUserId=' + $localStorage.loggedInUserId;\r\n $window.open(urlForNonFeasible, '_blank')\r\n }\r\n }\r\n\r\n //download PDF \r\n vm.downloadReportPDF = function (ticketId,OnSiteReport) { \r\n if (OnSiteReport != null) { \r\n var urlWithFeasible = PublicApiURL + '/api/Report/GeneratePdfOnSiteReportForMultipleTickets?TicketIds=' + ticketId;\r\n $window.open(urlWithFeasible, '_blank')\r\n } else {\r\n // var urlForNonFeasible = ApiURL + '/api/Report/GeneratePdfOnSiteReport?TicketIds=' + ticketId;\r\n // $window.open(urlForNonFeasible, '_blank')\r\n vm.downloadOnSiteReport(ticketId);\r\n }\r\n }\r\n\r\n \r\n\t\tvm.pdfimage = \"\";\r\n\t\tvm.DocumentAvailableMessage=\"\";\t\r\n\t\tvm.downloadOnSiteReport = function (ticketId) { \r\n\t\t\tvm.PDFView();\r\n\t\t\t\r\n\t\t\t// var PreviewConsolidatedInvoiceList = previewSelectedObj;\r\n\t\t\tJobTicketViewService.downloadOnSiteReport(loggedInUserId, token, ticketId).then(function (resp) {\r\n\t\t\t\t// var responseDataList=[];\r\n\t\t\t\tvm.responseDataList = resp.data;\r\n\t\t\t\t// for(var i=0; i 0 ? ticketId.substring(0, ticketId.length - 1) : ticketId;\r\n JobTicketViewService.downloadMultipleReports(loggedInUserId, ticketId, reportMapperId, correlated);\r\n vm.showAutoSchduleBtn = false;\r\n vm.downloadFlag = false;\r\n vm.downloadReportBtn = false;\r\n vm.deleteFlag = false;\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }\r\n \r\n vm.downloadInvoiceReport = function () {\r\n var ticketId = \"\";\r\n var correlated = $localStorage.accountConfig.CorrelatedReports;\r\n // var reportMapperId = $localStorage.accountConfig.ReportMapperId;\r\n angular.forEach(vm.ticketList, function (t) {\r\n if (t.checked) {\r\n ticketId += t.TicketId + \",\";\r\n }\r\n })\r\n ticketId = ticketId.length > 0 ? ticketId.substring(0, ticketId.length - 1) : ticketId;\r\n JobTicketViewService.downloadInvoice(loggedInUserId, ticketId, correlated);\r\n }\r\n \r\n vm.showMultipleDownloadButton = function () {\r\n var ticketSelected = false;\r\n var IsReportMapper = false; \r\n vm.invoiceFlag = false;\r\n vm.deleteFlag = false;\r\n vm.actionFlag = false;\r\n var actionFlagList = [];\r\n var deleteFlagList = [];\r\n angular.forEach(vm.ticketList, function (t) {\r\n ticketSelected = ticketSelected || t.checked;\r\n if(t.checked){\r\n if(t.reportMapperId)\r\n {\r\n IsReportMapper = true;\r\n }\r\n else\r\n {\r\n IsReportMapper = false; \r\n }\r\n }\r\n if (vm.Role == 'Vendor Manager') {\r\n if (t.checked && t.SkillSet == 'Water Lab Test' && t.TicketStatus == 'Completed') {\r\n vm.invoiceFlag = true;\r\n } else if (t.checked && t.AcceptDate != null) {\r\n actionFlagList.push(false);\r\n } else if (t.checked && t.AcceptDate == null && t.TicketStatus == 'Rejected') {\r\n actionFlagList.push(false);\r\n } else if (t.checked && t.AcceptDate == null && t.TicketStatus == 'Assigned') {\r\n actionFlagList.push(true);\r\n }\r\n } else {\r\n if (t.checked && t.SkillSet == 'Water Lab Test' && t.TicketStatus == 'Completed') {\r\n vm.invoiceFlag = true;\r\n } else if (t.checked && t.TicketStatus == 'New') {\r\n deleteFlagList.push(true);\r\n // vm.deleteFlag = true;\r\n } else if (t.checked && t.TicketStatus != 'New') {\r\n // vm.deleteFlag = false;\r\n deleteFlagList.push(false);\r\n }\r\n }\r\n \r\n \r\n })\r\n if (deleteFlagList.includes(false)) {\r\n vm.deleteFlag = false;\r\n } else if (deleteFlagList.includes(true)) {\r\n vm.deleteFlag = true;\r\n } if (actionFlagList.includes(false)) {\r\n vm.actionFlag = false\r\n } else {\r\n vm.actionFlag = true;\r\n }\r\n return IsReportMapper && ticketSelected && $localStorage.accountConfig != null && $localStorage.accountConfig.CorrelatedReports != null && $localStorage.accountConfig.ReportMapperId != null;\r\n }\r\n // vm.showInvoiceButton = function () {\r\n // var invoiceFlag = false;\r\n // angular.forEach(vm.ticketList, function (t) {\r\n // if (t.checked && t.SkillSet == 'Water Lab Test' && t.TicketStatus == 'Completed') {\r\n // var invoiceFlag = true;\r\n // return invoiceFlag;\r\n // } \r\n // })\r\n // return invoiceFlag;\r\n // }\r\n \r\n vm.hideSingleDownloadButton = function () {\r\n return $localStorage.accountConfig != null && $localStorage.accountConfig.CorrelatedReports != null && $localStorage.accountConfig.ReportMapperId != null;\r\n }\r\n\r\n // vm.getReason = function() {\r\n // $http.get(\"https://product.mymobiforce.com/ActivityAPI/api/Activity/GetReasonsForFollowUp\").then(\r\n // function successCallback(response) {\r\n // $scope.response = response;\r\n // },\r\n // function errorCallback(response) {\r\n // console.log(\"Unable to perform get request\");\r\n // }\r\n // );\r\n // };\r\n \r\n vm.getSkills = function () {\r\n JobTicketViewService.getSkills(loggedInUserId, token, function (skills) {\r\n vm.skills = skills;\r\n //vm.skills.unshift({ \"SkillName\": \"All Job Types\" }); \r\n if (vm.path == 'isTicketView') {\r\n vm.searchJobTypeText = $localStorage.AllJobType;\r\n // vm.searchStatusText = $localStorage.AllJobStatus;\r\n } \r\n }, vm.showFailure);\r\n \r\n \r\n \r\n }\r\n vm.getSkills();\r\n \r\n vm.isApprovalPermission = function (defaultValue) {\r\n if (vm.accountConfig && vm.accountConfig['ApprovalPermission'] != null) {\r\n return vm.accountConfig['ApprovalPermission'].split(\",\").indexOf($localStorage.loggedInUser_Role) > -1;\r\n }\r\n return defaultValue;\r\n }\r\n \r\n vm.OpenBillModal = function (ticketId) {\r\n vm.BillDetails = [];\r\n vm.TotalExpense = '';\r\n JobTicketViewService.getBillExpenseByTicketID(loggedInUserId, ticketId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n angular.forEach(resp.data, function (d) {\r\n vm.BillDetails = d.Bills;\r\n vm.TotalExpense = d.ExpenseAmount;\r\n })\r\n }\r\n if (vm.TotalExpense != 0) {\r\n BillModal = $uibModal.open({\r\n templateUrl: 'bill_model.html',\r\n scope: $scope\r\n })\r\n }\r\n })\r\n }\r\n \r\n vm.CloseBillModal = function () {\r\n BillModal.close();\r\n }\r\n \r\n vm.getPicUrl = function (pic) {\r\n return ImageUrl + '/' + pic;\r\n }\r\n\r\n vm.ReportpdfUrl = function (ticketId) {\r\n JobTicketViewService.getPdfReport(loggedInUserId, ticketId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n const linkSource = resp.data.Base64Data;\r\n const downloadLink = document.createElement(\"a\");\r\n const fileName = resp.data.ReportName;\r\n downloadLink.href = linkSource;\r\n downloadLink.download = fileName;\r\n downloadLink.click();\r\n } \r\n })\r\n }\r\n\r\n vm.pullBackTicketFromAssign = function(currentJOb){\r\n vm.CurrentJob = currentJOb;\r\n vm.AuditTicketId = vm.CurrentJob.TicketId;\r\n vm.TicketBreachValue = vm.CurrentJob.TicketBreachValue;\r\n if(vm.CurrentJob.TicketStatus==\"Assigned\" && vm.CurrentJob.SecondryStatus != \"InTransit\"){\r\n JobTicketViewService.GetPullBacknReasons(loggedInUserId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.pullBackReasonsList=resp.data;\r\n pullBackReasonsModalInstance = $uibModal.open({\r\n templateUrl: 'pullBack_reasons_model.html',\r\n scope: $scope\r\n }); \r\n }\r\n }, function () { \r\n });\r\n }\r\n }\r\n vm.UpdatePullBackReasons = function()\r\n {\r\n \r\n vm.pullBackReasonsForm.submitted = true;\r\n if (vm.pullBackReasonsForm.$valid) {\r\n \r\n var PullBackReasonsModel =\r\n {\r\n \"TicketId\": vm.AuditTicketId,\r\n \"PullBackReason\": vm.pullBackReasons+ ' ' + vm.pullBackReasonsRemark,\r\n \"MoveSPDbyTwoDays\": vm.MoveSPDbyTwoDays\r\n }\r\n JobTicketViewService.PullBackTicketFromTechnician(PullBackReasonsModel,loggedInUserId, token).then(function (resp) {\r\n if (resp && resp.status == 200) { \r\n vm.showSuccess(\"Success\",vm.AuditTicketId+\" Pull back from Technician\" ); \r\n $timeout(function () {\r\n vm.FilterArray(); \r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 2000); \r\n pullBackReasonsModalInstance.close();\r\n vm.pullBackReasons=\"\";\r\n vm.pullBackReasonsRemark=\"\";\r\n vm.MoveSPDbyTwoDays = false;\r\n }\r\n if (resp && resp.status == 206) { \r\n vm.showFailure('Failure',resp.data); \r\n $timeout(function () {\r\n vm.FilterArray(); \r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 2000); \r\n pullBackReasonsModalInstance.close();\r\n vm.pullBackReasons=\"\";\r\n vm.pullBackReasonsRemark=\"\";\r\n vm.MoveSPDbyTwoDays = false;\r\n }\r\n // else {\r\n // vm.showFailure('Failure',resp.data);\r\n // pullBackReasonsModalInstance.close();\r\n // }\r\n }, function () {\r\n \r\n }); \r\n }\r\n }\r\n vm.pullBackReasonsCloseModal = function () {\r\n pullBackReasonsModalInstance.close();\r\n vm.pullBackReasons=\"\";\r\n vm.pullBackReasonsRemark=\"\";\r\n \r\n vm.HintDisplay=\"\";\r\n }\r\n\r\n \r\n vm.reloadData = function(){\r\n var resetPaging = true;\r\n vm.dtInstance.reloadData(resetPaging);\r\n }\r\n //Cancel and clone ticket\r\n vm.CancleAndCloneTicket = function(ticket){\r\n var ticketData = ticket;\r\n $state.go('index.JobBidCreation', { cloneticketid:ticketData.TicketId },\r\n {reload: true,inherit: false,notify: true}); \r\n }\r\n vm.CancelTicket = function(ticketId, currentJOb){\r\n vm.CurrentJob = currentJOb;\r\n vm.RatingOfTicket = '';\r\n vm.AuditTicketId = vm.CurrentJob.TicketId;\r\n vm.TicketPaymentNeedToProcess = vm.CurrentJob.IsTicketPaymentNeedToProcess;\r\n vm.IsApplicableForAutoPayment = vm.CurrentJob.IsApplicableForAutoPayment;\r\n if(vm.CurrentJob.TicketStatus==\"Completed\" && vm.CurrentJob.SubStatus ==\"TBC\"){ \r\n vm.PrimaryReason = vm.CurrentJob.PrimaryReason;\r\n approveModalInstance = $uibModal.open({\r\n templateUrl: 'tbc_confirm_cancelation_model.html',\r\n scope: $scope\r\n });\r\n }\r\n else\r\n {\r\n \r\n vm.IsCancelFromServer = vm.accountConfig.IsCancelFromServer;\r\n if(vm.IsCancelFromServer && (vm.CurrentJob.TicketStatus==\"Assigned\" || vm.CurrentJob.TicketStatus==\"New\")){\r\n JobTicketViewService.GetCancellationReasons(vm.CurrentJob.TicketStatus, loggedInUserId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.CancellationReasonsList=resp.data;\r\n cancellationReasonsModalInstance = $uibModal.open({\r\n templateUrl: 'cancellation_reasons_model.html',\r\n scope: $scope\r\n }); \r\n }\r\n }, function () { \r\n });\r\n }\r\n else{\r\n JobTicketViewService.CancelTicket(loggedInUserId,ticketId,token).then(function(res){\r\n if(res.status == 202 && res.statusText =='Accepted'){\r\n vm.showSuccess('Success',res.data);\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n }, 1000);\r\n }\r\n }); \r\n }\r\n }\r\n }\r\n vm.OpenTicketRatingModal = function (currentTicketJob) \r\n { \r\n \r\n JobTicketViewService.GetCSATRatingByTicketID(loggedInUserId, currentTicketJob.TicketId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.TicketRatingList=resp.data;\r\n ticketRatingModalInstance = $uibModal.open({\r\n templateUrl: 'ticket_rating_model.html',\r\n scope: $scope\r\n });\r\n }\r\n \r\n }, function () {\r\n \r\n });\r\n } \r\n \r\n \r\n vm.TicketRatingCloseModal = function () {\r\n ticketRatingModalInstance.close();\r\n }\r\n vm.TBCCancelationAudit = function()\r\n {\r\n var data = {\r\n \"TicketId\": vm.AuditTicketId,\r\n \"AuditValue\": vm.TBCCancelationModel,\r\n // \"IsTicketPaymentNeedToProcess\": vm.TicketPaymentNeedToProcess\\\r\n \"IsApplicableForAutoPayment\": vm.IsApplicableForAutoPayment\r\n }\r\n vm.IsInvoiceEnabled;\r\n approveModalInstance.close();\r\n JobTicketViewService.TBCCancelationAudit(data,loggedInUserId,token).then(function(res){\r\n if(res && res.status == 200){\r\n vm.showSuccess(\"Success\", \"Job cancelation audit successfully done.\"); \r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n }, 2000); \r\n }\r\n });\r\n }\r\n\r\n vm.updateFalseTBC = function (status) {\r\n if(status == 'Yes' ) {\r\n vm.IsApplicableForAutoPayment = false;\r\n }\r\n else {\r\n vm.IsApplicableForAutoPayment = true;\r\n }\r\n }\r\n\r\n vm.CancellationReasonsCloseModal = function () {\r\n cancellationReasonsModalInstance.close();\r\n vm.CancellationReasons=\"\";\r\n vm.CancellationReasonsRemark=\"\";\r\n vm.HintDisplay=\"\";\r\n }\r\n vm.UpdateCancellationReasons = function()\r\n {\r\n \r\n vm.cancellationReasonsForm.submitted = true;\r\n if (vm.cancellationReasonsForm.$valid) {\r\n \r\n var CancellationReasonsModel =\r\n {\r\n \"TicketId\": vm.AuditTicketId,\r\n \"CancelReason\": vm.CancellationReasons,\r\n \"CancelRemark\": vm.CancellationReasonsRemark\r\n }\r\n JobTicketViewService.UpdateJobServerCancel(CancellationReasonsModel,loggedInUserId, token).then(function (resp) {\r\n if (resp && resp.status == 200) { \r\n vm.showSuccess(resp.data.Message); \r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n\r\n // vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, templateItemNames, templateItemValues);\r\n \r\n }, 2000); \r\n cancellationReasonsModalInstance.close();\r\n vm.CancellationReasons=\"\";\r\n vm.CancellationReasonsRemark=\"\";\r\n vm.HintDisplay=\"\";\r\n }\r\n }, function () {\r\n \r\n }); \r\n }\r\n }\r\n \r\n vm.ViewProfile = function (UserId,UserType) {\r\n var IsUser = false;\r\n if(UserType && UserType == 'Freelancer'){\r\n JobTicketViewService.getUserProfileData(supervisorId,UserId, token).then(function(res){\r\n if(res.data && res.status == 200){\r\n vm.UserProfileData = res.data;\r\n vm.customerrating = Number(vm.UserProfileData.CustomerRating).toFixed(1);\r\n vm.AddPreferredVendorModal = $uibModal.open({\r\n templateUrl: 'UserProfile.html',\r\n scope: $scope,\r\n windowClass:'schedulerModal',\r\n reload:true\r\n });\r\n }else{\r\n vm.showFailure('Failed',res.data.Message);\r\n }\r\n \r\n });\r\n }else if(UserType && UserType == 'Fixed Team'){\r\n JobTicketViewService.getFixedUserProfileData(supervisorId,UserId, token).then(function(res){\r\n if(res.data && res.status == 200){\r\n vm.UserProfileData = res.data;\r\n vm.AddPreferredVendorModal = $uibModal.open({\r\n templateUrl: 'UserProfile.html',\r\n scope: $scope,\r\n windowClass:'schedulerModal',\r\n reload:true\r\n });\r\n }else{\r\n vm.showFailure('Failed',res.data.Message);\r\n }\r\n \r\n });\r\n }else{\r\n JobTicketViewService.getUserProfileData(supervisorId,UserId, token).then(function(res){\r\n if(res.data && res.status == 200){\r\n vm.UserProfileData = res.data;\r\n if(vm.UserProfileData){\r\n vm.AddPreferredVendorModal = $uibModal.open({\r\n templateUrl: 'UserProfile.html',\r\n scope: $scope,\r\n windowClass:'schedulerModal',\r\n reload:true\r\n });\r\n }else{\r\n vm.showFailure('Failed','User Not found');\r\n }\r\n }else{\r\n vm.showFailure('Failed',res.data.Message);\r\n }\r\n \r\n });\r\n }\r\n \r\n \r\n }\r\n \r\n vm.UserProfileClose = function(){\r\n vm.AddPreferredVendorModal.close();\r\n }\r\n vm.downloadDataCaptureImage = function(){\r\n var ticket = '';\r\n for(var i=0;i 0 && itemValues.length > 0){\r\n itemNames = itemNames + ',Status';\r\n itemValues = itemValues + ',' + vm.searchStatusText;\r\n }else{\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText;\r\n } \r\n }\r\n\r\n if (vm.userskill) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',Skill';\r\n uitemValues = uitemValues + \",\" + vm.userskill;\r\n }\r\n else\r\n {\r\n uitemNames = 'Skill';\r\n uitemValues = vm.userskill;\r\n } \r\n }\r\n if (vm.userNameSearch) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',Search';\r\n uitemValues = uitemValues + \",\" + vm.userNameSearch;\r\n }\r\n else\r\n {\r\n uitemNames = 'Search';\r\n uitemValues = vm.userNameSearch;\r\n } \r\n }\r\n \r\n if (vm.PermanentState) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',State';\r\n uitemValues = uitemValues + \",\" + vm.PermanentState;\r\n }\r\n else\r\n {\r\n uitemNames = 'State';\r\n uitemValues = vm.PermanentState;\r\n } \r\n }\r\n \r\n if(vm.JobcountbyStatus)\r\n {\r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',Status';\r\n uitemValues = uitemValues + \",\" + vm.JobcountbyStatus;\r\n }\r\n else\r\n {\r\n uitemNames = 'Status';\r\n uitemValues = vm.JobcountbyStatus;\r\n }\r\n }\r\n if (vm.PermanentState && vm.PermanentCity) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',CurrentCity';\r\n uitemValues = uitemValues + \",\" + vm.PermanentCity;\r\n }\r\n else\r\n {\r\n uitemNames = 'CurrentCity';\r\n uitemValues = vm.UsersType;\r\n } \r\n }\r\n \r\n\r\n if(vm.UsersType==\"Freelancer\")\r\n {\r\n vm.uType=\"Freelancer\";\r\n }\r\n else if(vm.UsersType==\"Freelancer Vendor\")\r\n {\r\n vm.uType=\"Freelancer\";\r\n } \r\n else if(vm.UsersType==\"Freelancer Team\")\r\n {\r\n vm.uType=\"Fixed\";\r\n }\r\n else \r\n {\r\n vm.uType=\"\";\r\n vm.UsersType = '';\r\n } \r\n\r\n }\r\n\r\n \r\n// apply user rating to all displays\r\n// add star ratings to an array\r\nvar starRating = document.querySelectorAll(\".fa-star\"),\r\nratingTotal = document.querySelectorAll(\".rating-total\");\r\n\r\n// convert ratingTotal HTMLCollection to array and reverse its order (5 star <-> 1 star)\r\nvar reverseRatingTotal = Array.from(ratingTotal).reverse();\r\n\r\n// display initial rating totals\r\n// displayTotals();\r\n\r\n// use event listener to record changes to user rating\r\nstarRating.forEach(function(star) {\r\nstar.addEventListener(\"change\", recordRating);\r\n})\r\n\r\nfunction recordRating(event) {\r\n// use indexOf to identify selected user rating\r\nvar userRating = Array.from(starRating).indexOf(event.target);\r\n\r\n// define selected rating to adjust display totals\r\nvar selectedIndex;\r\n\r\nstarRating.forEach(function(item, index) {\r\n // add or remove .active class based upon selected user rating\r\n if (index < userRating + 1) {\r\n starRating[index].classList.add(\"active\");\r\n selectedIndex = index;\r\n } else {\r\n starRating[index].classList.remove(\"active\");\r\n }\r\n\r\n displayTotals(selectedIndex);\r\n});\r\n}\r\nvm.countForStatus = 50;\r\n// display star rating totals from html custom data-\r\nfunction displayTotals(selectedIndex) {\r\nvar barChart = document.querySelectorAll(\".bar\"),\r\n displaySummary = document.querySelectorAll(\".summary\"),\r\n numRatings = 0,\r\n numRatingsValue = 0;\r\n\r\n// convert barChart HTMLCollection to array and reverse its order (5 star <-> 1 star)\r\nvar reverseBarChart = Array.from(barChart).reverse();\r\n\r\nreverseRatingTotal.forEach(function(total, index) {\r\n if (index == selectedIndex) {\r\n // add selected rating to display total\r\n total.innerHTML = (parseInt(total.getAttribute(\"data-rating-count\")) + 1);\r\n // adjust selected bar width\r\n reverseBarChart[index].style.width = (((parseInt(total.getAttribute(\"data-rating-count\")) + 1) / 20) * 100) + \"%\";\r\n } else {\r\n // display unselected totals\r\n total.innerHTML = total.getAttribute(\"data-rating-count\");\r\n // adjust unselected bar widths\r\n reverseBarChart[index].style.width = ((total.getAttribute(\"data-rating-count\") / 20) * 100) + \"%\";\r\n }\r\n // count total number and value of ratings\r\n numRatings += parseInt(total.innerHTML);\r\n numRatingsValue += (parseInt(total.innerHTML) * (index + 1));\r\n});\r\n\r\n// display rating average and total\r\nratingsAverage = (numRatingsValue / numRatings).toFixed(2);\r\n// displaySummary[0].innerHTML = ratingsAverage + \" average based on \" + numRatings + \" reviews.\";\r\n}\r\n\r\n\r\n \r\n\r\n vm.Get360VendorTeamData = function (teamid) {\r\n vm.userId = teamid;\r\n DashboardService.Get360VendorTeamData(loggedInUserId, teamid, token).then(function (resp) {\r\n vm.vendorteam = resp.data;\r\n })\r\n }\r\n\r\n vm.Get360WorkSummary = function () {\r\n // vm.userId = teamid;\r\n DashboardService.Get360WorkSummary(loggedInUserId, token,vm.userId, uitemNames, uitemValues, uPageIndex, uPageSize, startDate, endDate,vm.OrderBy,vm.sorttype).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.statusCount = resp.data;\r\n vm.UserByFiltersList = resp.data.workSummaryData;\r\n $scope.totalUsers = resp.data.WorkSummaryTotalCount;\r\n // preprocessData(vm.UserByFiltersList);\r\n if(vm.UserByFiltersList.length < vm.userPageListCount)\r\n vm.userListLength = $scope.totalUsers;\r\n else\r\n vm.userListLength = uPageIndex * vm.userPageListCount;\r\n if(uPageIndex==1)\r\n vm.upageindexCount = 1;\r\n else\r\n vm.upageindexCount = (((uPageIndex-1) * vm.userPageListCount) + 1);\r\n }\r\n }, function (error) {\r\n \r\n })\r\n }\r\n\r\n vm.FinanceFiltersList=[];\r\nvm.GetFinancialSummary = function () { \r\n DashboardService.GetFinancialSummary(loggedInUserId, token,vm.userId, uitemNames, uitemValues, fPageIndex, fPageSize, startDate, endDate).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.paymentCount = resp.data.paymentsSummary;\r\n vm.FinanceFiltersList = resp.data.financialSummary360.financialLPSummaryList;\r\n $scope.totalFinList = resp.data.financialSummary360.count;\r\n if(vm.FinanceFiltersList.length < vm.financePageListCount)\r\n vm.financeListLength = $scope.totalFinList;\r\n else\r\n vm.financeListLength = fPageIndex * vm.financePageListCount;\r\n if(fPageIndex==1)\r\n vm.fpageindexCount = 1;\r\n else\r\n vm.fpageindexCount = (((fPageIndex-1) * vm.financePageListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n vm.ResetUserFilter();\r\n}\r\n\r\nvm.getFileType = function(url){\r\n if(url==null || url==\"\")\r\n {\r\n return \"others\";\r\n }\r\n else{\r\n if(url.indexOf(\".jpg\")>=0 || url.indexOf(\".jpeg\")>=0 || url.indexOf(\".png\")>=0 || url.indexOf(\".bmp\")>=0 ||url.indexOf(\".JPG\")>=0 || url.indexOf(\".JPEG\")>=0 || url.indexOf(\".PNG\")>=0 || url.indexOf(\".BMP\")>=0){\r\n return \"image\";\r\n } else if(url.indexOf(\".pdf\")>=0 || url.indexOf(\".PDF\")>=0){\r\n return \"pdf\";\r\n } else if(url.indexOf(\".xls\")>=0 || url.indexOf(\".xlsx\")>=0 ||url.indexOf(\".XLS\")>=0 || url.indexOf(\".XLSX\")>=0){\r\n return \"xls\"; \r\n } else if(url.indexOf(\".doc\")>=0 || url.indexOf(\".docx\")>=0 || url.indexOf(\".DOC\")>=0 || url.indexOf(\".DOCX\")>=0){\r\n return \"doc\";\r\n } \r\n else {\r\n return \"others\";\r\n }\r\n }\r\n}\r\n\r\nvm.Get360SkillSummary = function (teamid) {\r\n vm.userId = teamid;\r\n DashboardService.Get360SkillSummary(loggedInUserId, vm.userId, token).then(function (resp) {\r\n vm.skillsetData = resp.data;\r\n for(var i=0;i 0 ? ticketId.substring(0, ticketId.length - 1) : ticketId;\r\n\r\n if (action == 'Accepted') {\r\n vm.editPermission = true;\r\n vm.confirmTagModal(\"Do you want to accept selected ticket's?\", function () {\r\n $log.log('Accept CallBack Call');\r\n JobTicketViewService.ActionByVendor(loggedInUserId, ticketId, action, token).then(function (resp) {\r\n if (resp.status == 202) {\r\n\r\n $timeout(function () {\r\n if (vm.searchStatusText == 'All Job Status' && vm.searchJobTypeText == 'All Job Types') {\r\n\r\n itemNames = '';\r\n itemValues = '';\r\n\r\n } else if (vm.searchJobTypeText != 'All Job Types' && vm.searchStatusText == 'All Job Status') {\r\n\r\n itemNames = 'Skill';\r\n itemValues = vm.searchJobTypeText;\r\n\r\n } else if (vm.searchStatusText != 'All Job Status' && vm.searchJobTypeText == 'All Job Types') {\r\n\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText;\r\n } else if (vm.searchStatusText != 'All Job Status' && vm.searchJobTypeText != 'All Job Types') {\r\n itemNames = 'Status,Skill';\r\n itemValues = vm.searchStatusText + \",\" + vm.searchJobTypeText;\r\n }\r\n vm.getAllJobTickets(supervisorId, startDate, endDate, itemNames, itemValues, templateItemNames, templateItemValues);\r\n }, 1000);\r\n vm.actionFlag = false;\r\n vm.showSuccess(\"Success\", \"Selected Jobs has been accepted successfully\");\r\n\r\n } else {\r\n vm.showFailure(\"Failed\", \"Server facing some technical issue, please try again later\");\r\n }\r\n })\r\n })\r\n } else {\r\n vm.editPermission = false;\r\n vm.confirmTagModal(\"Do you want to reject selected ticket's?\", function () {\r\n $log.log('Accept CallBack Call');\r\n JobTicketViewService.ActionByVendor(loggedInUserId, ticketId, action, token).then(function (resp) {\r\n if (resp.status == 202) {\r\n\r\n $timeout(function () {\r\n if (vm.searchStatusText == 'All Job Status' && vm.searchJobTypeText == 'All Job Types') {\r\n\r\n itemNames = '';\r\n itemValues = '';\r\n\r\n } else if (vm.searchJobTypeText != 'All Job Types' && vm.searchStatusText == 'All Job Status') {\r\n\r\n itemNames = 'Skill';\r\n itemValues = vm.searchJobTypeText;\r\n\r\n } else if (vm.searchStatusText != 'All Job Status' && vm.searchJobTypeText == 'All Job Types') {\r\n\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText;\r\n } else if (vm.searchStatusText != 'All Job Status' && vm.searchJobTypeText != 'All Job Types') {\r\n itemNames = 'Status,Skill';\r\n itemValues = vm.searchStatusText + \",\" + vm.searchJobTypeText;\r\n }\r\n vm.getAllJobTickets(supervisorId, startDate, endDate, itemNames, itemValues, templateItemNames, templateItemValues);\r\n vm.actionFlag = false;\r\n }, 1000);\r\n vm.showSuccess(\"Success\", \"Selected Jobs has been rejected successfully\");\r\n\r\n } else {\r\n vm.showFailure(\"Failed\", \"Server facing some technical issue, please try again later\");\r\n }\r\n })\r\n })\r\n }\r\n }\r\n vm.enableFilters = true;\r\n\r\n vm.dtInstance = {};\r\n\r\n // vm.getAllJobTickets(supervisorId, startDate, endDate, itemNames, itemValues,templateItemNames,templateItemValues);\r\n\r\n vm.searchTable = function () {\r\n var s = \"\";\r\n s += vm.searchText.length > 0 ? \" \" + vm.searchText : \"\";\r\n s += (vm.searchStatusText.length > 0 && vm.searchStatusText!='All Job Status') ? \" \" + vm.searchStatusText : \"\";\r\n s += (vm.searchJobTypeText.length > 0 && vm.searchJobTypeText!='All Job Types') ? \" \" + vm.searchJobTypeText : \"\";\r\n vm.dtInstance.DataTable.search(s).draw();\r\n };\r\n\r\n\r\n vm.getFileNameExport = function () {\r\n return 'Report' + \" \" + vm.searchStatusText + \" \" + vm.searchJobTypeText + \" \" + startDate + \"To\" + endDate;\r\n }\r\n \r\n if (($localStorage.TList && vm.path == 'NewJobDetails')||($localStorage.TList && vm.path == 'NewJobDetailsCopy')) {\r\n // vm.ticketList =JSON.parse(localStorage.Ticket);\r\n vm.ticketList = $localStorage.TList;\r\n } else {\r\n vm.getAllJobTickets(supervisorId, startDate, endDate, itemNames, itemValues, templateItemNames, templateItemValues);\r\n\r\n }\r\n\r\n vm.ViewJob = function (ticket) {\r\n $localStorage.backToOldJobList = 'go';\r\n $localStorage.SDate = startDate;\r\n $localStorage.EDate = endDate;\r\n $localStorage.previousPage = 'jobticket';\r\n $localStorage.AllJobType = vm.searchJobTypeText;\r\n $localStorage.AllJobStatus = vm.searchStatusText;\r\n // if(vm.VerticalName == 'Telecom' || vm.VerticalName == 'IMS')\r\n if(vm.VerticalName == 'IMS'){\r\n $state.go('index.JobView', {\r\n ticketId: ticket\r\n }, {\r\n reload: true\r\n });\r\n }else{\r\n $state.go('index.JobDetailView', {\r\n ticketId: ticket\r\n }, {\r\n reload: true\r\n }); \r\n }\r\n \r\n }\r\n var prev=0;\r\n vm.dtOptions = DTOptionsBuilder.newOptions()\r\n .withDOM('<\"html5buttons\"B>lTfrgitp')\r\n .withButtons([{ extend: 'colvis' }, { extend: 'csv', filename: function () { return vm.getFileNameExport() } }])\r\n // .withButtons([{extend:'csv'}])\r\n .withOption('stateSave', true)\r\n .withOption('deferRender', true)\r\n .withOption('stateSaveCallback', function (settings, data) {\r\n localStorage.setItem('JoblistTableProp', JSON.stringify(data));\r\n })\r\n .withOption('stateLoadCallback', function (settings) {\r\n\r\n if (vm.IsSearch == true) {\r\n var state = JSON.parse(localStorage.getItem('JoblistTableProp'));\r\n state.start = 0;\r\n } else {\r\n var state = JSON.parse(localStorage.getItem('JoblistTableProp'));\r\n }\r\n \r\n if (state && vm.VerticalName == 'Telecom') {\r\n state.search = { search: \"\", smart: true, regex: false, caseInsensitive: true };\r\n if (state.columns && state.columns.length > 0) {\r\n if (state.columns[10])\r\n state.columns[10].visible = true;\r\n \r\n if (state.columns[9])\r\n state.columns[9].visible = true;\r\n if (state.columns[11])\r\n state.columns[11].visible = true;\r\n if (state.columns[12])\r\n state.columns[12].visible = true;\r\n if (state.columns[13])\r\n state.columns[13].visible = true;\r\n if (state.columns[14])\r\n state.columns[14].visible = true;\r\n if (state.columns[15])\r\n state.columns[15].visible = false;\r\n if (state.columns[16])\r\n state.columns[16].visible = false;\r\n if (state.columns[17])\r\n state.columns[17].visible = false;\r\n if (state.columns[18])\r\n state.columns[18].visible = false;\r\n if (state.columns[19])\r\n state.columns[19].visible = false;\r\n if (state.columns[20])\r\n state.columns[20].visible = true;\r\n if (state.columns[21])\r\n state.columns[21].visible = true;\r\n if (state.columns[22])\r\n state.columns[22].visible = true;\r\n if (state.columns[23])\r\n state.columns[23].visible = true;\r\n if (state.columns[24])\r\n state.columns[24].visible = true;\r\n if (state.columns[25])\r\n state.columns[25].visible = false;\r\n if (state.columns[26])\r\n state.columns[26].visible = true;\r\n if (state.columns[27])\r\n state.columns[27].visible = true;\r\n if (state.columns[28])\r\n state.columns[28].visible = true;\r\n if (state.columns[29])\r\n state.columns[29].visible = true;\r\n if (state.columns[30])\r\n state.columns[30].visible = true;\r\n if (state.columns[31])\r\n state.columns[31].visible = true;\r\n if (state.columns[32])\r\n state.columns[32].visible = true;\r\n if (state.columns[33])\r\n state.columns[33].visible = true;\r\n if (state.columns[34])\r\n state.columns[34].visible = true;\r\n if (state.columns[35])\r\n state.columns[35].visible = true;\r\n if (state.columns[36])\r\n state.columns[36].visible = true;\r\n if (state.columns[37])\r\n state.columns[37].visible = true;\r\n if (state.columns[38])\r\n state.columns[38].visible = true;\r\n }\r\n }\r\n else if(state)\r\n {\r\n state.search = { search: \"\", smart: true, regex: false, caseInsensitive: true };\r\n if (state.columns && state.columns.length > 0) {\r\n // if (state.columns[8])\r\n // state.columns[8].visible = true;\r\n // if (state.columns[9])\r\n // state.columns[9].visible = true;\r\n // // if (state.columns[10])\r\n // // state.columns[10].visible = false;\r\n // if (state.columns[11])\r\n // state.columns[11].visible = true;\r\n // if (state.columns[12])\r\n // state.columns[12].visible = false;\r\n // if (state.columns[13])\r\n // state.columns[13].visible = false;\r\n // if (state.columns[14])\r\n // state.columns[14].visible = false;\r\n // if (state.columns[15])\r\n // state.columns[15].visible = false;\r\n // if (state.columns[16])\r\n // state.columns[16].visible = false;\r\n // if (state.columns[17])\r\n // state.columns[17].visible = false;\r\n // if (state.columns[18])\r\n // state.columns[18].visible = false;\r\n // if (state.columns[19])\r\n // state.columns[19].visible = true;\r\n // if (state.columns[20])\r\n // state.columns[20].visible = false;\r\n // if (state.columns[21])\r\n // state.columns[21].visible = false;\r\n // if (state.columns[22])\r\n // state.columns[22].visible = false;\r\n // if (state.columns[23])\r\n // state.columns[23].visible = false;\r\n // if (state.columns[24])\r\n // state.columns[24].visible = false;\r\n // if (state.columns.length > 24) {\r\n // state.columns[24].visible = false;\r\n // }\r\n\r\n if (state.columns[10])\r\n state.columns[10].visible = true;\r\n if (state.columns[9])\r\n state.columns[9].visible = true;\r\n if (state.columns[11])\r\n state.columns[11].visible = true;\r\n if (state.columns[12])\r\n state.columns[12].visible = true;\r\n if (state.columns[13])\r\n state.columns[13].visible = true;\r\n if (state.columns[14])\r\n state.columns[14].visible = true;\r\n if (state.columns[15])\r\n state.columns[15].visible = true;\r\n if (state.columns[16])\r\n state.columns[16].visible = true;\r\n if (state.columns[17])\r\n state.columns[17].visible = true;\r\n if (state.columns[18])\r\n state.columns[18].visible = true;\r\n if (state.columns[19])\r\n state.columns[19].visible = true;\r\n if (state.columns[20])\r\n state.columns[20].visible = true;\r\n if (state.columns[21])\r\n state.columns[21].visible = true;\r\n if (state.columns[22])\r\n state.columns[22].visible = true;\r\n if (state.columns[23])\r\n state.columns[23].visible = true;\r\n if (state.columns[24])\r\n state.columns[24].visible = true;\r\n if (state.columns[25])\r\n state.columns[25].visible = true;\r\n if (state.columns[26])\r\n state.columns[26].visible = true;\r\n if (state.columns[27])\r\n state.columns[27].visible = true;\r\n if (state.columns[28])\r\n state.columns[28].visible = true;\r\n if (state.columns[29])\r\n state.columns[29].visible = true;\r\n if (state.columns[30])\r\n state.columns[30].visible = true;\r\n if (state.columns[31])\r\n state.columns[31].visible = true;\r\n if (state.columns[32])\r\n state.columns[32].visible = true;\r\n if (state.columns[33])\r\n state.columns[33].visible = true;\r\n if (state.columns[34])\r\n state.columns[34].visible = true;\r\n if (state.columns[35])\r\n state.columns[35].visible = true;\r\n if (state.columns[36])\r\n state.columns[36].visible = true;\r\n if (state.columns[37])\r\n state.columns[37].visible = true;\r\n if (state.columns[38])\r\n state.columns[38].visible = true;\r\n if (state.columns[38])\r\n state.columns[38].visible = true;\r\n }\r\n\r\n }\r\n \r\n return state;\r\n })\r\n .withPaginationType('full_numbers').withOption('lengthChange', false)\r\n // .withOption('initComplete', function () {\r\n // $('.dataTables_filter input').unbind();\r\n // })\r\n .withOption('order', []);\r\n\r\n vm.dtColumnDefs = [\r\n // DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1),\r\n DTColumnDefBuilder.newColumnDef(2),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(7).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(8).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(9).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(10).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(11).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(12).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(13).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(14).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(15).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(16).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(17).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(18).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(19).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(20).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(21).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(22).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(23).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(24).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(25).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(26).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(36).notSortable() \r\n ];\r\n\r\n // Copied from main controller\r\n vm.implementSelectItems = function (itemList, scope) {\r\n scope.selectAll = false;\r\n scope.showMinus = false;\r\n scope.showAutoSchduleBtn = false;\r\n scope.downloadFlag = false;\r\n scope.downloadReportBtn = false;\r\n scope.deleteFlag = false;\r\n scope.selectRow = function (i) {\r\n //$log.log(\"selectRow called\");\r\n scope.showMinus = false;\r\n scope.selectAll = false;\r\n scope.showAutoSchduleBtn = false;\r\n scope.downloadFlag = false;\r\n scope.downloadReportBtn = false;\r\n scope.deleteFlag = false;\r\n for(var j=0;j

\" + vm.name + \"

\" + ' ' + vm.contactnumber);\r\n $scope.InfoWindow.open($scope.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n $scope.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, vm.customerJobCard);\r\n\r\n //Plotting the Marker on the Map.\r\n $scope.Latlngbounds.extend(marker.position);\r\n\r\n }\r\n vm.makeJobMarker = function (position, icon, map) {\r\n var marker = new google.maps.Marker({\r\n position: position,\r\n map: map,\r\n icon: icon\r\n });\r\n\r\n //Adding InfoWindow to the Marker.\r\n (function (marker, customerJobCard) {\r\n google.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n $scope.InfoWindow.setContent(\"

\" + vm.customerJobCard.ConsumerName + \"

\" + ' ' + vm.customerJobCard.JobId + \"
\" + ' ' + moment(vm.customerJobCard.JobDateTime).format(\"YYYY-MM-DD HH:mm\") + \"
\" + ' ' + vm.customerJobCard.ConsumerContact);\r\n $scope.InfoWindow.open($scope.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n $scope.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, vm.customerJobCard);\r\n\r\n //Plotting the Marker on the Map.\r\n $scope.Latlngbounds.extend(marker.position);\r\n }\r\n //It is used for the distance also \r\n function initMap() {\r\n var pointA = new google.maps.LatLng(vm.JobLatitude, vm.JobLongitude),\r\n pointB = new google.maps.LatLng(vm.FELatitude, vm.FELongitude),\r\n pointC = new google.maps.LatLng(vm.JobStartLatitude,vm.JobStartLongitude),\r\n // center = new google.maps.LatLng(51.3, 0.8),\r\n myOptions = {\r\n zoom: 8,\r\n zoomControl: false,\r\n scaleControl: true,\r\n mapTypeControl: false,\r\n streetViewControl: false,\r\n gestureHandling: 'greedy',\r\n // center: center,\r\n mapTypeId: google.maps.MapTypeId.ROADMAP\r\n },\r\n\r\n map = new google.maps.Map(document.getElementById('map-canvas'), myOptions),\r\n // Instantiate a directions service.\r\n directionsService = new google.maps.DirectionsService,\r\n directionsDisplay = new google.maps.DirectionsRenderer({\r\n map: map\r\n }),\r\n duration = document.getElementById('duration');\r\n distance = document.getElementById('distance');\r\n flightPath = new google.maps.Polyline({\r\n path: [pointA, pointB, pointC],\r\n // geodesic: true,\r\n strokeColor: 'red',\r\n });\r\n $scope.InfoWindow = new google.maps.InfoWindow();\r\n $scope.Latlngbounds = new google.maps.LatLngBounds();\r\n // click on marker B to get route from A to B\r\n calculateAndDisplayRoute(directionsService, directionsDisplay, pointA, pointB, icons.start, icons.end, distance, duration, map);\r\n \r\n if(vm.JobStartLatitude !=\"0\" && vm.JobStartLongitude !=\"0\"){\r\n \r\n calculateAndDisplayRoute(directionsService, directionsDisplay, pointB, pointC, icons.end, icons.StartTravel, distance, duration, map);\r\n }\r\n \r\n var travelMode = \"DRIVING\";\r\n var icon = \"https://img.icons8.com/color/96/000000/street-view.png\";\r\n }\r\n function calculateAndDisplayRoute(directionsService, directionsDisplay, pointA, pointB, iconsStartA, iconsStartB, distance, duration, map) {\r\n var selectedMode = \"DRIVING\";\r\n directionsService.route({\r\n origin: pointA,\r\n destination: pointB,\r\n unitSystem: google.maps.UnitSystem.METRIC,\r\n travelMode: google.maps.TravelMode[selectedMode]\r\n }, function (response, status) {\r\n if (status == google.maps.DirectionsStatus.OK) {\r\n new google.maps.DirectionsRenderer({\r\n map: map,\r\n directions: response,\r\n suppressMarkers: true,\r\n polylineOptions: {\r\n strokeColor: \"#000000\"\r\n }\r\n });\r\n var leg = response.routes[0].legs[0];\r\n //outputTxt.innerHTML =(response.routes[0].legs[0].distance.value/1000) + \" Kms\";\r\n distance.innerHTML = response.routes[0].legs[0].distance.text;\r\n duration.innerHTML = response.routes[0].legs[0].duration.text;\r\n vm.distance = response.routes[0].legs[0].distance.value / 1000;\r\n vm.makeJobMarker(leg.start_location, iconsStartA, map);\r\n vm.makeUserMarker(leg.end_location, iconsStartB, map);\r\n // vm.StartJobMarker(leg.startjob_location, icons.start, map);\r\n } else {\r\n window.alert('Directions request failed due to ' + status);\r\n }\r\n });\r\n }\r\n\r\n var icons = {\r\n start: new google.maps.MarkerImage(\r\n // URL\r\n UIURL + '/assets/images/patterns/JOb_icon.png',\r\n // (width,height)\r\n new google.maps.Size(44, 32),\r\n // The origin point (x,y)\r\n new google.maps.Point(0, 0),\r\n // The anchor point (x,y)\r\n new google.maps.Point(22, 32)),\r\n end: new google.maps.MarkerImage(\r\n // URL\r\n UIURL + '/assets/images/patterns/delivery-man1.png',\r\n // (width,height)\r\n new google.maps.Size(44, 32),\r\n // The origin point (x,y)\r\n new google.maps.Point(0, 0),\r\n // The anchor point (x,y)\r\n new google.maps.Point(22, 32)),\r\n StartTravel: new google.maps.MarkerImage(\r\n // URL\r\n UIURL + '/assets/images/patterns/Delivery_pre.png',\r\n // (width,height)\r\n new google.maps.Size(44, 32),\r\n // The origin point (x,y)\r\n new google.maps.Point(0, 0),\r\n // The anchor point (x,y)\r\n new google.maps.Point(22, 32))\r\n };\r\n /* vm.getReadableDate = function(){\r\n var time = new moment(vm.customerJobCard.JobDateTime, \"YYYY-MM-DDThh:mm:ss\");\r\n return time.format(\"DD MMM YYYY\")+\" at \"+time.format(\"LTS\"); \r\n } */\r\n vm.getCustomerJobCard = function () {\r\n JobTicketViewService.getCustomerJobCardbyJobId(loggedInUserId, vm.trackingTicketId, token, function (data) {\r\n vm.JobLatitude = data.JobLatitude;\r\n vm.JobLongitude = data.JobLongitude;\r\n vm.FELatitude = data.FELatitude;\r\n vm.FELongitude = data.FELongitude;\r\n vm.JobStartLatitude = data.JobStartLatitude;\r\n vm.JobStartLongitude = data.JobStartLongitude;\r\n vm.contactnumber = data.FEContactNumber;\r\n vm.jobtype = data.Description;\r\n vm.name = data.FEName;\r\n // vm.mapMarkers=[];\r\n initMap();\r\n $log.log(\"res of getCustomerJobCard=\" + data);\r\n vm.customerJobCard = data;\r\n if ($localStorage.rateJobParams) {\r\n vm.customerJobCard.userRole = $localStorage.Role;\r\n vm.customerJobCard.JobStatus = $localStorage.rateJobParams.status;\r\n vm.customerJobCard.CustomerGivenRating = $localStorage.rateJobParams.rating;\r\n delete $localStorage.rateJobParams;\r\n }\r\n if (data && data.JobStatus == 'PaymentDone') {\r\n\r\n }\r\n }, function () {\r\n vm.showFailure(\"Failed\", \"Unable to reach server\");\r\n });\r\n }\r\n //}\r\n vm.disableCreateButton = false;\r\n\r\n vm.DisableCreateButton = function (disable) {\r\n if (disable) {\r\n vm.disableCreateButton = true;\r\n }\r\n else {\r\n vm.disableCreateButton = false;\r\n }\r\n }\r\n vm.OpenReplaceModel = function (replacedetails) {\r\n vm.replaceticketid = replacedetails\r\n\t\t\tReplaceModel = $uibModal.open({\r\n\t\t\t templateUrl: 'ReplacementStatus.html',\r\n\t\t\t backdrop: 'static',\r\n\t\t\t scope: $scope,\r\n\t\t\t});\r\n\t\t }\r\n\t \r\n\t\t vm.closeRequestUpdateModel = function () {\r\n vm.DisableCreateButton(false);\r\n ReplaceModel.close();\r\n vm.strReplacementComment = '';\r\n vm.relacementoption = '';\r\n\t\t }\r\n\r\n \r\n vm.CreateProductReplacementRequest = function () {\r\n vm.Replacereason_Form.submitted = true;\r\n if (vm.Replacereason_Form.$valid) {\r\n // $scope.uploadFiles();\r\n vm.DisableCreateButton(true);\r\n var replacementreasondata = {\r\n \"strTicketId\": vm.replaceticketid,\r\n \"strReplacementComment\": vm.strReplacementComment,\r\n \"strReplacementReason\": vm.relacementoption,\r\n }\r\n JobTicketViewService.CreateProductReplacementRequest(replacementreasondata, loggedInUserId, token).then(function (resp) {\r\n if (resp.data && resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Product replacement request raised.\");\r\n vm.closeRequestUpdateModel();\r\n $timeout(function () {\r\n vm.getAllJobTickets(supervisorId, startDate, endDate, itemNames, itemValues, templateItemNames, templateItemValues);\r\n }, 2000);\r\n }\r\n else {\r\n vm.DisableCreateButton(false);\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n });\r\n \r\n }\r\n }\r\n\r\n vm.OpenResubmitReplaceModel = function (resubmitreplacedetails) {\r\n vm.resubmitReplacementId = resubmitreplacedetails;\r\n ResubmitReplaceModel = $uibModal.open({\r\n templateUrl: 'Resubmit.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n \r\n vm.closeResubmitRequestUpdateModel = function () {\r\n vm.DisableCreateButton(false);\r\n ResubmitReplaceModel.close();\r\n vm.resubmitstrReplacementComment = '';\r\n vm.resubmitReplacementId = '';\r\n }\r\n\r\n vm.ResubmitProductReplacementRequest = function () {\r\n vm.Resubmit_Form.submitted = true;\r\n if (vm.Resubmit_Form.$valid) {\r\n vm.DisableCreateButton(true);\r\n var resubmitreplacementreasondata = {\r\n \"strProductReplacementId\": vm.resubmitReplacementId,\r\n \"strReplacementComment\": vm.resubmitstrReplacementComment,\r\n \"strReplacementReason\": vm.resubmitrelacementoption,\r\n }\r\n JobTicketViewService.ResubmitProductReplacementRequest(resubmitreplacementreasondata, loggedInUserId, token).then(function (resp) {\r\n if (resp.data && resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Product replacement request raised.\");\r\n vm.closeResubmitRequestUpdateModel();\r\n $timeout(function () {\r\n vm.getAllJobTickets(supervisorId, startDate, endDate, itemNames, itemValues, templateItemNames, templateItemValues);\r\n }, 2000);\r\n }\r\n else {\r\n vm.DisableCreateButton(false);\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n });\r\n \r\n }\r\n }\r\n \r\n\r\n vm.OpenTracking = function (ticket,tickets) {\r\n \r\n if(tickets && tickets.UserId){\r\n vm.mappermission =true;\r\n }\r\n else{\r\n vm.mappermission =false;\r\n\r\n }\r\n vm.trackingTicketId = ticket;\r\n Tracking = $uibModal.open({\r\n templateUrl: 'Tracking.html',\r\n size: 'lg',\r\n scope: $scope,\r\n controller: ModelInstanceOfMap\r\n })\r\n }\r\n vm.CloseTracking = function () {\r\n Tracking.close();\r\n }\r\n \r\n vm.OpenReOpenCallModel = function (ticketid) {\r\n vm.TicketId = ticketid\r\n\t\t\tReopencallopen = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'ReopenCancelCall.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeReOpenCallModel = function () {\r\n\t\t\tvm.disableCreateButton = false;\r\n\t\t\tReopencallopen.close();\r\n\t\t\t\r\n\t\t}\r\n\r\n vm.ReopenCancelCall = function () {\r\n vm.validationForm.submitted = true;\r\n vm.disableCreateButton = true;\r\n JobTicketViewService.ReopenCancelCall(vm.TicketId,loggedInUserId, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Call has Reopened Successfully\");\r\n vm.closeReOpenCallModel();\r\n $timeout(function () {\r\n vm.getAllJobTickets(supervisorId, startDate, endDate, itemNames, itemValues, templateItemNames, templateItemValues);\r\n }, 2000)\r\n }\r\n else {\r\n vm.disableCreateButton = false;\r\n vm.showFailure(\"Failed\", resp.data)\r\n }\r\n });\r\n \r\n }\r\n\r\n vm.getTemplateCallback = function (templates) {\r\n vm.templateListData = templates;\r\n vm.templateList = [];\r\n angular.forEach(vm.templateListData, function (d) {\r\n if (d.Skill != 'Water Sample Collection') {\r\n vm.templateList.push(d);\r\n }\r\n })\r\n }\r\n vm.TicketBreachValueconver = function(TicketBreachValue)\r\n {\r\n var TicketBreachValueInString=\"\"; \r\n if(TicketBreachValue==0)\r\n TicketBreachValueInString = \"Not Breached\";\r\n if(TicketBreachValue==1)\r\n TicketBreachValueInString = \"Breached\";\r\n \r\n return TicketBreachValueInString;\r\n }\r\n vm.CreateLabBooking = function () {\r\n vm.ticketData.Template = vm.selectedTemplates;\r\n console.log('vm.ticketData', vm.ticketData);\r\n }\r\n\r\n vm.OpenApproveModal = function (currentJOb) \r\n {\r\n \r\n vm.CurrentJob = currentJOb;\r\n vm.RatingOfTicket = ''; \r\n if(vm.CurrentJob.IsLineItemAvailable==true && vm.CurrentJob.IsDynamicPriceApproved==false){\r\n vm.aproveMessage = 'Please approve dynamic pricing line item under the ticket details section!';\r\n approveModalInstance = $uibModal.open({\r\n templateUrl: 'dynamic_price_approved_model.html',\r\n scope: $scope\r\n });\r\n }\r\n else{\r\n vm.aproveMessage = 'Please Rate !';\r\n approveModalInstance = $uibModal.open({\r\n templateUrl: 'approve_model.html',\r\n scope: $scope\r\n });\r\n }\r\n \r\n }\r\n\r\n vm.CloseModal = function () {\r\n approveModalInstance.close();\r\n }\r\n\r\n vm.TBCCancelationAudit = function()\r\n {\r\n approveModalInstance.close();\r\n JobTicketViewService.TBCCancelationAudit(vm.TBCCancelationModel,vm.AuditTicketId,loggedInUserId,token).then(function(res){\r\n if(res && res.status == 200){\r\n vm.showSuccess(\"Success\", \"Job cancelation audit successfully done.\"); \r\n }\r\n });\r\n }\r\n\r\n vm.OpenRescheduleAuditModal = function (currentAuditJOb) \r\n { \r\n vm.CurrentAuditJob = currentAuditJOb;\r\n vm.RatingOfTicket = '';\r\n vm.RescheduleAuditTicketId = vm.CurrentAuditJob.TicketId;\r\n vm.AuditPrimaryReason = vm.CurrentAuditJob.PrimaryReason;\r\n rescheduleAuditModalInstance = $uibModal.open({\r\n templateUrl: 'reschedule_audit_model.html',\r\n scope: $scope\r\n }); \r\n }\r\n\r\n vm.RescheduleAuditCloseModal = function () {\r\n rescheduleAuditModalInstance.close();\r\n }\r\n \r\n vm.JobRescheduleAudit = function()\r\n {\r\n rescheduleAuditModalInstance.close();\r\n JobTicketViewService.TBCCancelationAudit(vm.RescheduleAuditModel,vm.RescheduleAuditTicketId,loggedInUserId,token).then(function(res){\r\n if(res && res.status == 200){\r\n vm.showSuccess(\"Success\", \"Job cancelation audit successfully done.\"); \r\n }\r\n });\r\n }\r\n vm.OpenTicketRatingModal = function (currentTicketJob) \r\n { \r\n JobTicketViewService.GetCSATRatingByTicketID(loggedInUserId, currentTicketJob.TicketId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.TicketRatingList=resp.data;\r\n ticketRatingModalInstance = $uibModal.open({\r\n templateUrl: 'ticket_rating_model.html',\r\n scope: $scope\r\n });\r\n }\r\n\r\n }, function () {\r\n \r\n });\r\n } \r\n \r\n\r\n vm.TicketRatingCloseModal = function () {\r\n ticketRatingModalInstance.close();\r\n }\r\n\r\n \r\n\r\n vm.NoLatLongModal = function () {\r\n NoLatLongModalInstance = $uibModal.open({\r\n templateUrl: 'latLong.html',\r\n scope: $scope\r\n });\r\n\r\n }\r\n\r\n vm.NoLatLongModalModal = function () {\r\n NoLatLongModalInstance.close();\r\n }\r\n\r\n\r\n vm.OpenSettlementModal = function (currentJOb) {\r\n vm.CurrentJob = currentJOb;\r\n vm.PaymentStatus = '';\r\n vm.Remarks = '';\r\n\r\n settlementModalInstance = $uibModal.open({\r\n templateUrl: 'settlement_model.html',\r\n scope: $scope\r\n });\r\n\r\n }\r\n\r\n vm.SettlementCloseModal = function () {\r\n settlementModalInstance.close();\r\n }\r\n\r\n vm.settlemenTicket = function (status, ticketId, remarks, userId) {\r\n settlementModalInstance.close();\r\n var settlementData = {};\r\n settlementData.PaymentStatus = status;\r\n settlementData.ReqUserId = loggedInUserId;\r\n settlementData.TicketId = ticketId;\r\n settlementData.Remarks = remarks;\r\n settlementData.FEId = userId;\r\n settlementData.Status = \"Done\";\r\n // $log.log('settlementData', settlementData);\r\n JobTicketViewService.updateTicketSettlement(settlementData, token, loggedInUserId, function (res) {\r\n var itemNames = '';\r\n var itemValues = '';\r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job settlement successfully done.\")\r\n $timeout(function () {\r\n if (vm.searchStatusText == 'All Job Status' && vm.searchJobTypeText == 'All Job Types') {\r\n\r\n itemNames = '';\r\n itemValues = '';\r\n\r\n } else if (vm.searchJobTypeText != 'All Job Types' && vm.searchStatusText == 'All Job Status') {\r\n\r\n itemNames = 'Skill';\r\n itemValues = vm.searchJobTypeText;\r\n\r\n } else if (vm.searchStatusText != 'All Job Status' && vm.searchJobTypeText == 'All Job Types') {\r\n\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText;\r\n } else if (vm.searchStatusText != 'All Job Status' && vm.searchJobTypeText != 'All Job Types') {\r\n itemNames = 'Status,Skill';\r\n itemValues = vm.searchStatusText + \",\" + vm.searchJobTypeText;\r\n }\r\n vm.getAllJobTickets(supervisorId, startDate, endDate, itemNames, itemValues, templateItemNames, templateItemValues);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to settlement payment. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n\r\n }\r\n\r\n\r\n vm.DeleteTicket = function () {\r\n var ticketId = [];\r\n angular.forEach(vm.ticketList, function (t) {\r\n if (t.checked) {\r\n ticketId.push(t.TicketId);\r\n }\r\n })\r\n // ticketId = ticketId.length > 0 ? ticketId.substring(0, ticketId.length - 1) : ticketId;\r\n\r\n if (ticketId != null && ticketId.length == 1) {\r\n JobTicketViewService.DeleteTickets(loggedInUserId, ticketId, token).then(function (resp) {\r\n vm.showAutoSchduleBtn = false;\r\n vm.downloadFlag = false;\r\n vm.downloadReportBtn = false;\r\n vm.deleteFlag = false;\r\n var itemNames = '';\r\n var itemValues = '';\r\n if (resp && resp.status == 202) {\r\n vm.showSuccess(\"Deleted\", resp.data);\r\n $timeout(function () {\r\n if (vm.searchStatusText == 'All Job Status' && vm.searchJobTypeText == 'All Job Types') {\r\n\r\n itemNames = '';\r\n itemValues = '';\r\n\r\n } else if (vm.searchJobTypeText != 'All Job Types' && vm.searchStatusText == 'All Job Status') {\r\n\r\n itemNames = 'Skill';\r\n itemValues = vm.searchJobTypeText;\r\n\r\n } else if (vm.searchStatusText != 'All Job Status' && vm.searchJobTypeText == 'All Job Types') {\r\n\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText;\r\n } else if (vm.searchStatusText != 'All Job Status' && vm.searchJobTypeText != 'All Job Types') {\r\n itemNames = 'Status,Skill';\r\n itemValues = vm.searchStatusText + \",\" + vm.searchJobTypeText;\r\n }\r\n vm.getAllJobTickets(supervisorId, startDate, endDate, itemNames, itemValues, templateItemNames, templateItemValues);\r\n }, 1000);\r\n } else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n\r\n })\r\n } else {\r\n vm.showFailure(\"Failed\", \"You can delete only one ticket at a time.\");\r\n }\r\n }\r\n\r\nvm.NoLatLongTickits=\"\";\r\n vm.AutoSchedule = function () {\r\n var ticketId = [];\r\n var notlatlongticketId = \"\";\r\n angular.forEach(vm.ticketList, function (t) { \r\n if (t.checked) {\r\n if(t.Latitude==\"\" || t.Latitude==\"0.0\" || t.Latitude==\"0\" || t.Longitude==\"\" || t.Longitude==\"0.0\" || t.Longitude==\"0\")\r\n {\r\n notlatlongticketId = t.TicketId + \", \";\r\n }\r\n else\r\n { \r\n ticketId.push(t.TicketId); \r\n }\r\n \r\n }\r\n })\r\n\r\n if (ticketId != null) {\r\n JobTicketViewService.SetTicketExecutionMode(loggedInUserId, \"Auto\", ticketId, token).then(function (resp) {\r\n vm.showAutoSchduleBtn = false;\r\n vm.downloadFlag = false;\r\n vm.downloadReportBtn = false;\r\n vm.deleteFlag = false;\r\n var itemNames = '';\r\n var itemValues = '';\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Scheduled Tickets\", resp.data.toString());\r\n $timeout(function () {\r\n if (vm.searchStatusText == 'All Job Status' && vm.searchJobTypeText == 'All Job Types') {\r\n\r\n itemNames = '';\r\n itemValues = '';\r\n\r\n } else if (vm.searchJobTypeText != 'All Job Types' && vm.searchStatusText == 'All Job Status') {\r\n\r\n itemNames = 'Skill';\r\n itemValues = vm.searchJobTypeText;\r\n\r\n } else if (vm.searchStatusText != 'All Job Status' && vm.searchJobTypeText == 'All Job Types') {\r\n\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText;\r\n } else if (vm.searchStatusText != 'All Job Status' && vm.searchJobTypeText != 'All Job Types') {\r\n itemNames = 'Status,Skill';\r\n itemValues = vm.searchStatusText + \",\" + vm.searchJobTypeText;\r\n }\r\n vm.getAllJobTickets(supervisorId, startDate, endDate, itemNames, itemValues, templateItemNames, templateItemValues);\r\n }, 1000);\r\n } else {\r\n vm.showFailure(\"Failed to schedule tickets\", resp.data.toString());\r\n }\r\n })\r\n }\r\n if(notlatlongticketId !=\"\")\r\n {\r\n vm.NoLatLongTickits = notlatlongticketId;\r\n vm.NoLatLongModal();\r\n \r\n \r\n } \r\n }\r\n\r\n\r\n vm.OpenFollowUpModel = function (ticketId) {\r\n vm.followup = '';\r\n vm.tickId = ticketId;\r\n FollowUpModel = $uibModal.open({\r\n templateUrl: 'FollowupJob.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n controller: ModalInstanceCtrlFollowUp,\r\n });\r\n }\r\n\r\n vm.CloseFollowUpModel = function () {\r\n vm.primaryHoldReason='';\r\n vm.primaryHoldRemark='';\r\n vm.followFiles = null; \r\n FollowUpModel.close();\r\n }\r\n\r\n vm.RejectJobModel = function (currentJOb) {\r\n vm.CurrentJob = currentJOb;\r\n RejectJobModel = $uibModal.open({\r\n templateUrl: 'Rejectjob.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n\r\n vm.ConvertToNewJob = function(currentJOb){\r\n\r\n vm.CurrentJob = currentJOb; \r\n var data = {\r\n \"ReqUserId\": loggedInUserId,\r\n \"TicketId\": vm.CurrentJob.TicketId,\r\n \"Status\": \"New\" \r\n };\r\n JobTicketViewService.ConvertToNewJob(data, token, loggedInUserId, function (res) {\r\n var itemNames = '';\r\n var itemValues = '';\r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job converted successfully.\")\r\n $timeout(function () {\r\n if (vm.searchStatusText == 'All Job Status' && vm.searchJobTypeText == 'All Job Types') {\r\n\r\n itemNames = '';\r\n itemValues = '';\r\n\r\n } else if (vm.searchJobTypeText != 'All Job Types' && vm.searchStatusText == 'All Job Status') {\r\n\r\n itemNames = 'Skill';\r\n itemValues = vm.searchJobTypeText;\r\n\r\n } else if (vm.searchStatusText != 'All Job Status' && vm.searchJobTypeText == 'All Job Types') {\r\n\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText;\r\n } else if (vm.searchStatusText != 'All Job Status' && vm.searchJobTypeText != 'All Job Types') {\r\n itemNames = 'Status,Skill';\r\n itemValues = vm.searchStatusText + \",\" + vm.searchJobTypeText;\r\n }\r\n vm.getAllJobTickets(supervisorId, startDate, endDate, itemNames, itemValues, templateItemNames, templateItemValues);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to convert job. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.CloseRejectModel = function () {\r\n RejectJobModel.close();\r\n }\r\n\r\n var ModalInstanceCtrlFollowUp = function ($scope, $rootScope, $uibModalInstance) {\r\n vm.updateFollowUpStatus = function () {\r\n var data = {};\r\n data = {\r\n \"userId\": loggedInUserId,\r\n \"dateTime\": \"\",\r\n \"activity\": vm.followup,\r\n \"action\": \"FOLLOW_UP\",\r\n \"userName\": \"\",\r\n \"ticketId\": vm.tickId,\r\n \"primaryReason\": \"\",\r\n \"SecondryReason\": \"\",\r\n \"ReasonComment\": \"\"\r\n }\r\n vm.CloseFollowUpModel();\r\n JobTicketViewService.TicketFollowUp(data, token, loggedInUserId).then(function (res) {\r\n if (res && res.status == 201) {\r\n vm.showSuccess(\"Success\", \"Follow up done successfully.\");\r\n $timeout(function () {\r\n $state.go(\"index.JobTickets\", {\r\n reload: true\r\n })\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to create follow up. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n }\r\n }\r\n\r\n vm.ApproveJob = function () {\r\n \r\n if (vm.RatingOfTicket) {\r\n var jobwinrate = 0.0;\r\n if(vm.Winrate == null || vm.Winrate == 0 || vm.Winrate =='')\r\n jobwinrate = 0.0;\r\n else\r\n jobwinrate = vm.Winrate; \r\n\r\n \r\n\r\n approveModalInstance.close();\r\n var data = {\r\n \"ReqUserId\": loggedInUserId,\r\n \"TicketId\": vm.CurrentJob.TicketId,\r\n \"Status\": \"Approved\",\r\n \"JobWinRate\" :parseFloat(jobwinrate.toFixed(2)),\r\n \"TechnicianRating\": vm.RatingOfTicket.toString(),\r\n \"ApprovalRemark\": vm.approvalRemark.toString(),\r\n \"IsSafetyAudit\":vm.IsSafetyAudit\r\n };\r\n JobTicketViewService.ApproveJob(data, token, loggedInUserId).then(function (res) {\r\n var itemNames = '';\r\n var itemValues = '';\r\n if(res && res.data==\"Please enter atleast one Line Item to Approve this job \")\r\n {\r\n vm.showFailure(\"Success\", \"Please enter atleast one Line Item to Approve this job.\")\r\n $timeout(function () {\r\n vm.getAllJobTickets(supervisorId, startDate, endDate, itemNames, itemValues, templateItemNames, templateItemValues);\r\n }, 1000);\r\n }\r\n else if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job approved successfully.\")\r\n $timeout(function () {\r\n if (vm.searchStatusText == 'All Job Status' && vm.searchJobTypeText == 'All Job Types') {\r\n\r\n itemNames = '';\r\n itemValues = '';\r\n\r\n } else if (vm.searchJobTypeText != 'All Job Types' && vm.searchStatusText == 'All Job Status') {\r\n\r\n itemNames = 'Skill';\r\n itemValues = vm.searchJobTypeText;\r\n\r\n } else if (vm.searchStatusText != 'All Job Status' && vm.searchJobTypeText == 'All Job Types') {\r\n\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText;\r\n } else if (vm.searchStatusText != 'All Job Status' && vm.searchJobTypeText != 'All Job Types') {\r\n itemNames = 'Status,Skill';\r\n itemValues = vm.searchStatusText + \",\" + vm.searchJobTypeText;\r\n }\r\n vm.getAllJobTickets(supervisorId, startDate, endDate, itemNames, itemValues, templateItemNames, templateItemValues);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to approve job. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n } else {\r\n vm.ratingwarning=\"Please rate the technician.\";\r\n //approveModalInstance.close();\r\n }\r\n }\r\n\r\n vm.AcceptJob = function (currentJOb) {\r\n \r\n vm.CurrentJob = currentJOb;\r\n var data = {\r\n \"ReqUserId\": loggedInUserId,\r\n \"TicketId\": vm.CurrentJob.TicketId,\r\n \"Status\": \"Accepted\" \r\n };\r\n JobTicketViewService.AcceptJob(data, token, loggedInUserId, function (res) {\r\n var itemNames = '';\r\n var itemValues = '';\r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job accepted successfully.\")\r\n $timeout(function () {\r\n if (vm.searchStatusText == 'All Job Status' && vm.searchJobTypeText == 'All Job Types') {\r\n\r\n itemNames = '';\r\n itemValues = '';\r\n\r\n } else if (vm.searchJobTypeText != 'All Job Types' && vm.searchStatusText == 'All Job Status') {\r\n\r\n itemNames = 'Skill';\r\n itemValues = vm.searchJobTypeText;\r\n\r\n } else if (vm.searchStatusText != 'All Job Status' && vm.searchJobTypeText == 'All Job Types') {\r\n\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText;\r\n } else if (vm.searchStatusText != 'All Job Status' && vm.searchJobTypeText != 'All Job Types') {\r\n itemNames = 'Status,Skill';\r\n itemValues = vm.searchStatusText + \",\" + vm.searchJobTypeText;\r\n }\r\n vm.getAllJobTickets(supervisorId, startDate, endDate, itemNames, itemValues, templateItemNames, templateItemValues);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to accept job. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n \r\n }\r\n\r\n vm.reAssignJob = function (currentJOb) {\r\n \r\n vm.CurrentJob = currentJOb;\r\n var data = {\r\n \"ReqUserId\": loggedInUserId,\r\n \"TicketId\": vm.CurrentJob.TicketId,\r\n \"Status\": \"Assigned\" \r\n };\r\n JobTicketViewService.AcceptJob(data, token, loggedInUserId, function (res) {\r\n var itemNames = '';\r\n var itemValues = '';\r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job reassigned successfully.\")\r\n $timeout(function () {\r\n if (vm.searchStatusText == 'All Job Status' && vm.searchJobTypeText == 'All Job Types') {\r\n\r\n itemNames = '';\r\n itemValues = '';\r\n\r\n } else if (vm.searchJobTypeText != 'All Job Types' && vm.searchStatusText == 'All Job Status') {\r\n\r\n itemNames = 'Skill';\r\n itemValues = vm.searchJobTypeText;\r\n\r\n } else if (vm.searchStatusText != 'All Job Status' && vm.searchJobTypeText == 'All Job Types') {\r\n\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText;\r\n } else if (vm.searchStatusText != 'All Job Status' && vm.searchJobTypeText != 'All Job Types') {\r\n itemNames = 'Status,Skill';\r\n itemValues = vm.searchStatusText + \",\" + vm.searchJobTypeText;\r\n }\r\n vm.getAllJobTickets(supervisorId, startDate, endDate, itemNames, itemValues, templateItemNames, templateItemValues);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to reassign job. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n \r\n }\r\n\r\n vm.cloneTicket = function (currentJOb) {\r\n \r\n vm.CurrentJob = currentJOb;\r\n $state.go('index.JobBidCreation', { \r\n cloneticketid:vm.CurrentJob.TicketId \r\n },\r\n {\r\n reload: true,\r\n inherit: false,\r\n notify: true\r\n }); \r\n\r\n // if(vm.VerticalName == 'Telecom')\r\n // {\r\n // $state.go('index.JobBidCreation', { \r\n // cloneticketid:vm.CurrentJob.TicketId \r\n // },\r\n // {\r\n // reload: true,\r\n // inherit: false,\r\n // notify: true\r\n // }); \r\n // }\r\n // else\r\n // {\r\n // $state.go('index.NewJobCreation', { \r\n // },\r\n // {\r\n // reload: true,\r\n // inherit: false,\r\n // notify: true\r\n // });\r\n\r\n // }\r\n \r\n \r\n }\r\n\r\n vm.RejectJob = function () {\r\n if(!vm.RejectionRemark)\r\n {\r\n vm.showFailure(\"Failed\", \"Please comment on rejection.\");\r\n return;\r\n }\r\n RejectJobModel.close(); \r\n var data = {\r\n \"ReqUserId\": loggedInUserId,\r\n \"TicketId\": vm.CurrentJob.TicketId,\r\n \"Status\": \"Rejected\", \r\n \"RejectionRemark\": vm.RejectionRemark.toString()\r\n };\r\n JobTicketViewService.RejectJob(data, token, loggedInUserId, function (res) {\r\n var itemNames = '';\r\n var itemValues = '';\r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job rejected successfully.\")\r\n $timeout(function () {\r\n if (vm.searchStatusText == 'All Job Status' && vm.searchJobTypeText == 'All Job Types') {\r\n\r\n itemNames = '';\r\n itemValues = '';\r\n\r\n } else if (vm.searchJobTypeText != 'All Job Types' && vm.searchStatusText == 'All Job Status') {\r\n\r\n itemNames = 'Skill';\r\n itemValues = vm.searchJobTypeText;\r\n\r\n } else if (vm.searchStatusText != 'All Job Status' && vm.searchJobTypeText == 'All Job Types') {\r\n\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText;\r\n } else if (vm.searchStatusText != 'All Job Status' && vm.searchJobTypeText != 'All Job Types') {\r\n itemNames = 'Status,Skill';\r\n itemValues = vm.searchStatusText + \",\" + vm.searchJobTypeText;\r\n }\r\n vm.getAllJobTickets(supervisorId, startDate, endDate, itemNames, itemValues, templateItemNames, templateItemValues);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to approve job. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n \r\n }\r\n\r\n vm.PullBackTicket = function (ticketId) {\r\n JobTicketViewService.PullBackTicket(loggedInUserId, ticketId, token).then(function (resp) {\r\n //$log.log(\"result: \", resp.data);\r\n var itemNames = '';\r\n var itemValues = '';\r\n if (vm.searchStatusText == 'All Job Status' && vm.searchJobTypeText == 'All Job Types') {\r\n\r\n itemNames = '';\r\n itemValues = '';\r\n\r\n } else if (vm.searchJobTypeText != 'All Job Types' && vm.searchStatusText == 'All Job Status') {\r\n\r\n itemNames = 'Skill';\r\n itemValues = vm.searchJobTypeText;\r\n\r\n } else if (vm.searchStatusText != 'All Job Status' && vm.searchJobTypeText == 'All Job Types') {\r\n\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText;\r\n } else if (vm.searchStatusText != 'All Job Status' && vm.searchJobTypeText != 'All Job Types') {\r\n itemNames = 'Status,Skill';\r\n itemValues = vm.searchStatusText + \",\" + vm.searchJobTypeText;\r\n }\r\n vm.getAllJobTickets(supervisorId, startDate, endDate, itemNames, itemValues, templateItemNames, templateItemValues);\r\n })\r\n }\r\n\r\n\r\n vm.GetHoldReasons = function(){\r\n JobTicketViewService.GetReasonsByStatus(supervisorId, token, 'Hold').then(function (resp) { \r\n if (resp && resp.data) {\r\n vm.reasonsForHold = resp.data;\r\n }\r\n });\r\n }\r\n vm.GetHoldReasons();\r\n\r\n vm.OpenHoldUpModel = function (ticketId, holdstatus) {\r\n if(holdstatus == 'Unhold')\r\n {\r\n vm.UpdateHoldingStatus(ticketId, holdstatus);\r\n } \r\n else{\r\n vm.tickId = ticketId;\r\n $scope.holdstatus =holdstatus;\r\n FollowUpModel = $uibModal.open({\r\n templateUrl: 'HoldJob.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n controller: ModalInstanceCtrlFollowUp,\r\n });\r\n } \r\n }\r\n vm.UpdateHoldReason=\"Update\";\r\n\r\n vm.UpdateHoldingStatus = function (ticketId, holdingStatus) {\r\n if(vm.primaryHoldReason!= null)\r\n {\t\r\n vm.enable1 = \"false\";\r\n vm.UpdateHoldReason=\"Updating...\";\r\n };\r\n var itemNames = '';\r\n var itemValues = '';\r\n JobTicketViewService.UpdateHoldingStatus(loggedInUserId, ticketId, holdingStatus,vm.primaryHoldReason,vm.primaryHoldRemark, token).then(function (resp) {\r\n if (resp.status == 202) {\r\n vm.showSuccess('Job Hold/Unhold Status', 'Job has been updated successfully');\r\n $timeout(function () {\r\n if (vm.searchStatusText == 'All Job Status' && vm.searchJobTypeText == 'All Job Types') {\r\n\r\n itemNames = '';\r\n itemValues = '';\r\n\r\n } else if (vm.searchJobTypeText != 'All Job Types' && vm.searchStatusText == 'All Job Status') {\r\n\r\n itemNames = 'Skill';\r\n itemValues = vm.searchJobTypeText;\r\n\r\n } else if (vm.searchStatusText != 'All Job Status' && vm.searchJobTypeText == 'All Job Types') {\r\n\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText;\r\n } else if (vm.searchStatusText != 'All Job Status' && vm.searchJobTypeText != 'All Job Types') {\r\n itemNames = 'Status,Skill';\r\n itemValues = vm.searchStatusText + \",\" + vm.searchJobTypeText;\r\n }\r\n vm.getAllJobTickets(supervisorId, startDate, endDate, itemNames, itemValues, templateItemNames, templateItemValues);\r\n vm.enable1 = \"true\";\t\r\n vm.UpdateHoldReason=\"Update\";\t\r\n }, 2000);\r\n vm.CloseFollowUpModel();\r\n } else {\r\n vm.showFailure('Job Hold/Unhold Status', 'Unable to update job, server is not responding correctly.');\r\n }\r\n }, function (err) {\r\n vm.showFailure('Job Hold/Unhold Status', 'Unable to update job, server is not responding correctly.');\r\n })\r\n }\r\n\r\n vm.downloadReport = function (ticketId, templateName) {\r\n if (templateName == 'Water Testing') {\r\n var urlWithFeasible = PublicApiURL + '/api/Report/' + ticketId + '/DownloadReportByTemplateName?reqUserId=' + $localStorage.loggedInUserId;\r\n $window.open(urlWithFeasible, '_blank')\r\n } else {\r\n var urlForNonFeasible = PublicApiURL + '/api/Report/' + ticketId + '/Report?reqUserId=' + $localStorage.loggedInUserId;\r\n $window.open(urlForNonFeasible, '_blank')\r\n }\r\n }\r\n\r\n vm.starChanged = function () {\r\n switch (vm.RatingOfTicket) {\r\n case '5':\r\n vm.aproveMessage = 'Excellent';\r\n break;\r\n\r\n case '4':\r\n vm.aproveMessage = 'Very Good';\r\n break;\r\n\r\n case '3':\r\n vm.aproveMessage = 'Good';\r\n break;\r\n\r\n case '2':\r\n vm.aproveMessage = 'Bad';\r\n break;\r\n\r\n case '1':\r\n vm.aproveMessage = 'Very Bad';\r\n break;\r\n }\r\n vm.ratingwarning=\"\";\r\n }\r\n vm.updateStartTime = function (ticket) {\r\n if (moment(ticket.StartTimeD, \"DD/MM/YYYY LTS\").format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\") != ticket.StartTime.format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\")) {\r\n JobTicketViewService.updateStartTime(ticket.TicketId, loggedInUserId, ticket.StartTime, token, function () {\r\n vm.showSuccess(\"Success\", \"Start time updated successfully.\");\r\n }, vm.showFailure);\r\n ticket.StartTimeD = ticket.StartTime.format(\"DD/MM/YYYY LTS\");\r\n }\r\n\r\n }\r\n\r\n vm.setDefaultValTocal = function (ticket) {\r\n if (ticket.StartTime) {\r\n ticket.StartTimeObj = moment(ticket.StartTime, \"YYYY-MM-DDThh:mm:ss.SSSZ\");\r\n }\r\n }\r\n\r\n vm.showStartTimeCal = function (ticket) {\r\n if (ticket) {\r\n angular.forEach(vm.ticketList, function (d) {\r\n d.calStartTime = false;\r\n });\r\n ticket.calStartTime = true;\r\n }\r\n }\r\n\r\n vm.getJobAllStatus = function () {\r\n JobTicketViewService.getJobAllStatus(loggedInUserId, token, function (data) {\r\n //vm.statusList = data;\r\n angular.forEach(data, function (status) {\r\n if (status.StatusName == 'On Hold') {\r\n status.StatusName = 'Hold'; \r\n }\r\n vm.statusList.push(status);\r\n \r\n })\r\n\r\n //vm.statusList.push(\"All Job Status\");\r\n vm.statusList.unshift({ \"StatusName\": \"All Job Status\" });\r\n if (vm.path == 'isTicketView') {\r\n // vm.searchJobTypeText = $localStorage.AllJobType;\r\n vm.searchStatusText = $localStorage.AllJobStatus;\r\n }\r\n }, vm.showFailure);\r\n }\r\n vm.getJobAllStatus();\r\n\r\n vm.downloadMultipleReports = function () {\r\n var ticketId = \"\";\r\n var correlated = $localStorage.accountConfig.CorrelatedReports;\r\n var reportMapperId = $localStorage.accountConfig.ReportMapperId;\r\n angular.forEach(vm.ticketList, function (t) {\r\n if (t.checked) {\r\n ticketId += t.TicketId + \",\";\r\n }\r\n })\r\n ticketId = ticketId.length > 0 ? ticketId.substring(0, ticketId.length - 1) : ticketId;\r\n JobTicketViewService.downloadMultipleReports(loggedInUserId, ticketId, reportMapperId, correlated);\r\n vm.showAutoSchduleBtn = false;\r\n vm.downloadFlag = false;\r\n vm.downloadReportBtn = false;\r\n vm.deleteFlag = false;\r\n vm.getAllJobTickets(supervisorId, startDate, endDate, itemNames, itemValues, templateItemNames, templateItemValues);\r\n }\r\n\r\n vm.downloadInvoiceReport = function () {\r\n var ticketId = \"\";\r\n var correlated = $localStorage.accountConfig.CorrelatedReports;\r\n // var reportMapperId = $localStorage.accountConfig.ReportMapperId;\r\n angular.forEach(vm.ticketList, function (t) {\r\n if (t.checked) {\r\n ticketId += t.TicketId + \",\";\r\n }\r\n })\r\n ticketId = ticketId.length > 0 ? ticketId.substring(0, ticketId.length - 1) : ticketId;\r\n JobTicketViewService.downloadInvoice(loggedInUserId, ticketId, correlated);\r\n }\r\n\r\n vm.showMultipleDownloadButton = function () {\r\n var ticketSelected = false;\r\n var IsReportMapper = false; \r\n vm.invoiceFlag = false;\r\n vm.deleteFlag = false;\r\n vm.actionFlag = false;\r\n var actionFlagList = [];\r\n var deleteFlagList = [];\r\n angular.forEach(vm.ticketList, function (t) {\r\n ticketSelected = ticketSelected || t.checked;\r\n if(t.checked){\r\n if(t.reportMapperId)\r\n {\r\n IsReportMapper = true;\r\n }\r\n else\r\n {\r\n IsReportMapper = false; \r\n }\r\n }\r\n if (vm.Role == 'Vendor Manager') {\r\n if (t.checked && t.Skill == 'Water Lab Test' && t.Status == 'Completed') {\r\n vm.invoiceFlag = true;\r\n } else if (t.checked && t.AcceptDate != null) {\r\n actionFlagList.push(false);\r\n } else if (t.checked && t.AcceptDate == null && t.Status == 'Rejected') {\r\n actionFlagList.push(false);\r\n } else if (t.checked && t.AcceptDate == null && t.Status == 'Assigned') {\r\n actionFlagList.push(true);\r\n }\r\n } else {\r\n if (t.checked && t.Skill == 'Water Lab Test' && t.Status == 'Completed') {\r\n vm.invoiceFlag = true;\r\n } else if (t.checked && t.Status == 'New') {\r\n deleteFlagList.push(true);\r\n // vm.deleteFlag = true;\r\n } else if (t.checked && t.Status != 'New') {\r\n // vm.deleteFlag = false;\r\n deleteFlagList.push(false);\r\n }\r\n }\r\n\r\n\r\n })\r\n if (deleteFlagList.includes(false)) {\r\n vm.deleteFlag = false;\r\n } else if (deleteFlagList.includes(true)) {\r\n vm.deleteFlag = true;\r\n } if (actionFlagList.includes(false)) {\r\n vm.actionFlag = false\r\n } else {\r\n vm.actionFlag = true;\r\n }\r\n return IsReportMapper && ticketSelected && $localStorage.accountConfig != null && $localStorage.accountConfig.CorrelatedReports != null && $localStorage.accountConfig.ReportMapperId != null;\r\n }\r\n // vm.showInvoiceButton = function () {\r\n // var invoiceFlag = false;\r\n // angular.forEach(vm.ticketList, function (t) {\r\n // if (t.checked && t.Skill == 'Water Lab Test' && t.Status == 'Completed') {\r\n // var invoiceFlag = true;\r\n // return invoiceFlag;\r\n // } \r\n // })\r\n // return invoiceFlag;\r\n // }\r\n\r\n vm.hideSingleDownloadButton = function () {\r\n return $localStorage.accountConfig != null && $localStorage.accountConfig.CorrelatedReports != null && $localStorage.accountConfig.ReportMapperId != null || $localStorage.loggedInUser_Role == 'Vendor Manager';\r\n }\r\n\r\n vm.getSkills = function () {\r\n JobTicketViewService.getSkills(loggedInUserId, token, function (skills) {\r\n vm.skills = skills;\r\n vm.skills.unshift({ \"SkillName\": \"All Job Types\" }); \r\n if (vm.path == 'isTicketView') {\r\n vm.searchJobTypeText = $localStorage.AllJobType;\r\n // vm.searchStatusText = $localStorage.AllJobStatus;\r\n } \r\n }, vm.showFailure);\r\n\r\n \r\n\r\n }\r\n vm.getSkills();\r\n\r\n vm.isApprovalPermission = function (defaultValue) {\r\n if (vm.accountConfig && vm.accountConfig['ApprovalPermission'] != null) {\r\n return vm.accountConfig['ApprovalPermission'].split(\",\").indexOf($localStorage.loggedInUser_Role) > -1;\r\n }\r\n return defaultValue;\r\n }\r\n\r\n vm.OpenBillModal = function (ticketId) {\r\n vm.BillDetails = [];\r\n vm.TotalExpense = '';\r\n JobTicketViewService.getBillExpenseByTicketID(loggedInUserId, ticketId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n angular.forEach(resp.data, function (d) {\r\n vm.BillDetails = d.Bills;\r\n vm.TotalExpense = d.ExpenseAmount;\r\n })\r\n }\r\n if (vm.TotalExpense != 0) {\r\n BillModal = $uibModal.open({\r\n templateUrl: 'bill_model.html',\r\n scope: $scope\r\n })\r\n }\r\n })\r\n }\r\n\r\n vm.CloseBillModal = function () {\r\n BillModal.close();\r\n }\r\n\r\n vm.getPicUrl = function (pic) {\r\n return ImageUrl + '/' + pic;\r\n }\r\n vm.ReportpdfUrl = function (pic) {\r\n // alert('hello');\r\n return InvoiceUrl + '/' + pic;\r\n }\r\n\r\n vm.reloadData = function(){\r\n var resetPaging = true;\r\n vm.dtInstance.reloadData(resetPaging);\r\n }\r\n\r\n vm.downloadDataCaptureImage = function(){\r\n var ticket = '';\r\n for(var i=0;i 31 \r\n && (charCode < 48 || charCode > 57))\r\n return false;\r\n\r\n return true;\r\n }\r\n \r\n });\r\n\r\nangular.module('inspinia').filter('changeTime', function () {\r\n\r\n return function (s) {\r\n var ms = s % 1000;\r\n s = (s - ms) / 1000;\r\n var secs = s % 60;\r\n s = (s - secs) / 60;\r\n var mins = s % 60;\r\n var hrs = (s - mins) / 60;\r\n\r\n return hrs + ':' + mins + ' hr';\r\n }\r\n});\r\nfunction CheckRegExOnKeyPressDesc(e) {\r\n \r\n var regex = new RegExp(\"^[a-zA-Z0-9\\\\s.,/-]+$\");\r\n var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);\r\n if (regex.test(str)) {\r\n return true;\r\n }\r\n e.preventDefault();\r\n return false;\r\n};\nangular.module('inspinia').service('JobDetailViewService', function (ApiURL, $log, $http,MMFCRMURL, SchedulingAPI, FreelancerURL, $localStorage, ActivityURL, AcessoriesURL, PublicApiURL,$timeout){\r\n\r\n this.GetJobTicket = function (ticketId, token) {\r\n var url = ApiURL + '/api/Ticket/' + ticketId + '/' + $localStorage.loggedInUserId + '/byTicketId';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.UpdateDeviceRepairDone = function(TicketId, token){\r\n var url = ApiURL + '/api/Ticket/UpdateDeviceRepairDone?ticketId=' + TicketId;\r\n return $http.put(url,null,{\r\n headers:{\r\n 'Content-Type':'application/json',\r\n 'Token': token, \r\n 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n \r\n this.GeneratePdfEstimateReport = function (loggedinUser, TicketId, token) {\r\n var url = ApiURL + '/api/Report/GeneratePdfEstimateReport?TicketId=' + TicketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n //https://product.mymobiforce.com/coreapi/api/Ticket/ApproveJobStart?TicketId= T560000012781\r\n\r\n this.GetJobApprove = function (ticketId, token) { \r\n var url = ApiURL + '/api/Ticket/ApproveJobStart?TicketId=' + ticketId;\r\n return $http.put(url,ticketId, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.reqVideoCall = function (ticketId, token) { \r\n var url = ApiURL + '/api/Ticket/SendVideoCallInvite?TicketId=' + ticketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.SendCommunicationInvite = function (ticketId,type, token) { \r\n var url = ApiURL + '/api/Ticket/SendCommunicationInvite?TicketId=' + ticketId +'&Type=' + type ;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.SendChatInviteForExternal = function (data, token) { \r\n var url = ApiURL + '/api/Ticket/SendCommunicationInviteIncludingOutsiders'\r\n return $http.post(url, data,{\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n \r\n\r\n this.GetLatestVideoSessionLocation = function (UserId,token) {\r\n var url = ActivityURL + '/api/Activity/GetLatestVideoSessionLocation?userId='+ UserId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n //https://product.mymobiforce.com/coreapi/api/Ticket/RejectJobStart?TicketId=T560000012784\r\n this.RejectJob = function (ticketId, token) { \r\n var url = ApiURL + '/api/Ticket/RejectJobStart?TicketId=' + ticketId;\r\n return $http.put(url,ticketId, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.initiateAdvancedPayment = function (advancedDetails, token) { \r\n var url = ApiURL + '/api/JobLineItem/UpdateAdvancePaymentLineItem';\r\n return $http.put(url,advancedDetails, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n \r\n this.downloadOnSiteReport = function ( loggedInUserId, token,TicketId) { \r\n var url = ApiURL + '/api/Report/GeneratePdfOnSiteReport?TicketId=' + TicketId;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedInUserId \r\n }\r\n \r\n });\r\n }\r\n\r\n \r\n\r\n this.getHistory = function (ticketId, token) {\r\n var url = ApiURL + '/api/Ticket/' + ticketId + '/' + $localStorage.loggedInUserId + '/TicketHistorybyTicketId';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.getAllActivitiesForJob = function (jobId, accountId, token, callback) {\r\n var url = ActivityURL + '/api/Activity/' + accountId + '/GetAllActivitiesForJob?jobId=' + jobId;\r\n $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token':token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n }).then(function (res) {\r\n if (res && res.data)\r\n callback(res.data);\r\n });\r\n }\r\n\r\n this.GetChatRecords = function (ReferenceDoc,loggedInUserId, token, callback) {\r\n var url = ApiURL + '/api/Ticket/GetChatRecords?docId=' + ReferenceDoc;\r\n $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedInUserId\r\n }\r\n }).then(function(res){\r\n callback(res.data)\r\n },function(){\r\n\r\n });\r\n }\r\n\r\n this.updateStartTime = function (ticketId, userId, startTime,appointmentotp, token) {\r\n var url = ApiURL + '/api/Ticket/updatestartdate';\r\n return $http.put(url,{\r\n \"requserid\": userId,\r\n \"ticketid\": ticketId,\r\n \"starttime\": startTime,\r\n \"AppointmentOTP\" : appointmentotp\r\n },{\r\n headers: { 'Token': token, 'UserId': $localStorage.loggedInUserId }\r\n });\r\n }\r\n \r\n //https://perf.mymobiforce.com/coreapi/api/Ticket/UpdateMetrialDeliverStatus?requserid=122&ticketid=2222&MetrialDeliverStatus=2xvfxcv\r\n this.UpdateMetrialDeliveredStatus = function(ticketId, userId, matrialStatus, token, success, failure){\r\n var url = ApiURL+\"/api/Ticket/UpdateMetrialDeliverStatus?requserid=\"+userId+'&ticketid='+ticketId+'&MetrialDeliverStatus='+matrialStatus; \r\n $http.put(url, null, { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId } }).then(function(res){\r\n if(res){\r\n success(res);\r\n } else {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\") \r\n }\r\n }, function(error){\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.updateJobTicketwithImage = function (ticketModel, token) {\r\n\r\n\r\n var request = {\r\n method: 'POST',\r\n url: ApiURL + '/api/Upload/PostMediaFileWithObject',\r\n data: ticketModel,\r\n headers: {\r\n 'Token': token,\r\n 'UserId':$localStorage.loggedInUserId,\r\n 'Content-Type': undefined\r\n \r\n }\r\n };\r\n \r\n // SEND THE FILES.\r\n return $http(request)\r\n .success(function (d) {\r\n // alert(d);\r\n })\r\n .error(function () {\r\n });\r\n \r\n // var url = ApiURL + '/api/Upload/PostMediaFileWithObject';\r\n // return $http.post(url, ticketModel, {\r\n // headers: {\r\n // 'Content-Type': 'undefined', 'Token': token\r\n // }\r\n // });\r\n }\r\n \r\n this.getTemplateByName = function(name, token, userId,ticketId, success, failure){\r\n var url = ApiURL + '/api/Template/'+name+'/'+userId+'/'+ticketId+'/byNameNew';\r\n $http.get(url, {\r\n headers:{'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId}\r\n }).then(function(res){\r\n if(res && res.data){\r\n success(res.data);\r\n }\r\n }, function(error){\r\n failure(\"Failed\", \"Failed to get template \"+name+\", server is not responding correctly.\");\r\n });\r\n }\r\n \r\n this.getAllState = function (userId,token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':userId }\r\n });\r\n }\r\n \r\n this.getAllCity = function (userId, state, token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+state;\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':userId }\r\n });\r\n }\r\n\r\n //call to customer https://product.mymobiforce.com/coreapi/api/CallPatching/ClickToCall\r\n this.callToCustomer = function (loggedinUser,data, token) {\r\n $http.post(ApiURL + '/api/CallPatching/ClickToCall',data,\r\n { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':loggedinUser } }).then(function (resp) {\r\n if (resp && resp.data) {\t \r\n if(resp.status==200)\r\n {\r\n vm.showSuccess(resp.data.Message); \r\n }\r\n else {\r\n vm.showFailure(\"Failed\");\r\n }\r\n }\r\n });\r\n }\r\n\r\n this.UpdateSDRForTicket = function (SDRData, token) {\r\n var url = ApiURL + '/api/Ticket/UpdateSDRForTicket';\r\n return $http.put(url,SDRData, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId }\r\n });\r\n }\r\n\r\n this.ClickToCallAlternate = function (loggedinUser,data, token) {\r\n $http.post(ApiURL + '/api/CallPatching/ClickToCallAlternate',data,\r\n { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':loggedinUser } }).then(function (resp) {\r\n if (resp && resp.data) {\t \r\n if(resp.status==200)\r\n {\r\n vm.showSuccess(resp.data.Message); \r\n }\r\n else {\r\n vm.showFailure(\"Failed\");\r\n }\r\n }\r\n });\r\n }\r\n\r\n\r\n this.UpdateContactInTicket = function (loggedinUser,data, token) {\r\n var url = MMFCRMURL + '/api/CRMConsumer/UpdateContactInTicket';\r\n return $http.put(url,data, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':loggedinUser }\r\n });\r\n }\r\n\r\n this.saveTicket = function (loggedinUser, ticketId, data, token, success, failure) {\r\n $http.put(ApiURL + '/api/Ticket/' + loggedinUser + '/' + ticketId + '/byTicketId', data, \r\n { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':loggedinUser } }).then(function (res) {\r\n if (res && res.status == 200 && res) {\r\n success(res.data);\r\n } else{\r\n failure(\"Failed\", res.data.Message);\r\n }\r\n }, function (err) {\r\n failure(\"Failed\", \"Unable to update job, server is not responding correctly.\");\r\n });\r\n }\r\n this.updateJobDescription = function (loggedinUser, data, token, success, failure) {\r\n $http.put(ApiURL + '/api/Ticket/updateJobDescription', data, \r\n { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':loggedinUser } }).then(function (res) {\r\n if (res && res.status == 200 && res) {\r\n success(res.data);\r\n } else{\r\n failure(\"Failed\", res.data.Message);\r\n }\r\n }, function (err) {\r\n failure(\"Failed\", \"Unable to update job, server is not responding correctly.\");\r\n });\r\n }\r\n //https://product.mymobiforce.com/coreapi/api/Ticket/UpdatePlannedClosureDate\r\n this.updatePlannedClosure = function (loggedinUser, data, token, success, failure) {\r\n $http.put(ApiURL + '/api/Ticket/UpdatePlannedClosureDate', data, \r\n { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':loggedinUser } }).then(function (res) {\r\n if (res && res.status == 200 && res) {\r\n success(res.data);\r\n } else{\r\n failure(\"Failed\", res.data.Message);\r\n }\r\n }, function (err) {\r\n failure(\"Failed\", \"Unable to update job, server is not responding correctly.\");\r\n });\r\n }\r\n this.UpdateJobPayment = function (loggedinUser, ticketId, BroadcastRate, token, success, failure) {\r\n var url = ApiURL + '/api/Ticket/UpdateJobPayment?reqUserId=' + loggedinUser + '&TicketId=' + ticketId + '&BroadcastRate='+BroadcastRate;\r\n $http.put(url,null, { headers: { 'Content-Type': 'application/json', 'Token': token,'UserId':loggedinUser } }).then(function (res) {\r\n if (res && res.status == 200 && res) {\r\n success(res.data);\r\n } else{\r\n failure(\"Failed\", \"Unable to update job payment, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n failure(\"Failed\", \"Unable to update job payment, server is not responding correctly.\");\r\n });\r\n }\r\n // https://perf.mymobiforce.com/freelancerapi/api/FreeLancerUser/GetFavoriteFreelancersByAccount/U400000000001\r\n // this.GetAllPrefereTalentPool = function(loggedinUser,token){\r\n // var url = FreelancerURL + '/api/FreeLancerUser/GetFavoriteFreelancersByAccount/'+loggedinUser;\r\n // return $http.get(url, {\r\n // headers: {\r\n // 'Content-Type': 'application/json', 'Token': token\r\n // }\r\n // });\r\n // }\r\n\r\n this.GetSchedulingEvaluationResult = function(data,reqUserId,token){\r\n var url = SchedulingAPI + '/api/AssistedScheduling/GetSchedulingEvaluationResult?reqUserId='+reqUserId;\r\n return $http.post(url,data,{\r\n headers:{'Content-Type':'application/json','Token':token, 'UserId':reqUserId}\r\n });\r\n }\r\n\r\n // https://perf.mymobiforce.com/schedulingapi/api/AssistedScheduling/GetFavoriteFR?reqUserId=U400000000001\r\n this.GetAllPrefereTalentPool = function(data,reqUserId,token){\r\n var url = SchedulingAPI + '/api/AssistedScheduling/GetFavoriteFR?reqUserId='+reqUserId;\r\n return $http.post(url,data,{\r\n headers:{'Content-Type':'application/json','Token':token, 'UserId':reqUserId}\r\n });\r\n }\r\n\r\n // https://perf.mymobiforce.com/schedulingapi/api/AssistedScheduling/GetPreWorkedWith?reqUserId=U400000000001\r\n this.GetAllPreviousUser = function(data,reqUserId,token){\r\n var url = SchedulingAPI + '/api/AssistedScheduling/GetPreWorkedWith?reqUserId='+reqUserId;\r\n return $http.post(url,data,{\r\n headers:{'Content-Type':'application/json','Token':token, 'UserId':reqUserId}\r\n });\r\n }\r\n\r\n\r\n this.BroadCastJobsforUser = function(loggedinUser,data, token){\r\n var url = FreelancerURL + '/api/BID/createBidFromAssistedScheduling?reqUserId=' + loggedinUser;\r\n return $http.post(url,data,{\r\n headers:{\r\n 'Content-Type':'application/json',\r\n 'Token': token, 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.getCustomerJobCardbyJobId = function(accountId, jobId, token ,success, failure){\r\n $http.get(ApiURL+\"/api/GetCustomerJobCardbyJobId/\"+jobId+\"/\"+accountId+\"/GetCustomerJobCardbyJobId\", {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n }).then(function(res){\r\n if(res && res.data && success){\r\n success(res.data);\r\n } else if(failure){\r\n failure();\r\n }\r\n });\r\n }\r\n\r\n\r\n this.GetTicketsByStatus = function (loggedinUser, itemNames,itemValues, token) {\r\n var url = FreelancerURL + '/api/BID/'+loggedinUser+'/' + itemNames + '/'+ itemValues + '/getjobsbyfilter';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n\r\n //https://test.mymobiforce.com/coreapi/api/Ticket/test/AssignTicketForAssistedScheduling\r\n this.AssignTicketsTimeline = function(reqUserId,list, token){\r\n var url = ApiURL + '/api/Ticket/' + reqUserId + '/AssignTicketForAssistedScheduling'\r\n return $http.put(url,list,{\r\n headers:{'Content-Type':'application/json','Token':token, 'UserId':reqUserId}\r\n })\r\n }\r\n\r\n //https://perf.mymobiforce.com/coreapi/api/User/GetUsersByTicketId/U400000000001/T0000000605\r\n // var ApiURL='https://perf.mymobiforce.com/coreapi';\r\n this.GetUsersByTicketId = function(loggedinUser,ticketId,token){\r\n var url = ApiURL + '/api/User/GetUsersByTicketId/'+loggedinUser+'/'+ticketId;\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json','token':token, 'UserId':loggedinUser}\r\n })\r\n }\r\n//https://test.mymobiforce.com/coreapi/api/ServiceGST/GetGST?reqUserId=U3600000000001&skill=AC%20Installation\r\nthis.GetServiceTax = function(loggedInUserId,token, callback){\r\n var url = ApiURL + '/api/ServiceGST?reqUserId='+ loggedInUserId;\r\n return $http.get(url,{\r\n headers:{'Token':token,'UserId':loggedInUserId}\r\n }).then(function(res){\r\n callback(res.data)\r\n },function(){\r\n\r\n });\r\n}\r\nthis.GetMobCommission = function(loggedInUserId,token, callback){\r\n var url = ApiURL + '/api/ServiceGST/GetMobiforceCommission?reqUserId='+ loggedInUserId;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId':loggedInUserId}\r\n }).then(function(res){\r\n callback(res.data)\r\n },function(){\r\n\r\n });\r\n}\r\n\r\nthis.OnLoadLineItemDetails = function(loggedinUser,LineItemTicketId,token){\r\n var url = ApiURL + '/api/JobLineItem/GetJobLineItemByTicketId?reqUserId='+loggedinUser+'&ticketId='+LineItemTicketId;\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json','token':token, 'UserId':loggedinUser}\r\n })\r\n}\r\nthis.CreateUpdateRemoveLineItem = function (userFormData, loggedInUserId,token) {\r\n var url = ApiURL + '/api/JobLineItem/UpdateJobLineItemForNewPricing?reqUserId='+ loggedInUserId;\r\n return $http.put(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token , 'UserId':loggedInUserId\r\n }\r\n });\r\n}\r\nthis.completeJob = function (data, loggedinUser, token, success, failure) {\r\n var url = ApiURL + '/api/Ticket/updatestatus';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':loggedinUser\r\n }\r\n }).then(success, function(error){\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n}\r\n//https://product.mymobiforce.com/coreapi/api/Ticket/FVT0000000000066/FV0000000000103/T350000012267/35/AssignTicketByVendorFromMobile\r\n\r\nthis.VendorManagerAssignJobTeam = function (UserID, loggedInUserId,TicketId,jobAccountId,token) {\r\n var url = ApiURL + '/api/Ticket/'+ UserID +'/'+ loggedInUserId +'/'+ TicketId +'/'+ jobAccountId +'/AssignTicketByVendorFromMobile';\r\n return $http.put(url, null, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token , 'UserId':loggedInUserId\r\n }\r\n });\r\n}\r\n\r\nthis.uploadLineItemPic = function (loggedInUserId, data, token, success, failure) {\r\n $http.post(ApiURL + '/api/User/PostUserPic?reqUserId=' + loggedInUserId, data, {\r\n headers: {\r\n 'Content-Type': undefined, 'Token': token, 'UserId':loggedInUserId\r\n }\r\n }).then(success, failure);\r\n}\r\n\r\n\r\nthis.UpdateStatusJobLineItem = function (ticketId,status,lineitemId,updateStatusRemark,token) {\r\n var url = ApiURL + '/api/JobLineItem/UpdateStatusJobLineItem?TicketId=' + ticketId + '&Status=' + status + '&LineItemId=' + lineitemId + '&Remark=' + updateStatusRemark;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\nthis.UpdateRequestInventoryJobLineItemStatus = function (ticketId,status,lineitemId,updateStatusRemark,token) {\r\n var url = ApiURL + '/api/JobLineItem/UpdateRequestInventoryJobLineItemStatus?TicketId=' + ticketId + '&Status=' + status + '&LineItemId=' + lineitemId + '&Remark=' + updateStatusRemark;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\nthis.GetCancellationReasons = function (AuditTicketId, status, loggedInUserId, token) {\r\n var url = '';\r\n url = ApiURL + '/api/TicketCancelationReasonController/' + loggedInUserId + '/getCancellationReasons?AtStatus=' + status + '&TicketId=' + AuditTicketId;;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n}\r\n\r\nthis.UpdateJobPaymentDynamicPrice = function (loggedinUser, ticketId, BroadcastRate,MobiforceCommission,FreelancerRate, IsFinalApproval,data,token, success, failure) {\r\n var url = ApiURL + '/api/Ticket/UpdateJobPaymentDynamicPrice?reqUserId=' + loggedinUser + '&TicketId=' + ticketId + '&BroadcastRate='+BroadcastRate + '&MobiforceCommission='+MobiforceCommission + '&FreelancerRate='+FreelancerRate + '&IsFinalApproval='+IsFinalApproval;\r\n $http.put(url,data,{ headers: { 'Content-Type': 'application/json', 'Token': token , 'UserId':loggedinUser} }).then(function (res) {\r\n if (res.status == 201) {\r\n success(res.data);\r\n } else{\r\n\r\n $timeout(function(){\t\r\n failure(\"Failed\", res.data.Message);\r\n vm.enable1 = \"true\";\r\n vm.ApprovePricingButtonText = \"Approve Pricing\";\t\t\t\t\r\n }, 1000);\r\n\r\n }\r\n }, function (err) {\r\n failure(\"Failed\", \"Unable to update job payment, server is not responding correctly.\");\r\n });\r\n}\r\n\r\nthis.UpdateJobPaymentDynamicPriceAndApprove = function (loggedInUserId, data,token) {\r\n var url = ApiURL + '/api/Ticket/UpdateJobPaymentDynamicPriceAndApprove';\r\n return $http.put(url, data, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token , 'UserId':loggedInUserId\r\n }\r\n });\r\n}\r\n\r\n//https://product.mymobiforce.com/coreapi/api/JobLineItem/GetAllJobLineItemMasterByTicketId?ticketId=T1140000016805_1\r\nthis.GetJobLineItem = function(loggedInUserId,ticketId,token){\r\n var url = ApiURL + '/api/JobLineItem/GetAllJobLineItemMasterByTicketId?ticketId='+ticketId;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId': loggedInUserId}\r\n })\r\n}\r\n\r\n\r\nthis.ResolveException = function (loggedinUser,ticketIdList, token) {\r\n var url = SchedulingAPI + '/api/AutoSchedulerException/MarkResolveSchedulerExceptionForTicket?reqUserId=' + loggedinUser; \r\n return $http.put(url, {'exceptionIdList':ticketIdList}, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token , 'UserId':loggedinUser\r\n }\r\n });\r\n}\r\n\r\nthis.GetCallDetails = function (ticketId, token) { \r\n var url = ApiURL + '/api/CallPatching/GetCallDetailsforTicket?TicketId=' + ticketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n// Actvity Timeline\r\nthis.GetAllActivityTimeline = function (ticketId,filter, token) { \r\n var url = ApiURL + '/api/Timeline/GetAllActivityTimelineForJob?ticketId=' + ticketId+ '&filter='+ filter\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\n\r\n//https://login.mymobiforce.com/coreapi/api/VoltasMaster/GetMasterDataLiteByTicketId?TicketId=T2670000009096&PurchaseType=Online\r\nthis.purchaseFromList = function (ticketId, token) { \r\n var url = ApiURL + '/api/VoltasMaster/GetMasterDataLiteByTicketIdForPortal?TicketId=' + ticketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\n//https://login.mymobiforce.com/coreapi/api/VoltasMaster/GetMasterDataLiteByTicketId?TicketId=T2670000009096&PurchaseType=Online\r\nthis.purchaseFromList = function (ticketId, purchaseType, token) { \r\n var url = ApiURL + '/api/VoltasMaster/GetMasterDataLiteByTicketIdForPortal?TicketId=' + ticketId +'&PurchaseType=' + purchaseType;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\n\r\n// https://product.mymobiforce.com/coreapi/api/ItemsInventory/GetTrackingDtailsOfItems\r\n\r\n// this.GetTrackingDetails = function (data, token) { \r\n// var url = ApiURL + '/api/ItemsInventory/GetTrackingDtailsOfItems';\r\n// return $http.put(url, data,{\r\n// headers: {\r\n// 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n// }\r\n// });\r\n// }\r\n\r\n// https://product.mymobiforce.com/coreapi/api/ItemsInventory/ShowAllStateTrackingDtailsOfItems\r\n\r\nthis.GetAllTrackingDetails = function (data, token) { \r\n var url = ApiURL + '/api/ItemsInventory/ShowAllStateTrackingDtailsOfItems';\r\n return $http.put(url, data,{\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\n// https://product.mymobiforce.com/coreapi/api/ItemsInventory/GetTrackingDetailsByTrackinNumber\r\n\r\nthis.GetTrackingDetailsByTrackinNumber = function (data, token) { \r\n var url = ApiURL + '/api/ItemsInventory/GetTrackingDetailsByTrackinNumber';\r\n return $http.put(url, data,{\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\nthis.byPassSerialNumber = function (TicketId,bypassvalidation,token) { \r\n var url = ApiURL + '/api/VoltasMaster/ByPassValidation?TicketId='+TicketId+'&bypassvalidation='+bypassvalidation;\r\n return $http.put(url,null,{\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\n// https://product.mymobiforce.com/coreapi/api/ItemsInventory/GetShipmentDetails\r\nthis.GetShipmentDetails = function (data, token) { \r\n var url = ApiURL + '/api/ItemsInventory/GetShipmentDetails';\r\n return $http.put(url, data,{\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\n// https://product.mymobiforce.com/coreapi/api/ItemsInventory/GetNearbyWarehouseList\r\nthis.GetWarehouse = function (token,data) {\r\n var url = ApiURL + '/api/ItemsInventory/GetNearbyWarehouseList';\r\n return $http.put(url,data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\n// https://product.mymobiforce.com/coreapi/api/ItemsInventory/CreateSalesOrderForLineitem\r\nthis.createSalesOrder = function (token,data) {\r\n var url = ApiURL + '/api/ItemsInventory/CreateSalesOrderForLineitem';\r\n return $http.post(url,data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\nthis.GetPreApprovalDocList = function (ticketId, token) { \r\n var url = ApiURL + '/api/Ticket/GetPreApprovalStep?TicketId=' + ticketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\n// https://test.mymobiforce.com/coreapi/api/Ticket/GetPreApprovalStepByMMF?TicketId=T1140000069037\r\n\r\nthis.GetPreApprovalStepEric = function (ticketId, token) { \r\n var url = ApiURL + '/api/Ticket/GetPreApprovalStepByMMF?TicketId=' + ticketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\nthis.ResendFeedbackforCustomerRating = function(ticketId,token){\r\n var url = ApiURL + '/api/Ticket/ResendFeedbackforCustomerRating?TicketId=' + ticketId;\r\n return $http.get(url,{\r\n headers:{\r\n 'Content-Type':'application/json',\r\n 'Token': token, \r\n 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\nthis.GetModelNumberByTicketId = function (ticketId,loggedinUser, token) {\r\n var url = MMFCRMURL + '/api/CRMBrandProductMaster/GetModelNumberByTicketId?TicketId=' + ticketId;\r\n return $http.get(url,{\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n}\r\n\r\nthis.GetCRMCallTypeList = function (data,loggedinUser, token) {\r\n var url = MMFCRMURL + '/api/CRMBrandProductMaster/GetCallTypeList';\r\n return $http.put(url, data,{\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n}\r\n\r\nthis.completeTkt = function(data,token){\r\n var url = ApiURL + '/api/Ticket/MarkTicketInCompleteStatus';\r\n return $http.put(url,data,{\r\n headers:{\r\n 'Content-Type':'application/json',\r\n 'Token': token, \r\n 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\nthis.ValidateTicketCanMarkComplete = function(data,token){\r\n var url = ApiURL + '/api/Ticket/ValidateTicketCanMarkComplete';\r\n return $http.put(url,data,{\r\n headers:{\r\n 'Content-Type':'application/json',\r\n 'Token': token, \r\n 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\nthis.UpDateEstimateStatus = function(ticketId,status,token){\r\n var url = ApiURL + '/api/Ticket/UpDateEstimateStatus?TicketId=' + ticketId +'&Status=' + status;\r\n return $http.put(url,null,{\r\n headers:{\r\n 'Content-Type':'application/json',\r\n 'Token': token, \r\n 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\nthis.SendHappyCodeSMS = function (TicketId,accountId,loggedinUser, token) { \r\n var url = ApiURL + '/api/Ticket/SendHappyCodeSMS?TicketId=' + TicketId + '&accountId=' + accountId + '&CodeType=AppointmentCode';\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n }\r\n \r\n });\r\n}\r\n\r\n\r\nthis.SendHappyCodeSMSNew = function (TicketId,accountId,appointmentTime,loggedinUser, token) { \r\n var url = ApiURL + '/api/Ticket/SendHappyCodeSMSNew?ticketId=' + TicketId + '&accountId=' + accountId + '&AppointmentTime=' + appointmentTime + '&CodeType=AppointmentCode';\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n }\r\n \r\n });\r\n}\r\n\r\nthis.GetProductInfobySerialNumber = function (serialNumber,accountId,loggedinUser, token) { \r\n var url = MMFCRMURL + '/api/CRMConsumer/GetProductInfobySerialNumber?serialNumber=' + serialNumber + '&AccountId=' + accountId;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n }\r\n \r\n });\r\n}\r\n\r\nthis.GetAllSymptomDocByProductGroup = function (ProductGroup,loggedinUser, token) { \r\n var url = MMFCRMURL + '/api/SDRReport/GetAllSymptomDocByProductGroup?ProductGroup=' + ProductGroup;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n }\r\n \r\n });\r\n}\r\n\r\n\r\nthis.GetDefectsValuesBySymptomValue = function (SymptomValue,loggedinUser, token) { \r\n var url = MMFCRMURL + '/api/SDRReport/GetAllDefectsDocBySymptomValue?SymptomValue=' + SymptomValue;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n }\r\n \r\n });\r\n}\r\n\r\n\r\nthis.GetAllRepairDocsByDefectValue = function (DefectValue,loggedinUser, token) { \r\n var url = MMFCRMURL + '/api/SDRReport/GetAllRepairDocsByDefectValue?DefectValue=' + DefectValue;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n }\r\n \r\n });\r\n}\r\n\r\nthis.EnableOrDisableFaceRecognation = function(data,token){\r\n var url = ApiURL + '/api/Ticket/EnableOrDisableFaceRecognation';\r\n return $http.put(url,data,{\r\n headers:{\r\n 'Content-Type':'application/json',\r\n 'Token': token, \r\n 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\n// https://test.mymobiforce.com/coreapi/api/Ticket/UpdateMMFFromDataPreApprovalStepByPortal?TicketId=T2660000000899\r\n\r\nthis.updateapproval = function(data, token,ticketId){\r\n var url = ApiURL + '/api/Ticket/UpdateMMFFromDataPreApprovalStepByPortal?TicketId=' + ticketId;\r\n return $http.put(url,data,{\r\n headers:{\r\n 'Content-Type':'application/json',\r\n 'Token': token, \r\n 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\nthis.approvePPw = function(data, token,ticketId){\r\n var url = ApiURL + '/api/Ticket/UpdatePreApprovalStep?TicketId=' + ticketId;\r\n return $http.put(url,data,{\r\n headers:{\r\n 'Content-Type':'application/json',\r\n 'Token': token, \r\n 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\nthis.RejectJobPPw = function(data, token,ticketId){\r\n var url = ApiURL + '/api/Ticket/UpdatePreApprovalStep?TicketId=' + ticketId;\r\n return $http.put(url,data,{\r\n headers:{\r\n 'Content-Type':'application/json',\r\n 'Token': token, \r\n 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\nthis.GenerateConsumerInvoice = function (ticketId, token) { \r\n var url = ApiURL + '/api/PDFReportMapper/GenerateConsumerInvoiceFromMobile?ticketId=' + ticketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\nthis.GetTemplateData = function (ticketId, token) { \r\n var url = ApiURL + '/api/Ticket/GetTemplateData?TicketId=' + ticketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\nthis.GetInventoryPartsDetails = function (ticketId, token) { \r\n var url = ApiURL + '/api/ItemsInventory/GetInventoryPartsDetails?TicketId=' + ticketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\nthis.GetSectionDataByStepName = function (ticketId,sectioninfo,token) { \r\n var url = ApiURL + '/api/Ticket/GetSectionDataByStepName?TicketId=' + ticketId + '§ionInfo=' + sectioninfo;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\nthis.UpdateJobData = function(formdata, token, loggedinUser,TicketId){\r\n var url = ApiURL + '/api/Upload/UpdateJobFieldData?ticketId='+TicketId;\r\n return $http.post(url,formdata,{\r\n headers:{'Content-Type':undefined,'Token':token, 'UserId': loggedinUser}\r\n });\r\n}\r\n\r\nthis.GetJobCompletionOption = function (loggedInUserId,token) {\r\n var url = '';\r\n url = ApiURL + '/api/TicketRemarkOnStatus/getTicketRemarkOnStatus?AtStatus=' + 'New';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n}\r\n\r\nthis.mailReport = function(token, toList, ccList, subject, content,listLineItemData, userID, callback){\r\n var data = {\r\n \"tolist\": toList,\r\n \"cclist\": ccList,\r\n \"BCCList\": [],\r\n \"Body\": content,\r\n \"Subject\": subject,\r\n \"LineItemList\": listLineItemData\r\n };\r\n $http.post(ApiURL + '/api/Mail', data, { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': userID } }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n })\r\n}\r\n\r\nthis.GetAllOrderDetailTicketId = function (ticketId, loggedInUserId, token) {\r\n url = AcessoriesURL + '/api/MMFOrder/GetAllOrderDetailTicketId?TicketId=' + ticketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n}\r\n\r\n this.UpdateEstimateShareByCust = function (data, files, token, loggedInUserId) {\r\n var formdata = new FormData();\r\n formdata.append(\"files\", files);\r\n var estimatedata = JSON.stringify(data);\r\n formdata.append(\"EstimationModel\", estimatedata);\r\n var url = ApiURL + '/api/Upload/UploadEstimationWithFile';\r\n return $http.post(url, formdata, {\r\n headers: {\r\n 'Content-Type': undefined,\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.ReplyToQuery = function (queryModel, loggedInUserId, token) {\r\n var url = ApiURL + \"/api/Ticket/ReplyToQuery\";\r\n return $http.put(url, queryModel, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedInUserId }\r\n });\r\n }\r\n this.UpdateTicketForFieldData = function (data, loggedInUserId, token) {\r\n var url = MMFCRMURL + \"/api/CRMConsumer/UpdateTicketForFieldData\";\r\n return $http.put(url, data, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedInUserId }\r\n });\r\n }\r\n\r\n \r\n this.AddTicketDefectStockToServiceCenter = function (DeadStokReqModel, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFPart/AddTicketDefectStockToServiceCenter';\r\n return $http.post(url,DeadStokReqModel, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n}\r\n\r\n});\nangular.module('inspinia').controller('JobDetailViewController', function (MainService, ManualAssignationJobService, $window, PublicApiURL, ApiURL,\r\n\t$state, $localStorage, $scope, JobTicketViewService, DTOptionsBuilder, DTColumnBuilder,ConsumerQueryService,toaster,\r\n\t$uibModal, JobDetailViewService, jobCreationService,CustomerCRMListService,InventoryCartService,CentralHDTicketsViewService, ReportService, $filter, $q, $timeout, $sce, $rootScope, $stateParams, $compile, UIURL, ImageUrl) {\r\n\tvm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvm.NokiaTableHeaderChange = $localStorage.accountConfig.NokiaTableHeaderChange;\r\n\tvm.IsAppointmentOTPNeeded = $localStorage.accountConfig.IsAppointmentOTPNeeded;\r\n\tvar loggedinUserName = $localStorage.loggedInUser_FirstName + \" \" + $localStorage.loggedInUser_LastName;\r\n\tvar token = $localStorage.token;\r\n\tvar loggedinUserImage = $localStorage.picture;\r\n\tvar uTicketId = $stateParams.ticketId;\r\n\tvm.showMapPermision = false;\r\n\tvm.superPower = false;\r\n\tvm.CurrencySetting = $localStorage.accountConfig.CurrencySetting;\r\n\tvm.CallPatchEnable = $localStorage.accountConfig.CallPatchEnable;\r\n\tvm.Role = $localStorage.loggedInUser_Role;\r\n\tvm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n\tvm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\tvm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n\tvar accountConfig = $localStorage.accountConfig;\r\n\tvm.AccountId = $localStorage.accountConfig.AccountId;\r\n\tvar currentStepName = '';\r\n\tvar ticketEditModalInstance = {};\r\n\tvm.ImageArray = [];\r\n\tvm.states = [];\r\n\tvm.cities = [];\r\n\tvm.CancellationReasons = '';\r\n\tvm.IsCommissionDetect = false;\r\n\tvm.urlForNonFeasible = '';\r\n\tvm.currentStepModel = {};\r\n\tvm.dtInstanceNearBy = {};\r\n\tvm.dtInstanceFixed = {};\r\n\tvm.dtInstance = {};\r\n\tvm.dtInstancePre = {};\r\n\tvm.SparePartAddress = {};\r\n\tvm.disableBroadcastButton = false;\r\n\tvm.disableRouteButton = false;\r\n\tvm.disableCreateButton = false;\r\n\tvm.IsChatEnabled = true;\r\n\tvm.showPrefer = '';\r\n\tvm.disabledDrop = false;\r\n\tvm.showloading = false\r\n\tvm.ComplianceDisable = true;\r\n\tvm.PincodeEnabled = true;\r\n\tvm.passSerialNum = false;\r\n\tvm.PrivateDisable = false;\r\n\tvm.messageText = \"\";\r\n\tvm.PriceLineItemList = [];\r\n\tvm.LineItemDataList = [];\r\n\tvm.serviceType = '';\r\n\tvm.AppointmentTime = '';\r\n\tvm.ticketPrice = \"\";\r\n\tvm.freelancerPrice = \"\";\r\n\tvm.tPrice = \"\";\r\n\tvm.commission = \"\";\r\n\tvm.tax = \"\";\r\n\tvm.freelancerPricetemp = \"\";\r\n\tvm.IsQueriesFound = false;\r\n\tvm.LineItemImage = null;\r\n\tvm.edit = true;\r\n\tvm.edit1 = false;\r\n\tvm.BonusPenaltyList = [];\r\n\tvm.BonusList = [];\r\n\tvm.PenaltyList = [];\r\n\tvm.ShipmentDetails = \"\";\r\n\tvm.LineitemActivityList = [];\r\n\tvm.CertprofileImg = [];\r\n\tvm.LineItemCategoryType = \"\";\r\n\tvm.projectId = \"\";\r\n\tvm.selectedprojectId = \"\";\r\n\tvm.dynamicpricing = \"\";\r\n\tvm.FreelancrPriceEnable = \"\";\r\n\tvm.PercentageEnable = \"\";\r\n\tvar price = 0;\r\n\tvar Quantity = 1;\r\n\tvar totalFPrice = 0.0;\r\n\tvm.BasePriceTotal = 0.0;\r\n\tvm.dFreelancerPriceTotal = 0.0;\r\n\tvm.PercentageTotal = 0.0;\r\n\tvm.FreelancerPriceTotal = 0.0;\r\n\tvm.MobiforceCommission = $localStorage.accountConfig.MobiforceCommissionPercentage;\r\n\tvm.IsFinalApproval = false;\r\n\tvm.disableExceptionButton = false;\r\n\t// vm.IsWithInDays = true;\r\n\tvm.feedbackremark = '';\r\n\tvm.HappyCode = \"\";\r\n\tvm.SymptomCode = \"\";\r\n\tvm.SymptomValue = \"\";\r\n\tvm.DefectCode = \"\";\r\n\tvm.DefectValue = \"\";\r\n\tvm.ResolutionCode = \"\";\r\n\tvm.ResolutionValue = \"\";\r\n\tvm.strSymptomValue = \"\";\r\n vm.strSymptomDescription = \"\";\r\n\tvm.strDefectValue = \"\";\r\n\tvm.strDefectDescription = \"\";\r\n\tvm.strRepairValue = \"\";\r\n\tvm.strRepairDescription = \"\";\r\n\tvm.PlannedClosureDateType = \"first\";\r\n\tvm.PlannedClosureReason = \"\";\r\n\tvm.WithInDays = 1;\r\n\tvm.WithInDaysNumbers = [1, 2, 3, 4, 5];\r\n\tvm.IsSafetyAudit = 'Not Done';\r\n\tvm.ratingwarning = \"\";\r\n\tvm.approvalRemark = '';\r\n\tvm.MaterialStatusList = [\"Dispatched\", \"Delivered\", \"Partially Delivered\", \"Not Delivered\"];\r\n\tvm.IsMaterialDelivered = $localStorage.accountConfig.IsMaterialDelivered;\r\n\tvm.SelectedMaterial = '';\r\n\tvm.FreelancerAccess = $localStorage.accountConfig.FreelancerAccess;\r\n\tvm.ZOHOWarehouseName = '';\r\n\tvm.customerJobCard = [];\r\n\tif (accountConfig && accountConfig.EnableRegion) {\r\n\t\tvm.EnableRegion = accountConfig.EnableRegion;\r\n\t} else {\r\n\t\tvm.EnableRegion = false;\r\n\t}\r\n\r\n\tvm.TemplateData = [];\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\r\n\t\tvar token = $localStorage.token;\r\n\t\tvm.ticketType = $stateParams.type;\r\n\t\tvm.TicketId = $stateParams.ticketId;\r\n\r\n\t\tvm.BackToTicketList = function () {\r\n\t\t\tif ($localStorage.backToOldJobList == 'go') {\r\n\t\t\t\t$rootScope.rootScopeMessage = 'JobDetailView';\r\n\t\t\t\t$state.go('index.JobTickets', {}, { reload: true });\r\n\t\t\t} else if ($localStorage.backToOldJobList == 'FreelancerFixedTeamAssign') {\r\n\t\t\t\t// $rootScope.rootScopeMessage = 'FreelancerFixedTeamAssign';\r\n\t\t\t\t$state.go('index.Freelancer_Fixed_Team', {}, { reload: true });\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t$rootScope.rootScopeMessage = 'JobDetailViewCopy';\r\n\t\t\t\t$state.go('index.JobTicketsCopy', {}, { reload: true });\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tfunction clean(obj) {\r\n\t\t\tfor (var propName in obj) {\r\n\t\t\t\tif (obj[propName] === null || obj[propName] === undefined) {\r\n\t\t\t\t\tdelete obj[propName];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.byPassSerialNumber = function () {\r\n\t\t\tJobDetailViewService.byPassSerialNumber(vm.TicketId, vm.TicketInfo.Isbypassvalidation, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.DisableRouteBroadcastButtons = function (disable) {\r\n\t\t\tif (disable) {\r\n\t\t\t\tvm.disableBroadcastButton = true;\r\n\t\t\t\tvm.disableRouteButton = true;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.disableBroadcastButton = false;\r\n\t\t\t\tvm.disableRouteButton = false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tvm.timeSlots = [\r\n\t\t\t{ value: \"08:00\", label: \"08:00 AM to 10:00 AM\" },\r\n\t\t\t{ value: \"09:00\", label: \"09:00 AM to 11:00 AM\" },\r\n\t\t\t{ value: \"10:00\", label: \"10:00 AM to 12:00 PM\" },\r\n\t\t\t{ value: \"11:00\", label: \"11:00 AM to 01:00 PM\" },\r\n\t\t\t{ value: \"12:00\", label: \"12:00 PM to 02:00 PM\" },\r\n\t\t\t{ value: \"13:00\", label: \"01:00 PM to 03:00 PM\" },\r\n\t\t\t{ value: \"14:00\", label: \"02:00 PM to 04:00 PM\" },\r\n\t\t\t{ value: \"15:00\", label: \"03:00 PM to 05:00 PM\" },\r\n\t\t\t{ value: \"16:00\", label: \"04:00 PM to 06:00 PM\" },\r\n\t\t\t{ value: \"17:00\", label: \"05:00 PM to 07:00 PM\" },\r\n\t\t\t{ value: \"18:00\", label: \"06:00 PM to 08:00 PM\" },\r\n\t\t\t{ value: \"19:00\", label: \"07:00 PM to 09:00 PM\" }\r\n\t\t];\r\n\r\n\t\t\r\n\r\n\t\t//getJobapprove\r\n\t\tvm.GetJobApprovebtn = function () {\r\n\t\t\tJobDetailViewService.GetJobApprove(vm.TicketId, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\r\n\t\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", resp.data);\r\n\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\t}, 500);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.GetCallDetails = function () {\r\n\t\t\tJobDetailViewService.GetCallDetails(vm.TicketId, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\t\tvm.getCallDetailsList = resp.data;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\t// Activitt Timeline\r\n\r\n\t\tvm.filter = '';\r\n\t\tvm.GetAllActivityTimeline = function (filter) {\r\n\t\t\tvm.getAllActivityTimelineList = \"\";\r\n\t\t\tvm.filter = filter\r\n\t\t\tJobDetailViewService.GetAllActivityTimeline(vm.TicketId, vm.filter, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\t\tvm.getAllActivityTimelineList = resp.data;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\t// vm.GetAllActivityTimeline('');\r\n\r\n\t\tvm.OpenRevisitConfirmationModel = function () {\r\n\t\t\tvm.openrevisitModel = $uibModal.open({\r\n\t\t\t templateUrl: 'revisitModel.html',\r\n\t\t\t backdrop: 'static',\r\n\t\t\t size: 'md',\r\n\t\t\t scope: $scope\r\n\t\t\t});\r\n\t\t }\r\n\t\t vm.closeRevisitModel = function () {\r\n\t\t\t// vm.disableRejectButton = false;\r\n\t\t\tvm.openrevisitModel.close();\r\n\t\t }\r\n\r\n\r\n\r\n\t\tvm.GetUserFeedbackOption = function (userid) {\r\n\t\t\tvm.userid = userid;\r\n\t\t\tManualAssignationJobService.GetUserFeedbackOption(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.userfeedbackList = resp.data;\r\n\t\t\t\t\tvm.FeedbackModel = $uibModal.open({\r\n\t\t\t\t\t\ttemplateUrl: 'feedback_model.html',\r\n\t\t\t\t\t\tbackdrop: 'static',\r\n\t\t\t\t\t\tscope: $scope,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}, function () {\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeFeedbackPopup = function () {\r\n\t\t\tvm.FeedbackModel.close();\r\n\t\t}\r\n\r\n\t\tvm.GetJobCompletionOption = function (ticket) {\r\n\t\t\tvm.TicketToComplete = ticket;\r\n\t\t\tJobDetailViewService.GetJobCompletionOption(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.completionReasonList = resp.data;\r\n\t\t\t\t\tvm.JobCompletionModel = $uibModal.open({\r\n\t\t\t\t\t\ttemplateUrl: 'jobComplete_model.html',\r\n\t\t\t\t\t\tbackdrop: 'static',\r\n\t\t\t\t\t\tscope: $scope,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}, function () {\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeJobCompletionPopup = function () {\r\n\t\t\tvm.JobCompletionModel.close();\r\n\t\t}\r\n\r\n\t\tvm.UpdateJobStatusToCompleted = function () {\r\n\t\t\tvm.jobCompletionForm.submitted = true;\r\n\t\t\tif (vm.jobCompletionForm.$valid) {\r\n\t\t\t\tdata = {\r\n\t\t\t\t\t\"TicketId\": vm.TicketInfo.TicketId,\r\n\t\t\t\t\t\"TicketStatus\": \"Completed\",\r\n\t\t\t\t\t\"CompletionReason\": vm.ticketCompletionReason,\r\n\t\t\t\t\t\"TicketCompletionRemark\": vm.ticketCompletionRemark\r\n\t\t\t\t}\r\n\t\t\t\tJobDetailViewService.completeTkt(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif (resp && resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Ticket Completed Successfully\");\r\n\t\t\t\t\t\tvm.closeJobCompletionPopup();\r\n\t\t\t\t\t\tvm.ticketCompletionReason = \"\";\r\n\t\t\t\t\t\tvm.ticketCompletionRemark = \"\";\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t}, function () {\r\n\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tvm.OpenRepairCompletionModel = function (ticket) {\r\n\t\t\tvm.TicketToBeComplete = ticket;\r\n\t\t\tvm.RepairCompletionModel = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'jobCompleteRepair_model.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeRepairCompletionModel = function () {\r\n\t\t\tvm.RepairCompletionModel.close();\r\n\t\t}\r\n\r\n\r\n\t\tvm.MarkRepairJobComplete = function () {\r\n\t\t\tvm.repairCompletionForm.submitted = true;\r\n\t\t\tif (vm.repairCompletionForm.$valid) {\r\n\t\t\t\tdata = {\r\n\t\t\t\t\t\"TicketId\": vm.TicketInfo.TicketId,\r\n\t\t\t\t\t\"TicketStatus\": \"Completed\",\r\n\t\t\t\t\t\"CompletionReason\": \"\",\r\n\t\t\t\t\t\"TicketCompletionRemark\": vm.ticketCompletionRemarks\r\n\t\t\t\t}\r\n\t\t\t\tJobDetailViewService.completeTkt(data, token).then(function (resp) {\r\n\t\t\t\t\tif (resp && resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Ticket Completed Successfully\");\r\n\t\t\t\t\t\tvm.closeRepairCompletionModel();\r\n\t\t\t\t\t\tvm.ticketCompletionRemarks = \"\";\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t}, function () {\r\n\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tvm.UserDataUpdateRequest = function () {\r\n\t\t\tvm.feedbackForm.submitted = true;\r\n\t\t\tif (vm.feedbackForm.$valid) {\r\n\t\t\t\tvar data = {\r\n\t\t\t\t\t\"MasterReason\": vm.MasterReason,\r\n\t\t\t\t\t\"Comments\": vm.Comments,\r\n\t\t\t\t\t\"RequestForUserId\": vm.userid\r\n\t\t\t\t}\r\n\t\t\t\tManualAssignationJobService.UserDataUpdateRequest(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif (resp && resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(resp.data);\r\n\t\t\t\t\t\tvm.closeFeedbackPopup();\r\n\t\t\t\t\t\tvm.Comments = \"\";\r\n\t\t\t\t\t\tvm.MasterReason = \"\";\r\n\t\t\t\t\t}\r\n\t\t\t\t}, function () {\r\n\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.openVideoPopup = function () {\r\n\t\t\tvm.videoModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'video_modal.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t\tvm.SendCommunicationInvite();\r\n\t\t}\r\n\r\n\t\tvm.closeVideoPopup = function () {\r\n\t\t\tvm.videoModal.close();\r\n\t\t}\r\n\t\t$scope.CallInitiated = false;\r\n\t\tvm.reqVideoCall = function () {\r\n\t\t\tif ($scope.CallInitiated == false) {\r\n\t\t\t\tJobDetailViewService.reqVideoCall(vm.TicketId, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tvm.videoLink = resp.data;\r\n\t\t\t\t\t\t\tvm.showSuccess(\"Success\", resp.data);\r\n\t\t\t\t\t\t\tvm.PollVideoCallFieldLocation();\r\n\t\t\t\t\t\t\t$scope.CallInitiated = true;\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t$scope.AudioCallInitiated = false;\r\n\t\t$scope.VideoCallInitiated = false;\r\n\t\t// $scope.ChatInitiated = false;\r\n\r\n\t\tvm.SendCommunicationInvite = function (type) {\r\n\t\t\tif ($scope.AudioCallInitiated == false && type == 'Audio') {\r\n\t\t\t\tJobDetailViewService.SendCommunicationInvite(vm.TicketId, type, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tvm.connectionLink = resp.data;\r\n\t\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Audio call request initiated\");\r\n\t\t\t\t\t\t\tvm.PollVideoCallFieldLocation();\r\n\t\t\t\t\t\t\t$scope.AudioCallInitiated = true;\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\telse if ($scope.VideoCallInitiated == false && type == 'Video') {\r\n\t\t\t\tJobDetailViewService.SendCommunicationInvite(vm.TicketId, type, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tvm.connectionLink = resp.data;\r\n\t\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Video call request initiated\");\r\n\t\t\t\t\t\t\tvm.PollVideoCallFieldLocation();\r\n\t\t\t\t\t\t\t$scope.VideoCallInitiated = true;\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\t// else if($scope.ChatInitiated == false && type == 'Text') {\r\n\t\t\t// \tJobDetailViewService.SendCommunicationInvite(vm.TicketId,type, token).then(function (resp) {\r\n\t\t\t// \t\tif(resp.status==200){\t\t\t\t\t\t\r\n\t\t\t// \t\t\t{\t\t\t\t\t\t\r\n\t\t\t// \t\t\t\tvm.connectionLink = resp.data;\r\n\t\t\t// \t\t\t\tvm.showSuccess(\"Success\", \"Communication Request Initiated\");\r\n\t\t\t// \t\t\t\tvm.PollVideoCallFieldLocation();\t\r\n\t\t\t// \t\t\t\t$scope.ChatInitiated = true;\t\t\t\t\r\n\r\n\t\t\t// \t\t\t}\r\n\t\t\t// \t\t}\r\n\t\t\t// \t});\r\n\t\t\t// \t}\t\t\r\n\t\t}\r\n\r\n\r\n\t\t// vm.reqAudioCall = function () {\t\t\t\r\n\t\t// \tif($scope.AudioCallInitiated == false) {\t\r\n\t\t// \t\tvm.audioLink = 'https://mymobiforce.com/oneserv/#/audio/' + vm.TicketId;\r\n\t\t// \t\tvm.showSuccess(\"Success\", \"Call Initiated\");\r\n\t\t// \t\tvm.PollVideoCallFieldLocation();\t\r\n\t\t// \t\t$scope.AudioCallInitiated = true;\t\t\t\t\t\r\n\t\t// \t\t}\t\t\t\r\n\t\t// \t}\t\t\r\n\r\n\t\tvm.ShowLocationOfFieldTeamOnMap = function () {\r\n\t\t\tif (!vm.liveLatLong) {\r\n\t\t\t\tShowJobOnMap();\r\n\t\t\t}\r\n\t\t\tif (vm.liveLatLong) {\r\n\t\t\t\tinitMap();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.PollVideoCallFieldLocation = function () {\r\n\t\t\tsetTimeout(function () {\r\n\t\t\t\tvm.GetLatestVideoSessionLocation();\r\n\t\t\t}, 5000);\r\n\t\t\tconsole.log(\"retry for video location...\");\r\n\t\t}\r\n\r\n\t\tvm.GetLatestVideoSessionLocation = function () {\r\n\t\t\tJobDetailViewService.GetLatestVideoSessionLocation(vm.TicketInfo.UserId, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\tvm.liveLatLong = resp.data;\r\n\t\t\t\t\tif (vm.liveLatLong == \"\") {\r\n\t\t\t\t\t\tvm.PollVideoCallFieldLocation();\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.liveLocation = vm.liveLatLong.split(',');\r\n\t\t\t\t\t\tvm.FELatitude = vm.liveLocation[0];\r\n\t\t\t\t\t\tvm.FELongitude = vm.liveLocation[1];\r\n\t\t\t\t\t\tvm.showMapPermision = true;\r\n\t\t\t\t\t\tvm.superPower = true;\r\n\t\t\t\t\t\tconsole.log(\"video location received from field ...\");\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.GetTrackingDetailsByTrackinNumber = function (trackingNo) {\r\n\t\t\tvm.trackNo = trackingNo;\r\n\t\t\tvar data = {\r\n\t\t\t\t\"Id\": vm.TicketId,\r\n\t\t\t\t\"trackingNumber\": trackingNo\r\n\t\t\t};\r\n\t\t\tJobDetailViewService.GetTrackingDetailsByTrackinNumber(data, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\r\n\t\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\t\tvm.getTrackingDetailsList = resp.data;\r\n\t\t\t\t\t\tvm.lastTag = vm.getTrackingDetailsList[vm.getTrackingDetailsList.length - 1].tag;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.GetPreApprovalDocList = function () {\r\n\t\t\tJobDetailViewService.GetPreApprovalDocList(vm.TicketId, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\t\tvm.pAdocList = resp.data;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.GetPreApprovalDocList();\r\n\r\n\t\tvm.GenerateConsumerInvoice = function () {\r\n\t\t\tJobDetailViewService.GenerateConsumerInvoice(vm.TicketId, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Customer Invoice Generated\");\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.implementSelectTicketsP = function (itemList, scope) {\r\n\t\t\tscope.selectAllColumnsP = false;\r\n\t\t\tscope.showMinusColumnsP = false;\r\n\t\t\tscope.selectDocRow = function (i) {\r\n\t\t\t\tscope.selectAllColumnsP = true;\r\n\t\t\t\tscope.showMinusColumnsP = false;\r\n\t\t\t\tvm.docListArray = [];\r\n\t\t\t\tangular.forEach(scope[itemList], function (d) {\r\n\t\t\t\t\tif (d.checked) {\r\n\t\t\t\t\t\tvm.docListArray.push(d)\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tscope.applyAllValuesSelectP = function () {\r\n\t\t\t\tvm.docListArray = [];\r\n\t\t\t\tangular.forEach(scope[itemList], function (d) {\r\n\t\t\t\t\tif (d.ItemStatus == \"\" || d.ItemStatus == null || d.ItemStatus == 'ApprovedByVendor') {\r\n\t\t\t\t\t\td.checked = scope.selectAllColumnsP;\r\n\t\t\t\t\t\tif (d.checked) {\r\n\t\t\t\t\t\t\tvm.docListArray.push(d);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t\tvm.implementSelectTicketsP('pAdocList', this);\r\n\r\n\t\tvm.approvePPw = function () {\r\n\t\t\tif (!vm.docListArray) {\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Select some fields to approve\");\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tangular.forEach(vm.docListArray, function (d) {\r\n\t\t\t\t\t// if(d.ItemValue) {\r\n\t\t\t\t\tdelete d.ItemValue;\r\n\t\t\t\t\tdelete d.ImageName;\r\n\t\t\t\t\tdelete d.ItemUpdateDate;\r\n\t\t\t\t\tdelete d.checked;\r\n\t\t\t\t\tdelete d.ItemValues;\r\n\t\t\t\t\tdelete d.ItemType;\r\n\t\t\t\t\tdelete d.Value;\r\n\t\t\t\t\tdelete d.VideoName;\r\n\t\t\t\t\td.ItemStatus = 'Approved';\r\n\t\t\t\t\t// d.ItemComment = vm.ppwComment;\r\n\t\t\t\t\t// }\r\n\t\t\t\t});\r\n\t\t\t\tJobDetailViewService.approvePPw(vm.docListArray, token, vm.TicketId).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"approved\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.GetPreApprovalDocList();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t\tvm.RejectJobPPw = function () {\r\n\t\t\tif (!vm.docListArray) {\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Select some fields to reject\");\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tangular.forEach(vm.docListArray, function (d) {\r\n\t\t\t\t\t// if(d.ItemValue) {\r\n\t\t\t\t\tdelete d.ItemValue;\r\n\t\t\t\t\tdelete d.ImageName;\r\n\t\t\t\t\tdelete d.ItemUpdateDate;\r\n\t\t\t\t\tdelete d.checked;\r\n\t\t\t\t\tdelete d.ItemValues;\r\n\t\t\t\t\tdelete d.ItemType;\r\n\t\t\t\t\tdelete d.Value;\r\n\t\t\t\t\tdelete d.VideoName;\r\n\t\t\t\t\td.ItemStatus = 'Rejected';\r\n\t\t\t\t\t// }\r\n\t\t\t\t});\r\n\t\t\t\tJobDetailViewService.RejectJobPPw(vm.docListArray, token, vm.TicketId).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Rejected\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.GetPreApprovalDocList();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\t//data capture new\r\n\r\n\t\tvm.sectionDocList = []\r\n\t\tvm.GetSectionDataByStepName = function (sectioninfo) {\r\n\t\t\tvm.StepName = sectioninfo;\r\n\t\t\tJobDetailViewService.GetSectionDataByStepName(vm.TicketId, vm.StepName, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\t\tvm.sectionDocList[0] = resp.data;\r\n\t\t\t\t\t\tvm.stepsDocLists = vm.sectionDocList[0]\r\n\t\t\t\t\t\tvm.isEditDisabled = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.stepsDocList = []\r\n\t\tvm.GetTemplateData = function () {\r\n\t\t\tJobDetailViewService.GetTemplateData(vm.TicketId, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\t\tvm.stepsDocList[0] = resp.data;\r\n\t\t\t\t\t\tvm.stepsDocLists = vm.stepsDocList[0];\r\n\t\t\t\t\t\tvm.StepsName = vm.stepsDocLists[0].StepsName;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\r\n\t\tvm.GetTemplateData();\r\n\r\n\r\n\t\tvm.GetInventoryPartsDetails = function () {\r\n\t\t\tJobDetailViewService.GetInventoryPartsDetails(vm.TicketId, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\t\tvm.reportlist = resp.data;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\t\r\n\t\tvm.implementSelectData = function (itemList, scope) {\r\n\t\t\tscope.selectAllColumns = false;\r\n\t\t\tscope.showMinusColumns = false;\r\n\t\t\tscope.selectDataRow = function (i) {\r\n\t\t\t\tscope.selectAllColumns = false;\r\n\t\t\t\tscope.showMinusColumns = true;\r\n\t\t\t\tvm.finalData = [];\r\n\t\t\t\tangular.forEach(scope[itemList], function (d) {\r\n\t\t\t\t\tscope.selectAllColumns = false;\r\n\t\t\t\t\tscope.showMinusColumns = true;\r\n\t\t\t\t\tvm.tktList = d.ticketResponseList;\r\n\t\t\t\t\tvar SectionName = d.SectionName;\r\n\t\t\t\t\tangular.forEach(vm.tktList, function (ticketResponseList) {\r\n\t\t\t\t\t\tif (ticketResponseList.enabled) {\r\n\t\t\t\t\t\t\tscope.selectAllColumns = false;\r\n\t\t\t\t\t\t\tscope.showMinusColumns = true;\r\n\t\t\t\t\t\t\tvar templateSection = {};\r\n\t\t\t\t\t\t\ttemplateSection.SectionName = SectionName;\r\n\t\t\t\t\t\t\ttemplateSection.ticketResponseList = ticketResponseList;\r\n\t\t\t\t\t\t\tvm.finalData.push(templateSection);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tvm.stepsDocListsTempArray = [];\r\n\t\t\tscope.applyAllColumnsSelect = function () {\r\n\t\t\t\tvm.finalData = [];\r\n\t\t\t\tangular.forEach(scope[itemList], function (d) {\r\n\t\t\t\t\td.enabled = scope.selectAllColumns;\r\n\t\t\t\t\tvm.tktList = d.ticketResponseList;\r\n\t\t\t\t\tvar SectionName = d.SectionName;\r\n\t\t\t\t\tangular.forEach(vm.tktList, function (ticketResponseList) {\r\n\t\t\t\t\t\tticketResponseList.enabled = scope.selectAllColumns;\r\n\t\t\t\t\t\tvar templateSection = {};\r\n\t\t\t\t\t\ttemplateSection.SectionName = SectionName;\r\n\t\t\t\t\t\ttemplateSection.ticketResponseList = ticketResponseList;\r\n\t\t\t\t\t\tif (ticketResponseList.enabled && (ticketResponseList.ItemStatus == \"\" || ticketResponseList.ItemStatus == null || ticketResponseList.ItemStatus == 'ApprovedByVendor')) {\r\n\t\t\t\t\t\t\tvm.finalData.push(templateSection);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tscope.applyAllSelectSection = function (stepName) {\r\n\t\t\t\tvm.finalData = [];\r\n\t\t\t\tangular.forEach(scope[itemList], function (d, i) {\r\n\t\t\t\t\td.enabled = scope.selectAllColumns;\r\n\t\t\t\t\tvm.tktList = d.ticketResponseList;\r\n\t\t\t\t\tvar SectionName = d.SectionName;\r\n\t\t\t\t\tif (stepName == d.SectionName) {\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tangular.forEach(vm.tktList, function (ticketResponseList) {\r\n\t\t\t\t\t\t\t\tticketResponseList.enabled = scope.selectAllColumns;\r\n\t\t\t\t\t\t\t\tvar templateSection = {};\r\n\t\t\t\t\t\t\t\ttemplateSection.SectionName = SectionName;\r\n\t\t\t\t\t\t\t\ttemplateSection.ticketResponseList = ticketResponseList;\r\n\t\t\t\t\t\t\t\tif (ticketResponseList.enabled && (ticketResponseList.ItemStatus == \"\" || ticketResponseList.ItemStatus == null || ticketResponseList.ItemStatus == 'ApprovedByVendor')) {\r\n\t\t\t\t\t\t\t\t\tvm.finalData.push(templateSection);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t\tvm.implementSelectData('stepsDocLists', this);\r\n\r\n\t\tvm.approveJobDataCap = function () {\r\n\t\t\tif (vm.finalData) {\r\n\t\t\t\tangular.forEach(vm.finalData, function (q) {\r\n\t\t\t\t\tvm.ticketResp = q.ticketResponseList\r\n\t\t\t\t\tif (vm.ticketResp.ItemName) {\r\n\t\t\t\t\t\tdelete vm.ticketResp.ItemValue;\r\n\t\t\t\t\t\tdelete vm.ticketResp.ImageName;\r\n\t\t\t\t\t\tdelete vm.ticketResp.ItemUpdateDate;\r\n\t\t\t\t\t\tdelete vm.ticketResp.checked;\r\n\t\t\t\t\t\tdelete vm.ticketResp.ItemValues;\r\n\t\t\t\t\t\tdelete vm.ticketResp.ItemType;\r\n\t\t\t\t\t\tdelete vm.ticketResp.Value;\r\n\t\t\t\t\t\tdelete vm.ticketResp.VideoName;\r\n\t\t\t\t\t\tdelete vm.ticketResp.enabled;\r\n\t\t\t\t\t\tvm.ticketResp.ItemStatus = 'Approved';\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tJobDetailViewService.updateapproval(vm.finalData, token, vm.TicketId).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"approved\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\t\tvm.GetPreApprovalStepEric();\r\n\t\t\t\t\t\t\tvm.GetSectionDataByStepName(vm.StepName);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Please select field data.\");\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\tvm.GetBrandProductGroup = function () {\r\n\t\t\tvm.PartGroupList = [];\r\n\t\t\tvm.ProductList = [];\r\n\t\t\tvm.AllActiveProductModelNoList = [];\r\n\t\t\tvar data = {\r\n\t\t\t\t\"strBrandName\": vm.BrandNameTicket\r\n\t\t\t}\r\n\t\t\tCustomerCRMListService.GetBrandProductGroup(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.PartGroupList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.GetAllProductsForBrand = function () {\r\n\t\t\tvm.ProductList = [];\r\n\t\t\tvm.AllActiveProductModelNoList = [];\r\n\t\t\tvar data = {\r\n\t\t\t\t\"strBrandName\": vm.BrandNameTicket,\r\n\t\t\t\t\"strProductGroup\": vm.productGroup\r\n\t\t\t}\r\n\t\t\tCustomerCRMListService.GetAllProductsForBrand(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.ProductList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\t\r\n\t\tvm.GetAllActiveProductModelMaster = function (product) {\r\n\t\t\tif(!product){\r\n\t\t\t\tvm.AllActiveProductModelNoList = [];\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tCustomerCRMListService.GetAllActiveProductModelMaster(product,vm.BrandNameTicket,loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.AllActiveProductModelNoList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\t\r\n\t\t\tvm.UpdateProctDeatils = function (InfoList) {\r\n\t\t\t\tvm.TicketListInfo = InfoList\r\n\t\t\t\tvm.BrandNameTicket = vm.TicketListInfo.BrandName\r\n\t\t\t\tvm.productGroup = vm.TicketListInfo.ProductGroup\r\n\t\t\t\tvm.product = vm.TicketListInfo.ProductType\r\n\t\t\t\tvm.modelNumber = vm.TicketListInfo.ModelNumber\r\n\t\t\t\tvm.GetAllProductsForBrand();\r\n\t\t\t\tvm.GetAllActiveProductModelMaster();\r\n\r\n\t\t\t\t vm.updateProductModelOpen = $uibModal.open({\r\n\t\t\t\t\t templateUrl: 'UpdateProductDetails.html',\r\n\t\t\t\t\t size: 'lg',\r\n\t\t\t\t\t backdrop: 'static',\r\n\t\t\t\t\t scope: $scope,\r\n\t\t\t\t });\r\n\t\t\t }\r\n\t\t vm.closeUpdateProductDetails = function(){\r\n\t\t\t vm.updateProductModelOpen.close();\r\n\t\t\t vm.DisableCreateButton = false;\r\n\t\t }\r\n\t\t vm.DisableCreateButton = false ;\r\n\r\n\t\tvm.UpdateTicketForFieldData = function () {\r\n\t\t\tvm.dialertask_form.submitted = true;\r\n\t\t\tif (vm.dialertask_form.$valid) {\r\n\t\t\t\tvm.DisableCreateButton = true;\r\n\t\t\t\tvar data = {\r\n\t\t\t\t\t\"TicketId\": vm.TicketId,\r\n\t\t\t\t\t\"ProductGroup\": vm.productGroup,\r\n\t\t\t\t\t\"ProductType\": vm.product,\r\n\t\t\t\t\t\"ModelNumber\" : vm.modelNumber\r\n\t\t\t\t}\r\n\t\t\t\tJobDetailViewService.UpdateTicketForFieldData(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Product Details Updated Successfully.\");\r\n\t\t\t\t\t\tvm.closeUpdateProductDetails();\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.DisableCreateButton = false;\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\t}\r\n\r\n\t\tvm.RejectJobDataCap = function () {\r\n\t\t\tif (vm.finalData) {\r\n\t\t\t\tangular.forEach(vm.finalData, function (q) {\r\n\t\t\t\t\tvm.ticketResp = q.ticketResponseList\r\n\t\t\t\t\tif (vm.ticketResp.ItemName) {\r\n\t\t\t\t\t\tdelete vm.ticketResp.ItemValue;\r\n\t\t\t\t\t\tdelete vm.ticketResp.ImageName;\r\n\t\t\t\t\t\tdelete vm.ticketResp.ItemUpdateDate;\r\n\t\t\t\t\t\tdelete vm.ticketResp.checked;\r\n\t\t\t\t\t\tdelete vm.ticketResp.ItemValues;\r\n\t\t\t\t\t\tdelete vm.ticketResp.ItemType;\r\n\t\t\t\t\t\tdelete vm.ticketResp.Value;\r\n\t\t\t\t\t\tdelete vm.ticketResp.VideoName;\r\n\t\t\t\t\t\tdelete vm.ticketResp.enabled;\r\n\t\t\t\t\t\tvm.ticketResp.ItemStatus = 'Rejected';\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tJobDetailViewService.updateapproval(vm.finalData, token, vm.TicketId).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Rejected\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\tvm.GetPreApprovalStepEric();\r\n\t\t\t\t\t\t\tvm.GetSectionDataByStepName(vm.StepName);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Please select field data.\");\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t\tvm.file = [];\r\n\r\n\t\tvm.getImageIndex = function (index) {\r\n\t\t\tvm.indexImgg = index;\r\n\t\t}\r\n\t\tvm.clearImageBlob = function () {\r\n\t\t\t$scope.stepsModel = [];\r\n\t\t}\r\n\t\t$scope.stepsModel = [];\r\n\t\t$scope.uploadBGFilenew = function (files) {\r\n\r\n\t\t\tvm.FrontFileName = \"\";\r\n\t\t\tvm.FilesFrontDoc = files.files;\r\n\t\t\tvm.FrontFileName = vm.FilesFrontDoc[0].name;\r\n\t\t\tvm.file.push(vm.FilesFrontDoc);\r\n\t\t\t$scope.imageIsLoaded = function (e) {\r\n\t\t\t\t$scope.$apply(function () {\r\n\t\t\t\t\t$scope.stepsModel.push(e.target.result);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tfor (var i = 0; i < vm.FilesFrontDoc.length; i++) {\r\n\t\t\t\tvar file = vm.FilesFrontDoc[i];\r\n\t\t\t\tvar reader = new FileReader();\r\n\t\t\t\treader.onload = $scope.imageIsLoaded;\r\n\t\t\t\treader.readAsDataURL(file);\r\n\t\t\t}\r\n\t\t\tvar allowedExtensions = /(\\.pdf|\\.PDF|\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png|\\.JFIF|\\.jfif)$/i;\r\n\t\t\tif (!allowedExtensions.exec(vm.FrontFileName)) {\r\n\t\t\t\tvm.FilesFrontDoc = [];\r\n\t\t\t\tvm.clear();\r\n\t\t\t\talert('Please upload file having extensions .pdf,.jpg,.jpeg,.png only.');\r\n\t\t\t}\r\n\t\t}\r\n\t\tvm.getImgIndex = function (index, selectedSectionName) {\r\n\t\t\tvm.imgIndex = index;\r\n\t\t\tvm.isEditDisabled = false;\r\n\t\t\tvm.stepsDocLists.forEach(function (data) {\r\n\t\t\t\tvm.FieldDataDetails = data.ticketResponseList;\r\n\t\t\t\tif (data.SectionName == selectedSectionName) {\r\n\t\t\t\t\tupdateSection.SectionName = selectedSectionName;\r\n\t\t\t\t\tvm.FieldDataDetails.forEach(function (updateData) {\r\n\t\t\t\t\t\tif (updateData.ItemName == data.ticketResponseList[vm.imgIndex].ItemName) {\r\n\t\t\t\t\t\t\tvm.ticketResp = updateData;\r\n\t\t\t\t\t\t\tif (vm.ticketResp.edit == true) {\r\n\t\t\t\t\t\t\t\tvm.isEditDisabled = true;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.clear = function () {\r\n\t\t\tangular.element(\"input[type='file']\").val(null);\r\n\t\t};\r\n\r\n\t\tvm.DataItemDetailList = [];\r\n\t\tvar updateSection = {};\r\n\t\tvm.isEditDisabled = false;\r\n\t\tvm.UpdateDataModel = function (index, selectedSectionName) {\r\n\t\t\tvm.isEditDisabled = true;\r\n\t\t\tvm.formdataForEdit = new FormData();\r\n\t\t\tvm.stepsDocLists.forEach(function (data) {\r\n\t\t\t\tvm.FieldDataDetails = data.ticketResponseList;\r\n\t\t\t\tif (data.SectionName == selectedSectionName) {\r\n\t\t\t\t\tupdateSection.SectionName = selectedSectionName;\r\n\t\t\t\t\tvm.FieldDataDetails.forEach(function (updateData) {\r\n\t\t\t\t\t\tif (updateData.ItemName == data.ticketResponseList[vm.imgIndex].ItemName) {\r\n\t\t\t\t\t\t\tvm.ticketResp = updateData;\r\n\t\t\t\t\t\t\tif (vm.ticketResp.ImageItemName != null) {\r\n\t\t\t\t\t\t\t\tvm.ticketResp.ImageItemName.forEach(function (imgNameI, ind) {\r\n\t\t\t\t\t\t\t\t\tif (vm.file.length == 1) {\r\n\t\t\t\t\t\t\t\t\t\tif (vm.ticketResp.ImageItemName[vm.indexImgg] == imgNameI) {\r\n\t\t\t\t\t\t\t\t\t\t\tvm.formdataForEdit.append(vm.ticketResp.ImageItemName[vm.indexImgg], vm.file[0][0], vm.ticketResp.ImageItemName[vm.indexImgg]);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\telse if (vm.file.length > 1) {\r\n\t\t\t\t\t\t\t\t\t\tvm.formdataForEdit.append(imgNameI, vm.file[ind][0], imgNameI);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t});\r\n\r\n\r\n\t\t\t\t\t\t\t\t// vm.file.forEach(function(blobFile, i) {\r\n\t\t\t\t\t\t\t\t// \tif(i == ind) {\r\n\t\t\t\t\t\t\t\t// \t\tvm.formdataForEdit.append(imgNameI, vm.file[ind][0],imgNameI);\r\n\t\t\t\t\t\t\t\t// \t}\r\n\t\t\t\t\t\t\t\t// });\r\n\t\t\t\t\t\t\t}\r\n\r\n\r\n\t\t\t\t\t\t\tif (vm.ticketResp.ImageItemName == null && vm.file.length != 0) {\r\n\t\t\t\t\t\t\t\tvm.ticketResp.ImageItemName = [];\r\n\t\t\t\t\t\t\t\t// if (vm.file[0][0]) {\r\n\t\t\t\t\t\t\t\t// for(var i=0; i<= vm.file.length; i++) {\r\n\t\t\t\t\t\t\t\tvm.file.forEach(function (imgNameI, i) {\r\n\t\t\t\t\t\t\t\t\tvm.imgType = vm.file[i][0].type.substr(vm.file[i][0].type.indexOf('/') + 1);\r\n\t\t\t\t\t\t\t\t\tvm.ItemImageName = vm.TicketInfo.TicketId + '_' + vm.StepName + '_' + selectedSectionName + '_' + vm.ticketResp.ItemName + '_' + i + \".\" + vm.imgType;\r\n\t\t\t\t\t\t\t\t\tvm.ItemImageName = (vm.ItemImageName).replace(/ /g, \"_\");\r\n\t\t\t\t\t\t\t\t\tvm.ticketResp.ImageItemName.push(vm.ItemImageName);\r\n\t\t\t\t\t\t\t\t\tvm.formdataForEdit.append(vm.ItemImageName, vm.file[i][0], vm.ItemImageName);\r\n\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t// }\r\n\t\t\t\t\t\t\t\t// }\r\n\r\n\t\t\t\t\t\t\t\t// if (vm.file[0][0]) {\r\n\t\t\t\t\t\t\t\t// \t\tvm.imgType = vm.file[0][0].type.substr(vm.file[0][0].type.indexOf('/')+ 1);\r\n\t\t\t\t\t\t\t\t// \t\tvm.ItemImageName = vm.TicketInfo.TicketId + '_' + vm.StepName + '_' + selectedSectionName + '_' + vm.ticketResp.ItemName + '_' + 0 +\".\"+ vm.imgType;\r\n\t\t\t\t\t\t\t\t// \t\tvm.ItemImageName = (vm.ItemImageName).replace(/ /g,\"_\");\t\r\n\t\t\t\t\t\t\t\t// \t\t\tvm.ticketResp.ImageItemName.push(vm.ItemImageName);\r\n\t\t\t\t\t\t\t\t// \t\t\tvm.formdataForEdit.append(vm.ItemImageName, vm.file[0][0],vm.ItemImageName);\r\n\t\t\t\t\t\t\t\t// }\r\n\t\t\t\t\t\t\t}\r\n\r\n\r\n\t\t\t\t\t\t\tif ((vm.ticketResp.ImageItemName == null && vm.ticketResp.ImageName != null) && (vm.ticketResp.ItemType == 'Multiple Picture Type' || vm.ticketResp.ItemType == 'Signature Type' || vm.ticketResp.ItemType == 'File Attachment Type' || vm.ticketResp.ItemType == 'Video Type')) {\r\n\t\t\t\t\t\t\t\tvm.imgType = vm.file[0][0].type.substr(vm.file[0][0].type.indexOf('/') + 1);\r\n\t\t\t\t\t\t\t\tvm.ImageName = vm.TicketInfo.TicketId + '_' + vm.StepName + '_' + selectedSectionName + '_' + vm.ticketResp.ItemName + \".\" + vm.imgType;\r\n\t\t\t\t\t\t\t\tvm.ImageName = (vm.ImageName).replace(/ /g, \"_\");\r\n\t\t\t\t\t\t\t\tvm.formdataForEdit.append(vm.ticketResp.ImageName, vm.file[0][0], vm.ticketResp.ImageName);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (vm.ticketResp.ItemType == 'Date Type') {\r\n\r\n\t\t\t\t\t\t\t\tvm.ticketResp.ItemValue = moment(vm.ticketResp.ItemValue).format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\");\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tvm.DataItemDetail = {\r\n\t\t\t\t\t\t\t\t\"ItemName\": vm.ticketResp.ItemName,\r\n\t\t\t\t\t\t\t\t\"ImageItemName\": vm.ticketResp.ImageItemName,\r\n\t\t\t\t\t\t\t\t\"ItemComment\": vm.ticketResp.ItemComment,\r\n\t\t\t\t\t\t\t\t\"ItemStatus\": vm.ticketResp.ItemStatus,\r\n\t\t\t\t\t\t\t\t\"ItemType\": vm.ticketResp.ItemType,\r\n\t\t\t\t\t\t\t\t\"ItemUpdateDate\": vm.ticketResp.ItemUpdateDate,\r\n\t\t\t\t\t\t\t\t\"ItemValue\": vm.ticketResp.ItemType != 'Multiple Picture Type' ? vm.ticketResp.ItemValue : '',\r\n\r\n\t\t\t\t\t\t\t\t// \"ItemValue\": vm.ticketResp.ItemValue\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tvm.DataItemDetailList.push(vm.DataItemDetail)\r\n\t\t\t\t\t\t\tupdateSection.dataUpdateRequestModelList = vm.DataItemDetailList;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tvar DataItemDetails = JSON.stringify(updateSection);\r\n\t\t\tvm.formdataForEdit.append(\"UpdateJobFieldDataModel\", DataItemDetails);\r\n\t\t\t$scope.stepsModel = [];\r\n\t\t\t// vm.file= []; \r\n\t\t\tvm.UpdateFinalDataModel();\r\n\t\t}\r\n\r\n\r\n\t\tvm.UpdateFinalDataModel = function () {\r\n\t\t\t// vm.formdataForEdit = new FormData(); \r\n\t\t\tvm.isEditDisabled = true;\r\n\t\t\tif (!vm.formdataForEdit) {\r\n\t\t\t\tvm.showFailure(\"Failed\", \"You have not edited anything\");\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tJobDetailViewService.UpdateJobData(vm.formdataForEdit, token, loggedinUser, vm.TicketInfo.TicketId).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 202) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Data has been successfully updated\");\r\n\t\t\t\t\t\tvm.DataItemDetailList = [];\r\n\t\t\t\t\t\tvm.file = [];\r\n\t\t\t\t\t\t$scope.stepsModel = [];\r\n\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\tvm.GetSectionDataByStepName(vm.StepName);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", \"Data not updated\");\r\n\t\t\t\t\t\tvm.DataItemDetailList = [];\r\n\t\t\t\t\t\tvm.file = [];\r\n\t\t\t\t\t\t$scope.stepsModel = [];\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\t\t//end data capture\r\n\r\n\t\tvm.GetPreApprovalStepEric = function () {\r\n\t\t\tJobDetailViewService.GetPreApprovalStepEric(vm.TicketId, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\t\tvm.dataDocList = resp.data;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.GetPreApprovalStepEric();\r\n\t\tvm.implementSelectDataF = function (itemList, scope) {\r\n\t\t\tscope.selectAllColumnsF = false;\r\n\t\t\tscope.showMinusColumnsF = false;\r\n\t\t\tscope.selectDataRowF = function (i) {\r\n\t\t\t\tscope.selectAllColumnsF = false;\r\n\t\t\t\tscope.showMinusColumnsF = true;\r\n\t\t\t\tvm.finalData = [];\r\n\t\t\t\tangular.forEach(scope[itemList], function (d) {\r\n\t\t\t\t\tscope.selectAllColumnsF = false;\r\n\t\t\t\t\tscope.showMinusColumnsF = true;\r\n\t\t\t\t\tvm.tktList = d.ticketResponseList;\r\n\t\t\t\t\tvar SectionName = d.SectionName;\r\n\t\t\t\t\tangular.forEach(vm.tktList, function (ticketResponseList) {\r\n\t\t\t\t\t\tif (ticketResponseList.enabled) {\r\n\t\t\t\t\t\t\tscope.selectAllColumnsF = false;\r\n\t\t\t\t\t\t\tscope.showMinusColumnsF = true;\r\n\t\t\t\t\t\t\tvar templateSection = {};\r\n\t\t\t\t\t\t\ttemplateSection.SectionName = SectionName;\r\n\t\t\t\t\t\t\ttemplateSection.ticketResponseList = ticketResponseList;\r\n\t\t\t\t\t\t\tvm.finalData.push(templateSection);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tscope.applyAllColumnsSelectF = function () {\r\n\t\t\t\tvm.finalData = [];\r\n\t\t\t\tangular.forEach(scope[itemList], function (d) {\r\n\t\t\t\t\td.enabled = scope.selectAllColumnsF;\r\n\t\t\t\t\tvm.tktList = d.ticketResponseList;\r\n\t\t\t\t\tvar SectionName = d.SectionName;\r\n\r\n\t\t\t\t\t// if (d.enabled) {\r\n\t\t\t\t\tangular.forEach(vm.tktList, function (ticketResponseList) {\r\n\t\t\t\t\t\tif (ticketResponseList.ItemStatus != 'Rejected') {\r\n\t\t\t\t\t\t\tticketResponseList.enabled = scope.selectAllColumnsF;\r\n\t\t\t\t\t\t\tvar templateSection = {};\r\n\t\t\t\t\t\t\ttemplateSection.SectionName = SectionName;\r\n\t\t\t\t\t\t\ttemplateSection.ticketResponseList = ticketResponseList;\r\n\t\t\t\t\t\t\tif (ticketResponseList.enabled) {\r\n\t\t\t\t\t\t\t\tvm.finalData.push(templateSection);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\t// }\r\n\t\t\t\t\t// angular.forEach(vm.tktList, function (ticketResponseList) {\t\t\t\t\t\r\n\t\t\t\t\t// \tif (ticketResponseList.enabled) {\r\n\r\n\t\t\t\t\t// \t\tvar templateSection = {};\r\n\t\t\t\t\t// \t\ttemplateSection.SectionName = SectionName;\r\n\t\t\t\t\t// \t\ttemplateSection.ticketResponseList = ticketResponseList;\r\n\t\t\t\t\t// \t\tvm.finalData.push(templateSection);\t\t\r\n\t\t\t\t\t// \t }\r\n\t\t\t\t\t// });\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t\tvm.implementSelectDataF('dataDocList', this);\r\n\t\t// vm.approveJobDataCap = function () { \r\n\t\t// \tangular.forEach(vm.finalData, function (q) {\r\n\t\t// \t\tvm.ticketResp = q.ticketResponseList\r\n\t\t// \t\t\tif(vm.ticketResp.ItemName) {\r\n\t\t// \t\t\t\tdelete vm.ticketResp.ItemValue;\r\n\t\t// \t\t\t\tdelete vm.ticketResp.ImageName;\r\n\t\t// \t\t\t\tdelete vm.ticketResp.ItemUpdateDate;\r\n\t\t// \t\t\t\tdelete vm.ticketResp.checked;\r\n\t\t// \t\t\t\tdelete vm.ticketResp.ItemValues;\r\n\t\t// \t\t\t\tdelete vm.ticketResp.ItemType;\r\n\t\t// \t\t\t\tdelete vm.ticketResp.Value;\r\n\t\t// \t\t\t\tdelete vm.ticketResp.VideoName;\r\n\t\t// \t\t\t\tdelete vm.ticketResp.enabled;\r\n\t\t// \t\t\t\tvm.ticketResp.ItemStatus = 'Approved';\r\n\t\t// \t\t\t}\r\n\t\t// \t});\r\n\t\t// \tJobDetailViewService.updateapproval(vm.finalData,token,vm.TicketId).then(function (resp) {\r\n\t\t// \t\tif (resp.status == 200) {\r\n\t\t// \t\tvm.showSuccess(\"Success\", \"approved\");\r\n\t\t// \t\t$timeout(function () {\r\n\t\t// \t\t\tvm.getTicketByJobId();\r\n\t\t// \t\t\tvm.GetPreApprovalStepEric();\r\n\t\t// \t\t\t$state.reload();\r\n\t\t// \t\t}, 2000);\r\n\t\t// \t\t}\r\n\t\t// \t\telse { \r\n\t\t// \t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t// \t\t}\r\n\t\t// \t});\r\n\t\t// }\r\n\r\n\t\t// vm.RejectJobDataCap = function () { \r\n\t\t// \tangular.forEach(vm.finalData, function (q) {\r\n\t\t// \t\tvm.ticketResp = q.ticketResponseList\r\n\t\t// \t\t\tif(vm.ticketResp.ItemName) {\r\n\t\t// \t\t\t\tdelete vm.ticketResp.ItemValue;\r\n\t\t// \t\t\t\tdelete vm.ticketResp.ImageName;\r\n\t\t// \t\t\t\tdelete vm.ticketResp.ItemUpdateDate;\r\n\t\t// \t\t\t\tdelete vm.ticketResp.checked;\r\n\t\t// \t\t\t\tdelete vm.ticketResp.ItemValues;\r\n\t\t// \t\t\t\tdelete vm.ticketResp.ItemType;\r\n\t\t// \t\t\t\tdelete vm.ticketResp.Value;\r\n\t\t// \t\t\t\tdelete vm.ticketResp.VideoName;\r\n\t\t// \t\t\t\tdelete vm.ticketResp.enabled;\r\n\t\t// \t\t\t\tvm.ticketResp.ItemStatus = 'Rejected';\r\n\t\t// \t\t\t}\r\n\t\t// \t});\r\n\t\t// \tJobDetailViewService.updateapproval(vm.finalData,token,vm.TicketId).then(function (resp) {\r\n\t\t// \t\tif (resp.status == 200) {\r\n\t\t// \t\tvm.showSuccess(\"Success\", \"Rejected\");\r\n\t\t// \t\t$timeout(function () {\r\n\t\t// \t\t\t$state.reload();\r\n\t\t// \t\t\tvm.GetPreApprovalStepEric();\r\n\t\t// \t\t}, 2000);\r\n\t\t// \t\t}\r\n\t\t// \t\telse{ \r\n\t\t// \t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t// \t\t}\r\n\t\t// \t});\r\n\t\t// }\r\n\r\n\t\t// Shipment Tracking Details\r\n\t\tvm.GetShipmentDetails = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"ID\": vm.TicketId\r\n\t\t\t};\r\n\t\t\tJobDetailViewService.GetShipmentDetails(data, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\r\n\t\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\t\tvm.getShipmentDetailsList = resp.data;\r\n\t\t\t\t\t\t// vm.lineItemShip = vm.getShipmentDetailsList[0].JobLineItemList;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t//Reject job\r\n\t\tvm.RejectJobBtn = function () {\r\n\t\t\tJobDetailViewService.RejectJob(vm.TicketId, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\r\n\t\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", resp.data);\r\n\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\t}, 500);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.CertimageServices = function(img,index){\r\n\t\t\tMainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n\t\t\t if(resp.data == null || resp.data == '' ){\r\n\t\t\t vm.CertprofileImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n\t\t\t }\r\n\t\t else{\r\n\t\t\t vm.CertprofileImg[index] = resp.data;\r\n\t\t\t } \r\n\t\t\t }, function() {\r\n\t\t\t\tvm.CertprofileImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n\t\t\t }); \r\n\t\t }\r\n\r\n\t\tvm.getTicketByJobId = function () {\r\n\t\t\tJobDetailViewService.GetJobTicket(vm.TicketId, token).then(function (resp) {\r\n\t\t\t\tvm.TicketInfo = resp.data;\r\n\t\t\t\tvm.sowLink = \"https://www.youtube.com/embed/\" + vm.TicketInfo.ScopeWorkPath;\r\n\t\t\t\tvm.PlannedClosureDateType = vm.TicketInfo.SPDUpdateWithInDays == 0 ? 'first' : 'other';\r\n\t\t\t\tvm.FreelancerBidForLightTicketList = vm.TicketInfo.FreelancerBidForLightTicketModel;\r\n\t\t\t\t// vm.FreelancerBidCount=vm.TicketInfo.FreelancerBidForLightTicketModel.length;\r\n\t\t\t\tvm.BonusPenaltyList = vm.TicketInfo.ListBonusPenalty;\r\n\t\t\t\tvm.ShipmentDetails = vm.TicketInfo.ShipmentDetails;\r\n\t\t\t\tvm.JobLatitude = vm.TicketInfo.Latitude;\r\n\t\t\t\tvm.JobLongitude = vm.TicketInfo.Longitude;\r\n\t\t\t\tvm.IsFaceRecognationOn = vm.TicketInfo.IsFaceRecognationOn;\r\n\t\t\t\tvm.name = vm.TicketInfo.UserName;\r\n\t\t\t\t// if (vm.TicketInfo.ConsumerContact) {\r\n\t\t\t\t// \tvm.TicketInfo.ConsumerContact = vm.TicketInfo.ConsumerContact.replace(/\\d(?=\\d{4})/g, '*');\r\n\t\t\t\t// }\r\n\t\t\t\t// if (vm.TicketInfo.AlternateConsumerContact) {\r\n\t\t\t\t// \tvm.TicketInfo.AlternateConsumerContact = vm.TicketInfo.AlternateConsumerContact.replace(/\\d(?=\\d{4})/g, '*');\r\n\t\t\t\t// }\r\n\t\t\t\tfor (var i = 0; i < vm.BonusPenaltyList.length; i++) {\r\n\t\t\t\t\tif (vm.BonusPenaltyList[i].RuleType == \"Bonus\")\r\n\t\t\t\t\t\tvm.BonusList.push(vm.BonusPenaltyList[i]);\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.PenaltyList.push(vm.BonusPenaltyList[i]);\r\n\t\t\t\t}\r\n\t\t\t\tvm.projectId = vm.TicketInfo.ProjectId;\r\n\r\n\t\t\t\t//vm.TicketInfo.IsLineItemAvailable=true;\r\n\t\t\t\tif (vm.TicketInfo.TicketStatus == 'New')\r\n\t\t\t\t\tvm.fileuploadShow = false;\r\n\t\t\t\telse\r\n\t\t\t\t\tvm.fileuploadShow = true;\r\n\t\t\t\t// vm.GetAllJobLineItems(vm.TicketId);\r\n\t\t\t\tif (vm.TicketInfo.SpareTransportType == '0') {\r\n\t\t\t\t\tclean(vm.TicketInfo.Courier);\r\n\t\t\t\t\t// var temp = (Object.keys(vm.TicketInfo.Courier).forEach((key) => (vm.TicketInfo.Courier[key] == null) && delete vm.TicketInfo.Courier[key]));\r\n\t\t\t\t\tif (vm.TicketInfo.Courier) {\r\n\t\t\t\t\t\tvm.SparePartAddress = (Object.values(vm.TicketInfo.Courier)).toString();\r\n\t\t\t\t\t\tvm.SpareTransportType = 'Courier';\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t} else if (vm.TicketInfo.SpareTransportType == '1') {\r\n\t\t\t\t\t// var temp = Object.keys(vm.TicketInfo.PickUp).forEach((key) => (vm.TicketInfo.PickUp[key] == null) && delete vm.TicketInfo.PickUp[key]);\r\n\t\t\t\t\tclean(vm.TicketInfo.PickUp);\r\n\t\t\t\t\tvm.SparePartAddress = (Object.values(vm.TicketInfo.PickUp)).toString();\r\n\t\t\t\t\tvm.SpareTransportType = 'PickUp';\r\n\t\t\t\t} else if (vm.TicketInfo.SpareTransportType == '2') {\r\n\t\t\t\t\tclean(vm.TicketInfo.PickUpDrop.PickUp);\r\n\t\t\t\t\t// var temp = Object.keys(vm.TicketInfo.PickUpDrop.PickUp).forEach((key) => (vm.TicketInfo.PickUpDrop.PickUp[key] == null) && delete vm.TicketInfo.PickUpDrop.PickUp[key]);\r\n\t\t\t\t\tvm.SparePartAddress = (Object.values(vm.TicketInfo.PickUpDrop.PickUp)).toString();\r\n\t\t\t\t\tvm.SpareTransportType = 'PickUpDrop';\r\n\t\t\t\t\tvm.SparePartDropAddress = vm.TicketInfo.PickUpDrop.Address1 + ',' + vm.TicketInfo.PickUpDrop.Address2 + ',' + vm.TicketInfo.PickUpDrop.State + ',' + vm.TicketInfo.PickUpDrop.City + ',' + vm.TicketInfo.PickUpDrop.Pincode;\r\n\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (vm.TicketInfo.Template == 'VSAT Troubleshooting' || vm.TicketInfo.Template == 'LeaseLine Troubleshooting') {\r\n\t\t\t\t\t// vm.GetStatusActivityInPie();\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// if (vm.TicketInfo.LinkId) {\r\n\t\t\t\t// } else {\r\n\t\t\t\t// \tvm.getAllActivitiesForJob();\r\n\t\t\t\t// }\r\n\r\n\t\t\t\tangular.copy(vm.TicketInfo.TemplateModel, vm.TemplateData);\r\n\r\n\t\t\t\tfor (var index = 0; index < vm.TemplateData.SectionList.length; index++) {\r\n\t\t\t\t\tif (vm.TemplateData.SectionList[index].Action == 'Supervisor' && vm.TemplateData.SectionList[index].SectionName == 'Supervisor') {\r\n\t\t\t\t\t\tvm.SuperVisorData = vm.TemplateData.SectionList[index].ItemList;\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t//ListFieldSupportTeam \r\n\t\t\t\tif (vm.TicketInfo.ListFieldSupportTeam) {\r\n\t\t\t\t\tfor (var index = 0; index < vm.TicketInfo.ListFieldSupportTeam.length; index++) {\r\n\t\t\t\t\t\tif (vm.TicketInfo.ListFieldSupportTeam.length >= 0) {\r\n\t\t\t\t\t\t\tvm.ListOfSupportTeam = vm.TicketInfo.ListFieldSupportTeam;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (vm.TicketInfo.CompareFaceAttemptList) {\r\n\t\t\t\t\tvm.CompareFaceAttemptList = vm.TicketInfo.CompareFaceAttemptList;\r\n\t\t\t\t\t// for (var index = 0; index < vm.TicketInfo.CompareFaceAttemptList.length; index++) {\r\n\t\t\t\t\t// \tvm.CertimageServices(vm.CompareFaceAttemptList[index].Image,index);\r\n\t\t\t\t\t// }\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvm.getCallTypeList(vm.TicketInfo.JobType, vm.SuperVisorData);\r\n\t\t\t\tvm.ListActionWise = SeperateSectionAndItems(vm.TemplateData.SectionList, 'Action');\r\n\r\n\r\n\t\t\t\tvm.TicketInfoEdit = {\r\n\t\t\t\t\tConsumerName: vm.TicketInfo.ConsumerName,\r\n\t\t\t\t\tConsumerContact: vm.TicketInfo.ConsumerContact,\r\n\t\t\t\t\tAddress1: vm.TicketInfo.Address1,\r\n\t\t\t\t\tAddress2: vm.TicketInfo.Address2,\r\n\t\t\t\t\tPincode: vm.TicketInfo.Pincode,\r\n\t\t\t\t\t// StartTime: vm.TicketInfo.StartTime,\r\n\t\t\t\t\tPlannedStartDate: vm.TicketInfo.PlannedStartDate,\r\n\t\t\t\t\t// EndTime: vm.TicketInfo.EndTime,\r\n\t\t\t\t\tEndTime: ''\r\n\t\t\t\t}\r\n\t\t\t\tvm.TicketDescEdit = {\r\n\t\t\t\t\tSkillSet: vm.TicketInfo.SkillSet,\r\n\t\t\t\t\tPaymentType: vm.TicketInfo.PaymentType,\r\n\t\t\t\t\tTemplate: vm.TicketInfo.Template,\r\n\t\t\t\t\tJobDescription: vm.TicketInfo.JobDescription,\r\n\t\t\t\t\tPriority: vm.TicketInfo.Priority,\r\n\t\t\t\t\tSiteId: vm.TicketInfo.SiteId,\r\n\t\t\t\t\tSiteName: vm.TicketInfo.SiteName,\r\n\t\t\t\t\tRegion: vm.TicketInfo.Region,\r\n\t\t\t\t\tBidDuration: vm.TicketInfo.BidDuration\r\n\t\t\t\t}\r\n\t\t\t\t// vm.getAllStates();\r\n\t\t\t\t// if (vm.TicketInfo.State) {\r\n\t\t\t\t// \tvm.getCities(vm.TicketInfo.State);\r\n\t\t\t\t// }\r\n\r\n\t\t\t\tJobDetailViewService.getTemplateByName(vm.TicketInfo.Template, token, loggedinUser, vm.TicketInfo.TicketId, function (data) {\r\n\t\t\t\t\tvm.templateData = data;\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t\t\tvm.TechnicianSource = vm.TicketInfo.TechnicianSource ? vm.TicketInfo.TechnicianSource : vm.TechnicianSource = '';\r\n\r\n\t\t\t\tvm.showPrefer = 'fixed';\r\n\t\t\t\t// \tvm.GetFixedUser(false);\r\n\t\t\t\t// \tvm.GetNearByUser(false);\r\n\t\t\t\t// vm.GetPreviousWorker(false);\r\n\t\t\t\t// vm.GetTalentPoolUser(false);\r\n\r\n\t\t\t\tif (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\tvm.disabledDrop = true;\r\n\t\t\t\t}\r\n\t\t\t\tif (vm.TicketInfo.MetrialDeliverStatus) {\r\n\t\t\t\t\tvm.SelectedMaterial = vm.TicketInfo.MetrialDeliverStatus;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t\r\n\r\n\t\t\t\t// if (vm.TechnicianSource == '0' && vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t// \tvm.showPrefer = 'fixed';\r\n\t\t\t\t// \tvm.showF = true;\r\n\t\t\t\t// \tvm.showN = false;\r\n\t\t\t\t// \tvm.showT = false;\r\n\t\t\t\t// \tvm.showP = false;\r\n\t\t\t\t// \tvm.GetFixedUser(false);\r\n\t\t\t\t// } else if (vm.TechnicianSource == '1' && vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t// \tvm.showPrefer = 'nearBy';\r\n\t\t\t\t// \tvm.showF = false;\r\n\t\t\t\t// \tvm.showN = true;\r\n\t\t\t\t// \tvm.showT = false;\r\n\t\t\t\t// \tvm.showP = false;\r\n\t\t\t\t// \tvm.GetNearByUser(false);\r\n\t\t\t\t// } else if (vm.TechnicianSource == '2' && vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t// \tvm.showPrefer = 'true';\r\n\t\t\t\t// \tvm.showF = false;\r\n\t\t\t\t// \tvm.showN = false;\r\n\t\t\t\t// \tvm.showT = true;\r\n\t\t\t\t// \tvm.showP = false;\r\n\t\t\t\t// \tvm.GetTalentPoolUser(true);\r\n\t\t\t\t// } else if (vm.TechnicianSource == '3' && vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t// \tvm.showPrefer = 'previous';\r\n\t\t\t\t// \tvm.showF = false;\r\n\t\t\t\t// \tvm.showN = false;\r\n\t\t\t\t// \tvm.showT = false;\r\n\t\t\t\t// \tvm.showP = true;\r\n\t\t\t\t// \tvm.GetPreviousWorker(true);\r\n\t\t\t\t// } else {\r\n\t\t\t\t// \tvm.showF = true;\r\n\t\t\t\t// \tvm.showN = true;\r\n\t\t\t\t// \tvm.showT = true;\r\n\t\t\t\t// \tvm.showP = true;\r\n\t\t\t\t// \tvm.GetFixedUser(false);\r\n\t\t\t\t// \tvm.GetNearByUser(false);\r\n\t\t\t\t// \tvm.GetPreviousWorker(false);\r\n\t\t\t\t// \tvm.GetTalentPoolUser(false);\r\n\t\t\t\t// }\r\n\r\n\t\t\t\tif ($localStorage.loggedInUser_Role == 'Vendor Manager' || $localStorage.loggedInUser_Role == 'Service Center') {\r\n\t\t\t\t\tvm.showPrefer = 'fixed';\r\n\t\t\t\t\tvm.showF = true;\r\n\t\t\t\t\tvm.showN = false;\r\n\t\t\t\t\tvm.showT = false;\r\n\t\t\t\t\tvm.showP = false;\r\n\t\t\t\t\tvm.GetFixedUser(true);\r\n\t\t\t\t}\r\n vm.GetAllSymptomDocByProductGroup();\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\tif(vm.TicketInfo.SymptomName){\r\n\t\t\t\t\t\tvm.SymptomName = vm.TicketInfo.SymptomName;\r\n\t\t\t\t\t\tvm.SymptomCode = vm.TicketInfo.SymptomCode;\r\n\t\t\t\t\t\tvm.GetDefectsValuesBySymptomValue(vm.SymptomCode)\r\n\t\t\t\t\t}\r\n\t\t\t\t}, 2000);\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\tif(vm.TicketInfo.DefectName){\r\n\t\t\t\t\t\tvm.DefectName = vm.TicketInfo.DefectName;\r\n\t\t\t\t\t\tvm.DefectCode = vm.TicketInfo.DefectCode;\r\n\t\t\t\t\t\tvm.GetAllRepairDocsByDefectValue(vm.DefectCode)\r\n\t\t\t\t\t}\r\n\t\t\t\t}, 4000);\r\n\r\n\t\t\t\tvm.ResolutionName = vm.TicketInfo.ResolutionName;\r\n\t\t\t\tvm.ResolutionCode = vm.TicketInfo.ResolutionCode;\r\n\t\t\t\tvm.BrandNameTicket = vm.TicketInfo.BrandName\r\n\t\t\t\tvm.productGroup = vm.TicketInfo.ProductGroup\r\n\t\t\t\tvm.product = vm.TicketInfo.ProductType\r\n\t\t\t\tvm.modelNumber = vm.TicketInfo.ModelNumber\r\n\r\n\t\t\t\t// vm.GetAllProductsForBrand();\r\n\t\t\t\tif(vm.TicketInfo.JobAccountId == '361' || vm.TicketInfo.JobAccountId == '364'){\r\n\t\t\t\t\tvm.GetModelNumberByTicketId();\r\n\t\t\t\t}\r\n\t\t\t\tvm.GetCRMCallTypeList(vm.product);\r\n\t\t\t\t// if(vm.product){\r\n\t\t\t\t// \tvm.GetAllActiveProductModelMaster(vm.product);\r\n\t\t\t\t// }\r\n\t\t\t\tvm.createHalfDonutChart();\r\n\t\t\t});\r\n\r\n\t\t}\r\n\r\n\t\tvm.getTicketByJobId();\r\n\r\n\r\n\r\n\t\tvm.GetSchedulingEvaluationresult = function(){\r\n\t\t\tif (vm.TechnicianSource == '0' && vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\tvm.showPrefer = 'fixed';\r\n\t\t\t\t\tvm.showF = true;\r\n\t\t\t\t\tvm.showN = false;\r\n\t\t\t\t\tvm.showT = false;\r\n\t\t\t\t\tvm.showP = false;\r\n\t\t\t\t\tvm.GetFixedUser(false);\r\n\t\t\t\t} else if (vm.TechnicianSource == '1' && vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\tvm.showPrefer = 'nearBy';\r\n\t\t\t\t\tvm.showF = false;\r\n\t\t\t\t\tvm.showN = true;\r\n\t\t\t\t\tvm.showT = false;\r\n\t\t\t\t\tvm.showP = false;\r\n\t\t\t\t\tvm.GetNearByUser(false);\r\n\t\t\t\t} else if (vm.TechnicianSource == '2' && vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\tvm.showPrefer = 'true';\r\n\t\t\t\t\tvm.showF = false;\r\n\t\t\t\t\tvm.showN = false;\r\n\t\t\t\t\tvm.showT = true;\r\n\t\t\t\t\tvm.showP = false;\r\n\t\t\t\t\tvm.GetTalentPoolUser(true);\r\n\t\t\t\t} else if (vm.TechnicianSource == '3' && vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\tvm.showPrefer = 'previous';\r\n\t\t\t\t\tvm.showF = false;\r\n\t\t\t\t\tvm.showN = false;\r\n\t\t\t\t\tvm.showT = false;\r\n\t\t\t\t\tvm.showP = true;\r\n\t\t\t\t\tvm.GetPreviousWorker(true);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvm.showF = true;\r\n\t\t\t\t\tvm.showN = true;\r\n\t\t\t\t\tvm.showT = true;\r\n\t\t\t\t\tvm.showP = true;\r\n\t\t\t\t\tvm.GetFixedUser(false);\r\n\t\t\t\t\tvm.GetNearByUser(false);\r\n\t\t\t\t\tvm.GetPreviousWorker(false);\r\n\t\t\t\t\tvm.GetTalentPoolUser(false);\r\n\t\t\t\t}\r\n\t\t\t\tJobDetailViewService.GetSchedulingEvaluationResult(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tvm.FixedUserList = resp.data.users;\r\n\t\t\t\t\tvm.FixedUserLength = vm.FixedUserList.length;\r\n\r\n\t\t\t\t});\r\n\r\n\t\t}\r\n\r\n\t\tvm.addClassInButton = function () {\r\n\t\t\tif (vm.TechnicianSource && vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$('#btnFixedTeam').addClass('activeButton');\r\n\t\t\t\t\t$('#btnNearBy').addClass('activeButton');\r\n\t\t\t\t\t$('#btnTalent').addClass('activeButton');\r\n\t\t\t\t\t$('#btnPrefer').addClass('activeButton');\r\n\t\t\t\t}, 100);\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tvm.planerDateModal = {};\r\n\t\tvm.editplanCloser = function () {\r\n\t\t\tvm.TicketInfoEdit['PlannedClosureDate'] = vm.TicketInfo.PlannedClosureDate;\r\n\t\t\tvm.getPlannedClosureUpdateReasons();\r\n\t\t}\r\n\r\n\t\tvm.GetAllOrderDetailTicketId = function (){\r\n\t\t\tJobDetailViewService.GetAllOrderDetailTicketId(vm.TicketInfo.TicketId,loggedinUser, token).then(function(resp){\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.OrderDetailList = resp.data;\r\n\t\t\t\t }\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tvm.disableRejectButton = false;\r\n\t\tvm.ReplacedPartId = \"\";\r\n\t\tvm.OpenAllocateModal = function (partId) {\r\n\t\t\tvm.ReplacedPartId = partId;\r\n\t\t\tvm.AllocateModal = $uibModal.open({\r\n\t\t\t templateUrl: \"allocationModal.html\",\r\n\t\t\t backdrop: \"static\",\r\n\t\t\t size: \"md\",\r\n\t\t\t scope: $scope,\r\n\t\t\t});\r\n\t\t };\r\n \r\n\t\t vm.closeAllocateModal = function () {\r\n\t\t\tvm.AllocateModal.close();\r\n\t\t\tvm.ReplacedPartId = \"\";\r\n\t\t\tvm.disableRejectButton = false;\r\n\t\t };\r\n\t\t\r\n\t\tvm.AddTicketDefectStockToServiceCenter = function () {\r\n\t\t\tvm.disableRejectButton = true;\r\n\t\t\tvar DeadStokReqModel = {\r\n\t\t\t\t\"TicketId\" : vm.TicketInfo.TicketId,\r\n\t\t\t\t\"PartId\" : vm.ReplacedPartId\r\n\t\t\t}\r\n\t\t\tJobDetailViewService.AddTicketDefectStockToServiceCenter(DeadStokReqModel,loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\tvm.closeAllocateModal();\r\n\t\t\t\t\tvm.showSuccess(\"Success\", resp.data);\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tvm.GetInventoryPartsDetails();\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\tvm.disableRejectButton = false;\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.orderdetailsview = function (salesOrderDetail) {\r\n\t\t\t$state.go('index.WareHouseOrderDetailView', {\r\n\t\t\t\torder_id: salesOrderDetail\r\n\t\t\t}, {\r\n\t\t\t\treload: true\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.GetAllFollowUpForJob = function () {\r\n\t\t\tCentralHDTicketsViewService.GetAllFollowUpForJob(vm.TicketInfo.TicketId, loggedinUser, token).then(function (resp) {\r\n\t\t\t if (resp && resp.data) {\r\n\t\t\t\tvm.getfollowUpList = resp.data;\r\n\t\t\t }\r\n\t \r\n\t\t\t}, function () {\r\n\t\t\t});\r\n\t\t }\r\n\r\n\t\tvm.getPlannedClosureUpdateReasons = function () {\r\n\t\t\tJobDetailViewService.GetCancellationReasons(vm.TicketInfo.TicketId, 'PlannedClosure', loggedinUser, token).then(function (resp) {\r\n\t\t\t if (resp && resp.data) {\r\n\t\t\t\tvm.PlannedUpdateReasonsList = resp.data;\r\n\t\t\t\tvm.planerDateModal = $uibModal.open({\r\n\t\t\t\t\ttemplateUrl: 'editplanerDate.html',\r\n\t\t\t\t\tscope: $scope\r\n\t\t\t\t});\r\n\t\t\t }\r\n\t\t\t});\r\n\t\t }\r\n\r\n\t\tvm.closeplanerDate = function () {\r\n\t\t\tvm.planerDateModal.close();\r\n\t\t\tvm.PlannedClosureReason = \"\";\r\n\t\t}\r\n\r\n\t\tvm.updatePlannedClosure = function () {\r\n\t\t\tvm.PlannedClosureticketList = [];\r\n\t\t\tvm.PlannedClosureticketList.push(vm.TicketInfo.TicketId);\r\n\r\n\t\t\tvar data = {\r\n\t\t\t\t\"TicketIds\": vm.PlannedClosureticketList,\r\n\t\t\t\t\"TicketPlannedClosureDate\": moment(vm.TicketInfoEdit.PlannedClosureDate).format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\"),\r\n\t\t\t\t\"IsWithInDays\": vm.IsWithInDays == 'first' ? true : false,\r\n\t\t\t\t\"WithInDays\": vm.WithInDays,\r\n\t\t\t\t\"PlannedDateChangeReason\": vm.PlannedClosureReason\r\n\t\t\t};\r\n\r\n\t\t\tJobDetailViewService.updatePlannedClosure(loggedinUser, data, token, function (res) {\r\n\t\t\t\tvm.showSuccess(\"Success\", res);\r\n\t\t\t\tvm.planerDateModal.close();\r\n\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.jobDescription = {};\r\n\t\tvm.editJobDesc = function () {\r\n\r\n\t\t\tvm.TicketDescEdit['SkillSet'] = vm.TicketInfo.SkillSet;\r\n\t\t\tvm.TicketDescEdit['PaymentType'] = vm.TicketInfo.PaymentType;\r\n\t\t\tvm.TicketDescEdit['Template'] = vm.TicketInfo.Template;\r\n\t\t\tvm.TicketDescEdit['JobDescription'] = vm.TicketInfo.JobDescription;\r\n\t\t\tvm.TicketDescEdit['Priority'] = vm.TicketInfo.Priority;\r\n\t\t\tvm.TicketDescEdit['SiteId'] = vm.TicketInfo.SiteId;\r\n\t\t\tvm.TicketDescEdit['SiteName'] = vm.TicketInfo.SiteName;\r\n\t\t\tvm.TicketDescEdit['Region'] = vm.TicketInfo.Region;\r\n\t\t\tvm.TicketDescEdit['BidDuration'] = vm.TicketInfo.BidDuration;\r\n\r\n\t\t\tvm.jobDescription = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'editJobDescription.html',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t\tsize: 'md',\r\n\t\t\t\twindowClass: 'schedulerModal'\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeJobDesc = function () {\r\n\t\t\tvm.jobDescription.close();\r\n\t\t}\r\n\r\n\t\tvm.updateJobDesc = function () {\r\n\t\t\tvm.jobDescForm.submitted = true;\r\n\t\t\tif (vm.jobDescForm.$valid) {\r\n\t\t\t\tvar data = {\r\n\t\t\t\t\t// \"SkillSet\": vm.TicketDescEdit.SkillSet,\r\n\t\t\t\t\t// \"PaymentType\": vm.TicketDescEdit.PaymentType,\r\n\t\t\t\t\t// \"Template\": vm.TicketDescEdit.Template,\r\n\t\t\t\t\t\"JobDescription\": vm.TicketDescEdit.JobDescription,\r\n\t\t\t\t\t\"Priority\": vm.TicketDescEdit.Priority,\r\n\t\t\t\t\t\"SiteId\": vm.TicketDescEdit.SiteId,\r\n\t\t\t\t\t\"SiteName\": vm.TicketDescEdit.SiteName,\r\n\t\t\t\t\t\"TicketId\": vm.TicketInfo.TicketId\r\n\t\t\t\t\t// \"Region\": vm.TicketDescEdit.Region,\r\n\t\t\t\t\t// \"BidDuration\": vm.TicketInfoEdit.BidDuration\r\n\t\t\t\t};\r\n\r\n\t\t\t\tJobDetailViewService.updateJobDescription(loggedinUser, data, token, function (res) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", res);\r\n\t\t\t\t\tvm.jobDescription.close();\r\n\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t//window.location.reload(true);\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t\t} else {\r\n\t\t\t\tconsole.log(\"invalid values\");\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.editAlternateNumber = function () {\r\n\t\t\tvm.TicketInfoEdit['AlternateConsumerContact'] = vm.TicketInfo.AlternateConsumerContact;\r\n\t\t\tvm.TicketInfoEdit['SecondAlternateContactNumber'] = vm.TicketInfo.SecondAlternateContactNumber;\r\n\t\t\tvm.AltNumberModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'editAlternateNumber.html',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t\tsize: 'md',\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeAlternateNumber = function () {\r\n\t\t\tvm.AltNumberModal.close();\r\n\t\t\tvm.disableCreateButton = false;\r\n\t\t}\r\n\r\n\t\tvm.UpdateContactInTicket = function () {\r\n\t\t\tvm.AlternateNumberForm.submitted = true;\r\n\t\t\tif (vm.AlternateNumberForm.$valid) {\r\n\t\t\t\tvm.disableCreateButton = true;\r\n\t\t\t\tvar data = {\r\n\t\t\t\t\t\"TicketId\": vm.TicketInfo.TicketId,\r\n\t\t\t\t\t\"AlternateConsumerContact\": vm.TicketInfoEdit.AlternateConsumerContact,\r\n\t\t\t\t\t\"SecondAlternateContactNumber\": vm.TicketInfoEdit.SecondAlternateContactNumber\r\n\t\t\t\t};\r\n\t\t\t\tJobDetailViewService.UpdateContactInTicket(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Alternate number updated successfully.\");\r\n\t\t\t\t\t\tvm.closeAlternateNumber();\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.disableCreateButton = false;\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\r\n\t\tvm.jobAddressModal = {};\r\n\t\tvm.editJobAddress = function () {\r\n\t\t\tvm.getAllStates();\r\n\t\t\tif (vm.TicketInfo.State) {\r\n\t\t\t\t\tvm.getCities(vm.TicketInfo.State);\r\n\t\t\t\t}\r\n\r\n\t\t\tvm.TicketInfoEdit['ConsumerName'] = vm.TicketInfo.ConsumerName;\r\n\t\t\tvm.TicketInfoEdit['ConsumerContact'] = vm.TicketInfo.ConsumerContact;\r\n\t\t\tvm.TicketInfoEdit['Address1'] = vm.TicketInfo.Address1;\r\n\t\t\tvm.TicketInfoEdit['Address2'] = vm.TicketInfo.Address2;\r\n\t\t\tvm.TicketInfoEdit['Pincode'] = vm.TicketInfo.Pincode;\r\n\t\t\tvm.TicketInfoEdit['StartTime'] = vm.TicketInfo.StartTime;\r\n\t\t\tvm.TicketInfoEdit['EndTime'] = vm.TicketInfo.EndTime;\r\n\t\t\tvm.TicketInfoEdit['Region'] = vm.TicketInfo.Region;\r\n\t\t\tvm.TicketInfoEdit['SubRegion'] = vm.TicketInfo.SubRegion;\r\n\r\n\t\t\tif (vm.states && !vm.TicketInfoEdit.State || vm.TicketInfoEdit.State != vm.TicketInfo.State) {\r\n\t\t\t\tangular.forEach(vm.states, function (s) {\r\n\t\t\t\t\tif (s == vm.TicketInfo.State) {\r\n\t\t\t\t\t\tvm.TicketInfoEdit.State = s;\r\n\t\t\t\t\t\tvm.getCities(vm.TicketInfo.State);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tvm.jobAddressModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'editJobAddress.html',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t\twindowClass: 'schedulerModal'\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeJobAddress = function () {\r\n\t\t\tvm.jobAddressModal.close();\r\n\t\t}\r\n\r\n\t\tvm.updateJobAddress = function () {\r\n\t\t\tvm.jobAddressForm.submitted = true;\r\n\t\t\tif (vm.jobAddressForm.$valid) {\r\n\t\t\t\tvar data = {\r\n\t\t\t\t\t\"ConsumerContact\": vm.TicketInfoEdit.ConsumerContact,\r\n\t\t\t\t\t\"Address1\": vm.TicketInfoEdit.Address1,\r\n\t\t\t\t\t\"Address2\": vm.TicketInfoEdit.Address2,\r\n\t\t\t\t\t\"ConsumerName\": vm.TicketInfoEdit.ConsumerName,\r\n\t\t\t\t\t\"State\": vm.TicketInfoEdit.State,\r\n\t\t\t\t\t\"City\": vm.TicketInfoEdit.City,\r\n\t\t\t\t\t\"Pincode\": vm.TicketInfoEdit.Pincode,\r\n\t\t\t\t\t\"StartTime\": vm.TicketInfoEdit.StartTime,\r\n\t\t\t\t\t\"EndTime\": vm.TicketInfoEdit.EndTime,\r\n\t\t\t\t\t\"Region\": vm.TicketInfo.Region,\r\n\t\t\t\t\t\"SubRegion\": vm.TicketInfo.SubRegion,\r\n\r\n\t\t\t\t};\r\n\r\n\t\t\t\tJobDetailViewService.saveTicket(loggedinUser, vm.TicketInfo.TicketId, data, token, function (res) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", res);\r\n\t\t\t\t\tvm.jobAddressModal.close();\r\n\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t//window.location.reload(true);\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t\t} else {\r\n\t\t\t\tconsole.log(\"invalid values\");\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t//call customer or freelancer\r\n\t\tvm.callToCustomer = function (TicketId, ConnectTo) {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"ConnectTo\": ConnectTo,\r\n\t\t\t\t\"TicketId\": TicketId\r\n\t\t\t};\r\n\t\t\tJobDetailViewService.callToCustomer(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t});\r\n\r\n\t\t}\r\n\r\n\t\tvm.ClickToCallAlternate = function (TicketId, ConnectTo) {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"ConnectTo\": ConnectTo,\r\n\t\t\t\t\"TicketId\": TicketId\r\n\t\t\t};\r\n\t\t\tJobDetailViewService.ClickToCallAlternate(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t});\r\n\r\n\t\t}\r\n\r\n\t\tvm.jobPayment = {};\r\n\t\tvm.editJobPayment = function () {\r\n\t\t\tvm.TicketInfoEdit['FreelancerRate'] = vm.TicketInfo.FreelancerRate;\r\n\t\t\tvm.TicketInfoEdit['MobiforceCommission'] = vm.TicketInfo.MobiforceCommission;\r\n\t\t\tvm.TicketInfoEdit['BroadcastRate'] = vm.TicketInfo.BroadcastRate;\r\n\t\t\tvm.serviceType = vm.TicketInfo.PaymentType;\r\n\t\t\tvm.jobPaymentModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'editJobPayment.html',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t\twindowClass: 'schedulerModal'\r\n\t\t\t});\r\n\r\n\t\t\tvm.calculatePrice();\r\n\t\t\tvm.calculateFreelancerPrice();\r\n\t\t}\r\n\r\n\t\tvm.closeJobPayment = function () {\r\n\t\t\tvm.jobPaymentModal.close();\r\n\t\t}\r\n\t\tvm.updateJobPayment = function () {\r\n\r\n\t\t\tvm.jobPaymentForm.submitted = true;\r\n\t\t\tif (vm.jobPaymentForm.$valid) {\r\n\t\t\t\t// var data = {\r\n\t\t\t\t// \t\"FreelancerRate\": vm.TicketInfoEdit.FreelancerRate,\r\n\t\t\t\t// \t\"BroadcastRate\": vm.TicketInfoEdit.BroadcastRate,\r\n\t\t\t\t// \t\"BroadcastGrossRate\": (vm.TicketInfoEdit.BroadcastRate * ((vm.GSTPercentange+100)*.01))\t\t\t\r\n\t\t\t\t// };\r\n\t\t\t\tJobDetailViewService.UpdateJobPayment(loggedinUser, vm.TicketInfo.TicketId, vm.TicketInfoEdit.BroadcastRate, token, function (res) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", res);\r\n\t\t\t\t\tvm.jobPaymentModal.close();\r\n\t\t\t\t\t//window.location.reload(true);\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t\t} else {\r\n\r\n\t\t\t}\r\n\t\t}\r\n\t\tvm.getAllStates = function () {\r\n\t\t\tJobDetailViewService.getAllState(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tvm.states = resp.data;\r\n\t\t\t\tangular.forEach(vm.states, function (s) {\r\n\t\t\t\t\tif (s == vm.TicketInfo.State) {\r\n\t\t\t\t\t\tvm.TicketInfoEdit.State = s;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.getCities = function (state) {\r\n\t\t\tif (state != \"\" && state.length > 0) {\r\n\t\t\t\tvm.cities = [];\r\n\t\t\t\tJobDetailViewService.getAllCity(loggedinUser, state, token).then(function (resp) {\r\n\t\t\t\t\tvm.cities = resp.data;\r\n\t\t\t\t\tangular.forEach(vm.cities, function (c) {\r\n\t\t\t\t\t\tif (vm.TicketInfo.City) {\r\n\t\t\t\t\t\t\tvar city = vm.TicketInfo.City.toUpperCase();\r\n\t\t\t\t\t\t\tif (c == city) {\r\n\t\t\t\t\t\t\t\tvm.TicketInfoEdit.City = c;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\r\n\t\tvm.history = {};\r\n\t\tvm.getHistory = function () {\r\n\t\t\tJobDetailViewService.getHistory(vm.TicketId, token).then(function (res) {\r\n\t\t\t\tvm.history = res.data;\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.getHistory();\r\n\r\n\t\tvm.getAllActivitiesForJob = function () {\r\n\t\t\tJobDetailViewService.getAllActivitiesForJob(vm.TicketId, loggedinUser, token, function (data) {\r\n\t\t\t\tvm.statusTracker = data;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.jobAppointmentModal = {};\r\n\t\tvm.availableTimeSlots = [];\r\n\t\tvm.editJobAppointment = function () {\r\n\t\t\tvm.TicketInfoEdit['ConsumerName'] = vm.TicketInfo.ConsumerName;\r\n\t\t\tvm.TicketInfoEdit['ConsumerContact'] = vm.TicketInfo.ConsumerContact;\r\n\t\t\tvm.TicketInfoEdit['Address1'] = vm.TicketInfo.Address1;\r\n\t\t\tvm.TicketInfoEdit['Address2'] = vm.TicketInfo.Address2;\r\n\t\t\tvm.TicketInfoEdit['Pincode'] = vm.TicketInfo.Pincode;\r\n\t\t\tvm.TicketInfoEdit['StartTime'] = new Date(vm.TicketInfo.StartTime);\r\n\t\t\tvm.TicketInfoEdit['EndTime'] = new Date(vm.TicketInfo.EndTime);\r\n\t\t\tvm.TicketInfoEdit['PlannedStartDate'] = vm.TicketInfo.PlannedStartDate ? new Date(vm.TicketInfo.PlannedStartDate) : new Date();\r\n\t\t\tif (vm.states && !vm.TicketInfoEdit.State || vm.TicketInfoEdit.State != vm.TicketInfo.State) {\r\n\t\t\t\tangular.forEach(vm.states, function (s) {\r\n\t\t\t\t\tif (s == vm.TicketInfo.State) {\r\n\t\t\t\t\t\tvm.TicketInfoEdit.State = s;\r\n\t\t\t\t\t\tvm.getCities(vm.TicketInfo.State);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tvm.checkAppointmentOtpRequirement();\r\n\t\t\tupdateAvailableTimeSlots();\r\n\t\t\tvm.jobAppointmentModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'editJobAppointment.html',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeJobAppointment = function () {\r\n\t\t\tvm.jobAppointmentModal.close();\r\n\t\t\tvm.appointmentCode = '';\r\n\t\t\tvm.AppointmentTime = '';\r\n\t\t\tvm.disableAppointmentOption = false;\r\n\t\t\tvm.TicketInfoEdit.PlannedStartDate = '';\r\n\t\t}\r\n\r\n\r\n\t\tfunction isTimeSlotValid(slot) {\r\n\t\t\tvar currentDate = new Date();\r\n\t\t\tvar selectedDate = new Date(vm.TicketInfoEdit.PlannedStartDate);\r\n\t\t\tvar timeParts = slot.value.split(':');\r\n\t\t\tvar slotHours = parseInt(timeParts[0], 10);\r\n\t\t\tvar slotMinutes = parseInt(timeParts[1], 10);\r\n\t\t\tvar slotTime = new Date(selectedDate);\r\n\t\t\tslotTime.setHours(slotHours, slotMinutes, 0);\r\n\t\t\tif (\r\n\t\t\t\tselectedDate.toDateString() === currentDate.toDateString() &&\r\n\t\t\t\tslotTime <= currentDate\r\n\t\t\t) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\t\r\n\t\t\r\n\r\n\t\tfunction updateAvailableTimeSlots() {\r\n\t\t\t$timeout(function () {\r\n\t\t\t\tvm.availableTimeSlots = vm.timeSlots.filter(isTimeSlotValid);\r\n\t\t\t\tif (vm.availableTimeSlots.length > 0) {\r\n\t\t\t\t\tselectDefaultTimeSlot();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvm.AppointmentTime = '';\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction selectDefaultTimeSlot() {\r\n\t\t\tif (vm.availableTimeSlots.length > 0) {\r\n\t\t\t\tvm.AppointmentTime = vm.availableTimeSlots[0].value;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t$scope.$watch('JobDetailViewCtrl.TicketInfoEdit.PlannedStartDate', function (newValue, oldValue) {\r\n\t\t\tif (newValue !== oldValue) {\r\n\t\t\t\tupdateAvailableTimeSlots();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\r\n\t\tvm.isOtpRequired = true;\r\n\r\n\t\tvm.checkAppointmentOtpRequirement = function() {\r\n\t\t\tvar plannedStartDate = moment(vm.TicketInfoEdit.PlannedStartDate).format(\"YYYY-MM-DD\");\r\n\t\t\tvar assignedDate = moment(vm.TicketInfo.AssignationDate).format(\"YYYY-MM-DD\") ;\r\n\r\n\t\t\tif (plannedStartDate == assignedDate) {\r\n\t\t\t\tvm.isOtpRequired = false;\r\n\t\t\t} else {\r\n\t\t\t\tvm.isOtpRequired = true;\r\n\t\t\t}\r\n\t\t};\r\n\r\n\r\n\t\tvm.updateJobAppointment = function () {\r\n\r\n\t\t\tvm.jobAppointmentForm.submitted = true;\r\n\t\t\tif (vm.jobAppointmentForm.$valid) {\r\n\t\t\t\tvar sDate = moment(vm.TicketInfoEdit.PlannedStartDate).format(\"YYYY-MM-DD\");\r\n\t\t\t\tvm.Stdate = sDate;\r\n\t\t\t\tvm.Stime = vm.AppointmentTime;\r\n\t\t\t\tvm.CurrentDate = moment().format('YYYY-MM-DDTHH:mm:ss.SSSZ');\r\n\t\t\t\tvm.dateTime = moment(vm.Stdate + ' ' + vm.Stime).format('YYYY-MM-DDTHH:mm:ss.SSSZ');\r\n\t\t\t\tif (moment(vm.dateTime)._i >= moment(vm.CurrentDate)._i) {\r\n\t\t\t\t\tJobDetailViewService.updateStartTime(vm.TicketInfo.TicketId, loggedinUser, vm.dateTime, vm.appointmentCode, token).then(function (resp) {\r\n\t\t\t\t\t\tif(resp && resp.status == 202){\r\n\t\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Appointment Date updated successfully\");\r\n\t\t\t\t\t\t\tvm.closeJobAppointment();\r\n\t\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", \"Start time should be greater than current time!\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.UpdateMatrialStatus = function (MetrialDeliveredStatus) {\r\n\t\t\tif (MetrialDeliveredStatus) {\r\n\t\t\t\tJobDetailViewService.UpdateMetrialDeliveredStatus(vm.TicketInfo.TicketId, loggedinUser, MetrialDeliveredStatus, token, function (res) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", \"Matrial Delivered Status updated successfully\");\r\n\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t\t} else {\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Please select matrial delivred status\");\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.getReadableTime = function (time) {\r\n\t\t\tvm.timeDisplay = \"\";\r\n\t\t\tif (typeof time == \"string\") {\r\n\t\t\t\tvm.timeDisplay = $filter('date')(new Date(time), \"yyyy/MM/dd h:mm:ss a\");\r\n\t\t\t}\r\n\t\t\tif (typeof time == \"object\") {\r\n\t\t\t\tvm.timeDisplay = time.format(\"DD/MMM/YY LTS\");\r\n\t\t\t}\r\n\t\t\treturn vm.timeDisplay;\r\n\t\t}\r\n\r\n\t\tvm.isUpdatePermission = function () {\r\n\t\t\tif (vm.VerticalName == 'Spectro Labs') {\r\n\t\t\t\tif (accountConfig && accountConfig.MenuListModel) {\r\n\t\t\t\t\tfor (var i = 0; i < accountConfig.MenuListModel.length; i++) {\r\n\t\t\t\t\t\tif (accountConfig.MenuListModel[i].MenuName == \"Jobs\") {\r\n\t\t\t\t\t\t\tfor (var j = 0; j < accountConfig.MenuListModel[i].SubMenusList.length; j++) {\r\n\t\t\t\t\t\t\t\tif (accountConfig.MenuListModel[i].SubMenusList[j].SubMenuName == \"All Tickets\") {\r\n\t\t\t\t\t\t\t\t\treturn accountConfig.MenuListModel[i].SubMenusList[j].UpdatePermission.split(\",\").indexOf($localStorage.loggedInUser_Role) >= 0;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (accountConfig && accountConfig.MenuListModel) {\r\n\t\t\t\t\tfor (var i = 0; i < accountConfig.MenuListModel.length; i++) {\r\n\t\t\t\t\t\tif (accountConfig.MenuListModel[i].MenuName == \"Jobs\") {\r\n\t\t\t\t\t\t\tfor (var j = 0; j < accountConfig.MenuListModel[i].SubMenusList.length; j++) {\r\n\t\t\t\t\t\t\t\tif (accountConfig.MenuListModel[i].SubMenusList[j].SubMenuName == \"All Jobs\") {\r\n\t\t\t\t\t\t\t\t\treturn accountConfig.MenuListModel[i].SubMenusList[j].UpdatePermission.split(\",\").indexOf($localStorage.loggedInUser_Role) >= 0;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tvm.getDropDownOptions = function (SectionName, ItemName) {\r\n\t\t\tvar options = [];\r\n\t\t\tif (vm.templateData && vm.templateData.SectionList) {\r\n\t\t\t\tangular.forEach(vm.templateData.SectionList, function (l) {\r\n\t\t\t\t\tif (l.SectionName == SectionName && l.ItemList && l.ItemList.length > 0) {\r\n\t\t\t\t\t\tangular.forEach(l.ItemList, function (item) {\r\n\t\t\t\t\t\t\tif (item.ItemName == ItemName && item.ItemType == \"Dropdown Type\" && item.field_options && item.field_options.options && item.field_options.options.length > 0) {\r\n\t\t\t\t\t\t\t\t//$log.log(\"item.field_options.options\", item.field_options.options);\r\n\t\t\t\t\t\t\t\toptions = item.field_options.options;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\treturn options;\r\n\t\t}\r\n\r\n\t\tvm.getDropDownOptionsForCheckboxList = function (SectionName, ItemName) {\r\n\t\t\tvar options = [];\r\n\t\t\tif (vm.templateData && vm.templateData.SectionList) {\r\n\t\t\t\tangular.forEach(vm.templateData.SectionList, function (l) {\r\n\t\t\t\t\tif (l.SectionName == SectionName && l.ItemList && l.ItemList.length > 0) {\r\n\t\t\t\t\t\tangular.forEach(l.ItemList, function (item) {\r\n\t\t\t\t\t\t\tif (item.ItemName == ItemName && item.ItemType == \"CheckBoxList DropDown Type\" && item.field_options && item.field_options.options && item.field_options.options.length > 0) {\r\n\t\t\t\t\t\t\t\t//$log.log(\"item.field_options.options\", item.field_options.options);\r\n\t\t\t\t\t\t\t\toptions = item.field_options.options;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\treturn options;\r\n\t\t}\r\n\r\n\t\t//download PDF \r\n\t\tvm.downloadReportPDF = function (ticketId) {\r\n\t\t\tif (vm.TicketInfo.OnSiteReport != null) {\r\n\t\t\t\tvar urlWithFeasible = PublicApiURL + '/api/Report/GeneratePdfOnSiteReportForMultipleTickets?TicketIds=' + ticketId;\r\n\t\t\t\t$window.open(urlWithFeasible, '_blank')\r\n\t\t\t} else {\r\n\t\t\t\t// var urlForNonFeasible = ApiURL + '/api/Report/GeneratePdfOnSiteReport?TicketId=' + ticketId;\r\n\t\t\t\t// $window.open(urlForNonFeasible, '_blank')\r\n\t\t\t\tvm.downloadOnSiteReport();\r\n\r\n\r\n\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.pdfimage = \"\";\r\n\t\tvm.DocumentAvailableMessage = \"\";\r\n\t\tvm.downloadOnSiteReport = function (previewSelectedObj) {\r\n\t\t\tvm.PDFViewRport();\r\n\r\n\t\t\tvar PreviewConsolidatedInvoiceList = previewSelectedObj;\r\n\t\t\tJobDetailViewService.downloadOnSiteReport(loggedinUser, token, vm.TicketInfo.TicketId).then(function (resp) {\r\n\t\t\t\t// var responseDataList=[];\r\n\t\t\t\tvm.responseDataList = resp.data;\r\n\t\t\t\t// for(var i=0; i';\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\t// vm.PlottedItem = '';\r\n\t\t\t\t\t\tvm.PlottedItem = '';\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\tcase 'Date Type':\r\n\r\n\t\t\t\tif (itemss.ItemName != 'Date Of Purchase') {\r\n\t\t\t\t\tvm.PlottedItem = ''\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvar today = new Date();\r\n\t\t\t\t\tvar todayFormatted = moment(today).format('YYYY-MM-DD');\r\n\t\t\t\t\tvar defaultValue = itemss.ItemValue ? moment(itemss.ItemValue).format('YYYY-MM-DD') : todayFormatted;\t\t\t\r\n\t\t\t\t\tvm.PlottedItem = '';\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tcase 'Multiple Picture Type':\r\n\t\t\t\t\t// if(vm.TicketInfo.JobAccountId == '266') {\r\n\t\t\t\t\tvm.PlottedItem =\r\n\t\t\t\t\t\t'
'\r\n\t\t\t\t\t\t+ ''\r\n\t\t\t\t\t\t+ '
'\r\n\t\t\t\t\t\t+ '
'\r\n\t\t\t\t\t\t+ ''\r\n\t\t\t\t\t\t+ '
'\r\n\t\t\t\t\t\t+ '
'\r\n\t\t\t\t\t\t+ ''\r\n\t\t\t\t\t\t+ '
'\r\n\r\n\t\t\t\t\t\t+ '
'\r\n\t\t\t\t\t\t+ ''\r\n\t\t\t\t\t\t+ ''\r\n\t\t\t\t\t\t+ '';\r\n\t\t\t\t\t+ '
'\r\n\t\t\t\t\t// }\r\n\t\t\t\t\t// else {\r\n\t\t\t\t\t// \tvm.PlottedItem = ''\r\n\t\t\t\t\t// \t+ ''\r\n\t\t\t\t\t// \t+ '';\t\t\t\t\t\t\t\r\n\t\t\t\t\t// }\r\n\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t// \t+ '
'\r\n\t\t\t\t// \t+ ''\r\n\t\t\t\t// \t+ '
'\r\n\t\t\t\t// \t+ '
'\r\n\t\t\t\t// \t+ ''\r\n\t\t\t\t// \t+ '
'\r\n\t\t\t\t// \t+ '
'\r\n\t\t\t\t// \t+ ''\r\n\t\t\t\t// \t+ '
'\r\n\t\t\t\t// break;\r\n\t\t\t\tcase 'Signature Type':\r\n\t\t\t\t\tvm.PlottedItem = ''\r\n\t\t\t\t\t\t+ ''\r\n\t\t\t\t\t\t+ '';\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase 'File Attachment Type':\r\n\t\t\t\t\tvm.PlottedItem = '
'\r\n\t\t\t\t\t\t+ ''\r\n\t\t\t\t\t\t// + ''\r\n\t\t\t\t\t\t+ '
'\r\n\t\t\t\t\t\t+ '
Click here to upload File
'\r\n\t\t\t\t\t\t+ '


Click here to upload File
'\r\n\t\t\t\t\t\t//+ '
Click here to upload pdf';\r\n\t\t\t\t\t\t+ '
'\r\n\r\n\t\t\t\t\t\t+ '
'\r\n\t\t\t\t\t\t+ ''\r\n\t\t\t\t\t\t// + ''\r\n\t\t\t\t\t\t+ '
'\r\n\t\t\t\t\t\t+ '
Click here to upload file
'\r\n\t\t\t\t\t\t// + '
{{item.ImageName}}
'\r\n\t\t\t\t\t\t+ '


Click here to upload file
'\r\n\t\t\t\t\t\t//+ '
Click here to upload pdf';\r\n\t\t\t\t\t\t+ '
'\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'CheckBoxList DropDown Type':\r\n\t\t\t\t\tvm.PlottedItem = '';\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'Video Type':\r\n\t\t\t\t\tvm.PlottedItem = ''\r\n\t\t\t\t\t\t+ ''\r\n\t\t\t\t\t\t+ '';\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'Character FilteredTextBoxField':\r\n\t\t\t\tcase 'Bigger Textbox':\r\n\t\t\t\tcase 'Edit Enabled':\r\n\t\t\t\tcase 'Phone Type':\r\n\t\t\t\tcase 'Decimal TextBox Type':\r\n\t\t\t\tcase 'Numeric FilteredTextBoxField':\r\n\t\t\t\tcase 'Instruction Type':\r\n\t\t\t\tcase 'Scan Barcode Type':\r\n\t\t\t\tcase 'Email':\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tif (vm.TicketInfo.JobAccountId == '375') {\r\n\t\t\t\t\t\tif (itemss.ItemName == 'Product Serial Number' || itemss.ItemName == 'Product Serial Number ODU') {\r\n\t\t\t\t\t\t\tvm.PlottedItem = '';\r\n\t\t\t\t\t\t} else if (itemss.ItemName == 'Symptom') {\r\n\t\t\t\t\t\t\tvm.PlottedItem = '';\r\n\t\t\t\t\t\t} else if (itemss.ItemName == 'Defect') {\r\n\t\t\t\t\t\t\tvm.PlottedItem = '';\r\n\t\t\t\t\t\t} else if (itemss.ItemName == 'Resolution') {\r\n\t\t\t\t\t\t\tvm.PlottedItem = '';\r\n\t\t\t\t\t\t} else if (itemss.ItemName == 'Product Name') {\r\n\t\t\t\t\t\t\tvm.PlottedItem = '';\r\n\t\t\t\t\t\t} else if (itemss.ItemName == 'Product Model Number') {\r\n\t\t\t\t\t\t\tvm.PlottedItem = '';\r\n\t\t\t\t\t\t} else if (itemss.ItemName == 'Call Type') {\r\n\t\t\t\t\t\t\tvm.PlottedItem = '';\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tvm.PlottedItem = '';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tif (itemss.ItemName == 'Product Serial Number' || itemss.ItemName == 'Product Serial Number ODU') {\r\n\t\t\t\t\t\t\tvm.PlottedItem = '';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if (itemss.ItemName == 'Symptom') {\r\n\t\t\t\t\t\t\tvm.PlottedItem = '';\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if (itemss.ItemName == 'Defect') {\r\n\t\t\t\t\t\t\tvm.PlottedItem = '';\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if (itemss.ItemName == 'Resolution') {\r\n\t\t\t\t\t\t\tvm.PlottedItem = '';\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if (itemss.ItemName == 'Product Name' && (vm.TicketInfo.JobAccountId == '380' || vm.TicketInfo.JobAccountId == '383')) {\r\n\t\t\t\t\t\t\tvm.PlottedItem = '';\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if (itemss.ItemName == 'Product Model Number' && (vm.TicketInfo.JobAccountId == '380' || vm.TicketInfo.JobAccountId == '383')) {\r\n\t\t\t\t\t\t\tvm.PlottedItem = '';\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if (itemss.ItemName == 'Product Model Number' && (vm.TicketInfo.JobAccountId == '361' || vm.TicketInfo.JobAccountId == '364')) {\r\n\t\t\t\t\t\t\tvm.PlottedItem = '';\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if (itemss.ItemName == 'Call Type') {\r\n\t\t\t\t\t\t\tvm.PlottedItem = '';\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tvm.PlottedItem = '';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t// vm.PlottedItem = '';\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\treturn vm.PlottedItem;\r\n\t\t}\r\n\r\n\t\tvm.isValid = true;\r\n\t\tvm.UpdateStep = function () {\r\n\r\n\t\t\tvar formData = new FormData();\r\n\r\n\t\t\tfor (var ticketmodelIndex = 0; ticketmodelIndex < vm.TicketInfo.TemplateModel.SectionList.length; ticketmodelIndex++) {\r\n\t\t\t\tvar Action = vm.TicketInfo.TemplateModel.SectionList[ticketmodelIndex].Action;\r\n\t\t\t\tvar section = vm.TicketInfo.TemplateModel.SectionList[ticketmodelIndex].SectionName;\r\n\t\t\t\tif (Action == currentStepName) {\r\n\t\t\t\t\tfor (var currentModalIndex = 0; currentModalIndex < vm.ModalActionWithValuesList.SectionList.length; currentModalIndex++) {\r\n\t\t\t\t\t\tif (section == vm.ModalActionWithValuesList.SectionList[currentModalIndex].SectionName) {\r\n\r\n\t\t\t\t\t\t\tvm.TicketInfo.TemplateModel.SectionList[ticketmodelIndex].ItemList = vm.ModalActionWithValuesList.SectionList[currentModalIndex].ItemList;\r\n\t\t\t\t\t\t\tangular.forEach(vm.TicketInfo.TemplateModel.SectionList[ticketmodelIndex].ItemList, function (item) {\r\n\t\t\t\t\t\t\t\tif (item.ItemType == 'Date Type') {\r\n\r\n\t\t\t\t\t\t\t\t\titem.ItemValue = moment(item.ItemValue).format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\");\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\tif ((item.ItemName == 'Product Serial Number' || item.ItemName == 'Product Serial Number ODU') && item.Required) {\r\n\t\t\t\t\t\t\t\t\tif (!item.ItemValue || item.ItemValue.length !== 18) {\r\n\t\t\t\t\t\t\t\t\t\tvm.isValid = false;\r\n\t\t\t\t\t\t\t\t\t\ttoaster.pop({\r\n\t\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t\t\ttitle: 'Validation Error',\r\n\t\t\t\t\t\t\t\t\t\t\tshowCloseButton: true,\r\n\t\t\t\t\t\t\t\t\t\t\tbody: 'Please enter a valid 18-character alphanumeric value for' + item.ItemName,\r\n\t\t\t\t\t\t\t\t\t\t\t\"progressBar\": true,\r\n\t\t\t\t\t\t\t\t\t\t\t\"preventDuplicates\": false,\r\n\t\t\t\t\t\t\t\t\t\t\t\"showDuration\": \"400\",\r\n\t\t\t\t\t\t\t\t\t\t\t\"hideDuration\": \"1000\",\r\n\t\t\t\t\t\t\t\t\t\t\t\"tapToDismiss\": true,\r\n\t\t\t\t\t\t\t\t\t\t\t\"timeout\": 2000,\r\n\t\t\t\t\t\t\t\t\t\t\tpositionClass: 'toast-top-full-width'\r\n\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t\t\t\tvm.isValid = true;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t} \r\n\r\n\t\t\t\t\t\t\t\tif ((item.ItemName == 'Product Name' || item.ItemName == 'Product Model Number') && item.Required) {\r\n\t\t\t\t\t\t\t\t\tif (!item.ItemValue) {\r\n\t\t\t\t\t\t\t\t\t\tvm.isValid = false;\r\n\t\t\t\t\t\t\t\t\t\ttoaster.pop({\r\n\t\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t\t\ttitle: 'Validation Error',\r\n\t\t\t\t\t\t\t\t\t\t\tshowCloseButton: true,\r\n\t\t\t\t\t\t\t\t\t\t\tbody: 'Please select ' + item.ItemName,\r\n\t\t\t\t\t\t\t\t\t\t\t\"progressBar\": true,\r\n\t\t\t\t\t\t\t\t\t\t\t\"preventDuplicates\": false,\r\n\t\t\t\t\t\t\t\t\t\t\t\"showDuration\": \"400\",\r\n\t\t\t\t\t\t\t\t\t\t\t\"hideDuration\": \"1000\",\r\n\t\t\t\t\t\t\t\t\t\t\t\"tapToDismiss\": true,\r\n\t\t\t\t\t\t\t\t\t\t\t\"timeout\": 2000,\r\n\t\t\t\t\t\t\t\t\t\t\tpositionClass: 'toast-top-full-width'\r\n\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t} \r\n\r\n\t\t\t\t\t\t\t\telse if (item.ItemType == 'CheckBoxList DropDown Type') {\r\n\t\t\t\t\t\t\t\t\titem.field_options.options = [];\r\n\t\t\t\t\t\t\t\t\tif (item.ItemValues && item.ItemValues.length > 0) {\r\n\r\n\t\t\t\t\t\t\t\t\t\tfor (var i = 0; i < item.ItemValues.length; i++) {\r\n\t\t\t\t\t\t\t\t\t\t\tvar obj = { \"label\": item.ItemValues[i] };\r\n\t\t\t\t\t\t\t\t\t\t\t// obj.push()\r\n\t\t\t\t\t\t\t\t\t\t\titem.field_options.options.push(obj);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t//item.field_options.options.push(item.ItemValue);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse if (item.ItemType == 'Multiple Picture Type' || item.ItemType == 'Signature Type' || item.ItemType == 'File Attachment Type' || item.ItemType == 'Video Type') {\r\n\t\t\t\t\t\t\t\t\tif (vm.ImageArray[section + '_' + item.ItemName] && item.ItemValues == null) {\r\n\t\t\t\t\t\t\t\t\t\tvm.ImageArray[section + '_' + item.ItemName].name = vm.TicketInfo.TicketId + '_' + vm.ImageArray[section + '_' + item.ItemName].name;\r\n\t\t\t\t\t\t\t\t\t\titem.ItemValue = vm.TicketInfo.TicketId + '_' + Math.random().toString(36).substring(7) + new Date().getTime() + vm.ImageArray[section + '_' + item.ItemName].name;\r\n\t\t\t\t\t\t\t\t\t\titem.ImageName = item.ItemValue;\r\n\t\t\t\t\t\t\t\t\t\tformData.append(vm.TicketInfo.TicketId + '_' + vm.ImageArray[section + '_' + item.ItemName].name, vm.ImageArray[section + '_' + item.ItemName], item.ImageName);\r\n\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tif (item.ImageItemName != null) {\r\n\t\t\t\t\t\t\t\t\t\titem.ImageItemName.forEach(function (imgNameI, ind, theArray) {\r\n\t\t\t\t\t\t\t\t\t\t\tif (vm.ImageArray[section + '_' + item.ItemName + '_' + ind]) {\r\n\t\t\t\t\t\t\t\t\t\t\t\tvm.imgType = vm.ImageArray[section + '_' + item.ItemName + '_' + ind].name.slice(-4);\r\n\t\t\t\t\t\t\t\t\t\t\t\titem.ItemValue = vm.TicketInfo.TicketId + '_' + Action + '_' + section + '_' + item.ItemName + '_' + ind + vm.imgType;\r\n\t\t\t\t\t\t\t\t\t\t\t\titem.ItemValue = (item.ItemValue).replace(/ /g, \"_\");\r\n\t\t\t\t\t\t\t\t\t\t\t\t// if(imgNameI.slice(0, -4) == item.ItemValue.slice(0, -4)) {\r\n\t\t\t\t\t\t\t\t\t\t\t\titem.ImageItemName[ind] = imgNameI;\r\n\t\t\t\t\t\t\t\t\t\t\t\tformData.append(imgNameI, vm.ImageArray[section + '_' + item.ItemName + '_' + ind], imgNameI);\r\n\t\t\t\t\t\t\t\t\t\t\t\t// }\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t}\r\n\r\n\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t// else if (item.ItemType == 'Video Type') { \r\n\t\t\t\t\t\t\t\t// \tif (vm.ImageArray[section + '_' + item.ItemName]) {\r\n\t\t\t\t\t\t\t\t// \t\tvm.ImageArray[section + '_' + item.ItemName].name = vm.TicketInfo.TicketId + '_' + vm.ImageArray[section + '_' + item.ItemName].name;\r\n\t\t\t\t\t\t\t\t// \t\titem.ItemValue = vm.TicketInfo.TicketId + '_' + Math.random().toString(36).substring(7) + new Date().getTime() + vm.ImageArray[section + '_' + item.ItemName].name;\r\n\t\t\t\t\t\t\t\t// \t\titem.ImageName = item.ItemValue;\r\n\t\t\t\t\t\t\t\t// \t\tformData.append(vm.TicketInfo.TicketId + '_' + vm.ImageArray[section + '_' + item.ItemName].name, vm.ImageArray[section + '_' + item.ItemName], item.ImageName);\r\n\r\n\t\t\t\t\t\t\t\t// \t}\r\n\r\n\t\t\t\t\t\t\t\t// }\r\n\r\n\t\t\t\t\t\t\t\tif (vm.TicketInfo.JobAccountId == '375') {\r\n\t\t\t\t\t\t\t\t\tif (item.ItemValue && typeof item.ItemValue === 'string') {\r\n\t\t\t\t\t\t\t\t\t\titem.ItemValue = item.ItemValue.toUpperCase();\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (vm.isValid == false) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tticketEditModalInstance.close();\r\n\t\t\tformData.append('reqUserId', loggedinUser)\r\n\t\t\t//var data = angular.toJson(vm.TicketInfo);\r\n\t\t\tvm.TicketInfo.TemplateModel.SectionList.forEach(function (element, i) {\r\n\t\t\t\tvm.TicketInfo.TemplateModel.SectionList[i].ItemList.forEach(function (element, i) {\r\n\t\t\t\t\tif (element.ItemType == 'Multiple Picture Type' || element.ItemType == 'Signature Type' || element.ItemType == 'File Attachment Type' || element.ItemType == 'Video Type') {\r\n\t\t\t\t\t\telement.ItemValue = '';\r\n\t\t\t\t\t\telement.imageData = [];\r\n\t\t\t\t\t\telement.ItemValues = [];\r\n\t\t\t\t\t\telement.PdfData = [];\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t});\r\n\r\n\t\t\tif (vm.TicketInfo) {\r\n\t\t\t\tvm.TicketInfo.Address1 = '';\r\n\t\t\t\tvm.TicketInfo.Address2 = '';\r\n\r\n\t\t\t}\r\n\r\n\t\t\tvm.TicketInfo.SymptomCode = vm.SymptomCode,\r\n\t\t\tvm.TicketInfo.SymptomValue = vm.SymptomName,\r\n\t\t\tvm.TicketInfo.DefectCode = vm.DefectCode,\r\n\t\t\tvm.TicketInfo.DefectValue = vm.DefectName,\r\n\t\t\tvm.TicketInfo.ResolutionCode = vm.ResolutionCode,\r\n\t\t\tvm.TicketInfo.ResolutionValue = vm.ResolutionName\r\n\t\t\t\r\n\t\t\tvar data = JSON.stringify(vm.TicketInfo);\r\n\t\t\tformData.append(\"TicketRequestModel\", data);\r\n\t\t\tJobDetailViewService.updateJobTicketwithImage(formData, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 202 || resp.status == 200) {\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\ttoaster.pop({\r\n\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\ttitle: 'job update Status',\r\n\t\t\t\t\t\t\tshowCloseButton: true,\r\n\t\t\t\t\t\t\tbody: 'Job has been successfully updated',\r\n\t\t\t\t\t\t\t\"progressBar\": true,\r\n\t\t\t\t\t\t\t\"preventDuplicates\": false,\r\n\t\t\t\t\t\t\t\"showDuration\": \"400\",\r\n\t\t\t\t\t\t\t\"hideDuration\": \"1000\",\r\n\t\t\t\t\t\t\t\"tapToDismiss\": true,\r\n\t\t\t\t\t\t\t\"timeout\": 2000,\r\n\t\t\t\t\t\t\tpositionClass: 'toast-top-full-width'\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\tvm.GetPreApprovalStepEric();\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t\tfor (var sectionIndex = 0; sectionIndex < vm.currentStepModel.SectionList.length; sectionIndex++) {\r\n\t\t\t\t\t\tfor (var itemIndex = 0; itemIndex < vm.currentStepModel.SectionList[sectionIndex].ItemList.length; itemIndex++) {\r\n\t\t\t\t\t\t\tvar beforeChangeItem = vm.currentStepModel.SectionList[sectionIndex].ItemList[itemIndex].ItemValue;\r\n\t\t\t\t\t\t\tvar afterChangeItem = vm.ModalActionWithValuesList.SectionList[sectionIndex].ItemList[itemIndex].ItemValue;\r\n\t\t\t\t\t\t\tif (beforeChangeItem != afterChangeItem) {\r\n\t\t\t\t\t\t\t\tvm.currentStepModel.SectionList[sectionIndex].ItemList[itemIndex].ItemValue = afterChangeItem;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttoaster.pop({\r\n\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\ttitle: 'job update Status',\r\n\t\t\t\t\t\tshowCloseButton: true,\r\n\t\t\t\t\t\tbody: 'Job has not been updated',\r\n\t\t\t\t\t\t\"progressBar\": true,\r\n\t\t\t\t\t\t\"preventDuplicates\": false,\r\n\t\t\t\t\t\t\"showDuration\": \"400\",\r\n\t\t\t\t\t\t\"hideDuration\": \"1000\",\r\n\t\t\t\t\t\t\"tapToDismiss\": true,\r\n\t\t\t\t\t\t\"timeout\": 2000,\r\n\t\t\t\t\t\tpositionClass: 'toast-top-full-width'\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}, function () {\r\n\t\t\t\ttoaster.pop({\r\n\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\ttitle: 'job update Status',\r\n\t\t\t\t\tshowCloseButton: true,\r\n\t\t\t\t\tbody: 'server error',\r\n\t\t\t\t\t\"progressBar\": true,\r\n\t\t\t\t\t\"preventDuplicates\": false,\r\n\t\t\t\t\t\"showDuration\": \"400\",\r\n\t\t\t\t\t\"hideDuration\": \"1000\",\r\n\t\t\t\t\t\"tapToDismiss\": true,\r\n\t\t\t\t\t\"timeout\": 2000,\r\n\t\t\t\t\tpositionClass: 'toast-top-full-width'\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.UpdateSDRForTicket = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"TicketId\": vm.TicketInfo.TicketId,\r\n\t\t\t\t\"SymptomCode\": vm.SymptomCode,\r\n\t\t\t\t\"SymptomValue\": vm.SymptomName,\r\n\t\t\t\t\"DefectCode\": vm.DefectCode,\r\n\t\t\t\t\"DefectValue\": vm.DefectName,\r\n\t\t\t\t\"ResolutionCode\": vm.ResolutionCode,\r\n\t\t\t\t\"ResolutionValue\": vm.ResolutionName\r\n\t\t\t}\r\n\r\n\t\t\tJobDetailViewService.UpdateSDRForTicket(data, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 202 || resp.status == 200) {\r\n\t\t\t\t\ttoaster.pop({\r\n\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\ttitle: 'job update Status',\r\n\t\t\t\t\t\tshowCloseButton: true,\r\n\t\t\t\t\t\tbody: 'SDR has been successfully updated',\r\n\t\t\t\t\t\t\"progressBar\": true,\r\n\t\t\t\t\t\t\"preventDuplicates\": false,\r\n\t\t\t\t\t\t\"showDuration\": \"400\",\r\n\t\t\t\t\t\t\"hideDuration\": \"1000\",\r\n\t\t\t\t\t\t\"tapToDismiss\": true,\r\n\t\t\t\t\t\t\"timeout\": 2000,\r\n\t\t\t\t\t\tpositionClass: 'toast-top-full-width'\r\n\t\t\t\t\t});\r\n\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttoaster.pop({\r\n\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\ttitle: 'job update Status',\r\n\t\t\t\t\t\tshowCloseButton: true,\r\n\t\t\t\t\t\tbody: 'SDR has not been updated',\r\n\t\t\t\t\t\t\"progressBar\": true,\r\n\t\t\t\t\t\t\"preventDuplicates\": false,\r\n\t\t\t\t\t\t\"showDuration\": \"400\",\r\n\t\t\t\t\t\t\"hideDuration\": \"1000\",\r\n\t\t\t\t\t\t\"tapToDismiss\": true,\r\n\t\t\t\t\t\t\"timeout\": 2000,\r\n\t\t\t\t\t\tpositionClass: 'toast-top-full-width'\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}, function () {\r\n\t\t\t\ttoaster.pop({\r\n\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\ttitle: 'job update Status',\r\n\t\t\t\t\tshowCloseButton: true,\r\n\t\t\t\t\tbody: 'server error',\r\n\t\t\t\t\t\"progressBar\": true,\r\n\t\t\t\t\t\"preventDuplicates\": false,\r\n\t\t\t\t\t\"showDuration\": \"400\",\r\n\t\t\t\t\t\"hideDuration\": \"1000\",\r\n\t\t\t\t\t\"tapToDismiss\": true,\r\n\t\t\t\t\t\"timeout\": 2000,\r\n\t\t\t\t\tpositionClass: 'toast-top-full-width'\r\n\t\t\t\t});\r\n\t\t\t});\r\n\r\n\t\t}\r\n\r\n\r\n\t\tvm.getImageData = function (data) {\r\n\t\t\tif (data) {\r\n\t\t\t\t// console.log(data);\r\n\t\t\t\treturn data;\r\n\t\t\t} else {\r\n\t\t\t\treturn \"assets/images/patterns/no-image.png\";\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t//\r\n\t\tvm.getImageDataFST = function (data) {\r\n\t\t\tif (data) {\r\n\t\t\t\t// console.log(data);\r\n\t\t\t\treturn data;\r\n\t\t\t} else {\r\n\t\t\t\treturn \"assets/images/patterns/no-image.png\";\r\n\t\t\t}\r\n\t\t}\r\n\t\tvm.getPdfExist = function (name) {\r\n\t\t\tif (name == null)\r\n\t\t\t\treturn \"assets/images/patterns/no-image.png\";\r\n\t\t\telse\r\n\t\t\t\treturn name;\r\n\t\t\t// \telse{\r\n\t\t\t// var strPdf = name.includes(\".pdf\")\t\t\r\n\t\t\t// \tif (strPdf) {\t\t\t\t\r\n\t\t\t// \t\t//return \"../assets/images/patterns/pdf.png\";\r\n\t\t\t// \t} else {\r\n\t\t\t// \t\treturn \"assets/images/patterns/no-image.png\";\r\n\t\t\t// \t}\r\n\t\t\t// }\r\n\t\t}\r\n\r\n\r\n\t\tvm.isPdfExist = function (name) {\r\n\t\t\tif (name != null) {\r\n\t\t\t\tif (name.includes(\".pdf\")) {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\t\tvm.PlotItemSectionAndActionWise = function (itemType) {\r\n\t\t\tvm.PlottedItem = '';\r\n\t\t\tswitch (itemType) {\r\n\t\t\t\tcase 'Multiple Picture Type':\r\n\t\t\t\t\t// if(vm.TicketInfo.JobAccountId == '266') {\r\n\t\t\t\t\tvm.PlottedItem = '
' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t// '
' +\r\n\t\t\t\t\t\t// '
';\r\n\t\t\t\t\t\t'
0\">' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t'\"image-1\"' +\r\n\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t'\"image-1\"' +\r\n\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t'
';\r\n\t\t\t\t\t// }\r\n\t\t\t\t\t// else {\r\n\t\t\t\t\t// \tvm.PlottedItem = '
' +\r\n\t\t\t\t\t// \t'
' +\r\n\t\t\t\t\t// \t// '
' +\r\n\t\t\t\t\t// \t// '
';\r\n\t\t\t\t\t// \t'
' +\r\n\t\t\t\t\t// \t'' +\r\n\t\t\t\t\t// \t'\"image-1\"' +\r\n\t\t\t\t\t// \t'' +\r\n\t\t\t\t\t// \t'
';\r\n\t\t\t\t\t// }\r\n\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t// Added by Vikash on demand of salman sir after confirming by jitendra sir\r\n\t\t\t\tcase 'Draw Layout Type':\r\n\t\t\t\t\tvm.PlottedItem = '
' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t// '
' +\r\n\t\t\t\t\t\t// '
';\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t'\"image-1\"' +\r\n\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t'
';\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase 'Signature Type':\r\n\t\t\t\t\tvm.PlottedItem = '
' +\r\n\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t'\"image-1\"' +\r\n\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t'
';\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t// \r\n\t\t\t\t// \"image-1\"\r\n\t\t\t\t// \r\n\t\t\t\tcase 'File Attachment Type':\r\n\t\t\t\t\tvm.PlottedItem = '
' +\r\n\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t'' +\r\n\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t// '\"image-1\"' +\r\n\t\t\t\t\t\t'{{plotItem.ImageName}}' +\r\n\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t'
';\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'Video Type':\r\n\t\t\t\t\tvm.PlottedItem = '
' +\r\n\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t'
';\r\n\r\n\t\t\t\t\t//vm.PlottedItem = '';\r\n\t\t\t\t\t// vm.PlottedItem = '';\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase 'CheckBoxList DropDown Type':\r\n\t\t\t\t\tvm.PlottedItem = '
' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t'{{itemOption.label}}
';\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'Date Type':\r\n\t\t\t\t\tvm.PlottedItem = '
' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t'{{plotItem.ItemValue | date}}
';\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase 'Character FilteredTextBoxField':\r\n\t\t\t\tcase 'Bigger Textbox':\r\n\t\t\t\tcase 'Dropdown Type':\r\n\t\t\t\tcase 'Edit Enabled':\r\n\t\t\t\tcase 'Phone Type':\r\n\t\t\t\tcase 'Decimal TextBox Type':\r\n\t\t\t\tcase 'Numeric FilteredTextBoxField':\r\n\t\t\t\tcase 'Instruction Type':\r\n\t\t\t\tcase 'Scan Barcode Type':\r\n\t\t\t\tcase 'Email':\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tvm.PlottedItem = '
' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t'

'\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\treturn vm.PlottedItem;\r\n\t\t}\r\n\r\n\r\n\t\tvm.getCallTypeList = function (jobType, callType) {\r\n\t\t\tvm.CallTypeItemList = [];\r\n\t\t\tif (jobType == 'VSAT') {\r\n\t\t\t\tif (callType[0].ItemValue == 'Maintenance') {\r\n\t\t\t\t\tvm.CallTypeList = [\"IDU replaced. Vsat made up and working\",\r\n\t\t\t\t\t\t\"ODU replaced. Vsat made up and working\",\r\n\t\t\t\t\t\t\"LNBC replaced. Vsat made up and working\",\r\n\t\t\t\t\t\t\"IFL cable replaced. Vsat made up and working\",\r\n\t\t\t\t\t\t\"LNA replaced. Vsat made up and working\",\r\n\t\t\t\t\t\t\"Feed replaced. Vsat made up and working\",\r\n\t\t\t\t\t\t\"Antenna replaced. Vsat made up and working\",\r\n\t\t\t\t\t\t\"Connector replaced. Vsat made up and working\",\r\n\t\t\t\t\t\t\"After antenna alignment Vsat made up and working\",\r\n\t\t\t\t\t\t\"Power issue resolved at customer premises. Vsat has come up and working\",\r\n\t\t\t\t\t\t\"UPS issue has been resolved at customer end. Vsat has come up and working\",\r\n\t\t\t\t\t\t\"Earthing issue has been resolved at customer end. Vsat has come up and working\",\r\n\t\t\t\t\t\t\"After powering ON the equipments. Vsat made up and working\",\r\n\t\t\t\t\t\t\"Hardware rebooted. Vsat made up\",\r\n\t\t\t\t\t\t\"Monkey cage issue resolved. Vsat made up and working\",\r\n\t\t\t\t\t\t\"Others\"\r\n\t\t\t\t\t]\r\n\t\t\t\t} else if (callType[0].ItemValue == 'Installation') {\r\n\t\t\t\t\tvm.CallTypeList = [\"Installation and activation has been done. Vsat is up and working\",\r\n\t\t\t\t\t\t\"Installation done after rectification of power/earthing parameter at customer end\",\r\n\t\t\t\t\t\t\"Others\"\r\n\t\t\t\t\t]\r\n\t\t\t\t} else if (callType[0].ItemValue == 'Shifting') {\r\n\t\t\t\t\tvm.CallTypeList = [\"Shifting of Vsat completed from old premises to new premises\",\r\n\t\t\t\t\t\t\"Shifting of Vsat completed from existing floor to new floor in the same premises\",\r\n\t\t\t\t\t\t\"Shifting of IDU/ODU completed\",\r\n\t\t\t\t\t\t\"Shifting done after rectification of power/earthing parameter at customer end\",\r\n\t\t\t\t\t\t\"Others\"\r\n\t\t\t\t\t]\r\n\t\t\t\t}\r\n\t\t\t} else if (jobType == 'LeaseLine') {\r\n\t\t\t\tif (callType[0].ItemValue == 'LLM') {\r\n\t\t\t\t\tvm.CallTypeList = [\"Local lead issue has been resolved. Link is up and working\",\r\n\t\t\t\t\t\t\"UG Cable cut restored. Link is up and working\",\r\n\t\t\t\t\t\t\"OFC cut has been restored. Link came up and working\",\r\n\t\t\t\t\t\t\"Mux issue has been resolved. Link has come up and working\",\r\n\t\t\t\t\t\t\"MPLS trunk issue has been resolved. Link is up and working\",\r\n\t\t\t\t\t\t\"NIB routing issue has been resolved. Links are up and working\",\r\n\t\t\t\t\t\t\"Major media failure has been resolved. Links came up and working\",\r\n\t\t\t\t\t\t\"BSNL hardware issue has been resolved. Link is up and working\",\r\n\t\t\t\t\t\t\"Router replaced. Link is up and working\",\r\n\t\t\t\t\t\t\"Switch replaced. Link is up and working\",\r\n\t\t\t\t\t\t\"MLLN modem replaced. Link is up and working\",\r\n\t\t\t\t\t\t\"conventional modem replaced. Link made up\",\r\n\t\t\t\t\t\t\"HWIC card replaced. Link is up and working\",\r\n\t\t\t\t\t\t\"Serial cable replaced. Link is up and working\",\r\n\t\t\t\t\t\t\"OFC media has been restored. Link is up and working\",\r\n\t\t\t\t\t\t\"BSNL wiring issue resolved in the exchange. Link is up and working\",\r\n\t\t\t\t\t\t\"Customer's modem has been replaced. Link is up\",\r\n\t\t\t\t\t\t\"Customer's router has been replaced. Link made up\",\r\n\t\t\t\t\t\t\"No issue found in the link. Customer saying up\",\r\n\t\t\t\t\t\t\"High utilization due to which getting slow connectivity\",\r\n\t\t\t\t\t\t\"LAN issue resolved. Customer is getting connectivity\",\r\n\t\t\t\t\t\t\"PCM issue resolved. Link has come up\",\r\n\t\t\t\t\t\t\"Mux channel issue resolved. Link has come up.\",\r\n\t\t\t\t\t\t\"Routing issue b/w MTNL & BSNL has been resolved. Link has come up\",\r\n\t\t\t\t\t\t\"Power issue resolved in the exchange. Link has come up and working\",\r\n\t\t\t\t\t\t\"UPS issue has been resolved at customer end. Link has come up and working\",\r\n\t\t\t\t\t\t\"Earthing issue has been resolved at customer end. Link has come up and working\",\r\n\t\t\t\t\t\t\"After powering ON the equipments Link made up and working\",\r\n\t\t\t\t\t\t\"Hardware rebooted. Link made up.\",\r\n\t\t\t\t\t\t\"Others\"\r\n\t\t\t\t\t]\r\n\t\t\t\t} else if (callType[0].ItemValue == 'LLP') {\r\n\t\t\t\t\tvm.CallTypeList = [\"Commissioning done after PCM/Channal wiring done\",\r\n\t\t\t\t\t\t\"Commissioning done after replacing MLLN modem\",\r\n\t\t\t\t\t\t\"Commissioning done after completion of MPLS end configuration\",\r\n\t\t\t\t\t\t\"Commissioning done after OFC media preparation\",\r\n\t\t\t\t\t\t\"Commissioning done after allocation of channel\",\r\n\t\t\t\t\t\t\"Commissioning done after replacing router/card\",\r\n\t\t\t\t\t\t\"Commissioning done after replacing serial cable\",\r\n\t\t\t\t\t\t\"Commissioning done after configuring the CE router\",\r\n\t\t\t\t\t\t\"Commissioning done after media preparation b/w MTNL & BSNL\",\r\n\t\t\t\t\t\t\"Commissioning done after installation of new local lead\",\r\n\t\t\t\t\t\t\"Commissioning done after rectification of power/earthing parameter at customer end\",\r\n\t\t\t\t\t\t\"Others\"\r\n\t\t\t\t\t]\r\n\t\t\t\t} else if (callType[0].ItemValue == 'Upgration') {\r\n\t\t\t\t\tvm.CallTypeList = [\"Upgradation done after PCM/Channal wiring done\",\r\n\t\t\t\t\t\t\"Upgradation done after replacing MLLN modem\",\r\n\t\t\t\t\t\t\"Upgradation done after completion of MPLS end configuration\",\r\n\t\t\t\t\t\t\"Upgradation done after OFC media preparation\",\r\n\t\t\t\t\t\t\"Upgradation done after allocation of channel\",\r\n\t\t\t\t\t\t\"Upgradation done after replacing router/card\",\r\n\t\t\t\t\t\t\"Upgradation done after replacing serial cable\",\r\n\t\t\t\t\t\t\"Upgradation done after configuring the CE router\",\r\n\t\t\t\t\t\t\"Upgradation done after media preparation b/w MTNL & BSNL\",\r\n\t\t\t\t\t\t\"Upgradation done after rectification of power/earthing parameter at customer end\",\r\n\t\t\t\t\t\t\"Others\"\r\n\t\t\t\t\t]\r\n\t\t\t\t} else if (callType[0].ItemValue == 'Shifting') {\r\n\t\t\t\t\tvm.CallTypeList = [\"Shifting of link completed from old premises to new premises\",\r\n\t\t\t\t\t\t\"Shifting of link completed from existing floor to new floor in the same premises\",\r\n\t\t\t\t\t\t\"Shifting of exchange completed\",\r\n\t\t\t\t\t\t\"Shifting done after rectification of power/earthing parameter at customer end\",\r\n\t\t\t\t\t\t\"Others\"\r\n\t\t\t\t\t]\r\n\t\t\t\t} else if (callType[0].ItemValue == 'Installation & Configuration of Device') {\r\n\t\t\t\t\tvm.CallTypeList = [\"Router installed. Link made up and working\",\r\n\t\t\t\t\t\t\"Switch installed. Link made up and working\",\r\n\t\t\t\t\t\t\"HWIC card installed. Link made up and working\",\r\n\t\t\t\t\t\t\"Serial cable installed. Link made up and working\",\r\n\t\t\t\t\t\t\"MLLN modem installed. Link made up and working\",\r\n\t\t\t\t\t\t\"Router/MLLN modem/switch installed at customer end\",\r\n\t\t\t\t\t\t\"UPS installed at customer end. Link made up and working\",\r\n\t\t\t\t\t\t\"Installation done after rectification of power/earthing parameter at customer end\",\r\n\t\t\t\t\t\t\"Others\"\r\n\t\t\t\t\t]\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// vm.showFixed = true;\r\n\t\tvm.DistanceFixed = '10';\r\n\t\tvm.starFixed = '5';\r\n\t\tvm.DistanceNearBy = '10';\r\n\t\tvm.starNearBy = '5';\r\n\t\tvm.Distance = '10';\r\n\t\tvm.DistancePre = '10';\r\n\t\tvm.star = '5';\r\n\t\tvm.showNearByTable = false;\r\n\t\tvm.model = {};\r\n\t\tvm.model = [{ \"key\": 1, \"Role\": \"Field Engineer\", \"userType\": \"Fixed Team\", \"Value\": \"Field Engineer\" },\r\n\t\t{ \"key\": 2, \"Role\": \"Field Engineer\", \"userType\": \"Freelancer\", \"Value\": \"Freelancer\" },\r\n\t\t{ \"key\": 3, \"Role\": \"Vendor Manager\", \"userType\": \"Fixed Team\", \"Value\": \"Vendor\" },\r\n\t\t{ \"key\": 4, \"Role\": \"Vendor Manager\", \"userType\": \"Freelancer\", \"Value\": \"Freelancer\" }];\r\n\r\n\t\tvm.GetFixedUser = function (reload) {\r\n\t\t\tvar roleList = [];\r\n\t\t\troleList.push({ \"UserRole\": 'Field Engineer', \"UserType\": \"Fixed Team\" }, { \"UserRole\": 'Vendor Manager', \"UserType\": \"Fixed Team\" });\r\n\r\n\t\t\tvar orderbyUser = [];\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 1, \"OrderByField\": \"UserRating\" });\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 2, \"OrderByField\": \"BIDCounterRate\" });\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 3, \"OrderByField\": \"UserDistance\" });\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"ActOnCurrentLocation\": false,\r\n\t\t\t\t\"RangeFromJob\": parseInt(vm.DistanceFixed) * 1000,\r\n\t\t\t\t\"UserConfigList\": roleList,\r\n\t\t\t\t\"FETravelChargePerKM\": 10,\r\n\t\t\t\t\"FromDate\": vm.TicketInfo.StartTime,\r\n\t\t\t\t\"ToDate\": vm.TicketInfo.EndTime,\r\n\t\t\t\t\"TransportMode\": \"driving\",\r\n\t\t\t\t\"OrderByUsers\": orderbyUser\r\n\t\t\t};\r\n\t\t\tJobDetailViewService.GetSchedulingEvaluationResult(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tvm.FixedUserList = resp.data.users;\r\n\t\t\t\tvm.FixedUserLength = vm.FixedUserList.length;\r\n\r\n\t\t\t\tvm.CreateFixedUserTable();\r\n\t\t\t\tif (reload) {\r\n\t\t\t\t\tvm.reloadDataFixed();\r\n\t\t\t\t}\r\n\r\n\t\t\t});\r\n\r\n\t\t}\r\n\r\n\r\n\r\n\t\tvm.CreateFixedUserTable = function () {\r\n\t\t\tvm.headerCompiledFixed = false;\r\n\t\t\t// vm.dtInstanceFixed = {};\r\n\t\t\tvm.showFixedTable = 'Fixed';\r\n\t\t\tvm.showFixed = true;\r\n\t\t\tvm.selectedFixed = {};\r\n\t\t\tvm.toggleOneFixed = toggleOneFixed;\r\n\t\t\tvm.selectAllFixed = false;\r\n\t\t\tvm.toggleAllFixed = toggleAllFixed;\r\n\t\t\tvar temp = false;\r\n\t\t\tif (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\ttemp = true;\r\n\t\t\t}\r\n\r\n\t\t\t// var titleHtmlFixed = '';\r\n\t\t\tvm.dtOptionsFixed = DTOptionsBuilder.fromFnPromise(function () {\r\n\t\t\t\tvar defer = $q.defer();\r\n\t\t\t\tdefer.resolve(vm.FixedUserList);\r\n\t\t\t\treturn defer.promise;\r\n\t\t\t})\r\n\t\t\t\t.withPaginationType('full_numbers')\r\n\t\t\t\t.withOption('order', [])\r\n\t\t\t\t.withOption('createdRow', function (row, data, dataIndex) {\r\n\t\t\t\t\t// Recompiling so we can bind Angular directive to the DT\r\n\t\t\t\t\t$compile(angular.element(row).contents())($scope);\r\n\t\t\t\t})\r\n\t\t\t\t.withOption('headerCallback', function (header) {\r\n\t\t\t\t\tif (!vm.headerCompiledFixed) {\r\n\t\t\t\t\t\t// Use this headerCompiled field to only compile header once\r\n\t\t\t\t\t\tvm.headerCompiledFixed = true;\r\n\t\t\t\t\t\t$compile(angular.element(header).contents())($scope);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.withBootstrap();\r\n\r\n\r\n\t\t\tvm.dtColumnsFixed = [\r\n\r\n\t\t\t\tDTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvar temp = false;\r\n\t\t\t\t\tif (vm.IsMaterialDelivered) {\r\n\t\t\t\t\t\tif (vm.TicketInfo.TicketStatus != 'New' || vm.TicketInfo.MetrialDeliverStatus != 'Delivered') {\r\n\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tif (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif ($localStorage.loggedInUser_Role == 'Vendor Manager' || $localStorage.loggedInUser_Role == 'Service Center') {\r\n\t\t\t\t\t\t\ttemp = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (vm.TicketInfo.UserName != '' && vm.TicketInfo.UserName != null) {\r\n\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (vm.TicketInfo.TicketStatus == 'Completed') {\r\n\t\t\t\t\t\t\ttemp = true;\r\n\r\n\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn '';\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('id').withTitle('Id').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('name').withTitle('Name').renderWith(function (data, type, full, meta) {\r\n\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('userType').withTitle('User Type').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}).notSortable()\r\n\r\n\t\t\t];\r\n\r\n\t\t\tif (vm.AccountId != '380' && vm.AccountId != '383') {\r\n\t\t\t\tvm.dtColumnsFixed.push(\r\n\t\t\t\t\tDTColumnBuilder.newColumn('UserRating').withTitle('Rating').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\t\treturn '' + data + '';\r\n\t\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tDTColumnBuilder.newColumn('JobTotal').withTitle('Jobs').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\t\treturn '' + data + '';\r\n\t\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tDTColumnBuilder.newColumn('UserDistance').withTitle('Distance(In KM.)').notSortable().renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\t\tif (full.IsPincodeBasedScheduling == true) {\r\n\t\t\t\t\t\t\treturn 'Matching Pincode';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t\tfunction toggleAllFixed(selectAll, selectedItems) {\r\n\t\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t\t\t\tselectedItems[id] = selectAll;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// function toggleOneFixed(selectedItems) {\r\n\t\t\t// \tfor (var id in selectedItems) {\r\n\t\t\t// \t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t// \t\t\tif (!selectedItems[id]) {\r\n\t\t\t// \t\t\t\tif(vm.selectSingleFixed){\r\n\t\t\t// \t\t\t\t\tvm.selectAllFixed = false;\r\n\t\t\t// \t\t\t\t\tvm.selectSingleFixed = false;\r\n\t\t\t// \t\t\t\t\treturn;\r\n\t\t\t// \t\t\t\t}\r\n\r\n\t\t\t// \t\t\t\tvm.selectAllFixed = false;\r\n\t\t\t// \t\t\t\tvm.selectSingleFixed = true;\r\n\t\t\t// \t\t\t\treturn;\r\n\t\t\t// \t\t\t}\r\n\t\t\t// \t\t\tvm.selectSingleFixed = false;\r\n\t\t\t// \t\t}\r\n\t\t\t// \t}\r\n\t\t\t// \tvm.selectAllFixed = true;\r\n\t\t\t// }\r\n\r\n\t\t\tfunction toggleOneFixed(selectedItems) {\r\n\t\t\t\tvm.selectAllFixed = false;\r\n\t\t\t\tvm.selectSingleFixed = false;\r\n\t\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\t\tif (selectedItems[id]) {\r\n\t\t\t\t\t\tvm.selectSingleFixed = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\r\n\t\t}\r\n\r\n\r\n\r\n\r\n\r\n\t\tvm.NearByUserList = [];\r\n\r\n\t\tvm.GetNearByUser = function (reload) {\r\n\r\n\t\t\tvm.headerCompiledNearBy = false;\r\n\t\t\t// vm.NearByUserList = [];\r\n\t\t\tvar roleList = [];\r\n\t\t\tvar orderbyUser = [];\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 0, \"OrderByField\": \"UserRating\" });\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 1, \"OrderByField\": \"BIDCounterRate\" });\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 2, \"OrderByField\": \"UserDistance\" });\r\n\t\t\tif (vm.PrivateDisable) {\r\n\t\t\t\troleList.push({ \"UserRole\": 'Field Engineer', \"UserType\": \"Private\" });\r\n\t\t\t\troleList.push({ \"UserRole\": 'Vendor Manager', \"UserType\": \"Private\" });\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\troleList.push({ \"UserRole\": 'Field Engineer', \"UserType\": \"Freelancer\" });\r\n\t\t\t\troleList.push({ \"UserRole\": 'Vendor Manager', \"UserType\": \"Freelancer\" });\r\n\t\t\t}\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"ActOnCurrentLocation\": false,\r\n\t\t\t\t\"IsComplianceDisable\": vm.ComplianceDisable,\r\n\t\t\t\t\"IsPincodeEnabled\": vm.PincodeEnabled,\r\n\t\t\t\t\"IsPrivateDisable\": vm.PrivateDisable,\r\n\t\t\t\t\"RangeFromJob\": parseInt(vm.DistanceNearBy) * 1000,\r\n\t\t\t\t\"UserConfigList\": roleList,\r\n\t\t\t\t\"FETravelChargePerKM\": 10,\r\n\t\t\t\t\"FromDate\": vm.TicketInfo.StartTime,\r\n\t\t\t\t\"ToDate\": vm.TicketInfo.EndTime,\r\n\t\t\t\t\"TransportMode\": \"driving\",\r\n\t\t\t\t\"OrderByUsers\": orderbyUser,\r\n\t\t\t};\r\n\t\t\tJobDetailViewService.GetSchedulingEvaluationResult(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tvm.NearByUserList = resp.data.users;\r\n\t\t\t\tvm.NearByUserLength = vm.NearByUserList.length;\r\n\r\n\t\t\t\tvm.CreateNearByTable();\r\n\t\t\t\tif (reload) {\r\n\t\t\t\t\tvm.reloadData();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t}\r\n\r\n\t\t// $scope.addNewType = function () {\r\n\t\t// \troleList.push({ \"UserRole\": 'Field Engineer', \"UserType\": \"Private\" });\r\n\t\t// \troleList.push({ \"UserRole\": 'Vendor Manager', \"UserType\": \"Private\" });\r\n\t\t// };\r\n\r\n\t\tvm.selectSingleNearBy = false;\r\n\t\tvm.CreateNearByTable = function () {\r\n\t\t\tvm.headerCompiledNearBy = false;\r\n\t\t\tvm.showNearByTable = 'showNear';\r\n\t\t\tvm.selectedNearBy = {};\r\n\t\t\tvm.toggleOneNearBy = toggleOneNearBy;\r\n\t\t\t// vm.dtInstanceNearBy = {};\r\n\t\t\tvm.selectAllNearBy = false;\r\n\t\t\tvm.toggleAllNearBy = toggleAllNearBy;\r\n\t\t\tvar temp = false;\r\n\t\t\t// if (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t// \ttemp = true;\r\n\t\t\t// }\r\n\t\t\tif (vm.IsMaterialDelivered) {\r\n\t\t\t\tif (vm.TicketInfo.TicketStatus != 'New' || vm.TicketInfo.MetrialDeliverStatus != 'Delivered') {\r\n\t\t\t\t\ttemp = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\ttemp = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\ttemp = vm.TicketInfo.ShowManualBroadcast ? temp : true;\r\n\t\t\tvar titleHtmlNearBy = '';\r\n\t\t\tvm.dtOptionsNearBy = DTOptionsBuilder.fromFnPromise(function () {\r\n\t\t\t\tvar defer = $q.defer();\r\n\t\t\t\tdefer.resolve(vm.NearByUserList);\r\n\t\t\t\treturn defer.promise;\r\n\t\t\t})\r\n\t\t\t\t.withPaginationType('full_numbers')\r\n\t\t\t\t.withOption('order', [])\r\n\t\t\t\t.withOption('createdRow', function (row, data, dataIndex) {\r\n\t\t\t\t\t// Recompiling so we can bind Angular directive to the DT\r\n\t\t\t\t\t$compile(angular.element(row).contents())($scope);\r\n\t\t\t\t})\r\n\t\t\t\t.withOption('headerCallback', function (header) {\r\n\t\t\t\t\tif (!vm.headerCompiledNearBy) {\r\n\t\t\t\t\t\t// Use this headerCompiled field to only compile header once\r\n\t\t\t\t\t\tvm.headerCompiledNearBy = true;\r\n\t\t\t\t\t\t$compile(angular.element(header).contents())($scope);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.withBootstrap();\r\n\r\n\r\n\t\t\tvm.dtColumnsNearBy = [\r\n\t\t\t\tDTColumnBuilder.newColumn(null).withTitle(titleHtmlNearBy).renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvm.selectedNearBy[meta.row] = false;\r\n\t\t\t\t\tvar temp = false;\r\n\t\t\t\t\t// if (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t// \ttemp = true;\r\n\t\t\t\t\t// }\r\n\t\t\t\t\tif (vm.IsMaterialDelivered) {\r\n\t\t\t\t\t\tif (vm.TicketInfo.TicketStatus != 'New' || vm.TicketInfo.MetrialDeliverStatus != 'Delivered') {\r\n\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tif (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\ttemp = vm.TicketInfo.ShowManualBroadcast ? temp : true;\r\n\t\t\t\t\treturn '';\r\n\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvar temp = false;\r\n\t\t\t\t\tif (vm.IsMaterialDelivered) {\r\n\t\t\t\t\t\tif (vm.TicketInfo.TicketStatus != 'New' || vm.TicketInfo.MetrialDeliverStatus != 'Delivered') {\r\n\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tif (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.disableRouteButton = vm.TicketInfo.ShowManualBroadcast ? temp : true;\r\n\t\t\t\t\treturn '';\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('id').withTitle('Id').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('name').withTitle('Name').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}).notSortable(),\r\n\r\n\t\t\t\tDTColumnBuilder.newColumn('User_Type').withTitle('User Type').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('UserRating').withTitle('Rating').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('JobTotal').withTitle('Jobs').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('UserDistance').withTitle('Distance(In KM.)').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('IsPresentToday').withTitle('Attendance').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvar attendance = \"\";\r\n\t\t\t\t\tif (full.User_Type == \"Freelancer Vendor\") {\r\n\t\t\t\t\t\tattendance = \"NA\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tif (full.IsPresentToday) {\r\n\t\t\t\t\t\t\tattendance = \"Present\";\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tattendance = \"Absent\";\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn '' + attendance + '';\r\n\r\n\t\t\t\t})\r\n\r\n\t\t\t\t// return '
'+location+'
'\r\n\r\n\r\n\t\t\t];\r\n\r\n\t\t\tfunction toggleAllNearBy(selectAll, selectedItems) {\r\n\t\t\t\tvm.selectSingleNearBy = false;\r\n\t\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t\t\t\tselectedItems[id] = selectAll;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// function toggleOneNearBy(selectedItems) {\r\n\t\t\t// \tfor (var id in selectedItems) {\r\n\t\t\t// \t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t// \t\t\tif (!selectedItems[id]) {\r\n\t\t\t// \t\t\t\tif(vm.selectSingleNearBy){\r\n\t\t\t// \t\t\t\t\tvm.selectAllNearBy = false;\r\n\t\t\t// \t\t\t\t\tvm.selectSingleNearBy = false;\r\n\t\t\t// \t\t\t\t\treturn;\r\n\t\t\t// \t\t\t\t}\r\n\r\n\t\t\t// \t\t\t\tvm.selectAllNearBy = false;\r\n\t\t\t// \t\t\t\tvm.selectSingleNearBy = true;\r\n\t\t\t// \t\t\t\treturn;\r\n\t\t\t// \t\t\t}\r\n\t\t\t// \t\t\tvm.selectSingleNearBy = false;\r\n\t\t\t// \t\t}\r\n\t\t\t// \t}\r\n\t\t\t// \tvm.selectAllNearBy = true;\r\n\t\t\t// }\r\n\r\n\t\t\tfunction toggleOneNearBy(selectedItems) {\r\n\t\t\t\tvm.selectAllNearBy = false;\r\n\t\t\t\tvm.selectSingleNearBy = false;\r\n\t\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\t\tif (selectedItems[id]) {\r\n\t\t\t\t\t\tvm.selectSingleNearBy = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t\tvm.reloadDataFixed = function () {\r\n\t\t\tvar resetPagingFixed = true;\r\n\t\t\tvm.dtInstanceFixed.reloadData(resetPagingFixed);\r\n\t\t}\r\n\r\n\t\tvm.reloadData = function () {\r\n\t\t\tvar resetPaging = true;\r\n\t\t\tvm.dtInstanceNearBy.reloadData(resetPaging);\r\n\r\n\r\n\t\t}\r\n\r\n\t\tvm.reloadDataTalent = function () {\r\n\t\t\tvar resetPagingTalent = true;\r\n\t\t\tvm.dtInstance.reloadData(resetPagingTalent);\r\n\t\t}\r\n\r\n\t\tvm.reloadDataPre = function () {\r\n\t\t\tvar resetPagingPre = true;\r\n\t\t\tvm.dtInstancePre.reloadData(resetPagingPre);\r\n\t\t}\r\n\r\n\r\n\t\tvm.Preffered = function () {\r\n\t\t\tvm.jobAppointmentModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'Preffered.html',\r\n\t\t\t\tsize: 'sm',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.GetTalentPoolUser = function (reload) {\r\n\t\t\tvm.headerCompiled = false;\r\n\t\t\tvar Distance = parseInt(vm.Distance)\r\n\t\t\tvar roleList = [];\r\n\t\t\troleList.push({ \"UserRole\": 'Field Engineer', \"UserType\": \"Freelancer\" });\r\n\t\t\troleList.push({ \"UserRole\": 'Vendor Manager', \"UserType\": \"Freelancer\" });\r\n\t\t\tvar orderbyUser = [];\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 0, \"OrderByField\": \"UserRating\" });\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 1, \"OrderByField\": \"BIDCounterRate\" });\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 2, \"OrderByField\": \"UserDistance\" });\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"ActOnCurrentLocation\": false,\r\n\t\t\t\t\"RangeFromJob\": Distance * 1000,\r\n\t\t\t\t\"UserConfigList\": roleList,\r\n\t\t\t\t\"FETravelChargePerKM\": 10,\r\n\t\t\t\t\"FromDate\": vm.TicketInfo.StartTime,\r\n\t\t\t\t\"ToDate\": vm.TicketInfo.EndTime,\r\n\t\t\t\t\"TransportMode\": \"driving\",\r\n\t\t\t\t\"OrderByUsers\": orderbyUser\r\n\t\t\t};\r\n\t\t\tJobDetailViewService.GetAllPrefereTalentPool(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tvm.PrefreUserList = resp.data;\r\n\t\t\t\tvm.PrefreUserLength = vm.PrefreUserList.length;\r\n\r\n\t\t\t\tvm.CreatePrefreTable();\r\n\t\t\t\tif (reload) {\r\n\t\t\t\t\tvm.reloadDataTalent();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t}\r\n\r\n\t\tvm.selectSingle = false;\r\n\t\tvm.CreatePrefreTable = function () {\r\n\t\t\t// vm.Invoice = {};\r\n\t\t\tvm.headerCompiled = false;\r\n\t\t\tvm.selected = {};\r\n\t\t\tvm.toggleOne = toggleOne;\r\n\t\t\t// vm.dtInstance = {};\r\n\t\t\tvm.selectAll = false;\r\n\t\t\tvm.toggleAll = toggleAll;\r\n\t\t\tvar temp = false;\r\n\t\t\t// if (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t// \ttemp = true;\r\n\t\t\t// }\r\n\t\t\tif (vm.IsMaterialDelivered) {\r\n\t\t\t\tif (vm.TicketInfo.TicketStatus != 'New' || vm.TicketInfo.MetrialDeliverStatus != 'Delivered') {\r\n\t\t\t\t\ttemp = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\ttemp = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\ttemp = vm.TicketInfo.ShowManualBroadcast ? temp : true;\r\n\t\t\tvar titleHtml = '';\r\n\r\n\t\t\tvm.dtOptions = DTOptionsBuilder.fromFnPromise(function () {\r\n\t\t\t\tvar defer = $q.defer();\r\n\t\t\t\tvm.showTable = true;\r\n\t\t\t\tdefer.resolve(vm.PrefreUserList);\r\n\t\t\t\treturn defer.promise;\r\n\r\n\t\t\t})\r\n\t\t\t\t.withPaginationType('full_numbers')\r\n\t\t\t\t.withOption('order', [])\r\n\t\t\t\t.withOption('createdRow', createdRow)\r\n\t\t\t\t.withOption('headerCallback', headerCallback)\r\n\t\t\t\t.withBootstrap();\r\n\r\n\t\t\tfunction createdRow(row, data, dataIndex) {\r\n\t\t\t\t// Recompiling so we can bind Angular directive to the DT\r\n\t\t\t\t$compile(angular.element(row).contents())($scope);\r\n\t\t\t}\r\n\r\n\t\t\tfunction headerCallback(header) {\r\n\t\t\t\tif (!vm.headerCompiled) {\r\n\t\t\t\t\t// Use this headerCompiled field to only compile header once\r\n\t\t\t\t\tvm.headerCompiled = true;\r\n\t\t\t\t\t$compile(angular.element(header).contents())($scope);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tvm.dtColumns = [\r\n\t\t\t\tDTColumnBuilder.newColumn(null).withTitle(titleHtml).renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvm.selected[meta.row] = false;\r\n\t\t\t\t\tvar temp = false;\r\n\t\t\t\t\t// if (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t// \ttemp = true;\r\n\t\t\t\t\t// }\r\n\t\t\t\t\tif (vm.IsMaterialDelivered) {\r\n\t\t\t\t\t\tif (vm.TicketInfo.TicketStatus != 'New' || vm.TicketInfo.MetrialDeliverStatus != 'Delivered') {\r\n\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tif (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\ttemp = vm.TicketInfo.ShowManualBroadcast ? temp : true;\r\n\t\t\t\t\treturn '';\r\n\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvar temp = false;\r\n\t\t\t\t\tif (vm.IsMaterialDelivered) {\r\n\t\t\t\t\t\tif (vm.TicketInfo.TicketStatus != 'New' || vm.TicketInfo.MetrialDeliverStatus != 'Delivered') {\r\n\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tif (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.disableRouteButton = vm.TicketInfo.ShowManualBroadcast ? temp : true;\r\n\t\t\t\t\treturn '';\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('id').withTitle('Id').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('name').withTitle('Name').renderWith(function (data, type, full, meta) {\r\n\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('User_Type').withTitle('User Type').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('UserRating').withTitle('Rating').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('JobTotal').withTitle('Jobs').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('UserDistance').withTitle('Distance(In KM.)').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('IsPresentToday').withTitle('Attendance').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvar attendance = \"\";\r\n\t\t\t\t\tif (full.IsPresentToday) {\r\n\t\t\t\t\t\tattendance = \"Present\";\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tattendance = \"Absent\";\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn '' + attendance + '';\r\n\r\n\t\t\t\t})\r\n\r\n\t\t\t];\r\n\r\n\t\t\tfunction toggleAll(selectAll, selectedItems) {\r\n\t\t\t\tvm.selectSingle = false;\r\n\t\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t\t\t\tselectedItems[id] = selectAll;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// function toggleOne(selectedItems) {\r\n\t\t\t// \tfor (var id in selectedItems) {\r\n\t\t\t// \t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t// \t\t\tif (!selectedItems[id]) {\r\n\r\n\t\t\t// \t\t\t\tif(vm.selectSingle){\r\n\t\t\t// \t\t\t\t\tvm.selectAll = false;\r\n\t\t\t// \t\t\t\t\tvm.selectSingle = false;\r\n\t\t\t// \t\t\t\t\treturn;\r\n\t\t\t// \t\t\t\t}\r\n\t\t\t// \t\t\t\tvm.selectAll = false;\r\n\t\t\t// \t\t\t\tvm.selectSingle = true;\r\n\t\t\t// \t\t\t\treturn;\r\n\t\t\t// \t\t\t}\r\n\t\t\t// \t\t\tvm.selectSingle = false;\r\n\t\t\t// \t\t}\r\n\t\t\t// \t}\r\n\t\t\t// \tvm.selectAll = true;\r\n\t\t\t// }\r\n\r\n\t\t\tfunction toggleOne(selectedItems) {\r\n\t\t\t\tvm.selectAll = false;\r\n\t\t\t\tvm.selectSingle = false;\r\n\t\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\t\tif (selectedItems[id]) {\r\n\t\t\t\t\t\tvm.selectSingle = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\r\n\t\t}\r\n\t\tvm.showTablePre = false;\r\n\t\tvm.selectSinglePre = false;\r\n\t\tvm.GetPreviousWorker = function (reload) {\r\n\r\n\t\t\tvm.headerCompiledPre = false;\r\n\t\t\tvar Distance = parseInt(vm.DistancePre)\r\n\t\t\tvar roleList = [];\r\n\t\t\troleList.push({ \"UserRole\": 'Field Engineer', \"UserType\": \"Freelancer\" });\r\n\t\t\troleList.push({ \"UserRole\": 'Vendor Manager', \"UserType\": \"Freelancer\" });\r\n\t\t\tvar orderbyUser = [];\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 0, \"OrderByField\": \"UserRating\" });\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 1, \"OrderByField\": \"BIDCounterRate\" });\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 2, \"OrderByField\": \"UserDistance\" });\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"ActOnCurrentLocation\": false,\r\n\t\t\t\t\"RangeFromJob\": Distance * 1000,\r\n\t\t\t\t\"UserConfigList\": roleList,\r\n\t\t\t\t\"FETravelChargePerKM\": 10,\r\n\t\t\t\t\"FromDate\": vm.TicketInfo.StartTime,\r\n\t\t\t\t\"ToDate\": vm.TicketInfo.EndTime,\r\n\t\t\t\t\"TransportMode\": \"driving\",\r\n\t\t\t\t\"OrderByUsers\": orderbyUser\r\n\t\t\t};\r\n\t\t\tJobDetailViewService.GetAllPreviousUser(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tvm.PreviousUserList = resp.data;\r\n\t\t\t\tvm.PreviousUserLength = vm.PreviousUserList.length;\r\n\r\n\t\t\t\tvm.CreatePreviousUserTable();\r\n\t\t\t\tif (reload) {\r\n\t\t\t\t\tvm.reloadDataPre();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.CreatePreviousUserTable = function () {\r\n\t\t\tvm.headerCompiledPre = false;\r\n\t\t\tvm.selectedPre = {};\r\n\t\t\tvm.toggleOnePre = toggleOnePre;\r\n\t\t\t// vm.dtInstancePre = {};\r\n\t\t\tvm.selectAllPre = false;\r\n\t\t\tvm.toggleAllPre = toggleAllPre;\r\n\t\t\tvar temp = false;\r\n\t\t\t// if (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t// \ttemp = true;\r\n\t\t\t// }\r\n\t\t\tif (vm.IsMaterialDelivered) {\r\n\t\t\t\tif (vm.TicketInfo.TicketStatus != 'New' || vm.TicketInfo.MetrialDeliverStatus != 'Delivered') {\r\n\t\t\t\t\ttemp = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\ttemp = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\ttemp = vm.TicketInfo.ShowManualBroadcast ? temp : true;\r\n\t\t\tvar titleHtmlPre = '';\r\n\r\n\t\t\tvm.dtOptionsPre = DTOptionsBuilder.fromFnPromise(function () {\r\n\t\t\t\tvar defer = $q.defer();\r\n\t\t\t\tvm.showTablePre = true;\r\n\t\t\t\tdefer.resolve(vm.PreviousUserList);\r\n\t\t\t\treturn defer.promise;\r\n\r\n\t\t\t})\r\n\t\t\t\t.withPaginationType('full_numbers')\r\n\t\t\t\t.withOption('order', [])\r\n\t\t\t\t.withOption('createdRow', function (row, data, dataIndex) {\r\n\t\t\t\t\t// Recompiling so we can bind Angular directive to the DT\r\n\t\t\t\t\t$compile(angular.element(row).contents())($scope);\r\n\t\t\t\t})\r\n\t\t\t\t.withOption('headerCallback', function (header) {\r\n\t\t\t\t\tif (!vm.headerCompiledPre) {\r\n\t\t\t\t\t\t// Use this headerCompiled field to only compile header once\r\n\t\t\t\t\t\tvm.headerCompiledPre = true;\r\n\t\t\t\t\t\t$compile(angular.element(header).contents())($scope);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.withBootstrap();\r\n\r\n\r\n\t\t\tvm.dtColumnsPre = [\r\n\t\t\t\tDTColumnBuilder.newColumn(null).withTitle(titleHtmlPre).renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvm.selectedPre[meta.row] = false;\r\n\t\t\t\t\tvar temp = false;\r\n\t\t\t\t\t// if (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t// \ttemp = true;\r\n\t\t\t\t\t// }\r\n\t\t\t\t\tif (vm.IsMaterialDelivered) {\r\n\t\t\t\t\t\tif (vm.TicketInfo.TicketStatus != 'New' || vm.TicketInfo.MetrialDeliverStatus != 'Delivered') {\r\n\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tif (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\ttemp = vm.TicketInfo.ShowManualBroadcast ? temp : true;\r\n\t\t\t\t\treturn '';\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvar temp = false;\r\n\t\t\t\t\tif (vm.IsMaterialDelivered) {\r\n\t\t\t\t\t\tif (vm.TicketInfo.TicketStatus != 'New' || vm.TicketInfo.MetrialDeliverStatus != 'Delivered') {\r\n\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tif (vm.TicketInfo.TicketStatus != 'New') {\r\n\t\t\t\t\t\t\ttemp = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.disableRouteButton = vm.TicketInfo.ShowManualBroadcast ? temp : true;\r\n\t\t\t\t\treturn '';\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('id').withTitle('Id').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('name').withTitle('Name').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('User_Type').withTitle('User Type').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('UserRating').withTitle('Rating').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('JobTotal').withTitle('Jobs').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('UserDistance').withTitle('Distance(In KM.)').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('IsPresentToday').withTitle('Attendance').renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvar attendance = \"\";\r\n\t\t\t\t\tif (full.IsPresentToday) {\r\n\t\t\t\t\t\tattendance = \"Present\";\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tattendance = \"Absent\";\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn '' + attendance + '';\r\n\r\n\t\t\t\t})\r\n\r\n\t\t\t];\r\n\r\n\t\t\tfunction toggleAllPre(selectAll, selectedItems) {\r\n\t\t\t\tvm.selectSinglePre = false;\r\n\t\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t\t\t\tselectedItems[id] = selectAll;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// function toggleOnePre(selectedItems) {\r\n\t\t\t// \tfor (var id in selectedItems) {\r\n\t\t\t// \t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t// \t\t\tif (!selectedItems[id]) {\r\n\r\n\t\t\t// \t\t\t\tif(vm.selectSinglePre){\r\n\t\t\t// \t\t\t\t\tvm.selectAllPre = false;\r\n\t\t\t// \t\t\t\t\tvm.selectSinglePre = false;\r\n\t\t\t// \t\t\t\t\tcontinue;\r\n\t\t\t// \t\t\t\t}\r\n\t\t\t// \t\t\t\tvm.selectAllPre = false;\r\n\t\t\t// \t\t\t\tvm.selectSinglePre = true;\r\n\t\t\t// \t\t\t\tcontinue;\r\n\t\t\t// \t\t\t}\r\n\r\n\t\t\t// \t\t}\r\n\t\t\t// \t\tvm.selectSinglePre = false;\r\n\t\t\t// \t}\r\n\t\t\t// \tvm.selectAllPre = true;\r\n\t\t\t// }\r\n\t\t\tfunction toggleOnePre(selectedItems) {\r\n\t\t\t\tvm.selectSinglePre = false;\r\n\t\t\t\tvm.selectAllPre = false;\r\n\t\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\t\tif (selectedItems[id]) {\r\n\t\t\t\t\t\tvm.selectSinglePre = true;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tvm.BroadcastField = function () {\r\n\t\t\t//vm.dissbleBroadcastButton = true;\r\n\t\t\tvm.DisableRouteBroadcastButtons(true);\r\n\t\t\tvar temp = [];\r\n\t\t\tfor (var i = 0; i < vm.FixedUserList.length; i++) {\r\n\t\t\t\tif (vm.selectedFixed[i] == true) {\r\n\t\t\t\t\ttemp.push({ \"UserId\": vm.FixedUserList[i].id, \"SuggestedPrice\": null, \"Price\": parseInt(vm.FixedUserList[i].Price), \"Distance\": parseInt(vm.FixedUserList[i].UserDistance) });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"BIDDuration\": vm.TicketInfo.BidDuration,\r\n\t\t\t\t\"MobiforceCommissionPercentage\": vm.TicketInfo.MobiforceCommission,\r\n\t\t\t\t\"TechnicianSource\": 0,\r\n\t\t\t\t\"Users\": temp\r\n\t\t\t};\r\n\t\t\tif (data.Users.length > 0) {\r\n\t\t\t\tJobDetailViewService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess('Success', \"Jobs Broadcasted Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$state.reload();\r\n\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t}, 2000);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.BroadcastTicketNearBy = function () {\r\n\t\t\t//vm.dissbleBroadcastButton = true;\r\n\t\t\tvm.DisableRouteBroadcastButtons(true);\r\n\t\t\tvar temp = [];\r\n\t\t\tfor (var i = 0; i < vm.NearByUserList.length; i++) {\r\n\t\t\t\tif (vm.selectedNearBy[i] == true) {\r\n\t\t\t\t\ttemp.push({ \"UserId\": vm.NearByUserList[i].id, \"SuggestedPrice\": null, \"Price\": parseInt(vm.NearByUserList[i].Price), \"Distance\": parseInt(vm.NearByUserList[i].UserDistance) });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"BIDDuration\": vm.TicketInfo.BidDuration,\r\n\t\t\t\t\"MobiforceCommissionPercentage\": vm.TicketInfo.MobiforceCommission,\r\n\t\t\t\t\"TechnicianSource\": 1,\r\n\t\t\t\t\"Users\": temp\r\n\t\t\t};\r\n\t\t\tif (data.Users.length > 0) {\r\n\t\t\t\tJobDetailViewService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess('Success', \"Jobs Broadcasted Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$state.reload();\r\n\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t}, 2000);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.BroadcastTicketPool = function () {\r\n\t\t\t//vm.dissbleBroadcastButton = true;\r\n\t\t\tvm.DisableRouteBroadcastButtons(true);\r\n\t\t\tvar temp = [];\r\n\t\t\tfor (var i = 0; i < vm.PrefreUserList.length; i++) {\r\n\t\t\t\tif (vm.selected[i] == true) {\r\n\t\t\t\t\ttemp.push({ \"UserId\": vm.PrefreUserList[i].id, \"SuggestedPrice\": null, \"Price\": parseInt(vm.PrefreUserList[i].Price), \"Distance\": parseInt(vm.PrefreUserList[i].UserDistance) });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"BIDDuration\": vm.TicketInfo.BidDuration,\r\n\t\t\t\t\"MobiforceCommissionPercentage\": vm.TicketInfo.MobiforceCommission,\r\n\t\t\t\t\"TechnicianSource\": 2,\r\n\t\t\t\t\"Users\": temp\r\n\t\t\t};\r\n\t\t\tif (data.Users.length > 0) {\r\n\t\t\t\tJobDetailViewService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess('Success', \"Jobs Broadcasted Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$state.reload();\r\n\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t}, 2000);\r\n\t\t\t}\r\n\r\n\r\n\t\t}\r\n\r\n\t\tvm.BroadcastTicketPrevious = function () {\r\n\t\t\t//vm.dissbleBroadcastButton = true;\r\n\t\t\tvm.DisableRouteBroadcastButtons(true);\r\n\t\t\tvar temp = [];\r\n\t\t\tfor (var i = 0; i < vm.PreviousUserList.length; i++) {\r\n\t\t\t\tif (vm.selectedPre[i] == true) {\r\n\t\t\t\t\ttemp.push({ \"UserId\": vm.PreviousUserList[i].id, \"SuggestedPrice\": null, \"Price\": parseInt(vm.PreviousUserList[i].Price), \"Distance\": parseInt(vm.PreviousUserList[i].UserDistance) });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"BIDDuration\": vm.TicketInfo.BidDuration,\r\n\t\t\t\t\"MobiforceCommissionPercentage\": vm.TicketInfo.MobiforceCommission,\r\n\t\t\t\t\"TechnicianSource\": 3,\r\n\t\t\t\t\"Users\": temp\r\n\t\t\t};\r\n\t\t\tif (data.Users.length > 0) {\r\n\t\t\t\tJobDetailViewService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess('Success', \"Jobs Broadcasted Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$state.reload();\r\n\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t}, 2000);\r\n\t\t\t}\r\n\r\n\r\n\t\t}\r\n\r\n\t\tvm.routeFixed = function (index) {\r\n\t\t\tvar data = vm.FixedUserList[index];\r\n\t\t\tvar temp = [];\r\n\t\t\ttemp.push({ \"UserId\": data.id, \"SuggestedPrice\": null, \"Price\": parseFloat(data.Price), \"Distance\": parseFloat(data.UserDistance) });\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"BIDDuration\": vm.TicketInfo.BidDuration,\r\n\t\t\t\t\"MobiforceCommissionPercentage\": vm.TicketInfo.MobiforceCommission,\r\n\t\t\t\t\"BroadcastType\": \"Route\",\r\n\t\t\t\t\"TechnicianSource\": 0,\r\n\t\t\t\t\"Users\": temp\r\n\t\t\t};\r\n\t\t\tif (data.Users.length > 0) {\r\n\t\t\t\tJobDetailViewService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess('Success', \"Jobs Route Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", \"User Not Found.\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Please select users.\");\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$state.reload();\r\n\t\t\t\t}, 2000);\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\r\n\t\tvm.route = function (index) {\r\n\t\t\tvm.DisableRouteBroadcastButtons(true);\r\n\t\t\tvar data = vm.NearByUserList[index];\r\n\t\t\tvar temp = [];\r\n\t\t\ttemp.push({ \"UserId\": data.id, \"SuggestedPrice\": null, \"Price\": parseFloat(data.Price), \"Distance\": parseFloat(data.UserDistance) });\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"BIDDuration\": vm.TicketInfo.BidDuration,\r\n\t\t\t\t\"MobiforceCommissionPercentage\": vm.TicketInfo.MobiforceCommission,\r\n\t\t\t\t\"BroadcastType\": \"Route\",\r\n\t\t\t\t\"TechnicianSource\": 1,\r\n\t\t\t\t\"Users\": temp\r\n\t\t\t};\r\n\t\t\tif (data.Users.length > 0) {\r\n\t\t\t\tvm.showloading = true;\r\n\t\t\t\tJobDetailViewService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess('Success', \"Jobs Route Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (resp.status == 206) {\r\n\t\t\t\t\t\tvm.showFailure('Failed', resp.data.Message);\r\n\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", \"Users Not Found\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.showloading = false;\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Please select users.\");\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$state.reload();\r\n\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t}, 2000);\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tvm.routePreTalent = function (index) {\r\n\t\t\tvm.DisableRouteBroadcastButtons(true);\r\n\t\t\tvar data = vm.PrefreUserList[index];\r\n\t\t\tvar temp = [];\r\n\t\t\ttemp.push({ \"UserId\": data.id, \"SuggestedPrice\": null, \"Price\": parseFloat(data.Price), \"Distance\": parseFloat(data.UserDistance) });\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"BIDDuration\": vm.TicketInfo.BidDuration,\r\n\t\t\t\t\"MobiforceCommissionPercentage\": vm.TicketInfo.MobiforceCommission,\r\n\t\t\t\t\"BroadcastType\": \"Route\",\r\n\t\t\t\t\"TechnicianSource\": 2,\r\n\t\t\t\t\"Users\": temp\r\n\t\t\t};\r\n\t\t\tif (data.Users.length > 0) {\r\n\t\t\t\tJobDetailViewService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess('Success', \"Jobs Route Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", \"User Not Found.\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Please select users.\");\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$state.reload();\r\n\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t}, 2000);\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tvm.routePrevoius = function (index) {\r\n\t\t\tvm.DisableRouteBroadcastButtons(true);\r\n\t\t\tvar data = vm.PreviousUserList[index];\r\n\t\t\tvar temp = [];\r\n\t\t\ttemp.push({ \"UserId\": data.id, \"SuggestedPrice\": null, \"Price\": parseFloat(data.Price), \"Distance\": parseFloat(data.UserDistance) });\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"BIDDuration\": vm.TicketInfo.BidDuration,\r\n\t\t\t\t\"MobiforceCommissionPercentage\": vm.TicketInfo.MobiforceCommission,\r\n\t\t\t\t\"BroadcastType\": \"Route\",\r\n\t\t\t\t\"TechnicianSource\": 3,\r\n\t\t\t\t\"Users\": temp\r\n\t\t\t};\r\n\t\t\tif (data.Users.length > 0) {\r\n\t\t\t\tJobDetailViewService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess('Success', \"Jobs Route Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", \"Users Not Found.\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Please select users.\");\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$state.reload();\r\n\t\t\t\t\tvm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t}, 2000);\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tvm.getReadyToAssign = function () {\r\n\r\n\t\t\tvar roleList = [];\r\n\t\t\troleList.push({ \"UserRole\": 'Field Engineer', \"UserType\": \"Freelancer\" });\r\n\t\t\troleList.push({ \"UserRole\": 'Vendor Manager', \"UserType\": \"Freelancer\" });\r\n\t\t\tvar orderbyUser = [];\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 2, \"OrderByField\": \"UserRating\" });\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 3, \"OrderByField\": \"BIDCounterRate\" });\r\n\t\t\torderbyUser.push({ \"PriorityOrder\": 1, \"OrderByField\": \"UserDistance\" });\r\n\r\n\t\t\tvar data = {\r\n\t\t\t\t\"JobId\": vm.TicketId,\r\n\t\t\t\t\"JobAccountId\": '',\r\n\t\t\t\t\"ActOnCurrentLocation\": false,\r\n\t\t\t\t\"RangeFromJob\": 50 * 1000,\r\n\t\t\t\t\"UserConfigList\": roleList,\r\n\t\t\t\t\"FETravelChargePerKM\": 10,\r\n\t\t\t\t\"FromDate\": vm.TicketInfo.StartTime,\r\n\t\t\t\t\"ToDate\": vm.TicketInfo.EndTime,\r\n\t\t\t\t\"TransportMode\": \"driving\",\r\n\t\t\t\t\"OrderByUsers\": orderbyUser\r\n\t\t\t};\r\n\r\n\t\t\tdata.JobAccountId = '';\r\n\t\t\tJobDetailViewService.GetSchedulingEvaluationResult(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tvm.ReadytoAssignUser = resp.data.users;\r\n\t\t\t\tvm.ReadyUserLength = vm.ReadytoAssignUser.length;\r\n\r\n\t\t\t});\r\n\r\n\r\n\t\t}\r\n\r\n\t\tvm.AssignTicketsToFixedTeam = function (index) {\r\n \r\n\t\t\tvar temp = vm.FixedUserList[index];\r\n\t\t\tif ($localStorage.loggedInUser_Role == 'Vendor Manager' || $localStorage.loggedInUser_Role == 'Service Center') {\r\n\t\t\t\tJobDetailViewService.VendorManagerAssignJobTeam(temp.id, loggedinUser, uTicketId, vm.TicketInfo.JobAccountId, token).then(function (resp) {\r\n\t\t\t\t\tif (resp && resp.status == '200') {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Job Assigned Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\r\n\t\t\t}\r\n\t\t\telse {\r\n\r\n\t\t\t\tvar AllUserList = [];\r\n\r\n\t\t\t\tvar data = {\r\n\t\t\t\t\t\"UserId\": temp.id ? temp.id : temp.LinkId,\r\n\t\t\t\t\t\"TicketId\": vm.TicketId,\r\n\t\t\t\t\t\"StartTime\": moment(vm.TicketInfo.StartTime).format('YYYY-MM-DD HH:mm'),\r\n\t\t\t\t\t\"Endtime\": moment(vm.TicketInfo.EndTime).format('YYYY-MM-DD HH:mm'),\r\n\t\t\t\t\t\"SuggestedPrice\": temp.Price,\r\n\t\t\t\t\t\"AssignPrice\": temp.Price,\r\n\t\t\t\t\t\"Distance\": temp.UserDistance\r\n\t\t\t\t}\r\n\t\t\t\tAllUserList.push(data);\r\n\t\t\t\tif (AllUserList == '') {\r\n\t\t\t\t\tvm.showFailure(\"Please select users.\")\r\n\t\t\t\t} else {\r\n\t\t\t\t\tJobDetailViewService.AssignTicketsTimeline(loggedinUser, AllUserList, token).then(function (resp) {\r\n\t\t\t\t\t\tif (resp && resp.status == '200') {\r\n\t\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Job Assigned Successfully\");\r\n\t\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t\t}, 2000);\r\n\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tvm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.AssignTicketsTimeline = function (rUser, index) {\r\n\t\t\tvar AllUserList = [];\r\n\t\t\tvar data = {\r\n\t\t\t\t\"UserId\": rUser.id ? rUser.id : rUser.LinkId,\r\n\t\t\t\t\"TicketId\": vm.TicketId,\r\n\t\t\t\t\"StartTime\": moment(vm.TicketInfo.StartTime).format('YYYY-MM-DD HH:mm'),\r\n\t\t\t\t\"Endtime\": moment(vm.TicketInfo.EndTime).format('YYYY-MM-DD HH:mm'),\r\n\t\t\t\t\"SuggestedPrice\": rUser.BIDCounterRate,\r\n\t\t\t\t\"AssignPrice\": rUser.BIDCounterRate,\r\n\t\t\t\t\"Distance\": rUser.UserDistance\r\n\t\t\t}\r\n\t\t\tAllUserList.push(data);\r\n\t\t\tif (AllUserList == '') {\r\n\t\t\t\tvm.showFailure(\"Please select users.\")\r\n\t\t\t} else {\r\n\t\t\t\tJobDetailViewService.AssignTicketsTimeline(loggedinUser, AllUserList, token).then(function (resp) {\r\n\r\n\t\t\t\t\tif (resp && resp.status == '200') {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Job Assigned Successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t\t// scheduler.clearAll();\r\n\r\n\t\t\t\t\t\t// $timeout(function () {\r\n\t\t\t\t\t\t// vm.mapMarkers=[];\r\n\t\t\t\t\t\t// vm.AssignModal.close();\r\n\t\t\t\t\t\t// GetSchedulingEventforToday(loggedinUser);\r\n\t\t\t\t\t\t// if(vm.TicketStatus==\"New\"){\r\n\t\t\t\t\t\t// \t vm.GetTicketsForAssignation();\r\n\t\t\t\t\t\t// }else if(vm.TicketStatus==\"ReadyToAssign\"){\r\n\t\t\t\t\t\t// \tvm.getReadyToAssign();\r\n\t\t\t\t\t\t// }\r\n\r\n\r\n\t\t\t\t\t\t// }, 1500);\r\n\t\t\t\t\t\t// if(vm.Mode=='Map') {\r\n\t\t\t\t\t\t// $timeout(function () {\r\n\t\t\t\t\t\t// \t vm.mapMarkers=[];\r\n\t\t\t\t\t\t// \t vm.AssignModal.close();\r\n\t\t\t\t\t\t// }, 1500);\r\n\t\t\t\t\t\t// }\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (resp.status == 206) {\r\n\t\t\t\t\t\tvm.showFailure('Failed', resp.data.Message);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\t\r\n\t\tvm.GetAllQueryForTicket = function () {\r\n\t\t\tConsumerQueryService.GetAllQueryForTicket(loggedinUser, token, vm.TicketId).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.AllQueryData = resp.data;\r\n\t\t\t\t\tvm.IsQueriesFound = true;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\tvm.IsQueriesFound = false;\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.ReplyToQuery = function (query) {\r\n\t\t\tif (query.teamReply) {\r\n\t\t\t\tvar queryModel = {\r\n\t\t\t\t\t\"MMFTicketId\": vm.TicketId,\r\n\t\t\t\t\t\"Query\": query.strQuery,\r\n\t\t\t\t\t\"Response\": query.teamReply\r\n\t\t\t\t}\r\n\t\t\t\tJobDetailViewService.ReplyToQuery(queryModel, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Reply sent successfully.\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\tvm.GetAllQueryForTicket();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.getCustomerJobCard = function () {\r\n\t\t\tJobDetailViewService.getCustomerJobCardbyJobId(loggedinUser, vm.TicketId, token, function (data) {\r\n\t\t\t\tvm.JobLatitude = data.JobLatitude;\r\n\t\t\t\tvm.JobLongitude = data.JobLongitude;\r\n\t\t\t\tvm.FELatitude = data.FELatitude;\r\n\t\t\t\tvm.FELongitude = data.FELongitude;\r\n\t\t\t\tvm.contactnumber = data.FEContactNumber;\r\n\t\t\t\tvm.jobtype = data.Description;\r\n\t\t\t\tvm.name = data.FEName;\r\n\r\n\r\n\t\t\t\t// $log.log(\"res of getCustomerJobCard=\" + data);\r\n\t\t\t\tvm.customerJobCard = data;\r\n\t\t\t\tif ($localStorage.rateJobParams) {\r\n\t\t\t\t\tvm.customerJobCard.userRole = $localStorage.Role;\r\n\t\t\t\t\tvm.customerJobCard.JobStatus = $localStorage.rateJobParams.status;\r\n\t\t\t\t\tvm.customerJobCard.CustomerGivenRating = $localStorage.rateJobParams.rating;\r\n\t\t\t\t\tdelete $localStorage.rateJobParams;\r\n\t\t\t\t}\r\n\t\t\t\tif (data && data.JobStatus == 'PaymentDone') {\r\n\r\n\t\t\t\t}\r\n\r\n\t\t\t\tinitMap();\r\n\t\t\t}, function () {\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Unable to reach server\");\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.getTracking = function () {\r\n\r\n\t\t\tif ((vm.TicketInfo.TicketStatus == 'New' || vm.TicketInfo.TicketStatus == 'Hold' || vm.TicketInfo.TicketStatus == 'Broadcasted' || vm.TicketInfo.TicketStatus == 'ReadyToAssign') && vm.TicketInfo.IsTrackingAllowed == true) {\r\n\t\t\t\tvm.superPower = true;\r\n\t\t\t\tdisplayJobOnMap();\r\n\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif ((vm.TicketInfo.TicketStatus == 'Assigned' || vm.TicketInfo.TicketStatus == 'Rejected' || vm.TicketInfo.TicketStatus == 'Approved' || vm.TicketInfo.TicketStatus == 'Completed') && vm.TicketInfo.UserId && vm.TicketInfo.IsTrackingAllowed == true) {\r\n\t\t\t\t\tvm.showMapPermision = true;\r\n\t\t\t\t\tvm.superPower = true;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvm.showMapPermision = false;\r\n\t\t\t\t}\r\n\t\t\t\tvm.getCustomerJobCard();\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\t$scope.slide = false;\r\n\t\tvm.customergetTracking = function () {\r\n\t\t\tcustomerinitMap();\r\n\t\t\tif ($scope.slide == false) {\r\n\t\t\t\t$scope.slide = true;\r\n\t\t\t} else {\r\n\t\t\t\t$scope.slide = false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\t// -------------------------------------------------------------------------------\r\n\t\t// Tracking code goes here\r\n\r\n\t\tvm.makeUserMarker = function (position, icon, map) {\r\n\t\t\tvar marker = new google.maps.Marker({\r\n\t\t\t\tposition: position,\r\n\t\t\t\tmap: map,\r\n\t\t\t\ticon: icon\r\n\t\t\t});\r\n\t\t\t//Adding InfoWindow to the Marker.\r\n\t\t\t(function (marker, customerJobCard) {\r\n\t\t\t\tgoogle.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n\t\t\t\t\t$scope.InfoWindow.setContent(\"

\" + vm.name + \"

\");\r\n\t\t\t\t\t$scope.InfoWindow.open($scope.Map, marker);\r\n\t\t\t\t});\r\n\t\t\t\tgoogle.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n\t\t\t\t\t$scope.InfoWindow.close(vm.Map, marker);\r\n\t\t\t\t});\r\n\t\t\t})(marker, vm.customerJobCard);\r\n\r\n\t\t\t//Plotting the Marker on the Map.\r\n\t\t\t$scope.Latlngbounds.extend(marker.position);\r\n\r\n\t\t}\r\n\r\n\t\tvm.makeJobMarker = function (position, icon, map) {\r\n\t\t\tvar marker = new google.maps.Marker({\r\n\t\t\t\tposition: position,\r\n\t\t\t\tmap: map,\r\n\t\t\t\ticon: icon\r\n\t\t\t});\r\n\t\t\t//Adding InfoWindow to the Marker.\r\n\t\t\t(function (marker, customerJobCard) {\r\n\t\t\t\tgoogle.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n\t\t\t\t\t$scope.InfoWindow.setContent(\"

\" + vm.TicketInfo.ConsumerName + \"

\" + ' ' + vm.TicketInfo.TicketId + \"
\" + ' ' + moment(vm.customerJobCard.JobDateTime).format(\"YYYY-MM-DD HH:mm\") + \"
\" + ' ' + vm.TicketInfo.ConsumerContact);\r\n\t\t\t\t\t$scope.InfoWindow.open($scope.Map, marker);\r\n\t\t\t\t});\r\n\t\t\t\tgoogle.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n\t\t\t\t\t$scope.InfoWindow.close(vm.Map, marker);\r\n\t\t\t\t});\r\n\t\t\t})(marker, vm.customerJobCard);\r\n\r\n\t\t\t//Plotting the Marker on the Map.\r\n\t\t\t$scope.Latlngbounds.extend(marker.position);\r\n\t\t}\r\n\r\n\r\n\t\tvm.customermakeUserMarker = function (position, icon, map) {\r\n\t\t\tvar marker = new google.maps.Marker({\r\n\t\t\t\tposition: position,\r\n\t\t\t\tmap: map,\r\n\t\t\t\ticon: icons.custstart\r\n\t\t\t});\r\n\t\t\t//Adding InfoWindow to the Marker.\r\n\t\t\t(function (marker, customerJobCard) {\r\n\t\t\t\tgoogle.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n\t\t\t\t\t$scope.InfoWindow.setContent(\"

Address updated by customer

\" + ' ' + vm.TicketInfo.OrignalLatitude + \"\" + ' ' + vm.TicketInfo.OrignalLongitude); $scope.InfoWindow.open($scope.Map, marker);\r\n\t\t\t\t});\r\n\t\t\t\tgoogle.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n\t\t\t\t\t$scope.InfoWindow.close(vm.Map, marker);\r\n\t\t\t\t});\r\n\t\t\t})(marker, vm.customerJobCard);\r\n\r\n\t\t\t//Plotting the Marker on the Map.\r\n\t\t\t$scope.Latlngbounds.extend(marker.position);\r\n\r\n\t\t}\r\n\r\n\t\tvm.customermakeJobMarker = function (position, icon, map) {\r\n\t\t\tvar marker = new google.maps.Marker({\r\n\t\t\t\tposition: position,\r\n\t\t\t\tmap: map,\r\n\t\t\t\ticon: icon\r\n\t\t\t});\r\n\t\t\t//Adding InfoWindow to the Marker.\r\n\t\t\t(function (marker, customerJobCard) {\r\n\t\t\t\tgoogle.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n\t\t\t\t\t$scope.InfoWindow.setContent(\"

\" + vm.TicketInfo.ConsumerName + \"

\" + ' ' + vm.TicketInfo.Latitude + \" \" + ' ' + vm.TicketInfo.Longitude); $scope.InfoWindow.open($scope.Map, marker);\r\n\t\t\t\t});\r\n\t\t\t\tgoogle.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n\t\t\t\t\t$scope.InfoWindow.close(vm.Map, marker);\r\n\t\t\t\t});\r\n\t\t\t})(marker, vm.customerJobCard);\r\n\r\n\t\t\t//Plotting the Marker on the Map.\r\n\t\t\t$scope.Latlngbounds.extend(marker.position);\r\n\t\t}\r\n\r\n\t\tfunction initMap() {\r\n\t\t\tvar pointA = new google.maps.LatLng(vm.JobLatitude, vm.JobLongitude),\r\n\t\t\t\tpointB = new google.maps.LatLng(vm.FELatitude, vm.FELongitude),\r\n\t\t\t\t// center = new google.maps.LatLng(51.3, 0.8),\r\n\t\t\t\tmyOptions = {\r\n\t\t\t\t\tzoom: 8,\r\n\t\t\t\t\tzoomControl: false,\r\n\t\t\t\t\tscaleControl: true,\r\n\t\t\t\t\tmapTypeControl: false,\r\n\t\t\t\t\tstreetViewControl: false,\r\n\t\t\t\t\tgestureHandling: 'greedy',\r\n\t\t\t\t\t// center: center,\r\n\t\t\t\t\tmapTypeId: google.maps.MapTypeId.ROADMAP\r\n\t\t\t\t},\r\n\r\n\t\t\t\tmap = new google.maps.Map(document.getElementById('map-canvas'), myOptions),\r\n\t\t\t\t// Instantiate a directions service.\r\n\t\t\t\tdirectionsService = new google.maps.DirectionsService,\r\n\t\t\t\tdirectionsDisplay = new google.maps.DirectionsRenderer({\r\n\t\t\t\t\tmap: map\r\n\t\t\t\t}),\r\n\t\t\t\tduration = document.getElementById('duration');\r\n\t\t\tdistance = document.getElementById('distance');\r\n\t\t\tflightPath = new google.maps.Polyline({\r\n\t\t\t\tpath: [pointA, pointB],\r\n\t\t\t\t// geodesic: true,\r\n\t\t\t\tstrokeColor: 'red',\r\n\t\t\t});\r\n\t\t\t$scope.InfoWindow = new google.maps.InfoWindow();\r\n\t\t\t$scope.Latlngbounds = new google.maps.LatLngBounds();\r\n\t\t\t// click on marker B to get route from A to B\r\n\t\t\tcalculateAndDisplayRoute(directionsService, directionsDisplay, pointA, pointB, distance, duration, map);\r\n\t\t\tvar travelMode = \"DRIVING\";\r\n\t\t\tvar icon = \"https://img.icons8.com/color/96/000000/street-view.png\";\r\n\t\t}\r\n\r\n\r\n\t\tfunction customerinitMap() {\r\n\t\t\tvar orgLat = vm.TicketInfo.OrignalLatitude;\r\n\t\t\tvar orgLong = vm.TicketInfo.OrignalLongitude;\r\n\t\t\tvar origLatLong = new google.maps.LatLng(vm.TicketInfo.Latitude, vm.TicketInfo.Longitude);\r\n\t\t\tvar custUpdatedLatLong = new google.maps.LatLng(vm.TicketInfo.OrignalLatitude, vm.TicketInfo.OrignalLongitude);\r\n\t\t\t// function custUpdatedLatLong(orgLat) {\r\n\t\t\t// \treturn isFinite(orgLat) && Math.abs(orgLat) <= 90;\r\n\t\t\t// }\r\n\r\n\t\t\t// function custUpdatedLatLong(orgLong) {\r\n\t\t\t// \treturn isFinite(orgLong) && Math.abs(orgLong) <= 180;\r\n\t\t\t// }\r\n\t\t\t// const regexExp = /^((\\-?|\\+?)?\\d+(\\.\\d+)?),\\s*((\\-?|\\+?)?\\d+(\\.\\d+)?)$/gi;\r\n\t\t\tif ((orgLat > 0 && orgLat <= 90) && (orgLong > 0 && orgLong <= 180)) {\r\n\t\t\t\tvar myOptions = {\r\n\t\t\t\t\tzoom: 8,\r\n\t\t\t\t\tzoomControl: false,\r\n\t\t\t\t\tscaleControl: true,\r\n\t\t\t\t\tmapTypeControl: false,\r\n\t\t\t\t\tstreetViewControl: false,\r\n\t\t\t\t\tgestureHandling: 'greedy',\r\n\t\t\t\t\t// center: center,\r\n\t\t\t\t\tmapTypeId: google.maps.MapTypeId.ROADMAP\r\n\t\t\t\t},\r\n\r\n\t\t\t\t\tmap = new google.maps.Map(document.getElementById('map-canvas'), myOptions),\r\n\t\t\t\t\t// Instantiate a directions service.\r\n\t\t\t\t\tdirectionsService = new google.maps.DirectionsService,\r\n\t\t\t\t\tdirectionsDisplay = new google.maps.DirectionsRenderer({\r\n\t\t\t\t\t\tmap: map\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tduration = document.getElementById('duration');\r\n\t\t\t\tdistance = document.getElementById('distance');\r\n\t\t\t\tflightPath = new google.maps.Polyline({\r\n\t\t\t\t\tpath: [origLatLong, custUpdatedLatLong],\r\n\t\t\t\t\tstrokeColor: 'red',\r\n\t\t\t\t});\r\n\t\t\t\t$scope.InfoWindow = new google.maps.InfoWindow();\r\n\t\t\t\t$scope.Latlngbounds = new google.maps.LatLngBounds();\r\n\t\t\t\tcustcalculateAndDisplayRoute(directionsService, directionsDisplay, origLatLong, custUpdatedLatLong, distance, duration, map);\r\n\t\t\t\tvar travelMode = \"DRIVING\";\r\n\t\t\t\tvar icon = \"https://img.icons8.com/color/96/000000/street-view.png\";\r\n\t\t\t} else {\r\n\t\t\t\tvar mapOptions = {\r\n\t\t\t\t\tzoom: 15,\r\n\t\t\t\t\tscaleControl: true,\r\n\t\t\t\t\tgestureHandling: 'greedy',\r\n\t\t\t\t\tmapTypeId: google.maps.MapTypeId.ROADMAP,\r\n\t\t\t\t\tcenter: origLatLong\r\n\t\t\t\t}\r\n\t\t\t\tvar map = new google.maps.Map(document.getElementById(\"map-canvas\"), mapOptions);\r\n\r\n\t\t\t\tvar marker = new google.maps.Marker({\r\n\t\t\t\t\tposition: origLatLong,\r\n\t\t\t\t\ticon: icons.start\r\n\t\t\t\t});\r\n\r\n\t\t\t\t$scope.InfoWindow = new google.maps.InfoWindow();\r\n\t\t\t\t$scope.Latlngbounds = new google.maps.LatLngBounds();\r\n\r\n\t\t\t\tvar ticketinformation = vm.TicketInfo;\r\n\r\n\t\t\t\t//Adding InfoWindow to the Marker.\r\n\t\t\t\t(function (marker, ticketinformation) {\r\n\t\t\t\t\tgoogle.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n\t\t\t\t\t\t$scope.InfoWindow.setContent(\"

Original Address

\" + ' ' + vm.TicketInfo.Latitude + ' ' + \" \" + ' ' + vm.TicketInfo.Longitude);\r\n\t\t\t\t\t\t$scope.InfoWindow.open(map, marker);\r\n\t\t\t\t\t});\r\n\t\t\t\t\tgoogle.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n\t\t\t\t\t\t$scope.InfoWindow.close(map, marker);\r\n\t\t\t\t\t});\r\n\t\t\t\t})(marker, ticketinformation);\r\n\r\n\t\t\t\t// To add the marker to the map, call setMap();\r\n\t\t\t\tmarker.setMap(map);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tfunction calculateAndDisplayRoute(directionsService, directionsDisplay, pointA, pointB, distance, duration, map) {\r\n\t\t\tvar selectedMode = \"DRIVING\";\r\n\t\t\tdirectionsService.route({\r\n\t\t\t\torigin: pointA,\r\n\t\t\t\tdestination: pointB,\r\n\t\t\t\tunitSystem: google.maps.UnitSystem.METRIC,\r\n\t\t\t\ttravelMode: google.maps.TravelMode[selectedMode]\r\n\t\t\t}, function (response, status) {\r\n\t\t\t\tif (status == google.maps.DirectionsStatus.OK) {\r\n\t\t\t\t\tnew google.maps.DirectionsRenderer({\r\n\t\t\t\t\t\tmap: map,\r\n\t\t\t\t\t\tdirections: response,\r\n\t\t\t\t\t\tsuppressMarkers: true,\r\n\t\t\t\t\t\tpolylineOptions: {\r\n\t\t\t\t\t\t\tstrokeColor: \"#000000\"\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tvar leg = response.routes[0].legs[0];\r\n\t\t\t\t\t//outputTxt.innerHTML =(response.routes[0].legs[0].distance.value/1000) + \" Kms\";\r\n\t\t\t\t\tdistance.innerHTML = response.routes[0].legs[0].distance.text;\r\n\t\t\t\t\tduration.innerHTML = response.routes[0].legs[0].duration.text;\r\n\t\t\t\t\tvm.distance = response.routes[0].legs[0].distance.value / 1000;\r\n\t\t\t\t\tvm.makeJobMarker(leg.start_location, icons.start, map);\r\n\t\t\t\t\tvm.makeUserMarker(leg.end_location, icons.end, map);\r\n\t\t\t\t} else {\r\n\t\t\t\t\twindow.alert('Directions request failed due to ' + status);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\r\n\t\tfunction custcalculateAndDisplayRoute(directionsService, directionsDisplay, origLatLong, custUpdatedLatLong, distance, duration, map) {\r\n\t\t\tvar selectedMode = \"DRIVING\";\r\n\t\t\tdirectionsService.route({\r\n\t\t\t\torigin: origLatLong,\r\n\t\t\t\tdestination: custUpdatedLatLong,\r\n\t\t\t\tunitSystem: google.maps.UnitSystem.METRIC,\r\n\t\t\t\ttravelMode: google.maps.TravelMode[selectedMode]\r\n\t\t\t}, function (response, status) {\r\n\t\t\t\tif (status == google.maps.DirectionsStatus.OK) {\r\n\t\t\t\t\tnew google.maps.DirectionsRenderer({\r\n\t\t\t\t\t\tmap: map,\r\n\t\t\t\t\t\tdirections: response,\r\n\t\t\t\t\t\tsuppressMarkers: true,\r\n\t\t\t\t\t\tpolylineOptions: {\r\n\t\t\t\t\t\t\tstrokeColor: \"#000000\"\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tvar leg = response.routes[0].legs[0];\r\n\t\t\t\t\t//outputTxt.innerHTML =(response.routes[0].legs[0].distance.value/1000) + \" Kms\";\r\n\t\t\t\t\tdistance.innerHTML = response.routes[0].legs[0].distance.text;\r\n\t\t\t\t\tduration.innerHTML = response.routes[0].legs[0].duration.text;\r\n\t\t\t\t\tvm.distance = response.routes[0].legs[0].distance.value / 1000;\r\n\t\t\t\t\tvm.customermakeJobMarker(leg.start_location, icons.start, map);\r\n\t\t\t\t\tvm.customermakeUserMarker(leg.start_location, icons.custstart, map);\r\n\r\n\t\t\t\t\tvm.customermakeJobMarker = function (position, icon, map) {\r\n\t\t\t\t\t\tvar marker = new google.maps.Marker({\r\n\t\t\t\t\t\t\tposition: position,\r\n\t\t\t\t\t\t\tmap: map,\r\n\t\t\t\t\t\t\ticon: icons.start\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\t//Adding InfoWindow to the Marker.\r\n\t\t\t\t\t\t(function (marker, customerJobCard) {\r\n\t\t\t\t\t\t\tgoogle.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n\t\t\t\t\t\t\t\t$scope.InfoWindow.setContent(\"

Original Address

\" + ' ' + vm.TicketInfo.Latitude + \"\" + ' ' + vm.TicketInfo.Longitude); $scope.InfoWindow.open($scope.Map, marker);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tgoogle.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n\t\t\t\t\t\t\t\t$scope.InfoWindow.close(vm.Map, marker);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t})(marker, vm.customerJobCard);\r\n\r\n\t\t\t\t\t\t//Plotting the Marker on the Map.\r\n\t\t\t\t\t\t$scope.Latlngbounds.extend(marker.position);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\t(leg.end_location, icons.end, map);\r\n\t\t\t\t} else {\r\n\t\t\t\t\twindow.alert('Directions request failed due to ' + status);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvar icons = {\r\n\t\t\tstart: new google.maps.MarkerImage(\r\n\t\t\t\t// URL\r\n\t\t\t\tUIURL + '/assets/images/patterns/JOb_icon.png',\r\n\t\t\t\t// (width,height)\r\n\t\t\t\tnew google.maps.Size(44, 32),\r\n\t\t\t\t// The origin point (x,y)\r\n\t\t\t\tnew google.maps.Point(0, 0),\r\n\t\t\t\t// The anchor point (x,y)\r\n\t\t\t\tnew google.maps.Point(22, 32)),\r\n\t\t\tcuststart: new google.maps.MarkerImage(\r\n\t\t\t\t// URL\r\n\t\t\t\tUIURL + '/assets/images/patterns/about.png',\r\n\t\t\t\t// (width,height)\r\n\t\t\t\tnew google.maps.Size(44, 32),\r\n\t\t\t\t// The origin point (x,y)\r\n\t\t\t\tnew google.maps.Point(0, 0),\r\n\t\t\t\t// The anchor point (x,y)\r\n\t\t\t\tnew google.maps.Point(22, 32)),\r\n\t\t\tend: new google.maps.MarkerImage(\r\n\t\t\t\t// URL\r\n\t\t\t\tUIURL + '/assets/images/patterns/delivery-man1.png',\r\n\t\t\t\t// (width,height)\r\n\t\t\t\tnew google.maps.Size(44, 32),\r\n\t\t\t\t// The origin point (x,y)\r\n\t\t\t\tnew google.maps.Point(0, 0),\r\n\t\t\t\t// The anchor point (x,y)\r\n\t\t\t\tnew google.maps.Point(22, 32))\r\n\t\t};\r\n\r\n\r\n\t\tdisplayJobOnMap = function () {\r\n\t\t\tsetTimeout(function () {\r\n\t\t\t\tShowJobOnMap();\r\n\t\t\t}, 500);\r\n\t\t};\r\n\r\n\t\tfunction ShowJobOnMap() {\r\n\t\t\tvar pointA = new google.maps.LatLng(vm.TicketInfo.Latitude, vm.TicketInfo.Longitude);\r\n\t\t\t//var myLatlng = new google.maps.LatLng(-25.363882,131.044922);\r\n\t\t\tvar mapOptions = {\r\n\t\t\t\tzoom: 15,\r\n\t\t\t\tscaleControl: true,\r\n\t\t\t\tgestureHandling: 'greedy',\r\n\t\t\t\tmapTypeId: google.maps.MapTypeId.ROADMAP,\r\n\t\t\t\tcenter: pointA\r\n\t\t\t}\r\n\t\t\tvar map = new google.maps.Map(document.getElementById(\"map-canvas\"), mapOptions);\r\n\r\n\t\t\tvar marker = new google.maps.Marker({\r\n\t\t\t\tposition: pointA,\r\n\t\t\t\ticon: icons.start\r\n\t\t\t});\r\n\r\n\t\t\t$scope.InfoWindow = new google.maps.InfoWindow();\r\n\t\t\t$scope.Latlngbounds = new google.maps.LatLngBounds();\r\n\r\n\t\t\tvar ticketinformation = vm.TicketInfo;\r\n\r\n\t\t\t//Adding InfoWindow to the Marker.\r\n\t\t\t(function (marker, ticketinformation) {\r\n\t\t\t\tgoogle.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n\t\t\t\t\t$scope.InfoWindow.setContent(\"

\" + vm.TicketInfo.ConsumerName + \"

\" + ' ' + vm.TicketInfo.ConsumerContact);\r\n\t\t\t\t\t$scope.InfoWindow.open(map, marker);\r\n\t\t\t\t});\r\n\t\t\t\tgoogle.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n\t\t\t\t\t$scope.InfoWindow.close(map, marker);\r\n\t\t\t\t});\r\n\t\t\t})(marker, ticketinformation);\r\n\r\n\t\t\t// To add the marker to the map, call setMap();\r\n\t\t\tmarker.setMap(map);\r\n\r\n\t\t}\r\n\r\n\t\t// Start chat section and developed by Satya\r\n\r\n\t\tvm.getPicUrl = function (pic) {\r\n\t\t\treturn ImageUrl + \"/\" + pic;\r\n\t\t}\r\n\t\tvar pageloadselecteduserid = \"\";\r\n\t\tvar pageloadselectedusername = \"\";\r\n\t\tvm.getTicketUserList = function (loggedinUser, ticketId, token) {\r\n\t\t\tJobDetailViewService.GetUsersByTicketId(loggedinUser, ticketId, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\tvm.UserListByTicketId = resp.data;\r\n\t\t\t\t\tif (resp.data.length > 0) {\r\n\t\t\t\t\t\t//chatfooterrow.visible=true;\r\n\t\t\t\t\t\tpageloadselecteduserid = resp.data[0].UserId;\r\n\t\t\t\t\t\tpageloadselectedusername = resp.data[0].FirstName + \" \" + resp.data[0].LastName;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t\tvm.getTicketUserList(loggedinUser, uTicketId, token);\r\n\t\tvm.PressEnter = function (event, chatReceiverId, messageText) {\r\n\t\t\tif (event.keyCode == '13') {\r\n\t\t\t\tvm.sendMessage(chatReceiverId, messageText);\r\n\t\t\t}\r\n\t\t}\r\n\t\tvm.LoadMessageToReadMessageStatus = function (TicketIdtoRead) {\r\n\t\t\tif (!TicketIdtoRead) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tvar query = firebase.firestore().collection('chats')\r\n\t\t\t\t.where(\"ReceiverId\", \"==\", loggedinUser);\r\n\t\t\tvar query1 = query.where(\"TicketId\", \"==\", TicketIdtoRead);\r\n\t\t\tquery1.get().then(function (querySnapshot) {\r\n\t\t\t\tif (querySnapshot.docs.length > 0) {\r\n\t\t\t\t\tquerySnapshot.forEach(function (doc) {\r\n\t\t\t\t\t\tvar message = doc.data();\r\n\t\t\t\t\t\tvar NotifyLength = message.Notify.length;\r\n\t\t\t\t\t\tvar MessageStatusLength = message.MessageStatus.length;\r\n\t\t\t\t\t\tvar messageLength = message.messages.length;\r\n\t\t\t\t\t\tvar TotalNewMessageNotify = messageLength - NotifyLength;\r\n\t\t\t\t\t\tvar TotalNewMessageStatus = messageLength - MessageStatusLength;\r\n\t\t\t\t\t\tvar docRef = firebase.firestore().collection('chats').doc(doc.id);\r\n\t\t\t\t\t\tvar newMessageStatusLength = 0;\r\n\t\t\t\t\t\tvar newNotifyLength = 0;\r\n\t\t\t\t\t\tfor (var i = 0; i < TotalNewMessageStatus; i++) {\r\n\t\t\t\t\t\t\tif (newMessageStatusLength == 0)\r\n\t\t\t\t\t\t\t\tnewMessageStatusLength = MessageStatusLength + 1;\r\n\t\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t\tnewMessageStatusLength = newMessageStatusLength + 1;\r\n\r\n\t\t\t\t\t\t\tdocRef.update({ MessageStatus: firebase.firestore.FieldValue.arrayUnion(newMessageStatusLength) });\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tfor (var i = 0; i < TotalNewMessageNotify; i++) {\r\n\t\t\t\t\t\t\tif (newNotifyLength == 0)\r\n\t\t\t\t\t\t\t\tnewNotifyLength = NotifyLength + 1;\r\n\t\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t\tnewNotifyLength = newNotifyLength + 1;\r\n\r\n\t\t\t\t\t\t\tdocRef.update({ Notify: firebase.firestore.FieldValue.arrayUnion(newNotifyLength) });\r\n\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tvar activeonchat = false;\r\n\t\tvm.getChatOnPageLoad = function () {\r\n\t\t\tactiveonchat = true;\r\n\t\t\tvm.getUserChat(pageloadselecteduserid, pageloadselectedusername, 0);\r\n\t\t}\r\n\r\n\t\tvm.getUserDetailstochat = function (ChatUserId) {\r\n\t\t\tvar username = \"\";\r\n\t\t\tvar upicture = \"\";\r\n\t\t\tfor (var i = 0; i < vm.UserListByTicketId.length; i++) {\r\n\t\t\t\tif (vm.UserListByTicketId[i].UserId == ChatUserId) {\r\n\t\t\t\t\tusername = vm.UserListByTicketId[i].FirstName + \" \" + vm.UserListByTicketId[i].LastName;\r\n\t\t\t\t\tupicture = vm.UserListByTicketId[i].Picture == '' || vm.UserListByTicketId[i].Picture == null ? 'assets/images/patterns/photo2.jpg' : vm.getPicUrl(vm.UserListByTicketId[i].Picture);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn {\r\n\t\t\t\tUserName: username,\r\n\t\t\t\tuPicture: upicture\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t\tvm.PreviousIndex = 0;\r\n\t\tvar currentelementId = \"\";\r\n\t\tvar previouselementId = \"\";\r\n\t\tvm.chatReceiverId = \"\";\r\n\t\tvm.getUserChat = function (chatUserId, chatUserName, index) {\r\n\t\t\tvm.chatDisplayUserName = chatUserName;\r\n\t\t\tvm.chatReceiverId = chatUserId;\r\n\t\t\tvar ChatTicketId = \"\";\r\n\t\t\tif (loggedinUser < chatUserId)\r\n\t\t\t\tChatTicketId = uTicketId + \"_\" + loggedinUser + \"_\" + chatUserId;\r\n\t\t\telse\r\n\t\t\t\tChatTicketId = uTicketId + \"_\" + chatUserId + \"_\" + loggedinUser;\r\n\r\n\t\t\tvm.loadMessages(ChatTicketId);\r\n\r\n\t\t\tvm.LoadMessageToReadMessageStatus(ChatTicketId);\r\n\r\n\t\t\tif (vm.PreviousIndex == 0) {\r\n\t\t\t\tpreviouselementId = '#DivChatUserList' + vm.PreviousIndex;\r\n\t\t\t\t$(previouselementId).removeClass('chatuseractive');\r\n\t\t\t\tvm.PreviousIndex = index;\r\n\t\t\t\tcurrentelementId = '#DivChatUserList' + index;\r\n\t\t\t\t$(currentelementId).addClass('chatuseractive');\r\n\t\t\t}\r\n\t\t\telse if (vm.PreviousIndex != index) {\r\n\t\t\t\tcurrentelementId = '#DivChatUserList' + index;\r\n\t\t\t\tpreviouselementId = '#DivChatUserList' + vm.PreviousIndex;\r\n\t\t\t\t$(previouselementId).removeClass('chatuseractive');\r\n\t\t\t\t$(currentelementId).addClass('chatuseractive');\r\n\t\t\t\tvm.PreviousIndex = index;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tvm.getFileType = function (url) {\r\n\t\t\tif (url == null || url == \"\") {\r\n\t\t\t\treturn \"others\";\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif (url.indexOf(\".jpg\") >= 0 || url.indexOf(\".jpeg\") >= 0 || url.indexOf(\".png\") >= 0 || url.indexOf(\".bmp\") >= 0 || url.indexOf(\".JPG\") >= 0 || url.indexOf(\".JPEG\") >= 0 || url.indexOf(\".PNG\") >= 0 || url.indexOf(\".BMP\") >= 0) {\r\n\t\t\t\t\treturn \"image\";\r\n\t\t\t\t} else if (url.indexOf(\".pdf\") >= 0 || url.indexOf(\".PDF\") >= 0) {\r\n\t\t\t\t\treturn \"pdf\";\r\n\t\t\t\t} else if (url.indexOf(\".xls\") >= 0 || url.indexOf(\".xlsx\") >= 0 || url.indexOf(\".XLS\") >= 0 || url.indexOf(\".XLSX\") >= 0) {\r\n\t\t\t\t\treturn \"xls\";\r\n\t\t\t\t} else if (url.indexOf(\".doc\") >= 0 || url.indexOf(\".docx\") >= 0 || url.indexOf(\".DOC\") >= 0 || url.indexOf(\".DOCX\") >= 0) {\r\n\t\t\t\t\treturn \"doc\";\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\treturn \"others\";\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.ViewJobCombo = function (ticket) {\r\n\t\t\t$localStorage.backToOldJobList = '';\r\n\t\t\t$localStorage.previousPage = 'jobticketcopy';\r\n\t\t\t$state.go('index.JobDetailViewCombo', {\r\n\t\t\t\tticketId: ticket\r\n\t\t\t});\r\n\t\t}\r\n\r\n\r\n\t\tvm.createMessages = function (ticketId, subMessagedata, chatreceiverid) {\r\n\t\t\tvar data = {\r\n\t\t\t\tTicketId: ticketId,\r\n\t\t\t\tNotify: [],\r\n\t\t\t\tMessageStatus: [],\r\n\t\t\t\tReceiverId: chatreceiverid,\r\n\t\t\t\tCreateDate: firebase.firestore.FieldValue.serverTimestamp(),\r\n\t\t\t\tmessages: [subMessagedata]\r\n\t\t\t};\r\n\t\t\tvar docRef = firebase.firestore().collection('chats').add(data);\r\n\t\t}\r\n\r\n\t\tvm.sendMessage = function (chatreceiverid, content) {\r\n\t\t\tif (!content) {\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Please enter message to chat.\");\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvar ChatTicketId = \"\";\r\n\t\t\t\tif (loggedinUser < chatreceiverid)\r\n\t\t\t\t\tChatTicketId = uTicketId + \"_\" + loggedinUser + \"_\" + chatreceiverid;\r\n\t\t\t\telse\r\n\t\t\t\t\tChatTicketId = uTicketId + \"_\" + chatreceiverid + \"_\" + loggedinUser;\r\n\r\n\t\t\t\t//var status = 'New';\r\n\t\t\t\tvar url = '';\r\n\t\t\t\tvar messagetype = 'Text';\r\n\r\n\t\t\t\tvar subMessagedata = {\r\n\t\t\t\t\tSenderId: loggedinUser,\r\n\t\t\t\t\tReceiverId: chatreceiverid,\r\n\t\t\t\t\tUrl: url,\r\n\t\t\t\t\tMessageType: messagetype,\r\n\t\t\t\t\tTimestamp: new Date(),\r\n\t\t\t\t\tContent: content\r\n\t\t\t\t};\r\n\r\n\t\t\t\tvar query = firebase.firestore().collection(\"chats\")\r\n\t\t\t\t\t.where(\"TicketId\", \"==\", ChatTicketId);\r\n\r\n\t\t\t\tquery.get().then(function (querySnapshot) {\r\n\t\t\t\t\tif (querySnapshot.docs.length > 0) {\r\n\t\t\t\t\t\tquerySnapshot.forEach(function (doc) {\r\n\r\n\t\t\t\t\t\t\tif (doc.data().TicketId == ChatTicketId) {\r\n\t\t\t\t\t\t\t\tvar docRef = firebase.firestore().collection('chats').doc(doc.id);\r\n\t\t\t\t\t\t\t\tdocRef.update({ ReceiverId: chatreceiverid });\r\n\t\t\t\t\t\t\t\tdocRef.update({ messages: firebase.firestore.FieldValue.arrayUnion(subMessagedata) });\r\n\t\t\t\t\t\t\t\t//vm.LoadMessageToReadMessageStatus(ChatTicketId);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\tvm.createMessages(ChatTicketId, subMessagedata, chatreceiverid);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.createMessages(ChatTicketId, subMessagedata, chatreceiverid);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tcontent = \"\";\r\n\t\t\tvm.messageText = \"\";\r\n\t\t}\r\n\r\n\t\t// Loads chat messages history and listens for upcoming ones.\r\n\t\tvm.loadMessages = function (chatticketid) {\r\n\t\t\tvar query = firebase.firestore()\r\n\t\t\t\t.collection('chats')\r\n\t\t\t\t.where(\"TicketId\", \"==\", chatticketid)\r\n\t\t\t\t.limit(1);\r\n\t\t\t// Start listening to the query.\r\n\t\t\tvar unsubscribe = query.onSnapshot(function (snapshot) {\r\n\t\t\t\tvar allMessage = \"\";\r\n\t\t\t\tsnapshot.docChanges().forEach(function (change) {\r\n\r\n\t\t\t\t\tif (change.type === 'removed') {\r\n\t\t\t\t\t\t// deleteMessage(change.doc.id);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvar message = change.doc.data();\r\n\r\n\t\t\t\t\t\tallMessage = \"
\";\r\n\t\t\t\t\t\tfor (var i = 0; i < message.messages.length; i++) {\r\n\t\t\t\t\t\t\tif (message.messages.length > 0) {\r\n\t\t\t\t\t\t\t\tvar uPicture = loggedinUserImage == '' || loggedinUserImage == null ? 'assets/images/patterns/photo2.jpg' : vm.getPicUrl(loggedinUserImage);\r\n\t\t\t\t\t\t\t\tif (message.messages[i].SenderId == loggedinUser) {\r\n\t\t\t\t\t\t\t\t\tvar Rightcontent = \"\";\r\n\t\t\t\t\t\t\t\t\tif (message.messages[i].MessageType == \"Text\")\r\n\t\t\t\t\t\t\t\t\t\tRightcontent = \"\" + message.messages[i].Content + \"\"\r\n\r\n\t\t\t\t\t\t\t\t\tvar RightuploadImage = \"\";\r\n\t\t\t\t\t\t\t\t\tif (message.messages[i].MessageType == \"Image\") {\r\n\t\t\t\t\t\t\t\t\t\tRightuploadImage += \"\"\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tvar Rightuploadpdf = \"\";\r\n\t\t\t\t\t\t\t\t\tif (message.messages[i].MessageType == \"PDF\")\r\n\t\t\t\t\t\t\t\t\t\tRightuploadpdf = \"\"\r\n\t\t\t\t\t\t\t\t\tvar Rightuploadvideo = \"\";\r\n\t\t\t\t\t\t\t\t\tif (message.messages[i].MessageType == \"Video\")\r\n\t\t\t\t\t\t\t\t\t\tRightuploadvideo = \"
\"\r\n\r\n\t\t\t\t\t\t\t\t\tallMessage += \"
\"\r\n\t\t\t\t\t\t\t\t\t\t+ \"\"\r\n\t\t\t\t\t\t\t\t\t\t+ \"
\"\r\n\t\t\t\t\t\t\t\t\t\t+ \" \" + loggedinUserName + \" \"\r\n\t\t\t\t\t\t\t\t\t\t+ \" \" + moment.unix(message.messages[i].Timestamp.seconds).format(\"ddd MMM DD YYYY - h:mm:ss\") + \"\"\r\n\t\t\t\t\t\t\t\t\t\t+ Rightcontent\r\n\t\t\t\t\t\t\t\t\t\t+ RightuploadImage\r\n\t\t\t\t\t\t\t\t\t\t+ Rightuploadpdf\r\n\t\t\t\t\t\t\t\t\t\t+ Rightuploadvideo\r\n\t\t\t\t\t\t\t\t\t\t+ \"
\"\r\n\t\t\t\t\t\t\t\t\t\t+ \"
\"\r\n\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse if (message.messages[i].ReceiverId == loggedinUser) {\r\n\t\t\t\t\t\t\t\t\tvar Leftcontent = \"\";\r\n\t\t\t\t\t\t\t\t\tif (message.messages[i].MessageType == \"Text\")\r\n\t\t\t\t\t\t\t\t\t\tLeftcontent = \"\" + message.messages[i].Content + \"\"\r\n\r\n\t\t\t\t\t\t\t\t\tvar LeftuploadImage = \"\";\r\n\t\t\t\t\t\t\t\t\tif (message.messages[i].MessageType == \"Image\") {\r\n\t\t\t\t\t\t\t\t\t\tLeftuploadImage += \"\"\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tvar Leftuploadpdf = \"\";\r\n\t\t\t\t\t\t\t\t\tif (message.messages[i].MessageType == \"PDF\")\r\n\t\t\t\t\t\t\t\t\t\tLeftuploadpdf = \"\"\r\n\t\t\t\t\t\t\t\t\tvar Leftuploadvideo = \"\";\r\n\t\t\t\t\t\t\t\t\tif (message.messages[i].MessageType == \"Video\")\r\n\t\t\t\t\t\t\t\t\t\tLeftuploadvideo = \"
\"\r\n\r\n\t\t\t\t\t\t\t\t\tallMessage += \"
\"\r\n\t\t\t\t\t\t\t\t\t\t+ \"\"\r\n\t\t\t\t\t\t\t\t\t\t+ \"
\"\r\n\t\t\t\t\t\t\t\t\t\t+ \" \" + vm.getUserDetailstochat(message.messages[i].SenderId).UserName + \"\"\r\n\t\t\t\t\t\t\t\t\t\t+ \" \" + moment.unix(message.messages[i].Timestamp.seconds).format(\"ddd MMM DD YYYY - h:mm:ss\") + \"\"\r\n\t\t\t\t\t\t\t\t\t\t+ Leftcontent\r\n\t\t\t\t\t\t\t\t\t\t+ LeftuploadImage\r\n\t\t\t\t\t\t\t\t\t\t+ Leftuploadpdf\r\n\t\t\t\t\t\t\t\t\t\t+ Leftuploadvideo\r\n\t\t\t\t\t\t\t\t\t\t+ \"
\"\r\n\t\t\t\t\t\t\t\t\t\t+ \"
\"\r\n\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tallMessage += \"
\";\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\t$('#chatMessageBox').html(allMessage);\r\n\t\t\t\tallMessage = \"\";\r\n\t\t\t\tvar objDiv = document.getElementById(\"scrolldiv\");\r\n\t\t\t\tobjDiv.scrollTop = objDiv.scrollHeight;\r\n\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.saveImageMessage = function (file, chatreceiverid) {\r\n\t\t\t// TODO 9: Posts a new image as a message.\r\n\t\t\t// 1 - We add a message with a loading icon that will get updated with the shared image.\r\n\t\t\tvar ChatTicketId = \"\";\r\n\t\t\tif (loggedinUser < chatreceiverid)\r\n\t\t\t\tChatTicketId = uTicketId + \"_\" + loggedinUser + \"_\" + chatreceiverid;\r\n\t\t\telse\r\n\t\t\t\tChatTicketId = uTicketId + \"_\" + chatreceiverid + \"_\" + loggedinUser;\r\n\r\n\t\t\tvar query = firebase.firestore().collection(\"chats\")\r\n\t\t\t\t.where(\"TicketId\", \"==\", ChatTicketId)\r\n\r\n\t\t\tquery.get().then(function (querySnapshot) {\r\n\t\t\t\tif (querySnapshot.docs.length > 0) {\r\n\t\t\t\t\tquerySnapshot.forEach(function (doc) {\r\n\t\t\t\t\t\tif (doc.data().TicketId == ChatTicketId) {\r\n\t\t\t\t\t\t\t//var status = 'New';\r\n\t\t\t\t\t\t\tvar url = '';\r\n\t\t\t\t\t\t\tvar messagetype = '';\r\n\t\t\t\t\t\t\tif (file.type == \"application/pdf\")\r\n\t\t\t\t\t\t\t\tmessagetype = 'PDF';\r\n\t\t\t\t\t\t\telse if (file.type == \"image/jpg\" || file.type == \"image/png\" || file.type == \"image/jpeg\" || file.type == \"image/bmp\")\r\n\t\t\t\t\t\t\t\tmessagetype = 'Image';\r\n\t\t\t\t\t\t\telse if (file.type == \"video/mp4\")\r\n\t\t\t\t\t\t\t\tmessagetype = 'Video';\r\n\r\n\t\t\t\t\t\t\tvar filePath = loggedinUser + '/' + doc.id + '/' + file.name;\r\n\t\t\t\t\t\t\treturn firebase.storage().ref(filePath).put(file).then(function (fileSnapshot) {\r\n\t\t\t\t\t\t\t\t// 3 - Generate a public URL for the file.\r\n\t\t\t\t\t\t\t\treturn fileSnapshot.ref.getDownloadURL().then(function (url) {\r\n\t\t\t\t\t\t\t\t\t// 4 - Update the chat message placeholder with the image's URL.\r\n\t\t\t\t\t\t\t\t\tvar subMessagedata = {\r\n\t\t\t\t\t\t\t\t\t\tSenderId: loggedinUser,\r\n\t\t\t\t\t\t\t\t\t\tReceiverId: chatreceiverid,\r\n\t\t\t\t\t\t\t\t\t\tUrl: url,\r\n\t\t\t\t\t\t\t\t\t\tMessageType: messagetype,\r\n\t\t\t\t\t\t\t\t\t\tTimestamp: new Date(),\r\n\t\t\t\t\t\t\t\t\t\tContent: '',\r\n\t\t\t\t\t\t\t\t\t\tstorageUri: fileSnapshot.metadata.fullPath\r\n\t\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\t\tvar docRef = firebase.firestore().collection('chats').doc(doc.id);\r\n\t\t\t\t\t\t\t\t\tdocRef.update({ ReceiverId: chatreceiverid });\r\n\t\t\t\t\t\t\t\t\treturn docRef.update({ messages: firebase.firestore.FieldValue.arrayUnion(subMessagedata) });\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.changeChatFile = function (selector) {\r\n\t\t\tangular.element(selector).trigger(\"click\");\r\n\t\t}\r\n\t\t$scope.uploadChatImageFile = function (files) {\r\n\t\t\tvar file = files.files[0];\r\n\t\t\tif (file.type.indexOf(\"image/jpg\") >= 0 || file.type.indexOf(\"image/png\") >= 0 || file.type.indexOf(\"image/bmp\") >= 0 || file.type.indexOf(\"image/jpeg\") >= 0 || file.type.indexOf(\"application/pdf\") >= 0) {\r\n\t\t\t\tif (file.size > 2097152) {\r\n\t\t\t\t\talert(\"File size must under 2 MB\");\r\n\t\t\t\t\treturn;\r\n\t\t\t\t} else vm.saveImageMessage(file, vm.chatReceiverId);\r\n\t\t\t}\r\n\t\t\telse if (file.type.indexOf(\"video/mp4\") >= 0) {\r\n\t\t\t\tvm.saveImageMessage(file, vm.chatReceiverId);\r\n\t\t\t}\r\n\t\t\telse {\r\n\r\n\t\t\t\talert(\"Please upload image, pdf and mp4 video only\");\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\t// End chat section\r\n\t\tvm.minDate = new Date(); \r\n\t\tvar scdt = new Date();\r\n\t\tscdt.setMinutes(scdt.getMinutes() + 30);\r\n\t\tvm.SourceCreationDate = scdt;\r\n\t\tvar pcdt = new Date();\r\n\t\tpcdt.setDate(pcdt.getDate() + 7);\r\n\t\tvm.PlannedClosureDate = pcdt;\r\n\r\n\t\tvm.openCalendar = function (e, picker) {\r\n\t\t\tvm.AppointmentsDate.open = true;\r\n\t\t\tvm.ClosureDateTime.open = true;\r\n\t\t};\r\n\r\n\t\tvar Closuredatelimit = new Date();\r\n\t\t// Closuredatelimit.setMinutes(Closuredatelimit.getMinutes() + 1)\r\n\t\tvm.ClosureDateTime = { date: '', datepickerOptions: { minDate: Closuredatelimit } };\r\n\r\n\t\tvar datelimit = new Date();\r\n\r\n\t\tdatelimit.setMinutes(datelimit.getMinutes() + 1)\r\n\t\t// vm.AppointmentsDate = { date: '', datepickerOptions: { minDate: datelimit }, dateFormat: \"yy/mm/dd\" };\r\n\t\tvm.AppointmentsDate = {\r\n\t\t\tminDate: new Date(), // Today\r\n\t\t\tmaxDate: new Date(new Date().setDate(new Date().getDate() + 3)), // 3 days from today\r\n\t\t\tdatepickerOptions: {\r\n\t\t\t\tminDate: new Date(),\r\n\t\t\t\tmaxDate: new Date(new Date().setDate(new Date().getDate() + 3))\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tvm.openCalendarEndDate = function (e, picker) {\r\n\t\t\tvm.AppointmentsEndDate.open = true;\r\n\t\t};\r\n\r\n\t\tvar EndDatelimit = new Date();\r\n\t\tEndDatelimit.setMinutes(EndDatelimit.getMinutes() + 1)\r\n\t\tvm.AppointmentsEndDate = { date: '', datepickerOptions: { minDate: EndDatelimit } };\r\n\r\n\t\tvm.ViewProfile = function (UserId, UserType) {\r\n\r\n\t\t\tJobTicketViewService.getUserProfileData(loggedinUser, UserId, token).then(function (res) {\r\n\t\t\t\tvm.UserProfileData = res.data;\r\n\t\t\t\tvm.customerrating = Number(vm.UserProfileData.CustomerRating).toFixed(1);\r\n\t\t\t\tif (vm.UserProfileData) {\r\n\t\t\t\t\tvm.AddPreferredVendorModal = $uibModal.open({\r\n\t\t\t\t\t\ttemplateUrl: 'UserProfile.html',\r\n\t\t\t\t\t\twindowClass: 'schedulerModal',\r\n\t\t\t\t\t\tscope: $scope,\r\n\t\t\t\t\t\treload: true\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvm.showFailure('Failed', 'User Not found');\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t}\r\n\r\n\t\tvm.UserProfileClose = function () {\r\n\t\t\tvm.AddPreferredVendorModal.close();\r\n\t\t}\r\n\r\n\t\tvm.GetServiceTax = function (data) {\r\n\t\t\tvm.GSTPercentange = data;\r\n\t\t}\r\n\t\tvm.GetMobCommission = function (data) {\r\n\t\t\tvm.MobiforceCommission = data;\r\n\t\t}\r\n\t\tJobDetailViewService.GetServiceTax(loggedinUser, token, vm.GetServiceTax);\r\n\t\tJobDetailViewService.GetMobCommission(loggedinUser, token, vm.GetMobCommission);\r\n\t\tvm.calculatePrice = function () {\r\n\r\n\t\t\tif (vm.serviceType == 'Free') {\r\n\r\n\t\t\t\tif (vm.TicketInfoEdit.BroadcastRate > 0) {\r\n\t\t\t\t\t// vm.TicketInfo.FreelancerRate = 0; \r\n\r\n\t\t\t\t\tvm.commission = vm.TicketInfoEdit.BroadcastRate * (vm.MobiforceCommission) / 100;\r\n\t\t\t\t\tvm.freelancerPricetemp = vm.TicketInfoEdit.BroadcastRate - vm.commission;\r\n\t\t\t\t\tvm.tPrice = vm.TicketInfoEdit.BroadcastRate;\r\n\t\t\t\t\tvm.tax = (Number(vm.tPrice) * Number(vm.GSTPercentange) / 100).toFixed(2);\r\n\t\t\t\t\tvm.TicketInfo.FreelancerRate = vm.freelancerPricetemp;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.tPrice = \"\";\r\n\t\t\t\t\tvm.commission = \"\";\r\n\t\t\t\t\tvm.tax = \"\";\r\n\t\t\t\t\tvm.freelancerPricetemp = '';\r\n\t\t\t\t\tvm.TicketInfo.FreelancerRate = \"\";\r\n\t\t\t\t}\r\n\t\t\t} else if (vm.serviceType == 'Paid') {\r\n\r\n\t\t\t\tif (vm.TicketInfoEdit.BroadcastRate > 0) {\r\n\t\t\t\t\t// vm.freelancerPrice = 0; \r\n\t\t\t\t\tvm.commission = vm.TicketInfoEdit.BroadcastRate * (vm.MobiforceCommission) / 100;\r\n\t\t\t\t\tvm.freelancerPricetemp = vm.TicketInfoEdit.BroadcastRate - vm.commission;\r\n\t\t\t\t\tvm.tax = (Number(vm.TicketInfoEdit.BroadcastRate) * Number(vm.GSTPercentange) / 100).toFixed(2);\r\n\t\t\t\t\tvm.tPrice = (Number(vm.TicketInfoEdit.BroadcastRate) + Number(vm.tax));\r\n\t\t\t\t\tvm.TicketInfo.FreelancerRate = vm.freelancerPricetemp;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvm.tPrice = \"\";\r\n\t\t\t\t\tvm.commission = \"\";\r\n\t\t\t\t\tvm.tax = \"\";\r\n\t\t\t\t\tvm.freelancerPricetemp = '';\r\n\t\t\t\t\tvm.TicketInfo.FreelancerRate = \"\";\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t\tvm.ConverttoDecimal = function (value) {\r\n\t\t\treturn (parseFloat(value).toFixed(2))\r\n\t\t}\r\n\r\n\t\tvm.calculateFreelancerPrice = function () {\r\n\t\t\tif (vm.serviceType == 'Free') {\r\n\t\t\t\tif (vm.TicketInfo.FreelancerRate > 0) {\r\n\t\t\t\t\tvm.TicketInfoEdit.BroadcastRate = 0;\r\n\t\t\t\t\tvm.freelancerPricetemp = vm.TicketInfo.FreelancerRate;\r\n\t\t\t\t\tvm.commission = (vm.TicketInfo.FreelancerRate * vm.MobiforceCommission) / (100 - 20);\r\n\t\t\t\t\tvm.tPrice = Number(vm.TicketInfo.FreelancerRate) + Number(vm.commission);\r\n\t\t\t\t\tvm.tax = vm.tPrice * (vm.GSTPercentange) / 100;\r\n\r\n\t\t\t\t\tvm.TicketInfoEdit.BroadcastRate = vm.tPrice;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.tPrice = \"\";\r\n\t\t\t\t\tvm.freelancerPricetemp = \"\";\r\n\t\t\t\t\tvm.commission = \"\";\r\n\t\t\t\t\tvm.tax = \"\";\r\n\t\t\t\t\tvm.TicketInfoEdit.BroadcastRate = '';\r\n\t\t\t\t}\r\n\r\n\t\t\t} else if (vm.serviceType == 'Paid') {\r\n\r\n\t\t\t\tif (vm.TicketInfo.FreelancerRate > 0) {\r\n\t\t\t\t\tvm.TicketInfoEdit.BroadcastRate = 0;\r\n\t\t\t\t\tvm.freelancerPricetemp = vm.TicketInfo.FreelancerRate;\r\n\t\t\t\t\tvm.commission = (vm.TicketInfo.FreelancerRate * vm.MobiforceCommission) / (100 - vm.MobiforceCommission);\r\n\t\t\t\t\tvm.tax = ((Number(vm.TicketInfo.FreelancerRate) + Number(vm.commission)) * Number(vm.GSTPercentange) / 100).toFixed(2);\r\n\t\t\t\t\tvm.tPrice = Number(Number(vm.TicketInfo.FreelancerRate) + Number(vm.commission)) + Number(vm.tax);\r\n\r\n\t\t\t\t\tvm.TicketInfoEdit.BroadcastRate = Number(Number(vm.TicketInfo.FreelancerRate) + Number(vm.commission));\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.tPrice = \"\";\r\n\t\t\t\t\tvm.freelancerPricetemp = \"\";\r\n\t\t\t\t\tvm.commission = \"\";\r\n\t\t\t\t\tvm.tax = \"\";\r\n\t\t\t\t\tvm.TicketInfoEdit.BroadcastRate = '';\r\n\t\t\t\t}\r\n\r\n\t\t\t}\r\n\t\t}\r\n\t\tvm.OnLoadLineItemDetails = function (LineItemTicketId) {\r\n\r\n\t\t\tvm.showTotal = true;\r\n\r\n\t\t\tJobDetailViewService.OnLoadLineItemDetails(loggedinUser, LineItemTicketId, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\tvm.LineItemList = resp.data.LineItemList;\r\n\t\t\t\t\tfor (var i = 0; i < vm.LineItemList.length; i++) {\r\n\t\t\t\t\t\tvar tData = {\r\n\t\t\t\t\t\t\tLineItemDescription: vm.LineItemList[i].LineItemDescription,\r\n\t\t\t\t\t\t\tLineItemCategory: vm.LineItemList[i].LineItemCategory,\r\n\t\t\t\t\t\t\tLineItemPercentage: vm.LineItemList[i].LineItemPercentage,\r\n\t\t\t\t\t\t\tdLineItemWinPrice: vm.LineItemList[i].dLineItemWinPrice,\r\n\t\t\t\t\t\t\t// dFreelancerPrice: vm.LineItemList[i].dFreelancerPrice,\r\n\t\t\t\t\t\t\tLineItemQuantity: vm.LineItemList[i].LineItemQuantity,\r\n\t\t\t\t\t\t\tFreelancerPrice: vm.LineItemList[i].LineItemFreelancerPrice,\r\n\t\t\t\t\t\t\tLineItemRemark: vm.LineItemList[i].LineItemRemark,\r\n\t\t\t\t\t\t\tAddedFromField: vm.LineItemList[i].AddedFromField,\r\n\t\t\t\t\t\t\tLineItemCompanyProvided: vm.LineItemList[i].LineItemCompanyProvided,\r\n\t\t\t\t\t\t\tLineItemId: vm.LineItemList[i].LineItemId,\r\n\t\t\t\t\t\t\tLineItemCode: vm.LineItemList[i].LineItemCode,\r\n\t\t\t\t\t\t\tLineItemUnit: vm.LineItemList[i].LineItemUnit,\r\n\t\t\t\t\t\t\tUserId: vm.LineItemList[i].UserId,\r\n\t\t\t\t\t\t\tLineItemType: vm.LineItemList[i].LineItemType,\r\n\t\t\t\t\t\t\tIsStockItem: vm.LineItemList[i].IsStockItem,\r\n\t\t\t\t\t\t\tLineItemAttachment: vm.LineItemList[i].LineItemAttachment,\r\n\t\t\t\t\t\t\tLineItemApprovalRemark: vm.LineItemList[i].LineItemApprovalRemark,\r\n\t\t\t\t\t\t\tIsCustomerApprovalNeeded: vm.LineItemList[i].IsCustomerApprovalNeeded,\r\n\t\t\t\t\t\t\tCustomerApprovalStatus: vm.LineItemList[i].CustomerApprovalStatus,\r\n\t\t\t\t\t\t\tBackendApprovalStatus : vm.LineItemList[i].BackendApprovalStatus,\r\n\t\t\t\t\t\t\tIsBackendApprovalNeeded : vm.LineItemList[i].IsBackendApprovalNeeded,\r\n\t\t\t\t\t\t\tLineItemHSNCode: null,\r\n\t\t\t\t\t\t\tLineItemDisplayDescription: null,\r\n\t\t\t\t\t\t\t// LineItemRemark: null,\r\n\t\t\t\t\t\t\tdLineItemFreelancerPrice: vm.LineItemList[i].dLineItemFreelancerPrice,\r\n\t\t\t\t\t\t\tLineItemRemark: vm.LineItemList[i].LineItemRemark,\r\n\t\t\t\t\t\t\t// LineItemQuantity: \"1\",\r\n\t\t\t\t\t\t\tZOHOWarehouseName: vm.LineItemList[i].ZOHOWarehouseName,\r\n\t\t\t\t\t\t\tZOHOSalesOrderId : vm.LineItemList[i].ZOHOSalesOrderId,\r\n\t\t\t\t\t\t\tZOHOSalesOrderStatus: vm.LineItemList[i].ZOHOSalesOrderStatus,\r\n\t\t\t\t\t\t\tLineItemAction: null,\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tvm.PriceLineItemList.push(tData);\r\n\t\t\t\t\t\tvar _baseprice = 0.0;\r\n\t\t\t\t\t\tvar _dFprice = 0.0;\r\n\t\t\t\t\t\tvar _lineitemquantity = 0.0;\r\n\t\t\t\t\t\tvar _lineitemfreelancerprice = 0.0;\r\n\t\t\t\t\t\tif (vm.LineItemList[i].dLineItemWinPrice == \"\" || vm.LineItemList[i].dLineItemWinPrice == null)\r\n\t\t\t\t\t\t\t_baseprice = 0.0;\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t_baseprice = vm.LineItemList[i].dLineItemWinPrice;\r\n\r\n\t\t\t\t\t\tif (vm.LineItemList[i].dLineItemFreelancerPrice == \"\" || vm.LineItemList[i].dLineItemFreelancerPrice == null)\r\n\t\t\t\t\t\t\t_dFprice = 0.0;\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t_dFprice = vm.LineItemList[i].dLineItemFreelancerPrice;\r\n\t\t\t\t\t\tif (vm.LineItemList[i].LineItemQuantity == \"\" || vm.LineItemList[i].LineItemQuantity == null)\r\n\t\t\t\t\t\t\t_lineitemquantity = 0.0;\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t_lineitemquantity = vm.LineItemList[i].LineItemQuantity;\r\n\t\t\t\t\t\tif (vm.LineItemList[i].LineItemFreelancerPrice == \"\" || vm.LineItemList[i].LineItemFreelancerPrice == null)\r\n\t\t\t\t\t\t\t_lineitemfreelancerprice = 0.0;\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t_lineitemfreelancerprice = vm.LineItemList[i].LineItemFreelancerPrice;\r\n\r\n\t\t\t\t\t\tif (vm.LineItemList[i].LineItemCategory != \"Collection\" && vm.LineItemList[i].LineItemCategory != \"Penalty\" && vm.LineItemList[i].LineItemCategory != \"AdvancedPayment\") {\r\n\r\n\t\t\t\t\t\t\t// if(vm.LineItemList[i].LineItemCategory !=\"General\"){\r\n\t\t\t\t\t\t\tvm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) + (parseFloat(_baseprice) * parseInt(_lineitemquantity))).toFixed(2);\r\n\t\t\t\t\t\t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) + (parseFloat(_dFprice) * parseInt(_lineitemquantity))).toFixed(2);\r\n\t\t\t\t\t\t\t// }\r\n\t\t\t\t\t\t\t// else{\r\n\t\t\t\t\t\t\tif (vm.LineItemList[i].LineItemCompanyProvided == \"No\") {\r\n\t\t\t\t\t\t\t\t_baseprice = 0.0;\r\n\t\t\t\t\t\t\t\t_dFprice = 0.0;\r\n\t\t\t\t\t\t\t\tvm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) + (parseFloat(_baseprice) * parseInt(_lineitemquantity))).toFixed(2);\r\n\t\t\t\t\t\t\t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) + (parseFloat(_dFprice) * parseInt(_lineitemquantity))).toFixed(2);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t// }\t\t\t \r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if (vm.LineItemList[i].LineItemCategory == \"Penalty\") {\r\n\t\t\t\t\t\t\tvm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) + (parseFloat(_baseprice) * parseInt(_lineitemquantity))).toFixed(2);\r\n\t\t\t\t\t\t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) - (parseFloat(_dFprice) * parseInt(_lineitemquantity))).toFixed(2);\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if (vm.LineItemList[i].LineItemCategory == \"AdvancedPayment\") {\r\n\t\t\t\t\t\t\tvm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) + (parseFloat(_baseprice) * parseInt(_lineitemquantity))).toFixed(2);\r\n\t\t\t\t\t\t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) - (parseFloat(_dFprice) * parseInt(_lineitemquantity))).toFixed(2);\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t\tvm.OnLoadLineItemDetails(vm.TicketId);\r\n\t\tvm.GetAllJobLineItems = function (ticketId) {\r\n\t\t\tJobDetailViewService.GetJobLineItem(loggedinUser, ticketId, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\tvm.JobItemList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t\tvm.ActivityDescription = [];\r\n\r\n\t\tvm.getLineItemAcitivityDesc = function (LineItemCategoryType) {\r\n\t\t\tvm.LineItemDisc = \"\";\r\n\t\t\tvar LineItemAcitivityArray = [];\r\n\t\t\tfor (var i = 0; i < vm.JobItemList.length; i++) {\r\n\t\t\t\tif (vm.JobItemList[i].LineItemCategory == LineItemCategoryType) {\r\n\t\t\t\t\tLineItemAcitivityArray.push(vm.JobItemList[i]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvm.LineitemActivityList = LineItemAcitivityArray;\r\n\t\t\tif (LineItemCategoryType == \"Service\") {\r\n\t\t\t\tvm.fileuploadShow = false;\r\n\t\t\t\tvm.qunatityEnable = false;\r\n\t\t\t\tvm.PercentageEnable = false;\r\n\t\t\t}\r\n\t\t\tif (LineItemCategoryType == \"HW\") {\r\n\t\t\t\tvm.qunatityEnable = false;\r\n\t\t\t\tvm.fileuploadShow = true;\r\n\t\t\t\tvm.PercentageEnable = false;\r\n\t\t\t\tvm.disableProvided = false;\r\n\t\t\t}\r\n\t\t\tif (LineItemCategoryType == \"HWCollection\") {\r\n\t\t\t\tvm.IsBasePriceDisabled = false;\r\n\t\t\t\tvm.qunatityEnable = false;\r\n\t\t\t\tvm.fileuploadShow = true;\r\n\t\t\t\tvm.PercentageEnable = false;\r\n\t\t\t\tvm.disableProvided = false;\r\n\t\t\t}\r\n\t\t\tif (LineItemCategoryType == \"UserInventory\") {\r\n\t\t\t\tvm.qunatityEnable = false;\r\n\t\t\t\tvm.fileuploadShow = false;\r\n\t\t\t\tvm.PercentageEnable = false;\r\n\t\t\t\tvm.disableProvided = true;\r\n\t\t\t}\r\n\t\t\tif (LineItemCategoryType == \"General\") {\r\n\t\t\t\tvm.qunatityEnable = true;\r\n\t\t\t\tvm.PercentageEnable = true;\r\n\t\t\t}\r\n\t\t\tvm.ActivityDescription = vm.getRemainingLineItems();\r\n\t\t}\r\n\t\tvm.LineItemCompanyProvidedChange = function (LineItemCompanyProvided, index) {\r\n\t\t\tif (typeof index === \"undefined\") {\r\n\t\t\t\tif (LineItemCompanyProvided == \"Yes\") {\r\n\t\t\t\t\tif ((vm.LineItemCategoryType == \"HW\" || vm.LineItemCategoryType == \"Service\") && vm.LineItemList.LineItemDescription == \"Others\") {\r\n\t\t\t\t\t\tvm.LineItemList.dLineItemFreelancerPrice = 0;\r\n\t\t\t\t\t\tvm.CompanyProvidedEnable = true;\r\n\t\t\t\t\t\tvm.IsBasePriceDisabled = true;\r\n\t\t\t\t\t\tif (vm.LineItemCategoryType == \"HW\" && vm.LineItemList.LineItemDescription == \"Others\") {\r\n\t\t\t\t\t\t\tvm.LineItemList.dLineItemFreelancerPrice = 0;\r\n\t\t\t\t\t\t\tvm.CompanyProvidedEnable = true;\r\n\t\t\t\t\t\t\tvm.FreelancrPriceEnable = true;\r\n\t\t\t\t\t\t\tvm.IsBasePriceDisabled = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (vm.LineItemCategoryType == \"Bonus\" || vm.LineItemCategoryType == \"Penalty\") {\r\n\t\t\t\t\t\tvm.CompanyProvidedEnable = true;\r\n\t\t\t\t\t\tvm.IsBasePriceDisabled = true;\r\n\t\t\t\t\t\tvm.FreelancrPriceEnable = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.LineItemList.origdLineItemFreelancerPrice = vm.LineItemList.dLineItemFreelancerPrice;\r\n\t\t\t\t\t\tvm.LineItemList.dLineItemFreelancerPrice = 0;\r\n\t\t\t\t\t\tvm.CompanyProvidedEnable = true;\r\n\t\t\t\t\t\tvm.IsBasePriceDisabled = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tif ((vm.LineItemCategoryType == \"HW\" || vm.LineItemCategoryType == \"Service\") && vm.LineItemList.LineItemDescription == \"Others\") {\r\n\t\t\t\t\t\tvm.IsBasePriceDisabled = false;\r\n\t\t\t\t\t\tvm.CompanyProvidedEnable = false;\r\n\t\t\t\t\t\tif (vm.LineItemCategoryType == \"HW\" && vm.LineItemList.LineItemDescription == \"Others\") {\r\n\t\t\t\t\t\t\tvm.FreelancrPriceEnable = false;\r\n\t\t\t\t\t\t\tvm.LineItemList.dLineItemFreelancerPrice = vm.LineItemList.dLineItemWinPrice ? vm.LineItemList.dLineItemWinPrice : 0;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.CompanyProvidedEnable = false;\r\n\t\t\t\t\t\tvm.IsBasePriceDisabled = true;\r\n\t\t\t\t\t\tvm.LineItemList.dLineItemFreelancerPrice = vm.LineItemList.origdLineItemFreelancerPrice;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif (LineItemCompanyProvided == \"Yes\") {\r\n\t\t\t\t\tvm.PriceLineItemList[index].origdLineItemFreelancerPrice = vm.PriceLineItemList[index].dLineItemFreelancerPrice;\r\n\t\t\t\t\tvm.PriceLineItemList[index].dLineItemFreelancerPrice = 0;\r\n\t\t\t\t\tvm.CompanyProvidedEnable = true;\r\n\t\t\t\t\tvm.IsBasePriceDisabled = true;\r\n\t\t\t\t\tif (vm.PriceLineItemList[index].LineItemCategory == \"HW\" && vm.PriceLineItemList[index].LineItemDescription == \"Others\") {\r\n\t\t\t\t\t\tvm.PriceLineItemList[index].dLineItemFreelancerPrice = 0;\r\n\t\t\t\t\t\tvm.CompanyProvidedEnable = true;\r\n\t\t\t\t\t\tvm.FreelancrPriceEnable = true;\r\n\t\t\t\t\t\tvm.IsBasePriceDisabled = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.CompanyProvidedEnable = false;\r\n\t\t\t\t\tvm.IsBasePriceDisabled = true;\r\n\t\t\t\t\tif (vm.PriceLineItemList[index].LineItemCategory == \"HW\") {\r\n\t\t\t\t\t\tif (vm.PriceLineItemList[index].LineItemDescription == \"Others\") {\r\n\t\t\t\t\t\t\tvm.PriceLineItemList[index].dLineItemFreelancerPrice = vm.PriceLineItemList[index].dLineItemWinPrice;\r\n\t\t\t\t\t\t\tvm.CompanyProvidedEnable = false;\r\n\t\t\t\t\t\t\tvm.FreelancrPriceEnable = false;\r\n\t\t\t\t\t\t\tvm.IsBasePriceDisabled = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tvm.PriceLineItemList[index].dLineItemFreelancerPrice = vm.PriceLineItemList[index].origdLineItemFreelancerPrice;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tvm.LineItemEdit = function (index) {\r\n\t\t\tif (vm.PriceLineItemList[index].LineItemCategory == \"Collection\") {\r\n\t\t\t\tvm.IsBasePriceDisabled = true;\r\n\t\t\t\tvm.PercentageEnable = true;\r\n\t\t\t\tvm.disableProvided = true;\r\n\t\t\t\tvm.qunatityEnable = true;\r\n\t\t\t\tvm.FreelancrPriceEnable = false;\r\n\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif (vm.PriceLineItemList[index].LineItemCategory == \"General\") {\r\n\t\t\t\t\tvm.FreelancrPriceEnable = false;\r\n\t\t\t\t\tvm.qunatityEnable = true;\r\n\t\t\t\t\tvm.disableProvided = true;\r\n\t\t\t\t\tvm.IsBasePriceDisabled = true;\r\n\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (vm.PriceLineItemList[index].LineItemCategory == \"Service\") {\r\n\t\t\t\t\tif (vm.PriceLineItemList[index].LineItemCategory == \"Service\" && (vm.PriceLineItemList[index].LineItemDescription == \"Others\" || vm.PriceLineItemList[index].LineItemDescription == \"Service Charge\" || vm.PriceLineItemList[index].LineItemDescription == 'PAV Activity')) {\r\n\t\t\t\t\t\tvm.CompanyProvidedEnable = false;\r\n\t\t\t\t\t\tvm.IsBasePriceDisabled = false;\r\n\t\t\t\t\t\tvm.PercentageEnable = true;\r\n\t\t\t\t\t\tvm.disableProvided = true;\r\n\t\t\t\t\t\tvm.FreelancrPriceEnable = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.qunatityEnable = false;\r\n\t\t\t\t\t\tvm.disableProvided = true;\r\n\t\t\t\t\t\tvm.PercentageEnable = false;\r\n\t\t\t\t\t\tvm.IsBasePriceDisabled = true;\r\n\t\t\t\t\t\tvm.FreelancrPriceEnable = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (vm.PriceLineItemList[index].LineItemCategory == \"Bonus\" || vm.PriceLineItemList[index].LineItemCategory == \"Penalty\") {\r\n\t\t\t\t\tvm.qunatityEnable = true;\r\n\t\t\t\t\tvm.disableProvided = true;\r\n\t\t\t\t\tvm.IsBasePriceDisabled = true;\r\n\t\t\t\t\tvm.FreelancrPriceEnable = false;\r\n\t\t\t\t}\r\n\t\t\t\tif (vm.PriceLineItemList[index].LineItemCategory == \"AdvancedPayment\") {\r\n\t\t\t\t\tvm.qunatityEnable = false;\r\n\t\t\t\t\tvm.disableProvided = true;\r\n\t\t\t\t\tvm.IsBasePriceDisabled = true;\r\n\t\t\t\t\tvm.FreelancrPriceEnable = false;\r\n\t\t\t\t}\r\n\t\t\t\tif (vm.PriceLineItemList[index].LineItemCategory == \"HW\" && vm.PriceLineItemList[index].BackendApprovalStatus != \"Estimate shared\") {\r\n\t\t\t\t\tvm.qunatityEnable = false;\r\n\t\t\t\t\tvm.disableProvided = false;\r\n\t\t\t\t\tif (vm.PriceLineItemList[index].LineItemCompanyProvided == \"Yes\") {\r\n\t\t\t\t\t\tif (vm.PriceLineItemList[index].LineItemCategory == \"HW\" && vm.PriceLineItemList[index].LineItemDescription == \"Others\") {\r\n\t\t\t\t\t\t\tvm.FreelancrPriceEnable = true;\r\n\t\t\t\t\t\t\tvm.IsBasePriceDisabled = false;\r\n\t\t\t\t\t\t\tvm.disableProvided = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tvm.FreelancrPriceEnable = true;\r\n\t\t\t\t\t\t\tvm.IsBasePriceDisabled = true;\r\n\t\t\t\t\t\t\tvm.disableProvided = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tif (vm.PriceLineItemList[index].LineItemCategory == \"HW\" && vm.PriceLineItemList[index].LineItemDescription == \"Others\") {\r\n\t\t\t\t\t\t\tvm.FreelancrPriceEnable = false;\r\n\t\t\t\t\t\t\tvm.IsBasePriceDisabled = false;\r\n\t\t\t\t\t\t\tvm.disableProvided = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tif(vm.TicketInfo.JobAccountId == '158' || vm.TicketInfo.JobAccountId == '286' || vm.TicketInfo.JobAccountId == '371'){\r\n\t\t\t\t\t\t\tvm.FreelancrPriceEnable = false;\r\n\t\t\t\t\t\t\tvm.IsBasePriceDisabled = false;\r\n\t\t\t\t\t\t\tvm.disableProvided = false;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t\tvm.FreelancrPriceEnable = true;\r\n\t\t\t\t\t\t\t\tvm.IsBasePriceDisabled = true;\r\n\t\t\t\t\t\t\t\tvm.disableProvided = false;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t\tif (vm.PriceLineItemList[index].LineItemCategory == \"HW\" && vm.PriceLineItemList[index].BackendApprovalStatus == \"Estimate shared\") {\r\n\t\t\t\t\tvm.qunatityEnable = false;\r\n\t\t\t\t\tvm.disableProvided = false;\r\n\t\t\t\t\tif (vm.PriceLineItemList[index].LineItemCompanyProvided == \"Yes\") {\r\n\t\t\t\t\t\tif (vm.PriceLineItemList[index].LineItemCategory == \"HW\" && vm.PriceLineItemList[index].LineItemDescription == \"Others\") {\r\n\t\t\t\t\t\t\tvm.FreelancrPriceEnable = true;\r\n\t\t\t\t\t\t\tvm.IsBasePriceDisabled = false;\r\n\t\t\t\t\t\t\tvm.disableProvided = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tvm.FreelancrPriceEnable = false;\r\n\t\t\t\t\t\t\tvm.IsBasePriceDisabled = false;\r\n\t\t\t\t\t\t\tvm.disableProvided = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tif (vm.PriceLineItemList[index].LineItemCategory == \"HW\" && vm.PriceLineItemList[index].LineItemDescription == \"Others\") {\r\n\t\t\t\t\t\t\tvm.FreelancrPriceEnable = false;\r\n\t\t\t\t\t\t\tvm.IsBasePriceDisabled = false;\r\n\t\t\t\t\t\t\tvm.disableProvided = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tif(vm.TicketInfo.JobAccountId == '158' || vm.TicketInfo.JobAccountId == '286' || vm.TicketInfo.JobAccountId == '371'){\r\n\t\t\t\t\t\t\t\tvm.FreelancrPriceEnable = false;\r\n\t\t\t\t\t\t\t\tvm.IsBasePriceDisabled = false;\r\n\t\t\t\t\t\t\t\tvm.disableProvided = false;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t\t\tvm.FreelancrPriceEnable = false;\r\n\t\t\t\t\t\t\t\t\tvm.IsBasePriceDisabled = false;\r\n\t\t\t\t\t\t\t\t\tvm.disableProvided = true;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t\tif (vm.PriceLineItemList[index].LineItemCategory == \"Revisit\") {\r\n\t\t\t\t\tvm.qunatityEnable = false;\r\n\t\t\t\t\tvm.disableProvided = true;\r\n\t\t\t\t\tvm.IsBasePriceDisabled = true;\r\n\t\t\t\t\tvm.FreelancrPriceEnable = true;\r\n\t\t\t\t}\r\n\t\t\t\tif (vm.PriceLineItemList[index].LineItemCategory == \"UserInventory\") {\r\n\t\t\t\t\tvm.qunatityEnable = false;\r\n\t\t\t\t\tvm.disableProvided = true;\r\n\t\t\t\t\tvm.IsBasePriceDisabled = true;\r\n\t\t\t\t\tvm.FreelancrPriceEnable = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvm.LineItemCompanyProvided = vm.PriceLineItemList[index].LineItemCompanyProvided;\r\n\r\n\t\t}\r\n\t\tvm.OnBasePriceChange = function () {\r\n\t\t\t//fl = bp-bp*(per/100)\r\n\t\t\tif (vm.LineItemList.LineItemPercentage == \"\" || parseFloat(vm.LineItemList.LineItemPercentage) < 1)\r\n\t\t\t\tvm.LineItemList.LineItemPercentage = 0.0;\r\n\t\t\tvm.FreelancerPrice = (parseFloat(vm.LineItemList.dLineItemWinPrice) - parseFloat(vm.LineItemList.dLineItemWinPrice) * (parseFloat(vm.LineItemList.LineItemPercentage) / 100)).toFixed(2);\r\n\t\t\tvm.FreelancerPrice = vm.FreelancerPrice * parseFloat(vm.LineItemList.LineItemQuantity);\r\n\t\t}\r\n\r\n\t\tvm.Get360TeamView = function (teamid) {\r\n\t\t\t$state.go('index.Technician360view', {\r\n\t\t\t\tuserId: teamid\r\n\t\t\t}, { reload: true });\r\n\t\t}\r\n\r\n\r\n\t\tvm.Dashboard = function (user) {\r\n\t\t\tif (vm.AccountId == '361' || vm.AccountId == '364') {\r\n\t\t\t\tvm.Get360TeamView(user);\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\t$state.go('index.Dashboard', {\r\n\t\t\t\t\tUserId: user\r\n\t\t\t\t }, {\r\n\t\t\t\t\treload: true\r\n\t\t\t\t });\r\n\r\n\t\t\t}\r\n\t\t }\r\n\r\n\t\tvm.LineItemDetails = function (ObjLineItem) {\r\n\t\t\tvar LineItemId = ObjLineItem.LineItemId;\r\n\t\t\tjobCreationService.ItemLineDetails(loggedinUser, vm.projectId, LineItemId, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\tvm.LineItemList = resp.data;\r\n\t\t\t\t\tvm.LineItemList.LineItemQuantity = 1;\r\n\t\t\t\t\tvm.LineItemCompanyProvided = vm.LineItemList.LineItemCompanyProvided;\r\n\t\t\t\t\tif (vm.LineItemCategoryType == \"Collection\") {\r\n\t\t\t\t\t\tvm.FreelancrPriceEnable = false;\r\n\t\t\t\t\t\tvm.IsBasePriceDisabled = true;\r\n\t\t\t\t\t\tvm.disableProvided = true;\r\n\t\t\t\t\t\tvm.qunatityEnable = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tif (vm.LineItemCompanyProvided == \"Yes\") {\r\n\t\t\t\t\t\t\tif (vm.LineItemCategoryType == \"General\") {\r\n\t\t\t\t\t\t\t\tvm.FreelancrPriceEnable = false;\r\n\t\t\t\t\t\t\t\tvm.IsBasePriceDisabled = true;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (vm.LineItemCategoryType == \"UserInventory\") {\r\n\t\t\t\t\t\t\t\tvm.FreelancrPriceEnable = true;\r\n\t\t\t\t\t\t\t\tvm.IsBasePriceDisabled = true;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\tif (vm.LineItemCategoryType == \"Service\") {\r\n\t\t\t\t\t\t\t\t\tvm.disableProvided = true;\r\n\t\t\t\t\t\t\t\t\tvm.FreelancrPriceEnable = false;\r\n\t\t\t\t\t\t\t\t\tvm.IsBasePriceDisabled = true;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\tvm.disableProvided = false;\r\n\t\t\t\t\t\t\t\t\tvm.FreelancrPriceEnable = false;\r\n\t\t\t\t\t\t\t\t\tvm.IsBasePriceDisabled = true;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if (vm.LineItemCategoryType == \"General\") {\r\n\t\t\t\t\t\t\tvm.FreelancrPriceEnable = false;\r\n\t\t\t\t\t\t\tvm.qunatityEnable = true;\r\n\t\t\t\t\t\t\tvm.disableProvided = true;\r\n\t\t\t\t\t\t\tvm.IsBasePriceDisabled = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tif (vm.LineItemCategoryType == \"Service\") {\r\n\t\t\t\t\t\t\t\tvm.disableProvided = true;\r\n\t\t\t\t\t\t\t\tvm.FreelancrPriceEnable = true;\r\n\t\t\t\t\t\t\t\tvm.IsBasePriceDisabled = true;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\tvm.disableProvided = false;\r\n\t\t\t\t\t\t\t\tvm.FreelancrPriceEnable = true;\r\n\t\t\t\t\t\t\t\tvm.IsBasePriceDisabled = true;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (vm.LineItemCategoryType == \"AdvancedPayment\") {\r\n\t\t\t\t\t\t\tvm.IsBasePriceDisabled = true;\r\n\t\t\t\t\t\t\tvm.PercentageEnable = true;\r\n\t\t\t\t\t\t\tvm.disableProvided = true;\r\n\t\t\t\t\t\t\tvm.FreelancrPriceEnable = false;\r\n\t\t\t\t\t\t\tvm.qunatityEnable = true;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (vm.LineItemCategoryType == \"HW\" && ObjLineItem.LineItemDescription == \"Others\") {\r\n\t\t\t\t\t\t\tvm.IsBasePriceDisabled = false;\r\n\t\t\t\t\t\t\tvm.PercentageEnable = true;\r\n\t\t\t\t\t\t\tvm.disableProvided = false;\r\n\t\t\t\t\t\t\tvm.FreelancrPriceEnable = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif ((vm.LineItemCategoryType == \"HW\" && vm.TicketInfo.JobAccountId == '158') || (vm.LineItemCategoryType == \"HW\" && vm.TicketInfo.JobAccountId == '286') || (vm.LineItemCategoryType == \"HW\" && vm.TicketInfo.JobAccountId == '371')) {\r\n\t\t\t\t\t\t\tvm.IsBasePriceDisabled = false;\r\n\t\t\t\t\t\t\tvm.PercentageEnable = true;\r\n\t\t\t\t\t\t\tvm.disableProvided = false;\r\n\t\t\t\t\t\t\tvm.FreelancrPriceEnable = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (vm.LineItemCategoryType == \"Service\" && (ObjLineItem.LineItemDescription == \"Others\" || ObjLineItem.LineItemDescription == \"Service Charge\" || ObjLineItem.LineItemDescription == 'PAV Activity')) {\r\n\t\t\t\t\t\t\tvm.IsBasePriceDisabled = false;\r\n\t\t\t\t\t\t\tvm.PercentageEnable = true;\r\n\t\t\t\t\t\t\tvm.disableProvided = true;\r\n\t\t\t\t\t\t\tvm.FreelancrPriceEnable = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (vm.LineItemCategoryType == \"Bonus\" || ObjLineItem.LineItemDescription == \"Penalty\") {\r\n\t\t\t\t\t\t\tvm.IsBasePriceDisabled = true;\r\n\t\t\t\t\t\t\tvm.PercentageEnable = true;\r\n\t\t\t\t\t\t\tvm.disableProvided = true;\r\n\t\t\t\t\t\t\tvm.FreelancrPriceEnable = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (LineItemCategoryType == \"Revisit\") {\r\n\t\t\t\t\t\t\tvm.qunatityEnable = false;\r\n\t\t\t\t\t\t\tvm.fileuploadShow = false;\r\n\t\t\t\t\t\t\tvm.PercentageEnable = false;\r\n\t\t\t\t\t\t\tvm.disableProvided = true;\r\n\t\t\t\t\t\t\tvm.IsBasePriceDisabled = true;\r\n\t\t\t\t\t\t\tvm.FreelancrPriceEnable = true;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t//vm.calculateLineItemPrice();\t\r\n\t\t\t\t\t\t//vm.OnBasePriceChange();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t\tvm.searchButtonText = \"Save\";\r\n\t\tvm.addPriceLineItem = function () {\r\n\r\n\t\t\tif (!vm.LineItemCategoryType) {\r\n\t\t\t\tvm.showFailure(\"Warning\", \"Please select category type\");\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (!vm.LineItemDisc) {\r\n\t\t\t\tvm.showFailure(\"Warning\", \"Please select activity description\");\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (vm.LineItemCategoryType == \"HW\" && !vm.ZOHOWarehouseName && vm.TicketInfo.IsSpareShipmentEnabled == true) {\r\n\t\t\t\tvm.showFailure(\"Warning\", \"Please select warehouse\");\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (vm.LineItemCategoryType != \"Collection\" && vm.LineItemCategoryType != \"UserInventory\" && vm.LineItemCategoryType != \"General\" && vm.LineItemCategoryType != \"Bonus\" && vm.LineItemCategoryType != \"Penalty\" && vm.LineItemCategoryType != \"AdvancedPayment\" && vm.LineItemCategoryType != \"Revisit\") {\r\n\t\t\t\tif (vm.LineItemList.dLineItemWinPrice == \"\" || vm.LineItemList.dLineItemWinPrice == \"0\"\r\n\t\t\t\t\t|| parseInt(vm.LineItemList.dLineItemWinPrice) < 1) {\r\n\t\t\t\t\tvm.showFailure(\"Warning\", \"Please enter base price\");\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (vm.LineItemCompanyProvided == \"\") {\r\n\t\t\t\t\tvm.showFailure(\"Warning\", \"Please select company provided yes or no\");\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (vm.LineItemList.LineItemQuantity == \"\") {\r\n\t\t\t\t\tvm.showFailure(\"Warning\", \"Please enter quantity\");\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (vm.LineItemList.LineItemQuantity == 0) {\r\n\t\t\t\t\tvm.showFailure(\"Warning\", \"zero (0) quantity not allowed\");\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (vm.LineItemList.LineItemDescription == \"Others\" && (parseFloat(vm.LineItemList.dLineItemFreelancerPrice) > parseFloat(vm.LineItemList.dLineItemWinPrice))) {\r\n\t\t\t\t\tvm.showFailure(\"Warning\", \"Please enter freelancer price less or equal to win price\");\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (vm.LineItemList.dLineItemFreelancerPrice == \"\" || vm.LineItemList.dLineItemFreelancerPrice == \"0\"\r\n\t\t\t\t\t|| parseInt(vm.LineItemList.dLineItemFreelancerPrice) < 1) {\r\n\t\t\t\t\tif (vm.LineItemCategoryType == \"HW\" && vm.LineItemCompanyProvided == \"Yes\") {\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Warning\", \"Please enter freelancer price\");\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvar tData = {\r\n\t\t\t\tLineItemDescription: vm.LineItemList.LineItemDescription,\r\n\t\t\t\tLineItemCategory: vm.LineItemCategoryType,\r\n\t\t\t\tdLineItemWinPrice: vm.LineItemList.dLineItemWinPrice,\r\n\t\t\t\tLineItemId: vm.LineItemDisc.LineItemId,\r\n\t\t\t\tLineItemCode: vm.LineItemList.LineItemCode,\r\n\t\t\t\tLineItemQuantity: vm.LineItemList.LineItemQuantity,\r\n\t\t\t\tdLineItemFreelancerPrice: vm.LineItemList.dLineItemFreelancerPrice,\r\n\t\t\t\torigdLineItemFreelancerPrice: vm.LineItemList.origdLineItemFreelancerPrice,\r\n\t\t\t\tLineItemRemark: vm.LineItemRemark,\r\n\t\t\t\tLineItemUnit: vm.LineItemList.LineItemUnit,\r\n\t\t\t\tLineItemCompanyProvided: vm.LineItemCompanyProvided,\r\n\t\t\t\tUserId: vm.LineItemList.UserId,\r\n\t\t\t\tIsStockItem: vm.LineItemList.IsStockItem,\r\n\t\t\t\tLineItemType: vm.LineItemList.LineItemType,\r\n\t\t\t\tIsCustomerApprovalNeeded: vm.LineItemList.IsCustomerApprovalNeeded,\r\n\t\t\t\tCustomerApprovalStatus: vm.LineItemList.CustomerApprovalStatus,\r\n\t\t\t\tLineItemAction: \"Add\",\r\n\t\t\t\tLineItemAttachment: \"\",\r\n\t\t\t\tZOHOWarehouseName: vm.ZOHOWarehouseName\r\n\t\t\t}\r\n\r\n\t\t\tvar basePrice = vm.LineItemList.dLineItemWinPrice;\r\n\t\t\tvar dFprice = vm.LineItemList.dLineItemFreelancerPrice;\r\n\t\t\tvar LineItemQuantity = vm.LineItemList.LineItemQuantity;\r\n\r\n\t\t\tif (vm.LineItemCategoryType != \"Collection\" && vm.LineItemCategoryType != \"Penalty\") {\r\n\t\t\t\tvm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) + (parseFloat(basePrice) * parseInt(LineItemQuantity))).toFixed(2);\r\n\t\t\t\tif (vm.LineItemCategoryType == \"Bonus\") {\r\n\t\t\t\t\tvar FLPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) + (parseFloat(dFprice) * parseInt(LineItemQuantity))).toFixed(2);\r\n\t\t\t\t\tif (parseInt(FLPriceTotal) <= parseInt(vm.BasePriceTotal)) {\r\n\t\t\t\t\t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) + (parseFloat(dFprice) * parseInt(LineItemQuantity))).toFixed(2);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvar maxBonus = (parseFloat(vm.BasePriceTotal) - parseFloat(vm.dFreelancerPriceTotal)).toFixed(2);\r\n\t\t\t\t\t\tvm.showFailure(\"Warning\", \"Please enter bonus price less or equal to \" + maxBonus);\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) + (parseFloat(dFprice) * parseInt(LineItemQuantity))).toFixed(2);\r\n\t\t\t\t}\r\n\r\n\t\t\t}\r\n\t\t\tif (vm.LineItemCategoryType == \"Penalty\") {\r\n\t\t\t\tvm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) - (parseFloat(basePrice) * parseInt(LineItemQuantity))).toFixed(2);\r\n\t\t\t\tvar FLPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) - (parseFloat(dFprice) * parseInt(LineItemQuantity))).toFixed(2);\r\n\t\t\t\tif (parseInt(FLPriceTotal) >= 0) {\r\n\t\t\t\t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) - (parseFloat(dFprice) * parseInt(LineItemQuantity))).toFixed(2);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Warning\", \"Please enter penalty price less or equal to \" + vm.dFreelancerPriceTotal);\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (vm.LineItemCategoryType == \"AdvancedPayment\") {\r\n\t\t\t\tvm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) - (parseFloat(basePrice) * parseInt(LineItemQuantity))).toFixed(2);\r\n\t\t\t\tvar FLPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) - (parseFloat(dFprice) * parseInt(LineItemQuantity))).toFixed(2);\r\n\t\t\t\tif (parseInt(FLPriceTotal) >= 0) {\r\n\t\t\t\t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) - (parseFloat(dFprice) * parseInt(LineItemQuantity))).toFixed(2);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Warning\", \"Please enter AdvancedPayment price less or equal to \" + vm.dFreelancerPriceTotal);\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (tData.LineItemDescription) {\r\n\t\t\t\tvm.PriceLineItemList.push(tData);\r\n\t\t\t\tvm.showTCList = false;\r\n\t\t\t\tvm.EmptyLineItemDetails();\r\n\t\t\t} else {\r\n\t\t\t\tvm.showTCList = false;\r\n\t\t\t\tvm.showFailure(\"Warning\", \"You must select activity description\");\r\n\t\t\t}\r\n\t\t\tvm.LineItemCategoryType = \"\";\r\n\t\t\tvm.LineItemDisc = \"\";\r\n\t\t}\r\n\r\n\t\tvm.getRemainingLineItems = function () {\r\n\t\t\tvar RemovePriceLineItems = [];\r\n\t\t\tvar remainingPriceLineItems = Array.from(vm.LineitemActivityList);\r\n\t\t\tangular.forEach(remainingPriceLineItems, function (d) {\r\n\t\t\t\tfor (var i = 0; i < vm.PriceLineItemList.length; i++) {\r\n\t\t\t\t\tif (d.LineItemDescription == vm.PriceLineItemList[i].LineItemDescription && d.LineItemCategory == vm.PriceLineItemList[i].LineItemCategory) {\r\n\t\t\t\t\t\tRemovePriceLineItems.push(d);\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tangular.forEach(RemovePriceLineItems, function (s) {\r\n\t\t\t\tremainingPriceLineItems.splice(remainingPriceLineItems.indexOf(s), 1);\r\n\t\t\t})\r\n\t\t\treturn remainingPriceLineItems;\r\n\t\t}\r\n\r\n\t\tvm.showTCList = false;\r\n\t\tvm.showTotal = true;\r\n\t\tvm.addMoreCertificateInTable = function () {\r\n\t\t\tvm.showTCList = true;\r\n\t\t\tvm.showTotal = true;\r\n\t\t\tvm.tempCertificateAdd = true;\r\n\t\t}\r\n\r\n\t\tvm.tempCertificateAdd = false;\r\n\t\tvm.IsVisible = false;\r\n\t\tvar wareHouseItemList = [];\r\n\t\tvar createOrderData = [];\r\n\t\tvm.ShowCreateShipment = function (index) {\r\n\t\t\tif (vm.PriceLineItemList[index].ShowShipmentBtn == true) {\r\n\t\t\t\tvar hwData = {\r\n\t\t\t\t\twarehouseLineItemId: vm.PriceLineItemList[index].LineItemId,\r\n\t\t\t\t\twarehouseCategory: vm.PriceLineItemList[index].LineItemCategory,\r\n\t\t\t\t\twarehouseDescription: vm.PriceLineItemList[index].LineItemDescription,\r\n\t\t\t\t\twarehouseQuantity: vm.PriceLineItemList[index].LineItemQuantity,\r\n\t\t\t\t\twarehouseCompanyProvided: vm.PriceLineItemList[index].LineItemCompanyProvided,\r\n\t\t\t\t\tWarehouseNameSelected: vm.PriceLineItemList[index].ZOHOWarehouseName,\r\n\t\t\t\t\twarehouseBaseprice: vm.PriceLineItemList[index].dLineItemWinPrice,\r\n\t\t\t\t\twarehouseFreelancerPrice: vm.PriceLineItemList[index].dLineItemFreelancerPrice\r\n\t\t\t\t}\r\n\t\t\t\tvar sendWdata = {\r\n\t\t\t\t\tJobLineItemId: vm.PriceLineItemList[index].LineItemId,\r\n\t\t\t\t\tselectedWarehouse: vm.PriceLineItemList[index].ZOHOWarehouseName\r\n\t\t\t\t}\r\n\t\t\t\tcreateOrderData.push(sendWdata);\r\n\t\t\t\twareHouseItemList.push(hwData);\r\n\t\t\t\tvm.IsVisible = vm.PriceLineItemList[index].ShowShipmentBtn;\r\n\t\t\t\tvm.warehouseModal = function () {\r\n\t\t\t\t\tvm.listWdata = wareHouseItemList;\r\n\t\t\t\t\tvm.ShareModal = $uibModal.open({\r\n\t\t\t\t\t\ttemplateUrl: 'warehouseModal.html',\r\n\t\t\t\t\t\tbackdrop: 'static',\r\n\t\t\t\t\t\tsize: 'lg',\r\n\t\t\t\t\t\tscope: $scope\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvm.closeWarehouseModal = function () {\r\n\t\t\t\t\tvm.IsVisible = false;\r\n\t\t\t\t\twareHouseItemList = [];\r\n\t\t\t\t\tcreateOrderData = [];\r\n\t\t\t\t\tvm.ShareModal.close();\r\n\t\t\t\t\tvm.OnLoadLineItemDetails(vm.TicketId);\r\n\t\t\t\t\tvm.PriceLineItemList = [];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\twareHouseItemList = [];\r\n\t\t\t\tcreateOrderData = [];\r\n\t\t\t\tvm.IsVisible = vm.PriceLineItemList[index].ShowShipmentBtn;\r\n\t\t\t}\r\n\t\t\t// var hwData = {\r\n\t\t\t// \twarehouseLineItemId : vm.PriceLineItemList[index].LineItemId,\r\n\t\t\t// \twarehouseCategory : vm.PriceLineItemList[index].LineItemCategory,\r\n\t\t\t// \twarehouseDescription : vm.PriceLineItemList[index].LineItemDescription,\r\n\t\t\t// \twarehouseQuantity : vm.PriceLineItemList[index].LineItemQuantity,\r\n\t\t\t// \twarehouseCompanyProvided : vm.PriceLineItemList[index].LineItemCompanyProvided,\r\n\t\t\t// \tWarehouseNameSelected : vm.PriceLineItemList[index].ZOHOWarehouseName,\r\n\t\t\t// \twarehouseBaseprice : vm.PriceLineItemList[index].dLineItemWinPrice,\r\n\t\t\t// \twarehouseFreelancerPrice : vm.PriceLineItemList[index].dLineItemFreelancerPrice\r\n\t\t\t// }\r\n\t\t\t// var sendWdata = {\r\n\t\t\t// \tJobLineItemId : vm.PriceLineItemList[index].LineItemId,\r\n\t\t\t// \tselectedWarehouse : vm.PriceLineItemList[index].ZOHOWarehouseName\r\n\t\t\t// }\r\n\t\t\t// createOrderData.push(sendWdata);\r\n\t\t\t// wareHouseItemList.push(hwData);\r\n\t\t\t// vm.IsVisible = vm.PriceLineItemList[index].ShowShipmentBtn;\r\n\r\n\t\t\t// vm.warehouseModal = function () {\r\n\t\t\t// \tvm.listWdata = wareHouseItemList;\r\n\t\t\t// \tvm.ShareModal = $uibModal.open({\r\n\t\t\t// \t templateUrl: 'warehouseModal.html',\r\n\t\t\t// \t backdrop: 'static',\r\n\t\t\t// \t size: 'lg',\r\n\t\t\t// \t scope: $scope\r\n\t\t\t// \t});\r\n\t\t\t// }\r\n\r\n\t\t\t// vm.closeWarehouseModal = function () {\r\n\t\t\t// \tvm.ShareModal.close();\r\n\t\t\t// }\r\n\t\t}\r\n\r\n\t\tvm.GetWarehouse = function (warehouseLineItemId) {\r\n\t\t\tvar gData = {\r\n\t\t\t\t\"Id\": warehouseLineItemId,\r\n\t\t\t\t\"TicketId\": vm.TicketId\r\n\t\t\t}\r\n\t\t\tJobDetailViewService.GetWarehouse(token, gData).then(function (resp) {\r\n\t\t\t\tvm.warehouseList = resp.data;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.IsApprovalModelVisible = false;\r\n\t\tvar wareHouseItemList = [];\r\n\t\tvar ApprovalLineItemList = [];\r\n\t\tvar createApprovalData = [];\r\n\t\tvm.ShowApprovalModel = function (index) {\r\n\t\t\t ApprovalLineItemList = [];\r\n\t\t\tif (vm.PriceLineItemList[index].ShowApprovalBtn == true) {\r\n\t\t\t\tvar hwData = {\r\n\t\t\t\t\twarehouseLineItemId: vm.PriceLineItemList[index].LineItemId,\r\n\t\t\t\t\twarehouseCategory: vm.PriceLineItemList[index].LineItemCategory,\r\n\t\t\t\t\twarehouseDescription: vm.PriceLineItemList[index].LineItemDescription,\r\n\t\t\t\t\twarehouseQuantity: vm.PriceLineItemList[index].LineItemQuantity,\r\n\t\t\t\t\twarehouseCompanyProvided: vm.PriceLineItemList[index].LineItemCompanyProvided,\r\n\t\t\t\t\tWarehouseNameSelected: vm.PriceLineItemList[index].ZOHOWarehouseName,\r\n\t\t\t\t\twarehouseBaseprice: vm.PriceLineItemList[index].dLineItemWinPrice,\r\n\t\t\t\t\twarehouseFreelancerPrice: vm.PriceLineItemList[index].dLineItemFreelancerPrice\r\n\t\t\t\t}\r\n\t\t\t\tvar sendWdata = {\r\n\t\t\t\t\tJobLineItemId: vm.PriceLineItemList[index].LineItemId,\r\n\t\t\t\t\tselectedWarehouse: vm.PriceLineItemList[index].ZOHOWarehouseName\r\n\t\t\t\t}\r\n\t\t\t\tvar hwDataForApproval = {\r\n\t\t\t\t\tLineItemId: vm.PriceLineItemList[index].LineItemId,\r\n\t\t\t\t\tLineItemCategory: vm.PriceLineItemList[index].LineItemCategory,\r\n\t\t\t\t\tLineItemDescription: vm.PriceLineItemList[index].LineItemDescription,\r\n\t\t\t\t\tLineItemQuantity: vm.PriceLineItemList[index].LineItemQuantity,\r\n\t\t\t\t\tLineItemCompanyProvided: vm.PriceLineItemList[index].LineItemCompanyProvided,\r\n\t\t\t\t\tdLineItemWinPrice: vm.PriceLineItemList[index].dLineItemWinPrice,\r\n\t\t\t\t\tdLineItemFreelancerPrice: vm.PriceLineItemList[index].dLineItemFreelancerPrice,\r\n\t\t\t\t\tLineItemRemark: vm.PriceLineItemList[index].LineItemRemark\r\n\t\t\t\t}\r\n\t\t\t\tcreateApprovalData.push(sendWdata);\r\n\t\t\t\twareHouseItemList.push(hwData);\r\n\t\t\t\tApprovalLineItemList.push(hwDataForApproval);\r\n\t\t\t\tvm.IsApprovalModelVisible = vm.PriceLineItemList[index].ShowApprovalBtn;\r\n\t\t\t $scope.LineItemDataforApproval = ApprovalLineItemList;\r\n\t\t\t\tvm.ApprovalModal = function () {\r\n\t\t\t\t\tvm.listWdata = wareHouseItemList;\r\n\t\t\t\t\tvm.ShareApprovalModal = $uibModal.open({\r\n\t\t\t\t\t\ttemplateUrl: 'approvalModal.html',\r\n\t\t\t\t\t\tbackdrop: 'static',\r\n\t\t\t\t\t\tsize: 'lg',\r\n\t\t\t\t\t\tscope: $scope\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvm.closeApprovalModal = function () {\r\n\t\t\t\t\tvm.IsApprovalModelVisible = false;\r\n\t\t\t\t\twareHouseItemList = [];\r\n\t\t\t\t\tcreateOrderData = [];\r\n\t\t\t\t\tvm.ShareApprovalModal.close();\r\n\t\t\t\t\tvm.OnLoadLineItemDetails(vm.TicketId);\r\n\t\t\t\t\tvm.PriceLineItemList = [];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\twareHouseItemList = [];\r\n\t\t\t\tcreateOrderData = [];\r\n\t\t\t\tvm.IsApprovalModelVisible = vm.PriceLineItemList[index].ShowApprovalBtn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.StatusUpdateModal = function (index, updateStatus, typeOfApproval) {\r\n\t\t\tif(index.ZOHOWarehouseName == null && index.LineItemCategory == 'HW' && updateStatus == 'Approve' && index.BackendApprovalStatus != 'Estimate shared'){\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Please select warehouse first and update line items\");\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\tvm.updateStatus = updateStatus;\r\n\t\t\tvm.TypeOfApproval = typeOfApproval;\r\n\t\t\tvm.updateLineItemId = index.LineItemId;\r\n\t\t\tvm.updateLineItemCategory = index.LineItemCategory;\r\n\t\t\tvm.updateLineItemDescription = index.LineItemDescription;\r\n\t\t\tvm.updateLineItemQuantity = index.LineItemQuantity;\r\n\t\t\tvm.updateCompanyProvided = index.LineItemCompanyProvided;\r\n\t\t\tvm.updatedLineItemWinPrice = index.dLineItemWinPrice;\r\n\t\t\tvm.updatedLineItemFreelancerPrice = index.dLineItemFreelancerPrice;\r\n\t\t\tvm.StatusModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'statusModal.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.closeStatusModal = function () {\r\n\t\t\tvm.IsApprovalModelVisible = false;\r\n\t\t\tvm.updateStatusRemark = \"\";\r\n\t\t\tvm.enable2 = \"true\";\r\n\t\t\tvm.PriceLineItemList = [];\r\n\t\t\tvm.LineItemStatus = \"\";\r\n\t\t\tvm.StatusModal.close();\r\n\t\t\tvm.OnLoadLineItemDetails(vm.TicketId);\r\n\t\t}\r\n\r\n\r\n\t\tvm.createSales = \"Send\";\r\n\t\tvm.createSalesOrder = function () {\r\n\t\t\tif (vm.TicketId != null) {\r\n\t\t\t\tvm.enable1 = \"false\";\r\n\t\t\t\tvm.createSales = \"Sending...\";\r\n\t\t\t};\r\n\t\t\tdata = {\r\n\t\t\t\t\"itemIdWithWarehouseModels\": createOrderData,\r\n\t\t\t\t\"TicketId\": vm.TicketId,\r\n\t\t\t}\r\n\t\t\tJobDetailViewService.createSalesOrder(token, data).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\t// vm.warehouseList = resp.data;\r\n\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", resp.data);\r\n\t\t\t\t\t\tvm.IsVisible = false;\r\n\t\t\t\t\t\twareHouseItemList = [];\r\n\t\t\t\t\t\tcreateOrderData = [];\r\n\r\n\t\t\t\t\t\tvm.ShareModal.close();\r\n\t\t\t\t\t\tvm.OnLoadLineItemDetails(vm.TicketId);\r\n\t\t\t\t\t\tvm.PriceLineItemList = [];\r\n\t\t\t\t\t\tvm.enable1 = \"true\";\r\n\t\t\t\t\t\tvm.createSales = \"Send\";\r\n\t\t\t\t\t}, 1000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.ShareModal.close();\r\n\t\t\t\t\tvm.showFailure('Failed', \"not able to create order \");\r\n\r\n\t\t\t\t}\r\n\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.createPayment = \"Proceed\";\r\n\t\tvm.processPayment = function () {\r\n\t\t\tif (vm.TicketId != null) {\r\n\t\t\t\tvm.enable2 = \"false\";\r\n\t\t\t\tvm.createPayment = \"Proceeding...\";\r\n\t\t\t};\r\n\t\t\tdata = {\r\n\t\t\t\t\"itemIdWithWarehouseModels\": createOrderData,\r\n\t\t\t\t\"TicketId\": vm.TicketId,\r\n\t\t\t}\r\n\t\t\tJobDetailViewService.createSalesOrder(token, data).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\t// vm.warehouseList = resp.data;\r\n\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", resp.data);\r\n\t\t\t\t\t\tvm.IsVisible = false;\r\n\t\t\t\t\t\twareHouseItemList = [];\r\n\t\t\t\t\t\tcreateOrderData = [];\r\n\r\n\t\t\t\t\t\tvm.ShareModal.close();\r\n\t\t\t\t\t\tvm.OnLoadLineItemDetails(vm.TicketId);\r\n\t\t\t\t\t\tvm.PriceLineItemList = [];\r\n\t\t\t\t\t\tvm.enable2 = \"true\";\r\n\t\t\t\t\t\tvm.createPayment = \"Proceed\";\r\n\t\t\t\t\t}, 1000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.ShareModal.close();\r\n\t\t\t\t\tvm.showFailure('Failed', \"not able to create order \");\r\n\r\n\t\t\t\t}\r\n\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.updateStatusRemark = \"\";\r\n\t\tvm.UpdateStatusJobLineItem = function () {\r\n\t\t\tvm.enable2 = \"false\";\r\n\t\t\tif (vm.updateStatus == 'Approve') {\r\n\t\t\t\tvm.updateLineitemStatus = 'Approved'\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.updateLineitemStatus = 'Rejected'\r\n\t\t\t}\r\n\t\t\tJobDetailViewService.UpdateStatusJobLineItem(vm.TicketId, vm.updateLineitemStatus, vm.updateLineItemId,vm.updateStatusRemark, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 202) {\r\n\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", resp.data);\r\n\t\t\t\t\t\tvm.closeStatusModal();\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.closeStatusModal();\r\n\t\t\t\t\tvm.showFailure('Failed', resp.data);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.UpdateRequestInventoryJobLineItemStatus = function () {\r\n\t\t\tvm.enable2 = \"false\";\r\n\t\t\tif (vm.updateStatus == 'Approve') {\r\n\t\t\t\tvm.updateLineitemStatus = 'Approved'\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.updateLineitemStatus = 'Rejected'\r\n\t\t\t}\r\n\t\t\tJobDetailViewService.UpdateRequestInventoryJobLineItemStatus(vm.TicketId, vm.updateLineitemStatus, vm.updateLineItemId,vm.updateStatusRemark, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 202) {\r\n\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", resp.data);\r\n\t\t\t\t\t\tvm.closeStatusModal();\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.closeStatusModal();\r\n\t\t\t\t\tvm.showFailure('Failed', resp.data);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\r\n\t\tvm.calculateLineItemPrice = function (index) {\r\n\r\n\t\t\tif (typeof index === \"undefined\") {\r\n\t\t\t\tvar basePrice = vm.LineItemList.dLineItemWinPrice;\r\n\t\t\t\tvar LineItemQuantity = vm.LineItemList.LineItemQuantity;\r\n\t\t\t\t// if(percentage==\"\")\r\n\t\t\t\t// \tprice=0;\r\n\t\t\t\t// else \r\n\t\t\t\t// \tprice = parseInt(LineItemQuantity) * parseFloat(basePrice) * parseFloat(percentage)/100;\r\n\t\t\t\tif (LineItemQuantity == \"\")\r\n\t\t\t\t\ttotalFPrice = 0;\r\n\t\t\t\telse\r\n\t\t\t\t\ttotalFPrice = parseInt(LineItemQuantity) * basePrice - price;\r\n\t\t\t\tif (vm.LineItemList.LineItemCategory == \"HW\" && vm.LineItemList.LineItemCompanyProvided == \"Yes\" && (percentage == 0.0 || percentage == 0)) {\r\n\t\t\t\t\ttotalFPrice = 0.0;\r\n\t\t\t\t}\r\n\t\t\t\tvm.FreelancerPrice = totalFPrice.toFixed(2);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvar basePrice = vm.PriceLineItemList[index].dLineItemWinPrice;\r\n\t\t\t\t// var percentage = vm.PriceLineItemList[index].LineItemPercentage;\r\n\t\t\t\tvar LineItemQuantity = vm.PriceLineItemList[index].LineItemQuantity;\r\n\t\t\t\t// var price = parseInt(Quantity) * parseFloat(basePrice) * parseFloat(percentage)/100;\r\n\t\t\t\t// var totalFPrice = parseInt(Quantity) * basePrice - price;\r\n\t\t\t\t// vm.PriceLineItemList[index].FreelancerPrice = totalFPrice.toFixed(2);\r\n\r\n\t\t\t\tif (percentage == \"\")\r\n\t\t\t\t\tprice = 0;\r\n\t\t\t\telse\r\n\t\t\t\t\tprice = parseInt(LineItemQuantity) * parseFloat(basePrice) * parseFloat(percentage) / 100;\r\n\t\t\t\tif (LineItemQuantity == \"\")\r\n\t\t\t\t\ttotalFPrice = 0;\r\n\t\t\t\telse\r\n\t\t\t\t\ttotalFPrice = parseInt(LineItemQuantity) * basePrice - price;\r\n\t\t\t\tif (vm.PriceLineItemList[index].LineItemCategory == \"HW\" && vm.PriceLineItemList[index].LineItemCompanyProvided == \"Yes\" && (percentage == 0.0 || percentage == 0)) {\r\n\t\t\t\t\ttotalFPrice = 0.0;\r\n\t\t\t\t}\r\n\t\t\t\tvm.PriceLineItemList[index].FreelancerPrice = totalFPrice.toFixed(2);\r\n\t\t\t}\r\n\t\t}\r\n\t\tvm.FreelancerChangeCal = function (index) {\r\n\r\n\t\t\tif (typeof index === \"undefined\") {\r\n\t\t\t\tif (vm.LineItemCategoryType != \"Collection\") {\r\n\t\t\t\t\tif (vm.LineItemCategoryType != \"General\") {\r\n\t\t\t\t\t\tif (vm.FreelancerPrice == \"\")\r\n\t\t\t\t\t\t\tvm.LineItemList.LineItemPercentage = 100;\r\n\r\n\t\t\t\t\t\tif (parseFloat(vm.FreelancerPrice) > (parseFloat(vm.LineItemList.dLineItemWinPrice) * parseFloat(vm.LineItemList.LineItemQuantity))) {\r\n\t\t\t\t\t\t\tvm.showFailure(\"Warning\", \"Freelancer price should be less than or equal to base price\");\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tvm.LineItemList.LineItemPercentage = (((parseFloat(vm.LineItemList.dLineItemWinPrice) - (parseFloat(vm.FreelancerPrice) / parseFloat(vm.LineItemList.LineItemQuantity))) / parseFloat(vm.LineItemList.dLineItemWinPrice)) * 100).toFixed(2);\r\n\t\t\t\t\t\tif (vm.LineItemList.LineItemPercentage == \"NaN\")\r\n\t\t\t\t\t\t\tvm.LineItemList.LineItemPercentage = 0.0;\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif (vm.PriceLineItemList[index].LineItemCategory != \"Collection\") {\r\n\t\t\t\t\tif (vm.PriceLineItemList[index].LineItemCategory != \"General\") {\r\n\t\t\t\t\t\tif (vm.PriceLineItemList[index].LineItemPercentage == \"\")\r\n\t\t\t\t\t\t\tvm.PriceLineItemList[index].LineItemPercentage = 0.0;\r\n\r\n\t\t\t\t\t\tif (parseFloat(vm.PriceLineItemList[index].FreelancerPrice) > (parseFloat(vm.PriceLineItemList[index].dLineItemWinPrice) * parseFloat(vm.PriceLineItemList[index].LineItemQuantity))) {\r\n\t\t\t\t\t\t\tvm.showFailure(\"Warning\", \"Freelancer price should be less than or equal to base price\");\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tvm.PriceLineItemList[index].LineItemPercentage = (((parseFloat(vm.PriceLineItemList[index].dLineItemWinPrice) - (parseFloat(vm.PriceLineItemList[index].FreelancerPrice) / parseFloat(vm.PriceLineItemList[index].LineItemQuantity))) / parseFloat(vm.PriceLineItemList[index].dLineItemWinPrice)) * 100).toFixed(2);\r\n\t\t\t\t\t\tif (vm.PriceLineItemList[index].LineItemPercentage == \"NaN\")\r\n\t\t\t\t\t\t\tvm.PriceLineItemList[index].LineItemPercentage = 100.00;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tvm.EditUpdateCalculation = function (index) {\r\n\r\n\t\t\tif (vm.PriceLineItemList[index].LineItemDescription == \"Others\" && vm.PriceLineItemList[index].LineItemCategory != \"AdvancedPayment\" && (parseFloat(vm.PriceLineItemList[index].dLineItemFreelancerPrice) > parseFloat(vm.PriceLineItemList[index].dLineItemWinPrice))) {\r\n\t\t\t\tvm.showFailure(\"Warning\", \"Please enter freelancer price less or equal to win price\");\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\r\n\t\t\tif (vm.PriceLineItemList[index].LineItemDescription == \"Bonus\") {\r\n\t\t\t\tvar FLPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) + (parseFloat(vm.PriceLineItemList[index].dLineItemFreelancerPrice) * parseInt(vm.PriceLineItemList[index].LineItemQuantity))).toFixed(2);\r\n\t\t\t\tif (parseInt(FLPriceTotal) > parseInt(vm.BasePriceTotal)) {\r\n\t\t\t\t\tvar maxBonus = (parseFloat(vm.BasePriceTotal) - parseFloat(vm.dFreelancerPriceTotal)).toFixed(2);\r\n\t\t\t\t\tvm.showFailure(\"Warning\", \"Please enter bonus price less or equal to \" + maxBonus);\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse if (vm.PriceLineItemList[index].LineItemCategory == \"AdvancedPayment\") {\r\n\t\t\t\tvar FLPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) - (parseFloat(vm.PriceLineItemList[index].dLineItemFreelancerPrice) * parseInt(vm.PriceLineItemList[index].LineItemQuantity))).toFixed(2);\r\n\t\t\t\tif (parseInt(FLPriceTotal) < 0) {\r\n\t\t\t\t\tvm.showFailure(\"Warning\", \"Please enter Advanced payment less or equal to \" + vm.dFreelancerPriceTotal);\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse if (vm.PriceLineItemList[index].LineItemDescription == \"Penalty\") {\r\n\t\t\t\tvar FLPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) - (parseFloat(vm.PriceLineItemList[index].dLineItemFreelancerPrice) * parseInt(vm.PriceLineItemList[index].LineItemQuantity))).toFixed(2);\r\n\t\t\t\tif (parseInt(FLPriceTotal) < 0) {\r\n\t\t\t\t\tvm.showFailure(\"Warning\", \"Please enter penalty price less or equal to \" + vm.dFreelancerPriceTotal);\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse if (vm.TicketInfo.IsSpareShipmentEnabled == true && vm.PriceLineItemList[index].ZOHOWarehouseName == null && vm.PriceLineItemList[index].LineItemCategory == 'HW') {\r\n\t\t\t\tvm.showFailure(\"Warning\", \"Please Select Warehouse\");\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\r\n\r\n\t\t\tvm.BasePriceTotal = 0.0;\r\n\t\t\tvm.dFreelancerPriceTotal = 0.0;\r\n\t\t\tfor (var i = 0; i < vm.PriceLineItemList.length; i++) {\r\n\t\t\t\tif (vm.PriceLineItemList[i].LineItemCategory != \"Collection\" && vm.PriceLineItemList[i].LineItemCategory != \"AdvancedPayment\") {\r\n\t\t\t\t\tvar basePrice = vm.PriceLineItemList[i].dLineItemWinPrice;\r\n\t\t\t\t\tvar dFprice = vm.PriceLineItemList[i].dLineItemFreelancerPrice;\r\n\t\t\t\t\tvar LineItemQuantity = vm.PriceLineItemList[i].LineItemQuantity;\r\n\t\t\t\t\tif (vm.PriceLineItemList[i].LineItemCategory == \"General\") {\r\n\t\t\t\t\t\tif (vm.PriceLineItemList[i].LineItemCompanyProvided == \"No\")\r\n\t\t\t\t\t\t\tbasePrice = 0.0;\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) + (parseFloat(basePrice) * LineItemQuantity)).toFixed(2);\r\n\t\t\t\t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) + (parseFloat(dFprice) * LineItemQuantity)).toFixed(2);\r\n\t\t\t\t}\r\n\t\t\t\telse if (vm.PriceLineItemList[i].LineItemCategory == \"AdvancedPayment\") {\r\n\t\t\t\t\tvar basePrice = vm.PriceLineItemList[i].dLineItemWinPrice;\r\n\t\t\t\t\tvar dFprice = vm.PriceLineItemList[i].dLineItemFreelancerPrice;\r\n\t\t\t\t\tvar LineItemQuantity = vm.PriceLineItemList[i].LineItemQuantity;\r\n\t\t\t\t\tif (vm.PriceLineItemList[i].LineItemCategory == \"General\") {\r\n\t\t\t\t\t\tif (vm.PriceLineItemList[i].LineItemCompanyProvided == \"No\")\r\n\t\t\t\t\t\t\tbasePrice = 0.0;\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) - (parseFloat(basePrice) * LineItemQuantity)).toFixed(2);\r\n\t\t\t\t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) - (parseFloat(dFprice) * LineItemQuantity)).toFixed(2);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvm.PriceLineItemList[index].edit = false;\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\t//delete row non edit\r\n\t\tvm.removeLineItem = function (index) {\r\n\t\t\tif (vm.PriceLineItemList[index].LineItemCategory != \"Collection\" && vm.PriceLineItemList[index].LineItemCategory != \"Penalty\" && vm.PriceLineItemList[index].LineItemCategory != \"AdvancedPayment\") {\r\n\t\t\t\tvar basePrice = vm.PriceLineItemList[index].dLineItemWinPrice;\r\n\t\t\t\tvar dFprice = vm.PriceLineItemList[index].dLineItemFreelancerPrice;\r\n\t\t\t\tvar LineItemQuantity = vm.PriceLineItemList[index].LineItemQuantity;\r\n\t\t\t\tvm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) - parseFloat(basePrice) * parseInt(LineItemQuantity)).toFixed(2);\r\n\t\t\t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) - parseFloat(dFprice) * parseInt(LineItemQuantity)).toFixed(2);\r\n\t\t\t}\r\n\t\t\telse if (vm.PriceLineItemList[index].LineItemCategory == \"Penalty\") {\r\n\t\t\t\tvar basePrice = vm.PriceLineItemList[index].dLineItemWinPrice;\r\n\t\t\t\tvar dFprice = vm.PriceLineItemList[index].dLineItemFreelancerPrice;\r\n\t\t\t\tvar LineItemQuantity = vm.PriceLineItemList[index].LineItemQuantity;\r\n\t\t\t\tvm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) + parseFloat(basePrice) * parseInt(LineItemQuantity)).toFixed(2);\r\n\t\t\t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) + parseFloat(dFprice) * parseInt(LineItemQuantity)).toFixed(2);\r\n\r\n\t\t\t}\r\n\t\t\telse if (vm.PriceLineItemList[index].LineItemCategory == \"AdvancedPayment\") {\r\n\t\t\t\tvar basePrice = vm.PriceLineItemList[index].dLineItemWinPrice;\r\n\t\t\t\tvar dFprice = vm.PriceLineItemList[index].dLineItemFreelancerPrice;\r\n\t\t\t\tvar LineItemQuantity = vm.PriceLineItemList[index].LineItemQuantity;\r\n\t\t\t\tvm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) + parseFloat(basePrice) * parseInt(LineItemQuantity)).toFixed(2);\r\n\t\t\t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) + parseFloat(dFprice) * parseInt(LineItemQuantity)).toFixed(2);\r\n\r\n\t\t\t}\r\n\t\t\tvm.PriceLineItemList.splice(index, 1);\r\n\t\t}\r\n\r\n\t\tvm.updateRomoveLineItem = function (index, action) {\r\n\r\n\t\t\tif (action == \"Update\") {\r\n\t\t\t\tif (vm.PriceLineItemList[index].LineItemCategory != \"Collection\") {\r\n\t\t\t\t\tif (vm.PriceLineItemList[index].LineItemQuantity == \"\") {\r\n\t\t\t\t\t\tvm.PriceLineItemList[index].edit = true;\r\n\t\t\t\t\t\tvm.showFailure(\"Warning\", \"Please enter quantity\");\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (vm.PriceLineItemList[index].LineItemQuantity == 0) {\r\n\t\t\t\t\t\tvm.PriceLineItemList[index].edit = true;\r\n\t\t\t\t\t\tvm.showFailure(\"Warning\", \"zero (0) quantity not allowed\");\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (vm.PriceLineItemList[index].LineItemCategory != \"General\") {\r\n\t\t\t\t\t\tif (vm.PriceLineItemList[index].LineItemCategory == \"HW\" && vm.LineItemCompanyProvided == \"Yes\") { }\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (vm.PriceLineItemList[index].dLineItemWinPrice == \"\" || vm.PriceLineItemList[index].dLineItemWinPrice == \"0\" || parseInt(vm.PriceLineItemList[index].dLineItemWinPrice) < 1) {\r\n\t\t\t\t\t\t\tvm.PriceLineItemList[index].edit = true;\r\n\t\t\t\t\t\t\tvm.showFailure(\"Warning\", \"Please enter base price\");\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (parseFloat(vm.PriceLineItemList[index].LineItemPercentage) > 100) {\r\n\t\t\t\t\t\t\tvm.PriceLineItemList[index].edit = true;\r\n\t\t\t\t\t\t\tvm.showFailure(\"Warning\", \"Please enter percentage 100 or less than 100\");\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (parseFloat(vm.PriceLineItemList[index].FreelancerPrice) > (parseFloat(vm.PriceLineItemList[index].dLineItemWinPrice) * parseFloat(vm.PriceLineItemList[index].LineItemQuantity))) {\r\n\t\t\t\t\t\t\tvm.PriceLineItemList[index].edit = true;\r\n\t\t\t\t\t\t\tvm.showFailure(\"Warning\", \"Freelancer price should be less than or equal to base price\");\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tif (vm.PriceLineItemList[index].FreelancerPrice == \"\" || typeof vm.PriceLineItemList[index].FreelancerPrice === \"undefined\")\r\n\t\t\t\t\t\tvm.PriceLineItemList[index].FreelancerPrice = \"0\";\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (vm.PriceLineItemList[index].LineItemCategory == \"General\") {\r\n\t\t\t\tvm.PriceLineItemList[index].dLineItemWinPrice = 0.0;\r\n\t\t\t\tvm.PriceLineItemList[index].dLineItemFreelancerPrice = 0.0;\r\n\t\t\t\tvm.PriceLineItemList[index].LineItemPercentage = 0.0;\r\n\t\t\t}\r\n\t\t\tif (vm.PriceLineItemList[index].dLineItemWinPrice == \"\")\r\n\t\t\t\tvm.PriceLineItemList[index].dLineItemWinPrice = 0.0;\r\n\t\t\tif (vm.PriceLineItemList[index].dLineItemFreelancerPrice == \"\")\r\n\t\t\t\tvm.PriceLineItemList[index].dLineItemFreelancerPrice = 0.0;\r\n\t\t\tif (vm.PriceLineItemList[index].LineItemPercentage == \"\")\r\n\t\t\t\tvm.PriceLineItemList[index].LineItemPercentage = 0.0;\r\n\t\t\tif (vm.PriceLineItemList[index].LineItemQuantity == \"\")\r\n\t\t\t\tvm.PriceLineItemList[index].LineItemQuantity = 1;\r\n\t\t\tif (vm.PriceLineItemList[index].FreelancerPrice == \"\")\r\n\t\t\t\tvm.PriceLineItemList[index].FreelancerPrice = 0.0;\r\n\r\n\r\n\t\t\tvar Requestdata = {\r\n\t\t\t\tLineItemDescription: vm.PriceLineItemList[index].LineItemDescription,\r\n\t\t\t\tLineItemCategory: vm.PriceLineItemList[index].LineItemCategory,\r\n\t\t\t\tLineItemPercentage: vm.PriceLineItemList[index].LineItemPercentage,\r\n\t\t\t\tdLineItemWinPrice: vm.PriceLineItemList[index].dLineItemWinPrice,\r\n\t\t\t\tdLineItemFreelancerPrice: vm.PriceLineItemList[index].dLineItemFreelancerPrice,\r\n\t\t\t\tLineItemId: vm.PriceLineItemList[index].LineItemId,\r\n\t\t\t\tLineItemCode: vm.PriceLineItemList[index].LineItemCode,\r\n\t\t\t\tLineItemQuantity: vm.PriceLineItemList[index].LineItemQuantity,\r\n\t\t\t\tLineItemFreelancerPrice: vm.ConverttoDecimal(vm.PriceLineItemList[index].FreelancerPrice),\r\n\t\t\t\tLineItemRemark: vm.PriceLineItemList[index].LineItemRemark,\r\n\t\t\t\tZOHOWarehouseName: vm.PriceLineItemList[index].ZOHOWarehouseName,\r\n\t\t\t\tLineItemUnit: vm.PriceLineItemList[index].LineItemUnit,\r\n\t\t\t\tLineItemAction: action,\r\n\t\t\t\tLineItemCompanyProvided: vm.LineItemCompanyProvided,\r\n\t\t\t\tLineItemAttachment: vm.LineItemImage\r\n\t\t\t}\r\n\t\t\tvm.PriceLineItemList[index].FreelancerPrice = vm.ConverttoDecimal(vm.PriceLineItemList[index].FreelancerPrice);\r\n\t\t\tvm.PriceLineItemList[index].LineItemPercentage = vm.ConverttoDecimal(vm.PriceLineItemList[index].LineItemPercentage);\r\n\t\t\tvm.LineItemDataList.push(Requestdata);\r\n\t\t\tuserFormData = {\r\n\t\t\t\t\"TicketId\": vm.TicketId,\r\n\t\t\t\t\"LineItemRequestList\": vm.LineItemDataList\r\n\r\n\t\t\t}\r\n\t\t\t//vm.PriceLineItemList[index].LineItemCompanyProvided=vm.LineItemCompanyProvided;\r\n\r\n\t\t\t// vm.enable = \"false\";\r\n\t\t\t// if(action==\"Update\"){\t\t\t\t\r\n\t\t\t// vm.updateButtonText = \"Updating\";\r\n\t\t\t// vm.PriceLineItemList[index].edit=true;\r\n\t\t\t// }\r\n\t\t\t// else\r\n\t\t\t// vm.removeButtonText = \"Removing\";\r\n\r\n\t\t\tJobDetailViewService.CreateUpdateRemoveLineItem(userFormData, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t//$timeout(function(){\r\n\r\n\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\tvar msg = \"\";\r\n\t\t\t\t\tif (action == \"Update\") {\r\n\t\t\t\t\t\tif (vm.PriceLineItemList[index].LineItemCategory != \"Collection\") {\r\n\t\t\t\t\t\t\tvm.EditUpdateCalculation(index);\r\n\r\n\t\t\t\t\t\t\tJobDetailViewService.UpdateJobPaymentDynamicPrice(loggedinUser, vm.TicketId, vm.BasePriceTotal, vm.PercentageTotal, vm.FreelancerPriceTotal, vm.IsFinalApproval, token, function (res) {\r\n\t\t\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t\t\t//vm.showSuccess(\"Success\", res);\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tmsg = \"LineItem has been updated successfully\";\r\n\t\t\t\t\t\t\t\t\tvm.LineItemDataList = [];\r\n\t\t\t\t\t\t\t\t\tvm.getTicketByJobId();\r\n\r\n\t\t\t\t\t\t\t\t\tvm.showSuccess(\"Success\", msg);\r\n\t\t\t\t\t\t\t\t\t// vm.enable = \"true\";\r\n\t\t\t\t\t\t\t\t\t// vm.updateButtonText = \"Update\";\r\n\t\t\t\t\t\t\t\t\t//vm.PriceLineItemList[index].edit=false;\r\n\t\t\t\t\t\t\t\t}, 1000);\r\n\t\t\t\t\t\t\t}, vm.showFailure);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t\tmsg = \"LineItem has been updated successfully\";\r\n\t\t\t\t\t\t\t\tvm.LineItemDataList = [];\r\n\t\t\t\t\t\t\t\tvm.getTicketByJobId();\r\n\r\n\t\t\t\t\t\t\t\tvm.showSuccess(\"Success\", msg);\r\n\t\t\t\t\t\t\t}, 1000);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tif (vm.PriceLineItemList[index].LineItemCategory != \"Collection\") {\r\n\t\t\t\t\t\t\tvar basePrice = vm.PriceLineItemList[index].dLineItemWinPrice;\r\n\t\t\t\t\t\t\tvar dFprice = vm.PriceLineItemList[index].dLineItemFreelancerPrice;\r\n\t\t\t\t\t\t\tvar freelancerPrice = vm.PriceLineItemList[index].FreelancerPrice;\r\n\t\t\t\t\t\t\tvar LineItemQuantity = vm.PriceLineItemList[index].LineItemQuantity;\r\n\r\n\t\t\t\t\t\t\tif (basePrice == \"\")\r\n\t\t\t\t\t\t\t\tbasePrice = 0.0;\r\n\r\n\t\t\t\t\t\t\tif (dFprice == \"\")\r\n\t\t\t\t\t\t\t\tdFprice = 0.0;\r\n\t\t\t\t\t\t\tif (freelancerPrice == \"\")\r\n\t\t\t\t\t\t\t\tfreelancerPrice = 0.0;\r\n\t\t\t\t\t\t\tif (LineItemQuantity == \"\")\r\n\t\t\t\t\t\t\t\tLineItemQuantity = 1;\r\n\r\n\t\t\t\t\t\t\tvar lessBasePrice = parseFloat(basePrice) * parseInt(LineItemQuantity);\r\n\t\t\t\t\t\t\tvar lessdFprice = parseFloat(dFprice) * parseInt(LineItemQuantity);\r\n\t\t\t\t\t\t\tif (vm.PriceLineItemList[index].LineItemCategory != \"Collection\") {\r\n\t\t\t\t\t\t\t\tif (vm.PriceLineItemList[index].LineItemCategory != \"General\") {\r\n\r\n\t\t\t\t\t\t\t\t\tvm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) - parseFloat(lessBasePrice)).toFixed(2);\r\n\t\t\t\t\t\t\t\t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) - parseFloat(lessdFprice)).toFixed(2);\r\n\t\t\t\t\t\t\t\t\tvm.FreelancerPriceTotal = (parseFloat(vm.FreelancerPriceTotal) - parseFloat(freelancerPrice)).toFixed(2);\r\n\t\t\t\t\t\t\t\t\tvm.PercentageTotal = (100 - (vm.FreelancerPriceTotal * 100 / vm.BasePriceTotal)).toFixed(2);\r\n\t\t\t\t\t\t\t\t\tif (vm.PercentageTotal == \"NaN\")\r\n\t\t\t\t\t\t\t\t\t\tvm.PercentageTotal = 0;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\tif (vm.PriceLineItemList[index].LineItemCompanyProvided == \"No\") {\r\n\t\t\t\t\t\t\t\t\t\tlessBasePrice = 0.0;\r\n\t\t\t\t\t\t\t\t\t\tlessdFprice = 0.0;\r\n\t\t\t\t\t\t\t\t\t\tvm.BasePriceTotal = (parseFloat(vm.BasePriceTotal) - parseFloat(lessBasePrice)).toFixed(2);\r\n\t\t\t\t\t\t\t\t\t\tvm.dFreelancerPriceTotal = (parseFloat(vm.dFreelancerPriceTotal) - parseFloat(lessdFprice)).toFixed(2);\r\n\t\t\t\t\t\t\t\t\t\tvm.FreelancerPriceTotal = (parseFloat(vm.FreelancerPriceTotal) - parseFloat(freelancerPrice)).toFixed(2);\r\n\t\t\t\t\t\t\t\t\t\tvm.PercentageTotal = (100 - (vm.FreelancerPriceTotal * 100 / vm.BasePriceTotal)).toFixed(2);\r\n\t\t\t\t\t\t\t\t\t\tif (vm.PercentageTotal == \"NaN\")\r\n\t\t\t\t\t\t\t\t\t\t\tvm.PercentageTotal = 0;\r\n\t\t\t\t\t\t\t\t\t\tif (vm.BasePriceTotal == \"0.00\" || vm.BasePriceTotal == \"0\")\r\n\t\t\t\t\t\t\t\t\t\t\tvm.PercentageTotal = 0.00;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (vm.PriceLineItemList[index].LineItemCategory != \"Collection\") {\r\n\t\t\t\t\t\t\tJobDetailViewService.UpdateJobPaymentDynamicPrice(loggedinUser, vm.TicketId, vm.BasePriceTotal, vm.PercentageTotal, vm.FreelancerPriceTotal, vm.IsFinalApproval, token, function (res) {\r\n\t\t\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t\t\t//vm.showSuccess(\"Success\", res);\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tmsg = \"LineItem has been removed successfully\";\r\n\t\t\t\t\t\t\t\t\tvm.LineItemDataList = [];\r\n\t\t\t\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\t\t\t\tvm.showSuccess(\"Success\", msg);\r\n\t\t\t\t\t\t\t\t\t// vm.enable = \"true\";\r\n\t\t\t\t\t\t\t\t\t// vm.removeButtonText = \"Remove\";\r\n\t\t\t\t\t\t\t\t}, 1000);\r\n\r\n\t\t\t\t\t\t\t}, vm.showFailure);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t\tmsg = \"LineItem has been removed successfully\";\r\n\t\t\t\t\t\t\t\tvm.LineItemDataList = [];\r\n\t\t\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\t\t\tvm.showSuccess(\"Success\", msg);\r\n\t\t\t\t\t\t\t}, 1000);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tvm.PriceLineItemList.splice(index, 1);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvm.EmptyLineItemDetails();\r\n\t\t\t\t\t// vm.LineItemCategoryType=\"\";\r\n\t\t\t\t\tvm.LineItemDisc = \"\";\r\n\t\t\t\t\tvm.LineItemDataList = [];\r\n\t\t\t\t\t// window.location.reload(true);\r\n\t\t\t\t}\r\n\t\t\t\t//}, 1000);\r\n\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\t//advanced payment \r\n\t\tvm.initiateAdvancedPayment = function (action, index) {\r\n\t\t\t// vm.removeLineItem(index);\r\n\t\t\tvm.sendAdvanceDetails = {\r\n\t\t\t\t\"TicketId\": vm.TicketId,\r\n\t\t\t\t\"Action\": action\r\n\t\t\t}\r\n\t\t\tJobDetailViewService.initiateAdvancedPayment(vm.sendAdvanceDetails, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", \"Initiated advanc payment\");\r\n\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\t//\r\n\t\tvm.UpdateLineItems = \"Update Line Items\";\r\n\t\tvm.updateLineItem = function () {\r\n\t\t\tif (vm.PriceLineItemList.length > 0) {\r\n\t\t\t\tvm.enable1 = \"false\";\r\n\t\t\t\tvm.UpdateLineItems = \"Update Line Items...\";\r\n\r\n\t\t\t\tvar data = {\r\n\t\t\t\t\t\"TicketId\": vm.TicketId,\r\n\t\t\t\t\t\"LineItemRequestList\": vm.PriceLineItemList\r\n\r\n\t\t\t\t};\r\n\t\t\t\tJobDetailViewService.CreateUpdateRemoveLineItem(data, loggedinUser, token).then(function (resp) {\r\n\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", resp.data + \" Line Item\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\t\tvm.enable1 = \"true\";\r\n\t\t\t\t\t\t\tvm.UpdateLineItems = \"Update Line Items\";\r\n\t\t\t\t\t\t}, 1500);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.showFailure();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.ApprovePricingButtonText = \"Approve Pricing\";\r\n\t\tvm.ApprovePricing = function () {\r\n\t\t\tif (vm.PriceLineItemList.length > 0) {\r\n\t\t\t\tvm.IsFinalApproval = true;\r\n\t\t\t\tvm.enable1 = \"false\";\r\n\t\t\t\tvm.ApprovePricingButtonText = \"Approve Pricing...\";\r\n\r\n\t\t\t\tvar data = {\r\n\t\t\t\t\t\"TicketId\": vm.TicketId,\r\n\t\t\t\t\t\"IsCollectionFlag\": true,\r\n\t\t\t\t\t\"CollectionPercentage\": 0,\r\n\t\t\t\t\t\"CollectionAmount\": 0,\r\n\t\t\t\t\t\"LineItemRequestList\": vm.PriceLineItemList\r\n\r\n\t\t\t\t};\r\n\t\t\t\tJobDetailViewService.UpdateJobPaymentDynamicPrice(loggedinUser, vm.TicketId, vm.BasePriceTotal, vm.PercentageTotal, vm.FreelancerPriceTotal, vm.IsFinalApproval, data, token, function (res) {\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tmsg = \"Price has been approved successfully\";\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", msg);\r\n\t\t\t\t\t\tvm.enable1 = \"true\";\r\n\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\tvm.BonusList = [];\r\n\t\t\t\t\t\tvm.PenaltyList = [];\r\n\t\t\t\t\t\tvm.ApprovePricingButtonText = \"Approve Pricing\";\r\n\t\t\t\t\t}, 1000);\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.showFailure(\"Faild\", \"Please enter atleast one Line Item to Approve this job.\");\r\n\t\t\t}\r\n\t\t}\r\n\t\tvm.removeCurrentActivityRow = function () {\r\n\t\t\tvm.showTCList = false;\r\n\t\t\tvm.EmptyLineItemDetails();\r\n\t\t}\r\n\t\tvm.EmptyLineItemDetails = function () {\r\n\t\t\tvm.LineItemCategoryType = \"\";\r\n\t\t\tvm.LineItemDisc = \"\";\r\n\t\t\tvm.LineItemList.LineItemDescription = '';\r\n\t\t\tvm.LineItemList.LineItemCategory = '';\r\n\t\t\tvm.LineItemList.LineItemPercentage = '';\r\n\t\t\tvm.LineItemList.dLineItemWinPrice = '';\r\n\t\t\tvm.LineItemList.dLineItemFreelancerPrice = '';\r\n\t\t\tvm.LineItemList.LineItemQuantity = '';\r\n\t\t\tvm.FreelancerPrice = '';\r\n\t\t\tvm.LineItemRemark = '';\r\n\t\t\tvm.ZOHOWarehouseName = '';\r\n\t\t}\r\n\t\tvm.changeFile = function (selector) {\r\n\t\t\tangular.element(selector).trigger(\"click\");\r\n\t\t}\r\n\r\n\t\t$scope.uploadLineItemFile = function (elem, index) {\r\n\r\n\t\t\tvar index = (angular.element(elem).attr(\"data-index\"));\r\n\t\t\tvar file = elem.files[0];\r\n\t\t\tif (file.type == \"application/pdf\" || file.type == \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"\r\n\t\t\t\t|| file.type == \"application/msword\" || file.type.indexOf(\"image/jpg\") >= 0 || file.type.indexOf(\"image/png\") >= 0\r\n\t\t\t\t|| file.type.indexOf(\"image/bmp\") >= 0 || file.type.indexOf(\"image/jpeg\") >= 0) {\r\n\r\n\t\t\t\tvar data = new FormData();\r\n\t\t\t\tdata.append(\"files\", file);\r\n\t\t\t\tJobDetailViewService.uploadLineItemPic(loggedinUser, data, token, function (res) {\r\n\t\t\t\t\tif (res && res.status == 201 && res.data) {\r\n\t\t\t\t\t\tvm.edit = false;\r\n\t\t\t\t\t\tvm.PriceLineItemList[index].LineItemAttachment = vm.LineItemImage = res.data;\r\n\t\t\t\t\t\tvm.LineItemImage = res.data;\r\n\t\t\t\t\t\tvm.edit1 = false;\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t}, function (err) {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", \"Unable to upload line item, server error\");\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvm.showFailure(\"Failed\", \"You can upload image, pdf or word document only\");\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tvm.DisableScheduledExceptionButtons = function (disable) {\r\n\t\tif (disable) {\r\n\t\t\tvm.disableExceptionButton = true;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tvm.disableExceptionButton = false;\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tvm.resolveException = function () {\r\n\t\tvm.DisableScheduledExceptionButtons(true);\r\n\t\tvar ticketIdList = [];\r\n\t\tticketIdList.push(uTicketId);\r\n\r\n\t\tJobDetailViewService.ResolveException(loggedinUser, ticketIdList, token).then(function (resp) {\r\n\t\t\tif (resp.status == 202) {\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\tvm.showSuccess(\"Schedule Exception\", \"Exception Resolved Successfully\");\r\n\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t// window.location.reload(true);\r\n\t\t\t\t\tvm.DisableScheduledExceptionButtons(false);\r\n\r\n\t\t\t\t}, 1000);\r\n\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tvm.Applycompletejob = function () {\r\n\r\n\t\tvar data = {\r\n\t\t\t\"ReqUserId\": loggedinUser,\r\n\t\t\t\"TicketId\": uTicketId,\r\n\t\t\t\"Status\": \"Completed\",\r\n\t\t\t\"TechnicianRating\": \"\",\r\n\t\t\t\"CompletionRemark\": \"\",\r\n\t\t\t\"ApprovalRemark\": \"\",\r\n\t\t\t\"SourceResolvedOn\": \"\",\r\n\t\t\t\"ClosureMode\": \"\",\r\n\t\t\t\"FieldJobClosureMode\": \"\",\r\n\t\t\t\"FieldJobVisitStatus\": \"\",\r\n\t\t\t\"JobWinRate\": 0,\r\n\t\t\t\"SelectedCompletionRemarkList\": [\r\n\t\t\t\t{\r\n\t\t\t\t\t\"remark\": \"\",\r\n\t\t\t\t\t\"description\": \"\",\r\n\t\t\t\t\t\"SelectedHWDetailList\": [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\"Skill\": \"\",\r\n\t\t\t\t\t\t\t\"Code\": \"\",\r\n\t\t\t\t\t\t\t\"Name\": \"\",\r\n\t\t\t\t\t\t\t\"Description\": \"\",\r\n\t\t\t\t\t\t\t\"Category\": \"\",\r\n\t\t\t\t\t\t\t\"HardwareFrom\": \"\"\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t]\r\n\t\t\t\t}\r\n\t\t\t],\r\n\t\t\t\"RejectionRemark\": \"\"\r\n\r\n\t\t}\r\n\t\tJobDetailViewService.completeJob(data, loggedinUser, token).then(function (resp) {\r\n\t\t\tif (resp.status == 202) {\r\n\t\t\t\tvm.showSuccess(\"Complete Job\", \"Job Completed Successfully.\");\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t$state.go('index.JobTickets', { reload: true });\r\n\r\n\t\t\t\t}, 1000);\r\n\t\t\t}\r\n\r\n\t\t})\r\n\t}\r\n\r\n\r\n\tvm.OpenApproveModal = function (TicketInfo) {\r\n\t\tif (vm.PriceLineItemList.length > 0) {\r\n\t\t\tvm.TicketInfo = TicketInfo;\r\n\t\t\tvm.RatingOfTicket = '';\r\n\t\t\tvm.aproveMessage = 'Please Rate !';\r\n\t\t\tapproveModalInstance = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'approve_model.html',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\t\telse {\r\n\t\t\tvm.showFailure(\"Faild\", \"Please enter atleast one Line Item to Approve this job.\");\r\n\t\t}\r\n\t}\r\n\tvm.CloseModal = function () {\r\n\t\tapproveModalInstance.close();\r\n\t}\r\n\tvm.OpenShareEstimateModal = function () {\r\n\t\t\tEstimateModalInstance = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'ShareEstimate_model.html',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t\r\n\t}\r\n\tvm.CloseEstimateModal = function () {\r\n\t\tvm.EstimateRemark = [];\r\n\t\tvm.clear(); \r\n\t\tEstimateModalInstance.close();\r\n\t}\r\n\r\n\r\n\tvm.uploadShareEstimateFile = function () {\r\n\t\tvar data = {};\r\n\t\tdata = {\r\n\t\t \"EstimateRemark\": vm.EstimateRemark,\r\n\t\t \"TicketId\": vm.TicketId,\r\n\t\t}\r\n\t\tJobDetailViewService.UpdateEstimateShareByCust(data, vm.Estimatefile, token, loggedinUser).then(function (res) {\r\n\t\tif (res && res.status == 200) {\r\n\t\t\tvm.CloseEstimateModal();\r\n\t\t\tvm.showSuccess(\"Success\", res.data);\r\n\t\t\t$timeout(function () {\r\n\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t}, 2000); \r\n\t\t} else if (res && res.data) {\r\n\t\t\tvm.showFailure(\"Failed\", res.data);\r\n\t\t}\r\n\t\t});\r\n\t\t\r\n\t }\r\n\r\n\t$scope.valiateEstimateFile = function (Estimatefile) {\r\n\t\tvm.EstimateFileName = \"\";\r\n\t\tvm.Estimatefile = Estimatefile.files[0];\r\n\t\tvm.EstimateFileName = vm.Estimatefile.name;\r\n\t\t// var allowedExtensions = /(\\.pdf|\\.PDF|\\.docx|\\.DOCX|\\.doc|\\.DOC|\\.xlsx|\\.xls|\\.XLSX|\\.XLS|\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png)$/i;\r\n\t\t// if (!allowedExtensions.exec(Estimatefile.name)) {\r\n\t\t// \tvm.EstimateFileDoc = [];\r\n\t\t// \tvm.clear();\r\n\t\t// \talert('Please upload file having extensions .pdf,.docx,.doc,.xlsx,.xls,.png,.jpeg,.jpg only.');\r\n\t\t// }\r\n\t}\r\n\r\n\t vm.clear = function () {\r\n\t\tangular.element(\"input[type='file']\").val(null);\r\n\t }; \r\n\r\n\r\n\tvm.starChanged = function () {\r\n\t\tswitch (vm.RatingOfTicket) {\r\n\t\t\tcase '5':\r\n\t\t\t\tvm.aproveMessage = 'Excellent';\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase '4':\r\n\t\t\t\tvm.aproveMessage = 'Very Good';\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase '3':\r\n\t\t\t\tvm.aproveMessage = 'Good';\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase '2':\r\n\t\t\t\tvm.aproveMessage = 'Bad';\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase '1':\r\n\t\t\t\tvm.aproveMessage = 'Very Bad';\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\tvm.ratingwarning = \" \";\r\n\t}\r\n\tvm.verifyIsTicketReadyForCompletion = function(ticketid){\r\n\t\tif((vm.AccountId == '380' || vm.AccountId == '383') && vm.TicketInfo.IsHappyCodeEnabled){\r\n\t\t\tvar data = data = {\r\n\t\t\t\t\"TicketId\": ticketid,\r\n\t\t\t\t\"TicketStatus\": \"Completed\",\r\n\t\t\t\t\"CompletionReason\": \"\",\r\n\t\t\t\t\"TicketCompletionRemark\": \"\"\r\n\t\t\t}\r\n\t\t\t\r\n\t\tJobDetailViewService.ValidateTicketCanMarkComplete(data, token).then(function (resp) {\r\n\t\t\tif (resp.status == 200) {\r\n\t\t\t\tvm.IsEligibleToComplete = resp.data;\r\n\t\t\t\tif(vm.IsEligibleToComplete == 'Validation Complete'){\r\n\t\t\t\t\tvm.GetAllSymptomDocByProductGroup();\r\n\t\t\t\t\thappyCodeModalInstance = $uibModal.open({\r\n\t\t\t\t\t\ttemplateUrl: 'happy_code_model.html',\r\n\t\t\t\t\t\tscope: $scope,\r\n\t\t\t\t\t\tbackdrop: 'static'\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t}\r\n\t\t});\r\n\t\t}\r\n\t\telse{\r\n\t\t\tvm.completeTkt(vm.TicketInfo.TicketId);\r\n\t\t}\r\n\t}\r\n\r\n\tvm.closeHappyCodeModel = function(){\r\n\t\thappyCodeModalInstance.close();\r\n\t\tvm.HappyCode = \"\";\r\n\t\tvm.SymptomCode = \"\";\r\n\t\tvm.SymptomValue = \"\";\r\n\t\tvm.DefectCode = \"\";\r\n\t\tvm.DefectValue = \"\";\r\n\t\tvm.ResolutionCode = \"\";\r\n\t\tvm.ResolutionValue = \"\";\r\n\t}\r\n\r\n\tvm.SendHappyCodeSMS = function () {\r\n\t\tCustomerCRMListService.SendHappyCodeSMS(vm.TicketInfo.TicketId,vm.AccountId, loggedinUser, token).then(function (resp) {\r\n\t\t\tif (resp && resp.data && resp.status == 200) {\r\n\t\t\t\tvm.showSuccess(\"Success\", \"Happy code sent to customer successfully.\");\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data)\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tvm.GetAllSymptomDocByProductGroup = function () {\r\n\t\tJobDetailViewService.GetAllSymptomDocByProductGroup(vm.TicketInfo.ProductGroup, loggedinUser, token).then(function (resp) {\r\n\t\t\tif (resp && resp.data && resp.status == 200) {\r\n\t\t\t\tvm.SymptomsList = resp.data;\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tvm.GetProductInfobySerialNumber = function(serialNumber){\r\n\t\tif (serialNumber && serialNumber.length === 18) {\r\n\t\t\tvm.ProductList = [];\r\n\t\t\tvm.AllActiveProductModelNoList = [];\r\n\t\t\tJobDetailViewService.GetProductInfobySerialNumber(serialNumber,vm.TicketInfo.JobAccountId, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tif(resp.data.ErrorCode == 157){\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.ProductInfo = resp.data;\r\n\t\t\t\t\tif(vm.ProductInfo.ProductName){\r\n\t\t\t\t\t vm.ProductList = [vm.ProductInfo.ProductName];\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif(vm.ProductInfo.ModelNumber){\r\n\t\t\t\t\t\tvm.AllActiveProductModelNoList = [{\r\n\t\t\t\t\t\t\t\"strProductName\" : vm.ProductInfo.ProductName || '',\r\n\t\t\t\t\t\t\t\"strModelNumber\": vm.ProductInfo.ModelNumber,\r\n\t\t\t\t\t\t\t\"strModelName\": vm.ProductInfo.ModelName || '',\r\n\t\t\t\t\t\t\t\"strModelDescription\": vm.ProductInfo.ModelDescription || '',\r\n\t\t\t\t\t\t\t\"strNewModelNumber\": null,\r\n\t\t\t\t\t\t\t\"strNewModelDescription\": null,\r\n\t\t\t\t\t\t\t\"bIsActive\": true,\r\n\t\t\t\t\t\t\t\"strBrandName\": vm.ProductInfo.BrandName || '',\r\n\t\t\t\t\t\t}]\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t})\t\r\n\t\t}\r\n\t}\r\n\r\n\tvm.getSymptomValue = function(description) {\r\n\t\tif(!description){\r\n\t\t\tvm.DefectsList = [];\r\n\t\t\tvm.SymptomCode = '';\r\n\t\t\tvm.SymptomName = '';\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tvar selectedSymptom = null;\r\n\t\tangular.forEach(vm.SymptomsList, function(symptom) {\r\n\t\t\tif (symptom.strSymptomDescription == description) {\r\n\t\t\t\tselectedSymptom = symptom;\r\n\t\t\t\tvm.SymptomName = description;\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn selectedSymptom ? selectedSymptom.strSymptomValue : null;\r\n\t};\r\n\t\r\n\r\n\tvm.GetDefectsValuesBySymptomValue = function (symptomvalue) {\r\n\t\tif(symptomvalue){\r\n\t\t\tvm.SymptomCode = symptomvalue;\r\n\t\t}\r\n\t\tJobDetailViewService.GetDefectsValuesBySymptomValue(vm.SymptomCode, loggedinUser, token).then(function (resp) {\r\n\t\t\tif (resp && resp.data && resp.status == 200) {\r\n\t\t\t\tvm.DefectsList = resp.data;\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tvm.getDefectValue = function(description) {\r\n\t\tif(!description){\r\n\t\t\tvm.ResolutionsList = [];\r\n\t\t\tvm.DefectCode = '';\r\n\t\t\tvm.DefectName = '';\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tvar selectedDefect = null;\r\n\t\tangular.forEach(vm.DefectsList, function(defect) {\r\n\t\t\tif (defect.strDefectDescription == description) {\r\n\t\t\t\tselectedDefect = defect;\r\n\t\t\t\tvm.DefectName = description;\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn selectedDefect ? selectedDefect.strDefectValue : null;\r\n\t};\r\n\t\r\n\r\n\tvm.GetAllRepairDocsByDefectValue = function (defectvalue) {\r\n\t\tif(defectvalue){\r\n\t\t\tvm.DefectCode = defectvalue;\r\n\t\t}\r\n\t\tJobDetailViewService.GetAllRepairDocsByDefectValue(vm.DefectCode, loggedinUser, token).then(function (resp) {\r\n\t\t\tif (resp && resp.data && resp.status == 200) {\r\n\t\t\t\tvm.ResolutionsList = resp.data;\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n vm.AllCallTypes = [];\r\n\tvm.GetCRMCallTypeList = function (product) {\r\n\t\tif(product){\r\n\t\t\tvm.product = product;\r\n\t\t}\r\n\t\tvar data = {\r\n\t\t\t\"strBrandName\": vm.BrandNameTicket,\r\n\t\t\t\"strProductGroup\": vm.productGroup,\r\n\t\t\t\"strProductName\": vm.product,\r\n\t\t\t\"strCallType\": \"\"\r\n\t\t}\r\n\t\tJobDetailViewService.GetCRMCallTypeList(data,loggedinUser, token).then(function (resp) {\r\n\t\t\tif (resp && resp.data) {\r\n\t\t\t\tvm.AllCallTypes = resp.data.strListCallType;\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tvm.GetModelNumberByTicketId = function () {\r\n\t\tvm.AllGangnamModelNumberList = [];\r\n\t\tJobDetailViewService.GetModelNumberByTicketId(vm.TicketId,loggedinUser, token).then(function (resp) {\r\n\t\t\tif (resp && resp.data) {\r\n\t\t\t\tvm.AllGangnamModelNumberList = resp.data;\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tvm.AllGangnamModelNumberList = [];\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tvm.getResolutionValue = function(description) {\r\n\t\tif(!description){\r\n\t\t\tvm.ResolutionCode = '';\r\n\t\t\tvm.ResolutionName = '';\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tangular.forEach(vm.ResolutionsList, function(resolution) {\r\n\t\t\tif (resolution.strRepairDescription == description) {\r\n\t\t\t\tselectedResolution = resolution;\r\n\t\t\t\tvm.ResolutionName = description;\r\n\t\t\t\tvm.ResolutionCode = selectedResolution.strRepairValue\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tvm.completeTkt = function (ticketid) {\r\n\t\tif((vm.AccountId == '380' || vm.AccountId == '383') && vm.TicketInfo.IsHappyCodeEnabled){\r\n\t\t\tvm.happyCodeCompletionForm.submitted = true;\r\n\t\t\tif (!vm.happyCodeCompletionForm.$valid) return;\r\n\t\t}\r\n\t\t// if(vm.Symptom){\r\n\t\t// vm.strSymptomValue = vm.Symptom.strSymptomValue;\r\n\t\t// vm.strSymptomDescription = vm.Symptom.strSymptomDescription;\r\n\t\t// }\r\n\t\t// if(vm.Defect){\r\n\t\t// \tvm.strDefectValue = vm.Defect.strDefectValue;\r\n\t\t// \tvm.strDefectDescription = vm.Defect.strDefectDescription;\r\n\t\t// }\r\n\t\t// if(vm.Resolution){\r\n\t\t// \tvm.strRepairValue = vm.Resolution.strRepairValue;\r\n\t\t// \tvm.strRepairDescription = vm.Resolution.strRepairDescription;\r\n\t\t// }\r\n\t\t// var data = {\r\n\t\t// \t\"TicketId\": ticketid,\r\n\t\t// \t\"TicketStatus\": \"Completed\",\r\n\t\t// \t\"CompletionReason\": \"\",\r\n\t\t// \t\"TicketCompletionRemark\": \"\",\r\n\t\t// \t\"HappyCode\": vm.HappyCode,\r\n\t\t// \t\"SymptomCode\": vm.strSymptomValue,\r\n\t\t// \t\"SymptomValue\": vm.strSymptomDescription,\r\n\t\t// \t\"DefectCode\": vm.strDefectValue,\r\n\t\t// \t\"DefectValue\": vm.strDefectDescription,\r\n\t\t// \t\"ResolutionCode\": vm.strRepairValue,\r\n\t\t// \t\"ResolutionValue\": vm.strRepairDescription\r\n\t\t// }\r\n\t\tvar data ={\r\n\t\t\t\"TicketId\": ticketid,\r\n\t\t\t\"TicketStatus\": \"Completed\",\r\n\t\t\t\"CompletionReason\": \"\",\r\n\t\t\t\"TicketCompletionRemark\": \"\",\r\n\t\t\t\"HappyCode\": vm.HappyCode,\r\n\t\t\t\"SymptomCode\": \"\",\r\n\t\t\t\"SymptomValue\": \"\",\r\n\t\t\t\"DefectCode\": \"\",\r\n\t\t\t\"DefectValue\": \"\",\r\n\t\t\t\"ResolutionCode\": \"\",\r\n\t\t\t\"ResolutionValue\": \"\"\r\n\t\t}\r\n\r\n\t\tJobDetailViewService.completeTkt(data, token).then(function (resp) {\r\n\t\t\tif (resp.status == 200) {\r\n\t\t\t\tvm.showSuccess(\"Success\", \"Ticket Completed Successfully\");\r\n\t\t\t\tif (happyCodeModalInstance) {\r\n\t\t\t\t\thappyCodeModalInstance.close();\r\n\t\t\t\t\tvm.HappyCode = \"\";\r\n\t\t\t\t\t// vm.SymptomCode = \"\";\r\n\t\t\t\t\t// vm.SymptomValue = \"\";\r\n\t\t\t\t\t// vm.DefectCode = \"\";\r\n\t\t\t\t\t// vm.DefectValue = \"\";\r\n\t\t\t\t\t// vm.ResolutionCode = \"\";\r\n\t\t\t\t\t// vm.ResolutionValue = \"\";\r\n\t\t\t\t\t// vm.strSymptomValue = \"\";\r\n\t\t\t\t\t// vm.strSymptomDescription = \"\";\r\n\t\t\t\t\t// vm.strDefectValue = \"\";\r\n\t\t\t\t\t// vm.strDefectDescription = \"\";\r\n\t\t\t\t\t// vm.strRepairValue = \"\";\r\n\t\t\t\t\t// vm.strRepairDescription = \"\";\r\n\t\t\t\t}\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t}, 2000);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tvm.UpDateEstimateStatus = function (status) {\r\n\t\tJobDetailViewService.UpDateEstimateStatus(vm.TicketId,status, token).then(function (resp) {\r\n\t\t\tif (resp.status == 200) {\r\n\t\t\t\tvm.showSuccess(\"Success\", resp.data);\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t}, 2000);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tvm.resendFeedback = function (ticketid) {\r\n\t\tJobDetailViewService.ResendFeedbackforCustomerRating(ticketid, token).then(function (resp) {\r\n\t\t\tif (resp.status == 200) {\r\n\t\t\t\tvm.showSuccess(\"Success\", resp.data.Message);\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t}, 2000);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tvm.GeneratePdfJobSheet = function (ticketId) {\r\n\t\tManualAssignationJobService.GeneratePdfJobSheet(loggedinUser, ticketId, token).then(function (resp) {\r\n\t\tif (resp && resp.data) {\r\n\t\t const linkSource = resp.data;\r\n\t\t const downloadLink = document.createElement(\"a\");\r\n\t\t downloadLink.href = linkSource;\r\n\t\t downloadLink.download = 'Job_Sheet.pdf';\r\n\t\t downloadLink.click();\r\n\r\n\t\t} \r\n\t })\r\n\t }\r\n\r\n\tvm.UpdateFaceRecognation = function (ticketid) {\r\n\t\tdata = {\r\n\t\t\t\"TicketId\": ticketid,\r\n\t\t\t\"IsFaceRecognationOn\": vm.IsFaceRecognationOn\r\n\t\t}\r\n\r\n\t\tJobDetailViewService.EnableOrDisableFaceRecognation(data, token).then(function (resp) {\r\n\t\t\tif (resp.status == 206) {\r\n\t\t\t\tvm.showSuccess(\"Success\", resp.data.Message);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\tvm.disableAppointmentOption = false;\r\n\r\n\tvm.SendAppointmentCodeToCustomer = function () {\r\n\t\tif (!vm.TicketInfoEdit || !vm.TicketInfoEdit.PlannedStartDate || !vm.AppointmentTime) {\r\n\t\t\tvm.showFailure(\"Failed\", \"Please provide a valid date and time.\");\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tvar sDate = moment(vm.TicketInfoEdit.PlannedStartDate).format(\"YYYY-MM-DD\");\r\n\t\tvm.Stdate = sDate;\r\n\t\tvm.Stime = vm.AppointmentTime;\r\n\t\tvm.CurrentDate = moment().format('YYYY-MM-DDTHH:mm:ss.SSSZ');\r\n\t\tvm.dateTime = moment(vm.Stdate + ' ' + vm.Stime).format('YYYY-MM-DDTHH:mm:ss.SSSZ');\r\n\t if (!vm.dateTime) {\r\n\t\t\tvm.showFailure(\"Failed\", \"Invalid appointment date and time.\");\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tJobDetailViewService.SendHappyCodeSMSNew(vm.TicketId, vm.AccountId, vm.dateTime, loggedinUser, token).then(function (resp) {\r\n\t\t\tif (resp && resp.data && resp.status == 200) {\r\n\t\t\t\tvm.disableAppointmentOption = true;\r\n\t\t\t\tvm.showSuccess(\"Success\", \"Appointment code sent to customer successfully.\");\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.disableAppointmentOption = false;\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data)\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tvm.CancelTicket = function () {\r\n\t\tvm.RatingOfTicket = '';\r\n\t\tvm.AuditTicketId = vm.TicketId;\r\n\t\tvm.IsClosureCodeNeeded = vm.TicketInfo.IsClosuerCodeNeeded;\r\n\t\tvm.TicketPaymentNeedToProcess = vm.TicketInfo.IsTicketPaymentNeedToProcess;\r\n\t\tvm.CollectionRequired = vm.TicketInfo.CollectionRequired;\r\n\t\tvm.IsApplicableForAutoPayment = vm.TicketInfo.IsApplicableForAutoPayment;\r\n\t\tif (vm.TicketInfo.TicketStatus == \"Completed\" && vm.TicketInfo.SubStatus == \"TBC\") {\r\n\t\t\tvm.PrimaryReason = vm.TicketInfo.PrimaryReason;\r\n\t\t\tManualAssignationJobService.GetCancellationReasons(vm.AuditTicketId, vm.TicketInfo.TicketStatus, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.CancellationReasonsList = resp.data;\r\n\t\t\t\t\tapproveModalInstance = $uibModal.open({\r\n\t\t\t\t\t\ttemplateUrl: 'tbc_confirm_cancelation_model.html',\r\n\t\t\t\t\t\tscope: $scope\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}, function () {\r\n\t\t\t});\r\n\r\n\t\t}\r\n\t\telse {\r\n\r\n\t\t\tvm.IsCancelFromServer = accountConfig.IsCancelFromServer;\r\n\t\t\tif (vm.IsCancelFromServer && (vm.TicketInfo.TicketStatus == \"Assigned\" || vm.TicketInfo.TicketStatus == \"New\" || vm.TicketInfo.TicketStatus == \"ScheduleException\")) {\r\n\t\t\t\tManualAssignationJobService.GetCancellationReasons(vm.AuditTicketId, vm.TicketInfo.TicketStatus, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\t\tvm.CancellationReasonsList = resp.data;\r\n\t\t\t\t\t\tcancellationReasonsModalInstance = $uibModal.open({\r\n\t\t\t\t\t\t\ttemplateUrl: 'cancellation_reasons_model.html',\r\n\t\t\t\t\t\t\tscope: $scope\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}, function () {\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tManualAssignationJobService.CancelTicket(loggedinUser, vm.AuditTicketId, token).then(function (res) {\r\n\t\t\t\t\tif (res.status == 202 && res.statusText == 'Accepted') {\r\n\t\t\t\t\t\tvm.showSuccess('Success', res.data);\r\n\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\t}, 1000);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tvm.CancellationReasonsCloseModal = function () {\r\n\t\tcancellationReasonsModalInstance.close();\r\n\t\tvm.CancellationReasons = \"\";\r\n\t\tvm.CancellationReasonsRemark = \"\";\r\n\t\tvm.HintDisplay = \"\";\r\n\t\tvm.closureCode = \"\";\r\n\t}\r\n\r\n\tvm.TBCCancelationAudit = function () {\r\n\t\tvm.tbccancellationReasonsForm.submitted = true;\r\n\t\tif (vm.CancellationReasons == 'Customer not responding' || vm.CancellationReasons == 'Customer denied sharing code') {\r\n\t\t\tvm.tbccancellationReasonsForm.$valid = true\r\n\t\t\tif (vm.tbccancellationReasonsForm.$valid) {\r\n\t\t\t\tif (vm.closureCode) {\r\n\t\t\t\t\tvm.IsClosuerCodeAvailable = true;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.IsClosuerCodeAvailable = false;\r\n\t\t\t\t}\r\n\t\t\t\tvar data = {\r\n\t\t\t\t\t\"TicketId\": vm.AuditTicketId,\r\n\t\t\t\t\t\"AuditValue\": vm.TBCCancelationModel,\r\n\t\t\t\t\t\"IsApplicableForAutoPayment\": vm.IsApplicableForAutoPayment,\r\n\t\t\t\t\t\"IsCommissionDetect\": vm.IsCommissionDetect,\r\n\t\t\t\t\t\"ClosuerCode\": vm.closureCode,\r\n\t\t\t\t\t\"IsClosuerCodeAvailable\": vm.IsClosuerCodeAvailable,\r\n\t\t\t\t\t\"CancelReason\": vm.CancellationReasons,\r\n\t\t\t\t}\r\n\t\t\t\tapproveModalInstance.close();\r\n\t\t\t\tManualAssignationJobService.TBCCancelationAudit(data, loggedinUser, token).then(function (res) {\r\n\t\t\t\t\tif (res && res.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Job cancelation audit successfully done.\");\r\n\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\t}, 1000);\r\n\t\t\t\t\t\tvm.closureCode = \"\";\r\n\t\t\t\t\t\tvm.IsClosureCodeNeeded = \"\";\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\tif (vm.tbccancellationReasonsForm.$valid) {\r\n\t\t\t\tif (vm.closureCode) {\r\n\t\t\t\t\tvm.IsClosuerCodeAvailable = true;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.IsClosuerCodeAvailable = false;\r\n\t\t\t\t}\r\n\t\t\t\tvar data = {\r\n\t\t\t\t\t\"TicketId\": vm.AuditTicketId,\r\n\t\t\t\t\t\"AuditValue\": vm.TBCCancelationModel,\r\n\t\t\t\t\t\"IsApplicableForAutoPayment\": vm.IsApplicableForAutoPayment,\r\n\t\t\t\t\t\"IsCommissionDetect\": vm.IsCommissionDetect,\r\n\t\t\t\t\t\"ClosuerCode\": vm.closureCode,\r\n\t\t\t\t\t\"IsClosuerCodeAvailable\": vm.IsClosuerCodeAvailable,\r\n\t\t\t\t\t\"CancelReason\": vm.CancellationReasons,\r\n\t\t\t\t}\r\n\t\t\t\tapproveModalInstance.close();\r\n\t\t\t\tManualAssignationJobService.TBCCancelationAudit(data, loggedinUser, token).then(function (res) {\r\n\t\t\t\t\tif (res && res.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Job cancelation audit successfully done.\");\r\n\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\t}, 1000);\r\n\t\t\t\t\t\tvm.closureCode = \"\";\r\n\t\t\t\t\t\tvm.IsClosureCodeNeeded = \"\";\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tvm.updateFalseTBC = function (status) {\r\n\t\tif (status == 'Yes') {\r\n\t\t\tvm.IsApplicableForAutoPayment = false;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tvm.IsApplicableForAutoPayment = true;\r\n\t\t}\r\n\t}\r\n\r\n\tvm.UpdateCancellationReasons = function () {\r\n\t\tvm.cancellationReasonsForm.submitted = true;\r\n\t\tif (vm.CancellationReasons == 'Customer not responding' || vm.CancellationReasons == 'Customer denied sharing code') {\r\n\t\t\tvm.cancellationReasonsForm.$valid = true;\r\n\t\t\tif (vm.cancellationReasonsForm.$valid) {\r\n\t\t\t\tif (vm.closureCode) {\r\n\t\t\t\t\tvm.IsClosuerCodeAvailable = true;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.IsClosuerCodeAvailable = false;\r\n\t\t\t\t}\r\n\t\t\t\tvar CancellationReasonsModel = {\r\n\t\t\t\t\t\"TicketId\": vm.TicketId,\r\n\t\t\t\t\t\"CancelReason\": vm.CancellationReasons,\r\n\t\t\t\t\t\"CancelRemark\": vm.CancellationReasonsRemark,\r\n\t\t\t\t\t\"ClosuerCode\": vm.closureCode,\r\n\t\t\t\t\t\"IsClosuerCodeAvailable\": vm.IsClosuerCodeAvailable\r\n\t\t\t\t}\r\n\t\t\t\tManualAssignationJobService.UpdateJobServerCancel(CancellationReasonsModel, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif (resp && resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", resp.data);\r\n\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\t}, 1000);\r\n\t\t\t\t\t\tcancellationReasonsModalInstance.close();\r\n\t\t\t\t\t\tvm.CancellationReasons = \"\";\r\n\t\t\t\t\t\tvm.CancellationReasonsRemark = \"\";\r\n\t\t\t\t\t\tvm.closureCode = \"\";\r\n\t\t\t\t\t\tvm.HintDisplay = \"\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t}, function () {\r\n\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\tif (vm.cancellationReasonsForm.$valid) {\r\n\t\t\t\tif (vm.closureCode) {\r\n\t\t\t\t\tvm.IsClosuerCodeAvailable = true;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.IsClosuerCodeAvailable = false;\r\n\t\t\t\t}\r\n\t\t\t\tvar CancellationReasonsModel = {\r\n\t\t\t\t\t\"TicketId\": vm.TicketId,\r\n\t\t\t\t\t\"CancelReason\": vm.CancellationReasons,\r\n\t\t\t\t\t\"CancelRemark\": vm.CancellationReasonsRemark,\r\n\t\t\t\t\t\"ClosuerCode\": vm.closureCode,\r\n\t\t\t\t\t\"IsClosuerCodeAvailable\": vm.IsClosuerCodeAvailable\r\n\t\t\t\t}\r\n\t\t\t\tManualAssignationJobService.UpdateJobServerCancel(CancellationReasonsModel, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif (resp && resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", resp.data);\r\n\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\t}, 1000);\r\n\t\t\t\t\t\tcancellationReasonsModalInstance.close();\r\n\t\t\t\t\t\tvm.CancellationReasons = \"\";\r\n\t\t\t\t\t\tvm.CancellationReasonsRemark = \"\";\r\n\t\t\t\t\t\tvm.closureCode = \"\";\r\n\t\t\t\t\t\tvm.HintDisplay = \"\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t}, function () {\r\n\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tvm.ApproveJob = function () {\r\n\t\tif (vm.RatingOfTicket) {\r\n\t\t\tapproveModalInstance.close();\r\n\t\t\tvar jobwinrate = 0.0;\r\n\t\t\tif (vm.Winrate == null || vm.Winrate == 0 || vm.Winrate == '')\r\n\t\t\t\tjobwinrate = 0.0;\r\n\t\t\telse\r\n\t\t\t\tjobwinrate = vm.Winrate;\r\n\t\t\tvm.ratingwarning = \"\";\r\n\t\t\tvar data = {\r\n\t\t\t\t\"TicketId\": vm.TicketId,\r\n\t\t\t\t\"BroadcastRate\": vm.BasePriceTotal,\r\n\t\t\t\t\"MobiforceCommission\": vm.MobiforceCommission,\r\n\t\t\t\t\"FreelancerRate\": vm.TicketInfo.FreelancerRate,\r\n\t\t\t\t\"IsFinalApproval\": true,\r\n\t\t\t\t\"JobWinRate\": parseFloat(jobwinrate.toFixed(2)),\r\n\t\t\t\t\"TechnicianRating\": vm.RatingOfTicket.toString(),\r\n\t\t\t\t\"ApprovalRemark\": vm.approvalRemark,\r\n\t\t\t\t\"IsSafetyAudit\": vm.IsSafetyAudit,\r\n\t\t\t\t\"Status\": \"Approved\",\r\n\t\t\t\t\"LineItemRequestList\": vm.PriceLineItemList\r\n\r\n\t\t\t};\r\n\r\n\t\t\tJobDetailViewService.UpdateJobPaymentDynamicPriceAndApprove(loggedinUser, data, token).then(function (res) {\r\n\r\n\t\t\t\tif (res.status == 200) {\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tmsg = \"Ticket and Price has been approved successfully\";\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", msg);\r\n\t\t\t\t\t\tvm.getTicketByJobId();\r\n\t\t\t\t\t\tvm.BonusList = [];\r\n\t\t\t\t\t\tvm.PenaltyList = [];\r\n\t\t\t\t\t}, 1000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\r\n\t\t\t\t\tvm.showFailure(\"Failed\", res.data);\r\n\t\t\t\t}\r\n\r\n\t\t\t}, vm.showFailure);\r\n\r\n\t\t} else {\r\n\t\t\tvm.ratingwarning = \"Please rate the technician.\";\r\n\t\t\t// approveModalInstance.close();\r\n\t\t}\r\n\t}\r\n\tvm.isApprovalPermission = function (defaultValue) {\r\n\t\tif (vm.accountConfig && vm.accountConfig['ApprovalPermission'] != null) {\r\n\t\t\treturn vm.accountConfig['ApprovalPermission'].split(\",\").indexOf($localStorage.loggedInUser_Role) > -1;\r\n\t\t}\r\n\t\treturn defaultValue;\r\n\t}\r\n\t// vm.BackToTicketList = function()\r\n\t// {\t\t \r\n\t// \t $localStorage.backToTicketList=\"JobDetailView1\";\r\n\t// }\r\n\r\n\t$scope.checkPDF = function (path) {\r\n\t\t// var pt = path.substr(path.length - 4);\r\n\t\tif (path.startsWith(\"http\")) {\r\n\t\t\tvm.error = function () {\r\n\t\t\t\t$(\"http\").attr({ \"target\": \"_blank\" })\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tvm.PDFView = function (page) {\r\n\t\tvm.pdfimage = page;\r\n\t\t$scope.selected = null;\r\n\t\t$timeout(function () {\r\n\t\t\tjobAppointmentModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'PDFView.html',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}, 1000)\r\n\t}\r\n\tvm.PDFUserModal = function () {\r\n\t\tjobAppointmentModal.close();\r\n\t}\r\n\r\n\r\n\tvm.contactNumbers = [];\r\n\tvm.openInvitePopup = function () {\r\n\t\tmodalInstance = $uibModal.open({\r\n\t\t\ttemplateUrl: 'popupTemplate.html',\r\n\t\t\tsize: 'md',\r\n\t\t\tscope: $scope,\r\n\t\t\tbackdrop: 'static',\r\n\t\t});\r\n\t}\r\n\r\n\tvm.addContactNumber = function () {\r\n\t\tvm.inviteUsersForm.submitted = true;\r\n\t\tif (vm.inviteUsersForm.$valid) {\r\n\t\t\tif (vm.newContactNumber) {\r\n\t\t\t\tvm.contactNumbers.push(vm.newContactNumber);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tvm.removeQuantity = function (index) {\r\n\t\tvm.contactNumbers.splice(index, 1);\r\n\t};\r\n\r\n\tvm.CloseInviteModal = function () {\r\n\t\tvm.contactNumbers = [];\r\n\t\tvm.newContactNumber = '';\r\n\t\tmodalInstance.close();\r\n\t}\r\n\r\n\t$scope.ChatInitiated = false;\r\n\tvm.SendChatInviteForExternal = function () {\r\n\t\tif ($scope.ChatInitiated == true) {\r\n\t\t\tvm.IsNewChat = false;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tvm.IsNewChat = true;\r\n\t\t}\r\n\t\tdata = {\r\n\t\t\t\"TicketId\": vm.TicketId,\r\n\t\t\t\"Type\": \"Text\",\r\n\t\t\t\"ContactList\": vm.contactNumbers,\r\n\t\t\t\"IsNewChat\": vm.IsNewChat\r\n\t\t}\r\n\t\tJobDetailViewService.SendChatInviteForExternal(data, token).then(function (resp) {\r\n\t\t\tif (resp.status == 200) {\r\n\t\t\t\tif ($scope.ChatInitiated == false) {\r\n\t\t\t\t\tvm.connectionLink = resp.data;\r\n\t\t\t\t}\r\n\t\t\t\tvm.showSuccess(\"Success\", \"Invitation link sent successfully\");\r\n\t\t\t\t$scope.ChatInitiated = true;\r\n\t\t\t\tvm.IsChatEnabled = false;\r\n\t\t\t\tvm.CloseInviteModal();\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\tvm.GeneratePdfEstimateReport = function (ticketId) {\r\n\t\tvm.PDFView();\r\n\t\tJobDetailViewService.GeneratePdfEstimateReport(loggedinUser, ticketId, token).then(function (resp) {\r\n\t\t if (resp.status == 200) {\r\n\t\t\tvm.InvoiceData = resp.data;\r\n\t\t\tvar arrrayBuffer = base64ToArrayBuffer(vm.InvoiceData);\r\n\t\t\tvar blob = new Blob([arrrayBuffer], { type: \"application/pdf\" });\r\n\t\t\tvm.pdfimage = URL.createObjectURL(blob);\r\n\t\t\tvm.IsLoadSucessfull = true;\r\n \r\n\t\t\t// if(vm.fileLink){\r\n\t\t\t// vm.showInvoice = true;\r\n\t\t\t// }\r\n\t\t }\r\n\t\t});\r\n \r\n\t }\r\n\r\n\tvm.getAllChatDetails = function (ReferenceDoc) {\r\n\t\tvm.ReferenceDoc = ReferenceDoc;\r\n\t\tJobDetailViewService.GetChatRecords(vm.ReferenceDoc, loggedinUser, token, function (data) {\r\n\t\t\tif (data) {\r\n\t\t\t\tvm.chatDetails = data;\r\n\t\t\t}\r\n\t\t}, function (err) {\r\n\t\t\tvm.showFailure(\"Failed\", \"Unable to upload line item, server error\");\r\n\t\t});\r\n\t}\r\n\r\n\tvm.OpenPdfModal = function (PdfPathName) {\r\n\t\tvm.IsLoadSucessfull = false;\r\n\t\tMainService.GetImageBlob(loggedinUser, token, PdfPathName).then(function (resp) {\r\n\t\t\tvm.ConvertBase64ToBlob(resp.data);\r\n\t\t\tvm.IsLoadSucessfull = true;\r\n\t\t});\r\n\t\tjobAppointmentModal = $uibModal.open({\r\n\t\t\ttemplateUrl: 'SiteAuditPDFView.html',\r\n\t\t\tsize: 'lg',\r\n\t\t\tscope: $scope,\r\n\t\t\twindowClass: 'zindex'\r\n\r\n\t\t});\r\n\t}\r\n\tvm.SiteAuditPDFUserModal = function () {\r\n\t\tjobAppointmentModal.close();\r\n\t}\r\n\r\n\r\n\tvm.defaultMailBody = \"Dear Sir,\\n\\n Please find the claim for your kind approval. \\n\\n\" + $window.location.href + \" \\n\\nThanks\\nMobiforce Team\";\r\n\r\n\tvm.shareModel = {\r\n\t\tselectedUsers: [],\r\n\t\ttoList: [],\r\n\t\tccList: [],\r\n\t\tbccList: [],\r\n\t\tcontent: vm.defaultMailBody\r\n\t};\r\n\r\n\tvm.ShareReport = function () {\r\n\t\tvm.shareModel.toList = [];\r\n\t\tvm.shareModel.ccList = [];\r\n\t\tvm.shareModel.bccList = [];\r\n\t\tvm.toListMendtryErr = false,\r\n\t\tvm.listLineItemData = $scope.LineItemDataforApproval;\r\n\t\tvm.shareModel.content = $sce.trustAsHtml(\"Dear Sir,\\n\\nPlease find the claim for your kind approval.\\n\\nThanks\\nMobiforce Team\");\r\n// '' +\r\n// '' +\r\n// '' +\r\n// '' +\r\n// '' +\r\n// '' +\r\n// '' +\r\n// '' +\r\n// '' +\r\n// '' +\r\n// '');\r\n\r\n// // Assuming vm.PriceLineItemList is an array of items\r\n// for (var i = 0; i < vm.PriceLineItemList.length; i++) {\r\n// var priceLineItem = vm.PriceLineItemList[i];\r\n// vm.shareModel.content += '' +\r\n// '' +\r\n// '' +\r\n// '' +\r\n// '' +\r\n// '' +\r\n// '';\r\n// }\r\n\r\n// vm.shareModel.content = $sce.trustAsHtml(vm.shareModel.content + '
TypeActivity DescriptionQuantity Price Remark
' + priceLineItem.LineItemCategory + '' + priceLineItem.LineItemDescription + '' + priceLineItem.LineItemQuantity + '' + (priceLineItem.LineItemQuantity * priceLineItem.dLineItemWinPrice) + '' + priceLineItem.LineItemRemark + '
\\n\\nThanks\\nMobiforce Team');\r\n\r\n\t\tvm.ShareModal = $uibModal.open({\r\n\t\t\ttemplateUrl: 'mailreportModal.html',\r\n\t\t\tbackdrop: 'static',\r\n\t\t\tsize: 'lg',\r\n\t\t\tscope: $scope\r\n\t\t});\r\n\t}\r\n\r\n\tvm.closemailmaodal = function () {\r\n\t\tvm.IsApprovalModelVisible = false;\r\n\t\tApprovalLineItemList = [];\r\n\t\tvm.ShareModal.close();\r\n\t}\r\n\tvm.users = [];\r\n\r\n\tvm.shareModel.getUserSuggestion = function (val) {\r\n\r\n\t\tvm.toListMendtryErr = false;\r\n\r\n\t\tvar re = /^[A-Za-z0-9]+([\\.\\-_]*[A-Za-z0-9]+)*@[A-Za-z0-9]+([\\.\\-_]*[A-Za-z0-9]+)*\\.([A-Za-z]{2}|[A-Za-z]{3})$/;\r\n\t\tif (vm.users.length > 0) {\r\n\t\t\treturn re.test(val) ? [{ FirstName: val.split(\"@\")[0], LastName: \"\", UserId: val }].concat(vm.users) : vm.users;\r\n\t\t}\r\n\t\tvm.getUsers();\r\n\t\treturn re.test(val) ? [{ FirstName: val.split(\"@\")[0], LastName: \"\", UserId: val }] : [];\r\n\t}\r\n\r\n\tvm.getUsers = function () {\r\n\t\tvm.users = [];\r\n\t\tReportService.getUsers(loggedinUser, token, vm.createCallback(vm.users, [function (data) {\r\n\t\t}]));\r\n\t}\r\n\r\n\tvm.shareModel.searchAsOr = function (searchText1) {\r\n\t\treturn function (entry) {\r\n\t\t\tvar splittedText = searchText1.split(\";\");\r\n\t\t\tif (splittedText != null && splittedText.length > 0) {\r\n\t\t\t\tvar searchText = splittedText[splittedText.length - 1].trim();\r\n\t\t\t\tif (entry.FirstName.toLowerCase().indexOf(searchText.toLowerCase()) > -1\r\n\t\t\t\t\t|| (entry.LastName != null && entry.LastName.toLowerCase().indexOf(searchText.toLowerCase()) > -1)\r\n\t\t\t\t\t|| entry.UserId.toLowerCase().indexOf(searchText.toLowerCase()) > -1)\r\n\t\t\t\t\treturn entry;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tvm.shareModel.removeSelectedUsers = function (element) {\r\n\t\tvar matched = false;\r\n\t\tangular.forEach(vm.shareModel.toList, function (d) {\r\n\t\t\tif (d.UserId == element.UserId) {\r\n\t\t\t\tmatched = true;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t});\r\n\t\tif (!matched) {\r\n\t\t\tangular.forEach(vm.shareModel.ccList, function (d) {\r\n\t\t\t\tif (d.UserId == element.UserId) {\r\n\t\t\t\t\tmatched = true;\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (!matched) {\r\n\t\t\tangular.forEach(vm.shareModel.bccList, function (d) {\r\n\t\t\t\tif (d.UserId == element.UserId) {\r\n\t\t\t\t\tmatched = true;\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (!matched) {\r\n\t\t\treturn element;\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tvm.shareModel.cancelledToListUser = function (i) {\r\n\t\tvm.shareModel.toList.splice(i, 1);\r\n\t}\r\n\r\n\tvm.shareModel.cancelledCCListUser = function (i) {\r\n\t\tvm.shareModel.ccList.splice(i, 1);\r\n\t}\r\n\r\n\tvm.shareModel.selectUserNameInToList = function (item) {\r\n\t\tvm.shareModel.toList.push(item);\r\n\t\tvm.shareModel.toUsers = [];\r\n\t}\r\n\tvm.shareModel.selectUserNameInCCList = function (item) {\r\n\t\tvm.shareModel.ccList.push(item);\r\n\t\tvm.shareModel.ccUsers = [];\r\n\t}\r\n\r\n\tvm.shareModel.mailReport = function () {\r\n\t\tvar toList = [];\r\n\t\tangular.forEach(vm.shareModel.toList, function (user) {\r\n\t\t\ttoList.push(user.UserId);\r\n\t\t});\r\n\t\tvar ccList = [];\r\n\t\tangular.forEach(vm.shareModel.ccList, function (user) {\r\n\t\t\tccList.push(user.UserId);\r\n\t\t});\r\n\t\tvar bccList = [];\r\n\t\tangular.forEach(vm.shareModel.bccList, function (user) {\r\n\t\t\tbccList.push(user.UserId);\r\n\t\t});\r\n\t\tif (toList.length == 0) {\r\n\t\t\tvm.scheduleModel.toListMendtryErr = true;\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (vm.shareModel.content.length == 0) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tvar content = vm.shareModel.content;\r\n\t\tvar subject = vm.shareModel.subject;\r\n\t\tvar listLineItemData = vm.listLineItemData;\r\n\t\tcontent = content.replace(new RegExp(\"\\n\", 'g'), \"
\");\r\n\t\tJobDetailViewService.mailReport(token, toList, ccList,subject, content,listLineItemData, loggedinUser,\r\n\t\t\tvm.createCallback(null, [function (data) {\r\n\t\t\t\tvm.showSuccess(\"Success\", \"Report has been shared successfully\");\r\n\t\t\t\tvm.ShareModal.close();\r\n\t\t\t\tvm.shareModel.subject = '';\r\n\t\t\t\tvm.IsApprovalModelVisible == false;\r\n\t\t\t}]));\r\n\t}\r\n\tvm.createHalfDonutChart = function () {\r\n var chart = new Highcharts.chart('container', {\r\n\t\t\t\t\tchart: {\r\n\t\t\t\t\tplotBackgroundColor: null,\r\n\t\t\t\t\tplotBorderWidth: 0,\r\n\t\t\t\t\tplotShadow: false,\r\n\t\t\t\t\theight: null,\r\n width: 800,\r\n\t\t\t\t},\r\n\t\t\t\ttitle: { \r\n\t\t\t\t\ttext: ' Total ' + vm.TicketInfo.TotalTAT + ' Days
Estimate 14 Days
',\r\n\t\t\t\t\talign: 'center',\r\n\t\t\t\t\tverticalAlign: 'middle',\r\n\t\t\t\t\ty: 18,\r\n\t\t\t\t\tstyle: {\r\n\t\t\t\t\t\tfontWeight: 'bold'\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\ttooltip: {\r\n\t\t\t\t\tformatter: function () {\r\n\t\t\t\t\t\treturn '' + this.point.name + ': ' + this.y + ' ' + (this.y === 1 ? 'day' : 'days');\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\taccessibility: {\r\n\t\t\t\t\tpoint: {\r\n\t\t\t\t\t\tvalueSuffix: 'days'\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tplotOptions: {\r\n\t\t\t\t\tpie: {\r\n\t\t\t\t\t\tdataLabels: {\r\n\t\t\t\t\t\t\tenabled: true,\r\n\t\t\t\t\t\t\tdistance: -50,\r\n\t\t\t\t\t\t\tstyle: {\r\n\t\t\t\t\t\t\t\tfontWeight: 'bold',\r\n\t\t\t\t\t\t\t\tcolor: 'white'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tformatter: function () {\r\n\t\t\t\t\t\t\t\treturn this.y + ' ' + (this.y === 1 ? 'day' : 'days');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tstartAngle: -90,\r\n\t\t\t\t\t\tendAngle: 90,\r\n\t\t\t\t\t\tcenter: ['50%', '75%'],\r\n\t\t\t\t\t\tsize: '150%'\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tcolors: ['rgb(48, 147, 209)', 'rgb(252, 182, 49)', 'rgb(154, 214, 49)', 'rgb(243, 78, 168)', '#8B008B'],\r\n\t\t\t\tseries: [{\r\n\t\t\t\t\ttype: 'pie',\r\n\t\t\t\t\tname: 'TAT',\r\n\t\t\t\t\tinnerSize: '50%',\r\n\t\t\t\t\tdata: [\r\n\t\t\t\t\t\t['Pickup TAT', vm.TicketInfo.PickupTAT], \r\n\t\t\t\t\t\t['Estimate TAT', vm.TicketInfo.EstimateTAT],\r\n\t\t\t\t\t\t['Estimate Approval TAT', vm.TicketInfo.EstimateApprovalTAT],\r\n\t\t\t\t\t\t['Repair TAT', vm.TicketInfo.RepairTAT],\r\n\t\t\t\t\t\t['Delivery TAT', vm.TicketInfo.DeliveryTAT]\r\n\t\t\t\t\t],\r\n\t\t\t\t\tshowInLegend: true\r\n\t\t\t\t}],\r\n\t\t\t\t// legend: {\r\n\t\t\t\t// \talign: 'right',\r\n\t\t\t\t// \tverticalAlign: 'middle',\r\n\t\t\t\t// \tlayout: 'vertical'\r\n\t\t\t\t// }\t\t\t\t\r\n\t\t\t}); \r\n }\r\n\r\n\tvm.disableRejectButton = false;\r\n\r\n\tvm.OpenUpdateDeviceRepairModel = function () {\r\n\t\tvm.openRefundModel = $uibModal.open({\r\n\t\t templateUrl: 'updateDeviceModel.html',\r\n\t\t backdrop: 'static',\r\n\t\t size: 'md',\r\n\t\t scope: $scope\r\n\t\t});\r\n\t }\r\n\t vm.closeUpdateDeviceRepairModel = function () {\r\n\t\tvm.disableRejectButton = false;\r\n\t\tvm.openRefundModel.close();\r\n\t }\r\n\r\n\t vm.UpdateDeviceRepairDone = function () {\r\n\t\tvm.disableRejectButton = true;\r\n\t\tJobDetailViewService.UpdateDeviceRepairDone(vm.TicketId, token).then(function (resp) {\r\n\t\t\tif (resp.status == 200) {\r\n\t\t\t\tvm.showSuccess(\"Success\", \"Update Device Repair Done\");\r\n\t\t\t\tvm.closeUpdateDeviceRepairModel();\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\tvm.disableRejectButton = false;\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tvm.ConvertBase64ToBlob = function (response) {\r\n\t\tvm.Auditpdf = \"\";\r\n\t\tif (response != null) {\r\n\t\t\tvar arrrayBuffer = base64ToArrayBuffer(response); //data is the base64 encoded string\r\n\t\t\tvar blob = new Blob([arrrayBuffer], { type: \"application/pdf\" });\r\n\t\t\tvm.Auditpdf = URL.createObjectURL(blob);\r\n\t\t\tvm.IsLoadSucessfull = true;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tvm.DocumentAvailableMessage = \"Document is not available\";\r\n\t\t\tvm.IsLoadSucessfull = true;\r\n\t\t}\r\n\t}\r\n\tfunction base64ToArrayBuffer(base64) {\r\n\t\tvar ret = base64.replace('data:application/pdf;base64,', '');\r\n\t\tvar binaryString = atob(ret);\r\n\t\tvar binaryLen = binaryString.length;\r\n\t\tvar bytes = new Uint8Array(binaryLen);\r\n\t\tfor (var i = 0; i < binaryLen; i++) {\r\n\t\t\tvar ascii = binaryString.charCodeAt(i);\r\n\t\t\tbytes[i] = ascii;\r\n\t\t}\r\n\t\treturn bytes;\r\n\t}\r\n\r\n\tvm.getFileType = function (url) {\r\n\t\tvar extension = fileName.split('.').pop();\r\n\t}\r\n\tvm.WordDownloadtoView = function (page) {\r\n\r\n\t\tMainService.GetImageBlob(loggedinUser, token, page).then(function (resp) {\r\n\t\t\twindow.location.href = resp.data;\r\n\t\t});\r\n\r\n\t}\r\n});\r\nfunction isNumberKey(evt, elemref, quantityvalue) {\r\n\tvar charCode = (evt.which) ? evt.which : evt.keyCode;\r\n\tif (quantityvalue == \"LineItemQuantity\") {\r\n\t\tif (charCode == 46) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\tif (charCode == 46) {\r\n\t\tif ((elemref.value) && (elemref.value.indexOf('.') >= 0))\r\n\t\t\treturn false;\r\n\t}\r\n\tif (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n\r\n\t\treturn false;\r\n\t}\r\n\tif (quantityvalue == \"Percentage\") {\r\n\t\tif (parseFloat(elemref.value + evt.key) > 100) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t}\r\n\treturn true;\r\n}\r\nfunction CheckRegExOnKeyPress(e) {\r\n\r\n\tvar regex = new RegExp(\"^[a-zA-Z0-9\\\\s\\\\.\\\\,\\\\-\\\\/]+$\");\r\n\tvar str = String.fromCharCode(!e.charCode ? e.which : e.charCode);\r\n\tif (regex.test(str)) {\r\n\t\treturn true;\r\n\t}\r\n\te.preventDefault();\r\n\treturn false;\r\n};\r\n\nangular.module('inspinia').service('InvoiceItemizedService', function (ApiURL, FreelancerURL,LocationURL,PublicApiURL, $log, $http,$localStorage,$window) {\r\n\r\n // GetInvoiceToDetails\r\n this.getInvoiceToDetails = function (loggedInUserId,token) { \r\n var url = ApiURL+ '/api/Invoice/GetInvoiceToDetails';\r\n return $http.get(url, {\r\n headers: { \r\n 'Content-Type': 'application/json',\r\n 'Token':token , \r\n 'UserId':loggedInUserId\r\n \r\n }\r\n });\r\n }\r\n \r\n //GenerateItemizedInvoice\r\n this.GenerateItemizedInvoice = function (loggedinUser,token,TicketId) { debugger\r\n var url = ApiURL + '/api/Invoice/GenerateItemizedInvoiceViaTicketId';\r\n return $http.put(url, TicketId,{\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n }\r\n \r\n });\r\n }\r\n \r\n\r\n \r\n//Generate Invoice Preview Via Model\r\nthis.GeneratePreviewItemizedInvoice = function ( loggedinUser, token,TicketIds) { \r\n var url = ApiURL + '/api/Invoice/GenerateInvoicePreviewViaModel';\r\n return $http.put(url, TicketIds,{\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n }\r\n \r\n });\r\n}\r\n\r\n//GenerateItemizedInvoiceOnScreen\r\nthis.GenerateItemizedInvoiceOnScreen = function ( loggedinUser, token,TicketIds) { \r\n var url = ApiURL + '/api/Invoice/GenerateInvoiceByRowModel';\r\n return $http.put(url, TicketIds,{\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n }\r\n \r\n });\r\n}\r\n\r\n//GenerateInvoiceByModel on Pop-up\r\nthis.GenerateInvoiceByModel = function ( loggedinUser, token,TicketIds) { debugger\r\n var url = ApiURL + '/api/Invoice/GenerateInvoiceByModel';\r\n return $http.put(url, TicketIds,{\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n }\r\n \r\n });\r\n}\r\n\r\n//Generate PDF Invoice \r\n// this.GeneratePDFInvoiceByInvoiceNumber = function ( loggedinUser, token,InvoiceNo) { debugger\r\n// var url = ApiURL + '/api/Invoice/GeneratePDFInvoiceByInvoiceNumber';\r\n// return $http.put(url, InvoiceNo,{\r\n// headers: { \r\n// 'ContentType': 'application/json', \r\n// 'Token':token, \r\n// 'UserId':loggedinUser \r\n// }\r\n \r\n// });\r\n// }\r\n \r\n });\nangular.module('inspinia').controller('InvoiceItemizedController', function (InvoiceItemizedService,ReferService, toaster, $filter,$rootScope, PublicApiURL, $window, $log, $q, $compile, DTOptionsBuilder,DTColumnDefBuilder, DTColumnBuilder, $uibModal, $localStorage, ticketTemplateService, $scope, $state,$stateParams, FreelancerURL, ApiURL, $timeout) {\r\n\tvm = this;\r\n\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n \tvar ticketIdsToGenItemizedInvoice = $stateParams.ticketIdsToGenItemizedInvoice;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvm.ItemizedInvoiceList=[];\r\n\t\tvm.ticketIdsItemizedList = [];\r\n\t\tvm.SelectedInvoiceObj={};\r\n\t\tif($localStorage.InvoiceItemizedTicketIdList != null || $localStorage.InvoiceItemizedTicketIdList !=\"\")\r\n\t\t\tvm.ticketIdsItemizedList=$localStorage.InvoiceItemizedTicketIdList;\r\n\t\tvm.GenerateItemizedInvoice = function(ticketIds)\r\n\t\t{\t\r\n\t\t\tInvoiceItemizedService.GenerateItemizedInvoice(loggedinUser,token,ticketIds).then(function(resp){\r\n\t\t\tif(resp && resp.data) { \r\n\t\t\t\tvm.ItemizedInvoiceList = resp.data; \r\n\t\t\t\tvm.SelectedInvoiceObj=vm.ItemizedInvoiceList[0];\r\n\t\t\t\tif(resp.status==206)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t$window.location.href = '/#/index/CustomerInvoice/';\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif(vm.SelectedInvoiceObj.ErrorString != null) {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", vm.SelectedInvoiceObj.ErrorString + \" for this \" + vm.SelectedInvoiceObj.PONumber + \" PO Number \" );\r\n\t\t\t\t\t}\r\n\t\t\t\t}\t \r\n\t\t\t}, function () { \r\n\t\t\t});\r\n \t}\r\n\t\tvm.GenerateItemizedInvoice(vm.ticketIdsItemizedList); \r\n\t\tvm.pdfimage = \"\";\r\n\t\tvm.DocumentAvailableMessage=\"\";\t\r\n\t\tvm.GeneratePreviewItemizedInvoice = function (previewSelectedObj) { \r\n\t\t\tvm.PDFView();\r\n\t\t\tvar PreviewItemizedInvoiceList = [previewSelectedObj];\r\n\t\t\tInvoiceItemizedService.GeneratePreviewItemizedInvoice(loggedinUser, token, PreviewItemizedInvoiceList).then(function (resp) {\r\n\t\t\t\tvar responseDataList=[];\r\n\t\t\t\tresponseDataList = resp.data;\r\n\t\t\t\t// for(var i=0; ilTfgitp')\r\n\t\t\t\t.withPaginationType('full_numbers')\r\n\t\t\t\t.withOption('order', [1, 'desc'])\r\n\t\t\t\t.withOption('createdRow', function (row, data, dataIndex) {\r\n\t\t\t\t\t// Recompiling so we can bind Angular directive to the DT\r\n\t\t\t\t\t$compile(angular.element(row).contents())($scope);\r\n\t\t\t\t})\r\n\t\t\t\t.withOption('headerCallback', function (header) {\r\n\t\t\t\t\tif (!vm.headerCompiled) {\r\n\t\t\t\t\t\t// Use this headerCompiled field to only compile header once\r\n\t\t\t\t\t\tvm.headerCompiled = true;\r\n\t\t\t\t\t\t$compile(angular.element(header).contents())($scope);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.withBootstrap();\r\n\r\n\r\n\t\t\tvm.dtColumns = [\r\n\t\t\t\tDTColumnBuilder.newColumn(null).withTitle(titleHtml).renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvm.selected[meta.row] = false;\r\n\t\t\t\t\treturn '';\r\n\t\t\t\t}).notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('InvoiceNo').withTitle('Invoice No').notSortable().renderWith(function (data) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('UserName').withTitle('Technician Name').notSortable().renderWith(function (data) {\r\n\t\t\t\t\treturn '' + data + '';\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('CreatedOn').withTitle('Created Date').notSortable().renderWith(function (data) {\r\n\t\t\t\t\tvar dt = $filter('date')(new Date(data), \"dd/MM/yyyy\");\r\n\t\t\t\t\treturn dt;\r\n\t\t\t\t}),\r\n\t\t\t\tDTColumnBuilder.newColumn('AmountPaid').withTitle('Disbursed Amount (Rs)').notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('AmountToBePaid').withTitle('Pending Amount (Rs)').notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('TotalAmount').withTitle('Total Amount (Rs)').notSortable(),\r\n\t\t\t\tDTColumnBuilder.newColumn('PaymentStatus').withTitle('Payment Status'),\r\n\t\t\t\tDTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data, type, full, meta) {\r\n\t\t\t\t\tvm.Invoice[meta.row] = data;\r\n\t\t\t\t\treturn ''\r\n\r\n\t\t\t\t})\r\n\r\n\t\t\t];\r\n\r\n\t\tfunction toggleAll(selectAll, selectedItems) {\r\n\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t\t\tselectedItems[id] = selectAll;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction toggleOne(selectedItems) {\r\n\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t\t\t\r\n\t\t\t\t\tif (!selectedItems[id]) {\r\n\r\n\t\t\t\t\t\tif(vm.selectSingle){\r\n\t\t\t\t\t\t\tvm.selectAll = false;\r\n\t\t\t\t\t\t\tvm.selectSingle = false;\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tvm.selectAll = false;\r\n\t\t\t\t\t\tvm.selectSingle = true;\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvm.selectAll = true;\r\n\t\t\t\r\n\t\t}\r\n\r\n\t}\r\n\t\tvm.reloadData = function(){\r\n\t\t\tvar resetPaging = true;\r\n\t\t vm.dtInstance.reloadData(resetPaging);\r\n\t\t }\r\n\r\n\t\t// -----------------------------------------------------------------------------------\r\n\t\tvm.InvoiceHistory = function (invoiceNo) {\r\n\t\t\tvm.selectedInvoice = invoiceNo;\r\n\t\t\tInvoiceModel = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'Filter.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t\tcontroller: ModalInstanceCtrlHistory(invoiceNo.InvoiceNo),\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\treload: true\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.CloseInvoiceModal = function () {\r\n\t\t\tInvoiceModel.close();\r\n\t\t\tvm.reloadData();\r\n\t\t}\r\n\r\n\t\t// var ModalInstanceCtrlHistory = function (invoiceNo) {\r\n\t\t// \tInvoiceListService.getInvoiceHistory(loggedinUser, invoiceNo, token).then(function(resp){\r\n\t\t// \t\tvm.InVoiceHistoryData = resp.data;\r\n\t\t// \t});\t\r\n\t\t// }\r\n\r\n\t\tvm.selectedTicket = {};\r\n\t\tvm.selectAllTicket = false;\r\n\t\tvm.toggleAllTicket = toggleAllTicket;\r\n\t\tvm.toggleOneTicket = toggleOneTicket;\r\n\t\tvar titleHtmls = '';\r\n\t\tvar ModalInstanceCtrlHistory = function (invoiceNo) {\r\n\t\t\tvm.TicketdtOptions = DTOptionsBuilder.fromFnPromise(function () {\r\n\t\t\t\tvar defer = $q.defer();\r\n\t\t\t\tInvoiceListService.getInvoiceHistory(loggedinUser, invoiceNo, token).then(function (resp) {\r\n\t\t\t\t\tvm.InVoiceHistoryData = resp.data;\r\n\t\t\t\t\tconsole.log(vm.InVoiceHistoryData);\r\n\t\t\t\t\tdefer.resolve(vm.InVoiceHistoryData);\r\n\t\t\t\t})\r\n\r\n\t\t\t\treturn defer.promise;\r\n\t\t\t}).withDOM('<\"html5buttons\"B>lTfgitp').withPaginationType('full_numbers')\r\n\t\t\t\t.withOption('order', [1, 'desc']).withBootstrap()\r\n\t\t\t\t.withOption('createdRow', function (row, data, dataIndex) {\r\n\t\t\t\t\t// Recompiling so we can bind Angular directive to the DT\r\n\t\t\t\t\t$compile(angular.element(row).contents())($scope);\r\n\t\t\t\t})\r\n\t\t\t\t.withOption('headerCallback', function (header) {\r\n\t\t\t\t\tif (!vm.headerCompileds) {\r\n\t\t\t\t\t\t// Use this headerCompiled field to only compile header once\r\n\t\t\t\t\t\tvm.headerCompileds = true;\r\n\t\t\t\t\t\t$compile(angular.element(header).contents())($scope);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.TicketdtColumns = [\r\n\t\t\tDTColumnBuilder.newColumn(null).withTitle(titleHtmls).renderWith(function (data, type, full, meta) {\r\n\t\t\t\tvm.selectedTicket[meta.row] = false;\r\n\t\t\t\treturn '';\r\n\t\t\t}).notSortable(),\r\n\t\t\tDTColumnBuilder.newColumn('TicketId').withTitle('TicketId').renderWith(function (data) {\r\n\t\t\t\treturn '' + data + '';\r\n\t\t\t}),\r\n\t\t\tDTColumnBuilder.newColumn('AccountName').withTitle('Account Name').renderWith(function (data) {\r\n\t\t\t\treturn '' + data + '';\r\n\t\t\t}),\r\n\t\t\tDTColumnBuilder.newColumn('CustomerName').withTitle('Customer Name').renderWith(function (data) {\r\n\t\t\t\treturn '' + data + '';\r\n\t\t\t}),\r\n\t\t\tDTColumnBuilder.newColumn('ProjectName').withTitle('Project Name').renderWith(function (data) {\r\n\t\t\t\treturn '' + data + '';\r\n\t\t\t}),\r\n\t\t\tDTColumnBuilder.newColumn('AmountToBePaid').withTitle('AmountToBePaid'),\r\n\t\t\tDTColumnBuilder.newColumn('CreatedOn').withTitle('Ticket Date').renderWith(function (data) {\r\n\t\t\t\tvar dt = $filter('date')(new Date(data), \"dd/MM/yyyy\");\r\n\t\t\t\treturn dt;\r\n\t\t\t}),\r\n\r\n\t\t];\r\n\r\n\t\tfunction toggleAllTicket(selectAllTicket, selectedItems) {\r\n\r\n\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t\t\tselectedItems[id] = selectAllTicket;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tfunction toggleOneTicket(selectedItems) {\r\n\t\t\tfor (var id in selectedItems) {\r\n\t\t\t\tif (selectedItems.hasOwnProperty(id)) {\r\n\t\t\t\t\tif (!selectedItems[id]) {\r\n\t\t\t\t\t\tvm.selectAllTicket = false;\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvm.selectAllTicket = true;\r\n\t\t}\r\n\r\n\r\n\t\tvm.downloadInvoice = function () {\r\n\r\n\t\t\tvar InvoiceNoList = '';\r\n\t\t\tfor (var i = 0; i < vm.invoiceLists.length; i++) {\r\n\t\t\t\tif (vm.selected[i] == true) {\r\n\t\t\t\t\tif (i == 0) {\r\n\t\t\t\t\t\tInvoiceNoList = vm.invoiceLists[i].InvoiceNo;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tInvoiceNoList = InvoiceNoList + \",\" + vm.invoiceLists[i].InvoiceNo;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tconsole.log(InvoiceNoList);\r\n\t\t\tInvoiceListService.downloadInvoicebyInvoiceNo(loggedinUser, InvoiceNoList, vm.createCallback(null, [function (data) { }]), token);\r\n\t\t\tvm.reloadData();\r\n\t\t\tvm.selectAll = false;\r\n\t\t}\r\n\r\n\r\n\t}\r\n});\nangular.module('inspinia').service('InvoiceConsolidatedService', function (ApiURL, FreelancerURL,LocationURL,PublicApiURL, $log, $http,$localStorage,$window) {\r\n\r\n// GetInvoiceToDetails\r\nthis.getInvoiceToDetails = function (loggedInUserId,token) { \r\n var url = ApiURL+ '/api/Invoice/GetInvoiceToDetails';\r\n return $http.get(url, {\r\n headers: { \r\n 'Content-Type': 'application/json',\r\n 'Token':token , \r\n 'UserId':loggedInUserId\r\n \r\n }\r\n });\r\n}\r\n\r\n//GenerateConsolidatedInvoice\r\nthis.GenerateConsolidatedInvoice = function ( loggedinUser, token,TicketIds) { debugger\r\n var url = ApiURL + '/api/Invoice/GenerateConsolidatedInvoiceViaTicketId';\r\n return $http.put(url, TicketIds,{\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n }\r\n \r\n });\r\n}\r\n\r\n//Generate Invoice Preview Via Model\r\nthis.GeneratePreviewConsolidatedInvoice = function ( loggedinUser, token,TicketIds) { \r\n var url = ApiURL + '/api/Invoice/GenerateInvoicePreviewViaModel';\r\n return $http.put(url, TicketIds,{\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n }\r\n \r\n });\r\n}\r\n\r\n//GenerateConsolidatedInvoiceOnScreen\r\nthis.GenerateConsolidatedInvoiceOnScreen = function ( loggedinUser, token,TicketIds) { \r\n var url = ApiURL + '/api/Invoice/GenerateInvoiceByRowModel';\r\n return $http.put(url, TicketIds,{\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n }\r\n \r\n });\r\n}\r\n\r\n//GenerateInvoiceByModel on Pop-up\r\nthis.GenerateInvoiceByModel = function ( loggedinUser, token,TicketIds) { debugger\r\n var url = ApiURL + '/api/Invoice/GenerateInvoiceByModel';\r\n return $http.put(url, TicketIds,{\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n }\r\n \r\n });\r\n}\r\n\r\n//Generate PDF Invoice \r\n// this.GeneratePDFInvoiceByInvoiceNumber = function ( loggedinUser, token,InvoiceNo) { debugger\r\n// var url = ApiURL + '/api/Invoice/GeneratePDFInvoiceByInvoiceNumber';\r\n// return $http.put(url, InvoiceNo,{\r\n// headers: { \r\n// 'ContentType': 'application/json', \r\n// 'Token':token, \r\n// 'UserId':loggedinUser \r\n// }\r\n \r\n// });\r\n// }\r\n\r\n\r\n});\nangular.module('inspinia').controller('InvoiceConsolidatedController', function (InvoiceConsolidatedService, CustomerInvoiceService, ReferService, toaster, $filter, $rootScope, PublicApiURL, $window, $log, $q, $compile, DTOptionsBuilder, DTColumnDefBuilder, DTColumnBuilder, $uibModal, $localStorage, ticketTemplateService, $scope, $state, FreelancerURL, ApiURL, $stateParams, $timeout) {\r\n\tvm = this;\r\n\r\n\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tvar ticketIdsToGenInvoices = $stateParams.ticketIdsToGenInvoice;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\r\n\t\tvm.ConsolidatedInvoiceList=[];\t\r\n\t\tvm.ticketIdsList = [];\r\n\t\tvm.SelectedInvoiceObj={};\r\n\t\tif($localStorage.InvoiceTicketIdList != null || $localStorage.InvoiceTicketIdList !=\"\")\r\n\t\t\tvm.ticketIdsList=$localStorage.InvoiceTicketIdList;\r\n\t\tvm.GenerateConsolidatedInvoice = function (ticketIds) {\r\n\t\t\tInvoiceConsolidatedService.GenerateConsolidatedInvoice(loggedinUser, token, ticketIds).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.ConsolidatedInvoiceList = resp.data;\r\n\t\t\t\t\tvm.SelectedInvoiceObj=vm.ConsolidatedInvoiceList[0];\r\n\t\t\t\t\t\r\n\t\t\t\t\tif(resp.status==206)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t$window.location.href = '/#/index/CustomerInvoice/';\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif(vm.SelectedInvoiceObj.ErrorString != null) {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", vm.SelectedInvoiceObj.ErrorString + \" for this \" + vm.SelectedInvoiceObj.PONumber + \" PO Number \" );\r\n\t\t\t\t\t}\r\n\t\t\t\r\n\t\t\t\t}\r\n\t\t\t}, function () {\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.GenerateConsolidatedInvoice(vm.ticketIdsList);\r\n\r\n\t\t\r\n\r\n\t\tvm.pdfimage = \"\";\r\n\t\tvm.DocumentAvailableMessage=\"\";\t\r\n\t\tvm.GeneratePreviewConsolidatedInvoice = function (previewSelectedObj) { \r\n\t\t\tvm.PDFView();\r\n\t\t\tvar PreviewConsolidatedInvoiceList = [previewSelectedObj];\r\n\t\t\tInvoiceConsolidatedService.GeneratePreviewConsolidatedInvoice(loggedinUser, token, PreviewConsolidatedInvoiceList).then(function (resp) {\r\n\t\t\t\tvar responseDataList=[];\r\n\t\t\t\tresponseDataList = resp.data;\r\n\t\t\t\t// for(var i=0; i -1) {\r\n addedUsr = true;\r\n vm.shareModel.toList.push(u);\r\n }\r\n }\r\n })\r\n if (!addedUsr) {\r\n vm.shareModel.toList.push({ PersonalEmail: email, UserId: email, FirstName: email.split(\"@\")[0], LastName: \"\" });\r\n }\r\n }\r\n })\r\n\r\n angular.forEach(vm.currentConfig.strListMMFEmail, function (email) {\r\n if (email != null) {\r\n addedUsr = false;\r\n angular.forEach(vm.users, function (u) {\r\n if (u.PersonalEmail != null) {\r\n if (u.PersonalEmail.toLowerCase().indexOf(email.toLowerCase()) > -1) {\r\n addedUsr = true;\r\n vm.shareModel.ccList.push(u);\r\n }\r\n }\r\n })\r\n if (!addedUsr) {\r\n vm.shareModel.ccList.push({ PersonalEmail: email, UserId: email, FirstName: email.split(\"@\")[0], LastName: \"\" });\r\n }\r\n }\r\n })\r\n\r\n vm.dataFilters = vm.currentConfig.objListReminders;\r\n angular.forEach(vm.dataFilters, function (d) {\r\n d.strMailBody = d.strMailBody.replace(new RegExp(\"
\", 'g'), \"\\n\");\r\n });\r\n\r\n }\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.shareModel.getUserSuggestion = function (val) {\r\n vm.shareModel.toListMendtryErr = false;\r\n vm.shareModel.ccListMendtryErr = false;\r\n var re = /^[A-Za-z0-9]+([\\.\\-_]*[A-Za-z0-9]+)*@[A-Za-z0-9]+([\\.\\-_]*[A-Za-z0-9]+)*\\.([A-Za-z]{2}|[A-Za-z]{3})$/;\r\n if (vm.users.length > 0) {\r\n return re.test(val) ? [{ FirstName: val.split(\"@\")[0], LastName: \"\", UserId: val }].concat(vm.users) : vm.users;\r\n }\r\n return re.test(val) ? [{ FirstName: val.split(\"@\")[0], LastName: \"\", UserId: val }] : [];\r\n }\r\n \r\n vm.getUsersLite = function () {\r\n vm.users = [];\r\n reportDetailService.getUsersLite(loggedinUser, token, vm.createCallback(vm.users, [function (data) {\r\n }]));\r\n }\r\n \r\n vm.getUsersLite();\r\n \r\n vm.shareModel.searchAsOr = function (searchText1) {\r\n return function (entry) {\r\n var splittedText = searchText1.split(\";\");\r\n if (splittedText != null && splittedText.length > 0) {\r\n var searchText = splittedText[splittedText.length - 1].trim();\r\n if (entry.FirstName.toLowerCase().indexOf(searchText.toLowerCase()) > -1\r\n || (entry.LastName != null && entry.LastName.toLowerCase().indexOf(searchText.toLowerCase()) > -1)\r\n || entry.UserId.toLowerCase().indexOf(searchText.toLowerCase()) > -1)\r\n return entry;\r\n }\r\n }\r\n }\r\n \r\n vm.shareModel.removeSelectedUsers = function (element) {\r\n var matched = false;\r\n angular.forEach(vm.shareModel.toList, function (d) {\r\n if (d.UserId == element.UserId) {\r\n matched = true;\r\n return;\r\n }\r\n });\r\n if (!matched) {\r\n angular.forEach(vm.shareModel.ccList, function (d) {\r\n if (d.UserId == element.UserId) {\r\n matched = true;\r\n return;\r\n }\r\n });\r\n }\r\n if (!matched) {\r\n return element;\r\n }\r\n }\r\n \r\n vm.shareModel.cancelledToListUser = function (i) {\r\n vm.shareModel.toList.splice(i, 1);\r\n }\r\n \r\n vm.shareModel.cancelledCCListUser = function (i) {\r\n vm.shareModel.ccList.splice(i, 1);\r\n }\r\n \r\n vm.shareModel.selectUserNameInToList = function (item) {\r\n vm.shareModel.toList.push(item);\r\n vm.shareModel.toUsers = [];\r\n }\r\n vm.shareModel.selectUserNameInCCList = function (item) {\r\n vm.shareModel.ccList.push(item);\r\n vm.shareModel.ccUsers = [];\r\n }\r\n \r\n }\r\n\r\n});\r\n\nangular.module('inspinia').service('InvoiceAcceptanceService', function (AcessoriesURL, ApiURL, $window, $http) {\r\n\r\n this.GetAllOrderInvoice = function (invoiceStatus, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFOrderInvoice/GetAllOrderInvoice?InvoiceStatus=' + invoiceStatus;\r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.AcceptInvoice = function (invoiceId, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFOrderInvoice/AcceptInvoice?InvoiceId=' + invoiceId;\r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.AcceptInvoiceWithDiffer = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFOrderInvoice/AcceptInvoiceWithDiffer';\r\n return $http.put(url, data, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.CancelInvoice = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFOrderInvoice/CancelInvoice';\r\n return $http.put(url, data, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GeneratePdfTaxInvoice = function (loggedinUser, token, InvoiceId) {\r\n var url = ApiURL + '/api/Report/GeneratePdfTaxInvoice?InvoiceNo=' + InvoiceId;\r\n return $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.ReOrderPlace = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFOrder/ReOrderPlace';\r\n return $http.put(url, data, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('InvoiceAcceptanceController', function (InvoiceAcceptanceService, InventoryCartService, $stateParams, toaster, $filter, $compile, $q, $state, $localStorage, $scope, DTOptionsBuilder, DTColumnBuilder, $uibModal, $timeout) {\r\n\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\t// var warehouseId = $stateParams.warehouseId;\r\n\t\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\t\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\t\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\t\tvm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\t\tvm.AccountId = $localStorage.accountConfig.AccountId;\r\n\t\t$scope.isNavCollapsed = true;\r\n\t\t$scope.isCollapsed = true;\r\n\t\t$scope.isCollapsedHorizontal = false;\r\n\t\tvm.selectSingle = false;\r\n\t\tvm.disableExceptionButton = false;\r\n\t\tvar oPageIndex = 1;\r\n\t\tvar oPageSize = 10;\r\n\t\tvm.allOrdersPageListCount = 10;\r\n\t\tvar PageIndex = 1;\r\n\t\tvar PageSize = 10;\r\n\t\tvm.allInventoryPageListCount = 10;\r\n\t\tvm.pageListCounts = [10, 20, 30, 50];\r\n\t\tvm.UserId = '';\r\n\t\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\t\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\t\t$scope.dates = { startDate: moment().subtract(30, 'day'), endDate: moment() };\r\n\t\tvar startDate = moment().subtract(30, 'days').format(\"YYYY-MM-DD\");\r\n\t\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\t\t$scope.ranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment().endOf('month')]\r\n\t\t};\r\n\r\n\t\tvm.outsidedateRangeChange = function (ev, picker) {\r\n\t\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\t\tvm.applyOrderFilter();\r\n\t\t};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\t\tvm.CancelMyOrder = function () {\r\n\t\t\tInvoiceAcceptanceService.CancelMyOrder(vm.orderId, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", \"Order cancelled successfully.\");\r\n\t\t\t\t\tvm.closeOrderCancelConfirmation();\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tvm.GetAllOrdersByFilter();\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.openInvoiceAcceptanceModal = function (invoiceData) {\r\n\t\t\tvm.invoiceData = invoiceData;\r\n\t\t\tvm.invoiceacceptanceModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'InvoiceAcceptanceModal.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeinvoiceacceptanceModal = function () {\r\n\t\t\tvm.invoiceacceptanceModal.close();\r\n\t\t}\r\n\r\n\t\tvm.DifferOrderId = function (order_id) {\r\n\t\t\tvm.orderid = order_id;\r\n\t\t\tvm.openDifferModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'OrderDifferModal.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tsize: 'md',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeDifferOrderModal = function () {\r\n\t\t\tvm.openDifferModal.close();\r\n\t\t}\r\n\r\n\t\tvm.ReOrderPlace = function () {\r\n\t\t\tvar ReOrderData = {\r\n\t\t\t\t\"OrderId\": vm.orderid\r\n\t\t\t}\r\n\t\t\tInventoryCartService.ReOrderPlace(ReOrderData, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.closeDifferOrderModal();\r\n\t\t\t\t\tvm.showSuccess(\"Success\", resp.data);\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tvm.GetAllOrderInvoice();\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.InvoiceStatus = \"\";\r\n\t\tvm.GetAllOrderInvoice = function () {\r\n\t\t\tInvoiceAcceptanceService.GetAllOrderInvoice(vm.InvoiceStatus,loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.AllOrderInvoices = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.GetAllOrderInvoice();\r\n\r\n\t\tvm.AcceptInvoice = function (invoiceId) {\r\n\t\t\tInvoiceAcceptanceService.AcceptInvoice(invoiceId,loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", \"Invoice accepted successfully\");\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tvm.GetAllOrderInvoice();\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.OpenUserDetails = function(orderdetail){\r\n\t\t\t$state.go('index.WareHouseOrderDetailView',{\r\n\t\t\t\torder_id : orderdetail\r\n\t\t\t}, { reload: true });\r\n\t\t}\r\n\r\n\t\tvm.OpenCancellationModel = function (invoiceId) {\r\n\t\t\tvm.invoiceIdTobecancelled = invoiceId;\r\n\t\t\tCancelInvoiceModel = $uibModal.open({\r\n\t\t\t templateUrl: 'cancelInvoice.html',\r\n\t\t\t backdrop: 'static',\r\n\t\t\t scope: $scope,\r\n\t\t\t});\r\n\t\t }\r\n\t \r\n\t\t vm.closeInvoiceCancelConfirmation = function () {\r\n\t\t\tCancelInvoiceModel.close();\r\n\t\t\tvm.CancelInvoiceRemark = \"\";\r\n\t\t }\r\n\r\n\t\tvm.CancelInvoice = function () {\r\n\t\t\tvm.Invoice_Cancellation_Form.submitted = true;\r\n\t\t\tif (vm.Invoice_Cancellation_Form.$valid) {\r\n\t\t\t\tvar InvoiceCancelData = {\r\n\t\t\t\t\t\"strInvoiceId\": vm.invoiceIdTobecancelled,\r\n\t\t\t\t\t\"strCancelRemark\": vm.CancelInvoiceRemark\r\n\t\t\t\t}\r\n\t\t\t\tInvoiceAcceptanceService.CancelInvoice(InvoiceCancelData, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Invoice cancelled successfully\");\r\n\t\t\t\t\t\tvm.closeInvoiceCancelConfirmation();\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\tvm.GetAllOrderInvoice();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.AcceptInvoiceWithDiffer = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"strInvoiceId\": vm.invoiceData.strInvoiceId,\r\n\t\t\t\t\"listInvoiceDifferQuantity\": []\r\n\t\t\t}\r\n\r\n\t\t\tvm.invoiceData.ListItemsInInvoice.forEach(function(lineitem) {\r\n\t\t\t\tvar differQuantity = lineitem.differQty || 0;\r\n\t\t\t\tvar differRemark = lineitem.differRemark || '';\r\n\t\t\r\n\t\t\t\tdata.listInvoiceDifferQuantity.push({\r\n\t\t\t\t\t\"strPartId\": lineitem.strItemId,\r\n\t\t\t\t\t\"nDifferQuantity\": differQuantity,\r\n\t\t\t\t\t\"strDifferRemark\": differRemark\r\n\t\t\t\t});\r\n\t\t\t});\r\n\r\n\t\t\tInvoiceAcceptanceService.AcceptInvoiceWithDiffer(data,loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", \"Invoice accepted successfully\");\r\n\t\t\t\t\tvm.closeinvoiceacceptanceModal();\r\n\t\t\t\t\tvar hasDifferQuantity = data.listInvoiceDifferQuantity.some(function (item) {\r\n\t\t\t\t\t\treturn item.nDifferQuantity > 0;\r\n\t\t\t\t\t});\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tvm.GetAllOrderInvoice();\r\n\t\t\t\t\t\tif (hasDifferQuantity) {\r\n\t\t\t\t\t\t\tvm.openDifferOrderModal(vm.invoiceData.strOrderId);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t}, function (error) {\r\n\t\t\t\tvm.showFailure(\"Failed\", error.message || \"An error occurred\");\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.PDFView = function () {\r\n\t\t\tvm.pdfimage = \"\";\r\n\t\t\tvm.IsLoadSucessfull = false;\r\n\t\t\ttaxInvoiceModel = $uibModal.open({\r\n\t\t\t templateUrl: 'PDFView.html',\r\n\t\t\t size: 'lg',\r\n\t\t\t scope: $scope\r\n\t\t\t});\t \r\n\t\t }\r\n\t\t vm.PDFUserModal = function () {\r\n\t\t\ttaxInvoiceModel.close();\r\n\t\t }\r\n\r\n\t\tvm.viewInvoicePdf = function (InvoiceId) {\r\n\t\t\tvm.PDFView();\r\n\t\t\tInvoiceAcceptanceService.GeneratePdfTaxInvoice(loggedinUser, token, InvoiceId).then(function (resp) {\r\n\t\t\t if (resp.status == 200) {\r\n\t\t\t\tvm.InvoiceData = resp.data;\r\n\t\t\t\tvar arrrayBuffer = base64ToArrayBuffer(vm.InvoiceData);\r\n\t\t\t\tvar blob = new Blob([arrrayBuffer], { type: \"application/pdf\" });\r\n\t\t\t\tvm.pdfimage = URL.createObjectURL(blob);\r\n\t\t\t\tvm.IsLoadSucessfull = true;\r\n\t\t\t }\r\n\t\t\t});\r\n\t \r\n\t\t }\r\n\r\n\t\t function base64ToArrayBuffer(base64) \r\n\t\t {\r\n\t\t\t var ret = base64.replace('data:application/pdf;base64,','');\r\n\t\t\t\t var binaryString = atob(ret);\r\n\t\t\t\t var binaryLen = binaryString.length;\r\n\t\t\t\t var bytes = new Uint8Array(binaryLen);\r\n\t\t\t\t for (var i = 0; i < binaryLen; i++) {\r\n\t\t\t\t var ascii = binaryString.charCodeAt(i);\r\n\t\t\t\t bytes[i] = ascii;\r\n\t\t\t\t }\r\n\t\t\t\t return bytes;\r\n\t\t }\r\n\r\n\t\t vm.exportToCSV = function() {\r\n\t\t\tvar csvContent = \"data:text/csv;charset=utf-8,\";\r\n\t\t\t\tvar headers = [\r\n\t\t\t\t\"Order ID\",\r\n\t\t\t\t\"Invoice No\",\r\n\t\t\t\t\"Invoice Date\",\r\n\t\t\t\t\"Invoice Item QTY\",\r\n\t\t\t\t// \"Received Item QTY\",\r\n\t\t\t\t\"Invoice Total Value\",\r\n\t\t\t\t// \"Received Total Value\",\r\n\t\t\t\t\"Status\"\r\n\t\t\t];\r\n\t\t\tcsvContent += headers.join(\",\") + \"\\n\";\r\n\t\t\t\tvm.AllOrderInvoices.forEach(function(invoice) {\r\n\t\t\t\tvar row = [\r\n\t\t\t\t\tinvoice.strOrderId,\r\n\t\t\t\t\tinvoice.strInvoiceId,\r\n\t\t\t\t\tinvoice.dateInvoiceDate !== '0001-01-01T00:00:00' ? $filter('date')(invoice.dateInvoiceDate, 'dd/MMM/yy h:mm:ss a') : '',\r\n\t\t\t\t\tinvoice.nInvoiceItemCount,\r\n\t\t\t\t\t// invoice.nReceivedItemCount,\r\n\t\t\t\t\tinvoice.dInvoiceTotalAmount,\r\n\t\t\t\t\t// invoice.dReceivedTotalAmount,\r\n\t\t\t\t\tinvoice.strInvoiceStatus\r\n\t\t\t\t];\r\n\t\t\t\tcsvContent += row.join(\",\") + \"\\n\";\r\n\t\t\t});\r\n\t\r\n\t\t\tvar encodedUri = encodeURI(csvContent);\r\n\t\t\tvar link = document.createElement(\"a\");\r\n\t\t\tlink.setAttribute(\"href\", encodedUri);\r\n\t\t\tlink.setAttribute(\"download\", \"invoice_data.csv\");\r\n\t\t\tdocument.body.appendChild(link);\r\n\t\t\tlink.click();\r\n\t\t};\r\n\r\n\r\n\t}\r\n});\nangular.module('inspinia').service('CustomerInvoiceService', function (ApiURL, PublicApiURL, $http, $localStorage, $window) {\r\n\r\n this.getCustomerInvoice = function (startDate, endDate, reqUserId, token, itemNames, itemValues, DateField, PageIndex, PageSize,SortField, SortType) {\r\n var url = '';\r\n url = ApiURL + '/api/Invoice/GetInvoicesAccountsDateRangeWithDynaPaging?fromDate=' + startDate + '&toDate=' + endDate + '&reqUserId=' + reqUserId + '&itemNames=' + itemNames + '&itemValues=' + itemValues + '&DateField=' + DateField + '&PageIndex=' + PageIndex + '&PageSize=' + PageSize +'&SortField=' + SortField + '&SortType=' + SortType;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': reqUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetRemittanceAdvices = function (startDate, endDate, reqUserId, token, itemNames, itemValues, DateField, PageIndexAdvice, PageSizeAdvice, SortField, SortType) {\r\n var url = '';\r\n url = ApiURL + '/api/Invoice/GetRemittanceAdvices?startDate=' + startDate + '&endDate=' + endDate + '&reqUserId=' + reqUserId + '&itemNames=' + itemNames + '&itemValues=' + itemValues + '&DateField=' + DateField + '&PageIndex=' + PageIndexAdvice + '&PageSize=' + PageSizeAdvice +'&SortField=' + SortField + '&SortType=' + SortType;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': reqUserId\r\n }\r\n });\r\n }\r\n\r\n this.getAllJobTickets = function (startDate, endDate, reqUserId, token, itemNames, itemValues, DateField, PageIndex, PageSize,SortField, SortType) {\r\n var url = ApiURL + '/api/Invoice/GetAllTicketForInvoiceInDateRangeWithDynaPaging?fromDate=' + startDate + '&toDate=' + endDate + '&itemNames=' + itemNames + '&itemValues=' + itemValues + '&DateField=' + DateField + '&PageIndex=' + PageIndex + '&PageSize=' + PageSize +'&SortField=' + SortField + '&SortType=' + SortType;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': reqUserId\r\n\r\n }\r\n });\r\n }\r\n\r\n\r\n this.CreateRemmittanceAdvices = function (data,loggedInUserId, token) {\r\n var url = ApiURL + '/api/Invoice/CreateRemmittanceAdvices'\r\n return $http.post(url, data, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedInUserId }\r\n })\r\n }\r\n\r\n\r\n //https://product.mymobiforce.com/coreapi/api/Invoice/GetBase64ForCustomerInvoicePDF\r\n this.getInvoice = function (loggedInUserId, token, data) {\r\n var url = ApiURL + '/api/Invoice/GetBase64ForCustomerInvoicePDF';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetRemittanceDataByInvoiceId = function (loggedInUserId, token, invoiceNo) {\r\n var url = ApiURL + '/api/Invoice/GetRemittanceDataByInvoiceId?InvoiceNo=' + invoiceNo;\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.getCustInvoice = function (loggedInUserId, token, invoiceNo) {\r\n var url = ApiURL + '/api/Invoice/GetCustomerInvoiceAttachmentinbase64?InvoiceNo=' + invoiceNo;\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n //https://product.mymobiforce.com/coreapi/api/Invoice/GetBase64ForCreditNotePDF\r\n\r\n\r\n this.getCreditN = function (loggedInUserId, token, data) {\r\n var url = ApiURL + '/api/Invoice/GetBase64ForCreditNotePDF';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n //credit Note\r\n this.getCreditNote = function (startDate, endDate, reqUserId, token, itemNames, itemValues, DateField, PageIndex, PageSize) {\r\n var url = ApiURL + '/api/Invoice/GetCreditNoteInDateRangeWithDynaPaging?fromDate=' + startDate + '&toDate=' + endDate + '&itemNames=' + itemNames + '&itemValues=' + itemValues + '&DateField=' + DateField + '&PageIndex=' + PageIndex + '&PageSize=' + PageSize;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': reqUserId\r\n\r\n }\r\n });\r\n }\r\n\r\n\r\n //state api\r\n this.getCustomerInvoiceState = function (loggedInUserId, token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n //Accounts API\r\n this.getCustomerAccounts = function (loggedInUserId, token) {\r\n var url = ApiURL + '/api/account/GetAllAccountsMiniModel';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n\r\n }\r\n });\r\n }\r\n\r\n //https://product.mymobiforce.com/coreapi/api/Invoice/GetInvoiceDashboardWithFilters\r\n this.getDashboardDetails = function (loggedInUserId, token, Data) {\r\n var url = ApiURL + '/api/Invoice/GetInvoiceDashboardWithFilters';\r\n return $http.put(url, Data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n\r\n }\r\n });\r\n }\r\n\r\n\r\n this.PaidByCustomerInvoiceAccounts = function (loggedInUserId, token, userFormData) {\r\n var url = ApiURL + '/api/Invoice/PaidByCustomerInvoiceAccounts';\r\n return $http.put(url, userFormData, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n this.RaiseInvoiceToCustomerAccounts = function (loggedInUserId, token, userFormData) {\r\n var url = ApiURL + '/api/Invoice/RaiseInvoiceToCustomerAccounts';\r\n return $http.put(url, userFormData, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.RejectInvoiceByCustomer = function (loggedInUserId, token, userFormData) {\r\n var url = ApiURL + '/api/Invoice/RejectInvoiceByCustomer';\r\n return $http.put(url, userFormData, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n //clone api\r\n this.CloneRejectedInvoice = function (loggedInUserId, token, userFormData) {\r\n var url = ApiURL + '/api/Invoice/CloneRejectedInvoice';\r\n return $http.put(url, userFormData, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n //paging \r\n // this.getAllJobTicketsCopy = function (supervisorId, startDate, endDate, token, itemNames,itemValues,textItemNames,textItemValues,templateCols,templateItemNames,templateItemValues,DateField,PageIndex,PageSize) {\r\n // var url = '';\r\n // url = ApiURL + '/api/Ticket/GetTicketsbyDateRangeWithDynaPaging?fromDate=' + startDate + '&toDate=' + endDate+ '&reqUserId=' + supervisorId + '&itemNames=' + itemNames + '&itemValues=' + itemValues + '&textItemNames=' + textItemNames + '&textItemValues=' + textItemValues +'&templateCols='+templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues+ '&DateField=' + DateField + '&PageIndex=' + PageIndex + '&PageSize=' + PageSize;\r\n\r\n // return $http.get(url, {\r\n // headers: {\r\n // 'Content-Type': 'application/json',\r\n // 'Token': token,\r\n // 'UserId': supervisorId\r\n // }\r\n // });\r\n // }\r\n\r\n //DownloadInvoicesNew\r\n // https://product.mymobiforce.com/publicapi/api/Report/DownloadCustomerInvoice?InvoiceNumber=HFUP/2020-2021/000000000142\r\n this.DownloadInvoice = function (invoiceNumberList) {\r\n var url = PublicApiURL + \"/api/Report/DownloadCustomerInvoice?InvoiceNumber=\" + invoiceNumberList;\r\n $window.open(url);\r\n }\r\n\r\n //credit note\r\n this.DownloadCredit = function (creditNoteNoList) {\r\n var url = PublicApiURL + \"/api/Report/DownloadCreditNote?CreditNumber=\" + creditNoteNoList;\r\n $window.open(url);\r\n }\r\n\r\n //send email https://product.mymobiforce.com/coreapi/api/Invoice/MailPDFInvoiceByInvoiceNumber\r\n this.SendEmails = function (token, data, loggedinUser) {\r\n var url = ApiURL + '/api/Invoice/MailPDFInvoiceByInvoiceNumber'\r\n return $http.put(url, data, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n })\r\n }\r\n\r\n //send email report(page)\r\n // this.mailReport = function(token, toList, ccList, bccList, subject, message, reportName, userID, filterKey, filterValue, reportInMailBody, rollUps, callback){\r\n // var data = {\r\n // \"TOList\": toList,\r\n // \"CCList\": ccList,\r\n // \"BCCList\": bccList,\r\n // \"Body\": message,\r\n // \"Subject\": subject,\r\n // \"ReportName\": reportName,\r\n // \"ReqUserId\": userID,\r\n // \"FilterKeys\": null,\r\n // \"FilterValues\": null,\r\n // \"ReportInMailBody\": reportInMailBody,\r\n // \"RollUps\":rollUps\r\n // };\r\n\r\n // //$log.log(\"data\", data);\r\n // $http.post(DashboardURL + '/api/Report/mailexcelreportbyname', data, { headers: { 'Content-Type': 'application/json', 'Token': token,'UserId':userID } }).then(function (res) { debugger\r\n // if (callback) {\r\n // callback(res.data);\r\n // }\r\n // })\r\n // }\r\n\r\n // vm.SendEmails = function(token, toList, ccList, bccList, subject, message, loggedinUser){\r\n // var data = {\r\n // \"TOList\": toList,\r\n // \"AttachmentList\":AttachmentList,\r\n // \"Request_Code\":0,\r\n // \"CCList\": ccList,\r\n // \"BCCList\": bccList,\r\n // \"Body\": message,\r\n // \"Subject\": subject,\r\n // \"InvoiceNo\": InvoiceNo,\r\n // \"UserId\": loggedinUser\r\n // };\r\n\r\n // $http.put(ApiURL +'/api/Invoice/MailPDFInvoiceByInvoiceNumber', data, { headers: { 'Content-Type': 'application/json', 'Token': token,'UserId': loggedinUser } }).then(function (res) {\r\n\r\n // })\r\n // }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n //https://product.mymobiforce.com/coreapi/api/Invoice/GetTicketDataToRaiseInvoice\r\n this.GetTicketDataToRaiseInvoice = function (loggedinUser, ticketIdList, token) {\r\n var url = ApiURL + '/api/Invoice/GetTicketDataToRaiseInvoice'\r\n return $http.put(url, ticketIdList, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n })\r\n }\r\n\r\n // Blank Invoice Api\r\n //https://product.mymobiforce.com/coreapi/api/Invoice/GetBlankInvoice/56\r\n // this.GetBlankInvoice = function (loggedInUserId,token,AccountId) {\r\n // var url = ApiURL+ '/api/Invoice/GetBlankInvoice/' + AccountId;\r\n // return $http.get(url, {\r\n // headers: { \r\n // 'Content-Type': 'application/json',\r\n // 'Token':token , \r\n // 'UserId':loggedInUserId\r\n\r\n // }\r\n // });\r\n // }\r\n\r\n //https://product.mymobiforce.com/coreapi/api/Invoice/BlankInvoiceAsyncNew\r\n\r\n this.GetBlankInvoice = function (data, files, token, loggedInUser, success, failure) {\r\n var formdata = new FormData();\r\n if (files) {\r\n formdata.append(\"file\", files[0]);\r\n var followupdata = JSON.stringify(data);\r\n formdata.append(\"BackgroundData\", followupdata);\r\n\r\n var url = ApiURL + '/api/Invoice/BlankInvoiceAsyncNew';\r\n return $http.post(url, formdata, {\r\n headers: { 'Content-Type': undefined, 'Token': token, 'UserId': loggedInUser }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Invoice is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n else {\r\n }\r\n\r\n }\r\n\r\n this.CustomerInvoiceAttachment = function (data, files, token, loggedInUser, success, failure) {\r\n var formdata = new FormData();\r\n formdata.append(\"file\", files[0]);\r\n var followupdata = JSON.stringify(data);\r\n formdata.append(\"BackgroundData\", followupdata);\r\n\r\n var url = ApiURL + '/api/Invoice/CustomerInvoiceAttachment';\r\n return $http.post(url, formdata, {\r\n headers: { 'Content-Type': undefined, 'Token': token, 'UserId': loggedInUser }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Invoice is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n //https://product.mymobiforce.com/coreapi/api/Invoice/MarkTicketsReadyToRaiseInvoice\r\n this.MarkTicketsReadyToRaiseInvoice = function (loggedinUser, ticketwithLineitemList, token) {\r\n var url = ApiURL + '/api/Invoice/MarkTicketsReadyToRaiseInvoice'\r\n return $http.put(url, ticketwithLineitemList, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n })\r\n }\r\n\r\n this.ReGenerateIRN = function (invoiceId,loggedInUserId, token) {\r\n var url = ApiURL + '/api/Invoice/ReGenerateIRN?InvoiceNumber=' + invoiceId;\r\n return $http.put(url, null, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n});\r\n\nangular.module('inspinia').controller('CustomerInvoiceController', function (CustomerInvoiceService,reportDetailService, $sce, InvoiceConsolidatedService, ngProgressFactory, $http, ReferService, toaster, $filter, $rootScope, PublicApiURL, $window, $log, $q, $compile, DTOptionsBuilder, DTColumnDefBuilder, DTColumnBuilder, $uibModal, $localStorage, ticketTemplateService, $scope, $state, FreelancerURL, ApiURL, $timeout) {\r\n vm = this;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n } else {\r\n vm.dissblesubmitButton = false;\r\n\r\n vm.CustomerInvoiceList = {};\r\n vm.creditNote = {};\r\n vm.CustomerInvoice = function () {\r\n vm.SearchUserinfoForm.submitted = true;\r\n if (vm.SearchUserinfoForm.$valid) {\r\n CustomerInvoiceService.GetCustomerInvoiceByReqUserId(loggedinUser, vm.SearchUser, token).then(function (resp) {\r\n if (resp.status == 206) {\r\n vm.showFailure('Failed', resp.data.Message);\r\n vm.CustomerInvoiceList = \"\";\r\n }\r\n else\r\n vm.CustomerInvoiceList = resp.data;\r\n });\r\n }\r\n }\r\n\r\n vm.CustomDateformat = $localStorage.CustomDateformat;\r\n vm.FreelancerAccess = $localStorage.accountConfig.FreelancerAccess;\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.accountConfig = $localStorage.accountConfig;\r\n vm.confirmTagModal = $scope.$parent.$parent.main.confirmTagModal;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.CurrencySymbol = $localStorage.accountConfig.CurrencySymbol;\r\n vm.EnableRegion = vm.getAccountConfigSetting('EnableRegion');\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n var token = $localStorage.token;\r\n vm.Remarks = '';\r\n vm.Remark = '';\r\n vm.selectedTemplates = '';\r\n vm.PaymentStatus = '';\r\n vm.SettlementStatus = '';\r\n vm.enableFilters = true;\r\n vm.actionFlag = false;\r\n vm.editPermission = false;\r\n vm.enableFilters = true;\r\n vm.dtInstance = {};\r\n vm.bulkuploadType = \"Invoice\";\r\n var today = new Date();\r\n var formattedDate = today.toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric' });\r\n\r\n // vm.disableUploadButton = true;\r\n $scope.isCollapsed = true;\r\n var textItemNames = '';\r\n var textItemValues = '';\r\n vm.ticketPageListCount = 10;\r\n var PageIndex = 1;\r\n var PageSize = 10;\r\n vm.ticketList = [];\r\n vm.customerInvoiceList = [];\r\n vm.customerAdviceList = [];\r\n vm.creditNote = [];\r\n vm.jobTickets = [];\r\n vm.customerAccounts = [];\r\n vm.AccountName = \"\";\r\n vm.AccountType = \"\";\r\n vm.AccountId = \"\";\r\n vm.PONumber = \"\";\r\n vm.customerInvoiceState = [];\r\n vm.customerInvoiceStateList = [];\r\n vm.customerInvoiceSubmittedList = [];\r\n vm.progressbar = ngProgressFactory.createInstance();\r\n vm.invoiceNumberList = \"\";\r\n vm.creditNoteNoList = \"\";\r\n vm.updatePOList = \"\";\r\n vm.customerRejectList = [];\r\n vm.customerMailDetailsList = [];\r\n vm.freelancerRejectInvoiceList = [];\r\n vm.freelancerInvoiceList = [];\r\n vm.freelancerRejectList = [];\r\n vm.CloneRejectList = [];\r\n vm.BlankInvoiceAccountId = \"\";\r\n vm.BlankInvoiceRemark = \"\";\r\n vm.IsLoadSucessfull = false;\r\n vm.TicketDataToRaiseInvoiceList = [];\r\n vm.SendEmailInvoiceList = [];\r\n vm.PaidByCustomerList = [];\r\n vm.SearchByAccountName = '';\r\n vm.SearchByBusinessUnit = '';\r\n vm.SearchByAccountId = '';\r\n vm.SearchByInvoiceNo = '';\r\n vm.SearchByCreditNo = '';\r\n vm.PermanentCity = '';\r\n vm.PermanentState = '';\r\n vm.TicketsState = '';\r\n vm.SearchByStatus = \"All\";\r\n vm.markPaidInvoiceList = [];\r\n vm.approvalRemark = '';\r\n vm.InvoiceId = \"\";\r\n vm.RejectionRemark = '';\r\n vm.searchText = \"\";\r\n vm.IsSearch = false;\r\n vm.searchLabText = \"\";\r\n vm.searchJobTypeText = \"All User Types\";\r\n //vm.DateField=\"CompletionDateObj\";\r\n vm.DateField = \"CreatedOn\";\r\n vm.SortType = \"desc\"\r\n vm.SortField = 'ApprovedAge';\r\n vm.CustomerList = [];\r\n vm.ProjectList = [];\r\n vm.SearchByTicketId = '';\r\n vm.SearchByPONumber = '';\r\n vm.SearchByDescription = '';\r\n vm.SearchByTechnicianName = '';\r\n vm.SearchByTechnicianId = '';\r\n vm.SearchByPName = '';\r\n vm.SearchByCustomerName = '';\r\n vm.SearchByUserType = '';\r\n vm.previousPage = $localStorage.previousPage;\r\n vm.autoScheduleOn = $localStorage.accountConfig.IsAutoSchedulerOn;\r\n var approveModalInstance = {};\r\n var supervisorId = $localStorage.loggedInUserId;\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n vm.loggedInAs = $localStorage.loggedinAs;\r\n vm.aproveMessage = 'Please Rate !';\r\n\r\n // page 1 to 10\r\n vm.reportsLength = 0;\r\n vm.reportPageListCount = 10;\r\n vm.invoicePageListCount = 10;\r\n vm.pageListCounts = [10, 20, 30, 50, 100, 200, 500, 2000, 2500, 3000];\r\n vm.pageindexCount = 0;\r\n vm.pageindexCountInvoice = 0;\r\n vm.pageindexCountAdvice = 0;\r\n vm.pageindexCountCredit = 0;\r\n vm.ticketList = [];\r\n vm.ticketListLength = 0;\r\n vm.ticketListLengthInvoice = 0;\r\n vm.ticketListLengthAdvice = 0;\r\n vm.ticketListLengthCredit = 0;\r\n vm.TypeOfList = \"ApprovedTicket\";\r\n\r\n vm.advicePageListCount = 10;\r\n\r\n var templateItemNames = '';\r\n var templateItemValues = '';\r\n var itemNames = \"\";\r\n var itemValues = \"\";\r\n var PageIndex = 1;\r\n var PageIndexAdvice = 1;\r\n\r\n var PageIndexInvoice = 1;\r\n var PageIndexCredit = 1;\r\n var PageSize = 10;\r\n var PageSizeAdvice = 10;\r\n var startDate = moment().subtract(7, 'day').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.ticketdates = { startDate: moment().subtract(7, 'day'), endDate: moment() };\r\n vm.ticketranges = {\r\n 'Today': [moment(), moment()],\r\n // 'Yesterday': [moment().subtract(1, 'days'), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')]\r\n };\r\n\r\n vm.path = \"\";\r\n vm.path = $rootScope.rootScopeMessage;\r\n\r\n\r\n if (vm.path == 'isTicketView') {\r\n var startDate = $localStorage.SDate;\r\n var endDate = $localStorage.EDate;\r\n vm.ticketdates = { startDate: startDate, endDate: endDate };\r\n } else {\r\n var startDate = $localStorage.SDate ? $localStorage.SDate : moment().subtract(1, 'day').format(\"YYYY-MM-DD\");\r\n var endDate = $localStorage.EDate ? $localStorage.EDate : moment().format(\"YYYY-MM-DD\");\r\n vm.ticketdates = { startDate: startDate, endDate: endDate };\r\n // $scope.dates = { startDate: moment().subtract(1, 'day'), endDate: moment() };\r\n }\r\n\r\n\r\n //ticket paging\r\n // $scope.totalTableUsers = 0;\r\n $scope.totalTicketUsers = 0;\r\n $scope.usersTablePerPage = 10; // this should match however many results your API puts on one page\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n\r\n //invoice paging\r\n $scope.totalTableUsersInvoice = 0;\r\n $scope.usersTablePerPageInvoice = vm.invoicePageListCount;\r\n $scope.UserTablepaginationInvoice = {\r\n currentInvoice: 1\r\n };\r\n\r\n vm.changeInvoicePageListCount = function () {\r\n $scope.usersTablePerPageInvoice = vm.invoicePageListCount;\r\n PageSize = $scope.usersTablePerPageInvoice;\r\n $scope.UserTablepageChangedInvoice($scope.UserTablepaginationInvoice.current);\r\n PageIndex = $scope.UserTablepaginationInvoice.current;\r\n $scope.UserTablepageChangedInvoice = function (newPage) {\r\n PageIndex = newPage;\r\n vm.getCustomerInvoice(startDate, endDate, loggedinUser, token, itemNames, itemValues, vm.DateField, newPage, PageSize, vm.SortType);\r\n };\r\n }\r\n\r\n // advice paging\r\n $scope.totalTableUsersAdvice = 0;\r\n $scope.usersTablePerPageAdvise = vm.advicePageListCount;\r\n $scope.UserTablepaginationAdvice = {\r\n currentAdvice: 1\r\n };\r\n vm.changeAdvicePageListCount = function () {\r\n $scope.usersTablePerPageAdvise = vm.advicePageListCount;\r\n PageSizeAdvice = $scope.usersTablePerPageAdvise;\r\n $scope.UserTablepageChangedAdvice($scope.UserTablepaginationAdvice.currentAdvice);\r\n PageIndexAdvice = $scope.UserTablepaginationAdvice.currentAdvice;\r\n $scope.UserTablepageChangedAdvice = function (newPage) {\r\n PageIndexAdvice = newPage;\r\n vm.GetRemittanceAdvices(startDate, endDate, loggedinUser, token, itemNames, itemValues, vm.DateField, PageIndexAdvice, PageSizeAdvice,vm.SortField, vm.SortType);\r\n };\r\n }\r\n\r\nvm.GetRemittanceAdvices = function (startDate, endDate, loggedinUser, token, itemNames, itemValues, DateField , PageIndexAdvice, PageSizeAdvice, SortField, SortType) {\r\n\r\n CustomerInvoiceService.GetRemittanceAdvices(startDate, endDate, loggedinUser, token, itemNames, itemValues, DateField, PageIndexAdvice, PageSizeAdvice, SortField, SortType).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.customerAdviceList = resp.data.invoiceRemittanceAdviceModels;\r\n $scope.totalTableUsersAdvice = resp.data.RecordCount;\r\n if (vm.customerAdviceList.length < vm.advicePageListCount)\r\n vm.ticketListLengthAdvice = $scope.totalTableUsersAdvice;\r\n else\r\n vm.ticketListLengthAdvice = PageIndexAdvice * vm.advicePageListCount;\r\n if (PageIndexAdvice == 1)\r\n vm.pageindexCountAdvice = 1;\r\n else\r\n vm.pageindexCountAdvice = (((PageIndexAdvice - 1) * vm.advicePageListCount) + 1);\r\n\r\n\r\n }\r\n\r\n }, function () {\r\n\r\n });\r\n}\r\n\r\n //credit paging\r\n $scope.totalCreditNotes = 0;\r\n $scope.usersTablePerPageCredit = 10;\r\n $scope.UserTablepaginationCredit = {\r\n currentCredit: 1\r\n };\r\n\r\n\r\n // if(vm.TypeOfList==\"Ticket\")\r\n // { \r\n $scope.UserTablepagination.current = $localStorage.TicketFilterModel ? $localStorage.TicketFilterModel.PageIndex : 1;\r\n\r\n $scope.UserTablepageChanged = function (newPage) {\r\n\r\n PageIndex = newPage;\r\n vm.getAllJobTickets(startDate, endDate, loggedinUser, token, itemNames, itemValues, vm.DateField, newPage, PageSize, vm.SortField, vm.SortType);\r\n\r\n };\r\n // }\r\n\r\n // else if(vm.TypeOfList==\"Invoice\")\r\n // {\r\n\r\n $scope.UserTablepaginationInvoice.currentInvoice = $localStorage.TicketFilterModelInvoice ? $localStorage.TicketFilterModelInvoice.PageIndexInvoice : 1;\r\n\r\n $scope.UserTablepageChangedInvoice = function (newPage) {\r\n\r\n PageIndexInvoice = newPage;\r\n\r\n vm.getCustomerInvoice(startDate, endDate, loggedinUser, token, itemNames, itemValues, vm.DateField, newPage, PageSize, vm.SortField, vm.SortType);\r\n\r\n };\r\n \r\n\r\n // }\r\n // if(vm.TypeOfList==\"Credit\")\r\n // {\r\n $scope.UserTablepaginationCredit.currentCredit = $localStorage.TicketFilterModelCredit ? $localStorage.TicketFilterModelCredit.PageIndexCredit : 1;\r\n\r\n $scope.UserTablepageChangedCredit = function (newPage) {\r\n\r\n PageIndexCredit = newPage;\r\n vm.getCreditNote(startDate, endDate, loggedinUser, token, itemNames, itemValues, vm.DateField, newPage, PageSize);\r\n\r\n };\r\n // }\r\n\r\n $scope.UserTablepaginationAdvice.currentAdvice = $localStorage.TicketFilterModelAdvice ? $localStorage.TicketFilterModelAdvice.PageIndexAdvice : 1;\r\n\r\n $scope.UserTablepageChangedAdvice = function (newPage) {\r\n\r\n PageIndexAdvice = newPage;\r\n\r\n vm.GetRemittanceAdvices(startDate, endDate, loggedinUser, token, itemNames, itemValues, vm.DateField, PageIndexAdvice, PageSizeAdvice, vm.SortField, vm.SortType);\r\n\r\n };\r\n\r\n //dashboard count\r\n vm.getFilterInvoicebyDashboard = function (statusValue) {\r\n if (statusValue != 'Breached') {\r\n itemNames = \"Status\";\r\n itemValues = statusValue;\r\n }\r\n\r\n else {\r\n itemNames = \"Status,InvoiceType\";\r\n itemValues = statusValue + \",Customer\";\r\n }\r\n vm.getCustomerInvoice(startDate, endDate, loggedinUser, token, itemNames, itemValues, vm.DateField, PageIndex, PageSize, vm.SortField, vm.SortType);\r\n\r\n }\r\n vm.ResetFilter = function () {\r\n vm.SearchByStatus = \"All\";\r\n vm.SearchByAccountName = \"\";\r\n vm.SearchByBusinessUnit = \"\";\r\n vm.SearchByAccountId = \"\";\r\n vm.SearchByInvoiceNo = \"\";\r\n vm.SearchByCreditNo = '';\r\n vm.SearchByUserType = \"\";\r\n vm.DateField = \"CreatedOn\";\r\n vm.SearchByTicketId = '';\r\n vm.SearchByDescription = '';\r\n vm.SearchByTechnicianName = '';\r\n vm.SearchByPName = '';\r\n vm.SearchByCustomerName = '';\r\n vm.SearchByTechnicianId = \"\";\r\n vm.PermanentState = \"\";\r\n vm.PermanentCity = \"\";\r\n vm.SearchByPONumber = '';\r\n\r\n itemNames = \"InvoiceType\";\r\n itemValues = \"Customer\";\r\n // vm.getCustomerInvoice(startDate, endDate, loggedinUser, token, itemNames, itemValues, vm.DateField, PageIndex, PageSize, vm.SortField, vm.SortType);\r\n // vm.getAllJobTickets(startDate, endDate, loggedinUser, token, itemNames, itemValues,vm.DateField,PageIndex,PageSize);\r\n // vm.getCreditNote(startDate, endDate, loggedinUser, token, itemNames, itemValues,vm.DateField,PageIndex,PageSize);\r\n\r\n }\r\n\r\n vm.filter = function () {\r\n itemNames = \"\";\r\n itemValues = \"\";\r\n var stateKey = \"\";\r\n var cityKey = \"\";\r\n\r\n if (vm.TypeOfList == \"Invoice\") {\r\n itemNames = \"InvoiceType\";\r\n itemValues = \"Customer\";\r\n stateKey = 'JobState';\r\n cityKey = 'JobCity';\r\n vm.SortField = 'InvoiceDueDate';\r\n }\r\n else if (vm.TypeOfList == \"Ticket\") {\r\n itemNames = \"CustomerInvoiceStatus\";\r\n itemValues = \"ReadyToRaiseInvoice\";\r\n stateKey = 'State';\r\n cityKey = 'City';\r\n vm.SortField = 'ReadyToRaiseDateTimeObj';\r\n }\r\n else if (vm.TypeOfList == \"ApprovedTicket\" || vm.TypeOfList == \"Advice\") {\r\n stateKey = 'State';\r\n cityKey = 'City';\r\n vm.SortField = 'ApprovedDateObj';\r\n }\r\n else {\r\n stateKey = 'State';\r\n cityKey = 'City';\r\n }\r\n if (vm.SearchByStatus != 'All') {\r\n itemNames = 'Status';\r\n itemValues = vm.SearchByStatus;\r\n }\r\n if (vm.SearchByAccountName != '') {\r\n if (itemNames.length > 0 && itemValues.length > 0) {\r\n itemNames = itemNames + ',AccountName';\r\n itemValues = itemValues + ',' + vm.SearchByAccountName;\r\n } else {\r\n itemNames = 'AccountName';\r\n itemValues = vm.SearchByAccountName;\r\n }\r\n }\r\n if (vm.SearchByBusinessUnit != '') {\r\n if (itemNames.length > 0 && itemValues.length > 0) {\r\n itemNames = itemNames + ',BusinessUnit';\r\n itemValues = itemValues + ',' + vm.SearchByBusinessUnit;\r\n } else {\r\n itemNames = 'BusinessUnit';\r\n itemValues = vm.SearchByBusinessUnit;\r\n }\r\n }\r\n if (vm.SearchByInvoiceNo != '') {\r\n if (itemNames.length > 0 && itemValues.length > 0) {\r\n itemNames = itemNames + ',InvoiceNo';\r\n itemValues = itemValues + ',' + vm.SearchByInvoiceNo;\r\n } else {\r\n itemNames = 'InvoiceNo';\r\n itemValues = vm.SearchByInvoiceNo;\r\n }\r\n }\r\n //Account iD\r\n if (vm.SearchByAccountId != '') {\r\n if (itemNames.length > 0 && itemValues.length > 0) {\r\n itemNames = itemNames + ',AccountId';\r\n itemValues = itemValues + ',' + vm.SearchByAccountId;\r\n } else {\r\n itemNames = 'AccountId';\r\n itemValues = vm.SearchByAccountId;\r\n }\r\n }\r\n\r\n if (vm.SearchByCreditNo != '') {\r\n if (itemNames.length > 0 && itemValues.length > 0) {\r\n itemNames = itemNames + ',CreditNoteNumber';\r\n itemValues = itemValues + ',' + vm.SearchByCreditNo;\r\n } else {\r\n itemNames = 'CreditNoteNumber';\r\n itemValues = vm.SearchByCreditNo;\r\n }\r\n }\r\n\r\n if (vm.SearchByUserType != '') {\r\n if (itemNames.length > 0 && itemValues.length > 0) {\r\n itemNames = itemNames + ',UserType';\r\n itemValues = itemValues + ',' + vm.SearchByUserType;\r\n } else {\r\n itemNames = 'UserType';\r\n itemValues = vm.SearchByUserType;\r\n }\r\n }\r\n if (vm.SearchByCustomerName != '') {\r\n if (itemNames.length > 0 && itemValues.length > 0) {\r\n itemNames = itemNames + ',CustomerName';\r\n itemValues = itemValues + ',' + vm.SearchByCustomerName;\r\n } else {\r\n itemNames = 'CustomerName';\r\n itemValues = vm.SearchByCustomerName;\r\n }\r\n }\r\n\r\n if (vm.SearchByTicketId.length > 0) {\r\n if (itemNames.length == 0 && itemValues.length == 0) {\r\n itemNames = 'CorelationValue';\r\n itemValues = vm.SearchByTicketId;\r\n } else {\r\n itemNames = itemNames + ',CorelationValue';\r\n itemValues = itemValues + ',' + vm.SearchByTicketId;\r\n }\r\n\r\n }\r\n if (vm.SearchByPONumber.length > 0) {\r\n if (itemNames.length == 0 && itemValues.length == 0) {\r\n itemNames = 'PONumber';\r\n itemValues = vm.SearchByPONumber;\r\n } else {\r\n itemNames = itemNames + ',PONumber';\r\n itemValues = itemValues + ',' + vm.SearchByPONumber;\r\n }\r\n }\r\n if (vm.SearchByDescription.length > 0) {\r\n if (itemNames.length == 0 && itemValues.length == 0) {\r\n itemNames = 'JobDescription';\r\n itemValues = vm.SearchByDescription;\r\n } else {\r\n itemNames = itemNames + ',JobDescription';\r\n itemValues = itemValues + ',' + vm.SearchByDescription;\r\n }\r\n }\r\n\r\n if (vm.SearchByTechnicianName.length > 0) {\r\n if (itemNames.length == 0 && itemValues.length == 0) {\r\n itemNames = 'UserName';\r\n itemValues = vm.SearchByTechnicianName;\r\n } else {\r\n itemNames = itemNames + ',UserName';\r\n itemValues = itemValues + ',' + vm.SearchByTechnicianName;\r\n }\r\n }\r\n if (vm.SearchByTechnicianId.length > 0) {\r\n if (itemNames.length == 0 && itemValues.length == 0) {\r\n itemNames = 'UserId';\r\n itemValues = vm.SearchByTechnicianId;\r\n } else {\r\n itemNames = itemNames + ',UserId';\r\n itemValues = itemValues + ',' + vm.SearchByTechnicianId;\r\n }\r\n }\r\n if (vm.PermanentState.length > 0) {\r\n if (itemNames.length == 0 && itemValues.length == 0) {\r\n itemNames = stateKey;\r\n itemValues = vm.PermanentState;\r\n } else {\r\n itemNames = itemNames + ',' + stateKey;\r\n itemValues = itemValues + ',' + vm.PermanentState;\r\n }\r\n }\r\n\r\n\r\n if (vm.PermanentCity.length > 0) {\r\n if (itemNames.length == 0 && itemValues.length == 0) {\r\n itemNames = cityKey;\r\n itemValues = vm.PermanentCity;\r\n } else {\r\n itemNames = itemNames + ',' + cityKey;\r\n itemValues = itemValues + ',' + vm.PermanentCity;\r\n }\r\n }\r\n\r\n\r\n // itemNames = itemNames + \",InvoiceType\";\r\n // itemValues = itemValues + \",Customer\";\r\n\r\n }\r\n\r\n vm.TabClickEvent = function (listType) {\r\n\r\n vm.TypeOfList = listType;\r\n if (vm.TypeOfList == \"Ticket\" || vm.TypeOfList == \"ApprovedTicket\") {\r\n vm.filter();\r\n vm.getAllJobTickets(startDate, endDate, loggedinUser, token, itemNames, itemValues, vm.DateField, PageIndex, PageSize, vm.SortField, vm.SortType);\r\n vm.ResetFilter();\r\n }\r\n else if (vm.TypeOfList == \"Invoice\") {\r\n vm.filter();\r\n vm.getCustomerInvoice(startDate, endDate, loggedinUser, token, itemNames, itemValues, vm.DateField, PageIndex, PageSize, vm.SortField, vm.SortType);\r\n vm.ResetFilter();\r\n }\r\n else if (vm.TypeOfList == \"Advice\") {\r\n vm.filter();\r\n vm.GetRemittanceAdvices(startDate, endDate, loggedinUser, token, itemNames, itemValues, vm.DateField, PageIndexAdvice, PageSizeAdvice, vm.SortField, vm.SortType);\r\n // vm.ResetFilter();\r\n }\r\n else {\r\n vm.filter();\r\n vm.getCreditNote(startDate, endDate, loggedinUser, token, itemNames, itemValues, vm.DateField, PageIndex, PageSize);\r\n vm.ResetFilter();\r\n }\r\n }\r\n vm.Allapplyfilter = function () {\r\n if (vm.TypeOfList == \"Ticket\" || vm.TypeOfList == \"ApprovedTicket\") {\r\n vm.filter();\r\n vm.getAllJobTickets(startDate, endDate, loggedinUser, token, itemNames, itemValues, vm.DateField, PageIndex, PageSize, vm.SortField, vm.SortType);\r\n vm.getDashboardDetails(startDate, endDate, loggedinUser, token);\r\n }\r\n else if (vm.TypeOfList == \"Invoice\") {\r\n vm.filter();\r\n vm.getCustomerInvoice(startDate, endDate, loggedinUser, token, itemNames, itemValues, vm.DateField, PageIndex, PageSize, vm.SortField, vm.SortType);\r\n vm.getDashboardDetails(startDate, endDate, loggedinUser, token);\r\n }\r\n \r\n else {\r\n vm.filter();\r\n vm.getCreditNote(startDate, endDate, loggedinUser, token, itemNames, itemValues, vm.DateField, PageIndex, PageSize);\r\n vm.getDashboardDetails(startDate, endDate, loggedinUser, token);\r\n }\r\n\r\n }\r\n\r\n $scope.totalTicketUsers = 0;\r\n $scope.reportsPerPage = vm.reportPageListCount;\r\n $scope.Userpagination = {\r\n current: 1\r\n };\r\n\r\n vm.changeUserPageListCount = function () {\r\n $scope.reportsPerPage = vm.reportPageListCount;\r\n PageSize = $scope.reportsPerPage;\r\n $scope.UserTablePageChanged($scope.Userpagination.current);\r\n PageIndex = $scope.Userpagination.current;\r\n $scope.UserTablePageChanged = function (newPage) {\r\n PageIndex = newPage;\r\n vm.getAllJobTickets(startDate, endDate, loggedinUser, token, itemNames, itemValues, vm.DateField, PageIndex, PageSize, vm.SortField, vm.SortType);\r\n\r\n };\r\n }\r\n\r\n\r\n vm.ConverttoDecimal = function (value) {\r\n return (parseFloat(value).toFixed(2))\r\n }\r\n\r\n vm.dateRangeChange = function (ev, picker) {\r\n vm.IsSearch = true;\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n vm.ticketdates = { startDate: startDate, endDate: endDate };\r\n };\r\n\r\n vm.outsidedateRangeChangeforPO = function () {\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n }\r\n\r\n vm.outsidedateRangeChange = function (ev, picker) {\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n if (vm.TypeOfList == \"Ticket\" || vm.TypeOfList == \"ApprovedTicket\") {\r\n // $scope.UserTablepageChanged = {\r\n // current: 1\r\n // };\r\n vm.filter();\r\n vm.getAllJobTickets(startDate, endDate, loggedinUser, token, itemNames, itemValues, vm.DateField, PageIndex, PageSize, vm.SortField, vm.SortType);\r\n }\r\n\r\n else if (vm.TypeOfList == \"Invoice\") {\r\n\r\n // itemNames = \"InvoiceType\";\r\n // itemValues = \"Customer\";\r\n // $scope.UserTablepageChangedInvoice = {\r\n // currentInvoice: 1\r\n // };\r\n vm.filter();\r\n vm.getCustomerInvoice(startDate, endDate, loggedinUser, token, itemNames, itemValues, vm.DateField, PageIndex, PageSize, vm.SortField, vm.SortType);\r\n }\r\n\r\n else if (vm.TypeOfList == \"Advice\") {\r\n $scope.UserTablepageChangedAdvice = {\r\n current: 1\r\n };\r\n vm.filter();\r\n vm.GetRemittanceAdvices(startDate, endDate, loggedinUser, token, itemNames, itemValues, vm.DateField, PageIndexAdvice, PageSizeAdvice, vm.SortField, vm.SortType);\r\n }\r\n else {\r\n vm.filter();\r\n vm.getCreditNote(startDate, endDate, loggedinUser, token, itemNames, itemValues, vm.DateField, PageIndex, PageSize);\r\n }\r\n\r\n };\r\n\r\n\r\n\r\n\r\n\r\n\r\n vm.getCustomerInvoice = function (startDate, endDate, loggedinUser, token, itemNames, itemValues, DateField, PageIndex, PageSize, SortField, SortType) {\r\n\r\n CustomerInvoiceService.getCustomerInvoice(startDate, endDate, loggedinUser, token, itemNames, itemValues, DateField, PageIndex, PageSize, SortField, SortType).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.customerInvoiceList = resp.data.InvoiceLightModels;\r\n $scope.totalTableUsersInvoice = resp.data.Count;\r\n // angular.forEach(vm.customerInvoiceList, function (data) \r\n // {\r\n // vm.splitTkt = data.TicketId.split(','); \r\n // }\r\n // );\r\n\r\n if (vm.customerInvoiceList.length < vm.invoicePageListCount)\r\n vm.ticketListLengthInvoice = $scope.totalTableUsersInvoice;\r\n else\r\n vm.ticketListLengthInvoice = PageIndexInvoice * vm.invoicePageListCount;\r\n if (PageIndexInvoice == 1)\r\n vm.pageindexCountInvoice = 1;\r\n else\r\n vm.pageindexCountInvoice = (((PageIndexInvoice - 1) * vm.invoicePageListCount) + 1);\r\n\r\n\r\n }\r\n\r\n }, function () {\r\n\r\n });\r\n }\r\n vm.filter();\r\n // vm.getCustomerInvoice(startDate, endDate, loggedinUser, token, itemNames, itemValues,vm.DateField,PageIndex,PageSize);\r\n\r\n\r\n\r\n\r\n\r\n //getAllJobTickets\r\n vm.getAllJobTickets = function (startDate, endDate, loggedinUser, token, itemNames, itemValues, DateField, PageIndex, PageSize, SortField, SortType) {\r\n\r\n CustomerInvoiceService.getAllJobTickets(startDate, endDate, loggedinUser, token, itemNames, itemValues, DateField, PageIndex, PageSize, SortField, SortType).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.jobTickets = resp.data.ListTicketInvoiceModel;\r\n $scope.totalTicketUsers = resp.data.Count;\r\n vm.selectAllNewJob = false;\r\n vm.showMinusNewJob = false;\r\n\r\n if (vm.jobTickets.length < vm.reportPageListCount)\r\n vm.ticketListLength = $scope.totalTicketUsers;\r\n else\r\n vm.ticketListLength = PageIndex * vm.reportPageListCount;\r\n if (PageIndex == 1)\r\n vm.pageindexCount = 1;\r\n else\r\n vm.pageindexCount = (((PageIndex - 1) * vm.reportPageListCount) + 1);\r\n }\r\n\r\n\r\n\r\n }, function () {\r\n\r\n });\r\n }\r\n vm.filter();\r\n vm.getAllJobTickets(startDate, endDate, loggedinUser, token, itemNames, itemValues, vm.DateField, PageIndex, PageSize, vm.SortField, vm.SortType);\r\n\r\n\r\n //getInvoicePreview\r\n\r\n vm.getInvoice = function (InvoiceId) {\r\n data = {\r\n \"ID\": InvoiceId\r\n }\r\n vm.attachment = '';\r\n vm.attachementInit = 0;\r\n vm.pdfTabClass = [];\r\n vm.activeTabClass = 'active-tab';\r\n vm.noactiveTabClass = 'noactive-tab';\r\n CustomerInvoiceService.getInvoice(supervisorId, token, data).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.attachment = resp.data;\r\n vm.BlankInvoiveDoc = resp.data.BlankInvoiveDoc\r\n }\r\n });\r\n }\r\n vm.GetRemittanceDataByInvoiceId = function (isCollapsed,InvoiceId) {\r\n if (vm.InvoiceId == InvoiceId) {\r\n\t\t\t\t$scope.isCollapsed = !isCollapsed;\r\n\t\t\t}\r\n\t\t\t$scope.activeRow = InvoiceId;\r\n\t\t\tvm.InvoiceId = InvoiceId;\r\n if(vm.InvoiceId){\r\n CustomerInvoiceService.GetRemittanceDataByInvoiceId(supervisorId, token, vm.InvoiceId).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.remittanceData = resp.data.invoiceRemittanceAdviceModels;\r\n }\r\n });\r\n }\r\n }\r\n\r\n\r\n vm.getAttachedInvoice = function (InvoiceId, fileName) {\r\n vm.attachment = '';\r\n CustomerInvoiceService.getCustInvoice(supervisorId, token, InvoiceId).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.attachment = resp.data\r\n if (fileName) {\r\n vm.invoiceXLSX = vm.attachment.substr(vm.attachment.indexOf(',') + 1)\r\n vm.fileType = fileName.substr(fileName.indexOf('.') + 1)\r\n if (vm.fileType == 'xlsx' || vm.fileType == 'xls') {\r\n vm.convertBase64ToExcel(vm.invoiceXLSX, vm.fileType);\r\n }\r\n }\r\n\r\n }\r\n });\r\n }\r\n vm.convertBase64ToExcel = function (data12, fileType) {\r\n var data = data12;\r\n if (fileType === 'xlsx') {\r\n var contentType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';\r\n } else if (fileType === 'xls') {\r\n var contentType = 'application/vnd.ms-excel';\r\n }\r\n var blob1 = b64toBlob(data, contentType);\r\n var blobUrl1 = URL.createObjectURL(blob1);\r\n\r\n window.open(blobUrl1);\r\n\r\n }\r\n\r\n function b64toBlob(b64Data, contentType, sliceSize) {\r\n contentType = contentType || '';\r\n sliceSize = sliceSize || 512;\r\n\r\n var byteCharacters = atob(b64Data);\r\n var byteArrays = [];\r\n\r\n for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {\r\n var slice = byteCharacters.slice(offset, offset + sliceSize);\r\n\r\n var byteNumbers = new Array(slice.length);\r\n for (var i = 0; i < slice.length; i++) {\r\n byteNumbers[i] = slice.charCodeAt(i);\r\n }\r\n\r\n var byteArray = new Uint8Array(byteNumbers);\r\n\r\n byteArrays.push(byteArray);\r\n }\r\n\r\n var blob = new Blob(byteArrays, { type: contentType });\r\n return blob;\r\n };\r\n\r\n //getCreditNotePreview\r\n\r\n vm.getCreditN = function (ID) {\r\n data = {\r\n \"ID\": ID\r\n }\r\n vm.attachementInit = 0;\r\n vm.pdfTabClass = [];\r\n vm.activeTabClass = 'active-tab';\r\n vm.noactiveTabClass = 'noactive-tab';\r\n CustomerInvoiceService.getCreditN(supervisorId, token, data).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.attachment = resp.data;\r\n }\r\n });\r\n }\r\n\r\n //getCreditNote\r\n vm.getCreditNote = function (startDate, endDate, loggedinUser, token, itemNames, itemValues, DateField, PageIndex, PageSize) {\r\n\r\n CustomerInvoiceService.getCreditNote(startDate, endDate, loggedinUser, token, itemNames, itemValues, DateField, PageIndex, PageSize).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.creditNote = resp.data.ListCreditNoteModel;\r\n\r\n $scope.totalCreditNotes = resp.data.Count;\r\n\r\n if (vm.creditNote.length < 10)\r\n vm.ticketListLengthCredit = $scope.totalCreditNotes;\r\n else\r\n vm.ticketListLengthCredit = PageIndexCredit * 10;\r\n if (PageIndexCredit == 1)\r\n vm.pageindexCountCredit = 1;\r\n else\r\n vm.pageindexCountCredit = (((PageIndexCredit - 1) * 10) + 1);\r\n }\r\n\r\n }, function () {\r\n\r\n });\r\n }\r\n vm.filter();\r\n // vm.getCreditNote(startDate, endDate, loggedinUser, token, itemNames, itemValues,vm.DateField,PageIndex,PageSize);\r\n\r\n\r\n //state \r\n vm.getCustomerInvoiceState = function () {\r\n\r\n CustomerInvoiceService.getCustomerInvoiceState(loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.customerInvoiceState = resp.data;\r\n\r\n }\r\n\r\n }, function () {\r\n\r\n });\r\n }\r\n vm.getCustomerInvoiceState();\r\n\r\n //Dashboard APi\r\n vm.getDashboardDetails = function () {\r\n Data = {\r\n \"AccountId\": vm.SearchByAccountName,\r\n \"FromDate\": startDate,\r\n \"ToDate\": endDate\r\n }\r\n CustomerInvoiceService.getDashboardDetails(loggedinUser, token, Data).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.dashboardDetails = resp.data;\r\n vm.AllAmount = resp.data.AllAmount;\r\n vm.InvoicePending = resp.data.InvoicePending;\r\n vm.InvoiceSubmitted = resp.data.InvoiceSubmitted;\r\n vm.InvoicePaidByCustomer = resp.data.InvoicePaidByCustomer;\r\n vm.InvoicePaid = resp.data.InvoicePaid;\r\n vm.InvoiceRejected = resp.data.InvoiceRejected;\r\n }\r\n\r\n }, function () {\r\n\r\n });\r\n }\r\n vm.getDashboardDetails(startDate, endDate, loggedinUser, token);\r\n\r\n // vm.GetRemittanceAdvices = function () {\r\n // Data = {\r\n // \"AccountId\": vm.SearchByAccountName,\r\n // \"FromDate\": startDate,\r\n // \"ToDate\": endDate\r\n // }\r\n // CustomerInvoiceService.GetRemittanceAdvices(loggedinUser, token, Data).then(function (resp) {\r\n // if (resp && resp.data) {\r\n // vm.dashboardDetails = resp.data;\r\n \r\n // }\r\n\r\n // }, function () {\r\n\r\n // });\r\n // }\r\n // vm.GetRemittanceAdvices(startDate, endDate, loggedinUser, token);\r\n\r\n //accounts\r\n vm.getCustomerAccounts = function () {\r\n\r\n CustomerInvoiceService.getCustomerAccounts(loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.customerAccounts = resp.data;\r\n }\r\n\r\n }, function () {\r\n\r\n });\r\n }\r\n vm.getCustomerAccounts();\r\n\r\n vm.businessUnitList = [\"WhiteGoods\", \"Telecom\", \"Networking\"];\r\n\r\n\r\n // vm.getCustomerInvoice(\"2020-09-16\",\"2020-09-17\",loggedinUser,token,\"InvoiceType\",\"Customer\",vm.DateField,\"1\",\"10\");\r\n\r\n\r\n vm.searchTable = function () {\r\n\r\n var s = \"\";\r\n s += vm.searchText.length > 0 ? \" \" + vm.searchText : \"\";\r\n // s += (vm.searchStatusText.length > 0 && vm.searchStatusText!='Select invoice status') ? \" \" + vm.searchStatusText : \"\";\r\n // s += (vm.searchJobTypeText.length > 0 && vm.searchJobTypeText!='All User Types') ? \" \" + vm.searchJobTypeText : \"\";\r\n vm.dtInstance.DataTable.search(s).draw();\r\n };\r\n vm.searchDataByStatus = function () {\r\n if (vm.SearchByStatus != \"All\") {\r\n itemNames = \"Status\";\r\n itemValues = vm.SearchByStatus\r\n itemNames = itemNames + \",InvoiceType\";\r\n itemValues = itemValues + \",Customer\";\r\n }\r\n else {\r\n itemNames = \"InvoiceType\";\r\n itemValues = \"Customer\";\r\n }\r\n vm.getCustomerInvoice(startDate, endDate, loggedinUser, token, itemNames, itemValues, vm.DateField, PageIndex, 100, vm.SortField, vm.SortType);\r\n\r\n }\r\n\r\n //consolated page view\r\n $localStorage.InvoiceTicketIdList = \"\";\r\n var ticketIdsToGenInvoice = [];\r\n vm.ConsolidatedView = function () {\r\n angular.forEach(vm.jobTickets, function (tt) {\r\n\r\n if (tt.checked1) {\r\n ticketIdsToGenInvoice.push(tt.TicketId);\r\n }\r\n })\r\n $localStorage.InvoiceTicketIdList = ticketIdsToGenInvoice;\r\n\r\n $state.go('index.InvoiceConsolidated', {\r\n // ticketIdsToGenInvoice: ticketIdsToGenInvoice\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n //Itemized page view\r\n // var ticketIdsToGenItemizedInvoice=\"\";\r\n $localStorage.InvoiceItemizedTicketIdList = \"\";\r\n var ticketIdsToGenItemizedInvoice = [];\r\n vm.ItemizedView = function () {\r\n angular.forEach(vm.jobTickets, function (tt) {\r\n\r\n if (tt.checked1) {\r\n ticketIdsToGenItemizedInvoice.push(tt.TicketId);\r\n }\r\n })\r\n $localStorage.InvoiceItemizedTicketIdList = ticketIdsToGenItemizedInvoice;\r\n\r\n $state.go('index.InvoiceItemized', {\r\n // ticketIdsToGenItemizedInvoice: ticketIdsToGenItemizedInvoice\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n\r\n vm.dtOptions = DTOptionsBuilder.newOptions()\r\n // .withDOM('<\"html5buttons\"B>lTfrgitp')\r\n // .withButtons([{ extend: 'colvis' }])\r\n // .withButtons([{extend:'csv'}])\r\n .withOption('stateSave', true)\r\n .withOption('deferRender', true)\r\n .withOption('stateSaveCallback', function (settings, data) {\r\n localStorage.setItem('JoblistTableProp', JSON.stringify(data))\r\n //localStorage.setItem('DataTables_' + settings.sInstance, JSON.stringify(data))\r\n })\r\n .withOption('stateLoadCallback', function (settings) {\r\n\r\n if (vm.IsSearch == true) {\r\n var state = JSON.parse(localStorage.getItem('JoblistTableProp'));\r\n state.start = 0;\r\n } else {\r\n var state = JSON.parse(localStorage.getItem('JoblistTableProp'));\r\n\r\n }\r\n // if (state && vm.VerticalName == 'Telecom') {\r\n // state.search = { search: \"\", smart: true, regex: false, caseInsensitive: true };\r\n // if (state.columns && state.columns.length > 0) {\r\n // if (state.columns[10])\r\n // state.columns[10].visible = true;\r\n // if (state.columns[9])\r\n // state.columns[9].visible = true;\r\n // if (state.columns[10])\r\n // state.columns[10].visible = true;\r\n // if (state.columns[12])\r\n // state.columns[12].visible = false;\r\n // if (state.columns[13])\r\n // state.columns[13].visible = true;\r\n // if (state.columns[14])\r\n // state.columns[14].visible = false;\r\n // if (state.columns[15])\r\n // state.columns[15].visible = false;\r\n // if (state.columns[16])\r\n // state.columns[16].visible = false;\r\n // if (state.columns[17])\r\n // state.columns[17].visible = false;\r\n // if (state.columns[18])\r\n // state.columns[18].visible = false;\r\n // if (state.columns[19])\r\n // state.columns[19].visible = false;\r\n // if (state.columns[20])\r\n // state.columns[20].visible = false;\r\n // if (state.columns[21])\r\n // state.columns[21].visible = true;\r\n // if (state.columns[22])\r\n // state.columns[22].visible = false;\r\n // if (state.columns[23])\r\n // state.columns[23].visible = false;\r\n // if (state.columns[24])\r\n // state.columns[24].visible = false;\r\n // if (state.columns[25])\r\n // state.columns[25].visible = false;\r\n // if (state.columns[26])\r\n // state.columns[26].visible = false;\r\n // if (state.columns[27])\r\n // state.columns[27].visible = true; \r\n // if (state.columns[28])\r\n // state.columns[28].visible = true; \r\n // if (state.columns[29])\r\n // state.columns[29].visible = false;\r\n // if (state.columns[30])\r\n // state.columns[30].visible = false;\r\n\r\n // }\r\n // }\r\n // else if(state)\r\n // {\r\n // state.search = { search: \"\", smart: true, regex: false, caseInsensitive: true };\r\n // if (state.columns && state.columns.length > 0) {\r\n // if (state.columns[8])\r\n // state.columns[8].visible = false;\r\n // if (state.columns[9])\r\n // state.columns[9].visible = false;\r\n // if (state.columns[11])\r\n // state.columns[11].visible = false;\r\n // if (state.columns[12])\r\n // state.columns[12].visible = false;\r\n // if (state.columns[13])\r\n // state.columns[13].visible = true;\r\n // if (state.columns[14])\r\n // state.columns[14].visible = false;\r\n // if (state.columns[15])\r\n // state.columns[15].visible = false;\r\n // if (state.columns[16])\r\n // state.columns[16].visible = false;\r\n // if (state.columns[17])\r\n // state.columns[17].visible = false;\r\n // if (state.columns[18])\r\n // state.columns[18].visible = true;\r\n // if (state.columns[19])\r\n // state.columns[19].visible = false;\r\n // if (state.columns[20])\r\n // state.columns[20].visible = false;\r\n // if (state.columns[21])\r\n // state.columns[21].visible = true;\r\n // if (state.columns[22])\r\n // state.columns[22].visible = false;\r\n // if (state.columns[23])\r\n // state.columns[23].visible = false;\r\n // if (state.columns[24])\r\n // state.columns[24].visible = false;\r\n // // if (state.columns.length > 24) {\r\n // // state.columns[24].visible = true;\r\n // // }\r\n\r\n // }\r\n\r\n // }\r\n return state;\r\n })\r\n .withPaginationType('full_numbers').withOption('lengthChange', false)\r\n .withOption('paging', false)\r\n .withOption('bInfo', false)\r\n // .withOption('initComplete', function () {\r\n // $('.dataTables_filter input').unbind();\r\n // })\r\n .withOption('order', []);\r\n\r\n vm.dtColumnDefs = [\r\n // DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1),\r\n DTColumnDefBuilder.newColumnDef(2),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(7).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(8).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(9).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(10).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(11).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(12).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(13).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(14).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(15).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(16).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(17).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(18).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(19).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(20).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(21).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(22).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(23).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(24).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(25).notSortable()\r\n ];\r\n\r\n // Copied from main controller\r\n\r\n }\r\n\r\n vm.InvoiceStatus = [\"All\", \"Rejected\", \"Submitted\", \"Created\", \"Paid\", \"Partial Paid\"];\r\n\r\n\r\n\r\n\r\n vm.setDefaultValTocal = function (ticket) {\r\n if (ticket.StartTime) {\r\n ticket.StartTimeObj = moment(ticket.StartTime, \"DD-MM-YYYY\").format('LL');\r\n }\r\n }\r\n\r\n vm.showStartTimeCal = function (ticket) {\r\n if (ticket) {\r\n angular.forEach(vm.ticketList, function (d) {\r\n d.calStartTime = false;\r\n });\r\n ticket.calStartTime = true;\r\n }\r\n }\r\n\r\n // vm.getJobAllStatus = function () {\r\n // CustomerInvoiceService.getJobAllStatus(loggedInUserId, token, function (data) {\r\n // vm.statusList = data;\r\n // vm.statusList.unshift({ \"StatusName\": \"Select invoice status\" });\r\n // if (vm.path == 'NewJobDetailsCopy') {\r\n // // vm.searchJobTypeText = $localStorage.AllJobType;\r\n // vm.searchStatusText = $localStorage.TicketFilterModel.JobStatus;\r\n // }\r\n // }, vm.showFailure);\r\n // }\r\n // vm.getJobAllStatus();\r\n // vm.selectRow = function (i) {\t\r\n // \t\r\n // \tvm.showDots = false;\r\n // \tvm.selectAll = false;\t\r\n // \tif(vm.checked)\t\r\n // \t\tvm.showDots = true;\t\r\n // \telse\r\n // \t\tvm.showDots = false;\t\r\n // }\r\n\r\n // vm.AccountNames = [\"Jeeves Consumer Services\", \"On Site Go\", \"AIRTEL\", \"Champion Security System\",\r\n // \"SISL Infotech Pvt Ltd\", \"Moradabad Logistic\", \"abc 123\",\"moneymaking3585\",\"Our Green Empire\",\"SHARP COMPUTER SALES AND MULTI SERVICES\",\"Teleman\",\"STCS\",\"NI ENTERPRISE\",\"Expert Skill Development Pvt Ltd\",\"360 solution\",\"Secure Source\",\"asassa\",\"Tata Nelco\",\"Cultivate Enterprises\",\"EDUNETWORK PRIVATE LIMITED\",\"HCL UPPCL\",\"VSquare Solutions\",\"comviva\",\"ABR Services\",\"JS Electricals\",\"Flipkart Product\",\"Inno Tech\",\"INVISION\",\"Tikona Infinet Private Limited\",\r\n // \"Innotion\",\"Nocompany\",\"Computer Guys\",\"Microlan\",\"InduAnand Infosolutions\",\"MMF\",\"Dish TV\",\"WHOLESALER @ MORADABAD\",\"video conferencing Provider\",\"Zicom\",\"Hughes Communications India Ltd\",\"mayur infotech\",\"SAV INDIA SERVICES\",\"XYZ\",\"Ooredoo Qatar\",\"A P System\",\"Vianks Technology\"];\r\n\r\n // mail invoice\r\n\r\n vm.ReminderReport = function () {\r\n vm.ReminderModal = $uibModal.open({\r\n templateUrl: 'reminder.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.closeReminderModal = function () {\r\n vm.ReminderModal.close();\r\n }\r\n\r\n vm.ShareReport = function () {\r\n vm.ShareModal = $uibModal.open({\r\n\r\n templateUrl: 'ShareReport.html',\r\n backdrop: 'static',\r\n size: 'md',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.closeShareReportModal = function () {\r\n vm.Emails = \"\";\r\n vm.Subjects = \"\";\r\n vm.ShareModal.close();\r\n }\r\n\r\n vm.SendEmails = function () {\r\n\r\n vm.InvoiceMailDetails = {\r\n \"Request_Code\": 0,\r\n \"TOList\": [\r\n \"rohitgsv9@gmail.com\"\r\n ],\r\n \"CCList\": null,\r\n \"BCCList\": null,\r\n \"Body\": \"test mail \",\r\n \"Subject\": \"hello\",\r\n \"AttachmentList\": [\r\n \"\"\r\n ],\r\n \"InvoiceNo\": [\r\n \"T1140000015417\"\r\n ]\r\n }\r\n CustomerInvoiceService.SendEmails(token, vm.InvoiceMailDetails, loggedinUser).then(function (resp) {\r\n if (resp && resp.data) {\r\n\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Emails has been sent successfully\");\r\n }\r\n else {\r\n vm.showFailure(\"Failure\", \"Unable to send emails due to server issue\");\r\n }\r\n }\r\n })\r\n }\r\n\r\n //send email (report)\r\n // vm.ShareReport = function () { debugger\r\n // vm.shareModel.toList = [];\r\n // vm.shareModel.ccList = [];\r\n // vm.shareModel.bccList = [];\r\n // vm.shareModel.content = \"Hello,\\n\\nYou are requested to view project report on below link \\n\\n\" + $window.location.href + \" \\n\\nThanks\\nMobiforce Team\";\r\n // vm.ShareModal = $uibModal.open({\r\n // templateUrl: 'ShareReport.html',\r\n // backdrop: 'static',\r\n // size: 'md',\r\n // scope: $scope\r\n // });\r\n // }\r\n\r\n // vm.closeShareReportModal = function () {\r\n // vm.ShareModal.close();\r\n // }\r\n\r\n // vm.ReportFilter = function () {\r\n // vm.FilterModal = $uibModal.open({\r\n // templateUrl: 'ReportFilter.html',\r\n // backdrop: 'static',\r\n // size: 'md',\r\n // scope: $scope\r\n // });\r\n // }\r\n\r\n // vm.closeReportFilterModal = function () {\r\n // vm.FilterModal.close();\r\n // }\r\n\r\n // vm.ScheduledReport = function () {\r\n // vm.shareModel.toList = [];\r\n // vm.shareModel.ccList = [];\r\n // vm.shareModel.bccList = [];\r\n // vm.scheduleModel.reportName=\"\";\r\n // vm.scheduleModel.frequency=vm.scheduleModel.once;\r\n // vm.scheduleModel.pull_data.range=vm.scheduleModel.pull_data.day; \r\n // vm.scheduleModel.attachReportInMailBody=true;\r\n // vm.scheduleModel.sampleDateMendtryErr=false;\r\n // vm.scheduleModel.input_of_week=null;\r\n // vm.scheduleModel.sampleDate=new moment();\r\n // vm.scheduleModel.input_for_month.option=vm.scheduleModel.input_for_month.start_of_day; \r\n // vm.shareModel.content = \"Hello,\\n\\nYou are requested to view project report on below link \\n\\n\" + $window.location.href + \" \\n\\nThanks\\nMobiforce Team\";\r\n // vm.ScheduledReportModal = $uibModal.open({\r\n // templateUrl: 'ScheduledReport.html',\r\n // backdrop: 'static',\r\n // windowClass:'schedulerModal',\r\n // scope: $scope\r\n // });\r\n // }\r\n\r\n // vm.closeScheduledReportModal = function () {\r\n // vm.ScheduledReportModal.close();\r\n // }\r\n // // vm.shareModel.getUserSuggestion = function (val) {\r\n // vm.shareModel = function (val) {\r\n\r\n // vm.scheduleModel.toListMendtryErr=false;\r\n\r\n // var re = /^[A-Za-z0-9]+([\\.\\-_]*[A-Za-z0-9]+)*@[A-Za-z0-9]+([\\.\\-_]*[A-Za-z0-9]+)*\\.([A-Za-z]{2}|[A-Za-z]{3})$/;\r\n // if (vm.users.length > 0) {\r\n // return re.test(val)?[{FirstName:val.split(\"@\")[0], LastName:\"\", UserId:val}].concat(vm.users):vm.users;\r\n // }\r\n // vm.getUsers();\r\n // return re.test(val)?[{FirstName:val.split(\"@\")[0], LastName:\"\", UserId:val}]:[];\r\n // }\r\n\r\n // vm.getUsers = function () {\r\n // vm.users = [];\r\n // CustomerInvoiceService.getUsers(loggedinUser, token, vm.createCallback(vm.users, [function (data) {\r\n // }]));\r\n // }\r\n\r\n // vm.shareModel.searchAsOr = function (searchText1) {\r\n // return function (entry) {\r\n // var splittedText = searchText1.split(\";\");\r\n // if (splittedText != null && splittedText.length > 0) {\r\n // var searchText = splittedText[splittedText.length - 1].trim();\r\n // if (entry.FirstName.toLowerCase().indexOf(searchText.toLowerCase()) > -1\r\n // || (entry.LastName !=null && entry.LastName.toLowerCase().indexOf(searchText.toLowerCase()) > -1)\r\n // || entry.UserId.toLowerCase().indexOf(searchText.toLowerCase()) > -1)\r\n // return entry;\r\n // }\r\n // }\r\n // }\r\n\r\n // vm.shareModel.removeSelectedUsers = function (element) {\r\n // var matched = false;\r\n // angular.forEach(vm.shareModel.toList, function (d) {\r\n // if (d.UserId == element.UserId) {\r\n // matched = true;\r\n // return;\r\n // }\r\n // });\r\n // if (!matched) {\r\n // angular.forEach(vm.shareModel.ccList, function (d) {\r\n // if (d.UserId == element.UserId) {\r\n // matched = true;\r\n // return;\r\n // }\r\n // });\r\n // } \r\n // if (!matched) {\r\n // angular.forEach(vm.shareModel.bccList, function (d) {\r\n // if (d.UserId == element.UserId) {\r\n // matched = true;\r\n // return;\r\n // }\r\n // });\r\n // } \r\n // if (!matched) {\r\n // return element;\r\n // }\r\n // }\r\n\r\n // vm.shareModel.cancelledToListUser = function (i) {\r\n // vm.shareModel.toList.splice(i, 1);\r\n // }\r\n\r\n // vm.shareModel.cancelledCCListUser = function (i) {\r\n // vm.shareModel.ccList.splice(i, 1);\r\n // }\r\n\r\n // vm.shareModel.cancelledBCCListUser = function (i) {\r\n // vm.shareModel.bccList.splice(i, 1);\r\n // }\r\n\r\n // vm.shareModel.selectUserNameInToList = function (item) {\r\n // vm.shareModel.toList.push(item);\r\n // vm.shareModel.toUsers = [];\r\n // }\r\n // vm.shareModel.selectUserNameInCCList = function (item) {\r\n // vm.shareModel.ccList.push(item);\r\n // vm.shareModel.ccUsers = [];\r\n // }\r\n // vm.shareModel.selectUserNameInBCCList = function (item) {\r\n // vm.shareModel.bccList.push(item);\r\n // vm.shareModel.bccUsers = [];\r\n // }\r\n\r\n // vm.shareModel.mailReport = function () { debugger\r\n // var toList = [];\r\n // angular.forEach(vm.shareModel.toList, function(user){\r\n // toList.push(user.UserId);\r\n // });\r\n // var ccList = [];\r\n // angular.forEach(vm.shareModel.ccList, function(user){\r\n // ccList.push(user.UserId);\r\n // });\r\n // var bccList = [];\r\n // angular.forEach(vm.shareModel.bccList, function(user){\r\n // bccList.push(user.UserId);\r\n // });\r\n // if(toList.length==0){\r\n // vm.scheduleModel.toListMendtryErr=true;\r\n // return;\r\n // }\r\n // if(vm.shareModel.content.length==0){\r\n // return false;\r\n // }\r\n\r\n // var content = vm.shareModel.content;\r\n // content=content.replace(new RegExp(\"\\n\", 'g'), \"
\");\r\n // vm.closeShareReportModal();\r\n // CustomerInvoiceService.mailReport(token, toList, ccList, bccList, \"Report: \" + vm.getReportName($stateParams.report_name), \r\n // content, vm.getReportName($stateParams.report_name), loggedinUser, vm.filter_key, vm.filter_name, \r\n // vm.attachReportInMailBody, vm.rollup,\r\n // vm.createCallback(null, [function (data) { \r\n // vm.showSuccess(\"Success\", \"Report has been shared successfully\");\r\n // }]));\r\n // }\r\n\r\n\r\n vm.shareModel = {\r\n selectedUsers: [],\r\n toList: [],\r\n ccList: [],\r\n bccList: [],\r\n content: vm.defaultMailBody,\r\n mailbody :'Hello User,\\n\\nPlease find report ' + vm.SharedReportId + ' on ' + formattedDate + '\\n\\nThanks\\nMobiforce Team'\r\n};\r\nvm.showMailShare = false;\r\nvm.ShareMailReport = function (reportId) {\r\n vm.SharedReportId = reportId;\r\n vm.showMailShare = true;\r\n vm.shareModel.toList = [];\r\n vm.shareModel.ccList = [];\r\n vm.shareModel.bccList = [];\r\n vm.shareModel.mailbody = 'Hello User,\\n\\nPlease find report ' + vm.SharedReportId + ' on ' + formattedDate + '\\n\\nThanks\\nMobiforce Team';\r\n vm.shareModel.content = 'Hello User,\\n\\nPlease find report ' + vm.SharedReportId + ' on ' + formattedDate + '\\n\\nThanks\\nMobiforce Team';\r\n}\r\n\r\nvm.shareModel.mailReport = function () {\r\n var toList = [];\r\n angular.forEach(vm.shareModel.toList, function (user) {\r\n toList.push(user.UserId);\r\n });\r\n var ccList = [];\r\n angular.forEach(vm.shareModel.ccList, function (user) {\r\n ccList.push(user.UserId);\r\n });\r\n var bccList = [];\r\n angular.forEach(vm.shareModel.bccList, function (user) {\r\n bccList.push(user.UserId);\r\n });\r\n if (toList.length == 0) {\r\n vm.scheduleModel.toListMendtryErr = true;\r\n return;\r\n }\r\n if (vm.shareModel.content.length == 0) {\r\n return false;\r\n }\r\n\r\n var content = vm.shareModel.content;\r\n content = content.replace(new RegExp(\"\\n\", 'g'), \"
\");\r\n vm.showMailShare = false;\r\n reportDetailService.mailReport(token, toList, ccList, bccList, \"Report: \" + vm.SharedReportId,\r\n content, vm.SharedReportId, loggedinUser, vm.filter_key, vm.filter_name,\r\n vm.attachReportInMailBody, vm.attachReportInExcel, vm.rollup,\r\n vm.createCallback(null, [function (data) {\r\n vm.showSuccess(\"Success\", \"Report has been shared successfully\");\r\n }]));\r\n}\r\n\r\nvm.ShareReport = function (reportId) {\r\n vm.SharedReportId = reportId;\r\n vm.shareModel.toList = [];\r\n vm.shareModel.ccList = [];\r\n vm.shareModel.bccList = [];\r\n vm.GetSharedUsers(reportId);\r\n vm.showShare = true;\r\n vm.shareModel.mailbody = 'Hello User,\\n\\nPlease find report ' + vm.SharedReportId + ' on ' + formattedDate + '\\n\\nThanks\\nMobiforce Team';\r\n vm.shareModel.content = 'Hello User,\\n\\nPlease find report ' + vm.SharedReportId + ' on ' + formattedDate + '\\n\\nThanks\\nMobiforce Team';\r\n // vm.ShareModal = $uibModal.open({\r\n // templateUrl: 'SharewidgetCtrl.html',\r\n // backdrop: 'static',\r\n // size: 'md',\r\n // scope: $scope\r\n // });\r\n }\r\n\r\n vm.closeShareReportModal = function () {\r\n vm.ShareModal.close();\r\n }\r\n \r\nvm.scheduleModel = {\r\n frequency: \"once\",\r\n once: \"once\",\r\n daily: \"daily\",\r\n weekly: \"weekly\",\r\n every_15_days: \"every_15_days\",\r\n monthly: \"monthly\",\r\n cronExpression: \"expression\",\r\n input_for_month: {\r\n option: \"start_of_day\",\r\n start_of_day: \"start_of_day\",\r\n end_of_day: \"end_of_day\",\r\n specific_date: \"specific_date\",\r\n date: 1\r\n },\r\n specific_date_range: [],\r\n start_date: moment(),\r\n end_date: moment().add(1, 'M'),\r\n attachReportInMailBody: true,\r\n attachReportInExcel: true,\r\n scheduleTime: \"\",\r\n scheduleName: \"\",\r\n reportNameAlreadyExists: false,\r\n reportNameMendtryErr: false,\r\n toListMendtryErr: false,\r\n timeMendtryErr: false,\r\n sampleDateMendtryErr: false,\r\n pull_data: {\r\n range: \"last_day\",\r\n day: \"last_day\",\r\n week: \"last_week\",\r\n month: \"last_month\",\r\n quarter: \"last_quarter\",\r\n current_month: \"current_month\",\r\n specific: \"specific\",\r\n specific_day_value: 1,\r\n calculate_range: function () {\r\n var today = new Date();\r\n if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.day) {\r\n var date = today;\r\n return date.getDate() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear();\r\n } if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.week) {\r\n var date = new Date(today.getFullYear(), today.getMonth(), today.getDate() - 7);\r\n return date.getDate() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth() + 1) + \"-\" + today.getFullYear();\r\n } if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.month) {\r\n var date = new Date(today.getFullYear(), today.getMonth() - 1, today.getDate());\r\n return date.getDate() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth() + 1) + \"-\" + today.getFullYear();\r\n } if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.quarter) {\r\n var date = new Date(today.getFullYear(), today.getMonth() - 3, today.getDate());\r\n return date.getDate() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth() + 1) + \"-\" + today.getFullYear();\r\n }\r\n if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.current_month) {\r\n var date = new Date(today.getFullYear(), today.getMonth(), today.getDate());\r\n return 1 + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth() + 1) + \"-\" + today.getFullYear();\r\n }\r\n if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.specific) {\r\n var date = new Date(today.getFullYear(), today.getMonth(), today.getDate() - vm.scheduleModel.pull_data.specific_day_value);\r\n return date.getDate() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth() + 1) + \"-\" + today.getFullYear();\r\n }\r\n }\r\n }\r\n};\r\n\r\nfor (var i = 1; i < 32; i++) {\r\n vm.scheduleModel.specific_date_range.push({ value: i, label: i });\r\n}\r\n\r\nvm.shareModel.getUserSuggestion = function (val) {\r\n vm.scheduleModel.toListMendtryErr = false;\r\n var re = /^[A-Za-z0-9]+([\\.\\-_]*[A-Za-z0-9]+)*@[A-Za-z0-9]+([\\.\\-_]*[A-Za-z0-9]+)*\\.([A-Za-z]{2}|[A-Za-z]{3})$/;\r\n if (vm.users.length > 0) {\r\n return re.test(val) ? [{ FirstName: val.split(\"@\")[0], LastName: \"\", UserId: val }].concat(vm.users) : vm.users;\r\n }\r\n // vm.getUsersLite();\r\n return re.test(val) ? [{ FirstName: val.split(\"@\")[0], LastName: \"\", UserId: val }] : [];\r\n }\r\n\r\n // vm.getUsers = function () {\r\n // vm.users = [];\r\n // reportDetailService.getUsers(loggedinUser, token, vm.createCallback(vm.users, [function (data) {\r\n // }]));\r\n // }\r\n\r\n vm.getUsersLite = function () {\r\n vm.users = [];\r\n reportDetailService.getUsersLite(loggedinUser, token, vm.createCallback(vm.users, [function (data) {\r\n }]));\r\n }\r\n\r\n vm.getUsersLite();\r\n\r\n vm.shareModel.searchAsOr = function (searchText1) {\r\n return function (entry) {\r\n var splittedText = searchText1.split(\";\");\r\n if (splittedText != null && splittedText.length > 0) {\r\n var searchText = splittedText[splittedText.length - 1].trim();\r\n if (entry.FirstName.toLowerCase().indexOf(searchText.toLowerCase()) > -1\r\n || (entry.LastName != null && entry.LastName.toLowerCase().indexOf(searchText.toLowerCase()) > -1)\r\n || entry.UserId.toLowerCase().indexOf(searchText.toLowerCase()) > -1)\r\n return entry;\r\n }\r\n }\r\n }\r\n\r\n vm.shareModel.removeSelectedUsers = function (element) {\r\n var matched = false;\r\n angular.forEach(vm.shareModel.toList, function (d) {\r\n if (d.UserId == element.UserId) {\r\n matched = true;\r\n return;\r\n }\r\n });\r\n if (!matched) {\r\n angular.forEach(vm.shareModel.ccList, function (d) {\r\n if (d.UserId == element.UserId) {\r\n matched = true;\r\n return;\r\n }\r\n });\r\n }\r\n if (!matched) {\r\n angular.forEach(vm.shareModel.bccList, function (d) {\r\n if (d.UserId == element.UserId) {\r\n matched = true;\r\n return;\r\n }\r\n });\r\n }\r\n if (!matched) {\r\n return element;\r\n }\r\n }\r\n\r\n vm.monthNames3 = [\"JAN\", \"FEB\", \"MAR\", \"APR\", \"MAY\", \"JUN\",\r\n \"JUL\", \"AUG\", \"SEP\", \"OCT\", \"NOV\", \"DEC\"\r\n];\r\n\r\nvm.shareModel.cancelledToListUser = function (i) {\r\n vm.shareModel.toList.splice(i, 1);\r\n }\r\n\r\n vm.shareModel.cancelledCCListUser = function (i) {\r\n vm.shareModel.ccList.splice(i, 1);\r\n }\r\n\r\n vm.shareModel.cancelledBCCListUser = function (i) {\r\n vm.shareModel.bccList.splice(i, 1);\r\n }\r\n\r\n vm.shareModel.selectUserNameInToList = function (item) {\r\n vm.shareModel.toList.push(item);\r\n vm.shareModel.toUsers = [];\r\n }\r\n vm.shareModel.selectUserNameInCCList = function (item) {\r\n vm.shareModel.ccList.push(item);\r\n vm.shareModel.ccUsers = [];\r\n }\r\n vm.shareModel.selectUserNameInBCCList = function (item) {\r\n vm.shareModel.bccList.push(item);\r\n vm.shareModel.bccUsers = [];\r\n }\r\nvm.ScheduleReport = function (reportId, reportName) {\r\n vm.SchedulesList = \"\";\r\n vm.showSchedules = true;\r\n vm.scheduleModel.uniqueId = \"\";\r\n vm.reportname = reportName; \r\n vm.shareModel.toList = [];\r\n vm.shareModel.ccList = [];\r\n vm.shareModel.bccList = [];\r\n vm.scheduleModel.reportId = reportId;\r\n vm.reportid = reportId;\r\n vm.scheduleModel.frequency = vm.scheduleModel.once;\r\n vm.scheduleModel.pull_data.range = vm.scheduleModel.pull_data.day;\r\n vm.scheduleModel.attachReportInMailBody = true;\r\n vm.scheduleModel.attachReportInExcel = true;\r\n vm.scheduleModel.sampleDateMendtryErr = false;\r\n vm.scheduleModel.input_of_week = null;\r\n vm.scheduleModel.sampleDate = new moment();\r\n vm.scheduleModel.input_for_month.option = vm.scheduleModel.input_for_month.start_of_day;\r\n vm.shareModel.content = \"Please find below the progress report as on $Date\\n\\nYou are requested to view the detailed report at $Link\";\r\n $timeout(function () {\r\n vm.GetAllSchedules(reportId);\r\n vm.refreshData();\r\n }, 2000);\r\n \r\n // vm.ScheduledReportModal = $uibModal.open({\r\n // templateUrl: 'ScheduledwidgetCtrl.html',\r\n // backdrop: 'static',\r\n // windowClass: 'schedulerModal',\r\n // scope: $scope\r\n // });\r\n}\r\n\r\nvm.closeScheduledReportModal = function () {\r\n vm.ScheduledReportModal.close();\r\n}\r\n\r\n// vm.scheduleModel.scheduleReport = function () {\r\n// var startTime = null;\r\n// var endTime = null;\r\n// var cronExpression = null;\r\n// var daily = null;\r\n// var weekly = null;\r\n// var monthly = null;\r\n// if (vm.scheduleModel.reportId == null || vm.scheduleModel.reportId.length == 0) {\r\n// vm.scheduleModel.reportNameMendtryErr = true;\r\n// return;\r\n// }\r\n// if (vm.shareModel.toList.length == 0) {\r\n// vm.scheduleModel.toListMendtryErr = true;\r\n// return;\r\n// }\r\n// if (vm.scheduleModel.frequency == vm.scheduleModel.once) {\r\n// if (vm.scheduleModel.sampleDate) {\r\n// var sample_Data = vm.scheduleModel.sampleDate ? vm.scheduleModel.sampleDate : new moment();\r\n// startTime = {\r\n// \"date\": sample_Data.format(\"DD\"),\r\n// \"hour\": sample_Data.format(\"HH\"),\r\n// \"min\": sample_Data.format(\"mm\"),\r\n// \"month\": sample_Data.format(\"MMM\").toUpperCase(),\r\n// \"sec\": sample_Data.format(\"ss\"),\r\n// \"year\": sample_Data.format(\"YYYY\")\r\n// };\r\n// var sampleEndTime = moment(sample_Data).add(1, 'month');\r\n// endTime = {\r\n// \"date\": sampleEndTime.format(\"DD\"),\r\n// \"hour\": sampleEndTime.format(\"HH\"),\r\n// \"min\": sampleEndTime.format(\"mm\"),\r\n// \"month\": sampleEndTime.format(\"MMM\").toUpperCase(),\r\n// \"sec\": sampleEndTime.format(\"ss\"),\r\n// \"year\": sampleEndTime.format(\"YYYY\")\r\n// };\r\n// } else {\r\n// vm.scheduleModel.sampleDateMendtryErr = true;\r\n// return;\r\n// }\r\n\r\n// } else {\r\n// var startDate = vm.scheduleModel.start_date ? new Date(vm.scheduleModel.start_date) : new Date();\r\n// var endDate = vm.scheduleModel.end_date ? new Date(vm.scheduleModel.end_date) : new Date();\r\n// startTime = {\r\n// \"date\": startDate.getDate(),\r\n// \"hour\": startDate.getHours(),\r\n// \"min\": startDate.getMinutes(),\r\n// \"month\": vm.monthNames3[startDate.getMonth()],\r\n// \"sec\": startDate.getSeconds(),\r\n// \"year\": startDate.getFullYear()\r\n// };\r\n// endTime = {\r\n// \"date\": endDate.getDate(),\r\n// \"hour\": endDate.getHours(),\r\n// \"min\": endDate.getMinutes(),\r\n// \"month\": vm.monthNames3[endDate.getMonth()],\r\n// \"sec\": endDate.getSeconds(),\r\n// \"year\": endDate.getFullYear()\r\n// };\r\n// var hour, min;\r\n// if (vm.scheduleModel.scheduleTime) {\r\n// var splittedtime = vm.scheduleModel.scheduleTime.split(\":\");\r\n// hour = parseInt(splittedtime[0]);\r\n// min = parseInt(splittedtime[1]);\r\n// } else {\r\n// vm.scheduleModel.timeMendtryErr = true;\r\n// return;\r\n// }\r\n// if (vm.scheduleModel.frequency == vm.scheduleModel.daily) {\r\n// daily = {\r\n// \"hour\": hour,\r\n// \"minute\": min\r\n// };\r\n// } else if (vm.scheduleModel.frequency == vm.scheduleModel.weekly) {\r\n// var dayOfWeek = [];\r\n\r\n// if (vm.scheduleModel.input_of_week.sun) {\r\n// dayOfWeek.push(1);\r\n// }\r\n// if (vm.scheduleModel.input_of_week.mon) {\r\n// dayOfWeek.push(2);\r\n// }\r\n// if (vm.scheduleModel.input_of_week.tue) {\r\n// dayOfWeek.push(3);\r\n// }\r\n// if (vm.scheduleModel.input_of_week.wed) {\r\n// dayOfWeek.push(4);\r\n// }\r\n// if (vm.scheduleModel.input_of_week.thu) {\r\n// dayOfWeek.push(5);\r\n// }\r\n// if (vm.scheduleModel.input_of_week.fri) {\r\n// dayOfWeek.push(6);\r\n// }\r\n// if (vm.scheduleModel.input_of_week.sat) {\r\n// dayOfWeek.push(7);\r\n// }\r\n// weekly = {\r\n// \"dayOfWeek\": dayOfWeek,\r\n// \"hour\": hour,\r\n// \"minute\": min\r\n// };\r\n// } else if (vm.scheduleModel.frequency == vm.scheduleModel.monthly) {\r\n// if (vm.scheduleModel.input_for_month.option == vm.scheduleModel.input_for_month.start_of_day) {\r\n// monthly = {\r\n// \"dayOfMonth\": \"1\",\r\n// \"hour\": hour,\r\n// \"minute\": min\r\n// };\r\n// } if (vm.scheduleModel.input_for_month.option == vm.scheduleModel.input_for_month.end_of_day) {\r\n// cronExpression = \"0 \" + hour + \" \" + min + \" L * ?\";\r\n// vm.scheduleModel.frequency = vm.scheduleModel.cronExpression\r\n// } if (vm.scheduleModel.input_for_month.option == vm.scheduleModel.input_for_month.specific_date) {\r\n// monthly = {\r\n// \"dayOfMonth\": vm.scheduleModel.input_for_month.date,\r\n// \"hour\": hour,\r\n// \"minute\": min\r\n// };\r\n// }\r\n\r\n// }\r\n// }\r\n// // if(vm.scheduleModel.uniqueId){\r\n// // vm.scheduleModel.uniqueId = vm.scheduleModel.uniqueId;\r\n// // }\r\n// // else{\r\n// // vm.scheduleModel.uniqueId = \"\";\r\n// // }\r\n// var data = {\r\n// \"cronExpression\": cronExpression,\r\n// \"cronType\": vm.scheduleModel.frequency,\r\n// \"daily\": daily,\r\n// \"endTime\": endTime,\r\n// \"jobStartTime\": startTime,\r\n// \"method\": \"POST\",\r\n// \"monthly\": monthly,\r\n// \"uniqueId\": vm.scheduleModel.uniqueId,\r\n// \"reportId\": vm.scheduleModel.reportId,\r\n// \"url\": DashboardURL + \"/api/Report/mailexcelreportbyreportid\",\r\n// \"weekly\": weekly,\r\n// \"accountId\": loggedinUser\r\n// };\r\n// var toList = [];\r\n// angular.forEach(vm.shareModel.toList, function (user) {\r\n// toList.push(user.PersonalEmail);\r\n// });\r\n// var ccList = [];\r\n// angular.forEach(vm.shareModel.ccList, function (user) {\r\n// ccList.push(user.PersonalEmail);\r\n// });\r\n// var bccList = [];\r\n// angular.forEach(vm.shareModel.bccList, function (user) {\r\n// bccList.push(user.PersonalEmail);\r\n// });\r\n// if (vm.shareModel.content.length == 0) {\r\n// vm.shareModel.contentMedtryErr = true;\r\n// return;\r\n// }\r\n// // vm.scheduleModel.uniqueId = \"\";\r\n// var content = vm.shareModel.content;\r\n// content = content.replace(new RegExp(\"\\n\", 'g'), \"
\");\r\n// var schedulerModel = {};\r\n// schedulerModel[\"TOList\"] = toList;\r\n// schedulerModel[\"CCList\"] = ccList;\r\n// schedulerModel[\"BCCList\"] = bccList;\r\n// schedulerModel[\"Body\"] = content;\r\n// schedulerModel[\"Subject\"] = \"Report: \" + vm.reportname;\r\n// schedulerModel[\"ReportId\"] = vm.scheduleModel.reportId;\r\n// schedulerModel[\"ReqUserId\"] = loggedinUser;\r\n// schedulerModel[\"FilterKeys\"] = null;\r\n// schedulerModel[\"FilterValues\"] = null;\r\n// schedulerModel[\"ReportInMailBody\"] = vm.scheduleModel.attachReportInMailBody;\r\n// schedulerModel[\"AttachXLSReportInMail\"] = vm.scheduleModel.attachReportInExcel;\r\n// if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.day) {\r\n// schedulerModel[\"RollUps\"] = \"Last Day\";\r\n// } else if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.week) {\r\n// schedulerModel[\"RollUps\"] = \"Last Week\";\r\n// } else if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.month) {\r\n// schedulerModel[\"RollUps\"] = \"Last Month\";\r\n// } else if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.quarter) {\r\n// schedulerModel[\"RollUps\"] = \"Last Quarter\";\r\n// } else if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.current_month) {\r\n// schedulerModel[\"RollUps\"] = \"Current Month\";\r\n// } else if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.specific) {\r\n// var re = /^[1-9]+[0-9]*$/;\r\n// if (!re.test(vm.scheduleModel.pull_data.specific_day_value)) {\r\n// vm.scheduleModel.pull_data.specificDayValMedtryErr = true;\r\n// return;\r\n// }\r\n// schedulerModel[\"RollUps\"] = vm.scheduleModel.pull_data.specific_day_value;\r\n// }\r\n// data[\"model\"] = JSON.stringify(schedulerModel);\r\n// data[\"entity\"] = \"report\";\r\n\r\n// dashboardReportListService.scheduleReport(loggedinUser, data, token,\r\n// vm.createCallback(null, [function (data) {\r\n// if (data.msg == \"Schedule already exists\") {\r\n// vm.showFailure(\"Failed\", \"Schedule with same name already exists.\");\r\n// } else if (data.msg == \"Unexpected params\") {\r\n// vm.showFailure(\"Failed\", \"Unexpected parameters.\");\r\n// } else if (data.msg == \"Failed\") {\r\n// vm.showFailure(\"Server Error\", \"Failed to create schedule.\");\r\n// } else {\r\n// vm.showSuccess(\"Success\", \"Report scheduled successfully.\");\r\n// // vm.closeScheduledReportModal();\r\n// $timeout(function () {\r\n// vm.GetAllSchedules(vm.scheduleModel.reportId);\r\n// vm.refreshData();\r\n// }, 2000);\r\n// }\r\n// }]));\r\n// }\r\n\r\n $scope.attachSiteAudit = function (files) {\r\n\r\n vm.ToolAuditFileName = \"\";\r\n var file = files.files[0];\r\n vm.ToolAuditFileName = file.name;\r\n\r\n vm.ToolAuditFiles = files.files;\r\n var allowedExtensions = /(\\.pdf|\\.doc|\\.docx|\\.xls|\\.xlsx|\\.PDF|\\.DOC|\\.DOCX|\\.XLS|\\.XLSX)$/i;\r\n if (!allowedExtensions.exec(file.name)) {\r\n vm.ToolAuditFiles = [];\r\n vm.clear();\r\n alert('Please upload file having extensions .pdf,.doc,.docs,.xls,.xlsx only.');\r\n }\r\n }\r\n $scope.dynamicPopover = {\r\n content: 'Hello, World!',\r\n templateUrl: 'myPopoverTemplate.html',\r\n title: ''\r\n };\r\n vm.clear = function () {\r\n angular.element(\"input[type='file']\").val(null);\r\n };\r\n\r\n $scope.myTrigger = \"outsideClick\";\r\n\r\n vm.implementSelectItems = function (itemList, scope) {\r\n scope.showDownloadInvoice = false;\r\n scope.selectAllInvoice = false;\r\n scope.showMinusInvoice = false;\r\n scope.showDots = false;\r\n scope.showPaidByCustomer = false;\r\n scope.showSubmitbtn = false;\r\n scope.selectRow = function (i) {\r\n scope.selectAllInvoice = false;\r\n scope.showMinusInvoice = false;\r\n scope.showDots = false;\r\n scope.showDownloadInvoice = false;\r\n scope.showPaidByCustomer = false;\r\n scope.showSubmitbtn = false;\r\n\r\n\r\n for (var i = 0; i < scope.customerInvoiceList.length; i++) {\r\n var tempTickets = scope.customerInvoiceList[i];\r\n if (tempTickets.checked) {\r\n scope.showDownloadInvoice = true;\r\n scope.showSubmitbtn = false;\r\n\r\n\r\n if (tempTickets.Status == \"Submitted\") {\r\n scope.showPaidByCustomer = true;\r\n // scope.showSubmitbtn=false;\r\n // scope.showRejectbtn=true;\r\n // scope.showPaidbtn=true;\r\n\r\n // scope.showDownloadInvoice = true; \r\n }\r\n if (tempTickets.Status == \"Created\") {\r\n scope.showSubmitbtn = true;\r\n }\r\n // if(tempTickets.Status == \"New\"){\r\n scope.showDots = true;\r\n // scope.showDownloadInvoice = true; \r\n // break;\r\n // }\r\n // else {\r\n // scope.showDownloadInvoice = false;\r\n // }\r\n }\r\n\r\n\r\n }\r\n }\r\n scope.applyAllNewInvoiceSelect = function () {\r\n angular.forEach(scope[itemList], function (d) {\r\n d.checked = scope.selectAllInvoice;\r\n scope.showDots = true;\r\n });\r\n }\r\n }\r\n vm.implementSelectItems('customerInvoiceList', this);\r\n\r\n //tickets\r\n vm.implementSelectItemsTickets = function (itemList1, scope1) {\r\n scope1.generateInvoice = false;\r\n scope1.updatePO = false;\r\n scope1.selectAllNewJob = false;\r\n scope1.showMinusNewJob = false;\r\n scope1.selectRow1 = function (i) {\r\n\r\n scope1.generateInvoice = false;\r\n scope1.updatePO = false;\r\n scope1.selectAllNewJob = false;\r\n scope1.showMinusNewJob = false;\r\n\r\n for (var i = 0; i < scope1.jobTickets.length; i++) {\r\n // scope1.showMinusNewJob = true;\r\n var tempTickets = scope1.jobTickets[i];\r\n if (tempTickets.checked1) {\r\n scope1.generateInvoice = true;\r\n scope1.updatePO = true;\r\n }\r\n\r\n\r\n }\r\n }\r\n scope1.applyAllNewJobSelect = function () {\r\n angular.forEach(scope1[itemList1], function (d) {\r\n d.checked1 = scope1.selectAllNewJob;\r\n });\r\n }\r\n }\r\n vm.implementSelectItemsTickets('jobTickets', this);\r\n\r\n //Credit Note\r\n vm.implementSelectItemsCreditnote = function (itemList2, scope2) {\r\n scope2.generateCreditNote = false;\r\n scope2.selectRow2 = function (i) {\r\n\r\n scope2.generateCreditNote = false;\r\n\r\n for (var i = 0; i < scope2.creditNote.length; i++) {\r\n var tempTickets = scope2.creditNote[i];\r\n if (tempTickets.checked2) {\r\n scope2.generateCreditNote = true;\r\n }\r\n\r\n }\r\n }\r\n }\r\n vm.implementSelectItemsCreditnote('creditNote', this);\r\n\r\n\r\n vm.OpenCustomerPaidByCustomerModal = function (invoiceObj2) {\r\n if (invoiceObj2) {\r\n tt = invoiceObj2;\r\n tt.checked = true;\r\n }\r\n\r\n angular.forEach(vm.customerInvoiceList, function (tt) {\r\n\r\n if (tt.checked) {\r\n if (tt.Status == \"Submitted\") {\r\n var paidByCustomerObj = {\r\n \"InvoiceNumber\": tt.InvoiceNumber,\r\n \"TicketId\": tt.TicketId,\r\n \"Description\": tt.Description,\r\n \"CustomerName\": tt.CustomerName,\r\n \"Remark\": tt.Remark,\r\n \"AmountRecieved\": tt.Amount,\r\n \"AmountToShow\": tt.Amount,\r\n }\r\n vm.PaidByCustomerList.push(paidByCustomerObj);\r\n }\r\n else if (tt.Status == \"Partial Paid\") {\r\n var paidByCustomerObj = {\r\n \"InvoiceNumber\": tt.InvoiceNumber,\r\n \"TicketId\": tt.TicketId,\r\n \"Description\": tt.Description,\r\n \"CustomerName\": tt.CustomerName,\r\n \"Remark\": tt.Remark,\r\n \"AmountRecieved\": tt.InvoiceAmountDue,\r\n \"AmountToShow\": tt.InvoiceAmountDue,\r\n }\r\n vm.PaidByCustomerList.push(paidByCustomerObj);\r\n }\r\n }\r\n })\r\n customerPaidByCustomerModalInstance = $uibModal.open({\r\n templateUrl: 'paid_by_customer_model.html',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.disablePaymentRcvBtn = true;\r\n\r\n $scope.inputChanged = function () {\r\n if (vm.AmountRecieved > (vm.PaidByCustomerList[0].AmountToShow) || vm.AmountRecieved < 0 || !vm.AmountRecieved) {\r\n vm.disablePaymentRcvBtn = true;\r\n }\r\n else {\r\n vm.disablePaymentRcvBtn = false;\r\n }\r\n\r\n };\r\n\r\n vm.disableTDSPaymentRcvBtn = true;\r\n\r\n $scope.TDSChanged = function () {\r\n if (vm.TDSAmount < 0) {\r\n vm.disableTDSPaymentRcvBtn = true;\r\n }\r\n else {\r\n vm.disableTDSPaymentRcvBtn = false;\r\n }\r\n };\r\n\r\n\r\n vm.customerPaidByCustomerCloseModal = function () {\r\n customerPaidByCustomerModalInstance.close();\r\n vm.PaidByCustomerList = [];\r\n vm.AmountRecieved = \"\";\r\n vm.TDSAmount = \"\";\r\n vm.disablePaymentRcvBtn = true;\r\n vm.disableTDSPaymentRcvBtn = true;\r\n }\r\n\r\n vm.PaidByCustomerInvoice = function () {\r\n vm.markPaidInvoiceList = [];\r\n for (var i = 0; i < vm.PaidByCustomerList.length; i++) {\r\n var obj = {\r\n \"InvoiceNumber\": vm.PaidByCustomerList[i].InvoiceNumber,\r\n \"Remarks\": vm.PaidByCustomerList[i].Remark,\r\n \"AmountReceived\": vm.AmountRecieved,\r\n \"TDSAmount\": vm.TDSAmount\r\n }\r\n vm.markPaidInvoiceList.push(obj);\r\n }\r\n\r\n CustomerInvoiceService.PaidByCustomerInvoiceAccounts(loggedinUser, token, vm.markPaidInvoiceList).then(function (resp) {\r\n if (resp && resp.data) {\r\n if (resp.status == 206) {\r\n customerPaidByCustomerModalInstance.close();\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n vm.PaidByCustomerList = [];\r\n vm.AmountRecieved = \"\";\r\n vm.TDSAmount = \"\";\r\n }\r\n if (resp.status == 200) {\r\n customerPaidByCustomerModalInstance.close();\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.PaidByCustomerList = [];\r\n vm.AmountRecieved = \"\";\r\n vm.TDSAmount = \"\";\r\n }\r\n\r\n $timeout(function () {\r\n vm.getCustomerInvoice(startDate, endDate, loggedinUser, token, itemNames, itemValues, vm.DateField, PageIndex, PageSize, vm.SortField, vm.SortType);\r\n }, 1000)\r\n\r\n }\r\n }, function () {\r\n\r\n });\r\n }\r\n\r\n vm.getPicUrl = function (pic) {\r\n return ImageUrl + '/' + pic;\r\n }\r\n\r\n vm.reloadData = function () {\r\n var resetPaging = true;\r\n vm.dtInstance.reloadData(resetPaging);\r\n }\r\n function getAllStates() {\r\n var defered = $q.defer();\r\n ReferService.getAllState(loggedinUser, token).then(function (resp) {\r\n defered.resolve(resp);\r\n }, function (error) {\r\n defered.reject(error);\r\n });\r\n return defered.promise;\r\n }\r\n\r\n var allStatePromise = getAllStates();\r\n allStatePromise.then(function (resp) {\r\n vm.StateList = resp.data;\r\n\r\n });\r\n function getallCities(state) {\r\n ReferService.getAllCity(loggedinUser, state, token).then(function (resp) {\r\n vm.CityList = resp.data;\r\n });\r\n }\r\n vm.selectedState = function (state) {\r\n getallCities(state);\r\n }\r\n\r\n\r\n vm.OpenCustomerInvoiceSubmittedModal = function (invoiceObj) {\r\n if (invoiceObj) {\r\n t = invoiceObj;\r\n t.checked = true;\r\n }\r\n\r\n angular.forEach(vm.customerInvoiceList, function (t) {\r\n\r\n if (t.checked) {\r\n if (t.Status == \"Created\") {\r\n\r\n\r\n var CustomerInvoiceSubmittedObj = {\r\n \"InvoiceNumber\": t.InvoiceNumber,\r\n \"TicketId\": t.TicketId,\r\n \"Description\": t.Description,\r\n \"CustomerName\": t.CustomerName,\r\n \"Remark\": t.Remark\r\n\r\n }\r\n vm.customerInvoiceSubmittedList.push(CustomerInvoiceSubmittedObj);\r\n }\r\n }\r\n })\r\n\r\n customerInvoiceSubmittedModalInstance = $uibModal.open({\r\n templateUrl: 'invoice_submitted_model.html',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.CloseModal = function () {\r\n customerInvoiceSubmittedModalInstance.close();\r\n vm.customerInvoiceSubmittedList = [];\r\n }\r\n vm.CustomerInvoiceSubmitted = function () {\r\n vm.customerRejectList = [];\r\n for (var i = 0; i < vm.customerInvoiceSubmittedList.length; i++) {\r\n var obj = {\r\n \"InvoiceNumber\": vm.customerInvoiceSubmittedList[i].InvoiceNumber,\r\n \"Remarks\": vm.customerInvoiceSubmittedList[i].Remark\r\n }\r\n vm.customerRejectList.push(obj);\r\n }\r\n\r\n CustomerInvoiceService.RaiseInvoiceToCustomerAccounts(loggedinUser, token, vm.customerRejectList).then(function (resp) {\r\n if (resp && resp.data) {\r\n if (resp.status == 206) {\r\n customerInvoiceSubmittedModalInstance.close();\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n vm.customerInvoiceSubmittedList = [];\r\n }\r\n if (resp.status == 200) {\r\n customerInvoiceSubmittedModalInstance.close();\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.customerInvoiceSubmittedList = [];\r\n }\r\n\r\n $timeout(function () {\r\n vm.getCustomerInvoice(startDate, endDate, loggedinUser, token, itemNames, itemValues, vm.DateField, PageIndex, PageSize, vm.SortField, vm.SortType);\r\n }, 2000)\r\n\r\n }\r\n }, function () {\r\n\r\n });\r\n }\r\n\r\n\r\n vm.OpenBulkUploadModel = function () {\r\n vm.OpenBulkModal = $uibModal.open({\r\n templateUrl: 'ReadyToRaiseModal.html',\r\n backdrop: 'static',\r\n size: 'md',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.closeBulkUploadModal = function () {\r\n vm.showPassed = false;\r\n vm.showErrors = false;\r\n vm.RemittanceInvoiceList = [];\r\n vm.errorList = [];\r\n vm.OpenBulkModal.close();\r\n }\r\n\r\n\r\n\r\n // blank invoice\r\n vm.BlankInvoice = function () {\r\n vm.ShareModal = $uibModal.open({\r\n templateUrl: 'BlankInvoice.html',\r\n backdrop: 'static',\r\n size: 'md',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.closeBlankInvoiceModal = function () {\r\n vm.showPassed = false;\r\n vm.showErrors = false;\r\n vm.InvoiceList = [];\r\n vm.followFiles = [];\r\n vm.BlankInvoiceRemark = \"\";\r\n vm.errorList = [];\r\n vm.AccountId = \"\";\r\n vm.PONumber = \"\";\r\n vm.disableUploadButton = false;\r\n vm.ShareModal.close();\r\n }\r\n\r\n if (vm.bulkuploadType == 'cms') {\r\n vm.dzOptions = {\r\n paramName: 'photo',\r\n maxFilesize: '100',\r\n url: '/',\r\n acceptedFiles: '.zip',\r\n dictDefaultMessage: 'Click to add or drop files',\r\n dictRemoveFile: 'Remove'\r\n };\r\n } else {\r\n vm.dzOptions = {\r\n paramName: 'photo',\r\n maxFilesize: '100',\r\n url: '/',\r\n acceptedFiles: '.xlsx, .xls',\r\n dictDefaultMessage: 'Click to add or drop files',\r\n dictRemoveFile: 'Remove'\r\n };\r\n }\r\n\r\n\r\n // vm.dtColumnDefs = [\r\n // DTColumnDefBuilder.newColumnDef(0).notSortable()\r\n // ];\r\n\r\n vm.loaderFlag = false;\r\n vm.hideLoader = function () {\r\n if (vm.loaderFlag) {\r\n $rootScope.$broadcast(\"loader_hide\");\r\n $timeout(function () { vm.loaderFlag = false; }, 1000);\r\n $timeout(vm.hideLoader, 1);\r\n }\r\n }\r\n\r\n vm.scrollDwn = function () {\r\n $(\"html, body\").animate({ scrollTop: $(document).height() - $(window).height() }, 900);\r\n }\r\n vm.dzCallbacks = {\r\n 'addedfile': function (file) {\r\n vm.showErrors = false;\r\n vm.errorList = [];\r\n // vm.disableUploadButton = true;\r\n vm.InvoiceList = [];\r\n\r\n $(\"#dropzone1 .dz-progress .dz-upload\").hide();\r\n $(\".bulkupload-progress\").width(0);\r\n $(\".ajax-loader\").hide();\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n vm.showPassed = false;\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noOfRecords = 0;\r\n\r\n var dropzoneChildren = $(\"#dropzone1\").children();\r\n $(\"#dropzone1\").empty();\r\n $(\"#dropzone1\").append(dropzoneChildren[0]);\r\n $(\"#dropzone1\").append(dropzoneChildren[dropzoneChildren.length - 1]);\r\n\r\n vm.loaderFlag = true;\r\n vm.hideLoader();\r\n vm.tickedfile = file;\r\n // vm.MediaUploadReqModel = {\r\n // \"action\": 'Create',\r\n // \"UploadedFileName\": vm.fileName,\r\n // \"FileDescription\": vm.fileDescription\r\n // }\r\n var fd = new FormData();\r\n fd.append('file', file);\r\n // fd.append('MediaUploadReqModel', JSON.stringify(vm.MediaUploadReqModel))\r\n $http.post(ApiURL + '/api/BulkUpload/MediaUpload?reqUserId=' + loggedinUser + '&action=Create', fd, {\r\n transformRequest: angular.identity,\r\n headers: { 'Content-Type': undefined, 'Token': token, 'UserId': loggedinUser },\r\n timeout: vm.canceler.promise\r\n })\r\n .success(function (data) {\r\n $(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n if (vm.bulkuploadType == 'Invoice') {\r\n vm.InvoiceList = data.BulkInvoiceModel;\r\n vm.noOfRecords = data.BulkInvoiceModel ? data.BulkInvoiceModel.length : 0;\r\n }\r\n $(\"#dropzone1>div:last-child\").removeClass(\"dz-error\").addClass(\"dz-success\");\r\n if (data.Errors.length > 0) {\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable()\r\n ];\r\n angular.forEach(data.Errors, function (v, k) {\r\n\r\n if (v.ItemErrors.length > 0) {\r\n var e1 = {};\r\n angular.forEach(v.ItemErrors, function (v1, k1) {\r\n e1.message = e1.message != undefined && e1.message != \"undefined\" && e1.message.length > 0 ? e1.message + \",\" + v1.Message : v1.Message;\r\n });\r\n if (v.Row > 0 && data.BulkInvoiceModel && data.BulkInvoiceModel.length > 0 && data.BulkInvoiceModel.length >= v.Row) {\r\n e1.data = data.BulkInvoiceModel[v.Row - 1];\r\n }\r\n vm.errorList.push(e1);\r\n }\r\n });\r\n\r\n vm.showPassed = true;\r\n // vm.disableUploadButton = true;\r\n vm.successTitle = \"Invalid records!\";\r\n vm.successMsg = \"There are \" + vm.errorList.length + \" errors. To see them click here\";\r\n vm.noMsg = [];\r\n vm.showErrors = true;\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n } else if (data.ErrorCode == 103) {\r\n vm.showPassed = true;\r\n // vm.disableUploadButton = true;\r\n vm.successTitle = \"Missing columns in excel file\";\r\n vm.successMsg = \"Following columns are missing in excel file. Please add them and re-upload file\";\r\n vm.noMsg = [];\r\n angular.forEach(data.MissingColumns, function (k, v) {\r\n vm.noMsg.push(k);\r\n });\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n } else if (data.Message && data.Message.length > 0) {\r\n\r\n vm.showPassed = true;\r\n // vm.disableUploadButton = true;\r\n vm.successTitle = \"Validation failed\";\r\n vm.successMsg = data.Message\r\n vm.noMsg = [];\r\n angular.forEach(data.MissingColumns, function (k, v) {\r\n vm.noMsg.push(k);\r\n });\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\r\n } else {\r\n vm.showPassed = true;\r\n vm.disableUploadButton = false;\r\n vm.successTitle = \"File Validated\";\r\n vm.successMsg = vm.bulkuploadType.charAt(0).toUpperCase() + vm.bulkuploadType.slice(1) + (vm.noOfRecords > 1 ? \"s\" : \"\") + \" are validated successfully. Total \" + vm.noOfRecords + \" \" + vm.bulkuploadType + (vm.noOfRecords > 1 ? \"s\" : \"\") + \" found.\";\r\n $timeout(function () {\r\n vm.CloseModal();\r\n }, 2000);\r\n\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n }\r\n $(\"table th:first-child\").removeClass(\"sorting_asc\");\r\n vm.progressbar.complete();\r\n })\r\n .error(function (errorMessage) {\r\n $(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n vm.progressbar.complete();\r\n vm.successTitle = \"Validation of records failed\";\r\n vm.successMsg = \"Error in data validation, please correct the data and re-upload file\";\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n });\r\n\r\n },\r\n 'success': function (file, xhr) {\r\n },\r\n 'error': function (file, errorMessage) {\r\n }\r\n };\r\n\r\n vm.addFiles = function () {\r\n $(\"#dropzone1\").trigger(\"click\");\r\n }\r\n\r\n vm.UpdateBlankInvoice = function () {\r\n vm.campaign_form.submitted = true;\r\n var data = {};\r\n data = {\r\n \"AccountId\": vm.AccountId,\r\n \"BlankInvoiceRemark\": vm.BlankInvoiceRemark,\r\n \"BulkInvoiceModel\": vm.InvoiceList,\r\n \"PONumber\": vm.PONumber\r\n }\r\n if (vm.campaign_form.$valid) {\r\n vm.disableUploadButton = true;\r\n CustomerInvoiceService.GetBlankInvoice(data, vm.followFiles, token, loggedinUser).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.blankInvoiceDetails = resp.data;\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.closeBlankInvoiceModal();\r\n $timeout(function () {\r\n vm.getCustomerInvoice(startDate, endDate, loggedinUser, token, itemNames, itemValues, vm.DateField, PageIndex, PageSize, vm.SortField, vm.SortType);\r\n }, 500)\r\n }\r\n else {\r\n vm.disableUploadButton = false;\r\n vm.showFailure(\"Failure\", \"Please fill all the details\");\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n vm.CustomerInvoice = function (invoiceNo) {\r\n vm.InvoiceNumber = invoiceNo;\r\n vm.InvoiceModal = $uibModal.open({\r\n templateUrl: 'CustomerInvoice.html',\r\n backdrop: 'static',\r\n size: 'md',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.closeCustInvoiceModal = function () {\r\n vm.InvoiceModal.close();\r\n }\r\n\r\n vm.UpdateCustInvoice = function () {\r\n var data = {};\r\n data = {\r\n \"InvoiceNo\": vm.InvoiceNumber\r\n }\r\n vm.dissblesubmitButton = true;\r\n CustomerInvoiceService.CustomerInvoiceAttachment(data, vm.customerFiles, token, loggedinUser).then(function (resp) {\r\n vm.dissblesubmitButton = false;\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.closeCustInvoiceModal();\r\n $timeout(function () {\r\n vm.getCustomerInvoice(startDate, endDate, loggedinUser, token, itemNames, itemValues, vm.DateField, PageIndex, PageSize, vm.SortField, vm.SortType);\r\n }, 2000)\r\n }\r\n else {\r\n vm.showFailure(\"Failure\", resp.data);\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n $scope.attachmentForCustInvoice = function (files) {\r\n var file = files.files[0];\r\n vm.customerFiles = files.files;\r\n var allowedExtensions = /(\\.jpg|\\.jpeg|\\.png|\\.pdf|\\.xls|\\.xlsx|\\.XLS|\\.XLSX)$/i;\r\n if (!allowedExtensions.exec(file.name)) {\r\n vm.customerFiles = [];\r\n vm.clear();\r\n alert('Please upload file having extensions .jpg,.jpeg,.png,.pdf only.');\r\n }\r\n }\r\n\r\n // vm.GetBlankInvoice = function () { \r\n // CustomerInvoiceService.GetBlankInvoice(Data,loggedinUser, token).then(function (resp) {\r\n // if (resp && resp.data) {\r\n // vm.blankInvoiceDetails = resp.data;\r\n // if (resp.status == 200) { \r\n // vm.showSuccess(\"Success\", resp.data);\r\n // vm.closeBlankInvoiceModal();\r\n // }\r\n // else{\r\n // vm.showFailure(\"Failure\", resp.data);\r\n // } \r\n // }\r\n // });\r\n // }\r\n\r\n vm.sortColumn = function (col) {\r\n vm.SortField = col;\r\n if (vm.SortType == 'desc') {\r\n vm.SortType = 'asc';\r\n vm.reverseclass = 'fa fa-arrow-up';\r\n } else {\r\n vm.SortType = 'desc';\r\n vm.reverseclass = 'fa fa-arrow-down';\r\n }\r\n vm.filter();\r\n vm.getAllJobTickets(startDate, endDate, loggedinUser, token, itemNames, itemValues, vm.DateField, PageIndex, PageSize, vm.SortField, vm.SortType);\r\n vm.getCustomerInvoice(startDate, endDate, loggedinUser, token, itemNames, itemValues, vm.DateField, PageIndex, PageSize, vm.SortField, vm.SortType);\r\n };\r\n\r\n vm.sortClass = function (col) {\r\n if (vm.SortField == col) {\r\n if (vm.SortType == 'desc') {\r\n return 'fa fa-arrow-down';\r\n } else {\r\n return 'fa fa-arrow-up';\r\n }\r\n }\r\n else {\r\n return '';\r\n }\r\n }\r\n\r\n $scope.attachmentForBlankInvoice = function (files) {\r\n var file = files.files[0];\r\n vm.followFiles = files.files;\r\n var allowedExtensions = /(\\.jpg|\\.jpeg|\\.png|\\.pdf)$/i;\r\n if (!allowedExtensions.exec(file.name)) {\r\n vm.followFiles = [];\r\n vm.clear();\r\n alert('Please upload file having extensions .jpg,.jpeg,.png,.pdf only.');\r\n }\r\n }\r\n\r\n vm.OpenFreelancerRejectInvoiceModal = function (invoiceObj1) {\r\n if (invoiceObj1) {\r\n t = invoiceObj1;\r\n t.checked = true;\r\n }\r\n\r\n angular.forEach(vm.customerInvoiceList, function (tt) {\r\n\r\n if (tt.checked) {\r\n if (tt.Status == \"Submitted\") {\r\n\r\n var freelancerRejectInvoiceObj = {\r\n \"InvoiceNumber\": tt.InvoiceNumber,\r\n \"TicketId\": tt.TicketId,\r\n \"Description\": tt.Description,\r\n \"FreelancerPrice\": tt.FreelancerPrice,\r\n \"Remark\": tt.Remark\r\n }\r\n vm.freelancerRejectInvoiceList.push(freelancerRejectInvoiceObj);\r\n }\r\n }\r\n })\r\n freelancerRejectInvoiceModalInstance = $uibModal.open({\r\n templateUrl: 'freelancer_reject_invoice_model.html',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.freelancerRejectInvoiceCloseModal = function () {\r\n freelancerRejectInvoiceModalInstance.close();\r\n vm.freelancerRejectInvoiceList = [];\r\n }\r\n\r\n\r\n vm.FreelancerRejectedInvoice = function () {\r\n vm.freelancerRejectList = [];\r\n for (var i = 0; i < vm.freelancerRejectInvoiceList.length; i++) {\r\n var obj = {\r\n \"InvoiceNumber\": vm.freelancerRejectInvoiceList[i].InvoiceNumber,\r\n \"Remarks\": vm.freelancerRejectInvoiceList[i].Remark\r\n }\r\n vm.freelancerRejectList.push(obj);\r\n }\r\n\r\n CustomerInvoiceService.RejectInvoiceByCustomer(loggedinUser, token, vm.freelancerRejectList).then(function (resp) {\r\n if (resp && resp.data) {\r\n if (resp.status == 206) {\r\n freelancerRejectInvoiceModalInstance.close();\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n vm.freelancerRejectInvoiceList = [];\r\n }\r\n if (resp.status == 200) {\r\n freelancerRejectInvoiceModalInstance.close();\r\n vm.showSuccess(\"Success\", resp.data.Message);\r\n vm.freelancerRejectInvoiceList = [];\r\n }\r\n\r\n $timeout(function () {\r\n vm.getCustomerInvoice(startDate, endDate, loggedinUser, token, itemNames, itemValues, vm.DateField, PageIndex, PageSize, vm.SortField, vm.SortType);\r\n }, 1000)\r\n\r\n }\r\n }, function () {\r\n\r\n });\r\n }\r\n\r\n\r\n //clone string\r\n\r\n vm.CloneRejectedInvoice = function (customerInvoice) {\r\n\r\n var CloneDuplicateInvoice = [];\r\n CloneDuplicateInvoice.push(customerInvoice.InvoiceNumber);\r\n var cloneIds = \"'\" + CloneDuplicateInvoice + \"'\";\r\n CustomerInvoiceService.CloneRejectedInvoice(loggedinUser, token, cloneIds).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.NewCloneInvoice = resp.data;\r\n if (resp.status == 206) {\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n }\r\n\r\n $timeout(function () {\r\n vm.getCustomerInvoice(startDate, endDate, loggedinUser, token, itemNames, itemValues, vm.DateField, PageIndex, PageSize, vm.SortField, vm.SortType);\r\n }, 1000)\r\n\r\n }\r\n\r\n }, function () {\r\n vm.CloneRejectedInvoice(cloneIds);\r\n\r\n });\r\n }\r\n\r\n function CheckRegExOnKeyPress(e) {\r\n\r\n var regex = new RegExp(\"^[a-zA-Z0-9\\\\s\\\\.\\\\,\\\\-\\\\/]+$\");\r\n var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);\r\n if (regex.test(str)) {\r\n return true;\r\n }\r\n e.preventDefault();\r\n return false;\r\n };\r\n\r\n vm.DownloadInvoice = function () {\r\n\r\n vm.invoiceNumberList = \"\";\r\n angular.forEach(vm.customerInvoiceList, function (cList) {\r\n\r\n if (cList.checked) {\r\n if (vm.invoiceNumberList == \"\")\r\n vm.invoiceNumberList = cList.InvoiceNumber;\r\n else\r\n vm.invoiceNumberList = vm.invoiceNumberList + \",\" + cList.InvoiceNumber;\r\n }\r\n })\r\n if (vm.invoiceNumberList != \"\")\r\n CustomerInvoiceService.DownloadInvoice(vm.invoiceNumberList);\r\n }\r\n\r\n //Download Credit Note\r\n vm.DownloadCredit = function () {\r\n\r\n vm.creditNoteNoList = \"\";\r\n angular.forEach(vm.creditNote, function (cList) {\r\n\r\n if (cList.checked2) {\r\n if (vm.creditNoteNoList == \"\")\r\n vm.creditNoteNoList = cList.CreditNoteNumber;\r\n else\r\n vm.creditNoteNoList = vm.creditNoteNoList + \",\" + cList.CreditNoteNumber;\r\n }\r\n })\r\n if (vm.creditNoteNoList != \"\")\r\n CustomerInvoiceService.DownloadCredit(vm.creditNoteNoList);\r\n }\r\n\r\n vm.ReadyToRaiseInvoiceModelOpen = function () {\r\n\r\n var ticketIdList = [];\r\n vm.IsLoadSucessfull = false;\r\n for (var j = 0; j < vm.jobTickets.length; j++) {\r\n if (vm.jobTickets[j].checked1) {\r\n ticketIdList.push(vm.jobTickets[j].TicketId);\r\n }\r\n }\r\n vm.GetTicketDataToRaiseInvoice(ticketIdList);\r\n readyToRaiseInvoiceModalInstance = $uibModal.open({\r\n templateUrl: 'ready_to_raise_invoice_model.html',\r\n scope: $scope,\r\n windowClass: 'app-modal-window-md-class',\r\n });\r\n\r\n }\r\n vm.ReadyToRaiseInvoiceCloseModal = function () {\r\n vm.TicketPONumber = [];\r\n readyToRaiseInvoiceModalInstance.close();\r\n }\r\n\r\n vm.expandAll = function (expanded) {\r\n $scope.$broadcast('onExpandAll', {\r\n expanded: expanded\r\n });\r\n }\r\n\r\n vm.GetTicketDataToRaiseInvoice = function (ticketIdList) {\r\n vm.TicketDataToRaiseInvoiceList = [];\r\n CustomerInvoiceService.GetTicketDataToRaiseInvoice(loggedinUser, ticketIdList, token).then(function (resp) {\r\n if (resp.status == 200 && resp.data) {\r\n vm.IsLoadSucessfull = true;\r\n vm.TicketDataToRaiseInvoiceList = resp.data;\r\n }\r\n else {\r\n vm.IsLoadSucessfull = true;\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }\r\n })\r\n }\r\n\r\n // vm.LineItemCategory=\"\";\r\n vm.collectionAmount = false;\r\n vm.disabledCollection = function () {\r\n for (var i = 0; i < vm.TicketDataToRaiseInvoiceList.length; i++) {\r\n for (j = 0; j < vm.TicketDataToRaiseInvoiceList[i].LineItemList.length; j++) {\r\n if (vm.TicketDataToRaiseInvoiceList[i].LineItemList[j].LineItemCategory == 'Collection') {\r\n vm.TicketDataToRaiseInvoiceList[i].LineItemList[j].collectionAmount = true;\r\n\r\n }\r\n }\r\n }\r\n }\r\n\r\n //calendar PO update\r\n\r\n var d = new Date();\r\n d.setDate(d.getDate() + 1);\r\n // new Date(moment.utc(d).format('l LT'))\r\n // var n = d.toDateString();\r\n // console.log(n);\r\n // document.getElementById(\"demo\").innerHTML = n;\r\n // var year=d.getFullYear();\r\n // var month=d.getMonth();\r\n\r\n // if (month<10){\r\n // month=\"0\" + month;\r\n // }\r\n // var day=d.getDate();\r\n // $scope.date=year + \"-\" + month + \"-\" + day ;\r\n\r\n\r\n vm.TicketPONumber = [];\r\n vm.ChangePONumber = function () {\r\n for (var i = 0; i < vm.TicketDataToRaiseInvoiceList.length; i++) {\r\n var TicketPONumber = vm.TicketPONumber[i];\r\n for (var j = 0; j < vm.TicketDataToRaiseInvoiceList[i].LineItemList.length; j++) {\r\n vm.TicketDataToRaiseInvoiceList[i].LineItemList[j].PONumber = TicketPONumber;\r\n if (vm.TicketDataToRaiseInvoiceList[i].LineItemList[j].LineItemCategory == 'Collection') {\r\n vm.TicketDataToRaiseInvoiceList[i].LineItemList[j].PONumber = ' ';\r\n\r\n }\r\n }\r\n }\r\n }\r\n vm.ReadyToRaiseInvoiceSave = function () {\r\n\r\n var ticketwithLineitemList = vm.TicketDataToRaiseInvoiceList;\r\n readyToRaiseInvoiceModalInstance.close();\r\n CustomerInvoiceService.MarkTicketsReadyToRaiseInvoice(loggedinUser, ticketwithLineitemList, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"PO Number is updated\");\r\n }\r\n else {\r\n vm.showFailure(\"Failure\", resp.data.Message);\r\n }\r\n\r\n vm.TicketDataToRaiseInvoiceList = [];\r\n vm.ReadyToRaiseInvoiceCloseModal();\r\n $timeout(function () {\r\n vm.getAllJobTickets(startDate, endDate, loggedinUser, token, itemNames, itemValues, vm.DateField, PageIndex, PageSize, vm.SortField, vm.SortType);\r\n }, 1000);\r\n }\r\n })\r\n }\r\n\r\n vm.ReGenerateIRN = function (invoiceId) {\r\n CustomerInvoiceService.ReGenerateIRN(invoiceId, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200 && resp.data) {\r\n vm.showSuccess(\"Success\", resp.data.Message);\r\n $timeout(function () {\r\n vm.getAllJobTickets(startDate, endDate, loggedinUser, token, itemNames, itemValues, vm.DateField, PageIndex, PageSize, vm.SortField, vm.SortType);\r\n }, 2000);\r\n }\r\n else {\r\n vm.IsLoadSucessfull = true;\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }\r\n })\r\n }\r\n\r\n \r\n vm.CreateRemmittanceAdvices = function () {\r\n var data = vm.RemittanceInvoiceList;\r\n CustomerInvoiceService.CreateRemmittanceAdvices(data, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.RemittanceInvoiceDetails = resp.data;\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.closeBulkUploadModal();\r\n }\r\n else {\r\n vm.showFailure(\"Failure\", \"Please fill all the details\");\r\n }\r\n }\r\n });\r\n }\r\n \r\n vm.dzCallbacks1 = {\r\n 'addedfile': function (file) {\r\n vm.showErrors = false;\r\n vm.errorList = [];\r\n vm.disableUploadButton = true;\r\n vm.RemittanceInvoiceList = [];\r\n\r\n $(\"#dropzone .dz-progress .dz-upload\").hide();\r\n $(\".bulkupload-progress\").width(0);\r\n $(\".ajax-loader\").hide();\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n vm.showPassed = false;\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noOfRecords = 0;\r\n\r\n var dropzoneChildren = $(\"#dropzone\").children();\r\n $(\"#dropzone\").empty();\r\n $(\"#dropzone\").append(dropzoneChildren[0]);\r\n $(\"#dropzone\").append(dropzoneChildren[dropzoneChildren.length - 1]);\r\n\r\n vm.loaderFlag = true;\r\n vm.hideLoader();\r\n vm.tickedfile = file;\r\n var fd = new FormData();\r\n fd.append('file', file);\r\n $http.post(ApiURL + '/api/BulkUpload/MediaUpload?reqUserId=' + loggedinUser + '&action=Create', fd, {\r\n transformRequest: angular.identity,\r\n headers: { 'Content-Type': undefined, 'Token': token, 'UserId': loggedinUser },\r\n timeout: vm.canceler.promise\r\n })\r\n .success(function (data) {\r\n $(\"#dropzone .dz-error\").removeClass(\"dz-error\");\r\n if (vm.bulkuploadType == 'Invoice') {\r\n vm.RemittanceInvoiceList = data.BulkInvoiceRemittanceAdviceModel;\r\n vm.noOfRecords = data.BulkInvoiceRemittanceAdviceModel ? data.BulkInvoiceRemittanceAdviceModel.length : 0;\r\n }\r\n $(\"#dropzone>div:last-child\").removeClass(\"dz-error\").addClass(\"dz-success\");\r\n if (data.Errors.length > 0) {\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable()\r\n ];\r\n angular.forEach(data.Errors, function (v, k) {\r\n\r\n if (v.ItemErrors.length > 0) {\r\n var e1 = {};\r\n angular.forEach(v.ItemErrors, function (v1, k1) {\r\n e1.message = e1.message != undefined && e1.message != \"undefined\" && e1.message.length > 0 ? e1.message + \",\" + v1.Message : v1.Message;\r\n });\r\n if (v.Row > 0 && data.BulkInvoiceRemittanceAdviceModel && data.BulkInvoiceRemittanceAdviceModel.length > 0 && data.BulkInvoiceRemittanceAdviceModel.length >= v.Row) {\r\n e1.data = data.BulkInvoiceRemittanceAdviceModel[v.Row - 1];\r\n }\r\n vm.errorList.push(e1);\r\n }\r\n });\r\n\r\n vm.showPassed = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Invalid records!\";\r\n vm.successMsg = \"There are \" + vm.errorList.length + \" errors. To see them click here\";\r\n vm.noMsg = [];\r\n vm.showErrors = true;\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n } else if (data.ErrorCode == 103) {\r\n vm.showPassed = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Missing columns in excel file\";\r\n vm.successMsg = \"Following columns are missing in excel file. Please add them and re-upload file\";\r\n vm.noMsg = [];\r\n angular.forEach(data.MissingColumns, function (k, v) {\r\n vm.noMsg.push(k);\r\n });\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n } else if (data.Message && data.Message.length > 0) {\r\n\r\n vm.showPassed = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Validation failed\";\r\n vm.successMsg = data.Message\r\n vm.noMsg = [];\r\n angular.forEach(data.MissingColumns, function (k, v) {\r\n vm.noMsg.push(k);\r\n });\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\r\n } else {\r\n vm.showPassed = true;\r\n vm.disableUploadButton = false;\r\n vm.successTitle = \"File Validated\";\r\n vm.successMsg = vm.bulkuploadType.charAt(0).toUpperCase() + vm.bulkuploadType.slice(1) + (vm.noOfRecords > 1 ? \"s\" : \"\") + \" are validated successfully. Total \" + vm.noOfRecords + \" \" + vm.bulkuploadType + (vm.noOfRecords > 1 ? \"s\" : \"\") + \" found.\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n }\r\n $(\"table th:first-child\").removeClass(\"sorting_asc\");\r\n vm.progressbar.complete();\r\n })\r\n .error(function (errorMessage) {\r\n $(\"#dropzone .dz-error\").removeClass(\"dz-error\");\r\n vm.progressbar.complete();\r\n vm.successTitle = \"Validation of records failed\";\r\n vm.successMsg = \"Error in data validation, please correct the data and re-upload file\";\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n });\r\n\r\n },\r\n 'success': function (file, xhr) {\r\n },\r\n 'error': function (file, errorMessage) {\r\n }\r\n };\r\n\r\n\r\n\r\n vm.addFiles1 = function () {\r\n $(\"#dropzone\").trigger(\"click\");\r\n }\r\n\r\n\r\n\r\n\r\n})\r\n .directive('expand', function () {\r\n function link(scope, element, attrs) {\r\n scope.$on('onExpandAll', function (event, args) {\r\n scope.expanded = args.expanded;\r\n });\r\n }\r\n return {\r\n link: link\r\n };\r\n });\r\n\r\n\r\nfunction CheckRegExOnKeyPress(e) {\r\n\r\n var regex = new RegExp(\"^[a-zA-Z0-9\\\\s\\\\.\\\\,\\\\-\\\\/]+$\");\r\n var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);\r\n if (regex.test(str)) {\r\n return true;\r\n }\r\n e.preventDefault();\r\n return false;\r\n};\r\n\r\n\r\n\r\nfunction openPage(pageName, elmnt) {\r\n var i, tabcontent, tablinks;\r\n tabcontent = document.getElementsByClassName(\"tabcontent\");\r\n for (i = 0; i < tabcontent.length; i++) {\r\n tabcontent[i].style.display = \"none\";\r\n }\r\n tablinks = document.getElementsByClassName(\"tablink\");\r\n for (i = 0; i < tablinks.length; i++) {\r\n tablinks[i].style.backgroundColor = \"\";\r\n }\r\n document.getElementById(pageName).style.display = \"block\";\r\n elmnt.style.backgroundColor = color;\r\n}\r\n\r\n// Get the element with id=\"defaultOpen\" and click on it\r\n// document.getElementById(\"defaultOpen\").click();\nangular.module('inspinia').service('FinanceFreelancerInvoiceService', function (ApiURL, FreelancerURL,LocationURL,PublicApiURL, $log, $http,$localStorage,$window) {\r\n\r\nthis.getFinanceFreelancerInvoice = function (startDate, endDate, reqUserId,token, itemNames,itemValues,DateField,PageIndex,PageSize) {\r\n var url = '';\r\n url = ApiURL + '/api/Invoice/GetInvoicesAccountsDateRangeWithDynaPaging?fromDate=' + startDate + '&toDate=' + endDate+ '&reqUserId=' + reqUserId + '&itemNames=' + itemNames + '&itemValues=' + itemValues + '&DateField=' + DateField + '&PageIndex=' + PageIndex + '&PageSize=' + PageSize;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': reqUserId\r\n }\r\n });\r\n}\r\n\r\n//\r\nthis.ReadyForPayment = function (loggedInUserId,token,userFormData) {\r\n var url = ApiURL + '/api/Invoice/PaidInvoiceAccounts';\r\n return $http.put(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token , 'UserId':loggedInUserId\r\n }\r\n });\r\n}\r\n\r\n\r\n// https://product.mymobiforce.com/coreapi/api/Invoice/UpdateInvoiceToPaid\r\nthis.PaidInvoiceAccounts = function (loggedInUserId,token,userFormData) {\r\n var url = ApiURL + '/api/Invoice/UpdateInvoiceToPaid';\r\n return $http.post(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token , 'UserId':loggedInUserId\r\n }\r\n });\r\n}\r\n\r\n//account name\r\nthis.getCustomerAccounts = function (loggedInUserId,token) { \r\n var url = ApiURL+ '/api/account/GetAllAccountsMiniModel';\r\n return $http.get(url, {\r\n headers: { \r\n 'Content-Type': 'application/json',\r\n 'Token':token , \r\n 'UserId':loggedInUserId\r\n \r\n }\r\n });\r\n}\r\nthis.RejectInvoiceAccounts = function (loggedInUserId,token,userFormData) {\r\n var url = ApiURL + '/api/Invoice/RejectInvoiceAccounts';\r\n return $http.put(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token , 'UserId':loggedInUserId\r\n }\r\n });\r\n}\r\nthis.DownloadInvoice = function (invoiceNumberList) {\r\n var url = PublicApiURL + \"/api/Report/DownloadInvoicesNew?InvoiceNumber=\" + invoiceNumberList; \r\n $window.open(url);\r\n}\r\n});\nangular.module('inspinia').controller('FinanceFreelancerInvoiceController', function (FinanceFreelancerInvoiceService,ReferService, toaster, $filter,$rootScope, PublicApiURL, $window, $log, $q, $compile, DTOptionsBuilder,DTColumnDefBuilder, DTColumnBuilder, $uibModal, $localStorage, ticketTemplateService, $scope, $state, FreelancerURL, ApiURL, $timeout) {\r\n\tvm = this;\r\n\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\t\r\n\tvm.FinanceFreelancerInvoiceList ={};\r\n\tvm.FinanceFreelancerInvoice = function () {\t\t\t\r\n\t\tvm.SearchUserinfoForm.submitted = true;\r\n\t\tif (vm.SearchUserinfoForm.$valid) {\r\n\t\tFinanceFreelancerInvoiceService.GetFinanceFreelancerInvoiceByReqUserId(loggedinUser, vm.SearchUser, token).then(function (resp) {\r\n\t\t\tif(resp.status==206){\t\t\t\r\n\t\t\t\tvm.showFailure('Failed', resp.data.Message);\r\n\t\t\t\tvm.FinanceFreelancerInvoiceList =\"\";\t\r\n\t\t\t}\t\t\r\n\t\t\telse\r\n\t\t\t\tvm.FinanceFreelancerInvoiceList = resp.data;\t\t\t\t\t\t\t\t\r\n\t\t});\r\n\t}\r\n\t}\r\n\t\r\n\t\r\n\tvm.CustomDateformat = $localStorage.CustomDateformat;\r\n \r\n vm.FreelancerAccess = $localStorage.accountConfig.FreelancerAccess;\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.accountConfig = $localStorage.accountConfig;\r\n vm.confirmTagModal = $scope.$parent.$parent.main.confirmTagModal;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.CurrencySymbol = $localStorage.accountConfig.CurrencySymbol;\r\n vm.EnableRegion = vm.getAccountConfigSetting('EnableRegion');\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n var token = $localStorage.token;\r\n vm.Remarks = '';\r\n vm.selectedTemplates = '';\r\n vm.PaymentStatus = '';\r\n vm.SettlementStatus = '';\r\n vm.enableFilters = true;\r\n vm.actionFlag = false;\r\n vm.editPermission = false;\r\n vm.enableFilters = true;\r\n vm.dtInstance = {};\r\n\tvm.ticketList = [];\r\n\tvm.freelancerInvoiceList=[];\r\n\tvm.freelancerRejectInvoiceList=[];\r\n\tvm.freelancerRejectList=[];\r\n\tvm.markPaidList = [];\r\n\tvm.SearchByAccountName = '';\r\n\tvm.SearchByInvoiceNo='';\r\n\tvm.PermanentCity='';\r\n\tvm.PermanentState='';\r\n\tvm.SearchByStatus='Select invoice status';\r\n vm.markPaidInvoiceList=[];\r\n vm.invoiceNumberList=\"\";\r\n // $scope.$parent.$parent.main.implementSelectItems('ticketList', this);\r\n vm.approvalRemark = '';\r\n vm.RejectionRemark = '';\r\n vm.searchText = \"\";\r\n vm.IsSearch = false;\r\n vm.searchStatusText = \"Select invoice status\";\r\n vm.searchLabText = \"\";\r\n vm.searchJobTypeText = \"All User Types\";\r\n\t//vm.DateField=\"CompletionDateObj\";\r\n\tvm.DateField=\"CreatedOn\";\r\n vm.CustomerList = [];\r\n vm.ProjectList = [];\r\n vm.SearchByTicketId = '';\r\n vm.SearchByDescription = '';\r\n\tvm.SearchByTechnicianName = '';\r\n\tvm.SearchByTechnicianId='';\r\n vm.SearchByPName = '';\r\n\tvm.SearchByCustomerName = '';\r\n\tvm.SearchByUserType='';\r\n vm.previousPage = $localStorage.previousPage;\r\n vm.autoScheduleOn = $localStorage.accountConfig.IsAutoSchedulerOn;\r\n var approveModalInstance = {};\r\n var supervisorId = $localStorage.loggedInUserId;\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n vm.loggedInAs = $localStorage.loggedinAs;\r\n vm.aproveMessage = 'Please Rate !';\r\n \r\n var templateItemNames = '';\r\n var templateItemValues = '';\r\n var itemNames = 'InvoiceType';\r\n var itemValues = 'Freelancer';\r\n var PageIndex = 1;\r\n var PageSize = 10;\r\n var startDate = moment().subtract(7, 'day').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.ticketdates = { startDate: moment().subtract(7, 'day'), endDate: moment() };\r\n vm.ticketranges = {\r\n 'Today': [moment(), moment()],\r\n // 'Yesterday': [moment().subtract(1, 'days'), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')]\r\n };\r\n \r\n vm.path = \"\";\r\n vm.path = $rootScope.rootScopeMessage;\r\n \r\n\r\n if (vm.path == 'isTicketView') {\r\n var startDate = $localStorage.SDate;\r\n var endDate = $localStorage.EDate;\r\n vm.ticketdates = { startDate: startDate, endDate: endDate };\r\n } else {\r\n var startDate = $localStorage.SDate?$localStorage.SDate: moment().subtract(1, 'day').format(\"YYYY-MM-DD\");\r\n var endDate = $localStorage.EDate? $localStorage.EDate: moment().format(\"YYYY-MM-DD\");\r\n vm.ticketdates = { startDate: startDate, endDate: endDate };\r\n // $scope.dates = { startDate: moment().subtract(1, 'day'), endDate: moment() };\r\n }\r\n\r\n $scope.totalTableUsers = 0;\r\n $scope.usersTablePerPage = 10; // this should match however many results your API puts on one page\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n $scope.UserTablepagination.current= $localStorage.TicketFilterModel?$localStorage.TicketFilterModel.PageIndex:1;\r\n\r\n $scope.UserTablepageChanged = function(newPage) {\r\n\t\t \r\n\t PageIndex = newPage;\t \r\n\t vm.getFinanceFreelancerInvoice(startDate, endDate, loggedinUser, token, itemNames, itemValues,\"CreatedOn\",newPage,PageSize);\r\n\t};\r\n\r\n \r\n vm.InvoiceStatusList = [\"All\",\"New\", \"Rejected\", \"Paid\", \"PaymentInitiated\", \"ReadyforPayment\"];\r\n\r\n vm.ResetFilter = function(){\r\n vm.SearchByStatus = \"Select invoice status\";\r\n\t vm.SearchByAccountName = \"\";\r\n\t vm.SearchByInvoiceNo=\"\";\r\n\t vm.SearchByUserType=\"\";\r\n vm.DateField=\"CreatedOn\";\r\n vm.SearchByTicketId='';\r\n vm.SearchByDescription ='';\r\n vm.SearchByTechnicianName ='';\r\n vm.SearchByPName ='';\r\n\t vm.SearchByCustomerName='';\r\n vm.SearchByTechnicianId=\"\";\r\n itemNames = \"InvoiceType\";\r\n itemValues = \"Freelancer\";\r\n vm.getFinanceFreelancerInvoice(startDate, endDate, loggedinUser, token, itemNames, itemValues,\"CreatedOn\",PageIndex,PageSize);\r\n\r\n }\r\n vm.ConverttoDecimal = function(value) {\r\n return (parseFloat(value).toFixed(2))\r\n }\r\n vm.Allapplyfilter = function(){ \r\n if (vm.SearchByStatus != 'Select invoice status') {\r\n\titemNames = 'Status';\r\n\titemValues = vm.SearchByStatus;\r\n }\r\n if(vm.SearchByAccountName!=''){\r\n\t if(itemNames.length > 0 && itemValues.length > 0){\r\n\t itemNames = itemNames + ',AccountName';\r\n\t itemValues = itemValues + ',' + vm.SearchByAccountName;\r\n\t }else{\r\n\t itemNames = 'AccountName';\r\n\t itemValues = vm.SearchByAccountName;\r\n\t }\r\n }\r\n if(vm.SearchByInvoiceNo!=''){\r\n\tif(itemNames.length > 0 && itemValues.length > 0){\r\n\t itemNames = itemNames + ',InvoiceNo';\r\n\t itemValues = itemValues + ',' + vm.SearchByInvoiceNo;\r\n\t}else{\r\n\t itemNames = 'InvoiceNo';\r\n\t itemValues = vm.SearchByInvoiceNo;\r\n\t}\r\n }\r\n if(vm.SearchByUserType !=''){\r\n\tif(itemNames.length > 0 && itemValues.length > 0){\r\n\t itemNames = itemNames + ',UserType';\r\n\t itemValues = itemValues + ',' + vm.SearchByUserType;\r\n\t}else{\r\n\t itemNames = 'UserType';\r\n\t itemValues = vm.SearchByUserType;\r\n\t}\r\n }\r\n if(vm.SearchByCustomerName!=''){\r\n\tif(itemNames.length > 0 && itemValues.length > 0){\r\n\t itemNames = itemNames + ',CustomerName';\r\n\t itemValues = itemValues + ',' + vm.SearchByCustomerName;\r\n\t}else{\r\n\t itemNames = 'CustomerName';\r\n\t itemValues = vm.SearchByCustomerName;\r\n\t}\r\n }\r\n\r\n if(vm.SearchByTicketId.length > 0){\r\n\t if(itemNames.length == 0 && itemValues.length == 0){\r\n\t\titemNames = 'TicketId';\r\n\t\titemValues = vm.SearchByTicketId;\r\n\t }else{\r\n\t\titemNames = itemNames + ',TicketId';\r\n\t\titemValues = itemValues + ',' + vm.SearchByTicketId;\r\n\t }\r\n\t\r\n }\r\n if(vm.SearchByDescription.length > 0){\r\n\tif(itemNames.length == 0 && itemValues.length == 0){\r\n\t itemNames = 'JobDescription';\r\n\t itemValues = vm.SearchByDescription;\r\n\t}else{\r\n\t itemNames = itemNames + ',JobDescription';\r\n\t itemValues = itemValues + ',' + vm.SearchByDescription;\r\n\t}\r\n }\r\n if(vm.SearchByTechnicianName.length > 0){\r\n\tif(itemNames.length == 0 && itemValues.length == 0){\r\n\t itemNames = 'UserName';\r\n\t itemValues = vm.SearchByTechnicianName;\r\n\t}else{\r\n\t itemNames = itemNames + ',UserName';\r\n\t itemValues = itemValues + ',' + vm.SearchByTechnicianName;\r\n\t}\r\n }\r\n if(vm.SearchByTechnicianId.length > 0){\r\n\tif(itemNames.length == 0 && itemValues.length == 0){\r\n\t itemNames = 'UserId';\r\n\t itemValues = vm.SearchByTechnicianId;\r\n\t}else{\r\n\t itemNames = itemNames + ',UserId';\r\n\t itemValues = itemValues + ',' + vm.SearchByTechnicianId;\r\n\t}\r\n }\r\n if(vm.PermanentState.length > 0){\r\n\tif(itemNames.length == 0 && itemValues.length == 0){\r\n\t itemNames = 'JobState';\r\n\t itemValues = vm.PermanentState;\r\n\t}else{\r\n\t itemNames = itemNames + ',JobState';\r\n\t itemValues = itemValues + ',' + vm.PermanentState;\r\n\t}\r\n }\r\n if(vm.PermanentCity.length > 0){\r\n\tif(itemNames.length == 0 && itemValues.length == 0){\r\n\t itemNames = 'JobCity';\r\n\t itemValues = vm.PermanentCity;\r\n\t}else{\r\n\t itemNames = itemNames + ',JobCity';\r\n\t itemValues = itemValues + ',' + vm.PermanentCity;\r\n\t}\r\n }\r\n \r\n itemNames = itemNames+\",InvoiceType\";\r\n itemValues =itemValues+\",Freelancer\";\r\n \r\n vm.getFinanceFreelancerInvoice(startDate, endDate, loggedinUser, token, itemNames, itemValues,\"CreatedOn\",PageIndex,PageSize);\r\n}\r\n\r\n\r\n \r\n\r\n vm.dateRangeChange = function (ev, picker) {\r\n vm.IsSearch = true;\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\"); \r\n vm.ticketdates = { startDate: startDate, endDate: endDate };\r\n };\r\n\r\n vm.outsidedateRangeChange = function (ev, picker) { \r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n \r\n\t vm.getFinanceFreelancerInvoice(startDate, endDate, loggedinUser, token, itemNames, itemValues,\"CreatedOn\",PageIndex,PageSize);\r\n };\r\n\r\nvm.getFinanceFreelancerInvoice = function (startDate, endDate, loggedinUser, token, itemNames, itemValues,DateField,PageIndex,PageSize) {\r\n\t\r\n\tFinanceFreelancerInvoiceService.getFinanceFreelancerInvoice(startDate, endDate, loggedinUser,token, itemNames, itemValues,DateField,PageIndex,PageSize).then(function (resp) {\r\n\t if (resp && resp.data) {\r\n\t\tvm.freelancerInvoiceList = resp.data.InvoiceLightModels;\r\n\t\t $scope.totalTableUsers = resp.data.Count;\t\t\r\n\t }\r\n\r\n\t}, function () {\r\n\t \r\n\t});\r\n }\r\n\r\n // vm.getFinanceFreelancerInvoice(\"2020-09-16\",\"2020-09-17\",loggedinUser,token,\"InvoiceType\",\"Freelancer\",\"CreatedOn\",\"1\",\"10\");\r\n \r\n vm.getFinanceFreelancerInvoice(startDate, endDate, loggedinUser, token, itemNames, itemValues,\"CreatedOn\",PageIndex,PageSize);\r\n \r\n vm.searchTable = function () {\r\n\t \r\n\tvar s = \"\";\r\n\ts += vm.searchText.length > 0 ? \" \" + vm.searchText : \"\";\r\n // s += (vm.searchStatusText.length > 0 && vm.searchStatusText!='All Status') ? \" \" + vm.searchStatusText : \"\";\r\n // s += (vm.searchJobTypeText.length > 0 && vm.searchJobTypeText!='All User Types') ? \" \" + vm.searchJobTypeText : \"\";\r\n\tvm.dtInstance.DataTable.search(s).draw();\r\n };\r\n vm.searchDataByStatus=function()\r\n { \r\n if(vm.SearchByStatus!=\"All\")\r\n {\r\n itemNames=\"Status\";\r\n itemValues = vm.SearchByStatus\r\n itemNames = itemNames+\",InvoiceType\";\r\n itemValues =itemValues+\",Freelancer\";\r\n }else{\r\n itemNames = \"InvoiceType\";\r\n itemValues = \"Freelancer\";\r\n }\r\n\t vm.getFinanceFreelancerInvoice(startDate, endDate, loggedinUser, token, itemNames, itemValues,\"CreatedOn\",PageIndex,10);\r\n \r\n }\r\n \r\n\r\n \r\n \r\n vm.dtOptions = DTOptionsBuilder.newOptions()\r\n // .withDOM('<\"html5buttons\"B>lTfrgitp')\r\n // .withButtons([{ extend: 'colvis' }])\r\n // .withButtons([{extend:'csv'}])\r\n .withOption('stateSave', true)\r\n .withOption('deferRender', true)\r\n .withOption('stateSaveCallback', function (settings, data) {\r\n localStorage.setItem('JoblistTableProp', JSON.stringify(data))\r\n //localStorage.setItem('DataTables_' + settings.sInstance, JSON.stringify(data))\r\n })\r\n .withOption('stateLoadCallback', function (settings) {\r\n\r\n if (vm.IsSearch == true) {\r\n var state = JSON.parse(localStorage.getItem('JoblistTableProp'));\r\n state.start = 0;\r\n } else {\r\n var state = JSON.parse(localStorage.getItem('JoblistTableProp'));\r\n\r\n }\r\n if (state && vm.VerticalName == 'Telecom') {\r\n state.search = { search: \"\", smart: true, regex: false, caseInsensitive: true };\r\n if (state.columns && state.columns.length > 0) {\r\n if (state.columns[10])\r\n state.columns[10].visible = true;\r\n if (state.columns[9])\r\n state.columns[9].visible = true;\r\n if (state.columns[10])\r\n state.columns[10].visible = true;\r\n if (state.columns[12])\r\n state.columns[12].visible = false;\r\n if (state.columns[13])\r\n state.columns[13].visible = true;\r\n if (state.columns[14])\r\n state.columns[14].visible = false;\r\n if (state.columns[15])\r\n state.columns[15].visible = false;\r\n if (state.columns[16])\r\n state.columns[16].visible = false;\r\n if (state.columns[17])\r\n state.columns[17].visible = false;\r\n if (state.columns[18])\r\n state.columns[18].visible = false;\r\n if (state.columns[19])\r\n state.columns[19].visible = false;\r\n if (state.columns[20])\r\n state.columns[20].visible = false;\r\n if (state.columns[21])\r\n state.columns[21].visible = true;\r\n if (state.columns[22])\r\n state.columns[22].visible = false;\r\n if (state.columns[23])\r\n state.columns[23].visible = false;\r\n if (state.columns[24])\r\n state.columns[24].visible = false;\r\n if (state.columns[25])\r\n state.columns[25].visible = false;\r\n if (state.columns[26])\r\n state.columns[26].visible = false;\r\n if (state.columns[27])\r\n state.columns[27].visible = true; \r\n if (state.columns[28])\r\n state.columns[28].visible = true; \r\n if (state.columns[29])\r\n state.columns[29].visible = false;\r\n if (state.columns[30])\r\n state.columns[30].visible = false;\r\n\r\n }\r\n }\r\n else if(state)\r\n {\r\n state.search = { search: \"\", smart: true, regex: false, caseInsensitive: true };\r\n if (state.columns && state.columns.length > 0) {\r\n if (state.columns[8])\r\n state.columns[8].visible = false;\r\n if (state.columns[9])\r\n state.columns[9].visible = false;\r\n if (state.columns[11])\r\n state.columns[11].visible = false;\r\n if (state.columns[12])\r\n state.columns[12].visible = false;\r\n if (state.columns[13])\r\n state.columns[13].visible = true;\r\n if (state.columns[14])\r\n state.columns[14].visible = false;\r\n if (state.columns[15])\r\n state.columns[15].visible = false;\r\n if (state.columns[16])\r\n state.columns[16].visible = false;\r\n if (state.columns[17])\r\n state.columns[17].visible = false;\r\n if (state.columns[18])\r\n state.columns[18].visible = true;\r\n if (state.columns[19])\r\n state.columns[19].visible = false;\r\n if (state.columns[20])\r\n state.columns[20].visible = false;\r\n if (state.columns[21])\r\n state.columns[21].visible = true;\r\n if (state.columns[22])\r\n state.columns[22].visible = false;\r\n if (state.columns[23])\r\n state.columns[23].visible = false;\r\n if (state.columns[24])\r\n state.columns[24].visible = false;\r\n // if (state.columns.length > 24) {\r\n // state.columns[24].visible = true;\r\n // }\r\n\r\n }\r\n\r\n }\r\n return state;\r\n })\r\n .withPaginationType('full_numbers').withOption('lengthChange', false)\r\n .withOption('paging', false)\r\n .withOption('bInfo',false)\r\n // .withOption('initComplete', function () {\r\n // $('.dataTables_filter input').unbind();\r\n // })\r\n .withOption('order', []);\r\n\r\n vm.dtColumnDefs = [\r\n // DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1),\r\n DTColumnDefBuilder.newColumnDef(2),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(7).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(8).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(9).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(10).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(11).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(12).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(13).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(14).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(15).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(16).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(17).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(18).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(19).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(20).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(21).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(22).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(23).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(24).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(25).notSortable()\r\n ];\r\n\r\n // Copied from main controller\r\n \r\n }\r\n\r\n vm.setDefaultValTocal = function (ticket) {\r\n if (ticket.StartTime) {\r\n ticket.StartTimeObj = moment(ticket.StartTime, \"YYYY-MM-DDThh:mm:ss.SSSZ\");\r\n }\r\n }\r\n\r\n vm.showStartTimeCal = function (ticket) {\r\n if (ticket) {\r\n angular.forEach(vm.ticketList, function (d) {\r\n d.calStartTime = false;\r\n });\r\n ticket.calStartTime = true;\r\n }\r\n }\r\n\r\n // vm.getJobAllStatus = function () {\r\n // JobTicketViewService.getJobAllStatus(loggedInUserId, token, function (data) {\r\n // vm.statusList = data;\r\n // vm.statusList.unshift({ \"StatusName\": \"All Status\" });\r\n // if (vm.path == 'NewJobDetailsCopy') {\r\n // // vm.searchJobTypeText = $localStorage.AllJobType;\r\n // vm.searchStatusText = $localStorage.TicketFilterModel.JobStatus;\r\n // }\r\n // }, vm.showFailure);\r\n // }\r\n // vm.getJobAllStatus();\r\n\t// vm.selectRow = function (i) {\t\r\n\t// \t\r\n\t// \tvm.showMinus = false;\r\n\t// \tvm.selectAll = false;\t\r\n\t// \tif(vm.checked)\ts\r\n\t// \t\tvm.showMinus = true;\ts\r\n\t// \telse\r\n\t// \t\tvm.showMinus = false;\t\r\n\t// }\r\n\r\n //accounts\r\nvm.getCustomerAccounts = function ( ) { \r\n\t\r\n FinanceFreelancerInvoiceService.getCustomerAccounts(loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.customerAccounts = resp.data;\r\n }\r\n\r\n }, function () {\r\n \r\n });\r\n }\r\n vm.getCustomerAccounts(); \r\n\r\nvm.implementSelectItems = function (itemList, scope) {\r\n \r\n scope.showMinus = false; \r\n scope.showDownloadInvoice = false; \r\n scope.selectRow = function (i) {\r\n\t\t\t\r\n scope.showMinus = false; \r\n scope.showDownloadInvoice = false; \r\n for(var i=0; i< scope.freelancerInvoiceList.length;i++){\r\n var tempTickets = scope.freelancerInvoiceList[i];\r\n if(tempTickets.checked ) {\r\n scope.showDownloadInvoice = true; \r\n\t\t\t\t if(tempTickets.Status == \"New\"){\r\n scope.showMinus = true; \r\n\t\t\t\t\t break;\r\n\t\t\t\t }\r\n }\r\n }\r\n } \r\n }\r\n vm.implementSelectItems('freelancerInvoiceList', this);\r\n\tvm.OpenPaidInvoiceModal = function () \r\n\t{ \t\r\n\t\t\r\n\tangular.forEach(vm.freelancerInvoiceList, function (t) {\r\n\t\t\r\n\t if (t.checked) {\r\n\t\t if(t.Status==\"New\"){\r\n\t\t var markPaidObj={\r\n\t\t\t\"InvoiceNumber\": t.InvoiceNumber,\r\n\t\t\t\"TicketId\": t.TicketId,\r\n\t\t\t\"Description\": t.Description,\r\n\t\t\t\"FreelancerPrice\": t.FreelancerPrice,\r\n\t\t\t\"Remark\": t.Remark\r\n\r\n\t\t }\r\n\t\tvm.markPaidList.push(markPaidObj);\r\n\t }\r\n\t}\r\n\t})\r\n\t\tpaidInvoiceModalInstance = $uibModal.open({\r\n\t\ttemplateUrl: 'paid_invoice_model.html',\r\n\t\tscope: $scope\r\n\t\t});\r\n\t}\r\n\r\n\tvm.CloseModal = function () {\r\n\t\tpaidInvoiceModalInstance.close();\r\n\t\tvm.markPaidList=[];\r\n\t}\r\n\r\n\tvm.OpenFreelancerRejectInvoiceModal = function () \r\n\t{ \t\r\n\t\t\r\n\tangular.forEach(vm.freelancerInvoiceList, function (tt) {\r\n\t\t\r\n\t if (tt.checked) {\r\n\t\t if(tt.Status==\"New\"){\r\n\t\t var freelancerRejectInvoiceObj={\r\n\t\t\t\"InvoiceNumber\": tt.InvoiceNumber,\r\n\t\t\t\"TicketId\": tt.TicketId,\r\n\t\t\t\"Description\": tt.Description,\r\n\t\t\t\"FreelancerPrice\": tt.FreelancerPrice,\r\n\t\t\t\"Remark\": tt.Remark\r\n\t\t }\r\n\t\tvm.freelancerRejectInvoiceList.push(freelancerRejectInvoiceObj);\r\n\t }\r\n\t}\r\n\t})\r\n\tfreelancerRejectInvoiceModalInstance = $uibModal.open({\r\n\t\ttemplateUrl: 'freelancer_reject_invoice_model.html',\r\n\t\tscope: $scope\r\n\t\t});\r\n\t}\r\n\r\n\tvm.freelancerRejectInvoiceCloseModal = function () {\r\n\t\tfreelancerRejectInvoiceModalInstance.close();\r\n\t\tvm.freelancerRejectInvoiceList=[];\r\n\t}\r\n vm.getPicUrl = function (pic) {\r\n return ImageUrl + '/' + pic;\r\n }\r\n\r\n vm.reloadData = function(){\r\n var resetPaging = true;\r\n vm.dtInstance.reloadData(resetPaging);\r\n\t}\r\n\tfunction getAllStates() {\r\n\t\tvar defered = $q.defer();\r\n\t\tReferService.getAllState(loggedinUser,token).then(function (resp) {\r\n\t\t\tdefered.resolve(resp);\r\n\t\t}, function (error) {\r\n\t\t\tdefered.reject(error);\r\n\t\t});\r\n\t\treturn defered.promise;\r\n\t}\r\n\t\r\n\tvar allStatePromise = getAllStates();\r\n\tallStatePromise.then(function (resp) {\r\n\t\tvm.StateList = resp.data;\r\n\t\t\r\n\t});\r\n\tfunction getallCities(state) {\r\n\t\tReferService.getAllCity(loggedinUser, state,token).then(function (resp) {\r\n\t\t\tvm.CityList = resp.data;\r\n\t\t});\r\n\t}\r\n\tvm.selectedState = function (state) {\r\n\t\tgetallCities(state);\r\n\t}\r\n\r\n\tvm.MarkPaid = function()\r\n\t{\r\n\t\t\t \r\n\t\tfor(var i=0; i 0 && itemValues.length > 0){\r\n\t itemNames = itemNames + ',AccountName';\r\n\t itemValues = itemValues + ',' + vm.SearchByAccountName;\r\n\t }else{\r\n\t itemNames = 'AccountName';\r\n\t itemValues = vm.SearchByAccountName;\r\n\t }\r\n }\r\n if(vm.SearchByInvoiceNo!=''){\r\n\tif(itemNames.length > 0 && itemValues.length > 0){\r\n\t itemNames = itemNames + ',InvoiceNo';\r\n\t itemValues = itemValues + ',' + vm.SearchByInvoiceNo;\r\n\t}else{\r\n\t itemNames = 'InvoiceNo';\r\n\t itemValues = vm.SearchByInvoiceNo;\r\n\t}\r\n }\r\n if(vm.SearchByUserType !=''){\r\n\tif(itemNames.length > 0 && itemValues.length > 0){\r\n\t itemNames = itemNames + ',UserType';\r\n\t itemValues = itemValues + ',' + vm.SearchByUserType;\r\n\t}else{\r\n\t itemNames = 'UserType';\r\n\t itemValues = vm.SearchByUserType;\r\n\t}\r\n }\r\n if(vm.SearchByCustomerName!=''){\r\n\tif(itemNames.length > 0 && itemValues.length > 0){\r\n\t itemNames = itemNames + ',CustomerName';\r\n\t itemValues = itemValues + ',' + vm.SearchByCustomerName;\r\n\t}else{\r\n\t itemNames = 'CustomerName';\r\n\t itemValues = vm.SearchByCustomerName;\r\n\t}\r\n }\r\n\r\n if(vm.SearchByTicketId.length > 0){\r\n\t if(itemNames.length == 0 && itemValues.length == 0){\r\n\t\titemNames = 'TicketId';\r\n\t\titemValues = vm.SearchByTicketId;\r\n\t }else{\r\n\t\titemNames = itemNames + ',TicketId';\r\n\t\titemValues = itemValues + ',' + vm.SearchByTicketId;\r\n\t }\r\n\t\r\n }\r\n if(vm.SearchByDescription.length > 0){\r\n\tif(itemNames.length == 0 && itemValues.length == 0){\r\n\t itemNames = 'JobDescription';\r\n\t itemValues = vm.SearchByDescription;\r\n\t}else{\r\n\t itemNames = itemNames + ',JobDescription';\r\n\t itemValues = itemValues + ',' + vm.SearchByDescription;\r\n\t}\r\n }\r\n if(vm.SearchByTechnicianName.length > 0){\r\n\tif(itemNames.length == 0 && itemValues.length == 0){\r\n\t itemNames = 'UserName';\r\n\t itemValues = vm.SearchByTechnicianName;\r\n\t}else{\r\n\t itemNames = itemNames + ',UserName';\r\n\t itemValues = itemValues + ',' + vm.SearchByTechnicianName;\r\n\t}\r\n }\r\n if(vm.SearchByTechnicianId.length > 0){\r\n\tif(itemNames.length == 0 && itemValues.length == 0){\r\n\t itemNames = 'UserId';\r\n\t itemValues = vm.SearchByTechnicianId;\r\n\t}else{\r\n\t itemNames = itemNames + ',UserId';\r\n\t itemValues = itemValues + ',' + vm.SearchByTechnicianId;\r\n\t}\r\n }\r\n if(vm.PermanentState.length > 0){\r\n\tif(itemNames.length == 0 && itemValues.length == 0){\r\n\t itemNames = 'JobState';\r\n\t itemValues = vm.PermanentState;\r\n\t}else{\r\n\t itemNames = itemNames + ',JobState';\r\n\t itemValues = itemValues + ',' + vm.PermanentState;\r\n\t}\r\n }\r\n if(vm.PermanentCity.length > 0){\r\n\tif(itemNames.length == 0 && itemValues.length == 0){\r\n\t itemNames = 'JobCity';\r\n\t itemValues = vm.PermanentCity;\r\n\t}else{\r\n\t itemNames = itemNames + ',JobCity';\r\n\t itemValues = itemValues + ',' + vm.PermanentCity;\r\n\t}\r\n }\r\n\r\n itemNames = itemNames + \",InvoiceType\";\r\n itemValues = itemValues + \",Customer\";\r\n vm.getFinanceCustomerInvoice(startDate, endDate, loggedinUser, token, itemNames, itemValues,\"CreatedOn\",PageIndex,PageSize);\r\n \r\n}\r\n\r\n\r\nvm.ConverttoDecimal = function(value) {\r\n return (parseFloat(value).toFixed(2))\r\n}\r\n\r\n vm.dateRangeChange = function (ev, picker) {\r\n vm.IsSearch = true;\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\"); \r\n vm.ticketdates = { startDate: startDate, endDate: endDate };\r\n };\r\n\r\n vm.outsidedateRangeChange = function (ev, picker) { \r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n \r\n itemNames = \"InvoiceType\";\r\n itemValues = \"Customer\";\r\n\t vm.getFinanceCustomerInvoice(startDate, endDate, loggedinUser, token, itemNames, itemValues,\"CreatedOn\",PageIndex,PageSize);\r\n };\r\n\r\nvm.getFinanceCustomerInvoice = function (startDate, endDate, loggedinUser, token, itemNames, itemValues,DateField,PageIndex,PageSize) {\r\n\t\r\n\tFinanceCustomerInvoiceService.getFinanceCustomerInvoice(startDate, endDate, loggedinUser,token, itemNames, itemValues,DateField,PageIndex,PageSize).then(function (resp) {\r\n\t if (resp && resp.data) {\r\n\t\tvm.customerInvoiceList = resp.data.InvoiceLightModels;\r\n\t\t $scope.totalTableUsers = resp.data.Count;\t\t\r\n\t }\r\n\r\n\t}, function () {\r\n\t \r\n\t});\r\n }\r\n\r\n // vm.getFinanceCustomerInvoice(\"2020-09-16\",\"2020-09-17\",loggedinUser,token,\"InvoiceType\",\"Customer\",\"CreatedOn\",\"1\",\"10\");\r\n \r\n vm.getFinanceCustomerInvoice(startDate, endDate, loggedinUser, token, itemNames, itemValues,\"CreatedOn\",PageIndex,PageSize);\r\n \r\n vm.searchTable = function () {\r\n\t \r\n\tvar s = \"\";\r\n\ts += vm.searchText.length > 0 ? \" \" + vm.searchText : \"\";\r\n // s += (vm.searchStatusText.length > 0 && vm.searchStatusText!='Select invoice status') ? \" \" + vm.searchStatusText : \"\";\r\n // s += (vm.searchJobTypeText.length > 0 && vm.searchJobTypeText!='All User Types') ? \" \" + vm.searchJobTypeText : \"\";\r\n\tvm.dtInstance.DataTable.search(s).draw();\r\n };\r\n vm.searchDataByStatus=function()\r\n {\r\n if(vm.SearchByStatus!=\"All\")\r\n {\r\n itemNames=\"Status\";\r\n itemValues = vm.SearchByStatus\r\n itemNames = itemNames+\",InvoiceType\";\r\n itemValues =itemValues+\",Customer\";\r\n }\r\n else\r\n {\r\n itemNames = \"InvoiceType\";\r\n itemValues =\"Customer\";\r\n }\r\n\t vm.getFinanceCustomerInvoice(startDate, endDate, loggedinUser, token, itemNames, itemValues,\"CreatedOn\",PageIndex,100);\r\n\r\n }\r\n \r\n\r\n \r\n \r\n vm.dtOptions = DTOptionsBuilder.newOptions()\r\n // .withDOM('<\"html5buttons\"B>lTfrgitp')\r\n // .withButtons([{ extend: 'colvis' }])\r\n // .withButtons([{extend:'csv'}])\r\n .withOption('stateSave', true)\r\n .withOption('deferRender', true)\r\n .withOption('stateSaveCallback', function (settings, data) {\r\n localStorage.setItem('JoblistTableProp', JSON.stringify(data))\r\n //localStorage.setItem('DataTables_' + settings.sInstance, JSON.stringify(data))\r\n })\r\n .withOption('stateLoadCallback', function (settings) {\r\n\r\n if (vm.IsSearch == true) {\r\n var state = JSON.parse(localStorage.getItem('JoblistTableProp'));\r\n state.start = 0;\r\n } else {\r\n var state = JSON.parse(localStorage.getItem('JoblistTableProp'));\r\n\r\n }\r\n if (state && vm.VerticalName == 'Telecom') {\r\n state.search = { search: \"\", smart: true, regex: false, caseInsensitive: true };\r\n if (state.columns && state.columns.length > 0) {\r\n if (state.columns[10])\r\n state.columns[10].visible = true;\r\n if (state.columns[9])\r\n state.columns[9].visible = true;\r\n if (state.columns[10])\r\n state.columns[10].visible = true;\r\n if (state.columns[12])\r\n state.columns[12].visible = false;\r\n if (state.columns[13])\r\n state.columns[13].visible = true;\r\n if (state.columns[14])\r\n state.columns[14].visible = false;\r\n if (state.columns[15])\r\n state.columns[15].visible = false;\r\n if (state.columns[16])\r\n state.columns[16].visible = false;\r\n if (state.columns[17])\r\n state.columns[17].visible = false;\r\n if (state.columns[18])\r\n state.columns[18].visible = false;\r\n if (state.columns[19])\r\n state.columns[19].visible = false;\r\n if (state.columns[20])\r\n state.columns[20].visible = false;\r\n if (state.columns[21])\r\n state.columns[21].visible = true;\r\n if (state.columns[22])\r\n state.columns[22].visible = false;\r\n if (state.columns[23])\r\n state.columns[23].visible = false;\r\n if (state.columns[24])\r\n state.columns[24].visible = false;\r\n if (state.columns[25])\r\n state.columns[25].visible = false;\r\n if (state.columns[26])\r\n state.columns[26].visible = false;\r\n if (state.columns[27])\r\n state.columns[27].visible = true; \r\n if (state.columns[28])\r\n state.columns[28].visible = true; \r\n if (state.columns[29])\r\n state.columns[29].visible = false;\r\n if (state.columns[30])\r\n state.columns[30].visible = false;\r\n\r\n }\r\n }\r\n else if(state)\r\n {\r\n state.search = { search: \"\", smart: true, regex: false, caseInsensitive: true };\r\n if (state.columns && state.columns.length > 0) {\r\n if (state.columns[8])\r\n state.columns[8].visible = false;\r\n if (state.columns[9])\r\n state.columns[9].visible = false;\r\n if (state.columns[11])\r\n state.columns[11].visible = false;\r\n if (state.columns[12])\r\n state.columns[12].visible = false;\r\n if (state.columns[13])\r\n state.columns[13].visible = true;\r\n if (state.columns[14])\r\n state.columns[14].visible = false;\r\n if (state.columns[15])\r\n state.columns[15].visible = false;\r\n if (state.columns[16])\r\n state.columns[16].visible = false;\r\n if (state.columns[17])\r\n state.columns[17].visible = false;\r\n if (state.columns[18])\r\n state.columns[18].visible = true;\r\n if (state.columns[19])\r\n state.columns[19].visible = false;\r\n if (state.columns[20])\r\n state.columns[20].visible = false;\r\n if (state.columns[21])\r\n state.columns[21].visible = true;\r\n if (state.columns[22])\r\n state.columns[22].visible = false;\r\n if (state.columns[23])\r\n state.columns[23].visible = false;\r\n if (state.columns[24])\r\n state.columns[24].visible = false;\r\n // if (state.columns.length > 24) {\r\n // state.columns[24].visible = true;\r\n // }\r\n\r\n }\r\n\r\n }\r\n return state;\r\n })\r\n .withPaginationType('full_numbers').withOption('lengthChange', false)\r\n .withOption('paging', false)\r\n .withOption('bInfo',false)\r\n // .withOption('initComplete', function () {\r\n // $('.dataTables_filter input').unbind();\r\n // })\r\n .withOption('order', []);\r\n\r\n vm.dtColumnDefs = [\r\n // DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1),\r\n DTColumnDefBuilder.newColumnDef(2),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(7).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(8).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(9).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(10).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(11).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(12).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(13).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(14).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(15).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(16).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(17).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(18).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(19).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(20).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(21).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(22).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(23).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(24).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(25).notSortable()\r\n ];\r\n\r\n // Copied from main controller\r\n \r\n }\r\n\r\n vm.setDefaultValTocal = function (ticket) {\r\n if (ticket.StartTime) {\r\n ticket.StartTimeObj = moment(ticket.StartTime, \"YYYY-MM-DDThh:mm:ss.SSSZ\");\r\n }\r\n }\r\n\r\n vm.showStartTimeCal = function (ticket) {\r\n if (ticket) {\r\n angular.forEach(vm.ticketList, function (d) {\r\n d.calStartTime = false;\r\n });\r\n ticket.calStartTime = true;\r\n }\r\n }\r\n\r\n // vm.getJobAllStatus = function () {\r\n // JobTicketViewService.getJobAllStatus(loggedInUserId, token, function (data) {\r\n // vm.statusList = data;\r\n // vm.statusList.unshift({ \"StatusName\": \"Select invoice status\" });\r\n // if (vm.path == 'NewJobDetailsCopy') {\r\n // // vm.searchJobTypeText = $localStorage.AllJobType;\r\n // vm.searchStatusText = $localStorage.TicketFilterModel.JobStatus;\r\n // }\r\n // }, vm.showFailure);\r\n // }\r\n // vm.getJobAllStatus();\r\n\t// vm.selectRow = function (i) {\t\r\n\t// \t\r\n\t// \tvm.showMinus = false;\r\n\t// \tvm.selectAll = false;\t\r\n\t// \tif(vm.checked)\t\r\n\t// \t\tvm.showMinus = true;\t\r\n\t// \telse\r\n\t// \t\tvm.showMinus = false;\t\r\n // }\r\n vm.InvoiceStatus = [\"All\", \"New\", \"Invoice Submitted\", \"Paid by Customer\"];\r\n\r\nvm.implementSelectItems = function (itemList, scope) {\r\n scope.showDownloadInvoice = false; \r\n scope.showMinus = false; \r\n scope.showPaidByCustomer=false; \r\n scope.selectRow = function (i) {\r\n\t\t\t\r\n scope.showMinus = false; \r\n scope.showDownloadInvoice = false; \r\n scope.showPaidByCustomer=false; \r\n for(var i=0; i< scope.customerInvoiceList.length;i++){\r\n var tempTickets = scope.customerInvoiceList[i];\r\n if(tempTickets.checked ) { \r\n scope.showDownloadInvoice = true; \r\n if(tempTickets.Status == \"Invoice Submitted\")\r\n {\r\n scope.showPaidByCustomer=true; \r\n // scope.showDownloadInvoice = true; \r\n }\r\n\t\t\t\t if(tempTickets.Status == \"New\"){\r\n scope.showMinus = true; \r\n // scope.showDownloadInvoice = true; \r\n //break;\r\n }\r\n }\r\n \r\n }\r\n } \r\n }\r\n vm.implementSelectItems('customerInvoiceList', this);\r\n\r\n\r\n\tvm.OpenCustomerPaidByCustomerModal = function () \r\n\t{ \t\r\n\t\t\r\n\tangular.forEach(vm.customerInvoiceList, function (tt) {\r\n\t\t\r\n\t if (tt.checked) {\r\n\t\t if(tt.Status==\"Invoice Submitted\"){\r\n\t\t var paidByCustomerObj={\r\n\t\t\t\"InvoiceNumber\": tt.InvoiceNumber,\r\n\t\t\t\"TicketId\": tt.TicketId,\r\n\t\t\t\"Description\": tt.Description,\r\n\t\t\t\"CustomerName\": tt.CustomerName,\r\n\t\t\t\"Remark\": tt.Remark\r\n\t\t }\r\n\t\tvm.PaidByCustomerList.push(paidByCustomerObj);\r\n\t }\r\n\t}\r\n\t})\r\n\tcustomerPaidByCustomerModalInstance = $uibModal.open({\r\n\t\ttemplateUrl: 'paid_by_customer_model.html',\r\n\t\tscope: $scope\r\n\t\t});\r\n\t}\r\n\r\n\tvm.customerPaidByCustomerCloseModal = function () {\r\n\t\tcustomerPaidByCustomerModalInstance.close();\r\n\t\tvm.PaidByCustomerList=[];\t\r\n }\r\n \r\n \r\n\tvm.PaidByCustomerInvoice = function()\r\n\t{\r\n\t\t\t \r\n\t\tfor(var i=0; i 0 && FilterItemValues.length > 0){\r\n filterItemName = filterItemName + ',Skill';\r\n FilterItemValues = FilterItemValues + ',' + vm.SearchBySkill;\r\n }else{\r\n filterItemName = 'Skill';\r\n FilterItemValues = vm.SearchBySkill;\r\n }\r\n }\r\n if(vm.SearchByState!=''){\r\n if(filterItemName.length > 0 && FilterItemValues.length > 0){\r\n filterItemName = filterItemName + ',State';\r\n FilterItemValues = FilterItemValues + ',' + vm.SearchByState;\r\n }else{\r\n filterItemName = 'State';\r\n FilterItemValues = vm.SearchByState;\r\n }\r\n }\r\n if(vm.SearchByCity!=''){\r\n if(filterItemName.length > 0 && FilterItemValues.length > 0){\r\n filterItemName = filterItemName + ',City';\r\n FilterItemValues = FilterItemValues + ',' + vm.SearchByState;\r\n }else{\r\n filterItemName = 'City';\r\n FilterItemValues = vm.SearchByState;\r\n }\r\n }\r\n\r\n if(vm.SearchByMobile!=''){\r\n if(SearchItemName.length > 0 && SearchItemValues.length > 0){\r\n SearchItemName = SearchItemName + ',InvitedPhoneNo';\r\n SearchItemValues = SearchItemValues + ',' + vm.SearchByMobile;\r\n }else{\r\n SearchItemName = 'InvitedPhoneNo';\r\n SearchItemValues = vm.SearchByMobile;\r\n }\r\n }\r\n if(vm.SearchByName!=''){\r\n if(SearchItemName.length > 0 && SearchItemValues.length > 0){\r\n SearchItemName = SearchItemName + ',InviteName';\r\n SearchItemValues = SearchItemValues + ',' + vm.SearchByName;\r\n }else{\r\n SearchItemName = 'InviteName';\r\n SearchItemValues = vm.SearchByName;\r\n }\r\n }\r\n if(vm.SearchByReferred!=''){\r\n if(SearchItemName.length > 0 && SearchItemValues.length > 0){\r\n SearchItemName = SearchItemName + ',ReqUserName';\r\n SearchItemValues = SearchItemValues + ',' + vm.SearchByReferred;\r\n }else{\r\n SearchItemName = 'ReqUserName';\r\n SearchItemValues = vm.SearchByReferred;\r\n }\r\n }\r\n\r\n vm.GetAllInvitedUserByFilter();\r\n }\r\n \r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n $scope.$parent.$parent.main.implementSelectItems('InvitedUsers', this);\r\n\r\n vm.message = \"Dear User,\\n\\nMyMobiforce is Indias fastest growing technicians marketplace. We are the leading digital platform helping you to explore many job opportunities to earn more in your local area anytime you want!If interested, kindly, click on the link below to help us know more about!\\n\\n APP For Freelancer : http://bit.ly/2RCaEO4 And Freelancer Vendor : http://bit.ly/2FytbpA \\n\\nThanks\\nMobiforce Team\";\r\n vm.exportData = function () {\r\n var blob = new Blob([document.getElementById('tab-1').innerHTML], {\r\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\r\n });\r\n saveAs(blob, \"Report.xls\");\r\n }\r\n\r\n // vm.GetAllInvitedUser = function () {\r\n // invitedUserService.GetAllInvitedUser(loggedinUser, token).then(function (resp) {\r\n // vm.InvitedUsers = resp.data;\r\n // $scope.totalTableUsers = resp.data.length;\r\n // }, function () {\r\n \r\n // })\r\n // }\r\n\r\n vm.AllSkills = function () {\r\n NewTalentPoolService.getAllSkills(loggedinUser, token, function (data) {\r\n vm.VendorAllSkillSets = data;\r\n }, vm.showFailure);\r\n }\r\n vm.AllSkills();\r\n\r\n function getAllStates() {\r\n var defered = $q.defer();\r\n ReferService.getAllState(loggedinUser,token).then(function (resp) {\r\n defered.resolve(resp);\r\n }, function (error) {\r\n defered.reject(error);\r\n });\r\n return defered.promise;\r\n }\r\n\r\n var allStatePromise = getAllStates();\r\n allStatePromise.then(function (resp) {\r\n vm.StateList = resp.data;\r\n });\r\n\r\n function getallCities(state) {\r\n ReferService.getAllCity(loggedinUser, state, token).then(function (resp) {\r\n vm.CityList = resp.data;\r\n });\r\n }\r\n vm.selectedState = function (state) {\r\n getallCities(state);\r\n}\r\n \r\n vm.GetAllInvitedUserByFilter = function(){\r\n invitedUserService.GetAllInvitedUserByFilter(loggedinUser, token,startDate,endDate,filterItemName,FilterItemValues,SearchItemName,SearchItemValues,PageIndex,PageSize).then(function(resp){\r\n if(resp.data.InvitedUserList && resp.data.Count){\r\n vm.InvitedUsers = resp.data.InvitedUserList;\r\n $scope.totalTableUsers = resp.data.Count;\r\n }else{\r\n vm.InvitedUsers = resp.data;\r\n $scope.totalTableUsers = 0;\r\n }\r\n filterItemName = '';\r\n FilterItemValues = '';\r\n SearchItemName = '';\r\n SearchItemValues = '';\r\n \r\n\r\n });\r\n }\r\n vm.GetAllInvitedUserByFilter();\r\n\r\n vm.searchTable = function () {\r\n vm.dtInstance.DataTable.search(vm.searchText);\r\n vm.dtInstance.DataTable.search(vm.searchText).draw();\r\n }\r\n\r\n vm.setShowSuccess = function (success) {\r\n vm.showSuccess = success;\r\n }\r\n\r\n vm.setShowFailure = function (failure) {\r\n vm.showFailure = failure;\r\n }\r\n\r\n vm.CloseFollowUpModel = function () {\r\n FollowUpModel.close();\r\n vm.selectAll = false;\r\n vm.showMinus = false;\r\n vm.applyAllSelect();\r\n }\r\n vm.sendMessage = function () {\r\n var selectedInvitedUser = [];\r\n for (var i = 0; i < vm.InvitedUsers.length; i++) {\r\n if (vm.InvitedUsers[i].checked == true) {\r\n selectedInvitedUser.push(vm.InvitedUsers[i].InviteMobileNo);\r\n }\r\n }\r\n \r\n vm.CloseFollowUpModel();\r\n\r\n var messageInfo = {};\r\n messageInfo.message = vm.message;\r\n messageInfo.recevierPhoneNo = selectedInvitedUser;\r\n \r\n invitedUserService.BroadcastMessage(token, messageInfo,loggedinUser).then(function (resp) {\r\n if (resp.data == 'Sent') {\r\n vm.showSuccess(\"Invited User\", \"Registration reminder send sucessfully\");\r\n vm.selectAll = false;\r\n vm.selected = false;\r\n reload: true;\r\n }\r\n else {\r\n vm.showFailure(\"Invited User\", \"Unable to send registration reminder\")\r\n }\r\n })\r\n\r\n }\r\n\r\n vm.sendSMS = function () {\r\n vm.followup = '';\r\n FollowUpModel = $uibModal.open({\r\n templateUrl: 'SMS.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n\r\n });\r\n }\r\n\r\n vm.dtOptions = DTOptionsBuilder.newOptions()\r\n .withDOM('<\"html5buttons\"B>lTfrgitp')\r\n .withOption('stateSave', true)\r\n .withOption('paging', false);\r\n\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(7).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(8).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(9).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(10).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(11).notSortable(),\r\n ];\r\n\r\n\r\n // vm.dtOptions = DTOptionsBuilder.fromFnPromise(function () {\r\n // var defer = $q.defer();\r\n // invitedUserService.GetAllInvitedUser(loggedinUser, token).then(function (resp) {\r\n // vm.invitedUserList = resp.data;\r\n // defer.resolve(vm.invitedUserList);\r\n // })\r\n // return defer.promise;\r\n\r\n // }).withDOM('<\"html5buttons\"B>lTfgitp')\r\n // .withPaginationType('full_numbers')\r\n // .withOption('order', [3, 'desc'])\r\n // .withOption('createdRow', createdRow)\r\n // .withBootstrap();\r\n\r\n // function createdRow(row, data, dataIndex) {\r\n // // Recompiling so we can bind Angular directive to the DT\r\n // $compile(angular.element(row).contents())($scope);\r\n // }\r\n\r\n // vm.selected = {};\r\n // vm.selectAll = false;\r\n // vm.toggleOne = toggleOne;\r\n // vm.dtColumns = [\r\n // DTColumnBuilder.newColumn(null).withTitle('Action').renderWith(function (data, type, full, meta) {\r\n // vm.selected[meta.row] = false;\r\n // return '';\r\n // }).notSortable(),\r\n // DTColumnBuilder.newColumn('InviteName').withTitle('Freelancer Name').notSortable().renderWith(function (data) {\r\n // return '' + data + '';\r\n // }),\r\n \r\n // DTColumnBuilder.newColumn('InviteMobileNo').withTitle('Invitee Mobile').notSortable(),\r\n // DTColumnBuilder.newColumn('Email').withTitle('Email').notSortable(),\r\n // DTColumnBuilder.newColumn('Skill').withTitle('Skill').notSortable(),\r\n // DTColumnBuilder.newColumn('City').withTitle('City').notSortable(),\r\n // DTColumnBuilder.newColumn('State').withTitle('State').notSortable(),\r\n // DTColumnBuilder.newColumn(null).withTitle('Invitation Date').renderWith(function(data){ \r\n // var dt = $filter('date')(moment(data.InviteDate).format(\"DD-MMM-YYYY\"));\r\n // return dt;\r\n // }).withOption('type', 'date'),\r\n // DTColumnBuilder.newColumn('RegistrationStatus').withTitle('Registration Status').renderWith(function (data, type, full, meta) {\r\n // if (full.RegistrationStatus == 'Invited') {\r\n // var Status = 'label label-info';\r\n // } else if (full.RegistrationStatus == 'Registered') {\r\n // Status = 'label label-warning';\r\n // } else if (full.RegistrationStatus == 'Active') {\r\n // Status = 'label label-primary';\r\n // }\r\n // return \"\" + full.RegistrationStatus + \"\";\r\n // }).notSortable(),\r\n // DTColumnBuilder.newColumn('ReferredBy').withTitle('Referred By').notSortable(),\r\n // DTColumnBuilder.newColumn('ReferredById').withTitle('Referred Id').notSortable()\r\n // ];\r\n\r\n // function toggleOne(selectedItems) {\r\n // vm.showMinus = false;\r\n // vm.selectAll = false;\r\n // for (var id in selectedItems) {\r\n // if (selectedItems.hasOwnProperty(id)) {\r\n // if (selectedItems[id]) {\r\n // // vm.selectAll = false;\r\n // vm.showMinus = true;\r\n // return;\r\n // }\r\n // }\r\n // }\r\n // // vm.selectAll = true;\r\n // }\r\n\r\n // vm.applyAllSelect = function (selectAll, selectedItems) {\r\n // for (var id in selectedItems) {\r\n // if (selectedItems.hasOwnProperty(id)) {\r\n // selectedItems[id] = selectAll;\r\n // }\r\n // }\r\n // }\r\n // vm.GetAllInvitedUser();\r\n\r\n }\r\n\r\n vm.ShareReport = function () {\r\n // //$log.log(\"ShareReport\");\r\n // vm.shareModel.toList = [];\r\n // vm.shareModel.ccList = [];\r\n // vm.shareModel.bccList = [];\r\n // vm.shareModel.content = \"Hello,\\n\\nYou are requested to view project report on below link \\n\\n\" + $window.location.href + \" \\n\\nThanks\\nMobiforce Team\";\r\n vm.ShareModal = $uibModal.open({\r\n \r\n templateUrl: 'ShareReport.html',\r\n backdrop: 'static',\r\n size: 'md',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.closeShareReportModal = function () {\r\n vm.Emails=\"\";\r\n vm.Subjects=\"\"; \r\n vm.ShareModal.close();\r\n }\r\n\r\n vm.SendEmails = function () {\r\n // if (vm.signup_form.$valid) {\r\n var str=vm.Emails; \r\n var toemailsList = str.split(',');\r\n if(vm.Emails==null || vm.Emails==\"\")\r\n {\r\n //vm.ShareModal.open();\r\n vm.showFailure(\"Failure\", \"Please enter email\");\r\n return;\r\n }\r\n if(vm.Subjects==null || vm.Subjects==\"\")\r\n {\r\n //vm.ShareModal.open();\r\n vm.showFailure(\"Failure\", \"Please enter subjects\");\r\n return;\r\n }\r\n var data = {\r\n \"InviteMailIdList\": toemailsList, \r\n \"MailBody\": vm.message,\r\n \"MailSubject\": vm.Subjects,\r\n } \r\n invitedUserService.SendEmails(token,data,loggedinUser).then(function(resp){\r\n if (resp.status == 200) { \r\n vm.showSuccess(\"Success\", \"Emails has been sent successfully\");\r\n vm.closeShareReportModal();\r\n }\r\n else{\r\n vm.showFailure(\"Failure\", \"Unable to send emails due to server issue\");\r\n }\r\n })\r\n }\r\n//}\r\n});\r\n\r\nfunction CheckRegExOnKeyPress(e) {\r\n debugger\r\n var regex = new RegExp(\"^[a-zA-Z0-9\\\\s.,/-]+$\");\r\n var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);\r\n if (regex.test(str)) {\r\n return true;\r\n }\r\n e.preventDefault();\r\n return false;\r\n};\nangular.module('inspinia').service('InvitedAllUserService',function(ApiURL,FreelancerURL, PublicApiURL,ActivityURL,LocationURL,$http, FreelancerURL, SchedulingAPI){\r\n\r\n this.GetAllSkills = function (loggedinUser, token) { \r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json', 'Token': token, 'UserId': loggedinUser}\r\n });\r\n }\r\n\r\n\r\n this.getAllState = function (loggedinUser,token) { \r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url,{\r\n headers:{\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n this.GetAllRegisteredUser = function (loggedinUser,token,itemNames,itemValues,userType,userAvailableStatus,DateField,PageIndex,PageSize, startDate, endDate) {\r\n var url = '';\r\n url = FreelancerURL + '/api/FreeLancerRegistration/GetRegisteredUsersByFiltersWithDynaPage?itemNames=' + itemNames + '&itemValues=' + itemValues + '&userType=' + userType+ '&userAvailableStatus=' + userAvailableStatus + '&DateField=' + DateField + '&PageIndex=' + PageIndex + '&PageSize=' + PageSize + '&FromDate=' + startDate + '&ToDate=' + endDate;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.getAllState = function (loggedinUser) {\r\n var url = LocationURL + '/api/Location/' + loggedinUser + '/GetAllStates';\r\n return $http.get(url, {\r\n params: {}\r\n });\r\n }\r\n //http://192.168.0.80:92/LocationAPI/api/Location/saurabhgupta3371%40gmail.com/UTTAR%20PRADESH/GetCitiesByState\r\n \r\n this.getCityByState = function (loggedinUser, state) {\r\n var url = LocationURL + '/api/Location/' + loggedinUser + '/' + state + '/GetCitiesByState';\r\n return $http.get(url, {\r\n params: {}\r\n });\r\n }\r\n\r\n});\nangular.module('inspinia').controller('InvitedAllUserController', function (InvitedAllUserService,ReferService,$q,CentralHelpdeskConfigService, ScheduleAssignService,InvitedAllUserService, $log, $state, $localStorage, $stateParams, $uibModal, $scope, DTOptionsBuilder, DTColumnDefBuilder, toaster, $timeout, $compile, uiCalendarConfig, ImageUrl, PublicApiURL,$window) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var loggedinUserSkill = $localStorage.loggedInUser_SkillSet;\r\n var loggedinUserRegion = $localStorage.loggedInUser_Region;\r\n var accountid= $localStorage.accountConfig.AccountId;\r\n \r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n var token = $localStorage.token;\r\n \r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.accountConfig = $localStorage.accountConfig;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.IsMaterialDelivered = $localStorage.accountConfig.IsMaterialDelivered;\r\n vm.MobiforceCommission = vm.getAccountConfigSetting('MobiforceCommissionPercentage');\r\n vm.VendorAssignation = vm.getAccountConfigSetting('VendorAssignation');\r\n vm.EnableRegion = vm.getAccountConfigSetting('EnableRegion');\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n vm.FreelancerAccess = vm.getAccountConfigSetting('FreelancerAccess');\r\n //Global Variable Declaration\r\n vm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n vm.loggedInUserVendorId = $localStorage.loggedInUser_VendorId;\r\n vm.loggedInUserReportingTo = $localStorage.loggedInUser_ReportingTo;\r\n vm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n vm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n vm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n vm.loggedinAs = $localStorage.loggedinAs;\r\n vm.PermanentState = '';\r\n vm.PermanentCity = '';\r\n vm.userskill = '';\r\n vm.pincode = '';\r\n vm.userNameSearch = '';\r\n vm.contactNumberSearch = '';\r\n vm.userSource = '';\r\n vm.CriminalVerified='';\r\n vm.IdVerified='';\r\n vm.PANVerified='';\r\n vm.UserAvailable=''\r\n vm.skillData = '';\r\n vm.circleData = '';\r\n vm.isChecked = \"fixed\";\r\n vm.searchText = \"\";\r\n vm.Technicianstartingdate = '2017-01-01';\r\n vm.tab = '';\r\n vm.pageindexCount=0;\r\n vm.DateField=\"StatusChangedOn\";\r\n vm.searchStatusText=\"All\"; \r\n var uPageIndex = 1;\r\n var uPageSize = 10; \r\n vm.UsersType=\"\";\r\n vm.uType=\"\";\r\n var uitemNames=\"UserStatus\";\r\n var uitemValues=\"Invite\";\r\n vm.searchUsersText=\"\";\r\n vm.jobsCount='';\r\n vm.userPageListCount= 10;\r\n vm.pageListCounts = [10, 20, 30, 50];\r\n\r\n var startDate = moment().subtract(7, 'days').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n $scope.dates = { startDate: startDate, endDate:endDate};\r\n $scope.ranges = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n 'Till now': [moment(vm.Technicianstartingdate), moment(endDate)],\r\n };\r\n \r\n $scope.dateRangeChange = function (ev, picker) {\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n };\r\n vm.searchText = '';\r\n vm.RegistrationNo = '';\r\n\r\n vm.preProcessData = function (vendor) {\r\n var locations = \"\";\r\n angular.forEach(vendor.WorkLocationList, function (l) {\r\n locations += l + \",\";\r\n });\r\n vendor.allLocations = locations.length > 0 ? locations.substring(0, locations.length - 1) : \"\";\r\n\r\n var skills = \"\";\r\n angular.forEach(vendor.SkillData, function (s) {\r\n skills += s.Skill + \",\";\r\n });\r\n vendor.allSkills = skills.length > 0 ? skills.substring(0, skills.length - 1) : \"\";\r\n }\r\n\r\n vm.creationForm = function (RegistrationNo) {\r\n $localStorage.From = '';\r\n $state.go('index.OnBoardingForm', {\r\n RegistrationNo: RegistrationNo\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.loadAllSkills = function(){ \r\n InvitedAllUserService.GetAllSkills(loggedinUser, token).then(function (resp) {\r\n vm.skillsWithPipe = '';\r\n if (resp && resp.data) {\r\n vm.skillData = resp.data;\r\n if(vm.skillData && vm.skillData.length>0){\r\n angular.forEach(vm.skillData, function(s){\r\n vm.skillsWithPipe += s.SkillName+\"|\";\r\n });\r\n vm.skillsWithPipe = vm.skillsWithPipe.length>0\r\n ? vm.skillsWithPipe.substring(0,vm.skillsWithPipe.length-1) : \"\";\r\n }\r\n }\r\n });\r\n }\r\n vm.loadAllSkills();\r\n \r\n vm.getProfilePic = function (profilePicName) {\r\n return profilePicName ? ImageUrl + \"/\" + profilePicName : null;\r\n }\r\n\r\n \r\n vm.ResetUserSelection = function (scope){\r\n scope.selectAllFL = false;\r\n scope.showMinusFL = false;\r\n scope.selectCountFL = 0;\r\n }\r\n\r\n if(vm.loggedInUserRole == \"SuperAdministrator\")\r\n {\r\n vm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\", \"Freelancer Team\"];\r\n }\r\n else\r\n {\r\n vm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\", \"Freelancer Team\"];\r\n }\r\n \r\n vm.ResetUserFilter = function () { \r\n vm.UsersType = '';\r\n vm.PermanentState = '';\r\n vm.PermanentCity = '';\r\n vm.userskill = ''; \r\n vm.uType= ''; \r\n vm.CriminalVerified='';\r\n vm.IdVerified='';\r\n vm.PANVerified=''; \r\n vm.userSource = ''; \r\n vm.pincode ='';\r\n vm.userNameSearch ='';\r\n vm.contactNumberSearch = '';\r\n startDate = '';\r\n endDate = '';\r\n vm.applyUserFilter();\r\n // vm.GetAllRegisteredUser(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize, startDate, endDate);\r\n\r\n }\r\n\r\n vm.UsersFilterArray = function()\r\n {\r\n vm.ResetUserSelection(this);\r\n uitemNames=\"UserStatus\";\r\n uitemValues=\"Invite\";\r\n\r\n if (vm.userskill) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',SkillSet';\r\n uitemValues = uitemValues + \",\" + vm.userskill;\r\n }\r\n else\r\n {\r\n uitemNames = 'SkillSet';\r\n uitemValues = vm.userskill;\r\n } \r\n }\r\n if (vm.userSource) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',Source';\r\n uitemValues = uitemValues + \",\" + vm.userSource;\r\n }\r\n else\r\n {\r\n uitemNames = 'Source';\r\n uitemValues = vm.userSource;\r\n } \r\n }\r\n if (vm.pincode) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',Search';\r\n uitemValues = uitemValues + \",\" + vm.pincode;\r\n }\r\n else\r\n {\r\n uitemNames = 'Search';\r\n uitemValues = vm.pincode;\r\n } \r\n }\r\n if (vm.userNameSearch) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',Search';\r\n uitemValues = uitemValues + \",\" + vm.userNameSearch;\r\n }\r\n else\r\n {\r\n uitemNames = 'Search';\r\n uitemValues = vm.userNameSearch;\r\n } \r\n }\r\n if (vm.contactNumberSearch) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',ContactNumber';\r\n uitemValues = uitemValues + \",\" + vm.contactNumberSearch;\r\n }\r\n else\r\n {\r\n uitemNames = 'ContactNumber';\r\n uitemValues = vm.contactNumberSearch;\r\n } \r\n }\r\n \r\n if (vm.CriminalVerified == true) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',IsCriminalVerified';\r\n uitemValues = uitemValues + \",\" + true;\r\n }\r\n else\r\n {\r\n uitemNames = 'IsCriminalVerified';\r\n uitemValues = true;\r\n } \r\n }\r\n if (vm.IdVerified == true) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',IsAdharVerified';\r\n uitemValues = uitemValues + \",\" + true;\r\n }\r\n else\r\n {\r\n uitemNames = 'IsAdharVerified';\r\n uitemValues = true;\r\n } \r\n }\r\n if (vm.PANVerified == true) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',IsPanVerified';\r\n uitemValues = uitemValues + \",\" + true;\r\n }\r\n else\r\n {\r\n uitemNames = 'IsPanVerified';\r\n uitemValues = true;\r\n } \r\n }\r\n if (vm.PermanentState) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',Locations';\r\n uitemValues = uitemValues + \",\" + vm.PermanentState;\r\n }\r\n else\r\n {\r\n uitemNames = 'Locations';\r\n uitemValues = vm.PermanentState;\r\n } \r\n }\r\n if (vm.PermanentState && vm.PermanentCity) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',CurrentCity';\r\n uitemValues = uitemValues + \",\" + vm.PermanentCity;\r\n }\r\n else\r\n {\r\n uitemNames = 'CurrentCity';\r\n uitemValues = vm.UsersType;\r\n } \r\n }\r\n if (vm.UsersType) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',Role';\r\n uitemValues = uitemValues + \",\" + vm.UsersType;\r\n }\r\n else\r\n {\r\n uitemNames = 'Role';\r\n uitemValues = vm.UsersType;\r\n } \r\n } \r\n\r\n if(vm.UsersType==\"Freelancer\")\r\n {\r\n vm.uType=\"Freelancer\";\r\n }\r\n else if(vm.UsersType==\"Freelancer Vendor\")\r\n {\r\n vm.uType=\"Freelancer\";\r\n } \r\n else if(vm.UsersType==\"Freelancer Team\")\r\n {\r\n vm.uType=\"Fixed\";\r\n }\r\n else \r\n {\r\n vm.uType=\"\";\r\n vm.UsersType = '';\r\n } \r\n\r\n }\r\n\r\n function getAllStates(loggedinUser) {\r\n var defered = $q.defer();\r\n ReferService.getAllState(loggedinUser,token).then(function (resp) {\r\n defered.resolve(resp);\r\n }, function (error) {\r\n defered.reject(error);\r\n });\r\n return defered.promise;\r\n }\r\n \r\n var allStatePromise = getAllStates(loggedinUser);\r\n allStatePromise.then(function (resp) {\r\n vm.StateList = resp.data;\r\n \r\n });\r\n function getallCities(state) {\r\n ReferService.getAllCity(loggedinUser, state,token).then(function (resp) {\r\n vm.CityList = resp.data;\r\n });\r\n }\r\n vm.selectedState = function (state) {\r\n getallCities(state);\r\n }\r\n\r\n $scope.totalUsers = 0;\r\n $scope.usersPerPage = vm.userPageListCount;\r\n $scope.Userpagination = {\r\n current: 1\r\n };\r\n\r\n //left show page 10 20 30\r\n vm.changeUserPageListCount = function() { \r\n $scope.usersPerPage = vm.userPageListCount;\r\n uPageSize = $scope.usersPerPage;\r\n $scope.UserTablePageChanged($scope.Userpagination.current);\r\n vm.selectAll = false;\r\n \r\n uPageIndex=$scope.Userpagination.current;\r\n $scope.UserTablePageChanged = function(newPage) { \r\n uPageIndex = newPage;\r\n vm.UsersFilterArray(); \r\n vm.GetAllRegisteredUser(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize, startDate, endDate);\r\n\r\n };\r\n }\r\n \r\n uPageIndex=$scope.Userpagination.current;\r\n $scope.UserTablePageChanged = function(newPage) { \r\n uPageIndex = newPage;\r\n if(uitemNames != 'Search')\r\n {\r\n vm.UsersFilterArray();\r\n }\r\n \r\n vm.GetAllRegisteredUser(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize, startDate, endDate);\r\n\r\n };\r\n\r\n vm.ticketList=[];\r\n\r\n vm.UserByFiltersList=[];\r\n vm.GetAllRegisteredUser = function (loggedinUser, token, uitemNames, uitemValues, userType, UserAvailable, uPageIndex, uPageSize) {\r\n InvitedAllUserService.GetAllRegisteredUser(loggedinUser, token, uitemNames, uitemValues, userType, vm.UserAvailable, vm.DateField, uPageIndex, uPageSize, startDate, endDate).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.UserByFiltersList = resp.data.ListUserResponseModel;\r\n $scope.totalUsers = resp.data.Count;\r\n // preprocessData(vm.UserByFiltersList);\r\n if(vm.UserByFiltersList.length < vm.userPageListCount)\r\n vm.userListLength = $scope.totalUsers;\r\n else\r\n vm.userListLength = uPageIndex * vm.userPageListCount;\r\n if(uPageIndex==1)\r\n vm.upageindexCount = 1;\r\n else\r\n vm.upageindexCount = (((uPageIndex-1) * vm.userPageListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n }\r\n vm.UsersFilterArray(); \r\n vm.GetAllRegisteredUser(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize, startDate, endDate);\r\n\r\n }\r\n vm.searchTicket = function () { \r\n vm.ResetTicketFilter(); \r\n };\r\n vm.searchUser = function () { \r\n vm.ResetUserSelection(this);\r\n vm.ResetUserFilter(); \r\n if(vm.searchUsersText)\r\n {\r\n uitemNames = 'Search';\r\n uitemValues = vm.searchUsersText;\r\n } \r\n vm.GetAllRegisteredUser(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize, startDate, endDate);\r\n\r\n };\r\n \r\n\r\n vm.closeUserSearchText = function()\r\n { \r\n vm.ResetUserSelection(this);\r\n vm.ResetUserFilter(); \r\n vm.searchUsersText=\"\";\r\n uitemNames = '';\r\n uitemValues = ''; \r\n vm.GetAllRegisteredUser(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize, startDate, endDate);\r\n\r\n\r\n }\r\n vm.applyUserFilter=function()\r\n { \r\n vm.UsersFilterArray(); \r\n \r\n uPageIndex=1;\r\n $scope.Userpagination = {\r\n current: 1\r\n }; \r\n vm.GetAllRegisteredUser(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize, startDate, endDate);\r\n\r\n\r\n }\r\n vm.SubmitFilter = function () { \r\n\r\n $scope.Userpagination = {};\r\n vm.UsersFilterArray();\r\n uPageIndex=1;\r\n $scope.Userpagination = {\r\n current: 1\r\n }; \r\n vm.GetAllRegisteredUser(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize, startDate, endDate);\r\n\r\n\r\n }\r\n});\nangular.module('inspinia').service('InvigilatorShiftAttendanceService', function (ApiURL, StaffSchedulingAPI ,SchedulingAPI, $window, $http) {\r\n\r\n var vm = this;\r\n vm.setShowSuccess = function (success) {\r\n vm.showSuccess = success;\r\n }\r\n\r\n vm.setShowFailure = function (failure) {\r\n vm.showFailure = failure;\r\n }\r\n\r\n this.GetEmployeeAttendanceShiftView = function (data, loginUserId, token) {\r\n var url = StaffSchedulingAPI + '/api/StaffShift/GetEmployeeAttendanceShiftViewDynamic';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetAllCampaignName = function (loginUserId, token) {\r\n var url = StaffSchedulingAPI + '/api/StaffShift/GetAllStaffShiftCampaignId';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n this.FillShiftDataForUser = function (data, loginUserId, token) {\r\n var url = StaffSchedulingAPI + '/api/StaffShift/FillShiftDataForUser';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('InvigilatorShiftAttendanceController', function (InvigilatorShiftAttendanceService, shiftManagementService, $state, $localStorage, $scope, DTOptionsBuilder, DTColumnBuilder, $uibModal, $timeout) {\r\n\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\t\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\t\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\t\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\t\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\t\tvm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n\t\tvm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\t\t$scope.isNavCollapsed = true;\r\n\t\t$scope.isCollapsed = true;\r\n\t\t$scope.isCollapsedHorizontal = false;\r\n\t\tvm.dtInstance = {};\r\n\t\tvm.selectSingle = false;\r\n\t\tvm.ticketPageListCount = 10;\r\n\t\tvm.pageListCounts = [10, 20, 30, 50];\r\n\t\tvm.scheduleExceptionListNewLength = 0;\r\n\t\tvar PageIndex = 1;\r\n\t\tvar PageSize = 10;\r\n\t\tvm.SearchByAccountName = '';\r\n\t\tvm.ExceptionType = '';\r\n\t\tvm.exceptionState = '';\r\n\t\tvm.showAllAccounts = [];\r\n\t\tvm.UserId = '';\r\n\t\t$scope.dates = { startDate: moment().subtract(0, 'days'), endDate: moment() };\r\n\t\tvar startDate = moment().subtract(0, 'days').format(\"YYYY-MM-DD\");\r\n\t\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\r\n\t\tvm.ReportingStartTime = moment('09:00', 'HH:mm').toDate();\r\n\t\tvm.ReportingEndTime = moment('18:00', 'HH:mm').toDate(); \r\n\r\n\t\t$scope.ranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment()]\r\n\t\t};\r\n\r\n\t\t$scope.dateRangeChange = function (ev, picker) {\r\n\t\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\t};\r\n\r\n\t\tvm.disableCreateButton = false;\r\n\r\n\t\tvm.DisableCreateButton = function (disable) {\r\n\t\t\tif (disable) {\r\n\t\t\t\tvm.disableCreateButton = true;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.disableCreateButton = false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tfunction generateDates(startDate, endDate) {\r\n\t\t\tvar currentDate = new Date(startDate);\r\n\t\t\tvar dates = [];\r\n\t\t\twhile (currentDate <= endDate) {\r\n\t\t\t\tvar day = currentDate.toLocaleDateString('en-IN', { weekday: 'short' });\r\n\t\t\t\tvar formattedDate = currentDate.getDate() + '-' + currentDate.toLocaleDateString('en-IN', { month: 'short' });\r\n\t\t\t\tdates.push({ day: day, date: formattedDate });\r\n\t\t\t\tcurrentDate.setDate(currentDate.getDate() + 1);\r\n\t\t\t}\r\n\t\t\treturn dates;\r\n\t\t}\r\n\r\n\r\n\t\t$scope.months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\r\n\t\t$scope.CampaginId = \"\";\r\n\t\tvar today = new Date();\r\n\t\t$scope.selectedYear = new Date().getFullYear();\r\n\t\t$scope.selectedMonth = $scope.months[new Date().getMonth()];\r\n\t\tvar startDate = new Date(today.getFullYear(), today.getMonth(), 1);\r\n\t\t$scope.filteredDates = generateDates(startDate, new Date(today.getFullYear(), today.getMonth() + 1, 0)); // End date is the last day of the current month\r\n\r\n\t\t$scope.$watchGroup(['selectedYear', 'selectedMonth','CampaginId'], function (newValues, oldValues) {\r\n\t\t\tvar selectedYear = newValues[0];\r\n\t\t\tvar selectedMonth = newValues[1];\r\n\t\t\tvm.newStartDate = new Date(selectedYear, $scope.months.indexOf(selectedMonth), 1);\r\n\t\t\tvm.newEndDate = new Date(selectedYear, $scope.months.indexOf(selectedMonth)+1, 0);\r\n\t\t\t$scope.filteredDates = generateDates(vm.newStartDate, vm.newEndDate);\r\n\t\t\tvm.GetEmployeeAttendanceShiftView(moment(vm.newStartDate).format(\"YYYY-MM-DD\"), moment(vm.newEndDate).format(\"YYYY-MM-DD\"));\r\n\t\t});\r\n\r\n\t\t$scope.years = Array.from({ length: 10 }, function (_, i) {\r\n\t\t\treturn startDate.getFullYear() + i;\r\n\t\t});\r\n\r\n\r\n\t\tvm.Markattendance = function (userIdForAttendance) {\r\n\t\t\tvm.userIdForAttendance = userIdForAttendance;\r\n\t\t\tvm.attendanceModal = $uibModal.open({\r\n\t\t\t templateUrl: 'Attendance_modal.html',\r\n\t\t\t backdrop: 'static',\r\n\t\t\t size: 'md',\r\n\t\t\t scope: $scope\r\n\t\t\t});\r\n\t\t }\r\n\t\t vm.closeAttendanceModal = function () {\r\n\t\t\tvm.attendanceModal.close();\r\n\t\t\tvm.DisableCreateButton(false);\r\n\t\t\tvm.ReportingStartTime = moment('09:00', 'HH:mm').toDate();\r\n\t\t\tvm.ReportingEndTime = moment('18:00', 'HH:mm').toDate(); \r\n\t\t\tvm.userIdForAttendance = \"\";\r\n\t\t }\r\n\r\n\t\tvm.GetEmployeeAttendanceShiftView = function (startDate, endDate) {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"LocationId\": \"\",\r\n\t\t\t\t\"DepartmentId\": \"\",\r\n\t\t\t\t\"StartDate\": startDate,\r\n\t\t\t\t\"EndDate\": endDate,\r\n\t\t\t\t\"AutoSchedule\": true,\r\n\t\t\t\t\"CampaginId\": $scope.CampaginId\r\n\t\t\t}\r\n\t\t\tInvigilatorShiftAttendanceService.GetEmployeeAttendanceShiftView(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200 && resp) {\r\n\t\t\t\t\tvm.StaffList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\t\r\n\t\tvm.GetAllCampaignName = function () {\r\n\t\t\tInvigilatorShiftAttendanceService.GetAllCampaignName(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\tvm.campaignNameList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tvm.GetAllCampaignName();\r\n\r\n\t\tvm.FillShiftDataForUser = function () {\r\n\t\t\tvm.campaign_creation_form.submitted = true;\r\n\t\t\tif (vm.campaign_creation_form.$valid) {\r\n\t\t\t\tvm.DisableCreateButton(true);\r\n\t\t\t\tvar data = {\r\n\t\t\t\t\t\"UserId\": vm.userIdForAttendance,\r\n\t\t\t\t\t\"ShiftStartTime\": moment(vm.ReportingStartTime).format(\"HH:mm\"),\r\n\t\t\t\t\t\"ShiftEndTime\": moment(vm.ReportingEndTime).format(\"HH:mm\"),\r\n\t\t\t\t}\r\n\t\t\t\tInvigilatorShiftAttendanceService.FillShiftDataForUser(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 200 && resp) {\r\n\t\t\t\t\t\tvm.closeAttendanceModal();\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Today's attendance marked successfully\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\tvm.GetEmployeeAttendanceShiftView(moment(vm.newStartDate).format(\"YYYY-MM-DD\"), moment(vm.newEndDate).format(\"YYYY-MM-DD\"));\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.GetAllLocations = function () {\r\n\t\t\tshiftManagementService.GetAllLocations(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200 && resp) {\r\n\t\t\t\t\tvm.locationsList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tvm.GetAllLocations();\r\n\r\n\t\tvm.exportTableToCSV = function(tableId, filename) {\r\n\t\t\tvar csv = [];\r\n\t\t\tvar rows = document.querySelectorAll('#' + tableId + ' tbody tr');\r\n\t\t\tvar headers = [];\r\n\t\t\tvar headerCells = document.querySelectorAll('#' + tableId + ' thead th');\r\n\t\t\tvar dateRow = [];\r\n\t\t\r\n\t\t\t// Collect headers\r\n\t\t\theaderCells.forEach(function(header) {\r\n\t\t\t\theaders.push('\"' + header.innerText.replace(/\"/g, '\"\"') + '\"');\r\n\t\t\t});\r\n\t\t\tcsv.push(headers.join(','));\r\n\r\n\t\t\tfor (var i = 0; i < 6; i++) {\r\n\t\t\t\tdateRow.push('\"\"'); // Empty cell\r\n\t\t\t}\r\n\t\t\r\n\t\t\t// Collect date row\r\n\t\t\tvar dateCells = document.querySelectorAll('#' + tableId + ' thead tr:nth-child(2) td'); // Assuming the date row is the second row in the thead\r\n\t\t\tdateCells.forEach(function(dateCell) {\r\n\t\t\t\tdateRow.push('\"' + dateCell.innerText.replace(/\"/g, '\"\"') + '\"');\r\n\t\t\t});\r\n\t\t\tcsv.push(dateRow.join(','));\r\n\t\t\r\n\t\t\t// Collect data rows\r\n\t\t\trows.forEach(function(row) {\r\n\t\t\t\tvar rowData = [];\r\n\t\t\t\trow.querySelectorAll('td').forEach(function(cell) {\r\n\t\t\t\t\trowData.push('\"' + cell.innerText.replace(/\"/g, '\"\"') + '\"');\r\n\t\t\t\t});\r\n\t\t\t\tcsv.push(rowData.join(','));\r\n\t\t\t});\r\n\t\t\r\n\t\t\t// Download CSV file\r\n\t\t\tvar csvFile = new Blob([csv.join('\\n')], { type: 'text/csv;charset=utf-8;' });\r\n\t\t\tvar link = document.createElement('a');\r\n\t\t\tlink.href = URL.createObjectURL(csvFile);\r\n\t\t\tlink.setAttribute('download', filename);\r\n\t\t\tlink.style.display = 'none';\r\n\t\t\tdocument.body.appendChild(link);\r\n\t\t\tlink.click();\r\n\t\t\tdocument.body.removeChild(link);\r\n\t\t}\r\n\t\t\r\n\t\t\r\n\t\t\r\n\r\n\t}\r\n});\nangular.module('inspinia').service('InventoryItemListService', function (ApiURL,MMFCRMURL, AcessoriesURL, $window, $http) {\r\n\r\n this.GetAllVisibleMasterParts = function (data,loggedInUserId, token) {\r\n var url = AcessoriesURL + '/api/MMFMasterInventory/GetAllVisibleMasterParts';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n this.GetAllVisibleMasterPartsNew = function (data,loggedInUserId, token) {\r\n var url = AcessoriesURL + '/api/MMFMasterInventory/GetAllVisibleMasterPartsNew';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.UpdateMasterPart = function (masterPartData, loggedInUserId, token) {\r\n var url = AcessoriesURL + '/api/MMFMasterInventory/UpdateMasterPart';\r\n return $http.put(url, masterPartData, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetAllActiveProductModelMaster = function (ProductName, brand,loggedinUser, token) {\r\n var url = MMFCRMURL + '/api/CRMBrandProductMaster/GetAllActiveProductModelMaster?productName=' + ProductName + '&brandName=' + brand;\r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.CreateNewMasterPart = function (createPartData, loggedInUserId, token) {\r\n var url = AcessoriesURL + '/api/MMFMasterInventory/CreateNewMasterPart';\r\n return $http.post(url, createPartData, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetAllProjects = function (loggedInUserId, token) {\r\n var url = ApiURL + '/api/Project/' + loggedInUserId + '/' + loggedInUserId + '/GetProjectsByUserId'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedInUserId }\r\n })\r\n }\r\n\r\n this.UploadMediaInBulk = function (formdata, loggedInUserId, token) {\r\n var url = ApiURL + '/api/Upload/UploadMediaInBulk';\r\n return $http.post(url, formdata, {\r\n headers: {\r\n 'Content-Type': undefined, 'Token': token, 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetAllBrandMasterStringList = function (data,loggedinUser, token) {\r\n\t\tvar url = MMFCRMURL + '/api/CRMBrandProductMaster/GetAllBrandNameStringList';\r\n\t\treturn $http.post(url,data, {\r\n\t\t\theaders: { 'Token': token, 'UserId': loggedinUser }\r\n\t\t});\r\n\t}\r\n\r\n this.GetAllProductGroupMasterStringList = function (data,loggedinUser, token) {\r\n\t\tvar url = MMFCRMURL + '/api/CRMBrandProductMaster/GetAllBrandSubGroupStringList';\r\n\t\treturn $http.post(url,data, {\r\n\t\t\theaders: { 'Token': token, 'UserId': loggedinUser }\r\n\t\t});\r\n\t}\r\n this.GetAllProductMasterStringList = function (data,loggedinUser, token) {\r\n\t\tvar url = MMFCRMURL + '/api/CRMBrandProductMaster/GetAllBrandProductMasterStringList';\r\n\t\treturn $http.post(url,data, {\r\n\t\t\theaders: { 'Token': token, 'UserId': loggedinUser }\r\n\t\t});\r\n\t}\r\n \r\n this.GetItemPartName = function (brandName, productGroup,partName,loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFMasterInventory/GetItemListName?BrandName=' + brandName + '&ProductGroupName=' + productGroup + '&ProductName='+ partName;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('InventoryItemListController', function (InventoryItemListService, MainService, InventoryCartService, BrandProductMasterCreationService, toaster, $filter, $compile, $q, $state, $localStorage, $scope, DTOptionsBuilder, DTColumnBuilder, $uibModal, $timeout) {\r\n\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvm.AccountId = $localStorage.accountConfig.AccountId;\r\n\t\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\t\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\t\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\t\tvm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n\t\tvm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\t\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\t\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\t\tvm.UserId = '';\r\n\t\tvm.searchTag = '';\r\n\t\tvm.PartImagesList = [];\r\n\t\tvm.TrainingImagebase64 = [];\r\n\t\tvm.InventoryImagebase64 = [];\r\n\t\tvm.masterInventoryList = [];\r\n\t\tvm.AllActiveProductModelNoList = [];\r\n\t\t$scope.dates = { startDate: moment().subtract(0, 'days'), endDate: moment() };\r\n\t\tvar startDate = moment().subtract(0, 'days').format(\"YYYY-MM-DD\");\r\n\t\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\t\tvar PageIndex = 1;\r\n\t\tvar PageSize = 100;\r\n\t\tvm.Orderby = \"CreatedOn\";\r\n vm.SortType = \"desc\";\r\n\t\tvm.allInventoryPageListCount = 100;\r\n\t\tvm.pageListCounts = [100, 200, 500, 1000,2000]\r\n\t\t$scope.ranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment()]\r\n\t\t};\r\n\r\n\t\t$scope.dateRangeChange = function (ev, picker) {\r\n\t\t\t// console.log(ev, picker);\r\n\t\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\t\tvm.getAllJobForExceptionList();\r\n\r\n\r\n\t\t};\r\n\t\tvm.isTableVisible = true;\r\n\t\tvm.isCardVisible = false;\r\n\r\n\t\tvm.showTable = function () {\r\n\t\t\tvm.isTableVisible = true;\r\n\t\t\tvm.isCardVisible = false;\r\n\t\t\tvm.GetAllVisibleMasterParts();\r\n\t\t};\r\n\r\n\t\tvm.showCard = function () {\r\n\t\t\tvm.isTableVisible = false;\r\n\t\t\tvm.isCardVisible = true;\r\n\t\t\tvm.GetAllVisibleMasterParts();\r\n\t\t};\r\n\r\n\t\tvm.disableCreateButton = false;\r\n\r\n\t\tvm.DisableCreateButton = function (disable) {\r\n\t\t\tif (disable) {\r\n\t\t\t\tvm.disableCreateButton = true;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.disableCreateButton = false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\t// vm.allInventoryPageListCount = 10;\r\n\t\t// vm.pageListCounts = [10, 20, 30, 50];\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t$scope.totalInvList = 0;\r\n\t\t$scope.inventoryPerPage = vm.allInventoryPageListCount;\r\n\t\t$scope.InventoryPagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\r\n\t\tvm.changeAllInventoryPageListCount = function () {\r\n\t\t\t$scope.inventoryPerPage = vm.allInventoryPageListCount;\r\n\t\t\tPageSize = $scope.inventoryPerPage;\r\n\t\t\t$scope.AllInventoryTablePageChanged($scope.InventoryPagination.current);\r\n\t\t\tvm.selectAll = false;\r\n\t\t\tPageIndex = $scope.InventoryPagination.current;\r\n\t\t\t$scope.AllInventoryTablePageChanged = function (newPage) {\r\n\t\t\t\tPageIndex = newPage;\r\n\t\t\t\tvm.GetAllVisibleMasterParts();\r\n\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tPageIndex = $scope.InventoryPagination.current;\r\n\t\t$scope.AllInventoryTablePageChanged = function (newPage) {\r\n\t\t\tPageIndex = newPage;\r\n\t\t\tvm.GetAllVisibleMasterParts();\r\n\r\n\t\t};\r\n\r\n\r\n\t\tvm.InventoryImageServices = function (img, rowIndex, imageIndex) {\r\n\t\t\tMainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n\t\t\t\tif (resp.data == null || resp.data == '') {\r\n\t\t\t\t\tvm.InventoryImagebase64[rowIndex][imageIndex] = 'assets/images/patterns/image_placeholder.png';\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tif (!vm.InventoryImagebase64[rowIndex]) {\r\n\t\t\t\t\t\tvm.InventoryImagebase64[rowIndex] = [];\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.InventoryImagebase64[rowIndex][imageIndex] = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, function () {\r\n\t\t\t\tvm.InventoryImagebase64[rowIndex][imageIndex] = 'assets/images/patterns/image_placeholder.png';\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t// vm.GetAllVisibleMasterParts = function () {\r\n\t\t// \tvar data = {\r\n\t\t// \t\t\"PartName\": vm.selectedPart,\r\n\t\t// \t\t\"PartCategoryGroup\": vm.productGroup,\r\n\t\t// \t\t\"PartBrand\": vm.brandName,\r\n\t\t// \t\t\"PartSubGroup\": vm.partName,\r\n\t\t// \t\t\"SearchText\": vm.searchTag\r\n\t\t// \t}\r\n\t\t// \tInventoryItemListService.GetAllVisibleMasterPartsNew(data, loggedinUser, token).then(function (resp) {\r\n\t\t// \t\tif (resp.data && resp.status == 200) {\r\n\t\t// \t\t\tvm.masterInventoryList = resp.data;\r\n\t\t// \t\t\tvm.masterInventoryList.forEach(function (item, rowIndex) {\r\n\t\t// \t\t\t\tif (item.PartImages && Array.isArray(item.PartImages)) {\r\n\t\t// \t\t\t\t\tvm.InventoryImagebase64[rowIndex] = [];\r\n\t\t// \t\t\t\t\titem.PartImages.forEach(function (image, imageIndex) {\r\n\t\t// \t\t\t\t\t\tvm.InventoryImageServices(image, rowIndex, imageIndex);\r\n\t\t// \t\t\t\t\t});\r\n\t\t// \t\t\t\t}\r\n\t\t// \t\t\t});\r\n\t\t\t\t\t\r\n\t\t// \t\t}\r\n\t\t// \t}, vm.showFailure);\r\n\t\t// }\r\n\r\n\t\tvm.GetAllVisibleMasterParts = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"PartType\" : \"\",\r\n\t\t\t\t\"PartName\": vm.selectedPart,\r\n\t\t\t\t\"PartCategoryGroup\": vm.productGroup,\r\n\t\t\t\t\"PartBrand\": vm.brandName,\r\n\t\t\t\t\"PartSubGroup\": vm.partName,\r\n\t\t\t\t\"SearchText\": vm.searchTag,\r\n\t\t\t\t\"HSNCode\" :\"\",\r\n\t\t\t\t\"ModelNumber\": \"\",\r\n\t\t\t\t\"PageIndex\": PageIndex,\r\n\t\t\t\t\"PageSize\":PageSize,\r\n\t\t\t\t\"OrderBy\":vm.Orderby,\r\n\t\t\t\t\"SortType\": vm.SortType\r\n\t\t\t}\r\n\t\t\tInventoryItemListService.GetAllVisibleMasterPartsNew(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.masterInventoryList = resp.data.masterItemModel;\r\n\t\t\t\t\tvm.masterInventoryList.forEach(function (item, rowIndex) {\r\n\t\t\t\t\t\tif (item.PartImages && Array.isArray(item.PartImages)) {\r\n\t\t\t\t\t\t\tvm.InventoryImagebase64[rowIndex] = [];\r\n\t\t\t\t\t\t\titem.PartImages.forEach(function (image, imageIndex) {\r\n\t\t\t\t\t\t\t\tvm.InventoryImageServices(image, rowIndex, imageIndex);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\t$scope.totalInvList = resp.data.Count;\r\n\t\t\t\t\tif (vm.masterInventoryList.length < vm.allInventoryPageListCount)\r\n\t\t\t\t\t\tvm.inventoryListLength = $scope.totalInvList;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.inventoryListLength = PageIndex * vm.allInventoryPageListCount;\r\n\t\t\t\t\tif (PageIndex == 1)\r\n\t\t\t\t\t\tvm.pageindexCount = 1;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.pageindexCount = (((PageIndex - 1) * vm.allInventoryPageListCount) + 1);\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.GetAllVisibleMasterParts();\r\n\r\n\t\tvm.GetAllProjects = function () {\r\n\t\t\tInventoryItemListService.GetAllProjects(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.projectList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.GetAllProjects();\r\n\r\n\t\tvm.GetAllActiveProductModelMaster = function () {\r\n\t\t\tInventoryItemListService.GetAllActiveProductModelMaster(vm.PartSubGroup,vm.PartBrand,loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.AllActiveProductModelNoList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\r\n\t\tvm.CreateListItemModel = function () {\r\n\t\t\tvm.createitemlistModelOpen = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'CreateItemListModel.html',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.CloseItemListModel = function () {\r\n\t\t\tvm.createitemlistModelOpen.close();\r\n\t\t\tvm.DisableCreateButton(false);\r\n\t\t\tvm.PartName = '';\r\n\t\t\tvm.SKUId = '';\r\n\t\t\tvm.Project = '';\r\n\t\t\tvm.PartImagesList = [];\r\n\t\t\t$scope.ListPartDescription = [''];\r\n\t\t\tvm.PartCategoryGroup = '';\r\n\t\t\tvm.HSNCode = '';\r\n\t\t\tvm.PartSubGroup = '';\r\n\t\t\tvm.PartType = '';\r\n\t\t\tvm.Manufacturer = '';\r\n\t\t\tvm.ModelNumber = '';\r\n\t\t\tvm.PartBrand = '';\r\n\t\t\tvm.PartUnit = '';\r\n\t\t\tvm.PartPrice = '';\r\n\t\t\tvm.PartSellingPrice = '';\r\n\t\t\tvm.PartDiscountPercentage = '';\r\n\t\t\tvm.PartDealerPrice = '';\r\n\t\t\tvm.PartDealerCustomerPrice = '';\r\n\t\t\tvm.PartCustomerPrice = '';\r\n\t\t\tvm.PartWareHousePrice = '';\r\n\t\t\tvm.dIGSTTax = '';\r\n\t\t\tvm.dCGSTTax = '';\r\n\t\t\tvm.dSGSTTax = '';\r\n\t\t\tvm.IsVisibile = false;\r\n\t\t\tvm.IsReturnable = false;\r\n\t\t\t$scope.filesArray = [];\r\n\t\t}\r\n\r\n\t\tvm.CreateNewMasterPart = function () {\r\n\t\t\tvm.itemlist_form.submitted = true;\r\n\t\t\tif (vm.itemlist_form.$valid) {\r\n\t\t\t\t$scope.uploadFiles();\r\n\t\t\t\tvm.DisableCreateButton(true);\r\n\t\t\t\tvar createPartData = {\r\n\t\t\t\t\t\"PartName\": vm.PartName,\r\n\t\t\t\t\t\"SKUId\": vm.SKUId,\r\n\t\t\t\t\t\"PartImages\": vm.PartImagesList,\r\n\t\t\t\t\t\"PartVideos\": [],\r\n\t\t\t\t\t\"ProjectId\": vm.Project.ProjectId,\r\n\t\t\t\t\t\"ProjectName\": vm.Project.Name,\r\n\t\t\t\t\t\"ListPartDescription\": $scope.ListPartDescription,\r\n\t\t\t\t\t\"PartCategoryGroup\": vm.PartCategoryGroup,\r\n\t\t\t\t\t\"strPartSubGroup\": vm.PartSubGroup,\r\n\t\t\t\t\t\"HSNCode\": vm.HSNCode,\r\n\t\t\t\t\t\"PartType\": vm.PartType,\r\n\t\t\t\t\t\"Manufacturer\": vm.Manufacturer,\r\n\t\t\t\t\t\"ModelNumber\": vm.ModelNumber,\r\n\t\t\t\t\t\"PartBrand\": vm.PartBrand,\r\n\t\t\t\t\t\"PartUnit\": vm.PartUnit,\r\n\t\t\t\t\t\"PartPrice\": vm.PartPrice,\r\n\t\t\t\t\t\"PartSellingPrice\": vm.PartSellingPrice,\r\n\t\t\t\t\t\"PartDiscountPercentage\": vm.PartDiscountPercentage,\r\n\t\t\t\t\t\"PartDealerPrice\": vm.PartDealerPrice,\r\n\t\t\t\t\t\"PartDealerCustomerPrice\": vm.PartDealerCustomerPrice,\r\n\t\t\t\t\t\"PartCustomerPrice\": vm.PartCustomerPrice,\r\n\t\t\t\t\t\"PartWareHousePrice\": vm.PartWareHousePrice,\r\n\t\t\t\t\t\"dIGSTTax\": vm.dIGSTTax,\r\n\t\t\t\t\t\"dCGSTTax\": vm.dCGSTTax,\r\n\t\t\t\t\t\"dSGSTTax\": vm.dSGSTTax,\r\n\t\t\t\t\t\"IsVisibile\": vm.IsVisibile,\r\n\t\t\t\t\t\"IsReturnable\": vm.IsReturnable,\r\n\t\t\t\t\t\"IsPartAvailableOnCredit\": false\r\n\t\t\t\t}\r\n\t\t\t\tInventoryItemListService.CreateNewMasterPart(createPartData, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Product added successfully.\");\r\n\t\t\t\t\t\tvm.CloseItemListModel();\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\tvm.GetAllVisibleMasterParts();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t$scope.ListPartDescription = [''];\r\n\r\n\t\t$scope.addDescription = function () {\r\n\t\t\t$scope.ListPartDescription.push('');\r\n\t\t};\r\n\r\n\t\t$scope.removeDescription = function (index) {\r\n\t\t\tif ($scope.ListPartDescription.length > 1) {\r\n\t\t\t\t$scope.ListPartDescription.splice(index, 1);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\r\n\t\tvm.clearFilter = function(){\r\n\t\t\tvm.searchTag = '';\r\n\t\t\tvm.brandName ='';\r\n\t\t\tvm.partName = '';\r\n\t\t\tvm.productGroup = '';\r\n\t\t\tvm.selectedPart = '';\r\n\t\t\tvm.GetAllVisibleMasterParts();\r\n\t\t}\r\n\t\tvm.showPartDetails = false;\r\n\r\n\t\tvm.OpenPartDetailPanel = function (s) {\r\n\t\t\tvm.PartDetails = s;\r\n\t\t\tif (s.PartImages) {\r\n\t\t\t\tvm.sideViewPartImage = s.PartImages;\r\n\t\t\t\tvm.sideViewPartLength = s.PartImages.length;\r\n\t\t\t\tfor (var i = 0; i < vm.sideViewPartImage.length; i++) {\r\n\t\t\t\t\tvm.TrainingImageServices(vm.sideViewPartImage[i], i);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tvm.showPartDetails = true;\r\n\t\t}\r\n\r\n\t\t// vm.selectedPart = function (inventoryData) {\r\n\t\t// \tvm.sideViewData = inventoryData;\r\n\t\t// \tvm.sideViewPartImage = inventoryData.strPartImages;\r\n\t\t// \tfor (var i = 0; i < vm.sideViewPartImage.length; i++) {\r\n\t\t// \t\tvm.TrainingImageServices(vm.sideViewPartImage[i], i);\r\n\t\t// \t}\r\n\t\t// }\r\n\r\n\t\tvm.UpdateListItemModel = function (partData) {\r\n\t\t\tvm.MMFPartId = partData.MMFPartId;\r\n\t\t\tvm.SKUId = partData.SKUId;\r\n\t\t\tvm.PartName = partData.PartName;\r\n\t\t\tvm.PartBrand = partData.PartBrand;\r\n\t\t\tif (vm.PartBrand) {\r\n\t\t\t\tvm.GetAllProductGroupMasterStringList();\r\n\t\t\t}\r\n\t\t\tvm.PartImagesList = partData.PartImages;\r\n\r\n\t\t\tangular.forEach(vm.PartImagesList, function (imageUrl, index) {\r\n\t\t\t\tvm.TrainingImageServices(imageUrl, index);\r\n\t\t\t});\r\n\t\t\tvm.PartCategoryGroup = partData.PartCategoryGroup;\r\n\t\t\tif (vm.PartCategoryGroup && vm.PartBrand) {\r\n\t\t\t\tvm.GetAllProductMasterStringList();\r\n\t\t\t}\r\n\t\t\tvm.PartSubGroup = partData.strPartSubGroup;\r\n\t\t\tvm.HSNCode = partData.HSNCode;\r\n\t\t\tvm.Manufacturer = partData.Manufacturer;\r\n\t\t\tvm.ModelNumber = partData.ModelNumber;\r\n\t\t\t$scope.ListPartDescription = partData.ListPartDescription;\r\n\t\t\tvm.PartPrice = partData.PartPrice;\r\n\t\t\tvm.PartSellingPrice = partData.PartSellingPrice;\r\n\t\t\tvm.PartDiscountPercentage = partData.PartDiscountPercentage;\r\n\t\t\tvm.PartDealerPrice = partData.PartDealerPrice;\r\n\t\t\tvm.PartDealerCustomerPrice = partData.PartDealerCustomerPrice;\r\n\t\t\tvm.PartCustomerPrice = partData.PartCustomerPrice;\r\n\t\t\tvm.PartWareHousePrice = partData.PartWareHousePrice;\r\n\t\t\tvm.dIGSTTax = partData.dIGSTTax;\r\n\t\t\tvm.dCGSTTax = partData.dCGSTTax;\r\n\t\t\tvm.dSGSTTax = partData.dSGSTTax;\r\n\t\t\tvm.IsVisibile = partData.IsVisibile;\r\n\t\t\tvm.IsReturnable = partData.IsReturnable;\r\n\t\t\tvm.PartType = partData.PartType;\r\n\t\t\tvm.PartUnit = partData.PartUnit\r\n\t\t\tangular.forEach(vm.projectList, function (d) {\r\n\t\t\t\tfor (var i = 0; i < vm.projectList.length; i++) {\r\n\t\t\t\t\tif (d.ProjectId == partData.ProjectId) {\r\n\t\t\t\t\t\tvm.Project = d;\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tvm.updateitemlistModelOpen = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'UpdateItemListModel.html',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.CloseUpdateItemListModel = function () {\r\n\t\t\tvm.updateitemlistModelOpen.close();\r\n\t\t\tvm.DisableCreateButton(false);\r\n\t\t\tvm.PartName = '';\r\n\t\t\tvm.SKUId = '';\r\n\t\t\tvm.Project = '';\r\n\t\t\tvm.PartImagesList = [];\r\n\t\t\t$scope.filesArray = [];\r\n\t\t\t// vm.TrainingImagebase64 = [];\r\n\t\t\t$scope.ListPartDescription = [''];\r\n\t\t\tvm.PartCategoryGroup = '';\r\n\t\t\tvm.PartType = '';\r\n\t\t\tvm.Manufacturer = '';\r\n\t\t\tvm.ModelNumber = '';\r\n\t\t\tvm.PartBrand = '';\r\n\t\t\tvm.PartUnit = '';\r\n\t\t\tvm.PartPrice = '';\r\n\t\t\tvm.PartSellingPrice = '';\r\n\t\t\tvm.PartDiscountPercentage = '';\r\n\t\t\tvm.PartDealerPrice = '';\r\n\t\t\tvm.PartDealerCustomerPrice = '';\r\n\t\t\tvm.PartCustomerPrice = '';\r\n\t\t\tvm.PartWareHousePrice = '';\r\n\t\t\tvm.dIGSTTax = '';\r\n\t\t\tvm.dCGSTTax = '';\r\n\t\t\tvm.dSGSTTax = '';\r\n\t\t\tvm.IsVisibile = false;\r\n\t\t\tvm.IsReturnable = false;\r\n\t\t}\r\n\r\n\t\tvm.TrainingImageServices = function (img, index) {\r\n\t\t\tMainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n\t\t\t\tif (resp.data == null || resp.data == '') {\r\n\t\t\t\t\tvm.TrainingImagebase64[index] = 'assets/images/patterns/image_placeholder.png';\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.TrainingImagebase64[index] = resp.data;\r\n\t\t\t\t}\r\n\t\t\t\t$scope.filesArray.push({\r\n\t\t\t\t\tname: img,\r\n\t\t\t\t\tsrc: vm.TrainingImagebase64[index],\r\n\t\t\t\t});\r\n\t\t\t}, function () {\r\n\t\t\t\tvm.TrainingImagebase64[index] = 'assets/images/patterns/image_placeholder.png';\r\n\t\t\t\t$scope.filesArray.push({\r\n\t\t\t\t\tname: img,\r\n\t\t\t\t\tsrc: vm.TrainingImagebase64[index],\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.UpdateMasterPart = function () {\r\n\t\t\tvm.itemlist_form.submitted = true;\r\n\t\t\tif (vm.itemlist_form.$valid) {\r\n\t\t\t\t$scope.uploadFiles();\r\n\t\t\t\tvm.DisableCreateButton(true);\r\n\t\t\t\tvar masterPartData = {\r\n\t\t\t\t\t\"PartName\": vm.PartName,\r\n\t\t\t\t\t\"MMFPartId\": vm.MMFPartId,\r\n\t\t\t\t\t\"SKUId\": vm.SKUId,\r\n\t\t\t\t\t\"PartImages\": vm.PartImagesList,\r\n\t\t\t\t\t\"PartVideos\": [],\r\n\t\t\t\t\t\"ProjectId\": vm.Project.ProjectId,\r\n\t\t\t\t\t\"ProjectName\": vm.Project.Name,\r\n\t\t\t\t\t\"ListPartDescription\": $scope.ListPartDescription,\r\n\t\t\t\t\t\"PartCategoryGroup\": vm.PartCategoryGroup,\r\n\t\t\t\t\t\"strPartSubGroup\": vm.PartSubGroup,\r\n\t\t\t\t\t\"HSNCode\": vm.HSNCode,\r\n\t\t\t\t\t\"PartType\": vm.PartType,\r\n\t\t\t\t\t\"Manufacturer\": vm.Manufacturer,\r\n\t\t\t\t\t\"ModelNumber\": vm.ModelNumber,\r\n\t\t\t\t\t\"PartBrand\": vm.PartBrand,\r\n\t\t\t\t\t\"PartUnit\": vm.PartUnit,\r\n\t\t\t\t\t\"PartPrice\": vm.PartPrice,\r\n\t\t\t\t\t\"PartSellingPrice\": vm.PartSellingPrice,\r\n\t\t\t\t\t\"PartDiscountPercentage\": vm.PartDiscountPercentage,\r\n\t\t\t\t\t\"PartDealerPrice\": vm.PartDealerPrice,\r\n\t\t\t\t\t\"PartDealerCustomerPrice\": vm.PartDealerCustomerPrice,\r\n\t\t\t\t\t\"PartCustomerPrice\": vm.PartCustomerPrice,\r\n\t\t\t\t\t\"PartWareHousePrice\": vm.PartWareHousePrice,\r\n\t\t\t\t\t\"dIGSTTax\": vm.dIGSTTax,\r\n\t\t\t\t\t\"dCGSTTax\": vm.dCGSTTax,\r\n\t\t\t\t\t\"dSGSTTax\": vm.dSGSTTax,\r\n\t\t\t\t\t\"IsVisibile\": vm.IsVisibile,\r\n\t\t\t\t\t\"IsReturnable\": vm.IsReturnable,\r\n\t\t\t\t\t\"IsPartAvailableOnCredit\": false\r\n\t\t\t\t}\r\n\t\t\t\tInventoryItemListService.UpdateMasterPart(masterPartData, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Product updated successfully.\");\r\n\t\t\t\t\t\tvm.CloseUpdateItemListModel();\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\tvm.GetAllVisibleMasterParts();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t$scope.editMode = false;\r\n\t\t$scope.toggleEditMode = function () {\r\n\t\t\t$scope.editMode = !$scope.editMode;\r\n\t\t};\r\n\r\n\t\t$scope.imageSrc = '';\r\n\t\t$scope.fileName = '';\r\n\r\n\t\t$scope.filesArray = [];\r\n\r\n\t\t$scope.previewFiles = function (event) {\r\n\t\t\tvar files = event.target.files;\r\n\t\t\tfor (var i = 0; i < files.length; i++) {\r\n\t\t\t\t(function (file) {\r\n\t\t\t\t\tvar reader = new FileReader();\r\n\t\t\t\t\treader.onload = function (e) {\r\n\t\t\t\t\t\t$scope.$apply(function () {\r\n\t\t\t\t\t\t\t$scope.filesArray.push({\r\n\t\t\t\t\t\t\t\tname: file.name,\r\n\t\t\t\t\t\t\t\tsrc: e.target.result,\r\n\t\t\t\t\t\t\t\tfile: file\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t};\r\n\t\t\t\t\treader.readAsDataURL(file);\r\n\t\t\t\t})(files[i]);\r\n\t\t\t}\r\n\t\t\tdocument.getElementById('fileInput').value = null;\r\n\t\t};\r\n\r\n\t\t$scope.triggerFileInput = function () {\r\n\t\t\tdocument.getElementById('fileInput').click();\r\n\t\t};\r\n\r\n\r\n\t\t$scope.removeImage = function (index) {\r\n\t\t\t$scope.filesArray.splice(index, 1);\r\n\t\t};\r\n\t\t$scope.uploadFiles = function () {\r\n\t\t\tvm.PartImagesList = [];\r\n\t\t\tvar formData = new FormData();\r\n\t\t\t$scope.filesArray.forEach(function (fileObj) {\r\n\t\t\t\tif (fileObj.file) {\r\n\t\t\t\t\tformData.append(fileObj.name, fileObj.file);\r\n\t\t\t\t}\r\n\t\t\t\tvm.PartImagesList.push(fileObj.name);\r\n\t\t\t});\r\n\r\n\t\t\tInventoryItemListService.UploadMediaInBulk(formData, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 201) {\r\n\t\t\t\t\t$scope.filesArray = [];\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t};\r\n\r\n\t\tvm.GetItemBrandName = function () {\r\n\t\t\tInventoryCartService.GetItemBrandName(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.BrandList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t};\r\n\t\tvm.GetItemBrandName();\r\n\r\n\r\n\t\tvm.GetItemGroupName = function () {\r\n\t\t\tif (!vm.brandName) {\r\n\t\t\t\tvm.brandName = \"\";\r\n\t\t\t}\r\n\t\t\tInventoryCartService.GetItemGroupName(vm.brandName, loggedinUser, token).then(\r\n\t\t\t\tfunction (resp) {\r\n\t\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\t\tvm.PartNameList = resp.data;\r\n\t\t\t\t\t\t// vm.changeCategoryFilter();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t};\r\n\t\tvm.GetItemGroupName();\r\n\t\tvm.GetItemListName = function () {\r\n\t\t\tif (!vm.productGroup) {\r\n\t\t\t\tvm.productGroup = \"\";\r\n\t\t\t}\r\n\t\t\tInventoryCartService.GetItemListName(vm.brandName,vm.productGroup,loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.PartList = resp.data;\r\n\t\t\t\t\t// vm.changeCategoryFilter();\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t};\r\n\t\tvm.GetItemListName();\r\n\r\n\t\tvm.PartListWithFilter = [];\r\n\r\n\t\tvm.GetItemPartName = function () {\r\n\t\t vm.PartListWithFilter = [];\r\n\t\t if (!vm.partName) {\r\n\t\t\tvm.partName = \"\";\r\n\t\t }\r\n\t\t InventoryItemListService.GetItemPartName(vm.brandName,vm.productGroup,vm.partName,loggedinUser,token).then(function (resp) {\r\n\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t vm.PartListWithFilter = resp.data;\r\n\t\t\t}\r\n\t\t }, vm.showFailure);\r\n\t\t};\r\n\t\tvm.GetItemPartName();\r\n\r\n\t\tvm.exportToCSV = function () {\r\n\t\t\tvar csv = [];\r\n\t\t\tvar header;\r\n\t\t\tvar includePriceAndDiscount = (vm.loggedInUserRole !== 'Help Desk');\r\n\r\n\t\t\tif (includePriceAndDiscount) {\r\n\t\t\t\theader = [\r\n\t\t\t\t\t\"Part ID\",\r\n\t\t\t\t\t\"Name\",\r\n\t\t\t\t\t\"SKU ID\",\r\n\t\t\t\t\t\"Brand\",\r\n\t\t\t\t\t\"Category Group\",\r\n\t\t\t\t\t\"Manufacturer\",\r\n\t\t\t\t\t\"Model Number\",\r\n\t\t\t\t\t\"Service Center Price\",\r\n\t\t\t\t\t\"IGST (%)\",\r\n\t\t\t\t\t\"CGST(%)\",\r\n\t\t\t\t\t\"SGST(%)\"\r\n\t\t\t\t].join(\",\") + \"\\n\";\r\n\t\t\t} else {\r\n\t\t\t\theader = [\r\n\t\t\t\t\t\"Part ID\",\r\n\t\t\t\t\t\"Name\",\r\n\t\t\t\t\t\"SKU ID\",\r\n\t\t\t\t\t\"Brand\",\r\n\t\t\t\t\t\"Category Group\",\r\n\t\t\t\t\t\"Manufacturer\",\r\n\t\t\t\t\t\"Model Number\",\r\n\t\t\t\t\t\"Service Center Price\",\r\n\t\t\t\t\t\"IGST (%)\",\r\n\t\t\t\t\t\"CGST(%)\",\r\n\t\t\t\t\t\"SGST(%)\"\r\n\t\t\t\t].join(\",\") + \"\\n\";\r\n\t\t\t}\r\n\r\n\t\t\tcsv.push(header);\r\n\t\t\tvm.masterInventoryList.forEach(function (item) {\r\n\t\t\t\tvar row;\r\n\r\n\t\t\t\tif (includePriceAndDiscount) {\r\n\t\t\t\t\trow = [\r\n\t\t\t\t\t\titem.MMFPartId,\r\n\t\t\t\t\t\titem.PartName,\r\n\t\t\t\t\t\titem.SKUId,\r\n\t\t\t\t\t\titem.PartBrand,\r\n\t\t\t\t\t\titem.PartCategoryGroup,\r\n\t\t\t\t\t\titem.Manufacturer,\r\n\t\t\t\t\t\titem.ModelNumber,\r\n\t\t\t\t\t\titem.PartSellingPrice,\r\n\t\t\t\t\t\titem.dIGSTTax,\r\n\t\t\t\t\t\titem.dCGSTTax,\r\n\t\t\t\t\t\titem.dSGSTTax\r\n\t\t\t\t\t].join(\",\") + \"\\n\";\r\n\t\t\t\t} else {\r\n\t\t\t\t\trow = [\r\n\t\t\t\t\t\titem.MMFPartId,\r\n\t\t\t\t\t\titem.PartName,\r\n\t\t\t\t\t\titem.SKUId,\r\n\t\t\t\t\t\titem.PartBrand,\r\n\t\t\t\t\t\titem.PartCategoryGroup,\r\n\t\t\t\t\t\titem.Manufacturer,\r\n\t\t\t\t\t\titem.ModelNumber,\r\n\t\t\t\t\t\titem.PartSellingPrice,\r\n\t\t\t\t\t\titem.dIGSTTax,\r\n\t\t\t\t\t\titem.dCGSTTax,\r\n\t\t\t\t\t\titem.dSGSTTax\r\n\t\t\t\t\t].join(\",\") + \"\\n\";\r\n\t\t\t\t}\r\n\r\n\t\t\t\tcsv.push(row);\r\n\t\t\t});\r\n\r\n\t\t\tvar csvContent = csv.join('');\r\n\t\t\tvar blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });\r\n\t\t\tvar url = URL.createObjectURL(blob);\r\n\r\n\t\t\tvar a = document.createElement('a');\r\n\t\t\ta.href = url;\r\n\t\t\ta.target = '_blank';\r\n\t\t\ta.download = 'inventory_data.csv';\r\n\t\t\tdocument.body.appendChild(a);\r\n\t\t\ta.click();\r\n\t\t\tdocument.body.removeChild(a);\r\n\t\t};\r\n\r\n\t\tvm.PartBrand = '';\r\n\r\n\t\tvm.GetAllBrandMasterStringList = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"strBrandName\": \"\",\r\n\t\t\t\t\"strProductGroup\": \"\",\r\n\t\t\t\t\"strProductName\": \"\"\r\n\t\t\t}\r\n\t\t\tInventoryItemListService.GetAllBrandMasterStringList(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.AllBrandList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tvm.GetAllBrandMasterStringList();\r\n\r\n\t\tvm.GetAllProductGroupMasterStringList = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"strBrandName\": vm.PartBrand,\r\n\t\t\t\t\"strProductGroup\": \"\",\r\n\t\t\t\t\"strProductName\": \"\"\r\n\t\t\t}\r\n\t\t\tInventoryItemListService.GetAllProductGroupMasterStringList(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.AllProductList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tvm.GetAllProductMasterStringList = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"strBrandName\": vm.PartBrand,\r\n\t\t\t\t\"strProductGroup\": vm.PartCategoryGroup,\r\n\t\t\t\t\"strProductName\": \"\"\r\n\t\t\t}\r\n\t\t\tInventoryItemListService.GetAllProductMasterStringList(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.AllBrandProductList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t\t\r\n\r\n\t\t///share modal\r\nvm.OpenShareDetails = function (Type) {\r\n\tvm.shareType = Type\r\n\tvm.opensharewithtype = $uibModal.open({\r\n\t\ttemplateUrl: 'ShareDetailwithtypeModal.html',\r\n\t\tsize: 'md',\r\n\t\tbackdrop: 'static',\r\n\t\tscope: $scope,\r\n\t});\r\n};\r\n\r\nvm.CloseAreaConfirmationModal = function () {\r\n\tvm.opensharewithtype.close();\r\n\tvm.phoneNumber = '';\r\n\tvm.infoemail = '';\r\n}\r\n\r\n vm.share = function(shareType) {\r\n\tvm.shareinfo_form.submitted = true;\r\n if (shareType === 'SMS' || shareType === 'Whatsapp') {\r\n if (vm.shareinfo_form.contactphone.$valid) {\r\n\t\tvm.showSuccess(\"Successfully Sending\" + shareType + 'to' + vm.phoneNumber);\r\n\t\tvm.CloseAreaConfirmationModal();\r\n } \r\n\t\r\n } else if (shareType === 'Email') {\r\n if (vm.shareinfo_form.emailid.$valid) {\r\n\t\tvm.showSuccess('Sending Email to', vm.infoemail);\r\n\t\tvm.CloseAreaConfirmationModal();\r\n } \r\n\t \r\n }\r\n };\r\n\r\n\t}\r\n});\nangular.module('inspinia').service('InventoryCartService', function (AcessoriesURL, ApiURL, SchedulingAPI, $window, $http) {\r\n\r\n this.GetAllWareHouse = function (loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/WareHouse/GetAllWareHouse';\r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetMyCart = function (loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFUserCart/GetMyCart';\r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.ReOrderPlace = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFOrder/ReOrderPlace';\r\n return $http.put(url, data, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n}\r\n\r\n this.GetInventoryByForExploration = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFPart/GetInventoryByForExploration';\r\n return $http.put(url, data, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetAllWareHouseForExploration = function (loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/WareHouse/GetAllWareHouseForExploration';\r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetWareHouseByPartId = function (partId, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/WareHouse/GetWareHouseByPartId?partId=' + partId;\r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.AddPartToMyCart = function (addPartData, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFUserCart/AddPartToMyCart';\r\n return $http.put(url, addPartData, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.UpdateMSLOrder = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFOrder/UpdateMSLOrder';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.ReducePartQuantityInMyCart = function (reducePartData, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFUserCart/ReducePartQuantityInMyCart';\r\n return $http.put(url, reducePartData, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.RemovePartFromMyCart = function (removePartData, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFUserCart/RemovePartFromMyCart';\r\n return $http.put(url, removePartData, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.ClearMyCart = function (loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFUserCart/ClearMyCart';\r\n return $http.put(url, null, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.PlaceOrder = function (loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFOrder/PlaceOrder';\r\n return $http.post(url, null, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetOrdersDashboardByFilter = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFOrder/GetOrdersDashboardByFilter';\r\n return $http.post(url, data, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GeneratePdfTaxInvoice = function (loggedinUser, token, OrderId) {\r\n var url = ApiURL + '/api/Report/GeneratePdfTaxInvoice?OrderId=' + OrderId;\r\n return $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n}\r\n\r\n this.GetAllOrdersByFilter_CSV = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFOrder/GetAllOrdersByFilter_CSV';\r\n return $http.post(url, data, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetAllOrdersByFilter = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFOrder/GetAllOrdersByFilter';\r\n return $http.post(url, data, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.CancelMyOrder = function (OrderId, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFOrder/CancelMyOrder?OrderId=' + OrderId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n this.GetItemBrandName = function (loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFMasterInventory/GetItemBrandName';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n this.GetItemGroupName = function (brandName, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFMasterInventory/GetItemGroupName?BrandName=' + brandName;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n this.GetItemListName = function (brandName, productGroup, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFMasterInventory/GetItemListName?BrandName=' + brandName + '&ItemGroupName=' + productGroup;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n this.GetItemPartName = function (brandName, productGroup, partName, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFMasterInventory/GetItemListName?BrandName=' + brandName + '&ProductGroupName=' + productGroup + '&ProductName=' + partName;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GeneratePdfChallan = function (loggedinUser, token, OrderId) {\r\n var url = ApiURL + '/api/Report/GeneratePdfChallan?OrderId=' + OrderId;\r\n return $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('InventoryCartController', function (InventoryCartService, MainService,InventoryItemListService, $resource, $stateParams, toaster, $filter, $compile, $q, $state, $window, $localStorage, $scope, DTOptionsBuilder, DTColumnBuilder, $uibModal, $timeout) {\r\n\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\t// var warehouseId = $stateParams.warehouseId;\r\n\t\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\t\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\t\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\t\tvm.AccountId = $localStorage.accountConfig.AccountId;\r\n\t\tvm.Role = $localStorage.loggedInUser_Role;\r\n\t\t$scope.isNavCollapsed = true;\r\n\t\t$scope.isCollapsed = true;\r\n\t\t$scope.isCollapsedHorizontal = false;\r\n\t\tvm.selectSingle = false;\r\n\t\tvm.disableCreateButton = false;\r\n\t\tvm.partName = '';\r\n\t\tvar oPageIndex = 1;\r\n\t\t$scope.isCollapsed = true;\r\n\t\tvar oPageSize = 10;\r\n\t\tvm.allOrdersPageListCount = 10;\r\n\t\tvar PageIndex = 1;\r\n\t\tvar PageSize = 10;\r\n\t\tvm.allInventoryPageListCount = 10;\r\n\t\tvm.pageListCounts = [10, 20, 30, 50];\r\n\t\tvm.UserId = '';\r\n\t\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\t\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\t\t$scope.dates = { startDate: moment().subtract(30, 'day'), endDate: moment() };\r\n\t\tvar startDate = moment().subtract(30, 'days').format(\"YYYY-MM-DD\");\r\n\t\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\t\t$scope.ranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment().endOf('month')]\r\n\t\t};\r\n\r\n\t\tvm.outsidedateRangeChange = function (ev, picker) {\r\n\t\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\t\tvm.applyOrderFilter();\r\n\t\t};\r\n\t\tvm.ExpandOrderList = function(isCollapsed,orderId){\r\n\t\t\tif (vm.orderId == orderId) {\r\n\t\t\t\t$scope.isCollapsed = !isCollapsed;\r\n\t\t\t}\r\n\t\t\t$scope.activeRow = orderId;\r\n\t\t\tvm.orderId = orderId;\r\n\t\t}\r\n\r\n\t\t$scope.item = {\r\n\t\t\tquantity: 1 // Initial quantity\r\n\t\t};\r\n\r\n\t\t$scope.increaseQuantity = function (item) {\r\n\t\t\titem.quantity++;\r\n\t\t};\r\n\r\n\t\t$scope.decreaseQuantity = function (item) {\r\n\t\t\tif (item.quantity > 1) {\r\n\t\t\t\titem.quantity--;\r\n\t\t\t}\r\n\t\t};\r\n\t\t$scope.removeItem = function (item) {\r\n\t\t\tvar index = $scope.cartItems.indexOf(item);\r\n\t\t\t$scope.cartItems.splice(index, 1);\r\n\t\t};\r\n\r\n\t\t$scope.totalTableTickets = 0;\r\n\t\t$scope.ticketTablePerPage = vm.ticketPageListCount;\r\n\t\t$scope.TicketTablepagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\t\tvm.GetAllWareHouse = function () {\r\n\t\t\tInventoryCartService.GetAllWareHouse(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.warehouseitemlist = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.GetAllWareHouse();\r\n\t\tvm.showPartDetails = false;\r\n\t\tvm.OpenPartDetailPanel = function (s) {\r\n\t\t\tvm.PartDetails = s;\r\n\t\t\tvm.sideViewPartImage = s.strPartImages;\r\n\t\t\tvm.sideViewPartLength = s.strPartImages.length;\r\n\t\t\tvm.TrainingImagebase64 = [];\r\n\t\t\tfor (var i = 0; i < vm.sideViewPartImage.length; i++) {\r\n\t\t\t\tvm.TrainingImageServices(vm.sideViewPartImage[i], i);\r\n\t\t\t}\r\n\t\t\tvm.showPartDetails = true;\r\n\t\t}\r\n\t\tvm.CartshowPartDetails = false;\r\n\t\tvm.OpenCartPartDetailPanel = function (a) {\r\n\t\t\tvm.CartPartDetails = a;\r\n\t\t\tvm.CartsideViewPartImage = a.strListItemImage;\r\n\t\t\tvm.sideViewPartLength = a.strListItemImage.length;\r\n\t\t\tvm.TrainingImagebase64 = [];\r\n\t\t\tfor (var i = 0; i < vm.CartsideViewPartImage.length; i++) {\r\n\t\t\t\tvm.TrainingImageServices(vm.CartsideViewPartImage[i], i);\r\n\t\t\t}\r\n\t\t\tvm.CartshowPartDetails = true;\r\n\t\t}\r\n\t\tvm.TrainingImageServices = function (img, index) {\r\n\t\t\tMainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n\t\t\t\tif (resp.data == null || resp.data == '') {\r\n\t\t\t\t\tvm.TrainingImagebase64[index] = 'assets/images/patterns/image_placeholder.png';\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.TrainingImagebase64[index] = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, function () {\r\n\t\t\t\tvm.TrainingImagebase64[index] = 'assets/images/patterns/image_placeholder.png';\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.OpenUseerDetails = function (OrderId) {\r\n\t\t\t$state.go('index.WareHouseOrderDetailView', {\r\n\t\t\t\torder_id: OrderId\r\n\t\t\t}, { reload: true });\r\n\t\t}\r\n\r\n\t\tvm.GetAllWareHouseForExploration = function () {\r\n\t\t\tInventoryCartService.GetAllWareHouseForExploration(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.warehouseExploreList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.GetAllWareHouseForExploration();\r\n\r\n\t\tvm.GetMyCart = function () {\r\n\t\t\tInventoryCartService.GetMyCart(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.cartList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.GetMyCart();\r\n\r\n\t\tvm.GetWareHouseByPartId = function (partId) {\r\n\t\t\tInventoryCartService.GetWareHouseByPartId(partId, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.stockAvailableWarehouses = resp.data;\r\n\t\t\t\t\tif(vm.AccountId == '380' || vm.AccountId == '383'){\r\n\t\t\t\t\t\tvm.warehouselist = vm.stockAvailableWarehouses[0].WareHouseId;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\r\n\t\t$scope.totalInvList = 0;\r\n\t\t$scope.inventoryPerPage = vm.allInventoryPageListCount;\r\n\t\t$scope.InventoryPagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\r\n\t\tvm.changeAllInventoryPageListCount = function () {\r\n\t\t\t$scope.inventoryPerPage = vm.allInventoryPageListCount;\r\n\t\t\tPageSize = $scope.inventoryPerPage;\r\n\t\t\t$scope.AllInventoryTablePageChanged($scope.InventoryPagination.current);\r\n\t\t\tvm.selectAll = false;\r\n\t\t\tPageIndex = $scope.InventoryPagination.current;\r\n\t\t\t$scope.AllInventoryTablePageChanged = function (newPage) {\r\n\t\t\t\tPageIndex = newPage;\r\n\t\t\t\tvm.GetInventoryByForExploration();\r\n\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tPageIndex = $scope.InventoryPagination.current;\r\n\t\t$scope.AllInventoryTablePageChanged = function (newPage) {\r\n\t\t\tPageIndex = newPage;\r\n\t\t\tvm.GetAllOrdersByFilter();\r\n\r\n\t\t};\r\n\t\tvm.SearchText = '';\r\n\t\tvm.warehouselist = \"\";\r\n\t\tvm.warehouseInvetoryList = [];\r\n\r\n\t\tvm.GetInventoryByForExploration = function () {\r\n\t\t\tif (!vm.warehouselist) {\r\n\t\t\t\tvm.warehouselist = '';\r\n\t\t\t}\r\n\t\t\tvar data = {\r\n\t\t\t\t\"WareHouseId\": vm.warehouselist,\r\n\t\t\t\t\"SearchText\": vm.SearchText,\r\n\t\t\t\t\"PageIndex\": PageIndex,\r\n\t\t\t\t\"PageSize\": PageSize,\r\n\t\t\t\t\"BrandName\": vm.brandName,\r\n\t\t\t\t\"ProductGroup\": vm.productGroup,\r\n\t\t\t\t\"MMFPartName\": vm.selectedPart,\r\n\t\t\t\t\"PartSubGroup\": vm.partName\r\n\t\t\t}\r\n\t\t\tInventoryCartService.GetInventoryByForExploration(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.warehouseInvetoryList = resp.data.ListMMFPartModelRes;\r\n\t\t\t\t\tvm.sideViewData = vm.warehouseInvetoryList[0];\r\n\t\t\t\t\t$scope.totalInvList = resp.data.RecordCount;\r\n\t\t\t\t\tif (vm.warehouseInvetoryList.length < vm.allInventoryPageListCount)\r\n\t\t\t\t\t\tvm.inventoryListLength = $scope.totalInvList;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.inventoryListLength = PageIndex * vm.allInventoryPageListCount;\r\n\t\t\t\t\tif (PageIndex == 1)\r\n\t\t\t\t\t\tvm.pageindexCount = 1;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.pageindexCount = (((PageIndex - 1) * vm.allInventoryPageListCount) + 1);\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.clearFilter = function () {\r\n\t\t\tvm.SearchText = '';\r\n\t\t\tvm.warehouselist = '';\r\n\t\t\tvm.brandName = '';\r\n\t\t\tvm.productGroup = '';\r\n\t\t\tvm.partName = '';\r\n\t\t\tvm.selectedPart = '';\r\n\t\t\tvm.GetInventoryByForExploration();\r\n\t\t}\r\n\r\n\t\t// vm.GetInventoryByForExploration();\r\n\r\n\t\tvm.IsWarehouseAlreadySelected = false;\r\n\r\n\t\tvm.addCartMoreModal = function (partData) {\r\n\t\t\tvm.IsWarehouseAlreadySelected = false;\r\n\t\t\tvm.partId = partData.strMMFPartId;\r\n\t\t\tvm.partSKUId = partData.strSKUId;\r\n\t\t\tvm.partName = partData.strPartName;\r\n\t\t\tif (vm.warehouselist != '') {\r\n\t\t\t\tvm.IsWarehouseAlreadySelected = true;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.IsWarehouseAlreadySelected = false;\r\n\t\t\t\tvm.GetWareHouseByPartId(vm.partId);\r\n\t\t\t}\r\n\t\t\tvm.openAddToCartModal();\r\n\r\n\t\t}\r\n\r\n\t\tvm.AddPartToMyCart = function () {\r\n\t\t\tvar addPartData = {\r\n\t\t\t\t\"MMFPartId\": vm.partId,\r\n\t\t\t\t\"SKUId\": vm.partSKUId,\r\n\t\t\t\t\"QuantityAdded\": $scope.item.quantity,\r\n\t\t\t\t\"WareHoueId\": vm.warehouselist\r\n\t\t\t}\r\n\t\t\tInventoryCartService.AddPartToMyCart(addPartData, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", \"Item added to cart successfully.\");\r\n\t\t\t\t\tvm.closecreateCartMoreModal();\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t}\r\n\r\n\t\tvm.AddSinglePartToMyCart = function (partData) {\r\n\t\t\tvar addPartData = {\r\n\t\t\t\t\"MMFPartId\": partData.strItemId,\r\n\t\t\t\t\"SKUId\": partData.strSKUId,\r\n\t\t\t\t\"QuantityAdded\": 1,\r\n\t\t\t\t\"WareHoueId\": partData.strWareHouseId,\r\n\t\t\t}\r\n\t\t\tInventoryCartService.AddPartToMyCart(addPartData, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tvm.GetMyCart();\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t}\r\n\r\n\t\tvm.ReducePartQuantityInMyCart = function (partData) {\r\n\t\t\tvar reducePartData = {\r\n\t\t\t\t\"MMFPartId\": partData.strItemId,\r\n\t\t\t\t\"SKUId\": partData.strSKUId,\r\n\t\t\t\t\"QuantityAdded\": 1\r\n\t\t\t}\r\n\t\t\tInventoryCartService.ReducePartQuantityInMyCart(reducePartData, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tvm.GetMyCart();\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.RemovePartFromMyCart = function (partData) {\r\n\t\t\tvar removePartData = {\r\n\t\t\t\t\"MMFPartId\": partData.strItemId,\r\n\t\t\t\t\"SKUId\": partData.strSKUId\r\n\t\t\t}\r\n\t\t\tInventoryCartService.RemovePartFromMyCart(removePartData, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", \"Part removed from cart successfully.\");\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tvm.GetMyCart();\r\n\t\t\t\t\t}, 1000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.ClearMyCart = function () {\r\n\t\t\tInventoryCartService.ClearMyCart(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", \"Cart cleared successfully.\");\r\n\t\t\t\t\tvm.closeClearCartConfirmation();\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tvm.GetMyCart();\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.PlaceOrder = function () {\r\n\t\t\tInventoryCartService.PlaceOrder(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", \"Order placed successfully.\");\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tvm.GetMyCart();\r\n\t\t\t\t\t}, 3000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\t$scope.openTrackingLink = function (trackingLink) {\r\n\t\t\t// Open the tracking link in a new tab\r\n\t\t\t$window.open(trackingLink, '_blank');\r\n\t\t};\r\n\t\tvm.SelectedOrderStatus = 'Pending';\r\n\t\tvm.SelectedOrderType = '';\r\n\t\tvm.setSelectedItem = function (item, orderType) {\r\n\t\t\tvm.SelectedOrderStatus = item;\r\n\t\t\tvm.SelectedOrderType = orderType || '';\r\n\t\t\tvm.applyOrderFilter();\r\n\t\t};\r\n\r\n\r\n\t\tvm.clearMyOrderFilter = function () {\r\n\t\t\tvm.SelectedOrderStatus = 'Pending';\r\n\t\t\tvm.warehouselist = '';\r\n\t\t\tvm.SearchTextforOrder = '';\r\n\t\t\tvm.applyOrderFilter();\r\n\t\t}\r\n\r\n\r\n\t\tvm.OpenClearCartConfirmation = function () {\r\n\t\t\tClearCartModel = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'clearCart.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeClearCartConfirmation = function () {\r\n\t\t\tClearCartModel.close();\r\n\t\t}\r\n\r\n\r\n\t\tvm.OrderIdToReOrder = '';\r\n\t\tvm.OpenReOrderConfirmation = function (orderId) {\r\n\t\t\tvm.OrderIdToReOrder = orderId;\r\n\t\t\tReorderModel = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'ReOrderPart.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeReOrderConfirmation = function () {\r\n\t\t\tReorderModel.close();\r\n\t\t\tvm.OrderIdToReOrder = '';\r\n\t\t}\r\n\r\n\r\n\t\tvm.OpenOrderCancelConfirmation = function (orderId) {\r\n\t\t\tvm.orderId = orderId;\r\n\t\t\tCancelOrderModel = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'cancelOrder.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeOrderCancelConfirmation = function () {\r\n\t\t\tCancelOrderModel.close();\r\n\t\t}\r\n\r\n\r\n\r\n\t\t/////filter \r\n\t\tvm.GetItemBrandName = function () {\r\n\t\t\tInventoryCartService.GetItemBrandName(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.BrandList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t};\r\n\t\tvm.GetItemBrandName();\r\n\r\n\r\n\t\tvm.GetItemGroupName = function () {\r\n\t\t\tif (!vm.brandName) {\r\n\t\t\t\tvm.brandName = \"\";\r\n\t\t\t}\r\n\t\t\tInventoryCartService.GetItemGroupName(vm.brandName, loggedinUser, token).then(\r\n\t\t\t\tfunction (resp) {\r\n\t\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\t\tvm.PartNameList = resp.data;\r\n\t\t\t\t\t\tvm.changeCategoryFilter();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t};\r\n\t\tvm.GetItemGroupName();\r\n\t\tvm.GetItemListName = function () {\r\n\t\t\tif (!vm.productGroup) {\r\n\t\t\t\tvm.productGroup = \"\";\r\n\t\t\t}\r\n\t\t\tInventoryCartService.GetItemListName(\r\n\t\t\t\tvm.brandName,\r\n\t\t\t\tvm.productGroup,\r\n\t\t\t\tloggedinUser, token\r\n\t\t\t).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.PartList = resp.data;\r\n\t\t\t\t\tvm.changeCategoryFilter();\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t};\r\n\t\tvm.GetItemListName();\r\n\t\tvm.GetItemPartName = function () {\r\n\t\t\tvm.PartListWithFilter = [];\r\n\t\t\tif (!vm.partName) {\r\n\t\t\t\tvm.partName = \"\";\r\n\t\t\t}\r\n\t\t\tInventoryCartService.GetItemPartName(vm.brandName, vm.productGroup, vm.partName, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.PartListWithFilter = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t};\r\n\t\tvm.GetItemPartName();\r\n\r\n\t\tvm.ReOrderPlace = function () {\r\n\t\t\tvar ReOrderData = {\r\n\t\t\t\t\"OrderId\": vm.OrderIdToReOrder\r\n\t\t\t}\r\n\t\t\tInventoryCartService.ReOrderPlace(ReOrderData, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.closeReOrderConfirmation();\r\n\t\t\t\t\tvm.showSuccess(\"Success\", resp.data);\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tvm.GetAllOrdersByFilter();\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.OpenTicketView = function (ticket) {\r\n\t\t\t$state.go('index.JobDetailView', {\r\n\t\t\t\tticketId: ticket\r\n\t\t\t}, { reload: true });\r\n\t\t}\r\n\r\n\t\tvm.CancelMyOrder = function () {\r\n\t\t\tInventoryCartService.CancelMyOrder(vm.orderId, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", \"Order cancelled successfully.\");\r\n\t\t\t\t\tvm.closeOrderCancelConfirmation();\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tvm.GetAllOrdersByFilter();\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.openAddToCartModal = function () {\r\n\t\t\tvm.morecartModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'AddMoreItemModal.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closecreateCartMoreModal = function () {\r\n\t\t\tvm.morecartModal.close();\r\n\t\t\tvm.partId = '';\r\n\t\t\tvm.partSKUId = '';\r\n\t\t\t// vm.warehouselist = '';\r\n\t\t\tvm.partName = '';\r\n\t\t\t$scope.item.quantity = 1;\r\n\t\t}\r\n\r\n\t\tvm.isTableVisible = true;\r\n\t\tvm.isCardVisible = false;\r\n\r\n\t\tvm.showTable = function () {\r\n\t\t\tvm.isTableVisible = true;\r\n\t\t\tvm.isCardVisible = false;\r\n\t\t};\r\n\r\n\t\tvm.showCard = function () {\r\n\t\t\tvm.isTableVisible = false;\r\n\t\t\tvm.isCardVisible = true;\r\n\r\n\t\t};\r\n\r\n\r\n\t\t$scope.totalOrderList = 0;\r\n\t\t$scope.ordersPerPage = vm.allOrdersPageListCount;\r\n\t\t$scope.OrdersPagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\r\n\t\tvm.changeAllOrderPageListCount = function () {\r\n\t\t\t$scope.ordersPerPage = vm.allOrdersPageListCount;\r\n\t\t\toPageSize = $scope.ordersPerPage;\r\n\t\t\t$scope.AllOrderTablePageChanged($scope.OrdersPagination.current);\r\n\t\t\toPageIndex = $scope.OrdersPagination.current;\r\n\t\t\t$scope.AllOrderTablePageChanged = function (newPage) {\r\n\t\t\t\toPageIndex = newPage;\r\n\t\t\t\tvm.GetAllOrdersByFilter();\r\n\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\toPageIndex = $scope.OrdersPagination.current;\r\n\t\t$scope.AllOrderTablePageChanged = function (newPage) {\r\n\t\t\toPageIndex = newPage;\r\n\t\t\tvm.GetAllOrdersByFilter();\r\n\r\n\t\t};\r\n\t\tvm.SearchTextforOrder = '';\r\n\t\tvm.orderInvetoryList = [];\r\n\t\tvm.GetOrdersDashboardByFilter = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"OrderType\": vm.SelectedOrderType || '',\r\n\t\t\t\t\"OrderStatus\": vm.SelectedOrderStatus,\r\n\t\t\t\t\"PaymentStatus\": \"\",\r\n\t\t\t\t\"SearchText\": vm.SearchTextforOrder,\r\n\t\t\t\t\"WareHouseId\": vm.warehouselist,\r\n\t\t\t\t\"DateField\": \"dateOrderDate\",\r\n\t\t\t\t\"OrderStartDate\": startDate,\r\n\t\t\t\t\"OrderEndDate\": endDate,\r\n\t\t\t\t\"PageIndex\": oPageIndex,\r\n\t\t\t\t\"PageSize\": oPageSize\r\n\t\t\t}\r\n\t\t\tInventoryCartService.GetOrdersDashboardByFilter(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.orderDashboardCount = resp.data\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.GetAllOrdersByFilter = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"OrderType\": vm.SelectedOrderType || '',\r\n\t\t\t\t\"OrderStatus\": vm.SelectedOrderStatus,\r\n\t\t\t\t\"PaymentStatus\": \"\",\r\n\t\t\t\t\"SearchText\": vm.SearchTextforOrder,\r\n\t\t\t\t\"WareHouseId\": vm.warehouselist,\r\n\t\t\t\t\"DateField\": \"dateOrderDate\",\r\n\t\t\t\t\"OrderStartDate\": startDate,\r\n\t\t\t\t\"OrderEndDate\": endDate,\r\n\t\t\t\t\"PageIndex\": oPageIndex,\r\n\t\t\t\t\"PageSize\": oPageSize\r\n\t\t\t}\r\n\t\t\tInventoryCartService.GetAllOrdersByFilter(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.orderInvetoryList = resp.data.OrderList;\r\n\t\t\t\t\t$scope.totalOrderList = resp.data.Count;\r\n\t\t\t\t\tvm.productImg = [];\r\n\t\t\t\t\tfor (var i = 0; i < vm.orderInvetoryList.length; i++) {\r\n\t\t\t\t\t\tvar item = vm.orderInvetoryList[i];\r\n\t\t\t\t\t\tvm.ImageViewOfShipmentDoc(item.Attachement, i);\r\n\t\t\t\t\t\t// vm.ImageViewOfInvoice(item.InvoiceImage, i);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (vm.orderInvetoryList.length < vm.allOrdersPageListCount)\r\n\t\t\t\t\t\tvm.orderListLength = $scope.totalOrderList;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.orderListLength = oPageIndex * vm.allOrdersPageListCount;\r\n\t\t\t\t\tif (oPageIndex == 1)\r\n\t\t\t\t\t\tvm.opageindexCount = 1;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.opageindexCount = (((oPageIndex - 1) * vm.allOrdersPageListCount) + 1);\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.applyOrderFilter = function () {\r\n\t\t\tvm.GetAllOrdersByFilter();\r\n\t\t\tvm.GetOrdersDashboardByFilter();\r\n\t\t}\r\n\t\tvm.applyOrderFilter();\r\n\r\n\t\tvm.PDFViewOfShipmentDoc = function (page) {\r\n\t\t\tvm.IsLoadSucessfull = false;\r\n\t\t\tvm.PDFView();\r\n\t\t\tMainService.GetImageBlob(loggedinUser, token, page).then(function (resp) {\r\n\t\t\t\tvm.pdfimage = resp.data;\r\n\t\t\t\tvm.IsLoadSucessfull = true;\r\n\t\t\t\t\r\n\t\t\t});\r\n\t\t};\r\n\t\tvm.ImageViewOfShipmentDoc = function (img, index) {\r\n\t\t\tMainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n\t\t\t\tif (resp.data == null || resp.data == '') {\r\n\t\t\t\t\tvm.productImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.productImg[index] = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, function () {\r\n\t\t\t\tvm.productImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t\r\n\t\t$scope.checkPDF = function (path) {\r\n\t\t\tif (path) {\r\n\t\t\t\tvar pt = path.substr(path.length - 4);\r\n\t\t\t\tif (pt == '.pdf') {\r\n\t\t\t\t\tvm.error = function () {\r\n\t\t\t\t\t\t$(\".pdf\").attr({ \"target\": \"_blank\" })\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.GetAllOrdersByFilter_CSV = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"OrderType\": vm.SelectedOrderType || '',\r\n\t\t\t\t\"OrderStatus\": vm.SelectedOrderStatus,\r\n\t\t\t\t\"PaymentStatus\": \"\",\r\n\t\t\t\t\"SearchText\": vm.SearchTextforOrder,\r\n\t\t\t\t\"WareHouseId\": vm.warehouselist,\r\n\t\t\t\t\"DateField\": \"dateOrderDate\",\r\n\t\t\t\t\"OrderStartDate\": startDate,\r\n\t\t\t\t\"OrderEndDate\": endDate,\r\n\t\t\t\t\"PageIndex\": oPageIndex,\r\n\t\t\t\t\"PageSize\": oPageSize\r\n\t\t\t}\r\n\t\t\tInventoryCartService.GetAllOrdersByFilter_CSV(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvar csvData = resp.data;\r\n\t\t\t\t\tvar blob = new Blob([csvData], { type: 'text/csv' });\r\n\t\t\t\t\tvar url = window.URL.createObjectURL(blob);\r\n\t\t\t\t\tvar a = document.createElement('a');\r\n\t\t\t\t\ta.href = url;\r\n\t\t\t\t\ta.download = 'All_Orders_List.csv';\r\n\t\t\t\t\ta.click();\r\n\t\t\t\t\twindow.URL.revokeObjectURL(url);\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\r\n\t\tvm.PDFView = function () {\r\n\t\t\tvm.pdfimage = \"\";\r\n\t\t\tvm.IsLoadSucessfull = false;\r\n\t\t\ttaxInvoiceModel = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'PDFView.html',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.PDFUserModal = function () {\r\n\t\t\ttaxInvoiceModel.close();\r\n\t\t}\r\n\r\n\r\n\r\n\t\tvm.viewChallanPdf = function (OrderId) {\r\n\t\t\tvm.PDFView();\r\n\t\t\tInventoryCartService.GeneratePdfChallan(loggedinUser, token, OrderId).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\tvm.ChallanData = resp.data;\r\n\t\t\t\t\tvar arrrayBuffer = base64ToArrayBuffer(vm.ChallanData);\r\n\t\t\t\t\tvar blob = new Blob([arrrayBuffer], { type: \"application/pdf\" });\r\n\t\t\t\t\tvm.pdfimage = URL.createObjectURL(blob);\r\n\t\t\t\t\tvm.IsLoadSucessfull = true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t}\r\n\r\n\t\tvm.viewPOPdf = function (OrderId) {\r\n\t\t\tvm.PDFView();\r\n\t\t\tInventoryCartService.GeneratePdfTaxInvoice(loggedinUser, token, OrderId).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\tvm.InvoiceData = resp.data;\r\n\t\t\t\t\tvar arrrayBuffer = base64ToArrayBuffer(vm.InvoiceData);\r\n\t\t\t\t\tvar blob = new Blob([arrrayBuffer], { type: \"application/pdf\" });\r\n\t\t\t\t\tvm.pdfimage = URL.createObjectURL(blob);\r\n\t\t\t\t\tvm.IsLoadSucessfull = true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t}\r\n\r\n\t\tvm.showEditList = false;\r\n\t\tvm.OrderUpdateReqModel = [];\r\n\r\n\r\n\t\tvm.OpenOrderEditingModel = function (orderDataToUpdate) { \r\n\t\t\tvm.orderDataToUpdate = orderDataToUpdate;\r\n\t\t\tvm.orderItemsDataToUpdate = angular.copy(orderDataToUpdate.ListItemsInOrder);\r\n\t\t\tOrderEditingModel = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'orderEditModel.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.addNewPart = function () {\r\n\t\t\tvm.showEditList = true; \r\n\t\t\tvm.newFilter = {\r\n\t\t\t\tstrItem: null,\r\n\t\t\t\tnItemQuantity: 1,\r\n\t\t\t};\r\n\t\t};\r\n\r\n\t\tvm.saveFilter = function (form) {\r\n\t\t\tif (!form.$valid || !vm.newFilter.strItem || !vm.newFilter.nItemQuantity) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (vm.newFilter.nItemQuantity < 1) {\r\n\t\t\t\tvm.newFilter.nItemQuantity = 1;\r\n\t\t\t}\r\n\t\t\tconst newPart = {\r\n\t\t\t\tstrItemId: vm.newFilter.strItem.MMFPartId,\r\n\t\t\t\tstrItemName: vm.newFilter.strItem.PartName,\r\n\t\t\t\tstrSKUId: vm.newFilter.strItem.SKUId,\r\n\t\t\t\tnItemQuantity: vm.newFilter.nItemQuantity,\r\n\t\t\t};\r\n\t\t\tvm.orderItemsDataToUpdate.push(newPart);\r\n\t\t\tvm.newFilter = null; \r\n\t\t\tvm.showEditList = false; \r\n\t\t};\r\n\r\n\t\t\r\n\r\n\t\t$scope.increasePartQuantity = function (part) {\r\n\t\t\tpart.nItemQuantity++;\r\n\t\t};\r\n\r\n\t\t$scope.decreasePartQuantity = function (part) {\r\n\t\t\tif (part.nItemQuantity > 1) {\r\n\t\t\t\tpart.nItemQuantity--;\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tvm.masterInvetoryList = [];\r\n\t\tvm.GetAllVisibleMasterParts = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"PartName\": \"\",\r\n\t\t\t\t\"PartCategoryGroup\": \"\",\r\n\t\t\t\t\"PartBrand\": \"\",\r\n\t\t\t\t\"PartSubGroup\": \"\",\r\n\t\t\t\t\"SearchText\": \"\"\r\n\t\t\t}\r\n\t\t\tInventoryItemListService.GetAllVisibleMasterParts(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.masterInvetoryList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.GetAllVisibleMasterParts();\r\n\r\n\t\tvm.deletePart = function (orderpart) {\r\n\t\t\tconst index = vm.orderItemsDataToUpdate.indexOf(orderpart);\r\n\t\t\tif (index !== -1) {\r\n\t\t\t\tvm.orderItemsDataToUpdate.splice(index, 1);\r\n\t\t\t}\r\n\t\t};\r\n\t\t\r\n\r\n\t\tvm.closeOrderEditingModel = function () {\r\n\t\t\tOrderEditingModel.close();\r\n\t\t\tvm.disableCreateButton = false;\r\n\t\t\tvm.orderDataToUpdate = \"\";\r\n\t\t\tvm.orderItemsDataToUpdate = [];\r\n\t\t\tvm.OrderUpdateReqModel = [];\r\n\t\t}\r\n\t\t\r\n\t\tvm.UpdateMSLOrder = function () {\r\n\t\t\tvm.orderItemsDataToUpdate.forEach(function (orderItem) {\r\n\t\t\t\tconst filteredOrderItem = {\r\n\t\t\t\t\tstrItemId: orderItem.strItemId || '', \r\n\t\t\t\t\tstrItemName: orderItem.strItemName || '',\r\n\t\t\t\t\tstrSKUId: orderItem.strSKUId || '',\r\n\t\t\t\t\tnItemQuantity: orderItem.nItemQuantity || 1\r\n\t\t\t\t};\r\n\t\t\t\tvm.OrderUpdateReqModel.push(filteredOrderItem);\r\n\t\t\t});\r\n\t\t\tif(vm.OrderUpdateReqModel.length > 0){\r\n\t\t\t\tvar data = {\r\n\t\t\t\t\t\"OrderId\" : vm.orderDataToUpdate.OrderId,\r\n\t\t\t\t\t\"objLIstItemDetaiList\": vm.OrderUpdateReqModel\r\n\t\t\t\t}\r\n\t\t\t\tvm.disableCreateButton = true;\r\n\t\t\t\tInventoryCartService.UpdateMSLOrder(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\",\"Order Updated Successfully\");\r\n\t\t\t\t\t\tvm.closeOrderEditingModel();\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\tvm.applyOrderFilter();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.disableCreateButton = false;\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\r\n\r\n\t\tfunction base64ToArrayBuffer(base64) {\r\n\t\t\tvar ret = base64.replace('data:application/pdf;base64,', '');\r\n\t\t\tvar binaryString = atob(ret);\r\n\t\t\tvar binaryLen = binaryString.length;\r\n\t\t\tvar bytes = new Uint8Array(binaryLen);\r\n\t\t\tfor (var i = 0; i < binaryLen; i++) {\r\n\t\t\t\tvar ascii = binaryString.charCodeAt(i);\r\n\t\t\t\tbytes[i] = ascii;\r\n\t\t\t}\r\n\t\t\treturn bytes;\r\n\t\t}\r\n\r\n\t}\r\n});\nangular.module('inspinia').service('inventorynewService', function (ApiURL, SchedulingAPI, $window, $localStorage, $http) {\r\n\r\n this.GetUserAllSalesOrderDetailforWeb = function (token, orderStatus, SearchText, category, brandName, productGroup, orderBy, sortType, fPageIndex, fPageSize, startDate, endDate, dateField) {\r\n var url = ApiURL + '/api/ZohoInventoryController/GetUserAllSalesOrderDetailforWeb?OrderStatus=' + orderStatus + '&startDate=' + startDate + '&EndDate=' + endDate + '&SearchText=' + SearchText + '&dateField=' + dateField + '&category=' + category + '&BrandName=' + brandName + '&ProductGroup=' + productGroup + '&OrderBy=' + orderBy + '&SortType=' + sortType + '&PageSize=' + fPageSize + '&PageIndex=' + fPageIndex;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetUserInventoryStockforweb = function (token, orderStatus, SearchText, category, brandName, productGroup, orderBy, sortType, userId, dPageIndex, dPageSize, startDate, endDate) {\r\n var url = ApiURL + '/api/ZohoInventoryController/GetUserInventoryStockforweb?SearchText=' + SearchText + '&Category=' + category + '&BrandName=' + brandName + '&ProductGroup=' + productGroup + '&startDate=' + startDate + '&EndDate=' + endDate + '&OrderBy=' + orderBy + '&SortType=' + sortType + '&StockType=' + orderStatus + '&UserId=' + userId + '&PageSize=' + dPageSize + '&PageIndex=' + dPageIndex;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetUserSalesOrderIntatiedByZoho = function (token, orderStatus, SearchText, category, brandName, productGroup, orderBy, sortType, ePageIndex, ePageSize, startDate, endDate) {\r\n var url = ApiURL + '/api/ZohoInventoryController/GetUserSalesOrderIntatiedByZoho?OrderStatus=' + orderStatus + '&startDate=' + startDate + '&EndDate=' + endDate + '&SearchText=' + SearchText + '&Category=' + category + '&BrandName=' + brandName + '&ProductGroup=' + productGroup + '&OrderBy=' + orderBy + '&SortType=' + sortType + '&PageSize=' + ePageSize + '&PageIndex=' + ePageIndex;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n\r\n this.InventoryDefectStockList = function (token, SearchText, category, brandName, productGroup, uPageIndex, uPageSize, startDate, endDate) {\r\n var url = ApiURL + '/api/ZohoInventoryController/InventoryDefectStockList?Category=' + category + '&BrandName=' + brandName + '&ItemGroup=' + productGroup + '&SearchText=' + SearchText + '&StartDate=' + startDate + '&EndDate=' + endDate + '&PageSize=' + uPageSize + '&PageIndex=' + uPageIndex;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetItemBrandName = function (token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/GetItemBrandName';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n this.GetItemGroupName = function (brandName, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/GetItemGroupName?BrandName=' + brandName;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n this.GetItemListName = function (brandName, productGroup, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/GetItemListName?BrandName=' + brandName + '&ItemGroupName=' + productGroup;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n\r\n this.GetShipmentOrder = function (salesOrderNumber, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/GetShipmentOrder?salesOrderNumber=' + salesOrderNumber;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.TrackinDetailForDefectItem = function (trackingId, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/TrackinDetailForDefectItem?TrackingId=' + trackingId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n\r\n this.GetServiceCentenAndTeamStockData = function (LineItemId, SearchTag, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/GetServiceCentenAndTeamStockData?LineItemId=' + LineItemId + '&SearchTag=' + SearchTag;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.InventoryMangementOnServiceLevel = function (data, loggedinUser, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/InventoryMangementOnServiceLevel';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n\r\n this.MarkSalesOrderasDelivered = function (data, loggedinUser, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/MarkSalesOrderasDelivered';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetWarehouse = function (token, data) {\r\n var url = ApiURL + '/api/ItemsInventory/GetNearbyWarehouseList';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetSalesOrder = function (loggedinUser, salesOrderId, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/GetSalesOrder?salesOrderId=' + salesOrderId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.UpdateRequestInventoryJobLineItemStatus = function (ticketId, status, lineitemId, updateStatusRemark, token) {\r\n var url = ApiURL + '/api/JobLineItem/UpdateRequestInventoryJobLineItemStatus?TicketId=' + ticketId + '&Status=' + status + '&LineItemId=' + lineitemId + '&Remark=' + updateStatusRemark;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetRequestedLineItemDetailsByTicketId = function (loggedinUser, salesOrderId, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/GetRequestedLineItemDetailsByTicketId?TicketId=' + salesOrderId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.createSalesOrder = function (token, data) {\r\n var url = ApiURL + '/api/ItemsInventory/CreateSalesOrderForLineitem';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.InventoryReturnOfDefectPartsByServiceCenter = function (data, loggedinUser, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/InventoryReturnOfDefectPartsByServiceCenter';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.TransferInventory = function (data, loggedinUser, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/TransferInventory';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.CustomerReturnInventory = function (data, loggedinUser, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/CustomerReturnInventory';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.viewReportPdf = function (loggedinUser, token, fileName) {\r\n var url = ApiURL + '/api/Image?fileName=' + fileName;\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetUserInventoryStockCsvDownload = function (token, orderStatus, SearchText, category, brandName, productGroup, orderBy, sortType, userId, dPageIndex, dPageSize, startDate, endDate) {\r\n var url = ApiURL + '/api/ZohoInventoryController/GetUserInventoryStockCsvDownload?SearchText=' + SearchText + '&Category=' + category + '&BrandName=' + brandName + '&ProductGroup=' + productGroup + '&startDate=' + startDate + '&EndDate=' + endDate + '&OrderBy=' + orderBy + '&SortType=' + sortType + '&StockType=' + orderStatus + '&UserId=' + userId + '&PageSize=' + dPageSize + '&PageIndex=' + dPageIndex;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('inventorynewController', function (inventorynewService, $window, PublicApiURL, ApiURL,\r\n\t$state, $localStorage, $scope, $uibModal, inventorynewService, $timeout, $stateParams) {\r\n\tvm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvm.NokiaTableHeaderChange = $localStorage.accountConfig.NokiaTableHeaderChange;\r\n\tvar loggedinUserName = $localStorage.loggedInUser_FirstName + \" \" + $localStorage.loggedInUser_LastName;\r\n\tvar token = $localStorage.token;\r\n\tvar loggedinUserImage = $localStorage.picture;\r\n\tvar uTicketId = $stateParams.ticketId;\r\n\tvm.SearchTag = \"\";\r\n\tvm.showMapPermision = false;\r\n\tvm.superPower = false;\r\n\t$scope.isCollapsed = true;\r\n\tvm.UserId = \"\";\r\n\tvm.CurrencySetting = $localStorage.accountConfig.CurrencySetting;\r\n\tvm.Role = $localStorage.loggedInUser_Role;\r\n\tvm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n\tvm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\tvm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n\tvar accountConfig = $localStorage.accountConfig;\r\n\tvm.AccountId = $localStorage.accountConfig.AccountId;\r\n\tvm.isDefective = false;\r\n\tvm.ImageArray = [];\r\n\tvm.states = [];\r\n\tvm.cities = [];\r\n\tvm.isShow = true;\r\n\tvm.showEditList = false;\r\n\tvm.showAction = true;\r\n\tvm.dataFilters = [];\r\n\tvm.CancellationReasons = '';\r\n\tvm.IsCommissionDetect = false;\r\n\tvm.urlForNonFeasible = '';\r\n\tvm.currentStepModel = {};\r\n\tvm.dtInstanceNearBy = {};\r\n\tvm.dtInstanceFixed = {};\r\n\tvm.dtInstance = {};\r\n\tvm.dtInstancePre = {};\r\n\tvm.SparePartAddress = {};\r\n\tvm.disableBroadcastButton = false;\r\n\tvm.disableRouteButton = false;\r\n\tvm.IsChatEnabled = true;\r\n\tvm.showPrefer = '';\r\n\tvm.disabledDrop = false;\r\n\tvm.showloading = false\r\n\tvm.ComplianceDisable = true;\r\n\tvm.PincodeEnabled = true;\r\n\tvm.passSerialNum = false;\r\n\tvm.PrivateDisable = false;\r\n\tvm.messageText = \"\";\r\n\tvm.PriceLineItemList = [];\r\n\tvm.LineItemDataList = [];\r\n\tvm.lineItem = \"\";\r\n\tvm.serviceType = '';\r\n\tvm.AppointmentTime = '';\r\n\tvm.ticketPrice = \"\";\r\n\tvm.freelancerPrice = \"\";\r\n\tvm.edit = true;\r\n\tvm.BonusPenaltyList = [];\r\n\tvm.BonusList = [];\r\n\tvm.PenaltyList = [];\r\n\tvm.ShipmentDetails = \"\";\r\n\tvm.LineitemActivityList = [];\r\n\tvm.LineItemCategoryType = \"\";\r\n\tvm.projectId = \"\";\r\n\tvm.selectedprojectId = \"\";\r\n\tvm.dynamicpricing = \"\";\r\n\tvm.FreelancrPriceEnable = \"\";\r\n\tvm.PercentageEnable = \"\";\r\n\tvar price = 0;\r\n\tvar Quantity = 1;\r\n\tvar totalFPrice = 0.0;\r\n\tvm.BasePriceTotal = 0.0;\r\n\tvm.dFreelancerPriceTotal = 0.0;\r\n\tvm.PercentageTotal = 0.0;\r\n\tvm.FreelancerPriceTotal = 0.0;\r\n\tvm.MobiforceCommission = $localStorage.accountConfig.MobiforceCommissionPercentage;\r\n\tvm.IsFinalApproval = false;\r\n\tvm.disableExceptionButton = false;\r\n\t// vm.IsWithInDays = true;\r\n\tvm.StockCountToAssign = 0;\r\n\tvm.PartActionType = \"\";\r\n\tvm.feedbackremark = '';\r\n\tvm.PlannedClosureDateType = \"first\";\r\n\tvm.WithInDays = 1;\r\n\tvm.WithInDaysNumbers = [1, 2, 3, 4, 5];\r\n\tvm.IsSafetyAudit = 'Not Done';\r\n\tvm.ratingwarning = \"\";\r\n\tvm.approvalRemark = '';\r\n\tvm.MaterialStatusList = [\"Dispatched\", \"Delivered\", \"Partially Delivered\", \"Not Delivered\"];\r\n\tvm.IsMaterialDelivered = $localStorage.accountConfig.IsMaterialDelivered;\r\n\tvm.SelectedMaterial = '';\r\n\tvm.FreelancerAccess = $localStorage.accountConfig.FreelancerAccess;\r\n\tvm.ZOHOWarehouseName = '';\r\n\tvm.customerJobCard = [];\r\n\tvm.PageIndex = 1;\r\n\tvm.PageSize = 10;\r\n\tstartDate = '';\r\n\tendDate = '';\r\n\tvm.sortType = \"\"\r\n\tvm.orderBy = \"\";\r\n\tvm.itemValue = '';\r\n\tvm.OrderStatus = \"\";\r\n\tvm.SearchText = \"\";\r\n\tvar uPageIndex = 1;\r\n\tvar uPageSize = 10;\r\n\tvar dPageSize = 10;\r\n\tvar dPageIndex = 1;\r\n\tvar fPageIndex = 1;\r\n\tvar fPageSize = 10;\r\n\tvar ePageIndex = 1;\r\n\tvar ePageSize = 10;\r\n\tvm.userPageListCount = 10;\r\n\tvm.financePageListCount = 10;\r\n\tvm.defectedPageListCount = 10;\r\n\tvm.brandName = \"\";\r\n\tvm.partName = \"\";\r\n\tvm.productGroup = \"\";\r\n\tvm.BrandListName = \"\";\r\n\tvm.allSalesOrderPageListCount = 10;\r\n\tvm.allHistoryOrderPageListCount = 10;\r\n\tvm.pageListCounts = [10, 20, 30, 50];\r\n\tvar startDate = moment().subtract(30, 'days').format(\"YYYY-MM-DD\");\r\n\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\tvm.dateField = \"CreatedOn\";\r\n\tvm.ticketdates = { startDate: moment().subtract(30, 'day'), endDate: moment() };\r\n\tvm.ticketranges = {\r\n\t\t'Today': [moment(), moment()],\r\n\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t'This month': [moment().startOf('month'), moment().endOf('month')]\r\n\t};\r\n\r\n\tvm.outsidedateRangeChange = function (ev, picker) {\r\n\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\tvm.ApplyFilter();\r\n\t};\r\n\tif (accountConfig && accountConfig.EnableRegion) {\r\n\t\tvm.EnableRegion = accountConfig.EnableRegion;\r\n\t} else {\r\n\t\tvm.EnableRegion = false;\r\n\t}\r\n\r\n\tvm.PartsList = [\"CCTV\", \"Fan\", \"Geyser\"];\r\n\tvm.TemplateData = [];\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\r\n\t\tvar token = $localStorage.token;\r\n\t\tvm.ticketType = $stateParams.type;\r\n\t\tvm.TicketId = $stateParams.ticketId;\r\n\r\n\t\tvm.getPicUrl = function (ItemImage) {\r\n\t\t\treturn ItemImage ? ApiURL + \"/api/ZohoInventoryController/GetItemImage?item=\" + ItemImage : null;\r\n\t\t}\r\n\r\n\t\tvm.showPartDetails = false;\r\n\r\n\t\tvm.OpenSidePanel = function (s) {\r\n\t\t\tvm.PartDetails = s;\r\n\t\t\tvm.showPartDetails = true;\r\n\t\t}\r\n\r\n\t\tvm.trackingStatus = false;\r\n\t\tvm.TrackingSidePanel = function (p) {\r\n\t\t\tvm.TrackDetails = p;\r\n\t\t\tvm.trackingStatus = true;\r\n\t\t}\r\n\t\tvm.assigntotech = false;\r\n\t\tvm.AssignSidePanel = function (q) {\r\n\t\t\tvm.CountDetails = q;\r\n\t\t\tvm.lineItem = vm.CountDetails.LineItemId;\r\n\t\t\tvm.GetServiceCentenAndTeamStockData();\r\n\t\t\tvm.assigntotech = true;\r\n\t\t}\r\n\r\n\t\tvm.getPic = function (LineItemAttachment) {\r\n\t\t\treturn LineItemAttachment ? ApiURL + \"/api/ZohoInventoryController/GetItemImage?item=\" + LineItemAttachment : null;\r\n\t\t}\r\n\r\n\t\tvm.disableCreateButton = false;\r\n\r\n\t\tvm.DisableCreateButton = function (disable) {\r\n\t\t\tif (disable) {\r\n\t\t\t\tvm.disableCreateButton = true;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.disableCreateButton = false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.AssignStockModel = function (type, user) {\r\n\t\t\tvm.PartActionType = type;\r\n\t\t\tvm.userDetails = user;\r\n\t\t\tif(user.LineItemId){\r\n\t\t\t\tvm.lineItem = user.LineItemId;\r\n\t\t\t}\r\n\t\t\tvm.createTaskModelOpen = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'createtask.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.CloseAssignStockModel = function () {\r\n\t\t\tvm.createTaskModelOpen.close();\r\n\t\t\tvm.DisableCreateButton(false);\r\n\t\t\tvm.StockCountToAssign = 0;\r\n\t\t}\r\n\r\n\t\tvm.CountPopup = function (lineItem) {\r\n\t\t\tvm.lineItem = lineItem;\r\n\t\t\tvm.GetServiceCentenAndTeamStockData();\r\n\t\t\tvm.COuntTaskModelOpen = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'countclick.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\r\n\t\tvm.ClosecountpopupModel = function () {\r\n\t\t\tvm.COuntTaskModelOpen.close();\r\n\r\n\t\t}\r\n\r\n\t\t$scope.totalFinList = 0;\r\n\t\t$scope.usersPerPage = vm.allSalesOrderPageListCount;\r\n\t\t$scope.SalesOrderPagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\r\n\t\tvm.changeAllSalesOrderPageListCount = function () {\r\n\t\t\t$scope.usersPerPage = vm.allSalesOrderPageListCount;\r\n\t\t\tfPageSize = $scope.usersPerPage;\r\n\t\t\t$scope.AllSalesOrderTablePageChanged($scope.SalesOrderPagination.current);\r\n\t\t\tvm.selectAll = false;\r\n\t\t\tfPageIndex = $scope.SalesOrderPagination.current;\r\n\t\t\t$scope.AllSalesOrderTablePageChanged = function (newPage) {\r\n\t\t\t\tfPageIndex = newPage;\r\n\t\t\t\tvm.GetUserAllSalesOrderDetailforWeb(token, vm.OrderStatus, vm.SearchText, vm.partName, vm.brandName, vm.productGroup, vm.orderBy, vm.sortType, fPageIndex, fPageSize, startDate, endDate, vm.dateField);\r\n\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tfPageIndex = $scope.SalesOrderPagination.current;\r\n\t\t$scope.AllSalesOrderTablePageChanged = function (newPage) {\r\n\t\t\tfPageIndex = newPage;\r\n\t\t\tvm.GetUserAllSalesOrderDetailforWeb(token, vm.OrderStatus, vm.SearchText, vm.partName, vm.brandName, vm.productGroup, vm.orderBy, vm.sortType, fPageIndex, fPageSize, startDate, endDate, vm.dateField);\r\n\r\n\t\t};\r\n\r\n\t\tvm.orderdetailsview = function (salesOrderDetail) {\r\n\t\t\t$state.go('index.OrderDetailView', {\r\n\t\t\t\torder_id: salesOrderDetail\r\n\t\t\t}, {\r\n\t\t\t\treload: true\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.TicketPartOrderList = [];\r\n\t\tvm.GetUserAllSalesOrderDetailforWeb = function () {\r\n\t\t\tinventorynewService.GetUserAllSalesOrderDetailforWeb(token, vm.OrderStatus, vm.SearchText, vm.partName, vm.brandName, vm.productGroup, vm.orderBy, vm.sortType, fPageIndex, fPageSize, startDate, endDate, vm.dateField).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.TicketPartOrderList = resp.data.zohoItemRequestModels;\r\n\t\t\t\t\t$scope.totalFinList = resp.data.Count;\r\n\t\t\t\t\tif (vm.TicketPartOrderList.length < vm.allSalesOrderPageListCount)\r\n\t\t\t\t\t\tvm.financeListLength = $scope.totalFinList;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.financeListLength = fPageIndex * vm.allSalesOrderPageListCount;\r\n\t\t\t\t\tif (fPageIndex == 1)\r\n\t\t\t\t\t\tvm.fpageindexCount = 1;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.fpageindexCount = (((fPageIndex - 1) * vm.allSalesOrderPageListCount) + 1);\r\n\t\t\t\t}\r\n\t\t\t}, function (error) {\r\n\r\n\t\t\t})\r\n\t\t}\r\n\r\n\r\n\r\n\r\n\r\n\t\t$scope.totalSalesorder = 0;\r\n\t\t$scope.usersPerPageRequest = vm.allHistoryOrderPageListCount;\r\n\t\t$scope.Requestpagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\r\n\t\tvm.changePartOrderedPageListCount = function () {\r\n\t\t\t$scope.usersPerPageRequest = vm.allHistoryOrderPageListCount;\r\n\t\t\tePageSize = $scope.usersPerPageRequest;\r\n\t\t\t$scope.RequestTablePageChanged($scope.Requestpagination.current);\r\n\t\t\tvm.selectAll = false;\r\n\r\n\t\t\tePageIndex = $scope.Requestpagination.current;\r\n\t\t\t$scope.RequestTablePageChanged = function (newPage) {\r\n\t\t\t\tePageIndex = newPage;\r\n\t\t\t\tvm.GetUserSalesOrderIntatiedByZoho(token, vm.OrderStatus, vm.SearchText, vm.partName, vm.brandName, vm.productGroup, vm.orderBy, vm.sortType, ePageIndex, ePageSize, startDate, endDate);\r\n\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tePageIndex = $scope.Requestpagination.current;\r\n\t\t$scope.RequestTablePageChanged = function (newPage) {\r\n\t\t\tePageIndex = newPage;\r\n\t\t\tvm.GetUserSalesOrderIntatiedByZoho(token, vm.OrderStatus, vm.SearchText, vm.partName, vm.brandName, vm.productGroup, vm.orderBy, vm.sortType, ePageIndex, ePageSize, startDate, endDate);\r\n\r\n\t\t};\r\n\r\n\r\n\r\n\t\tvm.PartOrderList = [];\r\n\t\tvm.GetUserSalesOrderIntatiedByZoho = function (status) {\r\n\t\t\tvm.OrderStatus = status;\r\n\t\t\tinventorynewService.GetUserSalesOrderIntatiedByZoho(token, vm.OrderStatus, vm.SearchText, vm.partName, vm.brandName, vm.productGroup, vm.orderBy, vm.sortType, ePageIndex, ePageSize, startDate, endDate).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.PartOrderList = resp.data.zohoItemRequestModels;\r\n\t\t\t\t\t$scope.totalSalesorder = resp.data.Count;\r\n\t\t\t\t\tif (vm.PartOrderList.length < vm.allHistoryOrderPageListCount)\r\n\t\t\t\t\t\tvm.historyListLength = $scope.totalSalesorder;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.historyListLength = ePageIndex * vm.allHistoryOrderPageListCount;\r\n\t\t\t\t\tif (ePageIndex == 1)\r\n\t\t\t\t\t\tvm.epageindexCount = 1;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.epageindexCount = (((ePageIndex - 1) * vm.allHistoryOrderPageListCount) + 1);\r\n\t\t\t\t}\r\n\t\t\t}, function (error) {\r\n\r\n\t\t\t})\r\n\t\t}\r\n\r\n\r\n\t\t$scope.totalInventory = 0;\r\n\t\t$scope.usersStockPageRequest = vm.financePageListCount;\r\n\t\t$scope.Requestpagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\r\n\t\tvm.changeMyStockPageListCount = function () {\r\n\t\t\t$scope.usersPerPageRequest = vm.financePageListCount;\r\n\t\t\tdPageSize = $scope.usersPerPageRequest;\r\n\t\t\t$scope.MystockTablePageChanged($scope.Requestpagination.current);\r\n\t\t\tvm.selectAll = false;\r\n\r\n\t\t\tdPageIndex = $scope.Requestpagination.current;\r\n\t\t\t$scope.MystockTablePageChanged = function (newPage) {\r\n\t\t\t\tdPageIndex = newPage;\r\n\t\t\t\tvm.GetUserInventoryStockforweb(token, vm.OrderStatus, vm.SearchText, vm.partName, vm.brandName, vm.productGroup, vm.orderBy, vm.sortType, vm.UserId, dPageIndex, dPageSize, startDate, endDate);\r\n\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tdPageIndex = $scope.Requestpagination.current;\r\n\t\t$scope.MystockTablePageChanged = function (newPage) {\r\n\t\t\tdPageIndex = newPage;\r\n\t\t\tvm.GetUserInventoryStockforweb(token, vm.OrderStatus, vm.SearchText, vm.partName, vm.brandName, vm.productGroup, vm.orderBy, vm.sortType, vm.UserId, dPageIndex, dPageSize, startDate, endDate);\r\n\r\n\t\t};\r\n\r\n\t\tvm.MyInventoryStockList = [];\r\n\t\tvm.GetUserInventoryStockforweb = function () {\r\n\t\t\tinventorynewService.GetUserInventoryStockforweb(token, vm.OrderStatus, vm.SearchText, vm.partName, vm.brandName, vm.productGroup, vm.orderBy, vm.sortType, vm.UserId, dPageIndex, dPageSize, startDate, endDate).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.MyInventoryStockList = resp.data.LineItemList;\r\n\t\t\t\t\t$scope.totalInventory = resp.data.Count;\r\n\t\t\t\t\tvm.totalInventoryValue = resp.data.InventoryTotal;\r\n\t\t\t\t\tif (vm.MyInventoryStockList.length < vm.financePageListCount)\r\n\t\t\t\t\t\tvm.myStockListLength = $scope.totalInventory;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.myStockListLength = dPageIndex * vm.financePageListCount;\r\n\t\t\t\t\tif (dPageIndex == 1)\r\n\t\t\t\t\t\tvm.dpageindexCount = 1;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.dpageindexCount = (((dPageIndex - 1) * vm.financePageListCount) + 1);\r\n\t\t\t\t}\r\n\t\t\t}, function (error) {\r\n\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tvm.GetUserInventoryStockCsvDownload = function () {\r\n\t\t\tinventorynewService.GetUserInventoryStockCsvDownload(token, vm.OrderStatus, vm.SearchText, vm.partName, vm.brandName, vm.productGroup, vm.orderBy, vm.sortType, vm.UserId, dPageIndex, dPageSize, startDate, endDate).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvar csvData = resp.data;\r\n\r\n\t\t\t\t\t// Create a Blob from the CSV data\r\n\t\t\t\t\tvar blob = new Blob([csvData], { type: 'text/csv' });\r\n\r\n\t\t\t\t\t// Create a URL for the Blob\r\n\t\t\t\t\tvar url = window.URL.createObjectURL(blob);\r\n\r\n\t\t\t\t\t// Create an anchor element for the download link\r\n\t\t\t\t\tvar a = document.createElement('a');\r\n\t\t\t\t\ta.href = url;\r\n\t\t\t\t\ta.download = 'inventory.csv'; // Set the desired filename\r\n\r\n\t\t\t\t\t// Simulate a click to trigger the download\r\n\t\t\t\t\ta.click();\r\n\r\n\t\t\t\t\t// Release the URL object\r\n\t\t\t\t\twindow.URL.revokeObjectURL(url);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\t$scope.totalDefected = 0;\r\n\t\t$scope.defectedStockPageRequest = vm.defectedPageListCount;\r\n\t\t$scope.Requestpagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\r\n\t\tvm.changeMyDefectedPageListCount = function () {\r\n\t\t\t$scope.usersPerPageRequest = vm.defectedPageListCount;\r\n\t\t\tuPageSize = $scope.usersPerPageRequest;\r\n\t\t\t$scope.MyDefectedTablePageChanged($scope.Requestpagination.current);\r\n\t\t\tvm.selectAll = false;\r\n\r\n\t\t\tuPageIndex = $scope.Requestpagination.current;\r\n\t\t\t$scope.MyDefectedTablePageChanged = function (newPage) {\r\n\t\t\t\tuPageIndex = newPage;\r\n\t\t\t\tvm.GetInventoryDefectStockList(token, vm.SearchText, vm.partName, vm.brandName, vm.productGroup, uPageIndex, uPageSize, startDate, endDate);\r\n\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tuPageIndex = $scope.Requestpagination.current;\r\n\t\t$scope.MyDefectedTablePageChanged = function (newPage) {\r\n\t\t\tuPageIndex = newPage;\r\n\t\t\tvm.GetInventoryDefectStockList(token, vm.SearchText, vm.partName, vm.brandName, vm.productGroup, uPageIndex, uPageSize, startDate, endDate);\r\n\r\n\t\t};\r\n\r\n\t\tvm.DefectiveStockList = [];\r\n\t\tvm.GetInventoryDefectStockList = function () {\r\n\t\t\tinventorynewService.InventoryDefectStockList(token, vm.SearchText, vm.partName, vm.brandName, vm.productGroup, uPageIndex, uPageSize, startDate, endDate).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.DefectiveStockList = resp.data.inventoryDefectStocks;\r\n\t\t\t\t\t$scope.totalDefected = resp.data.count;\r\n\t\t\t\t\tif (vm.DefectiveStockList.length < vm.defectedPageListCount)\r\n\t\t\t\t\t\tvm.myDefectedListLength = $scope.totalDefected;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.myDefectedListLength = uPageIndex * vm.defectedPageListCount;\r\n\t\t\t\t\tif (uPageIndex == 1)\r\n\t\t\t\t\t\tvm.dpageindexCount = 1;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.dpageindexCount = (((uPageIndex - 1) * vm.defectedPageListCount) + 1);\r\n\t\t\t\t}\r\n\t\t\t}, function (error) {\r\n\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tvm.setMainOrderStatus = function (status, tabName, mainTab) {\r\n\t\t\tvm.ActiveTab = tabName;\r\n\t\t\tvm.MainActiveTab = mainTab;\r\n\t\t\tvm.OrderStatus = status;\r\n\t\t\tstartDate = moment().subtract(30, 'days').format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = moment().format(\"YYYY-MM-DD\");\r\n\t\t\tif (vm.MainActiveTab == 'Parts') {\r\n\t\t\t\tvm.UserId = \"\";\r\n\t\t\t\tvm.partName = \"\";\r\n\t\t\t\tvm.SearchText = \"\";\r\n\t\t\t\tvm.brandName = \"\";\r\n\t\t\t\tvm.productGroup = \"\";\r\n\t\t\t\tvm.GetUserAllSalesOrderDetailforWeb(status);\r\n\t\t\t}\r\n\t\t\telse if (vm.MainActiveTab == 'Orders') {\r\n\t\t\t\tvm.UserId = \"\";\r\n\t\t\t\tvm.partName = \"\";\r\n\t\t\t\tvm.SearchText = \"\";\r\n\t\t\t\tvm.brandName = \"\";\r\n\t\t\t\tvm.productGroup = \"\";\r\n\t\t\t\tvm.GetUserSalesOrderIntatiedByZoho(status);\r\n\t\t\t}\r\n\t\t\telse if (vm.MainActiveTab == 'My Stock') {\r\n\t\t\t\tvm.UserId = \"\";\r\n\t\t\t\tvm.partName = \"\";\r\n\t\t\t\tvm.SearchText = \"\";\r\n\t\t\t\tvm.brandName = \"\";\r\n\t\t\t\tvm.productGroup = \"\";\r\n\t\t\t\tvm.GetUserInventoryStockforweb(status);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.setOrderStatus = function (status, tabName, mainTab) {\r\n\t\t\tvm.ActiveTab = tabName;\r\n\t\t\tvm.MainActiveTab = mainTab;\r\n\t\t\tvm.OrderStatus = status;\r\n\t\t\tif (vm.MainActiveTab == 'Parts') {\r\n\t\t\t\tif (vm.ActiveTab == 'Part Requested' || vm.ActiveTab == 'Part Consumed' || vm.ActiveTab == 'Part Rejected') {\r\n\t\t\t\t\tvm.GetUserAllSalesOrderDetailforWeb(status);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse if (vm.MainActiveTab == 'Orders') {\r\n\t\t\t\tif (vm.ActiveTab == 'Part Purchase Order' || vm.ActiveTab == 'Part Received') {\r\n\t\t\t\t\tvm.GetUserSalesOrderIntatiedByZoho(status);\r\n\t\t\t\t}\r\n\t\t\t\telse if (vm.ActiveTab == 'Return Order') {\r\n\t\t\t\t\tvm.GetInventoryDefectStockList();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse if (vm.MainActiveTab == 'My Stock') {\r\n\t\t\t\tvm.GetUserInventoryStockforweb(status);\r\n\t\t\t}\r\n\t\t}\r\n\t\tvm.setOrderStatus('pending', 'Part Requested', 'Parts');\r\n\r\n\t\tvm.changeCategoryFilter = function () {\r\n\t\t\tvm.SearchText = \"\";\r\n\t\t\tvm.ApplyFilter();\r\n\t\t}\r\n\r\n\t\tvm.searchByText = function () {\r\n\t\t\tvm.brandName = \"\";\r\n\t\t\tvm.partName = \"\";\r\n\t\t\tvm.productGroup = \"\";\r\n\t\t\tvm.ApplyFilter();\r\n\t\t}\r\n\r\n\r\n\t\tvm.GetItemGroupName = function () {\r\n\t\t\tif (!vm.brandName) {\r\n\t\t\t\tvm.brandName = \"\";\r\n\t\t\t}\r\n\t\t\tinventorynewService.GetItemGroupName(vm.brandName, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.PartNameList = resp.data;\r\n\t\t\t\t\tvm.changeCategoryFilter();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.GetItemGroupName();\r\n\r\n\t\tvm.GetItemListName = function () {\r\n\t\t\tif (!vm.productGroup) {\r\n\t\t\t\tvm.productGroup = \"\";\r\n\t\t\t}\r\n\t\t\tinventorynewService.GetItemListName(vm.brandName, vm.productGroup, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.PartList = resp.data;\r\n\t\t\t\t\tvm.changeCategoryFilter();\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.GetItemListName();\r\n\r\n\t\tvm.GetItemBrandName = function () {\r\n\t\t\tinventorynewService.GetItemBrandName(token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.BrandList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.GetItemBrandName();\r\n\r\n\t\tvm.AddDefectedStockModal = function () {\r\n\t\t\tvm.StockModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'DefectedStock.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeDefectedStockModal = function () {\r\n\t\t\tvm.StockModal.close();\r\n\t\t\tvm.addTicketId = \"\";\r\n\t\t\tvm.partName = \"\";\r\n\t\t\tvm.brandName = \"\";\r\n\t\t\tvm.addType = \"\";\r\n\t\t\tvm.productGroup = \"\";\r\n\t\t\tvm.addQuantity = 0;\r\n\t\t}\r\n\r\n\t\tvm.AddDefectedPartInStock = function () {\r\n\t\t\tvm.DisableCreateButton(true);\r\n\t\t\tvar data = {\r\n\t\t\t\t\"Type\": vm.addType,\r\n\t\t\t\t\"TicketId\": vm.addTicketId,\r\n\t\t\t\t\"BrandName\": vm.brandName,\r\n\t\t\t\t\"PartGroup\": vm.productGroup,\r\n\t\t\t\t\"PartName\": vm.partName,\r\n\t\t\t\t\"Quantity\": vm.addQuantity\r\n\t\t\t}\r\n\t\t\tinventorynewService.CustomerReturnInventory(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.status == 200) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", resp.data.Message);\r\n\t\t\t\t\tvm.closeDefectedStockModal();\r\n\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tvm.GetUserInventoryStockforweb(vm.OrderStatus);\r\n\t\t\t\t\t}, 2000)\r\n\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message)\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\r\n\t\tvm.OrdercreateModal = function () {\r\n\t\t\tvm.showEditList = true;\r\n\t\t\tvm.showAction = false;\r\n\t\t\tvm.OrderModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'CreateOrderModal.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeOrdercreateModal = function () {\r\n\t\t\tvm.OrderModal.close();\r\n\t\t\tvm.dataFilters = [];\r\n\t\t}\r\n\r\n\t\tvm.addMoreFilter = function () {\r\n\t\t\tvm.showEditList = true;\r\n\t\t\tvm.showAction = false;\r\n\t\t};\r\n\t\tvm.addNewFilter = function (filter) {\r\n\t\t\tvm.dataFilters.push({\r\n\t\t\t\t\"PartName\": filter.PartName,\r\n\t\t\t\t\"Quantity\": filter.Quantity,\r\n\t\t\t\t\"WareHouse\": filter.WareHouse,\r\n\t\t\t\t\"OrderType\": filter.OrderType,\r\n\t\t\t\t\"TicketId\": filter.TicketId,\r\n\t\t\t\t\"Remark\": filter.Remark\r\n\t\t\t});\r\n\t\t\tvm.showEditList = false;\r\n\t\t\tvm.showAction = true;\r\n\t\t};\r\n\r\n\t\t$scope.deleteDataFilter = function (filter) {\r\n\t\t\tconst index = vm.dataFilters.indexOf(filter);\r\n\t\t\tif (index !== -1) {\r\n\t\t\t\tvm.dataFilters.splice(index, 1);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tvm.GetShipmentOrder = function (salesOrderNumber) {\r\n\t\t\tinventorynewService.GetShipmentOrder(salesOrderNumber, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.TrackingDetails = resp.data;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.TrackinDetailForDefectItem = function (trackingId) {\r\n\t\t\tinventorynewService.TrackinDetailForDefectItem(trackingId, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.TrackingDetails = resp.data;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.GetTrackingDetailsByTrackinNumber = function (trackingNo, ticketId) {\r\n\t\t\tvm.trackNo = trackingNo;\r\n\t\t\tvar data = {\r\n\t\t\t\t\"Id\": ticketId,\r\n\t\t\t\t\"trackingNumber\": trackingNo\r\n\t\t\t};\r\n\t\t\tinventorynewService.GetTrackingDetailsByTrackinNumber(data, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\r\n\t\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\t\tvm.getTrackingDetailsList = resp.data;\r\n\t\t\t\t\t\tvm.lastTag = vm.getTrackingDetailsList[vm.getTrackingDetailsList.length - 1].tag;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t// vm.GetItemListName = function () {\r\n\t\t// \tinventorynewService.GetItemListName(token).then(function (resp) {\r\n\t\t// \t\tif (resp && resp.data) {\r\n\t\t// \t\t\tvm.PartList = resp.data;\r\n\t\t// \t\t}\r\n\t\t// \t}, vm.showFailure);\r\n\t\t// }\r\n\t\t// vm.GetItemListName();\r\n\r\n\t\tvm.GetServiceCentenAndTeamStockData = function () {\r\n\t\t\tinventorynewService.GetServiceCentenAndTeamStockData(vm.lineItem, vm.SearchTag, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.TeamStockData = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.AssignOrPullBackStock = function () {\r\n\t\t\t// vm.stockAssignation_form.submitted = true;\r\n\t\t\tif (vm.stockAssignation_form.$valid) {\r\n\t\t\t\tvm.DisableCreateButton(true);\r\n\t\t\t\tvar data = {\r\n\t\t\t\t\t\"LineItemId\": vm.lineItem,\r\n\t\t\t\t\t\"UserId\": vm.userDetails.UserId,\r\n\t\t\t\t\t\"StockCount\": vm.StockCountToAssign,\r\n\t\t\t\t\t\"PartActionType\": vm.PartActionType\r\n\t\t\t\t}\r\n\t\t\t\tinventorynewService.InventoryMangementOnServiceLevel(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif (resp && resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", resp.data.Message);\r\n\t\t\t\t\t\tvm.CloseAssignStockModel();\r\n\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\tvm.GetServiceCentenAndTeamStockData(vm.lineItem);\r\n\t\t\t\t\t\t\tvm.GetUserInventoryStockforweb(vm.OrderStatus);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message)\r\n\t\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tvm.OpenReturnModel = function (requestDetails, Type) {\r\n\t\t\tvm.ReturnType = Type;\r\n\t\t\tvm.ReturnRequest = requestDetails;\r\n\t\t\tif(vm.ReturnType == 'Goods'){\r\n\t\t\t\tvm.ReturnQuantity = vm.ReturnRequest.StockCount;\r\n\t\t\t}\r\n\t\t\telse if(vm.ReturnType == 'Damaged'){\r\n\t\t\t\tvm.ReturnQuantity = vm.ReturnRequest.DefectStockCount;\r\n\t\t\t}\r\n\t\t\tvm.returnModelOpen = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'returnpopup.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t\tsize: 'lg'\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.CloseReturnModel = function () {\r\n\t\t\tvm.returnModelOpen.close();\r\n\t\t\tvm.DisableCreateButton(false);\r\n\t\t\tvm.defectedTrackingId = \"\";\r\n\t\t}\r\n\r\n\t\tvm.OpenStockTransferModel = function (partDetails) {\r\n\t\t\tvm.lineItem = partDetails.LineItemId;\r\n\t\t\tvm.PartToBeTransferDetail = partDetails.LineItemDescription;\r\n\t\t\tvm.GetServiceCentenAndTeamStockData();\r\n\t\t\tvm.stockTransferModelOpen = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'stockTransferModal.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t\tsize: 'lg'\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.CloseStockTransferModel = function () {\r\n\t\t\tvm.stockTransferModelOpen.close();\r\n\t\t\tvm.DisableCreateButton(false);\r\n\t\t\tvm.transferFromUser = \"\";\r\n\t\t\tvm.transferToUser = \"\";\r\n\t\t\tvm.transferQuantity = 0;\r\n\t\t}\r\n\r\n\r\n\t\tvm.defectItems = [];\r\n\r\n\t\tvm.Acceptancemodel = function (requestDetails) {\r\n\t\t\tvm.AllRequestDetail = requestDetails;\r\n\t\t\tvm.TicketForAcceptance = requestDetails.TicketId;\r\n\t\t\tvm.acceptanceModelOpen = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'acceptancepopup.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.CloseAcceptanceModel = function () {\r\n\t\t\tvm.isDefective = false;\r\n\t\t\tvm.acceptanceModelOpen.close();\r\n\t\t\tvm.DisableCreateButton(false);\r\n\t\t\tvm.TicketForAcceptance = \"\";\r\n\t\t\tvm.DefectedCount = 0;\r\n\t\t\tvm.defectItems = [];\r\n\t\t}\r\n\r\n\t\tvm.submitForm = function () {\r\n\t\t\tif (vm.isDefective == true) {\r\n\t\t\t\tfor (var i = 0; i < vm.AllRequestDetail.NameList.length; i++) {\r\n\t\t\t\t\tvm.defectItems[i].IetemName = vm.AllRequestDetail.NameList[i];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tvm.MarkSalesOrderDelivered();\r\n\t\t}\r\n\r\n\t\tvm.MarkSalesOrderDelivered = function () {\r\n\t\t\t// vm.stockAssignation_form.submitted = true;\r\n\t\t\t// if (vm.stockAssignation_form.$valid) {\r\n\t\t\tvm.DisableCreateButton(true);\r\n\t\t\tvar data = {\r\n\t\t\t\t\"SalesOrderId\": vm.AllRequestDetail.ZOHOSalesOrderId,\r\n\t\t\t\t\"Organization_id\": \"\",\r\n\t\t\t\t\"AcceptanceProof\": \"\",\r\n\t\t\t\t\"TicketId\": vm.TicketForAcceptance,\r\n\t\t\t\t\"defectItems\": vm.defectItems\r\n\t\t\t}\r\n\t\t\tinventorynewService.MarkSalesOrderasDelivered(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.status == 200) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", resp.data.Message);\r\n\t\t\t\t\tvm.CloseAcceptanceModel();\r\n\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tif (vm.ActiveTab == 'Part Purchase Order') {\r\n\t\t\t\t\t\t\tvm.GetUserSalesOrderIntatiedByZoho(vm.OrderStatus);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if (vm.ActiveTab == 'Part Requested') {\r\n\t\t\t\t\t\t\tvm.GetUserAllSalesOrderDetailforWeb(vm.OrderStatus);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}, 2000)\r\n\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message)\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t// }\r\n\t\t}\r\n\r\n\t\tvm.defectedTrackingId = \"\";\r\n\t\tvm.MarkReturnRaised = function () {\r\n\t\t\tvm.DisableCreateButton(true);\r\n\t\t\tvar data = {\r\n\t\t\t\t\"LineItemId\": vm.ReturnRequest.LineItemId,\r\n\t\t\t\t\"ReturnQuantity\": vm.ReturnQuantity,\r\n\t\t\t\t\"TrackingId\": vm.defectedTrackingId,\r\n\t\t\t\t\"ReturnType\": vm.ReturnType\r\n\t\t\t}\r\n\t\t\tinventorynewService.InventoryReturnOfDefectPartsByServiceCenter(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.status == 200) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", resp.data);\r\n\t\t\t\t\tvm.CloseReturnModel();\r\n\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tvm.GetUserInventoryStockforweb(vm.OrderStatus);\r\n\t\t\t\t\t}, 2000)\r\n\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data)\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tvm.TransferInventory = function () {\r\n\t\t\tvm.DisableCreateButton(true);\r\n\t\t\tvar data = {\r\n\t\t\t\t\"LineItemId\": vm.lineItem,\r\n\t\t\t\t\"SenderUserId\": vm.transferFromUser,\r\n\t\t\t\t\"ReciverUserId\": vm.transferToUser,\r\n\t\t\t\t\"StockCount\": vm.transferQuantity\r\n\t\t\t}\r\n\t\t\tinventorynewService.TransferInventory(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.status == 200) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", resp.data.Message);\r\n\t\t\t\t\tvm.CloseStockTransferModel();\r\n\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tvm.GetUserInventoryStockforweb(vm.OrderStatus);\r\n\t\t\t\t\t}, 2000)\r\n\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message)\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tvm.addFiles = function () {\r\n\t\t\t$(\"#dropzone1\").trigger(\"click\");\r\n\t\t}\r\n\t\tvm.TicketPartOrderList = [];\r\n\t\tvm.rejectpart = [];\r\n\t\tvm.RejectModal = function (item) {\r\n\t\t\tvm.rejectpart = item;\r\n\t\t\tvm.RejctShareModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'rejectmodal.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.closerejectmodal = function () {\r\n\t\t\tvm.DisableCreateButton(false);\r\n\t\t\tvm.updateStatusRemark = \"\";\r\n\t\t\tvm.updateLineitemStatus = \"\";\r\n\t\t\tvm.RejctShareModal.close();\r\n\t\t}\r\n\r\n\r\n\r\n\t\tvm.UpdateRequestInventoryJobLineItemStatus = function () {\r\n\t\t\tvm.DisableCreateButton(true);\r\n\t\t\tvm.updateLineitemStatus = 'Rejected'\r\n\t\t\tinventorynewService.UpdateRequestInventoryJobLineItemStatus(vm.salesOrderId, vm.updateLineitemStatus, vm.rejectpart.LineItemId, vm.updateStatusRemark, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 202) {\r\n\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", resp.data);\r\n\t\t\t\t\t\tvm.GetPartRequestOrderLineItem('', vm.salesOrderId);\r\n\t\t\t\t\t\tvm.closerejectmodal();\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\tvm.showFailure('Failed', resp.data);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.resetFilters = function () {\r\n\t\t\tvm.brandName = '';\r\n\t\t\tvm.productGroup = '';\r\n\t\t\tvm.partName = '';\r\n\t\t\tvm.ticketdates = '';\r\n\t\t\tvm.SearchText = '';\r\n\t\t\tvm.UserId = '';\r\n\t\t\tvm.changeCategoryFilter()\r\n\t\t};\r\n\r\n\r\n\t\tvm.downloadCSV = function () {\r\n\t\t\tvar worksheet = alasql('SELECT * INTO XLSX(\"users.xlsx\", {headers:true}) FROM ?', [$scope.users]);\r\n\t\t};\r\n\t\tvm.warehouseModal = function () {\r\n\t\t\tvm.ShareModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'warehouseModal.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.IsShipmentVisible = false;\r\n\r\n\t\t// vm.implementSelectItems = function (itemList, scope) {\r\n\t\t// \tscope.selectAll = false;\r\n\t\t// \tscope.showMinus = false;\r\n\t\t// \tvm.IsShipmentVisible = false;\r\n\t\t// \tscope.selectRow = function (i) {\r\n\t\t// \t\tscope.showMinus = false;\r\n\t\t// \t\tscope.selectAll = false;\r\n\t\t// \t\tvm.IsShipmentVisible = false;\r\n\t\t// \t\tfor (var j = 0; j < scope.TicketPartOrderList.length; j++) {\r\n\t\t// \t\t\tvar tempTickets = scope.TicketPartOrderList[j];\r\n\t\t// \t\t\tif (tempTickets.checked) {\r\n\t\t// \t\t\t\tscope.showMinus = true;\r\n\t\t// \t\t\t\tvm.IsShipmentVisible = true;\r\n\t\t// \t\t\t}\r\n\t\t// \t\t}\r\n\t\t// \t}\r\n\t\t// \tscope.applyAllSelect = function () {\r\n\t\t// \t\tangular.forEach(scope[itemList], function (d) {\r\n\t\t// \t\t\td.checked = scope.selectAll;\r\n\t\t// \t\t});\r\n\t\t// \t}\r\n\t\t// }\r\n\t\t// vm.implementSelectItems('TicketPartOrderList', this);\r\n\r\n\t\tvm.IsVisible = false;\r\n\t\tvar createOrderData = [];\r\n\t\tvar wareHouseItemList = [];\r\n\t\tvar sendWdata = {};\r\n\t\tvm.TotalInventoryAmount = \"0\";\r\n\t\tvm.ShowCreateShipment = function (index) {\r\n\t\t\tvm.listWdata = [];\r\n\t\t\tif (index.lineItem.LineItemId) {\r\n\t\t\t\tvm.GetWarehouse(index.lineItem.LineItemId, index.TicketId);\r\n\t\t\t}\r\n\t\t\tvm.GetPartRequestOrderLineItem('', index.TicketId);\r\n\t\t\tvm.JobLineItemId = index.lineItem.LineItemId;\r\n\t\t\tvm.ShipmentTicketId = index.TicketId;\r\n\t\t\tvm.TotalInventoryAmount = index.OrderAmount;\r\n\t\t}\r\n\r\n\t\tvm.closeWarehouseModal = function () {\r\n\t\t\tvm.IsVisible = false;\r\n\t\t\twareHouseItemList = [];\r\n\t\t\tvm.listWdata = [];\r\n\t\t\tvm.WarehouseNameSelected = \"\";\r\n\t\t\tcreateOrderData = [];\r\n\t\t\tvm.ShareModal.close();\r\n\t\t}\r\n\t\tvm.GetWarehouse = function (warehouseLineItemId, ticketId) {\r\n\t\t\tvar warehouseData = {\r\n\t\t\t\t\"Id\": warehouseLineItemId,\r\n\t\t\t\t\"TicketId\": ticketId\r\n\t\t\t}\r\n\t\t\tinventorynewService.GetWarehouse(token, warehouseData).then(function (resp) {\r\n\t\t\t\tvm.warehouseList = resp.data;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.WarehouseNameSelected = \"\";\r\n\t\tvm.createSalesOrder = function () {\r\n\t\t\tvm.DisableCreateButton(true);\r\n\t\t\tangular.forEach(vm.PartRequestLineitemData, function (d) {\r\n\t\t\t\tif (d.BackendApprovalStatus != 'Rejected') {\r\n\t\t\t\t\tsendWdata = {\r\n\t\t\t\t\t\tJobLineItemId: d.LineItemId,\r\n\t\t\t\t\t\tselectedWarehouse: vm.WarehouseNameSelected\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcreateOrderData.push(sendWdata);\r\n\t\t\t\t}\r\n\r\n\t\t\t});\r\n\t\t\tdata = {\r\n\t\t\t\t\"itemIdWithWarehouseModels\": createOrderData,\r\n\t\t\t\t\"TicketId\": vm.salesOrderId,\r\n\t\t\t}\r\n\t\t\tinventorynewService.createSalesOrder(token, data).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\tvm.closeWarehouseModal();\r\n\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\tvm.showSuccess(\"Success\", 'Order Placed Successfully.');\r\n\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\tvm.GetUserAllSalesOrderDetailforWeb(vm.OrderStatus);\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tcreateOrderData = [];\r\n\t\t\t\t\twareHouseItemList = [];\r\n\t\t\t\t\tsendWdata = {};\r\n\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\tvm.showFailure('Failed', resp.data.Message);\r\n\r\n\t\t\t\t}\r\n\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.GetSalesOrder = function (isCollapsed, salesOrderId) {\r\n\t\t\tif (vm.salesOrderId == salesOrderId) {\r\n\t\t\t\t$scope.isCollapsed = !isCollapsed;\r\n\t\t\t}\r\n\t\t\t$scope.activeRow = salesOrderId;\r\n\t\t\tvm.salesOrderId = salesOrderId;\r\n\t\t\tif (vm.salesOrderId) {\r\n\t\t\t\tinventorynewService.GetSalesOrder(loggedinUser, vm.salesOrderId, token).then(function (resp) {\r\n\t\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\t\tvm.OrderList = resp.data.salesorder.line_items;\r\n\t\t\t\t\t}\r\n\t\t\t\t}, function () {\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\r\n\t\tvm.PartRequestLineitemData = [];\r\n\t\tvm.GetPartRequestOrderLineItem = function (isCollapsed, ticketId) {\r\n\t\t\tif (vm.salesOrderId == ticketId) {\r\n\t\t\t\t$scope.isCollapsed = !isCollapsed;\r\n\t\t\t}\r\n\t\t\t$scope.activeRow = ticketId;\r\n\t\t\tvm.salesOrderId = ticketId;\r\n\t\t\tinventorynewService.GetRequestedLineItemDetailsByTicketId(loggedinUser, vm.salesOrderId, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.listWdata = [];\r\n\t\t\t\t\twareHouseItemList = [];\r\n\t\t\t\t\tvm.PartRequestLineitemData = resp.data.LineItemList;\r\n\t\t\t\t\tif (!isCollapsed) {\r\n\t\t\t\t\t\tangular.forEach(vm.PartRequestLineitemData, function (d) {\r\n\t\t\t\t\t\t\tif (d.BackendApprovalStatus != 'Rejected') {\r\n\t\t\t\t\t\t\t\tvar hwData = {\r\n\t\t\t\t\t\t\t\t\twarehouseDescription: d.LineItemDescription,\r\n\t\t\t\t\t\t\t\t\twarehouseQuantity: d.LineItemQuantity,\r\n\t\t\t\t\t\t\t\t\twarehouseValue: d.dLineItemWinPrice,\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\twareHouseItemList.push(hwData);\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tvm.listWdata = wareHouseItemList;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}, function () {\r\n\t\t\t});\r\n\r\n\t\t}\r\n\r\n\r\n\r\n\r\n\t\tvm.sortColumn = function (col) {\r\n\t\t\tvm.SortField = col;\r\n\t\t\tif (vm.SortType == 'desc') {\r\n\t\t\t\tvm.SortType = 'asc';\r\n\t\t\t\tvm.reverseclass = 'fa fa-arrow-up';\r\n\t\t\t\tvm.ApplyFilter();\r\n\t\t\t} else {\r\n\t\t\t\tvm.SortType = 'desc';\r\n\t\t\t\tvm.reverseclass = 'fa fa-arrow-down';\r\n\t\t\t\tvm.ApplyFilter();\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tvm.sortClass = function (col) {\r\n\t\t\tif (vm.SortField == col) {\r\n\t\t\t\tif (vm.SortType == 'desc') {\r\n\t\t\t\t\treturn 'fa fa-arrow-down';\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn 'fa fa-arrow-up';\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\treturn '';\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tvm.PDFView = function (page) {\r\n\t\t\tvm.pdfimage = \"\";\r\n\t\t\tvm.IsLoadSucessfull = false;\r\n\t\t\t$scope.selected = null;\r\n\t\t\tjobAppointmentModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'PDFView.html',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.PDFUserModal = function () {\r\n\t\t\tjobAppointmentModal.close();\r\n\t\t}\r\n\r\n\t\tfunction base64ToArrayBuffer(base64) {\r\n\t\t\tvar ret = base64.replace('data:application/pdf;base64,', '');\r\n\t\t\tvar binaryString = atob(ret);\r\n\t\t\tvar binaryLen = binaryString.length;\r\n\t\t\tvar bytes = new Uint8Array(binaryLen);\r\n\t\t\tfor (var i = 0; i < binaryLen; i++) {\r\n\t\t\t\tvar ascii = binaryString.charCodeAt(i);\r\n\t\t\t\tbytes[i] = ascii;\r\n\t\t\t}\r\n\t\t\treturn bytes;\r\n\t\t}\r\n\r\n\r\n\t\tvm.viewInvoicePdf = function (file) {\r\n\t\t\tvm.PDFView();\r\n\t\t\tinventorynewService.viewReportPdf(loggedinUser, token, file).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\tvm.InvoiceData = resp.data;\r\n\t\t\t\t\tvar arrrayBuffer = base64ToArrayBuffer(vm.InvoiceData);\r\n\t\t\t\t\tvar blob = new Blob([arrrayBuffer], { type: \"application/pdf\" });\r\n\t\t\t\t\tvm.pdfimage = URL.createObjectURL(blob);\r\n\t\t\t\t\tvm.IsLoadSucessfull = true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t}\r\n\r\n\r\n\t\tvm.ApplyFilter = function () {\r\n\t\t\tif (!vm.UserId) {\r\n\t\t\t\tvm.UserId = \"\";\r\n\t\t\t}\r\n\t\t\tif (vm.ActiveTab == 'Part Purchase Order' || vm.ActiveTab == 'Part Received') {\r\n\t\t\t\tvm.GetUserSalesOrderIntatiedByZoho(vm.OrderStatus);\r\n\t\t\t}\r\n\t\t\telse if (vm.ActiveTab == 'Part Requested' || vm.ActiveTab == 'Part Consumed' || vm.ActiveTab == 'Part Rejected') {\r\n\t\t\t\tvm.GetUserAllSalesOrderDetailforWeb(vm.OrderStatus);\r\n\t\t\t}\r\n\t\t\telse if (vm.ActiveTab == 'Return Order') {\r\n\t\t\t\tvm.GetInventoryDefectStockList();\r\n\t\t\t}\r\n\t\t\telse if (vm.ActiveTab == 'Allocated Stock' || vm.ActiveTab == 'Good Stock' || vm.ActiveTab == 'Damaged Stock') {\r\n\t\t\t\tvm.GetUserInventoryStockforweb(vm.OrderStatus);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n})\r\n\nangular.module('inspinia').service('ITEngineerService', function (ApiURL,FreelancerURL,paymentsapi,PublicApiURL, LocationURL, $log, $http, $localStorage) {\r\n\r\n // https://product.mymobiforce.com/FreelancerAPI/api/FreeLancerUser/F00000033993/U00000000406/byUserIdWithJobCount\t\r\n this.GetUserId = function(loggedInUser,userId, token){\r\n var url = FreelancerURL + '/api/FreeLancerUser/' + userId +'/'+ loggedInUser+ '/'+ 'byUserIdWithJobCount' ;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n\r\n // https://product.mymobiforce.com/coreapi/api/ProfileController/Get360ProfileDashboardData?UserId=F00000033744\r\n\r\n this.Get360ProfileData= function(loggedInUser,userId, token){\r\n var url = ApiURL + '/api/ProfileController/Get360ProfileDashboardData?UserId=' + userId;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n\r\n this.DeActivateUserWithRemark = function (data, loggedInUser, token) {\r\n var url = ApiURL + '/api/User/BlockFieldUser';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedInUser\r\n }\r\n });\r\n }\r\n\r\n this.UploadExternalVideoList = function (newdata, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerRegistration/GetVideoKycData';\r\n return $http.put(url, newdata, {\r\n headers: { 'ContentType': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n\r\n // https://pro.mymobiforce.com/coreapi/api/ProfileController/GetToolsAndAssets?Userid=FV0000000002326\r\n\r\n this.GetToolsAndAssets= function(loggedInUser,userId, token){\r\n var url = ApiURL + '/api/ProfileController/GetToolsAndAssets?Userid=' + userId;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n\r\n\r\n // https://pro.mymobiforce.com/coreapi/api/ProfileController/GetReviewAndRatings?Userid=F00000033829\r\n\r\n this.GetReviewAndRatings= function(loggedInUser,userId, token){\r\n var url = ApiURL + '/api/ProfileController/GetReviewAndRatings?Userid=' + userId;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n\r\n\r\n // https://pro.mymobiforce.com/coreapi/api/ProfileController/Get360SkillSummary?Userid=F00000033744\r\n\r\n this.Get360SkillSummary= function(loggedInUser,userId, token){\r\n var url = ApiURL + '/api/ProfileController/Get360SkillSummary?Userid=' + userId;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n this.GetAuthorizedServicePartnerDetail= function(loggedInUser,userId, token){\r\n var url = FreelancerURL + '/api/FreelancerUser/GetAuthorizedServicePartnerDetailForPortal?reqUserId=' + userId;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n // https://testg2.mymobiforce.com/FreelancerAPI/api/FreelancerUser/GetAuthorizedServicePartnerDetailForPortal?reqUserId=F00000033983\r\n // https://product.mymobiforce.com/coreapi/api/ProfileController/Get360VendorTeamData?UserId=FV0000000002393\r\n\r\n this.Get360VendorTeamData= function(loggedInUser,userId, token){\r\n var url = ApiURL + '/api/ProfileController/Get360VendorTeamData?UserId=' + userId;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n\r\n // https://pro.mymobiforce.com/coreapi/api/ProfileController/GetLastFollowUpOnTicketId?Userid=F00000033748\r\n\r\n this.GetLastFollowUpOnTicketId= function(loggedInUser,userId, token){\r\n var url = ApiURL + '/api/ProfileController/GetLastFollowUpOnTicketId?Userid=' + userId;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n\r\n this.callToTechnicianApi = function(loggedInUser,userId, token){\r\n var url = ApiURL + '/api/CallPatching/ClickToCallFieldTeam?userId='+userId ;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n\r\n this.PreferredSingleUser = function(loggedInUser, userId, status, token){\r\n var url = FreelancerURL + '/api/FreeLancerUser/Favorite/' + loggedInUser + '/'+ userId +'/'+status;\r\n return $http.put(url, null, {\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedInUser }\r\n });\r\n }\r\n\r\n this.BlockedSingleUser = function(loggedInUser, userId, status, token){\r\n var url = FreelancerURL + '/api/FreeLancerUser/Block/' + loggedInUser + '/'+ userId +'/'+status;\r\n return $http.put(url, null, {\r\n headers: { \r\n 'Content-Type': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedInUser }\r\n });\r\n }\r\n\r\n this.getJobsByUserId=function(userId,loggedInUser, token){\r\n var url =ApiURL + \"/api/Ticket/\" +userId+\"/Approved/byUserIdStatus?reqUserId=\"+loggedInUser;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, \r\n 'UserId':loggedInUser\r\n }\r\n });\r\n }\r\n \r\n this.UserAgreement=function(loggedinUser, userId, token){\r\n var url =ApiURL + \"/api/User/GetEULAByUserId?reqUserId=\" +loggedinUser+\"&userId=\"+userId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, \r\n 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.BankDetails=function(loggedinUser, userId, token){\r\n var url =FreelancerURL + \"/api/FreeLancerUser/GetFEBankDetail?AccountId=0\" +\"&userId=\"+userId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, \r\n 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n\r\n //https://product.mymobiforce.com/coreapi/api/Report/GeneratePdfSelfDeclaration?userId=F00000001208\r\n this.GeneratePdfSelfDeclaration = function(loggedinUser, userId, token){\r\n var url = ApiURL + '/api/Report/GeneratePdfSelfDeclaration?userId=' + userId;\r\n return $http.get(url,{\r\n headers:{'Content-Type': 'application/json',\r\n 'Token':token,\r\n 'UserId':loggedinUser}\r\n })\r\n }\r\n\r\n this.GeneratePdfVerificationReport = function(loggedinUser, userId, token){\r\n var url = ApiURL + '/api/Report/GeneratePdfVerificationReport?userId=' + userId;\r\n return $http.get(url,{\r\n headers:{'Content-Type': 'application/json','Token':token, 'UserId':loggedinUser}\r\n })\r\n }\r\n\r\n\r\n this.GetLeadsForMobile = function(loggedinUser, token,PageIndex,PageSize,OrderBy,order,searchtag){\r\n var url = FreelancerURL + \"/api/BID/GetLeadsForMobile?Vertical=\"+ '&PageIndex=' + PageIndex + '&PageSize=' + PageSize+ '&OrderBy=' + OrderBy + '&order=' + order + '&SearchTag=' + searchtag;\r\n return $http.get(url,{\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, \r\n 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAllSkills = function (loggedinUser, token) { \r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json', 'Token': token, 'UserId': loggedinUser}\r\n });\r\n }\r\n \r\n\r\n\r\n // https://pro.mymobiforce.com/paymentsapi/api/Payouts/FinancialSummaryTicketDetails?paymentId=7347298768_4921_1655205323\r\n\r\n\r\n this.GetFinanceTicketDetail = function (paymentId) {\r\n var url = paymentsapi + '/api/Payouts/FinancialSummaryTicketDetails?paymentId=' + paymentId;\r\n return $http.get(url,{\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'NoAuth': true,\r\n }\r\n });\r\n }\r\n\r\n //Accounts API\r\n this.getCustomerAccounts = function (loggedInUserId,token) { \r\n var url = ApiURL+ '/api/account/GetAllAccountsMiniModel';\r\n return $http.get(url, {\r\n headers: { \r\n 'Content-Type': 'application/json',\r\n 'Token':token , \r\n 'UserId':loggedInUserId\r\n \r\n }\r\n });\r\n }\r\n\r\n\r\n // https://pro.mymobiforce.com/coreapi/api/ProfileController/GetFinancialSummary?UserId=F00000033748&from_Date=2022-05-09&to_Date=2022-06-20&itemNames=status&itemValue=PaymentCarriedForward&PageIndex=1&PageSize=10\r\n\r\n this.GetFinancialSummary = function (loggedInUser,token,userId,itemNames,itemValues,PageIndex,PageSize, startDate, endDate) {\r\n var url = ApiURL + '/api/ProfileController/GetFinancialSummary?UserId=' + userId + '&from_Date=' + startDate + '&to_Date=' + endDate + '&itemNames=' + itemNames + '&itemValue=' + itemValues +'&PageIndex=' + PageIndex + '&PageSize=' + PageSize;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUser\r\n }\r\n });\r\n } \r\n \r\n //https://pro.mymobiforce.com/coreapi/api/User/UpgradeFreelancerToVendor\r\n\tthis.UpgradeFreelancerToVendor = function(loggedInUser, userId, token){\r\n\t\tvar url = ApiURL + '/api/User/UpgradeFreelancerToVendor';\r\n\t\treturn $http.put(url, {\"FreelancerId\": userId}, {\r\n\t\t headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedInUser }\r\n\t\t});\r\n\t }\r\n\r\n this.deleteVideoForKyc = function(loggedInUser, userId, token){\r\n var url = ApiURL + '/api/User/RemoveUserDocKYCVideo?userId='+userId;\r\n return $http.put(url, null, {\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedInUser }\r\n });\r\n }\r\n \r\n this.getAllState = function (loggedinUser,token) { \r\n var url = PublicApiURL + '/api/Location/GetSubRegion?userId='+loggedinUser+'®ion=INDIA';\r\n return $http.get(url,{\r\n headers:{\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n // http://localhost:56749/api/ProfileController/Get360WorkSummary?UserId=F00000033748&from_Date=2022-05-09&to_Date=2022-06-20&itemNames=skill,accountname&itemValue=Air_Cooler_Services,114&PageIndex=1&PageSize=10&OrderBy=AssignationDateObj&SortType=desc\r\n this.Get360WorkSummary = function (loggedinUser,token,userId,itemNames,itemValues,PageIndex,PageSize, startDate, endDate,DataFeild,sorttype ) {\r\n var url = '';\r\n var url = ApiURL + '/api/ProfileController/Get360WorkSummary?UserId=' + userId + '&from_Date=' + startDate + '&to_Date=' + endDate + '&itemNames=' + itemNames + '&itemValue=' + itemValues +'&DataFeild='+ DataFeild +'&PageIndex=' + PageIndex + '&PageSize=' + PageSize + '&SortType=' + sorttype;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n } \r\n\r\n this.getUserInfo = function (userId, loggedinUser, token) {\r\n var url = FreelancerURL + \"/api/FreeLancerUser/\" + userId + \"/\" + loggedinUser + \"/byUserIdForEngineerProfile\";\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token':token, 'UserId':loggedinUser\r\n }\r\n });\r\n } \r\n\r\n\r\n });\r\n\nangular.module('inspinia').controller('ITEngineerController', function (DashboardService, ITEngineerService, OnBoardingFlowService, $rootScope, UIURL, ApiURL, ReferService, $q, MainService, ImageUrl, $log, $state, $localStorage, $stateParams, $uibModal, $scope, $interval, DTOptionsBuilder, DTColumnDefBuilder, toaster, $timeout) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n vm.loggedInUser_Role = $localStorage.loggedInUser_Role;\r\n vm.showSuccess = $scope.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.main.showFailure;\r\n vm.NokiaTableHeaderChange = $localStorage.accountConfig.NokiaTableHeaderChange;\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n } else {\r\n vm.userId = $stateParams.UserId;\r\n vm.DocumentprofileImg = [];\r\n vm.DocumentbackImg = [];\r\n vm.CertificateImg = [];\r\n vm.ProjectDescription = [];\r\n vm.ProjectDesc = [];\r\n vm.CertprofileImg = [];\r\n vm.VerificationCertprofileImg = [];\r\n vm.ToolsDetailList = [];\r\n vm.PreviousCompanyDetailsList = [];\r\n vm.TrainingImagebase64 = [];\r\n vm.TrainingAttendancebase64 = [];\r\n vm.PCExperienceLetterbase64 = [];\r\n vm.PCLogobase64 = [];\r\n vm.ExperienceVerificationReportbase64 = [];\r\n vm.EducationLogoBase64 = [];\r\n\r\n $scope.profileProgress = 0;\r\n\r\n $interval(function () {\r\n // Simulating progress update\r\n if ($scope.profileProgress < 70) {\r\n $scope.profileProgress += 10; // Update this value as per your requirement\r\n }\r\n }, 100);\r\n $scope.isBlinking = false;\r\n\r\n $interval(function () {\r\n $scope.isBlinking = !$scope.isBlinking;\r\n }, 800);\r\n\r\n\r\n vm.OpenPdfModal = function (PdfPathName, TypeName) {\r\n jobAppointmentModal = $uibModal.open({\r\n templateUrl: 'PDFView.html',\r\n size: 'lg',\r\n scope: $scope,\r\n controller: ModalInstanceCtrl(PdfPathName, TypeName)\r\n });\r\n }\r\n\r\n vm.PDFViewGeneratePdfSelfDeclaration = function () {\r\n vm.OpenPdfModal(vm.userId, \"Self Declaration\");\r\n }\r\n vm.PDFViewGeneratePdfVerificationReport = function () {\r\n vm.OpenPdfModal(vm.userId, \"Verification Report\");\r\n }\r\n vm.PDFViewLegalContract = function (page) {\r\n vm.OpenPdfModal(page, \"Legal Contract\");\r\n }\r\n vm.PDFView = function (page) {\r\n vm.OpenPdfModal(page, \"PDF View\");\r\n }\r\n var ModalInstanceCtrl = function (PdfPathNames, TypeNames) {\r\n vm.IsLoadSucessfull = false;\r\n vm.pdfimage = \"\";\r\n if (TypeNames == \"Legal Contract\") {\r\n MainService.GetLegalContractImageBlob(loggedinUser, token, PdfPathNames).then(function (resp) {\r\n vm.ConvertBase64ToBlob(resp.data);\r\n vm.IsLoadSucessfull = true;\r\n });\r\n }\r\n if (TypeNames == \"PDF View\") {\r\n MainService.GetImageBlob(loggedinUser, token, PdfPathNames).then(function (resp) {\r\n vm.ConvertBase64ToBlob(resp.data);\r\n vm.IsLoadSucessfull = true;\r\n });\r\n }\r\n if (TypeNames == \"Verification Report\") {\r\n ITEngineerService.GeneratePdfVerificationReport(loggedinUser, PdfPathNames, token).then(function (resp) {\r\n vm.ConvertBase64ToBlob(resp.data.Base64Data);\r\n vm.IsLoadSucessfull = true;\r\n });\r\n }\r\n if (TypeNames == \"Self Declaration\") {\r\n ITEngineerService.GeneratePdfSelfDeclaration(loggedinUser, PdfPathNames, token).then(function (resp) {\r\n vm.ConvertBase64ToBlob(resp.data.Base64Data);\r\n vm.IsLoadSucessfull = true;\r\n });\r\n }\r\n }\r\n\r\n vm.ConvertBase64ToBlob = function (response) {\r\n if (response != null) {\r\n var arrrayBuffer = base64ToArrayBuffer(response); //data is the base64 encoded string\r\n var blob = new Blob([arrrayBuffer], { type: \"application/pdf\" });\r\n vm.pdfimage = URL.createObjectURL(blob);\r\n vm.IsLoadSucessfull = true;\r\n }\r\n else {\r\n vm.DocumentAvailableMessage = \"Document is not available\";\r\n vm.IsLoadSucessfull = true;\r\n }\r\n }\r\n function base64ToArrayBuffer(base64) {\r\n var ret = base64.replace('data:application/pdf;base64,', '');\r\n var binaryString = atob(ret);\r\n var binaryLen = binaryString.length;\r\n var bytes = new Uint8Array(binaryLen);\r\n for (var i = 0; i < binaryLen; i++) {\r\n var ascii = binaryString.charCodeAt(i);\r\n bytes[i] = ascii;\r\n }\r\n return bytes;\r\n }\r\n\r\n vm.getFileType = function (url) {\r\n if (url == null || url == \"\") {\r\n return \"others\";\r\n }\r\n else {\r\n if (url.indexOf(\".jpg\") >= 0 || url.indexOf(\".jpeg\") >= 0 || url.indexOf(\".png\") >= 0 || url.indexOf(\".bmp\") >= 0 || url.indexOf(\".JPG\") >= 0 || url.indexOf(\".JPEG\") >= 0 || url.indexOf(\".PNG\") >= 0 || url.indexOf(\".BMP\") >= 0) {\r\n return \"image\";\r\n } else if (url.indexOf(\".pdf\") >= 0 || url.indexOf(\".PDF\") >= 0) {\r\n return \"pdf\";\r\n } else if (url.indexOf(\".xls\") >= 0 || url.indexOf(\".xlsx\") >= 0 || url.indexOf(\".XLS\") >= 0 || url.indexOf(\".XLSX\") >= 0) {\r\n return \"xls\";\r\n } else if (url.indexOf(\".doc\") >= 0 || url.indexOf(\".docx\") >= 0 || url.indexOf(\".DOC\") >= 0 || url.indexOf(\".DOCX\") >= 0) {\r\n return \"doc\";\r\n }\r\n else {\r\n return \"others\";\r\n }\r\n }\r\n }\r\n vm.WordDownloadtoView = function (page) {\r\n MainService.GetImageBlob(loggedinUser, token, page).then(function (resp) {\r\n window.location.href = resp.data;\r\n });\r\n\r\n }\r\n vm.PDFUserModal = function () {\r\n jobAppointmentModal.close();\r\n }\r\n\r\n $scope.checkPDF = function (path) {\r\n if (!path)\r\n return true;\r\n\r\n var pt = path.substr(path.length - 4);\r\n var dt = path.substr(path.length - 4);\r\n\r\n if (pt == '.pdf' || dt == '.doc') {\r\n vm.error = function () {\r\n $(\".pdf\").attr({ \"target\": \"_blank\" })\r\n }\r\n return true;\r\n }\r\n }\r\n\r\n\r\n vm.CertificateimageServices = function (img, index) {\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n if (resp.data == null || resp.data == '') {\r\n vm.CertificateImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else {\r\n vm.CertificateImg[index] = resp.data;\r\n }\r\n }, function () {\r\n vm.CertificateImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n });\r\n\r\n }\r\n\r\n vm.PreviousCompnyExperienceLetterServices = function (img, index) {\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n if (resp.data == null || resp.data == '') {\r\n vm.PCExperienceLetterbase64[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else {\r\n vm.PCExperienceLetterbase64[index] = resp.data;\r\n }\r\n }, function () {\r\n vm.PCExperienceLetterbase64[index] = 'assets/images/patterns/image_placeholder.png';\r\n });\r\n }\r\n\r\n vm.PreviousCompnyLogoBase64 = function (img, index) {\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n if (resp.data == null || resp.data == '') {\r\n vm.PCLogobase64[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else {\r\n vm.PCLogobase64[index] = resp.data;\r\n }\r\n }, function () {\r\n vm.PCLogobase64[index] = 'assets/images/patterns/image_placeholder.png';\r\n });\r\n }\r\n\r\n\r\n\r\n vm.TrainingImageServices = function (img, index) {\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n if (resp.data == null || resp.data == '') {\r\n vm.TrainingImagebase64[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else {\r\n vm.TrainingImagebase64[index] = resp.data;\r\n }\r\n }, function () {\r\n vm.TrainingImagebase64[index] = 'assets/images/patterns/image_placeholder.png';\r\n });\r\n }\r\n\r\n\r\n vm.EducationLogoServices = function (img, index) {\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n if (resp.data == null || resp.data == '') {\r\n vm.EducationLogoBase64[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else {\r\n vm.EducationLogoBase64[index] = resp.data;\r\n }\r\n }, function () {\r\n vm.EducationLogoBase64[index] = 'assets/images/patterns/image_placeholder.png';\r\n });\r\n }\r\n\r\n vm.imageServices = function (img) {\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n if (resp.data == null || resp.data == '') {\r\n vm.profileImg = 'assets/images/patterns/a4.jpg';\r\n }\r\n else {\r\n vm.profileImg = resp.data;\r\n }\r\n }, function () {\r\n vm.profileImg = 'assets/images/patterns/a4.jpg';\r\n });\r\n\r\n }\r\n\r\n vm.usersRating = [];\r\n vm.usersBlankRating = [];\r\n\r\n\r\n var starRating = document.querySelectorAll(\".fa-star\"),\r\n ratingTotal = document.querySelectorAll(\".rating-total\");\r\n\r\n // convert ratingTotal HTMLCollection to array and reverse its order (5 star <-> 1 star)\r\n var reverseRatingTotal = Array.from(ratingTotal).reverse();\r\n\r\n\r\n starRating.forEach(function (star) {\r\n star.addEventListener(\"change\", recordRating);\r\n })\r\n\r\n function recordRating(event) {\r\n // use indexOf to identify selected user rating\r\n var userRating = Array.from(starRating).indexOf(event.target);\r\n\r\n // define selected rating to adjust display totals\r\n var selectedIndex;\r\n\r\n starRating.forEach(function (item, index) {\r\n // add or remove .active class based upon selected user rating\r\n if (index < userRating + 1) {\r\n starRating[index].classList.add(\"active\");\r\n selectedIndex = index;\r\n } else {\r\n starRating[index].classList.remove(\"active\");\r\n }\r\n\r\n displayTotals(selectedIndex);\r\n });\r\n }\r\n vm.countForStatus = 50;\r\n function displayTotals(selectedIndex) {\r\n var barChart = document.querySelectorAll(\".bar\"),\r\n displaySummary = document.querySelectorAll(\".summary\"),\r\n numRatings = 0,\r\n numRatingsValue = 0;\r\n\r\n // convert barChart HTMLCollection to array and reverse its order (5 star <-> 1 star)\r\n var reverseBarChart = Array.from(barChart).reverse();\r\n\r\n reverseRatingTotal.forEach(function (total, index) {\r\n if (index == selectedIndex) {\r\n // add selected rating to display total\r\n total.innerHTML = (parseInt(total.getAttribute(\"data-rating-count\")) + 1);\r\n // adjust selected bar width\r\n reverseBarChart[index].style.width = (((parseInt(total.getAttribute(\"data-rating-count\")) + 1) / 20) * 100) + \"%\";\r\n } else {\r\n // display unselected totals\r\n total.innerHTML = total.getAttribute(\"data-rating-count\");\r\n // adjust unselected bar widths\r\n reverseBarChart[index].style.width = ((total.getAttribute(\"data-rating-count\") / 20) * 100) + \"%\";\r\n }\r\n // count total number and value of ratings\r\n numRatings += parseInt(total.innerHTML);\r\n numRatingsValue += (parseInt(total.innerHTML) * (index + 1));\r\n });\r\n\r\n ratingsAverage = (numRatingsValue / numRatings).toFixed(2);\r\n }\r\n\r\n\r\n $scope.certificates = [\r\n {\r\n image: 'assets/images/patterns/word_doc.jpg',\r\n alt: 'Certificate 1',\r\n name: 'example-1',\r\n number: '12331122',\r\n issueDate: '23-12-2020',\r\n expiryDate: '23-12-2022'\r\n },\r\n {\r\n image: 'assets/images/patterns/word_doc.jpg',\r\n alt: 'Certificate 2',\r\n name: 'example-2',\r\n number: '98765432',\r\n issueDate: '25-12-2021',\r\n expiryDate: '25-12-2023'\r\n },\r\n ];\r\n\r\n var currentIndex = 0;\r\n\r\n $interval(function () {\r\n currentIndex = (currentIndex + 1) % $scope.certificates.length;\r\n $('#certificateCarousel').carousel(currentIndex);\r\n }, 5000);\r\n\r\n\r\n\r\n\r\n vm.callToTechnician = function () {\r\n ITEngineerService.callToTechnicianApi(loggedinUser, vm.userId, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Call Initiated\")\r\n }\r\n else {\r\n vm.showFailure(\"Failure\", resp.data.Message)\r\n }\r\n\r\n\r\n }, function () {\r\n })\r\n }\r\n\r\n vm.OpenDeactivateConfirmationModel = function () {\r\n vm.openDeactivateModel = $uibModal.open({\r\n templateUrl: 'deactivateModel.html',\r\n backdrop: 'static',\r\n size: 'md',\r\n scope: $scope\r\n });\r\n }\r\n vm.closeDeactivateModel = function () {\r\n vm.openDeactivateModel.close();\r\n vm.DeactivationRemark = \"\";\r\n }\r\n\r\n\r\n vm.DeActivateUserWithRemark = function () {\r\n vm.Deactivation_Form.submitted = true;\r\n if (vm.Deactivation_Form.$valid) {\r\n var data = {\r\n \"UserId\": vm.userId,\r\n \"BlockComment\": vm.DeactivationRemark\r\n }\r\n ITEngineerService.DeActivateUserWithRemark(data, loggedInUserId, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.closeDeactivateModel();\r\n $timeout(function () {\r\n vm.getUserInfo();\r\n }, 1000)\r\n\r\n }\r\n }, function () {\r\n });\r\n }\r\n }\r\n\r\n\r\n vm.getRatingStars = function (rating) {\r\n var stars = [];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.push(i);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n vm.getBlankStars = function (rating) {\r\n var stars = [1, 2, 3, 4, 5];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.splice(stars.indexOf(i), 1);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n\r\n\r\n\r\n vm.getUserInfo = function () {\r\n ITEngineerService.getUserInfo(vm.userId, loggedinUser, token).then(function (resp) {\r\n vm.userInfo = resp.data;\r\n if (vm.userInfo.About) {\r\n vm.aboutSections = vm.userInfo.About.split(' | ');\r\n }\r\n if (vm.userInfo.Expertise) {\r\n vm.expertiseSection = vm.userInfo.Expertise.split(' | ');\r\n }\r\n if (vm.userInfo.ContactNumber) {\r\n vm.userInfo.ContactNumber = vm.userInfo.ContactNumber.replace(/\\d(?=\\d{4})/g, '*');\r\n }\r\n // if (vm.userInfo.Picture) {\r\n vm.imageServices(vm.userInfo.Picture);\r\n // }\r\n if (vm.userInfo.PreviousCompanyDetailsList) {\r\n for (var i = 0; i < vm.userInfo.PreviousCompanyDetailsList.length; i++) {\r\n if (vm.userInfo.PreviousCompanyDetailsList) {\r\n vm.ProjectDescription[i] = vm.userInfo.PreviousCompanyDetailsList[i].ProjectDescription.split(' | ');\r\n }\r\n if (vm.getFileType(vm.userInfo.PreviousCompanyDetailsList[i].ExperienceLetter) == 'image')\r\n vm.PreviousCompnyExperienceLetterServices(vm.userInfo.PreviousCompanyDetailsList[i].ExperienceLetter, i);\r\n if (vm.getFileType(vm.userInfo.PreviousCompanyDetailsList[i].CompanyLogoImage) == 'image' || vm.getFileType(vm.userInfo.PreviousCompanyDetailsList[i].CompanyLogoImage) == 'others')\r\n vm.PreviousCompnyLogoBase64(vm.userInfo.PreviousCompanyDetailsList[i].CompanyLogoImage, i);\r\n }\r\n }\r\n if (vm.userInfo.ProjectDetails) {\r\n for (var i = 0; i < vm.userInfo.ProjectDetails.length; i++) {\r\n if (vm.userInfo.ProjectDetails) {\r\n vm.ProjectDesc[i] = vm.userInfo.ProjectDetails[i].ProjectDiscription.split(' | ');\r\n }\r\n }\r\n }\r\n if (vm.userInfo.TrainingAssessment) {\r\n for (var i = 0; i < vm.userInfo.TrainingAssessment.length; i++) {\r\n vm.CertificateimageServices(vm.userInfo.TrainingAssessment[i].CertificateImage, i);\r\n }\r\n $scope.certificates = vm.userInfo.TrainingAssessment;\r\n }\r\n if (vm.userInfo.EducationSummary) {\r\n for (var i = 0; i < vm.userInfo.EducationSummary.length; i++) {\r\n if (vm.getFileType(vm.userInfo.EducationSummary[i].CollegeLogoImage) == 'image' || vm.getFileType(vm.userInfo.EducationSummary[i].CollegeLogoImage) == 'others')\r\n vm.EducationLogoServices(vm.userInfo.EducationSummary[i].CollegeLogoImage, i);\r\n }\r\n }\r\n\r\n }, function () {\r\n });\r\n }\r\n\r\n vm.getUserInfo();\r\n }\r\n});\nangular.module('inspinia').service('IT360ProfilService', function (ApiURL,FreelancerURL,paymentsapi,PublicApiURL, LocationURL, $log, $http, $localStorage) {\r\n\r\n // https://product.mymobiforce.com/FreelancerAPI/api/FreeLancerUser/F00000033993/U00000000406/byUserIdWithJobCount\t\r\n this.GetUserId = function(loggedInUser,userId, token){\r\n var url = FreelancerURL + '/api/FreeLancerUser/' + userId +'/'+ loggedInUser+ '/'+ 'byUserIdWithJobCount' ;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n\r\n // https://product.mymobiforce.com/coreapi/api/ProfileController/Get360ProfileDashboardData?UserId=F00000033744\r\n\r\n this.Get360ProfileData= function(loggedInUser,userId, token){\r\n var url = ApiURL + '/api/ProfileController/Get360ProfileDashboardData?UserId=' + userId;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n\r\n this.UploadExternalVideoList = function (newdata, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerRegistration/GetVideoKycData';\r\n return $http.put(url, newdata, {\r\n headers: { 'ContentType': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n\r\n // https://pro.mymobiforce.com/coreapi/api/ProfileController/GetToolsAndAssets?Userid=FV0000000002326\r\n\r\n this.GetToolsAndAssets= function(loggedInUser,userId, token){\r\n var url = ApiURL + '/api/ProfileController/GetToolsAndAssets?Userid=' + userId;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n\r\n\r\n // https://pro.mymobiforce.com/coreapi/api/ProfileController/GetReviewAndRatings?Userid=F00000033829\r\n\r\n this.GetReviewAndRatings= function(loggedInUser,userId, token){\r\n var url = ApiURL + '/api/ProfileController/GetReviewAndRatings?Userid=' + userId;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n\r\n\r\n // https://pro.mymobiforce.com/coreapi/api/ProfileController/Get360SkillSummary?Userid=F00000033744\r\n\r\n this.Get360SkillSummary= function(loggedInUser,userId, token){\r\n var url = ApiURL + '/api/ProfileController/Get360SkillSummary?Userid=' + userId;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n this.GetAuthorizedServicePartnerDetail= function(loggedInUser,userId, token){\r\n var url = FreelancerURL + '/api/FreelancerUser/GetAuthorizedServicePartnerDetailForPortal?reqUserId=' + userId;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n // https://testg2.mymobiforce.com/FreelancerAPI/api/FreelancerUser/GetAuthorizedServicePartnerDetailForPortal?reqUserId=F00000033983\r\n // https://product.mymobiforce.com/coreapi/api/ProfileController/Get360VendorTeamData?UserId=FV0000000002393\r\n\r\n this.Get360VendorTeamData= function(loggedInUser,userId, token){\r\n var url = ApiURL + '/api/ProfileController/Get360VendorTeamData?UserId=' + userId;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n\r\n // https://pro.mymobiforce.com/coreapi/api/ProfileController/GetLastFollowUpOnTicketId?Userid=F00000033748\r\n\r\n this.GetLastFollowUpOnTicketId= function(loggedInUser,userId, token){\r\n var url = ApiURL + '/api/ProfileController/GetLastFollowUpOnTicketId?Userid=' + userId;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n\r\n this.callToTechnicianApi = function(loggedInUser,userId, token){\r\n var url = ApiURL + '/api/CallPatching/ClickToCallFieldTeam?userId='+userId ;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n\r\n this.PreferredSingleUser = function(loggedInUser, userId, status, token){\r\n var url = FreelancerURL + '/api/FreeLancerUser/Favorite/' + loggedInUser + '/'+ userId +'/'+status;\r\n return $http.put(url, null, {\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedInUser }\r\n });\r\n }\r\n\r\n this.BlockedSingleUser = function(loggedInUser, userId, status, token){\r\n var url = FreelancerURL + '/api/FreeLancerUser/Block/' + loggedInUser + '/'+ userId +'/'+status;\r\n return $http.put(url, null, {\r\n headers: { \r\n 'Content-Type': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedInUser }\r\n });\r\n }\r\n\r\n this.getJobsByUserId=function(userId,loggedInUser, token){\r\n var url =ApiURL + \"/api/Ticket/\" +userId+\"/Approved/byUserIdStatus?reqUserId=\"+loggedInUser;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, \r\n 'UserId':loggedInUser\r\n }\r\n });\r\n }\r\n \r\n this.UserAgreement=function(loggedinUser, userId, token){\r\n var url =ApiURL + \"/api/User/GetEULAByUserId?reqUserId=\" +loggedinUser+\"&userId=\"+userId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, \r\n 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.BankDetails=function(loggedinUser, userId, token){\r\n var url =FreelancerURL + \"/api/FreeLancerUser/GetFEBankDetail?AccountId=0\" +\"&userId=\"+userId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, \r\n 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n\r\n //https://product.mymobiforce.com/coreapi/api/Report/GeneratePdfSelfDeclaration?userId=F00000001208\r\n this.GeneratePdfSelfDeclaration = function(loggedinUser, userId, token){\r\n var url = ApiURL + '/api/Report/GeneratePdfSelfDeclaration?userId=' + userId;\r\n return $http.get(url,{\r\n headers:{'Content-Type': 'application/json',\r\n 'Token':token,\r\n 'UserId':loggedinUser}\r\n })\r\n }\r\n\r\n this.GeneratePdfVerificationReport = function(loggedinUser, userId, token){\r\n var url = ApiURL + '/api/Report/GeneratePdfVerificationReport?userId=' + userId;\r\n return $http.get(url,{\r\n headers:{'Content-Type': 'application/json','Token':token, 'UserId':loggedinUser}\r\n })\r\n }\r\n\r\n\r\n this.GetLeadsForMobile = function(loggedinUser, token,PageIndex,PageSize,OrderBy,order,searchtag){\r\n var url = FreelancerURL + \"/api/BID/GetLeadsForMobile?Vertical=\"+ '&PageIndex=' + PageIndex + '&PageSize=' + PageSize+ '&OrderBy=' + OrderBy + '&order=' + order + '&SearchTag=' + searchtag;\r\n return $http.get(url,{\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, \r\n 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAllSkills = function (loggedinUser, token) { \r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json', 'Token': token, 'UserId': loggedinUser}\r\n });\r\n }\r\n \r\n\r\n\r\n // https://pro.mymobiforce.com/paymentsapi/api/Payouts/FinancialSummaryTicketDetails?paymentId=7347298768_4921_1655205323\r\n\r\n\r\n this.GetFinanceTicketDetail = function (paymentId) {\r\n var url = paymentsapi + '/api/Payouts/FinancialSummaryTicketDetails?paymentId=' + paymentId;\r\n return $http.get(url,{\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'NoAuth': true,\r\n }\r\n });\r\n }\r\n\r\n //Accounts API\r\n this.getCustomerAccounts = function (loggedInUserId,token) { \r\n var url = ApiURL+ '/api/account/GetAllAccountsMiniModel';\r\n return $http.get(url, {\r\n headers: { \r\n 'Content-Type': 'application/json',\r\n 'Token':token , \r\n 'UserId':loggedInUserId\r\n \r\n }\r\n });\r\n }\r\n\r\n\r\n // https://pro.mymobiforce.com/coreapi/api/ProfileController/GetFinancialSummary?UserId=F00000033748&from_Date=2022-05-09&to_Date=2022-06-20&itemNames=status&itemValue=PaymentCarriedForward&PageIndex=1&PageSize=10\r\n\r\n this.GetFinancialSummary = function (loggedInUser,token,userId,itemNames,itemValues,PageIndex,PageSize, startDate, endDate) {\r\n var url = ApiURL + '/api/ProfileController/GetFinancialSummary?UserId=' + userId + '&from_Date=' + startDate + '&to_Date=' + endDate + '&itemNames=' + itemNames + '&itemValue=' + itemValues +'&PageIndex=' + PageIndex + '&PageSize=' + PageSize;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUser\r\n }\r\n });\r\n } \r\n \r\n //https://pro.mymobiforce.com/coreapi/api/User/UpgradeFreelancerToVendor\r\n\tthis.UpgradeFreelancerToVendor = function(loggedInUser, userId, token){\r\n\t\tvar url = ApiURL + '/api/User/UpgradeFreelancerToVendor';\r\n\t\treturn $http.put(url, {\"FreelancerId\": userId}, {\r\n\t\t headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedInUser }\r\n\t\t});\r\n\t }\r\n\r\n this.deleteVideoForKyc = function(loggedInUser, userId, token){\r\n var url = ApiURL + '/api/User/RemoveUserDocKYCVideo?userId='+userId;\r\n return $http.put(url, null, {\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedInUser }\r\n });\r\n }\r\n \r\n this.getAllState = function (loggedinUser,token) { \r\n var url = PublicApiURL + '/api/Location/GetSubRegion?userId='+loggedinUser+'®ion=INDIA';\r\n return $http.get(url,{\r\n headers:{\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n // http://localhost:56749/api/ProfileController/Get360WorkSummary?UserId=F00000033748&from_Date=2022-05-09&to_Date=2022-06-20&itemNames=skill,accountname&itemValue=Air_Cooler_Services,114&PageIndex=1&PageSize=10&OrderBy=AssignationDateObj&SortType=desc\r\n this.Get360WorkSummary = function (loggedinUser,token,userId,itemNames,itemValues,PageIndex,PageSize, startDate, endDate,DataFeild,sorttype ) {\r\n var url = '';\r\n var url = ApiURL + '/api/ProfileController/Get360WorkSummary?UserId=' + userId + '&from_Date=' + startDate + '&to_Date=' + endDate + '&itemNames=' + itemNames + '&itemValue=' + itemValues +'&DataFeild='+ DataFeild +'&PageIndex=' + PageIndex + '&PageSize=' + PageSize + '&SortType=' + sorttype;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n } \r\n\r\n\r\n });\r\n\nangular.module('inspinia').controller('IT360ProfileController', function (DashboardService,IT360ProfilService,OnBoardingFlowService,$rootScope,UIURL,ApiURL,ReferService,$q,MainService,ImageUrl, $log, $state, $localStorage, $stateParams, $uibModal, $scope, $interval, DTOptionsBuilder, DTColumnDefBuilder, toaster, $timeout) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n vm.loggedInUser_Role=$localStorage.loggedInUser_Role;\r\n vm.showSuccess = $scope.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.main.showFailure;\r\n vm.NokiaTableHeaderChange = $localStorage.accountConfig.NokiaTableHeaderChange;\r\n if (!loggedinUser) {\r\n $state.go('Login',{\r\n reload:true\r\n });\r\n }else{\r\n //Global Variable Declaration\r\n vm.CustomDateformat = $localStorage.CustomDateformat;\r\n vm.OnlyDateformat = $localStorage.OnlyDateformat;\r\n vm.vendorList='';\r\n vm.vendorData = '';\r\n vm.ActivationStatus = '';\r\n vm.searchText = '';\r\n vm.OrderBy = \"CreatedOn\";\r\n vm.sorttype = \"desc\";\r\n vm.PageIndex = 1;\r\n vm.PageSize = 10;\r\n vm.status ='';\r\n vm.skillName ='';\r\n vm.projectName='';\r\n vm.accountName='';\r\n vm.location ='';\r\n vm.userId = $stateParams.UserId; \r\n vm.jobTickets = '';\r\n vm.itemName = '';\r\n vm.DocumentprofileImg=[];\r\n vm.DocumentbackImg=[];\r\n vm.CertificateImg=[];\r\n vm.CertprofileImg=[];\r\n vm.VerificationCertprofileImg=[];\r\n vm.itemValue = '';\r\n vm.dtInstance = {};\r\n vm.dtInstanceticket={};\r\n vm.AccountHistoryData=[];\r\n $localStorage.VendorDetailsView='';\r\n $localStorage.VendorPageIndex=1;\r\n vm.ToolsDetailList=[];\r\n vm.PreviousCompanyDetailsList=[];\r\n vm.TrainingImagebase64=[];\r\n vm.TrainingAttendancebase64=[];\r\n vm.PCExperienceLetterbase64=[];\r\n vm.ExperienceVerificationReportbase64=[];\r\n vm.pdfimage=\"\";\r\n vm.CriminalVerificationbase64=\"\";\r\n startDate = '';\r\n endDate = '';\r\n vm.PermanentState = '';\r\n vm.PermanentCity = '';\r\n vm.userskill = '';\r\n vm.pincode = '';\r\n vm.userNameSearch = '';\r\n vm.contactNumberSearch = '';\r\n vm.userSource = '';\r\n vm.useraccount = '';\r\n vm.CriminalVerified='';\r\n vm.IdVerified='';\r\n vm.PANVerified='';\r\n vm.UserAvailable=''\r\n vm.skillData = '';\r\n vm.circleData = '';\r\n vm.isChecked = \"fixed\";\r\n vm.searchText = \"\";\r\n vm.Technicianstartingdate = '2017-01-01';\r\n vm.tab = '';\r\n vm.pageindexCount=0;\r\n vm.DateField=\"StatusChangedOn\";\r\n vm.searchStatusText=\"\"; \r\n vm.statusFin=\"\"; \r\n var uPageIndex = 1;\r\n var uPageSize = 10; \r\n var fPageIndex = 1;\r\n var fPageSize = 10; \r\n $scope.isCollapsed = true; \r\n $localStorage.AllJobStatus = vm.searchStatusText;\r\n vm.UsersType=\"\";\r\n vm.uType=\"\";\r\n var uitemNames=\"\";\r\n var uitemValues=\"\";\r\n vm.searchUsersText=\"\";\r\n vm.jobsCount='';\r\n vm.userPageListCount= 10;\r\n vm.financePageListCount= 10;\r\n vm.pageListCounts = [10, 20, 30, 50];\r\n var userType = '';\r\n var startDate = moment().subtract(7, 'days').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n\r\n vm.dateRangeChange = function (ev, picker) {\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n \r\n vm.Get360WorkSummary( loggedinUser, token, uitemNames, uitemValues, userType, vm.UserAvailable, vm.DateField, uPageIndex, uPageSize, startDate, endDate);\r\n };\r\n\r\n vm.statusList=[\"New\", \"Verified\",\"Rejected\", \"Approved\", \"PaymentInitiated\",\"PaymentFailed\", \"PaymentSuccessful\",\"PaymentCarriedForward\"];\r\n\r\n var startDate = moment().subtract(7, 'day').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.ticketdates = { startDate: moment().subtract(7, 'day'), endDate: moment() };\r\n vm.ticketranges = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')]\r\n };\r\n vm.outsidedateRangeChange = function (ev, picker) { \r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n vm.GetFinancialSummary( loggedinUser, token, uitemNames, uitemValues, userType, vm.UserAvailable, vm.DateField, uPageIndex, fPageSize, startDate, endDate);\r\n \r\n\r\n };\r\n\r\n $scope.profileProgress = 0;\r\n\r\n $interval(function () {\r\n // Simulating progress update\r\n if ($scope.profileProgress < 70) {\r\n $scope.profileProgress += 10; // Update this value as per your requirement\r\n }\r\n }, 100);\r\n $scope.isBlinking = false;\r\n\r\n $interval(function() {\r\n $scope.isBlinking = !$scope.isBlinking;\r\n }, 800);\r\n \r\n var UserAgreement = function(){\r\n IT360ProfilService.UserAgreement(loggedinUser,vm.userId,token).then(function(resp){\r\n if(resp.status == '200'){ \r\n vm.agreementview=resp.data;\r\n var uri = vm.agreementview.Content;\r\n var dec = decodeURIComponent(uri).replace(/\\+/g,\" \");\r\n $('#agreementview').contents().find('html').html(dec);\r\n } else{\r\n var dec = decodeURIComponent(resp.data).replace(/\\+/g,\" \");\r\n $('#agreementview').contents().find('html').html(dec);\r\n }\r\n\r\n })\r\n }\r\n\r\n vm.agreement=[];\r\n\t\tvm.Agreement = function (userid) {\r\n vm.agreement=userid;\r\n \r\n\t\t\tAgreementUserModal = $uibModal.open({\r\n templateUrl: 'Agreement.html',\r\n controller: UserAgreement(userid),\r\n\t\t\t\t// size:'lg',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t\treload:true\r\n\t\t\t});\r\n\t\t\r\n }\r\n\r\n vm.CloseAgreementUserModal = function(){\r\n AgreementUserModal.close();\r\n }\r\n\r\n vm.closeProfile = function(){ \r\n document.getElementById(\"teamSummary\").style.width = \"0%\";\r\n }\r\n\r\n vm.OpenPdfModal= function(PdfPathName,TypeName)\r\n {\r\n jobAppointmentModal = $uibModal.open({\r\n templateUrl: 'PDFView.html',\r\n size :'lg',\r\n scope: $scope,\r\n controller: ModalInstanceCtrl(PdfPathName,TypeName)\r\n });\r\n }\r\n\r\n vm.PDFViewGeneratePdfSelfDeclaration = function () { \r\n vm.OpenPdfModal(vm.userId,\"Self Declaration\");\r\n }\r\n vm.PDFViewGeneratePdfVerificationReport = function () { \r\n vm.OpenPdfModal(vm.userId,\"Verification Report\");\r\n }\r\n vm.PDFViewLegalContract = function (page) {\r\n vm.OpenPdfModal(page,\"Legal Contract\");\r\n }\r\n vm.PDFView = function (page) {\r\n vm.OpenPdfModal(page,\"PDF View\");\r\n }\r\n var ModalInstanceCtrl = function(PdfPathNames,TypeNames) { \r\n vm.IsLoadSucessfull=false;\r\n vm.pdfimage=\"\";\r\n if(TypeNames==\"Legal Contract\")\r\n {\r\n MainService.GetLegalContractImageBlob(loggedinUser, token, PdfPathNames).then(function(resp) { \r\n vm.ConvertBase64ToBlob(resp.data);\r\n vm.IsLoadSucessfull=true;\r\n }); \r\n } \r\n if(TypeNames==\"PDF View\")\r\n {\r\n MainService.GetImageBlob(loggedinUser, token, PdfPathNames).then(function(resp) { \r\n vm.ConvertBase64ToBlob(resp.data);\r\n vm.IsLoadSucessfull=true;\r\n }); \r\n } \r\n if(TypeNames==\"Verification Report\")\r\n {\r\n IT360ProfilService.GeneratePdfVerificationReport(loggedinUser, PdfPathNames, token).then(function(resp) { \r\n vm.ConvertBase64ToBlob(resp.data.Base64Data);\r\n vm.IsLoadSucessfull=true;\r\n }); \r\n } \r\n if(TypeNames==\"Self Declaration\")\r\n {\r\n IT360ProfilService.GeneratePdfSelfDeclaration(loggedinUser, PdfPathNames, token).then(function(resp) { \r\n vm.ConvertBase64ToBlob(resp.data.Base64Data);\r\n vm.IsLoadSucessfull=true;\r\n }); \r\n } \r\n }\r\n\r\n vm.ConvertBase64ToBlob = function(response)\r\n {\r\n if(response !=null){\r\n var arrrayBuffer = base64ToArrayBuffer(response); //data is the base64 encoded string\r\n var blob = new Blob([arrrayBuffer], {type: \"application/pdf\"});\r\n vm.pdfimage = URL.createObjectURL(blob);\t\t\t\t\r\n vm.IsLoadSucessfull=true;\r\n }\r\n else{\r\n vm.DocumentAvailableMessage=\"Document is not available\";\r\n vm.IsLoadSucessfull=true;\r\n }\r\n }\r\n function base64ToArrayBuffer(base64) {\r\n var ret = base64.replace('data:application/pdf;base64,','');\r\n var binaryString = atob(ret);\r\n var binaryLen = binaryString.length;\r\n var bytes = new Uint8Array(binaryLen);\r\n for (var i = 0; i < binaryLen; i++) {\r\n var ascii = binaryString.charCodeAt(i);\r\n bytes[i] = ascii;\r\n }\r\n return bytes;\r\n }\r\n\r\n vm.getFileType = function(url){\r\n if(url==null || url==\"\")\r\n {\r\n return \"others\";\r\n }\r\n else{\r\n if(url.indexOf(\".jpg\")>=0 || url.indexOf(\".jpeg\")>=0 || url.indexOf(\".png\")>=0 || url.indexOf(\".bmp\")>=0 ||url.indexOf(\".JPG\")>=0 || url.indexOf(\".JPEG\")>=0 || url.indexOf(\".PNG\")>=0 || url.indexOf(\".BMP\")>=0){\r\n return \"image\";\r\n } else if(url.indexOf(\".pdf\")>=0 || url.indexOf(\".PDF\")>=0){\r\n return \"pdf\";\r\n } else if(url.indexOf(\".xls\")>=0 || url.indexOf(\".xlsx\")>=0 ||url.indexOf(\".XLS\")>=0 || url.indexOf(\".XLSX\")>=0){\r\n return \"xls\"; \r\n } else if(url.indexOf(\".doc\")>=0 || url.indexOf(\".docx\")>=0 || url.indexOf(\".DOC\")>=0 || url.indexOf(\".DOCX\")>=0){\r\n return \"doc\";\r\n } \r\n else {\r\n return \"others\";\r\n }\r\n }\r\n }\r\n vm.WordDownloadtoView = function (page) { \r\n MainService.GetImageBlob(loggedinUser, token, page).then(function(resp) {\r\n window.location.href = resp.data;\r\n }); \r\n \r\n }\r\n vm.PDFUserModal = function(){\r\n jobAppointmentModal.close();\r\n }\r\n\r\n $scope.checkPDF = function(path){\r\n if(!path)\r\n return true;\r\n\r\n var pt = path.substr(path.length - 4);\r\n var dt = path.substr(path.length - 4);\r\n\r\n if(pt == '.pdf' || dt == '.doc'){\r\n vm.error = function(){\r\n $(\".pdf\").attr({\"target\" : \"_blank\"})\r\n }\r\n return true;\r\n }\r\n }\r\n\r\n vm.InsuranceImg=\"\";\r\n vm.InsuranceimageServices = function(img){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.InsuranceImg = 'assets/images/patterns/photo1.png';\r\n }\r\n else{\r\n vm.InsuranceImg = resp.data;\r\n }\r\n console.log(vm.InsuranceImg);\r\n }, function() {\r\n vm.InsuranceImg = 'assets/images/patterns/photo1.png';\r\n });\r\n \r\n }\r\n\r\n vm.VerificationCertimageServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.VerificationCertprofileImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else{\r\n vm.VerificationCertprofileImg[index] = resp.data;\r\n } \r\n }, function() {\r\n vm.VerificationCertprofileImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n }); \r\n }\r\n vm.DocumentimageServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.DocumentprofileImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else{\r\n vm.DocumentprofileImg[index] = resp.data;\r\n }\r\n }, function() {\r\n vm.DocumentprofileImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n });\r\n \r\n }\r\n \r\n vm.DocumentimagebackServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.DocumentbackImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else{\r\n vm.DocumentbackImg[index] = resp.data;\r\n }\r\n }, function() {\r\n vm.DocumentbackImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n });\r\n \r\n }\r\n\r\n vm.CertificateimageServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.CertificateImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else{\r\n vm.CertificateImg[index] = resp.data;\r\n }\r\n }, function() {\r\n vm.CertificateImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n });\r\n \r\n }\r\n\r\n vm.CertimageServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.CertprofileImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else{\r\n vm.CertprofileImg[index] = resp.data;\r\n } \r\n }, function() {\r\n vm.CertprofileImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n }); \r\n }\r\n\r\n vm.CriminalVerificationServices = function(img){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.CriminalVerificationbase64 = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else{\r\n vm.CriminalVerificationbase64 = resp.data;\r\n } \r\n }, function() {\r\n vm.CriminalVerificationbase64 = 'assets/images/patterns/image_placeholder.png';\r\n }); \r\n }\r\n\r\n vm.closeTProfile = function(){\r\n vm.userId = $stateParams.UserId;\r\n vm.Get360ProfileData();\r\n }\r\n\r\n vm.EditVTeam = function(RegistrationNo){\r\n $localStorage.EditVendorTeam = 'vendorteam';\r\n $localStorage.VendorId=vm.vendorId;\r\n $state.go('index.ActiveUserUpdate', {\r\n RegistrationNo: RegistrationNo\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.Get360VendorTeamData = function () {\r\n IT360ProfilService.Get360VendorTeamData(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.vendorteam = resp.data;\r\n })\r\n }\r\n\r\n\r\n vm.GetToolsAndAssets = function () {\r\n IT360ProfilService.GetToolsAndAssets(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.assetData = resp.data;\r\n vm.ResetUserFilter();\r\n })\r\n }\r\n\r\n\r\n vm.GetReviewAndRatings = function () {\r\n IT360ProfilService.GetReviewAndRatings(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.reviewData = resp.data;\r\n vm.users.InstallationratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.InstallationService_Avrage));\r\n vm.users.InstallationblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.InstallationService_Avrage));\r\n vm.users.SafetyratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.SafetyProtocols_Avrage));\r\n vm.users.SafetyblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.SafetyProtocols_Avrage));\r\n vm.users.VisitratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.VisitonTime_Avrage));\r\n vm.users.VisitblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.VisitonTime_Avrage));\r\n vm.users.CourteousratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.CourteousRespectful_Avrage));\r\n vm.users.CourteousblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.CourteousRespectful_Avrage));\r\n vm.users.ProratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.ProfessionalAppearance_Avrage));\r\n vm.users.ProblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.ProfessionalAppearance_Avrage));\r\n vm.users.ServiceratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.ServiceExperience_Avrage));\r\n vm.users.ServiceblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.ServiceExperience_Avrage));\r\n vm.ResetUserFilter();\r\n })\r\n }\r\n\r\n vm.Get360SkillSummary = function () {\r\n IT360ProfilService.Get360SkillSummary(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.skillsetData = resp.data;\r\n for(var i=0;i 1 star)\r\nvar reverseRatingTotal = Array.from(ratingTotal).reverse();\r\n\r\n// display initial rating totals\r\n// displayTotals();\r\n\r\n// use event listener to record changes to user rating\r\nstarRating.forEach(function(star) {\r\nstar.addEventListener(\"change\", recordRating);\r\n})\r\n\r\nfunction recordRating(event) {\r\n// use indexOf to identify selected user rating\r\nvar userRating = Array.from(starRating).indexOf(event.target);\r\n\r\n// define selected rating to adjust display totals\r\nvar selectedIndex;\r\n\r\nstarRating.forEach(function(item, index) {\r\n // add or remove .active class based upon selected user rating\r\n if (index < userRating + 1) {\r\n starRating[index].classList.add(\"active\");\r\n selectedIndex = index;\r\n } else {\r\n starRating[index].classList.remove(\"active\");\r\n }\r\n\r\n displayTotals(selectedIndex);\r\n});\r\n}\r\nvm.countForStatus = 50;\r\n// display star rating totals from html custom data-\r\nfunction displayTotals(selectedIndex) {\r\nvar barChart = document.querySelectorAll(\".bar\"),\r\n displaySummary = document.querySelectorAll(\".summary\"),\r\n numRatings = 0,\r\n numRatingsValue = 0;\r\n\r\n// convert barChart HTMLCollection to array and reverse its order (5 star <-> 1 star)\r\nvar reverseBarChart = Array.from(barChart).reverse();\r\n\r\nreverseRatingTotal.forEach(function(total, index) {\r\n if (index == selectedIndex) {\r\n // add selected rating to display total\r\n total.innerHTML = (parseInt(total.getAttribute(\"data-rating-count\")) + 1);\r\n // adjust selected bar width\r\n reverseBarChart[index].style.width = (((parseInt(total.getAttribute(\"data-rating-count\")) + 1) / 20) * 100) + \"%\";\r\n } else {\r\n // display unselected totals\r\n total.innerHTML = total.getAttribute(\"data-rating-count\");\r\n // adjust unselected bar widths\r\n reverseBarChart[index].style.width = ((total.getAttribute(\"data-rating-count\") / 20) * 100) + \"%\";\r\n }\r\n // count total number and value of ratings\r\n numRatings += parseInt(total.innerHTML);\r\n numRatingsValue += (parseInt(total.innerHTML) * (index + 1));\r\n});\r\n\r\n// display rating average and total\r\nratingsAverage = (numRatingsValue / numRatings).toFixed(2);\r\n// displaySummary[0].innerHTML = ratingsAverage + \" average based on \" + numRatings + \" reviews.\";\r\n}\r\n\r\n\r\n$scope.certificates = [\r\n { \r\n image: 'assets/images/patterns/word_doc.jpg', \r\n alt: 'Certificate 1',\r\n name: 'example-1',\r\n number: '12331122',\r\n issueDate: '23-12-2020',\r\n expiryDate: '23-12-2022'\r\n },\r\n { \r\n image: 'assets/images/patterns/word_doc.jpg', \r\n alt: 'Certificate 2',\r\n name: 'example-2',\r\n number: '98765432',\r\n issueDate: '25-12-2021',\r\n expiryDate: '25-12-2023'\r\n },\r\n // Add more certificate objects as needed\r\n];\r\n\r\nvar currentIndex = 0;\r\n\r\n$interval(function() {\r\n currentIndex = (currentIndex + 1) % $scope.certificates.length;\r\n $('#certificateCarousel').carousel(currentIndex);\r\n}, 5000);\r\n\r\n\r\n\r\n\r\nvm.callToTechnician = function () {\r\n IT360ProfilService.callToTechnicianApi(loggedinUser, vm.userId, token).then(function (resp) {\r\n if(resp.status == 200) {\r\n vm.showSuccess(\"Success\",\"Call Initiated\")\r\n }\r\n else {\r\n vm.showFailure(\"Failure\",resp.data.Message)\r\n }\r\n\r\n\r\n }, function () {\r\n //$log.log('not working');\r\n })\r\n}\r\n\r\nvm.getRatingStars = function (rating) {\r\n var stars = [];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.push(i);\r\n }\r\n }\r\n return stars;\r\n}\r\n\r\nvm.getBlankStars = function (rating) {\r\n var stars = [1, 2, 3, 4, 5];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.splice(stars.indexOf(i), 1);\r\n }\r\n }\r\n return stars;\r\n}\r\n\r\nvm.getAvgRatingStars = function (rating) {\r\n var stars = [];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.push(i);\r\n }\r\n }\r\n return stars;\r\n}\r\n\r\nvm.getAvgBlankStars = function (rating) {\r\n var stars = [1, 2, 3, 4, 5];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.splice(stars.indexOf(i), 1);\r\n }\r\n }\r\n return stars;\r\n}\r\n\r\nvm.getUserRatingStars = function (rating) {\r\n var stars = [];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.push(i);\r\n }\r\n }\r\n return stars;\r\n}\r\n\r\nvm.getUserBlankStars = function (rating) {\r\n var stars = [1, 2, 3, 4, 5];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.splice(stars.indexOf(i), 1);\r\n }\r\n }\r\n return stars;\r\n}\r\n\r\n\r\nvm.removeKycVideo = function () {\r\n vm.removeKycVideoModel = $uibModal.open({\r\n templateUrl: 'removeKycVideo.html',\r\n size:'sm',\r\n scope: $scope,\r\n reload:true\r\n }); \r\n}\r\n\r\nvm.CloseRemoveKycVideo = function(){\r\n vm.removeKycVideoModel.close();\r\n}\r\n\r\nvm.deleteVideoForKyc = function(){\r\n IT360ProfilService.deleteVideoForKyc(loggedinUser, vm.userId, token).then(function(resp){\r\n if(resp.status == '200'){\r\n\r\n vm.showSuccess('Success', resp.data.Message);\r\n vm.CloseRemoveKycVideo();\r\n $timeout(function () {\r\n vm.Get360ProfileData();\r\n }, 2000);\r\n }\r\n else\r\n {\r\n vm.showFailure('Failed', resp.data);\r\n\r\n }\r\n })\r\n}\r\n\r\nvm.UpgradeToFV = function () {\r\n vm.UpgradeToFVModel = $uibModal.open({\r\n templateUrl: 'UpgradeToFV.html',\r\n size:'sm',\r\n scope: $scope,\r\n reload:true\r\n }); \r\n}\r\n\r\nvm.CloseUpgradeToFV = function(){\r\n vm.UpgradeToFVModel.close();\r\n}\r\n\r\nvm.UpgradeFreelancerToVendor = function(){\r\n vm.CloseUpgradeToFV();\r\n IT360ProfilService.UpgradeFreelancerToVendor(loggedinUser, vm.userId, token).then(function(resp){\r\n if(resp.status == '200'){\r\n vm.showSuccess('Success', resp.data.Message);\r\n $timeout(function () {\r\n $state.go('index.ActiveAllUser',{reload: true }); \r\n }, 1000);\r\n }\r\n else\r\n {\r\n vm.showFailure('Failed', resp.data.Message);\r\n\r\n }\r\n })\r\n}\r\n\r\nvm.PreviousCompnyExperienceLetterServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.PCExperienceLetterbase64[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else{\r\n vm.PCExperienceLetterbase64[index] = resp.data;\r\n } \r\n }, function() {\r\n vm.PCExperienceLetterbase64[index] = 'assets/images/patterns/image_placeholder.png';\r\n }); \r\n}\r\n\r\nvm.TrainingImageServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.TrainingImagebase64[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else{\r\n vm.TrainingImagebase64[index] = resp.data;\r\n } \r\n }, function() {\r\n vm.TrainingImagebase64[index] = 'assets/images/patterns/image_placeholder.png';\r\n }); \r\n }\r\n\r\nvm.TrainingAttendanceServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.TrainingAttendancebase64[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else{\r\n vm.TrainingAttendancebase64[index] = resp.data;\r\n } \r\n }, function() {\r\n vm.TrainingAttendancebase64[index] = 'assets/images/patterns/image_placeholder.png';\r\n }); \r\n}\r\n\r\n\r\n // vm.getCustomerAccounts = function(){ \r\n // IT360ProfilService.getCustomerAccounts(loggedinUser, token).then(function (resp) {\r\n // if (resp && resp.data) {\r\n // vm.accountList = resp.data;\r\n // }\r\n // });\r\n // }\r\n\r\n // vm.getCustomerAccounts(); \r\n\r\n // function getAllStates() {\r\n // var defered = $q.defer();\r\n // ReferService.getAllState(loggedinUser,token).then(function (resp) {\r\n // defered.resolve(resp);\r\n // }, function (error) {\r\n // defered.reject(error);\r\n // });\r\n // return defered.promise;\r\n // }\r\n\r\n // var allStatePromise = getAllStates();\r\n // allStatePromise.then(function (resp) {\r\n // vm.StateList = resp.data;\r\n \r\n // });\r\n\r\n \r\nvm.getCustomerAccounts = function(){ \r\n IT360ProfilService.getCustomerAccounts(loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.accountList = resp.data;\r\n }\r\n });\r\n}\r\n// vm.getCustomerAccounts();\r\n\r\nvm.ResetUserFilter = function () { \r\n vm.UsersType = '';\r\n vm.PermanentState = '';\r\n vm.PermanentCity = '';\r\n vm.userskill = ''; \r\n vm.uType= ''; \r\n vm.CriminalVerified='';\r\n vm.IdVerified='';\r\n vm.PANVerified=''; \r\n vm.useraccount = ''; \r\n vm.pincode ='';\r\n vm.userNameSearch ='';\r\n vm.contactNumberSearch = '';\r\n startDate = '';\r\n endDate = '';\r\n vm.JobcountbyStatus = '';\r\n // vm.applyUserFilter();\r\n}\r\nvm.UsersFilterArray = function()\r\n {\r\n // vm.ResetUserSelection(this);\r\n uitemNames=\"\";\r\n uitemValues=\"\";\r\n\r\n if (vm.searchStatusText != \"\" && vm.searchStatusText != \"All\" && vm.searchStatusText != null){\r\n if(itemNames.length > 0 && itemValues.length > 0){\r\n itemNames = itemNames + ',Status';\r\n itemValues = itemValues + ',' + vm.searchStatusText;\r\n }else{\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText;\r\n } \r\n }\r\n\r\n if (vm.userskill) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',Skill';\r\n uitemValues = uitemValues + \",\" + vm.userskill;\r\n }\r\n else\r\n {\r\n uitemNames = 'Skill';\r\n uitemValues = vm.userskill;\r\n } \r\n }\r\n if (vm.useraccount) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',AccountName';\r\n uitemValues = uitemValues + \",\" + vm.useraccount;\r\n }\r\n else\r\n {\r\n uitemNames = 'AccountName';\r\n uitemValues = vm.useraccount;\r\n } \r\n }\r\n if (vm.pincode) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',Search';\r\n uitemValues = uitemValues + \",\" + vm.pincode;\r\n }\r\n else\r\n {\r\n uitemNames = 'Search';\r\n uitemValues = vm.pincode;\r\n } \r\n }\r\n if (vm.userNameSearch) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',Search';\r\n uitemValues = uitemValues + \",\" + vm.userNameSearch;\r\n }\r\n else\r\n {\r\n uitemNames = 'Search';\r\n uitemValues = vm.userNameSearch;\r\n } \r\n }\r\n if (vm.contactNumberSearch) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',ContactNumber';\r\n uitemValues = uitemValues + \",\" + vm.contactNumberSearch;\r\n }\r\n else\r\n {\r\n uitemNames = 'ContactNumber';\r\n uitemValues = vm.contactNumberSearch;\r\n } \r\n }\r\n \r\n if (vm.CriminalVerified == true) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',IsCriminalVerified';\r\n uitemValues = uitemValues + \",\" + '\"true\"';\r\n }\r\n else\r\n {\r\n uitemNames = 'IsCriminalVerified';\r\n uitemValues = '\"true\"';\r\n } \r\n }\r\n if (vm.IdVerified == true) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',IsAdharVerified';\r\n uitemValues = uitemValues + \",\" + '\"true\"';\r\n }\r\n else\r\n {\r\n uitemNames = 'IsAdharVerified';\r\n uitemValues = '\"true\"';\r\n } \r\n }\r\n if (vm.PANVerified == true) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',IsPanVerified';\r\n uitemValues = uitemValues + \",\" + '\"true\"';\r\n }\r\n else\r\n {\r\n uitemNames = 'IsPanVerified';\r\n uitemValues = '\"true\"';\r\n } \r\n }\r\n if (vm.PermanentState) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',State';\r\n uitemValues = uitemValues + \",\" + vm.PermanentState;\r\n }\r\n else\r\n {\r\n uitemNames = 'State';\r\n uitemValues = vm.PermanentState;\r\n } \r\n }\r\n \r\n if(vm.JobcountbyStatus)\r\n {\r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',Status';\r\n uitemValues = uitemValues + \",\" + vm.JobcountbyStatus;\r\n }\r\n else\r\n {\r\n uitemNames = 'Status';\r\n uitemValues = vm.JobcountbyStatus;\r\n }\r\n }\r\n if (vm.PermanentState && vm.PermanentCity) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',CurrentCity';\r\n uitemValues = uitemValues + \",\" + vm.PermanentCity;\r\n }\r\n else\r\n {\r\n uitemNames = 'CurrentCity';\r\n uitemValues = vm.UsersType;\r\n } \r\n }\r\n if (vm.UsersType) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',Role';\r\n uitemValues = uitemValues + \",\" + vm.UsersType;\r\n }\r\n else\r\n {\r\n uitemNames = 'Role';\r\n uitemValues = vm.UsersType;\r\n } \r\n } \r\n\r\n if(vm.UsersType==\"Freelancer\")\r\n {\r\n vm.uType=\"Freelancer\";\r\n }\r\n else if(vm.UsersType==\"Freelancer Vendor\")\r\n {\r\n vm.uType=\"Freelancer\";\r\n } \r\n else if(vm.UsersType==\"Freelancer Team\")\r\n {\r\n vm.uType=\"Fixed\";\r\n }\r\n else \r\n {\r\n vm.uType=\"\";\r\n vm.UsersType = '';\r\n } \r\n\r\n }\r\n\r\n\r\nvm.UserByFiltersList=[];\r\nvm.Get360WorkSummary = function () {\r\n IT360ProfilService.Get360WorkSummary(loggedinUser, token,vm.userId, uitemNames, uitemValues, uPageIndex, uPageSize, startDate, endDate,vm.OrderBy,vm.sorttype).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.statusCount = resp.data;\r\n vm.UserByFiltersList = resp.data.workSummaryData;\r\n $scope.totalUsers = resp.data.WorkSummaryTotalCount;\r\n // preprocessData(vm.UserByFiltersList);\r\n if(vm.UserByFiltersList.length < vm.userPageListCount)\r\n vm.userListLength = $scope.totalUsers;\r\n else\r\n vm.userListLength = uPageIndex * vm.userPageListCount;\r\n if(uPageIndex==1)\r\n vm.upageindexCount = 1;\r\n else\r\n vm.upageindexCount = (((uPageIndex-1) * vm.userPageListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n}\r\nvm.UsersFilterArray(); \r\n// vm.Get360WorkSummary();\r\n\r\n$scope.totalUsers = 0;\r\n$scope.usersPerPage = vm.userPageListCount;\r\n $scope.Userpagination = {\r\n current: 1\r\n };\r\n\r\n //left show page 10 20 30\r\n vm.changeUserPageListCount = function() { \r\n $scope.usersPerPage = vm.userPageListCount;\r\n uPageSize = $scope.usersPerPage;\r\n $scope.UserTablePageChanged($scope.Userpagination.current);\r\n\r\nuPageIndex=$scope.Userpagination.current;\r\n$scope.UserTablePageChanged = function(newPage) { \r\n uPageIndex = newPage;\r\n vm.UsersFilterArray(); \r\n vm.Get360WorkSummary(loggedinUser, token,vm.userId, uitemNames, uitemValues, uPageIndex, uPageSize, startDate, endDate,vm.OrderBy,vm.sorttype);\r\n\r\n};\r\n}\r\n \r\n uPageIndex=$scope.Userpagination.current;\r\n $scope.UserTablePageChanged = function(newPage) { \r\n uPageIndex = newPage;\r\n if(uitemNames != 'Search')\r\n {\r\n vm.UsersFilterArray();\r\n }\r\n \r\n vm.Get360WorkSummary(loggedinUser, token,vm.userId, uitemNames, uitemValues, uPageIndex, uPageSize, startDate, endDate,vm.OrderBy,vm.sorttype);\r\n\r\n };\r\nvm.applyUserFilter=function()\r\n { \r\n vm.UsersFilterArray(); \r\n \r\n uPageIndex=1;\r\n $scope.Userpagination = {\r\n current: 1\r\n }; \r\n vm.Get360WorkSummary(loggedinUser, token,vm.userId, uitemNames, uitemValues, uPageIndex, uPageSize, startDate, endDate,vm.OrderBy,vm.sorttype);\r\n\r\n\r\n }\r\n vm.SubmitFilter = function () { \r\n\r\n $scope.Userpagination = {};\r\n vm.UsersFilterArray();\r\n uPageIndex=1;\r\n $scope.Userpagination = {\r\n current: 1\r\n }; \r\n vm.Get360WorkSummary(loggedinUser, token,vm.userId, uitemNames, uitemValues, uPageIndex, uPageSize, startDate, endDate,vm.OrderBy,vm.sorttype);\r\n }\r\n vm.filterStatusForJObs = function(status)\r\n {\r\n vm.JobcountbyStatus=status;\r\n vm.UsersFilterArray(); \r\n PageIndex=1;\r\n vm.Get360WorkSummary(loggedinUser, token,vm.userId, uitemNames, uitemValues, uPageIndex, uPageSize, startDate, endDate,vm.OrderBy,vm.sorttype); \r\n }\r\n\r\n // vm.loadAllSkills = function(){ \r\n // IT360ProfilService.GetAllSkills(loggedinUser, token).then(function (resp) {\r\n // vm.skillsWithPipe = '';\r\n // if (resp && resp.data) {\r\n // vm.skillData = resp.data;\r\n // if(vm.skillData && vm.skillData.length>0){\r\n // angular.forEach(vm.skillData, function(s){\r\n // vm.skillsWithPipe += s.SkillName+\"|\";\r\n // });\r\n // vm.skillsWithPipe = vm.skillsWithPipe.length>0\r\n // ? vm.skillsWithPipe.substring(0,vm.skillsWithPipe.length-1) : \"\";\r\n // }\r\n // }\r\n // });\r\n // }\r\n // vm.loadAllSkills();\r\n\r\n vm.FinanceFilterArray = function()\r\n {\r\n uitemNames=\"\";\r\n uitemValues=\"\";\r\n\r\n if (vm.userskill) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',Skill';\r\n uitemValues = uitemValues + \",\" + vm.userskill;\r\n }\r\n else\r\n {\r\n uitemNames = 'Skill';\r\n uitemValues = vm.userskill;\r\n } \r\n }\r\n if (vm.useraccount) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',AccountName';\r\n uitemValues = uitemValues + \",\" + vm.useraccount;\r\n }\r\n else\r\n {\r\n uitemNames = 'AccountName';\r\n uitemValues = vm.useraccount;\r\n } \r\n }\r\n if (vm.statusFin) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',status';\r\n uitemValues = uitemValues + \",\" + vm.statusFin;\r\n }\r\n else\r\n {\r\n uitemNames = 'status';\r\n uitemValues = vm.statusFin;\r\n } \r\n }\r\n if (vm.userNameSearch) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',Search';\r\n uitemValues = uitemValues + \",\" + vm.userNameSearch;\r\n }\r\n else\r\n {\r\n uitemNames = 'Search';\r\n uitemValues = vm.userNameSearch;\r\n } \r\n }\r\n if (vm.contactNumberSearch) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',ContactNumber';\r\n uitemValues = uitemValues + \",\" + vm.contactNumberSearch;\r\n }\r\n else\r\n {\r\n uitemNames = 'ContactNumber';\r\n uitemValues = vm.contactNumberSearch;\r\n } \r\n }\r\n \r\n if (vm.CriminalVerified == true) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',IsCriminalVerified';\r\n uitemValues = uitemValues + \",\" + '\"true\"';\r\n }\r\n else\r\n {\r\n uitemNames = 'IsCriminalVerified';\r\n uitemValues = '\"true\"';\r\n } \r\n }\r\n if (vm.IdVerified == true) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',IsAdharVerified';\r\n uitemValues = uitemValues + \",\" + '\"true\"';\r\n }\r\n else\r\n {\r\n uitemNames = 'IsAdharVerified';\r\n uitemValues = '\"true\"';\r\n } \r\n }\r\n if (vm.PANVerified == true) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',IsPanVerified';\r\n uitemValues = uitemValues + \",\" + '\"true\"';\r\n }\r\n else\r\n {\r\n uitemNames = 'IsPanVerified';\r\n uitemValues = '\"true\"';\r\n } \r\n }\r\n if (vm.PermanentState) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',State';\r\n uitemValues = uitemValues + \",\" + vm.PermanentState;\r\n }\r\n else\r\n {\r\n uitemNames = 'State';\r\n uitemValues = vm.PermanentState;\r\n } \r\n }\r\n if (vm.PermanentState && vm.PermanentCity) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',CurrentCity';\r\n uitemValues = uitemValues + \",\" + vm.PermanentCity;\r\n }\r\n else\r\n {\r\n uitemNames = 'CurrentCity';\r\n uitemValues = vm.UsersType;\r\n } \r\n }\r\n if (vm.UsersType) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',Role';\r\n uitemValues = uitemValues + \",\" + vm.UsersType;\r\n }\r\n else\r\n {\r\n uitemNames = 'Role';\r\n uitemValues = vm.UsersType;\r\n } \r\n } \r\n\r\n if(vm.UsersType==\"Freelancer\")\r\n {\r\n vm.uType=\"Freelancer\";\r\n }\r\n else if(vm.UsersType==\"Freelancer Vendor\")\r\n {\r\n vm.uType=\"Freelancer\";\r\n } \r\n else if(vm.UsersType==\"Freelancer Team\")\r\n {\r\n vm.uType=\"Fixed\";\r\n }\r\n else \r\n {\r\n vm.uType=\"\";\r\n vm.UsersType = '';\r\n } \r\n\r\n }\r\n\r\n\r\n vm.ExternalUpload = function () {\r\n var newdata = {};\r\n newdata = {\r\n \"UserId\": vm.userId,\r\n \"Type\": \"\",\r\n \"skillName\": \"\"\r\n }\r\n IT360ProfilService.UploadExternalVideoList(newdata, loggedinUser, token).then(function (resp) {\r\n vm.UploadVideoExternal = resp.data;\r\n });\r\n }\r\n\r\n vm.ReTestForSkill = function (skill) {\r\n var data = {};\r\n data = {\r\n \"UserId\": vm.userId,\r\n \"Skill\": skill \r\n }\r\n OnBoardingFlowService.ReTestForSkill(data, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n });\r\n }\r\n\r\n\r\nvm.FinanceFiltersList=[];\r\nvm.GetFinancialSummary = function () {\r\n \r\n IT360ProfilService.GetFinancialSummary(loggedinUser, token,vm.userId, uitemNames, uitemValues, fPageIndex, fPageSize, startDate, endDate).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.paymentCount = resp.data.paymentsSummary;\r\n vm.FinanceFiltersList = resp.data.financialSummary360.financialLPSummaryList;\r\n $scope.totalFinList = resp.data.financialSummary360.count;\r\n if(vm.FinanceFiltersList.length < vm.financePageListCount)\r\n vm.financeListLength = $scope.totalFinList;\r\n else\r\n vm.financeListLength = fPageIndex * vm.financePageListCount;\r\n if(fPageIndex==1)\r\n vm.fpageindexCount = 1;\r\n else\r\n vm.fpageindexCount = (((fPageIndex-1) * vm.financePageListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n vm.ResetUserFilter();\r\n}\r\nvm.FinanceFilterArray(); \r\n// vm.GetFinancialSummary();\r\n\r\n$scope.totalFinList = 0;\r\n$scope.usersPerPage = vm.financePageListCount;\r\n $scope.Financepagination = {\r\n current: 1\r\n };\r\n\r\n //left show page 10 20 30\r\n vm.changefinancePageListCount = function() { \r\n $scope.usersPerPage = vm.financePageListCount;\r\n fPageSize = $scope.usersPerPage;\r\n $scope.FinanceTablePageChanged($scope.Financepagination.current);\r\n vm.selectAll = false;\r\n\r\n fPageIndex=$scope.Financepagination.current;\r\n $scope.FinanceTablePageChanged = function(newPage) { \r\n fPageIndex = newPage;\r\n vm.FinanceFilterArray(); \r\n vm.GetFinancialSummary(loggedinUser, token,vm.userId, uitemNames, uitemValues, fPageIndex, fPageSize, startDate, endDate,vm.OrderBy,vm.sorttype);\r\n\r\n};\r\n}\r\n \r\nfPageIndex=$scope.Financepagination.current;\r\n $scope.FinanceTablePageChanged = function(newPage) { \r\n fPageIndex = newPage;\r\n if(uitemNames != 'Search')\r\n {\r\n vm.FinanceFilterArray();\r\n }\r\n \r\n vm.GetFinancialSummary(loggedinUser, token,vm.userId, uitemNames, uitemValues, fPageIndex, fPageSize, startDate, endDate,vm.OrderBy,vm.sorttype);\r\n\r\n };\r\n vm.applyFinanceFilter=function()\r\n { \r\n vm.FinanceFilterArray(); \r\n fPageIndex=1;\r\n $scope.Financepagination = {\r\n current: 1\r\n }; \r\n vm.GetFinancialSummary(loggedinUser, token,vm.userId, uitemNames, uitemValues, fPageIndex, fPageSize, startDate, endDate,vm.OrderBy,vm.sorttype);\r\n\r\n\r\n }\r\n\r\n\r\n\r\n}\r\n});\nangular.module('inspinia').service('HelpDeskCustomerViewService',function($http, ApiURL, DashboardURL, $log,PublicApiURL){\r\n\r\n\tthis.getCustomerBasicDetail = function(userId, token, customerLocationId, success, failure){\r\n\t\t// var url = ApiURL + '/api/Customer/'+customerId+'/byId?reqUserId='+userId;\r\n\t\tvar url = ApiURL + '/api/Customer/GetCustomerLocationById?reqUserId='+userId+'&CustomerLocationId='+customerLocationId;\r\n\t\t$http.get(url, {\r\n\t\t\t'headers' : {'Content-Type': 'application/json', 'Token' : token, 'UserId': userId}\r\n\t\t}).then(function(res){\r\n\t\t\tif(res && res.data){\r\n\t\t\t\tsuccess(res.data);\r\n\t\t\t} else {\r\n\t\t\t\tfailure(\"Failed\", \"Unable to get customer basic details, technical error.\");\r\n\t\t\t}\r\n\t\t}, function(err){\r\n\t\t\tfailure(\"Failed\", \"Unable to get customer basic details, technical error.\");\r\n\t\t})\r\n\t}\r\n\r\n//https://test.mymobiforce.com/publicapi/api/Location/GetRegion?userId=U370000000001\r\n this.GetRegion = function(loggedInUserId, token){\r\n var url = PublicApiURL + '/api/Location/GetRegion?userId='+ loggedInUserId;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId': loggedInUserId}\r\n })\r\n }\r\n\r\n //https://test.mymobiforce.com/publicapi/api/Location/GetSubRegion?userId=U370000000001®ion=North\r\n this.GetSubRegion = function(loggedInUserId, token, region){\r\n var url = PublicApiURL + '/api/Location/GetSubRegion?userId='+ loggedInUserId + '®ion='+ region;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId': loggedInUserId}\r\n })\r\n }\r\n //https://test.mymobiforce.com/publicapi/api/Location/GetCity?userId=U360000000001&subregion=noida\r\n this.GetCityBySubRegion = function(loggedInUserId, subRegion, token){\r\n var subRegion1 = subRegion.replace(\"&\", \"%26\");\r\n var url = PublicApiURL + '/api/Location/GetCity?userId='+ loggedInUserId + '&subregion='+ subRegion;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId': loggedInUserId}\r\n })\r\n }\r\n\r\n this.GetTicketSroucesByProId = function(loggedInUserId, projectId, token, success, failure){\r\n var url = ApiURL + '/api/Project/GetTicketSroucesByProId?reqUserId='+ loggedInUserId + '&ProjectId='+ projectId;\r\n $http.get(url, {\r\n 'headers' : {'Content-Type': 'application/json', 'Token' : token, 'UserId': loggedInUserId}\r\n }).then(function(res){\r\n if(res && res.data){\r\n success(res.data);\r\n } else {\r\n failure(\"Failed\", \"Unable to get ticket source info, technical error.\");\r\n }\r\n }, function(err){\r\n failure(\"Failed\", \"Unable to get ticket source info, technical error.\");\r\n })\r\n }\r\n\r\n //https://test.mymobiforce.com/coreapi/api/Customer/updatecustomercontact\r\n\r\n this.UpdateCustomerLocation = function(data,token,loggedInUserId){\r\n var url = ApiURL + '/api/Customer/updatecustomercontact';\r\n return $http.put(url,data,{\r\n headers:{'Content-Type':'application/json', 'Token':token, 'UserId': loggedInUserId}\r\n })\r\n }\r\n\r\n\tthis.getTemplateByName = function(templateName, userId, token, success, failure){\r\n\t\tvar url = ApiURL + '/api/Template/'+templateName+'/'+userId+'/byName';\r\n\r\n\t\t$http.get(url, {\r\n\t\t\t'headers' : {'Content-Type': 'application/json', 'Token' : token, 'UserId': userId}\r\n\t\t}).then(function(res){\r\n\t\t\tif(res && res.data){\r\n\t\t\t\tsuccess(res.data);\r\n\t\t\t} else {\r\n\t\t\t\tfailure(\"Failed\", \"Unable to get template by name, technical error.\");\r\n\t\t\t}\r\n\t\t}, function(err){\r\n\t\t\tfailure(\"Failed\", \"Unable to get template by name, technical error.\");\r\n\t\t})\r\n\t}\r\n\r\n //http://localhost:56749/api/Ticket/FindTicketInGivenTime?reqUserId=U360000000016&Skill=VSAT&CustomerLocationId=CL0000020308&Range=1.5\r\n\r\n this.findTicketInGivenTime = function(templateName, userId, locationId, assetId, range, token, success, failure){\r\n var url = ApiURL + '/api/Ticket/FindTicketInGivenTime?reqUserId='+userId+'&template=' + templateName + \"&CustomerLocationId=\" + locationId + \"&AssetId=\" + assetId + \"&Range=\" + range;\r\n \r\n $http.get(url, {\r\n 'headers' : {'Content-Type': 'application/json', 'Token' : token, 'UserId': userId}\r\n }).then(function(res){\r\n if(res && (res.data == 'False')){\r\n success(res.data);\r\n } else {\r\n failure(\"Failed\", \"Customer Location already has ticket logged within \" + range + \" minuts.\" );\r\n }\r\n }, function(err){ \r\n failure(\"Failed\", \"Unable to get template by name, technical error.\");\r\n })\r\n }\r\n\r\n\tthis.createTicket = function (loggedinUser, ticketModel, token, callback, failure) {\r\n //$log.log(ticketModel);\r\n var url = ApiURL + '/api/Ticket/' + loggedinUser + '/PostForHelpDesk';\r\n var data = angular.toJson(ticketModel);\r\n var resp = \"\";\r\n $http.post(url, data, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser } \r\n }).then(function(res){\r\n if (res.status == 201) {\r\n callback(res.data);\r\n }else{\r\n failure(\"Failed\", res.data.Message);\r\n }\r\n },\r\n function () {\r\n failure(\"Failed\", \"Job Creation failed\");\r\n });\r\n }\r\n\r\n this.getTicketCounts = function(loggedinUser, token, rollups, filterKeys, filterValues,isData, success, failure){\r\n url = DashboardURL+ \"/api/Chart/getonhelpdesk?ReqUserId=\"+loggedinUser+\"&RollUPs=\"+rollups+\"&FilterKeys=\"+filterKeys+\"&FilterValues=\"+filterValues+\"&isData=\"+isData;\r\n\r\n $http.get(url, {\r\n headers : { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser}\r\n }).then(function(res){\r\n if(res.status ==200){\r\n success(res.data);\r\n } else {\r\n failure(\"Failed\", \"Unable to get ticket counts\");\r\n }\r\n }, function(err){\r\n failure(\"Failed\", \"Unable to get ticket counts\");\r\n});\r\n}\r\n\r\nthis.getTicketCountsWithSkill = function(loggedinUser, token, metrix, rollups, filterKeys, \r\n filterValues, isData,success, failure){\r\n\r\n url = DashboardURL+ \"/api/Chart?ReqUserId=\"+loggedinUser+\"&ChartType=Metrics&Metrics=\"+metrix\r\n +\"&DimensionList=&RollsUP=\"+rollups+\"&FilterKeys=\"+filterKeys+\"&FilterValues=\"+filterValues+\"&isData=\"+isData;\r\n\r\n $http.get(url, {\r\n headers : { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser}\r\n }).then(function(res){\r\n if(res.status ==200){\r\n success(res.data[0]);\r\n } else {\r\n failure(\"Failed\", \"Unable to get ticket counts\");\r\n }\r\n }, function(err){\r\n failure(\"Failed\", \"Unable to get ticket counts\");\r\n });\r\n}\r\n\r\nthis.getServiceGST = function(loggedinUser, skill, token, success, failure) {\r\n var url = ApiURL+'/api/ServiceGST/GetGST?reqUserId='+loggedinUser+'&skill='+skill;\r\n\r\n $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser}\r\n }).then(function(res){\r\n $log.log(res);\r\n if(res && res.status==200){\r\n success(res.data);\r\n } else {\r\n failure(\"Failed\", \"Unable to get GST rate\");\r\n }\r\n }, function(err){\r\n failure(\"Failed\", \"Unable to get GST rate\");\r\n })\r\n}\r\n\r\nthis.getAllTicketByCustLocId = function(custLocId, loggedinUser, token, success, failure){\r\n var url = ApiURL + '/api/Ticket/'+custLocId+'/byCustomerLocationId?reqUserId='+loggedinUser;\r\n\r\n $http.get(url, {\r\n headers : { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser}\r\n }).then(function(res){\r\n if(res.status == 200){\r\n success(res.data);\r\n } else {\r\n failure(\"Failed\", \"Unable to get tickets by customer location id\");\r\n }\r\n }, function(err){\r\n failure(\"Failed\", \"Unable to get tickets by customer location id\");\r\n });\r\n}\r\n});\nangular.module('inspinia').controller('HelpDeskCustomerViewController', function(toaster, HelpDeskCustomerViewService, \r\n\t$state ,$localStorage, $scope, DTOptionsBuilder, DTColumnDefBuilder, ApiURL, $log, $uibModal, \r\n\t$timeout, HelpDeskHomeService, PublicApiURL, JobTicketViewService) {\r\n\tvm = this;\r\n\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login',{\r\n\t\t\treload:true\r\n\t\t});\r\n\t} else {\r\n\t\tvar token = $localStorage.token;\r\n\t\tvar isData=false;\r\n\t\tif($localStorage.loggedInUser_SkillSet){\r\n\t\t\tvm.skills = $localStorage.loggedInUser_SkillSet.split(\",\");\r\n\t\t} else {\r\n\t\t\tvm.skills = [];\r\n\t\t}\r\n\r\n\tvm.PrevTicketHours = $localStorage.accountConfig.PrevTicketHours;\t\r\n\t\tvm.searchText = '';\r\n\t\tvm.loggingRemark = '';\r\n\t\tvm.loggingSource = '';\r\n\r\n\t\tvm.templateName = {};\r\n\t\tvm.templateName[\"VSAT\"] = 'VSAT Troubleshooting';\r\n\t\tvm.templateName[\"LeaseLine\"] = 'LeaseLine Troubleshooting';\r\n\r\n\t\tvm.customerLocationId = $state.params.cust_loc_id;\r\n\t\tvm.AssetName = $state.params.asst_name;\r\n\t\tvm.AssetId = $state.params.asst_id;\r\n\t\tvm.searchUrl = PublicApiURL + '/api/CustomerJobCard/search?reqUserId='+loggedinUser+'&input=';\r\n\t\tvm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n \tvar SlaPriorityModel = vm.getAccountConfigSetting('SlaPriorityCallTypeMap');\r\n \tvm.CallTypePriority = [];\r\n \t\tfor (key in SlaPriorityModel){\r\n \t\tvm.CallTypePriority.push({'value':key, 'name':SlaPriorityModel[key]})\r\n \t\t}\r\n\t\tvm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n\t\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\t\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\t\tvm.floatToInt = $scope.$parent.$parent.main.floatToInt;\r\n\t\tvar projectId = 'P0000000001';\t\t\r\n\r\n\t\tvm.metrix = {\r\n\t\t\t\"TRBL\": {\r\n\t\t\t\t\"VSAT\": {\r\n\t\t\t\t\t\"New Jobs\":\"VSAT_TRBL_New_Jobs\",\r\n\t\t\t\t\t\"Total Jobs\":\"VSAT_TRBL_Total_Jobs\",\r\n\t\t\t\t\t\"Assigned Jobs\":\"VSAT_TRBL_Assigned_Jobs\",\r\n\t\t\t\t\t\"Completed Jobs\":\"VSAT_TRBL_Completed_Jobs\",\r\n\t\t\t\t\t\"Approved Jobs\":\"VSAT_TRBL_Approved_Jobs\",\r\n\t\t\t\t\t\"Rejected Jobs\":\"VSAT_TRBL_Rejected_Jobs\",\r\n\t\t\t\t\t\"Cancelled Jobs\":\"VSAT_TRBL_Cancelled_Jobs\",\r\n\t\t\t\t\t\"On Hold Jobs\":\"VSAT_TRBL_Hold_Jobs\",\r\n\t\t\t\t\t\"Open Jobs\":\"VSAT_TRBL_Open_Jobs\"\r\n\t\t\t\t},\r\n\t\t\t\t\"LeaseLine\": {\t\t\t\t\r\n\t\t\t\t\t\"New Jobs\":\"LEAS_TRBL_New_Jobs\",\r\n\t\t\t\t\t\"Total Jobs\":\"LEASEAS_TRBL_Total_Jobs\",\r\n\t\t\t\t\t\"Assigned Jobs\":\"LEAS_TRBL_Assigned_Jobs\",\r\n\t\t\t\t\t\"Completed Jobs\":\"LEAS_TRBL_Completed_Jobs\",\r\n\t\t\t\t\t\"Approved Jobs\":\"LEAS_TRBL_Approved_Jobs\",\r\n\t\t\t\t\t\"Rejected Jobs\":\"LEAS_TRBL_Rejected_Jobs\",\r\n\t\t\t\t\t\"Cancelled Jobs\":\"LEAS_TRBL_Cancelled_Jobs\",\r\n\t\t\t\t\t\"On Hold Jobs\":\"LEAS_TRBL_Hold_Jobs\",\r\n\t\t\t\t\t\"Open Jobs\":\"LEAS_TRBL_Open_Jobs\"\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"Field\":{\r\n\t\t\t\t\"VSAT\":{\r\n\t\t\t\t\t\"New Jobs\":\"VSAT_Field_New_Jobs\",\r\n\t\t\t\t\t\"Total Jobs\":\"VSAT_Field_Total_Jobs\",\r\n\t\t\t\t\t\"Assigned Jobs\":\"VSAT_Field_Assigned_Jobs\",\r\n\t\t\t\t\t\"Completed Jobs\":\"VSAT_Field_Completed_Jobs\",\r\n\t\t\t\t\t\"Approved Jobs\":\"VSAT_Field_Approved_Jobs\",\r\n\t\t\t\t\t\"Rejected Jobs\":\"VSAT_Field_Rejected_Jobs\",\r\n\t\t\t\t\t\"Cancelled Jobs\":\"VSAT_Field_Cancelled_Jobs\"\r\n\t\t\t\t},\r\n\t\t\t\t\"LeaseLine\":{\r\n\t\t\t\t\t\"New Jobs\":\"LEAS_Field_New_Jobs\",\r\n\t\t\t\t\t\"Total Jobs\":\"LEAS_Field_Total_Jobs\",\r\n\t\t\t\t\t\"Assigned Jobs\":\"LEAS_Field_Assigned_Jobs\",\r\n\t\t\t\t\t\"Completed Jobs\":\"LEAS_Field_Completed_Jobs\",\r\n\t\t\t\t\t\"Approved Jobs\":\"LEAS_Field_Approved_Jobs\",\r\n\t\t\t\t\t\"Rejected Jobs\":\"LEAS_Field_Rejected_Jobs\",\r\n\t\t\t\t\t\"Cancelled Jobs\":\"LEAS_Field_Cancelled_Jobs\"\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\t////Follow Up Model\r\n vm.OpenFollowUpModel = function(ticketId) {\r\n vm.followup = '';\r\n vm.tickId = ticketId;\r\n FollowUpModel = $uibModal.open({\r\n templateUrl: 'FollowupJob.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n controller: ModalInstanceCtrlFollowUp,\r\n // resolve : {\r\n // items : function(){\r\n // return {\r\n // TicketId:ticketId\r\n // };\r\n // }\r\n // },\r\n}); \r\n}\r\nvm.CloseFollowUpModel = function () {\r\n FollowUpModel.close();\r\n}\r\n\r\nvar ModalInstanceCtrlFollowUp = function($scope, $rootScope, $uibModalInstance) {\r\n\r\n vm.updateFollowUpStatus = function(){\r\n var data = {};\r\n data = {\r\n\r\n \t \"userId\": loggedinUser,\r\n\t\t\t \"dateTime\": \"\",\r\n\t\t\t \"activity\": vm.followup,\r\n\t\t\t \"action\": \"FOLLOW_UP\",\r\n\t\t\t \"userName\": \"\",\r\n\t\t\t \"ticketId\": vm.tickId,\r\n\t\t\t \"primaryReason\": \"\",\r\n\t\t\t \"SecondryReason\": \"\",\r\n\t\t\t \"ReasonComment\": \"\"\r\n }\r\n\r\n // $log.log('Com',data);\r\n vm.CloseFollowUpModel();\r\n HelpDeskHomeService.TicketFollowUp(data, token, function (res) {\r\n if (res && res.status == 201) {\r\n vm.showSuccess(\"Success\", \"Follow up done successfully.\")\r\n $timeout(function () {\r\n $state.go(\"index.HelpDesk\", {\r\n reload: true\r\n })}, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to create follow up. Server is not responding correctly.\");\r\n }\r\n },vm.showFailure);\r\n }\r\n}\r\n\r\n\t\tvm.getCustomerBasicDetail = function() {\r\n\t\t\tHelpDeskCustomerViewService.getCustomerBasicDetail(loggedinUser, token, vm.customerLocationId, function(data){\r\n\t\t\t\tvm.customer = data;\t\t\t\r\n\t\t\t\tif(vm.customer && vm.customer.SkillSet){\r\n\t\t\t\t\tvm.skills = vm.customer.SkillSet;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvm.skills = [];\r\n\t\t\t\t}\r\n\t\t\t\tvm.noSkill = vm.skills.length==0;\r\n\t\t\t\tvm.onlyVsat = vm.skills.length==1 && vm.skills[0]==\"VSAT\";\r\n\t\t\t\tvm.both = vm.skills.length>1;\r\n\t\t\t\tvm.loadMetrix(\"TRBL\");\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.GetTicketSroucesByProId = function() {\r\n\t\t\tHelpDeskCustomerViewService.GetTicketSroucesByProId(loggedinUser, projectId, token, function(data){\r\n\t\t\t\tvm.ticketSources = data;\t\t\t\t\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.getSearchBox = function(){\r\n\t\t\tvm.searchBoxHtml = '
';\r\n\t\t}\r\n\r\n\t\tvm.searchCustomer = function(e){\r\n\t\t\tif(e && e.originalObject && e.originalObject.CustomerLocationId){\r\n\t\t\t\t$state.go('index.HelpDesk_Customer_View',{\r\n\t\t\t\t\tcust_loc_id:e.originalObject.CustomerLocationId,\r\n\t\t\t\t\tasst_name:e.originalObject.AssetName,\r\n\t\t\t\t\tasst_id:e.originalObject.AssetId,\r\n\t\t\t\t\treload:true\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.getTemplateByName = function(templateName){\r\n\t\t\tif(vm.PrevTicketHours > 0){\r\n\t\t\t\tHelpDeskCustomerViewService.findTicketInGivenTime(templateName, loggedinUser, vm.customerLocationId, vm.AssetId, vm.PrevTicketHours, token, function(data) {\r\n\t\t\t\t\tvm.templateData = data;\r\n\t\t\t\t\tif(data == \"False\") {\r\n\t\t\t\t\t\tvm.showTicketEditModel(templateName);\r\n\t\t\t\t\t} \r\n\t\t\t\t\telse \r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", \"Customer Location already has ticket logged within \" + range + \" minuts.\");\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tvm.showTicketEditModel(templateName);\r\n\t\t\t}\t\t\r\n\t\t}\r\n\r\n\t\tvm.showTicketEditModel = function(templateName){\r\n\t\t\tHelpDeskCustomerViewService.getTemplateByName(templateName, loggedinUser, token, function(data) {\r\n\t\t\t\tvm.templateData = data;\r\n\t\t\t\tif(data.Skill == \"VSAT\") {\r\n\t\t\t\t\tvm.form1 = \"VSAT Maintenance\";\r\n\t\t\t\t} else if (data.Skill == \"LeaseLine\") {\r\n\t\t\t\t\tvm.form1 = \"LLM\";\r\n\t\t\t\t}\r\n\t\t\t\tvm.OpenTicketEditModal();\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.getDropDownOptions = function(SectionName, ItemName){\r\n\t\t\tvar options = [];\r\n\t\t\tif(vm.templateData && vm.templateData.SectionList){\r\n\t\t\t\tangular.forEach(vm.templateData.SectionList, function(l){\r\n\t\t\t\t\tif(l.SectionName == SectionName && l.ItemList && l.ItemList.length>0){\r\n\t\t\t\t\t\tangular.forEach(l.ItemList, function(item){\r\n\t\t\t\t\t\t\tif(item.ItemName == ItemName && item.ItemType == \"Dropdown Type\" && item.field_options && item.field_options.options && item.field_options.options.length>0) {\t\r\n\t\t\t\t\t\t\t\t//$log.log(\"item.field_options.options\", item.field_options.options);\r\n\t\t\t\t\t\t\t\tangular.forEach(item.field_options.options, function(o){\r\n\t\t\t\t\t\t\t\t\tif(o.label && o.label.length>0){\r\n\t\t\t\t\t\t\t\t\t\toptions.push(o);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t} \r\n\t\t\t/*if (ItemName == 'Call Type') {\r\n\t\t\t \tvm.form1 = options[0].label;\r\n\t\t\t} else {\r\n\t\t\t\tvm.form1 = '';\r\n\t\t\t}*/\r\n\t\t\treturn options;\r\n\t\t}\r\n\r\n\t\tvm.EditItemSectionAndActionWise = function (item) {\r\n\t\t\tvm.PlottedItem = '';\r\n\t\t\tvar itemType = item.ItemType;\r\n\r\n\t\t\tswitch (itemType) {\r\n\r\n\t\t\t\tcase 'Dropdown Type':\r\n\t\t\t\t/*vm.PlottedItem = '';\r\n\t\t\t\t*/\r\n\t\t\t\tvar calltypelevel = '';\r\n\t\t\t\tif(item.ItemName == \"Call Type\")\r\n\t\t\t\t{\r\n\t\t\t\t\tvm.PlottedItem = '';\r\n\t\t\t\t\tvm.PlottedItem = vm.PlottedItem + '
Please enter {{item.ItemName}} value
';\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\tvm.PlottedItem = '';\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\r\n\t\t\t\tbreak;\r\n\r\n\r\n\t\t\t\tcase 'Date Type':\r\n\t\t\t\tvm.PlottedItem = ''\r\n\t\t\t\t+ '';\r\n\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase 'Multiple Picture Type':\r\n\t\t\t\tcase 'Signature Type':\r\n\t\t\t\tcase 'Video Type':\r\n\t\t\t\tcase 'CheckBoxList DropDown Type':\r\n\t\t\t\tcase 'Character FilteredTextBoxField':\r\n\t\t\t\tcase 'Bigger Textbox':\r\n\t\t\t\tcase 'Edit Enabled':\r\n\t\t\t\tcase 'Phone Type':\r\n\t\t\t\tcase 'Decimal TextBox Type':\r\n\t\t\t\tcase 'Numeric FilteredTextBoxField':\r\n\t\t\t\tcase 'Instruction Type':\r\n\t\t\t\tcase 'Scan Barcode Type':\r\n\t\t\t\tcase 'Email':\r\n\t\t\t\tdefault:\r\n\t\t\t\t//vm.PlottedItem = '';\r\n\t\t\t\tvm.PlottedItem = '';\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\treturn vm.PlottedItem;\r\n\t\t}\r\n\r\n\r\n\r\n\t vm.openCalendar = function(e, picker) {\r\n \tvm.loggingDate.open = true;\r\n \t};\r\n\r\n\t\tticketEditModalInstance = {};\r\n\t\tvm.OpenTicketEditModal = function () {\r\n\t\t\tvm.check = false;\r\n\t\t\tvm.loggingSource = '';\r\n\t\t\tvm.loggingRemark = '';\r\n\t\t\tvar datelimit = new Date();\t\t\r\n\t\t\tdatelimit.setMinutes(datelimit.getMinutes() + 1)\r\n\t\t\tvm.loggingDate = {date: '', datepickerOptions: { maxDate: datelimit }};\r\n\t\t\tticketEditModalInstance = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'ticketEdit_modal.html',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.CloseModal = function () {\r\n\t\t\tticketEditModalInstance.close();\r\n\t\t}\r\n\r\n\t\tvm.createTicket = function(status){\r\n\r\n\t\t\tif (vm.editTicket_form && !vm.editTicket_form.$valid) {\r\n\t vm.editTicket_form.submitted = true;\r\n\t return;\r\n\t }\r\n\t\t\r\n\t\t\t//ticketEditModalInstance.close();\r\n\t\t\tvm.ticket = {\r\n\t\t\t\t\"Address1\": vm.customer.Address1,\r\n\t\t\t\t\"Address2\": vm.customer.Address2,\r\n\t\t\t\t\"City\": vm.customer.City,\r\n\t\t\t\t\"State\": vm.customer.SubRegion,\r\n\t\t\t\t\"Template\": vm.templateData.TemplateName,\r\n\t\t\t\t\"CustomerId\": vm.customer.CustomerId,\r\n\t\t\t\t\"JobType\": vm.templateData.Skill,\r\n\t\t\t\t\"BroadcastRate\": 0,\r\n\t\t\t\t\"BroadcastGrossRate\": 0,\r\n\t\t\t\t\"MobiforceCommissionPercentage\": 0,\r\n\t\t\t\t\"BidDuration\": 0,\r\n\t\t\t\t\"JobAssignRate\": 0,\r\n\t\t\t\t\"JobAssignGrossRate\": 0,\r\n\t\t\t\t\"RateBase\": 0,\r\n\t\t\t\t\"CustomerName\": vm.customer.CustomerName,\r\n\t\t\t\t\"ProjectId\": \"P0000000001\",\r\n\t\t\t\t\"ProjectName\": \"Test Project\",\r\n\t\t\t\t\"Circle\": vm.customer.SubRegion,\r\n\t\t\t\t\"SkillSet\": vm.templateData.Skill,\r\n\t\t\t\t\"JobDescription\": \"Troubleshooting detail\",\t\t\t\t\r\n\t\t\t\t\"ConsumerName\": vm.customer.CustomerLocationContactModels[0].FirstName+' '+vm.customer.CustomerLocationContactModels[0].LastName,\r\n\t\t\t\t\"ConsumerContactNumber\": vm.customer.CustomerLocationContactModels[0].Mobile,\r\n\t\t\t\t\"Region\": vm.customer.Region,\r\n\t\t\t\t\"SubRegion\": vm.customer.SubRegion,\r\n\t\t\t\t\"Pincode\": vm.customer.Pincode,\r\n\t\t\t\t\"UniqueOne\": vm.customer.UniqueIdOne,\r\n\t\t\t\t\"UniqueTwo\": vm.customer.UniqueIdTwo,\r\n\t\t\t\t\"District\": vm.customer.District,\r\n\t\t\t\t\"StartTime\": moment().format(\"YYYY-MM-DDTHH:mm:ssZ\"),\r\n\t\t\t\t\"GeoFenceEnable\": false,\r\n\t\t\t\t\"FixedBidPrice\": false,\r\n\t\t\t\t\"TicketStatus\": status,\r\n\t\t\t\t\"CustomerLocationId\": vm.customerLocationId,\r\n\t\t\t\t\"Priority\": \"\",\r\n\t\t\t\t\"LoggingRemark\": vm.loggingRemark,\r\n\t\t\t\t\"LoggingDate\": moment(vm.loggingDate.date).format(\"YYYY-MM-DDTHH:mm:ssZ\"),\r\n\t\t\t\t\"TicketSource\": vm.loggingSource,\r\n\t\t\t\t\"AssetName\": vm.AssetName,\r\n\t\t\t\t\"AssetId\": vm.AssetId,\r\n\t\t\t\t\"JobTemplateModel\" : {\"sectionMap\": {}}\r\n\t\t\t};\r\n\r\n\t\t\tif(status=='Completed'){\r\n\t\t\t\tvm.ticket[\"CompletionDate\"] = moment().format(\"YYYY-MM-DDTHH:mm:ssZ\");\r\n\t\t\t}\r\n\r\n\t\t\tfor(var i=0; i0){\r\n\t\t\t\t\tangular.forEach(data, function(d){\r\n\t\t\t\t\t\tvm.jobcount[d.DisplayName] = d.Value;\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure)\r\n\t\t}\r\n\r\n\t\tvm.getAllTickets = function(){\r\n\t\t\tvm.tickets = {\"Troubleshooting\":[], \"CCR\":[]};\r\n\t\t\tHelpDeskCustomerViewService.getAllTicketByCustLocId(vm.customerLocationId, loggedinUser, \r\n\t\t\t\ttoken, function(data) {\r\n\t\t\t\t\tangular.forEach(data, function(d){\r\n\t\t\t\t\t\tif(d && d.Template.indexOf(\"Troubleshooting\")>=0){\r\n\t\t\t\t\t\t\tvm.tickets[\"Troubleshooting\"].push(d);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tvm.tickets[\"CCR\"].push(d);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.loadMetrix = function(ticketType){\r\n\t\t\tvm.jobcount = vm.jobcount || {};\r\n\t\t\tvm.ticketType = ticketType;\r\n\t\t\tangular.forEach(vm.metrix[ticketType][vm.skills[0]], function(m, displayName){\r\n\t\t\t\tHelpDeskCustomerViewService.getTicketCountsWithSkill(loggedinUser, token, m,\r\n\t\t\t\t\t'', 'Circle,CustomerLocationId', vm.customer.SubRegion+','+vm.customerLocationId,isData, function(d){\r\n\t\t\t\t\t\tif(d && d.Value){\r\n\t\t\t\t\t\t\tvm.jobcount[displayName] = d.Value;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tvm.jobcount[displayName] = 0;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t}, vm.showFailure);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.loadData = function(){\r\n\t\t\tvm.getCustomerBasicDetail();\r\n\t\t\tvm.getAllTickets();\r\n\t\t\tvm.GetTicketSroucesByProId();\r\n\t\t}\r\n\t\tvm.getSearchBox();\r\n\t\tvm.loadData();\r\n\r\n\t\tvm.editJobAppointment = function (ticket) {\r\n\t\t\tvm.TicketInfoEdit = ticket;\r\n\t\t\t$log.log(ticket);\r\n\t\t\tvm.jobAppointmentModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'editJobAppointment.html',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t\tHelpDeskCustomerViewService.getServiceGST(loggedinUser, ticket.SkillSet, token, function(data){\r\n\t\t\t\tvm.grossRate = data;\r\n\t\t\t}, vm.showFailure)\r\n\t\t}\r\n\r\n\t\tvm.closeJobAppointment = function () {\r\n\t\t\tvm.jobAppointmentModal.close();\r\n\t\t}\r\n\r\n\t\tvm.createFieldTicket = function(ticket) {\r\n\t\t\tvm.jobAppointmentForm.submitted = true;\r\n\t\t\tif(vm.jobAppointmentForm.$valid && ticket.TicketId){\r\n\t\t\t\tticket.Template = ticket.Template.indexOf(\"VSAT\")>=0?\"VSAT CCR\":\"LeaseLine CCR\";\r\n\t\t\t\tticket.JobDescription = ticket.Template;\r\n\t\t\t\tticket.TemplateModel = null;\r\n\t\t\t\tticket.BroadcastGrossRate = ticket.BroadcastRate * (1+vm.grossRate/100);\r\n\t\t\t\tticket.LinkId = ticket.TicketId;\r\n\t\t\t\tticket.TicketId = null;\r\n\t\t\t\tticket.UniqueOne = ticket.VSATID;\r\n\t\t\t\tticket.UniqueTwo = ticket.VSATIP;\r\n\t\t\t\tticket.ConsumerContactNumber = ticket.ConsumerContact;\r\n\t\t\t\t$log.log(ticket);\r\n\t\t\t\tvm.jobAppointmentModal.close();\r\n\t\t\t\tHelpDeskCustomerViewService.createTicket(loggedinUser, ticket, token, function(data){\r\n\t\t\t\t\tvm.showSuccess(\"Sucess\", \"Field ticket has been created successfully.\");\r\n\t\t\t\t\t$timeout(vm.loadData, 2000);\r\n\t\t\t\t\t// vm.loadData();\r\n\t\t\t\t}, vm.showFailure);\t\t\t\t\r\n\t\t\t} else {\r\n\t\t\t\t$log.log(\"invalid\", vm.jobAppointmentForm);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.getJobAllStatus = function () {\r\n\t\t\tJobTicketViewService.getJobAllStatus(loggedinUser, token, function (data) {\r\n\t\t\t\tvm.statusList = data;\r\n\t\t\t\tvm.statusList.unshift({\"StatusName\":\"All Job Status\"});\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.getJobAllStatus();\r\n\r\n\t\tvm.dtInstance = {};\r\n\t\tvm.dtInstance1 = {};\r\n\r\n\t\tvm.searchTable = function () {\r\n\t\t\t// vm.dtInstance.DataTable.search(vm.searchText).draw();\r\n\t\t\t// vm.dtInstance1.DataTable.search(vm.searchText).draw();\r\n\r\n\t\t\tvar s = \"\";\r\n\t\t\ts += vm.searchText.length > 0 ? \" \" + vm.searchText : \"\";\r\n\t\t\ts += (vm.searchStatusText.length > 0 && vm.searchStatusText!='All Job Status') ? \" \" + vm.searchStatusText : \"\";\r\n\t\t\tvm.dtInstance.DataTable.search(s).draw();\r\n\t\t\tvm.dtInstance1.DataTable.search(s).draw();\r\n\t\t};\r\n\r\n\t\tformat = function(ticket){\r\n\t\t\tvar rowHtml = ''+\r\n\t\t\t''+\r\n\t\t\t''+\r\n\t\t\t''+\r\n\t\t\t'';\r\n\t\t\tif(ticket.TicketStatus==\"On Hold\"){\r\n\t\t\t\trowHtml+=''+\r\n\t\t\t\t''+\r\n\t\t\t\t''+\r\n\t\t\t\t'';\r\n\t\t\t}else if(ticket.TicketStatus == \"Completed\"){\r\n\t\t\t\trowHtml+=''+\r\n\t\t\t\t''+\r\n\t\t\t\t''+\r\n\t\t\t\t''\r\n\t\t\t}\r\n\t\t\trowHtml+='
Location:'+ticket.Address1+\", \"+ticket.Address2+\", \"+ticket.City+\", \"+ticket.Circle+\", Pincode: \"+parseInt(ticket.Pincode)+'
On Hold Reason:'+ticket.PrimaryReason+\" - \"+ticket.SecondaryReason+'
Completion Remarks:' + ticket.CompletionRemark+'
';\r\n\t\t\treturn rowHtml;\r\n\t\t}\r\n\r\n\t\tvm.showLocation = function(dtInstance, $event, ticket){\r\n\t\t\tvar tr = angular.element($event.currentTarget).closest(\"tr\");\r\n\t\t\tvar row = dtInstance.DataTable.row( tr );\r\n\t\t\tif ( row.child.isShown() ) {\r\n\t\t\t // This row is already open - close it\r\n\t\t\t row.child.hide();\r\n\t\t\t tr.removeClass('shown');\r\n\t\t\t} else {\r\n\t\t // Open this row\r\n\t\t row.child( format(ticket) ).show();\r\n\t\t tr.addClass('shown');\r\n\t\t }\r\n\t\t}\r\n\r\n\t\tvm.editCustomerProfile = function() {\r\n\t\t\tEditCustomerModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'editCustomer.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t\tcontroller: ModalInstanceCtrlCustomer,\r\n\t\t\t\tsize:'lg' \r\n\r\n\t\t\t}); \r\n\t\t}\r\n\r\n\t\tvar ModalInstanceCtrlCustomer = function($scope, $rootScope, $uibModalInstance) { \r\n\r\n\t\t\tHelpDeskCustomerViewService.GetRegion(loggedinUser,token).then(function(resp){\r\n\t\t\t\tif (resp.status==200 && resp.data.values.length>0) {\r\n\t\t\t\t\tvm.RegionList = resp.data.values;\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\tHelpDeskCustomerViewService.GetSubRegion(loggedinUser,token,vm.customer.Region).then(function(resp){\r\n\t\t\t\tif (resp.status==200 && resp.data.values.length>0) {\r\n\t\t\t\t\tvm.SubRegionList = resp.data.values;\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\tHelpDeskCustomerViewService.GetCityBySubRegion(loggedinUser,vm.customer.SubRegion,token).then(function(resp){\r\n\t\t\t\tif (resp.status==200 && resp.data.values.length>0) {\r\n\t\t\t\t\tvm.CityList = resp.data.values;\r\n\t\t\t\t}\r\n\t\t\t})\r\n\r\n\t\t\tvm.GetSubRegionList = function(region){\r\n\t\t\t\tHelpDeskCustomerViewService.GetSubRegion(loggedinUser,token,region).then(function(resp){\r\n\t\t\t\t\tif (resp.status==200 && resp.data.values.length>0) {\r\n\t\t\t\t\t\tvm.SubRegionList = resp.data.values;\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\tvm.GetCityList = function(subRegion){\r\n\t\t\t\tHelpDeskCustomerViewService.GetCityBySubRegion(loggedinUser,subRegion,token).then(function(resp){\r\n\t\t\t\t\tif (resp.status==200 && resp.data.values.length>0) {\r\n\t\t\t\t\t\tvm.CityList = resp.data.values;\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\r\n\t\t\tvm.updateCustomerModal = function(){\r\n\t\t\t\tif (vm.customerEdit_form.$valid) {\r\n\t\t\t\t\tvar data={};\r\n\r\n\t\t\t\t\t// var ContactModel = {};\r\n\t\t\t\t\tvar data={\r\n\r\n\t\t\t\t\t\t\"reqUserId\": loggedinUser,\r\n\t\t\t\t\t\t\"CcId\": vm.customer.CustomerLocationContactModels[0].CcId,\r\n\t\t\t\t\t\t\"CustomerId\": vm.customer.CustomerId,\r\n\t\t\t\t\t\t\"CustomerLocationId\": vm.customer.CustomerLocationId,\r\n\t\t\t\t\t\t\"FirstName\": vm.customer.CustomerLocationContactModels[0].FirstName,\r\n\t\t\t\t\t\t\"LastName\": vm.customer.CustomerLocationContactModels[0].LastName,\r\n\t\t\t\t\t\t\"Mobile\": vm.customer.CustomerLocationContactModels[0].Mobile,\r\n\t\t\t\t\t\t\"OtherMobile\": null,\r\n\t\t\t\t\t\t\"Email\": vm.customer.CustomerLocationContactModels[0].Email,\r\n\t\t\t\t\t\t\"CustomerName\": vm.customer.CustomerName,\r\n\t\t\t\t\t\t\"Address1\": vm.customer.Address1,\r\n\t\t\t\t\t\t\"Address2\": vm.customer.Address2,\r\n\t\t\t\t\t\t\"Pincode\": vm.customer.Pincode,\r\n\t\t\t\t\t\t\"Region\": vm.customer.Region,\r\n\t\t\t\t\t\t\"SubRegion\": vm.customer.SubRegion,\r\n\t\t\t\t\t\t\"UniqueIdOne\": vm.customer.UniqueIdOne,\r\n\t\t\t\t\t\t\"UniqueIdTwo\": vm.customer.UniqueIdTwo,\r\n\t\t\t\t\t\t\"City\": vm.customer.City\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tHelpDeskCustomerViewService.UpdateCustomerLocation(data,token,loggedinUser).then(function(resp){\r\n\t\t\t\t\t\tif (resp.status == 202) {\r\n\t\t\t\t\t\t\tvm.showSuccess();\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\tvm.showFailure();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\tvm.CloseEditCustomerModal();\r\n\t\t\t\t\t// $log.log('updateCustomer',data);\r\n\t\t\t\t}else{\r\n\t\t\t\t\tvm.customerEdit_form.submitted = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.CloseEditCustomerModal = function ()\r\n\t\t{\r\n\t\t\tEditCustomerModal.close();\r\n\t\t}\t\r\n\r\n\t\t//Update Resons\r\n\t\tvm.openUpdateStatusModel = function(ticket) {\r\n\t\t\tvm.statusModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'statusModal.html',\r\n\t\t\t\tscope: $scope\r\n\t\t\t}); \r\n\t\t\tvm.selectedTicketId = ticket.TicketId;\r\n\t\t\tvm.selectedTemplate = ticket.Template;\r\n\t\t\tvm.updateStatus = ticket.PrimaryReason;\r\n\t\t\tvm.selectedReason = ticket.SecondaryReason;\r\n\t\t\tvm.GetAllPrimaryReasonBasedOnTemplate();\r\n\t\t}\r\n\t\tvm.CloseUpdateStatusModel = function () {\r\n\t\t\tvm.statusModal.close();\r\n\t\t}\r\n\r\n\t\tvm.GetAllPrimaryReasonBasedOnTemplate = function() {\t\t\t\r\n\t\t\tHelpDeskHomeService.GetAllPrimaryReasonBasedOnTemplate(loggedinUser, vm.selectedTemplate,\r\n\t\t\t\ttoken, function(data){\r\n\t\t\t\t\tvm.TotalReasonList = data;\r\n\t\t\t\t\tvm.filterData();\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.filterData = function(){\r\n\t\t\tvm.PrimaryReasonList = [];\r\n\t\t\tfor(var i=0; ilTfgitp')\r\n\t\t.withButtons(['colvis'])\r\n\t\t.withOption('stateSave', true)\r\n\t\t.withOption('stateSaveCallback', function (settings, data) {\r\n\t\t\tlocalStorage.setItem('DataTables_' + settings.sInstance, JSON.stringify(data))\r\n\t\t})\r\n\t\t.withOption('stateLoadCallback', function (settings) {\r\n\t\t\tvar state = JSON.parse(localStorage.getItem('DataTables_' + settings.sInstance));\r\n\t\t\tif (state) {\r\n\t\t\t\tstate.search = { search: \"\", smart: true, regex: false, caseInsensitive: true };\r\n\t\t\t\tif(state.columns && state.columns.length>0){\r\n\t\t\t\t\tstate.columns[10].visible=false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn state;\r\n\t\t})\r\n\t\t.withPaginationType('full_numbers')\r\n\t\t.withOption('lengthChange', false)\r\n\t\t.withOption('order', ['0', 'desc']);\r\n\r\n\t\tvm.dtColumnDefs = [\r\n\t\tDTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n\t\tDTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n\t\tDTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n\t\tDTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n\t\tDTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n\t\t// DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n\t\t// DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n\t\tDTColumnDefBuilder.newColumnDef(7).notSortable(),\r\n\t\tDTColumnDefBuilder.newColumnDef(8).notSortable(),\r\n\t\t// DTColumnDefBuilder.newColumnDef(9).notSortable(),\r\n\t\tDTColumnDefBuilder.newColumnDef(10).notSortable()\r\n\t\t// DTColumnDefBuilder.newColumnDef(11).notSortable()\r\n\t\t];\r\n\r\n\t}\r\n});\nangular.module('inspinia').service('HelpDeskHomeAdminService',function($http, ApiURL,$window,PublicApiURL,ActivityURL){\r\n\r\n\tthis.getAllTickets = function(userId, token, fromDate, toDate, templateName, loc, status, completeFlag,DateField, success, failure){\r\n\t\tvar url = ApiURL + '/api/Ticket/'+userId+'/GetTicketsbyDateRangeForHelpDesk?fromDate='\r\n\t\t\t+fromDate+'&toDate='+toDate+'&templateName='+templateName+'&location='+loc+'&status='+status+'¬Completed=' +completeFlag + '&DateField=' + DateField;\r\n\t\t$http.get(url, {\r\n\t\t\theaders: {\r\n\t\t\t\t'Content-Type': 'application/json', 'Token': token, 'UserId': userId\r\n\t\t\t}\r\n\t\t}).then(function(res){\r\n\t\t\tif(res && res.data){\r\n\t\t\t\tsuccess(res.data);\r\n\t\t\t} else {\r\n\t\t\t\tfailure(\"Failed\", \"Unable to get tickets, technical error. Please contact to administrator.\");\r\n\t\t\t}\r\n\t\t}, function(err){\r\n\t\t\t//failure(\"Failed\", \"Unable to get tickets, technical error. Please contact to administrator.\");\r\n\t\t})\r\n\t}\r\n\r\n\tthis.getAllTicketsCopy = function(userId, token, fromDate, toDate, textItemNames, textItemValues, templateName, loc, status, completeFlag,DateField, PageIndex, PageSize, success, failure){\r\n\t\tvar url = ApiURL + '/api/Ticket/'+userId+'/GetTicketsbyDateRangeForHelpDeskWithDynaPaging?fromDate='\r\n\t\t\t+fromDate+'&toDate='+toDate+ '&textItemNames=' + textItemNames + '&textItemValues=' + textItemValues +'&templateName='+templateName+'&location='+loc+'&status='+status+'¬Completed=' +completeFlag + '&DateField=' + DateField + '&PageIndex='+PageIndex+ '&PageSize='+ PageSize;\r\n\t\t$http.get(url, {\r\n\t\t\theaders: {\r\n\t\t\t\t'Content-Type': 'application/json', 'Token': token, 'UserId': userId\r\n\t\t\t}\r\n\t\t}).then(function(res){\r\n\t\t\tif(res && res.data){\r\n\t\t\t\tsuccess(res.data);\r\n\t\t\t} else {\r\n\t\t\t\tfailure(\"Failed\", \"Unable to get tickets, technical error. Please contact to administrator.\");\r\n\t\t\t}\r\n\t\t}, function(err){\r\n\t\t\t//failure(\"Failed\", \"Unable to get tickets, technical error. Please contact to administrator.\");\r\n\t\t})\r\n\t}\r\n\r\n\t// https://perf.mymobiforce.com/publicapi/api/Report/DownloadAllTicketReportForHelpdesk?fromDate=2019-11-28&toDate=2019-11-29&templateName=VSAT%20Troubleshooting&location=Noida&status=New&reqUserId=U400000000001¬Completed=true\r\n\tthis.downloadTicketsByFilterRange = function(loggedInUserId, fromDate, toDate,templateName,completeFlag,status,location){\r\n\t\tvar url = PublicApiURL + \"/api/Report/DownloadAllTicketReportForHelpdesk?fromDate=\"+fromDate +'&toDate='+toDate +'&templateName='+templateName+ '&location='+location +'&status='+status + '&reqUserId='+loggedInUserId + '¬Completed='+completeFlag ;\r\n\t\t$window.open(url);\r\n\t}\r\n\r\n \r\n // https://perf.mymobiforce.com/coreapi/api/TicketSlot/GetAvailableSlotsForBooking?reqUserId=U360000000001&date=20-02-2019\r\n this.GetAvailableSlotsForBooking = function(loggedinUser,date,token){\r\n var url = ApiURL + '/api/TicketSlot/GetAvailableSlotsForBooking?reqUserId='+loggedinUser+'&date='+date;\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token, 'UserId': loggedinUser}\r\n })\r\n }\r\n\r\n\r\n//https://perf.mymobiforce.com/coreapi/api/TicketSlot/BookSlot?reqUserId=U310000000005&slotId=211\r\n this.BookSlot = function(loggedinUser,slotId,token){\r\n \tvar url = ApiURL + '/api/TicketSlot/BookSlot?reqUserId='+loggedinUser+'&slotId='+slotId;\r\n \treturn $http.put(url,{},{\r\n \t\theaders:{'Content-Type':'application/json','Token':token, 'UserId': loggedinUser}\r\n \t})\r\n }\r\n\r\n\t//https://test.mymobiforce.com/activityapi/api/Activity/CreateActivity\r\n\tthis.TicketFollowUp = function(data,loggedinUser,token, success,failure){\r\n\t\tvar url = ActivityURL + '/api/Activity/CreateActivity';\r\n\t\treturn $http.post(url,data,{\r\n\t\t\theaders:{'Content-Type':'application/json','Token':token, 'UserId': loggedinUser}\r\n\t\t}).then(success, function(error){\r\n \t\tfailure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n \t});\r\n\t}\r\n\r\n\tthis.FollowUpWithAttachment = function(data, files, token, loggedinUser, success,failure){\r\n\t\tvar formdata = new FormData();\t\t\r\n\t\tformdata.append(\"files\", files[0]);\t\r\n\t\tvar followupdata = JSON.stringify(data);\r\n\t\tformdata.append(\"ActivityModel\", followupdata);\r\n \r\n\t\tvar url = ActivityURL + '/api/Activity/FollowUp';\r\n\t\treturn $http.post(url,formdata,{\r\n\t\t\theaders:{'Content-Type':undefined,'Token':token, 'UserId': loggedinUser}\r\n\t\t}).then(success, function(error){\r\n \t\tfailure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n \t});\r\n\t}\r\n\r\n\tthis.ReopenTicket = function (data, token, loggedinUser, success, failure) {\r\n \tvar url = ApiURL + '/api/Ticket/updatestatus';\r\n \treturn $http.put(url, data, {\r\n \t\theaders: {\r\n \t\t'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n \t\t}\r\n \t}).then(success, function(error){\r\n \t\tfailure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n \t});\r\n \t}\r\n\r\n\t//https://test.mymobiforce.com/coreapi/api/TatRepository/GetByTemplateNameForSelf?reqUserId=U370000000001&TemplateName=VSAT%20Troubleshooting\r\n\tthis.GetAllPrimaryReasonBasedOnTemplate = function(loggedInUser, templateName, token, success, failure){\r\n\t\tvar url = ApiURL+'/api/TatRepository/GetByTemplateNameForSelf?reqUserId='+ loggedInUser + '&TemplateName='+ templateName;\r\n\t\t$http.get(url,{\r\n\t\t\theaders:{'Content-Type':'application/json','Token':token, 'UserId': loggedInUser}\r\n\t\t}).then(function(resp){\r\n\t\t\tif (resp.status == 200 && resp.data) {\r\n\t\t\t\tsuccess(resp.data);\r\n\t\t\t}else{\r\n\t\t\t\tfailure(\"Failed\", \"Unable to get status, technical error.\");\r\n\t\t\t}\r\n\t\t}, function(err){\r\n\t\t\tfailure(\"Failed\", \"Unable to get status, technical error\");\r\n\t\t})\r\n\t}\r\n\r\n\tthis.getSecondaryReason = function(token, loggedInUser, templateName, primaryReason, success, failure){\r\n\t\tvar url = ApiURL + \"/api/TatRepository/GetByTemplateNamePrimaryReasonForSelf?reqUserId=\" + loggedInUser\r\n\t\t+\"&TemplateName=\" + templateName + \"&PrimaryReason=\" + primaryReason;\r\n\t\t$http.get(url,{\r\n\t\t\theaders:{'Content-Type':'application/json','Token':token, 'UserId': loggedInUser}\r\n\t\t}).then(function(resp){\r\n\t\t\tif (resp.status == 200 && resp.data) {\r\n\t\t\t\tsuccess(resp.data);\r\n\t\t\t}else{\r\n\t\t\t\tfailure(\"Failed\", \"Unable to get reasons, technical error.\");\r\n\t\t\t}\r\n\t\t}, function(err){\r\n\t\t\tfailure(\"Failed\", \"Unable to get reasons, technical error\");\r\n\t\t})\r\n\t}\r\n\r\n\tthis.updateTicketStatus = function(token, loggedinUser, ticketId, primaryReason, secReason,SelectedThirdReasonList, comments, success, failure){\r\n\t\tvar url = ApiURL + \"/api/Ticket/UpdateTicketReasonStatus\";\r\n\t\t$http.put(url, {\r\n\t\t\t\"ReqUserId\": loggedinUser,\r\n\t\t\t\"TicketId\": ticketId,\r\n\t\t\t\"PrimaryReason\": primaryReason,\r\n\t\t\t\"SecondaryReason\": secReason,\r\n\t\t\t\"ThirdReasonList\": SelectedThirdReasonList,\r\n\t\t\t\"ReasonComment\":comments\r\n\t\t}, {\r\n\t\t\theaders:{'Content-Type':'application/json','Token':token, 'UserId': loggedinUser}\r\n\t\t}).then(function(res){\r\n\t\t\tif (res.status == 202) {\r\n\t\t\t\tsuccess();\r\n\t\t\t}else{\r\n\t\t\t\tfailure(\"Failed\", \"Unable to update status, technical error.\");\r\n\t\t\t}\r\n\t\t}, function(err){\r\n\t\t\tfailure(\"Failed\", \"Unable to update status, technical error.\");\r\n\t\t})\r\n\t}\r\n\r\n\t// https://perf.mymobiforce.com/coreapi/api/Ticket/UpdateTicketReasonStatusInBulk?reqUserId=U360000000016\r\n\tthis.updateTicketStatus_Multiple = function(token, loggedinUser, modelData, success, failure){\r\n\t\tvar url = ApiURL + \"/api/Ticket/UpdateTicketReasonStatusInBulk?reqUserId=\"+loggedinUser;\r\n\t\t$http.put(url, modelData, {\r\n\t\t\theaders:{'Content-Type':'application/json','Token':token, 'UserId': loggedinUser}\r\n\t\t}).then(function(res){\r\n\t\t\tif (res.status == 202) {\r\n\t\t\t\tsuccess();\r\n\t\t\t}else{\r\n\t\t\t\tfailure(\"Failed\", \"Unable to update status, technical error.\");\r\n\t\t\t}\r\n\t\t}, function(err){\r\n\t\t\tfailure(\"Failed\", \"Unable to update status, technical error.\");\r\n\t\t})\r\n\t}\r\n\r\n\r\n\tthis.searchCustomer = function(loggedinUser,token){\r\n\t\tvar url = ApiURL + '/api/Customer/search?reqUserId='+loggedinUser+'&input=';\r\n\t\treturn $http.get(url,{\r\n\t\t\theaders:{'Content-Type':'application/json', 'Token':token, 'UserId': loggedinUser}\r\n\t\t})\r\n\t}\r\n\r\n\t//https://test.mymobiforce.com/coreapi/api/Expense/GetByTicketId?ReqUserId=U360000000001&TicketId=T0000010051\r\n \tthis.getBillExpenseByTicketID = function(loggedinUser, ticketID, token){\r\n \tvar url = ApiURL + '/api/Expense/GetByTicketId?ReqUserId=' + loggedinUser + '&TicketId=' +ticketID;\r\n \treturn $http.get(url, {\r\n\t \theaders: {\r\n\t \t'Content-Type': 'application/json',\r\n\t\t\t\t'Token': token,\r\n\t\t\t\t'UserId': loggedinUser\r\n\t \t}\r\n \t});\r\n\t }\r\n\t \r\n\t this.ApproveJob = function (data, token, loggedinUser, success, failure) {\r\n\t\t// var url = ApiURL + '/api/Ticket?reqUserId=' + $localStorage.loggedInUserId;\r\n\t\t// return $http.put(url, ticketmodel, {\r\n\t\t// headers: {\r\n\t\t// 'Content-Type': 'application/json'\r\n\t\t// }\r\n\t\t// });\r\n\t\tvar url = ApiURL + '/api/Ticket/updatestatus';\r\n\t\treturn $http.put(url, data, {\r\n\t\t headers: {\r\n\t\t\t'Content-Type': 'application/json',\r\n\t\t\t'Token': token, \r\n\t\t\t'UserId': loggedinUser\r\n\t\t }\r\n\t\t}).then(success, function (error) {\r\n\t\t failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n\t\t});\r\n\t }\r\n\r\n\t this.GetCompletionRemarkList = function(reqUserId, token, skill, callType )\r\n\t {\r\n\t\tvar url = ApiURL + '/api/TicketCompletionRemark/GetBySkillCallType?ReqUserId=' + reqUserId + '&Skill=' + skill + '&CallType=' + callType;\r\n\t\treturn $http.get(url, {\r\n\t\t headers: {\r\n\t\t\t'Content-Type': 'application/json', 'Token': token, 'UserId': reqUserId\r\n\t\t }\r\n\t\t});\r\n\t }\r\n\t\r\n\t // // https://perf.mymobiforce.com/coreapi/api/Hardware/GetUniqueSkillListByCategory?reqUserId=U360000000016&Category=Primary\r\n\t this.GetHardwareSkillList = function(userId, catogry, token){\r\n\t\tvar url = ApiURL + '/api/Hardware/GetUniqueSkillListByCategory?reqUserId='+ userId + '&Category=' + catogry\r\n\t\treturn $http.get(url,{headers:{'Content-Type':'application/json', 'Token': token, 'UserId': userId}});\r\n\t }\r\n\t\r\n\t // https://perf.mymobiforce.com/coreapi/api/Hardware/GetByFilter?reqUserId=U360000000016&fields=Category&values=Primary\r\n\t this.GetHardwareDetailByFields_ValueList = function(userId, fields, value, token){\r\n\t\tvar url = ApiURL + '/api/Hardware/GetByFilter?reqUserId='+ userId + '&fields=' + fields +'&values='+value\r\n\t\treturn $http.get(url,{headers:{'Content-Type':'application/json', 'Token': token, 'UserId': userId}});\r\n\t }\t\r\n\r\n\t// https://perf.mymobiforce.com/coreapi/api/Ticket/UpdateStatusInBulk?reqUserId=U360000000016\r\n\t this.markJobCompleted = function(loggedInUser,data,token){\r\n\t\t var url = ApiURL + '/api/Ticket/UpdateStatusInBulk?reqUserId='+loggedInUser;\r\n\t\t return $http.put(url,data,{headers:{'Content-Type': 'application/json','Token': token, 'UserId': loggedInUser}});\r\n\t }\r\n\r\n});\nangular.module('inspinia').controller('HelpDeskHomeAdminController', function(toaster, HelpDeskHomeAdminService, \r\n\t$state ,$localStorage, $scope, DTOptionsBuilder, DTColumnDefBuilder, PublicApiURL, $log, \r\n\tHelpDeskCustomerViewService, $uibModal, JobTicketViewService, $q, $timeout, ImageUrl) {\r\n\tvm = this;\r\n\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\t$scope.$parent.$parent.main.implementSelectItems('tickets', this);\r\n\t\tvar UserSubRegion = $localStorage.loggedInUser_Region;\r\n\t\tvar token = $localStorage.token;\r\n\t\tvar Role = $localStorage.loggedInUser_Role;\r\n\t\tvm.SlotAvailable = $localStorage.accountConfig.SlotAvailable;\r\n\t\tvar isData= false;\r\n\t\tvar approveModalInstance = {};\r\n\t\tvm.updateStatus = '';\r\n\t\tvm.showStatusFilter = true;\r\n\t\tvm.selectedReason = '';\r\n\t\tvm.ThirdReasonList = [];\r\n\t\tvm.SelectedThirdReasonList = [];\r\n\t\tvm.comments ='';\r\n\t\tvm.searchText = '';\r\n\t\tvm.canceler = {};\r\n\t\tvm.completeFlag = true;\r\n\t\tvm.followup = '';\r\n\t\tvm.SlotId ='';\r\n\t\tvm.HelpDeskRemarks='';\r\n\t\tvm.tickets=[];\r\n\t\tvm.Admintickets = [];\r\n\t\tvm.DateField=\"CreatedOn\";\r\n\t\tvm.TroubleshootTickets = [];\r\n\t\tvar creationDatefunc = $scope.$parent.$parent.main.AccountStartDate;\r\n \tvm.accountCreationDate = creationDatefunc();\r\n \tvm.followFiles = [];\r\n\t\t\r\n\t\tvm.searchUrl = PublicApiURL + '/api/CustomerJobCard/search?reqUserId='+loggedinUser+'&input=';\r\n\t\tif($localStorage.loggedInUser_SkillSet){\r\n\t\t\tvm.skills = $localStorage.loggedInUser_SkillSet.split(\",\");\r\n\t\t} else {\r\n\t\t\tvm.skills = [];\r\n\t\t}\r\n\r\n\t\tvm.showCompleteBtn = false;\r\n\t\tvm.RemarkCollection = [];\r\n\t\tvm.CompletionRemarkList = [];\r\n\t\tvm.SelectedCompletionRemarkList = [];\r\n\t\tvm.HWDetailList = [];\r\n\t\tvm.HardwareDetailList = [];\r\n\t\tvm.HWDetaileType = ['Primary', 'Secondary'];\r\n\t\tvm.Description = [];\r\n\t\tvm.SelectedHWDetailList = [];\r\n\t\tvm.HWSkillList = [];\r\n\t\tvm.TemplateData = {};\r\n\t\tvm.SuperVisorData = [];\r\n\r\n\t\tvm.templateName = {};\r\n\t\tvm.templateName[\"VSAT\"] = ['VSAT Troubleshooting'];\r\n\t\tvm.templateName[\"LeaseLine\"] = ['LeaseLine Troubleshooting'];\r\n\r\n\t\tvm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n\t\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\t\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\t\tvm.floatToInt = $scope.$parent.$parent.main.floatToInt;\r\n\t\tvm.confirmTagModal =$scope.$parent.$parent.main.confirmTagModal;\r\n\r\n\t\tvm.metrix = {\r\n\t\t\t\"TRBL\": {\r\n\t\t\t\t\"VSAT\": {\r\n\t\t\t\t\t\"New Jobs\":\"VSAT_TRBL_New_Jobs\",\r\n\t\t\t\t\t\"Total Jobs\":\"VSAT_TRBL_Total_Jobs\",\r\n\t\t\t\t\t\"Assigned Jobs\":\"VSAT_TRBL_Assigned_Jobs\",\r\n\t\t\t\t\t\"Completed Jobs\":\"VSAT_TRBL_Completed_Jobs\",\r\n\t\t\t\t\t\"Approved Jobs\":\"VSAT_TRBL_Approved_Jobs\",\r\n\t\t\t\t\t\"Rejected Jobs\":\"VSAT_TRBL_Rejected_Jobs\",\r\n\t\t\t\t\t\"Cancelled Jobs\":\"VSAT_TRBL_Cancelled_Jobs\",\r\n\t\t\t\t\t\"On Hold Jobs\":\"VSAT_TRBL_Hold_Jobs\",\r\n\t\t\t\t\t\"Open Jobs\":\"VSAT_TRBL_Open_Jobs\"\r\n\t\t\t\t},\r\n\t\t\t\t\"LeaseLine\": {\t\t\t\t\r\n\t\t\t\t\t\"New Jobs\":\"LEAS_TRBL_New_Jobs\",\r\n\t\t\t\t\t\"Total Jobs\":\"LEAS_TRBL_Total_Jobs\",\r\n\t\t\t\t\t\"Assigned Jobs\":\"LEAS_TRBL_Assigned_Jobs\",\r\n\t\t\t\t\t\"Completed Jobs\":\"LEAS_TRBL_Completed_Jobs\",\r\n\t\t\t\t\t\"Approved Jobs\":\"LEAS_TRBL_Approved_Jobs\",\r\n\t\t\t\t\t\"Rejected Jobs\":\"LEAS_TRBL_Rejected_Jobs\",\r\n\t\t\t\t\t\"Cancelled Jobs\":\"LEAS_TRBL_Cancelled_Jobs\",\r\n\t\t\t\t\t\"On Hold Jobs\":\"LEAS_TRBL_Hold_Jobs\",\r\n\t\t\t\t\t\"Open Jobs\":\"LEAS_TRBL_Open_Jobs\"\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"Field\":{\r\n\t\t\t\t\"VSAT\":{\r\n\t\t\t\t\t\"New Jobs\":\"VSAT_Field_New_Jobs\",\r\n\t\t\t\t\t\"Total Jobs\":\"VSAT_Field_Total_Jobs\",\r\n\t\t\t\t\t\"Assigned Jobs\":\"VSAT_Field_Assigned_Jobs\",\r\n\t\t\t\t\t\"Completed Jobs\":\"VSAT_Field_Completed_Jobs\",\r\n\t\t\t\t\t\"Approved Jobs\":\"VSAT_Field_Approved_Jobs\",\r\n\t\t\t\t\t\"Rejected Jobs\":\"VSAT_Field_Rejected_Jobs\",\r\n\t\t\t\t\t\"Cancelled Jobs\":\"VSAT_Field_Cancelled_Jobs\"\r\n\t\t\t\t},\r\n\t\t\t\t\"LeaseLine\":{\r\n\t\t\t\t\t\"New Jobs\":\"LEAS_Field_New_Jobs\",\r\n\t\t\t\t\t\"Total Jobs\":\"LEAS_Field_Total_Jobs\",\r\n\t\t\t\t\t\"Assigned Jobs\":\"LEAS_Field_Assigned_Jobs\",\r\n\t\t\t\t\t\"Completed Jobs\":\"LEAS_Field_Completed_Jobs\",\r\n\t\t\t\t\t\"Approved Jobs\":\"LEAS_Field_Approved_Jobs\",\r\n\t\t\t\t\t\"Rejected Jobs\":\"LEAS_Field_Rejected_Jobs\",\r\n\t\t\t\t\t\"Cancelled Jobs\":\"LEAS_Field_Cancelled_Jobs\"\r\n\t\t\t\t}\r\n\t\t\t},\"Admin\":{\r\n\t\t\t\t\"Pending\":{\r\n\t\t\t\t\t\"New Jobs\":\"helpdesk_new_jobs\",\r\n\t\t\t\t\t\"Total Jobs\":\"helpdesk_total_jobs\",\r\n\t\t\t\t\t\"Assigned Jobs\":\"helpdesk_Assigned_Jobs\",\r\n\t\t\t\t\t\"Completed Jobs\":\"helpdesk_completed_jobs\",\r\n\t\t\t\t\t\"On Hold Jobs\":\"helpdesk_onhold_jobs\",\r\n\t\t\t\t\t\"Open Jobs\":\"hekpdesk_Open_Jobs\"\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvar startDate = moment().subtract(7, 'day').format(\"YYYY-MM-DD\");\r\n\t\t//var startDate = vm.accountCreationDate;\r\n\t\t//var startDate = moment(0).format(\"YYYY-MM-DD\");\r\n\t\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\r\n\t\t// $scope.dates = { startDate: moment().subtract(7, 'day'), endDate: moment() };\r\n\t\t//$scope.dates = { startDate: moment(0), endDate: moment() };\r\n\t\t$scope.dates = { startDate: moment().subtract(7, 'day'), endDate: moment() };\r\n\t\t//$scope.dates = { startDate: vm.accountCreationDate, endDate: moment() };\r\n\t\t$scope.ranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t//'Yesterday': [moment().subtract(1, 'days'), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment().endOf('month')],\r\n\t\t\t'Till now': [vm.accountCreationDate, moment()]\r\n\t\t};\r\n\r\n\t\t$scope.dateRangeChange = function (ev, picker) {\r\n\t\t\t\r\n\t\t\t//console.log(ev, picker);\r\n\t\t\tvm.searchStatusText='All Job Status';\r\n\t\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\t\tvm.loadData();\r\n\t\t};\r\n\r\n\t\t//Follow Up Model\r\n\t \tvm.OpenFollowUpModel = function(ticketId) {\r\n\t \t\tvm.followup = '';\r\n\t \t\tvm.tickId = ticketId;\r\n\t \t\tFollowUpModel = $uibModal.open({\r\n\t \t\t\ttemplateUrl: 'FollowupJob.html',\r\n\t \t\t\tbackdrop: 'static',\r\n\t \t\t\tscope: $scope,\r\n\t\t\t \tcontroller: ModalInstanceCtrlFollowUp,\r\n\t\t\t \t// resolve : {\r\n\t\t\t \t// items : function(){\r\n\t\t\t \t// return {\r\n\t\t\t \t// TicketId:ticketId\r\n\t\t\t \t// };\r\n\t\t\t \t// }\r\n\t\t\t \t// },\r\n\t\t\t}); \r\n\t\t}\r\n\r\n\t\tvm.OpenApproveModal = function (currentJOb) {\r\n\t\t\tvm.CurrentJob = currentJOb;\r\n\t\t\tvm.RatingOfTicket = '';\r\n\t\t\tvm.aproveMessage = 'Please Rate !';\r\n\t\t\tapproveModalInstance = $uibModal.open({\r\n\t\t\t templateUrl: 'approve_model.html',\r\n\t\t\t scope: $scope\r\n\t\t\t});\r\n\t \r\n\t\t }\r\n\r\n\t\t vm.CloseModal = function () {\r\n\t\t\tapproveModalInstance.close();\r\n\t\t }\r\n\r\n\t\t vm.ApproveJob = function () {\r\n\t\t \tif(!vm.RatingOfTicket)\r\n\t\t \t{\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Please Rate.\");\r\n\t\t\t\treturn;\r\n\t\t \t}\r\n\t\t \tif(!vm.approvalRemark)\r\n\t\t \t{\r\n\t\t \t\tvm.showFailure(\"Failed\", \"Please comment on approval.\");\r\n\t\t \t\treturn;\r\n\t\t \t}\r\n\t\t\tif (vm.RatingOfTicket) {\r\n\t\t\t approveModalInstance.close();\r\n\t\t\t var data = {\r\n\t\t\t\t\"ReqUserId\": loggedinUser,\r\n\t\t\t\t\"TicketId\": vm.CurrentJob.TicketId,\r\n\t\t\t\t\"Status\": \"Approved\",\r\n\t\t\t\t\"TechnicianRating\": vm.RatingOfTicket.toString(),\r\n\t\t\t\t\"ApprovalRemark\": vm.approvalRemark.toString()\r\n\t\t\t };\r\n\t\t\t HelpDeskHomeAdminService.ApproveJob(data, token, loggedinUser, function (res) {\r\n\t\t\t\tvar itemNames = '';\r\n\t\t\t\tvar itemValues = '';\r\n\t\t\t\tif (res && res.status == 202) {\r\n\t\t\t\t vm.showSuccess(\"Success\", \"Job approved successfully.\")\r\n\t\t\t\t $timeout(function () {\r\n\t\t\t\t\tif (vm.searchStatusText == 'All Job Status' && vm.searchJobTypeText == 'All Job Types') {\r\n\t \r\n\t\t\t\t\t itemNames = '';\r\n\t\t\t\t\t itemValues = '';\r\n\t \r\n\t\t\t\t\t} else if (vm.searchJobTypeText != 'All Job Types' && vm.searchStatusText == 'All Job Status') {\r\n\t \r\n\t\t\t\t\t itemNames = 'SkillSet';\r\n\t\t\t\t\t itemValues = vm.searchJobTypeText;\r\n\t \r\n\t\t\t\t\t} else if (vm.searchStatusText != 'All Job Status' && vm.searchJobTypeText == 'All Job Types') {\r\n\t \r\n\t\t\t\t\t itemNames = 'TicketStatus';\r\n\t\t\t\t\t itemValues = vm.searchStatusText;\r\n\t\t\t\t\t} else if (vm.searchStatusText != 'All Job Status' && vm.searchJobTypeText != 'All Job Types') {\r\n\t\t\t\t\t itemNames = 'TicketStatus,SkillSet';\r\n\t\t\t\t\t itemValues = vm.searchStatusText + \",\" + vm.searchJobTypeText;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// vm.getAllJobTickets(supervisorId, startDate, endDate, itemNames, itemValues, templateItemNames, templateItemValues);\r\n\t\t\t\t\tvm.getAllTicketsBySkill('Completed','false');\r\n\t\t\t\t}, 1000);\r\n\t\t\t\t} else if (res && res.data && res.data.Message) {\r\n\t\t\t\t vm.showFailure(\"Failed\", res.data.Message);\r\n\t\t\t\t} else {\r\n\t\t\t\t vm.showFailure(\"Failed\", \"Unable to approve job. Server is not responding correctly.\");\r\n\t\t\t\t}\r\n\t\t\t }, vm.showFailure);\r\n\t\t\t} else {\r\n\t\t\t approveModalInstance.close();\r\n\t\t\t}\r\n\t\t }\r\n\r\n\t\t vm.isApprovalPermission = function (defaultValue) {\r\n\t\t\tif (vm.accountConfig && vm.accountConfig['ApprovalPermission'] != null) {\r\n\t\t\t return vm.accountConfig['ApprovalPermission'].split(\",\").indexOf($localStorage.loggedInUser_Role) > -1;\r\n\t\t\t}\r\n\t\t\treturn defaultValue;\r\n\t\t }\r\n\r\n\r\n\t\t$scope.attachFollowUp = function(files){\r\n var file = files.files[0];\r\n vm.followFiles = files.files;\r\n var allowedExtensions = /(\\.jpg|\\.jpeg|\\.png|\\.msg|\\.pdf|\\.bmp|\\.xps|\\.doc|\\.docs|\\.xls|\\.xlsx)$/i; \r\n if(!allowedExtensions.exec(file.name)){\r\n\t\tvm.followFiles = [];\r\n \tvm.clear(); \r\n \talert('Please upload file having extensions .jpg,.jpeg,.png,.msg,.pdf,.bmp,.xps only.');\r\n }\r\n }\r\n\r\n vm.clear = function () {\r\n angular.element(\"input[type='file']\").val(null);\r\n};\r\n\r\n\t\tvm.CloseFollowUpModel = function () {\r\n \t\tFollowUpModel.close();\r\n\t\t}\r\n\r\n\t\t\r\n\t\tvar ModalInstanceCtrlFollowUp = function($scope, $rootScope, $uibModalInstance) {\r\n\t\t\t\r\n\t\t\tvm.updateFollowUpStatus = function(){\r\n\t\t\t\tif(!vm.followup)\r\n\t\t\t\t{\r\n\t\t\t\t\talert('Please enter description');\t\t\t\t\t\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n \t\t\tvar data = {};\r\n \t\t\tdata = {\r\n\t \t \t\"userId\": loggedinUser,\r\n\t\t\t\t \t\"dateTime\": \"\",\r\n\t\t\t\t \t\"activity\": vm.followup,\r\n\t\t\t\t \t\"action\": \"FOLLOW_UP\",\r\n\t\t\t\t \t\"userName\": \"\",\r\n\t\t\t\t \t\"ticketId\": vm.tickId,\r\n\t\t\t\t \t\"primaryReason\": \"\",\r\n\t\t\t\t \t\"SecondryReason\": \"\",\r\n\t\t\t\t \t\"ReasonComment\": \"\"\r\n\t \t}\r\n \t\t// $log.log('Com',data);\r\n \t\t\tvm.CloseFollowUpModel();\r\n \t\t\tHelpDeskHomeAdminService.FollowUpWithAttachment(data, vm.followFiles, token, loggedinUser, function (res) {\r\n \t\t\tif (res && res.status == 201) {\r\n \t\t\t\tvm.showSuccess(\"Success\", \"Follow up done successfully.\");\r\n \t\t\t\t$timeout(function () {\r\n \t\t\t\t\tif (Role == 'Administrator') {\r\n \t\t\t\t\t\t$state.go(\"index.HelpDesk\", {\r\n \t\t\t\t\t\treload: true\r\n \t\t\t\t\t})\r\n \t\t\t\t\t}else{\r\n \t\t\t\t\t\t$state.go(\"index.HelpDesk\", {\r\n \t\t\t\t\t\treload: true\r\n \t\t\t\t\t})\r\n \t\t\t\t\t}\r\n \t\t\t\t\t}, 100);\r\n \t\t\t} else if (res && res.data && res.data.Message) {\r\n \t\t\t\tvm.showFailure(\"Failed\", res.data.Message);\r\n \t\t\t} else {\r\n \t\t\t\tvm.showFailure(\"Failed\", \"Unable to create follow up. Server is not responding correctly.\");\r\n \t\t\t}\r\n \t\t\t},vm.showFailure);\r\n \t\t}\r\n\t\t}\r\n \r\n \t\tvm.ReopenTicket = function(linkId,ticketId){\r\n \t\t\tif (linkId!=null || linkId !='') {\r\n \t\t\t\tvm.confirmTagModal(\"Do you want to Reopen Ticket-\"+linkId+\"?\",function(){\r\n \t\t\t\t\tvar data = {};\r\n\t\t\t\t\tdata = {\r\n\t\t\t\t\t \"ReqUserId\": loggedinUser,\r\n\t\t\t\t\t \"TicketId\": ticketId,\r\n\t\t\t\t\t \"Status\": \"New\",\r\n\t\t\t\t\t \"TechnicianRating\": '',\r\n\t\t\t\t\t \"CompletionRemark\": ''\r\n\t\t\t\t\t}\r\n\t\t\t\t\tHelpDeskHomeAdminService.ReopenTicket(data,token,loggedinUser,function(res){\r\n\t\t\t\t\t\tif (res && res.status == 202) {\r\n\t\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Ticket Reopen successfully\");\r\n\t\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t \t\t$state.reload();\r\n\t\t\t\t \t}, 2000);\r\n\t\t\t\t\t\t}else if (res && res.data && res.data.Message) {\r\n \t\t\t\t\tvm.showFailure(\"Failed\", res.data.Message);\r\n \t\t\t\t\t}else {\r\n \t\t\t\t\tvm.showFailure(\"Failed\", \"Unable to reopen ticket. Server is not responding correctly.\");\r\n \t\t\t\t}\r\n\t\t\t\t\t},vm.showFailure)\t\t\t\t \r\n \t\t\t\t})\t\r\n \t\t\t}\r\n \t\t}\r\n\r\n \t\tvm.getAllTickets = function(templateName){\r\n \t\t\tUserSubRegion = '';\r\n \t\t\tHelpDeskHomeAdminService.getAllTickets(loggedinUser, token, startDate, endDate, templateName, UserSubRegion, status,vm.completeFlag,vm.DateField, function(data) {\t\t\t\t\r\n\t\t\t\tif(!angular.equals(vm.tickets, data)){\r\n\t\t\t\t\tvm.tickets = data;\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t }\r\n\t\t var tempTicketList = [];\r\n\t\t vm.tempTicketList = [];\r\n\t\t vm.showCompleteButton = function(seletedJob){\r\n\t\t\t// if(seletedJob.checked){\r\n\t\t\t// \tvm.tempTicketList.push(seletedJob);\r\n\t\t\t// }\r\n\t\t\t /*if(seletedJob.TicketStatus == 'Resolved' || seletedJob.TicketStatus == 'Open' || seletedJob.TicketStatus == 'New' || seletedJob.TicketStatus == 'Assigned'){\r\n\t\t\t\tvm.showCompleteBtn = true;\r\n\t\t\t }else{\r\n\t\t\t\tvm.showCompleteBtn = false;\r\n\t\t\t }*/\r\n\t\t\t \r\n\t\t }\r\n\r\n\t\t //CompleteJob Model\r\n\t\t vm.OpencompleteModel = function () {\r\n\r\n\t\t\tfor( var j = 0; j < vm.tickets.length;j++){\r\n\t\t\t\tif(vm.tickets[j].checked == true){\r\n\t\t\t\t\ttempTicketList.push(vm.tickets[j]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif(tempTicketList.length > 0){\r\n\t\t\t\tvar callMethodFlag = true;\r\n\t\t\t\tvar callType = tempTicketList[0].SupervisorColumns.CallType;\r\n\t\t\t\tfor(var i = 1; i< tempTicketList.length; i++){\r\n\t\t\t\t\tif(tempTicketList[i].SupervisorColumns.CallType != callType)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvar callMethodFlag = false;\r\n\t\t\t\t\t\tvm.showFailure('Failed','Please Select Same CallType Jobs');\r\n\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif(callMethodFlag){\r\n\r\n\t\t\t\t\tvm.SelectedCompletionRemarkList = [];\r\n\t\t\t\t\tvar ele = {\r\n\t\t\t\t\t description:'',\r\n\t\t\t\t\t remark: '',\r\n\t\t\t\t\t SelectedHWDetailList : [],\r\n\t\t\t \r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.SelectedCompletionRemarkList.push(ele);\r\n\t\t\t\t vm.SelectedHWDetailList = [];\r\n\t\t\t\t\tvar temp = {\r\n\t\t\t\t\t \"Skill\": \"\",\r\n\t\t\t\t\t \"Code\": \"\",\r\n\t\t\t\t\t \"Name\": \"\",\r\n\t\t\t\t\t \"Description\": \"\",\r\n\t\t\t\t\t \"Category\": \"\",\r\n\t\t\t\t\t \"HardwareFrom\":\"\"\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// vm.SelectedHWDetailList.push(temp);\r\n\t\t\r\n\t\t\t\t\tvm.JobTypeForModal = tempTicketList[0].JobType;\r\n\t\t\t\t\tvm.CallTypeForModal = tempTicketList[0].SupervisorColumns.CallType;\r\n\t\t\t \r\n\t\t\t\t\tCompleteJobModal = $uibModal.open({\r\n\t\t\t\t\t templateUrl: 'CompleteJob.html',\r\n\t\t\t\t\t backdrop: 'static',\r\n\t\t\t\t\t windowClass: 'schedulerModal',\r\n\t\t\t\t\t scope: $scope,\r\n\t\t\t\t\t controller: ModalInstanceCtrlFollowUpComplete,\r\n\t\t\t\t\t \r\n\t\t\t\t\t});\r\n\t\t\t\t}else{\r\n\t\t\t\t\ttempTicketList = [];\r\n\t\t\t\t\tvm.ClearAllLocalData();\r\n\t\t\t\t}\r\n\t\t\t\t// vm.loadData();\r\n\t\t\t\t\r\n\t\t\t\t// vm.reloadData();\r\n\t\t\t}\r\n\t \r\n\t\t }\r\n\r\n\t\t vm.reloadData = function(){\r\n\t\t\t var resetPaging = true;\r\n\t\t\tvm.dtInstance.reloadData(callback,resetPaging);\r\n\t\t}\r\n\t\tfunction callback(json) {\r\n\t\t\tconsole.log(json);\r\n\t\t}\r\n\r\n\t\t vm.CloseCompleteJobModal = function () {\r\n\t\t\tvm.callTypeRemark = '';\r\n\t\t\tvm.completeremark = '';\r\n\t\t\tvm.completeremark1 = ''\r\n\t\t\tvm.CallTypeForModal = '';\r\n\t\t\tvm.JobTypeForModal = '';\r\n\t\t\tCompleteJobModal.close();\r\n\t\t\t// vm.reloadData();\r\n\t\t\t// vm.loadData()\r\n\t\t\tvm.ClearAllLocalData();\r\n\t\t }\r\n\r\n\t\t vm.GetCompletionRemarkList = function () {\r\n\t\t\tHelpDeskHomeAdminService.GetCompletionRemarkList(loggedinUser, token, vm.JobTypeForModal, vm.CallTypeForModal).then(function (res) {\r\n\t\t\t vm.RemarkCollection = res.data.RemarkCollectionList;\r\n\t\t\t vm.CompletionRemarkList = [];\r\n\t\t\t if(vm.RemarkCollection)\r\n\t\t\t {\r\n\t\t\t\tfor (var i = 0; i < vm.RemarkCollection.length; i++) {\r\n\t\t\t\t vm.CompletionRemarkList.push(vm.RemarkCollection[i].CompletionRemark);\r\n\t\t\t\t} \r\n\t\t\t } \r\n\t\t\t});\r\n\t\t }\r\n\r\n\t\t vm.getHWSkillList = function (detailType, parentIndex, index) {\r\n\t\t\tHelpDeskHomeAdminService.GetHardwareSkillList(loggedinUser, detailType, token).then(function (resp) {\r\n\t\t\t\tvm.SelectedCompletionRemarkList[parentIndex].SelectedHWDetailList[index].HWSkillList = resp.data;\r\n\t\t\t })\r\n\t\t }\r\n\r\n\t\t vm.getHWDetailBySkill_CategoryList = function (detailType, skill, parentIndex, index) {\r\n\t\t\tvar value = detailType + ',' + skill;\r\n\t\t\tvar fields = 'Category,Skill';\r\n\t\t\tHelpDeskHomeAdminService.GetHardwareDetailByFields_ValueList(loggedinUser, fields, value, token).then(function (resp) {\r\n\t\t\t vm.SelectedCompletionRemarkList[parentIndex].SelectedHWDetailList[index].HardwareDetailList = resp.data;\r\n\t\t\t});\r\n\t \r\n\t\t }\r\n\r\n\t\t vm.onselectEvent = function (name, parentIndex, index) {\r\n\t\t\tvar hwdetailslist = vm.SelectedCompletionRemarkList[parentIndex].SelectedHWDetailList[index].HardwareDetailList;\r\n\t\t\tfor(var i= 0; i0){\r\n\t\t\t\tHelpDeskHomeAdminService.markJobCompleted(loggedinUser,selectedJobList,token).then(function(resp){\r\n\t\t\t\t\tvm.CloseCompleteJobModal();\r\n\t\t\t\t\tif(resp && resp.status == '202'){\r\n\t\t\t\t\t\tvm.showSuccess('Success', 'You have successfully mark completed');\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tvm.showFailure('Failed','Server are not responding..');\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$timeout(function(){\r\n\t\t\t\t\t\t// $state.go(\"index.HelpDesk_Home\");\r\n\t\t\t\t\t\tvm.loadData();\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t\tvm.implementSelectItemsFVs('tickets', this);\r\n\t\t\t\t\tvm.SelectedCompletionRemarkList = '';\r\n\t\t\t\t})\r\n\t\t\t}else{\r\n\t\t\t\tvm.showFailure('Failed','Please selecte at least one job to mark');\r\n\t\t\t\t// vm.reloadData();\r\n\t\t\t\t$timeout(function(){\r\n\t\t\t\t\t// $state.go(\"index.HelpDesk_Home\");\r\n\t\t\t\t\tvm.loadData();\r\n\t\t\t\t}, 2000);\r\n\t\t\t\tvm.implementSelectItemsFVs('tickets', this);\r\n\t\t\t\tvm.SelectedCompletionRemarkList = '';\r\n\t\t\t}\r\n\t\t\t\r\n\t\t }\r\n\r\n\r\n\t\t vm.openUpdateStatusModel_Multiple = function(ticket) {\r\n\t\t\t\r\n\t\t\tvar tempTicketListUpdate = [];\r\n\t\t\tfor( var j = 0; j < vm.tickets.length;j++){\r\n\t\t\t\tif(vm.tickets[j].checked == true){\r\n\t\t\t\t\ttempTicketListUpdate.push(vm.tickets[j]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tvar callMethodFlag = true;\r\n\t\t\t\tvar callType = tempTicketListUpdate[0].Template;\r\n\t\t\t\tvar tStatus = tempTicketListUpdate[0].TicketStatus;\r\n\t\t\t\tfor(var i = 1; i< tempTicketListUpdate.length; i++){\r\n\t\t\t\t\tif(tempTicketListUpdate[i].Template != callType || tempTicketListUpdate[i].TicketStatus != tStatus )\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvar callMethodFlag = false;\r\n\t\t\t\t\t\tvm.showFailure('Failed','Please Select Same Template Jobs and Same Ticket Status');\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif(callMethodFlag){\r\n\t\t\t\t\tvm.selectedTemplate_Multiple = callType;\r\n\t\t\t\t\tvm.CurrentStatus_Multiple = tStatus;\r\n\t\t\t\t\t// vm.CurrentStatus = '';\r\n\t\t\t\t\tvm.statusModal = $uibModal.open({\r\n\t\t\t\t\t\ttemplateUrl: 'statusModal_Multiple.html',\r\n\t\t\t\t\t\tscope: $scope\r\n\t\t\t\t\t}); \r\n\r\n\t\t\t\t\tvm.GetAllPrimaryReasonBasedOnTemplate_Multiple();\r\n\r\n\t\t\t\t}else{\r\n\t\t\t\t\t// vm.loadData();\r\n\t\t\t\t\tvm.ClearAllLocalData();\r\n\t\t\t\t}\r\n\r\n\t\t\t\t\t// vm.selectedTicketId = ticket.TicketId;\r\n\t\t\t\t\t// vm.selectedTemplate = ticket.Template;\r\n\t\t\t\t\t// vm.updateStatus_Multiple = ticket.PrimaryReason;\r\n\t\t\t\t\t// vm.selectedReason_Multiple = ticket.SecondaryReason;\r\n\t\t\t\t\t// vm.ThirdReasonList = ticket.ThirdReasonList;\r\n\t\t\t\t\t// vm.CurrentStatus = ticket.TicketStatus;\r\n\t\t\t\t\t// vm.GetAllPrimaryReasonBasedOnTemplate();\r\n\t\t\t\t\t// if (vm.updateStatus_Multiple) {\r\n\t\t\t\t\t// \tvm.getSecondaryReason(vm.updateStatus_Multiple);\r\n\t\t\t\t\t// }\r\n\r\n\t\t}\r\n\r\n\t\tvm.CloseUpdateStatusModel_Multiple = function () {\r\n\t\t\tvm.statusModal.close();\r\n\t\t\tvm.ClearAllLocalData();\r\n\t\t}\r\n\r\n\t\tvm.ClearAllLocalData = function(){\r\n\t\t\tvm.tempTicketList = [];\r\n\t\t\tvm.selectedTemplate_Multiple = '';\r\n\t\t\tvm.CurrentStatus_Multiple = '';\r\n\t\t\tvm.updateStatus_Multiple = '';\r\n\t\t\tvm.selectedReason_Multiple = '';\r\n\t\t\tvm.SelectedThirdReasonList_Multiple = '';\r\n\t\t\tvm.comments_Multiple = '';\r\n\t\t\tvm.loadData();\r\n\t\t\tvm.implementSelectItemsFVs('tickets', this);\r\n\t\t}\r\n\r\n\t\tvm.updateTicketStatus_Multiple = function(primaryReason, secReason, comments){\r\n\t\t\t\r\n\t\t\tif (!comments) {\r\n\t\t\t\tcomments = secReason;\r\n\t\t\t}\r\n\t\t\tvar tempDataModel = [];\r\n\t\t\tvar tempTicketListUpdate = [];\r\n\t\t\tfor( var j = 0; j < vm.tickets.length;j++){\r\n\t\t\t\tif(vm.tickets[j].checked == true){\r\n\t\t\t\t\ttempTicketListUpdate.push(vm.tickets[j]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t if(tempTicketListUpdate.length > 0){\r\n\t\t\t\tfor(var i=0;i 0){\r\n\r\n\t\t\t\tHelpDeskHomeAdminService.updateTicketStatus_Multiple(token, loggedinUser, tempDataModel, function(data){\r\n\t\t\t\t\tvm.CloseUpdateStatusModel_Multiple();\r\n\t\t\t\t\tvm.showSuccess(\"Sucess\", \"Updated ticket status successfully.\");\r\n\t\t\t\t\tvm.statusModal.close();\r\n\t\t\t\t\t$timeout(function(){\r\n\t\t\t\t\t\t// $state.go(\"index.HelpDesk_Home\");\r\n\t\t\t\t\t\tvm.loadData();\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t}, vm.showFailure);\r\n\r\n\t\t\t }\r\n\t\t\t\r\n\t\t}\r\n\r\n\t\tvm.getSearchBox = function(){\r\n\t\t\tvm.searchBoxHtml = '
';\r\n\t\t}\r\n\t\tvm.getSearchBox();\r\n\r\n\t\tvm.searchCustomer = function(e){\r\n\t\t\tif(e && e.originalObject && e.originalObject.CustomerLocationId){\r\n\t\t\t\t$state.go('index.HelpDesk_Customer_View',{\r\n\t\t\t\t\tcust_loc_id:e.originalObject.CustomerLocationId,\r\n\t\t\t\t\tasst_name:e.originalObject.AssetName,\r\n\t\t\t\t\tasst_id:e.originalObject.AssetId,\r\n\t\t\t\t\treload:true\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\t\t\r\n\r\n\t\t// vm.GetForAdmin = function(templateName,template){\r\n\t\t// \tUserSubRegion = '';\r\n \t\t// \t\tHelpDeskHomeAdminService.getAllTickets(loggedinUser, token, startDate, endDate, templateName, UserSubRegion, status,vm.completeFlag, function(data) {\t\t\t\t\r\n\t\t// \t\tif(!angular.equals(vm.Admintickets[template], data)){\r\n\t\t// \t\t\tvm.Admintickets[template] = data;\t\t\t\t\r\n\t\t// \t\t}\r\n\t\t// \t}, vm.showFailure);\r\n\t\t// }\r\n\r\n\t\tvm.GetFirstTickets = function(){\r\n\r\n\t\t}\r\n\r\n\t\tvm.GetSecondTickets = function(callback){\r\n\r\n\t\t}\r\n\r\n\t\tvm.ConcatenateObjects = function(){\r\n\t\t\tvm.AdminTotalTickets = vm.vsatTickets.concat(vm.tickets);\r\n\t\t\t//angular.extend(vm.vsatTickets,vm.tickets);\r\n\t\t\t//console.log('vm.AdminTotalTickets',vm.AdminTotalTickets);\t\r\n\t\t}\r\n\r\n\t\tvm.getAllTickets = function(templateName,status){\r\n \t\t\tUserSubRegion = '';\r\n \t\t\tHelpDeskHomeAdminService.getAllTickets(loggedinUser, token, startDate, endDate, templateName, UserSubRegion, status,vm.completeFlag,vm.DateField, function(data) {\t\t\t\t\r\n\t\t\t\tif(!angular.equals(vm.tickets, data)){\r\n\t\t\t\t\tvm.tickets = data;\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n \t\t}\r\n\r\n \t\tvm.getAllTicketsWithCallBack = function(templateName,status,callback){\r\n \t\t\tUserSubRegion = '';\r\n \t\t\tvar newCallback = callback;\r\n \t\t\tHelpDeskHomeAdminService.getAllTickets(loggedinUser, token, startDate, endDate, templateName, UserSubRegion, status,vm.completeFlag,vm.DateField, function(data) {\t\t\t\t\r\n\t\t\t\tif(!angular.equals(vm.tickets, data)){\r\n\t\t\t\t\tvm.tickets = data;\r\n\t\t\t\t\tnewCallback();\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n \t\t}\r\n\r\n\t\tvm.loadMetrix = function(ticketType,skill){\r\n\t\t\tvm.jobcount = vm.jobcount || {};\r\n\t\t\tvm.ticketType = ticketType;\r\n\t\t\t//$log.log('vm.metrix',vm.metrix[ticketType][skill])\r\n\t\t\tangular.forEach(vm.metrix[ticketType][skill], function(m, displayName){\r\n\t\t\t\tHelpDeskCustomerViewService.getTicketCountsWithSkill(loggedinUser, token, m,\r\n\t\t\t\t\t'Range('+startDate+'|'+endDate+')', '', '',isData, function(d){\r\n\t\t\t\t\t\tif(d && d.Value){\r\n\t\t\t\t\t\t\tvm.jobcount[displayName] = d.Value;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tvm.jobcount[displayName] = 0;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.GetTicketByMetrics = function(status,flag){\r\n\t\t\tvm.completeFlag = flag;\r\n\t\t\tif (status == '') {\r\n\t\t\t\tvm.showStatusFilter = true;\r\n\t\t\t}else{\r\n\t\t\t\tvm.showStatusFilter = false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.getAllTicketsBySkill = function(status,flag){\r\n\t\t\tvm.completeFlag = flag;\r\n\t\t\tif (status == '') {\r\n\t\t\t\tvm.showStatusFilter = true;\r\n\t\t\t}else{\r\n\t\t\t\tvm.showStatusFilter = false;\r\n\t\t\t}\r\n\t\t\tif(vm.skills.length==1){\t\t\t\t\r\n\t\t\t\tif(vm.skills[0] == \"VSAT\"){\t\t\t\t\t\r\n\t\t\t\t\t vm.getAllTickets(\"VSAT Troubleshooting\",status);\t\r\n\t\t\t\t} else {\r\n\t\t\t\t\t vm.getAllTickets(\"LeaseLine Troubleshooting\",status);\r\n\t\t\t\t}\r\n\t\t\t}else {\t \r\n\t\t\t\tHelpDeskHomeAdminService.getAllTickets(loggedinUser, token, startDate, endDate, 'VSAT Troubleshooting', '', status,vm.completeFlag,vm.DateField, function(data) {\r\n\t\t\t\t\tvm.vsatTickets = data;\r\n\t\t\t\t\tvm.getAllTicketsWithCallBack(\"LeaseLine Troubleshooting\",status,function(){\r\n\t\t\t\t\t\tvm.ConcatenateObjects();\r\n\t\t\t\t\t});\r\n\t\t\t\t}, vm.showFailure);\r\n\t }\r\n\t\t}\r\n\r\n\t\tvm.loadData = function(){\r\n\t\t\t\r\n\t\t\tif(vm.DateField==\"CompletionDateObj\")\r\n\t\t\t{\r\n\t\t\t\tvm.getAllTicketsBySkill(\"Completed\",true);\r\n\t\t\t}else{\r\n\t\t\t\tvm.getAllTicketsBySkill(\"\",true);\r\n\t\t\t}\r\n\t\t\tif (vm.skills.length==1) {\r\n\t\t\t\tvm.loadMetrix(\"TRBL\",vm.skills[0]);\r\n\t\t\t}else{\r\n\t\t\t\tvm.loadMetrix(\"Admin\",'Pending');\t\r\n\t\t\t}\t\t\r\n\t\t\t// vm.getTicketCounts();\r\n\t\t}\r\n\t\tvm.loadData();\r\n\r\n\t\tvm.getJobAllStatus = function () {\r\n\t\t\tJobTicketViewService.getJobAllStatus(loggedinUser, token, function (data) {\r\n\t\t\t\tvm.statusList = data;\r\n\t\t\t\tvm.statusList.unshift({\"StatusName\":\"All Job Status\"});\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.getJobAllStatus();\r\n\r\n\t\tvm.dtInstance = {};\r\n\t\t//vm.dtInstance1 = {};\r\n\t\t//vm.dtInstance2 = {};\r\n\t\t//vm.dtInstance3 = {};\r\n\r\n\t\tvm.searchTable = function () {\r\n\t\t\t// vm.dtInstance.DataTable.search(vm.searchText).draw();\r\n\t\t\t// vm.dtInstance1.DataTable.search(vm.searchText).draw();\r\n\t\t\tvar s = \"\";\r\n\t\t\ts += vm.searchText.length > 0 ? \" \" + vm.searchText : \"\";\r\n\t\t\t// s += (vm.searchStatusText.length > 0 && vm.searchStatusText!='All Job Status') ? \" \" + vm.searchStatusText : \"\";\r\n\t\t\tvm.dtInstance.DataTable.search(s).draw();\r\n\t\t\t//vm.dtInstance1.DataTable.search(s).draw();\r\n\t\t\t//vm.dtInstance2.DataTable.search(s).draw();\r\n\t\t\t//vm.dtInstance3.DataTable.search(s).draw();\r\n\t\t};\r\n\r\n\t\tvm.searchTableByStatus = function () {\t\t\r\n\t\t\tvar s = \"\";\t\t\t\r\n\t\t\ts += (vm.searchStatusText.length > 0 && vm.searchStatusText!='All Job Status') ? vm.searchStatusText : \"\";\r\n\t\t\tvm.dtInstance.DataTable.search(s).draw();\t\t\t\r\n\t\t};\r\n\r\n\t\tformat = function(ticket){\r\n\t\t\tvar rowHtml = ''+\r\n\t\t\t''+\r\n\t\t\t''+\r\n\t\t\t''+\r\n\t\t\t'';\r\n\t\t\tif(ticket.TicketStatus==\"On Hold\"){\r\n\t\t\t\trowHtml+=''+\r\n\t\t\t\t''+\r\n\t\t\t\t''+\r\n\t\t\t\t'';\r\n\t\t\t}else if(ticket.TicketStatus == \"Completed\"){\r\n\t\t\t\trowHtml+=''+\r\n\t\t\t\t''+\r\n\t\t\t\t''+\r\n\t\t\t\t''\r\n\t\t\t}\r\n\t\t\trowHtml+='
Location:'+ticket.Address1+\", \"+ticket.Address2+\", \"+ticket.City+\", \"+ticket.Circle+\", Pincode: \"+parseInt(ticket.Pincode)+'
On Hold Reason:'+ticket.PrimaryReason+\" - \"+ticket.SecondaryReason+'
Completion Remarks:' + ticket.CompletionRemark+'
';\r\n\t\t\treturn rowHtml;\r\n\t\t}\r\n\r\n\t\tvm.showDetailCols = function(dtInstance, $event, ticket){\r\n\t\t\tvar tr = angular.element($event.currentTarget).closest(\"tr\");\r\n\t\t\tvar row = dtInstance.DataTable.row( tr );\r\n\t\t\tif ( row.child.isShown() ) {\r\n\t\t\t // This row is already open - close it\r\n\t\t\t row.child.hide();\r\n\t\t\t tr.removeClass('shown');\r\n\t\t\t} else {\r\n\t\t // Open this row\r\n\t\t row.child( format(ticket) ).show();\r\n\t\t tr.addClass('shown');\r\n\t\t }\r\n\t\t}\r\n\r\n\t\tvm.stateLoadCallback = function (settings) {\r\n\t\t\tvar state = JSON.parse(localStorage.getItem('DataTables_' + settings.sInstance));\r\n\t\t\tif (state) {\r\n\t\t\t\tstate.search = { search: \"\", smart: true, regex: false, caseInsensitive: true };\r\n\t\t\t\tif(state.columns && state.columns.length>0){\r\n\t\t\t\t\tstate.columns[11].visible=false;\r\n\t\t\t\t\tstate.columns[12].visible=false;\r\n\t\t\t\t\tstate.columns[15].visible=false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn state;\r\n\t\t}\r\n\r\n\t\tvm.stateSaveCallback = function (settings, data) {\r\n\t\t\tif(data.columns && data.columns.length>0){\r\n\t\t\t\t//$log.log('data',data.columns);\r\n\t\t\t\tvm.slaVis = data.columns[9].visible;\r\n\t\t\t\tvm.tatVis = data.columns[10].visible;\r\n\t\t\t}\r\n\t\t\tlocalStorage.setItem('DataTables_' + settings.sInstance, JSON.stringify(data))\r\n\t\t}\r\n\r\n\t\t//Update Resons\r\n\t\tvm.openUpdateStatusModel = function(ticket) {\r\n\t\t\tvm.CurrentStatus = '';\r\n\t\t\tvm.statusModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'statusModal.html',\r\n\t\t\t\tscope: $scope\r\n\t\t\t}); \r\n\t\t\tvm.selectedTicketId = ticket.TicketId;\r\n\t\t\tvm.selectedTemplate = ticket.Template;\r\n\t\t\tvm.updateStatus = ticket.PrimaryReason;\r\n\t\t\tvm.selectedReason = ticket.SecondaryReason;\r\n\t\t\tvm.ThirdReasonList = ticket.ThirdReasonList;\r\n\t\t\tvm.CurrentStatus = ticket.TicketStatus;\r\n\t\t\tvm.GetAllPrimaryReasonBasedOnTemplate();\r\n\t\t\tif (vm.updateStatus) {\r\n\t\t\t\tvm.getSecondaryReason(vm.updateStatus);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.CloseUpdateStatusModel = function () {\r\n\t\t\tvm.statusModal.close();\r\n\t\t}\r\n\r\n\t\tvm.GetAllPrimaryReasonBasedOnTemplate = function() {\t\r\n\t\t\tHelpDeskHomeAdminService.GetAllPrimaryReasonBasedOnTemplate(loggedinUser, vm.selectedTemplate,\r\n\t\t\ttoken, function(data){\r\n\t\t\t\tvm.TotalReasonList = data;\r\n\t\t\t\tvm.filterData();\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.GetAllPrimaryReasonBasedOnTemplate_Multiple = function() {\t\r\n\t\t\tHelpDeskHomeAdminService.GetAllPrimaryReasonBasedOnTemplate(loggedinUser, vm.selectedTemplate_Multiple,\r\n\t\t\ttoken, function(data){\r\n\t\t\t\tvm.TotalReasonList_Multiple = data;\r\n\t\t\t\tvm.filterData_Multiple();\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.filterData_Multiple = function(){\r\n\t\t\tvm.PrimaryReasonList_Multiple = [];\r\n\t\t\tfor(var i=0; ilTfgitp')\r\n\t\t.withButtons([{extend:'colvis'},{extend:'csv'}])\r\n\t\t.withOption('stateSave', true)\r\n .withOption('stateSaveCallback', function (settings, data) {\r\n localStorage.setItem('HelpDeskIndex' , JSON.stringify(data))\r\n })\r\n \t.withOption('stateLoadCallback', function (settings) {\r\n \t\tvar state = JSON.parse(localStorage.getItem('HelpDeskIndex'));\r\n \t\tif(state)\r\n \t\t{\r\n \t\t\t//state.search = { search: \"\", smart: true, regex: false, caseInsensitive: true };\r\n \t\t\tvm.searchText = state.search.search\r\n\t \tif(vm.IsSearch==true){\r\n\t \t\tstate.start =0;\r\n\t \t}\r\n \t}\r\n \treturn state;\r\n \t})\r\n\t\t.withPaginationType('full_numbers')\r\n\t\t.withOption('lengthChange', false)\r\n\t\t.withOption('order', [0, 'desc']);\r\n\r\n\t\tvm.dtColumnDefs = [\r\n\t\tDTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n\t\t//DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n\t\tDTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n\t\t// DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n\t\t// DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n\t\t// DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n\t\t// DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n\t\tDTColumnDefBuilder.newColumnDef(7).notSortable(),\r\n\t\t// DTColumnDefBuilder.newColumnDef(8).notSortable(),\r\n\t\tDTColumnDefBuilder.newColumnDef(9).notSortable(),\r\n\t\t// DTColumnDefBuilder.newColumnDef(10).notSortable(),\r\n\t\t// DTColumnDefBuilder.newColumnDef(11).notSortable(),\r\n\t\t// DTColumnDefBuilder.newColumnDef(12).notSortable(),\r\n\t\tDTColumnDefBuilder.newColumnDef(13).notSortable(),\r\n\t\tDTColumnDefBuilder.newColumnDef(14).notSortable(),\r\n\t\tDTColumnDefBuilder.newColumnDef(15).notSortable(),\r\n\t\tDTColumnDefBuilder.newColumnDef(16).notSortable(),\r\n\t\tDTColumnDefBuilder.newColumnDef(17),\r\n\t\tDTColumnDefBuilder.newColumnDef(18).notSortable(),\r\n\t\tDTColumnDefBuilder.newColumnDef(19).notSortable()\r\n\t\t];\r\n\r\n\t\tvm.OpenBillModal = function(ticketId){\r\n \t\tvm.BillDetails = [];\r\n \t\tvm.TotalExpense = '';\r\n \t\tHelpDeskHomeAdminService.getBillExpenseByTicketID(loggedinUser, ticketId, token).then(function(resp){\r\n\t \tif (resp && resp.data) {\r\n\t \t\tangular.forEach(resp.data, function(d){\r\n\t \t\tvm.BillDetails = d.Bills;\r\n\t \t\tvm.TotalExpense = d.ExpenseAmount;\r\n\t \t\t})\r\n\t \t}\r\n\t \tif(vm.TotalExpense!=0) {\r\n\t \t\tBillModal = $uibModal.open({\r\n\t \t\ttemplateUrl: 'bill_model.html',\r\n\t \t\tscope: $scope\r\n \t\t\t})\r\n\t \t}\r\n \t\t})\r\n \t}\r\n\r\n \tvm.CloseBillModal = function(){\r\n \t\tBillModal.close();\r\n \t}\r\n\r\n \tvm.getPicUrl = function (pic) {\r\n \t\treturn ImageUrl + '/' + pic;\r\n \t}\r\n\r\n \t $scope.today = function() {\r\n vm.sampleDate = new Date();\r\n };\r\n $scope.today();\r\n\r\n\t\tvm.editJobAppointment = function (ticket) {\r\n\t\t\tvm.AllBookingList ='';\r\n\t\t\t $scope.selected = null;\r\n\t\t\tvm.TicketInfoEdit = ticket;\r\n\r\n\t\t\t $scope.today();\r\n\t\t\t//$log.log(ticket);\r\n\t\t\tvm.jobAppointmentModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'editJobAppointment.html',\r\n\t\t\t\tsize :'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t\tHelpDeskCustomerViewService.getServiceGST(loggedinUser, ticket.SkillSet, token, function(data){\r\n\t\t\t\tvm.grossRate = data;\r\n\t\t\t\t//var nextday =1;\r\n\t\t\t\tvar dt = new Date();\r\n\t\t\t\t//dt =dt.setDate(dt.getDate() + nextday),\r\n\t\t\t\tif(vm.SlotAvailable == \"True\"){\r\n\t\t\t\t\tvm.selectDate(dt);\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t}, vm.showFailure)\r\n\t\t}\r\n\r\n\t\tvm.closeJobAppointment = function () {\r\n\t\t\tvm.jobAppointmentModal.close();\r\n\t\t}\r\n \r\n vm.selectDate = function(date){\r\n \t if(date!=undefined){\r\n \t \t$scope.selected = null;\r\n \t\t var date = moment(date).format(\"YYYY-MM-DD\");\r\n \t HelpDeskHomeAdminService.GetAvailableSlotsForBooking(loggedinUser,date,token).then(function(resp){\r\n if (resp && resp.status == 200 && resp.data) {\r\n vm.AllBookingList = resp.data;\r\n }\r\n }) \r\n \t}\r\n \r\n }\r\n $scope.selected = null;\r\n vm.SelectSlot = function(SlotId,index){\r\n \tvm.SlotId = SlotId;\r\n \t $scope.selected = index; \r\n\r\n }\r\n\r\n vm.SlotBooking = function() { \r\n var slotId = vm.SlotId;\r\n \r\n HelpDeskHomeAdminService.BookSlot(loggedinUser,slotId,token).then(function(resp){\r\n \r\n if (resp.status == 202 && resp.data) {\r\n vm.showSuccess(\"Success\",\"Appointment Slot Booked Successfully\");\r\n vm.jobAppointmentModal.close(); \r\n }else{\r\n vm.jobAppointmentModal.close(); \r\n }\r\n })\t\t\r\n\t\t}\r\n\r\n\r\n var someDate = new Date();\r\n var numberOfDaysToAdd = 5;\r\n var nextday = 1;\r\n $scope.options = {\r\n customClass: getDayClass,\r\n //minDate:someDate.setDate(someDate.getDate() + nextday),\r\n minDate: new Date(),\r\n maxDate:someDate.setDate(someDate.getDate() + numberOfDaysToAdd),\r\n showWeeks: false\r\n };\r\n\r\n // Disable weekend selection\r\n function disabled(data) {\r\n var date = data.date,\r\n mode = data.mode;\r\n return mode === 'day' && (date.getDay() === 0 || date.getDay() === 6);\r\n }\r\n\r\n\r\n\r\n var tomorrow = new Date();\r\n tomorrow.setDate(tomorrow.getDate() + 1);\r\n var afterTomorrow = new Date(tomorrow);\r\n afterTomorrow.setDate(tomorrow.getDate() + 1);\r\n $scope.events = [\r\n {\r\n date: tomorrow,\r\n status: 'full'\r\n },\r\n {\r\n date: afterTomorrow,\r\n status: 'partially'\r\n }\r\n ];\r\n\r\n function getDayClass(data) {\r\n var date = data.date,\r\n mode = data.mode;\r\n if (mode === 'day') {\r\n var dayToCheck = new Date(date).setHours(0,0,0,0);\r\n\r\n for (var i = 0; i < $scope.events.length; i++) {\r\n var currentDay = new Date($scope.events[i].date).setHours(0,0,0,0);\r\n\r\n if (dayToCheck === currentDay) {\r\n return $scope.events[i].status;\r\n }\r\n }\r\n }\r\n\r\n return '';\r\n }\r\n\r\n\r\n\t\t\r\n\r\n\t\tvm.createFieldTicket = function(ticket) { \r\n\t\t\t \r\n\r\n\t\t\tif(vm.SlotAvailable=='True'){\r\n\t\t\t\tif(vm.SlotId!=''){\r\n\t\t\t\t\tticket.Template = ticket.Template.indexOf(\"VSAT\")>=0?\"VSAT CCR\":\"LeaseLine CCR\";\r\n\t\t\t\t\tticket.JobDescription = ticket.Template;\r\n\t\t\t\t\tticket.TemplateModel = null;\r\n\t\t\t\t\tticket.MobiforceCommissionPercentage = vm.grossRate;\r\n\t\t\t\t\tticket.BroadcastGrossRate = ticket.BroadcastRate * (1+vm.grossRate/100);\r\n\t\t\t\t\tticket.LinkId = ticket.TicketId;\r\n\t\t\t\t\tticket.TicketId = null;\r\n\t\t\t\t\tticket.UniqueOne = ticket.VSATID;\r\n\t\t\t\t\tticket.UniqueTwo = ticket.VSATIP;\r\n\t\t\t\t\tticket.TicketStatus = 'New'\r\n\t\t\t\t\tticket.ConsumerContactNumber = ticket.ConsumerContact;\r\n\t\t\t\t\tticket.SlotId = vm.SlotId;\r\n\r\n\t\t\t\t\tHelpDeskCustomerViewService.createTicket(loggedinUser, ticket, token, function(data){\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Field ticket created successfully.\");\r\n\t\t\t\t\t\t$timeout(vm.loadData, 2000);\r\n\t\t\t\t\t}, vm.showFailure);\r\n\t\t\t\t\tvm.jobAppointmentModal.close();\r\n\t\t\t\t}else{\r\n\t\t\t\t\tvm.showFailure(\"Please select the time slot first\");\r\n\t\t\t\t}\r\n\t\t\t}else{\r\n\t\t\t\t\r\n\t\t\t\tvar startDT = ticket.StartTime?ticket.StartTime:'';\r\n\t\t\t\tvar EndDT = ticket.EndTime?ticket.EndTime:'';\r\n if(startDT=='' || EndDT ==''){\r\n \tvm.showFailure(\"Please Select the start Date and End date \");\r\n }else{\r\n \tvar sDate = moment(ticket.StartTime).format(\"DD-MM-YYYY HH:mm\");\r\n\t\t \tvar eDate = moment(ticket.EndTime).format(\"DD-MM-YYYY HH:mm\");\r\n\t\t \tif(sDate >= eDate){\r\n\t\t \t\tvm.showFailure(\"End Time should be greater than Start Time\");\r\n\t \t\t}else{\r\n\t\t\t\tvm.jobAppointmentForm.submitted = true;\r\n\t\t\t\t if(vm.jobAppointmentForm.$valid){\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tticket.Template = ticket.Template.indexOf(\"VSAT\")>=0?\"VSAT CCR\":\"LeaseLine CCR\";\r\n\t\t\t\t\t\t// ticket.JobDescription = ticket.Template;\r\n\t\t\t\t\t\tticket.JobDescription = ticket.HelpDeskRemarks;\r\n\t\t\t\t\t\tticket.TemplateModel = null;\r\n\t\t\t\t\t\tticket.MobiforceCommissionPercentage = vm.grossRate;\r\n\t\t\t\t\t\tticket.BroadcastGrossRate = ticket.BroadcastRate * (1+vm.grossRate/100);\r\n\t\t\t\t\t\tticket.LinkId = ticket.TicketId;\r\n\t\t\t\t\t\tticket.TicketId = null;\r\n\t\t\t\t\t\tticket.UniqueOne = ticket.VSATID;\r\n\t\t\t\t\t\tticket.UniqueTwo = ticket.VSATIP;\r\n\t\t\t\t\t\tticket.TicketStatus = 'New'\r\n\t\t\t\t\t\tticket.ConsumerContactNumber = ticket.ConsumerContact;\r\n\t\t\t\t\t\tticket.SlotId = vm.SlotId;\r\n\t\r\n\t\t\t\t\t\tHelpDeskCustomerViewService.createTicket(loggedinUser, ticket, token, function(data){\r\n\t\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Field ticket created successfully.\");\r\n\t\t\t\t\t\t\t$timeout(vm.loadData, 2000);\r\n\t\t\t\t\t\t}, vm.showFailure);\r\n\t\t\t\t\t\tvm.jobAppointmentModal.close();\r\n\t\t\t \t} else {\r\n\t\t\t\t\t//$log.log(\"invalid\", vm.jobAppointmentForm);\r\n\t\t \t}\r\n\t\t\t}\r\n\t\t\t\t\t }\r\n\t\t\t\t\t\t\t \r\n\t\t\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t}\r\n});\nangular.module('inspinia').service('HelpDeskHomeService',function($http, ApiURL, $log,ActivityURL){\r\n\t\r\n\tthis.getAllTickets = function(userId, token, fromDate, toDate, templateName, loc, status, completeFlag, success, failure, canceler){\r\n\t\tvar url = ApiURL + '/api/Ticket/'+userId+'/GetTicketsbyDateRangeForHelpDesk?fromDate='\r\n\t\t\t+fromDate+'&toDate='+toDate+'&templateName='+templateName+'&location='+loc+'&status='+status+'¬Completed=' +completeFlag;\r\n\t\t$http.get(url, {\r\n\t\t\ttimeout: canceler.promise,\r\n\t\t\theaders: {\r\n\t\t\t\t'Content-Type': 'application/json', 'Token': token, 'UserId': userId\r\n\t\t\t}\r\n\t\t}).then(function(res){\r\n\t\t\tif(res && res.data){\r\n\t\t\t\tsuccess(res.data);\r\n\t\t\t} else {\r\n\t\t\t\tfailure(\"Failed\", \"Unable to get tickets, technical error. Please contact to administrator.\");\r\n\t\t\t}\r\n\t\t}, function(err){\r\n\t\t\t//failure(\"Failed\", \"Unable to get tickets, technical error. Please contact to administrator.\");\r\n\t\t})\r\n\t}\r\n\r\n\t//https://test.mymobiforce.com/activityapi/api/Activity/CreateActivity\r\n\tthis.TicketFollowUp = function(data,token, loggedInUser,success,failure){\r\n\t\tvar url = ActivityURL + '/api/Activity/CreateActivity';\r\n\t\treturn $http.post(url,data,{\r\n\t\t\theaders:{'Content-Type':'application/json','Token':token, 'UserId': loggedInUser}\r\n\t\t}).then(success, function(error){\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n\t}\r\n\r\n\tthis.ReopenTicket = function (data, token,loggedInUser,success, failure) {\r\n var url = ApiURL + '/api/Ticket/updatestatus';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedInUser\r\n }\r\n }).then(success, function(error){\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n\t//https://test.mymobiforce.com/coreapi/api/TatRepository/GetByTemplateNameForSelf?reqUserId=U370000000001&TemplateName=VSAT%20Troubleshooting\r\n\tthis.GetAllPrimaryReasonBasedOnTemplate = function(loggedInUser, templateName, token, success, failure){\r\n\t\tvar url = ApiURL+'/api/TatRepository/GetByTemplateNameForSelf?reqUserId='+ loggedInUser + '&TemplateName='+ templateName;\r\n\t\t$http.get(url,{\r\n\t\t\theaders:{'Content-Type':'application/json','Token':token, 'UserId': loggedInUser}\r\n\t\t}).then(function(resp){\r\n\t\t\tif (resp.status == 200 && resp.data) {\r\n\t\t\t\tsuccess(resp.data);\r\n\t\t\t}else{\r\n\t\t\t\tfailure(\"Failed\", \"Unable to get status, technical error.\");\r\n\t\t\t}\r\n\t\t}, function(err){\r\n\t\t\tfailure(\"Failed\", \"Unable to get status, technical error\");\r\n\t\t})\r\n\t}\r\n\r\n\tthis.getSecondaryReason = function(token, loggedInUser, templateName, primaryReason, success, failure){\r\n\t\tvar url = ApiURL + \"/api/TatRepository/GetByTemplateNamePrimaryReasonForSelf?reqUserId=\" + loggedInUser\r\n\t\t+\"&TemplateName=\" + templateName + \"&PrimaryReason=\" + primaryReason;\r\n\t\t$http.get(url,{\r\n\t\t\theaders:{'Content-Type':'application/json','Token':token, 'UserId': loggedInUser}\r\n\t\t}).then(function(resp){\r\n\t\t\tif (resp.status == 200 && resp.data) {\r\n\t\t\t\tsuccess(resp.data);\r\n\t\t\t}else{\r\n\t\t\t\tfailure(\"Failed\", \"Unable to get reasons, technical error.\");\r\n\t\t\t}\r\n\t\t}, function(err){\r\n\t\t\tfailure(\"Failed\", \"Unable to get reasons, technical error\");\r\n\t\t})\r\n\t}\r\n\r\n\tthis.updateTicketStatus = function(token, loggedinUser, ticketId, primaryReason,\r\n\t\tsecReason, comments, success, failure){\r\n\t\tvar url = ApiURL + \"/api/Ticket/UpdateTicketReasonStatus\";\r\n\t\t$http.put(url, {\r\n\t\t\t\"ReqUserId\": loggedinUser,\r\n\t\t\t\"TicketId\": ticketId,\r\n\t\t\t\"PrimaryReason\": primaryReason,\r\n\t\t\t\"SecondaryReason\": secReason,\r\n\t\t\t\"ReasonComment\":comments\r\n\t\t}, {\r\n\t\t\theaders:{'Content-Type':'application/json','Token':token, 'UserId': loggedinUser}\r\n\t\t}).then(function(res){\r\n\t\t\tif (res.status == 202) {\r\n\t\t\t\tsuccess();\r\n\t\t\t}else{\r\n\t\t\t\tfailure(\"Failed\", \"Unable to update status, technical error.\");\r\n\t\t\t}\r\n\t\t}, function(err){\r\n\t\t\tfailure(\"Failed\", \"Unable to update status, technical error.\");\r\n\t\t})\r\n\t}\r\n\r\n\r\n\r\n\tthis.searchCustomer = function(loggedinUser,token){\r\n\t\tvar url = ApiURL + '/api/Customer/search?reqUserId='+loggedinUser+'&input=';\r\n\t\treturn $http.get(url,{\r\n\t\t\theaders:{'Content-Type':'application/json', 'Token':token, 'UserId': loggedinUser}\r\n\t\t})\r\n\t}\r\n\r\n});\nangular.module('inspinia').controller('HelpDeskHomeController', function(toaster, HelpDeskHomeService, \r\n\t$state ,$localStorage, $scope, DTOptionsBuilder, DTColumnDefBuilder, PublicApiURL, $log, \r\n\tHelpDeskCustomerViewService, $uibModal, JobTicketViewService, $q,$timeout) {\r\n\tvm = this;\r\n\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvar UserSubRegion = $localStorage.loggedInUser_Region;\r\n\t\tvar token = $localStorage.token;\r\n\t\tvar isData= false;\r\n\t\tvm.updateStatus = '';\r\n\t\tvm.showStatusFilter = true;\r\n\t\tvm.selectedReason = '';\r\n\t\tvm.comments ='';\r\n\t\tvm.searchText = '';\r\n\t\tvm.canceler = {};\r\n\t\tvm.completeFlag = true;\r\n\t\tvm.followup = '';\r\n\t\tvm.tickets=[];\r\n\t\tvm.TroubleshootTickets = [];\r\n\t\tvar creationDatefunc = $scope.$parent.$parent.main.AccountStartDate;\r\n \tvm.accountCreationDate = creationDatefunc();\r\n\r\n\t\tvm.searchUrl = PublicApiURL + '/api/CustomerJobCard/search?reqUserId='+loggedinUser+'&input=';\r\n\t\tif($localStorage.loggedInUser_SkillSet){\r\n\t\t\tvm.skills = $localStorage.loggedInUser_SkillSet.split(\",\");\r\n\t\t} else {\r\n\t\t\tvm.skills = [];\r\n\t\t}\r\n\r\n\t\tvm.templateName = {};\r\n\t\tvm.templateName[\"VSAT\"] = ['VSAT Troubleshooting'];\r\n\t\tvm.templateName[\"LeaseLine\"] = ['LeaseLine Troubleshooting'];\r\n\r\n\t\tvm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n\t\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\t\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\t\tvm.floatToInt = $scope.$parent.$parent.main.floatToInt;\r\n\t\tvm.confirmTagModal =$scope.$parent.$parent.main.confirmTagModal;\r\n\r\n\t\tvm.metrix = {\r\n\t\t\t\"TRBL\": {\r\n\t\t\t\t\"VSAT\": {\r\n\t\t\t\t\t\"New Jobs\":\"VSAT_TRBL_New_Jobs\",\r\n\t\t\t\t\t\"Total Jobs\":\"VSAT_TRBL_Total_Jobs\",\r\n\t\t\t\t\t\"Assigned Jobs\":\"VSAT_TRBL_Assigned_Jobs\",\r\n\t\t\t\t\t\"Completed Jobs\":\"VSAT_TRBL_Completed_Jobs\",\r\n\t\t\t\t\t\"Approved Jobs\":\"VSAT_TRBL_Approved_Jobs\",\r\n\t\t\t\t\t\"Rejected Jobs\":\"VSAT_TRBL_Rejected_Jobs\",\r\n\t\t\t\t\t\"Cancelled Jobs\":\"VSAT_TRBL_Cancelled_Jobs\",\r\n\t\t\t\t\t\"On Hold Jobs\":\"VSAT_TRBL_Hold_Jobs\",\r\n\t\t\t\t\t\"Open Jobs\":\"VSAT_TRBL_Open_Jobs\"\r\n\t\t\t\t},\r\n\t\t\t\t\"LeaseLine\": {\t\t\t\t\r\n\t\t\t\t\t\"New Jobs\":\"LEAS_TRBL_New_Jobs\",\r\n\t\t\t\t\t\"Total Jobs\":\"LEAS_TRBL_Total_Jobs\",\r\n\t\t\t\t\t\"Assigned Jobs\":\"LEAS_TRBL_Assigned_Jobs\",\r\n\t\t\t\t\t\"Completed Jobs\":\"LEAS_TRBL_Completed_Jobs\",\r\n\t\t\t\t\t\"Approved Jobs\":\"LEAS_TRBL_Approved_Jobs\",\r\n\t\t\t\t\t\"Rejected Jobs\":\"LEAS_TRBL_Rejected_Jobs\",\r\n\t\t\t\t\t\"Cancelled Jobs\":\"LEAS_TRBL_Cancelled_Jobs\",\r\n\t\t\t\t\t\"On Hold Jobs\":\"LEAS_TRBL_Hold_Jobs\",\r\n\t\t\t\t\t\"Open Jobs\":\"LEAS_TRBL_Open_Jobs\"\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"Field\":{\r\n\t\t\t\t\"VSAT\":{\r\n\t\t\t\t\t\"New Jobs\":\"VSAT_Field_New_Jobs\",\r\n\t\t\t\t\t\"Total Jobs\":\"VSAT_Field_Total_Jobs\",\r\n\t\t\t\t\t\"Assigned Jobs\":\"VSAT_Field_Assigned_Jobs\",\r\n\t\t\t\t\t\"Completed Jobs\":\"VSAT_Field_Completed_Jobs\",\r\n\t\t\t\t\t\"Approved Jobs\":\"VSAT_Field_Approved_Jobs\",\r\n\t\t\t\t\t\"Rejected Jobs\":\"VSAT_Field_Rejected_Jobs\",\r\n\t\t\t\t\t\"Cancelled Jobs\":\"VSAT_Field_Cancelled_Jobs\"\r\n\t\t\t\t},\r\n\t\t\t\t\"LeaseLine\":{\r\n\t\t\t\t\t\"New Jobs\":\"LEAS_Field_New_Jobs\",\r\n\t\t\t\t\t\"Total Jobs\":\"LEAS_Field_Total_Jobs\",\r\n\t\t\t\t\t\"Assigned Jobs\":\"LEAS_Field_Assigned_Jobs\",\r\n\t\t\t\t\t\"Completed Jobs\":\"LEAS_Field_Completed_Jobs\",\r\n\t\t\t\t\t\"Approved Jobs\":\"LEAS_Field_Approved_Jobs\",\r\n\t\t\t\t\t\"Rejected Jobs\":\"LEAS_Field_Rejected_Jobs\",\r\n\t\t\t\t\t\"Cancelled Jobs\":\"LEAS_Field_Cancelled_Jobs\"\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// var startDate = moment().subtract(7, 'day').format(\"YYYY-MM-DD\");\r\n\r\n\t\t var startDate = vm.accountCreationDate;\r\n\t\t//var startDate = moment(0).format(\"YYYY-MM-DD\");\r\n\t\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\r\n\t\t// $scope.dates = { startDate: moment().subtract(7, 'day'), endDate: moment() };\r\n\t\t//$scope.dates = { startDate: moment(0), endDate: moment() };\r\n\t\t$scope.dates = { startDate: vm.accountCreationDate, endDate: moment() };\r\n\t\t$scope.ranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment()],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment().endOf('month')],\r\n\t\t\t'Till now': [vm.accountCreationDate, moment()]\r\n\t\t};\r\n\r\n\t\t$scope.dateRangeChange = function (ev, picker) {\r\n\t\t\tconsole.log(ev, picker);\r\n\t\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\t\tvm.loadData();\r\n\t\t};\r\n\r\n////Follow Up Model\r\n vm.OpenFollowUpModel = function(ticketId) {\r\n vm.followup = '';\r\n vm.tickId = ticketId;\r\n FollowUpModel = $uibModal.open({\r\n templateUrl: 'FollowupJob.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n controller: ModalInstanceCtrlFollowUp,\r\n // resolve : {\r\n // items : function(){\r\n // return {\r\n // TicketId:ticketId\r\n // };\r\n // }\r\n // },\r\n}); \r\n}\r\nvm.CloseFollowUpModel = function () {\r\n FollowUpModel.close();\r\n}\r\n\r\nvar ModalInstanceCtrlFollowUp = function($scope, $rootScope, $uibModalInstance) {\r\n\r\n vm.updateFollowUpStatus = function(){\r\n var data = {};\r\n data = {\r\n\r\n \t \"userId\": loggedinUser,\r\n\t\t\t \"dateTime\": \"\",\r\n\t\t\t \"activity\": vm.followup,\r\n\t\t\t \"action\": \"FOLLOW_UP\",\r\n\t\t\t \"userName\": \"\",\r\n\t\t\t \"ticketId\": vm.tickId,\r\n\t\t\t \"primaryReason\": \"\",\r\n\t\t\t \"SecondryReason\": \"\",\r\n\t\t\t \"ReasonComment\": \"\"\r\n }\r\n\r\n // $log.log('Com',data);\r\n vm.CloseFollowUpModel();\r\n HelpDeskHomeService.TicketFollowUp(data, token, loggedinUser, function (res) {\r\n if (res && res.status == 201) {\r\n vm.showSuccess(\"Success\", \"Follow up done successfully.\");\r\n $timeout(function () {\r\n $state.go(\"index.HelpDesk_Home\", {\r\n reload: true\r\n })}, 100);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to create follow up. Server is not responding correctly.\");\r\n }\r\n },vm.showFailure);\r\n }\r\n}\r\n\r\n\r\n \r\n\r\n \t\tvm.ReopenTicket = function(linkId,ticketId){\r\n \t\t\tif (linkId!=null || linkId !='') {\r\n \t\t\t\tvm.confirmTagModal(\"Do you want to Reopen Ticket-\"+linkId+\"?\",function(){\r\n \t\t\t\t\tvar data = {};\r\n\t\t\t\t\t data = {\r\n\t\t\t\t\t \"ReqUserId\": loggedinUser,\r\n\t\t\t\t\t \"TicketId\": ticketId,\r\n\t\t\t\t\t \"Status\": \"New\",\r\n\t\t\t\t\t \"TechnicianRating\": '',\r\n\t\t\t\t\t \"CompletionRemark\": ''\r\n\t\t\t\t\t }\r\n\r\n\t\t\t\t\t\tHelpDeskHomeService.ReopenTicket(data,token,loggedinUser,function(res){\r\n\t\t\t\t\t\t\tif (res && res.status == 202) {\r\n\t\t\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Ticket Reopen successfully\");\r\n\t\t\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t \t\t$state.reload();\r\n\t\t\t\t\t \t\t}, 2000);\r\n\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t}else if (res && res.data && res.data.Message) {\r\n\t\t\t\t\t vm.showFailure(\"Failed\", res.data.Message);\r\n\t\t\t\t\t }else {\r\n\t\t\t\t\t vm.showFailure(\"Failed\", \"Unable to reopen ticket. Server is not responding correctly.\");\r\n\t\t\t\t\t }\r\n\t\t\t\t\t\t},vm.showFailure)\t\t\t\t \r\n\t\t\t\t\t \t\t\t\t})\t\r\n\t\t\t\t\t \t\t\t}\r\n \t\t\t\t\r\n \t\t}\r\n\r\n\r\n\r\n\t\tvm.getAllTickets = function(templateName, ticketType, status,sk){\r\n\t\t\t// console.log('vm.canceler',vm.canceler);\r\n\t\t\tif(vm.canceler[ticketType+sk]){\r\n\t\t\t\tvm.canceler[ticketType+sk].resolve();\r\n\t\t\t}\r\n\r\n\t\t\tvm.canceler[ticketType+sk] = $q.defer();\t\t\t\r\n\t\t\tUserSubRegion = '';\r\n\t\t\tHelpDeskHomeService.getAllTickets(loggedinUser, token, startDate, endDate, templateName, UserSubRegion, status,vm.completeFlag, function(data) {\t\t\t\t\r\n\t\t\t\tif(!angular.equals(vm.tickets[ticketType], data)){\r\n\t\t\t\t\tvm.tickets[ticketType] = data;\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure, vm.canceler[ticketType+sk]);\r\n\t\t\t//vm.DiffTickets();\r\n\t\t}\r\n\r\n\t\t// vm.DiffTickets = function(){\r\n\t\t// if (vm.tickets.length>0) {\r\n\t\t// \tfor(var i=0; i0; i++){\r\n\t\t// \t\tif (vm.tickets[i].Template == 'LeaseLine Troubleshooting' || vm.tickets[i].Template == 'VSAT Troubleshooting') {\r\n\t\t// \t\t\t\tvm.TroubleshootTickets.push(vm.tickets[i]);\t\r\n\t\t// \t\t}\r\n\t\t\t\t\r\n\t\t// \t}\r\n\t\t// \t$log.log('vm.TroubleshootTickets',vm.TroubleshootTickets);\r\n\t\t// }\r\n\t\t// }\r\n\r\n\t\tvm.getSearchBox = function(){\r\n\t\t\tvm.searchBoxHtml = '
';\r\n\t\t}\r\n\t\tvm.getSearchBox();\r\n\r\n\t\tvm.searchCustomer = function(e){\r\n\t\t\tif(e && e.originalObject && e.originalObject.CustomerLocationId){\r\n\t\t\t\t$state.go('index.HelpDesk_Customer_View',{\r\n\t\t\t\t\tcust_loc_id:e.originalObject.CustomerLocationId,\r\n\t\t\t\t\treload:true\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\t\t\r\n\r\n\t\t// vm.getTicketCounts = function(){\r\n\t\t// \tvm.jobcount = {};\r\n\t\t// \tHelpDeskCustomerViewService.getTicketCounts(loggedinUser, token, 'Range('+startDate+'|'+endDate+')', '', '', function(data){\r\n\t\t// \t\tif(data && data.length>0){\r\n\t\t// \t\t\tangular.forEach(data, function(d){\r\n\t\t// \t\t\t\tvm.jobcount[d.DisplayName] = d.Value;\r\n\t\t// \t\t\t});\r\n\t\t// \t\t}\r\n\t\t// \t}, vm.showFailure)\r\n\t\t// }\r\n\r\n\t\tvm.loadMetrix = function(ticketType,skill){\r\n\t\t\tvm.jobcount = vm.jobcount || {};\r\n\t\t\tvm.ticketType = ticketType;\r\n\t\t\t//$log.log('vm.metrix',vm.metrix[ticketType][skill])\r\n\t\t\tangular.forEach(vm.metrix[ticketType][skill], function(m, displayName){\r\n\t\t\t\tHelpDeskCustomerViewService.getTicketCountsWithSkill(loggedinUser, token, m,\r\n\t\t\t\t\t'Range('+startDate+'|'+endDate+')', '', '',isData, function(d){\r\n\t\t\t\t\t\tif(d && d.Value){\r\n\t\t\t\t\t\t\tvm.jobcount[displayName] = d.Value;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tvm.jobcount[displayName] = 0;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}, vm.showFailure);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.getAllTicketsBySkill = function(status,flag){\r\n\t\t\tvm.completeFlag = flag;\r\n\t\t\tif (status == '') {\r\n\t\t\t\tvm.showStatusFilter = true;\r\n\t\t\t}else{\r\n\t\t\t\tvm.showStatusFilter = false;\r\n\t\t\t}\r\n\t\t\tif(vm.skills.length==1){\t\t\t\t\r\n\t\t\t\tif(vm.skills[0] == \"VSAT\"){\r\n\t\t\t\t\tvm.getAllTickets(\"VSAT Troubleshooting\", \"TroubleshootingTicket\", status,\"vhelpdesk\");\r\n\t\t\t\t\tvm.getAllTickets(\"VSAT CCR\", \"FieldTicket\", status,\"vfield\");\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvm.getAllTickets(\"LeaseLine Troubleshooting\", \"TroubleshootingTicket\", status,\"lhelpdesk\");\r\n\t\t\t\t\tvm.getAllTickets(\"LeaseLine CCR\", \"FieldTicket\", status,\"lfield\");\r\n\t\t\t\t}\r\n\t\t\t}else {\r\n\t\t\t\tvm.getAllTickets(\"VSAT Troubleshooting\", \"TroubleshootingTicket\", status,\"vhelpdesk\");\r\n\t\t\t\tvm.getAllTickets(\"VSAT CCR\", \"FieldTicket\", status,\"vfield\");\r\n\t\t\t\tvm.getAllTickets(\"LeaseLine Troubleshooting\", \"TroubleshootingTicket1\", status,\"lhelpdesk\");\r\n\t\t\t\tvm.getAllTickets(\"LeaseLine CCR\", \"FieldTicket1\", status,\"lfield\");\r\n\t\t\t\t\r\n\r\n\t }\t\t\t\r\n\r\n\t\t}\r\n\r\n\t\tvm.loadData = function(){\r\n\t\t\tvm.getAllTicketsBySkill(\"\",true);\r\n\t\t\tvm.loadMetrix(\"TRBL\",vm.skills[0]);\t\t\r\n\t\t\t// vm.getTicketCounts();\r\n\t\t}\r\n\t\tvm.loadData();\r\n\r\n\t\tvm.getJobAllStatus = function () {\r\n\t\t\tJobTicketViewService.getJobAllStatus(loggedinUser, token, function (data) {\r\n\t\t\t\tvm.statusList = data;\r\n\t\t\t\tvm.statusList.unshift({\"StatusName\":\"All Job Status\"});\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.getJobAllStatus();\r\n\r\n\t\tvm.dtInstance = {};\r\n\t\tvm.dtInstance1 = {};\r\n\t\tvm.dtInstance2 = {};\r\n\t\tvm.dtInstance3 = {};\r\n\r\n\t\tvm.searchTable = function () {\r\n\t\t\t// vm.dtInstance.DataTable.search(vm.searchText).draw();\r\n\t\t\t// vm.dtInstance1.DataTable.search(vm.searchText).draw();\r\n\r\n\t\t\tvar s = \"\";\r\n\t\t\ts += vm.searchText.length > 0 ? \" \" + vm.searchText : \"\";\r\n\t\t\ts += (vm.searchStatusText.length > 0 && vm.searchStatusText!='All Job Status') ? \" \" + vm.searchStatusText : \"\";\r\n\t\t\tvm.dtInstance.DataTable.search(s).draw();\r\n\t\t\tvm.dtInstance1.DataTable.search(s).draw();\r\n\t\t\tvm.dtInstance2.DataTable.search(s).draw();\r\n\t\t\tvm.dtInstance3.DataTable.search(s).draw();\r\n\t\t};\r\n\r\n\t\tformat = function(ticket){\r\n\t\t\tvar rowHtml = ''+\r\n\t\t\t''+\r\n\t\t\t''+\r\n\t\t\t''+\r\n\t\t\t'';\r\n\t\t\tif(ticket.TicketStatus==\"On Hold\"){\r\n\t\t\t\trowHtml+=''+\r\n\t\t\t\t''+\r\n\t\t\t\t''+\r\n\t\t\t\t'';\r\n\t\t\t}else if(ticket.TicketStatus == \"Completed\"){\r\n\t\t\t\trowHtml+=''+\r\n\t\t\t\t''+\r\n\t\t\t\t''+\r\n\t\t\t\t''\r\n\t\t\t}\r\n\t\t\trowHtml+='
Location:'+ticket.Address1+\", \"+ticket.Address2+\", \"+ticket.City+\", \"+ticket.Circle+\", Pincode: \"+parseInt(ticket.Pincode)+'
On Hold Reason:'+ticket.PrimaryReason+\" - \"+ticket.SecondaryReason+'
Completion Remarks:' + ticket.CompletionRemark+'
';\r\n\t\t\treturn rowHtml;\r\n\t\t}\r\n\r\n\t\tvm.showDetailCols = function(dtInstance, $event, ticket){\r\n\t\t\tvar tr = angular.element($event.currentTarget).closest(\"tr\");\r\n\t\t\tvar row = dtInstance.DataTable.row( tr );\r\n\t\t\tif ( row.child.isShown() ) {\r\n\t\t\t // This row is already open - close it\r\n\t\t\t row.child.hide();\r\n\t\t\t tr.removeClass('shown');\r\n\t\t\t} else {\r\n\t\t // Open this row\r\n\t\t row.child( format(ticket) ).show();\r\n\t\t tr.addClass('shown');\r\n\t\t }\r\n\t\t}\r\n\r\n\t\tvm.stateLoadCallback = function (settings) {\r\n\t\t\tvar state = JSON.parse(localStorage.getItem('DataTables_' + settings.sInstance));\r\n\t\t\tif (state) {\r\n\t\t\t\tstate.search = { search: \"\", smart: true, regex: false, caseInsensitive: true };\r\n\t\t\t\tif(state.columns && state.columns.length>0){\r\n\t\t\t\t\tstate.columns[9].visible=false;\r\n\t\t\t\t\tstate.columns[12].visible=false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn state;\r\n\t\t}\r\n\r\n\t\tvm.stateSaveCallback = function (settings, data) {\r\n\t\t\tif(data.columns && data.columns.length>0){\r\n\t\t\t\t//$log.log('data',data.columns);\r\n\t\t\t\tvm.slaVis = data.columns[9].visible;\r\n\t\t\t\tvm.tatVis = data.columns[10].visible;\r\n\t\t\t}\r\n\r\n\t\t\tlocalStorage.setItem('DataTables_' + settings.sInstance, JSON.stringify(data))\r\n\t\t}\r\n\r\n\t\t//Update Resons\r\n\t\tvm.openUpdateStatusModel = function(ticket) {\r\n\t\t\tvm.statusModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'statusModal.html',\r\n\t\t\t\tscope: $scope\r\n\t\t\t}); \r\n\t\t\tvm.selectedTicketId = ticket.TicketId;\r\n\t\t\tvm.selectedTemplate = ticket.Template;\r\n\t\t\tvm.updateStatus = ticket.PrimaryReason;\r\n\t\t\tvm.selectedReason = ticket.SecondaryReason;\r\n\t\t\tvm.GetAllPrimaryReasonBasedOnTemplate();\r\n\t\t\tvm.getSecondaryReason(vm.updateStatus);\r\n\t\t}\r\n\t\tvm.CloseUpdateStatusModel = function () {\r\n\t\t\tvm.statusModal.close();\r\n\t\t}\r\n\t\tvm.GetAllPrimaryReasonBasedOnTemplate = function() {\r\n\t\t\t\r\n\t\t\tHelpDeskHomeService.GetAllPrimaryReasonBasedOnTemplate(loggedinUser, vm.selectedTemplate,\r\n\t\t\t\ttoken, function(data){\r\n\t\t\t\t\tvm.TotalReasonList = data;\r\n\t\t\t\t\tvm.filterData();\r\n\t\t\t\t}, vm.showFailure);\r\n\r\n\r\n\t\t}\r\n\r\n\t\tvm.filterData = function(){\r\n\t\t\tvm.PrimaryReasonList = [];\r\n\t\t\tfor(var i=0; ilTfgitp')\r\n\t\t.withButtons([{extend:'colvis'},{extend:'csv'}])\r\n\t\t.withOption('stateSave', true)\r\n\t\t.withOption('stateSaveCallback', vm.stateSaveCallback)\r\n\t\t.withOption('stateLoadCallback', vm.stateLoadCallback)\r\n\t\t.withPaginationType('full_numbers')\r\n\t\t.withOption('lengthChange', false)\r\n\t\t.withOption('order', [0, 'desc']);\r\n\r\n\t\tvm.dtColumnDefs = [\r\n\t\tDTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n\t\t//DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n\t\tDTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n\t\t//DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n\t\t// DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n\t\t// DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n\t\t//DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n\t\tDTColumnDefBuilder.newColumnDef(7).notSortable(),\r\n\t\t// DTColumnDefBuilder.newColumnDef(8).notSortable(),\r\n\t\tDTColumnDefBuilder.newColumnDef(9).notSortable()\r\n\t\t// DTColumnDefBuilder.newColumnDef(10).notSortable()\r\n\t\t// DTColumnDefBuilder.newColumnDef(11).notSortable()\r\n\t\t// DTColumnDefBuilder.newColumnDef(12).notSortable()\r\n\t\t// DTColumnDefBuilder.newColumnDef(13).notSortable()\r\n\t\t];\r\n\r\n\t\tvm.editJobAppointment = function (ticket) {\r\n\t\t\tvm.TicketInfoEdit = ticket;\r\n\t\t\t//$log.log(ticket);\r\n\t\t\tvm.jobAppointmentModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'editJobAppointment.html',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t\tHelpDeskCustomerViewService.getServiceGST(loggedinUser, ticket.SkillSet, token, function(data){\r\n\t\t\t\tvm.grossRate = data;\r\n\t\t\t}, vm.showFailure)\r\n\t\t}\r\n\r\n\t\tvm.closeJobAppointment = function () {\r\n\t\t\tvm.jobAppointmentModal.close();\r\n\t\t}\r\n\r\n\t\tvm.createFieldTicket = function(ticket) {\r\n\t\t\tvm.jobAppointmentForm.submitted = true;\r\n\t\t\tif(vm.jobAppointmentForm.$valid){\r\n\t\t\t\tticket.Template = ticket.Template.indexOf(\"VSAT\")>=0?\"VSAT CCR\":\"LeaseLine CCR\";\r\n\t\t\t\tticket.JobDescription = ticket.Template;\r\n\t\t\t\tticket.TemplateModel = null;\r\n\t\t\t\tticket.MobiforceCommissionPercentage = vm.grossRate;\r\n\t\t\t\tticket.BroadcastGrossRate = ticket.BroadcastRate * (1+vm.grossRate/100);\r\n\t\t\t\tticket.LinkId = ticket.TicketId;\r\n\t\t\t\tticket.TicketId = null;\r\n\t\t\t\tticket.UniqueOne = ticket.VSATID;\r\n\t\t\t\tticket.UniqueTwo = ticket.VSATIP;\r\n\t\t\t\tticket.TicketStatus = 'New'\r\n\t\t\t\tticket.ConsumerContactNumber = ticket.ConsumerContact;\r\n\t\t\t\t//$log.log(ticket);\r\n\t\t\t\tHelpDeskCustomerViewService.createTicket(loggedinUser, ticket, token, function(data){\r\n\t\t\t\t\tvm.showSuccess(\"Sucess\", \"Field ticket created successfully.\");\r\n\t\t\t\t\t$timeout(vm.loadData, 2000);\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t\t\tvm.jobAppointmentModal.close();\r\n\t\t\t} else {\r\n\t\t\t\t//$log.log(\"invalid\", vm.jobAppointmentForm);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\nangular.module('inspinia').service('HealthAndSafetyService', function (ApiURL, LocationURL,PublicApiURL, $log, $http,$localStorage) {\r\n var url = ApiURL + '/api/User';\r\n \r\n\r\n this.GetAllSafetyGuidelineDocsForPortal = function (loggedinUser, token){\r\n var url = ApiURL + '/api/User/GetAllSafetyGuidelineDocsForPortal';\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token, 'UserId':loggedinUser}\r\n });\r\n } \r\n});\r\n\nangular.module('inspinia').controller('HealthAndSafetyController', function (HealthAndSafetyService,MainService, $uibModal,toaster, $filter, PublicApiURL, $window, $log, $q, $compile, DTOptionsBuilder, DTColumnBuilder, $localStorage, ticketTemplateService, $scope, $state, FreelancerURL, ApiURL, $timeout) {\r\n\tvm = this;\r\n\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\tvm.SafetyGuidelineLists=[];\t\r\n\tvm.pdfimage=\"\";\r\n\tvm.GetAllSafetyGuidelineDocsForPortal = function () {\t\t\t\r\n\t\tHealthAndSafetyService.GetAllSafetyGuidelineDocsForPortal(loggedinUser, token).then(function (resp) {\r\n\t\t\tvm.SafetyGuidelineLists = resp.data;\t\t\t\t\t\t\t\r\n\t\t});\r\n\t}\r\n\tvm.GetAllSafetyGuidelineDocsForPortal();\t\r\n\r\n\tvm.DocumentAvailableMessage=\"\";\r\n\tvm.PDFView = function (page) {\r\n\tvm.pdfimage =\"\";\r\n\tvm.IsLoadSucessfull=false;\t\r\n\t\tMainService.GetHealthSafetyGuidelines(loggedinUser, token, page).then(function(resp) {\t\r\n\t\t\tif(resp.data !=null){\r\n\t\t\t\tvar arrrayBuffer = base64ToArrayBuffer(resp.data); //data is the base64 encoded string\r\n\t\t\t\tvar blob = new Blob([arrrayBuffer], {type: \"application/pdf\"});\r\n\t\t\t\tvm.pdfimage = URL.createObjectURL(blob);\t\t\t\t\r\n\t\t\t\tvm.IsLoadSucessfull=true;\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tvm.DocumentAvailableMessage=\"Document is not available\";\r\n\t\t\t\tvm.IsLoadSucessfull=true;\r\n\t\t\t}\t\r\n\t\t\r\n\t\t});\r\n\t\t\t$scope.selected = null;\r\n\t\t\t$timeout(function(){\r\n\t\t\tjobAppointmentModal = $uibModal.open({\r\n\t\t\ttemplateUrl: 'PDFView.html',\r\n\t\t\tsize :'lg',\r\n\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t},1000)\r\n\t\t\r\n\t}\r\n\t vm.PDFUserModal = function(){\r\n\t\tjobAppointmentModal.close();\r\n\t }\r\n\t \r\n\t function base64ToArrayBuffer(base64) {\r\n\t\tvar ret = base64.replace('data:application/pdf;base64,','');\r\n\t\t var binaryString = atob(ret);\r\n\t\t var binaryLen = binaryString.length;\r\n\t\t var bytes = new Uint8Array(binaryLen);\r\n\t\t for (var i = 0; i < binaryLen; i++) {\r\n\t\t\t var ascii = binaryString.charCodeAt(i);\r\n\t\t\t bytes[i] = ascii;\r\n\t\t }\r\n\t\t return bytes;\r\n\t }\r\n\t vm.getFileType = function(url){\r\n\t\t\r\n\t\tif(url.indexOf(\".jpg\")>=0 || url.indexOf(\".jpeg\")>=0 || url.indexOf(\".png\")>=0 || url.indexOf(\".bmp\")>=0){\r\n\t\t\treturn \"image\";\r\n\t\t} else if(url.indexOf(\".pdf\")>=0){\r\n\t\t\treturn \"pdf\";\r\n\t\t} else if(url.indexOf(\".doc\")>=0 || url.indexOf(\".docx\")>=0){\r\n\t\t\treturn \"doc\";\r\n\t\t} else {\r\n\t\t\treturn \"others\";\r\n\t\t}\r\n\t }\r\n}\r\n});\r\n\nangular.module('inspinia').service('HardwareDetailsService', function (ApiURL, $log, $http, $localStorage, ActivityURL, LocationURL, PublicApiURL){\r\n\r\n // https://perf.mymobiforce.com/coreapi/api/HardwareReplacement/GetAllByTicketIdOnSer?reqUserId=U360000000016&TicketId=T0000056575\r\n this.GetAllHWDetail = function (loggedInUserId, ticketId, token) {\r\n var url = ApiURL + '/api/HardwareReplacement/GetAllByTicketIdOnSer?reqUserId=' +loggedInUserId+ '&TicketId='+ticketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n})\nangular.module('inspinia').controller('HardwareDetailsController', function (HardwareDetailsService, $q, $compile, UIURL, $window, DTOptionsBuilder, DTColumnBuilder, $stateParams, $scope, $log, ImageUrl, $localStorage, $state){\r\n \r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n \r\n var vm = this;\r\n vm.TicketId = $stateParams.ticketId;\r\n // vm.TicketId = 'T0000056575';\r\n vm.dtInstance = {};\r\n\r\n // function GetAllHWDetail(){\r\n // HardwareDetailsService.GetAllHWDetail(loggedinUser, vm.TicketId, token).then(function(resp){\r\n // vm.HWDetailList = resp.data;\r\n // debugger\r\n // })\r\n // }\r\n // GetAllHWDetail();\r\n\r\n vm.dtOptions = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n HardwareDetailsService.GetAllHWDetail(loggedinUser, vm.TicketId, token).then(function (resp) {\r\n vm.HWDetailList = resp.data;\r\n defer.resolve(vm.HWDetailList);\r\n })\r\n return defer.promise;\r\n \r\n }).withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [0, 'desc'])\r\n .withOption('createdRow', createdRow)\r\n .withBootstrap();\r\n \r\n\r\n function createdRow(row, data, dataIndex) {\r\n // Recompiling so we can bind Angular directive to the DT\r\n $compile(angular.element(row).contents())($scope);\r\n }\r\n\r\n vm.dtColumns = [\r\n DTColumnBuilder.newColumn(null).withTitle('New Hardware Image').renderWith(function(data, type, full, meta){\r\n if(data.NewHardwarePhoto == null){\r\n var address = \"assets/images/patterns/photo1.png\";\r\n }else{\r\n address= data.NewHardwarePhoto;\r\n }\r\n // style=\"border-radius: 50%\"\r\n \r\n return '' +\r\n '\"image-1\"' +\r\n '';\r\n // '';\r\n \r\n }),\r\n DTColumnBuilder.newColumn(null).withTitle('Hardware Type').renderWith(function(data, type, full, meta){\r\n var temp = 'font-bold text-black';\r\n return \"\" + data.Category + \"\";\r\n \r\n }),\r\n DTColumnBuilder.newColumn('NewName').withTitle('New Hardware Part Name').renderWith(function(data){\r\n var accStatus = 'font-bold label_default';\r\n return \"\" + data + \"\";\r\n }),\r\n DTColumnBuilder.newColumn('NewSerialNumber').withTitle('New Hardware Serial No.').renderWith(function(data){\r\n var temp = 'font-bold label_default';\r\n return \"\" + data + \"\";\r\n }),\r\n DTColumnBuilder.newColumn(null).withTitle('Old Hardware Image').renderWith(function(data){\r\n if(data.OldHardwarePhoto == null){\r\n var address = \"assets/images/patterns/photo1.png\";\r\n }else{\r\n address= data.OldHardwarePhoto;\r\n }\r\n // style=\"border-radius: 50%\"\r\n return '' +\r\n '\"image-1\"' +\r\n ''; \r\n \r\n }),\r\n DTColumnBuilder.newColumn('OldName').withTitle('Old Hardware Part Name').renderWith(function(data){\r\n var temp = 'font-bold label_default';\r\n return \"\" + data + \"\";\r\n }),\r\n DTColumnBuilder.newColumn('OldSerialNumber').withTitle('Old Hardware Serial No.').renderWith(function(data){\r\n var temp = 'font-bold label_default';\r\n return \"\" + data + \"\";\r\n })\r\n ];\r\n\r\n\r\n vm.getProfilePic = function (pic) {\r\n return ImageUrl + \"/\" + pic;\r\n }\r\n})\nangular.module('inspinia').service('GasChargingApprovallService', function (AcessoriesURL, ApiURL, SchedulingAPI, $window, $http) {\r\n\r\n this.GetAllWareHouse = function (loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/WareHouse/GetAllWareHouse';\r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetGasChargerRefuelingList = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFGasCharger/GetGasChargerRefuelingList';\r\n return $http.put(url, data, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetGasChargerDashboardByFilter = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFGasCharger/GetGasChargerDashboardByFilter';\r\n return $http.put(url, data, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetGasChargerRefuelingList_CSV = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFGasCharger/GetGasChargerRefuelingList_CSV';\r\n return $http.put(url, data, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetGasChargerRefulingById = function (GasChargeRequestID, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFGasCharger/GetGasChargerRefulingById?GasChargeRequestID=' + GasChargeRequestID;\r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.UpdateGasChargerRefulingStatus = function ( data,loggedinUser,token) {\r\n var url = AcessoriesURL + '/api/MMFGasCharger/UpdateGasChargerRefulingStatus';\r\n return $http.put(url, data,{\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.MarkProductStatusDeliveredByServiceCenter = function (data, imageFile, imageFileName, invoiceFile, invoiceFileName, loggedinUser, token) {\r\n var formdata = new FormData();\r\n formdata.append(imageFileName, imageFile);\r\n formdata.append(invoiceFileName, invoiceFile);\r\n var FiltersData = JSON.stringify(data);\r\n formdata.append(\"FiltersData\", FiltersData);\r\n var url = AcessoriesURL + '/api/MMFProductReplacement/MarkProductStatusDeliveredByServiceCenter';\r\n return $http.put(url, formdata, {\r\n headers: {\r\n 'Content-Type': undefined, 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n this.ResubmitProductReplacementRequest = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFProductReplacement/ResubmitProductReplacementRequest'\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.CreateReOrderProductReplacementRequest = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFProductReplacement/CreateReOrderProductReplacementRequest';\r\n return $http.post(url, data, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('GasChargingApprovalController', function (GasChargingApprovallService, MainService, $resource, $stateParams, toaster, $filter, $compile, $q, $state, $localStorage, $scope, DTOptionsBuilder, DTColumnBuilder, $uibModal, $timeout) {\r\n\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\t\tvm.AccountId= $localStorage.accountConfig.AccountId;\r\n\t\tvar oPageIndex = 1;\r\n\t\tvar oPageSize = 10;\r\n\t\tvm.allOrdersPageListCount = 10;\r\n\t\tvm.SearchText = '';\r\n\t\tvm.SelectedRequestStatus = 'PendingAtMe';\r\n\t\tvm.pageListCounts = [10, 20, 30, 50];\r\n\t\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\t\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\t\t$scope.dates = { startDate: moment().subtract(30, 'day'), endDate: moment() };\r\n\t\tvar startDate = moment().subtract(30, 'days').format(\"YYYY-MM-DD\");\r\n\t\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\t\tvm.Orderby = \"CreatedOn\";\r\n vm.SortType = \"desc\";\r\n\t\t$scope.ranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment().endOf('month')]\r\n\t\t};\r\n\r\n\t\tvm.outsidedateRangeChange = function (ev, picker) {\r\n\t\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\t\tvm.applyOrderFilter();\r\n\t\t};\r\n\r\n\t\tvm.disableCreateButton = false;\r\n\r\n\t\tvm.DisableCreateButton = function (disable) {\r\n\t\t\tif (disable) {\r\n\t\t\t\tvm.disableCreateButton = true;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.disableCreateButton = false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.sortColumn = function (col) {\r\n\t\t\tvm.OrderBy = col;\r\n\t\t\tif (vm.SortType == 'desc') {\r\n\t\t\t vm.SortType = 'asc';\r\n\t\t\t vm.reverseclass = 'fa fa-arrow-up';\r\n\t\t\t} else {\r\n\t\t\t vm.SortType = 'desc';\r\n\t\t\t vm.reverseclass = 'fa fa-arrow-down';\r\n\t\t\t}\r\n\t\t\tvm.GetGasChargerRefuelingList();\r\n\t\t };\r\n\t \r\n\t\t vm.sortClass = function (col) {\r\n\t\t\tif (vm.OrderBy == col) {\r\n\t\t\t if (vm.SortType == 'desc') {\r\n\t\t\t\treturn 'fa fa-arrow-down';\r\n\t\t\t } else {\r\n\t\t\t\treturn 'fa fa-arrow-up';\r\n\t\t\t }\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t return \"\";\r\n\t\t\t}\r\n\t\t }\r\n\t\t \r\n\r\n\t\tvm.OpenResubmitReplaceModel = function (resubmitreplacedetails) {\r\n\t\t\tvm.resubmitReplacementId = resubmitreplacedetails;\r\n\t\t\tResubmitReplaceModel = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'Resubmit.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeResubmitRequestUpdateModel = function () {\r\n\t\t\tvm.DisableCreateButton(false);\r\n\t\t\tResubmitReplaceModel.close();\r\n\t\t\tvm.resubmitstrReplacementComment = '';\r\n\t\t\tvm.resubmitReplacementId = '';\r\n\t\t}\r\n\t\tvm.ResubmitProductReplacementRequest = function () {\r\n\t\t\tvm.Resubmit_Form.submitted = true;\r\n\t\t\tif (vm.Resubmit_Form.$valid) {\r\n\t\t\t\t// $scope.uploadFiles();\r\n\t\t\t\tvm.DisableCreateButton(true);\r\n\t\t\t\tvar resubmitreplacementreasondata = {\r\n\t\t\t\t\t\"strProductReplacementId\": vm.resubmitReplacementId,\r\n\t\t\t\t\t\"strReplacementComment\": vm.resubmitstrReplacementComment,\r\n\t\t\t\t\t\"strReplacementReason\": vm.resubmitrelacementoption,\r\n\t\t\t\t}\r\n\t\t\t\tGasChargingApprovallService.ResubmitProductReplacementRequest(resubmitreplacementreasondata, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Product replacement request raised.\");\r\n\t\t\t\t\t\tvm.closeResubmitRequestUpdateModel();\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\tvm.GetProductReplacementList();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tvm.trackingStatus = false;\r\n\r\n\t\tvm.GetGasChargerRefulingById = function (GasChargeRequestID) {\r\n\t\t\tGasChargingApprovallService.GetGasChargerRefulingById(GasChargeRequestID, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.trackingDetails = resp.data;\r\n\t\t\t\t\tvm.activitytimeline = resp.data.listApprovalTrail;\r\n\t\t\t\t\tvm.trackingStatus = true;\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.reorderReplacementId = '';\r\n\t\tvm.OpenReOrderConfirmation = function (reordereplacedetails) {\r\n\t\t\tvm.reorderReplacementId = reordereplacedetails;\r\n\t\t\tReorderModel = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'ReOrderPart.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeReOrderConfirmation = function () {\r\n\t\t\tReorderModel.close();\r\n\t\t\tvm.DisableCreateButton(false);\r\n\t\t\tvm.reorderReplacementId = '';\r\n\t\t\tvm.reorderReplacementComment = '';\r\n\t\t}\r\n\r\n\t\tvm.CreateReOrderProductReplacementRequest = function () {\r\n\t\t\tvm.Reorder_Form.submitted = true;\r\n\t\t\tif (vm.Reorder_Form.$valid) {\r\n\t\t\t\tvm.DisableCreateButton(true);\r\n\t\t\t\tvar reordereplacementreasondata = {\r\n\t\t\t\t\t\"strProductReplacementId\": vm.reorderReplacementId,\r\n\t\t\t\t\t\"strReplacementComment\": vm.reorderReplacementComment,\r\n\t\t\t\t\t\"strReplacementReason\": vm.reorderrelacementoption,\r\n\t\t\t\t}\r\n\t\t\t\tGasChargingApprovallService.CreateReOrderProductReplacementRequest(reordereplacementreasondata, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Product re-order request raised.\");\r\n\t\t\t\t\t\tvm.closeReOrderConfirmation();\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\tvm.GetProductReplacementList();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.OpenTicketView = function (ticket) {\r\n\t\t\t$state.go('index.JobDetailView', {\r\n\t\t\t\tticketId: ticket\r\n\t\t\t}, { reload: true });\r\n\t\t}\r\n\r\n\t\tvm.ActionToBeTaken = '';\r\n\t\tvm.OpenRequestUpdateModel = function (requestId, action) {\r\n\t\t\tvm.UpdateAction = action;\r\n\t\t\tif (vm.UpdateAction == 'Approval') {\r\n\t\t\t\tvm.ActionToBeTaken = 'Approve';\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tvm.ActionToBeTaken = 'Reject';\r\n\t\t\t}\r\n\t\t\tvm.requestIdTobeUpdated = requestId;\r\n\t\t\tRequestUpdateModel = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'UpdateRequestStatus.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeRequestUpdateModel = function () {\r\n\t\t\tRequestUpdateModel.close();\r\n\t\t\tvm.UpdationRemark = \"\";\r\n\t\t\tvm.DisableCreateButton(false);\r\n\t\t}\r\n\r\n\t\tvm.UpdateGasChargerRefulingStatus = function () {\r\n\t\t\tif (vm.UpdateAction == 'Approval') {\r\n\t\t\t\tvm.ActionToBeTaken = 'Approved';\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tvm.ActionToBeTaken = 'Reject';\r\n\t\t\t}\r\n\t\t\tvm.Request_Update_Form.submitted = true;\r\n\t\t\tif (vm.Request_Update_Form.$valid) {\r\n\t\t\t\tvm.DisableCreateButton(true);\r\n\t\t\t\tvar RequestModel = {\r\n\t\t\t\t\t\"GasChargeRequestID\": vm.requestIdTobeUpdated,\r\n\t\t\t\t\t\"Status\": vm.ActionToBeTaken,\r\n\t\t\t\t\t\"Comment\": vm.UpdationRemark,\r\n\t\t\t\t }\r\n\t\t\t\tGasChargingApprovallService.UpdateGasChargerRefulingStatus(RequestModel, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Request updated successfully\");\r\n\t\t\t\t\t\tvm.closeRequestUpdateModel();\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\tvm.GetGasChargerRefuelingList();\r\n\t\t\t\t\t\t\tvm.GetGasChargerDashboardByFilter();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\t}\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Function to clear the file input\r\n\t\tvm.clear = function () {\r\n\t\t\tangular.element(\"input[type='file']\").val(null);\r\n\t\t};\r\n\t\tvm.PDFViewOfShipmentDoc = function (page) {\r\n\t\t\tvm.IsLoadSucessfull = false;\r\n\t\t\tMainService.GetImageBlob(loggedinUser, token, page).then(function (resp) {\r\n\t\t\t\tvm.pdfimage = resp.data;\r\n\t\t\t\tvm.IsLoadSucessfull = true;\r\n\t\t\t});\r\n\t\t\t$timeout(function () {\r\n\t\t\t\tvm.taxInvoiceModel = $uibModal.open({\r\n\t\t\t\t\ttemplateUrl: \"PDFView.html\",\r\n\t\t\t\t\tsize: \"lg\",\r\n\t\t\t\t\tscope: $scope,\r\n\t\t\t\t});\r\n\t\t\t}, 1000);\r\n\t\t};\r\n\t\tvm.closePDFView = function () {\r\n\t\t\tvm.taxInvoiceModel.close();\r\n\r\n\t\t};\r\n\t\tvm.ImageViewOfShipmentDoc = function (img, index) {\r\n\t\t\tMainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n\t\t\t\tif (resp.data == null || resp.data == '') {\r\n\t\t\t\t\tvm.productImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.productImg[index] = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, function () {\r\n\t\t\t\tvm.productImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t\r\n\t\t$scope.checkPDF = function (path) {\r\n\t\t\tif (path) {\r\n\t\t\t\tvar pt = path.substr(path.length - 4);\r\n\t\t\t\tif (pt == '.pdf') {\r\n\t\t\t\t\tvm.error = function () {\r\n\t\t\t\t\t\t$(\".pdf\").attr({ \"target\": \"_blank\" })\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\r\n\t\t$scope.openTrackingLink = function (trackingLink) {\r\n\t\t\t$window.open(trackingLink, '_blank');\r\n\t\t};\r\n\r\n\t\t\r\n\t\tvm.applyOrderFilter = function () {\r\n\t\t\tvm.GetGasChargerRefuelingList();\r\n\t\t\tvm.GetGasChargerDashboardByFilter();\r\n\t\t}\r\n\t\t\r\n\r\n\t\tvm.setSelectedFilter = function (item) {\r\n\t\t\tvm.SelectedRequestStatus = item;\r\n\t\t\tvm.GetGasChargerRefuelingList();\r\n\t\t};\r\n\r\n\r\n\t\tvm.clearMyFilter = function () {\r\n\t\t\tvm.SelectedRequestStatus = 'PendingAtMe';\r\n\t\t\tvm.searchTag = '';\r\n\t\t\tvm.applyOrderFilter();\r\n\t\t}\r\n\r\n\r\n\t\tvm.showPartDetails = false;\r\n\r\n\t\tvm.CancelMyOrder = function () {\r\n\t\t\tGasChargingApprovallService.CancelMyOrder(vm.orderId, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", \"Order cancelled successfully.\");\r\n\t\t\t\t\tvm.closeOrderCancelConfirmation();\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tvm.GetProductReplacementList();\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\r\n\t\t$scope.totalOrderList = 0;\r\n\t\t$scope.ordersPerPage = vm.allOrdersPageListCount;\r\n\t\t$scope.OrdersPagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\r\n\t\tvm.changeAllOrderPageListCount = function () {\r\n\t\t\t$scope.ordersPerPage = vm.allOrdersPageListCount;\r\n\t\t\toPageSize = $scope.ordersPerPage;\r\n\t\t\t$scope.AllOrderTablePageChanged($scope.OrdersPagination.current);\r\n\t\t\toPageIndex = $scope.OrdersPagination.current;\r\n\t\t\t$scope.AllOrderTablePageChanged = function (newPage) {\r\n\t\t\t\toPageIndex = newPage;\r\n\t\t\t\tvm.GetGasChargerRefuelingList();\r\n\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\toPageIndex = $scope.OrdersPagination.current;\r\n\t\t$scope.AllOrderTablePageChanged = function (newPage) {\r\n\t\t\toPageIndex = newPage;\r\n\t\t\tvm.GetGasChargerRefuelingList();\r\n\r\n\t\t};\r\n\t\tvm.allGasRequestList = [];\r\n\r\n\t\tvm.GetGasChargerRefuelingList = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"Status\": vm.SelectedRequestStatus,\r\n\t\t\t\t\"SearchText\": vm.searchTag,\r\n\t\t\t\t\"StartDate\": startDate,\r\n\t\t\t\t\"EndDate\": endDate,\r\n\t\t\t\t\"PageIndex\": oPageIndex,\r\n\t\t\t\t\"PageSize\": oPageSize\r\n\t\t\t}\r\n\t\t\tGasChargingApprovallService.GetGasChargerRefuelingList(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.allGasRequestList = resp.data.ReturnList;\r\n\t\t\t\t\t$scope.totalOrderList = resp.data.RecordCount;\r\n\t\t\t\t\t// vm.productImg = [];\r\n\t\t\t\t\t// for (var i = 0; i < vm.allGasRequestList.length; i++) {\r\n\t\t\t\t\t// \tvar item = vm.allGasRequestList[i];\r\n\t\t\t\t\t// \tvm.ImageViewOfShipmentDoc(item.strPackageAttachment, i);\r\n\t\t\t\t\t// }\r\n\t\t\t\t\tif (vm.allGasRequestList.length < vm.allOrdersPageListCount)\r\n\t\t\t\t\t\tvm.orderListLength = $scope.totalOrderList;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.orderListLength = oPageIndex * vm.allOrdersPageListCount;\r\n\t\t\t\t\tif (oPageIndex == 1)\r\n\t\t\t\t\t\tvm.opageindexCount = 1;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.opageindexCount = (((oPageIndex - 1) * vm.allOrdersPageListCount) + 1);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.GetGasChargerDashboardByFilter = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"Status\": \"\",\r\n\t\t\t\t\"SearchText\": vm.searchTag,\r\n\t\t\t\t\"StartDate\": startDate,\r\n\t\t\t\t\"EndDate\": endDate\r\n\t\t\t}\r\n\t\t\tGasChargingApprovallService.GetGasChargerDashboardByFilter(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.gasChargingDashCount = resp.data;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.GetGasChargerRefuelingList();\r\n vm.GetGasChargerDashboardByFilter();\r\n\t\tvm.GetGasChargerRefuelingList_CSV = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"Status\": vm.SelectedRequestStatus,\r\n\t\t\t\t\"SearchText\": vm.searchTag,\r\n\t\t\t\t\"StartDate\": startDate,\r\n\t\t\t\t\"EndDate\": endDate,\r\n\t\t\t\t\"PageIndex\": oPageIndex,\r\n\t\t\t\t\"PageSize\": oPageSize\r\n\t\t\t}\r\n\t\t\tGasChargingApprovallService.GetGasChargerRefuelingList_CSV(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvar csvData = resp.data;\r\n\t\t\t\t\tvar blob = new Blob([csvData], { type: 'text/csv' });\r\n\t\t\t\t\tvar url = window.URL.createObjectURL(blob);\r\n\t\t\t\t\tvar a = document.createElement('a');\r\n\t\t\t\t\ta.href = url;\r\n\t\t\t\t\ta.download = 'All_GasRecharge_Requests_List.csv';\r\n\t\t\t\t\ta.click();\r\n\t\t\t\t\twindow.URL.revokeObjectURL(url);\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.Acceptancemodel = function (requestDetails) {\r\n\t\t\tvm.showPartDetails = false;\r\n\t\t\tvm.AllRequestDetail = requestDetails;\r\n\t\t\tvm.updateStatusModelOpen = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'acceptancepopup.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.CloseAcceptanceModel = function () {\r\n\t\t\tvm.updateStatusModelOpen.close();\r\n\t\t\tvm.DisableCreateButton(false);\r\n\t\t\tvm.UpdateOrderStatus = \"\";\r\n\t\t\tvm.TrackingLink = \"\";\r\n\t\t\tvm.strPackageId = \"\";\r\n\t\t\tvm.strPackageStatus = \"\";\r\n\t\t\tvm.strPackageTrackingId = \"\";\r\n\t\t\tvm.strShipmentId = \"\";\r\n\t\t\tvm.PackageDetails = [];\r\n\t\t\tvm.datePackedOn = moment().format(\"YYYY-MM-DD\");\r\n\t\t}\r\n\t}\r\n});\nangular.module('inspinia').service('FreelancerFixedService',function(ApiURL, LocationURL,$http, FreelancerURL){\r\n\r\n\t//http://192.168.0.80:92/CoreAPI/api/Ticket/new/byStatus?reqUserId=kanika.bansal%40innotiontech.com\r\n\tthis.GetTicketsByStatus = function (status,loggedinUser, token) {\r\n var url = ApiURL + '/api/Ticket/'+status+'/byStatus?reqUserId='+loggedinUser;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token\r\n }\r\n });\r\n }\r\n\r\n //Get all freelancers\r\n//http://192.168.0.80:92/FreelancerAPI/api/FreeLancerUser/kanika.bansal%40innotiontech.com/GetAllUsers\r\n this.GetAllFreelancers = function (loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerUser/'+loggedinUser+'/GetAllUsers';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token\r\n }\r\n });\r\n }\r\n\r\n //http://192.168.0.80:92/FreelancerAPI/api/FreeLancerUser/Kanika.bansal%40innotiontech.com/GetAllFreLancerWithFilters?itemNames=UserStatus%2CRole&itemValues=Active%2CField%20Engineer\r\n this.GetAllFreelancersWithFilters = function (loggedinUser,itemNames,itemValues, token) {\r\n var url = FreelancerURL + '/api/FreeLancerUser/'+loggedinUser+'/GetAllFreLancerWithFilters?itemNames=' + itemNames + '&itemValues=' + itemValues;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token\r\n }\r\n });\r\n }\r\n\r\n //http://192.168.0.80:92/CoreAPI/api/User/Kanika/byReportingToWithJobCount?reqUserId=kanika.bansal%40innotiontech.com\r\n this.GetTicketsById = function (ticketId,loggedinUser, token) {\r\n var url = ApiURL + '/api/Ticket/'+ticketId+'/'+loggedinUser+'/byTicketId';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token\r\n }\r\n });\r\n }\r\n\r\n this.GetAllSkills = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json', 'Token': token}\r\n });\r\n }\r\n\r\n this.GetAllCircles = function(loggedinUser){\r\n var url = LocationURL + '/api/Location/' + loggedinUser + '/GetAllCircles'\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json'}\r\n })\r\n }\r\n\r\n //Get Tickets by filter\r\n //http://192.168.0.80:92/CoreAPI/api/Ticket/kanika.bansal%40innotiontech.com/TicketStatus/Broadcasted/GetTicketsByUser\r\n//https://test.mymobiforce.com/coreapi/api/Ticket/reqUserId/GetTicketsForAssignation?itemNames=itemNames&itemValues=itemValues\r\n\r\n this.GetTicketsByFilter = function(loggedinUser,itemNames,itemValues, token){\r\n var url = ApiURL + '/api/Ticket/' + loggedinUser + '/GetTicketsForAssignation?itemNames=' + itemNames + '&itemValues=' + itemValues;\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token}\r\n })\r\n }\r\n\r\n //Get Users By Filter\r\n\r\n //\r\n // http://192.168.0.80:92/CoreAPI/api/User/kanika.bansal%40innotiontech.com/UserStatus/Active/getusersbyfilters\r\n this.GetUsersByFilter = function(loggedinUser,itemNames,itemValues, token){\r\n var url = ApiURL + '/api/User/' + loggedinUser + '/' + itemNames + '/' + itemValues + '/getusersbyfilters'\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token}\r\n })\r\n }\r\n\r\n //Assign Tickets\r\n //http://192.168.0.80:92/CoreAPI/api/Ticket/ass/asd/asd/AssignTicket\r\n this.AssignTickets = function(userId,loggedinUser,ticketList, token){\r\n var TicketId = ticketList.split(',');\r\n\r\n var url = ApiURL + '/api/Ticket/' + userId + '/' + loggedinUser + '/AssignTicket'\r\n return $http.put(url,TicketId, {\r\n headers:{'Content-Type':'application/json','Token':token\r\n }\r\n })\r\n }\r\n\r\n\r\n // Bid Recieved Api\r\n // http://192.168.0.80:92/FreelancerAPI/api/BID/T0000000039/Received/kanika.bansal@innotiontech.com/byStatus\r\n this.GetBidReceivedByStatus = function(loggedinUser,ticketId,status, token){\r\n var url = FreelancerURL + '/api/BID/' + ticketId + '/' + status + '/' + loggedinUser + '/byStatus'\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token}\r\n })\r\n }\r\n\r\n this.GetBidSentByStatus = function(loggedinUser,ticketId,token){\r\n var url = FreelancerURL + '/api/BID/' + ticketId + '/' + loggedinUser + '/byjobid'\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token}\r\n })\r\n }\r\n // GetBidSentByStatus\r\n\r\n //http://192.168.0.80:92/FreelancerAPI/api/BID/akshit.chauhan%40innotiontech.com/TicketStatus/Broadcasted/getjobsbyfilter\r\n this.GetBroadcastedBids = function (loggedinUser, itemNames,itemValues, token) {\r\n var url = FreelancerURL + '/api/BID/'+loggedinUser+'/' + itemNames + '/'+ itemValues + '/getjobsbyfilter';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token\r\n }\r\n });\r\n }\r\n\r\n //Assign Bids\r\n //http://192.168.0.80:92/FreelancerAPI/api/BID/kanika.bansal%40innotiontech.com/T0000000040/pri/acceptBIDAssignJob?jobAssignRate=100&jobAssignGrossRate=0\r\nthis.AssignReceivedBid = function (loggedinUser, ticketId, userId, token) {\r\n var url = FreelancerURL + '/api/BID/'+loggedinUser+'/' + ticketId + '/' + userId + '/acceptBIDAssignJob';\r\n return $http.put(url,{}, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token\r\n }\r\n });\r\n }\r\n\r\n //BroadCast Jobs/Bids\r\n //http://192.168.0.80:92/FreelancerAPI/api/BID/createbidforselectedteam?reqUserId=asdasd\r\n\r\n this.BroadCastJobs = function(loggedinUser,data, token){\r\n var url = FreelancerURL + '/api/BID/createbidforselectedteam?reqUserId=' + loggedinUser;\r\n return $http.post(url,data,{\r\n headers:{\r\n 'Content-Type':'application/json',\r\n 'Token': token\r\n }\r\n });\r\n }\r\n\r\n //Get Users By Role\r\n//http://115.124.122.225/coreapi/api/User/Supervisor/byRole?reqUserId=satyendratiwari124%40gmail.com\r\n//http://192.168.0.80:92/CoreAPI/api/User/Supervisor/SkillSet/AC%20Repair/byRole?reqUserId=Kanika.bansal%40innotiontech.com\r\n this.GetUsersByRole = function (loggedinUser, role, itemNames,itemValues, token) {\r\n var url = ApiURL + '/api/User/'+role+ '/' + itemNames+ '/'+ itemValues+'/byRole?reqUserId=' + loggedinUser;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token\r\n }\r\n });\r\n }\r\n\r\n //Get All Vendor\r\n //http://192.168.0.80:92/CoreAPI/api/Vendor/kanika.bansal%40innotiontech.com/getallvendors\r\n\r\n //http://192.168.0.80:92/CoreAPI/api/Vendor/Kanika.bansal%40innotiontech.com/VendorLocations/Maharashtra/getvendorsbyfilters\r\n this.GetAllVendors = function (loggedinUser,itemNames,itemValues, token) {\r\n var url = ApiURL + '/api/Vendor/'+ loggedinUser + '/' + itemNames + '/' +itemValues+ '/getvendorsbyfilters'\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token\r\n }\r\n });\r\n }\r\n\r\n\r\n this.GetFreelancerVendorsByFilters = function (loggedinUser,itemNames,itemValues, token) {\r\n var url = ApiURL + '/api/Vendor/'+ loggedinUser + '/' + itemNames + '/' +itemValues+ '/getfreelancervendorsbyfilters'\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token\r\n }\r\n });\r\n }\r\n // https://perf.mymobiforce.com/coreapi/api/Vendor/U350000000001/VendorStatus/Active/getfixedvendorsbyfilters\r\n this.GetFixedVendorsByFilters = function (loggedinUser,itemNames,itemValues, token) {\r\n var url = ApiURL + '/api/Vendor/'+ loggedinUser + '/' + itemNames + '/' +itemValues+ '/getfixedvendorsbyfilters'\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token\r\n }\r\n });\r\n }\r\n\r\n //http://192.168.0.80:92/CoreAPI/api/Ticket/ankur.sharma%40innotiontech.com/byUserId?reqUserId=akshit.chauhan%40innotiontech.com\r\n\r\n this.GetTicketsByUserId = function(loggedinUser,UserId, token){\r\n var url = ApiURL + '/api/Ticket/' + UserId + '/byUserId?reqUserId=' + loggedinUser;\r\n return $http.get(url,{\r\n headers:{\r\n 'Content-Type': 'application/json',\r\n 'Token': token\r\n }\r\n });\r\n }\r\n\r\n // https://perf.mymobiforce.com/freelancerapi/api/BID/CreateRoutingBid?reqUserId=U350000000001\r\n this.RouteJobsforUser = function(loggedinUser,data, token){\r\n var url = FreelancerURL + '/api/BID/CreateRoutingBid?reqUserId=' + loggedinUser;\r\n return $http.post(url,data,{\r\n headers:{\r\n 'Content-Type':'application/json',\r\n 'Token': token\r\n }\r\n });\r\n }\r\n\r\n\r\n});\nangular.module('inspinia').controller('FreelancerFixedController', function (FreelancerFixedService,ScheduleAssignService, $log, $state, $localStorage, $stateParams, $uibModal, $scope, DTOptionsBuilder, DTColumnDefBuilder, toaster, $timeout, $compile, uiCalendarConfig, ImageUrl) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var loggedinUserSkill = $localStorage.loggedInUser_SkillSet;\r\n var loggedinUserRegion = $localStorage.loggedInUser_Region;\r\n if (!loggedinUser) {\r\n\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n\r\n var token = $localStorage.token;\r\n\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.IsMaterialDelivered = $localStorage.accountConfig.IsMaterialDelivered;\r\n vm.MobiforceCommission = vm.getAccountConfigSetting('MobiforceCommissionPercentage');\r\n vm.VendorAssignation = vm.getAccountConfigSetting('VendorAssignation');\r\n vm.EnableRegion = vm.getAccountConfigSetting('EnableRegion');\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n vm.FreelancerAccess = vm.getAccountConfigSetting('FreelancerAccess');\r\n //Global Variable Declaration\r\n vm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n vm.loggedInUserVendorId = $localStorage.loggedInUser_VendorId;\r\n vm.loggedInUserReportingTo = $localStorage.loggedInUser_ReportingTo;\r\n vm.TeamStatus = '';\r\n vm.NewJobs = [];\r\n vm.BroadcastedJobs = '';\r\n vm.JobProfile = '';\r\n vm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n vm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n vm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n vm.loggedinAs = $localStorage.loggedinAs;\r\n vm.skillsSearch = '';\r\n vm.locationSearch = '';\r\n vm.skillData = '';\r\n vm.circleData = '';\r\n vm.checkAll = '';\r\n vm.fixedUsers = '';\r\n vm.isChecked = \"fixed\";\r\n vm.freelancerUsers = '';\r\n vm.FreelancerVendorUsers = [];\r\n vm.VendorUsers = '';\r\n vm.selectedJob = '';\r\n vm.newJobselectAny = '';\r\n vm.fixed_selectAll = '';\r\n vm.searchText = \"\";\r\n vm.tab = '';\r\n vm.freelancerCheckAny = '';\r\n vm.filteredProperties = {};\r\n vm.filteredFreelancer = {};\r\n var GrossRate = 1.18;\r\n vm.selectsinglebidJob = '';\r\n vm.jobselected = [];\r\n vm.freelancer_selectAll = '';\r\n vm.supervisorList = '';\r\n vm.vendorList = [];\r\n vm.eventSources = [];\r\n vm.uiConfig = {};\r\n vm.AvailableUserData = '';\r\n vm.events = [];\r\n vm.UserAvailabilityData = '';\r\n // $log.log('vm.VendorAssignation',vm.VendorAssignation);\r\n\r\n var date = new Date();\r\n var d = date.getDate();\r\n var m = date.getMonth();\r\n var y = date.getFullYear();\r\n \r\n //$scope.$parent.$parent.main.implementSelectItems('freelancerUsers', this);\r\n //$scope.$parent.$parent.main.implementSelectItems('VendorUsers', this);\r\n\r\n //$log.log('vm.loggedinAs', vm.loggedinAs);\r\n\r\n vm.eventsF = function (start, end, timezone, callback) {\r\n var s = new Date(start).getTime() / 1000;\r\n var e = new Date(end).getTime() / 1000;\r\n var m = new Date(start).getMonth();\r\n var events = [{\r\n title: 'Feed Me ' + m,\r\n start: s + (50000),\r\n end: s + (100000),\r\n allDay: false,\r\n className: ['customFeed']\r\n }];\r\n callback(events);\r\n };\r\n\r\n /* alert on dayClick */\r\n vm.ev = {};\r\n vm.alertOnDayClick = function (date) {\r\n vm.alertMessage = (date.toString());\r\n vm.ev = {\r\n from: date.format('YYYY-MM-DD'),\r\n to: date.format('YYYY-MM-DD'),\r\n title: '',\r\n allDay: true\r\n };\r\n };\r\n\r\n /* alert on eventClick */\r\n vm.alertOnEventClick = function (date, jsEvent, view) {\r\n vm.alertMessage = (date.title);\r\n };\r\n /* alert on Drop */\r\n vm.alertOnDrop = function (event, delta, revertFunc, jsEvent, ui, view) {\r\n vm.alertMessage = ('Event Dropped to make dayDelta ' + delta);\r\n };\r\n /* alert on Resize */\r\n vm.alertOnResize = function (event, delta, revertFunc, jsEvent, ui, view) {\r\n vm.alertMessage = ('Event Resized to make dayDelta ' + delta);\r\n };\r\n /* add and removes an event source of choice */\r\n vm.addRemoveEventSource = function (sources, source) {\r\n var canAdd = 0;\r\n angular.forEach(sources, function (value, key) {\r\n if (sources[key] === source) {\r\n sources.splice(key, 1);\r\n canAdd = 1;\r\n }\r\n });\r\n if (canAdd === 0) {\r\n sources.push(source);\r\n }\r\n };\r\n /* add custom event*/\r\n vm.addEvent = function () {\r\n vm.events.push({\r\n title: $scope.ev.title,\r\n start: moment($scope.ev.from),\r\n end: moment($scope.ev.to),\r\n allDay: true,\r\n className: ['openSesame']\r\n });\r\n };\r\n /* remove event */\r\n /*$scope.remove = function (index) {\r\n $scope.events.splice(index, 1);\r\n };*/\r\n /* Change View */\r\n vm.changeView = function (view, calendar) {\r\n vm.currentView = view;\r\n uiCalendarConfig.calendars[calendar].fullCalendar('changeView', view);\r\n\r\n\r\n };\r\n /* Change View */\r\n vm.renderCalender = function (calendar) {\r\n $timeout(function () {\r\n if (uiCalendarConfig.calendars[calendar]) {\r\n uiCalendarConfig.calendars[calendar].fullCalendar('render');\r\n }\r\n });\r\n };\r\n /* Render Tooltip */\r\n $scope.eventRender = function (event, element, view) {\r\n element.attr({\r\n 'tooltip': event.title,\r\n 'uib-tooltip-append-to-body': true\r\n });\r\n $compile(element)($scope);\r\n };\r\n\r\n vm.currentView = 'month';\r\n\r\n /* config object */\r\n vm.uiConfig = {\r\n calendar: {\r\n height: 450,\r\n editable: false,\r\n displayEventTime: false,\r\n header: {\r\n left: 'title',\r\n center: 'myCustomButton',\r\n right: 'prev,next'\r\n },\r\n dayClick: vm.alertOnDayClick,\r\n eventClick: vm.alertOnEventClick,\r\n eventResize: vm.alertOnResize,\r\n eventRender: function (event, element, view) {\r\n element.attr({\r\n 'uib-tooltip': event.title,\r\n 'uib-tooltip-append-to-body': true\r\n });\r\n $compile(element)($scope);\r\n },\r\n businessHours: {\r\n start: '10:00', // a start time (10am in this example)\r\n end: '18:00', // an end time (6pm in this example)\r\n\r\n dow: [1, 2, 3, 4]\r\n // days of week. an array of zero-based day of week integers (0=Sunday)\r\n // (Monday-Thursday in this example)\r\n }\r\n }\r\n };\r\n\r\n vm.events = [];\r\n\r\n //$log.log('events', vm.events);\r\n\r\n /* event sources array*/\r\n vm.eventSources = [vm.events, vm.eventsF];\r\n // vm.eventSources2 = [vm.calEventsExt, vm.eventsF, vm.events];\r\n\r\n\r\n //Availablity\r\n vm.Availibility = function (data) {\r\n vm.showAvailability = true;\r\n vm.AvailableUserData = data;\r\n\r\n\r\n FreelancerFixedService.GetTicketsByUserId(loggedinUser, data.UserId, token).then(function (resp) {\r\n if (resp) {\r\n vm.UserAvailabilityData = resp.data;\r\n //$log.log('vm.UserAvailabilityData',vm.UserAvailabilityData);\r\n\r\n if (vm.events.length != 0) {\r\n vm.events.splice(vm.events);\r\n angular.forEach(vm.UserAvailabilityData, function (d) {\r\n if (d.TicketStatus == 'Assigned') {\r\n var Availibility = {};\r\n Availibility.title = d.JobType + ' TicketId:' + d.TicketId + ' CustomerName:' + d.CustomerName + ' TicketStatus:' + d.TicketStatus,\r\n Availibility.start = moment(d.AssignationDate, 'DD/MM/YYYY').format(\"YYYY-MM-DDTHH:mm:ssZ\");\r\n vm.events.push(Availibility);\r\n }\r\n })\r\n } else {\r\n angular.forEach(vm.UserAvailabilityData, function (d) {\r\n if (d.TicketStatus == 'Assigned') {\r\n var Availibility = {};\r\n Availibility.title = d.JobType + ' TicketId:' + d.TicketId + ' CustomerName:' + d.CustomerName + ' TicketStatus:' + d.TicketStatus,\r\n Availibility.start = moment(d.AssignationDate, 'DD/MM/YYYY').format(\"YYYY-MM-DDTHH:mm:ssZ\");\r\n vm.events.push(Availibility);\r\n } else {\r\n\r\n }\r\n })\r\n //$log.log('events',vm.events);\r\n }\r\n\r\n\r\n\r\n\r\n }\r\n })\r\n\r\n }\r\n\r\n\r\n //Get new Jobs\r\n vm.GetNewJobs = function () {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemName = \"Circle,SkillSet\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch;\r\n } else {\r\n var itemName = '';\r\n var itemValues = '';\r\n }\r\n\r\n if(loggedinUserSkill==\"VSAT\"){\r\n itemName+=\"Template\";\r\n itemValues+=\"VSAT CCR\";\r\n } else if(loggedinUserSkill==\"LeaseLine\"){\r\n itemName+=\"Template\";\r\n itemValues+=\"LeaseLine CCR\";\r\n }\r\n FreelancerFixedService.GetTicketsByFilter(loggedinUser, itemName, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data) {\r\n vm.NewJobs = resp.data;\r\n\r\n for (var index = 0; index < vm.NewJobs.length; index++) {\r\n var today = moment();\r\n //var date = moment(\"2015-05-13\", \"YYYY-MM-DD\");\r\n var date2 = vm.NewJobs[index].CreationDate;//moment(vm.NewJobs[index].CreationDate,'DD/MM/YYYY').format(\"YYYY-MM-DD\");\r\n // date2 = new Date(date2);\r\n\r\n var duration = today.diff(date2, 'days');\r\n // var hours = today.diff(date2,'hours');\r\n vm.NewJobs[index].Age = duration;\r\n \r\n }\r\n vm.selectAllNewJob = false;\r\n vm.showMinusNewJob = false;\r\n if(vm.IsMaterialDelivered){\r\n for (var index = 0; index < vm.NewJobs.length; index++) {\r\n if(vm.NewJobs[index].MetrialDeliverStatus =='Delivered'){\r\n vm.NewJobs[index].IsDissablePermision = false;\r\n }else{\r\n vm.NewJobs[index].IsDissablePermision = true;\r\n }\r\n \r\n }\r\n }\r\n\r\n } else {\r\n vm.NewJobs = '';\r\n //$log.log('vm.NewJobs', 'List Empty')\r\n }\r\n }\r\n })\r\n }\r\n vm.GetRejectedJobs = function () {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemName = \"Ticket Status,Circle,SkillSet\";\r\n var itemValues = 'Rejected' + ',' + vm.locationSearch + ',' + vm.skillsSearch;\r\n } else {\r\n var itemName = 'Ticket Status';\r\n var itemValues = 'Rejected';\r\n }\r\n FreelancerFixedService.GetTicketsByFilter(loggedinUser, itemName, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data) {\r\n vm.NewJobs = resp.data;\r\n\r\n for (var index = 0; index < vm.NewJobs.length; index++) {\r\n var today = moment();\r\n //var date = moment(\"2015-05-13\", \"YYYY-MM-DD\");\r\n var date2 = vm.NewJobs[index].CreationDate;//moment(vm.NewJobs[index].CreationDate,'DD/MM/YYYY').format(\"YYYY-MM-DD\");\r\n // date2 = new Date(date2);\r\n\r\n var duration = today.diff(date2, 'days');\r\n // var hours = today.diff(date2,'hours');\r\n vm.NewJobs[index].Age = duration;\r\n }\r\n vm.selectAllNewJob = false;\r\n vm.showMinusNewJob = false;\r\n //$log.log('New TicketList',vm.NewJobs);\r\n\r\n } else {\r\n vm.NewJobs = '';\r\n //$log.log('vm.NewJobs', 'List Empty')\r\n }\r\n }\r\n })\r\n }\r\n\r\n vm.getRatingStars = function (rating) {\r\n var stars = [];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.push(i);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n vm.getBlankStars = function (rating) {\r\n var stars = [1, 2, 3, 4, 5];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.splice(stars.indexOf(i), 1);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n //Get all Active Fixed Users\r\n\r\n vm.GetAllActiveFixedUsers = function () {\r\n\r\n if (vm.loggedInUserRole == 'Administrator' || vm.loggedInUserRole == 'Project Manager' || vm.loggedinAs == 'Supervisor' || vm.loggedinAs == 'Vendor Supervisor' || vm.loggedInUserRole =='Help Desk') {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemNames = \"Locations,SkillSet,UserStatus,Role\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active' + ',' + 'Field Engineer';\r\n } else {\r\n var itemNames = \"UserStatus,Role\";\r\n var itemValues = \"Active,Field Engineer\";\r\n }\r\n if(vm.loggedInUserRole =='Help Desk') {\r\n itemNames+=\",SkillSet,SubRegion\";\r\n itemValues+=\",\"+loggedinUserSkill+\",\"+loggedinUserRegion;\r\n }\r\n\r\n FreelancerFixedService.GetUsersByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.fixedUsers = resp.data;\r\n //$log.log('vm.fixedUsers', vm.fixedUsers);\r\n preprocessData(vm.fixedUsers);\r\n }\r\n })\r\n } else if (vm.loggedInUserRole == 'Vendor Manager') {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemNames = \"Locations,SkillSet,UserStatus,Role\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active' + ',' + 'Field Engineer';\r\n\r\n } else {\r\n var itemNames = \"UserStatus,Role\";\r\n var itemValues = \"Active,Field Engineer\";\r\n }\r\n\r\n FreelancerFixedService.GetUsersByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.fixedUsers = resp.data;\r\n preprocessData(vm.fixedUsers);\r\n }\r\n })\r\n }\r\n // else if (vm.loggedinAs == 'Vendor Supervisor') {\r\n // var itemNames = \"UserStatus,Role\";\r\n // var itemValues = \"Active,Field Engineer\";\r\n\r\n // FreelancerFixedService.GetUsersByFilter(loggedinUser,itemNames,itemValues).then(function(resp){\r\n // if (resp && resp.data) {\r\n // vm.supervisorList = resp.data;\r\n // //$log.log('vm.supervisorList',vm.supervisorList);\r\n\r\n // }\r\n // })\r\n // }\r\n }\r\n\r\n vm.loadAllSkills = function(){\r\n FreelancerFixedService.GetAllSkills(loggedinUser, token).then(function (resp) {\r\n vm.skillsWithPipe = '';\r\n if (resp && resp.data) {\r\n vm.skillData = resp.data;\r\n if(vm.skillData && vm.skillData.length>0){\r\n angular.forEach(vm.skillData, function(s){\r\n vm.skillsWithPipe += s.SkillName+\"|\";\r\n });\r\n vm.skillsWithPipe = vm.skillsWithPipe.length>0\r\n ? vm.skillsWithPipe.substring(0,vm.skillsWithPipe.length-1) : \"\";\r\n }\r\n }\r\n });\r\n }\r\n vm.loadAllSkills();\r\n\r\n //Get all Freelancers\r\n vm.GetAllFreelancers = function () {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemNames = \"UserStatus,Locations,SkillSet,Role\";\r\n var itemValues = \"Active\" + ',' + vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Field Engineer';\r\n } else {\r\n var itemNames = \"UserStatus,Role\";\r\n var itemValues = \"Active,Field Engineer\";\r\n if(vm.skillsWithPipe && vm.skillsWithPipe.length>0){\r\n itemNames+=\",SkillSet\";\r\n itemValues+=\",\"+vm.skillsWithPipe;\r\n }\r\n }\r\n FreelancerFixedService.GetAllFreelancersWithFilters(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.freelancerUsers = resp.data;\r\n for(var i=0;i0){\r\n // itemNames+=\",SkillSet\";\r\n // itemValues+=\",\"+vm.skillsWithPipe;\r\n // }\r\n // }\r\n FreelancerFixedService.GetFreelancerVendorsByFilters(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.FreelancerVendorUsers = resp.data;\r\n for(var i=0;i 0) {\r\n FreelancerFixedService.AssignTickets(userId, loggedinUser, itemValues, token).then(function (resp) {\r\n\r\n if (resp && resp.data && resp.data.ErrorCode == 140 && resp.data.Message) {\r\n if (mode == 'fixed') {\r\n vm.showFailure(\"Failed\", resp.data.Message + \". Please recharge your account.\");\r\n } else {\r\n vm.showFailure(\"Failed\", resp.data.Message + \".\");\r\n }\r\n } else if (resp && resp.data) {\r\n\r\n vm.showSuccess(\"Success\", \"Ticket assigned successfully\");\r\n vm.selectedItems = [];\r\n\r\n if (mode == 'fixed') {\r\n var jobs = [];\r\n angular.forEach(vm.NewJobs, function (d) {\r\n if (itemValues.split(\",\").indexOf(d.TicketId) >= 0) {\r\n //remove this job from display\r\n } else {\r\n jobs.push(d);\r\n }\r\n });\r\n vm.NewJobs = jobs;\r\n vm.selectAllNewJob = false;\r\n vm.showMinusNewJob = false;\r\n\r\n } else {\r\n $timeout(function () {\r\n vm.GetNewJobs();\r\n }, 500);\r\n }\r\n\r\n } else {\r\n vm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n }\r\n\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n })\r\n } else {\r\n vm.showFailure(\"Failed\", \"Please select jobs to assign\");\r\n }\r\n }\r\n\r\n //Get Broadcasted Jobs\r\n vm.GetBroadcastedJobs = function () {\r\n\r\n // FreelancerFixedService.GetTicketsByFilter(loggedinUser,\"Ticket Status\",\"Broadcasted\").then(function(resp){\r\n\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemName = \"Ticket Status,Circle,SkillSet\";\r\n var itemValues = 'Broadcasted' + ',' + vm.locationSearch + ',' + vm.skillsSearch;\r\n } else {\r\n var itemName = 'Ticket Status';\r\n var itemValues = 'Broadcasted';\r\n }\r\n\r\n FreelancerFixedService.GetBroadcastedBids(loggedinUser, itemName, itemValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.BroadcastedJobs = resp.data;\r\n for (var index = 0; index < vm.BroadcastedJobs.length; index++) {\r\n vm.time = vm.BroadcastedJobs[index].BIDDuration;\r\n //$log.log(\"BidDuration: \",vm.time);\r\n var hr = parseInt(vm.time / 60);\r\n var min = vm.time % 60;\r\n vm.BroadcastedJobs[index].BIDDuration = hr + \":\" + min;\r\n }\r\n // vm.TeamProfile = vm.TeamProfile[0];\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get broadcasted jobs, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get broadcasted jobs, server is not responding correctly.\");\r\n })\r\n }\r\n\r\n vm.JobView = function (ticketId) {\r\n $localStorage.backToOldJobList = 'FreelancerFixedTeamAssign';\r\n $state.go('index.NewJobDetails1', {\r\n ticketId: ticketId\r\n })\r\n }\r\n\r\n vm.toggleAll = function () {\r\n //$log.log('checkAll', vm.checkAll);\r\n var bool = true;\r\n if (vm.checkAll) {\r\n bool = false;\r\n }\r\n angular.forEach(vm.NewJobs, function (v, k) {\r\n // //$log.log('v',v);\r\n // //$log.log('k',k);\r\n v.checked = !bool;\r\n // //$log.log('!bool', v.checked);\r\n vm.checkAll = !bool;\r\n });\r\n }\r\n\r\n vm.checkAny = function (i) {\r\n //$log.log('newJobselectAny', vm.newJobselectAny);\r\n vm.checkAll = true;\r\n angular.forEach(vm.NewJobs, function (v, k) {\r\n\r\n if (!v.checked) {\r\n vm.checkAll = false;\r\n }\r\n });\r\n\r\n }\r\n\r\n vm.showCheckAny = function (i) {\r\n vm.showMinus = true;\r\n angular.forEach(vm.freelancerCheckAny, function (v, k) {\r\n if (v != true && k == vm.freelancerCheckAny[i]) {\r\n vm.showMinus = false;\r\n } else {\r\n vm.showMinus = true;\r\n }\r\n });\r\n }\r\n\r\n vm.GetTicketById = function (ticketId) {\r\n FreelancerFixedService.GetTicketsById(ticketId, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.JobProfile = resp.data;\r\n }\r\n })\r\n }\r\n\r\n //Advance Search\r\n vm.SearchModal = {};\r\n vm.AdvanceSearch = function () {\r\n vm.SearchModal = $uibModal.open({\r\n templateUrl: 'AssignFilter.html',\r\n backdrop: 'static',\r\n scope: $scope\r\n });\r\n //Load All Skills\r\n if (vm.skillData.length==0) {\r\n FreelancerFixedService.GetAllSkills(loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.skillData = resp.data;\r\n }\r\n })\r\n }\r\n //Load All Circles\r\n if (vm.circleData.length==0) {\r\n\r\n FreelancerFixedService.GetAllCircles(loggedinUser).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.circleData = resp.data;\r\n }\r\n })\r\n }\r\n \r\n \r\n }\r\n\r\n vm.removeFilters = function () {\r\n if (vm.isChecked == 'fixed') {\r\n var itemNames = \"TicketStatus\";\r\n var itemValues = 'New';\r\n if (vm.locationSearch) {\r\n itemNames += \",Circle\";\r\n itemValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n itemNames += \",SkillSet\";\r\n itemValues += \",\" + vm.skillsSearch;\r\n }\r\n\r\n FreelancerFixedService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n });\r\n\r\n var teamIteamNames = \"UserStatus,Role\";\r\n var teamIteamValues = 'Active' + ',' + 'Field Engineer';\r\n\r\n if (vm.locationSearch) {\r\n teamIteamNames += \",Locations\";\r\n teamIteamValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n teamIteamNames += \",SkillSet\";\r\n teamIteamValues += \",\" + vm.skillsSearch;\r\n }\r\n FreelancerFixedService.GetUsersByFilter(loggedinUser, teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.fixedUsers = resp.data;\r\n //$log.log('fixedUsers', resp.data);\r\n preprocessData(vm.fixedUsers);\r\n } else {\r\n vm.fixedUsers = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get users, server is not responding correctly.\");\r\n })\r\n\r\n\r\n } else if (vm.isChecked == 'freelancer') {\r\n\r\n var itemNames = \"TicketStatus\";\r\n var itemValues = 'New';\r\n\r\n if (vm.locationSearch) {\r\n itemNames += \",Circle\";\r\n itemValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n itemNames += \",SkillSet\";\r\n itemValues += \",\" + vm.skillsSearch;\r\n }\r\n FreelancerFixedService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n })\r\n\r\n var teamIteamNames = \"UserStatus,Role\";\r\n var teamIteamValues = 'Active' + ',' + 'Field Engineer';\r\n\r\n if (vm.locationSearch) {\r\n teamIteamNames += \",Locations\";\r\n teamIteamValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n teamIteamNames += \",SkillSet\";\r\n teamIteamValues += \",\" + vm.skillsSearch;\r\n } else if(vm.skillsWithPipe && vm.skillsWithPipe.length>0){\r\n teamIteamNames+=\",SkillSet\";\r\n teamIteamValues+=vm.skillsWithPipe;\r\n }\r\n FreelancerFixedService.GetAllFreelancersWithFilters(loggedinUser, teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.freelancerUsers = resp.data;\r\n //$log.log('freelancers', vm.freelancerUsers);\r\n preprocessData(vm.freelancerUsers);\r\n } else {\r\n vm.freelancerUsers = '';\r\n }\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get freelancers, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get freelancers, server is not responding correctly.\");\r\n });\r\n\r\n var broadItemNames = 'Circle,SkillSet,TicketStatus';\r\n var broadItemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Broadcasted';\r\n\r\n FreelancerFixedService.GetBroadcastedBids(loggedinUser, broadItemNames, broadItemValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.BroadcastedJobs = resp.data;\r\n // vm.TeamProfile = vm.TeamProfile[0];\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get broadcasted jobs, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get broadcasted jobs, server is not responding correctly.\");\r\n })\r\n\r\n\r\n } else if (vm.isChecked == 'vendor') {\r\n\r\n var itemNames = \"TicketStatus\";\r\n var itemValues = 'New';\r\n\r\n if (vm.locationSearch) {\r\n itemNames += \",Circle\";\r\n itemValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n itemNames += \",SkillSet\";\r\n itemValues += \",\" + vm.skillsSearch;\r\n }\r\n\r\n FreelancerFixedService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n }\r\n\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n })\r\n\r\n var teamIteamNames = \"UserStatus,Role\";\r\n var teamIteamValues = 'Active' + ',' + 'Field Engineer';\r\n\r\n if (vm.locationSearch) {\r\n teamIteamNames += \",Locations\";\r\n teamIteamValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n teamIteamNames += \",SkillSet\";\r\n teamIteamValues += \",\" + vm.skillsSearch;\r\n }\r\n FreelancerFixedService.GetAllVendors(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data) {\r\n vm.vendorList = resp.data;\r\n preprocessData(vm.vendorList);\r\n }\r\n } else {\r\n vm.vendorList = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get vendors, server is not responding correctly.\");\r\n })\r\n\r\n } else if (vm.isChecked == 'supervisor') {\r\n\r\n var itemNames = \"TicketStatus\";\r\n var itemValues = 'New';\r\n\r\n if (vm.locationSearch) {\r\n itemNames += \",Circle\";\r\n itemValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n itemNames += \",SkillSet\";\r\n itemValues += \",\" + vm.skillsSearch;\r\n }\r\n FreelancerFixedService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n });\r\n\r\n var teamIteamNames = \"UserStatus\";\r\n var teamIteamValues = 'Active';\r\n\r\n if (vm.locationSearch) {\r\n teamIteamNames += \",Locations\";\r\n teamIteamValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n teamIteamNames += \",SkillSet\";\r\n teamIteamValues += \",\" + vm.skillsSearch;\r\n }\r\n FreelancerFixedService.GetUsersByRole(loggedinUser, 'Supervisor', teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp && resp.data.length > 0) {\r\n vm.supervisorList = resp.data;\r\n preprocessData(vm.supervisorList);\r\n } else {\r\n vm.supervisorList = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get supervisors, server is not responding correctly.\");\r\n });\r\n }\r\n }\r\n\r\n //To Search\r\n vm.search = function () {\r\n if (vm.searchform.$valid) {\r\n if (vm.isChecked == 'fixed') {\r\n var itemNames = \"Circle,SkillSet,TicketStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'New';\r\n\r\n FreelancerFixedService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n });\r\n\r\n var teamIteamNames = \"Locations,SkillSet,UserStatus,Role\";\r\n var teamIteamValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active' + ',' + 'Field Engineer';\r\n\r\n FreelancerFixedService.GetUsersByFilter(loggedinUser, teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.fixedUsers = resp.data;\r\n //$log.log('fixedUsers', resp.data);\r\n preprocessData(vm.fixedUsers);\r\n } else {\r\n vm.fixedUsers = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get field engineers, server is not responding correctly.\");\r\n })\r\n\r\n\r\n } else if (vm.isChecked == 'freelancer') {\r\n\r\n var itemNames = \"Circle,SkillSet,TicketStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'New';\r\n\r\n FreelancerFixedService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n });\r\n\r\n var teamIteamNames = \"Locations,SkillSet,UserStatus,Role\";\r\n var teamIteamValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active' + ',' + 'Field Engineer';\r\n\r\n FreelancerFixedService.GetAllFreelancersWithFilters(loggedinUser, teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.freelancerUsers = resp.data;\r\n //$log.log('freelancers', vm.freelancerUsers);\r\n preprocessData(vm.freelancerUsers);\r\n\r\n\r\n } else {\r\n vm.freelancerUsers = '';\r\n }\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get field engineers, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get field engineers, server is not responding correctly.\");\r\n });\r\n\r\n var broadItemNames = 'Circle,SkillSet,TicketStatus';\r\n var broadItemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Broadcasted';\r\n\r\n FreelancerFixedService.GetBroadcastedBids(loggedinUser, broadItemNames, broadItemValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.BroadcastedJobs = resp.data;\r\n // vm.TeamProfile = vm.TeamProfile[0];\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get broadcasted jobs, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get broadcasted jobs, server is not responding correctly.\");\r\n })\r\n\r\n\r\n } else if (vm.isChecked == 'vendor') {\r\n\r\n var itemNames = \"Circle,SkillSet,TicketStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'New';\r\n\r\n FreelancerFixedService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n })\r\n\r\n var teamIteamNames = \"Locations,SkillSet,UserStatus,Role\";\r\n var teamIteamValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active' + ',' + 'Field Engineer';\r\n\r\n FreelancerFixedService.GetAllVendors(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data) {\r\n vm.vendorList = resp.data;\r\n preprocessData(vm.vendorList);\r\n }\r\n } else {\r\n vm.vendorList = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get vendors, server is not responding correctly.\");\r\n });\r\n\r\n } else if (vm.isChecked == 'supervisor') {\r\n\r\n var itemNames = \"Circle,SkillSet,TicketStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'New';\r\n\r\n FreelancerFixedService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get supervisors, server is not responding correctly.\");\r\n });\r\n\r\n var teamIteamNames = \"Locations,SkillSet,UserStatus\";\r\n var teamIteamValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active';\r\n\r\n FreelancerFixedService.GetUsersByRole(loggedinUser, 'Supervisor', teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp && resp.data.length > 0) {\r\n vm.supervisorList = resp.data;\r\n preprocessData(vm.supervisorList);\r\n } else {\r\n vm.supervisorList = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get users, server is not responding correctly.\");\r\n })\r\n\r\n }\r\n vm.SearchModal.close();\r\n } else {\r\n vm.searchform.submitted = true;\r\n }\r\n\r\n\r\n }\r\n\r\n \r\n vm.tabNo = function (tab) {\r\n vm.tab = tab;\r\n //$log.log('TabNo', vm.tab);\r\n }\r\n\r\n vm.CloseAdvanceSearchModal = function () {\r\n vm.locationSearch = '';\r\n vm.skillsSearch = '';\r\n vm.SearchModal.close();\r\n }\r\n\r\n vm.ChangeMode = function (mode) {\r\n vm.tabNo('1');\r\n if (mode == 'fixed') {\r\n vm.fixed_select_all = false;\r\n vm.fixed_selectAll = false;\r\n vm.selectedItems = [];\r\n vm.fixed_select_single = [];\r\n if(vm.getAccountConfigSetting('CustomizeJobAssign')){\r\n vm.filteredProperties={\"SkillSet\":\"Water Sample Collection\"};\r\n } \r\n vm.GetAllActiveFixedUsers();\r\n\r\n } else if (mode == 'freelancer') {\r\n // vm.GetBroadcastedJobs();\r\n vm.GetAllFreelancers();\r\n vm.free_selectedItems = [];\r\n vm.freelancer_select_single = [];\r\n vm.free_NewJobSelectedItems = [];\r\n vm.freelancer_select_single_NewJob = [];\r\n vm.freelancer_select_all = false;\r\n vm.freelancer_selectAll = false;\r\n vm.freelancer_SelectAllJob = false;\r\n vm.freelancer_Select_All_NewJobs = false;\r\n\r\n\r\n } else if (mode == 'FixedVendors') {\r\n vm.GetAllVendors();\r\n vm.fixed_select_all = false;\r\n vm.fixed_selectAll = false;\r\n vm.selectedItems = [];\r\n vm.fixed_select_single = [];\r\n if(vm.getAccountConfigSetting('CustomizeJobAssign')){\r\n vm.filteredProperties={\"SkillSet\":\"Water Lab Test\"};\r\n }\r\n } else if (mode == 'vendor') {\r\n // vm.GetBroadcastedJobs();\r\n vm.GetAllFreelancerVendors();\r\n vm.Vendor_selectedItems = [];\r\n vm.Vendor_select_single = [];\r\n vm.Vendor_NewJobSelectedItems = [];\r\n vm.Vendor_select_single_NewJob = [];\r\n vm.Vendor_select_all = false;\r\n vm.Vendor_selectAll = false;\r\n vm.Vendor_SelectAllJob = false;\r\n vm.Vendor_Select_All_NewJobs = false;\r\n\r\n\r\n }\r\n else if (mode == 'supervisor') {\r\n vm.GetUsersByRole('Supervisor');\r\n vm.fixed_select_all = false;\r\n vm.fixed_selectAll = false;\r\n vm.selectedItems = [];\r\n vm.fixed_select_single = [];\r\n if(vm.getAccountConfigSetting('CustomizeJobAssign')){\r\n vm.filteredProperties = {\"SkillSet\":\"Water Lab Test\"};\r\n }\r\n }\r\n }\r\n vm.ChangeMode('fixed');\r\n\r\n\r\n //Get Users By Role\r\n\r\n vm.GetUsersByRole = function (role) {\r\n\r\n if (vm.loggedInUserRole == 'Administrator' || vm.loggedInUserRole == 'Project Manager') {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemNames = \"Locations,SkillSet,UserStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active';\r\n } else {\r\n var itemNames = \"UserStatus\";\r\n var itemValues = \"Active\";\r\n }\r\n } else if (vm.loggedinAs == 'Supervisor' || vm.loggedinAs == 'Vendor Supervisor') {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemNames = \"Locations,SkillSet,UserStatus,ReportingTo\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active' + ',' + vm.loggedInUserReportingTo;\r\n } else {\r\n var itemNames = \"UserStatus,ReportingTo\";\r\n var itemValues = \"Active,\" + vm.loggedInUserReportingTo;\r\n }\r\n } else if (vm.loggedInUserRole == 'Vendor Manager') {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemNames = \"Locations,SkillSet,UserStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active';\r\n } else {\r\n var itemNames = \"UserStatus\";\r\n var itemValues = \"Active,\";\r\n }\r\n }\r\n else if (vm.loggedInUserRole == 'Help Desk') {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemNames = \"Locations,SkillSet,UserStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active';\r\n } else {\r\n var itemNames = \"UserStatus\";\r\n var itemValues = \"Active,\";\r\n }\r\n }\r\n\r\n FreelancerFixedService.GetUsersByRole(loggedinUser, role, itemNames, itemValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.supervisorList = resp.data;\r\n preprocessData(vm.supervisorList);\r\n }\r\n })\r\n\r\n }\r\n\r\n\r\n\r\n\r\n //vm.tabNo('1');\r\n\r\n // Route Jobs\r\n\r\n vm.routeTicket = function(index){\r\n var data = {};\r\n for(var i=0; i< vm.NewJobs.length;i++){\r\n if(vm.NewJobs[i].checked){\r\n if(i==0){\r\n data.JobIds = vm.NewJobs[i].TicketId;\r\n }else{\r\n data.JobIds = data.JobIds + ',' + vm.NewJobs[i].TicketId;\r\n }\r\n }\r\n }\r\n /*angular.forEach(vm.freelancerUsers, function (d) {\r\n if (d.checked) {\r\n data.UserId = d.UserId;\r\n }\r\n });*/\r\n\r\n for(var i=0; i< vm.freelancerUsers.length;i++){\r\n if(vm.freelancerUsers[i].checked){\r\n data.UserId = vm.freelancerUsers[i].UserId;\r\n break;\r\n }\r\n }\r\n\t\t\t if(data.JobIds){\r\n FreelancerFixedService.RouteJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 201) {\r\n\t\t\t\t\t vm.showSuccess('Success',\"Jobs Route Successfully\");\r\n\t\t\t\t\t $timeout(function () {\r\n\t\t\t\t\t\t$state.reload();\r\n\t\t\t\t\t }, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t vm.showFailure(\"Failed\", \"Server error.\");\r\n\t\t\t\t\t}\r\n\t\t\t\t });\r\n\t\t\t }else{\r\n\t\t\t\t vm.showFailure(\"Failed\", \"Please select tickets.\");\r\n\t\t\t }\r\n\t\t\t\r\n\t\t}\r\n\r\n\r\n // Route Jobs\r\n vm.routeTicketToFV = function(index){\r\n var data = {};\r\n for(var i=0; i< vm.NewJobs.length;i++){\r\n if(vm.NewJobs[i].checked){\r\n if(i==0){\r\n data.JobIds = vm.NewJobs[i].TicketId;\r\n }else{\r\n data.JobIds = data.JobIds + ',' + vm.NewJobs[i].TicketId;\r\n }\r\n }\r\n }\r\n for(var i=0; i< vm.FreelancerVendorUsers.length;i++){\r\n if(vm.FreelancerVendorUsers[i].checked){\r\n data.UserId = vm.FreelancerVendorUsers[i].UserId;\r\n break;\r\n }\r\n }\r\n\r\n if(data.JobIds){\r\n FreelancerFixedService.RouteJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 201) {\r\n vm.showSuccess('Success',\"Jobs Route Successfully\");\r\n $timeout(function () {\r\n $state.reload();\r\n }, 2000);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", \"Server error.\");\r\n }\r\n });\r\n }else{\r\n vm.showFailure(\"Failed\", \"Please select tickets.\");\r\n }\r\n \r\n }\r\n\r\n //Broadcast Bids/Jobs\r\n vm.BroadCastJobs = function () {\r\n\r\n var BidData = [];\r\n angular.forEach(vm.NewJobs, function (d) {\r\n var obj = {};\r\n var time = '';\r\n var hrs = '';\r\n var min = '';\r\n if (d.checked) {\r\n obj.JobID = d.TicketId;\r\n var time = d.BidDuration.split(':');\r\n var hrs = parseInt(time[0]);\r\n var min = parseInt(time[1]);\r\n obj.BIDDuration = hrs*60 + min;\r\n obj.BroadCastRate = d.BroadcastRate\r\n obj.BroadCastGrossRate = d.BroadcastGrossRate\r\n obj.MobiforceCommissionPercentage = d.MobiforceCommission\r\n obj.FixedBidPrice = true;\r\n BidData.push(obj);\r\n }\r\n })\r\n var UserData = [];\r\n /*angular.forEach(vm.freelancerUsers, function (d) {\r\n if (d.checked) {\r\n UserData.push(d.UserId);\r\n }\r\n });*/\r\n\r\n for(var i=0; i< vm.freelancerUsers.length;i++){\r\n if(vm.freelancerUsers[i].checked){\r\n UserData.push(vm.freelancerUsers[i].UserId); \r\n }\r\n }\r\n\r\n if (BidData.length > 0 && UserData.length > 0) {\r\n var data = {\r\n \"Bids\": BidData,\r\n \"Users\": UserData\r\n };\r\n //$log.log('BradcastedJobs', data);\r\n vm.BroadcastModal.close();\r\n\r\n FreelancerFixedService.BroadCastJobs(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 201 || resp.status == 200) {\r\n vm.toaster_success.body = 'Jobs Broadcasted Successfully';\r\n toaster.pop(vm.toaster_success);\r\n vm.free_NewJobSelectedItems = [];\r\n $timeout(function () {\r\n $state.reload();\r\n }, 2000);\r\n }\r\n })\r\n } else {\r\n vm.showFailure(\"Failed\", \"Please select jobs and users.\");\r\n }\r\n }\r\n\r\n vm.BroadCastJobsFV = function () {\r\n\r\n var BidData = [];\r\n angular.forEach(vm.NewJobs, function (d) {\r\n var obj = {};\r\n var time = '';\r\n var hrs = '';\r\n var min = '';\r\n if (d.checked) {\r\n obj.JobID = d.TicketId;\r\n var time = d.BidDuration.split(':');\r\n var hrs = parseInt(time[0]);\r\n var min = parseInt(time[1]);\r\n obj.BIDDuration = hrs*60 + min;\r\n obj.BroadCastRate = d.BroadcastRate\r\n obj.BroadCastGrossRate = d.BroadcastGrossRate\r\n obj.MobiforceCommissionPercentage = d.MobiforceCommission\r\n obj.FixedBidPrice = true;\r\n BidData.push(obj);\r\n }\r\n })\r\n var UserData = [];\r\n /*angular.forEach(vm.FreelancerVendorUsers, function (d) {\r\n if (d.checked) {\r\n UserData.push(d.UserId);\r\n }\r\n });*/\r\n\r\n for(var i=0; i< vm.FreelancerVendorUsers.length;i++){\r\n if(vm.FreelancerVendorUsers[i].checked){\r\n UserData.push(vm.FreelancerVendorUsers[i].UserId); \r\n }\r\n }\r\n\r\n if (BidData.length > 0 && UserData.length > 0) {\r\n var data = {\r\n \"Bids\": BidData,\r\n \"Users\": UserData\r\n };\r\n //$log.log('BradcastedJobs', data);\r\n vm.BroadcastModalFV.close();\r\n\r\n FreelancerFixedService.BroadCastJobs(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 201 || resp.status == 200) {\r\n vm.toaster_success.body = 'Jobs Broadcasted Successfully';\r\n toaster.pop(vm.toaster_success);\r\n vm.free_NewJobSelectedItems = [];\r\n $timeout(function () {\r\n $state.reload();\r\n }, 2000);\r\n }\r\n })\r\n } else {\r\n vm.showFailure(\"Failed\", \"Please select jobs and users.\");\r\n }\r\n }\r\n\r\n\r\n // vm.AssignReceivedBid = function (userId, bidRate, bidGrossRate) {\r\n // bidGrossRate = bidGrossRate * GrossRate;\r\n \r\n // FreelancerFixedService.AssignReceivedBid(loggedinUser, vm.broadcastTicketId, userId, token).then(function (resp) {\r\n // if (resp && resp.data) {\r\n // vm.showSuccess(\"Success\", \"Assigned Successfully\");\r\n // vm.ChangeMode('freelancer');\r\n // vm.BidReceivedJobs = [];\r\n // }\r\n // }, function (err) {\r\n // if (err && err.data && err.data.Message) {\r\n // vm.showFailure(\"Failed\", err.data.Message);\r\n // } else {\r\n // vm.showFailure(\"Failed\", \"Unable to assign job, server is not responding correctly.\");\r\n // }\r\n // })\r\n // }\r\n\r\n\r\nvm.AssignReceivedBid = function(user){\r\n \r\n vm.AllDataList =[];\r\nvar data ={\r\n \"TicketId\": vm.broadcastTicketId,\r\n \"UserId\": user.UserId,\r\n \"StartTime\":vm.broadcaststartTime,\r\n \"Endtime\": vm.broadcastEndTime,\r\n \"SuggestedPrice\": 0,\r\n \"AssignPrice\": parseInt(vm.broadcastAssignRate),\r\n \"Distance\": 0,\r\n}\r\nvm.AllDataList.push(data)\r\n\r\n ScheduleAssignService.AssignTicketsTimeline(loggedinUser,vm.AllDataList,token).then(function(resp){\r\n if (resp && resp.data) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.ChangeMode('freelancer');\r\n vm.BidReceivedJobs = [];\r\n\r\n $timeout(function () {\r\n \r\n vm.GetBroadcastedJobs();\r\n }, 1500);\r\n }\r\n }, function (err) {\r\n if (err && err.data) {\r\n vm.showFailure(\"Failed\", err.data);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to assign job, server is not responding correctly.\");\r\n }\r\n })\r\n\r\n\r\n}\r\n\r\n\r\n\r\n\r\n //Get Bid Received\r\n\r\n vm.BidReceived = function (ticket) {\r\n \r\n var status = 'Received';\r\n vm.broadcastTicketId = ticket.JobId;\r\n vm.broadcastLinkId = ticket.LinkId;\r\n vm.broadcaststartTime = ticket.StartDateTime;\r\n vm.broadcastEndTime = ticket.EndDateTime;\r\n vm.broadcastAssignRate = ticket.JobAssignRate;\r\n\r\n vm.isReceived = true;\r\n FreelancerFixedService.GetBidReceivedByStatus(loggedinUser, vm.broadcastTicketId, status, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.BidReceivedJobs = resp.data;\r\n angular.forEach(vm.BidReceivedJobs, function (user) {\r\n\r\n user.ratingStars = vm.getRatingStars(user.UserRating);\r\n user.blankStars = vm.getBlankStars(user.UserRating);\r\n user.exp = user.Experience > 0 ? parseFloat(user.UserExperience / 365).toFixed(1) : 0;\r\n })\r\n }\r\n //$log.log('Bids', resp.data);\r\n })\r\n }\r\n\r\n //Get bid sent\r\n vm.BidSent = function(ticketId, linkId){\r\n vm.broadcastTicketId = ticketId;\r\n vm.broadcastLinkId = linkId;\r\n vm.isReceived = false;\r\n FreelancerFixedService.GetBidSentByStatus(loggedinUser, ticketId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.BidReceivedJobs = resp.data;\r\n angular.forEach(vm.BidReceivedJobs, function (user) {\r\n\r\n user.ratingStars = vm.getRatingStars(user.UserRating);\r\n user.blankStars = vm.getBlankStars(user.UserRating);\r\n user.exp = user.Experience > 0 ? parseFloat(user.UserExperience / 365).toFixed(1) : 0;\r\n })\r\n }\r\n });\r\n }\r\n\r\n //Data Tables\r\n vm.dtOptions = DTOptionsBuilder.newOptions().withDOM(\r\n '<\"html5buttons\"B>lTfgitp').withPaginationType(\r\n 'full_numbers').withOption('lengthChange', false)\r\n .withOption('initComplete', function () {\r\n $('.dataTables_filter input').unbind();\r\n })\r\n .withOption('order', [1, 'asc']);\r\n\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n //DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable()\r\n // DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(7).notSortable()\r\n ];\r\n\r\n //Global Calling\r\n vm.GetNewJobs();\r\n vm.GetAllActiveFixedUsers();\r\n //$log.log('isChecked', vm.isChecked);\r\n\r\n vm.openBroadcastmodal = function (i) {\r\n vm.broadcastError = null; \r\n vm.jobselected = [];\r\n angular.forEach(vm.NewJobs, function (d) {\r\n if (d.checked) {\r\n if (!d.BidDuration.includes(\":\")) {\r\n d.BidDuration = parseInt(d.BidDuration / 60) + \":\" + parseInt(d.BidDuration % 60);\r\n }\r\n \r\n vm.jobselected.push(d);\r\n $log.log(d)\r\n }\r\n });\r\n if (vm.jobselected.length > 0) {\r\n vm.BroadcastModal = $uibModal.open({\r\n templateUrl: 'Broadcast.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n } else {\r\n vm.broadcastError = \"Please select jobs for bradcast\";\r\n }\r\n }\r\n\r\n vm.closeModal = function () {\r\n vm.BroadcastModal.close();\r\n }\r\n\r\n vm.openBroadcastmodalforFV = function (i) {\r\n vm.broadcastErrorFV = null; \r\n vm.jobselectedFV = [];\r\n angular.forEach(vm.NewJobs, function (d) {\r\n if (d.checked) {\r\n if (!d.BidDuration.includes(\":\")) {\r\n d.BidDuration = parseInt(d.BidDuration / 60) + \":\" + parseInt(d.BidDuration % 60);\r\n }\r\n \r\n vm.jobselectedFV.push(d);\r\n $log.log(d)\r\n }\r\n });\r\n if (vm.jobselectedFV.length > 0) {\r\n vm.BroadcastModalFV = $uibModal.open({\r\n templateUrl: 'BroadcastFV.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n } else {\r\n vm.broadcastErrorFV = \"Please select jobs for bradcast\";\r\n }\r\n }\r\n\r\n\r\n vm.OpenBroadcastModelToFV = function (i) {\r\n vm.broadcastErrorFV = null; \r\n vm.jobselectedFV = [];\r\n angular.forEach(vm.NewJobs, function (d) {\r\n if (d.checked) {\r\n if (!d.BidDuration.includes(\":\")) {\r\n d.BidDuration = parseInt(d.BidDuration / 60) + \":\" + parseInt(d.BidDuration % 60);\r\n }\r\n \r\n vm.jobselectedFV.push(d);\r\n $log.log(d)\r\n }\r\n });\r\n if (vm.jobselectedFV.length > 0) {\r\n vm.BroadcastModalFV = $uibModal.open({\r\n templateUrl: 'BroadcastFV.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n } else {\r\n vm.broadcastErrorFV = \"Please select jobs for bradcast\";\r\n }\r\n }\r\n\r\n vm.closeModalFV = function () {\r\n vm.BroadcastModalFV.close();\r\n }\r\n\r\n vm.GetAllVendors = function () {\r\n vm.vendorList = [];\r\n var itemNames = \"\";\r\n var itemValues = \"\";\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n itemNames = \"VendorLocations,VendorSkillsets,VendorStatus\";\r\n itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active';\r\n } else {\r\n itemNames = \"VendorStatus\";\r\n itemValues = \"Active\";\r\n }\r\n if (vm.loggedInUserRole == 'Help Desk') {\r\n itemNames += \",VendorSkillsets\";\r\n itemValues += \",\"+ loggedinUserSkill; \r\n }\r\n\r\n // GetAllVendors\r\n FreelancerFixedService.GetFixedVendorsByFilters(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data) {\r\n angular.forEach(resp.data, function(vendor){\r\n if (vendor.UserId !=loggedinUser) {\r\n vm.vendorList.push(vendor);\r\n }\r\n })\r\n //vm.vendorList = resp.data;\r\n\r\n preprocessData(vm.vendorList);\r\n // $log.log('vendors', vm.vendorList);\r\n }\r\n } else {\r\n vm.vendorList = '';\r\n }\r\n })\r\n }\r\n\r\n //Implementation of Checkboxes for all tables\r\n vm.selectedItems = [];\r\n vm.fixed_select_single = [];\r\n vm.free_selectedItems = [];\r\n vm.freelancer_select_single = [];\r\n vm.free_NewJobSelectedItems = [];\r\n vm.freelancer_select_single_NewJob = [];\r\n\r\n vm.selectAllCheckboxes = function (mode, table) {\r\n if (mode == 'fixed' && table == 'fixed_NewJob') {\r\n if (vm.fixed_selectAll) {\r\n angular.forEach(vm.NewJobs, function (item) {\r\n idx = vm.selectedItems.indexOf(item);\r\n if (idx >= 0) {\r\n return true;\r\n } else {\r\n vm.fixed_select_all = true;\r\n vm.selectedItems.push(item);\r\n vm.fixed_select_single.push(\"true\");\r\n }\r\n })\r\n\r\n } else {\r\n vm.fixed_select_all = false;\r\n vm.fixed_selectAll = false;\r\n vm.selectedItems = [];\r\n vm.fixed_select_single = [];\r\n }\r\n\r\n //$log.log('selectedItems', vm.selectedItems);\r\n } else if (mode == 'freelancer' && table == 'freelancer_users') {\r\n if (vm.freelancer_selectAll) {\r\n angular.forEach(vm.freelancerUsers, function (item) {\r\n idx = vm.free_selectedItems.indexOf(item);\r\n if (idx >= 0) {\r\n return true;\r\n } else {\r\n vm.freelancer_select_all = true;\r\n vm.free_selectedItems.push(item);\r\n vm.freelancer_select_single.push(\"true\");\r\n }\r\n })\r\n } else {\r\n vm.freelancer_select_all = false;\r\n vm.freelacer_selectAll = false;\r\n vm.free_selectedItems = [];\r\n vm.freelancer_select_single = [];\r\n }\r\n\r\n } else if (mode == 'freelancer' && table == 'freelancer_NewJob') {\r\n if (vm.freelancer_SelectAllJobs) {\r\n angular.forEach(vm.NewJobs, function (item) {\r\n idx = vm.free_NewJobSelectedItems.indexOf(item);\r\n if (idx >= 0) {\r\n return true;\r\n } else {\r\n vm.freelancer_Select_All_NewJobs = true;\r\n vm.free_NewJobSelectedItems.push(item);\r\n vm.freelancer_select_single_NewJob.push(\"true\");\r\n }\r\n })\r\n } else {\r\n vm.freelancer_Select_All_NewJobs = false;\r\n vm.freelancer_SelectAllJobs = false;\r\n vm.free_NewJobSelectedItems = [];\r\n vm.freelancer_select_single_NewJob = [];\r\n }\r\n }\r\n //$log.log('freelancer_select_single_NewJob', vm.freelancer_select_single_NewJob);\r\n //$log.log('free_NewJobSelectedItems', vm.free_NewJobSelectedItems);\r\n }\r\n\r\n function preprocessData(users) {\r\n if (users && users.length > 0) {\r\n angular.forEach(users, function (user) {\r\n user.locationCount = user.Locations && user.Locations.length > 0 ? user.Locations.length : 0;\r\n user.locationToolTip = \"\";\r\n if (user.locationCount > 0) {\r\n angular.forEach(user.Locations, function (loc) {\r\n user.locationToolTip += loc + \",\";\r\n })\r\n user.locationToolTip = user.locationToolTip.substr(0, user.locationToolTip.length - 1);\r\n }\r\n\r\n user.SkillSetCount = user.SkillSet && user.SkillSet.length > 0 ? user.SkillSet.length : 0;\r\n user.SkillSetToolTip = \"\";\r\n if (user.SkillSetCount > 0) {\r\n angular.forEach(user.SkillSet, function (s) {\r\n user.SkillSetToolTip += s + \",\";\r\n })\r\n user.SkillSetToolTip = user.SkillSetToolTip.substr(0, user.SkillSetToolTip.length - 1);\r\n }\r\n\r\n user.VendorLocationsCount = user.VendorLocations && user.VendorLocations.length > 0 ? user.VendorLocations.length : 0;\r\n user.VendorLocationsToolTip = \"\";\r\n if (user.VendorLocationsCount > 0) {\r\n angular.forEach(user.VendorLocations, function (loc) {\r\n user.VendorLocationsToolTip += loc + \",\";\r\n })\r\n user.VendorLocationsToolTip = user.VendorLocationsToolTip.substr(0, user.VendorLocationsToolTip.length - 1);\r\n }\r\n\r\n user.VendorSkillsetsCount = user.VendorSkillsets && user.VendorSkillsets.length > 0 ? user.VendorSkillsets.length : 0;\r\n user.VendorSkillsetsToolTip = \"\";\r\n if (user.VendorSkillsetsCount > 0) {\r\n angular.forEach(user.VendorSkillsets, function (s) {\r\n user.VendorSkillsetsToolTip += s + \",\";\r\n })\r\n user.VendorSkillsetsToolTip = user.VendorSkillsetsToolTip.substr(0, user.VendorSkillsetsToolTip.length - 1);\r\n }\r\n\r\n // $log.log('ActualRating', user.FirstName + '' + Math.round(user.Ratings))\r\n user.ratingStars = vm.getRatingStars(Math.round(user.Ratings));\r\n user.blankStars = vm.getBlankStars(Math.round(user.Ratings));\r\n // $log.log('ratingStars', user.ratingStars);\r\n //$log.log('blankStars', user.getBlankStars);\r\n user.exp = user.Experience > 0 ? parseFloat(user.Experience / 365).toFixed(1) : 0;\r\n user.checked = false;\r\n });\r\n }\r\n }\r\n\r\n vm.getProfilePic = function (profilePicName) {\r\n return profilePicName ? ImageUrl + \"/\" + profilePicName : null;\r\n }\r\n\r\n vm.implementSelectItemsNewJob = function (itemList, scope) {\r\n scope.selectAllNewJob = false;\r\n scope.showMinusNewJob = false;\r\n scope.selectRowNewJob = function (i) {\r\n //$log.log(\"selectRow called\");\r\n scope.showMinusNewJob = false;\r\n scope.selectAllNewJob = false;\r\n angular.forEach(scope[itemList], function (d) {\r\n // //$log.log(d);\r\n if (d.checked) {\r\n scope.showMinusNewJob = true;\r\n }\r\n });\r\n }\r\n scope.applyAllNewJobSelect = function () {\r\n //$log.log(\"applyAllSelect called\");\r\n angular.forEach(scope[itemList], function (d) {\r\n // //$log.log(d);\r\n d.checked = scope.selectAllNewJob;\r\n });\r\n }\r\n }\r\n\r\n vm.implementSelectItemsNewJob('NewJobs', this);\r\n\r\n vm.implementSelectItemsFV = function (itemList, scope) {\r\n scope.selectAllFV = false;\r\n scope.showMinusFV = false;\r\n scope.selectCountFV = 0;\r\n scope.selectRowFV = function (i) {\r\n //$log.log(\"selectRow called\");\r\n scope.selectCountFV = 0;\r\n scope.showMinusFV = false;\r\n scope.selectAllFV = false;\r\n angular.forEach(scope[itemList], function (d) {\r\n // //$log.log(d);\r\n if (d.checked) {\r\n scope.showMinusFV = true;\r\n scope.selectCountFV++;\r\n }\r\n });\r\n }\r\n scope.applyAllFVSelect = function () {\r\n //$log.log(\"applyAllSelect called\");\r\n angular.forEach(scope[itemList], function (d) {\r\n // //$log.log(d);\r\n d.checked = scope.selectAllFV;\r\n scope.selectCountFV++;\r\n });\r\n }\r\n }\r\n vm.implementSelectItemsFV('FreelancerVendorUsers', this);\r\n\r\n vm.implementSelectItemsFL = function (itemList, scope) {\r\n scope.selectAllFL = false;\r\n scope.showMinusFL = false;\r\n scope.selectCountFL = 0;\r\n scope.selectRowFL = function (i) {\r\n //$log.log(\"selectRow called\");\r\n scope.selectCountFL = 0;\r\n scope.showMinusFL = false;\r\n scope.selectAllFL = false;\r\n angular.forEach(scope[itemList], function (d) {\r\n // //$log.log(d);\r\n if (d.checked) {\r\n scope.showMinusFL = true;\r\n scope.selectCountFL++;\r\n }\r\n });\r\n }\r\n scope.applyAllFLSelect = function () {\r\n //$log.log(\"applyAllSelect called\");\r\n angular.forEach(scope[itemList], function (d) {\r\n // //$log.log(d);\r\n d.checked = scope.selectAllFL;\r\n scope.selectCountFL++;\r\n });\r\n }\r\n }\r\n vm.implementSelectItemsFL('freelancerUsers', this);\r\n\r\n }\r\n});\nangular.module('inspinia').service('FreelancerProfileService', function (ApiURL, SchedulingAPI,$log,FreelancerURL, $http, $localStorage, $window, PublicApiURL, ActivityURL) {\r\n\r\n \r\n});\r\n\nangular.module('inspinia').controller('FreelancerProfileController', function ($state, $localStorage) {\r\n var vm = this;\r\n \r\n var loggedInUserId = $localStorage.loggedInUserId;\r\n if (!loggedInUserId) {\r\n \r\n $state.go('Login', {\r\n reload: true\r\n });\r\n \r\n } else {\r\n \r\n \r\n \r\n }\r\n })\r\n \r\n\r\n \r\n \nangular.module('inspinia').service('FreelancerTechnicianProfileService', function (ApiURL,FreelancerURL, LocationURL, $log, $http, $localStorage) {\r\n \r\n\t //https://perf.mymobiforce.com/freelancerapi/api/FreeLancerUser/F00000000684/U400000000001/byUserIdWithJobCount\r\n\tthis.GetUserId = function(loggedInUser,userId, token){\r\n\t var url = FreelancerURL + '/api/FreeLancerUser/' + userId +'/'+ loggedInUser+ '/'+ 'byUserIdWithJobCount' ;\r\n\t return $http.get(url,{\r\n\t headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n\t })\r\n\t}\r\n\r\n\t//https://product.mymobiforce.com/coreapi/api/User/UpgradeFreelancerToVendor\r\n\tthis.UpgradeFreelancerToVendor = function(loggedInUser, userId, token){\r\n\t\tvar url = ApiURL + '/api/User/UpgradeFreelancerToVendor';\r\n\t\treturn $http.put(url, {\"FreelancerId\": userId}, {\r\n\t\t headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedInUser }\r\n\t\t});\r\n\t }\r\n\r\n\t this.PreferredSingleUser = function(loggedInUser, userId, status, token){\r\n\t\tvar url = FreelancerURL + '/api/FreeLancerUser/Favorite/' + loggedInUser + '/'+ userId +'/'+status;\r\n\t\treturn $http.put(url, null, {\r\n\t\t headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedInUser }\r\n\t\t});\r\n\t }\r\n\r\n\t this.BlockedSingleUser = function(loggedinUser, userId, status, token){\r\n\t\tvar url = FreelancerURL + '/api/FreeLancerUser/Block/' + loggedinUser + '/'+ userId +'/'+status;\r\n\t\treturn $http.put(url, null, {\r\n\t\t headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n\t\t});\r\n\t }\r\n\r\n\t //https://perf.mymobiforce.com/FreelancerAPI/api/FreelancerAccount/F00000000000/F00000000684/getaccountbyfreelancerid\r\n\t this.GetBalance = function(loggedInUser,userId, token){\r\n\t\tvar url = FreelancerURL + '/api/FreelancerAccount/' + loggedInUser +'/'+ userId+ '/'+ 'getaccountbyfreelancerid' ;\r\n\t\treturn $http.get(url,{\r\n\t\t headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n\t\t})\r\n\t }\r\n\r\n\t this.getFreelancerHistory = function (loggedInUser,userId, token) {\r\n\t\tvar url = FreelancerURL + \"/api/FreelancerRecharge/\" + userId + \"/getrechargehistorybyself?StartDate=&EndDate=\";\r\n\t\treturn $http.get(url, {\r\n\t\t headers: {\r\n\t\t\t'Content-Type': 'application/json',\r\n\t\t\t'Token':token,\r\n \t 'UserId':loggedInUser\r\n\t\t }\r\n\t\t});\r\n\t }\r\n\r\n\tthis.getJobsByUserId=function(userId,loggedinUser, token){\r\n\t//var url =ApiURL + \"/api/Ticket/\" +userId+\"/byUserId?reqUserId=\"+loggedinUser;\r\n\tvar url =ApiURL + \"/api/Ticket/\" +userId+\"/Approved/byUserIdStatus?reqUserId=\"+loggedinUser;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n\t\t'Token': token, \r\n\t\t'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n \r\n//https://perf.mymobiforce.com/coreapi/api/User/GetEULAByUserId?reqUserId=U350000000001&userId=U350000000001\r\nthis.UserAgreement=function(loggedinUser, userId, token){\r\n var url =ApiURL + \"/api/User/GetEULAByUserId?reqUserId=\" +loggedinUser+\"&userId=\"+userId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n\r\n //https://perf.mymobiforce.com/freelancerapi/api/FreeLancerUser/GetFEBankDetail?AccountId=0&UserId=F00000000858\r\n this.BankDetails=function(loggedinUser, userId, token){\r\n var url =FreelancerURL + \"/api/FreeLancerUser/GetFEBankDetail?AccountId=0\" +\"&userId=\"+userId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n //https://product.mymobiforce.com/coreapi/api/Report/GeneratePdfSelfDeclaration?userId=F00000001208\r\n this.GeneratePdfSelfDeclaration = function(loggedinUser, userId, token){\r\n var url = ApiURL + '/api/Report/GeneratePdfSelfDeclaration?userId=' + userId;\r\n return $http.get(url,{\r\n headers:{'Content-Type': 'application/json','Token':token, 'UserId':loggedinUser}\r\n })\r\n }\r\n\r\nthis.GeneratePdfVerificationReport = function(loggedinUser, userId, token){\r\n var url = ApiURL + '/api/Report/GeneratePdfVerificationReport?userId=' + userId;\r\n return $http.get(url,{\r\n headers:{'Content-Type': 'application/json','Token':token, 'UserId':loggedinUser}\r\n })\r\n }\r\n});\r\n//https://perf.mymobiforce.com/coreapi/api/User/F00000000657/byUserIdWithJobCount?reqUserId=F00000000000\n\r\n\r\nangular.module('inspinia').controller('FreelancerTechnicianProfileController', function (FreelancerTechnicianProfileService,MainService,ImageUrl, $log, $state, $localStorage, $stateParams, $uibModal, $scope, DTOptionsBuilder, DTColumnDefBuilder, toaster, $timeout) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n // var loggedinUser = 'F00000000000';\r\n var token = $localStorage.token;\r\n vm.loggedInUser_Role=$localStorage.loggedInUser_Role;\r\n vm.showSuccess = $scope.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.main.showFailure;\r\n vm.NokiaTableHeaderChange = $localStorage.accountConfig.NokiaTableHeaderChange;\r\n if (!loggedinUser) {\r\n $state.go('Login',{\r\n reload:true\r\n });\r\n }else{\r\n //Global Variable Declaration\r\n vm.CustomDateformat = $localStorage.CustomDateformat;\r\n vm.OnlyDateformat = $localStorage.OnlyDateformat;\r\n vm.vendorList='';\r\n vm.vendorData = '';\r\n vm.ActivationStatus = '';\r\n vm.searchText = '';\r\n vm.userId = $stateParams.UserId; \r\n vm.jobTickets = '';\r\n vm.itemName = '';\r\n vm.DocumentprofileImg=[];\r\n vm.CertprofileImg=[];\r\n vm.VerificationCertprofileImg=[];\r\n vm.itemValue = '';\r\n vm.dtInstance = {};\r\n vm.dtInstanceticket={};\r\n vm.AccountHistoryData=[];\r\n $localStorage.VendorDetailsView='';\r\n $localStorage.VendorPageIndex=1;\r\n vm.ToolsDetailList=[];\r\n vm.PreviousCompanyDetailsList=[];\r\n vm.TrainingImagebase64=[];\r\n vm.TrainingAttendancebase64=[];\r\n vm.PCExperienceLetterbase64=[];\r\n vm.ExperienceVerificationReportbase64=[];\r\n vm.pdfimage=\"\";\r\n vm.CriminalVerificationbase64=\"\";\r\n vm.getPicUrl = function (profilePicName) {\r\n return profilePicName ? ImageUrl + \"/\" + profilePicName : null;\r\n }\r\n\r\n // vm.PDFView = function (page) {\r\n // vm.pdfimage = page;\r\n // $scope.selected = null;\r\n \r\n // jobAppointmentModal = $uibModal.open({\r\n // templateUrl: 'PDFView.html',\r\n // size :'lg',\r\n // scope: $scope\r\n // });\r\n \r\n // }\r\nvm.OpenPdfModal= function(PdfPathName,TypeName)\r\n{\r\n jobAppointmentModal = $uibModal.open({\r\n templateUrl: 'PDFView.html',\r\n size :'lg',\r\n scope: $scope,\r\n controller: ModalInstanceCtrl(PdfPathName,TypeName)\r\n });\r\n}\r\n\r\nvm.PDFViewGeneratePdfSelfDeclaration = function () { \r\n vm.OpenPdfModal(vm.userId,\"Self Declaration\");\r\n}\r\nvm.PDFViewGeneratePdfVerificationReport = function () { \r\n vm.OpenPdfModal(vm.userId,\"Verification Report\");\r\n}\r\nvm.PDFViewLegalContract = function (page) {\r\n vm.OpenPdfModal(page,\"Legal Contract\");\r\n}\r\nvm.PDFView = function (page) { \r\n vm.OpenPdfModal(page,\"PDF View\");\r\n}\r\n var ModalInstanceCtrl = function(PdfPathNames,TypeNames) { \r\n vm.IsLoadSucessfull=false;\r\n vm.pdfimage=\"\";\r\n if(TypeNames==\"Legal Contract\")\r\n {\r\n MainService.GetLegalContractImageBlob(loggedinUser, token, PdfPathNames).then(function(resp) { \r\n vm.ConvertBase64ToBlob(resp.data);\r\n vm.IsLoadSucessfull=true;\r\n }); \r\n } \r\n if(TypeNames==\"PDF View\")\r\n {\r\n MainService.GetImageBlob(loggedinUser, token, PdfPathNames).then(function(resp) { \r\n vm.ConvertBase64ToBlob(resp.data);\r\n vm.IsLoadSucessfull=true;\r\n }); \r\n } \r\n if(TypeNames==\"Verification Report\")\r\n {\r\n FreelancerTechnicianProfileService.GeneratePdfVerificationReport(loggedinUser, PdfPathNames, token).then(function(resp) { \r\n vm.ConvertBase64ToBlob(resp.data.Base64Data);\r\n vm.IsLoadSucessfull=true;\r\n }); \r\n } \r\n if(TypeNames==\"Self Declaration\")\r\n {\r\n FreelancerTechnicianProfileService.GeneratePdfSelfDeclaration(loggedinUser, PdfPathNames, token).then(function(resp) { \r\n vm.ConvertBase64ToBlob(resp.data.Base64Data);\r\n vm.IsLoadSucessfull=true;\r\n }); \r\n } \r\n }\r\n\r\n vm.ConvertBase64ToBlob = function(response)\r\n {\r\n if(response !=null){\r\n var arrrayBuffer = base64ToArrayBuffer(response); //data is the base64 encoded string\r\n var blob = new Blob([arrrayBuffer], {type: \"application/pdf\"});\r\n vm.pdfimage = URL.createObjectURL(blob);\t\t\t\t\r\n vm.IsLoadSucessfull=true;\r\n }\r\n else{\r\n vm.DocumentAvailableMessage=\"Document is not available\";\r\n vm.IsLoadSucessfull=true;\r\n }\r\n }\r\n function base64ToArrayBuffer(base64) {\r\n var ret = base64.replace('data:application/pdf;base64,','');\r\n var binaryString = atob(ret);\r\n var binaryLen = binaryString.length;\r\n var bytes = new Uint8Array(binaryLen);\r\n for (var i = 0; i < binaryLen; i++) {\r\n var ascii = binaryString.charCodeAt(i);\r\n bytes[i] = ascii;\r\n }\r\n return bytes;\r\n }\r\n\r\n vm.getFileType = function(url){\r\n if(url==null || url==\"\")\r\n {\r\n return \"others\";\r\n }\r\n else{\r\n if(url.indexOf(\".jpg\")>=0 || url.indexOf(\".jpeg\")>=0 || url.indexOf(\".png\")>=0 || url.indexOf(\".bmp\")>=0 ||url.indexOf(\".JPG\")>=0 || url.indexOf(\".JPEG\")>=0 || url.indexOf(\".PNG\")>=0 || url.indexOf(\".BMP\")>=0){\r\n return \"image\";\r\n } else if(url.indexOf(\".pdf\")>=0 || url.indexOf(\".PDF\")>=0){\r\n return \"pdf\";\r\n } else if(url.indexOf(\".xls\")>=0 || url.indexOf(\".xlsx\")>=0 ||url.indexOf(\".XLS\")>=0 || url.indexOf(\".XLSX\")>=0){\r\n return \"xls\"; \r\n } else if(url.indexOf(\".doc\")>=0 || url.indexOf(\".docx\")>=0 || url.indexOf(\".DOC\")>=0 || url.indexOf(\".DOCX\")>=0){\r\n return \"doc\";\r\n } \r\n else {\r\n return \"others\";\r\n }\r\n }\r\n }\r\n vm.WordDownloadtoView = function (page) { \r\n MainService.GetImageBlob(loggedinUser, token, page).then(function(resp) {\r\n window.location.href = resp.data;\r\n }); \r\n \r\n }\r\n vm.PDFUserModal = function(){\r\n jobAppointmentModal.close();\r\n }\r\n\r\n $scope.checkPDF = function(path){\r\n if(!path)\r\n return true;\r\n\r\n var pt = path.substr(path.length - 4);\r\n var dt = path.substr(path.length - 4);\r\n\r\n if(pt == '.pdf' || dt == '.doc'){\r\n vm.error = function(){\r\n $(\".pdf\").attr({\"target\" : \"_blank\"})\r\n }\r\n return true;\r\n }\r\n}\r\n\r\n vm.imageServices = function(img){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n }\r\n else{\r\n vm.profileImg = resp.data;\r\n }\r\n console.log(vm.profileImg);\r\n }, function() {\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n });\r\n \r\n } \r\n vm.InsuranceImg=\"\";\r\n vm.InsuranceimageServices = function(img){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.InsuranceImg = 'assets/images/patterns/photo1.png';\r\n }\r\n else{\r\n vm.InsuranceImg = resp.data;\r\n }\r\n console.log(vm.InsuranceImg);\r\n }, function() {\r\n vm.InsuranceImg = 'assets/images/patterns/photo1.png';\r\n });\r\n \r\n } \r\n\r\n \r\n vm.CertimageServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.CertprofileImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else{\r\n vm.CertprofileImg[index] = resp.data;\r\n } \r\n }, function() {\r\n vm.CertprofileImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n }); \r\n }\r\n vm.VerificationCertimageServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.VerificationCertprofileImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else{\r\n vm.VerificationCertprofileImg[index] = resp.data;\r\n } \r\n }, function() {\r\n vm.VerificationCertprofileImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n }); \r\n }\r\n vm.DocumentimageServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.DocumentprofileImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else{\r\n vm.DocumentprofileImg[index] = resp.data;\r\n }\r\n //console.log(vm.profileImg);\r\n }, function() {\r\n vm.DocumentprofileImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n });\r\n \r\n }\r\n vm.CriminalVerificationServices = function(img){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.CriminalVerificationbase64 = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else{\r\n vm.CriminalVerificationbase64 = resp.data;\r\n } \r\n }, function() {\r\n vm.CriminalVerificationbase64 = 'assets/images/patterns/image_placeholder.png';\r\n }); \r\n }\r\n vm.GetUserId = function () {\r\n FreelancerTechnicianProfileService.GetUserId(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.users = resp.data;\r\n \r\n \t for(var i=0;i\" + \"Decoded URI: \" + dec;\r\n $('#agreementview').contents().find('html').html(dec);\r\n // document.getElementById(\"demo\").html(dec);\r\n \r\n\t\t\t\t\t// vm.showSuccess('Success', \"User added in preferred talent pool\");\r\n\t\t\t\t\t// vm.PreferredUserModal.close();\r\n\t\t\t\t}else{\r\n var dec = decodeURIComponent(resp.data).replace(/\\+/g,\" \");\r\n $('#agreementview').contents().find('html').html(dec);\r\n }\r\n\r\n\t\t\t})\r\n }\r\n\r\n \r\n\r\n \r\n vm.blockSingleUser = function(userid){\r\n\t\t\tFreelancerTechnicianProfileService.BlockedSingleUser(loggedinUser,userid,false,token).then(function(resp){\r\n\t\t\t\tif(resp.status == '202'){\r\n\t\t\t\t\tvm.showSuccess('Success', \"User successfully blocked\");\r\n\t\t\t\t\tvm.BlockedUserModal.close();\r\n\t\t\t\t}\r\n\t\t\t})\r\n }\r\n if(vm.loggedInUser_Role== 'SuperAdministrator'){\r\n vm.RechargeHistory = function(userid) {\r\n vm.userid=userid;\r\n RechargeModal = $uibModal.open({\r\n templateUrl: 'rechargeHistory.html',\r\n scope: $scope,\r\n controller: ModalInstanceCtrlHistory,\r\n resolve : {\r\n items : function(){\r\n return {\r\n AccountName:vm.CompanyName,\r\n AccountId:vm.Email\r\n };\r\n }\r\n },\r\n size:'lg' \r\n }); \r\n }\r\n }\r\n \r\n vm.CloseRechargeModal = function(){\r\n RechargeModal.close();\r\n }\r\n\r\n var ModalInstanceCtrlHistory = function($scope, $rootScope, $uibModalInstance, items) { \r\n FreelancerTechnicianProfileService.getFreelancerHistory(loggedinUser,vm.userId, token).then(function(resp){\r\n if (resp && resp.data) {\r\n vm.AccountHistoryData = resp.data;\r\n }\r\n }) \r\n }\r\n\r\n vm.dtOption = DTOptionsBuilder.newOptions().withDOM(\r\n '<\"html5buttons\"B>lTfgitp').withPaginationType(\r\n 'full_numbers').withOption('lengthChange', false)\r\n .withOption('order', []);\r\n \r\n vm.dtColumnDefs = [\r\n //DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable().withClass('td-small-with-panel'),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable()];\r\n\r\n vm.dtOptionsSkill = DTOptionsBuilder.newOptions()\r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withOption('lengthChange', false);\r\n // .withButtons([{extend:'colvis'},{extend:'csv'}])\r\n // .withOption('stateSave', true)\r\n // .withOption('initComplete', function () {\r\n // $('.dataTables_filter input').unbind();\r\n // })\r\n // .withOption('order', [0, 'asc']);\r\n \r\n vm.dtColumnSkill = [\r\n //DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable()\r\n \r\n ];\r\n\r\n \r\n \r\n\r\n if(vm.loggedInUser_Role== 'SuperAdministrator' || vm.loggedInUser_Role== 'Administrator'){\r\n vm.TicketHistory = function(userid) {\r\n vm.userid=userid;\r\n TicketModal = $uibModal.open({\r\n templateUrl: 'TicketHistory.html',\r\n scope: $scope,\r\n controller: getJobsByUserId(userid, loggedinUser),\r\n size:'lg' \r\n }); \r\n \r\n }\r\n }\r\n \r\n vm.CloseTicketModal = function(){\r\n TicketModal.close();\r\n }\r\n \r\n\r\n // var ModalInstanceCtrTicketlHistory = function($scope, $rootScope, $uibModalInstance, items) { \r\n // \r\n // FreelancerTechnicianProfileService.getJobsByUserId(vm.userId, loggedinUser, token).then(function (resp) {\r\n // vm.jobTickets = resp.data;\r\n // }) \r\n // }\r\n\r\n var getJobsByUserId= function(userid, loggedinUser) {\r\n \r\n FreelancerTechnicianProfileService.getJobsByUserId(vm.userId, loggedinUser, token).then(function (resp) {\r\n vm.jobTickets = resp.data;\r\n }, function () {\r\n });\r\n \r\n }\r\n\r\n\r\n\r\n vm.dtOptionsticket = DTOptionsBuilder.newOptions().withDOM(\r\n '<\"html5buttons\"B>lTfgitp').withPaginationType(\r\n 'full_numbers').withOption('lengthChange', false)\r\n // .withButtons(['colvis'])\r\n .withOption('stateSave', true)\r\n .withOption('stateSaveCallback', function (settings, data) {\r\n localStorage.setItem('DataTables_' + settings.sInstance, JSON.stringify(data))\r\n })\r\n .withOption('stateLoadCallback', function (settings) {\r\n var state = JSON.parse(localStorage.getItem('DataTables_' + settings.sInstance));\r\n if (state) {\r\n state.search = { search: \"\", smart: true, regex: false, caseInsensitive: true };\r\n if(state.columns && state.columns.length>0){\r\n state.columns[7].visible=false;\r\n state.columns[8].visible=false;\r\n state.columns[10].visible=false;\r\n state.columns[11].visible=false; \r\n }\r\n }\r\n return state;\r\n })\r\n .withOption('initComplete', function () {\r\n $('.dataTables_filter input').unbind();\r\n })\r\n .withOption('order', [1, 'desc']);\r\n \r\n vm.dtColumnDefsticket = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(7).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(8).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(9).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(10).notSortable()\r\n ];\r\n\r\n\r\n \r\n\r\n\r\n \r\n\r\n});\nangular.module('inspinia').service('FVLocationConfigurationService', function (ApiURL, FreelancerURL,LocationURL,PublicApiURL, $log, $http,$localStorage) {\r\n var url = ApiURL + '/api/User';\r\n \r\n //https://product.mymobiforce.com/publicapi/api/Address/GetDistricts\r\n\r\n this.GetAllGetDistricts = function (loggedinUser, token){\r\n var url = PublicApiURL + '/api/Address/GetDistricts';\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token, 'UserId':loggedinUser}\r\n });\r\n }\r\n //https://product.mymobiforce.com/publicapi/api/Address/GetDistrictsForServer\r\n this.GetAllGetDistrictsWithState = function (loggedinUser, token){\r\n var url = PublicApiURL + '/api/Address/GetDistrictsForServer';\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token, 'UserId':loggedinUser}\r\n });\r\n }\r\n//https://product.mymobiforce.com/freelancerapi/api/FreelancerVendor/GetOperationalTerritoryInfo\r\n this.GetOperationalTerritoryInfo = function (loggedinUser, token){\r\n var url = FreelancerURL + '/api/FreelancerVendor/GetOperationalTerritoryInfo';\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token, 'UserId':loggedinUser}\r\n });\r\n }\r\n\r\n\r\n//https://product.mymobiforce.com/freelancerapi/api/FreelancerVendor/UpdateOperationalTerritoryForVendor\r\n\r\nthis.UpdateOperationalTerritoryForVendor = function (loggedInUserId,token,userFormData) {\r\n debugger\r\n var url = FreelancerURL + '/api/FreelancerVendor/UpdateOperationalTerritoryForVendor';\r\n return $http.put(url, userFormData, {\r\n headers: { \r\n 'Content-Type': 'application/json',\r\n 'Token':token , \r\n 'UserId':loggedInUserId\r\n }\r\n });\r\n}\r\n});\r\n\n\r\nangular.module('inspinia').controller('FVLocationConfigurationController', function (FVLocationConfigurationService, TeamFormCreationService,toaster, $filter, PublicApiURL, $window, $log, $q, $compile, DTOptionsBuilder, DTColumnBuilder, $localStorage, ticketTemplateService, $scope, $state, FreelancerURL, ApiURL, $timeout) {\r\n\tvm = this;\r\n\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvm.Isservinglocations=false;\r\n\t\tvm.IsShowLocation=false;\r\n\t\tvm.LocationType=\"\";\r\n\t\tvm.LocationsList=[];\r\n\t\tvm.multipleSelect=\"Select Some State\";\r\n\t\tvm.LocationTypeList = [\"State Level\", \"District Level\"];\r\n\t\tvm.LocationsStateList=[];\r\n\t\tvm.LocationsDistrictList=[];\r\n\t\tvm.getLocationsStateList= function()\r\n\t\t{\r\n\t\t\tTeamFormCreationService.getStates(loggedinUser, token, \"INDIA\").then(function (resp) {\r\n\t\t\t\tif(resp.status == 200){\r\n\t\t\t\t\tif(resp.data && resp.data.values.length>0){\r\n\t\t\t\t\t\tvm.LocationsStateList = resp.data.values;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t\tvm.getLocationsDistrictList= function()\r\n\t\t{\t\t\t\r\n\t\t\tFVLocationConfigurationService.GetAllGetDistrictsWithState(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif(resp.status == 200){\r\n\t\t\t\t\tif(resp.data && resp.data.length>0){\r\n\t\t\t\t\t\tvm.AllDistrictList=resp.data;\r\n\t\t\t\t\t\tfor(var i=0; i 0){\r\n\t if(itemNames.length == 0 && itemValues.length == 0){\r\n\t\titemNames = 'Distance';\r\n\t\titemValues = vm.SearchByDistance;\r\n\t }else{\r\n\t\titemNames = itemNames + ',Distance';\r\n\t\titemValues = itemValues + ',' + vm.SearchByDistance;\r\n\t }\t\r\n }\r\n if(vm.SearchByTicketId.length > 0){\r\n\t if(itemNames.length == 0 && itemValues.length == 0){\r\n\t\titemNames = 'JobID';\r\n\t\titemValues = vm.SearchByTicketId;\r\n\t }else{\r\n\t\titemNames = itemNames + ',JobID';\r\n\t\titemValues = itemValues + ',' + vm.SearchByTicketId;\r\n\t }\t\r\n }\r\n if(vm.SearchBySkill.length > 0){\r\n if(itemNames.length == 0 && itemValues.length == 0){\r\n itemNames = \"SkillSet\";\r\n itemValues = vm.SearchBySkill;\r\n }else{\r\n itemNames = itemNames + ',' + \"SkillSet\";\r\n itemValues = itemValues + ',' + vm.SearchBySkill;\r\n }\r\n }\r\n if(vm.PermanentState.length > 0){\r\n if(itemNames.length == 0 && itemValues.length == 0){\r\n itemNames = \"JobState\";\r\n itemValues = vm.PermanentState;\r\n }else{\r\n itemNames = itemNames + ',' + \"JobState\";\r\n itemValues = itemValues + ',' + vm.PermanentState;\r\n }\r\n }\r\nif(vm.PermanentCity.length > 0){\r\n if(itemNames.length == 0 && itemValues.length == 0){\r\n itemNames = \"JobCity\";\r\n itemValues = vm.PermanentCity;\r\n }else{\r\n itemNames = itemNames + ',' + \"JobCity\";\r\n itemValues = itemValues + ',' + vm.PermanentCity;\r\n }\r\n }\r\n}\r\n\r\nvm.TabClickEvent= function(listType)\r\n{ \r\n vm.IsAcceptLeadsbutton = false; \r\n vm.IsRejectLeadsbutton = false; \r\n if(listType==\"Incoming Leads\")\r\n vm.Status=\"\";\r\n else if(listType==\"Accepted Leads\")\r\n vm.Status=\"Accepted\";\r\n else\r\n vm.Status=\"Rejected\";\r\n\r\n vm.filter();\r\n vm.GetAllLeadbyDateRangeWithDynaPaging(startDate, endDate, loggedinUser, token, itemNames, itemValues,vm.Status,PageIndex,PageSize,\"\");\r\n\r\n}\r\nvm.Allapplyfilter = function(){\r\n vm.filter();\r\n vm.GetAllLeadbyDateRangeWithDynaPaging(startDate, endDate, loggedinUser, token, itemNames, itemValues,vm.Status,PageIndex,PageSize,\"\");\r\n\r\n}\r\n\r\nvm.ConverttoDecimal = function(value) {\r\n return (parseFloat(value).toFixed(2))\r\n}\r\nvm.dateRangeChange = function (ev, picker) {\r\n vm.IsSearch = true;\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\"); \r\n vm.ticketdates = { startDate: startDate, endDate: endDate };\r\n};\r\n\r\nvm.outsidedateRangeChange = function (ev, picker) \r\n{ \r\nstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\nendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\nvm.filter();\r\nvm.GetAllLeadbyDateRangeWithDynaPaging(startDate, endDate, loggedinUser, token, itemNames, itemValues,vm.Status,PageIndex,PageSize,\"\");\r\n\r\n};\r\n\r\nvm.allLeadsList = [];\r\nvm.allAcceptedLeadsList = [];\r\nvm.allRejectedLeadsList = [];\r\nvm.AcceptedLeadsCount = 0;\r\nvm.DeniedLeadsCount = 0; \r\nvm.IncomingLeadsCount = 0;\r\nvm.TotalLeadsCount = 0;\r\nvm.GetAllLeadbyDateRangeWithDynaPaging = function (startDate, endDate, loggedinUser, token, itemNames, itemValues,status,PageIndex,PageSize,GlobalSearch) {\r\n FVLeadManagementService.GetAllLeadbyDateRangeWithDynaPaging(startDate, endDate, loggedinUser,token, itemNames, itemValues,status,PageIndex,PageSize,GlobalSearch).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.AcceptedLeadsCount = resp.data.AcceptedLeadsCount;\r\n vm.DeniedLeadsCount = resp.data.DeniedLeadsCount; \r\n vm.IncomingLeadsCount = resp.data.IncomingLeadsCount;\r\n vm.TotalLeadsCount = resp.data.TotalLeadsCount;\r\n vm.allLeadsList = resp.data.FreelancerBidModelList;\r\n $scope.totalTicketUsers = resp.data.FreelancerBidListCount;\r\n \r\n if(vm.allLeadsList.length < 10)\r\n vm.ticketListLength = $scope.totalTicketUsers;\r\n else\r\n vm.ticketListLength = PageIndex * 10;\r\n if(PageIndex==1){\r\n if(vm.allLeadsList==null || vm.allLeadsList==\"\")\r\n vm.pageindexCount = 0;\r\n else\r\n vm.pageindexCount = 1;\r\n }\r\n else\r\n vm.pageindexCount = (((PageIndex-1) * 10) + 1);\r\n }\r\n }, function () {\r\n \r\n });\r\n }\r\n vm.filter();\r\n \r\n vm.GetAllLeadbyDateRangeWithDynaPaging(startDate, endDate, loggedinUser, token, itemNames, itemValues,\"\",PageIndex,PageSize,\"\"); \r\n \r\n vm.dtOptions = DTOptionsBuilder.newOptions()\r\n \r\n .withOption('stateSave', true)\r\n .withOption('deferRender', true)\r\n .withOption('stateSaveCallback', function (settings, data) {\r\n localStorage.setItem('JoblistTableProp', JSON.stringify(data))\r\n \r\n })\r\n .withOption('stateLoadCallback', function (settings) {\r\n\r\n if (vm.IsSearch == true) {\r\n var state = JSON.parse(localStorage.getItem('JoblistTableProp'));\r\n state.start = 0;\r\n } else {\r\n var state = JSON.parse(localStorage.getItem('JoblistTableProp'));\r\n\r\n }\r\n \r\n return state;\r\n })\r\n .withPaginationType('full_numbers').withOption('lengthChange', false)\r\n .withOption('paging', false)\r\n .withOption('bInfo',false)\r\n // .withOption('initComplete', function () {\r\n // $('.dataTables_filter input').unbind();\r\n // })\r\n .withOption('order', []);\r\n\r\n vm.dtColumnDefs = [\r\n // DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1),\r\n DTColumnDefBuilder.newColumnDef(2),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(7).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(8).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(9).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(10).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(11).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(12).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(13).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(14).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(15).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(16).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(17).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(18).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(19).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(20).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(21).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(22).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(23).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(24).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(25).notSortable()\r\n ];\r\n }\r\n vm.implementSelectItemsTickets = function (itemList1, scope1) {\r\n scope1.IsAcceptLeadsbutton = false; \r\n scope1.IsRejectLeadsbutton = false; \r\n scope1.selectRow1 = function (i) {\r\n\r\n scope1.IsAcceptLeadsbutton = false; \r\n scope1.IsRejectLeadsbutton = false; \r\n \r\n for(var i=0; i< scope1.allLeadsList.length;i++){\r\n var tempTickets = scope1.allLeadsList[i];\r\n if(tempTickets.checked1) { \r\n if(vm.Status==\"\")\r\n {\r\n scope1.IsAcceptLeadsbutton = true;\r\n scope1.IsRejectLeadsbutton = true;\r\n }\r\n else\r\n {\r\n scope1.IsAcceptLeadsbutton = false;\r\n scope1.IsRejectLeadsbutton = false; \r\n }\r\n if(vm.Status==\"Accepted\") \r\n scope1.IsRejectLeadsbutton = true;\r\n \r\n }\r\n \r\n \r\n }\r\n } \r\n }\r\n vm.implementSelectItemsTickets('allLeadsList', this);\r\n\r\n \r\n\tfunction getAllStates() {\r\n\t\tvar defered = $q.defer();\r\n\t\tReferService.getAllState(loggedinUser,token).then(function (resp) {\r\n\t\t\tdefered.resolve(resp);\r\n\t\t}, function (error) {\r\n\t\t\tdefered.reject(error);\r\n\t\t});\r\n\t\treturn defered.promise;\r\n\t}\r\n\t\r\n\tvar allStatePromise = getAllStates();\r\n\tallStatePromise.then(function (resp) {\r\n\t\tvm.StateList = resp.data;\r\n\t\t\r\n\t});\r\n\tfunction getallCities(state) {\r\n\t\tReferService.getAllCity(loggedinUser, state,token).then(function (resp) {\r\n\t\t\tvm.CityList = resp.data;\r\n\t\t});\r\n\t}\r\n\tvm.selectedState = function (state) {\r\n\t\tgetallCities(state);\r\n\t}\r\n vm.skillsList=[];\r\n function getAllSkill() {\r\n TeamFormCreationService.getAllSkills(loggedinUser, token).then(function (resp) {\r\n vm.skillsList = resp.data;\r\n }); \r\n }\r\n getAllSkill();\r\n\r\n vm.markAcceptLeadsList=[]\r\nvm.AcceptLeads= function()\r\n{\r\n \r\n vm.markAcceptLeadsList=[];\r\n for(var i=0; ilTfgitp').withPaginationType(\r\n 'full_numbers').withOption('lengthChange', false)\r\n .withButtons(['colvis'])\r\n .withOption('stateSave', true)\r\n .withOption('stateSaveCallback', function (settings, data) {\r\n localStorage.setItem('DataTables_' + settings.sInstance, JSON.stringify(data))\r\n })\r\n .withOption('stateLoadCallback', function (settings) {\r\n var state = JSON.parse(localStorage.getItem('DataTables_' + settings.sInstance));\r\n if (state) {\r\n state.search = { search: \"\", smart: true, regex: false, caseInsensitive: true };\r\n if(state.columns && state.columns.length>0){\r\n state.columns[7].visible=false;\r\n state.columns[8].visible=false;\r\n state.columns[10].visible=false;\r\n state.columns[11].visible=false; \r\n }\r\n }\r\n return state;\r\n })\r\n .withOption('initComplete', function () {\r\n $('.dataTables_filter input').unbind();\r\n })\r\n .withOption('order', [1, 'desc']);\r\n\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(), \r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(7).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(8).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(9).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(10).notSortable()\r\n ];\r\n\r\n vm.dtOptionsDocList = DTOptionsBuilder.newOptions().withDOM(\r\n '<\"html5buttons\"B>lTfgitp').withPaginationType(\r\n 'full_numbers').withOption('lengthChange', false)\r\n .withOption('initComplete', function () {\r\n $('.dataTables_filter input').unbind();\r\n })\r\n .withOption('order', []);\r\n\r\n vm.dtColumnDefsDocList = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable()\r\n ];\r\n\r\n function getJobsByUserId(userId, loggedinUser) {\r\n FLTechnicianProfileService.GetFreelancerJobs(userId, loggedinUser, token).then(function (resp) {\r\n vm.jobTickets = resp.data;\r\n }, function (err) {\r\n }) \r\n }\r\n getJobsByUserId(userId, loggedinUser);\r\n if(userId.startsWith(\"U\")){\r\n getFixedUserInfo(userId, loggedinUser);\r\n }\r\n else\r\n {\r\n getUserInfo(userId, loggedinUser);\r\n }\r\n function getFixedUserInfo(userId, loggedinUser) {\r\n FLTechnicianProfileService.getFixedUserInfo(userId, loggedinUser, token).then(function (resp) {\r\n vm.customerInfo = resp.data;\r\n vm.rating=Number(vm.customerInfo.CustomerRating).toFixed(1); \r\n }, function () { \r\n });\r\n }\r\n\r\n function getUserInfo(userId, loggedinUser) {\r\n FLTechnicianProfileService.getUserInfo(userId, loggedinUser, token).then(function (resp) {\r\n vm.customerInfo = resp.data;\r\n vm.rating=Number(vm.customerInfo.CustomerRating).toFixed(1); \r\n \r\n if (vm.customerInfo.BGVerificationDocPath) {\r\n angular.forEach(vm.BGDocType, function (d, i) {\r\n vm.BGDocList[i] = {\r\n \"DocumentType\": d,\r\n \"DocumentName\": \"\",\r\n \"DocumentPath\": \"\",\r\n \"DocumentName1\": \"\",\r\n \"DocumentPath1\": \"\"\r\n };\r\n // vm.error[d] = null;\r\n for (var imageIndex = 0; imageIndex < vm.customerInfo.BGVerificationDocPath.length; imageIndex++) {\r\n if (d == vm.customerInfo.BGVerificationDocPath[imageIndex].DocumentType) {\r\n vm.BGDocList[i] = vm.customerInfo.BGVerificationDocPath[imageIndex];\r\n vm.BGDocList[i].DocumentName1 = vm.BGDocList[i].DocumentName;\r\n vm.BGDocList[i].DocumentPath1 = vm.BGDocList[i].DocumentPath;\r\n break;\r\n }\r\n }\r\n })\r\n }else{\r\n angular.forEach(vm.BGDocType, function (d, i) {\r\n vm.BGDocList[i] = {\r\n \"DocumentType\": d,\r\n \"DocumentName\": \"\",\r\n \"DocumentPath\": \"\",\r\n \"DocumentName1\": \"\",\r\n \"DocumentPath1\": \"\"\r\n };\r\n });\r\n }\r\n\r\n if (vm.customerInfo.TrainingAssessment) {\r\n for (var trainingIndex = 0; trainingIndex < vm.customerInfo.TrainingAssessment.length; trainingIndex++) {\r\n vm.TrainingList[trainingIndex] = vm.customerInfo.TrainingAssessment[trainingIndex];\r\n console.log(vm.TrainingList);\r\n }\r\n }\r\n },\r\n function (err) {\r\n \r\n });\r\n }\r\n }\r\n});\r\n\nangular.module('inspinia').service('EscalationService', function(ApiURL,$log,$http){\r\n \r\n\r\n //https://test.mymobiforce.com/coreapi/api/TicketStatus/U360000000001/GetAllTicketStatus\r\n this.GetAllTicketStatus = function(reqUserId,token){\r\n\tvar url=ApiURL+'/api/TicketStatus/'+reqUserId+'/GetAllTicketStatus';\r\n\treturn $http.get(url,{\r\n\t\theaders:{'Content-Type':'application/json','token':token, 'UserId': reqUserId}\r\n\t})\r\n}\r\n\r\n//https://test.mymobiforce.com/coreapi/api/escalationalertconfiguration/asd/EscalationAlert\r\n this.SaveEscalationConfiguration = function(reqUserId,data,token){\r\n \tvar url = ApiURL+'/api/escalationalertconfiguration/'+reqUserId+'/EscalationAlert'\r\n \treturn $http.post(url,data,{\r\n \t\theaders:{'Content-Type':'application/json','token':token, 'UserId': reqUserId}\r\n \t})\r\n }\r\n\r\n //https://test.mymobiforce.com/coreapi/api/escalationalertconfiguration/U360000000001/New_Assigned/ESCALATION/GetEscalationAlertConfiguration\r\nthis.GetEscalationAlertConfigurationById = function(reqUserId,Id,type,token){\r\n\tvar url=ApiURL+'/api/escalationalertconfiguration/'+reqUserId+'/'+Id+'/'+type+'/GetEscalationAlertConfiguration';\r\n\treturn $http.get(url,{\r\n\t\theaders:{'Content-Type':'application/json','token':token, 'UserId': reqUserId}\r\n\t})\r\n}\r\n\r\n});\nangular.module('inspinia').controller('EscalationController',function(EscalationService,ReportService,toaster,$timeout,$window,$state, $scope,$log, $localStorage,$stateParams){\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n if ($stateParams.mode == 'true') {\r\n vm.Openmode = true\r\n vm.alertIdParam = $stateParams.alertId;\r\n \r\n }else{\r\n vm.Openmode = false;\r\n }\r\n\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.showInfo =$scope.$parent.$parent.main.showInfo;\r\n vm.channelList = [\"SMS\",\"Email\",\"Notification\",\"WebNotification\"];\r\n vm.RoleList = [\"Project Manager\",\"Help Desk\",\"Supervisor\",\"Field Engineer\",\"Consumer\"];\r\n vm.TimeList = [\"30 Min\",\"1 Hour\",\"2 Hours\",\"3 Hours\",\"4 Hours\",\"5 Hours\",\"6 Hours\"];\r\n vm.EscalationType = [\"Single Ticket\",\"Linked Ticket\"];\r\n vm.StatusList = '';\r\n vm.firstStatus = '';\r\n vm.secondStatus = '';\r\n vm.firstLinkedStatus = '';\r\n vm.secondLinkedStatus = '';\r\n vm.eventConfiguration=[];\r\n vm.LinkedeventConfiguration = [];\r\n vm.users = [];\r\n vm.toUsers=[];\r\n vm.toList=[];\r\n vm.buttonStatus = 'Single Ticket'\r\n vm.button = false;\r\n //Get All Ticket Status\r\n\r\n vm.GetAllTicketStatus = function(){\r\n \tEscalationService.GetAllTicketStatus(loggedinUser,token).then(function(resp){\r\n \t\tif (resp && resp.data) {\r\n \t\t\tvm.StatusList = resp.data;\r\n \t\t}\r\n \t})\r\n }\r\n\r\n//Single Tickets\r\n var customObj = {}\r\n vm.eventConfiguration.push(customObj);\r\n\r\n //Linked Tickets\r\n var customLinkObj = {}\r\n vm.LinkedeventConfiguration.push(customLinkObj);\r\n\r\n vm.AddEventConfiguration = function(){\r\n if (vm.firstStatus!='Select Status' && vm.secondStatus !='Select Status') {\r\n \tif (vm.eventConfiguration.length>=1) {\r\n \t\tvm.firstStatusDisabled=true;\r\n vm.secondStatusDisabled = true;\r\n \t}\r\n \t\r\n } \r\n \r\n var ele={};\r\n vm.eventConfiguration.push(ele);\r\n}\r\nvm.RemoveEventConfiguration = function (index){\r\n\r\n vm.eventConfiguration.splice(index, 1);\r\n if(vm.eventConfiguration.length==1){\r\n \t\tvm.firstStatusDisabled=false;\r\n vm.secondStatusDisabled = false;\r\n \t}\r\n}\r\n\r\n\r\nvm.AddLinkedEventConfiguration = function(){\r\n if (vm.firstLinkedStatus!='Select Status' && vm.secondLinkedStatus !='Select Status') {\r\n \tif (vm.LinkedeventConfiguration.length>=1) {\r\n \t\tvm.firstLinkedStatusDisabled=true;\r\n vm.secondLinkedStatusDisabled = true;\r\n \t}\r\n \t\r\n } \r\n \r\n var ele={};\r\n vm.LinkedeventConfiguration.push(ele);\r\n}\r\nvm.RemoveLinkedEventConfiguration = function (index){\r\n\r\n vm.LinkedeventConfiguration.splice(index, 1);\r\n if(vm.LinkedeventConfiguration.length==1){\r\n \t\tvm.firstLinkedStatusDisabled=false;\r\n vm.secondLinkedStatusDisabled = false;\r\n \t}\r\n}\r\n\r\n\r\n\r\n vm.SetStatus = function(status,type){\r\n \tif (type=='first') {\r\n \t\tvm.firstStatus = status.StatusName;\t\r\n \t\tvm.secondStatus = 'Select Status'\r\n \t}else if(type == 'second'){\r\n \t\tvm.secondStatus = status.StatusName;\r\n \t}else if(type == 'Main'){\r\n \t\tvm.buttonStatus = status;\r\n \t\tif (status == 'Single Ticket') {\r\n \t\t\tvm.isSingleBool = true\r\n \t\t}else if (status == 'Linked Ticket') {\r\n \t\t\tvm.isSingleBool = false\r\n \t\t}\r\n \t\t\r\n \t}\r\n \t\r\n }\r\n\r\n vm.SetStatusForLink = function(status,type){\r\n \tif (type=='first') {\r\n \t\tvm.firstLinkedStatus = status.StatusName;\t\r\n \t\tvm.secondLinkedStatus = 'Select Status'\r\n \t}else if(type == 'second'){\r\n \t\tvm.secondLinkedStatus = status.StatusName;\r\n \t}else if(type == 'Main'){\r\n \t\tvm.buttonStatus = status;\r\n \t\tif (status == 'Single Ticket') {\r\n \t\t\tvm.isSingleBool = true\r\n \t\t}else if (status == 'Linked Ticket') {\r\n \t\t\tvm.isSingleBool = false\r\n \t\t}\r\n \t\t\r\n \t}\r\n \t\r\n }\r\n\r\n vm.getUserSuggestion = function (val) {\r\n\r\n // vm.scheduleModel.toListMendtryErr=false;\r\n\r\n var re = /^[A-Za-z0-9]+([\\.\\-_]*[A-Za-z0-9]+)*@[A-Za-z0-9]+([\\.\\-_]*[A-Za-z0-9]+)*\\.([A-Za-z]{2}|[A-Za-z]{3})$/;\r\n if (vm.users.length > 0) {\r\n return re.test(val)?[{FirstName:val.split(\"@\")[0], LastName:\"\", UserId:val}].concat(vm.users):vm.users;\r\n }\r\n vm.getUsers();\r\n return re.test(val)?[{FirstName:val.split(\"@\")[0], LastName:\"\", UserId:val}]:[];\r\n }\r\n\r\n vm.getUsers = function () {\r\n vm.users = [];\r\n ReportService.getUsers(loggedinUser, token, vm.createCallback(vm.users, [function (data) {\r\n //$log.log(data);\r\n }]));\r\n }\r\n\r\n vm.searchAsOr = function (searchText1) {\r\n return function (entry) {\r\n var splittedText = searchText1.split(\";\");\r\n if (splittedText != null && splittedText.length > 0) {\r\n var searchText = splittedText[splittedText.length - 1].trim();\r\n if (entry.FirstName.toLowerCase().indexOf(searchText.toLowerCase()) > -1\r\n || (entry.LastName !=null && entry.LastName.toLowerCase().indexOf(searchText.toLowerCase()) > -1)\r\n || entry.UserId.toLowerCase().indexOf(searchText.toLowerCase()) > -1)\r\n return entry;\r\n }\r\n }\r\n }\r\n vm.removeSelectedUsers = function (element) {\r\n var matched = false;\r\n angular.forEach(vm.toList, function (d) {\r\n if (d.PersonalEmail == element.PersonalEmail) {\r\n matched = true;\r\n return;\r\n }\r\n });\r\n if (!matched) {\r\n return element;\r\n }\r\n }\r\n vm.selectUserNameInToList = function (item,mobile,time) {\r\n if (item == '' && mobile == '') {\r\n vm.showInfo(\"Information\",\"Please enter email or mobile\");\r\n return;\r\n }\r\n var obj=[];\r\n if (item && item.length!=0) {\r\n obj.PersonalEmail = item;\r\n }\r\n if (mobile && mobile.length>0) {\r\n obj.ContactNumber = mobile; \r\n }else{\r\n angular.forEach(vm.users, function(d){\r\n if (d.PersonalEmail == item) {\r\n obj.ContactNumber = d.ContactNumber;\r\n }\r\n })\r\n }\r\n if (time && time.length!=0) {\r\n \tobj.TimeDuration = vm.outsiderTime\r\n }\r\n \r\n vm.toList.push(obj);\r\n vm.toUsers = [];\r\n vm.outsiderPhone = '';\r\n vm.outsiderTime = '';\r\n }\r\n vm.RemovefromList = function(index){\r\n vm.toList.splice(index,1);\r\n }\r\n\r\n\r\n\r\nvm.GetEscalationAlertConfiguration = function(){\r\n\r\n\tEscalationService.GetEscalationAlertConfigurationById(loggedinUser,vm.alertIdParam,'Escalation',token).then(function(resp){\r\n\t\tif (resp && resp.status == 200) {\r\n\r\n\t\t\tvm.EscalationAlertConfig = resp.data;\r\n\t\t\tvm.firstStatusDisabled = true;\r\n\t\t\tvm.secondStatusDisabled = true;\r\n\t\t\tvm.button = true;\r\n\t\t\tif (vm.EscalationAlertConfig.IsSingleTicket) {\r\n\t\t\t\tvm.isSingleBool = true;\r\n\t\t\t\tvm.buttonStatus = 'Single Ticket';\r\n\t\t\t}else{\r\n\t\t\t\tvm.isSingleBool = false;\r\n\t\t\t\tvm.buttonStatus = 'Linked Ticket';\r\n\t\t\t}\r\n\t\t\tvm.eventConfiguration = [];\r\n\t\t\tangular.forEach(vm.EscalationAlertConfig.ListEscalationAlertTemplate, function(d){\r\n\t\t\t\tvar obj = {};\r\n\t\t\t\tobj.channel = [];\r\n\t\t\t\tif (d) {\r\n\t\t\t\t\tif (d.Role!='Outsider') {\r\n\t\t\t\t\tvm.firstStatus = d.TicketStateFirst;\r\n\t\t\t\t\tvm.secondStatus = d.TicketStateSecond;\r\n\t\t\t\t\tobj.role = d.Role;\r\n\t\t\t\t\tif (d.DurationInMinutes<60) {\r\n\t\t\t\t\t\tobj.time = d.DurationInMinutes + ' Min';\r\n\t\t\t\t\t}else if(d.DurationInMinutes==60){\r\n\t\t\t\t\t\tobj.time = d.DurationInMinutes/60 + ' Hour';\r\n\t\t\t\t\t}else if(d.DurationInMinutes>60){\r\n\t\t\t\t\t\tobj.time = d.DurationInMinutes/60 + ' Hours';\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (d.SMSEnabled) {\r\n\t\t\t\t\t\tobj.channel.push('SMS');\r\n\t\t\t\t\t\tobj.smsText = d.SMSText;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (d.EmailEnabled) {\r\n\t\t\t\t\t\tobj.channel.push('Email');\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (d.WhatsAppEnabled) {\r\n\t\t\t\t\t\tobj.channel.push('WhatsApp');\r\n\t\t\t\t\t\tobj.smsText = d.WhatsAppText;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (d.NotificationEnabled) {\r\n\t\t\t\t\t\tobj.channel.push('Notification');\r\n\t\t\t\t\t\tobj.smsText = d.NotificationText;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (d.WebNotificationEnabled) {\r\n\t\t\t\t\t\tobj.channel.push('WebNotification');\r\n\t\t\t\t\t\tobj.smsText = d.WebNotificationText;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.eventConfiguration.push(obj);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (d.Role == 'Outsider') {\r\n\r\n\t\t\t\t\t\tif (d.UserOutSideContact && d.UserOutSideContact.length>0) {\r\n\t\t\t\t\t\t vm.outSidecheck = true;\r\n\t\t\t\t\t\t vm.outsiderTransText = d.SMSText;\r\n\t\t\t\t\t\t vm.toList = [];\r\n\t\t\t\t\t\t angular.forEach(d.UserOutSideContact, function(data){\r\n\t\t\t var objOutsider = {};\r\n\t\t\t if (data) {\r\n\t\t\t objOutsider.PersonalEmail = data.UserOutSideEmail;\r\n\t\t\t objOutsider.ContactNumber = data.UserOutSidePhone;\r\n\t\t\t if (d.DurationInMinutes<60) {\r\n\t\t\t \tobjOutsider.TimeDuration = d.DurationInMinutes + ' Min'\r\n\t\t\t }else if (d.DurationInMinutes==60) {\r\n\t\t\t \tobjOutsider.TimeDuration = d.DurationInMinutes + ' Hour'\r\n\t\t\t }else if (d.DurationInMinutes>60) {\r\n\t\t\t \tobjOutsider.TimeDuration = d.DurationInMinutes + ' Hours'\r\n\t\t\t }\r\n\t\t\t \r\n\t\t\t vm.toList.push(objOutsider);\r\n\t\t\t }\r\n\t\t\t })\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t})\r\n\t\t}\r\n\t})\r\n\r\n}\r\n\r\nvm.SaveEventConfiguration = function(){\r\n\tif(vm.escalation_form.$valid){\r\n\tvar data = {}\r\n\tdata.ListEscalationAlertTemplate = [];\r\n\tdata.AlertType = 'Escalation';\r\n\tdata.AlertId = vm.firstStatus+'_'+vm.secondStatus;\r\n\tif (vm.buttonStatus=='Single Ticket') {\r\n\t\tvm.isSingleBool = true;\r\n\t}else {\r\n\t\tvm.isSingleBool = false;\r\n\t}\r\n\tdata.IsSingleTicket = vm.isSingleBool;\r\n\tangular.forEach(vm.eventConfiguration, function(d){\r\n\t\tvar obj = {};\r\n\t\t\r\n\t\tif (d && d.check) {\r\n\t\t if (d.channel.indexOf('SMS')!=-1) {\r\n\t obj.SMSEnabled = true;\r\n\t obj.SMSText = d.smsText;\r\n\t }else{\r\n\t obj.SMSEnabled = false;\r\n\t obj.SMSText = \"\";\r\n\t }\r\n\t if (d.channel.indexOf('Email')!=-1) {\r\n\t \tobj.EmailEnabled = true;\r\n\t \t// obj.EmailTemplateName = vm.firstStatus+'_'+vm.secondStatus;\r\n\t \t// obj.EmailSubject = vm.firstStatus+'_'+vm.secondStatus;\r\n\t \tobj.EmailTemplateName = 'ESCALATION';\r\n\t \tobj.EmailSubject = 'ESCALATION';\r\n\t }else{\r\n\t \tobj.EmailEnabled = false;\r\n\t \tobj.EmailTemplateName = '';\r\n\t \tobj.EmailSubject = '';\r\n\t }\r\n\t if (d.channel.indexOf('Notification')!=-1) {\r\n\t \tobj.NotificationEnabled = true;\r\n\t obj.NotificationText = d.smsText;\r\n\t }else{\r\n\t \tobj.NotificationEnabled = false;\r\n\t obj.NotificationText = '';\r\n\t }\r\n\t if (d.channel.indexOf('WhatsApp')!=-1) {\r\n\t \tobj.WhatsAppEnabled = true;\r\n\t obj.WhatsAppText = d.smsText;\r\n\t }else{\r\n\t \tobj.WhatsAppEnabled = false;\r\n\t obj.WhatsAppText = '';\r\n\t }\r\n\t if (d.channel.indexOf('WebNotification')!=-1) {\r\n\t \tobj.WebNotificationEnabled = true;\r\n\t obj.WebNotificationText = d.smsText;\r\n\t }else{\r\n\t \tobj.WebNotificationEnabled = false;\r\n\t obj.WebNotificationText = '';\r\n\t }\r\n\t obj.Role = d.role;\r\n\t obj.TicketStateFirst = vm.firstStatus;\r\n\t\t obj.TicketStateSecond = vm.secondStatus;\r\n\t\t var minutes = '';\r\n\t if (d.time && d.time.includes('Min')) {\r\n\t var timeSplit = d.time.split(' ');\r\n\t minutes = parseInt(timeSplit[0]);\r\n\t }else{\r\n\t var timeSplit = d.time.split(' ');\r\n\t minutes = parseInt(timeSplit[0])*60;\r\n\t }\r\n\t obj.DurationInMinutes= minutes;\r\n\t\t}\r\n\t\tdata.ListEscalationAlertTemplate.push(obj);\r\n\t})\r\n\r\n\tif (vm.outSidecheck) {\r\n\t\tvar OutObj = {};\r\n\t\tOutObj.UserOutSideContact=[];\r\n\t\tOutObj.TicketStateFirst= vm.firstStatus;\r\n\t\tOutObj.TicketStateSecond= vm.secondStatus;\r\n\t\tOutObj.SMSEnabled= true;\r\n\t\tOutObj.SMSText= vm.outsiderTransText;\r\n\t\tOutObj.EmailEnabled= true;\r\n\t\tOutObj.EmailTemplateName= vm.firstStatus+'_'+vm.secondStatus;\r\n\t\tOutObj.EmailSubject= vm.firstStatus+'_'+vm.secondStatus;\r\n\t\tOutObj.NotificationEnabled= false;\r\n\t\tOutObj.NotificationText= '';\r\n\t\tOutObj.WhatsAppEnabled= false;\r\n\t\tOutObj.WhatsAppText= '';\r\n\t\tOutObj.WebNotificationEnabled= false;\r\n\t\tOutObj.WebNotificationText= '';\r\n\t\tOutObj.Role= 'Outsider';\r\n\t \tif (vm.toList && vm.toList.length>0) {\r\n\t \t\tangular.forEach(vm.toList, function(d){\r\n\t \t\t\tvar Outminutes = '';\r\n\t \t\t\tvar outModel = {};\r\n\t \t\t\tif (d) {\r\n\t \t\t\t\toutModel.UserOutSidePhone = d.ContactNumber;\r\n\t \t\t\t\toutModel.UserOutSideEmail = d.PersonalEmail;\r\n\t \t\t\t\tif (d.TimeDuration.includes('Min')) {\r\n\t\t\t\t var OuttimeSplit = d.TimeDuration.split(' ');\r\n\t\t\t\t Outminutes = parseInt(OuttimeSplit[0]);\r\n\t\t\t\t }else{\r\n\t\t\t\t var OuttimeSplit = d.TimeDuration.split(' ');\r\n\t\t\t\t Outminutes = parseInt(OuttimeSplit[0])*60;\r\n\t\t\t\t }\r\n\t\t\t\t\t OutObj.DurationInMinutes= Outminutes;\r\n\t \t\t\t}\r\n\t \t\t\tOutObj.UserOutSideContact.push(outModel);\r\n\t \t\t})\r\n\t \t}\r\n\t \tdata.ListEscalationAlertTemplate.push(OutObj);\r\n\t }\r\n\r\n\tEscalationService.SaveEscalationConfiguration(loggedinUser,data,token).then(function(resp){\r\n\t\tif (resp && resp.status == 201) {\r\n\t\t\tvm.showSuccess(\"Success\",\"Escalation Alert has been created\");\r\n\t\t\t$timeout(function(){\r\n\t\t\t\t$state.go('index.NotificationSettings',{\r\n\t \talertType:'main',\r\n\t \teventType:'',\r\n\t \tmode:''\r\n\t \t\t},{\r\n\t \treload:true\r\n\t \t\t});\t\r\n\t\t\t},1500)\r\n\r\n\t\t\t\r\n\t\t\t\r\n\t\t}else{\r\n\t\t\tvm.showFailure(\"Failure\",\"Escalation Alert creation failed due to some technical error\");\r\n\t\t}\r\n\t})\r\n} else {\r\n\tvm.escalation_form.submitted = true;\r\n}\r\n}\r\n\r\nvm.CancelEvent = function(){\r\n $state.go('index.NotificationSettings',{\r\n alertType:'main',\r\n eventType:'',\r\n mode:''\r\n },{\r\n reload:true\r\n })\r\n}\r\n\r\nif (vm.Openmode == true) {\r\n vm.GetEscalationAlertConfiguration();\r\n}\r\n\r\n\r\n //Global call functions\r\n vm.GetAllTicketStatus();\r\n\r\n});\nangular.module('inspinia').service('EmployeeShiftMapService', function (ApiURL, StaffSchedulingAPI, PublicApiURL, ActivityURL, $window, $http, FreelancerURL, SchedulingAPI) {\r\n var vm = this;\r\n\r\n vm.setShowSuccess = function (success) {\r\n vm.showSuccess = success;\r\n }\r\n\r\n vm.setShowFailure = function (failure) {\r\n vm.showFailure = failure;\r\n }\r\n\r\n // this.GetAllInteractionsDashboard = function (data, loggedinUser, token) {\r\n // var url = FreelancerURL + '/api/FreeLancerRegistration/GetAllInteractionsDashboard';\r\n // return $http.put(url, data, {\r\n // headers: {\r\n // 'Content-Type': 'application/json',\r\n // 'Token': token,\r\n // 'UserId': loggedinUser\r\n // }\r\n // });\r\n // }\r\n\r\n this.GetAllShiftsForDate = function (data, loginUserId, token) {\r\n var url = StaffSchedulingAPI + '/api/StaffShift/GetAllShiftsForDate';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n this.CreateStaffShift = function (data, loginUserId, token) {\r\n var url = StaffSchedulingAPI + '/api/StaffShift/CreateStaffShift';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetEligibleUserForShift = function (shiftId, loginUserId, token) {\r\n var url = StaffSchedulingAPI + '/api/StaffShift/GetEligibleUserForShift?ShiftId=' + shiftId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n this.PublishShiftToUser = function (shiftId, userId, loginUserId, token) {\r\n var url = StaffSchedulingAPI + '/api/StaffShift/PublishShiftToUser?ShiftId=' + shiftId + '&UserId=' + userId;\r\n return $http.put(url, null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n this.ApproveStaffOvertimeshift = function (shiftId, loginUserId, token) {\r\n var url = StaffSchedulingAPI + '/api/StaffOvertimeShift/ApproveStaffOvertimeshift?StaffOvertimeId=' + shiftId;\r\n return $http.put(url, null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n this.RejectStaffOvertimeshift = function (shiftId, rejectComment, loginUserId, token) {\r\n var url = StaffSchedulingAPI + '/api/StaffOvertimeShift/RejectStaffOvertimeshift?StaffOvertimeId=' + shiftId + '&RejectComment=' + rejectComment;\r\n return $http.put(url, null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n // this.GetAllShiftsForDateWithStatusXLS = function (data,token,loginUserId) {\r\n // var url = ApiURL + '/api/Report/GetAllShiftsForDateWithStatusXLS';\r\n // return $http.post(url,data, {\r\n // headers: {\r\n // 'Content-Type': 'application/json', 'Token': token, 'UserId': loginUserId\r\n // }\r\n // });\r\n // }\r\n\r\n this.GetAllShiftsForDateWithStatusXLS = function (startDate,endDate,status,userid,shiftType, accountId) {\r\n var url = PublicApiURL + '/api/Report/GetAllStaffShitData?ShiftFromDate=' +startDate+ '&ShiftToDate=' +endDate+ '&Status=' + status+ '&UserId=' +userid + '&ShiftType=' + shiftType + '&AccountId=' + accountId;\r\n $window.open(url);\r\n }\r\n\r\n});\nangular.module('inspinia').controller('EmployeeShiftMapController', function (EmployeeShiftMapService, shiftManagementService, TeamFormCreationService, $q, $filter, $log, $state, $localStorage, UIURL, $stateParams, $uibModal, $scope, DTOptionsBuilder, DTColumnDefBuilder, toaster, $timeout, $compile, uiCalendarConfig, ImageUrl, PublicApiURL, $window) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n vm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n $scope.myvalue = false;\r\n $scope.class_status = true;\r\n $scope.toggleSingleClass = function () {\r\n $scope.class_status = !$scope.class_status;\r\n $scope.myvalue = true;\r\n };\r\n\r\n $scope.broadcastSentUser = true;\r\n $scope.toggleForBroadcast = function () {\r\n $scope.broadcastSentUser = !$scope.broadcastSentUser;\r\n $scope.myvalue = true;\r\n };\r\n\r\n $scope.timeLineDetail = true;\r\n $scope.openTimeLine = function () {\r\n $scope.timeLineDetail = !$scope.timeLineDetail;\r\n $scope.myvalue = true;\r\n };\r\n $scope.manualAssignationWrapper = \"hide-nav\";\r\n $scope.toggleMenu = function (ShiftId) {\r\n vm.GetEligibleUserForShift(ShiftId);\r\n if ($scope.manualAssignationWrapper === \"hide-nav\") {\r\n $scope.manualAssignationWrapper = \"show-nav\";\r\n }\r\n else {\r\n $scope.manualAssignationWrapper = \"hide-nav\";\r\n }\r\n };\r\n $scope.hideAllUser = true;\r\n\r\n $scope.showAllUser = function () {\r\n $scope.hideAllUser = true;\r\n };\r\n $scope.hideAllUserbutton = function () {\r\n $scope.hideAllUser = false;\r\n };\r\n $scope.userClass_status = true;\r\n $scope.hideoverlay = function () {\r\n $scope.myvalue = false;\r\n $scope.class_status = true;\r\n $scope.userClass_status = true;\r\n $scope.broadcastSentUser = true;\r\n $scope.timeLineDetail = true;\r\n $scope.userFilter = true;\r\n $scope.minatureSlide = true;\r\n $scope.myvalue = false;\r\n vm.closeFeedbackoption();\r\n }\r\n $scope.close360ViewBroadcaste = function () {\r\n $scope.myvalue = false;\r\n angular.element('#div1').removeClass(\"alpha\");\r\n $scope.userClass_status = true;\r\n }\r\n $scope.userSingle = function () {\r\n $scope.userClass_status = !$scope.userClass_status;\r\n $scope.myvalue = true;\r\n };\r\n $scope.userFilter = true;\r\n $scope.assignJobFilter = function () {\r\n $scope.userFilter = !$scope.userFilter;\r\n $scope.myvalue = true;\r\n $scope.manualAssignationWrapper = \"hide-nav\";\r\n // $scope.toggleMenu();\r\n };\r\n $scope.minatureSlide = true;\r\n $scope.minatureSlideBtn = function () {\r\n $scope.minatureSlide = !$scope.minatureSlide;\r\n $scope.myvalue = true;\r\n };\r\n\r\n $scope.hideFilter = function () {\r\n $scope.userFilter = true;\r\n $scope.minatureSlide = true;\r\n $scope.myvalue = false;\r\n }\r\n\r\n var token = $localStorage.token;\r\n vm.IsOpenBucketEnabled = $localStorage.IsOpenBucketEnabled;\r\n vm.IsAutoAssignToCHDteam = $localStorage.IsAutoAssignToCHDteam;\r\n vm.IsOpenBucketEnabled = $localStorage.IsOpenBucketEnabled;\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.accountConfig = $localStorage.accountConfig;\r\n vm.accountId = $localStorage.accountConfig.AccountId;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.IsMaterialDelivered = $localStorage.accountConfig.IsMaterialDelivered;\r\n\r\n //Global Variable Declaration\r\n vm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n vm.loggedInUserVendorId = $localStorage.loggedInUser_VendorId;\r\n vm.loggedInUserReportingTo = $localStorage.loggedInUser_ReportingTo;\r\n\r\n // variables required for slot allocation\r\n vm.sorttype = \"desc\";\r\n vm.SortType = \"desc\";\r\n vm.SortField = 'CreatedOn';\r\n vm.ShiftList = [];\r\n vm.assignButtonDisable = false;\r\n vm.shiftsListLength = 0;\r\n vm.shiftPageListCount = 10;\r\n vm.pageListCounts = [10, 20, 30, 50];\r\n var PageIndex = 1;\r\n var PageSize = 10;\r\n vm.ActiveShifTab = 'RegularShift';\r\n vm.AssignedTo = '';\r\n vm.shiftStatus = '';\r\n vm.DateField = 'CreatedOn';\r\n vm.State = '';\r\n vm.City = '';\r\n vm.shiftId = '';\r\n vm.userskill = '';\r\n vm.disableuploadbutton = false;\r\n var startDate = moment().subtract(0, 'day').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.bookingdates = { startDate: moment().subtract(0, 'day'), endDate: moment() };\r\n vm.bookingRanges = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n 'Till now': [moment().subtract(5, 'years'), moment()]\r\n };\r\n\r\n\r\n var scdt = new Date();\r\n scdt.setMinutes(scdt.getMinutes() + 30);\r\n vm.SourceCreationDate = scdt;\r\n var pcdt = new Date();\r\n pcdt.setDate(pcdt.getDate() + 7);\r\n vm.PlannedClosureDate = pcdt;\r\n\r\n vm.openCalendar = function (e, picker) {\r\n vm.ClosureDateTime.open = true;\r\n };\r\n var plannedclosuredatelimit = new Date();\r\n plannedclosuredatelimit.setMinutes(plannedclosuredatelimit.getMinutes() + 1)\r\n vm.ClosureDateTime = { date: '', datepickerOptions: { minDate: plannedclosuredatelimit } };\r\n\r\n var date = new Date();\r\n var d = date.getDate();\r\n var m = date.getMonth();\r\n var y = date.getFullYear();\r\n vm.eventsF = function (start, end, timezone, callback) {\r\n var s = new Date(start).getTime() / 1000;\r\n var e = new Date(end).getTime() / 1000;\r\n var m = new Date(start).getMonth();\r\n var events = [{\r\n title: 'Feed Me ' + m,\r\n start: s + (50000),\r\n end: s + (100000),\r\n allDay: false,\r\n className: ['customFeed']\r\n }];\r\n callback(events);\r\n };\r\n\r\n vm.ShiftStatusList = [\"Created\", \"Published\", \"Accepted\", \"Inprogress\", \"Completed\", \"Lunch Break\", \"Rejected\", \"Approved\"];\r\n\r\n // start calender\r\n var scheduleStartDate = new Date();\r\n var scheduleEndDate = new Date();\r\n scheduleEndDate.setDate(scheduleEndDate.getDate() + 6);\r\n vm.slotBookingdates = { scheduleStartDate: moment().subtract(7, 'day'), scheduleEndDate: moment() };\r\n $scope.showCalendar = false;\r\n $scope.showBookingTab = false;\r\n vm.slotDate = $filter('date')(new Date(), 'yyyy-MM-dd');\r\n $scope.toggleCalendar = function (userId) {\r\n vm.slotBookingUserId = userId;\r\n $scope.showBookingTab = true;\r\n $scope.showCalendar = !$scope.showCalendar;\r\n };\r\n $scope.dateOptions = {\r\n formatYear: 'yyyy',\r\n startingDay: 1,\r\n minDate: scheduleStartDate,\r\n maxDate: scheduleEndDate\r\n };\r\n $scope.date = scheduleStartDate;\r\n\r\n\r\n vm.Applyfilter = function () {\r\n $scope.UserTablepagination = {};\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n $scope.hideFilter();\r\n vm.GetAllShiftsForDate();\r\n }\r\n\r\n vm.sortColumn = function (col) {\r\n vm.SortField = col;\r\n if (vm.SortType == 'desc') {\r\n vm.SortType = 'asc';\r\n vm.reverseclass = 'fa fa-arrow-up';\r\n } else {\r\n vm.SortType = 'desc';\r\n vm.reverseclass = 'fa fa-arrow-down';\r\n }\r\n };\r\n\r\n vm.sortClass = function (col) {\r\n if (vm.SortField == col) {\r\n if (vm.SortType == 'desc') {\r\n return 'fa fa-arrow-down';\r\n } else {\r\n return 'fa fa-arrow-up';\r\n }\r\n }\r\n else {\r\n return '';\r\n }\r\n }\r\n\r\n vm.closeSearchText = function () {\r\n vm.shiftStatus = '';\r\n vm.departmemtId = '';\r\n vm.locationId = '';\r\n vm.AssigedTo = '';\r\n vm.role = '';\r\n vm.GetAllShiftsForDate();\r\n }\r\n\r\n\r\n vm.outsidedateRangeChange = function (ev, picker) {\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n $scope.Userpagination = {};\r\n PageIndex = 1;\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n vm.GetAllShiftsForDate();\r\n };\r\n\r\n\r\n vm.implementSelectItemsUsers = function (itemList, scope) {\r\n scope.selectAllUsers = false;\r\n scope.showMinusUsers = false;\r\n scope.selectRowUsers = function (i) {\r\n vm.toBeAssigned = [];\r\n scope.showMinusUsers = false;\r\n scope.selectAllUsers = false;\r\n angular.forEach(scope[itemList], function (d) {\r\n if (d.checked) {\r\n var myObject = {\r\n 'UserId': d.UserId,\r\n 'Skill': d.Skill\r\n };\r\n vm.toBeAssigned.push(myObject)\r\n scope.showMinusUsers = true;\r\n }\r\n\r\n });\r\n }\r\n scope.applyAllNewJobSelect = function () {\r\n angular.forEach(scope[itemList], function (d) {\r\n d.checked = scope.selectAllUsers;\r\n });\r\n }\r\n\r\n scope.resetAllSelect = function () {\r\n scope.selectAllUsers = false;\r\n scope.showMinusUsers = false;\r\n }\r\n }\r\n\r\n vm.implementSelectItemsUsers('ShiftList', this);\r\n\r\n $scope.totalTableUsersBG = 0;\r\n $scope.userSMETablePerPage = vm.userPageListCount;\r\n $scope.UserSMETablepagination = {\r\n current: 1\r\n };\r\n\r\n vm.changeUserSMEPageListCount = function () {\r\n $scope.userSMETablePerPage = vm.shiftPageListCount;\r\n PageSize = $scope.userSMETablePerPage;\r\n $scope.UserSMETablepageChanged($scope.UserSMETablepagination.current);\r\n }\r\n\r\n PageIndex = $scope.UserSMETablepagination.current;\r\n $scope.UserSMETablepageChanged = function (newPage) {\r\n PageIndex = newPage;\r\n vm.GetAllInteractions();\r\n };\r\n\r\n $scope.totalTableShifts = 0;\r\n $scope.userTablePerPage = vm.shiftPageListCount;\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n\r\n\r\n vm.changeUserPageListCount = function () {\r\n $scope.userTablePerPage = vm.shiftPageListCount;\r\n PageSize = $scope.userTablePerPage;\r\n $scope.UserTablepageChanged($scope.UserTablepagination.current);\r\n }\r\n\r\n PageIndex = $scope.UserTablepagination.current;\r\n $scope.UserTablepageChanged = function (newPage) {\r\n PageIndex = newPage;\r\n vm.GetAllShiftsForDate();\r\n };\r\n\r\n getAllRole()\r\n\r\n function getAllRole() {\r\n TeamFormCreationService.getAllRoleByUserId(loggedinUser, token).then(function (resp) {\r\n if(resp.status == 200){\r\n if(resp.data && resp.data.length>0){\r\n vm.RolesList = resp.data;\r\n }\r\n }\r\n })\r\n \r\n }\r\n\r\n vm.GetAllShiftsForDate = function () {\r\n data = {\r\n \"ShiftFromDate\": startDate,\r\n \"ShiftToDate\": endDate,\r\n \"Status\": vm.shiftStatus,\r\n \"DepartmentId\": vm.departmemtId,\r\n \"LocationId\": vm.locationId,\r\n \"UserId\": \"\",\r\n \"Role\": vm.role,\r\n \"ShiftType\": vm.ActiveShifTab,\r\n \"OrderBy\": \"ShiftForDate\",\r\n \"SortType\": vm.SortType,\r\n \"PageIndex\": PageIndex,\r\n \"PageSize\": PageSize\r\n }\r\n EmployeeShiftMapService.GetAllShiftsForDate(data, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.ShiftList = resp.data.objStaffShiftModelResList;\r\n $scope.totalTableShifts = resp.data.TotalCount;\r\n if (vm.ShiftList.length < vm.shiftPageListCount)\r\n vm.shiftsListLength = $scope.totalTableShifts;\r\n else\r\n vm.shiftsListLength = PageIndex * vm.shiftPageListCount;\r\n if (PageIndex == 1)\r\n vm.pageindexCount = 1;\r\n else\r\n vm.pageindexCount = (((PageIndex - 1) * vm.shiftPageListCount) + 1);\r\n }\r\n\r\n })\r\n }\r\n\r\n vm.GetAllShiftsForDate();\r\n\r\n // vm.GetAllInteractionsDashboard = function () {\r\n // data = {\r\n // \"Status\": vm.shiftStatus,\r\n // \"Skill\": vm.userskill == \"\" ? \"\" : vm.userskill.join(\"|\"),\r\n // \"DateField\": vm.DateField,\r\n // \"FromDate\": startDate,\r\n // \"ToDate\": endDate,\r\n // \"AssignedTo\": vm.AssignedTo == \"\" ? \"\" : vm.AssignedTo.join(\"|\"),\r\n // \"InteractionType\": vm.InteractionType,\r\n // \"PageIndex\": PageIndex,\r\n // \"PageCount\": PageSize,\r\n // \"State\": vm.State,\r\n // \"City\": vm.City\r\n // }\r\n // EmployeeShiftMapService.GetAllInteractionsDashboard(data, loggedinUser, token).then(function (resp) {\r\n // if (resp && resp.data) {\r\n // vm.TotalSlots = resp.data.TotalSlots;\r\n // vm.AssignedSlots = resp.data.AssignedSlots;\r\n // vm.PendingSlots = resp.data.PendingSlots;\r\n // vm.CompletedSlots = resp.data.CompletedSlots;\r\n // vm.BreachedSlots = resp.data.BreachedSlots;\r\n // }\r\n\r\n // })\r\n // }\r\n\r\n vm.getAllShiftsByType = function (value) {\r\n $scope.totalTableShifts = 0;\r\n vm.ActiveShifTab = value;\r\n if (vm.ActiveShifTab == 'RegularShift') {\r\n vm.GetAllShiftsForDate();\r\n }\r\n if (vm.ActiveShifTab == 'OverTime') {\r\n vm.GetAllShiftsForDate();\r\n }\r\n vm.shiftStatus = '';\r\n vm.departmemtId = '';\r\n vm.locationId = '';\r\n $scope.UserTablepagination = {};\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n }\r\n\r\n vm.AddShiftModal = function () {\r\n vm.GetAllLocations();\r\n vm.shiftModal = $uibModal.open({\r\n templateUrl: 'CreateShift.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n vm.closeShiftModal = function () {\r\n vm.shiftModal.close();\r\n vm.SelectedLocation = \"\";\r\n vm.SelectedDepartment = \"\";\r\n vm.startDate = \"\";\r\n vm.endDate = \"\";\r\n \r\n\r\n }\r\n\r\n\r\n vm.BulkShiftMapView = function () {\r\n\t\t\t$state.go('index.bulkuploadshiftmap', {\r\n\t\t\t}, {\r\n\t\t\t\treload: true\r\n\t\t\t});\r\n\t\t}\r\n\r\n vm.UserId = \"\";\r\n vm.GetAllShiftsForDateWithStatusXLS = function () {\r\n // var data = {\r\n // \"ShiftFromDate\": startDate,\r\n // \"ShiftToDate\": endDate,\r\n // \"Status\": vm.shiftStatus,\r\n // // \"DepartmentId\": vm.departmemtId,\r\n // // \"LocationId\": vm.locationId,\r\n // \"UserId\": \"\",\r\n // \"ShiftType\": vm.ActiveShifTab\r\n // }\r\n\t\t\tEmployeeShiftMapService.GetAllShiftsForDateWithStatusXLS(startDate,endDate,vm.shiftStatus,vm.UserId,vm.ActiveShifTab,vm.accountId)\r\n // .then(function (resp) {\r\n\t\t\t\t// if (resp && resp.data) {\r\n\t\t\t\t// \tvar xlsData = resp.data;\r\n // // $window.open(urlWithFeasible, '_blank')\r\n\t\t\t\t// }\r\n\t\t\t// })\r\n\t\t}\r\n\r\n vm.GetAllLocations = function () {\r\n shiftManagementService.GetAllLocations(loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200 && resp) {\r\n vm.locationsList = resp.data;\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n }\r\n\r\n vm.GetAllLocations();\r\n\r\n vm.GetAllDepartment = function () {\r\n shiftManagementService.GetAllDepartment(loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200 && resp) {\r\n vm.departmentList = resp.data;\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n }\r\n\r\n vm.GetAllDepartment();\r\n\r\n vm.GetAllDepartmentsForLocation = function (locationId) {\r\n shiftManagementService.GetAllDepartmentsForLocation(locationId, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200 && resp) {\r\n vm.departmentListByLocation = resp.data;\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n }\r\n\r\n $scope.getCurrentDate = function() {\r\n return new Date();\r\n };\r\n\r\n vm.CreateStaffShift = function () {\r\n vm.stockAssignation_form.submitted = true;\r\n if (vm.stockAssignation_form.$valid) {\r\n var data = {\r\n \"LocationId\": vm.SelectedLocation.LocationId,\r\n \"DepartmentId\": vm.SelectedDepartment.DepartmentId,\r\n \"StartDate\": moment(vm.startDate).format(\"YYYY-MM-DD\"),\r\n \"EndDate\": moment(vm.endDate).format(\"YYYY-MM-DD\")\r\n }\r\n EmployeeShiftMapService.CreateStaffShift(data, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 201 && resp) {\r\n vm.showSuccess(\"Success\", 'Shifts created successfully');\r\n vm.closeShiftModal();\r\n $timeout(function () {\r\n vm.GetAllShiftsForDate();\r\n }, 2000);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n\r\n }\r\n }\r\n\r\n vm.PublishShiftToUser = function (userId) {\r\n vm.disableBookingButton = true;\r\n EmployeeShiftMapService.PublishShiftToUser(vm.shiftId, userId, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 202 && resp) {\r\n vm.disableBookingButton = false;\r\n $scope.toggleMenu();\r\n vm.showSuccess(\"Success\", 'Shift published successfully');\r\n $timeout(function () {\r\n vm.GetAllShiftsForDate();\r\n }, 2000);\r\n }\r\n else {\r\n vm.disableBookingButton = false;\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n\r\n }\r\n\r\n vm.ApproveStaffOvertimeshift = function (shiftId) {\r\n vm.disableBookingButton = true;\r\n EmployeeShiftMapService.ApproveStaffOvertimeshift(shiftId, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 202 && resp) {\r\n vm.disableBookingButton = false;\r\n vm.showSuccess(\"Success\", 'Shift approved successfully');\r\n $timeout(function () {\r\n vm.GetAllShiftsForDate();\r\n }, 2000);\r\n }\r\n else {\r\n vm.disableBookingButton = false;\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n\r\n }\r\n\r\n vm.RejectModal = function (item) {\r\n vm.shiftId = item;\r\n vm.RejctShareModal = $uibModal.open({\r\n templateUrl: 'rejectshiftmodal.html',\r\n backdrop: 'static',\r\n size: 'md',\r\n scope: $scope\r\n });\r\n }\r\n vm.closerejectmodal = function () {\r\n vm.disableBookingButton = false;\r\n vm.RejectComment = \"\";\r\n vm.RejctShareModal.close();\r\n }\r\n\r\n\r\n vm.RejectStaffOvertimeshift = function () {\r\n vm.disableBookingButton = true;\r\n EmployeeShiftMapService.RejectStaffOvertimeshift(vm.shiftId, vm.RejectComment, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 202 && resp) {\r\n vm.showSuccess(\"Success\", 'Shift rejected successfully');\r\n vm.closerejectmodal();\r\n $timeout(function () {\r\n vm.GetAllShiftsForDate();\r\n }, 2000);\r\n }\r\n else {\r\n vm.disableBookingButton = false;\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n\r\n }\r\n\r\n vm.GetEligibleUserForShift = function (shiftId) {\r\n vm.shiftId = shiftId;\r\n EmployeeShiftMapService.GetEligibleUserForShift(shiftId, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200 && resp) {\r\n vm.eligibleUsersList = resp.data;\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n }\r\n }\r\n});\r\n\r\nangular.module('inspinia').filter('searchUser', function () {\r\n return function (items, search) {\r\n var filtered = [];\r\n if (search) {\r\n angular.forEach(items, function (item) {\r\n var searchstr = new RegExp(search, \"i\");\r\n if (item.id.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.User_Type.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.city.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.contactnumber.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.name.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.role.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.state.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n });\r\n } else {\r\n filtered = items;\r\n }\r\n return filtered;\r\n }\r\n})\nangular.module('inspinia').service('EmailAdapterHistoryService', function (FreelancerURL,ApiURL, $http) {\r\n\r\n vm = this;\r\n vm.setShowSuccess = function (success) {\r\n vm.showSuccess = success;\r\n }\r\n\r\n vm.setShowFailure = function (failure) {\r\n vm.showFailure = failure;\r\n }\r\n\r\n //https://perf.mymobiforce.com/coreapi/api/EmailAdapter/GetInRange?reqUserId=U360000000221&StartDate=2019-06-05&EndDate=2019-06-05\r\n this.GetMailHistoryByDate = function (loggedinUser, token, startdate, enddate, callback) {\r\n var url = ApiURL + '/api/EmailAdapter/GetInRange?reqUserId=' + loggedinUser + '&StartDate=' + startdate + '&EndDate=' + enddate;\r\n $http.get(url, {\r\n headers: { 'Content-Type': 'application/json','Token':token, 'UserId': loggedinUser}\r\n }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n })\r\n }\r\n\r\n});\nangular.module('inspinia').controller('EmailAdapterHistoryController', function (DTColumnBuilder, DTOptionsBuilder, $scope, $q,EmailAdapterHistoryService, $localStorage, $log, toaster, $timeout) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n } else {\r\n\r\n vm.dtInstance = {};\r\n\r\n EmailAdapterHistoryService.setShowSuccess($scope.$parent.$parent.main.showSuccess);\r\n EmailAdapterHistoryService.setShowFailure($scope.$parent.$parent.main.showFailure);\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n\r\n $scope.dates = { startDate:moment().subtract(0, 'days'), endDate: moment() };\r\n var startDate = moment().subtract(0, 'days').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n\r\n $scope.ranges = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n // 'This month': [moment().startOf('month'), moment().endOf('month')]\r\n 'This month': [moment().startOf('month'), moment()]\r\n };\r\n\r\n $scope.dateRangeChange = function(ev, picker){\r\n console.log(ev, picker);\r\n var startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n var endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n vm.rollup = \"Range(\"+startDate+\"|\"+endDate+\")\";\r\n vm.GetAllLeaveRequests(startDate, endDate, true);\r\n \r\n };\r\n\r\n vm.GetAllLeaveRequests = function(startDate, endDate, reload){\r\n EmailAdapterHistoryService.GetMailHistoryByDate(loggedinUser, token, startDate, endDate, vm.createCallback(null, [function(data){\r\n if(data){\r\n vm.mailhistoryList = data; \r\n vm.buildTable(); \r\n if(reload){\r\n vm.reloadData(); \r\n } \r\n } \r\n }]));\r\n } \r\n\r\n vm.GetAllLeaveRequests(startDate, endDate, false);\r\n\r\n vm.reloadData = function(){\r\n var resetPaging = true;\r\n vm.dtInstance.reloadData(resetPaging);\r\n }\r\n\r\n vm.buildTable = function () {\r\n\r\n vm.dtColumns = [\r\n DTColumnBuilder.newColumn('AssetId').withTitle('Asset Id'),\r\n DTColumnBuilder.newColumn('SourceCreatedOn').withTitle('Source CreatedOn'),\r\n DTColumnBuilder.newColumn('MailReceivedOn').withTitle('Mail ReceivedOn'),\r\n DTColumnBuilder.newColumn('SourceResolvedOn').withTitle('Source ResolvedOn'),\r\n DTColumnBuilder.newColumn('Source').withTitle('Source'),\r\n DTColumnBuilder.newColumn('Remark').withTitle('Remark'),\r\n DTColumnBuilder.newColumn('Priority').withTitle('Priority'),\r\n DTColumnBuilder.newColumn('SourceTicketId').withTitle('Source Ticket Id'),\r\n DTColumnBuilder.newColumn('Status').withTitle('Status'),\r\n DTColumnBuilder.newColumn('Skill').withTitle('Skill'),\r\n DTColumnBuilder.newColumn('CallType').withTitle('CallType'),\r\n DTColumnBuilder.newColumn('MobiforceTicketId').withTitle('Mobiforce Ticket Id'),\r\n DTColumnBuilder.newColumn('ProcessingStatus').withTitle('Processing Status')\r\n ];\r\n\r\n vm.dtOptions = DTOptionsBuilder.fromFnPromise(function() { \r\n var defer = $q.defer();\r\n defer.resolve(vm.mailhistoryList);\r\n return defer.promise; \r\n }).withDOM(\r\n '<\"html5buttons\"B>lTfgitp').withPaginationType(\r\n 'full_numbers').withOption('lengthChange', false)\r\n .withOption('order', []); \r\n } \r\n }\r\n});\nangular.module('inspinia').service('DirectSaleToCustomerService', function (MMFCRMURL,ApiURL,AcessoriesURL, $http, $localStorage) {\r\n\r\n this.GetUserAllSalesOrderDetailforWeb = function (loggedinUser, token, orderStatus, SearchText, category, brandName, productGroup, orderBy, sortType, fPageIndex, fPageSize, startDate, endDate, dateField) {\r\n var url = MMFCRMURL + '/api/ZohoInventoryController/GetUserAllSalesOrderDetailforWeb?OrderStatus=' + orderStatus + '&startDate=' + startDate + '&EndDate=' + endDate + '&SearchText=' + SearchText + '&dateField=' + dateField + '&category=' + category + '&BrandName=' + brandName + '&ProductGroup=' + productGroup + '&OrderBy=' + orderBy + '&SortType=' + sortType + '&PageSize=' + fPageSize + '&PageIndex=' + fPageIndex;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAllTicketsForContact = function (loggedinUser, token, contactNo) {\r\n var url = MMFCRMURL + '/api/CRMConsumer/GetAllTicketsForContact?Contact=' + contactNo;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n this.getAllCity = function (userId, state,token) {\r\n var url = ApiURL + '/api/AddressMaster/GetAllCities?State='+state;\r\n return $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token':token, 'UserId':userId }\r\n });\r\n}\r\n\r\n this.GetAllAreaByStateCity = function (loggedinUser, token, state, city) {\r\n var url = ApiURL + '/api/AddressMaster/GetAllAreaByStateCity?State=' + state +'&City=' + city;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAllPincodeBYAreaStateCity = function (loggedinUser, token,state, city, area) {\r\n var url = ApiURL + '/api/AddressMaster/GetAllPincodeBYAreaStateCity?State=' + state +'&City=' + city + '&Area=' + area;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.CreateConsumer = function (data, loggedinUser, token) {\r\n var url = MMFCRMURL + '/api/CRMConsumer/CreateConsumer';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GenerateBill = function (data,consumerId, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/ServiceCentreBill/GenerateBill?consumerId=' + consumerId;\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetServiceableArea = function (data, loggedinUser, token) {\r\n var url = MMFCRMURL + '/api/CRMConsumer/GetServiceableArea';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.CreateCase = function (data, loggedinUser, token) {\r\n var url = MMFCRMURL + '/api/CRMConsumer/CreateTicket';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetWarrantyDetailsForProduct = function (data, loggedinUser, token) {\r\n var url = MMFCRMURL + '/api/CRMConsumer/GetWarrantyDetailsForProduct';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetConsumerDetails = function (loggedinUser, token, contactNo) {\r\n var url = MMFCRMURL + '/api/CRMConsumer/GetConsumerDetails?ConsumerContact=' + contactNo;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n\r\n this.GetBrandProductGroup = function (data, loggedinUser, token) {\r\n var url = MMFCRMURL + '/api/CRMBrandProductMaster/GetBrandProductGroup';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAllProductsForBrand = function (data, loggedinUser, token) {\r\n var url = MMFCRMURL + '/api/CRMBrandProductMaster/GetAllProductsForBrand';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAllActiveProductModelMaster = function (ProductName, brand,loggedinUser, token) {\r\n var url = MMFCRMURL + '/api/CRMBrandProductMaster/GetAllActiveProductModelMaster?productName=' + ProductName + '&brandName=' + brand;\r\n\t\treturn $http.get(url, {\r\n\t\t\theaders: { 'Token': token, 'UserId': loggedinUser }\r\n\t\t});\r\n\t}\r\n\r\n\r\n this.GetAddressFromPinCode = function (data, loggedinUser, token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetByPincode?pincode=' + data;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n this.GenerateConsumerInvoice = function (ticketId,loggedinUser, token) { \r\n var url = ApiURL + '/api/PDFReportMapper/GenerateConsumerInvoiceFromMobile?ticketId=' + ticketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n this.downloadOnSiteReport = function ( loggedinUser, token,TicketId) { \r\n var url = ApiURL + '/api/Report/GeneratePdfOnSiteReport?TicketId=' + TicketId;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n }\r\n \r\n });\r\n }\r\n\r\n this.SendHappyCodeSMS = function (TicketId,accountId,loggedinUser, token) { \r\n var url = ApiURL + '/api/Ticket/SendHappyCodeSMS?TicketId=' + TicketId + '&accountId=' + accountId;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n }\r\n \r\n });\r\n }\r\n this.GetItemBrandName = function (token) {\r\n var url = AcessoriesURL + '/api/MMFMasterInventory/GetItemBrandName';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetUserInventoryStockforweb = function (data,token) {\r\n var url = AcessoriesURL + '/api/MMFPart/GetUserInventoryStockforweb'\r\n return $http.put(url, data,{\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('DirectSaleToCustomerController', function (DirectSaleToCustomerService,InventoryItemListService,TeamMyStockService, CentralHDTicketsViewService, ReferService, $resource, toaster, $filter, $compile, $q, $state, $localStorage, $scope, DTOptionsBuilder, DTColumnBuilder, $uibModal, $timeout) {\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvm.IsAppointmentOTPNeeded = $localStorage.accountConfig.IsAppointmentOTPNeeded;\r\n\t\tvm.AccountId = $localStorage.accountConfig.AccountId;\r\n\t\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\t\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\t\tvm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\t\tvm.pageListCounts = [10, 20, 30, 50];\r\n\t\tvar PageIndex = 1;\r\n\t\tvar PageSize = 10;\r\n\t\tvar fPageIndex = 1;\r\n\t\tvm.IsConsumerFound = false;\r\n\t\tvm.consumerTitle = '';\r\n\t\tvm.consumerFirstName = '';\r\n\t\tvm.consumerLastName = '';\r\n\t\tvm.consumerArea = '';\r\n\t\tvm.financePageListCount = 10;\r\n\t\tstartDate = \"\";\r\n\t\tendDate = \"\";\r\n\t\tvm.sortType = \"\";\r\n\t\tvm.ServiceCenterVendorId = \"\";\r\n\t\tvm.orderBy = \"\";\r\n\t\tvm.itemValue = \"\";\r\n\t\tvm.OrderStatus = \"GoodStock\";\r\n\t\tvm.SearchText = \"\";\r\n\t\tvm.pageListCounts = [10, 20, 30, 50];\r\n\t\tif (!$localStorage.consumerContact) {\r\n\t\t\t// If not, initialize it to an empty string\r\n\t\t\t$localStorage.consumerContact = '';\r\n\t\t}\r\n\r\n\t\t// Assign the value of consumerContact to $localStorage.consumerContact whenever it changes\r\n\t\t$scope.$watch('consumerContact', function (newVal) {\r\n\t\t\t$localStorage.consumerContact = newVal;\r\n\t\t});\r\n\r\n\t\t// Retrieve the value of consumerContact from local storage\r\n\t\t$scope.consumerContact = $localStorage.consumerContact;\r\n\t\tvm.consumerAltContact = '';\r\n\t\tvm.PersonalEmail = '';\r\n\t\tvm.consumerType = '';\r\n\t\tvm.AddressType = 'Home';\r\n\t\tvm.warrantyStatus = '';\r\n\t\tvm.dateOfPurchase = '';\r\n\t\tvm.callType = '';\r\n\t\tvm.AppointmentTime = '08:00'\r\n\t\tvm.AppointmentDate = moment().format('YYYY-MM-DD');\r\n\t\tvm.consumerCity = '';\r\n\t\tvm.consumerPincode = '';\r\n\t\tvm.consumerState = '';\r\n\t\t$scope.dates = { startDate: moment().subtract(0, 'days'), endDate: moment() };\r\n\t\tvar startDate = moment().subtract(0, 'days').format(\"YYYY-MM-DD\");\r\n\t\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\t\tvm.minDate = new Date();\r\n\t\tvm.datepickerOptions = {\r\n\t\t\tminDate: vm.minDate\r\n\t\t};\r\n\t\tvm.disableCreateButton = false;\r\n\r\n\t\tvm.DisableCreateButton = function (disable) {\r\n\t\t\tif (disable) {\r\n\t\t\t\tvm.disableCreateButton = true;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.disableCreateButton = false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.timeSlots = [\r\n\t\t\t{ value: '08:00', label: '08:00 AM to 10:00 AM' },\r\n\t\t\t{ value: '10:00', label: '10:00 AM to 12:00 PM' },\r\n\t\t\t{ value: '12:00', label: '12:00 PM to 02:00 PM' },\r\n\t\t\t{ value: '14:00', label: '02:00 PM to 04:00 PM' },\r\n\t\t\t{ value: '16:00', label: '04:00 PM to 06:00 PM' },\r\n\t\t\t{ value: '18:00', label: '06:00 PM to 08:00 PM' }\r\n\t\t];\r\n\r\n\t\tfunction getCurrentDateTime() {\r\n\t\t\treturn new Date();\r\n\t\t}\r\n\r\n\t\tfunction isTimeSlotValid(slot) {\r\n\t\t\tvar now = getCurrentDateTime();\r\n\t\t\tvar selectedDate = moment(vm.AppointmentDate).format('YYYY-MM-DD');\r\n\r\n\t\t\tif (selectedDate) {\r\n\t\t\t\tif (!(selectedDate instanceof Date)) {\r\n\t\t\t\t\tselectedDate = new Date(selectedDate);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar slotTime = slot.value.split(':');\r\n\t\t\t\tvar selectedDateTime = new Date(selectedDate);\r\n\t\t\t\tselectedDateTime.setHours(parseInt(slotTime[0]), parseInt(slotTime[1]), 0, 0);\r\n\r\n\t\t\t\treturn selectedDateTime >= now;\r\n\t\t\t}\r\n\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tfunction updateAvailableTimeSlots() {\r\n\t\t\t$timeout(function () {\r\n\t\t\t\tvm.availableTimeSlots = vm.timeSlots.filter(isTimeSlotValid);\r\n\t\t\t\tselectDefaultTimeSlot();\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction selectDefaultTimeSlot() {\r\n\t\t\tif (vm.availableTimeSlots.length > 0) {\r\n\t\t\t\tvm.AppointmentTime = vm.availableTimeSlots[0].value;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t$scope.$watch('customercrmlistctrl.AppointmentDate', function (newValue, oldValue) {\r\n\t\t\tif (newValue !== oldValue) {\r\n\t\t\t\tupdateAvailableTimeSlots();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// Initialize available time slots\r\n\t\tupdateAvailableTimeSlots();\r\n\r\n\t\tvm.isDateDisabled = function () {\r\n\t\t\treturn !vm.brandName ||\r\n\t\t\t\t!vm.productGroup ||\r\n\t\t\t\t!vm.product;\r\n\t\t};\r\n\r\n\t\tvm.getCurrentDate = function () {\r\n\t\t\tvar currentDate = new Date();\r\n\t\t\treturn currentDate;\r\n\t\t};\r\n\r\n\t\t$scope.ranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment()]\r\n\t\t};\r\n\r\n\t\t$scope.dateRangeChange = function (ev, picker) {\r\n\t\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\t\tvm.getAllJobForExceptionList();\r\n\r\n\r\n\t\t};\r\n\r\n\t\tvm.openPincodeSelectionModal = function () {\r\n\t\t\tvm.pincodeSelectionModalInstance = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'pincodeSelectionModal.html',\r\n\t\t\t\tsize: 'md',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.closePincodeSelectionModal = function () {\r\n\t\t\tif (vm.pincodeSelectionModalInstance) {\r\n\t\t\t\tvm.pincodeSelectionModalInstance.close();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.changeMyStockPageListCount = function () {\r\n\t\t\t$scope.usersStockPageRequest = vm.financePageListCount;\r\n\t\t\tPageSize = $scope.usersStockPageRequest;\r\n\t\t\t$scope.Requestpagination.current = 1;\r\n\t\t\t$scope.MystockTablePageChanged($scope.Requestpagination.current);\r\n\t\t };\r\n\r\n\t\t vm.GetUserInventoryStockforweb = function () {\r\n\t\t\tvm.MyInventoryStockList = [];\r\n\t\t\tvar data = {\r\n\t\t\t SearchText: vm.SearchText,\r\n\t\t\t PageIndex: PageIndex,\r\n\t\t\t PageSize: PageSize,\r\n\t\t\t StockType: vm.OrderStatus,\r\n\t\t\t MMFPartName: vm.selectedPart,\r\n\t\t\t BrandName: vm.brandName,\r\n\t\t\t ProductGroup: vm.productGroup,\r\n\t\t\t PartSubGroup: vm.partName,\r\n\t\t\t StartDate: startDate,\r\n\t\t\t EndDate: endDate,\r\n\t\t\t OrderBy: vm.orderBy,\r\n\t\t\t SortType: vm.sortType,\r\n\t\t\t};\r\n\t\t\tDirectSaleToCustomerService.GetUserInventoryStockforweb(data, token).then(\r\n\t\t\t function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t vm.MyInventoryStockList = resp.data.ListMMFPartModelRes;\r\n\t\t\t\t $scope.totalInventory = resp.data.RecordCount;\r\n\t\t\t\t vm.totalInventoryValue = resp.data.InventoryTotal;\r\n\t\t\t\t if (vm.MyInventoryStockList.length < vm.financePageListCount) {\r\n\t\t\t\t\tvm.myStockListLength = $scope.totalInventory;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\tvm.myStockListLength = PageIndex * vm.financePageListCount;\r\n\t\t\t\t\t}\r\n\t\t\t\t if (PageIndex == 1){\r\n\t\t\t\t\tvm.countdpageindexCount = 1;\r\n\t\t\t\t } \r\n\t\t\t\t else{\r\n\t\t\t\t\tvm.countdpageindexCount =\r\n\t\t\t\t\t (PageIndex - 1) * vm.financePageListCount + 1;\r\n\t\t\t\t }\r\n\t\t\t\t}\r\n\t\t\t },\r\n\t\t\t function (error) { }\r\n\t\t\t);\r\n\t\t };\r\n\t\t// vm.GetUserInventoryStockforweb();\r\n\t\tvm.ProceedToAddPincode = function(){\r\n\t\t\tvm.FindPincode_form.submitted = true;\r\n\t\t\tif (vm.FindPincode_form.$valid) {\r\n\t\t\t\tvm.closePincodeSelectionModal();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\r\n\r\n\t\t$scope.totalFinList = 0;\r\n\t\t$scope.usersPerPage = vm.allSalesOrderPageListCount;\r\n\t\t$scope.SalesOrderPagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\r\n\t\tvm.changeAllSalesOrderPageListCount = function () {\r\n\t\t\t$scope.usersPerPage = vm.allSalesOrderPageListCount;\r\n\t\t\tPageSize = $scope.usersPerPage;\r\n\t\t\t$scope.AllSalesOrderTablePageChanged($scope.SalesOrderPagination.current);\r\n\t\t\tvm.selectAll = false;\r\n\t\t\tfPageIndex = $scope.SalesOrderPagination.current;\r\n\t\t\t$scope.AllSalesOrderTablePageChanged = function (newPage) {\r\n\t\t\t\tfPageIndex = newPage;\r\n\t\t\t\tvm.GetUserAllSalesOrderDetailforWeb(loggedinUser, token, vm.OrderStatus, vm.SearchText, vm.partName, vm.brandName, vm.productGroup, vm.orderBy, vm.sortType, fPageIndex, PageSize, startDate, endDate, vm.dateField);\r\n\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tfPageIndex = $scope.SalesOrderPagination.current;\r\n\t\t$scope.AllSalesOrderTablePageChanged = function (newPage) {\r\n\t\t\tPageIndex = newPage;\r\n\t\t\tvm.GetUserAllSalesOrderDetailforWeb(loggedinUser, token, vm.OrderStatus, vm.SearchText, vm.partName, vm.brandName, vm.productGroup, vm.orderBy, vm.sortType, fPageIndex, PageSize, startDate, endDate, vm.dateField);\r\n\r\n\t\t};\r\n\r\n\r\n\t\tvm.TicketPartOrderList = [];\r\n\t\tvm.GetUserAllSalesOrderDetailforWeb = function () {\r\n\t\t\tDirectSaleToCustomerService.GetUserAllSalesOrderDetailforWeb(loggedinUser, token, vm.OrderStatus, vm.SearchText, vm.partName, vm.brandName, vm.productGroup, vm.orderBy, vm.sortType, fPageIndex, PageSize, startDate, endDate, vm.dateField).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.TicketPartOrderList = resp.data.zohoItemRequestModels;\r\n\t\t\t\t\t$scope.totalFinList = resp.data.Count;\r\n\t\t\t\t\tif (vm.TicketPartOrderList.length < vm.allSalesOrderPageListCount)\r\n\t\t\t\t\t\tvm.financeListLength = $scope.totalFinList;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.financeListLength = fPageIndex * vm.allSalesOrderPageListCount;\r\n\t\t\t\t\tif (fPageIndex == 1)\r\n\t\t\t\t\t\tvm.fpageindexCount = 1;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.fpageindexCount = (((fPageIndex - 1) * vm.allSalesOrderPageListCount) + 1);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t\t\r\n\t\tvm.CreateConsumer = function () {\r\n\t\t\tvm.customercreate_form.submitted = true;\r\n\t\t\tif (vm.customercreate_form.$valid) {\r\n\t\t\t\tvm.DisableCreateButton(true);\r\n\t\t\t\tdata = {\r\n\t\t\t\t\t\"strConsumerTitle\": vm.consumerTitle,\r\n\t\t\t\t\t\"strConsumerFirstName\": vm.consumerFirstName,\r\n\t\t\t\t\t\"strConsumerLastName\": vm.consumerLastName,\r\n\t\t\t\t\t\"strConsumerContact\": $scope.consumerContact,\r\n\t\t\t\t\t\"strConsumerAlternateContact\": vm.consumerAltContact,\r\n\t\t\t\t\t\"strPersonalEmail\": vm.PersonalEmail,\r\n\t\t\t\t\t\"strConsumerArea\": \"string\",\r\n\t\t\t\t\t\"strConsumerLandMark\": \"string\",\r\n\t\t\t\t\t\"strConsumerType\": vm.consumerType,\r\n\t\t\t\t\t\"udListAddresses\": [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\"strAddressType\": vm.AddressType,\r\n\t\t\t\t\t\t\t\"strAddress1\": vm.AddressLine1,\r\n\t\t\t\t\t\t\t\"strAddress2\": vm.AddressLine2,\r\n\t\t\t\t\t\t\t\"strCity\": vm.consumerCity,\r\n\t\t\t\t\t\t\t\"strDistrict\": \"string\",\r\n\t\t\t\t\t\t\t\"strPostalCode\": vm.consumerPincode,\r\n\t\t\t\t\t\t\t\"strState\": vm.consumerState,\r\n\t\t\t\t\t\t\t\"strCountry\": \"India\",\r\n\t\t\t\t\t\t\t\"bIsDefaultAddress\": true\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t]\r\n\t\t\t\t}\r\n\t\t\t\tDirectSaleToCustomerService.CreateConsumer(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 200 && resp.data) {\r\n\t\t\t\t\t\tvm.consumerData = resp.data;\r\n\t\t\t\t\t\tvm.consumerAddress = resp.data.Addresses[0];\r\n\t\t\t\t\t\tvm.IsConsumerFound = true;\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", 'Consumer created successfully.');\r\n\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\tvm.clearCustomerData();\r\n\t\t\t\t\t\t}, 1000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\t\tvm.showFailure('Failed', resp.data.Message);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.clearCustomerData = function () {\r\n\t\t\tvm.DisableCreateButton(false);\r\n\t\t\tvm.consumerTitle = '';\r\n\t\t\tvm.consumerFirstName = '';\r\n\t\t\tvm.consumerLastName = '';\r\n\t\t\t// $localStorage.consumerContact = '';\r\n\t\t\t// $scope.consumerContact = '';\r\n\t\t\tvm.consumerAltContact = '';\r\n\t\t\tvm.PersonalEmail = '';\r\n\t\t\tvm.consumerType = '';\r\n\t\t\tvm.AddressType = 'Home';\r\n\t\t\tvm.consumerCity = '';\r\n\t\t\tvm.consumerPincode = '';\r\n\t\t\tvm.consumerState = '';\r\n\t\t\tvm.AddressLine1 = '';\r\n\t\t\tvm.AddressLine2 = '';\r\n\t\t\tvm.AppointmentTime = '08:00'\r\n\t\t\tvm.AppointmentDate = moment().format('YYYY-MM-DD');\r\n\t\t}\r\n\t\tvm.ConfirmationModal = function (message) {\r\n\t\t\t$scope.confirmationMessage = message;\r\n\t\t\tvm.confirmationModelOpen = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'ConfirmationcasecreationModel.html',\r\n\t\t\t\tsize: 'md',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.CloseConfirmationModel = function () {\r\n\t\t\tvm.confirmationModelOpen.close();\r\n\t\t}\r\n\r\n\t\tvm.openNonServiceableAreaConfirmationModal = function () {\r\n\t\t\tvm.confirmationModalInstance = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'ConfirmationNonServCaseModal.html',\r\n\t\t\t\tsize: 'md',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tvm.CloseAreaConfirmationModal = function () {\r\n\t\t\tif(vm.confirmationModalInstance){\r\n\t\t\t\tvm.confirmationModalInstance.close();\r\n\t\t\t}\r\n\t\t\tvm.brandName = '';\r\n\t\t\tvm.productGroup = '';\r\n\t\t\tvm.product = '';\r\n\t\t\tvm.productdefect = '';\r\n\t\t\tvm.caseDescription = '';\r\n\t\t\tvm.modelNumber = '';\r\n\t\t\tvm.warrantyStatus = '';\r\n\t\t\tvm.dateOfPurchase = '';\r\n\t\t\tvm.callType = '';\r\n\t\t\tvm.AppointmentDateTime = '';\r\n\t\t\tvm.WarrantyData = \"\";\r\n\t\t\tvm.AppointmentDate = moment().format('YYYY-MM-DD');\r\n\t\t\tupdateAvailableTimeSlots();\r\n\t\t}\r\n\r\n\r\n\t\tvm.GenerateConsumerInvoice = function (TicketId) {\r\n\t\t\tDirectSaleToCustomerService.GenerateConsumerInvoice(TicketId,loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Customer Invoice Generated\");\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.pdfimage = \"\";\r\n\t\tvm.DocumentAvailableMessage = \"\";\r\n\t\tvm.downloadOnSiteReport = function (ticketId) {\r\n\t\t\tvm.PDFViewRport();\r\n\t\t\tDirectSaleToCustomerService.downloadOnSiteReport(loggedinUser, token, ticketId).then(function (resp) {\r\n\t\t\t\tvm.responseDataList = resp.data;\r\n\t\t\t\tvar arrrayBuffer = base64ToArrayBuffer(vm.responseDataList);\r\n\t\t\t\tvar blob = new Blob([arrrayBuffer], { type: \"application/pdf\" });\r\n\t\t\t\tvm.pdfimage = URL.createObjectURL(blob);\r\n\t\t\t\tvm.IsLoadSucessfull = true;\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.PDFViewRport = function (page) {\r\n\t\t\tvm.pdfimage = \"\";\r\n\t\t\tvm.IsLoadSucessfull = false;\r\n\t\t\t$scope.selected = null;\r\n\t\t\tjobAppointmentModalReport = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'PDFViewDownload.html',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\r\n\t\t}\r\n\t\tvm.PDFUserModalReport = function () {\r\n\t\t\tjobAppointmentModalReport.close();\r\n\t\t}\r\n\r\n\t\tfunction base64ToArrayBuffer(base64) {\r\n\t\t\tvar ret = base64.replace('data:application/pdf;base64,', '');\r\n\t\t\tvar binaryString = atob(ret);\r\n\t\t\tvar binaryLen = binaryString.length;\r\n\t\t\tvar bytes = new Uint8Array(binaryLen);\r\n\t\t\tfor (var i = 0; i < binaryLen; i++) {\r\n\t\t\t\tvar ascii = binaryString.charCodeAt(i);\r\n\t\t\t\tbytes[i] = ascii;\r\n\t\t\t}\r\n\t\t\treturn bytes;\r\n\t\t}\r\n\r\n\t\tvm.ResetFilter = function () {\r\n\t\t\t$localStorage.consumerContact = '';\r\n\t\t\t$scope.consumerContact = '';\r\n\t\t\tvm.IsConsumerFound = false;\r\n\t\t\tvm.ErrorMessage = '';\r\n\t\t}\r\n\t\tfunction getAllStates() {\r\n\t\t\tvar defered = $q.defer();\r\n\t\t\tReferService.getAllState(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tdefered.resolve(resp);\r\n\t\t\t}, function (error) {\r\n\t\t\t\tdefered.reject(error);\r\n\t\t\t});\r\n\t\t\treturn defered.promise;\r\n\t\t}\r\n\r\n\t\tvar allStatePromise = getAllStates(loggedinUser);\r\n\t\tallStatePromise.then(function (resp) {\r\n\t\t\tvm.StateList = resp.data;\r\n\r\n\t\t});\r\n\t\tfunction getallCities(state) {\r\n\t\t\tReferService.getAllCity(loggedinUser, state, token).then(function (resp) {\r\n\t\t\t\tvm.CityList = resp.data;\r\n\t\t\t});\r\n\t\t}\r\n\t\r\n\t\tvm.selectedState = function (state) {\r\n\t\t\tgetallCities(state);\r\n\t\t\tgetareaallCities(state);\r\n\t\t}\r\n\t\tfunction getareaallCities(state) {\r\n\t\t\tDirectSaleToCustomerService.getAllCity(loggedinUser, state, token).then(function (resp) {\r\n\t\t\t\tvm.AreaCityList = resp.data;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction GetAllAreaByStateCity() {\r\n\t\t\tDirectSaleToCustomerService.GetAllAreaByStateCity(loggedinUser, token, vm.consumerState,vm.consumerCity).then(function (resp) {\r\n\t\t\t\tvm.AreaList = resp.data;\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.selectedcity = function () {\r\n\t\t\tGetAllAreaByStateCity();\r\n\t\t}\r\n\r\n\t\tfunction GetAllPincodeBYAreaStateCity() {\r\n\t\t\tDirectSaleToCustomerService.GetAllPincodeBYAreaStateCity(loggedinUser, token,vm.consumerState,vm.consumerCity, vm.consumerArea).then(function (resp) {\r\n\t\t\t\tvm.PincodeList = resp.data;\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.selectedArea = function () {\r\n\t\t\tGetAllPincodeBYAreaStateCity();\r\n\t\t}\r\n\t\tvm.Open360ForConsumer = function (customerNo) {\r\n\t\t\t$state.go('index.CustomerCRM360', {\r\n\t\t\t\tContactNo: customerNo\r\n\t\t\t}, { reload: true });\r\n\t\t}\r\n\r\n\r\n\t\tvm.ConsumerId = '';\r\n\t\tvm.GetConsumerDetails = function () {\r\n\t\t\tDirectSaleToCustomerService.GetConsumerDetails(loggedinUser, token, $localStorage.consumerContact).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.consumerData = resp.data;\r\n\t\t\t\t\tvm.consumerAddress = resp.data.Addresses[0];\r\n\t\t\t\t\tvm.ConsumerId = resp.data.ConsumerId;\r\n\t\t\t\t\tvm.IsConsumerFound = true;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.IsConsumerFound = false;\r\n\t\t\t\t\tvm.ErrorMessage = resp.data.Message;\r\n\t\t\t\t\tvm.showFailure(resp.data.Message)\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n // Add parts section \r\n\tvm.ApplyFilter = function () {\r\n\t\tif (!vm.UserId) {\r\n\t\t vm.UserId = \"\";\r\n\t\t}\r\n\t\tvm.GetUserInventoryStockforweb('GoodStock');\r\n\t };\r\n\t\tvm.searchByText = function () {\r\n\t\t\tvm.brandName = \"\";\r\n\t\t\tvm.partName = \"\";\r\n\t\t\tvm.productGroup = \"\";\r\n\t\t\tPageIndex = 1;\r\n\t\t\tvm.ApplyFilter();\r\n\t\t };\r\n\r\n\r\n\t\tvm.GetItemBrandName = function () {\r\n\t\t\tDirectSaleToCustomerService.GetItemBrandName(token).then(function (resp) {\r\n\t\t\t if (resp && resp.data) {\r\n\t\t\t\tvm.BrandListadd = resp.data;\r\n\t\t\t }\r\n\t\t\t}, vm.showFailure);\r\n\t\t };\r\n\t\t vm.GetItemBrandName();\r\n\t\t vm.changeCategoryFilter = function () {\r\n\t\t\tvm.SearchText = \"\";\r\n\t\t\tPageIndex = 1;\r\n\t\t\tvm.ApplyFilter();\r\n\t\t };\r\n\t\t vm.GetItemGroupName = function () {\r\n\t\t\tif (!vm.brandName) {\r\n\t\t\t vm.brandName = \"\";\r\n\t\t\t}\r\n\t\t\tTeamMyStockService.GetItemGroupName(vm.brandName, token).then(\r\n\t\t\t function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t vm.PartNameList = resp.data;\r\n\t\t\t\t vm.changeCategoryFilter();\r\n\t\t\t\t}\r\n\t\t\t }\r\n\t\t\t);\r\n\t\t };\r\n\t\t vm.GetItemGroupName();\r\n \r\n\t\t vm.GetItemListName = function () {\r\n\t\t\tif (!vm.productGroup) {\r\n\t\t\t vm.productGroup = \"\";\r\n\t\t\t}\r\n\t\t\tTeamMyStockService.GetItemListName(\r\n\t\t\t vm.brandName,\r\n\t\t\t vm.productGroup,\r\n\t\t\t token\r\n\t\t\t).then(function (resp) {\r\n\t\t\t if (resp && resp.data) {\r\n\t\t\t\tvm.PartList = resp.data;\r\n\t\t\t\tvm.changeCategoryFilter();\r\n\t\t\t }\r\n\t\t\t}, vm.showFailure);\r\n\t\t };\r\n\t\t vm.GetItemListName();\r\n\t\t vm.PartListWithFilter = [];\r\n\r\n\t\t vm.GetItemPartName = function () {\r\n\t\t\tvm.PartListWithFilter = [];\r\n\t\t\tif (!vm.partName) {\r\n\t\t\t vm.partName = \"\";\r\n\t\t\t}\r\n\t\t\tInventoryItemListService.GetItemPartName(vm.brandName, vm.productGroup, vm.partName, loggedinUser, token).then(function (resp) {\r\n\t\t\t if (resp.data && resp.status == 200) {\r\n\t\t\t\tvm.PartListWithFilter = resp.data;\r\n\t\t\t }\r\n\t\t\t}, vm.showFailure);\r\n\t\t };\r\n\t\t vm.GetItemPartName();\r\n\t\t vm.resetFilters = function () {\r\n\t\t\tvm.brandName = \"\";\r\n\t\t\tvm.productGroup = \"\";\r\n\t\t\tvm.partName = \"\";\r\n\t\t\tvm.ticketdates = \"\";\r\n\t\t\tvm.SearchText = \"\";\r\n\t\t\tvm.UserId = \"\";\r\n\t\t\tvm.selectedPart = \"\";\r\n\t\t\tfPageIndex = 1;\r\n\t\t\tvm.changeCategoryFilter();\r\n\t\t };\r\n\r\n\r\n\t\t vm.billItems = []; \r\n\t\t vm.totalAmount = 0;\r\n\t\t vm.gst = 0;\r\n\t\t vm.finalTotal = 0;\r\n\t\t vm.addToBill = function(part, selectedQuantity) {\r\n\t\t\tselectedQuantity = selectedQuantity || 1;\r\n\t\t\r\n\t\t\tvar existingPart = vm.billItems.find(function(item) {\r\n\t\t\t\treturn item.strMMFPartId === part.strMMFPartId;\r\n\t\t\t});\r\n\t\t\tif (existingPart) {\r\n\t\t\t\texistingPart.selectedQuantity += selectedQuantity; \r\n\t\t\t} else {\r\n\t\t\t\tvm.billItems.push(angular.extend({}, part, { selectedQuantity: selectedQuantity }));\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tvm.calculateBillTotals();\r\n\t\t};\r\n\t\t\r\n\t\tvm.isPartInBill = function(part) {\r\n\t\t\treturn vm.billItems.some(function(item) {\r\n\t\t\t\treturn item.strMMFPartId === part.strMMFPartId;\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\t vm.updateQuantity = function(item) {\r\n\t\t\tif (item.selectedQuantity > item.nTotalGoodStock) {\r\n\t\t\t\titem.selectedQuantity = item.nTotalGoodStock;\r\n\t\t\t}\r\n\t\t\tif (item.selectedQuantity < 1) {\r\n\t\t\t\titem.selectedQuantity = 1;\r\n\t\t\t}\r\n\t\t\tvm.calculateBillTotals();\r\n\t\t}\r\n\r\n\t\tvm.removeItemFromBill = function(item) {\r\n\t\t\tconst index = vm.billItems.indexOf(item);\r\n\t\t\tif (index > -1) {\r\n\t\t\t\tvm.billItems.splice(index, 1);\r\n\t\t\t\tvm.calculateBillTotals();\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tvm.calculateBillTotals = function() {\r\n\t\t\tvm.totalAmount = vm.billItems.reduce(function(total, item) {\r\n\t\t\t\treturn total + (item.dPartDiscountedPrice * item.selectedQuantity);\r\n\t\t\t}, 0);\r\n\t\t\t\r\n\t\t\tvm.totalAmount = parseFloat(vm.totalAmount.toFixed(2));\r\n\t\t\tvm.gst = parseFloat((vm.totalAmount * 0.18).toFixed(2)); \r\n\t\t\tvm.finalTotal = parseFloat((vm.totalAmount + vm.gst).toFixed(2)); \r\n\t\t};\r\n\t\t\r\n\t\tvm.calculateBillTotals();\r\n\t\tvm.EnablePrintButton = false;\r\n\t\tvm.GenerateBill = function () {\r\n\t\t\tvm.disableCreateButton = true;\r\n\t\t\tvar data = vm.billItems.map(function(item) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tstrPartId: item.strMMFPartId,\r\n\t\t\t\t\tnQuantity: item.selectedQuantity \r\n\t\t\t\t};\r\n\t\t\t});\r\n\t\t\tDirectSaleToCustomerService.GenerateBill(data, vm.ConsumerId, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200 && resp.data) {\r\n\t\t\t\t\tvm.disableCreateButton = false;\r\n\t\t\t\t\tvm.EnablePrintButton = true;\r\n\t\t\t\t\tvm.billItems = []; \r\n\t\t\t\t\tvm.totalAmount = 0;\r\n\t\t\t\t\tvm.gst = 0;\r\n\t\t\t\t\tvm.finalTotal = 0;\r\n\t\t\t\t\tvm.showSuccess(\"Success\", 'Bill generated successfully.');\r\n\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\tvm.clearCustomerData();\r\n\t\t\t\t\t}, 1000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.disableCreateButton = false;\r\n\t\t\t\t\tvm.showFailure('Failed', resp.data.Message);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t// vm.generateBill = function() {\r\n\t\t// \talert('Bill Generated!' + vm.billItems);\r\n\t\t// };\r\n\r\n\t\tvm.GetAddressFromPinCode = function (consumerPincode) {\r\n\t\t\tvm.findPincode = consumerPincode;\r\n\t\t\tDirectSaleToCustomerService.GetAddressFromPinCode(vm.findPincode, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.AddressData = resp.data;\r\n\t\t\t\t\tvm.consumerState = resp.data.State.toUpperCase();\r\n\t\t\t\t\tvm.selectedState(vm.consumerState);\r\n\t\t\t\t\tvm.consumerCity = resp.data.City.toUpperCase();\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.SendHappyCodeSMS = function (ticketId) {\r\n\t\t\tDirectSaleToCustomerService.SendHappyCodeSMS(ticketId,vm.AccountId, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", \"Happy code sent to customer successfully.\");\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data)\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t\t\r\n\r\n\r\n\t\tif ($localStorage.consumerContact) {\r\n\t\t\tvm.GetConsumerDetails();\r\n\t\t}\r\n\r\n\r\n\t}\r\n});\nangular.module('inspinia').service('DialerListService', function (ApiURL,SchedulingAPI, $window, $http) {\r\n\r\n var vm = this;\r\n\r\n\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('DialerListController', function (DialerListService, $resource, toaster, $filter, $compile, $q, $state, $localStorage, $scope, DTOptionsBuilder, DTColumnBuilder, $uibModal, $timeout) {\r\n\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\t\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\t\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\t\tvm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n\t\tvm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\t\t$scope.isNavCollapsed = true;\r\n\t\t$scope.isCollapsed = true;\r\n\t\t$scope.isCollapsedHorizontal = false;\r\n\t\tvm.dtInstance = {};\r\n\t\tvm.selectSingle = false;\r\n\t\tvm.disableExceptionButton = false;\r\n\t\tvm.ticketPageListCount = 10;\r\n\t\tvm.pageListCounts = [10, 20, 30, 50];\r\n\t\tvm.scheduleExceptionListNewLength=0;\r\n\t\tvar PageIndex = 1;\r\n\t\tvar PageSize = 10; \r\n\t\tvm.SearchByAccountName = '';\r\n\t\tvm.ExceptionType = '';\r\n\t\tvm.exceptionState = '';\r\n\t\tvm.showAllAccounts = [];\r\n\t\tvm.UserId='';\r\n\r\n\t\t$scope.dates = { startDate: moment().subtract(0, 'days'), endDate: moment() };\r\n\t\tvar startDate = moment().subtract(0, 'days').format(\"YYYY-MM-DD\");\r\n\t\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\r\n\t\t$scope.ranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment()]\r\n\t\t};\r\n\r\n\t\t$scope.dateRangeChange = function (ev, picker) {\r\n\t\t\t// console.log(ev, picker);\r\n\t\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\t\tvm.getAllJobForExceptionList();\r\n\r\n\r\n\t\t};\r\n\r\n\t\t$scope.isPlaying = false;\r\n\r\n\t\t$scope.togglePlayPause = function() {\r\n\t\t\t$scope.isPlaying = !$scope.isPlaying;\r\n\t\t};\r\n\r\n\t\t\r\n\t\r\n\r\n\r\n\t}\r\n});\nangular.module('inspinia').service('DeviceInfoService', function ($log, $http, ApiURL) {\r\n\r\n\tthis.getAllDeviceInfo = function(accountId, token, success, failure){\r\n\t\tvar url = ApiURL+'/api/DeviceInfo/'+accountId+'/GetAll'\r\n\t return $http.get(url,{\r\n\t\t\theaders:{'Token':token, 'UserId': accountId}\r\n\t\t});\r\n\t}\r\n});\nangular.module('inspinia').controller('DeviceInfoController', function (DTOptionsBuilder,DTColumnBuilder, $q, DTColumnDefBuilder, $scope, $log, DeviceInfoService, $localStorage) {\r\n var vm = this;\r\n\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n vm.searchText = '';\r\n vm.dtInstance = {};\r\n if (!loggedinUser) {\r\n\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\r\n vm.deviceInfoList=[];\r\n\r\n // vm.getAllDeviceInfo = function(){\r\n // DeviceInfoService.getAllDeviceInfo(loggedinUser,token).then(function(res){\r\n // if(res.data.length > 0){\r\n // vm.deviceInfoList = res.data;\r\n // vm.showSuccess(\"Success\", \"Fetched device informations successfully\");\r\n // }else{\r\n // vm.showFailure(\"Failed\", \"Server is not responding correctly. Please try again later\");\r\n // }\r\n // })\r\n // }\r\n // vm.getAllDeviceInfo();\r\n\r\n vm.searchTable = function () {\r\n vm.dtInstance.DataTable.search(vm.searchText);\r\n vm.dtInstance.DataTable.search(vm.searchText).draw();\r\n };\r\n\r\n vm.dtOptions = DTOptionsBuilder.fromFnPromise(function(){\r\n var defer = $q.defer();\r\n DeviceInfoService.getAllDeviceInfo(loggedinUser,token).then(function(res){\r\n if(res.data.length > 0){\r\n vm.deviceInfoList = res.data;\r\n defer.resolve(vm.deviceInfoList);\r\n vm.showSuccess(\"Success\", \"Fetched device informations successfully\");\r\n }else{\r\n vm.showFailure(\"Failed\", \"Server is not responding correctly. Please try again later\");\r\n }\r\n })\r\n return defer.promise;\r\n }) \r\n .withDOM('<\"html5buttons\"B>lTfgitp').withPaginationType('full_numbers').withOption('order', [0,'asc']);\r\n\r\n vm.dtColumns = [\r\n DTColumnBuilder.newColumn('UserId').withTitle('User Id').notSortable(),\r\n DTColumnBuilder.newColumn('DeviceOS').withTitle('Device OS').notSortable(),\r\n DTColumnBuilder.newColumn('Circle').withTitle('Circle').notSortable(),\r\n DTColumnBuilder.newColumn('AccountName').withTitle('Account Name').notSortable(),\r\n DTColumnBuilder.newColumn('TimeStamp').withTitle('Timestamp').notSortable(),\r\n DTColumnBuilder.newColumn('OSVersion').withTitle('OS Versio').notSortable(),\r\n DTColumnBuilder.newColumn('AppVersion').withTitle('App Version').notSortable(),\r\n DTColumnBuilder.newColumn('DeviceManufacturer').withTitle('Device Manufacturer').notSortable(),\r\n DTColumnBuilder.newColumn('DeviceModel').withTitle('Device Model').notSortable(),\r\n DTColumnBuilder.newColumn('IMEINumber').withTitle('IMEI Number').notSortable(),\r\n DTColumnBuilder.newColumn('BatteryLevel').withTitle('Battery Level').notSortable(),\r\n DTColumnBuilder.newColumn('SignalStrength').withTitle('Signal Strength').notSortable(),\r\n DTColumnBuilder.newColumn('NetworkType').withTitle('Network Type').notSortable(),\r\n DTColumnBuilder.newColumn('PhoneNumber').withTitle('Phone Number').notSortable(),\r\n DTColumnBuilder.newColumn('UserType').withTitle('User Type').notSortable()\r\n\r\n ];\r\n\r\n }\r\n});\nangular.module('inspinia').service('dashboardReportListService', function (ApiURL, DashboardURL, ActivityURL, $http) {\r\n var vm = this;\r\n\r\n vm.setShowSuccess = function (success) {\r\n vm.showSuccess = success;\r\n }\r\n\r\n vm.setShowFailure = function (failure) {\r\n vm.showFailure = failure;\r\n }\r\n\r\n this.GetAllSkills = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/SkillSets?reqUserId=' + loggedinUser;\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.getSkills = function (loggedinUser, token, callback, failure) {\r\n var url = ApiURL + '/api/SkillSets/' + loggedinUser + '/getmasterskillsB2C';\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n }, function () {\r\n failure(\"skills\", \"Unable to get skills\");\r\n });\r\n }\r\n\r\n this.GetAllDashboardReports = function (data, loggedinUser, token) {\r\n var url = DashboardURL + '/api/Dashboard/GetAllDashboardReports';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetByReportById = function (loggedinUser, reportId, token) {\r\n var url = DashboardURL + '/api/Report/GetReportById?reportId=' + reportId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAllActivitiesForSchedule = function (loggedinUser, scheduleId, token) {\r\n var url = ActivityURL + '/api/Activity/GetAllActivitiesForSchedule?jobId=' + scheduleId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetDashboardByName = function (loggedinUser, dashboardname, token) {\r\n var url = DashboardURL + '/api/Dashboard/' + loggedinUser + '/' + dashboardname + '/GetDashboardByName';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.createReport = function (data, loggedinUser, token) {\r\n var url = DashboardURL + '/api/Report/?reqUserId=' + loggedinUser;\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n vm.scheduleReport = function (loggedinUser, data, token, callback) {\r\n $http.put(DashboardURL + '/api/AddUpateScheduleToReport', data, { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n })\r\n }\r\n\r\n vm.GetSchedules = function (dashboardId, loggedinUser, token) {\r\n //vm.dashboardname = dashboardname;\r\n var url = DashboardURL + '/api/Report/GetSchedules?ReportId=' + dashboardId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetScheduleById = function (dashboardname, scheduleId, loggedinUser, token) {\r\n var url = DashboardURL + '/api/Report/GetScheduleById?ReportName=' + dashboardname + '&ScheduleId=' + scheduleId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.updateReport = function (data, loggedinUser, token) {\r\n var url = DashboardURL + '/api/Report/?reqUserId=' + loggedinUser;\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.createDashboard = function (data, loggedinUser, token) {\r\n var url = DashboardURL + '/api/Dashboard/?reqUserId=' + loggedinUser;\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.updateDashboard = function (data, loggedinUser, token) {\r\n var url = DashboardURL + '/api/Dashboard/?reqUserId=' + loggedinUser;\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.UpdateDashboardReportToFavourite = function (DashboardReportId, type, loggedinUser, token) {\r\n var url = DashboardURL + '/api/Dashboard/UpdateDashboardReportToFavourite?DashboardReportId=' + DashboardReportId + '&type=' + type;\r\n return $http.put(url, null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetSharedUsers = function (dashboardId, loggedinUser, token) {\r\n var url = DashboardURL + '/api/GetSharedUsers?ReportId=' + dashboardId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GrantAccessToReport = function (DashboardReportName, UserIds, loggedinUser, token) {\r\n var url = DashboardURL + '/api/GrantAccessToReport?ReportName=' + DashboardReportName + '&UserId=' + UserIds;\r\n return $http.put(url, null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GrantRevokeAccessToReport = function (DashboardReportId, UserIds, loggedinUser, token) {\r\n var url = DashboardURL + '/api/GrantRevokeAccessToReport?ReportId=' + DashboardReportId + '&UserId=' + UserIds;\r\n return $http.put(url, null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.RevokeAccessToReport = function (DashboardReportName, UserIds, loggedinUser, token) {\r\n var url = DashboardURL + '/api/RevokeAccessToReport?ReportName=' + DashboardReportName + '&UserId=' + UserIds;\r\n return $http.put(url, null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.DeleteSchedule = function (uniqueId, reportId, loggedinUser, token) {\r\n var url = DashboardURL + '/api/RemoveScheduleFromReport?ReportId=' + reportId + '&UniqueId=' + uniqueId;\r\n return $http.put(url, null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n});\r\n\r\n\nangular.module('inspinia').controller('dashboardReportListController', function (dashboardReportListService, reportDetailService, DashboardURL, ManualAssignationJobService, DashboardService, PlanningResourseMapService, JobDetailViewService, ReferService, $q, $filter, $log, $state, $localStorage, UIURL, $stateParams, $uibModal, $scope, DTOptionsBuilder, DTColumnBuilder, DTColumnDefBuilder, toaster, $timeout, $compile, ImageUrl, $window) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var accountid = $localStorage.accountConfig.AccountId;\r\n\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n } else {\r\n vm.dtInstance = {};\r\n $scope.myvalue = false;\r\n $scope.class_status = true;\r\n $scope.toggleSingleClass = function () {\r\n $scope.class_status = !$scope.class_status;\r\n $scope.myvalue = true;\r\n };\r\n\r\n $scope.broadcastSentUser = true;\r\n $scope.toggleForBroadcast = function () {\r\n $scope.broadcastSentUser = !$scope.broadcastSentUser;\r\n $scope.myvalue = true;\r\n };\r\n\r\n $scope.timeLineDetail = true;\r\n $scope.openTimeLine = function () {\r\n $scope.timeLineDetail = !$scope.timeLineDetail;\r\n $scope.myvalue = true;\r\n };\r\n $scope.capacitygapWrapper = \"hide-nav\";\r\n $scope.toggleMenu = function () {\r\n if ($scope.capacitygapWrapper === \"hide-nav\") {\r\n $scope.capacitygapWrapper = \"show-nav\";\r\n }\r\n else {\r\n $scope.capacitygapWrapper = \"hide-nav\";\r\n }\r\n };\r\n $scope.hideAllUser = true;\r\n\r\n $scope.showAllUser = function () {\r\n $scope.hideAllUser = true;\r\n };\r\n $scope.hideAllUserbutton = function () {\r\n $scope.hideAllUser = false;\r\n };\r\n\r\n vm.IsActivityVisible = false;\r\n $scope.userClass_status = true;\r\n $scope.userClass1_status = true;\r\n $scope.hideoverlay = function () {\r\n $scope.myvalue = false;\r\n $scope.class_status = true;\r\n $scope.userClass_status = true;\r\n $scope.userClass1_status = true;\r\n $scope.broadcastSentUser = true;\r\n $scope.timeLineDetail = true;\r\n $scope.userFilter = true;\r\n $scope.minatureSlide = true;\r\n $scope.myvalue = false;\r\n }\r\n $scope.close360View = function () {\r\n $scope.userClass_status = true;\r\n $scope.myvalue = false;\r\n }\r\n $scope.close360ViewBroadcaste = function () {\r\n $scope.myvalue = false;\r\n angular.element('#div1').removeClass(\"alpha\");\r\n $scope.userClass_status = true;\r\n }\r\n $scope.userSingle = function () {\r\n $scope.userClass_status = !$scope.userClass_status;\r\n $scope.myvalue = true;\r\n };\r\n $scope.userSingle1 = function (ticketView) {\r\n vm.ticketViewId = ticketView.TicketId;\r\n vm.ticketAccountName = ticketView.AccountName;\r\n vm.ticketAddress = ticketView.Address;\r\n vm.ticketUserId = ticketView.UserId;\r\n vm.ticketUserName = ticketView.UserName;\r\n vm.ticketSkills = ticketView.Skills;\r\n $scope.userClass1_status = !$scope.userClass1_status;\r\n $scope.myvalue = true;\r\n };\r\n $scope.closeactivity = function () {\r\n $scope.userClass1_status = true;\r\n $scope.myvalue = false;\r\n }\r\n\r\n $scope.userFilter = true;\r\n $scope.assignJobFilter = function () {\r\n $scope.userFilter = !$scope.userFilter;\r\n $scope.myvalue = true;\r\n $scope.manualAssignationWrapper = \"hide-nav\";\r\n };\r\n $scope.minatureSlide = true;\r\n $scope.minatureSlideBtn = function () {\r\n $scope.minatureSlide = !$scope.minatureSlide;\r\n $scope.myvalue = true;\r\n };\r\n\r\n\r\n // vm.ShareReport = function () {\r\n // vm.shareModel.toList = [];\r\n // vm.shareModel.ccList = [];\r\n // vm.shareModel.bccList = [];\r\n // vm.shareModel.content = \"Hello,\\n\\nYou are requested to view project report on below link \\n\\n\" + $window.location.href + \" \\n\\nThanks\\nMobiforce Team\";\r\n // vm.ShareModal = $uibModal.open({\r\n // templateUrl: 'SharewidgetCtrl.html',\r\n // backdrop: 'static',\r\n // size: 'md',\r\n // scope: $scope\r\n // });\r\n // }\r\n\r\n var today = new Date();\r\n\r\n var formattedDate = today.toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric' });\r\n\r\n $scope.hideFilter = function () {\r\n $scope.userFilter = true;\r\n $scope.minatureSlide = true;\r\n $scope.myvalue = false;\r\n }\r\n $scope.toggleContextMenu = function () {\r\n $scope.contextMenuVisible = !$scope.contextMenuVisible;\r\n };\r\n var token = $localStorage.token;\r\n vm.IsAutoAssignToCHDteam = $localStorage.IsAutoAssignToCHDteam;\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.accountConfig = $localStorage.accountConfig;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\r\n //Global Variable Declaration\r\n vm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n vm.loggedInUserVendorId = $localStorage.loggedInUser_VendorId;\r\n vm.loggedInUserReportingTo = $localStorage.loggedInUser_ReportingTo;\r\n\r\n // variables required for slot allocation\r\n vm.users = [];\r\n vm.filename = '';\r\n vm.report_title = \"\";\r\n vm.attachReportInMailBody = true;\r\n vm.attachReportInExcel = true;\r\n vm.sorttype = \"desc\";\r\n vm.SortType = \"desc\";\r\n vm.Sort = \"desc\";\r\n vm.SortField = 'CreatedOn';\r\n vm.OrderBy = 'CreatedOn';\r\n vm.financePageListCount = 10;\r\n vm.UWticketsListCount = 10;\r\n var witemNames = \"\";\r\n var witemValues = \"\";\r\n var wsSDate = '';\r\n var wsEDate = '';\r\n var uPageIndex = 1;\r\n var uPageSize = 10;\r\n vm.AlListCount = 10;\r\n vm.UWListCount = 10;\r\n vm.AssignedTo = '';\r\n vm.OnBoardingList = [];\r\n vm.assignButtonDisable = false;\r\n vm.bGVerifyListLength = 0;\r\n vm.userPageListCount = 10;\r\n vm.pageListCounts = [10, 20, 30, 50];\r\n var PageIndex = 1;\r\n var PageSize = 10;\r\n vm.ExceptionType = '';\r\n vm.AssignedTo = '';\r\n vm.taskStatus = '';\r\n vm.DateField = 'CreatedOn';\r\n vm.State = '';\r\n vm.City = '';\r\n vm.taskPincode = '';\r\n vm.CreationSource = '';\r\n vm.taskskill = '';\r\n vm.accountId = '';\r\n vm.ExceptionType = '';\r\n vm.capacityCount = '';\r\n vm.cityOfTask = \"\";\r\n vm.accountIdOfTask = \"\";\r\n vm.stateOfTask = \"\";\r\n vm.skillOfTask = \"\";\r\n vm.descriptionOfReport = \"\";\r\n vm.IsFavourite = false;\r\n vm.PipeSeparatedTags = \"\";\r\n vm.Tags = [];\r\n vm.reportname = \"\";\r\n vm.reportid = \"\";\r\n $scope.isCollapsed = true;\r\n $log.log('$stateParams.start_date', $stateParams.start_date);\r\n // var startDate = moment().subtract(7, 'day').format(\"YYYY-MM-DD\");\r\n // var endDate = moment().format(\"YYYY-MM-DD\");\r\n if ($stateParams.start_date) {\r\n vm.rollup = $stateParams.start_date;\r\n //\"Range(\"+startDate+\"|\"+endDate+\")\";\r\n var dateArray1 = vm.rollup.split('(');\r\n var dateArray2 = dateArray1[1].split(')');\r\n var dateArray3 = dateArray2[0].split('|');\r\n $scope.dates = { startDate: moment(dateArray3[0]), endDate: moment(dateArray3[1]) };\r\n } else if (vm.isData) {\r\n if ($stateParams.start_date == '' || $stateParams.start_date == null) {\r\n $scope.dates = { startDate: vm.accountCreationDate, endDate: moment() };\r\n var startDate = vm.accountCreationDate;\r\n //var startDate = moment(0).format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.rollup = \"Range(\" + startDate + \"|\" + endDate + \")\";\r\n }\r\n } else {\r\n $scope.dates = { startDate: moment().subtract(0, 'days'), endDate: moment() };\r\n var startDate = moment().subtract(30, 'days').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.rollup = \"Range(\" + startDate + \"|\" + endDate + \")\";\r\n }\r\n vm.bookingdates = { startDate: moment().subtract(30, 'days'), endDate: moment() };\r\n vm.bookingRanges = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n 'Till now': [moment().subtract(5, 'years'), moment()]\r\n };\r\n\r\n vm.taskDueDate = new Date();\r\n var pcdt = new Date();\r\n // var year = pcdt.getFullYear();\r\n // var month = ('0' + (pcdt.getMonth() + 1)).slice(-2);\r\n // var day = ('0' + pcdt.getDate()).slice(-2);\r\n // $scope.minDate = year + '-' + month + '-' + day;\r\n // pcdt.setDate(pcdt.getDate() + 1);\r\n vm.showErrorMessage = false;\r\n\r\n vm.openCalendar = function (e, picker) {\r\n vm.ClosureDateTime.open = true;\r\n };\r\n var plannedclosuredatelimit = new Date();\r\n plannedclosuredatelimit.setMinutes(plannedclosuredatelimit.getMinutes() + 1)\r\n vm.ClosureDateTime = { date: '', datepickerOptions: { minDate: plannedclosuredatelimit } };\r\n\r\n var date = new Date();\r\n var d = date.getDate();\r\n var m = date.getMonth();\r\n var y = date.getFullYear();\r\n vm.eventsF = function (start, end, timezone, callback) {\r\n var s = new Date(start).getTime() / 1000;\r\n var e = new Date(end).getTime() / 1000;\r\n var m = new Date(start).getMonth();\r\n var events = [{\r\n title: 'Feed Me ' + m,\r\n start: s + (50000),\r\n end: s + (100000),\r\n allDay: false,\r\n className: ['customFeed']\r\n }];\r\n callback(events);\r\n };\r\n\r\n vm.shareModel = {\r\n selectedUsers: [],\r\n toList: [],\r\n ccList: [],\r\n bccList: [],\r\n content: vm.defaultMailBody,\r\n mailbody: 'Hello User,\\n\\nPlease find report ' + vm.SharedReportId + ' on ' + formattedDate + '\\n\\nThanks\\nMobiforce Team'\r\n };\r\n vm.showMailShare = false;\r\n vm.ShareMailReport = function (reportId) {\r\n vm.SharedReportId = reportId;\r\n vm.showMailShare = true;\r\n vm.shareModel.toList = [];\r\n vm.shareModel.ccList = [];\r\n vm.shareModel.bccList = [];\r\n vm.shareModel.mailbody = 'Hello User,\\n\\nPlease find report ' + vm.SharedReportId + ' on ' + formattedDate + '\\n\\nThanks\\nMobiforce Team';\r\n vm.shareModel.content = 'Hello User,\\n\\nPlease find report ' + vm.SharedReportId + ' on ' + formattedDate + '\\n\\nThanks\\nMobiforce Team';\r\n }\r\n\r\n vm.shareModel.mailReport = function () {\r\n var toList = [];\r\n angular.forEach(vm.shareModel.toList, function (user) {\r\n toList.push(user.UserId);\r\n });\r\n var ccList = [];\r\n angular.forEach(vm.shareModel.ccList, function (user) {\r\n ccList.push(user.UserId);\r\n });\r\n var bccList = [];\r\n angular.forEach(vm.shareModel.bccList, function (user) {\r\n bccList.push(user.UserId);\r\n });\r\n if (toList.length == 0) {\r\n vm.scheduleModel.toListMendtryErr = true;\r\n return;\r\n }\r\n if (vm.shareModel.content.length == 0) {\r\n return false;\r\n }\r\n\r\n var content = vm.shareModel.content;\r\n content = content.replace(new RegExp(\"\\n\", 'g'), \"
\");\r\n vm.showMailShare = false;\r\n reportDetailService.mailReport(token, toList, ccList, bccList, \"Report: \" + vm.SharedReportId,\r\n content, vm.SharedReportId, loggedinUser, vm.filter_key, vm.filter_name,\r\n vm.attachReportInMailBody, vm.attachReportInExcel, vm.rollup,\r\n vm.createCallback(null, [function (data) {\r\n vm.showSuccess(\"Success\", \"Report has been shared successfully\");\r\n }]));\r\n }\r\n\r\n vm.ShareReport = function (reportId) {\r\n vm.SharedReportId = reportId;\r\n vm.shareModel.toList = [];\r\n vm.shareModel.ccList = [];\r\n vm.shareModel.bccList = [];\r\n vm.GetSharedUsers(reportId);\r\n vm.showShare = true;\r\n vm.shareModel.mailbody = 'Hello User,\\n\\nPlease find report ' + vm.SharedReportId + ' on ' + formattedDate + '\\n\\nThanks\\nMobiforce Team';\r\n vm.shareModel.content = 'Hello User,\\n\\nPlease find report ' + vm.SharedReportId + ' on ' + formattedDate + '\\n\\nThanks\\nMobiforce Team';\r\n // vm.ShareModal = $uibModal.open({\r\n // templateUrl: 'SharewidgetCtrl.html',\r\n // backdrop: 'static',\r\n // size: 'md',\r\n // scope: $scope\r\n // });\r\n }\r\n\r\n vm.closeShareReportModal = function () {\r\n vm.ShareModal.close();\r\n }\r\n\r\n vm.scheduleModel = {\r\n frequency: \"once\",\r\n once: \"once\",\r\n daily: \"daily\",\r\n weekly: \"weekly\",\r\n every_15_days: \"every_15_days\",\r\n monthly: \"monthly\",\r\n cronExpression: \"expression\",\r\n input_for_month: {\r\n option: \"start_of_day\",\r\n start_of_day: \"start_of_day\",\r\n end_of_day: \"end_of_day\",\r\n specific_date: \"specific_date\",\r\n date: 1\r\n },\r\n specific_date_range: [],\r\n start_date: moment(),\r\n end_date: moment().add(1, 'M'),\r\n attachReportInMailBody: true,\r\n attachReportInExcel: true,\r\n scheduleTime: \"\",\r\n scheduleName: \"\",\r\n reportNameAlreadyExists: false,\r\n reportNameMendtryErr: false,\r\n toListMendtryErr: false,\r\n timeMendtryErr: false,\r\n sampleDateMendtryErr: false,\r\n pull_data: {\r\n range: \"last_day\",\r\n day: \"last_day\",\r\n week: \"last_week\",\r\n month: \"last_month\",\r\n quarter: \"last_quarter\",\r\n current_month: \"current_month\",\r\n specific: \"specific\",\r\n specific_day_value: 1,\r\n calculate_range: function () {\r\n var today = new Date();\r\n if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.day) {\r\n var date = today;\r\n return date.getDate() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear();\r\n } if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.week) {\r\n var date = new Date(today.getFullYear(), today.getMonth(), today.getDate() - 7);\r\n return date.getDate() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth() + 1) + \"-\" + today.getFullYear();\r\n } if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.month) {\r\n var date = new Date(today.getFullYear(), today.getMonth() - 1, today.getDate());\r\n return date.getDate() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth() + 1) + \"-\" + today.getFullYear();\r\n } if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.quarter) {\r\n var date = new Date(today.getFullYear(), today.getMonth() - 3, today.getDate());\r\n return date.getDate() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth() + 1) + \"-\" + today.getFullYear();\r\n }\r\n if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.current_month) {\r\n var date = new Date(today.getFullYear(), today.getMonth(), today.getDate());\r\n return 1 + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth() + 1) + \"-\" + today.getFullYear();\r\n }\r\n if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.specific) {\r\n var date = new Date(today.getFullYear(), today.getMonth(), today.getDate() - vm.scheduleModel.pull_data.specific_day_value);\r\n return date.getDate() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth() + 1) + \"-\" + today.getFullYear();\r\n }\r\n }\r\n }\r\n };\r\n\r\n for (var i = 1; i < 32; i++) {\r\n vm.scheduleModel.specific_date_range.push({ value: i, label: i });\r\n }\r\n\r\n vm.shareModel.getUserSuggestion = function (val) {\r\n vm.scheduleModel.toListMendtryErr = false;\r\n var re = /^[A-Za-z0-9]+([\\.\\-_]*[A-Za-z0-9]+)*@[A-Za-z0-9]+([\\.\\-_]*[A-Za-z0-9]+)*\\.([A-Za-z]{2}|[A-Za-z]{3})$/;\r\n if (vm.users.length > 0) {\r\n return re.test(val) ? [{ FirstName: val.split(\"@\")[0], LastName: \"\", UserId: val }].concat(vm.users) : vm.users;\r\n }\r\n // vm.getUsersLite();\r\n return re.test(val) ? [{ FirstName: val.split(\"@\")[0], LastName: \"\", UserId: val }] : [];\r\n }\r\n\r\n // vm.getUsers = function () {\r\n // vm.users = [];\r\n // reportDetailService.getUsers(loggedinUser, token, vm.createCallback(vm.users, [function (data) {\r\n // }]));\r\n // }\r\n\r\n vm.getUsersLite = function () {\r\n vm.users = [];\r\n reportDetailService.getUsersLite(loggedinUser, token, vm.createCallback(vm.users, [function (data) {\r\n }]));\r\n }\r\n\r\n vm.getUsersLite();\r\n\r\n vm.shareModel.searchAsOr = function (searchText1) {\r\n return function (entry) {\r\n var splittedText = searchText1.split(\";\");\r\n if (splittedText != null && splittedText.length > 0) {\r\n var searchText = splittedText[splittedText.length - 1].trim();\r\n if (entry.FirstName.toLowerCase().indexOf(searchText.toLowerCase()) > -1\r\n || (entry.LastName != null && entry.LastName.toLowerCase().indexOf(searchText.toLowerCase()) > -1)\r\n || entry.UserId.toLowerCase().indexOf(searchText.toLowerCase()) > -1)\r\n return entry;\r\n }\r\n }\r\n }\r\n\r\n vm.shareModel.removeSelectedUsers = function (element) {\r\n var matched = false;\r\n angular.forEach(vm.shareModel.toList, function (d) {\r\n if (d.UserId == element.UserId) {\r\n matched = true;\r\n return;\r\n }\r\n });\r\n if (!matched) {\r\n angular.forEach(vm.shareModel.ccList, function (d) {\r\n if (d.UserId == element.UserId) {\r\n matched = true;\r\n return;\r\n }\r\n });\r\n }\r\n if (!matched) {\r\n angular.forEach(vm.shareModel.bccList, function (d) {\r\n if (d.UserId == element.UserId) {\r\n matched = true;\r\n return;\r\n }\r\n });\r\n }\r\n if (!matched) {\r\n return element;\r\n }\r\n }\r\n\r\n vm.monthNames3 = [\"JAN\", \"FEB\", \"MAR\", \"APR\", \"MAY\", \"JUN\",\r\n \"JUL\", \"AUG\", \"SEP\", \"OCT\", \"NOV\", \"DEC\"\r\n ];\r\n\r\n vm.shareModel.cancelledToListUser = function (i) {\r\n vm.shareModel.toList.splice(i, 1);\r\n }\r\n\r\n vm.shareModel.cancelledCCListUser = function (i) {\r\n vm.shareModel.ccList.splice(i, 1);\r\n }\r\n\r\n vm.shareModel.cancelledBCCListUser = function (i) {\r\n vm.shareModel.bccList.splice(i, 1);\r\n }\r\n\r\n vm.shareModel.selectUserNameInToList = function (item) {\r\n vm.shareModel.toList.push(item);\r\n vm.shareModel.toUsers = [];\r\n }\r\n vm.shareModel.selectUserNameInCCList = function (item) {\r\n vm.shareModel.ccList.push(item);\r\n vm.shareModel.ccUsers = [];\r\n }\r\n vm.shareModel.selectUserNameInBCCList = function (item) {\r\n vm.shareModel.bccList.push(item);\r\n vm.shareModel.bccUsers = [];\r\n }\r\n vm.ScheduleReport = function (reportId, reportName) {\r\n vm.SchedulesList = \"\";\r\n vm.showSchedules = true;\r\n vm.scheduleModel.uniqueId = \"\";\r\n vm.reportname = reportName;\r\n vm.shareModel.toList = [];\r\n vm.shareModel.ccList = [];\r\n vm.shareModel.bccList = [];\r\n vm.scheduleModel.reportId = reportId;\r\n vm.reportid = reportId;\r\n vm.scheduleModel.frequency = vm.scheduleModel.once;\r\n vm.scheduleModel.pull_data.range = vm.scheduleModel.pull_data.day;\r\n vm.scheduleModel.attachReportInMailBody = true;\r\n vm.scheduleModel.attachReportInExcel = true;\r\n vm.scheduleModel.sampleDateMendtryErr = false;\r\n vm.scheduleModel.input_of_week = null;\r\n vm.scheduleModel.sampleDate = new moment();\r\n vm.scheduleModel.input_for_month.option = vm.scheduleModel.input_for_month.start_of_day;\r\n vm.shareModel.content = \"Please find below the progress report as on $Date\\n\\nYou are requested to view the detailed report at $Link\";\r\n $timeout(function () {\r\n vm.GetAllSchedules(reportId);\r\n vm.refreshData();\r\n }, 2000);\r\n\r\n // vm.ScheduledReportModal = $uibModal.open({\r\n // templateUrl: 'ScheduledwidgetCtrl.html',\r\n // backdrop: 'static',\r\n // windowClass: 'schedulerModal',\r\n // scope: $scope\r\n // });\r\n }\r\n\r\n vm.closeScheduledReportModal = function () {\r\n vm.ScheduledReportModal.close();\r\n }\r\n\r\n vm.scheduleModel.scheduleReport = function () {\r\n var startTime = null;\r\n var endTime = null;\r\n var cronExpression = null;\r\n var daily = null;\r\n var weekly = null;\r\n var monthly = null;\r\n if (vm.scheduleModel.reportId == null || vm.scheduleModel.reportId.length == 0) {\r\n vm.scheduleModel.reportNameMendtryErr = true;\r\n return;\r\n }\r\n if (vm.shareModel.toList.length == 0) {\r\n vm.scheduleModel.toListMendtryErr = true;\r\n return;\r\n }\r\n if (vm.scheduleModel.frequency == vm.scheduleModel.once) {\r\n if (vm.scheduleModel.sampleDate) {\r\n var sample_Data = vm.scheduleModel.sampleDate ? vm.scheduleModel.sampleDate : new moment();\r\n startTime = {\r\n \"date\": sample_Data.format(\"DD\"),\r\n \"hour\": sample_Data.format(\"HH\"),\r\n \"min\": sample_Data.format(\"mm\"),\r\n \"month\": sample_Data.format(\"MMM\").toUpperCase(),\r\n \"sec\": sample_Data.format(\"ss\"),\r\n \"year\": sample_Data.format(\"YYYY\")\r\n };\r\n var sampleEndTime = moment(sample_Data).add(1, 'month');\r\n endTime = {\r\n \"date\": sampleEndTime.format(\"DD\"),\r\n \"hour\": sampleEndTime.format(\"HH\"),\r\n \"min\": sampleEndTime.format(\"mm\"),\r\n \"month\": sampleEndTime.format(\"MMM\").toUpperCase(),\r\n \"sec\": sampleEndTime.format(\"ss\"),\r\n \"year\": sampleEndTime.format(\"YYYY\")\r\n };\r\n } else {\r\n vm.scheduleModel.sampleDateMendtryErr = true;\r\n return;\r\n }\r\n\r\n } else {\r\n var startDate = vm.scheduleModel.start_date ? new Date(vm.scheduleModel.start_date) : new Date();\r\n var endDate = vm.scheduleModel.end_date ? new Date(vm.scheduleModel.end_date) : new Date();\r\n startTime = {\r\n \"date\": startDate.getDate(),\r\n \"hour\": startDate.getHours(),\r\n \"min\": startDate.getMinutes(),\r\n \"month\": vm.monthNames3[startDate.getMonth()],\r\n \"sec\": startDate.getSeconds(),\r\n \"year\": startDate.getFullYear()\r\n };\r\n endTime = {\r\n \"date\": endDate.getDate(),\r\n \"hour\": endDate.getHours(),\r\n \"min\": endDate.getMinutes(),\r\n \"month\": vm.monthNames3[endDate.getMonth()],\r\n \"sec\": endDate.getSeconds(),\r\n \"year\": endDate.getFullYear()\r\n };\r\n var hour, min;\r\n if (vm.scheduleModel.scheduleTime) {\r\n var splittedtime = vm.scheduleModel.scheduleTime.split(\":\");\r\n hour = parseInt(splittedtime[0]);\r\n min = parseInt(splittedtime[1]);\r\n } else {\r\n vm.scheduleModel.timeMendtryErr = true;\r\n return;\r\n }\r\n if (vm.scheduleModel.frequency == vm.scheduleModel.daily) {\r\n daily = {\r\n \"hour\": hour,\r\n \"minute\": min\r\n };\r\n } else if (vm.scheduleModel.frequency == vm.scheduleModel.weekly) {\r\n var dayOfWeek = [];\r\n\r\n if (vm.scheduleModel.input_of_week.sun) {\r\n dayOfWeek.push(1);\r\n }\r\n if (vm.scheduleModel.input_of_week.mon) {\r\n dayOfWeek.push(2);\r\n }\r\n if (vm.scheduleModel.input_of_week.tue) {\r\n dayOfWeek.push(3);\r\n }\r\n if (vm.scheduleModel.input_of_week.wed) {\r\n dayOfWeek.push(4);\r\n }\r\n if (vm.scheduleModel.input_of_week.thu) {\r\n dayOfWeek.push(5);\r\n }\r\n if (vm.scheduleModel.input_of_week.fri) {\r\n dayOfWeek.push(6);\r\n }\r\n if (vm.scheduleModel.input_of_week.sat) {\r\n dayOfWeek.push(7);\r\n }\r\n weekly = {\r\n \"dayOfWeek\": dayOfWeek,\r\n \"hour\": hour,\r\n \"minute\": min\r\n };\r\n } else if (vm.scheduleModel.frequency == vm.scheduleModel.monthly) {\r\n if (vm.scheduleModel.input_for_month.option == vm.scheduleModel.input_for_month.start_of_day) {\r\n monthly = {\r\n \"dayOfMonth\": \"1\",\r\n \"hour\": hour,\r\n \"minute\": min\r\n };\r\n } if (vm.scheduleModel.input_for_month.option == vm.scheduleModel.input_for_month.end_of_day) {\r\n cronExpression = \"0 \" + hour + \" \" + min + \" L * ?\";\r\n vm.scheduleModel.frequency = vm.scheduleModel.cronExpression\r\n } if (vm.scheduleModel.input_for_month.option == vm.scheduleModel.input_for_month.specific_date) {\r\n monthly = {\r\n \"dayOfMonth\": vm.scheduleModel.input_for_month.date,\r\n \"hour\": hour,\r\n \"minute\": min\r\n };\r\n }\r\n\r\n }\r\n }\r\n \r\n var data = {\r\n \"cronExpression\": cronExpression,\r\n \"cronType\": vm.scheduleModel.frequency,\r\n \"daily\": daily,\r\n \"endTime\": endTime,\r\n \"jobStartTime\": startTime,\r\n \"method\": \"POST\",\r\n \"monthly\": monthly,\r\n \"uniqueId\": vm.scheduleModel.uniqueId,\r\n \"reportId\": vm.scheduleModel.reportId,\r\n \"url\": DashboardURL + \"/api/Report/mailexcelreportbyreportid\",\r\n \"weekly\": weekly,\r\n \"accountId\": loggedinUser\r\n };\r\n var toList = [];\r\n angular.forEach(vm.shareModel.toList, function (user) {\r\n toList.push(user.PersonalEmail);\r\n });\r\n var ccList = [];\r\n angular.forEach(vm.shareModel.ccList, function (user) {\r\n ccList.push(user.PersonalEmail);\r\n });\r\n var bccList = [];\r\n angular.forEach(vm.shareModel.bccList, function (user) {\r\n bccList.push(user.PersonalEmail);\r\n });\r\n if (vm.shareModel.content.length == 0) {\r\n vm.shareModel.contentMedtryErr = true;\r\n return;\r\n }\r\n // vm.scheduleModel.uniqueId = \"\";\r\n var content = vm.shareModel.content;\r\n content = content.replace(new RegExp(\"\\n\", 'g'), \"
\");\r\n var schedulerModel = {};\r\n schedulerModel[\"TOList\"] = toList;\r\n schedulerModel[\"CCList\"] = ccList;\r\n schedulerModel[\"BCCList\"] = bccList;\r\n schedulerModel[\"Body\"] = content;\r\n schedulerModel[\"Subject\"] = \"Report: \" + vm.reportname;\r\n schedulerModel[\"ReportId\"] = vm.scheduleModel.reportId;\r\n schedulerModel[\"ReqUserId\"] = loggedinUser;\r\n schedulerModel[\"FilterKeys\"] = null;\r\n schedulerModel[\"FilterValues\"] = null;\r\n schedulerModel[\"ReportInMailBody\"] = vm.scheduleModel.attachReportInMailBody;\r\n schedulerModel[\"AttachXLSReportInMail\"] = vm.scheduleModel.attachReportInExcel;\r\n if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.day) {\r\n schedulerModel[\"RollUps\"] = \"Last Day\";\r\n } else if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.week) {\r\n schedulerModel[\"RollUps\"] = \"Last Week\";\r\n } else if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.month) {\r\n schedulerModel[\"RollUps\"] = \"Last Month\";\r\n } else if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.quarter) {\r\n schedulerModel[\"RollUps\"] = \"Last Quarter\";\r\n } else if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.current_month) {\r\n schedulerModel[\"RollUps\"] = \"Current Month\";\r\n } else if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.specific) {\r\n var re = /^[1-9]+[0-9]*$/;\r\n if (!re.test(vm.scheduleModel.pull_data.specific_day_value)) {\r\n vm.scheduleModel.pull_data.specificDayValMedtryErr = true;\r\n return;\r\n }\r\n schedulerModel[\"RollUps\"] = vm.scheduleModel.pull_data.specific_day_value;\r\n }\r\n data[\"model\"] = JSON.stringify(schedulerModel);\r\n data[\"entity\"] = \"report\";\r\n\r\n dashboardReportListService.scheduleReport(loggedinUser, data, token,\r\n vm.createCallback(null, [function (data) {\r\n if (data.msg == \"Schedule already exists\") {\r\n vm.showFailure(\"Failed\", \"Schedule with same name already exists.\");\r\n } else if (data.msg == \"Unexpected params\") {\r\n vm.showFailure(\"Failed\", \"Unexpected parameters.\");\r\n } else if (data.msg == \"Failed\") {\r\n vm.showFailure(\"Server Error\", \"Failed to create schedule.\");\r\n } else {\r\n vm.showSuccess(\"Success\", \"Report scheduled successfully.\");\r\n // vm.closeScheduledReportModal();\r\n $timeout(function () {\r\n vm.GetAllSchedules(vm.scheduleModel.reportId);\r\n vm.refreshData();\r\n }, 2000);\r\n }\r\n }]));\r\n }\r\n $scope.chips = [];\r\n\r\n $scope.addChip = function (event) {\r\n if (event.key === 'Enter' && $scope.chipsInput.trim() !== '') {\r\n $scope.chips.push($scope.chipsInput.trim());\r\n $scope.chipsInput = '';\r\n }\r\n };\r\n\r\n $scope.removeChip = function (index) {\r\n $scope.chips.splice(index, 1);\r\n };\r\n\r\n vm.exceptionList = [\"CAPACITY_GAP_EXCEPTION\", \"CAPACITY_GAP_CANCEL\", \"CAPACITY_GAP_MANUAL\"];\r\n vm.getSkills = function () {\r\n dashboardReportListService.getSkills(loggedinUser, token, function (skills) {\r\n vm.skills = skills;\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.getSkills();\r\n\r\n\r\n vm.createReport = function () {\r\n if (vm.Tags) {\r\n vm.PipeSeparatedTags = vm.Tags.join('|');\r\n }\r\n vm.reportCreation_form.submitted = true;\r\n var data = {\r\n \"ReportName\": vm.reportname,\r\n \"ReportDescription\": vm.descriptionOfReport,\r\n \"ReportId\": \"\",\r\n \"Shared\": false,\r\n \"Scheduled\": false,\r\n \"Tags\": vm.PipeSeparatedTags,\r\n \"Favourite\": vm.IsFavourite,\r\n \"Role\": \"\",\r\n \"chartModel\": []\r\n }\r\n if (vm.reportCreation_form.$valid) {\r\n vm.DisableCreateButton(true);\r\n dashboardReportListService.createReport(data, loggedinUser, token).then(function (res) {\r\n if (res && res.status == 201) {\r\n vm.showSuccess(\"Success\", \"Report Created Successfully\");\r\n vm.CloseCreateReportModel();\r\n vm.DisableCreateButton(false);\r\n $state.go('index.ReportDetail', {\r\n Type: 'report',\r\n report_id: res.data.ReportId\r\n }, {\r\n reload: true\r\n });\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", res.data.errorMessage);\r\n vm.DisableCreateButton(false);\r\n }\r\n })\r\n }\r\n\r\n }\r\n\r\n\r\n vm.GoToViewPage = function (type, ReportId) {\r\n // if (type == 'report') {\r\n $state.go('index.ReportDetail', {\r\n Type: type,\r\n report_id: ReportId\r\n }, {\r\n reload: true\r\n });\r\n // }\r\n // else {\r\n // $state.go('index.DashboardDetail', {\r\n // Type: type,\r\n // dashboard_id: ReportId\r\n // }, {\r\n // reload: true\r\n // });\r\n // }\r\n }\r\n\r\n vm.createDashboard = function () {\r\n if (vm.Tags) {\r\n vm.PipeSeparatedTags = vm.Tags.join('|');\r\n }\r\n vm.reportCreation_form.submitted = true;\r\n var data = {\r\n \"DashboardName\": vm.reportname,\r\n \"DashboardDescription\": vm.descriptionOfReport,\r\n \"DashboardId\": \"\",\r\n \"Role\": \"\",\r\n \"AutoRefresh\": 0,\r\n \"Tags\": vm.PipeSeparatedTags,\r\n \"Shared\": false,\r\n \"Scheduled\": false,\r\n \"Favourite\": vm.IsFavourite,\r\n \"CreatedBy\": \"\",\r\n \"AccountId\": \"\",\r\n \"CreatedOn\": \"\",\r\n \"DashboardFilters\": {\r\n \"FilterList\": [],\r\n \"DateFilterList\": [],\r\n \"DefaultDateFilter\": \"\"\r\n },\r\n \"ChartModel\": []\r\n }\r\n if (vm.reportCreation_form.$valid) {\r\n vm.DisableCreateButton(true);\r\n dashboardReportListService.createDashboard(data, loggedinUser, token).then(function (res) {\r\n if (res && res.status == 201) {\r\n vm.showSuccess(\"Success\", \"Dashboard created successfully\");\r\n vm.CloseCreateReportModel();\r\n vm.DisableCreateButton(false);\r\n $state.go('index.ReportDetail', {\r\n Type: 'dashboard',\r\n report_id: res.data.DashboardId\r\n }, {\r\n reload: true\r\n });\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", res.data.errorMessage);\r\n vm.DisableCreateButton(false);\r\n }\r\n })\r\n }\r\n\r\n }\r\n\r\n vm.filter = \"all\";\r\n\r\n vm.getValueByFilter = function (filter) {\r\n if (filter) {\r\n $scope.selectedStatus = filter;\r\n vm.filter = filter;\r\n }\r\n vm.refreshData();\r\n }\r\n\r\n function getData() {\r\n var defer = $q.defer();\r\n var data = {\r\n \"Type\": vm.filter,\r\n \"DateFrom\": startDate,\r\n \"DateTo\": endDate,\r\n \"PageIndex\": \"\",\r\n \"PageSize\": \"\"\r\n };\r\n\r\n dashboardReportListService.GetAllDashboardReports(data, loggedinUser, token).then(function (resp) {\r\n vm.reportsDashboardList = resp.data.Dashboards;\r\n vm.ReportsList = resp.data;\r\n defer.resolve(vm.reportsDashboardList);\r\n })\r\n .catch(function (error) {\r\n defer.reject(error);\r\n });\r\n\r\n return defer.promise;\r\n }\r\n\r\n vm.dtOptions = DTOptionsBuilder.fromFnPromise(getData)\r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withOption('createdRow', createdRow)\r\n .withScroller()\r\n .withOption('deferRender', true)\r\n .withOption('scrollY', 350)\r\n .withOption('rowCallback', rowCallback);\r\n\r\n function createdRow(row, data, dataIndex) {\r\n $compile(angular.element(row).contents())($scope);\r\n }\r\n\r\n function rowCallback(nRow, aData, iDisplayIndex, iDisplayIndexFull) {\r\n $('td', nRow).unbind('click');\r\n // $('td', nRow).bind('click', function () {\r\n // $scope.$apply(function () {\r\n // vm.ProfileData(aData.UserId);\r\n // });\r\n // });\r\n return nRow;\r\n }\r\n\r\n // Function to refresh data\r\n vm.refreshData = function () {\r\n // Fetch new data\r\n getData()\r\n .then(function (newData) {\r\n var dtInstance = vm.dtInstance;\r\n dtInstance.reloadData(function () {\r\n return newData;\r\n }, true);\r\n })\r\n .catch(function (error) {\r\n console.error('Error refreshing data:', error);\r\n });\r\n };\r\n $scope.isCollapsed = [];\r\n vm.showSchedules = false;\r\n vm.dtColumns = [\r\n DTColumnBuilder.newColumn(null).withTitle('Name').withOption('sortable', true).renderWith(function (data, type, full, meta) {\r\n if (data.DashboardName) {\r\n return '
' +\r\n ' ' + data.DashboardName +\r\n '';\r\n }\r\n }),\r\n DTColumnBuilder.newColumn(null).withTitle('Action').renderWith(function (data, type, full, meta) {\r\n var labelStyle = (data.Favourite == true) ? 'color : gold' : '';\r\n return '
';\r\n }),\r\n DTColumnBuilder.newColumn('Type').withTitle('Type').withOption('sortable', true).renderWith(function (data, type, full) {\r\n if (type === 'display') {\r\n var labelClass = (data == 'report') ? 'label-warning' : 'label label-danger';\r\n return '' + data + '';\r\n }\r\n return data;\r\n }),\r\n DTColumnBuilder.newColumn('Tags').withTitle('Tags').notSortable().renderWith(function (data, type, full, meta) {\r\n if (full.Tags) {\r\n vm.arrayFromPipeString = [];\r\n vm.arrayFromPipeString = full.Tags.split('|');\r\n return '
' + vm.arrayFromPipeString + '
'\r\n } else {\r\n vm.arrayFromPipeString = '';\r\n return '
' + vm.arrayFromPipeString + '
'\r\n }\r\n }),\r\n // DTColumnBuilder.newColumn('Favourite').withTitle('Favourites').withOption('sortable', true).renderWith(function (data, type, full) {\r\n // if (type === 'display') {\r\n // var labelClass = data ? 'label label-primary' : 'label label-danger';\r\n // return '' + (data ? 'Yes' : 'No') + '';\r\n // }\r\n // return data;\r\n // }),\r\n DTColumnBuilder.newColumn('ScheduledCount').withTitle('Scheduled').withOption('sortable', true).renderWith(function (data, type, full) {\r\n if (type === 'display') {\r\n var labelClass = data ? 'label label-primary' : 'label label-danger';\r\n return '' + data + '';\r\n }\r\n return data;\r\n }),\r\n DTColumnBuilder.newColumn('SharedCount').withTitle('Shared').withOption('sortable', true).renderWith(function (data, type, full) {\r\n if (type === 'display') {\r\n var labelClass = data ? 'label label-primary' : 'label label-danger';\r\n return '' + data + '';\r\n }\r\n return data;\r\n }),\r\n DTColumnBuilder.newColumn('CreatedOn').withTitle('Created On').withOption('sortable', true).renderWith(function (data, type, full) {\r\n if (type === 'display' || type === 'filter') {\r\n return moment(data).format('DD/MMM/YYYY hh:mm A');\r\n }\r\n return data;\r\n }),\r\n DTColumnBuilder.newColumn('CreatedBy').withTitle('Created By').withOption('sortable', true)\r\n\r\n ];\r\n vm.searchTable = function () {\r\n vm.dtInstance.DataTable.search(vm.searchText);\r\n vm.dtInstance.DataTable.search(vm.searchText).draw();\r\n };\r\n\r\n vm.UpdateReportModel = function (reportId, type) {\r\n vm.reportId = reportId\r\n vm.TypeOfTask = type;\r\n if (vm.TypeOfTask == 'report') {\r\n vm.GetByReportId(vm.reportId);\r\n }\r\n else {\r\n vm.GetDashboardByName(vm.reportName);\r\n }\r\n }\r\n\r\n vm.CloseUpdateReportModel = function () {\r\n vm.updateReportModelOpen.close();\r\n vm.DisableCreateButton(false);\r\n vm.descriptionOfTask = \"\";\r\n vm.Tags = [];\r\n }\r\n\r\n\r\n vm.toggleFavorite = function (reportId, type) {\r\n dashboardReportListService.UpdateDashboardReportToFavourite(reportId, type, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.refreshData();\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data)\r\n }\r\n })\r\n }\r\n\r\n vm.GrantAccessToReport = function () {\r\n var toList = [];\r\n angular.forEach(vm.shareModel.toList, function (user) {\r\n toList.push(user.UserId);\r\n });\r\n if (toList.length == 0) {\r\n vm.scheduleModel.toListMendtryErr = true;\r\n return;\r\n }\r\n var commaSeparatedtoList = toList.join(',');\r\n vm.closeShareReportModal();\r\n dashboardReportListService.GrantAccessToReport(vm.SharedReportId, commaSeparatedtoList, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.refreshData();\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data)\r\n }\r\n })\r\n }\r\n\r\n vm.GrantRevokeAccessToReport = function () {\r\n // vm.scheduleModel.uniqueId = reportName;\r\n var toList = [];\r\n angular.forEach(vm.shareModel.toList, function (user) {\r\n toList.push(user.UserId);\r\n });\r\n if (toList.length == 0) {\r\n vm.scheduleModel.toListMendtryErr = true;\r\n return;\r\n }\r\n var commaSeparatedtoList = toList.join(',');\r\n // vm.closeShareReportModal();\r\n dashboardReportListService.GrantRevokeAccessToReport(vm.SharedReportId, commaSeparatedtoList, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.showShare = false;\r\n $timeout(function () {\r\n vm.refreshData();\r\n }, 2000);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data)\r\n }\r\n })\r\n }\r\n\r\n vm.RevokeAccessToReport = function () {\r\n var toList = [];\r\n angular.forEach(vm.shareModel.toList, function (user) {\r\n toList.push(user.UserId);\r\n });\r\n if (toList.length == 0) {\r\n vm.scheduleModel.toListMendtryErr = true;\r\n return;\r\n }\r\n var commaSeparatedtoList = toList.join(',');\r\n vm.closeShareReportModal();\r\n dashboardReportListService.RevokeAccessToReport(vm.SharedReportId, commaSeparatedtoList, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.refreshData();\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data)\r\n }\r\n })\r\n }\r\n\r\n vm.GetByReportId = function (reportId) {\r\n dashboardReportListService.GetByReportById(loggedinUser, reportId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.ReportData = resp.data;\r\n if (vm.ReportData.Tags) {\r\n vm.ReportData.Tags = vm.ReportData.Tags.split(\"|\");\r\n }\r\n if (vm.ReportData) {\r\n vm.updateReportModelOpen = $uibModal.open({\r\n templateUrl: 'updateReport.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n }\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.GetDashboardByName = function (name) {\r\n dashboardReportListService.GetDashboardByName(loggedinUser, name, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.ReportData = resp.data;\r\n if (vm.ReportData.Tags) {\r\n vm.ReportData.Tags = vm.ReportData.Tags.split(\"|\");\r\n }\r\n if (vm.ReportData) {\r\n vm.updateReportModelOpen = $uibModal.open({\r\n templateUrl: 'updateReport.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n }\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.GetAllActivitiesForSchedule = function () {\r\n dashboardReportListService.GetAllActivitiesForSchedule(loggedinUser, vm.scheduleModel.uniqueId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.ScheduleActivity = resp.data;\r\n }\r\n }, vm.showFailure);\r\n }\r\n\r\n\r\n vm.SchedulesList = [];\r\n vm.currentlyClickedSchedule = null;\r\n vm.GetAllSchedules = function (reportId) {\r\n vm.ReportNametoFetch = reportId;\r\n dashboardReportListService.GetSchedules(vm.ReportNametoFetch, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.SchedulesList = resp.data;\r\n // vm.GetScheduleById(vm.SchedulesList[0].uniqueId);\r\n angular.forEach(vm.SchedulesList, function (d) {\r\n // d.checked = vm.selectStatus[d.id];\r\n var sT = d.jobStartTime;\r\n var eT = d.endTime;\r\n d.startTimeIns = sT.date + \" \" + sT.month + \" \" + sT.year + \" \" + vm.parseTo2(sT.hour) + \":\" + vm.parseTo2(sT.min) + \":\" + vm.parseTo2(sT.sec);\r\n d.endTimeIns = eT.date + \" \" + eT.month + \" \" + eT.year + \" \" + vm.parseTo2(eT.hour) + \":\" + vm.parseTo2(eT.min) + \":\" + vm.parseTo2(eT.sec);\r\n d.modelObj = JSON.parse(d.model);\r\n d.duration = d.modelObj.RollUps;\r\n if (isNaN(d.duration)) {\r\n d.displayDuration = d.duration;\r\n } else {\r\n d.displayDuration = \"Last \" + d.duration + \" day\" + (d.duration > 1 ? \"s\" : \"\");\r\n }\r\n d.TOList = [];\r\n angular.forEach(d.modelObj.TOList, function (email) {\r\n if (email != null) {\r\n var addedUsr = false;\r\n angular.forEach(vm.users, function (u) {\r\n if (u.PersonalEmail != null) {\r\n if (u.PersonalEmail.toLowerCase().indexOf(email.toLowerCase()) > -1) {\r\n addedUsr = true;\r\n d.TOList.push(u);\r\n }\r\n }\r\n })\r\n if (!addedUsr) {\r\n d.TOList.push({ UserId: email, FirstName: email.split(\"@\")[0], LastName: \"\" });\r\n }\r\n }\r\n\r\n })\r\n\r\n d.CCList = [];\r\n angular.forEach(d.modelObj.CCList, function (email) {\r\n var addedUsr = false;\r\n angular.forEach(vm.users, function (u) {\r\n if (u.PersonalEmail != null) {\r\n if (u.PersonalEmail.toLowerCase().indexOf(email.toLowerCase()) > -1) {\r\n addedUsr = true;\r\n d.CCList.push(u);\r\n }\r\n }\r\n })\r\n if (!addedUsr) {\r\n d.CCList.push({ UserId: email, FirstName: email.split(\"@\")[0], LastName: \"\" });\r\n }\r\n })\r\n\r\n d.BCCList = [];\r\n angular.forEach(d.modelObj.BCCList, function (email) {\r\n var addedUsr = false;\r\n angular.forEach(vm.users, function (u) {\r\n if (u.PersonalEmail != null) {\r\n if (u.PersonalEmail.toLowerCase().indexOf(email.toLowerCase()) > -1) {\r\n addedUsr = true;\r\n d.BCCList.push(u);\r\n }\r\n }\r\n })\r\n if (!addedUsr) {\r\n d.BCCList.push({ UserId: email, FirstName: email.split(\"@\")[0], LastName: \"\" });\r\n }\r\n })\r\n\r\n });\r\n\r\n angular.forEach(vm.SchedulesList, function (schedule) {\r\n schedule.clicked = false;\r\n });\r\n // vm.ScheduledReport(vm.SchedulesList[0]);\r\n }\r\n });\r\n\r\n }\r\n\r\n vm.toggleButtonColor = function (schedule) {\r\n if (vm.currentlyClickedSchedule !== null) {\r\n // Reset the color of the previously clicked button\r\n vm.currentlyClickedSchedule.clicked = false;\r\n }\r\n vm.currentlyClickedSchedule = schedule\r\n schedule.clicked = true;\r\n };\r\n\r\n\r\n vm.parseTo2 = function (v) {\r\n return (v + \"\").length > 1 ? v : \"0\" + v;\r\n }\r\n\r\n vm.ScheduledReport = function (s) {\r\n vm.showSchedules = true;\r\n vm.shareModel.toList = s.TOList;\r\n vm.shareModel.ccList = s.CCList;\r\n vm.shareModel.bccList = s.BCCList;\r\n vm.scheduleModel.uniqueId = s.uniqueId;\r\n if (s.cronType.toLowerCase() == vm.scheduleModel.cronExpression) {\r\n vm.scheduleModel.frequency = vm.scheduleModel.monthly;\r\n vm.scheduleModel.input_for_month.option = vm.scheduleModel.input_for_month.end_of_day;\r\n var splittedExp = s.cronExpression.split(\" \");\r\n vm.scheduleModel.scheduleTime = vm.parseTo2(splittedExp[1]) + \":\" + vm.parseTo2(splittedExp[2]);\r\n } else if (s.cronType.toLowerCase() == vm.scheduleModel.monthly) {\r\n vm.scheduleModel.frequency = vm.scheduleModel.monthly;\r\n vm.scheduleModel.input_for_month.option = vm.scheduleModel.input_for_month.specific_date;\r\n vm.scheduleModel.input_for_month.date = s.monthly.dayOfMonth;\r\n vm.scheduleModel.scheduleTime = vm.parseTo2(s.monthly.hour) + \":\" + vm.parseTo2(s.monthly.minute);\r\n } else if (s.cronType.toLowerCase() == vm.scheduleModel.weekly) {\r\n vm.scheduleModel.frequency = vm.scheduleModel.weekly;\r\n vm.scheduleModel.input_of_week = {}\r\n vm.scheduleModel.input_of_week.sun = false\r\n vm.scheduleModel.input_of_week.mon = false\r\n vm.scheduleModel.input_of_week.tue = false\r\n vm.scheduleModel.input_of_week.wed = false\r\n vm.scheduleModel.input_of_week.thu = false\r\n vm.scheduleModel.input_of_week.fri = false\r\n vm.scheduleModel.input_of_week.sat = false\r\n switch (s.weekly.dayOfWeek[0]) {\r\n case 1:\r\n vm.scheduleModel.input_of_week.sun = true; break;\r\n case 2:\r\n vm.scheduleModel.input_of_week.mon = true; break;\r\n case 3:\r\n vm.scheduleModel.input_of_week.tue = true; break;\r\n case 4:\r\n vm.scheduleModel.input_of_week.wed = true; break;\r\n case 5:\r\n vm.scheduleModel.input_of_week.thu = true; break;\r\n case 6:\r\n vm.scheduleModel.input_of_week.fri = true; break;\r\n case 7:\r\n vm.scheduleModel.input_of_week.sat = true; break;\r\n }\r\n vm.scheduleModel.scheduleTime = vm.parseTo2(s.weekly.hour) + \":\" + vm.parseTo2(s.weekly.minute);\r\n } else if (s.cronType.toLowerCase() == vm.scheduleModel.daily) {\r\n vm.scheduleModel.frequency = vm.scheduleModel.daily;\r\n vm.scheduleModel.scheduleTime = vm.parseTo2(s.daily.hour) + \":\" + vm.parseTo2(s.daily.minute);\r\n } else if (s.cronType.toLowerCase() == vm.scheduleModel.once) {\r\n vm.scheduleModel.frequency = vm.scheduleModel.once;\r\n if (s.jobStartTime) {\r\n vm.scheduleModel.sampleDate = moment(s.jobStartTime.year + \"-\" + s.jobStartTime.month + \"-\" + vm.parseTo2(s.jobStartTime.date) + \" \" + vm.parseTo2(s.jobStartTime.hour) + \":\" + vm.parseTo2(s.jobStartTime.min) + \":\" + vm.parseTo2(s.jobStartTime.sec), \"YYYY-MMM-DD hh:mm:ss\");\r\n }\r\n }\r\n if (isNaN(s.duration)) {\r\n if (s.duration == \"Last Day\") {\r\n vm.scheduleModel.pull_data.range = vm.scheduleModel.pull_data.day;\r\n } else if (s.duration == \"Last Week\") {\r\n vm.scheduleModel.pull_data.range = vm.scheduleModel.pull_data.week;\r\n } else if (s.duration == \"Last Month\") {\r\n vm.scheduleModel.pull_data.range = vm.scheduleModel.pull_data.month;\r\n } else if (s.duration == \"Last Quarter\") {\r\n vm.scheduleModel.pull_data.range = vm.scheduleModel.pull_data.quarter;\r\n } else if (s.duration == \"Current Month\") {\r\n vm.scheduleModel.pull_data.range = vm.scheduleModel.pull_data.current_month;\r\n }\r\n } else {\r\n vm.scheduleModel.pull_data.range = vm.scheduleModel.pull_data.specific;\r\n vm.scheduleModel.pull_data.specific_day_value = s.duration;\r\n }\r\n if (s.jobStartTime) {\r\n vm.scheduleModel.start_date = moment(s.jobStartTime.year + \"-\" + s.jobStartTime.month + \"-\" + vm.parseTo2(s.jobStartTime.date) + \" \" + vm.parseTo2(s.jobStartTime.hour) + \":\" + vm.parseTo2(s.jobStartTime.min) + \":\" + vm.parseTo2(s.jobStartTime.sec), \"YYYY-MMM-DD hh:mm:ss\");\r\n } else {\r\n vm.scheduleModel.start_date = moment();\r\n }\r\n if (s.endTime) {\r\n vm.scheduleModel.end_date = moment(s.endTime.year + \"-\" + s.endTime.month + \"-\" + vm.parseTo2(s.endTime.date) + \" \" + vm.parseTo2(s.endTime.hour) + \":\" + vm.parseTo2(s.endTime.min) + \":\" + vm.parseTo2(s.endTime.sec), \"YYYY-MMM-DD hh:mm:ss\");\r\n } else {\r\n vm.scheduleModel.end_date = vm.scheduleModel.start_date.add(1, 'month');\r\n }\r\n vm.scheduleModel.attachReportInMailBody = s.modelObj.ReportInMailBody;\r\n vm.scheduleModel.sampleDateMendtryErr = false;\r\n vm.shareModel.content = s.modelObj.Body.replace(new RegExp(\"
\", 'g'), \"\\n\");;\r\n vm.scheduleModel.reportName = s.reportName;\r\n }\r\n\r\n vm.updateReport = function () {\r\n if (vm.ReportData.Tags) {\r\n vm.ReportData.Tags = vm.ReportData.Tags.join(\"|\");\r\n }\r\n vm.DisableCreateButton(true);\r\n vm.updateReportModelOpen.close();\r\n dashboardReportListService.updateReport(vm.ReportData, loggedinUser, token).then(function (res) {\r\n if (res && res.status == 201) {\r\n vm.DisableCreateButton(false);\r\n vm.descriptionOfTask = \"\";\r\n vm.Tags = [];\r\n vm.showSuccess(\"Success\", 'Report Updated Successfully');\r\n $timeout(function () {\r\n vm.refreshData();\r\n }, 2000);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", res.data);\r\n vm.DisableCreateButton(false);\r\n vm.descriptionOfTask = \"\";\r\n vm.Tags = [];\r\n }\r\n })\r\n }\r\n\r\n\r\n vm.DeleteSchedule = function (uniqueId, reportId) {\r\n vm.DisableCreateButton(true);\r\n dashboardReportListService.DeleteSchedule(uniqueId, reportId, loggedinUser, token).then(function (res) {\r\n if (res && res.status == 200) {\r\n vm.DisableCreateButton(false);\r\n vm.showSuccess(\"Success\", 'Schedule Deleted Successfully');\r\n $timeout(function () {\r\n vm.GetAllSchedules(reportId);\r\n vm.refreshData();\r\n }, 2000);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", res.data);\r\n vm.DisableCreateButton(false);\r\n }\r\n })\r\n }\r\n\r\n\r\n vm.disableCreateButton = false;\r\n\r\n vm.DisableCreateButton = function (disable) {\r\n if (disable) {\r\n vm.disableCreateButton = true;\r\n }\r\n else {\r\n vm.disableCreateButton = false;\r\n }\r\n }\r\n\r\n vm.GetAllAccounts = function () {\r\n PlanningResourseMapService.GetAllAccountDetails(loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.accountsList = resp.data;\r\n }\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.GetAllAccounts();\r\n vm.CreateReportModel = function (type) {\r\n vm.reportname = \"\";\r\n vm.TypeOfTask = type\r\n vm.createTaskModelOpen = $uibModal.open({\r\n templateUrl: 'createtask.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n\r\n vm.CloseCreateReportModel = function () {\r\n vm.createTaskModelOpen.close();\r\n vm.DisableCreateButton(false);\r\n vm.descriptionOfReport = \"\";\r\n vm.IsFavourite = false;\r\n vm.Tags = []\r\n }\r\n\r\n vm.getAllProject = function () {\r\n ManualAssignationJobService.GetAllProjects(loggedinUser, token).then(function (resp) {\r\n vm.ProjectAcc = resp.data;\r\n })\r\n }\r\n vm.getAllProject();\r\n\r\n vm.GetSharedUsers = function (dashboardname) {\r\n dashboardReportListService.GetSharedUsers(dashboardname, loggedinUser, token).then(function (resp) {\r\n if (resp.data) {\r\n vm.shareModel.toList = resp.data;\r\n }\r\n })\r\n }\r\n\r\n vm.DisableRouteBroadcastButtons = function (disable) {\r\n if (disable) {\r\n vm.brodcastButtonDisable = true;\r\n vm.routebuttonDisable = true;\r\n }\r\n else {\r\n vm.brodcastButtonDisable = false;\r\n vm.routebuttonDisable = false;\r\n }\r\n }\r\n\r\n vm.getRatingStars = function (rating) {\r\n var stars = [];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.push(i);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n vm.getBlankStars = function (rating) {\r\n var stars = [1, 2, 3, 4, 5];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.splice(stars.indexOf(i), 1);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n vm.loadAllSkills = function () {\r\n ManualAssignationJobService.GetAllSkills(loggedinUser, token).then(function (resp) {\r\n vm.skillsWithPipe = '';\r\n if (resp && resp.data) {\r\n vm.skillData = resp.data;\r\n if (vm.skillData && vm.skillData.length > 0) {\r\n angular.forEach(vm.skillData, function (s) {\r\n vm.skillsWithPipe += s.SkillName + \"|\";\r\n });\r\n vm.skillsWithPipe = vm.skillsWithPipe.length > 0\r\n ? vm.skillsWithPipe.substring(0, vm.skillsWithPipe.length - 1) : \"\";\r\n }\r\n }\r\n });\r\n }\r\n vm.loadAllSkills();\r\n\r\n vm.sortClassUser = function (col) {\r\n if (vm.OrderBy == col) {\r\n if (vm.OrderSeq == 'desc') {\r\n return 'fa fa-arrow-down';\r\n } else {\r\n return 'fa fa-arrow-up';\r\n }\r\n }\r\n else {\r\n return '';\r\n }\r\n }\r\n\r\n function getAllStates() {\r\n var defered = $q.defer();\r\n ReferService.getAllState(loggedinUser, token).then(function (resp) {\r\n defered.resolve(resp);\r\n }, function (error) {\r\n defered.reject(error);\r\n });\r\n return defered.promise;\r\n }\r\n\r\n var allStatePromise = getAllStates(loggedinUser);\r\n allStatePromise.then(function (resp) {\r\n vm.StateList = resp.data;\r\n\r\n });\r\n function getallCities(state) {\r\n ReferService.getAllCity(loggedinUser, state, token).then(function (resp) {\r\n vm.CityList = resp.data;\r\n });\r\n }\r\n vm.selectedState = function (state) {\r\n getallCities(state);\r\n }\r\n\r\n if (vm.loggedInUserRole == \"Dispatch Supervisor\" || vm.loggedInUserRole == \"OnBoarding Supervisor\") {\r\n vm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\", \"Private\"];\r\n }\r\n else {\r\n if (vm.loggedInUserRole == \"Dispatch Manager\") {\r\n vm.UserTypeList = [\"Freelancer\", \"Private\", \"Freelancer Vendor\", \"Dispatch Supervisor\", \"Freelancer Dispatcher\", \"Dispatch Team Lead\"];\r\n }\r\n else if (vm.loggedInUserRole == \"OnBoarding Manager\") {\r\n vm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\", \"OnBoarding Supervisor\"];\r\n }\r\n else if (vm.loggedInUserRole == \"Dispatch Team Lead\") {\r\n vm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\", \"Private\", \"Freelancer Dispatcher\", \"Dispatch Supervisor\"];\r\n }\r\n else if (vm.loggedInUserRole == \"Administrator\") {\r\n vm.UserTypeList = [\"Project Manager\", \"Supervisor\", \"Freelancer\", \"Freelancer Vendor\", \"Private\"];\r\n }\r\n else if (vm.loggedInUserRole == \"Project Manager\") {\r\n vm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\", \"Private\", \"Supervisor\"];\r\n }\r\n else if (vm.loggedInUserRole == \"Supervisor\") {\r\n vm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\", \"Private\"];\r\n }\r\n }\r\n\r\n vm.Applyfilter = function () {\r\n $scope.UserTablepagination = {};\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n $scope.hideFilter();\r\n }\r\n\r\n vm.PDFView = function (page) {\r\n vm.pdfimage = \"\";\r\n vm.IsLoadSucessfull = false;\r\n $scope.selected = null;\r\n jobAppointmentModal = $uibModal.open({\r\n templateUrl: 'PDFView.html',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n\r\n\r\n vm.sortColumn = function (col) {\r\n vm.OrderBy = col;\r\n if (vm.Sort == 'desc') {\r\n vm.Sort = 'asc';\r\n vm.reverseclass = 'fa fa-arrow-up';\r\n } else {\r\n vm.Sort = 'desc';\r\n vm.reverseclass = 'fa fa-arrow-down';\r\n }\r\n vm.GetOnBoardingTaskByFilters();\r\n };\r\n\r\n vm.sortClass = function (col) {\r\n if (vm.OrderBy == col) {\r\n if (vm.Sort == 'desc') {\r\n return 'fa fa-arrow-down';\r\n } else {\r\n return 'fa fa-arrow-up';\r\n }\r\n }\r\n else {\r\n return '';\r\n }\r\n }\r\n\r\n vm.closeSearchText = function () {\r\n vm.taskskill = '';\r\n vm.AssignedTo = '';\r\n vm.ExceptionType = '';\r\n vm.City = '';\r\n vm.taskPincode = '';\r\n vm.State = '';\r\n vm.taskStatus = '';\r\n vm.SearchByConsumerName = '';\r\n vm.accountId = '';\r\n vm.State = '';\r\n vm.searchTag = '';\r\n vm.City = '';\r\n }\r\n\r\n vm.outsidedateRangeChange = function (ev, picker) {\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n $scope.Userpagination = {};\r\n PageIndex = 1;\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n vm.refreshData();\r\n };\r\n\r\n\r\n vm.implementSelectItemsUsers = function (itemList, scope) {\r\n scope.selectAllUsers = false;\r\n scope.showMinusUsers = false;\r\n scope.selectRowUsers = function (i) {\r\n vm.toBeAssigned = [];\r\n scope.showMinusUsers = false;\r\n scope.selectAllUsers = false;\r\n angular.forEach(scope[itemList], function (d) {\r\n if (d.checked) {\r\n vm.toBeAssigned.push(d.TaskId)\r\n scope.showMinusUsers = true;\r\n }\r\n\r\n });\r\n }\r\n scope.applyAllNewJobSelect = function () {\r\n angular.forEach(scope[itemList], function (d) {\r\n d.checked = scope.selectAllUsers;\r\n });\r\n }\r\n\r\n scope.resetAllSelect = function () {\r\n scope.selectAllUsers = false;\r\n scope.showMinusUsers = false;\r\n }\r\n }\r\n\r\n vm.implementSelectItemsUsers('OnBoardingList', this);\r\n\r\n $scope.totalTableUsersBG = 0;\r\n $scope.userTablePerPage = vm.userPageListCount;\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n\r\n\r\n vm.changeUserPageListCount = function () {\r\n $scope.userTablePerPage = vm.userPageListCount;\r\n PageSize = $scope.userTablePerPage;\r\n $scope.UserTablepageChanged($scope.UserTablepagination.current);\r\n }\r\n\r\n PageIndex = $scope.UserTablepagination.current;\r\n $scope.UserTablepageChanged = function (newPage) {\r\n PageIndex = newPage;\r\n vm.GetOnBoardingTaskByFilters();\r\n };\r\n\r\n $scope.selectedStatus = 'all';\r\n\r\n vm.ProfileEditView = function (userId) {\r\n $state.go('index.RegistrationForm', {\r\n UserId: userId\r\n })\r\n }\r\n\r\n vm.getAllSlotsByStatus = function (status) {\r\n $scope.selectedStatus = status;\r\n vm.taskStatus = status;\r\n PageIndex = 1;\r\n vm.GetOnBoardingTaskByFilters();\r\n }\r\n\r\n }\r\n});\r\n\r\nangular.module('inspinia').filter('searchUser', function () {\r\n return function (items, search) {\r\n var filtered = [];\r\n if (search) {\r\n angular.forEach(items, function (item) {\r\n var searchstr = new RegExp(search, \"i\");\r\n if (item.id.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.User_Type.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.city.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.contactnumber.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.name.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.role.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.state.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n });\r\n } else {\r\n filtered = items;\r\n }\r\n return filtered;\r\n }\r\n})\nangular.module('inspinia').service('dashboardDetailService', function (ApiURL, $log, $http, DashboardURL, $window, CronUrl, PublicApiURL) {\r\n\r\n vm = this;\r\n\r\n vm.setShowSuccess = function (success) {\r\n vm.showSuccess = success;\r\n }\r\n\r\n vm.setShowFailure = function (failure) {\r\n vm.showFailure = failure;\r\n }\r\n\r\n\r\n vm.getDashboard = function (loggedinUser, dashbardName, token, callback) {\r\n $http.get(DashboardURL + '/api/Dashboard/' + loggedinUser + '/' + dashbardName + '/GetDashboardByName', {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n })\r\n }\r\n\r\n \r\n vm.getChart = function (loggedinUser, token, chartType, metrics, dimensions, rollUp, filterKeys, filterValues, chartName, isData, total, callback) {\r\n $http.get(DashboardURL + '/api/Chart?ReqUserId=' + loggedinUser + '&ChartType=' + chartType + '&Metrics=' + metrics + '&DimensionList=' + dimensions + '&RollsUP=' + encodeURI(rollUp) + \"&FilterKeys=\" + filterKeys + \"&FilterValues=\" + filterValues + \"&isData=\" + isData + \"&total=\" + total, { headers: { 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if (callback) {\r\n res.data['chartName'] = chartName;\r\n callback(res.data);\r\n }\r\n });\r\n }\r\n\r\n \r\n vm.getChart1 = function (loggedinUser, token, chartType, metrics, dimensions, rollUp, filterKeys, filterValues, chartName, isData, total, callback) {\r\n $http.get(DashboardURL + '/api/Chart?ReqUserId=' + loggedinUser + '&ChartType=' + chartType + '&Metrics=' + metrics + '&DimensionList=' + dimensions + '&RollsUP=' + encodeURI(rollUp) + \"&FilterKeys=\" + filterKeys + \"&FilterValues=\" + filterValues + \"&isData=\" + isData + \"&total=\" + total, { headers: { 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if (callback) {\r\n res.data['chartName'] = chartName;\r\n callback(res.data);\r\n }\r\n });\r\n }\r\n\r\n vm.getUsersLite = function (loggedinUser, token, callback) {\r\n $http.get(DashboardURL + '/api/Dashboard/GetReportUsers', { headers: { 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n })\r\n }\r\n\r\n vm.mailReport = function (token, toList, ccList, bccList, subject, message, reportName, userID, filterKey, filterValue, reportInMailBody, rollUps, callback) {\r\n var data = {\r\n \"TOList\": toList,\r\n \"CCList\": ccList,\r\n \"BCCList\": bccList,\r\n \"Body\": message,\r\n \"Subject\": subject,\r\n \"ReportName\": reportName,\r\n \"ReqUserId\": userID,\r\n \"FilterKeys\": null,\r\n \"FilterValues\": null,\r\n \"ReportInMailBody\": reportInMailBody,\r\n \"RollUps\": rollUps\r\n };\r\n\r\n $http.post(DashboardURL + '/api/Report/mailexcelreportbyname', data, { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': userID } }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n })\r\n }\r\n\r\n vm.scheduleReport = function (loggedinUser, data, token, callback) {\r\n $http.put(DashboardURL + '/api/AddUpateScheduleToReport', data, { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n })\r\n }\r\n\r\n vm.RescheduleReport = function (loggedinUser, data, token, callback) {\r\n $http.put(ApiURL + '/api/ReportSchedule/cron?userId=' + loggedinUser, data, { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n })\r\n }\r\n\r\n vm.downloadReport = function (reportName, loggedinUser, filterKey, filterName, rollUps, isData) {\r\n $window.location.href = PublicApiURL + \"/api/Report/DownloadExcelReportByReportName?reportName=\" + reportName + \"&reqUserId=\" + loggedinUser + \"&FilterKeys=\" + filterKey + \"&FilterValues=\" + filterName + \"&RollUps=\" + rollUps + \"&isData=\" + isData;\r\n console.log('$window.location.href', $window.location.href);\r\n }\r\n\r\n vm.checkReportName = function (reportName, callback) {\r\n $http.get(CronUrl + '/isCronNameExists?name=' + reportName, { headers: { 'Content-Type': 'application/json' } }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n })\r\n }\r\n\r\n vm.GetAllEntityTypes = function (loggedinUser, token) {\r\n var url = DashboardURL + '/api/Dashboard/GetAllEntityTypes';\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n vm.GetFieldTypesByEntityName = function (EntityType, loggedinUser, token) {\r\n var url = DashboardURL + '/api/Dashboard/GetFieldTypesByEntityName?EntityName=' + EntityType;\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n vm.GetFieldValuesByFieldNames = function (EntityType,FieldName, loggedinUser, token) {\r\n var url = DashboardURL + '/api/Dashboard/GetFieldValuesByFieldNames?EntityName=' + EntityType + '&FieldName=' + FieldName;\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n vm.GetMetricsByEntityType = function (EntityType, loggedinUser, token) {\r\n var url = DashboardURL + '/api/Metrics/GetMetricsByEntityType?EntityType=' + EntityType;\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n vm.GetDimensionByEntityName = function (EntityType, loggedinUser, token) {\r\n var url = DashboardURL + '/api/GetDimensionByEntityName?Name=' + EntityType;\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n vm.AddChartsToReport = function (data, loggedinUser, token,callback) {\r\n var url = DashboardURL + '/api/AddChartsToReport';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n });\r\n }\r\n\r\n vm.UpdateChartsFromReport = function (data,loggedinUser, token,callback) {\r\n var url = DashboardURL + '/api/UpdateChartsFromReport';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n });\r\n }\r\n \r\n vm.DeleteChartsFromReport = function (ReportId, deleteChartId,loggedinUser, token) {\r\n var url = DashboardURL + '/api/DeleteChartsFromReport?ReportId=' + ReportId + '&ChartId=' + deleteChartId;\r\n return $http.put(url, null, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n\r\n this.SaveCustomSettings = function (ReportId, order, loggedinUser, token) {\r\n var url = DashboardURL + '/api/SaveLayoutToReport?ReportId=' + ReportId;\r\n return $http.put(url, order, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n});\r\n\nangular.module(\"inspinia\").controller(\"dashboardDetailController\", function ($uibModal, $window,DashboardURL, $compile, MainService, $scope, $log, $q,dashboardDetailService, DTOptionsBuilder, DTColumnBuilder, $timeout, $localStorage,$state, $stateParams) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n vm.DocumentType = $stateParams.Type;\r\n vm.ReportId = $stateParams.report_id;\r\n vm.DashboardId = $stateParams.dashboard_id;\r\n vm.ReportName = '';\r\n var token = $localStorage.token;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n $scope.isLayoutEditable = false;\r\n vm.AllFieldList = [];\r\n vm.AllValues = [];\r\n vm.tableCharts = {};\r\n vm.deepLink = {};\r\n vm.valueClass = {};\r\n vm.profileImg = '';\r\n var intialLoad = true;\r\n vm.users = [];\r\n vm.filename = '';\r\n vm.report_title = \"\";\r\n vm.attachReportInMailBody = true;\r\n vm.attachReportInExcel = true;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n vm.filter_key = $stateParams.filter_key ? $stateParams.filter_key : \"\";\r\n vm.isData = $stateParams.isData ? $stateParams.isData : false;\r\n vm.key = $stateParams.key ? $stateParams.key : \"\";\r\n vm.filter_name = $stateParams.filter_name ? $stateParams.filter_name : \"\";\r\n vm.additionalInfo = $stateParams.end_date ? $stateParams.end_date : \"\";\r\n var today = new Date();\r\n var formattedDate = today.toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric' });\r\n // vm.defaultMailBody = \"Hello,\\n\\nYou are requested to view project report on below link \\n\\n\" + $window.location.href + \" \\n\\nThanks\\nMobiforce Team\";\r\n vm.defaultMailBody = 'Hello User,\\n\\nPlease find report ' + vm.SharedReportName + 'on ' + formattedDate + '\\n\\nThanks\\nMobiforce Team';\r\n var creationDatefunc = $scope.$parent.$parent.main.AccountStartDate;\r\n vm.accountCreationDate = creationDatefunc();\r\n vm.tableCharts = {};\r\n vm.selectDimension = {};\r\n vm.dashboard_data = {};\r\n vm.metricsCharts = {};\r\n vm.tableCharts = {};\r\n vm.lineCharts = {};\r\n vm.pieCharts = {};\r\n vm.barCharts = {};\r\n vm.stackedCharts = {};\r\n var start_date = '';\r\n var thisFiscalStart = '';\r\n var thisFiscalEnd = '';\r\n vm.BusinessUnit = '';\r\n vm.State = '';\r\n vm.Skill = '';\r\n vm.Account = '';\r\n vm.filterKeys = '';\r\n vm.filterValues = '';\r\n var total = 'Total';\r\n\r\n if (moment().quarter() === 2) {\r\n thisFiscalStart = moment().month('April').startOf('month');\r\n thisFiscalEnd = moment().add(1, 'year').month('March').endOf('month');\r\n } else {\r\n thisFiscalStart = moment().subtract(1, 'year').month('April').startOf('month');\r\n thisFiscalEnd = moment().month('March').endOf('month');\r\n };\r\n\r\n\r\n $log.log('$stateParams.start_date', $stateParams.start_date);\r\n if ($stateParams.start_date) {\r\n vm.rollup = $stateParams.start_date;\r\n //\"Range(\"+startDate+\"|\"+endDate+\")\";\r\n var dateArray1 = vm.rollup.split('(');\r\n var dateArray2 = dateArray1[1].split(')');\r\n var dateArray3 = dateArray2[0].split('|');\r\n var startDate = moment(dateArray3[0]).format(\"YYYY-MM-DD\");\r\n var endDate = moment(dateArray3[1]).format(\"YYYY-MM-DD\");\r\n $scope.dates = { startDate: moment(dateArray3[0]), endDate: moment(dateArray3[1]) };\r\n\r\n } else if (vm.isData) {\r\n if ($stateParams.start_date == '' || $stateParams.start_date == null) {\r\n $scope.dates = { startDate: vm.accountCreationDate, endDate: moment() };\r\n var startDate = vm.accountCreationDate;\r\n //var startDate = moment(0).format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.rollup = \"Range(\" + startDate + \"|\" + endDate + \")\";\r\n }\r\n } else {\r\n $scope.dates = { startDate: moment().subtract(0, 'days'), endDate: moment() };\r\n var startDate = moment().subtract(0, 'days').format(\"YYYY-MM-DD\");\r\n //var startDate = moment(0).format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.rollup = \"Range(\" + startDate + \"|\" + endDate + \")\";\r\n\r\n }\r\n\r\n vm.shareModel = {\r\n selectedUsers: [],\r\n toList: [],\r\n ccList: [],\r\n bccList: [],\r\n content: vm.defaultMailBody\r\n };\r\n vm.monthNames3 = [\"JAN\", \"FEB\", \"MAR\", \"APR\", \"MAY\", \"JUN\",\r\n \"JUL\", \"AUG\", \"SEP\", \"OCT\", \"NOV\", \"DEC\"\r\n ];\r\n\r\n vm.scheduleModel = {\r\n frequency: \"once\",\r\n once: \"once\",\r\n daily: \"daily\",\r\n weekly: \"weekly\",\r\n every_15_days: \"every_15_days\",\r\n monthly: \"monthly\",\r\n cronExpression: \"expression\",\r\n input_for_month: {\r\n option: \"start_of_day\",\r\n start_of_day: \"start_of_day\",\r\n end_of_day: \"end_of_day\",\r\n specific_date: \"specific_date\",\r\n date: 1\r\n },\r\n specific_date_range: [],\r\n start_date: moment(),\r\n end_date: moment().add(1, 'M'),\r\n attachReportInMailBody: true,\r\n attachReportInExcel: true,\r\n scheduleTime: \"\",\r\n scheduleName: \"\",\r\n reportNameAlreadyExists: false,\r\n reportNameMendtryErr: false,\r\n toListMendtryErr: false,\r\n timeMendtryErr: false,\r\n sampleDateMendtryErr: false,\r\n pull_data: {\r\n range: \"last_day\",\r\n day: \"last_day\",\r\n week: \"last_week\",\r\n month: \"last_month\",\r\n quarter: \"last_quarter\",\r\n current_month: \"current_month\",\r\n specific: \"specific\",\r\n specific_day_value: 1,\r\n calculate_range: function () {\r\n //$log.log(vm.scheduleModel.pull_data.range);\r\n var today = new Date();\r\n if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.day) {\r\n var date = today;\r\n return date.getDate() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear();\r\n } if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.week) {\r\n var date = new Date(today.getFullYear(), today.getMonth(), today.getDate() - 7);\r\n return date.getDate() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth() + 1) + \"-\" + today.getFullYear();\r\n } if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.month) {\r\n var date = new Date(today.getFullYear(), today.getMonth() - 1, today.getDate());\r\n return date.getDate() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth() + 1) + \"-\" + today.getFullYear();\r\n } if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.quarter) {\r\n var date = new Date(today.getFullYear(), today.getMonth() - 3, today.getDate());\r\n return date.getDate() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth() + 1) + \"-\" + today.getFullYear();\r\n }\r\n if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.current_month) {\r\n var date = new Date(today.getFullYear(), today.getMonth(), today.getDate());\r\n return 1 + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth() + 1) + \"-\" + today.getFullYear();\r\n }\r\n if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.specific) {\r\n //$log.log(vm.scheduleModel.pull_data.specific_day_value)\r\n var date = new Date(today.getFullYear(), today.getMonth(), today.getDate() - vm.scheduleModel.pull_data.specific_day_value);\r\n return date.getDate() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth() + 1) + \"-\" + today.getFullYear();\r\n }\r\n }\r\n }\r\n };\r\n\r\n for (var i = 1; i < 32; i++) {\r\n vm.scheduleModel.specific_date_range.push({ value: i, label: i });\r\n }\r\n $scope.ranges = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment()]\r\n };\r\n\r\n $scope.dashboardranges = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Payment week': [moment().startOf('week').isoWeekday(1), moment().endOf('week').isoWeekday(0)],\r\n // 'Last week': [moment().subtract(1, 'weeks').startOf('week').isoWeekday(1), moment().subtract(1, 'weeks').endOf('week').isoWeekday(0)], \r\n 'This week': [moment().startOf('week'), moment().endOf('week')],\r\n 'Last week': [moment().subtract(1, 'weeks').startOf('week'), moment().subtract(1, 'weeks').endOf('week')],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n 'Last month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')],\r\n // 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This quater': [moment().startOf('quarter'), moment().endOf('quarter')],\r\n 'Last quater': [moment().subtract(1, 'quarters').startOf('quarter'), moment().subtract(1, 'quarters').endOf('quarter')],\r\n 'This year': [thisFiscalStart, thisFiscalEnd],\r\n 'Till now': [moment().subtract(5, 'years'), moment()]\r\n };\r\n\r\n\r\n $scope.dateRangeChange = function (ev, picker) {\r\n var startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n var endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n vm.AllValues = [];\r\n vm.rollup = \"Range(\" + startDate + \"|\" + endDate + \")\";\r\n if (vm.DocumentType == 'dashboard') {\r\n vm.getDashboard($stateParams.dashboard_id);\r\n intialLoad = false;\r\n }\r\n else if (vm.DocumentType == 'report') {\r\n vm.getCustomerReport($stateParams.report_id);\r\n }\r\n vm.tableCharts = {};\r\n };\r\n\r\n $scope.filterRangeChange = function (ev, picker) {\r\n vm.filterstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n vm.filterendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n };\r\n $log.log('$stateParams.start_date', $stateParams.start_date);\r\n if ($stateParams.start_date) {\r\n vm.rollup = $stateParams.start_date;\r\n var dateArray1 = vm.rollup.split('(');\r\n var dateArray2 = dateArray1[1].split(')');\r\n var dateArray3 = dateArray2[0].split('|');\r\n var startDate = moment(dateArray3[0]).format(\"YYYY-MM-DD\");\r\n var endDate = moment(dateArray3[1]).format(\"YYYY-MM-DD\");\r\n $scope.dates = { startDate: moment(dateArray3[0]), endDate: moment(dateArray3[1]) };\r\n } else if (vm.isData) {\r\n if ($stateParams.start_date == '' || $stateParams.start_date == null) {\r\n $scope.dates = { startDate: vm.accountCreationDate, endDate: moment() };\r\n var startDate = vm.accountCreationDate;\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.rollup = \"Range(\" + startDate + \"|\" + endDate + \")\";\r\n }\r\n } else {\r\n $scope.dates = { startDate: moment().subtract(0, 'days'), endDate: moment() };\r\n var startDate = moment().subtract(0, 'days').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.rollup = \"Range(\" + startDate + \"|\" + endDate + \")\";\r\n }\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n vm.filter_key = $stateParams.filter_key ? $stateParams.filter_key : \"\";\r\n vm.isData = $stateParams.isData ? $stateParams.isData : false;\r\n vm.key = $stateParams.key ? $stateParams.key : \"\";\r\n vm.filter_name = $stateParams.filter_name ? $stateParams.filter_name : \"\";\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n $scope.dragoverCallback = function (index, external, type, callback) {\r\n $scope.logListEvent('dragged over', index, external, type);\r\n // Invoke callback to origin for container types.\r\n if (type == 'container' && !external) {\r\n console.log('Container being dragged contains ' + callback() + ' items');\r\n }\r\n return index < 10; // Disallow dropping in the third row.\r\n };\r\n\r\n $scope.order = [];\r\n var currentIndex = 0;\r\n $scope.dropCallback = function (index, item, external, type) {\r\n $scope.logListEvent('dropped at', index, item, external, type);\r\n $scope.order = vm.AllValuesOriginalIndex;\r\n var currentIndex = $scope.order.indexOf(item.chartId);\r\n // If the item is already in the order array, remove it from the current position\r\n if (currentIndex !== -1) {\r\n $scope.order.splice(currentIndex, 1);\r\n }\r\n // Insert the item at the new position\r\n $scope.order.splice(index, 0, item.chartId);\r\n console.log($scope.order);\r\n return item;\r\n }; \r\n\r\n $scope.logEvent = function (message) {\r\n console.log(message);\r\n };\r\n\r\n $scope.logListEvent = function (action, index, external, type) {\r\n var message = external ? 'External ' : '';\r\n message += type + ' element was ' + action + ' position ' + index;\r\n console.log(message);\r\n };\r\n\r\n // Initialize model\r\n // $scope.model = [[]];\r\n var id = 10;\r\n angular.forEach(vm.metricsChart, function (container) {\r\n var container = { items: [], effectAllowed: effect };\r\n for (var k = 0; k < 7; ++k) {\r\n container.items.push({ label: effect + ' ' + id++, effectAllowed: \"all\" });\r\n }\r\n });\r\n\r\n $scope.$watch(vm.metricsChart, function (model) {\r\n $scope.modelAsJson = angular.toJson(model, true);\r\n }, true);\r\n\r\n\r\n vm.dashboardCallback = vm.createCallback(null, [function (data) {\r\n vm.dashboard_data = data;\r\n\r\n if (data && data.DashboardFilters) {\r\n vm.enableFilter = true;\r\n vm.updateDefaultDateFilter(data.DashboardFilters);\r\n }\r\n else {\r\n vm.enableFilter = false;\r\n vm.updateDefaultDateFilter(null);\r\n }\r\n\r\n angular.forEach(data.ChartModel, function (d) {\r\n\r\n if (d.ClickableColumns != null && d.ClickableColumns.length > 0) {\r\n angular.forEach(d.ClickableColumns, function (cl) {\r\n if (cl.Link == \"ProjectSummary\") {\r\n vm.deepLink[cl.ColumnName + \" \" + d.ChartId] = function () {\r\n return \"index.Report({report_name:'ProjectSummary', key:'\" + cl.KeyName + \"'})\";\r\n }\r\n } else if (cl.Link == \"CustomerSummary\") {\r\n vm.deepLink[cl.ColumnName + \" \" + d.ChartId] = function () {\r\n\r\n return \"index.Report({report_name:'CustomerSummary', key:'\" + cl.KeyName + \"'})\";\r\n }\r\n } else if (cl.Link == \"DashboardReport\") {\r\n\r\n vm.deepLink[cl.ColumnName + \" \" + d.ChartId] = function (filterValue, filterName) {\r\n var Keyfilter = cl.KeyName;\r\n if (cl.KeyName.indexOf(\"|\") >= 0) {\r\n var stringArray = cl.KeyName.split('|');\r\n filterName = stringArray[1];\r\n Keyfilter = stringArray[0];\r\n }\r\n if (filterValue == undefined && filterName == undefined) {\r\n filterValue = '';\r\n filterName = '';\r\n }\r\n if (d.ChartType == 'Metrics' || d.chartType == 'OneServMetrics') {\r\n //console.log('start_date',start_date);\r\n if (d.Rollups && d.Rollups.length > 0) {\r\n angular.forEach(d.Rollups, function (d) {\r\n if (d == 'Today') {\r\n var sDate = moment().format(\"YYYY-MM-DD\");\r\n var eDate = moment().format(\"YYYY-MM-DD\");\r\n start_date = \"Range(\" + sDate + \"|\" + eDate + \")\";\r\n }\r\n else if (d == 'Yesterday') {\r\n var sDate = moment().subtract(1, 'days').format(\"YYYY-MM-DD\");\r\n var eDate = moment().subtract(1, 'days').format(\"YYYY-MM-DD\");\r\n start_date = \"Range(\" + sDate + \"|\" + eDate + \")\";\r\n }\r\n else if (d == 'Monthly') {\r\n var sDate = moment().startOf('month').format(\"YYYY-MM-DD\");\r\n var eDate = moment().endOf('month').format(\"YYYY-MM-DD\");\r\n start_date = \"Range(\" + sDate + \"|\" + eDate + \")\";\r\n } else if (d == 'Week1') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date = vm.GetDateRange(getCurrentMonth, getCurrentYear, 'week1');\r\n } else if (d == 'Week2') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date = vm.GetDateRange(getCurrentMonth, getCurrentYear, 'week2');\r\n } else if (d == 'Week3') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date = vm.GetDateRange(getCurrentMonth, getCurrentYear, 'week3');\r\n } else if (d == 'Week4') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date = vm.GetDateRange(getCurrentMonth, getCurrentYear, 'week4');\r\n }\r\n })\r\n } else {\r\n start_date = vm.rollup;\r\n }\r\n var obj = {\r\n \"report_name\": 'LinkTicketReport',\r\n \"key\": Keyfilter,\r\n \"filter_key\": filterName,\r\n \"filter_name\": filterValue,\r\n \"start_date\": start_date,\r\n \"isData\": true\r\n }\r\n return obj;\r\n } else {\r\n return \"index.DashboardReport({report_name:'LinkTicketReport', key:'\" + Keyfilter + \"',filter_key:'\" + filterName + \"', filter_name:'\" + filterValue + \"', start_date:'\" + vm.rollup + \"', isData:'\" + true + \"'})\";\r\n }\r\n }\r\n } else {\r\n if (cl.Link) {\r\n vm.deepLink[cl.ColumnName + \" \" + d.ChartId] = function (filterValue, filterName) {\r\n var Keyfilter = cl.KeyName;\r\n if (cl.KeyName.indexOf(\"|\") >= 0) {\r\n var stringArray = cl.KeyName.split('|');\r\n filterName = stringArray[1];\r\n Keyfilter = stringArray[0];\r\n }\r\n if (filterValue == undefined && filterName == undefined) {\r\n filterValue = '';\r\n filterName = '';\r\n }\r\n\r\n filterName = filterName + ',' + vm.filterKeys;\r\n filterValue = filterValue + ',' + vm.filterValues;\r\n\r\n if (d.ChartType == 'Metrics' || d.chartType == 'OneServMetrics') {\r\n //console.log('start_date',start_date);\r\n if (d.Rollups && d.Rollups.length > 0) {\r\n angular.forEach(d.Rollups, function (d) {\r\n if (d == 'Today') {\r\n var sDate = moment().format(\"YYYY-MM-DD\");\r\n var eDate = moment().format(\"YYYY-MM-DD\");\r\n start_date = \"Range(\" + sDate + \"|\" + eDate + \")\";\r\n }\r\n else if (d == 'Yesterday') {\r\n var sDate = moment().subtract(1, 'days').format(\"YYYY-MM-DD\");\r\n var eDate = moment().subtract(1, 'days').format(\"YYYY-MM-DD\");\r\n start_date = \"Range(\" + sDate + \"|\" + eDate + \")\";\r\n } else if (d == 'Monthly') {\r\n var sDate = moment().startOf('month').format(\"YYYY-MM-DD\");\r\n var eDate = moment().endOf('month').format(\"YYYY-MM-DD\");\r\n start_date = \"Range(\" + sDate + \"|\" + eDate + \")\";\r\n } else if (d == 'Week1') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date = vm.GetDateRange(getCurrentMonth, getCurrentYear, 'week1');\r\n } else if (d == 'Week2') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date = vm.GetDateRange(getCurrentMonth, getCurrentYear, 'week2');\r\n } else if (d == 'Week3') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date = vm.GetDateRange(getCurrentMonth, getCurrentYear, 'week3');\r\n } else if (d == 'Week4') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date = vm.GetDateRange(getCurrentMonth, getCurrentYear, 'week4');\r\n }\r\n })\r\n } else {\r\n start_date = vm.rollup;\r\n }\r\n var obj = {\r\n \"report_name\": cl.Link,\r\n \"key\": Keyfilter,\r\n \"filter_key\": filterName,\r\n \"filter_name\": filterValue,\r\n \"start_date\": start_date,\r\n \"isData\": true\r\n }\r\n return obj;\r\n } else {\r\n return \"index.DashboardReport({report_name:'\" + cl.Link + \"', key:'\" + Keyfilter + \"',filter_key:'\" + filterName + \"', filter_name:'\" + filterValue + \"', start_date:'\" + vm.rollup + \"', isData:'\" + true + \"'})\";\r\n }\r\n }\r\n }\r\n }\r\n })\r\n }\r\n if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Today\") >= 0 && d.ChartType != 'CustomLine') {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Today\");\r\n }\r\n else if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Yesterday\") >= 0 && d.ChartType != 'CustomLine') {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Yesterday\");\r\n }\r\n else if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Week1\") >= 0 && d.ChartType != 'CustomLine') {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Week1\");\r\n } else if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Week2\") >= 0 && d.ChartType != 'CustomLine') {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Week2\");\r\n } else if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Week3\") >= 0 && d.ChartType != 'CustomLine') {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Week3\");\r\n } else if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Week4\") >= 0 && d.ChartType != 'CustomLine') {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Week4\");\r\n }\r\n else if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Monthly\") >= 0 && d.ChartType != 'CustomLine') {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Monthly\");\r\n }\r\n else if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Monthly-6\") >= 0 && d.ChartType != 'CustomLine') {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Monthly-6\");\r\n }\r\n else if (d.ChartType == 'CustomLine' && d.Dimensions.length > 0 && d.Rollups.indexOf(\"Monthly\") >= 0) {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, \"Monthly\");\r\n }\r\n else if (d.ChartType == 'CustomLine' && d.Dimensions.length > 0 && d.Rollups.indexOf(\"Today\") >= 0) {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, \"Today\");\r\n }\r\n else if (d.ChartType == 'CustomLine' && d.Dimensions.length > 0 && d.Rollups.indexOf(\"Yesterday\") >= 0) {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, \"Yesterday\");\r\n }\r\n else if (d.ChartType == 'CustomBar' && d.Dimensions.length > 0) {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, '');\r\n } else if (d.ChartType == 'DrillDownBar' && d.Dimensions.length > 0) {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, '');\r\n } else if (d.ChartType == 'CustomStackedBar' && d.Dimensions.length > 0) {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, '');\r\n } else if (d.ChartType == 'CustomPie' && d.Dimensions.length > 0) {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, '');\r\n }\r\n else {\r\n vm.getChartDashboard(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, vm.rollup);\r\n }\r\n\r\n });\r\n }])\r\n\r\n vm.getDashboard = function (dashboardName) {\r\n dashboardDetailService.getDashboard(loggedinUser, dashboardName, token, vm.dashboardCallback);\r\n }\r\n\r\n\r\n vm.reportLayoutCallback = vm.createCallback(null, [function (data) {\r\n if(vm.widgetcreate){\r\n vm.closecreatewidet();\r\n }\r\n else if(vm.widgetupdate){\r\n vm.closeupdatewidget();\r\n }\r\n vm.report_data = data;\r\n vm.ReportName = data.ReportName;\r\n var matricsCount = 0;\r\n vm.tableCount = 0;\r\n vm.tableNames = [];\r\n vm.tableOrder = [];\r\n vm.tableArray = [];\r\n var matricsIds = [];\r\n vm.AllValues = [];\r\n angular.forEach(data.chartModel, function (d) {\r\n if (d.ClickableColumns != null && d.ClickableColumns.length > 0) {\r\n angular.forEach(d.ClickableColumns, function (cl) {\r\n if (cl.Link == \"Project Status Report\") {\r\n vm.deepLink[cl.ColumnName] = function (filterName) {\r\n return \"index.Report({report_name:'ProjectStatus', filter_key:'\" + cl.KeyName + \"', filter_name:'\" + filterName + \"', start_date:'\" + vm.rollup + \"'})\";\r\n }\r\n } if (cl.Link == \"Customer Status Report\") {\r\n vm.deepLink[cl.ColumnName] = function (filterName) {\r\n return \"index.Report({report_name:'CustomerStatusReport', filter_key:'\" + cl.KeyName + \"', filter_name:'\" + filterName + \"', start_date:'\" + vm.rollup + \"'})\";\r\n }\r\n } if (cl.Link == 'Customer Location HCL Report') {\r\n vm.deepLink[cl.ColumnName] = function (filterName) {\r\n return \"index.Report({report_name:'CustomerLocationHCLReport', filter_key:'\" + cl.KeyName + \"', filter_name:'\" + filterName + \"' , start_date:'\" + vm.rollup + \"'})\";\r\n }\r\n }\r\n if (cl.Link == 'City Ticket HCL Report') {\r\n vm.deepLink[cl.ColumnName] = function (filterName, i) {\r\n return \"index.Report({report_name:'CityTicketHCLReport', filter_key:'\" + cl.KeyName + \"', filter_name:'\" + filterName + \"' , start_date:'\" + vm.rollup + \"', end_date:'\" + i + \"'})\";\r\n }\r\n }\r\n if (cl.Link == 'Team Hcl Detailed Report') {\r\n vm.deepLink[cl.ColumnName] = function (filterName) {\r\n // var fromDate = $stateParams.start_date?$stateParams.start_date:\"\";\r\n // var toDate = $stateParams.end_date?$stateParams.end_date:\"\";;\r\n return \"index.Report({report_name:'TeamHclDetailedReport', filter_key:'\" + cl.KeyName + \"', filter_name:'\" + filterName + \"' , start_date:'\" + vm.rollup + \"'})\";\r\n }\r\n }\r\n if (cl.Link == 'Team Ticket HCL Report') {\r\n vm.deepLink[cl.ColumnName] = function (filterName, i) {\r\n //$log.log('Name',i);\r\n // var fromDate = $stateParams.start_date?$stateParams.start_date:\"\";\r\n // var toDate = $stateParams.end_date?$stateParams.end_date:\"\";;\r\n return \"index.Report({report_name:'TeamTicketHCLReport', filter_key:'\" + cl.KeyName + \"', filter_name:'\" + filterName + \"' , start_date:'\" + vm.rollup + \"' , end_date:'\" + i + \"'})\";\r\n }\r\n }\r\n if (cl.Link == \"JobView\") {\r\n\r\n if (vm.VerticalName == \"IMS\") {\r\n vm.deepLink[cl.ColumnName] = function (param) {\r\n return \"index.JobView({ticketId:'\" + param + \"',type:'isTicketView'})\";\r\n }\r\n }\r\n else {\r\n vm.deepLink[cl.ColumnName] = function (param) {\r\n return \"index.JobDetailView({ticketId:'\" + param + \"',type:'isTicketView'})\";\r\n }\r\n\r\n }\r\n\r\n } if (cl.Link == 'Team Detailed Report') {\r\n vm.deepLink[cl.ColumnName] = function (filterName) {\r\n return \"index.Report({report_name:'TeamDetailReport', filter_key:'\" + cl.KeyName + \"', filter_name:'\" + filterName + \"', start_date:'\" + vm.rollup + \"'})\";\r\n }\r\n } if (cl.Link == 'Spectro Lab Detailed Report') {\r\n vm.deepLink[cl.ColumnName] = function (filterName) {\r\n return \"index.Report({report_name:'SpectroLabDetailedReport', filter_key:'\" + cl.KeyName + \"', filter_name:'\" + filterName + \"', start_date:'\" + vm.rollup + \"'})\";\r\n }\r\n } if (cl.Link == 'Finance Ticket Report') {\r\n vm.deepLink[cl.ColumnName] = function (filterName) {\r\n return \"index.Report({report_name:'Finance Ticket Report', filter_key:'\" + cl.KeyName + \"', filter_name:'\" + filterName + \"', start_date:'\" + vm.rollup + \"'})\";\r\n }\r\n }\r\n });\r\n }\r\n if (d.UIClasess != null && d.UIClasess.length > 0) {\r\n vm.valueClass = {};\r\n angular.forEach(d.UIClasess, function (cl) {\r\n vm.valueClass[cl.ColumnName] = cl.ClassName;\r\n });\r\n }\r\n vm.filter_key = ''; \r\n vm.filter_name = ''; \r\n if (d.DataFilters != null && d.DataFilters.length > 0) { \r\n angular.forEach(d.DataFilters, function (cl) {\r\n if (vm.filter_key) {\r\n vm.filter_key = vm.filter_key + \",\" + cl.FieldName;\r\n vm.filter_name = vm.filter_name + \",\" + cl.FieldValue;\r\n }\r\n else {\r\n vm.filter_key = cl.FieldName;\r\n vm.filter_name = cl.FieldValue;\r\n }\r\n });\r\n }\r\n if (d.ChartType == 'Metrics') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, vm.rollup, vm.filter_key, vm.filter_name, \"\", false);\r\n matricsCount++;\r\n matricsIds.push(d.ChartId);\r\n vm.metricsCharts[d.ChartId] = d;\r\n vm.metricsCharts[d.ChartId].value = \"Loading...\";\r\n var CompData = {};\r\n CompData.chartId = d.ChartId;\r\n CompData.chartType = 'metrices';\r\n CompData.metrics = d.Metrics[0];\r\n CompData.value = \"Loading...\";\r\n CompData.EntityName = d.EntityName;\r\n CompData.DataFilters = d.DataFilters;\r\n CompData.ChartTitle = d.ChartTitle;\r\n CompData.ChartSubtitle = d.ChartSubtitle;\r\n vm.AllValues.push(CompData);\r\n }\r\n else if (d.ChartType == 'Table') {\r\n if (vm.isData) {\r\n d.Metrics = vm.key;\r\n }\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, vm.rollup, vm.filter_key, vm.filter_name, d.ChartTitle, vm.isData);\r\n vm.tableNames[vm.tableCount] = d.ChartTitle;\r\n vm.tableOrder[vm.tableCount] = d.ChartId;\r\n vm.tableCount = vm.tableCount + 1;\r\n vm.tableCharts[d.ChartId] = {};\r\n vm.tableCharts[d.ChartId].ChartId = d.ChartId;\r\n vm.tableCharts[d.ChartId].ChartTitle = d.ChartTitle;\r\n vm.tableCharts[d.ChartId].ChartSubtitle = d.ChartSubtitle;\r\n vm.tableCharts[d.ChartId].DataFilters = d.DataFilters;\r\n vm.tableCharts[d.ChartId].EntityName = d.EntityName;\r\n }\r\n });\r\n if (matricsCount >= 5) {\r\n if (matricsCount % 4 == 0) {\r\n matricsCount = 4;\r\n } else {\r\n matricsCount = 3;\r\n }\r\n }\r\n matricsCount = 12 / matricsCount;\r\n matricsCount = Math.round(matricsCount);\r\n angular.forEach(matricsIds, function (d) {\r\n vm.metricsCharts[d].width = \"col-lg-\" + matricsCount;\r\n });\r\n }])\r\n\r\n\r\n vm.getCustomerReport = function (reportid) {\r\n dashboardDetailService.getCustomerReportById(loggedinUser, reportid, token, vm.reportLayoutCallback);\r\n\r\n }\r\n\r\n if (vm.DocumentType == 'dashboard') {\r\n vm.getDashboard($stateParams.dashboard_id);\r\n }\r\n else if (vm.DocumentType == 'report') {\r\n vm.getCustomerReport($stateParams.report_id);\r\n }\r\n\r\n \r\n\r\n vm.getChart = function (chartId, chartType, metrics, dimensions, rollUp, filterKeys, filterValues, chartName, isData, total) {\r\n vm.AllValuesOriginalIndex = [];\r\n vm.rachit = [];\r\n dashboardDetailService.getChart(loggedinUser, token, chartType, metrics, dimensions, rollUp, filterKeys, filterValues, chartName, isData, total, vm.createCallback(vm.rachit, [function (data) {\r\n if (chartType == 'Metrics') {\r\n vm.metricsCharts[chartId].value = data;\r\n for (var i = 0; i < vm.AllValues.length; i++) {\r\n if (vm.AllValues[i].chartId == chartId) {\r\n index = i;\r\n break; // Exit the loop when the chartId is found\r\n }\r\n }\r\n vm.AllValues[index].value = data;\r\n vm.AllValuesOriginalIndex.push(chartId);\r\n } else if (chartType == 'Table') {\r\n vm.tableCharts[chartId].value = data;\r\n vm.tableCharts[chartId].DimensionName = dimensions[0];\r\n vm.dataFilters = vm.tableCharts[chartId].DataFilters;\r\n vm.EntityName = vm.tableCharts[chartId].EntityName;\r\n vm.buildColumnBuilder(data, chartId, chartType, metrics, dimensions, rollUp, filterKeys, filterValues, chartName, isData);\r\n\r\n }\r\n console.log(vm.AllValuesOriginalIndex);\r\n }]));\r\n\r\n // for (var i = 0; i < vm.AllValues.length; i++) {\r\n // var chartData = vm.AllValues[i];\r\n // metricsDictionary[currentIndex] = chartData.chartId;\r\n // currentIndex++;\r\n // }\r\n // console.log(metricsDictionary);\r\n }\r\n\r\n \r\n\r\n vm.buildColumnBuilder = function (dataSets, chartId, chartType, metrics, dimensions, rollUp, filterKeys, filterValues, chartName, isData) {\r\n if (vm.tableCharts[chartId] && vm.tableCharts[chartId].value) {\r\n var columns = [];\r\n for (var key in dataSets.Categories) {\r\n var temp = '';\r\n // var columnName = key;\r\n temp = DTColumnBuilder.newColumn(key).withTitle(dataSets.Categories[key]).renderWith(function (data, type, full, meta) {\r\n var temp = '';\r\n function getKeyByValue(object, value) {\r\n for (var prop in object) {\r\n if (object.hasOwnProperty(prop)) {\r\n if (object[prop] === value)\r\n temp = prop;\r\n }\r\n }\r\n }\r\n getKeyByValue(full, data)\r\n var firstColumntKey = Object.values(full)[0];\r\n // var fixedCatogries = Object.values(vm.tableCharts[chartId].value.Categories)[0];\r\n var t = vm.tableCharts[chartId].value.Categories;\r\n var n = t[temp];\r\n if (vm.deepLink[n]) {\r\n return \"' + data + \"\";\r\n }\r\n //data = 'T360000388568_CCR_Form_Photo7825.jpg';\r\n\r\n if ((temp == 'CCR URL' || temp == 'CCRFormPhotoAttachmentPath' || temp == 'TicketSignOffReport') && data) {\r\n\r\n vm.filename = data.substring(data.lastIndexOf('/') + 1);\r\n\r\n\r\n return '' + vm.filename + ' ';\r\n\r\n }\r\n else if ((temp == 'FieldReports') && data) {\r\n var fileUrls = data.split(',');\r\n var ancharStr = '';\r\n var filename;\r\n angular.forEach(fileUrls, function (value, key) {\r\n filename = value.substring(value.lastIndexOf('/') + 1);\r\n ancharStr = ancharStr + '' + filename + ' ';\r\n });\r\n\r\n return ancharStr;\r\n\r\n }\r\n else {\r\n return data;\r\n }\r\n });\r\n columns.push(temp);\r\n }\r\n vm.tableCharts[chartId].dtColumns = columns;\r\n }\r\n\r\n\r\n\r\n vm.tableCharts[chartId].dtOptions = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n defer.resolve(dataSets.Values);\r\n return defer.promise;\r\n }).withDOM(\r\n '<\"html5buttons\"B>lTfgitp')\r\n .withOption('lengthChange', false)\r\n .withOption('order', [])\r\n .withButtons([{ extend: 'colvis' }, { extend: 'csv' }, { extend: 'print' }, { extend: 'copy' }])\r\n .withOption('createdRow', createdRow);\r\n }\r\n\r\n function createdRow(row, data, dataIndex) {\r\n // Recompiling so we can bind Angular directive to the DT\r\n $compile(angular.element(row).contents())($scope);\r\n }\r\n\r\n $scope.shouldHighlightItem = function() {\r\n $scope.isLayoutEditable = true;\r\n };\r\n\r\n $scope.shouldNotHighlightItem = function() {\r\n $scope.isLayoutEditable = false;\r\n };\r\n\r\n\r\n // Dashboard code start by simran\r\n\r\n vm.getChartDashboard = function (chartId, chartType, metrics, dimensions, subtitle, YAxis, rollup) {\r\n vm.AllValues = [];\r\n vm.AllValuesDash = [];\r\n vm.selectDimension[chartId] = {};\r\n dashboardDetailService.getChart1(loggedinUser, token, chartType, metrics, dimensions, rollup, vm.filterKeys, vm.filterValues, \"\", false, total, vm.createCallback(null, [function (data) {\r\n if (chartType == 'Metrics' || chartType == 'OneServMetrics') {\r\n vm.metricsCharts[chartId] = {};\r\n vm.metricsCharts[chartId].value = data;\r\n vm.metricsCharts[chartId].subtitles = subtitle.split(\",\");\r\n vm.metricsCharts[chartId].ChartId = chartId;\r\n vm.AllValuesDash.push(vm.metricsCharts[chartId].value);\r\n } else if (chartType == 'Table') {\r\n vm.tableCharts[chartId] = {};\r\n vm.tableCharts[chartId].value = data;\r\n vm.tableCharts[chartId].ChartId = chartId;\r\n vm.createTableChart(chartId, data.Categories.length, data);\r\n\r\n //vm.buildColumnBuilder(chartId, data.Categories.length);\r\n } else if (chartType == 'Line') {\r\n vm.lineCharts[chartId] = {};\r\n vm.lineCharts[chartId].value = data;\r\n vm.lineCharts[chartId].selectedRollup = rollup;\r\n vm.createLineChart(chartId, YAxis);\r\n } else if (chartType == 'Bar') {\r\n vm.barCharts[chartId] = {};\r\n vm.barCharts[chartId].value = data;\r\n vm.barCharts[chartId].selectedRollup = rollup;\r\n vm.createBarChart(chartId, YAxis);\r\n } else if (chartType == 'StackedBar') {\r\n vm.stackedCharts[chartId] = {};\r\n vm.stackedCharts[chartId].value = data;\r\n vm.stackedCharts[chartId].selectedRollup = rollup;\r\n vm.createStackedChart(chartId, YAxis);\r\n } else if (chartType == 'Pie') {\r\n vm.pieCharts[chartId] = {};\r\n vm.pieCharts[chartId].value = data;\r\n vm.createPieChart(chartId, subtitle);\r\n } else if (chartType == 'CustomPie') {\r\n vm.pieCharts[chartId] = {};\r\n vm.pieCharts[chartId].value = data;\r\n vm.pieCharts[chartId].selectedDimension = dimensions;\r\n vm.createPieChart(chartId, subtitle);\r\n } else if (chartType == 'CustomLine') {\r\n vm.lineCharts[chartId] = {};\r\n vm.lineCharts[chartId].value = data;\r\n vm.lineCharts[chartId].selectedDimension = dimensions;\r\n vm.selectDimension[chartId].dimension = dimensions;\r\n vm.lineCharts[chartId].selectedRollup = rollup;\r\n vm.createLineChart(chartId, YAxis);\r\n } else if (chartType == 'CustomBar') {\r\n vm.barCharts[chartId] = {};\r\n vm.barCharts[chartId].value = data;\r\n vm.barCharts[chartId].selectedDimension = dimensions;\r\n vm.selectDimension[chartId].dimension = dimensions;\r\n vm.barCharts[chartId].selectedRollup = rollup;\r\n vm.createBarChart(chartId, YAxis);\r\n } else if (chartType == 'DrillDownBar') {\r\n vm.barCharts[chartId] = {};\r\n vm.barCharts[chartId].value = data;\r\n vm.barCharts[chartId].selectedDimension = dimensions;\r\n vm.selectDimension[chartId].dimension = dimensions;\r\n vm.barCharts[chartId].selectedRollup = rollup;\r\n vm.createDrilledDownBarChart(chartId, YAxis);\r\n } else if (chartType == 'CustomStackedBar') {\r\n vm.stackedCharts[chartId] = {};\r\n vm.stackedCharts[chartId].value = data;\r\n vm.stackedCharts[chartId].selectedDimension = dimensions;\r\n vm.selectDimension[chartId].dimension = dimensions;\r\n vm.stackedCharts[chartId].selectedRollup = rollup;\r\n vm.createStackedChart(chartId, YAxis);\r\n }\r\n }]));\r\n }\r\n\r\n\r\n var makeDynamicTable = function (chartId, dataSet) {\r\n\r\n if (dataSet.Values.length >= 10) {\r\n vm.tableCharts[chartId].dtOptions = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n defer.resolve(dataSet.Values);\r\n return defer.promise;\r\n })\r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withOption('createdRow', createdRow)\r\n .withBootstrap();\r\n }\r\n else {\r\n vm.tableCharts[chartId].dtOptions = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n defer.resolve(dataSet.Values);\r\n return defer.promise;\r\n })\r\n .withDOM('Tfgt')\r\n //.withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withOption('createdRow', createdRow)\r\n .withBootstrap();\r\n\r\n }\r\n\r\n\r\n function createdRow(row, data, dataIndex) {\r\n // Recompiling so we can bind Angular directive to the DT\r\n $compile(angular.element(row).contents())($scope);\r\n }\r\n\r\n vm.tableCharts[chartId].dtInstance = {};\r\n vm.tableCharts[chartId].dtColumns = [];\r\n var columnList = Object.keys(dataSet.Categories);\r\n for (var index = 0; index < columnList.length; index++) {\r\n\r\n var temp = '';\r\n var colunId = columnList[index];\r\n temp = DTColumnBuilder.newColumn(colunId).withTitle(dataSet.Categories[colunId]).renderWith(function (data, type, full, meta) {\r\n var colKey = '';\r\n function getKeyByIndex(object, col) {\r\n var colList = Object.keys(object);\r\n colKey = colList[col];\r\n }\r\n getKeyByIndex(full, meta.col)\r\n var firstColumntKey = Object.values(full)[0];\r\n var fixedCatogries = Object.values(vm.tableCharts[chartId].value.Categories)[0];\r\n var t = vm.tableCharts[chartId].value.Categories;\r\n var n = t[colKey];\r\n if (data > 0 && vm.deepLink[n + ' ' + vm.tableCharts[chartId].ChartId]) {\r\n return \"' + data + \" \";\r\n // return \"\" + data + \" \";\r\n } else {\r\n return \"\" + data + \"\";\r\n }\r\n });\r\n vm.tableCharts[chartId].dtColumns.push(temp);\r\n }\r\n }\r\n\r\n vm.createTableChart = function (chartId, lenth, data) {\r\n makeDynamicTable(chartId, data);\r\n }\r\n\r\n vm.updateDefaultDateFilter = function (dasahboardFilter) {\r\n if (intialLoad) {\r\n var startDate = '';\r\n var endDate = '';\r\n if (dasahboardFilter && dasahboardFilter.DefaultDateFilter) {\r\n startDate = $scope.dashboardranges[dasahboardFilter.DefaultDateFilter][0];\r\n endDate = $scope.dashboardranges[dasahboardFilter.DefaultDateFilter][1];\r\n $scope.dates = { startDate: startDate, endDate: endDate };\r\n $scope.$broadcast('update.daterangepicker', { date: $scope.dates });\r\n vm.rollup = \"Range(\" + startDate.format(\"YYYY-MM-DD\") + \"|\" + endDate.format(\"YYYY-MM-DD\") + \")\";\r\n }\r\n }\r\n }\r\n\r\n vm.ShareMailReport = function () {\r\n vm.SharedReportName = vm.ReportName;\r\n vm.shareModel.toList = [];\r\n vm.shareModel.ccList = [];\r\n vm.shareModel.bccList = [];\r\n vm.shareModel.mailbody = 'Hello User,\\n\\nPlease find report ' + vm.SharedReportName + ' on ' + formattedDate + '\\n\\nThanks\\nMobiforce Team';\r\n vm.shareModel.content = 'Hello User,\\n\\nPlease find report ' + vm.SharedReportName + ' on ' + formattedDate + '\\n\\nThanks\\nMobiforce Team';\r\n vm.ShareModal = $uibModal.open({\r\n templateUrl: 'ShareMailwidgetCtrl.html',\r\n backdrop: 'static',\r\n size: 'md',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.ShareReport = function () {\r\n vm.SharedReportName = vm.ReportName;\r\n vm.shareModel.toList = [];\r\n vm.shareModel.ccList = [];\r\n vm.shareModel.bccList = [];\r\n vm.GetSharedUsers(vm.ReportName);\r\n vm.shareModel.mailbody = 'Hello User,\\n\\nPlease find report ' + vm.SharedReportName + ' on ' + formattedDate + '\\n\\nThanks\\nMobiforce Team';\r\n vm.shareModel.content = 'Hello User,\\n\\nPlease find report ' + vm.SharedReportName + ' on ' + formattedDate + '\\n\\nThanks\\nMobiforce Team';\r\n vm.ShareModal = $uibModal.open({\r\n templateUrl: 'SharewidgetCtrl.html',\r\n backdrop: 'static',\r\n size: 'md',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.closeShareReportModal = function () {\r\n vm.ShareModal.close();\r\n }\r\n\r\n vm.GetSharedUsers = function (dashboardname) {\r\n dashboardReportListService.GetSharedUsers(dashboardname,loggedinUser, token).then(function (resp) {\r\n if(resp.data){\r\n vm.shareModel.toList = resp.data;\r\n }\r\n })\r\n }\r\n\r\n vm.GrantRevokeAccessToReport = function(){\r\n var toList = [];\r\n angular.forEach(vm.shareModel.toList, function(user){\r\n toList.push(user.UserId);\r\n });\r\n if(toList.length==0){\r\n vm.scheduleModel.toListMendtryErr=true;\r\n return;\r\n }\r\n var commaSeparatedtoList = toList.join(',');\r\n vm.closeShareReportModal();\r\n dashboardReportListService.GrantRevokeAccessToReport(vm.SharedReportName, commaSeparatedtoList, loggedinUser,token).then(function(resp){\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.closeShareReportModal();\r\n } \r\n else{\r\n vm.showFailure(\"Failed\", resp.data)\r\n }\r\n })\r\n }\r\n\r\n vm.updatewidget = function (item) {\r\n vm.itemData = item;\r\n if(item.chartType){\r\n vm.selectedOption = item.chartType;\r\n vm.deleteChartId = item.chartId;\r\n vm.SelectedType = item.EntityName;\r\n vm.chartName = item.metrics;\r\n vm.chartDisplayName = item.ChartTitle;\r\n vm.chartDescription = item.ChartSubtitle;\r\n vm.GetMetricsByEntityType(item.EntityName, item.metrics);\r\n vm.dataFilters = item.DataFilters; \r\n }\r\n else{\r\n vm.selectedOption = \"dimension\";\r\n vm.deleteChartId = item.ChartId;\r\n vm.SelectedType = item.EntityName;\r\n // vm.chartDisplayName = item.chartDisplayName;\r\n vm.DimensionName = item.DimensionName;\r\n vm.chartName = item.DimensionName;\r\n // vm.chartDescription = item.chartDescription;\r\n vm.GetDimensionByEntityName(item.EntityName, vm.DimensionName);\r\n vm.dataFilters = item.DataFilters;\r\n }\r\n \r\n }\r\n vm.closeupdatewidget = function () {\r\n vm.widgetupdate.close();\r\n vm.SelectedType = \"\";\r\n vm.SelectedChartName = \"\";\r\n vm.chartDisplayName = \"\";\r\n vm.chartDescription = \"\";\r\n }\r\n\r\n vm.createwidget = function () {\r\n vm.widgetcreate = $uibModal.open({\r\n templateUrl: 'createwidget.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n vm.closecreatewidet = function () {\r\n vm.widgetcreate.close();\r\n vm.dataFilters = [];\r\n vm.chartDisplayName= \"\";\r\n vm.chartDescription = \"\";\r\n vm.SelectedType = \"\";\r\n vm.SelectedChartName = \"\";\r\n }\r\n\r\n vm.ReportFilter = function () {\r\n vm.FilterModal = $uibModal.open({\r\n templateUrl: 'ReportFilter.html',\r\n backdrop: 'static',\r\n size: 'md',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.closeReportFilterModal = function () {\r\n vm.FilterModal.close();\r\n }\r\n\r\n vm.ScheduledReport = function () {\r\n vm.shareModel.toList = [];\r\n vm.shareModel.ccList = [];\r\n vm.shareModel.bccList = [];\r\n vm.scheduleModel.reportName = vm.ReportName;\r\n vm.scheduleModel.frequency = vm.scheduleModel.once;\r\n vm.scheduleModel.pull_data.range = vm.scheduleModel.pull_data.day;\r\n vm.scheduleModel.attachReportInMailBody = true;\r\n vm.scheduleModel.attachReportInExcel = true;\r\n vm.scheduleModel.sampleDateMendtryErr = false;\r\n vm.scheduleModel.input_of_week = null;\r\n vm.scheduleModel.sampleDate = new moment();\r\n vm.scheduleModel.input_for_month.option = vm.scheduleModel.input_for_month.start_of_day;\r\n vm.shareModel.content = \"Please find below the progress report as on $Date\\n\\nYou are requested to view the detailed report at $Link\";\r\n vm.ScheduledReportModal = $uibModal.open({\r\n templateUrl: 'ScheduledwidgetCtrl.html',\r\n backdrop: 'static',\r\n windowClass: 'schedulerModal',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.closeScheduledReportModal = function () {\r\n vm.ScheduledReportModal.close();\r\n }\r\n\r\n $scope.options = ['Option 1', 'Option 2', 'Option 3', 'Option 4'];\r\n $scope.selectedOptions = {};\r\n\r\n vm.shareModel.getUserSuggestion = function (val) {\r\n vm.scheduleModel.toListMendtryErr = false;\r\n var re = /^[A-Za-z0-9]+([\\.\\-_]*[A-Za-z0-9]+)*@[A-Za-z0-9]+([\\.\\-_]*[A-Za-z0-9]+)*\\.([A-Za-z]{2}|[A-Za-z]{3})$/;\r\n if (vm.users.length > 0) {\r\n return re.test(val) ? [{ FirstName: val.split(\"@\")[0], LastName: \"\", UserId: val }].concat(vm.users) : vm.users;\r\n }\r\n // vm.getUsersLite();\r\n return re.test(val) ? [{ FirstName: val.split(\"@\")[0], LastName: \"\", UserId: val }] : [];\r\n }\r\n\r\n // vm.getUsers = function () {\r\n // vm.users = [];\r\n // dashboardDetailService.getUsers(loggedinUser, token, vm.createCallback(vm.users, [function (data) {\r\n // //$log.log(data);\r\n // }]));\r\n // }\r\n\r\n vm.getUsersLite = function () {\r\n vm.users = [];\r\n dashboardDetailService.getUsersLite(loggedinUser, token, vm.createCallback(vm.users, [function (data) {\r\n //$log.log(data);\r\n }]));\r\n }\r\n\r\n vm.getUsersLite();\r\n\r\n vm.shareModel.searchAsOr = function (searchText1) {\r\n return function (entry) {\r\n var splittedText = searchText1.split(\";\");\r\n if (splittedText != null && splittedText.length > 0) {\r\n var searchText = splittedText[splittedText.length - 1].trim();\r\n if (entry.FirstName.toLowerCase().indexOf(searchText.toLowerCase()) > -1\r\n || (entry.LastName != null && entry.LastName.toLowerCase().indexOf(searchText.toLowerCase()) > -1)\r\n || entry.UserId.toLowerCase().indexOf(searchText.toLowerCase()) > -1)\r\n return entry;\r\n }\r\n }\r\n }\r\n\r\n vm.shareModel.removeSelectedUsers = function (element) {\r\n var matched = false;\r\n angular.forEach(vm.shareModel.toList, function (d) {\r\n if (d.UserId == element.UserId) {\r\n matched = true;\r\n return;\r\n }\r\n });\r\n if (!matched) {\r\n angular.forEach(vm.shareModel.ccList, function (d) {\r\n if (d.UserId == element.UserId) {\r\n matched = true;\r\n return;\r\n }\r\n });\r\n }\r\n if (!matched) {\r\n angular.forEach(vm.shareModel.bccList, function (d) {\r\n if (d.UserId == element.UserId) {\r\n matched = true;\r\n return;\r\n }\r\n });\r\n }\r\n if (!matched) {\r\n return element;\r\n }\r\n }\r\n\r\n vm.shareModel.cancelledToListUser = function (i) {\r\n vm.shareModel.toList.splice(i, 1);\r\n }\r\n\r\n vm.shareModel.cancelledCCListUser = function (i) {\r\n vm.shareModel.ccList.splice(i, 1);\r\n }\r\n\r\n vm.shareModel.cancelledBCCListUser = function (i) {\r\n vm.shareModel.bccList.splice(i, 1);\r\n }\r\n\r\n vm.shareModel.selectUserNameInToList = function (item) {\r\n vm.shareModel.toList.push(item);\r\n vm.shareModel.toUsers = [];\r\n }\r\n vm.shareModel.selectUserNameInCCList = function (item) {\r\n vm.shareModel.ccList.push(item);\r\n vm.shareModel.ccUsers = [];\r\n }\r\n vm.shareModel.selectUserNameInBCCList = function (item) {\r\n vm.shareModel.bccList.push(item);\r\n vm.shareModel.bccUsers = [];\r\n }\r\n\r\n vm.shareModel.mailReport = function () {\r\n var toList = [];\r\n angular.forEach(vm.shareModel.toList, function (user) {\r\n toList.push(user.UserId);\r\n });\r\n var ccList = [];\r\n angular.forEach(vm.shareModel.ccList, function (user) {\r\n ccList.push(user.UserId);\r\n });\r\n var bccList = [];\r\n angular.forEach(vm.shareModel.bccList, function (user) {\r\n bccList.push(user.UserId);\r\n });\r\n if (toList.length == 0) {\r\n vm.scheduleModel.toListMendtryErr = true;\r\n return;\r\n }\r\n if (vm.shareModel.content.length == 0) {\r\n return false;\r\n }\r\n\r\n var content = vm.shareModel.content;\r\n content = content.replace(new RegExp(\"\\n\", 'g'), \"
\");\r\n vm.closeShareReportModal();\r\n dashboardDetailService.mailReport(token, toList, ccList, bccList, \"Report: \" + vm.ReportName,\r\n content, vm.ReportName, loggedinUser, vm.filter_key, vm.filter_name,\r\n vm.attachReportInMailBody, vm.attachReportInExcel, vm.rollup,\r\n vm.createCallback(null, [function (data) {\r\n vm.showSuccess(\"Success\", \"Report has been shared successfully\");\r\n }]));\r\n }\r\n\r\n vm.downloadReport = function () {\r\n dashboardDetailService.downloadReport(vm.report_data.ReportName, loggedinUser, vm.filter_key, vm.filter_name, vm.rollup, vm.isData);\r\n }\r\n\r\n vm.scheduleModel.checkName = function () {\r\n dashboardDetailService.checkReportName(vm.scheduleModel.reportName, function (data) {\r\n //$log.log(\"checkName reposnse\", data);\r\n vm.scheduleModel.reportNameAlreadyExists = data;\r\n });\r\n }\r\n\r\n vm.scheduleModel.scheduleReport = function () {\r\n var startTime = null;\r\n var endTime = null;\r\n var cronExpression = null;\r\n var daily = null;\r\n var weekly = null;\r\n var monthly = null;\r\n //$log.log(\"vm.scheduleModel.scheduleTime \",vm.scheduleModel.scheduleTime);\r\n if (vm.scheduleModel.reportName == null || vm.scheduleModel.reportName.length == 0) {\r\n vm.scheduleModel.reportNameMendtryErr = true;\r\n return;\r\n }\r\n if (vm.shareModel.toList.length == 0) {\r\n vm.scheduleModel.toListMendtryErr = true;\r\n return;\r\n }\r\n if (vm.scheduleModel.frequency == vm.scheduleModel.once) {\r\n //$log.log(\"vm.scheduleModel.sampleDate\", vm.scheduleModel.sampleDate);\r\n if (vm.scheduleModel.sampleDate) {\r\n var sample_Data = vm.scheduleModel.sampleDate ? vm.scheduleModel.sampleDate : new moment();\r\n startTime = {\r\n \"date\": sample_Data.format(\"DD\"),\r\n \"hour\": sample_Data.format(\"HH\"),\r\n \"min\": sample_Data.format(\"mm\"),\r\n \"month\": sample_Data.format(\"MMM\").toUpperCase(),\r\n \"sec\": sample_Data.format(\"ss\"),\r\n \"year\": sample_Data.format(\"YYYY\")\r\n };\r\n var sampleEndTime = moment(sample_Data).add(1, 'month');\r\n endTime = {\r\n \"date\": sampleEndTime.format(\"DD\"),\r\n \"hour\": sampleEndTime.format(\"HH\"),\r\n \"min\": sampleEndTime.format(\"mm\"),\r\n \"month\": sampleEndTime.format(\"MMM\").toUpperCase(),\r\n \"sec\": sampleEndTime.format(\"ss\"),\r\n \"year\": sampleEndTime.format(\"YYYY\")\r\n };\r\n //$log.log(\"startTime \",startTime);\r\n } else {\r\n vm.scheduleModel.sampleDateMendtryErr = true;\r\n return;\r\n }\r\n\r\n } else {\r\n var startDate = vm.scheduleModel.start_date ? new Date(vm.scheduleModel.start_date) : new Date();\r\n var endDate = vm.scheduleModel.end_date ? new Date(vm.scheduleModel.end_date) : new Date();\r\n startTime = {\r\n \"date\": startDate.getDate(),\r\n \"hour\": startDate.getHours(),\r\n \"min\": startDate.getMinutes(),\r\n \"month\": vm.monthNames3[startDate.getMonth()],\r\n \"sec\": startDate.getSeconds(),\r\n \"year\": startDate.getFullYear()\r\n };\r\n endTime = {\r\n \"date\": endDate.getDate(),\r\n \"hour\": endDate.getHours(),\r\n \"min\": endDate.getMinutes(),\r\n \"month\": vm.monthNames3[endDate.getMonth()],\r\n \"sec\": endDate.getSeconds(),\r\n \"year\": endDate.getFullYear()\r\n };\r\n var hour, min;\r\n if (vm.scheduleModel.scheduleTime) {\r\n var splittedtime = vm.scheduleModel.scheduleTime.split(\":\");\r\n hour = parseInt(splittedtime[0]);\r\n min = parseInt(splittedtime[1]);\r\n } else {\r\n vm.scheduleModel.timeMendtryErr = true;\r\n return;\r\n }\r\n if (vm.scheduleModel.frequency == vm.scheduleModel.daily) {\r\n daily = {\r\n \"hour\": hour,\r\n \"minute\": min\r\n };\r\n } else if (vm.scheduleModel.frequency == vm.scheduleModel.weekly) {\r\n var dayOfWeek = [];\r\n\r\n if (vm.scheduleModel.input_of_week.sun) {\r\n dayOfWeek.push(1);\r\n }\r\n if (vm.scheduleModel.input_of_week.mon) {\r\n dayOfWeek.push(2);\r\n }\r\n if (vm.scheduleModel.input_of_week.tue) {\r\n dayOfWeek.push(3);\r\n }\r\n if (vm.scheduleModel.input_of_week.wed) {\r\n dayOfWeek.push(4);\r\n }\r\n if (vm.scheduleModel.input_of_week.thu) {\r\n dayOfWeek.push(5);\r\n }\r\n if (vm.scheduleModel.input_of_week.fri) {\r\n dayOfWeek.push(6);\r\n }\r\n if (vm.scheduleModel.input_of_week.sat) {\r\n dayOfWeek.push(7);\r\n }\r\n weekly = {\r\n \"dayOfWeek\": dayOfWeek,\r\n \"hour\": hour,\r\n \"minute\": min\r\n };\r\n } else if (vm.scheduleModel.frequency == vm.scheduleModel.monthly) {\r\n if (vm.scheduleModel.input_for_month.option == vm.scheduleModel.input_for_month.start_of_day) {\r\n monthly = {\r\n \"dayOfMonth\": \"1\",\r\n \"hour\": hour,\r\n \"minute\": min\r\n };\r\n } if (vm.scheduleModel.input_for_month.option == vm.scheduleModel.input_for_month.end_of_day) {\r\n cronExpression = \"0 \" + hour + \" \" + min + \" L * ?\";\r\n vm.scheduleModel.frequency = vm.scheduleModel.cronExpression\r\n } if (vm.scheduleModel.input_for_month.option == vm.scheduleModel.input_for_month.specific_date) {\r\n monthly = {\r\n \"dayOfMonth\": vm.scheduleModel.input_for_month.date,\r\n \"hour\": hour,\r\n \"minute\": min\r\n };\r\n }\r\n\r\n }\r\n }\r\n\r\n var data = {\r\n \"cronExpression\": cronExpression,\r\n \"cronType\": vm.scheduleModel.frequency,\r\n \"daily\": daily,\r\n \"endTime\": endTime,\r\n \"jobStartTime\": startTime,\r\n \"method\": \"POST\",\r\n \"monthly\": monthly,\r\n \"uniqueId\": vm.scheduleModel.reportName,\r\n \"reportId\": $stateParams.report_id,\r\n \"url\": DashboardURL + \"/api/Report/mailexcelreportbyreportid\",\r\n \"weekly\": weekly,\r\n \"accountId\": loggedinUser\r\n };\r\n\r\n var toList = [];\r\n angular.forEach(vm.shareModel.toList, function (user) {\r\n toList.push(user.PersonalEmail);\r\n });\r\n var ccList = [];\r\n angular.forEach(vm.shareModel.ccList, function (user) {\r\n ccList.push(user.PersonalEmail);\r\n });\r\n var bccList = [];\r\n angular.forEach(vm.shareModel.bccList, function (user) {\r\n bccList.push(user.PersonalEmail);\r\n });\r\n\r\n if (vm.shareModel.content.length == 0) {\r\n vm.shareModel.contentMedtryErr = true;\r\n return;\r\n }\r\n\r\n var content = vm.shareModel.content;\r\n content = content.replace(new RegExp(\"\\n\", 'g'), \"
\");\r\n var schedulerModel = {};\r\n schedulerModel[\"TOList\"] = toList;\r\n schedulerModel[\"CCList\"] = ccList;\r\n schedulerModel[\"BCCList\"] = bccList;\r\n schedulerModel[\"Body\"] = content;\r\n schedulerModel[\"Subject\"] = \"Report: \" + vm.ReportName\r\n schedulerModel[\"ReportId\"] = vm.DashboardId\r\n schedulerModel[\"ReqUserId\"] = loggedinUser;\r\n schedulerModel[\"FilterKeys\"] = null;\r\n schedulerModel[\"FilterValues\"] = null;\r\n schedulerModel[\"ReportInMailBody\"] = vm.scheduleModel.attachReportInMailBody;\r\n schedulerModel[\"AttachXLSReportInMail\"] = vm.scheduleModel.attachReportInExcel;\r\n if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.day) {\r\n schedulerModel[\"RollUps\"] = \"Last Day\";\r\n } else if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.week) {\r\n schedulerModel[\"RollUps\"] = \"Last Week\";\r\n } else if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.month) {\r\n schedulerModel[\"RollUps\"] = \"Last Month\";\r\n } else if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.quarter) {\r\n schedulerModel[\"RollUps\"] = \"Last Quarter\";\r\n } else if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.current_month) {\r\n schedulerModel[\"RollUps\"] = \"Current Month\";\r\n } else if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.specific) {\r\n var re = /^[1-9]+[0-9]*$/;\r\n if (!re.test(vm.scheduleModel.pull_data.specific_day_value)) {\r\n vm.scheduleModel.pull_data.specificDayValMedtryErr = true;\r\n return;\r\n }\r\n schedulerModel[\"RollUps\"] = vm.scheduleModel.pull_data.specific_day_value;\r\n }\r\n data[\"model\"] = JSON.stringify(schedulerModel);\r\n data[\"entity\"] = \"report\";\r\n\r\n dashboardDetailService.scheduleReport(loggedinUser, data, token,\r\n vm.createCallback(null, [function (data) {\r\n if (data.msg == \"Schedule already exists\") {\r\n vm.showFailure(\"Failed\", \"Schedule with same name already exists.\");\r\n } else if (data.msg == \"Unexpected params\") {\r\n vm.showFailure(\"Failed\", \"Unexpected parameters.\");\r\n } else if (data.msg == \"Failed\") {\r\n vm.showFailure(\"Server Error\", \"Failed to create schedule.\");\r\n } else {\r\n vm.showSuccess(\"Success\", \"Report scheduled successfully.\");\r\n vm.closeScheduledReportModal();\r\n }\r\n }]));\r\n }\r\n\r\n vm.PDFView = function (img) {\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n vm.pdfimage = resp.data;\r\n });\r\n $scope.selected = null;\r\n $timeout(function () {\r\n jobAppointmentModal = $uibModal.open({\r\n templateUrl: 'PDFView.html',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }, 1000)\r\n }\r\n vm.PDFUserModal = function () {\r\n jobAppointmentModal.close();\r\n }\r\n vm.isShow = true;\r\n vm.showEditList = false;\r\n vm.showAction = true;\r\n\r\n // vm.addMoreFilter = function () {\r\n // vm.SelectedSkills = [];\r\n // vm.SelectedLocations = [];\r\n // vm.SelectedField = [];\r\n // vm.showEditList = true;\r\n // vm.showAction = false;\r\n // vm.getAllAccountsExceptHD();\r\n\r\n // }\r\n\r\n vm.addMoreFilter = function () {\r\n vm.showEditList = true;\r\n vm.showAction = false;\r\n };\r\n\r\n vm.addNewFilter = function (filter) {\r\n if (filter.FieldName.Type == 'Text') {\r\n filter.FieldValue = filter.FieldValue.join('|');\r\n }\r\n else if (filter.FieldName.Type == 'DateTime'){\r\n filter.FieldValue = vm.filterstartDate + '|' + vm.filterendDate;\r\n filter.FieldValue = filter.FieldValue.toString();\r\n\r\n }\r\n else if (filter.FieldName.Type == 'Numeric'){\r\n filter.FieldValue = filter.FieldValue.toString();\r\n }\r\n vm.dataFilters.push({\r\n \"FieldName\": filter.FieldName.Name,\r\n \"Condition\": filter.Condition,\r\n \"FieldValue\": filter.FieldValue,\r\n \"JoiningOperator\": filter.JoiningOperator\r\n });\r\n vm.showEditList = false;\r\n vm.showAction = true;\r\n // Clear the form fields after adding\r\n // filter.FieldName = \"\";\r\n // filter.Condition = \"\";\r\n // filter.FieldValue = \"\";\r\n // filter.JoiningOperator = \"\";\r\n };\r\n\r\n $scope.toggleEdit = function (filter) {\r\n angular.forEach(vm.AllFieldList.Fields, function (d) {\r\n if (d.Name == filter.FieldName) {\r\n filter.FieldName = d; \r\n return; \r\n }\r\n });\r\n \r\n if (filter.FieldName.Type == 'Text') {\r\n filter.FieldValue = filter.FieldValue.split('|');\r\n }\r\n else if (filter.FieldName.Type == 'DateTime'){\r\n var dateValues = filter.FieldValue.split('|');\r\n vm.filterstartDate = dateValues[0];\r\n vm.filterendDate = dateValues[1];\r\n \r\n }\r\n else if (filter.FieldName.Type == 'Numeric'){\r\n filter.FieldValue = parseFloat(filter.FieldValue);\r\n }\r\n vm.GetFieldValuesByFieldNames(vm.SelectedType, filter.FieldName.Name);\r\n // filter.FieldValue = filter.FieldValue;\r\n filter.Condition = filter.Condition;\r\n filter.JoiningOperator = filter.JoiningOperator;\r\n };\r\n\r\n vm.SaveCustomSettings = function(){\r\n dashboardDetailService.SaveCustomSettings($stateParams.report_id, $scope.order, loggedinUser,token).then(function(resp){\r\n if (resp && resp.status == 201) {\r\n vm.showSuccess(\"Success\", \"Layout Saved Successfully\");\r\n $scope.shouldNotHighlightItem();\r\n } \r\n else{\r\n vm.showFailure(\"Failed\", resp.data)\r\n }\r\n })\r\n }\r\n\r\n $scope.updateDataFilter = function (filter) {\r\n // Update the values with the edited values\r\n\r\n if (filter.FieldName.Type == 'Text') {\r\n filter.FieldValue = filter.FieldValue.join('|');\r\n }\r\n else if (filter.FieldName.Type == 'DateTime'){\r\n filter.FieldValue = vm.filterstartDate + '|' + vm.filterendDate;\r\n filter.FieldValue = filter.FieldValue.toString();\r\n\r\n }\r\n else if (filter.FieldName.Type == 'Numeric'){\r\n filter.FieldValue = filter.FieldValue.toString();\r\n }\r\n filter.FieldName = filter.FieldName.Name;\r\n filter.Condition = filter.Condition;\r\n filter.JoiningOperator = filter.JoiningOperator;\r\n };\r\n\r\n $scope.deleteDataFilter = function (filter) {\r\n const index = vm.dataFilters.indexOf(filter);\r\n if (index !== -1) {\r\n vm.dataFilters.splice(index, 1);\r\n }\r\n };\r\n\r\n vm.removeAddmoreEditList = function () {\r\n vm.showEditList = false;\r\n vm.showAction = true;\r\n }\r\n\r\n vm.openDilogforDelete = function (index) {\r\n $scope.deleteIndex = index;\r\n vm.ShareModal = $uibModal.open({\r\n templateUrl: 'openDilogforDelete.html',\r\n backdrop: 'static',\r\n size: 'md',\r\n scope: $scope,\r\n });\r\n }\r\n\r\n vm.closeopenDilogforDeleteModal = function () {\r\n vm.ShareModal.close();\r\n }\r\n\r\n vm.selectedOption = 'dimension';\r\n\r\n vm.ChangeOption = function (type) {\r\n vm.selectedOption = type;\r\n vm.SelectedType = \"\";\r\n vm.SelectedChartName = \"\";\r\n vm.chartDisplayName = \"\";\r\n vm.chartDescription = \"\";\r\n vm.dataFilters = [];\r\n }\r\n\r\n vm.GetFieldValuesByFieldNames = function (EntityType, EntityName) {\r\n dashboardDetailService.GetFieldValuesByFieldNames(EntityType, EntityName,loggedinUser, token).then(function (resp) {\r\n vm.AllFieldValuesList = resp.data.Values;\r\n })\r\n }\r\n\r\n vm.ChangeMetrics = function (chart) {\r\n var metricsNames = [];\r\n if (vm.selectedOption == 'linecharts' && Array.isArray(chart)) {\r\n for (var i = 0; i < chart.length; i++) {\r\n metricsNames.push(chart[i].MetricsName);\r\n }\r\n vm.chartName = metricsNames;\r\n vm.chartDisplayName = \"\";\r\n vm.chartDescription = \"\";\r\n }\r\n else if (vm.selectedOption == 'metrices') {\r\n vm.chartName = chart.MetricsName;\r\n vm.chartName = [vm.chartName];\r\n vm.chartDisplayName = chart.DisplayName;\r\n vm.chartDescription = chart.Description;\r\n }\r\n else{\r\n vm.chartName = chart.DimensionName;\r\n vm.chartName = [vm.chartName];\r\n vm.chartDisplayName = chart.DisplayName;\r\n vm.chartDescription = chart.Description;\r\n }\r\n vm.dataFilters = [];\r\n }\r\n\r\n\r\n vm.GetFieldTypesByEntityName = function (EntityType) {\r\n dashboardDetailService.GetFieldTypesByEntityName(EntityType, loggedinUser, token).then(function (resp) {\r\n vm.AllFieldList = resp.data;\r\n\r\n })\r\n }\r\n\r\n\r\n vm.GetMetricsByEntityType = function (EntityType,SelectedChartName) {\r\n dashboardDetailService.GetMetricsByEntityType(EntityType, loggedinUser, token).then(function (resp) {\r\n vm.AllMetricsList = resp.data;\r\n if(SelectedChartName){\r\n angular.forEach(vm.AllMetricsList, function (d) {\r\n if (d.MetricsName == SelectedChartName) {\r\n vm.SelectedChartName = d; \r\n return; \r\n }\r\n });\r\n vm.GetFieldTypesByEntityName(EntityType);\r\n if(vm.AllFieldList){\r\n vm.widgetupdate = $uibModal.open({\r\n templateUrl: 'updatewidget.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n }\r\n })\r\n }\r\n\r\n vm.GetDimensionByEntityName = function (EntityType,SelectedChartName) {\r\n dashboardDetailService.GetDimensionByEntityName(EntityType, loggedinUser, token).then(function (resp) {\r\n vm.AllDimensionsList = resp.data;\r\n if(SelectedChartName){\r\n angular.forEach(vm.AllDimensionsList, function (d) {\r\n if (d.DimensionName == SelectedChartName) {\r\n vm.SelectedChartName = d; \r\n vm.chartDisplayName = d.DisplayName;\r\n vm.chartDescription = d.Description; \r\n return; \r\n }\r\n });\r\n vm.GetFieldTypesByEntityName(EntityType);\r\n if(vm.AllFieldList){\r\n vm.widgetupdate = $uibModal.open({\r\n templateUrl: 'updatewidget.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n }\r\n })\r\n }\r\n\r\n vm.GetAllEntityTypes = function () {\r\n dashboardDetailService.GetAllEntityTypes(loggedinUser, token).then(function (resp) {\r\n vm.AllEntityList = resp.data;\r\n })\r\n }\r\n\r\n vm.GetAllEntityTypes();\r\n vm.dataFilters = [];\r\n\r\n vm.AddChartsToReport = function () {\r\n vm.feedbackForm.submitted = true;\r\n if (vm.feedbackForm.$valid) {\r\n data = {\r\n \"ReportId\": $stateParams.report_id,\r\n \"ChatType\": vm.selectedOption,\r\n \"ChartName\": vm.chartName,\r\n \"DisplayName\": vm.chartDisplayName,\r\n \"Description\": vm.chartDescription,\r\n \"DeleteChartId\": \"\",\r\n \"DataFilters\": vm.dataFilters\r\n }\r\n dashboardDetailService.AddChartsToReport(data, loggedinUser, token, vm.reportLayoutCallback);\r\n }\r\n }\r\n\r\n vm.UpdateChartsFromReport = function() {\r\n data ={\r\n \"ReportId\": $stateParams.report_id,\r\n \"ChatType\": vm.selectedOption,\r\n \"ChartName\": vm.chartName,\r\n \"DisplayName\": vm.chartDisplayName,\r\n \"Description\": vm.chartDescription,\r\n \"DeleteChartId\": vm.deleteChartId,\r\n \"DataFilters\": vm.dataFilters\r\n }\r\n dashboardDetailService.UpdateChartsFromReport(data, loggedinUser, token,vm.reportLayoutCallback);\r\n vm.dataFilters = [];\r\n vm.chartDisplayName= \"\";\r\n vm.chartDisplayName = \"\";\r\n vm.closeupdatewidget();\r\n // .then(function (resp) {\r\n // if(resp.data && resp.status == 201){ \r\n // $timeout(function () {\r\n // vm.getCustomerReport(vm.getReportName($stateParams.report_name));\r\n // }, 2000)\r\n // vm.showSuccess(\"Success\", resp.data);\r\n // }\r\n // else{\r\n // vm.showFailure(\"Failed\", resp.data);\r\n // }\r\n // })\r\n }\r\n\r\n vm.DeleteChartsFromReport = function(item) {\r\n if(item.chartId){\r\n vm.deleteChartId = item.chartId;\r\n }\r\n else{\r\n vm.deleteChartId = item.ChartId;\r\n }\r\n dashboardDetailService.DeleteChartsFromReport($stateParams.report_id,vm.deleteChartId, loggedinUser, token).then(function (resp) {\r\n if(resp.data && resp.status == 201){\r\n $timeout(function () {\r\n vm.getCustomerReport($stateParams.report_id);\r\n }, 2000)\r\n vm.showSuccess(\"Success\", resp.data);\r\n }\r\n else{\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n }\r\n\r\n }\r\n\r\n\r\n});\r\n\nangular.module('inspinia').service('DashboardService', function (ApiURL,FreelancerURL,paymentsapi,PublicApiURL, LocationURL, $log, $http, $localStorage) {\r\n\r\n // https://product.mymobiforce.com/FreelancerAPI/api/FreeLancerUser/F00000033993/U00000000406/byUserIdWithJobCount\t\r\n this.GetUserId = function(loggedInUser,userId, token){\r\n var url = FreelancerURL + '/api/FreeLancerUser/' + userId +'/'+ loggedInUser+ '/'+ 'byUserIdWithJobCount' ;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n\r\n // https://product.mymobiforce.com/coreapi/api/ProfileController/Get360ProfileDashboardData?UserId=F00000033744\r\n\r\n this.Get360ProfileData= function(loggedInUser,userId, token){\r\n var url = ApiURL + '/api/ProfileController/Get360ProfileDashboardData?UserId=' + userId;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n\r\n this.UploadExternalVideoList = function (newdata, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerRegistration/GetVideoKycData';\r\n return $http.put(url, newdata, {\r\n headers: { 'ContentType': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n\r\n // https://pro.mymobiforce.com/coreapi/api/ProfileController/GetToolsAndAssets?Userid=FV0000000002326\r\n\r\n this.GetToolsAndAssets= function(loggedInUser,userId, token){\r\n var url = ApiURL + '/api/ProfileController/GetToolsAndAssets?Userid=' + userId;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n\r\n\r\n // https://pro.mymobiforce.com/coreapi/api/ProfileController/GetReviewAndRatings?Userid=F00000033829\r\n\r\n this.GetReviewAndRatings= function(loggedInUser,userId, token){\r\n var url = ApiURL + '/api/ProfileController/GetReviewAndRatings?Userid=' + userId;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n\r\n\r\n // https://pro.mymobiforce.com/coreapi/api/ProfileController/Get360SkillSummary?Userid=F00000033744\r\n\r\n this.Get360SkillSummary= function(loggedInUser,userId, token){\r\n var url = ApiURL + '/api/ProfileController/Get360SkillSummary?Userid=' + userId;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n this.GetAuthorizedServicePartnerDetail= function(loggedInUser,userId, token){\r\n var url = FreelancerURL + '/api/FreelancerUser/GetAuthorizedServicePartnerDetailForPortal?reqUserId=' + userId;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n // https://testg2.mymobiforce.com/FreelancerAPI/api/FreelancerUser/GetAuthorizedServicePartnerDetailForPortal?reqUserId=F00000033983\r\n // https://product.mymobiforce.com/coreapi/api/ProfileController/Get360VendorTeamData?UserId=FV0000000002393\r\n\r\n this.Get360VendorTeamData= function(loggedInUser,userId, token){\r\n var url = ApiURL + '/api/ProfileController/Get360VendorTeamData?UserId=' + userId;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n\r\n // https://pro.mymobiforce.com/coreapi/api/ProfileController/GetLastFollowUpOnTicketId?Userid=F00000033748\r\n\r\n this.GetLastFollowUpOnTicketId= function(loggedInUser,userId, token){\r\n var url = ApiURL + '/api/ProfileController/GetLastFollowUpOnTicketId?Userid=' + userId;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n\r\n this.callToTechnicianApi = function(loggedInUser,userId, token){\r\n var url = ApiURL + '/api/CallPatching/ClickToCallFieldTeam?userId='+userId ;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n\r\n this.PreferredSingleUser = function(loggedInUser, userId, status, token){\r\n var url = FreelancerURL + '/api/FreeLancerUser/Favorite/' + loggedInUser + '/'+ userId +'/'+status;\r\n return $http.put(url, null, {\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedInUser }\r\n });\r\n }\r\n\r\n this.BlockedSingleUser = function(loggedInUser, userId, status, token){\r\n var url = FreelancerURL + '/api/FreeLancerUser/Block/' + loggedInUser + '/'+ userId +'/'+status;\r\n return $http.put(url, null, {\r\n headers: { \r\n 'Content-Type': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedInUser }\r\n });\r\n }\r\n\r\n this.getJobsByUserId=function(userId,loggedInUser, token){\r\n var url =ApiURL + \"/api/Ticket/\" +userId+\"/Approved/byUserIdStatus?reqUserId=\"+loggedInUser;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, \r\n 'UserId':loggedInUser\r\n }\r\n });\r\n }\r\n \r\n this.UserAgreement=function(loggedinUser, userId, token){\r\n var url =ApiURL + \"/api/User/GetEULAByUserId?reqUserId=\" +loggedinUser+\"&userId=\"+userId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, \r\n 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.BankDetails=function(loggedinUser, userId, token){\r\n var url =FreelancerURL + \"/api/FreeLancerUser/GetFEBankDetail?AccountId=0\" +\"&userId=\"+userId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, \r\n 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n\r\n //https://product.mymobiforce.com/coreapi/api/Report/GeneratePdfSelfDeclaration?userId=F00000001208\r\n this.GeneratePdfSelfDeclaration = function(loggedinUser, userId, token){\r\n var url = ApiURL + '/api/Report/GeneratePdfSelfDeclaration?userId=' + userId;\r\n return $http.get(url,{\r\n headers:{'Content-Type': 'application/json',\r\n 'Token':token,\r\n 'UserId':loggedinUser}\r\n })\r\n }\r\n\r\n this.GeneratePdfVerificationReport = function(loggedinUser, userId, token){\r\n var url = ApiURL + '/api/Report/GeneratePdfVerificationReport?userId=' + userId;\r\n return $http.get(url,{\r\n headers:{'Content-Type': 'application/json','Token':token, 'UserId':loggedinUser}\r\n })\r\n }\r\n\r\n\r\n this.GetLeadsForMobile = function(loggedinUser, token,PageIndex,PageSize,OrderBy,order,searchtag){\r\n var url = FreelancerURL + \"/api/BID/GetLeadsForMobile?Vertical=\"+ '&PageIndex=' + PageIndex + '&PageSize=' + PageSize+ '&OrderBy=' + OrderBy + '&order=' + order + '&SearchTag=' + searchtag;\r\n return $http.get(url,{\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, \r\n 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAllSkills = function (loggedinUser, token) { \r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json', 'Token': token, 'UserId': loggedinUser}\r\n });\r\n }\r\n \r\n\r\n\r\n // https://pro.mymobiforce.com/paymentsapi/api/Payouts/FinancialSummaryTicketDetails?paymentId=7347298768_4921_1655205323\r\n\r\n\r\n this.GetFinanceTicketDetail = function (paymentId) {\r\n var url = paymentsapi + '/api/Payouts/FinancialSummaryTicketDetails?paymentId=' + paymentId;\r\n return $http.get(url,{\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'NoAuth': true,\r\n }\r\n });\r\n }\r\n\r\n //Accounts API\r\n this.getCustomerAccounts = function (loggedInUserId,token) { \r\n var url = ApiURL+ '/api/account/GetAllAccountsMiniModel';\r\n return $http.get(url, {\r\n headers: { \r\n 'Content-Type': 'application/json',\r\n 'Token':token , \r\n 'UserId':loggedInUserId\r\n \r\n }\r\n });\r\n }\r\n\r\n\r\n // https://pro.mymobiforce.com/coreapi/api/ProfileController/GetFinancialSummary?UserId=F00000033748&from_Date=2022-05-09&to_Date=2022-06-20&itemNames=status&itemValue=PaymentCarriedForward&PageIndex=1&PageSize=10\r\n\r\n this.GetFinancialSummary = function (loggedInUser,token,userId,itemNames,itemValues,PageIndex,PageSize, startDate, endDate) {\r\n var url = ApiURL + '/api/ProfileController/GetFinancialSummary?UserId=' + userId + '&from_Date=' + startDate + '&to_Date=' + endDate + '&itemNames=' + itemNames + '&itemValue=' + itemValues +'&PageIndex=' + PageIndex + '&PageSize=' + PageSize;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUser\r\n }\r\n });\r\n } \r\n \r\n //https://pro.mymobiforce.com/coreapi/api/User/UpgradeFreelancerToVendor\r\n\tthis.UpgradeFreelancerToVendor = function(loggedInUser, userId, token){\r\n\t\tvar url = ApiURL + '/api/User/UpgradeFreelancerToVendor';\r\n\t\treturn $http.put(url, {\"FreelancerId\": userId}, {\r\n\t\t headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedInUser }\r\n\t\t});\r\n\t }\r\n\r\n this.deleteVideoForKyc = function(loggedInUser, userId, token){\r\n var url = ApiURL + '/api/User/RemoveUserDocKYCVideo?userId='+userId;\r\n return $http.put(url, null, {\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedInUser }\r\n });\r\n }\r\n \r\n this.getAllState = function (loggedinUser,token) { \r\n var url = PublicApiURL + '/api/Location/GetSubRegion?userId='+loggedinUser+'®ion=INDIA';\r\n return $http.get(url,{\r\n headers:{\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n // http://localhost:56749/api/ProfileController/Get360WorkSummary?UserId=F00000033748&from_Date=2022-05-09&to_Date=2022-06-20&itemNames=skill,accountname&itemValue=Air_Cooler_Services,114&PageIndex=1&PageSize=10&OrderBy=AssignationDateObj&SortType=desc\r\n this.Get360WorkSummary = function (loggedinUser,token,userId,itemNames,itemValues,PageIndex,PageSize, startDate, endDate,DataFeild,sorttype ) {\r\n var url = '';\r\n var url = ApiURL + '/api/ProfileController/Get360WorkSummary?UserId=' + userId + '&from_Date=' + startDate + '&to_Date=' + endDate + '&itemNames=' + itemNames + '&itemValue=' + itemValues +'&DataFeild='+ DataFeild +'&PageIndex=' + PageIndex + '&PageSize=' + PageSize + '&SortType=' + sorttype;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n } \r\n\r\n\r\n });\r\n\nangular.module('inspinia').controller('DashboardController', function (DashboardService,OnBoardingFlowService,$rootScope,UIURL,ApiURL,ReferService,$q,MainService,ImageUrl, $log, $state, $localStorage, $stateParams, $uibModal, $scope, DTOptionsBuilder, DTColumnDefBuilder, toaster, $timeout) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n vm.loggedInUser_Role=$localStorage.loggedInUser_Role;\r\n vm.showSuccess = $scope.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.main.showFailure;\r\n vm.NokiaTableHeaderChange = $localStorage.accountConfig.NokiaTableHeaderChange;\r\n vm.CallPatchEnable = $localStorage.accountConfig.CallPatchEnable;\r\n if (!loggedinUser) {\r\n $state.go('Login',{\r\n reload:true\r\n });\r\n }else{\r\n //Global Variable Declaration\r\n vm.CustomDateformat = $localStorage.CustomDateformat;\r\n vm.OnlyDateformat = $localStorage.OnlyDateformat;\r\n vm.vendorList='';\r\n vm.vendorData = '';\r\n vm.ActivationStatus = '';\r\n vm.searchText = '';\r\n vm.OrderBy = \"CreatedOn\";\r\n vm.sorttype = \"desc\";\r\n vm.PageIndex = 1;\r\n vm.PageSize = 10;\r\n vm.status ='';\r\n vm.skillName ='';\r\n vm.projectName='';\r\n vm.accountName='';\r\n vm.location ='';\r\n vm.userId = $stateParams.UserId; \r\n vm.jobTickets = '';\r\n vm.itemName = '';\r\n vm.DocumentprofileImg=[];\r\n vm.DocumentbackImg=[];\r\n vm.CertificateImg=[];\r\n vm.CertprofileImg=[];\r\n vm.VerificationCertprofileImg=[];\r\n vm.itemValue = '';\r\n vm.dtInstance = {};\r\n vm.dtInstanceticket={};\r\n vm.AccountHistoryData=[];\r\n $localStorage.VendorDetailsView='';\r\n $localStorage.VendorPageIndex=1;\r\n vm.ToolsDetailList=[];\r\n vm.PreviousCompanyDetailsList=[];\r\n vm.TrainingImagebase64=[];\r\n vm.TrainingAttendancebase64=[];\r\n vm.PCExperienceLetterbase64=[];\r\n vm.ExperienceVerificationReportbase64=[];\r\n vm.pdfimage=\"\";\r\n vm.CriminalVerificationbase64=\"\";\r\n startDate = '';\r\n endDate = '';\r\n vm.PermanentState = '';\r\n vm.PermanentCity = '';\r\n vm.userskill = '';\r\n vm.pincode = '';\r\n vm.userNameSearch = '';\r\n vm.contactNumberSearch = '';\r\n vm.userSource = '';\r\n vm.useraccount = '';\r\n vm.CriminalVerified='';\r\n vm.IdVerified='';\r\n vm.PANVerified='';\r\n vm.UserAvailable=''\r\n vm.skillData = '';\r\n vm.circleData = '';\r\n vm.isChecked = \"fixed\";\r\n vm.searchText = \"\";\r\n vm.Technicianstartingdate = '2017-01-01';\r\n vm.tab = '';\r\n vm.pageindexCount=0;\r\n vm.DateField=\"StatusChangedOn\";\r\n vm.searchStatusText=\"\"; \r\n vm.statusFin=\"\"; \r\n var uPageIndex = 1;\r\n var uPageSize = 10; \r\n var fPageIndex = 1;\r\n var fPageSize = 10; \r\n $scope.isCollapsed = true; \r\n $localStorage.AllJobStatus = vm.searchStatusText;\r\n vm.UsersType=\"\";\r\n vm.uType=\"\";\r\n var uitemNames=\"\";\r\n var uitemValues=\"\";\r\n vm.searchUsersText=\"\";\r\n vm.jobsCount='';\r\n vm.userPageListCount= 10;\r\n vm.financePageListCount= 10;\r\n vm.pageListCounts = [10, 20, 30, 50];\r\n var userType = '';\r\n var startDate = moment().subtract(7, 'days').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n\r\n vm.dateRangeChange = function (ev, picker) {\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n \r\n vm.Get360WorkSummary( loggedinUser, token, uitemNames, uitemValues, userType, vm.UserAvailable, vm.DateField, uPageIndex, uPageSize, startDate, endDate);\r\n };\r\n\r\n vm.statusList=[\"New\", \"Verified\",\"Rejected\", \"Approved\", \"PaymentInitiated\",\"PaymentFailed\", \"PaymentSuccessful\",\"PaymentCarriedForward\"];\r\n\r\n var startDate = moment().subtract(7, 'day').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.ticketdates = { startDate: moment().subtract(7, 'day'), endDate: moment() };\r\n vm.ticketranges = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')]\r\n };\r\n vm.outsidedateRangeChange = function (ev, picker) { \r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n vm.GetFinancialSummary( loggedinUser, token, uitemNames, uitemValues, userType, vm.UserAvailable, vm.DateField, uPageIndex, fPageSize, startDate, endDate);\r\n \r\n\r\n };\r\n\r\n var UserAgreement = function(){\r\n DashboardService.UserAgreement(loggedinUser,vm.userId,token).then(function(resp){\r\n if(resp.status == '200'){ \r\n vm.agreementview=resp.data;\r\n var uri = vm.agreementview.Content;\r\n var dec = decodeURIComponent(uri).replace(/\\+/g,\" \");\r\n $('#agreementview').contents().find('html').html(dec);\r\n } else{\r\n var dec = decodeURIComponent(resp.data).replace(/\\+/g,\" \");\r\n $('#agreementview').contents().find('html').html(dec);\r\n }\r\n\r\n })\r\n }\r\n\r\n vm.agreement=[];\r\n\t\tvm.Agreement = function (userid) {\r\n vm.agreement=userid;\r\n \r\n\t\t\tAgreementUserModal = $uibModal.open({\r\n templateUrl: 'Agreement.html',\r\n controller: UserAgreement(userid),\r\n\t\t\t\t// size:'lg',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t\treload:true\r\n\t\t\t});\r\n\t\t\r\n }\r\n\r\n vm.CloseAgreementUserModal = function(){\r\n AgreementUserModal.close();\r\n }\r\n\r\n vm.closeProfile = function(){ \r\n document.getElementById(\"teamSummary\").style.width = \"0%\";\r\n }\r\n\r\n vm.OpenPdfModal= function(PdfPathName,TypeName)\r\n {\r\n jobAppointmentModal = $uibModal.open({\r\n templateUrl: 'PDFView.html',\r\n size :'lg',\r\n scope: $scope,\r\n controller: ModalInstanceCtrl(PdfPathName,TypeName)\r\n });\r\n }\r\n\r\n vm.PDFViewGeneratePdfSelfDeclaration = function () { \r\n vm.OpenPdfModal(vm.userId,\"Self Declaration\");\r\n }\r\n vm.PDFViewGeneratePdfVerificationReport = function () { \r\n vm.OpenPdfModal(vm.userId,\"Verification Report\");\r\n }\r\n vm.PDFViewLegalContract = function (page) {\r\n vm.OpenPdfModal(page,\"Legal Contract\");\r\n }\r\n vm.PDFView = function (page) {\r\n vm.OpenPdfModal(page,\"PDF View\");\r\n }\r\n var ModalInstanceCtrl = function(PdfPathNames,TypeNames) { \r\n vm.IsLoadSucessfull=false;\r\n vm.pdfimage=\"\";\r\n if(TypeNames==\"Legal Contract\")\r\n {\r\n MainService.GetLegalContractImageBlob(loggedinUser, token, PdfPathNames).then(function(resp) { \r\n vm.ConvertBase64ToBlob(resp.data);\r\n vm.IsLoadSucessfull=true;\r\n }); \r\n } \r\n if(TypeNames==\"PDF View\")\r\n {\r\n MainService.GetImageBlob(loggedinUser, token, PdfPathNames).then(function(resp) { \r\n vm.ConvertBase64ToBlob(resp.data);\r\n vm.IsLoadSucessfull=true;\r\n }); \r\n } \r\n if(TypeNames==\"Verification Report\")\r\n {\r\n DashboardService.GeneratePdfVerificationReport(loggedinUser, PdfPathNames, token).then(function(resp) { \r\n vm.ConvertBase64ToBlob(resp.data.Base64Data);\r\n vm.IsLoadSucessfull=true;\r\n }); \r\n } \r\n if(TypeNames==\"Self Declaration\")\r\n {\r\n DashboardService.GeneratePdfSelfDeclaration(loggedinUser, PdfPathNames, token).then(function(resp) { \r\n vm.ConvertBase64ToBlob(resp.data.Base64Data);\r\n vm.IsLoadSucessfull=true;\r\n }); \r\n } \r\n }\r\n\r\n vm.ConvertBase64ToBlob = function(response)\r\n {\r\n if(response !=null){\r\n var arrrayBuffer = base64ToArrayBuffer(response); //data is the base64 encoded string\r\n var blob = new Blob([arrrayBuffer], {type: \"application/pdf\"});\r\n vm.pdfimage = URL.createObjectURL(blob);\t\t\t\t\r\n vm.IsLoadSucessfull=true;\r\n }\r\n else{\r\n vm.DocumentAvailableMessage=\"Document is not available\";\r\n vm.IsLoadSucessfull=true;\r\n }\r\n }\r\n function base64ToArrayBuffer(base64) {\r\n var ret = base64.replace('data:application/pdf;base64,','');\r\n var binaryString = atob(ret);\r\n var binaryLen = binaryString.length;\r\n var bytes = new Uint8Array(binaryLen);\r\n for (var i = 0; i < binaryLen; i++) {\r\n var ascii = binaryString.charCodeAt(i);\r\n bytes[i] = ascii;\r\n }\r\n return bytes;\r\n }\r\n\r\n vm.getFileType = function(url){\r\n if(url==null || url==\"\")\r\n {\r\n return \"others\";\r\n }\r\n else{\r\n if(url.indexOf(\".jpg\")>=0 || url.indexOf(\".jpeg\")>=0 || url.indexOf(\".png\")>=0 || url.indexOf(\".bmp\")>=0 ||url.indexOf(\".JPG\")>=0 || url.indexOf(\".JPEG\")>=0 || url.indexOf(\".PNG\")>=0 || url.indexOf(\".BMP\")>=0){\r\n return \"image\";\r\n } else if(url.indexOf(\".pdf\")>=0 || url.indexOf(\".PDF\")>=0){\r\n return \"pdf\";\r\n } else if(url.indexOf(\".xls\")>=0 || url.indexOf(\".xlsx\")>=0 ||url.indexOf(\".XLS\")>=0 || url.indexOf(\".XLSX\")>=0){\r\n return \"xls\"; \r\n } else if(url.indexOf(\".doc\")>=0 || url.indexOf(\".docx\")>=0 || url.indexOf(\".DOC\")>=0 || url.indexOf(\".DOCX\")>=0){\r\n return \"doc\";\r\n } \r\n else {\r\n return \"others\";\r\n }\r\n }\r\n }\r\n vm.WordDownloadtoView = function (page) { \r\n MainService.GetImageBlob(loggedinUser, token, page).then(function(resp) {\r\n window.location.href = resp.data;\r\n }); \r\n \r\n }\r\n vm.PDFUserModal = function(){\r\n jobAppointmentModal.close();\r\n }\r\n\r\n $scope.checkPDF = function(path){\r\n if(!path)\r\n return true;\r\n\r\n var pt = path.substr(path.length - 4);\r\n var dt = path.substr(path.length - 4);\r\n\r\n if(pt == '.pdf' || dt == '.doc'){\r\n vm.error = function(){\r\n $(\".pdf\").attr({\"target\" : \"_blank\"})\r\n }\r\n return true;\r\n }\r\n }\r\n\r\n vm.InsuranceImg=\"\";\r\n vm.InsuranceimageServices = function(img){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.InsuranceImg = 'assets/images/patterns/photo1.png';\r\n }\r\n else{\r\n vm.InsuranceImg = resp.data;\r\n }\r\n console.log(vm.InsuranceImg);\r\n }, function() {\r\n vm.InsuranceImg = 'assets/images/patterns/photo1.png';\r\n });\r\n \r\n }\r\n\r\n vm.VerificationCertimageServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.VerificationCertprofileImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else{\r\n vm.VerificationCertprofileImg[index] = resp.data;\r\n } \r\n }, function() {\r\n vm.VerificationCertprofileImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n }); \r\n }\r\n vm.DocumentimageServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.DocumentprofileImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else{\r\n vm.DocumentprofileImg[index] = resp.data;\r\n }\r\n }, function() {\r\n vm.DocumentprofileImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n });\r\n \r\n }\r\n \r\n vm.DocumentimagebackServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.DocumentbackImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else{\r\n vm.DocumentbackImg[index] = resp.data;\r\n }\r\n }, function() {\r\n vm.DocumentbackImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n });\r\n \r\n }\r\n\r\n vm.CertificateimageServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.CertificateImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else{\r\n vm.CertificateImg[index] = resp.data;\r\n }\r\n }, function() {\r\n vm.CertificateImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n });\r\n \r\n }\r\n\r\n vm.CertimageServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.CertprofileImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else{\r\n vm.CertprofileImg[index] = resp.data;\r\n } \r\n }, function() {\r\n vm.CertprofileImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n }); \r\n }\r\n\r\n vm.CriminalVerificationServices = function(img){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.CriminalVerificationbase64 = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else{\r\n vm.CriminalVerificationbase64 = resp.data;\r\n } \r\n }, function() {\r\n vm.CriminalVerificationbase64 = 'assets/images/patterns/image_placeholder.png';\r\n }); \r\n }\r\n\r\n vm.closeTProfile = function(){\r\n vm.userId = $stateParams.UserId;\r\n vm.Get360ProfileData();\r\n }\r\n\r\n vm.EditVTeam = function(RegistrationNo){\r\n $localStorage.EditVendorTeam = 'vendorteam';\r\n $localStorage.VendorId=vm.vendorId;\r\n $state.go('index.ActiveUserUpdate', {\r\n RegistrationNo: RegistrationNo\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.Get360VendorTeamData = function () {\r\n DashboardService.Get360VendorTeamData(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.vendorteam = resp.data;\r\n })\r\n }\r\n\r\n\r\n vm.GetToolsAndAssets = function () {\r\n DashboardService.GetToolsAndAssets(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.assetData = resp.data;\r\n vm.ResetUserFilter();\r\n })\r\n }\r\n\r\n\r\n vm.GetReviewAndRatings = function () {\r\n DashboardService.GetReviewAndRatings(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.reviewData = resp.data;\r\n vm.users.InstallationratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.InstallationService_Avrage));\r\n vm.users.InstallationblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.InstallationService_Avrage));\r\n vm.users.SafetyratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.SafetyProtocols_Avrage));\r\n vm.users.SafetyblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.SafetyProtocols_Avrage));\r\n vm.users.VisitratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.VisitonTime_Avrage));\r\n vm.users.VisitblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.VisitonTime_Avrage));\r\n vm.users.CourteousratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.CourteousRespectful_Avrage));\r\n vm.users.CourteousblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.CourteousRespectful_Avrage));\r\n vm.users.ProratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.ProfessionalAppearance_Avrage));\r\n vm.users.ProblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.ProfessionalAppearance_Avrage));\r\n vm.users.ServiceratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.ServiceExperience_Avrage));\r\n vm.users.ServiceblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.ServiceExperience_Avrage));\r\n vm.ResetUserFilter();\r\n })\r\n }\r\n\r\n vm.Get360SkillSummary = function () {\r\n DashboardService.Get360SkillSummary(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.skillsetData = resp.data;\r\n for(var i=0;i 1 star)\r\nvar reverseRatingTotal = Array.from(ratingTotal).reverse();\r\n\r\n// display initial rating totals\r\n// displayTotals();\r\n\r\n// use event listener to record changes to user rating\r\nstarRating.forEach(function(star) {\r\nstar.addEventListener(\"change\", recordRating);\r\n})\r\n\r\nfunction recordRating(event) {\r\n// use indexOf to identify selected user rating\r\nvar userRating = Array.from(starRating).indexOf(event.target);\r\n\r\n// define selected rating to adjust display totals\r\nvar selectedIndex;\r\n\r\nstarRating.forEach(function(item, index) {\r\n // add or remove .active class based upon selected user rating\r\n if (index < userRating + 1) {\r\n starRating[index].classList.add(\"active\");\r\n selectedIndex = index;\r\n } else {\r\n starRating[index].classList.remove(\"active\");\r\n }\r\n\r\n displayTotals(selectedIndex);\r\n});\r\n}\r\nvm.countForStatus = 50;\r\n// display star rating totals from html custom data-\r\nfunction displayTotals(selectedIndex) {\r\nvar barChart = document.querySelectorAll(\".bar\"),\r\n displaySummary = document.querySelectorAll(\".summary\"),\r\n numRatings = 0,\r\n numRatingsValue = 0;\r\n\r\n// convert barChart HTMLCollection to array and reverse its order (5 star <-> 1 star)\r\nvar reverseBarChart = Array.from(barChart).reverse();\r\n\r\nreverseRatingTotal.forEach(function(total, index) {\r\n if (index == selectedIndex) {\r\n // add selected rating to display total\r\n total.innerHTML = (parseInt(total.getAttribute(\"data-rating-count\")) + 1);\r\n // adjust selected bar width\r\n reverseBarChart[index].style.width = (((parseInt(total.getAttribute(\"data-rating-count\")) + 1) / 20) * 100) + \"%\";\r\n } else {\r\n // display unselected totals\r\n total.innerHTML = total.getAttribute(\"data-rating-count\");\r\n // adjust unselected bar widths\r\n reverseBarChart[index].style.width = ((total.getAttribute(\"data-rating-count\") / 20) * 100) + \"%\";\r\n }\r\n // count total number and value of ratings\r\n numRatings += parseInt(total.innerHTML);\r\n numRatingsValue += (parseInt(total.innerHTML) * (index + 1));\r\n});\r\n\r\n// display rating average and total\r\nratingsAverage = (numRatingsValue / numRatings).toFixed(2);\r\n// displaySummary[0].innerHTML = ratingsAverage + \" average based on \" + numRatings + \" reviews.\";\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvm.callToTechnician = function () {\r\n DashboardService.callToTechnicianApi(loggedinUser, vm.userId, token).then(function (resp) {\r\n if(resp.status == 200) {\r\n vm.showSuccess(\"Success\",\"Call Initiated\")\r\n }\r\n else {\r\n vm.showFailure(\"Failure\",resp.data.Message)\r\n }\r\n\r\n\r\n }, function () {\r\n //$log.log('not working');\r\n })\r\n}\r\n\r\nvm.getRatingStars = function (rating) {\r\n var stars = [];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.push(i);\r\n }\r\n }\r\n return stars;\r\n}\r\n\r\nvm.getBlankStars = function (rating) {\r\n var stars = [1, 2, 3, 4, 5];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.splice(stars.indexOf(i), 1);\r\n }\r\n }\r\n return stars;\r\n}\r\n\r\nvm.getAvgRatingStars = function (rating) {\r\n var stars = [];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.push(i);\r\n }\r\n }\r\n return stars;\r\n}\r\n\r\nvm.getAvgBlankStars = function (rating) {\r\n var stars = [1, 2, 3, 4, 5];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.splice(stars.indexOf(i), 1);\r\n }\r\n }\r\n return stars;\r\n}\r\n\r\nvm.getUserRatingStars = function (rating) {\r\n var stars = [];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.push(i);\r\n }\r\n }\r\n return stars;\r\n}\r\n\r\nvm.getUserBlankStars = function (rating) {\r\n var stars = [1, 2, 3, 4, 5];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.splice(stars.indexOf(i), 1);\r\n }\r\n }\r\n return stars;\r\n}\r\n\r\n\r\nvm.removeKycVideo = function () {\r\n vm.removeKycVideoModel = $uibModal.open({\r\n templateUrl: 'removeKycVideo.html',\r\n size:'sm',\r\n scope: $scope,\r\n reload:true\r\n }); \r\n}\r\n\r\nvm.CloseRemoveKycVideo = function(){\r\n vm.removeKycVideoModel.close();\r\n}\r\n\r\nvm.deleteVideoForKyc = function(){\r\n DashboardService.deleteVideoForKyc(loggedinUser, vm.userId, token).then(function(resp){\r\n if(resp.status == '200'){\r\n\r\n vm.showSuccess('Success', resp.data.Message);\r\n vm.CloseRemoveKycVideo();\r\n $timeout(function () {\r\n vm.Get360ProfileData();\r\n }, 2000);\r\n }\r\n else\r\n {\r\n vm.showFailure('Failed', resp.data);\r\n\r\n }\r\n })\r\n}\r\n\r\nvm.UpgradeToFV = function () {\r\n vm.UpgradeToFVModel = $uibModal.open({\r\n templateUrl: 'UpgradeToFV.html',\r\n size:'sm',\r\n scope: $scope,\r\n reload:true\r\n }); \r\n}\r\n\r\nvm.CloseUpgradeToFV = function(){\r\n vm.UpgradeToFVModel.close();\r\n}\r\n\r\nvm.UpgradeFreelancerToVendor = function(){\r\n vm.CloseUpgradeToFV();\r\n DashboardService.UpgradeFreelancerToVendor(loggedinUser, vm.userId, token).then(function(resp){\r\n if(resp.status == '200'){\r\n vm.showSuccess('Success', resp.data.Message);\r\n $timeout(function () {\r\n $state.go('index.ActiveAllUser',{reload: true }); \r\n }, 1000);\r\n }\r\n else\r\n {\r\n vm.showFailure('Failed', resp.data.Message);\r\n\r\n }\r\n })\r\n}\r\n\r\nvm.PreviousCompnyExperienceLetterServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.PCExperienceLetterbase64[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else{\r\n vm.PCExperienceLetterbase64[index] = resp.data;\r\n } \r\n }, function() {\r\n vm.PCExperienceLetterbase64[index] = 'assets/images/patterns/image_placeholder.png';\r\n }); \r\n}\r\n\r\nvm.TrainingImageServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.TrainingImagebase64[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else{\r\n vm.TrainingImagebase64[index] = resp.data;\r\n } \r\n }, function() {\r\n vm.TrainingImagebase64[index] = 'assets/images/patterns/image_placeholder.png';\r\n }); \r\n }\r\n\r\nvm.TrainingAttendanceServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.TrainingAttendancebase64[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else{\r\n vm.TrainingAttendancebase64[index] = resp.data;\r\n } \r\n }, function() {\r\n vm.TrainingAttendancebase64[index] = 'assets/images/patterns/image_placeholder.png';\r\n }); \r\n}\r\n\r\n\r\n // vm.getCustomerAccounts = function(){ \r\n // DashboardService.getCustomerAccounts(loggedinUser, token).then(function (resp) {\r\n // if (resp && resp.data) {\r\n // vm.accountList = resp.data;\r\n // }\r\n // });\r\n // }\r\n\r\n // vm.getCustomerAccounts(); \r\n\r\n // function getAllStates() {\r\n // var defered = $q.defer();\r\n // ReferService.getAllState(loggedinUser,token).then(function (resp) {\r\n // defered.resolve(resp);\r\n // }, function (error) {\r\n // defered.reject(error);\r\n // });\r\n // return defered.promise;\r\n // }\r\n\r\n // var allStatePromise = getAllStates();\r\n // allStatePromise.then(function (resp) {\r\n // vm.StateList = resp.data;\r\n \r\n // });\r\n\r\n \r\nvm.getCustomerAccounts = function(){ \r\n DashboardService.getCustomerAccounts(loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.accountList = resp.data;\r\n }\r\n });\r\n}\r\n// vm.getCustomerAccounts();\r\n\r\nvm.ResetUserFilter = function () { \r\n vm.UsersType = '';\r\n vm.PermanentState = '';\r\n vm.PermanentCity = '';\r\n vm.userskill = ''; \r\n vm.uType= ''; \r\n vm.CriminalVerified='';\r\n vm.IdVerified='';\r\n vm.PANVerified=''; \r\n vm.useraccount = ''; \r\n vm.pincode ='';\r\n vm.userNameSearch ='';\r\n vm.contactNumberSearch = '';\r\n startDate = '';\r\n endDate = '';\r\n vm.JobcountbyStatus = '';\r\n // vm.applyUserFilter();\r\n}\r\nvm.UsersFilterArray = function()\r\n {\r\n // vm.ResetUserSelection(this);\r\n uitemNames=\"\";\r\n uitemValues=\"\";\r\n\r\n if (vm.searchStatusText != \"\" && vm.searchStatusText != \"All\" && vm.searchStatusText != null){\r\n if(itemNames.length > 0 && itemValues.length > 0){\r\n itemNames = itemNames + ',Status';\r\n itemValues = itemValues + ',' + vm.searchStatusText;\r\n }else{\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText;\r\n } \r\n }\r\n\r\n if (vm.userskill) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',Skill';\r\n uitemValues = uitemValues + \",\" + vm.userskill;\r\n }\r\n else\r\n {\r\n uitemNames = 'Skill';\r\n uitemValues = vm.userskill;\r\n } \r\n }\r\n if (vm.useraccount) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',AccountName';\r\n uitemValues = uitemValues + \",\" + vm.useraccount;\r\n }\r\n else\r\n {\r\n uitemNames = 'AccountName';\r\n uitemValues = vm.useraccount;\r\n } \r\n }\r\n if (vm.pincode) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',Search';\r\n uitemValues = uitemValues + \",\" + vm.pincode;\r\n }\r\n else\r\n {\r\n uitemNames = 'Search';\r\n uitemValues = vm.pincode;\r\n } \r\n }\r\n if (vm.userNameSearch) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',Search';\r\n uitemValues = uitemValues + \",\" + vm.userNameSearch;\r\n }\r\n else\r\n {\r\n uitemNames = 'Search';\r\n uitemValues = vm.userNameSearch;\r\n } \r\n }\r\n if (vm.contactNumberSearch) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',ContactNumber';\r\n uitemValues = uitemValues + \",\" + vm.contactNumberSearch;\r\n }\r\n else\r\n {\r\n uitemNames = 'ContactNumber';\r\n uitemValues = vm.contactNumberSearch;\r\n } \r\n }\r\n \r\n if (vm.CriminalVerified == true) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',IsCriminalVerified';\r\n uitemValues = uitemValues + \",\" + '\"true\"';\r\n }\r\n else\r\n {\r\n uitemNames = 'IsCriminalVerified';\r\n uitemValues = '\"true\"';\r\n } \r\n }\r\n if (vm.IdVerified == true) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',IsAdharVerified';\r\n uitemValues = uitemValues + \",\" + '\"true\"';\r\n }\r\n else\r\n {\r\n uitemNames = 'IsAdharVerified';\r\n uitemValues = '\"true\"';\r\n } \r\n }\r\n if (vm.PANVerified == true) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',IsPanVerified';\r\n uitemValues = uitemValues + \",\" + '\"true\"';\r\n }\r\n else\r\n {\r\n uitemNames = 'IsPanVerified';\r\n uitemValues = '\"true\"';\r\n } \r\n }\r\n if (vm.PermanentState) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',State';\r\n uitemValues = uitemValues + \",\" + vm.PermanentState;\r\n }\r\n else\r\n {\r\n uitemNames = 'State';\r\n uitemValues = vm.PermanentState;\r\n } \r\n }\r\n \r\n if(vm.JobcountbyStatus)\r\n {\r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',Status';\r\n uitemValues = uitemValues + \",\" + vm.JobcountbyStatus;\r\n }\r\n else\r\n {\r\n uitemNames = 'Status';\r\n uitemValues = vm.JobcountbyStatus;\r\n }\r\n }\r\n if (vm.PermanentState && vm.PermanentCity) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',CurrentCity';\r\n uitemValues = uitemValues + \",\" + vm.PermanentCity;\r\n }\r\n else\r\n {\r\n uitemNames = 'CurrentCity';\r\n uitemValues = vm.UsersType;\r\n } \r\n }\r\n if (vm.UsersType) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',Role';\r\n uitemValues = uitemValues + \",\" + vm.UsersType;\r\n }\r\n else\r\n {\r\n uitemNames = 'Role';\r\n uitemValues = vm.UsersType;\r\n } \r\n } \r\n\r\n if(vm.UsersType==\"Freelancer\")\r\n {\r\n vm.uType=\"Freelancer\";\r\n }\r\n else if(vm.UsersType==\"Freelancer Vendor\")\r\n {\r\n vm.uType=\"Freelancer\";\r\n } \r\n else if(vm.UsersType==\"Freelancer Team\")\r\n {\r\n vm.uType=\"Fixed\";\r\n }\r\n else \r\n {\r\n vm.uType=\"\";\r\n vm.UsersType = '';\r\n } \r\n\r\n }\r\n\r\n\r\nvm.UserByFiltersList=[];\r\nvm.Get360WorkSummary = function () {\r\n DashboardService.Get360WorkSummary(loggedinUser, token,vm.userId, uitemNames, uitemValues, uPageIndex, uPageSize, startDate, endDate,vm.OrderBy,vm.sorttype).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.statusCount = resp.data;\r\n vm.UserByFiltersList = resp.data.workSummaryData;\r\n $scope.totalUsers = resp.data.WorkSummaryTotalCount;\r\n // preprocessData(vm.UserByFiltersList);\r\n if(vm.UserByFiltersList.length < vm.userPageListCount)\r\n vm.userListLength = $scope.totalUsers;\r\n else\r\n vm.userListLength = uPageIndex * vm.userPageListCount;\r\n if(uPageIndex==1)\r\n vm.upageindexCount = 1;\r\n else\r\n vm.upageindexCount = (((uPageIndex-1) * vm.userPageListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n}\r\nvm.UsersFilterArray(); \r\n// vm.Get360WorkSummary();\r\n\r\n$scope.totalUsers = 0;\r\n$scope.usersPerPage = vm.userPageListCount;\r\n $scope.Userpagination = {\r\n current: 1\r\n };\r\n\r\n //left show page 10 20 30\r\n vm.changeUserPageListCount = function() { \r\n $scope.usersPerPage = vm.userPageListCount;\r\n uPageSize = $scope.usersPerPage;\r\n $scope.UserTablePageChanged($scope.Userpagination.current);\r\n\r\nuPageIndex=$scope.Userpagination.current;\r\n$scope.UserTablePageChanged = function(newPage) { \r\n uPageIndex = newPage;\r\n vm.UsersFilterArray(); \r\n vm.Get360WorkSummary(loggedinUser, token,vm.userId, uitemNames, uitemValues, uPageIndex, uPageSize, startDate, endDate,vm.OrderBy,vm.sorttype);\r\n\r\n};\r\n}\r\n \r\n uPageIndex=$scope.Userpagination.current;\r\n $scope.UserTablePageChanged = function(newPage) { \r\n uPageIndex = newPage;\r\n if(uitemNames != 'Search')\r\n {\r\n vm.UsersFilterArray();\r\n }\r\n \r\n vm.Get360WorkSummary(loggedinUser, token,vm.userId, uitemNames, uitemValues, uPageIndex, uPageSize, startDate, endDate,vm.OrderBy,vm.sorttype);\r\n\r\n };\r\nvm.applyUserFilter=function()\r\n { \r\n vm.UsersFilterArray(); \r\n \r\n uPageIndex=1;\r\n $scope.Userpagination = {\r\n current: 1\r\n }; \r\n vm.Get360WorkSummary(loggedinUser, token,vm.userId, uitemNames, uitemValues, uPageIndex, uPageSize, startDate, endDate,vm.OrderBy,vm.sorttype);\r\n\r\n\r\n }\r\n vm.SubmitFilter = function () { \r\n\r\n $scope.Userpagination = {};\r\n vm.UsersFilterArray();\r\n uPageIndex=1;\r\n $scope.Userpagination = {\r\n current: 1\r\n }; \r\n vm.Get360WorkSummary(loggedinUser, token,vm.userId, uitemNames, uitemValues, uPageIndex, uPageSize, startDate, endDate,vm.OrderBy,vm.sorttype);\r\n }\r\n vm.filterStatusForJObs = function(status)\r\n {\r\n vm.JobcountbyStatus=status;\r\n vm.UsersFilterArray(); \r\n PageIndex=1;\r\n vm.Get360WorkSummary(loggedinUser, token,vm.userId, uitemNames, uitemValues, uPageIndex, uPageSize, startDate, endDate,vm.OrderBy,vm.sorttype); \r\n }\r\n\r\n // vm.loadAllSkills = function(){ \r\n // DashboardService.GetAllSkills(loggedinUser, token).then(function (resp) {\r\n // vm.skillsWithPipe = '';\r\n // if (resp && resp.data) {\r\n // vm.skillData = resp.data;\r\n // if(vm.skillData && vm.skillData.length>0){\r\n // angular.forEach(vm.skillData, function(s){\r\n // vm.skillsWithPipe += s.SkillName+\"|\";\r\n // });\r\n // vm.skillsWithPipe = vm.skillsWithPipe.length>0\r\n // ? vm.skillsWithPipe.substring(0,vm.skillsWithPipe.length-1) : \"\";\r\n // }\r\n // }\r\n // });\r\n // }\r\n // vm.loadAllSkills();\r\n\r\n vm.FinanceFilterArray = function()\r\n {\r\n uitemNames=\"\";\r\n uitemValues=\"\";\r\n\r\n if (vm.userskill) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',Skill';\r\n uitemValues = uitemValues + \",\" + vm.userskill;\r\n }\r\n else\r\n {\r\n uitemNames = 'Skill';\r\n uitemValues = vm.userskill;\r\n } \r\n }\r\n if (vm.useraccount) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',AccountName';\r\n uitemValues = uitemValues + \",\" + vm.useraccount;\r\n }\r\n else\r\n {\r\n uitemNames = 'AccountName';\r\n uitemValues = vm.useraccount;\r\n } \r\n }\r\n if (vm.statusFin) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',status';\r\n uitemValues = uitemValues + \",\" + vm.statusFin;\r\n }\r\n else\r\n {\r\n uitemNames = 'status';\r\n uitemValues = vm.statusFin;\r\n } \r\n }\r\n if (vm.userNameSearch) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',Search';\r\n uitemValues = uitemValues + \",\" + vm.userNameSearch;\r\n }\r\n else\r\n {\r\n uitemNames = 'Search';\r\n uitemValues = vm.userNameSearch;\r\n } \r\n }\r\n if (vm.contactNumberSearch) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',ContactNumber';\r\n uitemValues = uitemValues + \",\" + vm.contactNumberSearch;\r\n }\r\n else\r\n {\r\n uitemNames = 'ContactNumber';\r\n uitemValues = vm.contactNumberSearch;\r\n } \r\n }\r\n \r\n if (vm.CriminalVerified == true) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',IsCriminalVerified';\r\n uitemValues = uitemValues + \",\" + '\"true\"';\r\n }\r\n else\r\n {\r\n uitemNames = 'IsCriminalVerified';\r\n uitemValues = '\"true\"';\r\n } \r\n }\r\n if (vm.IdVerified == true) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',IsAdharVerified';\r\n uitemValues = uitemValues + \",\" + '\"true\"';\r\n }\r\n else\r\n {\r\n uitemNames = 'IsAdharVerified';\r\n uitemValues = '\"true\"';\r\n } \r\n }\r\n if (vm.PANVerified == true) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',IsPanVerified';\r\n uitemValues = uitemValues + \",\" + '\"true\"';\r\n }\r\n else\r\n {\r\n uitemNames = 'IsPanVerified';\r\n uitemValues = '\"true\"';\r\n } \r\n }\r\n if (vm.PermanentState) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',State';\r\n uitemValues = uitemValues + \",\" + vm.PermanentState;\r\n }\r\n else\r\n {\r\n uitemNames = 'State';\r\n uitemValues = vm.PermanentState;\r\n } \r\n }\r\n if (vm.PermanentState && vm.PermanentCity) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',CurrentCity';\r\n uitemValues = uitemValues + \",\" + vm.PermanentCity;\r\n }\r\n else\r\n {\r\n uitemNames = 'CurrentCity';\r\n uitemValues = vm.UsersType;\r\n } \r\n }\r\n if (vm.UsersType) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',Role';\r\n uitemValues = uitemValues + \",\" + vm.UsersType;\r\n }\r\n else\r\n {\r\n uitemNames = 'Role';\r\n uitemValues = vm.UsersType;\r\n } \r\n } \r\n\r\n if(vm.UsersType==\"Freelancer\")\r\n {\r\n vm.uType=\"Freelancer\";\r\n }\r\n else if(vm.UsersType==\"Freelancer Vendor\")\r\n {\r\n vm.uType=\"Freelancer\";\r\n } \r\n else if(vm.UsersType==\"Freelancer Team\")\r\n {\r\n vm.uType=\"Fixed\";\r\n }\r\n else \r\n {\r\n vm.uType=\"\";\r\n vm.UsersType = '';\r\n } \r\n\r\n }\r\n\r\n\r\n vm.ExternalUpload = function () {\r\n var newdata = {};\r\n newdata = {\r\n \"UserId\": vm.userId,\r\n \"Type\": \"\",\r\n \"skillName\": \"\"\r\n }\r\n DashboardService.UploadExternalVideoList(newdata, loggedinUser, token).then(function (resp) {\r\n vm.UploadVideoExternal = resp.data;\r\n });\r\n }\r\n\r\n vm.ReTestForSkill = function (skill) {\r\n var data = {};\r\n data = {\r\n \"UserId\": vm.userId,\r\n \"Skill\": skill \r\n }\r\n OnBoardingFlowService.ReTestForSkill(data, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n });\r\n }\r\n\r\n\r\nvm.FinanceFiltersList=[];\r\nvm.GetFinancialSummary = function () {\r\n \r\n DashboardService.GetFinancialSummary(loggedinUser, token,vm.userId, uitemNames, uitemValues, fPageIndex, fPageSize, startDate, endDate).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.paymentCount = resp.data.paymentsSummary;\r\n vm.FinanceFiltersList = resp.data.financialSummary360.financialLPSummaryList;\r\n $scope.totalFinList = resp.data.financialSummary360.count;\r\n if(vm.FinanceFiltersList.length < vm.financePageListCount)\r\n vm.financeListLength = $scope.totalFinList;\r\n else\r\n vm.financeListLength = fPageIndex * vm.financePageListCount;\r\n if(fPageIndex==1)\r\n vm.fpageindexCount = 1;\r\n else\r\n vm.fpageindexCount = (((fPageIndex-1) * vm.financePageListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n vm.ResetUserFilter();\r\n}\r\nvm.FinanceFilterArray(); \r\n// vm.GetFinancialSummary();\r\n\r\n$scope.totalFinList = 0;\r\n$scope.usersPerPage = vm.financePageListCount;\r\n $scope.Financepagination = {\r\n current: 1\r\n };\r\n\r\n //left show page 10 20 30\r\n vm.changefinancePageListCount = function() { \r\n $scope.usersPerPage = vm.financePageListCount;\r\n fPageSize = $scope.usersPerPage;\r\n $scope.FinanceTablePageChanged($scope.Financepagination.current);\r\n vm.selectAll = false;\r\n\r\n fPageIndex=$scope.Financepagination.current;\r\n $scope.FinanceTablePageChanged = function(newPage) { \r\n fPageIndex = newPage;\r\n vm.FinanceFilterArray(); \r\n vm.GetFinancialSummary(loggedinUser, token,vm.userId, uitemNames, uitemValues, fPageIndex, fPageSize, startDate, endDate,vm.OrderBy,vm.sorttype);\r\n\r\n};\r\n}\r\n \r\nfPageIndex=$scope.Financepagination.current;\r\n $scope.FinanceTablePageChanged = function(newPage) { \r\n fPageIndex = newPage;\r\n if(uitemNames != 'Search')\r\n {\r\n vm.FinanceFilterArray();\r\n }\r\n \r\n vm.GetFinancialSummary(loggedinUser, token,vm.userId, uitemNames, uitemValues, fPageIndex, fPageSize, startDate, endDate,vm.OrderBy,vm.sorttype);\r\n\r\n };\r\n vm.applyFinanceFilter=function()\r\n { \r\n vm.FinanceFilterArray(); \r\n fPageIndex=1;\r\n $scope.Financepagination = {\r\n current: 1\r\n }; \r\n vm.GetFinancialSummary(loggedinUser, token,vm.userId, uitemNames, uitemValues, fPageIndex, fPageSize, startDate, endDate,vm.OrderBy,vm.sorttype);\r\n\r\n\r\n }\r\n\r\n\r\n\r\n}\r\n});\nangular.module('inspinia').controller('CustomerProjectDetailLatestController', function ($stateParams, customerLatestService, $localStorage, $log) {\r\n var vm = this;\r\n vm.customers = [];\r\n var customerId = $stateParams.customerId;\r\n var projectName = $stateParams.projectName;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var ticketCircle = $stateParams.pocLocation;\r\n vm.ProjectId = $stateParams.projectId;\r\n vm.role = $localStorage.loggedInUser_Role;\r\n vm.projectModel = '';\r\n vm.ProjectLocationModels = '';\r\n vm.selectedLocation = '';\r\n vm.circleTicketList = '';\r\n var token = $localStorage.token;\r\n\r\n vm.GetProjectsByCustomerIdName = function () {\r\n customerLatestService.GetProjectsByCustomerIdName(loggedinUser, token, customerId, projectName).then(function (resp) {\r\n vm.projectModel = resp.data;\r\n vm.ProjectLocationModels = vm.projectModel.ProjectLocationModels[0];\r\n vm.GetLocationByProjectId();\r\n vm.GetProjectLocations();\r\n }, function (error) {\r\n //$log.log('error occured in GetProjectsByCustomerIdName');\r\n })\r\n }\r\n\r\n vm.GetProjectLocations = function () {\r\n customerLatestService.GetProjectLocations(loggedinUser, token, vm.projectModel.ProjectId, ticketCircle).then(function (resp) {\r\n vm.projectModel = resp.data;\r\n }, function (error) {\r\n //$log.log('error occured in GetProjectLocations');\r\n })\r\n }\r\n\r\n vm.GetPocLocations = function (id, cir) {\r\n customerLatestService.GetProjectLocations(loggedinUser, token, id, cir).then(function (resp) {\r\n vm.projectModel = resp.data;\r\n }, function (error) {\r\n //$log.log('error occured in GetProjectLocations');\r\n })\r\n }\r\n\r\n vm.GetLocationByProjectId = function () {\r\n customerService.GetLocationByProjectId(loggedinUser, token, vm.projectModel.ProjectId).then(function (resp) {\r\n vm.selectedLocation = resp.data;\r\n }, function (error) {\r\n //$log.log('error occured in GetProjectLocations');\r\n })\r\n }\r\n\r\n vm.GetTicketByCircleProjectName = function () {\r\n customerService.GetTicketByCircleProjectName(loggedinUser, token, ticketCircle, projectName).then(function (resp) {\r\n vm.circleTicketList = resp.data;\r\n }, function (error) {\r\n //$log.log('error occured in GetTicketByCircleProjectId');\r\n })\r\n }\r\n\r\n vm.GetProjectsByCustomerIdName();\r\n vm.GetTicketByCircleProjectName();\r\n // vm.GetProjectLocations();\r\n\r\n});\nangular.module('inspinia').service('customerLatestService',function(ApiURL, $http){\r\n\r\n \r\nthis.getAllCustomers = function(loggedInUser,token) {\r\n var url = ApiURL + '/api/Customer?reqUserId=' +loggedInUser;\r\n return $http.get(url,{\r\n headers:{ 'Content-Type' : 'application/json','Token':token,'UserId': loggedInUser }\r\n });\r\n }\r\n\r\n//http://115.124.122.225:93/CoreAPI/api/Project/sachin.rana%40innotiontech.com/tata/RFLOSTEST/GetProjectByCustomerIdName\r\nthis.GetProjectsByCustomerIdName = function(loggedInUser, token, customerId, projectName) {\r\n var url = ApiURL + '/api/Project/' +loggedInUser + '/' + customerId + '/' + projectName + '/GetProjectByCustomerIdName'\r\n return $http.get(url,{\r\n headers:{ 'Content-Type' : 'application/json', 'Token': token,'UserId': loggedInUser }\r\n });\r\n }\r\n\r\n this.GetLocationByProjectId = function(loggedinUser, token, projectId){\r\n var url = ApiURL + '/api/ProjectLocation/' + loggedinUser + '/' + projectId + '/GetProjectLocationByProjectId'\r\n return $http.get(url,{\r\n headers: {'Content-Type': 'application/json', 'Token': token,'UserId': loggedinUser}\r\n })\r\n}\r\n\r\n//http://115.124.122.225:93/CoreAPI/api/Ticket/sachin.rana%40innotiontech.com/Uttar%20Pradesh/Drive%20Test/GetByCircleProjectName\r\nthis.GetTicketByCircleProjectName = function(loggedinUser, token, circle, projectName){\r\n var url = ApiURL + '/api/Ticket/' + loggedinUser + '/' + circle + '/' + projectName + '/GetByCircleProjectName'\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json', 'Token': token,'UserId': loggedinUser}\r\n });\r\n}\r\n\r\nthis.GetProjectLocations = function(loggedinUser, token, projectId,circle){\r\n var url = ApiURL + '/api/ProjectLocation/' + loggedinUser + '/' + projectId + '/' + circle + '/GetProjectLocation'\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json', 'Token': token,'UserId': loggedinUser}\r\n });\r\n }\r\n\r\n//http://192.168.0.80/CoreAPI/api/Customer/getallcustomerswithlocpoc?reqUserId=U370000000001\r\nthis.GetAllCustomersWithLOCPOC = function(loggedinUser,token){\r\nvar url = ApiURL + '/api/Customer/getallcustomerswithlocpoc?reqUserId='+ loggedinUser;\r\nreturn $http.get(url,{\r\n headers:{'Content-Type':'application/json','Token':token,'UserId': loggedinUser}\r\n});\r\n}\r\n\r\n});\nangular.module('inspinia').controller('CustomerLatestController', function (CustomerProfileService, DTColumnBuilder, $q, $compile, ProjectCreationService, customerLatestService, ProjectService, $log, $state, $localStorage, $stateParams, $uibModal, $scope, DTOptionsBuilder, DTColumnDefBuilder,$filter) {\r\n var vm = this;\r\n vm.customers = [];\r\n var customerId = $stateParams.customerId;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n vm.role = $localStorage.loggedInUser_Role;\r\n vm.FilterSwitch = false;\r\n vm.client = 1;\r\n vm.workArea = '';\r\n var ProjectModal = {};\r\n var circleArray;\r\n vm.filteredProperties = {};\r\n var customerIndex = 0;\r\n vm.projectName = '';\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.EnableRegion = vm.getAccountConfigSetting('EnableRegion');\r\n vm.pocLocation = '';\r\n vm.customerId = '';\r\n vm.searchText = \"\";\r\n vm.dtInstance = {};\r\n vm.CustomDateformat = $localStorage.CustomDateformat;\r\n if (!loggedinUser) {\r\n $state.go('Login',{\r\n reload:true\r\n });\r\n }else{\r\n vm.exportData = function () {\r\n var blob = new Blob([document.getElementById('tab-resp').innerHTML], {\r\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\r\n });\r\n saveAs(blob, \"Report.xls\");\r\n };\r\n\r\n vm.preprocessData = function(customer){\r\n var projects = \"\";\r\n angular.forEach(customer.Projects, function(p){\r\n projects += p+\",\";\r\n });\r\n customer.allProjects = projects.length>0?projects.substring(0, projects.length-1):\"\";\r\n\r\n var locations = \"\";\r\n angular.forEach(customer.Locations, function(l){\r\n locations += l+\",\";\r\n });\r\n customer.allLocations = locations.length>0? locations.substring(0, locations.length-1):\"\";\r\n }\r\n vm.ProfileView = function (customerId) {\r\n $state.go('index.Customer_Detail_View_Latest', {\r\n customerId: customerId\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.getAllCustomer = function (loggedinUser) {\r\n customerLatestService.getAllCustomers(loggedinUser,token).then(function (resp) {\r\n vm.customers = resp.data;\r\n angular.forEach(vm.customers, function(customer){\r\n vm.preprocessData(customer);\r\n })\r\n if (vm.customers.length == 0) {\r\n vm.client = 1;\r\n }\r\n else {\r\n vm.client = 3;\r\n vm.customerInfo = vm.customers[customerIndex];\r\n }\r\n }, function (error) {\r\n //$log.log('error occured in getAllCustomer');\r\n });\r\n }\r\n vm.GetAllCustomersWithLOCPOC = function (loggedinUser) {\r\n customerLatestService.GetAllCustomersWithLOCPOC(loggedinUser,token).then(function (resp) {\r\n vm.customers = resp.data;\r\n // angular.forEach(vm.customers, function(customer){\r\n // vm.preprocessData(customer);\r\n // })\r\n // if (vm.customers.length == 0) {\r\n // vm.client = 1;\r\n // }\r\n // else {\r\n // vm.client = 3;\r\n // vm.customerInfo = vm.customers[customerIndex];\r\n // }\r\n }, function (error) {\r\n //$log.log('error occured in getAllCustomer');\r\n });\r\n }\r\n\r\n vm.getCustomerInfo = function (customerId, loggedinUser) {\r\n CustomerProfileService.getCustomerInfo(customerId, loggedinUser,token).then(function (resp) {\r\n vm.customerInfo = resp.data;\r\n vm.preprocessData(vm.customerInfo);\r\n }, function () {\r\n //$log.log('not working');\r\n });\r\n }\r\n\r\n vm.GetProjectInfo = function (projectId) {\r\n ProjectService.GetProjectByProjectId(loggedinUser, projectId, token).then(function (resp) {\r\n vm.projectModel = resp.data;\r\n }, function (error) {\r\n //$log.log('error occured in GetProjectByProjectId');\r\n });\r\n }\r\n\r\n vm.getAllCircles = function (loggedinUser) {\r\n ProjectCreationService.GetAllCircles(loggedinUser).then(function (resp) {\r\n vm.circles = resp.data;\r\n for (var index = 0; index < vm.workArea.length; index++) {\r\n circleArray.push({\r\n workArea: vm.circles\r\n });\r\n }\r\n }, function () {\r\n //$log.log('not working');\r\n });\r\n }\r\n\r\n vm.projectLocationModel = {};\r\n\r\n vm.GetAllProjects = function () {\r\n ProjectService.GetAllProjects(loggedinUser, token).then(function (resp) {\r\n vm.projects = resp.data;\r\n angular.forEach(vm.projects, function(d){\r\n if(!vm.projectLocationModel[d.CustomerId]){\r\n vm.projectLocationModel[d.CustomerId]={};\r\n }\r\n angular.forEach(d.ProjectLocationModels, function(d1){\r\n if(!vm.projectLocationModel[d.CustomerId][d1.Circle]){\r\n vm.projectLocationModel[d.CustomerId][d1.Circle]=[];\r\n }\r\n vm.projectLocationModel[d.CustomerId][d1.Circle].push({\"ProjectId\": d1.ProjectId,\r\n \"ProjectName\":d1.ProjectName,\r\n \"POC\": d1.CustomerContactRequestModel.FirstName+\" \"+d1.CustomerContactRequestModel.LastName,\r\n \"Mobile\": d1.CustomerContactRequestModel.Mobile, \"progress\":{\r\n data: [1, 5],\r\n options: {\r\n fill: [\"#1ab394\", \"#d7d7d7\"]\r\n }\r\n },\r\n \"SupervisorName\":d1.SupervisorName, \"SupervisorNumber\":d1.SupervisorNumber});\r\n }); \r\n });\r\n //$log.log(vm.projectLocationModel);\r\n }, function (error) {\r\n //$log.log('error occured GetAllProjects');\r\n });\r\n }\r\n\r\n // vm.getAllProjectsBySupervisor = function(loggedinUser){\r\n // customerService.getAllProjectsBySupervisor(loggedinUser).then(function(resp) {\r\n // vm.projects = resp.data;\r\n // }, function() {\r\n // //$log.log('not working');\r\n // });\r\n // }\r\n\r\n vm.ViewCustomer = function (pocLocation, customerId, projectName) {\r\n $state.go('index.Customer_Project_Detail', {\r\n pocLocation: pocLocation,\r\n customerId: customerId,\r\n projectName: projectName\r\n }, {\r\n reload: true,\r\n inherit: false,\r\n notify: true\r\n });\r\n }\r\n\r\n vm.ViewCustomerById = function (customerId) {\r\n $state.go('index.Customer_Project_Detail', {\r\n\r\n customerId: customerId\r\n\r\n }, {\r\n reload: true,\r\n inherit: false,\r\n notify: true\r\n });\r\n }\r\n\r\n\r\n vm.ProfileData = function (customerId) {\r\n vm.getCustomerInfo(customerId, loggedinUser);\r\n vm.client = 3;\r\n }\r\n\r\n vm.editCustomerProfile = function (customerName) {\r\n $state.go('index.CustomerEdit', {\r\n customerId: customerName\r\n });\r\n }\r\n\r\n vm.filtermodal = function () {\r\n vm.getAllCircles(loggedinUser);\r\n ProjectModal = $uibModal.open({\r\n templateUrl: 'Filter.html',\r\n backdrop: 'static',\r\n\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.CloseModal = function () {\r\n ProjectModal.close();\r\n }\r\n\r\n vm.search = function () {\r\n if (vm.ProjectCheckBox == true) {\r\n if (angular.isDefined(vm.Project)) {\r\n vm.filteredProperties.Project = vm.Project;\r\n }\r\n } if (vm.customerName == true) {\r\n if (angular.isDefined(vm.customer_name)) {\r\n vm.filteredProperties.CompanyName = vm.customer_name;\r\n }\r\n } if (vm.Capture == true) {\r\n if (angular.isDefined(vm.workArea)) {\r\n vm.filteredProperties.Locations = vm.workArea[0];\r\n }\r\n }\r\n ProjectModal.close();\r\n }\r\n // vm.getAllProjectsBySupervisor(loggedinUser);\r\n // vm.getAllCircles(loggedinUser);\r\n if (vm.EnableRegion) {\r\n vm.GetAllCustomersWithLOCPOC(loggedinUser);\r\n }else{\r\n vm.getAllCustomer(loggedinUser);\r\n vm.GetAllProjects();\r\n }\r\n \r\n\r\n vm.searchTable = function () {\r\n vm.dtInstance.DataTable.search(vm.searchText);\r\n vm.dtInstance.DataTable.search(vm.searchText).draw();\r\n };\r\n\r\n vm.dtOptions = DTOptionsBuilder.fromFnPromise(function(){\r\n var defer = $q.defer();\r\n customerLatestService.GetAllCustomersWithLOCPOC(loggedinUser,token).then(function(resp){\r\n vm.customerList = resp.data;\r\n angular.forEach(vm.customerList, function(customer){\r\n vm.preprocessData(customer);\r\n })\r\n if (vm.customerList.length == 0) {\r\n vm.client = 1;\r\n }\r\n else {\r\n vm.client = 3;\r\n vm.customerInfo = vm.customerList[customerIndex];\r\n }\r\n\r\n defer.resolve(vm.customerList);\r\n })\r\n return defer.promise;\r\n \r\n }).withDOM('<\"html5buttons\"B>lTfgitp').withPaginationType('full_numbers').withOption('order', [0,'desc']).withOption('createdRow', createdRow);\r\n \r\n function createdRow(row, data, dataIndex) {\r\n // Recompiling so we can bind Angular directive to the DT\r\n $compile(angular.element(row).contents())($scope);\r\n }\r\n\r\n vm.dtColumns = [\r\n DTColumnBuilder.newColumn(null).withTitle('Id').renderWith(function(data, type, full, meta){\r\n return ' ' + data.CustomerId + '';\r\n }),\r\n DTColumnBuilder.newColumn('CustomerName').withTitle('Name').renderWith(function(data){\r\n return ''+ data+'';\r\n }),\r\n DTColumnBuilder.newColumn('Description').withTitle('Description').notSortable(),\r\n DTColumnBuilder.newColumn('LocationsCount').withTitle('Location').notSortable(),\r\n //DTColumnBuilder.newColumn('CreatedOn').withTitle('Created On').notSortable(),\r\n DTColumnBuilder.newColumn('CreatedOn').withTitle('Created On').withOption('type', 'date').renderWith(function(data,type, full){\r\n return $filter('date')(new Date(data), vm.CustomDateformat); \r\n }),\r\n DTColumnBuilder.newColumn('UpdatedOn').withTitle('Updated On').withOption('type', 'date').renderWith(function(data,type, full){\r\n return $filter('date')(new Date(data), vm.CustomDateformat); \r\n }),\r\n // DTColumnBuilder.newColumn('UpdatedOn').withTitle('Updated On').notSortable(),\r\n \r\n // DTColumnBuilder.newColumn('ContractDate').withTitle('Contract Date').withOption('type', 'date').renderWith(function(data,type, full){\r\n // return $filter('date')(new Date(data), vm.CustomDateformat); \r\n // })\r\n ];\r\n\r\n\r\n // vm.dtOptions = DTOptionsBuilder.newOptions().withDOM(\r\n // '<\"html5buttons\"B>lTfgitp')\r\n // .withButtons([]).withPaginationType(\r\n // 'full_numbers').withOption('lengthChange', false)\r\n // .withOption('initComplete', function () {\r\n // $('.dataTables_filter input').unbind();\r\n // })\r\n // .withOption('order', [1, 'asc']);\r\n\r\n // vm.dtColumnDefs = [\r\n // DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n // // DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(5).notSortable()];\r\n \r\n vm.PieChart5 = {\r\n data: [226, 134],\r\n options: {\r\n fill: [\"#1ab394\", \"#d7d7d7\"]\r\n }\r\n };\r\n \r\n\r\n }\r\n\r\n \r\n});\nangular.module('inspinia').service('customerService',function(ApiURL, $http){\r\n\r\n \r\nthis.getAllCustomers = function(loggedInUser,token) {\r\n var url = ApiURL + '/api/Customer?reqUserId=' +loggedInUser;\r\n return $http.get(url,{\r\n headers:{ 'Content-Type' : 'application/json','Token':token,'UserId': loggedInUser }\r\n });\r\n }\r\n\r\n//http://115.124.122.225:93/CoreAPI/api/Project/sachin.rana%40innotiontech.com/tata/RFLOSTEST/GetProjectByCustomerIdName\r\nthis.GetProjectsByCustomerIdName = function(loggedInUser, token, customerId, projectName) {\r\n var url = ApiURL + '/api/Project/' +loggedInUser + '/' + customerId + '/' + projectName + '/GetProjectByCustomerIdName'\r\n return $http.get(url,{\r\n headers:{ 'Content-Type' : 'application/json', 'Token': token,'UserId': loggedInUser }\r\n });\r\n }\r\n\r\n this.GetLocationByProjectId = function(loggedinUser, token, projectId){\r\n var url = ApiURL + '/api/ProjectLocation/' + loggedinUser + '/' + projectId + '/GetProjectLocationByProjectId'\r\n return $http.get(url,{\r\n headers: {'Content-Type': 'application/json', 'Token': token,'UserId': loggedinUser}\r\n })\r\n}\r\n\r\n//http://115.124.122.225:93/CoreAPI/api/Ticket/sachin.rana%40innotiontech.com/Uttar%20Pradesh/Drive%20Test/GetByCircleProjectName\r\nthis.GetTicketByCircleProjectName = function(loggedinUser, token, circle, projectName){\r\n var url = ApiURL + '/api/Ticket/' + loggedinUser + '/' + circle + '/' + projectName + '/GetByCircleProjectName'\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json', 'Token': token,'UserId': loggedinUser}\r\n });\r\n}\r\n\r\nthis.GetProjectLocations = function(loggedinUser, token, projectId,circle){\r\n var url = ApiURL + '/api/ProjectLocation/' + loggedinUser + '/' + projectId + '/' + circle + '/GetProjectLocation'\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json', 'Token': token,'UserId': loggedinUser}\r\n });\r\n }\r\n\r\n//http://192.168.0.80/CoreAPI/api/Customer/getallcustomerswithlocpoc?reqUserId=U370000000001\r\nthis.GetAllCustomersWithLOCPOC = function(loggedinUser,token){\r\nvar url = ApiURL + '/api/Customer/getallcustomerswithlocpoc?reqUserId='+ loggedinUser;\r\nreturn $http.get(url,{\r\n headers:{'Content-Type':'application/json','Token':token,'UserId': loggedinUser}\r\n});\r\n}\r\n\r\n});\nangular.module('inspinia').controller('CustomerController', function (CustomerProfileService, $rootScope, DTColumnBuilder, $q, $compile, ProjectCreationService, customerService, ProjectService, $log, $state, $localStorage, $stateParams, $uibModal, $scope, DTOptionsBuilder, DTColumnDefBuilder) {\r\n var vm = this;\r\n vm.customers = [];\r\n $rootScope.rootScopeMessage = '';\r\n var customerId = $stateParams.customerId;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n vm.role = $localStorage.loggedInUser_Role;\r\n vm.FilterSwitch = false;\r\n vm.client = 1;\r\n vm.workArea = '';\r\n var ProjectModal = {};\r\n var circleArray;\r\n vm.filteredProperties = {};\r\n var customerIndex = 0;\r\n vm.projectName = '';\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.EnableRegion = vm.getAccountConfigSetting('EnableRegion');\r\n vm.pocLocation = '';\r\n vm.customerId = '';\r\n vm.searchText = \"\";\r\n vm.dtInstance = {};\r\n\r\n if (!loggedinUser) {\r\n $state.go('Login',{\r\n reload:true\r\n });\r\n }else{\r\n vm.exportData = function () {\r\n var blob = new Blob([document.getElementById('tab-resp').innerHTML], {\r\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\r\n });\r\n saveAs(blob, \"Report.xls\");\r\n };\r\n\r\n vm.preprocessData = function(customer){\r\n var projects = \"\";\r\n angular.forEach(customer.Projects, function(p){\r\n projects += p+\",\";\r\n });\r\n customer.allProjects = projects.length>0?projects.substring(0, projects.length-1):\"\";\r\n\r\n var locations = \"\";\r\n angular.forEach(customer.Locations, function(l){\r\n locations += l+\",\";\r\n });\r\n customer.allLocations = locations.length>0? locations.substring(0, locations.length-1):\"\";\r\n }\r\n vm.ProfileView = function (customerId) {\r\n $state.go('index.Customer_Detail_View', {\r\n customerId: customerId\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.getAllCustomer = function (loggedinUser) {\r\n customerService.getAllCustomers(loggedinUser,token).then(function (resp) {\r\n vm.customers = resp.data;\r\n angular.forEach(vm.customers, function(customer){\r\n vm.preprocessData(customer);\r\n })\r\n if (vm.customers.length == 0) {\r\n vm.client = 1;\r\n }\r\n else {\r\n vm.client = 3;\r\n vm.customerInfo = vm.customers[customerIndex];\r\n }\r\n }, function (error) {\r\n //$log.log('error occured in getAllCustomer');\r\n });\r\n }\r\n vm.GetAllCustomersWithLOCPOC = function (loggedinUser) {\r\n customerService.GetAllCustomersWithLOCPOC(loggedinUser,token).then(function (resp) {\r\n vm.customers = resp.data;\r\n // angular.forEach(vm.customers, function(customer){\r\n // vm.preprocessData(customer);\r\n // })\r\n // if (vm.customers.length == 0) {\r\n // vm.client = 1;\r\n // }\r\n // else {\r\n // vm.client = 3;\r\n // vm.customerInfo = vm.customers[customerIndex];\r\n // }\r\n }, function (error) {\r\n //$log.log('error occured in getAllCustomer');\r\n });\r\n }\r\n\r\n vm.getCustomerInfo = function (customerId, loggedinUser) {\r\n CustomerProfileService.getCustomerInfo(customerId, loggedinUser,token).then(function (resp) {\r\n vm.customerInfo = resp.data;\r\n vm.preprocessData(vm.customerInfo);\r\n }, function () {\r\n //$log.log('not working');\r\n });\r\n }\r\n\r\n vm.GetProjectInfo = function (projectId) {\r\n ProjectService.GetProjectByProjectId(loggedinUser, projectId, token).then(function (resp) {\r\n vm.projectModel = resp.data;\r\n }, function (error) {\r\n //$log.log('error occured in GetProjectByProjectId');\r\n });\r\n }\r\n\r\n vm.getAllCircles = function (loggedinUser) {\r\n ProjectCreationService.GetAllCircles(loggedinUser).then(function (resp) {\r\n vm.circles = resp.data;\r\n for (var index = 0; index < vm.workArea.length; index++) {\r\n circleArray.push({\r\n workArea: vm.circles\r\n });\r\n }\r\n }, function () {\r\n //$log.log('not working');\r\n });\r\n }\r\n\r\n vm.projectLocationModel = {};\r\n\r\n vm.GetAllProjects = function () {\r\n ProjectService.GetAllProjects(loggedinUser, token).then(function (resp) {\r\n vm.projects = resp.data;\r\n angular.forEach(vm.projects, function(d){\r\n if(!vm.projectLocationModel[d.CustomerId]){\r\n vm.projectLocationModel[d.CustomerId]={};\r\n }\r\n angular.forEach(d.ProjectLocationModels, function(d1){\r\n if(!vm.projectLocationModel[d.CustomerId][d1.Circle]){\r\n vm.projectLocationModel[d.CustomerId][d1.Circle]=[];\r\n }\r\n vm.projectLocationModel[d.CustomerId][d1.Circle].push({\"ProjectId\": d1.ProjectId,\r\n \"ProjectName\":d1.ProjectName,\r\n \"POC\": d1.CustomerContactRequestModel.FirstName+\" \"+d1.CustomerContactRequestModel.LastName,\r\n \"Mobile\": d1.CustomerContactRequestModel.Mobile, \"progress\":{\r\n data: [1, 5],\r\n options: {\r\n fill: [\"#1ab394\", \"#d7d7d7\"]\r\n }\r\n },\r\n \"SupervisorName\":d1.SupervisorName, \"SupervisorNumber\":d1.SupervisorNumber});\r\n }); \r\n });\r\n //$log.log(vm.projectLocationModel);\r\n }, function (error) {\r\n //$log.log('error occured GetAllProjects');\r\n });\r\n }\r\n\r\n // vm.getAllProjectsBySupervisor = function(loggedinUser){\r\n // customerService.getAllProjectsBySupervisor(loggedinUser).then(function(resp) {\r\n // vm.projects = resp.data;\r\n // }, function() {\r\n // //$log.log('not working');\r\n // });\r\n // }\r\n\r\n vm.ViewCustomer = function (pocLocation, customerId, projectName) {\r\n $state.go('index.Customer_Project_Detail', {\r\n pocLocation: pocLocation,\r\n customerId: customerId,\r\n projectName: projectName\r\n }, {\r\n reload: true,\r\n inherit: false,\r\n notify: true\r\n });\r\n }\r\n\r\n vm.ViewCustomerById = function (customerId) {\r\n $state.go('index.Customer_Project_Detail', {\r\n\r\n customerId: customerId\r\n\r\n }, {\r\n reload: true,\r\n inherit: false,\r\n notify: true\r\n });\r\n }\r\n\r\n\r\n vm.ProfileData = function (customerId) {\r\n vm.getCustomerInfo(customerId, loggedinUser);\r\n vm.client = 3;\r\n }\r\n\r\n vm.editCustomerProfile = function (customerName) {\r\n $state.go('index.CustomerEdit', {\r\n customerId: customerName\r\n });\r\n }\r\n\r\n vm.filtermodal = function () {\r\n vm.getAllCircles(loggedinUser);\r\n ProjectModal = $uibModal.open({\r\n templateUrl: 'Filter.html',\r\n backdrop: 'static',\r\n\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.CloseModal = function () {\r\n ProjectModal.close();\r\n }\r\n\r\n vm.search = function () {\r\n if (vm.ProjectCheckBox == true) {\r\n if (angular.isDefined(vm.Project)) {\r\n vm.filteredProperties.Project = vm.Project;\r\n }\r\n } if (vm.customerName == true) {\r\n if (angular.isDefined(vm.customer_name)) {\r\n vm.filteredProperties.CompanyName = vm.customer_name;\r\n }\r\n } if (vm.Capture == true) {\r\n if (angular.isDefined(vm.workArea)) {\r\n vm.filteredProperties.Locations = vm.workArea[0];\r\n }\r\n }\r\n ProjectModal.close();\r\n }\r\n // vm.getAllProjectsBySupervisor(loggedinUser);\r\n // vm.getAllCircles(loggedinUser);\r\n if (vm.EnableRegion) {\r\n vm.GetAllCustomersWithLOCPOC(loggedinUser);\r\n }else{\r\n vm.getAllCustomer(loggedinUser);\r\n vm.GetAllProjects();\r\n }\r\n \r\n\r\n vm.searchTable = function () {\r\n vm.dtInstance.DataTable.search(vm.searchText);\r\n vm.dtInstance.DataTable.search(vm.searchText).draw();\r\n };\r\n\r\n vm.dtOptions = DTOptionsBuilder.fromFnPromise(function(){\r\n var defer = $q.defer();\r\n customerService.GetAllCustomersWithLOCPOC(loggedinUser,token).then(function(resp){\r\n vm.customerList = resp.data;\r\n angular.forEach(vm.customerList, function(customer){\r\n vm.preprocessData(customer);\r\n })\r\n if (vm.customerList.length == 0) {\r\n vm.client = 1;\r\n }\r\n else {\r\n vm.client = 3;\r\n vm.customerInfo = vm.customerList[customerIndex];\r\n }\r\n\r\n defer.resolve(vm.customerList);\r\n })\r\n return defer.promise;\r\n \r\n }).withDOM('<\"html5buttons\"B>lTfgitp').withPaginationType('full_numbers').withOption('order', [0,'desc']).withOption('createdRow', createdRow);\r\n \r\n function createdRow(row, data, dataIndex) {\r\n // Recompiling so we can bind Angular directive to the DT\r\n $compile(angular.element(row).contents())($scope);\r\n }\r\n\r\n vm.dtColumns = [\r\n DTColumnBuilder.newColumn(null).withTitle('Id').renderWith(function(data, type, full, meta){\r\n return ' ' + data.CustomerId + '';\r\n }),\r\n DTColumnBuilder.newColumn('CustomerName').withTitle('Name').renderWith(function(data){\r\n return ''+ data+'';\r\n }),\r\n DTColumnBuilder.newColumn('Description').withTitle('Description').notSortable(),\r\n DTColumnBuilder.newColumn('LocationsCount').withTitle('Location').notSortable()\r\n \r\n ];\r\n\r\n\r\n // vm.dtOptions = DTOptionsBuilder.newOptions().withDOM(\r\n // '<\"html5buttons\"B>lTfgitp')\r\n // .withButtons([]).withPaginationType(\r\n // 'full_numbers').withOption('lengthChange', false)\r\n // .withOption('initComplete', function () {\r\n // $('.dataTables_filter input').unbind();\r\n // })\r\n // .withOption('order', [1, 'asc']);\r\n\r\n // vm.dtColumnDefs = [\r\n // DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n // // DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(5).notSortable()];\r\n \r\n vm.PieChart5 = {\r\n data: [226, 134],\r\n options: {\r\n fill: [\"#1ab394\", \"#d7d7d7\"]\r\n }\r\n };\r\n \r\n\r\n }\r\n\r\n \r\n});\nangular.module('inspinia').service('CustomerDetailViewLatestService', function (ApiURL,DashboardURL, $http) {\r\n\r\n //Get Customer Details By CustomerId With Job Count\r\n //http://192.168.0.80/CoreAPI/api/Customer/C0000000008/GetCustomerWithJobDetails?reqUserId=U370000000001\r\n\r\n this.GetCustomerIdJobDetails = function(loggedInUser,CustomerId,token){\r\n var url = ApiURL+'/api/Customer/'+ CustomerId+'/GetCustomerWithJobDetails?reqUserId='+ loggedInUser;\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json','Token':token,'UserId': loggedInUser}\r\n })\r\n }\r\n\r\n\r\n //Get Tickets By Customer ID\r\n //http://192.168.0.80/CoreAPI/api/Ticket/C0000000004/byCustomerId?reqUserId=U370000000001\r\n this.GetTicketsByCustomerId = function(loggedInUser,CustomerId,token){\r\n var url = ApiURL+'/api/Ticket/'+ CustomerId+'/byCustomerId?reqUserId='+ loggedInUser;\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json','Token':token,'UserId': loggedInUser}\r\n })\r\n }\r\n//projects api\r\n// https://product.mymobiforce.com/coreapi/api/Project/U1140000000001/C0000000002/GetProjectDetailsByCustomerId\r\n this.GetProjectsByCustomerIds = function(loggedInUser,CustomerId,token){\r\n var url = ApiURL+'/api/Project/'+ loggedInUser+'/'+ CustomerId+'/GetProjectDetailsByCustomerId';\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json','Token':token,'UserId': loggedInUser}\r\n })\r\n }\r\n\r\n//https://test.mymobiforce.com/coreapi/api/Ticket/GetTicketsbyDateRange?fromDate=2018-05-25&toDate=2018-11-14&reqUserId=U360000000001&itemNames=CustomerId%2CTemplate&itemValues=C0000000012%2CVSAT%20Troubleshooting&templateCols=Call%20Type\r\n\r\n this.GetTicketsByFilters = function(loggedInUser,itemName,itemValues,sDate,eDate,tempCol,token){\r\n var url = ApiURL+'/api/Ticket/GetTicketsbyDateRange?fromDate='+ sDate+'&toDate='+ eDate+'&reqUserId='+loggedInUser+'&itemNames='+itemName+'&itemValues='+itemValues+'&templateCols='+tempCol;\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json','Token':token,'UserId': loggedInUser}\r\n })\r\n }\r\n\r\n //Get Status Pie\r\n //https://test.mymobiforce.com/dashboardapi/api/Chart?ReqUserId=U360000000001&ChartType=Pie&Metrics=Total_Jobs&DimensionList=All_Job_Status&RollsUP=Range(%22%7C%22)&FilterKeys=CustomerId&FilterValues=C0000000016&IsData=true\r\n\r\n this.GetStatusInPie = function(token, userId, chartType, metrics,dimensionList,rollup,keys,values,IsData,success, failure){\r\n var url = DashboardURL + \"/api/Chart?ReqUserId==\"+userId+\"&ChartType=\"+chartType+\"&Metrics=\"+metrics+\"&DimensionList=\"+dimensionList+\"&RollsUP=\"+rollup+\"&FilterKeys=\"+keys+\"&FilterValues=\"+values+\"&IsData=\"+IsData;\r\n $http.get(url, {\r\n headers:{'Content-Type': 'application/json', 'Token': token,'UserId': userId}\r\n }).then(function(res){\r\n if(res && res.data){\r\n success(res.data);\r\n }\r\n }, function(error){\r\n failure(\"Failed\", \"Failed to get tat information for this ticket.\");\r\n });\r\n }\r\n this.getAllCustomerLocation = function (loggedinUser,token, itemNames,itemValues,PageIndex,PageSize) {\r\n var url = '';\r\n url = ApiURL + '/api/Customer/GetCustomerLocationWithDynaPaging?reqUserId=' + loggedinUser + '&itemNames=' + itemNames + '&itemValues=' + itemValues + '&PageIndex=' + PageIndex + '&PageSize=' + PageSize;\r\n // url = ApiURL + '/api/Ticket/GetTicketsbyDateRange?fromDate=' + startDate + '&toDate=' + endDate+ '&reqUserId=' + supervisorId + '&itemNames=' + itemNames + '&itemValues=' + itemValues+'&templateCols='+templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues + '&DateField=' + DateField;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser \r\n }\r\n });\r\n }\r\n this.getAllCustomerAsset = function (loggedinUser,token, itemNames,itemValues,PageIndex,PageSize) {\r\n var url = '';\r\n url = ApiURL + '/api/asset/GetCustomerAssetWithDynaPaging?reqUserId=' + loggedinUser + '&itemNames=' + itemNames + '&itemValues=' + itemValues + '&PageIndex=' + PageIndex + '&PageSize=' + PageSize;\r\n // url = ApiURL + '/api/Ticket/GetTicketsbyDateRange?fromDate=' + startDate + '&toDate=' + endDate+ '&reqUserId=' + supervisorId + '&itemNames=' + itemNames + '&itemValues=' + itemValues+'&templateCols='+templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues + '&DateField=' + DateField;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser \r\n }\r\n });\r\n }\r\n\r\n\r\n this.GetAllProjects = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/Project/' + loggedinUser + '/' + loggedinUser + '/GetProjectsByUserId'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json','Token':token }\r\n })\r\n }\r\n\r\n this.getAllCustomerAssetDetails = function (loggedinUser,token, itemNames,itemValues,PageIndex,PageSize) {\r\n var url = '';\r\n url = ApiURL + '/api/asset/GetCustomerAssetWithDynaPaging?reqUserId=' + loggedinUser + '&itemNames=' + itemNames + '&itemValues=' + itemValues + '&PageIndex=' + PageIndex + '&PageSize=' + PageSize;\r\n // url = ApiURL + '/api/Ticket/GetTicketsbyDateRange?fromDate=' + startDate + '&toDate=' + endDate+ '&reqUserId=' + supervisorId + '&itemNames=' + itemNames + '&itemValues=' + itemValues+'&templateCols='+templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues + '&DateField=' + DateField;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser \r\n }\r\n });\r\n }\r\n});\r\n\n \r\nangular.module('inspinia').controller('CustomerDetailViewLatestController', function ($scope,$timeout, $state,CustomerDetailViewLatestService,TeamFormCreationService , ProjectLatestService, $log, $stateParams, $localStorage, DTColumnDefBuilder, DTOptionsBuilder) {\r\n var vm = this;\r\n vm.CustomDateformat = $localStorage.CustomDateformat;\r\n var customerId = $stateParams.customerId;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n vm.customerId = $stateParams.customerId;\r\n vm.AssetId =$stateParams.AssetId; \r\n var token = $localStorage.token;\r\n vm.accountid= $localStorage.accountConfig.AccountId;\r\n vm.CustomerFullDetail = '';\r\n \r\n vm.CustomerTicketDetails=[];\r\n vm.PointOfContacts = '';\r\n vm.dtInstance1 = {};\r\n vm.dtInstance={};\r\n vm.LocationListView = true;\r\n vm.AssetListView = true;\r\n vm.Customer = '';\r\n vm.skill = '';\r\n vm.UniqueID1 = '';\r\n vm.UniqueID2 = '';\r\n vm.ROName = '';\r\n vm.permanent_state = '';\r\n vm.dtInstanceCustomer={};\r\n\r\n vm.permanent_city = '';\r\n vm.permanent_address_line1 = '';\r\n vm.permanent_address_line2 = '';\r\n vm.permanent_pincode = '';\r\n vm.projectModel = '';\r\n vm.LCustomerName='';\r\n\tvm.CustomerId='';\r\n\tvm.LCustomerLocationId='';\r\n\tvm.UniqueIdOne='';\r\n\tvm.LAssetName='';\r\n\tvm.LCategory='';\r\n\tvm.LProductName='';\r\n\tvm.LPermanentState='';\r\n\tvm.LPermanentCity='';\r\n\tvm.LPincode='';\r\n\tvm.LSiteName='';\r\n\tvm.UniqueIdTwo='';\r\n\tvm.PointOfContact='';\r\n vm.PermanentState='';\r\n vm.CLCustomerId='';\r\n\tvm.CLCustomerName='';\r\n\tvm.CLCustomerLocationId='';\r\n\tvm.CLUniqueIdOne='';\r\n\tvm.CLUniqueIdTwo='';\r\n\tvm.CLPointOfContact='';\r\n\tvm.CLPermanentState='';\r\n vm.CLPermanentCity='';\r\n vm.saveAndNewFlag = false;\r\n vm.editMode = false;\r\n vm.CustomerDetails = [];\r\n $scope.status = {\r\n isFirstOpen: true,\r\n };\r\n $scope.oneAtATime = true;\r\n vm.SiteCode='';\r\n vm.SiteName='';\r\n if (!loggedinUser || !customerId) {\r\n\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n var loggedinUserRole = $localStorage.loggedInUser_Role;\r\n vm.dtInstance = {};\r\n var creationDatefunc = $scope.$parent.$parent.main.AccountStartDate;\r\n vm.accountCreationDate = creationDatefunc();\r\n var startDate = vm.accountCreationDate;\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.pieCharts={};\r\n vm.error = {};\r\n vm.searchText = \"\";\r\n vm.showSuccess = $scope.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.main.showFailure;\r\n \r\n vm.GetCustomerDetailswithJobCount = function(){\r\n CustomerDetailViewLatestService.GetCustomerIdJobDetails(loggedinUser,customerId,token).then(function(resp){\r\n if (resp.status == 200 && resp.data) {\r\n vm.CustomerFullDetail = resp.data;\r\n vm.GetTicketsByFilters();\r\n $log.log('vm.CustomerFullDetail',vm.CustomerFullDetail);\r\n }\r\n })\r\n }\r\n vm.GetTicketsByCustomerId = function(){\r\n CustomerDetailViewLatestService.GetTicketsByCustomerId(loggedinUser,customerId,token).then(function(resp){\r\n if (resp.status == 200 && resp.data) {\r\n vm.CustomerTicketDetails = resp.data;\r\n $log.log('vm.CustomerTicketDetails',vm.CustomerTicketDetails);\r\n }\r\n })\r\n }\r\n\r\n vm.GetProjectsByCustomerId = function(){\r\n CustomerDetailViewLatestService.GetProjectsByCustomerIds(loggedinUser,customerId,token).then(function(resp){\r\n if (resp.status == 200 && resp.data) {\r\n vm.CustomerDetails = resp.data;\r\n }\r\n })\r\n }\r\n vm.GetProjectsByCustomerId();\r\n\r\n vm.ViewProject = function (pocLocation, projectId, projectName) { debugger\r\n $state.go('index.Project_Details_Latest', {\r\n pocLocation: pocLocation,\r\n projectId: projectId,\r\n projectName: projectName\r\n },\r\n {\r\n reload: true,\r\n inherit: false,\r\n notify: true\r\n\r\n });\r\n }\r\n \r\n vm.backlist = function () {\r\n\t\t\r\n\t\t $state.go('index.CustomerNewLatest',{reload: true });\r\n \r\n\t\t\r\n\t }\r\n vm.preProcessData = function(project){\r\n var skills = \"\";\r\n angular.forEach(project.ProjectLocationModels, function(l){\r\n skills += l.Circle + \",\";\r\n }); \r\n project.allLocations = skills.length>0?skills.substring(0, skills.length-1):\"\";\r\n }\r\n vm.search = function () {\r\n \r\n if (Object.keys(vm.filters).length > 0) {\r\n vm.filterOptions = {};\r\n angular.extend(vm.filterOptions, vm.filters);\r\n if(vm.filters.workArea){\r\n vm.filterOptions.ProjectLocationModels = {};\r\n vm.filterOptions.ProjectLocationModels.Circle = vm.filters.workArea[0];\r\n }\r\n } else {\r\n vm.filterOptions = {};\r\n }\r\n //$log.log(vm.filterOptions);\r\n ProjectModal.close();\r\n }\r\n\r\n vm.GetTicketsByFilters = function(){\r\n // var itemNames = 'CustomerId,Template';\r\n var itemNames = 'CustomerId';\r\n var itemValues = '';\r\n var testvalue = '';\r\n var demo ='';\r\n var skillsArray = vm.CustomerFullDetail.SkillSet.split(',');\r\n var sArray = [];\r\n angular.forEach(skillsArray,function(d){\r\n if (d) {\r\n sArray.push(d);\r\n }\r\n })\r\n if (sArray.length>1) {\r\n\r\n angular.forEach(sArray,function(da){\r\n testvalue += da+',';\r\n })\r\n demo = testvalue.toString();\r\n //itemValues = customerId +','+ testvalue;\r\n itemValues = customerId;\r\n var tempCol = 'Call Type';\r\n CustomerDetailViewLatestService.GetTicketsByFilters(loggedinUser,itemNames,itemValues,startDate,endDate,tempCol,token).then(function(resp){\r\n if (resp.status == 200 && resp.data) {\r\n vm.CustomerTicketDetails = resp.data;\r\n //$log.log('vm.CustomerTicketDetails',vm.CustomerTicketDetails);\r\n }\r\n })\r\n \r\n }else{\r\n if (sArray[0].indexOf('VSAT')>=0) {\r\n itemValues = customerId+',VSAT Troubleshooting';\r\n }else{\r\n itemValues = customerId+',LeaseLine Troubleshooting';\r\n }\r\n var tempCol = 'Call Type';\r\n CustomerDetailViewLatestService.GetTicketsByFilters(loggedinUser,itemNames,itemValues,startDate,endDate,tempCol,token).then(function(resp){\r\n if (resp.status == 200 && resp.data) {\r\n vm.CustomerTicketDetails = resp.data;\r\n //$log.log('vm.CustomerTicketDetails',vm.CustomerTicketDetails);\r\n }\r\n })\r\n \r\n \r\n }\r\n \r\n }\r\n\r\n vm.GetPointOfContactInfo = function(locationId){\r\n if (vm.CustomerFullDetail && vm.CustomerFullDetail.CustomerLocationModels) {\r\n for (var i = 0; i < vm.CustomerFullDetail.CustomerLocationModels.length; i++) {\r\n var model = vm.CustomerFullDetail.CustomerLocationModels[i]\r\n if (model.CustomerLocationId == locationId) {\r\n vm.PointOfContacts = model.CustomerLocationContactModels;\r\n vm.pocview = true;\r\n break;\r\n }\r\n }\r\n\r\n \r\n }\r\n }\r\n\r\n vm.GetCustomerDetailswithJobCount();\r\n //vm.GetTicketsByCustomerId();\r\n //vm.GetTicketsByFilters();\r\n\r\n vm.GetStatusInPie = function(chart){\r\n //https://test.mymobiforce.com/dashboardapi/api/Chart?ReqUserId=U360000000001&ChartType=Pie&Metrics=Total_Jobs&DimensionList=All_Job_Status&RollsUP=Range(%22%7C%22)&FilterKeys=CustomerId&FilterValues=C0000000016&IsData=true\r\n if (chart == 'Status') {\r\n var chartType = 'Pie';\r\n var metrics = 'helpdesk_total_jobs';\r\n var dimensionList = 'All_Job_Status';\r\n }else if(chart=='SLA'){\r\n var chartType = 'Metrics';\r\n var metrics = 'SLA_Met,SLA_Violated';\r\n var dimensionList = '';\r\n }\r\n \r\n var rollup ='';\r\n var filterKeys = 'CustomerId';\r\n var filterValues = customerId;\r\n var isData = false;\r\n CustomerDetailViewLatestService.GetStatusInPie(token, loggedinUser, chartType,metrics,dimensionList,rollup,filterKeys,filterValues,isData, function(data){\r\n if (chart == 'Status') {\r\n vm.pieCharts['Status'] = {};\r\n vm.pieCharts['Status'].value = data;\r\n }else{\r\n vm.pieCharts['SLA'] = {};\r\n var SlaData = [];\r\n \r\n angular.forEach(data, function(d){\r\n if (d) {\r\n var metrcsdata ={};\r\n metrcsdata.y = d.Value;\r\n metrcsdata.name = d.DisplayName;\r\n\r\n }\r\n SlaData.push(metrcsdata);\r\n })\r\n console.log('SLADATA',SlaData);\r\n vm.pieCharts['SLA'].value = SlaData;\r\n }\r\n \r\n \r\n // $log.log('vm.pieCharts[]',data);\r\n $timeout(function(){\r\n vm.createDoughnutChart(chart,'Status chart(in hrs)');\r\n },1000)\r\n \r\n \r\n }, vm.showFailure);\r\n }\r\nvm.GetStatusInPie('Status');\r\nvm.GetStatusInPie('SLA');\r\n\r\n\r\nvm.Location_Edit=[];\r\nvm.Location_Edit = function (CustomerLocationId) {\r\n vm.Location_EditModal=CustomerLocationId;\r\n\r\n \r\n vm.selectedCountry = null;\r\n //get country of user\r\n\r\n vm.getCountry = function () {\r\n TeamFormCreationService.getCountry(loggedinUser).then(function (resp) {\r\n if(resp.status == 200){\r\n if(resp.data && resp.data.values.length>0){\r\n vm.countrylist = resp.data.values;\r\n // vm.selectedCountry = vm.countrylist[0];\r\n vm.getStates();\r\n getAllCircles(loggedinUser);\r\n }\r\n } \r\n })\r\n }\r\n\r\n vm.getStates = function () {\r\n TeamFormCreationService.getStates(loggedinUser,token).then(function (resp) {\r\n if(resp.status == 200){\r\n if(resp.data && resp.data.length>0){\r\n vm.stateList = resp.data;\r\n \r\n vm.editMode = true;\r\n \r\n \r\n LocationDetailsService.getAllCustomerLocation( loggedinUser,token,'CustomerLocationId',CustomerLocationId,1,10).then(function (resp) {\r\n var userData = resp.data[0].CustomerLocations;\r\n \r\n vm.Customer = userData[0].CustomerId\r\n vm.permanent_state = userData[0].SubRegion; \r\n vm.permanent_city = userData[0].City; \r\n vm.permanent_address_line1 = userData[0].Address1; \r\n vm.permanent_address_line2 = userData[0].Address2; \r\n vm.permanent_pincode = userData[0].Pincode;\r\n vm.CustomerlocationId = userData[0].CustomerLocationId;\r\n vm.ROName = userData[0].ROName \r\n vm.UniqueID1 = userData[0].UniqueIdOne; \r\n vm.UniqueID2 = userData[0].UniqueIdTwo; \r\n vm.POCFirstName =userData[0].POCFirstName;\r\n vm.POCLastName = userData[0].POCLastName; \r\n vm.POCMobileNo = userData[0].POCMobileNo;\r\n vm.POCOtherNo = userData[0].POCOtherNo;\r\n vm.POCEmailId = userData[0].POCEmailId;\r\n vm.Latitude = userData[0].Latitude;\r\n vm.Longitude = userData[0].Longitude;\r\n vm.SiteCode= userData[0].SiteCode;\r\n vm.SiteName= userData[0].SiteName;\r\n \r\n vm.skill = userData[0].SkillSet;\r\n \r\n if (vm.EnableRegion) {\r\n vm.MainRegion = userData.Region;\r\n\r\n //GetSubRegionList\r\n vm.selectSubRegion(vm.MainRegion);\r\n vm.Region = userData.SubRegion;\r\n vm.selectCitySubRegion(vm.Region);\r\n vm.SubCity = userData.Locations;\r\n }else{\r\n vm.workArea = userData.Locations;\r\n }\r\n\r\n //Get Id of state by its name \r\n for (var i = 0; i < vm.stateList.length; i++) {\r\n if (vm.stateList[i] == vm.permanent_state) {\r\n vm.permanent_state = vm.stateList[i];\r\n vm.selectState(vm.permanent_state);\r\n }\r\n if (vm.stateList[i] == vm.present_state) {\r\n vm.present_state = vm.stateList[i];\r\n vm.selectStateforPresent(vm.present_state);\r\n }\r\n }\r\n\r\n vm.Location_CreationModal = $uibModal.open({\r\n templateUrl: 'Location_Creation.html',\r\n backdrop: 'static',\r\n \r\n windowClass:'schedulerModal',\r\n scope: $scope,\r\n reload:true\r\n });\r\n vm.CloseLocation_Creation = function () {\r\n vm.Location_CreationModal.close();\r\n }\r\n ///Get the workArea badges in edit mode \r\n // var circleArray = [];\r\n // for (var pin = 0; pin < vm.workArea.length; pin++) {\r\n // circleArray.push({\r\n // workArea: vm.workArea\r\n // });\r\n // }\r\n \r\n ///Check Present address is same as the Permanent Address.\r\n if ((vm.permanent_address_line1 == vm.present_address_line1) && (vm.permanent_address_line2 == vm.present_address_line2) && (vm.permanent_city == vm.present_city) &&\r\n (vm.permanent_state == vm.present_state) && (vm.permanent_pincode == vm.present_pincode)) {\r\n vm.address_option = 'Yes';\r\n } else {\r\n vm.address_option = 'No';\r\n }\r\n }, function () {\r\n\r\n });\r\n \r\n \r\n\r\n\r\n \r\n }\r\n } \r\n })\r\n }\r\n \r\n vm.getCountry();\r\n\r\n $scope.modelOptions = {\r\n getterSetter: true\r\n };\r\n\r\n \r\n\r\n}\r\n\r\n //Create Doughnut Chart\r\n vm.createDoughnutChart = function (chartId, title) {\r\n vm.showPieChart = vm.showPieChart || {};\r\n vm.tempShowPieChart = vm.tempShowPieChart || {};\r\n vm.showPieChart[chartId] = true;\r\n $timeout(function () {\r\n vm.tempShowPieChart[chartId] = false;\r\n if (vm.pieCharts[chartId] && vm.pieCharts[chartId].value) {\r\n\r\n for(var i=0; i0){\r\n vm.tempShowPieChart[chartId]=true;\r\n }\r\n }\r\n vm.showPieChart[chartId]=vm.tempShowPieChart[chartId];\r\n var chartData = {\r\n chart: {\r\n plotBackgroundColor: null,\r\n plotBorderWidth: null,\r\n plotShadow: false,\r\n type: 'pie'\r\n },\r\n colors: ['#3093d1', '#fcb631', '#9ad631', '#f34ea8', '#30bfdd', '#fc9532', '#9f4bc7', '#304ec6', '#fcd731', '#f08576', '#418842'],\r\n title: {\r\n text: ''\r\n },\r\n legend: {\r\n align: 'right',\r\n verticalAlign: 'top',\r\n layout: 'vertical',\r\n x: 20,\r\n y: 50,\r\n \r\n },\r\n tooltip: {\r\n headerFormat: ' {series.name} : {point.name}
',\r\n pointFormat: ' {point.name}: {point.y:,.0f}
',\r\n footerFormat: ' Percentage : {point.percentage:,.1f}% ', shared: true, useHTML: true\r\n //pointFormat: '{series.name}: {point.y:.1f}%'\r\n },\r\n plotOptions: {\r\n pie: {\r\n innerSize:60,\r\n depth:100,\r\n allowPointSelect: true,\r\n cursor: 'pointer',\r\n dataLabels: {\r\n enabled: false\r\n },\r\n showInLegend: true\r\n }\r\n },\r\n series: [{\r\n name: title,\r\n colorByPoint: true,\r\n data: vm.pieCharts[chartId].value\r\n }]\r\n };\r\n if(chartData && chartData.series && chartData.series.length>0 && chartData.series[0].data \r\n && chartData.series[0].data.length>0 && chartData.series[0].data[0]){\r\n chartData.series[0].data[0].sliced=true;\r\n chartData.series[0].data[0].selected=true; \r\n }\r\n var chart = new Highcharts.chart(chartId, chartData);\r\n\r\n chart.reflowNow = function () {\r\n this.containerHeight = this.options.chart.height || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'height');\r\n this.containerWidth = this.options.chart.width || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'width');\r\n this.setSize(this.containerWidth, this.containerHeight, false);\r\n this.hasUserSize = null;\r\n }\r\n } \r\n }, 1000);\r\n }\r\n \r\n vm.searchTable = function () {\r\n // vm.dtInstance1.DataTable.search(vm.searchText);\r\n vm.dtInstance1.DataTable.search(vm.searchText).draw();\r\n };\r\n // format = function(ticket){\r\n // return ''+\r\n // ''+\r\n // ''+\r\n // ''+\r\n // ''+\r\n // '
Location:'+ticket.Address1+\", \"+ticket.Address2+\", \"+ticket.City+\", \"+ticket.Circle+\", Pincode: \"+ticket.Pincode+'
';\r\n // }\r\n // vm.showLocation = function(dtInstance, $event, ticket){\r\n // var tr = angular.element($event.currentTarget).closest(\"tr\");\r\n // var row = dtInstance.DataTable.row( tr );\r\n // if ( row.child.isShown() ) {\r\n // // This row is already open - close it\r\n // row.child.hide();\r\n // tr.removeClass('shown');\r\n // } else {\r\n // // Open this row\r\n // row.child( format(ticket) ).show();\r\n // tr.addClass('shown');\r\n // }\r\n // }\r\n vm.dtOptions1 = DTOptionsBuilder.newOptions()\r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withButtons([{extend:'csv'}])\r\n .withPaginationType('full_numbers')\r\n .withOption('lengthChange', false)\r\n // .withOption('initComplete', function () {\r\n // $('.dataTables_filter input').unbind();\r\n // })\r\n .withOption('order', []);\r\n\r\n vm.dtColumnDefs1 = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(5).notSortable()\r\n // DTColumnDefBuilder.newColumnDef(6).notSortable()\r\n // DTColumnDefBuilder.newColumnDef(7).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(8).notSortable()\r\n \r\n ];\r\n\r\n vm.dtOptions = DTOptionsBuilder.newOptions()\r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withButtons([{extend:'csv'}])\r\n .withPaginationType('full_numbers')\r\n .withOption('lengthChange', false)\r\n // .withOption('initComplete', function () {\r\n // $('.dataTables_filter input').unbind();\r\n // })\r\n .withOption('order', []);\r\n\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(7).notSortable()\r\n // DTColumnDefBuilder.newColumnDef(8).notSortable()\r\n \r\n ];\r\n\r\n \r\n\r\n vm.dtOptions = DTOptionsBuilder.newOptions()\r\n .withDOM('<\"html5buttons\"B>lTfrgitp')\r\n .withButtons([{ extend: 'colvis' }])\r\n // .withButtons([{extend:'csv'}])\r\n .withOption('stateSave', true)\r\n .withOption('deferRender', true)\r\n .withPaginationType('full_numbers').withOption('lengthChange', false)\r\n .withOption('paging', false)\r\n .withOption('bInfo',false)\r\n // .withOption('initComplete', function () {\r\n // $('.dataTables_filter input').unbind();\r\n // })\r\n .withOption('order', []);\r\n \r\n vm.dtColumnDefs = [\r\n // DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(7).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(8).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(9).notSortable()\r\n \r\n \r\n ];\r\n \r\n vm.dtOptionsCustomer = DTOptionsBuilder.newOptions()\r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withButtons([{extend:'csv'}])\r\n .withPaginationType('full_numbers')\r\n .withOption('lengthChange', false)\r\n // .withOption('initComplete', function () {\r\n // $('.dataTables_filter input').unbind();\r\n // })\r\n .withOption('order', []);\r\n\r\n vm.dtColumnDefsCustomer = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(7).notSortable()\r\n // DTColumnDefBuilder.newColumnDef(8).notSortable()\r\n \r\n ];\r\n\r\n\r\n\r\n \t\r\n vm.selectedCountry = null;\r\n \r\n }\r\n vm.getCountry = function () {\r\n TeamFormCreationService.getCountry(loggedinUser).then(function (resp) {\r\n if(resp.status == 200){\r\n if(resp.data && resp.data.values.length>0){\r\n vm.countrylist = resp.data.values;\r\n // vm.selectedCountry = vm.countrylist[0];\r\n if( vm.AddressMappingCountry){\r\n vm.getStates(loggedinUser, vm.AddressMappingCountry);\r\n }\r\n getAllCircles(loggedinUser);\r\n }\r\n } \r\n })\r\n }\r\n\r\n\r\n\r\n vm.getStates = function (loggedinUser, country) {\r\n TeamFormCreationService.getStates(loggedinUser, country).then(function (resp) {\r\n if(resp.status == 200){\r\n if(resp.data && resp.data.values.length>0){\r\n vm.stateList = resp.data.values;\r\n \r\n //Get Id of state by its name \r\n for (var i = 0; i < vm.stateList.length; i++) {\r\n if (vm.stateList[i] == vm.permanent_state) {\r\n vm.permanent_state = vm.stateList[i];\r\n vm.selectState(vm.permanent_state);\r\n }\r\n if (vm.stateList[i] == vm.present_state) {\r\n vm.present_state = vm.stateList[i];\r\n vm.selectStateforPresent(vm.present_state);\r\n }\r\n }\r\n\r\n \r\n if ((vm.permanent_address_line1 == vm.present_address_line1) && (vm.permanent_address_line2 == vm.present_address_line2) && (vm.permanent_city == vm.present_city) &&\r\n (vm.permanent_state == vm.present_state) && (vm.permanent_pincode == vm.present_pincode)) {\r\n vm.address_option = 'Yes';\r\n } else {\r\n vm.address_option = 'No';\r\n }\r\n \r\n }\r\n} \r\n})\r\n }\r\nfunction getAllStates() {\r\n var defered = $q.defer();\r\n TeamFormCreationService.getStates(loggedinUser, token).then(function (resp) {\r\n defered.resolve(resp);\r\n }, function (error) {\r\n defered.reject(error);\r\n });\r\n \r\n return defered.promise;\r\n }\r\n function getAllCircles() {\r\n vm.circles = [];\r\n vm.CircleList=[];\r\n vm.MainRegionList = '';\r\n if (vm.EnableRegion) {\r\n TeamFormCreationService.GetRegion(loggedinUser,token).then(function(resp){\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length>0) {\r\n vm.MainRegionList = resp.data;\r\n $log.log('RegionList',vm.RegionList)\r\n }\r\n }\r\n })\r\n }else if (vm.LocationMapping == 'Circle') {\r\n TeamFormCreationService.GetTelecomCircle(loggedinUser,token).then(function(resp){\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.values.length>0) {\r\n vm.CircleList = resp.data.values;\r\n \r\n }\r\n }\r\n })\r\n }else{\r\n \r\n TeamFormCreationService.getStates(loggedinUser, vm.AddressMappingCountry).then(function(resp){\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.values.length>0) {\r\n vm.circles = resp.data.values;\r\n \r\n }\r\n }\r\n });\r\n }\r\n \r\n }\r\n\r\n vm.GetAllProjects = function () {\r\n vm.projects = [];\r\n ProjectLatestService.GetAllProjects1(loggedinUser, vm.createCallback(vm.projects, [function () {\r\n vm.list_width = vm.projects.length == 0 ? 12 : 8;\r\n vm.projectModel = vm.projects[0];\r\n angular.forEach(vm.projects, function(p){\r\n vm.preProcessData(p);\r\n });\r\n }]), token);\r\n}\r\n\r\nvm.GetProjectInfo = function (projectId) {\r\n ProjectLatestService.GetProjectByProjectId(projectId, loggedinUser, token, vm.createCallback(null, [function (data) {\r\n vm.projectModel = data;\r\n \r\n }]));\r\n}\r\n \r\n ///Executes when the user select the state\r\nvm.selectState = function (state) {\r\n var Getstate = state;\r\n TeamFormCreationService.getCities(loggedinUser,Getstate).then(function (resp) {\r\n vm.cityList = resp.data.values;\r\n if (!resp.data) {\r\n var cityArray = [];\r\n cityArray.push({\r\n city: state\r\n });\r\n vm.cityList = cityArray;\r\n }\r\n }, function () {\r\n \r\n });\r\n }\r\n \r\n vm.selectSubRegion = function(region){\r\n \r\n TeamFormCreationService.GetSubRegion(loggedinUser,token,region).then(function(resp){\r\n if (resp.status==200) {\r\n if (resp.data && resp.data.values.length>0) {\r\n vm.SubRegionList = resp.data.values;\r\n }\r\n }\r\n })\r\n }\r\n vm.selectCitySubRegion = function(Subregion){\r\n \r\n TeamFormCreationService.GetCityBySubRegion(loggedinUser,Subregion,token).then(function(resp){\r\n if (resp.status==200) {\r\n if (resp.data && resp.data.values.length>0) {\r\n vm.SubCityList = resp.data.values;\r\n }\r\n }\r\n })\r\n }\r\n \r\n vm.selectStateforPresent = function (state) {\r\n var Getstate = state;\r\n TeamFormCreationService.getCities(loggedinUser,Getstate).then(function (resp) {\r\n vm.presentcityList = resp.data.values;\r\n if (!resp.data) {\r\n var cityArray = [];\r\n cityArray.push({\r\n city: state\r\n });\r\n vm.cityList = cityArray;\r\n }\r\n }, function () {\r\n \r\n });\r\n }\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n});\r\n\nangular.module('inspinia').service('CustomerDetailViewService', function (ApiURL,DashboardURL, $http) {\r\n\r\n //Get Customer Details By CustomerId With Job Count\r\n //http://192.168.0.80/CoreAPI/api/Customer/C0000000008/GetCustomerWithJobDetails?reqUserId=U370000000001\r\n\r\n this.GetCustomerIdJobDetails = function(loggedInUser,CustomerId,token){\r\n var url = ApiURL+'/api/Customer/'+ CustomerId+'/GetCustomerWithJobDetails?reqUserId='+ loggedInUser;\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json','Token':token,'UserId': loggedInUser}\r\n })\r\n }\r\n\r\n\r\n //Get Tickets By Customer ID\r\n //http://192.168.0.80/CoreAPI/api/Ticket/C0000000004/byCustomerId?reqUserId=U370000000001\r\n this.GetTicketsByCustomerId = function(loggedInUser,CustomerId,token){\r\n var url = ApiURL+'/api/Ticket/'+ CustomerId+'/byCustomerId?reqUserId='+ loggedInUser;\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json','Token':token,'UserId': loggedInUser}\r\n })\r\n }\r\n\r\n//https://test.mymobiforce.com/coreapi/api/Ticket/GetTicketsbyDateRange?fromDate=2018-05-25&toDate=2018-11-14&reqUserId=U360000000001&itemNames=CustomerId%2CTemplate&itemValues=C0000000012%2CVSAT%20Troubleshooting&templateCols=Call%20Type\r\n\r\n this.GetTicketsByFilters = function(loggedInUser,itemName,itemValues,sDate,eDate,tempCol,token){\r\n var url = ApiURL+'/api/Ticket/GetTicketsbyDateRange?fromDate='+ sDate+'&toDate='+ eDate+'&reqUserId='+loggedInUser+'&itemNames='+itemName+'&itemValues='+itemValues+'&templateCols='+tempCol;\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json','Token':token,'UserId': loggedInUser}\r\n })\r\n }\r\n this.GetProjectsByCustomerIds = function(loggedInUser,CustomerId,token){ debugger\r\n var url = ApiURL+'/api/Project/'+ loggedInUser+'/'+ CustomerId+'/GetProjectDetailsByCustomerId';\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json','Token':token,'UserId': loggedInUser}\r\n })\r\n }\r\n\r\n //Get Status Pie\r\n //https://test.mymobiforce.com/dashboardapi/api/Chart?ReqUserId=U360000000001&ChartType=Pie&Metrics=Total_Jobs&DimensionList=All_Job_Status&RollsUP=Range(%22%7C%22)&FilterKeys=CustomerId&FilterValues=C0000000016&IsData=true\r\n\r\n this.GetStatusInPie = function(token, userId, chartType, metrics,dimensionList,rollup,keys,values,IsData,success, failure){\r\n var url = DashboardURL + \"/api/Chart?ReqUserId==\"+userId+\"&ChartType=\"+chartType+\"&Metrics=\"+metrics+\"&DimensionList=\"+dimensionList+\"&RollsUP=\"+rollup+\"&FilterKeys=\"+keys+\"&FilterValues=\"+values+\"&IsData=\"+IsData;\r\n $http.get(url, {\r\n headers:{'Content-Type': 'application/json', 'Token': token,'UserId': userId}\r\n }).then(function(res){\r\n if(res && res.data){\r\n success(res.data);\r\n }\r\n }, function(error){\r\n failure(\"Failed\", \"Failed to get tat information for this ticket.\");\r\n });\r\n }\r\n\r\n});\r\n\nangular.module('inspinia').controller('CustomerDetailViewController', function ($scope,$timeout, $state,CustomerDetailViewService, $log, $stateParams, $localStorage, DTColumnDefBuilder, DTOptionsBuilder) {\r\n var vm = this;\r\n var customerId = $stateParams.customerId;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n vm.CustomerFullDetail = '';\r\n vm.CustomerTicketDetails = '';\r\n vm.PointOfContacts = '';\r\n vm.dtInstance1 = {};\r\n if (!loggedinUser || !customerId) {\r\n\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n var loggedinUserRole = $localStorage.loggedInUser_Role;\r\n vm.dtInstance = {};\r\n var creationDatefunc = $scope.$parent.$parent.main.AccountStartDate;\r\n vm.accountCreationDate = creationDatefunc();\r\n var startDate = vm.accountCreationDate;\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.pieCharts={};\r\n vm.error = {};\r\n vm.searchText = \"\";\r\n vm.showSuccess = $scope.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.main.showFailure;\r\n\r\n vm.GetCustomerDetailswithJobCount = function(){\r\n CustomerDetailViewService.GetCustomerIdJobDetails(loggedinUser,customerId,token).then(function(resp){\r\n if (resp.status == 200 && resp.data) {\r\n vm.CustomerFullDetail = resp.data;\r\n vm.GetTicketsByFilters();\r\n $log.log('vm.CustomerFullDetail',vm.CustomerFullDetail);\r\n }\r\n })\r\n }\r\n vm.GetTicketsByCustomerId = function(){\r\n CustomerDetailViewService.GetTicketsByCustomerId(loggedinUser,customerId,token).then(function(resp){\r\n if (resp.status == 200 && resp.data) {\r\n vm.CustomerTicketDetails = resp.data;\r\n $log.log('vm.CustomerTicketDetails',vm.CustomerTicketDetails);\r\n }\r\n })\r\n }\r\n\r\n vm.GetTicketsByFilters = function(){\r\n // var itemNames = 'CustomerId,Template';\r\n var itemNames = 'CustomerId';\r\n var itemValues = '';\r\n var testvalue = '';\r\n var demo ='';\r\n var skillsArray = vm.CustomerFullDetail.SkillSet.split(',');\r\n var sArray = [];\r\n angular.forEach(skillsArray,function(d){\r\n if (d) {\r\n sArray.push(d);\r\n }\r\n })\r\n if (sArray.length>1) {\r\n\r\n angular.forEach(sArray,function(da){\r\n testvalue += da+',';\r\n })\r\n demo = testvalue.toString();\r\n //itemValues = customerId +','+ testvalue;\r\n itemValues = customerId;\r\n var tempCol = 'Call Type';\r\n CustomerDetailViewService.GetTicketsByFilters(loggedinUser,itemNames,itemValues,startDate,endDate,tempCol,token).then(function(resp){\r\n if (resp.status == 200 && resp.data) {\r\n vm.CustomerTicketDetails = resp.data;\r\n //$log.log('vm.CustomerTicketDetails',vm.CustomerTicketDetails);\r\n }\r\n })\r\n \r\n }else{\r\n if (sArray[0].indexOf('VSAT')>=0) {\r\n itemValues = customerId+',VSAT Troubleshooting';\r\n }else{\r\n itemValues = customerId+',LeaseLine Troubleshooting';\r\n }\r\n var tempCol = 'Call Type';\r\n CustomerDetailViewService.GetTicketsByFilters(loggedinUser,itemNames,itemValues,startDate,endDate,tempCol,token).then(function(resp){\r\n if (resp.status == 200 && resp.data) {\r\n vm.CustomerTicketDetails = resp.data;\r\n //$log.log('vm.CustomerTicketDetails',vm.CustomerTicketDetails);\r\n }\r\n })\r\n \r\n \r\n }\r\n \r\n }\r\n\r\n vm.GetPointOfContactInfo = function(locationId){\r\n if (vm.CustomerFullDetail && vm.CustomerFullDetail.CustomerLocationModels) {\r\n for (var i = 0; i < vm.CustomerFullDetail.CustomerLocationModels.length; i++) {\r\n var model = vm.CustomerFullDetail.CustomerLocationModels[i]\r\n if (model.CustomerLocationId == locationId) {\r\n vm.PointOfContacts = model.CustomerLocationContactModels;\r\n vm.pocview = true;\r\n break;\r\n }\r\n }\r\n\r\n \r\n }\r\n }\r\n\r\n vm.GetCustomerDetailswithJobCount();\r\n //vm.GetTicketsByCustomerId();\r\n //vm.GetTicketsByFilters();\r\n\r\n vm.GetStatusInPie = function(chart){\r\n //https://test.mymobiforce.com/dashboardapi/api/Chart?ReqUserId=U360000000001&ChartType=Pie&Metrics=Total_Jobs&DimensionList=All_Job_Status&RollsUP=Range(%22%7C%22)&FilterKeys=CustomerId&FilterValues=C0000000016&IsData=true\r\n if (chart == 'Status') {\r\n var chartType = 'Pie';\r\n var metrics = 'helpdesk_total_jobs';\r\n var dimensionList = 'All_Job_Status';\r\n }else if(chart=='SLA'){\r\n var chartType = 'Metrics';\r\n var metrics = 'SLA_Met,SLA_Violated';\r\n var dimensionList = '';\r\n }\r\n \r\n var rollup ='';\r\n var filterKeys = 'CustomerId';\r\n var filterValues = customerId;\r\n var isData = false;\r\n CustomerDetailViewService.GetStatusInPie(token, loggedinUser, chartType,metrics,dimensionList,rollup,filterKeys,filterValues,isData, function(data){\r\n if (chart == 'Status') {\r\n vm.pieCharts['Status'] = {};\r\n vm.pieCharts['Status'].value = data;\r\n }else{\r\n vm.pieCharts['SLA'] = {};\r\n var SlaData = [];\r\n \r\n angular.forEach(data, function(d){\r\n if (d) {\r\n var metrcsdata ={};\r\n metrcsdata.y = d.Value;\r\n metrcsdata.name = d.DisplayName;\r\n\r\n }\r\n SlaData.push(metrcsdata);\r\n })\r\n console.log('SLADATA',SlaData);\r\n vm.pieCharts['SLA'].value = SlaData;\r\n }\r\n \r\n \r\n // $log.log('vm.pieCharts[]',data);\r\n $timeout(function(){\r\n vm.createDoughnutChart(chart,'Status chart(in hrs)');\r\n },1000)\r\n \r\n \r\n }, vm.showFailure);\r\n }\r\nvm.GetStatusInPie('Status');\r\nvm.GetStatusInPie('SLA');\r\n\r\n\r\n\r\n //Create Doughnut Chart\r\n vm.createDoughnutChart = function (chartId, title) {\r\n vm.showPieChart = vm.showPieChart || {};\r\n vm.tempShowPieChart = vm.tempShowPieChart || {};\r\n vm.showPieChart[chartId] = true;\r\n $timeout(function () {\r\n vm.tempShowPieChart[chartId] = false;\r\n if (vm.pieCharts[chartId] && vm.pieCharts[chartId].value) {\r\n\r\n for(var i=0; i0){\r\n vm.tempShowPieChart[chartId]=true;\r\n }\r\n }\r\n vm.showPieChart[chartId]=vm.tempShowPieChart[chartId];\r\n var chartData = {\r\n chart: {\r\n plotBackgroundColor: null,\r\n plotBorderWidth: null,\r\n plotShadow: false,\r\n type: 'pie'\r\n },\r\n colors: ['#3093d1', '#fcb631', '#9ad631', '#f34ea8', '#30bfdd', '#fc9532', '#9f4bc7', '#304ec6', '#fcd731', '#f08576', '#418842'],\r\n title: {\r\n text: ''\r\n },\r\n legend: {\r\n align: 'right',\r\n verticalAlign: 'top',\r\n layout: 'vertical',\r\n x: 20,\r\n y: 40\r\n },\r\n tooltip: {\r\n headerFormat: ' {series.name} : {point.name}
',\r\n pointFormat: ' {point.name}: {point.y:,.0f}
',\r\n footerFormat: ' Percentage : {point.percentage:,.1f}% ', shared: true, useHTML: true\r\n //pointFormat: '{series.name}: {point.y:.1f}%'\r\n },\r\n plotOptions: {\r\n pie: {\r\n innerSize:60,\r\n depth:100,\r\n allowPointSelect: true,\r\n cursor: 'pointer',\r\n dataLabels: {\r\n enabled: false\r\n },\r\n showInLegend: true\r\n }\r\n },\r\n series: [{\r\n name: title,\r\n colorByPoint: true,\r\n data: vm.pieCharts[chartId].value\r\n }]\r\n };\r\n if(chartData && chartData.series && chartData.series.length>0 && chartData.series[0].data \r\n && chartData.series[0].data.length>0 && chartData.series[0].data[0]){\r\n chartData.series[0].data[0].sliced=true;\r\n chartData.series[0].data[0].selected=true; \r\n }\r\n var chart = new Highcharts.chart(chartId, chartData);\r\n\r\n chart.reflowNow = function () {\r\n this.containerHeight = this.options.chart.height || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'height');\r\n this.containerWidth = this.options.chart.width || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'width');\r\n this.setSize(this.containerWidth, this.containerHeight, false);\r\n this.hasUserSize = null;\r\n }\r\n } \r\n }, 1000);\r\n }\r\n \r\n vm.searchTable = function () {\r\n // vm.dtInstance1.DataTable.search(vm.searchText);\r\n vm.dtInstance1.DataTable.search(vm.searchText).draw();\r\n };\r\n // format = function(ticket){\r\n // return ''+\r\n // ''+\r\n // ''+\r\n // ''+\r\n // ''+\r\n // '
Location:'+ticket.Address1+\", \"+ticket.Address2+\", \"+ticket.City+\", \"+ticket.Circle+\", Pincode: \"+ticket.Pincode+'
';\r\n // }\r\n // vm.showLocation = function(dtInstance, $event, ticket){\r\n // var tr = angular.element($event.currentTarget).closest(\"tr\");\r\n // var row = dtInstance.DataTable.row( tr );\r\n // if ( row.child.isShown() ) {\r\n // // This row is already open - close it\r\n // row.child.hide();\r\n // tr.removeClass('shown');\r\n // } else {\r\n // // Open this row\r\n // row.child( format(ticket) ).show();\r\n // tr.addClass('shown');\r\n // }\r\n // }\r\n vm.dtOptions1 = DTOptionsBuilder.newOptions()\r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withButtons([{extend:'csv'}])\r\n .withPaginationType('full_numbers')\r\n .withOption('lengthChange', false)\r\n // .withOption('initComplete', function () {\r\n // $('.dataTables_filter input').unbind();\r\n // })\r\n .withOption('order', []);\r\n\r\n vm.dtColumnDefs1 = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(5).notSortable()\r\n // DTColumnDefBuilder.newColumnDef(6).notSortable()\r\n // DTColumnDefBuilder.newColumnDef(7).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(8).notSortable()\r\n \r\n ];\r\n\r\n vm.dtOptions = DTOptionsBuilder.newOptions()\r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withButtons([{extend:'csv'}])\r\n .withPaginationType('full_numbers')\r\n .withOption('lengthChange', false)\r\n // .withOption('initComplete', function () {\r\n // $('.dataTables_filter input').unbind();\r\n // })\r\n .withOption('order', []);\r\n\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(7).notSortable()\r\n // DTColumnDefBuilder.newColumnDef(8).notSortable()\r\n \r\n ];\r\n \r\n }\r\n});\r\n\nangular.module('inspinia').service('CustomerDetailListService', function (ApiURL,MMFCRMURL, SchedulingAPI, $window, $http,AcessoriesURL) {\r\n\r\n this.GetAllConsumerDetails = function (loggedinUser, token) {\r\n var url = MMFCRMURL + '/api/CRMConsumer/GetAllConsumerDetails';\r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('CustomerDetailListController', function (teamCardService,CustomerDetailListService, ReferService,$timeout, MainService, $rootScope, DTColumnBuilder, $compile, $q, ProjectCreationService, $scope, TeamProfileService, $stateParams, $uibModal, $localStorage, $log, $state, DTOptionsBuilder, PlanningResourseMapService, DashboardService, DTColumnDefBuilder, ImageUrl) {\r\n var vm = this;\r\n var userId = $stateParams.userId;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n $rootScope.rootScopeMessage = '';\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n } else {\r\n vm.client = 1;\r\n vm.tab = 1;\r\n var userIndex = 0;\r\n vm.searchText = \"\";\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.dtInstance = {};\r\n vm.exportData = function () {\r\n var blob = new Blob([document.getElementById('tab-1').innerHTML], {\r\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\r\n });\r\n saveAs(blob, \"Report.xls\");\r\n };\r\n\r\n vm.searchTable = function () {\r\n vm.dtInstance.DataTable.search(vm.searchText);\r\n vm.dtInstance.DataTable.search(vm.searchText).draw();\r\n };\r\n \r\n\r\n vm.dtOptions = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n CustomerDetailListService.GetAllConsumerDetails(loggedinUser, token).then(function (resp) {\r\n vm.teamLists = resp.data;\r\n if (!vm.teamLists.length) {\r\n vm.client = 1;\r\n } else {\r\n vm.client = 3;\r\n vm.userInfo = vm.teamLists[userIndex];\r\n }\r\n\r\n defer.resolve(vm.teamLists);\r\n })\r\n return defer.promise;\r\n\r\n })\r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withOption('createdRow', createdRow)\r\n .withOption('rowCallback', rowCallback);\r\n\r\n function createdRow(row, data, dataIndex) {\r\n $compile(angular.element(row).contents())($scope);\r\n }\r\n\r\n function rowCallback(nRow, aData, iDisplayIndex, iDisplayIndexFull) {\r\n $('td', nRow).unbind('click');\r\n $('td', nRow).bind('click', function () {\r\n // $scope.$apply(function () {\r\n // vm.ProfileData(aData.UserId);\r\n // });\r\n });\r\n return nRow;\r\n }\r\n \r\n\r\n vm.dtColumns = [\r\n DTColumnBuilder.newColumn(null).withTitle('Consumer ID').renderWith(function (data) {\r\n return '';\r\n }),\r\n DTColumnBuilder.newColumn(null).withTitle('Account Name').notSortable().renderWith(function (data) {\r\n return data.ConsumerFirstName + ' ' + data.ConsumerLastName;\r\n }),\r\n DTColumnBuilder.newColumn('ConsumerContact').withTitle('Contact Number\t').notSortable(),\r\n DTColumnBuilder.newColumn('ConsumerAlternateContact').withTitle('Alternate Consumer No.').notSortable(),\r\n DTColumnBuilder.newColumn('PersonalEmail').withTitle('Email').notSortable(),\r\n DTColumnBuilder.newColumn('ConsumerAccountType').withTitle('Account Type\t').notSortable(),\r\n DTColumnBuilder.newColumn('ConsumerType').withTitle('Consumer Type').notSortable(),\r\n DTColumnBuilder.newColumn(null).withTitle('Address').notSortable().renderWith(function (data) {\r\n return data.Addresses[0].strAddress1 + ', ' + data.Addresses[0].strAddress2;\r\n }),\r\n DTColumnBuilder.newColumn(null).withTitle('City').notSortable().renderWith(function (data) {\r\n return data.Addresses[0].strCity;\r\n }),\r\n DTColumnBuilder.newColumn(null).withTitle('State').notSortable().renderWith(function (data) {\r\n return data.Addresses[0].strState;\r\n }),\r\n DTColumnBuilder.newColumn(null).withTitle('PinCode').notSortable().renderWith(function (data) {\r\n return data.Addresses[0].strPostalCode;\r\n }),\r\n DTColumnBuilder.newColumn(null).withTitle('Address Type').notSortable().renderWith(function (data) {\r\n return data.Addresses[0].strAddressType;\r\n }),\r\n \r\n ]; \r\n vm.Open360ForConsumer = function(customerNo){\r\n $state.go('index.CustomerCRM360',{\r\n ContactNo : customerNo\r\n }, { reload: true });\r\n }\r\n\r\n }\r\n});\nangular.module('inspinia').service('CustomerCRMListService', function (MMFCRMURL,ApiURL, $http, $localStorage) {\r\n\r\n this.GetUserAllSalesOrderDetailforWeb = function (loggedinUser, token, orderStatus, SearchText, category, brandName, productGroup, orderBy, sortType, fPageIndex, fPageSize, startDate, endDate, dateField) {\r\n var url = MMFCRMURL + '/api/ZohoInventoryController/GetUserAllSalesOrderDetailforWeb?OrderStatus=' + orderStatus + '&startDate=' + startDate + '&EndDate=' + endDate + '&SearchText=' + SearchText + '&dateField=' + dateField + '&category=' + category + '&BrandName=' + brandName + '&ProductGroup=' + productGroup + '&OrderBy=' + orderBy + '&SortType=' + sortType + '&PageSize=' + fPageSize + '&PageIndex=' + fPageIndex;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAllTicketsForContact = function (loggedinUser, token, contactNo) {\r\n var url = MMFCRMURL + '/api/CRMConsumer/GetAllTicketsForContact?Contact=' + contactNo;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n this.getAllCity = function (userId, state,token) {\r\n var url = ApiURL + '/api/AddressMaster/GetAllCities?State='+state;\r\n return $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token':token, 'UserId':userId }\r\n });\r\n}\r\n\r\n this.GetAllAreaByStateCity = function (loggedinUser, token, state, city) {\r\n var url = ApiURL + '/api/AddressMaster/GetAllAreaByStateCity?State=' + state +'&City=' + city;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAllPincodeBYAreaStateCity = function (loggedinUser, token,state, city, area) {\r\n var url = ApiURL + '/api/AddressMaster/GetAllPincodeBYAreaStateCity?State=' + state +'&City=' + city + '&Area=' + area;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.CreateConsumer = function (data, loggedinUser, token) {\r\n var url = MMFCRMURL + '/api/CRMConsumer/CreateConsumer';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetServiceableArea = function (data, loggedinUser, token) {\r\n var url = MMFCRMURL + '/api/CRMConsumer/GetServiceableArea';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.CreateCase = function (data, loggedinUser, token) {\r\n var url = MMFCRMURL + '/api/CRMConsumer/CreateTicket';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetWarrantyDetailsForProduct = function (data, loggedinUser, token) {\r\n var url = MMFCRMURL + '/api/CRMConsumer/GetWarrantyDetailsForProduct';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetConsumerDetails = function (loggedinUser, token, contactNo) {\r\n var url = MMFCRMURL + '/api/CRMConsumer/GetConsumerDetails?ConsumerContact=' + contactNo;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetConsumerDetailsByTicket = function (loggedinUser, token, ticketId) {\r\n var url = MMFCRMURL + '/api/CRMConsumer/GetConsumerDetailsByTicket?TicketId=' + ticketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAllBrands = function (loggedinUser, token) {\r\n var url = MMFCRMURL + '/api/CRMBrandProductMaster/GetAllBrands';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetBrandProductGroup = function (data, loggedinUser, token) {\r\n var url = MMFCRMURL + '/api/CRMBrandProductMaster/GetBrandProductGroup';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAllProductsForBrand = function (data, loggedinUser, token) {\r\n var url = MMFCRMURL + '/api/CRMBrandProductMaster/GetAllProductsForBrand';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetDefectTypeList = function (data, loggedinUser, token) {\r\n var url = MMFCRMURL + '/api/CRMBrandProductMaster/GetDefectTypeList';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAllActiveProductModelMaster = function (ProductName, brand,loggedinUser, token) {\r\n var url = MMFCRMURL + '/api/CRMBrandProductMaster/GetAllActiveProductModelMaster?productName=' + ProductName + '&brandName=' + brand;\r\n\t\treturn $http.get(url, {\r\n\t\t\theaders: { 'Token': token, 'UserId': loggedinUser }\r\n\t\t});\r\n\t}\r\n\r\n this.GetCallTypeList = function (data,loggedinUser, token) {\r\n var url = MMFCRMURL + '/api/CRMBrandProductMaster/GetCallTypeList';\r\n\t\treturn $http.put(url, data,{\r\n\t\t\theaders: { 'Token': token, 'UserId': loggedinUser }\r\n\t\t});\r\n\t}\r\n\r\n\r\n this.GetAddressFromPinCode = function (data, loggedinUser, token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetByPincode?pincode=' + data;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n this.GenerateConsumerInvoice = function (ticketId,loggedinUser, token) { \r\n var url = ApiURL + '/api/PDFReportMapper/GenerateConsumerInvoiceFromMobile?ticketId=' + ticketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n this.downloadOnSiteReport = function ( loggedinUser, token,TicketId) { \r\n var url = ApiURL + '/api/Report/GeneratePdfOnSiteReport?TicketId=' + TicketId;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n }\r\n \r\n });\r\n }\r\n\r\n this.SendHappyCodeSMS = function (TicketId,accountId,loggedinUser, token) { \r\n var url = ApiURL + '/api/Ticket/SendHappyCodeSMS?TicketId=' + TicketId + '&accountId=' + accountId;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n }\r\n \r\n });\r\n }\r\n this.ReopenCancelCall = function (ticketId, loggedInUserId, token) {\r\n var url = MMFCRMURL + '/api/CRMConsumer/ReopenCancelCall?TicketId=' + ticketId;\r\n return $http.put(url,null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('CustomerCRMListController', function (CustomerCRMListService, CustomerCRM360Service, CentralHDTicketsViewService, ReferService, $resource, toaster, $filter, $compile, $q, $state, $localStorage, $scope, DTOptionsBuilder, DTColumnBuilder, $uibModal, $timeout) {\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvm.IsAppointmentOTPNeeded = $localStorage.accountConfig.IsAppointmentOTPNeeded;\r\n\t\tvm.AccountId = $localStorage.accountConfig.AccountId;\r\n\t\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\t\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\t\tvm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\t\tvm.pageListCounts = [10, 20, 30, 50];\r\n\t\tvar PageIndex = 1;\r\n\t\tvar PageSize = 10;\r\n\t\tvm.IsConsumerFound = false;\r\n\t\tvm.consumerTitle = 'Mr.';\r\n\t\tvm.consumerFirstName = '';\r\n\t\tvm.consumerLastName = '';\r\n\t\tvm.consumerArea = '';\r\n\t\tvm.selectedOption = 'pincode'; \r\n\t\tif (!$localStorage.consumerContact) {\r\n\t\t\t// If not, initialize it to an empty string\r\n\t\t\t$localStorage.consumerContact = '';\r\n\t\t}\r\n\r\n\t\t// Assign the value of consumerContact to $localStorage.consumerContact whenever it changes\r\n\t\t$scope.$watch('consumerContact', function (newVal) {\r\n\t\t\t$localStorage.consumerContact = newVal;\r\n\t\t});\r\n\r\n\t\t// Retrieve the value of consumerContact from local storage\r\n\t\t$scope.consumerContact = $localStorage.consumerContact;\r\n\t\tvm.consumerAltContact = '';\r\n\t\tvm.PersonalEmail = '';\r\n\t\tvm.consumerType = '';\r\n\t\tvm.AddressType = 'Home';\r\n\t\tvm.warrantyStatus = '';\r\n\t\tvm.dateOfPurchase = '';\r\n\t\tvm.callType = '';\r\n\t\tvm.AppointmentTime = '08:00'\r\n\t\tvm.AppointmentDate = moment().format('YYYY-MM-DD');\r\n\t\tvm.consumerCity = '';\r\n\t\tvm.consumerPincode = '';\r\n\t\tvm.consumerState = '';\r\n\t\t$scope.dates = { startDate: moment().subtract(0, 'days'), endDate: moment() };\r\n\t\tvar startDate = moment().subtract(0, 'days').format(\"YYYY-MM-DD\");\r\n\t\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\t\tvm.minDate = new Date();\r\n\t\tvm.datepickerOptions = {\r\n\t\t\tminDate: vm.minDate\r\n\t\t};\r\n\t\tvm.disableCreateButton = false;\r\n\r\n\t\tvm.DisableCreateButton = function (disable) {\r\n\t\t\tif (disable) {\r\n\t\t\t\tvm.disableCreateButton = true;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.disableCreateButton = false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.timeSlots = [\r\n\t\t\t{ value: '08:00', label: '08:00 AM to 10:00 AM' },\r\n\t\t\t{ value: '10:00', label: '10:00 AM to 12:00 PM' },\r\n\t\t\t{ value: '12:00', label: '12:00 PM to 02:00 PM' },\r\n\t\t\t{ value: '14:00', label: '02:00 PM to 04:00 PM' },\r\n\t\t\t{ value: '16:00', label: '04:00 PM to 06:00 PM' },\r\n\t\t\t{ value: '18:00', label: '06:00 PM to 08:00 PM' }\r\n\t\t];\r\n\r\n\t\tfunction getCurrentDateTime() {\r\n\t\t\treturn new Date();\r\n\t\t}\r\n\r\n\t\tvm.UploadCallBooking = function () {\r\n\t\t\t$state.go('index.bulkCallBooking', {\r\n\t\t\t reload: true\r\n\t\t\t});\r\n\t\t }\r\n\r\n\r\n\t\tfunction isTimeSlotValid(slot) {\r\n\t\t\tvar now = getCurrentDateTime();\r\n\t\t\tvar selectedDate = moment(vm.AppointmentDate).format('YYYY-MM-DD');\r\n\r\n\t\t\tif (selectedDate) {\r\n\t\t\t\tif (!(selectedDate instanceof Date)) {\r\n\t\t\t\t\tselectedDate = new Date(selectedDate);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar slotTime = slot.value.split(':');\r\n\t\t\t\tvar selectedDateTime = new Date(selectedDate);\r\n\t\t\t\tselectedDateTime.setHours(parseInt(slotTime[0]), parseInt(slotTime[1]), 0, 0);\r\n\r\n\t\t\t\treturn selectedDateTime >= now;\r\n\t\t\t}\r\n\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tfunction updateAvailableTimeSlots() {\r\n\t\t\t$timeout(function () {\r\n\t\t\t\tvm.availableTimeSlots = vm.timeSlots.filter(isTimeSlotValid);\r\n\t\t\t\tselectDefaultTimeSlot();\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction selectDefaultTimeSlot() {\r\n\t\t\tif (vm.availableTimeSlots.length > 0) {\r\n\t\t\t\tvm.AppointmentTime = vm.availableTimeSlots[0].value;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t$scope.$watch('customercrmlistctrl.AppointmentDate', function (newValue, oldValue) {\r\n\t\t\tif (newValue !== oldValue) {\r\n\t\t\t\tupdateAvailableTimeSlots();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// Initialize available time slots\r\n\t\tupdateAvailableTimeSlots();\r\n\r\n\t\tvm.isDateDisabled = function () {\r\n\t\t\treturn !vm.brandName ||\r\n\t\t\t\t!vm.productGroup ||\r\n\t\t\t\t!vm.product;\r\n\t\t};\r\n\r\n\t\tvm.getCurrentDate = function () {\r\n\t\t\tvar currentDate = new Date();\r\n\t\t\treturn currentDate;\r\n\t\t};\r\n\r\n\t\t$scope.ranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment()]\r\n\t\t};\r\n\r\n\t\t$scope.dateRangeChange = function (ev, picker) {\r\n\t\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\t\tvm.getAllJobForExceptionList();\r\n\r\n\r\n\t\t};\r\n\r\n\t\tvm.openPincodeSelectionModal = function () {\r\n\t\t\tvm.pincodeSelectionModalInstance = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'pincodeSelectionModal.html',\r\n\t\t\t\tsize: 'md',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.closePincodeSelectionModal = function () {\r\n\t\t\tif (vm.pincodeSelectionModalInstance) {\r\n\t\t\t\tvm.pincodeSelectionModalInstance.close();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.ProceedToAddPincode = function(){\r\n\t\t\tvm.FindPincode_form.submitted = true;\r\n\t\t\tif (vm.FindPincode_form.$valid) {\r\n\t\t\t\tvm.closePincodeSelectionModal();\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\tvm.AssestsCreateTaskModel = function (asset) {\r\n\tvm.assetData = asset;\r\n\tvm.brandName = vm.assetData.Brand;\r\n\tvm.product = vm.assetData.AssetType;\r\n\tvm.productGroup = vm.assetData.ProductGroup;\r\n\tvm.modelName = vm.assetData.ProductModel;\r\n\tvm.dateOfPurchase = vm.assetData.AssetPurchaseDate ? new Date(vm.assetData.AssetPurchaseDate) : null;\r\n\tvm.warrantyStatus = vm.assetData.AssetWarranty;\r\n\tvm.modelNumber = vm.assetData.ModelNumber;\r\n\tvm.serialNumber = vm.assetData.SerialNumber\r\n\t// vm.callType = 'Repair';\r\n\tvm.dealername = vm.assetData.strDealerName\r\n\tvm.dealercontact = vm.assetData.strDealerContact\r\n\tvm.GetAllActiveProductModelMaster();\r\n\t// vm.GetCallTypeList();\r\n\tvm.GetWarrantyDetailsForProduct();\r\n\tvm.AssestGetCallTypeList();\r\n\tsetTimeout(function () {\r\n\t\tvm.GetDefectTypeList();\r\n\t}, 2000);\r\n\t\t vm.assestscreatetaskModelOpen = $uibModal.open({\r\n\t\t\t templateUrl: 'AssestsCreateTaskModel.html',\r\n\t\t\t size: 'lg',\r\n\t\t\t backdrop: 'static',\r\n\t\t\t scope: $scope,\r\n\t\t });\r\n\t }\r\n\t vm.AssestsCloseCreateTaskModel = function () {\r\n\t\t vm.assestscreatetaskModelOpen.close();\r\n\t\t// vm.brandName = '';\r\n\t\t vm.productGroup = '';\r\n\t\t vm.product = '';\r\n\t\t vm.productdefect = '';\r\n\t\t vm.caseDescription = '';\r\n\t\t vm.modelNumber = '';\r\n\t\t vm.warrantyStatus = '';\r\n\t\t vm.dateOfPurchase = '';\r\n\t\t vm.callType = 'Repair';\r\n\t\t vm.AppointmentDateTime = '';\r\n\t\t vm.WarrantyData = \"\";\r\n\t\t vm.AppointmentDate = moment().format('YYYY-MM-DD');\r\n\t\t updateAvailableTimeSlots();\r\n\t\t vm.DisableCreateButton(false);\r\n\t }\r\n\r\n\t vm.OpenReOpenCallModel = function (ticketid) {\r\n\t\tvm.TicketId = ticketid\r\n\t\t\t Reopencallopen = $uibModal.open({\r\n\t\t\t\t templateUrl: 'ReopenCancelCall.html',\r\n\t\t\t\t backdrop: 'static',\r\n\t\t\t\t scope: $scope,\r\n\t\t\t });\r\n\t\t }\r\n \r\n\t\t vm.closeReOpenCallModel = function () {\r\n\t\t\t vm.disableCreateButton = false;\r\n\t\t\t Reopencallopen.close();\r\n\t\t\t \r\n\t\t }\r\n \r\n\t vm.ReopenCancelCall = function () {\r\n\t\tvm.validationForm.submitted = true;\r\n\t\t vm.disableCreateButton = true;\r\n\t\t CustomerCRMListService.ReopenCancelCall(vm.TicketId,loggedinUser, token).then(function (resp) {\r\n\t\t\tif (resp && resp.status == 200) {\r\n\t\t\t vm.showSuccess(\"Success\", \"Call has Reopened Successfully\");\r\n\t\t\t vm.closeReOpenCallModel();\r\n\t\t\t $timeout(function () {\r\n\t\t\t\tvm.GetAllTicketsForContact();\r\n\t\t\t\tvm.GetConsumerAssets(); \r\n\t\t\t }, 2000)\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t vm.disableCreateButton = false;\r\n\t\t\t vm.showFailure(\"Failed\", resp.data)\r\n\t\t\t}\r\n\t\t });\r\n\t \r\n\t }\r\n\t \r\n\t \r\n\t\tvm.CreateTaskModel = function () {\r\n\t\t\tvm.createtaskModelOpen = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'CreateTaskModel.html',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.CloseCreateTaskModel = function () {\r\n\t\t\tvm.createtaskModelOpen.close();\r\n\t\t\t// vm.brandName = '';\r\n\t\t\tvm.productGroup = '';\r\n\t\t\tvm.product = '';\r\n\t\t\tvm.ProductList = [];\r\n\t\t\tvm.AllActiveProductModelNoList = [];\r\n\t\t\tvm.AllCallTypes = [];\r\n\t\t\tvm.DefectList = [];\r\n\t\t\tvm.productdefect = '';\r\n\t\t\tvm.caseDescription = '';\r\n\t\t\tvm.modelNumber = '';\r\n\t\t\tvm.warrantyStatus = '';\r\n\t\t\tvm.dateOfPurchase = '';\r\n\t\t\t// vm.callType = '';\r\n\t\t\tvm.AppointmentDateTime = '';\r\n\t\t\tvm.WarrantyData = \"\";\r\n\t\t\tvm.dealername = \"\";\r\n\t\t\tvm.dealercontact = \"\";\r\n\t\t\tvm.AppointmentDate = moment().format('YYYY-MM-DD');\r\n\t\t\tupdateAvailableTimeSlots();\r\n\t\t\tvm.DisableCreateButton(false);\r\n\t\t}\r\n\r\n\t\tvm.CloseCreateTaskModelServisable = function () {\r\n\t\t\tvm.createtaskModelOpen.close();\r\n\t\t}\r\n\r\n\r\n\t\t$scope.totalFinList = 0;\r\n\t\t$scope.usersPerPage = vm.allSalesOrderPageListCount;\r\n\t\t$scope.SalesOrderPagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\r\n\t\tvm.changeAllSalesOrderPageListCount = function () {\r\n\t\t\t$scope.usersPerPage = vm.allSalesOrderPageListCount;\r\n\t\t\tfPageSize = $scope.usersPerPage;\r\n\t\t\t$scope.AllSalesOrderTablePageChanged($scope.SalesOrderPagination.current);\r\n\t\t\tvm.selectAll = false;\r\n\t\t\tfPageIndex = $scope.SalesOrderPagination.current;\r\n\t\t\t$scope.AllSalesOrderTablePageChanged = function (newPage) {\r\n\t\t\t\tfPageIndex = newPage;\r\n\t\t\t\tvm.GetUserAllSalesOrderDetailforWeb(loggedinUser, token, vm.OrderStatus, vm.SearchText, vm.partName, vm.brandName, vm.productGroup, vm.orderBy, vm.sortType, fPageIndex, fPageSize, startDate, endDate, vm.dateField);\r\n\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tfPageIndex = $scope.SalesOrderPagination.current;\r\n\t\t$scope.AllSalesOrderTablePageChanged = function (newPage) {\r\n\t\t\tfPageIndex = newPage;\r\n\t\t\tvm.GetUserAllSalesOrderDetailforWeb(loggedinUser, token, vm.OrderStatus, vm.SearchText, vm.partName, vm.brandName, vm.productGroup, vm.orderBy, vm.sortType, fPageIndex, fPageSize, startDate, endDate, vm.dateField);\r\n\r\n\t\t};\r\n\r\n\r\n\t\tvm.TicketPartOrderList = [];\r\n\t\tvm.GetUserAllSalesOrderDetailforWeb = function () {\r\n\t\t\tCustomerCRMListService.GetUserAllSalesOrderDetailforWeb(loggedinUser, token, vm.OrderStatus, vm.SearchText, vm.partName, vm.brandName, vm.productGroup, vm.orderBy, vm.sortType, fPageIndex, fPageSize, startDate, endDate, vm.dateField).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.TicketPartOrderList = resp.data.zohoItemRequestModels;\r\n\t\t\t\t\t$scope.totalFinList = resp.data.Count;\r\n\t\t\t\t\tif (vm.TicketPartOrderList.length < vm.allSalesOrderPageListCount)\r\n\t\t\t\t\t\tvm.financeListLength = $scope.totalFinList;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.financeListLength = fPageIndex * vm.allSalesOrderPageListCount;\r\n\t\t\t\t\tif (fPageIndex == 1)\r\n\t\t\t\t\t\tvm.fpageindexCount = 1;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.fpageindexCount = (((fPageIndex - 1) * vm.allSalesOrderPageListCount) + 1);\r\n\t\t\t\t}\r\n\t\t\t}, function (error) {\r\n\r\n\t\t\t})\r\n\t\t}\r\n\r\n\r\n\r\n\t\tvm.CreateConsumer = function () {\r\n\t\t\tvm.customercreate_form.submitted = true;\r\n\t\t\tif (vm.customercreate_form.$valid) {\r\n\t\t\t\tvm.DisableCreateButton(true);\r\n\t\t\t\tdata = {\r\n\t\t\t\t\t\"strConsumerTitle\": vm.consumerTitle,\r\n\t\t\t\t\t\"strConsumerFirstName\": vm.consumerFirstName,\r\n\t\t\t\t\t\"strConsumerLastName\": vm.consumerLastName,\r\n\t\t\t\t\t\"strConsumerContact\": $scope.consumerContact,\r\n\t\t\t\t\t\"strConsumerAlternateContact\": vm.consumerAltContact,\r\n\t\t\t\t\t\"strPersonalEmail\": vm.PersonalEmail,\r\n\t\t\t\t\t\"strConsumerArea\": \"string\",\r\n\t\t\t\t\t\"strConsumerLandMark\": \"string\",\r\n\t\t\t\t\t\"strConsumerType\": vm.consumerType,\r\n\t\t\t\t\t\"udListAddresses\": [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\"strAddressType\": vm.AddressType,\r\n\t\t\t\t\t\t\t\"strAddress1\": vm.AddressLine1,\r\n\t\t\t\t\t\t\t\"strAddress2\": vm.AddressLine2,\r\n\t\t\t\t\t\t\t\"strCity\": vm.consumerCity,\r\n\t\t\t\t\t\t\t\"strDistrict\": \"string\",\r\n\t\t\t\t\t\t\t\"strPostalCode\": vm.consumerPincode,\r\n\t\t\t\t\t\t\t\"strState\": vm.consumerState,\r\n\t\t\t\t\t\t\t\"strCountry\": \"India\",\r\n\t\t\t\t\t\t\t\"bIsDefaultAddress\": true\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t]\r\n\t\t\t\t}\r\n\t\t\t\tCustomerCRMListService.CreateConsumer(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 200 && resp.data) {\r\n\t\t\t\t\t\tvm.consumerData = resp.data;\r\n\t\t\t\t\t\tvm.consumerAddress = resp.data.Addresses[0];\r\n\t\t\t\t\t\tvm.IsConsumerFound = true;\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", 'Consumer created successfully.');\r\n\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\tvm.clearCustomerData();\r\n\t\t\t\t\t\t}, 1000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\t\tvm.showFailure('Failed', resp.data.Message);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.clearCustomerData = function () {\r\n\t\t\tvm.DisableCreateButton(false);\r\n\t\t\tvm.consumerTitle = 'Mr.';\r\n\t\t\tvm.consumerFirstName = '';\r\n\t\t\tvm.consumerLastName = '';\r\n\t\t\t// $localStorage.consumerContact = '';\r\n\t\t\t// $scope.consumerContact = '';\r\n\t\t\tvm.consumerAltContact = '';\r\n\t\t\tvm.PersonalEmail = '';\r\n\t\t\tvm.consumerType = '';\r\n\t\t\tvm.AddressType = 'Home';\r\n\t\t\tvm.consumerCity = '';\r\n\t\t\tvm.consumerPincode = '';\r\n\t\t\tvm.consumerState = '';\r\n\t\t\tvm.AddressLine1 = '';\r\n\t\t\tvm.AddressLine2 = '';\r\n\t\t\tvm.AppointmentTime = '08:00'\r\n\t\t\tvm.AppointmentDate = moment().format('YYYY-MM-DD');\r\n\t\t}\r\n\t\tvm.ConfirmationModal = function (message) {\r\n\t\t\t$scope.confirmationMessage = message;\r\n\t\t\tvm.confirmationModelOpen = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'ConfirmationcasecreationModel.html',\r\n\t\t\t\tsize: 'md',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.CloseConfirmationModel = function () {\r\n\t\t\tvm.confirmationModelOpen.close();\r\n\t\t}\r\n\r\n\t\tvm.openNonServiceableAreaConfirmationModal = function () {\r\n\t\t\tvm.confirmationModalInstance = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'ConfirmationNonServCaseModal.html',\r\n\t\t\t\tsize: 'md',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tvm.CloseAreaConfirmationModal = function () {\r\n\t\t\tif(vm.confirmationModalInstance){\r\n\t\t\t\tvm.confirmationModalInstance.close();\r\n\t\t\t}\r\n\t\t\tvm.brandName = '';\r\n\t\t\tvm.productGroup = '';\r\n\t\t\tvm.product = '';\r\n\t\t\tvm.productdefect = '';\r\n\t\t\tvm.caseDescription = '';\r\n\t\t\tvm.modelNumber = '';\r\n\t\t\tvm.modelName = '';\r\n\t\t\tvm.model = '';\r\n\t\t\tvm.warrantyStatus = '';\r\n\t\t\tvm.dateOfPurchase = '';\r\n\t\t\tvm.callType = '';\r\n\t\t\tvm.AppointmentDateTime = '';\r\n\t\t\tvm.WarrantyData = \"\";\r\n\t\t\tvm.dealername = \"\";\r\n\t\t\tvm.dealercontact = \"\";\r\n\t\t\tvm.AppointmentDate = moment().format('YYYY-MM-DD');\r\n\t\t\tupdateAvailableTimeSlots();\r\n\t\t}\r\n\r\n\t\tvm.serialNumber = '';\r\n\t\tvm.CreateCase = function () {\r\n\t\t\tif(vm.IsAppointmentOTPNeeded){\r\n\t\t\t\tvm.AppointmentDateTime = '';\r\n\t\t\t}\r\n\t\t\tif(!vm.productdefect){\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Nature of problem cannot be empty.\")\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.AppointmentDateTime = moment(vm.AppointmentDate).format('YYYY-MM-DD') + ' ' + vm.AppointmentTime;\r\n\t\t\t}\r\n\t\t\tif(vm.model){\r\n\t\t\t\tvm.modelName = vm.model.strModelName;\r\n\t\t\t\tvm.modelNumber = vm.model.strModelNumber;\r\n\t\t\t}\r\n\t\t\tvm.DisableCreateButton(true);\r\n\t\t\tdata = {\r\n\t\t\t\t\"BrandName\": vm.brandName,\r\n\t\t\t\t\"ProductGroup\": vm.productGroup,\r\n\t\t\t\t\"ProductName\": vm.modelName,\r\n\t\t\t\t\"ModelNumber\": vm.modelNumber,\r\n\t\t\t\t\"AppointmentDateTime\": vm.AppointmentDateTime,\r\n\t\t\t\t\"DefectType\": vm.productdefect + ' - ' + vm.caseDescription,\r\n\t\t\t\t\"MMFSkillMapped\": vm.DefectList.strMMFSkillMapped,\r\n\t\t\t\t\"ConusmerContact\": vm.consumerData.ConsumerContact,\r\n\t\t\t\t\"CallType\": vm.callType,\r\n\t\t\t\t\"DateOfPurchase\": moment(vm.dateOfPurchase).format('YYYY-MM-DD'),\r\n\t\t\t\t\"WarrantyStatus\": vm.warrantyStatus,\r\n\t\t\t\t\"ConsumerId\": vm.consumerData.RecordId,\r\n\t\t\t\t\"strDealerName\" : vm.dealername,\r\n\t\t\t\t\"strDealerContact\" : vm.dealercontact,\r\n\t\t\t\t\"AssetSerialNumber\" : vm.serialNumber\r\n\t\t\t}\r\n\t\t\tCustomerCRMListService.CreateCase(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tif (resp.data.ErrorCode === 822 || resp.data.ErrorCode === 821) {\r\n\t\t\t\t\t\tvar errorMessage = resp.data.Message;\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", errorMessage);\r\n\t\t\t\t\t\tvm.CloseAreaConfirmationModal();\r\n\t\t\t\t\t\tvm.AssestsCloseCreateTaskModel();\r\n\t\t\t\t\t\t// vm.DisableCreateButton(false);\r\n\t\t\t\t\t\treturn; \r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.consumerAllTicketsData = resp.data;\r\n\t\t\t\t\tvar successMessage = \"Case successfully created with Case ID \" + resp.data[0].TicketId;\r\n\t\t\t\t\tvm.showSuccess(\"Success\", successMessage);\r\n\t\t\t\t\tvm.CloseAreaConfirmationModal();\r\n\t\t\t\t\tvm.ConfirmationModal(successMessage);\r\n\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\tvm.AssestsCloseCreateTaskModel();\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\tvm.showFailure('Failed', resp.data.Message);\r\n\t\t\t\t}\r\n\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t// vm.AssestsCreateCase = function () {\r\n\t\t// \tvm.dialertask_form.submitted = true;\r\n\t\t// \tif (vm.dialertask_form.$valid) {\r\n\t\t// \t vm.DisableCreateButton(true);\r\n\t\t// \t if(vm.IsAppointmentOTPNeeded){\r\n\t\t// \t\tvm.AppointmentDateTime = '';\r\n\t\t// \t}\r\n\t\t// \telse {\r\n\t\t// \t\tvm.AppointmentDateTime = moment(vm.AppointmentDate).format('YYYY-MM-DD') + ' ' + vm.AppointmentTime;\r\n\t\t// \t}\r\n\t\t// \t data = {\r\n\t\t// \t\t\"BrandName\": vm.brandName,\r\n\t\t// \t\t\"ProductGroup\": vm.productGroup,\r\n\t\t// \t\t\"ProductName\": vm.product,\r\n\t\t// \t\t\"ModelNumber\": vm.modelNumber,\r\n\t\t// \t\t\"AppointmentDateTime\" : vm.AppointmentDateTime,\r\n\t\t// \t\t\"DefectType\": vm.productdefect + ' - ' + vm.caseDescription,\r\n\t\t// \t\t\"MMFSkillMapped\": vm.DefectList.strMMFSkillMapped,\r\n\t\t// \t\t\"ConusmerContact\": vm.consumerContact,\r\n\t\t// \t\t\"CallType\": vm.callType,\r\n\t\t// \t\t\"DateOfPurchase\": moment(vm.dateOfPurchase).format('YYYY-MM-DD'),\r\n\t\t// \t\t\"WarrantyStatus\": vm.warrantyStatus\r\n\t\t// \t\t}\r\n\t\t// \t CustomerCRMListService.CreateCase(data, loggedinUser, token).then(function (resp) {\r\n\t\t// \t\tif (resp.status == 200) {\r\n\t\t// \t\t vm.showSuccess(\"Success\", 'Case created successfully.');\r\n\t\t// \t\t setTimeout(function () {\r\n\t\t// \t\t\tvm.AssestsCloseCreateTaskModel();\r\n\t\t// \t\t\tvm.GetAllTicketsForContact();\r\n\t\t// \t\t }, 1000);\r\n\t\t// \t\t}\r\n\t\t// \t\telse {\r\n\t\t// \t\t vm.DisableCreateButton(false);\r\n\t\t// \t\t vm.showFailure('Failed', resp.data.Message);\r\n\t\t// \t\t}\r\n\t\t\r\n\t\t// \t });\r\n\t\t// \t}\r\n\t\t// }\r\n\t\t\r\n\t\tvm.GenerateConsumerInvoice = function (TicketId) {\r\n\t\t\tCustomerCRMListService.GenerateConsumerInvoice(TicketId,loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Customer Invoice Generated\");\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.pdfimage = \"\";\r\n\t\tvm.DocumentAvailableMessage = \"\";\r\n\t\tvm.downloadOnSiteReport = function (ticketId) {\r\n\t\t\tvm.PDFViewRport();\r\n\t\t\tCustomerCRMListService.downloadOnSiteReport(loggedinUser, token, ticketId).then(function (resp) {\r\n\t\t\t\tvm.responseDataList = resp.data;\r\n\t\t\t\tvar arrrayBuffer = base64ToArrayBuffer(vm.responseDataList);\r\n\t\t\t\tvar blob = new Blob([arrrayBuffer], { type: \"application/pdf\" });\r\n\t\t\t\tvm.pdfimage = URL.createObjectURL(blob);\r\n\t\t\t\tvm.IsLoadSucessfull = true;\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.PDFViewRport = function (page) {\r\n\t\t\tvm.pdfimage = \"\";\r\n\t\t\tvm.IsLoadSucessfull = false;\r\n\t\t\t$scope.selected = null;\r\n\t\t\tjobAppointmentModalReport = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'PDFViewDownload.html',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\r\n\t\t}\r\n\t\tvm.PDFUserModalReport = function () {\r\n\t\t\tjobAppointmentModalReport.close();\r\n\t\t}\r\n\r\n\t\tfunction base64ToArrayBuffer(base64) {\r\n\t\t\tvar ret = base64.replace('data:application/pdf;base64,', '');\r\n\t\t\tvar binaryString = atob(ret);\r\n\t\t\tvar binaryLen = binaryString.length;\r\n\t\t\tvar bytes = new Uint8Array(binaryLen);\r\n\t\t\tfor (var i = 0; i < binaryLen; i++) {\r\n\t\t\t\tvar ascii = binaryString.charCodeAt(i);\r\n\t\t\t\tbytes[i] = ascii;\r\n\t\t\t}\r\n\t\t\treturn bytes;\r\n\t\t}\r\n\r\n\r\n\t\tvm.GetServiceableArea = function () {\r\n\t\t\trequestData = {\r\n\t\t\t\t\"RecordId\": vm.consumerData.RecordId,\r\n\t\t\t\t\"Skill\": vm.DefectList.strMMFSkillMapped\r\n\t\t\t}\r\n\t\t\tCustomerCRMListService.GetServiceableArea(requestData, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.ServiceStatus = resp.data;\r\n\t\t\t\t\tvm.ServiceStatus = resp.data.ServiceStatus;\r\n\t\t\t\t\tvm.ServiceStatusMessage = resp.data.Message;\r\n\t\t\t\t\tif(vm.ServiceStatus == 'NonServiceableArea'){\r\n\t\t\t\t\t\tvm.openNonServiceableAreaConfirmationModal();\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\tvm.CreateCase();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.CreateCase();\r\n\t\t\t\t}\r\n\t\t\t}, function () {\r\n\t\t\t\tvm.CreateCase();\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.CheckServiceableArea = function () {\r\n\t\t\tvm.dialertask_form.submitted = true;\r\n\t\t\tif (vm.dialertask_form.$valid) {\r\n\t\t\t\tvm.CloseCreateTaskModelServisable();\r\n\t\t\t\tvm.GetServiceableArea();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.GetWarrantyDetailsForProduct = function () {\r\n\t\t\tvm.WarrantyData = \"\";\r\n\t\t\tvar data = {\r\n\t\t\t\t\"strBrandName\": vm.brandName,\r\n\t\t\t\t\"strProductGroup\": vm.productGroup,\r\n\t\t\t\t\"strProductName\": vm.product,\r\n\t\t\t\t\"dateOfPurchase\": moment(vm.dateOfPurchase).format('YYYY-MM-DD'),\r\n\t\t\t}\r\n\t\t\tCustomerCRMListService.GetWarrantyDetailsForProduct(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\tvm.WarrantyData = resp.data\r\n\t\t\t\t}\r\n\t\t\t\tif (vm.WarrantyData.listWarrantyStatus && vm.WarrantyData.listWarrantyStatus.length > 0) {\r\n\t\t\t\t\tvm.warrantyStatus = vm.WarrantyData.listWarrantyStatus[0]; // Selecting the first option\r\n\t\t\t\t}\r\n\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.ResetFilter = function () {\r\n\t\t\t$localStorage.consumerContact = '';\r\n\t\t\t$scope.consumerContact = '';\r\n\t\t\tvm.callID = '';\r\n\t\t\tvm.IsConsumerFound = false;\r\n\t\t\tvm.ErrorMessage = '';\r\n\t\t}\r\n\t\tfunction getAllStates() {\r\n\t\t\tvar defered = $q.defer();\r\n\t\t\tReferService.getAllState(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tdefered.resolve(resp);\r\n\t\t\t}, function (error) {\r\n\t\t\t\tdefered.reject(error);\r\n\t\t\t});\r\n\t\t\treturn defered.promise;\r\n\t\t}\r\n\r\n\t\tvar allStatePromise = getAllStates(loggedinUser);\r\n\t\tallStatePromise.then(function (resp) {\r\n\t\t\tvm.StateList = resp.data;\r\n\r\n\t\t});\r\n\t\tfunction getallCities(state) {\r\n\t\t\tvm.CityList = [];\r\n\t\t\tReferService.getAllCity(loggedinUser, state, token).then(function (resp) {\r\n\t\t\t\tvm.CityList = resp.data;\r\n\t\t\t});\r\n\t\t}\r\n\t\r\n\t\tvm.selectedState = function (state) {\r\n\t\t\tif(vm.selectedOption == 'pincode'){\r\n\t\t\t\tgetallCities(state);\r\n\t\t\t}\r\n\t\t\tif(vm.selectedOption == 'area'){\r\n\t\t\t\tgetareaallCities(state);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.onOptionChange = function (option) {\r\n\t\t\tvm.consumerPincode = '';\r\n\t\t\tvm.consumerCity = '';\r\n\t\t\tvm.consumerArea = '';\r\n\t\t\tvm.AreaList = [];\r\n\t\t\tvm.selectedState(vm.consumerState)\r\n\t\t };\r\n\r\n\t\tfunction getareaallCities(state) {\r\n\t\t\tvm.AreaCityList = [];\r\n\t\t\tCustomerCRMListService.getAllCity(loggedinUser, state, token).then(function (resp) {\r\n\t\t\t\tvm.AreaCityList = resp.data;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction GetAllAreaByStateCity() {\r\n\t\t\tvm.AreaList = [];\r\n\t\t\tCustomerCRMListService.GetAllAreaByStateCity(loggedinUser, token, vm.consumerState,vm.consumerCity).then(function (resp) {\r\n\t\t\t\tif(resp.data && resp.status == 200){\r\n\t\t\t\t\tvm.AreaList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\tvm.showFailure(\"Failed\",resp)\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.selectedcity = function () {\r\n\t\t\tGetAllAreaByStateCity();\r\n\t\t}\r\n\r\n\t\tfunction GetAllPincodeBYAreaStateCity() {\r\n\t\t\tvm.PincodeList = [];\r\n\t\t\tCustomerCRMListService.GetAllPincodeBYAreaStateCity(loggedinUser, token,vm.consumerState,vm.consumerCity, vm.consumerArea).then(function (resp) {\r\n\t\t\t\tvm.PincodeList = resp.data;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.selectedArea = function () {\r\n\t\t\tGetAllPincodeBYAreaStateCity();\r\n\t\t}\r\n\t\t\r\n\t\tvm.Open360ForConsumer = function (customerNo) {\r\n\t\t\t$state.go('index.CustomerCRM360', {\r\n\t\t\t\tContactNo: customerNo\r\n\t\t\t}, { reload: true });\r\n\t\t}\r\n\r\n\r\n\r\n\t\tvm.GetConsumerDetails = function () {\r\n\t\t\tCustomerCRMListService.GetConsumerDetails(loggedinUser, token, $localStorage.consumerContact).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.consumerData = resp.data;\r\n\t\t\t\t\tvm.consumerAddress = resp.data.Addresses[0];\r\n\t\t\t\t\tvm.IsConsumerFound = true;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.IsConsumerFound = false;\r\n\t\t\t\t\tvm.ErrorMessage = resp.data.Message;\r\n\t\t\t\t\tvm.showFailure(resp.data.Message)\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.callID = \"\";\r\n\t\tvm.GetConsumerDetailsByTicket = function () {\r\n\t\t\tCustomerCRMListService.GetConsumerDetailsByTicket(loggedinUser, token, vm.callID).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.consumerData = resp.data;\r\n\t\t\t\t\t$localStorage.consumerContact = resp.data.ConsumerContact;\r\n\t\t\t\t\t$scope.consumerContact = resp.data.ConsumerContact;\r\n\t\t\t\t\tvm.consumerAddress = resp.data.Addresses[0];\r\n\t\t\t\t\tvm.IsConsumerFound = true;\r\n\t\t\t\t\tvm.GetAllTicketsForContact();\r\n\t\t\t\t\tvm.GetConsumerAssets();\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.IsConsumerFound = false;\r\n\t\t\t\t\tvm.ErrorMessage = resp.data.Message;\r\n\t\t\t\t\tvm.showFailure(resp.data.Message)\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.GetAllBrands = function () {\r\n\t\t\tCustomerCRMListService.GetAllBrands(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.BrandList = resp.data;\r\n\t\t\t\t\tif (vm.BrandList.length > 0) {\r\n\t\t\t\t\t\tvm.brandName = vm.BrandList[0]; \r\n\t\t\t\t\t\tvm.GetBrandProductGroup();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.GetAllBrands();\r\n\r\n\t\tvm.GetAddressFromPinCode = function (consumerPincode) {\r\n\t\t\tvm.findPincode = consumerPincode;\r\n\t\t\tCustomerCRMListService.GetAddressFromPinCode(vm.findPincode, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.AddressData = resp.data;\r\n\t\t\t\t\tvm.consumerState = resp.data.State.toUpperCase();\r\n\t\t\t\t\tvm.selectedState(vm.consumerState);\r\n\t\t\t\t\tvm.consumerCity = resp.data.City.toUpperCase();\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.GetBrandProductGroup = function () {\r\n\t\t\tvm.PartGroupList = [];\r\n\t\tvm.ProductList = [];\r\n\t\tvm.AllActiveProductModelNoList = [];\r\n\r\n\t\t\tvar data = {\r\n\t\t\t\t\"strBrandName\": vm.brandName\r\n\t\t\t}\r\n\t\t\tCustomerCRMListService.GetBrandProductGroup(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.PartGroupList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.GetAllProductsForBrand = function () {\r\n\t\t\tvm.AllCallTypes = [];\r\n\t\t\tvar data = {\r\n\t\t\t\t\"strBrandName\": vm.brandName,\r\n\t\t\t\t\"strProductGroup\": vm.productGroup\r\n\t\t\t}\r\n\t\t\tCustomerCRMListService.GetAllProductsForBrand(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.ProductList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.callType = \"\";\r\n\t\tvm.GetDefectTypeList = function () {\r\n\t\t\tif(!vm.callType){\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar data = {\r\n\t\t\t\t\"strBrandName\": vm.brandName,\r\n\t\t\t\t\"strProductGroup\": vm.productGroup,\r\n\t\t\t\t\"strProductName\": vm.product,\r\n\t\t\t\t\"strCallType\": vm.callType\r\n\t\t\t}\r\n\t\t\tCustomerCRMListService.GetDefectTypeList(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.DefectList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.SendHappyCodeSMS = function (ticketId) {\r\n\t\t\tCustomerCRMListService.SendHappyCodeSMS(ticketId,vm.AccountId, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", \"Happy code sent to customer successfully.\");\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data)\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t\tvm.GetAllActiveProductModelMaster = function () {\r\n\t\t\tCustomerCRMListService.GetAllActiveProductModelMaster(vm.product,vm.brandName,loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.AllActiveProductModelNoList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t\tvm.AllCallTypes = [];\r\n\t\t\r\n\t\tvm.GetCallTypeList = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"strBrandName\": vm.brandName,\r\n\t\t\t\t\"strProductGroup\": vm.productGroup,\r\n\t\t\t\t\"strProductName\": vm.product,\r\n\t\t\t\t\"strCallType\": \"\"\r\n\t\t\t}\r\n\t\t\tCustomerCRMListService.GetCallTypeList(data,loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.AllCallTypes = resp.data.strListCallType;\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t\tvm.AssestsAllCallTypes = [];\r\n\t\t\r\n\t\tvm.AssestGetCallTypeList = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"strBrandName\": vm.brandName,\r\n\t\t\t\t\"strProductGroup\": vm.productGroup,\r\n\t\t\t\t\"strProductName\": vm.product,\r\n\t\t\t\t\"strCallType\": \"\"\r\n\t\t\t}\r\n\t\t\tCustomerCRMListService.GetCallTypeList(data,loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.AssestsAllCallTypes = resp.data.strListCallType;\r\n\t\t\t\t\tif (vm.AssestsAllCallTypes && vm.AssestsAllCallTypes.length > 0) {\r\n\t\t\t\t\t\tvm.callType = vm.AssestsAllCallTypes[0]; // Set the first call type as selected\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tvm.GetAllTicketsForContact = function () {\r\n\t\t\tCustomerCRMListService.GetAllTicketsForContact(loggedinUser, token, $localStorage.consumerContact).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.consumerAllTicketsData = resp.data;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message)\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.GetConsumerAssets = function () {\r\n\t\t\tCustomerCRM360Service.GetConsumerAssets(loggedinUser, token, $localStorage.consumerContact).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.consumerAssetData = resp.data;\r\n\t\t\t\t\tvm.consumerAssetDataLength = resp.data.length;\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tif ($localStorage.consumerContact) {\r\n\t\t\tvm.GetConsumerDetails();\r\n\t\t\tvm.GetAllTicketsForContact();\r\n\t\t\tvm.GetConsumerAssets();\r\n\t\t}\r\n\t\tvm.OpenFollowUpModel = function (ticketId) {\r\n\t\t\tvm.followup = '';\r\n\t\t\tvm.tickId = ticketId;\r\n\t\t\tFollowUpModel = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'FollowupJob.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t\tsize: \"lg\",\r\n\t\t\t\tcontroller: ModalInstanceCtrlFollowUp,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.CloseFollowUpModel = function () {\r\n\t\t\tvm.primaryFollowUpReason = '';\r\n\t\t\tvm.primaryFollowUpRemark = '';\r\n\t\t\tvm.primaryHoldReason = '';\r\n\t\t\tvm.primaryHoldRemark = '';\r\n\t\t\tvm.followFiles = null;\r\n\t\t\tFollowUpModel.close();\r\n\t\t}\r\n\r\n\t\t$scope.attachmentForFollowUp = function (files) {\r\n\t\t\tvar file = files.files[0];\r\n\t\t\tvm.followFiles = files.files;\r\n\t\t\tvar allowedExtensions = /(\\.jpg|\\.jpeg|\\.png|\\.msg|\\.pdf|\\.bmp|\\.xps)$/i;\r\n\t\t\tif (!allowedExtensions.exec(file.name)) {\r\n\t\t\t\tvm.followFiles = [];\r\n\t\t\t\tvm.clear();\r\n\t\t\t\talert('Please upload file having extensions .pdf,.jpg,.jpeg,.png,.msg,.bmp,xps only.');\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.clear = function () {\r\n\t\t\tangular.element(\"input[type='file']\").val(null);\r\n\t\t};\r\n\r\n\r\n\t\tvm.GetFollowupReasons = function () {\r\n\t\t\tCentralHDTicketsViewService.GetReasonsByStatus(loggedinUser, token, 'FollowUp').then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.reasonsForFU = resp.data;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.GetFollowupReasons();\r\n\r\n\r\n\t\tvar ModalInstanceCtrlFollowUp = function ($scope, $rootScope, $uibModalInstance) {\r\n\t\t\tvm.updateFollowUpStatus = function () {\r\n\t\t\t\tvm.followupdialog.submitted = true\r\n\t\t\t\tif(vm.followupdialog.$valid){\r\n\t\t\t\tvar data = {};\r\n\t\t\t\tdata = {\r\n\t\t\t\t\t\"userId\": loggedinUser,\r\n\t\t\t\t\t\"dateTime\": \"\",\r\n\t\t\t\t\t\"activity\": \"\",\r\n\t\t\t\t\t\"action\": \"FOLLOW_UP\",\r\n\t\t\t\t\t\"userName\": \"\",\r\n\t\t\t\t\t\"ticketId\": vm.tickId,\r\n\t\t\t\t\t\"primaryReason\": vm.primaryFollowUpReason,\r\n\t\t\t\t\t\"SecondryReason\": \"\",\r\n\t\t\t\t\t\"ReasonComment\": vm.primaryFollowUpRemark\r\n\t\t\t\t}\r\n\t\t\t\tif (vm.followFiles != null) {\r\n\t\t\t\t\tCentralHDTicketsViewService.TicketFollowUp(data, vm.followFiles, token, loggedinUser, function (res) {\r\n\t\t\t\t\t\tif (res && res.status == 201) {\r\n\t\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Follow up done successfully.\");\r\n\t\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t\tvm.CloseFollowUpModel();\r\n\t\t\t\t\t\t\t}, 1000);\r\n\t\t\t\t\t\t} else if (res && res.data && res.data.Message) {\r\n\t\t\t\t\t\t\tvm.showFailure(\"Failed\", res.data.Message);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tvm.showFailure(\"Failed\", \"Unable to create follow up. Server is not responding correctly.\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}, vm.showFailure);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tCentralHDTicketsViewService.TicketFollowUpWithoutDoc(data, token, loggedinUser, function (res) {\r\n\t\t\t\t\t\tif (res) {\r\n\t\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Follow up done successfully.\");\r\n\t\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t\tvm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n\t\t\t\t\t\t\t\tvm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n\t\t\t\t\t\t\t}, 1000);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tvm.CloseFollowUpModel();\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tvm.GetAllFollowUpForJob = function (ticketId) {\r\n\t\t\tCentralHDTicketsViewService.GetAllFollowUpForJob(ticketId, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.getfollowUpList = resp.data;\r\n\t\t\t\t}\r\n\r\n\t\t\t}, function () {\r\n\t\t\t});\r\n\t\t}\r\n\r\n\r\n\t\t// vm.GetConsumerAssets();\r\n\r\n\t}\r\n});\nangular.module('inspinia').service('CustomerProfileService', function (ApiURL, $http) {\r\n\r\n this.getCustomerInfo = function (customerId,loggedinUser, token) {\r\n var url = ApiURL + \"/api/Customer/\"+ customerId +\"/GetCustomerWithJobDetails?reqUserId=\"+loggedinUser;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token':token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.getJobsByCustomerId=function(customerId,loggedinUser)\r\n {\r\n var url =ApiURL + \"/api/Ticket/\" +customerId+\"/byCustomerId?reqUserId=\"+loggedinUser;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n }\r\n });\r\n }\r\n\r\n});\r\n\nangular.module('inspinia').controller('CustomerProfileController', function ($state, $stateParams,$localStorage, CustomerProfileService, $log,DTColumnDefBuilder,DTOptionsBuilder) {\r\n var vm = this;\r\n var customerId = $stateParams.customerId;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n vm.sparkline1 = [34, 43, 43, 35, 44, 32, 44, 52];\r\n\r\n vm.sparkline1Options={\r\n type: 'line',\r\n width: '100%',\r\n height: '50',\r\n lineColor: '#1ab394',\r\n fillColor: \"transparent\"\r\n };\r\n \r\nvm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable()\r\n ];\r\n\r\n vm.dtOptions = DTOptionsBuilder.newOptions().withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers').withDisplayLength(10);\r\n\r\n getCustomerInfo(customerId,loggedinUser);\r\n getJobsByCustomerId(customerId,loggedinUser);\r\n\r\n function getCustomerInfo(customerId,loggedinUser) {\r\n CustomerProfileService.getCustomerInfo(customerId,loggedinUser).then(function (resp) {\r\n vm.customerInfo = resp.data;\r\n },\r\n function () {\r\n //$log.log('not working');\r\n });\r\n }\r\n\r\n function getJobsByCustomerId(customerId,loggedinUser) {\r\n CustomerProfileService.getJobsByCustomerId(customerId,loggedinUser).then(function (resp) {\r\n vm.jobTickets = resp.data;\r\n }, function () {\r\n });\r\n }\r\n\r\n});\r\n\nangular.module('inspinia').service('CustomerCRM360Service', function (ApiURL, $http,AcessoriesURL, FreelancerURL, MMFCRMURL, LocationURL) {\r\n\r\n\tthis.GetConsumerFullDetails = function (loggedinUser, token, contactNo) {\r\n\t\tvar url = MMFCRMURL + '/api/CRMConsumer/GetConsumerFullDetails?ConsumerContact=' + contactNo;\r\n\t\treturn $http.get(url, {\r\n\t\t\theaders: {\r\n\t\t\t\t'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tthis.UpdateConsumerForAddress = function (data, loggedinUser, token) {\r\n\t\tvar url = MMFCRMURL + '/api/CRMConsumer/UpdateConsumerForAddress';\r\n\t\treturn $http.put(url, data, {\r\n\t\t\theaders: {\r\n\t\t\t\t'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tthis.UpdateConsumer = function (data, loggedinUser, token) {\r\n\t\tvar url = MMFCRMURL + '/api/CRMConsumer/UpdateConsumer';\r\n\t\treturn $http.put(url, data, {\r\n\t\t\theaders: {\r\n\t\t\t\t'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tthis.GetConsumerAssets = function (loggedinUser, token, contactNo) {\r\n\t\tvar url = MMFCRMURL + '/api/CRMConsumer/GetConsumerAssets?ConsumerContact=' + contactNo;\r\n\t\treturn $http.get(url, {\r\n\t\t\theaders: {\r\n\t\t\t\t'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tthis.GetAllBillsWithFilter = function (data, loggedinUser, token) {\r\n\t\tvar url = AcessoriesURL + '/api/ServiceCentreBill/GetAllBillsWithFilter';\r\n\t\treturn $http.put(url, data, {\r\n\t\t\theaders: { 'Token': token, 'UserId': loggedinUser }\r\n\t\t});\r\n\t }\r\n}\r\n)\r\n\nangular.module('inspinia').controller('CustomerCRM360Controller', function ($scope,ReferService,$timeout, $uibModal, $state,$q,MainService,InventoryItemListService,CentralHDTicketsViewService, InventoryCartService, CustomerCRMListService,ServiceCenterListService, CustomerCRM360Service, $log, $stateParams, $localStorage, ImageUrl) {\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvm.IsAppointmentOTPNeeded = $localStorage.accountConfig.IsAppointmentOTPNeeded;\r\n\t\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\t\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\t\tvm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\t\tvm.accountid= $localStorage.accountConfig.AccountId;\r\n\t\tvm.consumerContact = $stateParams.ContactNo;\r\n\t\tvm.warrantyStatus = '';\r\n\t\tvm.dateOfPurchase = '';\r\n\t\tvm.selectedOption = 'pincode'; \r\n\t\tvm.callType = 'Repair';\r\n\t\tvm.AppointmentTime = '08:00'\r\n\t\tvm.AppointmentDate = moment().format('YYYY-MM-DD');\r\n\t\tvm.disableCreateButton = false;\r\n\t\tvm.searchtext = '';\r\n\t\tvm.searchTag = '';\r\n\t\tvm.PartImagesList = [];\r\n\t\tvm.TrainingImagebase64 = [];\r\n\t\tvm.InventoryImagebase64 = [];\r\n\t\tvm.masterInventoryList = [];\r\n\t\tvm.AllActiveProductModelNoList = [];\r\n\t\tvm.financePageListCount = 10;\r\n\t\tvm.pageListCounts = [10, 20, 30, 50];\r\n\t\tvm.scheduleExceptionListNewLength=0;\r\n\t\tvar PageIndex = 1;\r\n\t\tvar PageSize = 10; \r\n\t\tvm.BillSearchText = '';\r\n\t\t$scope.dates = { startDate: moment().subtract(30, 'day'), endDate: moment() };\r\n\t\tvar startDate = moment().subtract(30, 'days').format(\"YYYY-MM-DD\");\r\n\t\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\t $scope.ranges = {\r\n\t\t 'Today': [moment(), moment()],\r\n\t\t 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t 'This month': [moment().startOf('month'), moment().endOf('month')]\r\n\t };\r\n\t vm.outsidedateRangeChange = function (ev, picker) {\r\n\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\tvm.GetAllBillsWithFilter();\r\n\t};\r\n /////Bill details Function\r\n\t $scope.totalInventory = 0;\r\n $scope.usersStockPageRequest = vm.financePageListCount;\r\n $scope.Requestpagination = {\r\n current: 1,\r\n };\r\n\r\n vm.changeMyStockPageListCount = function () {\r\n $scope.usersStockPageRequest = vm.financePageListCount;\r\n PageSize = $scope.usersStockPageRequest;\r\n // $scope.Requestpagination.current = 1;\r\n $scope.MystockTablePageChanged($scope.Requestpagination.current);\r\n\t\t vm.selectAll = false;\r\n\t\t\tPageIndex = $scope.Requestpagination.current;\r\n\t\t\t$scope.MystockTablePageChanged = function (newPage) {\r\n\t\t\t\tPageIndex = newPage;\r\n\t\t\t\tvm.GetAllBillsWithFilter();\r\n\t\t\t };\r\n \r\n };\r\n\t\tPageIndex = $scope.Requestpagination.current;\r\n\r\n $scope.MystockTablePageChanged = function (newPage) {\r\n PageIndex = newPage;\r\n vm.GetAllBillsWithFilter();\r\n };\r\n \r\n\r\n\t\tvm.GetAllBillsWithFilter = function () {\r\n\t\t\tvm.BillDetails = [];\r\n\t\t\tvar data = {\r\n\t\t\t \"PageIndex\": PageIndex,\r\n\t\t\t \"PageSize\": PageSize,\r\n\t\t\t \"SearchText\": vm.BillSearchText,\r\n\t\t\t \"FromDate\": startDate,\r\n\t\t\t \"ToDate\": endDate,\r\n\t\t\t \r\n\t\t\t};\r\n\t\t\tCustomerCRM360Service.GetAllBillsWithFilter(data,loggedinUser, token).then(\r\n\t\t\t function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t vm.BillDetails = resp.data.billList;\r\n\t\t\t\t $scope.totalInventory = resp.data.Count;\r\n\t\t\t\t// vm.totalInventoryValue = resp.data.InventoryTotal;\r\n\t\t\t\t if (vm.BillDetails.length < vm.financePageListCount) {\r\n\t\t\t\t\tvm.myStockListLength = $scope.totalInventory;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\tvm.myStockListLength = PageIndex * vm.financePageListCount;\r\n\t\t\t\t\t}\r\n\t\t\t\t if (PageIndex == 1){\r\n\t\t\t\t\tvm.countdpageindexCount = 1;\r\n\t\t\t\t } \r\n\t\t\t\t else{\r\n\t\t\t\t\tvm.countdpageindexCount =\r\n\t\t\t\t\t (PageIndex - 1) * vm.financePageListCount + 1;\r\n\t\t\t\t }\r\n\t\t\t\t}\r\n\t\t\t },\r\n\t\t\t function (error) { }\r\n\t\t\t);\r\n\t\t };\r\n\t\t var debounceTimeout;\r\n\t\t vm.searchByText = function () {\r\n\t\t\tif (debounceTimeout) clearTimeout(debounceTimeout);\r\n\t\t\tdebounceTimeout = setTimeout(function () {\r\n\t\t\t\tvm.PageIndex = 1;\r\n\t\t\t\tvm.GetAllBillsWithFilter();\r\n\t\t\t}, 300); // Adjust delay as needed\r\n\t\t};\r\n\t\t\r\n\t\tvm.clearbilldetails = function(){\r\n\t\t\tvm.BillSearchText = '';\r\n\t\t\tvm.GetAllBillsWithFilter();\r\n\t\t}\r\n\r\n\t\tvm.showPartDetails = false;\r\n\r\nvm.OpenPartDetailPanel = function (s) {\r\n\tvm.PartDetails = s;\r\n\t\r\n\tvm.showPartDetails = true;\r\n}\r\n\t\tvm.DisableCreateButton = function (disable) {\r\n\t\t\tif (disable) {\r\n\t\t\t\tvm.disableCreateButton = true;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.disableCreateButton = false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.timeSlots = [\r\n\t\t\t{ value: '08:00', label: '08:00 AM to 10:00 AM' },\r\n\t\t\t{ value: '10:00', label: '10:00 AM to 12:00 PM' },\r\n\t\t\t{ value: '12:00', label: '12:00 PM to 02:00 PM' },\r\n\t\t\t{ value: '14:00', label: '02:00 PM to 04:00 PM' },\r\n\t\t\t{ value: '16:00', label: '04:00 PM to 06:00 PM' },\r\n\t\t\t{ value: '18:00', label: '06:00 PM to 08:00 PM' }\r\n\t\t];\r\n\r\n\t function getCurrentDateTime() {\r\n return new Date();\r\n }\r\n\t$scope.showRecentActivity = (vm.accountid == '364' ||vm.loggedInUserRole == 'Dispatch Head');\r\n\r\n\t$scope.RecentActivity = $scope.showRecentActivity ? 1 : 0;\r\n\t$scope.Assets = $scope.showRecentActivity ? 0 : 1;\r\n\r\n\t$scope.$watch('showRecentActivity', function(newValue) {\r\n\t\t$scope.RecentActivity = newValue ? 1 : 0;\r\n\t\t$scope.Assets = newValue ? 0 : 1;\r\n\t});\r\n\t\r\n\r\n\r\n function isTimeSlotValid(slot) {\r\n var now = getCurrentDateTime();\r\n var selectedDate = moment(vm.AppointmentDate).format('YYYY-MM-DD');\r\n\r\n if (selectedDate) {\r\n if (!(selectedDate instanceof Date)) {\r\n selectedDate = new Date(selectedDate);\r\n }\r\n\r\n var slotTime = slot.value.split(':');\r\n var selectedDateTime = new Date(selectedDate);\r\n selectedDateTime.setHours(parseInt(slotTime[0]), parseInt(slotTime[1]), 0, 0);\r\n\r\n return selectedDateTime >= now;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n function updateAvailableTimeSlots() {\r\n $timeout(function() {\r\n vm.availableTimeSlots = vm.timeSlots.filter(isTimeSlotValid);\r\n\t\t\tselectDefaultTimeSlot();\r\n });\r\n }\r\n\r\n\tfunction selectDefaultTimeSlot() {\r\n if (vm.availableTimeSlots.length > 0) {\r\n vm.AppointmentTime = vm.availableTimeSlots[0].value;\r\n }\r\n }\r\n\r\n\tvm.minDate = new Date();\r\n\tvm.datepickerOptions = {\r\n\t\tminDate: vm.minDate\r\n\t};\r\n\r\n $scope.$watch('ctrlCRM360.AppointmentDate', function(newValue, oldValue) {\r\n if (newValue !== oldValue) {\r\n updateAvailableTimeSlots();\r\n }\r\n });\r\n\r\n updateAvailableTimeSlots();\r\n\r\n\t\tvm.isDateDisabled = function() {\r\n\t\t\treturn !vm.brandName || \r\n\t\t\t\t !vm.productGroup || \r\n\t\t\t\t !vm.product;\r\n\t\t};\r\n\r\n\t\tvm.getCurrentDate = function() {\r\n\t\t\tvar currentDate = new Date();\r\n\t\t\treturn currentDate;\r\n\t\t};\r\n\r\n vm.CreateTaskModel = function (asset) {\r\n vm.assetData = asset;\r\n vm.brandName = vm.assetData.Brand;\r\n vm.product = vm.assetData.AssetType;\r\n vm.productdefect = vm.assetData.Brand;\r\n vm.productGroup = vm.assetData.ProductGroup;\r\n\t vm.modelName = vm.assetData.ProductModel;\r\n\t vm.dateOfPurchase = vm.assetData.AssetPurchaseDate ? new Date(vm.assetData.AssetPurchaseDate) : null;\r\n\t vm.warrantyStatus = vm.assetData.AssetWarranty;\r\n\t vm.modelNumber = vm.assetData.ModelNumber;\r\n\t vm.dealername = vm.assetData.strDealerName;\r\n\t vm.dealercontact = vm.assetData.strDealerContact;\r\n\t vm.GetAllActiveProductModelMaster();\r\n vm.GetDefectTypeList();\r\n\t vm.GetWarrantyDetailsForProduct();\r\n\t\t\tvm.createtaskModelOpen = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'CreateTaskModel.html',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.CloseCreateTaskModel = function () {\r\n\t\t\tvm.createtaskModelOpen.close();\r\n\t\t\tvm.brandName = '';\r\n\t\t\tvm.productGroup = '';\r\n\t\t\tvm.modelName = '';\r\n\t\t\tvm.product = '';\r\n\t\t\tvm.productdefect = '';\r\n\t\t\tvm.caseDescription = '';\r\n\t\t\tvm.modelNumber = '';\r\n\t\t\tvm.warrantyStatus = '';\r\n\t\t\tvm.dateOfPurchase = '';\r\n\t\t\tvm.dealername = '';\r\n\t\t\tvm.dealercontact = '';\r\n\t\t\tvm.callType = 'Repair';\r\n\t\t\tvm.AppointmentDateTime = '';\r\n\t\t\tvm.WarrantyData = \"\";\r\n\t\t\tvm.AppointmentDate = moment().format('YYYY-MM-DD');\r\n\t\t\tupdateAvailableTimeSlots();\r\n\t\t\tvm.DisableCreateButton(false);\r\n\t\t}\r\n\t\r\n\tvm.UpdateDataModel = function () {\r\n\t\tvm.GetConsumerFullDetails(loggedinUser, token, vm.consumerContact)\r\n\t\tvm.EditcustomerModelOpen = $uibModal.open({\r\n\t\t\ttemplateUrl: 'EditCustomerModel.html',\r\n\t\t\tsize: 'lg',\r\n\t\t\tbackdrop: 'static',\r\n\t\t\tscope: $scope,\r\n\t\t});\r\n\t}\r\n\tvm.CloseUpdateDataModel = function () {\r\n\t\tvm.EditcustomerModelOpen.close();\r\n\t}\r\n\tvm.GetConsumerFullDetails = function () {\r\n\t\tCustomerCRM360Service.GetConsumerFullDetails(loggedinUser, token, vm.consumerContact).then(function (resp) {\r\n\t\t\tif (resp && resp.data && resp.status == 200) {\r\n\t\t\t\tvm.consumerData = resp.data;\r\n\t\t\t\tvm.consumerAddressData = resp.data.udListAddresses[0];\r\n\t\t\t\tvm.consumerTitle = vm.consumerData.strConsumerTitle;\r\n\t\t\t\tvm.consumerFirstName = vm.consumerData.strConsumerFirstName;\r\n\t\t\t\tvm.consumerLastName = vm.consumerData.strConsumerLastName;\r\n\t\t\t\tvm.consumerContact = vm.consumerData.strConsumerContact;\r\n\t\t\t\tvm.consumerAltContact = vm.consumerData.strConsumerAlternateContact;\r\n\t\t\t\tvm.PersonalEmail = vm.consumerData.strPersonalEmail;\r\n\t\t\t\tvm.consumerType = vm.consumerData.strConsumerType;\r\n\t\t\t\tvm.AddressType = vm.consumerAddressData.strAddressType;\r\n\t\t\t\tvm.consumerCity = (vm.consumerAddressData.strCity).toUpperCase();\r\n\t\t\t\tvm.consumerPincode = vm.consumerAddressData.strPostalCode;\r\n\t\t\t\tvm.consumerState = (vm.consumerAddressData.strState).toUpperCase();\r\n\t\t\t\tvm.AddressLine1 = vm.consumerAddressData.strAddress1;\r\n\t\t\t\tvm.AddressLine2 = vm.consumerAddressData.strAddress2;\r\n\t\t\t\tvm.AddressId = vm.consumerAddressData.strAddressId;\r\n\t\t\t\tvm.selectedState(vm.consumerState);\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message)\r\n\t\t\t}\r\n\t\t}, vm.showFailure);\r\n\t}\r\n\tif(vm.consumerContact){\r\n\t\tvm.GetConsumerFullDetails();\r\n\t}\r\n\r\n\tvm.GetAllTicketsForContact = function () {\r\n\t\tCustomerCRMListService.GetAllTicketsForContact(loggedinUser, token, vm.consumerContact).then(function (resp) {\r\n\t\t\tif (resp && resp.data && resp.status == 200) {\r\n\t\t\t\tvm.consumerAllTicketsData = resp.data;\r\n\t\t\t\tvm.ticketLength = resp.data.length;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message)\r\n\t\t\t}\r\n\t\t}, vm.showFailure);\r\n\t}\r\n\r\n\r\n\t$scope.searchConsumer = function(consumerContact) {\r\n\t\tvm.consumerContact = consumerContact;\r\n\t\tif (!consumerContact || consumerContact.length !== 10) {\r\n\t\t\talert('Please enter a valid 10-digit contact number.');\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tvm.GetAllTicketsForContact();\r\n\t\tvm.GetConsumerFullDetails();\r\n\t};\r\n\r\n\tvm.GetWarrantyDetailsForProduct = function () {\r\n\t\tvm.WarrantyData = \"\";\r\n\t\t\tvar data = {\r\n\t\t\t\t\"strBrandName\": vm.brandName,\r\n\t\t\t\t\"strProductGroup\": vm.productGroup,\r\n\t\t\t\t\"strProductName\": vm.product,\r\n\t\t\t\t\"dateOfPurchase\": moment(vm.dateOfPurchase).format('YYYY-MM-DD'),\r\n\t\t\t }\r\n\t\t\tCustomerCRMListService.GetWarrantyDetailsForProduct(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\tvm.WarrantyData = resp.data\r\n\t\t\t\t}\r\n\r\n\t\t\t});\r\n\t\t}\r\n\r\n vm.GetAllBrands = function () {\r\n CustomerCRMListService.GetAllBrands(loggedinUser,token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.BrandList = resp.data;\r\n }\r\n }, vm.showFailure);\r\n }\r\n vm.GetAllBrands();\r\n\r\n vm.GetBrandProductGroup = function () {\r\n var data = {\r\n \"strBrandName\": vm.brandName\r\n }\r\n CustomerCRMListService.GetBrandProductGroup(data,loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.PartGroupList = resp.data;\r\n }\r\n });\r\n }\r\n\r\n vm.GetAllProductsForBrand = function () {\r\n var data = {\r\n \"strBrandName\": vm.brandName,\r\n \"strProductGroup\": vm.productGroup\r\n }\r\n CustomerCRMListService.GetAllProductsForBrand(data,loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.ProductList = resp.data;\r\n }\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.GetAllActiveProductModelMaster = function () {\r\n\tCustomerCRMListService.GetAllActiveProductModelMaster(vm.product,vm.brandName, loggedinUser, token).then(function (resp) {\r\n\t if (resp && resp.data) {\r\n\t\tvm.AllActiveProductModelNoList = resp.data;\r\n\t }\r\n\t})\r\n }\r\n\r\n\r\n vm.GetDefectTypeList = function () {\r\n var data = {\r\n \"strBrandName\": vm.brandName,\r\n \"strProductGroup\": vm.productGroup,\r\n \"strProductName\": vm.product,\r\n\t \"strCallType\" : vm.callType\r\n }\r\n CustomerCRMListService.GetDefectTypeList(data,loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.DefectList = resp.data;\r\n }\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.CreateCase = function () {\r\n vm.dialertask_form.submitted = true;\r\n if (vm.dialertask_form.$valid) {\r\n vm.DisableCreateButton(true);\r\n data = {\r\n \"BrandName\": vm.brandName,\r\n\t\t\"ProductGroup\": vm.productGroup,\r\n\t\t\"ProductName\": vm.modelName,\r\n\t\t\"ModelNumber\": vm.modelNumber,\r\n\t\t\"AppointmentDateTime\" : moment(vm.AppointmentDate).format('YYYY-MM-DD') + ' ' + vm.AppointmentTime,\r\n\t\t\"DefectType\": vm.productdefect + ' - ' + vm.caseDescription,\r\n\t\t\"MMFSkillMapped\": vm.DefectList.strMMFSkillMapped,\r\n\t\t\"ConusmerContact\": vm.consumerContact,\r\n\t\t\"CallType\": vm.callType,\r\n\t\t\"DateOfPurchase\": moment(vm.dateOfPurchase).format('YYYY-MM-DD'),\r\n\t\t\"WarrantyStatus\": vm.warrantyStatus,\r\n\t\t\"strDealerName\" : vm.dealername,\r\n\t \"strDealerContact\" : vm.dealercontact\r\n }\r\n CustomerCRMListService.CreateCase(data, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", 'Case created successfully.');\r\n setTimeout(function () {\r\n vm.CloseCreateTaskModel();\r\n vm.GetAllTicketsForContact();\r\n }, 1000);\r\n }\r\n else {\r\n vm.DisableCreateButton(false);\r\n vm.showFailure('Failed', resp.data.Message);\r\n }\r\n\r\n });\r\n }\r\n }\r\n\r\n\t\r\n\tfunction getAllStates() {\r\n\t\tvar defered = $q.defer();\r\n\t\tReferService.getAllState(loggedinUser, token).then(function (resp) {\r\n\t\t\tdefered.resolve(resp);\r\n\t\t}, function (error) {\r\n\t\t\tdefered.reject(error);\r\n\t\t});\r\n\t\treturn defered.promise;\r\n\t}\r\n\r\n\tvar allStatePromise = getAllStates(loggedinUser);\r\n\tallStatePromise.then(function (resp) {\r\n\t\tvm.StateList = resp.data;\r\n\r\n\t});\r\n\tfunction getallCities(state) {\r\n\t\tReferService.getAllCity(loggedinUser, state, token).then(function (resp) {\r\n\t\t\tvm.CityList = resp.data;\r\n\t\t});\r\n\t}\r\n\tvm.selectedState = function (state) {\r\n\t\tif(vm.selectedOption == 'pincode'){\r\n\t\t\tgetallCities(state);\r\n\t\t}\r\n\t\tif(vm.selectedOption == 'area'){\r\n\t\t\tgetareaallCities(state);\r\n\t\t}\r\n\t}\r\n\r\n\tvm.onOptionChange = function (option) {\r\n\t\tvm.consumerPincode = '';\r\n\t\tvm.consumerCity = '';\r\n\t\tvm.consumerArea = '';\r\n\t\tvm.AreaList = [];\r\n\t\tvm.selectedState(vm.consumerState)\r\n\t };\r\n\r\n\tfunction getareaallCities(state) {\r\n\t\tvm.AreaCityList = [];\r\n\t\tCustomerCRMListService.getAllCity(loggedinUser, state, token).then(function (resp) {\r\n\t\t\tvm.AreaCityList = resp.data;\r\n\t\t});\r\n\t}\r\n\r\n\tfunction GetAllAreaByStateCity() {\r\n\t\tvm.AreaList = [];\r\n\t\tCustomerCRMListService.GetAllAreaByStateCity(loggedinUser, token, vm.consumerState,vm.consumerCity).then(function (resp) {\r\n\t\t\tif(resp.data && resp.status == 200){\r\n\t\t\t\tvm.AreaList = resp.data;\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tvm.showFailure(\"Failed\",resp)\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\r\n\tvm.GetAddressFromPinCode = function (consumerPincode) {\r\n\t\tvm.findPincode = consumerPincode;\r\n\t\tCustomerCRMListService.GetAddressFromPinCode(vm.findPincode, loggedinUser, token).then(function (resp) {\r\n\t\t\tif (resp && resp.data) {\r\n\t\t\t\tvm.AddressData = resp.data;\r\n\t\t\t\tvm.consumerState = resp.data.State.toUpperCase();\r\n\t\t\t\tvm.selectedState(vm.consumerState);\r\n\t\t\t\tvm.consumerCity = resp.data.City.toUpperCase();\r\n\t\t\t}\r\n\t\t}, vm.showFailure);\r\n\t}\r\n\r\n\tvm.selectedcity = function () {\r\n\t\tGetAllAreaByStateCity();\r\n\t}\r\n\r\n\tfunction GetAllPincodeBYAreaStateCity() {\r\n\t\tvm.PincodeList = [];\r\n\t\tCustomerCRMListService.GetAllPincodeBYAreaStateCity(loggedinUser, token,vm.consumerState,vm.consumerCity, vm.consumerArea).then(function (resp) {\r\n\t\t\tvm.PincodeList = resp.data;\r\n\t\t});\r\n\t}\r\n\r\n\tvm.selectedArea = function () {\r\n\t\tGetAllPincodeBYAreaStateCity();\r\n\t}\r\n\r\n\tvm.GetConsumerAssets = function () {\r\n\t\tCustomerCRM360Service.GetConsumerAssets(loggedinUser, token, vm.consumerContact).then(function (resp) {\r\n\t\t\tif (resp && resp.data && resp.status == 200) {\r\n\t\t\t\tvm.consumerAssetData = resp.data;\r\n\t\t\t\tvm.consumerAssetDataLength = resp.data.length;\r\n\t\t\t}\r\n\t\t}, vm.showFailure);\r\n\t}\r\n\tif(vm.consumerContact){\r\n\t\tvm.GetAllTicketsForContact();\r\n\t\tvm.GetConsumerFullDetails();\r\n\t\tvm.GetConsumerAssets();\r\n\t}\r\n\r\n\tvm.UpdateConsumer = function () {\r\n\t\tvm.editprofile_form.submitted = true;\r\n\t\tif (vm.editprofile_form.$valid) {\r\n\t\t\tvm.DisableCreateButton(true);\r\n\t\t\tdata = {\r\n\t\t\t\t\"strConsumerTitle\": vm.consumerTitle,\r\n\t\t\t\t\"strConsumerFirstName\": vm.consumerFirstName,\r\n\t\t\t\t\"strConsumerLastName\": vm.consumerLastName,\r\n\t\t\t\t\"strConsumerContact\": vm.consumerContact,\r\n\t\t\t\t\"strConsumerAlternateContact\": vm.consumerAltContact,\r\n\t\t\t\t\"strPersonalEmail\": vm.PersonalEmail,\r\n\t\t\t\t\"strConsumerArea\": \"string\",\r\n\t\t\t\t\"strConsumerLandMark\": \"string\",\r\n\t\t\t\t\"strConsumerType\": vm.consumerType,\r\n\t\t\t\t\"udListAddresses\": [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\"strAddressId\": vm.AddressId,\r\n\t\t\t\t\t\t\"strAddressType\": vm.AddressType,\r\n\t\t\t\t\t\t\"strAddress1\": vm.AddressLine1,\r\n\t\t\t\t\t\t\"strAddress2\": vm.AddressLine2,\r\n\t\t\t\t\t\t\"strCity\": vm.consumerCity.toUpperCase(),\r\n\t\t\t\t\t\t\"strDistrict\": \"string\",\r\n\t\t\t\t\t\t\"strPostalCode\": vm.consumerPincode,\r\n\t\t\t\t\t\t\"strState\": vm.consumerState.toUpperCase(),\r\n\t\t\t\t\t\t\"strCountry\": \"India\",\r\n\t\t\t\t\t\t\"bIsDefaultAddress\": true\r\n\t\t\t\t\t}\r\n\t\t\t\t]\r\n\t\t\t}\r\n\t\t\tCustomerCRM360Service.UpdateConsumer(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\tvm.showSuccess(\"Success\", 'Consumer details updated successfully.');\r\n\t\t\t\t\tvm.CloseUpdateDataModel();\r\n\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\tvm.GetConsumerFullDetails();\r\n\t\t\t\t\t\tvm.clearCustomerData();\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\tvm.showFailure('Failed', resp.data.Message);\r\n\t\t\t\t}\r\n\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tvm.clearCustomerData = function () {\r\n\t\tvm.consumerTitle = 'Mr.';\r\n\t\tvm.consumerFirstName = '';\r\n\t\tvm.consumerLastName = '';\r\n\t\tvm.consumerContact = '';\r\n\t\tvm.consumerAltContact = '';\r\n\t\tvm.PersonalEmail = '';\r\n\t\tvm.consumerType = '';\r\n\t\tvm.AddressType = '';\r\n\t\tvm.consumerCity = '';\r\n\t\tvm.consumerPincode = '';\r\n\t\tvm.consumerState = '';\r\n\t\tvm.AddressLine1 = '';\r\n\t\tvm.AddressLine2 = '';\r\n\t\tvm.AddressId = '';\r\n\t}\r\n\r\n\tvm.consumerAllTicketsData = [];\r\n \r\n\tvm.GetSearchServiceCenter = function () {\r\n\t\tServiceCenterListService.GetSearchServiceCenter(loggedinUser,token,vm.searchtext).then(function (resp) {\r\n\t\t\tif (resp && resp.data && resp.status == 200) {\r\n\t\t\t\tvm.consumerAllTicketsData = resp.data;\r\n\t\t\t\tvm.IsConsumerFound = true;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\tvm.IsConsumerFound = false;\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message)\r\n\t\t\t}\r\n\t\t}, vm.showFailure);\r\n\t}\r\n\tvm.GetSearchServiceCenter();\r\n\tvm.ResetFilter = function(){\r\n\t\tvm.searchtext = '';\r\n\t\tvm.GetSearchServiceCenter();\r\n\t\t// vm.consumerAllTicketsData = '';\r\n\t\t// vm.IsConsumerFound = false;\r\n\t}\r\n\t\r\n\tvm.InventoryImageServices = function (img, rowIndex, imageIndex) {\r\n\t\tMainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n\t\t\tif (resp.data == null || resp.data == '') {\r\n\t\t\t\tvm.InventoryImagebase64[rowIndex][imageIndex] = 'assets/images/patterns/image_placeholder.png';\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif (!vm.InventoryImagebase64[rowIndex]) {\r\n\t\t\t\t\tvm.InventoryImagebase64[rowIndex] = [];\r\n\t\t\t\t}\r\n\t\t\t\tvm.InventoryImagebase64[rowIndex][imageIndex] = resp.data;\r\n\t\t\t}\r\n\t\t}, function () {\r\n\t\t\tvm.InventoryImagebase64[rowIndex][imageIndex] = 'assets/images/patterns/image_placeholder.png';\r\n\t\t});\r\n\t}\r\n\tvm.GetAllVisibleMasterParts = function () {\r\n\t\tvar data = {\r\n\t\t\t\"PartName\": vm.selectedPart,\r\n\t\t\t\"PartCategoryGroup\": vm.productGroup,\r\n\t\t\t\"PartBrand\": vm.brandName,\r\n\t\t\t\"PartSubGroup\": vm.partName,\r\n\t\t\t\"SearchText\": vm.searchTag\r\n\t\t}\r\n\t\tInventoryItemListService.GetAllVisibleMasterParts(data, loggedinUser, token).then(function (resp) {\r\n\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\tvm.masterInventoryList = resp.data;\r\n\t\t\t\tvm.masterInventoryList.forEach(function (item, rowIndex) {\r\n\t\t\t\t\tif (item.PartImages && Array.isArray(item.PartImages)) {\r\n\t\t\t\t\t\tvm.InventoryImagebase64[rowIndex] = [];\r\n\t\t\t\t\t\titem.PartImages.forEach(function (image, imageIndex) {\r\n\t\t\t\t\t\t\tvm.InventoryImageServices(image, rowIndex, imageIndex);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}, vm.showFailure);\r\n\t}\r\n\tvm.GetAllVisibleMasterParts();\r\n\tvm.GetItemBrandName = function () {\r\n\t\tInventoryCartService.GetItemBrandName(loggedinUser, token).then(function (resp) {\r\n\t\t\tif (resp && resp.data) {\r\n\t\t\t\tvm.BrandList = resp.data;\r\n\t\t\t}\r\n\t\t}, vm.showFailure);\r\n\t};\r\n\tvm.GetItemBrandName();\r\n\r\n\r\n\tvm.GetItemGroupName = function () {\r\n\t\tif (!vm.brandName) {\r\n\t\t\tvm.brandName = \"\";\r\n\t\t}\r\n\t\tInventoryCartService.GetItemGroupName(vm.brandName, loggedinUser, token).then(\r\n\t\t\tfunction (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.PartNameList = resp.data;\r\n\t\t\t\t\t// vm.changeCategoryFilter();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t);\r\n\t};\r\n\tvm.GetItemGroupName();\r\n\tvm.GetItemListName = function () {\r\n\t\tif (!vm.productGroup) {\r\n\t\t\tvm.productGroup = \"\";\r\n\t\t}\r\n\t\tInventoryCartService.GetItemListName(vm.brandName,vm.productGroup,loggedinUser, token).then(function (resp) {\r\n\t\t\tif (resp && resp.data) {\r\n\t\t\t\tvm.PartList = resp.data;\r\n\t\t\t\t// vm.changeCategoryFilter();\r\n\t\t\t}\r\n\t\t}, vm.showFailure);\r\n\t};\r\n\tvm.GetItemListName();\r\n\r\n\tvm.PartListWithFilter = [];\r\n\r\n\tvm.GetItemPartName = function () {\r\n\t vm.PartListWithFilter = [];\r\n\t if (!vm.partName) {\r\n\t\tvm.partName = \"\";\r\n\t }\r\n\t InventoryItemListService.GetItemPartName(vm.brandName,vm.productGroup,vm.partName,loggedinUser,token).then(function (resp) {\r\n\t\tif (resp.data && resp.status == 200) {\r\n\t\t vm.PartListWithFilter = resp.data;\r\n\t\t}\r\n\t }, vm.showFailure);\r\n\t};\r\n\tvm.GetItemPartName();\r\n\r\n\tvm.exportToCSV = function () {\r\n\t\tvar csv = [];\r\n\t\tvar header;\r\n\t\tvar includePriceAndDiscount = (vm.loggedInUserRole !== 'Help Desk');\r\n\r\n\t\tif (includePriceAndDiscount) {\r\n\t\t\theader = [\r\n\t\t\t\t\"Part ID\",\r\n\t\t\t\t\"Name\",\r\n\t\t\t\t\"SKU ID\",\r\n\t\t\t\t\"Brand\",\r\n\t\t\t\t\"Category Group\",\r\n\t\t\t\t\"Manufacturer\",\r\n\t\t\t\t\"Model Number\",\r\n\t\t\t\t// \"Part Price\",\r\n\t\t\t\t\"Service Center Price\",\r\n\t\t\t\t// \"Discount (%)\",\r\n\t\t\t\t\"IGST (%)\",\r\n\t\t\t\t\"CGST(%)\",\r\n\t\t\t\t\"SGST(%)\"\r\n\t\t\t].join(\",\") + \"\\n\";\r\n\t\t} else {\r\n\t\t\theader = [\r\n\t\t\t\t\"Part ID\",\r\n\t\t\t\t\"Name\",\r\n\t\t\t\t\"SKU ID\",\r\n\t\t\t\t\"Brand\",\r\n\t\t\t\t\"Category Group\",\r\n\t\t\t\t\"Manufacturer\",\r\n\t\t\t\t\"Model Number\",\r\n\t\t\t\t\"Service Center Price\",\r\n\t\t\t\t\"IGST (%)\",\r\n\t\t\t\t\"CGST(%)\",\r\n\t\t\t\t\"SGST(%)\"\r\n\t\t\t].join(\",\") + \"\\n\";\r\n\t\t}\r\n\r\n\t\tcsv.push(header);\r\n\t\tvm.masterInventoryList.forEach(function (item) {\r\n\t\t\tvar row;\r\n\r\n\t\t\tif (includePriceAndDiscount) {\r\n\t\t\t\trow = [\r\n\t\t\t\t\titem.MMFPartId,\r\n\t\t\t\t\titem.PartName,\r\n\t\t\t\t\titem.SKUId,\r\n\t\t\t\t\titem.PartBrand,\r\n\t\t\t\t\titem.PartCategoryGroup,\r\n\t\t\t\t\titem.Manufacturer,\r\n\t\t\t\t\titem.ModelNumber,\r\n\t\t\t\t\t// item.PartPrice,\r\n\t\t\t\t\titem.PartSellingPrice,\r\n\t\t\t\t\t// item.PartDiscountPercentage,\r\n\t\t\t\t\titem.dIGSTTax,\r\n\t\t\t\t\titem.dCGSTTax,\r\n\t\t\t\t\titem.dSGSTTax\r\n\t\t\t\t].join(\",\") + \"\\n\";\r\n\t\t\t} else {\r\n\t\t\t\trow = [\r\n\t\t\t\t\titem.MMFPartId,\r\n\t\t\t\t\titem.PartName,\r\n\t\t\t\t\titem.SKUId,\r\n\t\t\t\t\titem.PartBrand,\r\n\t\t\t\t\titem.PartCategoryGroup,\r\n\t\t\t\t\titem.Manufacturer,\r\n\t\t\t\t\titem.ModelNumber,\r\n\t\t\t\t\titem.PartSellingPrice,\r\n\t\t\t\t\titem.dIGSTTax,\r\n\t\t\t\t\titem.dCGSTTax,\r\n\t\t\t\t\titem.dSGSTTax\r\n\t\t\t\t].join(\",\") + \"\\n\";\r\n\t\t\t}\r\n\r\n\t\t\tcsv.push(row);\r\n\t\t});\r\n\r\n\t\tvar csvContent = csv.join('');\r\n\t\tvar blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });\r\n\t\tvar url = URL.createObjectURL(blob);\r\n\r\n\t\tvar a = document.createElement('a');\r\n\t\ta.href = url;\r\n\t\ta.target = '_blank';\r\n\t\ta.download = 'inventory_data.csv';\r\n\t\tdocument.body.appendChild(a);\r\n\t\ta.click();\r\n\t\tdocument.body.removeChild(a);\r\n\t};\r\n\r\n\tvm.PartBrand = '';\r\n\r\n\tvm.GetAllBrandMasterStringList = function () {\r\n\t\tvar data = {\r\n\t\t\t\"strBrandName\": \"\",\r\n\t\t\t\"strProductGroup\": \"\",\r\n\t\t\t\"strProductName\": \"\"\r\n\t\t}\r\n\t\tInventoryItemListService.GetAllBrandMasterStringList(data, loggedinUser, token).then(function (resp) {\r\n\t\t\tif (resp && resp.data) {\r\n\t\t\t\tvm.AllBrandList = resp.data;\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tvm.GetAllBrandMasterStringList();\r\n\r\n\tvm.GetAllProductGroupMasterStringList = function () {\r\n\t\tvar data = {\r\n\t\t\t\"strBrandName\": vm.PartBrand,\r\n\t\t\t\"strProductGroup\": \"\",\r\n\t\t\t\"strProductName\": \"\"\r\n\t\t}\r\n\t\tInventoryItemListService.GetAllProductGroupMasterStringList(data, loggedinUser, token).then(function (resp) {\r\n\t\t\tif (resp && resp.data) {\r\n\t\t\t\tvm.AllProductList = resp.data;\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\t////followup\r\n\tvm.OpenFollowUpModel = function (ticketId) {\r\n\t\tvm.followup = '';\r\n\t\tvm.tickId = ticketId;\r\n\t\tFollowUpModel = $uibModal.open({\r\n\t\t\ttemplateUrl: 'FollowupJob.html',\r\n\t\t\tbackdrop: 'static',\r\n\t\t\tscope: $scope,\r\n\t\t\tsize: \"lg\",\r\n\t\t\tcontroller: ModalInstanceCtrlFollowUp,\r\n\t\t});\r\n\t}\r\n\r\n\tvm.CloseFollowUpModel = function () {\r\n\t\tvm.primaryFollowUpReason = '';\r\n\t\tvm.primaryFollowUpRemark = '';\r\n\t\tvm.primaryHoldReason = '';\r\n\t\tvm.primaryHoldRemark = '';\r\n\t\tvm.followFiles = null;\r\n\t\tFollowUpModel.close();\r\n\t}\r\n\r\n\tvm.GetFollowupReasons = function () {\r\n\t\tCentralHDTicketsViewService.GetReasonsByStatus(loggedinUser, token, 'FollowUp').then(function (resp) {\r\n\t\t\tif (resp && resp.data) {\r\n\t\t\t\tvm.reasonsForFU = resp.data;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\tvm.GetFollowupReasons();\r\n\tvar ModalInstanceCtrlFollowUp = function ($scope, $rootScope, $uibModalInstance) {\r\n\t\tvm.updateFollowUpStatus = function () {\r\n\t\t\tvm.followupdialog.submitted = true\r\n\t\t\tif(vm.followupdialog.$valid){\r\n\t\t\tvar data = {};\r\n\t\t\tdata = {\r\n\t\t\t\t\"userId\": loggedinUser,\r\n\t\t\t\t\"dateTime\": \"\",\r\n\t\t\t\t\"activity\": \"\",\r\n\t\t\t\t\"action\": \"FOLLOW_UP\",\r\n\t\t\t\t\"userName\": \"\",\r\n\t\t\t\t\"ticketId\": vm.tickId,\r\n\t\t\t\t\"primaryReason\": vm.primaryFollowUpReason,\r\n\t\t\t\t\"SecondryReason\": \"\",\r\n\t\t\t\t\"ReasonComment\": vm.primaryFollowUpRemark\r\n\t\t\t}\r\n\t\t\tif (vm.followFiles != null) {\r\n\t\t\t\tCentralHDTicketsViewService.TicketFollowUp(data, vm.followFiles, token, loggedinUser, function (res) {\r\n\t\t\t\t\tif (res && res.status == 201) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Follow up done successfully.\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\tvm.CloseFollowUpModel();\r\n\t\t\t\t\t\t}, 1000);\r\n\t\t\t\t\t} else if (res && res.data && res.data.Message) {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", res.data.Message);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", \"Unable to create follow up. Server is not responding correctly.\");\r\n\t\t\t\t\t}\r\n\t\t\t\t}, vm.showFailure);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tCentralHDTicketsViewService.TicketFollowUpWithoutDoc(data, token, loggedinUser, function (res) {\r\n\t\t\t\t\tif (res) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", \"Follow up done successfully.\");\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\tvm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n\t\t\t\t\t\t\tvm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n\t\t\t\t\t\t}, 1000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.CloseFollowUpModel();\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t}\r\n\r\n\r\n\tvm.GetAllFollowUpForJob = function (ticketId) {\r\n\t\tCentralHDTicketsViewService.GetAllFollowUpForJob(ticketId, loggedinUser, token).then(function (resp) {\r\n\t\t\tif (resp && resp.data && resp.status == 200) {\r\n\t\t\t\tvm.getfollowUpList = resp.data;\r\n\t\t\t}\r\n\r\n\t\t}, function () {\r\n\t\t});\r\n\t}\r\n\r\n\tvm.pdfimage = \"\";\r\n\tvm.DocumentAvailableMessage = \"\";\r\n\tvm.downloadOnSiteReport = function (ticketId) {\r\n\t\tvm.PDFViewRport();\r\n\t\tCustomerCRMListService.downloadOnSiteReport(loggedinUser, token, ticketId).then(function (resp) {\r\n\t\t\tvm.responseDataList = resp.data;\r\n\t\t\tvar arrrayBuffer = base64ToArrayBuffer(vm.responseDataList);\r\n\t\t\tvar blob = new Blob([arrrayBuffer], { type: \"application/pdf\" });\r\n\t\t\tvm.pdfimage = URL.createObjectURL(blob);\r\n\t\t\tvm.IsLoadSucessfull = true;\r\n\t\t});\r\n\t}\r\n\tvm.PDFViewRport = function (page) {\r\n\t\tvm.pdfimage = \"\";\r\n\t\tvm.IsLoadSucessfull = false;\r\n\t\t$scope.selected = null;\r\n\t\tjobAppointmentModalReport = $uibModal.open({\r\n\t\t\ttemplateUrl: 'PDFViewDownload.html',\r\n\t\t\tsize: 'lg',\r\n\t\t\tscope: $scope\r\n\t\t});\r\n\r\n\t}\r\n\tvm.PDFUserModalReport = function () {\r\n\t\tjobAppointmentModalReport.close();\r\n\t}\r\n\r\n\tfunction base64ToArrayBuffer(base64) {\r\n\t\tvar ret = base64.replace('data:application/pdf;base64,', '');\r\n\t\tvar binaryString = atob(ret);\r\n\t\tvar binaryLen = binaryString.length;\r\n\t\tvar bytes = new Uint8Array(binaryLen);\r\n\t\tfor (var i = 0; i < binaryLen; i++) {\r\n\t\t\tvar ascii = binaryString.charCodeAt(i);\r\n\t\t\tbytes[i] = ascii;\r\n\t\t}\r\n\t\treturn bytes;\r\n\t}\r\n\r\n\r\n\tvm.GetAllProductMasterStringList = function () {\r\n\t\tvar data = {\r\n\t\t\t\"strBrandName\": vm.PartBrand,\r\n\t\t\t\"strProductGroup\": vm.PartCategoryGroup,\r\n\t\t\t\"strProductName\": \"\"\r\n\t\t}\r\n\t\tInventoryItemListService.GetAllProductMasterStringList(data, loggedinUser, token).then(function (resp) {\r\n\t\t\tif (resp && resp.data) {\r\n\t\t\t\tvm.AllBrandProductList = resp.data;\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\tvm.clearFilter = function(){\r\n\t\tvm.searchTag = '';\r\n\t\tvm.brandName ='';\r\n\t\tvm.partName = '';\r\n\t\tvm.productGroup = '';\r\n\t\tvm.modelName = '';\r\n\t\tvm.selectedPart = '';\r\n\t\tvm.GetAllVisibleMasterParts();\r\n\t}\r\n\tvm.OpenShareDetails = function (Type) {\r\n\t\tvm.shareType = Type\r\n\t\tvm.opensharewithtype = $uibModal.open({\r\n\t\t\ttemplateUrl: 'ShareDetailwithtypeModal.html',\r\n\t\t\tsize: 'md',\r\n\t\t\tbackdrop: 'static',\r\n\t\t\tscope: $scope,\r\n\t\t});\r\n\t};\r\n\tvm.CloseAreaConfirmationModal = function () {\r\n\t\tvm.opensharewithtype.close();\r\n\t\tvm.phoneNumber = '';\r\n\t\tvm.infoemail = '';\r\n\t}\r\n\r\n\tvm.share = function(shareType) {\r\n\t\tvm.shareinfo_form.submitted = true;\r\n\t\tif (shareType === 'SMS' || shareType === 'Whatsapp') {\r\n\t\t if (vm.shareinfo_form.contactphone.$valid) {\r\n\t\t\tvm.showSuccess(\"Successfully Sending\" + shareType + 'to' + vm.phoneNumber);\r\n\t\t\tvm.CloseAreaConfirmationModal();\r\n\t\t } \r\n\t\t\r\n\t\t} else if (shareType === 'Email') {\r\n\t\t if (vm.shareinfo_form.emailid.$valid) {\r\n\t\t\tvm.showSuccess('Sending Email to', vm.infoemail);\r\n\t\t\tvm.CloseAreaConfirmationModal();\r\n\t\t } \r\n\t\t \r\n\t\t}\r\n\t };\r\n\r\n}\r\n\r\n});\r\n\nangular.module('inspinia').service('CustomerFormCreationLatestService', function (ApiURL, LocationURL, $log, $http, $localStorage,PublicApiURL) {\r\n var url = ApiURL + '/api/Customer';\r\n this.CreateCustomer = function (customerFormData,loggedinUser, token) {\r\n var url = ApiURL + '/api/Customer?reqUserId=' + loggedinUser;\r\n return $http.post(url, customerFormData,{\r\n headers: { 'Content-Type': 'application/json','Token':token, 'UserId': loggedinUser}});\r\n }\r\n\r\n this.updateCustomer = function (customerFormData,loggedinUser, token) {\r\n var url = ApiURL + '/api/Customer?reqUserId=' +loggedinUser;\r\n return $http.put(url, customerFormData,{\r\n headers: { 'Content-Type': 'application/json','Token':token, 'UserId': loggedinUser}});\r\n }\r\n\r\n //http://192.168.0.80/CoreAPI/api/Customer/CreateCustomer\r\n this.PostCustomer = function(data,loggedinUser,token){\r\n var url = ApiURL+ '/api/Customer/CreateCustomer';\r\n return $http.post(url,data,{\r\n headers:{'Content-Type':'application/json','Token':token, 'UserId': loggedinUser}\r\n });\r\n }\r\n\r\n //http://192.168.0.80/CoreAPI/api/Customer/UpdateCustomer\r\nthis.PutCustomer = function(data,loggedinUser,token){\r\n var url = ApiURL+'/api/Customer/UpdateCustomer';\r\n return $http.put(url,data,{\r\n headers:{'Content-Type':'application/json','Token':token, 'UserId': loggedinUser}\r\n })\r\n}\r\n\r\n // this.getAllState = function () {\r\n // var url ='https://www.whizapi.com/api/v2/util/ui/in/indian-states-list?project-app-key=kikyizsnfakr15qmf9pruqj4';\r\n // return $http.get(url, {\r\n // params: {}\r\n // });\r\n // }\r\n \r\n // this.getAllCity = function (state) {\r\n // var url = 'https://www.whizapi.com/api/v2/util/ui/in/indian-city-by-state?stateid='+state+'&project-app-key=3p9plzgtuq9aoym4bsxc4l6k';\r\n // return $http.get(url);\r\n // }\r\n\r\n //https://test.mymobiforce.com/publicapi/api/Location/GetRegion?userId=U370000000001\r\n this.GetRegion = function(loggedInUserId, token){\r\n var url = PublicApiURL + '/api/Location/GetRegion?userId='+ loggedInUserId;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId': loggedInUserId}\r\n })\r\n }\r\n\r\n //https://test.mymobiforce.com/publicapi/api/Location/GetSubRegion?userId=U370000000001®ion=North\r\n this.GetSubRegion = function(loggedInUserId, token, region){\r\n var url = PublicApiURL + '/api/Location/GetSubRegion?userId='+ loggedInUserId + '®ion='+ region;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId': loggedInUserId}\r\n })\r\n }\r\n //https://test.mymobiforce.com/publicapi/api/Location/GetCity?userId=U360000000001&subregion=noida\r\n this.GetCityBySubRegion = function(loggedInUserId, subRegion, token){\r\n var subRegion1 = subRegion.replace(\"&\", \"%26\");\r\n var url = PublicApiURL + '/api/Location/GetCity?userId='+ loggedInUserId + '&subregion='+ subRegion;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId': loggedInUserId}\r\n })\r\n }\r\n\r\n this.getAllState = function (loggedinUser) {\r\n var url = LocationURL+'/api/Location/'+loggedinUser+'/GetAllStates';\r\n return $http.get(url, {\r\n params: {}\r\n });\r\n }\r\n this.getAllCity = function (state) {\r\n var url = LocationURL+'/api/Location/'+$localStorage.loggedInUserId+'/'+state+'/GetCitiesByState';\r\n return $http.get(url);\r\n }\r\n\r\n this.getAllPincode = function () {\r\n var url = 'https://www.whizapi.com/api/v2/util/ui/in/indian-postal-codes?search=city&project-app-key=pso222ywjvx996b93gd8wpp6';\r\n return $http.get(url, {\r\n params: {}\r\n });\r\n }\r\n \r\n});\nangular.module('inspinia').controller('CustomerFormLatestController', function (VendorCreationService,TeamFormCreationService, ProjectCreationService, $state, $timeout, $log, $stateParams, $localStorage, CustomerFormCreationLatestService, CustomerProfileService, toaster, $q, $scope) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n var circleArray;\r\n vm.isDisabled = false;\r\n vm.POCList = [];\r\n vm.circleArray='';\r\n if (!loggedinUser) {\r\n $state.go('Login',{\r\n reload:true\r\n });\r\n }else{\r\n if($state.current.name=='index.CustomerCreateLatest') {\r\n var POC_1 = {\r\n // FirstNameOf_1: \"\",\r\n // LastNameOf_1: \"\",\r\n // MobileOf_1: '',\r\n // OtherMobileOf_1: \"\",\r\n // EmailOf_1: \"\"\r\n };\r\n vm.POCList.push(POC_1);\r\n }\r\n \r\n angular.element(document).ready(function () {\r\n angular.element('ul[side-navigation]').find('a[ui-sref=\"index.CustomerNewLatest\"]').parent().prop('class', 'active');\r\n });\r\n\r\n ///Global Variables Declaration\r\n var customerId_ForUpdate = $stateParams.customerId;\r\n vm.saveAndNewFlag = false;\r\n vm.editMode = false;\r\n vm.address_option = 'Yes';\r\n vm.officeFormValidation = false;\r\n vm.isCollapsed = false;\r\n vm.isUserDetailCollapsed = false;\r\n vm.isOfficeUseCollapsed = true;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.EnableRegion = vm.getAccountConfigSetting('EnableRegion');\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n vm.UnqiueItemOneValue = vm.getAccountConfigSetting('UniqueOne');\r\n vm.UnqiueItemTwoValue = vm.getAccountConfigSetting('UniqueTwo');\r\n vm.title = '';\r\n vm.RegionList = '';\r\n // vm.CityList = '';\r\n vm.last_name = '';\r\n vm.gender = '';\r\n vm.address1 = '';\r\n vm.address2 = '';\r\n vm.permanent_city = '';\r\n vm.state = '';\r\n vm.pincode = '';\r\n vm.mobile_number = '';\r\n vm.other_number = '';\r\n vm.first_name = '';\r\n vm.email = '';\r\n vm.business_number = '';\r\n vm.company_name = '';\r\n vm.CustomerDescription = '';\r\n\r\n //var allStatePromise = getAllStates(loggedinUser);\r\n\r\n /*allStatePromise.then(function (resp) {\r\n vm.stateList = resp.data;\r\n if ($state.current.name == 'index.CustomerEdit') {\r\n vm.editMode = true;\r\n CustomerProfileService.getCustomerInfo(customerId_ForUpdate, loggedinUser,token).then(function (resp) {\r\n var customerData = resp.data;\r\n vm.address1 = customerData.Address1;\r\n vm.address2 = customerData.Address2;\r\n vm.gst = customerData.GSTNumber;\r\n vm.CustomerDescription = customerData.Description;\r\n vm.permanent_city = customerData.City;\r\n vm.state = customerData.State;\r\n vm.pincode = customerData.PinCode;\r\n vm.mobile_number = customerData.Mobile;\r\n vm.other_number = customerData.OtherMobile;\r\n vm.first_name = customerData.FirstName;\r\n vm.email = customerData.Email;\r\n vm.business_number = customerData.BusinessPhone;\r\n vm.CustomerId = customerData.CustomerId;\r\n vm.company_name = customerData.CompanyName;\r\n vm.companyUrl = customerData.Url;\r\n vm.CustomerId = customerData.CustomerId;\r\n ///Get Id of state by its name \r\n for (var i = 0; i < vm.stateList.length; i++) {\r\n if (vm.stateList[i].state == vm.state) {\r\n vm.state = vm.stateList[i];\r\n vm.selectState(vm.state);\r\n }\r\n \r\n }\r\n\r\n for (var customerIndex = 0; customerIndex < customerData.CustomerLocationModels.length; customerIndex++) {\r\n var Customer = {};\r\n var i = 0;\r\n var CustomerLocationContactModels = [];\r\n Customer['RegionOf_'+ (customerIndex+1)]=customerData.CustomerLocationModels[customerIndex].Region;\r\n Customer['SubRegionOf_'+ (customerIndex+1)]=customerData.CustomerLocationModels[customerIndex].SubRegion;\r\n Customer['AddLine1Of_'+(customerIndex+1)]=customerData.CustomerLocationModels[customerIndex].Address1;\r\n Customer['AddLine2Of_'+(customerIndex+1)]=customerData.CustomerLocationModels[customerIndex].Address2;\r\n Customer['PincodeOf_'+(customerIndex+1)]=customerData.CustomerLocationModels[customerIndex].Pincode;\r\n Customer['UniqueItem1Of_'+(customerIndex+1)]=customerData.CustomerLocationModels[customerIndex].UniqueIdOne;\r\n Customer['UniqueItem2Of_'+(customerIndex+1)]=customerData.CustomerLocationModels[customerIndex].UniqueIdTwo;\r\n Customer['SkillOf_'+(customerIndex+1)]=customerData.CustomerLocationModels[customerIndex].SkillSet;\r\n if (customerData.CustomerLocationModels[customerIndex].CustomerLocationId) {\r\n Customer['CustomerLocationIdOf_'+(customerIndex+1)]=customerData.CustomerLocationModels[customerIndex].CustomerLocationId;\r\n Customer['CustomerId_'+ (customerIndex+1)]=customerData.CustomerLocationModels[customerIndex].CustomerId;\r\n Customer['update'] = true; \r\n }\r\n if (customerData.CustomerLocationModels[customerIndex].CustomerLocationContactModels.length>0) {\r\n Customer['FirstNameOf_'+(customerIndex+1)] = customerData.CustomerLocationModels[customerIndex].CustomerLocationContactModels[i].FirstName;\r\n Customer['LastNameOf_'+(customerIndex+1)] = customerData.CustomerLocationModels[customerIndex].CustomerLocationContactModels[i].LastName;\r\n Customer['EmailOf_'+(customerIndex+1)] = customerData.CustomerLocationModels[customerIndex].CustomerLocationContactModels[i].Email;\r\n Customer['MobileOf_'+(customerIndex+1)] = customerData.CustomerLocationModels[customerIndex].CustomerLocationContactModels[i].Mobile;\r\n Customer['OtherMobileOf_'+(customerIndex+1)] = customerData.CustomerLocationModels[customerIndex].CustomerLocationContactModels[i].OtherMobile;\r\n Customer['CcId_'+(customerIndex+1)] = customerData.CustomerLocationModels[customerIndex].CustomerLocationContactModels[i].CcId;\r\n }\r\n vm.selectRegion(customerData.CustomerLocationModels[customerIndex].Region);\r\n vm.POCList.push(Customer);\r\n }\r\n $log.log('vm.POCList',vm.POCList);\r\n \r\n });\r\n }\r\n }, function () {\r\n toaster.pop({\r\n type: 'error',\r\n title: 'Customer Information',\r\n showCloseButton: true,\r\n body: 'unable to fetch customer information',\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000,\r\n positionClass: 'toast-top-full-width'\r\n });\r\n });*/\r\n \r\n\r\n vm.GetAllSkills = function () {\r\n VendorCreationService.getAllSkills(loggedinUser, token).then(function (resp) {\r\n if (resp.data && resp.data.length > 0) {\r\n if (!angular.equals(vm.skills, resp.data)) {\r\n vm.skills = resp.data;\r\n }\r\n }\r\n })\r\n }\r\n vm.GetAllSkills();\r\n ///To Add a new Customer \r\n vm.addCustomer = function () {\r\n // if (!vm.EnableRegion) {\r\n\r\n\r\n // var customerContactModel = [];\r\n\r\n // for (var custIndex = 0; custIndex < vm.POCList.length; custIndex++) {\r\n\r\n // if (vm.POCList[custIndex].DocId) {\r\n // var obj = {};\r\n // obj = {\r\n // \"DocId\": vm.POCList[custIndex]['DocId'],\r\n // \"FirstName\": vm.POCList[custIndex]['FirstNameOf_' + (custIndex + 1)],\r\n // \"LastName\": vm.POCList[custIndex]['LastNameOf_' + (custIndex + 1)],\r\n // \"Mobile\": vm.POCList[custIndex]['MobileOf_' + (custIndex + 1)],\r\n // \"OtherMobile\": vm.POCList[custIndex]['OtherMobileOf_' + (custIndex + 1)],\r\n // \"Email\": vm.POCList[custIndex]['EmailOf_' + (custIndex + 1)]\r\n // }\r\n \r\n // }else{\r\n // var obj = {};\r\n // obj = {\r\n // \"FirstName\": vm.POCList[custIndex]['FirstNameOf_' + (custIndex + 1)],\r\n // \"LastName\": vm.POCList[custIndex]['LastNameOf_' + (custIndex + 1)],\r\n // \"Mobile\": vm.POCList[custIndex]['MobileOf_' + (custIndex + 1)],\r\n // \"OtherMobile\": vm.POCList[custIndex]['OtherMobileOf_' + (custIndex + 1)],\r\n // \"Email\": vm.POCList[custIndex]['EmailOf_' + (custIndex + 1)]\r\n // }\r\n\r\n\r\n // }\r\n // customerContactModel.push(obj);\r\n // }\r\n\r\n // var formData = {\r\n // \"CompanyName\": vm.company_name,\r\n // \"Url\": vm.companyUrl,\r\n // \"BusinessPhone\": vm.business_number,\r\n // \"Address1\": vm.address1,\r\n // \"Address2\": vm.address2,\r\n // \"City\": vm.permanent_city,\r\n // \"State\": vm.state.state,\r\n // \"PinCode\": vm.pincode,\r\n // \"CustomerId\": vm.CustomerId,\r\n // \"GSTNumber\": vm.gst,\r\n // CustomerContactModels: customerContactModel\r\n // }\r\n\r\n // if (vm.customer_form.$valid) {\r\n // vm.isDisabled = true; \r\n // if (vm.editMode) {\r\n // CustomerFormCreationService.updateCustomer(angular.toJson(formData), loggedinUser, token).then(function (resp) {\r\n // if (resp.status == 202) {\r\n // toaster.pop({\r\n // type: 'success',\r\n // title: 'Customer Information',\r\n // showCloseButton: true,\r\n // body: 'Customer Updated Successfully',\r\n // \"progressBar\": true,\r\n // \"preventDuplicates\": false,\r\n // \"showDuration\": \"400\",\r\n // \"hideDuration\": \"1000\",\r\n // \"tapToDismiss\": true,\r\n // \"timeout\": 2000,\r\n // positionClass: 'toast-top-full-width'\r\n // });\r\n // vm.isDisabled = false; \r\n // $timeout(function () {\r\n // $state.go('index.CustomerNew', {\r\n // reload: true\r\n // });\r\n // }, 2000);\r\n // }\r\n // }, function () {\r\n // vm.isDisabled = false;\r\n // toaster.pop({\r\n // type: 'error',\r\n // title: 'Customer Creation Status ',\r\n // showCloseButton: true,\r\n // body: 'unable to update customer',\r\n // \"progressBar\": true,\r\n // \"preventDuplicates\": false,\r\n // \"showDuration\": \"400\",\r\n // \"hideDuration\": \"1000\",\r\n // \"tapToDismiss\": true,\r\n // \"timeout\": 2000,\r\n // positionClass: 'toast-top-full-width'\r\n // });\r\n // vm.isDisabled = false; \r\n // })\r\n // } else {\r\n // CustomerFormCreationService.CreateCustomer(angular.toJson(formData), loggedinUser, token).then(function (resp) {\r\n // if (resp.status == 201) {\r\n // vm.isDisabled = true;\r\n // if (!vm.saveAndNewFlag) {\r\n // toaster.pop({\r\n // type: 'success',\r\n // title: 'Customer Information',\r\n // showCloseButton: true,\r\n // body: 'Customer Created Successfully',\r\n // \"progressBar\": true,\r\n // \"preventDuplicates\": false,\r\n // \"showDuration\": \"400\",\r\n // \"hideDuration\": \"1000\",\r\n // \"tapToDismiss\": true,\r\n // \"timeout\": 2000,\r\n // positionClass: 'toast-top-full-width'\r\n // });\r\n // $timeout(function () {\r\n // $state.go('index.CustomerNew', {\r\n // reload: true\r\n // });\r\n // }, 2000);\r\n // } else if(resp.status == 104) {\r\n // toaster.pop({\r\n // type: 'error',\r\n // title: 'Customer Creation Status ',\r\n // showCloseButton: true,\r\n // body: 'Customer already exists',\r\n // \"progressBar\": true,\r\n // \"preventDuplicates\": false,\r\n // \"showDuration\": \"400\",\r\n // \"hideDuration\": \"1000\",\r\n // \"tapToDismiss\": true,\r\n // \"timeout\": 2000,\r\n // positionClass: 'toast-top-full-width'\r\n // });\r\n // vm.isDisabled = false; \r\n // } else {\r\n // toaster.pop({\r\n // type: 'success',\r\n // title: 'Customer Creation Status ',\r\n // showCloseButton: true,\r\n // body: 'Customer Created successfully',\r\n // \"progressBar\": true,\r\n // \"preventDuplicates\": false,\r\n // \"showDuration\": \"400\",\r\n // \"hideDuration\": \"1000\",\r\n // \"tapToDismiss\": true,\r\n // \"timeout\": 2000,\r\n // positionClass: 'toast-top-full-width'\r\n // });\r\n // vm.isDisabled = false; \r\n // clearFormFields();\r\n // }\r\n\r\n // } else {\r\n // vm.isDisabled = false;\r\n // var errorMsg = 'Error to create new customer';\r\n // if(resp.data.ErrorCode==617){\r\n // errorMsg = \"Customer already exists with name \"+formData.CompanyName;\r\n // }\r\n // toaster.pop({\r\n // type: 'error',\r\n // title: 'Customer Creation Status',\r\n // showCloseButton: true,\r\n // body: errorMsg,\r\n // \"progressBar\": true,\r\n // \"preventDuplicates\": false,\r\n // \"showDuration\": \"400\",\r\n // \"hideDuration\": \"1000\",\r\n // \"tapToDismiss\": true,\r\n // \"timeout\": 2000,\r\n // positionClass: 'toast-top-full-width'\r\n // });\r\n\r\n // }\r\n // vm.isDisabled = false;\r\n // }, function () {\r\n // vm.isDisabled = false; \r\n // toaster.pop({\r\n // type: 'error',\r\n // title: 'Customer Creation Status ',\r\n // showCloseButton: true,\r\n // body: 'unable to connect to server',\r\n // \"progressBar\": true,\r\n // \"preventDuplicates\": false,\r\n // \"showDuration\": \"400\",\r\n // \"hideDuration\": \"1000\",\r\n // \"tapToDismiss\": true,\r\n // \"timeout\": 2000,\r\n // positionClass: 'toast-top-full-width'\r\n // });\r\n // });\r\n // }\r\n // } else {\r\n // vm.customer_form.submitted = true;\r\n // }\r\n // }else if (vm.EnableRegion) {\r\n\r\n var customerContactModel = [];\r\n\r\n\r\n for (var custIndex = 0; custIndex < vm.POCList.length; custIndex++) {\r\n\r\n if (vm.POCList[custIndex].update) {\r\n var obj = {};\r\n var CustomerLocationContactModels = [];\r\n obj = {\r\n \"CustomerLocationId\":vm.POCList[custIndex]['CustomerLocationIdOf_'+(custIndex+1)],\r\n \"Region\": vm.POCList[custIndex]['RegionOf_'+(custIndex+1)],\r\n \"SubRegion\": vm.POCList[custIndex]['SubRegionOf_'+(custIndex+1)],\r\n \"Address1\": vm.POCList[custIndex]['AddLine1Of_'+(custIndex+1)],\r\n \"Address2\": vm.POCList[custIndex]['AddLine2Of_'+(custIndex+1)],\r\n \"Pincode\": vm.POCList[custIndex]['PincodeOf_'+(custIndex+1)],\r\n \"UniqueIdOne\": vm.POCList[custIndex]['UniqueItem1Of_'+(custIndex+1)],\r\n \"UniqueIdTwo\": vm.POCList[custIndex]['UniqueItem2Of_'+(custIndex+1)],\r\n \"SkillSet\": vm.POCList[custIndex]['SkillOf_'+(custIndex+1)],\r\n \"City\":vm.POCList[custIndex]['CityOf_'+(custIndex+1)],\r\n \"CustomerLocationContactModels\": null\r\n }\r\n\r\n object ={\r\n \"CcId\":vm.POCList[custIndex]['CcId_'+(custIndex+1)],\r\n \"FirstName\": vm.POCList[custIndex]['FirstNameOf_' + (custIndex + 1)],\r\n \"LastName\": vm.POCList[custIndex]['LastNameOf_' + (custIndex + 1)],\r\n \"Mobile\": vm.POCList[custIndex]['MobileOf_' + (custIndex + 1)],\r\n \"OtherMobile\": vm.POCList[custIndex]['OtherMobileOf_' + (custIndex + 1)],\r\n \"Email\": vm.POCList[custIndex]['EmailOf_' + (custIndex + 1)]\r\n }\r\n CustomerLocationContactModels.push(object);\r\n obj.CustomerLocationContactModels = CustomerLocationContactModels;\r\n \r\n }else{\r\n var obj = {};\r\n var CustomerLocationContactModels = [];\r\n var object = {};\r\n obj = {\r\n \"Region\": vm.POCList[custIndex]['RegionOf_'+(custIndex+1)],\r\n \"SubRegion\": vm.POCList[custIndex]['SubRegionOf_'+(custIndex+1)],\r\n \"Address1\": vm.POCList[custIndex]['AddLine1Of_'+(custIndex+1)],\r\n \"Address2\": vm.POCList[custIndex]['AddLine2Of_'+(custIndex+1)],\r\n \"Pincode\": vm.POCList[custIndex]['PincodeOf_'+(custIndex+1)],\r\n \"UniqueIdOne\": vm.POCList[custIndex]['UniqueItem1Of_'+(custIndex+1)],\r\n \"UniqueIdTwo\": vm.POCList[custIndex]['UniqueItem2Of_'+(custIndex+1)],\r\n \"SkillSet\": vm.POCList[custIndex]['SkillOf_'+(custIndex+1)],\r\n \"City\":vm.POCList[custIndex]['CityOf_'+(custIndex+1)],\r\n \"CustomerLocationContactModels\": null\r\n }\r\n\r\n object ={\r\n \"FirstName\": vm.POCList[custIndex]['FirstNameOf_' + (custIndex + 1)],\r\n \"LastName\": vm.POCList[custIndex]['LastNameOf_' + (custIndex + 1)],\r\n \"Mobile\": vm.POCList[custIndex]['MobileOf_' + (custIndex + 1)],\r\n \"OtherMobile\": vm.POCList[custIndex]['OtherMobileOf_' + (custIndex + 1)],\r\n \"Email\": vm.POCList[custIndex]['EmailOf_' + (custIndex + 1)]\r\n }\r\n CustomerLocationContactModels.push(object);\r\n obj.CustomerLocationContactModels = CustomerLocationContactModels;\r\n\r\n }\r\n customerContactModel.push(obj);\r\n }\r\n\r\n $log.log('customerContactModel',customerContactModel);\r\n\r\n var formData = {\r\n \"ReqUserId\":loggedinUser,\r\n \"CustomerId\":vm.CustomerId,\r\n \"CustomerName\": vm.company_name,\r\n \"Url\": vm.companyUrl,\r\n \"BusinessPhone\": vm.business_number,\r\n \"GSTNumber\": vm.gst,\r\n \"Description\":vm.CustomerDescription,\r\n CustomerLocationModels: customerContactModel\r\n }\r\n\r\n if (vm.customer_form.$valid){\r\n vm.isDisabled = true; \r\n if (vm.editMode) {\r\n CustomerFormCreationLatestService.PutCustomer(angular.toJson(formData), loggedinUser,token).then(function (resp) {\r\n if (resp.status == 202) {\r\n toaster.pop({\r\n type: 'success',\r\n title: 'Customer Information',\r\n showCloseButton: true,\r\n body: 'Customer Updated Successfully',\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000,\r\n positionClass: 'toast-top-full-width'\r\n });\r\n vm.isDisabled = false; \r\n $timeout(function () {\r\n $state.go('index.CustomerNewLatest', {\r\n reload: true\r\n });\r\n }, 2000);\r\n }\r\n }, function () {\r\n vm.isDisabled = false;\r\n toaster.pop({\r\n type: 'error',\r\n title: 'Customer Creation Status ',\r\n showCloseButton: true,\r\n body: 'unable to update customer',\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000,\r\n positionClass: 'toast-top-full-width'\r\n });\r\n vm.isDisabled = false; \r\n })\r\n }\r\n else {\r\n CustomerFormCreationLatestService.PostCustomer(angular.toJson(formData), loggedinUser, token).then(function (resp) {\r\n if (resp.status == 201) {\r\n vm.isDisabled = true;\r\n if (!vm.saveAndNewFlag) {\r\n toaster.pop({\r\n type: 'success',\r\n title: 'Customer Information',\r\n showCloseButton: true,\r\n body: 'Customer Created Successfully',\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000,\r\n positionClass: 'toast-top-full-width'\r\n });\r\n $timeout(function () {\r\n $state.go('index.CustomerNewLatest', {\r\n reload: true\r\n });\r\n }, 2000);\r\n } else {\r\n toaster.pop({\r\n type: 'success',\r\n title: 'Customer Creation Status ',\r\n showCloseButton: true,\r\n body: 'Customer Created successfully',\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000,\r\n positionClass: 'toast-top-full-width'\r\n });\r\n vm.isDisabled = false; \r\n clearFormFields();\r\n }\r\n\r\n } else {\r\n vm.isDisabled = false;\r\n var errorMsg = resp.data.Message;\r\n if(resp.data.ErrorCode==617){\r\n errorMsg = \"Customer already exists with name \"+formData.CompanyName;\r\n }\r\n toaster.pop({\r\n type: 'error',\r\n title: 'Customer Creation Status',\r\n showCloseButton: true,\r\n body: errorMsg,\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000,\r\n positionClass: 'toast-top-full-width'\r\n });\r\n\r\n }\r\n vm.isDisabled = false;\r\n }, function () {\r\n vm.isDisabled = false; \r\n toaster.pop({\r\n type: 'error',\r\n title: 'Customer Creation Status ',\r\n showCloseButton: true,\r\n body: 'unable to connect to server',\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000,\r\n positionClass: 'toast-top-full-width'\r\n });\r\n });\r\n }\r\n \r\n\r\n }else {\r\n vm.customer_form.submitted = true;\r\n }\r\n }\r\n function clearFormFields() {\r\n vm.gender = '';\r\n vm.address1 = '';\r\n vm.address2 = '';\r\n vm.permanent_city = '';\r\n vm.state = '';\r\n vm.pincode = '';\r\n vm.mobile_number = '';\r\n vm.company_name = '';\r\n vm.other_number = '';\r\n vm.email = '';\r\n vm.business_number = '';\r\n vm.companyUrl = '';\r\n }\r\n\r\n ///Save Customer and Add new Customer Function\r\n vm.saveAndNew = function () {\r\n vm.saveAndNewFlag = true;\r\n vm.addCustomer();\r\n }\r\n\r\n /*function getAllStates(loggedinUser) {\r\n var defered = $q.defer();\r\n CustomerFormCreationService.getAllState(loggedinUser).then(function (resp) {\r\n defered.resolve(resp);\r\n }, function (error) {\r\n defered.reject(error);\r\n });\r\n\r\n return defered.promise;\r\n }*/\r\n\r\n // vm.validatePincode =function(pin) {\r\n // TeamFormCreationService.validateAllPincode(pin).then(function (resp) {\r\n // vm.pincodes = resp.data;\r\n // if(vm.pincodes.ResponseMessage==\"PIN Code Does Not Exist\" && vm.pincode==pin){\r\n // vm.pincode='';\r\n // }\r\n // }, function () {\r\n // //$log.log('error');\r\n // });\r\n // }\r\n\r\n vm.selectedcity= function(currentInedx)\r\n {\r\n debugger\r\n //['CityOf_'+(currentInedx+1)]=poc['CityOf_' + (currentInedx +1)];\r\n var ss= vm.POCList\r\n\r\n }\r\n\r\n\r\n vm.selectState = function (state) {\r\n var Getstate =state.state;\r\n CustomerFormCreationLatestService.getAllCity(Getstate).then(function (resp) {\r\n vm.cityList = resp.data;\r\n if (!resp.data) {\r\n var cityArray = [];\r\n cityArray.push({\r\n city: state.state\r\n });\r\n vm.cityList = cityArray;\r\n }\r\n }, function () {\r\n\r\n });\r\n }\r\n\r\n vm.addPointOfContact = function () {\r\n var ele = {\r\n\r\n }\r\n vm.POCList.push(ele);\r\n }\r\n\r\n vm.removePoc = function () {\r\n var lastpoc = vm.POCList.length - 1;\r\n vm.POCList.splice(lastpoc);\r\n }\r\n\r\n vm.getAllCircles = function(loggedinUser){\r\n\r\n CustomerFormCreationLatestService.GetRegion(loggedinUser,token).then(function(resp){\r\n if (resp.status == 200 && resp.data && resp.data.values.length>0) {\r\n vm.RegionList = resp.data.values;\r\n $log.log('RegionList',vm.RegionList)\r\n }\r\n })\r\n\r\n // ProjectCreationService.GetAllCircles(loggedinUser).then(function(resp) {\r\n // vm.circles = resp.data;\r\n // vm.circleArray = vm.circleArray || [];\r\n // for (var index = 0; index < vm.circles.length; index++) {\r\n // vm.circleArray.push({\r\n // workArea: vm.circles.circle\r\n // });\r\n // }\r\n // }, function() {\r\n // //$log.log('not working');\r\n // });\r\n }\r\n vm.selectSubRegion = function(region, index){\r\n debugger \r\n CustomerFormCreationLatestService.GetSubRegion(loggedinUser, token, region).then(function(resp){\r\n if (resp.status==200) {\r\n if (resp.data && resp.data.values.length>0) { \r\n if(index==1)\r\n vm.SubRegionList1 = resp.data.values;\r\n if(index==2)\r\n vm.SubRegionList2 = resp.data.values;\r\n if(index==3)\r\n vm.SubRegionList3 = resp.data.values;\r\n if(index==4)\r\n vm.SubRegionList4 = resp.data.values;\r\n if(index==5)\r\n vm.SubRegionList5 = resp.data.values; \r\n if(index==6)\r\n vm.SubRegionList6 = resp.data.values; \r\n if(index==7)\r\n vm.SubRegionList7 = resp.data.values; \r\n }\r\n }\r\n })\r\n }\r\n vm.selectCitySubRegion = function(subregion,index){\r\n debugger\r\n CustomerFormCreationLatestService.GetCityBySubRegion(loggedinUser, subregion, token).then(function(resp){\r\n if (resp.status==200) {\r\n if (resp.data && resp.data.values.length>0) {\r\n // vm.CityList = resp.data.values;\r\n if(index==1)\r\n vm.CityList1 = resp.data.values;\r\n if(index==2)\r\n vm.CityList2 = resp.data.values;\r\n if(index==3)\r\n vm.CityList3 = resp.data.values;\r\n if(index==4)\r\n vm.CityList4 = resp.data.values;\r\n if(index==5)\r\n vm.CityList5 = resp.data.values;\r\n if(index==6)\r\n vm.CityList6 = resp.data.values; \r\n if(index==7)\r\n vm.CityList7 = resp.data.values; \r\n }\r\n }\r\n })\r\n }\r\n\r\n vm.getAllCircles(loggedinUser);\r\n\r\n vm.selectFiles = function () {\r\n //angular.element(\"#selectFiles\").val(null);\r\n angular.element(\"#selectFiles\").trigger(\"click\");\r\n vm.showMessage = \"\";\r\n }\r\n\r\n vm.uploadFiles = function ($file) {\r\n $log.log($files);\r\n vm.profilePic = $file[0];\r\n if (vm.profilePic.type == \"image/jpeg\" || vm.profilePic.type == \"image/gif\" || vm.profilePic.type == \"image/png\") {\r\n var reader = new FileReader();\r\n reader.onload = function (e) {\r\n $('#profilePic').attr('src', e.target.result);\r\n };\r\n reader.readAsDataURL(vm.profilePic);\r\n vm.showMessage = \"\";\r\n } else {\r\n vm.showMessage = \"The file type is not recognized, please select valid format. eg. jpeg, gif, png\";\r\n }\r\n vm.profilePicName = vm.profilePic.name;\r\n }\r\n\r\n }\r\n \r\n});\r\n\nangular.module('inspinia').service('CustomerFormCreationService', function (ApiURL, LocationURL, $log, $http, $localStorage,PublicApiURL) {\r\n var url = ApiURL + '/api/Customer';\r\n this.CreateCustomer = function (customerFormData,loggedinUser, token) {\r\n var url = ApiURL + '/api/Customer?reqUserId=' + loggedinUser;\r\n return $http.post(url, customerFormData,{\r\n headers: { 'Content-Type': 'application/json','Token':token, 'UserId': loggedinUser}});\r\n }\r\n\r\n this.updateCustomer = function (customerFormData,loggedinUser, token) {\r\n var url = ApiURL + '/api/Customer?reqUserId=' +loggedinUser;\r\n return $http.put(url, customerFormData,{\r\n headers: { 'Content-Type': 'application/json','Token':token, 'UserId': loggedinUser}});\r\n }\r\n\r\n //http://192.168.0.80/CoreAPI/api/Customer/CreateCustomer\r\n this.PostCustomer = function(data,loggedinUser,token){\r\n var url = ApiURL+ '/api/Customer/CreateCustomer';\r\n return $http.post(url,data,{\r\n headers:{'Content-Type':'application/json','Token':token, 'UserId': loggedinUser}\r\n });\r\n }\r\n\r\n //http://192.168.0.80/CoreAPI/api/Customer/UpdateCustomer\r\nthis.PutCustomer = function(data,loggedinUser,token){\r\n var url = ApiURL+'/api/Customer/UpdateCustomer';\r\n return $http.put(url,data,{\r\n headers:{'Content-Type':'application/json','Token':token, 'UserId': loggedinUser}\r\n })\r\n}\r\n\r\n // this.getAllState = function () {\r\n // var url ='https://www.whizapi.com/api/v2/util/ui/in/indian-states-list?project-app-key=kikyizsnfakr15qmf9pruqj4';\r\n // return $http.get(url, {\r\n // params: {}\r\n // });\r\n // }\r\n \r\n // this.getAllCity = function (state) {\r\n // var url = 'https://www.whizapi.com/api/v2/util/ui/in/indian-city-by-state?stateid='+state+'&project-app-key=3p9plzgtuq9aoym4bsxc4l6k';\r\n // return $http.get(url);\r\n // }\r\n\r\n //https://test.mymobiforce.com/publicapi/api/Location/GetRegion?userId=U370000000001\r\n this.GetRegion = function(loggedInUserId, token){\r\n var url = PublicApiURL + '/api/Location/GetRegion?userId='+ loggedInUserId;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId': loggedInUserId}\r\n })\r\n }\r\n\r\n //https://test.mymobiforce.com/publicapi/api/Location/GetSubRegion?userId=U370000000001®ion=North\r\n this.GetSubRegion = function(loggedInUserId, token, region){\r\n var url = PublicApiURL + '/api/Location/GetSubRegion?userId='+ loggedInUserId + '®ion='+ region;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId': loggedInUserId}\r\n })\r\n }\r\n //https://test.mymobiforce.com/publicapi/api/Location/GetCity?userId=U360000000001&subregion=noida\r\n this.GetCityBySubRegion = function(loggedInUserId, subRegion, token){\r\n var subRegion1 = subRegion.replace(\"&\", \"%26\");\r\n var url = PublicApiURL + '/api/Location/GetCity?userId='+ loggedInUserId + '&subregion='+ subRegion;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId': loggedInUserId}\r\n })\r\n }\r\n\r\n this.getAllState = function (loggedinUser) {\r\n var url = LocationURL+'/api/Location/'+loggedinUser+'/GetAllStates';\r\n return $http.get(url, {\r\n params: {}\r\n });\r\n }\r\n this.getAllCity = function (state) {\r\n var url = LocationURL+'/api/Location/'+$localStorage.loggedInUserId+'/'+state+'/GetCitiesByState';\r\n return $http.get(url);\r\n }\r\n\r\n this.getAllPincode = function () {\r\n var url = 'https://www.whizapi.com/api/v2/util/ui/in/indian-postal-codes?search=city&project-app-key=pso222ywjvx996b93gd8wpp6';\r\n return $http.get(url, {\r\n params: {}\r\n });\r\n }\r\n \r\n});\nangular.module('inspinia').controller('CustomerFormController', function (VendorCreationService,TeamFormCreationService, ProjectCreationService, $state, $timeout, $log, $stateParams, $localStorage, CustomerFormCreationService, CustomerProfileService, toaster, $q, $scope) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n var circleArray;\r\n vm.isDisabled = false;\r\n vm.POCList = [];\r\n vm.circleArray='';\r\n if (!loggedinUser) {\r\n $state.go('Login',{\r\n reload:true\r\n });\r\n }else{\r\n if($state.current.name=='index.CustomerCreate') {\r\n var POC_1 = {\r\n // FirstNameOf_1: \"\",\r\n // LastNameOf_1: \"\",\r\n // MobileOf_1: '',\r\n // OtherMobileOf_1: \"\",\r\n // EmailOf_1: \"\"\r\n };\r\n vm.POCList.push(POC_1);\r\n }\r\n \r\n angular.element(document).ready(function () {\r\n angular.element('ul[side-navigation]').find('a[ui-sref=\"index.CustomerNew\"]').parent().prop('class', 'active');\r\n });\r\n\r\n ///Global Variables Declaration\r\n var customerId_ForUpdate = $stateParams.customerId;\r\n vm.saveAndNewFlag = false;\r\n vm.editMode = false;\r\n vm.address_option = 'Yes';\r\n vm.officeFormValidation = false;\r\n vm.isCollapsed = false;\r\n vm.isUserDetailCollapsed = false;\r\n vm.isOfficeUseCollapsed = true;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.EnableRegion = vm.getAccountConfigSetting('EnableRegion');\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n vm.UnqiueItemOneValue = vm.getAccountConfigSetting('UniqueOne');\r\n vm.UnqiueItemTwoValue = vm.getAccountConfigSetting('UniqueTwo');\r\n vm.title = '';\r\n vm.RegionList = '';\r\n // vm.CityList = '';\r\n vm.last_name = '';\r\n vm.gender = '';\r\n vm.address1 = '';\r\n vm.address2 = '';\r\n vm.permanent_city = '';\r\n vm.state = '';\r\n vm.pincode = '';\r\n vm.mobile_number = '';\r\n vm.other_number = '';\r\n vm.first_name = '';\r\n vm.email = '';\r\n vm.business_number = '';\r\n vm.company_name = '';\r\n vm.CustomerDescription = '';\r\n\r\n //var allStatePromise = getAllStates(loggedinUser);\r\n\r\n /*allStatePromise.then(function (resp) {\r\n vm.stateList = resp.data;\r\n if ($state.current.name == 'index.CustomerEdit') {\r\n vm.editMode = true;\r\n CustomerProfileService.getCustomerInfo(customerId_ForUpdate, loggedinUser,token).then(function (resp) {\r\n var customerData = resp.data;\r\n vm.address1 = customerData.Address1;\r\n vm.address2 = customerData.Address2;\r\n vm.gst = customerData.GSTNumber;\r\n vm.CustomerDescription = customerData.Description;\r\n vm.permanent_city = customerData.City;\r\n vm.state = customerData.State;\r\n vm.pincode = customerData.PinCode;\r\n vm.mobile_number = customerData.Mobile;\r\n vm.other_number = customerData.OtherMobile;\r\n vm.first_name = customerData.FirstName;\r\n vm.email = customerData.Email;\r\n vm.business_number = customerData.BusinessPhone;\r\n vm.CustomerId = customerData.CustomerId;\r\n vm.company_name = customerData.CompanyName;\r\n vm.companyUrl = customerData.Url;\r\n vm.CustomerId = customerData.CustomerId;\r\n ///Get Id of state by its name \r\n for (var i = 0; i < vm.stateList.length; i++) {\r\n if (vm.stateList[i].state == vm.state) {\r\n vm.state = vm.stateList[i];\r\n vm.selectState(vm.state);\r\n }\r\n \r\n }\r\n\r\n for (var customerIndex = 0; customerIndex < customerData.CustomerLocationModels.length; customerIndex++) {\r\n var Customer = {};\r\n var i = 0;\r\n var CustomerLocationContactModels = [];\r\n Customer['RegionOf_'+ (customerIndex+1)]=customerData.CustomerLocationModels[customerIndex].Region;\r\n Customer['SubRegionOf_'+ (customerIndex+1)]=customerData.CustomerLocationModels[customerIndex].SubRegion;\r\n Customer['AddLine1Of_'+(customerIndex+1)]=customerData.CustomerLocationModels[customerIndex].Address1;\r\n Customer['AddLine2Of_'+(customerIndex+1)]=customerData.CustomerLocationModels[customerIndex].Address2;\r\n Customer['PincodeOf_'+(customerIndex+1)]=customerData.CustomerLocationModels[customerIndex].Pincode;\r\n Customer['UniqueItem1Of_'+(customerIndex+1)]=customerData.CustomerLocationModels[customerIndex].UniqueIdOne;\r\n Customer['UniqueItem2Of_'+(customerIndex+1)]=customerData.CustomerLocationModels[customerIndex].UniqueIdTwo;\r\n Customer['SkillOf_'+(customerIndex+1)]=customerData.CustomerLocationModels[customerIndex].SkillSet;\r\n if (customerData.CustomerLocationModels[customerIndex].CustomerLocationId) {\r\n Customer['CustomerLocationIdOf_'+(customerIndex+1)]=customerData.CustomerLocationModels[customerIndex].CustomerLocationId;\r\n Customer['CustomerId_'+ (customerIndex+1)]=customerData.CustomerLocationModels[customerIndex].CustomerId;\r\n Customer['update'] = true; \r\n }\r\n if (customerData.CustomerLocationModels[customerIndex].CustomerLocationContactModels.length>0) {\r\n Customer['FirstNameOf_'+(customerIndex+1)] = customerData.CustomerLocationModels[customerIndex].CustomerLocationContactModels[i].FirstName;\r\n Customer['LastNameOf_'+(customerIndex+1)] = customerData.CustomerLocationModels[customerIndex].CustomerLocationContactModels[i].LastName;\r\n Customer['EmailOf_'+(customerIndex+1)] = customerData.CustomerLocationModels[customerIndex].CustomerLocationContactModels[i].Email;\r\n Customer['MobileOf_'+(customerIndex+1)] = customerData.CustomerLocationModels[customerIndex].CustomerLocationContactModels[i].Mobile;\r\n Customer['OtherMobileOf_'+(customerIndex+1)] = customerData.CustomerLocationModels[customerIndex].CustomerLocationContactModels[i].OtherMobile;\r\n Customer['CcId_'+(customerIndex+1)] = customerData.CustomerLocationModels[customerIndex].CustomerLocationContactModels[i].CcId;\r\n }\r\n vm.selectRegion(customerData.CustomerLocationModels[customerIndex].Region);\r\n vm.POCList.push(Customer);\r\n }\r\n $log.log('vm.POCList',vm.POCList);\r\n \r\n });\r\n }\r\n }, function () {\r\n toaster.pop({\r\n type: 'error',\r\n title: 'Customer Information',\r\n showCloseButton: true,\r\n body: 'unable to fetch customer information',\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000,\r\n positionClass: 'toast-top-full-width'\r\n });\r\n });*/\r\n \r\n\r\n vm.GetAllSkills = function () {\r\n VendorCreationService.getAllSkills(loggedinUser, token).then(function (resp) {\r\n if (resp.data && resp.data.length > 0) {\r\n if (!angular.equals(vm.skills, resp.data)) {\r\n vm.skills = resp.data;\r\n }\r\n }\r\n })\r\n }\r\n vm.GetAllSkills();\r\n ///To Add a new Customer \r\n vm.addCustomer = function () {\r\n // if (!vm.EnableRegion) {\r\n\r\n\r\n // var customerContactModel = [];\r\n\r\n // for (var custIndex = 0; custIndex < vm.POCList.length; custIndex++) {\r\n\r\n // if (vm.POCList[custIndex].DocId) {\r\n // var obj = {};\r\n // obj = {\r\n // \"DocId\": vm.POCList[custIndex]['DocId'],\r\n // \"FirstName\": vm.POCList[custIndex]['FirstNameOf_' + (custIndex + 1)],\r\n // \"LastName\": vm.POCList[custIndex]['LastNameOf_' + (custIndex + 1)],\r\n // \"Mobile\": vm.POCList[custIndex]['MobileOf_' + (custIndex + 1)],\r\n // \"OtherMobile\": vm.POCList[custIndex]['OtherMobileOf_' + (custIndex + 1)],\r\n // \"Email\": vm.POCList[custIndex]['EmailOf_' + (custIndex + 1)]\r\n // }\r\n \r\n // }else{\r\n // var obj = {};\r\n // obj = {\r\n // \"FirstName\": vm.POCList[custIndex]['FirstNameOf_' + (custIndex + 1)],\r\n // \"LastName\": vm.POCList[custIndex]['LastNameOf_' + (custIndex + 1)],\r\n // \"Mobile\": vm.POCList[custIndex]['MobileOf_' + (custIndex + 1)],\r\n // \"OtherMobile\": vm.POCList[custIndex]['OtherMobileOf_' + (custIndex + 1)],\r\n // \"Email\": vm.POCList[custIndex]['EmailOf_' + (custIndex + 1)]\r\n // }\r\n\r\n\r\n // }\r\n // customerContactModel.push(obj);\r\n // }\r\n\r\n // var formData = {\r\n // \"CompanyName\": vm.company_name,\r\n // \"Url\": vm.companyUrl,\r\n // \"BusinessPhone\": vm.business_number,\r\n // \"Address1\": vm.address1,\r\n // \"Address2\": vm.address2,\r\n // \"City\": vm.permanent_city,\r\n // \"State\": vm.state.state,\r\n // \"PinCode\": vm.pincode,\r\n // \"CustomerId\": vm.CustomerId,\r\n // \"GSTNumber\": vm.gst,\r\n // CustomerContactModels: customerContactModel\r\n // }\r\n\r\n // if (vm.customer_form.$valid) {\r\n // vm.isDisabled = true; \r\n // if (vm.editMode) {\r\n // CustomerFormCreationService.updateCustomer(angular.toJson(formData), loggedinUser, token).then(function (resp) {\r\n // if (resp.status == 202) {\r\n // toaster.pop({\r\n // type: 'success',\r\n // title: 'Customer Information',\r\n // showCloseButton: true,\r\n // body: 'Customer Updated Successfully',\r\n // \"progressBar\": true,\r\n // \"preventDuplicates\": false,\r\n // \"showDuration\": \"400\",\r\n // \"hideDuration\": \"1000\",\r\n // \"tapToDismiss\": true,\r\n // \"timeout\": 2000,\r\n // positionClass: 'toast-top-full-width'\r\n // });\r\n // vm.isDisabled = false; \r\n // $timeout(function () {\r\n // $state.go('index.CustomerNew', {\r\n // reload: true\r\n // });\r\n // }, 2000);\r\n // }\r\n // }, function () {\r\n // vm.isDisabled = false;\r\n // toaster.pop({\r\n // type: 'error',\r\n // title: 'Customer Creation Status ',\r\n // showCloseButton: true,\r\n // body: 'unable to update customer',\r\n // \"progressBar\": true,\r\n // \"preventDuplicates\": false,\r\n // \"showDuration\": \"400\",\r\n // \"hideDuration\": \"1000\",\r\n // \"tapToDismiss\": true,\r\n // \"timeout\": 2000,\r\n // positionClass: 'toast-top-full-width'\r\n // });\r\n // vm.isDisabled = false; \r\n // })\r\n // } else {\r\n // CustomerFormCreationService.CreateCustomer(angular.toJson(formData), loggedinUser, token).then(function (resp) {\r\n // if (resp.status == 201) {\r\n // vm.isDisabled = true;\r\n // if (!vm.saveAndNewFlag) {\r\n // toaster.pop({\r\n // type: 'success',\r\n // title: 'Customer Information',\r\n // showCloseButton: true,\r\n // body: 'Customer Created Successfully',\r\n // \"progressBar\": true,\r\n // \"preventDuplicates\": false,\r\n // \"showDuration\": \"400\",\r\n // \"hideDuration\": \"1000\",\r\n // \"tapToDismiss\": true,\r\n // \"timeout\": 2000,\r\n // positionClass: 'toast-top-full-width'\r\n // });\r\n // $timeout(function () {\r\n // $state.go('index.CustomerNew', {\r\n // reload: true\r\n // });\r\n // }, 2000);\r\n // } else if(resp.status == 104) {\r\n // toaster.pop({\r\n // type: 'error',\r\n // title: 'Customer Creation Status ',\r\n // showCloseButton: true,\r\n // body: 'Customer already exists',\r\n // \"progressBar\": true,\r\n // \"preventDuplicates\": false,\r\n // \"showDuration\": \"400\",\r\n // \"hideDuration\": \"1000\",\r\n // \"tapToDismiss\": true,\r\n // \"timeout\": 2000,\r\n // positionClass: 'toast-top-full-width'\r\n // });\r\n // vm.isDisabled = false; \r\n // } else {\r\n // toaster.pop({\r\n // type: 'success',\r\n // title: 'Customer Creation Status ',\r\n // showCloseButton: true,\r\n // body: 'Customer Created successfully',\r\n // \"progressBar\": true,\r\n // \"preventDuplicates\": false,\r\n // \"showDuration\": \"400\",\r\n // \"hideDuration\": \"1000\",\r\n // \"tapToDismiss\": true,\r\n // \"timeout\": 2000,\r\n // positionClass: 'toast-top-full-width'\r\n // });\r\n // vm.isDisabled = false; \r\n // clearFormFields();\r\n // }\r\n\r\n // } else {\r\n // vm.isDisabled = false;\r\n // var errorMsg = 'Error to create new customer';\r\n // if(resp.data.ErrorCode==617){\r\n // errorMsg = \"Customer already exists with name \"+formData.CompanyName;\r\n // }\r\n // toaster.pop({\r\n // type: 'error',\r\n // title: 'Customer Creation Status',\r\n // showCloseButton: true,\r\n // body: errorMsg,\r\n // \"progressBar\": true,\r\n // \"preventDuplicates\": false,\r\n // \"showDuration\": \"400\",\r\n // \"hideDuration\": \"1000\",\r\n // \"tapToDismiss\": true,\r\n // \"timeout\": 2000,\r\n // positionClass: 'toast-top-full-width'\r\n // });\r\n\r\n // }\r\n // vm.isDisabled = false;\r\n // }, function () {\r\n // vm.isDisabled = false; \r\n // toaster.pop({\r\n // type: 'error',\r\n // title: 'Customer Creation Status ',\r\n // showCloseButton: true,\r\n // body: 'unable to connect to server',\r\n // \"progressBar\": true,\r\n // \"preventDuplicates\": false,\r\n // \"showDuration\": \"400\",\r\n // \"hideDuration\": \"1000\",\r\n // \"tapToDismiss\": true,\r\n // \"timeout\": 2000,\r\n // positionClass: 'toast-top-full-width'\r\n // });\r\n // });\r\n // }\r\n // } else {\r\n // vm.customer_form.submitted = true;\r\n // }\r\n // }else if (vm.EnableRegion) {\r\n\r\n var customerContactModel = [];\r\n\r\n\r\n for (var custIndex = 0; custIndex < vm.POCList.length; custIndex++) {\r\n\r\n if (vm.POCList[custIndex].update) {\r\n var obj = {};\r\n var CustomerLocationContactModels = [];\r\n obj = {\r\n \"CustomerLocationId\":vm.POCList[custIndex]['CustomerLocationIdOf_'+(custIndex+1)],\r\n \"Region\": vm.POCList[custIndex]['RegionOf_'+(custIndex+1)],\r\n \"SubRegion\": vm.POCList[custIndex]['SubRegionOf_'+(custIndex+1)],\r\n \"Address1\": vm.POCList[custIndex]['AddLine1Of_'+(custIndex+1)],\r\n \"Address2\": vm.POCList[custIndex]['AddLine2Of_'+(custIndex+1)],\r\n \"Pincode\": vm.POCList[custIndex]['PincodeOf_'+(custIndex+1)],\r\n \"UniqueIdOne\": vm.POCList[custIndex]['UniqueItem1Of_'+(custIndex+1)],\r\n \"UniqueIdTwo\": vm.POCList[custIndex]['UniqueItem2Of_'+(custIndex+1)],\r\n \"SkillSet\": vm.POCList[custIndex]['SkillOf_'+(custIndex+1)],\r\n \"City\":vm.POCList[custIndex]['CityOf_'+(custIndex+1)],\r\n \"CustomerLocationContactModels\": null\r\n }\r\n\r\n object ={\r\n \"CcId\":vm.POCList[custIndex]['CcId_'+(custIndex+1)],\r\n \"FirstName\": vm.POCList[custIndex]['FirstNameOf_' + (custIndex + 1)],\r\n \"LastName\": vm.POCList[custIndex]['LastNameOf_' + (custIndex + 1)],\r\n \"Mobile\": vm.POCList[custIndex]['MobileOf_' + (custIndex + 1)],\r\n \"OtherMobile\": vm.POCList[custIndex]['OtherMobileOf_' + (custIndex + 1)],\r\n \"Email\": vm.POCList[custIndex]['EmailOf_' + (custIndex + 1)]\r\n }\r\n CustomerLocationContactModels.push(object);\r\n obj.CustomerLocationContactModels = CustomerLocationContactModels;\r\n \r\n }else{\r\n var obj = {};\r\n var CustomerLocationContactModels = [];\r\n var object = {};\r\n obj = {\r\n \"Region\": vm.POCList[custIndex]['RegionOf_'+(custIndex+1)],\r\n \"SubRegion\": vm.POCList[custIndex]['SubRegionOf_'+(custIndex+1)],\r\n \"Address1\": vm.POCList[custIndex]['AddLine1Of_'+(custIndex+1)],\r\n \"Address2\": vm.POCList[custIndex]['AddLine2Of_'+(custIndex+1)],\r\n \"Pincode\": vm.POCList[custIndex]['PincodeOf_'+(custIndex+1)],\r\n \"UniqueIdOne\": vm.POCList[custIndex]['UniqueItem1Of_'+(custIndex+1)],\r\n \"UniqueIdTwo\": vm.POCList[custIndex]['UniqueItem2Of_'+(custIndex+1)],\r\n \"SkillSet\": vm.POCList[custIndex]['SkillOf_'+(custIndex+1)],\r\n \"City\":vm.POCList[custIndex]['CityOf_'+(custIndex+1)],\r\n \"CustomerLocationContactModels\": null\r\n }\r\n\r\n object ={\r\n \"FirstName\": vm.POCList[custIndex]['FirstNameOf_' + (custIndex + 1)],\r\n \"LastName\": vm.POCList[custIndex]['LastNameOf_' + (custIndex + 1)],\r\n \"Mobile\": vm.POCList[custIndex]['MobileOf_' + (custIndex + 1)],\r\n \"OtherMobile\": vm.POCList[custIndex]['OtherMobileOf_' + (custIndex + 1)],\r\n \"Email\": vm.POCList[custIndex]['EmailOf_' + (custIndex + 1)]\r\n }\r\n CustomerLocationContactModels.push(object);\r\n obj.CustomerLocationContactModels = CustomerLocationContactModels;\r\n\r\n }\r\n customerContactModel.push(obj);\r\n }\r\n\r\n $log.log('customerContactModel',customerContactModel);\r\n\r\n var formData = {\r\n \"ReqUserId\":loggedinUser,\r\n \"CustomerId\":vm.CustomerId,\r\n \"CustomerName\": vm.company_name,\r\n \"Url\": vm.companyUrl,\r\n \"BusinessPhone\": vm.business_number,\r\n \"GSTNumber\": vm.gst,\r\n \"Description\":vm.CustomerDescription,\r\n CustomerLocationModels: customerContactModel\r\n }\r\n\r\n if (vm.customer_form.$valid){\r\n vm.isDisabled = true; \r\n if (vm.editMode) {\r\n CustomerFormCreationService.PutCustomer(angular.toJson(formData), loggedinUser,token).then(function (resp) {\r\n if (resp.status == 202) {\r\n toaster.pop({\r\n type: 'success',\r\n title: 'Customer Information',\r\n showCloseButton: true,\r\n body: 'Customer Updated Successfully',\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000,\r\n positionClass: 'toast-top-full-width'\r\n });\r\n vm.isDisabled = false; \r\n $timeout(function () {\r\n $state.go('index.CustomerNew', {\r\n reload: true\r\n });\r\n }, 2000);\r\n }\r\n }, function () {\r\n vm.isDisabled = false;\r\n toaster.pop({\r\n type: 'error',\r\n title: 'Customer Creation Status ',\r\n showCloseButton: true,\r\n body: 'unable to update customer',\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000,\r\n positionClass: 'toast-top-full-width'\r\n });\r\n vm.isDisabled = false; \r\n })\r\n }\r\n else {\r\n CustomerFormCreationService.PostCustomer(angular.toJson(formData), loggedinUser, token).then(function (resp) {\r\n if (resp.status == 201) {\r\n vm.isDisabled = true;\r\n if (!vm.saveAndNewFlag) {\r\n toaster.pop({\r\n type: 'success',\r\n title: 'Customer Information',\r\n showCloseButton: true,\r\n body: 'Customer Created Successfully',\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000,\r\n positionClass: 'toast-top-full-width'\r\n });\r\n $timeout(function () {\r\n $state.go('index.CustomerNew', {\r\n reload: true\r\n });\r\n }, 2000);\r\n } else {\r\n toaster.pop({\r\n type: 'success',\r\n title: 'Customer Creation Status ',\r\n showCloseButton: true,\r\n body: 'Customer Created successfully',\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000,\r\n positionClass: 'toast-top-full-width'\r\n });\r\n vm.isDisabled = false; \r\n clearFormFields();\r\n }\r\n\r\n } else {\r\n vm.isDisabled = false;\r\n var errorMsg = resp.data.Message;\r\n if(resp.data.ErrorCode==617){\r\n errorMsg = \"Customer already exists with name \"+formData.CompanyName;\r\n }\r\n toaster.pop({\r\n type: 'error',\r\n title: 'Customer Creation Status',\r\n showCloseButton: true,\r\n body: errorMsg,\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000,\r\n positionClass: 'toast-top-full-width'\r\n });\r\n\r\n }\r\n vm.isDisabled = false;\r\n }, function () {\r\n vm.isDisabled = false; \r\n toaster.pop({\r\n type: 'error',\r\n title: 'Customer Creation Status ',\r\n showCloseButton: true,\r\n body: 'unable to connect to server',\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000,\r\n positionClass: 'toast-top-full-width'\r\n });\r\n });\r\n }\r\n \r\n\r\n }else {\r\n vm.customer_form.submitted = true;\r\n }\r\n }\r\n function clearFormFields() {\r\n vm.gender = '';\r\n vm.address1 = '';\r\n vm.address2 = '';\r\n vm.permanent_city = '';\r\n vm.state = '';\r\n vm.pincode = '';\r\n vm.mobile_number = '';\r\n vm.company_name = '';\r\n vm.other_number = '';\r\n vm.email = '';\r\n vm.business_number = '';\r\n vm.companyUrl = '';\r\n }\r\n\r\n ///Save Customer and Add new Customer Function\r\n vm.saveAndNew = function () {\r\n vm.saveAndNewFlag = true;\r\n vm.addCustomer();\r\n }\r\n\r\n /*function getAllStates(loggedinUser) {\r\n var defered = $q.defer();\r\n CustomerFormCreationService.getAllState(loggedinUser).then(function (resp) {\r\n defered.resolve(resp);\r\n }, function (error) {\r\n defered.reject(error);\r\n });\r\n\r\n return defered.promise;\r\n }*/\r\n\r\n // vm.validatePincode =function(pin) {\r\n // TeamFormCreationService.validateAllPincode(pin).then(function (resp) {\r\n // vm.pincodes = resp.data;\r\n // if(vm.pincodes.ResponseMessage==\"PIN Code Does Not Exist\" && vm.pincode==pin){\r\n // vm.pincode='';\r\n // }\r\n // }, function () {\r\n // //$log.log('error');\r\n // });\r\n // }\r\n\r\n vm.selectedcity= function(currentInedx)\r\n {\r\n debugger\r\n //['CityOf_'+(currentInedx+1)]=poc['CityOf_' + (currentInedx +1)];\r\n var ss= vm.POCList\r\n\r\n }\r\n\r\n\r\n vm.selectState = function (state) {\r\n var Getstate =state.state;\r\n CustomerFormCreationService.getAllCity(Getstate).then(function (resp) {\r\n vm.cityList = resp.data;\r\n if (!resp.data) {\r\n var cityArray = [];\r\n cityArray.push({\r\n city: state.state\r\n });\r\n vm.cityList = cityArray;\r\n }\r\n }, function () {\r\n\r\n });\r\n }\r\n\r\n vm.addPointOfContact = function () {\r\n var ele = {\r\n\r\n }\r\n vm.POCList.push(ele);\r\n }\r\n\r\n vm.removePoc = function () {\r\n var lastpoc = vm.POCList.length - 1;\r\n vm.POCList.splice(lastpoc);\r\n }\r\n\r\n vm.getAllCircles = function(loggedinUser){\r\n\r\n CustomerFormCreationService.GetRegion(loggedinUser,token).then(function(resp){\r\n if (resp.status == 200 && resp.data && resp.data.values.length>0) {\r\n vm.RegionList = resp.data.values;\r\n $log.log('RegionList',vm.RegionList)\r\n }\r\n })\r\n\r\n // ProjectCreationService.GetAllCircles(loggedinUser).then(function(resp) {\r\n // vm.circles = resp.data;\r\n // vm.circleArray = vm.circleArray || [];\r\n // for (var index = 0; index < vm.circles.length; index++) {\r\n // vm.circleArray.push({\r\n // workArea: vm.circles.circle\r\n // });\r\n // }\r\n // }, function() {\r\n // //$log.log('not working');\r\n // });\r\n }\r\n vm.selectSubRegion = function(region, index){\r\n debugger \r\n CustomerFormCreationService.GetSubRegion(loggedinUser, token, region).then(function(resp){\r\n if (resp.status==200) {\r\n if (resp.data && resp.data.values.length>0) { \r\n if(index==1)\r\n vm.SubRegionList1 = resp.data.values;\r\n if(index==2)\r\n vm.SubRegionList2 = resp.data.values;\r\n if(index==3)\r\n vm.SubRegionList3 = resp.data.values;\r\n if(index==4)\r\n vm.SubRegionList4 = resp.data.values;\r\n if(index==5)\r\n vm.SubRegionList5 = resp.data.values; \r\n if(index==6)\r\n vm.SubRegionList6 = resp.data.values; \r\n if(index==7)\r\n vm.SubRegionList7 = resp.data.values; \r\n }\r\n }\r\n })\r\n }\r\n vm.selectCitySubRegion = function(subregion,index){\r\n debugger\r\n CustomerFormCreationService.GetCityBySubRegion(loggedinUser, subregion, token).then(function(resp){\r\n if (resp.status==200) {\r\n if (resp.data && resp.data.values.length>0) {\r\n // vm.CityList = resp.data.values;\r\n if(index==1)\r\n vm.CityList1 = resp.data.values;\r\n if(index==2)\r\n vm.CityList2 = resp.data.values;\r\n if(index==3)\r\n vm.CityList3 = resp.data.values;\r\n if(index==4)\r\n vm.CityList4 = resp.data.values;\r\n if(index==5)\r\n vm.CityList5 = resp.data.values;\r\n if(index==6)\r\n vm.CityList6 = resp.data.values; \r\n if(index==7)\r\n vm.CityList7 = resp.data.values; \r\n }\r\n }\r\n })\r\n }\r\n\r\n vm.getAllCircles(loggedinUser);\r\n\r\n vm.selectFiles = function () {\r\n //angular.element(\"#selectFiles\").val(null);\r\n angular.element(\"#selectFiles\").trigger(\"click\");\r\n vm.showMessage = \"\";\r\n }\r\n\r\n vm.uploadFiles = function ($file) {\r\n $log.log($files);\r\n vm.profilePic = $file[0];\r\n if (vm.profilePic.type == \"image/jpeg\" || vm.profilePic.type == \"image/gif\" || vm.profilePic.type == \"image/png\") {\r\n var reader = new FileReader();\r\n reader.onload = function (e) {\r\n $('#profilePic').attr('src', e.target.result);\r\n };\r\n reader.readAsDataURL(vm.profilePic);\r\n vm.showMessage = \"\";\r\n } else {\r\n vm.showMessage = \"The file type is not recognized, please select valid format. eg. jpeg, gif, png\";\r\n }\r\n vm.profilePicName = vm.profilePic.name;\r\n }\r\n\r\n }\r\n \r\n});\r\n\nangular.module('inspinia').service('customerCardService', function (ApiURL,$log,$http) {\r\n\r\n this.getAllCustomerList = function (loggedinUser) {\r\n var url = ApiURL + '/api/Customer/GetCustomersWithJobDetails?reqUserId=' +loggedinUser;\r\n return $http.get(url,{headers: { 'Content-Type': 'application/json' }});\r\n } \r\n\r\n this.getAllProjectList = function (loggedinUser,customerId) {\r\n var url = ApiURL + '/api/Project/'+loggedinUser+'/'+customerId+'/GetProjectsByCustomerId';\r\n return $http.get(url,{headers: { 'Content-Type': 'application/json' }});\r\n } \r\n\r\n});\r\n\nangular.module('inspinia').controller('CustomerCardController', function ($state, customerCardService, $log, $localStorage, bulkuploadService) {\r\n var vm = this;\r\n vm.customers = [];\r\n vm.currentPage = 1;\r\n vm.pageSize = 12;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n bulkuploadService.bulkuploadType = 'customer';\r\nvm.availableSearchParams = [\r\n { key: \"State\", name: \"State\", placeholder: \"State...\" },\r\n { key: \"City\", name: \"City\", placeholder: \"City...\" },\r\n { key: \"CompanyName\", name: \"CompanyName\", placeholder: \"CompanyName...\" }\r\n // { key: \"city\", name: \"City\", placeholder: \"City...\" },\r\n // { key: \"country\", name: \"Country\", placeholder: \"Country...\" },\r\n // { key: \"emailAddress\", name: \"E-Mail\", placeholder: \"E-Mail...\", allowMultiple: true },\r\n // { key: \"job\", name: \"Job\", placeholder: \"Job...\" }\r\n ];\r\n getAllCustomer(loggedinUser);\r\n function getAllCustomer(loggedinUser) {\r\n customerCardService.getAllCustomerList(loggedinUser).then(function (resp) {\r\n vm.customers = resp.data;\r\n },\r\n function () {\r\n //$log.log('not working');\r\n })\r\n }\r\n\r\n vm.ProfileView = function (customer) {\r\n $state.go('index.CustomerProfile', {\r\n customerId: customer\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.editCustomer = function (customerName) {\r\n $state.go('index.CustomerEdit', {\r\n customerId: customerName\r\n });\r\n }\r\n\r\n vm.pageChangeHandler = function(num) {\r\n console.log('meals page changed to ' + num);\r\n };\r\n\r\n});\r\n\r\nangular.module('inspinia').controller('OtherController',function($scope) {\r\n $scope.pageChangeHandler = function(num) {\r\n console.log('going to page ' + num);\r\n };\r\n});\nangular.module('inspinia').service('ConsumerQueryService', function (ApiURL,SchedulingAPI, $window, $http) {\r\n\r\n this.GetTicketForTicketCase = function (loggedinUser, token, contactNo) {\r\n var url = ApiURL + '/api/Ticket/GetTicketForTicketCase?SearchText=' + contactNo;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAllQueryForTicket = function (loggedinUser, token, ticketId) {\r\n var url = ApiURL + '/api/Ticket/GetAllQueryForTicket?TicketId=' + ticketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAllActivityTimeline = function (ticketId,filter,loggedinUser, token) { \r\n var url = ApiURL + '/api/Timeline/GetAllActivityTimelineForJob?ticketId=' + ticketId+ '&filter='+ filter\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.RaiseQueryForCase = function (queryModel, loggedinUser, token) {\r\n var url = ApiURL + \"/api/Ticket/RaiseQueryForCase\";\r\n return $http.put(url, queryModel, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('ConsumerQueryController', function (ConsumerQueryService, $resource, toaster, $filter, $compile, $q, $state, $localStorage, $scope, DTOptionsBuilder, DTColumnBuilder, $uibModal, $timeout) {\r\n\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\t\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\t\tvm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\t\tvm.pageListCounts = [10, 20, 30, 50];\r\n\t\tvar PageIndex = 1;\r\n\t\tvar PageSize = 10;\r\n\t\t$scope.isNavCollapsed = true;\r\n\t\t$scope.isCollapsed = true;\r\n\t\t$scope.isCollapsedHorizontal = false;\r\n\t\tvm.dtInstance = {};\r\n\t\tvm.selectSingle = false;\r\n\t\tvm.disableExceptionButton = false;\r\n\t\tvm.ticketPageListCount = 10;\r\n\t\tvm.SearchByAccountName = '';\r\n\t\tvm.ExceptionType = '';\r\n\t\tvm.exceptionState = '';\r\n\t\tvm.showAllAccounts = [];\r\n\t\tvm.UserId='';\r\n\t\tvm.consumerContact = '';\r\n\t\t$scope.dates = { startDate: moment().subtract(0, 'days'), endDate: moment() };\r\n\t\tvar startDate = moment().subtract(0, 'days').format(\"YYYY-MM-DD\");\r\n\t\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\t\tvm.userQuery = '';\r\n\t\tvm.ticketforQuery = '';\r\n\t\t$scope.ranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment()]\r\n\t\t};\r\n\r\n\t\t$scope.dateRangeChange = function (ev, picker) {\r\n\t\t\t// console.log(ev, picker);\r\n\t\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\t\tvm.getAllJobForExceptionList();\r\n\r\n\r\n\t\t};\r\n\r\n\t\t\r\n\t\t$scope.totalTableTickets = 0;\r\n\t\t$scope.ticketTablePerPage = vm.ticketPageListCount ; \r\n\t\t$scope.TicketTablepagination = {\r\n\t\t current: 1\r\n\t\t};\r\n\t\r\n\t\r\n\t\tvm.changeTicketPageListCount = function() { \r\n\t\t $scope.ticketTablePerPage = vm.ticketPageListCount;\r\n\t\t PageSize = $scope.ticketTablePerPage;\r\n\t\t $scope.TicketTablepageChanged($scope.TicketTablepagination.current);\r\n\t\t vm.selectAll = false;\r\n\t\t}\r\n\r\n\t\tPageIndex=$scope.TicketTablepagination.current;\r\n\t\t$scope.TicketTablepageChanged = function(newPage) { \r\n\t\t PageIndex = newPage; \r\n\t\t vm.getAllJobForExceptionList();\r\n\t\t};\r\n\t\r\n\t\t// vm.GetConsumerDetails = function () {\r\n\t\t// \tConsumerQueryService.GetConsumerDetails(loggedinUser, token, $localStorage.consumerContact).then(function (resp) {\r\n\t\t// \t\tif (resp && resp.data && resp.status == 200 ) {\r\n\t\t// \t\t\tvm.consumerData = resp.data;\r\n\t\t// \t\t\tvm.consumerAddress = resp.data.Addresses[0];\r\n\t\t// \t\t\tvm.IsConsumerFound = true;\r\n\t\t// \t\t}\r\n\t\t// \t\telse {\r\n\t\t// \t\t\tvm.IsConsumerFound = false;\r\n\t\t// \t\t\tvm.ErrorMessage = resp.data.Message;\r\n\t\t// \t\t\tvm.showFailure(resp.data.Message)\r\n\t\t// \t\t}\r\n\t\t// \t}, vm.showFailure);\r\n\t\t// }\r\n\t\tvm.GetAllTicketsForContact = function () {\r\n\t\t\tConsumerQueryService.GetTicketForTicketCase(loggedinUser, token, vm.consumerContact).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.consumerAllTicketsData = resp.data;\r\n\t\t\t\t\tvm.IsTicketFound = true;\r\n\t\t\t\t\tvm.GetAllQueryForTicket(vm.consumerAllTicketsData[0].MMFTicketId);\r\n\t\t\t\t\tvm.GetAllActivityTimeline(vm.consumerAllTicketsData[0].MMFTicketId);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.IsTicketFound = false;\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data)\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.GetAllQueryForTicket = function (ticketId) {\r\n\t\t\tvm.AllQueryData = '';\r\n\t\t\tvm.selectedTicket = ticketId;\r\n\t\t\tConsumerQueryService.GetAllQueryForTicket(loggedinUser, token, ticketId).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.AllQueryData = resp.data;\r\n\t\t\t\t}\r\n\t\t\t\t// else {\r\n\t\t\t\t// \tvm.showFailure(\"Failed\", resp.data)\r\n\t\t\t\t// }\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.filter = '';\r\n\t\tvm.GetAllActivityTimeline = function (ticketId) {\r\n\t\t\tConsumerQueryService.GetAllActivityTimeline(ticketId, vm.filter,loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\t\tvm.getAllActivityTimelineList = resp.data;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.RaiseCasesModel = function (ticket) {\r\n\t\t\tvm.ticketforQuery = ticket;\r\n\t\t\tvm.selectedTicket = ticket;\r\n\t\t\tvm.GetAllQueryForTicket(vm.selectedTicket);\r\n\t\t\tvm.GetAllActivityTimeline(vm.selectedTicket);\r\n\t\t\tvm.raisecase = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'RaiseCaseModel.html',\r\n\t\t\t\tsize: 'md',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.CloseRaiseCaseModel = function () {\r\n\t\t\tvm.raisecase.close();\r\n\t\t\tvm.ticketforQuery = '';\r\n\t\t\tvm.userQuery = '';\r\n\t\t}\r\n\r\n\t\tvm.RaiseQueryForCase = function () {\r\n\t\t\tvar queryModel = {\r\n\t\t\t\t\"MMFTicketId\": vm.ticketforQuery,\r\n\t\t\t\t\"Query\": vm.userQuery\r\n\t\t\t}\r\n\t\t\tvm.QueryTask_form.submitted = true;\r\n\t\t\tif (vm.QueryTask_form.$valid) {\r\n\t\t\t\tConsumerQueryService.RaiseQueryForCase(queryModel, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t vm.showSuccess(\"Success\", \"Query Raised to Team Successfully.\");\r\n\t\t\t\t setTimeout(function () {\r\n\t\t\t\t\tvm.GetAllQueryForTicket(vm.ticketforQuery);\r\n\t\t\t\t\tvm.CloseRaiseCaseModel();\r\n\t\t\t\t}, 2000);\r\n\t\t\t\t \r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t })\r\n\t\t\t}\r\n\t\t }\r\n\r\n\r\n\t\tvm.ResetFilter = function(){\r\n\t\t\tvm.consumerContact = '';\r\n\t\t\tvm.IsTicketFound = false;\r\n\t\t }\r\n\t\t\r\n\r\n\t}\r\n});\nangular.module('inspinia').service('consumerloginService', function (ApiURL, $log, $http, userauthURL) {\r\n\r\n this.VerifyOTPRetailStore = function (userOTPData) {\r\n var url = userauthURL + '/api/Authenticate/VerifyOTPRetailStore';\r\n return $http.post(url, userOTPData, { headers: { 'Content-Type': 'application/json' } })\r\n }\r\n\r\n this.GenerateOtpRetailStore = function (userData) {\r\n var url = userauthURL + '/api/Authenticate/GenerateOtpRetailStore';\r\n return $http.post(url, userData, { headers: { 'Content-Type': 'application/json' } })\r\n }\r\n\r\n this.UpdateRetailUserDetails = function (userBasicData, loggedinUser, token) {\r\n var url = ApiURL + '/api/User/UpdateRetailUserDetails';\r\n return $http.put(url, userBasicData, { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser } })\r\n }\r\n\r\n});\r\n\nangular.module('inspinia').controller('ConsumnerLogInController', function ($timeout, $log, $rootScope, $stateParams, $state, consumerloginService, toaster, $scope, $localStorage, $interval, webSocketFactory) {\r\n var vm = this;\r\n vm.otp = '';\r\n vm.userName = '',\r\n vm.userLocation = '';\r\n vm.mobileNumber = '';\r\n vm.userAuthToken = '';\r\n $scope.stage = '';\r\n $scope.countDown = 60;\r\n\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n\r\n $scope.GenerateOtpRetailStore = function () {\r\n vm.loginForm.submitted = true;\r\n if (vm.loginForm.$valid) {\r\n var userData = vm.mobileNumber;\r\n consumerloginService.GenerateOtpRetailStore(userData).then(function (response) {\r\n if (response.status == 200) {\r\n $scope.next('stage1');\r\n toaster.pop({\r\n type: 'success',\r\n title: 'success',\r\n showCloseButton: true,\r\n body: 'OTP send to phone number',\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000,\r\n positionClass: 'toast-top-full-width'\r\n });\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", response.data)\r\n }\r\n });\r\n }\r\n }\r\n\r\n $scope.VerifyOTPRetailStore = function () {\r\n var userOTPData = {\r\n \"UserId\": vm.mobileNumber,\r\n \"Password\": vm.otp\r\n };\r\n consumerloginService.VerifyOTPRetailStore(userOTPData).then(function (response) {\r\n if (response.status == 200) {\r\n vm.userAuthMessage = response.data;\r\n vm.userAuthToken = response.headers('Token');\r\n vm.userAuthUserId = response.headers('Userid');\r\n $localStorage.token = vm.userAuthToken;\r\n $localStorage.loggedInUserId = vm.userAuthUserId;\r\n $localStorage.loggedInUser_FirstName = vm.userAuthMessage.Name;\r\n // $localStorage.loggedInUser_LastName = vm.userAuthMessage.LastName;\r\n $localStorage.loggedInUser_Role = vm.userAuthMessage.Role;\r\n $scope.$parent.$parent.main.UpdateMain();\r\n if (vm.userAuthMessage.Name && vm.userAuthMessage.Location) {\r\n vm.userName = vm.userAuthMessage.Name;\r\n vm.userLocation = vm.userAuthMessage.Location;\r\n toaster.pop({\r\n type: 'success',\r\n title: 'success',\r\n showCloseButton: true,\r\n body: 'OTP Verified Successfully.',\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000,\r\n positionClass: 'toast-top-full-width'\r\n });\r\n \r\n $state.go('index.ConsumerQuery', {\r\n reload: true\r\n });\r\n \r\n }\r\n else {\r\n $scope.next('stage2');\r\n toaster.pop({\r\n type: 'success',\r\n title: 'success',\r\n showCloseButton: true,\r\n body: 'OTP Verified Successfully.',\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000,\r\n positionClass: 'toast-top-full-width'\r\n });\r\n }\r\n }\r\n }, function () {\r\n });\r\n\r\n }\r\n\r\n $scope.SubmitBasicInfo = function () {\r\n var userBasicData = {\r\n \"Name\": vm.userName,\r\n \"Location\": vm.userLocation\r\n };\r\n consumerloginService.UpdateRetailUserDetails(userBasicData, $localStorage.loggedInUserId, $localStorage.token).then(function (response) {\r\n if (response.status == 200) {\r\n $localStorage.loggedInUser_FirstName = vm.userName;\r\n $scope.$parent.$parent.main.UpdateMain();\r\n toaster.pop({\r\n type: 'success',\r\n title: 'success',\r\n showCloseButton: true,\r\n body: 'Details Submitted Successfully.',\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000,\r\n positionClass: 'toast-top-full-width'\r\n });\r\n\r\n $state.go('index.ConsumerQuery', {\r\n reload: true\r\n });\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", response.data)\r\n }\r\n });\r\n\r\n }\r\n\r\n $scope.next = function (stage) {\r\n $scope.direction = 1;\r\n $scope.stage = stage;\r\n };\r\n\r\n $scope.back = function (stage) {\r\n $scope.direction = 0;\r\n $scope.stage = stage;\r\n };\r\n\r\n vm.enablePlugin = function () {\r\n $('#loginForm').disableAutoFill({\r\n });\r\n\r\n }\r\n\r\n});\r\n\n\r\nangular.module('inspinia').service('ConsumerListService', function (ApiURL, FreelancerURL, SchedulingAPI, $log, $http, $localStorage) {\r\n\r\n this.getSkills = function (loggedinUser, token, callback, failure) {\r\n var url = ApiURL + '/api/SkillSets/' + loggedinUser + '/getmasterskillsB2C';\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n }, function () {\r\n failure(\"skills\", \"Unable to get skills\");\r\n });\r\n }\r\n\r\n this.GetCustomersOnFilterWithPaging = function (ticketFormData, loggedinUser, token) {\r\n var url = ApiURL + \"/api/CapacityPlanning/GetConsumersOnFilter\";\r\n return $http.post(url, ticketFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n \r\n // this.GetCustomersOnFilterWithoutPaging = function (ticketFormData, loggedinUser, token) {\r\n // var url = ApiURL + \"/api/CapacityPlanning/GetCustomersOnFilter\";\r\n // return $http.post(url, ticketFormData, {\r\n // headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n // });\r\n // }\r\n\r\n this.getAllState = function (loggedinUser) {\r\n var url = LocationURL + '/api/Location/' + loggedinUser + '/GetAllStates';\r\n return $http.get(url, {\r\n params: {}\r\n });\r\n }\r\n\r\n\r\n this.GetConsumerProductsOnFilter = function (data, loggedinUser, token) {\r\n var url = ApiURL + '/api/CapacityPlanning/GetConsumerProductsOnFilter';\r\n return $http.post(url,data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetConsumerDashboardOnFilter = function (ticketFormData,loggedinUser, token) {\r\n var url = ApiURL + '/api/CapacityPlanning/GetConsumerDashboardOnFilter';\r\n return $http.post(url,ticketFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n\r\n this.GetAllConsumerCampaignName = function (loggedinUser, token) {\r\n url = ApiURL + '/api/Campaign/GetAllConsumerCampaignName';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.RunCampaignOnConsumer = function (consumnerFormData, loggedinUser, token) {\r\n var url = ApiURL + \"/api/Campaign/RunCampaignOnConsumerPool\";\r\n return $http.post(url, consumnerFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n\r\n this.GetBrandMaster = function (loggedinUser,token) {\r\n var url = ApiURL + '/api/MMFConsumer/GetBrandMaster';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n this.GetBrandProducts = function (brandName,loggedinUser, token) {\r\n var url = ApiURL + '/api/MMFConsumer/GetBrandProducts?Brand=' + brandName;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n});\r\n\nangular.module('inspinia').controller('ConsumerListController', function (DashboardService, $stateParams, DTColumnBuilder, $filter, $q, $compile, DTOptionsBuilder, ManualAssignationJobService, ConsumerListService, $scope, $uibModal, $timeout, $http, NgMap,\r\n ReferService, $rootScope, $q, DTColumnDefBuilder, $uibModal, $localStorage, $state, FreelancerURL, ApiURL, $timeout, ngProgressFactory, $interval) {\r\n var vm = this;\r\n vm.updateType = $stateParams.type;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n vm.startDate = new Date(); // Set initial start date\r\n vm.endDate = new Date(); // Set initial end date\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n } else {\r\n\r\n vm.FilterSwitch = false;\r\n vm.client = 1;\r\n vm.workArea = '';\r\n vm.filteredProperties = {};\r\n vm.disableBroadcastButton = false;\r\n vm.projectName = '';\r\n vm.dtInstance = {};\r\n vm.showticketSuccess = false;\r\n $scope.myvalue = false;\r\n $scope.class_status = true;\r\n $scope.toggleSingleClass = function () {\r\n $scope.class_status = !$scope.class_status;\r\n $scope.myvalue = true;\r\n };\r\n\r\n $scope.broadcastSentUser = true;\r\n $scope.toggleForBroadcast = function () {\r\n $scope.broadcastSentUser = !$scope.broadcastSentUser;\r\n $scope.myvalue = true;\r\n };\r\n $scope.manualAssignationWrapper = \"hide-nav\";\r\n $scope.toggleMenu = function () {\r\n if ($scope.manualAssignationWrapper === \"hide-nav\") {\r\n $scope.manualAssignationWrapper = \"show-nav\";\r\n }\r\n else {\r\n $scope.manualAssignationWrapper = \"hide-nav\";\r\n }\r\n };\r\n $scope.hideAllUser = true;\r\n\r\n $scope.showAllUser = function () {\r\n $scope.hideAllUser = true;\r\n };\r\n $scope.hideAllUserbutton = function () {\r\n $scope.hideAllUser = false;\r\n };\r\n $scope.userClass_status = true;\r\n $scope.toggleBottom = false;\r\n $scope.open360View = function () {\r\n $scope.userClass_status = false;\r\n $scope.myvalue = true;\r\n }\r\n $scope.close360View = function () {\r\n $scope.userClass_status = true;\r\n $scope.myvalue = false;\r\n }\r\n $scope.closeSlideBottom = function () {\r\n $scope.toggleNav = false;\r\n }\r\n $scope.hideoverlay = function () {\r\n $scope.myvalue = false;\r\n $scope.class_status = true;\r\n $scope.userClass_status = true;\r\n $scope.broadcastSentUser = true;\r\n $scope.userFilter = true;\r\n $scope.minatureSlide = true;\r\n $scope.myvalue = false;\r\n }\r\n\r\n vm.accountConfig = $localStorage.accountConfig;\r\n var token = $localStorage.token;\r\n vm.searchText = \"\";\r\n vm.searchTicket = \"\";\r\n vm.IsSearch = false;\r\n vm.DateField = \"CreatedOn\";\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n vm.JobSkill = \"\";\r\n vm.RegistrationStatus = \"\";\r\n vm.UserRegistrationStatus = \"\";\r\n vm.TechRole = \"\";\r\n vm.Asset = \"\";\r\n vm.Tools = \"\";\r\n vm.PermanentCity = \"\";\r\n vm.techPincode = \"\";\r\n vm.PermanentState = \"\";\r\n vm.TicketState = \"\";\r\n vm.TicketCity = \"\";\r\n vm.brandName = \"\";\r\n vm.ProductType = \"\";\r\n vm.Pincode = \"\";\r\n vm.UserDetailVerification = \"\";\r\n vm.showErrors = false;\r\n vm.showPassed = false;\r\n vm.errorList = [];\r\n vm.disableUploadButton = true;\r\n vm.LocationAddressList = [];\r\n vm.TicketBasedPlanningList = {};\r\n vm.bulkuploadType = \"\";\r\n vm.progressbar = ngProgressFactory.createInstance();\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noMsg = [];\r\n vm.noOfRecords = 0;\r\n vm.file = null;\r\n vm.fileName = '';\r\n vm.fileDescription = '';\r\n vm.techpageindexCount = 0;\r\n var cuPageIndex = 1;\r\n var cuPageSize = 10;\r\n vm.ticketPoolPageListCount = 10;\r\n vm.customerPageListCount = 10;\r\n vm.userPoolPageListCount = 10;\r\n vm.pageListCounts = [10, 20, 30, 50];\r\n vm.ticketPoolListLenth = 0;\r\n vm.customerListLenth = 0;\r\n vm.userPoolListLength = 0;\r\n vm.pageindexCount = 0;\r\n vm.TPpageindexCount = 0;\r\n vm.cuPageindexCount = 0;\r\n vm.UPpageindexCount = 0;\r\n vm.DateField = \"StatusChangedOn\";\r\n vm.searchStatusText = \"All\";\r\n vm.AlListCount = 10;\r\n vm.UWListCount = 10;\r\n vm.EAlListCount = 10;\r\n vm.UsersType = \"\";\r\n vm.OrderSequence = \"asc\";\r\n vm.Orderby = \"City\";\r\n vm.SortBy = \"Distance\";\r\n vm.searchUsersText = \"\";\r\n vm.jobsCount = '';\r\n vm.userPageListCount = 10;\r\n vm.UWticketsListCount = 10;\r\n vm.pageListCountsuwt = [10, 20, 30, 50];\r\n\r\n\r\n var ticketstartDate = moment().subtract(30, 'days').format(\"YYYY-MM-DD\");\r\n var ticketendDate = moment().format(\"YYYY-MM-DD\");\r\n\r\n vm.ticketPooldates = { startDate: ticketstartDate, endDate: ticketendDate };\r\n\r\n vm.ticketranges = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n 'Till now': [moment().subtract(5, 'years'), moment()]\r\n };\r\n\r\n $scope.ticketdateRangeChange = function (ev, picker) {\r\n vm.ticketPooldates.startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n vm.ticketPooldates.endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n };\r\n\r\n vm.City = '';\r\n vm.Pincode = '';\r\n vm.Experience = '';\r\n vm.Ratings = '';\r\n vm.Assets_Tools = '';\r\n vm.Jobscount = '';\r\n vm.FilterAdhar = '';\r\n vm.FilterPancard = '';\r\n vm.JobSkill = \"\";\r\n vm.ActiveInMonth = \"\";\r\n vm.NoOfJobDone = \"\";\r\n vm.Asset = \"\";\r\n vm.Tools = \"\";\r\n vm.UserRole = \"\";\r\n vm.ToolList = \"\";\r\n vm.OneJobDone = false;\r\n vm.MatchingSkill = false;\r\n vm.Asset_Bike = false;\r\n vm.Asset_Mobile = false;\r\n vm.Asset_Laptop = false;\r\n vm.IsBasedOnPincode = true;\r\n vm.getRadius = function (num) {\r\n return Math.sqrt(num) * 100;\r\n }\r\n $localStorage.filteraddskill = '';\r\n $localStorage.filterPermanentstate = '';\r\n vm.currentPage = $localStorage.PageIndex ? $localStorage.PageIndex : 1;\r\n vm.pageSize = 20;\r\n\r\n // $scope.totalUsers = 0;\r\n // $scope.usersPerPage = 20; // this should match however many results your API puts on one page\r\n // $scope.pagination = {\r\n // current: 1\r\n // };\r\n\r\n // $scope.pagination.current = $localStorage.PageIndex ? $localStorage.PageIndex : 1;\r\n // $scope.totalTableUsers = 0;\r\n // $scope.usersTablePerPage = 20; // this should match however many results your API puts on one page\r\n // $scope.UserTablepagination = {\r\n // current: 1\r\n // };\r\n\r\n // $scope.UserTablepagination.current = $localStorage.PageIndex ? $localStorage.PageIndex : 1;\r\n\r\n // $scope.pageChanged = function (newPage) {\r\n // vm.currentPage = newPage;\r\n\r\n // };\r\n $scope.isOpen = false;\r\n $scope.isOpen1 = false;\r\n $scope.isCollapsed = true;\r\n $scope.isCollapsed0 = true;\r\n $scope.isCollapsed1 = true;\r\n $scope.isCollapsed2 = true;\r\n $scope.isCollapsed3 = true;\r\n $scope.isCollapsed4 = true;\r\n $scope.showAnalysisReport = false;\r\n $scope.analysisFilterView = false;\r\n $scope.ticketFilterView = false;\r\n $scope.backScreen = function () {\r\n $scope.showAnalysisReport = false;\r\n angular.element('#filter-visible-area').addClass(\"filter-slider-visible\");\r\n }\r\n\r\n\r\n\r\n \r\n\r\n $scope.totalCustomers = 0;\r\n $scope.customerTablePerPage = vm.customerPageListCount;\r\n $scope.customerTablepagination = {\r\n current: 1\r\n };\r\n\r\n\r\n vm.changeCustomerTablePerPage = function () {\r\n $scope.customerTablePerPage = vm.customerPageListCount;\r\n cuPageSize = $scope.customerTablePerPage;\r\n $scope.CustomerTablepageChanged($scope.customerTablepagination.current);\r\n vm.selectAll = false;\r\n }\r\n\r\n PageIndex = $scope.customerTablepagination.current;\r\n $scope.CustomerTablepageChanged = function (newPage) {\r\n cuPageIndex = newPage;\r\n vm.addFilterforCustomer();\r\n };\r\n vm.customerList = [];\r\n vm.YearOldProducts = \"\";\r\n vm.addFilterforCustomer = function () {\r\n vm.ticketFormData = {\r\n \"State\": vm.TicketState,\r\n \"City\": vm.TicketCity == \"\" ? \"\" : vm.TicketCity.join(\"|\"),\r\n \"Pincode\": \"\",\r\n \"Brand\": vm.brandName,\r\n \"ProductType\": vm.ProductType,\r\n \"FromDate\": moment(vm.ticketPooldates.startDate).format(\"YYYY-MM-DD\"),\r\n \"ToDate\": moment(vm.ticketPooldates.endDate).format(\"YYYY-MM-DD\"),\r\n \"PageIndex\": cuPageIndex,\r\n \"PageSize\": cuPageSize,\r\n \"YearOldProducts\": vm.YearOldProducts\r\n }\r\n cuPageIndex = cuPageIndex ? cuPageIndex : 1;\r\n ConsumerListService.GetCustomersOnFilterWithPaging(vm.ticketFormData, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.customerPoolList = resp.data;\r\n $scope.totalCustomers = resp.data.RecordCount;\r\n if (vm.customerPoolList.length < vm.customerPageListCount)\r\n vm.customerListLenth = $scope.totalCustomers;\r\n else\r\n vm.customerListLenth = cuPageIndex * vm.customerPageListCount;\r\n if (cuPageIndex == 1)\r\n vm.cuPageindexCount = 1;\r\n else\r\n vm.cuPageindexCount = (((cuPageIndex - 1) * vm.customerPageListCount) + 1);\r\n $scope.class1 = false;\r\n }\r\n \r\n\r\n }, function () {\r\n });\r\n }\r\n\r\n vm.addFilterforCustomer();\r\n\r\n\r\n vm.GetOnBoardingTaskDetails = function (isCollapsed, ConsumerId) {\r\n vm.taskDetailsList = [];\r\n $scope.isCollapsed = !isCollapsed;\r\n $scope.showRow = ConsumerId;\r\n var data = {\r\n \"ConsumerId\": ConsumerId,\r\n \"State\": vm.TicketState,\r\n \"City\": vm.TicketCity == \"\" ? \"\" : vm.TicketCity.join(\"|\"),\r\n \"Pincode\": \"\",\r\n \"Brand\": vm.brandName,\r\n \"ProductType\": vm.ProductType,\r\n \"FromDate\": ticketstartDate,\r\n \"ToDate\": ticketendDate,\r\n \"YearOldProducts\": vm.YearOldProducts\r\n }\r\n ConsumerListService.GetConsumerProductsOnFilter(data, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.taskDetailsList = resp.data;\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n\r\n \r\n vm.GetConsumerDashboardOnFilter = function () {\r\n\r\n vm.ticketFormData = {\r\n \"State\": vm.TicketState,\r\n \"City\": vm.TicketCity == \"\" ? \"\" : vm.TicketCity.join(\"|\"),\r\n \"Pincode\": \"\",\r\n \"Brand\": vm.brandName,\r\n \"ProductType\": vm.ProductType,\r\n \"FromDate\": moment(vm.ticketPooldates.startDate).format(\"YYYY-MM-DD\"),\r\n \"ToDate\": moment(vm.ticketPooldates.endDate).format(\"YYYY-MM-DD\"),\r\n \"PageIndex\": cuPageIndex,\r\n \"PageSize\": cuPageSize,\r\n \"YearOldProducts\": vm.YearOldProducts\r\n }\r\n\r\n ConsumerListService.GetConsumerDashboardOnFilter(vm.ticketFormData,loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.consumerCount = resp.data;\r\n }\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.GetConsumerDashboardOnFilter ();\r\n\r\n\r\n vm.userFilterEnable = false;\r\n\r\n\r\n $scope.isClick = false;\r\n $scope.isClick1 = false;\r\n $scope.isClick2 = false;\r\n $scope.isClick3 = false;\r\n $scope.activeButton = function () {\r\n $scope.isClick = !$scope.isClick;\r\n }\r\n $scope.activeButton1 = function () {\r\n $scope.isClick1 = !$scope.isClick1;\r\n }\r\n $scope.activeButton2 = function () {\r\n $scope.isClick2 = !$scope.isClick2;\r\n }\r\n $scope.activeButton3 = function () {\r\n $scope.isClick3 = !$scope.isClick3;\r\n }\r\n\r\n $scope.class1 = false;\r\n $scope.addRemoveRedClass = function (UploadId) {\r\n $localStorage.UploadId = UploadId;\r\n if ($scope.class1) {\r\n $scope.class1 = false;\r\n } else {\r\n $scope.class1 = true;\r\n }\r\n }\r\n\r\n $scope.slider = {\r\n value: 50,\r\n options: {\r\n floor: 0,\r\n ceil: 100,\r\n step: 1,\r\n minLimit: 10,\r\n maxLimit: 90\r\n }\r\n };\r\n\r\n $scope.myTrigger = \"outsideClick\";\r\n\r\n function getAllStates() {\r\n var defered = $q.defer();\r\n ReferService.getAllState(loggedinUser, token).then(function (resp) {\r\n defered.resolve(resp);\r\n }, function (error) {\r\n defered.reject(error);\r\n });\r\n return defered.promise;\r\n }\r\n\r\n var allStatePromise = getAllStates(loggedinUser);\r\n allStatePromise.then(function (resp) {\r\n vm.StateList = resp.data;\r\n\r\n });\r\n function getallCities(state) {\r\n ReferService.getAllCity(loggedinUser, state, token).then(function (resp) {\r\n vm.CityList = resp.data;\r\n });\r\n }\r\n vm.selectedState = function (state) {\r\n getallCities(state);\r\n }\r\n\r\n vm.openConsumerCampaignModel = function () {\r\n vm.analysisDetails = vm.analysisDetails;\r\n vm.consumenCampaignModelOpen = $uibModal.open({\r\n templateUrl: 'consumerCampaignRunModel.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n\r\n vm.CloseConsumerCampaignModel = function () {\r\n vm.ConsumerCampaignName = \"\";\r\n vm.consumenCampaignModelOpen.close();\r\n }\r\n\r\n vm.RunCampaignOnConsumer = function () {\r\n vm.consumner_campaign_form.submitted = true;\r\n vm.ticketFormData.CampaignName = vm.ConsumerCampaignName;\r\n if (vm.consumner_campaign_form.$valid) {\r\n ConsumerListService.RunCampaignOnConsumer(vm.ticketFormData, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.CloseConsumerCampaignModel();\r\n }\r\n })\r\n }\r\n }\r\n\r\n vm.ResetFilter = function () {\r\n vm.IsBasedOnPincode = true;\r\n vm.RegistrationStatus = \"\";\r\n vm.UserRegistrationStatus = \"\";\r\n vm.JobSkill = \"\";\r\n vm.UserDetailVerification = \"\";\r\n vm.PermanentCity = \"\";\r\n vm.techPincode = \"\";\r\n vm.PermanentState = \"\";\r\n vm.TicketState = \"\";\r\n vm.TicketCity = \"\";\r\n vm.ProductType = \"\";\r\n vm.brandName = \"\";\r\n vm.TechRole = \"\";\r\n vm.ToolList = \"\";\r\n ticketstartDate = moment().subtract(30, 'days').format(\"YYYY-MM-DD\");\r\n ticketendDate = moment().format(\"YYYY-MM-DD\");\r\n vm.ticketPooldates = { startDate: ticketstartDate, endDate: ticketendDate };\r\n }\r\n\r\n vm.getSkills = function () {\r\n ConsumerListService.getSkills(loggedinUser, token, function (skills) {\r\n vm.skills = skills;\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.getSkills();\r\n\r\n $scope.searchDisabled = true;\r\n vm.loaderFlag = false;\r\n vm.hideLoader = function () {\r\n if (vm.loaderFlag) {\r\n $rootScope.$broadcast(\"loader_hide\");\r\n $timeout(function () { vm.loaderFlag = false; }, 1000);\r\n $timeout(vm.hideLoader, 1);\r\n }\r\n }\r\n\r\n\r\n vm.GetAllConsumerCampaignName = function () {\r\n ConsumerListService.GetAllConsumerCampaignName(loggedinUser, token).then(function (resp) {\r\n vm.consumerCampaignNameList = resp.data;\r\n })\r\n }\r\n\r\n\r\n // vm.brandList = [\"LG\", \"Samsung\", \"Havells & lloyds\", \"Hitachi\", \"Panasonic\", \"O general\", \"Daikin\", \"Micromax\", \"Bluestar\", \"Toshiba\", \"Glen\", \"Lifelong\", \"Whirlpool\", \"IFB\", \"Philips\", \"Godrej\", \"Bajaj\"];\r\n\r\n // vm.productList = [\"Aircon\", \"Air cooler\", \"Home Appliances\", \"IT\", \"AC\", \"Multi product\", \"RO\", \"Printer\"];\r\n\r\n \r\n vm.getAllSlotsByStatus = function (status) {\r\n vm.ProductType = status;\r\n vm.brandName = \"\";\r\n PageIndex = 1;\r\n vm.addFilterforCustomer();\r\n }\r\n\r\n vm.getAllSlotsByBrand = function (brand) {\r\n vm.brandName = brand;\r\n vm.ProductType = \"\";\r\n PageIndex = 1;\r\n vm.addFilterforCustomer();\r\n }\r\n\r\n $scope.toggleSingleClass = function () {\r\n $scope.class_status = !$scope.class_status;\r\n };\r\n $scope.activatedButton = function () {\r\n $scope.isactivated = !$scope.isactivated;\r\n }\r\n $scope.activatedButton1 = function () {\r\n $scope.isactivated1 = !$scope.isactivated1;\r\n }\r\n $scope.activatedButton2 = function () {\r\n $scope.isactivated2 = !$scope.isactivated2;\r\n }\r\n $scope.activatedButton3 = function () {\r\n $scope.isactivated3 = !$scope.isactivated3;\r\n }\r\n $scope.activatedButton4 = function () {\r\n $scope.isactivated4 = !$scope.isactivated4;\r\n }\r\n\r\n\r\n vm.GetBrandMaster = function () {\r\n\t\t\tConsumerListService.GetBrandMaster(loggedinUser,token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.BrandList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.GetBrandMaster();\r\n\r\n vm.GetBrandProducts = function () {\r\n\t\t\tif (!vm.brandName) {\r\n\t\t\t\tvm.brandName = \"\";\r\n\t\t\t}\r\n\t\t\tConsumerListService.GetBrandProducts(vm.brandName,loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.ProductList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n // vm.GetBrandProducts();\r\n\r\n var $range = $(\".js-range-slider\"),\r\n $from = $(\".from\"),\r\n $to = $(\".to\"),\r\n range,\r\n min = $range.data('min'),\r\n max = $range.data('max'),\r\n from,\r\n to;\r\n\r\n var updateValues = function () {\r\n $from.prop(\"value\", from);\r\n $to.prop(\"value\", to);\r\n };\r\n\r\n $range.ionRangeSlider({\r\n onChange: function (data) {\r\n from = data.from;\r\n to = data.to;\r\n updateValues();\r\n }\r\n });\r\n\r\n range = $range.data(\"ionRangeSlider\");\r\n var updateRange = function () {\r\n range.update({\r\n from: from,\r\n to: to\r\n });\r\n };\r\n\r\n $from.on(\"input\", function () {\r\n from = +$(this).prop(\"value\");\r\n if (from < min) {\r\n from = min;\r\n }\r\n if (from > to) {\r\n from = to;\r\n }\r\n updateValues();\r\n updateRange();\r\n });\r\n\r\n $to.on(\"input\", function () {\r\n to = +$(this).prop(\"value\");\r\n if (to > max) {\r\n to = max;\r\n }\r\n if (to < from) {\r\n to = from;\r\n }\r\n updateValues();\r\n\r\n\r\n updateRange();\r\n });\r\n }\r\n});\nangular.module('inspinia').service('ConsumerFormService', function (PublicApiURL, $log, $http, $localStorage) { \r\n \r\n this.getAllState = function (loggedinUser) {\r\n var url = PublicApiURL + '/api/Location/GetSubRegion?userId='+loggedinUser+'®ion=INDIA';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n }\r\n });\r\n }\r\n\r\n this.getAllCity = function (loggedinUser, state) {\r\n var url = PublicApiURL + '/api/Location/GetCity?userId='+loggedinUser+'&subregion='+state;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n }\r\n });\r\n }\r\n\r\n//https://product.mymobiforce.com/publicapi/api/Ticket/GetTicketDetails?Id=T830000000004\r\nthis.GetTicketDetails=function(loggedinUser, ticket){\r\n var url =PublicApiURL + \"/api/Ticket/GetTicketDetails?Id=\" +ticket;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n }\r\n });\r\n }\r\n\r\n// https://product.mymobiforce.com/publicapi/api/Ticket/UpdateAddressAndSlot?Id=T830000000004\r\nthis.UpdateAddressAndSlot = function(loggedinUser, ticket, data){ \r\n var url = PublicApiURL + '/api/Ticket/UpdateAddressAndSlot?Id=' + ticket;\r\n return $http.put(url,data,{\r\n headers:{'Content-Type' : 'application/json'}\r\n })\r\n }\r\n\r\n});\r\n\nangular.module('inspinia').controller('ConsumerFormController', function(toaster,ConsumerFormService,TeamFormCreationService, $stateParams, $scope, $localStorage) {\r\n\tvm = this;\r\n vm.showSuccess = $scope.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.main.showFailure;\r\n var loggedinUser = 'U830000000001';\t\r\n var ticketId = $stateParams.ticketId; //'T830000000004';\r\n vm.ticketDetails ={};\r\n vm.states={};\r\n vm.cities={};\r\n vm.startDatetime='';\r\n vm.endDatetime='';\r\n vm.ConsumerName='';\r\n vm.ConsumerContact='';\r\n vm.Address1='';\r\n vm.Address2='';\r\n vm.permanent_state='';\r\n vm.permanent_city='';\r\n vm.Pincode='';\r\n vm.InFlowDistance='';\r\n vm.OutFlowDistance='';\r\n vm.StartDate = moment();\r\n vm.InstallationType = false;\r\n vm.notimeslotset = true;\r\n\r\n vm.openCalendar = function(e, picker) { \r\n \r\n vm.AppointmentsDate.open = true;\r\n \r\n};\r\n\r\n vm.selecttimeslot = function (timeslot) {\r\n vm.startDatetime = moment(vm.StartDate).format(\"YYYY-MM-DD\") + \" \" + timeslot.split('-')[0];\r\n vm.endDatetime = moment(vm.StartDate).format(\"YYYY-MM-DD\") + \" \" + timeslot.split('-')[1]; \r\n vm.notimeslotset = false; \r\n }\r\n\r\n \r\n // $('.datepicker').datepicker({\r\n // format: \"yyyy-mm-dd\",\r\n // })\r\n // //Listen for the change even on the input\r\n // .change(dateChanged)\r\n // .on('changeDate', dateChanged);\r\n\r\n // function dateChanged(ev) {\r\n // alert('hello');\r\n // }\r\n\r\n vm.gettimeslot= function(dateonchange){debugger\r\n var stime = moment(vm.StartDate, \"YYYY-MM-DD\").format(\"YYYY-MM-DD\");\r\n var etime = moment().format(\"YYYY-MM-DD\");\r\n if( stime < etime){\r\n $('#Alltimeslot').hide();\r\n \r\n return;\r\n }\r\n\r\n if( stime > etime){\r\n $('#Alltimeslot').show();\r\n $('#btn1').show();\r\n $('#btn2').show();\r\n $('#btn3').show();\r\n $('#btn4').show();\r\n\r\n }\r\n else{\r\n \r\n $('#Alltimeslot').show();\r\n // if(dateonchange != ''){\r\n // _datehours1 = new Date(vm.StartDate)\r\n // _datehours = _datehours1.getHours();\r\n \r\n // }\r\n // else{\r\n // _datehours = new Date();\r\n\r\n // }\r\n var _datehours = new Date();\r\n\r\n var timeslothours = _datehours.getHours();\r\n if(timeslothours >= 9 && timeslothours <= 12){\r\n $('#btn1').show();\r\n $('#btn2').show();\r\n $('#btn3').show();\r\n $('#btn4').show();\r\n\r\n }\r\n if(timeslothours >= 12 && timeslothours <= 15){\r\n $('#btn1').hide();\r\n $('#btn2').show();\r\n $('#btn3').show();\r\n $('#btn4').show();\r\n\r\n }\r\n if(timeslothours >= 15 && timeslothours <= 18){\r\n $('#btn1').hide();\r\n $('#btn2').hide();\r\n $('#btn3').show();\r\n $('#btn4').show();\r\n\r\n }\r\n if(timeslothours >= 18 && timeslothours <= 21){\r\n $('#btn1').hide();\r\n $('#btn2').hide();\r\n $('#btn3').hide();\r\n $('#btn4').show();\r\n\r\n }\r\n }\r\n}\r\n vm.gettimeslot('');\r\n \r\n\r\n function getTicketDetails() { \r\n ConsumerFormService.GetTicketDetails(loggedinUser, ticketId).then(function (resp) {\r\n if(resp.status == 200){ \r\n vm.ticketDetails = resp.data; \r\n }\r\n }) \r\n }\t\r\n getTicketDetails();\r\n\r\n \r\n\r\n\r\n ///Saving User function \r\n vm.UpdateAddress = function () {\r\n\t \r\n \r\n\t var data = { \r\n\t \"ConsumerName\": vm.ticketDetails.ConusmerName,\r\n\t \"ConsumerContact\": vm.ticketDetails.ConsumerContact,\r\n\t \"Address1\": vm.Address1,\r\n\t \"Address2\": vm.Address2,\r\n\t \"State\": vm.permanent_state,\r\n\t \"City\": vm.permanent_city,\r\n\t \"Pincode\": vm.Pincode,\r\n\t \"StartTime\": vm.startDatetime ,\r\n\t \"EndTime\": vm.endDatetime,\r\n\t \"InFlowDistance\": vm.InFlowDistance,\r\n\t \"OutFlowDistance\": vm.OutFlowDistance,\r\n\t \"IsNonStandardInstall\": vm.InstallationType,\r\n }\r\n \r\n \r\n if(vm.update_ticket.$valid){\r\n var stime = moment(vm.StartDate, \"YYYY-MM-DD\").format(\"YYYY-MM-DD\");\r\n var etime = moment().format(\"YYYY-MM-DD\");\r\n \r\n if( stime < etime){\r\n vm.showFailure(\"please don't select previous date\");\r\n return;\r\n } \r\n\t ConsumerFormService.UpdateAddressAndSlot(loggedinUser,ticketId,data).then(function (resp) {\r\n\t if(resp.status == 200){ \r\n\t vm.showSuccess(\"Form submitted successfully\"); \r\n\t } \r\n\t })\r\n\t \t}\r\n\t \telse\r\n\t \t{\r\n\t \t\tvm.update_ticket.submitted = true; \r\n\t \t}\r\n \r\n \r\n }\r\n\r\n\r\n vm.getCountry = function () {\r\n TeamFormCreationService.getCountry(loggedinUser).then(function (resp) {\r\n if(resp.status == 200){\r\n if(resp.data && resp.data.values.length>0){\r\n vm.countrylist = resp.data.values;\r\n vm.selectedCountry = vm.countrylist[0];\r\n vm.getStates(loggedinUser, vm.selectedCountry);\r\n // getAllCircles(loggedinUser);\r\n }\r\n } \r\n })\r\n }\r\n vm.selectState = function (state) {\r\n var Getstate = state;\r\n TeamFormCreationService.getCities(loggedinUser,Getstate).then(function (resp) {\r\n vm.cityList = resp.data.values;\r\n if (!resp.data) {\r\n var cityArray = [];\r\n cityArray.push({\r\n city: state\r\n });\r\n vm.cityList = cityArray;\r\n }\r\n }, function () {\r\n\r\n });\r\n }\r\n\r\n vm.getStates = function (loggedinUser, country) {\r\n TeamFormCreationService.getStates(loggedinUser, country).then(function (resp) {\r\n if(resp.status == 200){\r\n if(resp.data && resp.data.values.length>0){\r\n vm.stateList = resp.data.values;\r\n \r\n }\r\n } \r\n })\r\n }\r\n \r\n vm.getCountry(); \r\n \r\n $(\"button\").click(function() {\r\n $(\"button\").removeClass(\"active\");\r\n $(this).addClass(\"active\");\r\n });\r\n\r\n\r\n});\nangular.module('inspinia').service('ConsentOfUserService', function (PublicApiURL, $window, $http) {\r\n \r\n this.GetShiftCampaignDetails = function (userId, campaignId) {\r\n var url = PublicApiURL + '/api/StaffShift/GetShiftCampaignDetails?UserId=' + userId + '&CampaignId=' + campaignId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n }\r\n });\r\n }\r\n\r\n this.ApplyForShiftCampaign = function (userId, campaignId) {\r\n var url = PublicApiURL + '/api/StaffShift/ApplyForShiftCampaign?UserId=' + userId + '&CampaignId=' + campaignId;\r\n return $http.put(url,null, {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n }\r\n });\r\n }\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('ConsentOfUserController', function (ConsentOfUserService, inventoryService, $stateParams, toaster, $filter, $state, $localStorage, $scope, $timeout) {\r\n\r\n\tvar vm = this;\r\n\r\n\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\tvar UserId = $stateParams.UserId;\r\n\tvar CampaignID = $stateParams.CampaignId;\r\n\r\n\tvm.GetShiftCampaignDetails = function () {\r\n\t\tConsentOfUserService.GetShiftCampaignDetails(UserId, CampaignID).then(function (resp) {\r\n\t\t\tif (resp.status == 200) {\r\n\t\t\t\tvm.ShiftData = resp.data;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tvm.GetShiftCampaignDetails();\r\n\r\n\tvm.ApplyForShiftCampaign = function () {\r\n\t\tConsentOfUserService.ApplyForShiftCampaign(UserId, CampaignID).then(function (resp) {\r\n\t\t\tif (resp.status == 200 && resp) {\r\n\t\t\t\tvm.showSuccess(\"Success\", \"Applied for campaign successfully\")\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n});\nangular.module('inspinia').service('confirmAccountService', function (ApiURL, $log, $http) {\r\n\r\n this.generateMail = function (name,email) {\r\n var url = ApiURL + '/api/SignUp';\r\n return $http.get(url, {\r\n params: {\r\n userId: name,\r\n email:email\r\n }\r\n });\r\n }\r\n});\r\n\nangular.module('inspinia').controller('ConfirmAccountController', function ($stateParams, toaster,confirmAccountService) {\r\n var vm = this;\r\n vm.userId = $stateParams.userId;\r\n vm.email = $stateParams.email;\r\n\r\n vm.triggerMail = function () {\r\n confirmAccountService.generateMail(vm.userId, vm.email).then(function () {\r\n\r\n }, function () {\r\n toaster.pop({\r\n type: 'error',\r\n title: 'Password status ',\r\n showCloseButton: true,\r\n body: 'Unable to connect to server',\r\n \"progressBar\": true,\r\n \"preventDuplicates\": false,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 0,\r\n positionClass: 'toast-top-full-width'\r\n });\r\n });\r\n }\r\n});\r\n\nangular.module('inspinia').service('ComplaintCaseListService', function (ApiURL, PublicApiURL, ActivityURL, LocationURL, $http, FreelancerURL, SchedulingAPI) {\r\n var vm = this;\r\n\r\n vm.setShowSuccess = function (success) {\r\n vm.showSuccess = success;\r\n }\r\n\r\n vm.setShowFailure = function (failure) {\r\n vm.showFailure = failure;\r\n }\r\n\r\n this.GetReportingToMeUsers = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/FreeLancerRegistration/GetReportingToMeUsers'\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.AssignTaskToUser = function (TaskAssignModel, UserId, loggedinUser, token) {\r\n var url = ApiURL + '/api/OnBoardingTask/AssignTaskToUser?UserId=' + UserId;\r\n return $http.put(url, TaskAssignModel, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.UpdateCaseForTechnician = function (data, loggedinUser, token) {\r\n var url = ApiURL + \"/api/ProfileController/UpdateCaseForTechnician\";\r\n return $http.put(url, data, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetTechnicianCaseCountsByFilters = function (data, loggedinUser, token) {\r\n var url = ApiURL + '/api/ProfileController/GetTechnicianCaseCountsByFilters';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAllCasesForTechnicianAssignedToMe = function (data,loggedinUser, token) {\r\n var url = ApiURL + \"/api/ProfileController/GetAllCasesForTechnicianAssignedToMe\";\r\n return $http.post(url,data, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n\r\n\r\n});\nangular.module('inspinia').controller('ComplaintCaseListController', function (ComplaintCaseListService,TechnicianViewService, SlotAllocationService, ManualAssignationJobService, DashboardService, PlanningResourseMapService, JobDetailViewService, ReferService, $q, $filter, $log, $state, $localStorage, UIURL, $stateParams, $uibModal, $scope, DTOptionsBuilder, DTColumnDefBuilder, toaster, $timeout, $compile, ImageUrl, $window) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var accountid = $localStorage.accountConfig.AccountId;\r\n\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n $scope.myvalue = false;\r\n $scope.class_status = true;\r\n $scope.toggleSingleClass = function () {\r\n $scope.class_status = !$scope.class_status;\r\n $scope.myvalue = true;\r\n };\r\n\r\n $scope.broadcastSentUser = true;\r\n $scope.toggleForBroadcast = function () {\r\n $scope.broadcastSentUser = !$scope.broadcastSentUser;\r\n $scope.myvalue = true;\r\n };\r\n\r\n $scope.timeLineDetail = true;\r\n $scope.openTimeLine = function () {\r\n $scope.timeLineDetail = !$scope.timeLineDetail;\r\n $scope.myvalue = true;\r\n };\r\n $scope.capacitygapWrapper = \"hide-nav\";\r\n $scope.toggleMenu = function () {\r\n if ($scope.capacitygapWrapper === \"hide-nav\") {\r\n $scope.capacitygapWrapper = \"show-nav\";\r\n }\r\n else {\r\n $scope.capacitygapWrapper = \"hide-nav\";\r\n }\r\n };\r\n $scope.hideAllUser = true;\r\n\r\n $scope.showAllUser = function () {\r\n $scope.hideAllUser = true;\r\n };\r\n $scope.hideAllUserbutton = function () {\r\n $scope.hideAllUser = false;\r\n };\r\n\r\n $scope.userClass_status = true;\r\n $scope.userClass1_status = true;\r\n $scope.hideoverlay = function () {\r\n $scope.myvalue = false;\r\n $scope.class_status = true;\r\n $scope.userClass_status = true;\r\n $scope.userClass1_status = true;\r\n $scope.broadcastSentUser = true;\r\n $scope.timeLineDetail = true;\r\n $scope.userFilter = true;\r\n $scope.minatureSlide = true;\r\n $scope.myvalue = false;\r\n vm.closeFeedbackoption();\r\n }\r\n $scope.close360View = function () {\r\n $scope.userClass_status = true;\r\n $scope.myvalue = false;\r\n }\r\n $scope.close360ViewBroadcaste = function () {\r\n $scope.myvalue = false;\r\n angular.element('#div1').removeClass(\"alpha\");\r\n $scope.userClass_status = true;\r\n }\r\n $scope.userSingle = function () {\r\n $scope.userClass_status = !$scope.userClass_status;\r\n $scope.myvalue = true;\r\n };\r\n $scope.userSingle1 = function (ticketView) {\r\n vm.ticketViewId = ticketView.TicketId;\r\n vm.ticketAccountName = ticketView.AccountName;\r\n vm.ticketAddress = ticketView.Address;\r\n vm.ticketUserId = ticketView.UserId;\r\n vm.ticketUserName = ticketView.UserName;\r\n vm.ticketSkills = ticketView.Skills;\r\n vm.GetAllActivityTimeline('');\r\n $scope.userClass1_status = !$scope.userClass1_status;\r\n $scope.myvalue = true;\r\n };\r\n $scope.closeactivity = function () {\r\n $scope.userClass1_status = true;\r\n $scope.myvalue = false;\r\n }\r\n\r\n $scope.userFilter = true;\r\n $scope.assignJobFilter = function () {\r\n $scope.userFilter = !$scope.userFilter;\r\n $scope.myvalue = true;\r\n $scope.manualAssignationWrapper = \"hide-nav\";\r\n };\r\n $scope.minatureSlide = true;\r\n $scope.minatureSlideBtn = function () {\r\n $scope.minatureSlide = !$scope.minatureSlide;\r\n $scope.myvalue = true;\r\n };\r\n\r\n $scope.hideFilter = function () {\r\n $scope.userFilter = true;\r\n $scope.minatureSlide = true;\r\n $scope.myvalue = false;\r\n }\r\n\r\n var token = $localStorage.token;\r\n vm.IsAutoAssignToCHDteam = $localStorage.IsAutoAssignToCHDteam;\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.accountConfig = $localStorage.accountConfig;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n $scope.showFullText = false;\r\n\r\n //Global Variable Declaration\r\n vm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n vm.loggedInUserVendorId = $localStorage.loggedInUser_VendorId;\r\n vm.loggedInUserReportingTo = $localStorage.loggedInUser_ReportingTo;\r\n\r\n // variables required for slot allocation\r\n vm.sorttype = \"desc\";\r\n vm.SortType = \"desc\";\r\n vm.Sort = \"desc\";\r\n vm.SortField = 'CreatedOn';\r\n vm.OrderBy = 'CreatedOn';\r\n vm.financePageListCount = 10;\r\n vm.UWticketsListCount = 10;\r\n vm.AlListCount = 10;\r\n vm.UWListCount = 10;\r\n vm.AssignedTo = '';\r\n vm.OnBoardingList = [];\r\n vm.assignButtonDisable = false;\r\n vm.bGVerifyListLength = 0;\r\n vm.userPageListCount = 10;\r\n vm.pageListCounts = [10, 20, 30, 50];\r\n var PageIndex = 1;\r\n var PageSize = 10;\r\n vm.ExceptionType = '';\r\n vm.AssignedTo = '';\r\n vm.caseStatus = '';\r\n vm.caseType = 'Technician';\r\n vm.caseFor = 'Technician';\r\n vm.DateField = 'CreatedOn';\r\n vm.State = '';\r\n vm.City = '';\r\n vm.taskPincode = '';\r\n vm.CreationSource = '';\r\n vm.taskskill = '';\r\n vm.accountId = '';\r\n vm.ExceptionType = '';\r\n vm.capacityCount = '';\r\n vm.cityOfTask = \"\";\r\n vm.accountIdOfTask = \"\";\r\n vm.stateOfTask = \"\";\r\n vm.skillOfTask = \"\";\r\n vm.descriptionOfTask = \"\";\r\n $scope.isCollapsed = true;\r\n var startDate = moment().subtract(7, 'day').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.bookingdates = { startDate: moment().subtract(7, 'day'), endDate: moment() };\r\n vm.bookingRanges = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n // 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n 'Till now': [moment().subtract(5, 'years'), moment()]\r\n };\r\n\r\n vm.taskDueDate = new Date();\r\n var pcdt = new Date();\r\n var year = pcdt.getFullYear();\r\n var month = ('0' + (pcdt.getMonth() + 1)).slice(-2);\r\n var day = ('0' + pcdt.getDate()).slice(-2);\r\n $scope.minDate = year + '-' + month + '-' + day;\r\n pcdt.setDate(pcdt.getDate() + 1);\r\n vm.showErrorMessage = false;\r\n\r\n vm.openCalendar = function (e, picker) {\r\n vm.ClosureDateTime.open = true;\r\n };\r\n var plannedclosuredatelimit = new Date();\r\n plannedclosuredatelimit.setMinutes(plannedclosuredatelimit.getMinutes() + 1)\r\n vm.ClosureDateTime = { date: '', datepickerOptions: { minDate: plannedclosuredatelimit } };\r\n\r\n var date = new Date();\r\n var d = date.getDate();\r\n var m = date.getMonth();\r\n var y = date.getFullYear();\r\n vm.eventsF = function (start, end, timezone, callback) {\r\n var s = new Date(start).getTime() / 1000;\r\n var e = new Date(end).getTime() / 1000;\r\n var m = new Date(start).getMonth();\r\n var events = [{\r\n title: 'Feed Me ' + m,\r\n start: s + (50000),\r\n end: s + (100000),\r\n allDay: false,\r\n className: ['customFeed']\r\n }];\r\n callback(events);\r\n };\r\n\r\n vm.exceptionList = [\"CAPACITY_GAP_EXCEPTION\", \"CAPACITY_GAP_CANCEL\", \"CAPACITY_GAP_MANUAL\"];\r\n\r\n vm.GetFinanceTicketDetail = function (paymentId, isCollapsed) {\r\n $scope.isCollapsed = !isCollapsed;\r\n DashboardService.GetFinanceTicketDetail(paymentId).then(function (resp) {\r\n vm.financedetails = resp.data;\r\n })\r\n }\r\n vm.disableCreateButton = false;\r\n\r\n vm.DisableCreateButton = function (disable) {\r\n if (disable) {\r\n vm.disableCreateButton = true;\r\n }\r\n else {\r\n vm.disableCreateButton = false;\r\n }\r\n }\r\n\r\n vm.filter = '';\r\n vm.GetAllActivityTimeline = function (filter) {\r\n vm.getAllActivityTimelineList = \"\";\r\n vm.filter = filter;\r\n JobDetailViewService.GetAllActivityTimeline(vm.ticketViewId, vm.filter, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n if (resp.status == 200) {\r\n vm.getAllActivityTimelineList = resp.data;\r\n }\r\n }\r\n });\r\n }\r\n\r\n vm.createTaskModel = function () {\r\n vm.createTaskModelOpen = $uibModal.open({\r\n templateUrl: 'createtask.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n\r\n vm.CloseCreateTaskModel = function () {\r\n vm.createTaskModelOpen.close();\r\n vm.DisableCreateButton(false);\r\n vm.cityOfTask = \"\";\r\n vm.stateOfTask = \"\";\r\n vm.skillOfTask = \"\";\r\n vm.descriptionOfTask = \"\";\r\n vm.accountIdOfTask = \"\";\r\n vm.capacityCount = 0;\r\n vm.taskCompletionOn = \"\";\r\n }\r\n\r\n $scope.isEditable = false;\r\n $scope.toggleEdit = function (caseDetail) {\r\n $scope.isEditable = true;\r\n vm.ConsumerId = caseDetail.ConsumerId;\r\n vm.CaseId = caseDetail.CaseId;\r\n vm.ProductOrService = caseDetail.ProductOrService;\r\n vm.updatedCategory = caseDetail.IssueRelatedTo;\r\n vm.updatedSubCategory = caseDetail.ActualIssue;\r\n vm.CaseResolution = caseDetail.CaseResolution;\r\n vm.DepartmentAssignedTo = caseDetail.CaseOwnerId;\r\n angular.forEach($scope.Updatecategories, function (data) {\r\n if (data.name == caseDetail.IssueRelatedTo) {\r\n vm.updatedsubCategoriesList = data;\r\n }\r\n });\r\n vm.IssueDescription = caseDetail.IssueDescription;\r\n vm.CaseDescription = caseDetail.CaseDescription;\r\n vm.AssignedTo = caseDetail.AssignedTo;\r\n vm.CaseStatus = caseDetail.CaseStatus;\r\n };\r\n\r\n vm.caseDetails = \"\";\r\n vm.resolveraise = function (caseDetail) {\r\n vm.caseDetails = caseDetail;\r\n vm.raiseresolve = $uibModal.open({\r\n templateUrl: 'resolveraise.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n vm.closeraiseresolve = function () {\r\n $scope.isEditable = false;\r\n vm.raiseresolve.close();\r\n }\r\n\r\n\r\n vm.Open360ForActiveUsers = function (teamid) {\r\n $state.go('index.Technician360view', {\r\n userId: teamid\r\n }, { reload: true });\r\n }\r\n\r\n vm.OpenTicketDetail = function (ticketId) {\r\n $state.go('index.JobDetailView', {\r\n ticketId: ticketId\r\n }, { reload: true })\r\n }\r\n\r\n\r\n\r\n vm.UpdatedCaseForTechnician = function () {\r\n // if (vm.updatedCategory && vm.updatedSubCategory) {\r\n var dataToUpdate = {\r\n \"UserId\": vm.ConsumerId,\r\n \"CaseId\": vm.CaseId,\r\n \"CaseResolution\": vm.CaseResolution,\r\n \"CaseStatus\": vm.CaseStatus,\r\n \"IssueDescription\": vm.IssueDescription,\r\n \"IssueRelatedTo\": vm.updatedCategory,\r\n \"ActualIssue\": vm.updatedSubCategory,\r\n \"ProductOrService\": \"\",\r\n \"AssigneToTeam\": vm.AssignedTo,\r\n \"AssignToDepartment\": vm.DepartmentAssignedTo\r\n }\r\n ComplaintCaseListService.UpdateCaseForTechnician(dataToUpdate, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.closeraiseresolve();\r\n $timeout(function () {\r\n vm.GetAllCasesForTechnicianAssignedToMe();\r\n }, 2000)\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data)\r\n }\r\n\r\n })\r\n // }\r\n }\r\n\r\n vm.DisableRouteBroadcastButtons = function (disable) {\r\n if (disable) {\r\n vm.brodcastButtonDisable = true;\r\n vm.routebuttonDisable = true;\r\n }\r\n else {\r\n vm.brodcastButtonDisable = false;\r\n vm.routebuttonDisable = false;\r\n }\r\n }\r\n\r\n\r\n\r\n vm.Applyfilter = function () {\r\n $scope.UserTablepagination = {};\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n $scope.hideFilter();\r\n }\r\n\r\n vm.PDFView = function (page) {\r\n vm.pdfimage = \"\";\r\n vm.IsLoadSucessfull = false;\r\n $scope.selected = null;\r\n jobAppointmentModal = $uibModal.open({\r\n templateUrl: 'PDFView.html',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.sortColumn = function (col) {\r\n vm.OrderBy = col;\r\n if (vm.Sort == 'desc') {\r\n vm.Sort = 'asc';\r\n vm.reverseclass = 'fa fa-arrow-up';\r\n } else {\r\n vm.Sort = 'desc';\r\n vm.reverseclass = 'fa fa-arrow-down';\r\n }\r\n };\r\n\r\n // remove and change class\r\n vm.sortClass = function (col) {\r\n if (vm.OrderBy == col) {\r\n if (vm.Sort == 'desc') {\r\n return 'fa fa-arrow-down';\r\n } else {\r\n return 'fa fa-arrow-up';\r\n }\r\n }\r\n else {\r\n return '';\r\n }\r\n }\r\n\r\n vm.closeSearchText = function () {\r\n vm.caseStatus = '';\r\n vm.caseType = 'Technician';\r\n vm.caseFor = 'Technician';\r\n vm.GetAllCasesForTechnicianAssignedToMe();\r\n vm.GetTechnicianCaseCountsByFilters();\r\n }\r\n\r\n vm.updateCaseForType = false;\r\n \r\n vm.UpdateCaseFor = function () {\r\n if (vm.updateCaseForType) {\r\n vm.caseFor = \"Consumer\";\r\n } else {\r\n vm.caseFor = \"Technician\";\r\n }\r\n vm.GetAllCasesForTechnicianAssignedToMe();\r\n vm.GetTechnicianCaseCountsByFilters();\r\n }\r\n\r\n\r\n $scope.open360ViewBroadcaste = function () {\r\n angular.element('#div1').addClass(\"alpha\");\r\n };\r\n\r\n vm.outsidedateRangeChange = function (ev, picker) {\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n $scope.Userpagination = {};\r\n PageIndex = 1;\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n vm.GetAllCasesForTechnicianAssignedToMe();\r\n vm.GetTechnicianCaseCountsByFilters();\r\n };\r\n\r\n vm.GetTechnicianCaseCountsByFilters = function () {\r\n data = {\r\n \"Status\": vm.caseStatus,\r\n \"QueryType\": vm.caseType,\r\n \"FromDate\": startDate,\r\n \"ToDate\": endDate,\r\n \"CaseFor\": vm.caseFor\r\n }\r\n ComplaintCaseListService.GetTechnicianCaseCountsByFilters(data, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.TotalCase = resp.data.TotalCaseCount;\r\n vm.OpenCase = resp.data.OpenCaseCount;\r\n vm.InProgressCase = resp.data.InprogressCaseCount;\r\n vm.ResolvedCase = resp.data.ResolvedCaseCount;\r\n vm.ExpiredCase = resp.data.ExpiredCaseCount;\r\n vm.ClosedCase = resp.data.ClosedCaseCount;\r\n vm.QueryCaseCount = resp.data.QueryCaseCount;\r\n }\r\n })\r\n }\r\n\r\n vm.GetTechnicianCaseCountsByFilters();\r\n\r\n\r\n vm.implementSelectItemsUsers = function (itemList, scope) {\r\n scope.selectAllUsers = false;\r\n scope.showMinusUsers = false;\r\n scope.selectRowUsers = function (i) {\r\n vm.toBeAssigned = [];\r\n scope.showMinusUsers = false;\r\n scope.selectAllUsers = false;\r\n angular.forEach(scope[itemList], function (d) {\r\n if (d.checked) {\r\n vm.toBeAssigned.push(d.TaskId)\r\n scope.showMinusUsers = true;\r\n }\r\n\r\n });\r\n }\r\n scope.applyAllNewJobSelect = function () {\r\n angular.forEach(scope[itemList], function (d) {\r\n d.checked = scope.selectAllUsers;\r\n });\r\n }\r\n }\r\n\r\n vm.implementSelectItemsUsers('OnBoardingList', this);\r\n\r\n $scope.totalTableUsersBG = 0;\r\n $scope.userTablePerPage = vm.userPageListCount;\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n\r\n\r\n vm.changeUserPageListCount = function () {\r\n $scope.userTablePerPage = vm.userPageListCount;\r\n PageSize = $scope.userTablePerPage;\r\n $scope.UserTablepageChanged($scope.UserTablepagination.current);\r\n }\r\n\r\n PageIndex = $scope.UserTablepagination.current;\r\n $scope.UserTablepageChanged = function (newPage) {\r\n PageIndex = newPage;\r\n vm.GetOnBoardingTaskByFilters();\r\n };\r\n\r\n\r\n vm.GetReportingToMeUsers = function () {\r\n SlotAllocationService.GetReportingToMeUsers(loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.UserByFiltersList = resp.data;\r\n }\r\n }, function () {\r\n });\r\n\r\n }\r\n\r\n vm.GetReportingToMeUsers();\r\n\r\n\r\n vm.GetDepartmentDetails = function () {\r\n TechnicianViewService.GetDepartmentDetails(loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.DepartmentList = resp.data;\r\n }\r\n }, function () {\r\n });\r\n \r\n }\r\n \r\n vm.GetDepartmentDetails();\r\n\r\n\r\n vm.GetAllCasesForTechnicianAssignedToMe = function () {\r\n data = {\r\n \"Status\": vm.caseStatus,\r\n \"FromDate\": startDate,\r\n \"ToDate\": endDate,\r\n \"QueryType\": vm.caseType,\r\n \"CaseFor\": vm.caseFor\r\n }\r\n ComplaintCaseListService.GetAllCasesForTechnicianAssignedToMe(data, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.complaindetail = resp.data;\r\n\r\n }\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.GetAllCasesForTechnicianAssignedToMe();\r\n\r\n vm.getAllSlotsByStatus = function (status, type) {\r\n vm.caseStatus = status;\r\n vm.caseType = type;\r\n PageIndex = 1;\r\n vm.GetAllCasesForTechnicianAssignedToMe();\r\n }\r\n\r\n }\r\n});\r\n\r\nangular.module('inspinia').filter('searchUser', function () {\r\n return function (items, search) {\r\n var filtered = [];\r\n if (search) {\r\n angular.forEach(items, function (item) {\r\n var searchstr = new RegExp(search, \"i\");\r\n if (item.id.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.User_Type.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.city.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.contactnumber.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.name.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.role.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.state.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n });\r\n } else {\r\n filtered = items;\r\n }\r\n return filtered;\r\n }\r\n})\nangular.module('inspinia').service('CommittmentOpsService', function (ApiURL,FreelancerURL, $http) {\r\n\r\n this.CommittmentFollowUp = function (data, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/MMFServicePack/UpdateUserCommittmetStatus';\r\n return $http.put(url, data, {\r\n headers: { 'ContentType': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetAllActivitiesForUser = function (userId, loggedinUser, token) {\r\n var url = ApiURL + '/api/Timeline/GetAllCallRecordingForUser?UserId=' + userId;\r\n return $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n this.CloseOnBoardingTask = function (data, loggedinUser, token) {\r\n var url = ApiURL + '/api/OnBoardingTask/CloseOnBoardingTask';\r\n return $http.post(url, data,{\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.callToTechnicianApi = function (loggedinUser, userid, token) {\r\n url = ApiURL + '/api/CallPatching/ClickToCallFieldTeam?userId=' + userid + '&CallFor=CommitmentCall';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('CommittmentOpsController', function (CapacityGapAnalysisService, AllUsersListService, ReferService, CommittmentOpsService, $resource, SlotAllocationService, toaster, $filter, $compile, $q, $state, $localStorage, $scope, DTOptionsBuilder, DTColumnBuilder, $uibModal, $timeout) {\r\n\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\t\tvar Closuredatelimit = new Date();\r\n\t\tvm.ClosureDateTime = { date: '', datepickerOptions: { minDate: Closuredatelimit } };\r\n\t\tvar datelimit = new Date();\r\n\t\tdatelimit.setMinutes(datelimit.getMinutes() + 1)\r\n\t\t// vm.AppointmentsDate = { date: '', datepickerOptions: { minDate: datelimit }, dateFormat: \"yy/mm/dd\" };\r\n\t\tvm.userCommittmentDate = new Date();\r\n\t\tvm.AppointmentsDate = {\r\n\t\t\tdatepickerOptions: {\r\n\t\t\t\tminDate: new Date()\r\n\t\t\t}\r\n\t\t};\r\n\t\tvm.userComments = \"\";\r\n\t\tvm.userCommittmentStatus = \"\";\r\n\t\tvm.closeuserCommittmentStatus = \"Interested\";\r\n\t\tvm.userCommittmentId = \"\";\r\n\t\tvar PageIndex = 1;\r\n\t\tvar PageSize = 10;\r\n\t\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\t\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\t\tvm.ExceptionType = 'CAPACITY_GAP_COMMITMENT';\r\n\t\tvm.UserId = '';\r\n\t\tvm.OnBoardingList = [];\r\n\t\tvm.bGVerifyListLength = 0;\r\n\t\tvm.userPageListCount = 10;\r\n\t\tvm.pageListCounts = [10, 20, 30, 50];\r\n\t\tvm.AssignedTo = '';\r\n\t\tvm.taskStatus = '';\r\n\t\tvm.DateField = 'CreatedOn';\r\n\t\tvm.State = '';\r\n\t\tvm.City = '';\r\n\t\tvm.taskPincode = '';\r\n\t\tvm.CreationSource = '';\r\n\t\tvm.taskskill = '';\r\n\t\tvm.accountId = '';\r\n\t\tvm.capacityCount = '';\r\n\t\tvm.cityOfTask = \"\";\r\n\t\tvm.accountIdOfTask = \"\";\r\n\t\tvm.stateOfTask = \"\";\r\n\t\tvm.skillOfTask = \"\";\r\n\t\tvm.descriptionOfTask = \"\";\r\n\t\tvm.Technicianstartingdate = '2017-01-01';\r\n\t\tvm.TaskId = \"\";\r\n\t\tvm.IsFreelancerBidCount = false;\r\n\t\tvm.IsFixedTeamCount = false;\r\n\t\tvm.Asset = \"\";\r\n\t\tvm.Tools = \"\";\r\n\t\tvm.Certificate = \"\";\r\n\t\tvm.PermanentCity = \"\";\r\n\t\tvm.techPincode = \"\";\r\n\t\tvm.PermanentState = \"\";\r\n\t\tvm.TicketState = \"\";\r\n\t\tvm.SearchByAccountName = \"\";\r\n\t\tvm.PreferredForAccounts = \"\";\r\n\t\tvm.TicketCity = \"\";\r\n\t\tvm.ticketStatus = \"\";\r\n\t\tvm.IsCommittedUser = false,\r\n\t\tvm.IsCommitmentInterestedUser = false,\r\n\t\t$scope.Prime = false;\r\n\t\t$scope.NonPrime = false;\r\n\t\tvm.PssStatus = \"\";\r\n\t\t$scope.selectedTools = [];\r\n\t\tvm.JobSkill = \"\";\r\n\t\tvm.ActiveInMonth = \"\";\r\n\t\tvm.NoOfJobDone = \"\";\r\n\t\tvm.Asset = \"\";\r\n\t\tvm.Tools = \"\";\r\n\t\tvm.UserRole = \"\";\r\n\t\tvm.MatchCriteria = \"\";\r\n\t\tvm.TraningCertificate = \"\";\r\n\t\tvm.ToolList = \"\";\r\n\t\tvm.OneJobDone = false;\r\n\t\tvm.SearchTag = \"\";\r\n\t\tvm.MatchingSkill = false;\r\n\t\tvm.Asset_Bike = false;\r\n\t\tvm.Asset_Mobile = false;\r\n\t\tvm.Asset_Laptop = false;\r\n\t\tvm.disableCreateButton = false;\r\n\t\tvm.Sort = \"desc\";\r\n\t\tvm.Pincode = \"\";\r\n\t\tvm.Experience = \"\";\r\n\t\tvm.Ratings = \"\";\r\n\t\tvm.Assets_Tools = \"\";\r\n\t\tvm.Jobscount = \"\";\r\n\t\tvm.FilterAdhar = \"\";\r\n\t\tvm.FilterPancard = \"\";\r\n\t\tvm.IsAuthorizedServiceCenter = false;\r\n\t\t$localStorage.filteraddskill = \"\";\r\n\t\t$localStorage.filterPermanentstate = \"\";\r\n\t\tvm.currentPage = $localStorage.PageIndex ? $localStorage.PageIndex : 1;\r\n\t\t$scope.totalUsers = 0;\r\n\t\t$scope.pagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\t\t$scope.pagination.current = $localStorage.PageIndex ? $localStorage.PageIndex : 1;\r\n\t\t$scope.totalTableUsers = 0;\r\n\t\t$scope.usersTablePerPage = 10;\r\n\t\t$scope.UserTablepagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\r\n\t\t$scope.UserTablepagination.current = $localStorage.PageIndex ? $localStorage.PageIndex : 1;\r\n\t\t$scope.pageChanged = function (newPage) {\r\n\t\t\tvm.currentPage = newPage;\r\n\t\t\tvm.applyfilter(newPage);\r\n\r\n\t\t};\r\n\t\t$scope.dates = { startDate: moment().subtract(30, 'days'), endDate: moment() };\r\n\t\tvar startDate = moment().subtract(30, 'days').format(\"YYYY-MM-DD\");\r\n\t\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\r\n\t\t$scope.ranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment()]\r\n\t\t};\r\n\r\n\t\tvm.ticketdates = { startDate: moment().subtract(30, 'days'), endDate: moment() };\r\n\t\tvm.ticketranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment().endOf('month')],\r\n\t\t\t'Till now': [moment(vm.Technicianstartingdate), moment(endDate)],\r\n\t\t};\r\n\t\tvm.outsidedateRangeChange = function (ev, picker) {\r\n\t\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\t};\r\n\t\tvm.GetAllActiveTaskForFilter = function () {\r\n\t\t\tAllUsersListService.GetAllActiveTaskForFilter(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.ActiveTaskList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.GetAllActiveTaskForFilter();\r\n\r\n\t\tvm.UserRoleList = [\"Field Engineer\", \"Vendor Manager\", \"VendorTeam\", \"ServiceCenter\"];\r\n\r\n\t\tvm.getSkills = function () {\r\n\t\t\tAllUsersListService.getSkills(loggedinUser, token, function (skills) {\r\n\t\t\t\tvm.skills = skills;\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.getSkills();\r\n\r\n\t\tvm.GetAllAccounts = function () {\r\n\t\t\tAllUsersListService.GetAllAccountDetails(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.accountsList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.GetAllAccounts();\r\n\r\n\t\tvm.getAllSlotsByStatus = function (status) {\r\n\t\t\tvm.taskStatus = status;\r\n\t\t\tPageIndex = 1;\r\n\t\t\tvm.GetOnBoardingTaskByFilters();\r\n\t\t}\r\n\t\t\r\n\t\tvm.activeTab = \"Commitment\";\r\n\r\n\t\t$scope.changeBackgroundColor = function (event, activeTab) {\r\n\t\t\tvm.activeTab = activeTab;\r\n\t\t\tif ($scope.selectedElement) {\r\n\t\t\t\t$scope.selectedElement.style.backgroundColor = 'white';\r\n\t\t\t}\r\n\t\t\tvar targetElement = event.currentTarget;\r\n\t\t\ttargetElement.style.backgroundColor = '#b3b3b966';\r\n\t\t\t// targetElement.style.color = '#fff';\r\n\r\n\t\t\t$scope.selectedElement = targetElement;\r\n\t\t\tif (vm.activeTab == \"CommitmentMain\") {\r\n\t\t\t\tvm.ExceptionType = \"CAPACITY_GAP_COMMITMENT\";\r\n\t\t\t\tvm.TaskId = \"\";\r\n\t\t\t\t// startDate = moment().subtract(30, 'days').format(\"YYYY-MM-DD\");\r\n\t\t\t\t// endDate = moment().format(\"YYYY-MM-DD\");\r\n\t\t\t\tvm.GetOnBoardingTaskByFilters();\r\n\t\t\t\tvm.GetOnBoardingTaskCounts();\r\n\t\t\t\tvm.AllapplyTalentPoolfilter();\r\n\t\t\t}\r\n\t\t\tif (vm.activeTab == \"Commitment\") {\r\n\t\t\t\tvm.ExceptionType = \"CAPACITY_GAP_COMMITMENT\";\r\n\t\t\t}\r\n\t\t\tif (vm.activeTab == \"FollowUp\") {\r\n\t\t\t\tvm.ExceptionType = \"COMMITMENT_FOLLOWUP\";\r\n\t\t\t\tvm.GetOnBoardingTaskByFilters();\r\n\t\t\t\tvm.GetOnBoardingTaskCounts();\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t$timeout(function () {\r\n\t\t\t$scope.changeBackgroundColor({ currentTarget: document.getElementById('Commitment') }, 'CommitmentMain');\r\n\t\t}, 0);\r\n\r\n\t\tvm.callToTechnician = function (userid) {\r\n\t\t\tCommittmentOpsService.callToTechnicianApi(loggedinUser, userid, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", \"Call Initiated\");\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failure\", resp.data.Message);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t}\r\n\r\n\t\tvm.ApplyTaskfilter = function () {\r\n\t\t\t// $scope.UserTablepagination = {};\r\n\t\t\t// $scope.UserTablepagination = {\r\n\t\t\t// current: 1\r\n\t\t\t// };\r\n\t\t\t// $scope.hideFilter();\r\n\t\t\tvm.GetOnBoardingTaskByFilters();\r\n\t\t\tvm.GetOnBoardingTaskCounts();\r\n\t\t}\r\n\r\n\t\tvm.editJobAppointment = function () {\r\n\t\t\tvm.jobAppointmentModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'editJobAppointment.html',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\r\n\r\n\t\tvm.closeJobAppointment = function () {\r\n\t\t\tvm.jobAppointmentModal.close();\r\n\t\t}\r\n\r\n\t\t$scope.userFilter = true;\r\n\t\t$scope.assignJobFilter = function () {\r\n\t\t\t$scope.userFilter = !$scope.userFilter;\r\n\t\t\t$scope.myvalue = false;\r\n\t\t\t$scope.manualAssignationWrapper = \"hide-nav\";\r\n\t\t};\r\n\t\t$scope.broadcastSentUser = true;\r\n\t\t$scope.toggleForBroadcast = function () {\r\n\t\t\t$scope.broadcastSentUser = !$scope.broadcastSentUser;\r\n\t\t\t$scope.myvalue = false;\r\n\r\n\t\t};\r\n\r\n\t\t$scope.calltrack = function () {\r\n\t\t\t$scope.myvalue = false;\r\n\t\t\t$scope.class_status = true;\r\n\t\t\t$scope.broadcastSentUser = true;\r\n\r\n\t\t}\r\n\r\n\t\t$scope.hideoverlay = function () {\r\n\t\t\t$scope.myvalue = false;\r\n\t\t\t$scope.broadcastSentUser = true;\r\n\t\t\t\r\n\t\t }\r\n\r\n\r\n\t\t$scope.customSearch = function (item) {\r\n\t\tif (!vm.SearchTagNew) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tvar lowerCaseSearchText = vm.SearchTagNew.toLowerCase();\r\n\t\tfor (var prop in item) {\r\n\t\t\tif (item.hasOwnProperty(prop) && angular.isString(item[prop])) {\r\n\t\t\tvar lowerCaseProp = item[prop].toLowerCase();\r\n\t\t\tif (lowerCaseProp.includes(lowerCaseSearchText)) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t\t};\r\n\r\n\r\n\t\tvm.GetOnBoardingTaskByFilters = function () {\r\n\t\t\tif (vm.loggedInUserRole == 'Dispatch Manager' || vm.loggedInUserRole == 'Dispatch Supervisor') {\r\n\t\t\t\tvm.CreationSource = 'Manual';\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.CreationSource = '';\r\n\t\t\t}\r\n\t\t\tdata = {\r\n\t\t\t\t\"Status\": vm.taskStatus,\r\n\t\t\t\t\"Skill\": vm.taskskill == \"\" ? \"\" : vm.taskskill.join(\"|\"),\r\n\t\t\t\t\"DateField\": vm.DateField,\r\n\t\t\t\t\"FromDate\": moment().subtract(5, 'years').format(\"YYYY-MM-DD\"),\r\n\t\t\t\t\"ToDate\": endDate,\r\n\t\t\t\t\"AccountId\": vm.accountId == \"\" ? \"\" : vm.accountId.join(\"|\"),\r\n\t\t\t\t\"PageIndex\": PageIndex,\r\n\t\t\t\t\"PageSize\": 500,\r\n\t\t\t\t\"State\": vm.State,\r\n\t\t\t\t\"City\": vm.City,\r\n\t\t\t\t\"Pincode\": vm.taskPincode,\r\n\t\t\t\t\"OrderBy\": vm.OrderBy,\r\n\t\t\t\t\"Sort\": vm.Sort,\r\n\t\t\t\t\"AssignedTo\": vm.AssignedTo == \"\" ? \"\" : vm.AssignedTo.join(\"|\"),\r\n\t\t\t\t\"CreationSource\": vm.CreationSource,\r\n\t\t\t\t\"ExceptionType\": vm.ExceptionType,\r\n\t\t\t}\r\n\t\t\tCapacityGapAnalysisService.GetOnBoardingTaskByFilters(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.OnBoardingList = resp.data.OnBoardingResModelList;\r\n\t\t\t\t\t$scope.totalTableUsersBG = resp.data.RecordCount;\r\n\t\t\t\t\tif (vm.OnBoardingList.length < vm.userPageListCount)\r\n\t\t\t\t\t\tvm.bGVerifyListLength = $scope.totalTableUsersBG;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.bGVerifyListLength = PageIndex * vm.userPageListCount;\r\n\t\t\t\t\tif (PageIndex == 1)\r\n\t\t\t\t\t\tvm.pageindexCount = 1;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.pageindexCount = (((PageIndex - 1) * vm.userPageListCount) + 1);\r\n\t\t\t\t}\r\n\r\n\t\t\t})\r\n\t\t}\r\n\t\tvm.GetOnBoardingTaskCounts = function () {\r\n\t\t\tif (vm.loggedInUserRole == 'Dispatch Manager' || vm.loggedInUserRole == 'Dispatch Supervisor') {\r\n\t\t\t\tvm.CreationSource = 'Manual';\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.CreationSource = '';\r\n\t\t\t}\r\n\t\t\tdata = {\r\n\t\t\t\t\"Status\": vm.taskStatus,\r\n\t\t\t\t\"Skill\": vm.taskskill == \"\" ? \"\" : vm.taskskill.join(\"|\"),\r\n\t\t\t\t\"DateField\": vm.DateField,\r\n\t\t\t\t\"FromDate\": moment().subtract(5, 'years').format(\"YYYY-MM-DD\"),\r\n\t\t\t\t\"ToDate\": endDate,\r\n\t\t\t\t\"AccountId\": vm.accountId == \"\" ? \"\" : vm.accountId.join(\"|\"),\r\n\t\t\t\t\"PageIndex\": PageIndex,\r\n\t\t\t\t\"PageSize\": 500,\r\n\t\t\t\t\"State\": vm.State,\r\n\t\t\t\t\"City\": vm.City,\r\n\t\t\t\t\"Pincode\": vm.taskPincode,\r\n\t\t\t\t\"OrderBy\": vm.OrderBy,\r\n\t\t\t\t\"Sort\": vm.Sort,\r\n\t\t\t\t\"AssignedTo\": vm.AssignedTo == \"\" ? \"\" : vm.AssignedTo.join(\"|\"),\r\n\t\t\t\t\"CreationSource\": vm.CreationSource,\r\n\t\t\t\t\"ExceptionType\": vm.ExceptionType,\r\n\t\t\t}\r\n\t\t\tCapacityGapAnalysisService.GetOnBoardingTaskCountsByFilters(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.TotalTask = resp.data.TotalTask;\r\n\t\t\t\t\tvm.OpenTask = resp.data.OpenTask;\r\n\t\t\t\t\tvm.ClosedTask = resp.data.ClosedTask;\r\n\t\t\t\t\tvm.InProgressTask = resp.data.InProgressTask;\r\n\t\t\t\t\tvm.FollowUpTask = resp.data.FollowUpTask;\r\n\t\t\t\t\tvm.CommitmentTask = resp.data.CommitmentTask;\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tvm.GetOnBoardingTaskByFilters();\r\n\t\tvm.GetOnBoardingTaskCounts();\r\n\r\n\t\tvm.getAllCertificate = function () {\r\n\t\t\tAllUsersListService.GetAllCertificate(loggedinUser, token, function (data) {\r\n\t\t\t\tvm.AllCertificateSets = data;\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.getAllCertificate();\r\n\r\n\t\tvm.brandList = [\"LG\", \"Samsung\", \"Havells & lloyds\", \"Hitachi\", \"Panasonic\", \"O general\", \"Daikin\", \"Micromax\", \"Bluestar\", \"Toshiba\", \"Glen\", \"Lifelong\", \"Whirlpool\", \"IFB\", \"Philips\", \"Godrej\", \"Bajaj\"];\r\n\r\n\t\tvm.productList = [\"Aircon\", \"Air cooler\", \"Home Appliances\", \"IT\", \"AC\", \"Multi product\", \"RO\", \"Printer\"];\r\n\r\n\t\tfunction getAllStates() {\r\n\t\t\tvar defered = $q.defer();\r\n\t\t\tReferService.getAllState(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tdefered.resolve(resp);\r\n\t\t\t}, function (error) {\r\n\t\t\t\tdefered.reject(error);\r\n\t\t\t});\r\n\t\t\treturn defered.promise;\r\n\t\t}\r\n\r\n\t\tvar allStatePromise = getAllStates(loggedinUser);\r\n\t\tallStatePromise.then(function (resp) {\r\n\t\t\tvm.StateList = resp.data;\r\n\r\n\t\t});\r\n\t\tfunction getallCities(state) {\r\n\t\t\tReferService.getAllCity(loggedinUser, state, token).then(function (resp) {\r\n\t\t\t\tvm.CityList = resp.data;\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.selectedState = function (state) {\r\n\t\t\tgetallCities(state);\r\n\t\t}\r\n\r\n\t\tvm.taskBasedFilter = function (task) {\r\n\t\t\tvm.TaskId = task;\r\n\t\t\tstartDate = moment().subtract(5, 'years').format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = moment().format(\"YYYY-MM-DD\");\r\n\t\t\tvm.AllapplyTalentPoolfilter();\r\n\t\t}\r\n\r\n\t\tvm.Open360ForActiveUsers = function (teamid) {\r\n\t\t\tif (vm.loggedInUserRole != 'Dispatch Head' && vm.loggedInUserRole != 'Higher Management' && vm.loggedInUserRole != 'Community Manager') {\r\n\t\t\t\t$state.go('index.Dashboard', {\r\n\t\t\t\t\tUserId: teamid\r\n\t\t\t\t}, { reload: true });\r\n\t\t\t}\r\n\t\t\telse if (vm.loggedInUserRole == 'Dispatch Head' || vm.loggedInUserRole == 'Higher Management' || vm.loggedInUserRole == 'Community Manager') {\r\n\t\t\t\t$state.go('index.Technician360view', {\r\n\t\t\t\t\tuserId: teamid\r\n\t\t\t\t}, { reload: true });\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\t$scope.TalentPoolTablepageChanged = function (newPage) {\r\n\r\n\t\t\tvm.currentPage = newPage;\r\n\r\n\t\t\tvm.applyfilter(newPage, '');\r\n\t\t};\r\n\r\n\t\tvm.applyfilter = function (index, data) {\r\n\t\t\tvar userFormData = {};\r\n\t\t\tif (data) {\r\n\t\t\t\tuserFormData = data;\r\n\t\t\t} else {\r\n\t\t\t\tvar temp = [];\r\n\t\t\t\tvar res = vm.Experience.split(\"-\");\r\n\t\t\t\tvar jobscount = vm.Jobscount.split(\"-\");\r\n\t\t\t\tvar ratings = vm.Ratings.split(\"-\");\r\n\t\t\t\tuserFormData = {\r\n\t\t\t\t\t\"PageIndex\": index,\r\n\t\t\t\t\t\"PageSize\": 10,\r\n\t\t\t\t\t\"ActivationStartDate\": startDate,\r\n\t\t\t\t\t\"ActivationEnddate\": endDate,\r\n\t\t\t\t\t\"State\": vm.PermanentState,\r\n\t\t\t\t\t\"Cities\": vm.PermanentCity,\r\n\t\t\t\t\t\"Pincodes\": temp,\r\n\t\t\t\t\t\"Skill\": vm.addSkill,\r\n\t\t\t\t\t\"ExperienceStart\": res[0],\r\n\t\t\t\t\t\"ExperienceEnd\": res[1],\r\n\t\t\t\t\t\"Certificates\": vm.addTraningCertificateName,\r\n\t\t\t\t\t\"IsBikeAvailable\": vm.Asset_Bike,\r\n\t\t\t\t\t\"IsMobileAvailable\": vm.Asset_Mobile,\r\n\t\t\t\t\t\"IsLaptopAvailable\": vm.Asset_Laptop,\r\n\t\t\t\t\t\"Tools\": vm.Asset_Tools,\r\n\t\t\t\t\t\"JobCountStart\": jobscount[0],\r\n\t\t\t\t\t\"JobCountEnd\": jobscount[1],\r\n\t\t\t\t\t\"RatingStart\": Number(ratings[0]),\r\n\t\t\t\t\t\"RatingEnd\": Number(ratings[1]),\r\n\t\t\t\t\t\"PreferredTalentPool\": false,\r\n\t\t\t\t\t\"IsStudent\": vm.Student,\r\n\t\t\t\t\t\"IsCriminalVerified\": vm.Criminal,\r\n\t\t\t\t\t\"IsBankVarified\": vm.IsBankVerified,\r\n\t\t\t\t\t\"IsUPIVarified\": vm.IsUPIVarified,\r\n\t\t\t\t\t\"MMFPrimeMember\": $scope.Prime,\r\n\t\t\t\t\t\"IsCommittedUser\": vm.IsCommittedUser,\r\n\t\t\t\t\t\"IsCommitmentInterestedUser\": vm.IsCommitmentInterestedUser,\r\n\t\t\t\t\t\"MMFNonPrimeMember\": $scope.NonPrime,\r\n\t\t\t\t\t\"IsOpenForInternship\": vm.Intern,\r\n\t\t\t\t\t\"IsAdharVerified\": vm.Adharcard,\r\n\t\t\t\t\t\"IsPanVerified\": vm.Pancard,\r\n\t\t\t\t\t\"Source\": vm.Source,\r\n\t\t\t\t\t\"FreelancerRole\": vm.freelancerRole,\r\n\t\t\t\t\t\"UserStatus\": vm.UserStatus,\r\n\t\t\t\t\t\"PssStatus\": vm.PssStatus,\r\n\t\t\t\t\t\"OneJobDoneForSkills\": vm.OneJobDone,\r\n\t\t\t\t\t\"ReportingTo\": vm.ReportingTo,\r\n\t\t\t\t\t\"OrderBy\": vm.OrderBy,\r\n\t\t\t\t\t\"SortType\": vm.SortType,\r\n\t\t\t\t\t\"UserVerificationStatus\": vm.UserVerificationStatus,\r\n\t\t\t\t\t\"IsFreelancerBidCount\": vm.IsFreelancerBidCount,\r\n\t\t\t\t\t\"IsFixedTeamCount\": vm.IsFixedTeamCount,\r\n\t\t\t\t\t\"ContactNumber\": vm.ContactNumber,\r\n\t\t\t\t\t\"UserName\": vm.UserName,\r\n\t\t\t\t\t\"UserId\": vm.UserId,\r\n\t\t\t\t\t\"BrandName\": vm.ServiceBrand,\r\n\t\t\t\t\t\"ProductServing\": vm.ServiceProduct,\r\n\t\t\t\t\t\"SearchTag\": vm.SearchTag,\r\n\t\t\t\t\t\"IsAuthorizedServiceCenterCount\": vm.IsAuthorizedServiceCenter,\r\n\t\t\t\t\t\"TaskId\": vm.TaskId\r\n\t\t\t\t}\r\n\t\t\t\tif (vm.adddaterange) {\r\n\t\t\t\t\tuserFormData.ActivationStartDate = startDate;\r\n\t\t\t\t\tuserFormData.ActivationEnddate = endDate;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t$localStorage.FilterData = userFormData;\r\n\t\t\tAllUsersListService.Filter(loggedinUser, token, userFormData).then(function (resp) {\r\n\t\t\t\tif (resp.data) {\r\n\t\t\t\t\tvm.users = [];\r\n\t\t\t\t\tvm.Bluserlist = [];\r\n\t\t\t\t\tvm.usersCounts = resp.data;\r\n\t\t\t\t\tvm.users = resp.data.Users;\r\n\r\n\t\t\t\t\tfor (var i = 0; i < vm.users.length; i++) {\r\n\t\t\t\t\t\tif (vm.users[i].CustomerRating) {\r\n\t\t\t\t\t\t\tvm.users[i].CustomerRating = Number(vm.users[i].CustomerRating).toFixed(1);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvm.totalTalentPoolCount = resp.data.Count;\r\n\t\t\t\t\t$scope.totalUsers = resp.data.Count;\r\n\t\t\t\t\t$scope.totalTableUsers = resp.data.Count;\r\n\r\n\t\t\t\t\tif (vm.users.length < 10)\r\n\t\t\t\t\t\tvm.usersLength = $scope.totalUsers;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.usersLength = index * 10;\r\n\t\t\t\t\tif (index == 1)\r\n\t\t\t\t\t\tvm.techpageindexCount = 1;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.techpageindexCount = (((index - 1) * 10) + 1);\r\n\r\n\t\t\t\t\tif (vm.users.length > 0) {\r\n\t\t\t\t\t\tfor (var i = 0; i < vm.users.length; i++) {\r\n\t\t\t\t\t\t\tif (vm.users[i].BlockedByAccounts) {\r\n\t\t\t\t\t\t\t\tif (vm.users[i].BlockedByAccounts.length > 0) {\r\n\t\t\t\t\t\t\t\t\tfor (var j = 0; j < vm.users[i].BlockedByAccounts.length; j++) {\r\n\t\t\t\t\t\t\t\t\t\tif (vm.users[i].BlockedByAccounts[j] == AccountID) {\r\n\t\t\t\t\t\t\t\t\t\t\tvm.Bluserlist.push(vm.users[i]);\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t})\r\n\r\n\t\t}\r\n\r\n\t\tvm.GetReportingToMeUsers = function () {\r\n\t\t\tSlotAllocationService.GetReportingToMeUsers(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.UserByFiltersList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, function () {\r\n\t\t\t});\r\n\r\n\t\t}\r\n\r\n\t\tvm.GetReportingToMeUsers();\r\n\r\n\r\n\t\tvm.TechnicianclearFilter = function () {\r\n\t\t\tvm.UserName = \"\";\r\n\t\t\tvm.UserId = \"\";\r\n\t\t\tvm.ContactNumber = \"\";\r\n\t\t\tvm.Source = \"\";\r\n\t\t\tvm.Adharcard = \"\";\r\n\t\t\tvm.Pancard = \"\";\r\n\t\t\t$scope.Prime = false;\r\n\t\t\t$scope.NonPrime = false;\r\n\t\t\tvm.IsCommittedUser = false;\r\n\t\t\tvm.IsCommitmentInterestedUser = false;\r\n\t\t\tvm.PssStatus = \"\";\r\n\t\t\tvm.IsBankVerified = \"\";\r\n\t\t\tvm.PreferredForAccounts = \"\";\r\n\t\t\tvm.PssStatus = \"\";\r\n\t\t\tvm.Criminal = \"\";\r\n\t\t\tvm.PermanentState = \"\";\r\n\t\t\tvm.PermanentCity = \"\";\r\n\t\t\tvm.Experience = \"\";\r\n\t\t\tvm.traningCertificateList = \"\";\r\n\t\t\tvm.freelancerRoleList = \"\";\r\n\t\t\tvm.freelancerRole = \"\";\r\n\t\t\tvm.Asset_Laptop = \"\";\r\n\t\t\tvm.Asset_Mobile = \"\";\r\n\t\t\tvm.Asset_Bike = \"\";\r\n\t\t\tvm.Asset_Tools = \"\";\r\n\t\t\tvm.Jobscount = \"\";\r\n\t\t\tvm.Ratings = \"\";\r\n\t\t\tvm.CurrentState = \"\";\r\n\t\t\tvm.UserStatus = \"\";\r\n\t\t\tvm.userskill = [];\r\n\t\t\tvm.userskill = \"\";\r\n\t\t\tvm.OneJobDone = false;\r\n\t\t\tvm.SearchTag = \"\";\r\n\t\t\tvm.ServiceBrand = \"\";\r\n\t\t\tvm.ReportingTo = \"\";\r\n\t\t\tvm.ServiceProduct = \"\";\r\n\t\t\tvm.ReportingTo = \"\";\r\n\t\t\tvm.TaskId = \"\";\r\n\t\t\tstartDate = moment().subtract(30, 'days').format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = moment().format(\"YYYY-MM-DD\");\r\n\t\t\tvm.AllapplyTalentPoolfilter();\r\n\t\t}\r\n\r\n\t\tvm.getAllUsersByStage = function (stage) {\r\n\t\t\tvm.UserVerificationStatus = stage;\r\n\t\t\tvm.IsAuthorizedServiceCenter = false;\r\n\t\t\tvm.freelancerRole = \"\";\r\n\t\t\tvm.IsCommittedUser = false;\r\n\t\t\tvm.IsCommitmentInterestedUser = false;\r\n\t\t\tvm.UserStatus = \"\";\r\n\t\t\tvm.PssStatus = \"\";\r\n\t\t\t$scope.Prime = false;\r\n\t\t\t$scope.NonPrime = false;\r\n\t\t\tvm.OneJobDone = false;\r\n\t\t\tvm.Criminal = false;\r\n\t\t\tvm.IsFreelancerBidCount = false;\r\n\t\t\tvm.IsFixedTeamCount = false;\r\n\t\t\tvm.AllapplyTalentPoolfilter();\r\n\r\n\t\t}\r\n\r\n\t\tvm.getAllUsersByRole = function (role) {\r\n\t\t\tvm.UserVerificationStatus = \"\";\r\n\t\t\tvm.IsCommittedUser = false;\r\n\t\t\tvm.IsCommitmentInterestedUser = false;\r\n\t\t\tif (role == 'Active') {\r\n\t\t\t\tvm.UserStatus = role;\r\n\t\t\t\tvm.freelancerRole = \"\";\r\n\t\t\t}\r\n\t\t\telse if (role == 'Inactive') {\r\n\t\t\t\tvm.UserStatus = role;\r\n\t\t\t\tvm.freelancerRole = \"\";\r\n\t\t\t}\r\n\t\t\telse if (role == 'Invite') {\r\n\t\t\t\tvm.UserStatus = role;\r\n\t\t\t\tvm.freelancerRole = \"\";\r\n\t\t\t}\r\n\t\t\telse if (role == '') {\r\n\t\t\t\tvm.UserStatus = role;\r\n\t\t\t\tvm.freelancerRole = \"\";\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.freelancerRole = role;\r\n\t\t\t\tvm.UserStatus = \"Active\";\r\n\t\t\t}\r\n\t\t\t$scope.Prime = false;\r\n\t\t\t$scope.NonPrime = false;\r\n\t\t\tvm.PssStatus = \"\";\r\n\t\t\tvm.OneJobDone = false;\r\n\t\t\tvm.Criminal = false;\r\n\t\t\tvm.IsFreelancerBidCount = false;\r\n\t\t\tvm.IsFixedTeamCount = false;\r\n\t\t\tvm.IsAuthorizedServiceCenter = false;\r\n\t\t\tvm.AllapplyTalentPoolfilter();\r\n\t\t}\r\n\r\n\t\tvm.getAllOneJobDone = function () {\r\n\t\t\t$scope.Prime = false;\r\n\t\t\t$scope.NonPrime = false;\r\n\t\t\tvm.Criminal = false;\r\n\t\t\tvm.IsFixedTeamCount = false;\r\n\t\t\tvm.IsFreelancerBidCount = false;\r\n\t\t\tvm.PssStatus = \"\";\r\n\t\t\tvm.UserVerificationStatus = \"\";\r\n\t\t\tvm.IsAuthorizedServiceCenter = false;\r\n\t\t\tvm.IsCommittedUser = false;\r\n\t\t\tvm.IsCommitmentInterestedUser = false;\r\n\t\t\tvm.freelancerRole = \"\";\r\n\t\t\tvm.UserStatus = \"\";\r\n\t\t\tvm.OneJobDone = true;\r\n\t\t\tvm.AllapplyTalentPoolfilter();\r\n\t\t}\r\n\r\n\t\tvm.getAllFixedTeam = function () {\r\n\t\t\t$scope.Prime = false;\r\n\t\t\t$scope.NonPrime = false;\r\n\t\t\tvm.Criminal = false;\r\n\t\t\tvm.IsFixedTeamCount = true;\r\n\t\t\tvm.IsFreelancerBidCount = false;\r\n\t\t\tvm.PssStatus = \"\";\r\n\t\t\tvm.UserVerificationStatus = \"\";\r\n\t\t\tvm.IsAuthorizedServiceCenter = false;\r\n\t\t\tvm.IsCommittedUser = false;\r\n\t\t\tvm.IsCommitmentInterestedUser = false;\r\n\t\t\tvm.freelancerRole = \"\";\r\n\t\t\tvm.UserStatus = \"\";\r\n\t\t\tvm.OneJobDone = false;\r\n\t\t\tvm.AllapplyTalentPoolfilter();\r\n\t\t}\r\n\r\n\t\tvm.getAllLeadStarted = function () {\r\n\t\t\t$scope.Prime = false;\r\n\t\t\t$scope.NonPrime = false;\r\n\t\t\tvm.Criminal = false;\r\n\t\t\tvm.IsFreelancerBidCount = true;\r\n\t\t\tvm.IsFixedTeamCount = false;\r\n\t\t\tvm.UserVerificationStatus = \"\";\r\n\t\t\tvm.IsAuthorizedServiceCenter = false;\r\n\t\t\tvm.IsCommittedUser = false;\r\n\t\t\tvm.IsCommitmentInterestedUser = false;\r\n\t\t\tvm.freelancerRole = \"\";\r\n\t\t\tvm.PssStatus = \"\";\r\n\t\t\tvm.UserStatus = \"\";\r\n\t\t\tvm.OneJobDone = false;\r\n\t\t\tvm.AllapplyTalentPoolfilter();\r\n\t\t}\r\n\r\n\t\tvm.getCountByPssValue = function (pss) {\r\n\t\t\t$scope.Prime = false;\r\n\t\t\t$scope.NonPrime = false;\r\n\t\t\tvm.PssStatus = pss;\r\n\t\t\tvm.Criminal = false;\r\n\t\t\tvm.IsFreelancerBidCount = false;\r\n\t\t\tvm.IsFixedTeamCount = false;\r\n\t\t\tvm.UserVerificationStatus = \"\";\r\n\t\t\tvm.IsCommittedUser = false;\r\n\t\t\tvm.IsCommitmentInterestedUser = false;\r\n\t\t\tvm.freelancerRole = \"\";\r\n\t\t\tvm.UserStatus = \"\";\r\n\t\t\tvm.OneJobDone = false;\r\n\t\t\tvm.IsAuthorizedServiceCenter = false;\r\n\t\t\tvm.AllapplyTalentPoolfilter();\r\n\t\t}\r\n\t\tvm.authorizeDetail = function (role) {\r\n\t\t\tif (role == 'Active') {\r\n\t\t\t\tvm.UserStatus = role;\r\n\r\n\t\t\t}\r\n\t\t\telse if (role == 'Inactive') {\r\n\t\t\t\tvm.UserStatus = role;\r\n\r\n\t\t\t}\r\n\t\t\telse if (role == '') {\r\n\t\t\t\tvm.UserStatus = role;\r\n\r\n\t\t\t}\r\n\t\t\t$scope.Prime = false;\r\n\t\t\t$scope.NonPrime = false;\r\n\t\t\tvm.Criminal = false;\r\n\t\t\tvm.IsFreelancerBidCount = false;\r\n\t\t\tvm.IsFixedTeamCount = false;\r\n\t\t\tvm.UserVerificationStatus = \"\";\r\n\t\t\tvm.IsCommittedUser = false;\r\n\t\t\tvm.IsCommitmentInterestedUser = false;\r\n\t\t\tvm.freelancerRole = \"\";\r\n\t\t\tvm.OneJobDone = false;\r\n\t\t\tvm.IsAuthorizedServiceCenter = true;\r\n\t\t\tvm.AllapplyTalentPoolfilter();\r\n\t\t}\r\n\r\n\t\tvm.committedDetail = function (committedvalue) {\r\n\t\t\tif (committedvalue == true) {\r\n\t\t\t\tvm.IsCommittedUser = true;\r\n\t\t\t\tvm.IsCommitmentInterestedUser = false;\r\n\t\t\t}\r\n\t\t\telse if (committedvalue == false) {\r\n\t\t\t\tvm.IsCommittedUser = false;\r\n\t\t\t\tvm.IsCommitmentInterestedUser = true;\r\n\t\t\t}\r\n\t\t\tvm.PssStatus = \"\";\r\n\t\t\t$scope.Prime = false;\r\n\t\t\t$scope.NonPrime = false;\r\n\t\t\tvm.OneJobDone = false;\r\n\t\t\tvm.IsFreelancerBidCount = false;\r\n\t\t\tvm.IsFixedTeamCount = false;\r\n\t\t\tvm.Criminal = false;\r\n\t\t\tvm.UserVerificationStatus = \"\";\r\n\t\t\tvm.IsAuthorizedServiceCenter = false;\r\n\t\t\tvm.freelancerRole = \"\";\r\n\t\t\tvm.UserStatus = \"\";\r\n\t\t\tvm.AllapplyTalentPoolfilter();\r\n\t\t}\r\n\r\n\t\tvm.getAllCriminalFlag = function (criminalValue) {\r\n\t\t\tvm.PssStatus = \"\";\r\n\t\t\t$scope.Prime = false;\r\n\t\t\t$scope.NonPrime = false;\r\n\t\t\tvm.OneJobDone = false;\r\n\t\t\tvm.IsFreelancerBidCount = false;\r\n\t\t\tvm.IsFixedTeamCount = false;\r\n\t\t\tvm.Criminal = criminalValue;\r\n\t\t\tvm.UserVerificationStatus = \"\";\r\n\t\t\tvm.IsAuthorizedServiceCenter = false;\r\n\t\t\tvm.IsCommittedUser = false;\r\n\t\t\tvm.IsCommitmentInterestedUser = false;\r\n\t\t\tvm.freelancerRole = \"\";\r\n\t\t\tvm.UserStatus = \"\";\r\n\t\t\tvm.AllapplyTalentPoolfilter();\r\n\r\n\t\t}\r\n\t\tvm.getAllPrimeFlag = function (primeValue) {\r\n\t\t\tif (primeValue == true) {\r\n\t\t\t\t$scope.Prime = true;\r\n\t\t\t\t$scope.NonPrime = false;\r\n\t\t\t} else if (primeValue == false) {\r\n\t\t\t\t$scope.NonPrime = true;\r\n\t\t\t\t$scope.Prime = false;\r\n\t\t\t}\r\n\t\t\tvm.Criminal = false;\r\n\t\t\tvm.IsFreelancerBidCount = false;\r\n\t\t\tvm.IsFixedTeamCount = false;\r\n\t\t\tvm.UserVerificationStatus = \"\";\r\n\t\t\tvm.IsCommittedUser = false;\r\n\t\t\tvm.IsCommitmentInterestedUser = false;\r\n\t\t\tvm.freelancerRole = \"\";\r\n\t\t\tvm.UserStatus = \"\";\r\n\t\t\tvm.PssStatus = \"\";\r\n\t\t\tvm.IsAuthorizedServiceCenter = false;\r\n\t\t\tvm.OneJobDone = false;\r\n\t\t\tvm.AllapplyTalentPoolfilter();\r\n\r\n\t\t}\r\n\r\n\r\n\t\tvm.AllapplyTalentPoolfilter = function () {\r\n\t\t\t$scope.Ticket = 1;\r\n\t\t\t$scope.dates = { startDate: startDate, endDate: endDate };\r\n\t\t\tvm.adddaterange = true;\r\n\t\t\t$scope.UserTablepagination.current = 1;\r\n\t\t\tvar temp = [];\r\n\t\t\tvar tuPageIndex = \"\";\r\n\t\t\tvar res = vm.Experience.split(\"-\");\r\n\t\t\tvar jobscount = vm.Jobscount.split(\"-\");\r\n\t\t\tvar ratings = vm.Ratings.split(\"-\");\r\n\t\t\ttuPageIndex = 1;\r\n\t\t\tvm.traningCertificateList = \"\";\r\n\t\t\tif (vm.TraningCertificate) {\r\n\t\t\t\tvm.traningCertificateList = vm.TraningCertificate.join('|');\r\n\t\t\t}\r\n\t\t\tif (vm.PreferredForAccounts) {\r\n\t\t\t\tstartDate = \"\";\r\n\t\t\t\tendDate = \"\";\r\n\t\t\t}\r\n\t\t\tvm.userFormData = {\r\n\t\t\t\t\"PageIndex\": tuPageIndex,\r\n\t\t\t\t\"PageSize\": 10,\r\n\t\t\t\t\"ActivationStartDate\": startDate,\r\n\t\t\t\t\"ActivationEnddate\": endDate,\r\n\t\t\t\t\"State\": vm.PermanentState,\r\n\t\t\t\t\"Cities\": vm.PermanentCity,\r\n\t\t\t\t\"Pincodes\": temp,\r\n\t\t\t\t\"Skill\": vm.userskill,\r\n\t\t\t\t\"UserVerificationStatus\": vm.UserVerificationStatus,\r\n\t\t\t\t\"ExperienceStart\": res[0],\r\n\t\t\t\t\"ExperienceEnd\": res[1],\r\n\t\t\t\t\"Certificates\": vm.traningCertificateList,\r\n\t\t\t\t\"IsBikeAvailable\": vm.Asset_Bike,\r\n\t\t\t\t\"IsMobileAvailable\": vm.Asset_Mobile,\r\n\t\t\t\t\"IsLaptopAvailable\": vm.Asset_Laptop,\r\n\t\t\t\t\"Tools\": vm.Asset_Tools,\r\n\t\t\t\t\"JobCountStart\": jobscount[0],\r\n\t\t\t\t\"JobCountEnd\": jobscount[1],\r\n\t\t\t\t\"RatingStart\": Number(ratings[0]),\r\n\t\t\t\t\"RatingEnd\": Number(ratings[1]),\r\n\t\t\t\t\"PreferredTalentPool\": false,\r\n\t\t\t\t\"IsFreelancerBidCount\": vm.IsFreelancerBidCount,\r\n\t\t\t\t\"IsFixedTeamCount\": vm.IsFixedTeamCount,\r\n\t\t\t\t\"FreelancerRole\": vm.freelancerRole,\r\n\t\t\t\t\"UserStatus\": vm.UserStatus,\r\n\t\t\t\t\"ContactNumber\": vm.ContactNumber,\r\n\t\t\t\t\"UserName\": vm.UserName,\r\n\t\t\t\t\"UserId\": vm.UserId,\r\n\t\t\t\t\"IsStudent\": vm.Student,\r\n\t\t\t\t\"MMFPrimeMember\": $scope.Prime,\r\n\t\t\t\t\"MMFNonPrimeMember\": $scope.NonPrime,\r\n\t\t\t\t\"IsOpenForInternship\": vm.Intern,\r\n\t\t\t\t\"IsAdharVerified\": vm.Adharcard,\r\n\t\t\t\t\"BrandName\": vm.ServiceBrand,\r\n\t\t\t\t\"ProductServing\": vm.ServiceProduct,\r\n\t\t\t\t\"IsBankVarified\": vm.IsBankVerified,\r\n\t\t\t\t\"IsCriminalVerified\": vm.Criminal,\r\n\t\t\t\t\"Source\": vm.Source,\r\n\t\t\t\t\"OneJobDoneForSkills\": vm.OneJobDone,\r\n\t\t\t\t\"PssStatus\": vm.PssStatus,\r\n\t\t\t\t\"SearchTag\": vm.SearchTag,\r\n\t\t\t\t\"ReportingTo\": vm.ReportingTo,\r\n\t\t\t\t\"OrderBy\": vm.OrderBy,\r\n\t\t\t\t\"SortType\": vm.SortType,\r\n\t\t\t\t\"IsCommittedUser\": vm.IsCommittedUser,\r\n\t\t\t\t\"IsCommitmentInterestedUser\": vm.IsCommitmentInterestedUser,\r\n\t\t\t\t\"IsAuthorizedServiceCenterCount\": vm.IsAuthorizedServiceCenter,\r\n\t\t\t\t\"PreferredForAccount\": vm.PreferredForAccounts,\r\n\t\t\t\t\"TaskId\": vm.TaskId\r\n\t\t\t}\r\n\t\t\tAllUsersListService.Filter(loggedinUser, token, vm.userFormData).then(function (resp) {\r\n\t\t\t\tif (resp.data) {\r\n\t\t\t\t\tvm.pfuserlist = [];\r\n\t\t\t\t\tvm.users = [];\r\n\t\t\t\t\tvm.usersCounts = resp.data;\r\n\t\t\t\t\tvm.users = resp.data.Users;\r\n\t\t\t\t\tif (vm.users.length == 0) {\r\n\t\t\t\t\t\tvm.showFailure('Failed', 'No User Found');\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfor (var i = 0; i < vm.users.length; i++) {\r\n\t\t\t\t\t\tif (vm.users[i].CustomerRating) {\r\n\t\t\t\t\t\t\tvm.users[i].CustomerRating = Number(vm.users[i].CustomerRating).toFixed(1);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.totalTalentPoolCount = resp.data.Count;\r\n\t\t\t\t\t$scope.totalTalentUsers = resp.data.Count;\r\n\t\t\t\t\t$scope.totalTableUsers = resp.data.Count;\r\n\t\t\t\t\tif (vm.users.length < 10)\r\n\t\t\t\t\t\tvm.usersLength = $scope.totalTalentUsers;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.usersLength = tuPageIndex * 10;\r\n\t\t\t\t\tif (tuPageIndex == 1)\r\n\t\t\t\t\t\tvm.techpageindexCount = 1;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.techpageindexCount = (((tuPageIndex - 1) * 10) + 1);\r\n\t\t\t\t\tif (vm.users.length < 10)\r\n\t\t\t\t\t\tvm.usersLength = $scope.totalTalentUsers;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.usersLength = tuPageIndex * 10;\r\n\t\t\t\t\tif (tuPageIndex == 1)\r\n\t\t\t\t\t\tvm.techpageindexCount = 1;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.techpageindexCount = (((tuPageIndex - 1) * 10) + 1);\r\n\t\t\t\t\tif (vm.users.length > 0) {\r\n\t\t\t\t\t\tfor (var i = 0; i < vm.users.length; i++) {\r\n\t\t\t\t\t\t\tif (vm.users[i].FavoriteForAccounts) {\r\n\t\t\t\t\t\t\t\tif (vm.users[i].FavoriteForAccounts.length > 0) {\r\n\t\t\t\t\t\t\t\t\tfor (var j = 0; j < vm.users[i].FavoriteForAccounts.length; j++) {\r\n\t\t\t\t\t\t\t\t\t\tif (vm.users[i].FavoriteForAccounts[j] == AccountID) {\r\n\t\t\t\t\t\t\t\t\t\t\tvm.pfuserlist.push(vm.users[i]);\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t$scope.class1 = false;\r\n\t\t\t\t\t}, 250);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\tvm.UserCountbyFilter();\r\n\t\t}\r\n\r\n\t\tvm.UserCountbyFilter = function () {\r\n\t\t\tAllUsersListService.UserCountbyFilter(loggedinUser, token, vm.userFormData).then(function (resp) {\r\n\t\t\t\tif (resp.data) {\r\n\t\t\t\t\tvm.TotalUsersCount = resp.data.Count;\r\n\t\t\t\t\tvm.BasicInformation = resp.data.BasicInformation;\r\n\t\t\t\t\tvm.TotalInvitedUserCount = resp.data.TotalInvitedUserCount;\r\n\t\t\t\t\tvm.LocationAndSkill = resp.data.LocationAndSkill;\r\n\t\t\t\t\tvm.Backgroundverified = resp.data.Backgroundverified;\r\n\t\t\t\t\tvm.Paymentverified = resp.data.Paymentverified;\r\n\t\t\t\t\tvm.PoliceVerified = resp.data.PoliceVerified;\r\n\t\t\t\t\tvm.CriminalVerified = resp.data.CriminalVerified;\r\n\t\t\t\t\tvm.TotalActiveFrUsersCount = resp.data.TotalActiveFrUsersCount;\r\n\t\t\t\t\tvm.TotalActiveFVUsersCount = resp.data.TotalActiveFVUsersCount;\r\n\t\t\t\t\tvm.TotalActiveFVTUsersCount = resp.data.TotalActiveFVTUsersCount;\r\n\t\t\t\t\tvm.FixedTeamCount = resp.data.FixedTeamCount;\r\n\t\t\t\t\tvm.PrimeMember = resp.data.PrimeMember;\r\n\t\t\t\t\tvm.NonPrimeMember = resp.data.NonPrimeMember;\r\n\t\t\t\t\tvm.TotalActiveUsersCount = resp.data.TotalActiveUsersCount;\r\n\t\t\t\t\tvm.Count = resp.data.Count;\r\n\t\t\t\t\tvm.TotalRegisterUser = resp.data.TotalRegisterUser;\r\n\t\t\t\t\tvm.TotalFreelancerBidCount = resp.data.TotalFreelancerBidCount;\r\n\t\t\t\t\tvm.OneJobDoneCount = resp.data.OneJobDoneCount;\r\n\t\t\t\t\tvm.NonPrimeMoreThanTenCount = resp.data.NonPrimeMoreThanTenCount;\r\n\t\t\t\t\tvm.LeadReceivedUserCount = resp.data.LeadReceivedUserCount;\r\n\t\t\t\t\tvm.LeadNotReceivedUserCount = resp.data.LeadNotReceivedUserCount;\r\n\t\t\t\t\tvm.LeadAcceptedUserCount = resp.data.LeadAcceptedUserCount;\r\n\t\t\t\t\tvm.LeadNotAcceptedUserCount = resp.data.LeadNotAcceptedUserCount;\r\n\t\t\t\t\tvm.JobRejectionBreachedCount = resp.data.JobRejectionBreachedCount;\r\n\t\t\t\t\tvm.JobRejectionMetCount = resp.data.JobRejectionMetCount;\r\n\t\t\t\t\tvm.SOPAdherenceBreachedCount = resp.data.SOPAdherenceBreachedCount;\r\n\t\t\t\t\tvm.SOPAdherenceMetCount = resp.data.SOPAdherenceMetCount;\r\n\t\t\t\t\tvm.AuthorizedServiceParnterDetailCount = resp.data.AuthorizedServiceParnterDetailCount;\r\n\t\t\t\t\tvm.AuthorizedServiceParnterDetailCountActive = resp.data.AuthorizedServiceParnterDetailCountActive;\r\n\t\t\t\t\tvm.AuthorizedServiceParnterDetailCountInActive = resp.data.AuthorizedServiceParnterDetailCountInActive;\r\n\t\t\t\t\tvm.CommitmentInterestedUserCount = resp.data.CommitmentInterestedUserCount;\r\n\t\t\t\t\tvm.CommittedUserCount = resp.data.CommittedUserCount\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t\tvm.AllapplyTalentPoolfilter();\r\n\r\n\t\t$scope.isOpen = false;\r\n\t\t$scope.isOpen1 = false;\r\n\t\t$scope.isCollapsed = true;\r\n\t\t$scope.isCollapsed0 = true;\r\n\t\t$scope.isCollapsed1 = true;\r\n\t\t$scope.isCollapsed2 = true;\r\n\t\t$scope.isCollapsed3 = true;\r\n\t\t$scope.isCollapsed4 = true;\r\n\t\t$scope.isCollapsed19 = true;\r\n\t\t$scope.isCollapsed21 = true;\r\n\t\t$scope.isCollapsed23 = true;\r\n\t\t$scope.isCollapsed24 = true;\r\n\t\t$scope.isCollapsed26 = true;\r\n\t\t$scope.isCollapsed35 = true;\r\n\t\t$scope.isCollapsed36 = true;\r\n\t\t$scope.isCollapsed40 = true;\r\n\t\t$scope.isCollapsed41 = true;\r\n\t\t$scope.isCollapsed42 = true;\r\n\t\t$scope.isCollapsed43 = true;\r\n\t\t$scope.isCollapsed49 = true;\r\n\r\n\t\t$scope.activatedButton = function () {\r\n\t\t\t$scope.isactivated = !$scope.isactivated;\r\n\t\t}\r\n\t\t$scope.activatedButton1 = function () {\r\n\t\t\t$scope.isactivated1 = !$scope.isactivated1;\r\n\t\t}\r\n\t\t$scope.activatedButton2 = function () {\r\n\t\t\t$scope.isactivated2 = !$scope.isactivated2;\r\n\t\t}\r\n\t\t$scope.activatedButton3 = function () {\r\n\t\t\t$scope.isactivated3 = !$scope.isactivated3;\r\n\t\t}\r\n\t\t$scope.activatedButton4 = function () {\r\n\t\t\t$scope.isactivated4 = !$scope.isactivated4;\r\n\t\t}\r\n\t\t$scope.activatedButton5 = function () {\r\n\t\t\t$scope.isactivated5 = !$scope.isactivated5;\r\n\t\t}\r\n\t\t$scope.activatedButton6 = function () {\r\n\t\t\t$scope.isactivated6 = !$scope.isactivated6;\r\n\t\t}\r\n\t\t$scope.activatedButton7 = function () {\r\n\t\t\t$scope.isactivated7 = !$scope.isactivated7;\r\n\t\t}\r\n\t\t$scope.activatedButton8 = function () {\r\n\t\t\t$scope.isactivated8 = !$scope.isactivated8;\r\n\t\t}\r\n\t\t$scope.activatedButton9 = function () {\r\n\t\t\t$scope.isactivated9 = !$scope.isactivated9;\r\n\t\t}\r\n\t\t$scope.activatedButton10 = function () {\r\n\t\t\t$scope.isactivated10 = !$scope.isactivated10;\r\n\t\t}\r\n\t\t$scope.activatedButton11 = function () {\r\n\t\t\t$scope.isactivated11 = !$scope.isactivated11;\r\n\t\t}\r\n\t\t$scope.activatedButton12 = function () {\r\n\t\t\t$scope.isactivated12 = !$scope.isactivated12;\r\n\t\t}\r\n\t\t$scope.activatedButton13 = function () {\r\n\t\t\t$scope.isactivated13 = !$scope.isactivated13;\r\n\t\t}\r\n\t\t$scope.activatedButton14 = function () {\r\n\t\t\t$scope.isactivated14 = !$scope.isactivated14;\r\n\t\t}\r\n\t\t$scope.activatedButton15 = function () {\r\n\t\t\t$scope.isactivated15 = !$scope.isactivated15;\r\n\t\t}\r\n\t\t$scope.activatedButton16 = function () {\r\n\t\t\t$scope.isactivated16 = !$scope.isactivated16;\r\n\t\t}\r\n\t\t$scope.activatedButton17 = function () {\r\n\t\t\t$scope.isactivated17 = !$scope.isactivated17;\r\n\t\t}\r\n\t\t$scope.activatedButton18 = function () {\r\n\t\t\t$scope.isactivated18 = !$scope.isactivated18;\r\n\t\t}\r\n\t\t$scope.activatedButton19 = function () {\r\n\t\t\t$scope.isactivated19 = !$scope.isactivated19;\r\n\t\t}\r\n\r\n\t\t$scope.activatedButton20 = function () {\r\n\t\t\t$scope.isactivated20 = !$scope.isactivated20;\r\n\t\t}\r\n\t\t$scope.activatedButton21 = function () {\r\n\t\t\t$scope.isactivated21 = !$scope.isactivated21;\r\n\t\t}\r\n\t\t$scope.activatedButton22 = function () {\r\n\t\t\t$scope.isactivated22 = !$scope.isactivated22;\r\n\t\t}\r\n\t\t$scope.activatedButton23 = function () {\r\n\t\t\t$scope.isactivated23 = !$scope.isactivated23;\r\n\t\t}\r\n\t\t$scope.activatedButton24 = function () {\r\n\t\t\t$scope.isactivated24 = !$scope.isactivated24;\r\n\t\t}\r\n\t\t$scope.activatedButton25 = function () {\r\n\t\t\t$scope.isactivated25 = !$scope.isactivated25;\r\n\t\t}\r\n\t\t$scope.activatedButton26 = function () {\r\n\t\t\t$scope.isactivated26 = !$scope.isactivated26;\r\n\t\t}\r\n\t\t$scope.activatedButton27 = function () {\r\n\t\t\t$scope.isactivated27 = !$scope.isactivated27;\r\n\t\t}\r\n\t\t$scope.activatedButton28 = function () {\r\n\t\t\t$scope.isactivated28 = !$scope.isactivated28;\r\n\t\t}\r\n\t\t$scope.activatedButton29 = function () {\r\n\t\t\t$scope.isactivated29 = !$scope.isactivated29;\r\n\t\t}\r\n\t\t$scope.activatedButton30 = function () {\r\n\t\t\t$scope.isactivated30 = !$scope.isactivated30;\r\n\t\t}\r\n\t\t$scope.activatedButton31 = function () {\r\n\t\t\t$scope.isactivated31 = !$scope.isactivated31;\r\n\t\t}\r\n\t\t$scope.activatedButton32 = function () {\r\n\t\t\t$scope.isactivated32 = !$scope.isactivated32;\r\n\t\t}\r\n\t\t$scope.activatedButton33 = function () {\r\n\t\t\t$scope.isactivated33 = !$scope.isactivated33;\r\n\t\t}\r\n\t\t$scope.activatedButton34 = function () {\r\n\t\t\t$scope.isactivated34 = !$scope.isactivated34;\r\n\t\t}\r\n\t\t$scope.activatedButton35 = function () {\r\n\t\t\t$scope.isactivated35 = !$scope.isactivated35;\r\n\t\t}\r\n\t\t$scope.activatedButton36 = function () {\r\n\t\t\t$scope.isactivated36 = !$scope.isactivated36;\r\n\t\t}\r\n\t\t$scope.activatedButton37 = function () {\r\n\t\t\t$scope.isactivated37 = !$scope.isactivated37;\r\n\t\t}\r\n\t\t$scope.activatedButton38 = function () {\r\n\t\t\t$scope.isactivated38 = !$scope.isactivated38;\r\n\t\t}\r\n\t\t$scope.activatedButton39 = function () {\r\n\t\t\t$scope.isactivated39 = !$scope.isactivated39;\r\n\t\t}\r\n\t\t$scope.activatedButton40 = function () {\r\n\t\t\t$scope.isactivated40 = !$scope.isactivated40;\r\n\t\t}\r\n\r\n\t\t\r\n\t\tvm.sortColumn = function (col) {\r\n\t\t\tvm.OrderBy = col;\r\n\t\t\tif (vm.SortType == 'desc') {\r\n\t\t\t vm.SortType = 'asc';\r\n\t\t\t vm.reverseclass = 'fa fa-arrow-up';\r\n\t\t\t} else {\r\n\t\t\t vm.SortType = 'desc';\r\n\t\t\t vm.reverseclass = 'fa fa-arrow-down';\r\n\t\t\t}\r\n\t\t\tvm.AllapplyTalentPoolfilter();\r\n\t\t };\r\n\t \r\n\t\t vm.sortClass = function (col) {\r\n\t\t\tif (vm.OrderBy == col) {\r\n\t\t\t if (vm.SortType == 'desc') {\r\n\t\t\t\treturn 'fa fa-arrow-down';\r\n\t\t\t } else {\r\n\t\t\t\treturn 'fa fa-arrow-up';\r\n\t\t\t }\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t return \"\";\r\n\t\t\t}\r\n\t\t }\r\n\r\n\t\tvm.GetAllActivitiesForUser = function (userId) {\r\n\t\t\tvm.CallingUser = userId;\r\n\t\t\tCommittmentOpsService.GetAllActivitiesForUser(userId, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tvm.UserActivityInfo = resp.data;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.CommittmentModelOpen = function (userid) {\r\n\t\t\tvm.userCommittmentId = userid;\r\n\t\t\tvm.CommittmentModel = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'committmentmodel.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.CloseCommittmentModel = function () {\r\n\t\t\tvm.CommittmentModel.close();\r\n\t\t\tvm.userCommittmentDate = new Date();\r\n\t\t\tvm.userCommittmentStatus = \"Interested\";\r\n\t\t\tvm.userCommittmentId = \"\";\r\n\t\t\tvm.userComments = \"\";\r\n\t\t\tvm.userCommittmentReason = \"\";\r\n\t\t}\r\n\r\n\t\tvm.CommittmentFollowUp = function () {\r\n\t\t\tvm.committment_form.submitted = true;\r\n\t\t\t// if (vm.userCommittmentStatus) {\r\n\t\t\t\tif(vm.committment_form.$valid){\r\n\t\t\t\tif (vm.userCommittmentStatus == 'NotInterested') {\r\n\t\t\t\t\tvm.userCommittmentDate = \"\";\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.userCommittmentDate = moment(vm.userCommittmentDate).format(\"YYYY-MM-DD\");\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tvar data = {\r\n\t\t\t\t\t\"CommittmentStatus\": vm.userCommittmentStatus,\r\n\t\t\t\t\t\"CommittmentReason\": vm.userCommittmentReason,\r\n\t\t\t\t\t\"UserComment\": vm.userComments,\r\n\t\t\t\t\t\"Date\": vm.userCommittmentDate,\r\n\t\t\t\t\t\"UserId\": vm.userCommittmentId,\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\r\n\r\n\t\t\t\tCommittmentOpsService.CommittmentFollowUp(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif (resp && resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", resp.data.Message);\r\n\t\t\t\t\t\tvm.CloseCommittmentModel();\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\tvm.AllapplyTalentPoolfilter();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\r\n\t\t// }\r\n\t\t\t// else {\r\n\t\t\t// \tvm.showFailure(\"Failed\", \"Please select committment status.\");\r\n\t\t\t// }\r\n}\r\n\t\t}\r\n\r\n\t\tvm.OpenTracking = function (user) {\r\n\t\t\t$state.go('index.PincodeFinder', {\r\n\t\t\t\tuserId: user.UserId,\r\n\t\t\t}, {\r\n\t\t\t\treload: true\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t$scope.followupmodal = true;\r\n\t\t$scope.toggleForBroadcastnew = function () {\r\n\t\t\t$scope.followupmodal = !$scope.followupmodal;\r\n\t\t\t$scope.myvalue = true;\r\n\r\n\t\t};\r\n\r\n\t\tvm.CloseingRemark = \"\";\r\n\t\tvm.OnBoardingTaskModelOpen = function (taskid) {\r\n\t\t\tvm.CommitmentTaskId = taskid;\r\n\t\t\tvm.OnBoardingTaskmodel = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'OnBoardingTaskmodel.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.CloseOnBoardingTaskModel = function () {\r\n\t\t\tvm.OnBoardingTaskmodel.close();\r\n\t\t\tvm.CommitmentTaskId = \"\";\r\n\t\t\tvm.CloseingRemark = \"\";\r\n\t\t\tvm.closeuserCommittmentStatus = \"Interested\";\r\n\t\t}\r\n\r\n\r\n\t\tvm.CloseOnBoardingTask = function () {\r\n\t\t\tif (vm.closeuserCommittmentStatus == 'NotInterested') {\r\n\t\t\t\tvm.userCommittmentDate = \"\";\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.userCommittmentDate = moment(vm.userCommittmentDate).format(\"YYYY-MM-DD\");\r\n\t\t\t}\r\n\t\t\tvar data = {\r\n\t\t\t\t\"TaskId\": vm.CommitmentTaskId,\r\n\t\t\t\t\"CloseingRemark\": vm.CloseingRemark,\r\n\t\t\t\t\"CommittmentStatus\": vm.closeuserCommittmentStatus,\r\n\t\t\t\t\"Date\": vm.userCommittmentDate,\r\n\t\t\t}\r\n\t\t\tCommittmentOpsService.CloseOnBoardingTask(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.status == 200) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", resp.data.Message);\r\n\t\t\t\t\tvm.CloseOnBoardingTaskModel();\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t}\r\n});\nangular.module('inspinia').service('ClientView360Service', function (ApiURL, $http, FreelancerURL, MMFCRMURL, LocationURL) {\r\n\r\n\tthis.GetConsumerFullDetails = function (loggedinUser, token, contactNo) {\r\n\t\tvar url = MMFCRMURL + '/api/CRMConsumer/GetConsumerFullDetails?ConsumerContact=' + contactNo;\r\n\t\treturn $http.get(url, {\r\n\t\t\theaders: {\r\n\t\t\t\t'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tthis.UpdateConsumer = function (data, loggedinUser, token) {\r\n\t\tvar url = MMFCRMURL + '/api/CRMConsumer/UpdateConsumer';\r\n\t\treturn $http.put(url, data, {\r\n\t\t\theaders: {\r\n\t\t\t\t'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tthis.GetConsumerAssets = function (loggedinUser, token, contactNo) {\r\n\t\tvar url = MMFCRMURL + '/api/CRMConsumer/GetConsumerAssets?ConsumerContact=' + contactNo;\r\n\t\treturn $http.get(url, {\r\n\t\t\theaders: {\r\n\t\t\t\t'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\n)\r\n\nangular.module('inspinia').controller('ClientView360Controller', function ($scope,ReferService,$timeout, $uibModal, $state,$q, CustomerCRMListService, ClientView360Service, $log, $stateParams, $localStorage, ImageUrl) {\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\t\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\t\tvm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\t\tvm.accountid= $localStorage.accountConfig.AccountId;\r\n\t\tvar consumerContact = $stateParams.ContactNo;\r\n\t\tvm.warrantyStatus = '';\r\n\t\tvm.dateOfPurchase = '';\r\n\t\tvm.callType = 'Repair';\r\n\t\tvm.AppointmentTime = '08:00'\r\n\t\tvm.AppointmentDate = moment().format('YYYY-MM-DD');\r\n\t\tvm.disableCreateButton = false;\r\n\r\n\t\tvm.DisableCreateButton = function (disable) {\r\n\t\t\tif (disable) {\r\n\t\t\t\tvm.disableCreateButton = true;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.disableCreateButton = false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.timeSlots = [\r\n\t\t\t{ value: '08:00', label: '08:00 AM to 10:00 AM' },\r\n\t\t\t{ value: '10:00', label: '10:00 AM to 12:00 PM' },\r\n\t\t\t{ value: '12:00', label: '12:00 PM to 02:00 PM' },\r\n\t\t\t{ value: '14:00', label: '02:00 PM to 04:00 PM' },\r\n\t\t\t{ value: '16:00', label: '04:00 PM to 06:00 PM' },\r\n\t\t\t{ value: '18:00', label: '06:00 PM to 08:00 PM' }\r\n\t\t];\r\n\r\n\t function getCurrentDateTime() {\r\n return new Date();\r\n }\r\n\t$scope.showRecentActivity = !(vm.accountid == '361');\r\n\r\n\t$scope.RecentActivity = $scope.showRecentActivity ? 1 : 0;\r\n\t$scope.Assets = $scope.showRecentActivity ? 0 : 1;\r\n\r\n\t$scope.$watch('showRecentActivity', function(newValue) {\r\n\t\t$scope.RecentActivity = newValue ? 1 : 0;\r\n\t\t$scope.Assets = newValue ? 0 : 1;\r\n\t});\r\n\t\r\n\r\n\r\n function isTimeSlotValid(slot) {\r\n var now = getCurrentDateTime();\r\n var selectedDate = moment(vm.AppointmentDate).format('YYYY-MM-DD');\r\n\r\n if (selectedDate) {\r\n if (!(selectedDate instanceof Date)) {\r\n selectedDate = new Date(selectedDate);\r\n }\r\n\r\n var slotTime = slot.value.split(':');\r\n var selectedDateTime = new Date(selectedDate);\r\n selectedDateTime.setHours(parseInt(slotTime[0]), parseInt(slotTime[1]), 0, 0);\r\n\r\n return selectedDateTime >= now;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n function updateAvailableTimeSlots() {\r\n $timeout(function() {\r\n vm.availableTimeSlots = vm.timeSlots.filter(isTimeSlotValid);\r\n\t\t\tselectDefaultTimeSlot();\r\n });\r\n }\r\n\r\n\tfunction selectDefaultTimeSlot() {\r\n if (vm.availableTimeSlots.length > 0) {\r\n vm.AppointmentTime = vm.availableTimeSlots[0].value;\r\n }\r\n }\r\n\r\n\tvm.minDate = new Date();\r\n\tvm.datepickerOptions = {\r\n\t\tminDate: vm.minDate\r\n\t};\r\n\r\n $scope.$watch('ctrlCRM360.AppointmentDate', function(newValue, oldValue) {\r\n if (newValue !== oldValue) {\r\n updateAvailableTimeSlots();\r\n }\r\n });\r\n\r\n updateAvailableTimeSlots();\r\n\r\n\t\tvm.isDateDisabled = function() {\r\n\t\t\treturn !vm.brandName || \r\n\t\t\t\t !vm.productGroup || \r\n\t\t\t\t !vm.product;\r\n\t\t};\r\n\r\n\t\tvm.getCurrentDate = function() {\r\n\t\t\tvar currentDate = new Date();\r\n\t\t\treturn currentDate;\r\n\t\t};\r\n\r\n vm.CreateTaskModel = function (asset) {\r\n vm.assetData = asset;\r\n vm.brandName = vm.assetData.Brand;\r\n vm.product = vm.assetData.AssetType;\r\n vm.productdefect = vm.assetData.Brand;\r\n vm.productGroup = vm.assetData.ProductGroup;\r\n\t vm.GetAllActiveProductModelMaster();\r\n vm.GetDefectTypeList();\r\n\t\t\tvm.createtaskModelOpen = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'CreateTaskModel.html',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.CloseCreateTaskModel = function () {\r\n\t\t\tvm.createtaskModelOpen.close();\r\n\t\t\tvm.brandName = '';\r\n\t\t\tvm.productGroup = '';\r\n\t\t\tvm.product = '';\r\n\t\t\tvm.productdefect = '';\r\n\t\t\tvm.caseDescription = '';\r\n\t\t\tvm.modelNumber = '';\r\n\t\t\tvm.warrantyStatus = '';\r\n\t\t\tvm.dateOfPurchase = '';\r\n\t\t\tvm.callType = 'Repair';\r\n\t\t\tvm.AppointmentDateTime = '';\r\n\t\t\tvm.WarrantyData = \"\";\r\n\t\t\tvm.AppointmentDate = moment().format('YYYY-MM-DD');\r\n\t\t\tupdateAvailableTimeSlots();\r\n\t\t\tvm.DisableCreateButton(false);\r\n\t\t}\r\n\t\r\n\tvm.UpdateDataModel = function () {\r\n\t\tvm.EditcustomerModelOpen = $uibModal.open({\r\n\t\t\ttemplateUrl: 'EditCustomerModel.html',\r\n\t\t\tsize: 'lg',\r\n\t\t\tbackdrop: 'static',\r\n\t\t\tscope: $scope,\r\n\t\t});\r\n\t}\r\n\tvm.CloseUpdateDataModel = function () {\r\n\t\tvm.EditcustomerModelOpen.close();\r\n\t}\r\n\tvm.GetConsumerFullDetails = function () {\r\n\t\tClientView360Service.GetConsumerFullDetails(loggedinUser, token, consumerContact).then(function (resp) {\r\n\t\t\tif (resp && resp.data) {\r\n\t\t\t\tvm.consumerData = resp.data;\r\n\t\t\t\tvm.consumerAddressData = resp.data.udListAddresses[0];\r\n\t\t\t\tvm.consumerTitle = vm.consumerData.strConsumerTitle;\r\n\t\t\t\tvm.consumerFirstName = vm.consumerData.strConsumerFirstName;\r\n\t\t\t\tvm.consumerLastName = vm.consumerData.strConsumerLastName;\r\n\t\t\t\tvm.consumerContact = vm.consumerData.strConsumerContact;\r\n\t\t\t\tvm.consumerAltContact = vm.consumerData.strConsumerAlternateContact;\r\n\t\t\t\tvm.PersonalEmail = vm.consumerData.strPersonalEmail;\r\n\t\t\t\tvm.consumerType = vm.consumerData.strConsumerType;\r\n\t\t\t\tvm.AddressType = vm.consumerAddressData.strAddressType;\r\n\t\t\t\tvm.consumerCity = vm.consumerAddressData.strCity;\r\n\t\t\t\tvm.consumerPincode = vm.consumerAddressData.strPostalCode;\r\n\t\t\t\tvm.consumerState = vm.consumerAddressData.strState;\r\n\t\t\t\tvm.AddressLine1 = vm.consumerAddressData.strAddress1;\r\n\t\t\t\tvm.AddressLine2 = vm.consumerAddressData.strAddress2;\r\n\t\t\t\tvm.selectedState(vm.consumerState);\r\n\t\t\t}\r\n\t\t}, vm.showFailure);\r\n\t}\r\n\tvm.GetConsumerFullDetails();\r\n\r\n\tvm.GetAllTicketsForContact = function () {\r\n\t\tCustomerCRMListService.GetAllTicketsForContact(loggedinUser, token, consumerContact).then(function (resp) {\r\n\t\t\tif (resp && resp.data && resp.status == 200) {\r\n\t\t\t\tvm.consumerAllTicketsData = resp.data;\r\n\t\t\t\tvm.ticketLength = resp.data.length;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.showFailure(\"Failed\", resp.data.Message)\r\n\t\t\t}\r\n\t\t}, vm.showFailure);\r\n\t}\r\n\r\n\tvm.GetAllTicketsForContact();\r\n\r\n\tvm.GetWarrantyDetailsForProduct = function () {\r\n\t\tvm.WarrantyData = \"\";\r\n\t\t\tvar data = {\r\n\t\t\t\t\"strBrandName\": vm.brandName,\r\n\t\t\t\t\"strProductGroup\": vm.productGroup,\r\n\t\t\t\t\"strProductName\": vm.product,\r\n\t\t\t\t\"dateOfPurchase\": moment(vm.dateOfPurchase).format('YYYY-MM-DD'),\r\n\t\t\t }\r\n\t\t\tCustomerCRMListService.GetWarrantyDetailsForProduct(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\tvm.WarrantyData = resp.data\r\n\t\t\t\t}\r\n\r\n\t\t\t});\r\n\t\t}\r\n\r\n vm.GetAllBrands = function () {\r\n CustomerCRMListService.GetAllBrands(loggedinUser,token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.BrandList = resp.data;\r\n }\r\n }, vm.showFailure);\r\n }\r\n vm.GetAllBrands();\r\n\r\n vm.GetBrandProductGroup = function () {\r\n var data = {\r\n \"strBrandName\": vm.brandName\r\n }\r\n CustomerCRMListService.GetBrandProductGroup(data,loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.PartGroupList = resp.data;\r\n }\r\n });\r\n }\r\n\r\n vm.GetAllProductsForBrand = function () {\r\n var data = {\r\n \"strBrandName\": vm.brandName,\r\n \"strProductGroup\": vm.productGroup\r\n }\r\n CustomerCRMListService.GetAllProductsForBrand(data,loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.ProductList = resp.data;\r\n }\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.GetAllActiveProductModelMaster = function () {\r\n\tCustomerCRMListService.GetAllActiveProductModelMaster(vm.product, loggedinUser, token).then(function (resp) {\r\n\t if (resp && resp.data) {\r\n\t\tvm.AllActiveProductModelNoList = resp.data;\r\n\t }\r\n\t})\r\n }\r\n\r\n\r\n vm.GetDefectTypeList = function () {\r\n var data = {\r\n \"strBrandName\": vm.brandName,\r\n \"strProductGroup\": vm.productGroup,\r\n \"strProductName\": vm.product,\r\n\t \"strCallType\" : vm.callType\r\n }\r\n CustomerCRMListService.GetDefectTypeList(data,loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.DefectList = resp.data;\r\n }\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.CreateCase = function () {\r\n vm.dialertask_form.submitted = true;\r\n if (vm.dialertask_form.$valid) {\r\n vm.DisableCreateButton(true);\r\n data = {\r\n \"BrandName\": vm.brandName,\r\n\t\t\"ProductGroup\": vm.productGroup,\r\n\t\t\"ProductName\": vm.product,\r\n\t\t\"ModelNumber\": vm.modelNumber,\r\n\t\t\"AppointmentDateTime\" : moment(vm.AppointmentDate).format('YYYY-MM-DD') + ' ' + vm.AppointmentTime,\r\n\t\t\"DefectType\": vm.productdefect + ' - ' + vm.caseDescription,\r\n\t\t\"MMFSkillMapped\": vm.DefectList.strMMFSkillMapped,\r\n\t\t\"ConusmerContact\": vm.consumerContact,\r\n\t\t\"CallType\": vm.callType,\r\n\t\t\"DateOfPurchase\": moment(vm.dateOfPurchase).format('YYYY-MM-DD'),\r\n\t\t\"WarrantyStatus\": vm.warrantyStatus\r\n }\r\n CustomerCRMListService.CreateCase(data, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", 'Case created successfully.');\r\n setTimeout(function () {\r\n vm.CloseCreateTaskModel();\r\n vm.GetAllTicketsForContact();\r\n }, 1000);\r\n }\r\n else {\r\n vm.DisableCreateButton(false);\r\n vm.showFailure('Failed', resp.data.Message);\r\n }\r\n\r\n });\r\n }\r\n }\r\n\r\n\t\r\n\tfunction getAllStates() {\r\n\t\tvar defered = $q.defer();\r\n\t\tReferService.getAllState(loggedinUser, token).then(function (resp) {\r\n\t\t\tdefered.resolve(resp);\r\n\t\t}, function (error) {\r\n\t\t\tdefered.reject(error);\r\n\t\t});\r\n\t\treturn defered.promise;\r\n\t}\r\n\r\n\tvar allStatePromise = getAllStates(loggedinUser);\r\n\tallStatePromise.then(function (resp) {\r\n\t\tvm.StateList = resp.data;\r\n\r\n\t});\r\n\tfunction getallCities(state) {\r\n\t\tReferService.getAllCity(loggedinUser, state, token).then(function (resp) {\r\n\t\t\tvm.CityList = resp.data;\r\n\t\t});\r\n\t}\r\n\tvm.selectedState = function (state) {\r\n\t\tgetallCities(state);\r\n\t}\r\n\r\n\tvm.GetConsumerAssets = function () {\r\n\t\tClientView360Service.GetConsumerAssets(loggedinUser, token, consumerContact).then(function (resp) {\r\n\t\t\tif (resp && resp.data && resp.status == 200) {\r\n\t\t\t\tvm.consumerAssetData = resp.data;\r\n\t\t\t\tvm.consumerAssetDataLength = resp.data.length;\r\n\t\t\t}\r\n\t\t}, vm.showFailure);\r\n\t}\r\n\tvm.GetConsumerAssets();\r\n\r\n\r\n\tvm.UpdateConsumer = function () {\r\n\t\tvm.editprofile_form.submitted = true;\r\n\t\tif (vm.editprofile_form.$valid) {\r\n\t\t\tvm.DisableCreateButton(true);\r\n\t\t\tdata = {\r\n\t\t\t\t\"strConsumerTitle\": vm.consumerTitle,\r\n\t\t\t\t\"strConsumerFirstName\": vm.consumerFirstName,\r\n\t\t\t\t\"strConsumerLastName\": vm.consumerLastName,\r\n\t\t\t\t\"strConsumerContact\": vm.consumerContact,\r\n\t\t\t\t\"strConsumerAlternateContact\": vm.consumerAltContact,\r\n\t\t\t\t\"strPersonalEmail\": vm.PersonalEmail,\r\n\t\t\t\t\"strConsumerArea\": \"string\",\r\n\t\t\t\t\"strConsumerLandMark\": \"string\",\r\n\t\t\t\t\"strConsumerType\": vm.consumerType,\r\n\t\t\t\t\"udListAddresses\": [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\"strAddressType\": vm.AddressType,\r\n\t\t\t\t\t\t\"strAddress1\": vm.AddressLine1,\r\n\t\t\t\t\t\t\"strAddress2\": vm.AddressLine2,\r\n\t\t\t\t\t\t\"strCity\": vm.consumerCity,\r\n\t\t\t\t\t\t\"strDistrict\": \"string\",\r\n\t\t\t\t\t\t\"strPostalCode\": vm.consumerPincode,\r\n\t\t\t\t\t\t\"strState\": vm.consumerState,\r\n\t\t\t\t\t\t\"strCountry\": \"India\",\r\n\t\t\t\t\t\t\"bIsDefaultAddress\": true\r\n\t\t\t\t\t}\r\n\t\t\t\t]\r\n\t\t\t}\r\n\t\t\tClientView360Service.UpdateConsumer(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\tvm.showSuccess(\"Success\", 'Consumer details updated successfully.');\r\n\t\t\t\t\tvm.CloseUpdateDataModel();\r\n\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\tvm.GetConsumerFullDetails();\r\n\t\t\t\t\t\tvm.clearCustomerData();\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\tvm.showFailure('Failed', resp.data.Message);\r\n\t\t\t\t}\r\n\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tvm.clearCustomerData = function () {\r\n\t\tvm.consumerTitle = '';\r\n\t\tvm.consumerFirstName = '';\r\n\t\tvm.consumerLastName = '';\r\n\t\tvm.consumerContact = '';\r\n\t\tvm.consumerAltContact = '';\r\n\t\tvm.PersonalEmail = '';\r\n\t\tvm.consumerType = '';\r\n\t\tvm.AddressType = '';\r\n\t\tvm.consumerCity = '';\r\n\t\tvm.consumerPincode = '';\r\n\t\tvm.consumerState = '';\r\n\t\tvm.AddressLine1 = '';\r\n\t\tvm.AddressLine2 = '';\r\n\t}\r\n}\r\n\r\n});\r\n\nangular.module('inspinia').service('CentralHDTicketsViewService', function (ApiURL, SchedulingAPI, $log, FreelancerURL, $http, $localStorage, $window, PublicApiURL, ActivityURL) {\r\n\r\n\r\n //Generate Invoice Preview Via Model \r\n this.downloadOnSiteReport = function (loggedInUserId, token, TicketId) {\r\n var url = ApiURL + '/api/Report/GeneratePdfOnSiteReport?TicketId=' + TicketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n\r\n });\r\n }\r\n\r\n\r\n this.DownloadPAVReprotXls = function (TicketId,loggedInUserId, token) {\r\n var url = ApiURL + '/api/Report/DownloadPAVReprotXls?TicketId=' + TicketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n\r\n });\r\n }\r\n\r\n this.OnSiteReprotUploadWeb = function (data, files, token, loggedinUser) {\r\n var formdata = new FormData();\r\n formdata.append(\"files\", files);\r\n var url = ApiURL + '/api/Upload/OnSiteReprotUploadWeb?TicketId=' + data;\r\n return $http.post(url, formdata, {\r\n headers: { 'Content-Type': undefined, 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n\r\n\r\n // this.GeneratePdfOnSiteReportForMultipleTickets = function (ticketIds,loggedInUserId,token) {\r\n // var url = ApiURL + '/api/Report/GeneratePdfOnSiteReportForMultipleTickets?TicketId=' + ticketIds;\r\n // $http.get(url, {\r\n // headers: {\r\n // 'ContentType': 'application/json',\r\n // 'Token': token,\r\n // 'UserId': loggedInUserId\r\n // }\r\n // }); \r\n // $window.open(url, '_blank');\r\n // }\r\n\r\n this.DownloadPDFReportZip = function (ticketIds) {\r\n var url = PublicApiURL + \"/api/Report/DownloadPDFReportZip?TicketIds=\" + ticketIds;\r\n $window.open(url, '_blank');\r\n }\r\n\r\n this.getAllJobTickets = function (supervisorId, startDate, endDate, token, itemNames, itemValues, templateCols, templateItemNames, templateItemValues, DateField) {\r\n var url = '';\r\n // itemNames = '';\r\n // itemValues = '';\r\n url = ApiURL + '/api/Ticket/GetTicketsbyDateRange?fromDate=' + startDate + '&toDate=' + endDate + '&reqUserId=' + supervisorId + '&itemNames=' + itemNames + '&itemValues=' + itemValues + '&templateCols=' + templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues + '&DateField=' + DateField;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': supervisorId\r\n }\r\n });\r\n }\r\n\r\n //https://db.mymobiforce.com/publicapi/api/Address/GetStates?userId=U420000000001&country=QATAR\r\n this.getStates = function (loggedInUserId, token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n //Accounts API\r\n this.getAllAccounts = function (loggedinUser,token) { \r\n var url = ApiURL+ '/api/CentralHelpDesk/GetAllAccountHDConfig';\r\n return $http.get(url, {\r\n headers: { \r\n 'Content-Type': 'application/json',\r\n 'Token':token , \r\n 'UserId':loggedinUser\r\n \r\n }\r\n });\r\n }\r\n\r\n \r\n // https://product.mymobiforce.com/coreapi/api/Report/GetAttachmentsByTicketIdWithSignoffReport?TicketId=T2040000000004\r\n this.getAttachment = function (loggedInUserId, token, TicketId) {\r\n var url = ApiURL + '/api/Report/GetAttachmentsByTicketIdWithSignoffReport?TicketId=' + TicketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n // https://product.mymobiforce.com/coreapi/api/Image?fileName=Completion Sign Off Report_8299.pdf\r\n this.viewReportPdf = function (loggedInUserId, token, fileName) {\r\n var url = ApiURL + '/api/Image?fileName=' + fileName;\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.getAllJobTicketsCopy = function (supervisorId, startDate, endDate, token, itemNames, itemValues, textItemNames, textItemValues, templateCols, templateItemNames, templateItemValues, DateField, PageIndex, PageSize) {\r\n var url = '';\r\n url = ApiURL + '/api/Ticket/GetTicketsbyDateRangeWithDynaPagingForCHDDashboard?fromDate=' + startDate + '&toDate=' + endDate + '&reqUserId=' + supervisorId + '&itemNames=' + itemNames + '&itemValues=' + itemValues + '&textItemNames=' + textItemNames + '&textItemValues=' + textItemValues + '&templateCols=' + templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues + '&DateField=' + DateField + '&PageIndex=' + PageIndex + '&PageSize=' + PageSize;\r\n // url = ApiURL + '/api/Ticket/GetTicketsbyDateRange?fromDate=' + startDate + '&toDate=' + endDate+ '&reqUserId=' + supervisorId + '&itemNames=' + itemNames + '&itemValues=' + itemValues+'&templateCols='+templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues + '&DateField=' + DateField;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': supervisorId\r\n }\r\n });\r\n }\r\n this.getAllJobTicketsCopyForPagging = function (supervisorId, startDate, endDate, token, itemNames, itemValues, textItemNames, textItemValues, templateCols, templateItemNames, templateItemValues, DateField, PageIndex, PageSize) {\r\n var url = '';\r\n url = ApiURL + '/api/Ticket/GetTicketsbyDateRangeWithDynaPagingForCHDListing?fromDate=' + startDate + '&toDate=' + endDate + '&reqUserId=' + supervisorId + '&itemNames=' + itemNames + '&itemValues=' + itemValues + '&textItemNames=' + textItemNames + '&textItemValues=' + textItemValues + '&templateCols=' + templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues + '&DateField=' + DateField + '&PageIndex=' + PageIndex + '&PageSize=' + PageSize;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': supervisorId\r\n }\r\n });\r\n }\r\n\r\n // url = https://product.mymobiforce.com/schedulingAPI/api/AutoJobBroadcast/AutoBroadcastAllNewJobsManualMode\r\n this.AutoBroadcastAllNewJobsManualMode = function (loginUserId, token) {\r\n var url = '';\r\n url = SchedulingAPI + '/api/AutoJobBroadcast/AutoBroadcastAllNewJobsManualMode';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n this.BroadcastJobsManualMode = function (loginUserId, ticketId, token) {\r\n var url = '';\r\n url = SchedulingAPI + '/api/AutoJobBroadcast/BroadcastJobsManualMode';\r\n return $http.post(url, ticketId, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });\r\n }\r\n\r\n // https://perf.mymobiforce.com/publicapi/api/Report/DownloadAllTicketReport?fromDate=2019-11-28&toDate=2019-11-29&reqUserId=U400000000001&itemNames=SkillSet&itemValues=All%20Job%20Status&templateCols=All%20Source%20Types\r\n this.downloadTicketsReports = function (loggedInUserId, fromDate, toDate, itemNames, itemValues, templateCols) {\r\n var url = PublicApiURL + \"/api/Report/DownloadAllTicketReport?fromDate=\" + fromDate + '&toDate=' + toDate + '&reqUserId=' + loggedInUserId + \"&itemNames=\" + itemNames + '&itemValues=' + itemValues + '&templateCols=' + templateCols;\r\n $window.open(url);\r\n }\r\n\r\n this.sendReportToMail = function (loggedInUserId, token, fromDate, toDate, itemNames, itemValues, templateCols,DateField) {\r\n var url = ApiURL + \"/api/Report/SendViaMailAllTicketWithTemplateReport?fromDate=\" + fromDate + '&toDate=' + toDate + '&reqUserId=' + loggedInUserId + \"&itemNames=\" + itemNames + '&itemValues=' + itemValues + '&templateCols=' + templateCols + '&DateField=' + DateField ;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n })\r\n }\r\n\r\n this.getCustomerJobCardbyJobId = function (accountId, jobId, token, success, failure) {\r\n $http.get(ApiURL + \"/api/GetCustomerJobCardbyJobId/\" + jobId + \"/\" + accountId + \"/GetCustomerJobCardbyJobId\", {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': accountId\r\n }\r\n }).then(function (res) {\r\n if (res && res.data && success) {\r\n success(res.data);\r\n } else if (failure) {\r\n failure();\r\n }\r\n });\r\n }\r\n\r\n\r\n //http://localhost:56749/api/Ticket/DeleteTicket?UserId=asd&TicketId=asdasd\r\n this.DeleteTickets = function (userId, ticketId, token) {\r\n // var url = ApiURL + \"/api/Ticket/DeleteTicket?UserId=\"+userId+ \"&TicketId=\"+ticketId;\r\n // return $http.delete(url,{\r\n // headers:{'Content-Type':'application/json','Token':token}\r\n // })\r\n\r\n return $http({\r\n method: 'DELETE',\r\n url: ApiURL + \"/api/Ticket/DeleteTicket?UserId=\" + userId + \"&TicketId=\" + ticketId,\r\n data: {\r\n\r\n },\r\n headers: {\r\n 'Content-type': 'application/json', 'Token': token, 'UserId': userId\r\n }\r\n })\r\n }\r\n\r\n this.SetTicketExecutionMode = function (reqUserId, mode, ticektIds, token) {\r\n var url = ApiURL + \"/api/Ticket/SetTicketExecutionMode?ReqUserId=\" + reqUserId + \"&mode=\" + mode;\r\n return $http.put(url, {\r\n \"tickets\": ticektIds\r\n }, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': reqUserId\r\n }\r\n })\r\n }\r\n\r\n\r\n this.updateStartTime = function (ticketId, userId, startTime, token, success, failure) {\r\n var url = ApiURL + \"/api/Ticket/updatestartdate?requserid=\" + userId + \"&ticketid=\" + ticketId + \"&starttime=\" + encodeURI(startTime.format(\"YYYY-MM-DDThh:mm:ss.SSSZ\"));\r\n $http.put(url, {\r\n \"requserid\": userId,\r\n \"ticketid\": ticketId,\r\n \"starttime\": startTime.format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\")\r\n }, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': userId\r\n }\r\n }).then(function (res) {\r\n if (res) {\r\n success(res);\r\n } else {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n }\r\n }, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n\r\n this.updateTicketSettlement = function (data, token, loggedInUserId, success, failure) {\r\n\r\n var url = ApiURL + \"/api/Ticket/setsettlementstatus\"\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.ApproveJob = function (data, token, loggedInUserId, success, failure) {\r\n var url = ApiURL + '/api/Ticket/updatestatus';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.AcceptJob = function (data, token, loggedInUserId, success, failure) {\r\n var url = ApiURL + '/api/Ticket/updatestatus';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.RejectJob = function (data, token, loggedInUserId, success, failure) {\r\n var url = ApiURL + '/api/Ticket/updatestatus';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.ConvertToNewJob = function (data, token, loggedInUserId, success, failure) {\r\n var url = ApiURL + '/api/Ticket/updatestatus';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n ///http://192.168.0.80:92/CoreAPI/api/Ticket/akshit.chauhan%40innotiontech.com/T0000000102/returnticket\r\n this.PullBackTicket = function (loggedInUserId, ticketId, token) {\r\n var url = ApiURL + '/api/Ticket/' + loggedInUserId + '/' + ticketId + '/returnticket';\r\n return $http.put(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n })\r\n }\r\n\r\n\r\n //https://test.mymobiforce.com/coreapi/api/Ticket/F00000000000/asdas/ActionByVendor?Action=asdasd\r\n this.ActionByVendor = function (loggedInUserId, ticketIds, action, token) {\r\n var url = ApiURL + '/api/Ticket/' + loggedInUserId + '/' + ticketIds + '/ActionByVendor?Action=' + action;\r\n return $http.put(url, {}, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n })\r\n }\r\n\r\n\r\n //http://192.168.0.80:92/Coreapi/api/Ticket/reqUserId/TicketId/HoldingStatus/ticketholding\r\n this.UpdateHoldingStatus = function (loggedInUserId, ticketId, holdingStatus, reason, Remark, token) {\r\n var url = ApiURL + '/api/Ticket/' + loggedInUserId + '/' + ticketId + '/ticketholding?HoldingStatus=' + holdingStatus + '&Reason=' + reason + '&Remark=' + Remark;\r\n return $http.put(url, {}, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n })\r\n }\r\n\r\n this.updateTicket = function (ticket, loggedInUserId, token) {\r\n var url = ApiURL + '/api/Ticket?reqUserId=' + loggedInUserId;\r\n return $http.put(url, ticket, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.getJobAllStatus = function (loggedInUserId, token, success, failure) {\r\n var url = ApiURL + '/api/TicketStatus/' + loggedInUserId + '/GetAllTicketStatus';\r\n $http.get(url, { headers: { 'Token': token, 'UserId': loggedInUserId } }).then(function (res) {\r\n if (res && res.status == 200 && res.data) {\r\n if (success) {\r\n success(res.data);\r\n }\r\n } else if (res && res.data) {\r\n if (failure) {\r\n failure(\"Failed\", res.data);\r\n }\r\n } else {\r\n if (failure) {\r\n failure(\"Failed\", \"Unable to get status list, server is not responding correctly\");\r\n }\r\n }\r\n }, function (err) {\r\n if (failure) {\r\n failure(\"Failed\", \"Unable to get status list, server is not responding correctly\");\r\n }\r\n });\r\n }\r\n\r\n this.downloadMultipleReports = function (loggedInUserId, ticketId, reportMapperId, correlated) {\r\n var url = PublicApiURL + \"/api/Report/\" + ticketId + \"/DownloadReportByTemplateName?reqUserId=\" + loggedInUserId + \"&correlated=\" + (correlated ? \"True\" : \"False\")\r\n $window.open(url);\r\n }\r\n\r\n this.SendPdfOnSiteReportForMultipleTicketsOnMail = function (ticketId,loggedInUserId,token) {\r\n var url = ApiURL + '/api/Report/SendPdfOnSiteReportForMultipleTicketsOnMail?TicketId=' + ticketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n\r\n }).then($window.open(resp.config.url, '_blank'));\r\n }\r\n\r\n\r\n //http://localhost:55238/api/Report/456/DownloadInvoice?reqUserId=123&correlated=True\r\n this.downloadInvoice = function (loggedInUserId, ticketId, correlated) {\r\n var url = PublicApiURL + \"/api/Report/\" + ticketId + \"/DownloadInvoice?reqUserId=\" + loggedInUserId + \"&correlated=\" + (correlated ? \"True\" : \"False\")\r\n\r\n $window.open(url);\r\n }\r\n\r\n this.getSkills = function (loggedinUser, token, callback, failure) {\r\n var url = ApiURL + '/api/SkillSets?reqUserId=' + loggedinUser;\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n // vm.showSuccess(\"skills\", \"Got skills list\");\r\n }, function () {\r\n failure(\"skills\", \"Unable to get skills\");\r\n });\r\n }\r\n\r\n this.TicketFollowUp = function (data, files, token, loggedInUserId, success, failure) {\r\n var formdata = new FormData();\r\n formdata.append(\"files\", files[0]);\r\n var followupdata = JSON.stringify(data);\r\n formdata.append(\"ActivityModel\", followupdata);\r\n\r\n var url = ActivityURL + '/api/Activity/FollowUpWithReason';\r\n return $http.post(url, formdata, {\r\n headers: { 'Content-Type': undefined, 'Token': token, 'UserId': loggedInUserId }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n this.TicketFollowUpWithoutDoc = function (data, token, loggedInUserId, success, failure) {\r\n var formdata = new FormData();\r\n var followupdata = JSON.stringify(data);\r\n formdata.append(\"ActivityModel\", followupdata);\r\n\r\n var url = ActivityURL + '/api/Activity/FollowUpWithReason';\r\n return $http.post(url, formdata, {\r\n headers: { 'Content-Type': undefined, 'Token': token, 'UserId': loggedInUserId }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.getBillExpenseByTicketID = function (loggedinUser, ticketID, token) {\r\n var url = ApiURL + '/api/Expense/GetByTicketId?ReqUserId=' + loggedinUser + '&TicketId=' + ticketID;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n\r\n this.getPdfReport = function (loggedinUser, ticketID, token) {\r\n var url = ApiURL + '/api/Report/GeneratePdfReportForApprovedJob?TicketId=' + ticketID;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n this.GeneratePdfEstimateReport = function (loggedinUser, ticketID, token) {\r\n var url = ApiURL + '/api/Report/GeneratePdfEstimateReport?TicketId=' + ticketID;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n // https://product.mymobiforce.com/coreapi/api/Ticket/TicketRejectionHistory?TicketId=T1140000092053\r\n\r\n this.getRejectHistory = function (TicketId, loggedInUserId, token) {\r\n var url = ApiURL + '/api/Ticket/TicketRejectionHistory?TicketId=' + TicketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n\r\n });\r\n }\r\n\r\n this.GetAllFollowUpForJob = function (TicketId, loggedInUserId, token) {\r\n var url = ActivityURL + '/api/Activity/GetAllFollowUpForJob?JobId=' + TicketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n\r\n });\r\n }\r\n\r\n // https://perf.mymobiforce.com/coreapi/api/Ticket/T0000000715%2CT0000000713/F00000000000/GetDataCaptureImagebyTicketId\r\n this.downloadImage = function (loggedInUserId, ticketIDs, token) {\r\n var url = PublicApiURL + \"/api/Report/DownloadDataCaptureInFieldPicture?reqUserId=\" + loggedInUserId + \"&TicketIds=\" + ticketIDs;\r\n $window.open(url);\r\n\r\n }\r\n\r\n // https://test.mymobiforce.com/publicapi/api/Report/T2660000001594,T2660000001593,T2660000001592/DownloadReportByTemplateName?reqUserId=U2660000000001&correlated=False\r\n\r\n this.downloadReportTemplate = function (loggedInUserId, ticketIDs) {\r\n var url = PublicApiURL + '/api/Report/' + ticketIDs + '/DownloadReportByTemplateName?reqUserId=' + loggedInUserId + '&correlated=False';\r\n $window.open(url);\r\n\r\n }\r\n\r\n this.getAllCustomers = function (loggedInUser, token) {\r\n var url = ApiURL + '/api/Customer?reqUserId=' + loggedInUser;\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedInUser }\r\n });\r\n }\r\n\r\n //https://product.mymobiforce.com/coreapi/api/Customer/GetCustomerByAccountId?accountId=114\r\n this.GetCustomersByAccount = function (loggedinUser, accountId, token) {\r\n var url = ApiURL + '/api/Customer/GetCustomerByAccountId?accountId=' + accountId\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n })\r\n }\r\n\r\n this.GetAllProjects = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/Project/' + loggedinUser + '/' + loggedinUser + '/GetProjectsByUserId'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n })\r\n }\r\n\r\n // https://product.mymobiforce.com/FreelancerAPI/api/FreeLancerUser/F00000001230/U400000000001/byUserIdWithJobCount\r\n this.getUserProfileData = function (loggedinUser, userid, token) {\r\n var url = FreelancerURL + '/api/FreeLancerUser/' + userid + '/' + loggedinUser + '/byUserIdWithJobCount'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n })\r\n }\r\n\r\n // https://perf.mymobiforce.com/coreapi/api/User/235432432/byUserIdWithJobCount?reqUserId=34234\r\n this.getFixedUserProfileData = function (loggedinUser, userid, token) {\r\n var url = ApiURL + '/api/User/' + userid + '/byUserIdWithJobCount?reqUserId=' + loggedinUser\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n })\r\n }\r\n //https://product.mymobiforce.com/coreapi/api/Ticket/CancelTicket?reqUserId=dfgdfs&TicketId=dfgfdg\r\n this.CancelTicket = function (loggedInUserId, ticketId, token) {\r\n var url = ApiURL + '/api/Ticket/CancelTicket?reqUserId=' + loggedInUserId + '&TicketId=' + ticketId;\r\n return $http.put(url, null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n this.TBCCancelationAudit = function (data, loggedInUserId, token) {\r\n var url = ApiURL + '/api/Ticket/UpdateJobAudit';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.UpdateCompletionRemark = function (data, loggedInUserId, token) {\r\n var url = ApiURL + '/api/Ticket/UpdateCompletionRemark';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetCSATRatingByTicketID = function (loggedInUserId, ticketId, token) {\r\n var url = '';\r\n url = ApiURL + '/api/Ticket/' + loggedInUserId + '/' + ticketId + '/GetCSATRatingByTicketID';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n this.GetCancellationReasons = function (AuditTicketId, status, loggedInUserId, token) {\r\n var url = '';\r\n url = ApiURL + '/api/TicketCancelationReasonController/' + loggedInUserId + '/getCancellationReasons?AtStatus=' + status + '&TicketId=' + AuditTicketId;;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.UpdateJobServerCancel = function (CancellationReasonsModel, loggedInUserId, token) {\r\n var url = ApiURL + '/api/Ticket/UpdateJobServerCancel';\r\n return $http.put(url, CancellationReasonsModel, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n this.GetTicketByGeneralSearch = function (SearchText, PageIndex, PageSize, loggedInUserId, token) {\r\n var url = '';\r\n url = ApiURL + '/api/Ticket/GetTicketByGeneralSearch?searchText=' + SearchText + '&PageIndex=' + PageIndex + '&PageSize=' + PageSize;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n this.AddSiteAuditwithAttachment = function (data, files, token, loggedinUser) {\r\n var formdata = new FormData();\r\n formdata.append(\"files\", files[0]);\r\n var followupdata = JSON.stringify(data);\r\n formdata.append(\"AuditRequestModel\", followupdata);\r\n formdata.append(\"reqUserId\", loggedinUser);\r\n var url = ApiURL + '/api/Upload/PostMediaFileWithAuditObject';\r\n return $http.post(url, formdata, {\r\n headers: { 'Content-Type': undefined, 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n //https://product.mymobiforce.com/coreapi/api/Invoice/GetTicketDataToRaiseInvoice\r\n this.GetTicketDataToRaiseInvoice = function (loggedinUser, ticketIdList, token) {\r\n var url = ApiURL + '/api/Invoice/GetTicketDataToRaiseInvoice'\r\n return $http.put(url, ticketIdList, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n })\r\n }\r\n\r\n //https://product.mymobiforce.com/coreapi/api/Invoice/MarkTicketsReadyToRaiseInvoice\r\n this.MarkTicketsReadyToRaiseInvoice = function (loggedinUser, ticketwithLineitemList, token) {\r\n var url = ApiURL + '/api/Invoice/MarkTicketsReadyToRaiseInvoice'\r\n return $http.put(url, ticketwithLineitemList, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n })\r\n }\r\n\r\n //https://product.mymobiforce.com/CoreAPI/api/TicketRemarkOnStatus/getTicketRemarkOnStatus?AtStatus=FollowUp\r\n this.GetReasonsByStatus = function (loggedinUser, token, status) {\r\n var url = ApiURL + '/api/TicketRemarkOnStatus/getTicketRemarkOnStatus?AtStatus=' + status;\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n // https://product.mymobiforce.com/coreapi/api/Ticket/ConvertToNewFromBroadcasted?PullBackReason=No%20Technician%20Found&MoveSPDbyTwoDays=true\r\n this.ConvertJobIntoNew = function (MoveSPDbyTwoDays, IsCommissionDetect, PullBackReason, loggedinUser, ticketId, token) {\r\n var url = ApiURL + '/api/Ticket/ConvertToNewFromBroadcasted?PullBackReason=' + PullBackReason + '&MoveSPDbyTwoDays=' + MoveSPDbyTwoDays + '&IsCommissionDetect=' + IsCommissionDetect;\r\n return $http.post(url, ticketId, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n //https://product.mymobiforce.com/coreapi/api/Ticket/UpdatePlannedClosureDate\r\n this.updatePlannedClosure = function (loggedinUser, data, token, success, failure) {\r\n $http.put(ApiURL + '/api/Ticket/UpdatePlannedClosureDate', data,\r\n { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if (res && res.status == 200 && res) {\r\n success(res.data);\r\n } else {\r\n failure(\"Failed\", res.data.Message);\r\n }\r\n }, function (err) {\r\n failure(\"Failed\", \"Unable to update job, server is not responding correctly.\");\r\n });\r\n }\r\n this.GetPullBacknReasons = function (loggedInUserId, token) {\r\n var url = '';\r\n url = ApiURL + '/api/TicketRemarkOnStatus/getTicketRemarkOnStatus?AtStatus=' + 'PullBack';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.ProcessJobToBeAssignedManually = function(ticketIDs, loggedInUserId, token){\r\n var url = ApiURL + '/api/BatchProcessing/ProcessJobToBeAssignedManually';\r\n return $http.post(url, ticketIDs, \r\n { \r\n headers: { 'Content-Type': 'application/json','Token':token, 'UserId': loggedInUserId} \r\n })\r\n }\r\n\r\n\r\n this.PullBackTicketFromTechnician = function (CancellationReasonsModel, loggedInUserId, token) {\r\n var url = ApiURL + '/api/Ticket/PullBackTicketFromTechnician';\r\n return $http.put(url, CancellationReasonsModel, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.MarkTicketsReadyToRaise = function (data,loggedInUserId, token) {\r\n var url = ApiURL + '/api/Invoice/MarkTicketsReadyToRaiseInvoiceInBulk'\r\n return $http.put(url, data, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedInUserId }\r\n })\r\n }\r\n\r\n\r\n\r\n});\r\n\nangular.module('inspinia').controller('CentralHDTicketsViewController', function ($state,MainService , ManualAssignationJobService, DashboardService, AllUsersListService, PaymentSectionService, CentralHDTicketsViewService, $rootScope, $http, $stateParams, UIURL, $q, $log, $localStorage, DTOptionsBuilder, ApiURL, DTColumnBuilder, ngProgressFactory, $uibModal, $scope, toaster, $filter, DTColumnDefBuilder, $window, $timeout, PublicApiURL, jobBidCreationService, ImageUrl) {\r\n var vm = this;\r\n\r\n var loggedInUserId = $localStorage.loggedInUserId;\r\n if (!loggedInUserId) {\r\n\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.accountConfig = $localStorage.accountConfig;\r\n vm.confirmTagModal = $scope.$parent.$parent.main.confirmTagModal;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.EnableRegion = vm.getAccountConfigSetting('EnableRegion');\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n vm.progressbar = ngProgressFactory.createInstance();\r\n var token = $localStorage.token;\r\n vm.Remarks = '';\r\n vm.selectedTemplates = '';\r\n vm.PaymentStatus = '';\r\n vm.SettlementStatus = '';\r\n vm.disableExceptionButton = false;\r\n vm.readyRaisedI = false;\r\n vm.enableFilters = true;\r\n vm.GroupType = \"\";\r\n vm.actionFlag = false;\r\n vm.editPermission = false;\r\n vm.ticketList = [];\r\n vm.statusList = [];\r\n vm.reasonsForFU = '';\r\n // vm.DateField=\"CreatedOn\";\r\n vm.DateField = vm.accountConfig.AccountId == 0 ? 'StatusChangedOn' : 'CreatedOn';\r\n vm.reasonsForHold = '';\r\n vm.primaryFollowUpReason = '';\r\n vm.primaryFollowUpRemark = '';\r\n vm.primaryHoldReason = '';\r\n vm.primaryHoldRemark = '';\r\n vm.convertNewReasons = '';\r\n vm.convertNewReasonsRemark = '';\r\n vm.MoveSPDbyTwoDays = false;\r\n // $scope.$parent.$parent.main.implementSelectItems('ticketList', this);\r\n vm.approvalRemark = '';\r\n vm.RejectionRemark = '';\r\n vm.searchText = \"\";\r\n vm.IsSearch = false;\r\n vm.IsCommissionDetect = false;\r\n vm.searchStatusText = \"\";\r\n //vm.searchLabText = \"\";\r\n vm.HDAllAccounts = [];\r\n vm.searchJobTypeText = \"\";\r\n vm.SearchByAccountName = \"\";\r\n vm.CustomerList = [];\r\n vm.ProjectList = [];\r\n vm.closureCode = \"\";\r\n vm.CancellationReasons = \"\";\r\n vm.SearchByIs = '';\r\n vm.SearchByDiscription = '';\r\n vm.SearchByTName = '';\r\n vm.SearchByTContact = '';\r\n vm.SearchByPName = '';\r\n vm.SearchByCName = '';\r\n vm.JobcountbyStatus = \"\";\r\n vm.InvoiceStatus = \"\";\r\n vm.previousPage = $localStorage.previousPage;\r\n vm.autoScheduleOn = $localStorage.accountConfig.IsAutoSchedulerOn;\r\n var approveModalInstance = {};\r\n var supervisorId = $localStorage.loggedInUserId;\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n vm.loggedInAs = $localStorage.loggedinAs;\r\n //$log.log(\"role\", vm.Role);\r\n vm.aproveMessage = 'Please Rate !';\r\n var itemNames = '';\r\n var itemValues = '';\r\n var templateItemNames = '';\r\n var templateItemValues = '';\r\n var textItemNames = '';\r\n var textItemValues = '';\r\n vm.ticketPageListCount = 10;\r\n var PageIndex = 1;\r\n var PageSize = 10;\r\n vm.IsSafetyAudit = 'Not Done';\r\n vm.ratingwarning = \"\";\r\n vm.ticketListLength = 0;\r\n vm.pageindexCount = 0;\r\n vm.SiteAuditFileName = \"\";\r\n vm.TicketDataToRaiseInvoiceList = [];\r\n vm.IsLoadSucessfull = false;\r\n vm.pullBackReasons = '';\r\n vm.pullBackReasonsRemark = '';\r\n vm.IsWithInDays = \"first\";\r\n vm.WithInDaysNumbers = [1, 2, 3, 4, 5];\r\n vm.PlannedClosureReason = \"\";\r\n vm.PlannedClosureDate = \"\";\r\n vm.bulkuploadType = \"Ticket\";\r\n var uPageIndex = 1;\r\n var uPageSize = 10;\r\n var fPageIndex = 1;\r\n var fPageSize = 10;\r\n $scope.isCollapsed = true;\r\n $localStorage.AllJobStatus = vm.searchStatusText;\r\n vm.UsersType = \"\";\r\n vm.uType = \"\";\r\n var uitemNames = \"\";\r\n var uitemValues = \"\";\r\n vm.searchUsersText = \"\";\r\n vm.jobsCount = '';\r\n vm.userPageListCount = 10;\r\n vm.financePageListCount = 10;\r\n vm.pageListCounts = [10, 20, 30, 50];\r\n vm.OrderBy = \"CreatedOn\";\r\n vm.sorttype = \"desc\";\r\n var startDate = moment().subtract(7, 'days').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.ticketdates = { startDate: moment().subtract(7, 'days'), endDate: moment() };\r\n vm.ticketranges = {\r\n 'Today': [moment(), moment()],\r\n // 'Yesterday': [moment().subtract(1, 'days'), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')]\r\n };\r\n vm.path = \"\";\r\n vm.path = $rootScope.rootScopeMessage;\r\n\r\n var scdt = new Date();\r\n scdt.setMinutes(scdt.getMinutes() + 30);\r\n vm.SourceCreationDate = scdt;\r\n var pcdt = new Date();\r\n pcdt.setDate(pcdt.getDate() + 7);\r\n vm.PlannedClosureDate = pcdt;\r\n\r\n vm.openCalendar = function (e, picker) {\r\n vm.ClosureDateTime.open = true;\r\n };\r\n var plannedclosuredatelimit = new Date();\r\n plannedclosuredatelimit.setMinutes(plannedclosuredatelimit.getMinutes() + 1)\r\n vm.ClosureDateTime = { date: '', datepickerOptions: { minDate: plannedclosuredatelimit } };\r\n\r\n if (vm.path == 'NewJobDetailsCopy') {\r\n\r\n vm.searchJobTypeText = $localStorage.AllJobType;\r\n vm.searchStatusText = $localStorage.AllJobStatus;\r\n var data = $localStorage.TicketFilterModel;\r\n\r\n if (data) {\r\n vm.SearchByPName = data.JobProject;\r\n vm.SearchByTName = data.JobTName;\r\n vm.SearchByDiscription = data.JobDesc;\r\n vm.SearchByIs = data.JobId;\r\n vm.searchJobTypeText = data.JobType;\r\n vm.searchStatusText = data.JobStatus;\r\n vm.DateField = data.JobDType;\r\n PageIndex = data.PageIndex;\r\n vm.ticketdates = { startDate: data.JobSDate, endDate: data.JobEDate };\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n if (vm.path == 'isTicketView') {\r\n var startDate = $localStorage.SDate;\r\n var endDate = $localStorage.EDate;\r\n vm.ticketdates = { startDate: startDate, endDate: endDate };\r\n } else {\r\n var startDate = $localStorage.SDate ? $localStorage.SDate : moment().subtract(7, 'days').format(\"YYYY-MM-DD\");\r\n var endDate = $localStorage.EDate ? $localStorage.EDate : moment().format(\"YYYY-MM-DD\");\r\n vm.ticketdates = { startDate: startDate, endDate: endDate };\r\n // $scope.dates = { startDate: moment().subtract(1, 'day'), endDate: moment() };\r\n }\r\n\r\n $scope.totalTableUsers = 0;\r\n $scope.usersTablePerPage = vm.ticketPageListCount; // this should match however many results your API puts on one page\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n\r\n vm.changeTicketPageListCount = function () {\r\n vm.GroupType = 'Individual|WorkOrderGroup';\r\n $scope.usersTablePerPage = vm.ticketPageListCount;\r\n PageSize = $scope.usersTablePerPage;\r\n $scope.TicketTablepageChanged($scope.UserTablepagination.current);\r\n vm.selectAll = false;\r\n }\r\n\r\n $scope.UserTablepagination.current = $localStorage.TicketFilterModel ? $localStorage.TicketFilterModel.PageIndex : 1;\r\n PageIndex = $scope.UserTablepagination.current;\r\n $scope.UserTablepageChanged = function (newPage) {\r\n if (itemNames == '') {\r\n vm.GroupType = 'Individual|Group|WorkOrderGroup'\r\n }\r\n PageIndex = newPage;\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n };\r\n\r\n\r\n vm.ResetFilter = function () {\r\n vm.searchStatusText = \"\";\r\n vm.searchLabText = \"\";\r\n vm.searchJobTypeText = \"\";\r\n vm.DateField = vm.accountConfig.AccountId == 0 ? 'StatusChangedOn' : 'CreatedOn';\r\n vm.SearchByIs = '';\r\n vm.SearchByDiscription = '';\r\n vm.SearchByTName = '';\r\n vm.SearchByTContact = '';\r\n vm.SearchByPName = '';\r\n vm.SearchByCName = '';\r\n vm.SearchByAccountName = '';\r\n vm.InvoiceStatus = '';\r\n vm.Priority = '';\r\n //vm.CustomerList = [];\r\n //vm.ProjectList = [];\r\n vm.GroupType = 'Individual|Group|WorkOrderGroup'\r\n vm.ProjectListByCustomer = [];\r\n PageIndex = 1;\r\n PageSize = 10;\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }\r\n vm.FilterArray = function () {\r\n\r\n itemNames = '';\r\n itemValues = '';\r\n templateItemNames = '';\r\n templateItemValues = '';\r\n if (vm.searchJobTypeText) {\r\n itemNames = 'Skill';\r\n itemValues = vm.searchJobTypeText.join(\"|\");\r\n }\r\n if (vm.searchStatusText && vm.searchStatusText != \"\") {\r\n if (itemNames.length > 0 && itemValues.length > 0) {\r\n itemNames = itemNames + ',Status';\r\n itemValues = itemValues + ',' + vm.searchStatusText.join(\"|\");\r\n } else {\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText.join(\"|\");\r\n }\r\n }\r\n if (vm.JobcountbyStatus) {\r\n itemNames = 'Status';\r\n itemValues = vm.JobcountbyStatus;\r\n }\r\n\r\n if (vm.GroupType) {\r\n if (itemNames) {\r\n itemNames = itemNames + ',GroupType';\r\n itemValues = itemValues + ',' + vm.GroupType;\r\n } else {\r\n itemNames = 'GroupType';\r\n itemValues = vm.GroupType;\r\n }\r\n }\r\n\r\n if (vm.InvoiceStatus) {\r\n if (itemNames) {\r\n itemNames = itemNames + ',InvoiceStatus';\r\n itemValues = itemValues + ',' + vm.InvoiceStatus;\r\n } else {\r\n itemNames = 'InvoiceStatus';\r\n itemValues = vm.InvoiceStatus;\r\n }\r\n }\r\n if (vm.Priority) {\r\n if (itemNames) {\r\n itemNames = itemNames + ',Priority';\r\n itemValues = itemValues + ',' + vm.Priority;\r\n } else {\r\n itemNames = 'Priority';\r\n itemValues = vm.Priority;\r\n }\r\n }\r\n\r\n if (vm.SearchByAccountName) {\r\n if (itemNames) {\r\n itemNames = itemNames + ',AccountName';\r\n itemValues = itemValues + \",\" + vm.SearchByAccountName.join('|');\r\n }\r\n else {\r\n itemNames = 'AccountName';\r\n itemValues = vm.SearchByAccountName.join('|');\r\n }\r\n }\r\n\r\n if (vm.SearchByCName) {\r\n if (itemNames.length > 0 && itemValues.length > 0) {\r\n itemNames = itemNames + ',CustomerName';\r\n itemValues = itemValues + ',' + vm.SearchByCName;\r\n } else {\r\n itemNames = 'CustomerName';\r\n itemValues = vm.SearchByCName;\r\n }\r\n if (itemNames.length > 0 && itemValues.length > 0) {\r\n itemNames = itemNames + ',ProjectName';\r\n itemValues = itemValues + ',' + vm.SearchByPName;\r\n } else {\r\n itemNames = 'ProjectName';\r\n itemValues = vm.SearchByPName;\r\n }\r\n }\r\n textItemNames = '';\r\n textItemValues = '';\r\n if (vm.SearchByIs) {\r\n if (textItemNames.length == 0 && textItemValues.length == 0) {\r\n textItemNames = 'CorelationValue';\r\n textItemValues = vm.SearchByIs;\r\n } else {\r\n textItemNames = textItemNames + ',CorelationValue';\r\n textItemValues = textItemValues + ',' + vm.SearchByIs;\r\n }\r\n\r\n }\r\n if (vm.SearchByDiscription) {\r\n if (textItemNames.length == 0 && textItemValues.length == 0) {\r\n textItemNames = 'JobDescription';\r\n textItemValues = vm.SearchByDiscription;\r\n } else {\r\n textItemNames = textItemNames + ',JobDescription';\r\n textItemValues = textItemValues + ',' + vm.SearchByDiscription;\r\n }\r\n }\r\n if (vm.SearchByTName) {\r\n if (textItemNames.length == 0 && textItemValues.length == 0) {\r\n textItemNames = 'UserName';\r\n textItemValues = vm.SearchByTName;\r\n } else {\r\n textItemNames = textItemNames + ',UserName';\r\n textItemValues = textItemValues + ',' + vm.SearchByTName;\r\n }\r\n }\r\n if (vm.SearchByTContact) {\r\n if (textItemNames.length == 0 && textItemValues.length == 0) {\r\n textItemNames = 'UserContact';\r\n textItemValues = vm.SearchByTContact;\r\n } else {\r\n textItemNames = textItemNames + ',UserContact';\r\n textItemValues = textItemValues + ',' + vm.SearchByTContact;\r\n }\r\n }\r\n if (vm.searchText) {\r\n itemNames = 'Search';\r\n itemValues = vm.searchText;\r\n templateItemNames = '';\r\n templateItemValues = '';\r\n textItemNames = '';\r\n textItemValues = '';\r\n }\r\n }\r\n\r\n vm.GetAllStates = function () {\r\n CentralHDTicketsViewService.getStates(supervisorId, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length > 0) {\r\n vm.states = resp.data;\r\n }\r\n }\r\n });\r\n }\r\n vm.GetAllStates();\r\n // No Need to change\r\n vm.CommonFunToGetAllJob = function () {\r\n vm.FilterArray();\r\n var templateCols = \"\";\r\n CentralHDTicketsViewService.downloadTicketsReports(supervisorId, startDate, endDate, itemNames, itemValues, templateCols);\r\n }\r\n vm.MailReport = function () {\r\n vm.FilterArray();\r\n var templateCols = \"\";\r\n vm.DateField = vm.DateField ? vm.DateField : \"CreatedOn\";\r\n // vm.DateField = vm.accountConfig.AccountId == 0 ? 'StatusChangedOn' : 'CreatedOn';\r\n CentralHDTicketsViewService.sendReportToMail(loggedInUserId, token, startDate, endDate, itemNames, itemValues, templateCols, vm.DateField).then(function (resp) {\r\n if (resp && resp.data) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n }\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }\r\n }, function () {\r\n });;\r\n }\r\n\r\n vm.getAttachment = function (ticketid) {\r\n vm.attachementInit = 0;\r\n vm.pdfTabClass = [];\r\n vm.activeTabClass = 'active-tab';\r\n vm.noactiveTabClass = 'noactive-tab';\r\n CentralHDTicketsViewService.getAttachment(supervisorId, token, ticketid).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.attachment = resp.data;\r\n }\r\n });\r\n }\r\n\r\n vm.callToTechnician = function () {\r\n DashboardService.callToTechnicianApi(loggedInUserId, vm.userId, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Call Initiated\")\r\n }\r\n else {\r\n vm.showFailure(\"Failure\", resp.data.Message)\r\n }\r\n\r\n\r\n }, function () {\r\n //$log.log('not working');\r\n })\r\n }\r\n\r\n vm.GetAllWorkOrderJob = function (isCollapsed, workOrder) {\r\n if (vm.workOrder == workOrder) {\r\n $scope.isCollapsed = !isCollapsed;\r\n }\r\n $scope.activeRow = workOrder;\r\n vm.workOrder = workOrder;\r\n vm.workOrdertList = [];\r\n if ($scope.isCollapsed)\r\n return;\r\n ManualAssignationJobService.GetAllWorkOrderJob(loggedInUserId, workOrder, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n if (resp.status == 200) {\r\n vm.workOrdertList = resp.data;\r\n }\r\n }\r\n });\r\n }\r\n\r\n vm.GetAllBundledJobs = function (isCollapsed, bundleId) {\r\n if (vm.bundleId == bundleId) {\r\n $scope.isCollapsed = !isCollapsed;\r\n }\r\n $scope.activeRow = bundleId;\r\n vm.bundleId = bundleId;\r\n vm.BundleTicketList = [];\r\n if ($scope.isCollapsed)\r\n return;\r\n ManualAssignationJobService.GetAllBundledJobs(loggedInUserId, vm.bundleId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.BundleTicketList = resp.data;\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n vm.viewReportPdf = function (init, index, file) {\r\n if (init == 1 && vm.attachementInit != 0)\r\n return;\r\n\r\n if (init == 1 && vm.attachementInit == 0) {\r\n for (var i = 0; i < vm.attachment.length; i++) {\r\n vm.pdfTabClass[i] = 'notactive-tab';\r\n }\r\n vm.pdfTabClass[index] = 'active-tab';\r\n }\r\n else if (init == 0) {\r\n for (var i = 0; i < vm.attachment.length; i++) {\r\n vm.pdfTabClass[i] = 'notactive-tab';\r\n }\r\n vm.pdfTabClass[index] = 'active-tab';\r\n }\r\n\r\n vm.attachementInit = 1;\r\n CentralHDTicketsViewService.viewReportPdf(supervisorId, token, file).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.fileLink = resp.data;\r\n\r\n }\r\n });\r\n }\r\n\r\n\r\n vm.pdfTabClass = [];\r\n vm.viewInvoicePdf = function (file) {\r\n vm.PDFView();\r\n CentralHDTicketsViewService.viewReportPdf(supervisorId, token, file).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.InvoiceData = resp.data;\r\n var arrrayBuffer = base64ToArrayBuffer(vm.InvoiceData);\r\n var blob = new Blob([arrrayBuffer], { type: \"application/pdf\" });\r\n vm.pdfimage = URL.createObjectURL(blob);\r\n vm.IsLoadSucessfull = true;\r\n\r\n // if(vm.fileLink){\r\n // vm.showInvoice = true;\r\n // }\r\n }\r\n });\r\n\r\n }\r\n\r\n vm.getAllAccounts = function () {\r\n CentralHDTicketsViewService.getAllAccounts(loggedInUserId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n if (resp.status == 200) {\r\n vm.HDAllAccounts = resp.data;\r\n\r\n }\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n vm.getAllAccounts();\r\n\r\n vm.Allapplyfilter = function () {\r\n vm.searchText = '';\r\n if (vm.GroupType == '') {\r\n vm.GroupType = 'Individual|Group|WorkOrderGroup';\r\n vm.ComboEnabled = false;\r\n vm.WorkOrderEnabled = false;\r\n }\r\n else if (vm.GroupType == 'Individual' || vm.GroupType == 'Group' || vm.GroupType == 'WorkOrderGroup') {\r\n vm.ComboEnabled = false;\r\n vm.WorkOrderEnabled = false;\r\n }\r\n else if (vm.GroupType == 'WorkOrder') {\r\n vm.ComboEnabled = false;\r\n vm.WorkOrderEnabled = true;\r\n }\r\n else if (vm.GroupType == 'Combo') {\r\n vm.ComboEnabled = true;\r\n vm.WorkOrderEnabled = false;\r\n }\r\n $scope.$broadcast('update.daterangepicker', { date: vm.ticketdates });\r\n $scope.UserTablepagination = {};\r\n vm.FilterArray();\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n\r\n }\r\n vm.getAllCustomer = function () {\r\n CentralHDTicketsViewService.getAllCustomers(supervisorId, token).then(function (resp) {\r\n vm.CustomerList = resp.data;\r\n })\r\n }\r\n vm.getAllProject = function () {\r\n CentralHDTicketsViewService.GetAllProjects(supervisorId, token).then(function (resp) {\r\n vm.ProjectList = resp.data;\r\n })\r\n }\r\n vm.getAllCustomer();\r\n vm.getAllProject();\r\n\r\n vm.GetCustomerByAccount = function () {\r\n var SelectedAccountId = '';\r\n angular.forEach(vm.HDAllAccounts, function (account) {\r\n if (account.AccountName == vm.SearchByAccountName) {\r\n SelectedAccountId = account.AccountId;\r\n }\r\n })\r\n CentralHDTicketsViewService.GetCustomersByAccount(loggedInUserId, SelectedAccountId, token).then(function (resp) {\r\n vm.CustomerList = resp.data;\r\n })\r\n }\r\n\r\n\r\n vm.GetAllFollowUpForJob = function (ticketId) {\r\n CentralHDTicketsViewService.GetAllFollowUpForJob(ticketId, loggedInUserId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.getfollowUpList = resp.data;\r\n // openHistoryModel = $uibModal.open({\r\n // templateUrl: 'openFollowUpModel.html',\r\n // size: 'lg',\r\n // scope: $scope\r\n // });\r\n }\r\n\r\n }, function () {\r\n });\r\n }\r\n\r\n vm.CloseHistoryModel = function () {\r\n openHistoryModel.close();\r\n }\r\n\r\n\r\n vm.getRejectHistory = function (ticketId) {\r\n CentralHDTicketsViewService.getRejectHistory(ticketId, loggedInUserId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.getDetailsList = resp.data;\r\n openHistoryModel = $uibModal.open({\r\n templateUrl: 'openHistoryModel.html',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n\r\n }, function () {\r\n\r\n });\r\n }\r\n\r\n vm.CloseHistoryModel = function () {\r\n openHistoryModel.close();\r\n }\r\n\r\n\r\n vm.ExternalUpload = function (teamid) {\r\n var newdata = {};\r\n newdata = {\r\n \"UserId\": teamid,\r\n \"Type\": \"\",\r\n \"skillName\": \"\"\r\n }\r\n AllUsersListService.UploadExternalVideoList(newdata, loggedInUserId, token).then(function (resp) {\r\n vm.UploadVideoExternal = resp.data;\r\n });\r\n }\r\n vm.GetProjectByCustomer = function () {\r\n vm.ProjectListByCustomer = [];\r\n angular.forEach(vm.CustomerList, function (customer) {\r\n if (customer.CompanyName == vm.SearchByCName) {\r\n vm.ProjectListByCustomer = customer.Projects;\r\n }\r\n })\r\n }\r\n vm.OpenAutoScheduleConfirmationModal = function () {\r\n vm.confirmationMessage = 'Do you want to auto schedule the jobs?';\r\n confirmationModalInstance = $uibModal.open({\r\n templateUrl: 'auto_schedule_confirmation_model.html',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.confirmationCloseModal = function () {\r\n confirmationModalInstance.close();\r\n }\r\n vm.AutoScheduleJobs = function () {\r\n CentralHDTicketsViewService.AutoBroadcastAllNewJobsManualMode(supervisorId, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 1000);\r\n confirmationModalInstance.close();\r\n vm.showSuccess(\"Success\", \"Jobs has been auto scheduled successfully\");\r\n }\r\n if (resp.status == 206) {\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n vm.OpenScheduleConfirmationModal = function () {\r\n var ticketIds = '';\r\n var count = 0;\r\n angular.forEach(vm.ticketList, function (d) {\r\n if (d.checked) {\r\n count = count + 1;\r\n if (ticketIds == '') {\r\n ticketIds = d.TicketId;\r\n }\r\n else {\r\n ticketIds = ticketIds + \",\" + d.TicketId;\r\n }\r\n }\r\n })\r\n\r\n vm.autoBroadcastJobIds = ticketIds;\r\n vm.confirmationMessage = 'Please confirm if you want to auto schedule ' + vm.autoBroadcastJobIds + ' Job?';\r\n // vm.confirmationMessage = 'Do you want to auto schedule the jobs?';\r\n confirmationModalInstance = $uibModal.open({\r\n templateUrl: 'autobrod_schedule_confirmation_model.html',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.AutoBrodScheduleJobs = function () {\r\n var data = {\r\n \"ticketIds\": vm.autoBroadcastJobIds\r\n }\r\n CentralHDTicketsViewService.BroadcastJobsManualMode(supervisorId, data, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n // vm.autoScheduleOn = false;\r\n scope.showAutoSchduleBtn = false;\r\n }, 1000);\r\n confirmationModalInstance.close();\r\n vm.showSuccess(\"Success\", \"Jobs has been auto scheduled successfully\");\r\n }\r\n if (resp.status == 206) {\r\n confirmationModalInstance.close();\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n }, function () {\r\n });\r\n }\r\n vm.SubmitFilter = function () {\r\n $scope.UserTablepagination = {};\r\n vm.searchText = '';\r\n var startDate = moment(vm.ticketdates.startDate).format('YYYY-MM-DD');\r\n var endDate = moment(vm.ticketdates.endDate).format('YYYY-MM-DD');\r\n vm.FilterArray();\r\n PageIndex = 1;\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n\r\n }\r\n vm.dateRangeChange = function (ev, picker) {\r\n vm.IsSearch = true;\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n vm.ticketdates = { startDate: startDate, endDate: endDate };\r\n };\r\n\r\n vm.outsidedateRangeChange = function (ev, picker) {\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n vm.DateField = vm.accountConfig.AccountId == 0 ? 'StatusChangedOn' : 'CreatedOn';\r\n vm.JobcountbyStatus = '';\r\n vm.InvoiceStatus = '';\r\n vm.Priority = '';\r\n if (vm.GroupType == '') {\r\n vm.GroupType = 'Individual|Group|WorkOrderGroup';\r\n }\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n\r\n };\r\n vm.getAllJobTicketsCopy = function (supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize) {\r\n vm.FilterArray();\r\n var templateCols = \"\";\r\n PageIndex = PageIndex ? PageIndex : 1;\r\n vm.DateField = vm.DateField ? vm.DateField : \"CreatedOn\";\r\n // vm.DateField= vm.accountConfig.AccountId == 0 ? vm.DateField : 'CreatedOn';\r\n CentralHDTicketsViewService.getAllJobTicketsCopy(supervisorId, startDate, endDate, token, itemNames, itemValues, textItemNames, textItemValues, templateCols, templateItemNames, templateItemValues, vm.DateField, PageIndex, PageSize).then(function (resp) {\r\n if (resp && resp.data) {\r\n // vm.ticketList = resp.data.LightTicketModels;\r\n $scope.totalTableUsers = resp.data.Count;\r\n $scope.totalTableBundles = resp.data.Count;\r\n vm.ApprovedJobCount = resp.data.ApprovedJobCount;\r\n vm.AssignJobCount = resp.data.AssignJobCount;\r\n vm.BroadcastJobCount = resp.data.BroadcastJobCount;\r\n vm.CancelJobCount = resp.data.CancelJobCount;\r\n vm.CompleteJobCount = resp.data.CompleteJobCount;\r\n vm.TotalJobCount = resp.data.TotalJobCount;\r\n vm.HoldJobCount = resp.data.HoldJobCount;\r\n vm.InTransitJobCount = resp.data.InTransitJobCount;\r\n vm.OnSiteJobCount = resp.data.OnSiteJobCount;\r\n vm.InProgressJobCount = resp.data.InProgressJobCount;\r\n vm.CancelCustomerVerified = resp.data.CancelCustomerVerified;\r\n vm.NewJobCount = resp.data.NewJobCount;\r\n vm.PriorityCount = resp.data.PriorityCount\r\n vm.ReadyToAssigJobCount = resp.data.ReadyToAssigJobCount;\r\n vm.RejectedJobCount = resp.data.RejectedJobCount;\r\n vm.ScheduleExceptionJobCount = resp.data.ScheduleExceptionJobCount;\r\n vm.AddressExceptionCount = resp.data.AddressExceptionCount;\r\n vm.PriceExceptionCount = resp.data.PriceExceptionCount;\r\n vm.ItemInventoryRaised = resp.data.ItemInventoryRaised;\r\n vm.ItemInventoryDelivered = resp.data.ItemInventoryDelivered;\r\n vm.InvoiceRaisedCount = resp.data.InvoiceRaisedCount;\r\n vm.InvoiceNotRaisedCount = resp.data.InvoiceNotRaisedCount;\r\n vm.BroadcastCountTickets = resp.data.BroadcastCountTickets;\r\n vm.EstimateShareCount = resp.data.EstimateShareCount;\r\n vm.EstimateApprovedCount = resp.data.EstimateApprovedCount;\r\n vm.EstimateRejectedCount = resp.data.EstimateRejectedCount\r\n vm.enableFilters = true;\r\n vm.actionFlag = false;\r\n // $localStorage.TList = vm.ticketList;\r\n // $localStorage.AllJobType = vm.searchJobTypeText;\r\n // $localStorage.AllJobStatus = vm.searchStatusText;\r\n // angular.forEach(vm.ticketList, function (t) {\r\n // t.StartTime = moment(t.StartTime, \"YYYY-MM-DDThh:mm:ssZ\");\r\n // t.StartTimeD = t.StartTime.format(\"DD/MM/YYYY LTS\");\r\n // })\r\n\r\n // if(vm.ticketList.length < 10)\r\n // vm.ticketListLength = $scope.totalTableUsers;\r\n // else\r\n // vm.ticketListLength = PageIndex * 10;\r\n // if(PageIndex==1)\r\n // vm.pageindexCount = 1;\r\n // else\r\n // vm.pageindexCount = (((PageIndex-1) * 10) + 1);\r\n\r\n // for(var i=0;i 0 ? ticketId.substring(0, ticketId.length - 1) : ticketId;\r\n\r\n if (action == 'Accepted') {\r\n vm.editPermission = true;\r\n vm.confirmTagModal(\"Do you want to accept selected ticket's?\", function () {\r\n $log.log('Accept CallBack Call');\r\n CentralHDTicketsViewService.ActionByVendor(loggedInUserId, ticketId, action, token).then(function (resp) {\r\n if (resp.status == 202) {\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 1000);\r\n vm.actionFlag = false;\r\n vm.showSuccess(\"Success\", \"Selected Jobs has been accepted successfully\");\r\n\r\n } else {\r\n vm.showFailure(\"Failed\", \"Server facing some technical issue, please try again later\");\r\n }\r\n })\r\n })\r\n } else {\r\n vm.editPermission = false;\r\n vm.confirmTagModal(\"Do you want to reject selected ticket's?\", function () {\r\n $log.log('Accept CallBack Call');\r\n CentralHDTicketsViewService.ActionByVendor(loggedInUserId, ticketId, action, token).then(function (resp) {\r\n if (resp.status == 202) {\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.actionFlag = false;\r\n }, 1000);\r\n vm.showSuccess(\"Success\", \"Selected Jobs has been rejected successfully\");\r\n\r\n } else {\r\n vm.showFailure(\"Failed\", \"Server facing some technical issue, please try again later\");\r\n }\r\n })\r\n })\r\n }\r\n }\r\n vm.enableFilters = true;\r\n\r\n vm.dtInstance = {};\r\n vm.searchTable = function () {\r\n vm.FilterArray();\r\n vm.ResetFilter();\r\n // vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n\r\n };\r\n\r\n if ($localStorage.backToTicketList == \"JobDetailView\") {\r\n $localStorage.backToTicketList = \"\";\r\n vm.searchStatusText = $localStorage.TicketFilterModel.JobStatus;\r\n vm.searchJobTypeText = $localStorage.TicketFilterModel.JobType;\r\n vm.SearchByIs = $localStorage.TicketFilterModel.JobId;\r\n vm.SearchByDiscription = $localStorage.TicketFilterModel.JobDesc;\r\n vm.SearchByTName = $localStorage.TicketFilterModel.JobTName;\r\n vm.SearchByCName = $localStorage.TicketFilterModel.JobCustomer;\r\n vm.SearchByPName = $localStorage.TicketFilterModel.JobProject;\r\n vm.DateField = $localStorage.TicketFilterModel.JobDType;\r\n PageIndex = $localStorage.TicketFilterModel.PageIndex;\r\n vm.JobcountbyStatus = $localStorage.TicketFilterModel.JobcountbyStatus;\r\n var itemNames = 'GroupType'\r\n var itemValues = 'Individual|Group|WorkOrderGroup'\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n $localStorage.backToTicketList = \"\";\r\n $localStorage.TicketFilterModel.PageIndex = 1;\r\n\r\n }\r\n else {\r\n if (typeof $localStorage.TicketFilterModel === \"undefined\" || $localStorage.TicketFilterModel == \"\" || typeof $localStorage.TicketFilterModel.PageIndex === \"undefined\")\r\n PageIndex = 1;\r\n $localStorage.TicketFilterModel = {};\r\n $localStorage.TicketFilterModel.PageIndex = 1;\r\n var itemNames = 'GroupType'\r\n var itemValues = 'Individual|Group|WorkOrderGroup'\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n var itemNames = 'GroupType'\r\n var itemValues = 'Individual|Group|WorkOrderGroup'\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n $localStorage.TicketFilterModel = {};\r\n }\r\n vm.closeSearchText = function () {\r\n if (vm.searchText != \"\") {\r\n vm.searchText = \"\";\r\n vm.ResetFilter();\r\n }\r\n }\r\n vm.ViewJob = function (ticket, GroupType) {\r\n $localStorage.backToOldJobList = '';\r\n $localStorage.SDate = startDate;\r\n $localStorage.EDate = endDate;\r\n $localStorage.previousPage = 'jobticketcopy';\r\n $localStorage.TicketFilterModel = {\r\n \"JobType\": vm.searchJobTypeText,\r\n \"JobStatus\": vm.searchStatusText,\r\n \"JobDType\": vm.DateField,\r\n \"JobSDate\": startDate,\r\n \"JobEDate\": endDate,\r\n \"JobId\": vm.SearchByIs,\r\n \"JobDesc\": vm.SearchByDiscription,\r\n \"JobTName\": vm.SearchByTName,\r\n \"JobCustomer\": vm.SearchByCName,\r\n \"JobProject\": vm.SearchByPName,\r\n \"PageIndex\": PageIndex,\r\n \"JobcountbyStatus\": vm.JobcountbyStatus\r\n\r\n };\r\n // vm.VerticalName == 'Telecom' || vm.VerticalName == 'IMS'\r\n if (GroupType == \"WorkOrder\" || GroupType == \"Combo\") {\r\n $state.go('index.JobDetailViewCombo', {\r\n ticketId: ticket\r\n });\r\n } else {\r\n $state.go('index.JobDetailView', {\r\n ticketId: ticket\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n }\r\n\r\n vm.state = {};\r\n var columns = [\r\n { 'name': 'field1', 'visible': true },//0\r\n { 'name': 'field1', 'visible': true },//1\r\n { 'name': 'field1', 'visible': true },//2\r\n { 'name': 'field1', 'visible': true },//3\r\n { 'name': 'field1', 'visible': true },//4\r\n { 'name': 'field1', 'visible': true },//5\r\n { 'name': 'field1', 'visible': true },//6\r\n { 'name': 'field1', 'visible': true },//7\r\n { 'name': 'field1', 'visible': true },//8\r\n { 'name': 'field1', 'visible': true },//9\r\n { 'name': 'field1', 'visible': true },//10\r\n { 'name': 'field1', 'visible': true },//11\r\n { 'name': 'field1', 'visible': true },//12\r\n { 'name': 'field1', 'visible': true },//13\r\n { 'name': 'field1', 'visible': true },//14\r\n { 'name': 'field1', 'visible': true },//15\r\n { 'name': 'field1', 'visible': true },//16\r\n { 'name': 'field1', 'visible': true },//17\r\n { 'name': 'field1', 'visible': true },//18\r\n { 'name': 'field1', 'visible': true },//19\r\n { 'name': 'field1', 'visible': true },//20\r\n { 'name': 'field1', 'visible': true },//21\r\n { 'name': 'field1', 'visible': true },//22\r\n { 'name': 'field1', 'visible': true },//23\r\n { 'name': 'field1', 'visible': true },//24\r\n { 'name': 'field1', 'visible': true },//25\r\n { 'name': 'field1', 'visible': true },//26\r\n { 'name': 'field1', 'visible': true },//27\r\n { 'name': 'field1', 'visible': true },//28\r\n { 'name': 'field1', 'visible': true },//29\r\n { 'name': 'field1', 'visible': true },//30\r\n { 'name': 'field1', 'visible': true },//31\r\n { 'name': 'field1', 'visible': true },//32\r\n { 'name': 'field1', 'visible': true },//33\r\n { 'name': 'field1', 'visible': true },//34\r\n { 'name': 'field1', 'visible': true },//35\r\n { 'name': 'field1', 'visible': true },//36\r\n { 'name': 'field1', 'visible': true },//37\r\n { 'name': 'field1', 'visible': true },//38\r\n { 'name': 'field1', 'visible': true },//39\r\n { 'name': 'field1', 'visible': true },//40\r\n { 'name': 'field1', 'visible': true },//41\r\n { 'name': 'field1', 'visible': true },//42\r\n { 'name': 'field1', 'visible': true },//43\r\n { 'name': 'field1', 'visible': true },//44\r\n { 'name': 'field1', 'visible': true },//45\r\n { 'name': 'field1', 'visible': true },//46\r\n { 'name': 'field1', 'visible': true },//47\r\n { 'name': 'field1', 'visible': true },//48\r\n { 'name': 'field1', 'visible': true },//49\r\n { 'name': 'field1', 'visible': true },//50\r\n { 'name': 'field1', 'visible': true },//51\r\n { 'name': 'field1', 'visible': true },//52\r\n { 'name': 'field1', 'visible': true },//53\r\n { 'name': 'field1', 'visible': true },//54\r\n { 'name': 'field1', 'visible': true },//55\r\n { 'name': 'field1', 'visible': true },//56\r\n { 'name': 'field1', 'visible': true },//57\r\n { 'name': 'field1', 'visible': true },//58\r\n { 'name': 'field1', 'visible': true },//59\r\n { 'name': 'field1', 'visible': true },//60\r\n { 'name': 'field1', 'visible': true },//61\r\n { 'name': 'field1', 'visible': true },//62\r\n { 'name': 'field1', 'visible': true },//63\r\n { 'name': 'field1', 'visible': true },//64\r\n { 'name': 'field1', 'visible': true },//65\r\n { 'name': 'field1', 'visible': true },//66\r\n { 'name': 'field1', 'visible': true },//67\r\n { 'name': 'field1', 'visible': true },//68\r\n { 'name': 'field1', 'visible': true },//69\r\n { 'name': 'field1', 'visible': true }//70\r\n ]\r\n\r\n vm.state.columns = columns;\r\n\r\n vm.dtOptions = DTOptionsBuilder.newOptions()\r\n .withPaginationType('full_numbers').withOption('lengthChange', false)\r\n .withOption('paging', false)\r\n .withOption('bInfo', false)\r\n .withOption('order', []);\r\n vm.dtColumnDefs = [];\r\n\r\n vm.buildColumnBuilder = function () {\r\n var tablecolumns = [];\r\n for (var index = 0; index < vm.state.columns.length; index++) {\r\n if (vm.state.columns[index].visible) {\r\n tablecolumns.push(DTColumnDefBuilder.newColumnDef(index).notSortable());\r\n }\r\n else {\r\n tablecolumns.push(DTColumnDefBuilder.newColumnDef(index).notSortable().notVisible())\r\n }\r\n }\r\n vm.dtColumnDefs = tablecolumns;\r\n }\r\n\r\n vm.buildColumnBuilder();\r\n\r\n vm.implementSelectItems = function (itemList, scope) {\r\n scope.selectAll = false;\r\n scope.showMinus = false;\r\n scope.showAutoSchduleBtn = false;\r\n scope.downloadFlag = false;\r\n scope.downloadtemplateBtn = false;\r\n vm.downloadOnsiteReportpdfBtn = false;\r\n scope.downloadReportBtn = false;\r\n scope.deleteFlag = false;\r\n scope.ReadyToRaiseInvoiceFlag = false;\r\n scope.PlannedClosureDateFlag = false;\r\n scope.selectRow = function (i) {\r\n //$log.log(\"selectRow called\");\r\n scope.showMinus = false;\r\n scope.selectAll = false;\r\n scope.showAutoSchduleBtn = false;\r\n scope.downloadFlag = false;\r\n scope.downloadtemplateBtn = false;\r\n vm.downloadOnsiteReportpdfBtn = false;\r\n scope.downloadReportBtn = false;\r\n scope.deleteFlag = false;\r\n scope.ReadyToRaiseInvoiceFlag = false;\r\n scope.PlannedClosureDateFlag = false;\r\n\r\n for (var j = 0; j < scope.ticketList.length; j++) {\r\n var tempTickets = scope.ticketList[j];\r\n vm.readyRaisedI = tempTickets.IsRaiseCustInvoiceOnCompletion;\r\n if (tempTickets.checked && (tempTickets.TicketStatus == 'Completed' || tempTickets.TicketStatus == 'Approved') && tempTickets.PreInvoiceStatus == '') {\r\n if (tempTickets.TicketStatus == 'Approved') {\r\n scope.ReadyToRaiseInvoiceFlag = true;\r\n scope.downloadFlag = true;\r\n scope.downloadtemplateBtn = true;\r\n vm.downloadOnsiteReportpdfBtn = true;\r\n scope.showMinus = true;\r\n }\r\n else {\r\n scope.showMinus = true;\r\n scope.downloadFlag = true;\r\n scope.downloadtemplateBtn = true;\r\n vm.downloadOnsiteReportpdfBtn = true;\r\n scope.downloadReportBtn = true;\r\n scope.ReadyToRaiseInvoiceFlag = false;\r\n }\r\n }\r\n // else if(tempTickets.checked && (tempTickets.TicketStatus == 'Completed' || tempTickets.TicketStatus == 'Approved') && tempTickets.IsOnSiteReportEnabled == true){\r\n // scope.showMinus = true;\r\n // vm.downloadOnsiteReportpdfBtn = true;\r\n // }\r\n\r\n else if (tempTickets.checked && tempTickets.TicketStatus == 'Completed' && tempTickets.PreInvoiceStatus != null && vm.readyRaisedI == true) {\r\n scope.ReadyToRaiseInvoiceFlag = false;\r\n scope.downloadFlag = true;\r\n scope.downloadtemplateBtn = true;\r\n }\r\n\r\n else if (tempTickets.checked && tempTickets.TicketStatus == 'Assigned') {\r\n scope.downloadFlag = true;\r\n scope.PlannedClosureDateFlag = true;\r\n }\r\n\r\n else if ((tempTickets.checked && tempTickets.TicketStatus == 'New') || (tempTickets.checked && tempTickets.TicketStatus == 'Broadcasted')) {\r\n scope.PlannedClosureDateFlag = true;\r\n }\r\n else if (tempTickets.checked) {\r\n scope.showMinus = true;\r\n scope.downloadFlag = false;\r\n scope.downloadReportBtn = false;\r\n scope.downloadtemplateBtn = false;\r\n vm.downloadOnsiteReportpdfBtn = false;\r\n // scope.ReadyToRaiseInvoiceFlag = false;\r\n\r\n }\r\n }\r\n\r\n for (var i = 0; i < scope.ticketList.length; i++) {\r\n var tempTickets = scope.ticketList[i];\r\n if (tempTickets.checked && (tempTickets.TicketStatus == 'New' && tempTickets.GroupType == 'Individual' && tempTickets.schduleMode != 'Auto')) {\r\n scope.showMinus = true;\r\n scope.showAutoSchduleBtn = true;\r\n scope.deleteFlag = true;\r\n }\r\n else if (tempTickets.checked) {\r\n scope.showMinus = true;\r\n scope.showAutoSchduleBtn = false;\r\n scope.deleteFlag = false;\r\n break;\r\n }\r\n }\r\n }\r\n scope.applyAllSelect = function () {\r\n angular.forEach(scope[itemList], function (d) {\r\n d.checked = scope.selectAll;\r\n });\r\n }\r\n }\r\n vm.implementSelectItems('ticketList', this);\r\n vm.OpenLabBookingModal = function (ticket) {\r\n vm.selectedTemplates = '';\r\n jobBidCreationService.getAllTemplateList(supervisorId, token, vm.getTemplateCallback);\r\n vm.ticketData = ticket;\r\n LabBookingModal = $uibModal.open({\r\n templateUrl: 'lab-booking-modal',\r\n scope: $scope\r\n })\r\n }\r\n vm.CloseLabBookingModal = function () {\r\n LabBookingModal.close();\r\n }\r\n var ModelInstanceOfMap = function ($rootScope, $scope, $uibModal) {\r\n vm.getCustomerJobCard();\r\n }\r\n var vm = this;\r\n vm.showSuccess = $scope.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.main.showFailure;\r\n vm.round2Decimal = $scope.$parent.main.round2Decimal;\r\n\r\n // vm.feedback = {};\r\n vm.customerJobCard = {};\r\n // var DefaultImage = UIURL+'/assets/images/patterns/Photo1.png';\r\n vm.makeUserMarker = function (position, icon, map) {\r\n var marker = new google.maps.Marker({\r\n position: position,\r\n map: map,\r\n icon: icon\r\n });\r\n\r\n //Adding InfoWindow to the Marker.\r\n (function (marker, customerJobCard) {\r\n google.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n $scope.InfoWindow.setContent(\"

\" + vm.name + \"

\" + ' ' + vm.contactnumber);\r\n $scope.InfoWindow.open($scope.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n $scope.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, vm.customerJobCard);\r\n\r\n //Plotting the Marker on the Map.\r\n $scope.Latlngbounds.extend(marker.position);\r\n\r\n }\r\n vm.makeJobMarker = function (position, icon, map) {\r\n var marker = new google.maps.Marker({\r\n position: position,\r\n map: map,\r\n icon: icon\r\n });\r\n\r\n //Adding InfoWindow to the Marker.\r\n (function (marker, customerJobCard) {\r\n google.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n $scope.InfoWindow.setContent(\"

\" + vm.customerJobCard.ConsumerName + \"

\" + ' ' + vm.customerJobCard.JobId + \"
\" + ' ' + moment(vm.customerJobCard.JobDateTime).format(\"YYYY-MM-DD HH:mm\") + \"
\" + ' ' + vm.customerJobCard.ConsumerContact);\r\n $scope.InfoWindow.open($scope.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n $scope.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, vm.customerJobCard);\r\n\r\n //Plotting the Marker on the Map.\r\n $scope.Latlngbounds.extend(marker.position);\r\n }\r\n //It is used for the distance also \r\n function initMap() {\r\n var pointA = new google.maps.LatLng(vm.JobLatitude, vm.JobLongitude),\r\n pointB = new google.maps.LatLng(vm.FELatitude, vm.FELongitude),\r\n // center = new google.maps.LatLng(51.3, 0.8),\r\n myOptions = {\r\n zoom: 8,\r\n zoomControl: false,\r\n scaleControl: true,\r\n mapTypeControl: false,\r\n streetViewControl: false,\r\n gestureHandling: 'greedy',\r\n // center: center,\r\n mapTypeId: google.maps.MapTypeId.ROADMAP\r\n },\r\n\r\n map = new google.maps.Map(document.getElementById('map-canvas'), myOptions),\r\n // Instantiate a directions service.\r\n directionsService = new google.maps.DirectionsService,\r\n directionsDisplay = new google.maps.DirectionsRenderer({\r\n map: map\r\n }),\r\n duration = document.getElementById('duration');\r\n distance = document.getElementById('distance');\r\n flightPath = new google.maps.Polyline({\r\n path: [pointA, pointB],\r\n // geodesic: true,\r\n strokeColor: 'red',\r\n });\r\n $scope.InfoWindow = new google.maps.InfoWindow();\r\n $scope.Latlngbounds = new google.maps.LatLngBounds();\r\n // click on marker B to get route from A to B\r\n calculateAndDisplayRoute(directionsService, directionsDisplay, pointA, pointB, distance, duration, map);\r\n var travelMode = \"DRIVING\";\r\n var icon = \"https://img.icons8.com/color/96/000000/street-view.png\";\r\n }\r\n function calculateAndDisplayRoute(directionsService, directionsDisplay, pointA, pointB, distance, duration, map) {\r\n var selectedMode = \"DRIVING\";\r\n directionsService.route({\r\n origin: pointA,\r\n destination: pointB,\r\n unitSystem: google.maps.UnitSystem.METRIC,\r\n travelMode: google.maps.TravelMode[selectedMode]\r\n }, function (response, status) {\r\n if (status == google.maps.DirectionsStatus.OK) {\r\n new google.maps.DirectionsRenderer({\r\n map: map,\r\n directions: response,\r\n suppressMarkers: true,\r\n polylineOptions: {\r\n strokeColor: \"#000000\"\r\n }\r\n });\r\n var leg = response.routes[0].legs[0];\r\n //outputTxt.innerHTML =(response.routes[0].legs[0].distance.value/1000) + \" Kms\";\r\n distance.innerHTML = response.routes[0].legs[0].distance.text;\r\n duration.innerHTML = response.routes[0].legs[0].duration.text;\r\n vm.distance = response.routes[0].legs[0].distance.value / 1000;\r\n vm.makeJobMarker(leg.start_location, icons.start, map);\r\n vm.makeUserMarker(leg.end_location, icons.end, map);\r\n } else {\r\n window.alert('Directions request failed due to ' + status);\r\n }\r\n });\r\n }\r\n\r\n var icons = {\r\n start: new google.maps.MarkerImage(\r\n // URL\r\n UIURL + '/assets/images/patterns/JOb_icon.png',\r\n // (width,height)\r\n new google.maps.Size(44, 32),\r\n // The origin point (x,y)\r\n new google.maps.Point(0, 0),\r\n // The anchor point (x,y)\r\n new google.maps.Point(22, 32)),\r\n end: new google.maps.MarkerImage(\r\n // URL\r\n UIURL + '/assets/images/patterns/delivery-man1.png',\r\n // (width,height)\r\n new google.maps.Size(44, 32),\r\n // The origin point (x,y)\r\n new google.maps.Point(0, 0),\r\n // The anchor point (x,y)\r\n new google.maps.Point(22, 32))\r\n };\r\n /* vm.getReadableDate = function(){\r\n var time = new moment(vm.customerJobCard.JobDateTime, \"YYYY-MM-DDThh:mm:ss\");\r\n return time.format(\"DD MMM YYYY\")+\" at \"+time.format(\"LTS\"); \r\n } */\r\n vm.getCustomerJobCard = function () {\r\n CentralHDTicketsViewService.getCustomerJobCardbyJobId(loggedInUserId, vm.trackingTicketId, token, function (data) {\r\n vm.JobLatitude = data.JobLatitude;\r\n vm.JobLongitude = data.JobLongitude;\r\n vm.FELatitude = data.FELatitude;\r\n vm.FELongitude = data.FELongitude;\r\n vm.contactnumber = data.FEContactNumber;\r\n vm.IsTrackingAllowed = data.IsTrackingAllowed;\r\n vm.jobtype = data.Description;\r\n vm.name = data.FEName;\r\n if (data.FEContactNumber) {\r\n vm.contactnumber = data.FEContactNumber.replace(/\\d(?=\\d{4})/g, '*');\r\n }\r\n // vm.mapMarkers=[];\r\n initMap();\r\n $log.log(\"res of getCustomerJobCard=\" + data);\r\n vm.customerJobCard = data;\r\n if (vm.customerJobCard.ConsumerContact) {\r\n vm.customerJobCard.ConsumerContact = vm.customerJobCard.ConsumerContact.replace(/\\d(?=\\d{4})/g, '*');\r\n }\r\n if ($localStorage.rateJobParams) {\r\n vm.customerJobCard.userRole = $localStorage.Role;\r\n vm.customerJobCard.JobStatus = $localStorage.rateJobParams.status;\r\n vm.customerJobCard.CustomerGivenRating = $localStorage.rateJobParams.rating;\r\n delete $localStorage.rateJobParams;\r\n }\r\n if (data && data.JobStatus == 'PaymentDone') {\r\n\r\n }\r\n }, function () {\r\n vm.showFailure(\"Failed\", \"Unable to reach server\");\r\n });\r\n }\r\n //}\r\n vm.TicketBreachValueconver = function (TicketBreachValue) {\r\n var TicketBreachValueInString = \"\";\r\n if (TicketBreachValue == 0)\r\n TicketBreachValueInString = \"Not Breached\";\r\n if (TicketBreachValue == 1)\r\n TicketBreachValueInString = \"Breached\";\r\n\r\n return TicketBreachValueInString;\r\n }\r\n vm.OpenTracking = function (ticket) {\r\n vm.trackingTicketId = ticket;\r\n Tracking = $uibModal.open({\r\n templateUrl: 'Tracking.html',\r\n size: 'lg',\r\n scope: $scope,\r\n controller: ModelInstanceOfMap\r\n })\r\n }\r\n vm.CloseTracking = function () {\r\n Tracking.close();\r\n }\r\n\r\n vm.getTemplateCallback = function (templates) {\r\n vm.templateListData = templates;\r\n vm.templateList = [];\r\n angular.forEach(vm.templateListData, function (d) {\r\n if (d.Skill != 'Water Sample Collection') {\r\n vm.templateList.push(d);\r\n }\r\n })\r\n }\r\n vm.OpenApproveModal = function (currentJOb) {\r\n vm.CurrentJob = currentJOb;\r\n vm.RatingOfTicket = '';\r\n if (vm.CurrentJob.IsLineItemAvailable == true && vm.CurrentJob.IsDynamicPriceApproved == false) {\r\n vm.aproveMessage = 'Please approve dynamic pricing line item under the ticket details section!';\r\n approveModalInstance = $uibModal.open({\r\n templateUrl: 'dynamic_price_approved_model.html',\r\n scope: $scope\r\n });\r\n }\r\n else {\r\n vm.aproveMessage = 'Please Rate !';\r\n approveModalInstance = $uibModal.open({\r\n templateUrl: 'approve_model.html',\r\n scope: $scope\r\n });\r\n }\r\n }\r\n\r\n vm.CloseModal = function () {\r\n approveModalInstance.close();\r\n }\r\n\r\n vm.OpenRescheduleAuditModal = function (currentAuditJOb) {\r\n vm.CurrentAuditJob = currentAuditJOb;\r\n vm.RatingOfTicket = '';\r\n vm.RescheduleAuditTicketId = vm.CurrentAuditJob.TicketId;\r\n vm.AuditPrimaryReason = vm.CurrentAuditJob.PrimaryReason;\r\n rescheduleAuditModalInstance = $uibModal.open({\r\n templateUrl: 'reschedule_audit_model.html',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.RescheduleAuditCloseModal = function () {\r\n rescheduleAuditModalInstance.close();\r\n }\r\n\r\n vm.JobRescheduleAudit = function () {\r\n\r\n var data = {\r\n \"TicketId\": vm.RescheduleAuditTicketId,\r\n \"AuditValue\": vm.RescheduleAuditModel,\r\n \"IsApplicableForAutoPayment\": vm.IsApplicableForAutoPayment\r\n }\r\n rescheduleAuditModalInstance.close();\r\n CentralHDTicketsViewService.TBCCancelationAudit(data, loggedInUserId, token).then(function (res) {\r\n // CentralHDTicketsViewService.TBCCancelationAudit(vm.RescheduleAuditModel,vm.RescheduleAuditTicketId,loggedInUserId,token).then(function(res){\r\n if (res && res.status == 200) {\r\n vm.showSuccess(\"Success\", \"Job cancelation audit successfully done.\");\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 1000);\r\n }\r\n });\r\n }\r\n\r\n\r\n vm.OpenSettlementModal = function (currentJOb) {\r\n vm.CurrentJob = currentJOb;\r\n vm.PaymentStatus = '';\r\n vm.Remarks = '';\r\n\r\n settlementModalInstance = $uibModal.open({\r\n templateUrl: 'settlement_model.html',\r\n scope: $scope\r\n });\r\n\r\n }\r\n\r\n vm.SettlementCloseModal = function () {\r\n settlementModalInstance.close();\r\n }\r\n\r\n vm.settlemenTicket = function (status, ticketId, remarks, userId) {\r\n settlementModalInstance.close();\r\n var settlementData = {};\r\n settlementData.PaymentStatus = status;\r\n settlementData.ReqUserId = loggedInUserId;\r\n settlementData.TicketId = ticketId;\r\n settlementData.Remarks = remarks;\r\n settlementData.FEId = userId;\r\n settlementData.Status = \"Done\";\r\n // $log.log('settlementData', settlementData);\r\n CentralHDTicketsViewService.updateTicketSettlement(settlementData, token, loggedInUserId, function (res) {\r\n\r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job settlement successfully done.\")\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to settlement payment. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n\r\n }\r\n\r\n\r\n vm.DeleteTicket = function () {\r\n var ticketId = [];\r\n angular.forEach(vm.ticketList, function (t) {\r\n if (t.checked) {\r\n ticketId.push(t.TicketId);\r\n }\r\n })\r\n // ticketId = ticketId.length > 0 ? ticketId.substring(0, ticketId.length - 1) : ticketId;\r\n\r\n if (ticketId != null && ticketId.length == 1) {\r\n CentralHDTicketsViewService.DeleteTickets(loggedInUserId, ticketId, token).then(function (resp) {\r\n vm.showAutoSchduleBtn = false;\r\n vm.downloadFlag = false;\r\n vm.downloadReportBtn = false;\r\n vm.downloadtemplateBtn = false;\r\n vm.downloadOnsiteReportpdfBtn = false;\r\n vm.deleteFlag = false;\r\n\r\n if (resp && resp.status == 202) {\r\n vm.showSuccess(\"Deleted\", resp.data);\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 1000);\r\n } else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n\r\n })\r\n } else {\r\n vm.showFailure(\"Failed\", \"You can delete only one ticket at a time.\");\r\n }\r\n }\r\n\r\n\r\n vm.AutoSchedule = function () {\r\n var ticketId = [];\r\n angular.forEach(vm.ticketList, function (t) {\r\n if (t.checked) {\r\n ticketId.push(t.TicketId);\r\n }\r\n })\r\n\r\n if (ticketId != null) {\r\n CentralHDTicketsViewService.SetTicketExecutionMode(loggedInUserId, \"Auto\", ticketId, token).then(function (resp) {\r\n vm.showAutoSchduleBtn = false;\r\n vm.downloadFlag = false;\r\n vm.downloadtemplateBtn = false;\r\n vm.downloadOnsiteReportpdfBtn = false;\r\n vm.downloadReportBtn = false;\r\n vm.deleteFlag = false;\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Scheduled Tickets\", resp.data.toString());\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 1000);\r\n } else {\r\n vm.showFailure(\"Failed to schedule tickets\", resp.data.toString());\r\n }\r\n })\r\n }\r\n }\r\n\r\n vm.OpenFollowUpModel = function (ticketId) {\r\n vm.followup = '';\r\n vm.tickId = ticketId;\r\n FollowUpModel = $uibModal.open({\r\n templateUrl: 'FollowupJob.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n size: \"lg\",\r\n controller: ModalInstanceCtrlFollowUp,\r\n });\r\n }\r\n\r\n vm.CloseFollowUpModel = function () {\r\n vm.primaryFollowUpReason = '';\r\n vm.primaryFollowUpRemark = '';\r\n vm.primaryHoldReason = '';\r\n vm.primaryHoldRemark = '';\r\n vm.followFiles = null;\r\n FollowUpModel.close();\r\n }\r\n\r\n vm.RejectJobModel = function (currentJOb) {\r\n vm.CurrentJob = currentJOb;\r\n RejectJobModel = $uibModal.open({\r\n templateUrl: 'Rejectjob.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n\r\n vm.ConvertToNewJob = function (currentJOb) {\r\n vm.CurrentJob = currentJOb;\r\n var data = {\r\n \"ReqUserId\": loggedInUserId,\r\n \"TicketId\": vm.CurrentJob.TicketId,\r\n \"Status\": \"New\"\r\n };\r\n CentralHDTicketsViewService.ConvertToNewJob(data, token, loggedInUserId, function (res) {\r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job converted successfully.\")\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to convert job. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.CloseRejectModel = function () {\r\n RejectJobModel.close();\r\n }\r\n\r\n $scope.attachmentForFollowUp = function (files) {\r\n var file = files.files[0];\r\n vm.followFiles = files.files;\r\n var allowedExtensions = /(\\.jpg|\\.jpeg|\\.png|\\.msg|\\.pdf|\\.bmp|\\.xps)$/i;\r\n if (!allowedExtensions.exec(file.name)) {\r\n vm.followFiles = [];\r\n vm.clear();\r\n alert('Please upload file having extensions .pdf,.jpg,.jpeg,.png,.msg,.bmp,xps only.');\r\n }\r\n }\r\n\r\n vm.clear = function () {\r\n angular.element(\"input[type='file']\").val(null);\r\n };\r\n\r\n vm.DocEdit = function (index) {\r\n vm.followFiles = null;\r\n }\r\n\r\n vm.GetFollowupReasons = function () {\r\n CentralHDTicketsViewService.GetReasonsByStatus(loggedInUserId, token, 'FollowUp').then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.reasonsForFU = resp.data;\r\n }\r\n });\r\n }\r\n vm.GetFollowupReasons();\r\n\r\n vm.GetHoldReasons = function () {\r\n CentralHDTicketsViewService.GetReasonsByStatus(loggedInUserId, token, 'Hold').then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.reasonsForHold = resp.data;\r\n }\r\n });\r\n }\r\n vm.GetHoldReasons();\r\n\r\n\r\n var ModalInstanceCtrlFollowUp = function ($scope, $rootScope, $uibModalInstance) {\r\n vm.updateFollowUpStatus = function () {\r\n var data = {};\r\n data = {\r\n \"userId\": loggedInUserId,\r\n \"dateTime\": \"\",\r\n \"activity\": \"\",\r\n \"action\": \"FOLLOW_UP\",\r\n \"userName\": \"\",\r\n \"ticketId\": vm.tickId,\r\n \"primaryReason\": vm.primaryFollowUpReason,\r\n \"SecondryReason\": \"\",\r\n \"ReasonComment\": vm.primaryFollowUpRemark\r\n }\r\n if (vm.followFiles != null) {\r\n CentralHDTicketsViewService.TicketFollowUp(data, vm.followFiles, token, loggedInUserId, function (res) {\r\n if (res && res.status == 201) {\r\n vm.showSuccess(\"Success\", \"Follow up done successfully.\");\r\n $timeout(function () {\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.CloseFollowUpModel();\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to create follow up. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n }\r\n else {\r\n CentralHDTicketsViewService.TicketFollowUpWithoutDoc(data, token, loggedInUserId, function (res) {\r\n if (res) {\r\n vm.showSuccess(\"Success\", \"Follow up done successfully.\");\r\n $timeout(function () {\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 1000);\r\n }\r\n vm.CloseFollowUpModel();\r\n });\r\n }\r\n }\r\n }\r\n\r\n vm.OpenHoldUpModel = function (ticketId, holdstatus) {\r\n if (holdstatus == 'Unhold') {\r\n vm.UpdateHoldingStatus(ticketId, holdstatus);\r\n }\r\n else {\r\n vm.tickId = ticketId;\r\n $scope.holdstatus = holdstatus;\r\n FollowUpModel = $uibModal.open({\r\n templateUrl: 'HoldJob.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n controller: ModalInstanceCtrlFollowUp,\r\n });\r\n }\r\n }\r\n\r\n vm.UpdateHoldReason = \"Update\";\r\n vm.UpdateHoldingStatus = function (ticketId, holdingStatus) {\r\n if (vm.primaryHoldReason != null) {\r\n vm.enable1 = \"false\";\r\n vm.UpdateHoldReason = \"Updating...\";\r\n };\r\n CentralHDTicketsViewService.UpdateHoldingStatus(loggedInUserId, ticketId, holdingStatus, vm.primaryHoldReason, vm.primaryHoldRemark, token).then(function (resp) {\r\n if (resp.status == 202) {\r\n vm.showSuccess('Job Hold/Unhold Status', 'Job has been updated successfully');\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.enable1 = \"true\";\r\n vm.UpdateHoldReason = \"Update\";\r\n }, 1000);\r\n vm.CloseFollowUpModel();\r\n }\r\n else if (resp.status == 206) {\r\n vm.showFailure('Failed', resp.data.Message);\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.enable1 = \"true\";\r\n vm.UpdateHoldReason = \"Update\";\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 1000);\r\n vm.CloseFollowUpModel();\r\n } else {\r\n vm.showFailure('Job Hold/Unhold Status', 'Unable to update job, server is not responding correctly.');\r\n }\r\n }, function (err) {\r\n vm.showFailure('Job Hold/Unhold Status', 'Unable to update job, server is not responding correctly.');\r\n })\r\n }\r\n vm.ApproveJob = function () {\r\n if (vm.RatingOfTicket) {\r\n var jobwinrate = 0.0;\r\n if (vm.Winrate == null || vm.Winrate == 0 || vm.Winrate == '')\r\n jobwinrate = 0.0;\r\n else\r\n jobwinrate = vm.Winrate;\r\n\r\n approveModalInstance.close();\r\n var data = {\r\n \"ReqUserId\": loggedInUserId,\r\n \"TicketId\": vm.CurrentJob.TicketId,\r\n \"Status\": \"Approved\",\r\n \"JobWinRate\": parseFloat(jobwinrate.toFixed(2)),\r\n \"TechnicianRating\": vm.RatingOfTicket.toString(),\r\n \"ApprovalRemark\": vm.approvalRemark.toString(),\r\n \"IsSafetyAudit\": vm.IsSafetyAudit\r\n };\r\n CentralHDTicketsViewService.ApproveJob(data, token, loggedInUserId, function (res) {\r\n if (res && res.data == \"Please enter atleast one Line Item to Approve this job \") {\r\n vm.showFailure(\"Success\", \"Please enter atleast one Line Item to Approve this job.\")\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 1000);\r\n }\r\n else if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job approved successfully.\")\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to approve job. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n } else {\r\n vm.ratingwarning = \"Please rate the technician.\";\r\n //approveModalInstance.close();\r\n }\r\n }\r\n vm.AcceptJob = function (currentJOb) {\r\n vm.CurrentJob = currentJOb;\r\n var data = {\r\n \"ReqUserId\": loggedInUserId,\r\n \"TicketId\": vm.CurrentJob.TicketId,\r\n \"Status\": \"Accepted\"\r\n };\r\n CentralHDTicketsViewService.AcceptJob(data, token, loggedInUserId, function (res) {\r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job accepted successfully.\")\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to accept job. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.reAssignJob = function (currentJOb) {\r\n vm.CurrentJob = currentJOb;\r\n var data = {\r\n \"ReqUserId\": loggedInUserId,\r\n \"TicketId\": vm.CurrentJob.TicketId,\r\n \"Status\": \"Assigned\"\r\n };\r\n CentralHDTicketsViewService.AcceptJob(data, token, loggedInUserId, function (res) {\r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job reassigned successfully.\")\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to reassign job. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n\r\n }\r\n\r\n vm.cloneTicket = function (currentJOb) {\r\n vm.CurrentJob = currentJOb;\r\n if (vm.VerticalName == 'Telecom') {\r\n $state.go('index.JobBidCreation', {\r\n cloneticketid: vm.CurrentJob.TicketId\r\n },\r\n {\r\n reload: true,\r\n inherit: false,\r\n notify: true\r\n });\r\n }\r\n else {\r\n $state.go('index.NewJobCreation', {\r\n },\r\n {\r\n reload: true,\r\n inherit: false,\r\n notify: true\r\n });\r\n\r\n }\r\n }\r\n\r\n vm.RejectJob = function () {\r\n if (!vm.RejectionRemark) {\r\n vm.showFailure(\"Failed\", \"Please comment on rejection.\");\r\n return;\r\n }\r\n RejectJobModel.close();\r\n var data = {\r\n \"ReqUserId\": loggedInUserId,\r\n \"TicketId\": vm.CurrentJob.TicketId,\r\n \"Status\": \"Rejected\",\r\n \"RejectionRemark\": vm.RejectionRemark.toString()\r\n };\r\n CentralHDTicketsViewService.RejectJob(data, token, loggedInUserId, function (res) {\r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job rejected successfully.\")\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to approve job. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n\r\n }\r\n\r\n vm.PullBackTicket = function (ticketId) {\r\n CentralHDTicketsViewService.PullBackTicket(loggedInUserId, ticketId, token).then(function (resp) {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n })\r\n }\r\n\r\n\r\n vm.downloadReport = function (ticketId, templateName) {\r\n if (templateName == 'Water Testing') {\r\n var urlWithFeasible = PublicApiURL + '/api/Report/' + ticketId + '/DownloadReportByTemplateName?reqUserId=' + $localStorage.loggedInUserId;\r\n $window.open(urlWithFeasible, '_blank')\r\n } else {\r\n var urlForNonFeasible = PublicApiURL + '/api/Report/' + ticketId + '/Report?reqUserId=' + $localStorage.loggedInUserId;\r\n $window.open(urlForNonFeasible, '_blank')\r\n }\r\n }\r\n\r\n vm.DownloadReportByTemplateName = function () {\r\n var ticket = '';\r\n for (var i = 0; i < vm.ticketList.length; i++) {\r\n if (vm.ticketList[i].checked) {\r\n if (!ticket) {\r\n ticket = vm.ticketList[i].TicketId;\r\n } else {\r\n ticket = ticket + ',' + vm.ticketList[i].TicketId;\r\n }\r\n }\r\n }\r\n if (ticket) {\r\n CentralHDTicketsViewService.downloadReportTemplate(loggedInUserId, ticket);\r\n }\r\n else {\r\n vm.showFailure(\"Failed to download report\");\r\n }\r\n vm.showSuccess('Success', 'You have successfully downloaded report');\r\n vm.showAutoSchduleBtn = false;\r\n vm.downloadFlag = false;\r\n vm.downloadtemplateBtn = false;\r\n vm.downloadOnsiteReportpdfBtn = false;\r\n vm.downloadReportBtn = false;\r\n vm.deleteFlag = false;\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }\r\n\r\n vm.downloadPAVReportPDF = function (ticketId, OnSiteReport) {\r\n if (OnSiteReport != null) {\r\n var urlWithFeasible = PublicApiURL + '/api/Report/GeneratePdfOnSiteReportForMultipleTickets?TicketIds=' + ticketId;\r\n $window.open(urlWithFeasible, '_blank')\r\n } \r\n }\r\n\r\n //download PDF \r\n vm.downloadReportPDF = function (ticketId, OnSiteReport) {\r\n // if (OnSiteReport != null) {\r\n // var urlWithFeasible = PublicApiURL + '/api/Report/GeneratePdfOnSiteReportForMultipleTickets?TicketIds=' + ticketId;\r\n // $window.open(urlWithFeasible, '_blank')\r\n // } else {\r\n // var urlForNonFeasible = ApiURL + '/api/Report/GeneratePdfOnSiteReport?TicketIds=' + ticketId;\r\n // $window.open(urlForNonFeasible, '_blank')\r\n vm.downloadOnSiteReport(ticketId);\r\n // }\r\n }\r\n\r\n\r\n vm.pdfimage = \"\";\r\n vm.DocumentAvailableMessage = \"\";\r\n vm.downloadOnSiteReport = function (ticketId) {\r\n vm.PDFView();\r\n\r\n // var PreviewConsolidatedInvoiceList = previewSelectedObj;\r\n CentralHDTicketsViewService.downloadOnSiteReport(loggedInUserId, token, ticketId).then(function (resp) {\r\n // var responseDataList=[];\r\n vm.responseDataList = resp.data;\r\n // for(var i=0; i 0 ? ticketId.substring(0, ticketId.length - 1) : ticketId;\r\n CentralHDTicketsViewService.downloadMultipleReports(loggedInUserId, ticketId, reportMapperId, correlated);\r\n vm.showAutoSchduleBtn = false;\r\n vm.downloadFlag = false;\r\n vm.downloadtemplateBtn = false;\r\n vm.downloadOnsiteReportpdfBtn = false;\r\n vm.downloadReportBtn = false;\r\n vm.deleteFlag = false;\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }\r\n\r\n\r\n // vm.sendMailPdfMultiOnSiteReport = function () {\r\n // var ticketId = \"\";\r\n // angular.forEach(vm.ticketList, function (t) {\r\n // if (t.checked) {\r\n // ticketId += t.TicketId + \",\";\r\n // }\r\n // })\r\n // ticketId = ticketId.length > 0 ? ticketId.substring(0, ticketId.length - 1) : ticketId;\r\n // if(ticketId){\r\n // CentralHDTicketsViewService.SendPdfOnSiteReportForMultipleTicketsOnMail(ticketId,loggedInUserId,token);\r\n // vm.showSuccess(\"Success\",\"Report mailed to registered email id\");\r\n // }\r\n // else{\r\n // vm.showFailure(\"Failed\", \"Failed to send report\");\r\n // }\r\n // vm.showAutoSchduleBtn = false;\r\n // vm.downloadFlag = false;\r\n // vm.downloadtemplateBtn = false;\r\n // vm.downloadOnsiteReportpdfBtn = false;\r\n // vm.downloadReportBtn = false;\r\n // vm.deleteFlag = false;\r\n // vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n // vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n // }\r\n\r\n // vm.downloadPdfMultipleOnSiteReport = function () {\r\n // var ticketId = \"\";\r\n // angular.forEach(vm.ticketList, function (t) {\r\n // if (t.checked) {\r\n // ticketId += t.TicketId + \",\";\r\n // }\r\n // })\r\n // ticketId = ticketId.length > 0 ? ticketId.substring(0, ticketId.length - 1) : ticketId;\r\n // if(ticketId){\r\n // CentralHDTicketsViewService.GeneratePdfOnSiteReportForMultipleTickets(ticketId,loggedInUserId,token).then(function (resp) {\r\n // if (resp && resp.data) {\r\n // $window.open(resp.config.url, '_blank');\r\n // vm.showSuccess(\"Success\",\"Report mailed to registered email id\");\r\n // }\r\n // else{\r\n // vm.showFailure(\"Failed\", \"Failed to send report\");\r\n // }\r\n // vm.showAutoSchduleBtn = false;\r\n // vm.downloadFlag = false;\r\n // vm.downloadtemplateBtn = false;\r\n // vm.downloadOnsiteReportpdfBtn = false;\r\n // vm.downloadReportBtn = false;\r\n // vm.deleteFlag = false;\r\n // vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n // vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n // })\r\n\r\n // } \r\n // }\r\n\r\n vm.downloadInvoiceReport = function () {\r\n var ticketId = \"\";\r\n var correlated = $localStorage.accountConfig.CorrelatedReports;\r\n // var reportMapperId = $localStorage.accountConfig.ReportMapperId;\r\n angular.forEach(vm.ticketList, function (t) {\r\n if (t.checked) {\r\n ticketId += t.TicketId + \",\";\r\n }\r\n })\r\n ticketId = ticketId.length > 0 ? ticketId.substring(0, ticketId.length - 1) : ticketId;\r\n CentralHDTicketsViewService.downloadInvoice(loggedInUserId, ticketId, correlated);\r\n }\r\n\r\n vm.DownloadPDFReportZip = function () {\r\n var ticketId = \"\";\r\n angular.forEach(vm.ticketList, function (t) {\r\n if (t.checked) {\r\n ticketId += t.TicketId + \",\";\r\n }\r\n })\r\n ticketId = ticketId.length > 0 ? ticketId.substring(0, ticketId.length - 1) : ticketId;\r\n CentralHDTicketsViewService.DownloadPDFReportZip(ticketId);\r\n vm.showAutoSchduleBtn = false;\r\n vm.downloadFlag = false;\r\n vm.downloadtemplateBtn = false;\r\n vm.downloadOnsiteReportpdfBtn = false;\r\n vm.downloadReportBtn = false;\r\n vm.deleteFlag = false;\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }\r\n\r\n vm.showMultipleDownloadButton = function () {\r\n var ticketSelected = false;\r\n var IsReportMapper = false;\r\n vm.invoiceFlag = false;\r\n vm.deleteFlag = false;\r\n vm.actionFlag = false;\r\n var actionFlagList = [];\r\n var deleteFlagList = [];\r\n angular.forEach(vm.ticketList, function (t) {\r\n ticketSelected = ticketSelected || t.checked;\r\n if (t.checked) {\r\n if (t.reportMapperId) {\r\n IsReportMapper = true;\r\n }\r\n else {\r\n IsReportMapper = false;\r\n }\r\n }\r\n if (vm.Role == 'Vendor Manager') {\r\n if (t.checked && t.SkillSet == 'Water Lab Test' && t.TicketStatus == 'Completed') {\r\n vm.invoiceFlag = true;\r\n } else if (t.checked && t.AcceptDate != null) {\r\n actionFlagList.push(false);\r\n } else if (t.checked && t.AcceptDate == null && t.TicketStatus == 'Rejected') {\r\n actionFlagList.push(false);\r\n } else if (t.checked && t.AcceptDate == null && t.TicketStatus == 'Assigned') {\r\n actionFlagList.push(true);\r\n }\r\n } else {\r\n if (t.checked && t.SkillSet == 'Water Lab Test' && t.TicketStatus == 'Completed') {\r\n vm.invoiceFlag = true;\r\n } else if (t.checked && t.TicketStatus == 'New') {\r\n deleteFlagList.push(true);\r\n // vm.deleteFlag = true;\r\n } else if (t.checked && t.TicketStatus != 'New') {\r\n // vm.deleteFlag = false;\r\n deleteFlagList.push(false);\r\n }\r\n }\r\n })\r\n if (deleteFlagList.includes(false)) {\r\n vm.deleteFlag = false;\r\n } else if (deleteFlagList.includes(true)) {\r\n vm.deleteFlag = true;\r\n } if (actionFlagList.includes(false)) {\r\n vm.actionFlag = false\r\n } else {\r\n vm.actionFlag = true;\r\n }\r\n return IsReportMapper && ticketSelected && $localStorage.accountConfig != null && $localStorage.accountConfig.CorrelatedReports != null && $localStorage.accountConfig.ReportMapperId != null;\r\n }\r\n // vm.showInvoiceButton = function () {\r\n // var invoiceFlag = false;\r\n // angular.forEach(vm.ticketList, function (t) {\r\n // if (t.checked && t.SkillSet == 'Water Lab Test' && t.TicketStatus == 'Completed') {\r\n // var invoiceFlag = true;\r\n // return invoiceFlag;\r\n // } \r\n // })\r\n // return invoiceFlag;\r\n // }\r\n\r\n // vm.getReason = function() {\r\n // $http.get(\"https://product.mymobiforce.com/ActivityAPI/api/Activity/GetReasonsForFollowUp\").then(\r\n // function successCallback(response) {\r\n // $scope.response = response;\r\n // },\r\n // function errorCallback(response) {\r\n // console.log(\"Unable to perform get request\");\r\n // }\r\n // );\r\n // };\r\n\r\n vm.hideSingleDownloadButton = function () {\r\n return $localStorage.accountConfig != null && $localStorage.accountConfig.CorrelatedReports != null && $localStorage.accountConfig.ReportMapperId != null;\r\n }\r\n\r\n vm.getSkills = function () {\r\n CentralHDTicketsViewService.getSkills(loggedInUserId, token, function (skills) {\r\n vm.skills = skills;\r\n //vm.skills.unshift({ \"SkillName\": \"All Job Types\" }); \r\n if (vm.path == 'isTicketView') {\r\n vm.searchJobTypeText = $localStorage.AllJobType;\r\n // vm.searchStatusText = $localStorage.AllJobStatus;\r\n }\r\n }, vm.showFailure);\r\n }\r\n vm.getSkills();\r\n\r\n vm.isApprovalPermission = function (defaultValue) {\r\n if (vm.accountConfig && vm.accountConfig['ApprovalPermission'] != null) {\r\n return vm.accountConfig['ApprovalPermission'].split(\",\").indexOf($localStorage.loggedInUser_Role) > -1;\r\n }\r\n return defaultValue;\r\n }\r\n\r\n vm.OpenBillModal = function (ticketId) {\r\n vm.BillDetails = [];\r\n vm.TotalExpense = '';\r\n CentralHDTicketsViewService.getBillExpenseByTicketID(loggedInUserId, ticketId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n angular.forEach(resp.data, function (d) {\r\n vm.BillDetails = d.Bills;\r\n vm.TotalExpense = d.ExpenseAmount;\r\n })\r\n }\r\n if (vm.TotalExpense != 0) {\r\n BillModal = $uibModal.open({\r\n templateUrl: 'bill_model.html',\r\n scope: $scope\r\n })\r\n }\r\n })\r\n }\r\n\r\n vm.CloseBillModal = function () {\r\n BillModal.close();\r\n }\r\n\r\n vm.getPicUrl = function (pic) {\r\n return ImageUrl + '/' + pic;\r\n }\r\n\r\n vm.ReportpdfUrl = function (ticketId) {\r\n CentralHDTicketsViewService.getPdfReport(loggedInUserId, ticketId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n const linkSource = resp.data.Base64Data;\r\n const downloadLink = document.createElement(\"a\");\r\n const fileName = resp.data.ReportName;\r\n downloadLink.href = linkSource;\r\n downloadLink.download = fileName;\r\n downloadLink.click();\r\n }\r\n })\r\n }\r\n\r\n // vm.GeneratePdfEstimateReport = function (ticketId) {\r\n // CentralHDTicketsViewService.GeneratePdfEstimateReport(loggedInUserId, ticketId, token).then(function (resp) {\r\n // if (resp && resp.data) {\r\n // const linkSource = resp.data;\r\n // const downloadLink = document.createElement(\"a\");\r\n // const fileName = \"EstimateReport\";\r\n // downloadLink.href = linkSource;\r\n // downloadLink.download = fileName;\r\n // downloadLink.click();\r\n // }\r\n // })\r\n // }\r\n\r\n\r\n vm.GeneratePdfEstimateReport = function (ticketId) {\r\n vm.PDFView();\r\n CentralHDTicketsViewService.GeneratePdfEstimateReport(loggedInUserId, ticketId, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.InvoiceData = resp.data;\r\n var arrrayBuffer = base64ToArrayBuffer(vm.InvoiceData);\r\n var blob = new Blob([arrrayBuffer], { type: \"application/pdf\" });\r\n vm.pdfimage = URL.createObjectURL(blob);\r\n vm.IsLoadSucessfull = true;\r\n\r\n // if(vm.fileLink){\r\n // vm.showInvoice = true;\r\n // }\r\n }\r\n });\r\n\r\n }\r\n\r\n vm.reloadData = function () {\r\n var resetPaging = true;\r\n vm.dtInstance.reloadData(resetPaging);\r\n }\r\n //Cancel and clone ticket\r\n vm.CancleAndCloneTicket = function (ticket) {\r\n var ticketData = ticket;\r\n $state.go('index.JobBidCreation', { cloneticketid: ticketData.TicketId },\r\n { reload: true, inherit: false, notify: true });\r\n }\r\n vm.CancelTicket = function (ticketId, currentJOb) {\r\n vm.CurrentJob = currentJOb;\r\n vm.RatingOfTicket = '';\r\n vm.AuditTicketId = vm.CurrentJob.TicketId;\r\n vm.IsClosureCodeNeeded = vm.CurrentJob.IsClosuerCodeNeeded;\r\n vm.TicketPaymentNeedToProcess = vm.CurrentJob.IsTicketPaymentNeedToProcess;\r\n vm.IsApplicableForAutoPayment = vm.CurrentJob.IsApplicableForAutoPayment;\r\n vm.CollectionRequired = vm.CurrentJob.CollectionRequired;\r\n if (vm.CurrentJob.TicketStatus == \"Completed\" && vm.CurrentJob.SubStatus == \"TBC\") {\r\n vm.PrimaryReason = vm.CurrentJob.PrimaryReason;\r\n ManualAssignationJobService.GetCancellationReasons(vm.AuditTicketId, vm.CurrentJob.TicketStatus, loggedInUserId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.CancellationReasonsList = resp.data;\r\n approveModalInstance = $uibModal.open({\r\n templateUrl: 'tbc_confirm_cancelation_model.html',\r\n scope: $scope\r\n });\r\n }\r\n }, function () {\r\n });\r\n\r\n }\r\n else {\r\n\r\n vm.IsCancelFromServer = vm.accountConfig.IsCancelFromServer;\r\n if (vm.IsCancelFromServer && (vm.CurrentJob.TicketStatus == \"Assigned\" || vm.CurrentJob.TicketStatus == \"New\")) {\r\n CentralHDTicketsViewService.GetCancellationReasons(vm.AuditTicketId, vm.CurrentJob.TicketStatus, loggedInUserId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.CancellationReasonsList = resp.data;\r\n cancellationReasonsModalInstance = $uibModal.open({\r\n templateUrl: 'cancellation_reasons_model.html',\r\n scope: $scope\r\n });\r\n }\r\n }, function () {\r\n });\r\n }\r\n else {\r\n CentralHDTicketsViewService.CancelTicket(loggedInUserId, ticketId, token).then(function (res) {\r\n if (res.status == 202 && res.statusText == 'Accepted') {\r\n vm.showSuccess('Success', res.data);\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 1000);\r\n }\r\n else if (res.status == 206) {\r\n vm.showFailure('Failed', res.data);\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 1000);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n vm.OpenTicketRatingModal = function (currentTicketJob) {\r\n\r\n CentralHDTicketsViewService.GetCSATRatingByTicketID(loggedInUserId, currentTicketJob.TicketId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.TicketRatingList = resp.data;\r\n ticketRatingModalInstance = $uibModal.open({\r\n templateUrl: 'ticket_rating_model.html',\r\n scope: $scope\r\n });\r\n }\r\n\r\n }, function () {\r\n\r\n });\r\n }\r\n\r\n\r\n vm.TicketRatingCloseModal = function () {\r\n ticketRatingModalInstance.close();\r\n }\r\n vm.TBCCancelationAudit = function () {\r\n vm.tbccancellationReasonsForm.submitted = true;\r\n if (vm.CancellationReasons == 'Customer not responding' || vm.CancellationReasons == 'Customer denied sharing code') {\r\n vm.tbccancellationReasonsForm.$valid = true\r\n if (vm.tbccancellationReasonsForm.$valid) {\r\n if (vm.closureCode) {\r\n vm.IsClosuerCodeAvailable = true;\r\n }\r\n else {\r\n vm.IsClosuerCodeAvailable = false;\r\n }\r\n var data = {\r\n \"TicketId\": vm.AuditTicketId,\r\n \"AuditValue\": vm.TBCCancelationModel,\r\n // \"IsTicketPaymentNeedToProcess\": vm.TicketPaymentNeedToProcess,\r\n \"IsApplicableForAutoPayment\": vm.IsApplicableForAutoPayment,\r\n \"IsCommissionDetect\": vm.IsCommissionDetect,\r\n \"ClosuerCode\": vm.closureCode,\r\n \"IsClosuerCodeAvailable\": vm.IsClosuerCodeAvailable,\r\n \"CancelReason\": vm.CancellationReasons,\r\n }\r\n vm.IsInvoiceEnabled;\r\n approveModalInstance.close();\r\n CentralHDTicketsViewService.TBCCancelationAudit(data, loggedInUserId, token).then(function (res) {\r\n if (res && res.status == 200) {\r\n vm.showSuccess(\"Success\", \"Job cancelation audit successfully done.\");\r\n vm.closureCode = \"\";\r\n vm.IsClosureCodeNeeded = \"\";\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 2000);\r\n }\r\n });\r\n }\r\n }\r\n else {\r\n if (vm.tbccancellationReasonsForm.$valid) {\r\n if (vm.closureCode) {\r\n vm.IsClosuerCodeAvailable = true;\r\n }\r\n else {\r\n vm.IsClosuerCodeAvailable = false;\r\n }\r\n var data = {\r\n \"TicketId\": vm.AuditTicketId,\r\n \"AuditValue\": vm.TBCCancelationModel,\r\n // \"IsTicketPaymentNeedToProcess\": vm.TicketPaymentNeedToProcess,\r\n \"IsApplicableForAutoPayment\": vm.IsApplicableForAutoPayment,\r\n \"IsCommissionDetect\": vm.IsCommissionDetect,\r\n \"ClosuerCode\": vm.closureCode,\r\n \"IsClosuerCodeAvailable\": vm.IsClosuerCodeAvailable,\r\n \"CancelReason\": vm.CancellationReasons,\r\n }\r\n vm.IsInvoiceEnabled;\r\n approveModalInstance.close();\r\n CentralHDTicketsViewService.TBCCancelationAudit(data, loggedInUserId, token).then(function (res) {\r\n if (res && res.status == 200) {\r\n vm.showSuccess(\"Success\", \"Job cancelation audit successfully done.\");\r\n vm.closureCode = \"\";\r\n vm.IsClosureCodeNeeded = \"\";\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 2000);\r\n }\r\n });\r\n }\r\n }\r\n\r\n }\r\n\r\n vm.getCompletionReasons = function (ticketId, CurrentJob) {\r\n vm.CurrentJob = CurrentJob;\r\n vm.AuditTicketId = ticketId;\r\n vm.CompletionRemark = vm.CurrentJob.CompletionRemark;\r\n CentralHDTicketsViewService.GetCancellationReasons(ticketId, 'Visit', loggedInUserId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.CompletionReasonsList = resp.data;\r\n completeModalInstance = $uibModal.open({\r\n templateUrl: 'change_completionReason_model.html',\r\n scope: $scope\r\n });\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n vm.UpdateCompletionReason = function () {\r\n vm.completionReasonUpdateForm.submitted = true;\r\n if (vm.completionReasonUpdateForm.$valid) {\r\n var data = {\r\n \"TicketId\": vm.AuditTicketId,\r\n \"CompletionReason\": vm.TicketCompletionReason,\r\n }\r\n completeModalInstance.close();\r\n CentralHDTicketsViewService.UpdateCompletionRemark(data, loggedInUserId, token).then(function (res) {\r\n if (res && res.status == 200) {\r\n vm.showSuccess(\"Success\", res.data);\r\n vm.TicketCompletionReason = \"\";\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 2000);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", res.data);\r\n }\r\n });\r\n }\r\n }\r\n\r\n vm.CloseCompletionModal = function () {\r\n completeModalInstance.close();\r\n }\r\n\r\n\r\n vm.updateFalseTBC = function (status) {\r\n if (status == 'Yes') {\r\n vm.IsApplicableForAutoPayment = false;\r\n }\r\n else {\r\n vm.IsApplicableForAutoPayment = true;\r\n }\r\n }\r\n vm.CancellationReasonsCloseModal = function () {\r\n cancellationReasonsModalInstance.close();\r\n vm.CancellationReasons = \"\";\r\n vm.CancellationReasonsRemark = \"\";\r\n vm.HintDisplay = \"\";\r\n vm.closureCode = \"\";\r\n }\r\n vm.UpdateCancellationReasons = function () {\r\n vm.cancellationReasonsForm.submitted = true;\r\n if (vm.CancellationReasons == 'Customer not responding' || vm.CancellationReasons == 'Customer denied sharing code') {\r\n vm.cancellationReasonsForm.$valid = true;\r\n if (vm.cancellationReasonsForm.$valid) {\r\n if (vm.closureCode) {\r\n vm.IsClosuerCodeAvailable = true;\r\n }\r\n else {\r\n vm.IsClosuerCodeAvailable = false;\r\n }\r\n var CancellationReasonsModel =\r\n {\r\n \"TicketId\": vm.AuditTicketId,\r\n \"CancelReason\": vm.CancellationReasons,\r\n \"CancelRemark\": vm.CancellationReasonsRemark,\r\n \"ClosuerCode\": vm.closureCode,\r\n \"IsClosuerCodeAvailable\": vm.IsClosuerCodeAvailable\r\n }\r\n CentralHDTicketsViewService.UpdateJobServerCancel(CancellationReasonsModel, loggedInUserId, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 2000);\r\n cancellationReasonsModalInstance.close();\r\n vm.CancellationReasons = \"\";\r\n vm.CancellationReasonsRemark = \"\";\r\n vm.closureCode = \"\";\r\n vm.HintDisplay = \"\";\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n }, function () {\r\n\r\n });\r\n }\r\n }\r\n else {\r\n if (vm.cancellationReasonsForm.$valid) {\r\n if (vm.closureCode) {\r\n vm.IsClosuerCodeAvailable = true;\r\n }\r\n else {\r\n vm.IsClosuerCodeAvailable = false;\r\n }\r\n var CancellationReasonsModel =\r\n {\r\n \"TicketId\": vm.AuditTicketId,\r\n \"CancelReason\": vm.CancellationReasons,\r\n \"CancelRemark\": vm.CancellationReasonsRemark,\r\n \"ClosuerCode\": vm.closureCode,\r\n \"IsClosuerCodeAvailable\": vm.IsClosuerCodeAvailable\r\n }\r\n CentralHDTicketsViewService.UpdateJobServerCancel(CancellationReasonsModel, loggedInUserId, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 2000);\r\n cancellationReasonsModalInstance.close();\r\n vm.CancellationReasons = \"\";\r\n vm.CancellationReasonsRemark = \"\";\r\n vm.closureCode = \"\";\r\n vm.HintDisplay = \"\";\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n }, function () {\r\n\r\n });\r\n }\r\n }\r\n }\r\n\r\n vm.SendCancelCodeToCustomer = function () {\r\n if (vm.CancellationReasons != \"\") {\r\n var SendCodeModel =\r\n {\r\n \"TicketId\": vm.AuditTicketId,\r\n \"CancelReason\": vm.CancellationReasons\r\n }\r\n ManualAssignationJobService.SendCancelCodeToCustomer(SendCodeModel, loggedInUserId, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Code Sent to Customer\");\r\n }\r\n }, function () {\r\n\r\n });\r\n }\r\n }\r\n\r\n vm.ViewProfile = function (UserId, UserType) {\r\n var IsUser = false;\r\n if (UserType && UserType == 'Freelancer') {\r\n CentralHDTicketsViewService.getUserProfileData(supervisorId, UserId, token).then(function (res) {\r\n if (res.data && res.status == 200) {\r\n vm.UserProfileData = res.data;\r\n vm.customerrating = Number(vm.UserProfileData.CustomerRating).toFixed(1);\r\n vm.AddPreferredVendorModal = $uibModal.open({\r\n templateUrl: 'UserProfile.html',\r\n scope: $scope,\r\n windowClass: 'schedulerModal',\r\n reload: true\r\n });\r\n } else {\r\n vm.showFailure('Failed', res.data.Message);\r\n }\r\n\r\n });\r\n } else if (UserType && UserType == 'Fixed Team') {\r\n CentralHDTicketsViewService.getFixedUserProfileData(supervisorId, UserId, token).then(function (res) {\r\n if (res.data && res.status == 200) {\r\n vm.UserProfileData = res.data;\r\n vm.AddPreferredVendorModal = $uibModal.open({\r\n templateUrl: 'UserProfile.html',\r\n scope: $scope,\r\n windowClass: 'schedulerModal',\r\n reload: true\r\n });\r\n } else {\r\n vm.showFailure('Failed', res.data.Message);\r\n }\r\n\r\n });\r\n } else {\r\n CentralHDTicketsViewService.getUserProfileData(supervisorId, UserId, token).then(function (res) {\r\n if (res.data && res.status == 200) {\r\n vm.UserProfileData = res.data;\r\n if (vm.UserProfileData) {\r\n vm.AddPreferredVendorModal = $uibModal.open({\r\n templateUrl: 'UserProfile.html',\r\n scope: $scope,\r\n windowClass: 'schedulerModal',\r\n reload: true\r\n });\r\n } else {\r\n vm.showFailure('Failed', 'User Not found');\r\n }\r\n } else {\r\n vm.showFailure('Failed', res.data.Message);\r\n }\r\n\r\n });\r\n }\r\n }\r\n\r\n vm.UserProfileClose = function () {\r\n vm.AddPreferredVendorModal.close();\r\n }\r\n vm.downloadDataCaptureImage = function () {\r\n var ticket = '';\r\n for (var i = 0; i < vm.ticketList.length; i++) {\r\n if (vm.ticketList[i].checked) {\r\n if (!ticket) {\r\n ticket = vm.ticketList[i].TicketId;\r\n } else {\r\n ticket = ticket + ',' + vm.ticketList[i].TicketId;\r\n }\r\n }\r\n }\r\n\r\n CentralHDTicketsViewService.downloadImage(loggedInUserId, ticket, token);\r\n vm.callback = function () {\r\n vm.showAutoSchduleBtn = false;\r\n vm.downloadFlag = false;\r\n vm.downloadtemplateBtn = false;\r\n vm.downloadReportBtn = false;\r\n vm.deleteFlag = false;\r\n vm.showSuccess('Success', 'You have successfull downloaded image');\r\n $timeout(function () {\r\n if (vm.searchStatusText == 'All Job Status' && vm.searchJobTypeText == 'All Job Types') {\r\n\r\n itemNames = '';\r\n itemValues = '';\r\n\r\n } else if (vm.searchJobTypeText != 'All Job Types' && vm.searchStatusText == 'All Job Status') {\r\n\r\n itemNames = 'Skill';\r\n itemValues = vm.searchJobTypeText;\r\n\r\n } else if (vm.searchStatusText != 'All Job Status' && vm.searchJobTypeText == 'All Job Types') {\r\n\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText;\r\n } else if (vm.searchStatusText != 'All Job Status' && vm.searchJobTypeText != 'All Job Types') {\r\n itemNames = 'Status,Skill';\r\n itemValues = vm.searchStatusText + \",\" + vm.searchJobTypeText;\r\n }\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 100);\r\n }\r\n vm.callback();\r\n }\r\n\r\n // vm.ConvertJobIntoNew = function(TicketId){\r\n // var ticketIdList = []; \t\t\r\n // ticketIdList.push(TicketId); \r\n // CentralHDTicketsViewService.ConvertJobIntoNew(loggedInUserId, ticketIdList,token).then(function(resp){\r\n // if (resp.status==202) {\t\t\r\n // $timeout(function(){\t\t\t\t\t\t\t\t\r\n // vm.showSuccess(\"Success\", resp.data);\t\t\t\t\t\r\n // vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n // }, 1000);\t\r\n\r\n // }\r\n // })\t\t\r\n // }\r\n\r\n vm.ConvertJobIntoNew = function (currentJOb) {\r\n vm.CurrentJob = currentJOb;\r\n vm.AuditTicketId = vm.CurrentJob.TicketId;\r\n vm.TicketBreachValue = vm.CurrentJob.TicketBreachValue;\r\n CentralHDTicketsViewService.GetReasonsByStatus(loggedInUserId, token, 'Broadcasted').then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.convertNewReasonsList = resp.data;\r\n convertNewReasonsModalInstance = $uibModal.open({\r\n templateUrl: 'convertnew_reasons_model.html',\r\n scope: $scope\r\n });\r\n }\r\n }, function () {\r\n });\r\n\r\n }\r\n\r\n vm.UpdateConvertNewReasons = function () {\r\n vm.convertNewReasonsForm.submitted = true;\r\n if (vm.convertNewReasonsForm.$valid) {\r\n vm.MoveSPDbyTwoDays = vm.MoveSPDbyTwoDays\r\n vm.IsCommissionDetect = vm.IsCommissionDetect\r\n vm.PullBackReason = vm.convertNewReasons + ' ' + vm.convertNewReasonsRemark\r\n vm.ticketArray = []\r\n vm.ticketArray.push(vm.AuditTicketId)\r\n CentralHDTicketsViewService.ConvertJobIntoNew(vm.MoveSPDbyTwoDays, vm.IsCommissionDetect, vm.PullBackReason, loggedInUserId, vm.ticketArray, token).then(function (resp) {\r\n if (resp && resp.status == 202) {\r\n vm.showSuccess(resp.data);\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 1000);\r\n convertNewReasonsModalInstance.close();\r\n vm.convertNewReasons = \"\";\r\n vm.convertNewReasonsRemark = \"\";\r\n vm.MoveSPDbyTwoDays = false;\r\n vm.IsCommissionDetect = false;\r\n }\r\n }, function () {\r\n\r\n });\r\n }\r\n }\r\n vm.convertNewReasonsCloseModal = function () {\r\n convertNewReasonsModalInstance.close();\r\n vm.convertNewReasons = \"\";\r\n vm.convertNewReasonsRemark = \"\";\r\n }\r\n vm.pullBackTicketFromAssign = function (currentJOb) {\r\n vm.CurrentJob = currentJOb;\r\n vm.AuditTicketId = vm.CurrentJob.TicketId;\r\n vm.TicketBreachValue = vm.CurrentJob.TicketBreachValue;\r\n if (vm.CurrentJob.TicketStatus == \"Assigned\") {\r\n CentralHDTicketsViewService.GetPullBacknReasons(loggedInUserId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.pullBackReasonsList = resp.data;\r\n pullBackReasonsModalInstance = $uibModal.open({\r\n templateUrl: 'pullBack_reasons_model.html',\r\n scope: $scope\r\n });\r\n }\r\n }, function () {\r\n });\r\n }\r\n }\r\n\r\n vm.ManualJobAssignation = function (ticket) {\r\n vm.ticketId = ticket.TicketId;\r\n vm.ticketid = vm.ticketId.split(\" \");\r\n console.log('ticketid', vm.ticketid);\r\n CentralHDTicketsViewService.ProcessJobToBeAssignedManually(vm.ticketid, loggedInUserId, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(resp.data);\r\n $timeout(function () {\r\n vm.getAllJobTicketsCopy(loggedInUserId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 1000);\r\n }\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n vm.DisableScheduledExceptionButtons = function (disable) {\r\n if (disable) {\r\n vm.disableExceptionButton = true;\r\n }\r\n else {\r\n vm.disableExceptionButton = false;\r\n }\r\n }\r\n\r\n\r\n\r\n vm.UpdatePullBackReasons = function (CurrentJob) {\r\n\r\n vm.pullBackReasonsForm.submitted = true;\r\n if (vm.pullBackReasonsForm.$valid) {\r\n vm.DisableScheduledExceptionButtons(true);\r\n var PullBackReasonsModel =\r\n {\r\n \"TicketId\": vm.AuditTicketId,\r\n \"PullBackReason\": vm.pullBackReasons + ' ' + vm.pullBackReasonsRemark,\r\n \"MoveSPDbyTwoDays\": vm.MoveSPDbyTwoDays,\r\n \"IsCommissionDetect\": vm.IsCommissionDetect\r\n }\r\n CentralHDTicketsViewService.PullBackTicketFromTechnician(PullBackReasonsModel, loggedInUserId, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", vm.AuditTicketId + \" Pull back from Technician\");\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.DisableScheduledExceptionButtons(false);\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 1000);\r\n pullBackReasonsModalInstance.close();\r\n vm.pullBackReasons = \"\";\r\n vm.pullBackReasonsRemark = \"\";\r\n vm.MoveSPDbyTwoDays = false;\r\n vm.HintDisplay = \"\";\r\n }\r\n if (resp && resp.status == 206) {\r\n vm.showFailure('Failure', resp.data);\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.DisableScheduledExceptionButtons(false);\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 500);\r\n pullBackReasonsModalInstance.close();\r\n vm.pullBackReasons = \"\";\r\n vm.pullBackReasonsRemark = \"\";\r\n vm.MoveSPDbyTwoDays = false;\r\n vm.HintDisplay = \"\";\r\n }\r\n }, function () {\r\n\r\n });\r\n }\r\n }\r\n vm.pullBackReasonsCloseModal = function () {\r\n pullBackReasonsModalInstance.close();\r\n vm.pullBackReasons = \"\";\r\n vm.pullBackReasonsRemark = \"\";\r\n\r\n vm.HintDisplay = \"\";\r\n }\r\n\r\n vm.downloadMultipleReportData = function () {\r\n var ticket = '';\r\n for (var i = 0; i < vm.ticketList.length; i++) {\r\n if (vm.ticketList[i].checked) {\r\n if (!ticket) {\r\n ticket = vm.ticketList[i].TicketId;\r\n } else {\r\n ticket = ticket + ',' + vm.ticketList[i].TicketId;\r\n }\r\n }\r\n }\r\n\r\n CentralHDTicketsViewService.downloadMultipleReport(loggedInUserId, ticket);\r\n vm.callback = function () {\r\n vm.showAutoSchduleBtn = false;\r\n vm.downloadFlag = false;\r\n vm.downloadtemplateBtn = false;\r\n vm.downloadReportBtn = false;\r\n vm.deleteFlag = false;\r\n vm.showSuccess('Success', 'You have successfull downloaded Report');\r\n $timeout(function () {\r\n if (vm.searchStatusText == 'All Job Status' && vm.searchJobTypeText == 'All Job Types') {\r\n\r\n itemNames = '';\r\n itemValues = '';\r\n\r\n } else if (vm.searchJobTypeText != 'All Job Types' && vm.searchStatusText == 'All Job Status') {\r\n\r\n itemNames = 'Skill';\r\n itemValues = vm.searchJobTypeText;\r\n\r\n } else if (vm.searchStatusText != 'All Job Status' && vm.searchJobTypeText == 'All Job Types') {\r\n\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText;\r\n } else if (vm.searchStatusText != 'All Job Status' && vm.searchJobTypeText != 'All Job Types') {\r\n itemNames = 'Status,Skill';\r\n itemValues = vm.searchStatusText + \",\" + vm.searchJobTypeText;\r\n }\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 100);\r\n }\r\n vm.callback();\r\n }\r\n\r\n vm.OpenSiteAuditModal = function (currentAuditJOb) {\r\n vm.CurrentAuditJob = currentAuditJOb;\r\n vm.SiteAuditTicketId = vm.CurrentAuditJob.TicketId;\r\n siteAuditModalInstance = $uibModal.open({\r\n templateUrl: 'site_audit_model.html',\r\n scope: $scope\r\n });\r\n }\r\n vm.SiteAuditCloseModal = function () {\r\n siteAuditModalInstance.close();\r\n }\r\n $scope.attachSiteAudit = function (files) {\r\n vm.SiteAuditFileName = \"\";\r\n var file = files.files[0];\r\n vm.SiteAuditFileName = file.name;\r\n if (vm.SiteAuditFileName != \"\") {\r\n $timeout(function () {\r\n vm.SiteAuditMessage = \"\";\r\n }, 100);\r\n }\r\n vm.followFiles = files.files;\r\n var allowedExtensions = /(\\.pdf|\\.doc|\\.docx|\\.xls|\\.xlsx|\\.PDF|\\.DOC|\\.DOCX|\\.XLS|\\.XLSX)$/i;\r\n if (!allowedExtensions.exec(file.name)) {\r\n vm.followFiles = [];\r\n vm.clear();\r\n alert('Please upload file having extensions .pdf,.doc,.docx,.xls,.xlsx only.');\r\n }\r\n }\r\n\r\n vm.clear = function () {\r\n angular.element(\"input[type='file']\").val(null);\r\n };\r\n\r\n vm.SiteRescheduleAudit = function () {\r\n if (vm.SiteAuditFileName == \"\") {\r\n return vm.SiteAuditMessage = \"Please Select Audit Report\";\r\n }\r\n else\r\n vm.SiteAuditMessage = \"\";\r\n\r\n var data = {};\r\n data = {\r\n \"AuditResult\": vm.SiteAuditModel,\r\n \"AuditObjectId\": vm.SiteAuditTicketId,\r\n \"AuditAttachmentName\": vm.SiteAuditFileName,\r\n \"AuditFor\": \"Ticket\"\r\n }\r\n siteAuditModalInstance.close();\r\n CentralHDTicketsViewService.AddSiteAuditwithAttachment(data, vm.followFiles, token, loggedInUserId).then(function (res) {\r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Site Audit Saved successfully.\");\r\n $timeout(function () {\r\n vm.SiteAuditFileName = \"\";\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to add site audit. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n }\r\n\r\n //calendar PO update\r\n var d = new Date();\r\n var year = d.getFullYear();\r\n var month = d.getMonth() + 1;\r\n if (month < 10) {\r\n month = \"0\" + month;\r\n }\r\n var day = d.getDate();\r\n $scope.date = year + \"-\" + month + \"-\" + day;\r\n //\r\n vm.PlannedClosureDateModelOpen = function () {\r\n var ticketIdList = [];\r\n vm.IsLoadSucessfull = false;\r\n for (var j = 0; j < vm.ticketList.length; j++) {\r\n if (vm.ticketList[j].checked) {\r\n if (vm.ticketList[j].TicketStatus == 'New' || vm.ticketList[j].TicketStatus == 'Broadcasted' || vm.ticketList[j].TicketStatus == 'Assigned') {\r\n ticketIdList.push(vm.ticketList[j].TicketId);\r\n }\r\n }\r\n }\r\n $scope.PlannedClosureticketList = ticketIdList;\r\n vm.getPlannedClosureUpdateReasons();\r\n\r\n }\r\n\r\n vm.getPlannedClosureUpdateReasons = function () {\r\n CentralHDTicketsViewService.GetCancellationReasons('', 'PlannedClosure', loggedInUserId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.PlannedUpdateReasonsList = resp.data;\r\n PlannedClosureDateCloseModalInstance = $uibModal.open({\r\n templateUrl: 'PlannedClosureDate.html',\r\n scope: $scope\r\n });\r\n }\r\n });\r\n }\r\n\r\n vm.PlannedClosureDateCloseModal = function () {\r\n PlannedClosureDateCloseModalInstance.close();\r\n vm.PlannedClosureReason = \"\";\r\n }\r\n\r\n vm.updatePlannedClosure = function () {\r\n var data = {\r\n \"TicketIds\": $scope.PlannedClosureticketList,\r\n \"TicketPlannedClosureDate\": moment(vm.PlannedClosureDate).format(\"YYYY-MM-DDTHH:mm:ss.SSSZ\"),\r\n \"IsWithInDays\": vm.IsWithInDays == 'first' ? true : false,\r\n \"WithInDays\": vm.WithInDays,\r\n \"PlannedDateChangeReason\": vm.PlannedClosureReason\r\n };\r\n\r\n CentralHDTicketsViewService.updatePlannedClosure(loggedInUserId, data, token, function (res) {\r\n vm.showSuccess(\"Success\", res);\r\n PlannedClosureDateCloseModalInstance.close();\r\n $timeout(function () {\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 1500);\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.policyModel = function () {\r\n\r\n AgreementUserModal = $uibModal.open({\r\n templateUrl: 'policy.html',\r\n size: 'lg',\r\n scope: $scope,\r\n reload: true\r\n });\r\n\r\n }\r\n vm.CloseAgreementUserModal = function () {\r\n AgreementUserModal.close();\r\n }\r\n\r\n vm.ReadyToRaiseInvoiceModelOpen = function () {\r\n\r\n vm.TicketPONumber = [];\r\n var ticketIdList = [];\r\n vm.IsLoadSucessfull = false;\r\n for (var j = 0; j < vm.ticketList.length; j++) {\r\n if (vm.ticketList[j].checked) {\r\n if ((vm.ticketList[j].TicketStatus == 'Completed' || vm.ticketList[j].TicketStatus == 'Approved') && vm.ticketList[j].PreInvoiceStatus != 'ReadyToRaiseInvoice') {\r\n ticketIdList.push(vm.ticketList[j].TicketId);\r\n }\r\n }\r\n }\r\n vm.GetTicketDataToRaiseInvoice(ticketIdList);\r\n readyToRaiseInvoiceModalInstance = $uibModal.open({\r\n templateUrl: 'ready_to_raise_invoice_model.html',\r\n scope: $scope,\r\n windowClass: 'app-modal-window-md-class',\r\n });\r\n }\r\n vm.ReadyToRaiseInvoiceCloseModal = function () {\r\n vm.TicketPONumber = [];\r\n vm.AllTicketDate = '';\r\n vm.AllTicketRemark = '';\r\n vm.AllTicketPONumber = '';\r\n readyToRaiseInvoiceModalInstance.close();\r\n }\r\n\r\n vm.expandAll = function (expanded) {\r\n $scope.$broadcast('onExpandAll', {\r\n expanded: expanded\r\n });\r\n }\r\n\r\n vm.GetTicketDataToRaiseInvoice = function (ticketIdList) {\r\n vm.TicketDataToRaiseInvoiceList = [];\r\n CentralHDTicketsViewService.GetTicketDataToRaiseInvoice(loggedInUserId, ticketIdList, token).then(function (resp) {\r\n if (resp.status == 200 && resp.data) {\r\n vm.IsLoadSucessfull = true;\r\n vm.TicketDataToRaiseInvoiceList = resp.data;\r\n }\r\n else {\r\n vm.IsLoadSucessfull = true;\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }\r\n })\r\n }\r\n\r\n vm.collectionAmount = false;\r\n vm.disabledCollection = function () {\r\n for (var i = 0; i < vm.TicketDataToRaiseInvoiceList.length; i++) {\r\n for (j = 0; j < vm.TicketDataToRaiseInvoiceList[i].LineItemList.length; j++) {\r\n if (vm.TicketDataToRaiseInvoiceList[i].LineItemList[j].LineItemCategory == 'Collection') {\r\n vm.TicketDataToRaiseInvoiceList[i].LineItemList[j].collectionAmount = true;\r\n\r\n }\r\n }\r\n }\r\n }\r\n\r\n //auto date\r\n vm.AllTicketDate = '';\r\n vm.ChangeAllDate = function () {\r\n for (var i = 0; i < vm.TicketDataToRaiseInvoiceList.length; i++) {\r\n vm.TicketDate1 = vm.AllTicketDate;\r\n vm.TicketDataToRaiseInvoiceList[i].CustomerApprovalDate = vm.TicketDate1;\r\n }\r\n }\r\n //end auto date\r\n\r\n\r\n //auto remarks\r\n vm.AllTicketRemark = '';\r\n vm.ChangeAllRemark = function () {\r\n for (var i = 0; i < vm.TicketDataToRaiseInvoiceList.length; i++) {\r\n vm.TicketRemark1 = vm.AllTicketRemark;\r\n vm.TicketDataToRaiseInvoiceList[i].CustomerApprovalRemark = vm.TicketRemark1;\r\n }\r\n }\r\n //end auto remarks\r\n\r\n\r\n //auto PO \r\n vm.AllTicketPONumber = '';\r\n vm.ChangeAllPONumbers = function () {\r\n for (var i = 0; i < vm.TicketDataToRaiseInvoiceList.length; i++) {\r\n vm.TicketPONumber1 = vm.AllTicketPONumber;\r\n vm.TicketDataToRaiseInvoiceList[i].TicketPONumber = vm.TicketPONumber1;\r\n vm.ChangePONumber();\r\n }\r\n }\r\n //end auto PO\r\n\r\n\r\n vm.ChangePONumber = function () {\r\n for (var i = 0; i < vm.TicketDataToRaiseInvoiceList.length; i++) {\r\n var TicketPONumber = vm.TicketPONumber1;\r\n for (var j = 0; j < vm.TicketDataToRaiseInvoiceList[i].LineItemList.length; j++) {\r\n vm.TicketDataToRaiseInvoiceList[i].LineItemList[j].PONumber = TicketPONumber;\r\n if (vm.TicketDataToRaiseInvoiceList[i].LineItemList[j].LineItemCategory == 'Collection') {\r\n vm.TicketDataToRaiseInvoiceList[i].LineItemList[j].PONumber = ' ';\r\n\r\n }\r\n }\r\n }\r\n }\r\n\r\n vm.TicketPONumber = [];\r\n vm.ChangePONumberManually = function () {\r\n for (var i = 0; i < vm.TicketDataToRaiseInvoiceList.length; i++) {\r\n var TicketPONumberM = vm.TicketPONumber[i];\r\n for (var j = 0; j < vm.TicketDataToRaiseInvoiceList[i].LineItemList.length; j++) {\r\n vm.TicketDataToRaiseInvoiceList[i].LineItemList[j].PONumber = TicketPONumberM;\r\n if (vm.TicketDataToRaiseInvoiceList[i].LineItemList[j].LineItemCategory == 'Collection') {\r\n vm.TicketDataToRaiseInvoiceList[i].LineItemList[j].PONumber = ' ';\r\n\r\n }\r\n }\r\n }\r\n }\r\n vm.ReadyToRaiseInvoiceSave = function () {\r\n\r\n var ticketwithLineitemList = vm.TicketDataToRaiseInvoiceList;\r\n readyToRaiseInvoiceModalInstance.close();\r\n CentralHDTicketsViewService.MarkTicketsReadyToRaiseInvoice(loggedInUserId, ticketwithLineitemList, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Your data successfully saved to ready to raise invoice.\");\r\n }\r\n else {\r\n vm.showFailure(\"Failure\", \"Unable to update PO Number\");\r\n }\r\n vm.TicketDataToRaiseInvoiceList = [];\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 2000);\r\n }\r\n })\r\n }\r\n\r\n vm.Get360TeamProfileData = function (teamid, TicketId) {\r\n vm.userId = teamid;\r\n vm.followupTicketId = TicketId;\r\n DashboardService.Get360ProfileData(loggedInUserId, teamid, token).then(function (resp) {\r\n vm.teamdata = resp.data;\r\n vm.AvgRating = vm.teamdata.userProfile.AverageRating;\r\n vm.ReviewsList = vm.teamdata.userProfile.Reviews\r\n vm.teamdata.ratingStars = vm.getRatingStars(Math.round(vm.teamdata.userProfile.Ratings.TechnicianRating));\r\n vm.teamdata.blankStars = vm.getBlankStars(Math.round(vm.teamdata.userProfile.Ratings.TechnicianRating));\r\n vm.teamdata.avgratingStars = vm.getAvgRatingStars(Math.round(vm.teamdata.userProfile.AverageRating.AverageRating));\r\n vm.teamdata.avgblankStars = vm.getAvgBlankStars(Math.round(vm.teamdata.userProfile.AverageRating.AverageRating));\r\n if (vm.teamdata.userProfile.ContactNumber) {\r\n vm.teamdata.userProfile.ContactNumber = vm.teamdata.userProfile.ContactNumber.replace(/\\d(?=\\d{4})/g, '*');\r\n }\r\n\r\n if (vm.teamdata.userProfile.Reviews) {\r\n vm.teamdata.userProfile.Reviews.forEach(function (element, i) {\r\n vm.teamdata.userratingStars = vm.getUserRatingStars(Math.round(vm.teamdata.userProfile.Reviews[i].Average));\r\n vm.teamdata.userblankStars = vm.getUserBlankStars(Math.round(vm.teamdata.userProfile.Reviews[i].Average));\r\n element.arrayRating = vm.teamdata.userratingStars;\r\n element.blankRating = vm.teamdata.userblankStars;\r\n });\r\n }\r\n\r\n\r\n vm.TechnicianRating = Number(vm.teamdata.userProfile.Ratings.TechnicianRating).toFixed(1);\r\n\r\n vm.ResetUserFilter();\r\n $timeout(function () {\r\n displayTotals();\r\n }, 300);\r\n }, function () {\r\n //$log.log('not working');\r\n })\r\n }\r\n vm.ResetUserFilter = function () {\r\n vm.UsersType = '';\r\n vm.PermanentState = '';\r\n vm.PermanentCity = '';\r\n vm.userskill = '';\r\n vm.uType = '';\r\n vm.useraccount = '';\r\n vm.userNameSearch = '';\r\n vm.contactNumberSearch = '';\r\n startDate = '';\r\n endDate = '';\r\n vm.JobcountbyStatus = '';\r\n vm.InvoiceStatus = \"\";\r\n // vm.applyUserFilter();\r\n }\r\n vm.getRatingStars = function (rating) {\r\n var stars = [];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.push(i);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n vm.getBlankStars = function (rating) {\r\n var stars = [1, 2, 3, 4, 5];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.splice(stars.indexOf(i), 1);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n vm.getAvgRatingStars = function (rating) {\r\n var stars = [];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.push(i);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n vm.getAvgBlankStars = function (rating) {\r\n var stars = [1, 2, 3, 4, 5];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.splice(stars.indexOf(i), 1);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n vm.getUserRatingStars = function (rating) {\r\n var stars = [];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.push(i);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n vm.getUserBlankStars = function (rating) {\r\n var stars = [1, 2, 3, 4, 5];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.splice(stars.indexOf(i), 1);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n\r\n\r\n $scope.totalUsers = 0;\r\n $scope.usersPerPage = vm.userPageListCount;\r\n $scope.Userpagination = {\r\n current: 1\r\n };\r\n\r\n //left show page 10 20 30\r\n vm.changeUserPageListCount = function (userId) {\r\n $scope.usersPerPage = vm.userPageListCount;\r\n uPageSize = $scope.usersPerPage;\r\n $scope.WSTablePageChanged($scope.Userpagination.current);\r\n\r\n uPageIndex = $scope.Userpagination.current;\r\n $scope.WSTablePageChanged = function (newPage) {\r\n uPageIndex = newPage;\r\n vm.UsersFilterArray();\r\n vm.Get360WorkSummary(loggedInUserId, token, userId, uitemNames, uitemValues, uPageIndex, uPageSize, startDate, endDate, vm.OrderBy, vm.sorttype);\r\n\r\n };\r\n }\r\n\r\n uPageIndex = $scope.Userpagination.current;\r\n $scope.WSTablePageChanged = function (newPage) {\r\n uPageIndex = newPage;\r\n if (uitemNames != 'Search') {\r\n vm.UsersFilterArray();\r\n }\r\n\r\n vm.Get360WorkSummary(loggedInUserId, token, vm.userId, uitemNames, uitemValues, uPageIndex, uPageSize, startDate, endDate, vm.OrderBy, vm.sorttype);\r\n\r\n };\r\n vm.applyUserFilter = function () {\r\n vm.UsersFilterArray();\r\n\r\n uPageIndex = 1;\r\n $scope.Userpagination = {\r\n current: 1\r\n };\r\n vm.Get360WorkSummary(loggedInUserId, token, vm.userId, uitemNames, uitemValues, uPageIndex, uPageSize, startDate, endDate, vm.OrderBy, vm.sorttype);\r\n\r\n\r\n }\r\n\r\n vm.filterStatusForJObs = function (status) {\r\n vm.JobcountbyStatus = status;\r\n vm.UsersFilterArray();\r\n PageIndex = 1;\r\n vm.Get360WorkSummary(loggedInUserId, token, vm.userId, uitemNames, uitemValues, uPageIndex, uPageSize, startDate, endDate, vm.OrderBy, vm.sorttype);\r\n }\r\n vm.UsersFilterArray = function () {\r\n // vm.ResetUserSelection(this);\r\n uitemNames = \"\";\r\n uitemValues = \"\";\r\n\r\n if (vm.searchStatusText != \"\" && vm.searchStatusText != \"All\" && vm.searchStatusText != null) {\r\n if (itemNames.length > 0 && itemValues.length > 0) {\r\n itemNames = itemNames + ',Status';\r\n itemValues = itemValues + ',' + vm.searchStatusText;\r\n } else {\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText;\r\n }\r\n }\r\n\r\n if (vm.userskill) {\r\n if (uitemNames) {\r\n uitemNames = uitemNames + ',Skill';\r\n uitemValues = uitemValues + \",\" + vm.userskill;\r\n }\r\n else {\r\n uitemNames = 'Skill';\r\n uitemValues = vm.userskill;\r\n }\r\n }\r\n if (vm.userNameSearch) {\r\n if (uitemNames) {\r\n uitemNames = uitemNames + ',Search';\r\n uitemValues = uitemValues + \",\" + vm.userNameSearch;\r\n }\r\n else {\r\n uitemNames = 'Search';\r\n uitemValues = vm.userNameSearch;\r\n }\r\n }\r\n\r\n if (vm.PermanentState) {\r\n if (uitemNames) {\r\n uitemNames = uitemNames + ',State';\r\n uitemValues = uitemValues + \",\" + vm.PermanentState;\r\n }\r\n else {\r\n uitemNames = 'State';\r\n uitemValues = vm.PermanentState;\r\n }\r\n }\r\n\r\n if (vm.JobcountbyStatus) {\r\n if (uitemNames) {\r\n uitemNames = uitemNames + ',Status';\r\n uitemValues = uitemValues + \",\" + vm.JobcountbyStatus;\r\n }\r\n else {\r\n uitemNames = 'Status';\r\n uitemValues = vm.JobcountbyStatus;\r\n }\r\n }\r\n if (vm.PermanentState && vm.PermanentCity) {\r\n if (uitemNames) {\r\n uitemNames = uitemNames + ',CurrentCity';\r\n uitemValues = uitemValues + \",\" + vm.PermanentCity;\r\n }\r\n else {\r\n uitemNames = 'CurrentCity';\r\n uitemValues = vm.UsersType;\r\n }\r\n }\r\n\r\n\r\n if (vm.UsersType == \"Freelancer\") {\r\n vm.uType = \"Freelancer\";\r\n }\r\n else if (vm.UsersType == \"Freelancer Vendor\") {\r\n vm.uType = \"Freelancer\";\r\n }\r\n else if (vm.UsersType == \"Freelancer Team\") {\r\n vm.uType = \"Fixed\";\r\n }\r\n else {\r\n vm.uType = \"\";\r\n vm.UsersType = '';\r\n }\r\n\r\n }\r\n\r\n\r\n // apply user rating to all displays\r\n // add star ratings to an array\r\n var starRating = document.querySelectorAll(\".fa-star\"),\r\n ratingTotal = document.querySelectorAll(\".rating-total\");\r\n\r\n // convert ratingTotal HTMLCollection to array and reverse its order (5 star <-> 1 star)\r\n var reverseRatingTotal = Array.from(ratingTotal).reverse();\r\n\r\n // display initial rating totals\r\n // displayTotals();\r\n\r\n // use event listener to record changes to user rating\r\n starRating.forEach(function (star) {\r\n star.addEventListener(\"change\", recordRating);\r\n })\r\n\r\n function recordRating(event) {\r\n // use indexOf to identify selected user rating\r\n var userRating = Array.from(starRating).indexOf(event.target);\r\n\r\n // define selected rating to adjust display totals\r\n var selectedIndex;\r\n\r\n starRating.forEach(function (item, index) {\r\n // add or remove .active class based upon selected user rating\r\n if (index < userRating + 1) {\r\n starRating[index].classList.add(\"active\");\r\n selectedIndex = index;\r\n } else {\r\n starRating[index].classList.remove(\"active\");\r\n }\r\n\r\n displayTotals(selectedIndex);\r\n });\r\n }\r\n vm.countForStatus = 50;\r\n // display star rating totals from html custom data-\r\n function displayTotals(selectedIndex) {\r\n var barChart = document.querySelectorAll(\".bar\"),\r\n displaySummary = document.querySelectorAll(\".summary\"),\r\n numRatings = 0,\r\n numRatingsValue = 0;\r\n\r\n // convert barChart HTMLCollection to array and reverse its order (5 star <-> 1 star)\r\n var reverseBarChart = Array.from(barChart).reverse();\r\n\r\n reverseRatingTotal.forEach(function (total, index) {\r\n if (index == selectedIndex) {\r\n // add selected rating to display total\r\n total.innerHTML = (parseInt(total.getAttribute(\"data-rating-count\")) + 1);\r\n // adjust selected bar width\r\n reverseBarChart[index].style.width = (((parseInt(total.getAttribute(\"data-rating-count\")) + 1) / 20) * 100) + \"%\";\r\n } else {\r\n // display unselected totals\r\n total.innerHTML = total.getAttribute(\"data-rating-count\");\r\n // adjust unselected bar widths\r\n reverseBarChart[index].style.width = ((total.getAttribute(\"data-rating-count\") / 20) * 100) + \"%\";\r\n }\r\n // count total number and value of ratings\r\n numRatings += parseInt(total.innerHTML);\r\n numRatingsValue += (parseInt(total.innerHTML) * (index + 1));\r\n });\r\n\r\n // display rating average and total\r\n ratingsAverage = (numRatingsValue / numRatings).toFixed(2);\r\n // displaySummary[0].innerHTML = ratingsAverage + \" average based on \" + numRatings + \" reviews.\";\r\n }\r\n\r\n // FOR MINIATURE DASHBOARD START\r\n\r\n vm.Get360VendorTeamData = function (teamid) {\r\n vm.userId = teamid;\r\n DashboardService.Get360VendorTeamData(loggedInUserId, teamid, token).then(function (resp) {\r\n vm.vendorteam = resp.data;\r\n })\r\n }\r\n\r\n vm.Get360WorkSummary = function () {\r\n // vm.userId = teamid;\r\n DashboardService.Get360WorkSummary(loggedInUserId, token, vm.userId, uitemNames, uitemValues, uPageIndex, uPageSize, startDate, endDate, vm.OrderBy, vm.sorttype).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.statusCount = resp.data;\r\n vm.UserByFiltersList = resp.data.workSummaryData;\r\n $scope.totalUsers = resp.data.WorkSummaryTotalCount;\r\n // preprocessData(vm.UserByFiltersList);\r\n if (vm.UserByFiltersList.length < vm.userPageListCount)\r\n vm.userListLength = $scope.totalUsers;\r\n else\r\n vm.userListLength = uPageIndex * vm.userPageListCount;\r\n if (uPageIndex == 1)\r\n vm.upageindexCount = 1;\r\n else\r\n vm.upageindexCount = (((uPageIndex - 1) * vm.userPageListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n }\r\n\r\n vm.FinanceFiltersList = [];\r\n vm.GetFinancialSummary = function () {\r\n DashboardService.GetFinancialSummary(loggedInUserId, token, vm.userId, uitemNames, uitemValues, fPageIndex, fPageSize, startDate, endDate).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.paymentCount = resp.data.paymentsSummary;\r\n vm.FinanceFiltersList = resp.data.financialSummary360.financialLPSummaryList;\r\n $scope.totalFinList = resp.data.financialSummary360.count;\r\n if (vm.FinanceFiltersList.length < vm.financePageListCount)\r\n vm.financeListLength = $scope.totalFinList;\r\n else\r\n vm.financeListLength = fPageIndex * vm.financePageListCount;\r\n if (fPageIndex == 1)\r\n vm.fpageindexCount = 1;\r\n else\r\n vm.fpageindexCount = (((fPageIndex - 1) * vm.financePageListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n vm.ResetUserFilter();\r\n }\r\n\r\n vm.getFileType = function (url) {\r\n if (url == null || url == \"\") {\r\n return \"others\";\r\n }\r\n else {\r\n if (url.indexOf(\".jpg\") >= 0 || url.indexOf(\".jpeg\") >= 0 || url.indexOf(\".png\") >= 0 || url.indexOf(\".bmp\") >= 0 || url.indexOf(\".JPG\") >= 0 || url.indexOf(\".JPEG\") >= 0 || url.indexOf(\".PNG\") >= 0 || url.indexOf(\".BMP\") >= 0) {\r\n return \"image\";\r\n } else if (url.indexOf(\".pdf\") >= 0 || url.indexOf(\".PDF\") >= 0) {\r\n return \"pdf\";\r\n } else if (url.indexOf(\".xls\") >= 0 || url.indexOf(\".xlsx\") >= 0 || url.indexOf(\".XLS\") >= 0 || url.indexOf(\".XLSX\") >= 0) {\r\n return \"xls\";\r\n } else if (url.indexOf(\".doc\") >= 0 || url.indexOf(\".docx\") >= 0 || url.indexOf(\".DOC\") >= 0 || url.indexOf(\".DOCX\") >= 0) {\r\n return \"doc\";\r\n }\r\n else {\r\n return \"others\";\r\n }\r\n }\r\n }\r\n\r\n vm.Get360SkillSummary = function (teamid) {\r\n vm.userId = teamid;\r\n DashboardService.Get360SkillSummary(loggedInUserId, vm.userId, token).then(function (resp) {\r\n vm.skillsetData = resp.data;\r\n for (var i = 0; i < vm.skillsetData.CertificateDetails.length; i++) {\r\n vm.CertimageServices(vm.skillsetData.CertificateDetails[i].TrainingCertificate, i);\r\n }\r\n\r\n if (vm.skillsetData.PreviousCompanyDetailsList) {\r\n for (var i = 0; i < vm.skillsetData.PreviousCompanyDetailsList.length; i++) {\r\n if (vm.getFileType(vm.skillsetData.PreviousCompanyDetailsList[i].ExperienceLetter) == 'image')\r\n vm.PreviousCompnyExperienceLetterServices(vm.skillsetData.PreviousCompanyDetailsList[i].ExperienceLetter, i);\r\n }\r\n }\r\n\r\n if (vm.skillsetData.UserTrainingList) {\r\n for (var i = 0; i < vm.skillsetData.UserTrainingList.length; i++) {\r\n if (vm.getFileType(vm.skillsetData.UserTrainingList[i].TrainingImage) == 'image')\r\n vm.TrainingImageServices(vm.skillsetData.UserTrainingList[i].TrainingImage, i);\r\n if (vm.getFileType(vm.skillsetData.UserTrainingList[i].TrainingAttendance) == 'image')\r\n vm.TrainingAttendanceServices(vm.skillsetData.UserTrainingList[i].TrainingAttendance, i);\r\n }\r\n\r\n }\r\n\r\n vm.ResetUserFilter();\r\n })\r\n }\r\n\r\n vm.GetReviewAndRatings = function (teamid) {\r\n vm.userId = teamid;\r\n DashboardService.GetReviewAndRatings(loggedInUserId, vm.userId, token).then(function (resp) {\r\n vm.reviewData = resp.data;\r\n vm.users.InstallationratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.InstallationService_Avrage));\r\n vm.users.InstallationblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.InstallationService_Avrage));\r\n vm.users.SafetyratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.SafetyProtocols_Avrage));\r\n vm.users.SafetyblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.SafetyProtocols_Avrage));\r\n vm.users.VisitratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.VisitonTime_Avrage));\r\n vm.users.VisitblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.VisitonTime_Avrage));\r\n vm.users.CourteousratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.CourteousRespectful_Avrage));\r\n vm.users.CourteousblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.CourteousRespectful_Avrage));\r\n vm.users.ProratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.ProfessionalAppearance_Avrage));\r\n vm.users.ProblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.ProfessionalAppearance_Avrage));\r\n vm.users.ServiceratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.ServiceExperience_Avrage));\r\n vm.users.ServiceblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.ServiceExperience_Avrage));\r\n vm.ResetUserFilter();\r\n })\r\n }\r\n\r\n\r\n vm.Get360VendorTeamData = function (teamid) {\r\n vm.userId = teamid;\r\n DashboardService.Get360VendorTeamData(loggedInUserId, vm.userId, token).then(function (resp) {\r\n vm.vendorteam = resp.data;\r\n })\r\n }\r\n\r\n\r\n vm.GetLastFollowUpOnTicketId = function (teamid) {\r\n vm.userId = teamid;\r\n vm.FollowupListArr = [];\r\n DashboardService.GetLastFollowUpOnTicketId(loggedInUserId, vm.userId, token).then(function (resp) {\r\n vm.followupdata = resp.data;\r\n angular.forEach(vm.followupdata, function (fdetail, i) {\r\n if (fdetail != null) {\r\n angular.forEach(vm.followupdata[i].FollowUpOnTicket, function (fdetail, i) {\r\n vm.FollowupList = fdetail.FollowUpOnTicket;\r\n vm.FollowupListArr.push(fdetail);\r\n })\r\n\r\n }\r\n })\r\n })\r\n }\r\n\r\n vm.GetToolsAndAssets = function (teamid) {\r\n vm.userId = teamid;\r\n DashboardService.GetToolsAndAssets(loggedInUserId, vm.userId, token).then(function (resp) {\r\n vm.assetData = resp.data;\r\n vm.ResetUserFilter();\r\n })\r\n }\r\n\r\n vm.OpenReadyToRaiseModel = function () {\r\n vm.ReadyToRaiseModal = $uibModal.open({\r\n templateUrl: 'ReadyToRaiseModal.html',\r\n backdrop: 'static',\r\n size: 'md',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.closeReadyToRaiseModal = function () {\r\n vm.showPassed = false;\r\n vm.showErrors = false;\r\n vm.errorList = [];\r\n vm.ReadyToRaiseModal.close();\r\n }\r\n\r\n if (vm.bulkuploadType == 'cms') {\r\n vm.dzOptions = {\r\n paramName: 'photo',\r\n maxFilesize: '100',\r\n url: '/',\r\n acceptedFiles: '.zip',\r\n dictDefaultMessage: 'Click to add or drop files',\r\n dictRemoveFile: 'Remove'\r\n };\r\n } else {\r\n vm.dzOptions = {\r\n paramName: 'photo',\r\n maxFilesize: '100',\r\n url: '/',\r\n acceptedFiles: '.xlsx, .xls',\r\n dictDefaultMessage: 'Click to add or drop files',\r\n dictRemoveFile: 'Remove'\r\n };\r\n }\r\n\r\n vm.loaderFlag = false;\r\n vm.hideLoader = function () {\r\n if (vm.loaderFlag) {\r\n $rootScope.$broadcast(\"loader_hide\");\r\n $timeout(function () { vm.loaderFlag = false; }, 1000);\r\n $timeout(vm.hideLoader, 1);\r\n }\r\n }\r\n\r\n vm.MarkTicketsReadyToRaise = function () {\r\n data = vm.InvoiceList;\r\n CentralHDTicketsViewService.MarkTicketsReadyToRaise(data, loggedInUserId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.ReadyToRaisedTktDetails = resp.data;\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.closeReadyToRaiseModal();\r\n $timeout(function () {\r\n vm.getAllJobTicketsCopyForPagging(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }, 1000)\r\n }\r\n else {\r\n vm.showFailure(\"Failure\", \"Please fill all the details\");\r\n }\r\n }\r\n });\r\n }\r\n\r\n vm.scrollDwn = function () {\r\n $(\"html, body\").animate({ scrollTop: $(document).height() - $(window).height() }, 900);\r\n }\r\n vm.dzCallbacks = {\r\n 'addedfile': function (file) {\r\n vm.showErrors = false;\r\n vm.errorList = [];\r\n vm.disableUploadButton = true;\r\n vm.InvoiceList = [];\r\n\r\n $(\"#dropzone1 .dz-progress .dz-upload\").hide();\r\n $(\".bulkupload-progress\").width(0);\r\n $(\".ajax-loader\").hide();\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n vm.showPassed = false;\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noOfRecords = 0;\r\n\r\n var dropzoneChildren = $(\"#dropzone1\").children();\r\n $(\"#dropzone1\").empty();\r\n $(\"#dropzone1\").append(dropzoneChildren[0]);\r\n $(\"#dropzone1\").append(dropzoneChildren[dropzoneChildren.length - 1]);\r\n\r\n vm.loaderFlag = true;\r\n vm.hideLoader();\r\n vm.tickedfile = file;\r\n var fd = new FormData();\r\n fd.append('file', file);\r\n // fd.append('MediaUploadReqModel', JSON.stringify(vm.MediaUploadReqModel))\r\n $http.post(ApiURL + '/api/BulkUpload/MediaUpload?reqUserId=' + loggedInUserId + '&action=Create', fd, {\r\n transformRequest: angular.identity,\r\n headers: { 'Content-Type': undefined, 'Token': token, 'UserId': loggedInUserId },\r\n timeout: vm.canceler.promise\r\n })\r\n .success(function (data) {\r\n $(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n if (vm.bulkuploadType == 'Ticket') {\r\n vm.InvoiceList = data.BulkInvoiceGenerateModel;\r\n vm.noOfRecords = data.BulkInvoiceGenerateModel ? data.BulkInvoiceGenerateModel.length : 0;\r\n }\r\n $(\"#dropzone1>div:last-child\").removeClass(\"dz-error\").addClass(\"dz-success\");\r\n if (data.Errors.length > 0) {\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable()\r\n ];\r\n angular.forEach(data.Errors, function (v, k) {\r\n\r\n if (v.ItemErrors.length > 0) {\r\n var e1 = {};\r\n angular.forEach(v.ItemErrors, function (v1, k1) {\r\n e1.message = e1.message != undefined && e1.message != \"undefined\" && e1.message.length > 0 ? e1.message + \",\" + v1.Message : v1.Message;\r\n });\r\n if (v.Row > 0 && data.BulkInvoiceGenerateModel && data.BulkInvoiceGenerateModel.length > 0 && data.BulkInvoiceGenerateModel.length >= v.Row) {\r\n e1.data = data.BulkInvoiceGenerateModel[v.Row - 1];\r\n }\r\n vm.errorList.push(e1);\r\n }\r\n });\r\n\r\n vm.showPassed = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Invalid records!\";\r\n vm.successMsg = \"There are \" + vm.errorList.length + \" errors. To see them click here\";\r\n vm.noMsg = [];\r\n vm.showErrors = true;\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n } else if (data.ErrorCode == 103) {\r\n vm.showPassed = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Missing columns in excel file\";\r\n vm.successMsg = \"Following columns are missing in excel file. Please add them and re-upload file\";\r\n vm.noMsg = [];\r\n angular.forEach(data.MissingColumns, function (k, v) {\r\n vm.noMsg.push(k);\r\n });\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n } else if (data.Message && data.Message.length > 0) {\r\n\r\n vm.showPassed = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Validation failed\";\r\n vm.successMsg = data.Message\r\n vm.noMsg = [];\r\n angular.forEach(data.MissingColumns, function (k, v) {\r\n vm.noMsg.push(k);\r\n });\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\r\n } else {\r\n vm.showPassed = true;\r\n vm.disableUploadButton = false;\r\n vm.successTitle = \"File Validated\";\r\n vm.successMsg = vm.bulkuploadType.charAt(0).toUpperCase() + vm.bulkuploadType.slice(1) + (vm.noOfRecords > 1 ? \"s\" : \"\") + \" are validated successfully. Total \" + vm.noOfRecords + \" \" + vm.bulkuploadType + (vm.noOfRecords > 1 ? \"s\" : \"\") + \" found.\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n }\r\n $(\"table th:first-child\").removeClass(\"sorting_asc\");\r\n vm.progressbar.complete();\r\n })\r\n .error(function (errorMessage) {\r\n $(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n vm.progressbar.complete();\r\n vm.successTitle = \"Validation of records failed\";\r\n vm.successMsg = \"Error in data validation, please correct the data and re-upload file\";\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n });\r\n\r\n },\r\n 'success': function (file, xhr) {\r\n },\r\n 'error': function (file, errorMessage) {\r\n }\r\n };\r\n\r\n vm.addFiles = function () {\r\n $(\"#dropzone1\").trigger(\"click\");\r\n }\r\n\r\n }\r\n})\r\n .directive('expand', function () {\r\n function link(scope, element, attrs) {\r\n scope.$on('onExpandAll', function (event, args) {\r\n scope.expanded = args.expanded;\r\n });\r\n }\r\n return {\r\n link: link\r\n };\r\n });\r\nangular.module('inspinia').filter('changeTime', function () {\r\n\r\n return function (s) {\r\n var ms = s % 1000;\r\n s = (s - ms) / 1000;\r\n var secs = s % 60;\r\n s = (s - secs) / 60;\r\n var mins = s % 60;\r\n var hrs = (s - mins) / 60;\r\n return hrs + ':' + mins + ' hr';\r\n }\r\n});\r\n\r\n\r\n\r\n\nangular.module('inspinia').service('CentralHDManualAssignationService',function(ApiURL, PublicApiURL,ActivityURL,LocationURL,$http, FreelancerURL, SchedulingAPI){\r\n var vm = this;\r\n\r\n vm.setShowSuccess = function (success) {\r\n vm.showSuccess = success;\r\n }\r\n\r\n vm.setShowFailure = function (failure) {\r\n vm.showFailure = failure;\r\n }\r\n\t//http://192.168.0.80:92/CoreAPI/api/Ticket/new/byStatus?reqUserId=kanika.bansal%40innotiontech.com\r\n\tthis.GetTicketsByStatus = function (status,loggedinUser, token) {\r\n var url = ApiURL + '/api/Ticket/'+status+'/byStatus?reqUserId='+loggedinUser;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n //Get all freelancers\r\n//http://192.168.0.80:92/FreelancerAPI/api/FreeLancerUser/kanika.bansal%40innotiontech.com/GetAllUsers\r\n this.GetAllFreelancers = function (loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerUser/'+loggedinUser+'/GetAllUsers';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n //http://192.168.0.80:92/FreelancerAPI/api/FreeLancerUser/Kanika.bansal%40innotiontech.com/GetAllFreLancerWithFilters?itemNames=UserStatus%2CRole&itemValues=Active%2CField%20Engineer\r\n this.GetAllFreelancersWithFilters = function (loggedinUser,itemNames,itemValues, token) {\r\n var url = FreelancerURL + '/api/FreeLancerUser/'+loggedinUser+'/GetAllFreLancerWithFilters?itemNames=' + itemNames + '&itemValues=' + itemValues;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n// url = https://product.mymobiforce.com/schedulingAPI/api/AutoJobBroadcast/BroadcastJobsManualMode\r\nthis.AutoBroadcastAllNewJobsManualMode = function (loginUserId, ticketIds, token) { \r\n var url = SchedulingAPI + '/api/AutoJobBroadcast/BroadcastJobsManualMode';\r\n return $http.post(url,ticketIds,{\r\n headers:{'Content-Type':'application/json','Token':token, 'UserId':loginUserId}\r\n });\r\n\r\n /*var url = SchedulingAPI + 'api/AutoJobBroadcast/BroadcastJobsManualMode'; \r\n return $http.post(url, ticketIds, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n });*/\r\n}\r\n\r\nthis.PullBackJob = function (loginUserId, ticketIds, token) { \r\n var url = ApiURL + '/api/Ticket/PullBackFromDispatchSupervisor';\r\n return $http.put(url,ticketIds,{\r\n headers:{'Content-Type':'application/json','Token':token, 'UserId':loginUserId}\r\n });\r\n}\r\n\r\nthis.callToTechnicianApi = function (loggedinUser,userid,token) {\r\n $http.get(ApiURL + '/api/CallPatching/ClickToCallFieldTeam?userId='+userid,\r\n { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':loggedinUser } }).then(function (resp) {\r\n if (resp && resp.data) {\t \r\n if(resp.status==200)\r\n {\r\n vm.showSuccess(\"Success\",\"Call Initiated\"); \r\n }\r\n else {\r\n vm.showFailure(\"Failed\");\r\n }\r\n }\r\n });\r\n}\r\nthis.callToTechnicianInBroadcastState = function (loggedinUser,userid,TicketId,token) {\r\n $http.get(ApiURL + '/api/CallPatching/ClickToCallFieldTeamInTicketBroadcastState?userId='+userid+'&TicketId='+TicketId,\r\n { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':loggedinUser } }).then(function (resp) {\r\n if (resp && resp.data) {\t \r\n if(resp.status==200)\r\n {\r\n vm.showSuccess(\"Success\",\"Call Initiated\"); \r\n }\r\n else {\r\n vm.showFailure(\"Failed\");\r\n }\r\n }\r\n });\r\n }\r\n\r\n this.getAccounts = function (loggedinUser, token, callback, failure) {\r\n var url = ApiURL + '/api/account/GetAllAccountsMiniModel';\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json', 'Token': token,'UserId': loggedinUser } }).then(function (res) {\r\n if(callback){\r\n callback(res.data);\r\n }\r\n }, function () {\r\n failure(\"skills\", \"Unable to get accounts\");\r\n });\r\n }\r\n\r\n //http://192.168.0.80:92/CoreAPI/api/User/Kanika/byReportingToWithJobCount?reqUserId=kanika.bansal%40innotiontech.com\r\n this.GetTicketsById = function (ticketId,loggedinUser, token) {\r\n var url = ApiURL + '/api/Ticket/'+ticketId+'/'+loggedinUser+'/byTicketId';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAllSkills = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json', 'Token': token, 'UserId': loggedinUser}\r\n });\r\n }\r\n\r\n //https://product.mymobiforce.com/CoreAPI/api/TicketRemarkOnStatus/getTicketRemarkOnStatus?AtStatus=FollowUp\r\n this.GetReasonsByStatus = function (loggedinUser, token, status) {\r\n var url = ApiURL + '/api/TicketRemarkOnStatus/getTicketRemarkOnStatus?AtStatus='+status;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json', 'Token': token, 'UserId': loggedinUser}\r\n });\r\n }\r\n\r\n //Get Tickets by filter\r\n //http://192.168.0.80:92/CoreAPI/api/Ticket/kanika.bansal%40innotiontech.com/TicketStatus/Broadcasted/GetTicketsByUser\r\n//https://test.mymobiforce.com/coreapi/api/Ticket/reqUserId/GetTicketsForAssignation?itemNames=itemNames&itemValues=itemValues\r\n\r\n this.GetTicketsByFilter = function(loggedinUser,itemNames,itemValues, token){\r\n var url = ApiURL + '/api/Ticket/' + loggedinUser + '/GetTicketsForAssignation?itemNames=' + itemNames + '&itemValues=' + itemValues;\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser}\r\n })\r\n }\r\n\r\n //Get Users By Filter\r\n\r\n //\r\n // http://192.168.0.80:92/CoreAPI/api/User/kanika.bansal%40innotiontech.com/UserStatus/Active/getusersbyfilters\r\n this.GetUsersByFilter = function(loggedinUser,itemNames,itemValues, token){\r\n var url = ApiURL + '/api/User/' + loggedinUser + '/' + itemNames + '/' + itemValues + '/getusersbyfilters'\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser}\r\n })\r\n }\r\n\r\n //Assign Tickets\r\n //http://192.168.0.80:92/CoreAPI/api/Ticket/ass/asd/asd/AssignTicket\r\n this.AssignTickets = function(userId,loggedinUser,ticketList, token){\r\n var TicketId = ticketList.split(',');\r\n var url = ApiURL + '/api/Ticket/' + userId + '/' + loggedinUser + '/AssignTicketToDispatchSupervisor'\r\n return $http.put(url,TicketId, {\r\n headers:{'Content-Type':'application/json','Token':token,\r\n 'UserId': loggedinUser\r\n }\r\n })\r\n }\r\n\r\n\r\n // Bid Recieved Api\r\n // http://192.168.0.80:92/FreelancerAPI/api/BID/T0000000039/Received/kanika.bansal@innotiontech.com/byStatus\r\n this.GetBidReceivedByStatus = function(loggedinUser,ticketId,status, token){\r\n var url = FreelancerURL + '/api/BID/GetLeadsByStatus?TicketId' + '=' + ticketId +'&'+ 'leadStatus' + '=' + status\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser}\r\n })\r\n }\r\n\r\n //bid deny https://product.mymobiforce.com/freelancerAPI/api/BID/GetLeadsByStatus?TicketId=T1140000016977&leadStatus=Deny\r\n this.GetBidDeny = function(loggedinUser,ticketId,status, token){ \r\n var url = FreelancerURL + '/api/BID/GetLeadsByStatus?TicketId' + '=' + ticketId +'&'+ 'leadStatus' + '=' + status\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser}\r\n })\r\n }\r\n//https://product.mymobiforce.com/FreelancerAPI/api/BID/GetLeadsByStatus?TicketId=T1140000091078&leadStatus=Sent&filter=Online\r\n //https://product.mymobiforce.com/freelancerAPI/api/BID/GetLeadsByStatus?TicketId=T1140000016977&leadStatus=Sent\r\n this.GetBidSentByStatus = function(loggedinUser,ticketId,status,token,userfilter){ \r\n var url = FreelancerURL + '/api/BID/GetLeadsByStatus?TicketId' + '=' + ticketId +'&'+ 'leadStatus' + '=' + status +'&'+ 'filter' + '=' + userfilter\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser}\r\n })\r\n }\r\n\r\n //http://192.168.0.80:92/FreelancerAPI/api/BID/akshit.chauhan%40innotiontech.com/TicketStatus/Broadcasted/getjobsbyfilter\r\n this.GetBroadcastedBids = function (loggedinUser, itemNames,itemValues, token) {\r\n var url = FreelancerURL + '/api/BID/'+loggedinUser+'/' + itemNames + '/'+ itemValues + '/getjobsbyfilter';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n //Assign Bids\r\n //http://192.168.0.80:92/FreelancerAPI/api/BID/kanika.bansal%40innotiontech.com/T0000000040/pri/acceptBIDAssignJob?jobAssignRate=100&jobAssignGrossRate=0\r\nthis.AssignReceivedBid = function (loggedinUser, ticketId, userId, token) {\r\n var url = FreelancerURL + '/api/BID/'+loggedinUser+'/' + ticketId + '/' + userId + '/acceptBIDAssignJob';\r\n return $http.put(url,{}, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n //BroadCast Jobs/Bids\r\n //http://192.168.0.80:92/FreelancerAPI/api/BID/createbidforselectedteam?reqUserId=asdasd\r\n\r\n this.BroadCastJobs = function(loggedinUser,data, token){\r\n var url = FreelancerURL + '/api/BID/createbidforselectedteam?reqUserId=' + loggedinUser;\r\n return $http.post(url,data,{\r\n headers:{\r\n 'Content-Type':'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n //Get Users By Role\r\n//http://115.124.122.225/coreapi/api/User/Supervisor/byRole?reqUserId=satyendratiwari124%40gmail.com\r\n//http://192.168.0.80:92/CoreAPI/api/User/Supervisor/SkillSet/AC%20Repair/byRole?reqUserId=Kanika.bansal%40innotiontech.com\r\n this.GetUsersByRole = function (loggedinUser, role, itemNames,itemValues, token) {\r\n var url = ApiURL + '/api/User/'+role+ '/' + itemNames+ '/'+ itemValues+'/byRole?reqUserId=' + loggedinUser;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n //Get All Vendor\r\n //http://192.168.0.80:92/CoreAPI/api/Vendor/kanika.bansal%40innotiontech.com/getallvendors\r\n\r\n //http://192.168.0.80:92/CoreAPI/api/Vendor/Kanika.bansal%40innotiontech.com/VendorLocations/Maharashtra/getvendorsbyfilters\r\n this.GetAllVendors = function (loggedinUser,itemNames,itemValues, token) {\r\n var url = ApiURL + '/api/Vendor/'+ loggedinUser + '/' + itemNames + '/' +itemValues+ '/getvendorsbyfilters'\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n\r\n this.GetFreelancerVendorsByFilters = function (loggedinUser,itemNames,itemValues, token) {\r\n var url = ApiURL + '/api/Vendor/'+ loggedinUser + '/' + itemNames + '/' +itemValues+ '/getfreelancervendorsbyfilters'\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n // https://perf.mymobiforce.com/coreapi/api/Vendor/U350000000001/VendorStatus/Active/getfixedvendorsbyfilters\r\n this.GetFixedVendorsByFilters = function (loggedinUser,itemNames,itemValues, token) {\r\n var url = ApiURL + '/api/Vendor/'+ loggedinUser + '/' + itemNames + '/' +itemValues+ '/getfixedvendorsbyfilters'\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n //http://192.168.0.80:92/CoreAPI/api/Ticket/ankur.sharma%40innotiontech.com/byUserId?reqUserId=akshit.chauhan%40innotiontech.com\r\n\r\n this.GetTicketsByUserId = function(loggedinUser,UserId, token){\r\n var url = ApiURL + '/api/Ticket/' + UserId + '/byUserId?reqUserId=' + loggedinUser;\r\n return $http.get(url,{\r\n headers:{\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n // https://perf.mymobiforce.com/freelancerapi/api/BID/CreateRoutingBid?reqUserId=U350000000001\r\n this.RouteJobsforUser = function(loggedinUser,data, token){\r\n var url = FreelancerURL + '/api/BID/CreateRoutingBid?reqUserId=' + loggedinUser;\r\n return $http.post(url,data,{\r\n headers:{\r\n 'Content-Type':'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n this.getAllStateTech = function (loggedinUser,token) {\r\n var url = PublicApiURL + '/api/Location/GetSubRegion?userId='+loggedinUser+'®ion=INDIA';\r\n return $http.get(url,{\r\n headers:{\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\n// https://product.mymobiforce.com/coreapi/api/Ticket/TicketRejectionHistory?TicketId=T1140000092053\r\n\r\nthis.getRejectHistory = function (TicketId, loggedinUser, token) { \r\n var url = ApiURL + '/api/Ticket/TicketRejectionHistory?TicketId=' + TicketId;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n }\r\n \r\n });\r\n}\r\n\r\n//http://localhost:56749/api/User/GetUserByFiltersWithDynaPage?itemNames=SkillSet%2CLocations%2CRole&itemValues=EMF%20Survey%7CGeneral_Electrician%2CBIHAR%7CUTTAR%20PRADESH%2CField Engineer&userType=Freelancer&DateField=CreatedOn&PageIndex=0&PageSize=10\r\nthis.GetUserByFiltersWithDynaPage = function (loggedinUser,token,itemNames,itemValues,userType,userAvailableStatus,DateField,PageIndex,PageSize) {\r\n var url = '';\r\n url = ApiURL + '/api/User/GetUserByFiltersWithDynaPageForCHDAccount?itemNames=' + itemNames + '&itemValues=' + itemValues + '&userType=' + userType+ '&userAvailableStatus=' + userAvailableStatus + '&DateField=' + DateField + '&PageIndex=' + PageIndex + '&PageSize=' + PageSize;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\n//https://product.mymobiforce.com/coreapi/api/Ticket/GetTicketsForAssignationByCHDAccount?fromDate=2021-06-01&toDate=2021-06-10&reqUserId=U00000000412&itemNames=Search&itemValues=J009&textItemNames=&textItemValues=&templateCols=&templateItemNames=&templateItemValues=&DateField=CreatedOn&PageIndex=1&PageSize=10\r\nthis.getAllJobTickets = function (supervisorId, startDate, endDate, token, itemNames,itemValues,textItemNames,textItemValues,templateCols,templateItemNames,templateItemValues,DateField,PageIndex,PageSize,SortType,SortField) {\r\n var url = '';\r\n url = ApiURL + '/api/Ticket/GetTicketsForAssignationByCHDAccount?fromDate=' + startDate + '&toDate=' + endDate+ '&reqUserId=' + supervisorId + '&itemNames=' + itemNames + '&itemValues=' + itemValues + '&textItemNames=' + textItemNames + '&textItemValues=' + textItemValues +'&templateCols='+templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues+ '&DateField=' + DateField + '&PageIndex=' + PageIndex + '&PageSize=' + PageSize+ '&SortType=' + SortType+ '&SortField=' + SortField;\r\n // url = ApiURL + '/api/Ticket/GetTicketsbyDateRange?fromDate=' + startDate + '&toDate=' + endDate+ '&reqUserId=' + supervisorId + '&itemNames=' + itemNames + '&itemValues=' + itemValues+'&templateCols='+templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues + '&DateField=' + DateField;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': supervisorId\r\n }\r\n });\r\n}\r\n\r\n//http://localhost:56749/api/Ticket/GetAssignedTicketforUser?UserId=U400000000395&reqUserId=U00000000079\r\nthis.GetAssignedTicketforUser = function(UserId,loggedinUser,token){\r\n var url = ApiURL + '/api/Ticket/GetAssignedTicketforUser?UserId=' + UserId;\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser}\r\n })\r\n }\r\n\r\n this.GetJobTicket = function (ticketId, token) {\r\n var url = ApiURL + '/api/Ticket/' + ticketId + '/' + $localStorage.loggedInUserId + '/byTicketId';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetSchedulingEvaluationResult = function(data,reqUserId,token){\r\n var url = SchedulingAPI + '/api/AssistedScheduling/GetFavoriteFR?reqUserId='+reqUserId;\r\n return $http.post(url,data,{\r\n headers:{'Content-Type':'application/json','Token':token, 'UserId':reqUserId}\r\n });\r\n }\r\n\r\n // https://perf.mymobiforce.com/schedulingapi/api/AssistedScheduling/GetFavoriteFR?reqUserId=U400000000001\r\n this.GetAllPrefereTalentPool = function(data,reqUserId,token){\r\n var url = SchedulingAPI + '/api/AssistedScheduling/GetPreWorkedWith?reqUserId='+reqUserId;\r\n return $http.post(url,data,{\r\n headers:{'Content-Type':'application/json','Token':token, 'UserId':reqUserId}\r\n });\r\n }\r\n\r\n // https://perf.mymobiforce.com/schedulingapi/api/AssistedScheduling/GetPreWorkedWith?reqUserId=U400000000001\r\n this.GetAllTechnician = function(data,reqUserId,token){\r\n var url = SchedulingAPI + '/api/AssistedScheduling/GetSchedulingEvaluationResult?reqUserId='+reqUserId;\r\n return $http.post(url,data,{\r\n headers:{'Content-Type':'application/json','Token':token, 'UserId':reqUserId}\r\n });\r\n }\r\n\r\n this.BroadCastJobsforUser = function(loggedinUser,data, token){\r\n var url = FreelancerURL + '/api/BID/createBidFromAssistedScheduling?reqUserId=' + loggedinUser;\r\n return $http.post(url,data,{\r\n headers:{\r\n 'Content-Type':'application/json',\r\n 'Token': token, 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n\r\n // Action\r\n\r\n this.AcceptJob = function (data, token, loggedInUserId, success, failure) { \r\n var url = ApiURL + '/api/Ticket/updatestatus';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.getPdfReport = function(loggedinUser, ticketID, token){\r\n var url = ApiURL + '/api/Report/GeneratePdfReportForApprovedJob?TicketId=' +ticketID;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.PullBackTicket = function (loggedInUserId, ticketId, token) {\r\n var url = ApiURL + '/api/Ticket/' + loggedInUserId + '/' + ticketId + '/returnticket';\r\n return $http.put(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n })\r\n }\r\n\r\n this.RejectJob = function (data, token, loggedInUserId, success, failure) { \r\n var url = ApiURL + '/api/Ticket/updatestatus';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.ConvertToNewJob = function (data, token, loggedInUserId, success, failure) { \r\n var url = ApiURL + '/api/Ticket/updatestatus';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.UpdateHoldingStatus = function (loggedInUserId, ticketId, holdingStatus,reason,Remark, token) {\r\n var url = ApiURL + '/api/Ticket/' + loggedInUserId + '/' + ticketId + '/ticketholding?HoldingStatus=' + holdingStatus +'&Reason=' + reason+ '&Remark='+ Remark;\r\n return $http.put(url,{}, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n })\r\n }\r\n\r\n this.downloadOnSiteReport = function ( loggedInUserId, token,TicketId) { \r\n var url = ApiURL + '/api/Report/GeneratePdfOnSiteReport?TicketId=' + TicketId;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedInUserId \r\n }\r\n \r\n });\r\n }\r\n\r\n this.GetCancellationReasons = function (status, loggedInUserId,token) {\r\n var url = '';\r\n url = ApiURL + '/api/TicketCancelationReasonController/'+loggedInUserId+'/getCancellationReasons?AtStatus=' + status;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n\r\n // https://product.mymobiforce.com/coreapi/api/TicketRemarkOnStatus/getTicketRemarkOnStatus?AtStatus=PullBack\r\n this.GetPullBacknReasons = function (loggedInUserId,token) {\r\n var url = '';\r\n url = ApiURL + '/api/TicketRemarkOnStatus/getTicketRemarkOnStatus?AtStatus=' + 'PullBack';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n\r\n this.PullBackTicketFromTechnician = function (CancellationReasonsModel, loggedInUserId, token) {\r\n var url = ApiURL + '/api/Ticket/PullBackTicketFromTechnician';\r\n return $http.put(url, CancellationReasonsModel, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.UpdateJobServerCancel = function (CancellationReasonsModel, loggedInUserId, token) {\r\n var url = ApiURL + '/api/Ticket/UpdateJobServerCancel';\r\n return $http.put(url, CancellationReasonsModel, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.CancelTicket = function(loggedInUserId,ticketId, token){\r\n var url = ApiURL + '/api/Ticket/CancelTicket?reqUserId='+loggedInUserId +'&TicketId='+ticketId;\r\n return $http.put(url,null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n this.CancelTicket = function(loggedInUserId,data, token){\r\n var url = ApiURL + '/api/Ticket/PullBackTicketFromTechnician';\r\n return $http.put(url,data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.TBCCancelationAudit = function(TBCCancelationModel,ticketId,loggedInUserId, token){\r\n var url = ApiURL + '/api/Ticket/UpdateJobAudit?TicketId='+ticketId +'&AuditValue='+TBCCancelationModel;\r\n return $http.put(url,null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.updateTicketSettlement = function (data, token, loggedInUserId, success, failure) {\r\n \r\n var url = ApiURL + \"/api/Ticket/setsettlementstatus\"\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.UpdateFollowUpReason = function(data,files, token, loggedInUserId, success, failure){ \r\n var formdata = new FormData();\t\t\r\n formdata.append(\"files\", files[0]);\t\r\n var followupdata = JSON.stringify(data);\r\n formdata.append(\"ActivityModel\", followupdata);\r\n \r\n var url = ActivityURL + '/api/Activity/FollowUpWithReason';\r\n return $http.post(url,formdata,{\r\n headers:{'Content-Type':undefined,'Token':token,'UserId': loggedInUserId }\r\n }).then(success, function(error){\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n this.TicketFollowUpWithoutDoc = function(data, token, loggedInUserId, success, failure){ \r\n var formdata = new FormData();\t\t\r\n var followupdata = JSON.stringify(data);\r\n formdata.append(\"ActivityModel\", followupdata);\r\n \r\n var url = ActivityURL + '/api/Activity/FollowUpWithReason';\r\n return $http.post(url,formdata,{\r\n headers:{'Content-Type':undefined,'Token':token,'UserId': loggedInUserId }\r\n }).then(success, function(error){\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.getCustomerJobCardbyJobId = function(accountId, jobId, token ,success, failure){\r\n $http.get(ApiURL+\"/api/GetCustomerJobCardbyJobId/\"+jobId+\"/\"+accountId+\"/GetCustomerJobCardbyJobId\", {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': accountId\r\n }\r\n }).then(function(res){\r\n if(res && res.data && success){\r\n success(res.data);\r\n } else if(failure){\r\n failure();\r\n }\r\n });\r\n }\r\n\r\n this.AddSiteAuditwithAttachment = function(data, files, token, loggedinUser){ \r\n var formdata = new FormData();\t\t\r\n formdata.append(\"files\", files[0]);\t\r\n var followupdata = JSON.stringify(data);\r\n formdata.append(\"AuditRequestModel\", followupdata);\r\n formdata.append(\"reqUserId\", loggedinUser);\r\n var url = ApiURL + '/api/Upload/PostMediaFileWithAuditObject';\r\n return $http.post(url,formdata,{\r\n headers:{'Content-Type':undefined,'Token':token, 'UserId': loggedinUser}\r\n });\r\n }\r\n \r\n //https://perf.mymobiforce.com/freelancerapi/api/FreeLancerUser/F00000000684/U400000000001/byUserIdWithJobCount\r\n\tthis.getFixedUserInfo = function(userId, loggedInUser, token){\r\n // var url = ApiURL + '/api/User/' + userId +'/byUserIdWithJobCount?reqUserId='+ loggedInUser ;\r\n\t var url = FreelancerURL + '/api/FreeLancerUser/' + userId +'/'+ loggedInUser+ '/'+ 'byUserIdWithJobCount' ;\r\n\t return $http.get(url,{\r\n\t headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n\t })\r\n\t}\r\n\r\n\r\n //http://localhost:56749/api/CallPatching/F00000033807/NonExpireLeads/byUserIdStatusforCHDWithDynPaging?PageIndex=1&PageSize=10&OrderBy=broadcastAge&SortType=desc\r\n // https://product.mymobiforce.com/coreapi/api/Ticket/F00000000481/Total/byUserIdStatusforCHD?reqUserId=U00000000412\r\n this.getJobsByUserId=function(status,userId,loggedinUser, token,PageIndex,PageSize,OrderBy,SortType){\r\n //var url =ApiURL + \"/api/Ticket/\" +userId+\"/byUserId?reqUserId=\"+loggedinUser;\r\n var url =ApiURL + \"/api/CallPatching/\" +userId+ \"/\"+status+\"/byUserIdStatusforCHDWithDynPaging?\"+ 'PageIndex=' + PageIndex + '&PageSize=' + PageSize+ '&OrderBy=' + OrderBy + '&SortType=' + SortType;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, \r\n 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetFreelancerJobs = function(userId, loggedinUser, token){\r\n var url = FreelancerURL + '/api/FreelancerTicket/' + userId + '/' + loggedinUser + '/ByUserId'\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token, 'UserId':loggedinUser}\r\n });\r\n }\r\n\r\n this.ResolveException = function (loggedinUser,ticketId, token) {\r\n var url = SchedulingAPI + '/api/AutoSchedulerException/MarkResolveSchedulerExceptionForTicket?reqUserId=' + loggedinUser; \r\n return $http.put(url, {'exceptionIdList':ticketId}, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token , 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n\r\n\r\n // https://product.mymobiforce.com/coreapi/api/Ticket/ConvertToNewFromBroadcasted?PullBackReason=No%20Technician%20Found&MoveSPDbyTwoDays=true\r\n this.ConvertJobIntoNew = function (MoveSPDbyTwoDays,PullBackReason,loggedinUser,ticketId, token) { \r\n var url = ApiURL + '/api/Ticket/ConvertToNewFromBroadcasted?PullBackReason=' + PullBackReason + '&MoveSPDbyTwoDays=' + MoveSPDbyTwoDays;\r\n return $http.post(url,ticketId, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token , 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n \r\n this.convertScheduleException = function (ticket,loggedinUser,token) { \r\n var url = SchedulingAPI + '/api/AutoSchedulerException/MarkTicketToScheduleException';\r\n return $http.put(url,ticket, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token , 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n this.AssignTicketsToSupervisor = function(ticketList,loggedinUser, token){\r\n var url = ApiURL + '/api/Ticket/AssignTicketManually'\r\n return $http.put(url,ticketList, {\r\n headers:{'Content-Type':'application/json','Token':token,\r\n 'UserId': loggedinUser\r\n }\r\n })\r\n }\r\n});\nangular.module('inspinia').controller('CentralHDManualAssignationController', function (CentralHDManualAssignationService,CentralHelpdeskConfigService,ReferService, ScheduleAssignService,$q, $log, $state, $localStorage,UIURL, $stateParams, $uibModal, $scope, DTOptionsBuilder, DTColumnDefBuilder, toaster, $timeout, $compile, uiCalendarConfig, ImageUrl, PublicApiURL,$window) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var loggedinUserSkill = $localStorage.loggedInUser_SkillSet;\r\n var loggedinUserRegion = $localStorage.loggedInUser_Region;\r\n var accountid= $localStorage.accountConfig.AccountId;\r\n \r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n var token = $localStorage.token;\r\n vm.IsOpenBucketEnabled = $localStorage.IsOpenBucketEnabled;\r\n vm.IsAutoAssignToCHDteam = $localStorage.IsAutoAssignToCHDteam;\r\n vm.IsOpenBucketEnabled = $localStorage.IsOpenBucketEnabled;\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.accountConfig = $localStorage.accountConfig;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.IsMaterialDelivered = $localStorage.accountConfig.IsMaterialDelivered;\r\n vm.MobiforceCommission = vm.getAccountConfigSetting('MobiforceCommissionPercentage');\r\n vm.VendorAssignation = vm.getAccountConfigSetting('VendorAssignation');\r\n vm.EnableRegion = vm.getAccountConfigSetting('EnableRegion');\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n vm.FreelancerAccess = vm.getAccountConfigSetting('FreelancerAccess');\r\n //Global Variable Declaration\r\n vm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n vm.loggedInUserVendorId = $localStorage.loggedInUser_VendorId;\r\n vm.loggedInUserReportingTo = $localStorage.loggedInUser_ReportingTo;\r\n vm.TeamStatus = '';\r\n vm.NewJobs = [];\r\n vm.BroadcastedJobs = '';\r\n vm.Attendence = '';\r\n vm.JobProfile = '';\r\n vm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n vm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n vm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n vm.loggedinAs = $localStorage.loggedinAs;\r\n vm.skillsSearch = '';\r\n vm.locationSearch = '';\r\n vm.userlocation = '';\r\n vm.userskill = '';\r\n vm.UserAvailable='';\r\n vm.AttendenceForBid ='';\r\n vm.skillData = '';\r\n vm.applyUserFilter = '';\r\n vm.MoveSPDbyTwoDays = false;\r\n vm.filter = '';\r\n vm.circleData = '';\r\n vm.checkAll = '';\r\n vm.fixedUsers = '';\r\n vm.isChecked = \"fixed\";\r\n vm.freelancerUsers = '';\r\n vm.ticketaccount = '';\r\n vm.PermanentState = '';\r\n vm.PermanentCity ='';\r\n vm.ticketskill = '';\r\n vm.ticketstatus = '';\r\n vm.FreelancerVendorUsers = [];\r\n vm.VendorUsers = '';\r\n vm.selectedJob = '';\r\n vm.newJobselectAny = '';\r\n vm.fixed_selectAll = '';\r\n vm.searchText = \"\";\r\n vm.tab = '';\r\n vm.freelancerCheckAny = '';\r\n vm.filteredProperties = {};\r\n vm.filteredFreelancer = {};\r\n var GrossRate = 1.18;\r\n vm.selectsinglebidJob = '';\r\n vm.jobselected = [];\r\n vm.freelancer_selectAll = '';\r\n vm.supervisorList = '';\r\n vm.vendorList = [];\r\n vm.eventSources = [];\r\n vm.uiConfig = {};\r\n vm.AvailableUserData = '';\r\n vm.events = [];\r\n vm.UserAvailabilityData = '';\r\n vm.routebuttonDisable=false;\r\n vm.brodcastButtonDisable=false;\r\n vm.assignButtonDisable=false;\r\n vm.UserAvailabilityList = [\"Active\",\"MMFPrimeMember\",\"NoLead\",\"NonResponsive\",\"Offline\",\"OneJobDone\",\"Online\",\"Registered\"];\r\n var itemNames = '';\r\n var itemValues = '';\r\n var templateItemNames = '';\r\n var templateItemValues = '';\r\n var textItemNames = '';\r\n var textItemValues = '';\r\n var PageIndex = 1;\r\n var PageSize = 10; \r\n vm.SortType = 'desc';\r\n vm.SortField = 'CreatedOn';\r\n vm.IsSafetyAudit = 'Not Done'; \r\n vm.ratingwarning=\"\";\r\n vm.ticketListLength=0;\r\n vm.pageindexCount=0;\r\n vm.DateField=\"StatusChangedOn\";\r\n vm.searchStatusText=\"All\"; \r\n var uPageIndex = 1;\r\n var uPageSize = 10; \r\n var jPageIndex = 1;\r\n var jPageSize = 10; \r\n vm.UsersType=\"\";\r\n vm.uType=\"\";\r\n var uitemNames=\"\";\r\n vm.ComplianceDisable = true;\r\n var uitemValues=\"\";\r\n vm.searchUsersText=\"\";\r\n vm.TicketSelectedForAssistedSuggestion = \"\"\r\n vm.UserSuggestionList = [];\r\n vm.StoreUserSuggestionList = [];\r\n vm.UserSuggestionCount = '';\r\n vm.jobsCount='';\r\n vm.UserBIDCount = '';\r\n vm.showMode = 'nearBy';\r\n vm.ticketPageListCount = 10;\r\n vm.userPageListCount= 10;\r\n vm.suggestionPageListCount=10;\r\n vm.jobsPageListCount=10;\r\n vm.disableBroadcastButton = false;\r\n vm.disableBroadcastCloseButton = false;\r\n vm.pageListCounts = [10, 20, 30, 50];\r\n var startDate = moment().subtract(7, 'day').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.reasonsForFU = '';\r\n vm.reasonsForHold = ''; \r\n vm.primaryFollowUpReason = '';\r\n vm.primaryFollowUpRemark = ''; \r\n vm.primaryHoldReason='';\r\n vm.primaryHoldRemark=''; \r\n vm.convertNewReasons = '';\r\n vm.convertNewReasonsRemark ='';\r\n vm.disableExceptionButton = false;\r\n vm.pullBackReasons =''; \r\n vm.pullBackReasonsRemark= '';\r\n vm.ticketdates = { startDate: moment().subtract(7, 'day'), endDate: moment() };\r\n vm.ticketranges = {\r\n 'Today': [moment(), moment()],\r\n //'Yesterday': [moment().subtract(1, 'days'), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')]\r\n };\r\n\r\n var date = new Date();\r\n var d = date.getDate();\r\n var m = date.getMonth();\r\n var y = date.getFullYear(); \r\n vm.eventsF = function (start, end, timezone, callback) {\r\n var s = new Date(start).getTime() / 1000;\r\n var e = new Date(end).getTime() / 1000;\r\n var m = new Date(start).getMonth();\r\n var events = [{\r\n title: 'Feed Me ' + m,\r\n start: s + (50000),\r\n end: s + (100000),\r\n allDay: false,\r\n className: ['customFeed']\r\n }];\r\n callback(events);\r\n };\r\n\r\n //$scope.$parent.$parent.main.implementSelectItems('ticketList', this);\r\n\r\n\r\n vm.AutoBroadcastJobs = function(){\r\n vm.DisableBroadcastButtons(false); \r\n var ticketIds = ''; \r\n var count = 0; \r\n angular.forEach(vm.ticketList, function(d){\r\n if (d.checked) {\r\n count = count + 1;\r\n if(ticketIds == ''){\r\n ticketIds = d.TicketId;\r\n }\r\n else{\r\n ticketIds = ticketIds + \",\" + d.TicketId;\r\n } \r\n }\r\n })\r\n\r\n vm.confirmationMessage = 'Please confirm if you want to auto schedule ' + count + ' Jobs?';\r\n vm.autoBroadcastJobIds = ticketIds;\r\n confirmationModalInstance = $uibModal.open({\r\n templateUrl: 'auto_schedule_confirmation_model.html',\r\n scope: $scope,\r\n backdrop: 'static'\r\n });\r\n }\r\n\r\n vm.confirmationCloseModal = function () {\r\n vm.DisableBroadcastButtons(false); \r\n confirmationModalInstance.close();\r\n }\r\n\r\n\r\n vm.DisableBroadcastButtons = function (disable) {\r\n if(disable){\r\n vm.disableBroadcastButton = true;\r\n vm.disableBroadcastCloseButton = true;\r\n }\r\n else{\r\n vm.disableBroadcastButton = false;\r\n vm.disableBroadcastCloseButton = false;\r\n }\r\n }\r\n\r\n vm.AutoScheduleJobs = function () { \r\n vm.DisableBroadcastButtons(true);\r\n var data = {\r\n \"ticketIds\": vm.autoBroadcastJobIds\r\n } \r\n CentralHDManualAssignationService.AutoBroadcastAllNewJobsManualMode(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000); \r\n confirmationModalInstance.close(); \r\n vm.showSuccess(\"Success\", \"Jobs has been auto scheduled successfully\");\r\n }\r\n if (resp.status == 206) { \r\n vm.showFailure(\"Failed\", resp.data);\r\n vm.DisableBroadcastButtons(false); \r\n confirmationModalInstance.close();\r\n }\r\n }, function () { \r\n });\r\n }\r\n\r\n CentralHDManualAssignationService.setShowSuccess($scope.$parent.$parent.main.showSuccess);\r\n CentralHDManualAssignationService.setShowFailure($scope.$parent.$parent.main.showFailure);\r\n \r\n vm.callToTechnician = function (userid) { \r\n CentralHDManualAssignationService.callToTechnicianApi(loggedinUser,userid, token).then(function (resp) {\r\n if(resp.status == 200) {\r\n vm.showSuccess(\"Success\",\"Call Initiated\")\r\n }\r\n else {\r\n vm.showFailure(\"Failure\",resp.data.Message)\r\n }\r\n \r\n });\r\n \r\n }\r\n vm.callToTechnicianInBroadcastState = function (userid,TicketId) { \r\n CentralHDManualAssignationService.callToTechnicianInBroadcastState(loggedinUser,userid,TicketId,token).then(function (resp) {\r\n if(resp.status == 200) {\r\n vm.showSuccess(\"Success\",\"Call Initiated\")\r\n }\r\n else {\r\n vm.showFailure(\"Failure\",resp.data.Message)\r\n }\r\n \r\n });\r\n \r\n}\r\n\r\n vm.getRejectHistory = function (ticketId) \r\n { \r\n CentralHDManualAssignationService.getRejectHistory(ticketId,loggedinUser,token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.getDetailsList=resp.data;\r\n openHistoryModel = $uibModal.open({\r\n templateUrl: 'openHistoryModel.html',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n\r\n }, function () {\r\n \r\n });\r\n } \r\n\r\n vm.CloseHistoryModel = function () {\r\n openHistoryModel.close();\r\n }\r\n\r\n //pull back\r\n vm.PullBackJobs = function(){\r\n var ticketIds = ''; \r\n var count = 0; \r\n angular.forEach(vm.ticketList, function(d){\r\n if (d.checked) {\r\n count = count + 1;\r\n if(ticketIds == ''){\r\n ticketIds = d.TicketId;\r\n }\r\n else{\r\n ticketIds = ticketIds + \",\" + d.TicketId;\r\n } \r\n }\r\n })\r\n vm.pullBackJobIds = ticketIds;\r\n vm.DisableBroadcastButtons(true);\r\n var JobIdsforPull = [];\r\n JobIdsforPull.push(vm.pullBackJobIds); \r\n CentralHDManualAssignationService.PullBackJob(loggedinUser, JobIdsforPull, token).then(function (resp) {\r\n if (resp.status == 202) { \r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n vm.GetUserByFiltersWithDynaPage(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize); \r\n vm.showSuccess(\"Success\", \"Jobs - \" + vm.pullBackJobIds + \" pulledback succesfully\"); \r\n }, 1000); \r\n }\r\n if (resp.status == 206) { \r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n vm.DisableBroadcastButtons(false); \r\n }\r\n }, function () { \r\n });\r\n }\r\n\r\n /* alert on dayClick */\r\n vm.ev = {};\r\n vm.alertOnDayClick = function (date) {\r\n vm.alertMessage = (date.toString());\r\n vm.ev = {\r\n from: date.format('YYYY-MM-DD'),\r\n to: date.format('YYYY-MM-DD'),\r\n title: '',\r\n allDay: true\r\n };\r\n };\r\n\r\n /* alert on eventClick */\r\n vm.alertOnEventClick = function (date, jsEvent, view) {\r\n vm.alertMessage = (date.title);\r\n };\r\n /* alert on Drop */\r\n vm.alertOnDrop = function (event, delta, revertFunc, jsEvent, ui, view) {\r\n vm.alertMessage = ('Event Dropped to make dayDelta ' + delta);\r\n };\r\n /* alert on Resize */\r\n vm.alertOnResize = function (event, delta, revertFunc, jsEvent, ui, view) {\r\n vm.alertMessage = ('Event Resized to make dayDelta ' + delta);\r\n };\r\n /* add and removes an event source of choice */\r\n vm.addRemoveEventSource = function (sources, source) {\r\n var canAdd = 0;\r\n angular.forEach(sources, function (value, key) {\r\n if (sources[key] === source) {\r\n sources.splice(key, 1);\r\n canAdd = 1;\r\n }\r\n });\r\n if (canAdd === 0) {\r\n sources.push(source);\r\n }\r\n };\r\n /* add custom event*/\r\n vm.addEvent = function () {\r\n vm.events.push({\r\n title: $scope.ev.title,\r\n start: moment($scope.ev.from),\r\n end: moment($scope.ev.to),\r\n allDay: true,\r\n className: ['openSesame']\r\n });\r\n };\r\n /* remove event */\r\n /*$scope.remove = function (index) {\r\n $scope.events.splice(index, 1);\r\n };*/\r\n /* Change View */\r\n vm.changeView = function (view, calendar) {\r\n vm.currentView = view;\r\n uiCalendarConfig.calendars[calendar].fullCalendar('changeView', view);\r\n\r\n };\r\n /* Change View */\r\n vm.renderCalender = function (calendar) {\r\n $timeout(function () {\r\n if (uiCalendarConfig.calendars[calendar]) {\r\n uiCalendarConfig.calendars[calendar].fullCalendar('render');\r\n }\r\n });\r\n };\r\n /* Render Tooltip */\r\n $scope.eventRender = function (event, element, view) {\r\n element.attr({\r\n 'tooltip': event.title,\r\n 'uib-tooltip-append-to-body': true\r\n });\r\n $compile(element)($scope);\r\n };\r\n\r\n vm.currentView = 'month';\r\n\r\n /* config object */\r\n vm.uiConfig = {\r\n calendar: {\r\n height: 450,\r\n editable: false,\r\n displayEventTime: false,\r\n header: {\r\n left: 'title',\r\n center: 'myCustomButton',\r\n right: 'prev,next'\r\n },\r\n dayClick: vm.alertOnDayClick,\r\n eventClick: vm.alertOnEventClick,\r\n eventResize: vm.alertOnResize,\r\n eventRender: function (event, element, view) {\r\n element.attr({\r\n 'uib-tooltip': event.title,\r\n 'uib-tooltip-append-to-body': true\r\n });\r\n $compile(element)($scope);\r\n },\r\n businessHours: {\r\n start: '10:00', // a start time (10am in this example)\r\n end: '18:00', // an end time (6pm in this example)\r\n\r\n dow: [1, 2, 3, 4]\r\n // days of week. an array of zero-based day of week integers (0=Sunday)\r\n // (Monday-Thursday in this example)\r\n }\r\n }\r\n };\r\n\r\n vm.events = [];\r\n\r\n /* event sources array*/\r\n vm.eventSources = [vm.events, vm.eventsF];\r\n // vm.eventSources2 = [vm.calEventsExt, vm.eventsF, vm.events];\r\n\r\n //Availablity\r\n vm.Availibility = function (data) {\r\n vm.showAvailability = true;\r\n vm.AvailableUserData = data;\r\n vm.GetAssignedTicketforUser(data.UserId, loggedinUser, token)\r\n }\r\n\r\n vm.AvailibilityUS = function (data) {\r\n vm.showAvailability = true;\r\n vm.AvailableUserData = data;\r\n }\r\n\r\n vm.getAccounts = function () {\r\n CentralHelpdeskConfigService.getAllAccounts(loggedinUser, token).then(function (resp) { \r\n if (resp && resp.data && resp.status==200) { \r\n vm.accounts = resp.data;\r\n } \r\n }, function () { \r\n });\r\n } \r\n vm.getAccounts();\r\n\r\n\r\n vm.DisableRouteBroadcastButtons = function (disable) {\r\n if(disable){\r\n vm.brodcastButtonDisable = true;\r\n vm.routebuttonDisable = true;\r\n }\r\n else{\r\n vm.brodcastButtonDisable = false;\r\n vm.routebuttonDisable = false;\r\n }\r\n }\r\n\r\n //Get new Jobs\r\n vm.GetNewJobs = function () {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemName = \"Circle,SkillSet\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch;\r\n } else {\r\n var itemName = '';\r\n var itemValues = '';\r\n }\r\n\r\n if(loggedinUserSkill==\"VSAT\"){\r\n itemName+=\"Template\";\r\n itemValues+=\"VSAT CCR\";\r\n } else if(loggedinUserSkill==\"LeaseLine\"){\r\n itemName+=\"Template\";\r\n itemValues+=\"LeaseLine CCR\";\r\n }\r\n CentralHDManualAssignationService.GetTicketsByFilter(loggedinUser, itemName, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data) {\r\n vm.NewJobs = resp.data;\r\n\r\n for (var index = 0; index < vm.NewJobs.length; index++) {\r\n var today = moment();\r\n //var date = moment(\"2015-05-13\", \"YYYY-MM-DD\");\r\n var date2 = vm.NewJobs[index].CreationDate;//moment(vm.NewJobs[index].CreationDate,'DD/MM/YYYY').format(\"YYYY-MM-DD\");\r\n // date2 = new Date(date2);\r\n\r\n var duration = today.diff(date2, 'days');\r\n // var hours = today.diff(date2,'hours');\r\n vm.NewJobs[index].Age = duration;\r\n \r\n }\r\n vm.selectAllNewJob = false;\r\n vm.showMinusNewJob = false;\r\n if(vm.IsMaterialDelivered){\r\n for (var index = 0; index < vm.NewJobs.length; index++) {\r\n if(vm.NewJobs[index].MetrialDeliverStatus =='Delivered'){\r\n vm.NewJobs[index].IsDissablePermision = false;\r\n }else{\r\n vm.NewJobs[index].IsDissablePermision = true;\r\n }\r\n \r\n }\r\n }\r\n\r\n } else {\r\n vm.NewJobs = '';\r\n //$log.log('vm.NewJobs', 'List Empty')\r\n }\r\n }\r\n })\r\n }\r\n vm.GetRejectedJobs = function () {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemName = \"Ticket Status,Circle,SkillSet\";\r\n var itemValues = 'Rejected' + ',' + vm.locationSearch + ',' + vm.skillsSearch;\r\n } else {\r\n var itemName = 'Ticket Status';\r\n var itemValues = 'Rejected';\r\n }\r\n CentralHDManualAssignationService.GetTicketsByFilter(loggedinUser, itemName, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data) {\r\n vm.NewJobs = resp.data;\r\n\r\n for (var index = 0; index < vm.NewJobs.length; index++) {\r\n var today = moment();\r\n //var date = moment(\"2015-05-13\", \"YYYY-MM-DD\");\r\n var date2 = vm.NewJobs[index].CreationDate;//moment(vm.NewJobs[index].CreationDate,'DD/MM/YYYY').format(\"YYYY-MM-DD\");\r\n // date2 = new Date(date2);\r\n\r\n var duration = today.diff(date2, 'days');\r\n // var hours = today.diff(date2,'hours');\r\n vm.NewJobs[index].Age = duration;\r\n }\r\n vm.selectAllNewJob = false;\r\n vm.showMinusNewJob = false;\r\n //$log.log('New TicketList',vm.NewJobs);\r\n\r\n } else {\r\n vm.NewJobs = '';\r\n //$log.log('vm.NewJobs', 'List Empty')\r\n }\r\n }\r\n })\r\n }\r\n\r\n vm.getRatingStars = function (rating) {\r\n var stars = [];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.push(i);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n vm.getBlankStars = function (rating) {\r\n var stars = [1, 2, 3, 4, 5];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.splice(stars.indexOf(i), 1);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n //Get all Active Fixed Users\r\n\r\n vm.GetAllActiveFixedUsers = function () {\r\n\r\n if (vm.loggedInUserRole == 'Administrator' || vm.loggedInUserRole == 'Project Manager' || vm.loggedinAs == 'Supervisor' || vm.loggedinAs == 'Vendor Supervisor' || vm.loggedInUserRole =='Help Desk') {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemNames = \"Locations,SkillSet,UserStatus,Role\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active' + ',' + 'Field Engineer';\r\n } else {\r\n var itemNames = \"UserStatus,Role\";\r\n var itemValues = \"Active,Field Engineer\";\r\n }\r\n if(vm.loggedInUserRole =='Help Desk') {\r\n itemNames+=\",SkillSet,SubRegion\";\r\n itemValues+=\",\"+loggedinUserSkill+\",\"+loggedinUserRegion;\r\n }\r\n\r\n CentralHDManualAssignationService.GetUsersByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.fixedUsers = resp.data;\r\n //$log.log('vm.fixedUsers', vm.fixedUsers);\r\n preprocessData(vm.fixedUsers);\r\n }\r\n })\r\n } else if (vm.loggedInUserRole == 'Vendor Manager') {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemNames = \"Locations,SkillSet,UserStatus,Role\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active' + ',' + 'Field Engineer';\r\n\r\n } else {\r\n var itemNames = \"UserStatus,Role\";\r\n var itemValues = \"Active,Field Engineer\";\r\n }\r\n\r\n CentralHDManualAssignationService.GetUsersByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.fixedUsers = resp.data;\r\n preprocessData(vm.fixedUsers);\r\n }\r\n })\r\n }\r\n }\r\n\r\n vm.loadAllSkills = function(){\r\n CentralHDManualAssignationService.GetAllSkills(loggedinUser, token).then(function (resp) {\r\n vm.skillsWithPipe = '';\r\n if (resp && resp.data) {\r\n vm.skillData = resp.data;\r\n if(vm.skillData && vm.skillData.length>0){\r\n angular.forEach(vm.skillData, function(s){\r\n vm.skillsWithPipe += s.SkillName+\"|\";\r\n });\r\n vm.skillsWithPipe = vm.skillsWithPipe.length>0\r\n ? vm.skillsWithPipe.substring(0,vm.skillsWithPipe.length-1) : \"\";\r\n }\r\n }\r\n });\r\n }\r\n vm.loadAllSkills();\r\n\r\n\r\n vm.GetFollowupReasons = function(){\r\n CentralHDManualAssignationService.GetReasonsByStatus(loggedinUser, token, 'FollowUp').then(function (resp) { \r\n if (resp && resp.data) {\r\n vm.reasonsForFU = resp.data;\r\n }\r\n });\r\n }\r\n vm.GetFollowupReasons();\r\n\r\n vm.GetHoldReasons = function(){\r\n CentralHDManualAssignationService.GetReasonsByStatus(loggedinUser, token, 'Hold').then(function (resp) { \r\n if (resp && resp.data) {\r\n vm.reasonsForHold = resp.data;\r\n }\r\n });\r\n }\r\n vm.GetHoldReasons();\r\n\r\n //Get all Freelancers\r\n vm.GetAllFreelancers = function () {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemNames = \"UserStatus,Locations,SkillSet,Role\";\r\n var itemValues = \"Active\" + ',' + vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Field Engineer';\r\n } else {\r\n var itemNames = \"UserStatus,Role\";\r\n var itemValues = \"Active,Field Engineer\";\r\n if(vm.skillsWithPipe && vm.skillsWithPipe.length>0){\r\n itemNames+=\",SkillSet\";\r\n itemValues+=\",\"+vm.skillsWithPipe;\r\n }\r\n }\r\n CentralHDManualAssignationService.GetAllFreelancersWithFilters(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.freelancerUsers = resp.data;\r\n // for(var i=0;i 0) {\r\n vm.FreelancerVendorUsers = resp.data;\r\n // for(var i=0;i 0) {\r\n CentralHDManualAssignationService.AssignTickets(userId, loggedinUser, itemValues, token).then(function (resp) {\r\n\r\n if (resp && resp.data && resp.data.ErrorCode == 140 && resp.data.Message) {\r\n if (mode == 'fixed') {\r\n vm.showFailure(\"Failed\", resp.data.Message + \". Please recharge your account.\");\r\n vm.assignButtonDisable = false;\r\n } else {\r\n vm.showFailure(\"Failed\", resp.data.Message + \".\");\r\n vm.assignButtonDisable = false;\r\n }\r\n } else if (resp && resp.data && resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Ticket assigned successfully\"); \r\n $timeout(function () {\r\n vm.applyTicketFilter();\r\n vm.GetUserByFiltersWithDynaPage(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize);\r\n }, 1000);\r\n vm.assignButtonDisable = false;\r\n }\r\n else if (resp.status == 206) {\r\n vm.showFailure(\"Failed\", resp.data); \r\n $timeout(function () {\r\n vm.applyTicketFilter();\r\n vm.applyUserFilter(); \r\n }, 1000);\r\n vm.assignButtonDisable = false;\r\n } else {\r\n vm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n vm.assignButtonDisable = false;\r\n }\r\n\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n vm.assignButtonDisable = false;\r\n })\r\n } else {\r\n vm.showFailure(\"Failed\", \"Please select jobs to assign\");\r\n vm.assignButtonDisable = false;\r\n }\r\n }\r\n\r\n //Assign Tickets\r\n vm.AssignTicketsToSupervisor = function (userId) {\r\n vm.assignButtonDisable = true;\r\n var itemValues = [];\r\n angular.forEach(vm.ticketList, function (d, k) {\r\n // if (d.TicketStatus==\"New\") {\r\n if (d.checked) {\r\n itemValues.push(d.TicketId);\r\n }\r\n // }\r\n })\r\n var data = {\r\n \"TicketIds\":itemValues,\r\n \"AssignToUserId\":userId\r\n }\r\n if (itemValues.length > 0) {\r\n CentralHDManualAssignationService.AssignTicketsToSupervisor(data, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data && resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Ticket assigned successfully\"); \r\n $timeout(function () {\r\n vm.applyTicketFilter();\r\n vm.GetUserByFiltersWithDynaPage(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize);\r\n }, 1000);\r\n vm.assignButtonDisable = false;\r\n }\r\n else if (resp.status == 206) {\r\n vm.showFailure(\"Failed\", resp.data); \r\n $timeout(function () {\r\n vm.applyTicketFilter();\r\n vm.applyUserFilter(); \r\n }, 1000);\r\n vm.assignButtonDisable = false;\r\n } else {\r\n vm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n vm.assignButtonDisable = false;\r\n }\r\n\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n vm.assignButtonDisable = false;\r\n })\r\n } else {\r\n vm.showFailure(\"Failed\", \"Please select jobs to assign\");\r\n vm.assignButtonDisable = false;\r\n }\r\n }\r\n //Get Broadcasted Jobs\r\n vm.GetBroadcastedJobs = function () {\r\n\r\n // ManualAssignationService.GetTicketsByFilter(loggedinUser,\"Ticket Status\",\"Broadcasted\").then(function(resp){\r\n\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemName = \"Ticket Status,Circle,SkillSet\";\r\n var itemValues = 'Broadcasted' + ',' + vm.locationSearch + ',' + vm.skillsSearch;\r\n } else {\r\n var itemName = 'Ticket Status';\r\n var itemValues = 'Broadcasted';\r\n }\r\n\r\n CentralHDManualAssignationService.GetBroadcastedBids(loggedinUser, itemName, itemValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.BroadcastedJobs = resp.data;\r\n for (var index = 0; index < vm.BroadcastedJobs.length; index++) {\r\n vm.time = vm.BroadcastedJobs[index].BIDDuration;\r\n //$log.log(\"BidDuration: \",vm.time);\r\n var hr = parseInt(vm.time / 60);\r\n var min = vm.time % 60;\r\n vm.BroadcastedJobs[index].BIDDuration = hr + \":\" + min;\r\n }\r\n // vm.TeamProfile = vm.TeamProfile[0];\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get broadcasted jobs, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get broadcasted jobs, server is not responding correctly.\");\r\n })\r\n }\r\n\r\n \r\n\r\n vm.toggleAll = function () {\r\n //$log.log('checkAll', vm.checkAll);\r\n var bool = true;\r\n if (vm.checkAll) {\r\n bool = false;\r\n }\r\n angular.forEach(vm.NewJobs, function (v, k) {\r\n // //$log.log('v',v);\r\n // //$log.log('k',k);\r\n v.checked = !bool;\r\n // //$log.log('!bool', v.checked);\r\n vm.checkAll = !bool;\r\n });\r\n }\r\n\r\n vm.checkAny = function (i) {\r\n //$log.log('newJobselectAny', vm.newJobselectAny);\r\n vm.checkAll = true;\r\n angular.forEach(vm.NewJobs, function (v, k) {\r\n\r\n if (!v.checked) {\r\n vm.checkAll = false;\r\n }\r\n });\r\n\r\n }\r\n\r\n vm.showCheckAny = function (i) {\r\n vm.showMinus = true;\r\n angular.forEach(vm.freelancerCheckAny, function (v, k) {\r\n if (v != true && k == vm.freelancerCheckAny[i]) {\r\n vm.showMinus = false;\r\n } else {\r\n vm.showMinus = true;\r\n }\r\n });\r\n }\r\n\r\n vm.GetTicketById = function (ticketId) {\r\n CentralHDManualAssignationService.GetTicketsById(ticketId, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.JobProfile = resp.data;\r\n }\r\n })\r\n }\r\n\r\n //Advance Search\r\n vm.SearchModal = {};\r\n vm.AdvanceSearch = function () {\r\n vm.SearchModal = $uibModal.open({\r\n templateUrl: 'AssignFilter.html',\r\n backdrop: 'static',\r\n scope: $scope\r\n });\r\n //Load All Skills\r\n if (vm.skillData.length==0) {\r\n CentralHDManualAssignationService.GetAllSkills(loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.skillData = resp.data;\r\n }\r\n })\r\n } \r\n }\r\n vm.removeFilters = function () {\r\n if (vm.isChecked == 'fixed') {\r\n var itemNames = \"TicketStatus\";\r\n var itemValues = 'New';\r\n if (vm.locationSearch) {\r\n itemNames += \",Circle\";\r\n itemValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n itemNames += \",SkillSet\";\r\n itemValues += \",\" + vm.skillsSearch;\r\n }\r\n\r\n CentralHDManualAssignationService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n });\r\n\r\n var teamIteamNames = \"UserStatus,Role\";\r\n var teamIteamValues = 'Active' + ',' + 'Field Engineer';\r\n\r\n if (vm.locationSearch) {\r\n teamIteamNames += \",Locations\";\r\n teamIteamValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n teamIteamNames += \",SkillSet\";\r\n teamIteamValues += \",\" + vm.skillsSearch;\r\n }\r\n CentralHDManualAssignationService.GetUsersByFilter(loggedinUser, teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.fixedUsers = resp.data;\r\n //$log.log('fixedUsers', resp.data);\r\n preprocessData(vm.fixedUsers);\r\n } else {\r\n vm.fixedUsers = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get users, server is not responding correctly.\");\r\n })\r\n\r\n\r\n } else if (vm.isChecked == 'freelancer') {\r\n\r\n var itemNames = \"TicketStatus\";\r\n var itemValues = 'New';\r\n\r\n if (vm.locationSearch) {\r\n itemNames += \",Circle\";\r\n itemValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n itemNames += \",SkillSet\";\r\n itemValues += \",\" + vm.skillsSearch;\r\n }\r\n CentralHDManualAssignationService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n })\r\n\r\n var teamIteamNames = \"UserStatus,Role\";\r\n var teamIteamValues = 'Active' + ',' + 'Field Engineer';\r\n\r\n if (vm.locationSearch) {\r\n teamIteamNames += \",Locations\";\r\n teamIteamValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n teamIteamNames += \",SkillSet\";\r\n teamIteamValues += \",\" + vm.skillsSearch;\r\n } else if(vm.skillsWithPipe && vm.skillsWithPipe.length>0){\r\n teamIteamNames+=\",SkillSet\";\r\n teamIteamValues+=vm.skillsWithPipe;\r\n }\r\n CentralHDManualAssignationService.GetAllFreelancersWithFilters(loggedinUser, teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.freelancerUsers = resp.data;\r\n //$log.log('freelancers', vm.freelancerUsers);\r\n preprocessData(vm.freelancerUsers);\r\n } else {\r\n vm.freelancerUsers = '';\r\n }\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get freelancers, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get freelancers, server is not responding correctly.\");\r\n });\r\n\r\n var broadItemNames = 'Circle,SkillSet,TicketStatus';\r\n var broadItemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Broadcasted';\r\n\r\n CentralHDManualAssignationService.GetBroadcastedBids(loggedinUser, broadItemNames, broadItemValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.BroadcastedJobs = resp.data;\r\n // vm.TeamProfile = vm.TeamProfile[0];\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get broadcasted jobs, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get broadcasted jobs, server is not responding correctly.\");\r\n })\r\n\r\n\r\n } else if (vm.isChecked == 'vendor') {\r\n var itemNames = \"TicketStatus\";\r\n var itemValues = 'New';\r\n if (vm.locationSearch) {\r\n itemNames += \",Circle\";\r\n itemValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n itemNames += \",SkillSet\";\r\n itemValues += \",\" + vm.skillsSearch;\r\n }\r\n\r\n CentralHDManualAssignationService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n }\r\n\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n })\r\n\r\n var teamIteamNames = \"UserStatus,Role\";\r\n var teamIteamValues = 'Active' + ',' + 'Field Engineer';\r\n\r\n if (vm.locationSearch) {\r\n teamIteamNames += \",Locations\";\r\n teamIteamValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n teamIteamNames += \",SkillSet\";\r\n teamIteamValues += \",\" + vm.skillsSearch;\r\n }\r\n CentralHDManualAssignationService.GetAllVendors(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data) {\r\n vm.vendorList = resp.data;\r\n preprocessData(vm.vendorList);\r\n }\r\n } else {\r\n vm.vendorList = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get vendors, server is not responding correctly.\");\r\n })\r\n\r\n } else if (vm.isChecked == 'supervisor') {\r\n\r\n var itemNames = \"TicketStatus\";\r\n var itemValues = 'New';\r\n\r\n if (vm.locationSearch) {\r\n itemNames += \",Circle\";\r\n itemValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n itemNames += \",SkillSet\";\r\n itemValues += \",\" + vm.skillsSearch;\r\n }\r\n CentralHDManualAssignationService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n });\r\n\r\n var teamIteamNames = \"UserStatus\";\r\n var teamIteamValues = 'Active';\r\n\r\n if (vm.locationSearch) {\r\n teamIteamNames += \",Locations\";\r\n teamIteamValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n teamIteamNames += \",SkillSet\";\r\n teamIteamValues += \",\" + vm.skillsSearch;\r\n }\r\n CentralHDManualAssignationService.GetUsersByRole(loggedinUser, 'Supervisor', teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp && resp.data.length > 0) {\r\n vm.supervisorList = resp.data;\r\n preprocessData(vm.supervisorList);\r\n } else {\r\n vm.supervisorList = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get supervisors, server is not responding correctly.\");\r\n });\r\n }\r\n }\r\n\r\n //To Search\r\n vm.search = function () {\r\n if (vm.searchform.$valid) {\r\n if (vm.isChecked == 'fixed') {\r\n var itemNames = \"Circle,SkillSet,TicketStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'New';\r\n CentralHDManualAssignationService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n });\r\n\r\n var teamIteamNames = \"Locations,SkillSet,UserStatus,Role\";\r\n var teamIteamValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active' + ',' + 'Field Engineer';\r\n CentralHDManualAssignationService.GetUsersByFilter(loggedinUser, teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.fixedUsers = resp.data;\r\n //$log.log('fixedUsers', resp.data);\r\n preprocessData(vm.fixedUsers);\r\n } else {\r\n vm.fixedUsers = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get field engineers, server is not responding correctly.\");\r\n })\r\n } else if (vm.isChecked == 'freelancer') {\r\n var itemNames = \"Circle,SkillSet,TicketStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'New';\r\n CentralHDManualAssignationService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n });\r\n\r\n var teamIteamNames = \"Locations,SkillSet,UserStatus,Role\";\r\n var teamIteamValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active' + ',' + 'Field Engineer';\r\n CentralHDManualAssignationService.GetAllFreelancersWithFilters(loggedinUser, teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.freelancerUsers = resp.data;\r\n //$log.log('freelancers', vm.freelancerUsers);\r\n preprocessData(vm.freelancerUsers);\r\n } else {\r\n vm.freelancerUsers = '';\r\n }\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get field engineers, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get field engineers, server is not responding correctly.\");\r\n });\r\n\r\n var broadItemNames = 'Circle,SkillSet,TicketStatus';\r\n var broadItemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Broadcasted';\r\n CentralHDManualAssignationService.GetBroadcastedBids(loggedinUser, broadItemNames, broadItemValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.BroadcastedJobs = resp.data;\r\n // vm.TeamProfile = vm.TeamProfile[0];\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get broadcasted jobs, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get broadcasted jobs, server is not responding correctly.\");\r\n })\r\n\r\n\r\n } else if (vm.isChecked == 'vendor') {\r\n\r\n var itemNames = \"Circle,SkillSet,TicketStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'New';\r\n\r\n CentralHDManualAssignationService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n })\r\n\r\n var teamIteamNames = \"Locations,SkillSet,UserStatus,Role\";\r\n var teamIteamValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active' + ',' + 'Field Engineer';\r\n CentralHDManualAssignationService.GetAllVendors(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data) {\r\n vm.vendorList = resp.data;\r\n preprocessData(vm.vendorList);\r\n }\r\n } else {\r\n vm.vendorList = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get vendors, server is not responding correctly.\");\r\n });\r\n\r\n } else if (vm.isChecked == 'supervisor') {\r\n\r\n var itemNames = \"Circle,SkillSet,TicketStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'New';\r\n CentralHDManualAssignationService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get supervisors, server is not responding correctly.\");\r\n });\r\n\r\n var teamIteamNames = \"Locations,SkillSet,UserStatus\";\r\n var teamIteamValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active';\r\n CentralHDManualAssignationService.GetUsersByRole(loggedinUser, 'Supervisor', teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp && resp.data.length > 0) {\r\n vm.supervisorList = resp.data;\r\n preprocessData(vm.supervisorList);\r\n } else {\r\n vm.supervisorList = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get users, server is not responding correctly.\");\r\n })\r\n\r\n }\r\n vm.SearchModal.close();\r\n } else {\r\n vm.searchform.submitted = true;\r\n }\r\n\r\n\r\n }\r\n\r\n \r\n vm.tabNo = function (tab) {\r\n vm.tab = tab;\r\n //$log.log('TabNo', vm.tab);\r\n }\r\n\r\n vm.CloseAdvanceSearchModal = function () {\r\n vm.locationSearch = '';\r\n vm.skillsSearch = '';\r\n vm.SearchModal.close();\r\n }\r\n\r\n vm.ChangeMode = function (mode) {\r\n vm.tabNo('1');\r\n if (mode == 'fixed') {\r\n vm.fixed_select_all = false;\r\n vm.fixed_selectAll = false;\r\n vm.selectedItems = [];\r\n vm.fixed_select_single = [];\r\n if(vm.getAccountConfigSetting('CustomizeJobAssign')){\r\n vm.filteredProperties={\"SkillSet\":\"Water Sample Collection\"};\r\n } \r\n vm.GetAllActiveFixedUsers();\r\n\r\n } else if (mode == 'freelancer') {\r\n // vm.GetBroadcastedJobs();\r\n vm.GetAllFreelancers();\r\n vm.free_selectedItems = [];\r\n vm.freelancer_select_single = [];\r\n vm.free_NewJobSelectedItems = [];\r\n vm.freelancer_select_single_NewJob = [];\r\n vm.freelancer_select_all = false;\r\n vm.freelancer_selectAll = false;\r\n vm.freelancer_SelectAllJob = false;\r\n vm.freelancer_Select_All_NewJobs = false;\r\n\r\n\r\n } else if (mode == 'FixedVendors') {\r\n vm.GetAllVendors();\r\n vm.fixed_select_all = false;\r\n vm.fixed_selectAll = false;\r\n vm.selectedItems = [];\r\n vm.fixed_select_single = [];\r\n if(vm.getAccountConfigSetting('CustomizeJobAssign')){\r\n vm.filteredProperties={\"SkillSet\":\"Water Lab Test\"};\r\n }\r\n } else if (mode == 'vendor') {\r\n // vm.GetBroadcastedJobs();\r\n vm.GetAllFreelancerVendors();\r\n vm.Vendor_selectedItems = [];\r\n vm.Vendor_select_single = [];\r\n vm.Vendor_NewJobSelectedItems = [];\r\n vm.Vendor_select_single_NewJob = [];\r\n vm.Vendor_select_all = false;\r\n vm.Vendor_selectAll = false;\r\n vm.Vendor_SelectAllJob = false;\r\n vm.Vendor_Select_All_NewJobs = false;\r\n\r\n\r\n }\r\n else if (mode == 'supervisor') {\r\n vm.GetUsersByRole('Supervisor');\r\n vm.fixed_select_all = false;\r\n vm.fixed_selectAll = false;\r\n vm.selectedItems = [];\r\n vm.fixed_select_single = [];\r\n if(vm.getAccountConfigSetting('CustomizeJobAssign')){\r\n vm.filteredProperties = {\"SkillSet\":\"Water Lab Test\"};\r\n }\r\n }\r\n }\r\n vm.ChangeMode('fixed');\r\n\r\n\r\n //Get Users By Role\r\n\r\n vm.GetUsersByRole = function (role) {\r\n\r\n if (vm.loggedInUserRole == 'Administrator' || vm.loggedInUserRole == 'Project Manager') {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemNames = \"Locations,SkillSet,UserStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active';\r\n } else {\r\n var itemNames = \"UserStatus\";\r\n var itemValues = \"Active\";\r\n }\r\n } else if (vm.loggedinAs == 'Supervisor' || vm.loggedinAs == 'Vendor Supervisor') {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemNames = \"Locations,SkillSet,UserStatus,ReportingTo\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active' + ',' + vm.loggedInUserReportingTo;\r\n } else {\r\n var itemNames = \"UserStatus,ReportingTo\";\r\n var itemValues = \"Active,\" + vm.loggedInUserReportingTo;\r\n }\r\n } else if (vm.loggedInUserRole == 'Vendor Manager') {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemNames = \"Locations,SkillSet,UserStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active';\r\n } else {\r\n var itemNames = \"UserStatus\";\r\n var itemValues = \"Active,\";\r\n }\r\n }\r\n else if (vm.loggedInUserRole == 'Help Desk') {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemNames = \"Locations,SkillSet,UserStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active';\r\n } else {\r\n var itemNames = \"UserStatus\";\r\n var itemValues = \"Active,\";\r\n }\r\n }\r\n\r\n CentralHDManualAssignationService.GetUsersByRole(loggedinUser, role, itemNames, itemValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.supervisorList = resp.data;\r\n preprocessData(vm.supervisorList);\r\n }\r\n })\r\n\r\n }\r\n\r\n vm.processBroadcastRouteResponse= function(data){\r\n var SuccessCount = 0;\r\n var failuremsg = '';\r\n\r\n angular.forEach(data, function (res) {\r\n if (res.BroadcastStatus=='Success') {\r\n SuccessCount = SuccessCount + 1; \r\n }\r\n else\r\n {\r\n failuremsg = failuremsg + res.JobId + ' ' + res.BroadcastStatus + ' ';\r\n }\r\n });\r\n\r\n if(SuccessCount > 0 && failuremsg)\r\n {\r\n failuremsg = SuccessCount + ' Jobs routed Successfully ' + failuremsg;\r\n vm.showFailure('Failed',failuremsg);\r\n }\r\n else if(SuccessCount > 0)\r\n {\r\n failuremsg = SuccessCount + ' Jobs routed Successfully ';\r\n vm.showSuccess('Success',failuremsg);\r\n }\r\n else\r\n {\r\n vm.showFailure('Failed',failuremsg);\r\n }\r\n }\r\n\r\n //vm.tabNo('1');\r\n // Route Jobs\r\n vm.routeTicket = function(index){\r\n vm.DisableRouteBroadcastButtons(true);\r\n var data = {};\r\n for(var i=0; i< vm.ticketList.length;i++){\r\n if(vm.ticketList[i].TicketStatus==\"New\")\r\n {\r\n if(vm.ticketList[i].checked){\r\n if(i==0){\r\n data.JobIds = vm.ticketList[i].TicketId;\r\n }else{\r\n data.JobIds = data.JobIds + ',' + vm.ticketList[i].TicketId;\r\n }\r\n }\r\n }\r\n } \r\n for(var i=0; i< vm.UserByFiltersList.length;i++){\r\n if(vm.UserByFiltersList[i].checked){\r\n data.UserId = vm.UserByFiltersList[i].UserId;\r\n break;\r\n }\r\n }\r\n\t\t\t if(data.JobIds){\r\n CentralHDManualAssignationService.RouteJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 201) {\r\n vm.processBroadcastRouteResponse(resp.data);\t\t \r\n\t\t\t\t\t $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.UsersFilterArray(); \r\n vm.GetUserByFiltersWithDynaPage(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize);\r\n vm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t }, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t vm.showFailure(\"Failed\", resp.data.Message);\r\n vm.DisableRouteBroadcastButtons(false);\r\n\t\t\t\t\t}\r\n\t\t\t\t });\r\n\t\t\t }else{\r\n\t\t\t\t vm.showFailure(\"Failed\", \"Please select tickets.\");\r\n vm.DisableRouteBroadcastButtons(false);\r\n\t\t\t }\r\n\t\t\t\r\n\t\t}\r\n\r\n // Route Jobs for user Suggestion\r\n vm.routeTicketUS = function (user) { \r\n vm.DisableRouteBroadcastButtons(true);\r\n var data = user; //vm.UserSuggestionList[0];\r\n var temp = [];\r\n temp.push({ \"UserId\": data.id, \"SuggestedPrice\": null, \"Price\": parseFloat(data.Price), \"Distance\": parseFloat(data.UserDistance) });\r\n var data = {\r\n \"JobId\": vm.broadcastTicketId,\r\n \"BIDDuration\": vm.TicketSelectedForAssistedSuggestion.BidDuration,\r\n \"MobiforceCommissionPercentage\": vm.TicketSelectedForAssistedSuggestion.MobiforceCommission,\r\n \"BroadcastType\": \"Route\",\r\n \"TechnicianSource\": 1,\r\n \"Users\": temp\r\n };\r\n if (data.Users.length > 0) {\r\n vm.showloading = true;\r\n CentralHDManualAssignationService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n \r\n if (resp.status == 201) {\r\n vm.showSuccess('Success', \"Jobs Route Successfully\");\r\n $timeout(function () {\r\n $state.reload();\r\n vm.DisableRouteBroadcastButtons(false);\r\n }, 2000);\r\n }\r\n else if (resp.status == 206) {\r\n vm.showFailure('Failed', resp.data.Message);\r\n vm.DisableRouteBroadcastButtons(false);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", \"Users Not Found\");\r\n $timeout(function () {\r\n $state.reload();\r\n vm.DisableRouteBroadcastButtons(false);\r\n }, 2000);\r\n }\r\n vm.showloading = false;\r\n });\r\n } else {\r\n vm.showFailure(\"Failed\", \"Please select users.\");\r\n $timeout(function () {\r\n $state.reload();\r\n vm.DisableRouteBroadcastButtons(false);\r\n }, 2000);\r\n }\r\n \r\n }\r\n\r\n //brodcast ticket nearBy\r\n vm.BroadcastTicketUserSuggestion = function (i) {\r\n //vm.dissbleBroadcastButton = true;\r\n vm.DisableRouteBroadcastButtons(true);\r\n var temp = [];\r\n angular.forEach(vm.UserSuggestionList, function(d){\r\n if (d.checked) {\r\n temp.push({ \"UserId\": d.id, \"SuggestedPrice\": null, \"Price\": parseInt(d.Price), \"Distance\": parseInt(d.UserDistance) });\r\n \r\n }\r\n })\r\n var data = {\r\n \"JobId\": vm.broadcastTicketId,\r\n \"BIDDuration\": vm.TicketSelectedForAssistedSuggestion.BidDuration,\r\n \"MobiforceCommissionPercentage\": vm.TicketSelectedForAssistedSuggestion.MobiforceCommission,\r\n \"TechnicianSource\": 1,\r\n \"Users\": temp\r\n };\r\n if (data.Users.length > 0) {\r\n CentralHDManualAssignationService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 201) {\r\n vm.showSuccess('Success', \"Jobs Broadcasted Successfully\");\r\n $timeout(function () {\r\n $state.reload();\r\n vm.DisableRouteBroadcastButtons(false);\r\n }, 2000);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data.BroadcastStatus);\r\n vm.DisableRouteBroadcastButtons(false);\r\n }\r\n });\r\n } \r\n else {\r\n vm.showFailure(\"Failed\", resp.data.BroadcastStatus);\r\n $timeout(function () {\r\n $state.reload();\r\n vm.DisableRouteBroadcastButtons(false);\r\n }, 2000);\r\n }\r\n }\r\n\r\n\r\n // Route Jobs\r\n vm.routeTicketToFV = function(index){\r\n var data = {};\r\n for(var i=0; i< vm.NewJobs.length;i++){\r\n if(vm.NewJobs[i].checked){\r\n if(i==0){\r\n data.JobIds = vm.NewJobs[i].TicketId;\r\n }else{\r\n data.JobIds = data.JobIds + ',' + vm.NewJobs[i].TicketId;\r\n }\r\n }\r\n }\r\n for(var i=0; i< vm.FreelancerVendorUsers.length;i++){\r\n if(vm.FreelancerVendorUsers[i].checked){\r\n data.UserId = vm.FreelancerVendorUsers[i].UserId;\r\n break;\r\n }\r\n }\r\n\r\n if(data.JobIds){\r\n CentralHDManualAssignationService.RouteJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 201) {\r\n vm.showSuccess('Success',\"Jobs Route Successfully\");\r\n $timeout(function () {\r\n $state.reload();\r\n }, 2000);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", \"Server error.\");\r\n }\r\n });\r\n }else{\r\n vm.showFailure(\"Failed\", \"Please select tickets.\");\r\n }\r\n \r\n }\r\n\r\n //Broadcast Bids/Jobs\r\n vm.BroadCastJobs = function () {\r\n vm.DisableRouteBroadcastButtons(true);\r\n var BidData = [];\r\n angular.forEach(vm.ticketList, function (d) {\r\n var obj = {};\r\n var time = '';\r\n var hrs = '';\r\n var min = '';\r\n if(d.TicketStatus==\"New\")\r\n {\r\n if (d.checked) {\r\n obj.JobID = d.TicketId;\r\n var time = d.BidDuration.split(':');\r\n var hrs = parseInt(time[0]);\r\n var min = parseInt(time[1]);\r\n obj.BIDDuration = hrs*60 + min;\r\n obj.BroadCastRate = d.BroadcastRate\r\n obj.BroadCastGrossRate = d.BroadcastGrossRate\r\n obj.MobiforceCommissionPercentage = d.MobiforceCommission\r\n obj.FixedBidPrice = true;\r\n BidData.push(obj);\r\n }\r\n }\r\n })\r\n var UserData = [];\r\n\r\n for(var i=0; i< vm.UserByFiltersList.length;i++){\r\n if(vm.UserByFiltersList[i].checked){\r\n UserData.push(vm.UserByFiltersList[i].UserId); \r\n }\r\n }\r\n\r\n if (BidData.length > 0 && UserData.length > 0) {\r\n var data = {\r\n \"Bids\": BidData,\r\n \"Users\": UserData\r\n };\r\n //$log.log('BradcastedJobs', data);\r\n vm.BroadcastModal.close();\r\n\r\n CentralHDManualAssignationService.BroadCastJobs(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 201 || resp.status == 200) {\r\n vm.processBroadcastRouteResponse(resp.data);\r\n //vm.toaster_success.body = 'Jobs Broadcasted Successfully';\r\n //toaster.pop(vm.toaster_success);\r\n vm.free_NewJobSelectedItems = [];\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.UsersFilterArray(); \r\n vm.GetUserByFiltersWithDynaPage(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize);\r\n vm.DisableRouteBroadcastButtons(false);\r\n }, 2000);\r\n }\r\n if (resp.status == 206) {\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n vm.DisableRouteBroadcastButtons(false);\r\n }\r\n })\r\n } else {\r\n vm.showFailure(\"Failed\", \"Please select jobs and users.\");\r\n vm.DisableRouteBroadcastButtons(false);\r\n }\r\n }\r\n \r\n\r\n vm.BroadCastJobsFV = function () {\r\n\r\n var BidData = [];\r\n angular.forEach(vm.NewJobs, function (d) {\r\n var obj = {};\r\n var time = '';\r\n var hrs = '';\r\n var min = '';\r\n if (d.checked) {\r\n obj.JobID = d.TicketId;\r\n var time = d.BidDuration.split(':');\r\n var hrs = parseInt(time[0]);\r\n var min = parseInt(time[1]);\r\n obj.BIDDuration = hrs*60 + min;\r\n obj.BroadCastRate = d.BroadcastRate\r\n obj.BroadCastGrossRate = d.BroadcastGrossRate\r\n obj.MobiforceCommissionPercentage = d.MobiforceCommission\r\n obj.FixedBidPrice = true;\r\n BidData.push(obj);\r\n }\r\n })\r\n var UserData = [];\r\n /*angular.forEach(vm.FreelancerVendorUsers, function (d) {\r\n if (d.checked) {\r\n UserData.push(d.UserId);\r\n }\r\n });*/\r\n\r\n for(var i=0; i< vm.FreelancerVendorUsers.length;i++){\r\n if(vm.FreelancerVendorUsers[i].checked){\r\n UserData.push(vm.FreelancerVendorUsers[i].UserId); \r\n }\r\n }\r\n\r\n if (BidData.length > 0 && UserData.length > 0) {\r\n var data = {\r\n \"Bids\": BidData,\r\n \"Users\": UserData\r\n };\r\n //$log.log('BradcastedJobs', data);\r\n vm.BroadcastModalFV.close();\r\n\r\n CentralHDManualAssignationService.BroadCastJobs(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 201 || resp.status == 200) {\r\n vm.toaster_success.body = 'Jobs Broadcasted Successfully';\r\n toaster.pop(vm.toaster_success);\r\n vm.free_NewJobSelectedItems = [];\r\n $timeout(function () {\r\n $state.reload();\r\n }, 2000);\r\n }\r\n })\r\n } else {\r\n vm.showFailure(\"Failed\", \"Please select jobs and users.\");\r\n }\r\n }\r\n\r\n\r\n\r\nvm.AssignReceivedBid = function(user){ \r\nvm.AllDataList =[];\r\nvar data ={\r\n \"TicketId\": vm.broadcastTicketId,\r\n \"UserId\": user.UserId,\r\n \"StartTime\":vm.broadcaststartTime,\r\n \"Endtime\": vm.broadcastEndTime,\r\n \"SuggestedPrice\": 0,\r\n \"AssignPrice\": parseInt(vm.broadcastAssignRate),\r\n \"Distance\": 0,\r\n}\r\nvm.AllDataList.push(data)\r\n ScheduleAssignService.AssignTicketsTimeline(loggedinUser,vm.AllDataList,token).then(function(resp){\r\n if (resp && resp.data) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.ChangeMode('freelancer');\r\n vm.BidReceivedJobs = [];\r\n\r\n $timeout(function () {\r\n vm.GetBroadcastedJobs();\r\n vm.closeSendAndRecieveBid();\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1500);\r\n }\r\n }, function (err) {\r\n if (err && err.data) {\r\n vm.showFailure(\"Failed\", err.data);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to assign job, server is not responding correctly.\");\r\n }\r\n })\r\n}\r\n\r\n\r\n\r\n\r\n //Get Bid Received\r\n\r\n vm.BidReceived = function (ticket) { \r\n document.getElementById(\"SendAndRecieveBid\").style.width = \"42%\";\r\n var status = 'Received';\r\n vm.bidStatus = status;\r\n vm.broadcastTicketId = ticket.TicketId;\r\n vm.broadcastLinkId = ticket.LinkId;\r\n vm.broadcaststartTime = ticket.StartTimeD;\r\n vm.broadcastEndTime = ticket.EndTime;\r\n //vm.broadcastAssignRate = ticket.JobAssignRate;\r\n vm.isReceived = true;\r\n vm.BIDMaxcount = 10; \r\n vm.BIDStartIndex = 0;\r\n CentralHDManualAssignationService.GetBidReceivedByStatus(loggedinUser, vm.broadcastTicketId, status, token).then(function (resp) { \r\n if (resp && resp.data) {\r\n vm.BidReceivedJobs = resp.data;\r\n vm.UserBIDCount = vm.BidReceivedJobs.length;\r\n $scope.totalUserBID = vm.UserBIDCount; \r\n $scope.UserBIDpagination = {\r\n current: 1\r\n };\r\n angular.forEach(vm.BidReceivedJobs, function (user) {\r\n\r\n user.ratingStars = vm.getRatingStars(user.UserRating);\r\n user.blankStars = vm.getBlankStars(user.UserRating);\r\n user.exp = user.Experience > 0 ? parseFloat(user.UserExperience / 365).toFixed(1) : 0;\r\n })\r\n for(var i=0;i 0 ? parseFloat(user.UserExperience / 365).toFixed(1) : 0;\r\n })\r\n // for(var i=0;i 0 ? parseFloat(user.UserExperience / 365).toFixed(1) : 0; \r\n })\r\n for(var i=0;ilTfgitp').withPaginationType(\r\n 'full_numbers').withOption('lengthChange', false)\r\n .withOption('initComplete', function () {\r\n $('.dataTables_filter input').unbind();\r\n })\r\n .withOption('order', [1, 'asc']);\r\n\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n //DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable()\r\n ];\r\n\r\n //Global Calling\r\n //vm.GetNewJobs();\r\n vm.GetAllActiveFixedUsers();\r\n //$log.log('isChecked', vm.isChecked);\r\n\r\n vm.openBroadcastmodal = function (i) {\r\n vm.broadcastError = null; \r\n vm.jobselected = [];\r\n angular.forEach(vm.ticketList, function (d) {\r\n if(d.TicketStatus==\"New\")\r\n {\r\n if (d.checked) {\r\n if (!d.BidDuration.includes(\":\")) {\r\n d.BidDuration = parseInt(d.BidDuration / 60) + \":\" + parseInt(d.BidDuration % 60);\r\n }\r\n \r\n \r\n vm.jobselected.push(d);\r\n $log.log(d)\r\n }\r\n }\r\n });\r\n \r\n if (vm.jobselected.length > 0) {\r\n vm.BroadcastModal = $uibModal.open({\r\n templateUrl: 'Broadcast.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n else\r\n {\r\n vm.showFailure(\"Failed\", \"Please select jobs\"); \r\n vm.broadcastError = \"Please select jobs for bradcast\";\r\n }\r\n }\r\n\r\n vm.closeModal = function () {\r\n vm.BroadcastModal.close();\r\n }\r\n\r\n vm.openBroadcastmodalforFV = function (i) {\r\n vm.broadcastErrorFV = null; \r\n vm.jobselectedFV = [];\r\n angular.forEach(vm.NewJobs, function (d) {\r\n if (d.checked) {\r\n if (!d.BidDuration.includes(\":\")) {\r\n d.BidDuration = parseInt(d.BidDuration / 60) + \":\" + parseInt(d.BidDuration % 60);\r\n }\r\n \r\n vm.jobselectedFV.push(d);\r\n $log.log(d)\r\n }\r\n });\r\n if (vm.jobselectedFV.length > 0) {\r\n vm.BroadcastModalFV = $uibModal.open({\r\n templateUrl: 'BroadcastFV.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n } else {\r\n vm.broadcastErrorFV = \"Please select jobs for bradcast\";\r\n }\r\n }\r\n\r\n\r\n vm.OpenBroadcastModelToFV = function (i) {\r\n vm.broadcastErrorFV = null; \r\n vm.jobselectedFV = [];\r\n angular.forEach(vm.NewJobs, function (d) {\r\n if (d.checked) {\r\n if (!d.BidDuration.includes(\":\")) {\r\n d.BidDuration = parseInt(d.BidDuration / 60) + \":\" + parseInt(d.BidDuration % 60);\r\n }\r\n \r\n vm.jobselectedFV.push(d);\r\n $log.log(d)\r\n }\r\n });\r\n if (vm.jobselectedFV.length > 0) {\r\n vm.BroadcastModalFV = $uibModal.open({\r\n templateUrl: 'BroadcastFV.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n } else {\r\n vm.broadcastErrorFV = \"Please select jobs for bradcast\";\r\n }\r\n }\r\n\r\n vm.closeModalFV = function () {\r\n vm.BroadcastModalFV.close();\r\n }\r\n\r\n vm.GetAllVendors = function () {\r\n vm.vendorList = [];\r\n var itemNames = \"\";\r\n var itemValues = \"\";\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n itemNames = \"VendorLocations,VendorSkillsets,VendorStatus\";\r\n itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active';\r\n } else {\r\n itemNames = \"VendorStatus\";\r\n itemValues = \"Active\";\r\n }\r\n if (vm.loggedInUserRole == 'Help Desk') {\r\n itemNames += \",VendorSkillsets\";\r\n itemValues += \",\"+ loggedinUserSkill; \r\n }\r\n\r\n // GetAllVendors\r\n CentralHDManualAssignationService.GetFixedVendorsByFilters(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data) {\r\n angular.forEach(resp.data, function(vendor){\r\n if (vendor.UserId !=loggedinUser) {\r\n vm.vendorList.push(vendor);\r\n }\r\n })\r\n //vm.vendorList = resp.data;\r\n preprocessData(vm.vendorList);\r\n // $log.log('vendors', vm.vendorList);\r\n }\r\n } else {\r\n vm.vendorList = '';\r\n }\r\n })\r\n }\r\n\r\n //Implementation of Checkboxes for all tables\r\n vm.selectedItems = [];\r\n vm.fixed_select_single = [];\r\n vm.free_selectedItems = [];\r\n vm.freelancer_select_single = [];\r\n vm.free_NewJobSelectedItems = [];\r\n vm.freelancer_select_single_NewJob = [];\r\n vm.selectAllCheckboxes = function (mode, table) {\r\n if (mode == 'fixed' && table == 'fixed_NewJob') {\r\n if (vm.fixed_selectAll) {\r\n angular.forEach(vm.NewJobs, function (item) {\r\n idx = vm.selectedItems.indexOf(item);\r\n if (idx >= 0) {\r\n return true;\r\n } else {\r\n vm.fixed_select_all = true;\r\n vm.selectedItems.push(item);\r\n vm.fixed_select_single.push(\"true\");\r\n }\r\n })\r\n\r\n } else {\r\n vm.fixed_select_all = false;\r\n vm.fixed_selectAll = false;\r\n vm.selectedItems = [];\r\n vm.fixed_select_single = [];\r\n }\r\n\r\n //$log.log('selectedItems', vm.selectedItems);\r\n } else if (mode == 'freelancer' && table == 'freelancer_users') {\r\n if (vm.freelancer_selectAll) {\r\n angular.forEach(vm.freelancerUsers, function (item) {\r\n idx = vm.free_selectedItems.indexOf(item);\r\n if (idx >= 0) {\r\n return true;\r\n } else {\r\n vm.freelancer_select_all = true;\r\n vm.free_selectedItems.push(item);\r\n vm.freelancer_select_single.push(\"true\");\r\n }\r\n })\r\n } else {\r\n vm.freelancer_select_all = false;\r\n vm.freelacer_selectAll = false;\r\n vm.free_selectedItems = [];\r\n vm.freelancer_select_single = [];\r\n }\r\n\r\n } else if (mode == 'freelancer' && table == 'freelancer_NewJob') {\r\n if (vm.freelancer_SelectAllJobs) {\r\n angular.forEach(vm.NewJobs, function (item) {\r\n idx = vm.free_NewJobSelectedItems.indexOf(item);\r\n if (idx >= 0) {\r\n return true;\r\n } else {\r\n vm.freelancer_Select_All_NewJobs = true;\r\n vm.free_NewJobSelectedItems.push(item);\r\n vm.freelancer_select_single_NewJob.push(\"true\");\r\n }\r\n })\r\n } else {\r\n vm.freelancer_Select_All_NewJobs = false;\r\n vm.freelancer_SelectAllJobs = false;\r\n vm.free_NewJobSelectedItems = [];\r\n vm.freelancer_select_single_NewJob = [];\r\n }\r\n }\r\n }\r\n\r\n function preprocessData(users) {\r\n if (users && users.length > 0) {\r\n angular.forEach(users, function (user) {\r\n user.locationCount = user.Locations && user.Locations.length > 0 ? user.Locations.length : 0;\r\n user.locationToolTip = \"\";\r\n if (user.locationCount > 0) {\r\n angular.forEach(user.Locations, function (loc) {\r\n user.locationToolTip += loc + \",\";\r\n })\r\n user.locationToolTip = user.locationToolTip.substr(0, user.locationToolTip.length - 1);\r\n }\r\n\r\n user.SkillSetCount = user.SkillSet && user.SkillSet.length > 0 ? user.SkillSet.length : 0;\r\n user.SkillSetToolTip = \"\";\r\n if (user.SkillSetCount > 0) {\r\n angular.forEach(user.SkillSet, function (s) {\r\n user.SkillSetToolTip += s + \",\";\r\n })\r\n user.SkillSetToolTip = user.SkillSetToolTip.substr(0, user.SkillSetToolTip.length - 1);\r\n }\r\n\r\n user.VendorLocationsCount = user.VendorLocations && user.VendorLocations.length > 0 ? user.VendorLocations.length : 0;\r\n user.VendorLocationsToolTip = \"\";\r\n if (user.VendorLocationsCount > 0) {\r\n angular.forEach(user.VendorLocations, function (loc) {\r\n user.VendorLocationsToolTip += loc + \",\";\r\n })\r\n user.VendorLocationsToolTip = user.VendorLocationsToolTip.substr(0, user.VendorLocationsToolTip.length - 1);\r\n }\r\n\r\n user.VendorSkillsetsCount = user.VendorSkillsets && user.VendorSkillsets.length > 0 ? user.VendorSkillsets.length : 0;\r\n user.VendorSkillsetsToolTip = \"\";\r\n if (user.VendorSkillsetsCount > 0) {\r\n angular.forEach(user.VendorSkillsets, function (s) {\r\n user.VendorSkillsetsToolTip += s + \",\";\r\n })\r\n user.VendorSkillsetsToolTip = user.VendorSkillsetsToolTip.substr(0, user.VendorSkillsetsToolTip.length - 1);\r\n }\r\n user.ratingStars = vm.getRatingStars(Math.round(user.Ratings));\r\n user.blankStars = vm.getBlankStars(Math.round(user.Ratings));\r\n user.exp = user.Experience > 0 ? parseFloat(user.Experience / 365).toFixed(1) : 0;\r\n user.checked = false;\r\n });\r\n }\r\n }\r\n\r\n vm.getProfilePic = function (profilePicName) {\r\n return profilePicName ? ImageUrl + \"/\" + profilePicName : null;\r\n }\r\n\r\n vm.implementSelectItemsNewJob = function (itemList, scope) {\r\n scope.selectAllNewJob = false;\r\n scope.showMinusNewJob = false;\r\n scope.AutoBroadcastedOnce = true;\r\n scope.selectRowNewJob = function (i) {\r\n scope.showMinusNewJob = false;\r\n scope.selectAllNewJob = false;\r\n scope.AutoBroadcastedOnce = true;\r\n angular.forEach(scope[itemList], function (d) {\r\n if (d.checked) {\r\n scope.showMinusNewJob = true;\r\n if(!d.ShowManualBroadcast){\r\n scope.AutoBroadcastedOnce = d.ShowManualBroadcast;\r\n }\r\n }\r\n });\r\n }\r\n scope.applyAllNewJobSelect = function () {\r\n angular.forEach(scope[itemList], function (d) {\r\n d.checked = scope.selectAllNewJob;\r\n });\r\n }\r\n\r\n scope.resetAllSelect = function () {\r\n scope.selectAllNewJob = false;\r\n scope.showMinusNewJob = false;\r\n }\r\n }\r\n\r\n vm.implementSelectItemsNewJob('ticketList', this);\r\n\r\n vm.implementSelectItemsFL = function (itemList, scope) {\r\n scope.selectAllFL = false;\r\n scope.showMinusFL = false;\r\n scope.selectCountFL = 0;\r\n scope.selectRowFL = function (i) {\r\n //$log.log(\"selectRow called\");\r\n scope.selectCountFL = 0;\r\n scope.showMinusFL = false;\r\n scope.selectAllFL = false;\r\n angular.forEach(vm.UserByFiltersList, function (d) {\r\n // //$log.log(d);\r\n if (d.checked) {\r\n scope.showMinusFL = true;\r\n scope.selectCountFL++;\r\n }\r\n });\r\n }\r\n scope.applyAllFLSelect = function () {\r\n angular.forEach(scope[itemList], function (d) {\r\n d.checked = scope.selectAllFL;\r\n scope.selectCountFL++;\r\n });\r\n }\r\n }\r\n \r\n //\r\n vm.ResetUserSelection = function (scope){\r\n scope.selectAllFL = false;\r\n scope.showMinusFL = false;\r\n scope.selectCountFL = 0;\r\n }\r\n vm.implementSelectItemsFL('UserByFiltersList', this);\r\n\r\n\r\n //userSuggestion list\r\n vm.implementSelectItemsUS = function (itemList, scope) {\r\n scope.selectAllUS = false;\r\n scope.showMinusUS = false;\r\n scope.selectCountUS = 0;\r\n scope.selectRowUS = function (i) {\r\n //$log.log(\"selectRow called\");\r\n scope.selectCountUS = 0;\r\n scope.showMinusUS = false;\r\n scope.selectAllUS = false;\r\n angular.forEach(vm.UserSuggestionList, function (d) {\r\n // //$log.log(d);\r\n if (d.checked) {\r\n scope.showMinusUS = true;\r\n scope.selectCountUS++;\r\n }\r\n });\r\n }\r\n scope.applyAllFLSelectUS = function () {\r\n angular.forEach(scope[itemList], function (d) {\r\n d.checked = scope.selectAllUS;\r\n scope.selectCountUS++;\r\n });\r\n }\r\n }\r\n //\r\n vm.ResetUserSelectionUS = function (scope){\r\n scope.selectAllUS = false;\r\n scope.showMinusUS = false;\r\n scope.selectCountUS = 0;\r\n }\r\n\r\n vm.implementSelectItemsUS('UserSuggestionList', this);\r\n\r\n\r\n if(vm.loggedInUserRole == \"Dispatch Supervisor\" || vm.loggedInUserRole == \"OnBoarding Supervisor\")\r\n {\r\n vm.statusList=[\"Broadcasted\", \"New\",\"Hold\", \"ReadyToAssign\", \"Rejected\",\"AssignedNoAction\", \"ScheduleException\",\"AddressException\",\"PriceException\"];\r\n }\r\n else\r\n {\r\n vm.statusList=[\"Broadcasted\", \"New\",\"Hold\", \"ReadyToAssign\", \"Rejected\", \"AssignedToTeam\",\"AssignedToTeamAll\",\"AssignedNoAction\", \"ScheduleException\",\"AddressException\",\"PriceException\"];\r\n }\r\n\r\n if(vm.loggedInUserRole == \"Dispatch Supervisor\" || vm.loggedInUserRole == \"OnBoarding Supervisor\")\r\n {\r\n vm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\", \"Private\"];\r\n }\r\n else\r\n {\r\n if(vm.loggedInUserRole == \"Dispatch Manager\"){\r\n vm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\", \"Dispatch Supervisor\", \"Private\",\"Freelancer Dispatcher\",\"Dispatch Team Lead\"];\r\n }\r\n else if(vm.loggedInUserRole == \"OnBoarding Manager\"){\r\n vm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\", \"OnBoarding Supervisor\", \"Private\"];\r\n }\r\n else if(vm.loggedInUserRole == \"Dispatch Team Lead\"){\r\n vm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\", \"Freelancer Dispatcher\", \"Private\", \"Dispatch Supervisor\"];\r\n }\r\n \r\n }\r\n \r\n vm.getJobAllStatus = function () {\r\n CentralHDManualAssignationService.getJobAllStatus(loggedinUser, token, function (data) { \r\n angular.forEach(data, function (status) {\r\n if (status.StatusName == 'On Hold') {\r\n status.StatusName = 'Hold'; \r\n }\r\n vm.statusList.push(status.StatusName); \r\n }) \r\n }, vm.showFailure);\r\n }\r\n //vm.getJobAllStatus();\r\n \r\n $scope.slideAssistedSuggestion = function(){ \r\n document.getElementById(\"assistedSuggestion\").style.width = \"25%\";\r\n }\r\n vm.closeAssistedSuggestion = function(){ \r\n document.getElementById(\"assistedSuggestion\").style.width = \"0%\";\r\n }\r\n vm.closeFLprofile = function(){ \r\n document.getElementById(\"freelancerProfile\").style.width = \"0%\";\r\n }\r\n $scope.slideF = function(){ \r\n document.getElementById(\"myNav\").style.height = \"86%\";\r\n }\r\n $scope.slideSendAndRecieveBid = function(){ \r\n document.getElementById(\"SendAndRecieveBid\").style.width = \"25%\";\r\n }\r\n vm.closeSendAndRecieveBid = function(){ \r\n document.getElementById(\"SendAndRecieveBid\").style.width = \"0%\";\r\n vm.AttendenceForBid='';\r\n }\r\n vm.closeSlide = function(){ \r\n document.getElementById(\"myNav\").style.height = \"0%\";\r\n }\r\n vm.FilterArray = function () { \r\n itemNames = '';\r\n itemValues = '';\r\n templateItemNames = '';\r\n templateItemValues = '';\r\n if (vm.searchStatusText != \"\" && vm.searchStatusText != \"All\" && vm.searchStatusText != null){\r\n if(itemNames.length > 0 && itemValues.length > 0){\r\n itemNames = itemNames + ',Status';\r\n itemValues = itemValues + ',' + vm.searchStatusText;\r\n }else{\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText;\r\n } \r\n }\r\n\r\n if (vm.ticketskill) { \r\n if(itemNames) \r\n {\r\n itemNames = itemNames + ',Skill';\r\n itemValues = itemValues + \",\" + vm.ticketskill;\r\n }\r\n else\r\n {\r\n itemNames = 'Skill';\r\n itemValues = vm.ticketskill;\r\n } \r\n }\r\n\r\n if (vm.ticketaccount) { \r\n if(itemNames) \r\n {\r\n itemNames = itemNames + ',AccountName';\r\n itemValues = itemValues + \",\" + vm.ticketaccount.join('|');\r\n }\r\n else\r\n {\r\n itemNames = 'AccountName';\r\n itemValues = vm.ticketaccount.join('|');\r\n } \r\n }\r\n\r\n if(vm.JobcountbyStatus)\r\n {\r\n if(itemNames) \r\n {\r\n itemNames = itemNames + ',Status';\r\n itemValues = itemValues + \",\" + vm.JobcountbyStatus;\r\n }\r\n else\r\n {\r\n itemNames = 'Status';\r\n itemValues = vm.JobcountbyStatus;\r\n }\r\n }\r\n\r\n if(vm.JobcountbySearch)\r\n {\r\n itemNames = 'Status';\r\n itemValues = vm.JobcountbySearch;\r\n }\r\n\r\n // if (vm.ticketlocation) { \r\n // if(itemNames) \r\n // {\r\n // itemNames = itemNames + ',State';\r\n // itemValues = itemValues + \",\" + vm.ticketlocation;\r\n // }\r\n // else\r\n // {\r\n // itemNames = 'State';\r\n // itemValues = vm.ticketlocation;\r\n // } \r\n // }\r\n\r\n if (vm.PermanentState) { \r\n if(itemNames) \r\n {\r\n itemNames = itemNames + ',State';\r\n itemValues = itemValues + \",\" + vm.PermanentState;\r\n }\r\n else\r\n {\r\n itemNames = 'State';\r\n itemValues = vm.PermanentState;\r\n } \r\n }\r\n if (vm.PermanentState && vm.PermanentCity) { \r\n if(itemNames) \r\n {\r\n itemNames = itemNames + ',City';\r\n itemValues = itemValues + \",\" + vm.PermanentCity;\r\n }\r\n else\r\n {\r\n itemNames = 'City';\r\n itemValues = vm.UsersType;\r\n } \r\n }\r\n\r\n if (vm.ticketstatus) { \r\n if(itemNames) \r\n {\r\n itemNames = itemNames + ',Status';\r\n itemValues = itemValues + \",\" + vm.ticketstatus;\r\n }\r\n else\r\n {\r\n itemNames = 'Status';\r\n itemValues = vm.ticketstatus;\r\n } \r\n }\r\n\r\n if(vm.searchText)\r\n {\r\n itemNames = 'Search';\r\n itemValues = vm.searchText;\r\n templateItemNames = '';\r\n templateItemValues = ''; \r\n textItemNames = '';\r\n textItemValues = '';\r\n startDate = startDate;\r\n endDate = endDate;\r\n }\r\n\r\n textItemNames = '';\r\n textItemValues = ''; \r\n }\r\n\r\n\r\n vm.ResetTicketFilter = function () { \r\n vm.ticketaccount = '';\r\n vm.PermanentState = '';\r\n vm.ticketskill = '';\r\n vm.ticketstatus = '';\r\n vm.PermanentCity = '';\r\n vm.searchStatusText = '';\r\n }\r\n\r\n vm.ResetUserFilter = function () { \r\n vm.UsersType = '';\r\n vm.userlocation = '';\r\n vm.userskill = ''; \r\n vm.uType= ''; \r\n vm.CurrentCity = '';\r\n vm.CurrentState = '';\r\n }\r\n\r\n vm.UsersFilterArray = function()\r\n {\r\n vm.ResetUserSelection(this);\r\n uitemNames=\"\";\r\n uitemValues=\"\";\r\n\r\n if (vm.userskill) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',SkillSet';\r\n uitemValues = uitemValues + \",\" + vm.userskill;\r\n }\r\n else\r\n {\r\n uitemNames = 'SkillSet';\r\n uitemValues = vm.userskill;\r\n } \r\n }\r\n\r\n // if (vm.userlocation) { \r\n // if(uitemNames) \r\n // {\r\n // uitemNames = uitemNames + ',Locations';\r\n // uitemValues = uitemValues + \",\" + vm.userlocation;\r\n // }\r\n // else\r\n // {\r\n // uitemNames = 'Locations';\r\n // uitemValues = vm.userlocation;\r\n // } \r\n // }\r\n if (vm.CurrentState) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',CurrentState';\r\n uitemValues = uitemValues + \",\" + vm.CurrentState;\r\n }\r\n else\r\n {\r\n uitemNames = 'CurrentState';\r\n uitemValues = vm.CurrentState;\r\n } \r\n }\r\n if (vm.CurrentState && vm.CurrentCity) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',CurrentCity';\r\n uitemValues = uitemValues + \",\" + vm.CurrentCity;\r\n }\r\n else\r\n {\r\n uitemNames = 'CurrentCity';\r\n uitemValues = vm.CurrentCity;\r\n } \r\n }\r\n\r\n if (vm.UsersType) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',Role';\r\n uitemValues = uitemValues + \",\" + vm.UsersType;\r\n }\r\n else\r\n {\r\n uitemNames = 'Role';\r\n uitemValues = vm.UsersType;\r\n } \r\n } \r\n\r\n if(vm.UsersType==\"Freelancer\")\r\n {\r\n vm.uType=\"Freelancer\";\r\n }\r\n else if(vm.UsersType==\"Freelancer Vendor\")\r\n {\r\n vm.uType=\"Freelancer\";\r\n } \r\n else if(vm.UsersType==\"Freelancer Dispatcher\")\r\n {\r\n vm.uType=\"Freelancer\";\r\n }\r\n else if(vm.UsersType==\"Private\")\r\n {\r\n vm.uType=\"Private\";\r\n } \r\n else if(vm.UsersType==\"Dispatch Supervisor\" || vm.UsersType==\"OnBoarding Supervisor\" || vm.UsersType==\"Dispatch Team Lead\")\r\n {\r\n vm.uType=\"Fixed\";\r\n }\r\n else \r\n {\r\n vm.uType=\"Freelancer\";\r\n vm.UsersType = '';\r\n } \r\n\r\n }\r\n\r\n\r\n //Action \r\n vm.OpenApproveModal = function (currentJOb) \r\n { \r\n vm.CurrentJob = currentJOb;\r\n vm.RatingOfTicket = ''; \r\n if(vm.CurrentJob.IsLineItemAvailable==true && vm.CurrentJob.IsDynamicPriceApproved==false){\r\n vm.aproveMessage = 'Please approve dynamic pricing line item under the ticket details section!';\r\n approveModalInstance = $uibModal.open({\r\n templateUrl: 'dynamic_price_approved_model.html',\r\n scope: $scope\r\n });\r\n }\r\n else{\r\n vm.aproveMessage = 'Please Rate !';\r\n approveModalInstance = $uibModal.open({\r\n templateUrl: 'approve_model.html',\r\n scope: $scope\r\n });\r\n } \r\n }\r\n\r\n vm.AcceptJob = function (currentJOb) {\r\n vm.CurrentJob = currentJOb;\r\n var data = {\r\n \"ReqUserId\": loggedinUser,\r\n \"TicketId\": vm.CurrentJob.TicketId,\r\n \"Status\": \"Accepted\" \r\n };\r\n CentralHDManualAssignationService.AcceptJob(data, token, loggedinUser, function (res) { \r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job accepted successfully.\")\r\n $timeout(function () {\r\n vm.FilterArray(); \r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to accept job. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n \r\n }\r\n\r\n vm.reAssignJob = function (currentJOb) {\r\n \r\n vm.CurrentJob = currentJOb;\r\n var data = {\r\n \"ReqUserId\": loggedinUser,\r\n \"TicketId\": vm.CurrentJob.TicketId,\r\n \"Status\": \"Assigned\" \r\n };\r\n CentralHDManualAssignationService.AcceptJob(data, token, loggedinUser,function (res) {\r\n \r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job reassigned successfully.\")\r\n $timeout(function () {\r\n vm.FilterArray(); \r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to reassign job. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n \r\n }\r\n\r\n //download funtion\r\n vm.downloadReport = function (ticketId, templateName) {\r\n if (templateName == 'Water Testing') {\r\n var urlWithFeasible = PublicApiURL + '/api/Report/' + ticketId + '/DownloadReportByTemplateName?reqUserId=' + $localStorage.loggedInUserId;\r\n $window.open(urlWithFeasible, '_blank')\r\n } else {\r\n var urlForNonFeasible = PublicApiURL + '/api/Report/' + ticketId + '/Report?reqUserId=' + $localStorage.loggedInUserId;\r\n $window.open(urlForNonFeasible, '_blank')\r\n }\r\n }\r\n\r\n vm.ReportpdfUrl = function (ticketId) {\r\n CentralHDManualAssignationService.getPdfReport(loggedinUser, ticketId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n const linkSource = resp.data.Base64Data;\r\n const downloadLink = document.createElement(\"a\");\r\n const fileName = resp.data.ReportName;\r\n downloadLink.href = linkSource;\r\n downloadLink.download = fileName;\r\n downloadLink.click();\r\n } \r\n })\r\n }\r\n\r\n vm.PullBackTicket = function (ticketId) {\r\n CentralHDManualAssignationService.PullBackTicket(loggedinUser, ticketId, token).then(function (resp) {\r\n vm.FilterArray(); \r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n })\r\n }\r\n\r\n vm.RejectJobModel = function (currentJOb) {\r\n vm.CurrentJob = currentJOb;\r\n RejectJobModel = $uibModal.open({\r\n templateUrl: 'Rejectjob.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n\r\n vm.CloseRejectModel = function () {\r\n RejectJobModel.close();\r\n }\r\n\r\n vm.RejectJob = function () {\r\n if(!vm.RejectionRemark)\r\n {\r\n vm.showFailure(\"Failed\", \"Please comment on rejection.\");\r\n return;\r\n }\r\n RejectJobModel.close(); \r\n var data = {\r\n \"ReqUserId\": loggedinUser,\r\n \"TicketId\": vm.CurrentJob.TicketId,\r\n \"Status\": \"Rejected\", \r\n \"RejectionRemark\": vm.RejectionRemark.toString()\r\n };\r\n CentralHDManualAssignationService.RejectJob(data, token, loggedinUser, function (res) { \r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job rejected successfully.\")\r\n $timeout(function () {\r\n vm.FilterArray(); \r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to approve job. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n \r\n }\r\n\r\n vm.ConvertToNewJob = function(currentJOb){\r\n \r\n vm.CurrentJob = currentJOb; \r\n var data = {\r\n \"ReqUserId\": loggedinUser,\r\n \"TicketId\": vm.CurrentJob.TicketId,\r\n \"Status\": \"New\" \r\n };\r\n CentralHDManualAssignationService.ConvertToNewJob(data, token, loggedinUser, function (res) { \r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job converted successfully.\")\r\n $timeout(function () {\r\n vm.FilterArray(); \r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to convert job. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n}\r\n\r\n vm.OpenHoldUpModel = function (ticketId, holdstatus) {\r\n if(holdstatus == 'Unhold')\r\n {\r\n vm.UpdateHoldingStatus(ticketId, holdstatus);\r\n } \r\n else{\r\n vm.tickId = ticketId;\r\n $scope.holdstatus =holdstatus;\r\n FollowUpModel = $uibModal.open({\r\n templateUrl: 'HoldJob.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n controller: ModalInstanceCtrlFollowUp,\r\n });\r\n } \r\n }\r\n\r\n vm.CloseHoldUpModel = function () {\r\n FollowUpModel.close();\r\n }\r\n\r\n vm.UpdateHoldReason=\"Update\";\r\n vm.UpdateHoldingStatus = function (ticketId, holdingStatus) { \r\n if(vm.primaryHoldReason!= null)\r\n\t\t\t{\t\r\n\t\t\t\tvm.enable1 = \"false\";\r\n\t\t\t\tvm.UpdateHoldReason=\"Updating...\";\r\n };\r\n CentralHDManualAssignationService.UpdateHoldingStatus(loggedinUser, ticketId, holdingStatus,vm.primaryHoldReason,vm.primaryHoldRemark, token).then(function (resp) {\r\n if (resp.status == 202) {\r\n vm.showSuccess('Job Hold/Unhold Status', 'Job has been updated successfully');\r\n $timeout(function () {\r\n vm.FilterArray(); \r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.enable1 = \"true\";\t\r\n\t\t\t\t\t\t\tvm.UpdateHoldReason=\"Update\";\t\r\n }, 2000);\r\n vm.CloseFollowUpModel();\r\n }\r\n else if (resp.status == 206) {\r\n vm.showFailure('Failed', resp.data.Message);\r\n $timeout(function () {\r\n vm.FilterArray(); \r\n vm.enable1 = \"true\";\t\r\n\t\t\t\t\t\t \tvm.UpdateHoldReason=\"Update\";\t\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000); \r\n vm.CloseFollowUpModel();\r\n } else {\r\n vm.showFailure('Job Hold/Unhold Status', 'Unable to update job, server is not responding correctly.');\r\n }\r\n }, function (err) {\r\n vm.showFailure('Job Hold/Unhold Status', 'Unable to update job, server is not responding correctly.');\r\n })\r\n }\r\n\r\n vm.DisableScheduledExceptionButtons = function (disable) {\r\n if(disable){\r\n vm.disableExceptionButton = true;\t\t\t\r\n }\r\n else{\r\n vm.disableExceptionButton = false;\r\n }\r\n }\r\n \r\n \r\n vm.resolveException = function(TicketId){\r\n vm.DisableScheduledExceptionButtons(true);\r\n var ticketIdList = []; \t\t\r\n ticketIdList.push(TicketId);\t\t\t \r\n \r\n CentralHDManualAssignationService.ResolveException(loggedinUser, ticketIdList,token).then(function(resp){\r\n if (resp.status==202) {\t\t\r\n $timeout(function(){\t\t\t\t\t\t\t\t\r\n vm.showSuccess(\"Schedule Exception\", \"Exception Resolved Successfully\");\t\t\t\t\t\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.DisableScheduledExceptionButtons(false);\t\t\t\t\t\t\r\n }, 1000);\t\r\n \r\n }\r\n })\t\t\r\n }\r\n\r\n // vm.ConvertJobIntoNew = function(TicketId){\r\n // var ticketIdList = []; \t\t\r\n // ticketIdList.push(TicketId); \r\n // CentralHDManualAssignationService.ConvertJobIntoNew(loggedinUser, ticketIdList,token).then(function(resp){\r\n // if (resp.status==202) {\t\t\r\n // $timeout(function(){\t\t\t\t\t\t\t\t\r\n // vm.showSuccess(\"Success\", resp.data);\t\t\t\t\t\r\n // vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n // }, 1000);\t\r\n \r\n // }\r\n // })\t\t\r\n // }\r\n\r\n //download PDF \r\n vm.downloadReportPDF = function (ticketId,OnSiteReport) { \r\n if (OnSiteReport != null) { \r\n var urlWithFeasible = PublicApiURL + '/api/Report/GeneratePdfOnSiteReportForMultipleTickets?TicketIds=' + ticketId;\r\n $window.open(urlWithFeasible, '_blank')\r\n } else {\r\n // var urlForNonFeasible = ApiURL + '/api/Report/GeneratePdfOnSiteReport?TicketIds=' + ticketId;\r\n // $window.open(urlForNonFeasible, '_blank')\r\n vm.downloadOnSiteReport(ticketId);\r\n }\r\n }\r\n\r\n vm.pdfimage = \"\";\r\n vm.DocumentAvailableMessage=\"\";\t\r\n vm.downloadOnSiteReport = function (ticketId) { \r\n vm.PDFView();\r\n \r\n // var PreviewConsolidatedInvoiceList = previewSelectedObj;\r\n CentralHDManualAssignationService.downloadOnSiteReport(loggedinUser, token, ticketId).then(function (resp) {\r\n // var responseDataList=[];\r\n vm.responseDataList = resp.data;\r\n // for(var i=0; i

\" + vm.name + \"

\" + ' ' + vm.contactnumber);\r\n $scope.InfoWindow.open($scope.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n $scope.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, vm.customerJobCard);\r\n \r\n //Plotting the Marker on the Map.\r\n $scope.Latlngbounds.extend(marker.position);\r\n \r\n }\r\n vm.makeJobMarker = function (position, icon, map) {\r\n var marker = new google.maps.Marker({\r\n position: position,\r\n map: map,\r\n icon: icon\r\n });\r\n \r\n //Adding InfoWindow to the Marker.\r\n (function (marker, customerJobCard) {\r\n google.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n $scope.InfoWindow.setContent(\"

\" + vm.customerJobCard.ConsumerName + \"

\" + ' ' + vm.customerJobCard.JobId + \"
\" + ' ' + moment(vm.customerJobCard.JobDateTime).format(\"YYYY-MM-DD HH:mm\") + \"
\" + ' ' + vm.customerJobCard.ConsumerContact);\r\n $scope.InfoWindow.open($scope.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n $scope.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, vm.customerJobCard);\r\n \r\n //Plotting the Marker on the Map.\r\n $scope.Latlngbounds.extend(marker.position);\r\n }\r\n function initMap() {\r\n var pointA = new google.maps.LatLng(vm.JobLatitude, vm.JobLongitude),\r\n pointB = new google.maps.LatLng(vm.FELatitude, vm.FELongitude),\r\n // center = new google.maps.LatLng(51.3, 0.8),\r\n myOptions = {\r\n zoom: 8,\r\n zoomControl: false,\r\n scaleControl: true,\r\n mapTypeControl: false,\r\n streetViewControl: false,\r\n gestureHandling: 'greedy',\r\n // center: center,\r\n mapTypeId: google.maps.MapTypeId.ROADMAP\r\n },\r\n \r\n map = new google.maps.Map(document.getElementById('map-canvas'), myOptions),\r\n // Instantiate a directions service.\r\n directionsService = new google.maps.DirectionsService,\r\n directionsDisplay = new google.maps.DirectionsRenderer({\r\n map: map\r\n }),\r\n duration = document.getElementById('duration');\r\n distance = document.getElementById('distance');\r\n flightPath = new google.maps.Polyline({\r\n path: [pointA, pointB],\r\n // geodesic: true,\r\n strokeColor: 'red',\r\n });\r\n $scope.InfoWindow = new google.maps.InfoWindow();\r\n $scope.Latlngbounds = new google.maps.LatLngBounds();\r\n // click on marker B to get route from A to B\r\n calculateAndDisplayRoute(directionsService, directionsDisplay, pointA, pointB, distance, duration, map);\r\n var travelMode = \"DRIVING\";\r\n var icon = \"https://img.icons8.com/color/96/000000/street-view.png\";\r\n }\r\n function calculateAndDisplayRoute(directionsService, directionsDisplay, pointA, pointB, distance, duration, map) {\r\n var selectedMode = \"DRIVING\";\r\n directionsService.route({\r\n origin: pointA,\r\n destination: pointB,\r\n unitSystem: google.maps.UnitSystem.METRIC,\r\n travelMode: google.maps.TravelMode[selectedMode]\r\n }, function (response, status) {\r\n if (status == google.maps.DirectionsStatus.OK) {\r\n new google.maps.DirectionsRenderer({\r\n map: map,\r\n directions: response,\r\n suppressMarkers: true,\r\n polylineOptions: {\r\n strokeColor: \"#000000\"\r\n }\r\n });\r\n var leg = response.routes[0].legs[0];\r\n //outputTxt.innerHTML =(response.routes[0].legs[0].distance.value/1000) + \" Kms\";\r\n distance.innerHTML = response.routes[0].legs[0].distance.text;\r\n duration.innerHTML = response.routes[0].legs[0].duration.text;\r\n vm.distance = response.routes[0].legs[0].distance.value / 1000;\r\n vm.makeJobMarker(leg.start_location, icons.start, map);\r\n vm.makeUserMarker(leg.end_location, icons.end, map);\r\n } else {\r\n window.alert('Directions request failed due to ' + status);\r\n }\r\n });\r\n }\r\n var icons = {\r\n start: new google.maps.MarkerImage(\r\n // URL\r\n UIURL + '/assets/images/patterns/JOb_icon.png',\r\n // (width,height)\r\n new google.maps.Size(44, 32),\r\n // The origin point (x,y)\r\n new google.maps.Point(0, 0),\r\n // The anchor point (x,y)\r\n new google.maps.Point(22, 32)),\r\n end: new google.maps.MarkerImage(\r\n // URL\r\n UIURL + '/assets/images/patterns/delivery-man1.png',\r\n // (width,height)\r\n new google.maps.Size(44, 32),\r\n // The origin point (x,y)\r\n new google.maps.Point(0, 0),\r\n // The anchor point (x,y)\r\n new google.maps.Point(22, 32))\r\n };\r\n\r\n vm.OpenFilterModel = function () {\r\n FollowUpModel = $uibModal.open({\r\n templateUrl: 'FilterModel.html',\r\n size: 'lg',\r\n backdrop: 'static',\r\n scope: $scope,\r\n // controller: ModalInstanceCtrlFollowUp,\r\n });\r\n }\r\n\r\n vm.OpenFollowUpModel = function (ticketId) {\r\n vm.followup = '';\r\n vm.tickId = ticketId;\r\n FollowUpModel = $uibModal.open({\r\n templateUrl: 'FollowupJob.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n controller: ModalInstanceCtrlFollowUp,\r\n });\r\n }\r\n\r\n vm.CloseFollowUpModel = function () {\r\n vm.primaryFollowUpReason = '';\r\n vm.primaryFollowUpRemark = '';\r\n vm.primaryHoldReason='';\r\n vm.primaryHoldRemark='';\r\n vm.followFiles = null; \r\n FollowUpModel.close();\r\n }\r\n\r\n //\r\n $scope.attachmentForFollowUp = function(files){\r\n var file = files.files[0]; \r\n vm.followFiles = files.files;\r\n var allowedExtensions = /(\\.jpg|\\.jpeg|\\.png|\\.msg|\\.pdf|\\.bmp|\\.xps)$/i; \r\n if(!allowedExtensions.exec(file.name)){\r\n vm.followFiles = [];\r\n vm.clear(); \r\n alert('Please upload file having extensions .pdf,.jpg,.jpeg,.png,.msg,.bmp,xps only.');\r\n }\r\n }\r\n \r\n vm.clear = function () {\r\n angular.element(\"input[type='file']\").val(null);\r\n }; \r\n \r\n vm.DocEdit = function(index){\r\n vm.followFiles=null; \r\n }\r\n\r\n var ModalInstanceCtrlFollowUp = function ($scope, $rootScope, $uibModalInstance) { \r\n vm.updateFollowUpStatus = function () {\r\n var data = {};\r\n data = {\r\n \"userId\": loggedinUser,\r\n \"dateTime\": \"\",\r\n \"activity\": \"\",\r\n \"action\": \"FOLLOW_UP\",\r\n \"userName\": \"\",\r\n \"ticketId\": vm.tickId,\r\n \"primaryReason\": vm.primaryFollowUpReason,\r\n \"SecondryReason\": \"\",\r\n \"ReasonComment\": vm.primaryFollowUpRemark\r\n }\r\n if(vm.followFiles != null) {\r\n CentralHDManualAssignationService.UpdateFollowUpReason(data,vm.followFiles, token, loggedinUser, function (res) {\r\n if (res && res.status == 201) {\r\n vm.showSuccess(\"Success\", \"Follow up done successfully.\");\r\n vm.CloseFollowUpModel();\r\n $timeout(function () {\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.filterStatusForJObs($scope.jobStatusForPaging, $scope.selectedUserId, $localStorage.loggedInUserId, token,jPageIndex,jPageSize)\r\n }, 1000); \r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to create follow up. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n }\r\n else{\r\n CentralHDManualAssignationService.TicketFollowUpWithoutDoc(data, token, loggedinUser, function (res) {\r\n if (res && res.status == 201) {\r\n vm.showSuccess(\"Success\", \"Follow up done successfully.\");\r\n $timeout(function () {\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000); \r\n } \r\n vm.CloseFollowUpModel();\r\n });\r\n }\r\n \r\n }\r\n }\r\n\r\n var ModelInstanceOfMap = function ($rootScope, $scope, $uibModal) {\r\n vm.getCustomerJobCard();\r\n }\r\n\r\n vm.getCustomerJobCard = function () {\r\n CentralHDManualAssignationService.getCustomerJobCardbyJobId(loggedinUser, vm.trackingTicketId, token, function (data) {\r\n vm.JobLatitude = data.JobLatitude;\r\n vm.JobLongitude = data.JobLongitude;\r\n vm.FELatitude = data.FELatitude;\r\n vm.FELongitude = data.FELongitude;\r\n vm.contactnumber = data.FEContactNumber;\r\n vm.jobtype = data.Description;\r\n vm.name = data.FEName;\r\n if(data.FEContactNumber){\r\n vm.contactnumber=data.FEContactNumber.replace(/\\d(?=\\d{4})/g, '*');\r\n }\r\n // vm.mapMarkers=[];\r\n initMap();\r\n $log.log(\"res of getCustomerJobCard=\" + data);\r\n vm.customerJobCard = data;\r\n if(vm.customerJobCard.ConsumerContact){\r\n vm.customerJobCard.ConsumerContact=vm.customerJobCard.ConsumerContact.replace(/\\d(?=\\d{4})/g, '*');\r\n }\r\n if ($localStorage.rateJobParams) {\r\n vm.customerJobCard.userRole = $localStorage.Role;\r\n vm.customerJobCard.JobStatus = $localStorage.rateJobParams.status;\r\n vm.customerJobCard.CustomerGivenRating = $localStorage.rateJobParams.rating;\r\n delete $localStorage.rateJobParams;\r\n }\r\n if (data && data.JobStatus == 'PaymentDone') {\r\n \r\n }\r\n }, function () {\r\n vm.showFailure(\"Failed\", \"Unable to reach server\");\r\n });\r\n }\r\n //}\r\n vm.TicketBreachValueconver = function(TicketBreachValue)\r\n {\r\n var TicketBreachValueInString=\"\"; \r\n if(TicketBreachValue==0)\r\n TicketBreachValueInString = \"Not Breached\";\r\n if(TicketBreachValue==1)\r\n TicketBreachValueInString = \"Breached\";\r\n \r\n return TicketBreachValueInString;\r\n }\r\n vm.OpenTracking = function (ticket) {\r\n vm.trackingTicketId = ticket;\r\n Tracking = $uibModal.open({\r\n templateUrl: 'Tracking.html',\r\n size: 'lg',\r\n scope: $scope,\r\n controller: ModelInstanceOfMap\r\n })\r\n }\r\n vm.CloseTracking = function () {\r\n Tracking.close();\r\n }\r\n\r\n vm.OpenRescheduleAuditModal = function (currentAuditJOb) \r\n { \r\n vm.CurrentAuditJob = currentAuditJOb;\r\n vm.RatingOfTicket = '';\r\n vm.RescheduleAuditTicketId = vm.CurrentAuditJob.TicketId;\r\n vm.AuditPrimaryReason = vm.CurrentAuditJob.PrimaryReason;\r\n rescheduleAuditModalInstance = $uibModal.open({\r\n templateUrl: 'reschedule_audit_model.html',\r\n scope: $scope\r\n }); \r\n }\r\n\r\n vm.RescheduleAuditCloseModal = function () {\r\n rescheduleAuditModalInstance.close();\r\n }\r\n\r\n vm.OpenSiteAuditModal = function (currentAuditJOb) \r\n { \r\n vm.CurrentAuditJob = currentAuditJOb; \r\n vm.SiteAuditTicketId = vm.CurrentAuditJob.TicketId; \r\n siteAuditModalInstance = $uibModal.open({\r\n templateUrl: 'site_audit_model.html',\r\n scope: $scope\r\n }); \r\n }\r\n vm.SiteAuditCloseModal = function () {\r\n siteAuditModalInstance.close();\r\n }\r\n\r\n $scope.attachSiteAudit = function(files){\r\n vm.SiteAuditFileName=\"\";\r\n var file = files.files[0];\r\n vm.SiteAuditFileName=file.name;\r\n if(vm.SiteAuditFileName!=\"\") \r\n { \r\n $timeout(function () {\r\n vm.SiteAuditMessage=\"\"; \r\n }, 100); \r\n } \r\n vm.followFiles = files.files;\r\n var allowedExtensions = /(\\.pdf|\\.doc|\\.docx|\\.xls|\\.xlsx|\\.PDF|\\.DOC|\\.DOCX|\\.XLS|\\.XLSX)$/i; \r\n if(!allowedExtensions.exec(file.name)){\r\n vm.followFiles = [];\r\n vm.clear(); \r\n alert('Please upload file having extensions .pdf,.doc,.docx,.xls,.xlsx only.');\r\n }\r\n }\r\n \r\n\r\n vm.SiteRescheduleAudit = function(){ \r\n if(vm.SiteAuditFileName==\"\")\r\n { \r\n return vm.SiteAuditMessage=\"Please Select Audit Report\";\r\n }\r\n else\r\n vm.SiteAuditMessage=\"\";\r\n\r\n var data = {};\r\n data = { \r\n \"AuditResult\": vm.SiteAuditModel, \r\n \"AuditObjectId\": vm.SiteAuditTicketId,\r\n \"AuditAttachmentName\": vm.SiteAuditFileName,\r\n \"AuditFor\": \"Ticket\" \r\n } \r\n siteAuditModalInstance.close(); \r\n CentralHDManualAssignationService.AddSiteAuditwithAttachment(data, vm.followFiles, token, loggedinUser).then(function(res){\r\n if (res && res.status == 202) { \r\n vm.showSuccess(\"Success\", \"Site Audit Saved successfully.\");\r\n $timeout(function () { \r\n vm.SiteAuditFileName=\"\";\r\n vm.FilterArray(); \r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to add site audit. Server is not responding correctly.\");\r\n }\r\n },vm.showFailure);\r\n }\r\n \r\n\r\n\r\n $scope.totalTableTickets = 0;\r\n $scope.ticketTablePerPage = vm.ticketPageListCount ; // this should match however many results your API puts on one page\r\n $scope.TicketTablepagination = {\r\n current: 1\r\n };\r\n\r\n\r\n vm.changeTicketPageListCount = function() { \r\n $scope.ticketTablePerPage = vm.ticketPageListCount;\r\n PageSize = $scope.ticketTablePerPage;\r\n $scope.TicketTablepageChanged($scope.TicketTablepagination.current);\r\n vm.selectAll = false;\r\n }\r\n \r\n // $scope.UserTablepagination.current= $localStorage.TicketFilterModel?$localStorage.TicketFilterModel.PageIndex:1;\r\n PageIndex=$scope.TicketTablepagination.current;\r\n $scope.TicketTablepageChanged = function(newPage) { \r\n PageIndex = newPage;\r\n vm.FilterArray(); \r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n };\r\n\r\n $scope.totalUsers = 0;\r\n // $scope.usersPerPage = 10; // this should match however many results your API puts on one page\r\n $scope.usersPerPage = vm.userPageListCount;\r\n $scope.Userpagination = {\r\n current: 1\r\n };\r\n\r\n //left show page 10 20 30\r\n vm.changeUserPageListCount = function() { \r\n $scope.usersPerPage = vm.userPageListCount;\r\n uPageSize = $scope.usersPerPage;\r\n $scope.UserTablePageChanged($scope.Userpagination.current);\r\n vm.selectAll = false;\r\n \r\n uPageIndex=$scope.Userpagination.current;\r\n $scope.UserTablePageChanged = function(newPage) { \r\n uPageIndex = newPage;\r\n vm.UsersFilterArray(); \r\n vm.GetUserByFiltersWithDynaPage(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize);\r\n };\r\n }\r\n\r\n $scope.totalUserSuggestions = 0;\r\n // $scope.userSuggestionsPerPage = 10; // this should match however many results your API puts on one page\r\n $scope.userSuggestionsPerPage = vm.suggestionPageListCount;\r\n $scope.UserSuggestionspagination = {\r\n current: 1\r\n };\r\n\r\n vm.cangeSuggestionPageListCount = function() { \r\n $scope.userSuggestionsPerPage = vm.suggestionPageListCount;\r\n uPageSize = $scope.userSuggestionsPerPage;\r\n $scope.UserSuggestionTablepageChanged($scope.Userpagination.current);\r\n vm.selectAll = false;\r\n }\r\n uPageIndex=$scope.Userpagination.current;\r\n $scope.UserSuggestionTablepageChanged = function(newPage) { \r\n vm.SuggestionStarIndex = (newPage-1)*vm.SuggestionMaxcount; \r\n vm.SuggestionMaxcount = newPage*vm.suggestionPageListCount \r\n };\r\n\r\n // //jobs paging (freelancer profile)\r\n $scope.totalJobs = 0;\r\n // $scope.userSuggestionsPerPage = 10; // this should match however many results your API puts on one page\r\n $scope.JobsPerPage = vm.jobsPageListCount;\r\n $scope.jobspagination = {\r\n current: 1\r\n };\r\n\r\n vm.cangeJobsPageListCount = function() { \r\n $scope.JobsPerPage = vm.jobsPageListCount;\r\n uPageSize = $scope.JobsPerPage;\r\n $scope.jobsTablepageChanged($scope.jobspagination.current);\r\n vm.selectAll = false;\r\n }\r\n uPageIndex=$scope.jobspagination.current;\r\n $scope.jobsTablepageChanged = function(newPage) { \r\n jPageIndex = newPage;\r\n vm.jobsStarIndex = (newPage-1)*vm.jobsMaxcount; \r\n vm.jobsMaxcount = newPage*vm.jobsPageListCount;\r\n vm.filterStatusForJObs($scope.jobStatusForPaging);\r\n \r\n };\r\n\r\n //pagination for BID\r\n $scope.totalUserBID = 0;\r\n $scope.userBIDPerPage = 10; // this should match however many results your API puts on one page\r\n $scope.UserBIDpagination = {\r\n current: 1\r\n };\r\n\r\n $scope.UserBIDTablepageChanged = function(newPage) {\r\n vm.BIDStartIndex = (newPage-1)*10; \r\n vm.BIDMaxcount = newPage*10\r\n };\r\n \r\n // $scope.UserTablepagination.current= $localStorage.TicketFilterModel?$localStorage.TicketFilterModel.PageIndex:1;\r\n uPageIndex=$scope.Userpagination.current;\r\n $scope.UserTablePageChanged = function(newPage) { \r\n uPageIndex = newPage;\r\n if(uitemNames != 'Search')\r\n {\r\n vm.UsersFilterArray();\r\n }\r\n \r\n vm.GetUserByFiltersWithDynaPage(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize);\r\n\r\n };\r\n\r\n vm.ticketList=[];\r\n \r\n vm.getAllJobTickets = function(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize) { \r\n var templateCols=\"\";\r\n vm.resetAllSelect();\r\n var templateCols=\"\";\r\n PageIndex = PageIndex?PageIndex:1;\r\n vm.DateField = vm.DateField?vm.DateField:\"CreatedOn\";\r\n CentralHDManualAssignationService.getAllJobTickets(loggedinUser, startDate, endDate, token, itemNames, itemValues,textItemNames, textItemValues, templateCols, templateItemNames, templateItemValues,vm.DateField,PageIndex,PageSize,vm.SortType,vm.SortField).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.ticketList = resp.data.LightTicketModels;\r\n $scope.totalTableTickets = resp.data.Count;\r\n $scope.totalTableUsers = resp.data.Count;\r\n vm.ApprovedJobCount = resp.data.ApprovedJobCount;\r\n vm.AssignJobCount = resp.data.AssignJobCount;\r\n vm.AssignedNCallTakenButNoAppointment = resp.data.AssignedNCallTakenButNoAppointment;\r\n vm.AppointmentNotTakenInTime = resp.data.AppointmentNotTakenInTime;\r\n vm.BroadcastJobCount = resp.data.BroadcastJobCount;\r\n vm.CancelJobCount = resp.data.CancelJobCount;\r\n vm.CompleteJobCount = resp.data.CompleteJobCount;\r\n vm.TotalJobCount = resp.data.TotalJobCount;\r\n vm.HoldJobCount = resp.data.HoldJobCount;\r\n vm.InTransitJobCount = resp.data.InTransitJobCount; \r\n vm.OnSiteJobCount = resp.data.OnSiteJobCount; \r\n vm.InProgressJobCount = resp.data.InProgressJobCount; \r\n vm.NewJobCount = resp.data.NewJobCount;\r\n vm.ReadyToAssigJobCount = resp.data.ReadyToAssigJobCount;\r\n vm.RejectedJobCount = resp.data.RejectedJobCount;\r\n vm.ScheduleExceptionJobCount = resp.data.ScheduleExceptionJobCount;\r\n vm.ExceptionNoUserCount =resp.data.ExceptionNoUserCount;\r\n vm.AddressExceptionCount = resp.data.AddressExceptionCount;\r\n vm.PriceExceptionCount = resp.data.PriceExceptionCount;\r\n vm.AppointmentBookedForDay0 = resp.data.AppointmentBookedForDay0;\r\n vm.AppointmentBookedForDay1 = resp.data.AppointmentBookedForDay1;\r\n vm.AppointmentBookedForDay2Plus = resp.data.AppointmentBookedForDay2Plus;\r\n vm.AppointmentBreached = resp.data.AppointmentBreached;\r\n vm.NotAssignedForD0 = resp.data.NotAssignedForD0;\r\n vm.NotAssignedForD1 = resp.data.NotAssignedForD1;\r\n vm.CustomerCallInit = resp.data.CustomerCallInit;\r\n vm.AssignedNoActionCount = resp.data.AssignedNoActionCount;\r\n vm.BroadcastCountTickets = resp.data.BroadcastCountTickets;\r\n\r\n vm.enableFilters = true;\r\n vm.actionFlag = false;\r\n $localStorage.TList = vm.ticketList;\r\n $localStorage.AllJobType = vm.searchJobTypeText;\r\n $localStorage.AllJobStatus = vm.searchStatusText;\r\n angular.forEach(vm.ticketList, function (t) {\r\n t.StartTime = moment(t.StartTime, \"YYYY-MM-DDThh:mm:ssZ\"); \r\n t.StartTimeD = t.StartTime.format(\"YYYY-MM-DD hh:mm\");\r\n\r\n var today = moment();\r\n var date2 = t.CreationDate;\r\n var date3 = t.AssignationDate;\r\n var duration = today.diff(date2, 'days');\r\n var assignDuration = today.diff(date3, 'hour');\r\n var assignDurationMin = today.diff(date3, 'minutes');\r\n t.Age = duration;\r\n t.diffAssignation = assignDuration;\r\n t.diffAssignationMin = assignDurationMin%60;\r\n })\r\n \r\n if(vm.ticketList.length < vm.ticketPageListCount)\r\n vm.ticketListLength = $scope.totalTableTickets;\r\n else\r\n vm.ticketListLength = PageIndex * vm.ticketPageListCount;\r\n if(PageIndex==1)\r\n vm.pageindexCount = 1;\r\n else\r\n vm.pageindexCount = (((PageIndex-1) * vm.ticketPageListCount) + 1);\r\n }\r\n\r\n }, function () { \r\n });\r\n \r\n }\r\n\r\n vm.getAllTicketsByStatus = function(status)\r\n {\r\n vm.JobcountbyStatus=status;\r\n //$scope.UserTablepagination={}; \r\n vm.searchText='';\r\n vm.searchJobTypeText = \"\"; \r\n vm.searchStatusText=''; \r\n vm.CustomerList = [];\r\n vm.ProjectList = [];\r\n vm.ProjectListByCustomer=[];\r\n vm.SearchByIs = '';\r\n vm.SearchByDiscription = '';\r\n vm.SearchByTName = '';\r\n vm.SearchByPName = '';\r\n vm.SearchByCName = '';\r\n //var startDate = moment(vm.ticketdates.startDate).format('YYYY-MM-DD');\r\n //var endDate = moment(vm.ticketdates.endDate).format('YYYY-MM-DD'); \r\n vm.FilterArray(); \r\n PageIndex=1;\r\n /*$scope.UserTablepagination = {\r\n current: 1\r\n };*/\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n \r\n }\r\n\r\n vm.sortBroadcastAge = function(SortType) {\r\n vm.SortField = \"BroadcastedOn\";\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n\r\n }\r\n\r\n vm.sortAge = function(SortType) {\r\n vm.SortField = \"CreatedOn\";\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n\r\n }\r\n\r\n vm.sortColumn = function(col){\r\n vm.SortField = col;\r\n if(vm.SortType=='desc'){\r\n vm.SortType = 'asc';\r\n vm.reverseclass = 'fa fa-arrow-up';\r\n }else{\r\n vm.SortType = 'desc';\r\n vm.reverseclass = 'fa fa-arrow-down';\r\n }\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.filterStatusForJObs($scope.jobStatusForPaging, $scope.selectedUserId, $localStorage.loggedInUserId, token,jPageIndex,jPageSize)\r\n\r\n };\r\n \r\n // remove and change class\r\n vm.sortClass = function(col){\r\n if(vm.SortField == col ){\r\n if(vm.SortType == 'desc'){\r\n return 'fa fa-arrow-down'; \r\n }else{\r\n return 'fa fa-arrow-up';\r\n }\r\n }\r\n else{\r\n return '';\r\n }\r\n }\r\n\r\n\r\n vm.UserByFiltersList=[];\r\n vm.GetUserByFiltersWithDynaPage = function(loggedinUser, token, uitemNames, uitemValues, userType, UserAvailable, uPageIndex, uPageSize) { \r\n CentralHDManualAssignationService.GetUserByFiltersWithDynaPage(loggedinUser, token, uitemNames, uitemValues, userType, vm.UserAvailable, vm.DateField, uPageIndex, uPageSize).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.UserByFiltersList = resp.data.ListUserResponseModel;\r\n $scope.totalUsers = resp.data.Count;\r\n preprocessData(vm.UserByFiltersList);\r\n if(vm.UserByFiltersList.length < vm.userPageListCount)\r\n vm.userListLength = $scope.totalUsers;\r\n else\r\n vm.userListLength = uPageIndex * vm.userPageListCount;\r\n if(uPageIndex==1)\r\n vm.upageindexCount = 1;\r\n else\r\n vm.upageindexCount = (((uPageIndex-1) * vm.userPageListCount) + 1);\r\n\r\n for(var i=0;i 0 && itemValues.length > 0){\r\n itemNames = itemNames + ',Status';\r\n itemValues = itemValues + ',' + vm.searchStatusText.join(\"|\");\r\n }else{\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText.join(\"|\");\r\n }\r\n } \r\n if(vm.JobcountbyStatus)\r\n {\r\n itemNames = 'Status';\r\n itemValues = vm.JobcountbyStatus;\r\n }\r\n\r\n if(vm.SearchByAccountName)\r\n {\r\n if(itemNames){\r\n itemNames = itemNames + ',AccountName';\r\n itemValues = itemValues + ',' + vm.SearchByAccountName;\r\n }else{\r\n itemNames = 'AccountName';\r\n itemValues = vm.SearchByAccountName;\r\n }\r\n }\r\n\r\n if(vm.SearchByCName){\r\n if(itemNames.length > 0 && itemValues.length > 0){\r\n itemNames = itemNames + ',CustomerName';\r\n itemValues = itemValues + ',' + vm.SearchByCName;\r\n }else{\r\n itemNames = 'CustomerName';\r\n itemValues = vm.SearchByCName;\r\n }\r\n if(itemNames.length > 0 && itemValues.length > 0){\r\n itemNames = itemNames + ',ProjectName';\r\n itemValues = itemValues + ',' + vm.SearchByPName;\r\n }else{\r\n itemNames = 'ProjectName';\r\n itemValues = vm.SearchByPName;\r\n }\r\n }\r\n textItemNames = '';\r\n textItemValues = '';\r\n if(vm.SearchByIs){\r\n if(textItemNames.length == 0 && textItemValues.length == 0){\r\n textItemNames = 'CorelationValue';\r\n textItemValues = vm.SearchByIs;\r\n }else{\r\n textItemNames = textItemNames + ',CorelationValue';\r\n textItemValues = textItemValues + ',' + vm.SearchByIs;\r\n }\r\n \r\n }\r\n if(vm.SearchByDiscription){\r\n if(textItemNames.length == 0 && textItemValues.length == 0){\r\n textItemNames = 'JobDescription';\r\n textItemValues = vm.SearchByDiscription;\r\n }else{\r\n textItemNames = textItemNames + ',JobDescription';\r\n textItemValues = textItemValues + ',' + vm.SearchByDiscription;\r\n }\r\n }\r\n if(vm.SearchByTName){\r\n if(textItemNames.length == 0 && textItemValues.length == 0){\r\n textItemNames = 'UserName';\r\n textItemValues = vm.SearchByTName;\r\n }else{\r\n textItemNames = textItemNames + ',UserName';\r\n textItemValues = textItemValues + ',' + vm.SearchByTName;\r\n }\r\n }\r\n if(vm.searchText)\r\n {\r\n itemNames = 'Search';\r\n itemValues = vm.searchText;\r\n templateItemNames = '';\r\n templateItemValues = ''; \r\n textItemNames = '';\r\n textItemValues = '';\r\n } \r\n }\r\n // No Need to change\r\n vm.CommonFunToGetAllJob = function(){\r\n vm.FilterArray(); \r\n var templateCols=\"\"; \r\n JobTicketViewService.downloadTicketsReports(supervisorId, startDate, endDate, itemNames, itemValues,templateCols);\r\n }\r\n vm.MailReport = function(){\r\n vm.FilterArray(); \r\n var templateCols=\"\"; \r\n CentralHDAllTicketListService.sendReportToMail(loggedInUserId, token,startDate, endDate, itemNames, itemValues,templateCols).then(function (resp) { \r\n if (resp && resp.data) { \r\n if(resp.status==200)\r\n {\r\n vm.showSuccess(\"Success\", resp.data);\r\n }\r\n } \r\n else {\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n } \r\n }, function () { \r\n });;\r\n }\r\n\r\n vm.getAllAccounts = function ( ) {\r\n CentralHelpdeskConfigService.getAllAccounts(loggedInUserId, token).then(function (resp) { \r\n if (resp && resp.data) { \r\n if(resp.status==200)\r\n {\r\n vm.HDAllAccounts = resp.data;\r\n\r\n }\r\n } \r\n }, function () { \r\n });\r\n }\r\n\r\n vm.getAllAccounts(); \r\n\r\n vm.Allapplyfilter = function(){\r\n vm.searchText='';\r\n $scope.$broadcast('update.daterangepicker', {date: vm.ticketdates}); \r\n $scope.UserTablepagination = {}; \r\n vm.FilterArray(); \r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues,templateItemNames, templateItemValues,PageIndex,PageSize);\r\n \r\n } \r\n vm.getAllCustomer = function(){ \r\n JobTicketViewService.getAllCustomers(supervisorId,token).then(function(resp){\r\n vm.CustomerList = resp.data;\r\n })\r\n } \r\n vm.getAllProject= function(){ \r\n JobTicketViewService.GetAllProjects(supervisorId,token).then(function(resp){\r\n vm.ProjectList = resp.data;\r\n })\r\n }\r\n //vm.getAllCustomer();\r\n //vm.getAllProject();\r\n\r\n vm.GetCustomerByAccount=function()\r\n { var SelectedAccountId = ''; \r\n angular.forEach(vm.HDAllAccounts, function (account) {\r\n if (account.AccountName==vm.SearchByAccountName) {\r\n SelectedAccountId = account.AccountId; \r\n }\r\n })\r\n CentralHDAllTicketListService.GetCustomersByAccount(loggedInUserId,SelectedAccountId,token).then(function(resp){\r\n vm.CustomerList = resp.data;\r\n })\r\n }\r\n\r\n \r\n vm.GetProjectByCustomer=function()\r\n {\r\n vm.ProjectListByCustomer=[];\r\n angular.forEach(vm.CustomerList, function (customer) {\r\n if (customer.CompanyName==vm.SearchByCName) {\r\n vm.ProjectListByCustomer = customer.Projects;\r\n }\r\n })\r\n }\r\n vm.OpenAutoScheduleConfirmationModal = function () \r\n { \r\n vm.confirmationMessage = 'Do you want to auto schedule the jobs?';\r\n confirmationModalInstance = $uibModal.open({\r\n templateUrl: 'auto_schedule_confirmation_model.html',\r\n scope: $scope\r\n }); \r\n }\r\n \r\n vm.confirmationCloseModal = function () {\r\n confirmationModalInstance.close();\r\n }\r\n vm.AutoScheduleJobs = function () { \r\n JobTicketViewService.AutoBroadcastAllNewJobsManualMode(supervisorId,token).then(function (resp) {\r\n if (resp.status == 200) {\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000); \r\n confirmationModalInstance.close(); \r\n vm.showSuccess(\"Success\", \"Jobs has been auto scheduled successfully\");\r\n }\r\n if (resp.status == 206) { \r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }\r\n }, function () { \r\n });\r\n }\r\n vm.SubmitFilter = function () { \r\n $scope.UserTablepagination={}; \r\n vm.searchText='';\r\n var startDate = moment(vm.ticketdates.startDate).format('YYYY-MM-DD');\r\n var endDate = moment(vm.ticketdates.endDate).format('YYYY-MM-DD');\r\n vm.FilterArray(); \r\n PageIndex=1;\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n \r\n }\r\n vm.dateRangeChange = function (ev, picker) { \r\n vm.IsSearch = true;\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\"); \r\n vm.ticketdates = { startDate: startDate, endDate: endDate }; \r\n };\r\n \r\n vm.outsidedateRangeChange = function (ev, picker) { \r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n vm.DateField=\"StatusChangedOn\"; \r\n vm.JobcountbyStatus = '';\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n\r\n };\r\n vm.getAllJobTicketsCopy = function (supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize) {\r\n vm.FilterArray();\r\n var templateCols=\"\";\r\n PageIndex = PageIndex?PageIndex:1;\r\n vm.DateField = vm.DateField?vm.DateField:\"CreatedOn\";\r\n JobTicketViewService.getAllJobTicketsCopy(supervisorId, startDate, endDate, token, itemNames, itemValues,textItemNames, textItemValues, templateCols, templateItemNames, templateItemValues,vm.DateField,PageIndex,PageSize).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.ticketList = resp.data.LightTicketModels;\r\n $scope.totalTableUsers = resp.data.Count;\r\n vm.ApprovedJobCount = resp.data.ApprovedJobCount;\r\n vm.AssignJobCount = resp.data.AssignJobCount;\r\n vm.BroadcastJobCount = resp.data.BroadcastJobCount;\r\n vm.CancelJobCount = resp.data.CancelJobCount;\r\n vm.CompleteJobCount = resp.data.CompleteJobCount;\r\n vm.TotalJobCount = resp.data.TotalJobCount;\r\n vm.HoldJobCount = resp.data.HoldJobCount;\r\n vm.InTransitJobCount = resp.data.InTransitJobCount; \r\n vm.OnSiteJobCount = resp.data.OnSiteJobCount; \r\n vm.InProgressJobCount = resp.data.InProgressJobCount; \r\n vm.NewJobCount = resp.data.NewJobCount;\r\n vm.ReadyToAssigJobCount = resp.data.ReadyToAssigJobCount;\r\n vm.RejectedJobCount = resp.data.RejectedJobCount;\r\n vm.ScheduleExceptionJobCount = resp.data.ScheduleExceptionJobCount;\r\n vm.AddressExceptionCount = resp.data.AddressExceptionCount;\r\n vm.PriceExceptionCount = resp.data.PriceExceptionCount;\r\n vm.BroadcastCountTickets = resp.data.BroadcastCountTickets;\r\n\r\n vm.enableFilters = true;\r\n vm.actionFlag = false;\r\n $localStorage.TList = vm.ticketList;\r\n $localStorage.AllJobType = vm.searchJobTypeText;\r\n $localStorage.AllJobStatus = vm.searchStatusText;\r\n angular.forEach(vm.ticketList, function (t) {\r\n t.StartTime = moment(t.StartTime, \"YYYY-MM-DDThh:mm:ssZ\");\r\n t.StartTimeD = t.StartTime.format(\"DD/MM/YYYY LTS\");\r\n })\r\n\r\n if(vm.ticketList.length < 10)\r\n vm.ticketListLength = $scope.totalTableUsers;\r\n else\r\n vm.ticketListLength = PageIndex * 10;\r\n if(PageIndex==1)\r\n vm.pageindexCount = 1;\r\n else\r\n vm.pageindexCount = (((PageIndex-1) * 10) + 1);\r\n }\r\n \r\n }, function () { \r\n });\r\n }\r\n vm.getAllTicketsByStatus = function(status)\r\n {\r\n vm.JobcountbyStatus=status;\r\n //$scope.UserTablepagination={}; \r\n vm.searchText='';\r\n vm.searchJobTypeText = \"\"; \r\n vm.searchStatusText=''; \r\n vm.CustomerList = [];\r\n vm.ProjectList = [];\r\n vm.ProjectListByCustomer=[];\r\n vm.SearchByIs = '';\r\n vm.SearchByDiscription = '';\r\n vm.SearchByTName = '';\r\n vm.SearchByPName = '';\r\n vm.SearchByCName = '';\r\n // var startDate = moment(vm.ticketdates.startDate).format('YYYY-MM-DD');\r\n // var endDate = moment(vm.ticketdates.endDate).format('YYYY-MM-DD'); \r\n \r\n vm.FilterArray(); \r\n \r\n PageIndex=1;\r\n /*$scope.UserTablepagination = {\r\n current: 1\r\n };*/\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n \r\n }\r\n vm.Action = function (action) {\r\n \r\n var ticketId = '';\r\n \r\n angular.forEach(vm.ticketList, function (t) {\r\n if (t.checked) {\r\n ticketId += t.TicketId + \",\";\r\n }\r\n })\r\n ticketId = ticketId.length > 0 ? ticketId.substring(0, ticketId.length - 1) : ticketId;\r\n \r\n if (action == 'Accepted') {\r\n vm.editPermission = true;\r\n vm.confirmTagModal(\"Do you want to accept selected ticket's?\", function () {\r\n $log.log('Accept CallBack Call');\r\n JobTicketViewService.ActionByVendor(loggedInUserId, ticketId, action, token).then(function (resp) {\r\n if (resp.status == 202) { \r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n vm.actionFlag = false;\r\n vm.showSuccess(\"Success\", \"Selected Jobs has been accepted successfully\");\r\n \r\n } else {\r\n vm.showFailure(\"Failed\", \"Server facing some technical issue, please try again later\");\r\n }\r\n })\r\n })\r\n } else {\r\n vm.editPermission = false;\r\n vm.confirmTagModal(\"Do you want to reject selected ticket's?\", function () {\r\n $log.log('Accept CallBack Call');\r\n JobTicketViewService.ActionByVendor(loggedInUserId, ticketId, action, token).then(function (resp) {\r\n if (resp.status == 202) { \r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.actionFlag = false;\r\n }, 1000);\r\n vm.showSuccess(\"Success\", \"Selected Jobs has been rejected successfully\");\r\n \r\n } else {\r\n vm.showFailure(\"Failed\", \"Server facing some technical issue, please try again later\");\r\n }\r\n })\r\n })\r\n }\r\n }\r\n vm.enableFilters = true;\r\n \r\n vm.dtInstance = {}; \r\n vm.searchTable = function () { \r\n vm.FilterArray(); \r\n vm.ResetFilter(); \r\n // vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n \r\n };\r\n \r\n if($localStorage.backToTicketList==\"JobDetailView\")\r\n { \r\n $localStorage.backToTicketList=\"\"; \r\n vm.searchStatusText=$localStorage.TicketFilterModel.JobStatus;\r\n vm.searchJobTypeText=$localStorage.TicketFilterModel.JobType;\r\n vm.SearchByIs=$localStorage.TicketFilterModel.JobId;\r\n vm.SearchByDiscription=$localStorage.TicketFilterModel.JobDesc;\r\n vm.SearchByTName=$localStorage.TicketFilterModel.JobTName;\r\n vm.SearchByCName=$localStorage.TicketFilterModel.JobCustomer;\r\n vm.SearchByPName=$localStorage.TicketFilterModel.JobProject;\r\n vm.DateField=$localStorage.TicketFilterModel.JobDType;\r\n PageIndex=$localStorage.TicketFilterModel.PageIndex;\r\n vm.JobcountbyStatus=$localStorage.TicketFilterModel.JobcountbyStatus;\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n $localStorage.backToTicketList=\"\"; \r\n $localStorage.TicketFilterModel.PageIndex = 1;\r\n \r\n }\r\n else\r\n { \r\n if( typeof $localStorage.TicketFilterModel === \"undefined\" || $localStorage.TicketFilterModel==\"\" || typeof $localStorage.TicketFilterModel.PageIndex === \"undefined\")\r\n PageIndex=1;\r\n\r\n $localStorage.TicketFilterModel = {};\r\n $localStorage.TicketFilterModel.PageIndex = 1;\r\n \r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n $localStorage.TicketFilterModel = {};\r\n }\r\n vm.closeSearchText = function()\r\n { \r\n if(vm.searchText!=\"\")\r\n {\r\n vm.searchText=\"\";\r\n vm.ResetFilter();\r\n }\r\n }\r\n vm.ViewJob = function (ticket) { \r\n $localStorage.backToOldJobList = '';\r\n $localStorage.SDate = startDate;\r\n $localStorage.EDate = endDate;\r\n $localStorage.previousPage = 'jobticketcopy';\r\n $localStorage.TicketFilterModel ={\r\n \"JobType\" : vm.searchJobTypeText,\r\n \"JobStatus\" : vm.searchStatusText,\r\n \"JobDType\" : vm.DateField,\r\n \"JobSDate\" : startDate,\r\n \"JobEDate\" : endDate,\r\n \"JobId\" : vm.SearchByIs,\r\n \"JobDesc\" : vm.SearchByDiscription,\r\n \"JobTName\" : vm.SearchByTName, \r\n \"JobCustomer\" : vm.SearchByCName,\r\n \"JobProject\" : vm.SearchByPName,\r\n \"PageIndex\" : PageIndex,\r\n \"JobcountbyStatus\" : vm.JobcountbyStatus\r\n \r\n } ;\r\n // vm.VerticalName == 'Telecom' || vm.VerticalName == 'IMS'\r\n if(vm.VerticalName == 'IMS'){\r\n $state.go('index.JobView', {\r\n ticketId: ticket\r\n }, {\r\n reload: true\r\n });\r\n }else{\r\n $state.go('index.JobDetailView', {\r\n ticketId: ticket\r\n }, {\r\n reload: true\r\n }); \r\n }\r\n \r\n }\r\n\r\n vm.state = {};\r\n var columns = [\r\n {'name': 'field1', 'visible':true},//0\r\n {'name': 'field1', 'visible':true},//1\r\n {'name': 'field1', 'visible':true},//2\r\n {'name': 'field1', 'visible':true},//3\r\n {'name': 'field1', 'visible':true},//4\r\n {'name': 'field1', 'visible':true},//5\r\n {'name': 'field1', 'visible':true},//6\r\n {'name': 'field1', 'visible':true},//7\r\n {'name': 'field1', 'visible':true},//8\r\n {'name': 'field1', 'visible':true},//9\r\n {'name': 'field1', 'visible':true},//10\r\n {'name': 'field1', 'visible':true},//11\r\n {'name': 'field1', 'visible':true},//12\r\n {'name': 'field1', 'visible':true},//13\r\n {'name': 'field1', 'visible':true},//14\r\n {'name': 'field1', 'visible':true},//15\r\n {'name': 'field1', 'visible':true},//16\r\n {'name': 'field1', 'visible':true},//17\r\n {'name': 'field1', 'visible':true},//18\r\n {'name': 'field1', 'visible':true},//19\r\n {'name': 'field1', 'visible':true},//20\r\n {'name': 'field1', 'visible':true},//21\r\n {'name': 'field1', 'visible':true},//22\r\n {'name': 'field1', 'visible':true},//23\r\n {'name': 'field1', 'visible':true},//24\r\n {'name': 'field1', 'visible':true},//25\r\n {'name': 'field1', 'visible':true},//26\r\n {'name': 'field1', 'visible':true},//27\r\n {'name': 'field1', 'visible':true},//28\r\n {'name': 'field1', 'visible':true},//29\r\n {'name': 'field1', 'visible':true},//30\r\n {'name': 'field1', 'visible':true},//31\r\n {'name': 'field1', 'visible':true},//32\r\n {'name': 'field1', 'visible':true},//33\r\n {'name': 'field1', 'visible':true},//34\r\n {'name': 'field1', 'visible':true},//35\r\n {'name': 'field1', 'visible':true},//36\r\n {'name': 'field1', 'visible':true},//37\r\n {'name': 'field1', 'visible':true},//38\r\n {'name': 'field1', 'visible':true},//39\r\n {'name': 'field1', 'visible':true},//40\r\n {'name': 'field1', 'visible':true},//41\r\n {'name': 'field1', 'visible':true},//42\r\n {'name': 'field1', 'visible':true},//43\r\n {'name': 'field1', 'visible':true},//44\r\n {'name': 'field1', 'visible':true},//45\r\n {'name': 'field1', 'visible':true},//46\r\n {'name': 'field1', 'visible':true},//47\r\n {'name': 'field1', 'visible':true},//48\r\n {'name': 'field1', 'visible':true},//49\r\n {'name': 'field1', 'visible':true},//50\r\n {'name': 'field1', 'visible':true},//51\r\n {'name': 'field1', 'visible':true},//52\r\n {'name': 'field1', 'visible':true},//53\r\n {'name': 'field1', 'visible':true},//54\r\n {'name': 'field1', 'visible':true},//55\r\n {'name': 'field1', 'visible':true},//56\r\n {'name': 'field1', 'visible':true},//57\r\n {'name': 'field1', 'visible':true},//58\r\n {'name': 'field1', 'visible':true}//59\r\n ]\r\n\r\n vm.state.columns = columns;\r\n \r\n vm.dtOptions = DTOptionsBuilder.newOptions()\r\n .withPaginationType('full_numbers').withOption('lengthChange', false)\r\n .withOption('paging', false)\r\n .withOption('bInfo',false)\r\n .withOption('order', []);\r\n\r\n\r\n vm.dtColumnDefs = []; \r\n\r\n vm.buildColumnBuilder = function (){\r\n var tablecolumns = [];\r\n for(var index = 0; index < vm.state.columns.length; index++)\r\n {\r\n if( vm.state.columns[index].visible)\r\n {\r\n tablecolumns.push(DTColumnDefBuilder.newColumnDef(index).notSortable());\r\n }\r\n else\r\n {\r\n tablecolumns.push(DTColumnDefBuilder.newColumnDef(index).notSortable().notVisible())\r\n }\r\n }\r\n vm.dtColumnDefs = tablecolumns;\r\n }\r\n\r\n vm.buildColumnBuilder(); \r\n \r\n \r\n // Copied from main controller\r\n vm.implementSelectItems = function (itemList, scope) {\r\n scope.selectAll = false;\r\n scope.showMinus = false;\r\n scope.showAutoSchduleBtn = false;\r\n scope.downloadFlag = false;\r\n scope.downloadReportBtn = false;\r\n scope.deleteFlag = false;\r\n scope.ReadyToRaiseInvoiceFlag = false;\r\n scope.selectRow = function (i) {\r\n //$log.log(\"selectRow called\");\r\n scope.showMinus = false;\r\n scope.selectAll = false;\r\n scope.showAutoSchduleBtn = false;\r\n scope.downloadFlag = false;\r\n scope.downloadReportBtn = false;\r\n scope.deleteFlag = false;\r\n scope.ReadyToRaiseInvoiceFlag = false;\r\n \r\n for(var j=0;j

\" + vm.name + \"

\" + ' ' + vm.contactnumber);\r\n $scope.InfoWindow.open($scope.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n $scope.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, vm.customerJobCard);\r\n \r\n //Plotting the Marker on the Map.\r\n $scope.Latlngbounds.extend(marker.position);\r\n \r\n }\r\n vm.makeJobMarker = function (position, icon, map) {\r\n var marker = new google.maps.Marker({\r\n position: position,\r\n map: map,\r\n icon: icon\r\n });\r\n \r\n //Adding InfoWindow to the Marker.\r\n (function (marker, customerJobCard) {\r\n google.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n $scope.InfoWindow.setContent(\"

\" + vm.customerJobCard.ConsumerName + \"

\" + ' ' + vm.customerJobCard.JobId + \"
\" + ' ' + moment(vm.customerJobCard.JobDateTime).format(\"YYYY-MM-DD HH:mm\") + \"
\" + ' ' + vm.customerJobCard.ConsumerContact);\r\n $scope.InfoWindow.open($scope.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n $scope.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, vm.customerJobCard);\r\n \r\n //Plotting the Marker on the Map.\r\n $scope.Latlngbounds.extend(marker.position);\r\n }\r\n //It is used for the distance also \r\n function initMap() {\r\n var pointA = new google.maps.LatLng(vm.JobLatitude, vm.JobLongitude),\r\n pointB = new google.maps.LatLng(vm.FELatitude, vm.FELongitude),\r\n // center = new google.maps.LatLng(51.3, 0.8),\r\n myOptions = {\r\n zoom: 8,\r\n zoomControl: false,\r\n scaleControl: true,\r\n mapTypeControl: false,\r\n streetViewControl: false,\r\n gestureHandling: 'greedy',\r\n // center: center,\r\n mapTypeId: google.maps.MapTypeId.ROADMAP\r\n },\r\n \r\n map = new google.maps.Map(document.getElementById('map-canvas'), myOptions),\r\n // Instantiate a directions service.\r\n directionsService = new google.maps.DirectionsService,\r\n directionsDisplay = new google.maps.DirectionsRenderer({\r\n map: map\r\n }),\r\n duration = document.getElementById('duration');\r\n distance = document.getElementById('distance');\r\n flightPath = new google.maps.Polyline({\r\n path: [pointA, pointB],\r\n // geodesic: true,\r\n strokeColor: 'red',\r\n });\r\n $scope.InfoWindow = new google.maps.InfoWindow();\r\n $scope.Latlngbounds = new google.maps.LatLngBounds();\r\n // click on marker B to get route from A to B\r\n calculateAndDisplayRoute(directionsService, directionsDisplay, pointA, pointB, distance, duration, map);\r\n var travelMode = \"DRIVING\";\r\n var icon = \"https://img.icons8.com/color/96/000000/street-view.png\";\r\n }\r\n function calculateAndDisplayRoute(directionsService, directionsDisplay, pointA, pointB, distance, duration, map) {\r\n var selectedMode = \"DRIVING\";\r\n directionsService.route({\r\n origin: pointA,\r\n destination: pointB,\r\n unitSystem: google.maps.UnitSystem.METRIC,\r\n travelMode: google.maps.TravelMode[selectedMode]\r\n }, function (response, status) {\r\n if (status == google.maps.DirectionsStatus.OK) {\r\n new google.maps.DirectionsRenderer({\r\n map: map,\r\n directions: response,\r\n suppressMarkers: true,\r\n polylineOptions: {\r\n strokeColor: \"#000000\"\r\n }\r\n });\r\n var leg = response.routes[0].legs[0];\r\n //outputTxt.innerHTML =(response.routes[0].legs[0].distance.value/1000) + \" Kms\";\r\n distance.innerHTML = response.routes[0].legs[0].distance.text;\r\n duration.innerHTML = response.routes[0].legs[0].duration.text;\r\n vm.distance = response.routes[0].legs[0].distance.value / 1000;\r\n vm.makeJobMarker(leg.start_location, icons.start, map);\r\n vm.makeUserMarker(leg.end_location, icons.end, map);\r\n } else {\r\n window.alert('Directions request failed due to ' + status);\r\n }\r\n });\r\n }\r\n \r\n var icons = {\r\n start: new google.maps.MarkerImage(\r\n // URL\r\n UIURL + '/assets/images/patterns/JOb_icon.png',\r\n // (width,height)\r\n new google.maps.Size(44, 32),\r\n // The origin point (x,y)\r\n new google.maps.Point(0, 0),\r\n // The anchor point (x,y)\r\n new google.maps.Point(22, 32)),\r\n end: new google.maps.MarkerImage(\r\n // URL\r\n UIURL + '/assets/images/patterns/delivery-man1.png',\r\n // (width,height)\r\n new google.maps.Size(44, 32),\r\n // The origin point (x,y)\r\n new google.maps.Point(0, 0),\r\n // The anchor point (x,y)\r\n new google.maps.Point(22, 32))\r\n };\r\n /* vm.getReadableDate = function(){\r\n var time = new moment(vm.customerJobCard.JobDateTime, \"YYYY-MM-DDThh:mm:ss\");\r\n return time.format(\"DD MMM YYYY\")+\" at \"+time.format(\"LTS\"); \r\n } */\r\n vm.getCustomerJobCard = function () {\r\n JobTicketViewService.getCustomerJobCardbyJobId(loggedInUserId, vm.trackingTicketId, token, function (data) {\r\n vm.JobLatitude = data.JobLatitude;\r\n vm.JobLongitude = data.JobLongitude;\r\n vm.FELatitude = data.FELatitude;\r\n vm.FELongitude = data.FELongitude;\r\n vm.contactnumber = data.FEContactNumber;\r\n vm.jobtype = data.Description;\r\n vm.name = data.FEName;\r\n // vm.mapMarkers=[];\r\n initMap();\r\n $log.log(\"res of getCustomerJobCard=\" + data);\r\n vm.customerJobCard = data;\r\n if ($localStorage.rateJobParams) {\r\n vm.customerJobCard.userRole = $localStorage.Role;\r\n vm.customerJobCard.JobStatus = $localStorage.rateJobParams.status;\r\n vm.customerJobCard.CustomerGivenRating = $localStorage.rateJobParams.rating;\r\n delete $localStorage.rateJobParams;\r\n }\r\n if (data && data.JobStatus == 'PaymentDone') {\r\n \r\n }\r\n }, function () {\r\n vm.showFailure(\"Failed\", \"Unable to reach server\");\r\n });\r\n }\r\n //}\r\n vm.TicketBreachValueconver = function(TicketBreachValue)\r\n {\r\n var TicketBreachValueInString=\"\"; \r\n if(TicketBreachValue==0)\r\n TicketBreachValueInString = \"Not Breached\";\r\n if(TicketBreachValue==1)\r\n TicketBreachValueInString = \"Breached\";\r\n \r\n return TicketBreachValueInString;\r\n }\r\n vm.OpenTracking = function (ticket) {\r\n vm.trackingTicketId = ticket;\r\n Tracking = $uibModal.open({\r\n templateUrl: 'Tracking.html',\r\n size: 'lg',\r\n scope: $scope,\r\n controller: ModelInstanceOfMap\r\n })\r\n }\r\n vm.CloseTracking = function () {\r\n Tracking.close();\r\n }\r\n \r\n vm.getTemplateCallback = function (templates) {\r\n vm.templateListData = templates;\r\n vm.templateList = [];\r\n angular.forEach(vm.templateListData, function (d) {\r\n if (d.Skill != 'Water Sample Collection') {\r\n vm.templateList.push(d);\r\n }\r\n })\r\n }\r\n vm.OpenApproveModal = function (currentJOb) \r\n { \r\n vm.CurrentJob = currentJOb;\r\n vm.RatingOfTicket = ''; \r\n if(vm.CurrentJob.IsLineItemAvailable==true && vm.CurrentJob.IsDynamicPriceApproved==false){\r\n vm.aproveMessage = 'Please approve dynamic pricing line item under the ticket details section!';\r\n approveModalInstance = $uibModal.open({\r\n templateUrl: 'dynamic_price_approved_model.html',\r\n scope: $scope\r\n });\r\n }\r\n else{\r\n vm.aproveMessage = 'Please Rate !';\r\n approveModalInstance = $uibModal.open({\r\n templateUrl: 'approve_model.html',\r\n scope: $scope\r\n });\r\n } \r\n }\r\n \r\n vm.CloseModal = function () {\r\n approveModalInstance.close();\r\n }\r\n \r\n vm.OpenRescheduleAuditModal = function (currentAuditJOb) \r\n { \r\n vm.CurrentAuditJob = currentAuditJOb;\r\n vm.RatingOfTicket = '';\r\n vm.RescheduleAuditTicketId = vm.CurrentAuditJob.TicketId;\r\n vm.AuditPrimaryReason = vm.CurrentAuditJob.PrimaryReason;\r\n rescheduleAuditModalInstance = $uibModal.open({\r\n templateUrl: 'reschedule_audit_model.html',\r\n scope: $scope\r\n }); \r\n }\r\n \r\n vm.RescheduleAuditCloseModal = function () {\r\n rescheduleAuditModalInstance.close();\r\n }\r\n \r\n vm.JobRescheduleAudit = function()\r\n {\r\n rescheduleAuditModalInstance.close();\r\n JobTicketViewService.TBCCancelationAudit(vm.RescheduleAuditModel,vm.RescheduleAuditTicketId,loggedInUserId,token).then(function(res){\r\n if(res && res.status == 200){\r\n vm.showSuccess(\"Success\", \"Job cancelation audit successfully done.\"); \r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000); \r\n }\r\n });\r\n }\r\n \r\n\r\n vm.OpenSettlementModal = function (currentJOb) {\r\n vm.CurrentJob = currentJOb;\r\n vm.PaymentStatus = '';\r\n vm.Remarks = '';\r\n \r\n settlementModalInstance = $uibModal.open({\r\n templateUrl: 'settlement_model.html',\r\n scope: $scope\r\n });\r\n \r\n }\r\n \r\n vm.SettlementCloseModal = function () {\r\n settlementModalInstance.close();\r\n }\r\n \r\n vm.settlemenTicket = function (status, ticketId, remarks, userId) {\r\n settlementModalInstance.close();\r\n var settlementData = {};\r\n settlementData.PaymentStatus = status;\r\n settlementData.ReqUserId = loggedInUserId;\r\n settlementData.TicketId = ticketId;\r\n settlementData.Remarks = remarks;\r\n settlementData.FEId = userId;\r\n settlementData.Status = \"Done\";\r\n // $log.log('settlementData', settlementData);\r\n JobTicketViewService.updateTicketSettlement(settlementData, token, loggedInUserId, function (res) {\r\n \r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job settlement successfully done.\")\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to settlement payment. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n \r\n }\r\n \r\n \r\n vm.DeleteTicket = function () {\r\n var ticketId = [];\r\n angular.forEach(vm.ticketList, function (t) {\r\n if (t.checked) {\r\n ticketId.push(t.TicketId);\r\n }\r\n })\r\n // ticketId = ticketId.length > 0 ? ticketId.substring(0, ticketId.length - 1) : ticketId;\r\n \r\n if (ticketId != null && ticketId.length == 1) {\r\n JobTicketViewService.DeleteTickets(loggedInUserId, ticketId, token).then(function (resp) {\r\n vm.showAutoSchduleBtn = false;\r\n vm.downloadFlag = false;\r\n vm.downloadReportBtn = false;\r\n vm.deleteFlag = false;\r\n \r\n if (resp && resp.status == 202) {\r\n vm.showSuccess(\"Deleted\", resp.data);\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n } else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n \r\n })\r\n } else {\r\n vm.showFailure(\"Failed\", \"You can delete only one ticket at a time.\");\r\n }\r\n }\r\n \r\n \r\n vm.AutoSchedule = function () {\r\n var ticketId = [];\r\n angular.forEach(vm.ticketList, function (t) {\r\n if (t.checked) {\r\n ticketId.push(t.TicketId);\r\n }\r\n })\r\n \r\n if (ticketId != null) {\r\n JobTicketViewService.SetTicketExecutionMode(loggedInUserId, \"Auto\", ticketId, token).then(function (resp) {\r\n vm.showAutoSchduleBtn = false;\r\n vm.downloadFlag = false;\r\n vm.downloadReportBtn = false;\r\n vm.deleteFlag = false; \r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Scheduled Tickets\", resp.data.toString());\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n } else {\r\n vm.showFailure(\"Failed to schedule tickets\", resp.data.toString());\r\n }\r\n })\r\n } \r\n }\r\n\r\n\r\n \r\n \r\n vm.OpenFollowUpModel = function (ticketId) {\r\n vm.followup = '';\r\n vm.tickId = ticketId;\r\n FollowUpModel = $uibModal.open({\r\n templateUrl: 'FollowupJob.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n controller: ModalInstanceCtrlFollowUp,\r\n });\r\n }\r\n \r\n vm.CloseFollowUpModel = function () {\r\n vm.primaryFollowUpReason = '';\r\n vm.primaryFollowUpRemark = '';\r\n vm.primaryHoldReason='';\r\n vm.primaryHoldRemark='';\r\n vm.followFiles = null; \r\n FollowUpModel.close();\r\n }\r\n \r\n vm.RejectJobModel = function (currentJOb) {\r\n vm.CurrentJob = currentJOb;\r\n RejectJobModel = $uibModal.open({\r\n templateUrl: 'Rejectjob.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n \r\n vm.ConvertToNewJob = function(currentJOb){\r\n \r\n vm.CurrentJob = currentJOb; \r\n var data = {\r\n \"ReqUserId\": loggedInUserId,\r\n \"TicketId\": vm.CurrentJob.TicketId,\r\n \"Status\": \"New\" \r\n };\r\n JobTicketViewService.ConvertToNewJob(data, token, loggedInUserId, function (res) { \r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job converted successfully.\")\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to convert job. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n }\r\n \r\n vm.CloseRejectModel = function () {\r\n RejectJobModel.close();\r\n }\r\n\r\n\r\n //\r\n $scope.attachmentForFollowUp = function(files){\r\n var file = files.files[0]; \r\n vm.followFiles = files.files;\r\n var allowedExtensions = /(\\.jpg|\\.jpeg|\\.png|\\.msg|\\.pdf|\\.bmp|\\.xps)$/i; \r\n if(!allowedExtensions.exec(file.name)){\r\n vm.followFiles = [];\r\n vm.clear(); \r\n alert('Please upload file having extensions .pdf,.jpg,.jpeg,.png,.msg,.bmp,xps only.');\r\n }\r\n }\r\n \r\n vm.clear = function () {\r\n angular.element(\"input[type='file']\").val(null);\r\n }; \r\n \r\n vm.DocEdit = function(index){\r\n vm.followFiles=null; \r\n }\r\n\r\n vm.GetFollowupReasons = function(){\r\n CentralHDAllTicketListService.GetReasonsByStatus(loggedInUserId, token, 'FollowUp').then(function (resp) { \r\n if (resp && resp.data) {\r\n vm.reasonsForFU = resp.data;\r\n }\r\n });\r\n }\r\n vm.GetFollowupReasons();\r\n\r\n vm.GetHoldReasons = function(){\r\n CentralHDAllTicketListService.GetReasonsByStatus(loggedInUserId, token, 'Hold').then(function (resp) { \r\n if (resp && resp.data) {\r\n vm.reasonsForHold = resp.data;\r\n }\r\n });\r\n }\r\n vm.GetHoldReasons();\r\n\r\n\r\n var ModalInstanceCtrlFollowUp = function ($scope, $rootScope, $uibModalInstance) {\r\n vm.updateFollowUpStatus = function () {\r\n var data = {};\r\n data = {\r\n \"userId\": loggedInUserId,\r\n \"dateTime\": \"\",\r\n \"activity\": \"\",\r\n \"action\": \"FOLLOW_UP\",\r\n \"userName\": \"\",\r\n \"ticketId\": vm.tickId,\r\n \"primaryReason\": vm.primaryFollowUpReason,\r\n \"SecondryReason\": \"\",\r\n \"ReasonComment\": vm.primaryFollowUpRemark\r\n }\r\n if(vm.followFiles != null) {\r\n CentralHDAllTicketListService.TicketFollowUp(data,vm.followFiles, token, loggedInUserId, function (res) {\r\n if (res && res.status == 201) {\r\n vm.showSuccess(\"Success\", \"Follow up done successfully.\");\r\n $timeout(function () {\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.CloseFollowUpModel();\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to create follow up. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n }\r\n else {\r\n CentralHDAllTicketListService.TicketFollowUpWithoutDoc(data, token, loggedInUserId, function (res) {\r\n if (res) {\r\n vm.showSuccess(\"Success\", \"Follow up done successfully.\");\r\n $timeout(function () {\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n }\r\n vm.CloseFollowUpModel();\r\n });\r\n }\r\n }\r\n }\r\n\r\n vm.OpenHoldUpModel = function (ticketId, holdstatus) {\r\n if(holdstatus == 'Unhold')\r\n {\r\n vm.UpdateHoldingStatus(ticketId, holdstatus);\r\n } \r\n else{\r\n vm.tickId = ticketId;\r\n $scope.holdstatus =holdstatus;\r\n FollowUpModel = $uibModal.open({\r\n templateUrl: 'HoldJob.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n controller: ModalInstanceCtrlFollowUp,\r\n });\r\n } \r\n }\r\n\r\n vm.UpdateHoldingStatus = function (ticketId, holdingStatus) {\r\n CentralHDAllTicketListService.UpdateHoldingStatus(loggedInUserId, ticketId, holdingStatus,vm.primaryHoldReason,vm.primaryHoldRemark, token).then(function (resp) {\r\n if (resp.status == 202) {\r\n vm.showSuccess('Job Hold/Unhold Status', 'Job has been updated successfully');\r\n $timeout(function () {\r\n vm.FilterArray(); \r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 2000);\r\n vm.CloseFollowUpModel();\r\n }\r\n else if (resp.status == 206) {\r\n vm.showFailure('Failed', resp.data.Message);\r\n $timeout(function () {\r\n vm.FilterArray(); \r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000); \r\n } else {\r\n vm.showFailure('Job Hold/Unhold Status', 'Unable to update job, server is not responding correctly.');\r\n }\r\n }, function (err) {\r\n vm.showFailure('Job Hold/Unhold Status', 'Unable to update job, server is not responding correctly.');\r\n })\r\n }\r\n vm.ApproveJob = function () { \r\n if (vm.RatingOfTicket) {\r\n var jobwinrate = 0.0;\r\n if(vm.Winrate == null || vm.Winrate == 0 || vm.Winrate =='')\r\n jobwinrate = 0.0;\r\n else\r\n jobwinrate = vm.Winrate; \r\n \r\n approveModalInstance.close();\r\n var data = {\r\n \"ReqUserId\": loggedInUserId,\r\n \"TicketId\": vm.CurrentJob.TicketId,\r\n \"Status\": \"Approved\",\r\n \"JobWinRate\" : parseFloat(jobwinrate.toFixed(2)),\r\n \"TechnicianRating\": vm.RatingOfTicket.toString(),\r\n \"ApprovalRemark\": vm.approvalRemark.toString(),\r\n \"IsSafetyAudit\":vm.IsSafetyAudit\r\n };\r\n JobTicketViewService.ApproveJob(data, token, loggedInUserId, function (res) { \r\n if(res && res.data==\"Please enter atleast one Line Item to Approve this job \")\r\n {\r\n vm.showFailure(\"Success\", \"Please enter atleast one Line Item to Approve this job.\")\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n }\r\n else if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job approved successfully.\")\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n \r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to approve job. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n } else {\r\n vm.ratingwarning=\"Please rate the technician.\";\r\n //approveModalInstance.close();\r\n }\r\n }\r\n vm.AcceptJob = function (currentJOb) {\r\n vm.CurrentJob = currentJOb;\r\n var data = {\r\n \"ReqUserId\": loggedInUserId,\r\n \"TicketId\": vm.CurrentJob.TicketId,\r\n \"Status\": \"Accepted\" \r\n };\r\n JobTicketViewService.AcceptJob(data, token, loggedInUserId, function (res) { \r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job accepted successfully.\")\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to accept job. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n \r\n }\r\n \r\n vm.reAssignJob = function (currentJOb) {\r\n \r\n vm.CurrentJob = currentJOb;\r\n var data = {\r\n \"ReqUserId\": loggedInUserId,\r\n \"TicketId\": vm.CurrentJob.TicketId,\r\n \"Status\": \"Assigned\" \r\n };\r\n JobTicketViewService.AcceptJob(data, token, loggedInUserId,function (res) {\r\n \r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job reassigned successfully.\")\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to reassign job. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n \r\n }\r\n \r\n vm.cloneTicket = function (currentJOb) {\r\n \r\n vm.CurrentJob = currentJOb;\r\n if(vm.VerticalName == 'Telecom')\r\n {\r\n $state.go('index.JobBidCreation', { \r\n cloneticketid:vm.CurrentJob.TicketId \r\n },\r\n {\r\n reload: true,\r\n inherit: false,\r\n notify: true\r\n }); \r\n }\r\n else\r\n {\r\n $state.go('index.NewJobCreation', { \r\n },\r\n {\r\n reload: true,\r\n inherit: false,\r\n notify: true\r\n });\r\n \r\n }\r\n \r\n \r\n }\r\n \r\n vm.RejectJob = function () {\r\n if(!vm.RejectionRemark)\r\n {\r\n vm.showFailure(\"Failed\", \"Please comment on rejection.\");\r\n return;\r\n }\r\n RejectJobModel.close(); \r\n var data = {\r\n \"ReqUserId\": loggedInUserId,\r\n \"TicketId\": vm.CurrentJob.TicketId,\r\n \"Status\": \"Rejected\", \r\n \"RejectionRemark\": vm.RejectionRemark.toString()\r\n };\r\n JobTicketViewService.RejectJob(data, token, loggedInUserId, function (res) { \r\n if (res && res.status == 202) {\r\n vm.showSuccess(\"Success\", \"Job rejected successfully.\")\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to approve job. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n \r\n }\r\n \r\n vm.PullBackTicket = function (ticketId) {\r\n JobTicketViewService.PullBackTicket(loggedInUserId, ticketId, token).then(function (resp) {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n })\r\n }\r\n\r\n \r\n vm.downloadReport = function (ticketId, templateName) {\r\n if (templateName == 'Water Testing') {\r\n var urlWithFeasible = PublicApiURL + '/api/Report/' + ticketId + '/DownloadReportByTemplateName?reqUserId=' + $localStorage.loggedInUserId;\r\n $window.open(urlWithFeasible, '_blank')\r\n } else {\r\n var urlForNonFeasible = PublicApiURL + '/api/Report/' + ticketId + '/Report?reqUserId=' + $localStorage.loggedInUserId;\r\n $window.open(urlForNonFeasible, '_blank')\r\n }\r\n }\r\n\r\n //download PDF \r\n vm.downloadReportPDF = function (ticketId,OnSiteReport) { debugger\r\n if (OnSiteReport != null) { \r\n var urlWithFeasible = PublicApiURL + '/api/Report/GeneratePdfOnSiteReportForMultipleTickets?TicketIds=' + ticketId;\r\n $window.open(urlWithFeasible, '_blank')\r\n } else {\r\n // var urlForNonFeasible = ApiURL + '/api/Report/GeneratePdfOnSiteReport?TicketIds=' + ticketId;\r\n // $window.open(urlForNonFeasible, '_blank')\r\n vm.downloadOnSiteReport(ticketId);\r\n }\r\n }\r\n\r\n \r\n\t\tvm.pdfimage = \"\";\r\n\t\tvm.DocumentAvailableMessage=\"\";\t\r\n\t\tvm.downloadOnSiteReport = function (ticketId) { debugger\r\n\t\t\tvm.PDFView();\r\n\t\t\t\r\n\t\t\t// var PreviewConsolidatedInvoiceList = previewSelectedObj;\r\n\t\t\tJobTicketViewService.downloadOnSiteReport(loggedInUserId, token, ticketId).then(function (resp) {\r\n\t\t\t\t// var responseDataList=[];\r\n\t\t\t\tvm.responseDataList = resp.data;\r\n\t\t\t\t// for(var i=0; i 0 ? ticketId.substring(0, ticketId.length - 1) : ticketId;\r\n JobTicketViewService.downloadMultipleReports(loggedInUserId, ticketId, reportMapperId, correlated);\r\n vm.showAutoSchduleBtn = false;\r\n vm.downloadFlag = false;\r\n vm.downloadReportBtn = false;\r\n vm.deleteFlag = false;\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n }\r\n \r\n vm.downloadInvoiceReport = function () {\r\n var ticketId = \"\";\r\n var correlated = $localStorage.accountConfig.CorrelatedReports;\r\n // var reportMapperId = $localStorage.accountConfig.ReportMapperId;\r\n angular.forEach(vm.ticketList, function (t) {\r\n if (t.checked) {\r\n ticketId += t.TicketId + \",\";\r\n }\r\n })\r\n ticketId = ticketId.length > 0 ? ticketId.substring(0, ticketId.length - 1) : ticketId;\r\n JobTicketViewService.downloadInvoice(loggedInUserId, ticketId, correlated);\r\n }\r\n \r\n vm.showMultipleDownloadButton = function () {\r\n var ticketSelected = false;\r\n var IsReportMapper = false; \r\n vm.invoiceFlag = false;\r\n vm.deleteFlag = false;\r\n vm.actionFlag = false;\r\n var actionFlagList = [];\r\n var deleteFlagList = [];\r\n angular.forEach(vm.ticketList, function (t) {\r\n ticketSelected = ticketSelected || t.checked;\r\n if(t.checked){\r\n if(t.reportMapperId)\r\n {\r\n IsReportMapper = true;\r\n }\r\n else\r\n {\r\n IsReportMapper = false; \r\n }\r\n }\r\n if (vm.Role == 'Vendor Manager') {\r\n if (t.checked && t.SkillSet == 'Water Lab Test' && t.TicketStatus == 'Completed') {\r\n vm.invoiceFlag = true;\r\n } else if (t.checked && t.AcceptDate != null) {\r\n actionFlagList.push(false);\r\n } else if (t.checked && t.AcceptDate == null && t.TicketStatus == 'Rejected') {\r\n actionFlagList.push(false);\r\n } else if (t.checked && t.AcceptDate == null && t.TicketStatus == 'Assigned') {\r\n actionFlagList.push(true);\r\n }\r\n } else {\r\n if (t.checked && t.SkillSet == 'Water Lab Test' && t.TicketStatus == 'Completed') {\r\n vm.invoiceFlag = true;\r\n } else if (t.checked && t.TicketStatus == 'New') {\r\n deleteFlagList.push(true);\r\n // vm.deleteFlag = true;\r\n } else if (t.checked && t.TicketStatus != 'New') {\r\n // vm.deleteFlag = false;\r\n deleteFlagList.push(false);\r\n }\r\n }\r\n \r\n \r\n })\r\n if (deleteFlagList.includes(false)) {\r\n vm.deleteFlag = false;\r\n } else if (deleteFlagList.includes(true)) {\r\n vm.deleteFlag = true;\r\n } if (actionFlagList.includes(false)) {\r\n vm.actionFlag = false\r\n } else {\r\n vm.actionFlag = true;\r\n }\r\n return IsReportMapper && ticketSelected && $localStorage.accountConfig != null && $localStorage.accountConfig.CorrelatedReports != null && $localStorage.accountConfig.ReportMapperId != null;\r\n }\r\n // vm.showInvoiceButton = function () {\r\n // var invoiceFlag = false;\r\n // angular.forEach(vm.ticketList, function (t) {\r\n // if (t.checked && t.SkillSet == 'Water Lab Test' && t.TicketStatus == 'Completed') {\r\n // var invoiceFlag = true;\r\n // return invoiceFlag;\r\n // } \r\n // })\r\n // return invoiceFlag;\r\n // }\r\n \r\n vm.hideSingleDownloadButton = function () {\r\n return $localStorage.accountConfig != null && $localStorage.accountConfig.CorrelatedReports != null && $localStorage.accountConfig.ReportMapperId != null;\r\n }\r\n \r\n vm.getSkills = function () {\r\n JobTicketViewService.getSkills(loggedInUserId, token, function (skills) {\r\n vm.skills = skills;\r\n //vm.skills.unshift({ \"SkillName\": \"All Job Types\" }); \r\n if (vm.path == 'isTicketView') {\r\n vm.searchJobTypeText = $localStorage.AllJobType;\r\n // vm.searchStatusText = $localStorage.AllJobStatus;\r\n } \r\n }, vm.showFailure);\r\n \r\n \r\n \r\n }\r\n vm.getSkills();\r\n \r\n vm.isApprovalPermission = function (defaultValue) {\r\n if (vm.accountConfig && vm.accountConfig['ApprovalPermission'] != null) {\r\n return vm.accountConfig['ApprovalPermission'].split(\",\").indexOf($localStorage.loggedInUser_Role) > -1;\r\n }\r\n return defaultValue;\r\n }\r\n \r\n vm.OpenBillModal = function (ticketId) {\r\n vm.BillDetails = [];\r\n vm.TotalExpense = '';\r\n JobTicketViewService.getBillExpenseByTicketID(loggedInUserId, ticketId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n angular.forEach(resp.data, function (d) {\r\n vm.BillDetails = d.Bills;\r\n vm.TotalExpense = d.ExpenseAmount;\r\n })\r\n }\r\n if (vm.TotalExpense != 0) {\r\n BillModal = $uibModal.open({\r\n templateUrl: 'bill_model.html',\r\n scope: $scope\r\n })\r\n }\r\n })\r\n }\r\n \r\n vm.CloseBillModal = function () {\r\n BillModal.close();\r\n }\r\n \r\n vm.getPicUrl = function (pic) {\r\n return ImageUrl + '/' + pic;\r\n }\r\n\r\n vm.ReportpdfUrl = function (ticketId) {\r\n JobTicketViewService.getPdfReport(loggedInUserId, ticketId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n const linkSource = resp.data.Base64Data;\r\n const downloadLink = document.createElement(\"a\");\r\n const fileName = resp.data.ReportName;\r\n downloadLink.href = linkSource;\r\n downloadLink.download = fileName;\r\n downloadLink.click();\r\n } \r\n })\r\n }\r\n\r\n \r\n vm.reloadData = function(){\r\n var resetPaging = true;\r\n vm.dtInstance.reloadData(resetPaging);\r\n }\r\n //Cancel and clone ticket\r\n vm.CancleAndCloneTicket = function(ticket){\r\n var ticketData = ticket;\r\n $state.go('index.JobBidCreation', { cloneticketid:ticketData.TicketId },\r\n {reload: true,inherit: false,notify: true}); \r\n }\r\n vm.CancelTicket = function(ticketId, currentJOb){\r\n vm.CurrentJob = currentJOb;\r\n vm.RatingOfTicket = '';\r\n vm.AuditTicketId = vm.CurrentJob.TicketId;\r\n if(vm.CurrentJob.TicketStatus==\"Completed\" && vm.CurrentJob.SubStatus ==\"TBC\"){ \r\n vm.PrimaryReason = vm.CurrentJob.PrimaryReason;\r\n approveModalInstance = $uibModal.open({\r\n templateUrl: 'tbc_confirm_cancelation_model.html',\r\n scope: $scope\r\n });\r\n }\r\n else\r\n {\r\n \r\n vm.IsCancelFromServer = vm.accountConfig.IsCancelFromServer;\r\n if(vm.IsCancelFromServer && (vm.CurrentJob.TicketStatus==\"Assigned\" || vm.CurrentJob.TicketStatus==\"New\")){\r\n CentralHDAllTicketListService.GetCancellationReasons(vm.CurrentJob.TicketStatus, loggedInUserId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.CancellationReasonsList=resp.data;\r\n cancellationReasonsModalInstance = $uibModal.open({\r\n templateUrl: 'cancellation_reasons_model.html',\r\n scope: $scope\r\n }); \r\n }\r\n }, function () { \r\n });\r\n }\r\n else{\r\n CentralHDAllTicketListService.CancelTicket(loggedinUser,ticketId,token).then(function(res){\r\n if(res.status == 202 && res.statusText =='Accepted'){\r\n vm.showSuccess('Success',res.data);\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n }, 1000);\r\n }\r\n else if(res.status == 206)\r\n {\r\n vm.showFailure('Failed',res.data);\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n }, 1000);\r\n }\r\n }); \r\n }\r\n }\r\n }\r\n vm.OpenTicketRatingModal = function (currentTicketJob) \r\n { \r\n \r\n JobTicketViewService.GetCSATRatingByTicketID(loggedInUserId, currentTicketJob.TicketId, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.TicketRatingList=resp.data;\r\n ticketRatingModalInstance = $uibModal.open({\r\n templateUrl: 'ticket_rating_model.html',\r\n scope: $scope\r\n });\r\n }\r\n \r\n }, function () {\r\n \r\n });\r\n } \r\n \r\n \r\n vm.TicketRatingCloseModal = function () {\r\n ticketRatingModalInstance.close();\r\n }\r\n vm.TBCCancelationAudit = function()\r\n {\r\n approveModalInstance.close();\r\n JobTicketViewService.TBCCancelationAudit(vm.TBCCancelationModel,vm.AuditTicketId,loggedInUserId,token).then(function(res){\r\n if(res && res.status == 200){\r\n vm.showSuccess(\"Success\", \"Job cancelation audit successfully done.\"); \r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n }, 2000); \r\n }\r\n });\r\n }\r\n vm.CancellationReasonsCloseModal = function () {\r\n cancellationReasonsModalInstance.close();\r\n vm.CancellationReasons=\"\";\r\n vm.CancellationReasonsRemark=\"\";\r\n vm.HintDisplay=\"\";\r\n }\r\n vm.UpdateCancellationReasons = function()\r\n {\r\n \r\n vm.cancellationReasonsForm.submitted = true;\r\n if (vm.cancellationReasonsForm.$valid) {\r\n \r\n var CancellationReasonsModel =\r\n {\r\n \"TicketId\": vm.AuditTicketId,\r\n \"CancelReason\": vm.CancellationReasons,\r\n \"CancelRemark\": vm.CancellationReasonsRemark\r\n }\r\n JobTicketViewService.UpdateJobServerCancel(CancellationReasonsModel,loggedInUserId, token).then(function (resp) {\r\n if (resp && resp.status == 200) { \r\n vm.showSuccess(resp.data.Message); \r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n\r\n // vm.getAllJobTicketsCopy(supervisorId, startDate, endDate, itemNames, itemValues, templateItemNames, templateItemValues);\r\n \r\n }, 2000); \r\n cancellationReasonsModalInstance.close();\r\n vm.CancellationReasons=\"\";\r\n vm.CancellationReasonsRemark=\"\";\r\n vm.HintDisplay=\"\";\r\n }\r\n }, function () {\r\n \r\n }); \r\n }\r\n }\r\n \r\n vm.ViewProfile = function (UserId,UserType) {\r\n var IsUser = false;\r\n if(UserType && UserType == 'Freelancer'){\r\n JobTicketViewService.getUserProfileData(supervisorId,UserId, token).then(function(res){\r\n if(res.data && res.status == 200){\r\n vm.UserProfileData = res.data;\r\n vm.customerrating = Number(vm.UserProfileData.CustomerRating).toFixed(1);\r\n vm.AddPreferredVendorModal = $uibModal.open({\r\n templateUrl: 'UserProfile.html',\r\n scope: $scope,\r\n windowClass:'schedulerModal',\r\n reload:true\r\n });\r\n }else{\r\n vm.showFailure('Failed',res.data.Message);\r\n }\r\n \r\n });\r\n }else if(UserType && UserType == 'Fixed Team'){\r\n JobTicketViewService.getFixedUserProfileData(supervisorId,UserId, token).then(function(res){\r\n if(res.data && res.status == 200){\r\n vm.UserProfileData = res.data;\r\n vm.AddPreferredVendorModal = $uibModal.open({\r\n templateUrl: 'UserProfile.html',\r\n scope: $scope,\r\n windowClass:'schedulerModal',\r\n reload:true\r\n });\r\n }else{\r\n vm.showFailure('Failed',res.data.Message);\r\n }\r\n \r\n });\r\n }else{\r\n JobTicketViewService.getUserProfileData(supervisorId,UserId, token).then(function(res){\r\n if(res.data && res.status == 200){\r\n vm.UserProfileData = res.data;\r\n if(vm.UserProfileData){\r\n vm.AddPreferredVendorModal = $uibModal.open({\r\n templateUrl: 'UserProfile.html',\r\n scope: $scope,\r\n windowClass:'schedulerModal',\r\n reload:true\r\n });\r\n }else{\r\n vm.showFailure('Failed','User Not found');\r\n }\r\n }else{\r\n vm.showFailure('Failed',res.data.Message);\r\n }\r\n \r\n });\r\n }\r\n \r\n \r\n }\r\n \r\n vm.UserProfileClose = function(){\r\n vm.AddPreferredVendorModal.close();\r\n }\r\n vm.downloadDataCaptureImage = function(){\r\n var ticket = '';\r\n for(var i=0;i 0) {\r\n angular.forEach(vm.skillData, function (s) {\r\n vm.skillsWithPipe += s.SkillName + \"|\";\r\n });\r\n vm.skillsWithPipe = vm.skillsWithPipe.length > 0\r\n ? vm.skillsWithPipe.substring(0, vm.skillsWithPipe.length - 1) : \"\";\r\n }\r\n }\r\n });\r\n }\r\n vm.loadAllSkills();\r\n\r\n vm.sortClassUser = function (col) {\r\n if (vm.OrderBy == col) {\r\n if (vm.OrderSeq == 'desc') {\r\n return 'fa fa-arrow-down';\r\n } else {\r\n return 'fa fa-arrow-up';\r\n }\r\n }\r\n else {\r\n return '';\r\n }\r\n }\r\n\r\n function getAllStates() {\r\n var defered = $q.defer();\r\n ReferService.getAllState(loggedinUser, token).then(function (resp) {\r\n defered.resolve(resp);\r\n }, function (error) {\r\n defered.reject(error);\r\n });\r\n return defered.promise;\r\n }\r\n\r\n var allStatePromise = getAllStates(loggedinUser);\r\n allStatePromise.then(function (resp) {\r\n vm.StateList = resp.data;\r\n\r\n });\r\n function getallCities(state) {\r\n ReferService.getAllCity(loggedinUser, state, token).then(function (resp) {\r\n vm.CityList = resp.data;\r\n });\r\n }\r\n vm.selectedState = function (state) {\r\n getallCities(state);\r\n }\r\n\r\n vm.filterStatusForJObs = function (status) {\r\n vm.JobcountbyStatus = status;\r\n vm.wsersFilterArray();\r\n PageIndex = 1;\r\n vm.Get360WorkSummary(loggedinUser, token, vm.userId, witemNames, witemValues, uPageIndex, uPageSize, wsSDate, wsEDate, vm.OrderBy, vm.sorttype);\r\n }\r\n\r\n vm.CloseComboModel = function () {\r\n openComboModal.close();\r\n vm.bundlesum = 0;\r\n }\r\n\r\n if (vm.loggedInUserRole == \"Dispatch Supervisor\" || vm.loggedInUserRole == \"OnBoarding Supervisor\") {\r\n vm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\", \"Private\"];\r\n }\r\n else {\r\n if (vm.loggedInUserRole == \"Dispatch Manager\") {\r\n vm.UserTypeList = [\"Freelancer\", \"Private\", \"Freelancer Vendor\", \"Dispatch Supervisor\", \"Freelancer Dispatcher\", \"Dispatch Team Lead\"];\r\n }\r\n else if (vm.loggedInUserRole == \"OnBoarding Manager\") {\r\n vm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\", \"OnBoarding Supervisor\"];\r\n }\r\n else if (vm.loggedInUserRole == \"Dispatch Team Lead\") {\r\n vm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\", \"Private\", \"Freelancer Dispatcher\", \"Dispatch Supervisor\"];\r\n }\r\n else if (vm.loggedInUserRole == \"Administrator\") {\r\n vm.UserTypeList = [\"Project Manager\", \"Supervisor\", \"Freelancer\", \"Freelancer Vendor\", \"Private\"];\r\n }\r\n else if (vm.loggedInUserRole == \"Project Manager\") {\r\n vm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\", \"Private\", \"Supervisor\"];\r\n }\r\n else if (vm.loggedInUserRole == \"Supervisor\") {\r\n vm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\", \"Private\"];\r\n }\r\n }\r\n\r\n vm.Applyfilter = function () {\r\n $scope.UserTablepagination = {};\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n $scope.hideFilter();\r\n vm.GetOnBoardingTaskByFilters();\r\n vm.GetOnBoardingTaskCounts();\r\n }\r\n\r\n vm.PDFView = function (page) {\r\n vm.pdfimage = \"\";\r\n vm.IsLoadSucessfull = false;\r\n $scope.selected = null;\r\n jobAppointmentModal = $uibModal.open({\r\n templateUrl: 'PDFView.html',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.makeUserMarker = function (position, icon, map) {\r\n var marker = new google.maps.Marker({\r\n position: position,\r\n map: map,\r\n icon: icon\r\n });\r\n\r\n //Adding InfoWindow to the Marker.\r\n (function (marker, customerJobCard) {\r\n google.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n $scope.InfoWindow.setContent(\"

\" + vm.name + \"

\" + ' ' + vm.contactnumber);\r\n $scope.InfoWindow.open($scope.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n $scope.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, vm.customerJobCard);\r\n\r\n //Plotting the Marker on the Map.\r\n $scope.Latlngbounds.extend(marker.position);\r\n\r\n }\r\n vm.makeJobMarker = function (position, icon, map) {\r\n var marker = new google.maps.Marker({\r\n position: position,\r\n map: map,\r\n icon: icon\r\n });\r\n\r\n //Adding InfoWindow to the Marker.\r\n (function (marker, customerJobCard) {\r\n google.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n $scope.InfoWindow.setContent(\"

\" + vm.customerJobCard.ConsumerName + \"

\" + ' ' + vm.customerJobCard.JobId + \"
\" + ' ' + moment(vm.customerJobCard.JobDateTime).format(\"YYYY-MM-DD HH:mm\") + \"
\" + ' ' + vm.customerJobCard.ConsumerContact);\r\n $scope.InfoWindow.open($scope.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n $scope.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, vm.customerJobCard);\r\n\r\n //Plotting the Marker on the Map.\r\n $scope.Latlngbounds.extend(marker.position);\r\n }\r\n function initMap() {\r\n var pointA = new google.maps.LatLng(vm.JobLatitude, vm.JobLongitude),\r\n pointB = new google.maps.LatLng(vm.FELatitude, vm.FELongitude),\r\n // center = new google.maps.LatLng(51.3, 0.8),\r\n myOptions = {\r\n zoom: 8,\r\n zoomControl: false,\r\n scaleControl: true,\r\n mapTypeControl: false,\r\n streetViewControl: false,\r\n gestureHandling: 'greedy',\r\n // center: center,\r\n mapTypeId: google.maps.MapTypeId.ROADMAP\r\n },\r\n\r\n map = new google.maps.Map(document.getElementById('map-canvas'), myOptions),\r\n // Instantiate a directions service.\r\n directionsService = new google.maps.DirectionsService,\r\n directionsDisplay = new google.maps.DirectionsRenderer({\r\n map: map\r\n }),\r\n duration = document.getElementById('duration');\r\n distance = document.getElementById('distance');\r\n flightPath = new google.maps.Polyline({\r\n path: [pointA, pointB],\r\n strokeColor: 'red',\r\n });\r\n $scope.InfoWindow = new google.maps.InfoWindow();\r\n $scope.Latlngbounds = new google.maps.LatLngBounds();\r\n // click on marker B to get route from A to B\r\n calculateAndDisplayRoute(directionsService, directionsDisplay, pointA, pointB, distance, duration, map);\r\n var travelMode = \"DRIVING\";\r\n var icon = \"https://img.icons8.com/color/96/000000/street-view.png\";\r\n }\r\n function calculateAndDisplayRoute(directionsService, directionsDisplay, pointA, pointB, distance, duration, map) {\r\n var selectedMode = \"DRIVING\";\r\n directionsService.route({\r\n origin: pointA,\r\n destination: pointB,\r\n unitSystem: google.maps.UnitSystem.METRIC,\r\n travelMode: google.maps.TravelMode[selectedMode]\r\n }, function (response, status) {\r\n if (status == google.maps.DirectionsStatus.OK) {\r\n new google.maps.DirectionsRenderer({\r\n map: map,\r\n directions: response,\r\n suppressMarkers: true,\r\n polylineOptions: {\r\n strokeColor: \"#000000\"\r\n }\r\n });\r\n var leg = response.routes[0].legs[0];\r\n distance.innerHTML = response.routes[0].legs[0].distance.text;\r\n duration.innerHTML = response.routes[0].legs[0].duration.text;\r\n vm.distance = response.routes[0].legs[0].distance.value / 1000;\r\n vm.makeJobMarker(leg.start_location, icons.start, map);\r\n vm.makeUserMarker(leg.end_location, icons.end, map);\r\n } else {\r\n window.alert('Directions request failed due to ' + status);\r\n }\r\n });\r\n }\r\n var icons = {\r\n start: new google.maps.MarkerImage(\r\n UIURL + '/assets/images/patterns/JOb_icon.png',\r\n new google.maps.Size(44, 32),\r\n // The origin point (x,y)\r\n new google.maps.Point(0, 0),\r\n // The anchor point (x,y)\r\n new google.maps.Point(22, 32)),\r\n end: new google.maps.MarkerImage(\r\n // URL\r\n UIURL + '/assets/images/patterns/delivery-man1.png',\r\n // (width,height)\r\n new google.maps.Size(44, 32),\r\n // The origin point (x,y)\r\n new google.maps.Point(0, 0),\r\n // The anchor point (x,y)\r\n new google.maps.Point(22, 32))\r\n };\r\n\r\n vm.sortColumn = function (col) {\r\n vm.OrderBy = col;\r\n if (vm.Sort == 'desc') {\r\n vm.Sort = 'asc';\r\n vm.reverseclass = 'fa fa-arrow-up';\r\n } else {\r\n vm.Sort = 'desc';\r\n vm.reverseclass = 'fa fa-arrow-down';\r\n }\r\n vm.GetOnBoardingTaskByFilters();\r\n };\r\n\r\n // remove and change class\r\n vm.sortClass = function (col) {\r\n if (vm.OrderBy == col) {\r\n if (vm.Sort == 'desc') {\r\n return 'fa fa-arrow-down';\r\n } else {\r\n return 'fa fa-arrow-up';\r\n }\r\n }\r\n else {\r\n return '';\r\n }\r\n }\r\n\r\n vm.closeSearchText = function () {\r\n vm.taskskill = '';\r\n vm.AssignedTo = '';\r\n vm.ExceptionType = '';\r\n vm.City = '';\r\n vm.taskPincode = '';\r\n vm.State = '';\r\n vm.taskStatus = '';\r\n vm.SearchByConsumerName = '';\r\n vm.accountId = '';\r\n vm.State = '';\r\n vm.searchTag = '';\r\n vm.City = '';\r\n vm.GetOnBoardingTaskByFilters();\r\n vm.GetOnBoardingTaskCounts();\r\n }\r\n\r\n\r\n $scope.open360ViewBroadcaste = function () {\r\n angular.element('#div1').addClass(\"alpha\");\r\n };\r\n\r\n vm.outsidedateRangeChange = function (ev, picker) {\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n $scope.Userpagination = {};\r\n PageIndex = 1;\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n vm.GetOnBoardingTaskByFilters();\r\n vm.GetOnBoardingTaskCounts();\r\n };\r\n\r\n vm.Get360TeamProfileData = function (teamid) {\r\n vm.userId = teamid;\r\n DashboardService.Get360ProfileData(loggedinUser, teamid, token).then(function (resp) {\r\n if (resp.data) {\r\n $scope.userSingle();\r\n }\r\n vm.teamdata = resp.data;\r\n vm.AvgRating = vm.teamdata.userProfile.AverageRating;\r\n vm.ReviewsList = vm.teamdata.userProfile.Reviews\r\n vm.teamdata.ratingStars = vm.getRatingStars(Math.round(vm.teamdata.userProfile.Ratings.TechnicianRating));\r\n vm.teamdata.blankStars = vm.getBlankStars(Math.round(vm.teamdata.userProfile.Ratings.TechnicianRating));\r\n vm.teamdata.avgratingStars = vm.getAvgRatingStars(Math.round(vm.teamdata.userProfile.AverageRating.AverageRating));\r\n vm.teamdata.avgblankStars = vm.getAvgBlankStars(Math.round(vm.teamdata.userProfile.AverageRating.AverageRating));\r\n if (vm.teamdata.userProfile.ContactNumber) {\r\n vm.teamdata.userProfile.ContactNumber = vm.teamdata.userProfile.ContactNumber.replace(/\\d(?=\\d{4})/g, '*');\r\n }\r\n\r\n if (vm.teamdata.userProfile.Reviews) {\r\n vm.teamdata.userProfile.Reviews.forEach(function (element, i) {\r\n vm.teamdata.userratingStars = vm.getUserRatingStars(Math.round(vm.teamdata.userProfile.Reviews[i].Average));\r\n vm.teamdata.userblankStars = vm.getUserBlankStars(Math.round(vm.teamdata.userProfile.Reviews[i].Average));\r\n element.arrayRating = vm.teamdata.userratingStars;\r\n element.blankRating = vm.teamdata.userblankStars;\r\n });\r\n }\r\n\r\n vm.TechnicianRating = Number(vm.teamdata.userProfile.Ratings.TechnicianRating).toFixed(1);\r\n $timeout(function () {\r\n displayTotals();\r\n }, 300);\r\n }, function () {\r\n })\r\n }\r\n\r\n vm.getRatingStars = function (rating) {\r\n var stars = [];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.push(i);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n vm.getBlankStars = function (rating) {\r\n var stars = [1, 2, 3, 4, 5];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.splice(stars.indexOf(i), 1);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n vm.getAvgRatingStars = function (rating) {\r\n var stars = [];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.push(i);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n vm.getAvgBlankStars = function (rating) {\r\n var stars = [1, 2, 3, 4, 5];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.splice(stars.indexOf(i), 1);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n vm.getUserRatingStars = function (rating) {\r\n var stars = [];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.push(i);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n vm.getUserBlankStars = function (rating) {\r\n var stars = [1, 2, 3, 4, 5];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.splice(stars.indexOf(i), 1);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n $scope.totalWS = 0;\r\n $scope.wsPerPage = vm.userPageListCount;\r\n $scope.Userpagination = {\r\n current: 1\r\n };\r\n\r\n //left show page 10 20 30\r\n vm.changeUserPageListCount = function (userId) {\r\n $scope.wsPerPage = vm.userPageListCount;\r\n uPageSize = $scope.wsPerPage;\r\n $scope.WSTablePageChanged($scope.Userpagination.current);\r\n\r\n uPageIndex = $scope.Userpagination.current;\r\n $scope.WSTablePageChanged = function (newPage) {\r\n uPageIndex = newPage;\r\n vm.wsersFilterArray();\r\n vm.Get360WorkSummary(loggedinUser, token, userId, witemNames, witemValues, uPageIndex, uPageSize, wsSDate, wsEDate, vm.OrderBy, vm.sorttype);\r\n\r\n };\r\n }\r\n\r\n uPageIndex = $scope.Userpagination.current;\r\n $scope.WSTablePageChanged = function (newPage) {\r\n uPageIndex = newPage;\r\n if (witemNames != 'Search') {\r\n vm.wsersFilterArray();\r\n }\r\n\r\n vm.Get360WorkSummary(loggedinUser, token, vm.userId, witemNames, witemValues, uPageIndex, uPageSize, wsSDate, wsEDate, vm.OrderBy, vm.sorttype);\r\n\r\n };\r\n\r\n\r\n vm.wsersFilterArray = function () {\r\n witemNames = \"\";\r\n witemValues = \"\";\r\n\r\n if (vm.searchStatusText != \"\" && vm.searchStatusText != \"All\" && vm.searchStatusText != null) {\r\n if (itemNames.length > 0 && itemValues.length > 0) {\r\n itemNames = itemNames + ',Status';\r\n itemValues = itemValues + ',' + vm.searchStatusText;\r\n } else {\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText;\r\n }\r\n }\r\n if (vm.userNameSearch) {\r\n if (witemNames) {\r\n witemNames = witemNames + ',Search';\r\n witemValues = witemValues + \",\" + vm.userNameSearch;\r\n }\r\n else {\r\n witemNames = 'Search';\r\n witemValues = vm.userNameSearch;\r\n }\r\n }\r\n\r\n if (vm.JobcountbyStatus) {\r\n if (witemNames) {\r\n witemNames = witemNames + ',Status';\r\n witemValues = witemValues + \",\" + vm.JobcountbyStatus;\r\n }\r\n else {\r\n witemNames = 'Status';\r\n witemValues = vm.JobcountbyStatus;\r\n }\r\n }\r\n\r\n }\r\n\r\n\r\n // apply user rating to all displays\r\n // add star ratings to an array\r\n var starRating = document.querySelectorAll(\".fa-star\"),\r\n ratingTotal = document.querySelectorAll(\".rating-total\");\r\n\r\n // convert ratingTotal HTMLCollection to array and reverse its order (5 star <-> 1 star)\r\n var reverseRatingTotal = Array.from(ratingTotal).reverse();\r\n\r\n // display initial rating totals\r\n // displayTotals();\r\n\r\n // use event listener to record changes to user rating\r\n starRating.forEach(function (star) {\r\n star.addEventListener(\"change\", recordRating);\r\n })\r\n\r\n function recordRating(event) {\r\n // use indexOf to identify selected user rating\r\n var userRating = Array.from(starRating).indexOf(event.target);\r\n\r\n // define selected rating to adjust display totals\r\n var selectedIndex;\r\n\r\n starRating.forEach(function (item, index) {\r\n // add or remove .active class based upon selected user rating\r\n if (index < userRating + 1) {\r\n starRating[index].classList.add(\"active\");\r\n selectedIndex = index;\r\n } else {\r\n starRating[index].classList.remove(\"active\");\r\n }\r\n\r\n displayTotals(selectedIndex);\r\n });\r\n }\r\n vm.countForStatus = 50;\r\n // display star rating totals from html custom data-\r\n function displayTotals(selectedIndex) {\r\n var barChart = document.querySelectorAll(\".bar\"),\r\n displaySummary = document.querySelectorAll(\".summary\"),\r\n numRatings = 0,\r\n numRatingsValue = 0;\r\n\r\n // convert barChart HTMLCollection to array and reverse its order (5 star <-> 1 star)\r\n var reverseBarChart = Array.from(barChart).reverse();\r\n\r\n reverseRatingTotal.forEach(function (total, index) {\r\n if (index == selectedIndex) {\r\n // add selected rating to display total\r\n total.innerHTML = (parseInt(total.getAttribute(\"data-rating-count\")) + 1);\r\n // adjust selected bar width\r\n reverseBarChart[index].style.width = (((parseInt(total.getAttribute(\"data-rating-count\")) + 1) / 20) * 100) + \"%\";\r\n } else {\r\n // display unselected totals\r\n total.innerHTML = total.getAttribute(\"data-rating-count\");\r\n // adjust unselected bar widths\r\n reverseBarChart[index].style.width = ((total.getAttribute(\"data-rating-count\") / 20) * 100) + \"%\";\r\n }\r\n // count total number and value of ratings\r\n numRatings += parseInt(total.innerHTML);\r\n numRatingsValue += (parseInt(total.innerHTML) * (index + 1));\r\n });\r\n\r\n // display rating average and total\r\n ratingsAverage = (numRatingsValue / numRatings).toFixed(2);\r\n // displaySummary[0].innerHTML = ratingsAverage + \" average based on \" + numRatings + \" reviews.\";\r\n }\r\n\r\n vm.Get360VendorTeamData = function (teamid) {\r\n vm.userId = teamid;\r\n DashboardService.Get360VendorTeamData(loggedinUser, teamid, token).then(function (resp) {\r\n vm.vendorteam = resp.data;\r\n })\r\n }\r\n\r\n vm.Get360WorkSummary = function () {\r\n DashboardService.Get360WorkSummary(loggedinUser, token, vm.userId, witemNames, witemValues, uPageIndex, uPageSize, wsSDate, wsEDate, vm.OrderBy, vm.sorttype).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.statusCount = resp.data;\r\n vm.wsTicketList = resp.data.workSummaryData;\r\n $scope.totalWS = resp.data.WorkSummaryTotalCount;\r\n if (vm.wsTicketList.length < vm.userPageListCount)\r\n vm.wsListLength = $scope.totalWS;\r\n else\r\n vm.wsListLength = uPageIndex * vm.userPageListCount;\r\n if (uPageIndex == 1)\r\n vm.wspageindexCount = 1;\r\n else\r\n vm.wspageindexCount = (((uPageIndex - 1) * vm.userPageListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n }\r\n\r\n $scope.totalFinList = 0;\r\n $scope.usersPerPage = vm.financePageListCount;\r\n $scope.Financepagination = {\r\n current: 1\r\n };\r\n\r\n //left show page 10 20 30\r\n vm.changefinancePageListCount = function () {\r\n $scope.usersPerPage = vm.financePageListCount;\r\n fPageSize = $scope.usersPerPage;\r\n $scope.FinanceTablePageChanged($scope.Financepagination.current);\r\n vm.selectAll = false;\r\n\r\n fPageIndex = $scope.Financepagination.current;\r\n $scope.FinanceTablePageChanged = function (newPage) {\r\n fPageIndex = newPage;\r\n vm.FinanceFilterArray();\r\n vm.GetFinancialSummary(loggedinUser, token, vm.userId, uitemNames, uitemValues, fPageIndex, fPageSize, startDate, endDate, vm.OrderBy, vm.sorttype);\r\n\r\n };\r\n }\r\n\r\n fPageIndex = $scope.Financepagination.current;\r\n $scope.FinanceTablePageChanged = function (newPage) {\r\n fPageIndex = newPage;\r\n if (uitemNames != 'Search') {\r\n vm.FinanceFilterArray();\r\n }\r\n\r\n vm.GetFinancialSummary(loggedinUser, token, vm.userId, uitemNames, uitemValues, fPageIndex, fPageSize, startDate, endDate, vm.OrderBy, vm.sorttype);\r\n\r\n };\r\n\r\n vm.FinanceFiltersList = [];\r\n vm.GetFinancialSummary = function () {\r\n DashboardService.GetFinancialSummary(loggedinUser, token, vm.userId, fnitemNames, fnitemValues, fPageIndex, fPageSize, startDate, endDate).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.paymentCount = resp.data.paymentsSummary;\r\n vm.FinanceFiltersList = resp.data.financialSummary360.financialLPSummaryList;\r\n $scope.totalFinList = resp.data.financialSummary360.count;\r\n if (vm.FinanceFiltersList.length < vm.financePageListCount)\r\n vm.financeListLength = $scope.totalFinList;\r\n else\r\n vm.financeListLength = fPageIndex * vm.financePageListCount;\r\n if (fPageIndex == 1)\r\n vm.fpageindexCount = 1;\r\n else\r\n vm.fpageindexCount = (((fPageIndex - 1) * vm.financePageListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n // vm.ResetUserFilter();\r\n }\r\n\r\n vm.Get360SkillSummary = function (teamid) {\r\n vm.userId = teamid;\r\n DashboardService.Get360SkillSummary(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.skillsetData = resp.data;\r\n for (var i = 0; i < vm.skillsetData.CertificateDetails.length; i++) {\r\n vm.CertimageServices(vm.skillsetData.CertificateDetails[i].TrainingCertificate, i);\r\n }\r\n\r\n if (vm.skillsetData.PreviousCompanyDetailsList) {\r\n for (var i = 0; i < vm.skillsetData.PreviousCompanyDetailsList.length; i++) {\r\n if (vm.getFileType(vm.skillsetData.PreviousCompanyDetailsList[i].ExperienceLetter) == 'image')\r\n vm.PreviousCompnyExperienceLetterServices(vm.skillsetData.PreviousCompanyDetailsList[i].ExperienceLetter, i);\r\n }\r\n }\r\n\r\n if (vm.skillsetData.UserTrainingList) {\r\n for (var i = 0; i < vm.skillsetData.UserTrainingList.length; i++) {\r\n if (vm.getFileType(vm.skillsetData.UserTrainingList[i].TrainingImage) == 'image')\r\n vm.TrainingImageServices(vm.skillsetData.UserTrainingList[i].TrainingImage, i);\r\n if (vm.getFileType(vm.skillsetData.UserTrainingList[i].TrainingAttendance) == 'image')\r\n vm.TrainingAttendanceServices(vm.skillsetData.UserTrainingList[i].TrainingAttendance, i);\r\n }\r\n\r\n }\r\n\r\n // vm.ResetUserFilter();\r\n })\r\n }\r\n vm.GetOnBoardingTaskByFilters = function () {\r\n if (vm.loggedInUserRole == 'Dispatch Manager' || vm.loggedInUserRole == 'Dispatch Supervisor') {\r\n vm.CreationSource = 'Manual';\r\n }\r\n else {\r\n vm.CreationSource = '';\r\n }\r\n data = {\r\n \"Status\": vm.taskStatus,\r\n \"Skill\": vm.taskskill == \"\" ? \"\" : vm.taskskill.join(\"|\"),\r\n \"DateField\": vm.DateField,\r\n \"FromDate\": startDate,\r\n \"ToDate\": endDate,\r\n \"AccountId\": vm.accountId == \"\" ? \"\" : vm.accountId.join(\"|\"),\r\n \"PageIndex\": PageIndex,\r\n \"PageSize\": PageSize,\r\n \"State\": vm.State,\r\n \"City\": vm.City,\r\n \"Pincode\": vm.taskPincode,\r\n \"OrderBy\": vm.OrderBy,\r\n \"Sort\": vm.Sort,\r\n \"AssignedTo\": vm.AssignedTo == \"\" ? \"\" : vm.AssignedTo.join(\"|\"),\r\n \"CreationSource\": vm.CreationSource,\r\n \"ExceptionType\": vm.ExceptionType == \"\" ? \"\" : vm.ExceptionType.join(\"|\"),\r\n }\r\n CapacityGapAnalysisService.GetOnBoardingTaskByFilters(data, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.OnBoardingList = resp.data.OnBoardingResModelList;\r\n $scope.totalTableUsersBG = resp.data.RecordCount;\r\n if (vm.OnBoardingList.length < vm.userPageListCount)\r\n vm.bGVerifyListLength = $scope.totalTableUsersBG;\r\n else\r\n vm.bGVerifyListLength = PageIndex * vm.userPageListCount;\r\n if (PageIndex == 1)\r\n vm.pageindexCount = 1;\r\n else\r\n vm.pageindexCount = (((PageIndex - 1) * vm.userPageListCount) + 1);\r\n }\r\n\r\n })\r\n }\r\n vm.GetOnBoardingTaskCounts = function () {\r\n if (vm.loggedInUserRole == 'Dispatch Manager' || vm.loggedInUserRole == 'Dispatch Supervisor') {\r\n vm.CreationSource = 'Manual';\r\n }\r\n else {\r\n vm.CreationSource = '';\r\n }\r\n data = {\r\n \"Status\": vm.taskStatus,\r\n \"Skill\": vm.taskskill == \"\" ? \"\" : vm.taskskill.join(\"|\"),\r\n \"DateField\": vm.DateField,\r\n \"FromDate\": startDate,\r\n \"ToDate\": endDate,\r\n \"AccountId\": vm.accountId == \"\" ? \"\" : vm.accountId.join(\"|\"),\r\n \"PageIndex\": PageIndex,\r\n \"PageSize\": PageSize,\r\n \"State\": vm.State,\r\n \"City\": vm.City,\r\n \"Pincode\": vm.taskPincode,\r\n \"OrderBy\": vm.OrderBy,\r\n \"Sort\": vm.Sort,\r\n \"AssignedTo\": vm.AssignedTo == \"\" ? \"\" : vm.AssignedTo.join(\"|\"),\r\n \"CreationSource\": vm.CreationSource,\r\n \"ExceptionType\": vm.ExceptionType == \"\" ? \"\" : vm.ExceptionType.join(\"|\"),\r\n }\r\n CapacityGapAnalysisService.GetOnBoardingTaskCountsByFilters(data, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.TotalTask = resp.data.TotalTask;\r\n vm.OpenTask = resp.data.OpenTask;\r\n vm.ClosedTask = resp.data.ClosedTask;\r\n vm.InProgressTask = resp.data.InProgressTask;\r\n }\r\n })\r\n }\r\n\r\n vm.GetOnBoardingTaskByFilters();\r\n vm.GetOnBoardingTaskCounts();\r\n\r\n vm.GetReviewAndRatings = function (teamid) {\r\n vm.userId = teamid;\r\n DashboardService.GetReviewAndRatings(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.reviewData = resp.data;\r\n vm.teamdata.InstallationratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.InstallationService_Avrage));\r\n vm.teamdata.InstallationblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.InstallationService_Avrage));\r\n vm.teamdata.SafetyratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.SafetyProtocols_Avrage));\r\n vm.teamdata.SafetyblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.SafetyProtocols_Avrage));\r\n vm.teamdata.VisitratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.VisitonTime_Avrage));\r\n vm.teamdata.VisitblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.VisitonTime_Avrage));\r\n vm.teamdata.CourteousratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.CourteousRespectful_Avrage));\r\n vm.teamdata.CourteousblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.CourteousRespectful_Avrage));\r\n vm.teamdata.ProratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.ProfessionalAppearance_Avrage));\r\n vm.teamdata.ProblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.ProfessionalAppearance_Avrage));\r\n vm.teamdata.ServiceratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.ServiceExperience_Avrage));\r\n vm.teamdata.ServiceblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.ServiceExperience_Avrage));\r\n // vm.ResetUserFilter();\r\n })\r\n }\r\n\r\n\r\n vm.Get360VendorTeamData = function (teamid) {\r\n vm.userId = teamid;\r\n DashboardService.Get360VendorTeamData(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.vendorteam = resp.data;\r\n })\r\n }\r\n\r\n\r\n vm.GetToolsAndAssets = function (teamid) {\r\n vm.userId = teamid;\r\n DashboardService.GetToolsAndAssets(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.assetData = resp.data;\r\n // vm.ResetUserFilter();\r\n })\r\n }\r\n // vm.toBeAssigned = [];\r\n vm.implementSelectItemsUsers = function (itemList, scope) {\r\n scope.selectAllUsers = false;\r\n scope.showMinusUsers = false;\r\n scope.selectRowUsers = function (i) {\r\n vm.toBeAssigned = [];\r\n scope.showMinusUsers = false;\r\n scope.selectAllUsers = false;\r\n angular.forEach(scope[itemList], function (d) {\r\n if (d.checked) {\r\n // var TaskAssignModel = { 'TaskIdList': d.TaskId };\r\n vm.toBeAssigned.push(d.TaskId)\r\n scope.showMinusUsers = true;\r\n }\r\n\r\n });\r\n }\r\n scope.applyAllNewJobSelect = function () {\r\n angular.forEach(scope[itemList], function (d) {\r\n d.checked = scope.selectAllUsers; \r\n });\r\n }\r\n\r\n scope.resetAllSelect = function () {\r\n scope.selectAllUsers = false;\r\n scope.showMinusUsers = false;\r\n }\r\n }\r\n\r\n vm.implementSelectItemsUsers('OnBoardingList', this);\r\n vm.toBeAssigned = [];\r\n vm.AssignTasks = function (userId) {\r\n angular.forEach(vm.OnBoardingList, function (d) {\r\n if (d.checked) {\r\n vm.toBeAssigned.push(d.TaskId)\r\n }\r\n })\r\n if (vm.toBeAssigned == [] || vm.toBeAssigned == undefined || vm.toBeAssigned.length < 1) {\r\n vm.showFailure(\"Failed\", 'Please select atleast 1 task to assign');\r\n } else {\r\n vm.assignButtonDisable = true;\r\n CapacityGapAnalysisService.AssignTaskToUser(vm.toBeAssigned, userId, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.showSuccess(\"Success\", \"Tasks assigned successfully\");\r\n $timeout(function () {\r\n vm.GetOnBoardingTaskByFilters();\r\n vm.toBeAssigned = [];\r\n vm.assignButtonDisable = false;\r\n scope.resetAllSelect();\r\n }, 2000);\r\n\r\n } else {\r\n vm.showFailure(\"Failed\", \"Tasks could not be assigned, server is not responding correctly.\");\r\n vm.assignButtonDisable = false;\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Tasks could not be assigned, server is not responding correctly.\");\r\n vm.assignButtonDisable = false;\r\n })\r\n }\r\n }\r\n\r\n $scope.totalTableUsersBG = 0;\r\n $scope.userTablePerPage = vm.userPageListCount;\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n\r\n\r\n vm.changeUserPageListCount = function () {\r\n $scope.userTablePerPage = vm.userPageListCount;\r\n PageSize = $scope.userTablePerPage;\r\n $scope.UserTablepageChanged($scope.UserTablepagination.current);\r\n }\r\n\r\n PageIndex = $scope.UserTablepagination.current;\r\n $scope.UserTablepageChanged = function (newPage) {\r\n PageIndex = newPage;\r\n vm.GetOnBoardingTaskByFilters();\r\n };\r\n\r\n\r\n vm.GetReportingToMeUsers = function () {\r\n SlotAllocationService.GetReportingToMeUsers(loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.UserByFiltersList = resp.data;\r\n }\r\n }, function () {\r\n });\r\n\r\n }\r\n\r\n vm.GetReportingToMeUsers();\r\n\r\n\r\n vm.ProfileEditView = function (userId) {\r\n $state.go('index.RegistrationForm', {\r\n UserId: userId\r\n })\r\n }\r\n\r\n vm.getAllUsersByType = function (value) {\r\n $scope.totalTableUsersBG = 0;\r\n vm.taskStatus = '';\r\n $scope.UserTablepagination = {};\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n $scope.showCalendar = false;\r\n vm.GetOnBoardingTaskByFilters();\r\n vm.GetOnBoardingTaskCounts();\r\n\r\n }\r\n\r\n vm.getAllSlotsByStatus = function (status) {\r\n vm.taskStatus = status;\r\n PageIndex = 1;\r\n vm.GetOnBoardingTaskByFilters();\r\n }\r\n\r\n }\r\n});\r\n\r\nangular.module('inspinia').filter('searchUser', function () {\r\n return function (items, search) {\r\n var filtered = [];\r\n if (search) {\r\n angular.forEach(items, function (item) {\r\n var searchstr = new RegExp(search, \"i\");\r\n if (item.id.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.User_Type.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.city.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.contactnumber.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.name.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.role.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.state.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n });\r\n } else {\r\n filtered = items;\r\n }\r\n return filtered;\r\n }\r\n})\nangular.module('inspinia').service('CampaignDetailViewNewService', function (CampaignURL, $window, $http) {\r\n\r\n this.GetCampaignById = function (campaignId, loggedinUser, token) {\r\n var url = CampaignURL + '/api/CallCampaign/GetCampaignById?campaignId=' + campaignId;\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n this.GetCampaignDetailsById = function (campaignId,PageIndex, PageSize, CallStatus, UserNumber, loggedinUser, token) {\r\n var url = CampaignURL + '/api/CallCampaign/GetCampaignDetailsById?campaignId=' + campaignId + '&offset=' + PageIndex + '&limit=' + PageSize + '&status=' + CallStatus +'&number=' + UserNumber;\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('CampaignDetailViewNewController', function (CampaignDetailViewNewService, $stateParams, toaster, $filter, $compile, $q, $state, $localStorage, $scope, DTOptionsBuilder, DTColumnBuilder, $uibModal, $timeout) {\r\n\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tvar CampaignId = $stateParams.CampaignId;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\t\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\t\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\t\tvm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\t\tvm.contactListLength = 0;\r\n\t\tvar PageIndex = 1;\r\n\t\tvar PageSize = 10;\r\n\t\tvm.PageindexCount = 0;\r\n\t\t$scope.totalContacts = 0;\r\n\t\tvm.pageListCounts = [10, 20, 30, 50, 100];\r\n\t\tvm.CallStatus = \"\";\r\n\t\tvm.UserNumber = \"\";\r\n\t\t$scope.dates = { startDate: moment().subtract(0, 'days'), endDate: moment() };\r\n\t\tvar startDate = moment().subtract(0, 'days').format(\"YYYY-MM-DD\");\r\n\t\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\r\n\t\t$scope.ranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment()]\r\n\t\t};\r\n\r\n\t\t$scope.dateRangeChange = function (ev, picker) {\r\n\t\t\t// console.log(ev, picker);\r\n\t\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\t\tvm.getAllJobForExceptionList();\r\n\r\n\r\n\t\t};\r\n\r\n\t\tvm.createPieChart = function () {\r\n\t\t\tvar chart = new Highcharts.chart('container', {\r\n\t\t\t\tchart: {\r\n\t\t\t\t\ttype: 'pie', // Set the chart type to pie\r\n\t\t\t\t\tplotBackgroundColor: null,\r\n\t\t\t\t\tplotBorderWidth: null,\r\n\t\t\t\t\tplotShadow: false,\r\n\t\t\t\t\theight: 230,\r\n\t\t\t\t\twidth: 650,\r\n\t\t\t\t},\r\n\t\t\t\ttitle: {\r\n\t\t\t\t\ttext: ''\r\n\t\t\t\t},\r\n\t\t\t\tplotOptions: {\r\n\t\t\t\t\tpie: {\r\n\t\t\t\t\t\tinnerSize: '50%', // Set the inner size to create a donut chart\r\n\t\t\t\t\t\tdataLabels: {\r\n\t\t\t\t\t\t\tenabled: false\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tshowInLegend: true // Display the legend\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tlegend: {\r\n\t\t\t\t\tlayout: 'horizontal', // Set the legend layout to vertical\r\n\t\t\t\t\talign: 'left', // Align the legend to the right\r\n\t\t\t\t\tverticalAlign: 'bottom',// Align the legend vertically in the middle\r\n\t\t\t\t\t// itemMarginTop: 10, // Add space above each legend item\r\n\t\t\t\t\t// itemMarginBottom: 10,\r\n\r\n\t\t\t\t},\r\n\t\t\t\tseries: [{\r\n\t\t\t\t\tname: '',\r\n\t\t\t\t\tdata: [\r\n\t\t\t\t\t\t{ name: 'Created : ' + vm.created, y: vm.created },\r\n\t\t\t\t\t\t{ name: 'In Progress : ' + vm.Inprogress, y: vm.Inprogress },\r\n\t\t\t\t\t\t{ name: 'Retry : ' + vm.retry, y: vm.retry },\r\n\t\t\t\t\t\t{ name: 'Failed : ' + vm.failed, y: vm.failed },\r\n\t\t\t\t\t\t{ name: 'Completed : ' + vm.completed, y: vm.completed }\r\n\t\t\t\t\t]\r\n\t\t\t\t}]\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.GetCampaignById = function () {\r\n\t\t\tCampaignDetailViewNewService.GetCampaignById(CampaignId, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.UserByFiltersList = resp.data.response;\r\n\t\t\t\t\tvm.created = resp.data.response[0].data.stats.created;\r\n\t\t\t\t\tvm.Inprogress = resp.data.response[0].data.stats['in-progress'];\r\n\t\t\t\t\tvm.retry = resp.data.response[0].data.stats.retry;\r\n\t\t\t\t\tvm.retrying = resp.data.response[0].data.stats.retrying;\r\n\t\t\t\t\tvm.failed = resp.data.response[0].data.stats.failed;\r\n\t\t\t\t\tvm.faileddnd = resp.data.response[0].data.stats['failed-dnd'];\r\n\t\t\t\t\tvm.invalid = resp.data.response[0].data.stats.invalid;\r\n\t\t\t\t\tvm.paused = resp.data.response[0].data.stats.paused;\r\n\t\t\t\t\tvm.failednoattempt = resp.data.response[0].data.stats['failed-no-attempt'];\r\n\t\t\t\t\tvm.completed = resp.data.response[0].data.stats.completed;\r\n\t\t\t\t\tvm.pending = resp.data.response[0].data.stats.pending;\r\n\t\t\t\t\tvm.createPieChart();\r\n\t\t\t\t}\r\n\t\t\t}, function () {\r\n\t\t\t});\r\n\r\n\t\t}\r\n\t\tvm.GetCampaignById();\r\n\r\n\t\tvm.contactPageListCount = 10;\r\n\t\t$scope.contactTablePerPage = vm.contactPageListCount;\r\n\t\t$scope.contactTablepagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\t\tvm.changeContactTablePerPage = function () {\r\n\t\t\t$scope.contactTablePerPage = vm.contactPageListCount;\r\n\t\t\tPageSize = $scope.contactTablePerPage;\r\n\t\t\t$scope.ContactTablepageChanged($scope.contactTablepagination.current);\r\n\t\t}\r\n\r\n\t\tPageIndex = $scope.contactTablepagination.current;\r\n\t\t$scope.ContactTablepageChanged = function (newPage) {\r\n\t\t\tPageIndex = newPage;\r\n\t\t\tvm.GetCampaignDetailsById();\r\n\t\t};\r\n\r\n\t\tvm.CampaignDetails = [];\r\n\t\tvm.GetCampaignDetailsById = function () {\r\n\t\t\tPageIndex = PageIndex ? PageIndex : 1;\r\n\t\t\tCampaignDetailViewNewService.GetCampaignDetailsById(CampaignId,PageIndex, PageSize, vm.CallStatus, vm.UserNumber, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.CampaignDetails = resp.data.response;\r\n\t\t\t\t\t$scope.totalContacts = resp.data.metadata.total;\r\n\t\t\t\t\tif (vm.CampaignDetails.length < vm.contactPageListCount)\r\n\t\t\t\t\t\tvm.contactListLength = $scope.totalContacts;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.contactListLength = PageIndex * vm.contactPageListCount;\r\n\t\t\t\t\tif (PageIndex == 1)\r\n\t\t\t\t\t\tvm.PageindexCount = 1;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.PageindexCount = (((PageIndex - 1) * vm.contactPageListCount) + 1);\r\n\t\t\t\t}\r\n\t\t\t}, function () {\r\n\t\t\t});\r\n\r\n\t\t}\r\n\t\tvm.GetCampaignDetailsById();\r\n\r\n\t\tvm.searchByStatus = function () {\r\n\t\t\tPageIndex = 1;\r\n\t\t\tvm.GetCampaignDetailsById();\r\n\t\t}\r\n\r\n\t}\r\n});\nangular.module('inspinia').service('CampaignDetailViewService', function (ApiURL, SchedulingAPI, $window, $localStorage, $http) {\r\n\r\n this.GetUserAllSalesOrderDetailforWeb = function (token, orderStatus, SearchText, category, brandName, productGroup, orderBy, sortType, fPageIndex, fPageSize, startDate, endDate, dateField) {\r\n var url = ApiURL + '/api/ZohoInventoryController/GetUserAllSalesOrderDetailforWeb?OrderStatus=' + orderStatus + '&startDate=' + startDate + '&EndDate=' + endDate + '&SearchText=' + SearchText + '&dateField=' + dateField + '&category=' + category + '&BrandName=' + brandName + '&ProductGroup=' + productGroup + '&OrderBy=' + orderBy + '&SortType=' + sortType + '&PageSize=' + fPageSize + '&PageIndex=' + fPageIndex;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetUserInventoryStockforweb = function (token, orderStatus, SearchText, category, brandName, productGroup, orderBy, sortType, userId, dPageIndex, dPageSize, startDate, endDate) {\r\n var url = ApiURL + '/api/ZohoInventoryController/GetUserInventoryStockforweb?SearchText=' + SearchText + '&Category=' + category + '&BrandName=' + brandName + '&ProductGroup=' + productGroup + '&startDate=' + startDate + '&EndDate=' + endDate + '&OrderBy=' + orderBy + '&SortType=' + sortType + '&StockType=' + orderStatus + '&UserId=' + userId + '&PageSize=' + dPageSize + '&PageIndex=' + dPageIndex;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetUserSalesOrderIntatiedByZoho = function (token, orderStatus, SearchText, category, brandName, productGroup, orderBy, sortType, ePageIndex, ePageSize, startDate, endDate) {\r\n var url = ApiURL + '/api/ZohoInventoryController/GetUserSalesOrderIntatiedByZoho?OrderStatus=' + orderStatus + '&startDate=' + startDate + '&EndDate=' + endDate + '&SearchText=' + SearchText + '&Category=' + category + '&BrandName=' + brandName + '&ProductGroup=' + productGroup + '&OrderBy=' + orderBy + '&SortType=' + sortType + '&PageSize=' + ePageSize + '&PageIndex=' + ePageIndex;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n\r\n this.InventoryDefectStockList = function (token, SearchText, category, brandName, productGroup, uPageIndex, uPageSize, startDate, endDate) {\r\n var url = ApiURL + '/api/ZohoInventoryController/InventoryDefectStockList?Category=' + category + '&BrandName=' + brandName + '&ItemGroup=' + productGroup + '&SearchText=' + SearchText + '&StartDate=' + startDate + '&EndDate=' + endDate + '&PageSize=' + uPageSize + '&PageIndex=' + uPageIndex;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetItemBrandName = function (token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/GetItemBrandName';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n this.GetItemGroupName = function (brandName, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/GetItemGroupName?BrandName=' + brandName;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n this.GetItemListName = function (brandName, productGroup, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/GetItemListName?BrandName=' + brandName + '&ItemGroupName=' + productGroup;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n\r\n this.GetShipmentOrder = function (salesOrderNumber, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/GetShipmentOrder?salesOrderNumber=' + salesOrderNumber;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.TrackinDetailForDefectItem = function (trackingId, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/TrackinDetailForDefectItem?TrackingId=' + trackingId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n\r\n this.GetServiceCentenAndTeamStockData = function (LineItemId, SearchTag, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/GetServiceCentenAndTeamStockData?LineItemId=' + LineItemId + '&SearchTag=' + SearchTag;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.InventoryMangementOnServiceLevel = function (data, loggedinUser, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/InventoryMangementOnServiceLevel';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n\r\n this.MarkSalesOrderasDelivered = function (data, loggedinUser, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/MarkSalesOrderasDelivered';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetWarehouse = function (token, data) {\r\n var url = ApiURL + '/api/ItemsInventory/GetNearbyWarehouseList';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetSalesOrder = function (loggedinUser, salesOrderId, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/GetSalesOrder?salesOrderId=' + salesOrderId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.UpdateRequestInventoryJobLineItemStatus = function (ticketId, status, lineitemId, updateStatusRemark, token) {\r\n var url = ApiURL + '/api/JobLineItem/UpdateRequestInventoryJobLineItemStatus?TicketId=' + ticketId + '&Status=' + status + '&LineItemId=' + lineitemId + '&Remark=' + updateStatusRemark;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetRequestedLineItemDetailsByTicketId = function (loggedinUser, salesOrderId, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/GetRequestedLineItemDetailsByTicketId?TicketId=' + salesOrderId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.createSalesOrder = function (token, data) {\r\n var url = ApiURL + '/api/ItemsInventory/CreateSalesOrderForLineitem';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.InventoryReturnOfDefectPartsByServiceCenter = function (data, loggedinUser, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/InventoryReturnOfDefectPartsByServiceCenter';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.TransferInventory = function (data, loggedinUser, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/TransferInventory';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.CustomerReturnInventory = function (data, loggedinUser, token) {\r\n var url = ApiURL + '/api/ZohoInventoryController/CustomerReturnInventory';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.viewReportPdf = function (loggedinUser, token, fileName) {\r\n var url = ApiURL + '/api/Image?fileName=' + fileName;\r\n return $http.get(url, {\r\n headers: {\r\n 'ContentType': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetUserInventoryStockCsvDownload = function (token, orderStatus, SearchText, category, brandName, productGroup, orderBy, sortType, userId, dPageIndex, dPageSize, startDate, endDate) {\r\n var url = ApiURL + '/api/ZohoInventoryController/GetUserInventoryStockCsvDownload?SearchText=' + SearchText + '&Category=' + category + '&BrandName=' + brandName + '&ProductGroup=' + productGroup + '&startDate=' + startDate + '&EndDate=' + endDate + '&OrderBy=' + orderBy + '&SortType=' + sortType + '&StockType=' + orderStatus + '&UserId=' + userId + '&PageSize=' + dPageSize + '&PageIndex=' + dPageIndex;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('CampaignDetailViewController', function (CampaignDetailViewService, $window, PublicApiURL, ApiURL,\r\n\t$state, $localStorage, $scope, $uibModal, inventorynewService, $timeout, $stateParams) {\r\n\tvm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvm.NokiaTableHeaderChange = $localStorage.accountConfig.NokiaTableHeaderChange;\r\n\tvar loggedinUserName = $localStorage.loggedInUser_FirstName + \" \" + $localStorage.loggedInUser_LastName;\r\n\tvar token = $localStorage.token;\r\n\tvar loggedinUserImage = $localStorage.picture;\r\n\tvar uTicketId = $stateParams.ticketId;\r\n\tvm.SearchTag = \"\";\r\n\tvm.showMapPermision = false;\r\n\tvm.superPower = false;\r\n\t$scope.isCollapsed = true;\r\n\tvm.UserId = \"\";\r\n\tvm.CurrencySetting = $localStorage.accountConfig.CurrencySetting;\r\n\tvm.Role = $localStorage.loggedInUser_Role;\r\n\tvm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n\tvm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\tvm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n\tvar accountConfig = $localStorage.accountConfig;\r\n\tvm.AccountId = $localStorage.accountConfig.AccountId;\r\n\tvm.isDefective = false;\r\n\tvm.ImageArray = [];\r\n\tvm.states = [];\r\n\tvm.cities = [];\r\n\tvm.isShow = true;\r\n\tvm.showEditList = false;\r\n\tvm.showAction = true;\r\n\tvm.dataFilters = [];\r\n\tvm.CancellationReasons = '';\r\n\tvm.IsCommissionDetect = false;\r\n\tvm.urlForNonFeasible = '';\r\n\tvm.currentStepModel = {};\r\n\tvm.dtInstanceNearBy = {};\r\n\tvm.dtInstanceFixed = {};\r\n\tvm.dtInstance = {};\r\n\tvm.dtInstancePre = {};\r\n\tvm.SparePartAddress = {};\r\n\tvm.disableBroadcastButton = false;\r\n\tvm.disableRouteButton = false;\r\n\tvm.IsChatEnabled = true;\r\n\tvm.showPrefer = '';\r\n\tvm.disabledDrop = false;\r\n\tvm.showloading = false\r\n\tvm.ComplianceDisable = true;\r\n\tvm.PincodeEnabled = true;\r\n\tvm.passSerialNum = false;\r\n\tvm.PrivateDisable = false;\r\n\tvm.messageText = \"\";\r\n\tvm.PriceLineItemList = [];\r\n\tvm.LineItemDataList = [];\r\n\tvm.lineItem = \"\";\r\n\tvm.serviceType = '';\r\n\tvm.AppointmentTime = '';\r\n\tvm.ticketPrice = \"\";\r\n\tvm.freelancerPrice = \"\";\r\n\tvm.edit = true;\r\n\tvm.BonusPenaltyList = [];\r\n\tvm.BonusList = [];\r\n\tvm.PenaltyList = [];\r\n\tvm.ShipmentDetails = \"\";\r\n\tvm.LineitemActivityList = [];\r\n\tvm.LineItemCategoryType = \"\";\r\n\tvm.projectId = \"\";\r\n\tvm.selectedprojectId = \"\";\r\n\tvm.dynamicpricing = \"\";\r\n\tvm.FreelancrPriceEnable = \"\";\r\n\tvm.PercentageEnable = \"\";\r\n\tvar price = 0;\r\n\tvar Quantity = 1;\r\n\tvar totalFPrice = 0.0;\r\n\tvm.BasePriceTotal = 0.0;\r\n\tvm.dFreelancerPriceTotal = 0.0;\r\n\tvm.PercentageTotal = 0.0;\r\n\tvm.FreelancerPriceTotal = 0.0;\r\n\tvm.MobiforceCommission = $localStorage.accountConfig.MobiforceCommissionPercentage;\r\n\tvm.IsFinalApproval = false;\r\n\tvm.disableExceptionButton = false;\r\n\t// vm.IsWithInDays = true;\r\n\tvm.StockCountToAssign = 0;\r\n\tvm.PartActionType = \"\";\r\n\tvm.feedbackremark = '';\r\n\tvm.PlannedClosureDateType = \"first\";\r\n\tvm.WithInDays = 1;\r\n\tvm.WithInDaysNumbers = [1, 2, 3, 4, 5];\r\n\tvm.IsSafetyAudit = 'Not Done';\r\n\tvm.ratingwarning = \"\";\r\n\tvm.approvalRemark = '';\r\n\tvm.MaterialStatusList = [\"Dispatched\", \"Delivered\", \"Partially Delivered\", \"Not Delivered\"];\r\n\tvm.IsMaterialDelivered = $localStorage.accountConfig.IsMaterialDelivered;\r\n\tvm.SelectedMaterial = '';\r\n\tvm.FreelancerAccess = $localStorage.accountConfig.FreelancerAccess;\r\n\tvm.ZOHOWarehouseName = '';\r\n\tvm.customerJobCard = [];\r\n\tvm.PageIndex = 1;\r\n\tvm.PageSize = 10;\r\n\tstartDate = '';\r\n\tendDate = '';\r\n\tvm.sortType = \"\"\r\n\tvm.orderBy = \"\";\r\n\tvm.itemValue = '';\r\n\tvm.OrderStatus = \"\";\r\n\tvm.SearchText = \"\";\r\n\tvar uPageIndex = 1;\r\n\tvar uPageSize = 10;\r\n\tvar dPageSize = 10;\r\n\tvar dPageIndex = 1;\r\n\tvar fPageIndex = 1;\r\n\tvar fPageSize = 10;\r\n\tvar ePageIndex = 1;\r\n\tvar ePageSize = 10;\r\n\tvm.userPageListCount = 10;\r\n\tvm.financePageListCount = 10;\r\n\tvm.defectedPageListCount = 10;\r\n\tvm.brandName = \"\";\r\n\tvm.partName = \"\";\r\n\tvm.productGroup = \"\";\r\n\tvm.BrandListName = \"\";\r\n\tvm.allSalesOrderPageListCount = 10;\r\n\tvm.allHistoryOrderPageListCount = 10;\r\n\tvm.pageListCounts = [10, 20, 30, 50];\r\n\tvar startDate = moment().subtract(30, 'days').format(\"YYYY-MM-DD\");\r\n\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\tvm.dateField = \"CreatedOn\";\r\n\tvm.ticketdates = { startDate: moment().subtract(30, 'day'), endDate: moment() };\r\n\tvm.ticketranges = {\r\n\t\t'Today': [moment(), moment()],\r\n\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t'This month': [moment().startOf('month'), moment().endOf('month')]\r\n\t};\r\n\t// $scope.buttonText = 'Show';\r\n\r\n\t// // Define the toggleCollapse function\r\n\t// $scope.toggleCollapse = function () {\r\n\t// \t// Toggle the collapse state\r\n\t// \tvar collapseElement = document.getElementById('collapseSix');\r\n\t// \tvar isCollapsed = collapseElement.classList.contains('show');\r\n\t\t\r\n\t// \t// Update buttonText based on the collapse state\r\n\t// \t$scope.buttonText = isCollapsed ? 'Show' : 'Hide';\r\n\t// };\r\n\t$scope.isCollapsed = true;\r\n\r\n\tvm.outsidedateRangeChange = function (ev, picker) {\r\n\t\r\n\t}\r\n\tvar chartOptions = {\r\n chart: {\r\n type: 'pie', // Set the chart type to pie\r\n plotBackgroundColor: null,\r\n plotBorderWidth: null,\r\n plotShadow: false,\r\n\t\t\theight: null,\r\n width: 600,\r\n },\r\n title: {\r\n text: ''\r\n },\r\n plotOptions: {\r\n pie: {\r\n innerSize: '50%', // Set the inner size to create a donut chart\r\n dataLabels: {\r\n enabled: true\r\n },\r\n showInLegend: true // Display the legend\r\n }\r\n },\r\n\t\tlegend: {\r\n layout: 'vertical', // Set the legend layout to vertical\r\n align: 'right', // Align the legend to the right\r\n verticalAlign: 'middle' ,// Align the legend vertically in the middle\r\n\t\t\titemMarginTop: 10, // Add space above each legend item\r\n itemMarginBottom: 10,\r\n\t\t\r\n },\r\n series: [{\r\n name: '',\r\n data: [{\r\n name: 'Scheduled : 67',\r\n y: 20 // Your data for category 1\r\n }, {\r\n name: 'In Progress : 0',\r\n y: 20 // Your data for category 2\r\n }, {\r\n name: 'Retry : 3',\r\n y: 20 // Your data for category 3\r\n },\r\n\t\t\t{\r\n name: 'Failed : 0',\r\n y: 20 // Your data for category 3\r\n },\r\n\t\t\t{\r\n name: 'Complted :0',\r\n y: 20 // Your data for category 3\r\n }]\r\n }]\r\n };\r\n\r\n // Initialize the Highcharts chart\r\n Highcharts.chart('container', chartOptions);\r\n})\r\n\nangular.module('inspinia').service('CalendarManagementService', function (ApiURL, $http, FreelancerURL, LocationURL) {\r\n\r\n \r\n \r\n});\r\n\nangular.module('inspinia').service('CalendarManagementListService', function (ApiURL, $http, FreelancerURL, LocationURL) {\r\n\r\n \r\n \r\n});\r\n\nangular.module('inspinia').controller('CalendarManagementListController', function ($scope, $state,$http, $localStorage) {\r\n \r\n var vm=this;\r\n vm.RedirectToCalendarManagement = function () {\r\n $state.go('index.CalendarManagement', { \r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n })\r\n\nangular.module('inspinia').controller('CalendarManagementController', function ($scope, $state,$http, $localStorage) {\r\n \r\n\r\n });\r\n\nangular.module('inspinia').service('CampaignCreationService', function (CampaignURL, $http) {\r\n\r\n this.GetAllCampaigns = function (cuPageIndex, cuPageSize, CampaignName, CampaignStatus, SortBy, loggedinUser, token) {\r\n var url = CampaignURL + '/api/CallCampaign/GetAllCampaigns?offset=' + cuPageIndex + '&limit=' + cuPageSize + '&name=' + CampaignName + '&status=' + CampaignStatus + '&sort_by=' + SortBy;\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetCallbackNumber = function (loggedinUser, token) {\r\n var url = CampaignURL + '/api/CallCampaign/GetCallbackNumber';\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.CreateCampaign = function (data, loggedinUser, token) {\r\n var url = CampaignURL + '/api/CallCampaign/CreateCampaign';\r\n return $http.post(url, data, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetContactList = function (PageIndex, PageSize, CampaignListName, loggedinUser, token) {\r\n var url = CampaignURL + '/api/CallCampaign/GetContactList?offset=' + PageIndex + '&limit=' + PageSize + '&name=' + CampaignListName + '&type=static&sort_by=';\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.DeleteListById = function(listId,loggedinUser,token){\r\n var url = CampaignURL + \"/api/CallCampaign/DeleteListById?listId=\"+listId;\r\n return $http.delete(url,{\r\n headers:{'Content-Type':'application/json','Token':token, 'UserId': loggedinUser}\r\n });\r\n }\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('CampaignCreationController', function (CampaignCreationService, $state, $uibModal,$timeout, $localStorage, $scope) {\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvar currentTime = new Date().toTimeString().slice(0, 5);\r\n\t\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\t\t$scope.selectedTime = currentTime;\r\n\t\t$scope.selectedOption = \"Flow\";\r\n\t\tvm.CallbackNumber = \"\";\r\n\t\tvm.CampaignListName = \"mmf\";\r\n\t\tvm.createvalue = '';\r\n\t\tvm.NoOfRetries = 0;\r\n\t\tvm.RetryInterval = 0;\r\n\t\tvm.SortBy = \"\";\r\n\t\tvm.FlowId = \"\";\r\n\t\tvm.CallStatusBackURL = \"\";\r\n\t\tvm.CampaignName = \"\";\r\n\t\tvm.ConnectionStatus = \"\";\r\n\t\tvm.CampaignStatus = \"\";\r\n\t\tvm.ContactListId = [];\r\n\t\tvm.sendAtTime = new Date();\r\n\t\tvm.contactListLength = 0;\r\n\t\tvar PageIndex = 1;\r\n\t\tvar PageSize = 10;\r\n\t\tvm.PageindexCount = 0;\r\n\t\t$scope.totalContacts = 0;\r\n\t\tvm.contactPageListCount = 10;\r\n\t\t$scope.contactTablePerPage = vm.contactPageListCount;\r\n\t\t$scope.contactTablepagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\t\tvm.customerListLenth = 0;\r\n\t\tvar cuPageIndex = 1;\r\n\t\tvar cuPageSize = 10;\r\n\t\tvm.cuPageindexCount = 0;\r\n\t\t$scope.totalCustomers = 0;\r\n\t\tvm.customerPageListCount = 10;\r\n\t\tvm.pageListCounts = [10, 20, 30, 50, 100];\r\n\t\t$scope.customerTablePerPage = vm.customerPageListCount;\r\n\t\t$scope.customerTablepagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\r\n\t\tvm.changeCustomerTablePerPage = function () {\r\n\t\t\t$scope.customerTablePerPage = vm.customerPageListCount;\r\n\t\t\tcuPageSize = $scope.customerTablePerPage;\r\n\t\t\t$scope.CustomerTablepageChanged($scope.customerTablepagination.current);\r\n\t\t\tvm.selectAll = false;\r\n\t\t}\r\n\r\n\t\tcuPageIndex = $scope.customerTablepagination.current;\r\n\t\t$scope.CustomerTablepageChanged = function (newPage) {\r\n\t\t\tcuPageIndex = newPage;\r\n\t\t\tvm.GetAllCampaignsWithPaging();\r\n\t\t};\r\n\t\tvm.campaignList = [];\r\n\t\tvm.GetAllCampaignsWithPaging = function () {\r\n\t\t\tcuPageIndex = cuPageIndex ? cuPageIndex : 1;\r\n\t\t\tCampaignCreationService.GetAllCampaigns(cuPageIndex, cuPageSize, vm.CampaignName, vm.CampaignStatus, vm.SortBy, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.campaignList = resp.data.response;\r\n\t\t\t\t\t$scope.totalCustomers = resp.data.metadata.total;\r\n\t\t\t\t\tif (vm.campaignList.length < vm.customerPageListCount)\r\n\t\t\t\t\t\tvm.customerListLenth = $scope.totalCustomers;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.customerListLenth = cuPageIndex * vm.customerPageListCount;\r\n\t\t\t\t\tif (cuPageIndex == 1)\r\n\t\t\t\t\t\tvm.cuPageindexCount = 1;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.cuPageindexCount = (((cuPageIndex - 1) * vm.customerPageListCount) + 1);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.GetAllCampaignsWithPaging();\r\n\r\n\t\tvm.searchByName = function () {\r\n\t\t\tcuPageIndex = 1;\r\n\t\t\tvm.GetAllCampaignsWithPaging();\r\n\t\t}\r\n\r\n\t\tvm.OpenDetailView = function (id) {\r\n\t\t\t$state.go('index.CampaignDetailViewNew', {\r\n\t\t\t\tCampaignId: id\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tvm.GetCallbackNumber = function () {\r\n\t\t\tCampaignCreationService.GetCallbackNumber(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.callBackNumberList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.disableCreateButton = false;\r\n\r\n vm.DisableCreateButton = function (disable) {\r\n if (disable) {\r\n vm.disableCreateButton = true;\r\n }\r\n else {\r\n vm.disableCreateButton = false;\r\n }\r\n }\r\n\r\n\t\tvm.OpenCampaignModel = function () {\r\n\r\n\t\t\tvm.selectedStartDate = new Date();\r\n\r\n\t\t\tvar currentTime = new Date();\r\n\t\t\tcurrentTime.setMinutes(currentTime.getMinutes() + 5);\r\n\t\t\tvar hours = currentTime.getHours();\r\n\t\t\tvar minutes = currentTime.getMinutes().toString().padStart(2, '0');\r\n\t\t\tvm.startTime = hours.toString().padStart(2, '0') + ':' + minutes;\r\n\t\t\t\r\n\t\t\tvar endTime = new Date(currentTime.getTime());\r\n\t\t\tendTime.setMinutes(endTime.getMinutes());\r\n\t\t\tvar ehours = endTime.getHours();\r\n\t\t\tvar eminutes = endTime.getMinutes().toString().padStart(2, '0');\r\n\t\t\tvm.endTime = ehours.toString().padStart(2, '0') + ':' + eminutes;\r\n\t\r\n\t\t\tvar currentDate = new Date();\r\n\t\t\tvar futureDate = new Date(currentDate);\r\n\t\t\tfutureDate.setMonth(futureDate.getMonth() + 1);\r\n\t\t\tvm.selectedEndDate = futureDate;\r\n\r\n\r\n\t\t\tvm.GetCallbackNumber();\r\n\t\t\tcampaignCreateModel = $uibModal.open({\r\n\t\t\t\ttemplateUrl: \"CampaignCreationModel.html\",\r\n\t\t\t\tsize: \"lg\",\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tvm.CloseCampaignModel = function () {\r\n\t\t\tvm.NewCampaignName = \"\";\r\n\t\t\tvm.CallbackNumber = \"\";\r\n\t\t\tvm.ContactListId = [];\r\n\t\t\tvm.FlowId = \"\";\r\n\t\t\tvm.NoOfRetries = 0;\r\n\t\t\tvm.RetryInterval = 0;\r\n\t\t\tvm.sendAtTime = new Date();\r\n\t\t\tcampaignCreateModel.close();\r\n\t\t};\r\n\r\n\t\tvm.getCurrentDate = function() {\r\n\t\t\tvar currentDate = new Date();\r\n\t\t\treturn currentDate;\r\n\t\t};\r\n\r\n\t\tvm.getMinDate = function() {\r\n\t\t\tvar endDate = new Date();\r\n\t\t\tendDate.setMonth(endDate.getMonth() + 1);\r\n\t\r\n\t\t\treturn endDate;\r\n\t\t};\r\n\t\t\r\n\r\n\t\tvm.CreateCampaign = function () {\r\n vm.campaign_form.submitted = true;\r\n\r\n\t\t\tvar originalStartDate = new Date(vm.selectedStartDate);\r\n\t\t\tvar syear = originalStartDate.getFullYear();\r\n\t\t\tvar smonth = ('0' + (originalStartDate.getMonth() + 1)).slice(-2); \r\n\t\t\tvar sday = ('0' + originalStartDate.getDate()).slice(-2);\r\n\t\t\t// var shours = ('0' + originalStartDate.getHours()).slice(-2);\r\n\t\t\t// var sminutes = ('0' + originalStartDate.getMinutes()).slice(-2);\r\n\t\t\t// var sseconds = ('0' + originalStartDate.getSeconds()).slice(-2);\r\n\t\t\tvar formattedStartDateString = syear + '-' + smonth + '-' + sday + 'T' +\r\n\t\t\tvm.startTime + ':00' +'+05:30';\r\n\r\n\t\t\tvar originalEndDate = new Date(vm.selectedEndDate);\r\n\t\t\tvar eyear = originalEndDate.getFullYear();\r\n\t\t\tvar emonth = ('0' + (originalEndDate.getMonth() + 1)).slice(-2);\r\n\t\t\tvar eday = ('0' + originalEndDate.getDate()).slice(-2);\r\n\t\t\t// var ehours = ('0' + originalEndDate.getHours()).slice(-2);\r\n\t\t\t// var eminutes = ('0' + originalEndDate.getMinutes()).slice(-2);\r\n\t\t\t// var eseconds = ('0' + originalEndDate.getSeconds()).slice(-2);\r\n\t\t\tvar formattedEndDateString = eyear + '-' + emonth + '-' + eday + 'T' +\r\n\t\t\tvm.endTime + ':00' +'+05:30';\r\n\t\t\tif(vm.IsClone){\r\n\t\t\t\tvm.createvalue = 'Copy of_';\r\n\t\t\t}\r\n\r\n var data = {\r\n\t\t\t\t\"campaigns\": [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\"name\": vm.createvalue + vm.NewCampaignName,\r\n\t\t\t\t\t\t \"type\": \"trans\",\r\n\t\t\t\t\t\t\"caller_id\": vm.CallbackNumber, \r\n\t\t\t\t\t\t\"lists\": vm.ContactListId,\r\n\t\t\t\t\t\t\"campaign_type\": \"static\",\r\n\t\t\t\t\t\t\"url\": \"http://my.exotel.com/mymobiforce2/exoml/start_voice/\" + vm.FlowId, \r\n\t\t\t\t\t\t\"retries\": {\r\n\t\t\t\t\t\t\t\"number_of_retries\": vm.NoOfRetries,\r\n\t\t\t\t\t\t\t\"interval_mins\": vm.RetryInterval,\r\n\t\t\t\t\t\t\t\"mechanism\": \"Exponential\",\r\n\t\t\t\t\t\t\t\"on_status\": [\r\n\t\t\t\t\t\t\t\t\"failed\",\r\n\t\t\t\t\t\t\t\t\"busy\"\r\n\t\t\t\t\t\t\t]\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t \"schedule\": {\r\n\t\t\t\t\t\t\t\"send_at\": formattedStartDateString,\r\n\t\t\t\t\t\t\t\"end_at\": formattedEndDateString\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\"call_duplicate_numbers\": false,\r\n\t\t\t\t\t\t\"mode\": \"auto\",\r\n\t\t\t\t\t\t\"status_callback\": \"https://webhook.site/13fb7d06-da18-4a3e-862d-b2a913f86aa1\",\r\n\t\t\t\t\t\t\"call_status_callback\": vm.CallStatusBackURL,\r\n\t\t\t\t\t\t\"call_schedule_callback\": \"https://webhook.site/13fb7d06-da18-4a3e-862d-b2a913f86aa1\"\r\n\t\t\t\t\t}\r\n\t\t\t\t]\r\n\t\t\t}\r\n if (vm.campaign_form.$valid) {\r\n vm.DisableCreateButton(true);\r\n CampaignCreationService.CreateCampaign(data, loggedinUser, token).then(function (res) {\r\n if (res && res.data.http_code == 200) {\r\n vm.showSuccess(\"Success\", \"Campaign Created Successfully\");\r\n vm.CloseCampaignModel();\r\n vm.DisableCreateButton(false);\r\n\t\t\t\t\t\tvm.GetAllCampaignsWithPaging();\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", \"Campaign Creation Failed\");\r\n vm.DisableCreateButton(false);\r\n }\r\n })\r\n }\r\n \r\n }\r\n\r\n\r\n\t\tvm.changeContactTablePerPage = function () {\r\n\t\t\t$scope.contactTablePerPage = vm.contactPageListCount;\r\n\t\t\tPageSize = $scope.contactTablePerPage;\r\n\t\t\t$scope.ContactTablepageChanged($scope.contactTablepagination.current);\r\n\t\t}\r\n\r\n\t\tPageIndex = $scope.contactTablepagination.current;\r\n\t\t$scope.ContactTablepageChanged = function (newPage) {\r\n\t\t\tPageIndex = newPage;\r\n\t\t\tvm.GetContactList();\r\n\t\t};\r\n\t\tvm.contactList = [];\r\n\t\tvm.GetContactList = function () {\r\n\t\t\tPageIndex = PageIndex ? PageIndex : 1;\r\n\t\t\tCampaignCreationService.GetContactList(PageIndex, PageSize, vm.CampaignListName, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.contactList = resp.data.response;\r\n\t\t\t\t\t$scope.totalContacts = resp.data.metadata.total;\r\n\t\t\t\t\tif (vm.contactList.length < vm.contactPageListCount)\r\n\t\t\t\t\t\tvm.contactListLength = $scope.totalContacts;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.contactListLength = PageIndex * vm.contactPageListCount;\r\n\t\t\t\t\tif (PageIndex == 1)\r\n\t\t\t\t\t\tvm.PageindexCount = 1;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.PageindexCount = (((PageIndex - 1) * vm.contactPageListCount) + 1);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t vm.GetContactList();\r\n\t\t\r\n vm.ChangeListTab = function(tabName){\r\n\t\tvm.CampaignListName = tabName;\r\n\t\tvm.GetContactList();\r\n\t }\r\n\r\n\t vm.searchByListName = function () {\r\n\t\tPageIndex = 1;\r\n\t\tvm.GetContactList();\r\n\t}\r\n\r\n\tvm.IsClone = false;\r\n\r\n\tvm.OpenCampaignCloneModel = function (campaignDataToBeCloned) {\r\n\t\tvm.IsClone = true;\r\n\t\tvm.campaignDataToBeCloned = campaignDataToBeCloned.data;\r\n\t\tvm.NewCampaignName = vm.campaignDataToBeCloned.name;\r\n\t\tvm.ContactListId = vm.campaignDataToBeCloned.lists;\r\n\t\tvar lastIndex = vm.campaignDataToBeCloned.url.lastIndexOf('/');\r\n vm.FlowId = vm.campaignDataToBeCloned.url.substring(lastIndex + 1);\r\n\t\tvm.NoOfRetries = vm.campaignDataToBeCloned.retries.number_of_retries;\r\n\t\tvm.RetryInterval = vm.campaignDataToBeCloned.retries.interval_mins;\r\n\t\tvm.CallbackNumber = vm.campaignDataToBeCloned.caller_id;\r\n\t\tvm.selectedStartDate = new Date();\r\n\r\n\t\tvar currentTime = new Date();\r\n\t\tcurrentTime.setMinutes(currentTime.getMinutes() + 5);\r\n\t\tvar hours = currentTime.getHours();\r\n\t\tvar minutes = currentTime.getMinutes().toString().padStart(2, '0');\r\n\t\tvm.startTime = hours.toString().padStart(2, '0') + ':' + minutes;\r\n\t\t\r\n\t\tvar endTime = new Date(currentTime.getTime());\r\n\t\tendTime.setMinutes(endTime.getMinutes());\r\n\t\tvar ehours = endTime.getHours();\r\n\t\tvar eminutes = endTime.getMinutes().toString().padStart(2, '0');\r\n\t\tvm.endTime = ehours.toString().padStart(2, '0') + ':' + eminutes;\r\n\r\n\t\tvar currentDate = new Date();\r\n\t\tvar futureDate = new Date(currentDate);\r\n\t\tfutureDate.setMonth(futureDate.getMonth() + 1);\r\n\t\tvm.selectedEndDate = futureDate;\r\n\r\n\r\n\t\tvm.GetCallbackNumber();\r\n\t\tcampaignCloneModel = $uibModal.open({\r\n\t\t\ttemplateUrl: \"CampaignCloneModel.html\",\r\n\t\t\tsize: \"lg\",\r\n\t\t\tscope: $scope,\r\n\t\t});\r\n\t};\r\n\r\n\tvm.CloseCampaignCloneModel = function () {\r\n\t\tcampaignCloneModel.close();\r\n\t\tvm.IsClone = false;\r\n\t};\r\n\r\n\r\n\tvm.scheduleModel = {\r\n\t\tfrequency: \"once\",\r\n\t\tonce: \"once\",\r\n\t\tdaily: \"daily\",\r\n\t\tweekly: \"weekly\",\r\n\t\tevery_15_days: \"every_15_days\",\r\n\t\tmonthly: \"monthly\",\r\n\t\tcronExpression: \"expression\",\r\n\t\tinput_for_month: {\r\n\t\t\toption: \"start_of_day\",\r\n\t\t\tstart_of_day: \"start_of_day\",\r\n\t\t\tend_of_day: \"end_of_day\",\r\n\t\t\tspecific_date: \"specific_date\",\r\n\t\t\tdate: 1\r\n\t\t},\r\n\t\tspecific_date_range: [],\r\n\t\tstart_date: moment(),\r\n\t\tend_date: moment().add(1, 'M'),\r\n\t\tattachReportInMailBody: true,\r\n\t\tattachReportInExcel: true,\r\n\t\tscheduleTime: \"\",\r\n\t\tscheduleName: \"\",\r\n\t\treportNameAlreadyExists: false,\r\n\t\treportNameMendtryErr: false,\r\n\t\ttoListMendtryErr: false,\r\n\t\ttimeMendtryErr: false,\r\n\t\tsampleDateMendtryErr: false,\r\n\t\tpull_data: {\r\n\t\t\trange: \"last_day\",\r\n\t\t\tday: \"last_day\",\r\n\t\t\tweek: \"last_week\",\r\n\t\t\tmonth: \"last_month\",\r\n\t\t\tquarter: \"last_quarter\",\r\n\t\t\tcurrent_month: \"current_month\",\r\n\t\t\tspecific: \"specific\",\r\n\t\t\tspecific_day_value: 1,\r\n\t\t\tcalculate_range: function () {\r\n\t\t\t\tvar today = new Date();\r\n\t\t\t\tif (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.day) {\r\n\t\t\t\t\tvar date = today;\r\n\t\t\t\t\treturn date.getDate() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear();\r\n\t\t\t\t} if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.week) {\r\n\t\t\t\t\tvar date = new Date(today.getFullYear(), today.getMonth(), today.getDate() - 7);\r\n\t\t\t\t\treturn date.getDate() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth() + 1) + \"-\" + today.getFullYear();\r\n\t\t\t\t} if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.month) {\r\n\t\t\t\t\tvar date = new Date(today.getFullYear(), today.getMonth() - 1, today.getDate());\r\n\t\t\t\t\treturn date.getDate() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth() + 1) + \"-\" + today.getFullYear();\r\n\t\t\t\t} if (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.quarter) {\r\n\t\t\t\t\tvar date = new Date(today.getFullYear(), today.getMonth() - 3, today.getDate());\r\n\t\t\t\t\treturn date.getDate() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth() + 1) + \"-\" + today.getFullYear();\r\n\t\t\t\t}\r\n\t\t\t\tif (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.current_month) {\r\n\t\t\t\t\tvar date = new Date(today.getFullYear(), today.getMonth(), today.getDate());\r\n\t\t\t\t\treturn 1 + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth() + 1) + \"-\" + today.getFullYear();\r\n\t\t\t\t}\r\n\t\t\t\tif (vm.scheduleModel.pull_data.range == vm.scheduleModel.pull_data.specific) {\r\n\t\t\t\t\tvar date = new Date(today.getFullYear(), today.getMonth(), today.getDate() - vm.scheduleModel.pull_data.specific_day_value);\r\n\t\t\t\t\treturn date.getDate() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getFullYear() + \" to \" + today.getDate() + \"-\" + (today.getMonth() + 1) + \"-\" + today.getFullYear();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tfor (var i = 1; i < 32; i++) {\r\n\t\tvm.scheduleModel.specific_date_range.push({ value: i, label: i });\r\n\t}\r\n\r\n\tvm.ScheduleReport = function () {\r\n\t\tvm.SchedulesList = \"\";\r\n\t\t vm.showSchedules = true;\r\n\t\t \r\n\t }\r\n\r\n\t vm.DeleteList = function (listId) {\r\n\t\tCampaignCreationService.DeleteListById(listId, loggedinUser, token).then(function (resp) {\r\n\t\t\tif (resp && resp.status == 200) {\r\n\t\t\t vm.showSuccess(\"Deleted\", \"List Deleted Successfully.\");\r\n\t\t\t $timeout(function () {\r\n\t\t\t\tvm.GetContactList();\r\n\t\t\t }, 2000);\r\n\t\t\t} else {\r\n\t\t\t vm.showFailure(\"Failed\", \"List deletion failed due to server error.\");\r\n\t\t\t}\r\n \r\n\t\t })\r\n\t }\r\n\t\t\r\n\t}\r\n});\n/* FileSaver.js\r\n * A saveAs() FileSaver implementation.\r\n * 1.3.2\r\n * 2016-06-16 18:25:19\r\n *\r\n * By Eli Grey, http://eligrey.com\r\n * License: MIT\r\n * See https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md\r\n */\r\n\r\n/*global self */\r\n/*jslint bitwise: true, indent: 4, laxbreak: true, laxcomma: true, smarttabs: true, plusplus: true */\r\n\r\n/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */\r\n\r\nvar saveAs = saveAs || (function(view) {\r\n\t\"use strict\";\r\n\t// IE <10 is explicitly unsupported\r\n\tif (typeof view === \"undefined\" || typeof navigator !== \"undefined\" && /MSIE [1-9]\\./.test(navigator.userAgent)) {\r\n\t\treturn;\r\n\t}\r\n\tvar\r\n\t\t doc = view.document\r\n\t\t // only get URL when necessary in case Blob.js hasn't overridden it yet\r\n\t\t, get_URL = function() {\r\n\t\t\treturn view.URL || view.webkitURL || view;\r\n\t\t}\r\n\t\t, save_link = doc.createElementNS(\"http://www.w3.org/1999/xhtml\", \"a\")\r\n\t\t, can_use_save_link = \"download\" in save_link\r\n\t\t, click = function(node) {\r\n\t\t\tvar event = new MouseEvent(\"click\");\r\n\t\t\tnode.dispatchEvent(event);\r\n\t\t}\r\n\t\t, is_safari = /constructor/i.test(view.HTMLElement) || view.safari\r\n\t\t, is_chrome_ios =/CriOS\\/[\\d]+/.test(navigator.userAgent)\r\n\t\t, throw_outside = function(ex) {\r\n\t\t\t(view.setImmediate || view.setTimeout)(function() {\r\n\t\t\t\tthrow ex;\r\n\t\t\t}, 0);\r\n\t\t}\r\n\t\t, force_saveable_type = \"application/octet-stream\"\r\n\t\t// the Blob API is fundamentally broken as there is no \"downloadfinished\" event to subscribe to\r\n\t\t, arbitrary_revoke_timeout = 1000 * 40 // in ms\r\n\t\t, revoke = function(file) {\r\n\t\t\tvar revoker = function() {\r\n\t\t\t\tif (typeof file === \"string\") { // file is an object URL\r\n\t\t\t\t\tget_URL().revokeObjectURL(file);\r\n\t\t\t\t} else { // file is a File\r\n\t\t\t\t\tfile.remove();\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t\tsetTimeout(revoker, arbitrary_revoke_timeout);\r\n\t\t}\r\n\t\t, dispatch = function(filesaver, event_types, event) {\r\n\t\t\tevent_types = [].concat(event_types);\r\n\t\t\tvar i = event_types.length;\r\n\t\t\twhile (i--) {\r\n\t\t\t\tvar listener = filesaver[\"on\" + event_types[i]];\r\n\t\t\t\tif (typeof listener === \"function\") {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tlistener.call(filesaver, event || filesaver);\r\n\t\t\t\t\t} catch (ex) {\r\n\t\t\t\t\t\tthrow_outside(ex);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t, auto_bom = function(blob) {\r\n\t\t\t// prepend BOM for UTF-8 XML and text/* types (including HTML)\r\n\t\t\t// note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF\r\n\t\t\tif (/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(blob.type)) {\r\n\t\t\t\treturn new Blob([String.fromCharCode(0xFEFF), blob], {type: blob.type});\r\n\t\t\t}\r\n\t\t\treturn blob;\r\n\t\t}\r\n\t\t, FileSaver = function(blob, name, no_auto_bom) {\r\n\t\t\tif (!no_auto_bom) {\r\n\t\t\t\tblob = auto_bom(blob);\r\n\t\t\t}\r\n\t\t\t// First try a.download, then web filesystem, then object URLs\r\n\t\t\tvar\r\n\t\t\t\t filesaver = this\r\n\t\t\t\t, type = blob.type\r\n\t\t\t\t, force = type === force_saveable_type\r\n\t\t\t\t, object_url\r\n\t\t\t\t, dispatch_all = function() {\r\n\t\t\t\t\tdispatch(filesaver, \"writestart progress write writeend\".split(\" \"));\r\n\t\t\t\t}\r\n\t\t\t\t// on any filesys errors revert to saving with object URLs\r\n\t\t\t\t, fs_error = function() {\r\n\t\t\t\t\tif ((is_chrome_ios || (force && is_safari)) && view.FileReader) {\r\n\t\t\t\t\t\t// Safari doesn't allow downloading of blob urls\r\n\t\t\t\t\t\tvar reader = new FileReader();\r\n\t\t\t\t\t\treader.onloadend = function() {\r\n\t\t\t\t\t\t\tvar url = is_chrome_ios ? reader.result : reader.result.replace(/^data:[^;]*;/, 'data:attachment/file;');\r\n\t\t\t\t\t\t\tvar popup = view.open(url, '_blank');\r\n\t\t\t\t\t\t\tif(!popup) view.location.href = url;\r\n\t\t\t\t\t\t\turl=undefined; // release reference before dispatching\r\n\t\t\t\t\t\t\tfilesaver.readyState = filesaver.DONE;\r\n\t\t\t\t\t\t\tdispatch_all();\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\treader.readAsDataURL(blob);\r\n\t\t\t\t\t\tfilesaver.readyState = filesaver.INIT;\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// don't create more object URLs than needed\r\n\t\t\t\t\tif (!object_url) {\r\n\t\t\t\t\t\tobject_url = get_URL().createObjectURL(blob);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (force) {\r\n\t\t\t\t\t\tview.location.href = object_url;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tvar opened = view.open(object_url, \"_blank\");\r\n\t\t\t\t\t\tif (!opened) {\r\n\t\t\t\t\t\t\t// Apple does not allow window.open, see https://developer.apple.com/library/safari/documentation/Tools/Conceptual/SafariExtensionGuide/WorkingwithWindowsandTabs/WorkingwithWindowsandTabs.html\r\n\t\t\t\t\t\t\tview.location.href = object_url;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfilesaver.readyState = filesaver.DONE;\r\n\t\t\t\t\tdispatch_all();\r\n\t\t\t\t\trevoke(object_url);\r\n\t\t\t\t}\r\n\t\t\t;\r\n\t\t\tfilesaver.readyState = filesaver.INIT;\r\n\r\n\t\t\tif (can_use_save_link) {\r\n\t\t\t\tobject_url = get_URL().createObjectURL(blob);\r\n\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\tsave_link.href = object_url;\r\n\t\t\t\t\tsave_link.download = name;\r\n\t\t\t\t\tclick(save_link);\r\n\t\t\t\t\tdispatch_all();\r\n\t\t\t\t\trevoke(object_url);\r\n\t\t\t\t\tfilesaver.readyState = filesaver.DONE;\r\n\t\t\t\t});\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tfs_error();\r\n\t\t}\r\n\t\t, FS_proto = FileSaver.prototype\r\n\t\t, saveAs = function(blob, name, no_auto_bom) {\r\n\t\t\treturn new FileSaver(blob, name || blob.name || \"download\", no_auto_bom);\r\n\t\t}\r\n\t;\r\n\t// IE 10+ (native saveAs)\r\n\tif (typeof navigator !== \"undefined\" && navigator.msSaveOrOpenBlob) {\r\n\t\treturn function(blob, name, no_auto_bom) {\r\n\t\t\tname = name || blob.name || \"download\";\r\n\r\n\t\t\tif (!no_auto_bom) {\r\n\t\t\t\tblob = auto_bom(blob);\r\n\t\t\t}\r\n\t\t\treturn navigator.msSaveOrOpenBlob(blob, name);\r\n\t\t};\r\n\t}\r\n\r\n\tFS_proto.abort = function(){};\r\n\tFS_proto.readyState = FS_proto.INIT = 0;\r\n\tFS_proto.WRITING = 1;\r\n\tFS_proto.DONE = 2;\r\n\r\n\tFS_proto.error =\r\n\tFS_proto.onwritestart =\r\n\tFS_proto.onprogress =\r\n\tFS_proto.onwrite =\r\n\tFS_proto.onabort =\r\n\tFS_proto.onerror =\r\n\tFS_proto.onwriteend =\r\n\t\tnull;\r\n\r\n\treturn saveAs;\r\n}(\r\n\t typeof self !== \"undefined\" && self\r\n\t|| typeof window !== \"undefined\" && window\r\n\t|| this.content\r\n));\r\n// `self` is undefined in Firefox for Android content script context\r\n// while `this` is nsIContentFrameMessageManager\r\n// with an attribute `content` that corresponds to the window\r\n\r\nif (typeof module !== \"undefined\" && module.exports) {\r\n module.exports.saveAs = saveAs;\r\n} else if ((typeof define !== \"undefined\" && define !== null) && (define.amd !== null)) {\r\n define(\"FileSaver.js\", function() {\r\n return saveAs;\r\n });\r\n}\nangular.module('inspinia').controller('CRMTeamMemberController', function (teamCardService,CRMTeamFormCreationService, $timeout, MainService, $rootScope, DTColumnBuilder, $compile, $q, ProjectCreationService, $scope, TeamProfileService, $stateParams, $uibModal, $localStorage, $log, $state, DTOptionsBuilder, PlanningResourseMapService, DashboardService, DTColumnDefBuilder, ImageUrl) {\r\n var vm = this;\r\n var userId = $stateParams.userId;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n vm.accountConfig = $localStorage.accountConfig;\r\n $rootScope.rootScopeMessage = '';\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n } else {\r\n vm.accountid= $localStorage.accountConfig.AccountId;\r\n vm.users = [];\r\n vm.FilterSwitch = false;\r\n vm.client = 1;\r\n vm.tab = 1;\r\n vm.skill = '';\r\n vm.workArea = '';\r\n var skillsArray;\r\n var circleArray;\r\n var ProjectModal = {};\r\n var userIndex = 0;\r\n vm.filteredProperties = {};\r\n vm.selectAll = false;\r\n vm.showMinus = false;\r\n vm.searchText = \"\";\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.dtInstance = {};\r\n var witemNames = \"\";\r\n var witemValues = \"\";\r\n var wsSDate = '';\r\n var wsEDate = '';\r\n var uPageIndex = 1;\r\n var uwPageIndex = 1;\r\n var uPageSize = 10;\r\n var uwPageSize = 10;\r\n vm.userPageListCount= 10;\r\n vm.pageListCounts = [10, 20, 30, 50];\r\n\r\n vm.imageServices = function (img) {\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function (resp) {\r\n if (resp.data == null || resp.data == '') {\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n }\r\n else {\r\n vm.profileImg = resp.data;\r\n }\r\n console.log(vm.profileImg);\r\n }, function () {\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n vm.exportData = function () {\r\n var blob = new Blob([document.getElementById('tab-1').innerHTML], {\r\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\r\n });\r\n saveAs(blob, \"Report.xls\");\r\n };\r\n\r\n vm.preProcessUsers = function (user) {\r\n user.ratingStars = vm.getRatingStars(user.CustomerRating);\r\n user.blankStars = vm.getBlankStars(user.CustomerRating);\r\n user.displayName = user.FirstName + \" \" + user.LastName;\r\n // user.displayName = user.displayName.length>8?(user.displayName.substring(0, 8)+\"...\"):user.displayName;\r\n var locs = \"\";\r\n angular.forEach(user.Locations, function (l) {\r\n locs += l + \",\";\r\n });\r\n user.allLocations = locs.length > 0 ? locs.substring(0, locs.length - 1) : \"\";\r\n var skills = \"\";\r\n angular.forEach(user.SkillSet, function (s) {\r\n skills += s + \",\";\r\n });\r\n user.allSkills = skills.length > 0 ? skills.substring(0, skills.length - 1) : \"\";\r\n var workareas = \"\";\r\n angular.forEach(user.Locations, function (w) {\r\n workareas += w + \",\";\r\n });\r\n user.allWorkareas = workareas.length > 0 ? workareas.substring(0, workareas.length - 1) : \"\";\r\n }\r\n\r\n vm.getAllUser = function () {\r\n teamCardService.getAllUserByReportingPerson(loggedinUser,vm.filterRole, token).then(function (resp) {\r\n vm.users = resp.data;\r\n vm.imageServices(vm.users.Picture);\r\n // angular.forEach(vm.users, function (d) {\r\n // vm.preProcessUsers(d);\r\n // });\r\n // if (vm.users.length == 0) {\r\n // vm.client = 1;\r\n // } else {\r\n // vm.client = 3;\r\n // vm.userInfo = vm.users[userIndex];\r\n // }\r\n }, function () {\r\n //$log.log('not working');\r\n })\r\n }\r\n vm.getAllRole = function getAllRole() {\r\n CRMTeamFormCreationService.getAllRoleByUserId(loggedinUser, token).then(function (resp) {\r\n if(resp.status == 200){\r\n if(resp.data && resp.data.length>0){\r\n vm.RolesList = resp.data;\r\n // if(vm.RolesList){\r\n // vm.Role = vm.RolesList[0].Role;\r\n // vm.GetReportingToUser(vm.Role);\r\n // }\r\n \r\n }\r\n }\r\n })\r\n }\r\n vm.getAllRole();\r\n\r\n vm.getUserInfo = function (userId, loggedinUser) {\r\n TeamProfileService.getFixedUserInfo(userId, loggedinUser, token).then(function (resp) {\r\n vm.userInfo = resp.data;\r\n vm.imageServices(vm.userInfo.Picture);\r\n vm.preProcessUsers(vm.userInfo);\r\n }, function () {\r\n //$log.log('not working');\r\n });\r\n }\r\n\r\n vm.getAllSkills = function () {\r\n TeamProfileService.getAllSkills().then(function (resp) {\r\n vm.skills = resp.data;\r\n for (var index = 0; index < vm.skills.length; index++) {\r\n skillsArray.push({\r\n skill: vm.skills.SkillName\r\n });\r\n }\r\n }, function () {\r\n //$log.log('not working');\r\n });\r\n }\r\n\r\n vm.getAllCircles = function (loggedinUser) {\r\n ProjectCreationService.GetAllCircles(loggedinUser).then(function (resp) {\r\n vm.circles = resp.data;\r\n for (var index = 0; index < vm.circles.length; index++) {\r\n circleArray.push({\r\n workArea: vm.circles.circle\r\n });\r\n }\r\n }, function () {\r\n //$log.log('not working');\r\n });\r\n }\r\n vm.UploadTeamCRM = function () {\r\n $state.go('index.bulkuploadCRMTeamMember', {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.AddTeamMember = function () {\r\n $state.go('index.CRMTeamFormCreation', {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.ProfileView = function (userid) {\r\n $state.go('index.TeamProfile', {\r\n userId: userid\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.ProfileData = function (userId) {\r\n vm.getUserInfo(userId, loggedinUser);\r\n vm.client = 3;\r\n }\r\n\r\n vm.filtermodal = function () {\r\n ProjectModal = $uibModal.open({\r\n templateUrl: 'Filter.html',\r\n backdrop: 'static',\r\n\r\n scope: $scope\r\n });\r\n }\r\n\r\n\r\n vm.CloseModal = function () {\r\n ProjectModal.close();\r\n }\r\n $scope.selectedOption = '';\r\n vm.LunchSchedule = function () {\r\n UpdateLunch = $uibModal.open({\r\n templateUrl: 'LunchPopup.html',\r\n backdrop: 'static',\r\n\r\n scope: $scope\r\n });\r\n }\r\n vm.closeUpdateLunch = function () {\r\n UpdateLunch.close();\r\n }\r\n\r\n vm.editTeamMember = function (userId) {\r\n $state.go('index.CRMTeamEdit', {\r\n userId: userId\r\n });\r\n }\r\n vm.hideoverlay = function () {\r\n $scope.myvalue = false;\r\n $scope.userClass_status = true;\r\n }\r\n $scope.userClass_status = true;\r\n vm.userSingle = function () {\r\n $scope.userClass_status = !$scope.userClass_status;\r\n $scope.myvalue = true;\r\n };\r\n $scope.close360View = function () {\r\n $scope.userClass_status = true;\r\n $scope.myvalue = false;\r\n }\r\n\r\n vm.Get360TeamProfileData = function (userId) {\r\n vm.userId = userId;\r\n DashboardService.Get360ProfileData(loggedinUser, userId, token).then(function (resp) {\r\n if (resp.data) {\r\n vm.userSingle();\r\n $scope.myvalue = false;\r\n }\r\n vm.teamdata = resp.data;\r\n vm.AvgRating = vm.teamdata.userProfile.AverageRating;\r\n vm.ReviewsList = vm.teamdata.userProfile.Reviews\r\n vm.teamdata.ratingStars = vm.getRatingStars(Math.round(vm.teamdata.userProfile.Ratings.TechnicianRating));\r\n vm.teamdata.blankStars = vm.getBlankStars(Math.round(vm.teamdata.userProfile.Ratings.TechnicianRating));\r\n vm.teamdata.avgratingStars = vm.getAvgRatingStars(Math.round(vm.teamdata.userProfile.AverageRating.AverageRating));\r\n vm.teamdata.avgblankStars = vm.getAvgBlankStars(Math.round(vm.teamdata.userProfile.AverageRating.AverageRating));\r\n if (vm.teamdata.userProfile.ContactNumber) {\r\n vm.teamdata.userProfile.ContactNumber = vm.teamdata.userProfile.ContactNumber.replace(/\\d(?=\\d{4})/g, '*');\r\n }\r\n\r\n if (vm.teamdata.userProfile.Reviews) {\r\n vm.teamdata.userProfile.Reviews.forEach(function (element, i) {\r\n vm.teamdata.userratingStars = vm.getUserRatingStars(Math.round(vm.teamdata.userProfile.Reviews[i].Average));\r\n vm.teamdata.userblankStars = vm.getUserBlankStars(Math.round(vm.teamdata.userProfile.Reviews[i].Average));\r\n element.arrayRating = vm.teamdata.userratingStars;\r\n element.blankRating = vm.teamdata.userblankStars;\r\n });\r\n }\r\n\r\n vm.TechnicianRating = Number(vm.teamdata.userProfile.Ratings.TechnicianRating).toFixed(1);\r\n $timeout(function () {\r\n displayTotals();\r\n }, 300);\r\n }, function () {\r\n })\r\n }\r\n \r\n vm.Get360TeamView = function(teamid){\r\n $state.go('index.Technician360view',{\r\n userId: teamid\r\n }, { reload: true });\r\n }\r\n\r\n\r\n $scope.totalWS = 0;\r\n $scope.wsPerPage = vm.userPageListCount;\r\n $scope.Userpagination = {\r\n current: 1\r\n };\r\n\r\n //left show page 10 20 30\r\n vm.changeUserPageListCount = function(userId) {\r\n $scope.wsPerPage = vm.userPageListCount;\r\n uPageSize = $scope.wsPerPage;\r\n $scope.WSTablePageChanged($scope.Userpagination.current);\r\n\r\n uPageIndex=$scope.Userpagination.current;\r\n $scope.WSTablePageChanged = function(newPage) { \r\n uPageIndex = newPage;\r\n vm.wsersFilterArray(); \r\n vm.Get360WorkSummary(loggedinUser, token,userId, witemNames, witemValues, uPageIndex, uPageSize,wsSDate,wsEDate,vm.OrderBy,vm.sorttype);\r\n\r\n };\r\n }\r\n\r\n uPageIndex=$scope.Userpagination.current;\r\n $scope.WSTablePageChanged = function(newPage) { \r\n uPageIndex = newPage;\r\n if(witemNames != 'Search')\r\n {\r\n vm.wsersFilterArray();\r\n }\r\n\r\n vm.Get360WorkSummary(loggedinUser, token,vm.userId, witemNames, witemValues, uPageIndex, uPageSize, wsSDate,wsEDate,vm.OrderBy,vm.sorttype);\r\n\r\n };\r\n\r\n\r\n vm.wsersFilterArray = function()\r\n {\r\n witemNames=\"\";\r\n witemValues=\"\";\r\n\r\n if (vm.searchStatusText != \"\" && vm.searchStatusText != \"All\" && vm.searchStatusText != null){\r\n if(itemNames.length > 0 && itemValues.length > 0){\r\n itemNames = itemNames + ',Status';\r\n itemValues = itemValues + ',' + vm.searchStatusText;\r\n }else{\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText;\r\n } \r\n }\r\n if (vm.userNameSearch) { \r\n if(witemNames) \r\n {\r\n witemNames = witemNames + ',Search';\r\n witemValues = witemValues + \",\" + vm.userNameSearch;\r\n }\r\n else\r\n {\r\n witemNames = 'Search';\r\n witemValues = vm.userNameSearch;\r\n } \r\n }\r\n\r\n if(vm.JobcountbyStatus)\r\n {\r\n if(witemNames) \r\n {\r\n witemNames = witemNames + ',Status';\r\n witemValues = witemValues + \",\" + vm.JobcountbyStatus;\r\n }\r\n else\r\n {\r\n witemNames = 'Status';\r\n witemValues = vm.JobcountbyStatus;\r\n }\r\n }\r\n\r\n }\r\n\r\n vm.Get360WorkSummary = function () {\r\n DashboardService.Get360WorkSummary(loggedinUser, token, vm.userId, witemNames, witemValues, uPageIndex, uPageSize, wsSDate, wsEDate, vm.OrderBy, vm.sorttype).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.statusCount = resp.data;\r\n vm.wsTicketList = resp.data.workSummaryData;\r\n $scope.totalWS = resp.data.WorkSummaryTotalCount;\r\n if (vm.wsTicketList.length < vm.userPageListCount)\r\n vm.wsListLength = $scope.totalWS;\r\n else\r\n vm.wsListLength = uPageIndex * vm.userPageListCount;\r\n if (uPageIndex == 1)\r\n vm.wspageindexCount = 1;\r\n else\r\n vm.wspageindexCount = (((uPageIndex - 1) * vm.userPageListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n }\r\n vm.RedirectToConfiguration = function () {\r\n $state.go('index.CalendarManagement', { reload: true });\r\n }\r\n \r\n vm.Get360SkillSummary = function () {\r\n DashboardService.Get360SkillSummary(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.skillsetData = resp.data;\r\n for(var i=0;ilTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withOption('createdRow', createdRow)\r\n .withButtons([{extend:'copy'},{extend:'csv', filename: 'CRM_Team_Members_List'},{extend:'print', title: 'CRM Team Members List' }])\r\n\r\n // .withScroller()\r\n // .withOption('deferRender', true)\r\n // .withOption('scrollY', 350)\r\n // .withOption('paging', false)\r\n .withOption('rowCallback', rowCallback);\r\n\r\n function createdRow(row, data, dataIndex) {\r\n // Recompiling so we can bind Angular directive to the DT\r\n $compile(angular.element(row).contents())($scope);\r\n }\r\n\r\n function rowCallback(nRow, aData, iDisplayIndex, iDisplayIndexFull) {\r\n $('td', nRow).unbind('click');\r\n $('td', nRow).bind('click', function () {\r\n $scope.$apply(function () {\r\n vm.ProfileData(aData.UserId);\r\n });\r\n });\r\n return nRow;\r\n }\r\n\r\n // vm.dtColumns = [\r\n // DTColumnBuilder.newColumn(null).withTitle('UserId').renderWith(function (data, type, full, meta) {\r\n // if (data.Role != 'Field Engineer') {\r\n // return '';\r\n // } else {\r\n // return '';\r\n // }\r\n // }),\r\n // DTColumnBuilder.newColumn(null).withTitle('Name').renderWith(function (data, type, full, meta) {\r\n // var address = '';\r\n // if (data.Picture == null) {\r\n // address = \"assets/images/patterns/photo1.png\";\r\n // } else {\r\n // // address= vm.getProfilePic(data.Picture);\r\n\r\n\r\n // // var img = full.Picture;\r\n // // vm.imageServices = function(img){\r\n // MainService.GetImageBlob(loggedinUser, token, data.Picture).then(function (resp) {\r\n // address = resp.data;\r\n\r\n // });\r\n\r\n // // } \r\n // // vm.imageServices(data.Picture);\r\n // }\r\n\r\n // return '' + data.FirstName + ' ' + data.LastName + '';\r\n // }).notSortable(),\r\n // DTColumnBuilder.newColumn('ContactNumber').withTitle('Phone Number').notSortable(),\r\n // DTColumnBuilder.newColumn('Role').withTitle('Role').notSortable(),\r\n\r\n // DTColumnBuilder.newColumn('').withTitle('Account Name').notSortable().renderWith(function (data, type, full, meta) {\r\n // if (full.TerritoryMappingModel) {\r\n // vm.accNameLoac = [];\r\n // vm.accIdLoac = [];\r\n // angular.forEach(full.TerritoryMappingModel, function (d) {\r\n // vm.accNameLoac.push(d.AccountName);\r\n // });\r\n // } else {\r\n // vm.accNameLoac = '';\r\n // }\r\n // return '
' + vm.accNameLoac + '
'\r\n // }),\r\n // DTColumnBuilder.newColumn('').withTitle('Account Id').notSortable().renderWith(function (data, type, full, meta) {\r\n // if (full.TerritoryMappingModel) {\r\n // vm.accLoac = [];\r\n // angular.forEach(full.TerritoryMappingModel, function (d) {\r\n // vm.accLoac.push(d.AccountId);\r\n // });\r\n // } else {\r\n // vm.accLoac = '';\r\n // }\r\n // return '
' + vm.accLoac + '
'\r\n // }),\r\n\r\n // DTColumnBuilder.newColumn('').withTitle('State').notSortable().renderWith(function (data, type, full, meta) {\r\n // if (full.TerritoryMappingModel) {\r\n // vm.stateLoac = [];\r\n // angular.forEach(full.TerritoryMappingModel, function (d) {\r\n // vm.stateLoac.push(d.State);\r\n // });\r\n // } else {\r\n // vm.stateLoac = '';\r\n // }\r\n // return '
' + vm.stateLoac + '
'\r\n // }),\r\n\r\n // DTColumnBuilder.newColumn('').withTitle('City').notSortable().renderWith(function (data, type, full, meta) {\r\n // if (full.TerritoryMappingModel) {\r\n // vm.cityLoac = [];\r\n // angular.forEach(full.TerritoryMappingModel, function (d) {\r\n // vm.cityLoac.push(d.City);\r\n // });\r\n // } else {\r\n // vm.cityLoac = '';\r\n // }\r\n // return '
' + vm.cityLoac + '
'\r\n // }),\r\n\r\n // DTColumnBuilder.newColumn('').withTitle('Pin Code').notSortable().renderWith(function (data, type, full, meta) {\r\n // if (full.TerritoryMappingModel) {\r\n // vm.pinLoac = [];\r\n // angular.forEach(full.TerritoryMappingModel, function (d) {\r\n // vm.pinLoac.push(d.PinCode);\r\n // });\r\n // } else {\r\n // vm.pinLoac = '';\r\n // }\r\n // return '
' + vm.pinLoac + '
'\r\n // }),\r\n\r\n // // DTColumnBuilder.newColumn('JobTotal').withTitle('Total Jobs').notSortable(),\r\n // // DTColumnBuilder.newColumn('JobCompleted').withTitle('Completed Jobs').notSortable()\r\n\r\n // ];\r\n\r\n\r\n // below code done for CRM demo\r\n\r\n vm.dtColumns = [\r\n DTColumnBuilder.newColumn(null).withTitle(function() {\r\n // Hide the column title if the condition is met\r\n if ((vm.accountConfig.AccountId == '380' || vm.accountConfig.AccountId == '383')&& vm.Role == 'Service Center') {\r\n return ''; // Return empty string to hide the heading\r\n }\r\n return 'UserId'; // Default title for the column\r\n }).renderWith(function (data, type, full, meta) {\r\n if (data.Role != 'Field Engineer' && data.Role != 'Private Vendor' && data.Role != 'Service Center' && data.Role != 'Vendor Manager' && (vm.accountConfig.AccountId != '361' && vm.accountConfig.AccountId != '364' && vm.accountConfig.AccountId != '380' && vm.accountConfig.AccountId != '383')) {\r\n return '';\r\n }\r\n else if (data.Role != 'Field Engineer' && data.Role != 'Private Vendor' && data.Role != 'Service Center' && data.Role != 'Vendor Manager' && (vm.accountConfig.AccountId == '361' || vm.accountConfig.AccountId == '364' || vm.accountConfig.AccountId == '380' || vm.accountConfig.AccountId == '383')) {\r\n return '' + data.CustomUserId + '';\r\n }\r\n else if (data.Role == 'Service Center' && (vm.accountConfig.AccountId == '361' || vm.accountConfig.AccountId == '364' || vm.accountConfig.AccountId == '380' || vm.accountConfig.AccountId == '383')) {\r\n return '';\r\n }\r\n else if (vm.Role == 'Service Center' && (vm.accountid == '380' || vm.accountid == '383')) {\r\n // If the role is Service Center and AccountId is 380, return an empty string to hide the UserId\r\n return '';\r\n }\r\n else {\r\n return '';\r\n }\r\n })\r\n ,\r\n DTColumnBuilder.newColumn(null).withTitle('Name').renderWith(function (data, type, full, meta) {\r\n var address = '';\r\n if (data.Picture == null) {\r\n address = \"assets/images/patterns/photo1.png\";\r\n } else {\r\n MainService.GetImageBlob(loggedinUser, token, data.Picture).then(function (resp) {\r\n address = resp.data;\r\n });\r\n }\r\n return '' + data.FirstName + ' ' + data.LastName + '';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn('ContactNumber').withTitle('Phone Number').notSortable(),\r\n DTColumnBuilder.newColumn('Role').withTitle('Role').notSortable(),\r\n DTColumnBuilder.newColumn('CurrentState').withTitle('State').notSortable(),\r\n DTColumnBuilder.newColumn('CurrentCity').withTitle('City').notSortable(),\r\n DTColumnBuilder.newColumn(null)\r\n .withTitle('Region')\r\n .notSortable()\r\n .renderWith(function(data, type, full) {\r\n return '
' + full.strListRegion + '
';\r\n }),\r\n DTColumnBuilder.newColumn(null)\r\n .withTitle('Sub-Region')\r\n .notSortable()\r\n .renderWith(function(data, type, full) {\r\n return '
' + full.strListSubRegion + '
';\r\n }),\r\n DTColumnBuilder.newColumn('CurrentPinCode').withTitle('Pin Code').notSortable(),\r\n \r\n\r\n // DTColumnBuilder.newColumn('').withTitle('State').notSortable().renderWith(function (data, type, full, meta) {\r\n // if (full.TerritoryMappingModel) {\r\n // vm.stateLoac = [];\r\n // angular.forEach(full.TerritoryMappingModel, function (d) {\r\n // vm.stateLoac.push(d.State);\r\n // });\r\n // } else {\r\n // vm.stateLoac = '';\r\n // }\r\n // return '
' + vm.stateLoac + '
';\r\n // }),\r\n // DTColumnBuilder.newColumn('').withTitle('City').notSortable().renderWith(function (data, type, full, meta) {\r\n // if (full.TerritoryMappingModel) {\r\n // vm.cityLoac = [];\r\n // angular.forEach(full.TerritoryMappingModel, function (d) {\r\n // vm.cityLoac.push(d.City);\r\n // });\r\n // } else {\r\n // vm.cityLoac = '';\r\n // }\r\n // return '
' + vm.cityLoac + '
';\r\n // }),\r\n // DTColumnBuilder.newColumn('').withTitle('Pin Code').notSortable().renderWith(function (data, type, full, meta) {\r\n // if (full.TerritoryMappingModel) {\r\n // vm.pinLoac = [];\r\n // angular.forEach(full.TerritoryMappingModel, function (d) {\r\n // vm.pinLoac.push(d.PinCode);\r\n // });\r\n // } else {\r\n // vm.pinLoac = '';\r\n // }\r\n // return '
' + vm.pinLoac + '
';\r\n // })\r\n ];\r\n if (vm.accountConfig.AccountId == '362') {\r\n vm.dtColumns.push(\r\n DTColumnBuilder.newColumn('VendorName').withTitle('Reporting To').notSortable(),\r\n DTColumnBuilder.newColumn('Rating').withTitle('Rating').notSortable(),\r\n DTColumnBuilder.newColumn('Expernice').withTitle('Experience').notSortable(),\r\n DTColumnBuilder.newColumn('AdharNo').withTitle('Adhaar Number').notSortable()\r\n );\r\n}\r\n\r\nif ((vm.accountConfig.AccountId == '380' || vm.accountConfig.AccountId == '383') && (vm.Role == 'Administrator' || vm.Role == 'Service Center') ) {\r\n vm.dtColumns.push(\r\n DTColumnBuilder.newColumn('Password').withTitle('Password').notSortable()\r\n );\r\n}\r\n\r\nif (vm.Role != 'Service Center' && (vm.accountConfig.AccountId == '361' || vm.accountConfig.AccountId == '362' || vm.accountConfig.AccountId == '364')) {\r\n vm.dtColumns.push(\r\n DTColumnBuilder.newColumn('ReportingToName')\r\n .withTitle('Reporting To')\r\n .notSortable()\r\n .renderWith(function (data, type, full, meta) {\r\n var id = full.ReportingTo;\r\n return data + ' (' + id + ')';\r\n }),\r\n DTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data,type,full) {\r\n return '';\r\n })\r\n );\r\n}\r\n\r\n if (vm.Role !== 'Vendor Manager' && vm.Role !== 'Service Center' && vm.Role !== 'Administrator' && vm.Role !== 'Project Manager' && vm.Role !== 'Supervisor') {\r\n vm.dtColumns.push(\r\n DTColumnBuilder.newColumn('').withTitle('Account Name').notSortable().renderWith(function (data, type, full, meta) {\r\n if (full.TerritoryMappingModel) {\r\n vm.accNameLoac = [];\r\n vm.accIdLoac = [];\r\n angular.forEach(full.TerritoryMappingModel, function (d) {\r\n vm.accNameLoac.push(d.AccountName);\r\n });\r\n } else {\r\n vm.accNameLoac = '';\r\n }\r\n return '
' + vm.accNameLoac + '
';\r\n }),\r\n DTColumnBuilder.newColumn('').withTitle('Account Id').notSortable().renderWith(function (data, type, full, meta) {\r\n if (full.TerritoryMappingModel) {\r\n vm.accLoac = [];\r\n angular.forEach(full.TerritoryMappingModel, function (d) {\r\n vm.accLoac.push(d.AccountId);\r\n });\r\n } else {\r\n vm.accLoac = '';\r\n }\r\n return '
' + vm.accLoac + '
';\r\n })\r\n );\r\n }\r\n\r\n\r\n vm.refreshTable = function () {\r\n vm.dtInstance.reloadData();\r\n };\r\n \r\n\r\n $scope.$watchGroup(['vm.filterRole'], function (newValues, oldValues) {\r\n if (newValues !== oldValues) {\r\n vm.refreshTable();\r\n }\r\n });\r\n\r\n \r\n\r\n // vm.dtOptions = DTOptionsBuilder.newOptions().withDOM(\r\n // '<\"html5buttons\"B>lTfgitp')\r\n // .withButtons([]).withPaginationType(\r\n // 'full_numbers').withOption('lengthChange', false)\r\n // .withOption('initComplete', function () {\r\n // $('.dataTables_filter input').unbind();\r\n // })\r\n // .withOption('order', [1, 'asc']);\r\n\r\n // vm.dtColumnDefs = [\r\n // DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n // // DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(2).notSortable().withClass('td-small-with-panel'),\r\n // DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(4).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(5).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(6).notSortable(),\r\n // DTColumnDefBuilder.newColumnDef(7).notSortable()];\r\n\r\n vm.getProfilePic = function (profilePicName) {\r\n return profilePicName ? ImageUrl + \"/\" + profilePicName : null;\r\n }\r\n }\r\n});\nangular.module('inspinia').service('CRMTeamFormCreationService', function (ApiURL, AcessoriesURL,LocationURL,PublicApiURL,MMFCRMURL, $log, $http,$localStorage) {\r\n var url = ApiURL + '/api/User';\r\n\r\n this.getState = function (loggedInUserId,token,region) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url, {\r\n headers: { \r\n 'Content-Type': 'application/json',\r\n 'Token':token , \r\n 'UserId':loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetTicketStatusForTerritory = function (loggedInUser, token) {\r\n var url = ApiURL + '/api/TerritoryMappingUser/GetTicketStatusForTerritory';\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n }\r\n \r\n \r\n this.CreateUser = function (userFormData, loggedinUser, token) {\r\n var url = ApiURL + '/api/User?reqUserId='+loggedinUser;\r\n return $http.post(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token, 'UserId':loggedinUser \r\n }\r\n });\r\n }\r\n\r\n this.getAllRole = function (token) {\r\n var url = ApiURL + '/api/role';\r\n return $http.get(url, {\r\n 'Token': token, 'UserId':loggedinUser\r\n });\r\n }\r\n //https://test.mymobiforce.com/publicapi/api/Location/GetRegion?userId=U370000000001\r\n this.GetRegion = function(loggedInUserId, token){\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId':loggedInUserId}\r\n })\r\n }\r\n this.GetTelecomCircle = function(loggedInUserId, token){\r\n var url = PublicApiURL + '/api/Location/GetTelecomCircles?userId='+ loggedInUserId;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId':loggedInUserId}\r\n })\r\n }\r\n\r\n //https://test.mymobiforce.com/publicapi/api/Location/GetSubRegion?userId=U370000000001®ion=North\r\n this.GetSubRegion = function(loggedInUserId, token, region){\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+region;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId':loggedInUserId}\r\n })\r\n }\r\n\r\n this.GetCityBySubRegion = function(loggedInUserId, subRegion, token){\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+subRegion;\r\n return $http.get(url,{\r\n headers:{'Token':token, 'UserId':loggedInUserId}\r\n })\r\n }\r\n\r\n this.GetAllProductNames = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/SkillSets/GetAllProductNames';\r\n return $http.get(url, {headers:{'Token': token, 'UserId':loggedinUser}});\r\n }\r\n\r\n this.GetAllSkillsForProduct = function (ProductName,loggedinUser, token) {\r\n var url = ApiURL + '/api/SkillSets/GetAllSkillsForProduct?ProductName=' + ProductName;\r\n return $http.get(url, {headers:{'Token': token, 'UserId':loggedinUser}});\r\n }\r\n\r\n\r\n this.getAllSkills = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url, {headers:{'Token': token, 'UserId':loggedinUser}});\r\n }\r\n\r\nthis.getCountry = function (loggedinUser, token) {\r\n var url = PublicApiURL + '/api/Address/GetCountry?userId=' + loggedinUser;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n } \r\n});\r\n}\r\n\r\nthis.getAllState = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n } \r\n});\r\n}\r\n\r\nthis.getCities = function (loggedinUser,state,token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+state;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n } \r\n});\r\n}\r\n\r\n this.getAllCity = function (loggedinUser,state, token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+state;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n } \r\n });\r\n }\r\n\r\n this.getAllPincode = function (city) {\r\n var url = LocationURL+'/api/Location/'+$localStorage.loggedinUser+'/'+city+'/GetPincodesByCity';\r\n return $http.get(url, {\r\n params: {}\r\n });\r\n }\r\n\r\n //http://localhost:56749/api/User/Project%20Manager/GetReportingToUserByRole?reqUserId=saurabhgupta3371%40gmail.com\r\n\r\n this.GetReportingToUser = function(role, loggedinUser, token){\r\n var url = ApiURL + '/api/User/' + role + '/GetReportingToUserByRole?reqUserId=' + loggedinUser\r\n return $http.get(url,{\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token, 'UserId':loggedinUser }\r\n })\r\n }\r\n\r\n // this.validateAllPincode = function (pin) {\r\n // var url = 'https://www.whizapi.com/api/v2/util/ui/in/indian-city-by-postal-code?project-app-key=pso222ywjvx996b93gd8wpp6&pin='+pin;\r\n // return $http.get(url, {\r\n // params: {}\r\n // });\r\n // }\r\n\r\n this.getAllReportingTo = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/User';\r\n return $http.get(url, {\r\n params: {userid: loggedinUser},\r\n headers: {'Token':token, 'UserId':loggedinUser }\r\n })\r\n }\r\n\r\n this.getUserData = function (userid, token) {\r\n return $http.get(url, {\r\n params: {UserId:userid},\r\n headers: {'Token':token, 'UserId':loggedinUser }\r\n });\r\n }\r\n\r\n this.updateUser = function (userFormData,loggedinUser, token) {\r\n var url = ApiURL + '/api/User/UpdateTeamUserDetails';\r\n return $http.put(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token, 'UserId':loggedinUser}\r\n });\r\n }\r\n //http://192.168.0.80:92/CoreAPI/api/Role/ByReqUserId?reqUserId=kanika.bansal%40innotiontech.com\r\n\r\n this.getAllRoleByUserId = function (userId, token) {\r\n var url = ApiURL + '/api/Role/ByReqUserId?reqUserId='+userId;\r\n return $http.get(url,{\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':userId}\r\n \r\n });\r\n }\r\n\r\n this.uploadProfilePic = function(loggedinUser, data, token, success, failure){\r\n $http.post(ApiURL + '/api/UploadImage', data, { \r\n headers: {\r\n 'Content-Type': undefined, 'Token': token, 'UserId':loggedinUser\r\n }\r\n }).then(success, failure);\r\n }\r\n \r\nthis.getAllAccounts = function (loggedInUserId,token) { \r\n var url = ApiURL+ '/api/account/GetAllAccountsMiniModel';\r\n return $http.get(url, {\r\n headers: { \r\n 'Content-Type': 'application/json',\r\n 'Token':token , \r\n 'UserId':loggedInUserId\r\n \r\n }\r\n });\r\n}\r\n\r\n//Accounts API\r\nthis.getAllAccountsConfigured = function (loggedinUser,token) { \r\n var url = ApiURL+ '/api/CentralHelpDesk/GetAllAccountHDConfig';\r\n return $http.get(url, {\r\n headers: { \r\n 'Content-Type': 'application/json',\r\n 'Token':token , \r\n 'UserId':loggedinUser\r\n \r\n }\r\n });\r\n}\r\n\r\n\r\n//https://product.mymobiforce.com/coreAPI/api/User/GetTeamUserDetails?UserId=U00000000413\r\nthis.getFixedUserInfo = function (userId,loggedInUser, token) {\r\n var url = ApiURL + '/api/User/GetTeamUserDetails?UserId='+ userId ;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n}\r\n\r\n// http://localhost:56749/api/TerritoryMappingUser/GetStateByAccountIdAndRole?AccountId=114&Role=Administrator\r\nthis.getTerritoryStates = function (loggedInUser, token,AccountId,Role) {\r\n var url = ApiURL + '/api/TerritoryMappingUser/GetStateByAccountIdAndRole?AccountId='+ AccountId+ '&Role='+ Role;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n}\r\n\r\n//http://localhost:56749/api/TerritoryMappingUser/GetCityByAccountIdAndStateAndRole?AccountId=144&State=Uttar%20Pradesh&Role=Administrator\r\nthis.getTerritoryCity = function (loggedInUser, token,AccountId,state,Role) {\r\n var url = ApiURL + '/api/TerritoryMappingUser/GetCityByAccountIdAndStateAndRole?AccountId='+ AccountId+'&State='+state+'&Role='+ Role;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n}\r\n\r\n//https://upgrad.mymobiforce.com/coreapi/api/TerritoryMappingUser/GetPincodeByStateAndCityAndAccountIdAndRole?AccountId=144&State=Uttar%20Pradesh&City=Noida&Role=Administrator\r\nthis.getTerritoryPincodes = function (loggedInUser, token,AccountId,state,City,Role) {\r\n var url = ApiURL + '/api/TerritoryMappingUser/GetPincodeByStateAndCityAndAccountIdAndRole?AccountId='+ AccountId+'&State='+state+'&City='+City+'&Role='+ Role;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n}\r\n \r\nthis.GetAllNotAllocatedWareHouse = function (loggedInUser, token) {\r\n var url = AcessoriesURL + '/api/WareHouse/GetAllNotAllocatedWareHouse';\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n}\r\nthis.GetItemBrandName = function (token) {\r\n var url = AcessoriesURL + '/api/MMFMasterInventory/GetItemBrandName';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': $localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\nthis.GetAllRegionsByRole = function (data,loggedInUser, token) {\r\n var url = MMFCRMURL + '/api/CRMZonalMapping/GetAllRegionsByRole';\r\n return $http.post(url,data,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n}\r\n\r\n\r\nthis.GetAllAvailableRegion = function (loggedInUser, token) {\r\n var url = MMFCRMURL + '/api/CRMZonalMapping/GetAllAvailableRegion';\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n}\r\n\r\nthis.GetAllAvailableSubRegion = function (region,loggedInUser, token) {\r\n var url = MMFCRMURL + '/api/CRMZonalMapping/GetAllAvailableSubRegion?Region=' + region;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n}\r\n\r\n});\r\n\nangular.module('inspinia').controller('CRMTeamFormCreationController', function (ProjectCreationService,ReferService, MainService, $state, $scope, $timeout, $stateParams, $filter, $log, $localStorage, CRMTeamFormCreationService, ServiceCenter_FormcreationService,TeamProfileService, toaster, $q, ImageUrl) {\r\n var vm = this;\r\n vm.isDisabled = false;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n var accountConfig = $localStorage.accountConfig;\r\n vm.accountId = $localStorage.accountConfig.AccountId;\r\n if ($localStorage.accountConfig) {\r\n if ($localStorage.accountConfig) {\r\n vm.EnableRegion = $localStorage.accountConfig.EnableRegion;\r\n }\r\n }else{\r\n vm.EnableRegion = false;\r\n }\r\n\r\n if (!loggedinUser) {\r\n\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n\r\n vm.loggedinUserRole = $localStorage.loggedInUser_Role;\r\n\r\n //$log.log('Role=',vm.loggedinUserRole);\r\n angular.element(document).ready(function () {\r\n angular.element('ul[side-navigation]').find('a[ui-sref=\"index.CRMTeamMember\"]').parent().prop('class', 'active');\r\n // angular.element(\".chosen-select\").chosen();\r\n });\r\n\r\n ///Global variables goign to use for seeting page defaults.\r\n\r\n var userId_ForUpdate = $stateParams.userId;\r\n vm.saveAndNewFlag = false;\r\n vm.editMode = false;\r\n vm.address_option = 'Yes';\r\n vm.officeFormValidation = false;\r\n vm.isCollapsed = false;\r\n vm.isUserDetailCollapsed = false;\r\n vm.isOfficeUseCollapsed = true;\r\n vm.Role = '';\r\n vm.specialist = \"No\";\r\n vm.ReportingTo = '';\r\n vm.warehouseToBeAllocated = '';\r\n vm.AadhaarNumber = '';\r\n vm.Rating = '';\r\n vm.ExperienceInYears = '';\r\n vm.regionForRSM = [];\r\n vm.subRegionForBSM = [];\r\n vm.SubCity='';\r\n vm.allStates = [];\r\n //page binding models using\r\n vm.username = '';\r\n vm.gender = 'Male';\r\n vm.email = '';\r\n vm.phone_number = '';\r\n vm.last_name = '';\r\n vm.birth_date = moment();\r\n vm.father_name = '';\r\n vm.alternate_number = '';\r\n vm.workArea = '';\r\n vm.AccountName = '';\r\n vm.warehouseToBeAllocatedName = \"\";\r\n vm.company = '';\r\n vm.permanent_address_line1 = '';\r\n vm.permanent_state = '';\r\n vm.permanent_pincode = '';\r\n vm.permanent_address_line2 = '';\r\n vm.permanent_city = '';\r\n vm.present_address_line1 = '';\r\n vm.present_address_line2 = '';\r\n vm.present_state = '';\r\n vm.present_city = '';\r\n vm.present_pincode = '';\r\n vm.skill = '';\r\n vm.companyname = '';\r\n vm.brand = '';\r\n vm.expertise = '';\r\n vm.reportinToList = '';\r\n vm.workAreas = [];\r\n vm.CHDAccounts = [];\r\n vm.RemainingCHDAccounts = [];\r\n vm.SelectedAccount={};\r\n vm.showAction = true;\r\n // vm.multiPincode = []\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n vm.LocationMapping = vm.getAccountConfigSetting('LocationMapping');\r\n console.log('vertical',vm.VerticalName);\r\n vm.MainRegion = '';\r\n vm.SubRegion = '';\r\n var today = new Date();\r\n var date = today.getFullYear() - 18;\r\n var age = (today.getMonth() + 1 + \"/\" + today.getDate() + \"/\" + date).toString();\r\n\r\n vm.maxDOB = new Date(age);\r\n vm.maxDOBStr = vm.maxDOB.toDateString();\r\n age = Date.parse(age);\r\n $scope.MaxDate = moment(age);\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.showEditList = false;\r\n vm.showEditLists = false;\r\n vm.isShow=true;\r\n \r\n getAllRole();\r\n\r\n function getAllRole() {\r\n CRMTeamFormCreationService.getAllRoleByUserId(loggedinUser, token).then(function (resp) {\r\n if(resp.status == 200){\r\n if(resp.data && resp.data.length>0){\r\n vm.RolesList = resp.data;\r\n if(vm.RolesList){\r\n vm.Role = vm.RolesList[0].Role;\r\n vm.GetReportingToUser(vm.Role);\r\n }\r\n \r\n }\r\n }\r\n })\r\n }\r\n var brandArray = [];\r\n vm.GetItemBrandName = function () {\r\n CRMTeamFormCreationService.GetItemBrandName(token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.BrandList = resp.data;\r\n for (var index = 0; index < vm.BrandList.length; index++) {\r\n brandArray.push({\r\n brand: vm.BrandList[index] // Correct reference\r\n });\r\n }\r\n }\r\n });\r\n };\r\n vm.GetItemBrandName();\r\n vm.checkMaxDOB = function () {\r\n if (vm.birth_date && !vm.birth_date._isAMomentObject) {\r\n var splittedDOB = vm.birth_date.split(\"/\");\r\n vm.birth_date = moment(new Date((splittedDOB[1] + \"/\" + splittedDOB[0] + \"/\" + splittedDOB[2]).toString()));\r\n }\r\n\r\n return (vm.maxDOB - vm.birth_date) < 0;\r\n }\r\n\r\n vm.GetReportingToUser = function (role) {\r\n vm.regionForRSM = [];\r\n vm.subRegionForBSM = [];\r\n vm.reportinToList=\"\";\r\n CRMTeamFormCreationService.GetReportingToUser(role, loggedinUser, token).then(function (resp) {\r\n if(resp.status == 200){\r\n if(resp.data && resp.data.length>0){\r\n vm.reportinToList = resp.data;\r\n if(vm.Role == 'Field Engineer'){\r\n vm.ReportingTo = vm.reportinToList[0].UserId;\r\n }\r\n }\r\n }\r\n })\r\n }\r\n\r\n\r\n vm.removeAddmoreEditList = function () { \r\n vm.showEditList = false;\r\n vm.showAction = true;\r\n}\r\n \r\n // vm.selectedCountry = null;\r\n vm.countrylist = [\"INDIA\"];\r\n vm.selectedCountry = \"INDIA\";\r\n //get country of user\r\n\r\n // vm.getCountry = function () {\r\n // CRMTeamFormCreationService.getCountry(loggedinUser, token).then(function (resp) {\r\n // if(resp.status == 200){\r\n // // if(resp.data && resp.data.values.length>0){\r\n // vm.countrylist = [\"INDIA\"];\r\n // vm.selectedCountry = \"INDIA\";\r\n \r\n // //getAllCircles(loggedinUser);\r\n // // }\r\n // } \r\n // })\r\n // }\r\n\r\n\r\n vm.getAllState = function () {\r\n CRMTeamFormCreationService.getAllState(loggedinUser, token).then(function (resp) {\r\n if(resp.status == 200){\r\n if(resp.data && resp.data.length>0){\r\n vm.stateList = resp.data;\r\n if ($state.current.name == 'index.CRMTeamEdit') {\r\n vm.teamEditMode = $state.current.name;\r\n vm.editMode = true;\r\n \r\n if(userId_ForUpdate.startsWith(\"U\") || userId_ForUpdate.startsWith(\"F\")){ \r\n CRMTeamFormCreationService.getFixedUserInfo(userId_ForUpdate, loggedinUser, token).then(function (resp) {\r\n var userData = resp.data;\r\n vm.AccountName = userData.ServiceAccountIds;\r\n vm.username = userData.FirstName;\r\n vm.gender = userData.Gender;\r\n vm.email = userData.PersonalEmail;\r\n vm.CustomUserId = userData.CustomUserId;\r\n vm.phone_number = parseInt(userData.ContactNumber);\r\n vm.last_name = userData.LastName;\r\n vm.birth_date = moment(userData.DOB);\r\n vm.father_name = userData.FatherName;\r\n vm.ReportingTo = userData.ReportingTo;\r\n if(userData.AlternativeContactNumber){\r\n vm.alternate_number = parseInt(userData.AlternativeContactNumber);\r\n } \r\n vm.GetAllRegionsByRole(); \r\n if(userData.strListRegion){\r\n vm.regionForRSM = userData.strListRegion[0];\r\n }\r\n vm.GetAllAvailableSubRegion();\r\n vm.subRegionForBSM = userData.strListSubRegion; \r\n vm.specialist = userData.Specialist; \r\n vm.workArea = userData.Locations;\r\n //vm.company = userData.CompanyName;\r\n vm.userId = userData.UserId;\r\n vm.permanent_address_line1 = userData.PermanentAdd1;\r\n vm.permanent_address_line2 = userData.PermanentAdd2;\r\n vm.permanent_city = userData.PermanentCity.toUpperCase();\r\n vm.permanent_state = userData.PermanentState;\r\n vm.permanent_pincode = userData.PermanentPinCode;\r\n vm.present_address_line1 = userData.CurrentAdd1;\r\n vm.present_address_line2 = userData.CurrentAdd2;\r\n vm.present_city = userData.CurrentCity.toUpperCase();\r\n vm.present_state = userData.CurrentState;\r\n vm.warehouseToBeAllocated = userData.WareHouseId;\r\n if(vm.NotAllocatedWarehouses.length > 0){\r\n angular.forEach(vm.NotAllocatedWarehouses, function(d) {\r\n if(d.strWareHouseId === userData.WareHouseId) {\r\n vm.warehouseToBeAllocated = userData.WareHouseId;\r\n }\r\n });\r\n\r\n }\r\n else if(!vm.NotAllocatedWarehouses || vm.NotAllocatedWarehouses.length == 0){\r\n vm.warehouseToBeAllocatedName = userData.strWareHouseName; \r\n }\r\n vm.present_pincode = userData.CurrentPinCode;\r\n vm.skill = userData.SkillSet;\r\n vm.selectedSkills = userData.SkillSet;\r\n vm.productSkills = userData.SkillSet;\r\n vm.expertise = userData.Expertise;\r\n vm.Role = userData.Role;\r\n vm.brand = userData.BrandNameList ;\r\n vm.companyname = userData.CompanyName;\r\n vm.GetReportingToUser(vm.Role);\r\n vm.workAreas = userData.TerritoryConfigurations;\r\n // vm.profilePic = userData.Picture;\r\n vm.imageServices(userData.Picture);\r\n if (vm.EnableRegion) {\r\n vm.MainRegion = userData.Region;\r\n \r\n //GetSubRegionList\r\n vm.selectSubRegion(vm.MainRegion);\r\n vm.Region = userData.SubRegion;\r\n vm.selectCitySubRegion(vm.Region);\r\n vm.SubCity = userData.Locations;\r\n }else{\r\n vm.workArea = userData.Locations;\r\n }\r\n \r\n //Get Id of state by its name \r\n for (var i = 0; i < vm.stateList.length; i++) {\r\n if (vm.stateList[i] == vm.permanent_state) {\r\n vm.permanent_state = vm.stateList[i];\r\n vm.selectState(vm.permanent_state);\r\n }\r\n if (vm.stateList[i] == vm.present_state) {\r\n vm.present_state = vm.stateList[i];\r\n vm.selectStateforPresent(vm.present_state);\r\n }\r\n }\r\n \r\n ///Get the workArea badges in edit mode \r\n var circleArray = [];\r\n if(vm.workArea){\r\n for (var pin = 0; pin < vm.workArea.length; pin++) {\r\n circleArray.push({\r\n workArea: vm.workArea\r\n });\r\n }\r\n }\r\n \r\n \r\n ///Check Present address is same as the Permanent Address.\r\n if ((vm.permanent_address_line1 == vm.present_address_line1) && (vm.permanent_address_line2 == vm.present_address_line2) && (vm.permanent_city == vm.present_city) &&\r\n (vm.permanent_state == vm.present_state) && (vm.permanent_pincode == vm.present_pincode)) {\r\n vm.address_option = 'Yes';\r\n } else {\r\n vm.address_option = 'No';\r\n }\r\n }, function () {\r\n \r\n });\r\n }\r\n else\r\n {\r\n TeamProfileService.getUserInfo(userId_ForUpdate, loggedinUser, token).then(function (resp) {\r\n var userData = resp.data;\r\n vm.username = userData.FirstName;\r\n vm.gender = userData.Gender;\r\n vm.email = userData.PersonalEmail;\r\n vm.phone_number = parseInt(userData.ContactNumber);\r\n vm.last_name = userData.LastName;\r\n vm.birth_date = moment(userData.DOB);\r\n vm.father_name = userData.FatherName;\r\n vm.alternate_number = parseInt(userData.AlternativeContactNumber);\r\n vm.specialist = userData.Specialist; \r\n //vm.workArea = userData.Locations;\r\n vm.warehouseToBeAllocated = userData.WareHouseId; \r\n vm.AadhaarNumber = userData.AadharNumber;\r\n vm.Rating = userData.Rating;\r\n vm.GetAllRegionsByRole();\r\n if(userData.strListRegion){\r\n vm.regionForRSM = userData.strListRegion[0];\r\n }\r\n vm.subRegionForBSM = userData.strListSubRegion;\r\n vm.company = userData.CompanyName;\r\n vm.userId = userData.UserId;\r\n vm.permanent_address_line1 = userData.PermanentAdd1;\r\n vm.permanent_address_line2 = userData.PermanentAdd2;\r\n vm.permanent_city = userData.PermanentCity.toUpperCase();\r\n vm.permanent_state = userData.PermanentState;\r\n vm.permanent_pincode = userData.PermanentPinCode;\r\n vm.present_address_line1 = userData.CurrentAdd1;\r\n vm.present_address_line2 = userData.CurrentAdd2;\r\n vm.present_city = userData.CurrentCity.toUpperCase();\r\n vm.present_state = userData.CurrentState;\r\n vm.present_pincode = userData.CurrentPinCode;\r\n vm.skill = userData.SkillSet;\r\n vm.selectedSkills = userData.SkillSet;\r\n vm.productSkills = userData.SkillSet;\r\n vm.expertise = userData.Expertise;\r\n vm.brand = userData.BrandNameList ;\r\n vm.companyname = userData.CompanyName;\r\n vm.Role = userData.Role;\r\n vm.CustomUserId = userData.CustomUserId;\r\n vm.GetReportingToUser(vm.Role);\r\n vm.ReportingTo = userData.ReportingTo;\r\n vm.profilePic = userData.Picture;\r\n if (vm.EnableRegion) {\r\n vm.MainRegion = userData.Region;\r\n \r\n //GetSubRegionList\r\n vm.selectSubRegion(vm.MainRegion);\r\n vm.Region = userData.SubRegion;\r\n vm.selectCitySubRegion(vm.Region);\r\n vm.SubCity = userData.Locations;\r\n }else{\r\n vm.workArea = userData.Locations;\r\n }\r\n \r\n //Get Id of state by its name \r\n for (var i = 0; i < vm.stateList.length; i++) {\r\n if (vm.stateList[i] == vm.permanent_state) {\r\n vm.permanent_state = vm.stateList[i];\r\n vm.selectState(vm.permanent_state);\r\n }\r\n if (vm.stateList[i] == vm.present_state) {\r\n vm.present_state = vm.stateList[i];\r\n vm.selectStateforPresent(vm.present_state);\r\n }\r\n }\r\n \r\n ///Get the workArea badges in edit mode \r\n var circleArray = [];\r\n for (var pin = 0; pin < vm.workArea.length; pin++) {\r\n circleArray.push({\r\n workArea: vm.workArea\r\n });\r\n }\r\n \r\n ///Check Present address is same as the Permanent Address.\r\n if ((vm.permanent_address_line1 == vm.present_address_line1) && (vm.permanent_address_line2 == vm.present_address_line2) && (vm.permanent_city == vm.present_city) &&\r\n (vm.permanent_state == vm.present_state) && (vm.permanent_pincode == vm.present_pincode)) {\r\n vm.address_option = 'Yes';\r\n } else {\r\n vm.address_option = 'No';\r\n }\r\n }, function () {\r\n \r\n });\r\n }\r\n \r\n\r\n\r\n }\r\n \r\n }\r\n } \r\n })\r\n \r\n }\r\n\r\n vm.getAllState();\r\n \r\n\r\n vm.GetInfoPinCodes = function () {\r\n ServiceCenter_FormcreationService.GetAllPinCodes(vm.permanent_state, vm.permanent_city,loggedinUser,token).then(function (resp) {\r\n vm.AddressallPincodes = resp.data;\r\n if (resp.data) {\r\n var citypincodeArray = [];\r\n citypincodeArray.push({\r\n city: state\r\n });\r\n vm.cityListForPincode = citypincodeArray;\r\n }\r\n }, function () {\r\n \r\n });\r\n }\r\n\r\n // vm.getCountry();\r\n\r\n $scope.modelOptions = {\r\n getterSetter: true\r\n };\r\n\r\n\r\n\r\n vm.getProfilePic = function(pic){\r\n return ImageUrl+\"/\"+vm.profilePic;\r\n }\r\n\r\n vm.changeFile = function(selector){\r\n angular.element(selector).trigger(\"click\");\r\n }\r\n\r\n $scope.uploadImageFile = function(files){\r\n var file = files.files[0];\r\n\r\n var rendomnumber = Math.floor(1000 + Math.random() * 9999);\r\n filename = loggedinUser+\"_ProfilePic_\" + rendomnumber +\".\"+ file.name.split(\".\")[1];\r\n var file = new File([file], filename, {type:file.type});\r\n\r\n if(file.type.indexOf(\"image/jpg\")>=0 || file.type.indexOf(\"image/png\")>=0 \r\n || file.type.indexOf(\"image/bmp\")>=0 || file.type.indexOf(\"image/jpeg\")>=0){\r\n var data = new FormData();\r\n data.append(\"files\", file);\r\n CRMTeamFormCreationService.uploadProfilePic(loggedinUser, data, token, function(res){\r\n if(res && res.status==201 && res.data){\r\n vm.profilePic = filename;\r\n vm.imageServices(filename);\r\n }\r\n }, function(err){\r\n vm.showFailure(\"Failed\", err.data);\r\n });\r\n } else {\r\n vm.fileUploadError = \"Please upload image only as profile picture.\";\r\n }\r\n }\r\n vm.imageServices = function(img){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n }\r\n else{\r\n vm.profileImg = resp.data;\r\n }\r\n console.log(vm.profileImg);\r\n }, function() {\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n });\r\n \r\n }\r\n vm.imageServices(vm.profileImg);\r\n\r\n ///Saving User function \r\n vm.saveUser = function () {\r\n vm.isDisabled = true;\r\n if (vm.signup_form.$valid) {\r\n if (vm.address_option == 'Yes') {\r\n vm.present_address_line1 = vm.permanent_address_line1;\r\n vm.present_address_line2 = vm.permanent_address_line2;\r\n vm.present_state = vm.permanent_state;\r\n vm.present_city = vm.permanent_city;\r\n vm.present_pincode = vm.permanent_pincode;\r\n }\r\n \r\n var workArea = '';\r\n var skill = '';\r\n if((vm.loggedinUserRole != \"Dispatch Manager\") && (vm.loggedinUserRole != \"OnBoarding Manager\") && (vm.loggedinUserRole != \"Dispatch Team Lead\")&& (vm.loggedinUserRole != \"OnBoarding Team Lead\") && (vm.loggedinUserRole != \"Dispatch Supervisor\")){ \r\n workArea = vm.workArea;\r\n if(vm.Role == 'Service Center'){\r\n skill = vm.selectedSkills;\r\n }\r\n else{\r\n skill = vm.skill;\r\n }\r\n /*for (var index = 0; index < vm.workArea.length; index++) {\r\n if (index == (vm.workArea.length - 1)) {\r\n workArea = workArea + vm.workArea[index];\r\n continue;\r\n }\r\n workArea = workArea + vm.workArea[index] + ',';\r\n } \r\n for (var skillindex = 0; skillindex < vm.skill.length; skillindex++) {\r\n if (skillindex == (vm.skills.length - 1)) {\r\n skill = skill + vm.skill[skillindex];\r\n vm.selectExpertise(skill);\r\n continue;\r\n }\r\n skill = skill + vm.skill[skillindex] + ',';\r\n vm.selectExpertise(skill);\r\n }*/\r\n } \r\n if(vm.Role == 'Ware House Manager'){\r\n vm.warehouseToBeAllocated = vm.warehouseToBeAllocated;\r\n }\r\n else{\r\n vm.warehouseToBeAllocated = '';\r\n }\r\n\r\n if(vm.regionForRSM.length > 0){\r\n vm.regionForRSM = [vm.regionForRSM];\r\n }\r\n ///model to send for creating user \r\n var userFormData = { \r\n \"UserId\": vm.userId,\r\n \"FirstName\": vm.username,\r\n \"LastName\": vm.last_name,\r\n \"Gender\": vm.gender,\r\n \"DOB\": moment(vm.birth_date, 'DD/MM/YYYY').format('YYYY-MM-DDTHH:mm:ss.SSSZ'), \r\n \"PersonalEmail\": vm.email,\r\n \"ContactNumber\": vm.phone_number,\r\n \"AlternativeContactNumber\": vm.alternate_number,\r\n // \"CompanyName\": vm.company,\r\n \"Locations\": workArea,\r\n \"PermanentAdd1\": vm.permanent_address_line1,\r\n \"PermanentAdd2\": vm.permanent_address_line2,\r\n \"PermanentState\": vm.permanent_state,\r\n \"PermanentCity\": vm.permanent_city,\r\n \"PermanentPincode\": vm.permanent_pincode,\r\n \"CurrentAdd1\": vm.present_address_line1,\r\n \"CurrentAdd2\": vm.present_address_line2,\r\n \"CurrentState\": vm.present_state,\r\n \"CurrentCity\": vm.present_city,\r\n \"CurrentPincode\": vm.present_pincode,\r\n \"SkillSet\": skill,\r\n \"Expertise\": vm.expertise,\r\n \"ReportingTo\": '',\r\n \"Role\": '',\r\n \"Picture\":vm.profilePic,\r\n \"TerritoryConfigurations\":vm.workAreas,\r\n \"Specialist\":vm.specialist,\r\n \"WareHouseId\":vm.warehouseToBeAllocated,\r\n \"CompanyName\":vm.companyname,\r\n \"BrandName\": vm.brand,\r\n \"AadharNumber\":vm.AadhaarNumber,\r\n \"ExperienceInYears\":vm.ExperienceInYears,\r\n \"Rating\":vm.Rating,\r\n \"strListRegion\": vm.regionForRSM,\r\n \"strListSubRegion\":vm.subRegionForBSM,\r\n \"CustomUserId\" : vm.CustomUserId\r\n }\r\n if (vm.EnableRegion) {\r\n userFormData.Region = vm.MainRegion;\r\n \r\n var workArea = '';\r\n for (var index = 0; index < vm.SubCity.length; index++) {\r\n if (index == (vm.SubCity.length - 1)) {\r\n workArea = workArea + vm.SubCity[index];\r\n continue;\r\n }\r\n workArea = workArea + vm.SubCity[index] + ',';\r\n }\r\n userFormData.Locations = workArea;\r\n userFormData.SubRegion = vm.Region;\r\n }\r\n\r\n \r\n if (vm.loggedinUserRole == 'Administrator' || vm.loggedinUserRole == 'Project Manager' || vm.loggedinUserRole == 'Supervisor' || vm.loggedinUserRole == 'Vendor Manager' || vm.loggedinUserRole == 'Service Center'|| vm.loggedinUserRole == 'SuperAdministrator' || vm.loggedinUserRole == 'OnBoarding Manager' || vm.loggedinUserRole == 'Account Manager' || vm.loggedinUserRole == 'OnBoarding Supervisor' || vm.loggedinUserRole == 'Operation Manager' || vm.loggedinUserRole == 'Operation Supervisor' || vm.loggedinUserRole == 'Higher Management'\r\n || vm.loggedinUserRole == 'Dispatch Manager' || vm.loggedinUserRole == 'Dispatch Supervisor' || vm.loggedinUserRole == 'Dispatch Team Lead'|| vm.loggedinUserRole == 'Freelancer Dispatcher'|| vm.loggedinUserRole == 'OnBoarding Team Lead') {\r\n userFormData.ReportingTo = vm.ReportingTo;\r\n userFormData.Role = vm.Role;\r\n }\r\n // else if(vm.loggedinUserRole == 'Supervisor'){\r\n // userFormData.ReportingTo = loggedinUser;\r\n // userFormData.Role = 'Field Engineer';\r\n // }\r\n\r\n \r\n\r\n if((vm.email==null || vm.email=='') && (vm.phone_number==null || vm.phone_number=='')){\r\n vm.showFailure(\"Failed\", \"Please provide email id or mobile number\");\r\n vm.isDisabled = false;\r\n } else{\r\n // Submit as normal\r\n if (vm.editMode) {\r\n CRMTeamFormCreationService.updateUser(userFormData, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 201) {\r\n vm.showSuccess(\"Success\", \"User Updated Successfully\");\r\n vm.isDisabled = false;\r\n $timeout(function () {\r\n // $state.reload();\r\n $state.go('index.CRMTeamMember', {\r\n reload: true\r\n });\r\n }, 2000);\r\n }\r\n else{\r\n vm.isDisabled = false;\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }\r\n \r\n }, function () {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"Failed\", \"Unable to update user\");\r\n })\r\n } else {\r\n\r\n userFormData.UserId = '';\r\n CRMTeamFormCreationService.updateUser(userFormData, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 201) {\r\n vm.showSuccess(\"User Creation Status\", \"User created successfully\");\r\n vm.isDisabled = false;\r\n // $state.reload();\r\n $timeout(function () {\r\n clearFormFields();\r\n $state.go('index.CRMTeamMember', {\r\n reload: true\r\n });\r\n }, 2000); \r\n } else if (resp.data.ErrorCode == 104) {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"User Creation Status\", resp.data.Message);\r\n } else if(resp.data && resp.data.Message) {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"User Creation Status\", resp.data.Message);\r\n } else {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"User Creation Status\", \"Unable to create user, server is not responding correctly.\");\r\n }\r\n vm.isDisabled = false;\r\n }, function (error) {\r\n vm.isDisabled = false;\r\n if (error.data.ErrorCode == 104) {\r\n vm.showFailure(\"User Creation Status\", \"Unable to create user, server is not responding correctly.\");\r\n }\r\n else {\r\n vm.isDisabled = false;\r\n vm.showFailure(\"User Creation Status\", \"Unable to create user, server is not responding correctly.\");\r\n }\r\n }\r\n );\r\n }\r\n }\r\n } else {\r\n vm.signup_form.submitted = true;\r\n vm.isDisabled = false;\r\n }\r\n }\r\n\r\n vm.getAccounts = function () {\r\n CRMTeamFormCreationService.getAllAccounts(loggedinUser, token).then(function (resp) { \r\n if (resp && resp.data && resp.status==200) { \r\n vm.accounts = resp.data;\r\n } \r\n }, function () { \r\n });\r\n } \r\n vm.getAccounts();\r\n\r\n function clearFormFields() {\r\n vm.username = '';\r\n vm.gender = 'Male';\r\n vm.address = '';\r\n vm.email = '';\r\n vm.phone_number = '';\r\n vm.last_name = '';\r\n // vm.birth_date = '';\r\n vm.cores_address = '';\r\n vm.father_name = '';\r\n vm.alternate_number = '';\r\n vm.workArea = '';\r\n vm.city = '';\r\n // vm.reporting_to = '';\r\n vm.state = '';\r\n // vm.role = '';\r\n vm.skill = '';\r\n vm.selectedSkills = [];\r\n vm.expertise = '';\r\n vm.saveAndNewFlag = false;\r\n }\r\n\r\n var skillsArray = [];\r\n vm.getAllSkill = function () {\r\n CRMTeamFormCreationService.getAllSkills(loggedinUser, token).then(function (resp) {\r\n vm.skills = resp.data; \r\n for (var index = 0; index < vm.skills.length; index++) { \r\n skillsArray.push({\r\n skill: vm.skills.SkillName\r\n });\r\n }\r\n }); \r\n }\r\n\r\n vm.selectExpertise = function (skill) {\r\n // CRMTeamFormCreationService.getAllSkills().then(function (resp) {\r\n // vm.expertiseList = resp.data;\r\n // vm.expertiseList = [];\r\n if (!vm.skills) {\r\n var expertiseArray = [];\r\n expertiseArray.push({\r\n skill: vm.skills.SkillName\r\n });\r\n vm.expertiseList = expertiseArray;\r\n }\r\n }\r\n\r\n vm.selectedProduct = \"\";\r\n vm.selectedSkills = [];\r\n vm.ProductsList = [];\r\n\r\n vm.GetAllProductNames = function () {\r\n CRMTeamFormCreationService.GetAllProductNames(loggedinUser, token).then(function (resp) {\r\n vm.ProductsList = resp.data;\r\n }); \r\n }\r\n\r\n vm.GetAllProductNames();\r\n\r\n vm.GetAllSkillsForProduct = function () {\r\n if (vm.selectedProduct) {\r\n CRMTeamFormCreationService.GetAllSkillsForProduct(vm.selectedProduct, loggedinUser, token).then(function (resp) {\r\n vm.productSkills = resp.data;\r\n \r\n // Merge selected skills with the new product skills\r\n var allSkills = vm.productSkills.concat(vm.selectedSkills.filter(function(skill) {\r\n return !vm.productSkills.includes(skill);\r\n }));\r\n\r\n vm.productSkills = allSkills;\r\n })\r\n } else {\r\n vm.productSkills = [];\r\n } \r\n }\r\n\r\n ///get all the circles through api\r\n function getAllCircles() {\r\n vm.circles = [];\r\n vm.CircleList=[];\r\n vm.MainRegionList = '';\r\n if (vm.EnableRegion) {\r\n CRMTeamFormCreationService.GetRegion(loggedinUser,token).then(function(resp){\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length>0) {\r\n vm.MainRegionList = resp.data;\r\n $log.log('RegionList',vm.RegionList)\r\n }\r\n }\r\n })\r\n }else if (vm.LocationMapping == 'Circle') {\r\n CRMTeamFormCreationService.GetTelecomCircle(loggedinUser,token).then(function(resp){\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.values.length>0) {\r\n vm.CircleList = resp.data.values;\r\n \r\n }\r\n }\r\n })\r\n }else{\r\n\r\n CRMTeamFormCreationService.getAllState(loggedinUser, token).then(function(resp){\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length>0) {\r\n vm.circles = resp.data;\r\n }\r\n }\r\n });\r\n }\r\n \r\n }\r\n\r\n ///Executes when the user select the state\r\n vm.selectState = function (state) {\r\n var Getstate = state;\r\n CRMTeamFormCreationService.getCities(loggedinUser,Getstate,token).then(function (resp) {\r\n vm.cityList = resp.data;\r\n if (!resp.data) {\r\n var cityArray = [];\r\n cityArray.push({\r\n city: state\r\n });\r\n vm.cityList = cityArray;\r\n }\r\n }, function () {\r\n\r\n });\r\n }\r\n \r\n vm.selectSubRegion = function(region){\r\n \r\n CRMTeamFormCreationService.GetSubRegion(loggedinUser,token,region).then(function(resp){\r\n if (resp.status==200) {\r\n if (resp.data && resp.data.length>0) {\r\n vm.SubRegionList = resp.data;\r\n }\r\n }\r\n })\r\n }\r\n vm.selectCitySubRegion = function(Subregion){\r\n \r\n CRMTeamFormCreationService.GetCityBySubRegion(loggedinUser,Subregion,token).then(function(resp){\r\n if (resp.status==200) {\r\n if (resp.data && resp.data.length>0) {\r\n vm.SubCityList = resp.data;\r\n }\r\n }\r\n })\r\n }\r\n\r\n vm.selectStateforPresent = function (state) { \r\n var Getstate = state;\r\n CRMTeamFormCreationService.getCities(loggedinUser,Getstate,token).then(function (resp) {\r\n vm.presentcityList = resp.data;\r\n if (!resp.data) {\r\n var cityArray = [];\r\n cityArray.push({\r\n city: state\r\n });\r\n vm.cityList = cityArray;\r\n }\r\n }, function () {\r\n\r\n });\r\n }\r\n\r\n //state \r\n vm.getStateList = function (region) {\r\n CRMTeamFormCreationService.getState(loggedinUser, token, region).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.allStates = resp.data;\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n\r\n function getallCities(state) {\r\n ReferService.getAllCity(loggedinUser, state,token).then(function (resp) {\r\n vm.CityList = resp.data;\r\n });\r\n }\r\n vm.selectedState = function (state) {\r\n getallCities(state);\r\n }\r\n ///Executes when the user select the city\r\n vm.selectCity = function (city) {\r\n CRMTeamFormCreationService.getAllPincode(city).then(function (resp) {\r\n vm.pincodeList = resp.data;\r\n if (!resp.data) {\r\n var pincodeArray = [];\r\n pincodeArray.push({\r\n pincode: city\r\n });\r\n vm.pincodeList = pincodeArray;\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n vm.selectCityforPresent = function (loggedinUser, city) {\r\n CRMTeamFormCreationService.getAllPincode(loggedinUser, city.ID).then(function (resp) {\r\n vm.presentpincodeList = resp.data;\r\n if (!resp.data) {\r\n var pincodeArray = [];\r\n pincodeArray.push({\r\n pincode: city\r\n });\r\n vm.pincodeList = pincodeArray;\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n vm.removeAccountDetail = function (index) {\r\n vm.workAreas.splice(index,1); \r\n vm.getAllHDAccounts(); \r\n }\r\n\r\n vm.EditData=function(index){\r\n vm.SelectedAccount = vm.workAreas[index]; \r\n vm.territoryStates(vm.SelectedAccount.AccountId);\r\n vm.selectedStateForTerritory(vm.SelectedAccount.State);\r\n vm.selectedCityForTerritory(vm.SelectedAccount.City); \r\n }\r\n\r\n vm.AccountChange=function (){ \r\n for (var i = 0; i < vm.RemainingCHDAccounts.length; i++) {\r\n var Acc = vm.RemainingCHDAccounts[i];\r\n if(Acc.AccountName == vm.SelectedAccount.AccountName ) {\r\n vm.SelectedAccount.AccountId = Acc.AccountId;\r\n // vm.SelectedAccount = Acc; \r\n // break;\r\n }\r\n }\r\n vm.territoryStates(vm.SelectedAccount.AccountId);\r\n }\r\n vm.territoryStates = function (AccountId) {\r\n vm.AccountIDforTerritory = AccountId;\r\n CRMTeamFormCreationService.getTerritoryStates(loggedinUser, token,AccountId,vm.Role).then(function(resp) {\r\n vm.stateListTerritory = resp.data;\r\n if(resp.status == 200) {\r\n // vm.territoryCity();\r\n }\r\n })\r\n }\r\n\r\n vm.selectedStateForTerritory = function (state) {\r\n vm.territoryCity(state,vm.AccountIDforTerritory);\r\n }\r\n vm.territoryCity = function (state,AccountId) {\r\n vm.StateForTerritoryCity = state;\r\n CRMTeamFormCreationService.getTerritoryCity(loggedinUser, token,AccountId,state,vm.Role).then(function(resp) {\r\n vm.cityListTerritory = resp.data;\r\n if(resp.status == 200) {\r\n \r\n\r\n }\r\n })\r\n }\r\n\r\n vm.selectedCityForTerritory = function (City) {\r\n vm.territoryPincodes(City);\r\n }\r\n vm.uniPin = [];\r\n vm.territoryPincodes = function (City) {\r\n CRMTeamFormCreationService.getTerritoryPincodes(loggedinUser, token,vm.AccountIDforTerritory,vm.StateForTerritoryCity,City,vm.Role).then(function(resp) {\r\n // if(resp.status == 200) {\r\n vm.pinCodeListTerritory = resp.data;\r\n for (var i = 0; i < vm.workAreas.length; i++) {\r\n var Acc = vm.workAreas[i];\r\n if((Acc.City == City) && (Acc.AccountId ==vm.AccountIDforTerritory) && (Acc.State == vm.StateForTerritoryCity)) {\r\n for (var j = 0; j < vm.pinCodeListTerritory.length; j++) { \r\n var pinCodeUnique = vm.pinCodeListTerritory[j];\r\n for (var k = 0; k < Acc.PinCode.length; k++) { \r\n if( pinCodeUnique == Acc.PinCode[k]) {\r\n vm.pinCodeListTerritory.splice(j,1);\r\n // break; \r\n }\r\n }\r\n \r\n }\r\n }\r\n }\r\n // }\r\n })\r\n }\r\n\r\n vm.addMoreAccount = function(){\r\n vm.SelectedAccount=[]; \r\n vm.showEditList = true;\r\n vm.showAction = false;\r\n for (var i = 0; i < vm.workAreas.length; i++) {\r\n var Acc = vm.workAreas[i];\r\n for (var j = 0; j < vm.RemainingCHDAccounts.length; j++) { \r\n // console.log('acc = ' + Acc.AccountId + \" vm.RemainingCHDAccounts[j].AccountId \" + vm.RemainingCHDAccounts[j].AccountId + 'len ' + j) \r\n if(Acc.AccountId == vm.RemainingCHDAccounts[j].AccountId ) {\r\n // vm.RemainingCHDAccounts.splice(j,1); \r\n //break; \r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n //CHDAllaccounts\r\n vm.getAllHDAccounts = function ( ) {\r\n CRMTeamFormCreationService.getAllAccountsConfigured(loggedinUser, token).then(function (resp) { \r\n if (resp && resp.data){ \r\n if(resp.status==200){\r\n vm.CHDAccounts = resp.data;\r\n vm.RemainingCHDAccounts = vm.CHDAccounts;\r\n }\r\n } \r\n }, function () { \r\n });\r\n }\r\n\r\n vm.UpdateAllHDAccountConfig = function(index){ \r\n vm.showAction = true; \r\n var checkAccount = false;\r\n for (var i = 0; i < vm.workAreas.length; i++) {\r\n if(vm.SelectedAccount.PinCode == undefined) {\r\n vm.showFailure(\"Failed\", \"Please add Account details with Locations\");\r\n vm.workAreas[index].edit = true;\r\n }\r\n // vm.workAreas[i] == vm.SelectedAccount;\r\n // vm.workAreas[i].AccountSkillSet = vm.SelectedSkills;\r\n // vm.workAreas[i].AccountLocations = vm.SelectedLocations;\r\n // var Acc = vm.workAreas[i];\r\n // if(Acc.AccountName == vm.SelectedAccount.AccountName ) {\r\n // vm.workAreas[i] == vm.SelectedAccount;\r\n // checkAccount = true;\r\n // break;\r\n // }\r\n }\r\n if(checkAccount == false && index == undefined) { \r\n vm.SelectedAccountObj = Object.assign({}, vm.SelectedAccount); \r\n if(vm.SelectedAccountObj.AccountName && vm.SelectedAccountObj.State && vm.SelectedAccountObj.City && vm.SelectedAccountObj.PinCode) {\r\n vm.workAreas.push(vm.SelectedAccountObj);\r\n } \r\n else {\r\n vm.showFailure(\"Failed\", \"Please add Account details with Locations\");\r\n vm.workAreas[i].edit = true;\r\n \r\n } \r\n \r\n }\r\n else {\r\n var Acc = vm.workAreas[i];\r\n }\r\n vm.showEditList = false; \r\n }\r\n\r\n vm.getTicketStatus = function () {\r\n CRMTeamFormCreationService.GetTicketStatusForTerritory(loggedinUser, token).then(function(resp) {\r\n vm.statusList = resp.data;\r\n })\r\n }\r\n\r\n vm.GetAllNotAllocatedWareHouse = function ( ) {\r\n CRMTeamFormCreationService.GetAllNotAllocatedWareHouse(loggedinUser, token).then(function (resp) { \r\n if (resp && resp.data){ \r\n if(resp.status==200){\r\n vm.NotAllocatedWarehouses = resp.data;\r\n }\r\n } \r\n }, function () { \r\n });\r\n }\r\n\r\n vm.AllAvailableRegionList = [];\r\n vm.regionForRSM = \"\";\r\n // vm.GetAllAvailableRegion = function ( ) {\r\n // CRMTeamFormCreationService.GetAllAvailableRegion(loggedinUser, token).then(function (resp) { \r\n // if (resp && resp.data){ \r\n // if(resp.status==200){\r\n // vm.AllAvailableRegionList = resp.data;\r\n // }\r\n // } \r\n // }, function () { \r\n // });\r\n // }\r\n\r\n vm.GetAllRegionsByRole = function ( ) {\r\n var data = {\r\n \"ReportingToUserId\": vm.ReportingTo\r\n }\r\n CRMTeamFormCreationService.GetAllRegionsByRole(data,loggedinUser, token).then(function (resp) { \r\n if (resp && resp.data){ \r\n if(resp.status==200){\r\n vm.AllAvailableRegionList = resp.data;\r\n }\r\n } \r\n }, function () { \r\n });\r\n }\r\n\r\n vm.GetAllAvailableSubRegion = function ( ) {\r\n CRMTeamFormCreationService.GetAllAvailableSubRegion(vm.regionForRSM,loggedinUser, token).then(function (resp) { \r\n if (resp && resp.data){ \r\n if(resp.status==200){\r\n vm.AllAvailableSubRegionList = resp.data;\r\n }\r\n } \r\n }, function () { \r\n });\r\n }\r\n\r\n vm.checkIftheRegionIsAvailable = function(){\r\n if(vm.Role == 'Regional Service Manager'){\r\n angular.forEach(vm.AllAvailableRegionList, function(d) {\r\n if(d.Region === vm.regionForRSM) {\r\n if(!d.IsAvailable){\r\n var confirmation = confirm(\"This region is already assigned to \" + d.UserName +'('+ d.UserId + ')'+ \". Do you still want to assign this region?\");\r\n if(!confirmation) {\r\n vm.regionForRSM = \"\";\r\n }\r\n }\r\n else{\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n \r\n vm.checkIftheSubRegionIsAvailable = function() {\r\n angular.forEach(vm.subRegionForBSM, function(selectedSubRegion, index) {\r\n angular.forEach(vm.AllAvailableSubRegionList, function(d) {\r\n if (d.SubRegion === selectedSubRegion) {\r\n if (!d.IsAvailable) {\r\n var confirmation = confirm(\"This sub-region is already assigned to \" + d.UserName +'('+ d.UserId + ')'+ \". Do you still want to assign this sub-region?\");\r\n if (!confirmation) {\r\n vm.subRegionForBSM.splice(index, 1);\r\n }\r\n }\r\n }\r\n });\r\n });\r\n };\r\n \r\n\r\n // vm.GetAllAvailableRegion();\r\n vm.GetAllNotAllocatedWareHouse();\r\n vm.getAllHDAccounts(); \r\n vm.getAllSkill();\r\n vm.getStateList(\"INDIA\");\r\n vm.getTicketStatus();\r\n }\r\n});\r\n\nangular.module('inspinia').service('CRMManualAssignationJobService',function(ApiURL,$window, PublicApiURL,ActivityURL,LocationURL,$http, FreelancerURL, SchedulingAPI){\r\n var vm = this;\r\n\r\n vm.setShowSuccess = function (success) {\r\n vm.showSuccess = success;\r\n}\r\n\r\nvm.setShowFailure = function (failure) {\r\n vm.showFailure = failure;\r\n}\r\n//http://192.168.0.80:92/CoreAPI/api/Ticket/new/byStatus?reqUserId=kanika.bansal%40innotiontech.com\r\nthis.GetTicketsByStatus = function (status,loggedinUser, token) {\r\n var url = ApiURL + '/api/Ticket/'+status+'/byStatus?reqUserId='+loggedinUser;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\nthis.GetActiveUser = function (status,loggedinUser, token) {\r\n var url = ApiURL + '/api/Ticket/'+status+'/byStatus?reqUserId='+loggedinUser;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\n//Get all freelancers\r\n//http://192.168.0.80:92/FreelancerAPI/api/FreeLancerUser/kanika.bansal%40innotiontech.com/GetAllUsers\r\n// https://login.mymobiforce.com/FreelancerAPI/api/FreelancerUser/GetUserDetailsforSupervisior\r\nthis.GetListAllFreelancers = function (data,loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreelancerUser/GetUserDetailsforSupervisior';\r\n return $http.put(url,data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\n//http://192.168.0.80:92/FreelancerAPI/api/FreeLancerUser/Kanika.bansal%40innotiontech.com/GetAllFreLancerWithFilters?itemNames=UserStatus%2CRole&itemValues=Active%2CField%20Engineer\r\nthis.GetAllFreelancersWithFilters = function (loggedinUser,itemNames,itemValues, token) {\r\n var url = FreelancerURL + '/api/FreeLancerUser/'+loggedinUser+'/GetAllFreLancerWithFilters?itemNames=' + itemNames + '&itemValues=' + itemValues;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\n// url = https://product.mymobiforce.com/schedulingAPI/api/AutoJobBroadcast/BroadcastJobsManualMode\r\nthis.AutoBroadcastAllNewJobsManualMode = function (loginUserId, ticketIds, token) { \r\nvar url = SchedulingAPI + '/api/AutoJobBroadcast/BroadcastJobsManualMode';\r\nreturn $http.post(url,ticketIds,{\r\n headers:{'Content-Type':'application/json','Token':token, 'UserId':loginUserId}\r\n});\r\n\r\n/*var url = SchedulingAPI + 'api/AutoJobBroadcast/BroadcastJobsManualMode'; \r\nreturn $http.post(url, ticketIds, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loginUserId\r\n }\r\n});*/\r\n}\r\n\r\nthis.PullBackJob = function (loginUserId, ticketIds, token) { \r\nvar url = ApiURL + '/api/Ticket/PullBackFromDispatchSupervisor';\r\nreturn $http.put(url,ticketIds,{\r\n headers:{'Content-Type':'application/json','Token':token, 'UserId':loginUserId}\r\n});\r\n}\r\n\r\nthis.callToTechnicianApi = function (loggedinUser,userid,token) {\r\n$http.get(ApiURL + '/api/CallPatching/ClickToCallFieldTeam?userId='+userid,\r\n { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':loggedinUser } }).then(function (resp) {\r\n if (resp && resp.data) {\t \r\n if(resp.status==200)\r\n {\r\n vm.showSuccess(\"Success\",\"Call Initiated\"); \r\n }\r\n else {\r\n vm.showFailure(\"Failed\");\r\n }\r\n }\r\n});\r\n}\r\n\r\nthis.callToTechnicianInBroadcastState = function (loggedinUser,userid,TicketId,token) {\r\n $http.get(ApiURL + '/api/CallPatching/ClickToCallFieldTeamInTicketBroadcastState?userId='+userid+'&TicketId='+TicketId,\r\n { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':loggedinUser } }).then(function (resp) {\r\n if (resp && resp.data) {\t \r\n if(resp.status==200)\r\n {\r\n vm.showSuccess(\"Success\",\"Call Initiated\"); \r\n }\r\n else {\r\n vm.showFailure(\"Failed\");\r\n }\r\n }\r\n });\r\n }\r\n \r\n this.GetAllWorkOrderJob = function (loggedinUser,ticketId, token) { \r\n var url = ApiURL + '/api/Ticket/GetAllWorkOrderJob?TicketId=' + ticketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n\r\n\r\nthis.getAccounts = function (loggedinUser, token, callback, failure) {\r\n var url = ApiURL + '/api/account/GetAllAccountsMiniModel';\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json', 'Token': token,'UserId': loggedinUser } }).then(function (res) {\r\n if(callback){\r\n callback(res.data);\r\n }\r\n }, function () {\r\n failure(\"skills\", \"Unable to get accounts\");\r\n });\r\n}\r\n\r\n//http://192.168.0.80:92/CoreAPI/api/User/Kanika/byReportingToWithJobCount?reqUserId=kanika.bansal%40innotiontech.com\r\nthis.GetTicketsById = function (ticketId,loggedinUser, token) {\r\n var url = ApiURL + '/api/Ticket/'+ticketId+'/'+loggedinUser+'/byTicketId';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\nthis.GetAllSkills = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json', 'Token': token, 'UserId': loggedinUser}\r\n });\r\n}\r\n\r\n//https://product.mymobiforce.com/CoreAPI/api/TicketRemarkOnStatus/getTicketRemarkOnStatus?AtStatus=FollowUp\r\nthis.GetReasonsByStatus = function (loggedinUser, token, status) {\r\n var url = ApiURL + '/api/TicketRemarkOnStatus/getTicketRemarkOnStatus?AtStatus='+status;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json', 'Token': token, 'UserId': loggedinUser}\r\n });\r\n}\r\n\r\n//Get Tickets by filter\r\n//http://192.168.0.80:92/CoreAPI/api/Ticket/kanika.bansal%40innotiontech.com/TicketStatus/Broadcasted/GetTicketsByUser\r\n//https://test.mymobiforce.com/coreapi/api/Ticket/reqUserId/GetTicketsForAssignation?itemNames=itemNames&itemValues=itemValues\r\n\r\nthis.GetTicketsByFilter = function(loggedinUser,itemNames,itemValues, token){\r\n var url = ApiURL + '/api/Ticket/' + loggedinUser + '/GetTicketsForAssignation?itemNames=' + itemNames + '&itemValues=' + itemValues;\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser}\r\n })\r\n}\r\n\r\n//Get Users By Filter\r\n\r\n//\r\n// http://192.168.0.80:92/CoreAPI/api/User/kanika.bansal%40innotiontech.com/UserStatus/Active/getusersbyfilters\r\nthis.GetUsersByFilter = function(loggedinUser,itemNames,itemValues, token){\r\nvar url = ApiURL + '/api/User/' + loggedinUser + '/' + itemNames + '/' + itemValues + '/getusersbyfilters'\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser}\r\n })\r\n}\r\n\r\n//Assign Tickets\r\n//http://192.168.0.80:92/CoreAPI/api/Ticket/ass/asd/asd/AssignTicket\r\nthis.AssignTickets = function(userId,loggedinUser,ticketList, token){\r\n // var TicketId = ticketList.split(',');\r\n var url = ApiURL + '/api/Ticket/' + userId + '/' + loggedinUser + '/AssignTicketToDispatchSupervisor'\r\n return $http.put(url,ticketList, {\r\n headers:{'Content-Type':'application/json','Token':token,\r\n 'UserId': loggedinUser\r\n }\r\n })\r\n}\r\n\r\n\r\n// Bid Recieved Api\r\n// http://192.168.0.80:92/FreelancerAPI/api/BID/T0000000039/Received/kanika.bansal@innotiontech.com/byStatus\r\nthis.GetBidReceivedByStatus = function(loggedinUser,ticketId,status, token){\r\n var url = FreelancerURL + '/api/BID/GetLeadsByStatus?TicketId' + '=' + ticketId +'&'+ 'leadStatus' + '=' + status\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser}\r\n })\r\n}\r\n\r\n//bid deny https://product.mymobiforce.com/freelancerAPI/api/BID/GetLeadsByStatus?TicketId=T1140000016977&leadStatus=Deny\r\nthis.GetBidDeny = function(loggedinUser,ticketId,status, token){ \r\n var url = FreelancerURL + '/api/BID/GetLeadsByStatus?TicketId' + '=' + ticketId +'&'+ 'leadStatus' + '=' + status\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser}\r\n })\r\n}\r\n//https://product.mymobiforce.com/FreelancerAPI/api/BID/GetLeadsByStatus?TicketId=T1140000091078&leadStatus=Sent&filter=Online\r\n//https://product.mymobiforce.com/freelancerAPI/api/BID/GetLeadsByStatus?TicketId=T1140000016977&leadStatus=Sent\r\nthis.GetBidSentByStatus = function(loggedinUser,ticketId,status,token,userfilter){ \r\n var url = FreelancerURL + '/api/BID/GetLeadsByStatus?TicketId' + '=' + ticketId +'&'+ 'leadStatus' + '=' + status +'&'+ 'filter' + '=' + userfilter\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser}\r\n })\r\n}\r\n\r\nthis.GetFeedbackByUserId = function(loggedinUser,token,userid){ \r\n var url = FreelancerURL + '/api/BID/GetFeedbackByUserId?UserId='+ userid;\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser}\r\n })\r\n}\r\n\r\n//http://192.168.0.80:92/FreelancerAPI/api/BID/akshit.chauhan%40innotiontech.com/TicketStatus/Broadcasted/getjobsbyfilter\r\nthis.GetBroadcastedBids = function (loggedinUser, itemNames,itemValues, token) {\r\n var url = FreelancerURL + '/api/BID/'+loggedinUser+'/' + itemNames + '/'+ itemValues + '/getjobsbyfilter';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\n//Assign Bids\r\n//http://192.168.0.80:92/FreelancerAPI/api/BID/kanika.bansal%40innotiontech.com/T0000000040/pri/acceptBIDAssignJob?jobAssignRate=100&jobAssignGrossRate=0\r\nthis.AssignReceivedBid = function (loggedinUser, ticketId, userId, token) {\r\n var url = FreelancerURL + '/api/BID/'+loggedinUser+'/' + ticketId + '/' + userId + '/acceptBIDAssignJob';\r\n return $http.put(url,{}, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\n//BroadCast Jobs/Bids\r\n //http://192.168.0.80:92/FreelancerAPI/api/BID/createbidforselectedteam?reqUserId=asdasd\r\n\r\nthis.BroadCastJobs = function(loggedinUser,data, token){\r\n var url = FreelancerURL + '/api/BID/createbidforselectedteam?reqUserId=' + loggedinUser;\r\n return $http.post(url,data,{\r\n headers:{\r\n 'Content-Type':'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\n//Get Users By Role\r\n//http://115.124.122.225/coreapi/api/User/Supervisor/byRole?reqUserId=satyendratiwari124%40gmail.com\r\n//http://192.168.0.80:92/CoreAPI/api/User/Supervisor/SkillSet/AC%20Repair/byRole?reqUserId=Kanika.bansal%40innotiontech.com\r\nthis.GetUsersByRole = function (loggedinUser, role, itemNames,itemValues, token) {\r\n var url = ApiURL + '/api/User/'+role+ '/' + itemNames+ '/'+ itemValues+'/byRole?reqUserId=' + loggedinUser;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\n//Get All Vendor\r\n//http://192.168.0.80:92/CoreAPI/api/Vendor/kanika.bansal%40innotiontech.com/getallvendors\r\n\r\n//http://192.168.0.80:92/CoreAPI/api/Vendor/Kanika.bansal%40innotiontech.com/VendorLocations/Maharashtra/getvendorsbyfilters\r\nthis.GetAllVendors = function (loggedinUser,itemNames,itemValues, token) {\r\n var url = ApiURL + '/api/Vendor/'+ loggedinUser + '/' + itemNames + '/' +itemValues+ '/getvendorsbyfilters'\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\n\r\nthis.GetFreelancerVendorsByFilters = function (loggedinUser,itemNames,itemValues, token) {\r\n var url = ApiURL + '/api/Vendor/'+ loggedinUser + '/' + itemNames + '/' +itemValues+ '/getfreelancervendorsbyfilters'\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n// https://perf.mymobiforce.com/coreapi/api/Vendor/U350000000001/VendorStatus/Active/getfixedvendorsbyfilters\r\nthis.GetFixedVendorsByFilters = function (loggedinUser,itemNames,itemValues, token) {\r\n var url = ApiURL + '/api/Vendor/'+ loggedinUser + '/' + itemNames + '/' +itemValues+ '/getfixedvendorsbyfilters'\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\n//http://192.168.0.80:92/CoreAPI/api/Ticket/ankur.sharma%40innotiontech.com/byUserId?reqUserId=akshit.chauhan%40innotiontech.com\r\n\r\nthis.GetTicketsByUserId = function(loggedinUser,UserId, token){\r\n var url = ApiURL + '/api/Ticket/' + UserId + '/byUserId?reqUserId=' + loggedinUser;\r\n return $http.get(url,{\r\n headers:{\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\n// https://perf.mymobiforce.com/freelancerapi/api/BID/CreateRoutingBid?reqUserId=U350000000001\r\nthis.RouteJobsforUser = function(loggedinUser,data, token){\r\n var url = FreelancerURL + '/api/BID/CreateRoutingBid?reqUserId=' + loggedinUser;\r\n return $http.post(url,data,{\r\n headers:{\r\n 'Content-Type':'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\nthis.getAllStateTech = function (loggedinUser,token) {\r\n var url = PublicApiURL + '/api/Location/GetSubRegion?userId='+loggedinUser+'®ion=INDIA';\r\n return $http.get(url,{\r\n headers:{\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\n\r\nthis.ProcessJobToBeAssignedManually = function(ticketIDs, loggedInUserId, token){\r\n var url = ApiURL + '/api/BatchProcessing/ProcessJobToBeAssignedManually';\r\n return $http.post(url, ticketIDs, \r\n { \r\n headers: { 'Content-Type': 'application/json','Token':token, 'UserId': loggedInUserId} \r\n })\r\n }\r\n\r\n// https://product.mymobiforce.com/coreapi/api/Ticket/TicketRejectionHistory?TicketId=T1140000092053\r\n\r\nthis.getRejectHistory = function (TicketId, loggedinUser, token) { \r\nvar url = ApiURL + '/api/Ticket/TicketRejectionHistory?TicketId=' + TicketId;\r\nreturn $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n }\r\n \r\n});\r\n}\r\n\r\n//http://localhost:56749/api/User/GetUserByFiltersWithDynaPage?itemNames=SkillSet%2CLocations%2CRole&itemValues=EMF%20Survey%7CGeneral_Electrician%2CBIHAR%7CUTTAR%20PRADESH%2CField Engineer&userType=Freelancer&DateField=CreatedOn&PageIndex=0&PageSize=10\r\nthis.GetUserByFiltersWithDynaPage = function (loggedinUser,token,itemNames,itemValues,userType,userAvailableStatus,DateField,PageIndex,PageSize) {\r\nvar url = '';\r\nurl = ApiURL + '/api/User/GetUserByFiltersWithDynaPageForCHDAccount?itemNames=' + itemNames + '&itemValues=' + itemValues + '&userType=' + userType+ '&userAvailableStatus=' + userAvailableStatus + '&DateField=' + DateField + '&PageIndex=' + PageIndex + '&PageSize=' + PageSize;\r\nreturn $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n});\r\n}\r\n\r\n//https://product.mymobiforce.com/coreapi/api/Ticket/GetTicketsForAssignationByCHDAccount?fromDate=2021-06-01&toDate=2021-06-10&reqUserId=U00000000412&itemNames=Search&itemValues=J009&textItemNames=&textItemValues=&templateCols=&templateItemNames=&templateItemValues=&DateField=CreatedOn&PageIndex=1&PageSize=10\r\nthis.getAllJobTickets = function (supervisorId, startDate, endDate, token, itemNames,itemValues,textItemNames,textItemValues,templateCols,templateItemNames,templateItemValues,DateField,PageIndex,PageSize,SortType,SortField) {\r\n var url = '';\r\n url = ApiURL + '/api/Ticket/GetTicketsbyDateRangeWithDynaPagingForCHDDashboard?fromDate=' + startDate + '&toDate=' + endDate+ '&reqUserId=' + supervisorId + '&itemNames=' + itemNames + '&itemValues=' + itemValues + '&textItemNames=' + textItemNames + '&textItemValues=' + textItemValues +'&templateCols='+templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues+ '&DateField=' + DateField + '&PageIndex=' + PageIndex + '&PageSize=' + PageSize+ '&SortType=' + SortType+ '&SortField=' + SortField;\r\n // url = ApiURL + '/api/Ticket/GetTicketsbyDateRange?fromDate=' + startDate + '&toDate=' + endDate+ '&reqUserId=' + supervisorId + '&itemNames=' + itemNames + '&itemValues=' + itemValues+'&templateCols='+templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues + '&DateField=' + DateField;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': supervisorId\r\n }\r\n });\r\n }\r\n \r\n this.getAllJobTicketsCopyForPagging = function (supervisorId, startDate, endDate, token, itemNames,itemValues,textItemNames,textItemValues,templateCols,templateItemNames,templateItemValues,DateField,PageIndex,PageSize,SortType,SortField) {\r\n var url = '';\r\n url = ApiURL + '/api/Ticket/GetTicketsbyDateRangeWithDynaPagingForCHDListing?fromDate=' + startDate + '&toDate=' + endDate+ '&reqUserId=' + supervisorId + '&itemNames=' + itemNames + '&itemValues=' + itemValues + '&textItemNames=' + textItemNames + '&textItemValues=' + textItemValues +'&templateCols='+templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues+ '&DateField=' + DateField + '&PageIndex=' + PageIndex + '&PageSize=' + PageSize+ '&SortType=' + SortType+ '&SortField=' + SortField;\r\n // url = ApiURL + '/api/Ticket/GetTicketsbyDateRange?fromDate=' + startDate + '&toDate=' + endDate+ '&reqUserId=' + supervisorId + '&itemNames=' + itemNames + '&itemValues=' + itemValues+'&templateCols='+templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues + '&DateField=' + DateField;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': supervisorId\r\n }\r\n });\r\n }\r\n\r\n//http://localhost:56749/api/Ticket/GetAssignedTicketforUser?UserId=U400000000395&reqUserId=U00000000079\r\nthis.GetAssignedTicketforUser = function(UserId,loggedinUser,token){\r\nvar url = ApiURL + '/api/Ticket/GetAssignedTicketforUser?UserId=' + UserId;\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser}\r\n })\r\n }\r\n\r\n this.GetJobTicket = function (ticketId, token) {\r\n var url = ApiURL + '/api/Ticket/' + ticketId + '/' + $localStorage.loggedInUserId + '/byTicketId';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId':$localStorage.loggedInUserId\r\n }\r\n });\r\n}\r\n\r\nthis.GetSchedulingEvaluationResult = function(data,reqUserId,token){\r\n var url = SchedulingAPI + '/api/AssistedScheduling/GetFavoriteFR?reqUserId='+reqUserId;\r\n return $http.post(url,data,{\r\n headers:{'Content-Type':'application/json','Token':token, 'UserId':reqUserId}\r\n });\r\n}\r\n\r\n // https://perf.mymobiforce.com/schedulingapi/api/AssistedScheduling/GetFavoriteFR?reqUserId=U400000000001\r\n this.GetAllPrefereTalentPool = function(data,reqUserId,token){\r\n var url = SchedulingAPI + '/api/AssistedScheduling/GetPreWorkedWith?reqUserId='+reqUserId;\r\n return $http.post(url,data,{\r\n headers:{'Content-Type':'application/json','Token':token, 'UserId':reqUserId}\r\n });\r\n }\r\n\r\n // https://perf.mymobiforce.com/schedulingapi/api/AssistedScheduling/GetPreWorkedWith?reqUserId=U400000000001\r\n this.GetAllTechnician = function(data,reqUserId,token){\r\n var url = SchedulingAPI + '/api/AssistedScheduling/GetSchedulingEvaluationResult?reqUserId='+reqUserId;\r\n return $http.post(url,data,{\r\n headers:{'Content-Type':'application/json','Token':token, 'UserId':reqUserId}\r\n });\r\n }\r\n\r\n this.BroadCastJobsforUser = function(loggedinUser,data, token){\r\n var url = FreelancerURL + '/api/BID/createBidFromAssistedScheduling?reqUserId=' + loggedinUser;\r\n return $http.post(url,data,{\r\n headers:{\r\n 'Content-Type':'application/json',\r\n 'Token': token, 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.AcceptJob = function (data, token, loggedInUserId, success, failure) { \r\n var url = ApiURL + '/api/Ticket/updatestatus';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.getPdfReport = function(loggedinUser, ticketID, token){\r\n var url = ApiURL + '/api/Report/GeneratePdfReportForApprovedJob?TicketId=' +ticketID;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GeneratePdfJobSheet = function(loggedinUser, ticketID, token){\r\n var url = ApiURL + '/api/Report/GeneratePdfJobSheet?TicketId=' + ticketID;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.PullBackTicket = function (loggedInUserId, ticketId, token) {\r\n var url = ApiURL + '/api/Ticket/' + loggedInUserId + '/' + ticketId + '/returnticket';\r\n return $http.put(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n })\r\n }\r\n\r\n this.RejectJob = function (data, token, loggedInUserId, success, failure) { \r\n var url = ApiURL + '/api/Ticket/updatestatus';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.ConvertToNewJob = function (data, token, loggedInUserId, success, failure) { \r\n var url = ApiURL + '/api/Ticket/updatestatus';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.UpdateHoldingStatus = function (loggedInUserId, ticketId, holdingStatus,reason,Remark, token) {\r\n var url = ApiURL + '/api/Ticket/' + loggedInUserId + '/' + ticketId + '/ticketholding?HoldingStatus=' + holdingStatus +'&Reason=' + reason+ '&Remark='+ Remark;\r\n return $http.put(url,{}, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n })\r\n }\r\n\r\n this.downloadOnSiteReport = function ( loggedInUserId, token,TicketId) { \r\n var url = ApiURL + '/api/Report/GeneratePdfOnSiteReport?TicketId=' + TicketId;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedInUserId \r\n }\r\n \r\n });\r\n }\r\n\r\n this.GetCancellationReasons = function (AuditTicketId,status, loggedInUserId,token) {\r\n var url = '';\r\n url = ApiURL + '/api/TicketCancelationReasonController/'+loggedInUserId+'/getCancellationReasons?AtStatus=' + status + '&TicketId=' + AuditTicketId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetPullBacknReasons = function (loggedInUserId,token) {\r\n var url = '';\r\n url = ApiURL + '/api/TicketRemarkOnStatus/getTicketRemarkOnStatus?AtStatus=' + 'PullBack';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetUserFeedbackOption = function (loggedInUserId,token) {\r\n var url = '';\r\n url = ApiURL + '/api/TicketRemarkOnStatus/getTicketRemarkOnStatus?AtStatus=' + 'userfeedback';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.GetUserByReportingTo = function (loggedInUserId,token) {\r\n var url = '';\r\n url = ApiURL + '/api/TerritoryMappingUser/GetUserByReportingTo';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n\r\n this.PullBackTicketFromTechnician = function (CancellationReasonsModel, loggedInUserId, token) {\r\n var url = ApiURL + '/api/Ticket/PullBackTicketFromTechnician';\r\n return $http.put(url, CancellationReasonsModel, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n // https://testg2.mymobiforce.com/coreapi/api/UserCallInputs/UserDataUpdateRequest\r\n\r\n this.UserDataUpdateRequest = function (data, loggedInUserId, token) {\r\n var url = ApiURL + '/api/UserCallInputs/UserDataUpdateRequest';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.UserPenaltyUpdate = function (data, loggedInUserId, token) {\r\n var url = ApiURL + '/api/BonusPenalty/ApplyPaneltyForUser';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n this.UpdateJobServerCancel = function (CancellationReasonsModel, loggedInUserId, token) {\r\n var url = ApiURL + '/api/Ticket/UpdateJobServerCancel';\r\n return $http.put(url, CancellationReasonsModel, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.SendCancelCodeToCustomer = function (SendCodeModel, loggedInUserId, token) {\r\n var url = ApiURL + '/api/Ticket/SendCancelCodeToCustomer';\r\n return $http.put(url, SendCodeModel, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.CancelTicket = function(loggedInUserId,ticketId, token){\r\n var url = ApiURL + '/api/Ticket/CancelTicket?reqUserId='+loggedInUserId +'&TicketId='+ticketId;\r\n return $http.put(url,null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n // this.TBCCancelationAudit = function(TBCCancelationModel,ticketId,loggedInUserId, token){\r\n // var url = ApiURL + '/api/Ticket/UpdateJobAudit?TicketId='+ticketId +'&AuditValue='+TBCCancelationModel;\r\n // return $http.put(url,null, {\r\n // headers: {\r\n // 'Content-Type': 'application/json',\r\n // 'Token': token,\r\n // 'UserId': loggedInUserId\r\n // }\r\n // });\r\n // }\r\n\r\n this.TBCCancelationAudit = function(data,loggedInUserId, token){\r\n var url = ApiURL + '/api/Ticket/UpdateJobAudit';\r\n return $http.put(url,data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n });\r\n }\r\n\r\n this.updateTicketSettlement = function (data, token, loggedInUserId, success, failure) {\r\n \r\n var url = ApiURL + \"/api/Ticket/setsettlementstatus\"\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedInUserId\r\n }\r\n }).then(success, function (error) {\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.UpdateFollowUpReason = function(data,files, token, loggedInUserId, success, failure){ \r\n var formdata = new FormData();\t\t\r\n formdata.append(\"files\", files[0]);\t\r\n var followupdata = JSON.stringify(data);\r\n formdata.append(\"ActivityModel\", followupdata);\r\n \r\n var url = ActivityURL + '/api/Activity/FollowUpWithReason';\r\n return $http.post(url,formdata,{\r\n headers:{'Content-Type':undefined,'Token':token,'UserId': loggedInUserId }\r\n }).then(success, function(error){\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n this.TicketFollowUpWithoutDoc = function(data, token, loggedInUserId, success, failure){ \r\n var formdata = new FormData();\t\t\r\n var followupdata = JSON.stringify(data);\r\n formdata.append(\"ActivityModel\", followupdata);\r\n \r\n var url = ActivityURL + '/api/Activity/FollowUpWithReason';\r\n return $http.post(url,formdata,{\r\n headers:{'Content-Type':undefined,'Token':token,'UserId': loggedInUserId }\r\n }).then(success, function(error){\r\n failure(\"Failed\", \"Job status is not updated. Server is not responding correctly.\")\r\n });\r\n }\r\n\r\n this.getCustomerJobCardbyJobId = function(accountId, jobId, token ,success, failure){\r\n $http.get(ApiURL+\"/api/GetCustomerJobCardbyJobId/\"+jobId+\"/\"+accountId+\"/GetCustomerJobCardbyJobId\", {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': accountId\r\n }\r\n }).then(function(res){\r\n if(res && res.data && success){\r\n success(res.data);\r\n } else if(failure){\r\n failure();\r\n }\r\n });\r\n }\r\n\r\n this.AddSiteAuditwithAttachment = function(data, files, token, loggedinUser){ \r\n var formdata = new FormData();\t\t\r\n formdata.append(\"files\", files[0]);\t\r\n var followupdata = JSON.stringify(data);\r\n formdata.append(\"AuditRequestModel\", followupdata);\r\n formdata.append(\"reqUserId\", loggedinUser);\r\n var url = ApiURL + '/api/Upload/PostMediaFileWithAuditObject';\r\n return $http.post(url,formdata,{\r\n headers:{'Content-Type':undefined,'Token':token, 'UserId': loggedinUser}\r\n });\r\n }\r\n \r\nthis.getFixedUserInfo = function(userId, loggedInUser, token){\r\n var url = FreelancerURL + '/api/FreeLancerUser/' + userId +'/'+ loggedInUser+ '/'+ 'byUserIdWithJobCount' ;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n })\r\n}\r\n\r\nthis.getJobsByUserId=function(status,userId,loggedinUser, token,PageIndex,PageSize,OrderBy,SortType){\r\n var url =ApiURL + \"/api/CallPatching/\" +userId+ \"/\"+status+\"/byUserIdStatusforCHDWithDynPaging?\"+ 'PageIndex=' + PageIndex + '&PageSize=' + PageSize+ '&OrderBy=' + OrderBy + '&SortType=' + SortType;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, \r\n 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n\r\n\r\nthis.ResolveException = function (loggedinUser,ticketId, token) {\r\n var url = SchedulingAPI + '/api/AutoSchedulerException/MarkResolveSchedulerExceptionForTicket?reqUserId=' + loggedinUser; \r\n return $http.put(url, {'exceptionIdList':ticketId}, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token , 'UserId':loggedinUser\r\n }\r\n });\r\n}\r\n\r\n\r\n\r\nthis.GetFreelancerJobs = function(userId, loggedinUser, token){\r\n var url = FreelancerURL + '/api/FreelancerTicket/' + userId + '/' + loggedinUser + '/ByUserId'\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token, 'UserId':loggedinUser}\r\n });\r\n}\r\n\r\nthis.ResolveException = function (loggedinUser,ticketId, token) {\r\n var url = SchedulingAPI + '/api/AutoSchedulerException/MarkResolveSchedulerExceptionForTicket?reqUserId=' + loggedinUser; \r\n return $http.put(url, {'exceptionIdList':ticketId}, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token , 'UserId':loggedinUser\r\n }\r\n });\r\n}\r\n\r\nthis.ConvertJobIntoNew = function (MoveSPDbyTwoDays,IsCommissionDetect,PullBackReason,loggedinUser,ticketId, token) { \r\n var url = ApiURL + '/api/Ticket/ConvertToNewFromBroadcasted?PullBackReason=' + PullBackReason + '&MoveSPDbyTwoDays=' + MoveSPDbyTwoDays + '&IsCommissionDetect=' + IsCommissionDetect;\r\n return $http.post(url,ticketId, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token , 'UserId':loggedinUser\r\n }\r\n });\r\n}\r\n\r\nthis.GetCustomersByAccount = function (loggedinUser, accountId, token) {\r\n var url = ApiURL + '/api/Customer/GetCustomerByAccountId?accountId=' + accountId\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json','Token':token,'UserId': loggedinUser }\r\n })\r\n}\r\n\r\nthis.getAllAccounts = function (loggedinUser,token) { \r\n var url = ApiURL+ '/api/CentralHelpDesk/GetAllAccountHDConfig';\r\n return $http.get(url, {\r\n headers: { \r\n 'Content-Type': 'application/json',\r\n 'Token':token , \r\n 'UserId':loggedinUser\r\n \r\n }\r\n });\r\n}\r\n\r\nthis.convertScheduleException = function (ticket,loggedinUser,token) { \r\n var url = SchedulingAPI + '/api/AutoSchedulerException/MarkTicketToScheduleException';\r\n return $http.put(url,ticket, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token , 'UserId':loggedinUser\r\n }\r\n });\r\n}\r\n\r\n this.CreateJobBundle = function(loggedinUser,data, IsSuggested, token){\r\n var url = ApiURL + '/api/JobBundle/CreateJobBundle?IsSuggested=' + IsSuggested;\r\n return $http.post(url,data,{\r\n headers:{\r\n 'Content-Type':'application/json',\r\n 'Token': token, \r\n 'UserId':loggedinUser\r\n }\r\n });\r\n}\r\n\r\n this.UnBundleJobs = function(loggedinUser,data, token){\r\n var url = ApiURL + '/api/JobBundle/UnBundleJobs';\r\n return $http.put(url,data,{\r\n headers:{\r\n 'Content-Type':'application/json',\r\n 'Token': token, \r\n 'UserId':loggedinUser\r\n }\r\n });\r\n}\r\n\r\nthis.RouteBundlesforUser = function(loggedinUser,data, token){\r\n var url = FreelancerURL + '/api/BID/CreateRoutingBidForBundle?reqUserId=' + loggedinUser;\r\n return $http.post(url,data,{\r\n headers:{\r\n 'Content-Type':'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\nthis.BroadcastJobBundle = function(loggedinUser,data, token){\r\n var url = FreelancerURL + '/api/BID/BroadcastJobBundle?reqUserId=' + loggedinUser;\r\n return $http.post(url,data,{\r\n headers:{\r\n 'Content-Type':'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\n this.BroadCastBundlesforUser = function(loggedinUser,data, token){\r\n var url = FreelancerURL + '/api/BID/ScheduleBundleWithAssistedScheduling?reqUserId=' + loggedinUser;\r\n return $http.post(url,data,{\r\n headers:{\r\n 'Content-Type':'application/json',\r\n 'Token': token, 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n\r\nthis.GetAllBundledJobs = function(loggedinUser, bundleJobId, token){\r\n var url = ApiURL + '/api/JobBundle/GetAllBundledJobs?bundleJobId=' + bundleJobId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\nthis.getJobsSuggestion=function(loggedinUser, token,startDate, endDate, itemNames, itemValues){\r\n var url =ApiURL + \"/api/JobBundle/GetSuggestedJobByUser?\"+ 'fromDate=' + startDate + '&toDate=' + endDate+ '&itemNames=' + itemNames + '&itemValues=' + itemValues;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, \r\n 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.getAllCustomers = function(loginUserId,token) {\r\n var url = ApiURL + '/api/Customer?reqUserId=' +loginUserId;\r\n return $http.get(url,{\r\n headers:{ 'Content-Type' : 'application/json','Token':token,'UserId': loginUserId }\r\n });\r\n }\r\n \r\n this.GetAllProjects = function (loginUserId, token) {\r\n var url = ApiURL + '/api/Project/' + loginUserId + '/' + loginUserId + '/GetProjectsByUserId'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json','Token':token,'UserId': loginUserId }\r\n })\r\n } \r\n\r\n this.GetTicketDetailsBySuggestion=function(loggedinUser, token,startDate, endDate, itemNames, itemValues){\r\n var url =ApiURL + \"/api/JobBundle/GetTicketDetailsBySuggestion?\"+ 'fromDate=' + startDate + '&toDate=' + endDate+ '&itemNames=' + itemNames + '&itemValues=' + itemValues;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token, \r\n 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.updatePlannedClosure = function (loggedinUser, data, token, success, failure) {\r\n $http.put(ApiURL + '/api/Ticket/UpdatePlannedClosureDate', data, \r\n { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':loggedinUser } }).then(function (res) {\r\n if (res && res.status == 200 && res) {\r\n success(res.data);\r\n } else{\r\n failure(\"Failed\", res.data.Message);\r\n }\r\n }, function (err) {\r\n failure(\"Failed\", \"Unable to update job, server is not responding correctly.\");\r\n });\r\n }\r\n\r\n\r\n this.DownloadAllTicketReportWithFilter = function (loggedinUser, fromDate, toDate, itemNames, itemValues,textItemNames,textItemValues,templateCols, templateItemNames, templateItemValues,DateField) {\r\n var url = PublicApiURL + \"/api/Report/DownloadAllTicketReportWithFilter?fromDate=\" + fromDate + '&toDate=' + toDate + '&reqUserId=' + loggedinUser + \"&itemNames=\" + itemNames + '&itemValues=' + itemValues + '&textItemNames=' + textItemNames + '&textItemValues=' + textItemValues + '&templateCols=' + templateCols + '&templateItemNames=' + templateItemNames + '&templateItemValues=' + templateItemValues + '&DateField=' + DateField;\r\n $window.open(url);\r\n }\r\n\r\n});\nangular.module('inspinia').controller('CRMManualAssignationJobController', function (CRMManualAssignationJobService,DashboardService,MainService,JobTicketViewService,CentralHelpdeskConfigService,AllUsersListService,ReferService, ScheduleAssignService,$q, $log, $state, $localStorage,UIURL, $stateParams, $uibModal, $scope, DTOptionsBuilder, DTColumnDefBuilder, toaster, $timeout, $compile, uiCalendarConfig, ImageUrl, PublicApiURL,$window) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var loggedinUserSkill = $localStorage.loggedInUser_SkillSet;\r\n var loggedinUserRegion = $localStorage.loggedInUser_Region;\r\n var accountid= $localStorage.accountConfig.AccountId;\r\n vm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n vm.CallPatchEnable = $localStorage.accountConfig.CallPatchEnable;\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n $scope.myvalue = false;\r\n $scope.class_status = true;\r\n $scope.toggleSingleClass = function() {\r\n $scope.class_status = !$scope.class_status;\r\n $scope.myvalue = true;\r\n };\r\n\r\n $scope.broadcastSentUser = true;\r\n $scope.toggleForBroadcast = function() {\r\n $scope.broadcastSentUser = !$scope.broadcastSentUser;\r\n $scope.myvalue = true;\r\n };\r\n\r\n $scope.timeLineDetail = true;\r\n $scope.openTimeLine = function() {\r\n $scope.timeLineDetail = !$scope.timeLineDetail;\r\n $scope.myvalue = true;\r\n };\r\n $scope.manualAssignationWrapper = \"hide-nav\";\r\n $scope.toggleMenu = function(){\r\n if ($scope.manualAssignationWrapper === \"hide-nav\"){\r\n $scope.manualAssignationWrapper = \"show-nav\";\r\n }\r\n else{\r\n $scope.manualAssignationWrapper = \"hide-nav\";\r\n }\r\n };\r\n\r\n vm.orderdetailsview = function (salesOrderDetail) {\r\n $state.go('index.WareHouseOrderDetailView', {\r\n order_id: salesOrderDetail\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n $scope.hideAllUser = true;\r\n \r\n $scope.showAllUser = function(){\r\n $scope.hideAllUser = true; \r\n };\r\n $scope.hideAllUserbutton = function(){\r\n $scope.hideAllUser = false; \r\n };\r\n $scope.userClass_status = true;\r\n $scope.hideoverlay = function(){\r\n $scope.myvalue = false;\r\n $scope.class_status = true;\r\n $scope.userClass_status = true;\r\n $scope.broadcastSentUser = true;\r\n $scope.timeLineDetail = true;\r\n $scope.userFilter = true;\r\n $scope.minatureSlide = true;\r\n $scope.myvalue = false;\r\n vm.closeFeedbackoption();\r\n }\r\n $scope.close360ViewBroadcaste = function(){\r\n $scope.myvalue = false;\r\n angular.element('#div1').removeClass(\"alpha\");\r\n $scope.userClass_status = true;\r\n }\r\n $scope.userSingle = function() {\r\n $scope.userClass_status = !$scope.userClass_status;\r\n $scope.myvalue = true;\r\n };\r\n $scope.userFilter = true;\r\n $scope.assignJobFilter = function() {\r\n $scope.userFilter = !$scope.userFilter;\r\n $scope.myvalue = true;\r\n $scope.manualAssignationWrapper = \"hide-nav\";\r\n // $scope.toggleMenu();\r\n };\r\n $scope.minatureSlide = true;\r\n $scope.minatureSlideBtn = function() {\r\n $scope.minatureSlide = !$scope.minatureSlide;\r\n $scope.myvalue = true;\r\n };\r\n\r\n $scope.hideFilter = function(){\r\n $scope.userFilter = true;\r\n $scope.minatureSlide = true;\r\n $scope.myvalue = false;\r\n }\r\n\r\n var token = $localStorage.token;\r\n vm.IsOpenBucketEnabled = $localStorage.IsOpenBucketEnabled;\r\n vm.IsAutoAssignToCHDteam = $localStorage.IsAutoAssignToCHDteam;\r\n vm.IsOpenBucketEnabled = $localStorage.IsOpenBucketEnabled;\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.accountConfig = $localStorage.accountConfig;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.IsMaterialDelivered = $localStorage.accountConfig.IsMaterialDelivered;\r\n vm.MobiforceCommission = vm.getAccountConfigSetting('MobiforceCommissionPercentage');\r\n vm.VendorAssignation = vm.getAccountConfigSetting('VendorAssignation');\r\n vm.EnableRegion = vm.getAccountConfigSetting('EnableRegion');\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n vm.FreelancerAccess = vm.getAccountConfigSetting('FreelancerAccess');\r\n //Global Variable Declaration\r\n vm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n vm.loggedInUserVendorId = $localStorage.loggedInUser_VendorId;\r\n vm.loggedInUserReportingTo = $localStorage.loggedInUser_ReportingTo;\r\n vm.TeamStatus = '';\r\n vm.NewJobs = [];\r\n vm.BroadcastedJobs = '';\r\n vm.Attendence = '';\r\n vm.CancellationReasons = \"\";\r\n vm.JobProfile = '';\r\n vm.GroupType = \"Individual|WorkOrderGroup\";\r\n vm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n vm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n vm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n vm.loggedinAs = $localStorage.loggedinAs;\r\n vm.skillsSearch = '';\r\n vm.locationSearch = '';\r\n vm.userlocation = '';\r\n vm.userskill = '';\r\n vm.UserAvailable='';\r\n vm.AttendenceForBid ='';\r\n vm.skillData = '';\r\n vm.applyUserFilter = '';\r\n vm.MoveSPDbyTwoDays = false;\r\n vm.IsCommissionDetect = false;\r\n vm.filter = '';\r\n vm.circleData = '';\r\n vm.checkAll = '';\r\n vm.fixedUsers = '';\r\n vm.isChecked = \"fixed\";\r\n vm.freelancerUsers = '';\r\n vm.ticketaccount = '';\r\n vm.PermanentState = '';\r\n $scope.isCollapsed = true;\r\n $scope.isOpened = true; \r\n vm.PermanentCity ='';\r\n vm.ticketskill = '';\r\n vm.ticketstatus = '';\r\n vm.FreelancerVendorUsers = [];\r\n vm.VendorUsers = '';\r\n vm.selectedJob = '';\r\n vm.newJobselectAny = '';\r\n vm.fixed_selectAll = '';\r\n vm.searchText = \"\";\r\n vm.tab = '';\r\n vm.freelancerCheckAny = '';\r\n vm.filteredProperties = {};\r\n vm.filteredFreelancer = {};\r\n var GrossRate = 1.18;\r\n vm.selectsinglebidJob = '';\r\n vm.jobselected = [];\r\n vm.freelancer_selectAll = '';\r\n vm.supervisorList = '';\r\n vm.vendorList = [];\r\n vm.eventSources = [];\r\n vm.uiConfig = {};\r\n vm.AvailableUserData = '';\r\n vm.events = [];\r\n vm.UserAvailabilityData = '';\r\n vm.routebuttonDisable=false;\r\n vm.brodcastButtonDisable=false;\r\n vm.assignButtonDisable=false;\r\n vm.CurrentState = '';\r\n vm.WorkState = '';\r\n vm.WorkCity = '';\r\n vm.UserAvailabilityList = [\"Active\",\"MMFPrimeMember\",\"NoLead\",\"Offline\",\"OneJobDone\",\"Online\"];\r\n var itemNames = '';\r\n var itemValues = '';\r\n var fnitemNames = '';\r\n var fnitemValues = '';\r\n var templateItemNames = '';\r\n var templateItemValues = '';\r\n var textItemNames = '';\r\n var textItemValues = '';\r\n var PageIndex = 1;\r\n var PageSize = 10; \r\n vm.OrderBy = \"CreatedOn\";\r\n vm.sorttype = \"desc\";\r\n vm.SortType = \"desc\";\r\n vm.SortField = 'CreatedOn';\r\n vm.IsSafetyAudit = 'Not Done'; \r\n vm.ratingwarning=\"\";\r\n vm.ticketListLength=0;\r\n vm.pageindexCount=0;\r\n vm.bpageindexCount=0;\r\n vm.wpageindexCount=0;\r\n // vm.DateField=\"StatusChangedOn\";\r\n vm.DateField= vm.accountConfig.AccountId == 0 ? 'StatusChangedOn' : 'CreatedOn';\r\n vm.searchStatusText=\"All\"; \r\n var uPageIndex = 1;\r\n var uPageSize = 10; \r\n var jPageIndex = 1;\r\n var jPageSize = 10; \r\n var fPageIndex = 1;\r\n var fPageSize = 10;\r\n var bPageIndex = 1;\r\n var bPageSize = 10; \r\n var wPageIndex = 1;\r\n var wPageSize = 10;\r\n $scope.expanded = true; \r\n vm.UsersType=\"\";\r\n vm.uType=\"\";\r\n var uitemNames=\"\";\r\n var witemNames=\"\";\r\n var witemValues=\"\";\r\n vm.ComplianceDisable = true;\r\n vm.PincodeEnabled = false;\r\n vm.OneJobDoneOnSkill = false;\r\n vm.IsMMFPrimeMember = false;\r\n var uitemValues=\"\";\r\n vm.searchUsersText=\"\";\r\n vm.TicketSelectedForAssistedSuggestion = \"\"\r\n vm.UserSuggestionList = [];\r\n vm.StoreUserSuggestionList = [];\r\n vm.UserSuggestionCount = '';\r\n vm.HDAllAccounts = [];\r\n vm.jobsCount='';\r\n vm.UserBIDCount = '';\r\n vm.showMode = 'nearBy';\r\n vm.ticketPageListCount = 10;\r\n vm.userPageListCount= 10;\r\n vm.suggestionPageListCount=10;\r\n vm.jobsPageListCount=10;\r\n vm.financePageListCount= 10;\r\n vm.disableBroadcastButton = false;\r\n vm.disableBroadcastCloseButton = false;\r\n vm.pageListCounts = [10, 20, 30, 50];\r\n var startDate = moment().subtract(7, 'day').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.reasonsForFU = '';\r\n vm.reasonsForHold = ''; \r\n vm.primaryFollowUpReason = '';\r\n vm.primaryFollowUpRemark = ''; \r\n vm.primaryHoldReason='';\r\n vm.primaryHoldRemark=''; \r\n vm.convertNewReasons = '';\r\n vm.convertNewReasonsRemark ='';\r\n vm.disableExceptionButton = false;\r\n vm.bundleTicketArray = [];\r\n vm.unbundleTicketArray = [];\r\n vm.bundleJobId='';\r\n vm.bundleListLength=0;\r\n vm.workOrderListLength=0;\r\n vm.bundlePageListCount = 10;\r\n vm.workOrderPageListCount = 10;\r\n vm.pullBackReasons =''; \r\n vm.pullBackReasonsRemark= '';\r\n var wsSDate = ''; \r\n var wsEDate = '';\r\n $scope.IsSuggested = false;\r\n vm.closureCode = \"\";\r\n vm.IsClosuerCodeAvailable = false;\r\n vm.IsWithInDays = \"first\";\r\n vm.WithInDaysNumbers = [1,2,3,4,5];\r\n vm.PlannedClosureDate = \"\";\r\n vm.itemNamesSgtn = 'Pincode';\r\n vm.itemValuesSgtn = '';\r\n vm.ticketdates = { startDate: moment().subtract(7, 'day'), endDate: moment() };\r\n vm.ticketranges = {\r\n 'Today': [moment(), moment()],\r\n //'Yesterday': [moment().subtract(1, 'days'), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n 'Till now': [moment().subtract(5, 'years'), moment()]\r\n };\r\n var scdt = new Date();\r\n scdt.setMinutes(scdt.getMinutes() + 30);\r\n vm.SourceCreationDate = scdt;\r\n var pcdt = new Date();\r\n pcdt.setDate(pcdt.getDate() + 7);\r\n vm.PlannedClosureDate = pcdt;\r\n\r\n vm.openCalendar = function (e, picker) {\r\n vm.ClosureDateTime.open = true;\r\n };\r\n var plannedclosuredatelimit = new Date();\t\r\n plannedclosuredatelimit.setMinutes(plannedclosuredatelimit.getMinutes() + 1)\r\n vm.ClosureDateTime = { date: '', datepickerOptions: { minDate: plannedclosuredatelimit } };\r\n\r\n var date = new Date();\r\n var d = date.getDate();\r\n var m = date.getMonth();\r\n var y = date.getFullYear(); \r\n vm.eventsF = function (start, end, timezone, callback) {\r\n var s = new Date(start).getTime() / 1000;\r\n var e = new Date(end).getTime() / 1000;\r\n var m = new Date(start).getMonth();\r\n var events = [{\r\n title: 'Feed Me ' + m,\r\n start: s + (50000),\r\n end: s + (100000),\r\n allDay: false,\r\n className: ['customFeed']\r\n }];\r\n callback(events);\r\n };\r\n if (vm.accountConfig.AccountId === '361' || vm.accountConfig.AccountId === '364') {\r\n vm.UserAvailabilityList = vm.UserAvailabilityList.filter(function(item) {\r\n return item !== \"MMFPrimeMember\";\r\n });\r\n}\r\n vm.getSkills = function () {\r\n JobTicketViewService.getSkills(loggedinUser, token, function (skills) {\r\n vm.skills = skills;\r\n //vm.skills.unshift({ \"SkillName\": \"All Job Types\" }); \r\n if (vm.path == 'isTicketView') {\r\n vm.searchJobTypeText = $localStorage.AllJobType;\r\n // vm.searchStatusText = $localStorage.AllJobStatus;\r\n } \r\n }, vm.showFailure);\r\n }\r\n vm.getSkills();\r\n\r\n vm.GetFinanceTicketDetail = function (paymentId,isCollapsed) {\r\n $scope.isCollapsed = !isCollapsed; \r\n DashboardService.GetFinanceTicketDetail(paymentId).then(function (resp) {\r\n vm.financedetails = resp.data;\r\n })\r\n }\r\n\r\n vm.Allapplyfilter = function(){\r\n vm.searchText='';\r\n $scope.userFilter = true;\r\n $scope.myvalue = false;\r\n vm.GroupType = 'Individual|WorkOrderGroup';\r\n $scope.$broadcast('update.daterangepicker', {date: vm.ticketdates}); \r\n $scope.UserTablepagination = {}; \r\n vm.FilterArray(); \r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n} \r\n\r\nvm.getAllAccounts = function ( ) {\r\n CRMManualAssignationJobService.getAllAccounts(loggedinUser, token).then(function (resp) { \r\n if (resp && resp.data) { \r\n if(resp.status==200)\r\n {\r\n vm.HDAllAccounts = resp.data;\r\n\r\n }\r\n } \r\n }, function () { \r\n });\r\n}\r\nvm.getAllAccounts();\r\n\r\nvm.getAllCustomer = function(){ \r\n CRMManualAssignationJobService.getAllCustomers(loggedinUser,token).then(function(resp){\r\n vm.CustomerAcc = resp.data;\r\n })\r\n} \r\nvm.getAllProject= function(){ \r\n CRMManualAssignationJobService.GetAllProjects(loggedinUser,token).then(function(resp){\r\n vm.ProjectAcc = resp.data;\r\n })\r\n}\r\nvm.getAllCustomer();\r\nvm.getAllProject();\r\n\r\nvm.GetCustomerByAccount=function()\r\n{ var SelectedAccountId = ''; \r\n angular.forEach(vm.HDAllAccounts, function (account) {\r\n if (account.AccountName==vm.SearchByAccountName) {\r\n SelectedAccountId = account.AccountId; \r\n }\r\n })\r\n CRMManualAssignationJobService.GetCustomersByAccount(loggedinUser,SelectedAccountId,token).then(function(resp){\r\n vm.CustomerList = resp.data;\r\n })\r\n}\r\n\r\nvm.GetProjectByCustomer=function()\r\n{\r\n vm.ProjectListByCust=[];\r\n angular.forEach(vm.CustomerList, function (customer) {\r\n if (customer.CompanyName==vm.SearchByCName) {\r\n vm.ProjectListByCust = customer.Projects; \r\n }\r\n})\r\n}\r\n\r\nvm.GetProjectByCust=function()\r\n {\r\n vm.ProjectListByCustomer=[];\r\n angular.forEach(vm.ProjectList, function (prject) {\r\n if (prject.CustomerName==vm.SearchByCName) {\r\n vm.ProjectListByCustomer.push(prject);\r\n }\r\n })\r\n }\r\n\r\n vm.AutoBroadcastJobs = function(){\r\n vm.DisableBroadcastButtons(false); \r\n var ticketIds = ''; \r\n var count = 0; \r\n angular.forEach(vm.ticketList, function(d){\r\n if (d.checked) {\r\n count = count + 1;\r\n if(ticketIds == ''){\r\n ticketIds = d.TicketId;\r\n }\r\n else{\r\n ticketIds = ticketIds + \",\" + d.TicketId;\r\n } \r\n }\r\n })\r\n\r\n vm.confirmationMessage = 'Please confirm if you want to auto schedule ' + count + ' Jobs?';\r\n vm.autoBroadcastJobIds = ticketIds;\r\n confirmationModalInstance = $uibModal.open({\r\n templateUrl: 'auto_schedule_confirmation_model.html',\r\n scope: $scope,\r\n backdrop: 'static'\r\n });\r\n }\r\n\r\n vm.confirmationCloseModal = function () {\r\n vm.DisableBroadcastButtons(false); \r\n confirmationModalInstance.close();\r\n }\r\n\r\n\r\n vm.DisableBroadcastButtons = function (disable) {\r\n if(disable){\r\n vm.disableBroadcastButton = true;\r\n vm.disableBroadcastCloseButton = true;\r\n }\r\n else{\r\n vm.disableBroadcastButton = false;\r\n vm.disableBroadcastCloseButton = false;\r\n }\r\n }\r\n\r\n vm.AutoScheduleJobs = function () { \r\n vm.DisableBroadcastButtons(true);\r\n var data = {\r\n \"ticketIds\": vm.autoBroadcastJobIds\r\n } \r\n CRMManualAssignationJobService.AutoBroadcastAllNewJobsManualMode(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n }, 1000); \r\n confirmationModalInstance.close(); \r\n vm.showSuccess(\"Success\", \"Jobs has been auto scheduled successfully\");\r\n }\r\n if (resp.status == 206) { \r\n vm.showFailure(\"Failed\", resp.data);\r\n vm.DisableBroadcastButtons(false); \r\n confirmationModalInstance.close();\r\n }\r\n }, function () { \r\n });\r\n }\r\n\r\n CRMManualAssignationJobService.setShowSuccess($scope.$parent.$parent.main.showSuccess);\r\n CRMManualAssignationJobService.setShowFailure($scope.$parent.$parent.main.showFailure);\r\n \r\n vm.callToTechnician = function (userid) { \r\n CRMManualAssignationJobService.callToTechnicianApi(loggedinUser,userid, token).then(function (resp) {\r\n if(resp.status == 200) {\r\n vm.showSuccess(\"Success\",\"Call Initiated\") \r\n }\r\n else {\r\n vm.showFailure(\"Failure\",resp.data.Message)\r\n }\r\n \r\n });\r\n \r\n}\r\n\r\nvm.callToTechnicianInBroadcastState = function (userid,ticketId) { \r\n CRMManualAssignationJobService.callToTechnicianInBroadcastState(loggedinUser,userid,ticketId, token).then(function (resp) {\r\n if(resp.status == 200) {\r\n vm.showSuccess(\"Success\",\"Call Initiated\") \r\n }\r\n else {\r\n vm.showFailure(\"Failure\",resp.data.Message)\r\n }\r\n \r\n });\r\n\r\n}\r\n\r\nvm.GetAllWorkOrderJob = function (isCollapsed,workOrder) {\r\n if(vm.workOrder == workOrder){\r\n $scope.isCollapsed = !isCollapsed;\r\n } \r\n $scope.activeRow = workOrder;\r\n vm.workOrder = workOrder;\r\n vm.workOrdertList = [];\t\r\n if($scope.isCollapsed)\r\n return;\r\n CRMManualAssignationJobService.GetAllWorkOrderJob(loggedinUser,workOrder, token).then(function (resp) {\r\n if (resp && resp.data) {\t\t \r\n if(resp.status==200){\r\n vm.workOrdertList = resp.data;\r\n }\r\n }\r\n });\r\n}\r\n\r\nvm.getRejectHistory = function (ticketId) \r\n{ \r\n CRMManualAssignationJobService.getRejectHistory(ticketId,loggedinUser,token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.getDetailsList=resp.data;\r\n openHistoryModel = $uibModal.open({\r\n templateUrl: 'openHistoryModel.html',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n\r\n }, function () { \r\n });\r\n} \r\n\r\nvm.CloseHistoryModel = function () {\r\n openHistoryModel.close();\r\n}\r\n\r\n //pull back\r\n vm.PullBackJobs = function(){\r\n var ticketIds = ''; \r\n var count = 0; \r\n angular.forEach(vm.ticketList, function(d){\r\n if (d.checked) {\r\n count = count + 1;\r\n if(ticketIds == ''){\r\n ticketIds = d.TicketId;\r\n }\r\n else{\r\n ticketIds = ticketIds + \",\" + d.TicketId;\r\n } \r\n }\r\n })\r\n vm.pullBackJobIds = ticketIds;\r\n vm.DisableBroadcastButtons(true);\r\n var JobIdsforPull = [];\r\n JobIdsforPull.push(vm.pullBackJobIds); \r\n CRMManualAssignationJobService.PullBackJob(loggedinUser, JobIdsforPull, token).then(function (resp) {\r\n if (resp.status == 202) { \r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n vm.GetUserByFiltersWithDynaPage(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize); \r\n vm.showSuccess(\"Success\", \"Jobs - \" + vm.pullBackJobIds + \" pulledback succesfully\"); \r\n }, 1000); \r\n }\r\n if (resp.status == 206) { \r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n vm.DisableBroadcastButtons(false); \r\n }\r\n }, function () { \r\n });\r\n}\r\n\r\n /* alert on dayClick */\r\n vm.ev = {};\r\n vm.alertOnDayClick = function (date) {\r\n vm.alertMessage = (date.toString());\r\n vm.ev = {\r\n from: date.format('YYYY-MM-DD'),\r\n to: date.format('YYYY-MM-DD'),\r\n title: '',\r\n allDay: true\r\n };\r\n };\r\n\r\n /* alert on eventClick */\r\n vm.alertOnEventClick = function (date, jsEvent, view) {\r\n vm.alertMessage = (date.title);\r\n };\r\n /* alert on Drop */\r\n vm.alertOnDrop = function (event, delta, revertFunc, jsEvent, ui, view) {\r\n vm.alertMessage = ('Event Dropped to make dayDelta ' + delta);\r\n };\r\n /* alert on Resize */\r\n vm.alertOnResize = function (event, delta, revertFunc, jsEvent, ui, view) {\r\n vm.alertMessage = ('Event Resized to make dayDelta ' + delta);\r\n };\r\n /* add and removes an event source of choice */\r\n vm.addRemoveEventSource = function (sources, source) {\r\n var canAdd = 0;\r\n angular.forEach(sources, function (value, key) {\r\n if (sources[key] === source) {\r\n sources.splice(key, 1);\r\n canAdd = 1;\r\n }\r\n });\r\n if (canAdd === 0) {\r\n sources.push(source);\r\n }\r\n };\r\n /* add custom event*/\r\n vm.addEvent = function () {\r\n vm.events.push({\r\n title: $scope.ev.title,\r\n start: moment($scope.ev.from),\r\n end: moment($scope.ev.to),\r\n allDay: true,\r\n className: ['openSesame']\r\n });\r\n };\r\n /* remove event */\r\n /*$scope.remove = function (index) {\r\n $scope.events.splice(index, 1);\r\n };*/\r\n /* Change View */\r\n vm.changeView = function (view, calendar) {\r\n vm.currentView = view;\r\n uiCalendarConfig.calendars[calendar].fullCalendar('changeView', view);\r\n\r\n };\r\n /* Change View */\r\n vm.renderCalender = function (calendar) {\r\n $timeout(function () {\r\n if (uiCalendarConfig.calendars[calendar]) {\r\n uiCalendarConfig.calendars[calendar].fullCalendar('render');\r\n }\r\n });\r\n };\r\n /* Render Tooltip */\r\n $scope.eventRender = function (event, element, view) {\r\n element.attr({\r\n 'tooltip': event.title,\r\n 'uib-tooltip-append-to-body': true\r\n });\r\n $compile(element)($scope);\r\n };\r\n\r\n vm.currentView = 'month';\r\n\r\n /* config object */\r\n vm.uiConfig = {\r\n calendar: {\r\n height: 450,\r\n editable: false,\r\n displayEventTime: false,\r\n header: {\r\n left: 'title',\r\n center: 'myCustomButton',\r\n right: 'prev,next'\r\n },\r\n dayClick: vm.alertOnDayClick,\r\n eventClick: vm.alertOnEventClick,\r\n eventResize: vm.alertOnResize,\r\n eventRender: function (event, element, view) {\r\n element.attr({\r\n 'uib-tooltip': event.title,\r\n 'uib-tooltip-append-to-body': true\r\n });\r\n $compile(element)($scope);\r\n },\r\n businessHours: {\r\n start: '10:00', // a start time (10am in this example)\r\n end: '18:00', // an end time (6pm in this example)\r\n\r\n dow: [1, 2, 3, 4]\r\n // days of week. an array of zero-based day of week integers (0=Sunday)\r\n // (Monday-Thursday in this example)\r\n }\r\n }\r\n };\r\n\r\n vm.events = [];\r\n\r\n /* event sources array*/\r\n vm.eventSources = [vm.events, vm.eventsF];\r\n // vm.eventSources2 = [vm.calEventsExt, vm.eventsF, vm.events];\r\n\r\n //Availablity\r\n vm.Availibility = function (data) {\r\n vm.showAvailability = true;\r\n vm.AvailableUserData = data;\r\n vm.GetAssignedTicketforUser(data.UserId, loggedinUser, token)\r\n }\r\n\r\n vm.AvailibilityUS = function (data) {\r\n vm.showAvailability = true;\r\n vm.AvailableUserData = data;\r\n }\r\n\r\n vm.getAccounts = function () {\r\n CRMManualAssignationJobService.getAllAccounts(loggedinUser, token).then(function (resp) { \r\n if (resp && resp.data && resp.status==200) { \r\n vm.accounts = resp.data;\r\n } \r\n }, function () { \r\n });\r\n } \r\n vm.getAccounts();\r\n\r\n\r\n vm.DisableRouteBroadcastButtons = function (disable) {\r\n if(disable){\r\n vm.brodcastButtonDisable = true;\r\n vm.routebuttonDisable = true;\r\n }\r\n else{\r\n vm.brodcastButtonDisable = false;\r\n vm.routebuttonDisable = false;\r\n }\r\n }\r\n\r\n //Get new Jobs\r\n vm.GetNewJobs = function () {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemName = \"Circle,SkillSet\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch;\r\n } else {\r\n var itemName = '';\r\n var itemValues = '';\r\n }\r\n\r\n if(loggedinUserSkill==\"VSAT\"){\r\n itemName+=\"Template\";\r\n itemValues+=\"VSAT CCR\";\r\n } else if(loggedinUserSkill==\"LeaseLine\"){\r\n itemName+=\"Template\";\r\n itemValues+=\"LeaseLine CCR\";\r\n }\r\n CRMManualAssignationJobService.GetTicketsByFilter(loggedinUser, itemName, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data) {\r\n vm.NewJobs = resp.data;\r\n for (var index = 0; index < vm.NewJobs.length; index++) {\r\n var today = moment();\r\n //var date = moment(\"2015-05-13\", \"YYYY-MM-DD\");\r\n var date2 = vm.NewJobs[index].CreationDate;//moment(vm.NewJobs[index].CreationDate,'DD/MM/YYYY').format(\"YYYY-MM-DD\");\r\n // date2 = new Date(date2);\r\n var duration = today.diff(date2, 'days');\r\n // var hours = today.diff(date2,'hours');\r\n vm.NewJobs[index].Age = duration; \r\n }\r\n vm.selectAllNewJob = false;\r\n vm.showMinusNewJob = false;\r\n if(vm.IsMaterialDelivered){\r\n for (var index = 0; index < vm.NewJobs.length; index++) {\r\n if(vm.NewJobs[index].MetrialDeliverStatus =='Delivered'){\r\n vm.NewJobs[index].IsDissablePermision = false;\r\n }else{\r\n vm.NewJobs[index].IsDissablePermision = true;\r\n } \r\n }\r\n }\r\n } else {\r\n vm.NewJobs = '';\r\n //$log.log('vm.NewJobs', 'List Empty')\r\n }\r\n }\r\n })\r\n }\r\n vm.GetRejectedJobs = function () {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemName = \"Ticket Status,Circle,SkillSet\";\r\n var itemValues = 'Rejected' + ',' + vm.locationSearch + ',' + vm.skillsSearch;\r\n } else {\r\n var itemName = 'Ticket Status';\r\n var itemValues = 'Rejected';\r\n }\r\n CRMManualAssignationJobService.GetTicketsByFilter(loggedinUser, itemName, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data) {\r\n vm.NewJobs = resp.data;\r\n\r\n for (var index = 0; index < vm.NewJobs.length; index++) {\r\n var today = moment();\r\n //var date = moment(\"2015-05-13\", \"YYYY-MM-DD\");\r\n var date2 = vm.NewJobs[index].CreationDate;//moment(vm.NewJobs[index].CreationDate,'DD/MM/YYYY').format(\"YYYY-MM-DD\");\r\n // date2 = new Date(date2);\r\n\r\n var duration = today.diff(date2, 'days');\r\n // var hours = today.diff(date2,'hours');\r\n vm.NewJobs[index].Age = duration;\r\n }\r\n vm.selectAllNewJob = false;\r\n vm.showMinusNewJob = false;\r\n //$log.log('New TicketList',vm.NewJobs);\r\n\r\n } else {\r\n vm.NewJobs = '';\r\n //$log.log('vm.NewJobs', 'List Empty')\r\n }\r\n }\r\n })\r\n }\r\n\r\n vm.getRatingStars = function (rating) {\r\n var stars = [];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.push(i);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n vm.getBlankStars = function (rating) {\r\n var stars = [1, 2, 3, 4, 5];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.splice(stars.indexOf(i), 1);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n //Get all Active Fixed Users\r\n\r\n vm.GetAllActiveFixedUsers = function () {\r\n\r\n if (vm.loggedInUserRole == 'Administrator' || vm.loggedInUserRole == 'Project Manager' || vm.loggedinAs == 'Supervisor' || vm.loggedinAs == 'Vendor Supervisor' || vm.loggedInUserRole =='Help Desk') {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemNames = \"Locations,SkillSet,UserStatus,Role\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active' + ',' + 'Field Engineer';\r\n } else {\r\n var itemNames = \"UserStatus,Role\";\r\n var itemValues = \"Active,Field Engineer\";\r\n }\r\n if(vm.loggedInUserRole =='Help Desk') {\r\n itemNames+=\",SkillSet,SubRegion\";\r\n itemValues+=\",\"+loggedinUserSkill+\",\"+loggedinUserRegion;\r\n }\r\n\r\n CRMManualAssignationJobService.GetUsersByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.fixedUsers = resp.data;\r\n //$log.log('vm.fixedUsers', vm.fixedUsers);\r\n preprocessData(vm.fixedUsers);\r\n }\r\n })\r\n } else if (vm.loggedInUserRole == 'Vendor Manager') {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemNames = \"Locations,SkillSet,UserStatus,Role\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active' + ',' + 'Field Engineer';\r\n\r\n } else {\r\n var itemNames = \"UserStatus,Role\";\r\n var itemValues = \"Active,Field Engineer\";\r\n }\r\n\r\n CRMManualAssignationJobService.GetUsersByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.fixedUsers = resp.data;\r\n preprocessData(vm.fixedUsers);\r\n }\r\n })\r\n }\r\n }\r\n\r\n vm.loadAllSkills = function(){\r\n CRMManualAssignationJobService.GetAllSkills(loggedinUser, token).then(function (resp) {\r\n vm.skillsWithPipe = '';\r\n if (resp && resp.data) {\r\n vm.skillData = resp.data;\r\n if(vm.skillData && vm.skillData.length>0){\r\n angular.forEach(vm.skillData, function(s){\r\n vm.skillsWithPipe += s.SkillName+\"|\";\r\n });\r\n vm.skillsWithPipe = vm.skillsWithPipe.length>0\r\n ? vm.skillsWithPipe.substring(0,vm.skillsWithPipe.length-1) : \"\";\r\n }\r\n }\r\n });\r\n }\r\n vm.loadAllSkills();\r\n\r\n\r\n vm.GetFollowupReasons = function(){\r\n CRMManualAssignationJobService.GetReasonsByStatus(loggedinUser, token, 'FollowUp').then(function (resp) { \r\n if (resp && resp.data) {\r\n vm.reasonsForFU = resp.data;\r\n }\r\n });\r\n }\r\n vm.GetFollowupReasons();\r\n\r\n vm.GetHoldReasons = function(){\r\n CRMManualAssignationJobService.GetReasonsByStatus(loggedinUser, token, 'Hold').then(function (resp) { \r\n if (resp && resp.data) {\r\n vm.reasonsForHold = resp.data;\r\n }\r\n });\r\n }\r\n vm.GetHoldReasons();\r\n vm.usersStatus = 'Assigned';\r\n vm.applyFilterForUser = function(status) {\r\n vm.usersStatus = status;\r\n vm.filterType = \"\";\r\n vm.GetListAllFreelancers();\r\n }\r\n vm.GetListAllFreelancers = function () {\r\n // if(vm.filterTktStatus){\r\n // vm.usersStatus = 'Broadcasted';\r\n // }\r\n // else if(!vm.filterTktStatus && vm.usersStatus == 'Broadcasted'){\r\n // vm.usersStatus = \"Assigned\";\r\n // }\r\n // else {\r\n // vm.usersStatus;\r\n // }\r\n vm.filterToggle = true;\r\n var data = {\r\n \"itemNames\": \"Status\", \r\n \"itemValues\": vm.usersStatus, \r\n \"Type\": vm.filterType,\r\n \"toDate\": endDate,\r\n \"fromDate\": startDate,\r\n \"OrderBy\":vm.OrderBy, \r\n \"OrderSeq\":vm.OrderSeq\r\n }\r\n CRMManualAssignationJobService.GetListAllFreelancers(data,loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.listofActiveUsers = resp.data;\r\n }\r\n })\r\n }\r\n\r\n vm.sortColumnUser = function(OrderBy){\r\n vm.OrderBy = OrderBy;\r\n // vm.Orderby = col;\r\n if(vm.OrderSeq=='desc'){\r\n vm.OrderSeq = 'asc';\r\n vm.reverseclass = 'fa fa-arrow-up';\r\n }else{\r\n vm.OrderSeq = 'desc';\r\n vm.reverseclass = 'fa fa-arrow-down';\r\n }\r\n vm.GetListAllFreelancers();\r\n };\r\n\r\n vm.sortClassUser = function(col){\r\n if(vm.OrderBy == col ){\r\n if(vm.OrderSeq == 'desc'){\r\n return 'fa fa-arrow-down'; \r\n }else{\r\n return 'fa fa-arrow-up';\r\n }\r\n }\r\n else{\r\n return '';\r\n }\r\n }\r\n //Get all Freelancers\r\n vm.GetAllFreelancers = function () {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemNames = \"UserStatus,Locations,SkillSet,Role\";\r\n var itemValues = \"Active\" + ',' + vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Field Engineer';\r\n } else {\r\n var itemNames = \"UserStatus,Role\";\r\n var itemValues = \"Active,Field Engineer\";\r\n if(vm.skillsWithPipe && vm.skillsWithPipe.length>0){\r\n itemNames+=\",SkillSet\";\r\n itemValues+=\",\"+vm.skillsWithPipe;\r\n }\r\n }\r\n CRMManualAssignationJobService.GetAllFreelancersWithFilters(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.freelancerUsers = resp.data;\r\n // for(var i=0;i 0) {\r\n vm.FreelancerVendorUsers = resp.data;\r\n // for(var i=0;i 0) {\r\n CRMManualAssignationJobService.AssignTickets(userId, loggedinUser, itemValues, token).then(function (resp) {\r\n\r\n if (resp && resp.data && resp.data.ErrorCode == 140 && resp.data.Message) {\r\n if (mode == 'fixed') {\r\n vm.showFailure(\"Failed\", resp.data.Message + \". Please recharge your account.\");\r\n vm.assignButtonDisable = false;\r\n } else {\r\n vm.showFailure(\"Failed\", resp.data.Message + \".\");\r\n vm.assignButtonDisable = false;\r\n }\r\n } else if (resp && resp.data && resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Ticket assigned successfully\"); \r\n $timeout(function () {\r\n if(vm.TicketType == 'Combo') {\r\n vm.applyComboTktFilter();\r\n }\r\n if(vm.TicketType == 'WorkOrderGroup') {\r\n vm.applyfilterWorkOrder();\r\n }\r\n else{\r\n vm.applyTicketFilter();\r\n } \r\n vm.GetUserByFiltersWithDynaPage(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize);\r\n }, 1000);\r\n vm.assignButtonDisable = false;\r\n }\r\n else if (resp.status == 206) {\r\n vm.showFailure(\"Failed\", resp.data); \r\n $timeout(function () {\r\n if(vm.TicketType == 'Combo') {\r\n vm.applyComboTktFilter();\r\n }\r\n if(vm.TicketType == 'WorkOrderGroup') {\r\n vm.applyfilterWorkOrder();\r\n }\r\n else{\r\n vm.applyTicketFilter();\r\n }\r\n vm.applyUserFilter(); \r\n }, 1000);\r\n vm.assignButtonDisable = false;\r\n } else {\r\n vm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n vm.assignButtonDisable = false;\r\n }\r\n\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Ticket could not be assigned, server is not responding correctly.\");\r\n vm.assignButtonDisable = false;\r\n })\r\n } else {\r\n vm.showFailure(\"Failed\", \"Please select New, Broadcasted or Assigned tickets to assign\");\r\n vm.assignButtonDisable = false;\r\n }\r\n }\r\n\r\n vm.toggleAll = function () {\r\n //$log.log('checkAll', vm.checkAll);\r\n var bool = true;\r\n if (vm.checkAll) {\r\n bool = false;\r\n }\r\n angular.forEach(vm.NewJobs, function (v, k) {\r\n // //$log.log('v',v);\r\n // //$log.log('k',k);\r\n v.checked = !bool;\r\n // //$log.log('!bool', v.checked);\r\n vm.checkAll = !bool;\r\n });\r\n }\r\n\r\n vm.checkAny = function (i) {\r\n //$log.log('newJobselectAny', vm.newJobselectAny);\r\n vm.checkAll = true;\r\n angular.forEach(vm.NewJobs, function (v, k) {\r\n\r\n if (!v.checked) {\r\n vm.checkAll = false;\r\n }\r\n });\r\n\r\n }\r\n\r\n vm.showCheckAny = function (i) {\r\n vm.showMinus = true;\r\n angular.forEach(vm.freelancerCheckAny, function (v, k) {\r\n if (v != true && k == vm.freelancerCheckAny[i]) {\r\n vm.showMinus = false;\r\n } else {\r\n vm.showMinus = true;\r\n }\r\n });\r\n }\r\n\r\n vm.GetTicketById = function (ticketId) {\r\n CRMManualAssignationJobService.GetTicketsById(ticketId, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.JobProfile = resp.data;\r\n }\r\n })\r\n }\r\n\r\n vm.removeFilters = function () {\r\n if (vm.isChecked == 'fixed') {\r\n var itemNames = \"TicketStatus\";\r\n var itemValues = 'New';\r\n if (vm.locationSearch) {\r\n itemNames += \",Circle\";\r\n itemValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n itemNames += \",SkillSet\";\r\n itemValues += \",\" + vm.skillsSearch;\r\n }\r\n\r\n CRMManualAssignationJobService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n });\r\n\r\n var teamIteamNames = \"UserStatus,Role\";\r\n var teamIteamValues = 'Active' + ',' + 'Field Engineer';\r\n\r\n if (vm.locationSearch) {\r\n teamIteamNames += \",Locations\";\r\n teamIteamValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n teamIteamNames += \",SkillSet\";\r\n teamIteamValues += \",\" + vm.skillsSearch;\r\n }\r\n CRMManualAssignationJobService.GetUsersByFilter(loggedinUser, teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.fixedUsers = resp.data;\r\n //$log.log('fixedUsers', resp.data);\r\n preprocessData(vm.fixedUsers);\r\n } else {\r\n vm.fixedUsers = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get users, server is not responding correctly.\");\r\n })\r\n\r\n\r\n } else if (vm.isChecked == 'freelancer') {\r\n\r\n var itemNames = \"TicketStatus\";\r\n var itemValues = 'New';\r\n\r\n if (vm.locationSearch) {\r\n itemNames += \",Circle\";\r\n itemValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n itemNames += \",SkillSet\";\r\n itemValues += \",\" + vm.skillsSearch;\r\n }\r\n CRMManualAssignationJobService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n })\r\n\r\n var teamIteamNames = \"UserStatus,Role\";\r\n var teamIteamValues = 'Active' + ',' + 'Field Engineer';\r\n\r\n if (vm.locationSearch) {\r\n teamIteamNames += \",Locations\";\r\n teamIteamValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n teamIteamNames += \",SkillSet\";\r\n teamIteamValues += \",\" + vm.skillsSearch;\r\n } else if(vm.skillsWithPipe && vm.skillsWithPipe.length>0){\r\n teamIteamNames+=\",SkillSet\";\r\n teamIteamValues+=vm.skillsWithPipe;\r\n }\r\n CRMManualAssignationJobService.GetAllFreelancersWithFilters(loggedinUser, teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.freelancerUsers = resp.data;\r\n //$log.log('freelancers', vm.freelancerUsers);\r\n preprocessData(vm.freelancerUsers);\r\n } else {\r\n vm.freelancerUsers = '';\r\n }\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get freelancers, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get freelancers, server is not responding correctly.\");\r\n });\r\n\r\n var broadItemNames = 'Circle,SkillSet,TicketStatus';\r\n var broadItemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Broadcasted';\r\n\r\n CRMManualAssignationJobService.GetBroadcastedBids(loggedinUser, broadItemNames, broadItemValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.BroadcastedJobs = resp.data;\r\n // vm.TeamProfile = vm.TeamProfile[0];\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get broadcasted jobs, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get broadcasted jobs, server is not responding correctly.\");\r\n })\r\n\r\n\r\n } else if (vm.isChecked == 'vendor') {\r\n var itemNames = \"TicketStatus\";\r\n var itemValues = 'New';\r\n if (vm.locationSearch) {\r\n itemNames += \",Circle\";\r\n itemValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n itemNames += \",SkillSet\";\r\n itemValues += \",\" + vm.skillsSearch;\r\n }\r\n\r\n CRMManualAssignationJobService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n }\r\n\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n })\r\n\r\n var teamIteamNames = \"UserStatus,Role\";\r\n var teamIteamValues = 'Active' + ',' + 'Field Engineer';\r\n\r\n if (vm.locationSearch) {\r\n teamIteamNames += \",Locations\";\r\n teamIteamValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n teamIteamNames += \",SkillSet\";\r\n teamIteamValues += \",\" + vm.skillsSearch;\r\n }\r\n CRMManualAssignationJobService.GetAllVendors(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data) {\r\n vm.vendorList = resp.data;\r\n preprocessData(vm.vendorList);\r\n }\r\n } else {\r\n vm.vendorList = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get vendors, server is not responding correctly.\");\r\n })\r\n\r\n } else if (vm.isChecked == 'supervisor') {\r\n\r\n var itemNames = \"TicketStatus\";\r\n var itemValues = 'New';\r\n\r\n if (vm.locationSearch) {\r\n itemNames += \",Circle\";\r\n itemValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n itemNames += \",SkillSet\";\r\n itemValues += \",\" + vm.skillsSearch;\r\n }\r\n CRMManualAssignationJobService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n });\r\n\r\n var teamIteamNames = \"UserStatus\";\r\n var teamIteamValues = 'Active';\r\n\r\n if (vm.locationSearch) {\r\n teamIteamNames += \",Locations\";\r\n teamIteamValues += \",\" + vm.locationSearch;\r\n }\r\n if (vm.skillsSearch) {\r\n teamIteamNames += \",SkillSet\";\r\n teamIteamValues += \",\" + vm.skillsSearch;\r\n }\r\n CRMManualAssignationJobService.GetUsersByRole(loggedinUser, 'Supervisor', teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp && resp.data.length > 0) {\r\n vm.supervisorList = resp.data;\r\n preprocessData(vm.supervisorList);\r\n } else {\r\n vm.supervisorList = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get supervisors, server is not responding correctly.\");\r\n });\r\n }\r\n }\r\n\r\n //To Search\r\n vm.search = function () {\r\n if (vm.searchform.$valid) {\r\n if (vm.isChecked == 'fixed') {\r\n var itemNames = \"Circle,SkillSet,TicketStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'New';\r\n CRMManualAssignationJobService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n });\r\n\r\n var teamIteamNames = \"Locations,SkillSet,UserStatus,Role\";\r\n var teamIteamValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active' + ',' + 'Field Engineer';\r\n CRMManualAssignationJobService.GetUsersByFilter(loggedinUser, teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.fixedUsers = resp.data;\r\n //$log.log('fixedUsers', resp.data);\r\n preprocessData(vm.fixedUsers);\r\n } else {\r\n vm.fixedUsers = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get field engineers, server is not responding correctly.\");\r\n })\r\n } else if (vm.isChecked == 'freelancer') {\r\n var itemNames = \"Circle,SkillSet,TicketStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'New';\r\n CRMManualAssignationJobService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n });\r\n\r\n var teamIteamNames = \"Locations,SkillSet,UserStatus,Role\";\r\n var teamIteamValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active' + ',' + 'Field Engineer';\r\n CRMManualAssignationJobService.GetAllFreelancersWithFilters(loggedinUser, teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.freelancerUsers = resp.data;\r\n //$log.log('freelancers', vm.freelancerUsers);\r\n preprocessData(vm.freelancerUsers);\r\n } else {\r\n vm.freelancerUsers = '';\r\n }\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get field engineers, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get field engineers, server is not responding correctly.\");\r\n });\r\n\r\n var broadItemNames = 'Circle,SkillSet,TicketStatus';\r\n var broadItemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Broadcasted';\r\n CRMManualAssignationJobService.GetBroadcastedBids(loggedinUser, broadItemNames, broadItemValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.BroadcastedJobs = resp.data;\r\n // vm.TeamProfile = vm.TeamProfile[0];\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get broadcasted jobs, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get broadcasted jobs, server is not responding correctly.\");\r\n })\r\n\r\n\r\n } else if (vm.isChecked == 'vendor') {\r\n\r\n var itemNames = \"Circle,SkillSet,TicketStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'New';\r\n\r\n CRMManualAssignationJobService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get jobs, server is not responding correctly.\");\r\n })\r\n\r\n var teamIteamNames = \"Locations,SkillSet,UserStatus,Role\";\r\n var teamIteamValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active' + ',' + 'Field Engineer';\r\n CRMManualAssignationJobService.GetAllVendors(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data) {\r\n vm.vendorList = resp.data;\r\n preprocessData(vm.vendorList);\r\n }\r\n } else {\r\n vm.vendorList = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get vendors, server is not responding correctly.\");\r\n });\r\n\r\n } else if (vm.isChecked == 'supervisor') {\r\n\r\n var itemNames = \"Circle,SkillSet,TicketStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'New';\r\n CRMManualAssignationJobService.GetTicketsByFilter(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data.length > 0) {\r\n vm.NewJobs = resp.data;\r\n //$log.log('filteredData', resp.data);\r\n } else {\r\n vm.NewJobs = '';\r\n }\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get supervisors, server is not responding correctly.\");\r\n });\r\n\r\n var teamIteamNames = \"Locations,SkillSet,UserStatus\";\r\n var teamIteamValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active';\r\n CRMManualAssignationJobService.GetUsersByRole(loggedinUser, 'Supervisor', teamIteamNames, teamIteamValues, token).then(function (resp) {\r\n if (resp && resp.data.length > 0) {\r\n vm.supervisorList = resp.data;\r\n preprocessData(vm.supervisorList);\r\n } else {\r\n vm.supervisorList = '';\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to get users, server is not responding correctly.\");\r\n })\r\n\r\n }\r\n vm.SearchModal.close();\r\n } else {\r\n vm.searchform.submitted = true;\r\n }\r\n\r\n\r\n }\r\n\r\n \r\n vm.tabNo = function (tab) {\r\n vm.tab = tab;\r\n //$log.log('TabNo', vm.tab);\r\n }\r\n\r\n vm.ChangeMode = function (mode) {\r\n vm.tabNo('1');\r\n if (mode == 'fixed') {\r\n vm.fixed_select_all = false;\r\n vm.fixed_selectAll = false;\r\n vm.selectedItems = [];\r\n vm.fixed_select_single = [];\r\n if(vm.getAccountConfigSetting('CustomizeJobAssign')){\r\n vm.filteredProperties={\"SkillSet\":\"Water Sample Collection\"};\r\n } \r\n vm.GetAllActiveFixedUsers();\r\n\r\n } else if (mode == 'freelancer') {\r\n vm.GetAllFreelancers();\r\n vm.free_selectedItems = [];\r\n vm.freelancer_select_single = [];\r\n vm.free_NewJobSelectedItems = [];\r\n vm.freelancer_select_single_NewJob = [];\r\n vm.freelancer_select_all = false;\r\n vm.freelancer_selectAll = false;\r\n vm.freelancer_SelectAllJob = false;\r\n vm.freelancer_Select_All_NewJobs = false;\r\n\r\n\r\n } else if (mode == 'FixedVendors') {\r\n vm.GetAllVendors();\r\n vm.fixed_select_all = false;\r\n vm.fixed_selectAll = false;\r\n vm.selectedItems = [];\r\n vm.fixed_select_single = [];\r\n if(vm.getAccountConfigSetting('CustomizeJobAssign')){\r\n vm.filteredProperties={\"SkillSet\":\"Water Lab Test\"};\r\n }\r\n } else if (mode == 'vendor') {\r\n vm.GetAllFreelancerVendors();\r\n vm.Vendor_selectedItems = [];\r\n vm.Vendor_select_single = [];\r\n vm.Vendor_NewJobSelectedItems = [];\r\n vm.Vendor_select_single_NewJob = [];\r\n vm.Vendor_select_all = false;\r\n vm.Vendor_selectAll = false;\r\n vm.Vendor_SelectAllJob = false;\r\n vm.Vendor_Select_All_NewJobs = false;\r\n\r\n\r\n }\r\n else if (mode == 'supervisor') {\r\n vm.GetUsersByRole('Supervisor');\r\n vm.fixed_select_all = false;\r\n vm.fixed_selectAll = false;\r\n vm.selectedItems = [];\r\n vm.fixed_select_single = [];\r\n if(vm.getAccountConfigSetting('CustomizeJobAssign')){\r\n vm.filteredProperties = {\"SkillSet\":\"Water Lab Test\"};\r\n }\r\n }\r\n }\r\n vm.ChangeMode('fixed');\r\n\r\n\r\n //Get Users By Role\r\n\r\n vm.GetUsersByRole = function (role) {\r\n\r\n if (vm.loggedInUserRole == 'Administrator' || vm.loggedInUserRole == 'Project Manager') {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemNames = \"Locations,SkillSet,UserStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active';\r\n } else {\r\n var itemNames = \"UserStatus\";\r\n var itemValues = \"Active\";\r\n }\r\n } else if (vm.loggedinAs == 'Supervisor' || vm.loggedinAs == 'Vendor Supervisor') {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemNames = \"Locations,SkillSet,UserStatus,ReportingTo\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active' + ',' + vm.loggedInUserReportingTo;\r\n } else {\r\n var itemNames = \"UserStatus,ReportingTo\";\r\n var itemValues = \"Active,\" + vm.loggedInUserReportingTo;\r\n }\r\n } else if (vm.loggedInUserRole == 'Vendor Manager') {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemNames = \"Locations,SkillSet,UserStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active';\r\n } else {\r\n var itemNames = \"UserStatus\";\r\n var itemValues = \"Active,\";\r\n }\r\n }\r\n else if (vm.loggedInUserRole == 'Help Desk') {\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n var itemNames = \"Locations,SkillSet,UserStatus\";\r\n var itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active';\r\n } else {\r\n var itemNames = \"UserStatus\";\r\n var itemValues = \"Active,\";\r\n }\r\n }\r\n\r\n CRMManualAssignationJobService.GetUsersByRole(loggedinUser, role, itemNames, itemValues, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.supervisorList = resp.data;\r\n preprocessData(vm.supervisorList);\r\n }\r\n })\r\n\r\n }\r\n\r\n vm.processBroadcastRouteResponse= function(data){\r\n var SuccessCount = 0;\r\n var failuremsg = '';\r\n\r\n angular.forEach(data, function (res) {\r\n if (res.BroadcastStatus=='Success') {\r\n SuccessCount = SuccessCount + 1; \r\n }\r\n else\r\n {\r\n failuremsg = failuremsg + res.JobId + ' ' + res.BroadcastStatus + ' ';\r\n }\r\n });\r\n\r\n if(SuccessCount > 0 && failuremsg)\r\n {\r\n failuremsg = SuccessCount + ' Jobs routed Successfully ' + failuremsg;\r\n vm.showFailure('Failed',failuremsg);\r\n }\r\n else if(SuccessCount > 0)\r\n {\r\n failuremsg = SuccessCount + ' Jobs routed Successfully ';\r\n vm.showSuccess('Success',failuremsg);\r\n }\r\n else\r\n {\r\n vm.showFailure('Failed',failuremsg);\r\n }\r\n }\r\n\r\n //vm.tabNo('1');\r\n // Route Jobs\r\n vm.routeTicket = function(index){\r\n vm.DisableRouteBroadcastButtons(true);\r\n var data = {};\r\n for(var i=0; i< vm.ticketList.length;i++){\r\n if(vm.ticketList[i].TicketStatus==\"New\")\r\n {\r\n if(vm.ticketList[i].checked){\r\n if(i==0){\r\n data.JobIds = vm.ticketList[i].TicketId;\r\n }else{\r\n data.JobIds = data.JobIds + ',' + vm.ticketList[i].TicketId;\r\n }\r\n }\r\n }\r\n } \r\n if(vm.workorderTkt){\r\n data.JobIds = vm.tickIdForWoL;\r\n } \r\n for(var i=0; i< vm.UserByFiltersList.length;i++){\r\n if(vm.UserByFiltersList[i].checked){\r\n data.UserId = vm.UserByFiltersList[i].UserId;\r\n break;\r\n }\r\n }\r\n if(data.JobIds){\r\n CRMManualAssignationJobService.RouteJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 201) {\r\n vm.processBroadcastRouteResponse(resp.data);\t\t \r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n vm.UsersFilterArray(); \r\n vm.GetUserByFiltersWithDynaPage(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize);\r\n vm.DisableRouteBroadcastButtons(false);\r\n }, 2000);\r\n }\r\n else if(resp.status == 206){\r\n vm.showFailure(\"Failed\", resp.data);\r\n vm.DisableRouteBroadcastButtons(false);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n vm.DisableRouteBroadcastButtons(false);\r\n }\r\n });\r\n }else{\r\n vm.showFailure(\"Failed\", \"Please select tickets.\");\r\n vm.DisableRouteBroadcastButtons(false);\r\n }\r\n \r\n }\r\n\r\n // Route Jobs for user Suggestion\r\n vm.routeTicketUS = function (user) { \r\n vm.DisableRouteBroadcastButtons(true);\r\n var data = user; //vm.UserSuggestionList[0];\r\n var temp = [];\r\n temp.push({ \"UserId\": data.id, \"SuggestedPrice\": null, \"Price\": parseFloat(data.Price), \"Distance\": parseFloat(data.UserDistance) });\r\n var data = {\r\n \"JobId\": vm.broadcastTicketId,\r\n \"BIDDuration\": vm.TicketSelectedForAssistedSuggestion.BidDuration,\r\n \"MobiforceCommissionPercentage\": vm.TicketSelectedForAssistedSuggestion.MobiforceCommission,\r\n \"BroadcastType\": \"Route\",\r\n \"TechnicianSource\": 1,\r\n \"Users\": temp\r\n };\r\n if (data.Users.length > 0) {\r\n vm.showloading = true;\r\n CRMManualAssignationJobService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n \r\n if (resp.status == 201) {\r\n vm.showSuccess('Success', \"Jobs Route Successfully\");\r\n $timeout(function () {\r\n $state.reload();\r\n vm.DisableRouteBroadcastButtons(false);\r\n }, 2000);\r\n }\r\n else if (resp.status == 206) {\r\n vm.showFailure('Failed', resp.data.Message);\r\n vm.DisableRouteBroadcastButtons(false);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", \"Users Not Found\");\r\n $timeout(function () {\r\n $state.reload();\r\n vm.DisableRouteBroadcastButtons(false);\r\n }, 2000);\r\n }\r\n vm.showloading = false;\r\n });\r\n } else {\r\n vm.showFailure(\"Failed\", \"Please select users.\");\r\n $timeout(function () {\r\n $state.reload();\r\n vm.DisableRouteBroadcastButtons(false);\r\n }, 2000);\r\n }\r\n \r\n }\r\n\r\n //brodcast ticket nearBy\r\n vm.BroadcastTicketUserSuggestion = function (i) {\r\n //vm.dissbleBroadcastButton = true;\r\n vm.DisableRouteBroadcastButtons(true);\r\n var temp = [];\r\n angular.forEach(vm.UserSuggestionList, function(d){\r\n if (d.checked) {\r\n temp.push({ \"UserId\": d.id, \"SuggestedPrice\": null, \"Price\": parseInt(d.Price), \"Distance\": parseInt(d.UserDistance) });\r\n \r\n }\r\n })\r\n var data = {\r\n \"JobId\": vm.broadcastTicketId,\r\n \"BIDDuration\": vm.TicketSelectedForAssistedSuggestion.BidDuration,\r\n \"MobiforceCommissionPercentage\": vm.TicketSelectedForAssistedSuggestion.MobiforceCommission,\r\n \"TechnicianSource\": 1,\r\n \"Users\": temp\r\n };\r\n if (data.Users.length > 0) {\r\n CRMManualAssignationJobService.BroadCastJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 201) {\r\n vm.showSuccess('Success', \"Jobs Broadcasted Successfully\");\r\n $timeout(function () {\r\n $state.reload();\r\n vm.DisableRouteBroadcastButtons(false);\r\n }, 2000);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data.BroadcastStatus);\r\n vm.DisableRouteBroadcastButtons(false);\r\n }\r\n });\r\n } \r\n else {\r\n vm.showFailure(\"Failed\", resp.data.BroadcastStatus);\r\n $timeout(function () {\r\n $state.reload();\r\n vm.DisableRouteBroadcastButtons(false);\r\n }, 2000);\r\n }\r\n }\r\n\r\n\r\n // Route Jobs\r\n vm.routeTicketToFV = function(index){\r\n var data = {};\r\n for(var i=0; i< vm.NewJobs.length;i++){\r\n if(vm.NewJobs[i].checked){\r\n if(i==0){\r\n data.JobIds = vm.NewJobs[i].TicketId;\r\n }else{\r\n data.JobIds = data.JobIds + ',' + vm.NewJobs[i].TicketId;\r\n }\r\n }\r\n }\r\n for(var i=0; i< vm.FreelancerVendorUsers.length;i++){\r\n if(vm.FreelancerVendorUsers[i].checked){\r\n data.UserId = vm.FreelancerVendorUsers[i].UserId;\r\n break;\r\n }\r\n }\r\n\r\n if(data.JobIds){\r\n CRMManualAssignationJobService.RouteJobsforUser(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 201) {\r\n vm.showSuccess('Success',\"Jobs Route Successfully\");\r\n $timeout(function () {\r\n $state.reload();\r\n }, 2000);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", \"Server error.\");\r\n }\r\n });\r\n }else{\r\n vm.showFailure(\"Failed\", \"Please select tickets.\");\r\n }\r\n \r\n }\r\n\r\n //Broadcast Bids/Jobs\r\n vm.BroadCastJobs = function () {\r\n vm.DisableRouteBroadcastButtons(true);\r\n var BidData = [];\r\n angular.forEach(vm.ticketList, function (d) {\r\n var obj = {};\r\n var time = '';\r\n var hrs = '';\r\n var min = '';\r\n if(d.TicketStatus==\"New\")\r\n {\r\n if (d.checked) {\r\n obj.JobID = d.TicketId;\r\n var time = d.BidDuration.split(':');\r\n var hrs = parseInt(time[0]);\r\n var min = parseInt(time[1]);\r\n obj.BIDDuration = hrs*60 + min;\r\n obj.BroadCastRate = d.BroadcastRate\r\n obj.BroadCastGrossRate = d.BroadcastGrossRate\r\n obj.MobiforceCommissionPercentage = d.MobiforceCommission\r\n obj.FixedBidPrice = true;\r\n BidData.push(obj);\r\n }\r\n }\r\n })\r\n var UserData = [];\r\n\r\n for(var i=0; i< vm.UserByFiltersList.length;i++){\r\n if(vm.UserByFiltersList[i].checked){\r\n UserData.push(vm.UserByFiltersList[i].UserId); \r\n }\r\n }\r\n\r\n if (BidData.length > 0 && UserData.length > 0) {\r\n var data = {\r\n \"Bids\": BidData,\r\n \"Users\": UserData\r\n };\r\n //$log.log('BradcastedJobs', data);\r\n vm.BroadcastModal.close();\r\n\r\n CRMManualAssignationJobService.BroadCastJobs(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 201 || resp.status == 200) {\r\n vm.processBroadcastRouteResponse(resp.data);\r\n //vm.toaster_success.body = 'Jobs Broadcasted Successfully';\r\n //toaster.pop(vm.toaster_success);\r\n vm.free_NewJobSelectedItems = [];\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n vm.UsersFilterArray(); \r\n vm.GetUserByFiltersWithDynaPage(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize);\r\n vm.DisableRouteBroadcastButtons(false);\r\n }, 2000);\r\n }\r\n if (resp.status == 206) {\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n vm.DisableRouteBroadcastButtons(false);\r\n }\r\n })\r\n } else {\r\n vm.showFailure(\"Failed\", \"Please select jobs and users.\");\r\n vm.DisableRouteBroadcastButtons(false);\r\n }\r\n }\r\n \r\n\r\n vm.BroadCastJobsFV = function () {\r\n\r\n var BidData = [];\r\n angular.forEach(vm.NewJobs, function (d) {\r\n var obj = {};\r\n var time = '';\r\n var hrs = '';\r\n var min = '';\r\n if (d.checked) {\r\n obj.JobID = d.TicketId;\r\n var time = d.BidDuration.split(':');\r\n var hrs = parseInt(time[0]);\r\n var min = parseInt(time[1]);\r\n obj.BIDDuration = hrs*60 + min;\r\n obj.BroadCastRate = d.BroadcastRate\r\n obj.BroadCastGrossRate = d.BroadcastGrossRate\r\n obj.MobiforceCommissionPercentage = d.MobiforceCommission\r\n obj.FixedBidPrice = true;\r\n BidData.push(obj);\r\n }\r\n })\r\n var UserData = [];\r\n for(var i=0; i< vm.FreelancerVendorUsers.length;i++){\r\n if(vm.FreelancerVendorUsers[i].checked){\r\n UserData.push(vm.FreelancerVendorUsers[i].UserId); \r\n }\r\n }\r\n\r\n if (BidData.length > 0 && UserData.length > 0) {\r\n var data = {\r\n \"Bids\": BidData,\r\n \"Users\": UserData\r\n };\r\n vm.BroadcastModalFV.close();\r\n CRMManualAssignationJobService.BroadCastJobs(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 201 || resp.status == 200) {\r\n vm.toaster_success.body = 'Jobs Broadcasted Successfully';\r\n toaster.pop(vm.toaster_success);\r\n vm.free_NewJobSelectedItems = [];\r\n $timeout(function () {\r\n $state.reload();\r\n }, 2000);\r\n }\r\n })\r\n } else {\r\n vm.showFailure(\"Failed\", \"Please select jobs and users.\");\r\n }\r\n }\r\n\r\nvm.AssignReceivedBid = function(user){ \r\nvm.AllDataList =[];\r\nvar data ={\r\n\"TicketId\": vm.broadcastTicketId,\r\n \"UserId\": user.UserId,\r\n \"StartTime\":vm.broadcaststartTime,\r\n \"Endtime\": vm.broadcastEndTime,\r\n \"SuggestedPrice\": 0,\r\n \"AssignPrice\": parseInt(vm.broadcastAssignRate),\r\n \"Distance\": 0,\r\n}\r\nvm.AllDataList.push(data)\r\n ScheduleAssignService.AssignTicketsTimeline(loggedinUser,vm.AllDataList,token).then(function(resp){\r\n if (resp && resp.data) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.ChangeMode('freelancer');\r\n vm.BidReceivedJobs = [];\r\n $timeout(function () {\r\n $scope.hideSentUser();\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n }, 500);\r\n }\r\n }, function (err) {\r\n if (err && err.data) {\r\n vm.showFailure(\"Failed\", err.data);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to assign job, server is not responding correctly.\");\r\n }\r\n })\r\n}\r\n\r\n //Get Bid Received\r\n\r\n vm.BidReceived = function (ticket) { \r\n var status = 'Received';\r\n vm.bidStatus = status;\r\n vm.ticketStatusCheck = ticket.TicketStatus;\r\n vm.broadcastTicketId = ticket.TicketId;\r\n vm.broadcastLinkId = ticket.LinkId;\r\n vm.broadcaststartTime = ticket.StartTimeD;\r\n vm.broadcastEndTime = ticket.EndTime;\r\n vm.broadcastTicketInfo = ticket;\r\n vm.isReceived = true;\r\n vm.BIDMaxcount = 10; \r\n vm.BIDStartIndex = 0;\r\n CRMManualAssignationJobService.GetBidReceivedByStatus(loggedinUser, vm.broadcastTicketId, status, token).then(function (resp) { \r\n if (resp && resp.data) {\r\n vm.BidReceivedJobs = resp.data;\r\n vm.UserBIDCount = vm.BidReceivedJobs.length;\r\n $scope.totalUserBID = vm.UserBIDCount; \r\n $scope.UserBIDpagination = {\r\n current: 1\r\n };\r\n angular.forEach(vm.BidReceivedJobs, function (user) {\r\n\r\n user.ratingStars = vm.getRatingStars(user.UserRating);\r\n user.blankStars = vm.getBlankStars(user.UserRating);\r\n user.exp = user.Experience > 0 ? parseFloat(user.UserExperience / 365).toFixed(1) : 0;\r\n })\r\n for(var i=0;i 0 ) {\r\n $scope.toggleForBroadcast();\r\n }\r\n }\r\n })\r\n }\r\n\r\n //deny\r\n vm.BidDeny = function (ticket) { \r\n document.getElementById(\"SendAndRecieveBid\").style.width = \"42%\";\r\n var status = 'Deny';\r\n vm.bidStatus = status;\r\n vm.ticketStatusCheck = ticket.TicketStatus;\r\n vm.broadcastTicketId = ticket.TicketId;\r\n vm.broadcastLinkId = ticket.LinkId;\r\n vm.broadcaststartTime = ticket.StartTimeD;\r\n vm.broadcastEndTime = ticket.EndTime;\r\n vm.broadcastTicketInfo = ticket;\r\n vm.isReceived = true;\r\n CRMManualAssignationJobService.GetBidDeny(loggedinUser, vm.broadcastTicketId, status, token).then(function (resp) { \r\n if (resp && resp.data) {\r\n vm.BidReceivedJobs = resp.data;\r\n vm.UserBIDCount = vm.BidReceivedJobs.length;\r\n $scope.totalUserBID = vm.UserBIDCount; \r\n $scope.UserBIDpagination = {\r\n current: 1\r\n };\r\n angular.forEach(vm.BidReceivedJobs, function (user) {\r\n user.ratingStars = vm.getRatingStars(user.UserRating);\r\n user.blankStars = vm.getBlankStars(user.UserRating);\r\n user.exp = user.Experience > 0 ? parseFloat(user.UserExperience / 365).toFixed(1) : 0;\r\n })\r\n // for(var i=0;i 0 ? parseFloat(user.UserExperience / 365).toFixed(1) : 0; \r\n })\r\n for(var i=0;ilTfgitp').withPaginationType(\r\n 'full_numbers').withOption('lengthChange', false)\r\n .withOption('initComplete', function () {\r\n $('.dataTables_filter input').unbind();\r\n })\r\n .withOption('order', [1, 'asc']);\r\n\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n //DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable()\r\n ];\r\n\r\n //Global Calling\r\n //vm.GetNewJobs();\r\n vm.GetAllActiveFixedUsers();\r\n //$log.log('isChecked', vm.isChecked);\r\n\r\n vm.openBroadcastmodal = function (i) {\r\n vm.broadcastError = null; \r\n vm.jobselected = [];\r\n angular.forEach(vm.ticketList, function (d) {\r\n if(d.TicketStatus==\"New\")\r\n {\r\n if (d.checked) {\r\n if (!d.BidDuration.includes(\":\")) {\r\n d.BidDuration = parseInt(d.BidDuration / 60) + \":\" + parseInt(d.BidDuration % 60);\r\n }\r\n \r\n \r\n vm.jobselected.push(d);\r\n $log.log(d)\r\n // angular.forEach(vm.jobselected, function (t) {\r\n // t.PincodeArray = t.Pincode.split(\"|\");\r\n // t.Pincode = Array.from(new Set(t.PincodeArray));\r\n // t.SkillSetArray = t.SkillSet.split(\"|\");\r\n // t.SkillSet = Array.from(new Set(t.SkillSetArray));\r\n // })\r\n }\r\n }\r\n });\r\n \r\n if (vm.jobselected.length > 0) {\r\n vm.BroadcastModal = $uibModal.open({\r\n templateUrl: 'Broadcast.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n else\r\n {\r\n vm.showFailure(\"Failed\", \"Please select jobs\"); \r\n vm.broadcastError = \"Please select jobs for bradcast\";\r\n }\r\n }\r\n\r\n vm.closeModal = function () {\r\n vm.BroadcastModal.close();\r\n }\r\n\r\n vm.openBroadcastmodalforFV = function (i) {\r\n vm.broadcastErrorFV = null; \r\n vm.jobselectedFV = [];\r\n angular.forEach(vm.NewJobs, function (d) {\r\n if (d.checked) {\r\n if (!d.BidDuration.includes(\":\")) {\r\n d.BidDuration = parseInt(d.BidDuration / 60) + \":\" + parseInt(d.BidDuration % 60);\r\n }\r\n \r\n vm.jobselectedFV.push(d);\r\n $log.log(d)\r\n }\r\n });\r\n if (vm.jobselectedFV.length > 0) {\r\n vm.BroadcastModalFV = $uibModal.open({\r\n templateUrl: 'BroadcastFV.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n } else {\r\n vm.broadcastErrorFV = \"Please select jobs for bradcast\";\r\n }\r\n }\r\n\r\n\r\n vm.OpenBroadcastModelToFV = function (i) {\r\n vm.broadcastErrorFV = null; \r\n vm.jobselectedFV = [];\r\n angular.forEach(vm.NewJobs, function (d) {\r\n if (d.checked) {\r\n if (!d.BidDuration.includes(\":\")) {\r\n d.BidDuration = parseInt(d.BidDuration / 60) + \":\" + parseInt(d.BidDuration % 60);\r\n }\r\n \r\n vm.jobselectedFV.push(d);\r\n $log.log(d)\r\n }\r\n });\r\n if (vm.jobselectedFV.length > 0) {\r\n vm.BroadcastModalFV = $uibModal.open({\r\n templateUrl: 'BroadcastFV.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n } else {\r\n vm.broadcastErrorFV = \"Please select jobs for bradcast\";\r\n }\r\n }\r\n\r\n vm.closeModalFV = function () {\r\n vm.BroadcastModalFV.close();\r\n }\r\n\r\n vm.GetAllVendors = function () {\r\n vm.vendorList = [];\r\n var itemNames = \"\";\r\n var itemValues = \"\";\r\n if (vm.locationSearch != '' && vm.skillsSearch != '') {\r\n itemNames = \"VendorLocations,VendorSkillsets,VendorStatus\";\r\n itemValues = vm.locationSearch + ',' + vm.skillsSearch + ',' + 'Active';\r\n } else {\r\n itemNames = \"VendorStatus\";\r\n itemValues = \"Active\";\r\n }\r\n if (vm.loggedInUserRole == 'Help Desk') {\r\n itemNames += \",VendorSkillsets\";\r\n itemValues += \",\"+ loggedinUserSkill; \r\n }\r\n\r\n // GetAllVendors\r\n CRMManualAssignationJobService.GetFixedVendorsByFilters(loggedinUser, itemNames, itemValues, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp && resp.data) {\r\n angular.forEach(resp.data, function(vendor){\r\n if (vendor.UserId !=loggedinUser) {\r\n vm.vendorList.push(vendor);\r\n }\r\n })\r\n preprocessData(vm.vendorList);\r\n }\r\n } else {\r\n vm.vendorList = '';\r\n }\r\n })\r\n }\r\n\r\n //Implementation of Checkboxes for all tables\r\n vm.selectedItems = [];\r\n vm.fixed_select_single = [];\r\n vm.free_selectedItems = [];\r\n vm.freelancer_select_single = [];\r\n vm.free_NewJobSelectedItems = [];\r\n vm.freelancer_select_single_NewJob = [];\r\n vm.selectAllCheckboxes = function (mode, table) {\r\n if (mode == 'fixed' && table == 'fixed_NewJob') {\r\n if (vm.fixed_selectAll) {\r\n angular.forEach(vm.NewJobs, function (item) {\r\n idx = vm.selectedItems.indexOf(item);\r\n if (idx >= 0) {\r\n return true;\r\n } else {\r\n vm.fixed_select_all = true;\r\n vm.selectedItems.push(item);\r\n vm.fixed_select_single.push(\"true\");\r\n }\r\n })\r\n\r\n } else {\r\n vm.fixed_select_all = false;\r\n vm.fixed_selectAll = false;\r\n vm.selectedItems = [];\r\n vm.fixed_select_single = [];\r\n }\r\n\r\n //$log.log('selectedItems', vm.selectedItems);\r\n } else if (mode == 'freelancer' && table == 'freelancer_users') {\r\n if (vm.freelancer_selectAll) {\r\n angular.forEach(vm.freelancerUsers, function (item) {\r\n idx = vm.free_selectedItems.indexOf(item);\r\n if (idx >= 0) {\r\n return true;\r\n } else {\r\n vm.freelancer_select_all = true;\r\n vm.free_selectedItems.push(item);\r\n vm.freelancer_select_single.push(\"true\");\r\n }\r\n })\r\n } else {\r\n vm.freelancer_select_all = false;\r\n vm.freelacer_selectAll = false;\r\n vm.free_selectedItems = [];\r\n vm.freelancer_select_single = [];\r\n }\r\n\r\n } else if (mode == 'freelancer' && table == 'freelancer_NewJob') {\r\n if (vm.freelancer_SelectAllJobs) {\r\n angular.forEach(vm.NewJobs, function (item) {\r\n idx = vm.free_NewJobSelectedItems.indexOf(item);\r\n if (idx >= 0) {\r\n return true;\r\n } else {\r\n vm.freelancer_Select_All_NewJobs = true;\r\n vm.free_NewJobSelectedItems.push(item);\r\n vm.freelancer_select_single_NewJob.push(\"true\");\r\n }\r\n })\r\n } else {\r\n vm.freelancer_Select_All_NewJobs = false;\r\n vm.freelancer_SelectAllJobs = false;\r\n vm.free_NewJobSelectedItems = [];\r\n vm.freelancer_select_single_NewJob = [];\r\n }\r\n }\r\n }\r\n\r\n function preprocessData(users) {\r\n if (users && users.length > 0) {\r\n angular.forEach(users, function (user) {\r\n user.locationCount = user.Locations && user.Locations.length > 0 ? user.Locations.length : 0;\r\n user.locationToolTip = \"\";\r\n if (user.locationCount > 0) {\r\n angular.forEach(user.Locations, function (loc) {\r\n user.locationToolTip += loc + \",\";\r\n })\r\n user.locationToolTip = user.locationToolTip.substr(0, user.locationToolTip.length - 1);\r\n }\r\n\r\n user.SkillSetCount = user.SkillSet && user.SkillSet.length > 0 ? user.SkillSet.length : 0;\r\n user.SkillSetToolTip = \"\";\r\n if (user.SkillSetCount > 0) {\r\n angular.forEach(user.SkillSet, function (s) {\r\n user.SkillSetToolTip += s + \",\";\r\n })\r\n user.SkillSetToolTip = user.SkillSetToolTip.substr(0, user.SkillSetToolTip.length - 1);\r\n }\r\n user.OneJobSkillSetCount = user.OneJobDoneSkillSet && user.OneJobDoneSkillSet.length > 0 ? user.OneJobDoneSkillSet.length : 0;\r\n user.OneJobSkillSetToolTip = \"\";\r\n if (user.OneJobSkillSetCount > 0) {\r\n angular.forEach(user.OneJobDoneSkillSet, function (s) {\r\n user.OneJobSkillSetToolTip += s + \",\";\r\n })\r\n user.OneJobSkillSetToolTip = user.OneJobSkillSetToolTip.substr(0, user.OneJobSkillSetToolTip.length - 1);\r\n }\r\n\r\n user.ToolsListCount = user.Tools && user.Tools.length > 0 ? user.Tools.length : 0;\r\n user.ToolsListToolTip = \"\";\r\n if (user.ToolsListCount > 0) {\r\n angular.forEach(user.Tools , function (s) {\r\n user.ToolsListToolTip += s + \",\";\r\n })\r\n user.ToolsListToolTip = user.ToolsListToolTip.substr(0, user.ToolsListToolTip.length - 1);\r\n }\r\n user.VendorLocationsCount = user.VendorLocations && user.VendorLocations.length > 0 ? user.VendorLocations.length : 0;\r\n user.VendorLocationsToolTip = \"\";\r\n if (user.VendorLocationsCount > 0) {\r\n angular.forEach(user.VendorLocations, function (loc) {\r\n user.VendorLocationsToolTip += loc + \",\";\r\n })\r\n user.VendorLocationsToolTip = user.VendorLocationsToolTip.substr(0, user.VendorLocationsToolTip.length - 1);\r\n }\r\n\r\n user.VendorSkillsetsCount = user.VendorSkillsets && user.VendorSkillsets.length > 0 ? user.VendorSkillsets.length : 0;\r\n user.VendorSkillsetsToolTip = \"\";\r\n if (user.VendorSkillsetsCount > 0) {\r\n angular.forEach(user.VendorSkillsets, function (s) {\r\n user.VendorSkillsetsToolTip += s + \",\";\r\n })\r\n user.VendorSkillsetsToolTip = user.VendorSkillsetsToolTip.substr(0, user.VendorSkillsetsToolTip.length - 1);\r\n }\r\n user.ratingStars = vm.getRatingStars(Math.round(user.Ratings));\r\n user.blankStars = vm.getBlankStars(Math.round(user.Ratings));\r\n user.exp = user.Experience > 0 ? parseFloat(user.Experience / 365).toFixed(1) : 0;\r\n user.checked = false;\r\n });\r\n }\r\n }\r\n\r\n vm.getProfilePic = function (profilePicName) {\r\n return profilePicName ? ImageUrl + \"/\" + profilePicName : null;\r\n }\r\n\r\n vm.implementSelectTickets = function (itemList, scope) {\r\n scope.selectRowTicket = function (i) {\r\n vm.bundleTicketArray = []; \r\n vm.bundlePrice = [];\r\n vm.bundlesum = 0; \r\n angular.forEach(scope[itemList], function (d) {\r\n if (d.checked) {\r\n vm.bundleTicketArray.push(d.TicketId) \r\n vm.bundlePrice.push(d.FreelancerRate)\r\n vm.bundlesum = vm.bundlePrice.reduce(function (x, y) {\r\n return x + y;\r\n }, 0); \r\n } \r\n });\r\n if(vm.bundleTicketArray.length > 5) {\r\n vm.showFailure(\"Failed\", 'Please select 5 or less than 5 tickets to create combo');\r\n }\r\n }\r\n\r\n }\r\n\r\n vm.implementSelectTickets('jobTickets', this);\r\n\r\n vm.toBebundle = [];\r\n vm.implementSelectItemsNewJob = function (itemList, scope) {\r\n scope.selectAllNewJob = false;\r\n scope.showMinusNewJob = false;\r\n scope.PlannedClosureDateFlag = false;\r\n scope.CreateComboFlag = false;\r\n scope.AutoBroadcastedOnce = true;\r\n scope.selectRowNewJob = function (i) {\r\n scope.showMinusNewJob = false;\r\n scope.selectAllNewJob = false;\r\n scope.PlannedClosureDateFlag = false;\r\n scope.CreateComboFlag = false;\r\n scope.AutoBroadcastedOnce = true;\r\n angular.forEach(scope[itemList], function (d) {\r\n if (d.checked) {\r\n vm.toBebundle.push(d.TicketId)\r\n vm.selctedTickets = vm.toBebundle.length;\r\n scope.showMinusNewJob = true;\r\n if(!d.ShowManualBroadcast){\r\n scope.AutoBroadcastedOnce = d.ShowManualBroadcast;\r\n }\r\n if(d.TicketStatus == 'New'){\r\n scope.PlannedClosureDateFlag = true;\r\n }\r\n if((d.TicketStatus == 'New' || d.TicketStatus == 'Broadcasted') && (vm.accountConfig.AccountId != '361' && vm.accountConfig.AccountId != '364')){\r\n scope.CreateComboFlag = true;\r\n }\r\n }\r\n \r\n });\r\n }\r\n scope.applyAllNewJobSelect = function () {\r\n angular.forEach(scope[itemList], function (d) {\r\n d.checked = scope.selectAllNewJob;\r\n if(d.checked && d.TicketStatus == 'New' ){\r\n scope.PlannedClosureDateFlag = true;\r\n }\r\n });\r\n }\r\n\r\n scope.resetAllSelect = function () {\r\n scope.selectAllNewJob = false;\r\n scope.showMinusNewJob = false;\r\n scope.PlannedClosureDateFlag = false;\r\n scope.CreateComboFlag = false;\r\n }\r\n }\r\n\r\n vm.implementSelectItemsNewJob('ticketList', this);\r\n\r\n vm.implementSelectItemsFL = function (itemList, scope) {\r\n scope.selectAllFL = false;\r\n scope.showMinusFL = false;\r\n scope.selectCountFL = 0;\r\n scope.selectRowFL = function (i) {\r\n //$log.log(\"selectRow called\");\r\n scope.selectCountFL = 0;\r\n scope.showMinusFL = false;\r\n scope.selectAllFL = false;\r\n angular.forEach(vm.UserByFiltersList, function (d) {\r\n // //$log.log(d);\r\n if (d.checked) {\r\n scope.showMinusFL = true;\r\n scope.selectCountFL++;\r\n }\r\n });\r\n }\r\n scope.applyAllFLSelect = function () {\r\n angular.forEach(scope[itemList], function (d) {\r\n d.checked = scope.selectAllFL;\r\n scope.selectCountFL++;\r\n });\r\n }\r\n }\r\n \r\n //\r\n vm.ResetUserSelection = function (scope){\r\n scope.selectAllFL = false;\r\n scope.showMinusFL = false;\r\n scope.selectCountFL = 0;\r\n }\r\n vm.implementSelectItemsFL('UserByFiltersList', this);\r\n\r\n\r\n //userSuggestion list\r\n vm.implementSelectItemsUS = function (itemList, scope) {\r\n scope.selectAllUS = false;\r\n scope.showMinusUS = false;\r\n scope.selectCountUS = 0;\r\n scope.selectRowUS = function (i) {\r\n scope.selectCountUS = 0;\r\n scope.showMinusUS = false;\r\n scope.selectAllUS = false;\r\n angular.forEach(vm.UserSuggestionList, function (d) {\r\n if (d.checked) {\r\n scope.showMinusUS = true;\r\n scope.selectCountUS++;\r\n }\r\n });\r\n }\r\n scope.applyAllFLSelectUS = function () {\r\n angular.forEach(scope[itemList], function (d) {\r\n d.checked = scope.selectAllUS;\r\n scope.selectCountUS++;\r\n });\r\n }\r\n }\r\n //\r\n vm.ResetUserSelectionUS = function (scope){\r\n scope.selectAllUS = false;\r\n scope.showMinusUS = false;\r\n scope.selectCountUS = 0;\r\n }\r\n\r\n vm.workorderTkt = false;\r\n vm.selectRowNewWoL = function(tktId) {\r\n vm.tickIdForWoL = tktId;\r\n vm.workorderTkt = true\r\n\r\n }\r\n\r\nvm.implementSelectItemsUS('UserSuggestionList', this);\r\n\r\n\r\nif(vm.loggedInUserRole == \"Dispatch Supervisor\" || vm.loggedInUserRole == \"OnBoarding Supervisor\")\r\n{\r\n vm.statusList=[\"Broadcasted\",\"Completed\",\"Approved\",\"Assigned\", \"New\",\"Hold\", \"ReadyToAssign\", \"Rejected\",\"Cancelled\",\"AssignedNoAction\", \"ScheduleException\",\"AddressException\",\"PriceException\"];\r\n}\r\nelse\r\n{\r\n vm.statusList=[\"Broadcasted\",\"Completed\",\"Approved\",\"Assigned\", \"New\",\"Hold\", \"ReadyToAssign\", \"Rejected\",\"Cancelled\", \"ScheduleException\",\"AddressException\",\"PriceException\"];\r\n}\r\n\r\nif(vm.loggedInUserRole == \"Dispatch Supervisor\" || vm.loggedInUserRole == \"OnBoarding Supervisor\")\r\n{\r\n vm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\",\"Private\"];\r\n}\r\nelse\r\n{\r\n if(vm.loggedInUserRole == \"Dispatch Manager\"){\r\n vm.UserTypeList = [\"Freelancer\", \"Private\", \"Freelancer Vendor\", \"Dispatch Supervisor\",\"Freelancer Dispatcher\",\"Dispatch Team Lead\"];\r\n }\r\n else if(vm.loggedInUserRole == \"OnBoarding Manager\"){\r\n vm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\", \"OnBoarding Supervisor\"];\r\n }\r\n else if(vm.loggedInUserRole == \"Dispatch Team Lead\"){\r\n vm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\", \"Private\", \"Freelancer Dispatcher\", \"Dispatch Supervisor\"];\r\n }\r\n else if(vm.loggedInUserRole == \"Administrator\") {\r\n vm.UserTypeList = [\"Project Manager\", \"Supervisor\", \"Freelancer\", \"Freelancer Vendor\",\"Private\"];\r\n }\r\n else if(vm.loggedInUserRole == \"Project Manager\"){\r\n vm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\", \"Private\", \"Supervisor\"];\r\n }\r\n else if(vm.loggedInUserRole == \"Supervisor\"){\r\n vm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\",\"Private\"];\r\n }\r\n \r\n}\r\n \r\n vm.getJobAllStatus = function () {\r\n CRMManualAssignationJobService.getJobAllStatus(loggedinUser, token, function (data) { \r\n angular.forEach(data, function (status) {\r\n if (status.StatusName == 'On Hold') {\r\n status.StatusName = 'Hold'; \r\n }\r\n vm.statusList.push(status.StatusName); \r\n }) \r\n }, vm.showFailure);\r\n }\r\n \r\n $scope.slideAssistedSuggestion = function(){ \r\n document.getElementById(\"assistedSuggestion\").style.width = \"25%\";\r\n }\r\n vm.closeAssistedSuggestion = function(){ \r\n document.getElementById(\"assistedSuggestion\").style.width = \"0%\";\r\n }\r\n vm.closeFLprofile = function(){ \r\n document.getElementById(\"freelancerProfile\").style.width = \"0%\";\r\n }\r\n $scope.slideF = function(){ \r\n document.getElementById(\"myNav\").style.height = \"86%\";\r\n }\r\n vm.closeSlide = function(){ \r\n document.getElementById(\"myNav\").style.height = \"0%\";\r\n }\r\n vm.FilterArray = function () { \r\n itemNames = '';\r\n itemValues = '';\r\n templateItemNames = '';\r\n templateItemValues = '';\r\n if (vm.searchStatusText != \"\" && vm.searchStatusText != \"All\" && vm.searchStatusText != null){\r\n if(itemNames.length > 0 && itemValues.length > 0){\r\n itemNames = itemNames + ',Status';\r\n itemValues = itemValues + ',' + vm.searchStatusText.join('|');\r\n }else{\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText.join('|');\r\n } \r\n }\r\n\r\n if (vm.ticketskill != \"\" && vm.ticketskill != null) { \r\n if(itemNames) \r\n {\r\n itemNames = itemNames + ',Skill';\r\n itemValues = itemValues + \",\" + vm.ticketskill.join('|');;\r\n }\r\n else\r\n {\r\n itemNames = 'Skill';\r\n itemValues = vm.ticketskill.join('|');;\r\n } \r\n }\r\n\r\n if (vm.GroupType){\r\n if(itemNames){\r\n itemNames = itemNames + ',GroupType';\r\n itemValues = itemValues + ',' + vm.GroupType;\r\n }else{\r\n itemNames = 'GroupType';\r\n itemValues = vm.GroupType;\r\n } \r\n }\r\n\r\n if (vm.Priority) {\r\n if (itemNames) {\r\n itemNames = itemNames + ',Priority';\r\n itemValues = itemValues + ',' + vm.Priority;\r\n } else {\r\n itemNames = 'Priority';\r\n itemValues = vm.Priority;\r\n }\r\n }\r\n\r\n if(vm.SearchByAccountName != \"\" && vm.SearchByAccountName != null)\r\n {\r\n if(itemNames) \r\n {\r\n itemNames = itemNames + ',AccountName';\r\n itemValues = itemValues + \",\" + vm.SearchByAccountName.join('|');\r\n }\r\n else\r\n {\r\n itemNames = 'AccountName';\r\n itemValues = vm.SearchByAccountName.join('|');\r\n } \r\n }\r\n if(vm.SearchByCName){\r\n if(itemNames.length > 0 && itemValues.length > 0){\r\n itemNames = itemNames + ',CustomerName';\r\n itemValues = itemValues + ',' + vm.SearchByCName;\r\n }else{\r\n itemNames = 'CustomerName';\r\n itemValues = vm.SearchByCName;\r\n }\r\n if(itemNames.length > 0 && itemValues.length > 0){\r\n itemNames = itemNames + ',ProjectName';\r\n itemValues = itemValues + ',' + vm.SearchByPName;\r\n }else{\r\n itemNames = 'ProjectName';\r\n itemValues = vm.SearchByPName;\r\n }\r\n }\r\n\r\n if(vm.JobcountbyStatus)\r\n {\r\n if(itemNames) \r\n {\r\n itemNames = itemNames + ',Status';\r\n itemValues = itemValues + \",\" + vm.JobcountbyStatus;\r\n }\r\n else\r\n {\r\n itemNames = 'Status';\r\n itemValues = vm.JobcountbyStatus;\r\n }\r\n }\r\n\r\n if (vm.userIdforStatus) {\r\n if(itemNames) \r\n {\r\n itemNames = itemNames + ',UserId';\r\n itemValues = itemValues + \",\" + vm.userIdforStatus;\r\n }\r\n else\r\n {\r\n itemNames = 'UserId';\r\n itemValues = vm.userIdforStatus;\r\n } \r\n }\r\n if (vm.filterType) {\r\n if(itemNames) \r\n {\r\n itemNames = itemNames + ',Type';\r\n itemValues = itemValues + \",\" + vm.filterType;\r\n }\r\n else\r\n {\r\n itemNames = 'Type';\r\n itemValues = vm.filterType;\r\n } \r\n }\r\n if (vm.statusForTickets) {\r\n if (itemNames) {\r\n itemNames = itemNames + ',Status';\r\n itemValues = itemValues + \",\" + vm.statusForTickets;\r\n }\r\n else {\r\n itemNames = 'Status';\r\n itemValues = vm.statusForTickets;\r\n }\r\n }\r\n\r\n if (vm.ticketstatus) { \r\n if(itemNames) \r\n {\r\n itemNames = itemNames + ',Status';\r\n itemValues = itemValues + \",\" + vm.ticketstatus;\r\n }\r\n else\r\n {\r\n itemNames = 'Status';\r\n itemValues = vm.ticketstatus;\r\n } \r\n }\r\n\r\n if (vm.SearchByDName) { \r\n if(itemNames) \r\n {\r\n itemNames = itemNames + ',UserId';\r\n itemValues = itemValues + \",\" + vm.SearchByDName.UserId;\r\n }\r\n else\r\n {\r\n itemNames = 'UserId';\r\n itemValues = vm.SearchByDName;\r\n } \r\n }\r\n\r\n \r\n textItemNames = '';\r\n textItemValues = '';\r\n if(vm.SearchByIs){\r\n if(textItemNames.length == 0 && textItemValues.length == 0){\r\n textItemNames = 'CorelationValue';\r\n textItemValues = vm.SearchByIs;\r\n }else{\r\n textItemNames = textItemNames + ',CorelationValue';\r\n textItemValues = textItemValues + ',' + vm.SearchByIs;\r\n }\r\n \r\n }\r\n if(vm.SearchByDiscription){\r\n if(textItemNames.length == 0 && textItemValues.length == 0){\r\n textItemNames = 'JobDescription';\r\n textItemValues = vm.SearchByDiscription;\r\n }else{\r\n textItemNames = textItemNames + ',JobDescription';\r\n textItemValues = textItemValues + ',' + vm.SearchByDiscription;\r\n }\r\n }\r\n if(vm.SearchByTName){\r\n if(textItemNames.length == 0 && textItemValues.length == 0){\r\n textItemNames = 'UserName';\r\n textItemValues = vm.SearchByTName;\r\n }else{\r\n textItemNames = textItemNames + ',UserName';\r\n textItemValues = textItemValues + ',' + vm.SearchByTName;\r\n }\r\n }\r\n if(vm.SearchByConsumerName){\r\n if(textItemNames.length == 0 && textItemValues.length == 0){\r\n textItemNames = 'ConsumerName';\r\n textItemValues = vm.SearchByConsumerName;\r\n }else{\r\n textItemNames = textItemNames + ',ConsumerName';\r\n textItemValues = textItemValues + ',' + vm.SearchByConsumerName;\r\n }\r\n }\r\n if(vm.SearchByConsumerContact){\r\n if(textItemNames.length == 0 && textItemValues.length == 0){\r\n textItemNames = 'ConsumerContact';\r\n textItemValues = vm.SearchByConsumerContact;\r\n }else{\r\n textItemNames = textItemNames + ',ConsumerContact';\r\n textItemValues = textItemValues + ',' + vm.SearchByConsumerContact;\r\n }\r\n }\r\n\r\n if (vm.State) { \r\n if(itemNames) \r\n {\r\n itemNames = itemNames + ',State';\r\n itemValues = itemValues + \",\" + vm.State;\r\n }\r\n else\r\n {\r\n itemNames = 'State';\r\n itemValues = vm.State;\r\n } \r\n }\r\n\r\n if (vm.State && vm.City) { \r\n if(itemNames) \r\n {\r\n itemNames = itemNames + ',City';\r\n itemValues = itemValues + \",\" + vm.City;\r\n }\r\n else\r\n {\r\n itemNames = 'City';\r\n itemValues = vm.City;\r\n } \r\n }\r\n\r\n if(vm.searchText)\r\n {\r\n itemNames = 'Search';\r\n itemValues = vm.searchText;\r\n templateItemNames = '';\r\n templateItemValues = ''; \r\n textItemNames = '';\r\n textItemValues = '';\r\n startDate = startDate;\r\n endDate = endDate;\r\n }\r\n }\r\n\r\n\r\n vm.ResetTicketFilter = function () { \r\n vm.ticketaccount = '';\r\n vm.PermanentState = '';\r\n vm.ticketskill = '';\r\n vm.ticketstatus = '';\r\n vm.PermanentCity = '';\r\n vm.searchStatusText = '';\r\n }\r\n\r\n vm.ResetUserFilter = function () { \r\n vm.UsersType = '';\r\n vm.userlocation = '';\r\n vm.userskill = ''; \r\n vm.uType= ''; \r\n vm.SearchByIs = '';\r\n vm.SearchByDiscription = '';\r\n vm.SearchByTName = '';\r\n vm.SearchByPName = '';\r\n vm.SearchByDName = '';\r\n vm.SearchByCName = ''; \r\n vm.SearchByConsumerName = '';\r\n vm.SearchByConsumerContact = '';\r\n vm.CurrentCity = '';\r\n vm.CurrentState = '';\r\n vm.WorkState = '';\r\n vm.WorkCity = '';\r\n vm.userIdforStatus = '';\r\n vm.statusForTickets = '';\r\n vm.filterType = '';\r\n }\r\n vm.PlannedClosureDateModelOpen= function()\r\n { \r\n var ticketIdList=[];\r\n vm.IsLoadSucessfull=false;\r\n for(var j=0;j

\" + vm.name + \"

\" + ' ' + vm.contactnumber);\r\n $scope.InfoWindow.open($scope.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n $scope.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, vm.customerJobCard);\r\n\r\n //Plotting the Marker on the Map.\r\n $scope.Latlngbounds.extend(marker.position);\r\n\r\n }\r\n vm.makeJobMarker = function (position, icon, map) {\r\n var marker = new google.maps.Marker({\r\n position: position,\r\n map: map,\r\n icon: icon\r\n });\r\n\r\n //Adding InfoWindow to the Marker.\r\n (function (marker, customerJobCard) {\r\n google.maps.event.addListener(marker, \"mouseover\", function (e) {\r\n $scope.InfoWindow.setContent(\"

\" + vm.customerJobCard.ConsumerName + \"

\" + ' ' + vm.customerJobCard.JobId + \"
\" + ' ' + moment(vm.customerJobCard.JobDateTime).format(\"YYYY-MM-DD HH:mm\") + \"
\" + ' ' + vm.customerJobCard.ConsumerContact);\r\n $scope.InfoWindow.open($scope.Map, marker);\r\n });\r\n google.maps.event.addListener(marker, \"mouseout\", function (e) {\r\n $scope.InfoWindow.close(vm.Map, marker);\r\n });\r\n })(marker, vm.customerJobCard);\r\n\r\n //Plotting the Marker on the Map.\r\n $scope.Latlngbounds.extend(marker.position);\r\n }\r\n function initMap() {\r\n var pointA = new google.maps.LatLng(vm.JobLatitude, vm.JobLongitude),\r\n pointB = new google.maps.LatLng(vm.FELatitude, vm.FELongitude),\r\n // center = new google.maps.LatLng(51.3, 0.8),\r\n myOptions = {\r\n zoom: 8,\r\n zoomControl: false,\r\n scaleControl: true,\r\n mapTypeControl: false,\r\n streetViewControl: false,\r\n gestureHandling: 'greedy',\r\n // center: center,\r\n mapTypeId: google.maps.MapTypeId.ROADMAP\r\n },\r\n\r\n map = new google.maps.Map(document.getElementById('map-canvas'), myOptions),\r\n // Instantiate a directions service.\r\n directionsService = new google.maps.DirectionsService,\r\n directionsDisplay = new google.maps.DirectionsRenderer({\r\n map: map\r\n }),\r\n duration = document.getElementById('duration');\r\n distance = document.getElementById('distance');\r\n flightPath = new google.maps.Polyline({\r\n path: [pointA, pointB],\r\n // geodesic: true,\r\n strokeColor: 'red',\r\n });\r\n $scope.InfoWindow = new google.maps.InfoWindow();\r\n $scope.Latlngbounds = new google.maps.LatLngBounds();\r\n // click on marker B to get route from A to B\r\n calculateAndDisplayRoute(directionsService, directionsDisplay, pointA, pointB, distance, duration, map);\r\n var travelMode = \"DRIVING\";\r\n var icon = \"https://img.icons8.com/color/96/000000/street-view.png\";\r\n }\r\n function calculateAndDisplayRoute(directionsService, directionsDisplay, pointA, pointB, distance, duration, map) {\r\n var selectedMode = \"DRIVING\";\r\n directionsService.route({\r\n origin: pointA,\r\n destination: pointB,\r\n unitSystem: google.maps.UnitSystem.METRIC,\r\n travelMode: google.maps.TravelMode[selectedMode]\r\n }, function (response, status) {\r\n if (status == google.maps.DirectionsStatus.OK) {\r\n new google.maps.DirectionsRenderer({\r\n map: map,\r\n directions: response,\r\n suppressMarkers: true,\r\n polylineOptions: {\r\n strokeColor: \"#000000\"\r\n }\r\n });\r\n var leg = response.routes[0].legs[0];\r\n //outputTxt.innerHTML =(response.routes[0].legs[0].distance.value/1000) + \" Kms\";\r\n distance.innerHTML = response.routes[0].legs[0].distance.text;\r\n duration.innerHTML = response.routes[0].legs[0].duration.text;\r\n vm.distance = response.routes[0].legs[0].distance.value / 1000;\r\n vm.makeJobMarker(leg.start_location, icons.start, map);\r\n vm.makeUserMarker(leg.end_location, icons.end, map);\r\n } else {\r\n window.alert('Directions request failed due to ' + status);\r\n }\r\n });\r\n }\r\n var icons = {\r\n start: new google.maps.MarkerImage(\r\n // URL\r\n UIURL + '/assets/images/patterns/JOb_icon.png',\r\n // (width,height)\r\n new google.maps.Size(44, 32),\r\n // The origin point (x,y)\r\n new google.maps.Point(0, 0),\r\n // The anchor point (x,y)\r\n new google.maps.Point(22, 32)),\r\n end: new google.maps.MarkerImage(\r\n // URL\r\n UIURL + '/assets/images/patterns/delivery-man1.png',\r\n // (width,height)\r\n new google.maps.Size(44, 32),\r\n // The origin point (x,y)\r\n new google.maps.Point(0, 0),\r\n // The anchor point (x,y)\r\n new google.maps.Point(22, 32))\r\n };\r\n\r\n vm.OpenFilterModel = function () {\r\n FollowUpModel = $uibModal.open({\r\n templateUrl: 'FilterModel.html',\r\n size: 'lg',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n\r\n vm.OpenFollowUpModel = function (ticketId) {\r\n vm.followup = '';\r\n vm.tickId = ticketId;\r\n FollowUpModel = $uibModal.open({\r\n templateUrl: 'FollowupJob.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n controller: ModalInstanceCtrlFollowUp,\r\n });\r\n }\r\n\r\n vm.CloseFollowUpModel = function () {\r\n vm.primaryFollowUpReason = '';\r\n vm.primaryFollowUpRemark = '';\r\n vm.primaryHoldReason='';\r\n vm.primaryHoldRemark='';\r\n vm.followFiles = null; \r\n FollowUpModel.close();\r\n }\r\n\r\n //\r\n $scope.attachmentForFollowUp = function(files){\r\n var file = files.files[0]; \r\n vm.followFiles = files.files;\r\n var allowedExtensions = /(\\.jpg|\\.jpeg|\\.png|\\.msg|\\.pdf|\\.bmp|\\.xps)$/i; \r\n if(!allowedExtensions.exec(file.name)){\r\n vm.followFiles = [];\r\n vm.clear(); \r\n alert('Please upload file having extensions .pdf,.jpg,.jpeg,.png,.msg,.bmp,xps only.');\r\n }\r\n }\r\n \r\n vm.clear = function () {\r\n angular.element(\"input[type='file']\").val(null);\r\n }; \r\n \r\n vm.DocEdit = function(index){\r\n vm.followFiles=null; \r\n }\r\n vm.ExternalUpload = function (teamid) {\r\n var newdata = {};\r\n newdata = {\r\n \"UserId\": teamid,\r\n \"Type\": \"\",\r\n \"skillName\": \"\"\r\n }\r\n AllUsersListService.UploadExternalVideoList(newdata, loggedinUser, token).then(function (resp) {\r\n vm.UploadVideoExternal = resp.data;\r\n });\r\n }\r\n var ModalInstanceCtrlFollowUp = function ($scope, $rootScope, $uibModalInstance) { \r\n vm.updateFollowUpStatus = function () {\r\n var data = {};\r\n data = {\r\n \"userId\": loggedinUser,\r\n \"dateTime\": \"\",\r\n \"activity\": \"\",\r\n \"action\": \"FOLLOW_UP\",\r\n \"userName\": \"\",\r\n \"ticketId\": vm.tickId,\r\n \"primaryReason\": vm.primaryFollowUpReason,\r\n \"SecondryReason\": \"\",\r\n \"ReasonComment\": vm.primaryFollowUpRemark\r\n }\r\n if(vm.followFiles != null) {\r\n CRMManualAssignationJobService.UpdateFollowUpReason(data,vm.followFiles, token, loggedinUser, function (res) {\r\n if (res && res.status == 201) {\r\n vm.showSuccess(\"Success\", \"Follow up done successfully.\");\r\n vm.CloseFollowUpModel();\r\n $timeout(function () {\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n vm.filterStatusForJObs($scope.jobStatusForPaging, $scope.selectedUserId, $localStorage.loggedInUserId, token,jPageIndex,jPageSize)\r\n }, 1000); \r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to create follow up. Server is not responding correctly.\");\r\n }\r\n }, vm.showFailure);\r\n }\r\n else{\r\n CRMManualAssignationJobService.TicketFollowUpWithoutDoc(data, token, loggedinUser, function (res) {\r\n if (res && res.status == 201) {\r\n vm.showSuccess(\"Success\", \"Follow up done successfully.\");\r\n $timeout(function () {\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n }, 1000); \r\n } \r\n vm.CloseFollowUpModel();\r\n });\r\n }\r\n \r\n }\r\n }\r\n\r\n var ModelInstanceOfMap = function ($rootScope, $scope, $uibModal) {\r\n vm.getCustomerJobCard();\r\n }\r\n\r\n vm.getCustomerJobCard = function () {\r\n CRMManualAssignationJobService.getCustomerJobCardbyJobId(loggedinUser, vm.trackingTicketId, token, function (data) {\r\n vm.JobLatitude = data.JobLatitude;\r\n vm.JobLongitude = data.JobLongitude;\r\n vm.FELatitude = data.FELatitude;\r\n vm.FELongitude = data.FELongitude;\r\n vm.contactnumber = data.FEContactNumber;\r\n vm.jobtype = data.Description;\r\n vm.name = data.FEName;\r\n if(data.FEContactNumber){\r\n vm.contactnumber=data.FEContactNumber.replace(/\\d(?=\\d{4})/g, '*');\r\n }\r\n initMap();\r\n $log.log(\"res of getCustomerJobCard=\" + data);\r\n vm.customerJobCard = data;\r\n if(vm.customerJobCard.ConsumerContact){\r\n vm.customerJobCard.ConsumerContact=vm.customerJobCard.ConsumerContact.replace(/\\d(?=\\d{4})/g, '*');\r\n }\r\n if ($localStorage.rateJobParams) {\r\n vm.customerJobCard.userRole = $localStorage.Role;\r\n vm.customerJobCard.JobStatus = $localStorage.rateJobParams.status;\r\n vm.customerJobCard.CustomerGivenRating = $localStorage.rateJobParams.rating;\r\n delete $localStorage.rateJobParams;\r\n }\r\n if (data && data.JobStatus == 'PaymentDone') {\r\n\r\n }\r\n }, function () {\r\n vm.showFailure(\"Failed\", \"Unable to reach server\");\r\n });\r\n }\r\n vm.TicketBreachValueconver = function(TicketBreachValue)\r\n {\r\n var TicketBreachValueInString=\"\"; \r\n if(TicketBreachValue==0)\r\n TicketBreachValueInString = \"Not Breached\";\r\n if(TicketBreachValue==1)\r\n TicketBreachValueInString = \"Breached\";\r\n \r\n return TicketBreachValueInString;\r\n }\r\n vm.OpenTracking = function (ticket) {\r\n vm.trackingTicketId = ticket;\r\n Tracking = $uibModal.open({\r\n templateUrl: 'Tracking.html',\r\n size: 'lg',\r\n scope: $scope,\r\n controller: ModelInstanceOfMap\r\n })\r\n }\r\n vm.CloseTracking = function () {\r\n Tracking.close();\r\n }\r\n\r\n vm.OpenRescheduleAuditModal = function (currentAuditJOb) \r\n { \r\n vm.CurrentAuditJob = currentAuditJOb;\r\n vm.RatingOfTicket = '';\r\n vm.RescheduleAuditTicketId = vm.CurrentAuditJob.TicketId;\r\n vm.AuditPrimaryReason = vm.CurrentAuditJob.PrimaryReason;\r\n rescheduleAuditModalInstance = $uibModal.open({\r\n templateUrl: 'reschedule_audit_model.html',\r\n scope: $scope\r\n }); \r\n }\r\n\r\n vm.RescheduleAuditCloseModal = function () {\r\n rescheduleAuditModalInstance.close();\r\n }\r\n\r\n vm.OpenSiteAuditModal = function (currentAuditJOb) \r\n { \r\n vm.CurrentAuditJob = currentAuditJOb; \r\n vm.SiteAuditTicketId = vm.CurrentAuditJob.TicketId; \r\n siteAuditModalInstance = $uibModal.open({\r\n templateUrl: 'site_audit_model.html',\r\n scope: $scope\r\n }); \r\n }\r\n vm.SiteAuditCloseModal = function () {\r\n siteAuditModalInstance.close();\r\n }\r\n\r\n $scope.attachSiteAudit = function(files){\r\n vm.SiteAuditFileName=\"\";\r\n var file = files.files[0];\r\n vm.SiteAuditFileName=file.name;\r\n if(vm.SiteAuditFileName!=\"\") \r\n { \r\n $timeout(function () {\r\n vm.SiteAuditMessage=\"\"; \r\n }, 100); \r\n } \r\n vm.followFiles = files.files;\r\n var allowedExtensions = /(\\.pdf|\\.doc|\\.docx|\\.xls|\\.xlsx|\\.PDF|\\.DOC|\\.DOCX|\\.XLS|\\.XLSX)$/i; \r\n if(!allowedExtensions.exec(file.name)){\r\n vm.followFiles = [];\r\n vm.clear(); \r\n alert('Please upload file having extensions .pdf,.doc,.docx,.xls,.xlsx only.');\r\n }\r\n }\r\n \r\n vm.SiteRescheduleAudit = function(){ \r\n if(vm.SiteAuditFileName==\"\")\r\n { \r\n return vm.SiteAuditMessage=\"Please Select Audit Report\";\r\n }\r\n else\r\n vm.SiteAuditMessage=\"\";\r\n\r\n var data = {};\r\n data = { \r\n \"AuditResult\": vm.SiteAuditModel, \r\n \"AuditObjectId\": vm.SiteAuditTicketId,\r\n \"AuditAttachmentName\": vm.SiteAuditFileName,\r\n \"AuditFor\": \"Ticket\" \r\n } \r\n siteAuditModalInstance.close(); \r\n CRMManualAssignationJobService.AddSiteAuditwithAttachment(data, vm.followFiles, token, loggedinUser).then(function(res){\r\n if (res && res.status == 202) { \r\n vm.showSuccess(\"Success\", \"Site Audit Saved successfully.\");\r\n $timeout(function () { \r\n vm.SiteAuditFileName=\"\";\r\n vm.FilterArray(); \r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to add site audit. Server is not responding correctly.\");\r\n }\r\n },vm.showFailure);\r\n }\r\n \r\n // Combo Paging Start\r\n\r\n $scope.totalTableBundles = 0;\r\n $scope.bundleTablePerPage = vm.bundlePageListCount ; \r\n $scope.BundleTablepagination = {\r\n current: 1\r\n };\r\n \r\n vm.changeBundlePageListCount = function() { \r\n vm.GroupType = 'Combo';\r\n $scope.bundleTablePerPage = vm.bundlePageListCount;\r\n bPageSize = $scope.bundleTablePerPage;\r\n $scope.BundleTablepageChanged($scope.BundleTablepagination.current);\r\n vm.selectAll = false;\r\n }\r\n \r\n bPageIndex=$scope.BundleTablepagination.current;\r\n $scope.BundleTablepageChanged = function(newPage) { \r\n vm.GroupType = 'Combo'; \r\n bPageIndex = newPage;\r\n vm.FilterArray(); \r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,bPageIndex,bPageSize); \r\n };\r\n\r\n // Combo Paging End\r\n\r\n // WorkOrder Paging Start\r\n\r\n $scope.totalTableWorkOrder = 0;\r\n $scope.workOrderTablePerPage = vm.workOrderPageListCount ;\r\n $scope.workOrderTablepagination = {\r\n current: 1\r\n };\r\n\r\n vm.changeWorkOrderListCount = function() { \r\n vm.GroupType = 'WorkOrder';\r\n $scope.workOrderTablePerPage = vm.workOrderPageListCount;\r\n wPageSize = $scope.workOrderTablePerPage;\r\n $scope.workOrderTablepageChanged($scope.workOrderTablepagination.current);\r\n vm.selectAll = false;\r\n }\r\n\r\n wPageIndex=$scope.workOrderTablepagination.current;\r\n $scope.workOrderTablepageChanged = function(newPage) { \r\n vm.GroupType = 'WorkOrder'; \r\n wPageIndex = newPage;\r\n vm.FilterArray(); \r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,wPageIndex,wPageSize); \r\n };\r\n\r\n // WorkOrder Paging End\r\n\r\n // Ticket Paging Start\r\n\r\n $scope.totalTableTickets = 0;\r\n $scope.ticketTablePerPage = vm.ticketPageListCount ;\r\n $scope.TicketTablepagination = {\r\n current: 1\r\n }; \r\n\r\n vm.changeTicketPageListCount = function() { \r\n vm.GroupType = 'Individual|WorkOrderGroup';\r\n $scope.ticketTablePerPage = vm.ticketPageListCount;\r\n PageSize = $scope.ticketTablePerPage;\r\n $scope.TicketTablepageChanged($scope.TicketTablepagination.current);\r\n vm.selectAll = false;\r\n }\r\n \r\n PageIndex=$scope.TicketTablepagination.current;\r\n $scope.TicketTablepageChanged = function(newPage) { \r\n vm.GroupType = 'Individual|WorkOrderGroup'; \r\n PageIndex = newPage;\r\n vm.FilterArray(); \r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n };\r\n\r\n // Ticket Paging End\r\n\r\n $scope.totalUsers = 0;\r\n $scope.usersPerPage = vm.userPageListCount;\r\n $scope.Userpagination = {\r\n current: 1\r\n };\r\n\r\n //left show page 10 20 30\r\n vm.changeAllUserPageListCount = function() { \r\n $scope.usersPerPage = vm.userPageListCount;\r\n uPageSize = $scope.usersPerPage;\r\n $scope.UserTablePageChanged($scope.Userpagination.current);\r\n vm.selectAll = false;\r\n \r\n uPageIndex=$scope.Userpagination.current;\r\n $scope.UserTablePageChanged = function(newPage) { \r\n uPageIndex = newPage;\r\n vm.UsersFilterArray(); \r\n vm.GetUserByFiltersWithDynaPage(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize);\r\n };\r\n}\r\n\r\n $scope.totalUserSuggestions = 0;\r\n $scope.userSuggestionsPerPage = vm.suggestionPageListCount;\r\n $scope.UserSuggestionspagination = {\r\n current: 1\r\n };\r\n\r\n vm.cangeSuggestionPageListCount = function() { \r\n $scope.userSuggestionsPerPage = vm.suggestionPageListCount;\r\n uPageSize = $scope.userSuggestionsPerPage;\r\n $scope.UserSuggestionTablepageChanged($scope.Userpagination.current);\r\n vm.selectAll = false;\r\n }\r\n uPageIndex=$scope.Userpagination.current;\r\n $scope.UserSuggestionTablepageChanged = function(newPage) { \r\n vm.SuggestionStarIndex = (newPage-1)*vm.SuggestionMaxcount; \r\n vm.SuggestionMaxcount = newPage*vm.suggestionPageListCount \r\n };\r\n\r\n // //jobs paging (freelancer profile)\r\n $scope.totalJobs = 0;\r\n // $scope.userSuggestionsPerPage = 10; // this should match however many results your API puts on one page\r\n $scope.JobsPerPage = vm.jobsPageListCount;\r\n $scope.jobspagination = {\r\n current: 1\r\n };\r\n\r\n vm.cangeJobsPageListCount = function() { \r\n $scope.JobsPerPage = vm.jobsPageListCount;\r\n uPageSize = $scope.JobsPerPage;\r\n $scope.jobsTablepageChanged($scope.jobspagination.current);\r\n vm.selectAll = false;\r\n }\r\n uPageIndex=$scope.jobspagination.current;\r\n $scope.jobsTablepageChanged = function(newPage) { \r\n jPageIndex = newPage;\r\n vm.jobsStarIndex = (newPage-1)*vm.jobsMaxcount; \r\n vm.jobsMaxcount = newPage*vm.jobsPageListCount;\r\n vm.filterStatusForJObs($scope.jobStatusForPaging);\r\n \r\n };\r\n\r\n //pagination for BID\r\n $scope.totalUserBID = 0;\r\n $scope.userBIDPerPage = 10; // this should match however many results your API puts on one page\r\n $scope.UserBIDpagination = {\r\n current: 1\r\n };\r\n\r\n $scope.UserBIDTablepageChanged = function(newPage) {\r\n vm.BIDStartIndex = (newPage-1)*10; \r\n vm.BIDMaxcount = newPage*10\r\n };\r\n \r\n // $scope.UserTablepagination.current= $localStorage.TicketFilterModel?$localStorage.TicketFilterModel.PageIndex:1;\r\n uPageIndex=$scope.Userpagination.current;\r\n $scope.UserTablePageChanged = function(newPage) { \r\n uPageIndex = newPage;\r\n if(uitemNames != 'Search')\r\n {\r\n vm.UsersFilterArray();\r\n }\r\n vm.GetUserByFiltersWithDynaPage(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize);\r\n\r\n };\r\n\r\n vm.ticketList=[];\r\n vm.getAllJobTickets = function(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize) { \r\n var templateCols=\"\";\r\n vm.resetAllSelect();\r\n var templateCols=\"\";\r\n PageIndex = PageIndex?PageIndex:1;\r\n // vm.DateField = vm.DateField?vm.DateField:\"CreatedOn\";\r\n vm.DateField= vm.accountConfig.AccountId == 0 ? vm.DateField : 'CreatedOn';\r\n CRMManualAssignationJobService.getAllJobTickets(loggedinUser, startDate, endDate, token, itemNames, itemValues,textItemNames, textItemValues, templateCols, templateItemNames, templateItemValues,vm.DateField,PageIndex,PageSize,vm.SortType,vm.SortField).then(function (resp) {\r\n if (resp && resp.data) {\r\n // vm.ticketList = resp.data.LightTicketModels;\r\n $scope.totalTableTickets = resp.data.Count;\r\n $scope.totalTableUsers = resp.data.Count;\r\n vm.ApprovedJobCount = resp.data.ApprovedJobCount;\r\n vm.AssignJobCount = resp.data.AssignJobCount;\r\n vm.AssignedNCallTakenButNoAppointment = resp.data.AssignedNCallTakenButNoAppointment;\r\n vm.AppointmentNotTakenInTime = resp.data.AppointmentNotTakenInTime;\r\n vm.AppointmentNotBooked = resp.data.AppointmentNotBooked;\r\n vm.AppointmentBookedThenCancelled = resp.data.AppointmentBookedThenCancelled;\r\n vm.BroadcastJobCount = resp.data.BroadcastJobCount;\r\n vm.CancelledSourceCount = resp.data.CancelledSourceCount;\r\n vm.CancelJobCount = resp.data.CancelJobCount;\r\n vm.CompleteJobCount = resp.data.CompleteJobCount;\r\n vm.TotalJobCount = resp.data.TotalJobCount;\r\n vm.HoldJobCount = resp.data.HoldJobCount;\r\n vm.CancelCustomerVerified = resp.data.CancelCustomerVerified;\r\n vm.InTransitJobCount = resp.data.InTransitJobCount; \r\n vm.ItemInventoryRaised = resp.data.ItemInventoryRaised;\r\n vm.ItemInventoryDelivered = resp.data.ItemInventoryDelivered; \r\n vm.ProductReplacementRaised = resp.data.ProductReplacementRaised;\r\n vm.AssignedThenCancelled = resp.data.AssignedThenCancelled;\r\n vm.AppointmentRescheduled = resp.data.AppointmentRescheduled; \r\n vm.OnSiteJobCount = resp.data.OnSiteJobCount; \r\n vm.InProgressJobCount = resp.data.InProgressJobCount; \r\n vm.NewJobCount = resp.data.NewJobCount;\r\n vm.PriorityCount = resp.data.PriorityCount;\r\n vm.ReadyToAssigJobCount = resp.data.ReadyToAssigJobCount;\r\n vm.RejectedJobCount = resp.data.RejectedJobCount;\r\n vm.ScheduleExceptionJobCount = resp.data.ScheduleExceptionJobCount;\r\n vm.ExceptionNoUserCount =resp.data.ExceptionNoUserCount;\r\n vm.AddressExceptionCount = resp.data.AddressExceptionCount;\r\n vm.PriceExceptionCount = resp.data.PriceExceptionCount;\r\n vm.AppointmentBookedForDay0 = resp.data.AppointmentBookedForDay0;\r\n vm.AppointmentBookedForDay1 = resp.data.AppointmentBookedForDay1;\r\n vm.AppointmentBookedForDay2Plus = resp.data.AppointmentBookedForDay2Plus;\r\n vm.AppointmentBreached = resp.data.AppointmentBreached;\r\n vm.NotAssignedForD0 = resp.data.NotAssignedForD0;\r\n vm.NotAssignedForD1 = resp.data.NotAssignedForD1;\r\n vm.CustomerCallInit = resp.data.CustomerCallInit;\r\n vm.AssignedNoActionCount = resp.data.AssignedNoActionCount;\r\n vm.BroadcastCountTickets = resp.data.BroadcastCountTickets;\r\n vm.enableFilters = true;\r\n vm.actionFlag = false;\r\n }\r\n\r\n }, function () { \r\n });\r\n\r\n }\r\n\r\n vm.getAllJobTicketsCopyForPagging = function(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize) { \r\n var templateCols=\"\";\r\n vm.resetAllSelect();\r\n var templateCols=\"\";\r\n PageIndex = PageIndex?PageIndex:1;\r\n vm.DateField = vm.DateField?vm.DateField:\"CreatedOn\";\r\n CRMManualAssignationJobService.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, token, itemNames, itemValues,textItemNames, textItemValues, templateCols, templateItemNames, templateItemValues,vm.DateField,PageIndex,PageSize,vm.SortType,vm.SortField).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.ticketList = resp.data.LightTicketModels;\r\n angular.forEach(vm.ticketList, function (t) {\r\n t.PincodeArray = t.Pincode.split(\"|\");\r\n t.Pincode = Array.from(new Set(t.PincodeArray));\r\n t.SkillSetArray = t.SkillSet.split(\"|\");\r\n t.SkillSet = Array.from(new Set(t.SkillSetArray));\r\n })\r\n $scope.totalTableBundles = resp.data.Count;\r\n $scope.totalTableWorkOrder = resp.data.Count;\r\n $scope.totalTableTickets = resp.data.Count;\r\n $scope.totalTableUsers = resp.data.Count;\r\n vm.enableFilters = true;\r\n vm.actionFlag = false;\r\n $localStorage.TList = vm.ticketList;\r\n $localStorage.AllJobType = vm.searchJobTypeText;\r\n $localStorage.AllJobStatus = vm.searchStatusText;\r\n angular.forEach(vm.ticketList, function (t) {\r\n t.StartTime = moment(t.StartTime, \"YYYY-MM-DDThh:mm:ssZ\"); \r\n t.StartTimeD = t.StartTime.format(\"YYYY-MM-DD hh:mm\");\r\n var today = moment();\r\n var date2 = t.CreationDate;\r\n var date3 = t.AssignationDate;\r\n var duration = today.diff(date2, 'days');\r\n var assignDuration = today.diff(date3, 'hour');\r\n var assignDurationMin = today.diff(date3, 'minutes');\r\n t.Age = duration;\r\n t.diffAssignation = assignDuration;\r\n t.diffAssignationMin = assignDurationMin%60;\r\n })\r\n \r\n if(vm.ticketList.length < vm.ticketPageListCount)\r\n vm.ticketListLength = $scope.totalTableTickets;\r\n else\r\n vm.ticketListLength = PageIndex * vm.ticketPageListCount;\r\n if(PageIndex==1)\r\n vm.pageindexCount = 1;\r\n else\r\n vm.pageindexCount = (((PageIndex-1) * vm.ticketPageListCount) + 1);\r\n\r\n if(vm.ticketList.length < vm.bundlePageListCount)\r\n vm.bundleListLength = $scope.totalTableBundles;\r\n else\r\n vm.bundleListLength = bPageIndex * vm.bundlePageListCount;\r\n if(bPageIndex==1)\r\n vm.bpageindexCount = 1;\r\n else\r\n vm.bpageindexCount = (((bPageIndex-1) * vm.bundlePageListCount) + 1);\r\n\r\n if(vm.ticketList.length < vm.workOrderPageListCount)\r\n vm.workOrderListLength = $scope.totalTableWorkOrder;\r\n else\r\n vm.workOrderListLength = wPageIndex * vm.workOrderPageListCount;\r\n if(wPageIndex==1)\r\n vm.wpageindexCount = 1;\r\n else\r\n vm.wpageindexCount = (((wPageIndex-1) * vm.workOrderPageListCount) + 1);\r\n }\r\n\r\n }, function () { \r\n });\r\n \r\n }\r\n vm.getAllTicketsByStatus = function(status)\r\n {\r\n\r\n if (status == 'P1') {\r\n vm.Priority = status;\r\n vm.JobcountbyStatus = '';\r\n }\r\n else {\r\n vm.Priority = '';\r\n vm.JobcountbyStatus = status;\r\n }\r\n\r\n if(vm.JobcountbyStatus == 'Broadcasted') {\r\n vm.SortField = 'BroadcastedOn';\r\n }\r\n else if(vm.JobcountbyStatus == 'Assigned'){\r\n vm.SortField = 'AssignationDateObj';\r\n }\r\n else if(vm.JobcountbyStatus == 'New'){\r\n vm.SortField = 'NewStatusDateObj';\r\n }\r\n else if(vm.JobcountbyStatus == 'Hold'){\r\n vm.SortField = 'HoldDateObj';\r\n }\r\n else if(vm.JobcountbyStatus == 'Completed'){\r\n vm.SortField = 'CompletionDateObj';\r\n }\r\n else if(vm.JobcountbyStatus == 'ScheduleException'){\r\n vm.SortField = 'ScheduleException';\r\n }\r\n else if(vm.JobcountbyStatus == 'Rejected'){\r\n vm.SortField = 'RejectionDateObj';\r\n }\r\n vm.GroupType = 'Individual|WorkOrderGroup'; \r\n vm.searchText='';\r\n vm.searchJobTypeText = \"\"; \r\n vm.searchStatusText=''; \r\n // vm.CustomerList = [];\r\n // vm.ProjectList = [];\r\n vm.ProjectListByCustomer=[];\r\n vm.SearchByIs = '';\r\n vm.SearchByDiscription = '';\r\n vm.SearchByTName = '';\r\n // vm.SearchByCName='';\r\n // vm.SearchByPName = '';\r\n vm.SearchByDName = '';\r\n vm.SearchByConsumerName = '';\r\n vm.SearchByConsumerContact = '';\r\n vm.SearchByState = '';\r\n vm.FilterArray(); \r\n // var startDate = moment(vm.ticketdates.startDate).format('YYYY-MM-DD');\r\n // var endDate = moment(vm.ticketdates.endDate).format('YYYY-MM-DD'); \r\n \r\n PageIndex=1;\r\n /*$scope.UserTablepagination = {\r\n current: 1\r\n };*/\r\n // vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n }\r\n\r\n // vm.sortBroadcastAge = function(SortType) {\r\n // vm.SortField = \"BroadcastedOn\";\r\n // vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n // }\r\n\r\n // vm.sortAge = function(SortType) {\r\n // vm.SortField = \"CreatedOn\";\r\n // vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n // }\r\n\r\n vm.sortColumn = function(col){\r\n vm.SortField = col;\r\n if(vm.SortType=='desc'){\r\n vm.SortType = 'asc';\r\n vm.reverseclass = 'fa fa-arrow-up';\r\n }else{\r\n vm.SortType = 'desc';\r\n vm.reverseclass = 'fa fa-arrow-down';\r\n }\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n // vm.filterStatusForJObs($scope.jobStatusForPaging, $scope.selectedUserId, $localStorage.loggedInUserId, token,jPageIndex,jPageSize)\r\n\r\n };\r\n \r\n // remove and change class\r\n vm.sortClass = function(col){\r\n if(vm.SortField == col ){\r\n if(vm.SortType == 'desc'){\r\n return 'fa fa-arrow-down'; \r\n }else{\r\n return 'fa fa-arrow-up';\r\n }\r\n }\r\n else{\r\n return '';\r\n }\r\n }\r\n\r\n\r\n vm.UserByFiltersList=[];\r\n vm.GetUserByFiltersWithDynaPage = function(loggedinUser, token, uitemNames, uitemValues, userType, UserAvailable, uPageIndex, uPageSize) { \r\n CRMManualAssignationJobService.GetUserByFiltersWithDynaPage(loggedinUser, token, uitemNames, uitemValues, userType, vm.UserAvailable, vm.DateField, uPageIndex, uPageSize).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.UserByFiltersList = resp.data.ListUserResponseModel;\r\n $scope.totalUsers = resp.data.Count;\r\n preprocessData(vm.UserByFiltersList);\r\n if(vm.UserByFiltersList.length < vm.userPageListCount)\r\n vm.userListLength = $scope.totalUsers;\r\n else\r\n vm.userListLength = uPageIndex * vm.userPageListCount;\r\n if(uPageIndex==1)\r\n vm.upageindexCount = 1;\r\n else\r\n vm.upageindexCount = (((uPageIndex-1) * vm.userPageListCount) + 1);\r\n\r\n for(var i=0;i 0 && itemValues.length > 0){\r\n itemNames = itemNames + ',Status';\r\n itemValues = itemValues + ',' + vm.searchStatusText;\r\n}else{\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText;\r\n} \r\n}\r\n\r\nif (vm.userskill) { \r\nif(uitemNames) \r\n{\r\n uitemNames = uitemNames + ',SkillSet';\r\n uitemValues = uitemValues + \",\" + vm.userskill;\r\n}\r\nelse\r\n{\r\n uitemNames = 'SkillSet';\r\n uitemValues = vm.userskill;\r\n} \r\n}\r\n\r\nif(vm.SearchByAccount)\r\n{\r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',CustomerAccountName';\r\n uitemValues = uitemValues + \",\" + vm.SearchByAccount;\r\n }\r\n else\r\n {\r\n uitemNames = 'CustomerAccountName';\r\n uitemValues = vm.SearchByAccount;\r\n } \r\n}\r\n\r\nif (vm.userNameSearch) { \r\nif(uitemNames) \r\n{\r\n uitemNames = uitemNames + ',Search';\r\n uitemValues = uitemValues + \",\" + vm.userNameSearch;\r\n}\r\nelse\r\n{\r\n uitemNames = 'Search';\r\n uitemValues = vm.userNameSearch;\r\n} \r\n}\r\n\r\nif (vm.PermanentState) { \r\nif(uitemNames) \r\n{\r\n uitemNames = uitemNames + ',State';\r\n uitemValues = uitemValues + \",\" + vm.PermanentState;\r\n}\r\nelse\r\n{\r\n uitemNames = 'State';\r\n uitemValues = vm.PermanentState;\r\n} \r\n}\r\n\r\nif(vm.JobcountbyStatus)\r\n{\r\n if(uitemNames) \r\n{\r\n uitemNames = uitemNames + ',Status';\r\n uitemValues = uitemValues + \",\" + vm.JobcountbyStatus;\r\n}\r\nelse\r\n{\r\n uitemNames = 'Status';\r\n uitemValues = vm.JobcountbyStatus;\r\n}\r\n}\r\n\r\nif (vm.WorkState) \r\n{ \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',State';\r\n uitemValues = uitemValues + \",\" + vm.WorkState;\r\n }\r\n else\r\n {\r\n uitemNames = 'State';\r\n uitemValues = vm.WorkState;\r\n } \r\n }\r\n if (vm.WorkState && vm.WorkCity) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',City';\r\n uitemValues = uitemValues + \",\" + vm.WorkCity;\r\n }\r\n else\r\n {\r\n uitemNames = 'City';\r\n uitemValues = vm.WorkCity;\r\n } \r\n }\r\n\r\nif (vm.CurrentState) { \r\nif(uitemNames) \r\n{\r\n uitemNames = uitemNames + ',CurrentState';\r\n uitemValues = uitemValues + \",\" + vm.CurrentState;\r\n}\r\nelse\r\n{\r\n uitemNames = 'CurrentState';\r\n uitemValues = vm.CurrentState;\r\n} \r\n}\r\nif (vm.CurrentState && vm.CurrentCity) { \r\nif(uitemNames) \r\n{\r\n uitemNames = uitemNames + ',CurrentCity';\r\n uitemValues = uitemValues + \",\" + vm.CurrentCity;\r\n}\r\nelse\r\n{\r\n uitemNames = 'CurrentCity';\r\n uitemValues = vm.CurrentCity;\r\n} \r\n}\r\n\r\nif (vm.UsersType) { \r\nif(uitemNames) \r\n{\r\n uitemNames = uitemNames + ',Role';\r\n uitemValues = uitemValues + \",\" + vm.UsersType;\r\n}\r\nelse\r\n{\r\n uitemNames = 'Role';\r\n uitemValues = vm.UsersType;\r\n} \r\n} \r\n\r\n\r\nif(vm.UsersType==\"Freelancer\")\r\n {\r\n vm.uType=\"Freelancer\";\r\n vm.SearchByAccount = ''\r\n }\r\n else if(vm.UsersType==\"Freelancer Vendor\")\r\n {\r\n vm.uType=\"Freelancer\";\r\n vm.SearchByAccount = ''\r\n } \r\n else if(vm.UsersType==\"Private\")\r\n {\r\n vm.uType=\"Private\";\r\n vm.SearchByAccount = ''\r\n } \r\n else if(vm.UsersType==\"Dispatch Supervisor\" || vm.UsersType==\"OnBoarding Supervisor\" || vm.UsersType==\"Dispatch Team Lead\" || vm.UsersType==\"Project Manager\" || vm.UsersType==\"Supervisor\")\r\n {\r\n vm.uType=\"Fixed\";\r\n }\r\n else if(vm.UsersType==\"Freelancer Dispatcher\")\r\n {\r\n vm.uType=\"Freelancer\";\r\n }\r\n else \r\n {\r\n vm.uType=\"\";\r\n vm.UsersType = '';\r\n } \r\n}\r\n\r\nvm.wsersFilterArray = function()\r\n{\r\nwitemNames=\"\";\r\nwitemValues=\"\";\r\n\r\nif (vm.searchStatusText != \"\" && vm.searchStatusText != \"All\" && vm.searchStatusText != null){\r\nif(itemNames.length > 0 && itemValues.length > 0){\r\n itemNames = itemNames + ',Status';\r\n itemValues = itemValues + ',' + vm.searchStatusText;\r\n}else{\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText;\r\n} \r\n}\r\nif (vm.userNameSearch) { \r\nif(witemNames) \r\n{\r\n witemNames = witemNames + ',Search';\r\n witemValues = witemValues + \",\" + vm.userNameSearch;\r\n}\r\nelse\r\n{\r\n witemNames = 'Search';\r\n witemValues = vm.userNameSearch;\r\n} \r\n}\r\n\r\nif(vm.JobcountbyStatus)\r\n{\r\n if(witemNames) \r\n{\r\n witemNames = witemNames + ',Status';\r\n witemValues = witemValues + \",\" + vm.JobcountbyStatus;\r\n}\r\nelse\r\n{\r\n witemNames = 'Status';\r\n witemValues = vm.JobcountbyStatus;\r\n}\r\n}\r\n\r\n}\r\n\r\n\r\n// apply user rating to all displays\r\n// add star ratings to an array\r\nvar starRating = document.querySelectorAll(\".fa-star\"),\r\nratingTotal = document.querySelectorAll(\".rating-total\");\r\n\r\n// convert ratingTotal HTMLCollection to array and reverse its order (5 star <-> 1 star)\r\nvar reverseRatingTotal = Array.from(ratingTotal).reverse();\r\n\r\n// display initial rating totals\r\n// displayTotals();\r\n\r\n// use event listener to record changes to user rating\r\nstarRating.forEach(function(star) {\r\nstar.addEventListener(\"change\", recordRating);\r\n})\r\n\r\nfunction recordRating(event) {\r\n// use indexOf to identify selected user rating\r\nvar userRating = Array.from(starRating).indexOf(event.target);\r\n\r\n// define selected rating to adjust display totals\r\nvar selectedIndex;\r\n\r\nstarRating.forEach(function(item, index) {\r\n// add or remove .active class based upon selected user rating\r\nif (index < userRating + 1) {\r\nstarRating[index].classList.add(\"active\");\r\nselectedIndex = index;\r\n} else {\r\nstarRating[index].classList.remove(\"active\");\r\n}\r\n\r\ndisplayTotals(selectedIndex);\r\n});\r\n}\r\nvm.countForStatus = 50;\r\n// display star rating totals from html custom data-\r\nfunction displayTotals(selectedIndex) {\r\nvar barChart = document.querySelectorAll(\".bar\"),\r\ndisplaySummary = document.querySelectorAll(\".summary\"),\r\nnumRatings = 0,\r\nnumRatingsValue = 0;\r\n\r\n// convert barChart HTMLCollection to array and reverse its order (5 star <-> 1 star)\r\nvar reverseBarChart = Array.from(barChart).reverse();\r\n\r\nreverseRatingTotal.forEach(function(total, index) {\r\nif (index == selectedIndex) {\r\n// add selected rating to display total\r\ntotal.innerHTML = (parseInt(total.getAttribute(\"data-rating-count\")) + 1);\r\n// adjust selected bar width\r\nreverseBarChart[index].style.width = (((parseInt(total.getAttribute(\"data-rating-count\")) + 1) / 20) * 100) + \"%\";\r\n} else {\r\n// display unselected totals\r\ntotal.innerHTML = total.getAttribute(\"data-rating-count\");\r\n// adjust unselected bar widths\r\nreverseBarChart[index].style.width = ((total.getAttribute(\"data-rating-count\") / 20) * 100) + \"%\";\r\n}\r\n// count total number and value of ratings\r\nnumRatings += parseInt(total.innerHTML);\r\nnumRatingsValue += (parseInt(total.innerHTML) * (index + 1));\r\n});\r\n\r\n// display rating average and total\r\nratingsAverage = (numRatingsValue / numRatings).toFixed(2);\r\n// displaySummary[0].innerHTML = ratingsAverage + \" average based on \" + numRatings + \" reviews.\";\r\n}\r\n\r\nvm.Get360VendorTeamData = function (teamid) {\r\n vm.userId = teamid;\r\n DashboardService.Get360VendorTeamData(loggedinUser, teamid, token).then(function (resp) {\r\n vm.vendorteam = resp.data;\r\n })\r\n}\r\n\r\nvm.GetUsersTicket = function (isCollapsed,status,id,type) {\r\n $scope.activeRow = id;\r\n $scope.isCollapsed = !isCollapsed;\r\n vm.userIdforStatus = id;\r\n vm.statusForTickets = status;\r\n vm.JobcountbyStatus = ''; \r\n vm.filterType = type; \r\n vm.FilterArray(); \r\n // if(!vm.filterType){\r\n // vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n // }\r\n vm.getAllJobTicketsCopyForUsers(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n}\r\n\r\nvm.getAllJobTicketsCopyForUsers = function(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize) { \r\n var templateCols=\"\";\r\n vm.resetAllSelect();\r\n var templateCols=\"\";\r\n vm.UserticketList = [];\r\n PageIndex = PageIndex?PageIndex:1;\r\n vm.DateField = vm.DateField?vm.DateField:\"CreatedOn\";\r\n CRMManualAssignationJobService.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, token, itemNames, itemValues,textItemNames, textItemValues, templateCols, templateItemNames, templateItemValues,vm.DateField,PageIndex,PageSize,vm.SortType,vm.SortField).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.UserticketList = resp.data.LightTicketModels;\r\n }\r\n\r\n }, function () { \r\n });\r\n \r\n}\r\n\r\nvm.Get360WorkSummary = function () {\r\n DashboardService.Get360WorkSummary(loggedinUser, token,vm.userId, witemNames, witemValues, uPageIndex, uPageSize, wsSDate,wsEDate,vm.OrderBy,vm.sorttype).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.statusCount = resp.data;\r\n vm.wsTicketList = resp.data.workSummaryData;\r\n $scope.totalWS = resp.data.WorkSummaryTotalCount;\r\n if(vm.wsTicketList.length < vm.userPageListCount)\r\n vm.wsListLength = $scope.totalWS;\r\n else\r\n vm.wsListLength = uPageIndex * vm.userPageListCount;\r\n if(uPageIndex==1)\r\n vm.wspageindexCount = 1;\r\n else\r\n vm.wspageindexCount = (((uPageIndex-1) * vm.userPageListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n}\r\n\r\nvm.FinanceFiltersList=[];\r\nvm.GetFinancialSummary = function () { \r\n DashboardService.GetFinancialSummary(loggedinUser, token,vm.userId, fnitemNames, fnitemValues, fPageIndex, fPageSize, startDate, endDate).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.paymentCount = resp.data.paymentsSummary;\r\n vm.FinanceFiltersList = resp.data.financialSummary360.financialLPSummaryList;\r\n $scope.totalFinList = resp.data.financialSummary360.count;\r\n if(vm.FinanceFiltersList.length < vm.financePageListCount)\r\n vm.financeListLength = $scope.totalFinList;\r\n else\r\n vm.financeListLength = fPageIndex * vm.financePageListCount;\r\n if(fPageIndex==1)\r\n vm.fpageindexCount = 1;\r\n else\r\n vm.fpageindexCount = (((fPageIndex-1) * vm.financePageListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n vm.ResetUserFilter();\r\n}\r\n\r\nvm.getFileType = function(url){\r\n if(url==null || url==\"\")\r\n {\r\n return \"others\";\r\n }\r\n else{\r\n if(url.indexOf(\".jpg\")>=0 || url.indexOf(\".jpeg\")>=0 || url.indexOf(\".png\")>=0 || url.indexOf(\".bmp\")>=0 ||url.indexOf(\".JPG\")>=0 || url.indexOf(\".JPEG\")>=0 || url.indexOf(\".PNG\")>=0 || url.indexOf(\".BMP\")>=0){\r\n return \"image\";\r\n } else if(url.indexOf(\".pdf\")>=0 || url.indexOf(\".PDF\")>=0){\r\n return \"pdf\";\r\n } else if(url.indexOf(\".xls\")>=0 || url.indexOf(\".xlsx\")>=0 ||url.indexOf(\".XLS\")>=0 || url.indexOf(\".XLSX\")>=0){\r\n return \"xls\"; \r\n } else if(url.indexOf(\".doc\")>=0 || url.indexOf(\".docx\")>=0 || url.indexOf(\".DOC\")>=0 || url.indexOf(\".DOCX\")>=0){\r\n return \"doc\";\r\n } \r\n else {\r\n return \"others\";\r\n }\r\n }\r\n }\r\n\r\n\r\nvm.CreateBJobs = function(){\r\n vm.bundleTicketArray = []; \r\n vm.bundlePrice = [];\r\n vm.bundleData = [];\r\n vm.bundlesum = 0;\r\n angular.forEach(vm.ticketList, function(d){\r\n if (d.checked) {\r\n vm.bundleTicketArray.push(d.TicketId)\r\n vm.bundlePrice.push(d.FreelancerRate)\r\n vm.bundleData.push(d)\r\n vm.bundlesum = vm.bundlePrice.reduce(function (x, y) {\r\n return x + y;\r\n }, 0); \r\n }\r\n })\r\n if(vm.bundleTicketArray.length <= 1) {\r\n vm.showFailure(\"Failed\", 'Please choose atleast 2 tickets to create combo');\r\n }\r\n else if(vm.bundleTicketArray.length > 5) {\r\n vm.showFailure(\"Failed\", 'Please select 5 or less than 5 tickets to create combo');\r\n }\r\n else {\r\n vm.confirmationMessage = 'Please confirm if you want to create combo of mentioned tickets:';\r\n confirmationModalInstance = $uibModal.open({\r\n templateUrl: 'bundle_jobs_confirmation_model.html',\r\n scope: $scope,\r\n backdrop: 'static'\r\n });\r\n }\r\n \r\n}\r\n\r\nvm.BundleJobsCreate = function (IsSuggested) { \r\n $scope.IsSuggested = IsSuggested;\r\n if(vm.bundleTicketArray.length <= 1) {\r\n vm.showFailure(\"Failed\", 'Please choose atleast 2 tickets to create combo');\r\n }\r\n else if(vm.bundleTicketArray.length > 5) {\r\n vm.showFailure(\"Failed\", 'Please select 5 or less than 5 tickets to create combo');\r\n }\r\n else{\r\n CRMManualAssignationJobService.CreateJobBundle(loggedinUser, vm.bundleTicketArray,IsSuggested,token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n $timeout(function () {\r\n vm.getJobsSuggestion(vm.itemNamesSgtn, vm.itemValuesSgtn);\r\n vm.FilterArray();\r\n // vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n vm.CloseComboModel();\r\n vm.confirmationCloseModal();\r\n }, 2000); \r\n confirmationModalInstance.close(); \r\n }\r\n else { \r\n vm.showFailure(\"Failed\", resp.data);\r\n vm.DisableBroadcastButtons(false); \r\n confirmationModalInstance.close();\r\n }\r\n });\r\n } \r\n}\r\n\r\n// Route Bundle\r\nvm.routeBundle = function(index){\r\n vm.DisableRouteBroadcastButtons(true);\r\n var data = {};\r\n for(var i=0; i< vm.ticketList.length;i++){\r\n if(vm.ticketList[i].TicketStatus==\"New\")\r\n {\r\n if(vm.ticketList[i].checked){\r\n if(i==0){\r\n data.JobIds = vm.ticketList[i].TicketId;\r\n }else{\r\n data.JobIds = data.JobIds + ',' + vm.ticketList[i].TicketId;\r\n }\r\n }\r\n }\r\n } \r\n for(var i=0; i< vm.UserByFiltersList.length;i++){\r\n if(vm.UserByFiltersList[i].checked){\r\n data.UserId = vm.UserByFiltersList[i].UserId;\r\n break;\r\n }\r\n }\r\n if(data.JobIds){\r\n CRMManualAssignationJobService.RouteBundlesforUser(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 201) {\r\n vm.DisableRouteBroadcastButtons(true); \r\n vm.processBroadcastRouteResponse(resp.data); \r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n vm.UsersFilterArray(); \r\n vm.GetUserByFiltersWithDynaPage(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize);\r\n vm.DisableRouteBroadcastButtons(false);\r\n }, 2000);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n vm.DisableRouteBroadcastButtons(false);\r\n }\r\n });\r\n }else{\r\n vm.showFailure(\"Failed\", \"Please select tickets.\");\r\n vm.DisableRouteBroadcastButtons(false);\r\n } \r\n }\r\n\r\n vm.BroadCastBundles = function () {\r\n vm.DisableRouteBroadcastButtons(true);\r\n var BidData = [];\r\n angular.forEach(vm.ticketList, function (d) {\r\n var obj = {};\r\n var time = '';\r\n var hrs = '';\r\n var min = '';\r\n if(d.TicketStatus==\"New\")\r\n {\r\n if (d.checked) {\r\n obj.JobID = d.TicketId;\r\n var time = d.BidDuration.split(':');\r\n var hrs = parseInt(time[0]);\r\n var min = parseInt(time[1]);\r\n obj.BIDDuration = hrs*60 + min;\r\n obj.BroadCastRate = d.BroadcastRate\r\n obj.BroadCastGrossRate = d.BroadcastGrossRate\r\n obj.MobiforceCommissionPercentage = d.MobiforceCommission\r\n obj.FixedBidPrice = true;\r\n BidData.push(obj);\r\n }\r\n }\r\n })\r\n var UserData = [];\r\n\r\n for(var i=0; i< vm.UserByFiltersList.length;i++){\r\n if(vm.UserByFiltersList[i].checked){\r\n UserData.push(vm.UserByFiltersList[i].UserId); \r\n }\r\n }\r\n\r\n if (BidData.length > 0 && UserData.length > 0) {\r\n var data = {\r\n \"Bids\": BidData,\r\n \"Users\": UserData\r\n };\r\n vm.BroadcastBundleModal.close();\r\n CRMManualAssignationJobService.BroadcastJobBundle(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 201 || resp.status == 200) {\r\n vm.DisableRouteBroadcastButtons(true);\r\n vm.processBroadcastRouteResponse(resp.data);\r\n vm.free_NewJobSelectedItems = [];\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n vm.UsersFilterArray(); \r\n vm.GetUserByFiltersWithDynaPage(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize);\r\n vm.DisableRouteBroadcastButtons(false);\r\n }, 2000);\r\n }\r\n if (resp.status == 206) {\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n vm.DisableRouteBroadcastButtons(false);\r\n }\r\n })\r\n } else {\r\n vm.showFailure(\"Failed\", \"Please select jobs and users.\");\r\n vm.DisableRouteBroadcastButtons(false);\r\n }\r\n }\r\n\r\nvm.openBroadcastBundlemodal = function (i) {\r\n vm.DisableRouteBroadcastButtons(true);\r\n vm.broadcastError = null; \r\n vm.jobselected = [];\r\n angular.forEach(vm.ticketList, function (d) {\r\n if(d.TicketStatus)\r\n {\r\n if (d.checked) {\r\n if (!d.BidDuration.includes(\":\")) {\r\n d.BidDuration = parseInt(d.BidDuration / 60) + \":\" + parseInt(d.BidDuration % 60);\r\n }\r\n vm.jobselected.push(d);\r\n $log.log(d)\r\n }\r\n }\r\n });\r\n if (vm.jobselected.length > 0) {\r\n vm.BroadcastBundleModal = $uibModal.open({\r\n templateUrl: 'BroadcastBundle.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n else\r\n {\r\n vm.showFailure(\"Failed\", \"Please select bundles\"); \r\n vm.broadcastError = \"Please select bundles for bradcast\";\r\n }\r\n}\r\n\r\nvm.closeBundleModal = function () {\r\n vm.BroadcastBundleModal.close();\r\n}\r\n\r\n\r\n//brodcast bundle to nearBy\r\n \r\nvm.BroadcastBundlesUS = function (i) {\r\n vm.DisableRouteBroadcastButtons(true);\r\n var temp = [];\r\n angular.forEach(vm.UserSuggestionList, function(d){\r\n if (d.checked) {\r\n temp.push({ \"UserId\": d.id, \"SuggestedPrice\": null, \"Price\": parseInt(d.Price), \"Distance\": parseInt(d.UserDistance) });\r\n \r\n }\r\n })\r\n var data = {\r\n \"JobId\": vm.broadcastTicketId,\r\n \"BIDDuration\": vm.TicketSelectedForAssistedSuggestion.BidDuration,\r\n \"MobiforceCommissionPercentage\": vm.TicketSelectedForAssistedSuggestion.MobiforceCommission,\r\n \"TechnicianSource\": 1,\r\n \"Users\": temp\r\n };\r\n if (data.Users.length > 0) {\r\n CRMManualAssignationJobService.BroadCastBundlesforUser(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 201) {\r\n vm.showSuccess('Success', \"Jobs Broadcasted Successfully\");\r\n $timeout(function () {\r\n vm.DisableRouteBroadcastButtons(false);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n $scope.hideoverlay();\r\n }, 2000);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data.BroadcastStatus);\r\n vm.DisableRouteBroadcastButtons(false);\r\n $scope.hideoverlay();\r\n }\r\n });\r\n } \r\n else {\r\n vm.showFailure(\"Failed\", resp.data.BroadcastStatus);\r\n $timeout(function () {\r\n $state.reload();\r\n vm.DisableRouteBroadcastButtons(false);\r\n }, 2000);\r\n }\r\n}\r\n\r\n// Route Bundles for user Suggestion\r\nvm.routeBundlesUS = function (user) { \r\n vm.DisableRouteBroadcastButtons(true);\r\n var data = user; //vm.UserSuggestionList[0];\r\n var temp = [];\r\n temp.push({ \"UserId\": data.id, \"SuggestedPrice\": null, \"Price\": parseFloat(data.Price), \"Distance\": parseFloat(data.UserDistance) });\r\n var data = {\r\n \"JobId\": vm.broadcastTicketId,\r\n \"BIDDuration\": vm.TicketSelectedForAssistedSuggestion.BidDuration,\r\n \"MobiforceCommissionPercentage\": vm.TicketSelectedForAssistedSuggestion.MobiforceCommission,\r\n \"BroadcastType\": \"Route\",\r\n \"TechnicianSource\": 1,\r\n \"Users\": temp\r\n };\r\n if (data.Users.length > 0) {\r\n vm.showloading = true;\r\n CRMManualAssignationJobService.BroadCastBundlesforUser(loggedinUser, data, token).then(function (resp) { \r\n if (resp.status == 201) {\r\n vm.showSuccess('Success', \"Jobs Route Successfully\");\r\n $timeout(function () {\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n vm.DisableRouteBroadcastButtons(false);\r\n $scope.hideoverlay();\r\n }, 2000);\r\n }\r\n else if (resp.status == 206) {\r\n vm.showFailure('Failed', resp.data.Message);\r\n vm.DisableRouteBroadcastButtons(false);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", \"Users Not Found\");\r\n $timeout(function () {\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n vm.DisableRouteBroadcastButtons(false);\r\n }, 2000);\r\n }\r\n vm.showloading = false;\r\n });\r\n } else {\r\n vm.showFailure(\"Failed\", \"Please select users.\");\r\n $timeout(function () {\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n vm.DisableRouteBroadcastButtons(false);\r\n }, 2000);\r\n }\r\n\r\n}\r\n\r\nvm.UnbundleBJobs = function(bundleid){\r\n vm.unbundleTicketArray = [];\r\n if (bundleid) {\r\n vm.unbundleTicketArray.push(bundleid) \r\n }\r\n vm.confirmationMessage = 'Please confirm if you want to unbundle: ' + vm.unbundleTicketArray;\r\n confirmationModalInstance = $uibModal.open({\r\n templateUrl: 'unbundle.html',\r\n scope: $scope,\r\n backdrop: 'static'\r\n });\r\n}\r\n\r\nvm.UnBundleTkts = function () { \r\n CRMManualAssignationJobService.UnBundleJobs(loggedinUser, vm.unbundleTicketArray, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n $timeout(function () {\r\n vm.FilterArray();\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues,textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize);\r\n vm.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues,PageIndex,PageSize); \r\n }, 1000); \r\n confirmationModalInstance.close(); \r\n vm.showSuccess(\"Success\", \"Job has been unbundled successfully\");\r\n }\r\n if (resp.status == 206) { \r\n vm.showFailure(\"Failed\", resp.data);\r\n vm.DisableBroadcastButtons(false); \r\n confirmationModalInstance.close();\r\n }\r\n });\r\n}\r\n\r\nvm.closeUnbundleModal = function () {\r\n confirmationModalInstance.close();\r\n}\r\n\r\n\r\nvm.GetAllBundledJobs = function(isCollapsed,bundleId){\r\n $scope.isCollapsed = !isCollapsed;\r\n $scope.activeRow = bundleId;\r\n vm.bundleJobId = bundleId;\r\n if(vm.bundleJobId){\r\n CRMManualAssignationJobService.GetAllBundledJobs(loggedinUser, vm.bundleJobId ,token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.BundleTicketList=resp.data;\r\n }\r\n }, function () { \r\n });\r\n }\r\n}\r\n\r\nvm.Get360SkillSummary = function (teamid) {\r\n vm.userId = teamid;\r\n DashboardService.Get360SkillSummary(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.skillsetData = resp.data;\r\n for(var i=0;ilTfgitp')\r\n // .withPaginationType('full_numbers')\r\n // .withOption('order', [])\r\n // .withOption('createdRow', createdRow)\r\n // .withOption('rowCallback', rowCallback);\r\n\r\n // vm.dtColumnsBrand = [\r\n // DTColumnBuilder.newColumn('strBrandName').withTitle('Brand Name'),\r\n // DTColumnBuilder.newColumn('bIsActive').withTitle('Status').notSortable().renderWith(function (data) {\r\n // return '' + data + '';\r\n // }),\r\n // DTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data) {\r\n // return '';\r\n // })\r\n // ];\r\n // $scope.$apply();\r\n // });\r\n // };\r\n\r\n // // For Product Groups\r\n\r\n // vm.fetchProductGroupsData = function () {\r\n // BrandProductMasterCreationService.GetAllProductGroupMaster(loggedinUser, token).then(function (resp) {\r\n // vm.productGroupsList = resp.data;\r\n // vm.dtOptionsProductGroup = DTOptionsBuilder.fromFnPromise(function () {\r\n // var defer = $q.defer();\r\n // defer.resolve(vm.productGroupsList);\r\n // return defer.promise;\r\n // })\r\n // .withDOM('<\"html5buttons\"B>lTfgitp')\r\n // .withPaginationType('full_numbers')\r\n // .withOption('order', [])\r\n // .withOption('createdRow', createdRow)\r\n // .withOption('rowCallback', rowCallback);\r\n\r\n // vm.dtColumnsProductGroup = [\r\n // DTColumnBuilder.newColumn('strProductGroupName').withTitle('Product Group Name'),\r\n // DTColumnBuilder.newColumn('bIsActive').withTitle('Status').notSortable().renderWith(function (data) {\r\n // return '' + data + '';\r\n // }),\r\n // DTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data) {\r\n // return '';\r\n // })\r\n // ];\r\n // $scope.$apply();\r\n // });\r\n // };\r\n // // For Products\r\n\r\n // vm.fetchProductsData = function () {\r\n // BrandProductMasterCreationService.GetAllProductMaster(vm.ProductGroupName, loggedinUser, token).then(function (resp) {\r\n // vm.productsList = resp.data;\r\n // vm.dtOptionsProduct = DTOptionsBuilder.fromFnPromise(function () {\r\n // var defer = $q.defer();\r\n // defer.resolve(vm.productsList);\r\n // return defer.promise;\r\n // })\r\n // .withDOM('<\"html5buttons\"B>lTfgitp')\r\n // .withPaginationType('full_numbers')\r\n // .withOption('order', [])\r\n // .withOption('createdRow', createdRow)\r\n // .withOption('rowCallback', rowCallback);\r\n\r\n // vm.dtColumnsProduct = [\r\n // DTColumnBuilder.newColumn('strProductName').withTitle('Product Name'),\r\n // DTColumnBuilder.newColumn('strProductGroupName').withTitle('Product Group Name'),\r\n // DTColumnBuilder.newColumn('bIsActive').withTitle('Status').notSortable().renderWith(function (data, type, full, meta) {\r\n // return '' + data + '';\r\n // }),\r\n // DTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data) {\r\n // return '';\r\n // })\r\n // ];\r\n // $scope.$apply();\r\n // });\r\n // };\r\n\r\n // // For Defects\r\n\r\n // vm.fetchDefectsData = function () {\r\n // BrandProductMasterCreationService.GetAllProductDefectMaster(vm.ProductGroupName, loggedinUser, token).then(function (resp) {\r\n // vm.AllDefectsList = resp.data;\r\n // vm.dtOptionsDefect = DTOptionsBuilder.fromFnPromise(function () {\r\n // var defer = $q.defer();\r\n // defer.resolve(vm.AllDefectsList);\r\n // return defer.promise;\r\n // })\r\n // .withDOM('<\"html5buttons\"B>lTfgitp')\r\n // .withPaginationType('full_numbers')\r\n // .withOption('order', [])\r\n // .withOption('createdRow', createdRow)\r\n // .withOption('rowCallback', rowCallback);\r\n\r\n // vm.dtColumnsDefect = [\r\n // DTColumnBuilder.newColumn('strProductGroupName').withTitle('Product Group Name'),\r\n // DTColumnBuilder.newColumn('strDefect').withTitle('Defect Name'),\r\n // DTColumnBuilder.newColumn('bIsActive').withTitle('Status').notSortable().renderWith(function (data, type, full, meta) {\r\n // return '' + data + '';\r\n // }),\r\n // DTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data) {\r\n // return '';\r\n // })\r\n // ];\r\n // $scope.$apply();\r\n // });\r\n // };\r\n\r\n // // For Product vs Defect\r\n\r\n // vm.fetchProductDefectsData = function () {\r\n // BrandProductMasterCreationService.GetAllBrandProductMaster(loggedinUser, token).then(function (resp) {\r\n // vm.productvsDefectList = resp.data;\r\n // vm.dtOptionsProductvsDefect = DTOptionsBuilder.fromFnPromise(function () {\r\n // var defer = $q.defer();\r\n // defer.resolve(vm.productvsDefectList);\r\n // return defer.promise;\r\n // })\r\n // .withDOM('<\"html5buttons\"B>lTfgitp')\r\n // .withPaginationType('full_numbers')\r\n // .withOption('order', [])\r\n // .withOption('createdRow', createdRow)\r\n // .withOption('rowCallback', rowCallback);\r\n\r\n // vm.dtColumnsProductvsDefect = [\r\n // DTColumnBuilder.newColumn('strBrandProductId').withTitle('BrandProduct ID'),\r\n // DTColumnBuilder.newColumn('strBrandName').withTitle('Brand'),\r\n // DTColumnBuilder.newColumn('strProductGroup').withTitle('Product Group Name'),\r\n // DTColumnBuilder.newColumn('strProductName').withTitle('Product Name'),\r\n // DTColumnBuilder.newColumn('strListDefectType').withTitle('Defects'),\r\n // DTColumnBuilder.newColumn('strMMFSkillMapped').withTitle('Skill'),\r\n // DTColumnBuilder.newColumn('bIsActive').withTitle('Status').notSortable().renderWith(function (data, type, full, meta) {\r\n // return '' + data + '';\r\n // }),\r\n // DTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data) {\r\n // return '';\r\n // })\r\n // ];\r\n // $scope.$apply();\r\n // });\r\n // };\r\n\r\n\r\n vm.getDefectsHistory = function (q) {\r\n vm.ProductDefectsList = [];\r\n var defects = q.split(',');\r\n\r\n for (var i = 0; i < defects.length; i++) {\r\n vm.ProductDefectsList.push(defects[i].trim());\r\n }\r\n openDefectModel = $uibModal.open({\r\n templateUrl: 'openDefectsModel.html',\r\n size: 'sm',\r\n scope: $scope\r\n });\r\n\r\n }\r\n\r\n vm.CloseDefectsHistoryModel = function () {\r\n openDefectModel.close();\r\n }\r\n\r\n\r\n\r\n vm.getAdditionalWarrantyHistory = function (rowIndex) {\r\n vm.AdditionWarrantyPartList = vm.warrantyList[rowIndex].objAdditionalWarrantyList;\r\n openWarratyModel = $uibModal.open({\r\n templateUrl: 'openWarratyModel.html',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n\r\n }\r\n\r\n vm.CloseAdditionalWarrantyHistoryModel = function () {\r\n openWarratyModel.close();\r\n }\r\n\r\n vm.dtOptionsBrand = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n BrandProductMasterCreationService.GetAllBrandsMaster(loggedinUser, token).then(function (resp) {\r\n vm.brandsLists = resp.data;\r\n defer.resolve(vm.brandsLists);\r\n })\r\n return defer.promise;\r\n\r\n })\r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withOption('createdRow', createdRow)\r\n .withOption('rowCallback', rowCallback);\r\n\r\n\r\n vm.dtColumnsBrand = [\r\n DTColumnBuilder.newColumn(null).withTitle('S.No').notSortable().renderWith(function (data, type, full, meta) {\r\n return meta.row + 1; // meta.row gives the row index starting from 0, adding 1 to make it 1-based index\r\n }),\r\n DTColumnBuilder.newColumn('strBrandName').withTitle('Brand Name'),\r\n DTColumnBuilder.newColumn('bIsActive').withTitle('Status').notSortable().renderWith(function (data, type, full, meta) {\r\n var displayText = data ? 'Active' : 'Inactive';\r\n return '' + displayText + '';\r\n }),\r\n DTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data) {\r\n return '';\r\n })\r\n ];\r\n\r\n\r\n // for Product Group\r\n\r\n vm.dtOptionsProductGroup = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n BrandProductMasterCreationService.GetAllProductGroupMaster(loggedinUser, token).then(function (resp) {\r\n vm.productGroupsList = resp.data;\r\n defer.resolve(vm.productGroupsList);\r\n })\r\n return defer.promise;\r\n\r\n })\r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withOption('createdRow', createdRow)\r\n .withOption('rowCallback', rowCallback);\r\n vm.dtColumnsProductGroup = [\r\n DTColumnBuilder.newColumn(null).withTitle('S.No').notSortable().renderWith(function (data, type, full, meta) {\r\n return meta.row + 1; // meta.row gives the row index starting from 0, adding 1 to make it 1-based index\r\n }),\r\n DTColumnBuilder.newColumn('strProductGroupName').withTitle('Product Group Name'),\r\n DTColumnBuilder.newColumn('bIsActive').withTitle('Status').notSortable().renderWith(function (data, type, full, meta) {\r\n var displayText = data ? 'Active' : 'Inactive';\r\n return '' + displayText + '';\r\n }),\r\n DTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data) {\r\n return '';\r\n })\r\n ];\r\n// For Alternate \r\n// vm.AlternateBrandName = '';\r\n// vm.AlternateProductGroupName = '';\r\n// vm.AlternateProductName = '';\r\n// vm.AlternatePartName = '';\r\n// vm.AlternateModelno = '';\r\n\r\n// vm.dtOptionsAlternate = DTOptionsBuilder.fromFnPromise(function () {\r\n// var defer = $q.defer();\r\n// var data = {\r\n// \"strBrandName\": vm.AlternateBrandName,\r\n// \"strProductGroup\": vm.AlternateProductGroupName,\r\n// \"strProduct\": vm.AlternateProductName,\r\n// \"strPartId\" : vm.AlternatePartName,\r\n// \"strModelId\" :vm.AlternateModelno\r\n// }\r\n// BrandProductMasterCreationService.GetAllAlternateParts(data, loggedinUser, token).then(function (resp) {\r\n// vm.alternateList = resp.data;\r\n// defer.resolve(vm.alternateList);\r\n// })\r\n// return defer.promise;\r\n\r\n// })\r\n// .withDOM('<\"html5buttons\"B>lTfgitp')\r\n// .withPaginationType('full_numbers')\r\n// .withOption('order', [])\r\n// .withOption('createdRow', createdRow)\r\n// .withOption('rowCallback', rowCallback);\r\n\r\n// vm.dtColumnsAlternate = [\r\n// DTColumnBuilder.newColumn(null).withTitle('S.No').notSortable().renderWith(function (data, type, full, meta) {\r\n// return meta.row + 1; // meta.row gives the row index starting from 0, adding 1 to make it 1-based index\r\n// }),\r\n// DTColumnBuilder.newColumn('Brand').withTitle('Brand'),\r\n// DTColumnBuilder.newColumn('Product').withTitle('Product Group Name'),\r\n// DTColumnBuilder.newColumn('ProductGroup').withTitle('Product Name'),\r\n// DTColumnBuilder.newColumn('PartId').withTitle('Part Name'),\r\n// DTColumnBuilder.newColumn('ModelId').withTitle('Model No.'),\r\n// DTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data) {\r\n// return '';\r\n// })\r\n// ];\r\n\r\n //For Product\r\n\r\n vm.dtOptionsProduct = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n BrandProductMasterCreationService.GetAllProductMaster(vm.ProductGroupName, loggedinUser, token).then(function (resp) {\r\n vm.productsList = resp.data;\r\n defer.resolve(vm.productsList);\r\n })\r\n return defer.promise;\r\n\r\n })\r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withOption('createdRow', createdRow)\r\n .withOption('rowCallback', rowCallback);\r\n\r\n vm.dtColumnsProduct = [\r\n DTColumnBuilder.newColumn(null).withTitle('S.No').notSortable().renderWith(function (data, type, full, meta) {\r\n return meta.row + 1; // meta.row gives the row index starting from 0, adding 1 to make it 1-based index\r\n }),\r\n DTColumnBuilder.newColumn('strProductGroupName').withTitle('Product Group Name'),\r\n DTColumnBuilder.newColumn('strProductName').withTitle('Product Name'),\r\n DTColumnBuilder.newColumn('bIsActive').withTitle('Status').notSortable().renderWith(function (data, type, full, meta) {\r\n var displayText = data ? 'Active' : 'Inactive';\r\n return '' + displayText + '';\r\n }),\r\n DTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data) {\r\n return '';\r\n })\r\n ];\r\n // for warranty\r\n\r\n vm.FilteredWarrantyBrandName = '';\r\n vm.FilteredWarrantyProductGroupName = '';\r\n vm.FilteredWarrantyProductName = '';\r\n\r\n vm.dtOptionsWarranty = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n\r\n var data = {\r\n \"strBrandName\": vm.FilteredWarrantyBrandName,\r\n \"strProductGroup\": vm.FilteredWarrantyProductGroupName,\r\n \"strProductName\": vm.FilteredWarrantyProductName\r\n }\r\n BrandProductMasterCreationService.GetAllActiveProductWarrantyMaster(data, loggedinUser, token).then(function (resp) {\r\n vm.warrantyList = resp.data;\r\n defer.resolve(vm.warrantyList);\r\n })\r\n return defer.promise;\r\n\r\n })\r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withOption('createdRow', createdRow)\r\n .withOption('rowCallback', rowCallback);\r\n\r\n vm.dtColumnsWarranty = [\r\n DTColumnBuilder.newColumn(null).withTitle('S.No').notSortable().renderWith(function (data, type, full, meta) {\r\n return meta.row + 1;\r\n }),\r\n DTColumnBuilder.newColumn('strBrandName').withTitle('Brand Name'),\r\n DTColumnBuilder.newColumn('strProductGroup').withTitle('Product Group Name'),\r\n DTColumnBuilder.newColumn('strProductName').withTitle('Product Name'),\r\n DTColumnBuilder.newColumn('nActualWarrantyInMonths').withTitle('Actual Warranty (In Months)'),\r\n DTColumnBuilder.newColumn('objAdditionalWarrantyList').withTitle('Additional Warranty').renderWith(function (data, type, full, meta) {\r\n if (data && data.length > 0) {\r\n return '';\r\n } else {\r\n return '';\r\n }\r\n }),\r\n\r\n // DTColumnBuilder.newColumn('nAdditionalWarrantyInMonths').withTitle('Additional Warranty (In Months)'),\r\n DTColumnBuilder.newColumn('strCoverageInAddition').withTitle('Coverage In Addition')\r\n .renderWith(function (data) {\r\n return '' + data + '';\r\n }),\r\n DTColumnBuilder.newColumn('strVisitCharge').withTitle('Visit Charge')\r\n .renderWith(function (data) {\r\n return '' + data + '';\r\n }),\r\n DTColumnBuilder.newColumn('bIsActive').withTitle('Status').notSortable().renderWith(function (data, type, full, meta) {\r\n var displayText = data ? 'Active' : 'Inactive';\r\n return '' + displayText + '';\r\n }),\r\n DTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data, type, full, meta) {\r\n return '';\r\n })\r\n ];\r\n\r\n\r\n // for model no\r\n\r\n vm.dtOptionsModel = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n BrandProductMasterCreationService.GetAllActiveProductModelMaster(vm.ProductName, loggedinUser, token).then(function (resp) {\r\n vm.productsList = resp.data;\r\n defer.resolve(vm.productsList);\r\n })\r\n return defer.promise;\r\n\r\n })\r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withOption('createdRow', createdRow)\r\n .withOption('rowCallback', rowCallback);\r\n\r\n vm.dtColumnsModel = [\r\n DTColumnBuilder.newColumn(null).withTitle('S.No').notSortable().renderWith(function (data, type, full, meta) {\r\n return meta.row + 1; // meta.row gives the row index starting from 0, adding 1 to make it 1-based index\r\n }),\r\n DTColumnBuilder.newColumn('strBrandName').withTitle('Brand Name'),\r\n DTColumnBuilder.newColumn('strProductName').withTitle('Product Name'),\r\n DTColumnBuilder.newColumn('strModelNumber').withTitle('Model No.'),\r\n DTColumnBuilder.newColumn('strModelDescription').withTitle('Model Description'),\r\n DTColumnBuilder.newColumn('bIsActive').withTitle('Status').notSortable().renderWith(function (data, type, full, meta) {\r\n var displayText = data ? 'Active' : 'Inactive';\r\n return '' + displayText + '';\r\n }),\r\n DTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data) {\r\n return ''; })\r\n ];\r\n\r\n\r\n // for Defects\r\n\r\n\r\n vm.dtOptionsDefect = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n BrandProductMasterCreationService.GetAllProductDefectMaster(vm.ProductGroupName, loggedinUser, token).then(function (resp) {\r\n vm.AllDefectsList = resp.data;\r\n defer.resolve(vm.AllDefectsList);\r\n })\r\n return defer.promise;\r\n\r\n })\r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withOption('createdRow', createdRow)\r\n .withOption('rowCallback', rowCallback);\r\n\r\n vm.dtColumnsDefect = [\r\n DTColumnBuilder.newColumn(null).withTitle('S.No').notSortable().renderWith(function (data, type, full, meta) {\r\n return meta.row + 1; // meta.row gives the row index starting from 0, adding 1 to make it 1-based index\r\n }),\r\n DTColumnBuilder.newColumn('strProductGroupName').withTitle('Product Group Name'),\r\n DTColumnBuilder.newColumn('strDefect').withTitle('Defect Name'),\r\n DTColumnBuilder.newColumn('bIsActive').withTitle('Status').notSortable().renderWith(function (data, type, full, meta) {\r\n var displayText = data ? 'Active' : 'Inactive';\r\n return '' + displayText + '';\r\n }),\r\n DTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data) {\r\n return '';\r\n })\r\n ];\r\n\r\n vm.FilteredBrandName = '';\r\n vm.FilteredProductGroupName = '';\r\n vm.FilteredProductName = '';\r\n // For Product vs Defect\r\n\r\n vm.dtOptionsProductvsDefect = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n var data = {\r\n \"strBrandName\": vm.FilteredBrandName,\r\n \"strProductGroup\": vm.FilteredProductGroupName,\r\n \"strProductName\": vm.FilteredProductName\r\n }\r\n BrandProductMasterCreationService.GetAllBrandProductMaster(data, loggedinUser, token).then(function (resp) {\r\n vm.productDefectList = resp.data;\r\n defer.resolve(vm.productDefectList);\r\n })\r\n return defer.promise;\r\n\r\n })\r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withOption('createdRow', createdRow)\r\n .withOption('rowCallback', rowCallback);\r\n vm.dtColumnsProductvsDefect = [\r\n DTColumnBuilder.newColumn(null).withTitle('S.No').notSortable().renderWith(function (data, type, full, meta) {\r\n return meta.row + 1;\r\n }),\r\n DTColumnBuilder.newColumn('strBrandProductId').withTitle('BrandProduct ID'),\r\n DTColumnBuilder.newColumn('strBrandName').withTitle('Brand'),\r\n DTColumnBuilder.newColumn('strProductGroup').withTitle('Product Group Name'),\r\n DTColumnBuilder.newColumn('strProductName').withTitle('Product Name'),\r\n DTColumnBuilder.newColumn('strListDefectType').withTitle('Defects').renderWith(function (data, full) {\r\n if (data) {\r\n vm.Defects = [];\r\n angular.forEach(data, function (d) {\r\n vm.Defects.push(d);\r\n });\r\n } else {\r\n vm.Defects = '';\r\n }\r\n return '
' + vm.Defects + '
';\r\n }),\r\n DTColumnBuilder.newColumn('strListCallType').withTitle('Call Type').renderWith(function (data, full) {\r\n if (data) {\r\n vm.CallType = [];\r\n angular.forEach(data, function (d) {\r\n vm.CallType.push(d);\r\n });\r\n } else {\r\n vm.CallType = '';\r\n }\r\n return '
' + vm.CallType + '
';\r\n }),\r\n DTColumnBuilder.newColumn('strMMFSkillMapped').withTitle('Service Skill'),\r\n DTColumnBuilder.newColumn('strMMFSkillMappedInstallation').withTitle('Installation Skill'),\r\n DTColumnBuilder.newColumn('bIsActive').withTitle('Status').notSortable().renderWith(function (data, type, full, meta) {\r\n var displayText = data ? 'Active' : 'Inactive';\r\n return '' + displayText + '';\r\n }),\r\n DTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data) {\r\n return '';\r\n })\r\n ];\r\n\r\n function createdRow(row) {\r\n $compile(angular.element(row).contents())($scope);\r\n }\r\n\r\n function rowCallback(nRow) {\r\n $('td', nRow).unbind('click');\r\n $('td', nRow).bind('click', function () {\r\n $scope.$apply(function () { });\r\n });\r\n return nRow;\r\n }\r\n\r\n vm.refreshTable = function () {\r\n vm.dtInstanceProductvsDefect.reloadData();\r\n };\r\n\r\n $scope.$watchGroup(['vm.FilteredBrandName', 'vm.FilteredProductGroupName', 'vm.FilteredProductName'], function (newValues, oldValues) {\r\n if (newValues !== oldValues) {\r\n vm.refreshTable();\r\n }\r\n });\r\n\r\n vm.refreshWarrantyTable = function () {\r\n vm.dtInstanceWarranty.reloadData();\r\n };\r\n\r\n $scope.$watchGroup(['vm.FilteredWarrantyBrandName', 'vm.FilteredWarrantyProductGroupName', 'vm.FilteredWarrantyProductName'], function (newValues, oldValues) {\r\n if (newValues !== oldValues) {\r\n vm.refreshWarrantyTable();\r\n }\r\n });\r\n////// for Alternate Parts\r\n vm.CreateBrandsMaster = function () {\r\n vm.AddBrand_form.submitted = true;\r\n if (vm.AddBrand_form.$valid) {\r\n vm.disableCreationButton = true;\r\n var data = {\r\n \"strBrandName\": vm.BrandName,\r\n \"bIsActive\": vm.BrandStatus,\r\n }\r\n\r\n BrandProductMasterCreationService.CreateBrandsMaster(data, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.CloseAddBrandModel();\r\n $timeout(function () {\r\n vm.dtInstanceBrand.reloadData();\r\n }, 2000);\r\n }\r\n else {\r\n vm.disableCreationButton = false;\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n\r\n }\r\n }\r\n\r\n vm.UpdateBrandsMaster = function () {\r\n vm.UpdateBrand_form.submitted = true;\r\n if (vm.UpdateBrand_form.$valid) {\r\n vm.disableCreationButton = true;\r\n var data = {\r\n \"strBrandName\": vm.OldBrandName,\r\n \"bIsActive\": vm.BrandStatus,\r\n \"strNewBrandName\": vm.BrandName\r\n }\r\n\r\n BrandProductMasterCreationService.UpdateBrandsMaster(data, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.CloseUpdateBrandModel();\r\n $timeout(function () {\r\n vm.dtInstanceBrand.reloadData();\r\n }, 2000);\r\n }\r\n else {\r\n vm.disableCreationButton = false;\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n\r\n }\r\n }\r\n\r\n\r\n vm.CreateProductGroupMaster = function () {\r\n vm.AddProductGroup_form.submitted = true;\r\n if (vm.AddProductGroup_form.$valid) {\r\n vm.disableCreationButton = true;\r\n var data = {\r\n \"strProductGroupName\": vm.ProductGroupName,\r\n \"bIsActive\": vm.ProductGroupStatus\r\n }\r\n\r\n BrandProductMasterCreationService.CreateProductGroupMaster(data, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.CloseAddProductgroupModel();\r\n $timeout(function () {\r\n vm.dtInstanceProductGroup.reloadData();\r\n }, 2000);\r\n }\r\n else {\r\n vm.disableCreationButton = false;\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n\r\n }\r\n }\r\n\r\n vm.UpdateProductGroupMaster = function () {\r\n vm.UpdateProductGroup_form.submitted = true;\r\n if (vm.UpdateProductGroup_form.$valid) {\r\n vm.disableCreationButton = true;\r\n var data = {\r\n \"strProductGroupName\": vm.OldProductGroupName,\r\n \"bIsActive\": vm.ProductGroupStatus,\r\n \"strNewProductGroupName\": vm.ProductGroupName\r\n }\r\n\r\n BrandProductMasterCreationService.UpdateProductGroupMaster(data, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.CloseUpdateProductgroupModel();\r\n $timeout(function () {\r\n vm.dtInstanceProductGroup.reloadData();\r\n }, 2000);\r\n }\r\n else {\r\n vm.disableCreationButton = false;\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n\r\n }\r\n }\r\n\r\n\r\n vm.CreateProductMaster = function () {\r\n vm.AddProduct_form.submitted = true;\r\n if (vm.AddProduct_form.$valid) {\r\n vm.disableCreationButton = true;\r\n var data = {\r\n \"strProductGroupName\": vm.ProductGroupName,\r\n \"bIsActive\": vm.ProductStatus,\r\n \"strProductName\": vm.ProductName\r\n }\r\n\r\n BrandProductMasterCreationService.CreateProductMaster(data, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.CloseAddProductModel();\r\n $timeout(function () {\r\n vm.dtInstanceProduct.reloadData();\r\n }, 2000);\r\n }\r\n else {\r\n vm.disableCreationButton = false;\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n\r\n }\r\n }\r\n\r\n vm.UpdateProductMaster = function () {\r\n vm.UpdateProduct_form.submitted = true;\r\n if (vm.UpdateProduct_form.$valid) {\r\n vm.disableCreationButton = true;\r\n var data = {\r\n \"strNewProductName\": vm.ProductName,\r\n \"strProductGroupName\": vm.ProductGroupName,\r\n \"bIsActive\": vm.ProductStatus,\r\n \"strProductName\": vm.OldProductName\r\n }\r\n\r\n BrandProductMasterCreationService.UpdateProductMaster(data, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.CloseUpdateProductModel();\r\n $timeout(function () {\r\n vm.dtInstanceProduct.reloadData();\r\n }, 2000);\r\n }\r\n else {\r\n vm.disableCreationButton = false;\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n\r\n }\r\n }\r\n\r\n\r\n vm.CreateProductDefectMaster = function () {\r\n vm.AddDefect_form.submitted = true;\r\n if (vm.AddDefect_form.$valid) {\r\n vm.disableCreationButton = true;\r\n var data = {\r\n \"strProductGroupName\": vm.ProductGroupName,\r\n \"bIsActive\": vm.ProductStatus,\r\n \"strDefect\": vm.DefectName\r\n }\r\n\r\n BrandProductMasterCreationService.CreateProductDefectMaster(data, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.CloseAddDefectModel();\r\n $timeout(function () {\r\n vm.dtInstanceDefect.reloadData();\r\n }, 2000);\r\n }\r\n else {\r\n vm.disableCreationButton = false;\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n\r\n }\r\n }\r\n\r\n vm.UpdateProductDefectMaster = function () {\r\n vm.UpdateDefect_form.submitted = true;\r\n if (vm.UpdateDefect_form.$valid) {\r\n vm.disableCreationButton = true;\r\n var data = {\r\n \"strNewDefect\": vm.DefectName,\r\n \"strProductGroupName\": vm.ProductGroupName,\r\n \"bIsActive\": vm.DefectStatus,\r\n \"strDefect\": vm.OldDefectName\r\n }\r\n\r\n BrandProductMasterCreationService.UpdateProductDefectMaster(data, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.CloseUpdateDefectModel();\r\n $timeout(function () {\r\n vm.dtInstanceDefect.reloadData();\r\n }, 2000);\r\n }\r\n else {\r\n vm.disableCreationButton = false;\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n\r\n }\r\n }\r\n\r\n vm.CreateBrandProductMaster = function () {\r\n vm.AddProductDefect_form.submitted = true;\r\n if (vm.AddProductDefect_form.$valid) {\r\n vm.disableCreationButton = true;\r\n var data = {\r\n \"strBrandName\": vm.BrandName,\r\n \"strProductGroup\": vm.ProductGroupName,\r\n \"strProductName\": vm.ProductName,\r\n \"strListDefectType\": vm.ProductDefectsList,\r\n \"strListCallType\": vm.CallTypeProduct,\r\n \"strMMFSkillMapped\": vm.DefectMMFServiceSkill,\r\n \"strMMFSkillMappedInstallation\": vm.DefectMMFInstallationSkill,\r\n \"bIsActive\": vm.ProductDefectStatus\r\n }\r\n\r\n BrandProductMasterCreationService.CreateBrandProductMaster(data, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.CloseMapDefectvsproductModel();\r\n $timeout(function () {\r\n vm.dtInstanceProductvsDefect.reloadData();\r\n }, 2000);\r\n }\r\n else {\r\n vm.disableCreationButton = false;\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n\r\n }\r\n }\r\n\r\n vm.UpdateBrandProductMaster = function () {\r\n vm.UpdateMapDefectvsproduct_form.submitted = true;\r\n if (vm.UpdateMapDefectvsproduct_form.$valid) {\r\n vm.disableCreationButton = true;\r\n var data = {\r\n \"strBrandProductId\": vm.ProductBrandId,\r\n \"strBrandName\": vm.BrandName,\r\n \"strProductGroup\": vm.ProductGroupName,\r\n \"strProductName\": vm.ProductName,\r\n \"strListDefectType\": vm.ProductDefectsList,\r\n \"strListCallType\": vm.CallTypeProduct,\r\n \"strMMFSkillMapped\": vm.DefectMMFServiceSkill,\r\n \"strMMFSkillMappedInstallation\": vm.DefectMMFInstallationSkill,\r\n \"bIsActive\": vm.ProductDefectStatus\r\n }\r\n\r\n BrandProductMasterCreationService.UpdateBrandProductMaster(data, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.CloseUpdateMapDefectvsproductModel();\r\n $timeout(function () {\r\n vm.dtInstanceProductvsDefect.reloadData();\r\n }, 2000);\r\n }\r\n else {\r\n vm.disableCreationButton = false;\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n\r\n }\r\n }\r\n\r\n\r\n vm.CreateProductWarrantyMaster = function () {\r\n vm.AddWarranty_form.submitted = true;\r\n if (vm.AddWarranty_form.$valid) {\r\n angular.forEach(vm.objAdditionalWarrantyList, function (d) {\r\n delete d.originalPartName;\r\n delete d.originalPartId;\r\n delete d.originalPartData;\r\n delete d.originalWarrantyMonths;\r\n delete d.PartData;\r\n delete d.originalSKUId;\r\n delete d.originalPartMaxQuantity;\r\n delete d.edit;\r\n });\r\n vm.disableCreationButton = true;\r\n var data = {\r\n \"strBrandName\": vm.BrandName,\r\n \"strProductGroup\": vm.ProductGroupName,\r\n \"strProductName\": vm.ProductName,\r\n \"nActualWarrantyInMonths\": vm.ActualWarrantyInMonths,\r\n \"nAdditionalWarrantyInMonths\": vm.AdditionalWarrantyInMonths,\r\n \"objAdditionalWarrantyList\": vm.objAdditionalWarrantyList,\r\n \"bIsActive\": vm.ProductDefectStatus,\r\n \"strCoverageInAddition\": vm.CoverageDescription,\r\n \"strVisitCharge\": vm.VisitCharge\r\n }\r\n\r\n BrandProductMasterCreationService.CreateProductWarrantyMaster(data, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.CloseAddWarrantyModel();\r\n $timeout(function () {\r\n vm.dtInstanceWarranty.reloadData();\r\n }, 2000);\r\n }\r\n else {\r\n vm.disableCreationButton = false;\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n\r\n }\r\n }\r\n\r\n vm.UpdateProductWarrantyMaster = function () {\r\n vm.UpdateWarranty_form.submitted = true;\r\n if (vm.UpdateWarranty_form.$valid) {\r\n angular.forEach(vm.objAdditionalWarrantyList, function (d) {\r\n delete d.originalPartName;\r\n delete d.originalSKUId;\r\n delete d.originalPartId;\r\n delete d.originalPartData;\r\n delete d.originalWarrantyMonths;\r\n delete d.PartData;\r\n delete d.originalPartMaxQuantity;\r\n delete d.edit;\r\n });\r\n vm.disableCreationButton = true;\r\n var data = {\r\n \"strBrandName\": vm.BrandName,\r\n \"strProductGroup\": vm.ProductGroupName,\r\n \"strProductName\": vm.ProductName,\r\n \"nActualWarrantyInMonths\": vm.ActualWarrantyInMonths,\r\n \"nAdditionalWarrantyInMonths\": vm.AdditionalWarrantyInMonths,\r\n \"objAdditionalWarrantyList\": vm.objAdditionalWarrantyList,\r\n \"bIsActive\": vm.ProductDefectStatus,\r\n \"strCoverageInAddition\": vm.CoverageDescription,\r\n \"strVisitCharge\": vm.VisitCharge\r\n }\r\n\r\n BrandProductMasterCreationService.UpdateProductWarrantyMaster(data, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.CloseUpdateWarrantyModel();\r\n $timeout(function () {\r\n vm.dtInstanceWarranty.reloadData();\r\n }, 2000);\r\n }\r\n else {\r\n vm.disableCreationButton = false;\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n\r\n }\r\n }\r\n\r\n\r\n vm.CreateProductModelMaster = function () {\r\n vm.AddModel_form.submitted = true;\r\n if (vm.AddModel_form.$valid) {\r\n vm.disableCreationButton = true;\r\n var data = {\r\n \"strBrandName\": vm.BrandName,\r\n \"strProductName\": vm.ProductName,\r\n \"strModelNumber\": vm.ModelNo,\r\n \"strModelDescription\": vm.ModelDescription,\r\n \"bIsActive\": vm.ModelStatus,\r\n }\r\n\r\n BrandProductMasterCreationService.CreateProductModelMaster(data, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.CloseAddModelNo();\r\n $timeout(function () {\r\n vm.dtInstanceProductModel.reloadData();\r\n }, 2000);\r\n }\r\n else {\r\n vm.disableCreationButton = false;\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n\r\n }\r\n }\r\n\r\n\r\n vm.UpdateProductModelMaster = function () {\r\n vm.UpdateModel_form.submitted = true;\r\n if (vm.UpdateModel_form.$valid) {\r\n vm.disableCreationButton = true;\r\n var data = {\r\n \"strBrandName\": vm.BrandName,\r\n \"strProductName\": vm.ProductName,\r\n \"strModelNumber\": vm.OldModelNo,\r\n \"strModelDescription\": vm.OldModelDescription,\r\n \"strNewModelNumber\": vm.ModelNo,\r\n \"strNewModelDescription\": vm.ModelDescription,\r\n \"bIsActive\": vm.ModelStatus,\r\n }\r\n\r\n BrandProductMasterCreationService.UpdateProductModelMaster(data, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.CloseUpdateModelNoModel();\r\n $timeout(function () {\r\n vm.dtInstanceProductModel.reloadData();\r\n }, 2000);\r\n }\r\n else {\r\n vm.disableCreationButton = false;\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n\r\n }\r\n }\r\n\r\n//// Alternate Create \r\nvm.GetAllModelNo = function () {\r\n var data = {\r\n \"strBrandName\": vm.AlternateBrandName,\r\n \"strProductGroup\": vm.AlternateProductGroupName,\r\n \"strProductName\": vm.AlternateProductName,\r\n \"strPartName\": vm.AlternatePartName,\r\n }\r\n BrandProductMasterCreationService.GetAllModelNo(data, loggedinUser, token).then(function (resp) {\r\n if (resp.data && resp.status == 200) {\r\n vm.AlternateModelList = resp.data;\r\n }\r\n }, vm.showFailure);\r\n}\r\n\r\n\r\nvm.CreateAlternateParts = function () {\r\n vm.Alternatepart_form.submitted = true;\r\n if (vm.Alternatepart_form.$valid) {\r\n vm.disableCreationButton = true;\r\n var data = {\r\n \"Brand\": vm.AlternateBrandName,\r\n \"Product\": vm.AlternateProductGroupName,\r\n \"ProductGroup\": vm.AlternateProductName,\r\n \"PartId\" : vm.AlternatePartName,\r\n \"ModelIds\" : vm.AlternateModelno,\r\n \"AlternatePartIds\" : vm.AlternatePartsInstall,\r\n }\r\n\r\n BrandProductMasterCreationService.CreateAlternateParts(data, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.CloseAlternateproductModel();\r\n $timeout(function () {\r\n vm.dtInstanceAlternate.reloadData();\r\n }, 2000);\r\n }\r\n else {\r\n vm.disableCreationButton = false;\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n\r\n }\r\n}\r\n\r\n vm.GetAllActiveProductModelMaster = function () {\r\n BrandProductMasterCreationService.GetAllActiveProductModelMaster(vm.ProductName, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.AllActiveProductModeelNoList = resp.data;\r\n }\r\n })\r\n }\r\n vm.GetAllActiveProductModelMaster();\r\n\r\n\r\n\r\n vm.GetAllActiveBrandsMaster = function () {\r\n BrandProductMasterCreationService.GetAllActiveBrandsMaster(loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.AllActiveBrandList = resp.data;\r\n // if (vm.AllActiveBrandList.length > 0) {\r\n // vm.BrandName = vm.AllActiveBrandList[0].strBrandName;\r\n // }\r\n \r\n }\r\n })\r\n }\r\n\r\n vm.GetAllActiveBrandsMaster();\r\n \r\n vm.GetAllActiveProductGroupMaster = function () {\r\n BrandProductMasterCreationService.GetAllActiveProductGroupMaster(loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.AllActiveProductGroupList = resp.data;\r\n }\r\n })\r\n }\r\n vm.GetAllAlternateProductGroupMaster = function () {\r\n BrandProductMasterCreationService.GetAllActiveProductGroupMaster(loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.AllActiveAlternateProductGroupList = resp.data;\r\n }\r\n })\r\n }\r\n\r\n vm.GetAllActiveProductGroupMaster();\r\n\r\n vm.GetAllActiveProductMasterForTopFilter = function () {\r\n vm.AllActiveProductList = '';\r\n BrandProductMasterCreationService.GetAllActiveProductMaster(vm.FilteredProductGroupName, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.AllActiveProductList = resp.data;\r\n }\r\n })\r\n }\r\n\r\n\r\n vm.GetAllActiveWarrantyForTopFilter = function () {\r\n vm.AllActiveProductList = '';\r\n BrandProductMasterCreationService.GetAllActiveProductMaster(vm.FilteredWarrantyProductGroupName, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.AllActiveProductList = resp.data;\r\n }\r\n })\r\n }\r\n\r\n vm.GetAllActiveProductMaster = function () {\r\n vm.AllActiveProductList = '';\r\n BrandProductMasterCreationService.GetAllActiveProductMaster(vm.ProductGroupName, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.AllActiveProductList = resp.data;\r\n }\r\n })\r\n }\r\n vm.GetAllActiveProductMaster();\r\n vm.GetAllAlternateProductMaster = function () {\r\n vm.AllAlternateProductList = '';\r\n BrandProductMasterCreationService.GetAllActiveProductMaster(vm.ProductGroupName, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.AllAlternateProductList = resp.data;\r\n }\r\n })\r\n }\r\n vm.GetAllActiveProductDefectMaster = function () {\r\n vm.AllActiveDefectList = '';\r\n BrandProductMasterCreationService.GetAllActiveProductDefectMaster(vm.ProductGroupName, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.AllActiveDefectList = resp.data;\r\n }\r\n })\r\n }\r\n vm.GetAllActiveProductDefectMaster();\r\n\r\n vm.GetAllActiveProductModelMaster = function () {\r\n\t\t\tCustomerCRMListService.GetAllActiveProductModelMaster(vm.ProductName, loggedinUser, token).then(function (resp) {\r\n\t\t\t if (resp && resp.data) {\r\n\t\t\t\tvm.AllActiveProductModelNoList = resp.data;\r\n\t\t\t }\r\n\t\t\t})\r\n\t\t }\r\n\r\n vm.clearFilter = function () {\r\n vm.FilteredBrandName = '';\r\n vm.FilteredProductGroupName = '';\r\n vm.FilteredProductName = '';\r\n vm.GetAllActiveProductMaster();\r\n vm.GetAllActiveProductGroupMaster();\r\n $scope.clearSearchFilters();\r\n vm.refreshTable();\r\n }\r\n vm.getAllSkill = function () {\r\n BrandProductMasterCreationService.getAllSkills(loggedinUser, token).then(function (resp) {\r\n vm.skills = resp.data;\r\n });\r\n }\r\n\r\n vm.clearWarrantyFilter = function () {\r\n vm.FilteredWarrantyBrandName = '';\r\n vm.FilteredWarrantyProductGroupName = '';\r\n vm.FilteredPWarrantyProductName = '';\r\n vm.GetAllActiveProductMaster();\r\n vm.GetAllActiveProductGroupMaster();\r\n $scope.clearSearchFilters();\r\n vm.refreshWarrantyTable();\r\n }\r\n vm.getAllSkill();\r\n\r\n vm.GetAllVisibleMasterParts = function () {\r\n var data = {\r\n \"PartName\": \"\",\r\n \"PartCategoryGroup\": vm.ProductGroupName,\r\n \"PartBrand\": vm.BrandName,\r\n \"PartSubGroup\": vm.ProductName,\r\n \"SearchText\": \"\"\r\n }\r\n BrandProductMasterCreationService.GetAllVisibleMasterParts(data, loggedinUser, token).then(function (resp) {\r\n if (resp.data && resp.status == 200) {\r\n vm.masterInventoryList = resp.data;\r\n }\r\n }, vm.showFailure);\r\n }\r\n vm.GetAllAlternateVisibleMasterParts = function () {\r\n var data = {\r\n \"PartName\": vm.AlternatePartName,\r\n \"PartCategoryGroup\": vm.AlternateProductGroupName,\r\n \"PartBrand\": vm.AlternateBrandName,\r\n \"PartSubGroup\": vm.AlternateProductName,\r\n \"SearchText\": \"\"\r\n }\r\n BrandProductMasterCreationService.GetAllVisibleMasterParts(data, loggedinUser, token).then(function (resp) {\r\n if (resp.data && resp.status == 200) {\r\n vm.alternatemasterList = resp.data;\r\n }\r\n }, vm.showFailure);\r\n }\r\n\r\n $scope.editMode = false;\r\n\r\n $scope.toggleEditMode = function () {\r\n $scope.editMode = !$scope.editMode;\r\n };\r\n vm.showEditList = false;\r\n vm.showAction = true;\r\n\r\n $scope.storeOriginalContent = function (filter) {\r\n if (filter.MMFPartId) {\r\n angular.forEach(vm.masterInventoryList, function (d) {\r\n if (d.MMFPartId == filter.MMFPartId) {\r\n filter.PartData = d;\r\n filter.originalPartData = angular.copy(d);\r\n }\r\n });\r\n }\r\n filter.originalPartName = angular.copy(filter.PartName);\r\n filter.originalPartId = angular.copy(filter.MMFPartId);\r\n filter.originalSKUId = angular.copy(filter.SKUId);\r\n filter.originalWarrantyMonths = angular.copy(filter.WarrantyMonths);\r\n filter.originalPartMaxQuantity = angular.copy(filter.PartMaxQuantity);\r\n };\r\n\r\n $scope.cancelChanges = function (filter) {\r\n filter.PartData = angular.copy(filter.originalPartData);\r\n filter.PartData.MMFPartId = angular.copy(filter.originalPartId);\r\n filter.PartData.PartName = angular.copy(filter.originalPartName);\r\n filter.PartData.SKUId = angular.copy(filter.originalSKUId);\r\n filter.WarrantyMonths = angular.copy(filter.originalWarrantyMonths);\r\n filter.PartMaxQuantity = angular.copy(filter.originalPartMaxQuantity);\r\n };\r\n\r\n\r\n vm.addMoreFilter = function () {\r\n vm.showEditList = true;\r\n vm.showAction = false;\r\n };\r\n\r\n vm.closeEditRow = function() {\r\n vm.showEditList = false;\r\n vm.showAction = true;\r\n };\r\n\r\n $scope.saveChanges = function (filter) {\r\n if (!filter.PartData || !filter.WarrantyMonths || !filter.PartMaxQuantity) {\r\n vm.partError = true;\r\n return;\r\n }\r\n filter.PartData.MMFPartId = filter.PartData.MMFPartId;\r\n filter.PartData.PartName = filter.PartData.PartName;\r\n filter.PartName = filter.PartData.PartName;\r\n filter.PartData.SKUId = filter.PartData.SKUId;\r\n filter.edit = false;\r\n vm.partError = false;\r\n };\r\n\r\n vm.addNewFilter = function (filter) {\r\n vm.partError = false;\r\n if ((!filter.PartData || !filter.PartData.MMFPartId) && (filter.WarrantyMonths || filter.PartMaxQuantity)) {\r\n vm.partError = true;\r\n return;\r\n }\r\n vm.objAdditionalWarrantyList.push({\r\n \"MMFPartId\": filter.PartData.MMFPartId,\r\n \"SKUId\": filter.PartData.SKUId,\r\n \"PartName\": filter.PartData.PartName,\r\n \"WarrantyMonths\": filter.WarrantyMonths || 0,\r\n \"PartMaxQuantity\": filter.PartMaxQuantity || 0\r\n });\r\n\r\n vm.showEditList = false;\r\n vm.showAction = true;\r\n };\r\n\r\n $scope.deleteDataFilter = function (filter) {\r\n const index = vm.objAdditionalWarrantyList.indexOf(filter);\r\n if (index !== -1) {\r\n vm.objAdditionalWarrantyList.splice(index, 1);\r\n }\r\n }\r\n\r\n////////\r\nvm.GetItemGroupName = function () {\r\n if (!vm.BrandName) {\r\n vm.BrandName = \"\";\r\n }\r\n InventoryCartService.GetItemGroupName(vm.BrandName, loggedinUser, token).then(\r\n function (resp) {\r\n if (resp && resp.data) {\r\n vm.PartNameList = resp.data;\r\n // vm.changeCategoryFilter();\r\n }\r\n }\r\n );\r\n};\r\nvm.GetItemGroupName();\r\n// vm.GetItemListName = function () {\r\n// if (!vm.ProductGroupName) {\r\n// vm.ProductGroupName = \"\";\r\n// }\r\n// InventoryCartService.GetItemListName(vm.BrandName,vm.ProductGroupName,loggedinUser, token).then(function (resp) {\r\n// if (resp && resp.data) {\r\n// vm.PartList = resp.data;\r\n// // vm.changeCategoryFilter();\r\n// }\r\n// }, vm.showFailure);\r\n// };\r\n// vm.GetItemListName();\r\n\r\nvm.PartListWithFilter = [];\r\n\r\nvm.GetItemPartName = function () {\r\n vm.PartListWithFilter = [];\r\n if (!vm.ProductName) {\r\n vm.ProductName = \"\";\r\n }\r\n InventoryItemListService.GetItemPartName(vm.BrandName,vm.ProductGroupName,vm.ProductName,loggedinUser,token).then(function (resp) {\r\n if (resp.data && resp.status == 200) {\r\n vm.PartListWithFilter = resp.data;\r\n }\r\n }, vm.showFailure);\r\n};\r\nvm.GetItemPartName();\r\n// modal for region and subregion \r\nvm.AddSubRegionModelOpen = function () {\r\n vm.addsubregion = $uibModal.open({\r\n templateUrl: 'AddSubRegion.html',\r\n size: 'md',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n\r\n vm.CloseAddSubRegionModel = function () {\r\n vm.addsubregion.close();\r\n vm.SubRegionName = \"\";\r\n vm.SubRegionState = \"\";\r\n vm.SubRegionCity = \"\";\r\n vm.SubRegionBranchCode = \"\";\r\n vm.disableCreationButton = false;\r\n }\r\n vm.AddRegionModelOpen = function () {\r\n vm.addregion = $uibModal.open({\r\n templateUrl: 'AddRegion.html',\r\n size: 'md',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n vm.GetAllSubRegionForMapping();\r\n }\r\n\r\n vm.CloseAddRegionModel = function () {\r\n vm.addregion.close();\r\n vm.RegionName = \"\";\r\n vm.RegionSub = \"\";\r\n vm.disableCreationButton = false;\r\n }\r\n function getAllStates() {\r\n var defered = $q.defer();\r\n ReferService.getAllState(loggedinUser, token).then(function (resp) {\r\n defered.resolve(resp);\r\n }, function (error) {\r\n defered.reject(error);\r\n });\r\n return defered.promise;\r\n }\r\n\r\n var allStatePromise = getAllStates(loggedinUser);\r\n allStatePromise.then(function (resp) {\r\n vm.StateList = resp.data;\r\n\r\n });\r\n function getallCities(state) {\r\n ReferService.getAllCity(loggedinUser, state, token).then(function (resp) {\r\n vm.CityList = resp.data;\r\n });\r\n }\r\n vm.selectedState = function (state) {\r\n getallCities(state);\r\n }\r\n// Table For Subregioncreation\r\nvm.FilterSubRegion = '';\r\nvm.FilterLocationName = '';\r\n\r\n\r\nvm.searchSubRegionModelTable = function () {\r\n vm.dtInstanceSubRegionModal.DataTable.search(vm.searchSubRegionModelText);\r\n vm.dtInstanceSubRegionModal.DataTable.search(vm.searchSubRegionModelText).draw();\r\n };\r\n\r\n vm.dtOptionsSubRegionModel = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n var data = {\r\n \"SubRegion\": vm.FilterForRegional,\r\n \"LocationName\": vm.FilterLocationName\r\n \r\n }\r\n BrandProductMasterCreationService.GetAllSubRegion(data, loggedinUser, token).then(function (resp) {\r\n vm.subregionList = resp.data;\r\n defer.resolve(vm.subregionList);\r\n })\r\n return defer.promise;\r\n\r\n })\r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withOption('createdRow', createdRow)\r\n .withOption('rowCallback', rowCallback);\r\n\r\n vm.dtColumnsSubRegionModel = [\r\n DTColumnBuilder.newColumn('SubRegion').withTitle('Sub Region'),\r\n DTColumnBuilder.newColumn('LocationName').withTitle('Location Name'),\r\n DTColumnBuilder.newColumn('BranchCode').withTitle('BranchCode'),\r\n DTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data) {\r\n return '';\r\n })\r\n ];\r\n\r\n\r\n vm.refreshSubRegionTable = function () {\r\n vm.dtInstanceSubRegionModal.reloadData();\r\n // vm.GetAllSubregionFilterForLocation();\r\n };\r\n \r\n$scope.$watchGroup(['vm.FilterForRegional', 'vm.FilterLocationName'], function (newValues, oldValues) {\r\nif (newValues !== oldValues) {\r\n vm.refreshSubRegionTable();\r\n}\r\n});\r\nvm.FilterForRegional= '';\r\nvm.GetAllFilterSubRegion = function () {\r\n BrandProductMasterCreationService.GetAllAvailableSubRegion(vm.FilterForRegional,loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.AllFiltersubregion = resp.data;\r\n }\r\n})\r\n}\r\n\r\nvm.GetAllSubregionFilterForLocation = function () {\r\nvar data = {\r\n \"SubRegion\": vm.FilterForRegional,\r\n \"LocationName\": ''\r\n \r\n }\r\n BrandProductMasterCreationService.GetAllSubRegion(data,loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.AllFilterLocationname = resp.data;\r\n }\r\n})\r\n}\r\nvm.GetAllFilterSubRegion();\r\nvm.GetAllSubregionFilterForLocation();\r\n\r\nvm.FilterForRegion = '';\r\n\r\nvm.GetAllAvailableSubRegion = function ( ) {\r\n BrandProductMasterCreationService.GetAllAvailableSubRegion(vm.FilterForRegion,loggedinUser, token).then(function (resp) { \r\n if (resp && resp.data){ \r\n if(resp.status==200){\r\n vm.AllAvailableSubRegionList = resp.data;\r\n }\r\n } \r\n }, function () { \r\n });\r\n}\r\n\r\nvm.GetAllSubRegionForMapping = function ( ) {\r\n BrandProductMasterCreationService.GetAllSubRegionForMapping(loggedinUser, token).then(function (resp) { \r\n if (resp && resp.data){ \r\n if(resp.status==200){\r\n vm.Allsubregionformapping = resp.data;\r\n }\r\n } \r\n }, function () { \r\n });\r\n}\r\nvm.GetAllSubRegionForMapping();\r\n\r\nvm.clearsubregionfilter= function(){\r\nvm.FilterForRegional = '';\r\nvm.FilterLocationName = '';\r\n$scope.clearSearchFilters();\r\n\r\nvm.refreshSubRegionTable();\r\n}\r\n vm.CreateSubRegionMaster = function () {\r\n vm.AddSubregion_form.submitted = true;\r\n if (vm.AddSubregion_form.$valid) {\r\n vm.disableCreationButton = true;\r\n var data = {\r\n \"SubRegion\": vm.SubRegionName,\r\n \"LocationName\": vm.SubRegionCity,\r\n \"BranchCode\": vm.SubRegionBranchCode,\r\n }\r\n BrandProductMasterCreationService.CreateSubRegionMaster(data, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Sub-region created successfully.\");\r\n vm.CloseAddSubRegionModel();\r\n $timeout(function () {\r\n vm.dtInstanceSubRegionModal.reloadData();\r\n }, 3000);\r\n }\r\n else {\r\n vm.disableCreationButton = false;\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }\r\n })\r\n }\r\n }\r\n\r\n// Table for region\r\nvm.searchRegionModelTable = function () {\r\n vm.dtInstanceRegionModal.DataTable.search(vm.searchRegionModelText);\r\n vm.dtInstanceRegionModal.DataTable.search(vm.searchRegionModelText).draw();\r\n };\r\n vm.dtOptionsRegion = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n var data = {\r\n \"Region\": vm.FilterForRegion,\r\n \"SubRegion\": vm.FilterRegionSUb\r\n \r\n }\r\n BrandProductMasterCreationService.GetAllRegions(data, loggedinUser, token).then(function (resp) {\r\n vm.regionList = resp.data;\r\n defer.resolve(vm.regionList);\r\n })\r\n return defer.promise;\r\n\r\n })\r\n\r\n \r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withOption('createdRow', createdRow)\r\n .withOption('rowCallback', rowCallback);\r\n\r\n vm.dtColumnsRegion = [\r\n DTColumnBuilder.newColumn('Region').withTitle('Region'),\r\n DTColumnBuilder.newColumn('SubRegion').withTitle('Sub Region'),\r\n DTColumnBuilder.newColumn(null).withTitle('Action').notSortable().renderWith(function (data) {\r\n return '';\r\n })\r\n ];\r\n function createdRow(row) {\r\n $compile(angular.element(row).contents())($scope);\r\n }\r\n function rowCallback(nRow) {\r\n $('td', nRow).unbind('click');\r\n $('td', nRow).bind('click', function () {\r\n $scope.$apply(function () { });\r\n });\r\n return nRow;\r\n }\r\n\r\n\r\n vm.refreshRigionTable = function () {\r\n vm.dtInstanceRegionModal.reloadData();\r\n // vm.GetAllFilterRegionSub ();\r\n };\r\n \r\n$scope.$watchGroup(['vm.FilterForRegion', 'vm.FilterRegionSUb'], function (newValues, oldValues) {\r\nif (newValues !== oldValues) {\r\n vm.refreshRigionTable();\r\n}\r\n});\r\nvm.GetAllFilterRegion = function () {\r\nvar data = {\r\n \"Region\": '',\r\n \"SubRegion\": ''\r\n \r\n }\r\n BrandProductMasterCreationService.GetAllRegions(data,loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.AllFilterRegional = resp.data;\r\n }\r\n})\r\n}\r\nvm.GetAllFilterRegionSub = function () {\r\n BrandProductMasterCreationService.GetAllAvailableSubRegion(vm.FilterForRegion,loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.AllFilterRegionalSub = resp.data;\r\n }\r\n})\r\n}\r\n\r\nvm.GetAllFilterRegion();\r\nvm.GetAllFilterRegionSub ();\r\n\r\nvm.clearregionfilter= function(){\r\nvm.FilterForRegion = '';\r\nvm.FilterRegionSUb = '';\r\nvm.refreshRigionTable();\r\n$scope.clearSearchFilters();\r\nvm.GetAllFilterRegionSub ();\r\n\r\n}\r\nvm.CreateRegionMaster = function () {\r\n vm.AddRegion_form.submitted = true;\r\n if (vm.AddRegion_form.$valid) {\r\n vm.disableCreationButton = true;\r\n var data = {\r\n \"Region\": vm.RegionName,\r\n \"SubRegion\": vm.RegionSub\r\n }\r\n\r\n BrandProductMasterCreationService.CreateRegionMaster(data, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Region created successfully\");\r\n vm.CloseAddRegionModel();\r\n $timeout(function () {\r\n vm.dtInstanceRegionModal.reloadData();\r\n }, 3000);\r\n }\r\n else {\r\n vm.disableCreationButton = false;\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n }\r\n })\r\n\r\n }\r\n }\r\n\r\n vm.RemoveSubRegion = function (SubRegionName, Location, BranchCode) {\r\n vm.disableCreationButton = true;\r\n var data = {\r\n \"SubRegion\": SubRegionName,\r\n \"LocationName\": Location,\r\n \"BranchCode\": BranchCode\r\n }\r\n BrandProductMasterCreationService.RemoveSubRegion(data, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Sub-Region deleted successfully\");\r\n vm.disableCreationButton = false;\r\n $timeout(function () {\r\n vm.dtInstanceSubRegionModal.reloadData();\r\n }, 2000);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n vm.disableCreationButton = false;\r\n }\r\n })\r\n \r\n \r\n }\r\n vm.RemoveRegion = function (RegionName, SubRegionName) {\r\n vm.disableCreationButton = true;\r\n var data = {\r\n \"Region\": RegionName,\r\n \"SubRegion\": SubRegionName,\r\n }\r\n BrandProductMasterCreationService.RemoveRegion(data, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Region deleted successfully\");\r\n vm.disableCreationButton = false;\r\n $timeout(function () {\r\n vm.dtInstanceRegionModal.reloadData();\r\n }, 2000);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n vm.disableCreationButton = false;\r\n }\r\n })\r\n \r\n \r\n }\r\n\r\n\r\n vm.GetAllAvailableRegion = function () {\r\n BrandProductMasterCreationService.GetAllAvailableRegion(loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data && resp.status == 200) {\r\n vm.regionavailable = resp.data;\r\n }\r\n }, function () {\r\n });\r\n }\r\n vm.GetAllAvailableRegion();\r\n\r\n }\r\n});\nangular.module('inspinia').service('registerService', function (PublicApiURL, $log, $http) {\r\n\r\n\r\n // https://perf.mymobiforce.com/publicapi/api/SignUp/AccountSignUp\r\n this.registerUser = function (userData) {\r\n var url = PublicApiURL + '/api/SignUp/AccountSignUp';\r\n return $http.post(url, userData,{\r\n \theaders:{\r\n \t\t'Content-Type': 'application/json'\r\n \t}\r\n });\r\n }\r\n});\r\n\n angular.module('inspinia').controller('BusinessRegisterController', function ($document,$localStorage, $timeout, $location, $window, $state,registerService, toaster,$uibModal,$scope) {\r\n var vm = this;\r\n vm.firstname = '';\r\n vm.lastname = '';\r\n vm.email = '';\r\n vm.phone = '';\r\n vm.password = '';\r\n vm.confirmpass = '';\r\n vm.companyName = '';\r\n vm.termCheck = false;\r\n var modalInstance = {};\r\n var angular_pass = angular.element(\"#pass\");\r\n var angular_confirm_pass = angular.element(\"#confirm_pass\");\r\n var password = angular_pass[0],\r\n confirm_password = angular_confirm_pass[0];\r\n\r\nvm.Register = function (event) {\r\n /// \r\n /// Registering the New User\r\n /// \r\nif (vm.registerForm.$valid) {\r\n // console.log(\"pass\");\r\n var registerdata = {\r\n FirstName: vm.firstname,\r\n LastName:vm.lastname,\r\n EmailId: vm.email,\r\n PhoneNumber: vm.phone,\r\n Password: vm.password,\r\n Vertical:'others',\r\n CompanyName: vm.companyName\r\n \r\n }\r\n\r\n var json = angular.toJson(registerdata);\r\n if (angular.isDefined(json)) {\r\n registerService.registerUser(json)\r\n .success(function (data,status) {\r\n if (status==201) {\r\n // toaster.pop({\r\n // type: 'success',\r\n // title: data.Message,\r\n // showCloseButton: true,\r\n // body: \"Redirecting to login page\",\r\n // \"showDuration\": \"400\",\r\n // \"hideDuration\": \"1000\",\r\n // \"tapToDismiss\": true,\r\n // \"timeout\": 2000\r\n // });\r\n // fieldsEmpty();\r\n $state.go('ConfirmAccount',{userId:vm.firstname,email:vm.email},{reload:true});\r\n } else if(status==206)\r\n { \r\n toaster.pop({\r\n type: 'error',\r\n title: \"User already exist with this phone number or email id\",\r\n showCloseButton: true,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000\r\n });\r\n \r\n } \r\n })\r\n .error(function () {\r\n toaster.pop({\r\n type: 'error',\r\n title: 'Unable to register',\r\n showCloseButton: true,\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000\r\n });\r\n });\r\n }\r\n\r\n } else {\r\n vm.registerForm.submitted = true;\r\n }\r\n // if (confirm_password.validationMessage) {\r\n // return;\r\n // }\r\n\r\n // event.preventDefault();\r\n }\r\n\r\n\r\n\r\nvm.OpenTermModal=function()\r\n{\r\n modalInstance = $uibModal.open({\r\n templateUrl: 'termsAndCondition_modal.html',\r\n scope:$scope\r\n });\r\n}\r\n\r\nvm.CloseModal=function()\r\n{\r\n modalInstance.close();\r\n}\r\n\r\n // function fieldsEmpty() {\r\n // vm.firstname = '';\r\n // vm.lastname = '';\r\n // vm.email = '';\r\n // vm.phone = '';\r\n // vm.password = '';\r\n // vm.confirmpass = '';\r\n // vm.companyName = '';\r\n // } \r\n\r\n // function validatePassword() {\r\n // if (password.value != confirm_password.value) {\r\n // confirm_password.setCustomValidity(\"Passwords Doesn't Match\");\r\n // } else {\r\n // confirm_password.setCustomValidity('');\r\n // }\r\n // }\r\n // password.onchange = validatePassword;\r\n // confirm_password.onkeyup = validatePassword;\r\n });\r\n\nangular.module('inspinia').service('BonusPaneltyService', function (ApiURL, LocationURL,PublicApiURL, $log, $http,$localStorage) {\r\n var url = ApiURL + '/api/User';\r\n \r\n\r\n this.GetAllBonusPenalty = function (loggedinUser, token){\r\n var url = ApiURL + '/api/BonusPenalty/GetAllBonusPenalty';\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token, 'UserId':loggedinUser}\r\n });\r\n }\r\n\r\n this.UpdateBonusPenalty = function (BonusData,loggedinUser, token) {\r\n var url = ApiURL + '/api/BonusPenalty/UpdateBonusPenalty';\r\n return $http.put(url, BonusData, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token, 'UserId':loggedinUser}\r\n });\r\n }\r\n\r\n\r\n \r\n});\r\n\nangular.module('inspinia').controller('BonusController', function (BonusPaneltyService, toaster, $filter, PublicApiURL, $window, $log, $q, $compile, DTOptionsBuilder, DTColumnBuilder, $localStorage, ticketTemplateService, $scope, $state, FreelancerURL, ApiURL, $timeout) {\r\n\tvm = this;\r\n\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tvm.Role = $localStorage.loggedInUser_Role;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\r\n\tvm.BonusList=[];\r\n\tvm.UpdateBonusList=[];\r\n\tvm.PenaltyList=[];\r\n\tvm.UpdatePenaltyList=[];\r\n\tvm.GetAllBonusPenalty = function () {\t\t\r\n\t\tBonusPaneltyService.GetAllBonusPenalty(loggedinUser, token).then(function (resp) {\r\n\t\t\tvm.BonusPenaltyList = resp.data;\r\n\t\t\tfor(var i = 0; i < vm.BonusPenaltyList.length; i++)\r\n\t\t\t{\r\n\t\t\t\tif(vm.BonusPenaltyList[i].RuleType == \"Bonus\")\t\t\t\t\r\n\t\t\t\t\tvm.BonusList.push(vm.BonusPenaltyList[i]);\t\t\t\t\r\n\t\t\t\telse\r\n\t\t\t\t\tvm.PenaltyList.push(vm.BonusPenaltyList[i]);\r\n\t\t\t}\t\t\t\t\t\t\r\n\t\t});\r\n\t}\r\n\tvm.GetAllBonusPenalty();\r\n\tvm.UpdateBonusAmount = function(index,bonusEnableDisable)\r\n\t{\t\t\t\r\n\t\tif(vm.BonusList[index].Amount==null || vm.BonusList[index].Amount==\"\")\r\n\t\t{\r\n\t\t\tvm.BonusList[index].edit=true;\r\n\t\t\tif(typeof(vm.BonusList[index].Amount) === \"undefined\")\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Please valid amount\");\r\n\t\t\telse\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Please enter amount\");\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tvar bmessage = \"\";\r\n\t\tif(vm.BonusList[index].IsEnable)\r\n\t\t\tbmessage =\"Bonus has been enable successfully\";\r\n\t\telse\r\n\t\t\tbmessage =\"Bonus has been disable successfully\";\r\n\t\t\r\n\t\tvar BonusDetails= {\r\n\t\t\t\"RuleId\": vm.BonusList[index].RuleId,\r\n\t\t\t\"RuleName\": vm.BonusList[index].RuleName,\r\n\t\t\t\"IsEnable\": vm.BonusList[index].IsEnable,\r\n\t\t\t\"Amount\": vm.BonusList[index].Amount\r\n\t\t\t}\r\n\t\t vm.UpdateBonusList.push(BonusDetails);\r\n\t\t\tBonusPaneltyService.UpdateBonusPenalty(vm.UpdateBonusList,loggedinUser, token).then(function (resp) {\r\n\t\t\tif(resp.data == \"Updated\" && resp.status == 200)\r\n\t\t\t{\t\r\n\t\t\t\tif(bonusEnableDisable==\"bonusEnableDisable\")\r\n\t\t\t\t\tvm.showSuccess(\"Success\", bmessage);\r\n\t\t\t\telse\t\t\t\r\n\t\t\t\t\tvm.showSuccess(\"Success\", \"Bonus has been successfully updated\");\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Bonus not updated\");\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\tvm.UpdatePenaltyAmount = function(index,paneltyEnableDisable)\r\n\t{\t\r\n\t\tif(vm.PenaltyList[index].Amount==null || vm.PenaltyList[index].Amount==\"\")\r\n\t\t{\r\n\t\t\tvm.PenaltyList[index].edit=true;\r\n\t\t\tif(typeof(vm.PenaltyList[index].Amount) === \"undefined\")\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Please valid amount\");\r\n\t\t\telse\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Please enter amount\");\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tvar pmessage = \"\";\r\n\t\tif(vm.PenaltyList[index].IsEnable)\r\n\t\t\tpmessage =\"Penalty has been enable successfully\";\r\n\t\telse\r\n\t\t\tpmessage =\"Penalty has been disable successfully\";\r\n\r\n\t\tvar PenaltyDetails= {\r\n\t\t\t\"RuleId\": vm.PenaltyList[index].RuleId,\r\n\t\t\t\"RuleName\": vm.PenaltyList[index].RuleName,\r\n\t\t\t\"IsEnable\": vm.PenaltyList[index].IsEnable,\r\n\t\t\t\"Amount\": vm.PenaltyList[index].Amount\r\n\t\t\t}\r\n\t\t vm.UpdatePenaltyList.push(PenaltyDetails);\r\n\t\t\tBonusPaneltyService.UpdateBonusPenalty(vm.UpdatePenaltyList,loggedinUser, token).then(function (resp) {\r\n\t\t\tif(resp.data == \"Updated\" && resp.status == 200)\r\n\t\t\t{\r\n\t\t\t\tif(paneltyEnableDisable==\"paneltyEnableDisable\")\r\n\t\t\t\t\tvm.showSuccess(\"Success\", pmessage);\r\n\t\t\t\telse\r\n\t\t\t\t\tvm.showSuccess(\"Success\", \"Penalty has been successfully updated\");\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tvm.showFailure(\"Failed\", \"Penalty not updated\");\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\t\r\n}\r\n\r\n});\r\nfunction checktwodecimal(el){\r\n\tvar ex = /^\\d*\\.?\\d{0,2}$/;\r\n\tif(ex.test(el.value)==false){\r\n\t el.value = el.value.substring(0,el.value.length - 1);\r\n\t }\r\n }\nangular.module('inspinia').service('BlockedUserService', function (FreelancerURL, ApiURL, LocationURL, $log, $http) {\r\n\r\n \r\n\r\n //https://login.mymobiforce.com/freelancerapi/api/FreelancerRecharge/F00000000121/getrechargehistorybyself?StartDate=&EndDate=\r\n \r\n //https://perf.mymobiforce.com/freelancerapi/api/FreeLancerUser/GetBlockedFreelancersByAccount/U400000000001\r\n\r\n this.getBlockedUser = function (userId, token) {\r\n var url = FreelancerURL + \"/api/FreeLancerUser/GetBlockedFreelancersByAccount/\" + userId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token':token, \r\n 'UserId':userId\r\n }\r\n });\r\n }\r\n\r\n //http://localhost:50144/api/FreelancerAccount/F00000000000/F00000000106/getaccountbyfreelancerid\r\n this.GetFreelancerBalance = function (loggedinUser, freelancerId, token) {\r\n var url = FreelancerURL + '/api/FreelancerAccount/' + loggedinUser + '/' + freelancerId + '/getaccountbyfreelancerid';\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId':loggedinUser }\r\n });\r\n }\r\n\r\n // https://perf.mymobiforce.com/freelancerapi/api/FreeLancerUser/Block/U400000000001/F00000000664/true\r\n this.UnBlockedSingleUser = function(loggedinUser, userId, status, token){\r\n var uservendorid = userId.charAt(0)\r\n if(uservendorid==\"F\"){\r\n var url = FreelancerURL + '/api/FreeLancerUser/Block/' + loggedinUser + '/'+ userId +'/'+status;\r\n return $http.put(url, null, {\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n });\r\n }\r\n \r\n else if(uservendorid==\"V\"){\r\n//https://perf.mymobiforce.com/freelancerapi/api/FreelancerVendor/Block/U400000000001/V00000000006/true\r\n var url = FreelancerURL + '/api/FreelancerVendor/Block/' + loggedinUser + '/'+ userId +'/'+status;\r\n return $http.put(url, null, {\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n });\r\n\r\n }\r\n }\r\n\r\n// //https://perf.mymobiforce.com/freelancerapi/api/FreelancerVendor/Block/U400000000001/V00000000006/true\r\n// this.UnBlockedSingleVendor = function(loggedinUser, vendorId, status, token){\r\n// debugger\r\n// var url = FreelancerURL + '/api/FreelancerVendor/Block/' + loggedinUser + '/'+ vendorId +'/'+status;\r\n// return $http.put(url, null, {\r\n// headers: { 'Content-Type': 'application/json', 'Token':token }\r\n// });\r\n// }\r\n\r\n})\nangular.module('inspinia').controller('BlockUserController', function(toaster, BlockedUserService, HelpDeskHomeAdminService, \r\n\t$state ,$localStorage, $scope, DTOptionsBuilder, DTColumnDefBuilder, PublicApiURL, $log, \r\n\tHelpDeskCustomerViewService, $uibModal, JobTicketViewService, $q, $timeout, ImageUrl) {\r\n\tvm = this;\r\n\tvm.showSuccess = $scope.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.main.showFailure;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvm.BlokedUserList = [];\r\n\t\tvm.currentPage = 1;\r\n\t\tvm.pageSize = 20;\r\n\t\t\r\n\t vm.availableSearchParams = [\r\n\t { key: \"TemplateName\", name: \"TemplateName\", placeholder: \"TemplateName...\" }\r\n\t // { key: \"city\", name: \"City\", placeholder: \"City...\" },\r\n\t // { key: \"country\", name: \"Country\", placeholder: \"Country...\" },\r\n\t // { key: \"emailAddress\", name: \"E-Mail\", placeholder: \"E-Mail...\", allowMultiple: true },\r\n\t // { key: \"job\", name: \"Job\", placeholder: \"Job...\" }\r\n\t\t];\r\n\t\tvm.getPicUrl = function (profilePicName) {\r\n\t\t\treturn profilePicName ? ImageUrl + \"/\" + profilePicName : null;\r\n\t\t }\r\n\r\n\t\t$scope.isNavCollapsed = true;\r\n\t\t$scope.isCollapsed = true;\r\n\t\t$scope.isCollapsedHorizontal = false;\r\n\r\n\r\n\r\n\t\tvm.getBlokedUser = function(){\r\n\t\t\tBlockedUserService.getBlockedUser(loggedinUser,token).then(function(resp){\r\n\t\t\t\tvm.BlokedUserList = [];\r\n\t\t\t\tvm.BlokedUserList = resp.data;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.unblockSingleUser = function(userid){\r\n\t\t\tBlockedUserService.UnBlockedSingleUser(loggedinUser,userid,true,token).then(function(resp){\r\n\t\t\t\tif(resp.status == '202'){\r\n\t\t\t\t\tvm.showSuccess('Success', \"User Unblock successfully \");\r\n\t\t\t\t\tvm.UnBlockedUserModal.close();\r\n\t\t\t\t\tvm.getBlokedUser();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\t// vm.UnBlockedSingleVendor = function(vendorid){\r\n\t\t// \tdebugger\r\n\t\t// \tBlockedUserService.UnBlockedSingleUser(loggedinUser,vendorid,true,token).then(function(resp){\r\n\t\t// \t\tif(resp.status == '202'){\r\n\t\t// \t\t\tvm.showSuccess('Success', \"User successfully blocked\");\r\n\t\t// \t\t\tvm.UnBlockedUserModal.close();\r\n\t\t// \t\t}\r\n\t\t// \t})\r\n\t\t// }\r\n\r\n\t\tvm.getBlokedUser();\r\n\r\n\r\n\r\n\t\tvm.Filter = function () {\r\n\t\t\tvm.AllBookingList ='';\r\n\t\t\t $scope.selected = null;\r\n\r\n\t\t\tvm.jobAppointmentModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'Filter.html',\r\n\t\t\t\tsize :'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t\r\n\t\t}\r\n\t\tvm.CloseFilter = function(){\r\n\t\t\tFilter.close();\r\n\t\r\n\t\t}\r\n\t\tvm.Email = function () {\r\n\t\t\tvm.AllBookingList ='';\r\n\t\t\t $scope.selected = null;\r\n\r\n\t\t\tvm.jobAppointmentModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'Email.html',\r\n\t\t\t\tsize :'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t\r\n\t\t}\r\n\t\r\n\t\tvm.InApp = function () {\r\n\t\t\tvm.AllBookingList ='';\r\n\t\t\t $scope.selected = null;\r\n\r\n\t\t\tvm.jobAppointmentModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'InApp.html',\r\n\t\t\t\tsize :'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t\r\n\t\t}\r\n\t\tvm.Preffered = function () {\r\n\t\t\tvm.AllBookingList ='';\r\n\t\t\t $scope.selected = null;\r\n\r\n\t\t\tvm.jobAppointmentModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'Preffered.html',\r\n\t\t\t\tsize:'sm',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t\r\n\t\t}\r\n\t\t// vm.UnBlock = function () {\r\n\t\t// \tvm.AllBookingList ='';\r\n\t\t// \t $scope.selected = null;\r\n\r\n\t\t// \tvm.jobAppointmentModal = $uibModal.open({\r\n\t\t// \t\ttemplateUrl: 'UnBlock.html',\r\n\t\t// \t\tsize:'sm',\r\n\t\t// \t\tscope: $scope\r\n\t\t// \t});\r\n\t\t\r\n\t\t// }\r\n\r\n\t\tvm.unblockeduser=[];\r\n\t\tvm.UnBlocked = function (UserId) {\r\n\t\t\tvm.unblockeduser=UserId;\r\n\t\t\tvm.selectedInvoice = UserId;\r\n\t\t\tvm.UnBlockedUserModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'UnBlock.html',\r\n\t\t\t\tsize:'sm',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t\treload:true\r\n\t\t\t});\r\n\t\t\r\n\t\t}\r\n\r\n\t\tvm.UnBlockedUser = function () {\r\n\t\t\tvm.UnBlockedUserModal.close();\r\n\t\t}\r\n\r\n\r\n\t\tvm.Addtalent = function () {\r\n\t\t\tvm.AllBookingList ='';\r\n\t\t\t $scope.selected = null;\r\n\r\n\t\t\tvm.jobAppointmentModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'Addtalent.html',\r\n\t\t\t\tsize :'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t\r\n\t\t}\r\n\r\n\t\r\n\t\r\n\r\n}\r\n});\nangular.module('inspinia').service('billdetailsService', function (ApiURL,SchedulingAPI,AcessoriesURL, $window, $http) {\r\n\r\n\r\n///////\r\n\r\nthis.GetAllBillsWithFilter = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/ServiceCentreBill/GetAllBillsWithFilter';\r\n return $http.put(url, data, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n}\r\n \r\n\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('billdetailsController', function (billdetailsService, $resource, toaster, $filter, $compile, $q, $state, $localStorage, $scope, DTOptionsBuilder, DTColumnBuilder, $uibModal, $timeout) {\r\n\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\t\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\t\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\t\tvm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n\t\tvm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\t\t$scope.isNavCollapsed = true;\r\n\t\t$scope.isCollapsed = true;\r\n\t\t$scope.isCollapsedHorizontal = false;\r\n\t\tvm.dtInstance = {};\r\n\t\tvm.selectSingle = false;\r\n\t\tvm.disableExceptionButton = false;\r\n\t\tvm.ticketPageListCount = 10;\r\n\t\tvm.financePageListCount = 10;\r\n\t\tvm.pageListCounts = [10, 20, 30, 50];\r\n\t\tvm.scheduleExceptionListNewLength=0;\r\n\t\tvar PageIndex = 1;\r\n\t\tvar PageSize = 10; \r\n\t\tvm.SearchByAccountName = '';\r\n\t\tvm.ExceptionType = '';\r\n\t\tvm.exceptionState = '';\r\n\t\tvm.showAllAccounts = [];\r\n\t\tvm.UserId='';\r\n vm.SearchText = '';\r\n\t\t $scope.dates = { startDate: moment().subtract(30, 'day'), endDate: moment() };\r\n\t\t var startDate = moment().subtract(30, 'days').format(\"YYYY-MM-DD\");\r\n\t\t var endDate = moment().format(\"YYYY-MM-DD\");\r\n\t\t$scope.ranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment().endOf('month')]\r\n\t\t};\r\n\r\n\t\tvm.outsidedateRangeChange = function (ev, picker) {\r\n\t\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\t\tvm.GetAllBillsWithFilter();\r\n\t\t};\r\n\r\n\t\t\r\n\t\t$scope.totalInventory = 0;\r\n $scope.usersStockPageRequest = vm.financePageListCount;\r\n $scope.Requestpagination = {\r\n current: 1,\r\n };\r\n\r\n vm.changeMyStockPageListCount = function () {\r\n $scope.usersStockPageRequest = vm.financePageListCount;\r\n PageSize = $scope.usersStockPageRequest;\r\n // $scope.Requestpagination.current = 1;\r\n $scope.MystockTablePageChanged($scope.Requestpagination.current);\r\n\t\t vm.selectAll = false;\r\n\t\t\tPageIndex = $scope.Requestpagination.current;\r\n\t\t\t$scope.MystockTablePageChanged = function (newPage) {\r\n\t\t\t\tPageIndex = newPage;\r\n\t\t\t\tvm.GetAllBillsWithFilter();\r\n\t\t\t };\r\n \r\n };\r\n\t\tPageIndex = $scope.Requestpagination.current;\r\n\r\n $scope.MystockTablePageChanged = function (newPage) {\r\n PageIndex = newPage;\r\n vm.GetAllBillsWithFilter();\r\n };\r\n \r\n\r\n\t\tvm.GetAllBillsWithFilter = function () {\r\n\t\t\tvm.BillDetails = [];\r\n\t\t\tvar data = {\r\n\t\t\t \"PageIndex\": PageIndex,\r\n\t\t\t \"PageSize\": PageSize,\r\n\t\t\t \"SearchText\": vm.SearchText,\r\n\t\t\t \"FromDate\": startDate,\r\n\t\t\t \"ToDate\": endDate,\r\n\t\t\t \r\n\t\t\t};\r\n\t\t\tbilldetailsService.GetAllBillsWithFilter(data,loggedinUser, token).then(\r\n\t\t\t function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t vm.BillDetails = resp.data.billList;\r\n\t\t\t\t $scope.totalInventory = resp.data.Count;\r\n\t\t\t\t// vm.totalInventoryValue = resp.data.InventoryTotal;\r\n\t\t\t\t if (vm.BillDetails.length < vm.financePageListCount) {\r\n\t\t\t\t\tvm.myStockListLength = $scope.totalInventory;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\tvm.myStockListLength = PageIndex * vm.financePageListCount;\r\n\t\t\t\t\t}\r\n\t\t\t\t if (PageIndex == 1){\r\n\t\t\t\t\tvm.countdpageindexCount = 1;\r\n\t\t\t\t } \r\n\t\t\t\t else{\r\n\t\t\t\t\tvm.countdpageindexCount =\r\n\t\t\t\t\t (PageIndex - 1) * vm.financePageListCount + 1;\r\n\t\t\t\t }\r\n\t\t\t\t}\r\n\t\t\t },\r\n\t\t\t function (error) { }\r\n\t\t\t);\r\n\t\t };\r\n\r\nvm.GetAllBillsWithFilter();\r\n\t \r\nvar debounceTimeout;\r\nvm.searchByText = function () {\r\n if (debounceTimeout) clearTimeout(debounceTimeout);\r\n debounceTimeout = setTimeout(function () {\r\n vm.PageIndex = 1;\r\n vm.GetAllBillsWithFilter();\r\n }, 300); // Adjust delay as needed\r\n};\r\n\r\nvm.clearbilldetails = function(){\r\n\tvm.SearchText = '';\r\n\tvm.GetAllBillsWithFilter();\r\n}\r\n\r\nvm.showPartDetails = false;\r\n\r\nvm.OpenPartDetailPanel = function (s) {\r\n\tvm.PartDetails = s;\r\n\t\r\n\tvm.showPartDetails = true;\r\n}\r\n\r\n\t}\r\n});\nangular.module('inspinia').service('BGVerificationService', function (ApiURL, PublicApiURL, ActivityURL, LocationURL, $http, FreelancerURL, SchedulingAPI) {\r\n\r\n this.SendCommunicationInvite = function (UserId, type, step, loggedinUser, token) {\r\n var url = ApiURL + '/api/Ticket/SendCommunicationInviteOnBoarding?UserId=' + UserId + '&Type=' + type + '&Step=' + step;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n\r\n this.GetAllInteractions = function (data, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerRegistration/GetAllInteractions';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAllInteractionsDashboard = function (data, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerRegistration/GetAllInteractionsDashboard';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.AssignSlotInteractionToUser = function (data, userId, InteractionType, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerRegistration/AssignSlotInteractionToUser?AssignToUser=' + userId + '&InteractionType=' + InteractionType;\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAvailableSlots = function (selectedDate, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreelancerUser/GetAvailableSlotsForBGVerification?date=' + selectedDate;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n\r\n }\r\n });\r\n }\r\n\r\n this.BookSlotForBGVerification = function (userId, selectedDate, slotIndex, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreelancerUser/RescheduleslotForBGVerificationWeb?UserId=' + userId + '&date=' + selectedDate + '&SlotId=' + slotIndex;\r\n return $http.put(url, null, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n\r\n});\nangular.module('inspinia').controller('BGVerificationController', function (BGVerificationService,OnBoardingFlowService, ReferService, ScheduleAssignService, $q, $log, $filter, $state, $localStorage, UIURL, $stateParams, $uibModal, $scope, DTOptionsBuilder, DTColumnDefBuilder, toaster, $timeout, $compile, uiCalendarConfig, ImageUrl, PublicApiURL, $window) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n var accountid = $localStorage.accountConfig.AccountId;\r\n vm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n vm.showSuccess = $scope.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.main.showFailure;\r\n\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n\r\n vm.sorttype = \"desc\";\r\n vm.SortType = \"desc\";\r\n vm.SortField = 'CreatedOn';\r\n vm.InteractionList = [];\r\n vm.assignButtonDisable = false;\r\n vm.bGVerifyListLength = 0;\r\n vm.userPageListCount = 10;\r\n vm.pageListCounts = [10, 20, 30, 50];\r\n var PageIndex = 1;\r\n var PageSize = 10;\r\n vm.InteractionType = 'BGVerify';\r\n vm.statusList = [\"Completed\", \"Assigned\"];\r\n vm.AssignedTo = '';\r\n vm.slotStatus = 'Assigned';\r\n vm.DateField = 'CreatedOn';\r\n vm.State = '';\r\n vm.City = '';\r\n vm.userskill = '';\r\n vm.disableuploadbutton = false;\r\n var startDate = moment().subtract(7, 'day').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.bookingdates = { startDate: moment().subtract(7, 'day'), endDate: moment() };\r\n vm.bookingRanges = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n 'Till now': [moment().subtract(5, 'years'), moment()]\r\n };\r\n\r\n // start calender\r\n var scheduleStartDate = new Date();\r\n var scheduleEndDate = new Date();\r\n scheduleEndDate.setDate(scheduleEndDate.getDate() + 6);\r\n vm.slotBookingdates = { scheduleStartDate: moment().subtract(7, 'day'), scheduleEndDate: moment() };\r\n $scope.showCalendar = false;\r\n $scope.showBookingTab = false;\r\n vm.slotDate = $filter('date')(new Date(), 'yyyy-MM-dd');\r\n $scope.toggleCalendar = function (userId) {\r\n vm.slotBookingUserId = userId;\r\n vm.GetAvailableSlots(vm.slotDate);\r\n $scope.showBookingTab = true;\r\n $scope.showCalendar = !$scope.showCalendar;\r\n };\r\n $scope.dateClicked = function () {\r\n vm.slotDate = $filter('date')(new Date(vm.slotBookingdates), 'yyyy-MM-dd');\r\n vm.GetAvailableSlots(vm.slotDate);\r\n };\r\n $scope.dateOptions = {\r\n formatYear: 'yyyy',\r\n startingDay: 1,\r\n minDate: scheduleStartDate,\r\n maxDate: scheduleEndDate\r\n };\r\n $scope.date = scheduleStartDate;\r\n\r\n\r\n\r\n ////end calender\r\n var scdt = new Date();\r\n scdt.setMinutes(scdt.getMinutes() + 30);\r\n vm.SourceCreationDate = scdt;\r\n var pcdt = new Date();\r\n pcdt.setDate(pcdt.getDate() + 7);\r\n vm.PlannedClosureDate = pcdt;\r\n\r\n vm.openCalendar = function (e, picker) {\r\n vm.ClosureDateTime.open = true;\r\n };\r\n var plannedclosuredatelimit = new Date();\r\n plannedclosuredatelimit.setMinutes(plannedclosuredatelimit.getMinutes() + 1)\r\n vm.ClosureDateTime = { date: '', datepickerOptions: { minDate: plannedclosuredatelimit } };\r\n\r\n var date = new Date();\r\n var d = date.getDate();\r\n var m = date.getMonth();\r\n var y = date.getFullYear();\r\n vm.eventsF = function (start, end, timezone, callback) {\r\n var s = new Date(start).getTime() / 1000;\r\n var e = new Date(end).getTime() / 1000;\r\n var m = new Date(start).getMonth();\r\n var events = [{\r\n title: 'Feed Me ' + m,\r\n start: s + (50000),\r\n end: s + (100000),\r\n allDay: false,\r\n className: ['customFeed']\r\n }];\r\n callback(events);\r\n };\r\n\r\n vm.outsidedateRangeChange = function (ev, picker) {\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n if (vm.InteractionType == 'BGVerify') {\r\n vm.InteractionType = 'BGVerify'\r\n }\r\n if (vm.InteractionType == 'SMEInteration') {\r\n vm.InteractionType = 'SMEInteration'\r\n }\r\n $scope.Userpagination = {};\r\n PageIndex = 1;\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n vm.GetAllInteractions();\r\n vm.GetAllInteractionsDashboard();\r\n };\r\n\r\n\r\n vm.toBeAssigned = [];\r\n vm.implementSelectItemsUsers = function (itemList, scope) {\r\n scope.selectAllUsers = false;\r\n scope.showMinusUsers = false;\r\n scope.selectRowUsers = function (i) {\r\n scope.showMinusUsers = false;\r\n scope.selectAllUsers = false;\r\n angular.forEach(scope[itemList], function (d) {\r\n if (d.checked) {\r\n vm.toBeAssigned.push(d.UserId)\r\n scope.showMinusUsers = true;\r\n }\r\n\r\n });\r\n }\r\n scope.applyAllNewJobSelect = function () {\r\n angular.forEach(scope[itemList], function (d) {\r\n d.checked = scope.selectAllUsers;\r\n });\r\n }\r\n\r\n scope.resetAllSelect = function () {\r\n scope.selectAllUsers = false;\r\n scope.showMinusUsers = false;\r\n }\r\n }\r\n\r\n vm.implementSelectItemsUsers('InteractionList', this);\r\n\r\n\r\n vm.AssignTickets = function (userId) {\r\n if (vm.toBeAssigned.length <= 1) {\r\n vm.showFailure(\"Failed\", 'Please select atleast 1 user to assign');\r\n } else {\r\n vm.assignButtonDisable = true;\r\n BGVerificationService.AssignSlotInteractionToUser(vm.toBeAssigned, userId, vm.InteractionType, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.showSuccess(\"Success\", \"Users assigned successfully\");\r\n vm.assignButtonDisable = false;\r\n $timeout(function () {\r\n vm.GetAllInteractions();\r\n vm.GetAllInteractionsDashboard();\r\n vm.toBeAssigned = [];\r\n }, 2000);\r\n\r\n } else {\r\n vm.showFailure(\"Failed\", \"User could not be assigned, server is not responding correctly.\");\r\n vm.assignButtonDisable = false;\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"User could not be assigned, server is not responding correctly.\");\r\n vm.assignButtonDisable = false;\r\n })\r\n }\r\n }\r\n\r\n\r\n $scope.totalTableUsersBG = 0;\r\n $scope.userSMETablePerPage = vm.userPageListCount;\r\n $scope.UserSMETablepagination = {\r\n current: 1\r\n };\r\n\r\n\r\n vm.changeUserSMEPageListCount = function () {\r\n $scope.userSMETablePerPage = vm.userPageListCount;\r\n PageSize = $scope.userSMETablePerPage;\r\n $scope.UserSMETablepageChanged($scope.UserSMETablepagination.current);\r\n }\r\n\r\n PageIndex = $scope.UserSMETablepagination.current;\r\n $scope.UserSMETablepageChanged = function (newPage) {\r\n PageIndex = newPage;\r\n vm.GetAllInteractions();\r\n };\r\n\r\n $scope.totalTableUsersBG = 0;\r\n $scope.userTablePerPage = vm.userPageListCount;\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n\r\n\r\n vm.changeUserPageListCount = function () {\r\n $scope.userTablePerPage = vm.userPageListCount;\r\n PageSize = $scope.userTablePerPage;\r\n $scope.UserTablepageChanged($scope.UserTablepagination.current);\r\n }\r\n\r\n PageIndex = $scope.UserTablepagination.current;\r\n $scope.UserTablepageChanged = function (newPage) {\r\n PageIndex = newPage;\r\n vm.GetAllInteractions();\r\n };\r\n\r\n\r\n vm.GetAllInteractions = function () {\r\n data = {\r\n \"Status\": vm.slotStatus,\r\n \"Skill\": vm.userskill == \"\" ? \"\" : vm.userskill.join(\"|\"),\r\n \"DateField\": vm.DateField,\r\n \"FromDate\": startDate,\r\n \"ToDate\": endDate,\r\n \"AssignedTo\": vm.AssignedTo == \"\" ? \"\" : vm.AssignedTo.join(\"|\"),\r\n \"InteractionType\": vm.InteractionType,\r\n \"PageIndex\": PageIndex,\r\n \"PageCount\": PageSize,\r\n \"State\": vm.State,\r\n \"City\": vm.City\r\n }\r\n BGVerificationService.GetAllInteractions(data, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.InteractionList = resp.data.GetInteractionResModelList;\r\n $scope.totalTableUsersBG = resp.data.Count;\r\n if (vm.InteractionList.length < vm.userPageListCount)\r\n vm.bGVerifyListLength = $scope.totalTableUsersBG;\r\n else\r\n vm.bGVerifyListLength = PageIndex * vm.userPageListCount;\r\n if (PageIndex == 1)\r\n vm.pageindexCount = 1;\r\n else\r\n vm.pageindexCount = (((PageIndex - 1) * vm.userPageListCount) + 1);\r\n }\r\n\r\n })\r\n }\r\n\r\n vm.GetAllInteractionsDashboard = function () {\r\n data = {\r\n \"Status\": vm.slotStatus,\r\n \"Skill\": vm.userskill == \"\" ? \"\" : vm.userskill.join(\"|\"),\r\n \"DateField\": vm.DateField,\r\n \"FromDate\": startDate,\r\n \"ToDate\": endDate,\r\n \"AssignedTo\": vm.AssignedTo == \"\" ? \"\" : vm.AssignedTo.join(\"|\"),\r\n \"InteractionType\": vm.InteractionType,\r\n \"PageIndex\": PageIndex,\r\n \"PageCount\": PageSize,\r\n \"State\": vm.State,\r\n \"City\": vm.City\r\n }\r\n BGVerificationService.GetAllInteractionsDashboard(data, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.TotalSlots = resp.data.TotalSlots;\r\n vm.AssignedSlots = resp.data.AssignedSlots;\r\n vm.PendingSlots = resp.data.PendingSlots;\r\n vm.CompletedSlots = resp.data.CompletedSlots;\r\n vm.BreachedSlots = resp.data.BreachedSlots;\r\n }\r\n\r\n })\r\n }\r\n\r\n vm.GetAllInteractions();\r\n vm.GetAllInteractionsDashboard();\r\n\r\n /// video upload\r\n vm.VideoUploadPopup = function (UserId, UserSkill) {\r\n vm.UserIdForVideo = UserId;\r\n vm.UserSkillForVideo = UserSkill;\r\n VideoModel = $uibModal.open({\r\n templateUrl: 'videoupload_model.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n }, function () {\r\n });\r\n \r\n}\r\n vm.file = [];\r\n $scope.uploadVideoFile = function(files){ \r\n vm.FrontFileName=\"\";\r\n vm.FilesFrontDoc = files.files;\r\n vm.FrontFileName = vm.FilesFrontDoc[0].name; \r\n vm.file.push(vm.FilesFrontDoc);\t\r\n var allowedExtensions = /(\\.mp4|\\.mov|\\.avi|\\.webm|\\.m4v|\\.qt)$/i; \r\n if(!allowedExtensions.exec(vm.FrontFileName)){\r\n vm.FilesFrontDoc = [];\r\n vm.clear(); \r\n alert('Please upload file having extensions .mp4,.mov,.avi,.webm,.m4v,.qt only.');\r\n }\r\n }\r\n vm.clear = function () {\r\n angular.element(\"input[type='file']\").val(null);\r\n };\r\n\r\n $scope.stars = [1, 2, 3, 4, 5];\r\n $scope.skillrating = 0;\r\n\r\n $scope.setRating = function(rating) {\r\n $scope.skillrating = rating;\r\n };\r\n\r\n vm.UploadVideo = function () {\r\n var Feedback = vm.FeedbackRemarks;\r\n var Rating = $scope.skillrating;\r\n vm.disableuploadbutton = true;\r\n OnBoardingFlowService.UploadBGInteractionVideo(vm.UserIdForVideo,Rating, Feedback,vm.FrontFileName, vm.FilesFrontDoc, token, loggedinUser).then(function (res) {\r\n if (res && res.status == 201) {\r\n vm.showSuccess(\"Success\", \"Video Uploaded Successfully.\");\r\n vm.VideoUploadPop();\r\n vm.disableuploadbutton = false;\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", \"Not Uploaded\");\r\n vm.VideoUploadPop();\r\n vm.disableuploadbutton = false; \r\n } else {\r\n vm.showFailure(\"Failed\");\r\n }\r\n });\r\n }\r\n\r\n vm.VideoUploadPop = function () {\r\n VideoModel.close();\r\n $scope.skillrating = 0;\r\n vm.FeedbackRemarks = \"\";\r\n }\r\n\r\n vm.ProfileEditView = function (userId) {\r\n $state.go('index.RegistrationForm', {\r\n UserId: userId\r\n })\r\n }\r\n\r\n vm.getAllUsersByType = function (value) {\r\n $scope.totalTableUsersBG = 0;\r\n if (value == 'BGVerify') {\r\n vm.InteractionType = 'BGVerify'\r\n }\r\n if (value == 'SMEInteration') {\r\n vm.InteractionType = 'SMEInteration'\r\n }\r\n $scope.UserTablepagination = {};\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n $scope.UserSMETablepagination = {};\r\n $scope.UserSMETablepagination = {\r\n current: 1\r\n };\r\n vm.GetAllInteractions();\r\n vm.GetAllInteractionsDashboard();\r\n\r\n }\r\n\r\n vm.getAllSlotsByStatus = function (status) {\r\n vm.slotStatus = status;\r\n PageIndex = 1;\r\n vm.GetAllInteractions();\r\n }\r\n\r\n vm.OpenSMEPopUp = function (userDetail) {\r\n vm.userName = userDetail.UserName;\r\n vm.userId = userDetail.UserId;\r\n SMEInteractionModel = $uibModal.open({\r\n templateUrl: 'SME_Interaction_model.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n }, function () {\r\n });\r\n }\r\n\r\n vm.closeInteractionPopUp = function () {\r\n SMEInteractionModel.close();\r\n }\r\n\r\n vm.GetAvailableSlots = function (slotDate) {\r\n vm.slotDate = slotDate\r\n BGVerificationService.GetAvailableSlots(slotDate, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.AvailableSlots = resp.data.objAvailableSlotModelList;\r\n if(vm.AvailableSlots.length != 0){\r\n $scope.showBookingTab = true;\r\n }\r\n else{\r\n $scope.showBookingTab = false;\r\n }\r\n $scope.selectedTimeSlot = vm.AvailableSlots[0];\r\n }\r\n })\r\n }\r\n vm.SlotId = '';\r\n vm.disableBookingButton = false;\r\n vm.BookSlotForBGVerification = function () {\r\n vm.disableBookingButton = true;\r\n BGVerificationService.BookSlotForBGVerification(vm.slotBookingUserId, vm.slotDate, vm.SlotId, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n $scope.toggleCalendar();\r\n vm.showSuccess(\"Success\", resp.data.Message);\r\n $timeout(function () {\r\n vm.GetAllInteractions();\r\n vm.GetAllInteractionsDashboard();\r\n }, 2000);\r\n vm.disableBookingButton = false;\r\n }\r\n else {\r\n vm.disableBookingButton = false;\r\n vm.showFailure(\"Failed\", resp.data.Message);\r\n\r\n }\r\n })\r\n }\r\n\r\n vm.SendCommunicationInvite = function (type, Step) {\r\n // if($scope.AudioCallInitiated == false && type == 'Audio') {\r\n if (type == 'Audio') {\r\n BGVerificationService.SendCommunicationInvite(UserId, type, Step, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n {\r\n vm.connectionLink = resp.data;\r\n vm.showSuccess(\"Success\", \"Audio call request initiated\");\r\n // vm.PollVideoCallFieldLocation();\t\r\n // $scope.AudioCallInitiated = true;\t\t\t\t\r\n\r\n }\r\n }\r\n });\r\n }\r\n else if (type == 'Video') {\r\n BGVerificationService.SendCommunicationInvite(UserId, type, Step, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n {\r\n vm.connectionLink = resp.data;\r\n vm.showSuccess(\"Success\", \"Video call request initiated\");\r\n // vm.PollVideoCallFieldLocation();\t\r\n // $scope.VideoCallInitiated = true;\t\t\t\t\r\n\r\n }\r\n }\r\n });\r\n }\r\n else if (type == 'Text') {\r\n BGVerificationService.SendCommunicationInvite(UserId, type, Step, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n {\r\n vm.connectionLink = resp.data;\r\n vm.showSuccess(\"Success\", \"Communication Request Initiated\");\r\n // vm.PollVideoCallFieldLocation();\t\r\n // $scope.ChatInitiated = true;\t\t\t\t\r\n\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n }\r\n});\r\n\r\nangular.module('inspinia').filter('searchUser', function () {\r\n return function (items, search) {\r\n var filtered = [];\r\n if (search) {\r\n angular.forEach(items, function (item) {\r\n var searchstr = new RegExp(search, \"i\");\r\n if (item.id.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.User_Type.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.city.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.contactnumber.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.name.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.role.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n else if (item.state.match(searchstr)) {\r\n filtered.push(item);\r\n }\r\n });\r\n } else {\r\n filtered = items;\r\n }\r\n return filtered;\r\n }\r\n})\nangular.module('inspinia').service('AutoScheduleSettingsService', function (ApiURL, FreelancerURL,LocationURL,PublicApiURL, $log, $http,$localStorage,$window) {\r\n\r\n // vm.updateSetting = function(loggedinUser, data, token){\r\n // $http.post(ApiURL + '/api/ReportSchedule/cron?userId='+loggedinUser, data, { headers: { 'Content-Type': 'application/json', 'Token': token,'UserId':loggedinUser } }).then(function (res) {\r\n \r\n // })\r\n // }\r\n});\nangular.module('inspinia').controller('AutoScheduleSettingsController', function (AutoScheduleSettingsService, ReferService, toaster, $filter, $rootScope, PublicApiURL, $window, $log, $q, $compile, DTOptionsBuilder, DTColumnDefBuilder, DTColumnBuilder, $uibModal, $localStorage, ticketTemplateService, $scope, $state, FreelancerURL, ApiURL, $timeout) {\r\n vm = this;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n } else { \r\n \r\n vm.showTimes=[];\r\n vm.timeSlotDay =[];\r\n vm.autoTimeWindow=\"\";\r\n vm.broadcastCount=\"\";\r\n vm.jobsBroadcast=\"\";\r\n vm.timeWindow = [];\r\n vm.timeslot =[];\r\n\r\n vm.addTimesDay = function() {\r\n vm.timeSlotDay;\r\n }\r\n\r\n vm.addTimes = function() {\r\n vm.showTimes.push(vm.timeslot);\r\n }\r\n\r\n vm.removeTime = function(index) {\r\n vm.showTimes.splice(index,1);\r\n }\r\n\r\n for (var i = 0; i <= 30; i++) {\r\n vm.timeWindow.push(i);\r\n }\r\n\r\n vm.updateSetting = function(){ \r\n var data = {};\r\n data = {\r\n\r\n \"UserId\": loggedinUser,\r\n \"time\": vm.showTimes,\r\n \"timeWindow\":vm.autoTimeWindow,\r\n \"showTime\": vm.timeSlotDay,\r\n \"jobsBroadcast\":vm.jobsBroadcast,\r\n \"broadcastCount\":vm.broadcastCount\r\n\r\n } \r\n \r\n AutoScheduleSettingsService.updateSetting(data, token, loggedinUser).then(function(res){\r\n if (res && res.status == 201) { \r\n } \r\n });\r\n }\r\n \r\n }\r\n});\r\n \nangular.module('inspinia').service('AssignationRuleService', function ($log, $http, CronUrl, SchedulingAPI, ApiURL) {\r\n\r\n vm = this;\r\n\r\n // https://perf.mymobiforce.com/schedulingapi/api/AutoAssignScheduler/GetSchedulerConfig?reqUserId=U350000000001\r\n vm.getAssignationRule = function(loggedinUser,token){\r\n var url = SchedulingAPI + '/api/AutoAssignScheduler/GetSchedulerConfig?reqUserId=' + loggedinUser ; \r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n // https://perf.mymobiforce.com/schedulingapi/api/AutoAssignScheduler/PutSchedulerConfigList?reqUserId=U350000000001\r\n vm.SaveAssignationRule = function(loggedinUser, ruleList, token, success, failure){\r\n var url = SchedulingAPI + '/api/AutoAssignScheduler/PutSchedulerConfigList?reqUserId='+ loggedinUser;\r\n $http.put(url,ruleList,{headers: {'Content-Type': 'application/json','Token': token, 'UserId': loggedinUser}}).then(success,failure);\r\n }\r\n\r\n\r\n\r\n});\r\n\r\n\nangular.module('inspinia').controller('AssignationRuleController', function ($uibModal, DTOptionsBuilder, DTColumnBuilder, $compile, $q, DTColumnDefBuilder, $scope, $log, AssignationRuleService, $localStorage, ReportService, DashboardURL) {\r\n var vm = this;\r\n\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n if (!loggedinUser) {\r\n\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n\r\n var token = $localStorage.token;\r\n\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\r\n var token = $localStorage.token;\r\n vm.schedules = [];\r\n vm.selectStatus = {};\r\n \r\n // report - assignRule\r\n vm.dtInstance = {};\r\n vm.selected = {};\r\n vm.toggleOne = toggleOne;\r\n vm.changePriority = changePriority;\r\n vm.setPriorityIndex = {};\r\n // vm.getAllassignationrule = function(){\r\n // ScheduledReportService.getAssignationRule(loggedinUser, token).then(function(resp){\r\n // vm.AssignationRuleList = resp.data;\r\n // });\r\n // }\r\n // // vm.getAllassignationrule();\r\n\r\n vm.dtOption = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n AssignationRuleService.getAssignationRule(loggedinUser, token).then(function (resp) {\r\n vm.AssignationRuleList = resp.data;\r\n // console.log(vm.AssignationRuleList);\r\n defer.resolve(vm.AssignationRuleList);\r\n });\r\n\r\n return defer.promise;\r\n }).withDOM('<\"html5buttons\"B>lTfgitp').withPaginationType('full_numbers')\r\n .withOption('order', []).withBootstrap()\r\n .withOption('createdRow', function (row, data, dataIndex) {\r\n // Recompiling so we can bind Angular directive to the DT\r\n $compile(angular.element(row).contents())($scope);\r\n })\r\n .withOption('headerCallback', function (header) {\r\n if (!vm.headerCompileds) {\r\n // Use this headerCompiled field to only compile header once\r\n vm.headerCompileds = true;\r\n $compile(angular.element(header).contents())($scope);\r\n }\r\n });\r\n\r\n vm.dtColumn = [\r\n DTColumnBuilder.newColumn(null).withTitle(null).renderWith(function (data, type, full, meta) {\r\n vm.selected[meta.row] = data.IsEnable;\r\n return '';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn('RuleId').withTitle('RuleId').renderWith(function (data) {\r\n return '' + data + '';\r\n }).notSortable(),\r\n // DTColumnBuilder.newColumn('RuleType').withTitle('RuleType').renderWith(function (data) {\r\n // return '' + data + '';\r\n // }),\r\n DTColumnBuilder.newColumn('OrderByName').withTitle('Name').notSortable(),\r\n DTColumnBuilder.newColumn('Description').withTitle('Description').renderWith(function (data) {\r\n return '' + data + '';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn(null).withTitle('Priority Index').renderWith(function (data, type, full, meta) {\r\n \r\n vm.setPriorityIndex[meta.row] = data.PriorityIndex.toString();\r\n if(full.RuleType!=\"AssignFilter\"){\r\n return ' ';\r\n }\r\n return '';\r\n // return '' + data + '';\r\n }).notSortable()\r\n // DTColumnBuilder.newColumn('IsEnable').withTitle('IsEnable'), \r\n ];\r\n\r\n function toggleOne(selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n vm.AssignationRuleList[id].IsEnable = selectedItems[id];\r\n }\r\n }\r\n \r\n }\r\n\r\n function changePriority(allActivity){\r\n for (var id in allActivity) {\r\n if (allActivity.hasOwnProperty(id)) {\r\n vm.AssignationRuleList[id].PriorityIndex = Number(allActivity[id]);\r\n }\r\n }\r\n\r\n }\r\n\r\n vm.SaveAssignationRule = function(){\r\n if(vm.AssignationRuleList.length > 0){\r\n AssignationRuleService.SaveAssignationRule(loggedinUser, vm.AssignationRuleList, token, function (res) {\r\n if (res.data) {\r\n vm.showSuccess(\"Success\", \"Successfully Save Scheduling Rules\");\r\n $timeout(function () {\r\n $state.reload();\r\n }, 2000);\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to Save Scheduling Rule.\");\r\n });\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n});\nangular.module('inspinia').service('Assests360ViewService', function (ApiURL, $http, FreelancerURL, LocationURL) {\r\n\r\n this.getUserInfo = function (userId,loggedInUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerUser/' + userId +'/'+ loggedInUser+ '/'+ 'byUserIdWithJobCount' ;\r\n\t return $http.get(url,{\r\n\t headers:{'Content-Type' : 'application/json','Token':token, 'UserId':loggedInUser}\r\n\t })\r\n\t}\r\n\r\n}\r\n)\r\n\nangular.module('inspinia').controller('Assests360ViewController', function ($scope, $state, $filter,MainService,TeamProfileService, OnBoardingFormService, $log, $stateParams, $localStorage,$uibModal, DTColumnDefBuilder, DTOptionsBuilder, ImageUrl) {\r\n var vm = this;\r\n var userId = $stateParams.userId;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n\r\n // if (!loggedinUser || !userId) {\r\n\r\n // $state.go('Login', {\r\n // reload: true\r\n // });\r\n\r\n // } else {\r\n // var loggedinUserRole = $localStorage.loggedInUser_Role;\r\n $scope.showOptions1 = false;\r\n $scope.showOptions2 = false;\r\n $scope.showOptions3 = false;\r\n $scope.showOptions4 = false;\r\n $scope.showOptions5 = false;\r\n $scope.showOptions6 = false;\r\n $scope.showOptions7 = false;\r\n $scope.showOptions8 = false;\r\n $scope.showOptions9 = false;\r\n $scope.showOptions10 = false;\r\n $scope.showOptions11 = false;\r\n $scope.showOptions12 = false;\r\n $scope.showOptions13 = false;\r\n $scope.showOptions14 = false;\r\n $scope.showOptions15 = false;\r\n $scope.showOptions16 = false;\r\n $scope.showOptions17 = false;\r\n $scope.showOptions18 = false;\r\n $scope.showOptions19 = false;\r\n $scope.showOptions20 = false;\r\n $scope.showOptions21 = false;\r\n $scope.showOptions22 = false;\r\n $scope.showOptions23 = false;\r\n $scope.showOptions24 = false;\r\n vm.AddAssestsModal = function () {\r\n vm.AssestsModal = $uibModal.open({\r\n templateUrl: 'addassests.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.closeAssetsModal = function () {\r\n vm.AssestsModal.close();\r\n \r\n }\r\n vm.ReallocateModal = function () {\r\n vm.reallocateModal = $uibModal.open({\r\n templateUrl: 'reallocate.html',\r\n backdrop: 'static',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n }\r\n\r\n vm.closeReallocateModal = function () {\r\n vm.reallocateModal.close();\r\n \r\n }\r\n vm.showPartDetails = false;\r\n vm.OpenPartDetailPanel = function () {\r\n vm.showPartDetails = true;\r\n }\r\n \r\n // }\r\n});\r\n\nangular.module('inspinia').service('ApprovalFlowBuilderService', function () {\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('ApprovalFlowBuilderController', function (ApprovalFlowBuilderService, $timeout, $rootScope, $scope, $localStorage, $state) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n } else {\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n $scope.bpmnUrl = '/assets/images/patterns/diagram.bpmn';\r\n\r\n // $scope.bpmnModeler = null;\r\n\r\n\r\n // // Initialize BPMN Modeler\r\n // $scope.initBpmnModeler = function () {\r\n // if (!window.BpmnJS) {\r\n // return;\r\n // }\r\n\r\n // $scope.bpmnModeler = new window.BpmnJS({\r\n // container: '#bpmn-container'\r\n // });\r\n // var emptyDiagram = \"\" +\r\n // \"\" +\r\n // \"\" +\r\n // \"\" +\r\n // \"\" +\r\n // \"\" +\r\n // \"\";\r\n\r\n // // Load the empty BPMN diagram\r\n // $scope.bpmnModeler.importXML(emptyDiagram, function (err) {\r\n // if (err) {\r\n // console.log('Failed to import diagram:' + err.message);\r\n // } else {\r\n // console.log('Empty BPMN diagram loaded successfully');\r\n // }\r\n // });\r\n // };\r\n\r\n // // // Load the BPMN diagram (example diagram)\r\n // $scope.loadBpmnDiagram = function () {\r\n // var bpmnXML = \"\" +\r\n // \"\" +\r\n // \"\" +\r\n // \"\" +\r\n // \"\" +\r\n // \"\" +\r\n // \"\";\r\n\r\n // $scope.bpmnModeler.importXML(bpmnXML, function (err) {\r\n // if (err) {\r\n // console.log('Error loading BPMN diagram:', err);\r\n // } else {\r\n // console.log('BPMN Diagram loaded successfully');\r\n // $scope.bpmnModeler.get('canvas').zoom('fit-viewport');\r\n // }\r\n // });\r\n // };\r\n\r\n // // // Save the current BPMN diagram as XML\r\n // $scope.saveDiagram = function () {\r\n // $scope.bpmnModeler.saveXML({ format: true }, function (err, xml) {\r\n // if (err) {\r\n // console.error('Error saving BPMN diagram:', err);\r\n // } else {\r\n // console.log('BPMN Diagram saved as XML:', xml);\r\n // }\r\n // });\r\n // };\r\n\r\n // // Reset the BPMN canvas\r\n // $scope.resetCanvas = function () {\r\n // if ($scope.bpmnModeler) {\r\n // $scope.bpmnModeler.clear();\r\n // console.log('Canvas reset successfully');\r\n // }\r\n // };\r\n }\r\n});\r\n\nangular.module('inspinia').controller('applinkController', function ($window) {\r\n $window.location.href = 'https://play.google.com/store/search?q=MyMobiforce&c=apps&pli=1';\r\n console.log($window.location.href);\r\n});\n\r\nangular.module('inspinia').service('AllUsersListGCService', function (ApiURL, FreelancerURL, SchedulingAPI, $log, $http, $localStorage) {\r\n\r\n this.GetAllFreLancerProfile = function (loggedinUser, token, itemNames, itemValues, textItemNames, textItemValues) {\r\n var url = '';\r\n var url = FreelancerURL + '/api/FreeLancerUser/' + loggedinUser + '/GetAllFreLancerWithFiltersWithLightProfile?itemNames=' + itemNames + '&itemValues=' + itemValues + '&textItemNames=' + textItemNames + '&textItemValues=' + textItemValues;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetTalentPoolForMapView = function (mapuserFormData, loggedinUser, token) {\r\n var url = FreelancerURL + \"/api/FreelancerUser/GetTalentPoolForMapView\";\r\n return $http.put(url, mapuserFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n\r\n this.GetAllAccountDetails = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/accountConfig/GetAllAccountDetails';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.getSkills = function (loggedinUser, token, callback, failure) {\r\n var url = ApiURL + '/api/SkillSets/' + loggedinUser + '/getmasterskillsB2C';\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n }, function () {\r\n failure(\"skills\", \"Unable to get skills\");\r\n });\r\n }\r\n\r\n this.GetAllCertificate = function (loggedinUser, token, success, failure) {\r\n var url = ApiURL + '/api/Cetrificate/GetAllMaster?reqUserId=' + loggedinUser;\r\n return $http.get(url, { headers: { 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if (res && res.status == 201 && res.data) {\r\n success(res.data);\r\n }\r\n }, function (err) {\r\n failure(\"Failed\", \"Unable to get certificate list, server error.\");\r\n })\r\n }\r\n\r\n this.GetAllToolSets = function (loggedinUser, token, success, failure) {\r\n var url = ApiURL + '/api/Tool/GetAllMaster?reqUserId=' + loggedinUser;\r\n return $http.get(url, { headers: { 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if (res && res.status == 201 && res.data) {\r\n success(res.data);\r\n }\r\n }, function (err) {\r\n failure(\"Failed\", \"Unable to get certificate list, server error.\");\r\n })\r\n }\r\n this.GetUsersForPinpoint = function (ticketFormData, lat, long, pincode, loggedinUser, token) {\r\n var url = ApiURL + '/api/CapacityPlanning/GetUsersForPinpoint?Latitude=' + lat + '&Longitude=' + long + \"&Pincode=\" + pincode;\r\n return $http.post(url, ticketFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n // this.Filter = function ( loggedinUser, token,userFormData) {\r\n // var url = FreelancerURL + \"/api/FreelancerUser/FreelancerByPaging?reqUserid=\" + loggedinUser;\r\n // return $http.put(url, userFormData, {\r\n // headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n // });\r\n // }\r\n\r\n this.Filter = function (loggedinUser, token, userFormData) {\r\n var url = FreelancerURL + \"/api/FreeLancerRegistration/FreelancerListingByPaging?reqUserid=\" + loggedinUser;\r\n return $http.put(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.UploadExternalVideoList = function (newdata, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerRegistration/GetVideoKycData';\r\n return $http.put(url, newdata, {\r\n headers: { 'ContentType': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.UserCountbyFilter = function (loggedinUser, token, userFormData) {\r\n var url = FreelancerURL + \"/api/FreeLancerRegistration/UserCountbyFilter?reqUserid=\" + loggedinUser;\r\n return $http.put(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.getAllState = function (loggedinUser) {\r\n var url = LocationURL + '/api/Location/' + loggedinUser + '/GetAllStates';\r\n return $http.get(url, {\r\n params: {}\r\n });\r\n }\r\n\r\n this.GetAllUsers = function (loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerUser/' + loggedinUser + '/GetAllUsers'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n })\r\n }\r\n\r\n this.callToTechnicianApi = function (loggedinUser, userid, token) {\r\n url = ApiURL + '/api/CallPatching/ClickToCallFieldTeam?userId=' + userid;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetUserData = function (loggedinUser, token, UploadId, AnalysisId, Orderby, OrderSequence, uwPageIndex, uwPageSize) {\r\n var url = '';\r\n url = ApiURL + '/api/CapacityPlanning/GetUserAnalysisDataOnPaging?UploadId=' + UploadId + '&AnalysisId=' + AnalysisId + '&Orderby=' + Orderby + '&OrderSequence=' + OrderSequence + '&Index=' + uwPageIndex + '&PageSize=' + uwPageSize;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n \r\n this.GetAllCampaignName = function (loggedinUser, token) {\r\n url = ApiURL + '/api/Campaign/GetAllCampaignName';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAllGenericCampaignName = function (loggedinUser, token) {\r\n url = ApiURL + '/api/Campaign/GetAllGenericCampaignName';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.RunCampaignOnUsers = function (userFormData, loggedinUser, token) {\r\n var url = ApiURL + \"/api/Campaign/RunCampaignOnUsers\";\r\n return $http.put(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetSkillRecommendationsForUser = function (userId,loggedinUser, token) {\r\n url = FreelancerURL + '/api/Recommendation/GetSkillRecommendationsForUser?UserId=' + userId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n this.userpdfreport = function (userId,loggedinUser, token) {\r\n url = ApiURL + '/api/PDFReportMapper/GenerateUserPersonalInfo?UserId=' + userId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n\r\n});\r\n\nangular.module('inspinia').controller('AllUsersListGCController', function (OnBoardingFlowService, DashboardService, DTColumnBuilder, $filter, $q, $compile, ManualAssignationJobService, AllUsersListGCService, $scope, TicketBasedPlanningService, $window, $uibModal, $timeout, $http, NgMap,\r\n ReferService, $rootScope, $q, DTColumnDefBuilder, $uibModal, $localStorage, $state, FreelancerURL, ApiURL, $timeout, ngProgressFactory, $interval) {\r\n var vm = this;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n } else {\r\n\r\n vm.FilterSwitch = false;\r\n vm.client = 1;\r\n vm.workArea = '';\r\n var ProjectModal = {};\r\n var circleArray;\r\n vm.filteredProperties = {};\r\n var customerIndex = 0;\r\n vm.projectName = '';\r\n vm.dtInstance = {};\r\n\r\n $scope.myvalue = false;\r\n $scope.class_status = true;\r\n $scope.toggleSingleClass = function () {\r\n $scope.class_status = !$scope.class_status;\r\n $scope.myvalue = true;\r\n };\r\n\r\n $scope.broadcastSentUser = true;\r\n $scope.toggleForBroadcast = function () {\r\n $scope.broadcastSentUser = !$scope.broadcastSentUser;\r\n $scope.myvalue = true;\r\n };\r\n $scope.manualAssignationWrapper = \"hide-nav\";\r\n $scope.toggleMenu = function () {\r\n if ($scope.manualAssignationWrapper === \"hide-nav\") {\r\n $scope.manualAssignationWrapper = \"show-nav\";\r\n }\r\n else {\r\n $scope.manualAssignationWrapper = \"hide-nav\";\r\n }\r\n };\r\n $scope.hideAllUser = true;\r\n\r\n $scope.showAllUser = function () {\r\n $scope.hideAllUser = true;\r\n };\r\n $scope.hideAllUserbutton = function () {\r\n $scope.hideAllUser = false;\r\n };\r\n $scope.userClass_status = true;\r\n $scope.toggleBottom = false;\r\n $scope.open360View = function () {\r\n $scope.userClass_status = false;\r\n $scope.myvalue = true;\r\n }\r\n $scope.close360View = function () {\r\n $scope.userClass_status = true;\r\n $scope.myvalue = false;\r\n }\r\n $scope.closeSlideBottom = function () {\r\n $scope.toggleNav = false;\r\n }\r\n $scope.hideoverlay = function () {\r\n $scope.myvalue = false;\r\n $scope.class_status = true;\r\n $scope.userClass_status = true;\r\n $scope.broadcastSentUser = true;\r\n $scope.userFilter = true;\r\n $scope.minatureSlide = true;\r\n $scope.myvalue = false;\r\n vm.closeFeedbackoption();\r\n }\r\n $scope.close360ViewBroadcaste = function () {\r\n $scope.myvalue = false;\r\n angular.element('#div1').removeClass(\"alpha\");\r\n $scope.userClass_status = true;\r\n }\r\n // $scope.userSingle = function() {\r\n // $scope.userClass_status = !$scope.userClass_status;\r\n\r\n // };\r\n $scope.userFilter = true;\r\n $scope.assignJobFilter = function () {\r\n $scope.userFilter = !$scope.userFilter;\r\n $scope.myvalue = true;\r\n $scope.manualAssignationWrapper = \"hide-nav\";\r\n // $scope.toggleMenu();\r\n };\r\n $scope.minatureSlide = true;\r\n $scope.minatureSlideBtn = function () {\r\n $scope.minatureSlide = !$scope.minatureSlide;\r\n $scope.myvalue = true;\r\n };\r\n\r\n\r\n $scope.hideFilter = function () {\r\n $scope.userFilter = true;\r\n $scope.minatureSlide = true;\r\n $scope.myvalue = false;\r\n }\r\n\r\n vm.CustomDateformat = $localStorage.CustomDateformat;\r\n vm.FreelancerAccess = $localStorage.accountConfig.FreelancerAccess;\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.accountConfig = $localStorage.accountConfig;\r\n vm.confirmTagModal = $scope.$parent.$parent.main.confirmTagModal;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.CurrencySymbol = $localStorage.accountConfig.CurrencySymbol;\r\n vm.EnableRegion = vm.getAccountConfigSetting('EnableRegion');\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n var token = $localStorage.token;\r\n vm.searchText = \"\";\r\n vm.searchTicket = \"\";\r\n vm.IsSearch = false;\r\n vm.DateField = \"CreatedOn\";\r\n var fnitemNames = '';\r\n var fnitemValues = '';\r\n var witemNames = \"\";\r\n var witemValues = \"\";\r\n vm.IsFreelancerBidCount = false;\r\n vm.IsFixedTeamCount = false;\r\n var wsSDate = '';\r\n var wsEDate = '';\r\n var fPageIndex = 1;\r\n var fPageSize = 10;\r\n vm.SearchByUserType = '';\r\n vm.searchJobTypeText = \"\";\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n vm.TotalLocation = 0;\r\n vm.TotalMatch = 0;\r\n vm.NotMatch = 0;\r\n vm.Atleast3Match = 0;\r\n vm.Atleast2Match = 0;\r\n vm.Atleast1Match = 0;\r\n vm.RunRateInDays = 0;\r\n vm.RangeInKm = 0;\r\n vm.JobSkill = \"\";\r\n vm.RegistrationStatus = \"\";\r\n vm.UserRegistrationStatus = \"\";\r\n vm.TechRole = \"\";\r\n vm.Asset = \"\";\r\n vm.Tools = \"\";\r\n vm.Certificate = \"\";\r\n vm.PermanentCity = \"\";\r\n vm.techPincode = \"\";\r\n vm.PermanentState = \"\";\r\n vm.TicketState = \"\";\r\n vm.SearchByAccountName = \"\";\r\n vm.PreferredForAccounts = \"\";\r\n vm.TicketCity = \"\";\r\n vm.ticketStatus = \"\";\r\n vm.TicketSkill = \"\";\r\n vm.Pincode = \"\";\r\n $scope.Prime = false;\r\n $scope.NonPrime = false;\r\n vm.PssStatus = \"\";\r\n vm.SMEInterctionVideo = false;\r\n vm.UserDetailVerification = \"\";\r\n vm.showErrors = false;\r\n vm.showPassed = false;\r\n vm.errorList = [];\r\n vm.disableUploadButton = true;\r\n vm.LocationAddressList = [];\r\n vm.TicketBasedPlanningList = {};\r\n vm.bulkuploadType = \"Location\";\r\n vm.progressbar = ngProgressFactory.createInstance();\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noMsg = [];\r\n vm.noOfRecords = 0;\r\n vm.file = null;\r\n vm.fileName = '';\r\n vm.fileDescription = '';\r\n vm.techpageindexCount = 0;\r\n vm.ticketPoolPageListCount = 10;\r\n vm.customerPageListCount = 10;\r\n vm.userPoolPageListCount = 10;\r\n vm.pageListCounts = [10, 20, 30, 50];\r\n vm.ticketPoolListLenth = 0;\r\n vm.customerListLenth = 0;\r\n vm.userPoolListLength = 0;\r\n var PageIndex = 1;\r\n var PageSize = 10;\r\n vm.pageindexCount = 0;\r\n vm.TPpageindexCount = 0;\r\n vm.cuPageindexCount = 0;\r\n vm.UPpageindexCount = 0;\r\n vm.DateField = \"StatusChangedOn\";\r\n vm.searchStatusText = \"All\";\r\n var uPageIndex = 1;\r\n var uwPageIndex = 1;\r\n var uPageSize = 10;\r\n var uwPageSize = 10;\r\n var ulPageIndex = 1;\r\n var ulPageSize = 10;\r\n vm.AlListCount = 10;\r\n var uwtPageIndex = 1;\r\n var uwtPageSize = 10;\r\n var uwtPageSize = 10;\r\n vm.UWListCount = 10;\r\n vm.EAlListCount = 10;\r\n vm.UsersType = \"\";\r\n vm.OrderSequence = \"asc\";\r\n // vm.Orderby = \"City\";\r\n // vm.SortBy = \"Distance\";\r\n vm.Orderby = \"CreatedOn\";\r\n vm.SortType = \"desc\";\r\n var uitemNames = \"\";\r\n var uitemValues = \"\";\r\n vm.searchUsersText = \"\";\r\n vm.jobsCount = '';\r\n vm.Technicianstartingdate = '2017-01-01';\r\n vm.userPageListCount = 10;\r\n vm.financePageListCount = 10;\r\n vm.UWticketsListCount = 10;\r\n vm.pageListCountsuwt = [10, 20, 30, 50];\r\n vm.IsAuthorizedServiceCenter = false;\r\n var startDate = moment().subtract(7, 'days').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n $scope.dates = { startDate: startDate, endDate: endDate };\r\n $scope.ranges = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n 'Till now': [moment(vm.Technicianstartingdate), moment(endDate)],\r\n };\r\n\r\n $scope.dateRangeChange = function (ev, picker) {\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n vm.getAllJobForExceptionList();\r\n vm.GetAnalysisDataList(loggedinUser, token, vm.UploadId, vm.AnalysisId, vm.Orderby, vm.OrderSequence, uPageIndex, uPageSize);\r\n\r\n };\r\n\r\n\r\n vm.City = '';\r\n vm.Pincode = '';\r\n vm.Experience = '';\r\n vm.Ratings = '';\r\n vm.Assets_Tools = '';\r\n vm.Jobscount = '';\r\n vm.FilterAdhar = '';\r\n vm.FilterPancard = '';\r\n $localStorage.filteraddskill = '';\r\n $localStorage.filterPermanentstate = '';\r\n vm.currentPage = $localStorage.PageIndex ? $localStorage.PageIndex : 1;\r\n vm.pageSize = 20;\r\n $scope.totalUsers = 0;\r\n $scope.usersPerPage = 20; // this should match however many results your API puts on one page\r\n $scope.pagination = {\r\n current: 1\r\n };\r\n $scope.pagination.current = $localStorage.PageIndex ? $localStorage.PageIndex : 1;\r\n $scope.totalTableUsers = 0;\r\n $scope.usersTablePerPage = 20; // this should match however many results your API puts on one page\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n\r\n $scope.UserTablepagination.current = $localStorage.PageIndex ? $localStorage.PageIndex : 1;\r\n $scope.pageChanged = function (newPage) {\r\n vm.currentPage = newPage;\r\n vm.applyfilter(newPage);\r\n\r\n };\r\n $scope.isOpen = false;\r\n $scope.isOpen1 = false;\r\n $scope.isCollapsed = true;\r\n $scope.isCollapsed0 = true;\r\n $scope.isCollapsed1 = true;\r\n $scope.isCollapsed2 = true;\r\n $scope.isCollapsed3 = true;\r\n $scope.isCollapsed4 = true;\r\n $scope.isCollapsed5 = true;\r\n $scope.isCollapsed6 = true;\r\n $scope.isCollapsed7 = true;\r\n $scope.isCollapsed8 = true;\r\n $scope.isCollapsed9 = true;\r\n $scope.isCollapsed10 = true;\r\n $scope.isCollapsed11 = true;\r\n $scope.isCollapsed12 = true;\r\n $scope.isCollapsed13 = true;\r\n $scope.isCollapsed14 = true;\r\n $scope.isCollapsed15 = true;\r\n $scope.isCollapsed16 = true;\r\n $scope.isCollapsed17 = true;\r\n $scope.isCollapsed18 = true;\r\n $scope.isCollapsed19 = true;\r\n $scope.isCollapsed20 = true;\r\n $scope.isCollapsed21 = true;\r\n $scope.isCollapsed22 = true;\r\n $scope.isCollapsed23 = true;\r\n $scope.isCollapsed24 = true;\r\n $scope.isCollapsed25 = true;\r\n $scope.isCollapsed26 = true;\r\n $scope.isCollapsed27 = true;\r\n $scope.isCollapsed28 = true;\r\n $scope.isCollapsed29 = true;\r\n $scope.isCollapsed30 = true;\r\n $scope.isCollapsed31 = true;\r\n $scope.isCollapsed32 = true;\r\n $scope.isCollapsed33 = true;\r\n $scope.isCollapsed34 = true;\r\n $scope.isCollapsed35 = true;\r\n $scope.isCollapsed36 = true;\r\n $scope.isCollapsed37 = true;\r\n $scope.isCollapsed38 = true;\r\n $scope.isCollapsed39 = true;\r\n $scope.isCollapsed40 = true;\r\n $scope.isCollapsed41 = true;\r\n $scope.isCollapsed42 = true;\r\n $scope.isCollapsed43 = true;\r\n\r\n $scope.openAnalysisReport = function (analysisDetails) {\r\n $localStorage.UploadId = analysisDetails.UploadId;\r\n $scope.showAnalysisReport = !$scope.showAnalysisReport;\r\n angular.element('#filter-visible-area').removeClass(\"filter-slider-visible\");\r\n }\r\n $scope.backScreen = function () {\r\n $scope.showAnalysisReport = false;\r\n angular.element('#filter-visible-area').addClass(\"filter-slider-visible\");\r\n }\r\n\r\n vm.techToRunCampaignOn = [];\r\n vm.implementSelectTech = function (itemList, scope) {\r\n scope.selectAllFL = false;\r\n scope.showMinusFL = false;\r\n scope.selectCountFL = 0;\r\n scope.selectRowFL = function (i) {\r\n scope.selectCountFL = 0;\r\n scope.showMinusFL = false;\r\n scope.selectAllFL = false;\r\n angular.forEach(vm.users, function (d) {\r\n if (d.checked) {\r\n vm.techToRunCampaignOn.push(d.UserId);\r\n scope.showMinusFL = true;\r\n scope.selectCountFL++;\r\n }\r\n });\r\n }\r\n scope.applyAllFLSelect = function () {\r\n angular.forEach(scope[itemList], function (d) {\r\n d.checked = scope.selectAllFL;\r\n scope.selectCountFL++;\r\n if (d.checked) {\r\n vm.techToRunCampaignOn.push(d.UserId);\r\n }\r\n });\r\n }\r\n }\r\n\r\n vm.ResetUserSelection = function (scope) {\r\n scope.selectAllFL = false;\r\n scope.showMinusFL = false;\r\n scope.selectCountFL = 0;\r\n }\r\n vm.implementSelectTech('users', this);\r\n $scope.tools = [\r\n { id: 1, name: 'Console Cable' },\r\n { id: 2, name: 'Drill Machine' },\r\n { id: 3, name: 'LAN Cable' },\r\n { id: 4, name: 'USB Converter' },\r\n { id: 5, name: 'Dongle ' },\r\n { id: 6, name: 'Toolkit' },\r\n { id: 7, name: 'Hearing Protection EN 352 2' },\r\n { id: 8, name: 'Safety Shoes CE marked' },\r\n { id: 9, name: 'Full Body Harness EN 361 2002' },\r\n { id: 10, name: 'Laptop' },\r\n ];\r\n $scope.selectedTools = [];\r\n vm.JobSkill = \"\";\r\n vm.ActiveInMonth = \"\";\r\n vm.NoOfJobDone = \"\";\r\n vm.Asset = \"\";\r\n vm.Tools = \"\";\r\n vm.UserRole = \"\";\r\n vm.MatchCriteria = \"\";\r\n vm.TraningCertificate = \"\";\r\n vm.ToolList = \"\";\r\n vm.OneJobDone = false;\r\n vm.SearchTag = \"\";\r\n vm.MatchingSkill = false;\r\n vm.Asset_Bike = false;\r\n vm.Asset_Mobile = false;\r\n vm.Asset_Laptop = false;\r\n vm.IsBasedOnPincode = true;\r\n vm.disableCreateButton = false;\r\n vm.cities = {\r\n chicago: { population: 2714856, position: [41.878113, -87.629798] },\r\n newyork: { population: 8405837, position: [40.714352, -74.005973] },\r\n losangeles: { population: 3857799, position: [34.052234, -118.243684] },\r\n vancouver: { population: 603502, position: [49.25, -123.1] },\r\n }\r\n vm.getRadius = function (num) {\r\n return Math.sqrt(num) * 100;\r\n }\r\n\r\n NgMap.getMap().then(function (map) {\r\n vm.map = map;\r\n });\r\n\r\n\r\n // Cluster Map section start by simran\r\n\r\n vm.showMapWithFreelancers = function () {\r\n const warehouse = {\r\n url: \"../../assets/images/patterns/WH-1.png\"\r\n };\r\n const freelancer = {\r\n url: \"../../assets/images/patterns/FL.png\"\r\n };\r\n const vendor = {\r\n url: \"../../assets/images/patterns/FV.png\"\r\n };\r\n const masterwarehouse = {\r\n url: \"../../assets/images/patterns/WH.png\"\r\n }\r\n vm.dynMarkers = [];\r\n NgMap.getMap().then(function (map) {\r\n for (var i = 0; i < vm.freelancerlist.length; i++) {\r\n vm.techdetails = vm.freelancerlist[i];\r\n if (vm.freelancerlist[i].hasWareHouse == true) {\r\n icons = warehouse\r\n }\r\n else if (vm.freelancerlist[i].MasterWarehouse == true) {\r\n icons = masterwarehouse\r\n }\r\n else if (vm.freelancerlist[i].Role == 'Field Engineer') {\r\n icons = freelancer\r\n }\r\n else if (vm.freelancerlist[i].Role == 'Vendor Manager') {\r\n icons = vendor\r\n }\r\n var latLng = new google.maps.LatLng(vm.freelancerlist[i].CurrentLatitude, vm.freelancerlist[i].CurrentLongitude);\r\n const marker = new google.maps.Marker({ position: latLng, icon: icons });\r\n const contentString = \"

\" + vm.techdetails.Role + \"

\" + vm.techdetails.FirstName + \"\" + vm.techdetails.UserId + \"Skill: \" + vm.techdetails.SkillSet + \"Location: \" + vm.techdetails.Locations + \"Pincode:\" + vm.techdetails.CurrentPinCode + \"
\";\r\n var infowindow = new google.maps.InfoWindow();\r\n marker.addListener(\"click\", function () {\r\n infowindow.setContent(contentString);\r\n infowindow.open(map, marker);\r\n });\r\n vm.dynMarkers.push(marker);\r\n }\r\n if (vm.markerClusterer) {\r\n vm.markerClusterer.addMarkers(vm.dynMarkers);\r\n }\r\n else {\r\n const clusterOptions = {\r\n imagePath: \"https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m\",\r\n gridSize: 60,\r\n zoomOnClick: true,\r\n maxZoom: null,\r\n };\r\n vm.markerClusterer = new MarkerClusterer(map, vm.dynMarkers, clusterOptions);\r\n }\r\n });\r\n }\r\n vm.getRadius = function (num) {\r\n return Math.sqrt(num) * 100;\r\n }\r\n\r\n vm.GetTalentPoolForMap = function () {\r\n if (vm.markerClusterer) {\r\n vm.markerClusterer.clearMarkers();\r\n vm.dynTicketMarkers = [];\r\n }\r\n AllUsersListGCService.GetTalentPoolForMapView(vm.mapuserFormData, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.freelancerlist = resp.data;\r\n vm.showMapWithFreelancers();\r\n }\r\n });\r\n }\r\n\r\n //--ENd Of Map\r\n\r\n\r\n\r\n // $scope.totalTableUserPool = 0;\r\n // $scope.userPoolTablePerPage = vm.userPoolPageListCount ; \r\n // $scope.UserPoolTablepagination = {\r\n // current: 1\r\n // };\r\n\r\n // vm.changeUserPoolPageListCount = function() { \r\n // $scope.userPoolTablePerPage = vm.userPoolPageListCount;\r\n // UPPageSize = $scope.userPoolTablePerPage;\r\n // $scope.UserPoolTablepageChanged($scope.UserPoolTablepagination.current);\r\n // vm.selectAll = false;\r\n // }\r\n\r\n // PageIndex=$scope.UserPoolTablepagination.current;\r\n // $scope.UserPoolTablepageChanged = function(newPage) { \r\n // UPPageIndex = newPage; \r\n // vm.addFilterforPincodeAnalysis(); \r\n // };\r\n\r\n\r\n\r\n vm.showUserFilter = function () {\r\n vm.IsBasedOnPincode = true;\r\n vm.chkselect = true;\r\n vm.RangeInKm = 0;\r\n vm.JobSkill = \"\";\r\n vm.OneJobDone = false;\r\n vm.MatchingSkill = false;\r\n vm.UserRegistrationStatus = \"\";\r\n vm.TechRole = \"\";\r\n }\r\n\r\n $scope.isActive = false;\r\n $scope.isActive1 = true;\r\n $scope.HideText = function () {\r\n $scope.isActive = true;\r\n $scope.isActive1 = false;\r\n }\r\n $scope.ShowText = function () {\r\n $scope.isActive = false;\r\n $scope.isActive1 = true;\r\n };\r\n\r\n\r\n $scope.isClick = false;\r\n $scope.isClick1 = false;\r\n $scope.isClick2 = false;\r\n $scope.isClick3 = false;\r\n $scope.activeButton = function () {\r\n $scope.isClick = !$scope.isClick;\r\n }\r\n $scope.activeButton1 = function () {\r\n $scope.isClick1 = !$scope.isClick1;\r\n }\r\n $scope.activeButton2 = function () {\r\n $scope.isClick2 = !$scope.isClick2;\r\n }\r\n $scope.activeButton3 = function () {\r\n $scope.isClick3 = !$scope.isClick3;\r\n }\r\n\r\n vm.getFLprofile = function () {\r\n\r\n document.getElementById(\"freelancerProfile\").style.display = \"block \";\r\n }\r\n vm.HideFLprofile = function () {\r\n\r\n document.getElementById(\"freelancerProfile\").style.display = \"none\";\r\n }\r\n\r\n\r\n\r\n $scope.dateRangeChange = function (ev, picker) {\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n vm.getAllJobForExceptionList();\r\n };\r\n\r\n\r\n $scope.class1 = false;\r\n $scope.addRemoveRedClass = function (UploadId) {\r\n $localStorage.UploadId = UploadId;\r\n if ($scope.class1) {\r\n $scope.class1 = false;\r\n } else {\r\n $scope.class1 = true;\r\n }\r\n }\r\n\r\n $scope.slider = {\r\n value: 50,\r\n options: {\r\n floor: 0,\r\n ceil: 100,\r\n step: 1,\r\n minLimit: 10,\r\n maxLimit: 90\r\n }\r\n };\r\n\r\n $scope.myTrigger = \"outsideClick\";\r\n\r\n function getAllStates() {\r\n var defered = $q.defer();\r\n ReferService.getAllState(loggedinUser, token).then(function (resp) {\r\n defered.resolve(resp);\r\n }, function (error) {\r\n defered.reject(error);\r\n });\r\n return defered.promise;\r\n }\r\n\r\n var allStatePromise = getAllStates(loggedinUser);\r\n allStatePromise.then(function (resp) {\r\n vm.StateList = resp.data;\r\n\r\n });\r\n function getallCities(state) {\r\n ReferService.getAllCity(loggedinUser, state, token).then(function (resp) {\r\n vm.CityList = resp.data;\r\n });\r\n }\r\n vm.selectedState = function (state) {\r\n getallCities(state);\r\n }\r\n\r\n vm.analysisModel = function () {\r\n vm.analysisDetails = vm.analysisDetails;\r\n vm.analysisModelOpen = $uibModal.open({\r\n templateUrl: 'analysisModel.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n\r\n vm.campaignModel = function () {\r\n vm.analysisDetails = vm.analysisDetails;\r\n vm.campaignRunModelOpen = $uibModal.open({\r\n templateUrl: 'campaignRunModel.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n\r\n vm.CloseCampaignModel = function () {\r\n vm.campaignRunModelOpen.close();\r\n }\r\n vm.dynamicCampaignModel = function () {\r\n vm.analysisDetails = vm.analysisDetails;\r\n vm.dynamicCampaignModelOpen = $uibModal.open({\r\n templateUrl: 'campaignDynamicModel.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n vm.CloseDynamicCampaignModel = function () {\r\n vm.dynamicCampaignModelOpen.close();\r\n }\r\n\r\n vm.CloseAnalysisModel = function () {\r\n vm.analysisModelOpen.close();\r\n vm.DisableCreateButton(false);\r\n vm.AnalysisName = \"\";\r\n if (vm.confirmstatus != 'update') {\r\n vm.AnalysisDescription = \"\";\r\n vm.analysisDetails.AnalysisDescription = \"\";\r\n }\r\n }\r\n\r\n vm.ConfirmAnalysis = function (status, analysisData) {\r\n vm.confirmstatus = status;\r\n vm.analysisDetails = analysisData;\r\n vm.UploadId = vm.analysisDetails.UploadId;\r\n }\r\n\r\n vm.GetUserFeedbackOption = function (toggleNav, userid) {\r\n $scope.toggleNav = !toggleNav;\r\n $scope.activeRow = userid;\r\n vm.userid = userid;\r\n ManualAssignationJobService.GetUserFeedbackOption(loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.userfeedbackList = resp.data;\r\n }\r\n }, function () {\r\n });\r\n }\r\n vm.UserDataUpdateRequest = function (toggleNav, userid) {\r\n $scope.toggleNav = !toggleNav;\r\n vm.feedbackForm.submitted = true;\r\n if (vm.feedbackForm.$valid) {\r\n var data = {\r\n \"MasterReason\": vm.MasterReason,\r\n \"Comments\": vm.Comments,\r\n \"RequestForUserId\": userid,\r\n \"TicketId\": $localStorage.UploadId\r\n }\r\n ManualAssignationJobService.UserDataUpdateRequest(data, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.Comments = \"\";\r\n vm.MasterReason = \"\";\r\n }\r\n }, function () {\r\n });\r\n }\r\n }\r\n vm.closeFeedbackoption = function () {\r\n $scope.toggleNav = true;\r\n vm.Comments = \"\";\r\n vm.MasterReason = \"\";\r\n\r\n }\r\n\r\n vm.GetFeedbackByUserId = function (userid) {\r\n ManualAssignationJobService.GetFeedbackByUserId(loggedinUser, token, userid).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.commentList = resp.data;\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n\r\n vm.callToTechnician = function (userid) {\r\n AllUsersListGCService.callToTechnicianApi(loggedinUser, userid, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Call Initiated\");\r\n }\r\n else {\r\n vm.showFailure(\"Failure\", resp.data.Message);\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n vm.sortColumn = function (col) {\r\n vm.OrderBy = col;\r\n if (vm.SortType == 'desc') {\r\n vm.SortType = 'asc';\r\n vm.reverseclass = 'fa fa-arrow-up';\r\n } else {\r\n vm.SortType = 'desc';\r\n vm.reverseclass = 'fa fa-arrow-down';\r\n }\r\n vm.AllapplyTalentPoolfilter();\r\n };\r\n\r\n vm.sortClass = function (col) {\r\n if (vm.OrderBy == col) {\r\n if (vm.SortType == 'desc') {\r\n return 'fa fa-arrow-down';\r\n } else {\r\n return 'fa fa-arrow-up';\r\n }\r\n }\r\n else {\r\n return '';\r\n }\r\n }\r\n\r\n vm.getAllCertificate = function () {\r\n AllUsersListGCService.GetAllCertificate(loggedinUser, token, function (data) {\r\n vm.AllCertificateSets = data;\r\n }, vm.showFailure);\r\n }\r\n vm.getAllCertificate();\r\n\r\n vm.getSkills = function () {\r\n AllUsersListGCService.getSkills(loggedinUser, token, function (skills) {\r\n vm.skills = skills;\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.getSkills();\r\n\r\n vm.GetAllAccounts = function () {\r\n AllUsersListGCService.GetAllAccountDetails(loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.accountsList = resp.data;\r\n }\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.GetAllAccounts();\r\n\r\n $scope.searchDisabled = true;\r\n\r\n vm.getAllTools = function () {\r\n AllUsersListGCService.GetAllToolSets(loggedinUser, token, function (data) {\r\n vm.Asset_ToolList = data;\r\n }, vm.showFailure);\r\n }\r\n vm.getAllTools();\r\n\r\n vm.chkselect = true;\r\n\r\n vm.pincodeCheck = function () {\r\n vm.chkselect = !vm.chkselect;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n // vm.dtColumnDefs = [\r\n // DTColumnDefBuilder.newColumnDef(0).notSortable()\r\n // ];\r\n\r\n vm.loaderFlag = false;\r\n vm.hideLoader = function () {\r\n if (vm.loaderFlag) {\r\n $rootScope.$broadcast(\"loader_hide\");\r\n $timeout(function () { vm.loaderFlag = false; }, 1000);\r\n $timeout(vm.hideLoader, 1);\r\n }\r\n }\r\n\r\n vm.scrollDwn = function () {\r\n $(\"html, body\").animate({ scrollTop: $(document).height() - $(window).height() }, 900);\r\n // $location.hash('error_datatable');\r\n // $anchorScroll();\r\n }\r\n vm.dzCallbacks = {\r\n 'addedfile': function (file) {\r\n vm.showErrors = false;\r\n vm.errorList = [];\r\n vm.disableUploadButton = true;\r\n vm.LocationAddressList = [];\r\n\r\n $(\"#dropzone1 .dz-progress .dz-upload\").hide();\r\n $(\".bulkupload-progress\").width(0);\r\n $(\".ajax-loader\").hide();\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n vm.showPassed = false;\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noOfRecords = 0;\r\n\r\n var dropzoneChildren = $(\"#dropzone1\").children();\r\n $(\"#dropzone1\").empty();\r\n $(\"#dropzone1\").append(dropzoneChildren[0]);\r\n $(\"#dropzone1\").append(dropzoneChildren[dropzoneChildren.length - 1]);\r\n\r\n vm.loaderFlag = true;\r\n vm.hideLoader();\r\n vm.file = file;\r\n vm.MediaUploadReqModel = {\r\n \"action\": 'Create',\r\n \"UploadedFileName\": vm.fileName,\r\n \"FileDescription\": vm.fileDescription\r\n }\r\n var fd = new FormData();\r\n fd.append('file', file);\r\n fd.append('MediaUploadReqModel', JSON.stringify(vm.MediaUploadReqModel))\r\n $http.post(ApiURL + '/api/CapacityPlanning/MediaUploadAndCreate', fd, {\r\n transformRequest: angular.identity,\r\n headers: { 'Content-Type': undefined, 'Token': token, 'UserId': loggedinUser },\r\n timeout: vm.canceler.promise\r\n })\r\n .success(function (data) {\r\n $(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n if (vm.bulkuploadType == 'Location') {\r\n vm.LocationAddressList = data.AddressList;\r\n vm.noOfRecords = data.AddressList ? data.AddressList.length : 0;\r\n }\r\n $(\"#dropzone1>div:last-child\").removeClass(\"dz-error\").addClass(\"dz-success\");\r\n if (data.Errors.length > 0) {\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable()\r\n ];\r\n angular.forEach(data.Errors, function (v, k) {\r\n\r\n if (v.ItemErrors.length > 0) {\r\n var e1 = {};\r\n angular.forEach(v.ItemErrors, function (v1, k1) {\r\n e1.message = e1.message != undefined && e1.message != \"undefined\" && e1.message.length > 0 ? e1.message + \",\" + v1.Message : v1.Message;\r\n });\r\n if (v.Row > 0 && data.AddressList && data.AddressList.length > 0 && data.AddressList.length >= v.Row) {\r\n e1.data = data.AddressList[v.Row - 1];\r\n }\r\n vm.errorList.push(e1);\r\n }\r\n });\r\n\r\n vm.showPassed = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Invalid records!\";\r\n vm.successMsg = \"There are \" + vm.errorList.length + \" errors. To see them click here\";\r\n vm.noMsg = [];\r\n vm.showErrors = true;\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n } else if (data.ErrorCode == 103) {\r\n vm.showPassed = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Missing columns in excel file\";\r\n vm.successMsg = \"Following columns are missing in excel file. Please add them and re-upload file\";\r\n vm.noMsg = [];\r\n angular.forEach(data.MissingColumns, function (k, v) {\r\n vm.noMsg.push(k);\r\n });\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n } else if (data.Message && data.Message.length > 0) {\r\n\r\n vm.showPassed = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Validation failed\";\r\n vm.successMsg = data.Message\r\n vm.noMsg = [];\r\n angular.forEach(data.MissingColumns, function (k, v) {\r\n vm.noMsg.push(k);\r\n });\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\r\n } else {\r\n vm.showPassed = true;\r\n vm.disableUploadButton = false;\r\n vm.successTitle = \"File Uploaded\";\r\n vm.successMsg = vm.bulkuploadType.charAt(0).toUpperCase() + vm.bulkuploadType.slice(1) + (vm.noOfRecords > 1 ? \"s\" : \"\") + \" are uploaded successfully. Total \" + vm.noOfRecords + \" \" + vm.bulkuploadType + (vm.noOfRecords > 1 ? \"s\" : \"\") + \" found.\";\r\n $timeout(function () {\r\n vm.CloseModal();\r\n }, 2000);\r\n\r\n // vm.successMsg = \"You have successfully created \"+vm.bulkuploadType+\"s in bulk\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n }\r\n $(\"table th:first-child\").removeClass(\"sorting_asc\");\r\n vm.progressbar.complete();\r\n })\r\n .error(function (errorMessage) {\r\n $(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n vm.progressbar.complete();\r\n vm.successTitle = \"Validation of records failed\";\r\n vm.successMsg = \"Error in data validation, please correct the data and re-upload file\";\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n });\r\n\r\n },\r\n 'success': function (file, xhr) {\r\n },\r\n 'error': function (file, errorMessage) {\r\n }\r\n };\r\n\r\n vm.addFiles = function () {\r\n $(\"#dropzone1\").trigger(\"click\");\r\n }\r\n\r\n\r\n //list of users\r\n $scope.totalUsers = 0;\r\n $scope.usersPerPage = vm.userPageListCount;\r\n $scope.Userpagination = {\r\n current: 1\r\n };\r\n\r\n //left show page 10 20 30\r\n vm.userchangePageListCount = function () {\r\n $scope.usersPerPage = vm.userPageListCount;\r\n ulPageSize = $scope.usersPerPage;\r\n $scope.UserTablePageChanged($scope.Userpagination.current);\r\n vm.selectAll = false;\r\n ulPageIndex = $scope.Userpagination.current;\r\n $scope.UserTablePageChanged = function (newPage) {\r\n ulPageIndex = newPage;\r\n vm.GetUserDataPagingList(true, $localStorage.UploadId, vm.AnalysisId, vm.AddressId, vm.ListType, vm.SortBy, vm.OrderSequence, ulPageIndex, ulPageSize, loggedinUser, token);\r\n };\r\n }\r\n\r\n ulPageIndex = $scope.Userpagination.current;\r\n $scope.UserTablePageChanged = function (newPage) {\r\n ulPageIndex = newPage;\r\n vm.GetUserDataPagingList(true, $localStorage.UploadId, vm.AnalysisId, vm.AddressId, vm.ListType, vm.SortBy, vm.OrderSequence, ulPageIndex, ulPageSize, loggedinUser, token)\r\n };\r\n\r\n\r\n vm.UWticketDataList = [];\r\n vm.GetUserDataPagingList = function (isCollapsed, UploadId, AnalysisId, AddressId, ListType) {\r\n if (vm.AddressId == AddressId) {\r\n $scope.isCollapsed = !isCollapsed;\r\n }\r\n $scope.showUserTable = AddressId;\r\n vm.UploadId = UploadId;\r\n vm.AnalysisId = AnalysisId;\r\n vm.AddressId = AddressId;\r\n vm.ListType = ListType;\r\n AllUsersListGCService.GetUserListData(vm.UploadId, vm.AnalysisId, vm.AddressId, vm.ListType, vm.SortBy, vm.OrderSequence, ulPageIndex, ulPageSize, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.UWticketDataList = resp.data.UserModelResList;\r\n $scope.totalUsers = resp.data.RecordCount;\r\n preprocessData(vm.UWticketDataList);\r\n if (vm.UWticketDataList.length < vm.userPageListCount)\r\n vm.userListLength = $scope.totalUsers;\r\n else\r\n vm.userListLength = ulPageIndex * vm.userPageListCount;\r\n if (ulPageIndex == 1)\r\n vm.ulpageindexCount = 1;\r\n else\r\n vm.ulpageindexCount = (((ulPageIndex - 1) * vm.userPageListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n }\r\n\r\n\r\n $scope.TalentPoolTablepageChanged = function (newPage) {\r\n\r\n vm.currentPage = newPage;\r\n\r\n vm.applyfilter(newPage, '');\r\n };\r\n\r\n vm.UserRoleList = [\"Field Engineer\", \"Vendor Manager\", \"VendorTeam\", \"Teacher\"];\r\n\r\n vm.applyfilter = function (index, data) {\r\n var userFormData = {};\r\n if (data) {\r\n userFormData = data;\r\n } else {\r\n var temp = [];\r\n var res = vm.Experience.split(\"-\");\r\n var jobscount = vm.Jobscount.split(\"-\");\r\n var ratings = vm.Ratings.split(\"-\");\r\n userFormData = {\r\n \"PageIndex\": index,\r\n \"PageSize\": 20,\r\n \"ActivationStartDate\": startDate,\r\n \"ActivationEnddate\": endDate,\r\n \"State\": vm.PermanentState,\r\n \"Cities\": vm.PermanentCity,\r\n \"Pincodes\": temp,\r\n \"Skill\": vm.addSkill,\r\n \"ExperienceStart\": res[0],\r\n \"ExperienceEnd\": res[1],\r\n \"Certificates\": vm.addTraningCertificateName,\r\n \"IsBikeAvailable\": vm.Asset_Bike,\r\n \"IsMobileAvailable\": vm.Asset_Mobile,\r\n \"IsLaptopAvailable\": vm.Asset_Laptop,\r\n \"Tools\": vm.Asset_Tools,\r\n \"JobCountStart\": jobscount[0],\r\n \"JobCountEnd\": jobscount[1],\r\n \"RatingStart\": Number(ratings[0]),\r\n \"RatingEnd\": Number(ratings[1]),\r\n \"PreferredTalentPool\": false,\r\n \"IsStudent\": vm.Student,\r\n \"IsCriminalVerified\": vm.Criminal,\r\n \"IsBankVarified\": vm.IsBankVerified,\r\n \"IsUPIVarified\": vm.IsUPIVarified,\r\n \"MMFPrimeMember\": $scope.Prime,\r\n \"MMFNonPrimeMember\": $scope.NonPrime,\r\n \"IsOpenForInternship\": vm.Intern,\r\n \"IsAdharVerified\": vm.Adharcard,\r\n \"IsPanVerified\": vm.Pancard,\r\n \"Source\": vm.Source,\r\n \"FreelancerRole\": \"Teacher\",\r\n \"Locations\": vm.Locations,\r\n \"UserStatus\": vm.UserStatus,\r\n \"PssStatus\": vm.PssStatus,\r\n \"SMEInterctionVideo\" : vm.SMEInterctionVideo,\r\n \"OneJobDoneForSkills\": vm.OneJobDone,\r\n \"ReportingTo\": vm.ReportingTo,\r\n \"OrderBy\": vm.OrderBy,\r\n \"SortType\": vm.SortType,\r\n \"UserVerificationStatus\": vm.UserVerificationStatus,\r\n \"IsFreelancerBidCount\": vm.IsFreelancerBidCount,\r\n \"IsFixedTeamCount\" : vm.IsFixedTeamCount,\r\n \"ContactNumber\": vm.ContactNumber,\r\n \"UserName\": vm.UserName,\r\n \"UserId\": vm.UserId,\r\n \"BrandName\": vm.ServiceBrand,\r\n \"ProductServing\": vm.ServiceProduct,\r\n \"SearchTag\": vm.SearchTag,\r\n \"IsAuthorizedServiceCenterCount\" :vm.IsAuthorizedServiceCenter\r\n }\r\n if (vm.adddaterange) {\r\n userFormData.ActivationStartDate = startDate;\r\n userFormData.ActivationEnddate = endDate;\r\n }\r\n }\r\n\r\n $localStorage.FilterData = userFormData;\r\n AllUsersListGCService.Filter(loggedinUser, token, userFormData).then(function (resp) {\r\n if (resp.data) {\r\n vm.users = [];\r\n vm.Bluserlist = [];\r\n vm.usersCounts = resp.data;\r\n vm.users = resp.data.Users;\r\n\r\n for (var i = 0; i < vm.users.length; i++) {\r\n if (vm.users[i].CustomerRating) {\r\n vm.users[i].CustomerRating = Number(vm.users[i].CustomerRating).toFixed(1);\r\n }\r\n }\r\n\r\n vm.totalTalentPoolCount = resp.data.Count;\r\n $scope.totalUsers = resp.data.Count;\r\n $scope.totalTableUsers = resp.data.Count;\r\n\r\n if (vm.users.length < 20)\r\n vm.usersLength = $scope.totalUsers;\r\n else\r\n vm.usersLength = index * 20;\r\n if (index == 1)\r\n vm.techpageindexCount = 1;\r\n else\r\n vm.techpageindexCount = (((index - 1) * 20) + 1);\r\n\r\n if (vm.users.length > 0) {\r\n for (var i = 0; i < vm.users.length; i++) {\r\n if (vm.users[i].BlockedByAccounts) {\r\n if (vm.users[i].BlockedByAccounts.length > 0) {\r\n for (var j = 0; j < vm.users[i].BlockedByAccounts.length; j++) {\r\n if (vm.users[i].BlockedByAccounts[j] == AccountID) {\r\n vm.Bluserlist.push(vm.users[i]);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n }\r\n }\r\n // return vm.users;\r\n })\r\n\r\n }\r\n\r\n\r\n vm.TechnicianclearFilter = function () {\r\n vm.UserName = '';\r\n vm.UserId = '';\r\n vm.ContactNumber = '';\r\n vm.Source = '';\r\n vm.Adharcard = '';\r\n vm.Pancard = '';\r\n $scope.Prime = false;\r\n $scope.NonPrime = false;\r\n vm.PssStatus = \"\";\r\n vm.IsBankVerified = '';\r\n vm.SMEInterctionVideo = false;\r\n vm.Criminal = '';\r\n vm.PermanentState = '';\r\n vm.PermanentCity = '';\r\n vm.Experience = '';\r\n vm.traningCertificateList = \"\";\r\n vm.freelancerRoleList = \"\";\r\n vm.freelancerRole = \"\";\r\n vm.Locations = \"\";\r\n vm.Asset_Laptop = '';\r\n vm.Asset_Mobile = '';\r\n vm.Asset_Bike = '';\r\n vm.Asset_Tools = '';\r\n vm.Jobscount = '';\r\n vm.Ratings = '';\r\n vm.CurrentState = '';\r\n vm.UserStatus = '';\r\n vm.userskill = [];\r\n vm.userskill = '';\r\n vm.OneJobDone = false;\r\n vm.SearchTag = '';\r\n vm.ServiceBrand = '';\r\n vm.ReportingTo = '';\r\n vm.ServiceProduct = '';\r\n vm.ReportingTo = '',\r\n vm.AllapplyTalentPoolfilter();\r\n }\r\n\r\n\r\n var startDate = moment().subtract(30, 'days').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.ticketdates = { startDate: moment().subtract(30, 'days'), endDate: moment() };\r\n vm.ticketranges = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n 'Till now': [moment(vm.Technicianstartingdate), moment(endDate)],\r\n };\r\n vm.outsidedateRangeChange = function (ev, picker) {\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n };\r\n\r\n\r\n vm.pfuserlist = [];\r\n\r\n vm.filterApplied = false;\r\n\r\n\r\n vm.getAllUsersByStage = function (stage) {\r\n vm.UserVerificationStatus = stage;\r\n vm.freelancerRole = \"\";\r\n vm.UserStatus = \"\";\r\n vm.PssStatus = \"\";\r\n vm.SMEInterctionVideo = false;\r\n $scope.Prime = false;\r\n $scope.NonPrime = false;\r\n vm.OneJobDone = false;\r\n vm.Criminal = false;\r\n vm.IsFreelancerBidCount = false;\r\n vm.IsFixedTeamCount = false;\r\n vm.AllapplyTalentPoolfilter();\r\n\r\n }\r\n\r\n vm.getAllUsersByRole = function (role) {\r\n vm.UserVerificationStatus = \"\";\r\n if (role == 'Active') {\r\n vm.UserStatus = role;\r\n vm.freelancerRole = \"\";\r\n }\r\n else if (role == 'Inactive') {\r\n vm.UserStatus = role;\r\n vm.freelancerRole = \"\";\r\n }\r\n else if (role == '') {\r\n vm.UserStatus = role;\r\n vm.freelancerRole = \"\";\r\n }\r\n else {\r\n vm.freelancerRole = role;\r\n vm.UserStatus = \"Active\";\r\n }\r\n $scope.Prime = false;\r\n $scope.NonPrime = false;\r\n vm.PssStatus = \"\";\r\n vm.SMEInterctionVideo = false;\r\n vm.OneJobDone = false;\r\n vm.Criminal = false;\r\n vm.IsFreelancerBidCount = false;\r\n vm.IsFixedTeamCount = false;\r\n vm.AllapplyTalentPoolfilter();\r\n }\r\n\r\n vm.getAllUsersByLocation = function (location) {\r\n vm.UserVerificationStatus = \"\";\r\n if (location) {\r\n vm.Locations = location;\r\n vm.freelancerRole = \"\";\r\n vm.UserStatus = \"\";\r\n }\r\n $scope.Prime = false;\r\n $scope.NonPrime = false;\r\n vm.PssStatus = \"\";\r\n vm.SMEInterctionVideo = false;\r\n vm.OneJobDone = false;\r\n vm.Criminal = false;\r\n vm.IsFreelancerBidCount = false;\r\n vm.IsFixedTeamCount = false;\r\n vm.AllapplyTalentPoolfilter();\r\n }\r\n\r\n // vm.IsAuthorizedServiceCenter = function (role) {\r\n // vm.UserVerificationStatus = \"\";\r\n // if (role == 'Active') {\r\n // vm.UserStatus = role;\r\n \r\n // }\r\n // else if (role == 'Inactive') {\r\n // vm.UserStatus = role;\r\n \r\n // }\r\n // else if (role == '') {\r\n // vm.UserStatus = role;\r\n // vm.freelancerRole = \"\";\r\n // }\r\n // else {\r\n // vm.freelancerRole = role;\r\n // vm.UserStatus = \"Active\";\r\n // }\r\n // $scope.Prime = false;\r\n // $scope.NonPrime = false;\r\n // vm.PssStatus = \"\";\r\n // vm.OneJobDone = false;\r\n // vm.Criminal = false;\r\n // vm.IsFreelancerBidCount = false;\r\n // vm.IsFixedTeamCount = false;\r\n // vm.AllapplyTalentPoolfilter();\r\n // }\r\n\r\n\r\n vm.getAllOneJobDone = function () {\r\n $scope.Prime = false;\r\n $scope.NonPrime = false;\r\n vm.Criminal = false;\r\n vm.IsFixedTeamCount = false;\r\n vm.IsFreelancerBidCount = false;\r\n vm.PssStatus = \"\";\r\n vm.SMEInterctionVideo = false;\r\n vm.UserVerificationStatus = \"\";\r\n vm.freelancerRole = \"\";\r\n vm.Locations = \"\";\r\n vm.UserStatus = \"\";\r\n vm.OneJobDone = true;\r\n vm.AllapplyTalentPoolfilter();\r\n }\r\n\r\n vm.getAllFixedTeam = function () {\r\n $scope.Prime = false;\r\n $scope.NonPrime = false;\r\n vm.Criminal = false;\r\n vm.IsFixedTeamCount = true;\r\n vm.IsFreelancerBidCount = false;\r\n vm.PssStatus = \"\";\r\n vm.SMEInterctionVideo = false;\r\n vm.UserVerificationStatus = \"\";\r\n vm.freelancerRole = \"\";\r\n vm.Locations = \"\";\r\n vm.UserStatus = \"\";\r\n vm.OneJobDone = false;\r\n vm.AllapplyTalentPoolfilter();\r\n }\r\n\r\n vm.getAllLeadStarted = function () {\r\n $scope.Prime = false;\r\n $scope.NonPrime = false;\r\n vm.Criminal = false;\r\n vm.IsFreelancerBidCount = true;\r\n vm.IsFixedTeamCount = false;\r\n vm.UserVerificationStatus = \"\";\r\n vm.freelancerRole = \"\";\r\n vm.Locations = \"\";\r\n vm.PssStatus = \"\";\r\n vm.SMEInterctionVideo = false;\r\n vm.UserStatus = \"\";\r\n vm.OneJobDone = false;\r\n vm.AllapplyTalentPoolfilter();\r\n }\r\n\r\n vm.getCountByPssValue = function (pss) {\r\n $scope.Prime = false;\r\n $scope.NonPrime = false;\r\n vm.PssStatus = pss;\r\n vm.SMEInterctionVideo = false;\r\n vm.Criminal = false;\r\n vm.IsFreelancerBidCount = false;\r\n vm.IsFixedTeamCount = false;\r\n vm.UserVerificationStatus = \"\";\r\n vm.freelancerRole = \"\";\r\n vm.Locations = \"\";\r\n vm.UserStatus = \"\";\r\n vm.OneJobDone = false;\r\n vm.AllapplyTalentPoolfilter();\r\n }\r\n vm.authorizeDetail = function (role){\r\n vm.UserVerificationStatus = \"\";\r\n if (role == 'Active') {\r\n vm.UserStatus = role;\r\n \r\n }\r\n else if (role == 'Inactive') {\r\n vm.UserStatus = role;\r\n \r\n }\r\n else if (role == '') {\r\n vm.UserStatus = role;\r\n \r\n }\r\n // vm.UserStatus = '';\r\n $scope.Prime = false;\r\n $scope.NonPrime = false;\r\n vm.Criminal = false;\r\n vm.IsFreelancerBidCount = false;\r\n vm.IsFixedTeamCount = false;\r\n vm.UserVerificationStatus = \"\";\r\n vm.freelancerRole = \"\";\r\n vm.Locations = \"\";\r\n vm.OneJobDone = false;\r\n vm.IsAuthorizedServiceCenter = true;\r\n vm.AllapplyTalentPoolfilter();\r\n }\r\n\r\n vm.getAllCriminalFlag = function (criminalValue) {\r\n vm.PssStatus = \"\";\r\n vm.SMEInterctionVideo = false;\r\n $scope.Prime = false;\r\n $scope.NonPrime = false;\r\n vm.OneJobDone = false;\r\n vm.IsFreelancerBidCount = false;\r\n vm.IsFixedTeamCount = false;\r\n vm.Criminal = criminalValue;\r\n vm.UserVerificationStatus = \"\";\r\n vm.freelancerRole = \"\";\r\n vm.Locations = \"\";\r\n vm.UserStatus = \"\";\r\n vm.AllapplyTalentPoolfilter();\r\n\r\n }\r\n\r\n vm.getAllUsersBySME = function (SMEValue) {\r\n vm.SMEInterctionVideo = SMEValue;\r\n vm.PssStatus = \"\";\r\n $scope.Prime = false;\r\n $scope.NonPrime = false;\r\n vm.OneJobDone = false;\r\n vm.IsFreelancerBidCount = false;\r\n vm.IsFixedTeamCount = false;\r\n vm.Criminal = false;\r\n vm.UserVerificationStatus = \"\";\r\n vm.freelancerRole = \"\";\r\n vm.Locations = \"\";\r\n vm.UserStatus = \"\";\r\n vm.AllapplyTalentPoolfilter();\r\n\r\n }\r\n\r\n vm.getAllPrimeFlag = function (primeValue) {\r\n if (primeValue == true) {\r\n $scope.Prime = true;\r\n $scope.NonPrime = false;\r\n } else if (primeValue == false) {\r\n $scope.NonPrime = true;\r\n $scope.Prime = false;\r\n }\r\n vm.Criminal = false;\r\n vm.IsFreelancerBidCount = false;\r\n vm.IsFixedTeamCount = false;\r\n vm.UserVerificationStatus = \"\";\r\n vm.freelancerRole = \"\";\r\n vm.Locations = \"\";\r\n vm.UserStatus = \"\";\r\n vm.PssStatus = \"\";\r\n vm.SMEInterctionVideo = false;\r\n vm.OneJobDone = false;\r\n vm.AllapplyTalentPoolfilter();\r\n\r\n }\r\n\r\n\r\n vm.AllapplyTalentPoolfilter = function (filterApplied) {\r\n vm.filterApplied = filterApplied;\r\n $scope.Ticket = 1;\r\n if (vm.markerClusterer) {\r\n vm.markerClusterer.clearMarkers();\r\n vm.dynTicketMarkers = [];\r\n }\r\n vm.ticketPoolList = [];\r\n $scope.dates = { startDate: startDate, endDate: endDate };\r\n vm.adddaterange = true;\r\n $scope.UserTablepagination.current = 1;\r\n var temp = [];\r\n var tuPageIndex = '';\r\n var res = vm.Experience.split(\"-\");\r\n var jobscount = vm.Jobscount.split(\"-\");\r\n var ratings = vm.Ratings.split(\"-\");\r\n tuPageIndex = 1;\r\n // vm.freelancerRoleList = \"\";\r\n // if(vm.freelancerRole) \r\n // {\r\n // vm.freelancerRoleList = vm.freelancerRole.join('|');\r\n // }\r\n vm.traningCertificateList = \"\";\r\n if (vm.TraningCertificate) {\r\n vm.traningCertificateList = vm.TraningCertificate.join('|');\r\n }\r\n // if(vm.UserStatus != \"Active\"){\r\n // startDate = \"\";\r\n // endDate = \"\";\r\n // } \r\n // else{\r\n // startDate = startDate;\r\n // endDate = endDate;\r\n // }\r\n vm.userFormData = {\r\n \"PageIndex\": tuPageIndex,\r\n \"PageSize\": 20,\r\n \"ActivationStartDate\": startDate,\r\n \"ActivationEnddate\": endDate,\r\n \"State\": vm.PermanentState,\r\n \"Cities\": vm.PermanentCity,\r\n \"Pincodes\": temp,\r\n \"Skill\": vm.userskill,\r\n \"UserVerificationStatus\": vm.UserVerificationStatus,\r\n \"ExperienceStart\": res[0],\r\n \"ExperienceEnd\": res[1],\r\n \"Certificates\": vm.traningCertificateList,\r\n \"IsBikeAvailable\": vm.Asset_Bike,\r\n \"IsMobileAvailable\": vm.Asset_Mobile,\r\n \"IsLaptopAvailable\": vm.Asset_Laptop,\r\n \"Tools\": vm.Asset_Tools,\r\n \"JobCountStart\": jobscount[0],\r\n \"JobCountEnd\": jobscount[1],\r\n \"RatingStart\": Number(ratings[0]),\r\n \"RatingEnd\": Number(ratings[1]),\r\n \"PreferredTalentPool\": false,\r\n \"IsFreelancerBidCount\": vm.IsFreelancerBidCount,\r\n \"IsFixedTeamCount\" : vm.IsFixedTeamCount,\r\n \"FreelancerRole\": \"Teacher\",\r\n \"Locations\": vm.Locations,\r\n \"UserStatus\": vm.UserStatus,\r\n \"ContactNumber\": vm.ContactNumber,\r\n \"UserName\": vm.UserName,\r\n \"UserId\": vm.UserId,\r\n \"IsStudent\": vm.Student,\r\n \"MMFPrimeMember\": $scope.Prime,\r\n \"MMFNonPrimeMember\": $scope.NonPrime,\r\n \"IsOpenForInternship\": vm.Intern,\r\n \"IsAdharVerified\": vm.Adharcard,\r\n \"BrandName\": vm.ServiceBrand,\r\n \"ProductServing\": vm.ServiceProduct,\r\n \"IsBankVarified\": vm.IsBankVerified,\r\n \"IsCriminalVerified\": vm.Criminal,\r\n \"Source\": vm.Source,\r\n \"OneJobDoneForSkills\": vm.OneJobDone,\r\n \"PssStatus\": vm.PssStatus,\r\n \"SMEInterctionVideo\" : vm.SMEInterctionVideo,\r\n \"SearchTag\": vm.SearchTag,\r\n \"ReportingTo\": vm.ReportingTo,\r\n \"OrderBy\": vm.OrderBy,\r\n \"SortType\": vm.SortType,\r\n \"IsAuthorizedServiceCenterCount\" :vm.IsAuthorizedServiceCenter\r\n }\r\n\r\n vm.mapuserFormData = {\r\n \"PageIndex\": '',\r\n \"PageSize\": '',\r\n \"ActivationStartDate\": startDate,\r\n \"ActivationEnddate\": endDate,\r\n \"State\": vm.PermanentState,\r\n \"Cities\": vm.PermanentCity,\r\n \"Pincodes\": temp,\r\n \"Skill\": vm.userskill,\r\n \"UserVerificationStatus\": vm.UserVerificationStatus,\r\n \"IsFreelancerBidCount\": vm.IsFreelancerBidCount,\r\n \"IsFixedTeamCount\" : vm.IsFixedTeamCount,\r\n \"ExperienceStart\": res[0],\r\n \"ExperienceEnd\": res[1],\r\n \"Certificates\": vm.traningCertificateList,\r\n \"IsBikeAvailable\": vm.Asset_Bike,\r\n \"IsMobileAvailable\": vm.Asset_Mobile,\r\n \"IsLaptopAvailable\": vm.Asset_Laptop,\r\n \"Tools\": vm.Asset_Tools,\r\n \"JobCountStart\": jobscount[0],\r\n \"JobCountEnd\": jobscount[1],\r\n \"RatingStart\": Number(ratings[0]),\r\n \"RatingEnd\": Number(ratings[1]),\r\n \"PreferredTalentPool\": false,\r\n \"FreelancerRole\": \"Teacher\",\r\n \"Locations\": vm.Locations,\r\n \"UserStatus\": vm.UserStatus,\r\n \"ContactNumber\": vm.ContactNumber,\r\n \"UserName\": vm.UserName,\r\n \"UserId\": vm.UserId,\r\n \"IsStudent\": vm.Student,\r\n \"MMFPrimeMember\": $scope.Prime,\r\n \"MMFNonPrimeMember\": $scope.NonPrime,\r\n \"IsOpenForInternship\": vm.Intern,\r\n \"IsAdharVerified\": vm.Adharcard,\r\n \"IsBankVarified\": vm.IsBankVerified,\r\n \"IsCriminalVerified\": vm.Criminal,\r\n \"BrandName\": vm.ServiceBrand,\r\n \"ProductServing\": vm.ServiceProduct,\r\n \"Source\": vm.Source,\r\n \"OneJobDoneForSkills\": vm.OneJobDone,\r\n \"PssStatus\": vm.PssStatus,\r\n \"SMEInterctionVideo\" : vm.SMEInterctionVideo,\r\n \"ReportingTo\": vm.ReportingTo,\r\n \"OrderBy\": vm.OrderBy,\r\n \"SortType\": vm.SortType,\r\n \"IsAuthorizedServiceCenterCount\" :vm.IsAuthorizedServiceCenter }\r\n if (vm.filterApplied) {\r\n vm.GetTalentPoolForMap();\r\n }\r\n AllUsersListGCService.Filter(loggedinUser, token, vm.userFormData).then(function (resp) {\r\n if (resp.data) {\r\n vm.pfuserlist = [];\r\n vm.users = [];\r\n vm.usersCounts = resp.data;\r\n vm.users = resp.data.Users;\r\n if (vm.users.length == 0) {\r\n vm.showFailure('Failed', 'No User Found');\r\n }\r\n for (var i = 0; i < vm.users.length; i++) {\r\n if (vm.users[i].CustomerRating) {\r\n vm.users[i].CustomerRating = Number(vm.users[i].CustomerRating).toFixed(1);\r\n }\r\n }\r\n vm.totalTalentPoolCount = resp.data.Count;\r\n $scope.totalTalentUsers = resp.data.Count;\r\n $scope.totalTableUsers = resp.data.Count;\r\n if (vm.users.length < 20)\r\n vm.usersLength = $scope.totalTalentUsers;\r\n else\r\n vm.usersLength = tuPageIndex * 20;\r\n if (tuPageIndex == 1)\r\n vm.techpageindexCount = 1;\r\n else\r\n vm.techpageindexCount = (((tuPageIndex - 1) * 20) + 1);\r\n if (vm.users.length < 20)\r\n vm.usersLength = $scope.totalTalentUsers;\r\n else\r\n vm.usersLength = tuPageIndex * 20;\r\n if (tuPageIndex == 1)\r\n vm.techpageindexCount = 1;\r\n else\r\n vm.techpageindexCount = (((tuPageIndex - 1) * 20) + 1);\r\n if (vm.users.length > 0) {\r\n for (var i = 0; i < vm.users.length; i++) {\r\n if (vm.users[i].FavoriteForAccounts) {\r\n if (vm.users[i].FavoriteForAccounts.length > 0) {\r\n for (var j = 0; j < vm.users[i].FavoriteForAccounts.length; j++) {\r\n if (vm.users[i].FavoriteForAccounts[j] == AccountID) {\r\n vm.pfuserlist.push(vm.users[i]);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n $timeout(function () {\r\n $scope.class1 = false;\r\n }, 250);\r\n }\r\n })\r\n vm.UserCountbyFilter();\r\n }\r\n\r\n vm.ExternalUpload = function (teamid) {\r\n var newdata = {};\r\n newdata = {\r\n \"UserId\": teamid,\r\n \"Type\": \"\",\r\n \"skillName\": \"\"\r\n }\r\n AllUsersListGCService.UploadExternalVideoList(newdata, loggedinUser, token).then(function (resp) {\r\n vm.UploadVideoExternal = resp.data;\r\n });\r\n }\r\n\r\n vm.UserCountbyFilter = function () {\r\n AllUsersListGCService.UserCountbyFilter(loggedinUser, token, vm.userFormData).then(function (resp) {\r\n if (resp.data) {\r\n vm.TotalUsersCount = resp.data.Count;\r\n vm.BasicInformation = resp.data.BasicInformation;\r\n vm.LocationAndSkill = resp.data.LocationAndSkill;\r\n vm.Backgroundverified = resp.data.Backgroundverified;\r\n vm.Paymentverified = resp.data.Paymentverified;\r\n vm.PoliceVerified = resp.data.PoliceVerified;\r\n vm.CriminalVerified = resp.data.CriminalVerified;\r\n vm.SMEInteractionCount = resp.data.SMEInteractionCount;\r\n vm.TotalUserCount = resp.data.TotalUserCount;\r\n vm.TotalUKUserCount = resp.data.TotalUKUserCount;\r\n vm.TotalIndainUserCount = resp.data.TotalIndainUserCount;\r\n vm.TotalActiveFrUsersCount = resp.data.TotalActiveFrUsersCount;\r\n vm.TotalActiveFVUsersCount = resp.data.TotalActiveFVUsersCount;\r\n vm.TotalActiveFVTUsersCount = resp.data.TotalActiveFVTUsersCount;\r\n vm.FixedTeamCount = resp.data.FixedTeamCount;\r\n vm.PrimeMember = resp.data.PrimeMember;\r\n vm.NonPrimeMember = resp.data.NonPrimeMember;\r\n vm.TotalActiveUsersCount = resp.data.TotalActiveUsersCount;\r\n vm.Count = resp.data.Count;\r\n vm.TotalRegisterUser = resp.data.TotalRegisterUser;\r\n vm.TotalFreelancerBidCount = resp.data.TotalFreelancerBidCount;\r\n vm.OneJobDoneCount = resp.data.OneJobDoneCount;\r\n vm.NonPrimeMoreThanTenCount = resp.data.NonPrimeMoreThanTenCount;\r\n vm.LeadReceivedUserCount = resp.data.LeadReceivedUserCount;\r\n vm.LeadNotReceivedUserCount = resp.data.LeadNotReceivedUserCount;\r\n vm.LeadAcceptedUserCount = resp.data.LeadAcceptedUserCount;\r\n vm.LeadNotAcceptedUserCount = resp.data.LeadNotAcceptedUserCount;\r\n vm.JobRejectionBreachedCount = resp.data.JobRejectionBreachedCount;\r\n vm.JobRejectionMetCount = resp.data.JobRejectionMetCount;\r\n vm.SOPAdherenceBreachedCount = resp.data.SOPAdherenceBreachedCount;\r\n vm.SOPAdherenceMetCount = resp.data.SOPAdherenceMetCount;\r\n vm.AuthorizedServiceParnterDetailCount = resp.data.AuthorizedServiceParnterDetailCount\r\n vm.AuthorizedServiceParnterDetailCountActive = resp.data.AuthorizedServiceParnterDetailCountActive;\r\n vm.AuthorizedServiceParnterDetailCountInActive = resp.data.AuthorizedServiceParnterDetailCountInActive\r\n }\r\n })\r\n }\r\n vm.AllapplyTalentPoolfilter();\r\n\r\n vm.userOnboardingForm = function (UserId) {\r\n $localStorage.From = '';\r\n $state.go('index.NewOnboarding',{\r\n UserId: UserId\r\n }, { reload: true });\r\n }\r\n\r\n vm.DisableCreateButton = function (disable) {\r\n if (disable) {\r\n vm.disableCreateButton = true;\r\n }\r\n else {\r\n vm.disableCreateButton = false;\r\n }\r\n }\r\n\r\n //user wise with pagination\r\n $scope.totalUW = 0;\r\n $scope.UWPerPage = vm.UWListCount;\r\n $scope.UWpagination = {\r\n current: 1\r\n };\r\n\r\n //left show page 10 20 30\r\n vm.changeUWPageListCount = function () {\r\n $scope.UWPerPage = vm.UWListCount;\r\n uwPageSize = $scope.UWPerPage;\r\n $scope.UWTablePageChanged($scope.UWpagination.current);\r\n vm.selectAll = false;\r\n uwPageIndex = $scope.UWpagination.current;\r\n $scope.UWTablePageChanged = function (newPage) {\r\n uwPageIndex = newPage;\r\n vm.GetUserDataList(loggedinUser, token, vm.UploadId, vm.AnalysisId, vm.Orderby, vm.OrderSequence, uwPageIndex, uwPageSize);\r\n };\r\n }\r\n\r\n uwPageIndex = $scope.UWpagination.current;\r\n $scope.UWTablePageChanged = function (newPage) {\r\n uwPageIndex = newPage;\r\n vm.GetUserDataList(loggedinUser, token, vm.UploadId, vm.AnalysisId, vm.Orderby, vm.OrderSequence, uwPageIndex, uwPageSize);\r\n };\r\n\r\n vm.analysisUserList = [];\r\n vm.GetUserDataList = function (loggedinUser, token, UploadId, AnalysisId, userType, OrderSequence, uwPageIndex, uwPageSize) {\r\n AllUsersListGCService.GetUserData(loggedinUser, token, UploadId, AnalysisId, vm.Orderby, vm.OrderSequence, uwPageIndex, uwPageSize).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.analysisUserList = resp.data.UserAnalysisResModelList;\r\n $scope.totalUW = resp.data.TotalRecords;\r\n preprocessData(vm.analysisUserList);\r\n if (vm.analysisUserList.length < vm.UWListCount)\r\n vm.analysisListUWLength = $scope.totalUW;\r\n else\r\n vm.analysisListUWLength = uwPageIndex * vm.UWListCount;\r\n if (uwPageIndex == 1)\r\n vm.uwpageindexCount = 1;\r\n else\r\n vm.uwpageindexCount = (((uwPageIndex - 1) * vm.UWListCount) + 1);\r\n }\r\n }, function (error) {\r\n })\r\n }\r\n\r\n\r\n //list of userwise\r\n $scope.totalUWtickets = 0;\r\n $scope.UWticketsPerPage = vm.UWticketsListCount;\r\n $scope.UWticketspagination = {\r\n current: 1\r\n };\r\n\r\n //left show page 10 20 30\r\n vm.UWticketsPageListCount = function () {\r\n $scope.UWticketsPerPage = vm.UWticketsListCount;\r\n uwtPageSize = $scope.UWticketsPerPage;\r\n $scope.UWTicketTablePageChanged($scope.UWticketspagination.current);\r\n vm.selectAll = false;\r\n uwtPageIndex = $scope.UWticketspagination.current;\r\n $scope.UWTicketTablePageChanged = function (newPage) {\r\n uwtPageIndex = newPage;\r\n vm.GetUserUWDataPagingList(true, $localStorage.UploadId, vm.AnalysisId, vm.UserId, vm.ListType, vm.SortBy, vm.OrderSequence, uwtPageIndex, uwtPageSize, loggedinUser, token);\r\n };\r\n }\r\n\r\n uwtPageIndex = $scope.UWticketspagination.current;\r\n $scope.UWTicketTablePageChanged = function (newPage) {\r\n uwtPageIndex = newPage;\r\n vm.GetUserUWDataPagingList(true, $localStorage.UploadId, vm.AnalysisId, vm.UserId, vm.ListType, vm.SortBy, vm.OrderSequence, uwtPageIndex, uwtPageSize, loggedinUser, token)\r\n };\r\n\r\n\r\n vm.UWTicketList = [];\r\n vm.GetUserUWDataPagingList = function (isCollapsed, UploadId, AnalysisId, UserId, ListType) {\r\n if (vm.UserId == UserId) {\r\n $scope.isCollapsed = !isCollapsed;\r\n }\r\n $scope.showAddressTable = UserId;\r\n vm.UploadId = UploadId;\r\n vm.AnalysisId = AnalysisId;\r\n vm.UserId = UserId;\r\n vm.ListType = ListType;\r\n AllUsersListGCService.GetAddressListForUserOnPaging($localStorage.UploadId, $localStorage.AnalysisId, vm.UserId, vm.ListType, vm.SortBy, vm.OrderSequence, uwtPageIndex, uwtPageSize, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.UWTicketList = resp.data.AddressModelResList;\r\n $scope.totalUWtickets = resp.data.RecordCount;\r\n if (vm.UWTicketList.length < vm.UWticketsListCount)\r\n vm.UWTicketListLength = $scope.totalUWtickets;\r\n else\r\n vm.UWTicketListLength = uwtPageIndex * vm.UWticketsListCount;\r\n if (uwtPageIndex == 1)\r\n vm.uwtPageIndexCount = 1;\r\n else\r\n vm.uwtPageIndexCount = (((uwtPageIndex - 1) * vm.UWticketsListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n }\r\n\r\n vm.RunCampaignOnUsers = function () {\r\n vm.campaign_form.submitted = true;\r\n vm.userFormData.CampaignName = vm.CampaignName;\r\n if (vm.campaign_form.$valid) {\r\n AllUsersListGCService.RunCampaignOnUsers(vm.userFormData, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.CloseCampaignModel();\r\n }\r\n })\r\n }\r\n }\r\n\r\n vm.campaignSkill = null;\r\n vm.campaignLocation = null;\r\n vm.campaignTools = null;\r\n vm.campaignLink = null;\r\n\r\n vm.DynamicRunCampaignOnUsers = function () {\r\n vm.campaign_form.submitted = true;\r\n vm.userFormData.CampaignName = vm.CampaignName;\r\n vm.userFormData.CampaignParameters = [];\r\n vm.userFormData.CampaignParameters.push(vm.campaignSkill);\r\n vm.userFormData.CampaignParameters.push(vm.campaignLocation);\r\n vm.userFormData.CampaignParameters.push(vm.campaignTools);\r\n vm.userFormData.CampaignParameters.push(vm.campaignLink);\r\n if (vm.campaign_form.$valid) {\r\n AllUsersListGCService.RunCampaignOnUsers(vm.userFormData, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.CloseDynamicCampaignModel();\r\n }\r\n })\r\n }\r\n }\r\n\r\n // 360 profile\r\n vm.GetAllCampaignName = function () {\r\n AllUsersListGCService.GetAllCampaignName(loggedinUser, token).then(function (resp) {\r\n vm.campaignNameList = resp.data;\r\n })\r\n }\r\n\r\n vm.GetAllGenericCampaignName = function () {\r\n AllUsersListGCService.GetAllGenericCampaignName(loggedinUser, token).then(function (resp) {\r\n vm.genericCampaignNameList = resp.data;\r\n })\r\n }\r\n\r\n\r\n vm.GetFinanceTicketDetail = function (paymentId, isCollapsed) {\r\n $scope.isCollapsed = !isCollapsed;\r\n DashboardService.GetFinanceTicketDetail(paymentId).then(function (resp) {\r\n vm.financedetails = resp.data;\r\n })\r\n }\r\n\r\n vm.GetLastFollowUpOnTicketId = function (teamid) {\r\n vm.userId = teamid;\r\n vm.FollowupListArr = [];\r\n DashboardService.GetLastFollowUpOnTicketId(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.followupdata = resp.data;\r\n angular.forEach(vm.followupdata, function (fdetail, i) {\r\n if (fdetail != null) {\r\n angular.forEach(vm.followupdata[i].FollowUpOnTicket, function (fdetail, i) {\r\n vm.FollowupList = fdetail.FollowUpOnTicket;\r\n vm.FollowupListArr.push(fdetail);\r\n })\r\n\r\n }\r\n })\r\n })\r\n }\r\n\r\n vm.ReTestForSkill = function (skill) {\r\n var data = {};\r\n data = {\r\n \"UserId\": vm.userId,\r\n \"Skill\": skill\r\n }\r\n OnBoardingFlowService.ReTestForSkill(data, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n });\r\n }\r\n\r\n vm.Get360TeamProfileData = function (teamid) {\r\n vm.userId = teamid;\r\n DashboardService.Get360ProfileData(loggedinUser, teamid, token).then(function (resp) {\r\n if (resp.data) {\r\n $scope.userClass_status = false;\r\n $scope.myvalue = true;\r\n }\r\n vm.teamdata = resp.data;\r\n vm.AvgRating = vm.teamdata.userProfile.AverageRating;\r\n vm.ReviewsList = vm.teamdata.userProfile.Reviews\r\n vm.teamdata.ratingStars = vm.getRatingStars(Math.round(vm.teamdata.userProfile.Ratings.TechnicianRating));\r\n vm.teamdata.blankStars = vm.getBlankStars(Math.round(vm.teamdata.userProfile.Ratings.TechnicianRating));\r\n vm.teamdata.avgratingStars = vm.getAvgRatingStars(Math.round(vm.teamdata.userProfile.AverageRating.AverageRating));\r\n vm.teamdata.avgblankStars = vm.getAvgBlankStars(Math.round(vm.teamdata.userProfile.AverageRating.AverageRating));\r\n if (vm.teamdata.userProfile.ContactNumber) {\r\n vm.teamdata.userProfile.ContactNumber = vm.teamdata.userProfile.ContactNumber.replace(/\\d(?=\\d{4})/g, '*');\r\n }\r\n\r\n if (vm.teamdata.userProfile.Reviews) {\r\n vm.teamdata.userProfile.Reviews.forEach(function (element, i) {\r\n vm.teamdata.userratingStars = vm.getUserRatingStars(Math.round(vm.teamdata.userProfile.Reviews[i].Average));\r\n vm.teamdata.userblankStars = vm.getUserBlankStars(Math.round(vm.teamdata.userProfile.Reviews[i].Average));\r\n element.arrayRating = vm.teamdata.userratingStars;\r\n element.blankRating = vm.teamdata.userblankStars;\r\n });\r\n }\r\n\r\n vm.TechnicianRating = Number(vm.teamdata.userProfile.Ratings.TechnicianRating).toFixed(1);\r\n $timeout(function () {\r\n displayTotals();\r\n }, 300);\r\n }, function () {\r\n })\r\n }\r\n\r\n vm.filterStatusForJObs = function (status) {\r\n vm.JobcountbyStatus = status;\r\n vm.wsersFilterArray();\r\n PageIndex = 1;\r\n vm.Get360WorkSummary(loggedinUser, token, vm.userId, witemNames, witemValues, uPageIndex, uPageSize, wsSDate, wsEDate, vm.OrderBy, vm.sorttype);\r\n }\r\n\r\n\r\n vm.Get360AuthorizedDetail = function () {\r\n DashboardService.GetAuthorizedServicePartnerDetail(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.authorizeDetail = resp.data;\r\n })\r\n }\r\n\r\n vm.brandList = [\"LG\", \"Samsung\", \"Havells & lloyds\", \"Hitachi\", \"Panasonic\", \"O general\", \"Daikin\", \"Micromax\", \"Bluestar\", \"Toshiba\", \"Glen\", \"Lifelong\", \"Whirlpool\", \"IFB\", \"Philips\", \"Godrej\", \"Bajaj\"];\r\n\r\n vm.productList = [\"Aircon\", \"Air cooler\", \"Home Appliances\", \"IT\", \"AC\", \"Multi product\", \"RO\", \"Printer\"];\r\n\r\n vm.getRatingStars = function (rating) {\r\n var stars = [];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.push(i);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n vm.getBlankStars = function (rating) {\r\n var stars = [1, 2, 3, 4, 5];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.splice(stars.indexOf(i), 1);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n vm.getAvgRatingStars = function (rating) {\r\n var stars = [];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.push(i);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n vm.getAvgBlankStars = function (rating) {\r\n var stars = [1, 2, 3, 4, 5];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.splice(stars.indexOf(i), 1);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n vm.getUserRatingStars = function (rating) {\r\n var stars = [];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.push(i);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n vm.getUserBlankStars = function (rating) {\r\n var stars = [1, 2, 3, 4, 5];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.splice(stars.indexOf(i), 1);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n $scope.totalWS = 0;\r\n $scope.wsPerPage = vm.userPageListCount;\r\n $scope.Userpagination = {\r\n current: 1\r\n };\r\n\r\n //left show page 10 20 30\r\n vm.changeUserPageListCount = function (userId) {\r\n $scope.wsPerPage = vm.userPageListCount;\r\n uPageSize = $scope.wsPerPage;\r\n $scope.WSTablePageChanged($scope.Userpagination.current);\r\n\r\n uPageIndex = $scope.Userpagination.current;\r\n $scope.WSTablePageChanged = function (newPage) {\r\n uPageIndex = newPage;\r\n vm.wsersFilterArray();\r\n vm.Get360WorkSummary(loggedinUser, token, userId, witemNames, witemValues, uPageIndex, uPageSize, wsSDate, wsEDate, vm.OrderBy, vm.sorttype);\r\n\r\n };\r\n }\r\n\r\n uPageIndex = $scope.Userpagination.current;\r\n $scope.WSTablePageChanged = function (newPage) {\r\n uPageIndex = newPage;\r\n if (witemNames != 'Search') {\r\n vm.wsersFilterArray();\r\n }\r\n\r\n vm.Get360WorkSummary(loggedinUser, token, vm.userId, witemNames, witemValues, uPageIndex, uPageSize, wsSDate, wsEDate, vm.OrderBy, vm.sorttype);\r\n\r\n };\r\n\r\n\r\n vm.wsersFilterArray = function () {\r\n witemNames = \"\";\r\n witemValues = \"\";\r\n\r\n if (vm.searchStatusText != \"\" && vm.searchStatusText != \"All\" && vm.searchStatusText != null) {\r\n if (itemNames.length > 0 && itemValues.length > 0) {\r\n itemNames = itemNames + ',Status';\r\n itemValues = itemValues + ',' + vm.searchStatusText;\r\n } else {\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText;\r\n }\r\n }\r\n if (vm.userNameSearch) {\r\n if (witemNames) {\r\n witemNames = witemNames + ',Search';\r\n witemValues = witemValues + \",\" + vm.userNameSearch;\r\n }\r\n else {\r\n witemNames = 'Search';\r\n witemValues = vm.userNameSearch;\r\n }\r\n }\r\n\r\n if (vm.JobcountbyStatus) {\r\n if (witemNames) {\r\n witemNames = witemNames + ',Status';\r\n witemValues = witemValues + \",\" + vm.JobcountbyStatus;\r\n }\r\n else {\r\n witemNames = 'Status';\r\n witemValues = vm.JobcountbyStatus;\r\n }\r\n }\r\n\r\n }\r\n\r\n\r\n // apply user rating to all displays\r\n // add star ratings to an array\r\n var starRating = document.querySelectorAll(\".fa-star\"),\r\n ratingTotal = document.querySelectorAll(\".rating-total\");\r\n\r\n // convert ratingTotal HTMLCollection to array and reverse its order (5 star <-> 1 star)\r\n var reverseRatingTotal = Array.from(ratingTotal).reverse();\r\n\r\n // display initial rating totals\r\n // displayTotals();\r\n\r\n // use event listener to record changes to user rating\r\n starRating.forEach(function (star) {\r\n star.addEventListener(\"change\", recordRating);\r\n })\r\n\r\n function recordRating(event) {\r\n // use indexOf to identify selected user rating\r\n var userRating = Array.from(starRating).indexOf(event.target);\r\n\r\n // define selected rating to adjust display totals\r\n var selectedIndex;\r\n\r\n starRating.forEach(function (item, index) {\r\n // add or remove .active class based upon selected user rating\r\n if (index < userRating + 1) {\r\n starRating[index].classList.add(\"active\");\r\n selectedIndex = index;\r\n } else {\r\n starRating[index].classList.remove(\"active\");\r\n }\r\n\r\n displayTotals(selectedIndex);\r\n });\r\n }\r\n vm.countForStatus = 50;\r\n // display star rating totals from html custom data-\r\n function displayTotals(selectedIndex) {\r\n var barChart = document.querySelectorAll(\".bar\"),\r\n displaySummary = document.querySelectorAll(\".summary\"),\r\n numRatings = 0,\r\n numRatingsValue = 0;\r\n\r\n // convert barChart HTMLCollection to array and reverse its order (5 star <-> 1 star)\r\n var reverseBarChart = Array.from(barChart).reverse();\r\n\r\n reverseRatingTotal.forEach(function (total, index) {\r\n if (index == selectedIndex) {\r\n // add selected rating to display total\r\n total.innerHTML = (parseInt(total.getAttribute(\"data-rating-count\")) + 1);\r\n // adjust selected bar width\r\n reverseBarChart[index].style.width = (((parseInt(total.getAttribute(\"data-rating-count\")) + 1) / 20) * 100) + \"%\";\r\n } else {\r\n // display unselected totals\r\n total.innerHTML = total.getAttribute(\"data-rating-count\");\r\n // adjust unselected bar widths\r\n reverseBarChart[index].style.width = ((total.getAttribute(\"data-rating-count\") / 20) * 100) + \"%\";\r\n }\r\n // count total number and value of ratings\r\n numRatings += parseInt(total.innerHTML);\r\n numRatingsValue += (parseInt(total.innerHTML) * (index + 1));\r\n });\r\n\r\n // display rating average and total\r\n ratingsAverage = (numRatingsValue / numRatings).toFixed(2);\r\n // displaySummary[0].innerHTML = ratingsAverage + \" average based on \" + numRatings + \" reviews.\";\r\n }\r\n\r\n vm.Get360VendorTeamData = function (teamid) {\r\n // vm.userId = teamid;\r\n DashboardService.Get360VendorTeamData(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.vendorteam = resp.data;\r\n })\r\n }\r\n\r\n vm.GetUsersTicket = function (isCollapsed, status, id, type) {\r\n $scope.activeRow = id;\r\n $scope.isCollapsed = !isCollapsed;\r\n vm.userIdforStatus = id;\r\n vm.statusForTickets = status;\r\n vm.JobcountbyStatus = '';\r\n vm.filterType = type;\r\n vm.FilterArray();\r\n if (!vm.filterType) {\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }\r\n vm.getAllJobTicketsCopyForUsers(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }\r\n\r\n vm.getAllJobTicketsCopyForUsers = function (loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize) {\r\n var templateCols = \"\";\r\n vm.resetAllSelect();\r\n var templateCols = \"\";\r\n vm.UserticketList = [];\r\n PageIndex = PageIndex ? PageIndex : 1;\r\n vm.DateField = vm.DateField ? vm.DateField : \"CreatedOn\";\r\n ManualAssignationJobService.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, token, itemNames, itemValues, textItemNames, textItemValues, templateCols, templateItemNames, templateItemValues, vm.DateField, PageIndex, PageSize, vm.SortType, vm.SortField).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.UserticketList = resp.data.LightTicketModels;\r\n }\r\n\r\n }, function () {\r\n });\r\n\r\n }\r\n\r\n vm.Get360WorkSummary = function () {\r\n DashboardService.Get360WorkSummary(loggedinUser, token, vm.userId, witemNames, witemValues, uPageIndex, uPageSize, wsSDate, wsEDate, vm.OrderBy, vm.sorttype).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.statusCount = resp.data;\r\n vm.wsTicketList = resp.data.workSummaryData;\r\n $scope.totalWS = resp.data.WorkSummaryTotalCount;\r\n if (vm.wsTicketList.length < vm.userPageListCount)\r\n vm.wsListLength = $scope.totalWS;\r\n else\r\n vm.wsListLength = uPageIndex * vm.userPageListCount;\r\n if (uPageIndex == 1)\r\n vm.wspageindexCount = 1;\r\n else\r\n vm.wspageindexCount = (((uPageIndex - 1) * vm.userPageListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n }\r\n\r\n vm.FinanceFiltersList = [];\r\n vm.GetFinancialSummary = function () {\r\n DashboardService.GetFinancialSummary(loggedinUser, token, vm.userId, fnitemNames, fnitemValues, fPageIndex, fPageSize, startDate, endDate).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.paymentCount = resp.data.paymentsSummary;\r\n vm.FinanceFiltersList = resp.data.financialSummary360.financialLPSummaryList;\r\n $scope.totalFinList = resp.data.financialSummary360.count;\r\n if (vm.FinanceFiltersList.length < vm.financePageListCount)\r\n vm.financeListLength = $scope.totalFinList;\r\n else\r\n vm.financeListLength = fPageIndex * vm.financePageListCount;\r\n if (fPageIndex == 1)\r\n vm.fpageindexCount = 1;\r\n else\r\n vm.fpageindexCount = (((fPageIndex - 1) * vm.financePageListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n }\r\n\r\n $scope.totalFinList = 0;\r\n $scope.usersPerPage = vm.financePageListCount;\r\n $scope.Financepagination = {\r\n current: 1\r\n };\r\n\r\n //left show page 10 20 30\r\n vm.changefinancePageListCount = function () {\r\n $scope.usersPerPage = vm.financePageListCount;\r\n fPageSize = $scope.usersPerPage;\r\n $scope.FinanceTablePageChanged($scope.Financepagination.current);\r\n vm.selectAll = false;\r\n\r\n fPageIndex = $scope.Financepagination.current;\r\n $scope.FinanceTablePageChanged = function (newPage) {\r\n fPageIndex = newPage;\r\n vm.FinanceFilterArray();\r\n vm.GetFinancialSummary(loggedinUser, token, vm.userId, uitemNames, uitemValues, fPageIndex, fPageSize, startDate, endDate, vm.OrderBy, vm.sorttype);\r\n\r\n };\r\n }\r\n\r\n fPageIndex = $scope.Financepagination.current;\r\n $scope.FinanceTablePageChanged = function (newPage) {\r\n fPageIndex = newPage;\r\n if (uitemNames != 'Search') {\r\n vm.FinanceFilterArray();\r\n }\r\n\r\n vm.GetFinancialSummary(loggedinUser, token, vm.userId, uitemNames, uitemValues, fPageIndex, fPageSize, startDate, endDate, vm.OrderBy, vm.sorttype);\r\n\r\n };\r\n\r\n\r\n vm.Get360SkillSummary = function () {\r\n DashboardService.Get360SkillSummary(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.skillsetData = resp.data;\r\n for (var i = 0; i < vm.skillsetData.CertificateDetails.length; i++) {\r\n vm.CertimageServices(vm.skillsetData.CertificateDetails[i].TrainingCertificate, i);\r\n }\r\n\r\n if (vm.skillsetData.PreviousCompanyDetailsList) {\r\n for (var i = 0; i < vm.skillsetData.PreviousCompanyDetailsList.length; i++) {\r\n if (vm.getFileType(vm.skillsetData.PreviousCompanyDetailsList[i].ExperienceLetter) == 'image')\r\n vm.PreviousCompnyExperienceLetterServices(vm.skillsetData.PreviousCompanyDetailsList[i].ExperienceLetter, i);\r\n }\r\n }\r\n\r\n if (vm.skillsetData.UserTrainingList) {\r\n for (var i = 0; i < vm.skillsetData.UserTrainingList.length; i++) {\r\n if (vm.getFileType(vm.skillsetData.UserTrainingList[i].TrainingImage) == 'image')\r\n vm.TrainingImageServices(vm.skillsetData.UserTrainingList[i].TrainingImage, i);\r\n if (vm.getFileType(vm.skillsetData.UserTrainingList[i].TrainingAttendance) == 'image')\r\n vm.TrainingAttendanceServices(vm.skillsetData.UserTrainingList[i].TrainingAttendance, i);\r\n }\r\n\r\n }\r\n })\r\n }\r\n\r\n vm.Dashboard = function (user) {\r\n $state.go('index.Dashboard', {\r\n UserId: user\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.RegistrationHistory = function (user) {\r\n $state.go('index.RegistrationForm', {\r\n UserId: user\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n\r\n vm.GetReviewAndRatings = function (teamid) {\r\n vm.userId = teamid;\r\n DashboardService.GetReviewAndRatings(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.reviewData = resp.data;\r\n vm.teamdata.InstallationratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.InstallationService_Avrage));\r\n vm.teamdata.InstallationblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.InstallationService_Avrage));\r\n vm.teamdata.SafetyratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.SafetyProtocols_Avrage));\r\n vm.teamdata.SafetyblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.SafetyProtocols_Avrage));\r\n vm.teamdata.VisitratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.VisitonTime_Avrage));\r\n vm.teamdata.VisitblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.VisitonTime_Avrage));\r\n vm.teamdata.CourteousratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.CourteousRespectful_Avrage));\r\n vm.teamdata.CourteousblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.CourteousRespectful_Avrage));\r\n vm.teamdata.ProratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.ProfessionalAppearance_Avrage));\r\n vm.teamdata.ProblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.ProfessionalAppearance_Avrage));\r\n vm.teamdata.ServiceratingStars = vm.getRatingStars(Math.round(vm.reviewData.behaviourRating.ServiceExperience_Avrage));\r\n vm.teamdata.ServiceblankStars = vm.getBlankStars(Math.round(vm.reviewData.behaviourRating.ServiceExperience_Avrage));\r\n })\r\n }\r\n\r\n\r\n vm.Get360VendorTeamData = function (teamid) {\r\n vm.userId = teamid;\r\n DashboardService.Get360VendorTeamData(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.vendorteam = resp.data;\r\n })\r\n }\r\n\r\n\r\n vm.GetToolsAndAssets = function (teamid) {\r\n vm.userId = teamid;\r\n DashboardService.GetToolsAndAssets(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.assetData = resp.data;\r\n })\r\n }\r\n\r\n $scope.UserDetailsAvailable = true;\r\n // $scope.UserOpportunity = function(user) {\r\n\r\n // };\r\n\r\n $scope.closeNav = function () {\r\n $scope.UserDetailsAvailable = !$scope.UserDetailsAvailable;\r\n }\r\n vm.GetSkillRecommendationsForUser = function (user) {\r\n vm.newPincodeSet = [];\r\n vm.existingPincodeSet = [];\r\n vm.UserCurrentData = user\r\n vm.userIdforRec = user.UserId\r\n AllUsersListGCService.GetSkillRecommendationsForUser(vm.userIdforRec, loggedinUser, token).then(function (resp) {\r\n $scope.UserDetailsAvailable = !$scope.UserDetailsAvailable;\r\n vm.recommendationData = resp.data;\r\n vm.PincodeExistingOpportunityModelList = resp.data.PincodeExistingOpportunityModelList;\r\n vm.PincodeNewOpportunityModelList = resp.data.PincodeNewOpportunityModelList;\r\n })\r\n }\r\n vm.PDFView = function (page) {\r\n vm.pdfimage =\"\";\r\n vm.IsLoadSucessfull=false;\r\n $scope.selected = null;\r\n // $timeout(function () {\r\n jobAppointmentModal = $uibModal.open({\r\n templateUrl: 'PDFView.html',\r\n size: 'lg',\r\n scope: $scope\r\n });\r\n // }, 1000)\r\n\r\n }\r\n vm.PDFUserModal = function () {\r\n jobAppointmentModal.close();\r\n }\r\n vm.pdfimage = \"\";\r\n vm.DocumentAvailableMessage=\"\";\t\r\n vm.downloadOnSiteReport = function (userId) {\r\n vm.PDFView();\r\n \r\n // var PreviewConsolidatedInvoiceList = previewSelectedObj;\r\n AllUsersListGCService.userpdfreport(userId,loggedinUser, token).then(function (resp) {\r\n \r\n vm.responseDataList = resp.data;\r\n var arrrayBuffer = base64ToArrayBuffer(vm.responseDataList);\r\n var blob = new Blob([arrrayBuffer], { type: \"application/pdf\" });\r\n vm.pdfimage = URL.createObjectURL(blob);\r\n vm.IsLoadSucessfull = true;\r\n \r\n \r\n \r\n });\r\n }\r\n function base64ToArrayBuffer(base64) {\r\n var ret = base64.replace('data:application/pdf;base64,', '');\r\n var binaryString = atob(ret);\r\n var binaryLen = binaryString.length;\r\n var bytes = new Uint8Array(binaryLen);\r\n for (var i = 0; i < binaryLen; i++) {\r\n var ascii = binaryString.charCodeAt(i);\r\n bytes[i] = ascii;\r\n }\r\n return bytes;\r\n }\r\n\r\nvm.userpdfreport = function(userId){\r\n vm.downloadOnSiteReport(userId);\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n vm.GetPincodeOfSelectedSkill = function (skill) {\r\n vm.selectedSKill = skill;\r\n angular.forEach(vm.PincodeExistingOpportunityModelList, function (skillset) {\r\n if (skillset.SkillName == vm.selectedSKill) {\r\n vm.existingPincodeSet = skillset.PincodeOpportunityModelList;\r\n }\r\n\r\n });\r\n }\r\n\r\n vm.GetNewPincodeOfSelectedSkill = function (skill) {\r\n vm.newselectedSKill = skill;\r\n angular.forEach(vm.PincodeNewOpportunityModelList, function (newskillset) {\r\n if (newskillset.SkillName == vm.newselectedSKill) {\r\n vm.newPincodeSet = newskillset.PincodeOpportunityModelList;\r\n }\r\n\r\n });\r\n }\r\n\r\n function preprocessData(users) {\r\n if (users && users.length > 0) {\r\n angular.forEach(users, function (user) {\r\n user.locationCount = user.Locations && user.Locations.length > 0 ? user.Locations.length : 0;\r\n user.locationToolTip = \"\";\r\n if (user.locationCount > 0) {\r\n angular.forEach(user.Locations, function (loc) {\r\n user.locationToolTip += loc + \",\";\r\n })\r\n user.locationToolTip = user.locationToolTip.substr(0, user.locationToolTip.length - 1);\r\n }\r\n\r\n user.worklocationCount = user.UserWorkLocations && user.UserWorkLocations.length > 0 ? user.UserWorkLocations.length : 0;\r\n user.worklocationToolTip = \"\";\r\n if (user.worklocationCount > 0) {\r\n angular.forEach(user.UserWorkLocations, function (loc) {\r\n user.worklocationToolTip += loc + \",\";\r\n })\r\n user.worklocationToolTip = user.worklocationToolTip.substr(0, user.worklocationToolTip.length - 1);\r\n }\r\n\r\n user.SkillSetCount = user.SkillSet && user.SkillSet.length > 0 ? user.SkillSet.length : 0;\r\n user.SkillSetToolTip = \"\";\r\n if (user.SkillSetCount > 0) {\r\n angular.forEach(user.SkillSet, function (s) {\r\n user.SkillSetToolTip += s + \",\";\r\n })\r\n user.SkillSetToolTip = user.SkillSetToolTip.substr(0, user.SkillSetToolTip.length - 1);\r\n }\r\n\r\n user.OneJobSkillSetCount = user.OneJobDoneSkills && user.OneJobDoneSkills.length > 0 ? user.OneJobDoneSkills.length : 0;\r\n user.OneJobSkillSetToolTip = \"\";\r\n if (user.OneJobSkillSetCount > 0) {\r\n angular.forEach(user.OneJobDoneSkills, function (s) {\r\n user.OneJobSkillSetToolTip += s + \",\";\r\n })\r\n user.OneJobSkillSetToolTip = user.OneJobSkillSetToolTip.substr(0, user.OneJobSkillSetToolTip.length - 1);\r\n }\r\n\r\n });\r\n }\r\n }\r\n // for arrow rotate \r\n\r\n $scope.toggleSingleClass = function () {\r\n $scope.class_status = !$scope.class_status;\r\n };\r\n $scope.activatedButton = function () {\r\n $scope.isactivated = !$scope.isactivated;\r\n }\r\n $scope.activatedButton1 = function () {\r\n $scope.isactivated1 = !$scope.isactivated1;\r\n }\r\n $scope.activatedButton2 = function () {\r\n $scope.isactivated2 = !$scope.isactivated2;\r\n }\r\n $scope.activatedButton3 = function () {\r\n $scope.isactivated3 = !$scope.isactivated3;\r\n }\r\n $scope.activatedButton4 = function () {\r\n $scope.isactivated4 = !$scope.isactivated4;\r\n }\r\n $scope.activatedButton5 = function () {\r\n $scope.isactivated5 = !$scope.isactivated5;\r\n }\r\n $scope.activatedButton6 = function () {\r\n $scope.isactivated6 = !$scope.isactivated6;\r\n }\r\n $scope.activatedButton7 = function () {\r\n $scope.isactivated7 = !$scope.isactivated7;\r\n }\r\n $scope.activatedButton8 = function () {\r\n $scope.isactivated8 = !$scope.isactivated8;\r\n }\r\n $scope.activatedButton9 = function () {\r\n $scope.isactivated9 = !$scope.isactivated9;\r\n }\r\n $scope.activatedButton10 = function () {\r\n $scope.isactivated10 = !$scope.isactivated10;\r\n }\r\n $scope.activatedButton11 = function () {\r\n $scope.isactivated11 = !$scope.isactivated11;\r\n }\r\n $scope.activatedButton12 = function () {\r\n $scope.isactivated12 = !$scope.isactivated12;\r\n }\r\n $scope.activatedButton13 = function () {\r\n $scope.isactivated13 = !$scope.isactivated13;\r\n }\r\n $scope.activatedButton14 = function () {\r\n $scope.isactivated14 = !$scope.isactivated14;\r\n }\r\n $scope.activatedButton15 = function () {\r\n $scope.isactivated15 = !$scope.isactivated15;\r\n }\r\n $scope.activatedButton16 = function () {\r\n $scope.isactivated16 = !$scope.isactivated16;\r\n }\r\n $scope.activatedButton17 = function () {\r\n $scope.isactivated17 = !$scope.isactivated17;\r\n }\r\n $scope.activatedButton18 = function () {\r\n $scope.isactivated18 = !$scope.isactivated18;\r\n }\r\n $scope.activatedButton19 = function () {\r\n $scope.isactivated19 = !$scope.isactivated19;\r\n }\r\n\r\n $scope.activatedButton20 = function () {\r\n $scope.isactivated20 = !$scope.isactivated20;\r\n }\r\n $scope.activatedButton21 = function () {\r\n $scope.isactivated21 = !$scope.isactivated21;\r\n }\r\n $scope.activatedButton22 = function () {\r\n $scope.isactivated22 = !$scope.isactivated22;\r\n }\r\n $scope.activatedButton23 = function () {\r\n $scope.isactivated23 = !$scope.isactivated23;\r\n }\r\n $scope.activatedButton24 = function () {\r\n $scope.isactivated24 = !$scope.isactivated24;\r\n }\r\n $scope.activatedButton25 = function () {\r\n $scope.isactivated25 = !$scope.isactivated25;\r\n }\r\n $scope.activatedButton26 = function () {\r\n $scope.isactivated26 = !$scope.isactivated26;\r\n }\r\n $scope.activatedButton27 = function () {\r\n $scope.isactivated27 = !$scope.isactivated27;\r\n }\r\n $scope.activatedButton28 = function () {\r\n $scope.isactivated28 = !$scope.isactivated28;\r\n }\r\n $scope.activatedButton29 = function () {\r\n $scope.isactivated29 = !$scope.isactivated29;\r\n }\r\n $scope.activatedButton30 = function () {\r\n $scope.isactivated30 = !$scope.isactivated30;\r\n }\r\n $scope.activatedButton31 = function () {\r\n $scope.isactivated31 = !$scope.isactivated31;\r\n }\r\n $scope.activatedButton32 = function () {\r\n $scope.isactivated32 = !$scope.isactivated32;\r\n }\r\n $scope.activatedButton33 = function () {\r\n $scope.isactivated33 = !$scope.isactivated33;\r\n }\r\n $scope.activatedButton34 = function () {\r\n $scope.isactivated34 = !$scope.isactivated34;\r\n }\r\n $scope.activatedButton35 = function () {\r\n $scope.isactivated35 = !$scope.isactivated35;\r\n }\r\n $scope.activatedButton36 = function () {\r\n $scope.isactivated36 = !$scope.isactivated36;\r\n }\r\n $scope.activatedButton37 = function () {\r\n $scope.isactivated37 = !$scope.isactivated37;\r\n }\r\n $scope.activatedButton38 = function () {\r\n $scope.isactivated38 = !$scope.isactivated38;\r\n }\r\n $scope.activatedButton39 = function () {\r\n $scope.isactivated39 = !$scope.isactivated39;\r\n }\r\n $scope.activatedButton40 = function () {\r\n $scope.isactivated40 = !$scope.isactivated40;\r\n }\r\n var $range = $(\".js-range-slider\"),\r\n $from = $(\".from\"),\r\n $to = $(\".to\"),\r\n range,\r\n min = $range.data('min'),\r\n max = $range.data('max'),\r\n from,\r\n to;\r\n\r\n var updateValues = function () {\r\n $from.prop(\"value\", from);\r\n $to.prop(\"value\", to);\r\n };\r\n\r\n $range.ionRangeSlider({\r\n onChange: function (data) {\r\n from = data.from;\r\n to = data.to;\r\n updateValues();\r\n }\r\n });\r\n\r\n range = $range.data(\"ionRangeSlider\");\r\n var updateRange = function () {\r\n range.update({\r\n from: from,\r\n to: to\r\n });\r\n };\r\n\r\n $from.on(\"input\", function () {\r\n from = +$(this).prop(\"value\");\r\n if (from < min) {\r\n from = min;\r\n }\r\n if (from > to) {\r\n from = to;\r\n }\r\n updateValues();\r\n updateRange();\r\n });\r\n\r\n $to.on(\"input\", function () {\r\n to = +$(this).prop(\"value\");\r\n if (to > max) {\r\n to = max;\r\n }\r\n if (to < from) {\r\n to = from;\r\n }\r\n updateValues();\r\n updateRange();\r\n });\r\n }\r\n});\n\r\nangular.module('inspinia').service('AllUsersListService', function (ApiURL, FreelancerURL,AlertURL, CampaignURL, $log, $http, $localStorage) {\r\n\r\n this.GetAllFreLancerProfile = function (loggedinUser, token, itemNames, itemValues, textItemNames, textItemValues) {\r\n var url = '';\r\n var url = FreelancerURL + '/api/FreeLancerUser/' + loggedinUser + '/GetAllFreLancerWithFiltersWithLightProfile?itemNames=' + itemNames + '&itemValues=' + itemValues + '&textItemNames=' + textItemNames + '&textItemValues=' + textItemValues;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetTalentPoolForMapView = function (mapuserFormData, loggedinUser, token) {\r\n var url = FreelancerURL + \"/api/FreelancerUser/GetTalentPoolForMapView\";\r\n return $http.put(url, mapuserFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n\r\n this.GetAllAccountDetails = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/accountConfig/GetAllAccountDetails';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.getSkills = function (loggedinUser, token, callback, failure) {\r\n var url = ApiURL + '/api/SkillSets/' + loggedinUser + '/getmasterskillsB2C';\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n }, function () {\r\n failure(\"skills\", \"Unable to get skills\");\r\n });\r\n }\r\n\r\n this.GetAllCertificate = function (loggedinUser, token, success, failure) {\r\n var url = ApiURL + '/api/Cetrificate/GetAllMaster?reqUserId=' + loggedinUser;\r\n return $http.get(url, { headers: { 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if (res && res.status == 201 && res.data) {\r\n success(res.data);\r\n }\r\n }, function (err) {\r\n failure(\"Failed\", \"Unable to get certificate list, server error.\");\r\n })\r\n }\r\n\r\n this.GetAllToolSets = function (loggedinUser, token, success, failure) {\r\n var url = ApiURL + '/api/Tool/GetAllMaster?reqUserId=' + loggedinUser;\r\n return $http.get(url, { headers: { 'Token': token, 'UserId': loggedinUser } }).then(function (res) {\r\n if (res && res.status == 201 && res.data) {\r\n success(res.data);\r\n }\r\n }, function (err) {\r\n failure(\"Failed\", \"Unable to get certificate list, server error.\");\r\n })\r\n }\r\n this.GetUsersForPinpoint = function (ticketFormData, lat, long, pincode, loggedinUser, token) {\r\n var url = ApiURL + '/api/CapacityPlanning/GetUsersForPinpoint?Latitude=' + lat + '&Longitude=' + long + \"&Pincode=\" + pincode;\r\n return $http.post(url, ticketFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n // this.Filter = function ( loggedinUser, token,userFormData) {\r\n // var url = FreelancerURL + \"/api/FreelancerUser/FreelancerByPaging?reqUserid=\" + loggedinUser;\r\n // return $http.put(url, userFormData, {\r\n // headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n // });\r\n // }\r\n\r\n this.Filter = function (loggedinUser, token, userFormData) {\r\n var url = FreelancerURL + \"/api/FreeLancerRegistration/FreelancerListingByPaging?reqUserid=\" + loggedinUser;\r\n return $http.put(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.UploadExternalVideoList = function (newdata, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerRegistration/GetVideoKycData';\r\n return $http.put(url, newdata, {\r\n headers: { 'ContentType': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.UserCountbyFilter = function (loggedinUser, token, userFormData) {\r\n var url = FreelancerURL + \"/api/FreeLancerRegistration/UserCountbyFilter?reqUserid=\" + loggedinUser;\r\n return $http.put(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.getAllState = function (loggedinUser) {\r\n var url = LocationURL + '/api/Location/' + loggedinUser + '/GetAllStates';\r\n return $http.get(url, {\r\n params: {}\r\n });\r\n }\r\n\r\n this.GetAllUsers = function (loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerUser/' + loggedinUser + '/GetAllUsers'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n })\r\n }\r\n\r\n this.GetAllActiveTaskForFilter = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/OnBoardingTask/GetAllActiveTaskForFilter'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n })\r\n }\r\n\r\n this.callToTechnicianApi = function (loggedinUser, userid, token) {\r\n url = ApiURL + '/api/CallPatching/ClickToCallFieldTeam?userId=' + userid;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetUserData = function (loggedinUser, token, UploadId, AnalysisId, Orderby, OrderSequence, uwPageIndex, uwPageSize) {\r\n var url = '';\r\n url = ApiURL + '/api/CapacityPlanning/GetUserAnalysisDataOnPaging?UploadId=' + UploadId + '&AnalysisId=' + AnalysisId + '&Orderby=' + Orderby + '&OrderSequence=' + OrderSequence + '&Index=' + uwPageIndex + '&PageSize=' + uwPageSize;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n \r\n this.GetAllCampaignName = function (loggedinUser, token) {\r\n url = ApiURL + '/api/Campaign/GetAllCampaignName';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAllGenericCampaignName = function (loggedinUser, token) {\r\n url = ApiURL + '/api/Campaign/GetAllGenericCampaignName';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.RunCampaignOnUsers = function (userFormData, loggedinUser, token) {\r\n var url = ApiURL + \"/api/Campaign/RunCampaignOnUsers\";\r\n return $http.put(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetSkillRecommendationsForUser = function (userId,loggedinUser, token) {\r\n url = FreelancerURL + '/api/Recommendation/GetSkillRecommendationsForUser?UserId=' + userId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n this.userpdfreport = function (userId,loggedinUser, token) {\r\n url = ApiURL + '/api/PDFReportMapper/GenerateUserPersonalInfo?UserId=' + userId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.CreateInternalContactList = function (ListName,userFormData, loggedinUser, token) {\r\n var url = CampaignURL + \"/api/CallCampaign/CreateInternalContactList?contactListName=mmf-\" + ListName;\r\n return $http.post(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n \r\n this.GetAllOnboardingUser = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/User/GetAllOnboardingUser'\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.CreateAutoDailerTaskManually = function (userFormData, loggedinUser, token) {\r\n var url = AlertURL + \"/api/EscalationTask/CreateAutoDailerTaskManually\";\r\n return $http.put(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n});\r\n\nangular.module('inspinia').controller('AllUsersListController', function (OnBoardingFlowService, DashboardService, DTColumnBuilder, $filter, $q, $compile, DTOptionsBuilder, ManualAssignationJobService, RegisteredAllUserService, AllUsersListService, $scope, TicketBasedPlanningService, $window, $uibModal, $timeout, $http, NgMap,\r\n ReferService, $rootScope, $q, DTColumnDefBuilder, $uibModal, $localStorage, $state, AlertURL, ApiURL, $timeout, ngProgressFactory, $interval) {\r\n var vm = this;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n vm.CallPatchEnable = $localStorage.accountConfig.CallPatchEnable;\r\n var token = $localStorage.token;\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n } else {\r\n\r\n vm.FilterSwitch = false;\r\n vm.client = 1;\r\n vm.workArea = \"\";\r\n var ProjectModal = {};\r\n var circleArray;\r\n vm.filteredProperties = {};\r\n var customerIndex = 0;\r\n vm.projectName = \"\";\r\n vm.dtInstance = {};\r\n\r\n $scope.myvalue = false;\r\n $scope.class_status = true;\r\n $scope.toggleSingleClass = function () {\r\n $scope.class_status = !$scope.class_status;\r\n $scope.myvalue = true;\r\n };\r\n\r\n $scope.broadcastSentUser = true;\r\n $scope.toggleForBroadcast = function () {\r\n $scope.broadcastSentUser = !$scope.broadcastSentUser;\r\n $scope.myvalue = true;\r\n };\r\n $scope.manualAssignationWrapper = \"hide-nav\";\r\n $scope.toggleMenu = function () {\r\n if ($scope.manualAssignationWrapper === \"hide-nav\") {\r\n $scope.manualAssignationWrapper = \"show-nav\";\r\n }\r\n else {\r\n $scope.manualAssignationWrapper = \"hide-nav\";\r\n }\r\n };\r\n $scope.hideAllUser = true;\r\n\r\n $scope.showAllUser = function () {\r\n $scope.hideAllUser = true;\r\n };\r\n $scope.hideAllUserbutton = function () {\r\n $scope.hideAllUser = false;\r\n };\r\n $scope.userClass_status = true;\r\n $scope.toggleBottom = false;\r\n $scope.open360View = function () {\r\n $scope.userClass_status = false;\r\n $scope.myvalue = true;\r\n }\r\n $scope.close360View = function () {\r\n $scope.userClass_status = true;\r\n $scope.myvalue = false;\r\n }\r\n $scope.closeSlideBottom = function () {\r\n $scope.toggleNav = false;\r\n }\r\n $scope.hideoverlay = function () {\r\n $scope.myvalue = false;\r\n $scope.class_status = true;\r\n $scope.userClass_status = true;\r\n $scope.broadcastSentUser = true;\r\n $scope.userFilter = true;\r\n $scope.minatureSlide = true;\r\n $scope.myvalue = false;\r\n vm.closeFeedbackoption();\r\n }\r\n $scope.close360ViewBroadcaste = function () {\r\n $scope.myvalue = false;\r\n angular.element('#div1').removeClass(\"alpha\");\r\n $scope.userClass_status = true;\r\n }\r\n // $scope.userSingle = function() {\r\n // $scope.userClass_status = !$scope.userClass_status;\r\n\r\n // };\r\n $scope.userFilter = true;\r\n $scope.assignJobFilter = function () {\r\n $scope.userFilter = !$scope.userFilter;\r\n $scope.myvalue = true;\r\n $scope.manualAssignationWrapper = \"hide-nav\";\r\n // $scope.toggleMenu();\r\n };\r\n $scope.minatureSlide = true;\r\n $scope.minatureSlideBtn = function () {\r\n $scope.minatureSlide = !$scope.minatureSlide;\r\n $scope.myvalue = true;\r\n };\r\n\r\n\r\n $scope.hideFilter = function () {\r\n $scope.userFilter = true;\r\n $scope.minatureSlide = true;\r\n $scope.myvalue = false;\r\n }\r\n\r\n vm.CustomDateformat = $localStorage.CustomDateformat;\r\n vm.FreelancerAccess = $localStorage.accountConfig.FreelancerAccess;\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.accountConfig = $localStorage.accountConfig;\r\n vm.confirmTagModal = $scope.$parent.$parent.main.confirmTagModal;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.CurrencySymbol = $localStorage.accountConfig.CurrencySymbol;\r\n vm.EnableRegion = vm.getAccountConfigSetting('EnableRegion');\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n var token = $localStorage.token;\r\n vm.searchText = \"\";\r\n vm.searchTicket = \"\";\r\n vm.IsSearch = false;\r\n vm.DateField = \"CreatedOn\";\r\n var fnitemNames = \"\";\r\n var fnitemValues = \"\";\r\n var witemNames = \"\";\r\n var witemValues = \"\";\r\n vm.TaskId = \"\";\r\n vm.IsFreelancerBidCount = false;\r\n vm.IsFixedTeamCount = false;\r\n var wsSDate = \"\";\r\n var wsEDate = \"\";\r\n var fPageIndex = 1;\r\n var fPageSize = 10;\r\n vm.SearchByUserType = \"\";\r\n vm.searchJobTypeText = \"\";\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n vm.TotalLocation = 0;\r\n vm.TotalMatch = 0;\r\n vm.NotMatch = 0;\r\n vm.Atleast3Match = 0;\r\n vm.Atleast2Match = 0;\r\n vm.Atleast1Match = 0;\r\n vm.RunRateInDays = 0;\r\n vm.RangeInKm = 0;\r\n vm.JobSkill = \"\";\r\n vm.RegistrationStatus = \"\";\r\n vm.UserRegistrationStatus = \"\";\r\n vm.TechRole = \"\";\r\n vm.Asset = \"\";\r\n vm.Tools = \"\";\r\n vm.Certificate = \"\";\r\n vm.PermanentCity = \"\";\r\n vm.techPincode = \"\";\r\n vm.PermanentState = \"\";\r\n vm.TicketState = \"\";\r\n vm.SearchByAccountName = \"\";\r\n vm.PreferredForAccounts = \"\";\r\n vm.TicketCity = \"\";\r\n vm.ticketStatus = \"\";\r\n vm.TicketSkill = \"\";\r\n vm.pincode = [];\r\n vm.IsCommittedUser = false,\r\n vm.IsCommitmentInterestedUser = false,\r\n $scope.Prime = false;\r\n $scope.NonPrime = false;\r\n vm.PssStatus = \"\";\r\n vm.UserDetailVerification = \"\";\r\n vm.showErrors = false;\r\n vm.showPassed = false;\r\n vm.errorList = [];\r\n vm.disableUploadButton = true;\r\n vm.LocationAddressList = [];\r\n vm.TicketBasedPlanningList = {};\r\n vm.bulkuploadType = \"Location\";\r\n vm.progressbar = ngProgressFactory.createInstance();\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noMsg = [];\r\n vm.noOfRecords = 0;\r\n vm.file = null;\r\n vm.fileName = \"\";\r\n vm.fileDescription = \"\";\r\n vm.techpageindexCount = 0;\r\n vm.ticketPoolPageListCount = 10;\r\n vm.customerPageListCount = 10;\r\n vm.userPoolPageListCount = 10;\r\n vm.pageListCounts = [10, 20, 30, 50];\r\n vm.ticketPoolListLenth = 0;\r\n vm.customerListLenth = 0;\r\n vm.userPoolListLength = 0;\r\n var PageIndex = 1;\r\n var PageSize = 10;\r\n vm.pageindexCount = 0;\r\n vm.TPpageindexCount = 0;\r\n vm.cuPageindexCount = 0;\r\n vm.UPpageindexCount = 0;\r\n vm.DateField = \"StatusChangedOn\";\r\n vm.searchStatusText = \"All\";\r\n var uPageIndex = 1;\r\n var uwPageIndex = 1;\r\n var uPageSize = 10;\r\n var uwPageSize = 10;\r\n var ulPageIndex = 1;\r\n var ulPageSize = 10;\r\n vm.AlListCount = 10;\r\n var uwtPageIndex = 1;\r\n var uwtPageSize = 10;\r\n var uwtPageSize = 10;\r\n vm.UWListCount = 10;\r\n vm.EAlListCount = 10;\r\n vm.UsersType = \"\";\r\n vm.OrderSequence = \"asc\";\r\n // vm.Orderby = \"City\";\r\n // vm.SortBy = \"Distance\";\r\n vm.Orderby = \"CreatedOn\";\r\n vm.SortType = \"desc\";\r\n var uitemNames = \"\";\r\n var uitemValues = \"\";\r\n vm.searchUsersText = \"\";\r\n vm.jobsCount = \"\";\r\n vm.Technicianstartingdate = '2017-01-01';\r\n vm.userPageListCount = 10;\r\n vm.financePageListCount = 10;\r\n vm.UWticketsListCount = 10;\r\n vm.pageListCountsuwt = [10, 20, 30, 50];\r\n vm.IsAuthorizedServiceCenter = false;\r\n var startDate = moment().subtract(7, 'days').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n $scope.dates = { startDate: startDate, endDate: endDate };\r\n $scope.ranges = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n 'Till now': [moment(vm.Technicianstartingdate), moment(endDate)],\r\n };\r\n\r\n $scope.dateRangeChange = function (ev, picker) {\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n vm.getAllJobForExceptionList();\r\n vm.GetAnalysisDataList(loggedinUser, token, vm.UploadId, vm.AnalysisId, vm.Orderby, vm.OrderSequence, uPageIndex, uPageSize);\r\n\r\n };\r\n\r\n\r\n vm.City = \"\";\r\n vm.Experience = \"\";\r\n vm.Ratings = \"\";\r\n vm.Assets_Tools = \"\";\r\n vm.Jobscount = \"\";\r\n vm.FilterAdhar = \"\";\r\n vm.FilterPancard = \"\";\r\n $localStorage.filteraddskill = \"\";\r\n $localStorage.filterPermanentstate = \"\";\r\n vm.currentPage = $localStorage.PageIndex ? $localStorage.PageIndex : 1;\r\n vm.pageSize = 20;\r\n $scope.totalUsers = 0;\r\n $scope.usersPerPage = 20; // this should match however many results your API puts on one page\r\n $scope.pagination = {\r\n current: 1\r\n };\r\n $scope.pagination.current = $localStorage.PageIndex ? $localStorage.PageIndex : 1;\r\n $scope.totalTableUsers = 0;\r\n $scope.usersTablePerPage = 20; // this should match however many results your API puts on one page\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n\r\n $scope.UserTablepagination.current = $localStorage.PageIndex ? $localStorage.PageIndex : 1;\r\n $scope.pageChanged = function (newPage) {\r\n vm.currentPage = newPage;\r\n vm.applyfilter(newPage);\r\n\r\n };\r\n $scope.isOpen = false;\r\n $scope.isOpen1 = false;\r\n $scope.isCollapsed = true;\r\n $scope.isCollapsed0 = true;\r\n $scope.isCollapsed1 = true;\r\n $scope.isCollapsed2 = true;\r\n $scope.isCollapsed3 = true;\r\n $scope.isCollapsed4 = true;\r\n $scope.isCollapsed5 = true;\r\n $scope.isCollapsed6 = true;\r\n $scope.isCollapsed7 = true;\r\n $scope.isCollapsed8 = true;\r\n $scope.isCollapsed9 = true;\r\n $scope.isCollapsed10 = true;\r\n $scope.isCollapsed11 = true;\r\n $scope.isCollapsed12 = true;\r\n $scope.isCollapsed13 = true;\r\n $scope.isCollapsed14 = true;\r\n $scope.isCollapsed15 = true;\r\n $scope.isCollapsed16 = true;\r\n $scope.isCollapsed17 = true;\r\n $scope.isCollapsed18 = true;\r\n $scope.isCollapsed19 = true;\r\n $scope.isCollapsed20 = true;\r\n $scope.isCollapsed21 = true;\r\n $scope.isCollapsed22 = true;\r\n $scope.isCollapsed23 = true;\r\n $scope.isCollapsed24 = true;\r\n $scope.isCollapsed25 = true;\r\n $scope.isCollapsed26 = true;\r\n $scope.isCollapsed27 = true;\r\n $scope.isCollapsed28 = true;\r\n $scope.isCollapsed29 = true;\r\n $scope.isCollapsed30 = true;\r\n $scope.isCollapsed31 = true;\r\n $scope.isCollapsed32 = true;\r\n $scope.isCollapsed33 = true;\r\n $scope.isCollapsed34 = true;\r\n $scope.isCollapsed35 = true;\r\n $scope.isCollapsed36 = true;\r\n $scope.isCollapsed37 = true;\r\n $scope.isCollapsed38 = true;\r\n $scope.isCollapsed39 = true;\r\n $scope.isCollapsed40 = true;\r\n $scope.isCollapsed41 = true;\r\n $scope.isCollapsed42 = true;\r\n $scope.isCollapsed43 = true;\r\n $scope.isCollapsed49 = true;\r\n\r\n $scope.openAnalysisReport = function (analysisDetails) {\r\n $localStorage.UploadId = analysisDetails.UploadId;\r\n $scope.showAnalysisReport = !$scope.showAnalysisReport;\r\n angular.element('#filter-visible-area').removeClass(\"filter-slider-visible\");\r\n }\r\n $scope.backScreen = function () {\r\n $scope.showAnalysisReport = false;\r\n angular.element('#filter-visible-area').addClass(\"filter-slider-visible\");\r\n }\r\n\r\n vm.techToRunCampaignOn = [];\r\n vm.implementSelectTech = function (itemList, scope) {\r\n scope.selectAllFL = false;\r\n scope.showMinusFL = false;\r\n scope.selectCountFL = 0;\r\n scope.selectRowFL = function (i) {\r\n scope.selectCountFL = 0;\r\n scope.showMinusFL = false;\r\n scope.selectAllFL = false;\r\n angular.forEach(vm.users, function (d) {\r\n if (d.checked) {\r\n vm.techToRunCampaignOn.push(d.UserId);\r\n scope.showMinusFL = true;\r\n scope.selectCountFL++;\r\n }\r\n });\r\n }\r\n scope.applyAllFLSelect = function () {\r\n angular.forEach(scope[itemList], function (d) {\r\n d.checked = scope.selectAllFL;\r\n scope.selectCountFL++;\r\n if (d.checked) {\r\n vm.techToRunCampaignOn.push(d.UserId);\r\n }\r\n });\r\n }\r\n }\r\n\r\n vm.ResetUserSelection = function (scope) {\r\n scope.selectAllFL = false;\r\n scope.showMinusFL = false;\r\n scope.selectCountFL = 0;\r\n }\r\n vm.implementSelectTech('users', this);\r\n $scope.tools = [\r\n { id: 1, name: 'Console Cable' },\r\n { id: 2, name: 'Drill Machine' },\r\n { id: 3, name: 'LAN Cable' },\r\n { id: 4, name: 'USB Converter' },\r\n { id: 5, name: 'Dongle ' },\r\n { id: 6, name: 'Toolkit' },\r\n { id: 7, name: 'Hearing Protection EN 352 2' },\r\n { id: 8, name: 'Safety Shoes CE marked' },\r\n { id: 9, name: 'Full Body Harness EN 361 2002' },\r\n { id: 10, name: 'Laptop' },\r\n ];\r\n $scope.selectedTools = [];\r\n vm.JobSkill = \"\";\r\n vm.ActiveInMonth = \"\";\r\n vm.NoOfJobDone = \"\";\r\n vm.Asset = \"\";\r\n vm.Tools = \"\";\r\n vm.UserRole = \"\";\r\n vm.MatchCriteria = \"\";\r\n vm.TraningCertificate = \"\";\r\n vm.ToolList = \"\";\r\n vm.OneJobDone = false;\r\n vm.SearchTag = \"\";\r\n vm.MatchingSkill = false;\r\n vm.Asset_Bike = false;\r\n vm.Asset_Mobile = false;\r\n vm.Asset_Laptop = false;\r\n vm.IsBasedOnPincode = true;\r\n vm.disableCreateButton = false;\r\n vm.cities = {\r\n chicago: { population: 2714856, position: [41.878113, -87.629798] },\r\n newyork: { population: 8405837, position: [40.714352, -74.005973] },\r\n losangeles: { population: 3857799, position: [34.052234, -118.243684] },\r\n vancouver: { population: 603502, position: [49.25, -123.1] },\r\n }\r\n vm.getRadius = function (num) {\r\n return Math.sqrt(num) * 100;\r\n }\r\n\r\n NgMap.getMap().then(function (map) {\r\n vm.map = map;\r\n });\r\n\r\n\r\n // Cluster Map section start by simran\r\n\r\n vm.showMapWithFreelancers = function () {\r\n const warehouse = {\r\n url: \"../../assets/images/patterns/WH-1.png\"\r\n };\r\n const freelancer = {\r\n url: \"../../assets/images/patterns/FL.png\"\r\n };\r\n const vendor = {\r\n url: \"../../assets/images/patterns/FV.png\"\r\n };\r\n const masterwarehouse = {\r\n url: \"../../assets/images/patterns/WH.png\"\r\n }\r\n vm.dynMarkers = [];\r\n NgMap.getMap().then(function (map) {\r\n for (var i = 0; i < vm.freelancerlist.length; i++) {\r\n vm.techdetails = vm.freelancerlist[i];\r\n if (vm.freelancerlist[i].hasWareHouse == true) {\r\n icons = warehouse\r\n }\r\n else if (vm.freelancerlist[i].MasterWarehouse == true) {\r\n icons = masterwarehouse\r\n }\r\n else if (vm.freelancerlist[i].Role == 'Field Engineer') {\r\n icons = freelancer\r\n }\r\n else if (vm.freelancerlist[i].Role == 'Vendor Manager') {\r\n icons = vendor\r\n }\r\n var latLng = new google.maps.LatLng(vm.freelancerlist[i].CurrentLatitude, vm.freelancerlist[i].CurrentLongitude);\r\n const marker = new google.maps.Marker({ position: latLng, icon: icons });\r\n const contentString = \"

\" + vm.techdetails.Role + \"

\" + vm.techdetails.FirstName + \"\" + vm.techdetails.UserId + \"Skill: \" + vm.techdetails.SkillSet + \"Location: \" + vm.techdetails.Locations + \"Pincode:\" + vm.techdetails.CurrentPinCode + \"
\";\r\n var infowindow = new google.maps.InfoWindow();\r\n marker.addListener(\"click\", function () {\r\n infowindow.setContent(contentString);\r\n infowindow.open(map, marker);\r\n });\r\n vm.dynMarkers.push(marker);\r\n }\r\n if (vm.markerClusterer) {\r\n vm.markerClusterer.addMarkers(vm.dynMarkers);\r\n }\r\n else {\r\n const clusterOptions = {\r\n imagePath: \"https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m\",\r\n gridSize: 60,\r\n zoomOnClick: true,\r\n maxZoom: null,\r\n };\r\n vm.markerClusterer = new MarkerClusterer(map, vm.dynMarkers, clusterOptions);\r\n }\r\n });\r\n }\r\n vm.getRadius = function (num) {\r\n return Math.sqrt(num) * 100;\r\n }\r\n\r\n vm.GetTalentPoolForMap = function () {\r\n if (vm.markerClusterer) {\r\n vm.markerClusterer.clearMarkers();\r\n vm.dynTicketMarkers = [];\r\n }\r\n AllUsersListService.GetTalentPoolForMapView(vm.mapuserFormData, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.freelancerlist = resp.data;\r\n vm.showMapWithFreelancers();\r\n }\r\n });\r\n }\r\n\r\n //--ENd Of Map\r\n\r\n vm.OpenTracking = function (user) { \r\n $state.go('index.PincodeFinder', {\r\n userId : user.UserId,\r\n // lat : user.CurrentLatitude,\r\n // long: user.CurrentLongitude\r\n }, {\r\n reload: true\r\n });\r\n }\r\n // $scope.totalTableUserPool = 0;\r\n // $scope.userPoolTablePerPage = vm.userPoolPageListCount ; \r\n // $scope.UserPoolTablepagination = {\r\n // current: 1\r\n // };\r\n\r\n // vm.changeUserPoolPageListCount = function() { \r\n // $scope.userPoolTablePerPage = vm.userPoolPageListCount;\r\n // UPPageSize = $scope.userPoolTablePerPage;\r\n // $scope.UserPoolTablepageChanged($scope.UserPoolTablepagination.current);\r\n // vm.selectAll = false;\r\n // }\r\n\r\n // PageIndex=$scope.UserPoolTablepagination.current;\r\n // $scope.UserPoolTablepageChanged = function(newPage) { \r\n // UPPageIndex = newPage; \r\n // vm.addFilterforPincodeAnalysis(); \r\n // };\r\n\r\n\r\n\r\n vm.showUserFilter = function () {\r\n vm.IsBasedOnPincode = true;\r\n vm.chkselect = true;\r\n vm.RangeInKm = 0;\r\n vm.JobSkill = \"\";\r\n vm.OneJobDone = false;\r\n vm.MatchingSkill = false;\r\n vm.UserRegistrationStatus = \"\";\r\n vm.TechRole = \"\";\r\n }\r\n\r\n $scope.isActive = false;\r\n $scope.isActive1 = true;\r\n $scope.HideText = function () {\r\n $scope.isActive = true;\r\n $scope.isActive1 = false;\r\n }\r\n $scope.ShowText = function () {\r\n $scope.isActive = false;\r\n $scope.isActive1 = true;\r\n };\r\n\r\n\r\n $scope.isClick = false;\r\n $scope.isClick1 = false;\r\n $scope.isClick2 = false;\r\n $scope.isClick3 = false;\r\n $scope.activeButton = function () {\r\n $scope.isClick = !$scope.isClick;\r\n }\r\n $scope.activeButton1 = function () {\r\n $scope.isClick1 = !$scope.isClick1;\r\n }\r\n $scope.activeButton2 = function () {\r\n $scope.isClick2 = !$scope.isClick2;\r\n }\r\n $scope.activeButton3 = function () {\r\n $scope.isClick3 = !$scope.isClick3;\r\n }\r\n\r\n vm.getFLprofile = function () {\r\n\r\n document.getElementById(\"freelancerProfile\").style.display = \"block \";\r\n }\r\n vm.HideFLprofile = function () {\r\n\r\n document.getElementById(\"freelancerProfile\").style.display = \"none\";\r\n }\r\n\r\n\r\n\r\n $scope.dateRangeChange = function (ev, picker) {\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n vm.getAllJobForExceptionList();\r\n };\r\n\r\n\r\n $scope.class1 = false;\r\n $scope.addRemoveRedClass = function (UploadId) {\r\n $localStorage.UploadId = UploadId;\r\n if ($scope.class1) {\r\n $scope.class1 = false;\r\n } else {\r\n $scope.class1 = true;\r\n }\r\n }\r\n\r\n $scope.slider = {\r\n value: 50,\r\n options: {\r\n floor: 0,\r\n ceil: 100,\r\n step: 1,\r\n minLimit: 10,\r\n maxLimit: 90\r\n }\r\n };\r\n\r\n $scope.myTrigger = \"outsideClick\";\r\n\r\n function getAllStates() {\r\n var defered = $q.defer();\r\n ReferService.getAllState(loggedinUser, token).then(function (resp) {\r\n defered.resolve(resp);\r\n }, function (error) {\r\n defered.reject(error);\r\n });\r\n return defered.promise;\r\n }\r\n\r\n var allStatePromise = getAllStates(loggedinUser);\r\n allStatePromise.then(function (resp) {\r\n vm.StateList = resp.data;\r\n\r\n });\r\n function getallCities(state) {\r\n ReferService.getAllCity(loggedinUser, state, token).then(function (resp) {\r\n vm.CityList = resp.data;\r\n });\r\n }\r\n vm.selectedState = function (state) {\r\n getallCities(state);\r\n }\r\n\r\n vm.analysisModel = function () {\r\n vm.analysisDetails = vm.analysisDetails;\r\n vm.analysisModelOpen = $uibModal.open({\r\n templateUrl: 'analysisModel.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n\r\n vm.campaignModel = function () {\r\n vm.analysisDetails = vm.analysisDetails;\r\n vm.campaignRunModelOpen = $uibModal.open({\r\n templateUrl: 'campaignRunModel.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n\r\n vm.CloseCampaignModel = function () {\r\n vm.campaignRunModelOpen.close();\r\n }\r\n vm.dynamicCampaignModel = function () {\r\n vm.analysisDetails = vm.analysisDetails;\r\n vm.dynamicCampaignModelOpen = $uibModal.open({\r\n templateUrl: 'campaignDynamicModel.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n vm.CloseDynamicCampaignModel = function () {\r\n vm.dynamicCampaignModelOpen.close();\r\n }\r\n\r\n vm.DialerTaskModel = function () {\r\n vm.GetAllOnboardingUser();\r\n vm.dialertaskModelOpen = $uibModal.open({\r\n templateUrl: 'DialerTaskModel.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n vm.CloseDialerTaskModel = function () {\r\n vm.DialerTaskName = \"\";\r\n vm.DialerTaskDescription = \"\";\r\n vm.TaskRelatedTo = \"\";\r\n vm.AssignedTo = \"\";\r\n vm.dialertaskModelOpen.close();\r\n }\r\n\r\n vm.GetAllOnboardingUser = function () {\r\n AllUsersListService.GetAllOnboardingUser(loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.UserByFiltersList = resp.data;\r\n }\r\n }, function () {\r\n });\r\n\r\n }\r\n\r\n vm.CloseAnalysisModel = function () {\r\n vm.analysisModelOpen.close();\r\n vm.DisableCreateButton(false);\r\n vm.AnalysisName = \"\";\r\n if (vm.confirmstatus != 'update') {\r\n vm.AnalysisDescription = \"\";\r\n vm.analysisDetails.AnalysisDescription = \"\";\r\n }\r\n }\r\n\r\n vm.ConfirmAnalysis = function (status, analysisData) {\r\n vm.confirmstatus = status;\r\n vm.analysisDetails = analysisData;\r\n vm.UploadId = vm.analysisDetails.UploadId;\r\n }\r\n\r\n vm.GetUserFeedbackOption = function (toggleNav, userid) {\r\n $scope.toggleNav = !toggleNav;\r\n $scope.activeRow = userid;\r\n vm.userid = userid;\r\n ManualAssignationJobService.GetUserFeedbackOption(loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.userfeedbackList = resp.data;\r\n }\r\n }, function () {\r\n });\r\n }\r\n vm.UserDataUpdateRequest = function (toggleNav, userid) {\r\n $scope.toggleNav = !toggleNav;\r\n vm.feedbackForm.submitted = true;\r\n if (vm.feedbackForm.$valid) {\r\n var data = {\r\n \"MasterReason\": vm.MasterReason,\r\n \"Comments\": vm.Comments,\r\n \"RequestForUserId\": userid,\r\n \"TicketId\": $localStorage.UploadId\r\n }\r\n ManualAssignationJobService.UserDataUpdateRequest(data, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.Comments = \"\";\r\n vm.MasterReason = \"\";\r\n }\r\n }, function () {\r\n });\r\n }\r\n }\r\n vm.closeFeedbackoption = function () {\r\n $scope.toggleNav = true;\r\n vm.Comments = \"\";\r\n vm.MasterReason = \"\";\r\n\r\n }\r\n\r\n vm.GetFeedbackByUserId = function (userid) {\r\n ManualAssignationJobService.GetFeedbackByUserId(loggedinUser, token, userid).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.commentList = resp.data;\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n\r\n vm.callToTechnician = function (userid) {\r\n AllUsersListService.callToTechnicianApi(loggedinUser, userid, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", \"Call Initiated\");\r\n }\r\n else {\r\n vm.showFailure(\"Failure\", resp.data.Message);\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n vm.sortColumn = function (col) {\r\n vm.OrderBy = col;\r\n if (vm.SortType == 'desc') {\r\n vm.SortType = 'asc';\r\n vm.reverseclass = 'fa fa-arrow-up';\r\n } else {\r\n vm.SortType = 'desc';\r\n vm.reverseclass = 'fa fa-arrow-down';\r\n }\r\n vm.AllapplyTalentPoolfilter();\r\n };\r\n\r\n vm.sortClass = function (col) {\r\n if (vm.OrderBy == col) {\r\n if (vm.SortType == 'desc') {\r\n return 'fa fa-arrow-down';\r\n } else {\r\n return 'fa fa-arrow-up';\r\n }\r\n }\r\n else {\r\n return \"\";\r\n }\r\n }\r\n\r\n vm.getAllCertificate = function () {\r\n AllUsersListService.GetAllCertificate(loggedinUser, token, function (data) {\r\n vm.AllCertificateSets = data;\r\n }, vm.showFailure);\r\n }\r\n vm.getAllCertificate();\r\n\r\n vm.getSkills = function () {\r\n AllUsersListService.getSkills(loggedinUser, token, function (skills) {\r\n vm.skills = skills;\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.getSkills();\r\n\r\n vm.GetAllAccounts = function () {\r\n AllUsersListService.GetAllAccountDetails(loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.accountsList = resp.data;\r\n }\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.GetAllAccounts();\r\n\r\n $scope.searchDisabled = true;\r\n\r\n vm.getAllTools = function () {\r\n AllUsersListService.GetAllToolSets(loggedinUser, token, function (data) {\r\n vm.Asset_ToolList = data;\r\n }, vm.showFailure);\r\n }\r\n vm.getAllTools();\r\n\r\n vm.chkselect = true;\r\n\r\n vm.pincodeCheck = function () {\r\n vm.chkselect = !vm.chkselect;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n // vm.dtColumnDefs = [\r\n // DTColumnDefBuilder.newColumnDef(0).notSortable()\r\n // ];\r\n\r\n vm.loaderFlag = false;\r\n vm.hideLoader = function () {\r\n if (vm.loaderFlag) {\r\n $rootScope.$broadcast(\"loader_hide\");\r\n $timeout(function () { vm.loaderFlag = false; }, 1000);\r\n $timeout(vm.hideLoader, 1);\r\n }\r\n }\r\n\r\n vm.scrollDwn = function () {\r\n $(\"html, body\").animate({ scrollTop: $(document).height() - $(window).height() }, 900);\r\n // $location.hash('error_datatable');\r\n // $anchorScroll();\r\n }\r\n vm.dzCallbacks = {\r\n 'addedfile': function (file) {\r\n vm.showErrors = false;\r\n vm.errorList = [];\r\n vm.disableUploadButton = true;\r\n vm.LocationAddressList = [];\r\n\r\n $(\"#dropzone1 .dz-progress .dz-upload\").hide();\r\n $(\".bulkupload-progress\").width(0);\r\n $(\".ajax-loader\").hide();\r\n vm.progressbar.reset();\r\n vm.progressbar.start();\r\n vm.showPassed = false;\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noOfRecords = 0;\r\n\r\n var dropzoneChildren = $(\"#dropzone1\").children();\r\n $(\"#dropzone1\").empty();\r\n $(\"#dropzone1\").append(dropzoneChildren[0]);\r\n $(\"#dropzone1\").append(dropzoneChildren[dropzoneChildren.length - 1]);\r\n\r\n vm.loaderFlag = true;\r\n vm.hideLoader();\r\n vm.file = file;\r\n vm.MediaUploadReqModel = {\r\n \"action\": 'Create',\r\n \"UploadedFileName\": vm.fileName,\r\n \"FileDescription\": vm.fileDescription\r\n }\r\n var fd = new FormData();\r\n fd.append('file', file);\r\n fd.append('MediaUploadReqModel', JSON.stringify(vm.MediaUploadReqModel))\r\n $http.post(ApiURL + '/api/CapacityPlanning/MediaUploadAndCreate', fd, {\r\n transformRequest: angular.identity,\r\n headers: { 'Content-Type': undefined, 'Token': token, 'UserId': loggedinUser },\r\n timeout: vm.canceler.promise\r\n })\r\n .success(function (data) {\r\n $(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n if (vm.bulkuploadType == 'Location') {\r\n vm.LocationAddressList = data.AddressList;\r\n vm.noOfRecords = data.AddressList ? data.AddressList.length : 0;\r\n }\r\n $(\"#dropzone1>div:last-child\").removeClass(\"dz-error\").addClass(\"dz-success\");\r\n if (data.Errors.length > 0) {\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable()\r\n ];\r\n angular.forEach(data.Errors, function (v, k) {\r\n\r\n if (v.ItemErrors.length > 0) {\r\n var e1 = {};\r\n angular.forEach(v.ItemErrors, function (v1, k1) {\r\n e1.message = e1.message != undefined && e1.message != \"undefined\" && e1.message.length > 0 ? e1.message + \",\" + v1.Message : v1.Message;\r\n });\r\n if (v.Row > 0 && data.AddressList && data.AddressList.length > 0 && data.AddressList.length >= v.Row) {\r\n e1.data = data.AddressList[v.Row - 1];\r\n }\r\n vm.errorList.push(e1);\r\n }\r\n });\r\n\r\n vm.showPassed = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Invalid records!\";\r\n vm.successMsg = \"There are \" + vm.errorList.length + \" errors. To see them click here\";\r\n vm.noMsg = [];\r\n vm.showErrors = true;\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n } else if (data.ErrorCode == 103) {\r\n vm.showPassed = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Missing columns in excel file\";\r\n vm.successMsg = \"Following columns are missing in excel file. Please add them and re-upload file\";\r\n vm.noMsg = [];\r\n angular.forEach(data.MissingColumns, function (k, v) {\r\n vm.noMsg.push(k);\r\n });\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n } else if (data.Message && data.Message.length > 0) {\r\n\r\n vm.showPassed = true;\r\n vm.disableUploadButton = true;\r\n vm.successTitle = \"Validation failed\";\r\n vm.successMsg = data.Message\r\n vm.noMsg = [];\r\n angular.forEach(data.MissingColumns, function (k, v) {\r\n vm.noMsg.push(k);\r\n });\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n\r\n } else {\r\n vm.showPassed = true;\r\n vm.disableUploadButton = false;\r\n vm.successTitle = \"File Uploaded\";\r\n vm.successMsg = vm.bulkuploadType.charAt(0).toUpperCase() + vm.bulkuploadType.slice(1) + (vm.noOfRecords > 1 ? \"s\" : \"\") + \" are uploaded successfully. Total \" + vm.noOfRecords + \" \" + vm.bulkuploadType + (vm.noOfRecords > 1 ? \"s\" : \"\") + \" found.\";\r\n $timeout(function () {\r\n vm.CloseModal();\r\n }, 2000);\r\n\r\n // vm.successMsg = \"You have successfully created \"+vm.bulkuploadType+\"s in bulk\";\r\n vm.noMsg = [];\r\n $(\".alert-danger\").removeClass(\"alert-danger\").addClass(\"alert-success\");\r\n }\r\n $(\"table th:first-child\").removeClass(\"sorting_asc\");\r\n vm.progressbar.complete();\r\n })\r\n .error(function (errorMessage) {\r\n $(\"#dropzone1 .dz-error\").removeClass(\"dz-error\");\r\n vm.progressbar.complete();\r\n vm.successTitle = \"Validation of records failed\";\r\n vm.successMsg = \"Error in data validation, please correct the data and re-upload file\";\r\n $(\".alert-success\").removeClass(\"alert-success\").addClass(\"alert-danger\");\r\n });\r\n\r\n },\r\n 'success': function (file, xhr) {\r\n },\r\n 'error': function (file, errorMessage) {\r\n }\r\n };\r\n\r\n vm.addFiles = function () {\r\n $(\"#dropzone1\").trigger(\"click\");\r\n }\r\n\r\n\r\n //list of users\r\n $scope.totalUsers = 0;\r\n $scope.usersPerPage = vm.userPageListCount;\r\n $scope.Userpagination = {\r\n current: 1\r\n };\r\n\r\n //left show page 10 20 30\r\n vm.userchangePageListCount = function () {\r\n $scope.usersPerPage = vm.userPageListCount;\r\n ulPageSize = $scope.usersPerPage;\r\n $scope.UserTablePageChanged($scope.Userpagination.current);\r\n vm.selectAll = false;\r\n ulPageIndex = $scope.Userpagination.current;\r\n $scope.UserTablePageChanged = function (newPage) {\r\n ulPageIndex = newPage;\r\n vm.GetUserDataPagingList(true, $localStorage.UploadId, vm.AnalysisId, vm.AddressId, vm.ListType, vm.SortBy, vm.OrderSequence, ulPageIndex, ulPageSize, loggedinUser, token);\r\n };\r\n }\r\n\r\n ulPageIndex = $scope.Userpagination.current;\r\n $scope.UserTablePageChanged = function (newPage) {\r\n ulPageIndex = newPage;\r\n vm.GetUserDataPagingList(true, $localStorage.UploadId, vm.AnalysisId, vm.AddressId, vm.ListType, vm.SortBy, vm.OrderSequence, ulPageIndex, ulPageSize, loggedinUser, token)\r\n };\r\n\r\n\r\n vm.UWticketDataList = [];\r\n vm.GetUserDataPagingList = function (isCollapsed, UploadId, AnalysisId, AddressId, ListType) {\r\n if (vm.AddressId == AddressId) {\r\n $scope.isCollapsed = !isCollapsed;\r\n }\r\n $scope.showUserTable = AddressId;\r\n vm.UploadId = UploadId;\r\n vm.AnalysisId = AnalysisId;\r\n vm.AddressId = AddressId;\r\n vm.ListType = ListType;\r\n AllUsersListService.GetUserListData(vm.UploadId, vm.AnalysisId, vm.AddressId, vm.ListType, vm.SortBy, vm.OrderSequence, ulPageIndex, ulPageSize, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.UWticketDataList = resp.data.UserModelResList;\r\n $scope.totalUsers = resp.data.RecordCount;\r\n preprocessData(vm.UWticketDataList);\r\n if (vm.UWticketDataList.length < vm.userPageListCount)\r\n vm.userListLength = $scope.totalUsers;\r\n else\r\n vm.userListLength = ulPageIndex * vm.userPageListCount;\r\n if (ulPageIndex == 1)\r\n vm.ulpageindexCount = 1;\r\n else\r\n vm.ulpageindexCount = (((ulPageIndex - 1) * vm.userPageListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n }\r\n\r\n\r\n $scope.TalentPoolTablepageChanged = function (newPage) {\r\n\r\n vm.currentPage = newPage;\r\n\r\n vm.applyfilter(newPage, '');\r\n };\r\n\r\n vm.UserRoleList = [\"Field Engineer\", \"Vendor Manager\", \"VendorTeam\", \"ServiceCenter\", \"IT Engineer\", \"Network Engineer\"];\r\n\r\n vm.applyfilter = function (index, data) {\r\n var userFormData = {};\r\n if (data) {\r\n userFormData = data;\r\n } else {\r\n var temp = [];\r\n var res = vm.Experience.split(\"-\");\r\n var jobscount = vm.Jobscount.split(\"-\");\r\n var ratings = vm.Ratings.split(\"-\");\r\n userFormData = {\r\n \"PageIndex\": index,\r\n \"PageSize\": 20,\r\n \"ActivationStartDate\": startDate,\r\n \"ActivationEnddate\": endDate,\r\n \"State\": vm.PermanentState,\r\n \"Cities\": vm.PermanentCity,\r\n \"Pincodes\": temp,\r\n \"Skill\": vm.addSkill,\r\n \"ExperienceStart\": res[0],\r\n \"ExperienceEnd\": res[1],\r\n \"Certificates\": vm.addTraningCertificateName,\r\n \"IsBikeAvailable\": vm.Asset_Bike,\r\n \"IsMobileAvailable\": vm.Asset_Mobile,\r\n \"IsLaptopAvailable\": vm.Asset_Laptop,\r\n \"Tools\": vm.Asset_Tools,\r\n \"JobCountStart\": jobscount[0],\r\n \"JobCountEnd\": jobscount[1],\r\n \"RatingStart\": Number(ratings[0]),\r\n \"RatingEnd\": Number(ratings[1]),\r\n \"PreferredTalentPool\": false,\r\n \"IsStudent\": vm.Student,\r\n \"IsCriminalVerified\": vm.Criminal,\r\n \"IsBankVarified\": vm.IsBankVerified,\r\n \"IsUPIVarified\": vm.IsUPIVarified,\r\n \"MMFPrimeMember\": $scope.Prime,\r\n \"IsCommittedUser\" :vm.IsCommittedUser,\r\n \"IsCommitmentInterestedUser\" :vm.IsCommitmentInterestedUser,\r\n \"MMFNonPrimeMember\": $scope.NonPrime,\r\n \"IsOpenForInternship\": vm.Intern,\r\n \"IsAdharVerified\": vm.Adharcard,\r\n \"IsPanVerified\": vm.Pancard,\r\n \"Source\": vm.Source,\r\n \"FreelancerRole\": vm.freelancerRole,\r\n \"UserStatus\": vm.UserStatus,\r\n \"PssStatus\": vm.PssStatus,\r\n \"OneJobDoneForSkills\": vm.OneJobDone,\r\n \"ReportingTo\": vm.ReportingTo,\r\n \"OrderBy\": vm.OrderBy,\r\n \"SortType\": vm.SortType,\r\n \"UserVerificationStatus\": vm.UserVerificationStatus,\r\n \"IsFreelancerBidCount\": vm.IsFreelancerBidCount,\r\n \"IsFixedTeamCount\" : vm.IsFixedTeamCount,\r\n \"ContactNumber\": vm.ContactNumber,\r\n \"UserName\": vm.UserName,\r\n \"UserId\": vm.UserId,\r\n \"BrandName\": vm.ServiceBrand,\r\n \"ProductServing\": vm.ServiceProduct,\r\n \"SearchTag\": vm.SearchTag,\r\n \"IsAuthorizedServiceCenterCount\" :vm.IsAuthorizedServiceCenter,\r\n \"TaskId\": vm.TaskId\r\n }\r\n if (vm.adddaterange) {\r\n userFormData.ActivationStartDate = startDate;\r\n userFormData.ActivationEnddate = endDate;\r\n }\r\n }\r\n\r\n $localStorage.FilterData = userFormData;\r\n AllUsersListService.Filter(loggedinUser, token, userFormData).then(function (resp) {\r\n if (resp.data) {\r\n vm.users = [];\r\n vm.Bluserlist = [];\r\n vm.usersCounts = resp.data;\r\n vm.users = resp.data.Users;\r\n\r\n for (var i = 0; i < vm.users.length; i++) {\r\n if (vm.users[i].CustomerRating) {\r\n vm.users[i].CustomerRating = Number(vm.users[i].CustomerRating).toFixed(1);\r\n }\r\n }\r\n\r\n vm.totalTalentPoolCount = resp.data.Count;\r\n $scope.totalUsers = resp.data.Count;\r\n $scope.totalTableUsers = resp.data.Count;\r\n\r\n if (vm.users.length < 20)\r\n vm.usersLength = $scope.totalUsers;\r\n else\r\n vm.usersLength = index * 20;\r\n if (index == 1)\r\n vm.techpageindexCount = 1;\r\n else\r\n vm.techpageindexCount = (((index - 1) * 20) + 1);\r\n\r\n if (vm.users.length > 0) {\r\n for (var i = 0; i < vm.users.length; i++) {\r\n if (vm.users[i].BlockedByAccounts) {\r\n if (vm.users[i].BlockedByAccounts.length > 0) {\r\n for (var j = 0; j < vm.users[i].BlockedByAccounts.length; j++) {\r\n if (vm.users[i].BlockedByAccounts[j] == AccountID) {\r\n vm.Bluserlist.push(vm.users[i]);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n }\r\n }\r\n // return vm.users;\r\n })\r\n\r\n }\r\n\r\n\r\n vm.TechnicianclearFilter = function () {\r\n vm.UserName = \"\";\r\n vm.UserId = \"\";\r\n vm.ContactNumber = \"\";\r\n vm.Source = \"\";\r\n vm.Adharcard = \"\";\r\n vm.Pancard = \"\";\r\n $scope.Prime = false;\r\n $scope.NonPrime = false;\r\n vm.IsCommittedUser = false;\r\n vm.IsCommitmentInterestedUser = false;\r\n vm.PssStatus = \"\";\r\n vm.IsBankVerified = \"\";\r\n vm.PreferredForAccounts = \"\";\r\n vm.PssStatus = \"\";\r\n vm.Criminal = \"\";\r\n vm.PermanentState = \"\";\r\n vm.PermanentCity = \"\";\r\n vm.pincode = \"\";\r\n vm.Experience = \"\";\r\n vm.traningCertificateList = \"\";\r\n vm.freelancerRoleList = \"\";\r\n vm.freelancerRole = \"\";\r\n vm.Asset_Laptop = \"\";\r\n vm.Asset_Mobile = \"\";\r\n vm.Asset_Bike = \"\";\r\n vm.Asset_Tools = \"\";\r\n vm.Jobscount = \"\";\r\n vm.Ratings = \"\";\r\n vm.CurrentState = \"\";\r\n vm.UserStatus = \"\";\r\n vm.userskill = [];\r\n vm.userskill = \"\";\r\n vm.OneJobDone = false;\r\n vm.SearchTag = \"\";\r\n vm.ServiceBrand = \"\";\r\n vm.ReportingTo = \"\";\r\n vm.ServiceProduct = \"\";\r\n vm.ReportingTo = \"\";\r\n vm.TaskId = \"\";\r\n startDate = moment().subtract(30, 'days').format(\"YYYY-MM-DD\");\r\n endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.AllapplyTalentPoolfilter();\r\n }\r\n\r\n\r\n var startDate = moment().subtract(30, 'days').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n vm.ticketdates = { startDate: moment().subtract(30, 'days'), endDate: moment() };\r\n vm.ticketranges = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n 'Till now': [moment(vm.Technicianstartingdate), moment(endDate)],\r\n };\r\n vm.outsidedateRangeChange = function (ev, picker) {\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n };\r\n\r\n\r\n vm.pfuserlist = [];\r\n\r\n vm.filterApplied = false;\r\n\r\n\r\n vm.getAllUsersByStage = function (stage) {\r\n vm.UserVerificationStatus = stage;\r\n vm.IsAuthorizedServiceCenter = false;\r\n vm.freelancerRole = \"\";\r\n vm.IsCommittedUser = false;\r\n vm.IsCommitmentInterestedUser = false;\r\n vm.UserStatus = \"\";\r\n vm.PssStatus = \"\";\r\n $scope.Prime = false;\r\n $scope.NonPrime = false;\r\n vm.OneJobDone = false;\r\n vm.Criminal = false;\r\n vm.IsFreelancerBidCount = false;\r\n // vm.TaskId = \"\";\r\n vm.IsFixedTeamCount = false;\r\n vm.AllapplyTalentPoolfilter();\r\n\r\n }\r\n\r\n vm.getAllUsersByRole = function (role) {\r\n vm.UserVerificationStatus = \"\";\r\n vm.IsCommittedUser = false;\r\n vm.IsCommitmentInterestedUser = false;\r\n if (role == 'Active') {\r\n vm.UserStatus = role;\r\n vm.freelancerRole = \"\";\r\n }\r\n else if (role == 'Inactive') {\r\n vm.UserStatus = role;\r\n vm.freelancerRole = \"\";\r\n }\r\n else if (role == 'Invite') {\r\n vm.UserStatus = role;\r\n vm.freelancerRole = \"\";\r\n }\r\n else if (role == 'Blocked') {\r\n vm.UserStatus = role;\r\n vm.freelancerRole = \"\";\r\n }\r\n else if (role == '') {\r\n vm.UserStatus = role;\r\n vm.freelancerRole = \"\";\r\n }\r\n else {\r\n vm.freelancerRole = role;\r\n vm.UserStatus = \"Active\";\r\n }\r\n $scope.Prime = false;\r\n $scope.NonPrime = false;\r\n vm.PssStatus = \"\";\r\n vm.OneJobDone = false;\r\n vm.Criminal = false;\r\n vm.IsFreelancerBidCount = false;\r\n // vm.TaskId = \"\";\r\n vm.IsFixedTeamCount = false;\r\n vm.IsAuthorizedServiceCenter = false;\r\n vm.AllapplyTalentPoolfilter();\r\n }\r\n\r\n vm.getAllOneJobDone = function () {\r\n $scope.Prime = false;\r\n $scope.NonPrime = false;\r\n vm.Criminal = false;\r\n vm.IsFixedTeamCount = false;\r\n vm.IsFreelancerBidCount = false;\r\n vm.PssStatus = \"\";\r\n // vm.TaskId = \"\";\r\n vm.UserVerificationStatus = \"\";\r\n vm.IsAuthorizedServiceCenter = false;\r\n vm.IsCommittedUser = false;\r\n vm.IsCommitmentInterestedUser = false;\r\n vm.freelancerRole = \"\";\r\n vm.UserStatus = \"\";\r\n vm.OneJobDone = true;\r\n vm.AllapplyTalentPoolfilter();\r\n }\r\n\r\n vm.getAllFixedTeam = function () {\r\n $scope.Prime = false;\r\n $scope.NonPrime = false;\r\n vm.Criminal = false;\r\n vm.IsFixedTeamCount = true;\r\n vm.IsFreelancerBidCount = false;\r\n vm.PssStatus = \"\";\r\n vm.UserVerificationStatus = \"\";\r\n vm.IsAuthorizedServiceCenter = false;\r\n vm.IsCommittedUser = false;\r\n vm.IsCommitmentInterestedUser = false;\r\n vm.freelancerRole = \"\";\r\n vm.UserStatus = \"\";\r\n vm.OneJobDone = false;\r\n vm.AllapplyTalentPoolfilter();\r\n }\r\n\r\n vm.getAllLeadStarted = function () {\r\n $scope.Prime = false;\r\n $scope.NonPrime = false;\r\n vm.Criminal = false;\r\n vm.IsFreelancerBidCount = true;\r\n vm.IsFixedTeamCount = false;\r\n vm.UserVerificationStatus = \"\";\r\n vm.IsAuthorizedServiceCenter = false;\r\n vm.IsCommittedUser = false;\r\n vm.IsCommitmentInterestedUser = false;\r\n vm.freelancerRole = \"\";\r\n vm.PssStatus = \"\";\r\n vm.UserStatus = \"\";\r\n vm.OneJobDone = false;\r\n vm.AllapplyTalentPoolfilter();\r\n }\r\n\r\n vm.getCountByPssValue = function (pss) {\r\n $scope.Prime = false;\r\n $scope.NonPrime = false;\r\n vm.PssStatus = pss;\r\n vm.Criminal = false;\r\n vm.IsFreelancerBidCount = false;\r\n vm.IsFixedTeamCount = false;\r\n vm.UserVerificationStatus = \"\";\r\n vm.IsCommittedUser = false;\r\n vm.IsCommitmentInterestedUser = false;\r\n vm.freelancerRole = \"\";\r\n vm.UserStatus = \"\";\r\n vm.OneJobDone = false;\r\n vm.IsAuthorizedServiceCenter = false;\r\n vm.AllapplyTalentPoolfilter();\r\n }\r\n vm.authorizeDetail = function (role){\r\n if (role == 'Active') {\r\n vm.UserStatus = role;\r\n \r\n }\r\n else if (role == 'Inactive') {\r\n vm.UserStatus = role;\r\n \r\n }\r\n else if (role == '') {\r\n vm.UserStatus = role;\r\n \r\n }\r\n // vm.UserStatus = \"\";\r\n $scope.Prime = false;\r\n $scope.NonPrime = false;\r\n vm.Criminal = false;\r\n vm.IsFreelancerBidCount = false;\r\n vm.IsFixedTeamCount = false;\r\n vm.UserVerificationStatus = \"\";\r\n vm.IsCommittedUser = false;\r\n vm.IsCommitmentInterestedUser = false;\r\n vm.freelancerRole = \"\";\r\n vm.OneJobDone = false;\r\n vm.IsAuthorizedServiceCenter = true;\r\n vm.AllapplyTalentPoolfilter();\r\n }\r\n\r\n vm.committedDetail = function (committedvalue){\r\n if(committedvalue == true){\r\n vm.IsCommittedUser = true;\r\n vm.IsCommitmentInterestedUser = false;\r\n }\r\n else if(committedvalue == false){\r\n vm.IsCommittedUser = false;\r\n vm.IsCommitmentInterestedUser = true;\r\n }\r\n vm.PssStatus = \"\";\r\n $scope.Prime = false;\r\n $scope.NonPrime = false;\r\n vm.OneJobDone = false;\r\n vm.IsFreelancerBidCount = false;\r\n vm.IsFixedTeamCount = false;\r\n vm.Criminal = false;\r\n vm.UserVerificationStatus = \"\";\r\n vm.IsAuthorizedServiceCenter = false;\r\n vm.freelancerRole = \"\";\r\n vm.UserStatus = \"\";\r\n vm.AllapplyTalentPoolfilter();\r\n }\r\n\r\n vm.getAllCriminalFlag = function (criminalValue) {\r\n vm.PssStatus = \"\";\r\n $scope.Prime = false;\r\n $scope.NonPrime = false;\r\n vm.OneJobDone = false;\r\n vm.IsFreelancerBidCount = false;\r\n vm.IsFixedTeamCount = false;\r\n vm.Criminal = criminalValue;\r\n vm.UserVerificationStatus = \"\";\r\n vm.IsAuthorizedServiceCenter = false;\r\n vm.IsCommittedUser = false;\r\n vm.IsCommitmentInterestedUser = false;\r\n vm.freelancerRole = \"\";\r\n vm.UserStatus = \"\";\r\n vm.AllapplyTalentPoolfilter();\r\n\r\n }\r\n vm.getAllPrimeFlag = function (primeValue) {\r\n if (primeValue == true) {\r\n $scope.Prime = true;\r\n $scope.NonPrime = false;\r\n } else if (primeValue == false) {\r\n $scope.NonPrime = true;\r\n $scope.Prime = false;\r\n }\r\n vm.Criminal = false;\r\n vm.IsFreelancerBidCount = false;\r\n vm.IsFixedTeamCount = false;\r\n vm.UserVerificationStatus = \"\";\r\n vm.IsCommittedUser = false;\r\n vm.IsCommitmentInterestedUser = false;\r\n vm.freelancerRole = \"\";\r\n vm.UserStatus = \"\";\r\n vm.PssStatus = \"\";\r\n vm.IsAuthorizedServiceCenter = false;\r\n vm.OneJobDone = false;\r\n vm.AllapplyTalentPoolfilter();\r\n\r\n }\r\n\r\n\r\n vm.AllapplyTalentPoolfilter = function (filterApplied) {\r\n vm.filterApplied = filterApplied;\r\n $scope.Ticket = 1;\r\n if (vm.markerClusterer) {\r\n vm.markerClusterer.clearMarkers();\r\n vm.dynTicketMarkers = [];\r\n }\r\n vm.ticketPoolList = [];\r\n $scope.dates = { startDate: startDate, endDate: endDate };\r\n vm.adddaterange = true;\r\n $scope.UserTablepagination.current = 1;\r\n var temp = [];\r\n var tuPageIndex = \"\";\r\n var res = vm.Experience.split(\"-\");\r\n var jobscount = vm.Jobscount.split(\"-\");\r\n var ratings = vm.Ratings.split(\"-\");\r\n tuPageIndex = 1;\r\n // vm.freelancerRoleList = \"\";\r\n // if(vm.freelancerRole) \r\n // {\r\n // vm.freelancerRoleList = vm.freelancerRole.join('|');\r\n // }\r\n vm.traningCertificateList = \"\";\r\n if (vm.TraningCertificate) {\r\n vm.traningCertificateList = vm.TraningCertificate.join('|');\r\n }\r\n // if(vm.UserStatus != \"Active\"){\r\n // startDate = \"\";\r\n // endDate = \"\";\r\n // } \r\n // else{\r\n // startDate = startDate;\r\n // endDate = endDate;\r\n // }\r\n\r\n if(vm.PreferredForAccounts){\r\n startDate = \"\";\r\n endDate = \"\";\r\n }\r\n\r\n var temp = [];\r\n for(var i=0;i 0) {\r\n for (var i = 0; i < vm.users.length; i++) {\r\n if (vm.users[i].FavoriteForAccounts) {\r\n if (vm.users[i].FavoriteForAccounts.length > 0) {\r\n for (var j = 0; j < vm.users[i].FavoriteForAccounts.length; j++) {\r\n if (vm.users[i].FavoriteForAccounts[j] == AccountID) {\r\n vm.pfuserlist.push(vm.users[i]);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n $timeout(function () {\r\n $scope.class1 = false;\r\n }, 250);\r\n }\r\n })\r\n vm.UserCountbyFilter();\r\n }\r\n\r\n vm.ExternalUpload = function (teamid) {\r\n var newdata = {};\r\n newdata = {\r\n \"UserId\": teamid,\r\n \"Type\": \"\",\r\n \"skillName\": \"\"\r\n }\r\n AllUsersListService.UploadExternalVideoList(newdata, loggedinUser, token).then(function (resp) {\r\n vm.UploadVideoExternal = resp.data;\r\n });\r\n }\r\n\r\n vm.UserCountbyFilter = function () {\r\n AllUsersListService.UserCountbyFilter(loggedinUser, token, vm.userFormData).then(function (resp) {\r\n if (resp.data) {\r\n vm.TotalUsersCount = resp.data.Count;\r\n vm.BasicInformation = resp.data.BasicInformation;\r\n vm.TotalInvitedUserCount = resp.data.TotalInvitedUserCount;\r\n vm.LocationAndSkill = resp.data.LocationAndSkill;\r\n vm.Backgroundverified = resp.data.Backgroundverified;\r\n vm.Paymentverified = resp.data.Paymentverified;\r\n vm.PoliceVerified = resp.data.PoliceVerified;\r\n vm.CriminalVerified = resp.data.CriminalVerified;\r\n vm.TotalActiveFrUsersCount = resp.data.TotalActiveFrUsersCount;\r\n vm.TotalActiveFVUsersCount = resp.data.TotalActiveFVUsersCount;\r\n vm.TotalActiveFVTUsersCount = resp.data.TotalActiveFVTUsersCount;\r\n vm.FixedTeamCount = resp.data.FixedTeamCount;\r\n vm.PrimeMember = resp.data.PrimeMember;\r\n vm.NonPrimeMember = resp.data.NonPrimeMember;\r\n vm.TotalActiveUsersCount = resp.data.TotalActiveUsersCount;\r\n vm.Count = resp.data.Count;\r\n vm.TotalRegisterUser = resp.data.TotalRegisterUser;\r\n vm.TotalFreelancerBidCount = resp.data.TotalFreelancerBidCount;\r\n vm.OneJobDoneCount = resp.data.OneJobDoneCount;\r\n vm.NonPrimeMoreThanTenCount = resp.data.NonPrimeMoreThanTenCount;\r\n vm.LeadReceivedUserCount = resp.data.LeadReceivedUserCount;\r\n vm.LeadNotReceivedUserCount = resp.data.LeadNotReceivedUserCount;\r\n vm.LeadAcceptedUserCount = resp.data.LeadAcceptedUserCount;\r\n vm.LeadNotAcceptedUserCount = resp.data.LeadNotAcceptedUserCount;\r\n vm.JobRejectionBreachedCount = resp.data.JobRejectionBreachedCount;\r\n vm.JobRejectionMetCount = resp.data.JobRejectionMetCount;\r\n vm.SOPAdherenceBreachedCount = resp.data.SOPAdherenceBreachedCount;\r\n vm.SOPAdherenceMetCount = resp.data.SOPAdherenceMetCount;\r\n vm.AuthorizedServiceParnterDetailCount = resp.data.AuthorizedServiceParnterDetailCount;\r\n vm.AuthorizedServiceParnterDetailCountActive = resp.data.AuthorizedServiceParnterDetailCountActive;\r\n vm.AuthorizedServiceParnterDetailCountInActive = resp.data.AuthorizedServiceParnterDetailCountInActive;\r\n vm.CommitmentInterestedUserCount = resp.data.CommitmentInterestedUserCount;\r\n vm.CommittedUserCount = resp.data.CommittedUserCount\r\n vm.TotalBlockedUsersCount = resp.data.TotalBlockedUsersCount\r\n }\r\n })\r\n }\r\n vm.AllapplyTalentPoolfilter();\r\n\r\n vm.userOnboardingForm = function (UserId) {\r\n $localStorage.From = \"\";\r\n // if(vm.Role == 'Administrator'){\r\n // $state.go('index.NewOnboarding',{\r\n // UserId: UserId\r\n // }, { reload: true });\r\n // }\r\n // else{\r\n \r\n $state.go('index.RegistrationForm', {\r\n UserId: UserId\r\n }, {\r\n reload: true\r\n });\r\n // }\r\n }\r\n\r\n vm.DisableCreateButton = function (disable) {\r\n if (disable) {\r\n vm.disableCreateButton = true;\r\n }\r\n else {\r\n vm.disableCreateButton = false;\r\n }\r\n }\r\n\r\n //user wise with pagination\r\n $scope.totalUW = 0;\r\n $scope.UWPerPage = vm.UWListCount;\r\n $scope.UWpagination = {\r\n current: 1\r\n };\r\n\r\n //left show page 10 20 30\r\n vm.changeUWPageListCount = function () {\r\n $scope.UWPerPage = vm.UWListCount;\r\n uwPageSize = $scope.UWPerPage;\r\n $scope.UWTablePageChanged($scope.UWpagination.current);\r\n vm.selectAll = false;\r\n uwPageIndex = $scope.UWpagination.current;\r\n $scope.UWTablePageChanged = function (newPage) {\r\n uwPageIndex = newPage;\r\n vm.GetUserDataList(loggedinUser, token, vm.UploadId, vm.AnalysisId, vm.Orderby, vm.OrderSequence, uwPageIndex, uwPageSize);\r\n };\r\n }\r\n\r\n uwPageIndex = $scope.UWpagination.current;\r\n $scope.UWTablePageChanged = function (newPage) {\r\n uwPageIndex = newPage;\r\n vm.GetUserDataList(loggedinUser, token, vm.UploadId, vm.AnalysisId, vm.Orderby, vm.OrderSequence, uwPageIndex, uwPageSize);\r\n };\r\n\r\n vm.analysisUserList = [];\r\n vm.GetUserDataList = function (loggedinUser, token, UploadId, AnalysisId, userType, OrderSequence, uwPageIndex, uwPageSize) {\r\n AllUsersListService.GetUserData(loggedinUser, token, UploadId, AnalysisId, vm.Orderby, vm.OrderSequence, uwPageIndex, uwPageSize).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.analysisUserList = resp.data.UserAnalysisResModelList;\r\n $scope.totalUW = resp.data.TotalRecords;\r\n preprocessData(vm.analysisUserList);\r\n if (vm.analysisUserList.length < vm.UWListCount)\r\n vm.analysisListUWLength = $scope.totalUW;\r\n else\r\n vm.analysisListUWLength = uwPageIndex * vm.UWListCount;\r\n if (uwPageIndex == 1)\r\n vm.uwpageindexCount = 1;\r\n else\r\n vm.uwpageindexCount = (((uwPageIndex - 1) * vm.UWListCount) + 1);\r\n }\r\n }, function (error) {\r\n })\r\n }\r\n\r\n\r\n //list of userwise\r\n $scope.totalUWtickets = 0;\r\n $scope.UWticketsPerPage = vm.UWticketsListCount;\r\n $scope.UWticketspagination = {\r\n current: 1\r\n };\r\n\r\n //left show page 10 20 30\r\n vm.UWticketsPageListCount = function () {\r\n $scope.UWticketsPerPage = vm.UWticketsListCount;\r\n uwtPageSize = $scope.UWticketsPerPage;\r\n $scope.UWTicketTablePageChanged($scope.UWticketspagination.current);\r\n vm.selectAll = false;\r\n uwtPageIndex = $scope.UWticketspagination.current;\r\n $scope.UWTicketTablePageChanged = function (newPage) {\r\n uwtPageIndex = newPage;\r\n vm.GetUserUWDataPagingList(true, $localStorage.UploadId, vm.AnalysisId, vm.UserId, vm.ListType, vm.SortBy, vm.OrderSequence, uwtPageIndex, uwtPageSize, loggedinUser, token);\r\n };\r\n }\r\n\r\n uwtPageIndex = $scope.UWticketspagination.current;\r\n $scope.UWTicketTablePageChanged = function (newPage) {\r\n uwtPageIndex = newPage;\r\n vm.GetUserUWDataPagingList(true, $localStorage.UploadId, vm.AnalysisId, vm.UserId, vm.ListType, vm.SortBy, vm.OrderSequence, uwtPageIndex, uwtPageSize, loggedinUser, token)\r\n };\r\n\r\n\r\n vm.UWTicketList = [];\r\n vm.GetUserUWDataPagingList = function (isCollapsed, UploadId, AnalysisId, UserId, ListType) {\r\n if (vm.UserId == UserId) {\r\n $scope.isCollapsed = !isCollapsed;\r\n }\r\n $scope.showAddressTable = UserId;\r\n vm.UploadId = UploadId;\r\n vm.AnalysisId = AnalysisId;\r\n vm.UserId = UserId;\r\n vm.ListType = ListType;\r\n AllUsersListService.GetAddressListForUserOnPaging($localStorage.UploadId, $localStorage.AnalysisId, vm.UserId, vm.ListType, vm.SortBy, vm.OrderSequence, uwtPageIndex, uwtPageSize, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.UWTicketList = resp.data.AddressModelResList;\r\n $scope.totalUWtickets = resp.data.RecordCount;\r\n if (vm.UWTicketList.length < vm.UWticketsListCount)\r\n vm.UWTicketListLength = $scope.totalUWtickets;\r\n else\r\n vm.UWTicketListLength = uwtPageIndex * vm.UWticketsListCount;\r\n if (uwtPageIndex == 1)\r\n vm.uwtPageIndexCount = 1;\r\n else\r\n vm.uwtPageIndexCount = (((uwtPageIndex - 1) * vm.UWticketsListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n }\r\n\r\n vm.RunCampaignOnUsers = function () {\r\n vm.campaign_form.submitted = true;\r\n vm.userFormData.CampaignName = vm.CampaignName;\r\n if (vm.campaign_form.$valid) {\r\n AllUsersListService.RunCampaignOnUsers(vm.userFormData, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.CloseCampaignModel();\r\n }\r\n })\r\n }\r\n }\r\n\r\n \r\n vm.CreateAutoDailerTaskManually = function () {\r\n if(vm.TaskRelatedTo == 'others'){\r\n vm.TaskRelatedToField = vm.othercomments;\r\n }\r\n else{\r\n vm.TaskRelatedToField = vm.TaskRelatedTo;\r\n }\r\n vm.dialertask_form.submitted = true;\r\n vm.userFormData.DialerTaskName = vm.DialerTaskName;\r\n vm.userFormData.TaskDescription = vm.DialerTaskDescription;\r\n vm.userFormData.TaskRelatedTo = vm.TaskRelatedToField;\r\n vm.userFormData.TaskForUser = vm.AssignedTo;\r\n if (vm.dialertask_form.$valid) {\r\n AllUsersListService.CreateAutoDailerTaskManually(vm.userFormData, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.CloseDialerTaskModel();\r\n }\r\n else{\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n })\r\n }\r\n }\r\n\r\n vm.campaignSkill = null;\r\n vm.campaignLocation = null;\r\n vm.campaignTools = null;\r\n vm.campaignLink = null;\r\n\r\n vm.DynamicRunCampaignOnUsers = function () {\r\n vm.campaign_form.submitted = true;\r\n vm.userFormData.CampaignName = vm.CampaignName;\r\n vm.userFormData.CampaignParameters = [];\r\n vm.userFormData.CampaignParameters.push(vm.campaignSkill);\r\n vm.userFormData.CampaignParameters.push(vm.campaignLocation);\r\n vm.userFormData.CampaignParameters.push(vm.campaignTools);\r\n vm.userFormData.CampaignParameters.push(vm.campaignLink);\r\n if (vm.campaign_form.$valid) {\r\n AllUsersListService.RunCampaignOnUsers(vm.userFormData, loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n vm.CloseDynamicCampaignModel();\r\n }\r\n })\r\n }\r\n }\r\n\r\n // 360 profile\r\n vm.GetAllCampaignName = function () {\r\n AllUsersListService.GetAllCampaignName(loggedinUser, token).then(function (resp) {\r\n vm.campaignNameList = resp.data;\r\n })\r\n }\r\n\r\n vm.GetAllGenericCampaignName = function () {\r\n AllUsersListService.GetAllGenericCampaignName(loggedinUser, token).then(function (resp) {\r\n vm.genericCampaignNameList = resp.data;\r\n })\r\n }\r\n\r\n\r\n vm.GetFinanceTicketDetail = function (paymentId, isCollapsed) {\r\n $scope.isCollapsed = !isCollapsed;\r\n DashboardService.GetFinanceTicketDetail(paymentId).then(function (resp) {\r\n vm.financedetails = resp.data;\r\n })\r\n }\r\n\r\n vm.GetLastFollowUpOnTicketId = function (teamid) {\r\n vm.userId = teamid;\r\n vm.FollowupListArr = [];\r\n DashboardService.GetLastFollowUpOnTicketId(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.followupdata = resp.data;\r\n angular.forEach(vm.followupdata, function (fdetail, i) {\r\n if (fdetail != null) {\r\n angular.forEach(vm.followupdata[i].FollowUpOnTicket, function (fdetail, i) {\r\n vm.FollowupList = fdetail.FollowUpOnTicket;\r\n vm.FollowupListArr.push(fdetail);\r\n })\r\n\r\n }\r\n })\r\n })\r\n }\r\n\r\n vm.ReTestForSkill = function (skill) {\r\n var data = {};\r\n data = {\r\n \"UserId\": vm.userId,\r\n \"Skill\": skill\r\n }\r\n OnBoardingFlowService.ReTestForSkill(data, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n });\r\n }\r\n\r\n\r\n vm.Open360ForActiveUsers = function(teamid){\r\n if(vm.Role != 'Dispatch Head' && vm.Role != 'Dispatch Team Lead' && vm.Role != 'Dispatch Manager' && vm.Role != 'Dispatch Supervisor' && vm.Role != 'Higher Management' && vm.Role != 'Community Manager'){\r\n vm.Get360TeamProfileData(teamid);\r\n }\r\n else if(vm.Role == 'Dispatch Head' || vm.Role == 'Dispatch Team Lead' || vm.Role == 'Dispatch Manager' || vm.Role == 'Dispatch Supervisor' || vm.Role == 'Higher Management' || vm.Role == 'Community Manager'){\r\n $state.go('index.Technician360view',{\r\n userId: teamid\r\n }, { reload: true });\r\n }\r\n }\r\n\r\n vm.getPicUrl = function (pic) {\r\n\t\t\treturn ImageUrl + \"/\" + pic;\r\n\t\t}\r\n \r\n vm.Open360ForITUsers = function(teamid){\r\n $state.go('index.ITEngineer',{\r\n UserId: teamid\r\n }, { reload: true });\r\n \r\n }\r\n\r\n vm.savecampaignlistname = function () {\r\n vm.savelistcampaignRunModelOpen = $uibModal.open({\r\n templateUrl: 'savecampaignlistnameModel.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n });\r\n }\r\n vm.CampaignListName = \"\";\r\n vm.CloseSaveCampaignlistname = function () {\r\n vm.CampaignListName = \"\";\r\n vm.savelistcampaignRunModelOpen.close();\r\n }\r\n\r\n vm.Get360TeamProfileData = function (teamid) {\r\n vm.userId = teamid;\r\n DashboardService.Get360ProfileData(loggedinUser, teamid, token).then(function (resp) {\r\n if (resp.data) {\r\n $scope.userClass_status = false;\r\n $scope.myvalue = true;\r\n }\r\n vm.teamdata = resp.data;\r\n vm.AvgRating = vm.teamdata.userProfile.AverageRating;\r\n vm.ReviewsList = vm.teamdata.userProfile.Reviews\r\n vm.teamdata.ratingStars = vm.getRatingStars(Math.round(vm.teamdata.userProfile.Ratings.TechnicianRating));\r\n vm.teamdata.blankStars = vm.getBlankStars(Math.round(vm.teamdata.userProfile.Ratings.TechnicianRating));\r\n vm.teamdata.avgratingStars = vm.getAvgRatingStars(Math.round(vm.teamdata.userProfile.AverageRating.AverageRating));\r\n vm.teamdata.avgblankStars = vm.getAvgBlankStars(Math.round(vm.teamdata.userProfile.AverageRating.AverageRating));\r\n // if (vm.teamdata.userProfile.ContactNumber) {\r\n // vm.teamdata.userProfile.ContactNumber = vm.teamdata.userProfile.ContactNumber.replace(/\\d(?=\\d{4})/g, '*');\r\n // }\r\n\r\n if (vm.teamdata.userProfile.Reviews) {\r\n vm.teamdata.userProfile.Reviews.forEach(function (element, i) {\r\n vm.teamdata.userratingStars = vm.getUserRatingStars(Math.round(vm.teamdata.userProfile.Reviews[i].Average));\r\n vm.teamdata.userblankStars = vm.getUserBlankStars(Math.round(vm.teamdata.userProfile.Reviews[i].Average));\r\n element.arrayRating = vm.teamdata.userratingStars;\r\n element.blankRating = vm.teamdata.userblankStars;\r\n });\r\n }\r\n\r\n vm.TechnicianRating = Number(vm.teamdata.userProfile.Ratings.TechnicianRating).toFixed(1);\r\n $timeout(function () {\r\n displayTotals();\r\n }, 300);\r\n }, function () {\r\n })\r\n }\r\n\r\n vm.filterStatusForJObs = function (status) {\r\n vm.JobcountbyStatus = status;\r\n vm.wsersFilterArray();\r\n PageIndex = 1;\r\n vm.Get360WorkSummary(loggedinUser, token, vm.userId, witemNames, witemValues, uPageIndex, uPageSize, wsSDate, wsEDate, vm.OrderBy, vm.sorttype);\r\n }\r\n\r\n\r\n vm.Get360AuthorizedDetail = function () {\r\n DashboardService.GetAuthorizedServicePartnerDetail(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.authorizeDetail = resp.data;\r\n })\r\n }\r\n\r\n vm.brandList = [\"LG\", \"Samsung\", \"Havells & lloyds\", \"Hitachi\", \"Panasonic\", \"O general\", \"Daikin\", \"Micromax\", \"Bluestar\", \"Toshiba\", \"Glen\", \"Lifelong\", \"Whirlpool\", \"IFB\", \"Philips\", \"Godrej\", \"Bajaj\"];\r\n\r\n vm.productList = [\"Aircon\", \"Air cooler\", \"Home Appliances\", \"IT\", \"AC\", \"Multi product\", \"RO\", \"Printer\"];\r\n\r\n vm.getRatingStars = function (rating) {\r\n var stars = [];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.push(i);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n vm.getBlankStars = function (rating) {\r\n var stars = [1, 2, 3, 4, 5];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.splice(stars.indexOf(i), 1);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n vm.getAvgRatingStars = function (rating) {\r\n var stars = [];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.push(i);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n vm.getAvgBlankStars = function (rating) {\r\n var stars = [1, 2, 3, 4, 5];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.splice(stars.indexOf(i), 1);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n vm.getUserRatingStars = function (rating) {\r\n var stars = [];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.push(i);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n vm.getUserBlankStars = function (rating) {\r\n var stars = [1, 2, 3, 4, 5];\r\n if (rating) {\r\n for (var i = 0; i < rating; i++) {\r\n stars.splice(stars.indexOf(i), 1);\r\n }\r\n }\r\n return stars;\r\n }\r\n\r\n $scope.totalWS = 0;\r\n $scope.wsPerPage = vm.userPageListCount;\r\n $scope.Userpagination = {\r\n current: 1\r\n };\r\n\r\n //left show page 10 20 30\r\n vm.changeUserPageListCount = function (userId) {\r\n $scope.wsPerPage = vm.userPageListCount;\r\n uPageSize = $scope.wsPerPage;\r\n $scope.WSTablePageChanged($scope.Userpagination.current);\r\n\r\n uPageIndex = $scope.Userpagination.current;\r\n $scope.WSTablePageChanged = function (newPage) {\r\n uPageIndex = newPage;\r\n vm.wsersFilterArray();\r\n vm.Get360WorkSummary(loggedinUser, token, userId, witemNames, witemValues, uPageIndex, uPageSize, wsSDate, wsEDate, vm.OrderBy, vm.sorttype);\r\n\r\n };\r\n }\r\n\r\n uPageIndex = $scope.Userpagination.current;\r\n $scope.WSTablePageChanged = function (newPage) {\r\n uPageIndex = newPage;\r\n if (witemNames != 'Search') {\r\n vm.wsersFilterArray();\r\n }\r\n\r\n vm.Get360WorkSummary(loggedinUser, token, vm.userId, witemNames, witemValues, uPageIndex, uPageSize, wsSDate, wsEDate, vm.OrderBy, vm.sorttype);\r\n\r\n };\r\n\r\n\r\n vm.wsersFilterArray = function () {\r\n witemNames = \"\";\r\n witemValues = \"\";\r\n\r\n if (vm.searchStatusText != \"\" && vm.searchStatusText != \"All\" && vm.searchStatusText != null) {\r\n if (itemNames.length > 0 && itemValues.length > 0) {\r\n itemNames = itemNames + ',Status';\r\n itemValues = itemValues + ',' + vm.searchStatusText;\r\n } else {\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText;\r\n }\r\n }\r\n if (vm.userNameSearch) {\r\n if (witemNames) {\r\n witemNames = witemNames + ',Search';\r\n witemValues = witemValues + \",\" + vm.userNameSearch;\r\n }\r\n else {\r\n witemNames = 'Search';\r\n witemValues = vm.userNameSearch;\r\n }\r\n }\r\n\r\n if (vm.JobcountbyStatus) {\r\n if (witemNames) {\r\n witemNames = witemNames + ',Status';\r\n witemValues = witemValues + \",\" + vm.JobcountbyStatus;\r\n }\r\n else {\r\n witemNames = 'Status';\r\n witemValues = vm.JobcountbyStatus;\r\n }\r\n }\r\n\r\n }\r\n\r\n\r\n // apply user rating to all displays\r\n // add star ratings to an array\r\n var starRating = document.querySelectorAll(\".fa-star\"),\r\n ratingTotal = document.querySelectorAll(\".rating-total\");\r\n\r\n // convert ratingTotal HTMLCollection to array and reverse its order (5 star <-> 1 star)\r\n var reverseRatingTotal = Array.from(ratingTotal).reverse();\r\n\r\n // display initial rating totals\r\n // displayTotals();\r\n\r\n // use event listener to record changes to user rating\r\n starRating.forEach(function (star) {\r\n star.addEventListener(\"change\", recordRating);\r\n })\r\n\r\n function recordRating(event) {\r\n // use indexOf to identify selected user rating\r\n var userRating = Array.from(starRating).indexOf(event.target);\r\n\r\n // define selected rating to adjust display totals\r\n var selectedIndex;\r\n\r\n starRating.forEach(function (item, index) {\r\n // add or remove .active class based upon selected user rating\r\n if (index < userRating + 1) {\r\n starRating[index].classList.add(\"active\");\r\n selectedIndex = index;\r\n } else {\r\n starRating[index].classList.remove(\"active\");\r\n }\r\n\r\n displayTotals(selectedIndex);\r\n });\r\n }\r\n vm.countForStatus = 50;\r\n // display star rating totals from html custom data-\r\n function displayTotals(selectedIndex) {\r\n var barChart = document.querySelectorAll(\".bar\"),\r\n displaySummary = document.querySelectorAll(\".summary\"),\r\n numRatings = 0,\r\n numRatingsValue = 0;\r\n\r\n // convert barChart HTMLCollection to array and reverse its order (5 star <-> 1 star)\r\n var reverseBarChart = Array.from(barChart).reverse();\r\n\r\n reverseRatingTotal.forEach(function (total, index) {\r\n if (index == selectedIndex) {\r\n // add selected rating to display total\r\n total.innerHTML = (parseInt(total.getAttribute(\"data-rating-count\")) + 1);\r\n // adjust selected bar width\r\n reverseBarChart[index].style.width = (((parseInt(total.getAttribute(\"data-rating-count\")) + 1) / 20) * 100) + \"%\";\r\n } else {\r\n // display unselected totals\r\n total.innerHTML = total.getAttribute(\"data-rating-count\");\r\n // adjust unselected bar widths\r\n reverseBarChart[index].style.width = ((total.getAttribute(\"data-rating-count\") / 20) * 100) + \"%\";\r\n }\r\n // count total number and value of ratings\r\n numRatings += parseInt(total.innerHTML);\r\n numRatingsValue += (parseInt(total.innerHTML) * (index + 1));\r\n });\r\n\r\n // display rating average and total\r\n ratingsAverage = (numRatingsValue / numRatings).toFixed(2);\r\n // displaySummary[0].innerHTML = ratingsAverage + \" average based on \" + numRatings + \" reviews.\";\r\n }\r\n\r\n vm.Get360VendorTeamData = function (teamid) {\r\n // vm.userId = teamid;\r\n DashboardService.Get360VendorTeamData(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.vendorteam = resp.data;\r\n })\r\n }\r\n\r\n vm.GetUsersTicket = function (isCollapsed, status, id, type) {\r\n $scope.activeRow = id;\r\n $scope.isCollapsed = !isCollapsed;\r\n vm.userIdforStatus = id;\r\n vm.statusForTickets = status;\r\n vm.JobcountbyStatus = \"\";\r\n vm.filterType = type;\r\n vm.FilterArray();\r\n if (!vm.filterType) {\r\n vm.getAllJobTickets(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }\r\n vm.getAllJobTicketsCopyForUsers(loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize);\r\n }\r\n\r\n vm.getAllJobTicketsCopyForUsers = function (loggedinUser, startDate, endDate, itemNames, itemValues, textItemNames, textItemValues, templateItemNames, templateItemValues, PageIndex, PageSize) {\r\n var templateCols = \"\";\r\n vm.resetAllSelect();\r\n var templateCols = \"\";\r\n vm.UserticketList = [];\r\n PageIndex = PageIndex ? PageIndex : 1;\r\n vm.DateField = vm.DateField ? vm.DateField : \"CreatedOn\";\r\n ManualAssignationJobService.getAllJobTicketsCopyForPagging(loggedinUser, startDate, endDate, token, itemNames, itemValues, textItemNames, textItemValues, templateCols, templateItemNames, templateItemValues, vm.DateField, PageIndex, PageSize, vm.SortType, vm.SortField).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.UserticketList = resp.data.LightTicketModels;\r\n }\r\n\r\n }, function () {\r\n });\r\n\r\n }\r\n\r\n vm.Get360WorkSummary = function () {\r\n DashboardService.Get360WorkSummary(loggedinUser, token, vm.userId, witemNames, witemValues, uPageIndex, uPageSize, wsSDate, wsEDate, vm.OrderBy, vm.sorttype).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.statusCount = resp.data;\r\n vm.wsTicketList = resp.data.workSummaryData;\r\n $scope.totalWS = resp.data.WorkSummaryTotalCount;\r\n if (vm.wsTicketList.length < vm.userPageListCount)\r\n vm.wsListLength = $scope.totalWS;\r\n else\r\n vm.wsListLength = uPageIndex * vm.userPageListCount;\r\n if (uPageIndex == 1)\r\n vm.wspageindexCount = 1;\r\n else\r\n vm.wspageindexCount = (((uPageIndex - 1) * vm.userPageListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n }\r\n\r\n vm.FinanceFiltersList = [];\r\n vm.GetFinancialSummary = function () {\r\n DashboardService.GetFinancialSummary(loggedinUser, token, vm.userId, fnitemNames, fnitemValues, fPageIndex, fPageSize, startDate, endDate).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.paymentCount = resp.data.paymentsSummary;\r\n vm.FinanceFiltersList = resp.data.financialSummary360.financialLPSummaryList;\r\n $scope.totalFinList = resp.data.financialSummary360.count;\r\n if (vm.FinanceFiltersList.length < vm.financePageListCount)\r\n vm.financeListLength = $scope.totalFinList;\r\n else\r\n vm.financeListLength = fPageIndex * vm.financePageListCount;\r\n if (fPageIndex == 1)\r\n vm.fpageindexCount = 1;\r\n else\r\n vm.fpageindexCount = (((fPageIndex - 1) * vm.financePageListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n }\r\n\r\n $scope.totalFinList = 0;\r\n $scope.usersPerPage = vm.financePageListCount;\r\n $scope.Financepagination = {\r\n current: 1\r\n };\r\n\r\n //left show page 10 20 30\r\n vm.changefinancePageListCount = function () {\r\n $scope.usersPerPage = vm.financePageListCount;\r\n fPageSize = $scope.usersPerPage;\r\n $scope.FinanceTablePageChanged($scope.Financepagination.current);\r\n vm.selectAll = false;\r\n\r\n fPageIndex = $scope.Financepagination.current;\r\n $scope.FinanceTablePageChanged = function (newPage) {\r\n fPageIndex = newPage;\r\n vm.FinanceFilterArray();\r\n vm.GetFinancialSummary(loggedinUser, token, vm.userId, uitemNames, uitemValues, fPageIndex, fPageSize, startDate, endDate, vm.OrderBy, vm.sorttype);\r\n\r\n };\r\n }\r\n\r\n fPageIndex = $scope.Financepagination.current;\r\n $scope.FinanceTablePageChanged = function (newPage) {\r\n fPageIndex = newPage;\r\n if (uitemNames != 'Search') {\r\n vm.FinanceFilterArray();\r\n }\r\n\r\n vm.GetFinancialSummary(loggedinUser, token, vm.userId, uitemNames, uitemValues, fPageIndex, fPageSize, startDate, endDate, vm.OrderBy, vm.sorttype);\r\n\r\n };\r\n\r\n\r\n vm.Get360SkillSummary = function () {\r\n DashboardService.Get360SkillSummary(loggedinUser, vm.userId, token).then(function (resp) {\r\n vm.skillsetData = resp.data;\r\n for (var i = 0; i < vm.skillsetData.CertificateDetails.length; i++) {\r\n vm.CertimageServices(vm.skillsetData.CertificateDetails[i].TrainingCertificate, i);\r\n }\r\n\r\n if (vm.skillsetData.PreviousCompanyDetailsList) {\r\n for (var i = 0; i < vm.skillsetData.PreviousCompanyDetailsList.length; i++) {\r\n if (vm.getFileType(vm.skillsetData.PreviousCompanyDetailsList[i].ExperienceLetter) == 'image')\r\n vm.PreviousCompnyExperienceLetterServices(vm.skillsetData.PreviousCompanyDetailsList[i].ExperienceLetter, i);\r\n }\r\n }\r\n\r\n if (vm.skillsetData.UserTrainingList) {\r\n for (var i = 0; i < vm.skillsetData.UserTrainingList.length; i++) {\r\n if (vm.getFileType(vm.skillsetData.UserTrainingList[i].TrainingImage) == 'image')\r\n vm.TrainingImageServices(vm.skillsetData.UserTrainingList[i].TrainingImage, i);\r\n if (vm.getFileType(vm.skillsetData.UserTrainingList[i].TrainingAttendance) == 'image')\r\n vm.TrainingAttendanceServices(vm.skillsetData.UserTrainingList[i].TrainingAttendance, i);\r\n }\r\n\r\n }\r\n })\r\n }\r\n\r\n // vm.Dashboard = function (user) {\r\n // $state.go('index.Dashboard', {\r\n // UserId: user\r\n // }, {\r\n // reload: true\r\n // });\r\n // }\r\n\r\n vm.Dashboard = function () {\r\n $state.go('index.Technician360view', {\r\n userId: vm.userId\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.RegistrationHistory = function () {\r\n $state.go('index.RegistrationForm', {\r\n UserId: vm.userId\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.CreateInternalContactList = function () {\r\n vm.campaignList_form.submitted = true;\r\n if (vm.campaignList_form.$valid) {\r\n var temp = [];\r\n for(var i=0;i 0) {\r\n angular.forEach(users, function (user) {\r\n user.locationCount = user.Locations && user.Locations.length > 0 ? user.Locations.length : 0;\r\n user.locationToolTip = \"\";\r\n if (user.locationCount > 0) {\r\n angular.forEach(user.Locations, function (loc) {\r\n user.locationToolTip += loc + \",\";\r\n })\r\n user.locationToolTip = user.locationToolTip.substr(0, user.locationToolTip.length - 1);\r\n }\r\n\r\n user.worklocationCount = user.UserWorkLocations && user.UserWorkLocations.length > 0 ? user.UserWorkLocations.length : 0;\r\n user.worklocationToolTip = \"\";\r\n if (user.worklocationCount > 0) {\r\n angular.forEach(user.UserWorkLocations, function (loc) {\r\n user.worklocationToolTip += loc + \",\";\r\n })\r\n user.worklocationToolTip = user.worklocationToolTip.substr(0, user.worklocationToolTip.length - 1);\r\n }\r\n\r\n user.SkillSetCount = user.SkillSet && user.SkillSet.length > 0 ? user.SkillSet.length : 0;\r\n user.SkillSetToolTip = \"\";\r\n if (user.SkillSetCount > 0) {\r\n angular.forEach(user.SkillSet, function (s) {\r\n user.SkillSetToolTip += s + \",\";\r\n })\r\n user.SkillSetToolTip = user.SkillSetToolTip.substr(0, user.SkillSetToolTip.length - 1);\r\n }\r\n\r\n user.OneJobSkillSetCount = user.OneJobDoneSkills && user.OneJobDoneSkills.length > 0 ? user.OneJobDoneSkills.length : 0;\r\n user.OneJobSkillSetToolTip = \"\";\r\n if (user.OneJobSkillSetCount > 0) {\r\n angular.forEach(user.OneJobDoneSkills, function (s) {\r\n user.OneJobSkillSetToolTip += s + \",\";\r\n })\r\n user.OneJobSkillSetToolTip = user.OneJobSkillSetToolTip.substr(0, user.OneJobSkillSetToolTip.length - 1);\r\n }\r\n\r\n });\r\n }\r\n }\r\n // for arrow rotate \r\n\r\n vm.GetAllActiveTaskForFilter = function (){\r\n AllUsersListService.GetAllActiveTaskForFilter(loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.ActiveTaskList = resp.data;\r\n }\r\n }, vm.showFailure);\r\n }\r\n vm.GetAllActiveTaskForFilter();\r\n\r\n $scope.toggleSingleClass = function () {\r\n $scope.class_status = !$scope.class_status;\r\n };\r\n $scope.activatedButton = function () {\r\n $scope.isactivated = !$scope.isactivated;\r\n }\r\n $scope.activatedButton1 = function () {\r\n $scope.isactivated1 = !$scope.isactivated1;\r\n }\r\n $scope.activatedButton2 = function () {\r\n $scope.isactivated2 = !$scope.isactivated2;\r\n }\r\n $scope.activatedButton3 = function () {\r\n $scope.isactivated3 = !$scope.isactivated3;\r\n }\r\n $scope.activatedButton4 = function () {\r\n $scope.isactivated4 = !$scope.isactivated4;\r\n }\r\n $scope.activatedButton5 = function () {\r\n $scope.isactivated5 = !$scope.isactivated5;\r\n }\r\n $scope.activatedButton6 = function () {\r\n $scope.isactivated6 = !$scope.isactivated6;\r\n }\r\n $scope.activatedButton7 = function () {\r\n $scope.isactivated7 = !$scope.isactivated7;\r\n }\r\n $scope.activatedButton8 = function () {\r\n $scope.isactivated8 = !$scope.isactivated8;\r\n }\r\n $scope.activatedButton9 = function () {\r\n $scope.isactivated9 = !$scope.isactivated9;\r\n }\r\n $scope.activatedButton10 = function () {\r\n $scope.isactivated10 = !$scope.isactivated10;\r\n }\r\n $scope.activatedButton11 = function () {\r\n $scope.isactivated11 = !$scope.isactivated11;\r\n }\r\n $scope.activatedButton12 = function () {\r\n $scope.isactivated12 = !$scope.isactivated12;\r\n }\r\n $scope.activatedButton13 = function () {\r\n $scope.isactivated13 = !$scope.isactivated13;\r\n }\r\n $scope.activatedButton14 = function () {\r\n $scope.isactivated14 = !$scope.isactivated14;\r\n }\r\n $scope.activatedButton15 = function () {\r\n $scope.isactivated15 = !$scope.isactivated15;\r\n }\r\n $scope.activatedButton16 = function () {\r\n $scope.isactivated16 = !$scope.isactivated16;\r\n }\r\n $scope.activatedButton17 = function () {\r\n $scope.isactivated17 = !$scope.isactivated17;\r\n }\r\n $scope.activatedButton18 = function () {\r\n $scope.isactivated18 = !$scope.isactivated18;\r\n }\r\n $scope.activatedButton19 = function () {\r\n $scope.isactivated19 = !$scope.isactivated19;\r\n }\r\n\r\n $scope.activatedButton20 = function () {\r\n $scope.isactivated20 = !$scope.isactivated20;\r\n }\r\n $scope.activatedButton21 = function () {\r\n $scope.isactivated21 = !$scope.isactivated21;\r\n }\r\n $scope.activatedButton22 = function () {\r\n $scope.isactivated22 = !$scope.isactivated22;\r\n }\r\n $scope.activatedButton23 = function () {\r\n $scope.isactivated23 = !$scope.isactivated23;\r\n }\r\n $scope.activatedButton24 = function () {\r\n $scope.isactivated24 = !$scope.isactivated24;\r\n }\r\n $scope.activatedButton25 = function () {\r\n $scope.isactivated25 = !$scope.isactivated25;\r\n }\r\n $scope.activatedButton26 = function () {\r\n $scope.isactivated26 = !$scope.isactivated26;\r\n }\r\n $scope.activatedButton27 = function () {\r\n $scope.isactivated27 = !$scope.isactivated27;\r\n }\r\n $scope.activatedButton28 = function () {\r\n $scope.isactivated28 = !$scope.isactivated28;\r\n }\r\n $scope.activatedButton29 = function () {\r\n $scope.isactivated29 = !$scope.isactivated29;\r\n }\r\n $scope.activatedButton30 = function () {\r\n $scope.isactivated30 = !$scope.isactivated30;\r\n }\r\n $scope.activatedButton31 = function () {\r\n $scope.isactivated31 = !$scope.isactivated31;\r\n }\r\n $scope.activatedButton32 = function () {\r\n $scope.isactivated32 = !$scope.isactivated32;\r\n }\r\n $scope.activatedButton33 = function () {\r\n $scope.isactivated33 = !$scope.isactivated33;\r\n }\r\n $scope.activatedButton34 = function () {\r\n $scope.isactivated34 = !$scope.isactivated34;\r\n }\r\n $scope.activatedButton35 = function () {\r\n $scope.isactivated35 = !$scope.isactivated35;\r\n }\r\n $scope.activatedButton36 = function () {\r\n $scope.isactivated36 = !$scope.isactivated36;\r\n }\r\n $scope.activatedButton37 = function () {\r\n $scope.isactivated37 = !$scope.isactivated37;\r\n }\r\n $scope.activatedButton38 = function () {\r\n $scope.isactivated38 = !$scope.isactivated38;\r\n }\r\n $scope.activatedButton39 = function () {\r\n $scope.isactivated39 = !$scope.isactivated39;\r\n }\r\n $scope.activatedButton40 = function () {\r\n $scope.isactivated40 = !$scope.isactivated40;\r\n }\r\n var $range = $(\".js-range-slider\"),\r\n $from = $(\".from\"),\r\n $to = $(\".to\"),\r\n range,\r\n min = $range.data('min'),\r\n max = $range.data('max'),\r\n from,\r\n to;\r\n\r\n var updateValues = function () {\r\n $from.prop(\"value\", from);\r\n $to.prop(\"value\", to);\r\n };\r\n\r\n $range.ionRangeSlider({\r\n onChange: function (data) {\r\n from = data.from;\r\n to = data.to;\r\n updateValues();\r\n }\r\n });\r\n\r\n range = $range.data(\"ionRangeSlider\");\r\n var updateRange = function () {\r\n range.update({\r\n from: from,\r\n to: to\r\n });\r\n };\r\n\r\n $from.on(\"input\", function () {\r\n from = +$(this).prop(\"value\");\r\n if (from < min) {\r\n from = min;\r\n }\r\n if (from > to) {\r\n from = to;\r\n }\r\n updateValues();\r\n updateRange();\r\n });\r\n\r\n $to.on(\"input\", function () {\r\n to = +$(this).prop(\"value\");\r\n if (to > max) {\r\n to = max;\r\n }\r\n if (to < from) {\r\n to = from;\r\n }\r\n updateValues();\r\n updateRange();\r\n });\r\n }\r\n});\nangular.module('inspinia').service('AllUserNewService',function(ApiURL,FreelancerURL, PublicApiURL,ActivityURL,LocationURL,$http, FreelancerURL, SchedulingAPI){\r\n\r\n this.GetAllSkills = function (loggedinUser, token) { \r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url,{\r\n headers:{'Content-Type' : 'application/json', 'Token': token, 'UserId': loggedinUser}\r\n });\r\n }\r\n\r\n\r\n this.getAllState = function (loggedinUser,token) { \r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url,{\r\n headers:{\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n this.GetAllRegisteredUser = function (loggedinUser,token,itemNames,itemValues,userType,userAvailableStatus,DateField,PageIndex,PageSize, startDate, endDate,OrderBy,SortType) {\r\n var url = '';\r\n url = FreelancerURL + '/api/FreeLancerRegistration/GetRegisteredUsersByFiltersWithDynaPage?itemNames=' + itemNames + '&itemValues=' + itemValues + '&userType=' + userType+ '&userAvailableStatus=' + userAvailableStatus + '&DateField=' + DateField + '&PageIndex=' + PageIndex + '&PageSize=' + PageSize + '&FromDate=' + startDate + '&ToDate=' + endDate+ '&OrderBy=' + OrderBy + '&SortType=' + SortType;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.getAllState = function (loggedinUser) {\r\n var url = LocationURL + '/api/Location/' + loggedinUser + '/GetAllStates';\r\n return $http.get(url, {\r\n params: {}\r\n });\r\n }\r\n //http://192.168.0.80:92/LocationAPI/api/Location/saurabhgupta3371%40gmail.com/UTTAR%20PRADESH/GetCitiesByState\r\n \r\n this.getCityByState = function (loggedinUser, state) {\r\n var url = LocationURL + '/api/Location/' + loggedinUser + '/' + state + '/GetCitiesByState';\r\n return $http.get(url, {\r\n params: {}\r\n });\r\n }\r\n\r\n});\nangular.module('inspinia').controller('AllUserNewController', function (AllUserNewService,DashboardService,MainService,ReferService,$q,CentralHelpdeskConfigService, ScheduleAssignService, $log, $state, $localStorage, $stateParams, $uibModal, $scope, DTOptionsBuilder, DTColumnDefBuilder, toaster, $timeout, $compile, uiCalendarConfig, ImageUrl,ApiURL, PublicApiURL,$window) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var loggedinUserSkill = $localStorage.loggedInUser_SkillSet;\r\n var loggedinUserRegion = $localStorage.loggedInUser_Region;\r\n var accountid= $localStorage.accountConfig.AccountId;\r\n \r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n var token = $localStorage.token;\r\n \r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.accountConfig = $localStorage.accountConfig;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.IsMaterialDelivered = $localStorage.accountConfig.IsMaterialDelivered;\r\n vm.MobiforceCommission = vm.getAccountConfigSetting('MobiforceCommissionPercentage');\r\n vm.VendorAssignation = vm.getAccountConfigSetting('VendorAssignation');\r\n vm.EnableRegion = vm.getAccountConfigSetting('EnableRegion');\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n vm.FreelancerAccess = vm.getAccountConfigSetting('FreelancerAccess');\r\n //Global Variable Declaration\r\n vm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n vm.loggedInUserVendorId = $localStorage.loggedInUser_VendorId;\r\n vm.loggedInUserReportingTo = $localStorage.loggedInUser_ReportingTo;\r\n vm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n vm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n vm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n vm.loggedinAs = $localStorage.loggedinAs;\r\n vm.PermanentState = '';\r\n vm.PermanentCity = '';\r\n vm.userskill = '';\r\n vm.pincode = '';\r\n vm.userNameSearch = '';\r\n vm.contactNumberSearch = '';\r\n vm.userSource = '';\r\n vm.CriminalVerified='';\r\n vm.IdVerified='';\r\n vm.PANVerified='';\r\n vm.UserAvailable=''\r\n vm.skillData = '';\r\n vm.circleData = '';\r\n vm.isChecked = \"fixed\";\r\n vm.searchText = \"\";\r\n vm.Technicianstartingdate = '2017-01-01';\r\n vm.tab = '';\r\n vm.pageindexCount=0;\r\n vm.DateField=\"StatusChangedOn\";\r\n vm.searchStatusText=\"All\"; \r\n var uPageIndex = 1;\r\n var uPageSize = 10; \r\n vm.UsersType=\"\";\r\n vm.uType=\"\";\r\n var uitemNames=\"\";\r\n var uitemValues=\"\";\r\n vm.searchUsersText=\"\";\r\n vm.jobsCount='';\r\n vm.SortType = 'desc';\r\n vm.SortField = 'CreatedOn';\r\n vm.userPageListCount= 10;\r\n vm.pageListCounts = [10, 20, 30, 50];\r\n var witemNames=\"\";\r\n var witemValues=\"\";\r\n var wsSDate = ''; \r\n var wsEDate = '';\r\n vm.OrderBy = \"CreatedOn\";\r\n vm.sorttype = \"desc\";\r\n var fnitemNames = '';\r\n var fnitemValues = '';\r\n var fPageIndex = 1;\r\n var fPageSize = 10;\r\n vm.CertificateImg=[];\r\n vm.kycVideo='';\r\n // var startDate = moment().subtract(7, 'days').format(\"YYYY-MM-DD\");\r\n // var endDate = moment().format(\"YYYY-MM-DD\");\r\n var startDate = moment(vm.Technicianstartingdate).format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n $scope.dates = { startDate: startDate, endDate:endDate};\r\n $scope.ranges = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n 'Till now': [moment(vm.Technicianstartingdate), moment(endDate)],\r\n };\r\n \r\n $scope.dateRangeChange = function (ev, picker) {\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n };\r\n vm.searchText = '';\r\n vm.RegistrationNo = '';\r\n\r\n vm.preProcessData = function (vendor) {\r\n var locations = \"\";\r\n angular.forEach(vendor.WorkLocationList, function (l) {\r\n locations += l + \",\";\r\n });\r\n vendor.allLocations = locations.length > 0 ? locations.substring(0, locations.length - 1) : \"\";\r\n\r\n var skills = \"\";\r\n angular.forEach(vendor.SkillData, function (s) {\r\n skills += s.Skill + \",\";\r\n });\r\n vendor.allSkills = skills.length > 0 ? skills.substring(0, skills.length - 1) : \"\";\r\n }\r\n\r\n vm.creationForm = function (RegistrationNo) {\r\n $localStorage.From = '';\r\n $state.go('index.OnBoardingForm', {\r\n RegistrationNo: RegistrationNo\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.loadAllSkills = function(){ \r\n AllUserNewService.GetAllSkills(loggedinUser, token).then(function (resp) {\r\n vm.skillsWithPipe = '';\r\n if (resp && resp.data) {\r\n vm.skillData = resp.data;\r\n if(vm.skillData && vm.skillData.length>0){\r\n angular.forEach(vm.skillData, function(s){\r\n vm.skillsWithPipe += s.SkillName+\"|\";\r\n });\r\n vm.skillsWithPipe = vm.skillsWithPipe.length>0\r\n ? vm.skillsWithPipe.substring(0,vm.skillsWithPipe.length-1) : \"\";\r\n }\r\n }\r\n });\r\n }\r\n vm.loadAllSkills();\r\n \r\n vm.getProfilePic = function (profilePicName) {\r\n return profilePicName ? ImageUrl + \"/\" + profilePicName : null;\r\n }\r\n\r\n \r\n vm.ResetUserSelection = function (scope){\r\n scope.selectAllFL = false;\r\n scope.showMinusFL = false;\r\n scope.selectCountFL = 0;\r\n }\r\n\r\n if(vm.loggedInUserRole == \"SuperAdministrator\")\r\n {\r\n vm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\", \"Freelancer Team\"];\r\n }\r\n else\r\n {\r\n vm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\", \"Freelancer Team\"];\r\n }\r\n \r\n vm.ResetUserFilter = function () { \r\n vm.UsersType = '';\r\n vm.PermanentState = '';\r\n vm.PermanentCity = '';\r\n vm.userskill = ''; \r\n vm.uType= ''; \r\n vm.CriminalVerified='';\r\n vm.IdVerified='';\r\n vm.PANVerified=''; \r\n vm.userSource = ''; \r\n vm.pincode ='';\r\n vm.userNameSearch ='';\r\n vm.contactNumberSearch = '';\r\n startDate = '';\r\n endDate = '';\r\n vm.applyUserFilter();\r\n // vm.GetAllRegisteredUser(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize, startDate, endDate);\r\n\r\n }\r\n\r\n vm.UsersFilterArray = function()\r\n {\r\n vm.ResetUserSelection(this);\r\n uitemNames=\"\";\r\n uitemValues=\"\";\r\n\r\n if (vm.userskill) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',SkillSet';\r\n uitemValues = uitemValues + \",\" + vm.userskill;\r\n }\r\n else\r\n {\r\n uitemNames = 'SkillSet';\r\n uitemValues = vm.userskill;\r\n } \r\n }\r\n if (vm.userSource) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',Source';\r\n uitemValues = uitemValues + \",\" + vm.userSource;\r\n }\r\n else\r\n {\r\n uitemNames = 'Source';\r\n uitemValues = vm.userSource;\r\n } \r\n }\r\n if (vm.pincode) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',Search';\r\n uitemValues = uitemValues + \",\" + vm.pincode;\r\n }\r\n else\r\n {\r\n uitemNames = 'Search';\r\n uitemValues = vm.pincode;\r\n } \r\n }\r\n if (vm.userNameSearch) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',Search';\r\n uitemValues = uitemValues + \",\" + vm.userNameSearch;\r\n }\r\n else\r\n {\r\n uitemNames = 'Search';\r\n uitemValues = vm.userNameSearch;\r\n } \r\n }\r\n if (vm.contactNumberSearch) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',ContactNumber';\r\n uitemValues = uitemValues + \",\" + vm.contactNumberSearch;\r\n }\r\n else\r\n {\r\n uitemNames = 'ContactNumber';\r\n uitemValues = vm.contactNumberSearch;\r\n } \r\n }\r\n \r\n if (vm.CriminalVerified == true) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',IsCriminalVerified';\r\n uitemValues = uitemValues + \",\" + true;\r\n }\r\n else\r\n {\r\n uitemNames = 'IsCriminalVerified';\r\n uitemValues = true;\r\n } \r\n }\r\n if (vm.IdVerified == true) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',IsAdharVerified';\r\n uitemValues = uitemValues + \",\" + true;\r\n }\r\n else\r\n {\r\n uitemNames = 'IsAdharVerified';\r\n uitemValues = true;\r\n } \r\n }\r\n if (vm.PANVerified == true) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',IsPanVerified';\r\n uitemValues = uitemValues + \",\" + true;\r\n }\r\n else\r\n {\r\n uitemNames = 'IsPanVerified';\r\n uitemValues = true;\r\n } \r\n }\r\n if (vm.PermanentState) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',Locations';\r\n uitemValues = uitemValues + \",\" + vm.PermanentState;\r\n }\r\n else\r\n {\r\n uitemNames = 'Locations';\r\n uitemValues = vm.PermanentState;\r\n } \r\n }\r\n if (vm.PermanentState && vm.PermanentCity) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',CurrentCity';\r\n uitemValues = uitemValues + \",\" + vm.PermanentCity;\r\n }\r\n else\r\n {\r\n uitemNames = 'CurrentCity';\r\n uitemValues = vm.UsersType;\r\n } \r\n }\r\n if (vm.UsersType) { \r\n if(uitemNames) \r\n {\r\n uitemNames = uitemNames + ',Role';\r\n uitemValues = uitemValues + \",\" + vm.UsersType;\r\n }\r\n else\r\n {\r\n uitemNames = 'Role';\r\n uitemValues = vm.UsersType;\r\n } \r\n } \r\n\r\n if(vm.UsersType==\"Freelancer\")\r\n {\r\n vm.uType=\"Freelancer\";\r\n }\r\n else if(vm.UsersType==\"Freelancer Vendor\")\r\n {\r\n vm.uType=\"Freelancer\";\r\n } \r\n else if(vm.UsersType==\"Freelancer Team\")\r\n {\r\n vm.uType=\"Fixed\";\r\n }\r\n else \r\n {\r\n vm.uType=\"\";\r\n vm.UsersType = '';\r\n } \r\n\r\n }\r\n\r\n function getAllStates(loggedinUser) {\r\n var defered = $q.defer();\r\n ReferService.getAllState(loggedinUser,token).then(function (resp) {\r\n defered.resolve(resp);\r\n }, function (error) {\r\n defered.reject(error);\r\n });\r\n return defered.promise;\r\n }\r\n \r\n var allStatePromise = getAllStates(loggedinUser);\r\n allStatePromise.then(function (resp) {\r\n vm.StateList = resp.data;\r\n \r\n });\r\n function getallCities(state) {\r\n ReferService.getAllCity(loggedinUser, state,token).then(function (resp) {\r\n vm.CityList = resp.data;\r\n });\r\n }\r\n vm.selectedState = function (state) {\r\n getallCities(state);\r\n }\r\n\r\n $scope.totalUsers = 0;\r\n $scope.usersPerPage = vm.userPageListCount;\r\n $scope.Userpagination = {\r\n current: 1\r\n };\r\n\r\n //left show page 10 20 30\r\n vm.changeUserPageListCount = function() { \r\n $scope.usersPerPage = vm.userPageListCount;\r\n uPageSize = $scope.usersPerPage;\r\n $scope.UserTablePageChanged($scope.Userpagination.current);\r\n vm.selectAll = false;\r\n \r\n uPageIndex=$scope.Userpagination.current;\r\n $scope.UserTablePageChanged = function(newPage) { \r\n uPageIndex = newPage;\r\n vm.UsersFilterArray(); \r\n vm.GetAllRegisteredUser(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize, startDate, endDate);\r\n\r\n };\r\n }\r\n \r\n uPageIndex=$scope.Userpagination.current;\r\n $scope.UserTablePageChanged = function(newPage) { \r\n uPageIndex = newPage;\r\n if(uitemNames != 'Search')\r\n {\r\n vm.UsersFilterArray();\r\n }\r\n \r\n vm.GetAllRegisteredUser(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize, startDate, endDate);\r\n\r\n };\r\n\r\n vm.ticketList=[];\r\n\r\n vm.UserByFiltersList=[];\r\n vm.GetAllRegisteredUser = function (loggedinUser, token, uitemNames, uitemValues, userType, UserAvailable, uPageIndex, uPageSize) {\r\n AllUserNewService.GetAllRegisteredUser(loggedinUser, token, uitemNames, uitemValues, userType, vm.UserAvailable, vm.DateField, uPageIndex, uPageSize, startDate, endDate,vm.SortField,vm.SortType).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.UserByFiltersList = resp.data.ListUserResponseModel;\r\n $scope.totalUsers = resp.data.Count;\r\n // preprocessData(vm.UserByFiltersList);\r\n angular.forEach(vm.UserByFiltersList, function (t) {\r\n t.totalJobs = Math.floor(Math.random() * 10);\r\n t.assignedJobs = Math.floor(Math.random() * 10);\r\n t.completed = Math.floor(Math.random() * 10);\r\n t.rejected = Math.floor(Math.random() * 10);\r\n t.leadAcceptance = Math.floor(Math.random() * 10);\r\n t.averageCompletionSpeed = Math.floor(Math.random() * 10);\r\n t.jobCompletionRate = Math.floor(Math.random() * 10);\r\n t.jobRejectionRate = Math.floor(Math.random() * 10);\r\n })\r\n if(vm.UserByFiltersList.length < vm.userPageListCount)\r\n vm.userListLength = $scope.totalUsers;\r\n else\r\n vm.userListLength = uPageIndex * vm.userPageListCount;\r\n if(uPageIndex==1)\r\n vm.upageindexCount = 1;\r\n else\r\n vm.upageindexCount = (((uPageIndex-1) * vm.userPageListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n }\r\n vm.UsersFilterArray(); \r\n vm.GetAllRegisteredUser(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize, startDate, endDate);\r\n\r\n }\r\n vm.searchTicket = function () { \r\n vm.ResetTicketFilter(); \r\n };\r\n vm.searchUser = function () { \r\n vm.ResetUserSelection(this);\r\n vm.ResetUserFilter(); \r\n if(vm.searchUsersText)\r\n {\r\n uitemNames = 'Search';\r\n uitemValues = vm.searchUsersText;\r\n } \r\n vm.GetAllRegisteredUser(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize, startDate, endDate);\r\n\r\n };\r\n \r\n\r\n vm.closeUserSearchText = function()\r\n { \r\n vm.ResetUserSelection(this);\r\n vm.ResetUserFilter(); \r\n vm.searchUsersText=\"\";\r\n uitemNames = '';\r\n uitemValues = ''; \r\n vm.GetAllRegisteredUser(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize, startDate, endDate);\r\n\r\n\r\n }\r\n vm.applyUserFilter=function()\r\n { \r\n vm.UsersFilterArray(); \r\n \r\n uPageIndex=1;\r\n $scope.Userpagination = {\r\n current: 1\r\n }; \r\n vm.GetAllRegisteredUser(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize, startDate, endDate);\r\n\r\n\r\n }\r\n vm.SubmitFilter = function () { \r\n\r\n $scope.Userpagination = {};\r\n vm.UsersFilterArray();\r\n uPageIndex=1;\r\n $scope.Userpagination = {\r\n current: 1\r\n }; \r\n vm.GetAllRegisteredUser(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize, startDate, endDate);\r\n\r\n\r\n }\r\n\r\n\r\n $scope.userClassNew_status = true;\r\n $scope.hideoverlay = function(){\r\n $scope.myvalue = false;\r\n $scope.class_status = true;\r\n $scope.userClassNew_status = true;\r\n $scope.broadcastSentUser = true;\r\n $scope.timeLineDetail = true;\r\n $scope.userFilter = true;\r\n $scope.minatureSlide = true;\r\n $scope.myvalue = false;\r\n vm.closeFeedbackoption();\r\n }\r\n $scope.close360ViewBroadcaste = function(){\r\n $scope.myvalue = false;\r\n angular.element('#div1').removeClass(\"alpha\");\r\n $scope.userClassNew_status = true;\r\n }\r\n $scope.userSingle = function() {\r\n $scope.userClassNew_status = !$scope.userClassNew_status;\r\n $scope.myvalue = true;\r\n};\r\n vm.Get360TeamProfileData = function (teamid) {\r\n vm.userId = teamid;\r\n DashboardService.Get360ProfileData(loggedinUser, teamid, token).then(function (resp) {\r\n if(resp.data) {\r\n $scope.userSingle();\r\n }\r\n vm.teamdata = resp.data;\r\n vm.AvgRating = vm.teamdata.userProfile.AverageRating;\r\n vm.ReviewsList = vm.teamdata.userProfile.Reviews\r\n vm.teamdata.ratingStars = vm.getRatingStars(Math.round(vm.teamdata.userProfile.AverageRating.AverageRating));\r\n vm.teamdata.blankStars = vm.getBlankStars(Math.round(vm.teamdata.userProfile.AverageRating.AverageRating));\r\n vm.teamdata.avgratingStars = vm.getAvgRatingStars(Math.round(vm.teamdata.userProfile.AverageRating.AverageRating));\r\n vm.teamdata.avgblankStars = vm.getAvgBlankStars(Math.round(vm.teamdata.userProfile.AverageRating.AverageRating));\r\n if(vm.teamdata.userProfile.ContactNumber){\r\n vm.teamdata.userProfile.ContactNumber=vm.teamdata.userProfile.ContactNumber.replace(/\\d(?=\\d{4})/g, '*');\r\n }\r\n \r\n if(vm.teamdata.userProfile.Reviews) {\r\n vm.teamdata.userProfile.Reviews.forEach(function (element,i) {\r\n vm.teamdata.userratingStars= vm.getUserRatingStars(Math.round(vm.teamdata.userProfile.Reviews[i].Average));\r\n vm.teamdata.userblankStars = vm.getUserBlankStars(Math.round(vm.teamdata.userProfile.Reviews[i].Average));\r\n element.arrayRating =vm.teamdata.userratingStars;\r\n element.blankRating = vm.teamdata.userblankStars;\r\n });\r\n }\r\n if(vm.teamdata.userProfile.videokycName != '') {\r\n vm.videokyc = ApiURL+\"/Video/\" + vm.teamdata.userProfile.videokycName;\r\n // vm.CertVideoServices(vm.teamdata.userProfile.videokycName);\r\n }\r\n for(var i=0;i 0 && itemValues.length > 0){\r\n // itemNames = itemNames + ',Status';\r\n // itemValues = itemValues + ',' + vm.searchStatusText;\r\n // }else{\r\n // itemNames = 'Status';\r\n // itemValues = vm.searchStatusText;\r\n // } \r\n // }\r\n \r\n // if (vm.userskill) { \r\n // if(uitemNames) \r\n // {\r\n // uitemNames = uitemNames + ',SkillSet';\r\n // uitemValues = uitemValues + \",\" + vm.userskill;\r\n // }\r\n // else\r\n // {\r\n // uitemNames = 'SkillSet';\r\n // uitemValues = vm.userskill;\r\n // } \r\n // }\r\n \r\n // if(vm.SearchByAccount)\r\n // {\r\n // if(uitemNames) \r\n // {\r\n // uitemNames = uitemNames + ',CustomerAccountName';\r\n // uitemValues = uitemValues + \",\" + vm.SearchByAccount;\r\n // }\r\n // else\r\n // {\r\n // uitemNames = 'CustomerAccountName';\r\n // uitemValues = vm.SearchByAccount;\r\n // } \r\n // }\r\n \r\n // if (vm.userNameSearch) { \r\n // if(uitemNames) \r\n // {\r\n // uitemNames = uitemNames + ',Search';\r\n // uitemValues = uitemValues + \",\" + vm.userNameSearch;\r\n // }\r\n // else\r\n // {\r\n // uitemNames = 'Search';\r\n // uitemValues = vm.userNameSearch;\r\n // } \r\n // }\r\n \r\n // if (vm.PermanentState) { \r\n // if(uitemNames) \r\n // {\r\n // uitemNames = uitemNames + ',State';\r\n // uitemValues = uitemValues + \",\" + vm.PermanentState;\r\n // }\r\n // else\r\n // {\r\n // uitemNames = 'State';\r\n // uitemValues = vm.PermanentState;\r\n // } \r\n // }\r\n \r\n // if(vm.JobcountbyStatus)\r\n // {\r\n // if(uitemNames) \r\n // {\r\n // uitemNames = uitemNames + ',Status';\r\n // uitemValues = uitemValues + \",\" + vm.JobcountbyStatus;\r\n // }\r\n // else\r\n // {\r\n // uitemNames = 'Status';\r\n // uitemValues = vm.JobcountbyStatus;\r\n // }\r\n // }\r\n \r\n // if (vm.WorkState) \r\n // { \r\n // if(uitemNames) \r\n // {\r\n // uitemNames = uitemNames + ',State';\r\n // uitemValues = uitemValues + \",\" + vm.WorkState;\r\n // }\r\n // else\r\n // {\r\n // uitemNames = 'State';\r\n // uitemValues = vm.WorkState;\r\n // } \r\n // }\r\n // if (vm.WorkState && vm.WorkCity) { \r\n // if(uitemNames) \r\n // {\r\n // uitemNames = uitemNames + ',City';\r\n // uitemValues = uitemValues + \",\" + vm.WorkCity;\r\n // }\r\n // else\r\n // {\r\n // uitemNames = 'City';\r\n // uitemValues = vm.WorkCity;\r\n // } \r\n // }\r\n \r\n // if (vm.CurrentState) { \r\n // if(uitemNames) \r\n // {\r\n // uitemNames = uitemNames + ',CurrentState';\r\n // uitemValues = uitemValues + \",\" + vm.CurrentState;\r\n // }\r\n // else\r\n // {\r\n // uitemNames = 'CurrentState';\r\n // uitemValues = vm.CurrentState;\r\n // } \r\n // }\r\n // if (vm.CurrentState && vm.CurrentCity) { \r\n // if(uitemNames) \r\n // {\r\n // uitemNames = uitemNames + ',CurrentCity';\r\n // uitemValues = uitemValues + \",\" + vm.CurrentCity;\r\n // }\r\n // else\r\n // {\r\n // uitemNames = 'CurrentCity';\r\n // uitemValues = vm.CurrentCity;\r\n // } \r\n // }\r\n \r\n // if (vm.UsersType) { \r\n // if(uitemNames) \r\n // {\r\n // uitemNames = uitemNames + ',Role';\r\n // uitemValues = uitemValues + \",\" + vm.UsersType;\r\n // }\r\n // else\r\n // {\r\n // uitemNames = 'Role';\r\n // uitemValues = vm.UsersType;\r\n // } \r\n // } \r\n \r\n \r\n // if(vm.UsersType==\"Freelancer\")\r\n // {\r\n // vm.uType=\"Freelancer\";\r\n // vm.SearchByAccount = ''\r\n // }\r\n // else if(vm.UsersType==\"Freelancer Vendor\")\r\n // {\r\n // vm.uType=\"Freelancer\";\r\n // vm.SearchByAccount = ''\r\n // } \r\n // else if(vm.UsersType==\"Private\")\r\n // {\r\n // vm.uType=\"Private\";\r\n // vm.SearchByAccount = ''\r\n // } \r\n // else if(vm.UsersType==\"Dispatch Supervisor\" || vm.UsersType==\"OnBoarding Supervisor\" || vm.UsersType==\"Dispatch Team Lead\" || vm.UsersType==\"Project Manager\" || vm.UsersType==\"Supervisor\")\r\n // {\r\n // vm.uType=\"Fixed\";\r\n // }\r\n // else if(vm.UsersType==\"Freelancer Dispatcher\")\r\n // {\r\n // vm.uType=\"Freelancer\";\r\n // }\r\n // else \r\n // {\r\n // vm.uType=\"\";\r\n // vm.UsersType = '';\r\n // } \r\n // }\r\n \r\n vm.wsersFilterArray = function()\r\n {\r\n witemNames=\"\";\r\n witemValues=\"\";\r\n \r\n if (vm.searchStatusText != \"\" && vm.searchStatusText != \"All\" && vm.searchStatusText != null){\r\n if(itemNames.length > 0 && itemValues.length > 0){\r\n itemNames = itemNames + ',Status';\r\n itemValues = itemValues + ',' + vm.searchStatusText;\r\n }else{\r\n itemNames = 'Status';\r\n itemValues = vm.searchStatusText;\r\n } \r\n }\r\n if (vm.userNameSearch) { \r\n if(witemNames) \r\n {\r\n witemNames = witemNames + ',Search';\r\n witemValues = witemValues + \",\" + vm.userNameSearch;\r\n }\r\n else\r\n {\r\n witemNames = 'Search';\r\n witemValues = vm.userNameSearch;\r\n } \r\n }\r\n \r\n if(vm.JobcountbyStatus)\r\n {\r\n if(witemNames) \r\n {\r\n witemNames = witemNames + ',Status';\r\n witemValues = witemValues + \",\" + vm.JobcountbyStatus;\r\n }\r\n else\r\n {\r\n witemNames = 'Status';\r\n witemValues = vm.JobcountbyStatus;\r\n }\r\n }\r\n \r\n }\r\n\r\n vm.sortColumn = function(col){\r\n vm.SortField = col;\r\n if(vm.SortType=='desc'){\r\n vm.SortType = 'asc';\r\n vm.reverseclass = 'fa fa-arrow-up';\r\n }else{\r\n vm.SortType = 'desc';\r\n vm.reverseclass = 'fa fa-arrow-down';\r\n }\r\n vm.GetAllRegisteredUser(loggedinUser, token, uitemNames, uitemValues, vm.uType, vm.UserAvailable, uPageIndex, uPageSize, startDate, endDate);\r\n };\r\n\r\n\r\n/////\r\n\r\nvm.filterStatusForJObs = function(status)\r\n{\r\n vm.JobcountbyStatus=status;\r\n vm.wsersFilterArray(); \r\n PageIndex=1;\r\n vm.Get360WorkSummary(loggedinUser, token,vm.userId, witemNames, witemValues, uPageIndex, uPageSize, wsSDate,wsEDate,vm.OrderBy,vm.sorttype); \r\n}\r\n//////\r\n\r\n\r\n// apply user rating to all displays\r\n// add star ratings to an array\r\nvar starRating = document.querySelectorAll(\".fa-star\"),\r\nratingTotal = document.querySelectorAll(\".rating-total\");\r\n\r\n// convert ratingTotal HTMLCollection to array and reverse its order (5 star <-> 1 star)\r\nvar reverseRatingTotal = Array.from(ratingTotal).reverse();\r\n\r\n// display initial rating totals\r\n// displayTotals();\r\n\r\n// use event listener to record changes to user rating\r\nstarRating.forEach(function(star) {\r\nstar.addEventListener(\"change\", recordRating);\r\n})\r\n\r\nfunction recordRating(event) {\r\n// use indexOf to identify selected user rating\r\nvar userRating = Array.from(starRating).indexOf(event.target);\r\n\r\n// define selected rating to adjust display totals\r\nvar selectedIndex;\r\n\r\nstarRating.forEach(function(item, index) {\r\n// add or remove .active class based upon selected user rating\r\nif (index < userRating + 1) {\r\nstarRating[index].classList.add(\"active\");\r\nselectedIndex = index;\r\n} else {\r\nstarRating[index].classList.remove(\"active\");\r\n}\r\n\r\ndisplayTotals(selectedIndex);\r\n});\r\n}\r\nvm.countForStatus = 50;\r\n// display star rating totals from html custom data-\r\nfunction displayTotals(selectedIndex) {\r\nvar barChart = document.querySelectorAll(\".bar\"),\r\ndisplaySummary = document.querySelectorAll(\".summary\"),\r\nnumRatings = 0,\r\nnumRatingsValue = 0;\r\n\r\n// convert barChart HTMLCollection to array and reverse its order (5 star <-> 1 star)\r\nvar reverseBarChart = Array.from(barChart).reverse();\r\n\r\nreverseRatingTotal.forEach(function(total, index) {\r\nif (index == selectedIndex) {\r\n// add selected rating to display total\r\ntotal.innerHTML = (parseInt(total.getAttribute(\"data-rating-count\")) + 1);\r\n// adjust selected bar width\r\nreverseBarChart[index].style.width = (((parseInt(total.getAttribute(\"data-rating-count\")) + 1) / 20) * 100) + \"%\";\r\n} else {\r\n// display unselected totals\r\ntotal.innerHTML = total.getAttribute(\"data-rating-count\");\r\n// adjust unselected bar widths\r\nreverseBarChart[index].style.width = ((total.getAttribute(\"data-rating-count\") / 20) * 100) + \"%\";\r\n}\r\n// count total number and value of ratings\r\nnumRatings += parseInt(total.innerHTML);\r\nnumRatingsValue += (parseInt(total.innerHTML) * (index + 1));\r\n});\r\n\r\n// display rating average and total\r\nratingsAverage = (numRatingsValue / numRatings).toFixed(2);\r\n// displaySummary[0].innerHTML = ratingsAverage + \" average based on \" + numRatings + \" reviews.\";\r\n}\r\n\r\nvm.Get360VendorTeamData = function (teamid) {\r\n vm.userId = teamid;\r\n DashboardService.Get360VendorTeamData(loggedinUser, teamid, token).then(function (resp) {\r\n vm.vendorteam = resp.data;\r\n })\r\n}\r\n\r\n\r\nvm.FinanceFiltersList=[];\r\nvm.GetFinancialSummary = function () { \r\n DashboardService.GetFinancialSummary(loggedinUser, token,vm.userId, fnitemNames, fnitemValues, fPageIndex, fPageSize, startDate, endDate).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.paymentCount = resp.data.paymentsSummary;\r\n vm.FinanceFiltersList = resp.data.financialSummary360.financialLPSummaryList;\r\n $scope.totalFinList = resp.data.financialSummary360.count;\r\n if(vm.FinanceFiltersList.length < vm.financePageListCount)\r\n vm.financeListLength = $scope.totalFinList;\r\n else\r\n vm.financeListLength = fPageIndex * vm.financePageListCount;\r\n if(fPageIndex==1)\r\n vm.fpageindexCount = 1;\r\n else\r\n vm.fpageindexCount = (((fPageIndex-1) * vm.financePageListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n vm.ResetUserFilter();\r\n}\r\n\r\nvm.Get360WorkSummary = function () {\r\n DashboardService.Get360WorkSummary(loggedinUser, token,vm.userId, witemNames, witemValues, uPageIndex, uPageSize, wsSDate,wsEDate,vm.OrderBy,vm.sorttype).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.statusCount = resp.data;\r\n vm.wsTicketList = resp.data.workSummaryData;\r\n $scope.totalWS = resp.data.WorkSummaryTotalCount;\r\n if(vm.wsTicketList.length < vm.userPageListCount)\r\n vm.wsListLength = $scope.totalWS;\r\n else\r\n vm.wsListLength = uPageIndex * vm.userPageListCount;\r\n if(uPageIndex==1)\r\n vm.wspageindexCount = 1;\r\n else\r\n vm.wspageindexCount = (((uPageIndex-1) * vm.userPageListCount) + 1);\r\n }\r\n }, function (error) {\r\n\r\n })\r\n}\r\n//// \r\n$scope.isCollapsed = true;\r\nvm.GetAllNewUploadId = function(isCollapsed,UserId){\r\n // if(vm.UserId == UserId){\r\n $scope.isCollapsed = !isCollapsed;\r\n // } \r\n $scope.showRow = UserId;\r\n}\r\n\r\n\r\n //slider\r\n // var slidesInSlideshow = 2;\r\n // var slidesTimeIntervalInMs = 4000; \r\n \r\n // $scope.slideshow = 1;\r\n // var slideTimer =\r\n // $timeout(function interval() {\r\n // $scope.slideshow = ($scope.slideshow % slidesInSlideshow) + 1;\r\n // slideTimer = $timeout(interval, slidesTimeIntervalInMs);\r\n // }, slidesTimeIntervalInMs);\r\n\r\n //end slider\r\n\r\n // remove and change class\r\n vm.sortClass = function(col){\r\n if(vm.SortField == col ){\r\n if(vm.SortType == 'desc'){\r\n return 'fa fa-arrow-down'; \r\n }else{\r\n return 'fa fa-arrow-up';\r\n }\r\n }\r\n else{\r\n return '';\r\n }\r\n }\r\n\r\n /// Slider on certificate\r\n vm.getFileType = function(url){\r\n if(url==null || url==\"\")\r\n {\r\n return \"others\";\r\n }\r\n else{\r\n if(url.indexOf(\".jpg\")>=0 || url.indexOf(\".jpeg\")>=0 || url.indexOf(\".png\")>=0 || url.indexOf(\".bmp\")>=0 ||url.indexOf(\".JPG\")>=0 || url.indexOf(\".JPEG\")>=0 || url.indexOf(\".PNG\")>=0 || url.indexOf(\".BMP\")>=0){\r\n return \"image\";\r\n } else if(url.indexOf(\".pdf\")>=0 || url.indexOf(\".PDF\")>=0){\r\n return \"pdf\";\r\n } else if(url.indexOf(\".xls\")>=0 || url.indexOf(\".xlsx\")>=0 ||url.indexOf(\".XLS\")>=0 || url.indexOf(\".XLSX\")>=0){\r\n return \"xls\"; \r\n } else if(url.indexOf(\".doc\")>=0 || url.indexOf(\".docx\")>=0 || url.indexOf(\".DOC\")>=0 || url.indexOf(\".DOCX\")>=0){\r\n return \"doc\";\r\n } \r\n else {\r\n return \"others\";\r\n }\r\n }\r\n }\r\n\r\n vm.CertificateimageServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.CertificateImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else{\r\n vm.CertificateImg[index] = resp.data;\r\n }\r\n }, function() {\r\n vm.CertificateImg[index] = 'assets/images/patterns/image_placeholder.png';\r\n });\r\n \r\n }\r\n \r\n vm.CertVideoServices = function(video){\r\n MainService.GetVideoBlob(loggedinUser, token, video).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.kycVideo = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else{\r\n vm.kycVideo = resp.data;\r\n } \r\n }, function() {\r\n vm.kycVideo = 'assets/images/patterns/image_placeholder.png';\r\n }); \r\n }\r\n \r\n $scope.currentImageIndex = 0;\r\n \r\n $scope.images = [\r\n // 'https://via.placeholder.com/300/09f/fff.png',\r\n // 'https://www.gstatic.com/webp/gallery3/1.sm.png',\r\n // 'https://via.placeholder.com/300/09f/fff.png',\r\n // 'https://www.gstatic.com/webp/gallery3/1.sm.png',\r\n // 'https://via.placeholder.com/300/09f/fff.png'\r\n 'assets/images/patterns/demo2.PNG',\r\n 'assets/images/patterns/certificatentt2.jpg'\r\n\r\n ];\r\n \r\n $scope.nextImage = function() {\r\n $scope.currentImageIndex++;\r\n if ($scope.currentImageIndex >= $scope.images.length) {\r\n $scope.currentImageIndex = 0;\r\n }\r\n };\r\n \r\n $scope.prevImage = function() {\r\n $scope.currentImageIndex--;\r\n if ($scope.currentImageIndex < 0) {\r\n $scope.currentImageIndex = $scope.images.length - 1;\r\n }\r\n };\r\n \r\n\r\n\r\n});\nangular.module('inspinia').service('AccountsRechargeHistoryService', function (ApiURL, FreelancerURL, $http) {\r\n\r\n vm = this;\r\n vm.setShowSuccess = function (success) {\r\n vm.showSuccess = success;\r\n }\r\n vm.setShowFailure = function (failure) {\r\n vm.showFailure = failure;\r\n }\r\n \r\n //https://perf.mymobiforce.com/FreelancerAPI/api/PaymentAccount/U400000000001/getrechargehistorybyself?StartDate=&EndDate=\r\n this.GetAllAccountsRechargeDetails = function (loggedinUser, token) {\r\n var url = FreelancerURL + '/api/PaymentAccount/' + loggedinUser+ '/getrechargehistorybyself?StartDate=&EndDate=';\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json','Token':token, 'UserId': loggedinUser }\r\n });\r\n }\r\n \r\n });\nangular.module('inspinia').controller('AccountsRechargeHistoryController', function (DTColumnBuilder, DTOptionsBuilder, $scope, $q,AccountsRechargeHistoryService, $localStorage, $log, toaster, $timeout) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n \r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n } else {\r\n AccountsRechargeHistoryService.setShowSuccess($scope.$parent.$parent.main.showSuccess);\r\n AccountsRechargeHistoryService.setShowFailure($scope.$parent.$parent.main.showFailure);\r\n vm.CurrencySetting = $localStorage.accountConfig.CurrencySetting;\r\n vm.GetAllAccountsRecharge = function(){\r\n AccountsRechargeHistoryService.GetAllAccountsRechargeDetails(loggedinUser, token).then(function(resp){\r\n if(resp && resp.data.length > 0){\r\n vm.buildTable(resp.data);\r\n }\r\n });\r\n } \r\n vm.GetAllAccountsRecharge();\r\n\r\n if(vm.CurrencySetting == 'Credits'){\r\n var RechargeAmount = 'Recharge Amount(Credits)';\r\n var gst = 'GST(Credits)';\r\n var ProcessingFeeAmount = 'Transaction Processing(Credits)';\r\n var TotalAmount = 'Total Amount(Credits)';\r\n }else{\r\n var RechargeAmount = 'Recharge Amount(INR)';\r\n var gst = 'GST(INR)';\r\n var ProcessingFeeAmount = 'Transaction Processing(INR)';\r\n var TotalAmount = 'Total Amount(INR)';\r\n }\r\n // vm.ConverttoDecimal = function(value) {\r\n // return (parseFloat(value).toFixed(2))\r\n // }\r\n \r\n vm.buildTable = function (data) {\r\n vm.dtColumns = [ \r\n DTColumnBuilder.newColumn('RechargeAmount').withTitle(RechargeAmount).renderWith(function (data, type, full, meta) { \r\n return (parseFloat(full.RechargeAmount).toFixed(2));\r\n }),\r\n DTColumnBuilder.newColumn('GST').withTitle(gst),\r\n DTColumnBuilder.newColumn('ProcessingFeeAmount').withTitle(ProcessingFeeAmount), \r\n DTColumnBuilder.newColumn('TotalAmount').withTitle(TotalAmount),\r\n DTColumnBuilder.newColumn('CreatedOn').withTitle('Recharge On').withOption('type','date').renderWith(function (data, type, full, meta) { \r\n if ( type === 'display' || type === 'filter' ) {\r\n return moment(full.CreatedOn).format('DD/MMM/YYYY hh:mm:ss A');\r\n }\r\n return data;\r\n }),\r\n DTColumnBuilder.newColumn('PaymentId').withTitle('Payment Id'),\r\n DTColumnBuilder.newColumn('PaymentType').withTitle('Payment Type'),\r\n DTColumnBuilder.newColumn('RechargeBy').withTitle('User Id'),\r\n DTColumnBuilder.newColumn('Description').withTitle('Description')\r\n ];\r\n vm.dtOptions = DTOptionsBuilder.fromFnPromise(function() { \r\n var defer = $q.defer();\r\n defer.resolve(data);\r\n return defer.promise; \r\n }).withDOM(\r\n '<\"html5buttons\"B>lTfgitp').withPaginationType(\r\n 'full_numbers').withOption('lengthChange', false)\r\n .withOption('order', [4]); \r\n } \r\n }\r\n });\nangular.module('inspinia').service('AllTasksOpsService', function (ApiURL,FreelancerURL, $http) {\r\n\r\n this.CommittmentFollowUp = function (data, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/MMFServicePack/UpdateUserCommittmetStatus';\r\n return $http.put(url, data, {\r\n headers: { 'ContentType': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetAllActivitiesForUser = function (userId, loggedinUser, token) {\r\n var url = ApiURL + '/api/Timeline/GetAllCallRecordingForUser?UserId=' + userId;\r\n return $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n this.CloseOnBoardingTask = function (data, loggedinUser, token) {\r\n var url = ApiURL + '/api/OnBoardingTask/CloseOnBoardingTask';\r\n return $http.post(url, data,{\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.callToTechnicianApi = function (loggedinUser, userid, token) {\r\n url = ApiURL + '/api/CallPatching/ClickToCallFieldTeam?userId=' + userid + '&CallFor=CommitmentCall';\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetOnBoardingTaskByFilters = function (data, loggedinUser, token) {\r\n var url = ApiURL + '/api/OnBoardingTask/GetOnBoardingTATBreachedTaskByFilters';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetOnBoardingTaskCountsByFilters = function (data, loggedinUser, token) {\r\n var url = ApiURL + '/api/OnBoardingTask/GetTatTaskCountsByFilters';\r\n return $http.post(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('AllTasksOpsController', function (AllTasksOpsService,DashboardService, AllUsersListService, ReferService, CommittmentOpsService, $resource, SlotAllocationService, toaster, $filter, $compile, $q, $state, $localStorage, $scope, DTOptionsBuilder, DTColumnBuilder, $uibModal, $timeout) {\r\n\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\tvm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\t\tvar Closuredatelimit = new Date();\r\n\t\tvm.ClosureDateTime = { date: '', datepickerOptions: { minDate: Closuredatelimit } };\r\n\t\tvar datelimit = new Date();\r\n\t\tdatelimit.setMinutes(datelimit.getMinutes() + 1)\r\n\t\t// vm.AppointmentsDate = { date: '', datepickerOptions: { minDate: datelimit }, dateFormat: \"yy/mm/dd\" };\r\n\t\tvm.userCommittmentDate = new Date();\r\n\t\tvm.AppointmentsDate = {\r\n\t\t\tdatepickerOptions: {\r\n\t\t\t\tminDate: new Date()\r\n\t\t\t}\r\n\t\t};\r\n\t\tvm.userComments = \"\";\r\n\t\tvm.userCommittmentStatus = \"\";\r\n\t\tvm.closeuserCommittmentStatus = \"Interested\";\r\n\t\tvm.userCommittmentId = \"\";\r\n\t\tvar PageIndex = 1;\r\n\t\tvar PageSize = 10;\r\n\t\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\t\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\t\tvm.ExceptionType = 'COMMITMENT_FOLLOWUP';\r\n\t\tvm.UserId = '';\r\n\t\tvm.OnBoardingList = [];\r\n\t\tvm.bGVerifyListLength = 0;\r\n\t\tvm.userPageListCount = 10;\r\n\t\tvm.pageListCounts = [10, 20, 30, 50];\r\n\t\tvm.AssignedTo = '';\r\n\t\tvm.taskStatus = '';\r\n\t\tvm.DateField = 'CreatedOn';\r\n\t\tvm.State = '';\r\n\t\tvm.City = '';\r\n\t\tvm.taskPincode = '';\r\n\t\tvm.CreationSource = '';\r\n\t\tvm.taskskill = '';\r\n\t\tvm.accountId = '';\r\n\t\tvm.capacityCount = '';\r\n\t\tvm.cityOfTask = \"\";\r\n\t\tvm.accountIdOfTask = \"\";\r\n\t\tvm.stateOfTask = \"\";\r\n\t\tvm.skillOfTask = \"\";\r\n\t\tvm.descriptionOfTask = \"\";\r\n\t\tvm.Technicianstartingdate = '2017-01-01';\r\n\t\tvm.TaskId = \"\";\r\n\t\tvm.IsFreelancerBidCount = false;\r\n\t\tvm.IsFixedTeamCount = false;\r\n\t\tvm.Asset = \"\";\r\n\t\tvm.Tools = \"\";\r\n\t\tvm.Certificate = \"\";\r\n\t\tvm.PermanentCity = \"\";\r\n\t\tvm.techPincode = \"\";\r\n\t\tvm.PermanentState = \"\";\r\n\t\tvm.TicketState = \"\";\r\n\t\tvm.SearchByAccountName = \"\";\r\n\t\tvm.PreferredForAccounts = \"\";\r\n\t\tvm.TicketCity = \"\";\r\n\t\tvm.ticketStatus = \"\";\r\n\t\tvm.IsCommittedUser = false,\r\n\t\tvm.IsCommitmentInterestedUser = false,\r\n\t\t$scope.Prime = false;\r\n\t\t$scope.NonPrime = false;\r\n\t\tvm.PssStatus = \"\";\r\n\t\t$scope.selectedTools = [];\r\n\t\tvm.JobSkill = \"\";\r\n\t\tvm.ActiveInMonth = \"\";\r\n\t\tvm.NoOfJobDone = \"\";\r\n\t\tvm.Asset = \"\";\r\n\t\tvm.Tools = \"\";\r\n\t\tvm.UserRole = \"\";\r\n\t\tvm.MatchCriteria = \"\";\r\n\t\tvm.TraningCertificate = \"\";\r\n\t\tvm.ToolList = \"\";\r\n\t\tvm.OneJobDone = false;\r\n\t\tvm.TwoJobDoneForSkills = false;\r\n\t\tvm.SearchTag = \"\";\r\n\t\tvm.MatchingSkill = false;\r\n\t\tvm.Asset_Bike = false;\r\n\t\tvm.Asset_Mobile = false;\r\n\t\tvm.Asset_Laptop = false;\r\n\t\tvm.disableCreateButton = false;\r\n\t\tvm.Sort = \"desc\";\r\n\t\tvm.Pincode = \"\";\r\n\t\tvm.Experience = \"\";\r\n\t\tvm.Ratings = \"\";\r\n\t\tvm.Assets_Tools = \"\";\r\n\t\tvm.Jobscount = \"\";\r\n\t\tvm.FilterAdhar = \"\";\r\n\t\tvm.FilterPancard = \"\";\r\n\t\tvm.IsAuthorizedServiceCenter = false;\r\n\t\t$localStorage.filteraddskill = \"\";\r\n\t\t$localStorage.filterPermanentstate = \"\";\r\n\t\tvm.currentPage = $localStorage.PageIndex ? $localStorage.PageIndex : 1;\r\n\t\t$scope.totalUsers = 0;\r\n\t\t$scope.pagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\t\t$scope.pagination.current = $localStorage.PageIndex ? $localStorage.PageIndex : 1;\r\n\t\t$scope.totalTableUsers = 0;\r\n\t\t$scope.usersTablePerPage = 10;\r\n\t\t$scope.UserTablepagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\r\n\t\t$scope.UserTablepagination.current = $localStorage.PageIndex ? $localStorage.PageIndex : 1;\r\n\t\t$scope.pageChanged = function (newPage) {\r\n\t\t\tvm.currentPage = newPage;\r\n\t\t\tvm.applyfilter(newPage);\r\n\r\n\t\t};\r\n\t\t$scope.dates = { startDate: moment().subtract(30, 'days'), endDate: moment() };\r\n\t\tvar startDate = moment().subtract(30, 'days').format(\"YYYY-MM-DD\");\r\n\t\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\r\n\t\t$scope.ranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment()]\r\n\t\t};\r\n\r\n\t\tvm.ticketdates = { startDate: moment().subtract(30, 'days'), endDate: moment() };\r\n\t\tvm.ticketranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment().endOf('month')],\r\n\t\t\t'Till now': [moment(vm.Technicianstartingdate), moment(endDate)],\r\n\t\t};\r\n\t\tvm.outsidedateRangeChange = function (ev, picker) {\r\n\t\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\t};\r\n\t\tvm.GetAllActiveTaskForFilter = function () {\r\n\t\t\tAllUsersListService.GetAllActiveTaskForFilter(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.ActiveTaskList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.GetAllActiveTaskForFilter();\r\n\r\n\t\tvm.UserRoleList = [\"Field Engineer\", \"Vendor Manager\", \"VendorTeam\", \"ServiceCenter\"];\r\n\r\n\t\tvm.getSkills = function () {\r\n\t\t\tAllUsersListService.getSkills(loggedinUser, token, function (skills) {\r\n\t\t\t\tvm.skills = skills;\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.getSkills();\r\n\r\n\t\tvm.GetAllAccounts = function () {\r\n\t\t\tAllUsersListService.GetAllAccountDetails(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.accountsList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.GetAllAccounts();\r\n\r\n\t\tvm.getAllSlotsByStatus = function (status) {\r\n\t\t\tvm.taskStatus = status;\r\n\t\t\tPageIndex = 1;\r\n\t\t\tvm.GetOnBoardingTaskByFilters();\r\n\t\t}\r\n\t\t\r\n\t\tvm.activeTab = \"FollowUp\";\r\n\r\n\t\t$scope.changeBackgroundColor = function (event, activeTab) {\r\n\t\t\tvm.activeTab = activeTab;\r\n\t\t\tif ($scope.selectedElement) {\r\n\t\t\t\t$scope.selectedElement.style.backgroundColor = 'white';\r\n\t\t\t}\r\n\t\t\tvar targetElement = event.currentTarget;\r\n\t\t\ttargetElement.style.backgroundColor = '#b3b3b966';\r\n\t\t\t// targetElement.style.color = '#fff';\r\n\r\n\t\t\t$scope.selectedElement = targetElement;\r\n\t\t\tif (vm.activeTab == \"CommitmentMain\") {\r\n\t\t\t\tvm.ExceptionType = \"CAPACITY_GAP_COMMITMENT\";\r\n\t\t\t\tvm.TaskId = \"\";\r\n\t\t\t\t// startDate = moment().subtract(30, 'days').format(\"YYYY-MM-DD\");\r\n\t\t\t\t// endDate = moment().format(\"YYYY-MM-DD\");\r\n\t\t\t\tvm.GetOnBoardingTaskByFilters();\r\n\t\t\t\tvm.GetOnBoardingTaskCounts();\r\n\t\t\t\tvm.AllapplyTalentPoolfilter();\r\n\t\t\t}\r\n\t\t\tif (vm.activeTab == \"Commitment\") {\r\n\t\t\t\tvm.ExceptionType = \"CAPACITY_GAP_COMMITMENT\";\r\n\t\t\t}\r\n\t\t\tif (vm.activeTab == \"FollowUp\") {\r\n\t\t\t\tvm.ExceptionType = \"COMMITMENT_FOLLOWUP\";\r\n\t\t\t\tvm.GetOnBoardingTaskByFilters();\r\n\t\t\t\tvm.GetOnBoardingTaskCounts();\r\n\t\t\t}\r\n\t\t\tif (vm.activeTab != \"FollowUp\" && vm.activeTab != \"Commitment\" && vm.activeTab != \"CommitmentMain\") {\r\n\t\t\t\tvm.ExceptionType = vm.activeTab;\r\n\t\t\t\tvm.GetOnBoardingTaskByFilters();\r\n\t\t\t\tvm.GetOnBoardingTaskCounts();\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t$timeout(function () {\r\n\t\t\t$scope.changeBackgroundColor({ currentTarget: document.getElementById('FollowUp') }, 'FollowUp');\r\n\t\t}, 0);\r\n\r\n\t\tvm.callToTechnician = function (userid) {\r\n\t\t\tAllTasksOpsService.callToTechnicianApi(loggedinUser, userid, token).then(function (resp) {\r\n\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", \"Call Initiated\");\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failure\", resp.data.Message);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t}\r\n\r\n\t\tvm.ApplyTaskfilter = function () {\r\n\t\t\t// $scope.UserTablepagination = {};\r\n\t\t\t// $scope.UserTablepagination = {\r\n\t\t\t// current: 1\r\n\t\t\t// };\r\n\t\t\t// $scope.hideFilter();\r\n\t\t\tvm.GetOnBoardingTaskByFilters();\r\n\t\t\tvm.GetOnBoardingTaskCounts();\r\n\t\t}\r\n\r\n\t\tvm.editJobAppointment = function () {\r\n\t\t\tvm.jobAppointmentModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'editJobAppointment.html',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\r\n\r\n\t\tvm.closeJobAppointment = function () {\r\n\t\t\tvm.jobAppointmentModal.close();\r\n\t\t}\r\n\r\n\t\t$scope.userFilter = true;\r\n\t\t$scope.assignJobFilter = function () {\r\n\t\t\t$scope.userFilter = !$scope.userFilter;\r\n\t\t\t$scope.myvalue = false;\r\n\t\t\t$scope.manualAssignationWrapper = \"hide-nav\";\r\n\t\t};\r\n\t\t$scope.broadcastSentUser = true;\r\n\t\t$scope.toggleForBroadcast = function () {\r\n\t\t\t$scope.broadcastSentUser = !$scope.broadcastSentUser;\r\n\t\t\t$scope.myvalue = false;\r\n\r\n\t\t};\r\n\r\n\t\t$scope.calltrack = function () {\r\n\t\t\t$scope.myvalue = false;\r\n\t\t\t$scope.class_status = true;\r\n\t\t\t$scope.broadcastSentUser = true;\r\n\r\n\t\t}\r\n\r\n\t\t$scope.hideoverlay = function () {\r\n\t\t\t$scope.myvalue = false;\r\n\t\t\t$scope.broadcastSentUser = true;\r\n\t\t\t\r\n\t\t }\r\n\r\n\r\n\t\t$scope.customSearch = function (item) {\r\n\t\tif (!vm.SearchTagNew) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tvar lowerCaseSearchText = vm.SearchTagNew.toLowerCase();\r\n\t\tfor (var prop in item) {\r\n\t\t\tif (item.hasOwnProperty(prop) && angular.isString(item[prop])) {\r\n\t\t\tvar lowerCaseProp = item[prop].toLowerCase();\r\n\t\t\tif (lowerCaseProp.includes(lowerCaseSearchText)) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t\t};\r\n\r\n\r\n\t\tvm.GetOnBoardingTaskByFilters = function () {\r\n\t\t\tif (vm.loggedInUserRole == 'Dispatch Manager' || vm.loggedInUserRole == 'Dispatch Supervisor') {\r\n\t\t\t\tvm.CreationSource = 'Manual';\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.CreationSource = '';\r\n\t\t\t}\r\n\t\t\tdata = {\r\n\t\t\t\t\"Status\": vm.taskStatus,\r\n\t\t\t\t\"Skill\": vm.taskskill == \"\" ? \"\" : vm.taskskill.join(\"|\"),\r\n\t\t\t\t\"DateField\": vm.DateField,\r\n\t\t\t\t\"FromDate\": moment().subtract(5, 'years').format(\"YYYY-MM-DD\"),\r\n\t\t\t\t\"ToDate\": endDate,\r\n\t\t\t\t\"AccountId\": vm.accountId == \"\" ? \"\" : vm.accountId.join(\"|\"),\r\n\t\t\t\t\"PageIndex\": PageIndex,\r\n\t\t\t\t\"PageSize\": 500,\r\n\t\t\t\t\"State\": vm.State,\r\n\t\t\t\t\"City\": vm.City,\r\n\t\t\t\t\"Pincode\": vm.taskPincode,\r\n\t\t\t\t\"OrderBy\": vm.OrderBy,\r\n\t\t\t\t\"Sort\": vm.Sort,\r\n\t\t\t\t\"AssignedTo\": vm.AssignedTo == \"\" ? \"\" : vm.AssignedTo.join(\"|\"),\r\n\t\t\t\t\"CreationSource\": vm.CreationSource,\r\n\t\t\t\t\"ExceptionType\": vm.ExceptionType,\r\n\t\t\t}\r\n\t\t\tAllTasksOpsService.GetOnBoardingTaskByFilters(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.OnBoardingList = resp.data.OnBoardingResModelList;\r\n\t\t\t\t\t$scope.totalTableUsersBG = resp.data.RecordCount;\r\n\t\t\t\t\tif (vm.OnBoardingList.length < vm.userPageListCount)\r\n\t\t\t\t\t\tvm.bGVerifyListLength = $scope.totalTableUsersBG;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.bGVerifyListLength = PageIndex * vm.userPageListCount;\r\n\t\t\t\t\tif (PageIndex == 1)\r\n\t\t\t\t\t\tvm.pageindexCount = 1;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.pageindexCount = (((PageIndex - 1) * vm.userPageListCount) + 1);\r\n\t\t\t\t}\r\n\r\n\t\t\t})\r\n\t\t}\r\n\t\tvm.GetOnBoardingTaskCounts = function () {\r\n\t\t\tif (vm.loggedInUserRole == 'Dispatch Manager' || vm.loggedInUserRole == 'Dispatch Supervisor') {\r\n\t\t\t\tvm.CreationSource = 'Manual';\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.CreationSource = '';\r\n\t\t\t}\r\n\t\t\tdata = {\r\n\t\t\t\t\"Status\": vm.taskStatus,\r\n\t\t\t\t\"Skill\": vm.taskskill == \"\" ? \"\" : vm.taskskill.join(\"|\"),\r\n\t\t\t\t\"DateField\": vm.DateField,\r\n\t\t\t\t\"FromDate\": moment().subtract(5, 'years').format(\"YYYY-MM-DD\"),\r\n\t\t\t\t\"ToDate\": endDate,\r\n\t\t\t\t\"AccountId\": vm.accountId == \"\" ? \"\" : vm.accountId.join(\"|\"),\r\n\t\t\t\t\"PageIndex\": PageIndex,\r\n\t\t\t\t\"PageSize\": 500,\r\n\t\t\t\t\"State\": vm.State,\r\n\t\t\t\t\"City\": vm.City,\r\n\t\t\t\t\"Pincode\": vm.taskPincode,\r\n\t\t\t\t\"OrderBy\": vm.OrderBy,\r\n\t\t\t\t\"Sort\": vm.Sort,\r\n\t\t\t\t\"AssignedTo\": vm.AssignedTo == \"\" ? \"\" : vm.AssignedTo.join(\"|\"),\r\n\t\t\t\t\"CreationSource\": vm.CreationSource,\r\n\t\t\t\t\"ExceptionType\": vm.ExceptionType,\r\n\t\t\t}\r\n\t\t\tAllTasksOpsService.GetOnBoardingTaskCountsByFilters(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.TotalTask = resp.data.TotalTask;\r\n\t\t\t\t\tvm.OpenTask = resp.data.OpenTask;\r\n\t\t\t\t\tvm.ClosedTask = resp.data.ClosedTask;\r\n\t\t\t\t\tvm.InProgressTask = resp.data.InProgressTask;\r\n\t\t\t\t\tvm.FollowUpTask = resp.data.FollowUpTask;\r\n\t\t\t\t\tvm.CommitmentTask = resp.data.CommitmentTask;\r\n\t\t\t\t\tvm.PickupTAT = resp.data.PickupTAT;\r\n\t\t\t\t\tvm.EstimateTAT = resp.data.EstimateTAT;\r\n\t\t\t\t\tvm.EstimateApprovalTAT = resp.data.EstimateApprovalTAT;\r\n\t\t\t\t\tvm.RepairTAT = resp.data.RepairTAT;\r\n\t\t\t\t\tvm.DeliveryTAT = resp.data.DeliveryTAT;\r\n\t\t\t\t\tvm.OverallClosedTask = resp.data.OverallClosedTask;\r\n\t\t\t\t\tvm.OverallTotalTask = resp.data.OverallTotalTask;\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tvm.GetOnBoardingTaskByFilters();\r\n\t\tvm.GetOnBoardingTaskCounts();\r\n\r\n\t\tvm.getAllCertificate = function () {\r\n\t\t\tAllUsersListService.GetAllCertificate(loggedinUser, token, function (data) {\r\n\t\t\t\tvm.AllCertificateSets = data;\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.getAllCertificate();\r\n\r\n\t\tvm.brandList = [\"LG\", \"Samsung\", \"Havells & lloyds\", \"Hitachi\", \"Panasonic\", \"O general\", \"Daikin\", \"Micromax\", \"Bluestar\", \"Toshiba\", \"Glen\", \"Lifelong\", \"Whirlpool\", \"IFB\", \"Philips\", \"Godrej\", \"Bajaj\"];\r\n\r\n\t\tvm.productList = [\"Aircon\", \"Air cooler\", \"Home Appliances\", \"IT\", \"AC\", \"Multi product\", \"RO\", \"Printer\"];\r\n\r\n\t\tfunction getAllStates() {\r\n\t\t\tvar defered = $q.defer();\r\n\t\t\tReferService.getAllState(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tdefered.resolve(resp);\r\n\t\t\t}, function (error) {\r\n\t\t\t\tdefered.reject(error);\r\n\t\t\t});\r\n\t\t\treturn defered.promise;\r\n\t\t}\r\n\r\n\t\tvar allStatePromise = getAllStates(loggedinUser);\r\n\t\tallStatePromise.then(function (resp) {\r\n\t\t\tvm.StateList = resp.data;\r\n\r\n\t\t});\r\n\t\tfunction getallCities(state) {\r\n\t\t\tReferService.getAllCity(loggedinUser, state, token).then(function (resp) {\r\n\t\t\t\tvm.CityList = resp.data;\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.selectedState = function (state) {\r\n\t\t\tgetallCities(state);\r\n\t\t}\r\n\r\n\t\tvm.taskBasedFilter = function (task) {\r\n\t\t\tvm.TaskId = task;\r\n\t\t\tstartDate = moment().subtract(5, 'years').format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = moment().format(\"YYYY-MM-DD\");\r\n\t\t\tvm.AllapplyTalentPoolfilter();\r\n\t\t}\r\n\r\n\t\tvm.Open360ForActiveUsers = function (teamid) {\r\n\t\t\tif (vm.loggedInUserRole != 'Dispatch Head' && vm.loggedInUserRole != 'Higher Management' && vm.loggedInUserRole != 'Community Manager') {\r\n\t\t\t\t$state.go('index.Dashboard', {\r\n\t\t\t\t\tUserId: teamid\r\n\t\t\t\t}, { reload: true });\r\n\t\t\t}\r\n\t\t\telse if (vm.loggedInUserRole == 'Dispatch Head' || vm.loggedInUserRole == 'Higher Management' || vm.loggedInUserRole == 'Community Manager') {\r\n\t\t\t\t$state.go('index.Technician360view', {\r\n\t\t\t\t\tuserId: teamid\r\n\t\t\t\t}, { reload: true });\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\t$scope.TalentPoolTablepageChanged = function (newPage) {\r\n\r\n\t\t\tvm.currentPage = newPage;\r\n\r\n\t\t\tvm.applyfilter(newPage, '');\r\n\t\t};\r\n\r\n\t\tvm.applyfilter = function (index, data) {\r\n\t\t\tvar userFormData = {};\r\n\t\t\tif (data) {\r\n\t\t\t\tuserFormData = data;\r\n\t\t\t} else {\r\n\t\t\t\tvar temp = [];\r\n\t\t\t\tvar res = vm.Experience.split(\"-\");\r\n\t\t\t\tvar jobscount = vm.Jobscount.split(\"-\");\r\n\t\t\t\tvar ratings = vm.Ratings.split(\"-\");\r\n\t\t\t\tuserFormData = {\r\n\t\t\t\t\t\"PageIndex\": index,\r\n\t\t\t\t\t\"PageSize\": 10,\r\n\t\t\t\t\t\"ActivationStartDate\": startDate,\r\n\t\t\t\t\t\"ActivationEnddate\": endDate,\r\n\t\t\t\t\t\"State\": vm.PermanentState,\r\n\t\t\t\t\t\"Cities\": vm.PermanentCity,\r\n\t\t\t\t\t\"Pincodes\": temp,\r\n\t\t\t\t\t\"Skill\": vm.addSkill,\r\n\t\t\t\t\t\"ExperienceStart\": res[0],\r\n\t\t\t\t\t\"ExperienceEnd\": res[1],\r\n\t\t\t\t\t\"Certificates\": vm.addTraningCertificateName,\r\n\t\t\t\t\t\"IsBikeAvailable\": vm.Asset_Bike,\r\n\t\t\t\t\t\"IsMobileAvailable\": vm.Asset_Mobile,\r\n\t\t\t\t\t\"IsLaptopAvailable\": vm.Asset_Laptop,\r\n\t\t\t\t\t\"Tools\": vm.Asset_Tools,\r\n\t\t\t\t\t\"JobCountStart\": jobscount[0],\r\n\t\t\t\t\t\"JobCountEnd\": jobscount[1],\r\n\t\t\t\t\t\"RatingStart\": Number(ratings[0]),\r\n\t\t\t\t\t\"RatingEnd\": Number(ratings[1]),\r\n\t\t\t\t\t\"PreferredTalentPool\": false,\r\n\t\t\t\t\t\"IsStudent\": vm.Student,\r\n\t\t\t\t\t\"IsCriminalVerified\": vm.Criminal,\r\n\t\t\t\t\t\"IsBankVarified\": vm.IsBankVerified,\r\n\t\t\t\t\t\"IsUPIVarified\": vm.IsUPIVarified,\r\n\t\t\t\t\t\"MMFPrimeMember\": $scope.Prime,\r\n\t\t\t\t\t\"IsCommittedUser\": vm.IsCommittedUser,\r\n\t\t\t\t\t\"IsCommitmentInterestedUser\": vm.IsCommitmentInterestedUser,\r\n\t\t\t\t\t\"MMFNonPrimeMember\": $scope.NonPrime,\r\n\t\t\t\t\t\"IsOpenForInternship\": vm.Intern,\r\n\t\t\t\t\t\"IsAdharVerified\": vm.Adharcard,\r\n\t\t\t\t\t\"IsPanVerified\": vm.Pancard,\r\n\t\t\t\t\t\"Source\": vm.Source,\r\n\t\t\t\t\t\"FreelancerRole\": vm.freelancerRole,\r\n\t\t\t\t\t\"UserStatus\": vm.UserStatus,\r\n\t\t\t\t\t\"PssStatus\": vm.PssStatus,\r\n\t\t\t\t\t\"OneJobDoneForSkills\": vm.OneJobDone,\r\n\t\t\t\t\t\"TwoJobDoneForSkills\": vm.TwoJobDoneForSkills,\r\n\t\t\t\t\t\"ReportingTo\": vm.ReportingTo,\r\n\t\t\t\t\t\"OrderBy\": vm.OrderBy,\r\n\t\t\t\t\t\"SortType\": vm.SortType,\r\n\t\t\t\t\t\"UserVerificationStatus\": vm.UserVerificationStatus,\r\n\t\t\t\t\t\"IsFreelancerBidCount\": vm.IsFreelancerBidCount,\r\n\t\t\t\t\t\"IsFixedTeamCount\": vm.IsFixedTeamCount,\r\n\t\t\t\t\t\"ContactNumber\": vm.ContactNumber,\r\n\t\t\t\t\t\"UserName\": vm.UserName,\r\n\t\t\t\t\t\"UserId\": vm.UserId,\r\n\t\t\t\t\t\"BrandName\": vm.ServiceBrand,\r\n\t\t\t\t\t\"ProductServing\": vm.ServiceProduct,\r\n\t\t\t\t\t\"SearchTag\": vm.SearchTag,\r\n\t\t\t\t\t\"IsAuthorizedServiceCenterCount\": vm.IsAuthorizedServiceCenter,\r\n\t\t\t\t\t\"TaskId\": vm.TaskId\r\n\t\t\t\t}\r\n\t\t\t\tif (vm.adddaterange) {\r\n\t\t\t\t\tuserFormData.ActivationStartDate = startDate;\r\n\t\t\t\t\tuserFormData.ActivationEnddate = endDate;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t$localStorage.FilterData = userFormData;\r\n\t\t\tAllUsersListService.Filter(loggedinUser, token, userFormData).then(function (resp) {\r\n\t\t\t\tif (resp.data) {\r\n\t\t\t\t\tvm.users = [];\r\n\t\t\t\t\tvm.Bluserlist = [];\r\n\t\t\t\t\tvm.usersCounts = resp.data;\r\n\t\t\t\t\tvm.users = resp.data.Users;\r\n\r\n\t\t\t\t\tfor (var i = 0; i < vm.users.length; i++) {\r\n\t\t\t\t\t\tif (vm.users[i].CustomerRating) {\r\n\t\t\t\t\t\t\tvm.users[i].CustomerRating = Number(vm.users[i].CustomerRating).toFixed(1);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvm.totalTalentPoolCount = resp.data.Count;\r\n\t\t\t\t\t$scope.totalUsers = resp.data.Count;\r\n\t\t\t\t\t$scope.totalTableUsers = resp.data.Count;\r\n\r\n\t\t\t\t\tif (vm.users.length < 10)\r\n\t\t\t\t\t\tvm.usersLength = $scope.totalUsers;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.usersLength = index * 10;\r\n\t\t\t\t\tif (index == 1)\r\n\t\t\t\t\t\tvm.techpageindexCount = 1;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.techpageindexCount = (((index - 1) * 10) + 1);\r\n\r\n\t\t\t\t\tif (vm.users.length > 0) {\r\n\t\t\t\t\t\tfor (var i = 0; i < vm.users.length; i++) {\r\n\t\t\t\t\t\t\tif (vm.users[i].BlockedByAccounts) {\r\n\t\t\t\t\t\t\t\tif (vm.users[i].BlockedByAccounts.length > 0) {\r\n\t\t\t\t\t\t\t\t\tfor (var j = 0; j < vm.users[i].BlockedByAccounts.length; j++) {\r\n\t\t\t\t\t\t\t\t\t\tif (vm.users[i].BlockedByAccounts[j] == AccountID) {\r\n\t\t\t\t\t\t\t\t\t\t\tvm.Bluserlist.push(vm.users[i]);\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t})\r\n\r\n\t\t}\r\n\r\n\t\tvm.GetReportingToMeUsers = function () {\r\n\t\t\tSlotAllocationService.GetReportingToMeUsers(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.data) {\r\n\t\t\t\t\tvm.UserByFiltersList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, function () {\r\n\t\t\t});\r\n\r\n\t\t}\r\n\r\n\t\tvm.GetReportingToMeUsers();\r\n\r\n\r\n\t\tvm.TechnicianclearFilter = function () {\r\n\t\t\tvm.UserName = \"\";\r\n\t\t\tvm.UserId = \"\";\r\n\t\t\tvm.ContactNumber = \"\";\r\n\t\t\tvm.Source = \"\";\r\n\t\t\tvm.Adharcard = \"\";\r\n\t\t\tvm.Pancard = \"\";\r\n\t\t\t$scope.Prime = false;\r\n\t\t\t$scope.NonPrime = false;\r\n\t\t\tvm.IsCommittedUser = false;\r\n\t\t\tvm.IsCommitmentInterestedUser = false;\r\n\t\t\tvm.PssStatus = \"\";\r\n\t\t\tvm.IsBankVerified = \"\";\r\n\t\t\tvm.PreferredForAccounts = \"\";\r\n\t\t\tvm.PssStatus = \"\";\r\n\t\t\tvm.Criminal = \"\";\r\n\t\t\tvm.PermanentState = \"\";\r\n\t\t\tvm.PermanentCity = \"\";\r\n\t\t\tvm.Experience = \"\";\r\n\t\t\tvm.traningCertificateList = \"\";\r\n\t\t\tvm.freelancerRoleList = \"\";\r\n\t\t\tvm.freelancerRole = \"\";\r\n\t\t\tvm.Asset_Laptop = \"\";\r\n\t\t\tvm.Asset_Mobile = \"\";\r\n\t\t\tvm.Asset_Bike = \"\";\r\n\t\t\tvm.Asset_Tools = \"\";\r\n\t\t\tvm.Jobscount = \"\";\r\n\t\t\tvm.Ratings = \"\";\r\n\t\t\tvm.CurrentState = \"\";\r\n\t\t\tvm.UserStatus = \"\";\r\n\t\t\tvm.userskill = [];\r\n\t\t\tvm.userskill = \"\";\r\n\t\t\tvm.OneJobDone = false;\r\n\t\t\tvm.TwoJobDoneForSkills = false;\r\n\t\t\tvm.SearchTag = \"\";\r\n\t\t\tvm.ServiceBrand = \"\";\r\n\t\t\tvm.ReportingTo = \"\";\r\n\t\t\tvm.ServiceProduct = \"\";\r\n\t\t\tvm.ReportingTo = \"\";\r\n\t\t\tvm.TaskId = \"\";\r\n\t\t\tstartDate = moment().subtract(30, 'days').format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = moment().format(\"YYYY-MM-DD\");\r\n\t\t\tvm.AllapplyTalentPoolfilter();\r\n\t\t}\r\n\r\n\t\tvm.getAllUsersByStage = function (stage) {\r\n\t\t\tvm.UserVerificationStatus = stage;\r\n\t\t\tvm.IsAuthorizedServiceCenter = false;\r\n\t\t\tvm.freelancerRole = \"\";\r\n\t\t\tvm.IsCommittedUser = false;\r\n\t\t\tvm.IsCommitmentInterestedUser = false;\r\n\t\t\tvm.UserStatus = \"\";\r\n\t\t\tvm.PssStatus = \"\";\r\n\t\t\t$scope.Prime = false;\r\n\t\t\t$scope.NonPrime = false;\r\n\t\t\tvm.OneJobDone = false;\r\n\t\t\tvm.TwoJobDoneForSkills = false;\r\n\t\t\tvm.Criminal = false;\r\n\t\t\tvm.IsFreelancerBidCount = false;\r\n\t\t\tvm.IsFixedTeamCount = false;\r\n\t\t\tvm.AllapplyTalentPoolfilter();\r\n\r\n\t\t}\r\n\r\n\t\tvm.getAllUsersByRole = function (role) {\r\n\t\t\tvm.UserVerificationStatus = \"\";\r\n\t\t\tvm.IsCommittedUser = false;\r\n\t\t\tvm.IsCommitmentInterestedUser = false;\r\n\t\t\tif (role == 'Active') {\r\n\t\t\t\tvm.UserStatus = role;\r\n\t\t\t\tvm.freelancerRole = \"\";\r\n\t\t\t}\r\n\t\t\telse if (role == 'Inactive') {\r\n\t\t\t\tvm.UserStatus = role;\r\n\t\t\t\tvm.freelancerRole = \"\";\r\n\t\t\t}\r\n\t\t\telse if (role == 'Invite') {\r\n\t\t\t\tvm.UserStatus = role;\r\n\t\t\t\tvm.freelancerRole = \"\";\r\n\t\t\t}\r\n\t\t\telse if (role == '') {\r\n\t\t\t\tvm.UserStatus = role;\r\n\t\t\t\tvm.freelancerRole = \"\";\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.freelancerRole = role;\r\n\t\t\t\tvm.UserStatus = \"Active\";\r\n\t\t\t}\r\n\t\t\t$scope.Prime = false;\r\n\t\t\t$scope.NonPrime = false;\r\n\t\t\tvm.PssStatus = \"\";\r\n\t\t\tvm.OneJobDone = false;\r\n\t\t\tvm.TwoJobDoneForSkills = false;\r\n\t\t\tvm.Criminal = false;\r\n\t\t\tvm.IsFreelancerBidCount = false;\r\n\t\t\tvm.IsFixedTeamCount = false;\r\n\t\t\tvm.IsAuthorizedServiceCenter = false;\r\n\t\t\tvm.AllapplyTalentPoolfilter();\r\n\t\t}\r\n\r\n\t\tvm.getAllOneJobDone = function () {\r\n\t\t\t$scope.Prime = false;\r\n\t\t\t$scope.NonPrime = false;\r\n\t\t\tvm.Criminal = false;\r\n\t\t\tvm.IsFixedTeamCount = false;\r\n\t\t\tvm.IsFreelancerBidCount = false;\r\n\t\t\tvm.PssStatus = \"\";\r\n\t\t\tvm.UserVerificationStatus = \"\";\r\n\t\t\tvm.IsAuthorizedServiceCenter = false;\r\n\t\t\tvm.IsCommittedUser = false;\r\n\t\t\tvm.IsCommitmentInterestedUser = false;\r\n\t\t\tvm.freelancerRole = \"\";\r\n\t\t\tvm.UserStatus = \"\";\r\n\t\t\tvm.OneJobDone = true;\r\n\t\t\tvm.TwoJobDoneForSkills = false;\r\n\t\t\tvm.AllapplyTalentPoolfilter();\r\n\t\t}\r\n\r\n\t\tvm.getAllTwoJobDone = function () {\r\n\t\t\t$scope.Prime = false;\r\n\t\t\t$scope.NonPrime = false;\r\n\t\t\tvm.Criminal = false;\r\n\t\t\tvm.IsFixedTeamCount = false;\r\n\t\t\tvm.IsFreelancerBidCount = false;\r\n\t\t\tvm.PssStatus = \"\";\r\n\t\t\tvm.UserVerificationStatus = \"\";\r\n\t\t\tvm.IsAuthorizedServiceCenter = false;\r\n\t\t\tvm.IsCommittedUser = false;\r\n\t\t\tvm.IsCommitmentInterestedUser = false;\r\n\t\t\tvm.freelancerRole = \"\";\r\n\t\t\tvm.UserStatus = \"\";\r\n\t\t\tvm.OneJobDone = false;\r\n\t\t\tvm.TwoJobDoneForSkills = true;\r\n\t\t\tvm.AllapplyTalentPoolfilter();\r\n\t\t}\r\n\r\n\t\tvm.getAllFixedTeam = function () {\r\n\t\t\t$scope.Prime = false;\r\n\t\t\t$scope.NonPrime = false;\r\n\t\t\tvm.Criminal = false;\r\n\t\t\tvm.IsFixedTeamCount = true;\r\n\t\t\tvm.IsFreelancerBidCount = false;\r\n\t\t\tvm.PssStatus = \"\";\r\n\t\t\tvm.UserVerificationStatus = \"\";\r\n\t\t\tvm.IsAuthorizedServiceCenter = false;\r\n\t\t\tvm.IsCommittedUser = false;\r\n\t\t\tvm.IsCommitmentInterestedUser = false;\r\n\t\t\tvm.freelancerRole = \"\";\r\n\t\t\tvm.UserStatus = \"\";\r\n\t\t\tvm.OneJobDone = false;\r\n\t\t\tvm.TwoJobDoneForSkills = false;\r\n\t\t\tvm.AllapplyTalentPoolfilter();\r\n\t\t}\r\n\r\n\t\tvm.getAllLeadStarted = function () {\r\n\t\t\t$scope.Prime = false;\r\n\t\t\t$scope.NonPrime = false;\r\n\t\t\tvm.Criminal = false;\r\n\t\t\tvm.IsFreelancerBidCount = true;\r\n\t\t\tvm.IsFixedTeamCount = false;\r\n\t\t\tvm.UserVerificationStatus = \"\";\r\n\t\t\tvm.IsAuthorizedServiceCenter = false;\r\n\t\t\tvm.IsCommittedUser = false;\r\n\t\t\tvm.IsCommitmentInterestedUser = false;\r\n\t\t\tvm.freelancerRole = \"\";\r\n\t\t\tvm.PssStatus = \"\";\r\n\t\t\tvm.UserStatus = \"\";\r\n\t\t\tvm.OneJobDone = false;\r\n\t\t\tvm.TwoJobDoneForSkills = false;\r\n\t\t\tvm.AllapplyTalentPoolfilter();\r\n\t\t}\r\n\r\n\t\tvm.getCountByPssValue = function (pss) {\r\n\t\t\t$scope.Prime = false;\r\n\t\t\t$scope.NonPrime = false;\r\n\t\t\tvm.PssStatus = pss;\r\n\t\t\tvm.Criminal = false;\r\n\t\t\tvm.IsFreelancerBidCount = false;\r\n\t\t\tvm.IsFixedTeamCount = false;\r\n\t\t\tvm.UserVerificationStatus = \"\";\r\n\t\t\tvm.IsCommittedUser = false;\r\n\t\t\tvm.IsCommitmentInterestedUser = false;\r\n\t\t\tvm.freelancerRole = \"\";\r\n\t\t\tvm.UserStatus = \"\";\r\n\t\t\tvm.OneJobDone = false;\r\n\t\t\tvm.TwoJobDoneForSkills = false;\r\n\t\t\tvm.IsAuthorizedServiceCenter = false;\r\n\t\t\tvm.AllapplyTalentPoolfilter();\r\n\t\t}\r\n\t\tvm.authorizeDetail = function (role) {\r\n\t\t\tif (role == 'Active') {\r\n\t\t\t\tvm.UserStatus = role;\r\n\r\n\t\t\t}\r\n\t\t\telse if (role == 'Inactive') {\r\n\t\t\t\tvm.UserStatus = role;\r\n\r\n\t\t\t}\r\n\t\t\telse if (role == '') {\r\n\t\t\t\tvm.UserStatus = role;\r\n\r\n\t\t\t}\r\n\t\t\t$scope.Prime = false;\r\n\t\t\t$scope.NonPrime = false;\r\n\t\t\tvm.Criminal = false;\r\n\t\t\tvm.IsFreelancerBidCount = false;\r\n\t\t\tvm.IsFixedTeamCount = false;\r\n\t\t\tvm.UserVerificationStatus = \"\";\r\n\t\t\tvm.IsCommittedUser = false;\r\n\t\t\tvm.IsCommitmentInterestedUser = false;\r\n\t\t\tvm.freelancerRole = \"\";\r\n\t\t\tvm.OneJobDone = false;\r\n\t\t\tvm.TwoJobDoneForSkills = false;\r\n\t\t\tvm.IsAuthorizedServiceCenter = true;\r\n\t\t\tvm.AllapplyTalentPoolfilter();\r\n\t\t}\r\n\r\n\t\tvm.committedDetail = function (committedvalue) {\r\n\t\t\tif (committedvalue == true) {\r\n\t\t\t\tvm.IsCommittedUser = true;\r\n\t\t\t\tvm.IsCommitmentInterestedUser = false;\r\n\t\t\t}\r\n\t\t\telse if (committedvalue == false) {\r\n\t\t\t\tvm.IsCommittedUser = false;\r\n\t\t\t\tvm.IsCommitmentInterestedUser = true;\r\n\t\t\t}\r\n\t\t\tvm.PssStatus = \"\";\r\n\t\t\t$scope.Prime = false;\r\n\t\t\t$scope.NonPrime = false;\r\n\t\t\tvm.OneJobDone = false;\r\n\t\t\tvm.TwoJobDoneForSkills = false;\r\n\t\t\tvm.IsFreelancerBidCount = false;\r\n\t\t\tvm.IsFixedTeamCount = false;\r\n\t\t\tvm.Criminal = false;\r\n\t\t\tvm.UserVerificationStatus = \"\";\r\n\t\t\tvm.IsAuthorizedServiceCenter = false;\r\n\t\t\tvm.freelancerRole = \"\";\r\n\t\t\tvm.UserStatus = \"\";\r\n\t\t\tvm.AllapplyTalentPoolfilter();\r\n\t\t}\r\n\r\n\t\tvm.getAllCriminalFlag = function (criminalValue) {\r\n\t\t\tvm.PssStatus = \"\";\r\n\t\t\t$scope.Prime = false;\r\n\t\t\t$scope.NonPrime = false;\r\n\t\t\tvm.OneJobDone = false;\r\n\t\t\tvm.TwoJobDoneForSkills = false;\r\n\t\t\tvm.IsFreelancerBidCount = false;\r\n\t\t\tvm.IsFixedTeamCount = false;\r\n\t\t\tvm.Criminal = criminalValue;\r\n\t\t\tvm.UserVerificationStatus = \"\";\r\n\t\t\tvm.IsAuthorizedServiceCenter = false;\r\n\t\t\tvm.IsCommittedUser = false;\r\n\t\t\tvm.IsCommitmentInterestedUser = false;\r\n\t\t\tvm.freelancerRole = \"\";\r\n\t\t\tvm.UserStatus = \"\";\r\n\t\t\tvm.AllapplyTalentPoolfilter();\r\n\r\n\t\t}\r\n\t\tvm.getAllPrimeFlag = function (primeValue) {\r\n\t\t\tif (primeValue == true) {\r\n\t\t\t\t$scope.Prime = true;\r\n\t\t\t\t$scope.NonPrime = false;\r\n\t\t\t} else if (primeValue == false) {\r\n\t\t\t\t$scope.NonPrime = true;\r\n\t\t\t\t$scope.Prime = false;\r\n\t\t\t}\r\n\t\t\tvm.Criminal = false;\r\n\t\t\tvm.IsFreelancerBidCount = false;\r\n\t\t\tvm.IsFixedTeamCount = false;\r\n\t\t\tvm.UserVerificationStatus = \"\";\r\n\t\t\tvm.IsCommittedUser = false;\r\n\t\t\tvm.IsCommitmentInterestedUser = false;\r\n\t\t\tvm.freelancerRole = \"\";\r\n\t\t\tvm.UserStatus = \"\";\r\n\t\t\tvm.PssStatus = \"\";\r\n\t\t\tvm.IsAuthorizedServiceCenter = false;\r\n\t\t\tvm.OneJobDone = false;\r\n\t\t\tvm.TwoJobDoneForSkills = false;\r\n\t\t\tvm.AllapplyTalentPoolfilter();\r\n\r\n\t\t}\r\n\r\n\r\n\t\tvm.AllapplyTalentPoolfilter = function () {\r\n\t\t\t$scope.Ticket = 1;\r\n\t\t\t$scope.dates = { startDate: startDate, endDate: endDate };\r\n\t\t\tvm.adddaterange = true;\r\n\t\t\t$scope.UserTablepagination.current = 1;\r\n\t\t\tvar temp = [];\r\n\t\t\tvar tuPageIndex = \"\";\r\n\t\t\tvar res = vm.Experience.split(\"-\");\r\n\t\t\tvar jobscount = vm.Jobscount.split(\"-\");\r\n\t\t\tvar ratings = vm.Ratings.split(\"-\");\r\n\t\t\ttuPageIndex = 1;\r\n\t\t\tvm.traningCertificateList = \"\";\r\n\t\t\tif (vm.TraningCertificate) {\r\n\t\t\t\tvm.traningCertificateList = vm.TraningCertificate.join('|');\r\n\t\t\t}\r\n\t\t\tif (vm.PreferredForAccounts) {\r\n\t\t\t\tstartDate = \"\";\r\n\t\t\t\tendDate = \"\";\r\n\t\t\t}\r\n\t\t\tvm.userFormData = {\r\n\t\t\t\t\"PageIndex\": tuPageIndex,\r\n\t\t\t\t\"PageSize\": 10,\r\n\t\t\t\t\"ActivationStartDate\": startDate,\r\n\t\t\t\t\"ActivationEnddate\": endDate,\r\n\t\t\t\t\"State\": vm.PermanentState,\r\n\t\t\t\t\"Cities\": vm.PermanentCity,\r\n\t\t\t\t\"Pincodes\": temp,\r\n\t\t\t\t\"Skill\": vm.userskill,\r\n\t\t\t\t\"UserVerificationStatus\": vm.UserVerificationStatus,\r\n\t\t\t\t\"ExperienceStart\": res[0],\r\n\t\t\t\t\"ExperienceEnd\": res[1],\r\n\t\t\t\t\"Certificates\": vm.traningCertificateList,\r\n\t\t\t\t\"IsBikeAvailable\": vm.Asset_Bike,\r\n\t\t\t\t\"IsMobileAvailable\": vm.Asset_Mobile,\r\n\t\t\t\t\"IsLaptopAvailable\": vm.Asset_Laptop,\r\n\t\t\t\t\"Tools\": vm.Asset_Tools,\r\n\t\t\t\t\"JobCountStart\": jobscount[0],\r\n\t\t\t\t\"JobCountEnd\": jobscount[1],\r\n\t\t\t\t\"RatingStart\": Number(ratings[0]),\r\n\t\t\t\t\"RatingEnd\": Number(ratings[1]),\r\n\t\t\t\t\"PreferredTalentPool\": false,\r\n\t\t\t\t\"IsFreelancerBidCount\": vm.IsFreelancerBidCount,\r\n\t\t\t\t\"IsFixedTeamCount\": vm.IsFixedTeamCount,\r\n\t\t\t\t\"FreelancerRole\": vm.freelancerRole,\r\n\t\t\t\t\"UserStatus\": vm.UserStatus,\r\n\t\t\t\t\"ContactNumber\": vm.ContactNumber,\r\n\t\t\t\t\"UserName\": vm.UserName,\r\n\t\t\t\t\"UserId\": vm.UserId,\r\n\t\t\t\t\"IsStudent\": vm.Student,\r\n\t\t\t\t\"MMFPrimeMember\": $scope.Prime,\r\n\t\t\t\t\"MMFNonPrimeMember\": $scope.NonPrime,\r\n\t\t\t\t\"IsOpenForInternship\": vm.Intern,\r\n\t\t\t\t\"IsAdharVerified\": vm.Adharcard,\r\n\t\t\t\t\"BrandName\": vm.ServiceBrand,\r\n\t\t\t\t\"ProductServing\": vm.ServiceProduct,\r\n\t\t\t\t\"IsBankVarified\": vm.IsBankVerified,\r\n\t\t\t\t\"IsCriminalVerified\": vm.Criminal,\r\n\t\t\t\t\"Source\": vm.Source,\r\n\t\t\t\t\"OneJobDoneForSkills\": vm.OneJobDone,\r\n\t\t\t\t\"TwoJobDoneForSkills\": vm.TwoJobDoneForSkills,\r\n\t\t\t\t\"PssStatus\": vm.PssStatus,\r\n\t\t\t\t\"SearchTag\": vm.SearchTag,\r\n\t\t\t\t\"ReportingTo\": vm.ReportingTo,\r\n\t\t\t\t\"OrderBy\": vm.OrderBy,\r\n\t\t\t\t\"SortType\": vm.SortType,\r\n\t\t\t\t\"IsCommittedUser\": vm.IsCommittedUser,\r\n\t\t\t\t\"IsCommitmentInterestedUser\": vm.IsCommitmentInterestedUser,\r\n\t\t\t\t\"IsAuthorizedServiceCenterCount\": vm.IsAuthorizedServiceCenter,\r\n\t\t\t\t\"PreferredForAccount\": vm.PreferredForAccounts,\r\n\t\t\t\t\"TaskId\": vm.TaskId\r\n\t\t\t}\r\n\t\t\tAllUsersListService.Filter(loggedinUser, token, vm.userFormData).then(function (resp) {\r\n\t\t\t\tif (resp.data) {\r\n\t\t\t\t\tvm.pfuserlist = [];\r\n\t\t\t\t\tvm.users = [];\r\n\t\t\t\t\tvm.usersCounts = resp.data;\r\n\t\t\t\t\tvm.users = resp.data.Users;\r\n\t\t\t\t\tif (vm.users.length == 0) {\r\n\t\t\t\t\t\tvm.showFailure('Failed', 'No User Found');\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfor (var i = 0; i < vm.users.length; i++) {\r\n\t\t\t\t\t\tif (vm.users[i].CustomerRating) {\r\n\t\t\t\t\t\t\tvm.users[i].CustomerRating = Number(vm.users[i].CustomerRating).toFixed(1);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.totalTalentPoolCount = resp.data.Count;\r\n\t\t\t\t\t$scope.totalTalentUsers = resp.data.Count;\r\n\t\t\t\t\t$scope.totalTableUsers = resp.data.Count;\r\n\t\t\t\t\tif (vm.users.length < 10)\r\n\t\t\t\t\t\tvm.usersLength = $scope.totalTalentUsers;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.usersLength = tuPageIndex * 10;\r\n\t\t\t\t\tif (tuPageIndex == 1)\r\n\t\t\t\t\t\tvm.techpageindexCount = 1;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.techpageindexCount = (((tuPageIndex - 1) * 10) + 1);\r\n\t\t\t\t\tif (vm.users.length < 10)\r\n\t\t\t\t\t\tvm.usersLength = $scope.totalTalentUsers;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.usersLength = tuPageIndex * 10;\r\n\t\t\t\t\tif (tuPageIndex == 1)\r\n\t\t\t\t\t\tvm.techpageindexCount = 1;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.techpageindexCount = (((tuPageIndex - 1) * 10) + 1);\r\n\t\t\t\t\tif (vm.users.length > 0) {\r\n\t\t\t\t\t\tfor (var i = 0; i < vm.users.length; i++) {\r\n\t\t\t\t\t\t\tif (vm.users[i].FavoriteForAccounts) {\r\n\t\t\t\t\t\t\t\tif (vm.users[i].FavoriteForAccounts.length > 0) {\r\n\t\t\t\t\t\t\t\t\tfor (var j = 0; j < vm.users[i].FavoriteForAccounts.length; j++) {\r\n\t\t\t\t\t\t\t\t\t\tif (vm.users[i].FavoriteForAccounts[j] == AccountID) {\r\n\t\t\t\t\t\t\t\t\t\t\tvm.pfuserlist.push(vm.users[i]);\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t$scope.class1 = false;\r\n\t\t\t\t\t}, 250);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\tvm.UserCountbyFilter();\r\n\t\t}\r\n\r\n\t\tvm.UserCountbyFilter = function () {\r\n\t\t\tAllUsersListService.UserCountbyFilter(loggedinUser, token, vm.userFormData).then(function (resp) {\r\n\t\t\t\tif (resp.data) {\r\n\t\t\t\t\tvm.TotalUsersCount = resp.data.Count;\r\n\t\t\t\t\tvm.BasicInformation = resp.data.BasicInformation;\r\n\t\t\t\t\tvm.TotalInvitedUserCount = resp.data.TotalInvitedUserCount;\r\n\t\t\t\t\tvm.LocationAndSkill = resp.data.LocationAndSkill;\r\n\t\t\t\t\tvm.Backgroundverified = resp.data.Backgroundverified;\r\n\t\t\t\t\tvm.Paymentverified = resp.data.Paymentverified;\r\n\t\t\t\t\tvm.PoliceVerified = resp.data.PoliceVerified;\r\n\t\t\t\t\tvm.CriminalVerified = resp.data.CriminalVerified;\r\n\t\t\t\t\tvm.TotalActiveFrUsersCount = resp.data.TotalActiveFrUsersCount;\r\n\t\t\t\t\tvm.TotalActiveFVUsersCount = resp.data.TotalActiveFVUsersCount;\r\n\t\t\t\t\tvm.TotalActiveFVTUsersCount = resp.data.TotalActiveFVTUsersCount;\r\n\t\t\t\t\tvm.FixedTeamCount = resp.data.FixedTeamCount;\r\n\t\t\t\t\tvm.PrimeMember = resp.data.PrimeMember;\r\n\t\t\t\t\tvm.NonPrimeMember = resp.data.NonPrimeMember;\r\n\t\t\t\t\tvm.TotalActiveUsersCount = resp.data.TotalActiveUsersCount;\r\n\t\t\t\t\tvm.Count = resp.data.Count;\r\n\t\t\t\t\tvm.TotalRegisterUser = resp.data.TotalRegisterUser;\r\n\t\t\t\t\tvm.TotalFreelancerBidCount = resp.data.TotalFreelancerBidCount;\r\n\t\t\t\t\tvm.OneJobDoneCount = resp.data.OneJobDoneCount;\r\n\t\t\t\t\tvm.TwoJobDoneCount = resp.data.TwoJobDoneCount;\r\n\t\t\t\t\tvm.NonPrimeMoreThanTenCount = resp.data.NonPrimeMoreThanTenCount;\r\n\t\t\t\t\tvm.LeadReceivedUserCount = resp.data.LeadReceivedUserCount;\r\n\t\t\t\t\tvm.LeadNotReceivedUserCount = resp.data.LeadNotReceivedUserCount;\r\n\t\t\t\t\tvm.LeadAcceptedUserCount = resp.data.LeadAcceptedUserCount;\r\n\t\t\t\t\tvm.LeadNotAcceptedUserCount = resp.data.LeadNotAcceptedUserCount;\r\n\t\t\t\t\tvm.JobRejectionBreachedCount = resp.data.JobRejectionBreachedCount;\r\n\t\t\t\t\tvm.JobRejectionMetCount = resp.data.JobRejectionMetCount;\r\n\t\t\t\t\tvm.SOPAdherenceBreachedCount = resp.data.SOPAdherenceBreachedCount;\r\n\t\t\t\t\tvm.SOPAdherenceMetCount = resp.data.SOPAdherenceMetCount;\r\n\t\t\t\t\tvm.AuthorizedServiceParnterDetailCount = resp.data.AuthorizedServiceParnterDetailCount;\r\n\t\t\t\t\tvm.AuthorizedServiceParnterDetailCountActive = resp.data.AuthorizedServiceParnterDetailCountActive;\r\n\t\t\t\t\tvm.AuthorizedServiceParnterDetailCountInActive = resp.data.AuthorizedServiceParnterDetailCountInActive;\r\n\t\t\t\t\tvm.CommitmentInterestedUserCount = resp.data.CommitmentInterestedUserCount;\r\n\t\t\t\t\tvm.CommittedUserCount = resp.data.CommittedUserCount\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t\tvm.AllapplyTalentPoolfilter();\r\n\r\n\t\t$scope.isOpen = false;\r\n\t\t$scope.isOpen1 = false;\r\n\t\t$scope.isCollapsed = true;\r\n\t\t$scope.isCollapsed0 = true;\r\n\t\t$scope.isCollapsed1 = true;\r\n\t\t$scope.isCollapsed2 = true;\r\n\t\t$scope.isCollapsed3 = true;\r\n\t\t$scope.isCollapsed4 = true;\r\n\t\t$scope.isCollapsed19 = true;\r\n\t\t$scope.isCollapsed21 = true;\r\n\t\t$scope.isCollapsed23 = true;\r\n\t\t$scope.isCollapsed24 = true;\r\n\t\t$scope.isCollapsed26 = true;\r\n\t\t$scope.isCollapsed35 = true;\r\n\t\t$scope.isCollapsed36 = true;\r\n\t\t$scope.isCollapsed40 = true;\r\n\t\t$scope.isCollapsed41 = true;\r\n\t\t$scope.isCollapsed42 = true;\r\n\t\t$scope.isCollapsed43 = true;\r\n\t\t$scope.isCollapsed49 = true;\r\n\r\n\t\t$scope.activatedButton = function () {\r\n\t\t\t$scope.isactivated = !$scope.isactivated;\r\n\t\t}\r\n\t\t$scope.activatedButton1 = function () {\r\n\t\t\t$scope.isactivated1 = !$scope.isactivated1;\r\n\t\t}\r\n\t\t$scope.activatedButton2 = function () {\r\n\t\t\t$scope.isactivated2 = !$scope.isactivated2;\r\n\t\t}\r\n\t\t$scope.activatedButton3 = function () {\r\n\t\t\t$scope.isactivated3 = !$scope.isactivated3;\r\n\t\t}\r\n\t\t$scope.activatedButton4 = function () {\r\n\t\t\t$scope.isactivated4 = !$scope.isactivated4;\r\n\t\t}\r\n\t\t$scope.activatedButton5 = function () {\r\n\t\t\t$scope.isactivated5 = !$scope.isactivated5;\r\n\t\t}\r\n\t\t$scope.activatedButton6 = function () {\r\n\t\t\t$scope.isactivated6 = !$scope.isactivated6;\r\n\t\t}\r\n\t\t$scope.activatedButton7 = function () {\r\n\t\t\t$scope.isactivated7 = !$scope.isactivated7;\r\n\t\t}\r\n\t\t$scope.activatedButton8 = function () {\r\n\t\t\t$scope.isactivated8 = !$scope.isactivated8;\r\n\t\t}\r\n\t\t$scope.activatedButton9 = function () {\r\n\t\t\t$scope.isactivated9 = !$scope.isactivated9;\r\n\t\t}\r\n\t\t$scope.activatedButton10 = function () {\r\n\t\t\t$scope.isactivated10 = !$scope.isactivated10;\r\n\t\t}\r\n\t\t$scope.activatedButton11 = function () {\r\n\t\t\t$scope.isactivated11 = !$scope.isactivated11;\r\n\t\t}\r\n\t\t$scope.activatedButton12 = function () {\r\n\t\t\t$scope.isactivated12 = !$scope.isactivated12;\r\n\t\t}\r\n\t\t$scope.activatedButton13 = function () {\r\n\t\t\t$scope.isactivated13 = !$scope.isactivated13;\r\n\t\t}\r\n\t\t$scope.activatedButton14 = function () {\r\n\t\t\t$scope.isactivated14 = !$scope.isactivated14;\r\n\t\t}\r\n\t\t$scope.activatedButton15 = function () {\r\n\t\t\t$scope.isactivated15 = !$scope.isactivated15;\r\n\t\t}\r\n\t\t$scope.activatedButton16 = function () {\r\n\t\t\t$scope.isactivated16 = !$scope.isactivated16;\r\n\t\t}\r\n\t\t$scope.activatedButton17 = function () {\r\n\t\t\t$scope.isactivated17 = !$scope.isactivated17;\r\n\t\t}\r\n\t\t$scope.activatedButton18 = function () {\r\n\t\t\t$scope.isactivated18 = !$scope.isactivated18;\r\n\t\t}\r\n\t\t$scope.activatedButton19 = function () {\r\n\t\t\t$scope.isactivated19 = !$scope.isactivated19;\r\n\t\t}\r\n\r\n\t\t$scope.activatedButton20 = function () {\r\n\t\t\t$scope.isactivated20 = !$scope.isactivated20;\r\n\t\t}\r\n\t\t$scope.activatedButton21 = function () {\r\n\t\t\t$scope.isactivated21 = !$scope.isactivated21;\r\n\t\t}\r\n\t\t$scope.activatedButton22 = function () {\r\n\t\t\t$scope.isactivated22 = !$scope.isactivated22;\r\n\t\t}\r\n\t\t$scope.activatedButton23 = function () {\r\n\t\t\t$scope.isactivated23 = !$scope.isactivated23;\r\n\t\t}\r\n\t\t$scope.activatedButton24 = function () {\r\n\t\t\t$scope.isactivated24 = !$scope.isactivated24;\r\n\t\t}\r\n\t\t$scope.activatedButton25 = function () {\r\n\t\t\t$scope.isactivated25 = !$scope.isactivated25;\r\n\t\t}\r\n\t\t$scope.activatedButton26 = function () {\r\n\t\t\t$scope.isactivated26 = !$scope.isactivated26;\r\n\t\t}\r\n\t\t$scope.activatedButton27 = function () {\r\n\t\t\t$scope.isactivated27 = !$scope.isactivated27;\r\n\t\t}\r\n\t\t$scope.activatedButton28 = function () {\r\n\t\t\t$scope.isactivated28 = !$scope.isactivated28;\r\n\t\t}\r\n\t\t$scope.activatedButton29 = function () {\r\n\t\t\t$scope.isactivated29 = !$scope.isactivated29;\r\n\t\t}\r\n\t\t$scope.activatedButton30 = function () {\r\n\t\t\t$scope.isactivated30 = !$scope.isactivated30;\r\n\t\t}\r\n\t\t$scope.activatedButton31 = function () {\r\n\t\t\t$scope.isactivated31 = !$scope.isactivated31;\r\n\t\t}\r\n\t\t$scope.activatedButton32 = function () {\r\n\t\t\t$scope.isactivated32 = !$scope.isactivated32;\r\n\t\t}\r\n\t\t$scope.activatedButton33 = function () {\r\n\t\t\t$scope.isactivated33 = !$scope.isactivated33;\r\n\t\t}\r\n\t\t$scope.activatedButton34 = function () {\r\n\t\t\t$scope.isactivated34 = !$scope.isactivated34;\r\n\t\t}\r\n\t\t$scope.activatedButton35 = function () {\r\n\t\t\t$scope.isactivated35 = !$scope.isactivated35;\r\n\t\t}\r\n\t\t$scope.activatedButton36 = function () {\r\n\t\t\t$scope.isactivated36 = !$scope.isactivated36;\r\n\t\t}\r\n\t\t$scope.activatedButton37 = function () {\r\n\t\t\t$scope.isactivated37 = !$scope.isactivated37;\r\n\t\t}\r\n\t\t$scope.activatedButton38 = function () {\r\n\t\t\t$scope.isactivated38 = !$scope.isactivated38;\r\n\t\t}\r\n\t\t$scope.activatedButton39 = function () {\r\n\t\t\t$scope.isactivated39 = !$scope.isactivated39;\r\n\t\t}\r\n\t\t$scope.activatedButton40 = function () {\r\n\t\t\t$scope.isactivated40 = !$scope.isactivated40;\r\n\t\t}\r\n\r\n\t\t\r\n\t\tvm.sortColumn = function (col) {\r\n\t\t\tvm.OrderBy = col;\r\n\t\t\tif (vm.SortType == 'desc') {\r\n\t\t\t vm.SortType = 'asc';\r\n\t\t\t vm.reverseclass = 'fa fa-arrow-up';\r\n\t\t\t} else {\r\n\t\t\t vm.SortType = 'desc';\r\n\t\t\t vm.reverseclass = 'fa fa-arrow-down';\r\n\t\t\t}\r\n\t\t\tvm.AllapplyTalentPoolfilter();\r\n\t\t };\r\n\t \r\n\t\t vm.sortClass = function (col) {\r\n\t\t\tif (vm.OrderBy == col) {\r\n\t\t\t if (vm.SortType == 'desc') {\r\n\t\t\t\treturn 'fa fa-arrow-down';\r\n\t\t\t } else {\r\n\t\t\t\treturn 'fa fa-arrow-up';\r\n\t\t\t }\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t return \"\";\r\n\t\t\t}\r\n\t\t }\r\n\r\n\t\t $scope.isPlaying = false;\r\n\r\n\t\t $scope.togglePlayPause = function() {\r\n\t\t\t $scope.isPlaying = !$scope.isPlaying;\r\n\t\t };\r\n\t\tvm.GetAllActivitiesForUser = function (userId) {\r\n\t\t\tvm.CallingUser = userId;\r\n\t\t\tAllTasksOpsService.GetAllActivitiesForUser(userId, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tvm.UserActivityInfo = resp.data;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.CommittmentModelOpen = function (userid) {\r\n\t\t\tvm.userCommittmentId = userid;\r\n\t\t\tvm.CommittmentModel = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'committmentmodel.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.CloseCommittmentModel = function () {\r\n\t\t\tvm.CommittmentModel.close();\r\n\t\t\tvm.userCommittmentDate = new Date();\r\n\t\t\tvm.userCommittmentStatus = \"Interested\";\r\n\t\t\tvm.userCommittmentId = \"\";\r\n\t\t\tvm.userComments = \"\";\r\n\t\t\tvm.userCommittmentReason = \"\";\r\n\t\t}\r\n\r\n\t\tvm.CommittmentFollowUp = function () {\r\n\t\t\tvm.committment_form.submitted = true;\r\n\t\t\t// if (vm.userCommittmentStatus) {\r\n\t\t\t\tif(vm.committment_form.$valid){\r\n\t\t\t\tif (vm.userCommittmentStatus == 'NotInterested') {\r\n\t\t\t\t\tvm.userCommittmentDate = \"\";\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.userCommittmentDate = moment(vm.userCommittmentDate).format(\"YYYY-MM-DD\");\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tvar data = {\r\n\t\t\t\t\t\"CommittmentStatus\": vm.userCommittmentStatus,\r\n\t\t\t\t\t\"CommittmentReason\": vm.userCommittmentReason,\r\n\t\t\t\t\t\"UserComment\": vm.userComments,\r\n\t\t\t\t\t\"Date\": vm.userCommittmentDate,\r\n\t\t\t\t\t\"UserId\": vm.userCommittmentId,\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\r\n\r\n\t\t\t\tAllTasksOpsService.CommittmentFollowUp(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\t\tif (resp && resp.status == 200) {\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", resp.data.Message);\r\n\t\t\t\t\t\tvm.CloseCommittmentModel();\r\n\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\tvm.AllapplyTalentPoolfilter();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\r\n\t\t// }\r\n\t\t\t// else {\r\n\t\t\t// \tvm.showFailure(\"Failed\", \"Please select committment status.\");\r\n\t\t\t// }\r\n}\r\n\t\t}\r\n\r\n\t\t$scope.userClass_status = true;\r\n\t\t$scope.toggleBottom = false;\r\n\t\t$scope.open360View = function (userID) {\r\n\t\t $scope.userClass_status = false;\r\n\t\t $scope.myvalue = true;\r\n\t\t vm.Get360TeamProfileData(userID);\r\n\t\t}\r\n\t\t$scope.close360View = function () {\r\n\t\t $scope.userClass_status = true;\r\n\t\t $scope.myvalue = false;\r\n\t\t}\r\n\t\tvm.Get360TeamProfileData = function (teamid) {\r\n\t\t\tvm.UserId = teamid;\r\n\t\t\tDashboardService.Get360ProfileData(loggedinUser, teamid, token).then(function (resp) {\r\n\t\t\t if (resp.data) {\r\n\t\t\t\t$scope.userClass_status = false;\r\n\t\t\t\t$scope.myvalue = true;\r\n\t\t\t }\r\n\t\t\t vm.teamdata = resp.data;\r\n\t\t\t vm.AvgRating = vm.teamdata.userProfile.AverageRating;\r\n\t\t\t vm.ReviewsList = vm.teamdata.userProfile.Reviews\r\n\t\t\t vm.teamdata.ratingStars = vm.getRatingStars(Math.round(vm.teamdata.userProfile.Ratings.TechnicianRating));\r\n\t\t\t vm.teamdata.blankStars = vm.getBlankStars(Math.round(vm.teamdata.userProfile.Ratings.TechnicianRating));\r\n\t\t\t vm.teamdata.avgratingStars = vm.getAvgRatingStars(Math.round(vm.teamdata.userProfile.AverageRating.AverageRating));\r\n\t\t\t vm.teamdata.avgblankStars = vm.getAvgBlankStars(Math.round(vm.teamdata.userProfile.AverageRating.AverageRating));\r\n\t\t\t if (vm.teamdata.userProfile.ContactNumber) {\r\n\t\t\t\tvm.teamdata.userProfile.ContactNumber = vm.teamdata.userProfile.ContactNumber.replace(/\\d(?=\\d{4})/g, '*');\r\n\t\t\t }\r\n\t \r\n\t\t\t if (vm.teamdata.userProfile.Reviews) {\r\n\t\t\t\tvm.teamdata.userProfile.Reviews.forEach(function (element, i) {\r\n\t\t\t\t vm.teamdata.userratingStars = vm.getUserRatingStars(Math.round(vm.teamdata.userProfile.Reviews[i].Average));\r\n\t\t\t\t vm.teamdata.userblankStars = vm.getUserBlankStars(Math.round(vm.teamdata.userProfile.Reviews[i].Average));\r\n\t\t\t\t element.arrayRating = vm.teamdata.userratingStars;\r\n\t\t\t\t element.blankRating = vm.teamdata.userblankStars;\r\n\t\t\t\t});\r\n\t\t\t }\r\n\t \r\n\t\t\t vm.TechnicianRating = Number(vm.teamdata.userProfile.Ratings.TechnicianRating).toFixed(1);\r\n\t\t\t $timeout(function () {\r\n\t\t\t\tdisplayTotals();\r\n\t\t\t }, 300);\r\n\t\t\t}, function () {\r\n\t\t\t})\r\n\t\t }\r\n\r\n\r\n\t\tvm.OpenTracking = function (user) {\r\n\t\t\t$state.go('index.PincodeFinder', {\r\n\t\t\t\tuserId: user.UserId,\r\n\t\t\t}, {\r\n\t\t\t\treload: true\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t$scope.followupmodal = true;\r\n\t\t$scope.toggleForBroadcastnew = function () {\r\n\t\t\t$scope.followupmodal = !$scope.followupmodal;\r\n\t\t\t$scope.myvalue = true;\r\n\r\n\t\t};\r\n\r\n\t\tvm.CloseingRemark = \"\";\r\n\t\tvm.OnBoardingTaskModelOpen = function (taskid) {\r\n\t\t\tvm.CommitmentTaskId = taskid;\r\n\t\t\tvm.OnBoardingTaskmodel = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'OnBoardingTaskmodel.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.CloseOnBoardingTaskModel = function () {\r\n\t\t\tvm.OnBoardingTaskmodel.close();\r\n\t\t\tvm.CommitmentTaskId = \"\";\r\n\t\t\tvm.CloseingRemark = \"\";\r\n\t\t\tvm.closeuserCommittmentStatus = \"Interested\";\r\n\t\t}\r\n\r\n\r\n\t\tvm.CloseOnBoardingTask = function () {\r\n\t\t\tif (vm.closeuserCommittmentStatus == 'NotInterested') {\r\n\t\t\t\tvm.userCommittmentDate = \"\";\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.userCommittmentDate = moment(vm.userCommittmentDate).format(\"YYYY-MM-DD\");\r\n\t\t\t}\r\n\t\t\tvar data = {\r\n\t\t\t\t\"TaskId\": vm.CommitmentTaskId,\r\n\t\t\t\t\"CloseingRemark\": vm.CloseingRemark,\r\n\t\t\t\t\"CommittmentStatus\": vm.closeuserCommittmentStatus,\r\n\t\t\t\t\"Date\": vm.userCommittmentDate,\r\n\t\t\t}\r\n\t\t\tAllTasksOpsService.CloseOnBoardingTask(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp && resp.status == 200) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", resp.data.Message);\r\n\t\t\t\t\tvm.CloseOnBoardingTaskModel();\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t}\r\n});\nangular.module('inspinia').service('AllOrdersReceivedListService', function (AcessoriesURL, ApiURL, SchedulingAPI, $window, $http) {\r\n\r\n this.GetAllWareHouse = function (loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/WareHouse/GetAllWareHouse';\r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetAllOrdersByFilter = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFOrder/GetWarehouseRequestedActiveOrders';\r\n return $http.post(url, data, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n this.UpdateInvoiceDetails = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFOrder/UpdateInvoiceDetails';\r\n return $http.put(url, data, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n this.GetWarehouseRequestedActiveOrders_CSV = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFOrder/GetWarehouseRequestedActiveOrders_CSV';\r\n return $http.post(url, data, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GetOrdersDashboardByFilter = function (data, loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/MMFOrder/GetRequestedOrdersDashboardByFilter';\r\n return $http.post(url, data, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n this.GetAllWareHouseForExploration = function (loggedinUser, token) {\r\n var url = AcessoriesURL + '/api/WareHouse/GetAllWareHouseForExploration';\r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.UpdateOrderStatus = function (token,loggedinUser,file,FileName, data) {\r\n var formdata = new FormData();\r\n formdata.append(FileName, file);\r\n var FiltersData = JSON.stringify(data);\r\n formdata.append(\"FiltersData\", FiltersData);\r\n var url = AcessoriesURL + '/api/MMFOrder/UpdateOrderStatusWithAttachment';\r\n return $http.put(url, formdata, {\r\n headers: {\r\n 'Content-Type': undefined, 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n this.ReturnOrderAction = function (token, loggedinUser, data) {\r\n var url = AcessoriesURL + '/api/MMFReturnOrder/ReturnOrderAction';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n this.RejectReturnPart = function (data,token, loggedinUser) {\r\n var url = AcessoriesURL + '/api/MMFReturnOrder/RejectReturnPart';\r\n return $http.put(url, data, {\r\n headers: {\r\n 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n this.GeneratePdfChallan = function (loggedinUser, token, OrderId) {\r\n var url = ApiURL + '/api/Report/GeneratePdfChallan?OrderId=' + OrderId;\r\n return $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.GeneratePdfTaxInvoice = function (loggedinUser, token, InvoiceId) {\r\n var url = ApiURL + '/api/Report/GeneratePdfTaxInvoice?OrderId=' + InvoiceId;\r\n return $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n})\r\n\r\n\r\n\nangular.module('inspinia').controller('AllOrdersReceivedListController', function (AllOrdersReceivedListService,MainService, $resource, $stateParams, toaster,$window, $filter, $compile, $q, $state, $localStorage, $scope, DTOptionsBuilder, DTColumnBuilder, $uibModal, $timeout,$stateParams,$q ,ReferService, $rootScope,$http) {\r\n\r\n\tvar vm = this;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar token = $localStorage.token;\r\n\tif (!loggedinUser) {\r\n\t\t$state.go('Login', {\r\n\t\t\treload: true\r\n\t\t});\r\n\t} else {\r\n\t\t// var warehouseId = $stateParams.warehouseId;\r\n\t\tvm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n\t\tvm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n\t\tvm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\t\tvm.loggedInUserRole = $localStorage.loggedInUser_Role;\r\n\t\tvm.AccountId = $localStorage.accountConfig.AccountId;\r\n\t\t$scope.isNavCollapsed = true;\r\n\t\t$scope.isCollapsed = true;\r\n\t\t$scope.isCollapsedHorizontal = false;\r\n\t\tvm.selectSingle = false;\r\n\t\tvm.disableExceptionButton = false;\r\n\t\tvar oPageIndex = 1;\r\n\t\tvar oPageSize = 10;\r\n\t\tvm.allOrdersPageListCount = 10;\r\n\t\tvar PageIndex = 1;\r\n\t\tvar PageSize = 10;\r\n\t\tvm.allInventoryPageListCount = 10;\r\n\t\tvm.pageListCounts = [10, 20, 30, 50];\r\n\t\tvm.UserId = '';\r\n\t\tvm.FileName = \"\";\r\n\t\tvm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n\t\tvm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n\t\t$scope.dates = { startDate: moment().subtract(30, 'day'), endDate: moment() };\r\n\t\tvar startDate = moment().subtract(30, 'days').format(\"YYYY-MM-DD\");\r\n\t\tvar endDate = moment().format(\"YYYY-MM-DD\");\r\n\t\t$scope.ranges = {\r\n\t\t\t'Today': [moment(), moment()],\r\n\t\t\t'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n\t\t\t'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n\t\t\t'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n\t\t\t'This month': [moment().startOf('month'), moment().endOf('month')]\r\n\t\t};\r\n\r\n\t\tvm.outsidedateRangeChange = function (ev, picker) {\r\n\t\t\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\t\t\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n\t\t\tvm.applyOrderFilter();\r\n\t\t};\r\n\r\n\r\n\t\tvm.UploadUpdateOrder = function () {\r\n\t\t\t$state.go('index.bulkUploadUpdateOrder', {\r\n\t\t\t reload: true\r\n\t\t\t});\r\n\t\t }\r\n\r\n\t\t$scope.item = {\r\n\t\t\tquantity: 1 // Initial quantity\r\n\t\t};\r\n\r\n\t\t$scope.increaseQuantity = function (item) {\r\n\t\t\titem.quantity++;\r\n\t\t};\r\n\r\n\t\t$scope.decreaseQuantity = function (item) {\r\n\t\t\tif (item.quantity > 1) {\r\n\t\t\t\titem.quantity--;\r\n\t\t\t}\r\n\t\t};\r\n\t\t$scope.removeItem = function (item) {\r\n\t\t\tvar index = $scope.cartItems.indexOf(item);\r\n\t\t\t$scope.cartItems.splice(index, 1);\r\n\t\t};\r\n\r\n\t\t$scope.totalTableTickets = 0;\r\n\t\t$scope.ticketTablePerPage = vm.ticketPageListCount;\r\n\t\t$scope.TicketTablepagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\t\tvm.GetAllWareHouse = function () {\r\n\t\t\tAllOrdersReceivedListService.GetAllWareHouse(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.warehouseitemlist = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.GetAllWareHouse();\r\n\r\n\t\tvm.GetAllWareHouseForExploration = function () {\r\n\t\t\tAllOrdersReceivedListService.GetAllWareHouseForExploration(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.warehouseExploreList = resp.data;\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.GetAllWareHouseForExploration();\r\n\t\tvm.OpenUseerDetails = function(orderid){\r\n\t\t\t$state.go('index.WareHouseOrderDetailView',{\r\n\t\t\t\torder_id : orderid\r\n\t\t\t}, { reload: true });\r\n\t\t}\r\n\r\n\t\tvm.OpenTicketView = function(ticket){\r\n\t\t\t$state.go('index.JobDetailView',{\r\n\t\t\t\tticketId: ticket\r\n\t\t\t}, { reload: true });\r\n\t\t }\r\n\t\t \r\n\t\t$scope.totalInvList = 0;\r\n\t\t$scope.inventoryPerPage = vm.allInventoryPageListCount;\r\n\t\t$scope.InventoryPagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\r\n\r\n\t\tvm.changeAllInventoryPageListCount = function () {\r\n\t\t\t$scope.inventoryPerPage = vm.allInventoryPageListCount;\r\n\t\t\tPageSize = $scope.inventoryPerPage;\r\n\t\t\t$scope.AllInventoryTablePageChanged($scope.InventoryPagination.current);\r\n\t\t\tvm.selectAll = false;\r\n\t\t\tPageIndex = $scope.InventoryPagination.current;\r\n\t\t\t$scope.AllInventoryTablePageChanged = function (newPage) {\r\n\t\t\t\tPageIndex = newPage;\r\n\r\n\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tPageIndex = $scope.InventoryPagination.current;\r\n\t\t$scope.AllInventoryTablePageChanged = function (newPage) {\r\n\t\t\tPageIndex = newPage;\r\n\t\t\tvm.GetAllOrdersByFilter();\r\n\r\n\t\t};\r\n\t\tvm.SearchText = '';\r\n\t\tvm.warehouselist = \"\";\r\n\t\tvm.warehouseInvetoryList = [];\r\n\r\n\r\n\t\tvm.clearFilter = function () {\r\n\t\t\tvm.SearchText = '';\r\n\t\t\tvm.warehouselist = '';\r\n\r\n\t\t}\r\n\r\n\r\n\r\n\t\tvm.IsWarehouseAlreadySelected = false;\r\n\r\n\t\tvm.addCartMoreModal = function (partData) {\r\n\t\t\tvm.IsWarehouseAlreadySelected = false;\r\n\t\t\tvm.partId = partData.strMMFPartId;\r\n\t\t\tvm.partSKUId = partData.strSKUId;\r\n\t\t\tvm.partName = partData.strPartName;\r\n\t\t\tif (vm.warehouselist != '') {\r\n\t\t\t\tvm.IsWarehouseAlreadySelected = true;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.IsWarehouseAlreadySelected = false;\r\n\t\t\t\tvm.GetWareHouseByPartId(vm.partId);\r\n\t\t\t}\r\n\t\t\tvm.openAddToCartModal();\r\n\r\n\t\t}\r\n\t\tvm.GetOrdersDashboardByFilter = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"OrderStatus\": vm.SelectedOrderStatus,\r\n\t\t\t\t\"PaymentStatus\": \"\",\r\n\t\t\t\t\"WareHouseId\": vm.warehouselist,\r\n\t\t\t\t\"DateField\": \"dateOrderDate\",\r\n\t\t\t\t\"OrderStartDate\": startDate,\r\n\t\t\t\t\"OrderEndDate\": endDate,\r\n\t\t\t\t\"PageIndex\": oPageIndex,\r\n\t\t\t\t\"PageSize\": oPageSize\r\n\t\t\t}\r\n\t\t\tAllOrdersReceivedListService.GetOrdersDashboardByFilter(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.orderDashboardCount = resp.data\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.GetOrdersDashboardByFilter();\r\n\t\tvm.AddPartToMyCart = function () {\r\n\t\t\tvar addPartData = {\r\n\t\t\t\t\"MMFPartId\": vm.partId,\r\n\t\t\t\t\"SKUId\": vm.partSKUId,\r\n\t\t\t\t\"QuantityAdded\": $scope.item.quantity,\r\n\t\t\t\t\"WareHoueId\": vm.warehouselist\r\n\t\t\t}\r\n\t\t\tAllOrdersReceivedListService.AddPartToMyCart(addPartData, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", \"Item added to cart successfully.\");\r\n\t\t\t\t\tvm.closecreateCartMoreModal();\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t}\r\n\r\n\t\tvm.AddSinglePartToMyCart = function (partData) {\r\n\t\t\tvar addPartData = {\r\n\t\t\t\t\"MMFPartId\": partData.strItemId,\r\n\t\t\t\t\"SKUId\": partData.strSKUId,\r\n\t\t\t\t\"QuantityAdded\": 1,\r\n\t\t\t\t\"WareHoueId\": partData.strWareHouseId,\r\n\t\t\t}\r\n\t\t\tAllOrdersReceivedListService.AddPartToMyCart(addPartData, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tvm.GetMyCart();\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t}\r\n\r\n\t\tvm.ReducePartQuantityInMyCart = function (partData) {\r\n\t\t\tvar reducePartData = {\r\n\t\t\t\t\"MMFPartId\": partData.strItemId,\r\n\t\t\t\t\"SKUId\": partData.strSKUId,\r\n\t\t\t\t\"QuantityAdded\": 1\r\n\t\t\t}\r\n\t\t\tAllOrdersReceivedListService.ReducePartQuantityInMyCart(reducePartData, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tvm.GetMyCart();\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.RemovePartFromMyCart = function (partData) {\r\n\t\t\tvar removePartData = {\r\n\t\t\t\t\"MMFPartId\": partData.strItemId,\r\n\t\t\t\t\"SKUId\": partData.strSKUId\r\n\t\t\t}\r\n\t\t\tAllOrdersReceivedListService.RemovePartFromMyCart(removePartData, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", \"Part removed from cart successfully.\");\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tvm.GetMyCart();\r\n\t\t\t\t\t}, 1000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.ClearMyCart = function () {\r\n\t\t\tAllOrdersReceivedListService.ClearMyCart(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", \"Cart cleared successfully.\");\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tvm.GetMyCart();\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.PlaceOrder = function () {\r\n\t\t\tAllOrdersReceivedListService.PlaceOrder(loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", \"Order placed successfully.\");\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tvm.GetMyCart();\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.SelectedOrderStatus = 'Pending';\r\n\r\n\t\tvm.setSelectedItem = function (item,orderType) {\r\n\t\t\tvm.SelectedOrderStatus = item;\r\n\t\t\tvm.SelectedOrderType = orderType || '';\r\n\t\t\tvm.applyOrderFilter();\r\n\t\t};\r\n\t\t// vm.setSelectedItem = function (status, orderType) {\r\n\t\t// \tif (status === '') {\r\n\t\t// \t\t// Special case for the \"Total\" tab where we want to clear any specific status\r\n\t\t// \t\tvm.SelectedOrderStatus = '';\r\n\t\t// \t\tvm.SelectedOrderType = '';\r\n\t\t// \t} else if (status === 'ReturnOrder') {\r\n\t\t// \t\t// Special case for the \"Return Order\" tab\r\n\t\t// \t\tvm.SelectedOrderStatus = '';\r\n\t\t// \t\tvm.SelectedOrderType = orderType;\r\n\t\t// \t} else {\r\n\t\t// \t\t// General case for other tabs\r\n\t\t// \t\tvm.SelectedOrderStatus = status;\r\n\t\t// \t\tvm.SelectedOrderType = orderType || ''; // Assign orderType if provided, otherwise set to empty\r\n\t\t// \t}\r\n\t\t// \tvm.applyOrderFilter();\r\n\t\t// };\r\n\r\n\t\tvm.clearMyOrderFilter = function () {\r\n\t\t\tvm.SelectedOrderStatus = '';\r\n\t\t\tvm.warehouselist = '';\r\n\t\t\tvm.SearchTextforOrderId = '';\r\n\t\t\tvm.applyOrderFilter();\r\n\t\t}\r\n\r\n\t\tvm.PartImagebase64 = [];\r\n\r\n\t\tvm.PartImageServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.PartImagebase64[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else{\r\n vm.PartImagebase64[index] = resp.data;\r\n } \r\n }, function() {\r\n vm.PartImagebase64[index] = 'assets/images/patterns/image_placeholder.png';\r\n }); \r\n }\r\n\t\t\r\n\t\t $scope.checkPDF = function (path) {\r\n\t\t\tif (path) {\r\n\t\t\t\tvar pt = path.substr(path.length - 4);\r\n\t\t\t\tif (pt == '.pdf') {\r\n\t\t\t\t\tvm.error = function () {\r\n\t\t\t\t\t\t$(\".pdf\").attr({ \"target\": \"_blank\" })\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.TrainingImageServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.TrainingImagebase64[index] = 'assets/images/patterns/image_placeholder.png';\r\n }\r\n else{\r\n vm.TrainingImagebase64[index] = resp.data;\r\n } \r\n\t\t\t\t$scope.filesArray.push({\r\n\t\t\t\t\tname: img,\r\n\t\t\t\t\tsrc: vm.TrainingImagebase64[index],\r\n\t\t\t\t}); \r\n }, function() {\r\n vm.TrainingImagebase64[index] = 'assets/images/patterns/image_placeholder.png';\r\n\t\t\t\t$scope.filesArray.push({\r\n\t\t\t\t\tname: img,\r\n\t\t\t\t\tsrc: vm.TrainingImagebase64[index],\r\n\t\t\t\t});\r\n }); \r\n }\r\n\t\t vm.showPartDetails = false;\r\n\t\tvm.OpenPartDetailPanel = function (s) {\r\n\t\t\tvm.PartDetails = s;\r\n\t\t\tvm.sideViewPartImage = s.strListItemImage;\r\n\t\t\tif(s.strListItemImage){\r\n\t\t\t\tvm.sideViewPartLength = s.strListItemImage.length;\r\n\t\t\t\tvm.TrainingImagebase64 = [];\r\n\t\t\t\tfor (var i = 0; i < vm.sideViewPartImage.length; i++) {\r\n\t\t\t\t\tvm.TrainingImageServices(vm.sideViewPartImage[i], i);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvm.showPartDetails = true;\r\n\t\t}\r\n\t\tvm.OpenClearCartConfirmation = function () {\r\n\t\t\tClearCartModel = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'clearCart.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeClearCartConfirmation = function () {\r\n\t\t\tClearCartModel.close();\r\n\t\t}\r\n\r\n\t\tvm.OpenOrderCancelConfirmation = function (orderId) {\r\n\t\t\tvm.orderId = orderId;\r\n\t\t\tCancelOrderModel = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'cancelOrder.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeOrderCancelConfirmation = function () {\r\n\t\t\tCancelOrderModel.close();\r\n\t\t}\r\n\r\n\t\r\n\t\tvm.CancelMyOrder = function () {\r\n\t\t\tAllOrdersReceivedListService.CancelMyOrder(vm.orderId, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", \"Order cancelled successfully.\");\r\n\t\t\t\t\tvm.closeOrderCancelConfirmation();\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tvm.GetAllOrdersByFilter();\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.openAddToCartModal = function () {\r\n\t\t\tvm.morecartModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'AddMoreItemModal.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tscope: $scope\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closecreateCartMoreModal = function () {\r\n\t\t\tvm.morecartModal.close();\r\n\t\t\tvm.partId = '';\r\n\t\t\tvm.partSKUId = '';\r\n\t\t\tvm.partSKUId = '';\r\n\t\t\t$scope.item.quantity = 1;\r\n\t\t}\r\n\r\n\t\t$scope.totalOrderList = 0;\r\n\t\t$scope.ordersPerPage = vm.allOrdersPageListCount;\r\n\t\t$scope.OrdersPagination = {\r\n\t\t\tcurrent: 1\r\n\t\t};\r\n\r\n\t\tvm.changeAllOrderPageListCount = function () {\r\n\t\t\t$scope.ordersPerPage = vm.allOrdersPageListCount;\r\n\t\t\toPageSize = $scope.ordersPerPage;\r\n\t\t\t$scope.AllOrderTablePageChanged($scope.OrdersPagination.current);\r\n\t\t\toPageIndex = $scope.OrdersPagination.current;\r\n\t\t\t$scope.AllOrderTablePageChanged = function (newPage) {\r\n\t\t\t\toPageIndex = newPage;\r\n\t\t\t\tvm.GetAllOrdersByFilter();\r\n\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\toPageIndex = $scope.OrdersPagination.current;\r\n\t\t$scope.AllOrderTablePageChanged = function (newPage) {\r\n\t\t\toPageIndex = newPage;\r\n\t\t\tvm.GetAllOrdersByFilter();\r\n\r\n\t\t};\r\n\t\tvm.SearchTextforOrder = '';\r\n\t\tvm.orderInvetoryList = [];\r\n\t\tvm.GetOrdersDashboardByFilter = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"OrderStatus\": vm.SelectedOrderStatus,\r\n\t\t\t\t\"PaymentStatus\": \"\",\r\n\t\t\t\t\"WareHouseId\": vm.warehouselist,\r\n\t\t\t\t\"DateField\": \"dateOrderDate\",\r\n\t\t\t\t\"OrderStartDate\": startDate,\r\n\t\t\t\t\"OrderEndDate\": endDate,\r\n\t\t\t\t\"PageIndex\": oPageIndex,\r\n\t\t\t\t\"PageSize\": oPageSize\r\n\t\t\t}\r\n\t\t\tAllOrdersReceivedListService.GetOrdersDashboardByFilter(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.orderDashboardCount = resp.data\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.applyOrderFilter = function () {\r\n\t\t\tvm.GetAllOrdersByFilter();\r\n\t\t\tvm.GetOrdersDashboardByFilter();\r\n\t\t}\r\n\r\n\t\tvm.ExpandOrderList = function(isCollapsed,orderId){\r\n\t\t\tif (vm.orderId == orderId) {\r\n\t\t\t\t$scope.isCollapsed = !isCollapsed;\r\n\t\t\t}\r\n\t\t\t$scope.activeRow = orderId;\r\n\t\t\tvm.orderId = orderId;\r\n\t\t}\r\n \r\n\r\n\r\n\r\n\t\tvm.GetAllOrdersByFilter = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"OrderType\" : vm.SelectedOrderType || '',\r\n\t\t\t\t\"OrderStatus\": vm.SelectedOrderStatus,\r\n\t\t\t\t\"PaymentStatus\": \"\",\r\n\t\t\t\t\"WareHouseId\": vm.warehouselist,\r\n\t\t\t\t\"DateField\": \"dateOrderDate\",\r\n\t\t\t\t\"OrderStartDate\": startDate,\r\n\t\t\t\t\"OrderEndDate\": endDate,\r\n\t\t\t\t\"PageIndex\": oPageIndex,\r\n\t\t\t\t\"PageSize\": oPageSize,\r\n\t\t\t\t\"OrderId\" : vm.SearchTextforOrderId\r\n\t\t\t}\r\n\t\t\tAllOrdersReceivedListService.GetAllOrdersByFilter(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.orderInvetoryList = resp.data.OrderList;\r\n\t\t\t\t\t$scope.totalOrderList = resp.data.Count;\r\n\t\t\t\t\t\tvm.PartImagebase64 = [];\r\n\t\t\t\t\t\tfor (var i = 0; i < vm.orderInvetoryList.length; i++) {\r\n\t\t\t\t\t\t\tvar item = vm.orderInvetoryList[i];\r\n\t\t\t\t\t\t\tvm.PartImageServices(item.Attachement, i);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\tif (vm.orderInvetoryList.length < vm.allOrdersPageListCount)\r\n\t\t\t\t\t\tvm.orderListLength = $scope.totalOrderList;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.orderListLength = oPageIndex * vm.allOrdersPageListCount;\r\n\t\t\t\t\tif (oPageIndex == 1)\r\n\t\t\t\t\t\tvm.opageindexCount = 1;\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tvm.opageindexCount = (((oPageIndex - 1) * vm.allOrdersPageListCount) + 1);\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\t\tvm.GetAllOrdersByFilter();\r\n\r\n\t\tvm.GetWarehouseRequestedActiveOrders_CSV = function () {\r\n\t\t\tvar data = {\r\n\t\t\t\t\"OrderType\" : vm.SelectedOrderType || '',\r\n\t\t\t\t\"OrderStatus\": vm.SelectedOrderStatus,\r\n\t\t\t\t\"PaymentStatus\": \"\",\r\n\t\t\t\t\"WareHouseId\": vm.warehouselist,\r\n\t\t\t\t\"DateField\": \"dateOrderDate\",\r\n\t\t\t\t\"OrderStartDate\": startDate,\r\n\t\t\t\t\"OrderEndDate\": endDate,\r\n\t\t\t\t\"PageIndex\": oPageIndex,\r\n\t\t\t\t\"PageSize\": oPageSize,\r\n\t\t\t\t\"OrderId\" : vm.SearchTextforOrderId\r\n\t\t\t}\r\n\t\t\tAllOrdersReceivedListService.GetWarehouseRequestedActiveOrders_CSV(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvar csvData = resp.data;\r\n\t\t\t\t\tvar blob = new Blob([csvData], { type: 'text/csv' });\r\n\t\t\t\t\tvar url = window.URL.createObjectURL(blob);\r\n\t\t\t\t\tvar a = document.createElement('a');\r\n\t\t\t\t\ta.href = url;\r\n\t\t\t\t\ta.download = 'All_Orders_Received_List.csv';\r\n\t\t\t\t\ta.click();\r\n\t\t\t\t\twindow.URL.revokeObjectURL(url);\r\n\t\t\t\t}\r\n\t\t\t}, vm.showFailure);\r\n\t\t}\r\n\r\n\t\tvm.disableCreateButton = false;\r\n\r\n\t\tvm.DisableCreateButton = function (disable) {\r\n\t\t\tif (disable) {\r\n\t\t\t\tvm.disableCreateButton = true;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.disableCreateButton = false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.InvoiceUpdateDetails = function (invoicedetails) {\r\n\t\t\tvm.InvoiceData = invoicedetails;\r\n\t\t\tvm.OrderId = vm.InvoiceData.OrderId\r\n\t\t\tvm.InvoiceNumber = vm.InvoiceData.InvoiceNumber\r\n\t\t\tvm.PONumber = vm.InvoiceData.PONumber\r\n\t\t\tvm.InvoiceDate = vm.InvoiceData.InvoiceDate ? new Date(vm.InvoiceData.InvoiceDate) : null;\r\n\t\t\tvm.POdate = vm.InvoiceData.PODate ? new Date(vm.InvoiceData.PODate) : null;\r\n\t\t\tvm.updateInvoiceModelOpen = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'InvoiceDetailsUpdate.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\t\tvm.CloseInvoiceDetails = function(){\r\n vm.updateInvoiceModelOpen.close();\r\n\t\t vm.isUpdateDisabled = false;\r\n\t\t}\r\n\t\tvm.isUpdateDisabled = false;\r\n\t\tvm.UpdateInvoiceDetails = function(){\r\n\t\t\tvm.updateinvoiceForm.submitted = true;\r\n\t\t\tif (vm.updateinvoiceForm.$valid) {\r\n\t\t\t\tvm.isUpdateDisabled = true; \r\n\t\t\tvar data = {\r\n\t\t\t\t\"OrderId\" : vm.OrderId,\r\n\t\t\t\t\"InvoiceNumber\" : vm.InvoiceNumber,\r\n\t\t\t\t\"InvoiceDate\" : vm.InvoiceDate,\r\n\t\t\t\t\"PODate\" : vm.POdate,\r\n\t\t\t\t\"PONumber\" : vm.PONumber\r\n\t\t\t}\r\n\t\t\tAllOrdersReceivedListService.UpdateInvoiceDetails(data, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif (resp.data && resp.status == 200) {\r\n\t\t\t\t\tvm.showSuccess(\"Success\", \"Invoice Order Details Updated successfully.\");\r\n\t\t\t\t\tvm.isUpdateDisabled = true; \r\n\t\t\t\t\tvm.CloseInvoiceDetails();\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tvm.GetAllOrdersByFilter();\r\n\t\t\t\t\t}, 2000);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.showFailure(\"Failed\", resp.data);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t\tvm.Acceptancemodel = function (requestDetails) {\r\n\t\t\tvm.showPartDetails=false;\r\n\t\t\tvm.AllRequestDetail = requestDetails;\r\n\t\t\tvm.updateStatusModelOpen = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'acceptancepopup.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\t\t$scope.openTrackingLink = function(trackingLink) {\r\n\t\t\t// Open the tracking link in a new tab\r\n\t\t\t$window.open(trackingLink, '_blank');\r\n\t\t};\r\n\t\tvm.CloseAcceptanceModel = function () {\r\n\t\t\tvm.updateStatusModelOpen.close();\r\n\t\t\tvm.DisableCreateButton(false);\r\n\t\t\tvm.UpdateOrderStatus = \"\";\r\n\t\t\tvm.TrackingLink = \"\";\r\n\t\t\tvm.strPackageId = \"\";\r\n\t\t\tvm.strPackageStatus = \"\";\r\n\t\t\tvm.GRNumber = \"\";\r\n\t\t\tvm.strPackageTrackingId = \"\";\r\n\t\t\tvm.strShipmentId = \"\";\r\n\t\t\tvm.PackageDetails = [];\r\n\t\t\tvm.datePackedOn = moment().format(\"YYYY-MM-DD\");\r\n\t\t\tvm.FileName = \"\";\r\n\t\t\tvm.FilesDoc = [];\r\n\t\t\tvm.clear();\r\n\t\t}\r\n\r\n\t\t$scope.uploadImageForNotice = function (files) {\r\n\t\t\tvm.FileName = \"\";\r\n\t\t\tvm.FilesDoc = files.files[0];\r\n\t\t\tvm.FileName = vm.FilesDoc.name;\r\n\t\t\tvm.FileSize = vm.FilesDoc.size;\r\n\t\t \r\n\t\t\t// Allowed file extensions (Images: jpg, jpeg, png, jfif and Documents: pdf, doc, docx)\r\n\t\t\tvar allowedExtensions = /(\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png|\\.JFIF|\\.jfif|\\.PDF|\\.pdf|\\.DOC|\\.doc|\\.DOCX|\\.docx)$/i;\r\n\t\t \r\n\t\t\t// Validate file extension\r\n\t\t\tif (!allowedExtensions.exec(vm.FileName)) {\r\n\t\t\t vm.FilesDoc = [];\r\n\t\t\t vm.clear();\r\n\t\t\t alert('Please upload a file with extensions .jpg, .jpeg, .png, .jfif, .pdf, .doc, or .docx only.');\r\n\t\t\t}\r\n\t\t \r\n\t\t\t// Optional: You can re-enable the file size check if needed (e.g., for 1MB max file size)\r\n\t\t\t// var allowedFileSize = 1000000; // 1MB\r\n\t\t\t// if(vm.FileSize > allowedFileSize) {\r\n\t\t\t// vm.FilesDoc = [];\r\n\t\t\t// vm.clear(); \r\n\t\t\t// alert('File size cannot exceed 1MB');\r\n\t\t\t// }\r\n\t\t };\r\n\t\t \r\n\t\t // Function to clear the file input\r\n\t\t vm.clear = function () {\r\n\t\t\tangular.element(\"input[type='file']\").val(null);\r\n\t\t };\r\n\t\t \r\n\t \r\n\t\t vm.clear = function () {\r\n\t\t\tangular.element(\"input[type='file']\").val(null);\r\n\t\t };\r\n\t\tvm.UpdateCartOrderStatus = function () {\r\n\t\t\tvm.CartOrder_Form.submitted = true;\r\n\t\t\tif (vm.CartOrder_Form.$valid) {\r\n\t\t\t\tvm.DisableCreateButton(true);\r\n\t\t\t\tif(vm.UpdateOrderStatus == \"Cancelled\"){\r\n\t\t\t\t\tvm.PackageDetails = [{\r\n\t\t\t\t\t\t\"strPackageId\": \"\",\r\n\t\t\t\t\t\t\"strPackageStatus\": \"\",\r\n\t\t\t\t\t\t\"strPackageTrackingId\": \"\",\r\n\t\t\t\t\t\t\"strShipmentId\": \"\",\r\n\t\t\t\t\t\t\"datePackedOn\": moment().format(\"YYYY-MM-DD\")\r\n\t\t\t\t\t}]\r\n\t\t\t\t\tvm.CancelComment = vm.resaonOfCancellation;\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\tvm.PackageDetails = [{\r\n\t\t\t\t\t\t\"strPackageId\": vm.strPackageId,\r\n\t\t\t\t\t\t\"strPackageStatus\": \"Shipped\",\r\n\t\t\t\t\t\t\"strPackageTrackingId\": vm.strPackageTrackingId,\r\n\t\t\t\t\t\t\"strShipmentId\": vm.strShipmentId,\r\n\t\t\t\t\t\t\"datePackedOn\": moment().format(\"YYYY-MM-DD\")\r\n\t\t\t\t\t}]\r\n\t\t\t\t\tvm.CancelComment = '';\r\n\t\t\t\t}\r\n\t\t\t\tvar data = {\r\n\t\t\t\t\t\"OrderId\": vm.AllRequestDetail.OrderId,\r\n\t\t\t\t\t\"OrderStatus\": vm.UpdateOrderStatus,\r\n\t\t\t\t\t\"TrackingLink\": vm.TrackingLink,\r\n\t\t\t\t\t\"PackageDetails\": vm.PackageDetails,\r\n\t\t\t\t\t\"CancelComment\": vm.CancelComment,\r\n\t\t\t\t\t\"GRNumber\" : vm.GRNumber,\r\n\t\t\t\t\t\"Attachement\" : vm.FileName\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\tAllOrdersReceivedListService.UpdateOrderStatus(token,loggedinUser,vm.FilesDoc,vm.FileName, data).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\t\tvm.CloseAcceptanceModel();\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", 'Order Updated Successfully.');\r\n\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\tvm.GetAllOrdersByFilter();\r\n\t\t\t\t\t\t\tvm.GetOrdersDashboardByFilter();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\t\tvm.showFailure('Failed', resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\t\r\n\t\t}\r\n\r\n\t\tvm.OpenOrderReturnCancelConfirmation = function (orderData,actionType) {\r\n\t\t\tvm.returnOrderToBeUpdated = orderData;\r\n\t\t\tvm.returnOrderId = orderData.OrderId;\r\n\t\t\tvm.ActionType = actionType;\r\n\t\t\tCancelReturnOrderModel = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'CancelReturnOrder.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closeOrderReturnModel = function () {\r\n\t\t\tCancelReturnOrderModel.close();\r\n\t\t\tvm.ActionType = \"\";\r\n\t\t\tvm.returnUpdateReason = \"\";\r\n\t\t\tvm.returnOrderId = \"\";\r\n\t\t}\r\n\r\n\t\tvm.OpenPartOrderReturnCancelConfirmation = function (partorderData) {\r\n\t\t\tvm.partreturnOrderToBeUpdated = partorderData;\r\n\t\t\tvm.partOrderId = vm.partreturnOrderToBeUpdated.OrderId\r\n\t\t\tvm.partreturnOrderId = partorderData.ListItemsInOrder;\r\n\t\t\tvm.partidreturn = vm.partreturnOrderId[0].strItemId\r\n\t\t\t// vm.ActionType = actionType;\r\n\t\t\tCancelPartReturnOrderModel = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'PartCancelReturnOrder.html',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvm.closePartOrderReturnModel = function () {\r\n\t\t\tCancelPartReturnOrderModel.close();\r\n\t\t\tvm.partOrderId = \"\";\r\n\t\t\tvm.partidreturn = \"\"\r\n\t\t}\r\n\r\n\r\n\t\tvm.RejectReturnPart = function () {\r\n\t\t\t// vm.Return_Confirmation.submitted = true;\r\n\t\t\t// if (vm.Return_Confirmation.$valid) {\r\n\t\t\t\tvm.DisableCreateButton(true);\r\n\t\t\t\tvar data = {\r\n\t\t\t\t\t\"OrderId\": vm.partOrderId,\r\n\t\t\t\t\t\"PartId\": vm.partidreturn,\r\n\t\t\t\t}\r\n\t\t\t\tAllOrdersReceivedListService.RejectReturnPart(data,token,loggedinUser).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\t\tvm.closePartOrderReturnModel();\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", ' Part Reject Successfully.');\r\n\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\tvm.GetAllOrdersByFilter();\r\n\t\t\t\t\t\t\tvm.GetOrdersDashboardByFilter();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\t\tvm.showFailure('Failed', resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t// }\r\n\t\t\t\r\n\t\t}\r\n\r\n\t\tvm.ReturnOrderAction = function () {\r\n\t\t\tvm.Return_Confirmation.submitted = true;\r\n\t\t\tif (vm.Return_Confirmation.$valid) {\r\n\t\t\t\tvm.DisableCreateButton(true);\r\n\t\t\t\tvar data = {\r\n\t\t\t\t\t\"ReturnOrderId\": vm.returnOrderId,\r\n\t\t\t\t\t\"ActionType\": vm.ActionType,\r\n\t\t\t\t\t\"Reason\": vm.returnUpdateReason\r\n\t\t\t\t}\r\n\t\t\t\tAllOrdersReceivedListService.ReturnOrderAction(token,loggedinUser, data).then(function (resp) {\r\n\t\t\t\t\tif (resp.status == 200) {\r\n\t\t\t\t\t\tvm.closeOrderReturnModel();\r\n\t\t\t\t\t\tvm.showSuccess(\"Success\", 'Order Status Updated Successfully.');\r\n\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\tvm.GetAllOrdersByFilter();\r\n\t\t\t\t\t\t\tvm.GetOrdersDashboardByFilter();\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.DisableCreateButton(false);\r\n\t\t\t\t\t\tvm.showFailure('Failed', resp.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\t\r\n\t\t}\r\n\r\n\r\n\t\tvm.ViewJob = function (ticket) {\r\n\t\t\t$state.go('index.JobDetailView', {\r\n\t\t\t ticketId: ticket\r\n\t\t\t}, {\r\n\t\t\t reload: true\r\n\t\t\t});\r\n\t\t }\r\n\r\n\r\n\t\t// vm.RejectReturnPart = function () {\r\n\t\t// \tvm.PartReturn_Confirmation.submitted = true;\r\n\t\t// \tif (vm.PartReturn_Confirmation.$valid) {\r\n\t\t// \t\tvm.DisableCreateButton(true);\r\n\t\t// \t\tvar data = {\r\n\t\t// \t\t\t\"ReturnOrderId\": vm.returnOrderId,\r\n\t\t// \t\t\t\"ActionType\": vm.ActionType,\r\n\t\t// \t\t\t\"Reason\": vm.returnUpdateReason\r\n\t\t// \t\t}\r\n\t\t// \t\tAllOrdersReceivedListService.RejectReturnPart(token,loggedinUser, data).then(function (resp) {\r\n\t\t// \t\t\tif (resp.status == 200) {\r\n\t\t// \t\t\t\tvm.closeOrderReturnModel();\r\n\t\t// \t\t\t\tvm.showSuccess(\"Success\", 'Order Status Updated Successfully.');\r\n\t\t// \t\t\t\tsetTimeout(function () {\r\n\t\t// \t\t\t\t\tvm.GetAllOrdersByFilter();\r\n\t\t// \t\t\t\t\tvm.GetOrdersDashboardByFilter();\r\n\t\t// \t\t\t\t}, 2000);\r\n\t\t// \t\t\t}\r\n\t\t// \t\t\telse {\r\n\t\t// \t\t\t\tvm.DisableCreateButton(false);\r\n\t\t// \t\t\t\tvm.showFailure('Failed', resp.data);\r\n\t\t// \t\t\t}\r\n\t\t// \t\t})\r\n\t\t// \t}\r\n\t\t\t\r\n\t\t// }\r\n\r\n\t\tvm.PDFViewOfShipmentDoc = function (page) {\r\n\t\t\tvm.IsLoadSucessfull = false;\r\n\t\t\tMainService.GetImageBlob(loggedinUser, token, page).then(function (resp) {\r\n\t\t\t vm.pdfimage = resp.data;\r\n\t\t\t vm.IsLoadSucessfull = true;\r\n\t\t\t});\r\n\t\t\t$timeout(function () {\r\n\t\t\t taxInvoiceModel = $uibModal.open({\r\n\t\t\t\ttemplateUrl: \"PDFView.html\",\r\n\t\t\t\tsize: \"lg\",\r\n\t\t\t\tscope: $scope,\r\n\t\t\t });\r\n\t\t\t}, 1000);\r\n\t\t };\r\n\r\n\t\t \r\n\r\n\t\tvm.PDFView = function () {\r\n\t\t\tvm.pdfimage = \"\";\r\n\t\t\tvm.IsLoadSucessfull = false;\r\n\t\t\ttaxInvoiceModel = $uibModal.open({\r\n\t\t\t templateUrl: 'PDFView.html',\r\n\t\t\t size: 'lg',\r\n\t\t\t scope: $scope\r\n\t\t\t});\t \r\n\t\t }\r\n\t\t vm.PDFUserModal = function () {\r\n\t\t\ttaxInvoiceModel.close();\r\n\t\t }\r\n\r\n\t\t vm.viewChallanPdf = function (OrderId) {\r\n\t\t\tvm.PDFView();\r\n\t\t\tAllOrdersReceivedListService.GeneratePdfChallan(loggedinUser, token, OrderId).then(function (resp) {\r\n\t\t\t if (resp.status == 200) {\r\n\t\t\t\tvm.ChallanData = resp.data;\r\n\t\t\t\tvar arrrayBuffer = base64ToArrayBuffer(vm.ChallanData);\r\n\t\t\t\tvar blob = new Blob([arrrayBuffer], { type: \"application/pdf\" });\r\n\t\t\t\tvm.pdfimage = URL.createObjectURL(blob);\r\n\t\t\t\tvm.IsLoadSucessfull = true;\r\n\t\t\t }\r\n\t\t\t});\r\n\t \r\n\t\t }\r\n\r\n\t\t vm.viewPOPdf = function (OrderId) {\r\n\t\t\tvm.PDFView();\r\n\t\t\tAllOrdersReceivedListService.GeneratePdfTaxInvoice(loggedinUser, token, OrderId).then(function (resp) {\r\n\t\t\t if (resp.status == 200) {\r\n\t\t\t\tvm.InvoiceData = resp.data;\r\n\t\t\t\tvar arrrayBuffer = base64ToArrayBuffer(vm.InvoiceData);\r\n\t\t\t\tvar blob = new Blob([arrrayBuffer], { type: \"application/pdf\" });\r\n\t\t\t\tvm.pdfimage = URL.createObjectURL(blob);\r\n\t\t\t\tvm.IsLoadSucessfull = true;\r\n\t\t\t }\r\n\t\t\t});\r\n\t \r\n\t\t }\r\n\r\n\t\t function base64ToArrayBuffer(base64) \r\n\t\t {\r\n\t\t\t var ret = base64.replace('data:application/pdf;base64,','');\r\n\t\t\t\t var binaryString = atob(ret);\r\n\t\t\t\t var binaryLen = binaryString.length;\r\n\t\t\t\t var bytes = new Uint8Array(binaryLen);\r\n\t\t\t\t for (var i = 0; i < binaryLen; i++) {\r\n\t\t\t\t var ascii = binaryString.charCodeAt(i);\r\n\t\t\t\t bytes[i] = ascii;\r\n\t\t\t\t }\r\n\t\t\t\t return bytes;\r\n\t\t }\r\n\t\t \r\n\r\n\t}\r\n});\n\r\nangular.module('inspinia').service('AllAssetsListService', function (ApiURL, FreelancerURL, SchedulingAPI, $log, $http, $localStorage) {\r\n\r\n\r\n\r\n\r\n});\r\n\nangular.module('inspinia').controller('AllAssetsListController', function (OnBoardingFlowService, DashboardService, DTColumnBuilder, $filter, $q, $compile, ManualAssignationJobService, AllAssetsListService, $scope, TicketBasedPlanningService, $window, $uibModal, $timeout, $http, NgMap,\r\n ReferService, $rootScope, $q, DTColumnDefBuilder, $uibModal, $localStorage, $state, FreelancerURL, ApiURL, $timeout, ngProgressFactory, $interval) {\r\n var vm = this;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n } else {\r\n\r\n vm.FilterSwitch = false;\r\n vm.client = 1;\r\n vm.workArea = '';\r\n var ProjectModal = {};\r\n var circleArray;\r\n vm.filteredProperties = {};\r\n var customerIndex = 0;\r\n vm.projectName = '';\r\n vm.dtInstance = {};\r\n\r\n $scope.myvalue = false;\r\n $scope.class_status = true;\r\n $scope.toggleSingleClass = function () {\r\n $scope.class_status = !$scope.class_status;\r\n $scope.myvalue = true;\r\n };\r\n\r\n $scope.broadcastSentUser = true;\r\n $scope.toggleForBroadcast = function () {\r\n $scope.broadcastSentUser = !$scope.broadcastSentUser;\r\n $scope.myvalue = true;\r\n };\r\n $scope.manualAssignationWrapper = \"hide-nav\";\r\n $scope.toggleMenu = function () {\r\n if ($scope.manualAssignationWrapper === \"hide-nav\") {\r\n $scope.manualAssignationWrapper = \"show-nav\";\r\n }\r\n else {\r\n $scope.manualAssignationWrapper = \"hide-nav\";\r\n }\r\n };\r\n $scope.hideAllUser = true;\r\n\r\n $scope.showAllUser = function () {\r\n $scope.hideAllUser = true;\r\n };\r\n $scope.hideAllUserbutton = function () {\r\n $scope.hideAllUser = false;\r\n };\r\n $scope.userClass_status = true;\r\n $scope.toggleBottom = false;\r\n $scope.open360View = function () {\r\n $scope.userClass_status = false;\r\n $scope.myvalue = true;\r\n }\r\n $scope.close360View = function () {\r\n $scope.userClass_status = true;\r\n $scope.myvalue = false;\r\n }\r\n $scope.closeSlideBottom = function () {\r\n $scope.toggleNav = false;\r\n }\r\n $scope.hideoverlay = function () {\r\n $scope.myvalue = false;\r\n $scope.class_status = true;\r\n $scope.userClass_status = true;\r\n $scope.broadcastSentUser = true;\r\n $scope.userFilter = true;\r\n $scope.minatureSlide = true;\r\n $scope.myvalue = false;\r\n vm.closeFeedbackoption();\r\n }\r\n $scope.close360ViewBroadcaste = function () {\r\n $scope.myvalue = false;\r\n angular.element('#div1').removeClass(\"alpha\");\r\n $scope.userClass_status = true;\r\n }\r\n // $scope.userSingle = function() {\r\n // $scope.userClass_status = !$scope.userClass_status;\r\n\r\n // };\r\n $scope.userFilter = true;\r\n $scope.assignJobFilter = function () {\r\n $scope.userFilter = !$scope.userFilter;\r\n $scope.myvalue = true;\r\n $scope.manualAssignationWrapper = \"hide-nav\";\r\n // $scope.toggleMenu();\r\n };\r\n $scope.minatureSlide = true;\r\n $scope.minatureSlideBtn = function () {\r\n $scope.minatureSlide = !$scope.minatureSlide;\r\n $scope.myvalue = true;\r\n };\r\n\r\n\r\n $scope.hideFilter = function () {\r\n $scope.userFilter = true;\r\n $scope.minatureSlide = true;\r\n $scope.myvalue = false;\r\n }\r\n\r\n vm.CustomDateformat = $localStorage.CustomDateformat;\r\n vm.FreelancerAccess = $localStorage.accountConfig.FreelancerAccess;\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.accountConfig = $localStorage.accountConfig;\r\n vm.confirmTagModal = $scope.$parent.$parent.main.confirmTagModal;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n vm.CurrencySymbol = $localStorage.accountConfig.CurrencySymbol;\r\n vm.EnableRegion = vm.getAccountConfigSetting('EnableRegion');\r\n vm.VerticalName = vm.getAccountConfigSetting('Vertical');\r\n var token = $localStorage.token;\r\n vm.searchText = \"\";\r\n vm.searchTicket = \"\";\r\n vm.IsSearch = false;\r\n vm.DateField = \"CreatedOn\";\r\n var fnitemNames = '';\r\n var fnitemValues = '';\r\n var witemNames = \"\";\r\n var witemValues = \"\";\r\n vm.IsFreelancerBidCount = false;\r\n vm.IsFixedTeamCount = false;\r\n var wsSDate = '';\r\n var wsEDate = '';\r\n var fPageIndex = 1;\r\n var fPageSize = 10;\r\n vm.SearchByUserType = '';\r\n vm.searchJobTypeText = \"\";\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n vm.TotalLocation = 0;\r\n vm.TotalMatch = 0;\r\n vm.NotMatch = 0;\r\n vm.Atleast3Match = 0;\r\n vm.Atleast2Match = 0;\r\n vm.Atleast1Match = 0;\r\n vm.RunRateInDays = 0;\r\n vm.RangeInKm = 0;\r\n vm.JobSkill = \"\";\r\n vm.RegistrationStatus = \"\";\r\n vm.UserRegistrationStatus = \"\";\r\n vm.TechRole = \"\";\r\n vm.Asset = \"\";\r\n vm.Tools = \"\";\r\n vm.Certificate = \"\";\r\n vm.PermanentCity = \"\";\r\n vm.techPincode = \"\";\r\n vm.PermanentState = \"\";\r\n vm.TicketState = \"\";\r\n vm.SearchByAccountName = \"\";\r\n vm.PreferredForAccounts = \"\";\r\n vm.TicketCity = \"\";\r\n vm.ticketStatus = \"\";\r\n vm.TicketSkill = \"\";\r\n vm.Pincode = \"\";\r\n $scope.Prime = false;\r\n $scope.NonPrime = false;\r\n vm.PssStatus = \"\";\r\n vm.SMEInterctionVideo = false;\r\n vm.UserDetailVerification = \"\";\r\n vm.showErrors = false;\r\n vm.showPassed = false;\r\n vm.errorList = [];\r\n vm.disableUploadButton = true;\r\n vm.LocationAddressList = [];\r\n vm.TicketBasedPlanningList = {};\r\n vm.bulkuploadType = \"Location\";\r\n vm.progressbar = ngProgressFactory.createInstance();\r\n vm.canceler = $q.defer();\r\n vm.successTitle = \"\";\r\n vm.successMsg = \"\";\r\n vm.noMsg = [];\r\n vm.noOfRecords = 0;\r\n vm.file = null;\r\n vm.fileName = '';\r\n vm.fileDescription = '';\r\n vm.techpageindexCount = 0;\r\n vm.ticketPoolPageListCount = 10;\r\n vm.customerPageListCount = 10;\r\n vm.userPoolPageListCount = 10;\r\n vm.pageListCounts = [10, 20, 30, 50];\r\n vm.ticketPoolListLenth = 0;\r\n vm.customerListLenth = 0;\r\n vm.userPoolListLength = 0;\r\n var PageIndex = 1;\r\n var PageSize = 10;\r\n vm.pageindexCount = 0;\r\n vm.TPpageindexCount = 0;\r\n vm.cuPageindexCount = 0;\r\n vm.UPpageindexCount = 0;\r\n vm.DateField = \"StatusChangedOn\";\r\n vm.searchStatusText = \"All\";\r\n var uPageIndex = 1;\r\n var uwPageIndex = 1;\r\n var uPageSize = 10;\r\n var uwPageSize = 10;\r\n var ulPageIndex = 1;\r\n var ulPageSize = 10;\r\n vm.AlListCount = 10;\r\n var uwtPageIndex = 1;\r\n var uwtPageSize = 10;\r\n var uwtPageSize = 10;\r\n vm.UWListCount = 10;\r\n vm.EAlListCount = 10;\r\n vm.UsersType = \"\";\r\n vm.OrderSequence = \"asc\";\r\n // vm.Orderby = \"City\";\r\n // vm.SortBy = \"Distance\";\r\n vm.Orderby = \"CreatedOn\";\r\n vm.SortType = \"desc\";\r\n var uitemNames = \"\";\r\n var uitemValues = \"\";\r\n vm.searchUsersText = \"\";\r\n vm.jobsCount = '';\r\n vm.Technicianstartingdate = '2017-01-01';\r\n vm.userPageListCount = 10;\r\n vm.financePageListCount = 10;\r\n vm.UWticketsListCount = 10;\r\n vm.pageListCountsuwt = [10, 20, 30, 50];\r\n vm.IsAuthorizedServiceCenter = false;\r\n var startDate = moment().subtract(7, 'days').format(\"YYYY-MM-DD\");\r\n var endDate = moment().format(\"YYYY-MM-DD\");\r\n $scope.dates = { startDate: startDate, endDate: endDate };\r\n $scope.ranges = {\r\n 'Today': [moment(), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n 'Till now': [moment(vm.Technicianstartingdate), moment(endDate)],\r\n };\r\n\r\n $scope.dateRangeChange = function (ev, picker) {\r\n startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n endDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n vm.getAllJobForExceptionList();\r\n vm.GetAnalysisDataList(loggedinUser, token, vm.UploadId, vm.AnalysisId, vm.Orderby, vm.OrderSequence, uPageIndex, uPageSize);\r\n\r\n };\r\n\r\n\r\n vm.City = '';\r\n vm.Pincode = '';\r\n vm.Experience = '';\r\n vm.Ratings = '';\r\n vm.Assets_Tools = '';\r\n vm.Jobscount = '';\r\n vm.FilterAdhar = '';\r\n vm.FilterPancard = '';\r\n $localStorage.filteraddskill = '';\r\n $localStorage.filterPermanentstate = '';\r\n vm.currentPage = $localStorage.PageIndex ? $localStorage.PageIndex : 1;\r\n vm.pageSize = 20;\r\n $scope.totalUsers = 0;\r\n $scope.usersPerPage = 20; // this should match however many results your API puts on one page\r\n $scope.pagination = {\r\n current: 1\r\n };\r\n $scope.pagination.current = $localStorage.PageIndex ? $localStorage.PageIndex : 1;\r\n $scope.totalTableUsers = 0;\r\n $scope.usersTablePerPage = 20; // this should match however many results your API puts on one page\r\n $scope.UserTablepagination = {\r\n current: 1\r\n };\r\n\r\n $scope.UserTablepagination.current = $localStorage.PageIndex ? $localStorage.PageIndex : 1;\r\n $scope.pageChanged = function (newPage) {\r\n vm.currentPage = newPage;\r\n vm.applyfilter(newPage);\r\n\r\n };\r\n $scope.isOpen = false;\r\n $scope.isOpen1 = false;\r\n $scope.isCollapsed = true;\r\n $scope.isCollapsed0 = true;\r\n $scope.isCollapsed1 = true;\r\n $scope.isCollapsed2 = true;\r\n $scope.isCollapsed3 = true;\r\n $scope.isCollapsed4 = true;\r\n $scope.isCollapsed5 = true;\r\n $scope.isCollapsed6 = true;\r\n $scope.isCollapsed7 = true;\r\n $scope.isCollapsed8 = true;\r\n $scope.isCollapsed9 = true;\r\n $scope.isCollapsed10 = true;\r\n $scope.isCollapsed11 = true;\r\n $scope.isCollapsed12 = true;\r\n $scope.isCollapsed13 = true;\r\n $scope.isCollapsed14 = true;\r\n $scope.isCollapsed15 = true;\r\n $scope.isCollapsed16 = true;\r\n $scope.isCollapsed17 = true;\r\n $scope.isCollapsed18 = true;\r\n $scope.isCollapsed19 = true;\r\n $scope.isCollapsed20 = true;\r\n $scope.isCollapsed21 = true;\r\n $scope.isCollapsed22 = true;\r\n $scope.isCollapsed23 = true;\r\n $scope.isCollapsed24 = true;\r\n $scope.isCollapsed25 = true;\r\n $scope.isCollapsed26 = true;\r\n $scope.isCollapsed27 = true;\r\n $scope.isCollapsed28 = true;\r\n $scope.isCollapsed29 = true;\r\n $scope.isCollapsed30 = true;\r\n $scope.isCollapsed31 = true;\r\n $scope.isCollapsed32 = true;\r\n $scope.isCollapsed33 = true;\r\n $scope.isCollapsed34 = true;\r\n $scope.isCollapsed35 = true;\r\n $scope.isCollapsed36 = true;\r\n $scope.isCollapsed37 = true;\r\n $scope.isCollapsed38 = true;\r\n $scope.isCollapsed39 = true;\r\n $scope.isCollapsed40 = true;\r\n $scope.isCollapsed41 = true;\r\n $scope.isCollapsed42 = true;\r\n $scope.isCollapsed43 = true;\r\n\r\n $scope.openAnalysisReport = function (analysisDetails) {\r\n $localStorage.UploadId = analysisDetails.UploadId;\r\n $scope.showAnalysisReport = !$scope.showAnalysisReport;\r\n angular.element('#filter-visible-area').removeClass(\"filter-slider-visible\");\r\n }\r\n $scope.backScreen = function () {\r\n $scope.showAnalysisReport = false;\r\n angular.element('#filter-visible-area').addClass(\"filter-slider-visible\");\r\n }\r\n vm.showUserFilter = function () {\r\n vm.IsBasedOnPincode = true;\r\n vm.chkselect = true;\r\n vm.RangeInKm = 0;\r\n vm.JobSkill = \"\";\r\n vm.OneJobDone = false;\r\n vm.MatchingSkill = false;\r\n vm.UserRegistrationStatus = \"\";\r\n vm.TechRole = \"\";\r\n }\r\n\r\n $scope.isActive = false;\r\n $scope.isActive1 = true;\r\n $scope.HideText = function () {\r\n $scope.isActive = true;\r\n $scope.isActive1 = false;\r\n }\r\n $scope.ShowText = function () {\r\n $scope.isActive = false;\r\n $scope.isActive1 = true;\r\n };\r\n\r\n\r\n $scope.isClick = false;\r\n $scope.isClick1 = false;\r\n $scope.isClick2 = false;\r\n $scope.isClick3 = false;\r\n $scope.activeButton = function () {\r\n $scope.isClick = !$scope.isClick;\r\n }\r\n $scope.activeButton1 = function () {\r\n $scope.isClick1 = !$scope.isClick1;\r\n }\r\n $scope.activeButton2 = function () {\r\n $scope.isClick2 = !$scope.isClick2;\r\n }\r\n $scope.activeButton3 = function () {\r\n $scope.isClick3 = !$scope.isClick3;\r\n }\r\n\r\n $scope.class1 = false;\r\n $scope.addRemoveRedClass = function (UploadId) {\r\n $localStorage.UploadId = UploadId;\r\n if ($scope.class1) {\r\n $scope.class1 = false;\r\n } else {\r\n $scope.class1 = true;\r\n }\r\n }\r\n function getAllStates() {\r\n var defered = $q.defer();\r\n ReferService.getAllState(loggedinUser, token).then(function (resp) {\r\n defered.resolve(resp);\r\n }, function (error) {\r\n defered.reject(error);\r\n });\r\n return defered.promise;\r\n }\r\n\r\n var allStatePromise = getAllStates(loggedinUser);\r\n allStatePromise.then(function (resp) {\r\n vm.StateList = resp.data;\r\n\r\n });\r\n function getallCities(state) {\r\n ReferService.getAllCity(loggedinUser, state, token).then(function (resp) {\r\n vm.CityList = resp.data;\r\n });\r\n }\r\n vm.selectedState = function (state) {\r\n getallCities(state);\r\n }\r\n \r\n }\r\n});\nangular.module('inspinia').controller('AdvancedDashboardShareController', function ($state, $stateParams, DTColumnBuilder, $q,$compile, $scope, AdvancedDashboardService, CentralHelpdeskConfigService, $stateParams, $q, $log, $localStorage, DTOptionsBuilder, DTColumnDefBuilder, ReportService, $timeout) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var loggedinUserRole = $localStorage.loggedInUser_Role;\r\n vm.matrixName = '';\r\n\r\n if(!loggedinUser)\r\n {\r\n loggedinUser = $stateParams.userid;\r\n }\r\n\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n } else {\r\n var token = $localStorage.token;\r\n\r\n if(!token)\r\n {\r\n token = $stateParams.token;\r\n }\r\n\r\n\r\n vm.createCallback = function (modelObj, callbacks) {\r\n return function (data) {\r\n if (modelObj && data) {\r\n modelObj.extend(data);\r\n }\r\n if (callbacks) {\r\n angular.forEach(callbacks, function (d) {\r\n if (d) {\r\n d(data);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n vm.getAccountConfigSetting = function(name){\r\n return ($localStorage.accountConfig && $localStorage.accountConfig[name]!=null) ? $localStorage.accountConfig[name] : null; \r\n }\r\n\r\n vm.showSuccess = function (title, body) {\r\n if (title) {\r\n vm.toaster_success.title = title;\r\n } if (body) {\r\n vm.toaster_success.body = body;\r\n }\r\n toaster.pop(vm.toaster_success);\r\n }\r\n\r\n vm.showFailure = function (title, body) {\r\n if (title) {\r\n vm.toaster_fail.title = title;\r\n } if (body) {\r\n vm.toaster_fail.body = body;\r\n }\r\n toaster.pop(vm.toaster_fail);\r\n }\r\n\r\n AdvancedDashboardService.setShowSuccess(vm.showSuccess);\r\n AdvancedDashboardService.setShowFailure(vm.showFailure);\r\n vm.dashboard_data = {};\r\n vm.metricsCharts = {};\r\n vm.tableCharts = {};\r\n vm.lineCharts = {};\r\n vm.pieCharts = {};\r\n vm.barCharts = {};\r\n vm.stackedCharts ={};\r\n vm.deepLink = {};\r\n vm.selectDimension = {};\r\n vm.states = [];\r\n var start_date = '';\r\n vm.BusinessUnit = '';\r\n vm.State = '';\r\n vm.Skill = '';\r\n vm.Account = '';\r\n vm.filterKeys = '';\r\n vm.filterValues = '';\r\n var thisFiscalStart = '';\r\n var thisFiscalEnd = '';\r\n var intialLoad = true;\r\n vm.districts = [];\r\n vm.District = '';\r\n //vm.enableFilter = false;\r\n vm.filters = [];\r\n var total = 'Total';\r\n\r\n if (moment().quarter() === 2) {\r\n thisFiscalStart = moment().month('April').startOf('month');\r\n thisFiscalEnd = moment().add(1, 'year').month('March').endOf('month');\r\n } else {\r\n thisFiscalStart = moment().subtract(1, 'year').month('April').startOf('month');\r\n thisFiscalEnd = moment().month('March').endOf('month');\r\n };\r\n\r\n $scope.ranges = {\r\n 'Today': [moment(), moment()], \r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')], \r\n 'Payment week': [moment().startOf('week').isoWeekday(1), moment().endOf('week').isoWeekday(0)], \r\n // 'Last week': [moment().subtract(1, 'weeks').startOf('week').isoWeekday(1), moment().subtract(1, 'weeks').endOf('week').isoWeekday(0)], \r\n 'This week': [moment().startOf('week'), moment().endOf('week')], \r\n 'Last week': [moment().subtract(1, 'weeks').startOf('week'), moment().subtract(1, 'weeks').endOf('week')], \r\n 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n 'Last month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')],\r\n // 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This quater': [moment().startOf('quarter'), moment().endOf('quarter')],\r\n 'Last quater': [moment().subtract(1, 'quarters').startOf('quarter'), moment().subtract(1, 'quarters').endOf('quarter')], \r\n 'This year': [thisFiscalStart, thisFiscalEnd], \r\n 'Till now': [moment().subtract(5, 'years'), moment()]\r\n };\r\n\r\n $scope.dateRangeChange = function(ev, picker){\r\n var startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n var endDate = picker.endDate.format(\"YYYY-MM-DD\"); \r\n vm.rollup = \"Range(\"+startDate+\"|\"+endDate+\")\";\r\n vm.tableCharts = {};\r\n vm.loadSpecificDashboard($stateParams.name);\r\n intialLoad = false;\r\n };\r\n\r\n// $scope.dateRangeChange = function(ev, picker){\r\n// var startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n// var endDate = picker.endDate.format(\"YYYY-MM-DD\"); \r\n \r\n// var duration = picker.endDate.diff(picker.startDate, 'days');\r\n// vm.Age = duration;\r\n// vm.rollup = \"Range(\"+startDate+\"|\"+endDate+\")\";\r\n// vm.tableCharts = {};\r\n// if(vm.Age <= 31) {\r\n// vm.loadSpecificDashboard($stateParams.name);\r\n// intialLoad = false;\r\n// }\r\n// else {\r\n// // vm.showFailure(\"Please Select date range within 30 days\");\r\n// alert(\"Please Select date range within 30 days\");\r\n// }\r\n\r\n// };\r\n \r\n $scope.dates = { startDate: thisFiscalStart, endDate: thisFiscalEnd};\r\n vm.rollup = \"Range(\"+thisFiscalStart.format(\"YYYY-MM-DD\")+\"|\"+thisFiscalEnd.format(\"YYYY-MM-DD\")+\")\";\r\n\r\n vm.getSkills = function () {\r\n AdvancedDashboardService.getSkills(loggedinUser, token, function (skills) {\r\n vm.skills = skills; \r\n }, vm.showFailure);\r\n } \r\n vm.getSkills();\r\n\r\n vm.getAccounts = function () {\r\n if(loggedinUserRole == \"Dispatch Manager\")\r\n {\r\n CentralHelpdeskConfigService.getAllAccounts(loggedinUser, token).then(function (resp) { \r\n if (resp && resp.data && resp.status==200) {\r\n vm.accounts = resp.data; \r\n } \r\n }, vm.showFailure);\r\n }\r\n else\r\n {\r\n AdvancedDashboardService.getAccounts(loggedinUser, token, function (accounts) {\r\n vm.accounts = accounts; \r\n }, vm.showFailure);\r\n } \r\n } \r\n vm.getAccounts();\r\n\r\n\r\n vm.updateDefaultDateFilter = function( dasahboardFilter){ \r\n if(intialLoad){ \r\n var startDate = '';\r\n var endDate = '';\r\n if(dasahboardFilter && dasahboardFilter.DefaultDateFilter)\r\n { \r\n startDate = $scope.ranges[dasahboardFilter.DefaultDateFilter][0];\r\n endDate = $scope.ranges[dasahboardFilter.DefaultDateFilter][1]; \r\n $scope.dates = { startDate: startDate, endDate: endDate};\r\n $scope.$broadcast('update.daterangepicker', {date: $scope.dates});\r\n vm.rollup = \"Range(\"+startDate.format(\"YYYY-MM-DD\")+\"|\"+endDate.format(\"YYYY-MM-DD\")+\")\"; \r\n } \r\n }\r\n }\r\n\r\n vm.getBusinessUnits = function () {\r\n AdvancedDashboardService.getBusinessUnits(loggedinUser, token, function (businessUnits) {\r\n vm.businessUnits = businessUnits; \r\n }, vm.showFailure);\r\n } \r\n vm.getBusinessUnits();\r\n\r\n vm.getStates = function () {\r\n AdvancedDashboardService.getAllState(loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length > 0) {\r\n vm.states = resp.data;\r\n }\r\n }\r\n });\r\n }\r\n vm.getStates();\r\n\r\n vm.getDistrictByState = function () {\r\n AdvancedDashboardService.getDistrictsByState(loggedinUser, token, vm.State, function (districts) {\r\n vm.districts = districts; \r\n }, vm.showFailure);\r\n }\r\n\r\n vm.getCitiesByState = function () {\r\n AdvancedDashboardService.getCitiesByState(loggedinUser, token, vm.State).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length > 0) {\r\n vm.districts = resp.data;\r\n }\r\n }\r\n });\r\n }\r\n // vm.getCitiesByState();\r\n\r\n vm.Allapplyfilter = function(){\r\n vm.filterKeys = '';\r\n vm.filterValues = '';\r\n prepareFilters('BusinessUnit', vm.BusinessUnit);\r\n prepareFilters('AccountName', vm.Account);\r\n prepareFilters('Skill', vm.Skill);\r\n prepareFilters('State', vm.State);\r\n prepareFilters('City', vm.District);\r\n vm.tableCharts = {};\r\n vm.loadSpecificDashboard($stateParams.name); \r\n }\r\n\r\n var prepareFilters = function(filterkey, filervalue){ \r\n if(filervalue)\r\n {\r\n if(vm.filterKeys)\r\n {\r\n vm.filterKeys = vm.filterKeys + ',' + filterkey;\r\n vm.filterValues = vm.filterValues + ',' + filervalue;\r\n }\r\n else\r\n {\r\n vm.filterKeys = filterkey;\r\n vm.filterValues = filervalue;\r\n\r\n }\r\n }\r\n }\r\n\r\n vm.ResetFilter = function(){\r\n vm.filterKeys = '';\r\n vm.filterValues = '';\r\n vm.BusinessUnit = '';\r\n vm.Account = '';\r\n vm.Skill = '';\r\n vm.State = '';\r\n vm.District = '';\r\n vm.tableCharts = {};\r\n vm.loadSpecificDashboard($stateParams.name);\r\n }\r\n\r\n\r\n\r\n vm.getChart = function (chartId, chartType, metrics, dimensions, subtitle, YAxis, rollup) {\r\n vm.selectDimension[chartId] = {};\r\n AdvancedDashboardService.getChart1(loggedinUser, token, chartType, metrics, dimensions, rollup, vm.filterKeys, vm.filterValues,\"\",false, total, vm.createCallback(null, [function (data) {\r\n if (chartType == 'Metrics' || chartType == 'OneServMetrics') {\r\n vm.metricsCharts[chartId] = {};\r\n vm.metricsCharts[chartId].value = data;\r\n vm.metricsCharts[chartId].subtitles = subtitle.split(\",\");\r\n vm.metricsCharts[chartId].ChartId = chartId;\r\n } else if (chartType == 'Table') {\r\n vm.tableCharts[chartId] = {};\r\n vm.tableCharts[chartId].value = data;\r\n vm.tableCharts[chartId].ChartId = chartId;\r\n vm.createTableChart(chartId, data.Categories.length , data); \r\n\r\n //vm.buildColumnBuilder(chartId, data.Categories.length);\r\n } else if (chartType == 'Line') {\r\n vm.lineCharts[chartId] = {};\r\n vm.lineCharts[chartId].value = data;\r\n vm.lineCharts[chartId].selectedRollup = rollup;\r\n vm.createLineChart(chartId, YAxis);\r\n } else if (chartType == 'Bar') {\r\n vm.barCharts[chartId] = {};\r\n vm.barCharts[chartId].value = data;\r\n vm.barCharts[chartId].selectedRollup = rollup;\r\n vm.createBarChart(chartId, YAxis);\r\n }else if (chartType == 'StackedBar') {\r\n vm.stackedCharts[chartId] = {};\r\n vm.stackedCharts[chartId].value = data;\r\n vm.stackedCharts[chartId].selectedRollup = rollup;\r\n vm.createStackedChart(chartId, YAxis);\r\n } else if (chartType == 'Pie') {\r\n vm.pieCharts[chartId] = {};\r\n vm.pieCharts[chartId].value = data;\r\n vm.createPieChart(chartId, subtitle);\r\n } else if (chartType == 'CustomPie') {\r\n vm.pieCharts[chartId] = {};\r\n vm.pieCharts[chartId].value = data;\r\n vm.pieCharts[chartId].selectedDimension=dimensions;\r\n vm.createPieChart(chartId, subtitle);\r\n } else if (chartType == 'CustomLine') {\r\n vm.lineCharts[chartId] = {};\r\n vm.lineCharts[chartId].value = data;\r\n vm.lineCharts[chartId].selectedDimension = dimensions;\r\n vm.selectDimension[chartId].dimension = dimensions;\r\n vm.lineCharts[chartId].selectedRollup = rollup;\r\n vm.createLineChart(chartId, YAxis);\r\n }else if (chartType == 'CustomBar') {\r\n vm.barCharts[chartId] = {};\r\n vm.barCharts[chartId].value = data;\r\n vm.barCharts[chartId].selectedDimension = dimensions;\r\n vm.selectDimension[chartId].dimension = dimensions;\r\n vm.barCharts[chartId].selectedRollup = rollup;\r\n vm.createBarChart(chartId, YAxis);\r\n }else if (chartType == 'DrillDownBar') {\r\n vm.barCharts[chartId] = {};\r\n vm.barCharts[chartId].value = data;\r\n vm.barCharts[chartId].selectedDimension = dimensions;\r\n vm.selectDimension[chartId].dimension = dimensions;\r\n vm.barCharts[chartId].selectedRollup = rollup;\r\n vm.createDrilledDownBarChart(chartId, YAxis);\r\n }else if (chartType == 'CustomStackedBar') {\r\n vm.stackedCharts[chartId] = {};\r\n vm.stackedCharts[chartId].value = data;\r\n vm.stackedCharts[chartId].selectedDimension = dimensions;\r\n vm.selectDimension[chartId].dimension = dimensions;\r\n vm.stackedCharts[chartId].selectedRollup = rollup;\r\n vm.createStackedChart(chartId, YAxis);\r\n }\r\n }]));\r\n }\r\n\r\n vm.dashboardCallback = vm.createCallback(null, [function (data) {\r\n vm.dashboard_data = data;\r\n\r\n if(data && data.DashboardFilters){\r\n vm.enableFilter = true; \r\n vm.updateDefaultDateFilter(data.DashboardFilters); \r\n //vm.getFilerValues(data.DashboardFilters.FilterList); \r\n }\r\n else\r\n {\r\n vm.enableFilter = false;\r\n vm.updateDefaultDateFilter(null); \r\n } \r\n \r\n angular.forEach(data.ChartModel, function (d) {\r\n\r\n if (d.ClickableColumns != null && d.ClickableColumns.length > 0) {\r\n angular.forEach(d.ClickableColumns, function(cl){\r\n if (cl.Link==\"ProjectSummary\") {\r\n vm.deepLink[cl.ColumnName + \" \"+ d.ChartId] = function () { \r\n return \"index.Report({report_name:'ProjectSummary', key:'\"+cl.KeyName+\"'})\";\r\n }\r\n }else if (cl.Link==\"CustomerSummary\") {\r\n vm.deepLink[cl.ColumnName + \" \"+ d.ChartId] = function () { \r\n \r\n return \"index.Report({report_name:'CustomerSummary', key:'\"+cl.KeyName+\"'})\";\r\n }\r\n }else if (cl.Link==\"DashboardReport\") {\r\n \r\n vm.deepLink[cl.ColumnName + \" \"+ d.ChartId] = function (filterValue,filterName) {\r\n var Keyfilter = cl.KeyName; \r\n \r\n // else\r\n // {\r\n // start_date = vm.rollup;\r\n // }\r\n if (cl.KeyName.indexOf(\"|\")>=0) {\r\n var stringArray = cl.KeyName.split('|');\r\n filterName = stringArray[1];\r\n Keyfilter = stringArray[0];\r\n }\r\n if (filterValue == undefined && filterName ==undefined) {\r\n filterValue = '';\r\n filterName = '';\r\n }\r\n if (d.ChartType == 'Metrics' || d.chartType == 'OneServMetrics') {\r\n //console.log('start_date',start_date);\r\n if (d.Rollups && d.Rollups.length>0) {\r\n angular.forEach(d.Rollups, function(d){\r\n if (d == 'Today') {\r\n var sDate = moment().format(\"YYYY-MM-DD\");\r\n var eDate = moment().format(\"YYYY-MM-DD\");\r\n start_date = \"Range(\"+sDate+\"|\"+eDate+\")\";\r\n }\r\n else if (d == 'Yesterday') {\r\n \t\t\t\t\t\t\t\t\t\tvar sDate = moment().subtract(1, 'days').format(\"YYYY-MM-DD\");\r\n \t\t\t\t\t\t\t\t\t\tvar eDate = moment().subtract(1, 'days').format(\"YYYY-MM-DD\");\r\n \t\t\t\t\t\t\t\t\t\tstart_date = \"Range(\"+sDate+\"|\"+eDate+\")\"; }\r\n else if (d == 'Monthly') {\r\n var sDate = moment().startOf('month').format(\"YYYY-MM-DD\");\r\n var eDate = moment().endOf('month').format(\"YYYY-MM-DD\");\r\n start_date = \"Range(\"+sDate+\"|\"+eDate+\")\";\r\n }else if (d == 'Week1') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week1');\r\n }else if (d == 'Week2') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week2');\r\n }else if (d == 'Week3') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week3');\r\n }else if (d == 'Week4') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week4');\r\n }\r\n })\r\n }else{\r\n start_date = vm.rollup;\r\n }\r\n var obj = {\r\n \"report_name\":'LinkTicketReport',\r\n \"key\":Keyfilter,\r\n \"filter_key\":filterName,\r\n \"filter_name\":filterValue,\r\n \"start_date\":start_date,\r\n \"isData\":true\r\n } \r\n return obj;\r\n }else{\r\n return \"index.DashboardReport({report_name:'LinkTicketReport', key:'\"+Keyfilter+\"',filter_key:'\"+filterName+\"', filter_name:'\"+filterValue+\"', start_date:'\"+vm.rollup+\"', isData:'\"+true+\"'})\";\r\n } \r\n }\r\n }else{\r\n \t\t\t\t\t\tif (cl.Link){ \r\n \t\t\t\t\t\t\tvm.deepLink[cl.ColumnName + \" \"+ d.ChartId] = function (filterValue,filterName) {\r\n \t\t\t\t\t\t\t\tvar Keyfilter = cl.KeyName; \r\n \t\t\t\t\t\t\t if (cl.KeyName.indexOf(\"|\")>=0) {\r\n \t\t\t\t\t\t\t\t\tvar stringArray = cl.KeyName.split('|');\r\n \t\t\t\t\t\t\t\t\tfilterName = stringArray[1];\r\n \t\t\t\t\t\t\t\t\tKeyfilter = stringArray[0];\r\n \t\t\t\t\t\t\t\t}\r\n \t\t\t\t\t\t\t\tif (filterValue == undefined && filterName ==undefined) {\r\n \t\t\t\t\t\t\t\t\tfilterValue = '';\r\n \t\t\t\t\t\t\t\t\tfilterName = '';\r\n \t\t\t\t\t\t\t\t}\r\n\r\n filterName = filterName + ',' + vm.filterKeys;\r\n filterValue = filterValue + ',' + vm.filterValues;\r\n\r\n\r\n \t\t\t\t\t\t\t\tif (d.ChartType == 'Metrics' || d.chartType == 'OneServMetrics') {\r\n \t\t\t\t\t\t\t\t\t//console.log('start_date',start_date);\r\n \t\t\t\t\t\t\t\t\tif (d.Rollups && d.Rollups.length>0) {\r\n \t\t\t\t\t\t\t\tangular.forEach(d.Rollups, function(d){\r\n \t\t\t\t\t\t\t\t\tif (d == 'Today') {\r\n \t\t\t\t\t\t\t\t\t\tvar sDate = moment().format(\"YYYY-MM-DD\");\r\n \t\t\t\t\t\t\t\t\t\tvar eDate = moment().format(\"YYYY-MM-DD\");\r\n \t\t\t\t\t\t\t\t\t\tstart_date = \"Range(\"+sDate+\"|\"+eDate+\")\";\r\n \t\t\t\t\t\t\t\t\t}\r\n else if (d == 'Yesterday') {\r\n \t\t\t\t\t\t\t\t\t\tvar sDate = moment().subtract(1, 'days').format(\"YYYY-MM-DD\");\r\n \t\t\t\t\t\t\t\t\t\tvar eDate = moment().subtract(1, 'days').format(\"YYYY-MM-DD\");\r\n \t\t\t\t\t\t\t\t\t\tstart_date = \"Range(\"+sDate+\"|\"+eDate+\")\";\r\n \t\t\t\t\t\t\t\t\t}else if (d == 'Monthly') {\r\n \t\t\t\t\t\t\t\t\t\tvar sDate = moment().startOf('month').format(\"YYYY-MM-DD\");\r\n \t\t\t\t\t\t\t\t\t\tvar eDate = moment().endOf('month').format(\"YYYY-MM-DD\");\r\n \t\t\t\t\t\t\t\t\t\tstart_date = \"Range(\"+sDate+\"|\"+eDate+\")\";\r\n \t\t\t\t\t\t\t\t\t}else if (d == 'Week1') {\r\n \t\t\t\t\t\t\t\t\t\tvar getCurrentMonth = new Date().getMonth();\r\n \t\t\t\t\t\t\t\t\t\tvar getCurrentYear = new Date().getFullYear();\r\n \t\t\t\t\t\t\t\t\t start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week1');\r\n \t\t\t\t\t\t\t\t\t}else if (d == 'Week2') {\r\n \t\t\t\t\t\t\t\t\t\tvar getCurrentMonth = new Date().getMonth();\r\n \t\t\t\t\t\t\t\t\t\tvar getCurrentYear = new Date().getFullYear();\r\n \t\t\t\t\t\t\t\t\t start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week2');\r\n \t\t\t\t\t\t\t\t\t}else if (d == 'Week3') {\r\n \t\t\t\t\t\t\t\t\t\tvar getCurrentMonth = new Date().getMonth();\r\n \t\t\t\t\t\t\t\t\t\tvar getCurrentYear = new Date().getFullYear();\r\n \t\t\t\t\t\t\t\t\t start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week3');\r\n \t\t\t\t\t\t\t\t\t}else if (d == 'Week4') {\r\n \t\t\t\t\t\t\t\t\t\tvar getCurrentMonth = new Date().getMonth();\r\n \t\t\t\t\t\t\t\t\t\tvar getCurrentYear = new Date().getFullYear();\r\n \t\t\t\t\t\t\t\t\t start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week4');\r\n \t\t\t\t\t\t\t\t\t}\r\n \t\t\t\t\t\t\t\t})\r\n \t\t\t\t\t\t\t\t}else{\r\n \t\t\t\t\t\t\t\t\tstart_date = vm.rollup;\r\n \t\t\t\t\t\t\t\t}\r\n \t\t\t\t\t\t\t\t var obj = { \r\n \t\t\t\t\t\t\t\t\t\t\"report_name\":cl.Link,\r\n \t\t\t\t\t\t\t\t\t\t\"key\":Keyfilter,\r\n \t\t\t\t\t\t\t\t\t\t\"filter_key\":filterName,\r\n \t\t\t\t\t\t\t\t\t\t\"filter_name\":filterValue,\r\n \t\t\t\t\t\t\t\t\t\t\"start_date\":start_date,\r\n \t\t\t\t\t\t\t\t\t\t\"isData\":true\r\n \t\t\t\t\t\t\t\t\t} \r\n \t\t\t\t\t\t\t\t\treturn obj;\r\n \t\t\t\t\t\t\t\t}else{\r\n \t\t\t\t\t\t\t\t\treturn \"index.DashboardReport({report_name:'\" + cl.Link + \"', key:'\"+Keyfilter+\"',filter_key:'\"+filterName+\"', filter_name:'\"+filterValue+\"', start_date:'\"+vm.rollup+\"', isData:'\"+true+\"'})\";\r\n \t\t\t\t\t\t\t\t} \r\n \t\t\t\t\t\t\t}\r\n \t\t\t\t\t\t}\r\n \t\t\t\t\t} \r\n })\r\n }\r\n if(d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Today\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Today\");\r\n }\r\n else if(d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Yesterday\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Yesterday\");\r\n }\r\n else if(d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Week1\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Week1\");\r\n }else if(d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Week2\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Week2\");\r\n }else if(d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Week3\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Week3\");\r\n }else if(d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Week4\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Week4\");\r\n }\r\n else if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Monthly\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Monthly\");\r\n }\r\n else if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Monthly-6\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Monthly-6\");\r\n }\r\n else if(d.ChartType == 'CustomLine' && d.Dimensions.length>0 && d.Rollups.indexOf(\"Monthly\")>=0){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, \"Monthly\");\r\n }\r\n else if(d.ChartType == 'CustomLine' && d.Dimensions.length>0 && d.Rollups.indexOf(\"Today\")>=0){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, \"Today\");\r\n }\r\n else if(d.ChartType == 'CustomLine' && d.Dimensions.length>0 && d.Rollups.indexOf(\"Yesterday\")>=0){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, \"Yesterday\");\r\n }\r\n else if(d.ChartType == 'CustomBar' && d.Dimensions.length>0){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, '');\r\n }else if(d.ChartType == 'DrillDownBar' && d.Dimensions.length>0){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, '');\r\n }else if(d.ChartType == 'CustomStackedBar' && d.Dimensions.length>0){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, '');\r\n }else if(d.ChartType == 'CustomPie' && d.Dimensions.length>0){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, '');\r\n }\r\n else {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, vm.rollup);\r\n }\r\n\r\n });\r\n // console.log('vm.deepLink',vm.deepLink);\r\n }])\r\n\r\n vm.GetDateRange = function(month,year,week){\r\n var weeks=[],\r\n firstDate=new Date(year, month, 1),\r\n lastDate=new Date(year, month+1, 0), \r\n numDays= lastDate.getDate();\r\n if (week == 'week1') {\r\n var start=1;\r\n var end=7;\r\n month = month+1\r\n var startRange = moment(year+\"-\"+month+\"-\"+start).format(\"YYYY-MM-DD\");\r\n var endRange = moment(year+\"-\"+month+\"-\"+end).format(\"YYYY-MM-DD\");\r\n return (\"Range(\"+startRange+\"|\"+endRange+\")\");\r\n }else if (week == 'week2') {\r\n var start = 8;\r\n var end = 14;\r\n month = month+1\r\n var startRange = moment(year+\"-\"+month+\"-\"+start).format(\"YYYY-MM-DD\");\r\n var endRange = moment(year+\"-\"+month+\"-\"+end).format(\"YYYY-MM-DD\");\r\n return (\"Range(\"+startRange+\"|\"+endRange+\")\");\r\n }else if (week == 'week3') {\r\n var start = 15;\r\n var end = 21;\r\n month = month+1\r\n var startRange = moment(year+\"-\"+month+\"-\"+start).format(\"YYYY-MM-DD\");\r\n var endRange = moment(year+\"-\"+month+\"-\"+end).format(\"YYYY-MM-DD\");\r\n return (\"Range(\"+startRange+\"|\"+endRange+\")\");\r\n }else if (week == 'week4') {\r\n var start = 22;\r\n var end = numDays;\r\n month = month+1\r\n var startRange = moment(year+\"-\"+month+\"-\"+start).format(\"YYYY-MM-DD\");\r\n var endRange = moment(year+\"-\"+month+\"-\"+end).format(\"YYYY-MM-DD\");\r\n return (\"Range(\"+startRange+\"|\"+endRange+\")\");\r\n }\r\n }\r\n\r\n vm.getDashboard = function (name) {\r\n AdvancedDashboardService.getDashboard(loggedinUser, name, token, vm.dashboardCallback);\r\n }\r\n\r\n\r\n vm.loadDefaultDashboard = function(){\r\n if ($stateParams.name == 'account') {\r\n vm.getDashboard('Account Dashboard');\r\n } else if ($stateParams.name == 'accountDetails') {\r\n vm.getDashboard('Account Dashboard');\r\n }else if ($stateParams.name == 'admin') {\r\n vm.getDashboard('Admin Dashboard');\r\n }else if ($stateParams.name == 'manager') {\r\n vm.getDashboard('Manager Dashboard');\r\n }else if ($stateParams.name == 'supervisor') {\r\n vm.getDashboard('Supervisor Dashboard');\r\n }else if ($stateParams.name == 'vendor') {\r\n vm.getDashboard('Vendor Dashboard');\r\n } else if ($stateParams.name == \"servicecenter\") {\r\n vm.getDashboard('Service Center Dashboard');\r\n }\r\n else {\r\n vm.getDashboard($stateParams.name);\r\n }\r\n }\r\n\r\n vm.loadSpecificDashboard = function(name){\r\n var DashboardListModel = vm.getAccountConfigSetting('DashboardListModel');\r\n var isLoaded = false;\r\n if(DashboardListModel && DashboardListModel.length>0){\r\n angular.forEach(DashboardListModel, function(d){\r\n if(d.DashboardType == name){\r\n vm.getDashboard(d.DashboardName);\r\n isLoaded = true;\r\n }\r\n })\r\n }\r\n if(isLoaded==false){\r\n vm.loadDefaultDashboard(name);\r\n }\r\n }\r\n\r\n vm.loadSpecificDashboard($stateParams.name);\r\n\r\n vm.LinkClick = function(url){\r\n // console.log(url);\r\n var i = vm.deepLink[url]('','');\r\n // console.log('i',i);\r\n var key ='';\r\n var filter_key='';\r\n var filter_name = '';\r\n var start_date='';\r\n var report_name = '';\r\n key = i.key;\r\n report_name = i.report_name;\r\n filter_key = i.filter_key;\r\n filter_name = i.filter_name;\r\n start_date = i.start_date;\r\n // console.log('params',key,report_name,filter_key,filter_name,start_date);\r\n $state.go('index.DashboardReport', {\r\n report_name: report_name,\r\n key: key,\r\n filter_key: filter_key,\r\n filter_name: filter_name,\r\n start_date: start_date,\r\n isData: true\r\n }, \r\n {\r\n reload: true\r\n });\r\n }\r\n \r\n //$log.log(\"$stateParams.name\",$stateParams.name);\r\n\r\n vm.saveRollup = function (chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup) {\r\n if (chartType == 'Line') {\r\n vm.lineCharts[chartId].selectedRollup = rollup;\r\n //$log.log(\"rollup\", rollup);\r\n vm.getChart(chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup);\r\n vm.createLineChart(chartId, yAxis); \r\n }else if(chartType == 'Bar'){\r\n vm.barCharts[chartId].selectedRollup = rollup;\r\n //$log.log(\"rollup\", rollup);\r\n vm.getChart(chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup);\r\n vm.createBarChart(chartId, yAxis); \r\n }else if(chartType == 'CustomLine'){\r\n vm.lineCharts[chartId].selectedRollup = rollup;\r\n dimensions = vm.lineCharts[chartId].selectedDimension;\r\n vm.getChart(chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup);\r\n vm.createLineChart(chartId, yAxis); \r\n }else if(chartType == 'CustomBar'){\r\n vm.barCharts[chartId].selectedRollup = rollup;\r\n //$log.log(\"rollup\", rollup);\r\n if (vm.selectDimension && vm.selectDimension[chartId].dimension.length>0) {\r\n dimensions = vm.selectDimension[chartId].dimension; \r\n }else{\r\n dimensions = vm.lineCharts[chartId].selectedDimension;\r\n } \r\n vm.getChart(chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup);\r\n vm.createLineChart(chartId, yAxis); \r\n } \r\n }\r\n\r\n vm.ChangeDimensions = function (chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup) {\r\n vm.lineCharts[chartId].selectedDimension = dimensions;\r\n rollup = 'Monthly';\r\n //$log.log(\"rollup\", rollup);\r\n vm.getChart(chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup);\r\n $timeout(function(){\r\n vm.createLineChart(chartId, yAxis);\r\n },1000) \r\n }\r\n\r\n //For CustomPieChart\r\n vm.ChangeDimensionsPie = function (chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup) {\r\n vm.pieCharts[chartId].selectedDimension = dimensions;\r\n // vm.selectDimension[chartId].dimension = dimensions;\r\n //console.log('selectDimension',vm.selectDimension);\r\n // vm.lineCharts[chartId].selectedRollup = rollup;\r\n //rollup = 'Monthly';\r\n //$log.log(\"rollup\", rollup);\r\n vm.getChart(chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, \"\");\r\n $timeout(function(){\r\n vm.createPieChart(chartId, yAxis);\r\n },1000)\r\n \r\n }\r\n\r\n //For CustomBarChart\r\n vm.ChangeDimensionsBar = function (chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup) {\r\n vm.barCharts[chartId].selectedDimension = dimensions;\r\n // vm.selectDimension[chartId].dimension = dimensions;\r\n //console.log('selectDimension',vm.selectDimension);\r\n // vm.lineCharts[chartId].selectedRollup = rollup;\r\n //rollup = 'Monthly';\r\n //$log.log(\"rollup\", rollup);\r\n vm.getChart(chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, \"\");\r\n $timeout(function(){\r\n vm.createBarChart(chartId, yAxis);\r\n },1000)\r\n \r\n }\r\n\r\n //For CustomStackedChart\r\n vm.ChangeDimensionsCustomStackedBar = function (chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup) {\r\n vm.stackedCharts[chartId].selectedDimension = dimensions;\r\n // vm.selectDimension = dimensions;\r\n // console.log('selectDimension',vm.selectDimension);\r\n // vm.lineCharts[chartId].selectedRollup = rollup;\r\n //rollup = 'Monthly';\r\n //$log.log(\"rollup\", rollup);\r\n vm.getChart(chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, \"\");\r\n $timeout(function(){\r\n vm.createStackedChart(chartId, yAxis);\r\n },1000)\r\n \r\n }\r\n\r\n vm.isActiveRollbackCustomPie = function(chartId, dimension){\r\n if(vm.pieCharts[chartId] && vm.pieCharts[chartId].selectedDimension){\r\n return vm.pieCharts[chartId].selectedDimension == dimension;\r\n }\r\n return false;\r\n }\r\n vm.isActiveRollbackCustomBar = function(chartId, dimension){\r\n if(vm.barCharts[chartId] && vm.barCharts[chartId].selectedDimension){\r\n return vm.barCharts[chartId].selectedDimension == dimension;\r\n }\r\n return false;\r\n }\r\n vm.isActiveRollbackCustomStackedBar = function(chartId, dimension){\r\n if(vm.stackedCharts[chartId] && vm.stackedCharts[chartId].selectedDimension){\r\n return vm.stackedCharts[chartId].selectedDimension == dimension;\r\n }\r\n return false;\r\n }\r\n\r\n vm.isActiveRollbackBar = function(chartId, rollup){\r\n if(vm.barCharts[chartId] && vm.barCharts[chartId].selectedRollup){\r\n return vm.barCharts[chartId].selectedRollup == rollup;\r\n }\r\n return false;\r\n }\r\n vm.isActiveRollbackStackedBar = function(chartId, rollup){\r\n if(vm.stackedCharts[chartId] && vm.stackedCharts[chartId].selectedRollup){\r\n return vm.stackedCharts[chartId].selectedRollup == rollup;\r\n }\r\n return false;\r\n }\r\n\r\n vm.isActiveRollback = function(chartId, rollup){\r\n if(vm.lineCharts[chartId] && vm.lineCharts[chartId].selectedRollup){\r\n return vm.lineCharts[chartId].selectedRollup == rollup;\r\n }\r\n return false;\r\n }\r\n vm.isActiveRollbackCustome = function(chartId, dimension){\r\n if(vm.lineCharts[chartId] && vm.lineCharts[chartId].selectedDimension){\r\n return vm.lineCharts[chartId].selectedDimension == dimension;\r\n }\r\n return false;\r\n }\r\n\r\n vm.createLineChart = function (chartId, yAxis) {\r\n vm.chartOptions = vm.chartOptions ? vm.chartOptions : {};\r\n $timeout(function () {\r\n if (vm.lineCharts[chartId] && vm.lineCharts[chartId].value) {\r\n vm.chartOptions[chartId] = {\r\n credits: {\r\n enabled: true\r\n },\r\n colors: ['#3093d1', '#fcb631', '#9ad631', '#f34ea8', '#30bfdd', '#fc9532', '#9f4bc7', '#304ec6', '#fcd731', '#f08576', '#418842'],\r\n chart: {\r\n type: 'line'\r\n },\r\n title: {\r\n text: ''\r\n },\r\n subtitle: {\r\n text: ''\r\n },\r\n xAxis: {\r\n categories: vm.lineCharts[chartId].value.Categories\r\n },\r\n // legend: {\r\n // layout: 'horizontal',\r\n // align: 'left',\r\n // itemWidth: 100,\r\n // verticalAlign: 'bottom',\r\n // //y: 30,\r\n // navigation: {\r\n // activeColor: '#3E576F',\r\n // animation: true,\r\n // arrowSize: 12,\r\n // inactiveColor: '#CCC',\r\n // style: {\r\n // fontWeight: 'bold',\r\n // color: '#333',\r\n // fontSize: '12px'\r\n // }\r\n // }\r\n // },\r\n // legend: {\r\n // align: 'right',\r\n // verticalAlign: 'top',\r\n // layout: 'vertical',\r\n // x: 0,\r\n // y: 100\r\n // },\r\n yAxis: {\r\n title: {\r\n text: yAxis\r\n },\r\n scrollbar: {\r\n enabled: true\r\n }\r\n },\r\n plotOptions: {\r\n line: {\r\n dataLabels: {\r\n enabled: true\r\n },\r\n enableMouseTracking: true\r\n }\r\n },\r\n series: GetSeries()\r\n\r\n };\r\n function GetSeries(){\r\n\r\n if (vm.lineCharts[chartId].value.Series.length>10) {\r\n \r\n for(var i=0; i10) {\r\n var legend = {\r\n layout: 'horizontal',\r\n align: 'left',\r\n itemWidth: 100,\r\n verticalAlign: 'bottom',\r\n //y: 30,\r\n navigation: {\r\n activeColor: '#3E576F',\r\n animation: true,\r\n arrowSize: 12,\r\n inactiveColor: '#CCC',\r\n style: {\r\n fontWeight: 'bold',\r\n color: '#333',\r\n fontSize: '12px'\r\n }\r\n }\r\n }\r\n vm.chartOptions[chartId].legend = legend;\r\n }\r\n\r\n var chart = new Highcharts.chart(chartId, vm.chartOptions[chartId]);\r\n \r\n chart.reflowNow = function () {\r\n this.containerHeight = this.options.chart.height || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'height');\r\n this.containerWidth = this.options.chart.width || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'width');\r\n this.setSize(this.containerWidth, this.containerHeight, false);\r\n this.hasUserSize = null;\r\n }\r\n }\r\n }, 1000);\r\n }\r\n vm.createBarChart = function (chartId, yAxis) {\r\n $timeout(function () {\r\n if (vm.barCharts[chartId] && vm.barCharts[chartId].value) {\r\n var chartData = {\r\n credits: {\r\n enabled: true\r\n },\r\n colors: ['#3093d1', '#fcb631', '#9ad631', '#f34ea8', '#30bfdd', '#fc9532', '#9f4bc7', '#304ec6', '#fcd731', '#f08576', '#418842'],\r\n chart: {\r\n type: 'column',\r\n inverted: false\r\n },\r\n legend: {\r\n enabled: true\r\n },\r\n title: {\r\n text: ''\r\n },\r\n subtitle: {\r\n text: ''\r\n },\r\n xAxis: {\r\n // type : 'category',\r\n categories: vm.barCharts[chartId].value.Categories \r\n },\r\n yAxis: {\r\n title: {\r\n text: yAxis\r\n }\r\n },\r\n plotOptions: {\r\n column: {\r\n dataLabels: {\r\n enabled: true,\r\n \r\n }\r\n }\r\n },\r\n \r\n series: vm.barCharts[chartId].value.Series\r\n // drilldown:vm.barCharts[chartId].value.drilldown\r\n \r\n };\r\n \r\n if (chartData && chartData.series && chartData.series.length>0 && chartData.series[0].data \r\n && chartData.series[0].data.length>0 && chartData.series[0].data[0]) {\r\n chartData.series[0].data[0].sliced=true;\r\n chartData.series[0].data[0].selected=true;\r\n }\r\n \r\n var chart = new Highcharts.chart(chartId, chartData);\r\n\r\n chart.reflowNow = function () {\r\n this.containerHeight = this.options.chart.height || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'height');\r\n this.containerWidth = this.options.chart.width || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'width');\r\n this.setSize(this.containerWidth, this.containerHeight, false);\r\n this.hasUserSize = null;\r\n }\r\n } \r\n }, 2000);\r\n }\r\n\r\n //Create DrillDown Bar Chart\r\n vm.createDrilledDownBarChart = function (chartId, yAxis) {\r\n $timeout(function () {\r\n if (vm.barCharts[chartId] && vm.barCharts[chartId].value) {\r\n var chartData = {\r\n credits: {\r\n enabled: true\r\n },\r\n colors: ['#3093d1', '#fcb631', '#9ad631', '#f34ea8', '#30bfdd', '#fc9532', '#9f4bc7', '#304ec6', '#fcd731', '#f08576', '#418842'],\r\n chart: {\r\n type: 'column',\r\n inverted: false\r\n },\r\n legend: {\r\n enabled: false\r\n },\r\n title: {\r\n text: ''\r\n },\r\n subtitle: {\r\n text: ''\r\n },\r\n xAxis: {\r\n type : 'category'\r\n \r\n },\r\n yAxis: {\r\n title: {\r\n text: yAxis\r\n }\r\n },\r\n plotOptions: {\r\n column: {\r\n dataLabels: {\r\n enabled: true,\r\n \r\n }\r\n }\r\n },\r\n \r\n series: vm.barCharts[chartId].value.Series,\r\n drilldown:vm.barCharts[chartId].value.drilldown\r\n \r\n };\r\n \r\n if (chartData && chartData.series && chartData.series.length>0 && chartData.series[0].data \r\n && chartData.series[0].data.length>0 && chartData.series[0].data[0]) {\r\n chartData.series[0].data[0].sliced=true;\r\n chartData.series[0].data[0].selected=true;\r\n }\r\n \r\n \r\n var chart = new Highcharts.chart(chartId, chartData);\r\n\r\n chart.reflowNow = function () {\r\n this.containerHeight = this.options.chart.height || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'height');\r\n this.containerWidth = this.options.chart.width || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'width');\r\n this.setSize(this.containerWidth, this.containerHeight, false);\r\n this.hasUserSize = null;\r\n }\r\n } \r\n }, 2000);\r\n }\r\n\r\n //Stacked Chart\r\n vm.createStackedChart = function (chartId, yAxis) {\r\n $timeout(function () {\r\n if (vm.stackedCharts[chartId] && vm.stackedCharts[chartId].value) {\r\n var stackedchartData = {\r\n credits: {\r\n enabled: true\r\n },\r\n colors: ['#3093d1', '#fcb631', '#9ad631', '#f34ea8', '#30bfdd', '#fc9532', '#9f4bc7', '#304ec6', '#fcd731', '#f08576', '#418842'],\r\n chart: {\r\n type: 'column',\r\n inverted: false\r\n },\r\n title: {\r\n text: ''\r\n },\r\n subtitle: {\r\n text: ''\r\n },\r\n xAxis: {\r\n categories: vm.stackedCharts[chartId].value.Categories \r\n },\r\n yAxis: {\r\n min: 0,\r\n title: {\r\n text: yAxis\r\n }\r\n },\r\n legend: {\r\n\r\n reversed: true\r\n },\r\n tooltip: {\r\n formatter: function () {\r\n return '' + this.x + '
' +\r\n this.series.name + ': ' + this.y + '
' +\r\n 'Total: ' + this.point.stackTotal;\r\n }\r\n },\r\n plotOptions: {\r\n column: {\r\n dataLabels: {\r\n enabled: true,\r\n align: 'right',\r\n color: 'black',\r\n x: -10\r\n },\r\n enableMouseTracking: true\r\n },\r\n series: {\r\n\r\n stacking: 'normal'\r\n }\r\n },\r\n series: vm.stackedCharts[chartId].value.Series\r\n };\r\n if (stackedchartData && stackedchartData.series && stackedchartData.series.length>0 && stackedchartData.series[0].data \r\n && stackedchartData.series[0].data.length>0 && stackedchartData.series[0].data[0]) {\r\n stackedchartData.series[0].data[0].sliced=true;\r\n stackedchartData.series[0].data[0].selected=true;\r\n }\r\n \r\n var chart = new Highcharts.chart(chartId, stackedchartData);\r\n\r\n chart.reflowNow = function () {\r\n this.containerHeight = this.options.chart.height || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'height');\r\n this.containerWidth = this.options.chart.width || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'width');\r\n this.setSize(this.containerWidth, this.containerHeight, false);\r\n this.hasUserSize = null;\r\n }\r\n } \r\n }, 2000);\r\n }\r\n\r\n vm.createPieChart = function (chartId, title) {\r\n vm.showPieChart = vm.showPieChart || {};\r\n vm.tempShowPieChart = vm.tempShowPieChart || {};\r\n vm.showPieChart[chartId] = true;\r\n $timeout(function () {\r\n vm.tempShowPieChart[chartId] = false;\r\n if (vm.pieCharts[chartId] && vm.pieCharts[chartId].value) {\r\n\r\n for(var i=0; i0){\r\n vm.tempShowPieChart[chartId]=true;\r\n }\r\n }\r\n vm.showPieChart[chartId]=vm.tempShowPieChart[chartId];\r\n var chartData = {\r\n chart: {\r\n plotBackgroundColor: null,\r\n plotBorderWidth: null,\r\n plotShadow: false,\r\n type: 'pie'\r\n },\r\n colors: ['#3093d1', '#fcb631', '#9ad631', '#f34ea8', '#30bfdd', '#fc9532', '#9f4bc7', '#304ec6', '#fcd731', '#f08576', '#418842'],\r\n title: {\r\n text: ''\r\n },\r\n tooltip: {\r\n headerFormat: ' {series.name} : {point.name}
',\r\n pointFormat: ' {point.name}: {point.y:,.0f}
',\r\n footerFormat: ' Percentage : {point.percentage:,.1f}% ', shared: true, useHTML: true\r\n //pointFormat: '{series.name}: {point.y:.1f}%'\r\n },\r\n plotOptions: {\r\n pie: {\r\n allowPointSelect: true,\r\n cursor: 'pointer',\r\n dataLabels: {\r\n enabled: false\r\n },\r\n showInLegend: true\r\n }\r\n },\r\n series: [{\r\n name: title,\r\n colorByPoint: true,\r\n data: vm.pieCharts[chartId].value\r\n }]\r\n };\r\n if(chartData && chartData.series && chartData.series.length>0 && chartData.series[0].data \r\n && chartData.series[0].data.length>0 && chartData.series[0].data[0]){\r\n chartData.series[0].data[0].sliced=true;\r\n chartData.series[0].data[0].selected=true; \r\n }\r\n var chart = new Highcharts.chart(chartId, chartData);\r\n\r\n chart.reflowNow = function () {\r\n this.containerHeight = this.options.chart.height || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'height');\r\n this.containerWidth = this.options.chart.width || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'width');\r\n this.setSize(this.containerWidth, this.containerHeight, false);\r\n this.hasUserSize = null;\r\n }\r\n } \r\n }, 1000);\r\n }\r\n\r\n\r\n\r\n $scope.changeFunction = function() {\r\n alert('change');\r\n }\r\n\r\n var makeDynamicTable = function(chartId, dataSet){\r\n\r\n if(dataSet.Values.length >= 10)\r\n {\r\n vm.tableCharts[chartId].dtOptions = DTOptionsBuilder.fromFnPromise(function(){\r\n var defer = $q.defer();\r\n defer.resolve(dataSet.Values);\r\n return defer.promise;\r\n })\r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withOption('createdRow', createdRow)\r\n .withBootstrap();\r\n }\r\n else\r\n {\r\n vm.tableCharts[chartId].dtOptions = DTOptionsBuilder.fromFnPromise(function(){\r\n var defer = $q.defer();\r\n defer.resolve(dataSet.Values);\r\n return defer.promise;\r\n })\r\n .withDOM('Tfgt')\r\n //.withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withOption('createdRow', createdRow)\r\n .withBootstrap();\r\n\r\n }\r\n \r\n\r\n function createdRow(row, data, dataIndex) {\r\n // Recompiling so we can bind Angular directive to the DT\r\n $compile(angular.element(row).contents())($scope);\r\n }\r\n\r\n vm.tableCharts[chartId].dtInstance = {};\r\n vm.tableCharts[chartId].dtColumns = [];\r\n var columnList = Object.keys(dataSet.Categories);\r\n for(var index = 0; index < columnList.length; index++ ){\r\n\r\n var temp = '';\r\n var colunId = columnList[index];\r\n temp = DTColumnBuilder.newColumn(colunId).withTitle(dataSet.Categories[colunId]).renderWith(function(data,type,full,meta){\r\n var colKey = '';\r\n function getKeyByIndex(object, col) {\r\n var colList = Object.keys(object);\r\n colKey = colList[col]; \r\n }\r\n\r\n getKeyByIndex(full,meta.col)\r\n var firstColumntKey = Object.values(full)[0];\r\n var fixedCatogries = Object.values(vm.tableCharts[chartId].value.Categories)[0];\r\n var t = vm.tableCharts[chartId].value.Categories;\r\n var n = t[colKey]; \r\n if(data > 0 && vm.deepLink[n +' '+ vm.tableCharts[chartId].ChartId]){\r\n return \"' + data + \" \";\r\n // return \"\" + data + \" \";\r\n }else{\r\n return \"\"+data+\"\";\r\n }\r\n });\r\n vm.tableCharts[chartId].dtColumns.push(temp);\r\n } \r\n }\r\n \r\n vm.createTableChart = function (chartId, lenth , data) {\r\n makeDynamicTable(chartId, data);\r\n }\r\n\r\n $scope.$on('fullscreen', function () {\r\n setTimeout(function () {\r\n $(element).highcharts().reflow();\r\n }, 0);\r\n }); \r\n\r\n}\r\n});\r\n\nangular.module('inspinia').service('AdvancedDashboardService', function (ApiURL, PublicApiURL, $log, $http, DashboardURL, ActivityURL) {\r\n \r\n var vm = this;\r\n\r\n vm.setShowSuccess = function (success) {\r\n vm.showSuccess = success;\r\n }\r\n\r\n vm.setShowFailure = function (failure) {\r\n vm.showFailure = failure;\r\n }\r\n \r\n vm.getDashboard = function (loggedinUser, dashbardName, token, callback) {\r\n $http.get(DashboardURL+'/api/Dashboard/'+loggedinUser+'/'+ dashbardName + '/GetDashboardByName', {\r\n headers: {'Token': token, 'UserId': loggedinUser}\r\n }).then(function(res){\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n })\r\n }\r\n\r\n vm.getChart = function (loggedinUser, chartType, metrics, dimensions, token, callback) {\r\n $http.get(DashboardURL + '/api/Chart?ReqUserId=' + loggedinUser + '&ChartType=' + chartType + '&Metrics=' + metrics + '&DimensionList=' + dimensions + '&RollsUP=null', {\r\n headers: {'Token': token, 'UserId': loggedinUser}\r\n }).then(function (res) {\r\n if (callback && (res.status == 200)) {\r\n callback(res.data);\r\n }\r\n })\r\n }\r\n\r\n this.getSkills = function (loggedinUser, token, callback, failure) {\r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json', 'Token': token,'UserId': loggedinUser } }).then(function (res) {\r\n if(callback){\r\n callback(res.data);\r\n }\r\n }, function () {\r\n failure(\"skills\", \"Unable to get skills\");\r\n });\r\n }\r\n\r\n\r\n this.getAccounts = function (loggedinUser, token, callback, failure) {\r\n var url = ApiURL + '/api/account/GetAllAccountsMiniModel';\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json', 'Token': token,'UserId': loggedinUser } }).then(function (res) {\r\n if(callback){\r\n callback(res.data);\r\n }\r\n }, function () {\r\n failure(\"skills\", \"Unable to get accounts\");\r\n });\r\n }\r\n\r\n\r\n this.getBusinessUnits = function (loggedinUser, token, callback, failure) {\r\n var url = ApiURL + '/api/accountConfig/GetAllEnterpriseType';\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json', 'Token': token,'UserId': loggedinUser } }).then(function (res) {\r\n if(callback){\r\n callback(res.data);\r\n }\r\n }, function () {\r\n failure(\"skills\", \"Unable to get business units\");\r\n });\r\n }\r\n\r\n\r\n this.getAllState = function (loggedInUserId, token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedInUserId \r\n } \r\n });\r\n }\r\n\r\n this.getDistrictsByState = function (loggedinUser, token, state, callback, failure) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+state;\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser }}).then(function (res) {\r\n callback(res.data.values);\r\n }, function () {\r\n failure(\"states\", \"Unable to get district\");\r\n });\r\n }\r\n\r\n this.getCitiesByState = function (loggedinUser, token, state) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+state;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n } \r\n });\r\n }\r\n\r\n vm.getChart1 = function (loggedinUser, token, chartType, metrics, dimensions, rollUp, filterKeys, filterValues,chartName,isData,total, callback) {\r\n //$log.log(\"in service\", DashboardURL + '/api/Chart?ReqUserId=' + loggedinUser + '&ChartType=' + chartType + '&Metrics=' + metrics + '&DimensionList=' + dimensions + '&RollsUP='+rollUp+\"&FilterKeys=\"+filterKeys+\"&FilterValues=\"+filterValues);\r\n $http.get(DashboardURL + '/api/Chart?ReqUserId=' + loggedinUser + '&ChartType=' + chartType + '&Metrics=' + metrics + '&DimensionList=' + dimensions + '&RollsUP='+encodeURI(rollUp)+\"&FilterKeys=\"+filterKeys+\"&FilterValues=\"+filterValues+\"&isData=\"+isData+\"&total=\"+total, {headers:{'Token': token, 'UserId': loggedinUser}}).then(function (res) {\r\n if (callback) {\r\n res.data['chartName'] = chartName;\r\n callback(res.data);\r\n }\r\n });\r\n }\r\n\r\n});\nangular.module('inspinia').service('VendorTeamService', function (FreelancerURL, $http, $localStorage) {\r\n\r\n //http://192.168.0.80:92/FreelancerAPI/api/FreeLancerRegistration/srachit46%40gmail.com/GetAllUserRegistration\r\n\r\n this.GetAllRegisteredVendor = function (loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerRegistration/' + loggedinUser + '/GetAllVendorRegistration'\r\n return $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token':token, 'UserId': loggedinUser }\r\n })\r\n }\r\n\r\n // http://localhost:50144/api/FreelancerVendor/getallActivevendorsteam?reqUserId=F00000000000\r\n this.GetAllNotActiveVendorRegistrations = function (loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreelancerVendor/getallActivevendorsteam?reqUserId=' + loggedinUser;\r\n return $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token':token, 'UserId': loggedinUser }\r\n })\r\n }\r\n\r\n this.uploadProfilePic = function (loggedinUser, data, token, success, failure) {\r\n $http.post(ApiURL + '/api/User/PostUserPic?reqUserId=' + loggedinUser, data, {\r\n headers: {\r\n 'Content-Type': undefined, 'Token': token, 'UserId': loggedinUser\r\n }\r\n }).then(success, failure);\r\n }\r\n\r\n})\nangular.module('inspinia').controller('VendorTeamController', function ($localStorage, $filter, $compile, DTColumnBuilder, $state, $scope, VendorTeamService, DTOptionsBuilder, DTColumnDefBuilder, $q, ImageUrl) {\r\n\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n } else {\r\n var loggedinUserRole = $localStorage.loggedInUser_Role;\r\n vm.Users = '';\r\n vm.searchText = '';\r\n vm.RegistrationNo = '';\r\n vm.dtInstance = {};\r\n vm.vendorUser = [];\r\n $localStorage.RedirecttoActivevendorteam='';\r\n vm.preProcessData = function (vendor) {\r\n var locations = \"\";\r\n angular.forEach(vendor.WorkLocationList, function (l) {\r\n locations += l + \",\";\r\n });\r\n vendor.allLocations = locations.length > 0 ? locations.substring(0, locations.length - 1) : \"\";\r\n\r\n var skills = \"\";\r\n angular.forEach(vendor.SkillData, function (s) {\r\n skills += s.Skill + \",\";\r\n });\r\n vendor.allSkills = skills.length > 0 ? skills.substring(0, skills.length - 1) : \"\";\r\n }\r\n\r\n vm.creationForm = function (RegistrationNo) {\r\n $state.go('index.OnBoardingVendorForm', {\r\n RegistrationNo: RegistrationNo\r\n }, {\r\n reload: true\r\n });\r\n }\r\n vm.searchTable = function () {\r\n vm.dtInstance.DataTable.search(vm.searchText);\r\n vm.dtInstance.DataTable.search(vm.searchText).draw();\r\n };\r\n\r\n vm.dtOptions = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n VendorTeamService.GetAllNotActiveVendorRegistrations(loggedinUser, token).then(function (resp) {\r\n \r\n vm.vendorUser = resp.data;\r\n angular.forEach(vm.vendorUser, function (v) {\r\n vm.preProcessData(v);\r\n });\r\n\r\n defer.resolve(vm.vendorUser);\r\n }); return defer.promise;\r\n })\r\n .withPaginationType('full_numbers')\r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withOption('order', [0, 'asc'])\r\n .withOption('createdRow', createdRow)\r\n .withBootstrap();\r\n\r\n function createdRow(row, data, dataIndex) {\r\n // Recompiling so we can bind Angular directive to the DT\r\n $compile(angular.element(row).contents())($scope);\r\n }\r\n\r\n vm.dtColumns = [\r\n DTColumnBuilder.newColumn(null).withTitle('Action').renderWith(ActionLink),\r\n DTColumnBuilder.newColumn(null).withTitle('Id').renderWith(createLink),\r\n DTColumnBuilder.newColumn(null).withTitle('Name').renderWith(createImage_Name),\r\n // DTColumnBuilder.newColumn('CompanyName').withTitle('Company Name').notSortable(),\r\n DTColumnBuilder.newColumn('DOB').withTitle('DOB').notSortable().renderWith(function (data) {\r\n var date = $filter('date')(new Date(data), \"dd/MMM/yyyy\");\r\n return date;\r\n }),\r\n DTColumnBuilder.newColumn('Role').withTitle('Role').notSortable(),\r\n DTColumnBuilder.newColumn('ReportingTo').withTitle('Reporting To').notSortable(),\r\n DTColumnBuilder.newColumn('ContactNumber').withTitle('Contact Number').notSortable(),\r\n DTColumnBuilder.newColumn('PersonalEmail').withTitle('Email').notSortable(),\r\n DTColumnBuilder.newColumn('PermanentAdd1').withTitle('Permanent Add1').notSortable(),\r\n DTColumnBuilder.newColumn('PermanentAdd2').withTitle('Permanent Add2').notSortable(),\r\n DTColumnBuilder.newColumn('PermanentCity').withTitle('City').notSortable(),\r\n DTColumnBuilder.newColumn('PermanentState').withTitle('State').notSortable(),\r\n DTColumnBuilder.newColumn('PermanentPinCode').withTitle('PinCode').notSortable(),\r\n DTColumnBuilder.newColumn('FirstTimeLogin').withTitle('First Login').notSortable(),\r\n // DTColumnBuilder.newColumn('IsStudent').withTitle('Student').renderWith(function (data, type, full, meta) {\r\n // var title = '';\r\n \r\n // if (full.IsStudent) {\r\n // var pancard = \"assets/images/patterns/correct.png\";\r\n // title= 'Student';\r\n // } else {\r\n // var pancard = \"assets/images/patterns/close.png\";\r\n // title= 'Not Student';\r\n // }\r\n // return ''\r\n \r\n // }),\r\n DTColumnBuilder.newColumn('IsAdharVerified').withTitle('Adhar Card').renderWith(function (data, type, full, meta) {\r\n var Adhartitle = '';\r\n if (full.IsAdharVerified) {\r\n var address = \"assets/images/patterns/correct.png\";\r\n Adhartitle = 'Submitted';\r\n } else {\r\n var address = \"assets/images/patterns/close.png\";\r\n Adhartitle = 'Not Submitted';\r\n }\r\n return ''\r\n \r\n }),\r\n DTColumnBuilder.newColumn('IsPanVerified').withTitle('Pan Card').renderWith(function (data, type, full, meta) {\r\n var title = '';\r\n \r\n if (full.IsPanVerified) {\r\n var pancard = \"assets/images/patterns/correct.png\";\r\n title= 'Submitted';\r\n } else {\r\n var pancard = \"assets/images/patterns/close.png\";\r\n title= 'Not Submitted';\r\n }\r\n return ''\r\n \r\n }),\r\n DTColumnBuilder.newColumn('CVerficationStatus').withTitle('Criminal Check').renderWith(function (data, type, full, meta) {\r\n var title = '';\r\n \r\n if (full.CVerficationStatus==\"Pass\") {\r\n var pancard = \"assets/images/patterns/correct.png\";\r\n title= 'Submitted';\r\n } else {\r\n var pancard = \"assets/images/patterns/close.png\";\r\n title= 'Not Submitted';\r\n }\r\n return ''\r\n \r\n }),\r\n // DTColumnBuilder.newColumn('IsOpenForInternship').withTitle('Internship').renderWith(function (data, type, full, meta) {\r\n // var title = '';\r\n \r\n // if (full.IsOpenForInternship) {\r\n // var pancard = \"assets/images/patterns/correct.png\";\r\n // title= 'Open for Internship';\r\n // } else {\r\n // var pancard = \"assets/images/patterns/close.png\";\r\n // title= 'Not open for Internship';\r\n // }\r\n // return ''\r\n \r\n // }),\r\n // DTColumnBuilder.newColumn('Role').withTitle('Role').notSortable(),\r\n // DTColumnBuilder.newColumn('SkillSet', 'Skill').withTitle('Skill').notSortable().renderWith(function (data, type, full, meta) {\r\n // var skills = '';\r\n // if(full.SkillSet){\r\n // for (var i = 0; i < full.SkillSet.length; i++) {\r\n // if (i == 0) {\r\n // skills = full.SkillSet[i];\r\n // } else {\r\n // skills = skills + ' ,' + full.SkillSet[i];\r\n // }\r\n // }\r\n // }\r\n // return '
' + skills + '
';\r\n // }),\r\n\r\n DTColumnBuilder.newColumn('IsSkillsVerified').withTitle('Skill Verified').notSortable().renderWith(function (data, type, full, meta) {\r\n var vendorStatus='';\r\n var status ='';\r\n if (full.IsSkillsVerified) {\r\n vendorStatus = 'label label-primary';\r\n status= 'Pass';\r\n } else{\r\n vendorStatus = 'label label-danger';\r\n status ='Fail';\r\n }\r\n return \"\" + status + \"\";\r\n \r\n }),\r\n DTColumnBuilder.newColumn('UserStatus').withTitle('Status').notSortable().renderWith(function (data, type, full, meta) {\r\n if (full.UserStatus == 'Active') {\r\n var VendorStatus = 'label label-default';\r\n } else if (full.UserStatus == 'Inactive') {\r\n VendorStatus = 'label label-primary'\r\n } else if (full.UserStatus == 'Location Verified') {\r\n VendorStatus = 'label label-info'\r\n } else if (full.UserStatus == 'Docs Verified') {\r\n VendorStatus = 'label label-danger'\r\n }else if(full.UserStatus == 'Asset Verified'){\r\n VendorStatus = 'label label-warning';\r\n }else if(full.UserStatus == 'Skill Verified'){\r\n VendorStatus = 'label label-success' ;\r\n }\r\n return \"\" + full.UserStatus + \"\";\r\n }),\r\n DTColumnBuilder.newColumn('Tools').withTitle('Tools').notSortable().renderWith(function(data,type,full,meta){\r\n var skills = '';\r\n if(full.Tools){\r\n for (var i = 0; i < full.Tools.length; i++) {\r\n if(full.Tools[i]){\r\n if (i == 0) {\r\n skills = full.Tools[i];\r\n } else {\r\n skills = skills + ' ,' + full.Tools[i];\r\n }\r\n }\r\n }\r\n }\r\n return '
' + skills + '
';\r\n }),\r\n // DTColumnBuilder.newColumn('UpdatedById').withTitle('UpdatedById').notSortable(),\r\n // DTColumnBuilder.newColumn('UpdatedByName').withTitle('UpdatedByName').notSortable(),\r\n DTColumnBuilder.newColumn('Source').withTitle('Source').notSortable(),\r\n // DTColumnBuilder.newColumn('IsMobileAvailable').withTitle('IsMobileAvailable').notSortable(),\r\n DTColumnBuilder.newColumn('PAN').withTitle('PAN').notSortable(),\r\n DTColumnBuilder.newColumn('AdharNo').withTitle('AdharNo').notSortable(),\r\n DTColumnBuilder.newColumn('CurrentLatitude').withTitle('Latitude').notSortable(),\r\n DTColumnBuilder.newColumn('CurrentLongitude').withTitle('Longitude').notSortable(),\r\n // DTColumnBuilder.newColumn('FirstAidCertification').withTitle('First Aid Certification').notSortable(),\r\n // DTColumnBuilder.newColumn('FARMTOCLI').withTitle('FARM TOCLI').notSortable(),\r\n // DTColumnBuilder.newColumn('OHS').withTitle('OHS').notSortable()\r\n DTColumnBuilder.newColumn('AuditResult').withTitle('Equipment Audit Status').notSortable(),\r\n DTColumnBuilder.newColumn('AuditDate').withTitle('Equipment Audit Date').notSortable().renderWith(function (data, type, full, meta) {\r\n if (full.AuditDate == '0001-01-01T00:00:00') \r\n return \"\";\r\n else\r\n return \"\" + $filter('date')(new Date(full.AuditDate), \"dd/MMM/yyyy\") + \"\";\r\n }),\r\n DTColumnBuilder.newColumn('AuditorName').withTitle('Equipment Audit By').notSortable()\r\n ];\r\n\r\n function createLink(data, type, full, meta) {\r\n return ' ' + data.UserId + '';\r\n // return ' ' + data.UserId + '';\r\n }\r\n function ActionLink(data, type, full, meta) {\r\n var userroleshow = 'SuperAdministrator';\r\n var userroleshow1 = 'OnBoarding Manager';\r\n var userroleshow2 = 'Onboarding Supervisor';\r\n\t\t\tif(loggedinUserRole==userroleshow || loggedinUserRole==userroleshow1 || loggedinUserRole==userroleshow2){\r\n return ' ';\r\n // return ' ' + data.UserId + '';\r\n }\r\n else{\r\n return '';\r\n }\r\n }\r\n\r\n function createImage_Name(data, type, full, meta) {\r\n if (data.Picture == null) {\r\n var address = \"assets/images/patterns/photo1.png\";\r\n } else {\r\n address = vm.getProfilePic(data.Picture);\r\n }\r\n ''\r\n return '' + data.FirstName + ' ' + data.LastName + '';\r\n }\r\n\r\n\r\n vm.getProfilePic = function (pic) {\r\n return ImageUrl + \"/\" + pic;\r\n }\r\n\r\n vm.ProfileView = function(userid){\r\n $localStorage.RedirecttoActivevendorteam='AVTeam';\r\n $state.go('index.FreelancerTechnicianProfile', {\r\n UserId: userid\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.EditVTeam = function(RegistrationNo){\r\n $localStorage.EditVendorTeam = 'yes';\r\n $localStorage.ActiveFVT='Active';\r\n $state.go('index.ActiveUserUpdate', {\r\n RegistrationNo: RegistrationNo\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n }\r\n})\nangular.module('inspinia').service('ActiveVendorUpdateService', function($http, FreelancerURL,ApiURL,PublicApiURL){\r\n\r\n //http://192.168.0.80:92/FreelancerAPI/api/FreeLancerRegistration/srachit46%40gmail.com/UR0000000002/GetUserByRegistrationNumber\r\n this.GetUserByRegistrationNo = function (loggedinUser, registrationNo, token) {\r\n var url = FreelancerURL + '/api/FreelancerRegistration/' + loggedinUser + '/' + registrationNo + '/GetUserByRegistrationNumber'\r\n return $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n })\r\n }\r\n\r\n this.SaveBackgroundChecks = function(BGDocList, files, token, loggedinUser){ \r\n var formdata = new FormData();\t\t\r\n formdata.append(\"files\", files[0]);\t\r\n var followupdata = JSON.stringify(BGDocList);\r\n formdata.append(\"BackgroundData\", followupdata);\r\n // formdata.append(\"reqUserId\", loggedinUser);\r\n var url = ApiURL + '/api/Upload/BackgroundDoc';\r\n return $http.post(url,formdata,{\r\n headers:{'Content-Type':undefined,'Token':token, 'UserId': loggedinUser}\r\n });\r\n }\r\n \r\n\r\n this.getAllState = function (loggedInUserId, token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedInUserId \r\n } \r\n });\r\n }\r\n //http://192.168.0.80:92/LocationAPI/api/Location/saurabhgupta3371%40gmail.com/UTTAR%20PRADESH/GetCitiesByState\r\n\r\n this.getCityByState = function (loggedinUser, state) {\r\n var url = LocationURL + '/api/Location/' + loggedinUser + '/' + state + '/GetCitiesByState';\r\n return $http.get(url, {\r\n params: {}\r\n });\r\n }\r\n\r\n this.updateuUser = function (loggedinUser, data, token) {\r\n var url = FreelancerURL + '/api/FreeLancerRegistration?reqUserId=' + loggedinUser;\r\n return $http.put(url, data, {\r\n headers: { 'ContentType': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n });\r\n }\r\n\r\n this.uploadProfilePic = function (loggedinUser, data, token, success, failure) {\r\n $http.post(ApiURL + '/api/UploadDoc', data, { \r\n headers: {\r\n 'Content-Type': undefined, 'Token': token, 'UserId':loggedinUser\r\n }\r\n }).then(success, failure);\r\n }\r\n\r\n this.getAllSkills = function(loggedinUser, token, success, failure){\r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url, {headers: {'Token': token, 'UserId':loggedinUser}}).then(function(res){\r\n if(res && res.status == 200 && res.data){\r\n success(res.data);\r\n }\r\n }, function(err){\r\n failure(\"Failed\", \"Unable to get skill list, server error.\")\r\n })\r\n }\r\n\r\n //https://db.mymobiforce.com/publicapi/api/Address/GetCountry?userId=U420000000001\r\nthis.getCountry = function (userId) {\r\n var url = PublicApiURL + '/api/Address/GetCountry?userId=' + userId;\r\n return $http.get(url, {\r\n params: {}\r\n });\r\n}\r\n\r\nthis.getStates = function (loggedInUserId, token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedInUserId \r\n } \r\n});\r\n}\r\n\r\n\r\n//https://db.mymobiforce.com/publicapi/api/Address/GetCities?userId=U420000000001&state=DOHA\r\n// this.getCities = function (userId, state) {\r\n// var url = PublicApiURL + '/api/Address/GetCities?userId=' + userId + '&state=' + state;\r\n// return $http.get(url, {\r\n// params: {}\r\n// });\r\n// }\r\n\r\n\r\n this.GetAllCircles = function (loggedinUser, success, failure) {\r\n var url = LocationURL + '/api/Location/' + loggedinUser + '/GetAllCircles'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json' }\r\n }).then(function(res){\r\n if(res && res.status ==200 && res.data){\r\n success(res.data);\r\n } \r\n }, function(err){\r\n failure(\"Failed\", \"Unable to get locations, server is not responding correctly\");\r\n });\r\n }\r\n\r\n // https://perf.mymobiforce.com/coreapi/api/Cetrificate/GetAll?reqUserId=F00000000000\r\n// https://perf.mymobiforce.com/coreapi/api/Cetrificate/GetAllMaster?reqUserId=F00000000000\r\nthis.GetAllCertificate = function(loggedinUser, token, success, failure){\r\n // var url = ApiURL + '/api/Cetrificate/GetAll?reqUserId=' + loggedinUser;\r\n var url = ApiURL + '/api/Cetrificate/GetAllMaster?reqUserId=' + loggedinUser;\r\n return $http.get(url,{headers:{'Token':token, 'UserId':loggedinUser}}).then(function(res){\r\n if(res && res.status == 201 && res.data){\r\n success(res.data);\r\n }\r\n },function(err){\r\n failure(\"Failed\",\"Unable to get certificate list, server error.\");\r\n })\r\n}\r\n\r\n// https://perf.mymobiforce.com/coreapi/api/Tool/GetAllMaster?reqUserId=F00000000000\r\nthis.GetAllToolSets = function(loggedinUser, token, success, failure){\r\n var url = ApiURL + '/api/Tool/GetAllMaster?reqUserId=' + loggedinUser;\r\n return $http.get(url,{headers:{'Token':token, 'UserId':loggedinUser}}).then(function(res){\r\n if(res && res.status == 201 && res.data){\r\n success(res.data);\r\n }\r\n },function(err){\r\n failure(\"Failed\",\"Unable to get certificate list, server error.\");\r\n })\r\n}\r\nthis.UserAciveDeactive = function (loggedinUser,userId, token) {\r\n var url = ApiURL + '/api/User/'+userId+'/activate?reqUserId='+loggedinUser;\r\n return $http.put(url, null, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token, 'UserId':loggedinUser}\r\n });\r\n}\r\nthis.AddToolAuditwithAttachment = function(data, files, token, loggedinUser){ \r\n var formdata = new FormData();\t\t\r\n formdata.append(\"files\", files[0]);\t\r\n var followupdata = JSON.stringify(data);\r\n formdata.append(\"AuditRequestModel\", followupdata);\r\n formdata.append(\"reqUserId\", loggedinUser);\r\n var url = ApiURL + '/api/Upload/PostMediaFileWithAuditObject';\r\n return $http.post(url,formdata,{\r\n headers:{'Content-Type':undefined,'Token':token, 'UserId': loggedinUser}\r\n });\r\n}\r\n//https://product.mymobiforce.com/coreapi/api/UserTraining/PostMediaFileWithTrainingObject\r\nthis.PostMediaFileWithTrainingObject = function(data, files,files1, token, loggedinUser){ \r\n var formdata = new FormData();\t\t\r\n formdata.append(\"files\", files[0]);\t\r\n formdata.append(\"files1\", files1[0]);\t\r\n var followupdata = JSON.stringify(data);\r\n formdata.append(\"UserTrainingRequestModel\", followupdata);\r\n formdata.append(\"reqUserId\", loggedinUser);\r\n var url = ApiURL + '/api/UserTraining/PostMediaFileWithTrainingObject';\r\n return $http.post(url,formdata,{\r\n headers:{'Content-Type':undefined,'Token':token, 'UserId': loggedinUser}\r\n });\r\n}\r\n//https://product.mymobiforce.com/coreapi/api/UserTraining/PostMediaFileWithCriminalVerificationObject\r\nthis.AddCriminalVerificationwithAttachment = function(data, files, token, loggedinUser){ \r\n var formdata = new FormData();\t\t\r\n formdata.append(\"files\", files[0]);\t\r\n var CriminalVerificationdata = JSON.stringify(data);\r\n formdata.append(\"CriminalVerificationRequestModel\", CriminalVerificationdata);\r\n formdata.append(\"reqUserId\", loggedinUser);\r\n var url = ApiURL + '/api/UserTraining/PostMediaFileWithCriminalVerificationObject';\r\n return $http.post(url,formdata,{\r\n headers:{'Content-Type':undefined,'Token':token, 'UserId': loggedinUser}\r\n });\r\n}\r\n})\nangular.module('inspinia').controller('ActiveVendorUpdateController', function (ActiveVendorUpdateService, MainService, $q, $filter, ReferService, FreelancerURL, $window, $location, $rootScope, $stateParams, $uibModal, $scope, $log, ImageUrl, $sce, toaster, $localStorage, $timeout, InvoiceUrl, $state) {\r\n\r\n var vm = this;\r\n var RegistrationNo = $stateParams.RegistrationNo;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n vm.showSuccess = $scope.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.main.showFailure;\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n vm.dissbleUpdateButton = false;\r\n vm.dissableMobile = true;\r\n vm.searchButtonText = 'Update';\r\n vm.editmode = false;\r\n vm.RegisteredUser = '';\r\n vm.FirstName = '';\r\n vm.isnonindeximage='';\r\n vm.LastName = '';\r\n vm.MobileNo = '';\r\n vm.Email = '';\r\n vm.DOB = moment();\r\n vm.Gender = '';\r\n vm.PAN = '';\r\n vm.Aadhar = '';\r\n vm.AddressLine1 = '';\r\n vm.AddressLine2 = '';\r\n vm.PermanentState = '';\r\n vm.PermanentCity = '';\r\n vm.PermanentPincode = '';\r\n vm.BaseAddressLine1 = '';\r\n vm.BaseAddressLine2 = '';\r\n vm.BaseState = '';\r\n vm.BaseCity = '';\r\n vm.BasePincode = '';\r\n vm.UserId = '';\r\n vm.Picture = '';\r\n vm.DocprofileImg =[];\r\n vm.CertprofileImg=[];\r\n vm.RegistrationStatus = '';\r\n vm.UserInfoCheck = false;\r\n vm.UserLocationCheck = false;\r\n vm.UserDocumentCheck = false;\r\n vm.UserTraningCheck = false;\r\n vm.UserAvailableAssestCheck = false;\r\n vm.UserSkillCheck = false;\r\n vm.CertificateIssueDate = moment();\r\n vm.CertificateExpiryDate = moment();\r\n vm.verifyAll = false;\r\n vm.CompanyRegisterration ='';\r\n vm.GST='';\r\n vm.CompanyGSTNO ='';\r\n vm.MSME ='';\r\n vm.MSMECertificateNO ='';\r\n vm.TPI ='';\r\n vm.Supplier ='';\r\n vm.Asset_Mobile = '';\r\n vm.Asset_Laptop = '';\r\n vm.Asset_Bike = '';\r\n vm.Asset_Tools = '';\r\n vm.Work_Location=[];\r\n vm.Asset_ToolList = [];\r\n // vm.UpdatedToolList = [];\r\n vm.PreferredLocationList = [];\r\n vm.BGDocList = [];\r\n vm.experienceYearList = [];\r\n vm.AllSkillSets = [];\r\n vm.SkillList = [];\r\n vm.QualificationList = [];\r\n vm.TrainingList = [];\r\n vm.addSkill = '';\r\n vm.addExprence = '';\r\n vm.error = {};\r\n vm.profileImg='';\r\n vm.UserRole=\"\";\r\n var $container = $('.basicwizard1');\r\n var $p = $('.referalwizard');\r\n var currentIndex = 0;\r\n vm.TeamSize = '';\r\n vm.CoverageDistance = '';\r\n vm.ToolsDetailList=[];\r\n vm.PreviousCompanyDetailsList=[];\r\n vm.VerificationCertprofileImg = [];\r\n vm.Verificationpathtcertificate = '';\r\n vm.IsUserActive=false;\r\n vm.UserExperience='';\r\n vm.CompanyName = '';\r\n vm.FatherName = '';\r\n vm.Designation='';\r\n vm.ToolAuditFileName=\"\"; \r\n vm.AuditList=[];\r\n vm.PreviousCompanyAuditList=[];\r\n vm.UserTrainingList =[];\r\n vm.ExperienceAuditFiles=[];\r\n vm.ToolAuditFiles = [];\r\n vm.TrainingImageFiles=[];\r\n vm.TrainingAttendanceFiles=[];\r\n vm.TrainingImagebase64=[];\r\n vm.TrainingAttendancebase64=[];\r\n vm.PCExperienceLetterbase64=[];\r\n vm.ExperienceVerificationReportbase64=[];\r\n vm.CriminalVerificationbase64=\"\";\r\n vm.CriminalVarificationObj={};\r\n vm.TrainingDate = moment();\r\n vm.FloorList = [\"Basement\",\"1st Floor\",\"2nd Floor\",\"3rd Floor\",\"4th Floor\",\"5th Floor\"];\r\n vm.InfraDetailsList = [{\r\n \"SpaceAvailable\": 1,\r\n \"FloorsAvailable\": \"\",\r\n \"InfraLocation\": {\r\n \"Address\": \"\",\r\n \"State\": \"\",\r\n \"City\": \"\"\r\n }\r\n }];\r\n vm.TrainersDetailsList = [{\r\n \"SeatsCapacity\": 1,\r\n \"NoOfTrainers\": 1,\r\n \"TrainingLocation\": {\r\n \"Address\": \"\",\r\n \"State\": \"\",\r\n \"City\": \"\"\r\n },\r\n \"TrainersSkills\": []\r\n }];\r\n vm.InfraCityList=[];\r\n vm.TrainersCityList = [];\r\n vm.IsInfraTable = false;\r\n var today = new Date();\r\n var date = today.getFullYear() - 18;\r\n var age = (today.getMonth() + 1 + \"/\" + today.getDate() + \"/\" + date).toString();\r\n vm.maxDOB = new Date(age);\r\n vm.maxDOBStr = vm.maxDOB.toDateString();\r\n age = Date.parse(age);\r\n $scope.MaxDate = moment(age);\r\n vm.checkMaxDOB = function () {\r\n if (vm.DOB && !vm.DOB._isAMomentObject) {\r\n var splittedDOB = vm.DOB.split(\"/\");\r\n vm.DOB = moment(new Date((splittedDOB[1] + \"/\" + splittedDOB[0] + \"/\" + splittedDOB[2]).toString()));\r\n }\r\n return (vm.maxDOB - vm.DOB) < 0;\r\n }\r\n\r\n\r\n vm.TeamSizeList = [\"0\",\"0-10\", \"11-20\", \"21-50\", \"51-100\", \"MoreThan 100\"];\r\n vm.qualificationList = [\"10th\", \"12th\", \"Graduation Degree/Deploma\", \"PG Degree/Deploma\"];\r\n vm.BGDocType = ['Aadhar Card', 'Address Proof', 'Pan Card','Court Information', 'Education Certificate','Police Verification','Resume','Cancelled Check','Experience Letter'];\r\n // vm.BGDocType = ['Aadhar Card', 'Address Proof', 'Pan Card', 'Education Certificate', 'Police Verification', 'Resume', 'Cancelled Check', 'GST Certificate', 'Non GST Certificate','MSME Certificate', 'Non MSME Certificate', 'SAIACC Certificate','Compnay Registration Certificate','Experience Letter'];\r\n vm.BDDocSubType = {};\r\n vm.BDDocSubType['Aadhar Card'] = ['Aadhar Card', 'Voter Id Card', 'Driving License'];\r\n vm.BDDocSubType['Address Proof'] = [\"Aadhar Card\", \"Voter Id Card\", \"Driving License\", \"Passport\", \"Rent Agreement\", \"Telephone/Gas Bill\", \"Bank Passbook\"];\r\n vm.BDDocSubType['Pan Card'] = ['Pan Card'];\r\n vm.BDDocSubType['Education Certificate'] = vm.qualificationList;\r\n vm.BDDocSubType['Police Verification'] = [\"Police Verification\"];\r\n vm.BDDocSubType['Resume'] = [\"Resume\"];\r\n vm.BDDocSubType['Cancelled Check'] = [\"Cancelled Check\"];\r\n vm.BDDocSubType['GST Certificate'] = [\"GST Certificate\"];\r\n vm.BDDocSubType['Non GST Certificate'] = [\"Non GST Certificate\"];\r\n vm.BDDocSubType['MSME Certificate'] = [\"MSME Certificate\"];\r\n vm.BDDocSubType['Non MSME Certificate'] = [\"Non MSME Certificate\"];\r\n vm.BDDocSubType['SAIACC Certificate'] = [\"SAIACC Certificate\"];\r\n vm.BDDocSubType['Compnay Registration Certificate'] = [\"Compnay Registration Certificate\"];\r\n vm.BDDocSubType['Experience Letter'] = [\"Experience Letter\"];\r\n\r\n vm.GetUserByRegistrationNo = function () {\r\n ActiveVendorUpdateService.GetUserByRegistrationNo(loggedinUser, RegistrationNo, token).then(function (resp) {\r\n var RegisteredUser = resp.data;\r\n vm.UserId = RegisteredUser.UserId;\r\n vm.FirstName = RegisteredUser.FirstName;\r\n vm.LastName = RegisteredUser.LastName;\r\n vm.UserRole = RegisteredUser.Role;\r\n vm.DOB = moment(RegisteredUser.DOB);\r\n vm.Email = RegisteredUser.PersonalEmail;\r\n vm.Gender = RegisteredUser.Gender;\r\n vm.PAN = RegisteredUser.PAN;\r\n vm.Aadhar = RegisteredUser.AdharNo;\r\n vm.MobileNo = RegisteredUser.ContactNumber;\r\n vm.AddressLine1 = RegisteredUser.PermanentAdd1;\r\n vm.AddressLine2 = RegisteredUser.PermanentAdd2;\r\n vm.PermanentState = RegisteredUser.PermanentState;\r\n vm.PermanentCity = RegisteredUser.PermanentCity?RegisteredUser.PermanentCity.toUpperCase():RegisteredUser.PermanentCity;\r\n // vm.PermanentCity = RegisteredUser.PermanentCity.toUpperCase();\r\n vm.PermanentPincode = RegisteredUser.PermanentPinCode;\r\n vm.BaseAddressLine1 = RegisteredUser.CurrentAdd1;\r\n vm.BaseAddressLine2 = RegisteredUser.CurrentAdd2;\r\n vm.BaseState = RegisteredUser.CurrentState;\r\n vm.BaseCity = RegisteredUser.CurrentCity?RegisteredUser.CurrentCity.toUpperCase():RegisteredUser.CurrentCity;\r\n vm.BasePincode = RegisteredUser.CurrentPinCode;\r\n vm.Picture = RegisteredUser.Picture;\r\n vm.RegistrationStatus = RegisteredUser.RegistrationStatus;\r\n vm.Asset_Mobile = RegisteredUser.IsMobileAvailable;\r\n vm.Asset_Bike = RegisteredUser.IsBikeAvailable;\r\n vm.Asset_Laptop = RegisteredUser.IsLaptopAvailable;\r\n vm.QualificationList = RegisteredUser.UserQualification;\r\n // vm.TrainingList = RegisteredUser.TrainingAssessment;\r\n vm.UserInfoCheck = RegisteredUser.IsBasicVerified;\r\n vm.UserLocationCheck = RegisteredUser.IsLocVerified;\r\n vm.UserDocumentCheck = RegisteredUser.IsDocsVerified;\r\n vm.UserTraningCheck = RegisteredUser.IsCertificationVerified;\r\n vm.UserAvailableAssestCheck = RegisteredUser.IsAssetsVerified;\r\n vm.UserSkillCheck = RegisteredUser.IsSkillsVerified;\r\n vm.CoverageDistance = RegisteredUser.CoverageDistance;\r\n vm.Asset_Tools = RegisteredUser.Tools;\r\n vm.TeamSize = RegisteredUser.TeamSize;\r\n vm.Work_Location =RegisteredUser.Locations;\r\n vm.CompanyRegisterration =RegisteredUser.CompanyRegistrationNumber;\r\n vm.GST =RegisteredUser.IsGSTCertified;\r\n vm.CompanyGSTNO =RegisteredUser.GSTCertificateNumber;\r\n vm.MSME =RegisteredUser.IsMSMECertified;\r\n vm.MSMECertificateNO =RegisteredUser.MSMECertificateNumber;\r\n vm.TPI=RegisteredUser.IsPartnerThirdPartyInternediary;\r\n vm.Supplier=RegisteredUser.IsPartnerIncludeAntiCorruptionClause;\r\n vm.imageServices(RegisteredUser.Picture);\r\n vm.ToolsDetailList = RegisteredUser.ToolsDetailList;\r\n vm.PreviousCompanyDetailsList = RegisteredUser.PreviousCompanyDetailsList;\r\n vm.UserExperience = RegisteredUser.Experience;\r\n vm.CompanyName = RegisteredUser.CompanyName;\r\n vm.FatherName = RegisteredUser.FatherName;\r\n vm.Designation = RegisteredUser.Designation;\r\n vm.AuditList=RegisteredUser.AuditList;\r\n vm.PreviousCompanyAuditList = RegisteredUser.PreviousCompanyAuditList;\r\n vm.UserTrainingList = RegisteredUser.UserTrainingList;\r\n vm.CriminalVarificationObj = RegisteredUser.CriminalVarificationObj;\r\n if(RegisteredUser.UserStatus == \"Active\")\r\n vm.IsUserActive=true;\r\n else\r\n vm.IsUserActive=false;\r\n // vm.InfraDetailsList = RegisteredUser.InfraDetailsList.length>=1?RegisteredUser.InfraDetailsList:vm.InfraDetailsList;\r\n // vm.TrainersDetailsList = RegisteredUser.TrainersDetailsList.length>=1?RegisteredUser.TrainersDetailsList:vm.TrainersDetailsList;\r\n if(vm.GST == true ){\r\n vm.GST = \"GSTYES\";\r\n $(\"#GSTNO\").hide();\r\n $(\"#GSTYES\").show();\r\n \r\n \r\n }\r\n else{\r\n vm.GST = \"GSTNO\";\r\n $(\"#GSTNO\").show();\r\n $(\"#GSTYES\").hide();\r\n }\r\n if(vm.TPI == true){\r\n vm.TPI = \"TPIYES\";\r\n $(\"#TPIYES\").show();\r\n $(\"#TPIYNO\").hide();\r\n \r\n \r\n }\r\n else{\r\n vm.TPI = \"TPINO\";\r\n $(\"#TPIYES\").hide();\r\n $(\"#TPIYNO\").show();\r\n }\r\n if(vm.Supplier == true){\r\n vm.Supplier = \"SuppYES\";\r\n }\r\n else{\r\n vm.Supplier = \"SuppNO\";\r\n }\r\n if(vm.MSME == true){\r\n vm.MSME = \"MSMEYES\";\r\n $(\"#MSMENO\").hide();\r\n $(\"#MSMEYES\").show();\r\n\r\n \r\n }\r\n else{\r\n vm.MSME = \"MSMENO\";\r\n $(\"#MSMENO\").show();\r\n $(\"#MSMEYES\").hide();\r\n }\r\n // vm.InfraDetailsList = RegisteredUser.InfraDetailsList?RegisteredUser.InfraDetailsList:vm.InfraDetailsList;\r\n // vm.TrainersDetailsList = RegisteredUser.TrainersDetailsList?RegisteredUser.TrainersDetailsList:vm.TrainersDetailsList;\r\n if(RegisteredUser.InfraDetailsList && RegisteredUser.InfraDetailsList.length>=1){\r\n vm.InfraDetailsList = RegisteredUser.InfraDetailsList;\r\n }\r\n if(RegisteredUser.TrainersDetailsList && RegisteredUser.TrainersDetailsList.length>=1){\r\n vm.TrainersDetailsList = RegisteredUser.TrainersDetailsList;\r\n }\r\n\r\n $(\"#example_id\").ionRangeSlider({\r\n grid: true,\r\n min: 0,\r\n max: 400,\r\n from: vm.CoverageDistance,\r\n step : 1,\r\n skin: \"round\",\r\n postfix: \" Kms\"\r\n });\r\n\r\n \r\n\r\n if (RegisteredUser.BGVerificationDocPath) {\r\n angular.forEach(vm.BGDocType, function (d, i) {\r\n vm.BGDocList[i] = {\r\n // \"DocumentType\": e,\r\n \"DocumentName\": d,\r\n \"DocumentNo\":\"\",\r\n \"VerificationMode\":\"\",\r\n \"DocumentPath\": \"\",\r\n \"ThirdPartyDocumentPath\": \"\",\r\n \"DocumentPath\": \"\",\r\n \"ThirdPartyDocumentPath\": \"\"\r\n };\r\n \r\n for (var imageIndex = 0; imageIndex < RegisteredUser.BGVerificationDocPath.length; imageIndex++) {\r\n if (d == RegisteredUser.BGVerificationDocPath[imageIndex].DocumentName ) {\r\n vm.BGDocList[i] = RegisteredUser.BGVerificationDocPath[imageIndex];\r\n vm.BGDocList[i].DocumentNo = vm.BGDocList[i].DocumentNo;\r\n vm.BGDocList[i].DocumentPath = vm.BGDocList[i].DocumentPath;\r\n vm.BGDocList[i].ThirdPartyDocumentPath = vm.BGDocList[i].ThirdPartyDocumentPath;\r\n vm.DocumentimageServices(vm.BGDocList[i].DocumentPath,i);\r\n vm.DocumentimageServices(vm.BGDocList[i].ThirdPartyDocumentPath,i);\r\n \r\n }\r\n }\r\n })\r\n }\r\n\r\n $scope.attachThirdPartyReport = function(files){ \r\n vm.ToolAuditFileName=\"\";\r\n var file = files.files[0];\r\n vm.ToolAuditFileName=file.name; \r\n vm.ToolAuditFiles = files.files;\r\n var allowedExtensions = /(\\.pdf|\\.PDF|\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png)$/i; \r\n if(!allowedExtensions.exec(file.name)){\r\n vm.ToolAuditFiles = [];\r\n vm.clear(); \r\n alert('Please upload file having extensions .pdf,.jpg,.jpeg,.png only.');\r\n }\r\n }\r\n\r\n vm.clear = function () {\r\n angular.element(\"input[type='file']\").val(null);\r\n }; \r\n \r\n vm.SiteRescheduleAudit = function(index){ \r\n // vm.ToolAuditFiles=[];\r\n var data = {};\r\n data = { \r\n \"UserId\": vm.UserId, \r\n \"docName\": vm.BGDocList[index].DocumentName,\r\n \"docType\": \"\",\r\n \"DocumentNo\":vm.BGDocList[index].DocumentNo,\r\n \"VerificationMode\":vm.BGDocList[index].VerificationMode,\r\n \"VerificationAuthority\":vm.BGDocList[index].VerificationAuthority,\r\n \"VerificationStatus\":vm.BGDocList[index].VerificationStatus,\r\n \"ThirdPartyDocumentPath\":vm.BGDocList[index].ThirdPartyDocumentPath\r\n } \r\n \r\n ActiveVendorUpdateService.SaveBackgroundChecks(data, vm.ToolAuditFiles, token, loggedinUser).then(function(res){\r\n if (res && res.status == 201) { \r\n vm.data=\"\"; \r\n vm.showSuccess(\"Success\", \"Document verified successfully.\");\r\n \r\n $timeout(function () {\r\n // vm.ToolAuditFileName=\"\";\r\n vm.GetUserByRegistrationNo();\r\n \r\n \r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\",\"not verified\");\r\n } else {\r\n vm.showFailure(\"Failed\");\r\n }\r\n },vm.showFailure);\r\n }\r\n\r\n // angular.forEach(vm.BGDocType, function(d,i){\r\n // vm.BGDocList[i] = {\r\n // \"DocumentType\": d,\r\n // \"DocumentName\": \"\",\r\n // \"DocumentPath\": \"\",\r\n // \"DocumentName1\": \"\",\r\n // \"DocumentPath1\": \"\"\r\n // };\r\n // })\r\n \r\n // if(RegisteredUser.BGVerificationDocPath.length > 0){\r\n \r\n // for(var doc = 0; doc< RegisteredUser.BGVerificationDocPath.length;doc++){\r\n // for(var index = 0 ; index < vm.BGDocList.length; index ++ ){\r\n // if(RegisteredUser.BGVerificationDocPath[doc].DocumentType == vm.BGDocList[index].DocumentType){\r\n // vm.BGDocList[index] = RegisteredUser.BGVerificationDocPath[doc];\r\n // }\r\n // }\r\n \r\n \r\n // }\r\n // console.log(vm.BGDocList);\r\n \r\n // for( var m = 0; m 0){\r\n for(var i=0;i< RegisteredUser.InfraDetailsList.length;i++){\r\n if(RegisteredUser.InfraDetailsList[i].InfraLocation.State){\r\n vm.getInfraCity(RegisteredUser.InfraDetailsList[i].InfraLocation.State,i);\r\n }\r\n }\r\n }\r\n\r\n if(RegisteredUser.TrainersDetailsList && RegisteredUser.TrainersDetailsList.length > 0){\r\n for(var i=0;i< RegisteredUser.TrainersDetailsList.length;i++){\r\n if(RegisteredUser.TrainersDetailsList[i].TrainingLocation.State){\r\n vm.getTrainersCity(RegisteredUser.TrainersDetailsList[i].TrainingLocation.State,i);\r\n }\r\n }\r\n }\r\n\r\n if (vm.UserInfoCheck == true) {\r\n // vm.UserInfoCheck = true;\r\n vm.changeStatus('Basic');\r\n }\r\n if (vm.UserLocationCheck == true) {\r\n // vm.UserInfoCheck = true;\r\n // vm.UserLocationCheck = true;\r\n vm.changeStatus('Basic');\r\n vm.changeStatus('Location');\r\n\r\n } \r\n if (vm.UserDocumentCheck == true) {\r\n // vm.UserInfoCheck = true;\r\n // vm.UserLocationCheck = true;\r\n // vm.UserDocumentCheck = true;\r\n vm.changeStatus('Basic');\r\n vm.changeStatus('Location');\r\n vm.changeStatus(\"Document\");\r\n\r\n }\r\n if (vm.UserTraningCheck == true) {\r\n // vm.UserInfoCheck = true;\r\n // vm.UserLocationCheck = true;\r\n // vm.UserDocumentCheck = true;\r\n vm.changeStatus('Basic');\r\n vm.changeStatus('Location');\r\n vm.changeStatus(\"Document\");\r\n vm.changeStatus(\"Traning\");\r\n \r\n }\r\n if (vm.UserAvailableAssestCheck == true) {\r\n // vm.UserInfoCheck = true;\r\n // vm.UserLocationCheck = true;\r\n // vm.UserDocumentCheck = true;\r\n // vm.UserAvailableAssestCheck = true;\r\n vm.changeStatus('Basic');\r\n vm.changeStatus('Location');\r\n vm.changeStatus(\"Document\");\r\n vm.changeStatus(\"Traning\");\r\n vm.changeStatus(\"Assets\");\r\n }\r\n if (vm.UserSkillCheck == true) {\r\n // vm.UserInfoCheck = true;\r\n // vm.UserLocationCheck = true;\r\n // vm.UserDocumentCheck = true;\r\n // vm.UserAvailableAssestCheck = true;\r\n // vm.UserSkillCheck = true;\r\n vm.changeStatus('Basic');\r\n vm.changeStatus('Location');\r\n vm.changeStatus(\"Document\");\r\n vm.changeStatus(\"Traning\");\r\n vm.changeStatus(\"Assets\");\r\n vm.changeStatus(\"Skill\");\r\n }\r\n if(RegisteredUser.PreviousCompanyDetailsList){\r\n for(var i=0;i 0) {\r\n vm.countrylist = resp.data.values;\r\n vm.selectedCountry = vm.countrylist[0];\r\n vm.GetAllCircles();\r\n }\r\n }\r\n })\r\n }\r\n vm.getCountry();\r\n\r\n function getallCities(state) {\r\n ReferService.getAllCity(loggedinUser, state,token).then(function (resp) {\r\n vm.CityList = resp.data;\r\n });\r\n }\r\n\r\n function getallBaseCities(state) {\r\n ReferService.getAllCity(loggedinUser, state,token).then(function (resp) {\r\n vm.BaseCityList = resp.data;\r\n });\r\n }\r\n\r\n function getallInfraCities(state,index) {\r\n ReferService.getAllCity(loggedinUser, state,token).then(function (resp) {\r\n vm.InfraCityList[index] = resp.data;\r\n });\r\n }\r\n function getallTrainersCities(state,index) {\r\n ReferService.getAllCity(loggedinUser, state,token).then(function (resp) {\r\n vm.TrainersCityList[index] = resp.data;\r\n });\r\n }\r\n\r\n vm.getInfraCity = function(state,index){\r\n getallInfraCities(state,index);\r\n }\r\n vm.getTrainersCity = function(state,index){\r\n getallTrainersCities(state,index);\r\n }\r\n\r\n \r\n vm.AddInfraPartner = function(){\r\n var current = vm.InfraDetailsList[vm.InfraDetailsList.length-1];\r\n if(current.SpaceAvailable && current.FloorsAvailable && current.InfraLocation.Address && current.InfraLocation.State && current.InfraLocation.City){\r\n var temp = {\r\n \"SpaceAvailable\": 1,\r\n \"FloorsAvailable\": \"\",\r\n \"InfraLocation\": {\r\n \"Address\": \"\",\r\n \"State\": \"\",\r\n \"City\": \"\"\r\n }\r\n };\r\n vm.InfraDetailsList.push(temp);\r\n }else{\r\n vm.showFailure('Failed','Please select SpaceAvailable, FloorsAvailable, Address, State & City ');\r\n }\r\n \r\n }\r\n vm.DeleteInfraPartner = function(index){\r\n if(vm.InfraDetailsList.length <=1){\r\n var temp2 = {\r\n \"SpaceAvailable\": 1,\r\n \"FloorsAvailable\": \"\",\r\n \"InfraLocation\": {\r\n \"Address\": \"\",\r\n \"State\": \"\",\r\n \"City\": \"\"\r\n }\r\n };\r\n vm.InfraDetailsList.splice(index,1);\r\n vm.InfraDetailsList.push(temp2);\r\n }else{\r\n vm.InfraDetailsList.splice(index,1);\r\n }\r\n \r\n }\r\n\r\n vm.AddTrainersPartner = function(){\r\n var currentValue = vm.TrainersDetailsList[vm.TrainersDetailsList.length-1];\r\n if(currentValue.SeatsCapacity && currentValue.NoOfTrainers && currentValue.TrainingLocation.Address && currentValue.TrainingLocation.State && currentValue.TrainingLocation.City){\r\n var temp = {\r\n \"SeatsCapacity\": 1,\r\n \"NoOfTrainers\": 1,\r\n \"TrainingLocation\": {\r\n \"Address\": \"\",\r\n \"State\": \"\",\r\n \"City\": \"\"\r\n },\r\n \"TrainersSkills\": []\r\n };\r\n vm.TrainersDetailsList.push(temp);\r\n }else{\r\n vm.showFailure('Failed','Please select SeatsCapacity, NoOfTrainers, Address, State & City ');\r\n }\r\n \r\n }\r\n vm.DeleteTrainersPartner = function(index){\r\n if(vm.TrainersDetailsList.length <=1){\r\n var temp2 = {\r\n \"SeatsCapacity\": 1,\r\n \"NoOfTrainers\": 1,\r\n \"TrainingLocation\": {\r\n \"Address\": \"\",\r\n \"State\": \"\",\r\n \"City\": \"\"\r\n },\r\n \"TrainersSkills\": []\r\n };\r\n vm.TrainersDetailsList.splice(index,1);\r\n vm.TrainersDetailsList.push(temp2);\r\n }else{\r\n vm.TrainersDetailsList.splice(index,1);\r\n }\r\n }\r\n\r\n vm.selectedState = function (state) {\r\n getallCities(state);\r\n }\r\n\r\n vm.emptyPincode = function () {\r\n vm.PermanentPincode = '';\r\n }\r\n\r\n vm.selectedBaseState = function (bstate) {\r\n getallBaseCities(bstate);\r\n }\r\n vm.emptyBasePincode = function () {\r\n vm.BasePincode = '';\r\n }\r\n\r\n vm.getPicUrl = function (pic) {\r\n return ImageUrl + \"/\" + pic;\r\n }\r\n vm.PDFView = function (page) {\r\n MainService.GetImageBlob(loggedinUser, token, page).then(function(resp) {\r\n \r\n vm.pdfimage = resp.data;\r\n });\r\n $scope.selected = null;\r\n $timeout(function(){\r\n jobAppointmentModal = $uibModal.open({\r\n templateUrl: 'PDFView.html',\r\n size :'lg',\r\n scope: $scope\r\n });\r\n },1000)\r\n \r\n }\r\n vm.PDFUserModal = function(){\r\n jobAppointmentModal.close();\r\n }\r\n vm.getGSTPicUrl = function (pic) {\r\n return InvoiceUrl + \"/\" + \"NonGSTDecTemplate.doc\";\r\n }\r\n vm.getMSMEPicUrl = function (pic) {\r\n return InvoiceUrl + \"/\" + \"NonMSMEDecTemplate.doc\";\r\n }\r\n $scope.checkPDF = function(path){\r\n \r\n var pt = path.substr(path.length - 4);\r\n var dt = path.substr(path.length - 4);\r\n\r\n if(pt == '.pdf' || dt == '.doc'){\r\n vm.error = function(){\r\n $(\".pdf\").attr({\"target\" : \"_blank\"})\r\n }\r\n return true;\r\n }\r\n else\r\n {\r\n return false;\r\n }\r\n }\r\n\r\n vm.changeFile = function (selector) {\r\n angular.element(selector).trigger(\"click\");\r\n }\r\n vm.changeCertificateFile = function (selector) {\r\n angular.element(selector).trigger(\"click\");\r\n }\r\n vm.VerificationchangeCertificateFile = function (selector) {\r\n angular.element(selector).trigger(\"click\");\r\n }\r\n $scope.uploadImageFile = function (files, type) {\r\n var file = files.files[0];\r\n\r\n var rendomnumber = Math.floor(1000 + Math.random() * 9999);\r\n filename = vm.UserId+\"_ProfilePic_\" + rendomnumber +\".\"+ file.name.split(\".\")[1];\r\n var file = new File([file], filename, {type:file.type});\r\n\r\n if (file.type.indexOf(\"image/jpg\") >= 0 || file.type.indexOf(\"image/png\") >= 0\r\n || file.type.indexOf(\"image/bmp\") >= 0 || file.type.indexOf(\"image/jpeg\") >= 0) {\r\n var data = new FormData();\r\n data.append(\"files\", file);\r\n ActiveVendorUpdateService.uploadProfilePic(loggedinUser, data, token, function (res) {\r\n if (res && res.status == 201 && res.data) {\r\n vm[type] = filename;\r\n vm.imageServices(filename);\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to upload profile pic, server error\");\r\n });\r\n } else {\r\n vm.fileUploadError = \"Please upload image only as profile picture.\";\r\n }\r\n }\r\n vm.imageServices = function(img){ \r\n vm.Picture=img;\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n }\r\n else{\r\n vm.profileImg = resp.data;\r\n }\r\n console.log(vm.profileImg);\r\n }, function() {\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n });\r\n \r\n }\r\n vm.DocumentimageServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n vm.DocprofileImg[index] = resp.data;\r\n \r\n });\r\n \r\n }\r\n vm.CertificateimageServices = function(cert,index){\r\n MainService.GetImageBlob(loggedinUser, token, cert).then(function(resp) {\r\n vm.CertprofileImg[index] = resp.data;\r\n \r\n });\r\n \r\n }\r\n vm.UploadCertificateimageServices = function(cert){\r\n MainService.GetImageBlob(loggedinUser, token, cert).then(function(resp) {\r\n vm.UploadCertprofileImg = resp.data;\r\n vm.isnonindeximage = \"1\";\r\n \r\n });\r\n \r\n }\r\n vm.VerificationCertificateimageServices = function(cert,index){\r\n MainService.GetImageBlob(loggedinUser, token, cert).then(function(resp) {\r\n vm.VerificationCertprofileImg[index] = resp.data; \r\n }); \r\n }\r\n vm.VerificationUploadCertificateimageServices = function(cert){\r\n MainService.GetImageBlob(loggedinUser, token, cert).then(function(resp) {\r\n vm.VerificationUploadCertprofileImg = resp.data;\r\n vm.Verificationisnonindeximage = \"1\"; \r\n }); \r\n }\r\n\r\n //background Checks\r\n $scope.uploadBGFilenew = function (elem) {\r\n var index = (angular.element(elem).attr(\"data-index\"));\r\n var doc = vm.BGDocList[index];\r\n vm.error[doc.DocumentType] = '';\r\n var file = elem.files[0];\r\n\r\n var rendomnumber = Math.floor(1000 + Math.random() * 9999);\r\n filename = vm.UserId+\"_\"+doc.DocumentName.replace(/[^a-zA-Z0-9]/g, '') +\"_\" + rendomnumber +\".\"+ file.name.split(\".\")[1];\r\n var file = new File([file], filename, {type:file.type});\r\n\r\n if (file.type == \"application/pdf\" || file.type == \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"\r\n || file.type == \"application/msword\" || file.type.indexOf(\"image/jpg\") >= 0 || file.type.indexOf(\"image/png\") >= 0\r\n || file.type.indexOf(\"image/bmp\") >= 0 || file.type.indexOf(\"image/jpeg\") >= 0) {\r\n var data = new FormData();\r\n data.append(\"files\", file);\r\n ActiveVendorUpdateService.uploadProfilePic(loggedinUser, data, token, function (res) {\r\n if (res && res.status == 201 && res.data) {\r\n doc.DocumentPath = doc.DocumentPath = filename;\r\n doc.ThirdPartyDocumentPath = doc.ThirdPartyDocumentPath = filename;\r\n doc.DocumentName = doc.DocumentName;\r\n doc.DocumentNo = doc.DocumentNo;\r\n // doc.UpdatedOn = doc.UpdatedOn;\r\n vm.DocumentimageServices(doc.DocumentPath,index);\r\n vm.DocumentimageServices(doc.ThirdPartyDocumentPath,index);\r\n doc.editnew = false;\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"File name is invalid, unable to upload document\");\r\n });\r\n } else {\r\n vm.error[doc.DocumentType] = \"You can upload image, pdf or word document only\";\r\n }\r\n }\r\n\r\n // $scope.uploadBGFile = function (elem) {\r\n // var index = (angular.element(elem).attr(\"data-index\"));\r\n // var doc = vm.BGDocList[index];\r\n // vm.error[doc.DocumentType] = '';\r\n // var file = elem.files[0];\r\n\r\n // var rendomnumber = Math.floor(1000 + Math.random() * 9999);\r\n // filename = vm.UserId+\"_\"+doc.DocumentName.replace(/[^a-zA-Z0-9]/g, '') +\"_\" + rendomnumber +\".\"+ file.name.split(\".\")[1];\r\n // var file = new File([file], filename, {type:file.type});\r\n\r\n // if (file.type == \"application/pdf\" || file.type == \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"\r\n // || file.type == \"application/msword\" || file.type.indexOf(\"image/jpg\") >= 0 || file.type.indexOf(\"image/png\") >= 0\r\n // || file.type.indexOf(\"image/bmp\") >= 0 || file.type.indexOf(\"image/jpeg\") >= 0) {\r\n\r\n // var data = new FormData();\r\n // data.append(\"files\", file);\r\n // ActiveVendorUpdateService.uploadProfilePic(loggedinUser, data, token, function (res) {\r\n // if (res && res.status == 201 && res.data) {\r\n // doc.DocumentPath = doc.DocumentPath1 = filename;\r\n // doc.DocumentName = doc.DocumentName;\r\n // vm.DocumentimageServices(doc.DocumentPath,index);\r\n // doc.edit = false;\r\n // }\r\n // }, function (err) {\r\n // vm.showFailure(\"Failed\", \"Unable to upload document, server error\");\r\n // });\r\n // } else {\r\n // vm.error[doc.DocumentType] = \"You can upload image, pdf or word document only\";\r\n // }\r\n // }\r\n\r\n\r\n $scope.uploadCertificateFile = function (elem) {\r\n var index = (angular.element(elem).attr(\"data-index\"));\r\n // var doc = vm.BGDocList[index];\r\n var traning = vm.TrainingList[index];\r\n // vm.error[traning.CertificateName] = '';\r\n var file = elem.files[0];\r\n\r\n var rendomnumber = Math.floor(1000 + Math.random() * 9999);\r\n filename = vm.UserId+\"_TraningCertificate_\" + rendomnumber +\".\"+ file.name.split(\".\")[1];\r\n var file = new File([file], filename, {type:file.type});\r\n\r\n if (file.type == \"application/pdf\" || file.type == \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"\r\n || file.type == \"application/msword\" || file.type.indexOf(\"image/jpg\") >= 0 || file.type.indexOf(\"image/png\") >= 0\r\n || file.type.indexOf(\"image/bmp\") >= 0 || file.type.indexOf(\"image/jpeg\") >= 0) {\r\n var data = new FormData();\r\n data.append(\"files\", file);\r\n ActiveVendorUpdateService.uploadProfilePic(loggedinUser, data, token, function (res) {\r\n if (res && res.status == 201 && res.data) {\r\n vm.pathtcertificate = filename;\r\n vm.UploadCertificateimageServices(filename);\r\n if(vm.pathtcertificate){\r\n vm.tempCertificateAdd = false;\r\n }\r\n traning.TrainingCertificate = traning.TrainingCertificate = filename;\r\n traning.CertificateName = traning.CertificateName;\r\n \r\n\r\n traning.edit = false;\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to upload certificate, server error\");\r\n });\r\n } else {\r\n vm.error[traning.CertificateName] = \"You can upload image, pdf or word document only\";\r\n }\r\n }\r\n\r\n $scope.VerificationuploadCertificateFile = function (elem) {\r\n \r\n var index = (angular.element(elem).attr(\"data-index\")); \r\n var traning = vm.TrainingList[index]; \r\n var file = elem.files[0];\r\n var rendomnumber = Math.floor(1000 + Math.random() * 9999);\r\n filename = vm.UserId+\"_VerificationTraningCertificate_\" + rendomnumber +\".\"+ file.name.split(\".\")[1];\r\n var file = new File([file], filename, {type:file.type});\r\n\r\n if (file.type == \"application/pdf\" || file.type == \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"\r\n || file.type == \"application/msword\" || file.type.indexOf(\"image/jpg\") >= 0 || file.type.indexOf(\"image/png\") >= 0\r\n || file.type.indexOf(\"image/bmp\") >= 0 || file.type.indexOf(\"image/jpeg\") >= 0) {\r\n var data = new FormData();\r\n data.append(\"files\", file);\r\n ActiveVendorUpdateService.uploadProfilePic(loggedinUser, data, token, function (res) {\r\n if (res && res.status == 201 && res.data) {\r\n vm.Verificationpathtcertificate = filename;\r\n vm.VerificationUploadCertificateimageServices(filename);\r\n \r\n if(vm.Verificationpathtcertificate){\r\n vm.VerificationtempCertificateAdd = false;\r\n }\r\n traning.VerificationReportPath = traning.VerificationReportPath = filename;\r\n traning.CertificateName = traning.CertificateName;\r\n \r\n traning.edit = false;\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to upload verification doc, server error\");\r\n });\r\n } else {\r\n vm.error[traning.CertificateName] = \"You can upload image, pdf or word document only\";\r\n }\r\n }\r\n\r\n var tempPLocation = {\r\n PreferredState: \"\",\r\n PreferredCity: \"\",\r\n PreferredPincode: \"\"\r\n }\r\n vm.PreferredLocationList.push(tempPLocation);\r\n vm.AddPreferredLocation = function () {\r\n var temp = {};\r\n vm.PreferredLocationList.push(temp);\r\n }\r\n vm.DeletePreferredLocation = function (i) {\r\n vm.PreferredLocationList.splice(i, 1);\r\n }\r\n\r\n for (var i = 0; i <= 30; i++) {\r\n vm.experienceYearList.push(i);\r\n }\r\n\r\n vm.getAllSkills = function () {\r\n ActiveVendorUpdateService.getAllSkills(loggedinUser, token, function (data) {\r\n vm.AllSkillSets = data;\r\n }, vm.showFailure);\r\n }\r\n vm.getAllSkills();\r\n\r\n vm.getSkillSets = function () {\r\n var RemoveSkills = [];\r\n var remainingSkills = Array.from(vm.AllSkillSets);\r\n angular.forEach(remainingSkills, function (d) {\r\n for (var i = 0; i < vm.SkillList.length; i++) {\r\n if (d.SkillName == vm.SkillList[i].Skill) {\r\n RemoveSkills.push(d);\r\n return;\r\n }\r\n }\r\n });\r\n angular.forEach(RemoveSkills, function (s) {\r\n remainingSkills.splice(remainingSkills.indexOf(s), 1);\r\n })\r\n return remainingSkills;\r\n }\r\n\r\n vm.getTrainersSkillSets = function () {\r\n var RemoveSkills = [];\r\n var remainingSkills = Array.from(vm.AllSkillSets);\r\n angular.forEach(remainingSkills, function (d) {\r\n for (var i = 0; i < vm.TrainersDetailsList.length; i++) {\r\n for(var j=0;j= CertificateExpiryDate ){\r\n vm.showFailure(\"Expiry date should be greater than Issue Date\");\r\n vm.showTCList = false;\r\n vm.pathtcertificate = '';\r\n vm.addTraningCertificateName = '';\r\n vm.CertificateNo = ''; \r\n vm.CertificateIssueDate = moment();\r\n vm.CertificateExpiryDate = moment();\r\n vm.VerificationAgency ='';\r\n vm.Verificationpathtcertificate='';\r\n }else{\r\n var tData = {\r\n CertificateName: vm.addTraningCertificateName,\r\n TrainingCertificate: vm.pathtcertificate,\r\n CertificateNo : vm.CertificateNo,\r\n VerificationAgency : vm.VerificationAgency,\r\n CertificateIssueDate: CertificateIssueDate,\r\n CertificateExpiryDate: CertificateExpiryDate,\r\n CertificationYear: '',\r\n AssessmentLevel: '',\r\n Description : '',\r\n VerificationReportPath : vm.Verificationpathtcertificate\r\n }\r\n \r\n if(tData.CertificateName && tData.TrainingCertificate && tData.CertificateIssueDate && tData.CertificateExpiryDate ){\r\n vm.TrainingList.push(tData);\r\n vm.showTCList = false;\r\n vm.addTraningCertificateName = '';\r\n vm.CertificateNo = '';\r\n vm.VerificationAgency ='';\r\n vm.CertificateIssueDate = moment();\r\n vm.CertificateExpiryDate = moment();\r\n vm.pathtcertificate = '';\r\n vm.Verificationpathtcertificate = '';\r\n }else{\r\n vm.showTCList = false;\r\n vm.pathtcertificate = '';\r\n vm.addTraningCertificateName = '';\r\n vm.CertificateNo = '';\r\n vm.VerificationAgency ='';\r\n vm.CertificateIssueDate = moment();\r\n vm.CertificateExpiryDate = moment();\r\n vm.Verificationpathtcertificate = '';\r\n vm.showFailure(\"Warning\", \"You must select Certificate Name,CertificateIssueDate,CertificateExpiryDate & Upload File\");\r\n }\r\n }\r\n }\r\n\r\n\r\n vm.showTCList = false;\r\n vm.tempCertificateAdd = false;\r\n\r\n vm.addMoreCertificateInTable = function(){\r\n vm.showTCList = true;\r\n vm.tempCertificateAdd = true;\r\n }\r\n\r\n vm.tempCertificateAdd = false;\r\n vm.removeCertificate = function(index){\r\n vm.TrainingList.splice(index,1);\r\n }\r\n vm.removeCurrentCertificate = function () {\r\n vm.showTCList = false;\r\n vm.addTraningCertificateName = '';\r\n vm.pathtcertificate = '';\r\n }\r\n\r\n vm.getCertificateSets = function () {\r\n var RemoveCertificate = [];\r\n var remainingCertificate = Array.from(vm.AllCertificateSets);\r\n angular.forEach(remainingCertificate, function (d) {\r\n for (var i = 0; i < vm.TrainingList.length; i++) {\r\n if (d.Name == vm.TrainingList[i].CertificateName) {\r\n RemoveCertificate.push(d);\r\n return;\r\n }\r\n }\r\n });\r\n angular.forEach(RemoveCertificate, function (s) {\r\n remainingCertificate.splice(remainingCertificate.indexOf(s), 1);\r\n })\r\n return remainingCertificate;\r\n }\r\n\r\n\r\n\r\n $p.on('click', function (e) {\r\n var $current = $(e.currentTarget);\r\n var index = $p.index($current);\r\n if (index > currentIndex) {\r\n $container.addClass('forward');\r\n } else {\r\n $container.removeClass('forward');\r\n }\r\n currentIndex = index;\r\n $container.attr('data-step', index);\r\n });\r\n vm.changeStatus = function (status) {\r\n //$log.log(\"status\", status);\r\n if (status == 'Basic') {\r\n //$log.log(\"status\", status);\r\n // vm.RegistrationStatus = \"Basic Checked\";\r\n $('.referalwizard[id=\"2\"]').trigger('click', function (e) {\r\n vm.UserInfoCheck = true;\r\n var $current = $(e.currentTarget);\r\n var index = $p.index($current);\r\n if (index > currentIndex) {\r\n $container.addClass('forward');\r\n } else {\r\n $container.removeClass('forward');\r\n }\r\n currentIndex = index;\r\n $container.attr('data-step', index);\r\n });\r\n }\r\n else if (status == 'Location') {\r\n // vm.RegistrationStatus = \"Location Checked\";\r\n $('.referalwizard[id=\"3\"]').trigger('click', function (e) {\r\n vm.UserLocationCheck = true;\r\n var $current = $(e.currentTarget);\r\n var index = $p.index($current);\r\n if (index > currentIndex) {\r\n $container.addClass('forward');\r\n } else {\r\n $container.removeClass('forward');\r\n }\r\n currentIndex = index;\r\n $container.attr('data-step', index);\r\n });\r\n }\r\n else if (status == 'Document') {\r\n // vm.RegistrationStatus = \"Document Checked\";\r\n $('.referalwizard[id=\"4\"]').trigger('click', function (e) {\r\n vm.UserDocumentCheck = true;\r\n var $current = $(e.currentTarget);\r\n var index = $p.index($current);\r\n if (index > currentIndex) {\r\n $container.addClass('forward');\r\n } else {\r\n $container.removeClass('forward');\r\n }\r\n currentIndex = index;\r\n $container.attr('data-step', index);\r\n });\r\n }\r\n else if (status == 'Traning') {\r\n // vm.RegistrationStatus = \"Document Checked\";\r\n $('.referalwizard[id=\"5\"]').trigger('click', function (e) {\r\n vm.UserTraningCheck = true;\r\n var $current = $(e.currentTarget);\r\n var index = $p.index($current);\r\n if (index > currentIndex) {\r\n $container.addClass('forward');\r\n } else {\r\n $container.removeClass('forward');\r\n }\r\n currentIndex = index;\r\n $container.attr('data-step', index);\r\n });\r\n }\r\n else if (status == 'Assets') {\r\n // vm.RegistrationStatus = \"Assets Checked\";\r\n $('.referalwizard[id=\"6\"]').trigger('click', function (e) {\r\n vm.UserAvailableAssestCheck = true;\r\n var $current = $(e.currentTarget);\r\n var index = $p.index($current);\r\n if (index > currentIndex) {\r\n $container.addClass('forward');\r\n } else {\r\n $container.removeClass('forward');\r\n }\r\n currentIndex = index;\r\n $container.attr('data-step', index);\r\n });\r\n }\r\n else if (status == 'Skill') {\r\n // vm.RegistrationStatus = \"Skill Checked\";\r\n $('.referalwizard[id=\"7\"]').trigger('click', function (e) {\r\n vm.UserSkillCheck = true;\r\n vm.verifyAll = true;\r\n var $current = $(e.currentTarget);\r\n var index = $p.index($current);\r\n if (index > currentIndex) {\r\n $container.addClass('forward');\r\n } else {\r\n $container.removeClass('forward');\r\n }\r\n currentIndex = index;\r\n $container.attr('data-step', index);\r\n });\r\n }\r\n }\r\n\r\n vm.VerifyAllUserInfo = function () {\r\n vm.verifyAll = true;\r\n vm.changeStatus('Basic');\r\n vm.changeStatus('Location');\r\n vm.changeStatus(\"Document\");\r\n vm.changeStatus(\"Traning\");\r\n vm.changeStatus(\"Assets\");\r\n vm.changeStatus(\"Skill\");\r\n vm.UserInfoCheck = true;\r\n vm.UserLocationCheck = true;\r\n vm.UserDocumentCheck = true;\r\n vm.UserTraningCheck = true;\r\n vm.UserAvailableAssestCheck = true;\r\n vm.UserSkillCheck = true;\r\n\r\n // vm.UserInfoCheck == true ? vm.UserInfoCheck = false : vm.UserInfoCheck = true;\r\n // vm.UserLocationCheck == true ? vm.UserLocationCheck = false : vm.UserLocationCheck = true;\r\n // vm.UserDocumentCheck == true ? vm.UserDocumentCheck = false : vm.UserDocumentCheck = true;\r\n // vm.UserAvailableAssestCheck == true ? vm.UserAvailableAssestCheck = false : vm.UserAvailableAssestCheck = true;\r\n // vm.UserSkillCheck == true ? vm.UserSkillCheck = false : vm.UserSkillCheck = true;\r\n }\r\n vm.ApprovedAndRejectTool=function(IsApproved, index)\r\n { \r\n \r\n if(IsApproved==\"Approved\")\r\n vm.ApprovedRejectTool = \"Approved\";\r\n else\r\n vm.ApprovedRejectTool = \"Rejected\";\r\n \r\n vm.ToolsDetailList[index].VerificationStatus=vm.ApprovedRejectTool;\r\n }\r\n vm.ApprovedAndRejectCertificate=function(IsApproved, index)\r\n { \r\n if(IsApproved==\"Approved\")\r\n vm.ApprovedRejectCertificate = \"Approved\";\r\n else\r\n vm.ApprovedRejectCertificate = \"Rejected\";\r\n \r\n vm.TrainingList[index].VerificationStatus=vm.ApprovedRejectCertificate;\r\n }\r\n vm.updateUser = function () {\r\n \r\n vm.searchButtonText = 'Updating';\r\n vm.dissbleUpdateButton = true;\r\n if (vm.VendorForm.$valid) {\r\n // if(vm.UserRole==\"Head Hunter\")\r\n // {\r\n // if(vm.Aadhar =='' || vm.Aadhar == null)\r\n // {\r\n // vm.showFailure(\"Failure\", \"Please enter valid aadhar no.\");\r\n // return;\r\n // }\r\n // if(vm.PAN =='' || vm.PAN == null)\r\n // {\r\n // vm.showFailure(\"Failure\", \"Please enter valid pan card no.\");\r\n // return;\r\n // }\r\n // }\r\n var SkillSetModel = [];\r\n for (var skillIndex = 0; skillIndex < vm.SkillList.length; skillIndex++) {\r\n SkillSetModel.push(vm.SkillList[skillIndex]);\r\n }\r\n\r\n if(vm.InfraDetailsList && vm.InfraDetailsList.length > 0){\r\n var lastRecord = vm.InfraDetailsList[vm.InfraDetailsList.length-1];\r\n if(lastRecord.SpaceAvailable && lastRecord.FloorsAvailable && lastRecord.InfraLocation.Address && lastRecord.InfraLocation.Address && lastRecord.InfraLocation.City){\r\n \r\n }else{\r\n vm.InfraDetailsList.splice(vm.InfraDetailsList.length-1,1);\r\n }\r\n }\r\n if(vm.TrainersDetailsList && vm.TrainersDetailsList.length > 0){\r\n var lastRecord = vm.TrainersDetailsList[vm.TrainersDetailsList.length-1];\r\n if(lastRecord.SeatsCapacity && lastRecord.NoOfTrainers && lastRecord.TrainingLocation.Address && lastRecord.TrainingLocation.Address && lastRecord.TrainingLocation.City){\r\n \r\n }else{\r\n vm.TrainersDetailsList.splice(vm.TrainersDetailsList.length-1,1);\r\n }\r\n }\r\n // for(var i = 0; i< vm.BGDocList.length; i++){\r\n // if(vm.BGDocList[i].DocumentType == 'Id Prof'){\r\n // vm.BGDocList[i].DocumentType = 'Aadhar Card';\r\n // vm.BGDocList[i].DocumentName = vm.BGDocList[i].DocumentName;\r\n // vm.BGDocList[i].DocumentPath = vm.BGDocList[i].DocumentPath; \r\n // }\r\n // }\r\n\r\n var ToolsDetailListModel = [];\r\n angular.forEach(vm.ToolsDetailList, function (d) {\r\n ToolsDetailListModel.push({\r\n \"ToolName\": d.ToolName,\r\n \"ToolImagePath\": d.ToolImagePath,\r\n \"ToolImageBase64\": [], \r\n \"VerificationStatus\": d.VerificationStatus,\r\n \"VerificationDate\": d.VerificationDate,\r\n \"ItemSerialNumber\": d.ItemSerialNumber,\r\n \"DateOfManufacturing\": d.DateOfManufacturing\r\n });\r\n })\r\n\r\n var BGVerificationDocPathModel = [];\r\n angular.forEach(vm.BGDocList, function (d) {\r\n BGVerificationDocPathModel.push({\r\n \"DocumentType\": d.DocumentType,\r\n \"DocumentName\": d.DocumentName,\r\n \"DocumentPath\": d.DocumentPath\r\n });\r\n })\r\n if(vm.GST == \"GSTYES\"){\r\n vm.GST = true;\r\n }\r\n else{\r\n vm.CompanyGSTNO ='';\r\n vm.GST = false;\r\n }\r\n if(vm.TPI == \"TPIYES\"){\r\n vm.TPI = true;\r\n }\r\n else{\r\n vm.TPI = false;\r\n }\r\n if(vm.Supplier == \"SuppYES\"){\r\n vm.Supplier = true;\r\n }\r\n else{\r\n vm.Supplier = false;\r\n }\r\n if(vm.MSME == \"MSMEYES\"){\r\n vm.MSME = true;\r\n }\r\n else{\r\n vm.MSMECertificateNO='';\r\n vm.MSME = false;\r\n }\r\n\r\n\r\n var data = {\r\n \"UserId\": vm.UserId,\r\n \"FirstName\": vm.FirstName,\r\n \"LastName\": vm.LastName,\r\n \"Gender\": vm.Gender,\r\n \"PAN\" : vm.PAN,\r\n \"AdharNo\" : vm.Aadhar,\r\n \"DOB\": vm.DOB,\r\n \"RegistrationStatus\": vm.RegistrationStatus,\r\n \"FatherName\": vm.FatherName,\r\n \"PersonalEmail\": vm.Email,\r\n \"ContactNumber\": vm.MobileNo,\r\n \"AlternativeContactNumber\": \"\",\r\n \"CompanyName\": vm.CompanyName,\r\n \"AddressLine1\": '',\r\n \"AddressLine2\": '',\r\n \"State\": '',\r\n \"City\": '',\r\n \"PinCode\": '',\r\n \"CurAddressLine1\": vm.BaseAddressLine1,\r\n \"CurAddressLine2\": vm.BaseAddressLine2,\r\n \"CurState\": vm.BaseState,\r\n \"CurCity\": vm.BaseCity,\r\n \"CurPinCode\": vm.BasePincode,\r\n \"PerAddressLine1\": vm.AddressLine1,\r\n \"PerAddressLine2\": vm.AddressLine2,\r\n \"PerState\": vm.PermanentState,\r\n \"PerCity\": vm.PermanentCity,\r\n \"PerPinCode\": vm.PermanentPincode,\r\n \"Picture\": vm.Picture,\r\n \"UserQualification\": vm.QualificationList,\r\n \"SkillData\": SkillSetModel,\r\n // \"Locations\": vm.PreferredLocation,\r\n // \"Expertise\": vm.Expertise,\r\n // \"BGVerificationStatus\": vm.BGVerificationStatus,\r\n \"TrainingAssessment\": vm.TrainingList,\r\n \"BGVerificationDocPath\": BGVerificationDocPathModel,\r\n \"VerificationsRemarks\": null,\r\n \"IsBasicVerified\": vm.UserInfoCheck,\r\n \"IsLocVerified\": vm.UserLocationCheck,\r\n \"IsDocsVerified\": vm.UserDocumentCheck,\r\n \"IsCertificationVerified\" : vm.UserTraningCheck,\r\n \"IsAssetsVerified\": vm.UserAvailableAssestCheck,\r\n \"IsSkillsVerified\": vm.UserSkillCheck,\r\n \"IsMobileAvailable\": vm.Asset_Mobile,\r\n \"IsLaptopAvailable\": vm.Asset_Laptop,\r\n \"IsBikeAvailable\": vm.Asset_Bike,\r\n \"Tools\": vm.Asset_Tools,\r\n \"TeamSize\": vm.TeamSize,\r\n \"Locations\":vm.Work_Location,\r\n \"InfraDetailsList\": vm.InfraDetailsList,\r\n \"TrainersDetailsList\" : vm.TrainersDetailsList,\r\n \"CoverageDistance\" : parseFloat(vm.CoverageDistance),\r\n \"CompanyRegistrationNumber\" : vm.CompanyRegisterration,\r\n \"IsGSTCertified\":vm.GST,\r\n \"GSTCertificateNumber\":vm.CompanyGSTNO,\r\n \"IsMSMECertified\":vm.MSME,\r\n \"MSMECertificateNumber\" :vm.MSMECertificateNO,\r\n \"IsPartnerThirdPartyInternediary\":vm.TPI,\r\n \"IsPartnerIncludeAntiCorruptionClause\" :vm.Supplier,\r\n \"ToolsDetailList\": ToolsDetailListModel,\r\n \"Experience\" : vm.UserExperience,\r\n \"Designation\" : vm.Designation\r\n \r\n }\r\n\r\n ActiveVendorUpdateService.updateuUser(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 202) {\r\n vm.showSuccess(\"Registration Status\", \"User Updated Successfully.\");\r\n $timeout(function () {\r\n $state.go(\"index.NewTalentPool\", {\r\n type:'Vendor', \r\n reload: true });\r\n }, 2000);\r\n } else if (resp.data && resp.data.Message) {\r\n \r\n vm.showFailure(\"Registration Status\", resp.data.Message);\r\n } else {\r\n vm.showFailure(\"Registration Status\", \"User could not be updated, server is not responding correctly.\");\r\n }\r\n }, function (error) {\r\n vm.showFailure(\"Registration Status\", \"User could not be updated, server is not responding correctly.\");\r\n });\r\n\r\n }\r\n else {\r\n vm.VendorForm.submitted = true;\r\n vm.searchButtonText = 'Update';\r\n vm.showFailure(\"Failed\", \"Please enter correct details.\");\r\n vm.dissbleUpdateButton = false;\r\n }\r\n }\r\n\r\n vm.markActive = function () {\r\n if(vm.SkillList.length > 0 && vm.SkillList != null){\r\n\r\n if((vm.BGDocList[1] && vm.BGDocList[1].DocumentPath!=null && vm.BGDocList[1].DocumentPath.length>0) && \r\n \r\n vm.BGDocList[0] && vm.BGDocList[0].DocumentPath!=null && vm.BGDocList[0].DocumentPath.length>0 \r\n // &&\r\n // vm.BGDocList[2] && vm.BGDocList[2].DocumentPath!=null && vm.BGDocList[2].DocumentPath.length>0 && \r\n // vm.BGDocList[6] && vm.BGDocList[6].DocumentPath!=null && vm.BGDocList[6].DocumentPath.length>0\r\n ){\r\n vm.RegistrationStatus = 'Active';\r\n vm.updateUser();\r\n }\r\n else {\r\n \r\n if(vm.BGDocList[0].DocumentPath==''){\r\n vm.showFailure(\"Failed\", \"Please Upload Aadhar Card \");\r\n }else if(vm.BGDocList[1].DocumentPath==''){\r\n vm.showFailure(\"Failed\", \"Please upload Address Proof details\");\r\n }\r\n // else if(vm.BGDocList[2].DocumentPath==''){\r\n // vm.showFailure(\"Failed\", \"Please upload Pan Card details\");\r\n // }else if(vm.BGDocList[6].DocumentPath==''){\r\n // vm.showFailure(\"Failed\", \"Please upload Cancelled Cheque\");\r\n // }\r\n }\r\n }else{\r\n vm.showFailure(\"Failed\", \"Please enter at least one skill\");\r\n }\r\n \r\n \r\n }\r\n \r\n\r\n\r\n vm.CircleList = [];\r\n vm.GetAllCircles = function () {\r\n ActiveVendorUpdateService.getStates(loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length > 0) {\r\n vm.CircleList = resp.data;\r\n }\r\n }\r\n });\r\n }\r\n vm.UserAciveDeactive = function()\r\n { \r\n ActiveVendorUpdateService.UserAciveDeactive(loggedinUser, vm.UserId, token).then(function (resp) {\r\n if(resp.status == 202)\r\n { \t\t\t\r\n vm.showSuccess(\"Success\", \"User has been \"+ resp.data +\" successfully\");\r\n } \r\n });\r\n }\r\n vm.OpenPdfModal= function(PdfPathName)\r\n\t\t{\r\n vm.IsLoadSucessfull=false;\t\r\n MainService.GetImageBlob(loggedinUser, token, PdfPathName).then(function(resp) { \r\n vm.ConvertBase64ToBlob(resp.data);\r\n vm.IsLoadSucessfull=true;\t\r\n });\r\n\t\t\tjobAppointmentModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'SiteAuditPDFView.html',\r\n\t\t\t\tsize :'lg',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t\twindowClass: 'zindex'\r\n\t\t\t\t\r\n\t\t\t});\r\n\t\t}\r\n\t vm.SiteAuditPDFUserModal = function(){\r\n\t\tjobAppointmentModal.close();\r\n\t }\r\n\t\r\n\tvm.ConvertBase64ToBlob = function(response)\r\n\t{\r\n vm.Auditpdf=\"\";\r\n\t\tif(response !=null){\r\n\t\t\tvar arrrayBuffer = base64ToArrayBuffer(response); //data is the base64 encoded string\r\n\t\t\tvar blob = new Blob([arrrayBuffer], {type: \"application/pdf\"});\r\n\t\t\tvm.Auditpdf = URL.createObjectURL(blob);\t\t\t\t\r\n\t\t\tvm.IsLoadSucessfull=true;\r\n\t\t}\r\n\t\telse{\r\n\t\t\tvm.DocumentAvailableMessage=\"Document is not available\";\r\n\t\t\tvm.IsLoadSucessfull=true;\r\n\t\t}\r\n\t}\r\n\tfunction base64ToArrayBuffer(base64) \r\n\t{\r\n\t\tvar ret = base64.replace('data:application/pdf;base64,','');\r\n\t\t\tvar binaryString = atob(ret);\r\n\t\t\tvar binaryLen = binaryString.length;\r\n\t\t\tvar bytes = new Uint8Array(binaryLen);\r\n\t\t\tfor (var i = 0; i < binaryLen; i++) {\r\n\t\t\tvar ascii = binaryString.charCodeAt(i);\r\n\t\t\tbytes[i] = ascii;\r\n\t\t\t}\r\n\t\t\treturn bytes;\r\n\t}\r\n vm.OpenSiteAuditModal = function () \r\n { \r\n siteAuditModalInstance = $uibModal.open({\r\n templateUrl: 'site_audit_model.html',\r\n scope: $scope\r\n }); \r\n }\r\n vm.SiteAuditCloseModal = function () {\r\n siteAuditModalInstance.close();\r\n }\r\n $scope.attachSiteAudit = function(files){ \r\n vm.ToolAuditFileName=\"\";\r\n var file = files.files[0];\r\n vm.ToolAuditFileName=file.name;\r\n // if(vm.ToolAuditFileName!=\"\") \r\n // { \r\n // $timeout(function () {\r\n // vm.SiteAuditMessage=\"\"; \r\n // }, 100); \r\n // } \r\n vm.ToolAuditFiles = files.files;\r\n var allowedExtensions = /(\\.pdf|\\.doc|\\.docx|\\.xls|\\.xlsx|\\.PDF|\\.DOC|\\.DOCX|\\.XLS|\\.XLSX|\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png)$/i; \r\n if(!allowedExtensions.exec(file.name)){\r\n vm.ToolAuditFiles = [];\r\n vm.clear(); \r\n alert('Please upload file having extensions .pdf,.doc,.docs,.xls,.xlsx,.png,.jpeg,.jpg only.');\r\n }\r\n }\r\n \r\n vm.clear = function () {\r\n angular.element(\"input[type='file']\").val(null);\r\n }; \r\n \r\n vm.SiteRescheduleAudit = function(){\r\n // if(vm.ToolAuditFileName==\"\") \r\n // return vm.SiteAuditMessage=\"Please Select Audit Report\";\r\n // else\r\n // vm.SiteAuditMessage=\"\";\r\n\r\n var data = {};\r\n data = { \r\n \"AuditResult\": vm.SiteAuditModel, \r\n \"AuditObjectId\": vm.UserId,\r\n \"AuditAttachmentName\": vm.ToolAuditFileName,\r\n \"AuditFor\": \"User\",\r\n \"AuditPurpose\": \"Tools\" \r\n } \r\n siteAuditModalInstance.close(); \r\n ActiveVendorUpdateService.AddToolAuditwithAttachment(data, vm.ToolAuditFiles, token, loggedinUser).then(function(res){\r\n if (res && res.status == 202) { \r\n vm.showSuccess(\"Success\", \"Tool Audit Saved successfully.\");\r\n $timeout(function () {\r\n vm.ToolAuditFileName=\"\";\r\n vm.GetUserByRegistrationNo();\r\n \r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to add tool audit. Server is not responding correctly.\");\r\n }\r\n },vm.showFailure);\r\n }\r\n ////Exprience Audit\r\n \r\n vm.OpenExperienceAuditModal = function () \r\n { \r\n experienceAuditModalInstance = $uibModal.open({\r\n templateUrl: 'experience_audit_model.html',\r\n scope: $scope\r\n }); \r\n }\r\n vm.ExperienceAuditCloseModal = function () {\r\n experienceAuditModalInstance.close();\r\n }\r\n $scope.attachExperienceAudit = function(files){\r\n \r\n vm.ExperienceAuditFileName=\"\";\r\n var file = files.files[0];\r\n vm.ExperienceAuditFileName=file.name;\r\n if(vm.ExperienceAuditFileName!=\"\") \r\n { \r\n $timeout(function () {\r\n vm.ExperienceAuditMessage=\"\"; \r\n }, 100); \r\n } \r\n vm.ExperienceAuditFiles = files.files;\r\n var allowedExtensions = /(\\.pdf|\\.doc|\\.docx|\\.xls|\\.xlsx|\\.jpg|\\.jpeg|\\.png|\\.PDF|\\.DOC|\\.DOCX|\\.XLS|\\.XLSX|\\.JPG|\\.JPEG|\\.PNG)$/i; \r\n if(!allowedExtensions.exec(file.name)){ \r\n vm.ExperienceAuditFiles=[]; \r\n vm.clear(); \r\n alert('Please upload file having extensions .jpg,.jpeg,.png,.pdf,.doc,.docs,.xls,.xlsx only.');\r\n }\r\n }\r\n \r\n vm.clear = function () {\r\n angular.element(\"input[type='file']\").val(null);\r\n }; \r\n \r\n vm.ExperienceAuditSave = function(){ \r\n if(vm.ExperienceAuditFileName==\"\") \r\n return vm.ExperienceAuditMessage=\"Please Select Audit Report\";\r\n else\r\n vm.ExperienceAuditMessage=\"\";\r\n\r\n var data = {};\r\n data = { \r\n \"AuditResult\": vm.ExperienceAuditModel, \r\n \"AuditObjectId\": vm.UserId,\r\n \"AuditAttachmentName\": vm.ExperienceAuditFileName,\r\n \"AuditFor\": \"User\",\r\n \"AuditPurpose\": \"Previous Company\" \r\n } \r\n experienceAuditModalInstance.close(); \r\n ActiveVendorUpdateService.AddToolAuditwithAttachment(data, vm.ExperienceAuditFiles, token, loggedinUser).then(function(res){\r\n if (res && res.status == 202) { \r\n vm.ExperienceAuditFileName=\"\"; \r\n vm.showSuccess(\"Success\", \"Experience varification details saved successfully.\");\r\n $timeout(function () {\r\n vm.GetUserByRegistrationNo();\r\n \r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to add experience varification details. Server is not responding correctly.\");\r\n }\r\n },vm.showFailure);\r\n }\r\n \r\n /* Start Training Audit */\r\n vm.OpenTrainingAuditModal = function () \r\n { \r\n TrainingAuditModalInstance = $uibModal.open({\r\n templateUrl: 'Training_audit_model.html',\r\n scope: $scope\r\n }); \r\n }\r\n vm.TrainingAuditCloseModal = function () {\r\n TrainingAuditModalInstance.close();\r\n }\r\n vm.TrainingImageFileName=\"\";\r\n vm.TrainingAttendanceFileName=\"\";\r\n $scope.attachTrainingImage = function(files){ \r\n \r\n vm.TrainingImageFileName=\"\";\r\n var file = files.files[0];\r\n vm.TrainingImageFileName=file.name; \r\n vm.TrainingImageFiles = files.files;\r\n var allowedExtensions = /(\\.pdf|\\.doc|\\.docx|\\.xls|\\.xlsx|\\.jpg|\\.jpeg|\\.png|\\.PDF|\\.DOC|\\.DOCX|\\.XLS|\\.XLSX|\\.JPG|\\.JPEG|\\.PNG)$/i; \r\n if(!allowedExtensions.exec(file.name)){ \r\n vm.TrainingImageFiles = []; \r\n vm.clear(); \r\n alert('Please upload file having extensions .jpg,.pdf,.doc,.docs,.xls,.xlsx only.');\r\n }\r\n }\r\n $scope.attachTrainingAttendance = function(files){ \r\n \r\n vm.TrainingAttendanceFileName=\"\";\r\n var file = files.files[0];\r\n vm.TrainingAttendanceFileName=file.name; \r\n vm.TrainingAttendanceFiles = files.files;\r\n var allowedExtensions = /(\\.pdf|\\.doc|\\.docx|\\.xls|\\.xlsx|\\.jpg|\\.jpeg|\\.png|\\.PDF|\\.DOC|\\.DOCX|\\.XLS|\\.XLSX|\\.JPG|\\.JPEG|\\.PNG)$/i; \r\n if(!allowedExtensions.exec(file.name)){ \r\n vm.TrainingAttendanceFiles = []; \r\n vm.clear(); \r\n alert('Please upload file having extensions jpg,.pdf,.doc,.docs,.xls,.xlsx only.');\r\n }\r\n }\r\n \r\n vm.clear = function () {\r\n angular.element(\"input[type='file']\").val(null);\r\n }; \r\n \r\n vm.TrainingAuditSave = function(){ \r\n var modelDate= $filter('date')(new Date(vm.TrainingDate),'yyyy-MM-dd');\r\n var currentDate=$filter('date')(new Date(),'yyyy-MM-dd');\r\n if(modelDate>currentDate)\r\n {\r\n vm.showFailure(\"Failed\",\"You can't be select future date\");\r\n return\r\n } \r\n var data = {};\r\n data = {\r\n \"UserId\":vm.UserId,\r\n \"TrainingNo\":\"\",\r\n \"TrainingName\": vm.TrainingName,\r\n \"TrainingDate\": $filter('date')(new Date(vm.TrainingDate),'yyyy-MM-ddThh:mm:ss'),\r\n \"TrainingExpireDate\": \"0001-01-01T00:00:00\",\r\n \"TrainingImage\": vm.TrainingImageFileName,\r\n \"TrainingAttendance\": vm.TrainingAttendanceFileName\r\n } \r\n TrainingAuditModalInstance.close(); \r\n ActiveVendorUpdateService.PostMediaFileWithTrainingObject(data, vm.TrainingImageFiles, vm.TrainingAttendanceFiles, token, loggedinUser).then(function(res){\r\n if (res && res.status == 202) { \r\n vm.TrainingAuditFileName=\"\"; \r\n vm.TrainingName=\"\"; \r\n vm.showSuccess(\"Success\", \"Training details Saved successfully.\");\r\n $timeout(function () {\r\n vm.GetUserByRegistrationNo();\r\n \r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to add training details. Server is not responding correctly.\");\r\n }\r\n },vm.showFailure);\r\n }\r\n /* End Training Audit */\r\n vm.getFileType = function(url){\r\n if(url==null || url==\"\")\r\n {\r\n return \"others\";\r\n }\r\n else{\r\n if(url.indexOf(\".jpg\")>=0 || url.indexOf(\".jpeg\")>=0 ||url.indexOf(\".png\")>=0 || url.indexOf(\".JPG\")>=0 || url.indexOf(\".JPEG\")>=0 || url.indexOf(\".PNG\")>=0){\r\n return \"Image\";\r\n } else if(url.indexOf(\".xls\")>=0 || url.indexOf(\".xlsx\")>=0 ||url.indexOf(\".XLS\")>=0 || url.indexOf(\".XLSX\")>=0){\r\n return \"xls\";\r\n } else if(url.indexOf(\".pdf\")>=0 || url.indexOf(\".PDF\")>=0){\r\n return \"pdf\";\r\n } else if(url.indexOf(\".doc\")>=0 || url.indexOf(\".docx\")>=0 || url.indexOf(\".DOC\")>=0 || url.indexOf(\".DOCX\")>=0){\r\n return \"doc\";\r\n } else {\r\n return \"others\";\r\n }\r\n }\r\n }\r\n vm.WordDownloadtoView = function (page) { \r\n MainService.GetImageBlob(loggedinUser, token, page).then(function(resp) {\r\n window.location.href = resp.data;\r\n }); \r\n \r\n }\r\n\r\n ////Start Criminal Audit \r\n vm.OpenCriminalAuditModal = function () \r\n { \r\n CriminalAuditModalInstance = $uibModal.open({\r\n templateUrl: 'criminal_audit_model.html',\r\n scope: $scope\r\n }); \r\n }\r\n vm.CriminalAuditCloseModal = function () {\r\n CriminalAuditModalInstance.close();\r\n }\r\n \r\n $scope.attachCriminalAudit = function(files){\r\n \r\n vm.CriminalAuditFileName=\"\";\r\n var file = files.files[0];\r\n vm.CriminalAuditFileName=file.name;\r\n \r\n vm.CriminalAuditFiles = files.files;\r\n var allowedExtensions = /(\\.pdf|\\.doc|\\.docx|\\.xls|\\.xlsx|\\.jpg|\\.jpeg|\\.png|\\.PDF|\\.DOC|\\.DOCX|\\.XLS|\\.XLSX|\\.JPG|\\.JPEG|\\.PNG)$/i; \r\n if(!allowedExtensions.exec(file.name)){ \r\n vm.CriminalAuditFiles=[]; \r\n vm.clear(); \r\n alert('Please upload file having extensions .jpg,.jpeg,.png,.pdf,.doc,.docs,.xls,.xlsx only.');\r\n }\r\n }\r\n\r\n vm.clear = function () {\r\n angular.element(\"input[type='file']\").val(null);\r\n }; \r\n \r\n vm.CriminalAuditSave = function(){\r\n \r\n var data = {};\r\n data = {\r\n \"UserId\": vm.UserId,\r\n \"DocumentNo\": vm.DocumentNo,\r\n \"VerificationAuthority\": vm.VerificationAuthority,\r\n \"verificationStatus\": vm.CriminalAuditModel,\r\n \"verificationReport\": vm.CriminalAuditFileName \r\n } \r\n CriminalAuditModalInstance.close(); \r\n ActiveVendorUpdateService.AddCriminalVerificationwithAttachment(data, vm.CriminalAuditFiles, token, loggedinUser).then(function(res){\r\n if (res && res.status == 202) { \r\n vm.CriminalAuditFileName=\"\"; \r\n vm.DocumentNo=\"\"; \r\n vm.VerificationAuthority=\"\" \r\n vm.showSuccess(\"Success\", \"Criminal varification details saved successfully.\");\r\n $timeout(function () {\r\n vm.GetUserByRegistrationNo();\r\n \r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to add Criminal varification details. Server is not responding correctly.\");\r\n }\r\n },vm.showFailure);\r\n }\r\n \r\n ////End Criminal Audit\r\n\r\n }\r\n $(function() {\r\n $('#GSTSelector').change(function(){\r\n $('.colors').hide();\r\n $('#' + $(this).val()).show();\r\n });\r\n });\r\n $(function() {\r\n $('#TPISelector').change(function(){\r\n $('.TPI').hide();\r\n $('#' + $(this).val()).show();\r\n });\r\n });\r\n $(function() {\r\n $('#MSMESelector').change(function(){\r\n $('.MSME').hide();\r\n $('#' + $(this).val()).show();\r\n });\r\n });\r\n \r\n});\r\n\r\nfunction CheckRegExOnKeyPress(e) {\r\n \r\n var regex = new RegExp(\"^[a-zA-Z0-9\\\\s\\\\.\\\\,\\\\-\\\\/]+$\");\r\n var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);\r\n if (regex.test(str)) {\r\n return true;\r\n }\r\n e.preventDefault();\r\n return false;\r\n};\r\nfunction CheckRegExOnKeyPressCertificate(e) {\r\n \r\n var regex = new RegExp(\"^[a-zA-Z0-9\\\\s\\\\.\\\\-\\\\\\\\]+$\");\r\n var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);\r\n if (regex.test(str)) {\r\n return true;\r\n }\r\n e.preventDefault();\r\n return false;\r\n};\nangular.module('inspinia').service('AdvancedDashboardService', function (ApiURL, PublicApiURL, $log, $http, DashboardURL, ActivityURL) {\r\n \r\n var vm = this;\r\n\r\n vm.setShowSuccess = function (success) {\r\n vm.showSuccess = success;\r\n }\r\n\r\n vm.setShowFailure = function (failure) {\r\n vm.showFailure = failure;\r\n }\r\n \r\n vm.getDashboard = function (loggedinUser, dashbardName, token, callback) {\r\n $http.get(DashboardURL+'/api/Dashboard/'+loggedinUser+'/'+ dashbardName + '/GetDashboardByName', {\r\n headers: {'Token': token, 'UserId': loggedinUser}\r\n }).then(function(res){\r\n if (callback) {\r\n callback(res.data);\r\n }\r\n })\r\n }\r\n\r\n vm.getChart = function (loggedinUser, chartType, metrics, dimensions, token, callback) {\r\n $http.get(DashboardURL + '/api/Chart?ReqUserId=' + loggedinUser + '&ChartType=' + chartType + '&Metrics=' + metrics + '&DimensionList=' + dimensions + '&RollsUP=null', {\r\n headers: {'Token': token, 'UserId': loggedinUser}\r\n }).then(function (res) {\r\n if (callback && (res.status == 200)) {\r\n callback(res.data);\r\n }\r\n })\r\n }\r\n\r\n this.getSkills = function (loggedinUser, token, callback, failure) {\r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json', 'Token': token,'UserId': loggedinUser } }).then(function (res) {\r\n if(callback){\r\n callback(res.data);\r\n }\r\n }, function () {\r\n failure(\"skills\", \"Unable to get skills\");\r\n });\r\n }\r\n\r\n\r\n this.getAccounts = function (loggedinUser, token, callback, failure) {\r\n var url = ApiURL + '/api/account/GetAllAccountsMiniModel';\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json', 'Token': token,'UserId': loggedinUser } }).then(function (res) {\r\n if(callback){\r\n callback(res.data);\r\n }\r\n }, function () {\r\n failure(\"skills\", \"Unable to get accounts\");\r\n });\r\n }\r\n\r\n\r\n this.getBusinessUnits = function (loggedinUser, token, callback, failure) {\r\n var url = ApiURL + '/api/accountConfig/GetAllEnterpriseType';\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json', 'Token': token,'UserId': loggedinUser } }).then(function (res) {\r\n if(callback){\r\n callback(res.data);\r\n }\r\n }, function () {\r\n failure(\"skills\", \"Unable to get business units\");\r\n });\r\n }\r\n\r\n\r\n this.getAllState = function (loggedInUserId, token) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllStates';\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedInUserId \r\n } \r\n });\r\n }\r\n\r\n this.getDistrictsByState = function (loggedinUser, token, state, callback, failure) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+state;\r\n return $http.get(url, { headers: { 'Content-Type': 'application/json',\r\n 'Token': token, 'UserId': loggedinUser }}).then(function (res) {\r\n callback(res.data.values);\r\n }, function () {\r\n failure(\"states\", \"Unable to get district\");\r\n });\r\n }\r\n\r\n this.getCitiesByState = function (loggedinUser, token, state) {\r\n var url = ApiURL + '/api/TerritoryMaster/GetAllCities?State='+state;\r\n return $http.get(url, {\r\n headers: { \r\n 'ContentType': 'application/json', \r\n 'Token':token, \r\n 'UserId':loggedinUser \r\n } \r\n });\r\n }\r\n\r\n vm.getChart1 = function (loggedinUser, token, chartType, metrics, dimensions, rollUp, filterKeys, filterValues,chartName,isData,total, callback) {\r\n //$log.log(\"in service\", DashboardURL + '/api/Chart?ReqUserId=' + loggedinUser + '&ChartType=' + chartType + '&Metrics=' + metrics + '&DimensionList=' + dimensions + '&RollsUP='+rollUp+\"&FilterKeys=\"+filterKeys+\"&FilterValues=\"+filterValues);\r\n $http.get(DashboardURL + '/api/Chart?ReqUserId=' + loggedinUser + '&ChartType=' + chartType + '&Metrics=' + metrics + '&DimensionList=' + dimensions + '&RollsUP='+encodeURI(rollUp)+\"&FilterKeys=\"+filterKeys+\"&FilterValues=\"+filterValues+\"&isData=\"+isData+\"&total=\"+total, {headers:{'Token': token, 'UserId': loggedinUser}}).then(function (res) {\r\n if (callback) {\r\n res.data['chartName'] = chartName;\r\n callback(res.data);\r\n }\r\n });\r\n }\r\n\r\n});\nangular.module('inspinia').controller('AdvancedDashboardController', function ($state, $stateParams, DTColumnBuilder, $q,$compile, $scope, AdvancedDashboardService, CentralHelpdeskConfigService, $stateParams, $q, $log, $localStorage, DTOptionsBuilder, DTColumnDefBuilder, ReportService, $timeout) {\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var loggedinUserRole = $localStorage.loggedInUser_Role;\r\n vm.matrixName = '';\r\n\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n } else {\r\n var token = $localStorage.token;\r\n vm.accountConfig = $localStorage.accountConfig;\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.getAccountConfigSetting = $scope.$parent.$parent.main.getAccountConfigSetting;\r\n AdvancedDashboardService.setShowSuccess($scope.$parent.$parent.main.showSuccess);\r\n AdvancedDashboardService.setShowFailure($scope.$parent.$parent.main.showFailure);\r\n vm.dashboard_data = {};\r\n vm.metricsCharts = {};\r\n vm.tableCharts = {};\r\n vm.lineCharts = {};\r\n vm.pieCharts = {};\r\n vm.barCharts = {};\r\n vm.stackedCharts ={};\r\n vm.gaugeCharts ={};\r\n vm.deepLink = {};\r\n vm.selectDimension = {};\r\n vm.states = [];\r\n var start_date = '';\r\n vm.BusinessUnit = '';\r\n vm.State = '';\r\n vm.Skill = '';\r\n vm.Account = '';\r\n vm.filterKeys = '';\r\n vm.filterValues = '';\r\n var thisFiscalStart = '';\r\n var thisFiscalEnd = '';\r\n var intialLoad = true;\r\n vm.districts = [];\r\n vm.District = '';\r\n //vm.enableFilter = false;\r\n vm.filters = [];\r\n var total = 'Total';\r\n\r\n if (moment().quarter() === 2) {\r\n thisFiscalStart = moment().month('April').startOf('month');\r\n thisFiscalEnd = moment().add(1, 'year').month('March').endOf('month');\r\n } else {\r\n thisFiscalStart = moment().subtract(1, 'year').month('April').startOf('month');\r\n thisFiscalEnd = moment().month('March').endOf('month');\r\n };\r\n\r\n $scope.ranges = {\r\n 'Today': [moment(), moment()], \r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')], \r\n 'Payment week': [moment().startOf('week').isoWeekday(1), moment().endOf('week').isoWeekday(0)], \r\n // 'Last week': [moment().subtract(1, 'weeks').startOf('week').isoWeekday(1), moment().subtract(1, 'weeks').endOf('week').isoWeekday(0)], \r\n 'This week': [moment().startOf('week'), moment().endOf('week')], \r\n 'Last week': [moment().subtract(1, 'weeks').startOf('week'), moment().subtract(1, 'weeks').endOf('week')], \r\n 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n 'Last month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')],\r\n // 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This quater': [moment().startOf('quarter'), moment().endOf('quarter')],\r\n 'Last quater': [moment().subtract(1, 'quarters').startOf('quarter'), moment().subtract(1, 'quarters').endOf('quarter')], \r\n 'This year': [thisFiscalStart, thisFiscalEnd], \r\n 'Till now': [moment().subtract(5, 'years'), moment()]\r\n };\r\n\r\n vm.IsDashboardFilterCheckRun = false;\r\n vm.DateRangeSelectedKey = \"Yesterday\";\r\n vm.ActualSelectedKey = 'Today';\r\n $scope.dateRangeChange = function(ev, picker){\r\n if (picker.chosenLabel == 'Today') {\r\n vm.DateRangeSelectedKey = 'Yesterday';\r\n vm.ActualSelectedKey = 'Today';\r\n } else if (picker.chosenLabel == 'This week') {\r\n vm.DateRangeSelectedKey = 'Last Week';\r\n vm.ActualSelectedKey = 'This Week';\r\n } else if (picker.chosenLabel == 'This month') {\r\n vm.DateRangeSelectedKey = 'Last Month';\r\n vm.ActualSelectedKey = 'This Month';\r\n } else {\r\n vm.DateRangeSelectedKey = picker.chosenLabel;\r\n }\r\n var startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n var endDate = picker.endDate.format(\"YYYY-MM-DD\"); \r\n vm.rollup = \"Range(\"+startDate+\"|\"+endDate+\")\";\r\n vm.tableCharts = {};\r\n vm.loadSpecificDashboard($stateParams.name);\r\n intialLoad = false;\r\n };\r\n\r\n// $scope.dateRangeChange = function(ev, picker){\r\n// var startDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n// var endDate = picker.endDate.format(\"YYYY-MM-DD\"); \r\n \r\n// var duration = picker.endDate.diff(picker.startDate, 'days');\r\n// vm.Age = duration;\r\n// vm.rollup = \"Range(\"+startDate+\"|\"+endDate+\")\";\r\n// vm.tableCharts = {};\r\n// if(vm.Age <= 31) {\r\n// vm.loadSpecificDashboard($stateParams.name);\r\n// intialLoad = false;\r\n// }\r\n// else {\r\n// // vm.showFailure(\"Please Select date range within 30 days\");\r\n// alert(\"Please Select date range within 30 days\");\r\n// }\r\n\r\n// };\r\n \r\n $scope.dates = { startDate: thisFiscalStart, endDate: thisFiscalEnd};\r\n vm.rollup = \"Range(\"+thisFiscalStart.format(\"YYYY-MM-DD\")+\"|\"+thisFiscalEnd.format(\"YYYY-MM-DD\")+\")\";\r\n\r\n vm.getSkills = function () {\r\n AdvancedDashboardService.getSkills(loggedinUser, token, function (skills) {\r\n vm.skills = skills; \r\n }, vm.showFailure);\r\n } \r\n vm.getSkills();\r\n\r\n vm.getAccounts = function () {\r\n if(loggedinUserRole == \"Dispatch Manager\")\r\n {\r\n CentralHelpdeskConfigService.getAllAccounts(loggedinUser, token).then(function (resp) { \r\n if (resp && resp.data && resp.status==200) {\r\n vm.accounts = resp.data; \r\n } \r\n }, vm.showFailure);\r\n }\r\n else\r\n {\r\n AdvancedDashboardService.getAccounts(loggedinUser, token, function (accounts) {\r\n vm.accounts = accounts; \r\n }, vm.showFailure);\r\n } \r\n } \r\n vm.getAccounts();\r\n\r\n\r\n vm.updateDefaultDateFilter = function( dasahboardFilter){ \r\n if(intialLoad){ \r\n var startDate = '';\r\n var endDate = '';\r\n if(dasahboardFilter && dasahboardFilter.DefaultDateFilter)\r\n { \r\n startDate = $scope.ranges[dasahboardFilter.DefaultDateFilter][0];\r\n endDate = $scope.ranges[dasahboardFilter.DefaultDateFilter][1]; \r\n $scope.dates = { startDate: startDate, endDate: endDate};\r\n $scope.$broadcast('update.daterangepicker', {date: $scope.dates});\r\n vm.rollup = \"Range(\"+startDate.format(\"YYYY-MM-DD\")+\"|\"+endDate.format(\"YYYY-MM-DD\")+\")\"; \r\n }\r\n }\r\n }\r\n\r\n vm.getBusinessUnits = function () {\r\n AdvancedDashboardService.getBusinessUnits(loggedinUser, token, function (businessUnits) {\r\n vm.businessUnits = businessUnits; \r\n }, vm.showFailure);\r\n } \r\n vm.getBusinessUnits();\r\n\r\n vm.getStates = function () {\r\n AdvancedDashboardService.getAllState(loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length > 0) {\r\n vm.states = resp.data;\r\n }\r\n }\r\n });\r\n }\r\n vm.getStates();\r\n\r\n vm.getDistrictByState = function () {\r\n AdvancedDashboardService.getDistrictsByState(loggedinUser, token, vm.State, function (districts) {\r\n vm.districts = districts; \r\n }, vm.showFailure);\r\n }\r\n\r\n vm.getCitiesByState = function () {\r\n AdvancedDashboardService.getCitiesByState(loggedinUser, token, vm.State).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length > 0) {\r\n vm.districts = resp.data;\r\n }\r\n }\r\n });\r\n }\r\n // vm.getCitiesByState();\r\n\r\n vm.Allapplyfilter = function(){\r\n vm.filterKeys = '';\r\n vm.filterValues = '';\r\n prepareFilters('BusinessUnit', vm.BusinessUnit);\r\n prepareFilters('AccountName', vm.Account);\r\n prepareFilters('Skill', vm.Skill);\r\n prepareFilters('State', vm.State);\r\n prepareFilters('City', vm.District);\r\n vm.tableCharts = {};\r\n vm.loadSpecificDashboard($stateParams.name); \r\n }\r\n\r\n var prepareFilters = function(filterkey, filervalue){ \r\n if(filervalue)\r\n {\r\n if(vm.filterKeys)\r\n {\r\n vm.filterKeys = vm.filterKeys + ',' + filterkey;\r\n vm.filterValues = vm.filterValues + ',' + filervalue;\r\n }\r\n else\r\n {\r\n vm.filterKeys = filterkey;\r\n vm.filterValues = filervalue;\r\n\r\n }\r\n }\r\n }\r\n\r\n vm.ResetFilter = function(){\r\n vm.filterKeys = '';\r\n vm.filterValues = '';\r\n vm.BusinessUnit = '';\r\n vm.Account = '';\r\n vm.Skill = '';\r\n vm.State = '';\r\n vm.District = '';\r\n vm.tableCharts = {};\r\n vm.loadSpecificDashboard($stateParams.name);\r\n }\r\n\r\n\r\n\r\n vm.getChart = function (chartId, chartType, metrics, dimensions, subtitle, YAxis, rollup) {\r\n vm.selectDimension[chartId] = {};\r\n AdvancedDashboardService.getChart1(loggedinUser, token, chartType, metrics, dimensions, rollup, vm.filterKeys, vm.filterValues,\"\",false, total, vm.createCallback(null, [function (data) {\r\n if (chartType == 'Metrics' || chartType == 'OneServMetrics' || chartType == 'metricscompare') {\r\n vm.metricsCharts[chartId] = {};\r\n vm.metricsCharts[chartId].value = data;\r\n vm.metricsCharts[chartId].subtitles = subtitle.split(\",\");\r\n vm.metricsCharts[chartId].ChartId = chartId;\r\n } else if (chartType == 'Table') {\r\n vm.tableCharts[chartId] = {};\r\n vm.tableCharts[chartId].value = data;\r\n vm.tableCharts[chartId].ChartId = chartId;\r\n vm.createTableChart(chartId, data.Categories.length , data); \r\n\r\n //vm.buildColumnBuilder(chartId, data.Categories.length);\r\n } else if (chartType == 'Line') {\r\n vm.lineCharts[chartId] = {};\r\n vm.lineCharts[chartId].value = data;\r\n vm.lineCharts[chartId].selectedRollup = rollup;\r\n vm.createLineChart(chartId, YAxis);\r\n } else if (chartType == 'Bar') {\r\n vm.barCharts[chartId] = {};\r\n vm.barCharts[chartId].value = data;\r\n vm.barCharts[chartId].selectedRollup = rollup;\r\n vm.createBarChart(chartId, YAxis);\r\n }else if (chartType == 'StackedBar') {\r\n vm.stackedCharts[chartId] = {};\r\n vm.stackedCharts[chartId].value = data;\r\n vm.stackedCharts[chartId].selectedRollup = rollup;\r\n vm.createStackedChart(chartId, YAxis);\r\n } else if (chartType == 'Pie') {\r\n vm.pieCharts[chartId] = {};\r\n vm.pieCharts[chartId].value = data;\r\n vm.createPieChart(chartId, subtitle);\r\n } else if (chartType == 'CustomPie') {\r\n vm.pieCharts[chartId] = {};\r\n vm.pieCharts[chartId].value = data;\r\n vm.pieCharts[chartId].selectedDimension=dimensions;\r\n vm.createPieChart(chartId, subtitle);\r\n } else if (chartType == 'CustomLine') {\r\n vm.lineCharts[chartId] = {};\r\n vm.lineCharts[chartId].value = data;\r\n vm.lineCharts[chartId].selectedDimension = dimensions;\r\n vm.selectDimension[chartId].dimension = dimensions;\r\n vm.lineCharts[chartId].selectedRollup = rollup;\r\n vm.createLineChart(chartId, YAxis);\r\n }else if (chartType == 'CustomBar') {\r\n vm.barCharts[chartId] = {};\r\n vm.barCharts[chartId].value = data;\r\n vm.barCharts[chartId].selectedDimension = dimensions;\r\n vm.selectDimension[chartId].dimension = dimensions;\r\n vm.barCharts[chartId].selectedRollup = rollup;\r\n vm.createBarChart(chartId, YAxis);\r\n }else if (chartType == 'DrillDownBar') {\r\n vm.barCharts[chartId] = {};\r\n vm.barCharts[chartId].value = data;\r\n vm.barCharts[chartId].selectedDimension = dimensions;\r\n vm.selectDimension[chartId].dimension = dimensions;\r\n vm.barCharts[chartId].selectedRollup = rollup;\r\n vm.createDrilledDownBarChart(chartId, YAxis);\r\n }else if (chartType == 'CustomStackedBar') {\r\n vm.stackedCharts[chartId] = {};\r\n vm.stackedCharts[chartId].value = data;\r\n vm.stackedCharts[chartId].selectedDimension = dimensions;\r\n vm.selectDimension[chartId].dimension = dimensions;\r\n vm.stackedCharts[chartId].selectedRollup = rollup;\r\n vm.createStackedChart(chartId, YAxis);\r\n }\r\n else if (chartType == 'metricskpi') {\r\n vm.gaugeCharts[chartId] = {};\r\n vm.gaugeCharts[chartId].value = data;\r\n vm.gaugeCharts[chartId].selectedRollup = rollup;\r\n vm.createGaugeChart(chartId);\r\n }\r\n }]));\r\n }\r\n\r\n vm.dashboardCallback = vm.createCallback(null, [function (data) {\r\n vm.dashboard_data = data;\r\n\r\n if(data && data.DashboardFilters){\r\n vm.enableFilter = true; \r\n vm.updateDefaultDateFilter(data.DashboardFilters); \r\n //vm.getFilerValues(data.DashboardFilters.FilterList); \r\n }\r\n else\r\n {\r\n vm.enableFilter = false;\r\n vm.updateDefaultDateFilter(null); \r\n } \r\n // if (data && data.DashboardFilters && (data.DashboardFilters.DateFilterList == null|| data.DashboardFilters.DateFilterList.length == 0)) {\r\n // vm.IsDashboardFilterCheckRun = true;\r\n // } \r\n // else if (data && data.DashboardFilters && data.DashboardFilters.DateFilterList.length > 0) {\r\n // var dateFilterList = data.DashboardFilters.DateFilterList;\r\n // var filteredRanges = {};\r\n // Object.keys($scope.ranges).forEach(function(key) {\r\n // if (dateFilterList.includes(key)) {\r\n // filteredRanges[key] = $scope.ranges[key];\r\n // }\r\n // });\r\n // $scope.ranges = filteredRanges;\r\n // vm.IsDashboardFilterCheckRun = true;\r\n // }\r\n \r\n angular.forEach(data.ChartModel, function (d) {\r\n\r\n if (d.ClickableColumns != null && d.ClickableColumns.length > 0) {\r\n angular.forEach(d.ClickableColumns, function(cl){\r\n if (cl.Link==\"ProjectSummary\") {\r\n vm.deepLink[cl.ColumnName + \" \"+ d.ChartId] = function () { \r\n return \"index.Report({report_name:'ProjectSummary', key:'\"+cl.KeyName+\"'})\";\r\n }\r\n }else if (cl.Link==\"CustomerSummary\") {\r\n vm.deepLink[cl.ColumnName + \" \"+ d.ChartId] = function () { \r\n \r\n return \"index.Report({report_name:'CustomerSummary', key:'\"+cl.KeyName+\"'})\";\r\n }\r\n }else if (cl.Link==\"DashboardReport\") {\r\n \r\n vm.deepLink[cl.ColumnName + \" \"+ d.ChartId] = function (filterValue,filterName) {\r\n var Keyfilter = cl.KeyName; \r\n \r\n // else\r\n // {\r\n // start_date = vm.rollup;\r\n // }\r\n if (cl.KeyName.indexOf(\"|\")>=0) {\r\n var stringArray = cl.KeyName.split('|');\r\n filterName = stringArray[1];\r\n Keyfilter = stringArray[0];\r\n }\r\n if (filterValue == undefined && filterName ==undefined) {\r\n filterValue = '';\r\n filterName = '';\r\n }\r\n if (d.ChartType == 'Metrics' || d.chartType == 'OneServMetrics' || d.chartType == 'metricscompare') {\r\n //console.log('start_date',start_date);\r\n if (d.Rollups && d.Rollups.length>0) {\r\n angular.forEach(d.Rollups, function(d){\r\n if (d == 'Today') {\r\n var sDate = moment().format(\"YYYY-MM-DD\");\r\n var eDate = moment().format(\"YYYY-MM-DD\");\r\n start_date = \"Range(\"+sDate+\"|\"+eDate+\")\";\r\n }\r\n else if (d == 'Yesterday') {\r\n \t\t\t\t\t\t\t\t\t\tvar sDate = moment().subtract(1, 'days').format(\"YYYY-MM-DD\");\r\n \t\t\t\t\t\t\t\t\t\tvar eDate = moment().subtract(1, 'days').format(\"YYYY-MM-DD\");\r\n \t\t\t\t\t\t\t\t\t\tstart_date = \"Range(\"+sDate+\"|\"+eDate+\")\"; }\r\n else if (d == 'Monthly') {\r\n var sDate = moment().startOf('month').format(\"YYYY-MM-DD\");\r\n var eDate = moment().endOf('month').format(\"YYYY-MM-DD\");\r\n start_date = \"Range(\"+sDate+\"|\"+eDate+\")\";\r\n }else if (d == 'Week1') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week1');\r\n }else if (d == 'Week2') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week2');\r\n }else if (d == 'Week3') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week3');\r\n }else if (d == 'Week4') {\r\n var getCurrentMonth = new Date().getMonth();\r\n var getCurrentYear = new Date().getFullYear();\r\n start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week4');\r\n }\r\n })\r\n }else{\r\n start_date = vm.rollup;\r\n }\r\n var obj = {\r\n \"report_name\":'LinkTicketReport',\r\n \"key\":Keyfilter,\r\n \"filter_key\":filterName,\r\n \"filter_name\":filterValue,\r\n \"start_date\":start_date,\r\n \"isData\":true\r\n } \r\n return obj;\r\n }else{\r\n return \"index.DashboardReport({report_name:'LinkTicketReport', key:'\"+Keyfilter+\"',filter_key:'\"+filterName+\"', filter_name:'\"+filterValue+\"', start_date:'\"+vm.rollup+\"', isData:'\"+true+\"'})\";\r\n } \r\n }\r\n }else{\r\n \t\t\t\t\t\tif (cl.Link){ \r\n \t\t\t\t\t\t\tvm.deepLink[cl.ColumnName + \" \"+ d.ChartId] = function (filterValue,filterName) {\r\n \t\t\t\t\t\t\t\tvar Keyfilter = cl.KeyName; \r\n \t\t\t\t\t\t\t if (cl.KeyName.indexOf(\"|\")>=0) {\r\n \t\t\t\t\t\t\t\t\tvar stringArray = cl.KeyName.split('|');\r\n \t\t\t\t\t\t\t\t\tfilterName = stringArray[1];\r\n \t\t\t\t\t\t\t\t\tKeyfilter = stringArray[0];\r\n \t\t\t\t\t\t\t\t}\r\n \t\t\t\t\t\t\t\tif (filterValue == undefined && filterName ==undefined) {\r\n \t\t\t\t\t\t\t\t\tfilterValue = '';\r\n \t\t\t\t\t\t\t\t\tfilterName = '';\r\n \t\t\t\t\t\t\t\t}\r\n\r\n filterName = filterName + ',' + vm.filterKeys;\r\n filterValue = filterValue + ',' + vm.filterValues;\r\n\r\n\r\n \t\t\t\t\t\t\t\tif (d.ChartType == 'Metrics' || d.chartType == 'OneServMetrics' || d.chartType == 'metricscompare') {\r\n \t\t\t\t\t\t\t\t\t//console.log('start_date',start_date);\r\n \t\t\t\t\t\t\t\t\tif (d.Rollups && d.Rollups.length>0) {\r\n \t\t\t\t\t\t\t\tangular.forEach(d.Rollups, function(d){\r\n \t\t\t\t\t\t\t\t\tif (d == 'Today') {\r\n \t\t\t\t\t\t\t\t\t\tvar sDate = moment().format(\"YYYY-MM-DD\");\r\n \t\t\t\t\t\t\t\t\t\tvar eDate = moment().format(\"YYYY-MM-DD\");\r\n \t\t\t\t\t\t\t\t\t\tstart_date = \"Range(\"+sDate+\"|\"+eDate+\")\";\r\n \t\t\t\t\t\t\t\t\t}\r\n else if (d == 'Yesterday') {\r\n \t\t\t\t\t\t\t\t\t\tvar sDate = moment().subtract(1, 'days').format(\"YYYY-MM-DD\");\r\n \t\t\t\t\t\t\t\t\t\tvar eDate = moment().subtract(1, 'days').format(\"YYYY-MM-DD\");\r\n \t\t\t\t\t\t\t\t\t\tstart_date = \"Range(\"+sDate+\"|\"+eDate+\")\";\r\n \t\t\t\t\t\t\t\t\t}else if (d == 'Monthly') {\r\n \t\t\t\t\t\t\t\t\t\tvar sDate = moment().startOf('month').format(\"YYYY-MM-DD\");\r\n \t\t\t\t\t\t\t\t\t\tvar eDate = moment().endOf('month').format(\"YYYY-MM-DD\");\r\n \t\t\t\t\t\t\t\t\t\tstart_date = \"Range(\"+sDate+\"|\"+eDate+\")\";\r\n \t\t\t\t\t\t\t\t\t}else if (d == 'Week1') {\r\n \t\t\t\t\t\t\t\t\t\tvar getCurrentMonth = new Date().getMonth();\r\n \t\t\t\t\t\t\t\t\t\tvar getCurrentYear = new Date().getFullYear();\r\n \t\t\t\t\t\t\t\t\t start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week1');\r\n \t\t\t\t\t\t\t\t\t}else if (d == 'Week2') {\r\n \t\t\t\t\t\t\t\t\t\tvar getCurrentMonth = new Date().getMonth();\r\n \t\t\t\t\t\t\t\t\t\tvar getCurrentYear = new Date().getFullYear();\r\n \t\t\t\t\t\t\t\t\t start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week2');\r\n \t\t\t\t\t\t\t\t\t}else if (d == 'Week3') {\r\n \t\t\t\t\t\t\t\t\t\tvar getCurrentMonth = new Date().getMonth();\r\n \t\t\t\t\t\t\t\t\t\tvar getCurrentYear = new Date().getFullYear();\r\n \t\t\t\t\t\t\t\t\t start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week3');\r\n \t\t\t\t\t\t\t\t\t}else if (d == 'Week4') {\r\n \t\t\t\t\t\t\t\t\t\tvar getCurrentMonth = new Date().getMonth();\r\n \t\t\t\t\t\t\t\t\t\tvar getCurrentYear = new Date().getFullYear();\r\n \t\t\t\t\t\t\t\t\t start_date= vm.GetDateRange(getCurrentMonth,getCurrentYear,'week4');\r\n \t\t\t\t\t\t\t\t\t}\r\n \t\t\t\t\t\t\t\t})\r\n \t\t\t\t\t\t\t\t}else{\r\n \t\t\t\t\t\t\t\t\tstart_date = vm.rollup;\r\n \t\t\t\t\t\t\t\t}\r\n \t\t\t\t\t\t\t\t var obj = { \r\n \t\t\t\t\t\t\t\t\t\t\"report_name\":cl.Link,\r\n \t\t\t\t\t\t\t\t\t\t\"key\":Keyfilter,\r\n \t\t\t\t\t\t\t\t\t\t\"filter_key\":filterName,\r\n \t\t\t\t\t\t\t\t\t\t\"filter_name\":filterValue,\r\n \t\t\t\t\t\t\t\t\t\t\"start_date\":start_date,\r\n \t\t\t\t\t\t\t\t\t\t\"isData\":true\r\n \t\t\t\t\t\t\t\t\t} \r\n \t\t\t\t\t\t\t\t\treturn obj;\r\n \t\t\t\t\t\t\t\t}else{\r\n \t\t\t\t\t\t\t\t\treturn \"index.DashboardReport({report_name:'\" + cl.Link + \"', key:'\"+Keyfilter+\"',filter_key:'\"+filterName+\"', filter_name:'\"+filterValue+\"', start_date:'\"+vm.rollup+\"', isData:'\"+true+\"'})\";\r\n \t\t\t\t\t\t\t\t} \r\n \t\t\t\t\t\t\t}\r\n \t\t\t\t\t\t}\r\n \t\t\t\t\t} \r\n })\r\n }\r\n if(d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Today\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Today\");\r\n }\r\n else if(d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Yesterday\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Yesterday\");\r\n }\r\n else if(d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Week1\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Week1\");\r\n }else if(d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Week2\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Week2\");\r\n }else if(d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Week3\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Week3\");\r\n }else if(d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Week4\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Week4\");\r\n }\r\n else if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Monthly\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Monthly\");\r\n }\r\n else if (d.Rollups && d.Rollups.length > 0 && d.Rollups.indexOf(\"Monthly-6\")>=0 && d.ChartType!='CustomLine') {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, \"Monthly-6\");\r\n }\r\n else if(d.ChartType == 'CustomLine' && d.Dimensions.length>0 && d.Rollups.indexOf(\"Monthly\")>=0){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, \"Monthly\");\r\n }\r\n else if(d.ChartType == 'CustomLine' && d.Dimensions.length>0 && d.Rollups.indexOf(\"Today\")>=0){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, \"Today\");\r\n }\r\n else if(d.ChartType == 'CustomLine' && d.Dimensions.length>0 && d.Rollups.indexOf(\"Yesterday\")>=0){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, \"Yesterday\");\r\n }\r\n else if(d.ChartType == 'CustomBar' && d.Dimensions.length>0){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, '');\r\n }else if(d.ChartType == 'DrillDownBar' && d.Dimensions.length>0){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, '');\r\n }else if(d.ChartType == 'CustomStackedBar' && d.Dimensions.length>0){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, '');\r\n }else if(d.ChartType == 'CustomPie' && d.Dimensions.length>0){\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions[0], d.ChartSubtitle, d.YAxis, '');\r\n }\r\n else {\r\n vm.getChart(d.ChartId, d.ChartType, d.Metrics, d.Dimensions, d.ChartSubtitle, d.YAxis, vm.rollup);\r\n }\r\n\r\n });\r\n // console.log('vm.deepLink',vm.deepLink);\r\n }])\r\n\r\n vm.GetDateRange = function(month,year,week){\r\n var weeks=[],\r\n firstDate=new Date(year, month, 1),\r\n lastDate=new Date(year, month+1, 0), \r\n numDays= lastDate.getDate();\r\n if (week == 'week1') {\r\n var start=1;\r\n var end=7;\r\n month = month+1\r\n var startRange = moment(year+\"-\"+month+\"-\"+start).format(\"YYYY-MM-DD\");\r\n var endRange = moment(year+\"-\"+month+\"-\"+end).format(\"YYYY-MM-DD\");\r\n return (\"Range(\"+startRange+\"|\"+endRange+\")\");\r\n }else if (week == 'week2') {\r\n var start = 8;\r\n var end = 14;\r\n month = month+1\r\n var startRange = moment(year+\"-\"+month+\"-\"+start).format(\"YYYY-MM-DD\");\r\n var endRange = moment(year+\"-\"+month+\"-\"+end).format(\"YYYY-MM-DD\");\r\n return (\"Range(\"+startRange+\"|\"+endRange+\")\");\r\n }else if (week == 'week3') {\r\n var start = 15;\r\n var end = 21;\r\n month = month+1\r\n var startRange = moment(year+\"-\"+month+\"-\"+start).format(\"YYYY-MM-DD\");\r\n var endRange = moment(year+\"-\"+month+\"-\"+end).format(\"YYYY-MM-DD\");\r\n return (\"Range(\"+startRange+\"|\"+endRange+\")\");\r\n }else if (week == 'week4') {\r\n var start = 22;\r\n var end = numDays;\r\n month = month+1\r\n var startRange = moment(year+\"-\"+month+\"-\"+start).format(\"YYYY-MM-DD\");\r\n var endRange = moment(year+\"-\"+month+\"-\"+end).format(\"YYYY-MM-DD\");\r\n return (\"Range(\"+startRange+\"|\"+endRange+\")\");\r\n }\r\n }\r\n\r\n vm.getDashboard = function (name) {\r\n AdvancedDashboardService.getDashboard(loggedinUser, name, token, vm.dashboardCallback);\r\n }\r\n\r\n\r\n vm.loadDefaultDashboard = function(){\r\n if ($stateParams.name == 'account') {\r\n vm.getDashboard('Account Dashboard');\r\n } else if ($stateParams.name == 'accountDetails') {\r\n vm.getDashboard('Account Dashboard');\r\n }else if ($stateParams.name == 'admin') {\r\n vm.getDashboard('Admin Dashboard');\r\n }else if ($stateParams.name == 'manager') {\r\n vm.getDashboard('Manager Dashboard');\r\n }else if ($stateParams.name == 'supervisor') {\r\n vm.getDashboard('Supervisor Dashboard');\r\n }else if ($stateParams.name == 'vendor') {\r\n vm.getDashboard('Vendor Dashboard');\r\n } else {\r\n vm.getDashboard($stateParams.name);\r\n }\r\n }\r\n\r\n vm.loadSpecificDashboard = function(name){\r\n var DashboardListModel = vm.getAccountConfigSetting('DashboardListModel');\r\n var isLoaded = false;\r\n if(DashboardListModel && DashboardListModel.length>0){\r\n angular.forEach(DashboardListModel, function(d){\r\n if(d.DashboardType == name){\r\n vm.getDashboard(d.DashboardName);\r\n isLoaded = true;\r\n }\r\n })\r\n }\r\n if(isLoaded==false){\r\n vm.loadDefaultDashboard(name);\r\n }\r\n }\r\n\r\n if(vm.accountConfig.AccountId != '362'){\r\n vm.loadSpecificDashboard($stateParams.name);\r\n\r\n }\r\n\r\n\r\n vm.LinkClick = function(url){\r\n // console.log(url);\r\n var i = vm.deepLink[url]('','');\r\n // console.log('i',i);\r\n var key ='';\r\n var filter_key='';\r\n var filter_name = '';\r\n var start_date='';\r\n var report_name = '';\r\n key = i.key;\r\n report_name = i.report_name;\r\n filter_key = i.filter_key;\r\n filter_name = i.filter_name;\r\n start_date = i.start_date;\r\n // console.log('params',key,report_name,filter_key,filter_name,start_date);\r\n $state.go('index.DashboardReport', {\r\n report_name: report_name,\r\n key: key,\r\n filter_key: filter_key,\r\n filter_name: filter_name,\r\n start_date: start_date,\r\n isData: true\r\n }, \r\n {\r\n reload: true\r\n });\r\n }\r\n \r\n //$log.log(\"$stateParams.name\",$stateParams.name);\r\n\r\n vm.saveRollup = function (chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup) {\r\n if (chartType == 'Line') {\r\n vm.lineCharts[chartId].selectedRollup = rollup;\r\n //$log.log(\"rollup\", rollup);\r\n vm.getChart(chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup);\r\n vm.createLineChart(chartId, yAxis); \r\n }else if(chartType == 'Bar'){\r\n vm.barCharts[chartId].selectedRollup = rollup;\r\n //$log.log(\"rollup\", rollup);\r\n vm.getChart(chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup);\r\n vm.createBarChart(chartId, yAxis); \r\n }else if(chartType == 'CustomLine'){\r\n vm.lineCharts[chartId].selectedRollup = rollup;\r\n dimensions = vm.lineCharts[chartId].selectedDimension;\r\n vm.getChart(chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup);\r\n vm.createLineChart(chartId, yAxis); \r\n }else if(chartType == 'CustomBar'){\r\n vm.barCharts[chartId].selectedRollup = rollup;\r\n //$log.log(\"rollup\", rollup);\r\n if (vm.selectDimension && vm.selectDimension[chartId].dimension.length>0) {\r\n dimensions = vm.selectDimension[chartId].dimension; \r\n }else{\r\n dimensions = vm.lineCharts[chartId].selectedDimension;\r\n } \r\n vm.getChart(chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup);\r\n vm.createLineChart(chartId, yAxis); \r\n } \r\n }\r\n\r\n vm.ChangeDimensions = function (chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup) {\r\n vm.lineCharts[chartId].selectedDimension = dimensions;\r\n rollup = 'Monthly';\r\n //$log.log(\"rollup\", rollup);\r\n vm.getChart(chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup);\r\n $timeout(function(){\r\n vm.createLineChart(chartId, yAxis);\r\n },1000) \r\n }\r\n\r\n //For CustomPieChart\r\n vm.ChangeDimensionsPie = function (chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup) {\r\n vm.pieCharts[chartId].selectedDimension = dimensions;\r\n // vm.selectDimension[chartId].dimension = dimensions;\r\n //console.log('selectDimension',vm.selectDimension);\r\n // vm.lineCharts[chartId].selectedRollup = rollup;\r\n //rollup = 'Monthly';\r\n //$log.log(\"rollup\", rollup);\r\n vm.getChart(chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, \"\");\r\n $timeout(function(){\r\n vm.createPieChart(chartId, yAxis);\r\n },1000)\r\n \r\n }\r\n\r\n //For CustomBarChart\r\n vm.ChangeDimensionsBar = function (chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup) {\r\n vm.barCharts[chartId].selectedDimension = dimensions;\r\n // vm.selectDimension[chartId].dimension = dimensions;\r\n //console.log('selectDimension',vm.selectDimension);\r\n // vm.lineCharts[chartId].selectedRollup = rollup;\r\n //rollup = 'Monthly';\r\n //$log.log(\"rollup\", rollup);\r\n vm.getChart(chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, \"\");\r\n $timeout(function(){\r\n vm.createBarChart(chartId, yAxis);\r\n },1000)\r\n \r\n }\r\n\r\n //For CustomStackedChart\r\n vm.ChangeDimensionsCustomStackedBar = function (chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, rollup) {\r\n vm.stackedCharts[chartId].selectedDimension = dimensions;\r\n // vm.selectDimension = dimensions;\r\n // console.log('selectDimension',vm.selectDimension);\r\n // vm.lineCharts[chartId].selectedRollup = rollup;\r\n //rollup = 'Monthly';\r\n //$log.log(\"rollup\", rollup);\r\n vm.getChart(chartId, chartType, metrics, dimensions, chartSubtitle, yAxis, \"\");\r\n $timeout(function(){\r\n vm.createStackedChart(chartId, yAxis);\r\n },1000)\r\n \r\n }\r\n\r\n vm.isActiveRollbackCustomPie = function(chartId, dimension){\r\n if(vm.pieCharts[chartId] && vm.pieCharts[chartId].selectedDimension){\r\n return vm.pieCharts[chartId].selectedDimension == dimension;\r\n }\r\n return false;\r\n }\r\n vm.isActiveRollbackCustomBar = function(chartId, dimension){\r\n if(vm.barCharts[chartId] && vm.barCharts[chartId].selectedDimension){\r\n return vm.barCharts[chartId].selectedDimension == dimension;\r\n }\r\n return false;\r\n }\r\n vm.isActiveRollbackCustomStackedBar = function(chartId, dimension){\r\n if(vm.stackedCharts[chartId] && vm.stackedCharts[chartId].selectedDimension){\r\n return vm.stackedCharts[chartId].selectedDimension == dimension;\r\n }\r\n return false;\r\n }\r\n\r\n vm.isActiveRollbackBar = function(chartId, rollup){\r\n if(vm.barCharts[chartId] && vm.barCharts[chartId].selectedRollup){\r\n return vm.barCharts[chartId].selectedRollup == rollup;\r\n }\r\n return false;\r\n }\r\n vm.isActiveRollbackStackedBar = function(chartId, rollup){\r\n if(vm.stackedCharts[chartId] && vm.stackedCharts[chartId].selectedRollup){\r\n return vm.stackedCharts[chartId].selectedRollup == rollup;\r\n }\r\n return false;\r\n }\r\n\r\n vm.isActiveRollback = function(chartId, rollup){\r\n if(vm.lineCharts[chartId] && vm.lineCharts[chartId].selectedRollup){\r\n return vm.lineCharts[chartId].selectedRollup == rollup;\r\n }\r\n return false;\r\n }\r\n vm.isActiveRollbackCustome = function(chartId, dimension){\r\n if(vm.lineCharts[chartId] && vm.lineCharts[chartId].selectedDimension){\r\n return vm.lineCharts[chartId].selectedDimension == dimension;\r\n }\r\n return false;\r\n }\r\n\r\n vm.createLineChart = function (chartId, yAxis) {\r\n vm.chartOptions = vm.chartOptions ? vm.chartOptions : {};\r\n $timeout(function () {\r\n if (vm.lineCharts[chartId] && vm.lineCharts[chartId].value) {\r\n vm.chartOptions[chartId] = {\r\n credits: {\r\n enabled: true\r\n },\r\n colors: ['#3093d1', '#fcb631', '#9ad631', '#f34ea8', '#30bfdd', '#fc9532', '#9f4bc7', '#304ec6', '#fcd731', '#f08576', '#418842'],\r\n chart: {\r\n type: 'line'\r\n },\r\n title: {\r\n text: ''\r\n },\r\n subtitle: {\r\n text: ''\r\n },\r\n xAxis: {\r\n categories: vm.lineCharts[chartId].value.Categories\r\n },\r\n // legend: {\r\n // layout: 'horizontal',\r\n // align: 'left',\r\n // itemWidth: 100,\r\n // verticalAlign: 'bottom',\r\n // //y: 30,\r\n // navigation: {\r\n // activeColor: '#3E576F',\r\n // animation: true,\r\n // arrowSize: 12,\r\n // inactiveColor: '#CCC',\r\n // style: {\r\n // fontWeight: 'bold',\r\n // color: '#333',\r\n // fontSize: '12px'\r\n // }\r\n // }\r\n // },\r\n // legend: {\r\n // align: 'right',\r\n // verticalAlign: 'top',\r\n // layout: 'vertical',\r\n // x: 0,\r\n // y: 100\r\n // },\r\n yAxis: {\r\n title: {\r\n text: yAxis\r\n },\r\n scrollbar: {\r\n enabled: true\r\n }\r\n },\r\n plotOptions: {\r\n line: {\r\n dataLabels: {\r\n enabled: true\r\n },\r\n enableMouseTracking: true\r\n }\r\n },\r\n series: GetSeries()\r\n\r\n };\r\n function GetSeries(){\r\n\r\n if (vm.lineCharts[chartId].value.Series.length>10) {\r\n \r\n for(var i=0; i10) {\r\n var legend = {\r\n layout: 'horizontal',\r\n align: 'left',\r\n itemWidth: 100,\r\n verticalAlign: 'bottom',\r\n //y: 30,\r\n navigation: {\r\n activeColor: '#3E576F',\r\n animation: true,\r\n arrowSize: 12,\r\n inactiveColor: '#CCC',\r\n style: {\r\n fontWeight: 'bold',\r\n color: '#333',\r\n fontSize: '12px'\r\n }\r\n }\r\n }\r\n vm.chartOptions[chartId].legend = legend;\r\n }\r\n\r\n var chart = new Highcharts.chart(chartId, vm.chartOptions[chartId]);\r\n \r\n chart.reflowNow = function () {\r\n this.containerHeight = this.options.chart.height || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'height');\r\n this.containerWidth = this.options.chart.width || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'width');\r\n this.setSize(this.containerWidth, this.containerHeight, false);\r\n this.hasUserSize = null;\r\n }\r\n }\r\n }, 1000);\r\n }\r\n vm.createBarChart = function (chartId, yAxis) {\r\n $timeout(function () {\r\n if (vm.barCharts[chartId] && vm.barCharts[chartId].value) {\r\n var chartData = {\r\n credits: {\r\n enabled: true\r\n },\r\n colors: ['#3093d1', '#fcb631', '#9ad631', '#f34ea8', '#30bfdd', '#fc9532', '#9f4bc7', '#304ec6', '#fcd731', '#f08576', '#418842'],\r\n chart: {\r\n type: 'column',\r\n inverted: false\r\n },\r\n legend: {\r\n enabled: true\r\n },\r\n title: {\r\n text: ''\r\n },\r\n subtitle: {\r\n text: ''\r\n },\r\n xAxis: {\r\n // type : 'category',\r\n categories: vm.barCharts[chartId].value.Categories \r\n },\r\n yAxis: {\r\n title: {\r\n text: yAxis\r\n }\r\n },\r\n plotOptions: {\r\n column: {\r\n dataLabels: {\r\n enabled: true,\r\n \r\n }\r\n }\r\n },\r\n \r\n series: vm.barCharts[chartId].value.Series\r\n // drilldown:vm.barCharts[chartId].value.drilldown\r\n \r\n };\r\n \r\n if (chartData && chartData.series && chartData.series.length>0 && chartData.series[0].data \r\n && chartData.series[0].data.length>0 && chartData.series[0].data[0]) {\r\n chartData.series[0].data[0].sliced=true;\r\n chartData.series[0].data[0].selected=true;\r\n }\r\n \r\n var chart = new Highcharts.chart(chartId, chartData);\r\n\r\n chart.reflowNow = function () {\r\n this.containerHeight = this.options.chart.height || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'height');\r\n this.containerWidth = this.options.chart.width || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'width');\r\n this.setSize(this.containerWidth, this.containerHeight, false);\r\n this.hasUserSize = null;\r\n }\r\n } \r\n }, 2000);\r\n }\r\n\r\n //Create DrillDown Bar Chart\r\n vm.createDrilledDownBarChart = function (chartId, yAxis) {\r\n $timeout(function () {\r\n if (vm.barCharts[chartId] && vm.barCharts[chartId].value) {\r\n var chartData = {\r\n credits: {\r\n enabled: true\r\n },\r\n colors: ['#3093d1', '#fcb631', '#9ad631', '#f34ea8', '#30bfdd', '#fc9532', '#9f4bc7', '#304ec6', '#fcd731', '#f08576', '#418842'],\r\n chart: {\r\n type: 'column',\r\n inverted: false\r\n },\r\n legend: {\r\n enabled: false\r\n },\r\n title: {\r\n text: ''\r\n },\r\n subtitle: {\r\n text: ''\r\n },\r\n xAxis: {\r\n type : 'category'\r\n \r\n },\r\n yAxis: {\r\n title: {\r\n text: yAxis\r\n }\r\n },\r\n plotOptions: {\r\n column: {\r\n dataLabels: {\r\n enabled: true,\r\n \r\n }\r\n }\r\n },\r\n \r\n series: vm.barCharts[chartId].value.Series,\r\n drilldown:vm.barCharts[chartId].value.drilldown\r\n \r\n };\r\n \r\n if (chartData && chartData.series && chartData.series.length>0 && chartData.series[0].data \r\n && chartData.series[0].data.length>0 && chartData.series[0].data[0]) {\r\n chartData.series[0].data[0].sliced=true;\r\n chartData.series[0].data[0].selected=true;\r\n }\r\n \r\n \r\n var chart = new Highcharts.chart(chartId, chartData);\r\n\r\n chart.reflowNow = function () {\r\n this.containerHeight = this.options.chart.height || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'height');\r\n this.containerWidth = this.options.chart.width || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'width');\r\n this.setSize(this.containerWidth, this.containerHeight, false);\r\n this.hasUserSize = null;\r\n }\r\n } \r\n }, 2000);\r\n }\r\n\r\n //Stacked Chart\r\n vm.createStackedChart = function (chartId, yAxis) {\r\n $timeout(function () {\r\n if (vm.stackedCharts[chartId] && vm.stackedCharts[chartId].value) {\r\n var stackedchartData = {\r\n credits: {\r\n enabled: true\r\n },\r\n colors: ['#3093d1', '#fcb631', '#9ad631', '#f34ea8', '#30bfdd', '#fc9532', '#9f4bc7', '#304ec6', '#fcd731', '#f08576', '#418842'],\r\n chart: {\r\n type: 'column',\r\n inverted: false\r\n },\r\n title: {\r\n text: ''\r\n },\r\n subtitle: {\r\n text: ''\r\n },\r\n xAxis: {\r\n categories: vm.stackedCharts[chartId].value.Categories \r\n },\r\n yAxis: {\r\n min: 0,\r\n title: {\r\n text: yAxis\r\n }\r\n },\r\n legend: {\r\n\r\n reversed: true\r\n },\r\n tooltip: {\r\n formatter: function () {\r\n return '' + this.x + '
' +\r\n this.series.name + ': ' + this.y + '
' +\r\n 'Total: ' + this.point.stackTotal;\r\n }\r\n },\r\n plotOptions: {\r\n column: {\r\n dataLabels: {\r\n enabled: true,\r\n align: 'right',\r\n color: 'black',\r\n x: -10\r\n },\r\n enableMouseTracking: true\r\n },\r\n series: {\r\n\r\n stacking: 'normal'\r\n }\r\n },\r\n series: vm.stackedCharts[chartId].value.Series\r\n };\r\n if (stackedchartData && stackedchartData.series && stackedchartData.series.length>0 && stackedchartData.series[0].data \r\n && stackedchartData.series[0].data.length>0 && stackedchartData.series[0].data[0]) {\r\n stackedchartData.series[0].data[0].sliced=true;\r\n stackedchartData.series[0].data[0].selected=true;\r\n }\r\n \r\n var chart = new Highcharts.chart(chartId, stackedchartData);\r\n\r\n chart.reflowNow = function () {\r\n this.containerHeight = this.options.chart.height || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'height');\r\n this.containerWidth = this.options.chart.width || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'width');\r\n this.setSize(this.containerWidth, this.containerHeight, false);\r\n this.hasUserSize = null;\r\n }\r\n } \r\n }, 2000);\r\n }\r\n\r\n vm.createPieChart = function (chartId, title) {\r\n vm.showPieChart = vm.showPieChart || {};\r\n vm.tempShowPieChart = vm.tempShowPieChart || {};\r\n vm.showPieChart[chartId] = true;\r\n $timeout(function () {\r\n vm.tempShowPieChart[chartId] = false;\r\n if (vm.pieCharts[chartId] && vm.pieCharts[chartId].value) {\r\n\r\n for(var i=0; i0){\r\n vm.tempShowPieChart[chartId]=true;\r\n }\r\n }\r\n vm.showPieChart[chartId]=vm.tempShowPieChart[chartId];\r\n var chartData = {\r\n chart: {\r\n plotBackgroundColor: null,\r\n plotBorderWidth: null,\r\n plotShadow: false,\r\n type: 'pie'\r\n },\r\n colors: ['#3093d1', '#fcb631', '#9ad631', '#f34ea8', '#30bfdd', '#fc9532', '#9f4bc7', '#304ec6', '#fcd731', '#f08576', '#418842'],\r\n title: {\r\n text: ''\r\n },\r\n tooltip: {\r\n headerFormat: ' {series.name} : {point.name}
',\r\n pointFormat: ' {point.name}: {point.y:,.0f}
',\r\n footerFormat: ' Percentage : {point.percentage:,.1f}% ', shared: true, useHTML: true\r\n //pointFormat: '{series.name}: {point.y:.1f}%'\r\n },\r\n plotOptions: {\r\n pie: {\r\n allowPointSelect: true,\r\n cursor: 'pointer',\r\n dataLabels: {\r\n enabled: false\r\n },\r\n showInLegend: true\r\n }\r\n },\r\n series: [{\r\n name: title,\r\n colorByPoint: true,\r\n data: vm.pieCharts[chartId].value\r\n }]\r\n };\r\n if(chartData && chartData.series && chartData.series.length>0 && chartData.series[0].data \r\n && chartData.series[0].data.length>0 && chartData.series[0].data[0]){\r\n chartData.series[0].data[0].sliced=true;\r\n chartData.series[0].data[0].selected=true; \r\n }\r\n var chart = new Highcharts.chart(chartId, chartData);\r\n\r\n chart.reflowNow = function () {\r\n this.containerHeight = this.options.chart.height || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'height');\r\n this.containerWidth = this.options.chart.width || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'width');\r\n this.setSize(this.containerWidth, this.containerHeight, false);\r\n this.hasUserSize = null;\r\n }\r\n } \r\n }, 1000);\r\n }\r\n\r\n var gaugeInstances = {};\r\n vm.createGaugeChart = function (chartId) {\r\n if (gaugeInstances[chartId]) {\r\n gaugeInstances[chartId].destroy();\r\n }\r\n vm.showGaugeChart = vm.showGaugeChart || {};\r\n vm.tempshowGaugeChart = vm.tempshowGaugeChart || {};\r\n vm.showGaugeChart[chartId] = true;\r\n vm.tempshowGaugeChart[chartId] = false;\r\n \r\n if (vm.gaugeCharts[chartId] && vm.gaugeCharts[chartId].value) {\r\n vm.tempshowGaugeChart[chartId] = true;\r\n vm.showGaugeChart[chartId] = vm.tempshowGaugeChart[chartId];\r\n var label = \"(\" + vm.gaugeCharts[chartId].value[0].AcheivedPercentage + \"% of the target)\";\r\n var chartData = {\r\n id: chartId,\r\n value: vm.gaugeCharts[chartId].value[0].Value,\r\n min: 0,\r\n max: vm.gaugeCharts[chartId].value[0].TargetValue,\r\n decimals: 0,\r\n gaugeWidthScale: 0.6,\r\n pointer: true,\r\n pointerOptions: {\r\n toplength: -15,\r\n bottomlength: 10,\r\n bottomwidth: 12,\r\n color: '#333333',\r\n stroke: '#ffffff',\r\n stroke_width: 3,\r\n stroke_linecap: 'round'\r\n },\r\n customSectors: {\r\n ranges: [{\r\n color: \"#ff3b30\",\r\n lo: 0,\r\n hi: vm.gaugeCharts[chartId].value[0].TargetValue * 0.25\r\n }, {\r\n color: \"#FFA500\",\r\n lo: vm.gaugeCharts[chartId].value[0].TargetValue * 0.25,\r\n hi: vm.gaugeCharts[chartId].value[0].TargetValue * 0.50\r\n }, {\r\n color: \"#eccd28\",\r\n lo: vm.gaugeCharts[chartId].value[0].TargetValue * 0.50,\r\n hi: vm.gaugeCharts[chartId].value[0].TargetValue * 0.75\r\n }, {\r\n color: \"#43bf58\",\r\n lo: vm.gaugeCharts[chartId].value[0].TargetValue * 0.75,\r\n hi: vm.gaugeCharts[chartId].value[0].TargetValue\r\n }]\r\n },\r\n label: label,\r\n labelFontColor: \"#333333\",\r\n labelFontFamily: \"Arial\",\r\n labelFontSize: \"20px\",\r\n textRenderer: function (val) {\r\n return (vm.gaugeCharts[chartId].value[0].ValueType == 'INR'?(vm.gaugeCharts[chartId].value[0].strValue): vm.gaugeCharts[chartId].value[0].Value);\r\n },\r\n };\r\n gaugeInstances[chartId] = new JustGage(chartData);\r\n }\r\n };\r\n\r\n// var intervalId = setInterval(function() {\r\n// gauge.refresh(Math.random() * 1000);\r\n// }, 5000);\r\n\r\n\r\n\r\n $scope.changeFunction = function() {\r\n alert('change');\r\n }\r\n\r\n var makeDynamicTable = function(chartId, dataSet){\r\n\r\n if(dataSet.Values.length >= 10)\r\n {\r\n vm.tableCharts[chartId].dtOptions = DTOptionsBuilder.fromFnPromise(function(){\r\n var defer = $q.defer();\r\n defer.resolve(dataSet.Values);\r\n return defer.promise;\r\n })\r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withOption('createdRow', createdRow)\r\n .withBootstrap();\r\n }\r\n else\r\n {\r\n vm.tableCharts[chartId].dtOptions = DTOptionsBuilder.fromFnPromise(function(){\r\n var defer = $q.defer();\r\n defer.resolve(dataSet.Values);\r\n return defer.promise;\r\n })\r\n .withDOM('Tfgt')\r\n //.withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withOption('createdRow', createdRow)\r\n .withBootstrap();\r\n\r\n }\r\n \r\n\r\n function createdRow(row, data, dataIndex) {\r\n // Recompiling so we can bind Angular directive to the DT\r\n $compile(angular.element(row).contents())($scope);\r\n }\r\n\r\n vm.tableCharts[chartId].dtInstance = {};\r\n vm.tableCharts[chartId].dtColumns = [];\r\n var columnList = Object.keys(dataSet.Categories);\r\n for(var index = 0; index < columnList.length; index++ ){\r\n\r\n var temp = '';\r\n var colunId = columnList[index];\r\n temp = DTColumnBuilder.newColumn(colunId).withTitle(dataSet.Categories[colunId]).renderWith(function(data,type,full,meta){\r\n var colKey = '';\r\n function getKeyByIndex(object, col) {\r\n var colList = Object.keys(object);\r\n colKey = colList[col]; \r\n }\r\n\r\n getKeyByIndex(full,meta.col)\r\n var firstColumntKey = Object.values(full)[0];\r\n var fixedCatogries = Object.values(vm.tableCharts[chartId].value.Categories)[0];\r\n var t = vm.tableCharts[chartId].value.Categories;\r\n var n = t[colKey]; \r\n if(data > 0 && vm.deepLink[n +' '+ vm.tableCharts[chartId].ChartId]){\r\n return \"' + data + \" \";\r\n // return \"\" + data + \" \";\r\n }else{\r\n return \"\"+data+\"\";\r\n }\r\n });\r\n vm.tableCharts[chartId].dtColumns.push(temp);\r\n } \r\n }\r\n \r\n vm.createTableChart = function (chartId, lenth , data) {\r\n makeDynamicTable(chartId, data);\r\n }\r\n\r\n $scope.$on('fullscreen', function () {\r\n setTimeout(function () {\r\n $(element).highcharts().reflow();\r\n }, 0);\r\n }); \r\n\r\n}\r\n});\r\n\nangular.module('inspinia').service('ActiveAllUserService', function (FreelancerURL, ApiURL, LocationURL, PublicApiURL, $log, $http) {\r\n\r\n this.GetAllUsers = function (loggedinUser, token) {\r\n\r\n var url = FreelancerURL + '/api/FreeLancerUser/' + loggedinUser + '/GetAllUsers'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n })\r\n }\r\n\r\n this.getUserInfo = function (userId, loggedinUser, token) {\r\n var url = FreelancerURL + \"/api/FreeLancerUser/\" + userId + \"/\" + loggedinUser + \"/byUserId\";\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token':token, 'UserId':loggedinUser\r\n }\r\n });\r\n }\r\n// https://perf.mymobiforce.com/freelancerapi/api/FreeLancerUser/GetFavoriteFreelancersByAccount/U400000000001\r\n this.getPreferredUser = function (userId, token) {\r\n var url = FreelancerURL + \"/api/FreeLancerUser/GetFavoriteFreelancersByAccount/\" + userId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token':token, 'UserId':userId\r\n }\r\n });\r\n }\r\n this.getAllSkills = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url, {\r\n headers: {'Token': token, 'UserId':loggedinUser}\r\n });\r\n }\r\n // https://perf.mymobiforce.com/freelancerapi/api/FreeLancerUser/Block/U400000000001/F00000000664/true\r\n this.BlockedSingleUser = function(loggedinUser, userId, status, token){\r\n var url = FreelancerURL + '/api/FreeLancerUser/Block/' + loggedinUser + '/'+ userId +'/'+status;\r\n return $http.put(url, null, {\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n });\r\n }\r\n\r\n//https://perf.mymobiforce.com/freelancerapi/api/FreeLancerUser/Favorite/U400000000001/F00000000657/true\r\n \r\nthis.PreferredSingleUser = function(loggedinUser, userId, status, token){\r\n var url = FreelancerURL + '/api/FreeLancerUser/Favorite/' + loggedinUser + '/'+ userId +'/'+status;\r\n return $http.put(url, null, {\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n });\r\n}\r\n\r\n\r\nthis.getAllState = function (loggedinUser) {\r\n var url = LocationURL + '/api/Location/' + loggedinUser + '/GetAllStates';\r\n return $http.get(url, {\r\n params: {}\r\n });\r\n}\r\n//http://192.168.0.80:92/LocationAPI/api/Location/saurabhgupta3371%40gmail.com/UTTAR%20PRADESH/GetCitiesByState\r\n\r\nthis.getCityByState = function (loggedinUser, state) {\r\n var url = LocationURL + '/api/Location/' + loggedinUser + '/' + state + '/GetCitiesByState';\r\n return $http.get(url, {\r\n params: {}\r\n });\r\n}\r\n\r\nthis.getAllSkills = function(loggedinUser, token, success, failure){\r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url, {headers: {'Token': token, 'UserId':loggedinUser}}).then(function(res){\r\n if(res && res.status == 200 && res.data){\r\n success(res.data);\r\n }\r\n }, function(err){\r\n failure(\"Failed\", \"Unable to get skill list, server error.\")\r\n })\r\n}\r\nthis.GetAllCertificate = function(loggedinUser, token, success, failure){\r\n // var url = ApiURL + '/api/Cetrificate/GetAll?reqUserId=' + loggedinUser;\r\n var url = ApiURL + '/api/Cetrificate/GetAllMaster?reqUserId=' + loggedinUser;\r\n return $http.get(url,{headers:{'Token':token, 'UserId':loggedinUser}}).then(function(res){\r\n if(res && res.status == 201 && res.data){\r\n success(res.data);\r\n }\r\n },function(err){\r\n failure(\"Failed\",\"Unable to get certificate list, server error.\");\r\n })\r\n}\r\n\r\nthis.GetAllToolSets = function(loggedinUser, token, success, failure){\r\n var url = ApiURL + '/api/Tool/GetAllMaster?reqUserId=' + loggedinUser;\r\n return $http.get(url,{headers:{'Token':token, 'UserId':loggedinUser}}).then(function(res){\r\n if(res && res.status == 201 && res.data){\r\n success(res.data);\r\n }\r\n },function(err){\r\n failure(\"Failed\",\"Unable to get certificate list, server error.\");\r\n })\r\n}\r\n \r\n//https://perf.mymobiforce.com/freelancerapi/api/FreelancerUser/FilterFrUsers?reqUserid=U400000000001\r\n//https://product.mymobiforce.com/freelancerapi/api/FreelancerUser/GetActiveUsersByFiltersWithDynaPage\r\n\r\nthis.Filter = function ( loggedinUser, token,userFormData) {\r\n var url = FreelancerURL + \"/api/FreelancerUser/GetActiveUsersByFiltersWithDynaPage\";\r\n return $http.put(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId':loggedinUser }\r\n });\r\n}\r\n})\r\n\nangular.module('inspinia').controller('ActiveAllUserController', function(toaster, UIURL, ActiveAllUserService, \r\n\t$state ,$localStorage, $filter ,$compile, $scope, DTOptionsBuilder, TeamFormCreationService, DTColumnDefBuilder, DTColumnBuilder, PublicApiURL, $log, \r\n\tHelpDeskCustomerViewService,ReferService, $stateParams, $uibModal, JobTicketViewService,$rootScope, NgMap, $q, $timeout, ImageUrl) {\r\n\tvm = this;\r\n\tvm.showAdvanceFilter = false;\r\n\tvm.CustomDateformat = $localStorage.CustomDateformat;\r\n\tvm.showSuccess = $scope.$parent.main.showSuccess;\r\n\tvm.showFailure = $scope.$parent.main.showFailure;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvar AccountID = $localStorage.accountConfig.AccountId;\r\n\tvar accountcreationDate = $localStorage.accountConfig.AccountCreationDate;\r\n\tvm.loggedInUser_Role=$localStorage.loggedInUser_Role;\r\n\tvm.Technicianstartingdate = '2017-01-01';\r\n\tvm.UserType=$stateParams.type?$stateParams.type:\"Technician\"; //$stateParams.type;\r\n\tvar token = $localStorage.token;\r\n\tvm.dtInstanceUser={};\r\n\tvm.dtInstancePreferredUserTable={};\r\n\t// vm.dtInstancePreferredUser={};\r\n\tvm.adddaterange=false;\r\n\tvm.Bluserlist=[];\r\n\tvm.showtechnician=true;\r\n\tvm.technicianlistview=true;\r\n\tvm.selectedInvoice = '';\r\n\tvm.users=[];\r\n\tvm.searchText = '';\r\n\tvm.PermanentState='';\r\n\tvm.UserName='';\r\n\tvm.UserId = '';\r\n\tvm.ContactNumber='';\r\n\tvm.FreelancerRoleFilter='';\r\n\tvm.StateList=[];\r\n\tvm.PermanentCity='';\r\n\tvm.CityList=[];\r\n\tvm.addSkill='';\r\n\tvm.AllCertificateSets=[];\r\n\tvm.addTraningCertificateName='';\r\n\tvm.Asset_Tools='';\r\n\tvm.Asset_Bike=false;\r\n\tvm.Asset_Mobile=false;\r\n\tvm.Asset_Laptop=false;\r\n\tvm.Student=false;\r\n\tvm.Intern=false;\r\n\tvm.Adharcard=false;\r\n\tvm.IsAthorizedServicePartner = false;\r\n\tvm.Pancard=false;\r\n\tvm.pincode=[];\r\n\tvm.AlredayPreferred = [];\r\n\tvm.pageindexCount=0;\r\n\tvm.usersLength=0;\r\n\tvm.techpageindexCount=0;\r\n\tvm.selectedFreelancerUserRole=\"\";\r\n\tvm.SortType = 'desc';\r\n vm.SortField = 'CreatedOn';\r\n\t// var startDate = moment(vm.Technicianstartingdate).format(\"YYYY-MM-DD\");\r\n\tvar startDate = moment().subtract(7, 'days').format(\"YYYY-MM-DD\");\r\n\tvar endDate = moment();\r\n\t$scope.dates = { startDate: startDate, endDate:endDate};\r\n\t$scope.ranges = {\r\n\t\t'Today': [moment(), moment()],\r\n // 'Yesterday': [moment().subtract(1, 'days'), moment()],\r\n 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\r\n 'Last 7 days': [moment().subtract(7, 'days'), moment()],\r\n 'Last 30 days': [moment().subtract(30, 'days'), moment()],\r\n 'This month': [moment().startOf('month'), moment().endOf('month')],\r\n 'Till now': [moment(vm.Technicianstartingdate), moment(endDate)],\r\n\t// 'Till now': [startDate ='', startDate ='']\r\n\t};\r\n\r\n$scope.dateRangeChange = function (ev, picker) {\r\n\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n};\r\n$scope.dateRangeChange = function (ev, picker) {\r\n\tstartDate = picker.startDate.format(\"YYYY-MM-DD\");\r\n\tendDate = picker.endDate.format(\"YYYY-MM-DD\");\r\n};\r\n\r\nvm.City='';\r\nvm.Pincode='';\r\nvm.Experience='';\r\nvm.Ratings='';\r\nvm.Assets_Tools='';\r\nvm.Jobscount='';\r\nvm.FilterAdhar='';\r\nvm.FilterPancard='';\r\n$localStorage.filteraddskill ='';\r\n$localStorage.filterPermanentstate ='';\r\nvm.PreferredUsers=[];\r\nif (!loggedinUser) {\r\n\t$state.go('Login', {\r\n\t\treload: true\r\n\t});\r\n} else {\r\n\r\n\tif($localStorage.TechnicianDetailsView =='TechnicianDetails'){\r\n\t\tvm.currentPage = $localStorage.PageIndex?$localStorage.PageIndex:1;\r\n\t}\r\n\telse{\r\n\t\tvm.currentPage = 1;\r\n\t}\r\n\r\n\tvm.currentPage = $localStorage.PageIndex?$localStorage.PageIndex:1;\r\n\tvm.pageSize = 20;\r\n\r\n\t$scope.totalUsers = 0;\r\n\t$scope.usersPerPage = 20; // this should match however many results your API puts on one page\r\n\t$scope.pagination = {\r\n\t\tcurrent: 1\r\n\t};\r\n\r\n\t$scope.pagination.current = $localStorage.PageIndex?$localStorage.PageIndex:1;\r\n\t$scope.totalTableUsers = 0;\r\n\t$scope.usersTablePerPage = 20; // this should match however many results your API puts on one page\r\n\t$scope.UserTablepagination = {\r\n\t\tcurrent: 1\r\n\t};\r\n\r\n\t$scope.UserTablepagination.current = $localStorage.PageIndex?$localStorage.PageIndex:1;\r\n\r\n\t$scope.UserTablepageChanged = function(newPage) {\r\n\t\t\r\n\t\tvm.currentPage = newPage;\r\n\r\n\t\tvm.applyfilter(newPage,'');\r\n //vm.Allapplyfilter(newPage);\r\n };\r\n\r\n\r\n $scope.PreferredUserTablepageChanged = function(newPage) {\r\n\r\n\t\t// vm.GetAllUsers(newPage);\r\n\t\tvm.applyfilter(newPage);\r\n\r\n\t};\r\n\tvm.availableSearchParams = [\r\n\t{ key: \"TemplateName\", name: \"TemplateName\", placeholder: \"TemplateName...\" }\r\n // { key: \"city\", name: \"City\", placeholder: \"City...\" },\r\n // { key: \"country\", name: \"Country\", placeholder: \"Country...\" },\r\n // { key: \"emailAddress\", name: \"E-Mail\", placeholder: \"E-Mail...\", allowMultiple: true },\r\n // { key: \"job\", name: \"Job\", placeholder: \"Job...\" }\r\n ];\r\n\r\n vm.getPicUrl = function (profilePicName) {\r\n \treturn profilePicName ? ImageUrl + \"/\" + profilePicName : null;\r\n }\r\n\r\n\r\n vm.selectState = function (state) {\r\n \tvar Getstate = state;\r\n \tTeamFormCreationService.getCities(loggedinUser,Getstate).then(function (resp) {\r\n \t\tvm.cityList = resp.data.values;\r\n \t\tif (!resp.data) {\r\n \t\t\tvar cityArray = [];\r\n \t\t\tcityArray.push({\r\n \t\t\t\tcity: state\r\n \t\t\t});\r\n \t\t\tvm.cityList = cityArray;\r\n \t\t}\r\n \t}, function () {\r\n\r\n \t});\r\n }\r\n\r\n\t if(vm.loggedInUserRole == \"SuperAdministrator\")\r\n\t {\r\n\t\tvm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\", \"Vendor Team\"];\r\n\t }\r\n\t else\r\n\t {\r\n\t\tvm.UserTypeList = [\"Freelancer\", \"Freelancer Vendor\", \"Vendor Team\"];\r\n\t }\r\n\r\n vm.FreelancerUserRoles = [\r\n {\r\n \tname: 'Freelancer Technician',\r\n \tvalue: 'Technician'\r\n }, \r\n {\r\n \tname: 'Freelancer Vendor',\r\n \tvalue: 'Vendor'\r\n }];\r\n\r\n\r\n\r\n vm.userlayout = vm.selectedFreelancerUserRole;\r\n vm.Checkuserrole=\"\";\r\n vm.userroletype = function (userrole) {\r\n \tif(vm.globalsearch == 'List'){\r\n\r\n \t}else if(vm.globalsearch == 'List1'){\r\n\r\n \t}else{\r\n \t\tvm.globalsearch = '';\r\n \t}\r\n\r\n \tif(userrole == 'Technician'){\r\n \t\tvm.Checkuserrole=\"Technician\";\r\n \t\tvm.showtechnician=true;\r\n \t\tvm.showvendor = false;\t\r\n \t\tvm.UserType = \"Technician\";\r\n \t}\r\n\t\t else if(userrole == 'Vendor'){\r\n \t\tvm.Checkuserrole=\"Technician\";\r\n \t\tvm.showtechnician=false;\r\n \t\tvm.showvendor=true;\r\n \t\tif($localStorage.VendorDetailsView !='VendorDetails'){\r\n \t\t\tvm.AllVendorfilter(null);\r\n \t\t}\r\n \t\tvm.UserType = \"Vendor\";\r\n \t}\r\n\r\n }\r\n\r\n if(vm.UserType){\r\n \tvm.userroletype(vm.UserType);\r\n }\r\n// Freelancer Technician Layout\r\nvm.Technicianviewtypes = [\r\n{\r\n\tname: 'List View',\r\n\tvalue: 'List'\r\n},\r\n{\r\n\tname: 'Card View',\r\n\tvalue: 'Card'\r\n},\r\n\r\n{\r\n\tname: 'Map View',\r\n\tvalue: 'Map'\r\n}\r\n\r\n];\r\n\r\nvm.technicianuserviewtype = vm.Technicianviewtypes[0].value;\r\nvm.userviewlayout = vm.technicianuserviewtype;\r\nvm.globalsearch='';\r\nvm.userviewtype = function (userview) {\r\n\tvm.globalsearch=userview;\r\n\tif(userview == 'Card'){\r\n\t\tif(checkTalentandPreferred=='Preferred')\r\n\t\t{\r\n\t\t\tvm.PreferredUser = true;\r\n\t\t\tvm.techniciancardview=false;\r\n\t\t\tvm.technicianlistview = false;\r\n\t\t\tvm.technicianmapview=false;\r\n\t\t\tvm.PreferredUserlist=false;\r\n\t\t\tvm.preferredtechnicianmapview=false;\t\r\n\t\t}\r\n\t\telse if(checkTalentandPreferred=='TalentPool')\r\n\t\t{\r\n\t\t\tvm.PreferredUser = false;\r\n\t\t\tvm.techniciancardview=true;\r\n\t\t\tvm.technicianlistview = false;\r\n\t\t\tvm.technicianmapview=false;\r\n\t\t\tvm.PreferredUserlist=false;\r\n\t\t\tvm.preferredtechnicianmapview=false;\r\n\r\n\t\t}\r\n\t}else if(userview == 'List'){\r\n\t\tif(checkTalentandPreferred=='Preferred')\r\n\t\t{\r\n\t\t\tvm.PreferredUser = false;\r\n\t\t\tvm.PreferredUserlist=true;\r\n\t\t\tvm.techniciancardview=false;\r\n\t\t\tvm.technicianlistview = false;\r\n\t\t\tvm.technicianmapview=false;\r\n\t\t\tvm.preferredtechnicianmapview=false;\t\r\n\t\t}\r\n\t\telse if(checkTalentandPreferred=='TalentPool')\r\n\t\t{\r\n\t\t\tvm.PreferredUser = false;\r\n\t\t\tvm.techniciancardview=false;\r\n\t\t\tvm.technicianlistview = true;\r\n\t\t\tvm.technicianmapview=false;\r\n\t\t\tvm.PreferredUserlist=false;\r\n\t\t\tvm.preferredtechnicianmapview=false;\t\r\n\t\t}\r\n\t}\r\n\telse if(userview == 'Map'){\r\n\t\tif(checkTalentandPreferred=='Preferred')\r\n\t\t{\r\n\t\t\tvm.PreferredUser = false;\r\n\t\t\tvm.PreferredUserlist=false;\r\n\t\t\tvm.techniciancardview=false;\r\n\t\t\tvm.technicianlistview = false;\r\n\t\t\tvm.technicianmapview=false;\r\n\t\t\tvm.preferredtechnicianmapview=true;\t\r\n\t\t}\r\n\t\telse if(checkTalentandPreferred=='TalentPool')\r\n\t\t{\r\n\t\t\tvm.PreferredUser = false;\r\n\t\t\tvm.techniciancardview=false;\r\n\t\t\tvm.technicianlistview = false;\r\n\t\t\tvm.technicianmapview=true;\r\n\t\t\tvm.PreferredUserlist=false;\r\n\t\t\tvm.preferredtechnicianmapview=false;\t\r\n\t\t}\r\n\t}\r\n}\r\n\r\nvar checkTalentandPreferred=\"TalentPool\";\r\nvm.preferredtechnicianview = function (PreferredUser,PreferredTalentPool) {\r\n\tif(PreferredUser=='Preferred'){\r\n\t\tcheckTalentandPreferred='Preferred';\r\n\t\tvm.techniciancardview=false;\r\n\t\tvm.PreferredUser = true;\r\n\t\tvm.technicianlistview = false;\r\n\t\tvm.technicianmapview=false;\r\n\t\tvm.PreferredUserlist=false;\r\n\t\tvm.preferredtechnicianmapview=false;\r\n\r\n\t\tif(PreferredTalentPool=='Card'){\r\n\t\t\tvm.techniciancardview=false;\r\n\t\t\tvm.PreferredUser = true;\r\n\t\t\tvm.technicianlistview = false;\r\n\t\t\tvm.technicianmapview=false;\r\n\t\t\tvm.PreferredUserlist=false;\r\n\t\t\tvm.preferredtechnicianmapview=false;\r\n\t\t}\r\n\t\telse if(PreferredTalentPool=='List'){\r\n\t\t\tvm.techniciancardview=false;\r\n\t\t\tvm.PreferredUser = false;\r\n\t\t\tvm.technicianlistview = false;\r\n\t\t\tvm.technicianmapview=false;\r\n\t\t\tvm.PreferredUserlist=true;\r\n\t\t\tvm.preferredtechnicianmapview=false;\r\n\t\t}\r\n\t\telse if(PreferredTalentPool=='Map'){\r\n\t\t\tvm.techniciancardview=false;\r\n\t\t\tvm.PreferredUser = false;\r\n\t\t\tvm.technicianlistview = false;\r\n\t\t\tvm.technicianmapview=false;\r\n\t\t\tvm.PreferredUserlist=false;\r\n\t\t\tvm.preferredtechnicianmapview=true;\r\n\t\t\t$(\"#Map\").hide();\r\n\t\t\t$(\"#Map2\").show();\r\n\t\t}\r\n\t}\r\n}\r\n\r\n\r\nvm.allTechnicianview= function(TalentPool,AllTalentPool){\r\n\tif(TalentPool=='TalentPool'){\r\n\t\tcheckTalentandPreferred='TalentPool';\r\n\t\tvm.techniciancardview=true;\r\n\t\tvm.PreferredUser = false;\r\n\t\tvm.technicianlistview = false;\r\n\t\tvm.technicianmapview=false;\r\n\t\tvm.PreferredUserlist=false;\r\n\t\tvm.preferredtechnicianmapview=false;\r\n\r\n\t\tif(AllTalentPool=='Card'){\r\n\t\t\tvm.techniciancardview=true;\r\n\t\t\tvm.PreferredUser = false;\r\n\t\t\tvm.technicianlistview = false;\r\n\t\t\tvm.technicianmapview=false;\r\n\t\t\tvm.PreferredUserlist=false;\r\n\t\t\tvm.preferredtechnicianmapview=false;\r\n\t\t}\r\n\t\telse if(AllTalentPool=='List'){\r\n\t\t\tvm.techniciancardview=false;\r\n\t\t\tvm.PreferredUser = false;\r\n\t\t\tvm.technicianlistview = true;\r\n\t\t\tvm.technicianmapview=false;\r\n\t\t\tvm.PreferredUserlist=false;\r\n\t\t\tvm.preferredtechnicianmapview=false;\r\n\t\t}\r\n\t\telse if(AllTalentPool=='Map'){\r\n\t\t\tvm.techniciancardview=false;\r\n\t\t\tvm.PreferredUser = false;\r\n\t\t\tvm.technicianlistview = false;\r\n\t\t\tvm.technicianmapview=true;\r\n\t\t\tvm.PreferredUserlist=false;\r\n\t\t\tvm.PreferredUsermapview=false;\r\n\t\t\tvm.preferredtechnicianmapview=false;\r\n\t\t\t$(\"#Map\").show();\r\n\t\t\t$(\"#Map2\").hide();\r\n\t\t}\r\n\t}\r\n}\r\n\r\nif($localStorage.selectedFreelancerUserRole){\r\n\tvm.selectedFreelancerUserRole=$localStorage.selectedFreelancerUserRole;\r\n\tvm.userroletype(vm.selectedFreelancerUserRole);\r\n}\r\nelse{\r\n\tvm.selectedFreelancerUserRole = vm.FreelancerUserRoles[0].value;\r\n}\r\n\r\n$scope.isNavCollapsed = true;\r\n$scope.isCollapsed = true;\r\n$scope.isCollapsedHorizontal = false;\r\nvm.getPreferredUser = function(){\r\n\tActiveAllUserService.getPreferredUser(loggedinUser,token).then(function(resp){\r\n\t\tvm.PreferredUsers = resp.data;\r\n\t});\r\n}\r\n\r\n\tvm.Dashboard = function (user) {\r\n\t\t$localStorage.PageIndex = vm.currentPage;\r\n\t\t$localStorage.TechnicianDetailsView ='TechnicianDetails';\r\n\t\tif(vm.technicianuserviewtype =='List'){\r\n\t\t\t$localStorage.Technicianviewtype ='List'\r\n\t\t}\r\n\t\telse{\r\n\t\t\t$localStorage.Technicianviewtype ='Card'\r\n\r\n\t\t}\r\n\t\t// $localStorage.Technicianview ='List'\r\n\t\t$localStorage.FilterData={};\r\n\t\tvar temp = [];\r\n\t\tfor(var i=0;i0)\r\n\t\t\t {\r\n\t\t\t \tfor(var i=0; i 0){\r\n\t\t\t \t\t\t\tfor(var j=0;j0)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tfor(var i=0; i 0){\r\n\t\t\t\t\t\t\t\t\t\tfor(var j=0;j 0){\r\n \r\n // for(var doc = 0; doc< RegisteredUser.BGVerificationDocPath.length;doc++){\r\n // vm.BGDocList[doc] = RegisteredUser.BGVerificationDocPath[doc];\r\n // }\r\n // console.log(vm.BGDocList);\r\n\r\n // for( var m = 0; m 0) {\r\n vm.countrylist = resp.data;\r\n vm.selectedCountry = vm.countrylist[0];\r\n vm.GetAllCircles();\r\n }\r\n }\r\n });\r\n }\r\n vm.getCountry();\r\n\r\n function getallCities(state) {\r\n ReferService.getAllCity(loggedinUser, state,token).then(function (resp) {\r\n vm.CityList = resp.data;\r\n });\r\n }\r\n\r\n vm.GetAllVerticalMasterData = function () {\r\n ActiveUserUpdateService.GetAllVerticalMasterData(loggedinUser, token).then(function (resp) {\r\n if (resp.status == 200) {\r\n vm.verticalList = resp.data.VerticalName;\r\n }\r\n });\r\n }\r\n\r\n vm.GetAllVerticalMasterData();\r\n\r\n \r\n vm.selectedVertical = function (vertical) {\r\n getAllBrands(vertical);\r\n }\r\n\r\n function getAllBrands(vertical) {\r\n ActiveUserUpdateService.GetMasterDataOfServiceCenterByVerticalName(vertical,loggedinUser,token).then(function (resp) {\r\n vm.BrandList = resp.data.BrandNameList;\r\n vm.BrandList.push('Other');\r\n });\r\n }\r\n \r\n vm.selectedBrand = function (brand) {\r\n getAllProducts(brand);\r\n }\r\n\r\n function getAllProducts(brand) {\r\n ActiveUserUpdateService.GetMasterDataOfServiceProductByBrandName(brand,loggedinUser,token).then(function (resp) {\r\n vm.ProductList = resp.data.ProductNameList;\r\n vm.ProductList.push('Other');\r\n });\r\n }\r\n\r\n function getallBaseCities(state) {\r\n ReferService.getAllCity(loggedinUser, state,token).then(function (resp) {\r\n vm.BaseCityList = resp.data;\r\n });\r\n }\r\n\r\n vm.selectedState = function (state) {\r\n getallCities(state);\r\n }\r\n\r\n vm.emptyPincode = function () {\r\n vm.PermanentPincode = '';\r\n }\r\n\r\n vm.selectedBaseState = function (bstate) {\r\n getallBaseCities(bstate);\r\n }\r\n vm.emptyBasePincode = function () {\r\n vm.BasePincode = '';\r\n }\r\n\r\n vm.getPicUrl = function (pic) {\r\n return ImageUrl + \"/\" + pic;\r\n }\r\n\r\n $scope.checkPDF = function(path){\r\n \r\n var pt = path.substr(path.length - 4);\r\n if(pt == '.pdf'){\r\n vm.error = function(){\r\n $(\".pdf\").attr({\"target\" : \"_blank\"})\r\n }\r\n return true;\r\n }\r\n else\r\n {\r\n return false;\r\n }\r\n }\r\n vm.PDFView = function (page) {\r\n MainService.GetImageBlob(loggedinUser, token, page).then(function(resp) {\r\n \r\n vm.pdfimage = resp.data;\r\n });\r\n $scope.selected = null;\r\n $timeout(function(){\r\n jobAppointmentModal = $uibModal.open({\r\n templateUrl: 'PDFView.html',\r\n size :'lg',\r\n scope: $scope\r\n });\r\n },1000)\r\n \r\n }\r\n vm.PDFUserModal = function(){\r\n jobAppointmentModal.close();\r\n }\r\n\r\n vm.changeFile = function (selector) {\r\n angular.element(selector).trigger(\"click\");\r\n }\r\n\r\n vm.changeCertificateFile = function (selector) {\r\n angular.element(selector).trigger(\"click\");\r\n }\r\n vm.VerificationchangeCertificateFile = function (selector) {\r\n angular.element(selector).trigger(\"click\");\r\n }\r\n $scope.uploadImageFile = function (files, type) {\r\n var file = files.files[0];\r\n\r\n var rendomnumber = Math.floor(1000 + Math.random() * 9999);\r\n filename = vm.UserId+\"_ProfilePic_\" + rendomnumber +\".\"+ file.name.split(\".\")[1];\r\n var file = new File([file], filename, {type:file.type});\r\n\r\n if (file.type.indexOf(\"image/jpg\") >= 0 || file.type.indexOf(\"image/png\") >= 0\r\n || file.type.indexOf(\"image/bmp\") >= 0 || file.type.indexOf(\"image/jpeg\") >= 0) {\r\n var data = new FormData();\r\n data.append(\"files\", file);\r\n ActiveUserUpdateService.uploadProfilePic(loggedinUser, data, token, function (res) {\r\n if (res && res.status == 201 && res.data) {\r\n vm[type] = filename;\r\n vm.imageServices(filename);\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to upload profile pic, server error\");\r\n });\r\n } else {\r\n vm.fileUploadError = \"Please upload image only as profile picture.\";\r\n }\r\n }\r\n vm.imageServices = function(img){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n if(resp.data == null || resp.data == '' ){\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n }\r\n else{\r\n vm.profileImg = resp.data;\r\n }\r\n console.log(vm.profileImg);\r\n }, function() {\r\n vm.profileImg = 'assets/images/patterns/photo1.png';\r\n });\r\n \r\n }\r\n vm.DocumentimageServices = function(img,index){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n vm.DocprofileImg[index] = resp.data;\r\n \r\n });\r\n \r\n }\r\n // vm.DocumentUploadimageServices = function(img){\r\n // MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n // vm.DocprofileImg[index] = resp.data;\r\n \r\n // });\r\n \r\n // }\r\n \r\n vm.CertificateimageServices = function(cert,index){\r\n MainService.GetImageBlob(loggedinUser, token, cert).then(function(resp) {\r\n vm.CertprofileImg[index] = resp.data;\r\n \r\n });\r\n \r\n }\r\n vm.VerificationCertificateimageServices = function(cert,index){\r\n MainService.GetImageBlob(loggedinUser, token, cert).then(function(resp) {\r\n vm.VerificationCertprofileImg[index] = resp.data;\r\n \r\n });\r\n \r\n }\r\n vm.UploadCertificateimageServices = function(cert){\r\n MainService.GetImageBlob(loggedinUser, token, cert).then(function(resp) {\r\n vm.UploadCertprofileImg = resp.data;\r\n vm.isnonindeximage = \"1\";\r\n \r\n }); \r\n }\r\n vm.VerificationUploadCertificateimageServices = function(cert){\r\n MainService.GetImageBlob(loggedinUser, token, cert).then(function(resp) {\r\n vm.VerificationUploadCertprofileImg = resp.data;\r\n vm.Verificationisnonindeximage = \"1\";\r\n \r\n });\r\n \r\n }\r\n vm.ToolimageServices = function(cert,index){\r\n MainService.GetImageBlob(loggedinUser, token, cert).then(function(resp) {\r\n vm.ToolDocumentImg[index] = resp.data;\r\n \r\n });\r\n \r\n }\r\n\r\n //background Checks\r\n // $scope.uploadBGFilenew = function (elem) {\r\n // var index = (angular.element(elem).attr(\"data-index\"));\r\n // var doc = vm.BGDocList[index];\r\n // vm.error[doc.DocumentType] = '';\r\n // var file = elem.files[0];\r\n\r\n // var rendomnumber = Math.floor(1000 + Math.random() * 9999);\r\n // filename = vm.UserId+\"_\"+doc.DocumentName.replace(/[^a-zA-Z0-9]/g, '') +\"_\" + rendomnumber +\".\"+ file.name.split(\".\")[1];\r\n // var file = new File([file], filename, {type:file.type});\r\n\r\n // if (file.type == \"application/pdf\" || file.type == \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"\r\n // || file.type == \"application/msword\" || file.type.indexOf(\"image/jpg\") >= 0 || file.type.indexOf(\"image/png\") >= 0\r\n // || file.type.indexOf(\"image/bmp\") >= 0 || file.type.indexOf(\"image/jpeg\") >= 0) {\r\n // var data = new FormData();\r\n // data.append(\"files\", file);\r\n // ActiveUserUpdateService.uploadProfilePic(loggedinUser, data, token, function (res) {\r\n // if (res && res.status == 201 && res.data) {\r\n // doc.DocumentPath = doc.DocumentPath = filename;\r\n // doc.ThirdPartyDocumentPath = doc.ThirdPartyDocumentPath = filename;\r\n // doc.DocumentName = doc.DocumentName;\r\n // doc.DocumentNo = doc.DocumentNo;\r\n // // doc.UpdatedOn = doc.UpdatedOn;\r\n // vm.DocumentimageServices(doc.DocumentPath,index);\r\n // vm.DocumentimageServices(doc.ThirdPartyDocumentPath,index);\r\n // doc.editnew = false;\r\n // }\r\n // }, function (err) {\r\n // vm.showFailure(\"Failed\", \"File name is invalid, unable to upload document\");\r\n // });\r\n // } else {\r\n // vm.error[doc.DocumentType] = \"You can upload image, pdf or word document only\";\r\n // }\r\n // }\r\n \r\n\r\n // $scope.uploadBGFile = function (elem) {\r\n // var index = (angular.element(elem).attr(\"data-index\"));\r\n // var doc = vm.BGDocList[index];\r\n // vm.error[doc.DocumentType] = '';\r\n // var file = elem.files[0];\r\n\r\n // var rendomnumber = Math.floor(1000 + Math.random() * 9999);\r\n // filename = vm.UserId+\"_\"+doc.DocumentName.replace(/[^a-zA-Z0-9]/g, '') +\"_\" + rendomnumber +\".\"+ file.name.split(\".\")[1];\r\n // var file = new File([file], filename, {type:file.type});\r\n\r\n // if (file.type == \"application/pdf\" || file.type == \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"\r\n // || file.type == \"application/msword\" || file.type.indexOf(\"image/jpg\") >= 0 || file.type.indexOf(\"image/png\") >= 0\r\n // || file.type.indexOf(\"image/bmp\") >= 0 || file.type.indexOf(\"image/jpeg\") >= 0) {\r\n // var data = new FormData();\r\n // data.append(\"files\", file);\r\n // ActiveUserUpdateService.uploadProfilePic(loggedinUser, data, token, function (res) {\r\n // if (res && res.status == 201 && res.data) {\r\n // doc.DocumentPath = doc.DocumentPath1 = filename;\r\n // doc.DocumentName = doc.DocumentName;\r\n // vm.DocumentimageServices(doc.DocumentPath,index);\r\n // doc.edit = false;\r\n // }\r\n // }, function (err) {\r\n // vm.showFailure(\"Failed\", \"Unable to upload document, server error\");\r\n // });\r\n // } else {\r\n // vm.error[doc.DocumentType] = \"You can upload image, pdf or word document only\";\r\n // }\r\n // }\r\n\r\n $scope.uploadCertificateFile = function (elem) {\r\n \r\n var index = (angular.element(elem).attr(\"data-index\"));\r\n // var doc = vm.BGDocList[index];\r\n var traning = vm.TrainingList[index];\r\n // vm.error[traning.CertificateName] = '';\r\n var file = elem.files[0];\r\n\r\n var rendomnumber = Math.floor(1000 + Math.random() * 9999);\r\n filename = vm.UserId+\"_TraningCertificate_\" + rendomnumber +\".\"+ file.name.split(\".\")[1];\r\n var file = new File([file], filename, {type:file.type});\r\n\r\n if (file.type == \"application/pdf\" || file.type == \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"\r\n || file.type == \"application/msword\" || file.type.indexOf(\"image/jpg\") >= 0 || file.type.indexOf(\"image/png\") >= 0\r\n || file.type.indexOf(\"image/bmp\") >= 0 || file.type.indexOf(\"image/jpeg\") >= 0) {\r\n var data = new FormData();\r\n data.append(\"files\", file);\r\n ActiveUserUpdateService.uploadProfilePic(loggedinUser, data, token, function (res) {\r\n if (res && res.status == 201 && res.data) {\r\n vm.pathtcertificate = filename;\r\n vm.UploadCertificateimageServices(filename);\r\n \r\n if(vm.pathtcertificate){\r\n vm.tempCertificateAdd = false;\r\n }\r\n traning.TrainingCertificate = traning.TrainingCertificate = filename;\r\n traning.CertificateName = traning.CertificateName;\r\n \r\n traning.edit = false;\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to upload certificate, server error\");\r\n });\r\n } else {\r\n vm.error[traning.CertificateName] = \"You can upload image, pdf or word document only\";\r\n }\r\n }\r\n\r\n $scope.VerificationuploadCertificateFile = function (elem) {\r\n var index = (angular.element(elem).attr(\"data-index\"));\r\n // var doc = vm.BGDocList[index];\r\n var traning = vm.TrainingList[index];\r\n // vm.error[traning.CertificateName] = '';\r\n var file = elem.files[0];\r\n\r\n var rendomnumber = Math.floor(1000 + Math.random() * 9999);\r\n filename = vm.UserId+\"_VerificationTraningCertificate_\" + rendomnumber +\".\"+ file.name.split(\".\")[1];\r\n var file = new File([file], filename, {type:file.type});\r\n\r\n if (file.type == \"application/pdf\" || file.type == \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"\r\n || file.type == \"application/msword\" || file.type.indexOf(\"image/jpg\") >= 0 || file.type.indexOf(\"image/png\") >= 0\r\n || file.type.indexOf(\"image/bmp\") >= 0 || file.type.indexOf(\"image/jpeg\") >= 0) {\r\n var data = new FormData();\r\n data.append(\"files\", file);\r\n ActiveUserUpdateService.uploadProfilePic(loggedinUser, data, token, function (res) {\r\n if (res && res.status == 201 && res.data) {\r\n vm.Verificationpathtcertificate = filename;\r\n vm.VerificationUploadCertificateimageServices(filename);\r\n \r\n if(vm.Verificationpathtcertificate){\r\n vm.VerificationtempCertificateAdd = false;\r\n }\r\n traning.VerificationReportPath = traning.VerificationReportPath = filename;\r\n traning.CertificateName = traning.CertificateName;\r\n \r\n traning.edit = false;\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to upload verification doc, server error\");\r\n });\r\n } else {\r\n vm.error[traning.CertificateName] = \"You can upload image, pdf or word document only\";\r\n }\r\n }\r\n var tempPLocation = {\r\n PreferredState: \"\",\r\n PreferredCity: \"\",\r\n PreferredPincode: \"\"\r\n }\r\n vm.PreferredLocationList.push(tempPLocation);\r\n vm.AddPreferredLocation = function () {\r\n var temp = {};\r\n vm.PreferredLocationList.push(temp);\r\n }\r\n vm.DeletePreferredLocation = function (i) {\r\n vm.PreferredLocationList.splice(i, 1);\r\n }\r\n\r\n for (var i = 0; i <= 30; i++) {\r\n vm.experienceYearList.push(i);\r\n }\r\n\r\n vm.getAllCertificate = function(){\r\n ActiveUserUpdateService.GetAllCertificate(loggedinUser,token,function(data){\r\n vm.AllCertificateSets = data;\r\n },vm.showFailure);\r\n }\r\n vm.getAllCertificate();\r\n\r\n vm.getAllTools = function(){\r\n ActiveUserUpdateService.GetAllToolSets(loggedinUser,token,function(data){\r\n vm.Asset_ToolList = data;\r\n },vm.showFailure);\r\n }\r\n vm.getAllTools();\r\n\r\n vm.addMoreTCertificate = function(){\r\n \r\n var CertificateIssueDate = $filter('date')(new Date(vm.CertificateIssueDate),'yyyy-MM-dd');\r\n var CertificateExpiryDate = $filter('date')(new Date(vm.CertificateExpiryDate),'yyyy-MM-dd');\r\n if(CertificateIssueDate >= CertificateExpiryDate ){\r\n vm.showFailure(\"Expiry date should be greater than Issue Date\");\r\n vm.showTCList = false;\r\n vm.pathtcertificate = '';\r\n vm.addTraningCertificateName = '';\r\n vm.CertificateNo = '';\r\n vm.VerificationAgency='';\r\n vm.CertificateIssueDate = moment();\r\n vm.CertificateExpiryDate = moment();\r\n vm.Verificationpathtcertificate='';\r\n }else{\r\n var tData = {\r\n CertificateName: vm.addTraningCertificateName,\r\n TrainingCertificate: vm.pathtcertificate,\r\n CertificateNo : vm.CertificateNo,\r\n VerificationAgency: vm.VerificationAgency,\r\n CertificateIssueDate: CertificateIssueDate,\r\n CertificateExpiryDate: CertificateExpiryDate,\r\n CertificationYear: '',\r\n AssessmentLevel: '',\r\n Description : '',\r\n VerificationReportPath : vm.Verificationpathtcertificate\r\n }\r\n \r\n if(tData.CertificateName && tData.TrainingCertificate && tData.CertificateIssueDate && tData.CertificateExpiryDate ){\r\n vm.TrainingList.push(tData);\r\n vm.showTCList = false;\r\n vm.addTraningCertificateName = '';\r\n vm.CertificateNo = '';\r\n vm.VerificationAgency ='';\r\n vm.CertificateIssueDate = moment();\r\n vm.CertificateExpiryDate = moment();\r\n vm.pathtcertificate = '';\r\n vm.Verificationpathtcertificate = '';\r\n }else{\r\n vm.showTCList = false;\r\n vm.pathtcertificate = '';\r\n vm.Verificationpathtcertificate = '';\r\n vm.addTraningCertificateName = '';\r\n vm.CertificateNo = '';\r\n vm.VerificationAgency ='';\r\n vm.CertificateIssueDate = moment();\r\n vm.CertificateExpiryDate = moment();\r\n vm.showFailure(\"Warning\", \"You must select Certificate Name,CertificateIssueDate,CertificateExpiryDate & Upload File\");\r\n }\r\n }\r\n }\r\n vm.removeCertificate = function(index){\r\n vm.TrainingList.splice(index,1);\r\n }\r\n\r\n vm.removeCurrentCertificate = function () {\r\n vm.showTCList = false;\r\n vm.addTraningCertificateName = '';\r\n vm.pathtcertificate = '';\r\n vm.Verificationpathtcertificate = '';\r\n }\r\n\r\n vm.showTCList = false;\r\n vm.addMoreCertificateInTable = function(){\r\n vm.showTCList = true;\r\n vm.tempCertificateAdd = true;\r\n }\r\n\r\n //Auth service center\r\n vm.showASCTList = false;\r\n vm.addMoreAuthServiceCenterInTable = function(){\r\n vm.showASCTList = true;\r\n vm.tempCertificateAdd = true;\r\n }\r\n //\r\n\r\n vm.tempCertificateAdd = false;\r\n // vm.enableCertificateAddButton = function(){\r\n // vm.tempCertificateAdd = true;\r\n // }\r\n\r\n vm.getCertificateSets = function () {\r\n var RemoveCertificate = [];\r\n var remainingCertificate = Array.from(vm.AllCertificateSets);\r\n angular.forEach(remainingCertificate, function (d) {\r\n for (var i = 0; i < vm.TrainingList.length; i++) {\r\n if (d.Name == vm.TrainingList[i].CertificateName) {\r\n RemoveCertificate.push(d);\r\n return;\r\n }\r\n }\r\n });\r\n angular.forEach(RemoveCertificate, function (s) {\r\n remainingCertificate.splice(remainingCertificate.indexOf(s), 1);\r\n })\r\n return remainingCertificate;\r\n }\r\n\r\n\r\n vm.getAllSkills = function () {\r\n ActiveUserUpdateService.getAllSkills(loggedinUser, token, function (data) {\r\n vm.AllSkillSets = data;\r\n }, vm.showFailure);\r\n }\r\n vm.getAllSkills();\r\n\r\n vm.getSkillSets = function () {\r\n var RemoveSkills = [];\r\n var remainingSkills = Array.from(vm.AllSkillSets);\r\n angular.forEach(remainingSkills, function (d) {\r\n for (var i = 0; i < vm.SkillList.length; i++) {\r\n if (d.SkillName == vm.SkillList[i].Skill) {\r\n RemoveSkills.push(d);\r\n return;\r\n }\r\n }\r\n });\r\n angular.forEach(RemoveSkills, function (s) {\r\n remainingSkills.splice(remainingSkills.indexOf(s), 1);\r\n })\r\n return remainingSkills;\r\n }\r\n\r\n vm.getAllAccounts = function () {\r\n ActiveUserUpdateService.getAllAccounts(loggedinUser, token).then(function (resp) { \r\n if (resp && resp.data) { \r\n vm.AllAccounts = resp.data;\r\n } \r\n }, function () { \r\n });\r\n } \r\n vm.getAllAccounts();\r\n\r\n vm.AccountChange=function (){\r\n for (var i = 0; i < vm.AllAccounts.length; i++) {\r\n var Acc = vm.AllAccounts[i];\r\n if(Acc.CompanyName == vm.AccountName ) {\r\n vm.SelectedAccount = Acc;\r\n vm.AccountId = vm.SelectedAccount.AccountId;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n vm.getAccounts = function () {\r\n vm.AccountChange();\r\n var RemoveAccounts = [];\r\n var remainingAccounts = Array.from(vm.AllAccounts);\r\n angular.forEach(remainingAccounts, function (d) {\r\n for (var i = 0; i < vm.AccountList.length; i++) {\r\n if (d.CompanyName == vm.AccountList[i].Account) {\r\n RemoveAccounts.push(d);\r\n return;\r\n }\r\n }\r\n });\r\n angular.forEach(RemoveAccounts, function (s) {\r\n remainingAccounts.splice(remainingAccounts.indexOf(s), 1);\r\n })\r\n return remainingAccounts;\r\n }\r\n \r\n\r\n vm.showRow = false;\r\n vm.addMoreSkill = function () {\r\n var skillData = {\r\n Skill: vm.addSkill,\r\n Experience: vm.addExprence,\r\n PercentageScore :'0',\r\n Brand: [],\r\n SelfRatingOnSkill: ''\r\n }\r\n \r\n if(skillData.Skill){\r\n vm.SkillList.push(skillData);\r\n vm.showRow = false;\r\n vm.addExprence = '';\r\n vm.addSkill = '';\r\n }else{\r\n vm.showRow = false;\r\n vm.addExprence = '';\r\n vm.addSkill = '';\r\n vm.showFailure(\"Warning\", \"You must select SKILL & EXPERIENCE\");\r\n }\r\n\r\n }\r\n\r\n vm.removeCurrentSkill = function () {\r\n vm.showRow = false;\r\n vm.addSkill = '';\r\n vm.addExprence = '';\r\n }\r\n\r\n vm.removeSkill = function (index) {\r\n vm.SkillList.splice(index, 1);\r\n }\r\n\r\n vm.addMoreSkillInTable = function () {\r\n vm.showRow = true;\r\n }\r\n\r\n vm.tempSkillList = [];\r\n var skillData = {\r\n Skill: \"\",\r\n Experience: \"\",\r\n Brand: [],\r\n SelfRatingOnSkill: ''\r\n }\r\n vm.tempSkillList.push(skillData);\r\n\r\n vm.tempAddMoreSkill = function () {\r\n var blank = {}\r\n vm.tempSkillList.push(blank);\r\n }\r\n\r\n vm.tempDeleteMoreSkill = function (index) {\r\n vm.tempSkillList.splice(index, 1);\r\n }\r\n\r\n vm.pushTempTOOriginal = function () {\r\n vm.closeSkillModel()\r\n for (var i = 0; i < vm.tempSkillList.length; i++) {\r\n vm.SkillList.push(vm.tempSkillList[i]);\r\n }\r\n console.log(vm.SkillList);\r\n\r\n }\r\n\r\n\r\n vm.showRow1 = false;\r\n vm.addMoreAccounts = function () {\r\n var accountData = {\r\n Account: vm.AccountName,\r\n AccountId: vm.AccountId,\r\n }\r\n \r\n if(accountData.Account){\r\n vm.AccountList.push(accountData);\r\n vm.showRow1 = false;\r\n vm.AccountName = '';\r\n vm.AccountId = '';\r\n }else{\r\n vm.showRow1 = false;\r\n vm.AccountName = '';\r\n vm.AccountId = '';\r\n vm.showFailure(\"Warning\", \"You must select Account\");\r\n }\r\n\r\n }\r\n\r\n vm.removeCurrentAccount = function () {\r\n vm.showRow1 = false;\r\n vm.Account = '';\r\n }\r\n\r\n vm.removeAccount = function (index) {\r\n vm.AccountList.splice(index, 1);\r\n }\r\n\r\n vm.addMoreAccountsInTable = function () {\r\n vm.showRow1 = true;\r\n }\r\n\r\n\r\n vm.sendBoatLink = function(skill){\r\n console.log(skill);\r\n ActiveUserUpdateService.sendBoatLink(loggedinUser, vm.MobileNo, skill, token, function(res){\r\n if (res && res.status == 201){\r\n vm.showSuccess('Success', \"Successfully send link\");\r\n }\r\n },function(err){\r\n vm.showFailure(\"Failed\", \"Unable to send link, server error\");\r\n })\r\n }\r\n\r\n\r\n // vm.Addskill = function () {\r\n // vm.AllBookingList = '';\r\n // $scope.selected = null;\r\n // vm.addSkillModal = $uibModal.open({\r\n // templateUrl: 'Addskill.html',\r\n // size: 'lg',\r\n // scope: $scope\r\n // });\r\n\r\n // }\r\n\r\n // vm.closeSkillModel = function () {\r\n // vm.addSkillModal.close();\r\n // }\r\n\r\n // vm.ToolLists = function (tool) {\r\n // vm.UpdatedToolList.push(tool);\r\n // }\r\n\r\n $p.on('click', function (e) {\r\n var $current = $(e.currentTarget);\r\n var index = $p.index($current);\r\n if (index > currentIndex) {\r\n $container.addClass('forward');\r\n } else {\r\n $container.removeClass('forward');\r\n }\r\n currentIndex = index;\r\n $container.attr('data-step', index);\r\n });\r\n vm.changeStatus = function (status) {\r\n //$log.log(\"status\", status);\r\n if (status == 'Basic') {\r\n //$log.log(\"status\", status);\r\n // vm.RegistrationStatus = \"Basic Checked\";\r\n $('.referalwizard[id=\"2\"]').trigger('click', function (e) {\r\n vm.UserInfoCheck = true;\r\n var $current = $(e.currentTarget);\r\n var index = $p.index($current);\r\n if (index > currentIndex) {\r\n $container.addClass('forward');\r\n } else {\r\n $container.removeClass('forward');\r\n }\r\n currentIndex = index;\r\n $container.attr('data-step', index);\r\n });\r\n }\r\n else if (status == 'Location') {\r\n // vm.RegistrationStatus = \"Location Checked\";\r\n $('.referalwizard[id=\"3\"]').trigger('click', function (e) {\r\n vm.UserLocationCheck = true;\r\n var $current = $(e.currentTarget);\r\n var index = $p.index($current);\r\n if (index > currentIndex) {\r\n $container.addClass('forward');\r\n } else {\r\n $container.removeClass('forward');\r\n }\r\n currentIndex = index;\r\n $container.attr('data-step', index);\r\n });\r\n }\r\n else if (status == 'Document') {\r\n // vm.RegistrationStatus = \"Document Checked\";\r\n $('.referalwizard[id=\"4\"]').trigger('click', function (e) {\r\n vm.UserDocumentCheck = true;\r\n var $current = $(e.currentTarget);\r\n var index = $p.index($current);\r\n if (index > currentIndex) {\r\n $container.addClass('forward');\r\n } else {\r\n $container.removeClass('forward');\r\n }\r\n currentIndex = index;\r\n $container.attr('data-step', index);\r\n });\r\n }\r\n else if (status == 'Traning') {\r\n // vm.RegistrationStatus = \"Document Checked\";\r\n $('.referalwizard[id=\"5\"]').trigger('click', function (e) {\r\n vm.UserTraningCheck = true;\r\n var $current = $(e.currentTarget);\r\n var index = $p.index($current);\r\n if (index > currentIndex) {\r\n $container.addClass('forward');\r\n } else {\r\n $container.removeClass('forward');\r\n }\r\n currentIndex = index;\r\n $container.attr('data-step', index);\r\n });\r\n }\r\n else if (status == 'Assets') {\r\n // vm.RegistrationStatus = \"Assets Checked\";\r\n $('.referalwizard[id=\"6\"]').trigger('click', function (e) {\r\n vm.UserAvailableAssestCheck = true;\r\n var $current = $(e.currentTarget);\r\n var index = $p.index($current);\r\n if (index > currentIndex) {\r\n $container.addClass('forward');\r\n } else {\r\n $container.removeClass('forward');\r\n }\r\n currentIndex = index;\r\n $container.attr('data-step', index);\r\n });\r\n }\r\n else if (status == 'Skill') {\r\n // vm.RegistrationStatus = \"Skill Checked\";\r\n $('.referalwizard[id=\"7\"]').trigger('click', function (e) {\r\n vm.UserSkillCheck = true;\r\n vm.verifyAll = true;\r\n var $current = $(e.currentTarget);\r\n var index = $p.index($current);\r\n if (index > currentIndex) {\r\n $container.addClass('forward');\r\n } else {\r\n $container.removeClass('forward');\r\n }\r\n currentIndex = index;\r\n $container.attr('data-step', index);\r\n });\r\n }\r\n }\r\n\r\n vm.VerifyAllUserInfo = function () {\r\n vm.verifyAll = true;\r\n vm.changeStatus('Basic');\r\n vm.changeStatus('Location');\r\n vm.changeStatus(\"Document\");\r\n vm.changeStatus(\"Traning\");\r\n vm.changeStatus(\"Assets\");\r\n vm.changeStatus(\"Skill\");\r\n vm.UserInfoCheck = true;\r\n vm.UserLocationCheck = true;\r\n vm.UserDocumentCheck = true;\r\n vm.UserTraningCheck = true;\r\n vm.UserAvailableAssestCheck = true;\r\n vm.UserSkillCheck = true;\r\n\r\n // vm.UserInfoCheck == true ? vm.UserInfoCheck = false : vm.UserInfoCheck = true;\r\n // vm.UserLocationCheck == true ? vm.UserLocationCheck = false : vm.UserLocationCheck = true;\r\n // vm.UserDocumentCheck == true ? vm.UserDocumentCheck = false : vm.UserDocumentCheck = true;\r\n // vm.UserAvailableAssestCheck == true ? vm.UserAvailableAssestCheck = false : vm.UserAvailableAssestCheck = true;\r\n // vm.UserSkillCheck == true ? vm.UserSkillCheck = false : vm.UserSkillCheck = true;\r\n }\r\n vm.ApprovedAndRejectTool=function(IsApproved, index)\r\n { \r\n \r\n if(IsApproved==\"Approved\")\r\n vm.ApprovedRejectTool = \"Approved\";\r\n else\r\n vm.ApprovedRejectTool = \"Rejected\";\r\n \r\n vm.ToolsDetailList[index].VerificationStatus=vm.ApprovedRejectTool;\r\n }\r\n vm.ApprovedAndRejectCertificate=function(IsApproved, index)\r\n { \r\n if(IsApproved==\"Approved\")\r\n vm.ApprovedRejectCertificate = \"Approved\";\r\n else\r\n vm.ApprovedRejectCertificate = \"Rejected\";\r\n \r\n vm.TrainingList[index].VerificationStatus=vm.ApprovedRejectCertificate;\r\n }\r\n vm.updateUser = function () {\r\n vm.searchButtonText = 'Updating';\r\n vm.dissbleUpdateButton = true;\r\n if (vm.form1.$valid) {\r\n \r\n var SkillSetModel = [];\r\n for (var skillIndex = 0; skillIndex < vm.SkillList.length; skillIndex++) {\r\n SkillSetModel.push(vm.SkillList[skillIndex]);\r\n }\r\n var AccountSetModel = [];\r\n for (var accountIndex = 0; accountIndex < vm.AccountList.length; accountIndex++) {\r\n AccountSetModel.push(vm.AccountList[accountIndex]);\r\n }\r\n\r\n var TrainingAssessmentModel = [];\r\n for (var trainingIndex = 0; trainingIndex < vm.TrainingList.length; trainingIndex++) {\r\n vm.TrainingList[trainingIndex].Description = null;\r\n TrainingAssessmentModel.push(vm.TrainingList[trainingIndex]);\r\n }\r\n\r\n // console.log(vm.BGDocList);\r\n // for(var i = 0; i< vm.BGDocList.length; i++){\r\n // if(vm.BGDocList[i].DocumentType == 'Id Prof'){\r\n // vm.BGDocList[i].DocumentType = 'Aadhar Card';\r\n // vm.BGDocList[i].DocumentName = vm.BGDocList[i].DocumentName;\r\n // vm.BGDocList[i].DocumentPath = vm.BGDocList[i].DocumentPath; \r\n // }\r\n // }\r\n // console.log('After Update')\r\n // console.log(vm.BGDocList);\r\n\r\n var ToolsDetailListModel = [];\r\n angular.forEach(vm.ToolsDetailList, function (d) {\r\n ToolsDetailListModel.push({\r\n \"ToolName\": d.ToolName,\r\n \"ToolImagePath\": d.ToolImagePath,\r\n \"ToolImageBase64\": [], \r\n \"VerificationStatus\": d.VerificationStatus,\r\n \"VerificationDate\": d.VerificationDate,\r\n \"ItemSerialNumber\": d.ItemSerialNumber,\r\n \"DateOfManufacturing\": d.DateOfManufacturing\r\n });\r\n })\r\n\r\n var BGVerificationDocPathModel = [];\r\n angular.forEach(vm.BGDocList, function (d) {\r\n BGVerificationDocPathModel.push({\r\n \"DocumentType\": d.DocumentType,\r\n \"DocumentName\": d.DocumentName,\r\n \"DocumentPath\": d.DocumentPathName\r\n });\r\n })\r\n // console.log(BGVerificationDocPathModel);\r\n var data = {\r\n \"UserId\": vm.UserId,\r\n \"FirstName\": vm.FirstName,\r\n \"LastName\": vm.LastName,\r\n \"Gender\": vm.Gender,\r\n \"PAN\" : vm.PAN,\r\n \"AdharNo\" : vm.Aadhar,\r\n \"DOB\": vm.DOB,\r\n \"RegistrationStatus\": vm.RegistrationStatus,\r\n \"FatherName\": vm.FatherName,\r\n \"PersonalEmail\": vm.Email,\r\n \"ContactNumber\": vm.MobileNo,\r\n \"AlternativeContactNumber\": \"\",\r\n \"CompanyName\": vm.CompanyName,\r\n \"AddressLine1\": '',\r\n \"AddressLine2\": '',\r\n \"State\": '',\r\n \"City\": '',\r\n \"PinCode\": '',\r\n \"CurAddressLine1\": vm.BaseAddressLine1,\r\n \"CurAddressLine2\": vm.BaseAddressLine2,\r\n \"CurState\": vm.BaseState,\r\n \"CurCity\": vm.BaseCity,\r\n \"CurPinCode\": vm.BasePincode,\r\n \"PerAddressLine1\": vm.AddressLine1,\r\n \"PerAddressLine2\": vm.AddressLine2,\r\n \"PerState\": vm.PermanentState,\r\n \"PerCity\": vm.PermanentCity,\r\n \"PerPinCode\": vm.PermanentPincode,\r\n \"Picture\": vm.Picture,\r\n \"UserQualification\": vm.QualificationList,\r\n \"SkillData\": SkillSetModel,\r\n \"accountData\": AccountSetModel,\r\n // \"Locations\": vm.PreferredLocation,\r\n // \"Expertise\": vm.Expertise,\r\n // \"BGVerificationStatus\": vm.BGVerificationStatus,\r\n \"TrainingAssessment\": TrainingAssessmentModel,\r\n \"BGVerificationDocPath\": BGVerificationDocPathModel,\r\n \"VerificationsRemarks\": null,\r\n \"IsBasicVerified\": vm.UserInfoCheck,\r\n \"IsLocVerified\": vm.UserLocationCheck,\r\n \"IsDocsVerified\": vm.UserDocumentCheck,\r\n \"IsCertificationVerified\" : vm.UserTraningCheck,\r\n \"IsAssetsVerified\": vm.UserAvailableAssestCheck,\r\n \"IsSkillsVerified\": vm.UserSkillCheck,\r\n \"IsMobileAvailable\": vm.Asset_Mobile,\r\n \"IsLaptopAvailable\": vm.Asset_Laptop,\r\n \"IsBikeAvailable\": vm.Asset_Bike,\r\n \"Tools\": vm.Asset_Tools,\r\n \"Locations\":vm.Work_Location,\r\n \"CoverageDistance\" : parseFloat(vm.CoverageDistance),\r\n \"IsStudent\": vm.IsStudent,\r\n \"IsOpenForInternship\": vm.IsOpenForInternship,\r\n \"IsPanVerified\" : vm.IsPanVerified,\r\n \"IsAdharVerified\" : vm.IsAdharVerified,\r\n \"Source\" : vm.Source,\r\n \"Designation\" : vm.Designation,\r\n \"ToolsDetailList\" : ToolsDetailListModel,\r\n \"Experience\" : vm.UserExperience,\r\n \"AccountDetails\":vm.AccountList\r\n \r\n }\r\n\r\n ActiveUserUpdateService.updateuUser(loggedinUser, data, token).then(function (resp) {\r\n if (resp.status == 202) {\r\n vm.showSuccess(\"Registration Status\", \"User Updated Successfully.\");\r\n \r\n $timeout(function () {\r\n if(vm.EditVendorTeam == 'yes'){\r\n $state.go('index.ActiveVendorTeam', { reload: true });\r\n }\r\n else if(vm.EditVendorTeam == 'vendorteam'){\r\n $state.go('index.NewVendorProfile', { \r\n VendorId: vm.VendorId,\r\n type:'Vendor',\r\n reload: true });\r\n }\r\n else{\r\n $state.go(\"index.ActiveAllUser\", {\r\n type:'Technician', \r\n reload: true });\r\n }\r\n \r\n }, 2000);\r\n \r\n \r\n \r\n } else if (resp.data && resp.data.Message) {\r\n vm.showFailure(\"Registration Status\", resp.data.Message);\r\n } else {\r\n vm.showFailure(\"Registration Status\", \"User could not be updated, server is not responding correctly.\");\r\n }\r\n }, function (error) {\r\n vm.showFailure(\"Registration Status\", \"User could not be updated, server is not responding correctly.\");\r\n });\r\n\r\n }\r\n else {\r\n vm.form1.submitted = true;\r\n vm.searchButtonText = 'Update';\r\n vm.showFailure(\"Failed\", \"Please enter correct details.\");\r\n vm.dissbleUpdateButton = false;\r\n }\r\n }\r\n vm.callforCriminalVerification = function(){\r\n ActiveUserUpdateService.callToInitCverification(loggedinUser,vm.UserId, token, function(res){\r\n if (res){\r\n $timeout(function () {\r\n vm.showSuccess('Success', res);\r\n vm.GetUserByRegistrationNo();\r\n }, 1000);\r\n }\r\n else\r\n {\r\n vm.showFailure(\"Failed\", res)\r\n }\r\n },function(){\r\n vm.showFailure(\"Failed\");\r\n })\r\n }\r\n\r\n vm.markActive = function () {\r\n if(vm.SkillList.length > 0 && vm.SkillList != null){\r\n\r\n if ((vm.BGDocList[1] && vm.BGDocList[1].DocumentPath!=null && vm.BGDocList[1].DocumentPath.length>0) && \r\n vm.BGDocList[0] && vm.BGDocList[0].DocumentPath!=null && vm.BGDocList[0].DocumentPath.length>0 ) {\r\n \r\n vm.RegistrationStatus = 'Active';\r\n vm.updateUser();\r\n } else {\r\n if(vm.BGDocList[1].DocumentPath==''){\r\n vm.showFailure(\"Failed\", \"Please upload Address Proof details\");\r\n }else if(vm.BGDocList[0].DocumentPath==''){\r\n vm.showFailure(\"Failed\", \"Please Upload Aadhar Card\");\r\n }\r\n }\r\n }else{\r\n vm.showFailure(\"Failed\", \"Please enter at least one skill\");\r\n } \r\n }\r\n\r\n\r\n vm.CircleList = [];\r\n vm.GetAllCircles = function () {\r\n ActiveUserUpdateService.getStates(loggedinUser,token).then(function (resp) {\r\n if (resp.status == 200) {\r\n if (resp.data && resp.data.length > 0) {\r\n vm.CircleList = resp.data;\r\n }\r\n }\r\n });\r\n }\r\n vm.UserAciveDeactive = function()\r\n { \r\n ActiveUserUpdateService.UserAciveDeactive(loggedinUser, vm.UserId, token).then(function (resp) {\r\n if(resp.status == 202)\r\n { \t\t\t\r\n vm.showSuccess(\"Success\", \"User has been \"+ resp.data +\" successfully\");\r\n } \r\n });\r\n }\r\n\r\n vm.OpenPdfModal= function(PdfPathName)\r\n\t\t{\r\n vm.IsLoadSucessfull=false;\t\r\n MainService.GetImageBlob(loggedinUser, token, PdfPathName).then(function(resp) { \r\n vm.ConvertBase64ToBlob(resp.data);\r\n vm.IsLoadSucessfull=true;\t\r\n });\r\n\t\t\tjobAppointmentModal = $uibModal.open({\r\n\t\t\t\ttemplateUrl: 'SiteAuditPDFView.html',\r\n\t\t\t\tsize :'lg',\r\n\t\t\t\tscope: $scope,\r\n\t\t\t\twindowClass: 'zindex'\r\n\t\t\t\t\r\n\t\t\t});\r\n\t\t}\r\n\t vm.SiteAuditPDFUserModal = function(){\r\n\t\tjobAppointmentModal.close();\r\n\t }\r\n\t\r\n\tvm.ConvertBase64ToBlob = function(response)\r\n\t{\r\n vm.Auditpdf=\"\";\r\n\t\tif(response !=null){\r\n\t\t\tvar arrrayBuffer = base64ToArrayBuffer(response); //data is the base64 encoded string\r\n\t\t\tvar blob = new Blob([arrrayBuffer], {type: \"application/pdf\"});\r\n\t\t\tvm.Auditpdf = URL.createObjectURL(blob);\t\t\t\t\r\n\t\t\tvm.IsLoadSucessfull=true;\r\n\t\t}\r\n\t\telse{\r\n\t\t\tvm.DocumentAvailableMessage=\"Document is not available\";\r\n\t\t\tvm.IsLoadSucessfull=true;\r\n\t\t}\r\n\t}\r\n\tfunction base64ToArrayBuffer(base64) \r\n\t{\r\n\t\tvar ret = base64.replace('data:application/pdf;base64,','');\r\n\t\t\tvar binaryString = atob(ret);\r\n\t\t\tvar binaryLen = binaryString.length;\r\n\t\t\tvar bytes = new Uint8Array(binaryLen);\r\n\t\t\tfor (var i = 0; i < binaryLen; i++) {\r\n\t\t\tvar ascii = binaryString.charCodeAt(i);\r\n\t\t\tbytes[i] = ascii;\r\n\t\t\t}\r\n\t\t\treturn bytes;\r\n\t}\r\n vm.OpenSiteAuditModal = function () \r\n { \r\n siteAuditModalInstance = $uibModal.open({\r\n templateUrl: 'site_audit_model.html',\r\n scope: $scope\r\n }); \r\n }\r\n vm.SiteAuditCloseModal = function () {\r\n siteAuditModalInstance.close();\r\n }\r\n \r\n $scope.attachSiteAudit = function(files){\r\n \r\n vm.ToolAuditFileName=\"\";\r\n var file = files.files[0];\r\n vm.ToolAuditFileName=file.name;\r\n // if(vm.ToolAuditFileName!=\"\") \r\n // { \r\n // $timeout(function () {\r\n // vm.SiteAuditMessage=\"\"; \r\n // }, 100); \r\n // } \r\n vm.ToolAuditFiles = files.files;\r\n var allowedExtensions = /(\\.pdf|\\.doc|\\.docx|\\.xls|\\.xlsx|\\.PDF|\\.DOC|\\.DOCX|\\.XLS|\\.XLSX|\\.JPG|\\.jpg|\\.JPEG|\\.jpeg|\\.PNG|\\.png)$/i; \r\n if(!allowedExtensions.exec(file.name)){\r\n vm.ToolAuditFiles = [];\r\n vm.clear(); \r\n alert('Please upload file having extensions .pdf,.doc,.docs,.xls,.xlsx,.png,.jpeg,.jpg only.');\r\n }\r\n }\r\n \r\n vm.clear = function () {\r\n angular.element(\"input[type='file']\").val(null);\r\n }; \r\n \r\n vm.SiteRescheduleAuditWithoutIndex = function(){ \r\n // if(vm.ToolAuditFileName==\"\") \r\n // return vm.SiteAuditMessage=\"Please Select Audit Report\";\r\n // else\r\n // vm.SiteAuditMessage=\"\";\r\n\r\n var data = {};\r\n data = { \r\n \"AuditResult\": vm.SiteAuditModel, \r\n \"AuditObjectId\": vm.UserId,\r\n \"AuditAttachmentName\": vm.ToolAuditFileName,\r\n \"AuditFor\": \"User\",\r\n \"AuditPurpose\": \"Tools\" \r\n } \r\n siteAuditModalInstance.close(); \r\n ActiveUserUpdateService.AddToolAuditwithAttachment(data, vm.ToolAuditFiles, token, loggedinUser).then(function(res){\r\n if (res && res.status == 202) { \r\n vm.ToolAuditFileName=\"\"; \r\n vm.showSuccess(\"Success\", \"Tool Audit Saved successfully.\");\r\n $timeout(function () {\r\n vm.GetUserByRegistrationNo();\r\n \r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to add tool audit. Server is not responding correctly.\");\r\n }\r\n },vm.showFailure);\r\n }\r\n\r\n ////Exprience Audit\r\n \r\n vm.OpenExperienceAuditModal = function () \r\n { \r\n experienceAuditModalInstance = $uibModal.open({\r\n templateUrl: 'experience_audit_model.html',\r\n scope: $scope\r\n }); \r\n }\r\n vm.ExperienceAuditCloseModal = function () {\r\n experienceAuditModalInstance.close();\r\n }\r\n \r\n $scope.attachExperienceAudit = function(files){\r\n \r\n vm.ExperienceAuditFileName=\"\";\r\n var file = files.files[0];\r\n vm.ExperienceAuditFileName=file.name;\r\n if(vm.ExperienceAuditFileName!=\"\") \r\n { \r\n $timeout(function () {\r\n vm.ExperienceAuditMessage=\"\"; \r\n }, 100); \r\n } \r\n vm.ExperienceAuditFiles = files.files;\r\n var allowedExtensions = /(\\.pdf|\\.doc|\\.docx|\\.xls|\\.xlsx|\\.jpg|\\.jpeg|\\.png|\\.PDF|\\.DOC|\\.DOCX|\\.XLS|\\.XLSX|\\.JPG|\\.JPEG|\\.PNG)$/i; \r\n if(!allowedExtensions.exec(file.name)){ \r\n vm.ExperienceAuditFiles=[]; \r\n vm.clear(); \r\n alert('Please upload file having extensions .jpg,.jpeg,.png,.pdf,.doc,.docs,.xls,.xlsx only.');\r\n }\r\n }\r\n \r\n vm.clear = function () {\r\n angular.element(\"input[type='file']\").val(null);\r\n }; \r\n \r\n vm.ExperienceAuditSave = function(){ \r\n if(vm.ExperienceAuditFileName==\"\") \r\n return vm.ExperienceAuditMessage=\"Please Select Audit Report\";\r\n else\r\n vm.ExperienceAuditMessage=\"\";\r\n\r\n var data = {};\r\n data = { \r\n \"AuditResult\": vm.ExperienceAuditModel, \r\n \"AuditObjectId\": vm.UserId,\r\n \"AuditAttachmentName\": vm.ExperienceAuditFileName,\r\n \"AuditFor\": \"User\",\r\n \"AuditPurpose\": \"Previous Company\" \r\n } \r\n experienceAuditModalInstance.close(); \r\n ActiveUserUpdateService.AddToolAuditwithAttachment(data, vm.ExperienceAuditFiles, token, loggedinUser).then(function(res){\r\n if (res && res.status == 202) { \r\n vm.ExperienceAuditFileName=\"\"; \r\n vm.showSuccess(\"Success\", \"Experience varification details saved successfully.\");\r\n $timeout(function () {\r\n vm.GetUserByRegistrationNo();\r\n \r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to add experience varification details. Server is not responding correctly.\");\r\n }\r\n },vm.showFailure);\r\n }\r\n \r\n /* Start Training Audit */\r\n vm.OpenTrainingAuditModal = function () \r\n { \r\n TrainingAuditModalInstance = $uibModal.open({\r\n templateUrl: 'Training_audit_model.html',\r\n scope: $scope\r\n }); \r\n }\r\n vm.TrainingAuditCloseModal = function () {\r\n TrainingAuditModalInstance.close();\r\n }\r\n vm.TrainingImageFileName=\"\";\r\n vm.TrainingAttendanceFileName=\"\";\r\n $scope.attachTrainingImage = function(files){ \r\n vm.TrainingImageFileName=\"\";\r\n var file = files.files[0];\r\n vm.TrainingImageFileName=file.name; \r\n vm.TrainingImageFiles = files.files;\r\n var allowedExtensions = /(\\.pdf|\\.doc|\\.docx|\\.xls|\\.xlsx|\\.jpg|\\.jpeg|\\.png|\\.PDF|\\.DOC|\\.DOCX|\\.XLS|\\.XLSX|\\.JPG|\\.JPEG|\\.PNG)$/i; \r\n if(!allowedExtensions.exec(file.name)){ \r\n vm.TrainingImageFiles = []; \r\n vm.clear(); \r\n alert('Please upload file having extensions .jpg,.pdf,.doc,.docs,.xls,.xlsx only.');\r\n }\r\n }\r\n $scope.attachTrainingAttendance = function(files){\r\n vm.TrainingAttendanceFileName=\"\";\r\n var file = files.files[0];\r\n vm.TrainingAttendanceFileName=file.name; \r\n vm.TrainingAttendanceFiles = files.files;\r\n var allowedExtensions = /(\\.pdf|\\.doc|\\.docx|\\.xls|\\.xlsx|\\.jpg|\\.jpeg|\\.png|\\.PDF|\\.DOC|\\.DOCX|\\.XLS|\\.XLSX|\\.JPG|\\.JPEG|\\.PNG)$/i; \r\n if(!allowedExtensions.exec(file.name)){ \r\n vm.TrainingAttendanceFiles = []; \r\n vm.clear(); \r\n alert('Please upload file having extensions jpg,.pdf,.doc,.docs,.xls,.xlsx only.');\r\n }\r\n }\r\n \r\n vm.clear = function () {\r\n angular.element(\"input[type='file']\").val(null);\r\n }; \r\n \r\n vm.TrainingAuditSave = function(){\r\n var modelDate= $filter('date')(new Date(vm.TrainingDate),'yyyy-MM-dd');\r\n var currentDate=$filter('date')(new Date(),'yyyy-MM-dd');\r\n if(modelDate>currentDate)\r\n {\r\n vm.showFailure(\"Failed\",\"You can't be select future date\");\r\n return\r\n }\r\n var data = {};\r\n data = {\r\n \"UserId\":vm.UserId,\r\n \"TrainingNo\":\"\",\r\n \"TrainingName\": vm.TrainingName,\r\n \"TrainingDate\": $filter('date')(new Date(vm.TrainingDate),'yyyy-MM-ddThh:mm:ss'),\r\n \"TrainingExpireDate\": \"0001-01-01T00:00:00\",\r\n \"TrainingImage\": vm.TrainingImageFileName,\r\n \"TrainingAttendance\": vm.TrainingAttendanceFileName\r\n } \r\n TrainingAuditModalInstance.close(); \r\n ActiveUserUpdateService.PostMediaFileWithTrainingObject(data, vm.TrainingImageFiles, vm.TrainingAttendanceFiles, token, loggedinUser).then(function(res){\r\n if (res && res.status == 202) { \r\n vm.TrainingAuditFileName=\"\"; \r\n vm.TrainingName=\"\"; \r\n vm.showSuccess(\"Success\", \"Training details Saved successfully.\");\r\n $timeout(function () {\r\n vm.GetUserByRegistrationNo();\r\n \r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to add training details. Server is not responding correctly.\");\r\n }\r\n },vm.showFailure);\r\n }\r\n /* End Training Audit */\r\n vm.getFileType = function(url){\r\n if(url==null || url==\"\")\r\n {\r\n return \"others\";\r\n }\r\n else{\r\n if(url.indexOf(\".jpg\")>=0 || url.indexOf(\".jpeg\")>=0 ||url.indexOf(\".png\")>=0 || url.indexOf(\".JPG\")>=0 || url.indexOf(\".JPEG\")>=0 || url.indexOf(\".PNG\")>=0){\r\n return \"Image\";\r\n } else if(url.indexOf(\".xls\")>=0 || url.indexOf(\".xlsx\")>=0 ||url.indexOf(\".XLS\")>=0 || url.indexOf(\".XLSX\")>=0){\r\n return \"xls\";\r\n } else if(url.indexOf(\".pdf\")>=0 || url.indexOf(\".PDF\")>=0){\r\n return \"pdf\";\r\n } else if(url.indexOf(\".doc\")>=0 || url.indexOf(\".docx\")>=0 || url.indexOf(\".DOC\")>=0 || url.indexOf(\".DOCX\")>=0){\r\n return \"doc\";\r\n } else {\r\n return \"others\";\r\n }\r\n }\r\n }\r\n \r\n vm.WordDownloadtoView = function (page) { \r\n MainService.GetImageBlob(loggedinUser, token, page).then(function(resp) {\r\n window.location.href = resp.data;\r\n }); \r\n }\r\n\r\n ////Start Criminal Audit\r\n \r\n vm.OpenCriminalAuditModal = function () \r\n { \r\n CriminalAuditModalInstance = $uibModal.open({\r\n templateUrl: 'criminal_audit_model.html',\r\n scope: $scope\r\n }); \r\n }\r\n vm.CriminalAuditCloseModal = function () {\r\n CriminalAuditModalInstance.close();\r\n }\r\n \r\n $scope.attachCriminalAudit = function(files){\r\n \r\n vm.CriminalAuditFileName=\"\";\r\n var file = files.files[0];\r\n vm.CriminalAuditFileName=file.name;\r\n \r\n vm.CriminalAuditFiles = files.files;\r\n var allowedExtensions = /(\\.pdf|\\.doc|\\.docx|\\.xls|\\.xlsx|\\.jpg|\\.jpeg|\\.png|\\.PDF|\\.DOC|\\.DOCX|\\.XLS|\\.XLSX|\\.JPG|\\.JPEG|\\.PNG)$/i; \r\n if(!allowedExtensions.exec(file.name)){ \r\n vm.CriminalAuditFiles=[]; \r\n vm.clear(); \r\n alert('Please upload file having extensions .jpg,.jpeg,.png,.pdf,.doc,.docs,.xls,.xlsx only.');\r\n }\r\n }\r\n \r\n vm.clear = function () {\r\n angular.element(\"input[type='file']\").val(null);\r\n }; \r\n \r\n vm.CriminalAuditSave = function(){\r\n var data = {};\r\n data = {\r\n \"UserId\": vm.UserId,\r\n \"DocumentNo\": vm.DocumentNo,\r\n \"VerificationAuthority\": vm.VerificationAuthority,\r\n \"verificationStatus\": vm.CriminalAuditModel,\r\n \"verificationReport\": vm.CriminalAuditFileName \r\n } \r\n CriminalAuditModalInstance.close(); \r\n ActiveUserUpdateService.AddCriminalVerificationwithAttachment(data, vm.CriminalAuditFiles, token, loggedinUser).then(function(res){\r\n if (res && res.status == 202) { \r\n vm.CriminalAuditFileName=\"\"; \r\n vm.DocumentNo=\"\"; \r\n vm.VerificationAuthority=\"\" \r\n vm.showSuccess(\"Success\", \"Criminal varification details saved successfully.\");\r\n $timeout(function () {\r\n vm.GetUserByRegistrationNo();\r\n \r\n }, 1000);\r\n } else if (res && res.data && res.data.Message) {\r\n vm.showFailure(\"Failed\", res.data.Message);\r\n } else {\r\n vm.showFailure(\"Failed\", \"Unable to add Criminal varification details. Server is not responding correctly.\");\r\n }\r\n },vm.showFailure);\r\n }\r\n \r\n ////End Criminal Audit\r\n \r\n\r\n vm.OpenRejectionPopUp = function(){\r\n\t\tvm.userId = vm.UserId;\r\n vm.RejectModel = $uibModal.open({\r\n templateUrl: 'rejectUser_model.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n\t\t\t}, function () { \r\n\t\t\t});\r\n\t\t }\r\n\r\n vm.RejectUserProfile = function(){\r\n vm.rejectForm.submitted = true;\r\n if (vm.rejectForm.$valid) { \r\n vm.rejectButtonStatus = 'Rejecting';\r\n vm.disableRejectButton = true; \r\n ActiveUserUpdateService.RejectUserProfile(vm.userId,vm.rejectRemark,loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) { \r\n vm.showSuccess(\"Success\", resp.data); \r\n vm.closeRejectionPopup();\r\n $timeout(function () {\r\n vm.GetUserByRegistrationNo(); \r\n }, 2000);\r\n }\r\n else{\r\n vm.showFailure(\"Failed\", resp.data); \r\n vm.closeRejectionPopup();\r\n }\r\n }); \r\n }\r\n }\r\n\r\n vm.closeRejectionPopup = function () {\r\n vm.RejectModel.close();\r\n vm.rejectRemark = \"\";\r\n vm.disableRejectButton = false; \r\n vm.rejectButtonStatus = 'Reject';\r\n }\r\n\r\n vm.VerifyUserProfile = function(){\r\n vm.disableRejectButton = true; \r\n ActiveUserUpdateService.VerifyUserProfile(vm.UserId,loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) { \r\n vm.showSuccess(\"Success\", resp.data); \r\n $timeout(function () {\r\n vm.GetUserByRegistrationNo(); \r\n }, 2000);\r\n }\r\n else{\r\n vm.showFailure(\"Failed\", resp.data); \r\n }\r\n }); \r\n }\r\n\r\n }\r\n})\r\n\r\nfunction CheckRegExOnKeyPress(e) {\r\n \r\n var regex = new RegExp(\"^[a-zA-Z0-9\\\\s\\\\.\\\\-]+$\");\r\n var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);\r\n if (regex.test(str)) {\r\n return true;\r\n }\r\n e.preventDefault();\r\n return false;\r\n};\r\nfunction CheckRegExOnKeyPressCertificate(e) {\r\n \r\n var regex = new RegExp(\"^[a-zA-Z0-9\\\\s\\\\.\\\\-\\\\\\\\]+$\");\r\n var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);\r\n if (regex.test(str)) {\r\n return true;\r\n }\r\n e.preventDefault();\r\n return false;\r\n};\nangular.module('inspinia').service('ActiveUserService', function (FreelancerURL, ApiURL, LocationURL, $log, $http) {\r\n\r\n this.GetAllUsers = function (loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerUser/' + loggedinUser + '/GetAllUsers'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId': loggedinUser }\r\n })\r\n }\r\n\r\n this.getUserInfo = function (userId, loggedinUser, token) {\r\n var url = FreelancerURL + \"/api/FreeLancerUser/\" + userId + \"/\" + loggedinUser + \"/byUserId\";\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token':token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n //https://login.mymobiforce.com/freelancerapi/api/FreelancerRecharge/F00000000121/getrechargehistorybyself?StartDate=&EndDate=\r\n \r\n this.getFreelancerHistory = function (userId, loggedinUser,token) {\r\n var url = FreelancerURL + \"/api/FreelancerRecharge/\" + userId + \"/getrechargehistorybyself?StartDate=&EndDate=\";\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token':token, \r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.getAllSkills = function (loggedinUser, token) {\r\n var url = ApiURL + '/api/SkillSets?reqUserId='+loggedinUser;\r\n return $http.get(url, {\r\n headers: {'Token': token, 'UserId': loggedinUser}\r\n });\r\n }\r\n\r\n this.GetAllCircles = function (loggedinUser) {\r\n var url = LocationURL + '/api/Location/' + loggedinUser + '/GetAllCircles'\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json' }\r\n });\r\n }\r\n\r\n this.updateUser = function (userFormData, loggedinUser, token) {\r\n var url = FreelancerURL + '/api/FreeLancerUser/' + loggedinUser + '/PutUser';\r\n return $http.put(url, userFormData, {\r\n headers: { 'Content-Type': 'application/json', 'Token':token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n this.uploadProfilePic = function (loggedinUser, data, token, success, failure) {\r\n $http.post(ApiURL + '/api/User/PostUserPic?reqUserId=' + loggedinUser, data, {\r\n headers: {\r\n 'Content-Type': undefined, 'Token': token, 'UserId': loggedinUser\r\n }\r\n }).then(success, failure);\r\n }\r\n\r\n //http://localhost:50144/api/FreelancerAccount/F00000000000/F00000000106/getaccountbyfreelancerid\r\n this.GetFreelancerBalance = function (loggedinUser, freelancerId, token) {\r\n var url = FreelancerURL + '/api/FreelancerAccount/' + loggedinUser + '/' + freelancerId + '/getaccountbyfreelancerid';\r\n return $http.get(url, {\r\n headers: { 'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser }\r\n });\r\n }\r\n\r\n\r\n})\nangular.module('inspinia').controller('ActiveUserController', function ($log, $uibModal,$filter, $compile,$scope, $timeout,ActiveUserService, ReferService, $localStorage, $state, ImageUrl, $scope, DTOptionsBuilder, $q, DTColumnBuilder, DTColumnDefBuilder) {\r\n\r\n var vm = this;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var token = $localStorage.token;\r\n\r\n if (!loggedinUser) {\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n } else {\r\n var userIndex = 0;\r\n vm.userData = '';\r\n vm.isEdit = false;\r\n vm.dtInstance = {};\r\n vm.searchText = '';\r\n vm.freelancerBalance = '';\r\n\r\n vm.GetAllUsers = function () {\r\n ActiveUserService.GetAllUsers(loggedinUser, token).then(function (resp) {\r\n vm.users = [];\r\n var userList = resp.data;\r\n if (userList.length == 0) {\r\n vm.client = 1;\r\n } else {\r\n angular.forEach(userList, function (d) {\r\n if (d.UserId != loggedinUser) {\r\n d.activationDate = moment(d.CreatedOn, \"YYYY-MM-DDTHH:mm:ss.SSSZ\").format(\"DD MMM YYYY HH:mm:ss \")\r\n vm.users.push(d);\r\n }\r\n })\r\n vm.client = 3;\r\n vm.userInfo = vm.users[userIndex];\r\n vm.GetFreelancerBalance(vm.userInfo.UserId);\r\n }\r\n }, function () {\r\n //$log.log('not working');\r\n })\r\n }\r\n\r\n vm.GetFreelancerBalance = function(freelancerId){\r\n ActiveUserService.GetFreelancerBalance(loggedinUser, freelancerId, token).then(function(resp){\r\n if(resp.status == 200){\r\n vm.freelancerBalance = resp.data.AvailableBalance;\r\n }\r\n \r\n })\r\n }\r\n\r\n vm.getAllSkill = function () {\r\n ActiveUserService.getAllSkills(loggedinUser, token).then(function (resp) {\r\n vm.skills = resp.data;\r\n });\r\n }\r\n\r\n vm.getAllSkill();\r\n\r\n vm.getAllStates = function () {\r\n ReferService.getAllState('U310000000001',token).then(function (resp) {\r\n vm.circles = resp.data.values;\r\n })\r\n }\r\n vm.getAllStates();\r\n\r\n vm.AddTeamMember = function () {\r\n $state.go('index.TeamCreate', {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.getUserInfo = function (userId, loggedinUser) {\r\n ActiveUserService.getUserInfo(userId, loggedinUser, token).then(function (resp) {\r\n vm.userInfo = resp.data;\r\n vm.GetFreelancerBalance(vm.userInfo.UserId);\r\n vm.skill = vm.userInfo.SkillSet;\r\n vm.circle = vm.userInfo.Locations;\r\n }, function () {\r\n //$log.log('not working');\r\n });\r\n }\r\n\r\n vm.ProfileView = function(userid){\r\n $state.go('index.TeamProfile', {\r\n userId: userid\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.ProfileData = function (userId) {\r\n vm.getUserInfo(userId, loggedinUser);\r\n vm.client = 3;\r\n }\r\n\r\n vm.UpdateTeamMember = function (userId) {\r\n var user = {};\r\n user.UserId = vm.userInfo.UserId;\r\n user.Password = vm.userInfo.Password;\r\n user.FirstName = vm.userInfo.FirstName;\r\n user.LastName = vm.userInfo.LastName;\r\n user.Gender = vm.userInfo.Gender;\r\n user.DOB = vm.userInfo.DOB;\r\n user.FatherName = \"\"; //vm.userInfo.FatherName ; t \r\n user.PersonalEmail = vm.userInfo.PersonalEmail;\r\n user.ContactNumber = vm.userInfo.ContactNumber;\r\n user.AlternativeContactNumber = vm.userInfo.AlternativeContactNumber;\r\n user.CompanyName = vm.userInfo.CompanyName;\r\n user.ReportingTo = vm.userInfo.ReportingTo;\r\n user.Role = vm.userInfo.Role;\r\n user.PermanentAdd1 = vm.userInfo.PermanentAdd1;\r\n user.PermanentAdd2 = vm.userInfo.PermanentAdd2;\r\n user.PermanentState = vm.userInfo.PermanentState;\r\n user.PermanentCity = vm.userInfo.PermanentCity;\r\n user.PermanentPinCode = vm.userInfo.PermanentPinCode;\r\n user.CurrentAdd1 = vm.userInfo.CurrentAdd1;\r\n user.CurrentAdd2 = vm.userInfo.CurrentAdd2;\r\n user.CurrentState = vm.userInfo.CurrentState;\r\n user.CurrentCity = vm.userInfo.CurrentCity;\r\n user.CurrentPincode = vm.userInfo.CurrentPinCode;\r\n user.DateOfJoin = vm.userInfo.DateOfJoin;\r\n user.UniqueKey = vm.userInfo.UniqueId;\r\n user.TokenId = vm.userInfo.TokenId;\r\n user.DeviceOS = vm.userInfo.DeviceOS;\r\n user.Expertise = vm.userInfo.Expertise;\r\n user.SkillSet = vm.skill;\r\n user.Locations = vm.circle;\r\n vm.userInfo.SkillSet = vm.skill;\r\n vm.userInfo.Locations = vm.circle;\r\n user.Picture = vm.userInfo.Picture;\r\n ActiveUserService.updateUser(user, loggedinUser, token);\r\n $timeout(function () {\r\n vm.GetAllUsers();\r\n }, 1500);\r\n }\r\n\r\n vm.GetAllUsers();\r\n\r\n vm.getProfilePic = function (pic) {\r\n return ImageUrl + \"/\" + pic;\r\n }\r\n\r\n vm.changeProfilePic = function () {\r\n angular.element(\"#profilePicFile\").trigger(\"click\");\r\n }\r\n\r\n $scope.uploadImageFile = function (files) {\r\n vm.userInfo.PictureError = null;\r\n var file = files.files[0];\r\n if(file.type.indexOf(\"image/jpg\")>=0 || file.type.indexOf(\"image/png\")>=0 \r\n || file.type.indexOf(\"image/bmp\")>=0 |searchTable| file.type.indexOf(\"image/jpeg\")>=0){\r\n var data = new FormData();\r\n $log.log(files.files[0]);\r\n data.append(\"files\", files.files[0]);\r\n ActiveUserService.uploadProfilePic(loggedinUser, data, token, function (res) {\r\n if (res && res.status == 201 && res.data) {\r\n vm.userInfo.Picture = res.data;\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to upload profile pic, server error\");\r\n });\r\n } else {\r\n vm.userInfo.PictureError = \"Please upload image only as profile picture.\";\r\n }\r\n }\r\n vm.searchTable = function () {\r\n vm.dtInstance.DataTable.search(vm.searchText);\r\n vm.dtInstance.DataTable.search(vm.searchText).draw();\r\n };\r\n\r\n vm.RechargeHistory = function() {\r\n RechargeModal = $uibModal.open({\r\n templateUrl: 'rechargeHistory.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n controller: ModalInstanceCtrlHistory,\r\n resolve : {\r\n items : function(){\r\n return {\r\n AccountName:vm.CompanyName,\r\n AccountId:vm.Email\r\n };\r\n }\r\n },\r\n size:'lg' \r\n}); \r\n}\r\n\r\nvm.CloseRechargeModal = function(){\r\n RechargeModal.close();\r\n}\r\n\r\nvar ModalInstanceCtrlHistory = function($scope, $rootScope, $uibModalInstance, items) { \r\nActiveUserService.getFreelancerHistory(vm.userInfo.UserId,loggedinUser, token).then(function(resp){\r\n if (resp && resp.data) {\r\n vm.AccountHistoryData = resp.data;\r\n }\r\n}) \r\n }\r\n\r\n /* vm.dtOptions = DTOptionsBuilder.newOptions().withDOM(\r\n '<\"html5buttons\"B>lTfgitp').withButtons([]).withPaginationType(\r\n 'full_numbers').withOption('lengthChange', false)\r\n .withOption('initComplete', function () {\r\n $('.dataTables_filter input').unbind();\r\n $('.dataTable tbody tr:first-child').trigger(\"click\");\r\n })\r\n .withOption('order', []);*/\r\n\r\n vm.dtOptions = DTOptionsBuilder.fromFnPromise(function(){\r\n var defer = $q.defer();\r\n ActiveUserService.GetAllUsers(loggedinUser, token).then(function(resp){\r\n vm.activeUserList = resp.data;\r\n defer.resolve(vm.activeUserList);\r\n })\r\n return defer.promise;\r\n \r\n })\r\n .withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [0,'desc'])\r\n .withOption('rowCallback', rowCallback)\r\n .withOption('createdRow', createdRow)\r\n .withBootstrap();\r\n \r\n function createdRow(row, data, dataIndex) {\r\n // Recompiling so we can bind Angular directive to the DT\r\n $compile(angular.element(row).contents())($scope);\r\n }\r\n\r\n function rowCallback(nRow, aData, iDisplayIndex, iDisplayIndexFull) {\r\n $('td', nRow).unbind('click');\r\n $('td', nRow).bind('click', function() {\r\n $scope.$apply(function() {\r\n vm.ProfileData(aData.EnrollNo);\r\n });\r\n });\r\n return nRow;\r\n }\r\n\r\n vm.dtColumns = [\r\n DTColumnBuilder.newColumn(null).withTitle('UserId').renderWith(function(data, type, full, meta){\r\n return ' ' + data.EnrollNo + '';\r\n // return ''+full.EnrollNo+'';\r\n //return ''+full.EnrollNo +'';\r\n }),\r\n DTColumnBuilder.newColumn(null).withTitle('Name').renderWith(function(data, type, full, meta){\r\n if(data.Picture == null){\r\n var address = \"assets/images/patterns/photo1.png\";\r\n }else{\r\n address= vm.getProfilePic(data.Picture);\r\n }\r\n return ''\r\n +''+ data.FirstName + ' ' + data.LastName +'';\r\n // return ''\r\n // +''+full.FirstName +' '+ full.LastName+''; \r\n }),\r\n DTColumnBuilder.newColumn('ContactNumber').withTitle('MobileNo').notSortable(),\r\n DTColumnBuilder.newColumn('CreatedOn').withTitle('Activation Date').withOption('type', 'date').renderWith(function(data,type, full){\r\n // var date = $filter('date')(full.CreatedOn, \"MM/dd/yyyy\");\r\n // return ''+dt +'';\r\n var dt = $filter('date')(new Date(data), \"dd/MM/yyyy\");\r\n return dt;\r\n }),\r\n DTColumnBuilder.newColumn('PermanentAdd1').withTitle('Address Line1').notSortable(),\r\n DTColumnBuilder.newColumn('PermanentAdd2').withTitle('Address Line2').notSortable(),\r\n DTColumnBuilder.newColumn('PermanentCity').withTitle('City').notSortable(),\r\n DTColumnBuilder.newColumn('PermanentState').withTitle('State').notSortable(),\r\n DTColumnBuilder.newColumn('PermanentPinCode').withTitle('PinCode').notSortable(),\r\n DTColumnBuilder.newColumn('PersonalEmail').withTitle('Email').notSortable(),\r\n DTColumnBuilder.newColumn('UpdatedById').withTitle('Updated By Id').notSortable(),\r\n DTColumnBuilder.newColumn('UpdatedByName').withTitle('Updated By Name').notSortable(),\r\n \r\n DTColumnBuilder.newColumn('SkillSet').withTitle('Skill').notSortable().renderWith(function(data, type, full, meta){\r\n if(!full.SkillSet)\r\n {\r\n full.SkillSet = [];\r\n } \r\n var skill = full.SkillSet.join(' , ');\r\n return '
'+skill+'
';\r\n }),\r\n DTColumnBuilder.newColumn('Locations').withTitle('Location').notSortable().renderWith(function(data, type,full, meta){\r\n if(!full.Locations)\r\n {\r\n full.Locations = [];\r\n }\r\n var location = full.Locations.join(' , ');\r\n return '
'+location+'
'\r\n }\r\n )\r\n \r\n ];\r\n\r\n \r\n vm.dtOption = DTOptionsBuilder.newOptions().withDOM(\r\n '<\"html5buttons\"B>lTfgitp').withPaginationType(\r\n 'full_numbers').withOption('lengthChange', false)\r\n .withOption('order', []);\r\n\r\n vm.dtColumnDefs = [\r\n //DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable().withClass('td-small-with-panel'),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable()];\r\n }\r\n})\nangular.module('inspinia').service('AccountSettingService', function ($log, $http, CronUrl, SchedulingAPI, ApiURL) {\r\n\r\n this.GetDataForMenu = function (dataType, accountId, loggedinUser, token) {\r\n var url = ApiURL + '/api/SystemSettings/GetDataForMenu?Type=' + dataType + '&AccountId=' + accountId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetProjectSettings = function (ProjectId, accountId, loggedinUser, token) {\r\n var url = ApiURL + '/api/SystemSettings/GetProjectSettings?ProjectId=' + ProjectId + '&AccountId=' + accountId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetAccountConfigSettings = function (accountId, loggedinUser, token) {\r\n var url = ApiURL + '/api/SystemSettings/GetAccountConfigSettings?AccountId=' + accountId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.GetTemplateSettings = function (DocId, accountId, loggedinUser, token) {\r\n var url = ApiURL + '/api/SystemSettings/GetTemplateSettings?DocId=' + DocId + '&AccountId=' + accountId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.UpdateAccountConfigSettings = function (accountId, accountConfigData, loggedinUser, token) {\r\n var url = ApiURL + '/api/SystemSettings/UpdateAccountConfigSettings?AccountId=' + accountId;\r\n return $http.put(url, accountConfigData, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.UpdateProjectSettings = function (projectId, accountId, projectConfigData, loggedinUser, token) {\r\n var url = ApiURL + '/api/SystemSettings/UpdateProjectSettings?ProjectId=' + projectId + '&AccountId=' + accountId;\r\n return $http.put(url, projectConfigData, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n this.UpdateTemplateSettings = function (docId, accountId, templateConfigData, loggedinUser, token) {\r\n var url = ApiURL + '/api/SystemSettings/UpdateTemplateSettings?DocId=' + docId + '&AccountId=' + accountId;\r\n return $http.put(url, templateConfigData, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n // https://perf.mymobiforce.com/coreapi/api/MasterSelectionCriteria/GetAllMaster?UserId=F00000000000\r\nthis.GetAllSecheculingRules = function(loginUser, token){\r\n var url = ApiURL + '/api/MasterSelectionCriteria/GetAllMaster?UserId=' + loginUser;\r\n return $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token':token, 'UserId':loginUser }\r\n });\r\n}\r\n\r\nhttps://perf.mymobiforce.com/coreapi/api/MasterSelectionCriteria/EnableInMyAccount?UserId=U400000000001&RuleIds=Rule_01\r\nthis.SaveSchedulingRule = function(loginUser, ruleidlist,token, success, failure){\r\nvar url = ApiURL +'/api/MasterSelectionCriteria/EnableInMyAccount?UserId='+ loginUser +'&RuleIds='+ruleidlist;\r\n$http.post(url, null, { headers: {'Content-Type': undefined, 'Token': token, 'UserId':loginUser}\r\n}).then(success, failure);\r\n}\r\n\r\n // https://perf.mymobiforce.com/schedulingapi/api/AutoAssignScheduler/GetSchedulerConfig?reqUserId=U350000000001\r\n this.getAssignationRule = function(loggedinUser,token){\r\n var url = SchedulingAPI + '/api/AutoAssignScheduler/GetSchedulerConfig?reqUserId=' + loggedinUser ; \r\n return $http.get(url, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n });\r\n}\r\n\r\n// https://perf.mymobiforce.com/schedulingapi/api/AutoAssignScheduler/PutSchedulerConfigList?reqUserId=U350000000001\r\nthis.SaveAssignationRule = function(loggedinUser, ruleList, token, success, failure){\r\n var url = SchedulingAPI + '/api/AutoAssignScheduler/PutSchedulerConfigList?reqUserId='+ loggedinUser;\r\n $http.put(url,ruleList,{headers: {'Content-Type': 'application/json','Token': token, 'UserId': loggedinUser}}).then(success,failure);\r\n}\r\nthis.GetAllBonusPenalty = function (loggedinUser, token){\r\n var url = ApiURL + '/api/BonusPenalty/GetAllBonusPenalty';\r\n return $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token, 'UserId':loggedinUser}\r\n });\r\n}\r\n\r\n this.UpdateBonusPenalty = function (BonusData,loggedinUser, token) {\r\n var url = ApiURL + '/api/BonusPenalty/UpdateBonusPenalty';\r\n return $http.put(url, BonusData, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token, 'UserId':loggedinUser}\r\n });\r\n}\r\n\r\nthis.GetDataForMenu = function (dataType, accountId, loggedinUser, token) {\r\n var url = ApiURL + '/api/SystemSettings/GetDataForMenu?Type=' + dataType + '&AccountId=' + accountId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\nthis.GetProjectSettings = function (ProjectId, accountId, loggedinUser, token) {\r\n var url = ApiURL + '/api/SystemSettings/GetProjectSettings?ProjectId=' + ProjectId + '&AccountId=' + accountId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\nthis.GetAccountConfigSettings = function (accountId, loggedinUser, token) {\r\n var url = ApiURL + '/api/SystemSettings/GetAccountConfigSettings?AccountId=' + accountId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\nthis.GetTemplateSettings = function (DocId, accountId, loggedinUser, token) {\r\n var url = ApiURL + '/api/SystemSettings/GetTemplateSettings?DocId=' + DocId + '&AccountId=' + accountId;\r\n return $http.get(url, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\nthis.UpdateAccountConfigSettings = function (accountId, accountConfigData, loggedinUser, token) {\r\n var url = ApiURL + '/api/SystemSettings/UpdateAccountConfigSettings?AccountId=' + accountId;\r\n return $http.put(url, accountConfigData, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\nthis.UpdateProjectSettings = function (projectId, accountId, projectConfigData, loggedinUser, token) {\r\n var url = ApiURL + '/api/SystemSettings/UpdateProjectSettings?ProjectId=' + projectId + '&AccountId=' + accountId;\r\n return $http.put(url, projectConfigData, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\nthis.UpdateTemplateSettings = function (docId, accountId, templateConfigData, loggedinUser, token) {\r\n var url = ApiURL + '/api/SystemSettings/UpdateTemplateSettings?DocId=' + docId + '&AccountId=' + accountId;\r\n return $http.put(url, templateConfigData, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Token': token,\r\n 'UserId': loggedinUser\r\n }\r\n });\r\n}\r\n\r\n\r\n\r\n// https://perf.mymobiforce.com/coreapi/api/MasterSelectionCriteria/GetAllMaster?UserId=F00000000000\r\nthis.GetAllSecheculingRules = function(loginUser, token){\r\nvar url = ApiURL + '/api/MasterSelectionCriteria/GetAllMaster?UserId=' + loginUser;\r\nreturn $http.get(url, {\r\n headers: { 'ContentType': 'application/json', 'Token':token, 'UserId':loginUser }\r\n });\r\n}\r\n\r\nhttps://perf.mymobiforce.com/coreapi/api/MasterSelectionCriteria/EnableInMyAccount?UserId=U400000000001&RuleIds=Rule_01\r\nthis.SaveSchedulingRule = function(loginUser, ruleidlist,token, success, failure){\r\nvar url = ApiURL +'/api/MasterSelectionCriteria/EnableInMyAccount?UserId='+ loginUser +'&RuleIds='+ruleidlist;\r\n$http.post(url, null, { headers: {'Content-Type': undefined, 'Token': token, 'UserId':loginUser}\r\n}).then(success, failure);\r\n}\r\n\r\n// https://perf.mymobiforce.com/schedulingapi/api/AutoAssignScheduler/GetSchedulerConfig?reqUserId=U350000000001\r\nthis.getAssignationRule = function(loggedinUser,token){\r\nvar url = SchedulingAPI + '/api/AutoAssignScheduler/GetSchedulerConfig?reqUserId=' + loggedinUser ; \r\nreturn $http.get(url, {\r\n headers: { 'Token': token, 'UserId': loggedinUser }\r\n});\r\n}\r\n\r\nthis.CreateTransactionalAlert = function(reqUserId,token,data){\r\n var url = ApiURL+'/api/alertconfiguration/'+reqUserId+'/CreateTransactionalAlert';\r\n return $http.post(url,data,{\r\n headers:{'Content-Type':'application/json','token':token, 'UserId':reqUserId}\r\n });\r\n}\r\n\r\nthis.GetAllAlertConfiguration = function(reqUserId,token){\r\n\tvar url=ApiURL+'/api/alertconfiguration/'+reqUserId+'/GetAllAlertConfiguration';\r\n\treturn $http.get(url,{\r\n\t\theaders:{'Content-Type':'application/json','token':token, 'UserId':reqUserId}\r\n\t})\r\n}\r\nthis.DeleteAlertConfiguration = function(reqUserId,id,type,token){\r\n return $http({\r\n method: 'DELETE',\r\n url: ApiURL + \"/api/alertconfiguration/\"+reqUserId+ \"/\"+id+\"/\"+type+\"/DeleteAlertConfiguration\",\r\n data: { \r\n },\r\n headers: {\r\n 'Content-type': 'application/json', 'token':token, 'UserId':reqUserId\r\n }\r\n })\r\n }\r\n\r\nthis.GetAlertConfiguration = function(reqUserId,id,type,token){\r\n\tvar url=ApiURL+'/api/alertconfiguration/'+reqUserId+'/'+id+'/'+type+'/GetAlertConfiguration';\r\n\treturn $http.get(url,{\r\n\t\theaders:{'Content-Type':'application/json','token':token, 'UserId':reqUserId}\r\n\t})\r\n}\r\n\r\n// https://perf.mymobiforce.com/schedulingapi/api/AutoAssignScheduler/PutSchedulerConfigList?reqUserId=U350000000001\r\nthis.SaveAssignationRule = function(loggedinUser, ruleList, token, success, failure){\r\nvar url = SchedulingAPI + '/api/AutoAssignScheduler/PutSchedulerConfigList?reqUserId='+ loggedinUser;\r\n$http.put(url,ruleList,{headers: {'Content-Type': 'application/json','Token': token, 'UserId': loggedinUser}}).then(success,failure);\r\n}\r\nthis.GetAllBonusPenalty = function (loggedinUser, token){\r\nvar url = ApiURL + '/api/BonusPenalty/GetAllBonusPenalty';\r\nreturn $http.get(url,{\r\n headers:{'Content-Type':'application/json',\r\n 'Token': token, 'UserId':loggedinUser}\r\n});\r\n}\r\n\r\nthis.UpdateBonusPenalty = function (BonusData,loggedinUser, token) {\r\n var url = ApiURL + '/api/BonusPenalty/UpdateBonusPenalty';\r\nreturn $http.put(url, BonusData, {\r\n headers: { 'Content-Type': 'application/json',\r\n 'Token':token, 'UserId':loggedinUser}\r\n});\r\n}\r\n\r\n});\r\n\r\n\nangular.module('inspinia').controller('AccountSettingController', function (AccountSettingService,CentralHelpdeskConfigService,$stateParams,MailUrl, $localStorage, $state, $timeout, $uibModal, DTOptionsBuilder, DTColumnBuilder, $compile, $q, DTColumnDefBuilder, $scope, $log, AccountSettingService, $localStorage, ReportService, DashboardURL) {\r\n var vm = this;\r\n\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n if (!loggedinUser) {\r\n\r\n $state.go('Login', {\r\n reload: true\r\n });\r\n\r\n } else {\r\n vm.AlertType = $stateParams.alertType;\r\n var token = $localStorage.token;\r\n vm.accountConfig = $localStorage.accountConfig;\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.accountId = \"\";\r\n vm.ProjectId = \"\";\r\n // vm.DocId = \"\";\r\n $scope.distance = 0;\r\n $scope.updateBikePosition = function () {\r\n var rangeSlider = document.getElementById('distanceRange');\r\n var bikeIcon = document.getElementById('bikeIcon');\r\n var rangeWidth = rangeSlider.offsetWidth;\r\n var rangeValue = rangeSlider.value;\r\n var bikePosition = (rangeValue / rangeSlider.max) * rangeWidth;\r\n bikeIcon.style.transform = 'translateX(' + bikePosition + 'px)';\r\n }\r\n\r\n vm.getAllAccounts = function ( ) {\r\n CentralHelpdeskConfigService.getAllAccounts(loggedinUser, token).then(function (resp) { \r\n if (resp && resp.data) { \r\n if(resp.status==200)\r\n {\r\n vm.HDAllAccounts = resp.data;\r\n\r\n }\r\n } \r\n }, function () { \r\n });\r\n }\r\n\r\n vm.getAllAccounts(); \r\n\r\n\r\n vm.headingName = \"Account Settings\";\r\n\r\n vm.GetDataForMenu = function (dataType) {\r\n AccountSettingService.GetDataForMenu(dataType, vm.accountId, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.dataForMenu = resp.data;\r\n }\r\n }, vm.showFailure);\r\n }\r\n vm.GetProjectSettings = function (ProjectId) {\r\n if (ProjectId) {\r\n vm.ProjectId = ProjectId;\r\n }\r\n vm.headingName = 'Project Settings';\r\n AccountSettingService.GetProjectSettings(vm.ProjectId, vm.accountId, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.currentConfig = resp.data;\r\n }\r\n }, vm.showFailure);\r\n }\r\n vm.GetAccountConfigSettings = function () {\r\n if(vm.accountId == null)\r\n {\r\n vm.accountId = \"\";\r\n }\r\n vm.headingName = 'Account Settings';\r\n AccountSettingService.GetAccountConfigSettings(vm.accountId, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.currentConfig = resp.data;\r\n }\r\n }, vm.showFailure);\r\n }\r\n\r\n vm.GetAccountConfigSettings();\r\n\r\n vm.GetTemplateSettings = function (DocId) {\r\n if (DocId) {\r\n vm.DocId = DocId;\r\n }\r\n vm.headingName = 'Template Settings';\r\n AccountSettingService.GetTemplateSettings(vm.DocId, vm.accountId, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.data) {\r\n vm.currentConfig = resp.data;\r\n }\r\n }, vm.showFailure);\r\n }\r\n\r\n var accountConfigData = [];\r\n vm.UpdateAccountConfigSettings = function () {\r\n var updatedConfig = {}\r\n for (var index = 0; index < vm.currentConfig.length; index++) {\r\n var updatedConfig = {\r\n \"ItemName\": vm.currentConfig[index].ItemName,\r\n \"ItemDisplayName\": vm.currentConfig[index].ItemDisplayName,\r\n \"ItemValue\": vm.currentConfig[index].ItemValue,\r\n \"ItemType\": vm.currentConfig[index].ItemType,\r\n \"ItemFrom\": \"AccountConfig\",\r\n \"ItemDescription\": vm.currentConfig[index].ItemDescription,\r\n }\r\n accountConfigData.push(updatedConfig);\r\n }\r\n AccountSettingService.UpdateAccountConfigSettings(vm.accountId, accountConfigData, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n $timeout(function () {\r\n vm.GetAccountConfigSettings();\r\n }, 2000);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n var projectConfigData = [];\r\n vm.UpdateProjectSettings = function () {\r\n var updatedConfig = {}\r\n for (var index = 0; index < vm.currentConfig.length; index++) {\r\n var updatedConfig = {\r\n \"ItemName\": vm.currentConfig[index].ItemName,\r\n \"ItemDisplayName\": vm.currentConfig[index].ItemDisplayName,\r\n \"ItemValue\": vm.currentConfig[index].ItemValue,\r\n \"ItemType\": vm.currentConfig[index].ItemType,\r\n \"ItemFrom\": \"Project\",\r\n \"ItemDescription\": vm.currentConfig[index].ItemDescription,\r\n }\r\n projectConfigData.push(updatedConfig);\r\n }\r\n AccountSettingService.UpdateProjectSettings(vm.ProjectId, vm.accountId, projectConfigData, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n $timeout(function () {\r\n vm.GetProjectSettings(vm.ProjectId);\r\n }, 2000);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n }, function () {\r\n });\r\n }\r\n\r\n var templateConfigData = [];\r\n vm.UpdateTemplateSettings = function () {\r\n var updatedConfig = {}\r\n for (var index = 0; index < vm.currentConfig.length; index++) {\r\n var updatedConfig = {\r\n \"ItemName\": vm.currentConfig[index].ItemName,\r\n \"ItemDisplayName\": vm.currentConfig[index].ItemDisplayName,\r\n \"ItemValue\": vm.currentConfig[index].ItemValue,\r\n \"ItemType\": vm.currentConfig[index].ItemType,\r\n \"ItemFrom\": \"Template\",\r\n \"ItemDescription\": vm.currentConfig[index].ItemDescription,\r\n }\r\n templateConfigData.push(updatedConfig);\r\n }\r\n AccountSettingService.UpdateTemplateSettings(vm.DocId, vm.accountId, templateConfigData, loggedinUser, token).then(function (resp) {\r\n if (resp && resp.status == 200) {\r\n vm.showSuccess(\"Success\", resp.data);\r\n $timeout(function () {\r\n vm.GetTemplateSettings(vm.DocId);\r\n }, 2000);\r\n }\r\n else {\r\n vm.showFailure(\"Failed\", resp.data);\r\n }\r\n }, function () {\r\n });\r\n }\r\n///////// Scheduling rule \r\nvm.activeTab = ''; \r\n\r\nvm.activateTab = function(tab) {\r\n vm.activeTab = tab;\r\n vm.headingName =tab;\r\n };\r\n vm.toolScRuleList = [];\r\n vm.assetScRuleList = [];\r\n vm.certificateScRuleList = [];\r\n vm.roleScRuleList = [];\r\n vm.TalentPoolScRuleList = [];\r\n vm.dtInstance = {};\r\n vm.dtInstance_Certi = {};\r\n vm.dtInstance_Asset = {};\r\n vm.dtInstance_Tool = {};\r\n vm.dtInstance_TalentPool = {};\r\n vm.getAllSchedulingRules = function () {\r\n AccountSettingService.GetAllSecheculingRules(loggedinUser, token).then(function (res) {\r\n vm.ruleList = res.data;\r\n vm.toolScRuleList = [];\r\n vm.assetScRuleList = [];\r\n vm.certificateScRuleList = [];\r\n vm.roleScRuleList = [];\r\n vm.TalentPoolScRuleList = [];\r\n for (var i = 0; i < vm.ruleList.length; i++) {\r\n if (vm.ruleList[i].RuleType == 'Certificate') {\r\n vm.certificateScRuleList.push(vm.ruleList[i]);\r\n } else if (vm.ruleList[i].RuleType == 'Asset') {\r\n vm.assetScRuleList.push(vm.ruleList[i]);\r\n } else if (vm.ruleList[i].RuleType == 'Tool') {\r\n vm.toolScRuleList.push(vm.ruleList[i]);\r\n } else if (vm.ruleList[i].RuleType == 'Role') {\r\n vm.roleScRuleList.push(vm.ruleList[i]);\r\n } else if (vm.ruleList[i].RuleType == 'TalentPool') {\r\n vm.TalentPoolScRuleList.push(vm.ruleList[i]);\r\n }\r\n \r\n }\r\n if (vm.roleScRuleList) {\r\n vm.GenerateRoleTable();\r\n }\r\n if (vm.certificateScRuleList) {\r\n vm.GenerateCertificateTable();\r\n }\r\n if (vm.assetScRuleList) {\r\n vm.GenerateAssetsTable();\r\n }\r\n if (vm.toolScRuleList) {\r\n vm.GenerateToolTable();\r\n }\r\n if (vm.TalentPoolScRuleList) {\r\n vm.GenerateTalentPoolTable();\r\n }\r\n })\r\n }\r\n vm.getAllSchedulingRules();\r\n\r\n\r\n vm.GenerateRoleTable = function () {\r\n\r\n vm.headerCompiled = false;\r\n vm.selected = {};\r\n vm.selectAll = false;\r\n vm.toggleAll = toggleAll;\r\n vm.toggleOne = toggleOne;\r\n // var titleHtml = '
';\r\n\r\n vm.dtOptions = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n defer.resolve(vm.roleScRuleList);\r\n return defer.promise;\r\n })\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withBootstrap()\r\n .withOption('createdRow', function (row, data, dataIndex) {\r\n $compile(angular.element(row).contents())($scope);\r\n })\r\n .withOption('headerCallback', function (header) {\r\n if (!vm.headerCompiled) {\r\n // Use this headerCompiled field to only compile header once\r\n vm.headerCompiled = true;\r\n $compile(angular.element(header).contents())($scope);\r\n }\r\n });\r\n\r\n\r\n vm.dtColumns = [\r\n DTColumnBuilder.newColumn(null).withTitle(null).renderWith(function (data, type, full, meta) {\r\n vm.selected[meta.row] = data.IsEnable;\r\n return '
';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn('RuleId').withTitle('Rule Id').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n }),\r\n DTColumnBuilder.newColumn('Description').withTitle('Role Description').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n })\r\n\r\n\r\n ];\r\n\r\n function toggleAll(selectAll, selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n selectedItems[id] = selectAll;\r\n }\r\n }\r\n }\r\n function toggleOne(selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n vm.roleScRuleList[id].IsEnable = selectedItems[id];\r\n // if (!selectedItems[id]) {\r\n // \tvm.selectAll = false;\r\n // \treturn;\r\n // }\r\n }\r\n\r\n }\r\n vm.selectAll = true;\r\n }\r\n\r\n }\r\n\r\n\r\n vm.GenerateCertificateTable = function () {\r\n\r\n vm.headerCompiled_Certi = false;\r\n vm.selected_Certi = {};\r\n vm.selectAll_Certi = false;\r\n vm.toggleAll_Certi = toggleAll_Certi;\r\n vm.toggleOne_Certi = toggleOne_Certi;\r\n // var titleHtml_Certi = '
';\r\n\r\n vm.dtOptions_Certi = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n defer.resolve(vm.certificateScRuleList);\r\n return defer.promise;\r\n })\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withBootstrap()\r\n .withOption('createdRow', function (row, data, dataIndex) {\r\n $compile(angular.element(row).contents())($scope);\r\n })\r\n .withOption('headerCallback', function (header) {\r\n if (!vm.headerCompiled_Certi) {\r\n // Use this headerCompiled field to only compile header once\r\n vm.headerCompiled_Certi = true;\r\n $compile(angular.element(header).contents())($scope);\r\n }\r\n });\r\n\r\n\r\n vm.dtColumns_Certi = [\r\n DTColumnBuilder.newColumn(null).withTitle(null).renderWith(function (data, type, full, meta) {\r\n vm.selected_Certi[meta.row] = data.IsEnable;\r\n return '
';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn('RuleId').withTitle('Rule Id').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n }),\r\n DTColumnBuilder.newColumn('Description').withTitle('Certificate Description').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n })\r\n\r\n\r\n ];\r\n\r\n function toggleAll_Certi(selectAll, selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n selectedItems[id] = selectAll;\r\n }\r\n }\r\n }\r\n function toggleOne_Certi(selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n vm.certificateScRuleList[id].IsEnable = selectedItems[id];\r\n // if (!selectedItems[id]) {\r\n // \tvm.selectAll_Certi = false;\r\n // \treturn;\r\n // }\r\n }\r\n }\r\n vm.selectAll_Certi = true;\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n vm.GenerateAssetsTable = function () {\r\n\r\n vm.headerCompiled_Asset = false;\r\n vm.selected_Asset = {};\r\n vm.selectAll_Asset = false;\r\n vm.toggleAll_Asset = toggleAll_Asset;\r\n vm.toggleOne_Asset = toggleOne_Asset;\r\n // var titleHtml_Asset = '
';\r\n\r\n vm.dtOptions_Asset = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n defer.resolve(vm.assetScRuleList);\r\n return defer.promise;\r\n })\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withBootstrap()\r\n .withOption('createdRow', function (row, data, dataIndex) {\r\n $compile(angular.element(row).contents())($scope);\r\n })\r\n .withOption('headerCallback', function (header) {\r\n if (!vm.headerCompiled_Asset) {\r\n // Use this headerCompiled field to only compile header once\r\n vm.headerCompiled_Asset = true;\r\n $compile(angular.element(header).contents())($scope);\r\n }\r\n });\r\n\r\n\r\n vm.dtColumns_Asset = [\r\n DTColumnBuilder.newColumn(null).withTitle(null).renderWith(function (data, type, full, meta) {\r\n vm.selected_Asset[meta.row] = data.IsEnable;\r\n return '
';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn('RuleId').withTitle('Rule Id').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n }),\r\n DTColumnBuilder.newColumn('Description').withTitle('Assets Description').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n })\r\n\r\n\r\n ];\r\n\r\n function toggleAll_Asset(selectAll, selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n selectedItems[id] = selectAll;\r\n }\r\n }\r\n }\r\n function toggleOne_Asset(selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n vm.assetScRuleList[id].IsEnable = selectedItems[id];\r\n // if (!selectedItems[id]) {\r\n // \tvm.selectAll_Asset = false;\r\n // \treturn;\r\n // }\r\n }\r\n }\r\n vm.selectAll_Asset = true;\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n vm.GenerateToolTable = function () {\r\n\r\n vm.headerCompiled_Tool = false;\r\n vm.selected_Tool = {};\r\n vm.selectAll_Tool = false;\r\n vm.toggleAll_Tool = toggleAll_Tool;\r\n vm.toggleOne_Tool = toggleOne_Tool;\r\n // var titleHtml_Tool = '
';\r\n\r\n vm.dtOptions_Tool = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n defer.resolve(vm.toolScRuleList);\r\n return defer.promise;\r\n })\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withBootstrap()\r\n .withOption('createdRow', function (row, data, dataIndex) {\r\n $compile(angular.element(row).contents())($scope);\r\n })\r\n .withOption('headerCallbacks', function (header) {\r\n if (!vm.headerCompiled_Tool) {\r\n // Use this headerCompiled field to only compile header once\r\n vm.headerCompiled_Tool = true;\r\n $compile(angular.element(header).contents())($scope);\r\n }\r\n });\r\n\r\n\r\n vm.dtColumns_Tool = [\r\n DTColumnBuilder.newColumn(null).withTitle(null).renderWith(function (data, type, full, meta) {\r\n vm.selected_Tool[meta.row] = data.IsEnable;\r\n return '
';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn('RuleId').withTitle('Rule Id').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n }),\r\n DTColumnBuilder.newColumn('Description').withTitle('Tools Description').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n })\r\n\r\n\r\n ];\r\n \r\n function toggleAll_Tool(selectAll, selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n selectedItems[id] = selectAll;\r\n }\r\n }\r\n }\r\n function toggleOne_Tool(selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n vm.toolScRuleList[id].IsEnable = selectedItems[id];\r\n // if (!selectedItems[id]) {\r\n // \tvm.selectAll_Tool = false;\r\n // \treturn;\r\n // }\r\n }\r\n }\r\n vm.selectAll_Tool = true;\r\n }\r\n\r\n }\r\n\r\n vm.GenerateTalentPoolTable = function () {\r\n\r\n vm.headerCompiled_TalentPool = false;\r\n vm.selected_TalentPool = {};\r\n vm.selectAll_TalentPool = false;\r\n vm.toggleAll_TalentPool = toggleAll_TalentPool;\r\n vm.toggleOne_TalentPool = toggleOne_TalentPool;\r\n // var titleHtml_TalentPool = '
';\r\n\r\n vm.dtOptions_TalentPool = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n defer.resolve(vm.TalentPoolScRuleList);\r\n return defer.promise;\r\n })\r\n .withPaginationType('full_numbers')\r\n .withOption('order', [])\r\n .withBootstrap()\r\n .withOption('createdRow', function (row, data, dataIndex) {\r\n $compile(angular.element(row).contents())($scope);\r\n })\r\n .withOption('headerCallbacks', function (header) {\r\n if (!vm.headerCompiled_TalentPool) {\r\n // Use this headerCompiled field to only compile header once\r\n vm.headerCompiled_TalentPool = true;\r\n $compile(angular.element(header).contents())($scope);\r\n }\r\n });\r\n\r\n\r\n \r\n vm.dtColumns_TalentPool = [\r\n DTColumnBuilder.newColumn(null).withTitle(null).renderWith(function (data, type, full, meta) {\r\n vm.selected_TalentPool[meta.row] = data.IsEnable;\r\n return '
';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn('RuleId').withTitle('Rule Id').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n }),\r\n DTColumnBuilder.newColumn('Description').withTitle('Talent Pool Description').notSortable().renderWith(function (data) {\r\n return '' + data + '';\r\n })\r\n\r\n\r\n ];\r\n function toggleAll_TalentPool(selectAll, selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n selectedItems[id] = selectAll;\r\n }\r\n }\r\n }\r\n function toggleOne_TalentPool(selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n vm.TalentPoolScRuleList[id].IsEnable = selectedItems[id];\r\n // if (!selectedItems[id]) {\r\n // \tvm.selectAll_TalentPool = false;\r\n // \treturn;\r\n // }\r\n }\r\n }\r\n vm.selectAll_TalentPool = true;\r\n }\r\n\r\n }\r\n vm.reloadData = function () {\r\n var resetPaging = true;\r\n vm.dtInstance.reloadData(resetPaging);\r\n vm.dtInstance_Certi.reloadData(resetPaging);\r\n vm.dtInstance_Asset.reloadData(resetPaging);\r\n vm.dtInstance_Tool.reloadData(resetPaging);\r\n vm.dtInstance_TalentPool.reloadData(resetPaging);\r\n\r\n }\r\n\r\n vm.SaveSchedulingRule = function () {\r\n\r\n var RuleIdList = '';\r\n for (var i = 0; i < vm.roleScRuleList.length; i++) {\r\n if (vm.selected[i] == true) {\r\n if (!RuleIdList) {\r\n RuleIdList = vm.roleScRuleList[i].RuleId;\r\n } else {\r\n RuleIdList = RuleIdList + \",\" + vm.roleScRuleList[i].RuleId;\r\n }\r\n }\r\n }\r\n for (var j = 0; j < vm.certificateScRuleList.length; j++) {\r\n if (vm.certificateScRuleList[j].IsEnable == true) {\r\n if (!RuleIdList) {\r\n RuleIdList = vm.certificateScRuleList[j].RuleId;\r\n } else {\r\n RuleIdList = RuleIdList + \",\" + vm.certificateScRuleList[j].RuleId;\r\n }\r\n }\r\n }\r\n for (var k = 0; k < vm.assetScRuleList.length; k++) {\r\n if (vm.assetScRuleList[k].IsEnable == true) {\r\n if (!RuleIdList) {\r\n RuleIdList = vm.assetScRuleList[k].RuleId;\r\n } else {\r\n RuleIdList = RuleIdList + \",\" + vm.assetScRuleList[k].RuleId;\r\n }\r\n }\r\n }\r\n for (var l = 0; l < vm.toolScRuleList.length; l++) {\r\n if (vm.toolScRuleList[l].IsEnable == true) {\r\n if (!RuleIdList) {\r\n RuleIdList = vm.toolScRuleList[l].RuleId;\r\n } else {\r\n RuleIdList = RuleIdList + \",\" + vm.toolScRuleList[l].RuleId;\r\n }\r\n }\r\n }\r\n for (var l = 0; l < vm.TalentPoolScRuleList.length; l++) {\r\n if (vm.TalentPoolScRuleList[l].IsEnable == true) {\r\n if (!RuleIdList) {\r\n RuleIdList = vm.TalentPoolScRuleList[l].RuleId;\r\n } else {\r\n RuleIdList = RuleIdList + \",\" + vm.TalentPoolScRuleList[l].RuleId;\r\n }\r\n }\r\n }\r\n AccountSettingService.SaveSchedulingRule(loggedinUser, RuleIdList, token, function (res) {\r\n if (res.data) {\r\n vm.showSuccess(\"Success\", \"Successfully Save Scheduling Rules\");\r\n // vm.getAllSchedulingRules();\r\n // // vm.reloadData();\r\n $timeout(function () {\r\n $state.reload();\r\n }, 2000);\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to Save Scheduling Rule.\");\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n //// Assignation Rule\r\n vm.dtInstance = {};\r\n vm.selected = {};\r\n vm.toggleOne = toggleOne;\r\n vm.changePriority = changePriority;\r\n vm.setPriorityIndex = {};\r\n // vm.getAllassignationrule = function(){\r\n // ScheduledReportService.getAssignationRule(loggedinUser, token).then(function(resp){\r\n // vm.AssignationRuleList = resp.data;\r\n // });\r\n // }\r\n // // vm.getAllassignationrule();\r\n\r\n vm.dtOption = DTOptionsBuilder.fromFnPromise(function () {\r\n var defer = $q.defer();\r\n AccountSettingService.getAssignationRule(loggedinUser, token).then(function (resp) {\r\n vm.AssignationRuleList = resp.data;\r\n // console.log(vm.AssignationRuleList);\r\n defer.resolve(vm.AssignationRuleList);\r\n });\r\n\r\n return defer.promise;\r\n }).withDOM('<\"html5buttons\"B>lTfgitp').withPaginationType('full_numbers')\r\n .withOption('order', []).withBootstrap()\r\n .withOption('createdRow', function (row, data, dataIndex) {\r\n // Recompiling so we can bind Angular directive to the DT\r\n $compile(angular.element(row).contents())($scope);\r\n })\r\n .withOption('headerCallback', function (header) {\r\n if (!vm.headerCompileds) {\r\n // Use this headerCompiled field to only compile header once\r\n vm.headerCompileds = true;\r\n $compile(angular.element(header).contents())($scope);\r\n }\r\n });\r\n\r\n vm.dtColumn = [\r\n DTColumnBuilder.newColumn(null).withTitle(null).renderWith(function (data, type, full, meta) {\r\n vm.selected[meta.row] = data.IsEnable;\r\n return '';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn('RuleId').withTitle('RuleId').renderWith(function (data) {\r\n return '' + data + '';\r\n }).notSortable(),\r\n // DTColumnBuilder.newColumn('RuleType').withTitle('RuleType').renderWith(function (data) {\r\n // return '' + data + '';\r\n // }),\r\n DTColumnBuilder.newColumn('OrderByName').withTitle('Name').notSortable(),\r\n DTColumnBuilder.newColumn('Description').withTitle('Description').renderWith(function (data) {\r\n return '' + data + '';\r\n }).notSortable(),\r\n DTColumnBuilder.newColumn(null).withTitle('Priority Index').renderWith(function (data, type, full, meta) {\r\n \r\n vm.setPriorityIndex[meta.row] = data.PriorityIndex.toString();\r\n if(full.RuleType!=\"AssignFilter\"){\r\n return ' ';\r\n }\r\n return '';\r\n // return '' + data + '';\r\n }).notSortable()\r\n // DTColumnBuilder.newColumn('IsEnable').withTitle('IsEnable'), \r\n ];\r\n\r\n function toggleOne(selectedItems) {\r\n for (var id in selectedItems) {\r\n if (selectedItems.hasOwnProperty(id)) {\r\n vm.AssignationRuleList[id].IsEnable = selectedItems[id];\r\n }\r\n }\r\n \r\n }\r\n\r\n function changePriority(allActivity){\r\n for (var id in allActivity) {\r\n if (allActivity.hasOwnProperty(id)) {\r\n vm.AssignationRuleList[id].PriorityIndex = Number(allActivity[id]);\r\n }\r\n }\r\n\r\n }\r\n\r\n vm.SaveAssignationRule = function(){\r\n if(vm.AssignationRuleList.length > 0){\r\n AccountSettingService.SaveAssignationRule(loggedinUser, vm.AssignationRuleList, token, function (res) {\r\n if (res.data) {\r\n vm.showSuccess(\"Success\", \"Successfully Save Scheduling Rules\");\r\n $timeout(function () {\r\n $state.reload();\r\n }, 2000);\r\n }\r\n }, function (err) {\r\n vm.showFailure(\"Failed\", \"Unable to Save Scheduling Rule.\");\r\n });\r\n }\r\n\r\n }\r\n\r\n////// Bonus and penality\r\n\r\n vm.BonusList=[];\r\n vm.UpdateBonusList=[];\r\n vm.PenaltyList=[];\r\n vm.UpdatePenaltyList=[];\r\n vm.GetAllBonusPenalty = function () {\t\t\r\n AccountSettingService.GetAllBonusPenalty(loggedinUser, token).then(function (resp) {\r\n vm.BonusPenaltyList = resp.data;\r\n for(var i = 0; i < vm.BonusPenaltyList.length; i++)\r\n {\r\n if(vm.BonusPenaltyList[i].RuleType == \"Bonus\")\t\t\t\t\r\n vm.BonusList.push(vm.BonusPenaltyList[i]);\t\t\t\t\r\n else\r\n vm.PenaltyList.push(vm.BonusPenaltyList[i]);\r\n }\t\t\t\t\t\t\r\n });\r\n }\r\n vm.GetAllBonusPenalty();\r\n \r\n vm.UpdatePenaltyAmount = function(index,paneltyEnableDisable)\r\n {\t\r\n if(vm.PenaltyList[index].Amount==null || vm.PenaltyList[index].Amount==\"\")\r\n {\r\n vm.PenaltyList[index].edit=true;\r\n if(typeof(vm.PenaltyList[index].Amount) === \"undefined\")\r\n vm.showFailure(\"Failed\", \"Please valid amount\");\r\n else\r\n vm.showFailure(\"Failed\", \"Please enter amount\");\r\n return;\r\n }\r\n var pmessage = \"\";\r\n if(vm.PenaltyList[index].IsEnable)\r\n pmessage =\"Penalty has been enable successfully\";\r\n else\r\n pmessage =\"Penalty has been disable successfully\";\r\n \r\n var PenaltyDetails= {\r\n \"RuleId\": vm.PenaltyList[index].RuleId,\r\n \"RuleName\": vm.PenaltyList[index].RuleName,\r\n \"IsEnable\": vm.PenaltyList[index].IsEnable,\r\n \"Amount\": vm.PenaltyList[index].Amount\r\n }\r\n vm.UpdatePenaltyList.push(PenaltyDetails);\r\n AccountSettingService.UpdateBonusPenalty(vm.UpdatePenaltyList,loggedinUser, token).then(function (resp) {\r\n if(resp.data == \"Updated\" && resp.status == 200)\r\n {\r\n if(paneltyEnableDisable==\"paneltyEnableDisable\")\r\n vm.showSuccess(\"Success\", pmessage);\r\n else\r\n vm.showSuccess(\"Success\", \"Penalty has been successfully updated\");\r\n }\r\n else\r\n {\r\n vm.showFailure(\"Failed\", \"Penalty not updated\");\r\n }\r\n })\r\n }\r\n\r\n\r\n vm.UpdateBonusAmount = function(index,bonusEnableDisable){\t\t\t\r\n if(vm.BonusList[index].Amount==null || vm.BonusList[index].Amount==\"\")\r\n {\r\n vm.BonusList[index].edit=true;\r\n if(typeof(vm.BonusList[index].Amount) === \"undefined\")\r\n vm.showFailure(\"Failed\", \"Please valid amount\");\r\n else\r\n vm.showFailure(\"Failed\", \"Please enter amount\");\r\n return;\r\n }\r\n var bmessage = \"\";\r\n if(vm.BonusList[index].IsEnable)\r\n bmessage =\"Bonus has been enable successfully\";\r\n else\r\n bmessage =\"Bonus has been disable successfully\";\r\n \r\n var BonusDetails= {\r\n \"RuleId\": vm.BonusList[index].RuleId,\r\n \"RuleName\": vm.BonusList[index].RuleName,\r\n \"IsEnable\": vm.BonusList[index].IsEnable,\r\n \"Amount\": vm.BonusList[index].Amount\r\n }\r\n vm.UpdateBonusList.push(BonusDetails);\r\n AccountSettingService.UpdateBonusPenalty(vm.UpdateBonusList,loggedinUser, token).then(function (resp) {\r\n if(resp.data == \"Updated\" && resp.status == 200)\r\n {\t\r\n if(bonusEnableDisable==\"bonusEnableDisable\")\r\n vm.showSuccess(\"Success\", bmessage);\r\n else\t\t\t\r\n vm.showSuccess(\"Success\", \"Bonus has been successfully updated\");\r\n }\r\n else\r\n {\r\n vm.showFailure(\"Failed\", \"Bonus not updated\");\r\n }\r\n })\r\n }\r\n\r\n\r\n\r\n //// Notification\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n if (vm.AlertType == 'main') {\r\n vm.eventType ='';\r\n }else if(vm.AlertType == 'transactional'){\r\n vm.eventType =$stateParams.eventType; \r\n }\r\n vm.mode = $stateParams.mode;\r\n vm.channelList = [\"SMS\",\"Email\",\"Notification\",\"WebNotification\"];\r\n vm.RoleList = [\"Project Manager\",\"Help Desk\",\"Supervisor\",\"Field Engineer\",\"Consumer\",\"Vendor Manager\"];\r\n vm.selectedRolesList = [];\r\n vm.channelList = [\"SMS\",\"Notifications\",\"Email\",\"WebNotification\"];\r\n vm.selectedChannelArray = '';\r\n vm.Role = $localStorage.loggedInUser_Role;\r\n vm.eventConfigurationArray = [];\r\n vm.dtInstance = {};\r\n vm.users=[];\r\n vm.toUsers=[];\r\n vm.toList=[];\r\n vm.mobileNo = '';\r\n vm.outsiderTransText = '';\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.showInfo =$scope.$parent.$parent.main.showInfo;\r\n vm.confirmTagModal =$scope.$parent.$parent.main.confirmTagModal;\r\n vm.outSidecheck1 = false;\r\n vm.AllConfigurayionList = '';\r\n //https://test.mymobiforce.com/assets/templates/36/JOB_ASSIGNED.html\r\n vm.mailMessagePath = MailUrl+'/assets/templates/'+'36'+'/';\r\n \r\n vm.GetAlertConfiguration = function(name,type){\r\n AccountSettingService.GetAlertConfiguration(loggedinUser,name,type,token).then(function(resp){\r\n if (resp && resp.status == 200) {\r\n vm.singleNotificationAlert = resp.data;\r\n vm.eventConfigurationArray = [];\r\n angular.forEach(vm.singleNotificationAlert.ListAlertTemplate, function(d){\r\n var editObject = {};\r\n editObject.channel = [];\r\n if (d) {\r\n editObject.check=true;\r\n editObject.role = d.Role;\r\n if (d.Role!='Outsider') {\r\n if (d.SMSEnabled) {\r\n editObject.channel.push(\"SMS\");\r\n editObject.smsText = d.SMSText;\r\n \r\n }if (d.EmailEnabled) {\r\n editObject.channel.push(\"Email\")\r\n }if (d.NotificationEnabled) {\r\n editObject.channel.push(\"Notifications\");\r\n editObject.smsText = d.NotificationText;\r\n }\r\n if (d.WebNotificationEnabled) {\r\n editObject.channel.push(\"WebNotification\");\r\n editObject.smsText = d.WebNotificationText;\r\n }\r\n vm.eventConfigurationArray.push(editObject);\r\n }else if (d.Role == 'Outsider') {\r\n vm.outSidecheck1 = true;\r\n vm.outsiderTransText = d.SMSText\r\n vm.toList = [];\r\n angular.forEach(d.UserOutSideContact, function(d){\r\n var objOutsider = {};\r\n if (d) {\r\n objOutsider.PersonalEmail = d.UserOutSideEmail;\r\n objOutsider.ContactNumber = d.UserOutSidePhone;\r\n vm.toList.push(objOutsider);\r\n }\r\n })\r\n // var emailArray = d.UserOutsideSystemEmail.split(\",\");\r\n // var mobileArray = d.UserOutSideSystemPhone.split(\",\");\r\n // vm.toList = [];\r\n // angular.forEach(emailArray,function(d){\r\n // var emailObj = [];\r\n // if (d!=\"\") {\r\n // emailObj.PersonalEmail = d;\r\n // vm.toList.push(emailObj);\r\n // }\r\n // })\r\n }\r\n \r\n }\r\n \r\n //console.log('vm.eventConfigurationArray',vm.eventConfigurationArray);\r\n })\r\n }\r\n })\r\n }\r\n \r\n vm.showTransactionalEdit =false;\r\n vm.EditAlerts = function(alertType,alertId,mode){\r\n if (alertType == 'transactional') {\r\n vm.alertType = alertType,\r\n vm.eventType = alertId,\r\n vm.mode = mode;\r\n if(vm.mode == true){\r\n vm.GetAlertConfiguration(vm.eventType,vm.alertType);\r\n }\r\n // $state.go('index.NotificationSettings',{\r\n // alertType:alertType,\r\n // eventType:alertId,\r\n // mode:true\r\n // },{\r\n // reload:true\r\n // })\r\n vm.showTransactionalEdit = true;\r\n }else if (alertType == 'SLA') {\r\n $state.go('index.SLASettings',{\r\n mode:true\r\n },{\r\n reload:true\r\n })\r\n \r\n }else if (alertType == 'Escalation') {\r\n $state.go('index.EscalationSettings',{\r\n mode:true,\r\n alertId:alertId\r\n },{\r\n reload:true\r\n })\r\n }\r\n \r\n }\r\n \r\n \r\n \r\n if (vm.mode == \"true\") {\r\n vm.mode = true;\r\n if(vm.AlertType == 'transactional'){\r\n vm.GetAlertConfiguration(vm.eventType,vm.AlertType);\r\n }\r\n \r\n }else{\r\n vm.mode = false;\r\n }\r\n vm.OpenTransactionalModal = function(){\r\n TransactionalModal = $uibModal.open({\r\n templateUrl: 'transactional-alert',\r\n scope: $scope,\r\n size:'lg'\r\n })\r\n }\r\n vm.CloseTransactionalModal = function(){\r\n TransactionalModal.close();\r\n }\r\n var confObject = {\r\n // check_1:'',\r\n // role_1:'',\r\n // channel_1:'',\r\n // emailP_1:'',\r\n // smsText_1:''\r\n }\r\n //vm.eventConfigurationArray.push(confObject);\r\n \r\n vm.AddEventsConfiguration = function(){\r\n var ele={};\r\n vm.eventConfigurationArray.push(ele);\r\n }\r\n vm.RemoveEventsConfiguration = function (index){\r\n vm.eventConfigurationArray.splice(index, 1);\r\n }\r\n \r\n \r\n \r\n \r\n // vm.GetEvent = function(event){\r\n // vm.eventType = event;\r\n // console.log('vm.eventType before',vm.eventType); \r\n // vm.CloseTransactionalModal();\r\n // console.log('vm.eventType after',vm.eventType); \r\n // }\r\n \r\n vm.OpenMailModal = function(){\r\n MailModal = $uibModal.open({\r\n templateUrl: 'mail-modal',\r\n scope: $scope,\r\n size:'lg'\r\n })\r\n }\r\n vm.CloseMailModal = function(){\r\n MailModal.close();\r\n }\r\n \r\n var confObject = {\r\n \r\n }\r\n vm.eventConfigurationArray.push(confObject);\r\n \r\n vm.AddEventsConfiguration = function(){\r\n var ele={};\r\n vm.eventConfigurationArray.push(ele);\r\n }\r\n vm.RemoveEventsConfiguration = function (index){\r\n vm.eventConfigurationArray.splice(index, 1);\r\n }\r\n // vm.storeSelectedRoles = function(role){\r\n \r\n // vm.selectedRolesList.push(vm.RoleList[role]);\r\n // }\r\n \r\n // vm.removeSelectedRoles = function (element) {\r\n // var matched = false;\r\n // angular.forEach(vm.selectedRolesList, function (d) {\r\n // if (d == element) {\r\n // matched = true;\r\n // return;\r\n // }\r\n // });\r\n // if (!matched) {\r\n // return element;\r\n // }\r\n // }\r\n vm.getUserSuggestion = function (val) {\r\n \r\n // vm.scheduleModel.toListMendtryErr=false;\r\n \r\n var re = /^[A-Za-z0-9]+([\\.\\-_]*[A-Za-z0-9]+)*@[A-Za-z0-9]+([\\.\\-_]*[A-Za-z0-9]+)*\\.([A-Za-z]{2}|[A-Za-z]{3})$/;\r\n if (vm.users.length > 0) {\r\n return re.test(val)?[{FirstName:val.split(\"@\")[0], LastName:\"\", UserId:val}].concat(vm.users):vm.users;\r\n }\r\n vm.getUsers();\r\n return re.test(val)?[{FirstName:val.split(\"@\")[0], LastName:\"\", UserId:val}]:[];\r\n }\r\n \r\n vm.getUsers = function () {\r\n vm.users = [];\r\n ReportService.getUsers(loggedinUser, token, vm.createCallback(vm.users, [function (data) {\r\n //$log.log(data);\r\n }]));\r\n }\r\n \r\n vm.searchAsOr = function (searchText1) {\r\n return function (entry) {\r\n var splittedText = searchText1.split(\";\");\r\n if (splittedText != null && splittedText.length > 0) {\r\n var searchText = splittedText[splittedText.length - 1].trim();\r\n if (entry.FirstName.toLowerCase().indexOf(searchText.toLowerCase()) > -1\r\n || (entry.LastName !=null && entry.LastName.toLowerCase().indexOf(searchText.toLowerCase()) > -1)\r\n || entry.UserId.toLowerCase().indexOf(searchText.toLowerCase()) > -1)\r\n return entry;\r\n }\r\n }\r\n }\r\n vm.removeSelectedUsers = function (element) {\r\n var matched = false;\r\n angular.forEach(vm.toList, function (d) {\r\n if (d.PersonalEmail == element.PersonalEmail) {\r\n matched = true;\r\n return;\r\n }\r\n });\r\n if (!matched) {\r\n return element;\r\n }\r\n }\r\n vm.selectUserNameInToList = function (item,mobile) {\r\n if (item == '' && mobile == '') {\r\n vm.showInfo(\"Information\",\"Please enter email or mobile\");\r\n return;\r\n }\r\n var obj=[];\r\n if (item && item.length!=0) {\r\n obj.PersonalEmail = item;\r\n }\r\n \r\n if (mobile && mobile.length>0) {\r\n obj.ContactNumber = mobile; \r\n }else{\r\n angular.forEach(vm.users, function(d){\r\n if (d.PersonalEmail == item) {\r\n obj.ContactNumber = d.ContactNumber;\r\n }\r\n })\r\n }\r\n vm.toList.push(obj);\r\n vm.toUsers = [];\r\n vm.mobileNo = '';\r\n }\r\n vm.RemovefromList = function(index){\r\n vm.toList.splice(index,1);\r\n }\r\n \r\n vm.SaveEventConfiguration = function(){\r\n \r\n if (vm.config_form.$valid) {\r\n var obj = {};\r\n obj.AlertType = vm.AlertType;\r\n obj.AlertId = vm.eventType;\r\n var alertArray = [];\r\n angular.forEach(vm.eventConfigurationArray, function(d){\r\n var alertObject = {};\r\n if (d && d.check) {\r\n if (d.channel.indexOf('SMS')!=-1) {\r\n alertObject.SMSEnabled = true;\r\n alertObject.SMSText = d.smsText;\r\n }else{\r\n alertObject.SMSEnabled = false;\r\n alertObject.SMSText = \"\";\r\n }\r\n if (d.channel.indexOf('Email')!=-1) {\r\n alertObject.EmailEnabled = true;\r\n alertObject.EmailTemplateName =vm.eventType;\r\n alertObject.EmailSubject = vm.eventType;\r\n }else{\r\n alertObject.EmailEnabled = false;\r\n alertObject.EmailTemplateName =\"\";\r\n alertObject.EmailSubject = \"\";\r\n }if (d.channel.indexOf('Notifications')!=-1) {\r\n alertObject.NotificationEnabled = true;\r\n alertObject.NotificationText =d.smsText;\r\n }else{\r\n alertObject.NotificationEnabled = false;\r\n alertObject.NotificationText =\"\";\r\n }if (d.channel.indexOf('WebNotification')!=-1) {\r\n alertObject.WebNotificationEnabled = true;\r\n alertObject.WebNotificationText =d.smsText;\r\n }else{\r\n alertObject.WebNotificationEnabled = false;\r\n alertObject.WebNotificationText =\"\";\r\n }if (d.channel.indexOf('WhatsApp')!=-1) {\r\n alertObject.WhatsAppEnabled = true;\r\n alertObject.WhatsAppText =d.smsText;\r\n }else{\r\n alertObject.WhatsAppEnabled = false;\r\n alertObject.WhatsAppText =\"\";\r\n }\r\n alertObject.Role = d.role;\r\n alertObject.UserOutSideContact=[];\r\n alertObject.UserOutSideContact.UserOutSideEmail = \"\";\r\n alertObject.UserOutSideContact.UserOutSidePhone = \"\";\r\n alertArray.push(alertObject);\r\n }\r\n })\r\n \r\n if (vm.outSidecheck1) {\r\n if (vm.toList && vm.toList.length>0) {\r\n var alertObject = {}\r\n var outSiderModel = [];\r\n angular.forEach(vm.toList, function(d){\r\n var objModel = {};\r\n if (d) {\r\n objModel.UserOutSideEmail = d.PersonalEmail;\r\n objModel.UserOutSidePhone = d.ContactNumber;\r\n outSiderModel.push(objModel);\r\n }\r\n })\r\n \r\n alertObject.UserOutSideContact = outSiderModel;\r\n alertObject.Role = \"Outsider\";\r\n alertObject.SMSText = vm.outsiderTransText;\r\n alertObject.SMSEnabled = true;\r\n alertObject.EmailEnabled = true;\r\n alertObject.EmailSubject = vm.eventType;\r\n alertObject.EmailTemplateName = vm.eventType;\r\n alertObject.NotificationEnabled = false;\r\n alertObject.NotificationText = \"\";\r\n alertObject.WhatsAppEnabled = false;\r\n alertObject.WhatsAppText = \"\";\r\n alertArray.push(alertObject);\r\n }else{\r\n vm.showInfo(\"Information\",\"Please select outside users or uncheck the button\");\r\n return;\r\n }\r\n }\r\n obj.ListAlertTemplate = alertArray;\r\n //console.log('obj',obj);\r\n AccountSettingService.CreateTransactionalAlert(loggedinUser,token,obj).then(function(resp){\r\n if (resp && resp.data) {\r\n vm.showSuccess(\"Success\",vm.eventType +\"-Transactional Alert has been created\");\r\n $timeout(function(){\r\n vm.showTransactionalEdit = false;\r\n // $state.go('index.NotificationSettings',{\r\n // alertType:'main',\r\n // eventType:'',\r\n // mode:''\r\n // },{\r\n // reload:true\r\n // });\r\n },1000)\r\n }else{\r\n vm.showFailure(\"Failure\",vm.eventType +\"-Transactional Alert creation failed due to some technical error\");\r\n }\r\n })\r\n }else{\r\n vm.config_form.submitted = true;\r\n }\r\n \r\n }\r\n \r\n \r\n vm.GetAllAlertConfiguration = function(){\r\n AccountSettingService.GetAllAlertConfiguration(loggedinUser,token).then(function(resp){\r\n if (resp && resp.status == 200 && resp.data && resp.data.length>0) {\r\n vm.AllConfigurationList = resp.data;\r\n //console.log('vm.AllConfigurayionList',vm.AllConfigurationList);\r\n }else{\r\n vm.showFailure(\"Error\",\"No Configuration found\")\r\n }\r\n })\r\n }\r\n \r\n vm.DeleteAlertConfiguration = function(name,type){\r\n if(name){\r\n vm.confirmTagModal(\"Do you want to delete selected configuration?\",function(){\r\n if (type=='transactional') {\r\n AccountSettingService.DeleteAlertConfiguration(loggedinUser,name,type,token).then(function(resp){\r\n if (resp) {\r\n vm.showSuccess(\"Success\",\"Alert has been deleted successfully\");\r\n $timeout(function(){\r\n vm.GetAllAlertConfiguration();\r\n },2000)\r\n \r\n }else{\r\n vm.showFailure(\"Error\",\"Technical error occured\")\r\n }\r\n })\r\n }else if(type == 'Escalation'){\r\n AccountSettingService.DeleteEscalationAlertConfiguration(loggedinUser,name,type,token).then(function(resp){\r\n if (resp) {\r\n vm.showSuccess(\"Success\",\"Alert has been deleted successfully\");\r\n $timeout(function(){\r\n vm.GetAllAlertConfiguration();\r\n },2000)\r\n \r\n }else{\r\n vm.showFailure(\"Error\",\"Technical error occured\")\r\n }\r\n })\r\n \r\n }else if(type == 'SLA'){\r\n AccountSettingService.DeleteSLAAlertConfiguration(loggedinUser,name,type,token).then(function(resp){\r\n if (resp) {\r\n vm.showSuccess(\"Success\",\"Alert has been deleted successfully\");\r\n $timeout(function(){\r\n vm.GetAllAlertConfiguration();\r\n },2000)\r\n \r\n }else{\r\n vm.showFailure(\"Error\",\"Technical error occured\")\r\n }\r\n })\r\n }\r\n })\r\n }\r\n \r\n }\r\n \r\n //Global Call functions\r\n // if (vm.AlertType == 'main') {\r\n // vm.GetAllAlertConfiguration();\r\n // }\r\n \r\n \r\n vm.dtOptions = DTOptionsBuilder.newOptions().withDOM(\r\n '<\"html5buttons\"B>lTfrgitp')\r\n .withButtons([]).withPaginationType(\r\n 'full_numbers').withOption('lengthChange', false)\r\n .withOption('searching',true)\r\n .withOption('initComplete', function () {\r\n $('.dataTables_filter input').unbind();\r\n });\r\n // .withOption('order', [1, 'asc']);\r\n \r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(0).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable()\r\n ];\r\n \r\n\r\n }\r\n});\r\nfunction checktwodecimal(el){\r\n\tvar ex = /^\\d*\\.?\\d{0,2}$/;\r\n\tif(ex.test(el.value)==false){\r\n\t el.value = el.value.substring(0,el.value.length - 1);\r\n\t }\r\n }\nangular.module('inspinia').service('LayoutService', function (ApiURL, PublicApiURL, $http) {\r\n\r\n\tthis.createAccount = function(data,loggedinUser,token) {\r\n\t\tvar url = ApiURL + '/api/SignUpWithPlan';\r\n\t\treturn $http.post(url, data, {\r\n\t\t\theaders: { 'Content-Type': 'application/json', 'Token': token , 'UserId': loggedinUser}\r\n\t\t});\r\n\t}\r\n\r\n\tthis.getVertical = function() {\r\n\t\tvar url = PublicApiURL + '/api/GetSkillsWithCategory';\r\n\t\treturn $http.get(url, {\r\n\t\t\theaders: { 'Content-Type': 'application/json' },\r\n\t\t\tparams:{}\r\n\t\t});\r\n\t}\r\n\r\n})\nangular.module('inspinia').controller('LayoutController', function(LayoutService, $scope, $rootScope, $log, $timeout, $state, $localStorage) {\r\n\tvar vm = this;\r\n\tvar token = $localStorage.token;\r\n\tvar loggedinUser = $localStorage.loggedInUserId;\r\n\tvm.vertical = '';\r\n\tvm.company_name = '';\r\n\tvm.first_name = '';\r\n\tvm.last_name = '';\r\n\tvm.mobile = '';\r\n\tvm.email = '';\r\n\tvm.password = '';\r\n\tvm.confirmPass = '';\r\n\tvm.tickets = '';\r\n\tvm.skills = '';\r\n\tvm.recharge_amount = '';\r\n\tvm.month = '';\r\n\tvm.grace_period = '';\r\n\tvm.verticalList = '';\r\n\tvm.skillList = '';\r\n\tvm.isCollapsed = false;\r\n\tvm.freelancerAccess = false;\r\n\tvm.vendorAccess = false;\r\n\tvm.account_type = '';\r\n\tvm.commissionInPercentage = false;\r\n\tvm.mobiforceCommission = '';\r\n\tvm.credit_limit = '';\r\n\tvm.topUp_amount = '';\r\n\tvm.skillBasedList = [];\r\n\tvm.remarks = '';\r\n\tvar angular_pass = angular.element(\"#pass\");\r\n\tvar angular_confirm_pass = angular.element(\"#confirm_pass\");\r\n\tvar password = angular_pass[0],\r\n\t\tconfirm_password = angular_confirm_pass[0];\r\n\r\n\tvm.showSuccess = $scope.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.main.showFailure;\r\n\r\n\t// vm.accountType = function(type) {\r\n\t// \tif (type == 'fixed') {\r\n\t// \t\tvm.account_type = 0;\r\n\t// \t}\r\n\t// \telse if(type == 'transactional') {\r\n\t// \t\tvm.account_type = 1;\r\n\t// \t}\r\n\t// }\r\n\r\n\tvm.saveUser = function(planType, accType) {\r\n\r\n\t\tvar SkillSetModel = [];\r\n\t\tfor (var skillIndex = 0; skillIndex < vm.skillBasedList.length; skillIndex++) {\r\n\t\t\tSkillSetModel.push(vm.skillBasedList[skillIndex]);\r\n\t\t}\r\n\r\n\t\tvar accountPlanData = {\r\n\t\t\t\"CompanyName\": vm.company_name,\r\n\t\t\t\"FirstName\": vm.first_name,\r\n\t\t\t\"LastName\": vm.last_name,\r\n\t\t\t\"PhoneNumber\": vm.mobile,\r\n\t\t\t\"EmailId\": vm.email,\r\n\t\t\t\"Password\": vm.password,\r\n\t\t\t\"Vertical\": vm.vertical,\r\n\t\t\t\"SkillBasedCommissions\": SkillSetModel\r\n\t\t}\r\n\r\n\t\tif(accType == 'fixed') {\r\n\t\t\tvm.account_type = 0;\r\n\t\t\taccountPlanData.AccountType = vm.account_type\r\n\t\t} else if(accType == 'transactional') {\r\n\t\t\tvm.account_type = 1;\r\n\t\t\taccountPlanData.AccountType = vm.account_type\r\n\t\t}\r\n\r\n\t\tif(planType == 'basic' || planType == 'advance') {\r\n\t\t\taccountPlanData.Skills = vm.skills,\r\n\t\t\taccountPlanData.NoOfTickets = vm.tickets,\r\n\t\t\taccountPlanData.Month = vm.month,\r\n\t\t\taccountPlanData.GracePeriod = vm.grace_period\r\n\t\t}\r\n\r\n\t\tif (planType == 'advance' || planType == 'ultimate') {\r\n\t\t\taccountPlanData.FreelancerAccess = true,\r\n\t\t\taccountPlanData.VendorAccess = true,\r\n\t\t\taccountPlanData.CreditLimit = vm.credit_limit,\r\n\t\t\taccountPlanData.TopUpBalance = ''\r\n\t\t}\r\n\t\t\r\n\t\tif(vm.accountPlan.$valid) {\r\n\t\t\tLayoutService.createAccount(accountPlanData, loggedinUser, token).then(function (resp) {\r\n\t\t\t\tif(resp.status == 201) {\r\n\t\t\t\t\tvm.showSuccess(\"Account Creation Status\", \"Account Created Successfully\" );\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t$state.go('index.AccountHome');\r\n\t\t\t\t\t}, 2000);\t\t\t\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvm.showFailure(\"Account Creation Failed\", \"Account not created. Please try again later.\")\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tvm.accountPlan.submitted = true;\r\n\t\t}\r\n\t}\r\n\r\n\tvm.selectVertical = function() {\r\n\t\tLayoutService.getVertical().then(function (resp) {\r\n\t\t\tvm.verticalList = resp.data;\r\n\t\t})\r\n\t}\r\n\tvm.selectVertical();\r\n\r\n\tvm.selectSkills = function(verticalName) {\r\n\t\tif(verticalName!='') {\r\n\t\t\tvm.skillList = ''; \r\n\t\t\tangular.forEach(vm.verticalList, function(d) {\r\n\t\t\t\tif(d.Category == verticalName) {\r\n\t\t\t\t\tvm.skillList = d.ListSkillSet;\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tvm.skillListSet = function(previousIndex) {\r\n\t\tvar RemoveSkills = [];\r\n\t\tvar remainingSkills = Array.from(vm.skillList);\r\n\t\tangular.forEach(remainingSkills, function (d) {\r\n\t\t\tfor (var i = 0; i < previousIndex; i++) {\r\n\t\t\t\tif (d.SkillName == vm.skillBasedList[i].Name) {\r\n\t\t\t\t\tRemoveSkills.push(d);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\tangular.forEach(RemoveSkills, function (s) {\r\n\t\t\tremainingSkills.splice(remainingSkills.indexOf(s), 1);\r\n\t\t})\r\n\t\treturn remainingSkills;\r\n\t}\r\n\r\n\tvm.addSkills = function() {\r\n var element = {};\r\n vm.skillBasedList.push(element);\r\n }\r\n\r\n\tvm.removeSkills = function(index) {\r\n\t\tvm.skillBasedList.splice(index, 1);\r\n\t}\r\n\r\n\tvar skill_1 = {\r\n Name: '',\r\n MobiforceCommission: '',\r\n //remarks: ''\r\n };\r\n vm.skillBasedList.push(skill_1);\r\n\r\n})\nangular.module('inspinia').service('AccountService',function(FreelancerURL , $http, ApiURL){\r\n \r\n //http://192.168.0.80:92/FreelancerAPI/api/FreeLancerUser/srachit46%40gmail.com/srachit46%40gmail.com/byReportingToWithJobCount\r\n this.GetAllFreelancers = function(loggedinUser, token){\r\n var url = FreelancerURL + '/api/FreeLancerUser/' + loggedinUser + '/' + loggedinUser + '/byReportingToWithJobCount'\r\n return $http.get(url,{\r\n headers:{'Content-Type': 'application/json', 'Token': token, 'UserId': loggedinUser}\r\n })\r\n }\r\n\r\n //http://localhost:50035/api/FreeLancerUser/Administrator/srachit46%40gmail.com/Account\r\n this.GetAllAccounts = function(loggedinUser, token){\r\n var url = FreelancerURL + '/api/FreeLancerUser/Administrator/' + loggedinUser + '/Account'\r\n return $http.get(url,{\r\n headers:{'Content-Type': 'application/json','Token':token, 'UserId': loggedinUser}\r\n })\r\n }\r\n //http://localhost:50035/api/FreeLancerUser/jitendra.gangwar%40innotiontech.com/srachit46%40gmail.com/byAccountUserId\r\n this.GetUsersByUserId = function(userId,loggedinUser, token){\r\n var url = FreelancerURL + '/api/FreeLancerUser/' + userId + '/' + loggedinUser + '/byAccountUserId'\r\n return $http.get(url,{\r\n headers:{'Content-Type': 'application/json','Token':token, 'UserId': loggedinUser}\r\n })\r\n }\r\n\r\n //http://localhost:50035/api/FreeLancerUser/saurabhgupta3371%40gmail.com/srachit46%40gmail.com/ActivateByAccountId\r\n // this.UpdateUserList = function(accountId,loggedinUser, token){\r\n // var url = FreelancerURL + '/api/FreeLancerUser/' + accountId + '/' + loggedinUser + '/ActivateByAccountId'\r\n // return $http.put(url, {}, {\r\n // headers:{'Content-Type': 'application/json','Token':token, 'UserId': loggedinUser}\r\n // })\r\n // } \r\n this.UpdateUserList = function(accountId,loggedinUser, token,bActive){\r\n var url = ApiURL + '/api/account/ActivateByAccountId?AccountId=' + accountId + '&bActivate=' + bActive;\r\n return $http.put(url, {}, {\r\n headers:{'Content-Type': 'application/json','Token':token, 'UserId': loggedinUser}\r\n })\r\n } \r\n //http://192.168.0.80:92/FreelancerAPI/api/PaymentAccount/GetAvailableBalanceByreqUserId?reqUserId=kanika.bansal%40innotiontech.com\r\n\r\n this.GetAccountBalance = function(userId,loggedinUser, token){\r\n var url = FreelancerURL + '/api/PaymentAccount/GetAvailableBalanceByreqUserId?reqUserId=' + userId;\r\n return $http.get(url,{\r\n headers:{'Content-Type': 'application/json','Token':token,'UserId': loggedinUser}\r\n })\r\n }\r\n\r\n //http://192.168.0.80:92/FreelancerAPI/api/PaymentAccount?reqUserId=sadasd\r\n this.UpdateRechargeAccount = function(loggedinUser, rechargedata,token){\r\n var url = FreelancerURL + '/api/PaymentAccount?reqUserId=' + loggedinUser;\r\n return $http.post(url, rechargedata, \r\n { \r\n headers: { 'Content-Type': 'application/json','Token':token, 'UserId': loggedinUser} \r\n })\r\n }\r\n\r\n //http://192.168.0.80/CoreAPI/api/account/asdasdasdassdasd/updateaccount\r\n this.UpdateAccountConfiguration = function(loggedinUser, data, token){\r\n var url = ApiURL + '/api/account/'+loggedinUser+'/updateaccount'\r\n return $http.put(url, data, \r\n { \r\n headers: { 'Content-Type': 'application/json','Token':token, 'UserId': loggedinUser} \r\n })\r\n }\r\n\r\n // //http://192.168.0.80/CoreAPI/api/account/innotiontechnologies%40gmail.com/sandip.chaturvedi%40innotiontech.com/getaccountbyid\r\n this.GetAccountConfigInfo = function(loggedinUser, accountId, token){\r\n var url = ApiURL + '/api/account/'+loggedinUser+'/' + accountId + '/getaccountbyid';\r\n return $http.get(url, { \r\n headers: { 'Content-Type': 'application/json','Token':token, 'UserId': loggedinUser} \r\n })\r\n }\r\n\r\n //http://localhost:50144/api/PaymentAccount/innotiontechnologies%40gmail.com/sandip.chaturvedi%40innotiontech.com/getrechargehistorybyaccountid?StartDate=&EndDate=\r\n this.GetAccountRechargeHistory = function(loggedinUser, accountId, token){\r\n var url = FreelancerURL + '/api/PaymentAccount/'+loggedinUser+'/' + accountId + '/getrechargehistorybyaccountid?StartDate=&EndDate=';\r\n return $http.get(url, { \r\n headers: { 'Content-Type': 'application/json','Token':token, 'UserId': loggedinUser} \r\n })\r\n }\r\n\r\n });\nangular.module('inspinia').controller('AccountController', function(teamCardService, MainService, $localStorage, $stateParams, $log, $uibModal,TeamProfileService,AccountService, ProjectCreationService,$scope, $state,registerService,toaster,$timeout,DTColumnDefBuilder, DTOptionsBuilder){\r\n var vm = this;\r\n var userId = $stateParams.userId;\r\n var token = $localStorage.token;\r\n var loggedinUser = $localStorage.loggedInUserId;\r\n var loggedinUserRole = $localStorage.loggedInUser_Role;\r\n if (!loggedinUser) {\r\n $state.go('Login',{\r\n reload:true\r\n });\r\n }else{\r\n vm.users = [];\r\n vm.FilterSwitch = false;\r\n vm.client = 1;\r\n vm.tab = 1;\r\n vm.skill = '';\r\n vm.workArea = '';\r\n var skillsArray;\r\n var circleArray;\r\n var ProjectModal={};\r\n var userIndex = 0;\r\n vm.filteredProperties={};\r\n vm.userInfo = '';\r\n var userInfo = '';\r\n vm.FirstName ='';\r\n vm.LastName = '';\r\n vm.Email = '';\r\n vm.Phone = '';\r\n vm.Password = '';\r\n vm.ConfirmPassword = '';\r\n vm.CompanyName = '';\r\n vm.AvailableBalance = '';\r\n vm.rechargeAmount = '';\r\n vm.description = '';\r\n vm.Vertical ='';\r\n vm.pocData = '';\r\n var items = '';\r\n vm.GST = 18;\r\n vm.BaseAmount = '';\r\n vm.FreelancerPercentage='',\r\n vm.FixedTeamPrice = '',\r\n vm.CreditLimit='',\r\n vm.toaster_success = $scope.$parent.$parent.main.toaster_success;\r\n vm.toaster_fail = $scope.$parent.$parent.main.toaster_fail;\r\n vm.toaster_info = $scope.$parent.$parent.main.toaster_info;\r\n\r\n vm.createCallback = $scope.$parent.$parent.main.createCallback;\r\n vm.showSuccess = $scope.$parent.$parent.main.showSuccess;\r\n vm.showFailure = $scope.$parent.$parent.main.showFailure;\r\n vm.profileImg='';\r\n\r\n \r\n vm.imageServices = function(img){\r\n MainService.GetImageBlob(loggedinUser, token, img).then(function(resp) {\r\n vm.profileImg = resp.data;\r\n console.log(vm.profileImg);\r\n }, function() {\r\n vm.profileImg = 'assets/images/patterns/a4.jpg';\r\n });\r\n } \r\n\r\n vm.imageServices('test2.png'); \r\n\r\n vm.exportData = function(){\r\n var blob = new Blob([document.getElementById('tab-1').innerHTML],{\r\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\r\n });\r\n saveAs(blob,\"Report.xls\");\r\n };\r\n vm.updateBaseAmount = function(){\r\n var amount = ((parseInt(vm.rechargeAmount) * 100) / ( 100 + parseInt(vm.GST)));\r\n vm.BaseAmount = amount.toFixed(2);\r\n return vm.BaseAmount;\r\n }\r\n\r\n vm.GetAccountBalance = function(userId){\r\n AccountService.GetAccountBalance(userId,loggedinUser, token).then(function(resp){\r\n vm.AvailableBalance = resp.data;\r\n },function(error){\r\n //$log.log(\"error occured in GetAccountBalance\");\r\n })\r\n }\r\n\r\n vm.VerticalList = [\r\n {\r\n 'Vertical':'IMS'\r\n },\r\n {\r\n Vertical:'Telecom'\r\n },\r\n {\r\n Vertical:'White Goods'\r\n },\r\n {\r\n Vertical:'Spectro Labs'\r\n }\r\n ]\r\n \r\n\r\n vm.getAllUser = function () {\r\n AccountService.GetAllAccounts(loggedinUser, token).then(function(resp){\r\n vm.users = resp.data;\r\n if(vm.users.length == 0) {\r\n vm.client = 1;\r\n } else {\r\n vm.client = 3; \r\n vm.userInfo = vm.users[userIndex];\r\n if (vm.userInfo.UserStatus == 'Active') {\r\n vm.isActive = true;\r\n }else{\r\n vm.isActive = false;\r\n }\r\n vm.GetAccountBalance(vm.userInfo.UserId);\r\n }\r\n }, function () {\r\n //$log.log('not working');\r\n }) \r\n\r\n }\r\n \r\n \r\n\r\n vm.getUserInfo = function (userId,loggedinUser) {\r\n AccountService.GetUsersByUserId(userId,loggedinUser, token).then(function(resp)\r\n {\r\n vm.userInfo = resp.data;\r\n if (vm.userInfo.UserStatus == 'Active') {\r\n vm.isActive = true;\r\n }else{\r\n vm.isActive = false;\r\n }\r\n items = {\r\n \"AccountName\":userInfo.CompanyName,\r\n \"AccountId\":userInfo.PersonalEmail\r\n }\r\n }, function () {\r\n //$log.log('not working');\r\n });\r\n }\r\n\r\n vm.getAllSkills = function(){\r\n TeamProfileService.getAllSkills().then(function(resp) {\r\n vm.skills = resp.data;\r\n for (var index = 0; index < vm.skills.length; index++) {\r\n skillsArray.push({\r\n skill: vm.skills.SkillName\r\n });\r\n }\r\n }, function() {\r\n //$log.log('not working');\r\n });\r\n }\r\n\r\n vm.getAllCircles = function(loggedinUser){\r\n ProjectCreationService.GetAllCircles(loggedinUser).then(function(resp) {\r\n vm.circles = resp.data;\r\n for (var index = 0; index < vm.circles.length; index++) {\r\n circleArray.push({\r\n workArea: vm.circles.circle\r\n });\r\n }\r\n }, function() {\r\n //$log.log('not working');\r\n });\r\n }\r\n\r\n vm.AddTeamMember = function () {\r\n $state.go('index.TeamCreate', {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.ProfileView = function (userid) {\r\n $state.go('index.TeamProfile', {\r\n userId: userid\r\n }, {\r\n reload: true\r\n });\r\n }\r\n\r\n vm.ProfileData = function (userId) {\r\n vm.getUserInfo(userId,loggedinUser);\r\n vm.GetAccountBalance(userId);\r\n vm.client = 3;\r\n }\r\n\r\n vm.filtermodal = function() {\r\n ProjectModal = $uibModal.open({\r\n templateUrl: 'Filter.html',\r\n backdrop: 'static',\r\n windowClass: \"animated pulse\",\r\n scope: $scope\r\n }); \r\n}\r\nvm.CreateAccount = function() {\r\n ProjectModal = $uibModal.open({\r\n templateUrl: 'signUp.html',\r\n backdrop: 'static',\r\n scope: $scope\r\n}); \r\n}\r\n\r\nvm.openRecharge = function() {\r\n vm.BaseAmount = '';\r\n vm.rechargeAmount='';\r\n vm.description='';\r\n ProjectModal = $uibModal.open({\r\n templateUrl: 'recharge.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n controller: ModalInstanceCtrl,\r\n resolve : {\r\n items : function(){\r\n return {\r\n AccountName:vm.CompanyName,\r\n AccountId:vm.Email\r\n };\r\n }\r\n },\r\n}); \r\n}\r\n\r\nvar ModalInstanceCtrl = function($scope, $rootScope, $uibModalInstance, items) {\r\n $scope.items = items;\r\n vm.recharge = function(){\r\n if (vm.recharge_form.$valid) {\r\n // console.log(\"pass\");\r\n var rechargedata = {\r\n AccountName: vm.userInfo.CompanyName,\r\n AccountId: vm.userInfo.AccountId,\r\n RechargeAmount: vm.BaseAmount,\r\n RechargeBy: loggedinUser,\r\n Description: vm.description,\r\n GST: (vm.rechargeAmount - vm.BaseAmount).toFixed(2),\r\n TotalAmount: vm.rechargeAmount\r\n } \r\n if (angular.isDefined(rechargedata)) {\r\n AccountService.UpdateRechargeAccount(loggedinUser,rechargedata, token)\r\n .success(function (data,status) {\r\n if(status == 201){\r\n toaster.pop({\r\n type: 'success',\r\n title: data.Message,\r\n showCloseButton: true,\r\n body: \"Recharge Successfully\",\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000\r\n });\r\n vm.getAllUser(loggedinUser);\r\n }\r\n })\r\n }\r\n } else {\r\n vm.recharge_form.submitted = true;\r\n return;\r\n }\r\n vm.CloseModal();\r\n }\r\n}\r\n\r\n\r\n //Account Configuration\r\n vm.openConfiguration = function() {\r\n vm.FreelancerPercentage = '';\r\n vm.FixedTeamPrice = '';\r\n vm.CreditLimit = '';\r\n AccountModal = $uibModal.open({\r\n templateUrl: 'AccountSetting.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n controller: ModalInstanceCtrlAccount,\r\n resolve : {\r\n items : function(){\r\n return {\r\n AccountName:vm.CompanyName,\r\n AccountId:vm.Email\r\n };\r\n }\r\n },\r\n}); \r\n}\r\n\r\nvar ModalInstanceCtrlAccount = function($scope, $rootScope, $uibModalInstance, items) {\r\n $scope.items = items;\r\n AccountService.GetAccountConfigInfo(loggedinUser, vm.userInfo.PersonalEmail, token).then(function(resp){\r\n\r\n if (resp.data) {\r\n vm.accountConfigData = resp.data;\r\n vm.FixedTeamPrice = vm.accountConfigData.FixedTeamPrice.toString();\r\n vm.FreelancerPercentage = vm.accountConfigData.FreelancerPercentage.toString();\r\n vm.CreditLimit = vm.accountConfigData.CreditLimit.toString();\r\n }\r\n });\r\n vm.updateAccountConfig = function(){\r\n if (vm.accountConfig_form.$valid) {\r\n // console.log(\"pass\");\r\n var data = { \r\n AccountId: vm.userInfo.AccountId,\r\n AccountName: vm.userInfo.CompanyName,\r\n AvailableBalance: vm.AvailableBalance,\r\n FixedTeamPrice: parseInt(vm.FixedTeamPrice),\r\n FreelancerPercentage: parseInt(vm.FreelancerPercentage),\r\n CreditLimit:parseInt(vm.CreditLimit)\r\n \r\n } \r\n if (angular.isDefined(data)) {\r\n AccountService.UpdateAccountConfiguration(loggedinUser,data, token)\r\n .success(function (data,status) {\r\n if(status == 202){\r\n vm.toaster_success.body = \"Account Updated Successfully\";\r\n toaster.pop(vm.toaster_success);\r\n vm.getAllUser(loggedinUser);\r\n }else{\r\n vm.toaster_fail.body =\"Something went wrong, please try again\";\r\n toaster.pop(vm.toaster_fail);\r\n }\r\n })\r\n }\r\n } else {\r\n vm.accountConfig_form.submitted = true;\r\n return;\r\n }\r\n vm.CloseAccountModal();\r\n }\r\n}\r\n\r\nvm.CloseAccountModal = function () {\r\n AccountModal.close();\r\n }\r\n\r\n\r\n\r\n ///Recharge History\r\n vm.RechargeHistory = function() {\r\n RechargeModal = $uibModal.open({\r\n templateUrl: 'rechargeHistory.html',\r\n backdrop: 'static',\r\n scope: $scope,\r\n controller: ModalInstanceCtrlHistory,\r\n resolve : {\r\n items : function(){\r\n return {\r\n AccountName:vm.CompanyName,\r\n AccountId:vm.Email\r\n };\r\n }\r\n },\r\n size:'lg' \r\n\r\n\r\n}); \r\n}\r\n\r\nvar ModalInstanceCtrlHistory = function($scope, $rootScope, $uibModalInstance, items) { \r\nAccountService.GetAccountRechargeHistory(loggedinUser, vm.userInfo.AccountId, token).then(function(resp){\r\n if (resp && resp.data) {\r\n vm.AccountHistoryData = resp.data;\r\n }\r\n}) \r\n vm.CloseRechargeModal();\r\n }\r\n\r\n\r\nvm.CloseRechargeModal = function () {\r\n RechargeModal.close();\r\n }\r\n\r\n /// \r\n /// Registering the New User\r\n /// \r\n vm.saveUser = function(){\r\n if (vm.signup_form.$valid) {\r\n // console.log(\"pass\");\r\n var registerdata = {\r\n Request_Code:0,\r\n FirstName: vm.FirstName,\r\n CompanyName: vm.CompanyName,\r\n EmailId: vm.Email,\r\n PhoneNumber: vm.Phone,\r\n Password: vm.Password,\r\n LastName:vm.LastName,\r\n Vertical:vm.Vertical\r\n }\r\n\r\n var json = angular.toJson(registerdata);\r\n if (angular.isDefined(json)) {\r\n registerService.registerUser(json, token)\r\n .success(function (data,status) {\r\n if(status == 201){\r\n toaster.pop({\r\n type: 'success',\r\n title: data.Message,\r\n showCloseButton: true,\r\n body: \"User Created Successfully\",\r\n \"showDuration\": \"400\",\r\n \"hideDuration\": \"1000\",\r\n \"tapToDismiss\": true,\r\n \"timeout\": 2000\r\n });\r\n \r\n } else {\r\n vm.showFailure(\"Failed\", data.Message);\r\n }\r\n vm.getAllUser();\r\n })\r\n}\r\n} else {\r\n vm.signup_form.submitted = true;\r\n return;\r\n }\r\n clearFormFields();\r\n vm.CloseModal();\r\n}\r\n\r\nfunction clearFormFields(){\r\n vm.FirstName = '';\r\n vm.LastName = '';\r\n vm.Email = '';\r\n vm.Phone = '';\r\n vm.Password = '';\r\n vm.ConfirmPassword = '';\r\n vm.CompanyName = '';\r\n}\r\n\r\n vm.CloseModal = function () {\r\n ProjectModal.close();\r\n }\r\n\r\n \r\n\r\n vm.editTeamMember = function (userName) {\r\n $state.go('index.TeamEdit', {\r\n userId: userName\r\n });\r\n }\r\n // vm.Updateuser = function(accountId){\r\n // AccountService.UpdateUserList(accountId,loggedinUser, token).then(function(resp){\r\n // if (resp.status == 202) {\r\n // vm.toaster_success.body = \"User Updated Successfully\";\r\n // toaster.pop(vm.toaster_success);\r\n // // vm.getAllUser();\r\n // $timeout(function(){\r\n // vm.getAllUser();\r\n // },3000);\r\n // }else{\r\n // vm.toaster_fail.body = \"Something went wrong, please try again\";\r\n // toaster.pop(vm.toaster_fail);\r\n // }\r\n\r\n // $log.log('vm.isActive', vm.isActive);\r\n \r\n // })\r\n // }\r\n vm.Updateuser = function(accountId){\r\n AccountService.UpdateUserList(accountId,loggedinUser, token,vm.isActive).then(function(resp){\r\n if (resp.status == 202) {\r\n vm.toaster_success.body = \"User Updated Successfully\";\r\n toaster.pop(vm.toaster_success);\r\n // vm.getAllUser();\r\n $timeout(function(){\r\n vm.getAllUser();\r\n },3000);\r\n }else{\r\n vm.toaster_fail.body = \"Something went wrong, please try again\";\r\n toaster.pop(vm.toaster_fail);\r\n }\r\n\r\n $log.log('vm.isActive', vm.isActive);\r\n \r\n })\r\n }\r\n\r\n vm.search = function() {\r\n\r\n if(angular.isDefined(vm.teamMember_name)){\r\n vm.filteredProperties.FirstName = vm.teamMember_name;\r\n }\r\n if(angular.isDefined(vm.company_name)){\r\n vm.filteredProperties.CompanyName = vm.company_name;\r\n }\r\n if(angular.isDefined(vm.phone_number)){\r\n vm.filteredProperties.PhoneNumber = vm.phone_number;\r\n }\r\n if(angular.isDefined(vm.location)){\r\n vm.filteredProperties.Location = vm.location;\r\n }\r\n if(angular.isDefined(vm.status)){\r\n vm.filteredProperties.UserStatus = vm.status;\r\n }\r\n\r\n ProjectModal.close();\r\n }\r\n\r\n vm.AddTeamMember = function () {\r\n $state.go('index.TeamCreate', {\r\n reload: true\r\n });\r\n }\r\n vm.dtOptions = DTOptionsBuilder.newOptions().withDOM('<\"html5buttons\"B>lTfgitp')\r\n .withButtons([]).withPaginationType('full_numbers')\r\n .withOption('order', [1, 'desc']);\r\n\r\n vm.dtColumnDefs = [\r\n DTColumnDefBuilder.newColumnDef(1).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(2).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(3).notSortable(),\r\n DTColumnDefBuilder.newColumnDef(4).notSortable()\r\n ];\r\n\r\n\r\n vm.getAllUser(loggedinUser);\r\n // vm.getAllSkills();\r\n // vm.getAllCircles(loggedinUser);\r\n\r\n }\r\n \r\n \r\n });\n/**\r\n * INSPINIA - Responsive Admin Theme\r\n * 2.7.1\r\n *\r\n * Custom scripts\r\n */\r\n\r\nangular.element(document).ready(function ($timeout) {\r\n\r\n\r\n // Full height of sidebar\r\n function fix_height() {\r\n var heightWithoutNavbar = angular.element(\"body > #wrapper\").height() - 61;\r\n angular.element(\".sidebar-panel\").css(\"min-height\", heightWithoutNavbar + \"px\");\r\n\r\n var navbarHeight = angular.element('nav.navbar-default').height();\r\n var wrapperHeight = angular.element('#page-wrapper').height();\r\n\r\n if(navbarHeight > wrapperHeight){\r\n angular.element('#page-wrapper').css(\"min-height\", navbarHeight + \"px\");\r\n }\r\n\r\n if(navbarHeight < wrapperHeight){\r\n angular.element('#page-wrapper').css(\"min-height\", angular.element(window).height() + \"px\");\r\n }\r\n\r\n if (angular.element('body').hasClass('fixed-nav')) {\r\n if (navbarHeight > wrapperHeight) {\r\n angular.element('#page-wrapper').css(\"min-height\", navbarHeight + \"px\");\r\n } else {\r\n angular.element('#page-wrapper').css(\"min-height\", angular.element(window).height() - 60 + \"px\");\r\n }\r\n }\r\n\r\n }\r\n\r\n angular.element(window).bind(\"load resize scroll\", function() {\r\n if(!angular.element(\"body\").hasClass('body-small')) {\r\n fix_height();\r\n }\r\n });\r\n\r\n // Move right sidebar top after scroll\r\n angular.element(window).scroll(function(){\r\n if (angular.element(window).scrollTop() > 0 && !angular.element('body').hasClass('fixed-nav') ) {\r\n angular.element('#right-sidebar').addClass('sidebar-top');\r\n } else {\r\n angular.element('#right-sidebar').removeClass('sidebar-top');\r\n }\r\n });\r\n\r\n $timeout(function(){\r\n fix_height();\r\n });\r\n\r\n // Minimalize menu when screen is less than 768px\r\n angular.element(window).bind(\"load resize\", function() {\r\n if (angular.element(document).width() < 769) {\r\n angular.element('body').addClass('body-small')\r\n } else {\r\n angular.element('body').removeClass('body-small')\r\n }\r\n })\r\n\r\n});\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('inspinia')\r\n .run(runBlock);\r\n\r\n /** @ngInject */\r\n function runBlock($log, $localStorage, $state, $rootScope) {\r\n\r\n $log.debug('runBlock end');\r\n $rootScope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) {\r\n if(fromState.name == 'Login') {\r\n if (toState.name == 'VerifyUser') {\r\n return;\r\n } else if (toState.name == 'Register') {\r\n return;\r\n }\r\n else if (angular.isUndefined($localStorage.loggedInUserId)) {\r\n event.preventDefault();\r\n }\r\n }\r\n });\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n var url = 'https://login.mymobiforce.com';\r\n var nonsslurl = 'http://login.mymobiforce.com';\r\n var rurl = 'https://login.mymobiforce.com';\r\n var rocketUrl = 'https://msg.mymobiforce.com';\r\n var wsRocketUrl = 'wss://msg.mymobiforce.com/websocket';\r\n angular\r\n .module('inspinia').constant('ApiURL', url + '/coreapi')\r\n .constant('DashboardURL', rurl + '/DashboardAPI')\r\n .constant('RocketChatURL', rocketUrl)\r\n .constant('WsRocketUrl', wsRocketUrl)\r\n .constant('ActivityURL', url + '/ActivityAPI')\r\n .constant('LocationURL', url + '/LocationAPI')\r\n .constant('MMFCRMURL', url + '/MMFCRMAPI')\r\n .constant('FreelancerURL', url + '/FreelancerAPI')\r\n .constant('PublicApiURL', url + '/publicapi')\r\n .constant('SchedulingAPI', url + '/SchedulingAPI')\r\n .constant('CMSURL', nonsslurl + ':8082')\r\n .constant('UIURL', url)\r\n .constant('CMSMediaUrl', url + '/assets/images/')\r\n .constant('CMSToken', 'IHocN6TvVxQGe4PdHdA7eLlcTiN3i8kS')\r\n .constant('CMSAminToken', 'STgP0RZT2Vh5FaTFSPPnCK4gJHtLa0ue')\r\n .constant('ImageUrl', url + '/coreapi/Test')\r\n .constant('InvoiceUrl', url + '/coreapi/Reports')\r\n .constant('userauthURL', url + '/userauthapi')\r\n .constant('referalapi', url + '/smsreferalapi')\r\n .constant('CronUrl', nonsslurl + ':8083')\r\n .constant('MailUrl', url)\r\n .constant('paymentsapi', url + '/paymentsapi')\r\n .constant('IntegrationAPI', url + '/integrationAPI')\r\n .constant('RocketURl', url + '/RocketChatIntegrationAPI')\r\n .constant('AcessoriesURL', url + '/MMFAcessoriesPartsAPI')\r\n .constant('CampaignURL', url + '/CampaignAPI')\r\n .constant('StaffSchedulingAPI', url + '/StaffSchedulingAPI')\r\n .constant('AlertURL', url + '/AlertScheduleHandlerAPI');\r\n\r\n angular\r\n .module('inspinia')\r\n .config(routerConfig);\r\n\r\n /** @ngInject */\r\n // function routerConfig($stateProvider, $urlRouterProvider, $httpProvider, dropzoneOpsProvider, $sceProvider, $crypthmacProvider) {\r\n function routerConfig($stateProvider, $urlRouterProvider, $httpProvider, dropzoneOpsProvider, $sceProvider, $compileProvider) {\r\n\r\n $compileProvider.aHrefSanitizationWhitelist(/^\\s*(https?|http?|local|data):/);\r\n\r\n $stateProvider\r\n .state('index', {\r\n abstract: true,\r\n url: \"/index\",\r\n templateUrl: \"app/components/common/content.html\"\r\n })\r\n .state('public', {\r\n abstract: true,\r\n url: \"/index\",\r\n templateUrl: \"app/components/common/public_content.html\"\r\n })\r\n .state('Login', {\r\n url: \"/Login\",\r\n templateUrl: \"app/Login/login.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n }\r\n })\r\n .state('FreelancerLogin', {\r\n url: \"/FreelancerLogin\",\r\n templateUrl: \"app/Login2Factor/Login2Factor.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n }\r\n })\r\n .state('ConsumerLogin', {\r\n url: \"/ConsumerLogin\",\r\n templateUrl: \"app/ConsumerLogin/consumerlogin.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n }\r\n })\r\n .state('index.ConsumerQuery', {\r\n url: \"/ConsumerQuery\",\r\n templateUrl: \"app/ConsumerQuery/ConsumerQuery.html\",\r\n controller: 'ConsumerQueryController as cntrlconsumerquery'\r\n })\r\n .state('Forgot', {\r\n url: \"/Forgot\",\r\n templateUrl: \"app/Forgot password/forgot_password.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n }\r\n })\r\n .state('MobiEngage', {\r\n url: \"/MobiEngage/\",\r\n templateUrl: \"app/MobiEngage/MobiEngage.html\",\r\n })\r\n .state('index.bulkuploadCMS', {\r\n url: \"/bulkuploadCMS\",\r\n templateUrl: \"app/bulkuploadCMS/bulkupload.html\",\r\n controller: 'BulkUploadCMSController as bulkupload'\r\n })\r\n .state('index.bulkuploadUser', {\r\n url: \"/bulkuploadUser\",\r\n templateUrl: \"app/bulkuploadUser/bulkupload.html\",\r\n controller: 'BulkUploadUserController as bulkupload'\r\n })\r\n .state('index.bulkuploadCustomer', {\r\n url: \"/bulkuploadCustomer\",\r\n templateUrl: \"app/bulkuploadCustomer/bulkupload.html\",\r\n controller: 'BulkUploadCustomerController as bulkupload'\r\n })\r\n .state('index.bulkuploadCustomerLatest', {\r\n url: \"/bulkuploadCustomerLatest\",\r\n templateUrl: \"app/bulkuploadCustomerLatest/bulkuploadLatest.html\",\r\n controller: 'BulkUploadCustomerLatestController as bulkupload'\r\n })\r\n .state('index.bulkuploadinvitation', {\r\n url: \"/bulkuploadinvitation\",\r\n templateUrl: \"app/bulkuploadinvitation/bulkuploadinvite.html\",\r\n controller: 'BulkUploadInviteController as bulkupload'\r\n })\r\n .state('Business_Register', {\r\n url: \"/BusinessRegister\",\r\n templateUrl: \"app/Business Register/businessRegister.html\",\r\n controller: 'BusinessRegisterController as register'\r\n })\r\n //AutoScheduleSettings\r\n .state('index.AutoScheduleSettings', {\r\n url: \"/AutoScheduleSettings\",\r\n templateUrl: \"app/AutoScheduleSettings/AutoScheduleSettings.html\",\r\n controller: 'AutoScheduleSettingsController as AutoScheduleSettingsCtrl'\r\n })\r\n\r\n //OpenBucketSettings\r\n .state('index.OpenBucketSettings', {\r\n url: \"/OpenBucketSettings\",\r\n templateUrl: \"app/OpenBucketSettings/OpenBucketSettings.html\",\r\n controller: 'OpenBucketSettingsController as OpenBucketSettingsCtrl'\r\n })\r\n //CentralHelpdesk \r\n .state('index.CentralHDConfig', {\r\n url: \"/CentralHDConfig\",\r\n templateUrl: \"app/CentralHDConfig/CentralHelpdeskConfig.html\",\r\n controller: 'CentralHelpdeskConfigController as CentralHelpdeskCtrl'\r\n })\r\n .state('index.CentralHDManualAssignation', {\r\n url: \"/Jobs/CentralHDManualAssignation\",\r\n templateUrl: \"app/CentralHDManualAssignation/CentralHDManualAssignation.html\",\r\n controller: 'CentralHDManualAssignationController as manualAssignation'\r\n })\r\n .state('index.CentralHDTicketsView', {\r\n url: \"/Jobs/CentralHDTicketsView\",\r\n templateUrl: \"app/CentralHDTicketsView/CentralHDTicketsView.html\",\r\n controller: 'CentralHDTicketsViewController as jobTicketCopy'\r\n })\r\n .state('index.CapacityGapAnalysis', {\r\n url: \"/CapacityGapAnalysis\",\r\n templateUrl: \"app/CapacityGapAnalysis/CapacityGapAnalysis.html\",\r\n controller: 'CapacityGapAnalysisController as capacitygapanalysis'\r\n })\r\n .state('index.ComplaintCaseList', {\r\n url: \"/ComplaintCaseList\",\r\n templateUrl: \"app/ComplaintCaseList/ComplaintCaseList.html\",\r\n controller: 'ComplaintCaseListController as complaintCtrl'\r\n })\r\n .state('index.DashboardReportList', {\r\n url: \"/DashboardReportList\",\r\n templateUrl: \"app/DashboardReportList/dashboardReportList.html\",\r\n controller: 'dashboardReportListController as dashReportCtrl'\r\n })\r\n .state('index.WidgetCanvas', {\r\n url: \"/WidgetCanvas\",\r\n templateUrl: \"app/WidgetCanvas/widgetCanvas.html\",\r\n controller: 'widgetCanvasController as widgetCtrl'\r\n })\r\n .state('index.ServiceCenterList', {\r\n url: \"/ServiceCenterList\",\r\n templateUrl: \"app/ServiceCenterList/ServiceCenterList.html\",\r\n controller: 'ServiceCenterListController as Servicelistlistctrl'\r\n })\r\n .state('index.CustomerCRMList', {\r\n url: \"/CustomerCallBooking\",\r\n templateUrl: \"app/CustomerCRMList/CustomerCRMList.html\",\r\n controller: 'CustomerCRMListController as customercrmlistctrl'\r\n })\r\n .state('index.DirectSaleToCustomer', {\r\n url: \"/DirectSaleToCustomer\",\r\n templateUrl: \"app/DirectSaleToCustomer/DirectSaleToCustomer.html\",\r\n controller: 'DirectSaleToCustomerController as directsalecntrl'\r\n })\r\n .state('index.OrderDetailView', {\r\n url: \"/OrderDetailView/:order_id\",\r\n templateUrl: \"app/OrderDetailView/OrderDetailView.html\",\r\n controller: 'OrderDetailViewController as OrderDetailsCtrl'\r\n })\r\n .state('index.WareHouseOrderDetailView', {\r\n url: \"/WareHouseOrderDetailView/:order_id\",\r\n templateUrl: \"app/WareHouseOrderDetailView/WareHouseOrderDetailView.html\",\r\n controller: 'WareHouseOrderDetailViewController as WareOrderDetailsCtrl'\r\n })\r\n .state('index.ReportDetail', {\r\n url: \"/Detail/:Type/:report_id\",\r\n templateUrl: \"app/ReportDetail/reportDetail.html\",\r\n controller: 'reportDetailController as advance'\r\n })\r\n .state('ReportDetailShare', {\r\n url: \"/DetailShare/:Type/:report_id/:start_date/:userid/:token\",\r\n templateUrl: \"app/ReportDetailShare/reportDetailShare.html\",\r\n controller: 'reportDetailShareController as advance'\r\n })\r\n .state('index.DashboardDetail', {\r\n url: \"/DashboardDetail/:Type/:dashboard_id\",\r\n templateUrl: \"app/DashboardDetail/dashboardDetail.html\",\r\n controller: 'dashboardDetailController as dashboardCtrl'\r\n })\r\n // .state('index.WorkOrder', {\r\n // url: \"/Jobs/WorkOrder\",\r\n // templateUrl: \"app/WorkOrderList/WorkOrder.html\",\r\n // controller: 'WorkOrderController as WorkOrderCtrl'\r\n // })\r\n .state('index.TaskPriorityOps', {\r\n url: \"/TaskPriorityOps\",\r\n templateUrl: \"app/TaskPriorityOps/TaskPriorityOps.html\",\r\n controller: 'TaskPriorityOpsController as Tspcntrl'\r\n })\r\n .state('index.CommittmentOps', {\r\n url: \"/CommittmentOps\",\r\n templateUrl: \"app/CommittmentOps/CommittmentOps.html\",\r\n controller: 'CommittmentOpsController as CmtmntOpsCtrl'\r\n })\r\n .state('index.AllTasksOps', {\r\n url: \"/AllTasksOps\",\r\n templateUrl: \"app/AllTasksOps/AllTasksOps.html\",\r\n controller: 'AllTasksOpsController as ALTOSCtrl'\r\n })\r\n .state('index.OperationTATBreached', {\r\n url: \"/TATBreachedOps\",\r\n templateUrl: \"app/OperationTATBreached/OperationTATBreached.html\",\r\n controller: 'OperationTATBreachedController as OTATBCtrl'\r\n })\r\n .state('index.CentralHDAllTicketList', {\r\n url: \"/Jobs/CentralHDAllTicketList\",\r\n templateUrl: \"app/CentralHDAllTicketList/CentralHDAllTicketList.html\",\r\n controller: 'CentralHDAllTicketListController as jobTicketCopy'\r\n })\r\n .state('index.bulkuploadJob', {\r\n url: \"/bulkuploadJob/:type\",\r\n templateUrl: \"app/bulkuploadJob/bulkupload.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: 'BulkUploadJobController as bulkupload'\r\n })\r\n .state('index.Dashboard', {\r\n url: \"/Dashboard/:UserId\",\r\n templateUrl: \"app/Dashboard/Dashboard.html\",\r\n controller: 'DashboardController as UserDashboard'\r\n })\r\n .state('index.IT360Profile', {\r\n url: \"/IT360Profile/\",\r\n templateUrl: \"app/IT360Profile/IT360Profile.html\",\r\n controller: 'IT360ProfileController as CntrlITProfile'\r\n })\r\n .state('index.ITEngineer', {\r\n url: \"/ITEngineer/:UserId\",\r\n templateUrl: \"app/ITEngineer/ITEngineer.html\",\r\n controller: 'ITEngineerController as CntrlITEngineerProfile'\r\n })\r\n .state('index.mForce-job-list', {\r\n url: \"/mForce-job-list\",\r\n templateUrl: \"app/mForce-job-list/job-list.html\",\r\n controller: 'userjobController as Mjob'\r\n })\r\n .state('index.mForce-job-detail', {\r\n url: \"/mForce-job-detail/:ticketId\",\r\n templateUrl: \"app/mForce-job-detail/job-detail.html\",\r\n controller: 'bidDetailController as MjobDetail'\r\n })\r\n .state('index.PlanningBulkUpload', {\r\n url: \"/PlanningBulkUpload\",\r\n templateUrl: \"app/PlanningBulkUpload/PlanningBulkUpload.html\",\r\n controller: 'PlanningBulkUploadController as PlanningBulkUpload'\r\n })\r\n .state('index.PlanningUploadJobs', {\r\n url: \"/PlanningUploadJobs\",\r\n templateUrl: \"app/PlanningUploadJobs/PlanningUploadJobs.html\",\r\n controller: 'PlanningUploadJobsController as PlanningUploadJobs'\r\n })\r\n .state('index.PlanningTemplates', {\r\n url: \"/PlanningTemplates\",\r\n templateUrl: \"app/PlanningTemplates/PlanningTemplates.html\",\r\n controller: 'PlanningTemplatesController as PlanningTemplates'\r\n })\r\n .state('index.PlanningResource', {\r\n url: \"/PlanningResource\",\r\n templateUrl: \"app/PlanningResource/PlanningResource.html\",\r\n controller: 'PlanningResourceController as plannerResource'\r\n })\r\n .state('index.PlanningTicket', {\r\n url: \"/PlanningTicket\",\r\n templateUrl: \"app/PlanningTicket/PlanningTicket.html\",\r\n controller: 'PlanningTicketController as PlanningTicket'\r\n })\r\n .state('index.PlanningReport', {\r\n url: \"/PlanningReport\",\r\n templateUrl: \"app/PlanningReport/PlanningReport.html\",\r\n controller: 'PlanningReportController as PlanningReport'\r\n })\r\n .state('index.TeamPartRequest', {\r\n url: \"/TeamPartRequest\",\r\n templateUrl: \"app/TeamPartRequest/TeamPartRequest.html\",\r\n controller: 'TeamPartRequestController as requestcntrl'\r\n })\r\n .state('index.TeamMyStock', {\r\n url: \"/MyStock\",\r\n templateUrl: \"app/TeamMyStock/TeamMyStock.html\",\r\n controller: 'TeamMyStockController as mystockcntrl'\r\n })\r\n .state('index.TeamMember', {\r\n url: \"/TeamMember\",\r\n templateUrl: \"app/TeamMember/TeamMember.html\",\r\n controller: 'TeamMemberController as team'\r\n })\r\n .state('index.CRMTeamMember', {\r\n url: \"/CRMTeamMember\",\r\n templateUrl: \"app/CRMTeamMember/CRMTeamMember.html\",\r\n controller: 'CRMTeamMemberController as CRMteamCntrl'\r\n })\r\n .state('index.CRMTeamEdit', {\r\n url: \"/CRMTeamEdit/:userId\",\r\n templateUrl: \"app/CRMTeamFormCreation/CRMTeamFormCreation.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: 'CRMTeamFormCreationController as crmteamcreation'\r\n })\r\n .state('index.WareHouseList', {\r\n url: \"/WareHouseList\",\r\n templateUrl: \"app/WareHouseList/WareHouseList.html\",\r\n controller: 'WareHouseListController as CntrlWareHouse'\r\n })\r\n .state('index.WareHouseItemList', {\r\n url: \"/WareHouseItemList/:warehouseId\",\r\n templateUrl: \"app/WareHouseItemList/WareHouseItemList.html\",\r\n controller: 'WareHouseItemListController as CntrlWareHouseItemList'\r\n })\r\n .state('index.CustomerDetailList', {\r\n url: \"/CRMCustomersList\",\r\n templateUrl: \"app/CustomerDetailList/CustomerDetailList.html\",\r\n controller: 'CustomerDetailListController as CntrlCustomerList'\r\n })\r\n .state('index.RoasterTeamMember', {\r\n url: \"/RoasterTeamMember\",\r\n templateUrl: \"app/RoasterTeamMember/RoasterTeamMember.html\",\r\n controller: 'RoasterTeamMemberController as teamroaster'\r\n })\r\n .state('index.customerProfileView', {\r\n url: \"/customerProfileView\",\r\n templateUrl: \"app/customerProfileView/customerProfileView.html\",\r\n controller: 'customerProfileViewController as customerProfileView'\r\n })\r\n .state('index.PepsicoCustomerProfileView', {\r\n url: \"/PepsicoCustomerProfileView\",\r\n templateUrl: \"app/PepsicoCustomerProfileView/PepsicoCustomerProfileView.html\",\r\n controller: 'PepsicoCustomerProfileViewController as pepsicocustomerProfileView'\r\n })\r\n .state('index.CustomerCRM360', {\r\n url: \"/CustomerCRM360/:ContactNo\",\r\n templateUrl: \"app/CustomerCRM360/CustomerCRM360.html\",\r\n controller: 'CustomerCRM360Controller as ctrlCRM360'\r\n })\r\n\r\n // for pepsico demo we did this on JD no.\r\n \r\n .state('index.CustomerCRM360ForDH', {\r\n url: \"/CustomerCRM360/9811421122\",\r\n templateUrl: \"app/CustomerCRM360/CustomerCRM360.html\",\r\n controller: 'CustomerCRM360Controller as ctrlCRM360'\r\n })\r\n \r\n .state('index.ClientView360', {\r\n url: \"/ClientView360/:ContactNo\",\r\n templateUrl: \"app/ClientView360/ClientView360.html\",\r\n controller: 'ClientView360Controller as ctrlclientCRM360'\r\n })\r\n\t .state('index.ServiceCenter360', {\r\n url: \"/ServiceCenter360/\",\r\n templateUrl: \"app/ServiceCenter360/ServiceCenter360.html\",\r\n controller: 'ServiceCenter360Controller as ctrlserviceCenter'\r\n })\r\n\t \r\n .state('index.customerProfileView1', {\r\n url: \"/customerProfileViewB2C\",\r\n templateUrl: \"app/customerProfileView1/customerProfileView1.html\",\r\n controller: 'customerProfileView1Controller as ctrlcustomerProfil'\r\n })\r\n .state('index.Assests360View', {\r\n url: \"/Assests360View\",\r\n templateUrl: \"app/Assests360View/Assests360View.html\",\r\n controller: 'Assests360ViewController as CntrlAssestView'\r\n })\r\n .state('index.Technician360view', {\r\n url: \"/Technician360view/:userId\",\r\n templateUrl: \"app/Technician360view/Technician360view.html\",\r\n controller: 'TechnicianViewController as TechnicianView'\r\n })\r\n .state('index.plannerTool', {\r\n url: \"/plannerTool\",\r\n templateUrl: \"app/plannerTool/plannerTool.html\",\r\n controller: 'plannerToolController as planner'\r\n })\r\n .state('index.CustomerNew', {\r\n url: \"/CustomerNew\",\r\n templateUrl: \"app/CustomerNew/CustomerNew.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: 'CustomerController as customer'\r\n })\r\n .state('index.CustomerNewLatest', {\r\n url: \"/CustomerNewLatest\",\r\n templateUrl: \"app/CustomerNewLatest/CustomerNewLatest.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: 'CustomerLatestController as customer'\r\n })\r\n .state('index.Customer_Detail_View', {\r\n url: \"/Customer_Detail_View/:customerId\",\r\n templateUrl: \"app/CustomerDetailView/CustomerDetailView.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: 'CustomerDetailViewController as custdetailview'\r\n })\r\n .state('index.Customer_Detail_View_Latest', {\r\n url: \"/Customer_Detail_View_Latest/:customerId\",\r\n templateUrl: \"app/CustomerDetailViewLatest/CustomerDetailViewLatest.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: 'CustomerDetailViewLatestController as custdetailviewLatest'\r\n })\r\n .state('ConfirmAccount', {\r\n url: \"/ConfirmAccount/:userId/:email\",\r\n templateUrl: \"app/Confirm Account/confirm_account.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: 'ConfirmAccountController as confirm'\r\n })\r\n .state('index.TeamView', {\r\n url: \"/TeamView\",\r\n templateUrl: \"app/Team card View/Team_view.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: 'TeamCardController as team'\r\n })\r\n .state('index.TeamCreate', {\r\n url: \"/TeamCreate\",\r\n templateUrl: \"app/Team Form Creation/Team_creation_form.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: 'TeamFormCreationController as createUser'\r\n })\r\n .state('index.CRMTeamFormCreation', {\r\n url: \"/CRMTeamFormCreation\",\r\n templateUrl: \"app/CRMTeamFormCreation/CRMTeamFormCreation.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: 'CRMTeamFormCreationController as crmteamcreation'\r\n })\r\n .state('index.ServiceCenterFormCreation', {\r\n url: \"/ServiceCenterFormCreation\",\r\n templateUrl: \"app/ServiceCenter_Form creation/ServiceCenter_Form creation.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: 'ServiceCenter_FormcreationController as servicecntrl'\r\n })\r\n .state('index.ServiceCenterCreation', {\r\n url: \"/ServiceCenterCreation\",\r\n templateUrl: \"app/ServiceCenterCreation/ServiceCenterCreation.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: 'ServiceCenterCreationController as SrvcCntr'\r\n })\r\n\r\n .state('index.VendorTeamCreate', {\r\n url: \"/VendorTeamCreate\",\r\n templateUrl: \"app/VendorTeamCreate/VendorTeamCreate.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: 'VendorTeamCreateController as VTCcntrl'\r\n })\r\n .state('index.VendorTeamCreation', {\r\n url: \"/VendorTeamCreation\",\r\n templateUrl: \"app/VendorTeamCreation/VendorTeamCreation.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: 'VendorTeamCreationController as VTCreationCntrl'\r\n })\r\n .state('index.BrandProductMasterCreation', {\r\n url: \"/MasterCreation\",\r\n templateUrl: \"app/BrandProductMasterCreation/BrandProductMasterCreation.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: 'BrandProductMasterCreationController as BPDMasterCntrl'\r\n })\r\n // .state('index.Servicefomedit', {\r\n // url: \"/Servicefomedit\",\r\n // templateUrl: \"app/Servicefomedit/Servicefomedit.html\",\r\n // data: {\r\n // pageTitle: 'Example view'\r\n // },\r\n // controller: 'ServicefomeditController as Scfntrl'\r\n // })\r\n .state('index.RoasterTeamCreate', {\r\n url: \"/RoasterTeamCreate\",\r\n templateUrl: \"app/RoasterTeamCreation/Roaster_Team_creation_form.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: 'RoasterTeamFormCreationController as roastercreateUser'\r\n })\r\n .state('index.TeamProfile', {\r\n url: \"/TeamProfile/:userId\",\r\n templateUrl: \"app/Team Profile/Team_profile.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: 'TeamProfileController as teamProfile'\r\n })\r\n .state('index.TeamEdit', {\r\n url: \"/TeamEdit/:userId\",\r\n templateUrl: \"app/Team Form Creation/Team_creation_form.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: 'TeamFormCreationController as createUser'\r\n })\r\n .state('index.ServiceCenter_FormEdit', {\r\n url: \"/ServiceCenterFormEdit/:userId\",\r\n templateUrl: \"app/ServiceCenter_Form creation/ServiceCenter_Form creation.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: 'ServiceCenter_FormcreationController as servicecntrl'\r\n })\r\n .state('index.RoasterTeamEdit', {\r\n url: \"/RoasterTeamEdit/:userId\",\r\n templateUrl: \"app/RoasterTeamCreation/Roaster_Team_creation_form.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: 'RoasterTeamFormCreationController as roastercreateUser'\r\n })\r\n .state('index.CustomerView', {\r\n url: \"/CustomerView\",\r\n templateUrl: \"app/Customer Card View/customer_Card_view.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: 'CustomerCardController as cust'\r\n })\r\n .state('index.CustomerCreate', {\r\n url: \"/CustomerCreate\",\r\n templateUrl: \"app/Customer Form Creation/customer_form_creation.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: \"CustomerFormController as createCustomer\"\r\n })\r\n .state('index.CustomerCreateLatest', {\r\n url: \"/CustomerCreateLatest\",\r\n templateUrl: \"app/Customer Form Creation Latest/customer_form_creation_Latest.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: \"CustomerFormLatestController as createCustomer\"\r\n })\r\n\r\n .state('index.CustomerProfile', {\r\n url: \"/CustomerProfile/:customerId\",\r\n templateUrl: \"app/Customer Profile/Customer_profile.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: 'CustomerProfileController as customerProfile'\r\n })\r\n .state('index.CustomerEdit', {\r\n url: \"/CustomerEdit/:customerId\",\r\n templateUrl: \"app/Customer Form Creation/customer_form_creation.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: \"CustomerFormController as createCustomer\"\r\n })\r\n .state('index.JobTickets', {\r\n url: \"/Jobs/JobTickets\",\r\n templateUrl: \"app/Job Ticket View/Job_Ticket_view.html\",\r\n controller: 'JobTicketViewController as jobTicket'\r\n })\r\n .state('index.ServiceCenterTicketList', {\r\n url: \"/Jobs/ServiceCenterTicketList\",\r\n templateUrl: \"app/ServiceCenterTicketList/ServiceCenterTicketList.html\",\r\n controller: 'ServiceCenterTicketListController as servicecenterticketcntrl'\r\n })\r\n .state('index.JobTicketsCopy', {\r\n url: \"/Jobs/JobTicketsCopy\",\r\n templateUrl: \"app/Job Ticket View/Job_Ticket_view_Copy.html\",\r\n controller: 'JobTicketViewControllerCopy as jobTicketCopy'\r\n })\r\n .state('index.PlanningTool', {\r\n url: \"/Jobs/PlanningTool\",\r\n templateUrl: \"app/PlanningTool/PlanningTool.html\",\r\n controller: 'PlanningToolController as PlanningTool'\r\n })\r\n .state('index.JobView', {\r\n url: \"/JobView/:ticketId/:type\",\r\n templateUrl: \"app/jobview/jobview.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: 'JobViewController as jobView'\r\n })\r\n .state('index.TemplateList', {\r\n url: \"/Jobs/TemplateList\",\r\n templateUrl: \"app/Template_grid/template_grid.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: 'TicketTemplateController as ticketTemp'\r\n })\r\n .state('index.FormEdit', {\r\n url: \"/FormEdit/:templateName\",\r\n templateUrl: \"app/form_builder/sortable.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: 'TemplateController'\r\n })\r\n .state('VerifyUser', {\r\n url: \"/VerifyUser/:userId/:uniqueKey\",\r\n templateUrl: \"app/Thankyou/Thankyou.html\",\r\n controller: 'ThankyouController as thanku'\r\n })\r\n .state('TicketForm', {\r\n url: \"/TicketForm\",\r\n templateUrl: \"app/Ticket_form/ticketform.html\",\r\n controller: 'TicketFormController as formTicket'\r\n })\r\n .state('index.ProjectCreation', {\r\n url: \"/ProjectCreation\",\r\n templateUrl: \"app/ProjectCreation/ProjectCreation.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: 'ProjectCreationController as projectcreate'\r\n })\r\n .state('index.ProjectCreationLatest', {\r\n url: \"/ProjectCreationLatest\",\r\n templateUrl: \"app/ProjectCreationLatest/ProjectCreationLatest.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: 'ProjectCreationLatestController as projectcreate'\r\n })\r\n .state('index.Project_Details', {\r\n url: \"/Project_Detail/:projectId/:pocLocation/:projectName\",\r\n templateUrl: \"app/Project_Details/Project_Details.html\",\r\n controller: 'ProjectDetailController as projectdetail'\r\n })\r\n .state('index.ProjectEdit', {\r\n url: \"/ProjectEdit/:projectId\",\r\n templateUrl: \"app/ProjectCreation/ProjectCreation.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: \"ProjectCreationController as projectcreate\"\r\n })\r\n .state('index.ProjectEditLatest', {\r\n url: \"/ProjectEditLatest/:projectId\",\r\n templateUrl: \"app/ProjectCreationLatest/ProjectCreationLatest.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: \"ProjectCreationLatestController as projectcreate\"\r\n })\r\n .state('index.JobBidCreation', {\r\n url: \"/Jobs/JobBidCreation/:cloneticketid\",\r\n templateUrl: \"app/job_Bid_Creation/Job_Bid_creation.html\",\r\n controller: 'JobBidCreationController as bidCreate'\r\n })\r\n .state('index.NewJobCreation', {\r\n url: \"/Jobs/NewJobCreation\",\r\n templateUrl: \"app/job_Bid_Creation/NewJobCreation.html\",\r\n controller: 'JobCreationController as jobCreateCtrl'\r\n })\r\n .state('index.SortableExample', {\r\n url: \"/SortableExample/:userId\",\r\n templateUrl: \"app/form_builder/sortable.html\",\r\n controller: 'TemplateController'\r\n })\r\n .state('public.mobileCms', {\r\n url: \"/mobile/cms/:userId\",\r\n templateUrl: \"app/cmsMobile/cmsList.html\",\r\n controller: 'CMSMobileController as cmsMobile'\r\n })\r\n .state('public.mobileCmsview', {\r\n url: \"/mobile/cmsview/:postId/:userId\",\r\n templateUrl: \"app/cmsMobile/cmsView.html\",\r\n controller: 'CMSMobileViewController as cmsMobileView'\r\n })\r\n .state('public.mobileCmsDirectview', {\r\n url: \"/mobile/cmsdirectview/:keyword/:userId\",\r\n templateUrl: \"app/cmsMobile/cmsView.html\",\r\n controller: 'CMSMobileDirectViewController as cmsMobileView'\r\n })\r\n .state('index.cms', {\r\n url: \"/cms\",\r\n templateUrl: \"app/cms/index.html\",\r\n controller: 'CMSController as cms'\r\n })\r\n .state('index.cmsview', {\r\n url: \"/cmsview/:postId\",\r\n templateUrl: \"app/cms/view.html\",\r\n controller: 'CMSController as cms'\r\n })\r\n .state('index.Project', {\r\n url: \"/Project\",\r\n templateUrl: \"app/projects/project.html\",\r\n controller: 'ProjectController as project'\r\n })\r\n .state('index.Accounts', {\r\n url: \"/Account\",\r\n templateUrl: \"app/Account/Account.html\",\r\n controller: 'AccountController as account'\r\n })\r\n .state('index.BaseReport', {\r\n url: \"/Report/:report_name/\",\r\n templateUrl: \"app/Report/report.html\",\r\n controller: 'ReportController as report'\r\n })\r\n .state('index.DashboardReport', {\r\n url: \"/DashboardReport/:report_name/:key/:filter_key/:filter_name/:start_date/:isData\",\r\n templateUrl: \"app/Report/report.html\",\r\n controller: 'ReportController as report'\r\n })\r\n .state('index.Report', {\r\n url: \"/Report/:report_name/:filter_key/:filter_name/:start_date/:end_date\",\r\n templateUrl: \"app/Report/report.html\",\r\n controller: 'ReportController as report',\r\n notify: false,\r\n reload: false,\r\n inherit: false\r\n })\r\n .state('index.ScheduledReport', {\r\n url: \"/ScheduledReport\",\r\n templateUrl: \"app/ScheduledReport/ScheduledReport.html\",\r\n controller: 'ScheduledReportController as report'\r\n })\r\n .state('index.SchedulerRuleConfig', {\r\n url: \"/SchedulerRule\",\r\n templateUrl: \"app/SchedulerRule/SchedulerRule.html\",\r\n controller: 'SchedulerRuleController as rule'\r\n })\r\n .state('index.SystemConfig', {\r\n url: \"/SystemConfiguration\",\r\n templateUrl: \"app/SystemConfig/SystemConfig.html\",\r\n controller: 'SystemConfigController as systemconfig'\r\n })\r\n .state('index.AccountSetting', {\r\n url: \"/AccountSetting\",\r\n templateUrl: \"app/AccountSetting/AccountSetting.html\",\r\n controller: 'AccountSettingController as account'\r\n })\r\n .state('index.AdvancedDashboard', {\r\n url: \"/AdvancedDashboard/:name\",\r\n templateUrl: \"app/AdvancedDashboard/advancedDashboard.html\",\r\n controller: 'AdvancedDashboardController as dashboard'\r\n })\r\n .state('index.KPIAdvancedDashboard', {\r\n url: \"/KPIAdvancedDashboard/:name\",\r\n templateUrl: \"app/KPIAdvancedDashboard/KPIAdvancedDashboard.html\",\r\n controller: 'KPIAdvancedDashboardController as KPIdashboard'\r\n })\r\n .state('index.TabAdvancedDashboard', {\r\n url: \"/TabAdvancedDashboard/:name/:vertical\",\r\n templateUrl: \"app/TabAdvancedDashboard/TabAdvancedDashboard.html\",\r\n controller: 'TabAdvancedDashboardController as tabadvancedashboard'\r\n })\r\n .state('AdvancedDashboardShare', {\r\n url: \"/AdvancedDashboardShare/:name/:userid/:token\",\r\n templateUrl: \"app/AdvancedDashboardShare/advancedDashboard.html\",\r\n controller: 'AdvancedDashboardShareController as dashboard'\r\n })\r\n .state('index.InvitedUser', {\r\n url: \"/Freelancers/InvitedUser\",\r\n templateUrl: \"app/InvitedUser/InvitedUser.html\",\r\n controller: 'invitedUserController as inviteUser'\r\n })\r\n .state('index.InvoiceAcceptance', {\r\n url: \"/InvoiceAcceptance\",\r\n templateUrl: \"app/InvoiceAcceptance/InvoiceAcceptance.html\",\r\n controller: 'InvoiceAcceptanceController as InvoiceAcceptCntrl'\r\n })\r\n .state('index.ProductReplacementOrders', {\r\n url: \"/ProductReplacementOrders\",\r\n templateUrl: \"app/ProductReplacementOrders/ProductReplacementOrders.html\",\r\n controller: 'ProductReplacementOrdersController as ProductReplaceCntrl'\r\n })\r\n .state('index.ProductReplacementApproval', {\r\n url: \"/ProductReplacementApproval\",\r\n templateUrl: \"app/ProductReplacementApproval/ProductReplacementApproval.html\",\r\n controller: 'ProductReplacementApprovalController as ProductReplaceApprovalCntrl'\r\n })\r\n .state('index.GasChargingRequestList', {\r\n url: \"/GasChargingRequestList\",\r\n templateUrl: \"app/GasChargingApproval/GasChargingApproval.html\",\r\n controller: 'GasChargingApprovalController as GasChargeApprovalCntrl'\r\n })\r\n .state('index.WrongProductReceivedOrders', {\r\n url: \"/WrongProductReceivedOrders\",\r\n templateUrl: \"app/WrongProductReceivedOrders/WrongProductReceivedOrders.html\",\r\n controller: 'WrongProductReceivedOrdersController as WrongProductRcvCntrl'\r\n }) \r\n .state('index.NonReturnablePartConsumeList', {\r\n url: \"/NonReturnablePartConsumeList\",\r\n templateUrl: \"app/NonReturnablePartConsumeList/NonReturnablePartConsumeList.html\",\r\n controller: 'NonReturnablePartConsumeListController as NonReturnPartCntrl'\r\n }) \r\n .state('index.ReturnablePartConsumeList', {\r\n url: \"/ReturnablePartConsumeList\",\r\n templateUrl: \"app/ReturnablePartConsumeList/ReturnablePartConsumeList.html\",\r\n controller: 'ReturnablePartConsumeListController as ReturnPartCntrl'\r\n }) \r\n .state('index.AllOrdersReceivedList', {\r\n url: \"/AllOrdersReceivedList\",\r\n templateUrl: \"app/AllOrdersReceivedList/AllOrdersReceivedList.html\",\r\n controller: 'AllOrdersReceivedListController as AllOrderListCntrl'\r\n })\r\n .state('index.ActiveUser', {\r\n url: \"/Freelancers/ActiveUser\",\r\n templateUrl: \"app/ActiveUser/ActiveUser.html\",\r\n controller: 'ActiveUserController as activeUser'\r\n })\r\n .state('index.ActiveVendorTeam', {\r\n url: \"/Vendor/ActiveVendorTeam\",\r\n templateUrl: \"app/ActiveVendorTeamList/ActiveVendorTeam.html\",\r\n controller: 'VendorTeamController as registerVendor'\r\n })\r\n .state('index.ManualAssignation', {\r\n url: \"/Jobs/ManualAssignation\",\r\n templateUrl: \"app/ManualAssignation/ManualAssignation.html\",\r\n controller: 'ManualAssignationController as manualAssignation'\r\n })\r\n .state('index.ManualAssignationJob', {\r\n url: \"/Jobs/ManualAssignationJob\",\r\n templateUrl: \"app/ManualAssignationJob/ManualAssignationJob.html\",\r\n controller: 'ManualAssignationJobController as manualAssignationJob'\r\n })\r\n .state('index.CRMManualAssignationJob', {\r\n url: \"/Jobs/CRMManualAssignationJob\",\r\n templateUrl: \"app/CRMManualAssignationJob/CRMManualAssignationJob.html\",\r\n controller: 'CRMManualAssignationJobController as crmmanualAssignationJob'\r\n })\r\n .state('index.NewScheduling', {\r\n url: \"/Jobs/NewScheduling\",\r\n templateUrl: \"app/ScheduleJobAssignation/NewJobAssign.html\",\r\n controller: 'ScheduleJobAssigne as jobAssign'\r\n })\r\n .state('index.AutoScheduling', {\r\n url: \"/Jobs/AutoScheduling\",\r\n templateUrl: \"app/ScheduleJobAssignation/AutoAssign.html\",\r\n controller: 'AutoAssignedController as jobAssign'\r\n })\r\n .state('Refer', {\r\n url: \"/Refer/:reference_key\",\r\n templateUrl: \"app/Refer Freelancer/refer.html\",\r\n controller: 'ReferFreelancerController as registerForm'\r\n })\r\n .state('ReferVendor', {\r\n url: \"/ReferVendor/:reference_key\",\r\n templateUrl: \"app/Refer Vendor/refervendor.html\",\r\n controller: 'ReferVendorController as registerForm'\r\n })\r\n .state('cmssearchview', {\r\n url: \"/cmssearchview\",\r\n templateUrl: \"app/cms search view/cms search view.html\",\r\n\r\n })\r\n .state('cmsdetail', {\r\n url: \"/cmsdetail\",\r\n templateUrl: \"app/cms detail/cms_detail.html\",\r\n\r\n })\r\n .state('cms_home', {\r\n url: \"/cms_home\",\r\n templateUrl: \"app/Cms Home/cms_home.html\",\r\n\r\n })\r\n .state('Thankyou', {\r\n url: \"/Thankyou\",\r\n templateUrl: \"app/Thankyou/Thankyou.html\",\r\n controller: 'ThankyouController as thanku'\r\n })\r\n .state('ThankyouTicket', {\r\n url: \"/ThankyouTicket\",\r\n templateUrl: \"app/Thankyou/Thankyou_ticket.html\",\r\n controller: 'ThankyouTicketController as thanku'\r\n })\r\n .state('ThankyouBooking', {\r\n url: \"/Thankyoubooking\",\r\n templateUrl: \"app/Thankyou/Thankyou_Booking.html\",\r\n controller: 'ThankyouTicketController as thanku'\r\n })\r\n .state('index.Vendor_Creation_form', {\r\n url: \"/Vendor_Creation_form\",\r\n templateUrl: \"app/Vendor Creation Form/Vendor_Creation_form.html\",\r\n controller: \"VendorCreationController as vendorCreate\"\r\n })\r\n .state('index.Vendor Form Creation', {\r\n url: \"/Vendor-Form-Creation\",\r\n templateUrl: \"app/Vendor Form Creation/Vendor Form Creation.html\",\r\n controller: \"VendorFormCreationController as ctrlvendorCreate\"\r\n })\r\n .state('index.Vendor_list', {\r\n url: \"/Vendor_list\",\r\n templateUrl: \"app/Vendor/VendorList.html\",\r\n controller: \"VendorListController as vendorList\"\r\n })\r\n .state('index.VendorEdit', {\r\n url: \"/VendorEdit/:vendorId\",\r\n templateUrl: \"app/Vendor Creation Form/Vendor_Creation_form.html\",\r\n controller: \"VendorCreationController as vendorCreate\"\r\n })\r\n .state('index.VendorProfile', {\r\n url: \"/VendorProfile/:vendorId\",\r\n templateUrl: \"app/Vendor Profile/VendorProfile.html\",\r\n controller: \"VendorProfileController as vendorProfile\"\r\n })\r\n .state('TalentRagister', {\r\n url: \"/TalentRegister\",\r\n templateUrl: \"app/Talent Register/TalentRegister.html\",\r\n controller: \"TalentRegisterController as register\"\r\n })\r\n .state('PaymentSection', {\r\n url: \"/PaymentSection/:accountId/:jobCardId\",\r\n templateUrl: \"app/PaymentSection/PaymentSection.html\",\r\n controller: \"PaymentSectionController as payment\"\r\n })\r\n .state('PayOnline', {\r\n url: \"/PayOnline/:jobCardId\",\r\n templateUrl: \"app/PayOnline/PayOnline.html\",\r\n controller: \"PayOnlineController as onlinePayment\"\r\n })\r\n .state('RateJob', {\r\n url: \"/RateJob/:jobCardId\",\r\n templateUrl: \"app/RateJob/RateJob.html\",\r\n controller: \"RateJobController as rateJob\"\r\n })\r\n .state('index.EmailAdapterHistory', {\r\n url: \"/EmailAdapterHistory\",\r\n templateUrl: \"app/EmailAdapterHistory/EmailAdapterHistory.html\",\r\n controller: \"EmailAdapterHistoryController as EmailHistory\"\r\n })\r\n .state('index.AccountsRechargeHistory', {\r\n url: \"/AccountsRechargeHistory\",\r\n templateUrl: \"app/AccountsRechargeHistory/AccountsRechargeHistory.html\",\r\n controller: \"AccountsRechargeHistoryController as rechargeHistory\"\r\n })\r\n .state('index.DeviceInfo', {\r\n url: \"/DeviceInfo/\",\r\n templateUrl: \"app/DeviceInfo/DeviceInfo.html\",\r\n controller: \"DeviceInfoController as info\"\r\n })\r\n .state('index.HelpDesk_Home', {\r\n url: \"/HelpDesk_Home/\",\r\n templateUrl: \"app/HelpDesk Home/HelpDesk_Home.html\",\r\n controller: \"HelpDeskHomeController as ctrl\"\r\n })\r\n .state('index.HelpDesk', {\r\n url: \"/HelpDesk\",\r\n templateUrl: \"app/HelpDesk_Admin/Helpdesk_Admin.html\",\r\n controller: \"HelpDeskHomeAdminController as ctrl\"\r\n })\r\n .state('index.LeaveManagement', {\r\n url: \"/LeaveManagement/\",\r\n templateUrl: \"app/LeaveManagement/LeaveManagement.html\",\r\n controller: \"LeaveManagementController as leaveMgmt\"\r\n })\r\n .state('index.KnowledgeManagementUpload', {\r\n url: \"/KnowledgeManagementUpload/\",\r\n templateUrl: \"app/KnowledgeManagementUpload/KnowledgeManagementUpload.html\",\r\n })\r\n .state('index.KnowledgeManagementView', {\r\n url: \"/KnowledgeManagementView/\",\r\n templateUrl: \"app/KnowledgeManagementView/KnowledgeManagementView.html\",\r\n })\r\n .state('index.KnowledgeManagementSkillView', {\r\n url: \"/KnowledgeManagementSkillView/\",\r\n templateUrl: \"app/KnowledgeManagementSkillView/KnowledgeManagementSkillView.html\",\r\n })\r\n .state('index.KnowledgeManagementListView', {\r\n url: \"/KnowledgeManagementListView/\",\r\n templateUrl: \"app/KnowledgeManagementListView/KnowledgeManagementListView.html\",\r\n })\r\n .state('index.TrainingUserList', {\r\n url: \"/TrainingUserList/\",\r\n templateUrl: \"app/TrainingUserList/TrainingUserList.html\",\r\n controller: 'TrainingUserListController as traininguserlist'\r\n })\r\n .state('index.NewJobDetails1', {\r\n url: \"/NewJobDetails1/:ticketId/:type\",\r\n templateUrl: \"app/NewJobDetails1/NewJobDetails.html\",\r\n controller: \"NewJobDetailController as NewjobDetailCtrl\"\r\n })\r\n .state('index.JobList', {\r\n url: \"/Jobs/JobList\",\r\n templateUrl: \"app/JobList/JobList.html\",\r\n controller: \"JobListController as JobListCtrl\"\r\n })\r\n .state('index.JobDetailView', {\r\n url: \"/JobDetailView/:ticketId/:type\",\r\n templateUrl: \"app/JobDetailView/JobDetailView.html\",\r\n controller: \"JobDetailViewController as JobDetailViewCtrl\"\r\n })\r\n .state('index.ViewJobDetail', {\r\n url: \"/ViewJobDetail/:ticketId/:type\",\r\n templateUrl: \"app/ViewJobDetail/ViewJobDetail.html\",\r\n controller: \"ViewJobDetailController as DetailViewCtrl\"\r\n })\r\n .state('index.JobDetailViewCombo', {\r\n url: \"/JobDetailViewCombo/:ticketId/:type\",\r\n templateUrl: \"app/JobDetailViewCombo/JobDetailViewCombo.html\",\r\n controller: \"JobDetailViewComboController as JobDetailViewComboCtrl\"\r\n })\r\n \r\n .state('index.JobDetailViewNew', {\r\n url: \"/JobDetailViewNew/:ticketId/:type\",\r\n templateUrl: \"app/JobDetailViewNew/JobDetailViewNew.html\",\r\n controller: \"JobDetailViewNewController as JobDetailViewNewCtrl\"\r\n })\r\n .state('index.SchedulingRules', {\r\n url: \"/SchedulingRules/\",\r\n templateUrl: \"app/SchedulingRules/SchedulingRules.html\",\r\n controller: \"SchedulingRuleController as scRuleCtrl\"\r\n })\r\n .state('index.shiftmanagement', {\r\n url: \"/shiftmanagement\",\r\n templateUrl: \"app/ShiftManagement/shift_management.html\",\r\n controller: \"shiftManagementController as shiftManagementCntrl\"\r\n })\r\n .state('Signup', {\r\n url: \"/Signup\",\r\n templateUrl: \"app/Signup/Signup.html\",\r\n controller: \"SignupController as signupCntrl\"\r\n })\r\n .state('index.EmployeeShiftMapping', {\r\n url: \"/EmployeeShiftMapping\",\r\n templateUrl: \"app/EmployeeShiftMapping/EmployeeShiftMap.html\",\r\n controller: \"EmployeeShiftMapController as ESMCntrl\"\r\n })\r\n .state('index.StaffShiftCampaign', {\r\n url: \"/StaffShiftCampaign\",\r\n templateUrl: \"app/StaffShiftCampaign/StaffShiftCampaign.html\",\r\n controller: \"StaffShiftCampaignController as StaffShiftCntrl\"\r\n })\r\n .state('index.ShiftLeaveManagement', {\r\n url: \"/ShiftLeaveManagement\",\r\n templateUrl: \"app/ShiftLeaveManagement/ShiftLeave.html\",\r\n controller: \"ShiftLeaveController as leaveCntrl\"\r\n })\r\n .state('index.AssignationRule', {\r\n url: \"/AssignationRule/\",\r\n templateUrl: \"app/AssignationRule/AssignationRule.html\",\r\n controller: \"AssignationRuleController as assignRule\"\r\n })\r\n .state('index.SchedulingExceptionsPaging', {\r\n url: \"/SchedulingExceptionsPaging/\",\r\n templateUrl: \"app/ScheduleExceptionListPaging/ScheduleExceptionList.html\",\r\n controller: \"ScheduleExceptionListPagingController as scheduleExceptionList\"\r\n })\r\n .state('index.TerritoryMapping', {\r\n url: \"/TerritoryMapping\",\r\n templateUrl: \"app/TerritoryMapping/TerritoryMapping.html\",\r\n controller: \"TerritoryMappingController as territorymapCntrl\"\r\n })\r\n .state('index.inventory', {\r\n url: \"/inventory\",\r\n templateUrl: \"app/inventory/inventory.html\",\r\n controller: \"inventoryController as inventoryCntrl\"\r\n })\r\n .state('index.RoleAccessManagement', {\r\n url: \"/RoleAccessManagement\",\r\n templateUrl: \"app/RoleAccessManagement/RoleAccessManagement.html\",\r\n controller: \"RoleAccessManagementController as RoleAccessManagementCntrl\"\r\n })\r\n .state('index.TerritoryMangement', {\r\n url: \"/TerritoryMangement\",\r\n templateUrl: \"app/TerritoryMangement/TerritoryMangement.html\",\r\n controller: \"TerritoryMangementController as TerritoryCntrl\"\r\n })\r\n .state('index.PlatformBuilders', {\r\n url: \"/PlatformBuilders\",\r\n templateUrl: \"app/ScreenBuilders/ScreenBuilders.html\",\r\n controller: 'ScreenBuildersController as ScreenBuildersCtrl'\r\n })\r\n .state('index.ApprovalFlowBuilders', {\r\n url: \"/ApprovalFlowBuilder\",\r\n templateUrl: \"app/ApprovalFlowBuilder/ApprovalFlowBuilder.html\",\r\n controller: 'ApprovalFlowBuilderController as ApprovalFlowBuilderCtrl'\r\n })\r\n .state('index.BillDetails', {\r\n url: \"/BillDetails\",\r\n templateUrl: \"app/BillDetails/BillDetails.html\",\r\n controller: \"billdetailsController as billdetailscntrl\"\r\n })\r\n .state('index.NoticeCampaignDetails', {\r\n url: \"/NoticeCampaignDetails\",\r\n templateUrl: \"app/NoticeCampaignDetails/NoticeCampaignDetails.html\",\r\n controller: \"NoticeCampaignDetailsController as NoticeCampaignCntrl\"\r\n })\r\n .state('index.InventoryItemList', {\r\n url: \"/InventoryItemList\",\r\n templateUrl: \"app/InventoryItemList/InventoryItemList.html\",\r\n controller: \"InventoryItemListController as CntrlInventory\"\r\n })\r\n .state('index.InventoryCart', {\r\n url: \"/InventoryCart\",\r\n templateUrl: \"app/InventoryCart/InventoryCart.html\",\r\n controller: \"InventoryCartController as InventoryCartCntrl\"\r\n })\r\n .state('index.LeaderBoard', {\r\n url: \"/LeaderBoard\",\r\n templateUrl: \"app/LeaderBoard/LeaderBoard.html\",\r\n controller: \"LeaderBoardController as leaderctrl\"\r\n })\r\n .state('index.LoadBalancer', {\r\n url: \"/LoadBalancer\",\r\n templateUrl: \"app/LoadBalancer/LoadBalancer.html\",\r\n controller: \"LoadBalancerController as LoadCntrl\"\r\n })\r\n .state('index.employeshiftattendance', {\r\n url: \"/employeshiftattendance\",\r\n templateUrl: \"app/employeshiftattendance/employeshiftattendance.html\",\r\n controller: \"employeshiftattendanceController as ESACntrl\"\r\n })\r\n .state('index.InvigilatorShiftAttendance', {\r\n url: \"/InvigilatorShiftAttendance\",\r\n templateUrl: \"app/InvigilatorShiftAttendance/InvigilatorShiftAttendance.html\",\r\n controller: \"InvigilatorShiftAttendanceController as ISACntrl\"\r\n })\r\n .state('index.ConsentOfUser', {\r\n url: \"/ConsentOfUser/:UserId/:CampaignId\",\r\n templateUrl: \"app/ConsentOfUser/ConsentOfUser.html\",\r\n controller: \"ConsentOfUserController as ConsentOfUserCntrl\"\r\n })\r\n .state('index.KPIConfiguration', {\r\n url: \"/KPIConfiguration\",\r\n templateUrl: \"app/KPIconfiguration/KPIconfiguration.html\",\r\n controller: \"KPIconfigurationController as KPICntrl\"\r\n })\r\n .state('index.CampaignCreation', {\r\n url: \"/CampaignCreation\",\r\n templateUrl: \"app/CampaignCreation/CampaignCreation.html\",\r\n controller: \"CampaignCreationController as CmpgnCntrl\"\r\n })\r\n .state('index.CampaignDetailView', {\r\n url: \"/CampaignDetailView\",\r\n templateUrl: \"app/CampaignDetailView/CampaignDetailView.html\",\r\n controller: \"CampaignDetailViewController as CmpgnDetailViewCntrl\"\r\n })\r\n .state('index.CampaignDetailViewNew', {\r\n url: \"/CampaignDetailViewNew/:CampaignId\",\r\n templateUrl: \"app/CampaignDetailViewNew/CampaignDetailViewNew.html\",\r\n controller: \"CampaignDetailViewNewController as CmpgnDetailViewNewCntrl\"\r\n })\r\n .state('index.DialerList', {\r\n url: \"/DialerList\",\r\n templateUrl: \"app/DialerList/DialerList.html\",\r\n controller: \"DialerListController as DetailCntrl\"\r\n })\r\n .state('index.inventory_new', {\r\n url: \"/inventory_new\",\r\n templateUrl: \"app/Inventory_new/inventory_new.html\",\r\n controller: \"inventorynewController as inventorynewCntrl\"\r\n })\r\n .state('index.PersistentReport', {\r\n url: \"/PersistentReport/\",\r\n templateUrl: \"app/PersistentReport/PersistentReport.html\",\r\n controller: \"PersistentReportController as PersistentReport\"\r\n })\r\n .state('index.ALLTalentPool', {\r\n url: \"/ALLTalentPool/\",\r\n templateUrl: \"app/NewTalentPool/NewTalentPool.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: \"NewTalentPoolController as NewtalentPool\"\r\n })\r\n .state('index.AllPreferredTalentPool', {\r\n url: \"/PreferredTalentPool/\",\r\n templateUrl: \"app/PreferredTalentPool/PreferredTalentPool.html\",\r\n controller: \"PreferredTalentPoolController as PreferredPoolCtrl\"\r\n })\r\n .state('index.ActiveAllUser', {\r\n url: \"/ActiveAllUser/\",\r\n templateUrl: \"app/ActiveAllUser/ActiveAllUser.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: \"ActiveAllUserController as ActiveAllUser\"\r\n })\r\n .state('index.RegisteredAllUser', {\r\n url: \"/RegisteredAllUser\",\r\n templateUrl: \"app/RegisteredAllUser/RegisteredAllUser.html\",\r\n controller: 'RegisteredAllUserController as RegisteredAllUserCtrl'\r\n })\r\n .state('index.AllUserNew', {\r\n url: \"/AllUserNew\",\r\n templateUrl: \"app/AllUserNew/AllUserNew.html\",\r\n controller: 'AllUserNewController as AllUserNewCtrl'\r\n })\r\n .state('index.AllUsersList', {\r\n url: \"/AllUsersList\",\r\n templateUrl: \"app/AllUsersList/AllUsersList.html\",\r\n controller: 'AllUsersListController as AllUserListCtrl'\r\n })\r\n .state('index.AllUsersListGC', {\r\n url: \"/AllUsersListGC\",\r\n templateUrl: \"app/AllUsersListGC/AllUsersListGC.html\",\r\n controller: 'AllUsersListGCController as AllUserListGCCtrl'\r\n })\r\n .state('index.AllAssetsList', {\r\n url: \"/AllAssetsList\",\r\n templateUrl: \"app/AllAssetsList/AllAssetsList.html\",\r\n controller: 'AllAssetsListController as CntrlAllAssestList'\r\n })\r\n .state('index.InvitedAllUser', {\r\n url: \"/InvitedAllUser\",\r\n templateUrl: \"app/InvitedAllUser/InvitedAllUser.html\",\r\n controller: 'InvitedAllUserController as InvitedAllUserCtrl'\r\n })\r\n .state('index.PreferredTechnicianTalentPool', {\r\n url: \"/PreferredTechnicianTalentPool/\",\r\n templateUrl: \"app/PreferredTechnicianTalentPool/PreferredTechnicianTalentPool.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: \"PreferredTechnicianTalentPoolController as PreferredTechnicianTalentPool\"\r\n })\r\n .state('index.PreferredVendorTalentPool', {\r\n url: \"/PreferredVendorTalentPool/\",\r\n templateUrl: \"app/PreferredVendorTalentPool/PreferredVendorTalentPool.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: \"PreferredVendorTalentPoolController as PreferredVendorTalentPool\"\r\n })\r\n .state('index.BlockedUser', {\r\n url: \"/BlockedUser/\",\r\n templateUrl: \"app/BlockedUser/BlockedUser.html\",\r\n controller: \"BlockUserController as blockuser\"\r\n })\r\n .state('HardwareDetails', {\r\n url: \"/HardwareDetails/:ticketId\",\r\n templateUrl: \"app/HardwareDetails/HardwareDetails.html\",\r\n controller: \"HardwareDetailsController as hwCtrl\"\r\n })\r\n .state('index.NewVendorProfile', {\r\n url: \"/NewVendorProfile/:VendorId\",\r\n templateUrl: \"app/VendorProfile1/NewVendorProfile.html\",\r\n controller: \"NewVendorProfileController as NewVendorProfile\"\r\n })\r\n .state('index.RegistrationForm', {\r\n url: \"/NewOnBoardingForm/:UserId\",\r\n templateUrl: \"app/OnBoardingFormLatest/OnBoardingFlow.html\",\r\n controller: \"OnBoardingFlowController as OBFCtrl\"\r\n })\r\n .state('index.NewOnboarding', {\r\n url: \"/NewOnboardingFlow/:UserId\",\r\n templateUrl: \"app/NewOnboardingFlow/NewOnboardingFlow.html\",\r\n controller: \"NewOnboardingFlowController as NOBFCtrl\"\r\n })\r\n .state('index.SMEInteraction', {\r\n url: \"/SMEInteraction\",\r\n templateUrl: \"app/SMEInteraction/SMEInteraction.html\",\r\n controller: \"SMEInteractionController as SMECtrl\"\r\n })\r\n .state('index.BGVerification', {\r\n url: \"/BGVerification\",\r\n templateUrl: \"app/BGVerification/BGVerification.html\",\r\n controller: \"BGVerificationController as BGVCtrl\"\r\n })\r\n .state('index.VerificationSlotAllocation', {\r\n url: \"/VerificationSlotAllocation\",\r\n templateUrl: \"app/VerificationSlotAllocation/SlotAllocation.html\",\r\n controller: \"SlotAllocationController as slotAllocationCtrl\"\r\n })\r\n .state('index.OnBoardingForm', {\r\n url: \"/OnBoardingForm/:RegistrationNo\",\r\n templateUrl: \"app/OnBoardingForm/OnBoardingForm.html\",\r\n controller: \"OnBoardingFormController as OBCtrl\"\r\n })\r\n .state('index.ActiveUserUpdate', {\r\n url: \"/ActiveUserUpdate/:RegistrationNo\",\r\n templateUrl: \"app/ActiveUserUpdate/ActiveUserUpdate.html\",\r\n controller: \"ActiveUserUpdateController as ActiveUserUpdate\"\r\n })\r\n .state('index.ActiveVendorUpdate', {\r\n url: \"/ActiveVendorUpdate/:RegistrationNo\",\r\n templateUrl: \"app/ActiveVendorUpdate/ActiveVendorUpdate.html\",\r\n controller: \"ActiveVendorUpdateController as ActiveVendorUpdate\"\r\n })\r\n .state('index.OnBoardingVendorForm', {\r\n url: \"/OnBoardingVendorForm/:RegistrationNo\",\r\n templateUrl: \"app/OnBoardingVendorForm/OnBoardingVendorForm.html\",\r\n controller: \"OnBoardingVendorFormController as OBVendorCtrl\"\r\n })\r\n .state('index.Bonus', {\r\n url: \"/Bonus/\",\r\n templateUrl: \"app/Bonus/Bonus.html\",\r\n controller: \"BonusController as bonusPaneltyCtrl\"\r\n })\r\n .state('index.FVLocationConfiguration', {\r\n url: \"/FVLocationConfiguration/\",\r\n templateUrl: \"app/FVLocationConfiguration/FVLocationConfiguration.html\",\r\n controller: \"FVLocationConfigurationController as fvlocationConfigurationCtrl\"\r\n })\r\n .state('index.HealthAndSafety', {\r\n url: \"/HealthAndSafety/\",\r\n templateUrl: \"app/HealthAndSafety/HealthAndSafety.html\",\r\n controller: \"HealthAndSafetyController as healthAndSafetyCtrl\"\r\n })\r\n .state('index.SearchUserInfo', {\r\n url: \"/SearchUserInfo/\",\r\n templateUrl: \"app/SearchUserInfo/SearchUserInfo.html\",\r\n controller: \"SearchUserInfoController as searchUserInfoCtrl\"\r\n })\r\n .state('index.TicketBasedPlanning', {\r\n url: \"/TicketBasedPlanning/\",\r\n templateUrl: \"app/PlanningTool/TicketBasedPlanning.html\",\r\n controller: \"TicketBasedPlanningController as ticketBasedPlanningCtrl\"\r\n })\r\n // .state('index.FinanceFreelancerInvoice', { \r\n // url: \"/FinanceFreelancerInvoice/\",\r\n // templateUrl: \"app/Invoice/FinanceFreelancerInvoice.html\",\r\n // controller:\"FinanceFreelancerInvoiceController as financeFreelancerInvoiceCtrl\"\r\n // })\r\n // .state('index.FinanceCustomerInvoice', { \r\n // url: \"/FinanceCustomerInvoice/\",\r\n // templateUrl: \"app/Invoice/FinanceCustomerInvoice.html\",\r\n // controller:\"FinanceCustomerInvoiceController as financeCustomerInvoiceCtrl\"\r\n // })\r\n .state('index.InvoiceConfigurations', {\r\n url: \"/InvoiceConfigurations/\",\r\n templateUrl: \"app/InvoiceConfigurations/InvoiceConfigurations.html\",\r\n controller: \"InvoiceConfigurationsController as InvoiceConfigurationsCtrl\"\r\n })\r\n .state('index.CustomerInvoice', {\r\n url: \"/CustomerInvoice/\",\r\n templateUrl: \"app/InvoiceAccount/CustomerInvoice.html\",\r\n controller: \"CustomerInvoiceController as CustomerInvoiceCtrl\"\r\n })\r\n .state('index.PriceModelMapping', {\r\n url: \"/PriceModelMapping/\",\r\n templateUrl: \"app/PriceModelMapping/PriceModelMapping.html\",\r\n controller: \"PriceModelMappingController as PriceModelMappingCtrl\"\r\n })\r\n .state('index.skillCreation', {\r\n url: \"/skillCreation/\",\r\n templateUrl: \"app/skillCreation/skillCreation.html\",\r\n controller: \"skillCreationController as skillCreationCtrl\"\r\n })\r\n .state('index.ReportDownload', {\r\n url: \"/ReportDownload\",\r\n templateUrl: \"app/ReportDownload/ReportDownload.html\",\r\n controller: 'ReportDownloadController as reportdownload'\r\n })\r\n .state('index.ConsumerList', {\r\n url: \"/ConsumerList\",\r\n templateUrl: \"app/ConsumerList/ConsumerList.html\",\r\n controller: 'ConsumerListController as ConsumerListCtrl'\r\n })\r\n .state('index.AllConsumerList', {\r\n url: \"/AllConsumerList\",\r\n templateUrl: \"app/AllConsumerList/AllConsumerList.html\",\r\n controller: 'AllConsumerListController as CtrlAllConsumerList'\r\n })\r\n .state('index.PlanningResourceMap', {\r\n url: \"/PlanningResourceMap\",\r\n templateUrl: \"app/PlanningResourceMap/PlanningResourceMap.html\",\r\n controller: 'PlanningResourceMapController as plannerResourceMap'\r\n })\r\n .state('index.InvoiceConsolidated', {\r\n url: \"/InvoiceConsolidated/\",\r\n templateUrl: \"app/InvoiceConsolidated/InvoiceConsolidated.html\",\r\n controller: \"InvoiceConsolidatedController as InvoiceConsolidatedCtrl\"\r\n })\r\n .state('index.InvoiceItemized', {\r\n url: \"/InvoiceItemized/\",\r\n templateUrl: \"app/InvoiceItemized/InvoiceItemized.html\",\r\n controller: \"InvoiceItemizedController as InvoiceItemizedCtrl\"\r\n })\r\n .state('index.DemoJobAssign', {\r\n url: \"/Jobs/DemoJobAssign\",\r\n templateUrl: \"app/ScheduleJobAssignation/DemoJobAssign.html\",\r\n controller: 'DemoAssignedController as jobAssign'\r\n })\r\n .state('index.RosterManagement', {\r\n url: \"/RosterManagement\",\r\n templateUrl: \"app/RosterManagement/RosterShift.html\",\r\n controller: 'RosterShiftController as rosterShift'\r\n })\r\n .state('index.ToolUtility', {\r\n url: \"/Jobs/ToolUtility\",\r\n templateUrl: \"app/ToolUtility/ToolUtility.html\",\r\n controller: 'ToolUtilityController as toolUtilityCtrl'\r\n })\r\n .state('index.CalendarManagement', {\r\n url: \"/Jobs/CalendarManagement\",\r\n templateUrl: \"app/CalendarManagement/CalendarManagement.html\",\r\n controller: 'CalendarManagementController as calendarMgmtCtrl'\r\n })\r\n .state('index.CalendarManagementList', {\r\n url: \"/Jobs/CalendarManagementList\",\r\n templateUrl: \"app/CalendarManagement/CalendarManagementList.html\",\r\n controller: 'CalendarManagementListController as calendarMgmtListCtrl'\r\n })\r\n .state('index.FVLeadManagement', {\r\n url: \"/FVLeadManagement/\",\r\n templateUrl: \"app/FVLeadManagement/FVLeadManagement.html\",\r\n controller: \"FVLeadManagementController as FVLeadManagementCtrl\"\r\n })\r\n .state('index.recharge', {\r\n url: \"/recharge/\",\r\n templateUrl: \"app/Recharge/recharge.html\",\r\n controller: \"RechargeController as rechargeCtrl\"\r\n })\r\n .state('index.Company_Profile', {\r\n url: \"/Company_Profile/\",\r\n templateUrl: \"app/Company_Profile/Company_Profile.html\"\r\n })\r\n .state('index.FreelancerTechnicianProfile', {\r\n url: \"/FreelancerTechnicianProfile/:UserId\",\r\n templateUrl: \"app/FreelancerTechnicianProfile/FreelancerTechnicianProfile.html\",\r\n controller: \"FreelancerTechnicianProfileController as FreelancerTechnicianProfile\"\r\n })\r\n .state('index.PreferredVendorTechnicianProfile', {\r\n url: \"/PreferredVendorTechnicianProfile/:VendorId\",\r\n templateUrl: \"app/PreferredVendorTechnicianProfile/PreferredVendorTechnicianProfile.html\",\r\n controller: \"PreferredVendorTechnicianProfileController as PreferredVendorTechnicianProfile\"\r\n })\r\n .state('index.PreferredFreelancerTechnicianProfile', {\r\n url: \"/PreferredFreelancerTechnicianProfile/:UserId\",\r\n templateUrl: \"app/PreferredFreelancerTechnicianProfile/PreferredFreelancerTechnicianProfile.html\",\r\n controller: \"PreferredFreelancerTechnicianProfileController as PreferredFreelancerTechnicianProfile\"\r\n })\r\n .state('Thanku_Recharge', {\r\n url: \"/Thanku_Recharge/\",\r\n templateUrl: \"app/Thanku_Recharge/Thanku_Recharge.html\"\r\n })\r\n .state('index.HelpDesk_Customer_View', {\r\n url: \"/HelpDesk_Customer_View/:cust_loc_id/:asst_name/:asst_id\",\r\n templateUrl: \"app/HelpDeskCustomerView/HelpDesk_Customer_View.html\",\r\n controller: \"HelpDeskCustomerViewController as ctrl\"\r\n })\r\n .state('RedirectPayment', {\r\n url: \"/RedirectPaymentUrl/:job/:ta\",\r\n templateUrl: \"app/RedirectPayment/RedirectPayment.html\",\r\n controller: \"RedirectPaymentController as payment\"\r\n })\r\n .state('index.RedirectUserPayment', {\r\n url: \"/RedirectUserPaymentUrl/:user/:rAmt/:proFeeAmt/:gstAmt/:tAmt/:proFee/:gstFee\",\r\n templateUrl: \"app/RedirectUserPayment/RedirectUserPayment.html\",\r\n controller: \"RedirectUserPaymentController as userpayment\"\r\n })\r\n .state('ConsumerForm', {\r\n url: \"/ConsumerForm/:ticketId\",\r\n templateUrl: \"app/ConsumerForm/ConsumerForm.html\",\r\n controller: \"ConsumerFormController as consumerform\"\r\n })\r\n .state('NewTracking', {\r\n url: \"/NT/:accountId/:jobCardId\",\r\n // url: \"/Tracking/\",\r\n templateUrl: \"app/Tracking/NewTracking.html\",\r\n controller: \"TrackingController as tracking\"\r\n })\r\n .state('index.NotificationSettings', {\r\n url: \"/NotificationSettings/:alertType/:eventType/:mode\",\r\n templateUrl: \"app/NotificationList/NotificationList.html\",\r\n controller: \"NotificationSettingController as notification\"\r\n })\r\n .state('index.EscalationSettings', {\r\n url: \"/EscalationSettings/:mode/:alertId\",\r\n templateUrl: \"app/EscalationAlert/EscalationAlert.html\",\r\n controller: \"EscalationController as escalation\"\r\n })\r\n .state('index.SLASettings', {\r\n url: \"/SLASettings/:mode\",\r\n templateUrl: \"app/SlaAlert/SlaAlertNew.html\",\r\n controller: \"SLAController as sla\"\r\n })\r\n\r\n .state('index.Slalisting', {\r\n url: \"/Slalisting\",\r\n templateUrl: \"app/SLAManagement/Slalisting.html\",\r\n controller: \"SLAListingController as slaList\"\r\n })\r\n .state('index.SlaCreation', {\r\n url: \"/SlaCreation/:slaId\",\r\n templateUrl: \"app/SLAManagement/SlaCreation.html\",\r\n controller: \"SLACrationController as slaCreate\"\r\n })\r\n .state('index.AccountHome', {\r\n url: \"/AccountHome\",\r\n templateUrl: \"app/Account Configuration/Account_Home.html\",\r\n controller: \"LayoutController as layout\"\r\n })\r\n .state('index.Fixed_Layout_Basic', {\r\n url: \"/Basic\",\r\n templateUrl: \"app/Account Configuration/Fixed_Layout_Basic.html\",\r\n controller: \"LayoutController as layout\"\r\n })\r\n .state('index.Fixed_Layout_Advanced', {\r\n url: \"/Advanced\",\r\n templateUrl: \"app/Account Configuration/Fixed_Layout_Advanced.html\",\r\n controller: \"LayoutController as layout\"\r\n })\r\n .state('index.Transactional_layout_Professional', {\r\n url: \"/Professional\",\r\n templateUrl: \"app/Account Configuration/Transactional_layout_Professional.html\",\r\n controller: \"LayoutController as layout\"\r\n })\r\n .state('index.Transactional_layout_Ultimate', {\r\n url: \"/Ultimate\",\r\n templateUrl: \"app/Account Configuration/Transactional_layout_Ultimate.html\",\r\n controller: \"LayoutController as layout\"\r\n })\r\n .state('ecommerce_cart', {\r\n url: \"/ecommerce_cart\",\r\n templateUrl: \"app/ECommerce/ecommerce_cart.html\"\r\n })\r\n .state('ecommerce_ariel_cart', {\r\n url: \"/ecommerce_ariel_cart\",\r\n templateUrl: \"app/ECommerce/ecommerce_ariel_cart.html\"\r\n })\r\n .state('ecommerce_product_details', {\r\n url: \"/ecommerce_product_details\",\r\n templateUrl: \"app/ECommerce/ecommerce_product_details.html\"\r\n })\r\n .state('ecommerce_Ariel_product_details', {\r\n url: \"/ecommerce_ariel_product_details\",\r\n templateUrl: \"app/ECommerce/ecommerce_Ariel_product_details.html\"\r\n })\r\n .state('ecommerce_products_grid', {\r\n url: \"/ecommerce_products_grid\",\r\n templateUrl: \"app/ECommerce/ecommerce_products_grid.html\"\r\n })\r\n .state('ecommerce_HomeBrand', {\r\n url: \"/ecommerce_HomeBrand\",\r\n templateUrl: \"app/ECommerce/ecommerce_Home.html\"\r\n })\r\n .state('ecommerce_Home', {\r\n url: \"/ecommerce_Home\",\r\n templateUrl: \"app/ECommerce/ecommerce_HomeBrand.html\"\r\n })\r\n .state('ecommerce_placeorder', {\r\n url: \"/ecommerce_placeorder\",\r\n templateUrl: \"app/ECommerce/ecommerce_placeorder.html\"\r\n })\r\n .state('ecommerce_ordersummary', {\r\n url: \"/ecommerce_ordersummary\",\r\n templateUrl: \"app/ECommerce/ecommerce_ordersummary.html\"\r\n })\r\n .state('ecommerce_Payment', {\r\n url: \"/ecommerce_Payment\",\r\n templateUrl: \"app/ECommerce/ecommerce_Payment.html\"\r\n })\r\n .state('ecommerce_Thnku', {\r\n url: \"/ecommerce_Thnku\",\r\n templateUrl: \"app/ECommerce/ecommerce_Thnku.html\"\r\n })\r\n .state('ExtendedWarranty', {\r\n url: \"/ExtendedWarranty\",\r\n templateUrl: \"app/ECommerce/ExtendedWarranty.html\"\r\n })\r\n .state('ExtendedWarrantySummary', {\r\n url: \"/ExtendedWarrantySummary\",\r\n templateUrl: \"app/ECommerce/ExtendedWarrantySummary.html\"\r\n })\r\n .state('ExtendedWarrantyPayment', {\r\n url: \"/ExtendedWarrantyPayment\",\r\n templateUrl: \"app/ECommerce/ExtendedWarrantyPayment.html\"\r\n })\r\n .state('ExtendedWarrantyThnku', {\r\n url: \"/ExtendedWarrantyThnku\",\r\n templateUrl: \"app/ECommerce/ExtendedWarrantyThnku.html\"\r\n })\r\n .state('index.AutoSchedularConfig', {\r\n url: \"/AutoSchedularConfig\",\r\n templateUrl: \"app/AutoSchedularConfig/AutoSchedularConfig.html\"\r\n })\r\n .state('index.Project1', {\r\n url: \"/ProjectLatest\",\r\n templateUrl: \"app/ProjectLatest/ProjectLatest.html\",\r\n controller: 'ProjectLatestController as ProjectLatest'\r\n })\r\n .state('index.ReportCreation', {\r\n url: \"/ReportCreation\",\r\n templateUrl: \"app/ReportCreation/ReportCreation.html\",\r\n controller: 'ReportCreationController as ReportCreation'\r\n })\r\n .state('index.ReportEdit', {\r\n url: \"/ReportEdit/:Reportid\",\r\n templateUrl: \"app/ReportCreation/ReportCreation.html\",\r\n data: {\r\n pageTitle: 'Example view'\r\n },\r\n controller: \"ReportCreationController as ReportCreation\"\r\n })\r\n .state('index.ReportLatest', {\r\n url: \"/ReportLatest\",\r\n templateUrl: \"app/ReportLatest/ReportLatest.html\",\r\n controller: 'ReportLatestController as ReportLatest'\r\n })\r\n .state('index.bulkuploadshiftmap', {\r\n url: \"/bulkuploadshiftmap\",\r\n templateUrl: \"app/bulkuploadshiftmap/BulkUploadShiftMapping.html\",\r\n controller: 'BulkUploadShiftMappingController as bulkuploadshift'\r\n }) \r\n .state('index.bulkuploadmasterinventory', {\r\n url: \"/bulkuploadmasterinventory\",\r\n templateUrl: \"app/bulkuploadMasterInventory/BulkUploadMasterInventory.html\",\r\n controller: 'BulkUploadMasterInventoryController as bulkuploadinventory'\r\n }) \r\n .state('index.bulkuploadCRMTeamMember', {\r\n url: \"/bulkuploadCRMTeamMember\",\r\n templateUrl: \"app/bulkuploadCRMTeamMember/bulkuploadCRMTeamMember.html\",\r\n controller: 'bulkuploadCRMTeamMemberController as bulkuploadcrmteam'\r\n }) \r\n .state('index.bulkuploadServiceCenter', {\r\n url: \"/bulkuploadServiceCenter\",\r\n templateUrl: \"app/bulkuploadServiceCenter/bulkuploadServiceCenter.html\",\r\n controller: 'bulkuploadServiceCenterController as bulkuploadservicenter'\r\n }) \r\n .state('index.bulkUploadUpdateOrder', {\r\n url: \"/bulkUploadUpdateOrder\",\r\n templateUrl: \"app/bulkUploadUpdateOrder/bulkUploadUpdateOrder.html\",\r\n controller: 'bulkUploadUpdateOrderController as bulkuploadupdateorder'\r\n }) \r\n .state('index.bulkCallBooking', {\r\n url: \"/bulkCallBooking\",\r\n templateUrl: \"app/bulkCallBooking/bulkCallBooking.html\",\r\n controller: 'bulkCallBookingController as bulkuploadcallbooking'\r\n }) \r\n .state('index.PincodeFinder', {\r\n // url: \"/PincodeFinder/:userId/:lat/:long\",\r\n url: \"/PincodeFinder/:userId\",\r\n templateUrl: \"app/PincodeFinder/PincodeFinder.html\",\r\n controller: 'PincodeFinderController as pincodefndrCtrl'\r\n })\r\n .state('index.OrdersList', {\r\n url: \"/OrdersList\",\r\n templateUrl: \"app/OrdersList/OrdersList.html\",\r\n controller: \"OrdersListController as ordersCntrl\"\r\n })\r\n .state('servicePack', {\r\n url: \"/AppLink/servicePack\",\r\n templateUrl: \"app/AppLink/applink.html\",\r\n controller: \"applinkController as applinkCtrl\"\r\n })\r\n .state('appLogin', {\r\n url: \"/AppLink/appLogin\",\r\n templateUrl: \"app/AppLink/applink.html\",\r\n controller: \"applinkController as applinkCtrl\"\r\n })\r\n .state('index.Project_Details_Latest', {\r\n url: \"/Project_Details_Latest/:projectId/:pocLocation/:projectName\",\r\n templateUrl: \"app/Project_Details_Latest/Project_Details_Latest.html\",\r\n controller: 'Project_Details_LatestController as Project_Details_Latest'\r\n });\r\n\r\n $sceProvider.enabled(false);\r\n\r\n $urlRouterProvider.otherwise('/Login');\r\n\r\n $httpProvider.interceptors.push('httpInterceptor');\r\n // $crypthmacProvider.setCryptoSecret('jfoiwjfwoifje83');\r\n }\r\n})();\r\n\n/**\r\n * slimScroll - Directive for slimScroll with custom height\r\n */\r\nfunction slimScroll($timeout) {\r\n return {\r\n restrict: 'A',\r\n scope: {\r\n boxHeight: '@'\r\n },\r\n link: function (scope, element) {\r\n $timeout(function () {\r\n element.slimscroll({\r\n height: scope.boxHeight,\r\n railOpacity: 0.9\r\n });\r\n\r\n });\r\n }\r\n };\r\n}\r\n\r\n/**\r\n * sideNavigation - Directive for run metsiMenu on sidebar navigation\r\n */\r\n function sideNavigation($timeout) {\r\n return {\r\n restrict: 'A',\r\n link: function (scope, element) {\r\n // Call metsi to build when user signup\r\n scope.$watch('authentication.user', function () {\r\n $timeout(function () {\r\n element.metisMenu();\r\n });\r\n });\r\n\r\n // Colapse menu in mobile mode after click on element\r\n var menuElement = angular.element('#side-menu a:not([href$=\"\\\\#\"])');\r\n menuElement.click(function () {\r\n if (angular.element(window).width() < 769) {\r\n angular.element(\"body\").toggleClass(\"mini-navbar\");\r\n }\r\n });\r\n\r\n // Enable initial fixed sidebar\r\n if (angular.element(\"body\").hasClass('fixed-sidebar')) {\r\n var sidebar = element.parent();\r\n sidebar.slimScroll({\r\n height: '100%',\r\n railOpacity: 0.9\r\n });\r\n }\r\n }\r\n };\r\n}\r\n\r\n/**\r\n * minimalizaSidebar - Directive for minimalize sidebar\r\n */\r\n function minimalizaSidebar($timeout) {\r\n return {\r\n restrict: 'A',\r\n template: '',\r\n controller: function ($scope) {\r\n $scope.minimalize = function () {\r\n angular.element('body').toggleClass('mini-navbar');\r\n if (!angular.element('body').hasClass('mini-navbar') || angular.element('body').hasClass('body-small')) {\r\n // Hide menu in order to smoothly turn on when maximize menu\r\n angular.element('#side-menu').hide();\r\n // For smoothly turn on menu\r\n $timeout(function () {\r\n angular.element('#side-menu').fadeIn(400);\r\n }, 200);\r\n } else {\r\n // Remove all inline style from jquery fadeIn function to reset menu state\r\n angular.element('#side-menu').removeAttr('style');\r\n }\r\n };\r\n }\r\n };\r\n}\r\n\r\n/// Directive for the chart in profile page\r\nfunction sparkline() {\r\n return {\r\n restrict: 'A',\r\n scope: {\r\n sparkData: '=',\r\n sparkOptions: '='\r\n },\r\n link: function (scope, element, attrs) {\r\n scope.$watch(scope.sparkData, function () {\r\n render();\r\n });\r\n scope.$watch(scope.sparkOptions, function(){\r\n render();\r\n });\r\n var render = function () {\r\n angular.element(element).sparkline(scope.sparkData, scope.sparkOptions);\r\n };\r\n }\r\n }\r\n}\r\n\r\nfunction compile($compile)\r\n{\r\n return function(scope, element, attrs) {\r\n scope.$watch(\r\n function(scope) {\r\n // watch the 'compile' expression for changes\r\n return scope.$eval(attrs.compile);\r\n },\r\n function(value) {\r\n // when the 'compile' expression changes\r\n // assign it into the current DOM\r\n element.html(value);\r\n\r\n // compile the new DOM and link it to the current\r\n // scope.\r\n // NOTE: we only compile .childNodes so that\r\n // we don't get into infinite loop compiling ourselves\r\n $compile(element.contents())(scope);\r\n }\r\n );\r\n };\r\n}\r\n\r\nfunction loaderProgress($rootScope, ngProgressFactory) {\r\n var loader = ngProgressFactory.createInstance();\r\n return function ($scope, element, attrs) {\r\n $scope.$on(\"loader_show\", function () {\r\n loader.reset();\r\n loader.start();\r\n // return element.show();\r\n });\r\n return $scope.$on(\"loader_hide\", function () {\r\n loader.complete();\r\n return \"\";\r\n });\r\n };\r\n}\r\n\r\nfunction loader($rootScope, ngProgressFactory) {\r\n return function ($scope, element, attrs) {\r\n $scope.$on(\"loader_gif_show\", function () {\r\n return element.show();\r\n });\r\n return $scope.$on(\"loader_gif_hide\", function () {\r\n return element.hide();\r\n });\r\n };\r\n}\r\n\r\nfunction customValid(){\r\n return {\r\n require: 'ngModel',\r\n link: function(scope, ele, attrs, c) {\r\n scope.$watch(attrs.ngModel, function() {\r\n var validText = scope.register.password;\r\n if(scope.register.confirmpass == validText) {\r\n c.$setValidity('cvalid', true);\r\n } else {\r\n c.$setValidity('cvalid', false);\r\n }\r\n });\r\n }\r\n }\r\n}\r\n\r\nfunction hcLineChart() {\r\n return {\r\n restrict: 'E',\r\n template: '
',\r\n scope: {\r\n options: '='\r\n },\r\n link: function (scope, element) {\r\n Highcharts.chart(element[0], scope.options);\r\n }\r\n };\r\n}\r\n\r\n// Directive for pie charts, pass in title and data only \r\nfunction hcPieChart() {\r\n return {\r\n restrict: 'E',\r\n template: '
',\r\n scope: {\r\n title: '@',\r\n data: '='\r\n },\r\n link: function (scope, element) {\r\n Highcharts.chart(element[0], {\r\n chart: {\r\n type: 'pie'\r\n },\r\n title: {\r\n text: scope.title\r\n },\r\n plotOptions: {\r\n pie: {\r\n allowPointSelect: true,\r\n cursor: 'pointer',\r\n dataLabels: {\r\n enabled: true,\r\n format: '{point.name}: {point.percentage:.1f} %'\r\n }\r\n }\r\n },\r\n series: [{\r\n data: scope.data\r\n }]\r\n });\r\n }\r\n };\r\n}\r\n\r\nfunction clockPicker() {\r\n return {\r\n restrict: 'A',\r\n link: function(scope, element) {\r\n element.clockpicker();\r\n }\r\n };\r\n};\r\n\r\nfunction ngChart() {\r\n return {\r\n restrict: 'E',\r\n template: '
',\r\n replace: true,\r\n scope: {\r\n options: '='\r\n },\r\n link: function (scope, element) {\r\n //var chart = new Highcharts.chart(element[0], scope.options);\r\n $(window).resize(function () {\r\n $(element).highcharts().reflow();\r\n });\r\n\r\n scope.$watch(function(){\r\n return {\r\n width: element.parent().width(),\r\n height: element.parent().height(),\r\n }\r\n }, function(){ \r\n var chart = new Highcharts.chart(element[0], scope.options); \r\n //chart.reflow();\r\n setTimeout(function () { \r\n // $(element).highcharts().setsize(width, height); \r\n }, 10);\r\n\r\n } , true); // to compare the object value.\r\n\r\n }\r\n }\r\n}\r\n\r\nfunction filesInput() {\r\n return {\r\n require: \"ngModel\",\r\n link: function postLink(scope,elem,attrs,ngModel) {\r\n angular.forEach(elem, function(e){\r\n angular.element(e).on(\"change\", function(event){\r\n //console.log(scope.$parent.$parent, scope.$parent.$parent.$parent, scope.$parent.$parent.$parent.jobView.ImageArray);\r\n var fileUrls = [];\r\n event.setFilesToNgModel = function(){\r\n ngModel.$setViewValue(fileUrls);\r\n }\r\n angular.forEach(event.target.files, function(f){\r\n console.log('attrs',attrs);\r\n if(scope.$parent.$parent.$parent.jobView)\r\n {\r\n scope.$parent.$parent.$parent.jobView.ImageArray[attrs.name]=f;\r\n }\r\n else if (scope.$parent.$parent.$parent.NewjobDetailCtrl)\r\n {\r\n scope.$parent.$parent.$parent.NewjobDetailCtrl.ImageArray[attrs.name]=f;\r\n }\r\n else if (scope.$parent.$parent.$parent.JobDetailViewCtrl)\r\n {\r\n scope.$parent.$parent.$parent.JobDetailViewCtrl.ImageArray[attrs.name]=f;\r\n \r\n }\r\n \r\n var reader = new FileReader();\r\n reader.onload = function(event1)\r\n {\r\n fileUrls.push(event1.target.result);\r\n event.setFilesToNgModel();\r\n scope.$parent.$parent.$parent.JobDetailViewCtrl.getTempImgList(fileUrls);\r\n }\r\n reader.readAsDataURL(f); \r\n })\r\n \r\n })\r\n })\r\n }\r\n }\r\n}\r\n\r\nfunction fileModel($parse){\r\n return {\r\n restrict:'A',\r\n link: function(scope, element, attrs) {\r\n var model = $parse(attrs.fileModel);\r\n var modelSetter = model.assign;\r\n element.bind('change', function(){\r\n scope.$apply(function(){\r\n modelSetter(scope, element[0].files[0]);\r\n });\r\n });\r\n }\r\n }\r\n\r\n}\r\n\r\nfunction validPass(){\r\n return {\r\n require: 'ngModel',\r\n link: function(scope, ele, attrs, c) {\r\n scope.$watch(attrs.ngModel, function() {\r\n var validText = scope.layout.password;\r\n if(scope.layout.confirmPass == validText) {\r\n c.$setValidity('pvalid', true);\r\n } else {\r\n c.$setValidity('pvalid', false);\r\n }\r\n });\r\n }\r\n }\r\n}\r\n\r\n\r\nfunction backButton($state,$localStorage){\r\nreturn {\r\n restrict: 'A',\r\n link: function(scope, element, attrs) {\r\n element.bind('click', goBack);\r\n function goBack() {\r\n if ($localStorage.prevState.state !== undefined) {\r\n $state.go($localStorage.prevState.state,$localStorage.prevState.params);\r\n } \r\n }\r\n }\r\n }\r\n}\r\n\r\n/**\r\n *\r\n * Pass all functions into module\r\n */\r\n angular\r\n .module('inspinia')\r\n .directive('minimalizaSidebar', minimalizaSidebar)\r\n .directive('slimScroll', slimScroll)\r\n .directive('sideNavigation', sideNavigation)\r\n .directive('sparkline', sparkline)\r\n .directive('compile',compile)\r\n .directive('loader',loader)\r\n .directive('customValid', customValid)\r\n .directive('hcLineChart', hcLineChart)\r\n .directive('hcPieChart', hcPieChart)\r\n .directive('clockPicker', clockPicker)\r\n .directive('ngChart', ngChart)\r\n .directive(\"filesInput\", filesInput)\r\n .directive('validPass', validPass)\r\n .directive(\"backButton\", ['$state','$localStorage', backButton]);\nangular.module(\"inspinia\").run([\"$templateCache\", function($templateCache) {$templateCache.put(\"app/Account/Account.html\",\"
  1. Home
  2. Accounts
Filters
IdCompany NameAdmin UserContact NumberEmailCreated OnActivated OnStatus
{{teamMember.UserStatus}}
{{account.userInfo.CompanyName}}
\\\"image\\\"

{{account.userInfo.FirstName}} {{account.userInfo.LastName}}

{{account.userInfo.ContactNumber}}

Current Location
{{account.userInfo.CurrentAdd1}}
{{account.userInfo.CurrentAdd2}}
{{account.userInfo.CurrentCity}}, {{account.userInfo.CurrentState}}
Not Available
Available Balance

Activate

\");\n$templateCache.put(\"app/AccountSetting/AccountSetting.html\",\"

Account Configuration

Select Account
Account Settings
Project Settings
  • {{projects.Name}}
Template Settings
  • {{template.Name}}
Scheduling Rules Settings
Assignation Rules Settings
Bonuses & Penalties Settings
Notification Settings
Please Select Account For Configuration
{{account.headingName}}
Edit
Attribute NameDescriptionCurrent ValueUpdate Value
{{config.ItemDisplayName }}{{config.ItemDescription }}Enabled Disabled {{config.ItemValue}}
Systems Role
Skills Certificate
Assets
Tools
Talent Pool
Bonus
Rule IDRule NameStageScenarioTriggerGradeAmountAction
{{bonus.RuleId}}{{bonus.RuleName}}{{bonus.Stage}}{{bonus.Scenario}}{{bonus.Trigger}}{{bonus.Grade}}{{bonus.Amount}}
Penalties
Rule IDRule NameStageScenarioTriggerGradeAmountAction
{{panelty.RuleId}}{{panelty.RuleName}}{{panelty.Stage}}{{panelty.Scenario}}{{panelty.Trigger}}{{panelty.Grade}}{{panelty.Amount}}

Alerts allow you to automatically send email or SMS notifications when certain events occur. For example, mail the dispatcher if a job is declined, mail the accounts dept when a job is completed, SMS the warehouse manager when an inbound delivery has been picked up, etc…


Alert NameAlert TypeAction
{{config.AlertId}}{{config.AlertType | uppercase}} 
  1. Transactional Alert
  Create an Alert
Create A Permission
Please select Role
Please select Channel




{{userList.PersonalEmail}}{{userList.ContactNumber}}
Please enter message.

  1. Home
  2. Escalation Alert
  Create an Alert
Create A Permission
Email Preview



Aditya.kaushik28@gmail.com898767656540 min
Aditya.kaushik28@gmail.com898767656540 min
Aditya.kaushik28@gmail.com898767656540 min
Aditya.kaushik28@gmail.com898767656540 min
Please enter message.
\");\n$templateCache.put(\"app/AccountsRechargeHistory/AccountsRechargeHistory.html\",\"
  1. Home
  2. Account Recharge History
\");\n$templateCache.put(\"app/Account Configuration/Account_Home.html\",\"
  1. Home
  2. Account Team
  3. Account Configuration Plan

Easily Create YourOwn Account Configuration

Basic Basic Fixed payout Plan Features included!
  • No. of Tickets
  • Only Fixed Team Support
  • 7 days Grace Period
  • On Page SEO
  • 24/6 Support
Get Started
Advanced Advanced Fixed payout Plan Features included!
  • Unlimited No. of Jobs
  • Fixed With Freelancer Support
  • Freelancer Engineer Support
  • Freelancer Vendor Support
  • 24/6 Support
Get Started
Professional Basic Transactional Plan Features included!
  • Unlimited No. of Jobs
  • Only Fixed Team Support
  • Grace Period Minimum 500
  • On Page SEO
  • 24/6 Support
Get Started
Ultimate Advanced Transactional Plan Features included!
  • Unlimited No. of Jobs
  • Fixed With Freelancer Support
  • Fixed With Freelancer Support
  • Grace Period Minimum 500
  • 24/6 Support
Get Started
\");\n$templateCache.put(\"app/Account Configuration/Fixed_Layout_Advanced.html\",\"
  1. Home
  2. Fixed Layout Advanced Plan
Accounts Details
Please select vertical
Please enter company name Please enter Space, dot, hypen and only alphanumeric Please enter maximum 50 characters
Please enter first name Please enter only alphabets with space.
Please enter last name Please enter only alphabets with space.
Please enter email id Please enter valid email id
= 48 && event.charCode <= 57\\\" ng-maxlength=\\\"10\\\" required=\\\"\\\" ng-pattern=\\\"/^(?:(?:\\\\+|0{0,2})91(\\\\s*[\\\\-]\\\\s*)?|[0]?)?[789]\\\\d{9}$/\\\">
Please enter mobile no. Please enter 10 digit mobile no. Please enter valid mobile no.
Please enter passwordPassword must consists of at least 8 characters and not more than 12 characters and allowed spacial characters(@*#%?)
Please confirm password Passwords doesn\\'t match
Please select skills
Please enter no. of tickets Please enter only number
Fixed Layout Plan Only Support Fixed Team
= 48 && event.charCode <= 57\\\" required=\\\"\\\">
Please enter recharge amount
Please select month
Please select grace period
Fixed Layout Plan with freelancer Team Support
= 48 && event.charCode <= 57\\\">
Please enter Top up recharge amount
= 48 && event.charCode <= 57\\\">
Please enter minimum credit balance
\");\n$templateCache.put(\"app/Account Configuration/Fixed_Layout_Basic.html\",\"
  1. Home
  2. Fixed Layout Basic Plan
Accounts Details
Please select vertical
Please enter company name Please enter Space, dot, hypen and only alphanumeric. Please enter maximum 50 characters
Please enter first name Please enter only alphabets with space.
Please enter last name Please enter only alphabets with space.
Please enter email id Please enter valid email id
= 48 && event.charCode <= 57\\\" ng-maxlength=\\\"10\\\" required=\\\"\\\" ng-pattern=\\\"/^(?:(?:\\\\+|0{0,2})91(\\\\s*[\\\\-]\\\\s*)?|[0]?)?[789]\\\\d{9}$/\\\">
Please enter mobile no. Please enter 10 digit mobile no. Please enter valid mobile no.
Please enter passwordPassword must consists of at least 8 characters and not more than 12 characters and allowed spacial characters(@*#%?)
Please confirm password Passwords doesn\\'t match
Please select skills
Please enter no. of tickets Please enter only number
Fixed Layout Plan Only Support Fixed Team
= 48 && event.charCode <= 57\\\" required=\\\"\\\">
Please enter recharge amount
Please select month
Please select grace period
\");\n$templateCache.put(\"app/Account Configuration/Transactional_layout_Professional.html\",\"
  1. Home
  2. Transactional Layout Professioanl Plan
Accounts Details
Please select vertical
Please enter company name Company name shouldn\\'t exceed 50 characters Please enter Space, dot, hypen and only alphanumeric.
Please enter first name Your first name should contain alphabets only
Please enter last name Your last name should contain alphabets only
Please enter email id Please enter valid email id
= 48 && event.charCode <= 57\\\" ng-maxlength=\\\"10\\\">
Please enter mobile no. Please enter 10 digit mobile no. Please enter valid mobile no.
Please enter passwordPassword must consists of at least 8 characters and not more than 12 characters and allowed spacial characters(@*#%?)
Please confirm your password Passwords doesn\\'t match
Skills Commission
Please enter only alphanumeric with space, hyphen, slace, comma
Transactional Layout Plan with only fixed Team Support
= 48 && event.charCode <= 57\\\" required=\\\"\\\">
Please enter recharge amount
= 48 && event.charCode <= 57\\\" required=\\\"\\\">
Please enter minimum credit balance
\");\n$templateCache.put(\"app/Account Configuration/Transactional_layout_Ultimate.html\",\"
  1. Home
  2. Transactional Layout Ultimate Plan
Accounts Details
Please select vertical
Please enter company name Company name shouldn\\'t exceed 50 characters Please enter Space, dot, hypen and only alphanumeric.
Please enter first name Your first name should contain alphabets only
Please enter last name Your last name should contain alphabets only
Please enter email id Please enter valid email id
= 48 && event.charCode <= 57\\\" required=\\\"\\\" ng-maxlength=\\\"10\\\">
Please enter mobile no. Please enter 10 digit mobile no. Please enter valid mobile no.
Please enter passwordPassword must consists of at least 8 characters and not more than 12 characters and allowed spacial characters(@*#%?)
Please confirm your password Passwords doesn\\'t match
Skills Commission
Please enter only alphanumeric with space, hyphen, slace, comma
Transactional Layout Plan with Freelancer & fixed Team Support
= 48 && event.charCode <= 57\\\" required=\\\"\\\">
Please enter recharge amount
= 48 && event.charCode <= 57\\\" required=\\\"\\\">
Please enter minimum credit balance
\");\n$templateCache.put(\"app/ActiveUser/ActiveUser.html\",\"
  1. Home
  2. Active User
Filters
{{activeUser.userInfo.FirstName}} {{activeUser.userInfo.LastName}}

Change Pic
{{activeUser.userInfo.PictureError}}

{{activeUser.userInfo.Role}}

{{activeUser.userInfo.ContactNumber}}

Current Location
{{activeUser.userInfo.CurrentAdd1}}
{{activeUser.userInfo.CurrentAdd2}}
{{activeUser.userInfo.CurrentCity}}, {{activeUser.userInfo.CurrentState}}
Activate

Available Balance


Skills
{{skill}}
Please select skills
Work Area
{{workArea}}
Please select locations
Total Jobs {{activeUser.userInfo.JobTotal}}Assigned Jobs {{activeUser.userInfo.JobAssigned}}
Approved Jobs {{activeUser.userInfo.JobApproved}}Completed Jobs {{activeUser.userInfo.JobCompleted}}
Rejected Jobs {{activeUser.userInfo.JobRejected}}Cancelled Jobs {{activeUser.userInfo.JobCancelled}}

\");\n$templateCache.put(\"app/ActiveAllUser/ActiveAllUser.html\",\"
{{SearchTagsData.SearchTagDisplay}}
  1. Home
  2. All Active User
Showing {{ActiveAllUser.techpageindexCount}} to {{ActiveAllUser.usersLength}} of {{ActiveAllUser.totalTalentPoolCount}} entries
ActionUserIdNameStatusBadgesMobile No.RoleUser TypeActivation Date Activation Age(dd:hh:mm:ss)Activated ByFather\\'s NameAddress Line1Address Line2CityStatePinCode IsVideoKYC DoneIsAuthorized PartnerPrimeEmailFirst LoginStudentInternshipAdhar cardPancardCriminal CheckUPI VarifiedBank VarifiedProfile Rejection DateProfile Reviewed ByProfile Review CommentProfile Resubmit DateSkillSkill VerifiedAadhar NumberPAN NumberReporting ToDOBLast LoginWork LocationUpdated by IDUpdated by NameSourceLatitudeLongitudeToolsEquipment Audit StatusEquipment Audit DateEquipment Audit ByMSME CertifiedMSME Certified NO.
{{user.FirstName}} {{user.LastName}}
\\\"image\\\" \\\"image\\\"
{{user.PersonalEmail}}
{{user.SkillSet.toString()}}
{{user.Locations.toString()}}
{{user.UpdatedById}}{{user.UpdatedByName}}{{user.Source}}
{{user.Tools.toString()}}
{{user.AuditResult}}
{{user.AuditDate | date:\\'dd/MMM/yy\\'}}
{{user.AuditorName}}
\\\"image\\\" \\\"image\\\"

{{user.FirstName}} {{user.LastName}}

 {{user.EnrollNo}}
{{user.CustomerRating}} 
{{user.ContactNumber}}

Address :-

{{user.CurrentAdd1}}
{{user.CurrentAdd2}}
{{user.CurrentCity}}
{{user.CurrentState}}

\");\n$templateCache.put(\"app/ActiveUserUpdate/ActiveUserUpdate.html\",\"
  1. Home
  2. Active User Update

Basic Information

Location

Documents

Training Certificate

Assets

Skill Set and Assessment

UPDATE ACTIVE USER

Save as Draft
Deactivate User
Registered User Information
Step 1

{{ActiveUserUpdate.fileUploadError}}

{{ActiveUserUpdate.FirstName}} {{ActiveUserUpdate.LastName}}

{{ActiveUserUpdate.MobileNo}}
Criminal Verification :


Please enter first name Your first name cannot be longer than 50 characters Your first name should only contain alphabets
Please enter last name Your last name cannot be longer than 50 characters Your last name should only contain alphabets
= 48 && event.charCode <= 57\\\" ng-pattern=\\\"/^[0-9]{10}$/\\\">
Please enter Mobile number Please enter valid Mobile number
Please enter valid email id

Please enter date of birth

Please select valid date of birth

Date of birth should be less than {{ActiveUserUpdate.maxDOBStr}}

Please select your gender
Please enter valid PAN NUMBER
= 48 && event.charCode <= 57\\\" ng-pattern=\\\"/^[0-9]{12}$/\\\">
Please enter valid AADHAR NUMBER
Please select your designation
Please enter father\\'s name Father\\'s name cannot be longer than 50 characters Father\\'s name should only contain alphabets
Locations
Step 2

Please enter address line 1 Please enter only alphanumeric with space, hyphen, slace, comma
Please enter address line 2 Please enter only alphanumeric with space, hyphen, slace, comma
Please select state
Please select city
Please enter pincode Please enter valid pincode

Please enter address line 1 Please enter only alphanumeric with space, hyphen, slace, comma
Please enter address line 2 Please enter only alphanumeric with space, hyphen, slace, comma
Please select state
Please select city
Please enter valid pincode
Please Select Work Location
Please enter only alphanumeric with space, hyphen, slace, comma
Background Checks
Step 3

TypeDocument NameDocument NumberDocumentDocument BackStatusVerification ModeVerification authorityUpdated ByUpdated OnThird-party ReportAction
{{doc.DocumentType}}{{doc.DocumentName}}{{doc.DocumentNo}} Not Submitted Upload File
View Document View Document Upload File
Not Submitted Upload File
View Document View Document Upload File
{{doc.VerificationStatus}}{{doc.VerificationMode}}
{{doc.VerificationAuthority}}
{{doc.UpdatedBy}}{{doc.UpdatedOn | date}}
Documents
Step 3

Document TypeDocument NameView DocumentRequirementAction
{{doc.DocumentType}}{{doc.DocumentName}}Not Submitted Upload File
View Document Upload File
Yes Not MandatoryYes Not Mandatory
Training Certificates
Step 4

Certificate NameCertificate No.Certificate IssuedCertificate ExpiryIsCertificateExpiredCertificateVerification DocStatusCertificate AgencyAction
{{traning.CertificateName}}{{traning.CertificateNo}} {{traning.CertificateIssueDate | date:\\'dd-MM-yyyy\\'}}
{{traning.CertificateExpiryDate | date:\\'dd-MM-yyyy\\'}}
{{traning.IsCertificateExpired}}
Not Submitted Upload File
Not Submitted Upload File
{{traning.VerificationStatus}} {{traning.VerificationStatus}}{{traning.VerificationAgency}}         
  
Training
Training NameTraining DateTraining ImageTraining Attendance
{{Audittraining.TrainingName}}{{Audittraining.TrainingDate | date:\\'dd/MM/yyyy hh:mm a\\'}} \\\"\\\" \\\"\\\"
Criminal Check Verification
TypeDocument TypeVerifications TypeDocument NumberVerification ModeVerification AuthorityUpdated byUpdated OnStatusCrimnal Report
CriminalThird Party Assessment ReportOptional{{ActiveUserUpdate.CriminalVarificationObj.DocumentNo}}Third Party{{ActiveUserUpdate.CriminalVarificationObj.VerificationAuthority}}{{ActiveUserUpdate.CriminalVarificationObj.UpdatedBy}}{{ActiveUserUpdate.CriminalVarificationObj.UpdatedOn | date:\\'dd/MM/yyyy hh:mm a\\'}}{{ActiveUserUpdate.CriminalVarificationObj.verificationStatus}}
\\\"\\\"
Available Asset
Step 5

Skills
Step 6

SkillsExperiencePercentageResultAssessment Link
{{skilldata.Skill}}{{skilldata.Experience}}{{skilldata.PercentageScore}} %{{skilldata.Status}}Send Link
Private for the accounts
Account NameAccount Id
{{accountdata.Account}}{{accountdata.AccountId}}
{{ActiveUserUpdate.AccountId}}
Tools/Equipments
Equipment NameVerification StatusView ToolActionItem Serial NumberDate Of Manufacturing
{{assettool.ToolName}}{{assettool.VerificationStatus}} {{assettool.VerificationStatus}} {{assettool.VerificationStatus}} {{assettool.ItemSerialNumber}}{{assettool.DateOfManufacturing}}

Equipment Audit StatusEquipment Audited OnEquipment Audited ByEquipment Audit Report
{{Audittool.AuditResult}} {{Audittool.AuditResult}}{{Audittool.AuditDate | date:\\'dd/MM/yyyy hh:mm a\\'}}{{Audittool.AuditorDetails.AuditorName}}
Previous Company Details
Company NameWork LocationProject NameDesignationAccountDate of JoiningDate of RelievingExperience Letter
{{previousCompanyDetail.CompanyName}}{{previousCompanyDetail.WorkLocation}}{{previousCompanyDetail.ProjectName}}{{previousCompanyDetail.Designation}}{{previousCompanyDetail.AccountName}}{{previousCompanyDetail.DateOfJoining | date:\\'dd/MM/yyyy hh:mm a\\'}}{{previousCompanyDetail.DateOfRelieving | date:\\'dd/MM/yyyy hh:mm a\\'}} \\\"\\\"

Experience Verification StatusExperience Verified OnExperience Verified ByExperience Verification Report
{{AuditExperience.AuditResult}} {{AuditExperience.AuditResult}}{{AuditExperience.AuditDate | date:\\'dd/MM/yyyy hh:mm a\\'}}{{AuditExperience.AuditorDetails.AuditorName}} \\\"\\\"
Authorized for service centre
Service Partner IdVertical NameBrand NameAdditional Brand NameProduct ServingAdditional Product ServingTenureTeam SizeService Center AddressCertificate of AuthorizationTraining CertificatePhoto of Shop/office/Service CenterAction
{{doc.ServicePartnerId}}{{doc.VerticalName}}{{doc.BrandName}}{{doc.BrandNameOther}} {{doc.ProductServing}}{{doc.ProductServingOther}} {{doc.Tenure}} {{doc.TeamSize}} {{doc.ServiceCenterAddress}} Not Submitted Upload File
View Document View Document Upload File
Not Submitted Upload File
View Document View Document Upload File
Not Submitted Upload File
View Document View Document Upload File
\");\n$templateCache.put(\"app/ActiveVendorTeamList/ActiveVendorTeam.html\",\"
  1. Home
  2. Vendor Team
Filters
\");\n$templateCache.put(\"app/AdvancedDashboard/advancedDashboard.html\",\"
{{rollup}}
{{chart.ChartTitle}}

{{dashboard.metricsCharts[chart.ChartId].value&&dashboard.metricsCharts[chart.ChartId].value.length>0?(dashboard.metricsCharts[chart.ChartId].value[$index].ValueType == \\'INR\\'?(dashboard.metricsCharts[chart.ChartId].value[$index].Value|currency:\\'₹\\'):dashboard.metricsCharts[chart.ChartId].value[$index].Value):\\\"NA\\\"}} 0\\\" class=\\\"text-success font-bold\\\">{{dashboard.metricsCharts[chart.ChartId].value[$index].ValueUnitAbbr}}

{{dashboard.metricsCharts[chart.ChartId].value&&dashboard.metricsCharts[chart.ChartId].value.length>0?(dashboard.metricsCharts[chart.ChartId].value[$index].ValueType == \\'INR\\'?(main.round2Decimal(dashboard.metricsCharts[chart.ChartId].value[$index].Value)|currency:\\'₹\\'):main.round2Decimal(dashboard.metricsCharts[chart.ChartId].value[$index].Value)):\\\"NA\\\"}}

{{dashboard.metricsCharts[chart.ChartId].value[$index].timevalue}}

0) && dashboard.metricsCharts[chart.ChartId].value[$index].CompareResult\\\" class=\\\"matrix-number text-green\\\"> {{dashboard.metricsCharts[chart.ChartId].value[$index].ValueType == \\'INR\\'?(dashboard.metricsCharts[chart.ChartId].value[$index].ComparisonValue|currency:\\'₹\\'):dashboard.metricsCharts[chart.ChartId].value[$index].ComparisonValue}} 0\\\" class=\\\"text-green font-bold\\\">{{dashboard.metricsCharts[chart.ChartId].value[$index].ValueUnitAbbr}} 0) && !dashboard.metricsCharts[chart.ChartId].value[$index].CompareResult\\\" class=\\\"matrix-number text-danger\\\"> {{dashboard.metricsCharts[chart.ChartId].value[$index].ValueType == \\'INR\\'?(dashboard.metricsCharts[chart.ChartId].value[$index].ComparisonValue|currency:\\'₹\\'):dashboard.metricsCharts[chart.ChartId].value[$index].ComparisonValue}} 0\\\" class=\\\"text-danger font-bold\\\">{{dashboard.metricsCharts[chart.ChartId].value[$index].ValueUnitAbbr}} {{dashboard.metricsCharts[chart.ChartId].subtitles[$index]}}
{{rollup}}
{{chart.ChartTitle}} -
{{chart.ChartSubtitle}}

{{dashboard.metricsCharts[chart.ChartId].value&&dashboard.metricsCharts[chart.ChartId].value.length>0?(dashboard.metricsCharts[chart.ChartId].value[$index].ValueType == \\'INR\\'?(dashboard.metricsCharts[chart.ChartId].value[$index].strValue): dashboard.metricsCharts[chart.ChartId].value[$index].Value):\\\"NA\\\"}} {{dashboard.metricsCharts[chart.ChartId].value[$index].AcheivedPercentage}} % {{dashboard.metricsCharts[chart.ChartId].value[$index].AcheivedPercentage}} %

{{dashboard.DateRangeSelectedKey}} : {{dashboard.metricsCharts[chart.ChartId].value&&dashboard.metricsCharts[chart.ChartId].value.length>0?(dashboard.metricsCharts[chart.ChartId].value[$index].ValueType == \\'INR\\'?(dashboard.metricsCharts[chart.ChartId].value[$index].strTargetValue):dashboard.metricsCharts[chart.ChartId].value[$index].TargetValue):\\\"NA\\\"}}

{{dashboard.DateRangeSelectedKey}} : {{dashboard.metricsCharts[chart.ChartId].value&&dashboard.metricsCharts[chart.ChartId].value.length>0?(dashboard.metricsCharts[chart.ChartId].value[$index].ValueType == \\'INR\\'?(dashboard.metricsCharts[chart.ChartId].value[$index].strValue):dashboard.metricsCharts[chart.ChartId].value[$index].Value):\\\"NA\\\"}}

{{chart.ChartTitle}} -
{{chart.ChartSubtitle}}
{{dashboard.ActualSelectedKey}}
Target : {{(dashboard.gaugeCharts[chart.ChartId].value[0].ValueType == \\'INR\\'?(dashboard.gaugeCharts[chart.ChartId].value[0].strTargetValue):dashboard.gaugeCharts[chart.ChartId].value[0].TargetValue)}}
Remaining : {{(dashboard.gaugeCharts[chart.ChartId].value[0].ValueType == \\'INR\\'?(dashboard.gaugeCharts[chart.ChartId].value[0].strRemainingValue):dashboard.gaugeCharts[chart.ChartId].value[0].RemainingValue)}}
Exceed : {{(dashboard.gaugeCharts[chart.ChartId].value[0].ValueType == \\'INR\\'?(dashboard.gaugeCharts[chart.ChartId].value[0].strRemainingValue):dashboard.gaugeCharts[chart.ChartId].value[0].RemainingValue)}}
{{chart.ChartTitle}}
{{chart.ChartTitle}}
{{chart.ChartTitle}}
{{chart.ChartTitle}}
{{chart.ChartTitle}}
{{col}}
{{val}} {{val}}
{{chart.ChartTitle}}
{{chart.ChartTitle}}
{{chart.ChartTitle}}
{{chart.ChartTitle}}
{{chart.ChartTitle}}
{{col}}
{{val}} {{val}}
{{chart.ChartTitle}}
{{chart.ChartTitle}}
{{chart.ChartTitle}}

{{chart.ChartTitle}}

{{chart.ChartTitle}}

{{chart.ChartTitle}}
{{chart.ChartTitle}}
{{chart.ChartTitle}}
{{chart.ChartTitle}}
\");\n$templateCache.put(\"app/ActiveVendorUpdate/ActiveVendorUpdate.html\",\"
  1. Home
  2. On Boarding Form

Basic Information

Location

Documents

Training Certificate

Assets

Skill Set and Assessment

UPDATE ACTIVE VENDOR

Save as Draft
Deactivate User
Registered User Information
Step 1

{{ActiveVendorUpdate.fileUploadError}}

{{ActiveVendorUpdate.FirstName}} {{ActiveVendorUpdate.LastName}}

{{ActiveVendorUpdate.MobileNo}}

Please enter first name Your first name cannot be longer than 50 characters Your first name should only contain alphabets
Please enter last name Your last name cannot be longer than 50 characters Your last name should only contain alphabets
= 48 && event.charCode <= 57\\\" ng-pattern=\\\"/^[0-9]{10}$/\\\">
Please enter valid Mobile number
Please enter valid email id
Please enter date of birthDate of birth should be less than {{ActiveVendorUpdate.maxDOBStr}}
Please select your gender
= 48 && event.charCode <= 57\\\">
Please select Team Size
Please enter valid PAN NUMBER
= 48 && event.charCode <= 57\\\" ng-pattern=\\\"/^[0-9]{12}$/\\\">
Please enter valid AADHAR NUMBER (12-Digits)
Please select your designation
Space Available in (Sq.ft)Floors AvailableAddressStateCityAction
= 48 && event.charCode <= 57\\\" class=\\\"form-control input-sm\\\" ng-model=\\\"infra.SpaceAvailable\\\">
Seats CapacityNo. of TrainersAddressStateCitySkillsAction
= 48 && event.charCode <= 57\\\" class=\\\"form-control input-sm\\\" ng-model=\\\"trainers.SeatsCapacity\\\">= 48 && event.charCode <= 57\\\" ng-model=\\\"trainers.NoOfTrainers\\\">
Locations
Step 2

Please enter address line 1 Please enter only alphanumeric with space, hyphen, slace, comma
Please enter address line 2 Please enter only alphanumeric with space, hyphen, slace, comma
Please select state
Please select city
Please enter pincode Please enter valid pincode

Please enter address line 1 Please enter only alphanumeric with space, hyphen, slace, comma
Please enter address line 2 Please enter only alphanumeric with space, hyphen, slace, comma
Please select state
Please select city
Please enter valid pincode
Please Select Work Location
Please enter only alphanumeric with space, hyphen, slace, comma
Background Checks
Step 3

TypeDocument NameDocument NumberDocumentStatusVerification ModeVerification authorityUpdated ByUpdated OnThird-party ReportAction
{{doc.DocumentType}}{{doc.DocumentName}}{{doc.DocumentNo}} Not Submitted Upload File
View Document View Document Upload File
{{doc.VerificationStatus}}{{doc.VerificationMode}}
{{doc.VerificationAuthority}}
{{doc.UpdatedBy}}{{doc.UpdatedOn | date}}
Company Details

Please enter valid company registeration no.
Please enter bank a/c number Please enter valid account no(9-18 Digits)
Please enter valid company Gst no.
Please enter bank a/c number Please enter valid account no(9-18 Digits)
Please enter bank a/c number Please enter valid account no(9-18 Digits)
Please enter bank a/c number Please enter valid account no(9-18 Digits)
Please enter valid msme no.
Documents
Step 3

Document TypeDocument NameView DocumentRequirementAction
{{doc.DocumentType}}{{doc.DocumentName}}Not Submitted Upload File
View Document View Document Upload File
YesNot Mandatory
Training Certificates
Step 4

Certificate NameCertificate No.Certificate IssuedCertificate ExpiryIsCertificateExpiredCertificateVerification DocStatusCertificate AgencyAction
{{traning.CertificateName}}{{traning.CertificateNo}} {{traning.CertificateIssueDate | date:\\'dd-MM-yyyy\\' }}
{{traning.CertificateExpiryDate | date:\\'dd-MM-yyyy\\' }}
{{traning.IsCertificateExpired}}
Not Submitted Upload File
Not Submitted Upload File
{{traning.VerificationStatus}} {{traning.VerificationStatus}}{{traning.VerificationAgency}}         
  
Training
Training NameTraining DateTraining ImageTraining Attendance
{{Audittraining.TrainingName}}{{Audittraining.TrainingDate | date:\\'dd/MM/yyyy hh:mm a\\'}} \\\"\\\" \\\"\\\"
Criminal Check Verification
TypeDocument TypeVerifications TypeDocument NumberVerification ModeVerification AuthorityUpdated byUpdated OnStatusCrimnal Report
CriminalThird Party Assessment ReportOptional{{ActiveVendorUpdate.CriminalVarificationObj.DocumentNo}}Third Party{{ActiveVendorUpdate.CriminalVarificationObj.VerificationAuthority}}{{ActiveVendorUpdate.CriminalVarificationObj.UpdatedBy}}{{ActiveVendorUpdate.CriminalVarificationObj.UpdatedOn | date:\\'dd/MM/yyyy hh:mm a\\'}}{{ActiveVendorUpdate.CriminalVarificationObj.verificationStatus}}
\\\"\\\"
Available Asset
Step 5

Skills
Step 6

SkillsExperience
{{skilldata.Skill}}{{skilldata.Experience}}
Tools/Equipments
Equipment NameVerification StatusView ToolActionItem Serial NumberDate Of Manufacturing
{{assettool.ToolName}}{{assettool.VerificationStatus}} {{assettool.VerificationStatus}} {{assettool.VerificationStatus}} {{assettool.ItemSerialNumber}}{{assettool.DateOfManufacturing}}

Equipment Audit StatusEquipment Audited OnEquipment Audited ByEquipment Audit Report
{{Audittool.AuditResult}} {{Audittool.AuditResult}}{{Audittool.AuditDate | date:\\'dd/MM/yyyy hh:mm a\\'}}{{Audittool.AuditorDetails.AuditorName}}
Previous Company Details
Company NameWork LocationProject NameDesignationAccountDate of JoiningDate of RelievingExperience Letter
{{previousCompanyDetail.CompanyName}}{{previousCompanyDetail.WorkLocation}}{{previousCompanyDetail.ProjectName}}{{previousCompanyDetail.Designation}}{{previousCompanyDetail.AccountName}}{{previousCompanyDetail.DateOfJoining | date:\\'dd/MM/yyyy hh:mm a\\'}}{{previousCompanyDetail.DateOfRelieving | date:\\'dd/MM/yyyy hh:mm a\\'}} \\\"\\\"

Experience Verification StatusExperience Verified OnExperience Verified ByExperience Verification Report
{{AuditExperience.AuditResult}} {{AuditExperience.AuditResult}}{{AuditExperience.AuditDate | date:\\'dd/MM/yyyy hh:mm a\\'}}{{AuditExperience.AuditorDetails.AuditorName}} \\\"\\\"
\");\n$templateCache.put(\"app/AdvancedDashboardShare/advancedDashboard.html\",\"
{{rollup}}
{{chart.ChartTitle}}

{{dashboard.metricsCharts[chart.ChartId].value&&dashboard.metricsCharts[chart.ChartId].value.length>0?(dashboard.metricsCharts[chart.ChartId].value[$index].ValueType == \\'INR\\'?(dashboard.metricsCharts[chart.ChartId].value[$index].Value|currency:\\'₹\\'):dashboard.metricsCharts[chart.ChartId].value[$index].Value):\\\"NA\\\"}} 0\\\" class=\\\"text-success font-bold\\\">{{dashboard.metricsCharts[chart.ChartId].value[$index].ValueUnitAbbr}}

{{dashboard.metricsCharts[chart.ChartId].value&&dashboard.metricsCharts[chart.ChartId].value.length>0?(dashboard.metricsCharts[chart.ChartId].value[$index].ValueType == \\'INR\\'?(main.round2Decimal(dashboard.metricsCharts[chart.ChartId].value[$index].Value)|currency:\\'₹\\'):main.round2Decimal(dashboard.metricsCharts[chart.ChartId].value[$index].Value)):\\\"NA\\\"}}

{{dashboard.metricsCharts[chart.ChartId].value[$index].timevalue}}

0) && dashboard.metricsCharts[chart.ChartId].value[$index].CompareResult\\\" class=\\\"matrix-number text-green\\\"> {{dashboard.metricsCharts[chart.ChartId].value[$index].ValueType == \\'INR\\'?(dashboard.metricsCharts[chart.ChartId].value[$index].ComparisonValue|currency:\\'₹\\'):dashboard.metricsCharts[chart.ChartId].value[$index].ComparisonValue}} 0\\\" class=\\\"text-green font-bold\\\">{{dashboard.metricsCharts[chart.ChartId].value[$index].ValueUnitAbbr}} 0) && !dashboard.metricsCharts[chart.ChartId].value[$index].CompareResult\\\" class=\\\"matrix-number text-danger\\\"> {{dashboard.metricsCharts[chart.ChartId].value[$index].ValueType == \\'INR\\'?(dashboard.metricsCharts[chart.ChartId].value[$index].ComparisonValue|currency:\\'₹\\'):dashboard.metricsCharts[chart.ChartId].value[$index].ComparisonValue}} 0\\\" class=\\\"text-danger font-bold\\\">{{dashboard.metricsCharts[chart.ChartId].value[$index].ValueUnitAbbr}} {{dashboard.metricsCharts[chart.ChartId].subtitles[$index]}}
{{chart.ChartTitle}}
{{chart.ChartTitle}}
{{chart.ChartTitle}}
{{chart.ChartTitle}}
{{chart.ChartTitle}}
{{col}}
{{val}} {{val}}
{{chart.ChartTitle}}
{{chart.ChartTitle}}
{{chart.ChartTitle}}
{{chart.ChartTitle}}
{{chart.ChartTitle}}
{{col}}
{{val}} {{val}}
{{chart.ChartTitle}}
{{chart.ChartTitle}}
{{chart.ChartTitle}}

{{chart.ChartTitle}}

{{chart.ChartTitle}}

{{chart.ChartTitle}}
{{chart.ChartTitle}}
{{chart.ChartTitle}}
{{chart.ChartTitle}}
\");\n$templateCache.put(\"app/AllOrdersReceivedList/AllOrdersReceivedList.html\",\"
  1. Home
  2. All Orders List
Showing {{AllOrderListCntrl.opageindexCount}} to {{AllOrderListCntrl.orderListLength}} of {{totalOrderList}} entries
Order IDOrder StatusOrder SourceCall IDParent Order IDActionUpdate OrderOrder DateOrder QuantityOrder Amount (₹)Order Amount (with GST) (₹)Billing AddressRequest ByOrder TypeInvoice No.Invoice DatePO NO.PO DatePackaging IDPackaging DatePackage Tracking IDShipment IDShipment DateShipment Doc.Tracking LinkGR No.Expected Delivery DateComment
{{orderList.OrderId}}{{orderList.OrderStatus}}{{orderList.OrderTicketType}}{{orderList.TicketId}}{{orderList.ParentOrderId}} {{orderList.OrderDate | date:\\'dd/MMM/yy h:mm:ss a\\'}}{{orderList.OrderItemCount}}{{orderList.OrderTotalAmount}}{{orderList.OrderTotalAmountWithGST}}{{orderList.BillingAddress}}{{orderList.RequestBy}}{{orderList.OrderType}}{{orderList.InvoiceNumber }}{{orderList.InvoiceDate | date:\\'dd/MMM/yy h:mm:ss a\\' }}{{orderList.PONumber}}{{orderList.PODate | date:\\'dd/MMM/yy h:mm:ss a\\' }}{{orderList.objPackageDetails[0].strPackageId}}{{orderList.objPackageDetails[0].datePackedOn | date:\\'dd/MMM/yy h:mm:ss a\\'}}{{orderList.objPackageDetails[0].strPackageTrackingId}}{{orderList.objPackageDetails[0].strShipmentId}}{{orderList.ShipmentDate | date:\\'dd/MMM/yy h:mm:ss a\\'}}{{orderList.Attachement}} \\\"No{{trackingLink}}{{orderList.GRNumber}}{{orderList.ExpectedDeliveryDate | date:\\'dd/MMM/yy h:mm:ss a\\'}}{{orderList.CancelComment}}
Call IDPart IDPart NameActionPart ImageBrandPart CodePart DescriptionItem QuantityItem UnitService Center Price Per Unit (₹)Total Amount (₹)Total Amount (with GST) (₹)
{{tickets.strTicketId}}{{lineitem.strItemId}}{{lineitem.strItemName}}\\\"image-1\\\"{{lineitem.strItemBrand}}{{lineitem.strSKUId}}
  • {{orderdesc}}
{{lineitem.nItemQuantity}}{{lineitem.strItemUnit}}{{lineitem.dItemPriceAfterDiscount}}{{lineitem.dItemTotalPrice}}{{lineitem.dItemTotalPriceWithGST}}

Part Details

Part ID:{{AllOrderListCntrl.PartDetails.strItemId}}
Part Name:{{AllOrderListCntrl.PartDetails.strItemName}}
Part Code:{{AllOrderListCntrl.PartDetails.strSKUId}}
BrandName :{{AllOrderListCntrl.PartDetails.strItemBrand}}
Unit :{{AllOrderListCntrl.PartDetails.strItemUnit}}
Part Price (₹):{{AllOrderListCntrl.PartDetails.dItemActualPrice}}
Service Center Price (₹):{{AllOrderListCntrl.PartDetails.dItemPriceAfterDiscount}}

About

  • {{description}}
\");\n$templateCache.put(\"app/AllAssetsList/AllAssetsList.html\",\"
10

Total Assests

6

Total Active Assests

4

Total Defective Assests

3

Service Due Request

5

End Of Life

2

WarrantyExpire In 30 Days

3

Transfer Request

Assets IDProduct DetailsBrandPurchase OnWarrantyWarranty StatusService Due RequestsTransfer RequestsActions
A40000002388
\\\"Single
Single Door Refrigerator
M12772727272727
\\\"Brand\\\"20 July 202010 days beforeActive21
A40000002389
\\\"Double
Double Door Refrigerator
M177272727272711
\\\"Brand\\\"21 July 20209 days beforeExpiring Soon30
A40000002390
\\\"Microwave
Double Door Refrigerator
MO123456789
\\\"LG15 June 20191 year leftActive12
A40000002391
\\\"Air
Single Door Refrigerator
M567891234
\\\"Samsung\\\"10 April 20182 months leftWarning40
A40000002392
\\\"Air
Single Door Refrigerator
M5678912889
\\\"Samsung\\\"1 March 20215 years leftActive01
A40000002393
\\\"Air
Double Door Refrigerator
M5678912865
\\\"Samsung\\\"15 Jan 20201 year leftActive10
A40000002394
\\\"Air
Double Door Refrigerator
M56789128899
\\\"Samsung\\\"20 Aug 20212 years leftActive20
A40000002395
\\\"Air
Double Door Refrigerator
M56644242411
\\\"Samsung\\\"12 Dec 2019ExpiredExpired02
A40000002396
\\\"Air
Single Door Refrigerator
M56644242411
\\\"Samsung\\\"10 Feb 20201 month leftExpiring Soon11
A40000002397
\\\"Air
Single Door Refrigerator
M5664426880
\\\"Samsung\\\"18 May 2018ExpiredExpired30
Showing {{CntrlAllAssestList.techpageindexCount}} to {{CntrlAllAssestList.usersLength}} of {{CntrlAllAssestList.totalTalentPoolCount}} entries
Assests Filters
Clear
\");\n$templateCache.put(\"app/AllUserNew/AllUserNew.html\",\"
  1. Home
  2. All Registered User
33

Mobile No.

23

Basic Information

23

Location

12

Background verified

12

Payment verified

12

Active Freelancer

12

Free Trial Freelancer
(Less than 10 Jobs )

12

Prime Freelancer

{{AllUserNewCtrl.UsersType}}
  {{AllUserNewCtrl.upageindexCount}} - {{AllUserNewCtrl.userListLength}} of {{totalUsers}}
Registration IdUser IdNameContact NumberCurrent Add1 Registered Age(dd:hh:mm:ss)CityStatePin CodeTotal JobsAssigned JobsCompletedRejectedLead Acceptance(%)Average Completion SpeedJob Completion Rate(%)Job Rejection Rate(%)RoleUserTypeAdharPanCriminalUPIBankSkillSkill VerifiedFirst LoginstatusReferred ByTeam SizeSourceInventory StatusWork LocationRegistration DateReportingToDOBCompany NameCompany Registration NumberGST AvailableGST Certified NoMSME CertifiedMSME Certified NO.Partner (TPI)
{{users.SkillDataNew}}
{{location}} YES NO
UserIdNameStatusMobile No.RoleUser TypeActivation DateActivation Age(dd:hh:mm:ss)Activated ByAddress Line1Address Line2CityStatePinCodeTotal JobsAssigned JobsCompletedRejectedLead Acceptance(%)Average Completion SpeedJob Completion Rate(%)Job Rejection Rate(%)PrimeEmailFirst LoginAdhar cardPancardCriminal CheckUPI verifiedBank verifiedSkillSkill VerifiedAadhar NumberPAN NumberDOBLast LoginWork LocationSourceLatitudeLongitudeToolsEquipment Audit StatusEquipment Audit DateEquipment Audit ByMSME CertifiedMSME Certified NO
FVT0000000002008Riya MathurActive8845463416Field EngineerFixed Team10/Mar/2312:04:48:41MyMobiForce Technologiessector 57sector 57NOIDAUttar Pradesh20130123863790Yesmmmf123@gmail.comYesYesYesYesYesYesAC_Installation_Serviceverified243345335t464646423/Aug/199117/Mar/23 10:00201301,UTTAR PRADESHAmit28.608958377.35158184YesYesYesYesYesYes
FVT0000000002005AkashActive7689564222Field EngineerFixed Team15/Mar/2308:04:48:41MyMobiForce Technologiessector 15sector 15NOIDAUttar Pradesh20130193574925Yesakashyad@gmail.comYesYesYesYesYesYesAC_Installation_Serviceverified243435335t234567705/july/199618/Mar/23 11:00201301,UTTAR PRADESHAmit28.608958373.35158184YesYesYesYesYesYes
FVT0000000002002SantoshActive8845567845Field EngineerFixed Team12/Mar/2305:04:48:41MyMobiForce Technologiessector 51sector 51NOIDAUttar Pradesh20130186934682YessantoshFree123@gmail.comYesYesYesYesYesYesAC_Installation_Serviceverified2434353785t345678207/June/199417/Mar/23 12:00201301,UTTAR PRADESHAkash24.608958377.35158184YesYesYesYesYesYes
FVT0000000002009OmActive9789345653Field EngineerFixed Team13/Mar/2305:04:48:41MyMobiForce Technologiessector 57sector 57NOIDAUttar Pradesh20130137258193Yesom562@gmail.comYesYesYesYesYesYesAC_Installation_Serviceverified243423635t467892201/Jan/199218/Mar/23 11:10201301,UTTAR PRADESHAmit28.608958378.35158184YesYesYesYesYesYes
No User Found

\");\n$templateCache.put(\"app/AllTasksOps/AllTasksOps.html\",\"
  1. Home
  2. Task Priority
Task Type
( {{ALTOSCtrl.OverallClosedTask }} / {{ ALTOSCtrl.OverallTotalTask}} )

Follow Up {{ALTOSCtrl.FollowUpTask}}

{{onboardingTask.TaskId}} ( {{onboardingTask.TotalHiredUsers}}/{{onboardingTask.ExpectedCapacity}} )

PICKUP TAT BREACH {{ALTOSCtrl.PickupTAT}}

ESTIMATE TAT BREACH {{ALTOSCtrl.EstimateTAT}}

ESTIMATE APPROVAL TAT
BREACH {{ALTOSCtrl.EstimateApprovalTAT}}

REPAIR TAT BREACH {{ALTOSCtrl.RepairTAT}}

DELIVERY TAT BREACH {{ALTOSCtrl.DeliveryTAT}}

My Day

Start My Day

30

Call Attempted

21

Call Connected

45 Min

Talk Time

{{ALTOSCtrl.TotalTask}}

Total Task

{{ALTOSCtrl.OpenTask}}

Open Task

{{ALTOSCtrl.ClosedTask}}

Close Task

ActionTask IdTicket IDUser IdUser NameStateCityPincodeSkillDescription
Task Age (DD:HH:MM)
Created OnCreated ByTask Due DateTask Breached Status
Task Completed On
Task Completion DateAssigned ToTask Status
{{onboardingTask.TaskId | limitTo: 20 }}...{{onboardingTask.ListTotalTicketIds[0]}}{{ onboardingTask.TaskId.split(\\'_\\').pop() }} {{onboardingTask.ListCurrentCapacityUser[0].split(\\'|\\')[0]}}\\\"image\\\" {{ onboardingTask.Description.split(\\':\\')[0].trim() }} {{onboardingTask.ListCurrentCapacityUser[0].split(\\'|\\')[1]}}{{onboardingTask.State}}{{onboardingTask.City}}{{onboardingTask.Pincode}}{{onboardingTask.Skill}}{{onboardingTask.Description | limitTo: 10}}...{{onboardingTask.TaskAge}}{{onboardingTask.CreatedOn| date:\\'dd/MM/yyyy hh:mm a\\'}}{{onboardingTask.CreatedBy}}{{onboardingTask.TaskDueDate| date:\\'dd/MM/yyyy hh:mm a\\'}}{{onboardingTask.TaskBreached}}{{onboardingTask.TaskCompletedOn}}{{onboardingTask.TaskClosingDate}}{{onboardingTask.AssignedTo}}{{onboardingTask.GapStatus}}

P1

{{ALTOSCtrl.CommitmentInterestedUserCount}}

Commitment Interested Users

P2

{{ALTOSCtrl.OneJobDoneCount}}

One Job Done Users

P3

{{ALTOSCtrl.TwoJobDoneCount}}

Two Job Done Users

Invited Users

{{ALTOSCtrl.TotalInvitedUserCount}}

Invited

Activated Profiles

{{ALTOSCtrl.Count}}

Total Users

{{ALTOSCtrl.TotalRegisterUser}}

Total Registered Users

{{ALTOSCtrl.TotalActiveUsersCount}}

Total Active Users

{{ALTOSCtrl.TotalActiveFrUsersCount}}

Total Active Freelancers

{{ALTOSCtrl.TotalActiveFVUsersCount}}

Total Active Freelancer Vendors

{{ALTOSCtrl.TotalActiveFVTUsersCount}}

Total Active Vendor Team

{{ALTOSCtrl.FixedTeamCount}}

Total Fixed Team

Activated Profiles

{{ALTOSCtrl.PrimeMember}}

Prime Members

{{ALTOSCtrl.NonPrimeMember}}

Non-Prime Members (<= 10=\\\"\\\" jobs)=\\\"\\\" <=\\\"\\\" p=\\\"\\\">

10 Jobs)\\\" class=\\\"perfomance-detail\\\" ng-click=\\\"ALTOSCtrl.getCountByPssValue(\\'NonPrimeMoreThanTenCount\\')\\\">
{{ALTOSCtrl.NonPrimeMoreThanTenCount}}

Non-Prime Members (> 10 Jobs)

{{ALTOSCtrl.AuthorizedServiceParnterDetailCount }}

Total Authorized Service Center

{{ALTOSCtrl.AuthorizedServiceParnterDetailCountActive }}

Active Authorized Service Center

{{ALTOSCtrl.AuthorizedServiceParnterDetailCountInActive}}

Registered Authorized Service Center

{{ALTOSCtrl.CommittedUserCount}}

Committed Users

UserIdNameStatusMobile No.
Commitment Calls
Commitment Status
Not Interested ReasonCommitment RemarkCommitment Creation DateCommitment FollowUp DateSourceRegistration DateActivation DateReporting ToCityStatePinCodeRoleUser TypeIsAuthorized PartnerAdhar cardPancardCriminal CheckPrimeOne Job Done
Customer Rating
BrandProduct ServicingSkillLast ActivationWork LocationTools
\\\"image\\\" {{user.FirstName}} {{user.LastName}}
\\\"image\\\" \\\"image\\\"
= 4}\\\">{{user.CustomerRating}}
{{user.BrandName}}
{{user.ProductName}}
{{user.SkillSet.toString()}}
{{user.LastLocationUpdateTime | date:\\'dd/MMM/yy hh:mm\\'}}
{{user.Locations.toString()}}
{{user.Tools.toString()}}
Showing {{ALTOSCtrl.techpageindexCount}} to {{ALTOSCtrl.usersLength}} of {{ALTOSCtrl.totalTalentPoolCount}} entries
\");\n$templateCache.put(\"app/AllUsersList/AllUsersList.html\",\"

Invited Users

{{AllUserListCtrl.TotalInvitedUserCount}}

Invited

Registration In Progress Attributes

{{AllUserListCtrl.BasicInformation}}

Basic Info

{{AllUserListCtrl.LocationAndSkill}}

Location & Skill

{{AllUserListCtrl.Backgroundverified}}

Background Verified

{{AllUserListCtrl.Paymentverified}}

Payment Verified

{{AllUserListCtrl.PoliceVerified}}

Police Verified

Activated Profiles

{{AllUserListCtrl.Count}}

Total Users

{{AllUserListCtrl.TotalRegisterUser}}

Total Registered Users

{{AllUserListCtrl.TotalActiveUsersCount}}

Total Active Users

{{AllUserListCtrl.TotalActiveFrUsersCount}}

Total Active Freelancers

{{AllUserListCtrl.TotalActiveFVUsersCount}}

Total Active Freelancer Vendors

{{AllUserListCtrl.TotalActiveFVTUsersCount}}

Total Active Vendor Team

{{AllUserListCtrl.FixedTeamCount}}

Total Fixed Team

Active User\\'s Attributes
{{AllUserListCtrl.PrimeMember}}

Prime Members

{{AllUserListCtrl.NonPrimeMember}}

Non-Prime Members (<= 10=\\\"\\\" jobs)=\\\"\\\" <=\\\"\\\" p=\\\"\\\">

10 Jobs)\\\" class=\\\"perfomance-detail-other\\\" ng-click=\\\"AllUserListCtrl.getCountByPssValue(\\'NonPrimeMoreThanTenCount\\')\\\">
{{AllUserListCtrl.NonPrimeMoreThanTenCount}}

Non-Prime Members (> 10 Jobs)

{{AllUserListCtrl.TotalFreelancerBidCount}}

Lead Received Users

{{AllUserListCtrl.OneJobDoneCount}}

One Job Done Users

{{AllUserListCtrl.LeadReceivedUserCount}}

Received Leads (last 15 days)

{{AllUserListCtrl.LeadNotReceivedUserCount}}

Not Received Leads (last 15 days)

{{AllUserListCtrl.LeadAcceptedUserCount}}

Lead Accepted (last 15 days)

{{AllUserListCtrl.LeadNotAcceptedUserCount}}

Lead Not Accepted (last 15 days)

30(%)\\\" class=\\\"perfomance-detail-other\\\" ng-click=\\\"AllUserListCtrl.getCountByPssValue(\\'JobRejectionBreachedCount\\')\\\">
{{AllUserListCtrl.JobRejectionBreachedCount}}

Job Rejection > 30(%)

{{AllUserListCtrl.JobRejectionMetCount}}

Job Rejection<= 30(%)<=\\\"\\\" p=\\\"\\\">

70(%)\\\" class=\\\"perfomance-detail-other\\\" ng-click=\\\"AllUserListCtrl.getCountByPssValue(\\'SOPAdherenceMetCount\\')\\\">
{{AllUserListCtrl.SOPAdherenceMetCount}}

SOP Adherence > 70(%)

{{AllUserListCtrl.SOPAdherenceBreachedCount}}

SOP Adherence<= 70(%)<=\\\"\\\" p=\\\"\\\">

{{AllUserListCtrl.AuthorizedServiceParnterDetailCount }}

Total Authorized Service Center

{{AllUserListCtrl.AuthorizedServiceParnterDetailCountActive }}

Active Authorized Service Center

{{AllUserListCtrl.AuthorizedServiceParnterDetailCountInActive}}

Registered Authorized Service Center

{{AllUserListCtrl.CommitmentInterestedUserCount}}

Commitment Interested Users

{{AllUserListCtrl.CommittedUserCount}}

Committed Users

{{AllUserListCtrl.TotalBlockedUsersCount}}

Blocked Users

UserIdNameStatusMobile No.Registration DateActivation DateReporting ToCityStatePinCodeBrandProduct ServicingRoleUser TypeBlock CommentBlock DateIs Committed UserIsAuthorized PartnerAdhar cardPancardCriminal CheckPrimeOne Job DoneTotal Jobs Done
Started Receiving Leads (last 15 Days)
Lead Accepted (last 15 Days)
Job Rejection (%)
SOP Adherence (%)
Customer Rating
SkillLast ActivationWork LocationToolsDownload Report
\\\"image\\\" {{user.FirstName}} {{user.LastName}}
\\\"image\\\" \\\"image\\\"
{{user.BrandName}}
{{user.ProductName}}
{{user.TotalJobs}} ({{user.TotalLeadsReceived}}) 30,\\'label label-primary\\':user.JobRecjectionPerctange <= 30}\\\">{{user.JobRecjectionPerctange}}= 70}\\\">{{user.SOPAdherence}}= 4}\\\">{{user.CustomerRating}}
{{user.SkillSet.toString()}}
{{user.LastLocationUpdateTime | date:\\'dd/MMM/yy hh:mm\\'}}
{{user.Locations.toString()}}
{{user.Tools.toString()}}
Showing {{AllUserListCtrl.techpageindexCount}} to {{AllUserListCtrl.usersLength}} of {{AllUserListCtrl.totalTalentPoolCount}} entries
Technician Filters
Clear
Atleast One Job Done
\");\n$templateCache.put(\"app/AllUsersListGC/AllUsersListGC.html\",\"

Registration In Progress Attributes

{{AllUserListGCCtrl.BasicInformation}}

Basic Info

{{AllUserListGCCtrl.LocationAndSkill}}

Location & Skill

{{AllUserListGCCtrl.Backgroundverified}}

Background Verified

{{AllUserListGCCtrl.PoliceVerified}}

Police Verified

{{AllUserListGCCtrl.SMEInteractionCount}}

SME Interaction

Activated Profiles

{{AllUserListGCCtrl.TotalUserCount}}

Total Users

{{AllUserListGCCtrl.TotalIndainUserCount}}

India Users

{{AllUserListGCCtrl.TotalUKUserCount}}

UK Users

UserIdNameStatusMobile No.Registration DateActivation DateCityStatePinCodeRoleSME InteractionAdhar cardPancardCriminal CheckDownload Report
\\\"image\\\" {{user.FirstName}} {{user.LastName}}
\\\"image\\\" \\\"image\\\"
Showing {{AllUserListGCCtrl.techpageindexCount}} to {{AllUserListGCCtrl.usersLength}} of {{AllUserListGCCtrl.totalTalentPoolCount}} entries
Technician Filters
Clear
Atleast One Job Done
\");\n$templateCache.put(\"app/AppLink/applink.html\",\"\");\n$templateCache.put(\"app/ApprovalFlowBuilder/ApprovalFlowBuilder.html\",\"
  1. Approval Flow Builder
\");\n$templateCache.put(\"app/Assests360View/Assests360View.html\",\"
  1. Home
  2. Assests Profile
\\\"Avatar\\\"

Single Door Refrigerator

M637373773799



Assests Details
Date of Purchase:
21-Oct-2021
Type :
Refrigerator
Door Type :
Single door
Brand :
PepsiCo
Capacity :
301-400L
No. of Baskets/Shelves:
5
Door Material :
Glass Door
Temperature Control :
Smart Thermostat
Voltage/Frequency :
220-240V/50Hz or 220-240V/60Hz
Current Location :
C 34 Noida Sector 51 Uttar Pradesh
Status :
InWarranty
End Of Life :
22-Oct-2025
Value :
₹ 66,0000

Next Service Date

10-Dec-2024

Last Inspection Date

10-Aug-2024

Last Service Date

02-Mar-2024
Contracts
Contract IDCompany NameRefrigerator ModelCapacity (Liters)ConditionContract Start DateContract End DatePayment TermsWarranty PeriodMaintenance ResponsibilityInsurance DetailsDelivery DateInstallation DateContract ValuePoint of ContactNotesStatusActions
C001\\\"Avatar\\\"M637373773799200New2021-11-012022-10-16Monthly Payment1 Year\\\"Avatar\\\"Covered by PepsiCo2022-02-112022-02-16₹ 80,000Satyam RaiFor promotional usePending
C002\\\"Avatar\\\"M637373773799200New2022-01-012023-01-01Monthly Payment1 Year\\\"Avatar\\\"Covered by PepsiCo2023-02-022023-02-05₹ 50,000NaveenFor promotional useClosed
C003\\\"Avatar\\\"M637373773799300New2023-02-012023-02-05Monthly Payment1 Year\\\"Avatar\\\"Covered by PepsiCo2023-01-022024-01-03₹ 58,000HemantFor promotional useClosed
C004\\\"Avatar\\\"M637373773799300New2024-01-012025-01-01Monthly Payment1 Year\\\"Avatar\\\"Covered by PepsiCo2024-05-022024-05-09₹ 58,000SurajFor promotional usePending
C005\\\"Avatar\\\"M637373773799300New2024-05-012025-06-01Monthly Payment1 Year\\\"Avatar\\\"Covered by PepsiCo2024-05-022024-05-09₹ 78,000HemantFor promotional useClosed
Service Management
Service IDService DetailsBrandDate & TimeTechnicianStatusActions
A40000002388
\\\"Avatar\\\"
Single Door Refrigerator
M637373773799
\\\"Avatar\\\"20 July 2020 4:20PMSanjay SinghCompleted
A400000023338
\\\"Avatar\\\"
Single Door Refrigerator
M637373773799
\\\"Avatar\\\"20 August 2021 2:20PMRohit KumarCompleted
A40000003412
\\\"Avatar\\\"
Single Door Refrigerator
M637373774001
\\\"Avatar\\\"15 March 2022 3:10PMAnil SharmaCompleted
A40000004567
\\\"Avatar\\\"
Single Door Refrigerator
M637373774002
\\\"Avatar\\\"12 June 2022 11:30AMPooja KumariCompleted
A40000005678
\\\"Avatar\\\"
Single Door Refrigerator
M637373774003
\\\"Avatar\\\"25 Novenber 2024 6:45PMVikash GuptaCompleted
SDR
SDR IDRefrigerator ModelBrandDefectSymptomsCauseResolutionTechnician NameDate ResolvedRemarksActions
SDR001
\\\"Avatar\\\"
M637373773799
\\\"Avatar\\\"Compressor FailureRefrigerator not coolingOverheating of the compressorReplaced compressorSuraj Rai2024-11-20Warranty covered replacement.
SDR002
\\\"Avatar\\\"
M637373773799
\\\"Avatar\\\"Door Seal DamageCold air leaking, increased electricity usageWear and tearReplaced door sealNaveen Sharma2024-09-22Refrigerator efficiency restored.
SDR003
\\\"Avatar\\\"
M637373773799
\\\"Avatar\\\"Thermostat MalfunctionRefrigerator overcooling, freezing foodThermostat stuck in \\'on\\' positionReplaced thermostatYashwant2024-05-25Temperature regulation working fine now.
SDR004
\\\"Avatar\\\"
M637373773800
\\\"Avatar\\\"Cooling Coil LeakRefrigerator not coolingPhysical damage to the coilRepaired and recharged coolantRakesh Gupta2024-10-15Cooling performance restored successfully.
SDR005
\\\"Avatar\\\"
M637373773801
\\\"Avatar\\\"Fan Motor FailureUnusual noise and reduced coolingFaulty motor bearingsReplaced fan motorMeena Kumari2024-06-12Fan operating smoothly now.
SDR006
\\\"Avatar\\\"
M637373773802
\\\"Avatar\\\"Control Panel FaultRefrigerator not turning onElectrical short in panelReplaced control boardArun Joshi2024-04-05Power issues resolved successfully.
Inspection Report
Inspection IDRefrigerator ModelInspection DateInspector NameConditionTemperature Reading (°C)Damage/Issues FoundMaintenance RequiredCommentsNext Inspection DateActions
IR001M6373737737992024-08-25Yashwant KumarGood4°CNoneNoRefrigerator is functioning well.2024-11-25
IR002M6373737737992024-11-25Sunit SinghFair6°CMinor scratches on the door.YesRecommended door alignment check.2025-02-26
IR003M6373737737992024-07-15Meena SharmaGood3°CNoneNoEfficient cooling observed. No issues found.2024-10-15
IR004M6373737737992024-09-10Arun JoshiPoor10°CFan noise detected, insufficient cooling.YesImmediate fan motor replacement required.2024-12-10
IR005M6373737737992024-06-05Naveen KumarFair5°CDoor seal loose, minor cooling inefficiency.YesSeal replacement recommended before next inspection.2024-09-05
Maintenance Plan
>
Plan IDRefrigerator ModelSerial NumberNext Scheduled MaintenanceActions
MP001M637373773799SN7894562025-02-20
MP002M637373773799SN1237892025-05-22
MP003M637373773799SN4561232025-08-25
Warranty AMC
Tracking IDRefrigerator ModelSerial NumberBrandPurchase DateWarranty Expiry DateAMC Start DateAMC End DateService ProviderLast Service DateNext Service DateRemarksAMC StatusActions
WT001
\\\"Avatar\\\"
M637373773799
SN456789\\\"Avatar\\\"2023-01-152025-01-142025-01-152026-01-14PepsiCo2024-11-102025-05-10Warranty active; AMC begins post-expiry.Active
WT002
\\\"Avatar\\\"
M637373773799
SN987654\\\"Avatar\\\"2022-12-202024-12-19N/AN/APepsiCo2024-11-152025-05-15AMC not yet activated; warranty about to expire.Renewal Pending
WT003
\\\"Avatar\\\"
M637373773799
SN123456\\\"Avatar\\\"2021-08-102023-08-092023-08-102024-08-09PepsiCo2024-10-052025-04-05AMC ongoing; regular servicing on schedule.Active
WT004
\\\"Avatar\\\"
M637373773799
SN654321\\\"Avatar\\\"2020-05-102022-05-092022-05-102023-05-09PepsiCo2023-11-052024-05-05AMC expired; renewal required for continued services.Expired
WT005
\\\"Avatar\\\"
M637373773799
SN987321\\\"Avatar\\\"2023-03-202025-03-192025-03-202026-03-19PepsiCo2024-10-202025-04-20Under warranty; AMC scheduled post expiry.Active
WT006
\\\"Avatar\\\"
M637373773799
SN159753\\\"Avatar\\\"2019-11-152021-11-142021-11-152022-11-14PepsiCo2022-10-102023-04-10Service due; AMC expired. Customer informed.Expired

Activity for M637373773799

2024-04-12

Warranty Started

Model: M637373773799

Status: Active

2024-06-22

Defect Reported

Issue: Compressor Failure

Technician: Sunil Kumar

2024-06-25

Service Performed

Action: Replaced Compressor

Status: Completed

2024-08-10

Inspection Completed

Technician: Yashwant Sinha

Outcome: Unit Functioning Optimally

2024-11-10

Warranty to be Expired

Model: M637373773799

Status: Expiring Soon

2024-11-15

AMC Started

Provider: PepsiCo Service Center

Status: Active
\");\n$templateCache.put(\"app/AutoSchedularConfig/AutoSchedularConfig.html\",\"
  1. Home
  2. Auto Scheduler Config
Auto Scheduler Configuration
\");\n$templateCache.put(\"app/AutoScheduleSettings/AutoScheduleSettings.html\",\"
  1. Home
  2. Auto Schedule Settigs
Auto Schedule Settigs
 {{timing | date: \\\"HH:mm\\\"}}
Minutes
Broadcast to 10 KM if at least 10 users found or Increment the Distance by 10 KM for 3 times
Jobs Broadcast
Assignation Mode
Give prefrence to users sith security sayments
Broadcast Mode
Broadcast Tickets to only criminally verified users


Broadcast to only preferred users
NO Freelancer Found Exception to Onboarding/Dispatcher


Broadcast to only preferred users
\");\n$templateCache.put(\"app/AssignationRule/AssignationRule.html\",\"

Assignation Rules

\");\n$templateCache.put(\"app/BGVerification/BGVerification.html\",\"
\\\"image\\\"

User Name: {{fixedUsers.UserName}}

User Id: {{fixedUsers.UserId}}

Role: {{fixedUsers.UserRole}}

User IdNameSlot Booked DateAssigned To (UserId)Assigned To (Name)Assigned OnInteraction ResultStatusBooking StatusReschedule CountAction
{{bGverifySlot.UserId}} {{bGverifySlot.UserId}}{{bGverifySlot.UserName}}{{bGverifySlot.SlotBookingDate | date:\\'dd/MM/yy hh:mm a\\'}}{{bGverifySlot.InteractionWithUserId}}{{bGverifySlot.InteractionWithUserName}}{{bGverifySlot.AssignedOnDate | date:\\'dd/MM/yy hh:mm a\\'}}{{bGverifySlot.InteractionResult}}{{bGverifySlot.Status}}{{bGverifySlot.BookingStatus}}{{bGverifySlot.RescheduleCount}}
 {{BGVCtrl.pageindexCount}} - {{BGVCtrl.bGVerifyListLength}} of {{totalTableUsersBG}}
\");\n$templateCache.put(\"app/BillDetails/BillDetails.html\",\"
  1. Home
  2. Bill Details
 Showing {{billdetailscntrl.countdpageindexCount}} to {{billdetailscntrl.myStockListLength}} of {{totalInventory}} entries
Bill IDService Center InfoConsumer InfoConsumer Contact No.Total AmountTotal GST Amount
{{totalbilldetails.BillId }}{{totalbilldetails.ServiceCentreName }} ( {{totalbilldetails.ServiceCentreUserId }} ){{totalbilldetails.ConsumerName}} ( {{totalbilldetails.ConsumerId}} ){{totalbilldetails.ConsumerContact }}{{totalbilldetails.BillTotalAmount }}{{totalbilldetails.TotalGSTAmount }}

Bill Id - {{billdetailscntrl.PartDetails.BillId }}

PartQuantityPrice (₹)GSTAmountTotal (₹)
{{itemdetails.PartName}}{{itemdetails.Quantity}}{{itemdetails.PartPrice}}{{itemdetails.GSTAmount}}{{itemdetails.PartTotalPrice}}
Total Amount (₹){{billdetailscntrl.PartDetails.BillTotalAmount}}
\");\n$templateCache.put(\"app/BlockedUser/BlockedUser.html\",\"

Blocked User

\\\"profile\\\" \\\"profile\\\"

{{user.FirstName}} {{user.LastName}} | {{user.UserId}}

{{user.CustomerRating}} 
\");\n$templateCache.put(\"app/Bonus/Bonus.html\",\"
  1. Home
  2. Penalties and Bonuses
Rule IDRule NameStageScenarioTriggerGradeAmountAction
{{bonus.RuleId}}{{bonus.RuleName}}{{bonus.Stage}}{{bonus.Scenario}}{{bonus.Trigger}}{{bonus.Grade}}{{bonus.Amount}}
Rule IDRule NameStageScenarioTriggerGradeAmountAction
{{panelty.RuleId}}{{panelty.RuleName}}{{panelty.Stage}}{{panelty.Scenario}}{{panelty.Trigger}}{{panelty.Grade}}{{panelty.Amount}}
\");\n$templateCache.put(\"app/BrandProductMasterCreation/BrandProductMasterCreation.html\",\"
  1. Home
  2. Master Creation
\");\n$templateCache.put(\"app/Business Register/businessRegister.html\",\"

Crowdsourcing Platform

Service Marketplace to connect Field Engineers with Businesses.

Sign UP

Please enter first name Your first name cannot be longer than 20 characters Your first name should only contain alphabets
Please enter last name Your last name cannot be longer than 20 characters Your last name should only contain alphabets
= 48 && event.charCode <= 57\\\" class=\\\"form-control refrelinput inputheight\\\" ng-pattern=\\\"/^(?:(?:\\\\+|0{0,2})91(\\\\s*[\\\\-]\\\\s*)?|[0]?)?[789]\\\\d{9}$/\\\" placeholder=\\\"Mobile Number*\\\" required=\\\"\\\" ng-model=\\\"register.phone\\\" name=\\\"phone\\\">
Please enter 10 digit phone number Please enter valid phone number
Please enter password Password must be at least 6 characters
Please confirm your password Passwords Doesn\\'t Match
Please enter company name Your company name cannot be longer than 40 characters

View our Terms and Conditions
Already Registered? Sign In

Copyright MyMobiforce © 2019

\");\n$templateCache.put(\"app/CRMManualAssignationJob/CRMManualAssignationJob.html\",\"
{{crmmanualAssignationJob.UsersType}}
  {{crmmanualAssignationJob.upageindexCount}} - {{crmmanualAssignationJob.userListLength}} of {{totalUsers}}
\\\"image\\\"

({{fixedUsers.Role}})

N P

{{fixedUsers.UserId}}

{{fixedUsers.ContactNumber}}

Last Login

{{fixedUsers.LastLoginUpdateTime | date:\\'dd/MMM/yy hh:mm a\\'}}

Today Jobs : {{fixedUsers.TodayJobs}}

Approved Jobs : {{fixedUsers.TotalJobs}}

Total Bids :{{fixedUsers.TotalBids}}

Acceptance Jobs (%) :{{fixedUsers.AvgAcceptanceJobs}}

Total Jobs : {{fixedUsers.DispatcherTotalJobs}}

Total New Jobs(Till Date) : {{fixedUsers.DispatcherTotalNewJobs}}

Availability :{{fixedUsers.TeamAvailability}}

Availability :{{fixedUsers.TeamAvailability}}

First Response Time (%) :{{fixedUsers.FirstResponseRate}}

Appointment Met Rate (%) :{{fixedUsers.AppointmentMetRate}}

Job Completion (%) :{{fixedUsers.AvgJobCompeltionRate}}

0\\\">{{fixedUsers.CurrentPinCode}}

{{fixedUsers.SkillSet[0]+(fixedUsers.SkillSetCount>1?\\\"...\\\":\\\"\\\")}}

  • Jobs
JobIDStatusActionSentAcceptedRejectedProductPart Order IDPart Order StatusWarranty StatusConsumer NameConsumer Contact
Total New Age(dd:hh:mm:ss)
Total Broadcast Age(dd:hh:mm:ss)
Total Assigned Age (dd:hh:mm:ss)
Total Hold Age(dd:hh:mm:ss)
Total Completed Age(dd:hh:mm:ss)
Total Exception Age(dd:hh:mm:ss)
Total Rejected Age (dd:hh:mm:ss)
Broadcast CountAppointment DateAppointment Taken BySkillAppointment RescheduleByAppointment RescheduleOnTechnician NamePartner NameAssign DateCancellation DateCall Attempts(Tech-Customer)Call Attempts(Backend-Customer)Call Attempts(Backend-Tech)Sub StatusCompletion DateApproved DateCityStateCancel ReasonException TypeProject NameSecondary StatusCreated DateStart TimeBroadcasted DatePriceDurationPincodeReplacement IDReplacement Status
{{newJob.BIDSend}} {{newJob.BIDSend}}{{newJob.BIDReceived}} {{newJob.BIDReceived}}{{newJob.DenyCount}}{{newJob.ProductName}}{{newJob.PartOrderId}}{{newJob.PartOrderStatus}}{{newJob.WarrantyStatus}}{{newJob.ConsumerName}}{{newJob.ConsumerContact}}{{newJob.NewAge}}{{newJob.BroadcastedAge}}{{newJob.AssignedAge}}{{newJob.HoldAge}}{{newJob.CompletedAge}}{{newJob.ScheduleExceptionAge}}{{newJob.RejectedAge}}{{newJob.BroadcastCount}}{{newJob.PlannedStartDate | date:\\'dd/MM/yy hh:mm a\\'}}{{newJob.AppointmentTakenBy}}{{skill}}{{newJob.AppointmentRescheduleBy}}{{newJob.Assignee}}{{newJob.AssignationDate | date:\\'dd/MMM/yy hh:mm a\\'}}{{newJob.CancellationDate | date:\\'dd/MMM/yy hh:mm a\\'}}{{newJob.CallAttempTechToCustomer}}{{newJob.CallAttempBackendToCustomer}}{{newJob.CallAttempBackendToTech}}{{newJob.CompletionDate | date:\\'dd/MMM/yy hh:mm a\\'}}{{newJob.ApprovedDate | date:\\'dd/MMM/yy hh:mm a\\'}}{{newJob.City}}{{newJob.State}}{{newJob.TicketCancelReason}}{{newJob.SecondryStatus}}{{newJob.ProjectName}}{{newJob.CloneReason}}{{newJob.CreationDate | date:\\'dd/MM/yyyy hh:mm a\\'}}{{newJob.StartTimeD}}{{newJob.JobBroadcastDateTime | date: \\'dd/MM/yyyy\\'}}{{newJob.BroadcastRate}} INR{{newJob.BidDuration}} hrs{{pincode}}{{newJob.ReplacementId}}{{newJob.ProductReplacementStatus}}
 {{crmmanualAssignationJob.pageindexCount}} - {{crmmanualAssignationJob.ticketListLength}} of {{totalTableTickets}}
PincodeSite IdConsumer Contact No.CountAction
{{suggestion.GroupWiseJobVariable}}{{suggestion.JobCount}}
PincodeTicketIdJobIdConsumer NameConsumer ContactSkillSetStatusStateCity
{{ticketDetails.Pincode}}{{ticketDetails.TicketId}}{{ticketDetails.JobId}}{{ticketDetails.ConsumerName}}{{ticketDetails.ConsumerContact}}{{ticketDetails.SkillSet}}{{ticketDetails.TicketStatus}}{{ticketDetails.State}}{{ticketDetails.City}}
JobIDStatusStageSiteIDSiteNameCityStatePincodeException TypeAppointment Date Broadcast Age(dd:hh:mm:ss)
Total Age(dd:hh:mm:ss)
Field Age(dd:hh:mm:ss)
Project NameSecondary StatusPrimary ReasonFollowUp ReasonCancel ReasonRejection Remarkclone ReasonCreated DateLatitudeLongitudeStart TimeBroadcasted DatePriceDurationAmt CollectedAmt to Be Collected
{{newJob.TicketId}}{{newJob.JobId}}{{newJob.SiteName}}{{newJob.City}}{{newJob.State}}{{pincode}}{{newJob.PlannedStartDate | date:\\'dd/MM/yy hh:mm a\\'}}{{newJob.TicketBroadcastAge}}{{newJob.TotalTicketAge}}{{newJob.FieldAge}}{{newJob.ProjectName}}{{newJob.PrimaryReason}}{{newJob.LastFollowUpMsg}}{{newJob.TicketCancelReason}}{{newJob.RejectionRemark}}{{newJob.CloneReason}}{{newJob.CreationDate | date: \\'dd/MM/yyyy\\'}}{{newJob.Latitude}}{{newJob.Longitude}}{{newJob.StartTimeD}}{{newJob.JobBroadcastDateTime | date: \\'dd/MM/yyyy\\'}}{{newJob.BroadcastRate}} INR{{newJob.BidDuration}} hrs{{newJob.AmountCollected}}{{newJob.AmountToBeCollected}}
JobIDActionSiteIDSiteNameSkillCityStateGroupIdEstimate Share StateEstimation AttachementEstimation Share RemarkTechnician NameFollowUp ReasonReject CountException TypeAppointment DateCall DateTimeCall Duration Broadcast Age(dd:hh:mm:ss)
Total Age(dd:hh:mm:ss)
StatusSub StatusSentAcceptedRejectedAssign DateAssign Age(hr)Broadcast Count
Field Age(dd:hh:mm:ss)
Project NameTechnician NameSupervisor NamePrimary ReasonCancel ReasonRejection Remarkclone ReasonSecondary StatusCreated DateLatitudeLongitudeStart TimeBroadcasted DatePricePincodeAmt CollectedAmt to Be CollectedFreelancer Rate
{{newJob.JobId}}{{newJob.SiteName}}{{newJob.SkillSet}}{{newJob.City}}{{newJob.State}}{{newJob.GroupId}}{{newJob.EstimateShareState}}{{newJob.EstimationAttachement}}{{newJob.EstimationShareRemark}}\\\"image\\\" {{newJob.Assignee}}{{newJob.LastFollowUpMsg}}{{newJob.TicketRejectionCount}}{{newJob.SecondryStatus}}{{newJob.PlannedStartDate | date:\\'dd/MM/yy hh:mm a\\'}}{{newJob.TicketBroadcastAge}}{{newJob.TotalTicketAge}}{{newJob.BIDSend}} {{newJob.BIDSend}}{{newJob.BIDReceived}} {{newJob.BIDReceived}}{{newJob.DenyCount}}{{newJob.AssignationDate | date: \\'dd/MM/yyyy\\'}}:{{newJob.BroadcastCount}}{{newJob.FieldAge}}{{newJob.ProjectName}}{{newJob.Assignee}}{{newJob.SupervisorName}}{{newJob.PrimaryReason}}{{newJob.TicketCancelReason}}{{newJob.RejectionRemark}}{{newJob.CloneReason}}{{newJob.CreationDate | date: \\'dd/MM/yyyy\\'}}{{newJob.Latitude}}{{newJob.Longitude}}{{newJob.StartTimeD}}{{newJob.JobBroadcastDateTime | date: \\'dd/MM/yyyy\\'}}{{newJob.BidDuration}} hrs{{pincode}}{{newJob.AmountCollected}}{{newJob.AmountToBeCollected}}{{newJob.FreelancerRate}}
 {{crmmanualAssignationJob.wpageindexCount}} - {{crmmanualAssignationJob.workOrderListLength}} of {{totalTableWorkOrder}}
UserID ({{crmmanualAssignationJob.listofActiveUsers.length}})NameCallPatichingTicketId AssignedJobCount AppointmentBookedCount AppointmentNotBookedCount BreachedCount BroadcastCount CancelledCount
\\\"image\\\" {{user.Name}}{{user.AssignedJobCount}}{{user.AppointmentBookedCount}}{{user.BreachedCount}}{{user.BroadcastJobCount}}{{user.SourceCancelledCount}}
Ticket IdJob TypeProject NameProject IdStatusActionStateCityCustomer Name
{{userSjob.TicketId}}{{userSjob.JobType}}{{userSjob.ProjectName}}{{userSjob.ProjectId}}
{{userSjob.State}}{{userSjob.City}}{{userSjob.ConsumerName}}
10\\\"> {{crmmanualAssignationJob.pageindexCount}} - {{crmmanualAssignationJob.ticketListLength}} of {{totalTableTickets}}
Combo IdNo. of Ticket CountActionCreated OnCombo StatusTechnician NamePartner NameField Support TeamSentAcceptedPinCodeSkillsFreelancer RateDispatcher Name
{{newJob.TicketId}} {{newJob.JobCountInBundle}} {{newJob.CreationDate | date: \\'dd/MM/yyyy\\'}}{{newJob.Assignee}}{{fTeam.SupportEngineerName}}{{newJob.BIDSend}} {{newJob.BIDSend}}{{newJob.BIDReceived}} {{newJob.BIDReceived}}{{pincode}}{{skill}}{{newJob.FreelancerRate}}{{newJob.DispatchSupervisorName}}
JobIDActionSiteIDSiteNameSkillCityStateTechnician NameFollowUp ReasonReject CountException TypeAppointment DateCall DateTimeCall Duration Broadcast Age(dd:hh:mm:ss)
Total Age(dd:hh:mm:ss)
StatusSentAcceptedRejectedAssign DateAssign Age(hr)Broadcast Count
Field Age(dd:hh:mm:ss)
Project NameTechnician NamePrimary ReasonCancel ReasonRejection Remarkclone ReasonSub StatusSecondary StatusCreated DateLatitudeLongitudeStart TimeBroadcasted DatePricePincodeAmt CollectedAmt to Be CollectedFreelancer Rate
{{newJob.JobId}}{{newJob.SiteName}}{{newJob.SkillSet}}{{newJob.City}}{{newJob.State}}\\\"image\\\" {{newJob.Assignee}}{{newJob.LastFollowUpMsg}}{{newJob.TicketRejectionCount}}{{newJob.SecondryStatus}}{{newJob.PlannedStartDate | date:\\'dd/MM/yy hh:mm a\\'}}{{newJob.TicketBroadcastAge}}{{newJob.TotalTicketAge}}{{newJob.BIDSend}} {{newJob.BIDSend}}{{newJob.BIDReceived}} {{newJob.BIDReceived}}{{newJob.DenyCount}}{{newJob.AssignationDate | date: \\'dd/MM/yyyy\\'}}:{{newJob.BroadcastCount}}{{newJob.FieldAge}}{{newJob.ProjectName}}{{newJob.Assignee}}{{newJob.PrimaryReason}}{{newJob.TicketCancelReason}}{{newJob.RejectionRemark}}{{newJob.CloneReason}}{{newJob.CreationDate | date: \\'dd/MM/yyyy\\'}}{{newJob.Latitude}}{{newJob.Longitude}}{{newJob.StartTimeD}}{{newJob.JobBroadcastDateTime | date: \\'dd/MM/yyyy\\'}}{{newJob.BidDuration}} hrs{{pincode}}{{newJob.AmountCollected}}{{newJob.AmountToBeCollected}}{{newJob.FreelancerRate}}
 {{crmmanualAssignationJob.bpageindexCount}} - {{crmmanualAssignationJob.bundleListLength}} of {{totalTableBundles}}

All User

\");\n$templateCache.put(\"app/CRMTeamFormCreation/CRMTeamFormCreation.html\",\"
  1. Home
  2. Team
  3. Create Team
Roles Information
Please select Role
Please select ReportingTo
Please enter User id User ID must be alphanumeric and up to 12 characters
No regions available for the selected role.
0\\\">
Please select a region
No sub-regions available for the selected region.
0\\\">
Please select a sub-region
{{chip}}
.

{{ crmteamcreation.warehouseToBeAllocatedName }}

0\\\">
Please select a warehouse to allocate
= 48 && event.charCode <= 57\\\" ng-pattern=\\\"/^[0-9]{1,2}$/\\\">
Please enter a valid number of years Please enter years of experience
= 48 && event.charCode <= 53\\\" ng-pattern=\\\"/^[0-5]$/\\\">
Please enter a valid rating Please enter a rating
= 48 && event.charCode <= 57\\\" ng-pattern=\\\"/^[0-9]{12}$/\\\">
Please enter a valid 12-digit Aadhaar number Please enter Aadhaar number
Work Area
Account Name
Account Id
States
City
Pin Code
Status
Action
{{AccountDetail.AccountName}}

{{crmteamcreation.SelectedAccount.AccountName}}

{{AccountDetail.AccountId}}

{{crmteamcreation.SelectedAccount.AccountId}}

{{AccountDetail.State}}
{{AccountDetail.City}}
{{locations}}
{{AccountDetail.Status}}

{{crmteamcreation.SelectedAccount.AccountId}}

User Details
Please enter first name Your first name is required to be at least 2 characters Your first name cannot be longer than 50 characters Your first name should only contain alphabets with space
Please enter last name Your last name cannot be longer than 50 characters Your last name should only contain alphabets with space
Please select your gender

Please enter date of birth

Please select valid date of birth

Date of birth should be less than {{crmteamcreation.maxDOBStr}}

Please enter valid email id Please enter email id
= 48 && event.charCode <= 57\\\" maxlength=\\\"10\\\" ng-pattern=\\\"/^[0-9]{10}$/\\\">
Please enter valid number
= 48 && event.charCode <= 57\\\" ng-pattern=\\\"/^[0-9]{10}$/\\\">
Please enter valid Mobile number Please enter mobile number
Please enter address line 1 Your address line 1 cannot be longer than 70 characters Please enter only alphanumeric with space, hyphen, slace, comma
Please enter address line 2 Your address line 2 cannot be longer than 70 characters Please enter only alphanumeric with space, hyphen, slace, comma
Please select state
Please select city
Please select country
= 48 && event.charCode <= 57\\\" ng-blur=\\\"crmteamcreation.validateAllPincodes(crmteamcreation.permanent_pincode)\\\">
Please select or enter a pincode Please enter a valid 6-digit number
Please select option for present address
Please enter address line 1 Your address line 1 cannot be longer than 70 characters Please enter only alphanumeric with space, hyphen, slace, comma
Please enter address line 2 Your address line 2 cannot be longer than 70 characters Please enter only alphanumeric with space, hyphen, slace, comma
Please select state
Please select city
=48 && event.charCode <=57\\\">
Please enter pincode Please enter 6 digit number
\");\n$templateCache.put(\"app/CRMTeamMember/CRMTeamMember.html\",\"
  1. Home
  2. Team Members
{{CRMteamCntrl.userInfo.FirstName}} {{CRMteamCntrl.userInfo.LastName}}s
\\\"image\\\"

{{CRMteamCntrl.userInfo.Role}}

{{CRMteamCntrl.userInfo.ContactNumber}}

Current Location
{{CRMteamCntrl.userInfo.CurrentAdd1}}
{{CRMteamCntrl.userInfo.CurrentAdd2}}
{{CRMteamCntrl.userInfo.CurrentCity}}, {{CRMteamCntrl.userInfo.CurrentState}}
Activate
Detach from account

AccountsState ( City )PinCodes
{{account.AccountName}} ({{account.AccountId}}){{account.State}} {{account.City}}{{account.PinCode}}
Total Jobs{{CRMteamCntrl.userInfo.JobTotal}}Assigned Jobs{{CRMteamCntrl.userInfo.JobAssigned}}
Approved Jobs{{CRMteamCntrl.userInfo.JobApproved}}Completed Jobs{{CRMteamCntrl.userInfo.JobCompleted}}
Rejected Jobs{{CRMteamCntrl.userInfo.JobRejected}}Cancelled Jobs{{CRMteamCntrl.userInfo.JobCancelled}}

\");\n$templateCache.put(\"app/CalendarManagement/CalendarManagement.html\",\"
  1. Home
  2. Calendar
Event
to
DateNameTypeDescription
01/Jan/2021New Year\\'s DayNational Holiday
06/Jan/2021EpiphanyNational Holiday
05/Apr/2021Easter MondayNational Holiday
01/May/2021Labour DayNational HolidayInternational Worker\\'s Day
13/May/2021Ascension DayNational Holiday39 days after Easter Sunday
24/May/2021Whit MondayNational Holiday7th Monday after Easter
03/Jun/2021Corpus ChristiNational HolidaySecond Thursday after Whitsun
15/Aug/2021Assumption DayNational Holiday
24/Jun/2021Saint Rupert\\'s DayRegional HolidaySalzburg
15/Nov/2021Saint Leopold\\'s DayRegional HolidayVienna

Shift Timings
9 Am to 5 Pm
+
Over Timings
5 Pm to 8 Pm
+
Lunch Timings
12 Pm to 2 Pm
30 Mins
\");\n$templateCache.put(\"app/CalendarManagement/CalendarManagementList.html\",\"
  1. Home
  2. Calendar List
Calendar IdNameTypeDescriptionCreated On
CAL001Company CalendarOrg CalendarThis calendar is created to hold all the national holidays21 Jan, 21
CAL002North Zone calendarRegional CalendarThis calendar is inherited by org calendar and has all north regional holidays21 Jan, 21
CAL003South Zone CalendarRegional CalendarThis calendar is inherited by org calendar and has all north regional holidays21 Jan, 21
CAL004East Zone CalendarRegional CalendarThis calendar is inherited by org calendar and has all north regional holidays21 Jan, 21
CAL005West Zone CalendarRegional CalendarThis calendar is inherited by org calendar and has all north regional holidays21 Jan, 21
\");\n$templateCache.put(\"app/CampaignCreation/CampaignCreation.html\",\"
  1. Home
  2. Campaign List
Campaign NameActionScheduled TimeStatusPerformanceCreated ByCreated On
{{campaignData.data.name}} {{campaignData.data.schedule.send_at | date: \\'dd/MMM/yyyy h:mm:ss a\\' }}{{campaignData.data.status}} {{campaignData.data.stats.completed}} {{campaignData.data.stats.failed + campaignData.data.stats[\\'failed-dnd\\'] + campaignData.data.stats.invalid}} {{campaignData.data.stats.retry + campaignData.data.stats.retrying + campaignData.data.stats[\\'in-progress\\']}}{{campaignData.data.agent_name}}{{campaignData.data.date_created | date: \\'dd/MMM/yyyy h:mm:ss a\\'}}
 {{CmpgnCntrl.cuPageindexCount}} - {{CmpgnCntrl.customerListLenth}} of {{totalCustomers}}
List NameNumber of ContactsDate CreatedAction
{{contactData.data.name}}{{contactData.data.contact_count}}{{contactData.data.date_created | date: \\'dd/MMM/yyyy h:mm:ss a\\'}}
 {{CmpgnCntrl.PageindexCount}} - {{CmpgnCntrl.contactListLength}} of {{totalContacts}}

Schedule Campaign {{ CmpgnCntrl.scheduleModel.uniqueId}}

{{schedules.uniqueId}}
Schedule Campaign Name:
Please enter schedule campaign name.
Schedule Frequency
Please select time.
Please select time.
Please select time.
Please select time.
  • {{userActivity.primaryReason}}
    {{userActivity.ReasonComment}}
    {{userActivity.userName}} {{userActivity.dateTime}}
\");\n$templateCache.put(\"app/CampaignDetailView/CampaignDetailView.html\",\"
  1. Home
  2. Campaign Details View
Campaign Deatils
Campaign Stats

NumberNameTotal Call DurationTimeStatusDigitsRecordingAction
+9198786543Avinsh Gupta00:02:3229th January 2024 , 01.00 PMCompleted1-2-3
+9198786543Avinsh Gupta00:02:3229th January 2024 , 01.00 PMCompleted1-2-3
+9198786543Avinsh Gupta00:02:3229th January 2024 , 01.00 PMCompleted1-2-3
+9198786543Avinsh Gupta00:02:3229th January 2024 , 01.00 PMCompleted1-2-3
+9198786543Avinsh Gupta00:02:3229th January 2024 , 01.00 PMCompleted1-2-3
\");\n$templateCache.put(\"app/CampaignDetailViewNew/CampaignDetailViewNew.html\",\"
  1. Home
  2. Campaign Details List

List Name - {{CmpgnDetailViewNewCntrl.UserByFiltersList[0].data.name}}  

Flow Name -     {{CmpgnDetailViewNewCntrl.UserByFiltersList[0].data.flow_type}}  

Start At - - {{CmpgnDetailViewNewCntrl.UserByFiltersList[0].data.schedule.send_at | date: \\'dd/MMM/yyyy h:mm:ss a\\'}}  

End At -     {{CmpgnDetailViewNewCntrl.UserByFiltersList[0].data.schedule.end_at | date: \\'dd/MMM/yyyy h:mm:ss a\\'}}  

Caller Type - {{CmpgnDetailViewNewCntrl.UserByFiltersList[0].data.type}}  

Caller ID -     {{CmpgnDetailViewNewCntrl.UserByFiltersList[0].data.caller_id}}  

No. of Retries - {{CmpgnDetailViewNewCntrl.UserByFiltersList[0].data.retries.number_of_retries}}  

Retry Interval -     {{CmpgnDetailViewNewCntrl.UserByFiltersList[0].data.retries.interval_mins}} min  

Retry Call with Status -     {{retries}},  

  • Call Details View
  • 0 Failed 1 Success 2 In-Progress 3 Completed 4 Paused

NumberNameTotal Call DurationTimeStatusDigitsRecording
{{campaigndetails.data.number}}{{campaigndetails.data.name}}{{campaigndetails.data.on_call_duration}}{{campaigndetails.data.start_time | date: \\'dd/MMM/yyyy h:mm:ss a\\' }}{{campaigndetails.data.status}}{{campaigndetails.data.digit}}
 {{CmpgnDetailViewNewCntrl.PageindexCount}} - {{CmpgnDetailViewNewCntrl.contactListLength}} of {{totalContacts}}
\");\n$templateCache.put(\"app/CapacityGapAnalysis/CapacityGapAnalysis.html\",\"

All Team List

\\\"image\\\"

User Name: {{fixedUsers.UserName}}

User Id: {{fixedUsers.UserId}}

Role: {{fixedUsers.UserRole}}

Capacity Open Task: {{fixedUsers.CapacityOpenTask}}

Capacity Closed Task: {{fixedUsers.CapacityClosedTask}}

ActionTask IdStateCityPincodeSkillAccount NameDescription
Task Age (DD:HH:MM)
Exception TypeIsPreferredPool OnException CountCurrent CapacityExpected CapacityTotal TicketsTotal Users WorkedTotal OneJob Done UsersTotal Active UsersTotal Users HiredCreated OnCreated ByCreation SourceTask Due DateTask Breached Status
Task Completed On
Assigned ToGap Status
{{onboardingTask.TaskId | limitTo: 20 }}...{{onboardingTask.State}}{{onboardingTask.City}}{{onboardingTask.Pincode}}{{onboardingTask.Skill}}{{onboardingTask.AccountName}}{{onboardingTask.Description | limitTo: 10}}...{{onboardingTask.TaskAge}}{{onboardingTask.ExceptionType}}{{onboardingTask.IsPreferredPoolOn}}{{onboardingTask.ExceptionCount}}{{onboardingTask.CurrentCapacity}}{{onboardingTask.ExpectedCapacity}}{{onboardingTask.TotalTickets}}{{onboardingTask.TotalUsersWorked}}{{onboardingTask.TotalOneJobDoneUsers}}{{onboardingTask.TotalActiveUser}}{{onboardingTask.TotalHiredUsers}}{{onboardingTask.CreatedOn| date:\\'dd/MM/yyyy hh:mm a\\'}}{{onboardingTask.CreatedBy}}{{onboardingTask.CreationSource}}{{onboardingTask.TaskDueDate| date:\\'dd/MM/yyyy hh:mm a\\'}}{{onboardingTask.TaskBreached}}{{onboardingTask.TaskCompletedOn}}{{onboardingTask.AssignedTo}}{{onboardingTask.GapStatus}}
User IdNameSkillSetLocations
{{exception.UserId}}{{exception.UserName}}
{{exception.Skills.toString()}}
{{exception.Locations.toString()}}
User IdNameRoleSkillSetLocationsStateCity
{{exception.UserId}}{{exception.UserName}}{{exception.UserRole}}
{{exception.UserSkills.toString()}}
{{exception.UserLocations.toString()}}
{{exception.State}}{{exception.City}}
Ticket IdAccount NameAddressSkillUser IdUser Name
{{exceptionList.TicketId}}{{exceptionList.AccountName}}{{exceptionList.Address}}{{exceptionList.Skills.toString()}}{{exceptionList.UserId}}{{exceptionList.UserName}}
 {{capacitygapanalysis.pageindexCount}} - {{capacitygapanalysis.bGVerifyListLength}} of {{totalTableUsersBG}}
\");\n$templateCache.put(\"app/Central HelpDesk/CentralHelpdesk.html\",\"
  1. Home
  2. Account Settigs
Account Settigs
Account Name
Account Id
Skills
States
Action
{{AccountDetail.AccountName}}
{{AccountDetail.AccountId}}

{{CentralHelpdeskCtrl.SelectedAccountHD.AccountId}}

{{AccountDetail.AccountSkillSet}}

{{AccountDetail.AccountLocations}}

{{CentralHelpdeskCtrl.SelectedAccount.AccountId}}

{{CentralHelpdeskCtrl.SelectedSkill}}
\");\n$templateCache.put(\"app/CentralHDAllTicketList/CentralHDAllTicketList.html\",\"
  • Action
  • Progress Bar
  • Job ID
  • Accounts Name
  • Site Id
  • Site Name
  • Job Description
  • Job step Approval
  • Job Type
  • Project
  • Customer
  • Location
  • Tecnician Name
  • Partner Name
  • Field Support Team
  • Publish Date
  • Assign Date
  • Latitude
  • Longitude
  • Follow Up Reason
  • Customer Satisfaction
  • Status
  • Sub Status
  • Settlement Status
  • Appointment Time
  • Invoice Status
  • Actual Start Date
  • Completion Date
  • SLA Status
  • TAT
  • Tecnician Date
  • Customer Rating
  • Consumer Name
  • Consumer Contact
  • Address 1
  • Address 2
  • Pincode
  • Supervisor Name
  • Approved Date
  • Freelacer Price
  • Bill Amount
  • schedule Mode
  • Material Delivery Status
  • Material Delivery Date
  • Primary Reason
  • Clone Reason
  • Audit
  • Clone Counter
  • Source Creation Date
  • Planned Closure Date
  • Breach Status
  • Cancellation Reasons
  • Collection Required
  • Collection Mode
  • Amount Collected
  • Amount To Be Collected
  • Region
  • Dispatcher Name
  1. Home
  2. Jobs
{{jobTicketCopy.pageindexCount}} - {{jobTicketCopy.ticketListLength}} of {{totalTableUsers}}
ActionProgress BarJob IDAccount NameSite IDSite NameJob DescriptionJob Step ApprovalJob TypeProjectCustomerLocationTechnician NameEngineer NamePartner NameField Support TeamPublish DateAssign DateLatitudeLongitudeFollow Up ReasonCustomer SatisfactionStatusSub StatusSettlement StatusAppointment TimeInvoiceStatusActual Start DateCompletion DateSLA StatusTATTechnician RatingCustomer RatingConsumer NameConsumer ContactAddress1Address2PincodeSupervisor NameApproved DateFreelancer PriceBill AmountSchedule ModeMaterial Delivery StatusMaterial Delivery DatePrimary ReasonClone ReasonAuditClone CounterSource Creation DatePlanned Closure DateBreach StatusCancellation ReasonsCollection RequiredCollection ModeAmount CollectedAmount To Be CollectedRegionSite Audit StatusSite Audit DateSite Audit ByDispatcher Name
    • Job Approved

    • Accept Job

    • Download

    • Download Pdf Report

    • Pull back job

    • Reject Job

    • Reject Job

    • Convert to New

    • On Hold

    • Onsite Report

    • Cancel

    • Clone Job

    • UnHold

    • Settlement

    • Follow Up

    • Tracking

    • Reschedule Audit

    • Site Audit

    • Convert To New from Broadcast

    • New
    • Assigned
    • Completed
    • Approved
    {{ticket.UserName}}0\\\" ng-repeat=\\\"fTeam in ticket.ListFieldSupportTeam\\\">{{fTeam.SupportEngineerName}}

    \");\n$templateCache.put(\"app/CentralHDConfig/CentralHelpdeskConfig.html\",\"
    1. Home
    2. Account Settings
    Account Settings
    Territory Mapping Settings
    Account Name
    Account Id
    City
    PinCode
    States
    Action
    {{AccountDetail.AccountName}}
    {{AccountDetail.AccountId}}

    {{CentralHelpdeskCtrl.SelectedAccount.AccountId}}

    {{AccountDetail.City}}
    {{AccountDetail.PinCode}}
    {{state}}

    {{CentralHelpdeskCtrl.SelectedAccount.AccountId}}

    Territory Mapping Settings
    Account Name
    Account Id
    City
    District
    PinCode
    States
    {{AccountDetail.AccountName}}
    {{AccountDetail.AccountId}}
    {{AccountDetail.City}}
    {{AccountDetail.District}}
    {{AccountDetail.PinCode}}
    {{AccountDetail.State}}
    \");\n$templateCache.put(\"app/CentralHDManualAssignation/CentralHDManualAssignation.html\",\"
    1. Home
    2. Job Assign
    Job IDDecriptionCustomerSkillLocationAge (Days)PriorityCreated DateProjectPincode
    {{newJob.LinkId || newJob.TicketId}} {{newJob.TicketId}}{{newJob.JobDescription}}{{newJob.CustomerName}}{{newJob.SkillSet}}{{newJob.Circle}}{{newJob.Age}}{{newJob.Priority}} NA{{newJob.CreationDate | date: \\'dd/MM/yyyy\\'}}{{newJob.AssignationDate | date: \\'dd/MM/yyyy\\'}}{{newJob.ProjectName}}{{newJob.Pincode}}
    Job IDStart TimeBroadcasted DatePriceDurationSentRecieved
    {{broadcast.LinkId || broadcast.JobId}}{{broadcast.StartDateTime | date: \\'dd/MM/yyyy\\'}}{{broadcast.JobBroadcastDateTime | date: \\'dd/MM/yyyy\\'}}{{broadcast.BroadcastRate}} INR{{broadcast.BIDDuration}} hrs{{broadcast.BIDSend}}{{broadcast.BIDReceived}}
    {{manualAssignation.broadcastError}}

    0\\\" class=\\\"project-list ng-scope\\\" style=\\\"border-bottom: 1px solid rgb(238, 238, 238); cursor: pointer;\\\" ng-repeat=\\\"freeUser in manualAssignation.freelancerUsers | filter: manualAssignation.searchUserText | orderBy : orderProperty\\\" ng-class=\\'{\\\"selectedRow\\\":(manualAssignation.selectedJob==freeUser)}\\'>
    \\\"image\\\" \\\"image\\\"

    {{freeUser.exp}} Years

    0 Total Jobs

    Online Offline

    {{freeUser.exp}} Years

    0\\\">{{freeUser.SkillSet[0]+(freeUser.SkillSetCount>1?\\\"...\\\":\\\"\\\")}}

    0\\\">{{freeUser.Locations[0]+(freeUser.locationCount>1?\\\"...\\\":\\\"\\\")}}

    {{freeUser.Pincode}}

    No data found
    TicketId:-{{manualAssignation.broadcastLinkId || manualAssignation.broadcastTicketId}}

    0\\\" class=\\\"project-list ng-scope\\\" style=\\\"border-bottom: 1px solid rgb(238, 238, 238); cursor: pointer;\\\" ng-repeat=\\\"bidUsers in manualAssignation.BidReceivedJobs |filter: searchUserText | orderBy : orderProperty\\\">
    \\\"image\\\"

    {{bidUsers.BIDStatus}}

    2 Kms

    {{bidUsers.JobsCompletedCount}} 0  Total Jobs

    {{bidUsers.exp}} Years

    0\\\">{{bidUsers.SkillSet}}

    0\\\">{{bidUsers.Locations)}}

    No data found
    {{manualAssignation.broadcastErrorFV}}

    0\\\" class=\\\"project-list ng-scope\\\" style=\\\"border-bottom: 1px solid rgb(238, 238, 238); cursor: pointer;\\\" ng-repeat=\\\"vendors in manualAssignation.FreelancerVendorUsers | filter: manualAssignation.searchUserText | orderBy : orderProperty\\\">
    \\\"image\\\" \\\"image\\\"

    0 Total Jobs

    Online Offline

    {{vendors.exp}} Years

    0\\\">{{vendors.SkillSet[0]+(vendors.SkillSetCount>1?\\\"...\\\":\\\"\\\")}}

    0\\\">{{vendors.Locations[0]+(vendors.locationCount>1?\\\"...\\\":\\\"\\\")}}

    {{vendors.Pincode}}

    No data found
    TicketId:-{{manualAssignation.broadcastLinkId || manualAssignation.broadcastTicketId}}

    0\\\" class=\\\"project-list ng-scope\\\" style=\\\"border-bottom: 1px solid rgb(238, 238, 238); cursor: pointer;\\\" ng-repeat=\\\"bidUsers in manualAssignation.BidReceivedJobs |filter: searchUserText | orderBy : orderProperty\\\">
    \\\"image\\\"

    Satyaver

    {{bidUsers.BIDStatus}}

    2 Kms

    {{bidUsers.JobsCompletedCount}} 0  Total Jobs

    {{bidUsers.exp}} Years

    0\\\">{{bidUsers.SkillSet}}

    0\\\">{{bidUsers.Locations)}}

    No data found
     {{manualAssignation.pageindexCount}} - {{manualAssignation.ticketListLength}} of {{totalTableTickets}}
    JobIDSiteIDSiteNameSkillCityStateTechnician NameFollowUp ReasonReject CountException TypeAppointment DateCall DateTimeCall Duration Broadcast Age(dd:hh:mm:ss)
    Total Age(dd:hh:mm:ss)
    StatusActionSentAcceptedRejectedAssign DateAssign Age(hr)Broadcast Count
    Field Age(dd:hh:mm:ss)
    Project NamePrimary ReasonCancel ReasonRejection Remarkclone ReasonSub StatusSecondary StatusCreated DateLatitudeLongitudeStart TimeBroadcasted DatePriceDurationPincodeAmt CollectedAmt to Be CollectedDispatcher Name
    {{newJob.JobId}}{{newJob.SiteName}}{{newJob.SkillSet}}{{newJob.City}}{{newJob.State}}\\\"image\\\" {{newJob.Assignee}}{{newJob.LastFollowUpMsg}}{{newJob.TicketRejectionCount}}{{newJob.SecondryStatus}}{{newJob.PlannedStartDate | date:\\'dd/MM/yy hh:mm a\\'}}{{newJob.TicketBroadcastAge}}{{newJob.TotalTicketAge}}
    {{newJob.BIDSend}}{{newJob.BIDReceived}}{{newJob.DenyCount}}{{newJob.AssignationDate | date: \\'dd/MM/yyyy\\'}}:{{newJob.BroadcastCount}}{{newJob.FieldAge}}{{newJob.ProjectName}}{{newJob.PrimaryReason}}{{newJob.TicketCancelReason}}{{newJob.RejectionRemark}}{{newJob.CloneReason}}{{newJob.CreationDate | date: \\'dd/MM/yyyy\\'}}{{newJob.Latitude}}{{newJob.Longitude}}{{newJob.StartTimeD}}{{newJob.JobBroadcastDateTime | date: \\'dd/MM/yyyy\\'}}{{newJob.BroadcastRate}} INR{{newJob.BidDuration}} hrs{{newJob.Pincode}}{{newJob.AmountCollected}}{{newJob.AmountToBeCollected}}{{newJob.DispatchSupervisorName}}
    {{manualAssignation.UsersType}}
      {{manualAssignation.upageindexCount}} - {{manualAssignation.userListLength}} of {{totalUsers}}
       \\\"image\\\" \\\"image\\\" N P


    {{fixedUsers.UserId}}

    {{fixedUsers.ContactNumber}}

    Online Offline

    Today Jobs :

    Approved Jobs :

    Total Bids :

    {{fixedUsers.exp}} Years

    Acceptance Jobs (%) :

    First Response Time (%) :{{fixedUsers.FirstResponseRate}}

    Appointment Met Rate (%) :{{fixedUsers.AppointmentMetRate}}

    0\\\">{{fixedUsers.Locations[0]+(fixedUsers.locationCount>1?\\\"...\\\":\\\"\\\")}}

    0\\\">{{fixedUsers.CurrentPinCode}}

    0\\\">{{fixedUsers.SkillSet[0]+(fixedUsers.SkillSetCount>1?\\\"...\\\":\\\"\\\")}}
    No User Found
    {{main.getVisibleLabel(\\'Vendor\\')}}
    0\\\" class=\\\"project-list ng-scope\\\" style=\\\"border-bottom: 1px solid rgb(238, 238, 238); cursor: pointer;\\\" ng-repeat=\\\"vendors in manualAssignation.vendorList | filter: manualAssignation.searchUserText | orderBy : orderProperty\\\">
    \\\"image\\\"

    {{vendors.CompanyName}} {{vendors.AddressLine2}}

    {{vendors.MobileNumber}}

    0 Total Jobs

    {{vendors.TotalJobs}} Total Jobs

    0\\\">{{vendors.VendorSkillsets[0]+(vendors.VendorSkillsetsCount>1?\\\"...\\\":\\\"\\\")}}

    0\\\">{{vendors.VendorLocations[0]+(vendors.VendorLocationsCount>1?\\\"...\\\":\\\"\\\")}}

    {{vendors.Pincode}}

    No data found
    {{main.getRoleName(\\'Supervisor\\')}}
    0\\\" class=\\\"project-list ng-scope\\\" style=\\\"border-bottom: 1px solid rgb(238, 238, 238); cursor: pointer;\\\" ng-repeat=\\\"supervisors in manualAssignation.supervisorList | filter: manualAssignation.searchUserText | filter : manualAssignation.filteredProperties | orderBy : orderProperty\\\">
    \\\"image\\\" \\\"image\\\"

    {{supervisors.FirstName + \\' \\' + supervisors.LastName}}

    {{supervisors.ContactNumber}}

    {{supervisors.JobTotal}} Total Jobs

    0 Total Jobs

    0\\\">{{supervisors.SkillSet[0]+(supervisors.SkillSetCount>1?\\\"...\\\":\\\"\\\")}}

    0\\\">{{supervisors.Locations[0]+(supervisors.locationCount>1?\\\"...\\\":\\\"\\\")}}

    No data found
    × Ticket Id - {{manualAssignation.broadcastTicketId}}
    {{manualAssignation.BIDStartIndex+1}} - {{manualAssignation.BIDMaxcount>manualAssignation.UserBIDCount?manualAssignation.UserBIDCount:manualAssignation.BIDMaxcount}} of {{manualAssignation.UserBIDCount}}
    \\\"image\\\" \\\"image\\\" N

    {{bidUsers.BIDStatus}}

    {{bidUsers.UserPhoneNumber}}

    slots :

    Approved Jobs :

    Total Bids :

    {{bidUsers.Distance}} km

    Acceptance Jobs (%) :

    First Response Time (%) :{{bidUsers.FirstResponseRate}}

    Appointment Met Rate (%) :{{bidUsers.AppointmentMetRate}}

    Attendence:

    Online Offline

    Last Login:

    No data found
    × Ticket Id - {{manualAssignation.TicketSelectedForAssistedSuggestion.TicketId}}
    DistanceRanked
      {{manualAssignation.SuggestionStarIndex+1}} - {{manualAssignation.SuggestionMaxcount>manualAssignation.UserSuggestionCount?manualAssignation.UserSuggestionCount:manualAssignation.SuggestionMaxcount}} of {{manualAssignation.UserSuggestionCount}}
    Compliance  
    \\\"image\\\" \\\"image\\\" N

    {{userSuggestion.name}}

    Today Jobs :

    Approved Jobs :

    Total Bids :

    {{userSuggestion.UserDistance}} km

    Acceptance Jobs (%) : {{userSuggestion.AvgAcceptanceJobs}}

    First Response Time (%) :{{userSuggestion.FirstResponseRate}}

    Appointment Met Rate (%) :{{userSuggestion.AppointmentMetRate}}

    Online Offline

    Last Login:

    No user found with matching criteria

    ×
    \\\"image\\\" \\\"image\\\"

    {{manualAssignation.TicketSelectedForAssistedSuggestion.UserId}}

    {{manualAssignation.TicketSelectedForAssistedSuggestion.PersonalEmail}}

    , , , -

    {{manualAssignation.TicketSelectedForAssistedSuggestion.LastFollowUpReason}} ({{manualAssignation.TicketSelectedForAssistedSuggestion.LastFollowUpRemark}})

    Last follow up on {{manualAssignation.TicketSelectedForAssistedSuggestion.LastFollowUpDateTimeObj | date:\\'dd/MMM/yyyy h:mm:ss a\\'}}

    by \\\"{{manualAssignation.TicketSelectedForAssistedSuggestion.LastFollowUpTakenBy}}\\\"

    Skills
    {{skills.Skill}}
    Work Area
    {{workArea}}

    TodayJobs

    Total Bids

    Acceptance (%)

    Rejection (%)

    Tools
    {{tools}}


    • Broadcast
    • Assigned
    • ANA
    • CCNAB
    • ABR
    • ABD0
    • Completed
    • Approved
    • Rejected
    • Cancelled
    • Total
    Basic Interaction
    Save

    Qualifications

    Skills

    Preferences


      {{manualAssignation.jobsStarIndex}} - {{manualAssignation.jobsMaxcount}} of {{totalJobs}}
    Job IDJob TypeProjectCustomerLocationTechnician NameActionFollow Up ReasonCreation DateAssignation DateAppointment DateApproved Date Broadcast Age(dd:hh:mm:ss)Field AgeDistanceStatusSLAStatusTATRating
    ×
    \\\"image\\\" \\\"image\\\"

    {{bidUsers.BIDStatus}}

    2 Kms

    {{bidUsers.JobsCompletedCount}} 0  Total Jobs

    {{bidUsers.exp}} Years

    0\\\">{{bidUsers.SkillSet}}

    0\\\">{{bidUsers.Locations)}}

    No data found
    \");\n$templateCache.put(\"app/CentralHDTicketsView/CentralHDTicketsView.html\",\"
    1. Home
    2. Jobs
    Job IDProjectAccount NameActionAttachmentGroup IDSite IDSite NameStatusSub StatusPincodeTicket SourceService ByJob DescriptionJob TypeConsumer NameConsumer ContactCustomer SatisfactionTechnician NameEngineer NamePartner NameField Support TeamFace Match StatusEstimate Share StateEstimation AttachementEstimation Share RemarkTech Payment StatusTech Payment DateJob DescriptionJob TypeCustomerLocationCirclePublish DateAssign DateBroadcast CountRevisit CountRevisit RemarkReject CountBroadcast Age(dd:hh:mm:ss)LatitudeLongitudeFollow Up ReasonSecondary StatusSettlement StatusJob Step ApprovalAppointment TimeInvoiceStatusInvoice IDInvoice Creation DateIs Invoice CreatedPO NumberActual Start DateCompletion DateSLA StatusTATTechnician RatingCustomer RatingConsumer NameConsumer ContactAddress1Address2PincodeStateSupervisor NameApproved DateApproved ByCancellation DateCancelled ByFreelancer PriceBill AmountSchedule ModeMaterial Delivery StatusMaterial Delivery DatePrimary ReasonCompletion RemarkClone ReasonAuditClone CounterSource Creation DatePlanned Closure DateBreach StatusCancellation ReasonsRejection RemarksCollection RequiredCollection ModeAmount CollectedAmount To Be CollectedRegionSite Audit StatusSite Audit DateSite Audit ByDispatcher Name
    {{ ticket.BrandName }}{{ticket.Assignee}}{{ticket.VendorName}}0\\\" ng-repeat=\\\"fTeam in ticket.ListFieldSupportTeam\\\">{{fTeam.SupportEngineerName}}No Yes{{PO}}
     {{jobTicketCopy.pageindexCount}} - {{jobTicketCopy.ticketListLength}} of {{totalTableUsers}}
    Combo IDNo.of ticketsStatusStageSiteIDSiteNameCityStatePincodeException TypeAppointment Date Broadcast Age(dd:hh:mm:ss)
    Total Age(dd:hh:mm:ss)
    Field Age(dd:hh:mm:ss)
    Project NameSecondary StatusPrimary ReasonFollowUp ReasonCancel ReasonRejection Remarkclone ReasonCreated DateLatitudeLongitudeStart TimeBroadcasted DatePriceDurationAmt CollectedAmt to Be Collected
    {{newJob.TicketId}}{{newJob.JobCountInBundle}}{{newJob.JobId}}{{newJob.SiteName}}{{newJob.City}}{{newJob.State}}{{newJob.Pincode}}{{newJob.PlannedStartDate | date:\\'dd/MM/yy hh:mm a\\'}}{{newJob.TicketBroadcastAge}}{{newJob.TotalTicketAge}}{{newJob.FieldAge}}{{newJob.ProjectName}}{{newJob.PrimaryReason}}{{newJob.LastFollowUpMsg}}{{newJob.TicketCancelReason}}{{newJob.RejectionRemark}}{{newJob.CloneReason}}{{newJob.CreationDate | date: \\'dd/MM/yyyy\\'}}{{newJob.Latitude}}{{newJob.Longitude}}{{newJob.StartTimeD}}{{newJob.JobBroadcastDateTime | date: \\'dd/MM/yyyy\\'}}{{newJob.BroadcastRate}} INR{{newJob.BidDuration}} hrs{{newJob.AmountCollected}}{{newJob.AmountToBeCollected}}
    JobIDSiteIDSiteNameSkillCityStateTechnician NameFollowUp ReasonReject CountException TypeAppointment DateCall DateTimeCall Duration Broadcast Age(dd:hh:mm:ss)
    Total Age(dd:hh:mm:ss)
    StatusActionSentAcceptedRejectedAssign DateAssign Age(hr)Broadcast Count
    Field Age(dd:hh:mm:ss)
    Project NameTechnician NamePrimary ReasonCancel ReasonRejection Remarkclone ReasonSub StatusSecondary StatusCreated DateLatitudeLongitudeStart TimeBroadcasted DatePricePincodeAmt CollectedAmt to Be CollectedFreelancer Rate
    {{newJob.JobId}}{{newJob.SiteName}}{{newJob.SkillSet}}{{newJob.City}}{{newJob.State}}\\\"image\\\" {{newJob.Assignee}}{{newJob.LastFollowUpMsg}}{{newJob.TicketRejectionCount}}{{newJob.SecondryStatus}}{{newJob.PlannedStartDate | date:\\'dd/MM/yy hh:mm a\\'}}{{newJob.TicketBroadcastAge}}{{newJob.TotalTicketAge}}
    {{newJob.BIDSend}}{{newJob.BIDReceived}}{{newJob.DenyCount}}{{newJob.AssignationDate | date: \\'dd/MM/yyyy\\'}}:{{newJob.BroadcastCount}}{{newJob.FieldAge}}{{newJob.ProjectName}}{{newJob.Assignee}}{{newJob.PrimaryReason}}{{newJob.TicketCancelReason}}{{newJob.RejectionRemark}}{{newJob.CloneReason}}{{newJob.CreationDate | date: \\'dd/MM/yyyy\\'}}{{newJob.Latitude}}{{newJob.Longitude}}{{newJob.StartTimeD}}{{newJob.JobBroadcastDateTime | date: \\'dd/MM/yyyy\\'}}{{newJob.BidDuration}} hrs{{pincode}}{{newJob.AmountCollected}}{{newJob.AmountToBeCollected}}{{newJob.FreelancerRate}}
    {{jobTicketCopy.pageindexCount}} - {{jobTicketCopy.ticketListLength}} of {{totalTableBundles}}
    JobIDStatusStageSiteIDSiteNameCityStatePincodeException TypeAppointment Date Broadcast Age(dd:hh:mm:ss)
    Total Age(dd:hh:mm:ss)
    Field Age(dd:hh:mm:ss)
    Project NameSecondary StatusPrimary ReasonFollowUp ReasonCancel ReasonRejection Remarkclone ReasonCreated DateLatitudeLongitudeStart TimeBroadcasted DatePriceDurationAmt CollectedAmt to Be Collected
    {{newJob.TicketId}}{{newJob.JobId}}{{newJob.SiteName}}{{newJob.City}}{{newJob.State}}{{newJob.Pincode}}{{newJob.PlannedStartDate | date:\\'dd/MM/yy hh:mm a\\'}}{{newJob.TicketBroadcastAge}}{{newJob.TotalTicketAge}}{{newJob.FieldAge}}{{newJob.ProjectName}}{{newJob.PrimaryReason}}{{newJob.LastFollowUpMsg}}{{newJob.TicketCancelReason}}{{newJob.RejectionRemark}}{{newJob.CloneReason}}{{newJob.CreationDate | date: \\'dd/MM/yyyy\\'}}{{newJob.Latitude}}{{newJob.Longitude}}{{newJob.StartTimeD}}{{newJob.JobBroadcastDateTime | date: \\'dd/MM/yyyy\\'}}{{newJob.BroadcastRate}} INR{{newJob.BidDuration}} hrs{{newJob.AmountCollected}}{{newJob.AmountToBeCollected}}
    JobIDActionSiteIDSiteNameSkillCityStateGroupIdEstimate Share StateEstimation AttachementEstimation Share RemarkTechnician NameFollowUp ReasonReject CountException TypeAppointment DateCall DateTimeCall Duration Broadcast Age(dd:hh:mm:ss)
    Total Age(dd:hh:mm:ss)
    StatusSub StatusSentAcceptedRejectedAssign DateAssign Age(hr)Broadcast Count
    Field Age(dd:hh:mm:ss)
    Project NameTechnician NamePrimary ReasonCancel ReasonRejection Remarkclone ReasonSecondary StatusCreated DateLatitudeLongitudeStart TimeBroadcasted DatePricePincodeAmt CollectedAmt to Be CollectedFreelancer Rate
    {{newJob.JobId}}{{newJob.SiteName}}{{newJob.SkillSet}}{{newJob.City}}{{newJob.State}}{{newJob.GroupId}}{{newJob.EstimateShareState}}{{newJob.EstimationAttachement}}{{newJob.EstimationShareRemark}}\\\"image\\\" {{newJob.Assignee}}{{newJob.LastFollowUpMsg}}{{newJob.TicketRejectionCount}}{{newJob.SecondryStatus}}{{newJob.PlannedStartDate | date:\\'dd/MM/yy hh:mm a\\'}}{{newJob.TicketBroadcastAge}}{{newJob.TotalTicketAge}}{{newJob.BIDSend}}{{newJob.BIDReceived}}{{newJob.DenyCount}}{{newJob.AssignationDate | date: \\'dd/MM/yyyy\\'}}:{{newJob.BroadcastCount}}{{newJob.FieldAge}}{{newJob.ProjectName}}{{newJob.Assignee}}{{newJob.PrimaryReason}}{{newJob.TicketCancelReason}}{{newJob.RejectionRemark}}{{newJob.CloneReason}}{{newJob.CreationDate | date: \\'dd/MM/yyyy\\'}}{{newJob.Latitude}}{{newJob.Longitude}}{{newJob.StartTimeD}}{{newJob.JobBroadcastDateTime | date: \\'dd/MM/yyyy\\'}}{{newJob.BidDuration}} hrs{{pincode}}{{newJob.AmountCollected}}{{newJob.AmountToBeCollected}}{{newJob.FreelancerRate}}
    {{jobTicketCopy.pageindexCount}} - {{jobTicketCopy.ticketListLength}} of {{totalTableBundles}}

    • {{attachment.replace(\\'.pdf\\', \\'\\')}}
    -->
    \");\n$templateCache.put(\"app/CentralHDTicketsView/Dashboard-small.html\",\"
    • {{jobTicketCopy.teamdata.jobsSummary.TotalJobs}}

      Total Jobs

    • ₹ {{jobTicketCopy.teamdata.paymentsSummary.TotalEarned}}

      Total Earning

    • {{jobTicketCopy.teamdata.userProfile.venderTeamCount}}

      Total Team

    Background Verified
    • {{VerificationDoc.DocumentName}}
    Skill Verified
    • {{skills.Skill}}
    One Job Done
    • {{oneJobskills}}
    \\\"profile\\\"
    {{jobTicketCopy.teamdata.userProfile.FirstName}} {{jobTicketCopy.teamdata.userProfile.LastName}}
    {{jobTicketCopy.teamdata.userProfile.Ratings.UserId}}

    ({{jobTicketCopy.teamdata.userProfile.Role}})

    {{jobTicketCopy.teamdata.userProfile.Address}}
    {{jobTicketCopy.TechnicianRating}}
    Member Since {{jobTicketCopy.teamdata.userProfile.TechnicianActivationDate| date:\\'MMM dd, yyyy\\'}}
    {{jobTicketCopy.teamdata.userProfile.LastFollowUpReason}} ({{jobTicketCopy.teamdata.userProfile.LastFollowUpRemark}})

    Last follow up on {{jobTicketCopy.teamdata.userProfile.LastFollowUpDateTimeObj | date:\\'dd/MMM/yyyy h:mm:ss a\\'}}

    by \\\"{{jobTicketCopy.teamdata.userProfile.LastFollowUpTakenBy}}\\\"

    Jobs Summary

    {{jobTicketCopy.teamdata.jobsSummary.TotalJobs}}

    Total Jobs

    {{jobTicketCopy.teamdata.jobsSummary.Assignedjobs}}

    Assigned

    {{jobTicketCopy.teamdata.jobsSummary.Completed}}

    Completed

    {{jobTicketCopy.teamdata.jobsSummary.Rejected}}

    Rejected

    {{jobTicketCopy.teamdata.jobsSummary.LeadAcceptance}} (%

    Lead Acceptance

    {{jobTicketCopy.teamdata.jobsSummary.CompletionSpeed}}

    Average Completion Speed

    {{jobTicketCopy.teamdata.jobsSummary.JobCompletionRate}} (%)

    Job Completion Rate

    {{jobTicketCopy.teamdata.jobsSummary.FirstResponseRate}} (%)

    First Response Time

    {{jobTicketCopy.teamdata.jobsSummary.AppointmentMetRate}} (%)

    Appointment Met Rate

    Payments Summary

    ₹ {{jobTicketCopy.teamdata.paymentsSummary.TotalEarned}}

    Total Earned

    ₹ {{jobTicketCopy.teamdata.paymentsSummary.TotalDueAmount}}

    Total Due Amount

    ₹ {{jobTicketCopy.teamdata.paymentsSummary.TotalPaid}}

    Total Paid

    ₹ {{jobTicketCopy.teamdata.paymentsSummary.TotalReject}}

    Total Reject

    ₹ {{jobTicketCopy.teamdata.paymentsSummary.TotalFailed}}

    Total Failed

    ₹ {{jobTicketCopy.teamdata.paymentsSummary.TotalInitial}}

    Total Initial

    ₹ {{jobTicketCopy.teamdata.paymentsSummary.TotalCollection}}

    Total Collection

    ₹ {{jobTicketCopy.teamdata.paymentsSummary.TotalService}}

    Total Service

    ₹ {{jobTicketCopy.teamdata.paymentsSummary.TotalHardware}}

    Total Hardware

    ₹ {{jobTicketCopy.teamdata.paymentsSummary.TotalBonus}}

    Total Bonus

    ₹ {{jobTicketCopy.teamdata.paymentsSummary.TotalPanelty}}

    Total Panelty

    ₹ {{jobTicketCopy.teamdata.paymentsSummary.TotalAllowance}}

    Total Allowance

    ₹ {{jobTicketCopy.teamdata.paymentsSummary.SecurityAmount}}

    Security Amount

    {{jobTicketCopy.teamdata.paymentsSummary.SecurityExpiryDate | date:\\'dd/MM/yy\\'}}

    Security Expiry Date

    {{jobTicketCopy.teamdata.paymentsSummary.SecurityDepositDate | date:\\'dd/MM/yy\\'}}

    ReCharge On

    Execution Summary

    {{jobTicketCopy.teamdata.executionSummary.AssignedNoAction}}

    Assigned No Action

    {{jobTicketCopy.teamdata.executionSummary.CCNAB}}

    CCNAB

    {{jobTicketCopy.teamdata.executionSummary.Cancelled}}

    Cancelled

    {{jobTicketCopy.teamdata.executionSummary.AppointmentBookedDay0}}

    Appointment Booked Day 0

    {{jobTicketCopy.teamdata.executionSummary.AppointmentBookedDay1}}

    Appointment Booked Day 1

    {{jobTicketCopy.teamdata.executionSummary.AppointmentBookedDay1Plus}}

    Appointment Booked Day1+

    {{jobTicketCopy.teamdata.executionSummary.AppointmentBreached}}

    Appointment Breached

    {{jobTicketCopy.teamdata.executionSummary.InTransit}}

    InTransit

    {{jobTicketCopy.teamdata.executionSummary.OnSite}}

    On Site

    {{jobTicketCopy.teamdata.executionSummary.OnHold}}

    On Hold

    Ratings

    {{jobTicketCopy.teamdata.userProfile.AverageRating.AverageRating}} average based on {{jobTicketCopy.teamdata.userProfile.AverageRating.totalCount}} reviews.


    5 star
    {{jobTicketCopy.AvgRating.FiveStar}}
    4 star
    {{jobTicketCopy.AvgRating.FourStar}}
    3 star
    {{jobTicketCopy.AvgRating.ThreeStar}}
    2 star
    {{jobTicketCopy.AvgRating.TwoStar}}
    1 star
    {{jobTicketCopy.AvgRating.OneStar}}
    Skill Test Summary
    SkillExperienceMarksTest DateBrandsStatusInteraction VideoCatagoryCertificate
    {{skills.Skill}}{{skills.Experience}}{{skills.ResultScore}}{{skills.TestDate}}{{skills.BrandList}}{{skills.Status}}

    Total Jobs

    Assigned

    Completed

    Approved

    Rejected

    ANA

    CCNAB

    Cancelled

    ABD0

    ABD1

    ABD1+

    ABR

    InTransit

    On Site

    On Hold

     {{jobTicketCopy.upageindexCount}} - {{jobTicketCopy.userListLength}} of {{totalUsers}}
    Ticket IDTicket TypeAccountLocationAssigned DateTATJobs StatusCreation DateStatus Date
    {{workList.TicketID}}{{workList.TicketType}}{{workList.Account}}{{workList.Location}}{{workList.AssignedDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.TAT}}{{workList.JobsStatus}}{{workList.JobsCreationDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.InTransitDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.AssignedDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.OnSiteDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.AppointmentBookedDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.CompletionDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.OnHoldDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.RejectionDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.CancellationDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.ApprovedDate | date:\\'dd/MM/yy hh:mm a\\'}}
    ₹ {{jobTicketCopy.paymentCount.TotalCollection}}

    Total Collection

    ₹ {{jobTicketCopy.paymentCount.TotalService}}

    Total Service

    ₹ {{jobTicketCopy.paymentCount.TotalHardware}}

    Total Hardware

    ₹ {{jobTicketCopy.paymentCount.TotalBonus}}

    Total Bonus

    ₹ {{jobTicketCopy.paymentCount.TotalPanelty}}

    Total Panelty

    ₹ {{jobTicketCopy.paymentCount.TotalAllowance}}

    Total Allowance

     {{jobTicketCopy.fpageindexCount}} - {{jobTicketCopy.financeListLength}} of {{totalFinList}}
    Total Base PriceTotal Payable AmountTotal CommissionTotal ServiceTotal HardwareTotal BonusTotal PaneltyTotal CollectionTotal AwallanceCashfree IdFailed ReasonStatus
    {{financeList.TotalBasePrice}}{{financeList.TotalPayableAmount}}{{financeList.TotalCommission}}{{financeList.TotalService}}{{financeList.TotalHardware}}{{financeList.TotalBonus}}{{financeList.TotalPanelty}}{{financeList.TotalCollection}}{{financeList.TotalAwallance}}{{financeList.CashfreeId}}{{financeList.FailedReason}}{{financeList.Status}}
    Job IDJob TypeProjectCustomerLocationTechnician NameFollow Up ReasonCreation DateStatusTATRating
    {{financesmry.jobID}}{{financesmry.jobType}}{{financesmry.project}}{{financesmry.customer}}{{financesmry.location}}{{financesmry.technicianName}}{{financesmry.followUpReason}}{{financesmry.creationDate | date: \\'dd-MMM-yyyy hh:mm:ss a\\'}}{{financesmry.status}}{{financesmry.tat}}{{financesmry.rating}}
    Skill Test Summary
    SkillExperienceMarksTest DateBrandsStatusInteraction VideoCatagoryCertificate
    {{skills.Skill}}{{skills.Experience}}{{skills.ResultScore}}{{skills.TestDate}}{{skills.BrandList}}{{skills.Status}}
    Previous Company Details
    Company NameProject NameDesignationAccountDate of JoiningDate of RelievingExperience Letter
    {{previousCompany.CompanyName}}{{previousCompany.ProjectName}}{{previousCompany.Designation}}{{previousCompany.AccountName}}{{previousCompany.DateOfJoining | date:\\'dd-MMM-yyyy\\'}}{{previousCompany.DateOfRelieving | date:\\'dd-MMM-yyyy\\'}} \\\"\\\"
    Training Details
    Training NameTraining DateTraining ImageTraining Attendence
    {{Audittraining.TrainingName}}{{Audittraining.TrainingDate | date:\\'dd-MMM-yyyy\\'}} \\\"\\\" \\\"\\\"
    Ratings

    {{jobTicketCopy.reviewData.OverAllRating.AverageRating}} average based on {{jobTicketCopy.reviewData.OverAllRating.totalCount}} reviews.


    {{Reviews.CustomerName}}Source : MyMobiforce
    (Reviewed on {{Reviews.ReviewDate}})

    {{Reviews.AdditionalRemark}}

    Assets
    Equipment Details
    Equipment NameBrand NameView EquipmentItem Serial NumberManufactured OnExpired On
    {{toolDetail.ToolName}}{{toolDetail.BrandName}}{{toolDetail.ItemSerialNumber}}NA {{toolDetail.DateOfManufacturing}}{{toolDetail.ExpireDate}}
    Audit Details
    Audit SummaryAuditorAudited OnStatusReport
    {{auditDetail.AuditPurpose}}{{auditDetail.AuditorDetails.AuditorName}}{{auditDetail.AuditDate | date: \\'dd-MMM-yyyy\\'}}{{auditDetail.AuditResult}} {{auditDetail.AuditResult}} {{auditDetail.AuditResult}}
    All Team List
    User IDNameTotal CountOpen CountClose CountRoleAddress line 1CityStatePincodeStatusD-1 AvailabilityD-0 Attendance
    {{TeamDetail.UserId}}{{TeamDetail.Name}}{{TeamDetail.TotalCount}}{{TeamDetail.OpenCount}}{{TeamDetail.CloseCount}}{{TeamDetail.Role}}{{TeamDetail.Addressline1}}{{TeamDetail.PermanentCity}}{{TeamDetail.State}}{{TeamDetail.PermanentPinCode}}Inactive ActiveNot Available AvailableNot Available Available
    Interaction Videos List
    TypeSkillUploaded ByUploaded OnVideo
    {{videoupload.Type}}{{videoupload.SkillName}}
    Ticket IDPrimary ReasonReason CommentFollow up On
    {{followupDetail.ticketId}}{{followupDetail.ticketId}}{{followupDetail.PrimaryReason}}{{followupDetail.ReasonComment}}{{followupDetail.dateTime | date:\\'dd/MMM/yyyy h:mm:ss a\\'}}
    \");\n$templateCache.put(\"app/ClientView360/ClientView360.html\",\"
    1. Home
    2. Customer Profile
    \\\"Avatar\\\"

    {{ctrlclientCRM360.consumerData.strConsumerTitle}} {{ctrlclientCRM360.consumerData.strConsumerFirstName}} {{ctrlclientCRM360.consumerData.strConsumerLastName}}

    {{ctrlclientCRM360.consumerData.strConsumerId}}


    {{ctrlclientCRM360.consumerData.strConsumerType}}


    Personal Details
    Name :
    {{ctrlclientCRM360.consumerData.strConsumerTitle}} {{ctrlclientCRM360.consumerData.strConsumerFirstName}} {{ctrlclientCRM360.consumerData.strConsumerLastName}}
    Contact No. :
    {{ctrlclientCRM360.consumerData.strConsumerContact}}
    Alternate Contact :
    {{ctrlclientCRM360.consumerData.strConsumerAlternateContact}}
    Email :
    {{ctrlclientCRM360.consumerData.strPersonalEmail}}
    Address Type :
    {{ctrlclientCRM360.consumerAddressData.strAddressType}}
    Address :
    {{ctrlclientCRM360.consumerAddressData.strAddress1}} {{ctrlclientCRM360.consumerAddressData.strAddress2}}
    State :
    {{ctrlclientCRM360.consumerAddressData.strState}}
    City :
    {{ctrlclientCRM360.consumerAddressData.strCity}}
    Pincode :
    {{ctrlclientCRM360.consumerAddressData.strPostalCode}}
    Consumer Type :
    {{ctrlclientCRM360.consumerData.strConsumerType}}
    Business Type :
    {{ctrlclientCRM360.consumerData.strBusinessType}}
    Status :
    {{ctrlclientCRM360.consumerData.strConsumerStatus}}
    Registered On :
    {{ctrlclientCRM360.consumerData.dateRegisteredOn | date:\\'dd/MM/yyyy hh:mm a\\'}}

    Quick Actions

    \\\"Avatar\\\"
    Crompton Geyser - 25ltr
    Warranty Expiring in 29 days
    \\\"Avatar\\\"
    Samsung LED - 52 Inch
    Warranty Expiring in 6 days
    \\\"Avatar\\\"
    Samsung Washing Machin...
    Warranty Expiring in 4 days
    {{ctrlclientCRM360.consumerAssetDataLength}}

    Assets

    12

    Orders

    {{ctrlclientCRM360.ticketLength}}

    Ticket

    7,000

    Payments Amounts

    \\\"Avatar\\\"

    All Activity

    Complaint #4455

    AC is not cooling properly after installation done. Please resolve my cooling issue as soon as possible.

    9:30 AM

    Another meeting with UK client today, at 3:00 PM

    Yet another one, at 5:00 PM

    12:25 PM

    MMF Admin

    Technician assigner for Voltas 5 Start inverter AC installation

    6:00 PM

    Discussion with marketing team

    Discussion with marketing team about the popularity of last product

    9:00 AM

    Purchase new hosting plan

    Purchase new hosting plan as discussed with development team, today at 10:00 AM

    10:30 PM

    Another conference call today, at 11:00 AM

    Yet another one, at 1:00 PM

    12:25 PM

    Another meeting with UK client today, at 3:00 PM

    Yet another one, at 5:00 PM

    12:25 PM

    Discussion with team about new product launch

    meeting with team mates about the launch of new product. and tell them about new features

    6:00 PM

    Discussion with marketing team

    Discussion with marketing team about the popularity of last product

    9:00 AM

    Purchase new hosting plan

    Purchase new hosting plan as discussed with development team, today at 10:00 AM

    10:30 PM

    Another conference call today, at 11:00 AM

    Yet another one, at 1:00 PM

    12:25 PM
    Quick Questions

    1. My AC making strange noises
    2. Why is my air conditioner increasing my energy bills
    3. my air conditioner leaking water
    4. Why does my air conditioner keep turning on and off frequently

    Here is the attached PDF file:

    \\\"PDF

    sample.pdf

    There could be several reasons why your air conditioner is not cooling effectively:
    1. Dirty Air Filter: A dirty air filter can block airflow, reducing the AC\\'s efficiency. Check and replace the air filter if it\\'s clogged.
    2. Low Refrigerant Levels: If the refrigerant levels are low, it could indicate a leak. Refrigerant is crucial for cooling, so low levels can affect performance. A professional should check and recharge the refrigerant.
    3. Thermostat Issues: Ensure your thermostat is set correctly and functioning properly. If it’s malfunctioning, it might not be signaling the AC to cool.
    4. Clogged Condenser Unit: Debris or dirt around the outdoor condenser unit can affect cooling efficiency. Clean the unit and remove any obstructions.

    It\\'s recommended to schedule maintenance for your air conditioner at least once a year, ideally before the cooling season begins. Regular maintenance can help ensure your AC operates efficiently, prolong its lifespan, and prevent unexpected breakdowns. During a maintenance visit, a technician will:
    1. Clean or Replace the Air Filter: A clean air filter is crucial for proper airflow and efficiency.
    2. Check Refrigerant Levels: Ensuring the refrigerant is at the correct level is essential for effective cooling.
    3. Check Thermostat Settings: Ensuring the thermostat is calibrated correctly will maintain your desired temperature.
    4. Inspect Electrical Components: Checking wiring, capacitors, and other electrical components can prevent potential electrical issues.
    5. Lubricate Moving Parts: Proper lubrication of moving parts reduces friction and wear.

    If your refrigerator is making loud or unusual noises, consider the following steps to diagnose and address the issue:
    1. Check the Leveling: Ensure the refrigerator is level. If it\\'s not, vibrations may cause noise. Adjust the leveling legs at the bottom of the refrigerator if needed.
    2. Inspect the Condenser Fan: A noisy condenser fan could indicate dirt buildup or a malfunctioning fan motor. Clean any debris around the fan and check if it spins freely. If the noise persists, you may need to replace the fan motor.
    3. Look at the Evaporator Fan: Inside the freezer, the evaporator fan can sometimes cause noise if it\\'s faulty or obstructed by ice. Defrosting the freezer might help, but if the noise continues, the fan might need replacement.
    4. Check the Compressor: A loud compressor could indicate it\\'s struggling or failing. While compressors do make some noise, any sudden changes or excessive noise should be checked by a professional technician.
    If the noise persists after checking these areas, it\\'s best to call a professional technician to diagnose and repair the issue.

    For optimal performance and hygiene, it\\'s recommended to clean your refrigerator every 3-4 months. Here’s what you should focus on:
    1. Interior Shelves and Drawers: Remove all food items and wipe down the shelves and drawers with a mixture of mild soap and warm water. Rinse and dry them thoroughly before placing them back.
    2. Door Seals: Clean the door gaskets with a mixture of baking soda and water to remove dirt and ensure a good seal. This prevents cool air from escaping.
    3. Condenser Coils: Dust and vacuum the condenser coils at least twice a year. This is especially important for efficient operation and can help prevent the refrigerator from overheating.
    4. Exterior: Wipe down the exterior of the refrigerator with a mild detergent and water. Use a stainless steel cleaner if your refrigerator has a stainless steel finish.
    5. Drip Pan: Check and clean the drip pan located underneath the refrigerator, if applicable. Ensure it is clean to prevent odors and mold growth.
    Regular cleaning helps maintain the efficiency of your refrigerator and extends its lifespan.
    Assets TypeBrandProduct GroupAssets Purchase OnModel NumberSerial NumberWarranty Expiry DateWarranty Purchase DateWarranty StatusAction
    {{ assets.AssetType}}{{ assets.Brand}}{{ assets.ProductGroup}}{{ assets.AssetPurchaseDate | date:\\'dd/MM/yyyy\\'}}{{ assets.ModelNumber}}{{ assets.SerialNumber}}{{ assets.WarrantyExpiryDate | date:\\'dd/MM/yyyy\\'}}{{ assets.WarrantyPurchaseDate | date:\\'dd/MM/yyyy\\'}}{{ assets.AssetWarranty}}
    Service Management
    Service IDService DetailsBrandDate & TimeTechnicianStatusActions
    A40000002388
    \\\"Avatar\\\"
    Voltas Window AC
    Installation
    \\\"Avatar\\\"20 July 2020 4:20PMN/ARequested
    A40000002388
    \\\"Avatar\\\"
    Refrigerator
    MDF786
    \\\"Avatar\\\"20 July 2020 4:20PMRohit KumarCancelled
    A40000002388
    \\\"Avatar\\\"
    Air Purifier
    MDF786
    \\\"Avatar\\\"20 July 2020 4:20PMSunil YadavAssigned
    A40000002388
    \\\"Avatar\\\"
    Room Heater 240 Watt
    MDF786
    \\\"Avatar\\\"20 July 2020 4:20PMMohit ChauhanCompleted
    Order Management
    Purchased OnProduct DetailsBrandPriceWarrantyWarranty StatusActions
    10 July 2023
    \\\"Avatar\\\"
    Chimney Hose
    MDF786
    \\\"Avatar\\\"₹69910 days beforeExpired
    10 July 2023
    \\\"Avatar\\\"
    Smart Key Sw...
    MDF786
    \\\"Avatar\\\"₹1,469In 5 daysExpiring Soon
    10 July 2023
    \\\"Avatar\\\"
    Protection Plan 1 Y...
    MDF786
    \\\"Avatar\\\"₹69922 June 2022Under Warranty
    Case NumberCall TypeCall SourceStatusBrand NameProduct NameDefect DescriptionOpened DateClosed Date
    {{ticketData.TicketId}}{{ticketData.CallType}}{{ticketData.CallSource}}{{ticketData.TicketStatus}}{{ticketData.BrandName}}{{ticketData.ProductName}}{{ticketData.DefectDescription}}{{ticketData.CreatedOn}}{{ticketData.CompletedOn}}
    Payments
    Transaction IDDate & TimeService/ Product DetailsAmount PaidPartner AmountPayment ViaStatusActions
    TRNS87907610 Jul 2023 | 5:20 PM
    \\\"Avatar\\\"
    Voltas Window AC
    Installation
    ₹820₹420Net BankingRefund Pending
    TRNS78352419 Apr 2023 | 4:58 PM
    \\\"Avatar\\\"
    Voltas Window AC
    Installation
    ₹1399₹899Debit CardFailed
    TRNS09786214 Apr 2023 | 2:16 PM
    \\\"Avatar\\\"
    Dish Washer 25 liter
    Breakdown Request
    ₹1650₹1150UPICompleted
    \");\n$templateCache.put(\"app/CommittmentOps/CommittmentOps.html\",\"
    1. Home
    2. Task Priority
    Task Type

    {{onboardingTask.TaskId}} ( {{onboardingTask.TotalHiredUsers}}/{{onboardingTask.ExpectedCapacity}} )

    Follow Up {{CmtmntOpsCtrl.FollowUpTask}}

    {{CmtmntOpsCtrl.TotalTask}}

    Total Task

    {{CmtmntOpsCtrl.OpenTask}}

    Open Task

    {{CmtmntOpsCtrl.ClosedTask}}

    Close Task

    ActionTask IdUser IdUser NameStateCityPincodeSkillDescription
    Task Age (DD:HH:MM)
    Created OnCreated ByTask Due DateTask Breached Status
    Task Completed On
    Task Completion DateAssigned ToTask Status
    {{onboardingTask.TaskId | limitTo: 20 }}...{{ onboardingTask.TaskId.split(\\'_\\').pop() }}\\\"image\\\" {{ onboardingTask.Description.split(\\':\\')[0].trim() }}{{onboardingTask.State}}{{onboardingTask.City}}{{onboardingTask.Pincode}}{{onboardingTask.Skill}}{{onboardingTask.Description | limitTo: 10}}...{{onboardingTask.TaskAge}}{{onboardingTask.CreatedOn| date:\\'dd/MM/yyyy hh:mm a\\'}}{{onboardingTask.CreatedBy}}{{onboardingTask.TaskDueDate| date:\\'dd/MM/yyyy hh:mm a\\'}}{{onboardingTask.TaskBreached}}{{onboardingTask.TaskCompletedOn}}{{onboardingTask.TaskClosingDate}}{{onboardingTask.AssignedTo}}{{onboardingTask.GapStatus}}

    Invited Users

    {{CmtmntOpsCtrl.TotalInvitedUserCount}}

    Invited

    Activated Profiles

    {{CmtmntOpsCtrl.Count}}

    Total Users

    {{CmtmntOpsCtrl.TotalRegisterUser}}

    Total Registered Users

    {{CmtmntOpsCtrl.TotalActiveUsersCount}}

    Total Active Users

    {{CmtmntOpsCtrl.TotalActiveFrUsersCount}}

    Total Active Freelancers

    {{CmtmntOpsCtrl.TotalActiveFVUsersCount}}

    Total Active Freelancer Vendors

    {{CmtmntOpsCtrl.TotalActiveFVTUsersCount}}

    Total Active Vendor Team

    {{CmtmntOpsCtrl.FixedTeamCount}}

    Total Fixed Team

    Active User\\'s Attributes
    {{CmtmntOpsCtrl.PrimeMember}}

    Prime Members

    {{CmtmntOpsCtrl.NonPrimeMember}}

    Non-Prime Members (<= 10=\\\"\\\" jobs)=\\\"\\\" <=\\\"\\\" p=\\\"\\\">

    10 Jobs)\\\" class=\\\"perfomance-detail-other\\\" ng-click=\\\"CmtmntOpsCtrl.getCountByPssValue(\\'NonPrimeMoreThanTenCount\\')\\\">
    {{CmtmntOpsCtrl.NonPrimeMoreThanTenCount}}

    Non-Prime Members (> 10 Jobs)

    {{CmtmntOpsCtrl.AuthorizedServiceParnterDetailCount }}

    Total Authorized Service Center

    {{CmtmntOpsCtrl.AuthorizedServiceParnterDetailCountActive }}

    Active Authorized Service Center

    {{CmtmntOpsCtrl.AuthorizedServiceParnterDetailCountInActive}}

    Registered Authorized Service Center

    {{CmtmntOpsCtrl.CommitmentInterestedUserCount}}

    Commitment Interested Users

    {{CmtmntOpsCtrl.CommittedUserCount}}

    Committed Users

    UserIdNameStatusMobile No.
    Commitment Calls
    Commitment Status
    Not Interested ReasonCommitment RemarkCommitment Creation DateCommitment FollowUp DateSourceRegistration DateActivation DateReporting ToCityStatePinCodeRoleUser TypeIsAuthorized PartnerAdhar cardPancardCriminal CheckPrimeOne Job Done
    Customer Rating
    BrandProduct ServicingSkillLast ActivationWork LocationTools
    \\\"image\\\" {{user.FirstName}} {{user.LastName}}
    \\\"image\\\" \\\"image\\\"
    = 4}\\\">{{user.CustomerRating}}
    {{user.BrandName}}
    {{user.ProductName}}
    {{user.SkillSet.toString()}}
    {{user.LastLocationUpdateTime | date:\\'dd/MMM/yy hh:mm\\'}}
    {{user.Locations.toString()}}
    {{user.Tools.toString()}}
    Showing {{CmtmntOpsCtrl.techpageindexCount}} to {{CmtmntOpsCtrl.usersLength}} of {{CmtmntOpsCtrl.totalTalentPoolCount}} entries
    \");\n$templateCache.put(\"app/Cms Home/cms_home.html\",\"
    You don\\'t have any content to shown here. Please connect your admin to add content for you.
    Monica Smith
    Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum
    Monica Smith
    Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum
    Monica Smith
    Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum
    Monica Smith
    Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum
    Monica Smith
    Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum
    \");\n$templateCache.put(\"app/Confirm Account/confirm_account.html\",\"
    \\\"image\\\"

    Almost there !

    We need to confirm your email address.


    To complete your registration, please click the link in the email we just sent you, also look in your spam folder, you never know


    Note: Please use your email as username.

    if you don\\'t recieve anything 5 minutes, click here for us to resend the confirmation or you can submit a support requestto let us know


    Back to Home

    Copyright MyMobiforce © 2017


    \");\n$templateCache.put(\"app/ComplaintCaseList/ComplaintCaseList.html\",\"

    All Team List

    \\\"image\\\"

    User Name: {{fixedUsers.UserName}}

    User Id: {{fixedUsers.UserId}}

    Role: {{fixedUsers.UserRole}}

    Capacity Open Task: {{fixedUsers.CapacityOpenTask}}

    Capacity Closed Task: {{fixedUsers.CapacityClosedTask}}

    Case IDTechnician IDTicket IDIssue Related ToActual IssueIssue DescriptionCase Resolution RemarkCase Raised OnCase SourceCase Created ByAssigned TeamAssigned DepartmentCase Status
    {{TeamDetail.CaseId}}{{TeamDetail.ConsumerId}}{{TeamDetail.ConsumerId}}{{TeamDetail.ConsumerId}}{{TeamDetail.IssueRelatedTo}}{{TeamDetail.ActualIssue}}{{ showFullText ? TeamDetail.IssueDescription : (TeamDetail.IssueDescription | limitTo : 50) }}{{ showFullText ? \\'\\' : \\'...\\' }}{{TeamDetail.CaseResolution}}{{TeamDetail.CaseRaisedOn | date:\\'dd/MM/yy hh:mm a\\'}}{{TeamDetail.CaseSource}}{{TeamDetail.CaseCreatedBy}}{{TeamDetail.AssignedToUserName}} ({{TeamDetail.AssignedTo}}){{TeamDetail.CaseOwnerName}} ({{TeamDetail.CaseOwnerRole}})
     {{complaintCtrl.pageindexCount}} - {{complaintCtrl.bGVerifyListLength}} of {{totalTableUsersBG}}
    \");\n$templateCache.put(\"app/Company_Profile/Company_Profile.html\",\"
    1. Home
    2. Company Profile
    \\\"profile\\\"

    HopeFloats Technologies Pvt. Ltd.


    Crowdsourcing Platform

    Service Marketplace to connect Field Engineers with Businesses .

    HopeFloats Technologies
    C-22 A, Sector 57, Noida
    Uttar Pradesh , 201301
    Ankur Sharma
    Ankur.sharma@innotontech.com
    P: (123) 456-7890
    Job TypeJob PricePrice per Kms
    Vsat Installation5005
    Vsat Maintenece9005
    \");\n$templateCache.put(\"app/ConsentOfUser/ConsentOfUser.html\",\"
    1. Home
    2. Consent Of User

    User Consent


    Open

    Closed

    {{ConsentOfUserCntrl.ShiftData.CampaignName}}

    {{ConsentOfUserCntrl.ShiftData.CampaignDescription}}

    {{ConsentOfUserCntrl.ShiftData.CampaignDescription}}

    {{ConsentOfUserCntrl.ShiftData.Location}}

    {{ConsentOfUserCntrl.ShiftData.ShiftStartDate | date:\\'dd/MM/yyyy\\'}}

    {{ConsentOfUserCntrl.ShiftData.ShiftEndDate | date:\\'dd/MM/yyyy\\'}}

    {{ConsentOfUserCntrl.ShiftData.RequiredStaffCount}}

    {{ConsentOfUserCntrl.ShiftData.AppliedCount}}

    \");\n$templateCache.put(\"app/ConsumerList/ConsumerList.html\",\"
    • {{skills}}
    • {{certificate}}
    • {{tools}}
    • {{role}}
    {{ConsumerListCtrl.consumerCount.TotalRecords}}

    Total Customer

    {{ConsumerListCtrl.consumerCount.VoltasConsumerCount}}

    Voltas

    {{ConsumerListCtrl.consumerCount.SamsungConsumerCount}}

    Samsung

    {{ConsumerListCtrl.consumerCount.BluestarConsumerCount}}

    Bluestar

    {{ConsumerListCtrl.consumerCount.ACConsumerCount}}

    Air Conditioner

    {{ConsumerListCtrl.consumerCount.GeyserConsumerCount}}

    Water Heater

    {{ConsumerListCtrl.consumerCount.MobileConsumerCount}}

    Mobile

    {{ConsumerListCtrl.consumerCount.TelevisionConsumerCount}}

    Television

    Customer IDCustomer NameAddressCityStatePincodeBrandsProductsDate
    {{consumerData.ConsumerId}}{{consumerData.ConsumerName}}{{consumerData.ConsumerAddress | limitTo : 40}}{{consumerData.ConsumerCity}}{{consumerData.ConsumerState}}{{consumerData.ConsumerPincode}}{{consumerData.Brands}}{{consumerData.Products}}{{consumerData.Date}}
    ProductIdProductBrandProduct GroupProduct ModelProduct Serial NumberDate
    {{brands.ProductId}}{{brands.Product}}{{brands.Brand}}{{brands.ProductGroup}}{{brands.ProductModel}}{{brands.ProductSerialNumber}}{{brands.Date}}
     {{ConsumerListCtrl.cuPageindexCount}} - {{ConsumerListCtrl.customerListLenth}} of {{totalCustomers}}
    Customer Filters
    Clear
    \");\n$templateCache.put(\"app/ConsumerForm/ConsumerForm.html\",\"

    Hello , {{consumerform.ticketDetails.ConusmerName}}

    {{consumerform.ticketDetails.ConsumerContact}}

    Please enter address line 1 Your address line 1 cannot be longer than 50 characters
    Please enter address line 2 Your address line 2 cannot be longer than 50 characters
    Please select state
    Please select city
    Please enter pincode Please enter valid pincode
    Please select appointment slot
    \");\n$templateCache.put(\"app/ConsumerLogin/consumerlogin.html\",\"

    Login

    Please enter mobile number. Please enter a valid 10-digit mobile number.

    OTP Verification

    Please enter the OTP.
    OTP should be exactly 4 digits.

    You can Resend Code in 00:{{countDown}}

    Basic Info

    Name is required.
    Location is required.

    Copyright MyMobiforce © 2024

    \");\n$templateCache.put(\"app/ConsumerQuery/ConsumerQuery.html\",\"
    1. Home
    2. Counsumer query
    Ticket Details
    Ticket IDSource Ticket IDStatusConsumer ContactAddressCreated OnAppointment DateVisit StatusPlanned Closure DateIssue IdentifiedAction
    {{ticketData.MMFTicketId}}{{ticketData.SoruceTicketId}}{{ticketData.Status}}{{ticketData.ConsumerContact}}{{ticketData.Address}}{{ticketData.TicketCreateDate}}{{ticketData.AppointmentDate}}{{ticketData.VisitStatus}}{{ticketData.PlannedClosureDate}}{{ticketData.IssueIdentified}}

    No Ticket Found

    • {{ timeline.activity}}
      {{timeline.userName}} {{timeline.dateTime}}
      {{ timeline.activity}}
      {{timeline.userName}} {{ timeline.EventDateTime | date:\\'dd/MM/yyyy hh:mm a\\' }}
      {{chat.UserName}}
      {{chat.MessageTime | date:\\'dd/MMM/yy h:mm:ss a\\'}}
      {{chat.Message}} \\\"image-1\\\" {{chat.AttachmentLink}}
    • \\\"User
      {{case.strQueryBy}} {{case.dateQueryOn | date:\\'dd/MM/yyyy hh:mm a\\' }}

      {{case.strQuery}}

    • \\\"User
      {{case.dateResponseOn | date:\\'dd/MM/yyyy hh:mm a\\' }} {{case.strResponseBy}}

      {{case.strResponse}}

    \");\n$templateCache.put(\"app/Customer Card View/customer_Card_view.html\",\"

    Customer

    1. Home
    2. Customer


    \\\"image\\\"

    ,

    Point Of Contact :-


    Total Jobs New Jobs
    Approved Jobs Completed Jobs
    \");\n$templateCache.put(\"app/Customer Card View/dirPagination.tpl.html\",\"\");\n$templateCache.put(\"app/Customer Profile/Customer_profile.html\",\"

    Customer Profile

    1. Home
    2. Customer Profile
    \\\"profile\\\"

    Id : {{customerProfile.customerInfo.CustomerId}}

    Contract Date :



    ,
    P:
    Total Jobs New Jobs Assigned Jobs 0
    Approved Jobs Completed Jobs Rejected Jobs 0
    Cancelled Jobs 0
    First NameLast NameEmailMobile NumberOther Number
    Job TypePublished DateTechnicianStatusCompletion DateApproved Date
    \");\n$templateCache.put(\"app/CustomerCRM360/CustomerCRM360.html\",\"
    1. Home
    2. Customer Profile
    \\\"Avatar\\\"
    \\\"Avatar\\\"

    {{ctrlCRM360.consumerData.strConsumerTitle}} {{ctrlCRM360.consumerData.strConsumerFirstName}} {{ctrlCRM360.consumerData.strConsumerLastName}}

    {{ctrlCRM360.consumerData.strConsumerId}}


    {{ctrlCRM360.consumerData.strConsumerType}}


    Personal Details
    Name :
    {{ctrlCRM360.consumerData.strConsumerTitle}} {{ctrlCRM360.consumerData.strConsumerFirstName}} {{ctrlCRM360.consumerData.strConsumerLastName}}
    Contact No. :
    {{ctrlCRM360.consumerData.strConsumerContact}}
    Alternate Contact :
    {{ctrlCRM360.consumerData.strConsumerAlternateContact}}
    Email :
    {{ctrlCRM360.consumerData.strPersonalEmail}}
    Address Type :
    {{ctrlCRM360.consumerAddressData.strAddressType}}
    Address :
    {{ctrlCRM360.consumerAddressData.strAddress1}} {{ctrlCRM360.consumerAddressData.strAddress2}}
    State :
    {{ctrlCRM360.consumerAddressData.strState}}
    City :
    {{ctrlCRM360.consumerAddressData.strCity}}
    Pincode :
    {{ctrlCRM360.consumerAddressData.strPostalCode}}
    Consumer Type :
    {{ctrlCRM360.consumerData.strConsumerType}}
    Business Type :
    {{ctrlCRM360.consumerData.strBusinessType}}
    Status :
    {{ctrlCRM360.consumerData.strConsumerStatus}}
    Registered On :
    {{ctrlCRM360.consumerData.dateRegisteredOn | date:\\'dd/MM/yyyy hh:mm a\\'}}

    Quick Actions

    \\\"Avatar\\\"
    Crompton Geyser - 25ltr
    Warranty Expiring in 29 days
    \\\"Avatar\\\"
    Samsung LED - 52 Inch
    Warranty Expiring in 6 days
    \\\"Avatar\\\"
    Samsung Washing Machin...
    Warranty Expiring in 4 days
    {{ctrlCRM360.consumerAssetDataLength}}

    Assets

    12

    Orders

    {{ctrlCRM360.ticketLength}}

    Ticket

    7,000

    Payments Amounts

    \\\"Avatar\\\"

    Complaint and Service Activity

    Complaint #12345

    AC is not cooling properly after installation. Asset: Voltas 5 Star Inverter AC.
    Logged by: Neeraj Kumar

    9:00 AM

    Service Booked

    Service appointment booked.
    Service Date: 15th July 2024
    Service Type: Regular Maintenance
    Charges: ₹1200

    10:00 AM

    Payment Completed

    Payment for the service has been received.
    Payment Mode: Credit Card
    Transaction ID: TXN9876543210
    Amount: ₹1200

    10:15 AM

    Technician Assigned

    Technician Yogesh Sinha assigned to address the service request.
    Tools Required: Coolant Tester, Thermometer, Screwdriver Set.

    10:30 AM

    Service Performed

    Technician replaced faulty parts and refilled coolant.
    Used Assets: Replacement Cooling Coil, Coolant (Type R410a).
    Additional Charges: ₹500 for replacement parts.

    12:30 PM

    Additional Payment Required

    Additional payment processed for parts replacement.
    Payment Mode: UPI
    Transaction ID: TXN5678901234
    Amount: ₹500

    1:00 PM

    Complaint Resolved

    Complaint marked as resolved. Cooling restored to optimal levels.
    Feedback: Customer rated 5/5 for service.

    3:00 PM
    Quick Questions

    1. My AC making strange noises
    2. Why is my air conditioner increasing my energy bills
    3. my air conditioner leaking water
    4. Why does my air conditioner keep turning on and off frequently

    Here is the attached PDF file:

    sample.pdf

    There could be several reasons why your air conditioner is not cooling effectively:
    1. Dirty Air Filter: A dirty air filter can block airflow, reducing the AC\\'s efficiency. Check and replace the air filter if it\\'s clogged.
    2. Low Refrigerant Levels: If the refrigerant levels are low, it could indicate a leak. Refrigerant is crucial for cooling, so low levels can affect performance. A professional should check and recharge the refrigerant.
    3. Thermostat Issues: Ensure your thermostat is set correctly and functioning properly. If it’s malfunctioning, it might not be signaling the AC to cool.
    4. Clogged Condenser Unit: Debris or dirt around the outdoor condenser unit can affect cooling efficiency. Clean the unit and remove any obstructions.

    It\\'s recommended to schedule maintenance for your air conditioner at least once a year, ideally before the cooling season begins. Regular maintenance can help ensure your AC operates efficiently, prolong its lifespan, and prevent unexpected breakdowns. During a maintenance visit, a technician will:
    1. Clean or Replace the Air Filter: A clean air filter is crucial for proper airflow and efficiency.
    2. Check Refrigerant Levels: Ensuring the refrigerant is at the correct level is essential for effective cooling.
    3. Check Thermostat Settings: Ensuring the thermostat is calibrated correctly will maintain your desired temperature.
    4. Inspect Electrical Components: Checking wiring, capacitors, and other electrical components can prevent potential electrical issues.
    5. Lubricate Moving Parts: Proper lubrication of moving parts reduces friction and wear.

    If your refrigerator is making loud or unusual noises, consider the following steps to diagnose and address the issue:
    1. Check the Leveling: Ensure the refrigerator is level. If it\\'s not, vibrations may cause noise. Adjust the leveling legs at the bottom of the refrigerator if needed.
    2. Inspect the Condenser Fan: A noisy condenser fan could indicate dirt buildup or a malfunctioning fan motor. Clean any debris around the fan and check if it spins freely. If the noise persists, you may need to replace the fan motor.
    3. Look at the Evaporator Fan: Inside the freezer, the evaporator fan can sometimes cause noise if it\\'s faulty or obstructed by ice. Defrosting the freezer might help, but if the noise continues, the fan might need replacement.
    4. Check the Compressor: A loud compressor could indicate it\\'s struggling or failing. While compressors do make some noise, any sudden changes or excessive noise should be checked by a professional technician.
    If the noise persists after checking these areas, it\\'s best to call a professional technician to diagnose and repair the issue.

    For optimal performance and hygiene, it\\'s recommended to clean your refrigerator every 3-4 months. Here’s what you should focus on:
    1. Interior Shelves and Drawers: Remove all food items and wipe down the shelves and drawers with a mixture of mild soap and warm water. Rinse and dry them thoroughly before placing them back.
    2. Door Seals: Clean the door gaskets with a mixture of baking soda and water to remove dirt and ensure a good seal. This prevents cool air from escaping.
    3. Condenser Coils: Dust and vacuum the condenser coils at least twice a year. This is especially important for efficient operation and can help prevent the refrigerator from overheating.
    4. Exterior: Wipe down the exterior of the refrigerator with a mild detergent and water. Use a stainless steel cleaner if your refrigerator has a stainless steel finish.
    5. Drip Pan: Check and clean the drip pan located underneath the refrigerator, if applicable. Ensure it is clean to prevent odors and mold growth.
    Regular cleaning helps maintain the efficiency of your refrigerator and extends its lifespan.

    There could be several reasons why your air conditioner is not cooling effectively:
    1. Dirty Air Filter: A dirty air filter can block airflow, reducing the AC\\'s efficiency. Check and replace the air filter if it\\'s clogged.
    2. Low Refrigerant Levels: If the refrigerant levels are low, it could indicate a leak. Refrigerant is crucial for cooling, so low levels can affect performance. A professional should check and recharge the refrigerant.
    3. Thermostat Issues: Ensure your thermostat is set correctly and functioning properly. If it’s malfunctioning, it might not be signaling the AC to cool.
    4. Clogged Condenser Unit: Debris or dirt around the outdoor condenser unit can affect cooling efficiency. Clean the unit and remove any obstructions.

    It\\'s recommended to schedule maintenance for your air conditioner at least once a year, ideally before the cooling season begins. Regular maintenance can help ensure your AC operates efficiently, prolong its lifespan, and prevent unexpected breakdowns. During a maintenance visit, a technician will:
    1. Clean or Replace the Air Filter: A clean air filter is crucial for proper airflow and efficiency.
    2. Check Refrigerant Levels: Ensuring the refrigerant is at the correct level is essential for effective cooling.
    3. Check Thermostat Settings: Ensuring the thermostat is calibrated correctly will maintain your desired temperature.
    4. Inspect Electrical Components: Checking wiring, capacitors, and other electrical components can prevent potential electrical issues.
    5. Lubricate Moving Parts: Proper lubrication of moving parts reduces friction and wear.

    If your refrigerator is making loud or unusual noises, consider the following steps to diagnose and address the issue:
    1. Check the Leveling: Ensure the refrigerator is level. If it\\'s not, vibrations may cause noise. Adjust the leveling legs at the bottom of the refrigerator if needed.
    2. Inspect the Condenser Fan: A noisy condenser fan could indicate dirt buildup or a malfunctioning fan motor. Clean any debris around the fan and check if it spins freely. If the noise persists, you may need to replace the fan motor.
    3. Look at the Evaporator Fan: Inside the freezer, the evaporator fan can sometimes cause noise if it\\'s faulty or obstructed by ice. Defrosting the freezer might help, but if the noise continues, the fan might need replacement.
    4. Check the Compressor: A loud compressor could indicate it\\'s struggling or failing. While compressors do make some noise, any sudden changes or excessive noise should be checked by a professional technician.
    If the noise persists after checking these areas, it\\'s best to call a professional technician to diagnose and repair the issue.

    For optimal performance and hygiene, it\\'s recommended to clean your refrigerator every 3-4 months. Here’s what you should focus on:
    1. Interior Shelves and Drawers: Remove all food items and wipe down the shelves and drawers with a mixture of mild soap and warm water. Rinse and dry them thoroughly before placing them back.
    2. Door Seals: Clean the door gaskets with a mixture of baking soda and water to remove dirt and ensure a good seal. This prevents cool air from escaping.
    3. Condenser Coils: Dust and vacuum the condenser coils at least twice a year. This is especially important for efficient operation and can help prevent the refrigerator from overheating.
    4. Exterior: Wipe down the exterior of the refrigerator with a mild detergent and water. Use a stainless steel cleaner if your refrigerator has a stainless steel finish.
    5. Drip Pan: Check and clean the drip pan located underneath the refrigerator, if applicable. Ensure it is clean to prevent odors and mold growth.
    Regular cleaning helps maintain the efficiency of your refrigerator and extends its lifespan.
    Assets TypeBrandProduct GroupAssets Purchase OnModel NumberSerial NumberDealer NameDealer Contact No.Warranty Expiry DateWarranty Purchase DateWarranty StatusAction
    {{ assets.AssetType}}{{ assets.Brand}}{{ assets.ProductGroup}}{{ assets.AssetPurchaseDate | date:\\'dd/MM/yyyy\\'}}{{ assets.ModelNumber}}{{ assets.SerialNumber}}{{ assets.strDealerName}}{{ assets.strDealerContact}}{{ assets.WarrantyExpiryDate | date:\\'dd/MM/yyyy\\'}}{{ assets.WarrantyPurchaseDate | date:\\'dd/MM/yyyy\\'}}{{ assets.AssetWarranty}}
    Service Management
    Service IDService DetailsBrandDate & TimeTechnicianStatusActions
    A40000002388
    \\\"Avatar\\\"
    Voltas Window AC
    Installation
    \\\"Avatar\\\"20 July 2020 4:20PMN/ARequested
    A40000002388
    \\\"Avatar\\\"
    Refrigerator
    MDF786
    \\\"Avatar\\\"20 July 2020 4:20PMRohit KumarCancelled
    A40000002388
    \\\"Avatar\\\"
    Air Purifier
    MDF786
    \\\"Avatar\\\"20 July 2020 4:20PMSunil YadavAssigned
    A40000002388
    \\\"Avatar\\\"
    Room Heater 240 Watt
    MDF786
    \\\"Avatar\\\"20 July 2020 4:20PMMohit ChauhanCompleted
    Order Management
    Purchased OnProduct DetailsBrandPriceWarrantyWarranty StatusActions
    10 July 2023
    \\\"Avatar\\\"
    Chimney Hose
    MDF786
    \\\"Avatar\\\"₹69910 days beforeExpired
    10 July 2023
    \\\"Avatar\\\"
    Smart Key Sw...
    MDF786
    \\\"Avatar\\\"₹1,469In 5 daysExpiring Soon
    10 July 2023
    \\\"Avatar\\\"
    Protection Plan 1 Y...
    MDF786
    \\\"Avatar\\\"₹69922 June 2022Under Warranty
    ActionCase NumberCall TypeCall SourceStatusBrand NameProduct NameDefect DescriptionOpened DateClosed Date
    {{ticketData.TicketId}}{{ticketData.CallType}}{{ticketData.CallSource}}{{ticketData.TicketStatus}}{{ticketData.BrandName}}{{ticketData.ProductName}}{{ticketData.DefectDescription}} {{ticketData.CreatedOn}} {{ticketData.CompletedOn}}
    Payments
    Transaction IDDate & TimeService/ Product DetailsAmount PaidPartner AmountPayment ViaStatusActions
    TRNS87907610 Jul 2023 | 5:20 PM
    \\\"Avatar\\\"
    Voltas Window AC
    Installation
    ₹820₹420Net BankingRefund Pending
    TRNS78352419 Apr 2023 | 4:58 PM
    \\\"Avatar\\\"
    Voltas Window AC
    Installation
    ₹1399₹899Debit CardFailed
    TRNS09786214 Apr 2023 | 2:16 PM
    \\\"Avatar\\\"
    Dish Washer 25 liter
    Breakdown Request
    ₹1650₹1150UPICompleted
    ActionUser IDService Center NameAddressServing LocationContact InfoRegionSub-RegionBrandsCategoryProductsSkillsCreated On
    {{servicecenterData.UserId}}{{servicecenterData.UserId}}{{servicecenterData.ServiceCenterName}}{{servicecenterData.Address}}
    {{servicecenterData.ServiceAreaList.toString()}}
    {{servicecenterData.ContactInfo}}
    {{servicecenterData.strListRegion.toString()}}
    {{servicecenterData.strListSubRegion.toString()}}
    {{servicecenterData.Brands}}{{servicecenterData.ServiceCentreType}}
    {{servicecenterData.ListProducts.toString()}}
    {{servicecenterData.Products.toString()}}
    {{servicecenterData.CreatedOn | date : \\'dd/MM/yyyy hh:mm a\\'}}
    ActionPart IDNameSKU IDBrandPart GroupPart Sub GroupManufacturerModel NumberHSNCodeIs ReturnableService Center Price (₹)Dealer Price (₹)Dealer Customer Price (₹)Customer Price (₹)Warehouse Price (₹)IGST (%)CGST(%)SGST(%)
    {{inventoryList.MMFPartId}}{{inventoryList.PartName}}{{inventoryList.SKUId}}{{inventoryList.PartBrand}}{{inventoryList.PartCategoryGroup}}{{partsubgroup}}{{inventoryList.Manufacturer}}{{inventoryList.ModelNumber}}{{inventoryList.HSNCode}}Yes No{{inventoryList.PartDiscountedPrice}}{{inventoryList.PartDealerPrice}}{{inventoryList.PartDealerCustomerPrice}}{{inventoryList.PartCustomerPrice}}{{inventoryList.PartWareHousePrice}}{{inventoryList.dIGSTTax}}{{inventoryList.dCGSTTax}}{{inventoryList.dSGSTTax}}
     {{ctrlCRM360.countdpageindexCount}} - {{ctrlCRM360.myStockListLength}} of {{totalInventory}}
    Bill IDService Center InfoConsumer InfoConsumer Contact No.Total AmountTotal GST Amount
    {{totalbilldetails.BillId }}{{totalbilldetails.ServiceCentreName }} ( {{ totalbilldetails.ServiceCentreUserId }} ){{totalbilldetails.ConsumerName}} ( {{totalbilldetails.ConsumerId}} ){{totalbilldetails.ConsumerContact }}{{totalbilldetails.BillTotalAmount }}{{totalbilldetails.TotalGSTAmount }}

    Bill Id - {{ctrlCRM360.PartDetails.BillId }}

    PartQuantityPrice (₹)GSTAmountTotal (₹)
    {{itemdetails.PartName}}{{itemdetails.Quantity}}{{itemdetails.PartPrice}}{{itemdetails.GSTAmount}}{{itemdetails.PartTotalPrice}}
    Total Amount (₹){{ctrlCRM360.PartDetails.BillTotalAmount}}
    \");\n$templateCache.put(\"app/CustomerCRMList/CustomerCRMList.html\",\"
    1. Home
    2. Call Booking
    Please enter a valid 10-digit consumer contact.
    Consumer Details
    Create CaseConsumer IDAccount NameContact NumberAlternate Consumer No.EmailAccount TypeConsumer TypeAddressCityStatePinCodeAddress Type
    {{customercrmlistctrl.consumerData.ConsumerId}}{{customercrmlistctrl.consumerData.ConsumerFirstName}} {{customercrmlistctrl.consumerData.ConsumerLastName}}{{customercrmlistctrl.consumerData.ConsumerContact}}{{customercrmlistctrl.consumerData.ConsumerAlternateContact}}{{customercrmlistctrl.consumerData.PersonalEmail}}{{customercrmlistctrl.consumerData.ConsumerAccountType}}{{customercrmlistctrl.consumerData.ConsumerType}}{{customercrmlistctrl.consumerAddress.strAddress1}}, {{customercrmlistctrl.consumerAddress.strAddress2}}{{customercrmlistctrl.consumerAddress.strCity}}{{customercrmlistctrl.consumerAddress.strState}}{{customercrmlistctrl.consumerAddress.strPostalCode}}{{customercrmlistctrl.consumerAddress.strAddressType}}

    No Account Found

    Assets Details
    Create CaseAssets TypeBrandProduct GroupAssets Purchase OnModel NumberSerial NumberWarranty Expiry DateWarranty Purchase DateWarranty Status
    {{ assets.AssetType}}{{ assets.Brand}}{{ assets.ProductGroup}}{{ assets.AssetPurchaseDate | date:\\'dd/MM/yyyy\\'}}{{ assets.ModelNumber}}{{ assets.SerialNumber}}{{ assets.WarrantyExpiryDate | date:\\'dd/MM/yyyy\\'}}{{ assets.WarrantyPurchaseDate | date:\\'dd/MM/yyyy\\'}}{{ assets.AssetWarranty}}
    Cases Details
    ActionCall IDCall TypeCall SourceStatusSub StatusReplacement StatusGasCharging Request IDGasCharging StatusAssigneeDealer NameDealer Contact No.Contact InfoBrand NameProduct NamePart Order StatusModel NumberDate of PurchaseDefect DescriptionWarranty StatusAppointmentOpened DateClosed DateAppointment TATCompletion TATLocation Type
    {{ticketData.TicketId}}{{ticketData.CallType}}{{ticketData.CallSource}}{{ticketData.TicketStatus}}{{ticketData.SubStatus}}{{ticketData.ProductReplacementStatus}}{{ticketData.ServiceCenterName}}{{ticketData.strDealerName}}{{ticketData.strDealerContact}}{{ticketData.ContactInfo}}{{ticketData.BrandName}}{{ticketData.ProductName}}{{ticketData.PartOrderStatus}}{{ticketData.ModelNumber}}{{ticketData.ProductPurchaseDate | date:\\'yyyy-MM-dd\\'}}{{ticketData.DefectDescription}}{{ticketData.WarrantyStatus}}{{ticketData.AppointmentTime | date:\\'yyyy-MM-dd hh:mm:ss a\\'}}{{ticketData.CreatedOn}}{{ticketData.CompletedOn}}{{ticketData.dAppointmentTAT}}{{ticketData.dCompletionTAT}} Local UpCountry
    Create Consumer
    Please select a Title.
    Please enter a First Name.
    Please enter a Last Name.
    Please enter a Contact No.
    Please enter a valid email
    Please select a consumer type
    Please select a Address Type
    Please enter address line 1
    Please enter address line 2
    Select an Option

    Fetch State & City
    =48 && event.charCode <=57\\\">
    Please enter pincode Please enter 6 digit number
    Please Select State.
    Please Select City.

    Fetch Pincode
    Please Select State.
    Please Select City.
    Please Select Area.
    Please Select Pincode.
    \");\n$templateCache.put(\"app/Customer Form Creation Latest/customer_form_creation_Latest.html\",\"
    1. Home
    2. Customer
    3. Create Customer
    1

    Customer Information

    2

    Customer Location

    3

    Point of Contact

    Customer Information
    Please enter company name Please enter Space, dot, hypen and only alphanumeric. Company name cannot be longer than 50 characters
    Please enter company url Please enter valid url
    Please enter valid GST number
    Please enter description Description should not be greater than 250 characters Please enter only alphanumeric with space, hyphen, slace, comma
    Customer Location {{$index+1}}
    Please enter only alphanumeric with space, hyphen, slace, comma
    Please select Region
    Please select Region
    Please enter only alphanumeric with space, hyphen, slace, comma
    Please select SubRegion
    Please enter 6 digit number
    Point of Contact {{$index+1}}
    Your first name should only contain alphabets with space
    Please enter valid email
    = 48 && event.charCode <=57\\\" ng-model-options=\\\"{ allowInvalid: true}\\\">
    Please enter valid number
    Your first name should only contain alphabets with space
    =48 && event.charCode <=57\\\" maxlength=\\\"10\\\" ng-model-options=\\\"{ allowInvalid: true}\\\">
    Please enter valid mobile number
    \");\n$templateCache.put(\"app/Customer Form Creation/customer_form_creation.html\",\"
    1. Home
    2. Customer
    3. Create Customer
    Customer Information
    Please enter company name Please enter Space, dot, hypen and only alphanumeric. Company name cannot be longer than 50 characters
    Please enter company url Please enter valid url
    Please enter valid GST number
    Please enter description Description should not be greater than 250 characters Please enter only alphanumeric with space, hyphen, slace, comma
    Customer Location {{$index+1}}
    Please enter only alphanumeric with space, hyphen, slace, comma
    Please select Region
    Please select Region
    Please enter only alphanumeric with space, hyphen, slace, comma
    Please select SubRegion
    Please enter 6 digit number
    Point of Contact {{$index+1}}
    Your first name should only contain alphabets with space
    Please enter valid email
    = 48 && event.charCode <=57\\\" ng-model-options=\\\"{ allowInvalid: true}\\\">
    Please enter valid number
    Your first name should only contain alphabets with space
    =48 && event.charCode <=57\\\" maxlength=\\\"10\\\" ng-model-options=\\\"{ allowInvalid: true}\\\">
    Please enter valid mobile number
    \");\n$templateCache.put(\"app/CustomerDetailList/CustomerDetailList.html\",\"
    1. Home
    2. Customer List
    \");\n$templateCache.put(\"app/CustomerDetailView/CustomerDetailView.html\",\"
    1. Home
    2. Customer
    3. {{custdetailview.CustomerFullDetail.CompanyName}}
    {{custdetailview.CustomerFullDetail.CompanyName}}
    \\\"image\\\"

    SLA Status

    Customer Details




    {{custdetailview.CustomerFullDetail.CompanyName}}

    {{custdetailview.CustomerFullDetail.CustomerId}}

    {{custdetailview.CustomerFullDetail.Description}}

    Ticket Status

    RegionSub-RegionCityPocMobile No.Address
    {{locations.Region}}{{locations.SubRegion}}{{locations.City}}{{locations.CustomerLocationContactModels[0].FirstName+\\\" \\\"+locations.CustomerLocationContactModels[0].LastName}}{{locations.CustomerLocationContactModels[0].Mobile?locations.CustomerLocationContactModels[0].Mobile:\\'NA\\'}}{{locations.Address1+\\\" \\\"+locations.Address2}}
    TicketIdJob TypeSub RegionCityAddressDateAgeStatus
    {{tickets.TicketId}}{{tickets.JobType}}{{tickets.SubRegion}}{{tickets.City}}{{tickets.Address1+\\\" \\\"+tickets.Address2}}{{tickets.TAT}}{{tickets.TicketStatus}}
    \");\n$templateCache.put(\"app/CustomerNewLatest/CustomerNewLatest.html\",\"

    Customers

    \");\n$templateCache.put(\"app/CustomerNewLatest/CustomerProjectLatest.html\",\"
    1. Home
    2. Project list
    All projects assigned to this account
    ActiveRFLOS
    Created 14.08.2014
    Completion with: 48%
    \\\"image\\\" \\\"image\\\" \\\"image\\\" \\\"image\\\" \\\"image\\\" View Edit
    ActiveIWAN
    Created 11.08.2014
    Completion with: 28%
    \\\"image\\\" \\\"image\\\" \\\"image\\\" View Edit
    UnactiveFEASIBILITY
    Created 10.08.2014
    Completion with: 8%
    \\\"image\\\" \\\"image\\\" View Edit
    ActiveIWAN
    Created 22.07.2014
    Completion with: 83%
    \\\"image\\\" \\\"image\\\" \\\"image\\\" \\\"image\\\" View Edit
    ActiveIWAN
    Created 14.07.2014
    Completion with: 97%
    \\\"image\\\" View Edit
    ActiveFEASIBILITY
    Created 14.08.2014
    Completion with: 48%
    \\\"image\\\" \\\"image\\\" \\\"image\\\" \\\"image\\\" View Edit
    ActiveThere are many variations of passages
    Created 11.08.2014
    Completion with: 28%
    \\\"image\\\" \\\"image\\\" \\\"image\\\" View Edit
    UnactiveMany desktop publishing packages and web
    Created 10.08.2014
    Completion with: 8%
    \\\"image\\\" \\\"image\\\" View Edit
    ActiveLetraset sheets containing
    Created 22.07.2014
    Completion with: 83%
    \\\"image\\\" \\\"image\\\" \\\"image\\\" View Edit
    ActiveContrary to popular belief
    Created 14.07.2014
    Completion with: 97%
    \\\"image\\\" View Edit
    ActiveThere are many variations of passages
    Created 11.08.2014
    Completion with: 28%
    \\\"image\\\" \\\"image\\\" \\\"image\\\" View Edit
    \");\n$templateCache.put(\"app/CustomerNewLatest/Customer_Project_Detail_Latest.html\",\"
    1. Home
    2. Project detail

    Status:
    Active
    Start Date:
    26.04.2017
    Customer:
    Airtel
    Project Manager:
    Supervisor:
    End Date:
    Location:
    Gurgaon
    Point of Contact :
    Akshit Chauhan

    8375860288

    Completed:
    Project completed in 0%. Remaining close the project, sign a contract and invoice.
    Filters

    Job IDJob TypeTechnicianDurationStatus
    4 hrs

    Project description

    Project Skills



    \");\n$templateCache.put(\"app/CustomerDetailViewLatest/CustomerDetailViewLatest.html\",\"

    Customer Details View

    Customer Details

    {{custdetailviewLatest.CustomerFullDetail.CompanyName}}
    {{custdetailviewLatest.CustomerFullDetail.CustomerId}}
    {{custdetailviewLatest.CustomerFullDetail.Description}}

    SLA Status

    Ticket Status

    {{name}}

    {{custdetailviewLatest.CustomerFullDetail.SkillSet}}

    Customer Details

    {{custdetailviewLatest.CustomerFullDetail.CompanyName}}
    {{custdetailviewLatest.CustomerFullDetail.CustomerId}}
    BL034321
    NO
    {{custdetailviewLatest.CustomerFullDetail.Description}}

    SLA Status

    Ticket Status

    {{name}}

    {{custdetailviewLatest.CustomerFullDetail.SkillSet}}

    \\\"image\\\"

    {{name.FirstName +\\\" \\\"+ name.LastName}}

    {{name.Mobile}}

    Email-id

    {{name.Email}}

    Other No

    {{name.OtherMobile}}

    Serving Location

    {{name}}

    \\\"image\\\"

    {{custdetailviewLatest.CustomerFullDetail.CompanyName}}

    {{name.Mobile}}

    Email-id

    {{name.Email}}

    Other No

    {{name.OtherMobile}}

    Address

    C22 A sector 57, Noida 201301

    Address

    C22 A sector 57, Noida 201301

    {{name}}

    Project NameProject IdDescriptionProject StatusStartDateEndDate
    {{customer.ProjectName}}{{customer.ProjectId}}{{customer.Description}}{{customer.ProjectStatus}}{{customer.StartDate | date}}{{customer.EndDate | date}}
    RegionSub-RegionCityPocMobile No.Address
    {{locations.Region}}{{locations.SubRegion}}{{locations.City}}{{locations.CustomerLocationContactModels[0].FirstName+\\\" \\\"+locations.CustomerLocationContactModels[0].LastName}}{{locations.CustomerLocationContactModels[0].Mobile?locations.CustomerLocationContactModels[0].Mobile:\\'NA\\'}}{{locations.Address1+\\\" \\\"+locations.Address2}}
    ActionAsset IdAsset NameCategoryProduct NameSite NameCustomerLocationIdCustomerNameCreatedOnUpdatedOnRegionSubRegionAddressLatitudeLongitudePincode
    {{AssetList.AssetId}}{{AssetList.AssetName}}{{AssetList.Category}}{{AssetList.ProductName}}{{AssetList.SiteName}}{{AssetList.CustomerLocationId}}{{AssetList.CustomerName}}{{AssetList.CreatedOn | date: custdetailviewLatest.CustomDateformat}}{{AssetList.UpdatedOn | date: custdetailviewLatest.CustomDateformat}}{{AssetList.Region}}{{AssetList.SubRegion}}{{AssetList.Address1}} {{AssetList.Address2}}{{AssetList.Latitude}}{{AssetList.Longitude}}{{AssetList.Pincode}}

    Asset Name :- {{AssetList.AssetName}}

     {{AssetList.AssetId}}
    {{AssetList.CustomerName}}
    Customer Location ID {{AssetList.CustomerLocationId}}

    Address :-

    {{AssetList.Address1}}
    {{AssetList.Address2}}
    {{AssetList.string}}
    {{AssetList.Region}}
    TicketIdProject NameTemplateSkill SetStart TimeStateUser NameAddressAgeStatus
    {{tickets.TicketId}}{{tickets.ProjectName}}{{tickets.Template}}{{tickets.SkillSet}}{{tickets.StartTime | date: custdetailviewLatest.CustomDateformat}}{{tickets.State}}{{tickets.UserName}}{{tickets.Address1+\\\" \\\"+tickets.Address2}}{{tickets.TAT}}{{tickets.TicketStatus}}
    SelectSerial NumberProductProduct CategoryProduct WarrantyInvoice DateInvoice No.Invoice v..
    BS-AP250RAPAir PurifierBluestar Air PurifierInWarranty15-01-2023INV-15-01-0097,776
    BS-AP250RAPAir PurifierBluestar Air PurifierInWarranty15-01-2023INV-15-01-0097,776
    BS-AP250RAPAir PurifierBluestar Air PurifierInWarranty15-01-2023INV-15-01-0097,776
    BS-AP300DAIAIR CONDITIONERSBluestar WindowInWarranty14-01-2023INV-14-01-0097,776
    BS-AP300DAIAIR CONDITIONERSBluestar WindowInWarranty14-01-2023INV-14-01-0097,776
    BS-AP420OANAIR CONDITIONERSBluestar Inverter SplitOut Of Warranty16-01-2023INV-16-01-0097,776
    BS-AP420OANWATER PURIFIERSAlkaline PurifiersOut Of Warranty19-01-2023INV-19-01-0097,776
    \\\"\\\"
    Modified on : 14/Jan/23 6:11:25 PM
    Admin

    Survey Link

    View More

    https://login.mymobiforce.com/Customer_Detail_View_Latest/C0000000012
    \\\"\\\"
    Modified on : 15/Jan/23 6:11:30 PM
    Admin

    How can I help you, sir

    View More

    https://login.mymobiforce.com/Customer_Detail_View_Latest/C0000000012
    \\\"\\\"
    Modified on : 15/Jan/23 6:15:45 PM
    Customer

    Actually, my Water Purifier not working properly, so could you please help me with that.

    \\\"\\\"
    Modified on : 16/Jan/23 6:11:33 AM
    Admin

    can you please send me the invoice, it will help full for me to give you solution

    View More

    https://login.mymobiforce.com/Customer_Detail_View_Latest/C0000000012
    \\\"\\\"
    Modified on : 16/Jan/23 7:11:35 AM
    Customer

    blue_star_invoice_29012023.pdf

    View More

    https://login.mymobiforce.com/Customer_Detail_View_Latest/C0000000012

    \");\n$templateCache.put(\"app/CustomerNew/CustomerNew.html\",\"
    1. Home
    2. Customers
    \");\n$templateCache.put(\"app/DashboardDetail/dashboardDetail.html\",\"
    1. Home
    2. {{dashboardCtrl.report_title}}
               
               

    Click \\'Edit\\', then \\'Add Chart\\' to start creating your metrics and dimensions

    {{dashboardCtrl.tableCharts[tableId].ChartTitle}}
     
    {{rollup}}
    {{chart.ChartTitle}}

    {{dashboardCtrl.metricsCharts[chart.ChartId].value&&dashboardCtrl.metricsCharts[chart.ChartId].value.length>0?(dashboardCtrl.metricsCharts[chart.ChartId].value[$index].ValueType == \\'INR\\'?(dashboardCtrl.metricsCharts[chart.ChartId].value[$index].Value|currency:\\'₹\\'):dashboardCtrl.metricsCharts[chart.ChartId].value[$index].Value):\\\"NA\\\"}} 0\\\" class=\\\"text-success font-bold\\\">{{dashboardCtrl.metricsCharts[chart.ChartId].value[$index].ValueUnitAbbr}}

    {{dashboardCtrl.metricsCharts[chart.ChartId].value&&dashboardCtrl.metricsCharts[chart.ChartId].value.length>0?(dashboardCtrl.metricsCharts[chart.ChartId].value[$index].ValueType == \\'INR\\'?(main.round2Decimal(dashboardCtrl.metricsCharts[chart.ChartId].value[$index].Value)|currency:\\'₹\\'):main.round2Decimal(dashboardCtrl.metricsCharts[chart.ChartId].value[$index].Value)):\\\"NA\\\"}}

    {{dashboardCtrl.metricsCharts[chart.ChartId].value[$index].timevalue}}

    0) && dashboardCtrl.metricsCharts[chart.ChartId].value[$index].CompareResult\\\" class=\\\"matrix-number text-green\\\"> {{dashboardCtrl.metricsCharts[chart.ChartId].value[$index].ValueType == \\'INR\\'?(dashboardCtrl.metricsCharts[chart.ChartId].value[$index].ComparisonValue|currency:\\'₹\\'):dashboardCtrl.metricsCharts[chart.ChartId].value[$index].ComparisonValue}} 0\\\" class=\\\"text-green font-bold\\\">{{dashboardCtrl.metricsCharts[chart.ChartId].value[$index].ValueUnitAbbr}} 0) && !dashboardCtrl.metricsCharts[chart.ChartId].value[$index].CompareResult\\\" class=\\\"matrix-number text-danger\\\"> {{dashboardCtrl.metricsCharts[chart.ChartId].value[$index].ValueType == \\'INR\\'?(dashboardCtrl.metricsCharts[chart.ChartId].value[$index].ComparisonValue|currency:\\'₹\\'):dashboardCtrl.metricsCharts[chart.ChartId].value[$index].ComparisonValue}} 0\\\" class=\\\"text-danger font-bold\\\">{{dashboardCtrl.metricsCharts[chart.ChartId].value[$index].ValueUnitAbbr}} {{dashboardCtrl.metricsCharts[chart.ChartId].subtitles[$index]}}
    {{chart.ChartTitle}}
    {{chart.ChartTitle}}
    {{chart.ChartTitle}}
    {{chart.ChartTitle}}
    {{chart.ChartTitle}}
    {{col}}
    {{val}} {{val}}
    {{chart.ChartTitle}}
    {{chart.ChartTitle}}
    {{chart.ChartTitle}}
    {{chart.ChartTitle}}
    {{chart.ChartTitle}}
    {{col}}
    {{val}} {{val}}
    {{chart.ChartTitle}}
    {{chart.ChartTitle}}
    {{chart.ChartTitle}}

    {{chart.ChartTitle}}

    {{chart.ChartTitle}}

    {{chart.ChartTitle}}
    {{chart.ChartTitle}}
    {{chart.ChartTitle}}
    {{chart.ChartTitle}}
    \");\n$templateCache.put(\"app/Dashboard/Dashboard-small.html\",\"
    • {{UserDashboard.teamdata.jobsSummary.TotalJobs}}

      Total Jobs

    • ₹ {{UserDashboard.teamdata.paymentsSummary.TotalEarned}}

      Total Earning

    • 5

      Total Team

    Background Verified
    • {{VerificationDoc.DocumentName}}
    Skill Verified
    • {{skills.Skill}}
    \\\"profile\\\" \\\"profile\\\"

    {{UserDashboard.teamdata.userProfile.FirstName}} {{UserDashboard.teamdata.userProfile.LastName}}

    {{UserDashboard.teamdata.userProfile.Ratings.UserId}}

    ({{UserDashboard.teamdata.userProfile.Role}})

    • {{UserDashboard.TechnicianRating}}
    • Member Since {{UserDashboard.teamdata.userProfile.TechnicianActivationDate| date:\\'MMM dd, yyyy\\'}}
    {{UserDashboard.teamdata.userProfile.Address}}
    {{UserDashboard.teamdata.userProfile.State}}
    Jobs Summary

    {{UserDashboard.teamdata.jobsSummary.TotalJobs}}

    Total Jobs

    {{UserDashboard.teamdata.jobsSummary.Assignedjobs}}

    Assigned jobs

    {{UserDashboard.teamdata.jobsSummary.Completed}}

    Completed

    {{UserDashboard.teamdata.jobsSummary.Rejected}}

    Rejected

    {{UserDashboard.teamdata.jobsSummary.LeadAcceptance}} (%

    Lead Acceptance

    {{UserDashboard.teamdata.jobsSummary.CompletionSpeed}}

    Average Completion Speed

    {{UserDashboard.teamdata.jobsSummary.JobCompletionRate}} (%)

    Job Completion Rate

    {{UserDashboard.teamdata.jobsSummary.FirstResponseRate}} (%)

    First Response Time

    {{UserDashboard.teamdata.jobsSummary.AppointmentMetRate}} (%)

    Appointment Met Rate

    Payments Summary

    ₹ {{UserDashboard.teamdata.paymentsSummary.TotalEarned}}

    Total Earned

    ₹ {{UserDashboard.teamdata.paymentsSummary.TotalDueAmount}}

    Total Due Amount

    ₹ {{UserDashboard.teamdata.paymentsSummary.TotalPaid}}

    Total Paid

    ₹ {{UserDashboard.teamdata.paymentsSummary.TotalReject}}

    Total Reject

    ₹ {{UserDashboard.teamdata.paymentsSummary.TotalFailed}}

    Total Failed

    ₹ {{UserDashboard.teamdata.paymentsSummary.TotalInitial}}

    Total Initial

    ₹ {{UserDashboard.teamdata.paymentsSummary.TotalCollection}}

    Total Collection

    ₹ {{UserDashboard.teamdata.paymentsSummary.TotalService}}

    Total Service

    ₹ {{UserDashboard.teamdata.paymentsSummary.TotalHardware}}

    Total Hardware

    ₹ {{UserDashboard.teamdata.paymentsSummary.TotalBonus}}

    Total Bonus

    ₹ {{UserDashboard.teamdata.paymentsSummary.TotalPanelty}}

    Total Panelty

    ₹ {{UserDashboard.teamdata.paymentsSummary.TotalAllowance}}

    Total Allowance

    ₹ {{UserDashboard.teamdata.paymentsSummary.SecurityAmount}}

    Security Amount

    {{UserDashboard.teamdata.paymentsSummary.SecurityExpiryDate | date:\\'dd/MM/yy\\'}}

    Security Expiry Date

    {{UserDashboard.teamdata.paymentsSummary.SecurityDepositDate | date:\\'dd/MM/yy\\'}}

    ReCharge On

    Execution Summary

    {{UserDashboard.teamdata.executionSummary.AssignedNoAction}}

    Assigned No Action

    {{UserDashboard.teamdata.executionSummary.CCNAB}}

    CCNAB

    {{UserDashboard.teamdata.executionSummary.Cancelled}}

    Cancelled

    {{UserDashboard.teamdata.executionSummary.AppointmentBookedDay0}}

    Appointment Booked Day 0

    {{UserDashboard.teamdata.executionSummary.AppointmentBookedDay1}}

    Appointment Booked Day 1

    {{UserDashboard.teamdata.executionSummary.AppointmentBookedDay1Plus}}

    Appointment Booked Day1+

    {{UserDashboard.teamdata.executionSummary.AppointmentBreached}}

    Appointment Breached

    {{UserDashboard.teamdata.executionSummary.InTransit}}

    InTransit

    {{UserDashboard.teamdata.executionSummary.OnSite}}

    On Site

    {{UserDashboard.teamdata.executionSummary.OnHold}}

    On Hold

    Ratings

    {{UserDashboard.teamdata.userProfile.AverageRating.AverageRating}} average based on {{UserDashboard.teamdata.userProfile.AverageRating.totalCount}} reviews.


    5 star
    {{UserDashboard.AvgRating.FiveStar}}
    4 star
    {{UserDashboard.AvgRating.FourStar}}
    3 star
    {{UserDashboard.AvgRating.ThreeStar}}
    2 star
    {{UserDashboard.AvgRating.TwoStar}}
    1 star
    {{UserDashboard.AvgRating.OneStar}}
    Skill Test Summary
    SkillExperienceMarksTest DateBrandsStatusCatagoryCertificate
    {{skills.Skill}}{{skills.Experience}}{{skills.ResultScore}}{{skills.TestDate}}{{skills.BrandList}}{{skills.Status}}

    Total Jobs

    Assigned Jobs

    Completed

    Approved

    Rejected

    ANA

    CCNAB

    Cancelled

    ABD0

    ABD1

    ABD1+

    ABR

    InTransit

    On Site

    On Hold

     {{UserDashboard.upageindexCount}} - {{UserDashboard.userListLength}} of {{totalUsers}}
    Ticket IDTicket TypeAccountLocationAssigned DateTATJobs StatusCreation DateStatus Date
    {{workList.TicketID}}{{workList.TicketType}}{{workList.Account}}{{workList.Location}}{{workList.AssignedDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.TAT}}{{workList.JobsStatus}}{{workList.JobsCreationDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.InTransitDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.AssignedDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.OnSiteDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.AppointmentBookedDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.CompletionDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.OnHoldDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.RejectionDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.CancellationDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.ApprovedDate | date:\\'dd/MM/yy hh:mm a\\'}}
     {{UserDashboard.fpageindexCount}} - {{UserDashboard.financeListLength}} of {{totalFinList}}
    Total Base PriceTotal Payable AmountTotal CommissionTotal ServiceTotal HardwareTotal BonusTotal PaneltyTotal CollectionTotal AwallanceCashfree IdFailed ReasonStatus
    {{financeList.TotalBasePrice}}{{financeList.TotalPayableAmount}}{{financeList.TotalCommission}}{{financeList.TotalService}}{{financeList.TotalHardware}}{{financeList.TotalBonus}}{{financeList.TotalPanelty}}{{financeList.TotalCollection}}{{financeList.TotalAwallance}}{{financeList.CashfreeId}}{{financeList.FailedReason}}{{financeList.Status}}
    Job IDJob TypeProjectCustomerLocationTechnician NameFollow Up ReasonCreation DateStatusTATRating
    {{financesmry.jobID}}{{financesmry.jobType}}{{financesmry.project}}{{financesmry.customer}}{{financesmry.location}}{{financesmry.technicianName}}{{financesmry.followUpReason}}{{financesmry.creationDate | date: \\'dd-MMM-yyyy hh:mm:ss a\\'}}{{financesmry.status}}{{financesmry.tat}}{{financesmry.rating}}
    Skill Test Summary
    SkillExperienceMarksTest DateBrandsStatusCatagoryCertificate
    {{skills.Skill}}{{skills.Experience}}{{skills.ResultScore}}{{skills.TestDate}}{{skills.BrandList}}{{skills.Status}}
    Previous Company Details
    Company NameProject NameDesignationAccountDate of JoiningDate of RelievingExperience Letter
    {{previousCompany.CompanyName}}{{previousCompany.ProjectName}}{{previousCompany.Designation}}{{previousCompany.AccountName}}{{previousCompany.DateOfJoining | date:\\'dd-MMM-yyyy\\'}}{{previousCompany.DateOfRelieving | date:\\'dd-MMM-yyyy\\'}} \\\"\\\"
    Training Details
    Training NameTraining DateTraining ImageTraining Attendence
    {{Audittraining.TrainingName}}{{Audittraining.TrainingDate | date:\\'dd-MMM-yyyy\\'}} \\\"\\\" \\\"\\\"
    Ratings

    {{UserDashboard.reviewData.OverAllRating.AverageRating}} average based on {{UserDashboard.reviewData.OverAllRating.totalCount}} reviews.


    {{Reviews.CustomerName}}Source : MyMobiforce
    (Reviewed on {{Reviews.ReviewDate}})

    {{Reviews.AdditionalRemark}}

    Assets
    Equipment Details
    Equipment NameBrand NameView EquipmentItem Serial NumberManufactured OnExpired On
    {{toolDetail.ToolName}}{{toolDetail.BrandName}}{{toolDetail.ItemSerialNumber}}NA {{toolDetail.DateOfManufacturing}}{{toolDetail.ExpireDate}}
    Audit Details
    Audit SummaryAuditorAudited OnStatusReport
    {{auditDetail.AuditPurpose}}{{auditDetail.AuditorDetails.AuditorName}}{{auditDetail.AuditDate | date: \\'dd-MMM-yyyy\\'}}{{auditDetail.AuditResult}} {{auditDetail.AuditResult}} {{auditDetail.AuditResult}}
    \");\n$templateCache.put(\"app/Dashboard/Dashboard.html\",\"
    \\\"profile\\\" \\\"image-1\\\"
    {{UserDashboard.users.userProfile.FirstName}} {{UserDashboard.users.userProfile.LastName}}
    {{UserDashboard.users.userProfile.Ratings.UserId}}

    ({{UserDashboard.users.userProfile.Role}})

    {{UserDashboard.users.userProfile.Address}}, {{UserDashboard.users.userProfile.Pincode}}
    {{UserDashboard.TechnicianRating}}

    Verified & Activated by  {{UserDashboard.users.userProfile.ActivatedByName}} on {{UserDashboard.users.userProfile.TechnicianActivationDate | date: \\'dd MMM yyyy\\' }}

    Member since {{UserDashboard.users.userProfile.TechnicianActivationDate| date:\\'MMM dd, yyyy\\'}}
    Jobs Summary

    {{UserDashboard.users.jobsSummary.TotalJobs}}

    Total Jobs

    {{UserDashboard.users.jobsSummary.Assignedjobs}}

    Assigned jobs

    {{UserDashboard.users.jobsSummary.Completed}}

    Completed

    {{UserDashboard.users.jobsSummary.Rejected}}

    Rejected

    {{UserDashboard.users.jobsSummary.LeadAcceptance}} (%)

    Lead Acceptance

    {{UserDashboard.users.jobsSummary.CompletionSpeed}}

    Average Completion Speed

    {{UserDashboard.users.jobsSummary.JobCompletionRate}} (%)

    Job Completion Rate

    {{UserDashboard.users.jobsSummary.FirstResponseRate}} (%)

    First Response Time

    {{UserDashboard.users.jobsSummary.AppointmentMetRate}} (%)

    Appointment Met Rate

    Payments Summary

    ₹ {{UserDashboard.users.paymentsSummary.TotalEarned}}

    Total Earned

    ₹ {{UserDashboard.users.paymentsSummary.TotalDueAmount}}

    Total Due Amount

    ₹ {{UserDashboard.users.paymentsSummary.TotalPaid}}

    Total Paid

    ₹ {{UserDashboard.users.paymentsSummary.TotalReject}}

    Total Reject

    ₹ {{UserDashboard.users.paymentsSummary.TotalFailed}}

    Total Failed

    ₹ {{UserDashboard.users.paymentsSummary.TotalInitial}}

    Total Initial

    ₹ {{UserDashboard.users.paymentsSummary.TotalCollection}}

    Total Collection

    ₹ {{UserDashboard.users.paymentsSummary.TotalService}}

    Total Service

    ₹ {{UserDashboard.users.paymentsSummary.TotalHardware}}

    Total Hardware

    ₹ {{UserDashboard.users.paymentsSummary.TotalBonus}}

    Total Bonus

    ₹ {{UserDashboard.users.paymentsSummary.TotalPanelty}}

    Total Panelty

    ₹ {{UserDashboard.users.paymentsSummary.TotalAllowance}}

    Total Allowance

    ₹ {{UserDashboard.users.paymentsSummary.SecurityAmount}}

    Security Amount

    {{UserDashboard.users.paymentsSummary.SecurityExpiryDate | date:\\'dd/MM/yy\\'}}

    Security Expiry Date

    {{UserDashboard.users.paymentsSummary.SecurityDepositDate | date:\\'dd/MM/yy\\'}}

    ReCharge On

    Execution Summary

    {{UserDashboard.users.executionSummary.AssignedNoAction}}

    Assigned No Action

    {{UserDashboard.users.executionSummary.CCNAB}}

    CCNAB

    {{UserDashboard.users.executionSummary.Cancelled}}

    Cancelled

    {{UserDashboard.users.executionSummary.AppointmentBookedDay0}}

    Appointment Booked Day 0

    {{UserDashboard.users.executionSummary.AppointmentBookedDay1}}

    Appointment Booked Day 1

    {{UserDashboard.users.executionSummary.AppointmentBookedDay1Plus}}

    Appointment Booked Day1+

    {{UserDashboard.users.executionSummary.AppointmentBreached}}

    Appointment Breached

    {{UserDashboard.users.executionSummary.InTransit}}

    InTransit

    {{UserDashboard.users.executionSummary.OnSite}}

    On Site

    {{UserDashboard.users.executionSummary.OnHold}}

    On Hold

    Reviews
    {{Reviews.CustomerName}}
    {{Reviews.Average}}

    {{Reviews.AdditionalRemark}}

    Skill Test Summary
    SkillExperienceMarksTest DateBrandsStatusRe-TestInteraction VideoCertificate
    {{skills.Skill}}{{skills.Experience}}{{skills.ResultScore}}{{skills.TestDate | date:\\'dd-MMM-yyyy h:mm a\\'}}{{skills.BrandList}}{{skills.Status}}
    Legal Contract Details
    Legal Contract NameSigned DateSigned StatusView Document
    {{legalContract.LegalContractName}}{{legalContract.SignedDateTime | date:\\'dd-MMM-yyyy h:mm a\\'}}{{legalContract.SignedStatus}}
    End User License Agreement{{UserDashboard.users.userProfile.EndUserLicenseAgreement.CreatedOn | date:\\'dd-MMM-yyyy h:mm a\\'}}SignedNot Signed
    Self Declaration Agreement{{UserDashboard.users.userProfile.SelfDeclarationSignDate | date:\\'dd-MMM-yyyy h:mm a\\'}}SignedNot Signed
    Certificate
    \\\"\\\" \\\"profile\\\" \\\"profile\\\"
    • Cert. Name- {{TrainingAssessment.CertificateName}}
    • Cert. No- {{TrainingAssessment.CertificateNo}}
    • Cert. Issue Date- {{TrainingAssessment.CertificateIssueDate | date:\\'dd-MMM-yyyy\\' }}
    • Cert. Expiry Date- {{TrainingAssessment.CertificateExpiryDate | date:\\'dd-MMM-yyyy\\'}}
    • Cert. Name- example-1
    • Cert. No- 12331122
    • Cert. Issue Date- 23-12-2-20
    • Cert. Expiry Date- 23-12-2-22
    Ratings

    {{UserDashboard.users.userProfile.AverageRating.AverageRating}} average based on {{UserDashboard.users.userProfile.AverageRating.totalCount}} reviews.


    5 star
    4 star
    3 star
    2 star
    1 star
    Background Verification
    VerificationDocuments NameDocuments NumberVerification DateStatusDocument FrontDocument Back
    {{VerificationDoc.DocumentType}}{{VerificationDoc.DocumentName}}{{VerificationDoc.DocumentNo}}{{VerificationDoc.UpdatedOn| date:\\'dd-MMM-yyyy h:mm a\\'}} \\\"\\\"
    \\\"profile\\\"
    \\\"profile\\\"
    \\\"\\\"
    \\\"profile\\\"
    \\\"profile\\\"
    BankBank Information

    {{UserDashboard.users.userProfile.BankDetails.AccountHolderName}}

    {{UserDashboard.users.userProfile.BankDetails.bankName}}

    AC No- {{UserDashboard.users.userProfile.BankDetails.AccountNo}}

    IFSC No- {{UserDashboard.users.userProfile.BankDetails.IFSC}}

    UPI IDUPI Id{{UserDashboard.users.userProfile.BankDetails.UPIID}}{{UserDashboard.users.userProfile.BankDetails.VerifiedOn}}
    ₹ {{UserDashboard.paymentCount.TotalCollection}}

    Total Collection

    ₹ {{UserDashboard.paymentCount.TotalService}}

    Total Service

    ₹ {{UserDashboard.paymentCount.TotalHardware}}

    Total Hardware

    ₹ {{UserDashboard.paymentCount.TotalBonus}}

    Total Bonus

    ₹ {{UserDashboard.paymentCount.TotalPanelty}}

    Total Panelty

    ₹ {{UserDashboard.paymentCount.TotalAllowance}}

    Total Allowance

     {{UserDashboard.fpageindexCount}} - {{UserDashboard.financeListLength}} of {{totalFinList}}
    Total Base PriceTotal Payable AmountTotal CommissionTotal ServiceTotal HardwareTotal BonusTotal PaneltyTotal CollectionTotal AwallanceCashfree IdFailed ReasonStatus
    {{financeList.TotalBasePrice}}{{financeList.TotalPayableAmount}}{{financeList.TotalCommission}}{{financeList.TotalService}}{{financeList.TotalHardware}}{{financeList.TotalBonus}}{{financeList.TotalPanelty}}{{financeList.TotalCollection}}{{financeList.TotalAwallance}}{{financeList.CashfreeId}}{{financeList.FailedReason}}{{financeList.Status}}
    Job IDJob TypeProjectCustomerLocationTechnician NameFollow Up ReasonCreation DateStatusTATRating
    {{financesmry.jobID}}{{financesmry.jobType}}{{financesmry.project}}{{financesmry.customer}}{{financesmry.location}}{{financesmry.technicianName}}{{financesmry.followUpReason}}{{financesmry.creationDate | date: \\'dd-MMM-yyyy hh:mm:ss a\\'}}{{financesmry.status}}{{financesmry.tat}}{{financesmry.rating}}
    of 252 records

    Total Jobs

    Assigned Jobs

    Completed

    Approved

    Rejected

    ANA

    CCNAB

    Cancelled

    ABD0

    ABD1

    ABD1+

    ABR

    InTransit

    On Site

    On Hold

     {{UserDashboard.upageindexCount}} - {{UserDashboard.userListLength}} of {{totalUsers}}
    Ticket IDTicket TypeAccountLocationAssigned DateTATJobs StatusCreation DateStatus Date
    {{workList.TicketID}}{{workList.TicketType}}{{workList.Account}}{{workList.Location}}{{workList.AssignedDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.TAT}}{{workList.JobsStatus}}{{workList.JobsCreationDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.InTransitDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.AssignedDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.OnSiteDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.AppointmentBookedDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.CompletionDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.OnHoldDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.RejectionDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.CancellationDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.ApprovedDate | date:\\'dd/MM/yy hh:mm a\\'}}
    Skill Test Summary
    SkillExperienceMarksTest DateBrandsStatusRe-TestInteraction VideoCertificate
    {{skills.Skill}}{{skills.Experience}}{{skills.ResultScore}}{{skills.TestDate | date:\\'dd-MMM-yyyy h:mm a\\'}}{{skills.BrandList}}{{skills.Status}}
    Previous Company Details
    Company NameProject NameDesignationAccountDate of JoiningDate of RelievingExperience Letter
    {{previousCompany.CompanyName}}{{previousCompany.ProjectName}}{{previousCompany.Designation}}{{previousCompany.AccountName}}{{previousCompany.DateOfJoining | date:\\'dd-MMM-yyyy\\'}}{{previousCompany.DateOfRelieving | date:\\'dd-MMM-yyyy\\'}} \\\"\\\"
    Training Details
    Training NameTraining DateTraining ImageTraining Attendence
    {{Audittraining.TrainingName}}{{Audittraining.TrainingDate | date:\\'dd-MMM-yyyy\\'}} \\\"\\\" \\\"\\\"
    Authorized for Service Center
    Brand NameAdditional Brand NameProduct ServiceAdditional Product ServingTeam SizeTenureService Center AddressCertificate of AuthorizationTraining CertificatePhoto of Shop/office/Service Center
    {{AuthoDetail.BrandName}}{{AuthoDetail. BrandNameOther}}{{AuthoDetail.ProductServing}}{{AuthoDetail.ProductServingOther}}{{AuthoDetail.TeamSize}}{{AuthoDetail.Tenure}}{{AuthoDetail.ServiceCenterAddress}}\\\"\\\"\\\"\\\"\\\"\\\"
    Certificate
    \\\"\\\" \\\"profile\\\" \\\"profile\\\"
    Interaction Videos List
    TypeSkillUploaded ByUploaded OnVideo
    {{videoupload.Type}}{{videoupload.SkillName}}
    Ratings

    {{UserDashboard.reviewData.OverAllRating.AverageRating}} average based on {{UserDashboard.reviewData.OverAllRating.totalCount}} reviews.


    Overall Rating
    5 star
    {{UserDashboard.AvgRating.FiveStar}}
    4 star
    {{UserDashboard.AvgRating.FourStar}}
    3 star
    {{UserDashboard.AvgRating.ThreeStar}}
    2 star
    {{UserDashboard.AvgRating.TwoStar}}
    1 star
    {{UserDashboard.AvgRating.OneStar}}
    By Behaviour Rating
    Installation Service
    Safety Protocols
    Visit on Time
    Courteous & Respectful
    Professional Appearance
    Service Experience
    {{Reviews.CustomerName}}Source : MyMobiforce
    (Reviewed on {{Reviews.ReviewDate}})

    {{Reviews.AdditionalRemark}}

    Assets
    Equipment Details
    Equipment NameBrand NameView EquipmentItem Serial NumberManufactured OnExpired On
    {{toolDetail.ToolName}}{{toolDetail.BrandName}}{{toolDetail.ItemSerialNumber}}NA {{toolDetail.DateOfManufacturing}}{{toolDetail.ExpireDate}}
    Audit Details
    Audit SummaryAuditorAudited OnStatusReport
    {{auditDetail.AuditPurpose}}{{auditDetail.AuditorDetails.AuditorName}}{{auditDetail.AuditDate | date: \\'dd-MMM-yyyy\\'}}{{auditDetail.AuditResult}} {{auditDetail.AuditResult}} {{auditDetail.AuditResult}}
    All Team List
    ActionUser IDNameTotal CountOpen CountClose CountRoleAddress line 1CityStatePincodeStatusD-1 AvailabilityD-0 Attendance
    {{TeamDetail.UserId}}{{TeamDetail.Name}}{{TeamDetail.TotalCount}}{{TeamDetail.OpenCount}}{{TeamDetail.CloseCount}}{{TeamDetail.Role}}{{TeamDetail.Addressline1}}{{TeamDetail.PermanentCity}}{{TeamDetail.State}}{{TeamDetail.PermanentPinCode}}Inactive ActiveNot Available AvailableNot Available Available
    \");\n$templateCache.put(\"app/DashboardReportList/dashboardReportList.html\",\"
    • All {{dashReportCtrl.ReportsList.All}}
    • Favourites {{dashReportCtrl.ReportsList.Favourites}}
    • Shared {{dashReportCtrl.ReportsList.Shared}}
    • Scheduled {{dashReportCtrl.ReportsList.Scheduled}}
    Cancel
    By Skill
    Date Information


    By Exception Type
    Assigned UserName
    By State
    By City
    By Pincode
    Invalid PIN code. Please enter a 6-digit code.

    Share Report {{dashReportCtrl.SharedReportName}}

    Please enter the email id -

    \\' for user in dashReportCtrl.shareModel.getUserSuggestion($viewValue) | filter:dashReportCtrl.shareModel.removeSelectedUsers | filter:dashReportCtrl.shareModel.searchAsOr($viewValue)\\\" typeahead-focus-first=\\\"false\\\" typeahead-on-select=\\\"dashReportCtrl.shareModel.selectUserNameInToList($item)\\\">
    Please enter email whom to schedule this report.
    CC:
    \\' for user in dashReportCtrl.shareModel.getUserSuggestion($viewValue) | filter:dashReportCtrl.shareModel.removeSelectedUsers | filter:dashReportCtrl.shareModel.searchAsOr($viewValue)\\\" typeahead-focus-first=\\\"false\\\" typeahead-on-select=\\\"dashReportCtrl.shareModel.selectUserNameInCCList($item)\\\">
    BCC:
    \\' for user in dashReportCtrl.shareModel.getUserSuggestion($viewValue) | filter:dashReportCtrl.shareModel.removeSelectedUsers | filter:dashReportCtrl.shareModel.searchAsOr($viewValue)\\\" typeahead-focus-first=\\\"false\\\" typeahead-on-select=\\\"dashReportCtrl.shareModel.selectUserNameInBCCList($item)\\\">
    \\\"image\\\"

    {{user.FirstName}} {{user.LastName}} ({{user.UserId}})

    {{user.PersonalEmail}}

    {{user.UserId}}

    {{user.Role}} External
    0\\\">CC:
    \\\"image\\\"{{user.FirstName}} {{user.LastName}} ({{user.Role}}) {{user.PersonalEmail}}{{user.UserId}}
    0\\\">BCC:
    \\\"image\\\"{{user.FirstName}} {{user.LastName}} ({{user.Role}}) {{user.PersonalEmail}}{{user.UserId}}
    Please enter message.
    Attach report asin mail body
    Attach report in mail body

    Share Report to Others

    To:
    \\' for user in dashReportCtrl.shareModel.getUserSuggestion($viewValue) | filter:dashReportCtrl.shareModel.removeSelectedUsers | filter:dashReportCtrl.shareModel.searchAsOr($viewValue)\\\" typeahead-focus-first=\\\"false\\\" typeahead-on-select=\\\"dashReportCtrl.shareModel.selectUserNameInToList($item)\\\">
    Please enter email whom to schedule this report.
    CC:
    \\' for user in dashReportCtrl.shareModel.getUserSuggestion($viewValue) | filter:dashReportCtrl.shareModel.removeSelectedUsers | filter:dashReportCtrl.shareModel.searchAsOr($viewValue)\\\" typeahead-focus-first=\\\"false\\\" typeahead-on-select=\\\"dashReportCtrl.shareModel.selectUserNameInCCList($item)\\\">
    BCC:
    \\' for user in dashReportCtrl.shareModel.getUserSuggestion($viewValue) | filter:dashReportCtrl.shareModel.removeSelectedUsers | filter:dashReportCtrl.shareModel.searchAsOr($viewValue)\\\" typeahead-focus-first=\\\"false\\\" typeahead-on-select=\\\"dashReportCtrl.shareModel.selectUserNameInBCCList($item)\\\">
    \\\"image\\\"

    {{user.FirstName}} {{user.LastName}} ({{user.UserId}})

    {{user.PersonalEmail}}

    {{user.UserId}}

    {{user.Role}} External
    0\\\">CC:
    \\\"image\\\"{{user.FirstName}} {{user.LastName}} ({{user.Role}}) {{user.PersonalEmail}}{{user.UserId}}
    0\\\">BCC:
    \\\"image\\\"{{user.FirstName}} {{user.LastName}} ({{user.Role}}) {{user.PersonalEmail}}{{user.UserId}}
    Please enter message.
    Attach report in mail body

    Schedule Report {{ dashReportCtrl.scheduleModel.uniqueId}}

    {{schedules.uniqueId}}
    Schedule Report Name:
    Please enter schedule report name.
    Schedule Frequency
    Please select time.
    Please select time.
    Please select time.
    Please select time.
    Pull Data In Report

    {{dashReportCtrl.scheduleModel.pull_data.calculate_range()}}

    {{dashReportCtrl.scheduleModel.pull_data.calculate_range()}}

    {{dashReportCtrl.scheduleModel.pull_data.calculate_range()}}

    {{dashReportCtrl.scheduleModel.pull_data.calculate_range()}}

    {{dashReportCtrl.scheduleModel.pull_data.calculate_range()}}

    {{dashReportCtrl.scheduleModel.pull_data.calculate_range()}}
    Please enter valid day value.
    To
    \\' for user in dashReportCtrl.shareModel.getUserSuggestion($viewValue) | filter:dashReportCtrl.shareModel.removeSelectedUsers | filter:dashReportCtrl.shareModel.searchAsOr($viewValue)\\\" typeahead-focus-first=\\\"false\\\" typeahead-on-select=\\\"dashReportCtrl.shareModel.selectUserNameInToList($item)\\\">
    Please enter email whom to schedule this report.
    CC
    \\' for user in dashReportCtrl.shareModel.getUserSuggestion($viewValue) | filter:dashReportCtrl.shareModel.removeSelectedUsers | filter:dashReportCtrl.shareModel.searchAsOr($viewValue)\\\" typeahead-focus-first=\\\"false\\\" typeahead-on-select=\\\"dashReportCtrl.shareModel.selectUserNameInCCList($item)\\\">
    BCC
    \\' for user in dashReportCtrl.shareModel.getUserSuggestion($viewValue) | filter:dashReportCtrl.shareModel.removeSelectedUsers | filter:dashReportCtrl.shareModel.searchAsOr($viewValue)\\\" typeahead-focus-first=\\\"false\\\" typeahead-on-select=\\\"dashReportCtrl.shareModel.selectUserNameInBCCList($item)\\\">
    0\\\">To
    \\\"image\\\"

    {{user.FirstName}} {{user.LastName}} ({{user.UserId}})

    {{user.PersonalEmail}}

    {{user.UserId}}

    {{user.Role}} External
    0\\\">CC
    \\\"image\\\"

    {{user.FirstName}} {{user.LastName}} ({{user.UserId}})

    {{user.PersonalEmail}}

    {{user.UserId}}

    {{user.Role}} External
    0\\\">BCC
    \\\"image\\\"

    {{user.FirstName}} {{user.LastName}} ({{user.UserId}})

    {{user.PersonalEmail}}

    {{user.UserId}}

    {{user.Role}} External
    Please enter message.
    Attach report in mail body
    Attach report in Excel
    • {{userActivity.primaryReason}}
      {{userActivity.ReasonComment}}
      {{userActivity.userName}} {{userActivity.dateTime}}
    To
    \\' for user in dashReportCtrl.shareModel.getUserSuggestion($viewValue) | filter:dashReportCtrl.shareModel.removeSelectedUsers | filter:dashReportCtrl.shareModel.searchAsOr($viewValue)\\\" typeahead-focus-first=\\\"false\\\" typeahead-on-select=\\\"dashReportCtrl.shareModel.selectUserNameInToList($item)\\\">
    Please enter email whom to schedule this report.
    CC
    \\' for user in dashReportCtrl.shareModel.getUserSuggestion($viewValue) | filter:dashReportCtrl.shareModel.removeSelectedUsers | filter:dashReportCtrl.shareModel.searchAsOr($viewValue)\\\" typeahead-focus-first=\\\"false\\\" typeahead-on-select=\\\"dashReportCtrl.shareModel.selectUserNameInCCList($item)\\\">
    BCC
    \\' for user in dashReportCtrl.shareModel.getUserSuggestion($viewValue) | filter:dashReportCtrl.shareModel.removeSelectedUsers | filter:dashReportCtrl.shareModel.searchAsOr($viewValue)\\\" typeahead-focus-first=\\\"false\\\" typeahead-on-select=\\\"dashReportCtrl.shareModel.selectUserNameInBCCList($item)\\\">
    0\\\">To
    \\\"image\\\"

    {{user.FirstName}} {{user.LastName}} ({{user.UserId}})

    {{user.PersonalEmail}}

    {{user.UserId}}

    {{user.Role}} External
    0\\\">CC
    \\\"image\\\"

    {{user.FirstName}} {{user.LastName}} ({{user.UserId}})

    {{user.PersonalEmail}}

    {{user.UserId}}

    {{user.Role}} External
    0\\\">BCC
    \\\"image\\\"

    {{user.FirstName}} {{user.LastName}} ({{user.UserId}})

    {{user.PersonalEmail}}

    {{user.UserId}}

    {{user.Role}} External
    Please enter message.
    \");\n$templateCache.put(\"app/DeviceInfo/DeviceInfo.html\",\"

    Device Information

    \");\n$templateCache.put(\"app/DialerList/DialerList.html\",\"
    1. Home
    2. Dialer List
    NumberNameTotal Call DurationTimeStatusDigitsRecording
    +9198786543Avinsh Gupta00:02:3229th January 2024 , 01.00 PMCompleted1-2-3
    +9198786543Avinsh Gupta00:02:3229th January 2024 , 01.00 PMCompleted1-2-3
    +9198786543Avinsh Gupta00:02:3229th January 2024 , 01.00 PMCompleted1-2-3
    +9198786543Avinsh Gupta00:02:3229th January 2024 , 01.00 PMCompleted1-2-3
    +9198786543Avinsh Gupta00:02:3229th January 2024 , 01.00 PMCompleted1-2-3
    \");\n$templateCache.put(\"app/DirectSaleToCustomer/DirectSaleToCustomer.html\",\"
    1. Home
    2. Direct Sale To Customer
    = 48 && event.charCode <= 57\\\" aria-invalid=\\\"false\\\">
    Consumer Details
    Consumer IDAccount NameContact NumberAlternate Consumer No.EmailAccount TypeConsumer TypeAddressCityStatePinCodeAddress Type
    {{directsalecntrl.consumerData.ConsumerId}}{{directsalecntrl.consumerData.ConsumerFirstName}} {{directsalecntrl.consumerData.ConsumerLastName}}{{directsalecntrl.consumerData.ConsumerContact}}{{directsalecntrl.consumerData.ConsumerAlternateContact}}{{directsalecntrl.consumerData.PersonalEmail}}{{directsalecntrl.consumerData.ConsumerAccountType}}{{directsalecntrl.consumerData.ConsumerType}}{{directsalecntrl.consumerAddress.strAddress1}}, {{directsalecntrl.consumerAddress.strAddress2}}{{directsalecntrl.consumerAddress.strCity}}{{directsalecntrl.consumerAddress.strState}}{{directsalecntrl.consumerAddress.strPostalCode}}{{directsalecntrl.consumerAddress.strAddressType}}

    No Account Found

    Parts Details
    Bill View
     {{directsalecntrl.countdpageindexCount}} - {{directsalecntrl.myStockListLength}} of {{totalInventory}}
    Part IDBrandPart GroupPart Sub-groupPart NameSKU IDGood StockService Center Price (₹)Customer Price (₹)Action
    {{inventorystock.strMMFPartId}}{{inventorystock.strPartBrand}}{{inventorystock.strPartCategoryGroup}}{{partsubgroup}}{{inventorystock.strPartName}}{{ inventorystock.strSKUId}}{{inventorystock.nTotalGoodStock}}{{inventorystock.dPartDiscountedPrice}}{{inventorystock.dPartCustomerPrice}}

    S.No.PartQuantityPrice (₹)Total (₹)Action
    {{ $index + 1 }}{{ item.strPartName }}{{ item.dPartDiscountedPrice}}{{ (item.dPartDiscountedPrice * (item.selectedQuantity || 0)) | number:2 }}
    Total Amount (₹){{ directsalecntrl.totalAmount }}
    GST (18%){{ directsalecntrl.gst }}
    Grand Total (₹){{ directsalecntrl.finalTotal}}
    Create Consumer
    Please select a Title.
    Please enter a First Name.
    Please enter a Last Name.
    Please enter a Contact No.
    Please enter a valid email
    Please select a consumer type
    Please select a Address Type
    Please enter address line 1
    Please enter address line 2
    =48 && event.charCode <=57\\\">
    Please enter pincode Please enter 6 digit number
    Please Select State
    Please Select City

    Fetch Pincode By Area
    Please Select State.
    Please Select City.
    Please Select Area.
    Please Select Pincode.
    \");\n$templateCache.put(\"app/ECommerce/ExtendedWarranty.html\",\"

    Extended Warranty

    Available Plan

    Plan Duration

    ₹ 699 

    The plan only covers washing machine purchased on or after 27 Dec 2019

    Extended Warranty Features

    Extends your manufacturer\\'s warranty to make your Washing Machine last longer

    Covers Malfunctions & Breakdowns

    Free @Home Service

    Repair or replacement guaranteed. If we cant repair it in time, you get a Free Replacement

    PLAN Coverage
    1st YEAR2nd YEAR3rd YEAR4th YEAR
    Manufacturer Warranty1 Year Extended Warranty
    \");\n$templateCache.put(\"app/ECommerce/ExtendedWarrantyPayment.html\",\"

      Payment

    Rs 699

    View Price Details

    \");\n$templateCache.put(\"app/ECommerce/ExtendedWarrantySummary.html\",\"

      Order Summary

    Extended Warranty Plan
    BrandWhirlpool
    CategoryWashing Machine
    TechnologyAutomatic
    Size6.5 Kg
    Price Range10001 -20000
    Protection Duration1 Year
    Amount₹ 699

    ₹ 699

    Personnal Details for Certificate

      The Washing Machine has been purchased on or after 27 Dec 2019

     The purchased device is not broken and is in working condition before the plan purchase.

    \");\n$templateCache.put(\"app/ECommerce/ExtendedWarrantyThnku.html\",\"

    Order Confirmed

    Hi Ankur Sharma ,

    Order Successfully Placed

    We are pleased to confirm your extended warranty for 1 Year plan order no.
    MMF676345787454
    Thankyou for shipping with MYMobiforce !

    \");\n$templateCache.put(\"app/ECommerce/ecommerce_Ariel_product_details.html\",\"

    Ariel Complete Detergent Washing Powder - 1 kg with Free Detergent Washing Powder - 500 g

    4.3
      12,955 Ratings & 3440 Reviews

    ₹248  ₹372  33% off


    Product description

    Ariel Complete Detergent Powder has been especially designed for semi-automatic washing machines and hand wash.Ariel Complete provides brilliant cleaning by removing tough stains in just 1 wash .Ariel Colour Care has New Oxi-stain fighters for clothes to stay clean and stain-free wash after wash.Ariel is the world’s no. 1 brand recommended by washing machine manufacturers like LG, Whirlpool, Panasonic, etc

    Warranty
    Month & Year of Mnufactured 06-2999
    Description lists
    • Item Form : Powder
    • Scent : Fresh
    • Specific Uses For Product: Stain Remover, Cleaning
    • Skin Type : All
    \");\n$templateCache.put(\"app/ECommerce/ecommerce_Home.html\",\"

      Product Category

    WASHING
    MACHINE
    TELEVISION
    KITCHEN
    APPLIANCES
    AIR
    CONDITIONERS
    HOME
    APPLIANCES
    REFRIGERATORS
    GEYSER
    INVERTORS
    Vaccum Cleaners

    Home

    Cart

    Setting

    Profile

      Filters

    Clear Filters

    \");\n$templateCache.put(\"app/ECommerce/ecommerce_HomeBrand.html\",\"

    Product Brands

    Home

    Cart

    Setting

    Profile

    \");\n$templateCache.put(\"app/ECommerce/ecommerce_Payment.html\",\"

      Payment

    Address

    Order Summary

    Payment

    Rs 386

    View Price Details

    \");\n$templateCache.put(\"app/ECommerce/ecommerce_Thnku.html\",\"

    Order Confirmed

    Hi Ankur Sharma ,

    Order Successfully Placed

    Your order will be delivered by Tue 30 June
    2020
    We are pleased to confirm your order no.
    MMF676345787454
    Thankyou for shipping with MYMobiforce !

    \");\n$templateCache.put(\"app/ECommerce/ecommerce_cart.html\",\"

      My Cart (1)

    (1) items
    Items in your cart
    KingMatters Front Loading Washing...

    ₹ 386  ₹ 999   65% off

    KingMatters Washing machine covers
    your washing machine clean when
    Foldable to small size when not.

    Description lists

    Made of: PVC

    Type: Front Loading Washing Machine

    Size: 62 cm x 82 cm x 61 cm

      Save for Later   Remove item
    Price Details
    Price ( 1 items )Rs 386
    Delivery FeeFREE
    Total Amount386

    Rs 386

    View Price Details

    \");\n$templateCache.put(\"app/ECommerce/ecommerce_ordersummary.html\",\"

      Order Summary

    Address

    Order Summary

    Payment

    Ankur Sharma

    1/1579 A New Patel Nagar
    Saharanpur - 247001
    8987674653

    KingMatters Front Loading Washing...

    ₹ 386  ₹ 999   65% off

    KingMatters Washing machine covers
    your washing machine clean when
    Foldable to small size when not.

    Description lists

    Made of: PVC

    Type: Front Loading Washing Machine

    Size: 62 cm x 82 cm x 61 cm

    Price Details
    Price ( 1 items )Rs 386
    Delivery FeeFREE
    Total Amount386

    Rs 386

    View Price Details

    \");\n$templateCache.put(\"app/ECommerce/ecommerce_placeorder.html\",\"

      Address

    Address

    Order Summary

    Payment

    Tap to auto fill the address fields

    \");\n$templateCache.put(\"app/ECommerce/ecommerce_product_details.html\",\"

    KingMatters Front Loading Washing Machine Cover (Brown, Multi)

    4.6
      8 Ratings & 1 Reviews

    ₹358  ₹999  64% off


    Product description

    KingMatters Washing machine covers Keep your washing machine clean when not in use with this convenient cover. Made in India made with polyester makes it longlasting. Zipper on top which make it easily remove and put on. Foldable to small size when not in use to store on a shelf or in a cabinet. Suitable for Top load automatic machine. Gaurnteed Geniune Top quality than other brand.

    Warranty
    Month & Year of Mnufactured 06-2999
    Description lists
    • Made of: PVC
    • Type: Front Loading Washing Machine
    • Size: 62 cm x 82 cm x 61 cm
    • Sales Package: 1 PCwashing machine cover for IFB 7.5 kg Front Loading Elite WX (Multicolour)
    \");\n$templateCache.put(\"app/ECommerce/ecommerce_products_grid.html\",\"

      Washing Machine Accesories

    \\\"image\\\"

    Ariel Complete Detergent Washing Powder - 1 kg with Free Detergent Washing Powder - 500 g

    Pack of 1
    4.3
    (955)

    ₹248  ₹372   33% off

    \\\"image\\\"

    KingMatters Front Loading Washing Machine Cover (Brown, Multi)

    Pack of 1
    4.2
    (351)

    ₹120  ₹150   20% off

    \\\"image\\\"

    KingMatters Front Loading Washing Machine Cover (Brown, Multi)

    Pack of 1
    4.2
    (351)

    ₹120  ₹150   20% off

    \\\"image\\\"

    KingMatters Front Loading Washing Machine Cover (Brown, Multi)

    Pack of 1
    4.2
    (351)

    ₹120  ₹150   20% off

    \\\"image\\\"

    KingMatters Front Loading Washing Machine Cover (Brown, Multi)

    Pack of 1
    4.2
    (351)

    ₹120  ₹150   20% off

    \\\"image\\\"

    KingMatters Front Loading Washing Machine Cover (Brown, Multi)

    Pack of 1
    4.2
    (351)

    ₹120  ₹150   20% off

    \\\"image\\\"

    KingMatters Front Loading Washing Machine Cover (Brown, Multi)

    Pack of 1
    4.2
    (351)

    ₹120  ₹150   20% off

    \\\"image\\\"

    KingMatters Front Loading Washing Machine Cover (Brown, Multi)

    Pack of 1
    4.2
    (351)

    ₹120  ₹150   20% off

    \\\"image\\\"

    KingMatters Front Loading Washing Machine Cover (Brown, Multi)

    Pack of 1
    4.2
    (351)

    ₹120  ₹150   20% off

    \\\"image\\\"

    KingMatters Front Loading Washing Machine Cover (Brown, Multi)

    Pack of 1
    4.2
    (351)

    ₹120  ₹150   20% off

    \\\"image\\\"

    KingMatters Front Loading Washing Machine Cover (Brown, Multi)

    Pack of 1
    4.2
    (351)

    ₹120  ₹150   20% off

    \\\"image\\\"

    KingMatters Front Loading Washing Machine Cover (Brown, Multi)

    Pack of 1
    4.2
    (351)

    ₹120  ₹150   20% off

    \\\"image\\\"

    KingMatters Front Loading Washing Machine Cover (Brown, Multi)

    Pack of 1
    4.2
    (351)

    ₹120  ₹150   20% off

    Home

    Setting

    Profile

      Filters

    Clear Filters

    \");\n$templateCache.put(\"app/ECommerce/newyearclock.html\",\"
    \\\"Italian
    Rohit Kumar from Product Says: Can\\'t wait for the New Year scene. Join me for the New Year Bash, Guys
    Deepika Singh from HR says: This is the place to be. Join us in welcoming the New Year, party people.
    Sunil Kumar from Onboarding says: Can\\'t wait. Bring it on.
    Click Here to Attend the Function
    \");\n$templateCache.put(\"app/EmailAdapterHistory/EmailAdapterHistory.html\",\"
    1. Home
    2. Email History Management
    \");\n$templateCache.put(\"app/EmployeeShiftMapping/EmployeeShiftMap.html\",\"

    All User\\'s List

    \\\"image\\\"

    User Name: {{fixedUsers.UserName}}

    User Id: {{fixedUsers.UserId}}

    Experienced : Yes

    Experienced : No

    • Normal Shifts
    • OverTime
    Shift IDShift NameLocationDepartmentRoleStatusStart TimeEnd TimeAssigned ToShift Running TimeAction
    {{bGverifySlot.ShiftId}}{{bGverifySlot.ShiftName}}{{bGverifySlot.LocationName}}{{bGverifySlot.DepartmentName}}{{bGverifySlot.Role}}{{bGverifySlot.ShiftStatus}}{{bGverifySlot.StartDate | date:\\'dd/MMM/yyyy HH:mm:ss\\'}}{{bGverifySlot.EndDate | date:\\'dd/MMM/yyyy HH:mm:ss\\'}}{{bGverifySlot.AssignedTo}}{{bGverifySlot.ShiftRunningTime}}
     {{ESMCntrl.pageindexCount}} - {{ESMCntrl.shiftsListLength}} of {{totalTableShifts}}
    Shift IDShift NameLocationDepartmentRoleStatusStart TimeEnd TimeAssigned ToShift Running TimeAction
    {{bGverifySlot.ShiftId}}{{bGverifySlot.ShiftName}}{{bGverifySlot.LocationName}}{{bGverifySlot.DepartmentName}}{{bGverifySlot.Role}}{{bGverifySlot.ShiftStatus}}{{bGverifySlot.StartDate | date:\\'dd/MMM/yyyy HH:mm:ss\\'}}{{bGverifySlot.EndDate | date:\\'dd/MMM/yyyy HH:mm:ss\\'}}{{bGverifySlot.AssignedTo}}{{bGverifySlot.ShiftRunningTime}}
     {{ESMCntrl.pageindexCount}} - {{ESMCntrl.shiftsListLength}} of {{totalTableShifts}}
    \");\n$templateCache.put(\"app/EscalationAlert/EscalationAlert.html\",\"
    1. Home
    2. Escalation Alert
      Create an Alert
    Create A Permission
    Please select role
    Please select time
    Please select channel



    Please enter valid phone no.
    {{userList.PersonalEmail}}{{userList.ContactNumber}}{{userList.TimeDuration}}
    Please enter message
    Please enter message.
    Create A Permission
    Email Preview



    Please enter message.
    \");\n$templateCache.put(\"app/EscalationAlert/LinkedTicket.html\",\"
    1. Home
    2. Escalation Alert
      Create an Alert
    Create A Permission
    Email Preview



    Aditya.kaushik28@gmail.com898767656540 min
    Aditya.kaushik28@gmail.com898767656540 min
    Aditya.kaushik28@gmail.com898767656540 min
    Aditya.kaushik28@gmail.com898767656540 min
    Please enter message.
    \");\n$templateCache.put(\"app/FLTechnicianProfile/FLTechnicianProfile.html\",\"
    1. Home
    2. Team Profile
    \\\"profile\\\" \\\"profile\\\"

    Freelancer with 100 Jobs

    From ,

    Member Since - 10 Aug, 19

    Avg Response Rate - 90%

    Affiliated By -

    \\\"profile\\\" \\\"profile\\\" \\\"profile\\\"

    \\\"image\\\" \\\"image\\\"

    Job Dashboard

    150

    Total Jobs

    75

    Assigned Job

    50

    Total Points Earned
    90%

    Lead Acceptance

    82%

    Job Completion

    10%

    Job Rejection

    Earning Dashboard

    INR 10000

    Total Earning

    INR 8000

    This Month

    INR 3000

    Avg Job Price

    Background verified by MMF

    Identity
    Address
    Criminal
    Insured

    Skills verified by MMF

    RFLOS Survey
    IWAN Survey
    RFI_Survey
    More...

    {{NewTeamProfile.averageRate}} out of 5 stars

    Average Ratings  

    4.7


    \\\"image\\\"
    Ajay Kumar

    \\\"Great job\\\"

    More Comments

    \\\"profile\\\"

    5 Times

    Mr. Performer of the Day

    \\\"profile\\\"

    2 Times

    Man of the Match

    \\\"profile\\\"

    4 Times

    Mr Consistent

    \\\"profile\\\"

    14 Times

    Mr Responsive

    Broadband Survey
    Beginner
    DRIVE TEST AND OPTIMIJATION
    Intermediate
    SCVT_Drive_Test
    Beginner
    RFI_Survey
    Advanced
    RFLOS Survey
    Intermediate
    IWAN Survey
    Advanced
    Job IDJob TypeProjectCustomerLocationPublish DateAssign DateStatusPlannedStartDateActualStartDateSLAStatusTATRating
    Invoice NoStatusInvoice DateTicket idProject NameDescriptionAccount NameFreelancer PriceCompleted dateAgeRemark
    IN_11420121700000085New17/12/2020T1140000010052Cycle InstalaltionInstallation and DemoJeeves Consumer Services460.0001/01/00010Test Remark
    IN_11420121700000083New17/12/2020T1140000010177Cycle InstalaltionInstallation and DemoJeeves Consumer Services460.0001/01/00010My Test Remark
    IN_11420121700000081New17/12/2020T1140000010193Fan Geyser Inverter ServicesInstallation and DemoJeeves Consumer Services364.8001/01/00010New Remark
    IN_11420121700000079New17/12/2020T1140000010201Fan Geyser Inverter ServicesInstallation and DemoJeeves Consumer Services364.8001/01/00010Test Remark

    SkillSet _____________________________________________________________________________

    SkillExprienceBrandsStatusMarksCertificate
    RFLOS Survey2 Year\\\"profile\\\"Pass8/10
    RFI_Survey2.5 Year\\\"profile\\\"Pass7/10\\\"profile\\\"
    IWAN Survey1 YearFail3/10
    Broadband Survey3 Year\\\"profile\\\"Pass8/10

    Certificates _____________________________________________________________________________

    1 / 2
    2 / 2

    \\\"Skill
    \\\"MyMobiforce

    Address ______________________________________

    C22 A

    Indirapuram

    Ghaziabad

    Uttar Padesh 201301

    Bank Account Deatils _________________________

    Account No. - 123124134

    IFSC Code - IFC0001

    Account Holder Name - Dinesh Chaurasiya

    Bank Name - ICICI Bank

    Equipments _______________________________

    Hachsaw
    Safety Goggles
    File
    Ball and hex key sets

    Assets _____________________________________

    Laptop
    Smart Phone
    Bike
    ×
    \\\"profile\\\"
    \");\n$templateCache.put(\"app/FVLeadManagement/FVLeadManagement.html\",\"
    1. Home
    2. Lead Management
    Total Leads
    Incoming Leads
    Accepted Bids
    Rejected Bids
    {{FVLeadManagementCtrl.pageindexCount}} to {{FVLeadManagementCtrl.ticketListLength}} of {{totalTicketUsers}}
    SelectTicket idDistance (KM)Rate (INR)SkillStateCityPINReceived OnExpired OnStatusBonus & PenaltyClosure Date
    View Bonus & Panelties

    \");\n$templateCache.put(\"app/FVLocationConfiguration/FVLocationConfiguration.html\",\"
    1. Home
    2. Freelancer Vendor Location Configuration
    Please Select Location Type
    Please Select Location
    {{uniquestate}}{{$last ? \\'\\' : \\', \\'}}
    \");\n$templateCache.put(\"app/Forgot password/forgot_password.html\",\"

    Forgot password

    Enter your email address.Your password will be sent to your registered mobile number and email address.

    Copyright MobiForce © 2020
    \");\n$templateCache.put(\"app/FreelancerProfile/FreelancerProfile.html\",\"
    1. Home
    2. Freelancer Profile
    \\\"Planning
    \");\n$templateCache.put(\"app/FreelancerTechnicianProfile/FreelancerTechnicianProfile.html\",\"

    Freelancer Technician Profile

    User - {{FreelancerTechnicianProfile.users.UserStatus}}
    \\\"profile\\\" \\\"profile\\\"

    {{FreelancerTechnicianProfile.users.FirstName}} {{FreelancerTechnicianProfile.users.LastName}}
    {{FreelancerTechnicianProfile.users.UserId}}

    Designation  -

    Email  -

    Phone No.  -

    {{FreelancerTechnicianProfile.users.Experience}} Year of Experience

    Source  -

    {{FreelancerTechnicianProfile.users.JobApproved}}


    Total Jobs

    {{FreelancerTechnicianProfile.userbalance.AvailableBalance.toFixed(2)}}


    Balance

    {{FreelancerTechnicianProfile.customerrating}}


    Average Rating


    End User License Agreement


    Self Declaration Agreement


    Self Declaration Agreement - Not Submitted


    Background Verification Report


    Background Verification Report - Not Done


    Certificate No: {{FreelancerTechnicianProfile.users.InsuranceCertificateNumber}}
    Policy No: {{FreelancerTechnicianProfile.users.InsurancePolicyNumber}}
    Start date:{{FreelancerTechnicianProfile.users.InsuranceStartDate}}
    End date:{{FreelancerTechnicianProfile.users.InsuranceEndDate}}
    {{FreelancerTechnicianProfile.users.ContractSignDate | date: FreelancerTechnicianProfile.CustomDateformat}}
    Contract Not Sign

    Contract Sign Date
    {{FreelancerTechnicianProfile.users.ContractSignDate | date: FreelancerTechnicianProfile.CustomDateformat}}
    Contract Not Sign

    Contract Sign Date

    Verified & Activated by  {{FreelancerTechnicianProfile.users.UpdatedByName}} on {{FreelancerTechnicianProfile.users.ActivationDate | date: \\'dd MMM yyyy\\' }}

    \\\"image\\\"

    Reliability

    \\\"image\\\"

    About

    {{FreelancerTechnicianProfile.users.Experience}} Year of Experience

    \\\"image\\\"

    Address

    {{FreelancerTechnicianProfile.users.CurrentAdd1}} , {{FreelancerTechnicianProfile.users.CurrentAdd2}} , {{FreelancerTechnicianProfile.users.CurrentCity}} , {{FreelancerTechnicianProfile.users.CurrentState}} , {{FreelancerTechnicianProfile.users.CurrentPinCode}}

    \\\"image\\\"

    Skill Set

    \\\"image\\\"

    Equipments

    \\\"image\\\"

    Assets

    \\\"image\\\"

    Type of Work

    \\\"image\\\"

    Work Locations

    \\\"image\\\"

    Equipment Details

    Equipment NameVerification StatusView EquipmentItem Serial NumberDate Of Manufacturing
    {{assettool.ToolName}}{{assettool.VerificationStatus}} {{assettool.VerificationStatus}} {{assettool.VerificationStatus}}{{assettool.ItemSerialNumber}}NA {{assettool.DateOfManufacturing}}
    Equipment Audit StatusEquipment Audited OnEquipment Audited ByEquipment Audit Report
    {{Audittool.AuditResult}} {{Audittool.AuditResult}}{{Audittool.AuditDate | date:\\'dd/MM/yyyy\\'}}{{Audittool.AuditorDetails.AuditorName}}
    \\\"image\\\"

    Previous Company Details

    Company NameWork LocationProject NameDesignationAccountDate of JoiningDate of RelievingExperience Letter
    {{previousCompanyDetail.CompanyName}}{{previousCompanyDetail.WorkLocation}}{{previousCompanyDetail.ProjectName}}{{previousCompanyDetail.Designation}}{{previousCompanyDetail.AccountName}}{{previousCompanyDetail.DateOfJoining | date:\\'dd/MM/yyyy\\'}}{{previousCompanyDetail.DateOfRelieving | date:\\'dd/MM/yyyy\\'}} \\\"\\\"
    Experience Verification StatusExperience Verified OnExperience Verified ByExperience Verification Report
    {{AuditExperience.AuditResult}} {{AuditExperience.AuditResult}}{{AuditExperience.AuditDate | date:\\'dd/MM/yyyy\\'}}{{AuditExperience.AuditorDetails.AuditorName}} \\\"\\\"
    \\\"image\\\"

    Contract Details

    Legal Contract NameSigned DateSigned StatusView Document
    Health and Safety Agreement {{legalContract.LegalContractName}}{{legalContract.SignedDateTime | date: FreelancerTechnicianProfile.OnlyDateformat}}{{legalContract.SignedStatus}}\\\"profile\\\"
    \\\"image\\\"

    Criminal Verification

    TypeDocument TypeVerifications TypeDocument NumberVerification ModeVerification AuthorityUpdated byUpdated OnStatusCriminal Report
    CriminalThird Party Assessment ReportOptional{{FreelancerTechnicianProfile.users.CriminalVarificationObj.DocumentNo}}Third Party{{FreelancerTechnicianProfile.users.CriminalVarificationObj.VerificationAuthority}}{{FreelancerTechnicianProfile.users.CriminalVarificationObj.UpdatedBy}}{{FreelancerTechnicianProfile.users.CriminalVarificationObj.UpdatedOn | date:\\'dd/MM/yyyy\\'}}{{FreelancerTechnicianProfile.users.CriminalVarificationObj.verificationStatus}}
    \\\"\\\"
    Training
    Training NameTraining DateTraining ImageTraining Attendance
    {{Audittraining.TrainingName}}{{Audittraining.TrainingDate | date:\\'dd/MM/yyyy\\'}} \\\"\\\" \\\"\\\"
    \\\"image\\\"

    Insaurance Details

    Insurance Name  -
    Policy Number  -
    Issue Date   -
    Expiry Date   -
    Insaurance Image   -
    View Link \\\"profile\\\"
    \\\"image\\\"

    Bank Account Details

    Account No  -
    IFSC Code  -
    Account Holder Name   -
    Bank Name   -
    \");\n$templateCache.put(\"app/Freelancer_Fixed_Team/Freelancer_Fixed_Team.html\",\"
    1. Home
    2. Job Assign
    Location: {{freelancerFixed.locationSearch}} SkillSet: {{freelancerFixed.skillsSearch}} Filter
    Job IDDecriptionCustomerSkillLocationAge (Days)PriorityCreated DateProjectPincode
    {{newJob.LinkId || newJob.TicketId}} {{newJob.TicketId}}{{newJob.JobDescription}}{{newJob.CustomerName}}{{newJob.SkillSet}}{{newJob.Circle}}{{newJob.Age}}{{newJob.Priority}} NA{{newJob.CreationDate | date: \\'dd/MM/yyyy\\'}}{{newJob.ProjectName}}{{newJob.Pincode}}
    Job IDStart TimeBroadcasted DatePriceDurationSentRecieved
    {{broadcast.LinkId || broadcast.JobId}}{{broadcast.StartDateTime | date: \\'dd/MM/yyyy\\'}}{{broadcast.JobBroadcastDateTime | date: \\'dd/MM/yyyy\\'}}{{broadcast.BroadcastRate}} INR{{broadcast.BIDDuration}} hrs{{broadcast.BIDSend}}{{broadcast.BIDReceived}}
    {{freelancerFixed.broadcastError}}

    0\\\" class=\\\"project-list ng-scope\\\" style=\\\"border-bottom: 1px solid rgb(238, 238, 238); cursor: pointer;\\\" ng-repeat=\\\"freeUser in freelancerFixed.freelancerUsers | filter: freelancerFixed.searchUserText | orderBy : orderProperty\\\" ng-class=\\'{\\\"selectedRow\\\":(freelancerFixed.selectedJob==freeUser)}\\'>
    \\\"image\\\" \\\"image\\\"

    {{freeUser.exp}} Years

    0 Total Jobs

    0)\\\" class=\\\"label label-primary\\\">Online Offline

    {{freeUser.exp}} Years

    0\\\">{{freeUser.SkillSet[0]+(freeUser.SkillSetCount>1?\\\"...\\\":\\\"\\\")}}

    0\\\">{{freeUser.Locations[0]+(freeUser.locationCount>1?\\\"...\\\":\\\"\\\")}}

    {{freeUser.Pincode}}

    No data found
    TicketId:-{{freelancerFixed.broadcastLinkId || freelancerFixed.broadcastTicketId}}

    0\\\" class=\\\"project-list ng-scope\\\" style=\\\"border-bottom: 1px solid rgb(238, 238, 238); cursor: pointer;\\\" ng-repeat=\\\"bidUsers in freelancerFixed.BidReceivedJobs |filter: searchUserText | orderBy : orderProperty\\\">
    \\\"image\\\"

    {{bidUsers.BIDStatus}}

    2 Kms

    {{bidUsers.JobsCompletedCount}} 0  Total Jobs

    {{bidUsers.exp}} Years

    0\\\">{{bidUsers.SkillSet}}

    0\\\">{{bidUsers.Locations)}}

    No data found
    {{freelancerFixed.broadcastErrorFV}}

    0\\\" class=\\\"project-list ng-scope\\\" style=\\\"border-bottom: 1px solid rgb(238, 238, 238); cursor: pointer;\\\" ng-repeat=\\\"vendors in freelancerFixed.FreelancerVendorUsers | filter: freelancerFixed.searchUserText | orderBy : orderProperty\\\">
    \\\"image\\\" \\\"image\\\"

    0 Total Jobs

    0)\\\" class=\\\"label label-primary\\\">Online Offline

    {{vendors.exp}} Years

    0\\\">{{vendors.SkillSet[0]+(vendors.SkillSetCount>1?\\\"...\\\":\\\"\\\")}}

    0\\\">{{vendors.Locations[0]+(vendors.locationCount>1?\\\"...\\\":\\\"\\\")}}

    {{vendors.Pincode}}

    No data found
    TicketId:-{{freelancerFixed.broadcastLinkId || freelancerFixed.broadcastTicketId}}

    0\\\" class=\\\"project-list ng-scope\\\" style=\\\"border-bottom: 1px solid rgb(238, 238, 238); cursor: pointer;\\\" ng-repeat=\\\"bidUsers in freelancerFixed.BidReceivedJobs |filter: searchUserText | orderBy : orderProperty\\\">
    \\\"image\\\"

    {{bidUsers.BIDStatus}}

    2 Kms

    {{bidUsers.JobsCompletedCount}} 0  Total Jobs

    {{bidUsers.exp}} Years

    0\\\">{{bidUsers.SkillSet}}

    0\\\">{{bidUsers.Locations)}}

    No data found
    Job IDDescriptionCustomerSkillLocationAge (Days)PriorityCreated DateProjectPincode
    {{newJob.LinkId || newJob.TicketId}} {{newJob.TicketId}}{{newJob.JobDescription}}{{newJob.CustomerName}}{{newJob.SkillSet}}{{newJob.Circle}}{{newJob.Age}}{{newJob.Priority}} NA{{newJob.CreationDate | date: \\'dd/MM/yyyy\\'}}{{newJob.ProjectName}}{{newJob.Pincode}}
    {{main.getVisibleLabel(\\'Fixed Team\\')}}
    0\\\" class=\\\"project-list ng-scope\\\" style=\\\"border-bottom: 1px solid rgb(238, 238, 238); cursor: pointer;\\\" ng-repeat=\\\"fixedUsers in freelancerFixed.fixedUsers | filter: freelancerFixed.searchUserText | filter : freelancerFixed.filteredProperties | orderBy : fixedUserOrderProperty\\\">
    \\\"image\\\" \\\"image\\\"

    S

    Today Jobs

    Jobs

    Availibility

    {{fixedUsers.exp}} Years

    0\\\">{{fixedUsers.SkillSet[0]+(fixedUsers.SkillSetCount>1?\\\"...\\\":\\\"\\\")}}

    0\\\">{{fixedUsers.Locations[0]+(fixedUsers.locationCount>1?\\\"...\\\":\\\"\\\")}}

    No data found
    {{main.getVisibleLabel(\\'Vendor\\')}}
    0\\\" class=\\\"project-list ng-scope\\\" style=\\\"border-bottom: 1px solid rgb(238, 238, 238); cursor: pointer;\\\" ng-repeat=\\\"vendors in freelancerFixed.vendorList | filter: freelancerFixed.searchUserText | orderBy : orderProperty\\\">
    \\\"image\\\"

    {{vendors.CompanyName}} {{vendors.AddressLine2}}

    {{vendors.MobileNumber}}

    0 Total Jobs

    {{vendors.TotalJobs}} Total Jobs

    0\\\">{{vendors.VendorSkillsets[0]+(vendors.VendorSkillsetsCount>1?\\\"...\\\":\\\"\\\")}}

    0\\\">{{vendors.VendorLocations[0]+(vendors.VendorLocationsCount>1?\\\"...\\\":\\\"\\\")}}

    {{vendors.Pincode}}

    No data found
    {{main.getRoleName(\\'Supervisor\\')}}
    0\\\" class=\\\"project-list ng-scope\\\" style=\\\"border-bottom: 1px solid rgb(238, 238, 238); cursor: pointer;\\\" ng-repeat=\\\"supervisors in freelancerFixed.supervisorList | filter: freelancerFixed.searchUserText | filter : freelancerFixed.filteredProperties | orderBy : orderProperty\\\">
    \\\"image\\\" \\\"image\\\"

    {{supervisors.FirstName + \\' \\' + supervisors.LastName}}

    {{supervisors.ContactNumber}}

    {{supervisors.JobTotal}} Total Jobs

    0 Total Jobs

    0\\\">{{supervisors.SkillSet[0]+(supervisors.SkillSetCount>1?\\\"...\\\":\\\"\\\")}}

    0\\\">{{supervisors.Locations[0]+(supervisors.locationCount>1?\\\"...\\\":\\\"\\\")}}

    No data found

    {{freelancerFixed.AvailableUserData.FirstName + \\' \\' + freelancerFixed.AvailableUserData.LastName}}

    \\\"profile\\\" \\\"profile\\\"

    NA | Total Jobs | Today Jobs

    Job Information


    • {{freelancerFixed.alertMessage}}
    Availibility

    \");\n$templateCache.put(\"app/HardwareDetails/HardwareDetails.html\",\"
    1. Hardware Details
    \");\n$templateCache.put(\"app/GasChargingApproval/GasChargingApproval.html\",\"
    1. Home
    2. Gas Charging Request List
    Showing {{GasChargeApprovalCntrl.opageindexCount}} to {{GasChargeApprovalCntrl.orderListLength}} of {{totalOrderList}} entries
    Gas Charge Request IDTicket IDStatusStageActionProduct BrandProduct NameRequest Raised OnRequest Raised ByReasonRemark
    Age
    {{orderList.GasChargeRequestID}}{{orderList.TicketId}}{{orderList.ApprovalStatus}}{{orderList.strApprovalStage}} {{orderList.ProductBrand}}{{orderList.ProductName}}{{orderList.RequestRaisedDate}}{{orderList.RequestedRaiseBy}}{{orderList.Reason}}{{orderList.Comment}}{{orderList.strRequestAge}}

    {{GasChargeApprovalCntrl.PartDetails.PartName}}

    Part ID:{{GasChargeApprovalCntrl.PartDetails.strItemId}}
    SKU ID :{{GasChargeApprovalCntrl.PartDetails.strSKUId}}
    Product ID :{{GasChargeApprovalCntrl.PartDetails.ProjectId}}
    Project Name:{{GasChargeApprovalCntrl.PartDetails.ProjectName}}
    Unit :{{GasChargeApprovalCntrl.PartDetails.strItemUnit}}
    BrandName :{{GasChargeApprovalCntrl.PartDetails.strItemBrand}}

    Description

    • {{description}}

    Activity Trace ( {{GasChargeApprovalCntrl.trackingDetails.TicketId}} )

    Product Name : {{GasChargeApprovalCntrl.trackingDetails.ProductName}}
    Ticket ID : {{GasChargeApprovalCntrl.trackingDetails.TicketId}}
    Request Status : {{GasChargeApprovalCntrl.trackingDetails.ApprovalStatus}}
    • {{timeline.strUserName}} {{timeline.strUserRole}} {{timeline.dateCreatedOn | date:\\'dd/MMM/yy h:mm:ss a\\'}}
      {{ timeline.strComment || \\'No comments available\\'}}
      Status moved to: {{ timeline.strStage }}
    \");\n$templateCache.put(\"app/HealthAndSafety/HealthAndSafety.html\",\"
    1. Home
    2. Health And Safety Guidlines
    CategoryDocument Name
    {{safetyguidelineList.Category}}
    \");\n$templateCache.put(\"app/HelpDesk Home/HelpDesk_Home.html\",\"
    Ticket IDIssueVsat IDVsat IPCityCustomer NameContact No.DateSLAAge (Hrs.min)StatusOnHold ReasonsAction
    {{ticket.TAT}}{{ticket.PrimaryReason}}
    Ticket IDIssueVsat IDVsat IPCityCustomer NameDateAge (Hrs)SLAAssigneeStatusContact No.Action
    {{ticket.LinkId || ticket.TicketId}}
    1}}\\\" heading=\\\"{{ctrl.skills[1]}} TroubleShooting Tickets\\\" ng-click=\\\"ctrl.searchText=\\'\\';ctrl.searchTable();ctrl.loadMetrix(\\'TRBL\\',ctrl.skills[1])\\\">
    Ticket IDIssueVsat IDVsat IPCityCustomer NameContact No.DateSLAAge (Hrs)StatusOnHold ReasonsAction
    {{ticket.TAT}}{{ticket.PrimaryReason}}
    1}}\\\" heading=\\\"{{ctrl.skills[1]}} Field Tickets\\\" ng-click=\\\"ctrl.searchText=\\'\\';ctrl.searchTable();ctrl.loadMetrix(\\'Field\\',ctrl.skills[1])\\\">
    Ticket IDIssueVsat IDVsat IPCityCustomer NameDateAge (Hrs)SLAAssigneeStatusContact No.Action
    {{ticket.LinkId || ticket.TicketId}}
    \");\n$templateCache.put(\"app/HelpDeskCustomerView/HelpDesk_Customer_View.html\",\"
    \\\"profile\\\"

    {{ctrl.customer.CustomerName}}

    {{ctrl.customer.CustomerLocationContactModels[0].FirstName+ \\' \\' +ctrl.customer.CustomerLocationContactModels[0].LastName}}

      {{ctrl.customer.CustomerLocationContactModels[0].Mobile}}

    {{ctrl.customer.CustomerLocationContactModels[0].Email}}

    {{ctrl.AssetName}}

    {{ctrl.customer.Address1}}
    {{ctrl.customer.Address2}}
    {{ctrl.customer.Region}}, {{ctrl.customer.SubRegion}}
    Total Jobs{{ctrl.jobcount[\\\"Total Jobs\\\"]}}New Jobs{{ctrl.jobcount[\\\"New Jobs\\\"]}}Assigned Jobs{{ctrl.jobcount[\\\"Assigned Jobs\\\"]}}
    Completed Jobs{{ctrl.jobcount[\\\"Completed Jobs\\\"]}}Rejected Jobs By Field Engineer{{ctrl.jobcount[\\\"Rejected Jobs\\\"]}}Cancelled Jobs By Customer{{ctrl.jobcount[\\\"Cancelled Jobs\\\"]}}On Hold Jobs{{ctrl.jobcount[\\\"On Hold Jobs\\\"]}}Open Jobs{{ctrl.jobcount[\\\"Open Jobs\\\"]}}
    Approved Jobs{{ctrl.jobcount[\\\"Approved Jobs\\\"]}}
    Ticket IDIssueVsat IDVsat IPCityCustomer NameContact No.Call TypeLogging DateSLAAge (Hrs.min)StatusAction
    Ticket IDIssueVsat IDVsat IPCityCustomer NameContact No.Call TypeDateSLAAge (Hrs)AssigneeStatus
    {{ticket.LinkId || ticket.TicketId}}
    Assets
    Asset NameAsset IDDate
    Asset1A-12456324/04/2017
    Asset1A-12456324/04/2017
    Asset1A-12456324/04/2017
    Asset1A-12456324/04/2017
    Asset1A-12456324/04/2017
    Asset1A-12456324/04/2017
    Asset1A-12456324/04/2017
    Asset1A-12456324/04/2017
    Asset1A-12456324/04/2017
    Asset1A-12456324/04/2017
    Contracts
    Asset NameAsset IDDate
    Asset1A-12456324/04/2017
    Asset1A-12456324/04/2017
    Asset1A-12456324/04/2017
    Asset1A-12456324/04/2017
    Asset1A-12456324/04/2017
    Asset1A-12456324/04/2017
    Asset1A-12456324/04/2017
    Asset1A-12456324/04/2017
    Asset1A-12456324/04/2017
    Asset1A-12456324/04/2017
    Activities
    Add new note to the Martex project.
    Add new files to own file sharing place.
    Sent email to all users participating in new project.
    Has been taged in the latest comments about the new project.
    Changed status of second stage in the latest project.
    Add new files to own file sharing place.
    Add new files to own file sharing place.
    Sent email to all users participating in new project.
    Has been taged in the latest comments about the new project.
    Changed status of second stage in the latest project.
    Add new files to own file sharing place.
    Changed status of third stage in the Vertex project.
    Add new files to own file sharing place.
    \");\n$templateCache.put(\"app/HelpDesk_Admin/Helpdesk_Admin.html\",\"
    1\\\" class=\\\"row wrapper border-bottom white-bg\\\" style=\\\"margin-top:10px;box-shadow: 0 3px 7px 0 #a8a8a8;\\\">
    Ticket IDIssueAssetRemote Ticket IDVsat IDVsat IPCityCustomer NameContact No.DateSource TypePartner TatReceipt DatePriorityLogging RemarkSLAAge (Hrs.min)StatusOnHold ReasonsAssigneeCall TypeActionFieldStatusBill Amount
    {{ticket.TAT}}{{ticket.PrimaryReason}}
    1\\\" ng-click=\\\"ctrl.searchText=\\'\\';ctrl.searchTable();ctrl.loadMetrix(\\'TRBL\\',ctrl.skills[0])\\\">
    Ticket IDIssueAssetRemote Ticket IDVsat IDVsat IPCityCustomer NameContact No.Logging DateSource TypePartner TatReceipt DateLogging RemarkSLAAge (Hrs.min)PriorityStatusOnHold ReasonsAssigneeCall TypeActionFieldStatusBill Amount
    {{ticket.TAT}}{{ticket.PrimaryReason}}
    \");\n$templateCache.put(\"app/IT360Profile/IT360Profile.html\",\"
    \\\"Profile

    Kishan Kumar

    Software Engineer

    4.5

    (123  reviews)

    +91-7866555252

    abc123@gmail.com

    Noida Sector 57,

    Uttar Pradesh.

    Overall Experience - 2+ Years

    $5.00/hr

    English , Hindi , Tamil

    Profile Strength
    {{ profileProgress }}%
    Top Skill

    HTML

    CSS

    BOOTSTRAP

    Angular

    About

    As an Angular Developer, I Developed and designed amazing user interfaces using the Angular framework. Collaborated with backend developers to create high-performing, responsive, and highly interactive web applications. Wrote and documented clean JavaScript, HTML, and CSS.

    Bank Details
    Background Details
    Java Interview
    Date: February 23, 2023
    Feedback: Positive feedback received
    Skill: Web Development
    Angular Interview
    Date: March 13, 2021
    Feedback: Positive feedback received
    Skill: Web Development
    .NET Interview
    Date: June 23, 2023
    Feedback: Positive feedback received
    Skill: Web Development
    C# Interview
    Date: November 23, 2022
    Feedback: Positive feedback received
    Skill: Web Development
    Kotlin Interview
    Date: February 23, 2024
    Feedback: Positive feedback received
    Skill: Web Development

    Education

    Master of Computer Application

    Year of Passing 2022

    7 CGPA

    Delhi University ,India

    Bachelor of Computer Application

    Year of Passing 2019

    7.5 CGPA

    Delhi University ,India

    12th

    Year of Passing 2016

    8.5 CGPA

    CBSE Board ,India

    Previous Expercience

    Company NameDesignationDate of JoiningDate of RelievingExperience Letter
    HCL TechSoftware Developer12-03-201910-09-2022\\\"\\\"

    Project

    Project NameCompany NameRoleTeam SizeProject DetailsLanguage & Tools UseDuration
    E-commereceMeeshoFronted Developer12Create pages and design of product where show products.HTML , CSS, BOOTSTRAP, Angular PHP, LARAVEL,10 Month

    Projects With MMF

    Project IDProject NameProject DescriptionProject MangerStart DateCompletion DateCompletion DurationSkills UsedStatus
    P0000000001PansonicPansonic Inventnory Mangement10/11/202301/12/202320 DaysAngular Js , .NETClosed
    P0000000002AssurantEstimate Warrenty09/02/202414 DaysAngular Js , .NETIn-Progress

    Training Details

    Training NameTraining DateTraining AttendenceTraining DurationTraining Image
    Digital Marketing by Google12-09-20225 months\\\"\\\"

    Certificate

    • Cert. Name- example-1
    • Cert. No- 12331122
    • Cert. Issue Date- 23-12-2-20
    • Cert. Expiry Date- 23-12-2-22

    Your Post

    As an Angular Developer, I Developed and designed amazing user interfaces using the Angular framework. Collaborated with backend developers to create high-performing, responsive, and highly interactive web applications. Wrote and documented clean JavaScript, HTML, and CSS.

    User reviews

    Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aliquam pariatur officia, aperiam quidem quasi, tenetur molestiae. Architecto mollitia laborum possimus iste esse. Perferendis tempora consectetur, quae qui nihil voluptas. Maiores debitis repellendus excepturi quisquam temporibus quam nobis voluptatem, reiciendis distinctio deserunt vitae! Maxime provident, distinctio animi commodi nemo, eveniet fugit porro quos nesciunt quidem a, corporis nisi dolorum minus sit eaque error sequi ullam. Quidem ut fugiat, praesentium velit aliquam!

    Acount Setting

    Lorem ipsum dolor sit amet, consectetur adipisicing elit. Reprehenderit omnis eaque, expedita nostrum, facere libero provident laudantium. Quis, hic doloribus! Laboriosam nemo tempora praesentium. Culpa quo velit omnis, debitis maxime, sequi animi dolores commodi odio placeat, magnam, cupiditate facilis impedit veniam? Soluta aliquam excepturi illum natus adipisci ipsum quo, voluptatem, nemo, commodi, molestiae doloribus magni et. Cum, saepe enim quam voluptatum vel debitis nihil, recusandae, omnis officiis tenetur, ullam rerum.

    \");\n$templateCache.put(\"app/IT360Profile/IT360Profilesmall.html\",\"
    • {{CntrlITProfile.teamdata.jobsSummary.TotalJobs}}

      Total Jobs

    • ₹ {{CntrlITProfile.teamdata.paymentsSummary.TotalEarned}}

      Total Earning

    • 5

      Total Team

    Background Verified
    • {{VerificationDoc.DocumentName}}
    Skill Verified
    • {{skills.Skill}}
    \\\"profile\\\" \\\"profile\\\"

    {{CntrlITProfile.teamdata.userProfile.FirstName}} {{CntrlITProfile.teamdata.userProfile.LastName}}

    {{CntrlITProfile.teamdata.userProfile.Ratings.UserId}}

    ({{CntrlITProfile.teamdata.userProfile.Role}})

    • {{CntrlITProfile.TechnicianRating}}
    • Member Since {{CntrlITProfile.teamdata.userProfile.TechnicianActivationDate| date:\\'MMM dd, yyyy\\'}}
    {{CntrlITProfile.teamdata.userProfile.Address}}
    {{CntrlITProfile.teamdata.userProfile.State}}
    Jobs Summary

    {{CntrlITProfile.teamdata.jobsSummary.TotalJobs}}

    Total Jobs

    {{CntrlITProfile.teamdata.jobsSummary.Assignedjobs}}

    Assigned jobs

    {{CntrlITProfile.teamdata.jobsSummary.Completed}}

    Completed

    {{CntrlITProfile.teamdata.jobsSummary.Rejected}}

    Rejected

    {{CntrlITProfile.teamdata.jobsSummary.LeadAcceptance}} (%

    Lead Acceptance

    {{CntrlITProfile.teamdata.jobsSummary.CompletionSpeed}}

    Average Completion Speed

    {{CntrlITProfile.teamdata.jobsSummary.JobCompletionRate}} (%)

    Job Completion Rate

    {{CntrlITProfile.teamdata.jobsSummary.FirstResponseRate}} (%)

    First Response Time

    {{CntrlITProfile.teamdata.jobsSummary.AppointmentMetRate}} (%)

    Appointment Met Rate

    Payments Summary

    ₹ {{CntrlITProfile.teamdata.paymentsSummary.TotalEarned}}

    Total Earned

    ₹ {{CntrlITProfile.teamdata.paymentsSummary.TotalDueAmount}}

    Total Due Amount

    ₹ {{CntrlITProfile.teamdata.paymentsSummary.TotalPaid}}

    Total Paid

    ₹ {{CntrlITProfile.teamdata.paymentsSummary.TotalReject}}

    Total Reject

    ₹ {{CntrlITProfile.teamdata.paymentsSummary.TotalFailed}}

    Total Failed

    ₹ {{CntrlITProfile.teamdata.paymentsSummary.TotalInitial}}

    Total Initial

    ₹ {{CntrlITProfile.teamdata.paymentsSummary.TotalCollection}}

    Total Collection

    ₹ {{CntrlITProfile.teamdata.paymentsSummary.TotalService}}

    Total Service

    ₹ {{CntrlITProfile.teamdata.paymentsSummary.TotalHardware}}

    Total Hardware

    ₹ {{CntrlITProfile.teamdata.paymentsSummary.TotalBonus}}

    Total Bonus

    ₹ {{CntrlITProfile.teamdata.paymentsSummary.TotalPanelty}}

    Total Panelty

    ₹ {{CntrlITProfile.teamdata.paymentsSummary.TotalAllowance}}

    Total Allowance

    ₹ {{CntrlITProfile.teamdata.paymentsSummary.SecurityAmount}}

    Security Amount

    {{CntrlITProfile.teamdata.paymentsSummary.SecurityExpiryDate | date:\\'dd/MM/yy\\'}}

    Security Expiry Date

    {{CntrlITProfile.teamdata.paymentsSummary.SecurityDepositDate | date:\\'dd/MM/yy\\'}}

    ReCharge On

    Execution Summary

    {{CntrlITProfile.teamdata.executionSummary.AssignedNoAction}}

    Assigned No Action

    {{CntrlITProfile.teamdata.executionSummary.CCNAB}}

    CCNAB

    {{CntrlITProfile.teamdata.executionSummary.Cancelled}}

    Cancelled

    {{CntrlITProfile.teamdata.executionSummary.AppointmentBookedDay0}}

    Appointment Booked Day 0

    {{CntrlITProfile.teamdata.executionSummary.AppointmentBookedDay1}}

    Appointment Booked Day 1

    {{CntrlITProfile.teamdata.executionSummary.AppointmentBookedDay1Plus}}

    Appointment Booked Day1+

    {{CntrlITProfile.teamdata.executionSummary.AppointmentBreached}}

    Appointment Breached

    {{CntrlITProfile.teamdata.executionSummary.InTransit}}

    InTransit

    {{CntrlITProfile.teamdata.executionSummary.OnSite}}

    On Site

    {{CntrlITProfile.teamdata.executionSummary.OnHold}}

    On Hold

    Ratings

    {{CntrlITProfile.teamdata.userProfile.AverageRating.AverageRating}} average based on {{CntrlITProfile.teamdata.userProfile.AverageRating.totalCount}} reviews.


    5 star
    {{CntrlITProfile.AvgRating.FiveStar}}
    4 star
    {{CntrlITProfile.AvgRating.FourStar}}
    3 star
    {{CntrlITProfile.AvgRating.ThreeStar}}
    2 star
    {{CntrlITProfile.AvgRating.TwoStar}}
    1 star
    {{CntrlITProfile.AvgRating.OneStar}}
    Skill Test Summary
    SkillExperienceMarksTest DateBrandsStatusCatagoryCertificate
    {{skills.Skill}}{{skills.Experience}}{{skills.ResultScore}}{{skills.TestDate}}{{skills.BrandList}}{{skills.Status}}

    Total Jobs

    Assigned Jobs

    Completed

    Approved

    Rejected

    ANA

    CCNAB

    Cancelled

    ABD0

    ABD1

    ABD1+

    ABR

    InTransit

    On Site

    On Hold

     {{CntrlITProfile.upageindexCount}} - {{CntrlITProfile.userListLength}} of {{totalUsers}}
    Ticket IDTicket TypeAccountLocationAssigned DateTATJobs StatusCreation DateStatus Date
    {{workList.TicketID}}{{workList.TicketType}}{{workList.Account}}{{workList.Location}}{{workList.AssignedDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.TAT}}{{workList.JobsStatus}}{{workList.JobsCreationDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.InTransitDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.AssignedDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.OnSiteDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.AppointmentBookedDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.CompletionDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.OnHoldDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.RejectionDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.CancellationDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.ApprovedDate | date:\\'dd/MM/yy hh:mm a\\'}}
     {{CntrlITProfile.fpageindexCount}} - {{CntrlITProfile.financeListLength}} of {{totalFinList}}
    Total Base PriceTotal Payable AmountTotal CommissionTotal ServiceTotal HardwareTotal BonusTotal PaneltyTotal CollectionTotal AwallanceCashfree IdFailed ReasonStatus
    {{financeList.TotalBasePrice}}{{financeList.TotalPayableAmount}}{{financeList.TotalCommission}}{{financeList.TotalService}}{{financeList.TotalHardware}}{{financeList.TotalBonus}}{{financeList.TotalPanelty}}{{financeList.TotalCollection}}{{financeList.TotalAwallance}}{{financeList.CashfreeId}}{{financeList.FailedReason}}{{financeList.Status}}
    Job IDJob TypeProjectCustomerLocationTechnician NameFollow Up ReasonCreation DateStatusTATRating
    {{financesmry.jobID}}{{financesmry.jobType}}{{financesmry.project}}{{financesmry.customer}}{{financesmry.location}}{{financesmry.technicianName}}{{financesmry.followUpReason}}{{financesmry.creationDate | date: \\'dd-MMM-yyyy hh:mm:ss a\\'}}{{financesmry.status}}{{financesmry.tat}}{{financesmry.rating}}
    Skill Test Summary
    SkillExperienceMarksTest DateBrandsStatusCatagoryCertificate
    {{skills.Skill}}{{skills.Experience}}{{skills.ResultScore}}{{skills.TestDate}}{{skills.BrandList}}{{skills.Status}}
    Previous Company Details
    Company NameProject NameDesignationAccountDate of JoiningDate of RelievingExperience Letter
    {{previousCompany.CompanyName}}{{previousCompany.ProjectName}}{{previousCompany.Designation}}{{previousCompany.AccountName}}{{previousCompany.DateOfJoining | date:\\'dd-MMM-yyyy\\'}}{{previousCompany.DateOfRelieving | date:\\'dd-MMM-yyyy\\'}} \\\"\\\"
    Training Details
    Training NameTraining DateTraining ImageTraining Attendence
    {{Audittraining.TrainingName}}{{Audittraining.TrainingDate | date:\\'dd-MMM-yyyy\\'}} \\\"\\\" \\\"\\\"
    Ratings

    {{CntrlITProfile.reviewData.OverAllRating.AverageRating}} average based on {{CntrlITProfile.reviewData.OverAllRating.totalCount}} reviews.


    {{Reviews.CustomerName}}Source : MyMobiforce
    (Reviewed on {{Reviews.ReviewDate}})

    {{Reviews.AdditionalRemark}}

    Assets
    Equipment Details
    Equipment NameBrand NameView EquipmentItem Serial NumberManufactured OnExpired On
    {{toolDetail.ToolName}}{{toolDetail.BrandName}}{{toolDetail.ItemSerialNumber}}NA {{toolDetail.DateOfManufacturing}}{{toolDetail.ExpireDate}}
    Audit Details
    Audit SummaryAuditorAudited OnStatusReport
    {{auditDetail.AuditPurpose}}{{auditDetail.AuditorDetails.AuditorName}}{{auditDetail.AuditDate | date: \\'dd-MMM-yyyy\\'}}{{auditDetail.AuditResult}} {{auditDetail.AuditResult}} {{auditDetail.AuditResult}}
    \");\n$templateCache.put(\"app/ITEngineer/ITEngineer.html\",\"
    \\\"Profile

    {{CntrlITEngineerProfile.userInfo.FirstName}} {{CntrlITEngineerProfile.userInfo.LastName}}

    {{CntrlITEngineerProfile.userInfo.Designation}}

    {{CntrlITEngineerProfile.TechnicianRating}}

    {{CntrlITEngineerProfile.userInfo.ContactNumber}}

    {{CntrlITEngineerProfile.userInfo.PersonalEmail}}

    {{CntrlITEngineerProfile.userInfo.Address}}

    Overall Experience - {{CntrlITEngineerProfile.userInfo.Experience}} Years

    ${{CntrlITEngineerProfile.userInfo.HourlyRate}}/hr

    {{language}},

    Top Skill
    • {{skills}}
    Bank Details
    Background Details

    Projects

    \\\"College

    {{project.ProjectName}}

    {{project.CompanyName}}

    {{project.StartDate | date:\\'dd/MMM/yyyy\\'}} - {{project.EndDate | date:\\'dd/MMM/yyyy\\'}}

    Skills : {{skill}},

    • {{desc}}

    Education

    \\\"College

    {{education.CollegeName}}

    {{education.Class}}

    {{education.StartDate | date:\\'yyyy\\'}} - {{education.EndDate | date:\\'yyyy\\'}}

    Grade: {{education.Grade}}

    Previous Expercience

    \\\"Company

    {{experience.Designation}}

    {{experience.CompanyName}}

    {{experience.DateOfJoining | date:\\'dd/MMM/yyyy\\'}} - {{experience.DateOfRelieving | date:\\'dd/MMM/yyyy\\'}} . {{experience.Tenure}}

    {{experience.WorkLocation}}

    Project Name : {{experience.ProjectName}}

    • {{des}}

    About

    {{about}}

    Expertise

    • {{expertise}}

    Certificate

    \\\"profile\\\" \\\"profile\\\" \\\"profile\\\"
    • Cert. Name: {{certificate.CertificateName}}
    • Cert. No: {{certificate.CertificateNo}}
    • Cert. Issue Date: {{certificate.CertificateIssueDate}}
    • Cert. Expiry Date: {{certificate.CertificateExpiryDate}}
    Previous Next
    \");\n$templateCache.put(\"app/ITEngineer/ITEngineersmall.html\",\"
    • {{CntrlITProfile.teamdata.jobsSummary.TotalJobs}}

      Total Jobs

    • ₹ {{CntrlITProfile.teamdata.paymentsSummary.TotalEarned}}

      Total Earning

    • 5

      Total Team

    Background Verified
    • {{VerificationDoc.DocumentName}}
    Skill Verified
    • {{skills.Skill}}
    \\\"profile\\\" \\\"profile\\\"

    {{CntrlITProfile.teamdata.userProfile.FirstName}} {{CntrlITProfile.teamdata.userProfile.LastName}}

    {{CntrlITProfile.teamdata.userProfile.Ratings.UserId}}

    ({{CntrlITProfile.teamdata.userProfile.Role}})

    • {{CntrlITProfile.TechnicianRating}}
    • Member Since {{CntrlITProfile.teamdata.userProfile.TechnicianActivationDate| date:\\'MMM dd, yyyy\\'}}
    {{CntrlITProfile.teamdata.userProfile.Address}}
    {{CntrlITProfile.teamdata.userProfile.State}}
    Jobs Summary

    {{CntrlITProfile.teamdata.jobsSummary.TotalJobs}}

    Total Jobs

    {{CntrlITProfile.teamdata.jobsSummary.Assignedjobs}}

    Assigned jobs

    {{CntrlITProfile.teamdata.jobsSummary.Completed}}

    Completed

    {{CntrlITProfile.teamdata.jobsSummary.Rejected}}

    Rejected

    {{CntrlITProfile.teamdata.jobsSummary.LeadAcceptance}} (%

    Lead Acceptance

    {{CntrlITProfile.teamdata.jobsSummary.CompletionSpeed}}

    Average Completion Speed

    {{CntrlITProfile.teamdata.jobsSummary.JobCompletionRate}} (%)

    Job Completion Rate

    {{CntrlITProfile.teamdata.jobsSummary.FirstResponseRate}} (%)

    First Response Time

    {{CntrlITProfile.teamdata.jobsSummary.AppointmentMetRate}} (%)

    Appointment Met Rate

    Payments Summary

    ₹ {{CntrlITProfile.teamdata.paymentsSummary.TotalEarned}}

    Total Earned

    ₹ {{CntrlITProfile.teamdata.paymentsSummary.TotalDueAmount}}

    Total Due Amount

    ₹ {{CntrlITProfile.teamdata.paymentsSummary.TotalPaid}}

    Total Paid

    ₹ {{CntrlITProfile.teamdata.paymentsSummary.TotalReject}}

    Total Reject

    ₹ {{CntrlITProfile.teamdata.paymentsSummary.TotalFailed}}

    Total Failed

    ₹ {{CntrlITProfile.teamdata.paymentsSummary.TotalInitial}}

    Total Initial

    ₹ {{CntrlITProfile.teamdata.paymentsSummary.TotalCollection}}

    Total Collection

    ₹ {{CntrlITProfile.teamdata.paymentsSummary.TotalService}}

    Total Service

    ₹ {{CntrlITProfile.teamdata.paymentsSummary.TotalHardware}}

    Total Hardware

    ₹ {{CntrlITProfile.teamdata.paymentsSummary.TotalBonus}}

    Total Bonus

    ₹ {{CntrlITProfile.teamdata.paymentsSummary.TotalPanelty}}

    Total Panelty

    ₹ {{CntrlITProfile.teamdata.paymentsSummary.TotalAllowance}}

    Total Allowance

    ₹ {{CntrlITProfile.teamdata.paymentsSummary.SecurityAmount}}

    Security Amount

    {{CntrlITProfile.teamdata.paymentsSummary.SecurityExpiryDate | date:\\'dd/MM/yy\\'}}

    Security Expiry Date

    {{CntrlITProfile.teamdata.paymentsSummary.SecurityDepositDate | date:\\'dd/MM/yy\\'}}

    ReCharge On

    Execution Summary

    {{CntrlITProfile.teamdata.executionSummary.AssignedNoAction}}

    Assigned No Action

    {{CntrlITProfile.teamdata.executionSummary.CCNAB}}

    CCNAB

    {{CntrlITProfile.teamdata.executionSummary.Cancelled}}

    Cancelled

    {{CntrlITProfile.teamdata.executionSummary.AppointmentBookedDay0}}

    Appointment Booked Day 0

    {{CntrlITProfile.teamdata.executionSummary.AppointmentBookedDay1}}

    Appointment Booked Day 1

    {{CntrlITProfile.teamdata.executionSummary.AppointmentBookedDay1Plus}}

    Appointment Booked Day1+

    {{CntrlITProfile.teamdata.executionSummary.AppointmentBreached}}

    Appointment Breached

    {{CntrlITProfile.teamdata.executionSummary.InTransit}}

    InTransit

    {{CntrlITProfile.teamdata.executionSummary.OnSite}}

    On Site

    {{CntrlITProfile.teamdata.executionSummary.OnHold}}

    On Hold

    Ratings

    {{CntrlITProfile.teamdata.userProfile.AverageRating.AverageRating}} average based on {{CntrlITProfile.teamdata.userProfile.AverageRating.totalCount}} reviews.


    5 star
    {{CntrlITProfile.AvgRating.FiveStar}}
    4 star
    {{CntrlITProfile.AvgRating.FourStar}}
    3 star
    {{CntrlITProfile.AvgRating.ThreeStar}}
    2 star
    {{CntrlITProfile.AvgRating.TwoStar}}
    1 star
    {{CntrlITProfile.AvgRating.OneStar}}
    Skill Test Summary
    SkillExperienceMarksTest DateBrandsStatusCatagoryCertificate
    {{skills.Skill}}{{skills.Experience}}{{skills.ResultScore}}{{skills.TestDate}}{{skills.BrandList}}{{skills.Status}}

    Total Jobs

    Assigned Jobs

    Completed

    Approved

    Rejected

    ANA

    CCNAB

    Cancelled

    ABD0

    ABD1

    ABD1+

    ABR

    InTransit

    On Site

    On Hold

     {{CntrlITProfile.upageindexCount}} - {{CntrlITProfile.userListLength}} of {{totalUsers}}
    Ticket IDTicket TypeAccountLocationAssigned DateTATJobs StatusCreation DateStatus Date
    {{workList.TicketID}}{{workList.TicketType}}{{workList.Account}}{{workList.Location}}{{workList.AssignedDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.TAT}}{{workList.JobsStatus}}{{workList.JobsCreationDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.InTransitDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.AssignedDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.OnSiteDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.AppointmentBookedDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.CompletionDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.OnHoldDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.RejectionDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.CancellationDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.ApprovedDate | date:\\'dd/MM/yy hh:mm a\\'}}
     {{CntrlITProfile.fpageindexCount}} - {{CntrlITProfile.financeListLength}} of {{totalFinList}}
    Total Base PriceTotal Payable AmountTotal CommissionTotal ServiceTotal HardwareTotal BonusTotal PaneltyTotal CollectionTotal AwallanceCashfree IdFailed ReasonStatus
    {{financeList.TotalBasePrice}}{{financeList.TotalPayableAmount}}{{financeList.TotalCommission}}{{financeList.TotalService}}{{financeList.TotalHardware}}{{financeList.TotalBonus}}{{financeList.TotalPanelty}}{{financeList.TotalCollection}}{{financeList.TotalAwallance}}{{financeList.CashfreeId}}{{financeList.FailedReason}}{{financeList.Status}}
    Job IDJob TypeProjectCustomerLocationTechnician NameFollow Up ReasonCreation DateStatusTATRating
    {{financesmry.jobID}}{{financesmry.jobType}}{{financesmry.project}}{{financesmry.customer}}{{financesmry.location}}{{financesmry.technicianName}}{{financesmry.followUpReason}}{{financesmry.creationDate | date: \\'dd-MMM-yyyy hh:mm:ss a\\'}}{{financesmry.status}}{{financesmry.tat}}{{financesmry.rating}}
    Skill Test Summary
    SkillExperienceMarksTest DateBrandsStatusCatagoryCertificate
    {{skills.Skill}}{{skills.Experience}}{{skills.ResultScore}}{{skills.TestDate}}{{skills.BrandList}}{{skills.Status}}
    Previous Company Details
    Company NameProject NameDesignationAccountDate of JoiningDate of RelievingExperience Letter
    {{previousCompany.CompanyName}}{{previousCompany.ProjectName}}{{previousCompany.Designation}}{{previousCompany.AccountName}}{{previousCompany.DateOfJoining | date:\\'dd-MMM-yyyy\\'}}{{previousCompany.DateOfRelieving | date:\\'dd-MMM-yyyy\\'}} \\\"\\\"
    Training Details
    Training NameTraining DateTraining ImageTraining Attendence
    {{Audittraining.TrainingName}}{{Audittraining.TrainingDate | date:\\'dd-MMM-yyyy\\'}} \\\"\\\" \\\"\\\"
    Ratings

    {{CntrlITProfile.reviewData.OverAllRating.AverageRating}} average based on {{CntrlITProfile.reviewData.OverAllRating.totalCount}} reviews.


    {{Reviews.CustomerName}}Source : MyMobiforce
    (Reviewed on {{Reviews.ReviewDate}})

    {{Reviews.AdditionalRemark}}

    Assets
    Equipment Details
    Equipment NameBrand NameView EquipmentItem Serial NumberManufactured OnExpired On
    {{toolDetail.ToolName}}{{toolDetail.BrandName}}{{toolDetail.ItemSerialNumber}}NA {{toolDetail.DateOfManufacturing}}{{toolDetail.ExpireDate}}
    Audit Details
    Audit SummaryAuditorAudited OnStatusReport
    {{auditDetail.AuditPurpose}}{{auditDetail.AuditorDetails.AuditorName}}{{auditDetail.AuditDate | date: \\'dd-MMM-yyyy\\'}}{{auditDetail.AuditResult}} {{auditDetail.AuditResult}} {{auditDetail.AuditResult}}
    \");\n$templateCache.put(\"app/InventoryCart/InventoryCart.html\",\"
    1. Home
    2. Inventory List
    Showing {{InventoryCartCntrl.pageindexCount}} to {{InventoryCartCntrl.inventoryListLength}} of {{totalInvList}} entries
    Part IDPart NamePart CodePart TypeBrandPart GroupPart Sub-GroupService Center Price (₹)Dealer Price (₹)Dealer Customer Price (₹)Customer Price (₹)Warehouse Price (₹)UnitAdd to cart
    {{inventoryList.strMMFPartId}}{{inventoryList.strPartName}}{{inventoryList.strSKUId}}{{inventoryList.strPartType}}{{inventoryList.strPartBrand}}{{inventoryList.strPartCategoryGroup}}{{partsubgroup}}{{inventoryList.dPartDiscountedPrice}}{{inventoryList.dPartDealerPrice}}{{inventoryList.dPartDealerCustomerPrice}}{{inventoryList.dPartCustomerPrice}}{{inventoryList.dPartWareHousePrice}}{{inventoryList.strPartUnit}}
    Part IDPart NamePart CodeBrandWarehouseService Center Price (₹)Customer Price (₹)Total PriceTotal Price(with GST)QuantityUnitRemove Item
    {{cartItem.strItemId}}{{cartItem.strItemName}}{{cartItem.strSKUId}}{{cartItem.strItemBrand}}{{cartItem.strWareHouseId}}{{cartItem.dItemPriceAfterDiscount}}{{cartItem.dPartCustomerPrice}}{{cartItem.dItemTotalPrice}}{{cartItem.dItemTotalPriceWithGST}}
    {{cartItem.strItemUnit}}
    Total Items{{InventoryCartCntrl.cartList.CartItemCount}}
    SubTotal₹ {{InventoryCartCntrl.cartList.TotalAmount}}
    Showing {{InventoryCartCntrl.opageindexCount}} to {{InventoryCartCntrl.orderListLength}} of {{totalOrderList}} entries
    Order IDCall IDParent Order IDOrder StatusActionOrder SourcePart ListOrder DateOrder QuantityOrder Amount (₹)Order Amount(with GST) (₹)Packaging IDPackaging DatePackage Tracking IDShipment IDExpected Delivery DateShipment DateGR No.Shipment Doc.Tracking LinkBilling AddressComment
    {{orderList.OrderId}}{{orderList.TicketId}}{{orderList.ParentOrderId}}{{orderList.OrderStatus}} {{orderList.OrderTicketType}}{{orderList.PartList}}{{orderList.OrderDate | date:\\'dd/MMM/yy h:mm:ss a\\'}}{{orderList.OrderItemCount}}{{orderList.OrderTotalAmount}}{{orderList.OrderTotalAmountWithGST}}{{orderList.objPackageDetails[0].strPackageId}}{{orderList.objPackageDetails[0].datePackedOn | date:\\'dd/MMM/yy h:mm:ss a\\'}}{{orderList.objPackageDetails[0].strPackageTrackingId}}{{orderList.objPackageDetails[0].strShipmentId}}{{orderList.ExpectedDeliveryDate | date:\\'dd/MMM/yy h:mm:ss a\\'}}{{orderList.ShipmentDate | date:\\'dd/MMM/yy h:mm:ss a\\'}}{{orderList.GRNumber}}{{orderList.Attachement}} \\\"No{{trackingLink}}{{orderList.BillingAddress}}{{orderList.CancelComment}}
    Call IDPart IDPart NamePart ImageBrandPart CodePart DescriptionItem QuantityItem UnitService Center Price Per Unit (₹)Total Amount (₹)Total Amount(with GST) (₹)
    {{tickets.strTicketId}}{{lineitem.strItemId}}{{lineitem.strItemName}}\\\"image-1\\\"{{lineitem.strItemBrand}}{{lineitem.strSKUId}}
    • {{orderdesc}}
    {{lineitem.nItemQuantity}}{{lineitem.strItemUnit}}{{lineitem.dItemPriceAfterDiscount}}{{lineitem.dItemTotalPrice}}{{lineitem.dItemTotalPriceWithGST}}

    Part Details

    Part ID:{{InventoryCartCntrl.PartDetails.strMMFPartId}}
    Part Name:{{InventoryCartCntrl.PartDetails.strPartName}}
    Part Code:{{InventoryCartCntrl.PartDetails.strSKUId}}
    BrandName :{{InventoryCartCntrl.PartDetails.strPartBrand}}
    Unit :{{InventoryCartCntrl.PartDetails.strPartUnit}}

    About

    • {{description}}

    Part Details

    Part ID:{{InventoryCartCntrl.CartPartDetails.strItemId}}
    Part Name:{{InventoryCartCntrl.CartPartDetails.strItemName}}
    Part Code:{{InventoryCartCntrl.CartPartDetails.strSKUId}}
    BrandName :{{InventoryCartCntrl.CartPartDetails.strItemBrand}}
    Unit :{{InventoryCartCntrl.CartPartDetails.strItemUnit}}

    About

    • {{cartdescription}}
    \");\n$templateCache.put(\"app/InventoryItemList/InventoryItemList.html\",\"
    1. Home
    2. Find Price
     Showing {{CntrlInventory.pageindexCount}} to {{CntrlInventory.inventoryListLength}} of {{totalInvList}} entries
    ActionPart IDNamePart CodeBrandPart GroupPart Sub GroupManufacturerModel NumberHSNCodeIs ReturnableService Center Price (₹)Dealer Price (₹)Dealer Customer Price (₹)Customer Price (₹)Warehouse Price (₹)IGST (%)CGST(%)SGST(%)
    {{inventoryList.MMFPartId}}{{inventoryList.PartName}}{{inventoryList.SKUId}}{{inventoryList.PartBrand}}{{inventoryList.PartCategoryGroup}}{{partsubgroup}}{{inventoryList.Manufacturer}}{{inventoryList.ModelNumber}}{{inventoryList.HSNCode}}Yes No{{inventoryList.PartDiscountedPrice}}{{inventoryList.PartDealerPrice}}{{inventoryList.PartDealerCustomerPrice}}{{inventoryList.PartCustomerPrice}}{{inventoryList.PartWareHousePrice}}{{inventoryList.dIGSTTax}}{{inventoryList.dCGSTTax}}{{inventoryList.dSGSTTax}}

    Part Details

    Part ID:{{CntrlInventory.PartDetails.MMFPartId}}
    Part Name:{{CntrlInventory.PartDetails.PartName}}
    Part Code :{{CntrlInventory.PartDetails.SKUId}}
    BrandName :{{CntrlInventory.PartDetails.PartBrand}}
    Unit :{{CntrlInventory.PartDetails.PartUnit}}

    About

    • {{description}}
    \");\n$templateCache.put(\"app/Inventory_new/inventory_new.html\",\"
    1. Home
    2. Inventory List
     {{inventorynewCntrl.fpageindexCount}} - {{inventorynewCntrl.financeListLength}} of {{totalFinList}}
    Ticket IdProduct IdBrandPart GroupPart NameSKU CodePart DescriptionAging (Days)Item QuantityOrder QuantityOrder Amount (₹)Order StatusShipment DateTechnician NameAction
    {{ticketorderlist.ItemImage}}{{ticketorderlist.BrandName}}{{itemGroup}}{{name}}{{ticketorderlist.SKUId}}{{ticketorderlist.Description | limitTo:20 }}...{{ ticketorderlist.Aging}}{{ticketorderlist.ItemQuantity}}{{ticketorderlist.OrderQuantity}}{{ticketorderlist.OrderAmount}} Delivered{{ticketorderlist.Shipment_date}}{{ticketorderlist.TechnicianName}}
    BrandPart GroupPart NameSKU CodePart DescriptionItem QuantityOrder Amount (₹)Approval StatusAction
    {{order.Brand}}{{order.ItemGroup}}{{order.LineItemDescription}}{{order.LineItemCode}}{{order.LineItemDescription | limitTo:40}}...{{order.LineItemQuantity}}{{order.dLineItemWinPrice}}{{order.BackendApprovalStatus}}
     {{inventorynewCntrl.fpageindexCount}} - {{inventorynewCntrl.financeListLength}} of {{totalFinList}}
    ZOHO OrderIdTicket IdProduct IdBrandPart GroupPart NameSKU CodeTracking IdPart DescriptionAging (Days)Item QuantityOrder QuantityOrder StatusPart Consumed DateShipment DateTechnician Name
    {{ticketorderlist.ZOHOSalesOrderId}}{{ticketorderlist.BrandName}}{{itemGroup}}{{name}}{{ticketorderlist.SKUId}}{{ticketorderlist.TrackingId}}{{ticketorderlist.Description | limitTo:20 }}...{{ ticketorderlist.Aging}}{{ticketorderlist.ItemQuantity}}{{ticketorderlist.OrderQuantity}} Delivered{{ticketorderlist.PartConsumedDate}}{{ticketorderlist.Shipment_date}}{{ticketorderlist.TechnicianName}}
     {{inventorynewCntrl.fpageindexCount}} - {{inventorynewCntrl.financeListLength}} of {{totalFinList}}
    Ticket IdProduct IdBrandPart GroupPart NameSKU CodePart DescriptionOrder StatusItem QuantityOrder QuantityTechnician Name
    {{ticketorderlist.BrandName}}{{ticketorderlist.ItemGroup}}{{ticketorderlist.ItemName}}{{ticketorderlist.SKUId}}{{ticketorderlist.Description | limitTo:20}}...{{ ticketorderlist.OrderStatus}}{{ticketorderlist.ItemQuantity}}{{ticketorderlist.OrderQuantity}}{{ticketorderlist.TechnicianName}}
     {{inventorynewCntrl.epageindexCount}} - {{inventorynewCntrl.historyListLength}} of {{totalSalesorder}}
    ZOHO OrderIdTicket IdProduct IdBrandPart GroupPart NamePart DescriptionSKU IdTracking IdOrder DateAging (Days)Item QuantityOrder QuantityOrder StatusInvoice Value (₹)Shipment DateAction
    {{TeamDetail.ZOHOSalesOrderId}}{{TeamDetail.TicketId}}{{TeamDetail.ItemImage}}{{TeamDetail.BrandName}}{{TeamDetail.ItemGroup}}{{name}}{{TeamDetail.Description | limitTo:20 }}...{{TeamDetail.SKUId}}{{TeamDetail.TrackingId}}{{ TeamDetail.CreatedOn}}{{ TeamDetail.Aging}}{{TeamDetail.ItemQuantity}}{{TeamDetail.OrderQuantity}} Delivered{{TeamDetail.OrderAmount}}{{TeamDetail.Shipment_date}}
    Part NameSKU CodePart DescriptionValue (₹)Quantity Ordered
    {{order.name}}{{order.sku}}{{order.description | limitTo:60}}...{{order.item_total}}{{order.quantity}}
     {{inventorynewCntrl.epageindexCount}} - {{inventorynewCntrl.historyListLength}} of {{totalSalesorder}}
    ZOHO OrderIdTicket IdProduct IdBrandPart GroupPart NamePart DescriptionSKU IdOrder DateAging(Days)Item QuantityOrder QuantityOrder StatusInvoice Value (₹)Shipment DateAction
    {{PartOrderData.ZOHOSalesOrderId}}{{PartOrderData.TicketId}}{{PartOrderData.ItemImage}}{{PartOrderData.BrandName}}{{PartOrderData.ItemGroup}}{{name}}{{PartOrderData.Description | limitTo:20}}...{{ PartOrderData.SKUId}}{{ PartOrderData.CreatedOn}}{{ PartOrderData.Aging}}{{PartOrderData.ItemQuantity}}{{PartOrderData.OrderQuantity}} Accepted{{PartOrderData.OrderAmount}}{{PartOrderData.Shipment_date}}
    Part NameSKU CodePart DescriptionValue (₹)Quantity Ordered
    {{order.name}}{{order.sku}}{{order.description | limitTo:60}}...{{order.item_total}}{{order.quantity}}
     {{inventorynewCntrl.dpageindexCount}} - {{inventorynewCntrl.myDefectedListLength}} of {{totalDefected}}
    Return IdTracking IdBrandPart GroupPart NamePart DescriptionReturn DateReturn TypeProduct TypeDamage TypeQuantityAction
    {{defectedstock.DefectItemId}}{{defectedstock.TrackingId}}{{defectedstock.BrandName}}{{defectedstock.ItemGroup}}{{defectedstock.LineItemDescription}}{{defectedstock.LineItemDisplayDescription| limitTo:20 }}...{{defectedstock.CreatedDate}}{{defectedstock.DefectStockType}}{{defectedstock.ReturnType}}{{defectedstock.DamgeStockType}}{{defectedstock.DefectStockCount}}
    Inventory Value: ₹ {{inventorynewCntrl.totalInventoryValue}}
     {{inventorynewCntrl.dpageindexCount}} - {{inventorynewCntrl.myStockListLength}} of {{totalInventory}}
    Technician IDTechnician NameBrandPart GroupPart NamePart DescriptionSKU CodeActionValue of Inventory (₹)Allocated StockConsumed StockAvailable Stock
    {{inventorystock.UserId}}{{inventorystock.UserName}}{{inventorystock.Brand}}{{inventorystock.ItemGroup}}{{ inventorystock.LineItemDescription}}{{ inventorystock.LineItemDisplayDescription| limitTo:20 }}...{{ inventorystock.LineItemCode}} {{ inventorystock.dLineItemWinPrice}}
    Inventory Value: ₹ {{inventorynewCntrl.totalInventoryValue}}
     {{inventorynewCntrl.dpageindexCount}} - {{inventorynewCntrl.myStockListLength}} of {{totalInventory}}
    Product Serial No.BrandPart GroupPart NamePart DescriptionSKU CodeActionValue of Inventory (₹)Open StockCurrent Stock
    {{inventorystock.LineItemId}}{{inventorystock.Brand}}{{inventorystock.ItemGroup}}{{ inventorystock.LineItemDescription}}{{ inventorystock.LineItemDisplayDescription| limitTo:20 }}...{{ inventorystock.LineItemCode}} {{ inventorystock.dLineItemWinPrice}}
    Inventory Value: ₹ {{inventorynewCntrl.totalInventoryValue}}
     {{inventorynewCntrl.dpageindexCount}} - {{inventorynewCntrl.myStockListLength}} of {{totalInventory}}
    Product Serial No.BrandPart GroupPart NamePart DescriptionSKU CodeActionValue of Inventory (₹)Created OnDamage TypeDefective Stock
    {{inventorystock.LineItemId}}{{inventorystock.Brand}}{{inventorystock.ItemGroup}}{{inventorystock.LineItemDescription}}{{ inventorystock.LineItemDisplayDescription| limitTo:20 }}...{{ inventorystock.LineItemCode}}{{ inventorystock.dLineItemWinPrice}}{{inventorystock.stockAcceptDate}}{{inventorystock.DamgeStockType}}{{inventorystock.DefectStockCount}}

    {{inventorynewCntrl.CountDetails.LineItemDescription}} ( {{ inventorynewCntrl.CountDetails.LineItemCode}} )

    All Team List

    \\\"image\\\"

    User Name: {{user.UserName}}

    User Id: {{user.UserId}}

    Role:{{user.Role}}

    Current Stock: {{user.StockCount}}

    Hardware Tracking

    \\\"image\\\"
    Part Name : {{inventorynewCntrl.TrackDetails. ItemName}}
    SKU Code : {{inventorynewCntrl.TrackDetails. SKUId}}
    Order Status: {{inventorynewCntrl.TrackDetails.OrderStatus}}
    Tracking# - {{inventorynewCntrl.TrackingDetails.tracking_number}}
    • {{orderStatus.date | date: \\'dd/MMM/yyyy\\'}}

      {{orderStatus.time |date: \\'h:mm a\\'}}
    • {{orderStatus.notes}} Delivered

    {{inventorynewCntrl.PartDetails.LineItemDescription}}

    \\\"Part

    Current Stock : {{inventorynewCntrl.PartDetails.StockCount}}


    Open Stock :   {{inventorynewCntrl.PartDetails.TotalAcceptStockCount}}
    Current Stock :   {{inventorynewCntrl.PartDetails.StockCount}}
    Consumed Stock :   {{inventorynewCntrl.PartDetails.TotalAcceptStockCount - inventorynewCntrl.PartDetails.StockCount}}
    \");\n$templateCache.put(\"app/InvigilatorShiftAttendance/InvigilatorShiftAttendance.html\",\"
    1. Home
    2. Invigilators Shift Attendance
    Invigilator IDInvigilator NameCampaign IDCampaign NameMark AttandanceTotal Days WorkedTotal Amount EarnedDay{{ date.day }}
    Date{{ date.date | date : \\'dd-MMM\\'}}
    {{staff.users.UserId}}{{staff.users.UserName}}{{staff.users.CampaignId}}{{staff.users.LocationName}}{{staff.users.TotalDaysWorked}}{{staff.users.AmountEarned}}{{shifts.ActualStartTime | date:\\'HH:mm\\'}} - {{shifts.ActualEndTime | date:\\'HH:mm\\'}} OFF -
    \");\n$templateCache.put(\"app/InvitedAllUser/InvitedAllUser.html\",\"
    1. Home
    2. All Registered User
    {{InvitedAllUserCtrl.UsersType}}
      {{InvitedAllUserCtrl.upageindexCount}} - {{InvitedAllUserCtrl.userListLength}} of {{totalUsers}}
    Registration IdUser IdNameContact NumberCurrent Add1CityStatePin CodeRoleUserTypeAdharPanCriminalUPIBankSkillSkill VerifiedFirst LoginstatusReferred ByTeam SizeSourceInventory StatusWork LocationRegistration DateReportingToDOBCompany NameCompany Registration NumberGST AvailableGST Certified NoMSME CertifiedMSME Certified NO.Partner (TPI)
    {{users.SkillDataNew}}
    {{location}} YES NO
    No User Found

    \");\n$templateCache.put(\"app/InvitedUser/InvitedUser.html\",\"
    1. Home
    2. Invited User
      
    ActionInvitee NameInvitee MobileEmailSkillCityStateInvitation DateRegistration StatusReferred IdReferred By
    {{user.RegistrationStatus}}
    Choose Filters

    \");\n$templateCache.put(\"app/Invoice/FinanceCustomerInvoice.html\",\"

    All Customer Invoice


    SelectInvoice NoStatusTicket idProject NameCustomer NameUser TypeDescriptionTechnician IdAccount NameGross Base PriceBase PriceService TaxCompleted dateInvoice DateAgeRemark

    \");\n$templateCache.put(\"app/Invoice/FinanceFreelancerInvoice.html\",\"

    All Freelancer Invoice


    SelectInvoice NoStatusInvoice DateTicket idProject NameDescriptionUser TypeTechnician IdTechnician NameAccount NameFreelancer PriceCompleted dateAgeRemark

    \");\n$templateCache.put(\"app/InvoiceAccount/CustomerInvoice.html\",\"
    1. Home
    2. Customer Invoice
    All Invoices
    Invoice pending Amount
    Invoice pending for Submission
    Invoice submitted for Payment
    Payment Received
    Invoice Rejected
    Invoice Breached
    of {{totalTicketUsers}} records
    {{CustomerInvoiceCtrl.pageindexCount}} to {{CustomerInvoiceCtrl.ticketListLength}} of {{totalTicketUsers}}
    of {{totalTableUsersInvoice}} records
    {{CustomerInvoiceCtrl.pageindexCountInvoice}} to {{CustomerInvoiceCtrl.ticketListLengthInvoice}} of {{totalTableUsersInvoice}}
    of {{totalTableUsersAdvice}} records
    {{CustomerInvoiceCtrl.pageindexCountAdvice}} to {{CustomerInvoiceCtrl.ticketListLengthAdvice}} of {{totalTableUsersAdvice}}
    {{CustomerInvoiceCtrl.pageindexCountCredit}} to {{CustomerInvoiceCtrl.ticketListLengthCredit}} of {{totalCreditNotes}}
    Ticket idPO NumberAmountAccountCityStateInvoice StatusTicket StatusJob TypeJob DescriptionCreated OnReady to Raised On
    ReadyToRaise Age (days)
    Approved On
    Approved Age (days)
    {{customerInvoice.TicketId}}
    ActionInvoice IDTicket CountAttach InvoiceReGenerate IRNCustomer InvoicePO NumberCloned InvoiceAmountInvoice Amount DueAccountStateInvoice StatusJob DescriptionDue Date
    Age(dd:hh)
    Breach StatusCreated OnSubmitted OnPaid OnRejected On
    • Submit

    • Reject

    • Payment Received

    • Clone

    • Mail Invoice

  • {{customerInvoice.InvoiceNumber}}
    {{customerInvoice.CustomerInvoiceAttachment.substring(0, 20)}} {{customerInvoice.CustomerInvoiceAttachment.substring(0, 20)}}
    Account NameAdvice Received OnAmountInvoice No.Payment ModeReference No.Remittance OnNarration
    {{advice.AccountName}}{{advice.AdviceReceivedOn}}{{advice.Amount}}{{advice.InvoiceNo}}{{advice.PaymentMode}}{{advice.ReferenceNo}}{{advice.RemittanceOn}}{{advice.Narration}}
    Account NameAdvice Received OnAmountInvoice No.Payment ModeReference No.Remittance OnNarration
    {{advice.AccountName}}{{advice.AdviceReceivedOn}}{{advice.Amount}}{{advice.InvoiceNo}}{{advice.PaymentMode}}{{advice.ReferenceNo}}{{advice.RemittanceOn}}{{advice.Narration}}
    SelectCredit Note NumberPO NumberInvoice NumberAmountAccountStateDescriptionInvoice StatusCreated OnRejected On
    {{customerInvoice.CreditNoteNumber}}

    \");\n$templateCache.put(\"app/InvoiceAcceptance/InvoiceAcceptance.html\",\"
    1. Home
    2. Inventory List
    Order IDInvoice NoInvoice DateInvoice Item QTYInvoice Total Value (₹)Invoice Total Value(with GST) (₹)StatusAction
    {{invoices.strOrderId}}{{invoices.strInvoiceId}}{{invoices.dateInvoiceDate | date:\\'dd/MMM/yy h:mm:ss a\\'}}{{invoices.nInvoiceItemCount}}₹ {{invoices.dInvoiceTotalAmount}}₹ {{invoices.dInvoiceTotalAmountWithGST}}{{invoices.strInvoiceStatus}}
    Settled Credit :200
    UnSettled Credit :100
    Total Credit :300
    Part IDPart NameSKU IDBrand
    \");\n$templateCache.put(\"app/InvoiceConfigurations/InvoiceConfigurations.html\",\"
    1. Home
    2. Customer Invoice Configurations
    Invoice From
    Company NameStateTax Registration DetailsBank Details
    {{InvoiceConfigurationsCtrl.invoiceFromDetailsModelList.CompanyName}}{{InvoiceConfigurationsCtrl.invoiceFromDetailsModelList.RegisterState}}

    PAN:{{InvoiceConfigurationsCtrl.invoiceFromDetailsModelList.TaxRegistrationDetails.PAN}}

    STATE CODE:{{InvoiceConfigurationsCtrl.invoiceFromDetailsModelList.TaxRegistrationDetails.StateCode}}

    CIN:{{InvoiceConfigurationsCtrl.invoiceFromDetailsModelList.TaxRegistrationDetails.CIN}}

    TAN:{{InvoiceConfigurationsCtrl.invoiceFromDetailsModelList.TaxRegistrationDetails.TAN}}

    GSTN:{{InvoiceConfigurationsCtrl.invoiceFromDetailsModelList.TaxRegistrationDetails.GSTN}}

    HSN CODE:{{InvoiceConfigurationsCtrl.invoiceFromDetailsModelList.TaxRegistrationDetails.HSNCode}}

    {{InvoiceConfigurationsCtrl.invoiceFromDetailsModelList.CompanyBankDetails.CompanyName}}

    A/C No:{{InvoiceConfigurationsCtrl.invoiceFromDetailsModelList.CompanyBankDetails.AccountNumber}}

    Bank:{{InvoiceConfigurationsCtrl.invoiceFromDetailsModelList.CompanyBankDetails.BankName}}

    IFSC Code:{{InvoiceConfigurationsCtrl.invoiceFromDetailsModelList.CompanyBankDetails.IFSCCode}}

    Branch:{{InvoiceConfigurationsCtrl.invoiceFromDetailsModelList.CompanyBankDetails.Branch}}

    Invoice To
    State
    Bill To
    Ship To
    Action
    {{invoiceDetail.RegisterState}}

    {{invoiceDetail.BillToDetails.CompanyName}}

    {{invoiceDetail.BillToDetails.AddressLine}}

    {{invoiceDetail.BillToDetails.City}} - {{invoiceDetail.BillToDetails.PinCode}} ({{invoiceDetail.BillToDetails.State}})

    PAN: {{invoiceDetail.BillToDetails.PAN}}

    GST Number: {{invoiceDetail.BillToDetails.GSTN}}

    State Code: {{invoiceDetail.BillToDetails.StateCode}}

    {{invoiceDetail.ShipToDetails.CompanyName}}

    {{invoiceDetail.ShipToDetails.AddressLine}}

    {{invoiceDetail.ShipToDetails.City}} - {{invoiceDetail.ShipToDetails.PinCode}} ({{invoiceDetail.ShipToDetails.State}})

    PAN: {{invoiceDetail.ShipToDetails.PAN}}

    GST Number: {{invoiceDetail.ShipToDetails.GSTN}}

    State Code: {{invoiceDetail.ShipToDetails.StateCode}}

    Enter a name
    Invoice Reminder To Client
    Account Name:

    Please Select Account For Configuration
    Payments Term

    {{InvoiceConfigurationsCtrl.PaymentTerms}} Days

    days

    Customer Email (External)
    \\' for user in InvoiceConfigurationsCtrl.shareModel.getUserSuggestion($viewValue) | filter:InvoiceConfigurationsCtrl.shareModel.removeSelectedUsers | filter:InvoiceConfigurationsCtrl.shareModel.searchAsOr($viewValue)\\\" typeahead-focus-first=\\\"false\\\" typeahead-on-select=\\\"InvoiceConfigurationsCtrl.shareModel.selectUserNameInToList($item)\\\" aria-autocomplete=\\\"list\\\" aria-expanded=\\\"false\\\" aria-owns=\\\"typeahead-2821-255\\\" aria-invalid=\\\"false\\\" style=\\\"\\\" ng-disabled=\\\"!editMode\\\">
    Please enter External Team email whom to send this reminder.
    MMF Email (Internal Team)
    \\' for user in InvoiceConfigurationsCtrl.shareModel.getUserSuggestion($viewValue) | filter:InvoiceConfigurationsCtrl.shareModel.removeSelectedUsers | filter:InvoiceConfigurationsCtrl.shareModel.searchAsOr($viewValue)\\\" typeahead-focus-first=\\\"false\\\" typeahead-on-select=\\\"InvoiceConfigurationsCtrl.shareModel.selectUserNameInCCList($item)\\\" aria-autocomplete=\\\"list\\\" aria-expanded=\\\"false\\\" aria-owns=\\\"typeahead-2822-7687\\\" aria-invalid=\\\"false\\\" style=\\\"\\\" ng-disabled=\\\"!editMode\\\">
    Please enter Internal Team email whom to send this reminder.
    0\\\">Customer Email (External):
    \\\"image\\\"

    {{user.FirstName}} {{user.LastName}} ({{user.UserId}})

    {{user.PersonalEmail}}

    {{user.UserId}}

    {{user.Role}} External
    0\\\">MMF Email (Internal Team):
    \\\"image\\\"

    {{user.FirstName}} {{user.LastName}} ({{user.UserId}})

    {{user.PersonalEmail}}

    {{user.UserId}}

    {{user.Role}} External
    Auto Reminder Schedule
    Reminder NameSend When invoice isSubjectContentAction
    {{filter.strReminderName}} {{filter.nReminderdays}} Days
    \");\n$templateCache.put(\"app/InvoiceConsolidated/InvoiceConsolidated.html\",\"
    1. Home
    2. Consolidated Invoice
    Bill ToShip ToTicket ID

    {{InvoiceConsolidatedCtrl.SelectedInvoiceObj.BillTo.CompanyName}}

    {{InvoiceConsolidatedCtrl.SelectedInvoiceObj.BillTo.AddressLine}}

    {{InvoiceConsolidatedCtrl.SelectedInvoiceObj.BillTo.City}} - {{InvoiceConsolidatedCtrl.SelectedInvoiceObj.BillTo.PinCode}} {{InvoiceConsolidatedCtrl.SelectedInvoiceObj.BillTo.State}}

    PAN:{{InvoiceConsolidatedCtrl.SelectedInvoiceObj.BillTo.PAN}}

    GST No.:{{InvoiceConsolidatedCtrl.SelectedInvoiceObj.BillTo.GSTN}}

    State Code:{{InvoiceConsolidatedCtrl.SelectedInvoiceObj.BillTo.StateCode}}

    {{InvoiceConsolidatedCtrl.SelectedInvoiceObj.ShipTo.CompanyName}}

    {{InvoiceConsolidatedCtrl.SelectedInvoiceObj.ShipTo.AddressLine}}

    {{InvoiceConsolidatedCtrl.SelectedInvoiceObj.ShipTo.City}} - {{InvoiceConsolidatedCtrl.SelectedInvoiceObj.ShipTo.PinCode}} {{InvoiceConsolidatedCtrl.SelectedInvoiceObj.ShipTo.State}}

    PAN:{{InvoiceConsolidatedCtrl.SelectedInvoiceObj.ShipTo.PAN}}

    State Code:{{InvoiceConsolidatedCtrl.SelectedInvoiceObj.ShipTo.StateCode}}

    GST No.:{{InvoiceConsolidatedCtrl.SelectedInvoiceObj.ShipTo.GSTN}}


    ItemCategoryDescriptionUOMHSN CodePO NumberStateQtyUnit RateAmount

    \");\n$templateCache.put(\"app/InvoiceLists/InvoiceList.html\",\"
    1. Home
    2. Invoice Listing
    Invoice Listings
    \");\n$templateCache.put(\"app/InvoiceItemized/InvoiceItemized.html\",\"
    1. Home
    2. Itemized Invoice
    Bill ToShip ToTicket ID

    {{InvoiceItemizedCtrl.SelectedInvoiceObj.BillTo.CompanyName}}

    {{InvoiceItemizedCtrl.SelectedInvoiceObj.BillTo.AddressLine}}

    {{InvoiceItemizedCtrl.SelectedInvoiceObj.BillTo.City}} - {{InvoiceItemizedCtrl.SelectedInvoiceObj.BillTo.PinCode}} {{InvoiceItemizedCtrl.SelectedInvoiceObj.BillTo.State}}

    PAN:{{InvoiceItemizedCtrl.SelectedInvoiceObj.BillTo.PAN}}

    GST No.:{{InvoiceItemizedCtrl.SelectedInvoiceObj.BillTo.GSTN}}

    State Code:{{InvoiceItemizedCtrl.SelectedInvoiceObj.BillTo.StateCode}}

    {{InvoiceItemizedCtrl.SelectedInvoiceObj.ShipTo.CompanyName}}

    {{InvoiceItemizedCtrl.SelectedInvoiceObj.ShipTo.AddressLine}}

    {{InvoiceItemizedCtrl.SelectedInvoiceObj.ShipTo.City}} - {{InvoiceItemizedCtrl.SelectedInvoiceObj.ShipTo.PinCode}} {{InvoiceItemizedCtrl.SelectedInvoiceObj.ShipTo.State}}

    PAN:{{InvoiceItemizedCtrl.SelectedInvoiceObj.ShipTo.PAN}}

    State Code:{{InvoiceItemizedCtrl.SelectedInvoiceObj.ShipTo.StateCode}}

    GST No.:{{InvoiceItemizedCtrl.SelectedInvoiceObj.ShipTo.GSTN}}


    ItemCategoryDescriptionPO NumberStateHSN CodeUOMQtyUnit RateAmount

    {{ItemizedInvoice.SerialNo}}

    \");\n$templateCache.put(\"app/InvoicePayment/InvoicePayment.html\",\"
    1. Home
    2. Invoice Listing
    Invoice Listings
    \");\n$templateCache.put(\"app/Job Ticket View/Dashboard-small.html\",\"
    • {{jobTicketCopy.teamdata.jobsSummary.TotalJobs}}

      Total Jobs

    • ₹ {{jobTicketCopy.teamdata.paymentsSummary.TotalEarned}}

      Total Earning

    • {{jobTicketCopy.teamdata.userProfile.venderTeamCount}}

      Total Team

    Background Verified
    • {{VerificationDoc.DocumentName}}
    Skill Verified
    • {{skills.Skill}}
    \\\"profile\\\"
    {{jobTicketCopy.teamdata.userProfile.FirstName}} {{jobTicketCopy.teamdata.userProfile.LastName}}
    {{jobTicketCopy.teamdata.userProfile.Ratings.UserId}}
    {{jobTicketCopy.teamdata.userProfile.Address}}
    {{jobTicketCopy.TechnicianRating}}
    Member Since {{jobTicketCopy.teamdata.userProfile.TechnicianActivationDate| date:\\'MMM dd, yyyy\\'}}
    {{jobTicketCopy.teamdata.userProfile.LastFollowUpReason}} ({{jobTicketCopy.teamdata.userProfile.LastFollowUpRemark}})

    Last follow up on {{jobTicketCopy.teamdata.userProfile.LastFollowUpDateTimeObj | date:\\'dd/MMM/yyyy h:mm:ss a\\'}}

    by \\\"{{jobTicketCopy.teamdata.userProfile.LastFollowUpTakenBy}}\\\"

    Jobs Summary

    {{jobTicketCopy.teamdata.jobsSummary.TotalJobs}}

    Total Jobs

    {{jobTicketCopy.teamdata.jobsSummary.Assignedjobs}}

    Assigned jobs

    {{jobTicketCopy.teamdata.jobsSummary.Completed}}

    Completed

    {{jobTicketCopy.teamdata.jobsSummary.Rejected}}

    Rejected

    {{jobTicketCopy.teamdata.jobsSummary.LeadAcceptance}} (%

    Lead Acceptance

    {{jobTicketCopy.teamdata.jobsSummary.CompletionSpeed}}

    Average Completion Speed

    {{jobTicketCopy.teamdata.jobsSummary.JobCompletionRate}} (%)

    Job Completion Rate

    {{jobTicketCopy.teamdata.jobsSummary.FirstResponseRate}} (%)

    First Response Time

    {{jobTicketCopy.teamdata.jobsSummary.AppointmentMetRate}} (%)

    Appointment Met Rate

    Payments Summary

    ₹ {{jobTicketCopy.teamdata.paymentsSummary.TotalEarned}}

    Total Earned

    ₹ {{jobTicketCopy.teamdata.paymentsSummary.TotalDueAmount}}

    Total Due Amount

    ₹ {{jobTicketCopy.teamdata.paymentsSummary.TotalPaid}}

    Total Paid

    ₹ {{jobTicketCopy.teamdata.paymentsSummary.TotalReject}}

    Total Reject

    ₹ {{jobTicketCopy.teamdata.paymentsSummary.TotalFailed}}

    Total Failed

    ₹ {{jobTicketCopy.teamdata.paymentsSummary.TotalInitial}}

    Total Initial

    ₹ {{jobTicketCopy.teamdata.paymentsSummary.TotalCollection}}

    Total Collection

    ₹ {{jobTicketCopy.teamdata.paymentsSummary.TotalService}}

    Total Service

    ₹ {{jobTicketCopy.teamdata.paymentsSummary.TotalHardware}}

    Total Hardware

    ₹ {{jobTicketCopy.teamdata.paymentsSummary.TotalBonus}}

    Total Bonus

    ₹ {{jobTicketCopy.teamdata.paymentsSummary.TotalPanelty}}

    Total Panelty

    ₹ {{jobTicketCopy.teamdata.paymentsSummary.TotalAllowance}}

    Total Allowance

    ₹ {{jobTicketCopy.teamdata.paymentsSummary.SecurityAmount}}

    Security Amount

    {{jobTicketCopy.teamdata.paymentsSummary.SecurityExpiryDate | date:\\'dd/MM/yy\\'}}

    Security Expiry Date

    {{jobTicketCopy.teamdata.paymentsSummary.SecurityDepositDate | date:\\'dd/MM/yy\\'}}

    ReCharge On

    Execution Summary

    {{jobTicketCopy.teamdata.executionSummary.AssignedNoAction}}

    Assigned No Action

    {{jobTicketCopy.teamdata.executionSummary.CCNAB}}

    CCNAB

    {{jobTicketCopy.teamdata.executionSummary.Cancelled}}

    Cancelled

    {{jobTicketCopy.teamdata.executionSummary.AppointmentBookedDay0}}

    Appointment Booked Day 0

    {{jobTicketCopy.teamdata.executionSummary.AppointmentBookedDay1}}

    Appointment Booked Day 1

    {{jobTicketCopy.teamdata.executionSummary.AppointmentBookedDay1Plus}}

    Appointment Booked Day1+

    {{jobTicketCopy.teamdata.executionSummary.AppointmentBreached}}

    Appointment Breached

    {{jobTicketCopy.teamdata.executionSummary.InTransit}}

    InTransit

    {{jobTicketCopy.teamdata.executionSummary.OnSite}}

    On Site

    {{jobTicketCopy.teamdata.executionSummary.OnHold}}

    On Hold

    Ratings

    {{jobTicketCopy.teamdata.userProfile.AverageRating.AverageRating}} average based on {{jobTicketCopy.teamdata.userProfile.AverageRating.totalCount}} reviews.


    5 star
    {{jobTicketCopy.AvgRating.FiveStar}}
    4 star
    {{jobTicketCopy.AvgRating.FourStar}}
    3 star
    {{jobTicketCopy.AvgRating.ThreeStar}}
    2 star
    {{jobTicketCopy.AvgRating.TwoStar}}
    1 star
    {{jobTicketCopy.AvgRating.OneStar}}
    Skill Test Summary
    SkillExperienceMarksTest DateBrandsStatusCatagoryCertificate
    {{skills.Skill}}{{skills.Experience}}{{skills.ResultScore}}{{skills.TestDate}}{{skills.BrandList}}{{skills.Status}}

    Total Jobs

    Assigned Jobs

    Completed

    Approved

    Rejected

    ANA

    CCNAB

    Cancelled

    ABD0

    ABD1

    ABD1+

    ABR

    InTransit

    On Site

    On Hold

     {{jobTicketCopy.upageindexCount}} - {{jobTicketCopy.userListLength}} of {{totalUsers}}
    Ticket IDTicket TypeAccountLocationAssigned DateTATJobs StatusCreation DateStatus Date
    {{workList.TicketID}}{{workList.TicketType}}{{workList.Account}}{{workList.Location}}{{workList.AssignedDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.TAT}}{{workList.JobsStatus}}{{workList.JobsCreationDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.InTransitDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.AssignedDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.OnSiteDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.AppointmentBookedDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.CompletionDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.OnHoldDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.RejectionDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.CancellationDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.ApprovedDate | date:\\'dd/MM/yy hh:mm a\\'}}
    ₹ {{jobTicketCopy.paymentCount.TotalCollection}}

    Total Collection

    ₹ {{jobTicketCopy.paymentCount.TotalService}}

    Total Service

    ₹ {{jobTicketCopy.paymentCount.TotalHardware}}

    Total Hardware

    ₹ {{jobTicketCopy.paymentCount.TotalBonus}}

    Total Bonus

    ₹ {{jobTicketCopy.paymentCount.TotalPanelty}}

    Total Panelty

    ₹ {{jobTicketCopy.paymentCount.TotalAllowance}}

    Total Allowance

     {{jobTicketCopy.fpageindexCount}} - {{jobTicketCopy.financeListLength}} of {{totalFinList}}
    Total Base PriceTotal Payable AmountTotal CommissionTotal ServiceTotal HardwareTotal BonusTotal PaneltyTotal CollectionTotal AwallanceCashfree IdFailed ReasonStatus
    {{financeList.TotalBasePrice}}{{financeList.TotalPayableAmount}}{{financeList.TotalCommission}}{{financeList.TotalService}}{{financeList.TotalHardware}}{{financeList.TotalBonus}}{{financeList.TotalPanelty}}{{financeList.TotalCollection}}{{financeList.TotalAwallance}}{{financeList.CashfreeId}}{{financeList.FailedReason}}{{financeList.Status}}
    Job IDJob TypeProjectCustomerLocationTechnician NameFollow Up ReasonCreation DateStatusTATRating
    {{financesmry.jobID}}{{financesmry.jobType}}{{financesmry.project}}{{financesmry.customer}}{{financesmry.location}}{{financesmry.technicianName}}{{financesmry.followUpReason}}{{financesmry.creationDate | date: \\'dd-MMM-yyyy hh:mm:ss a\\'}}{{financesmry.status}}{{financesmry.tat}}{{financesmry.rating}}
    Skill Test Summary
    SkillExperienceMarksTest DateBrandsStatusCatagoryCertificate
    {{skills.Skill}}{{skills.Experience}}{{skills.ResultScore}}{{skills.TestDate}}{{skills.BrandList}}{{skills.Status}}
    Previous Company Details
    Company NameProject NameDesignationAccountDate of JoiningDate of RelievingExperience Letter
    {{previousCompany.CompanyName}}{{previousCompany.ProjectName}}{{previousCompany.Designation}}{{previousCompany.AccountName}}{{previousCompany.DateOfJoining | date:\\'dd-MMM-yyyy\\'}}{{previousCompany.DateOfRelieving | date:\\'dd-MMM-yyyy\\'}} \\\"\\\"
    Training Details
    Training NameTraining DateTraining ImageTraining Attendence
    {{Audittraining.TrainingName}}{{Audittraining.TrainingDate | date:\\'dd-MMM-yyyy\\'}} \\\"\\\" \\\"\\\"
    Ratings

    {{jobTicketCopy.reviewData.OverAllRating.AverageRating}} average based on {{jobTicketCopy.reviewData.OverAllRating.totalCount}} reviews.


    {{Reviews.CustomerName}}Source : MyMobiforce
    (Reviewed on {{Reviews.ReviewDate}})

    {{Reviews.AdditionalRemark}}

    Assets
    Equipment Details
    Equipment NameBrand NameView EquipmentItem Serial NumberManufactured OnExpired On
    {{toolDetail.ToolName}}{{toolDetail.BrandName}}{{toolDetail.ItemSerialNumber}}NA {{toolDetail.DateOfManufacturing}}{{toolDetail.ExpireDate}}
    Audit Details
    Audit SummaryAuditorAudited OnStatusReport
    {{auditDetail.AuditPurpose}}{{auditDetail.AuditorDetails.AuditorName}}{{auditDetail.AuditDate | date: \\'dd-MMM-yyyy\\'}}{{auditDetail.AuditResult}} {{auditDetail.AuditResult}} {{auditDetail.AuditResult}}
    All Team List
    User IDNameTotal CountOpen CountClose CountRoleAddress line 1CityStatePincodeStatusD-1 AvailabilityD-0 Attendance
    {{TeamDetail.UserId}}{{TeamDetail.Name}}{{TeamDetail.TotalCount}}{{TeamDetail.OpenCount}}{{TeamDetail.CloseCount}}{{TeamDetail.Role}}{{TeamDetail.Addressline1}}{{TeamDetail.PermanentCity}}{{TeamDetail.State}}{{TeamDetail.PermanentPinCode}}Inactive ActiveNot Available AvailableNot Available Available
    Ticket IDPrimary ReasonReason CommentFollow up On
    {{followupDetail.ticketId}}{{followupDetail.ticketId}}{{followupDetail.PrimaryReason}}{{followupDetail.ReasonComment}}{{followupDetail.dateTime | date:\\'dd/MMM/yyyy h:mm:ss a\\'}}
    \");\n$templateCache.put(\"app/Job Ticket View/Job_Ticket_view.html\",\"
    1. Home
    2. Jobs
    Job IDActionJob DescriptionJob TypeDealer NameDealer ContactProductModel NumberSerial NumberProjectCustomerLocationTechnicianNameEngineer NamePartner NameField Support TeamPublish DateAgeing (Days)Assign DateStatusSub StatusPart Order IDPart Order StatusSettlement StatusPlanned Start DateActual Start DateCompletion DateSLA StatusTATTechnician RatingCustomer RatingConsumer NameConsumer ContactAddress1Address2PincodeSupervisor NameApproved DateFreelancer PriceFreelancer Price CreditsBill AmountSchedule ModeMaterial Delivery StatusMaterial Delivery DatePrimary ReasonAuditClone CounterSource Creation DatePlanned Closure DateBreach StatusCancellation ReasonsCollection RequiredCollection ModeAmount CollectedAmount To Be CollectedReplacement IDReplacement Status
    {{ticket.UserName}}0\\\" ng-repeat=\\\"fTeam in ticket.ListFieldSupportTeam\\\">{{fTeam.SupportEngineerName}}{{ticket.PartOrderId}}
    \");\n$templateCache.put(\"app/Job Ticket View/Job_Ticket_view_Copy.html\",\"
    1. Home
    2. Jobs
    Showing {{jobTicketCopy.pageindexCount}} to {{jobTicketCopy.ticketListLength}} of {{totalTableUsers}}
    Job IDProjectSite IDSite NameActionJob DescriptionStatusSub StatusTechnician NameEngineer NamePartner NameField Support TeamJob Step ApprovalReject CountJob TypeCustomerLocationPublish DateAssign DateBroadcast CountBroadcast Age(dd:hh:mm:ss)LatitudeLongitudeCustomer SatisfactionSecondary StatusSettlement StatusAppointment TimeInvoiceStatusActual Start DateCompletion DateSLA StatusTATTechnician RatingCustomer RatingConsumer NameConsumer ContactAddress1Address2PincodeSupervisor NameApproved DateFreelancer PriceBill AmountSchedule ModeMaterial Delivery StatusMaterial Delivery DatePrimary ReasonClone ReasonAuditClone CounterSource Creation DatePlanned Closure DateBreach StatusCancellation ReasonsRejection RemarksCollection RequiredCollection ModeAmount CollectedAmount To Be CollectedRegionSite Audit StatusSite Audit DateSite Audit By
    {{ticket.UserName}} {{ticket.UserName}}0\\\" ng-repeat=\\\"fTeam in ticket.ListFieldSupportTeam\\\">{{fTeam.SupportEngineerName}}

    • {{attachment.replace(\\'.pdf\\', \\'\\')}}
    -->
    \");\n$templateCache.put(\"app/JobDetailView/JobDetailView.html\",\"
    1. Home
    2. Job Details
    >by pass serial number
    Technician Denied Your Job Request
    • {{JobDetailViewCtrl.FreelancerBidCount}}  Technicians
    • \\\"image\\\"
      {{rUser.Username}}

      Job {{rUser.JobTotal}} | Distance {{rUser.Distance}} | Assigned Jobs {{rUser.TotalAssignedJobs}}

      {{rUser.DenyReason}}

    Technician Accepted Your Job Request
    • {{JobDetailViewCtrl.ReadyUserLength}}  Technicians
    • \\\"image\\\"
      {{rUser.name}}

      Jobs {{rUser.JobTotal}} | Distance {{rUser.UserDistance}} | Assigned Jobs {{rUser.TotalAssignedJobs}}

    Call ID - Ticket ID -  {{JobDetailViewCtrl.TicketInfo.TicketId}}  

    on {{JobDetailViewCtrl.TicketInfo.CreationDate | date:\\'dd/MMM/yyyy h:mm:ss a\\' }}

    Work Order ID - {{JobDetailViewCtrl.TicketInfo.GroupId}}  

    0\\\" class=\\\"text-black\\\" style=\\\"font-weight: 600;\\\">Order ID -  {{orderId}} {{orderId}}

    Product Name - {{JobDetailViewCtrl.TicketInfo.ProductName}}  

    Warranty Status - {{JobDetailViewCtrl.TicketInfo.WarrantyStatus}}  

    Job Type - {{JobDetailViewCtrl.TicketInfo.SkillSet}}  

    Job Desc - {{JobDetailViewCtrl.TicketInfo.JobDescription}}  

    Model No. - {{JobDetailViewCtrl.TicketInfo.ModelNumber}}  

    Customer Rating -    

    {{JobDetailViewCtrl.TicketInfo.CustomerRating}}

    Customer Satisfaction    

    {{JobDetailViewCtrl.TicketInfo.HappyCodeResult}}  

    Brand Name -  {{JobDetailViewCtrl.TicketInfo.BrandName}}  

    Part Order Status - {{JobDetailViewCtrl.TicketInfo.PartOrderStatus}}  

    {{JobDetailViewCtrl.TicketInfo.TicketStatus}} {{JobDetailViewCtrl.TicketInfo.SubStatus}}
    {{JobDetailViewCtrl.TicketInfo.JobStartApprovalState}}

    Location Type Local UpCountry  

    Distance - {{JobDetailViewCtrl.TicketInfo.Distance}} Km  

    Customer Feedback -    

    {{JobDetailViewCtrl.TicketInfo.CustomerFeedback}}

    Schedule : Complete Work By {{JobDetailViewCtrl.TicketInfo.PlannedClosureDate | date:\\'dd/MMM/yyyy h:mm a\\'}} Complete Work By {{JobDetailViewCtrl.TicketInfo.PlannedClosureDate | date: \\'dd/MMM/yyyy h:mm a\\'}} Complete Work By {{JobDetailViewCtrl.TicketInfo.PlannedClosureDate | date:\\'dd/MMM/yyyy h:mm a\\'}}

    Appointment Time: {{JobDetailViewCtrl.TicketInfo.PlannedStartDate | date:\\'dd/MMM/yyyy h:mm a\\'}}

    Planned Start Date: {{JobDetailViewCtrl.TicketInfo.StartDate | date:\\'dd/MMM/yyyy h:mm a\\'}}

    {{JobDetailViewCtrl.TicketInfo.CustomerName}}
    {{JobDetailViewCtrl.TicketInfo.Address1}}, {{JobDetailViewCtrl.TicketInfo.Address2}},{{JobDetailViewCtrl.TicketInfo.City}}
    {{JobDetailViewCtrl.TicketInfo.State}} , {{JobDetailViewCtrl.TicketInfo.Pincode}}
    Call to customer
    \\\"image\\\"
    Call to Alternate No.
    \\\"image\\\"

    Technician : {{JobDetailViewCtrl.TicketInfo.VendorName}} ({{JobDetailViewCtrl.TicketInfo.VendorId}})    \\\"image\\\"

    Technician : {{JobDetailViewCtrl.TicketInfo.UserName}} ({{JobDetailViewCtrl.TicketInfo.UserId}})    \\\"image\\\"

    Technician : UnAssigned

    Engineer Name : {{JobDetailViewCtrl.TicketInfo.UserName}} ({{JobDetailViewCtrl.TicketInfo.UserId}})

    Engineer Name : UnAssigned

    0 && JobDetailViewCtrl.Role !=\\'Customer\\'\\\" ng-repeat=\\\"fTeam in JobDetailViewCtrl.TicketInfo.ListFieldSupportTeam\\\">{{fTeam.SupportEngineerName}} {{fTeam.SupportEngineerName}} 0 && JobDetailViewCtrl.Role ==\\'Customer\\'\\\" ng-repeat=\\\"fTeam in JobDetailViewCtrl.TicketInfo.ListFieldSupportTeam\\\">{{fTeam.SupportEngineerName}} {{JobDetailViewCtrl.TicketInfo.TechnicianContactNumber}}
    New Part NumberNew Part NameNew Serial NumberNew Hardware PhotoOld Part NumberOld Part NameOld Serial NumberOld Hardware PhotoReplaced/NewPart Return TypeStatusAction
    {{report.NewPartNumber}}{{report.NewName}}{{report.NewSerialNumber}}\\\"image-1\\\"{{report.OldPartNumber}}{{report.OldName}}{{report.OldSerialNumber}}\\\"image-1\\\"Replaced New{{report.PartReturnType}}{{report.NewPartStatus}}

    Sales Order ID : {{orders.OrderId}}

    Part NamePart CodePrice Per Unit (₹)Quantity OrderedPart Status
    {{order.group_name}}{{order.sku}}{{order.rate}}{{order.quantity}}{{order.PartStatus}}
    TAT

    Please click here to see the given and updated customer location on map.

    Schedule
    Appointment Time
    {{JobDetailViewCtrl.getReadableTime(JobDetailViewCtrl.TicketInfo.PlannedStartDate)}}
    {{JobDetailViewCtrl.TicketInfo.AppointmentTakenDate| date:\\'yyyy/MM/dd h:mm:ss a\\'}}
    {{JobDetailViewCtrl.getReadableTime(JobDetailViewCtrl.TicketInfo.EndTime)}}
    Your ticket is scheduled on {{JobDetailViewCtrl.getReadableTime(JobDetailViewCtrl.TicketInfo.PlannedStartDate | date:\\'dd/MMM/yyyy h:mm:ss a\\')}} from {{JobDetailViewCtrl.getReadableTime(JobDetailViewCtrl.TicketInfo.PlannedStartDate | date:\\'dd/MMM/yyyy h:mm:ss a\\')}}
    Complete Ticket by
    Job Overview
    Spare Parts
    Collection
    Payment
    Scope Of Work
    Showing {{JobDetailViewCtrl.FixedUserLength}} Technician with inKms   ranked by
    Showing {{JobDetailViewCtrl.NearByUserLength}} Technicianwith inKms   ranked by
    Private User
    Pincode Based
    Showing {{JobDetailViewCtrl.PrefreUserLength}} Technicianwith inKms   ranked by
    Showing {{JobDetailViewCtrl.PreviousUserLength}} Technician with inKms   ranked by
    Supervisior

    Appointment time
    {{JobDetailViewCtrl.getReadableTime(JobDetailViewCtrl.TicketInfo.StartTime)}}
    {{JobDetailViewCtrl.getReadableTime(JobDetailViewCtrl.TicketInfo.EndTime)}}
    Your ticket is scheduled from {{JobDetailViewCtrl.getReadableTime(JobDetailViewCtrl.TicketInfo.StartTime)}} to {{JobDetailViewCtrl.getReadableTime(JobDetailViewCtrl.TicketInfo.EndTime)}}
    Material Delivered Status
    Ticket Detail

    {{JobDetailViewCtrl.TicketInfo.TechnicianRating}}

    Rate Detail
    {{JobDetailViewCtrl.ConverttoDecimal(JobDetailViewCtrl.TicketInfo.BroadcastRate)}}
    {{JobDetailViewCtrl.ConverttoDecimal(JobDetailViewCtrl.TicketInfo.BroadcastGrossRate)}}
    {{JobDetailViewCtrl.ConverttoDecimal(JobDetailViewCtrl.TicketInfo.MobiforceCommission)}}%
    {{JobDetailViewCtrl.TicketInfo.BidDuration}} Min
    Field Team List
    NameUser IdRolePhoto
    {{superField.SupportEngineerName}}{{superField.SupportEngineerUserId}}{{superField.SupportEngineerRole}}\\\"image-1\\\"
    Face Comparision Details
    PhotoAttempted OnSimilarity (%)StatusRemark
    \\\"image-1\\\"{{faceAttempt.AttemptedOn | date:\\'dd/MMM/yyyy h:mm:ss a\\' }}{{faceAttempt.Similarity}}{{faceAttempt.Status}}{{faceAttempt.Remark | limitTo:50}}...
    \\\"image-1\\\"
    Status :
    Percentage Matched :
    Reason :

    pass

    95%

    Face Not Recognize Proper

    Supervisor View

    Field Data Capture
    Product Details
    Product Group
    {{JobDetailViewCtrl.TicketInfo.ProductGroup }}
    Product Name
    {{JobDetailViewCtrl.TicketInfo.ProductType}}
    Model Name
    {{JobDetailViewCtrl.TicketInfo.ModelName}}
    Model No.
    {{JobDetailViewCtrl.TicketInfo.ModelNumber }}
    SDR Details
    Symptom
    {{JobDetailViewCtrl.TicketInfo.SymptomName }} ( {{JobDetailViewCtrl.TicketInfo.SymptomCode }} )
    Defect
    {{JobDetailViewCtrl.TicketInfo.DefectName}} ( {{JobDetailViewCtrl.TicketInfo.DefectCode }} )
    Resolution
    {{JobDetailViewCtrl.TicketInfo.ResolutionName }} ( {{JobDetailViewCtrl.TicketInfo.ResolutionCode }} )
    Communication Mode
    NameUser IdRolePhoto
    {{superField.SupportEngineerName}}{{superField.SupportEngineerUserId}}{{superField.SupportEngineerRole}}\\\"image-1\\\"
    Activity Trace

    • {{ timeline.activity}}
      {{timeline.userName}} {{timeline.dateTime}}
    • {{ Chathistory.activity}}
      {{Chathistory.userName}} {{ Chathistory.EventDateTime | date:\\'dd/MM/yyyy hh:mm a\\' }}
      {{chat.UserName}}
      {{chat.MessageTime | date:\\'dd/MMM/yy h:mm:ss a\\'}}
      {{chat.Message}} \\\"image-1\\\" {{chat.AttachmentLink}}
    • {{ timeline.activity}}
      {{timeline.userName}} {{timeline.dateTime}}
      {{timeline.CallFrom }} intiated Audio call to @{{timeline.CallTo }}
      {{ timeline.EventDateTime | date:\\'dd/MM/yyyy hh:mm a\\' }}
      Call Duration : {{timeline.Duration }} Call Status : {{timeline.CallStatus }} Service Interpretation :
      {{ timeline.activity}}
      {{timeline.userName}} {{ timeline.EventDateTime | date:\\'dd/MM/yyyy hh:mm a\\' }}
      {{chat.UserName}}
      {{chat.MessageTime | date:\\'dd/MMM/yy h:mm:ss a\\'}}
      {{chat.Message}} \\\"image-1\\\" {{chat.AttachmentLink}}
    • {{callDE.CallFrom}} intiated Audio call to @{{callDE.CallTo }}
      {{ callDE.EventDateTime | date:\\'dd/MM/yyyy hh:mm a\\' }}
      Call Duration : {{callDE.Duration }} Call Status : {{callDE.CallStatus }} Service Interpretation :
    Field Team List
    NameUser IdRolePhoto
    {{superField.SupportEngineerName}}{{superField.SupportEngineerUserId}}{{superField.SupportEngineerRole}}\\\"image-1\\\"
    Field Data Capture
    Select All
    SelectItem NameDataUpdated OnUpdate HistoryReject / commentStatus

    \\\"image-1\\\"
    0\\\" ng-repeat=\\\"imgsss in docList.ItemValues track by $index\\\">\\\"image-1\\\"
    {{docList.ItemValue}} {{skill}}
    link{{docList.ItemUpdateDate |date:\\'dd/MMM/yy h:mm:ss a\\'}}{{docList.ItemComment}}

    {{docList.ItemComment}}

    {{docList.ItemStatus}}
    Site Data Capture
    Select All
    SelectItem NameDataUpdated OnReject / commentStatus

    {{docListValue.ItemName}}

    \\\"image-1\\\"
    0\\\" ng-repeat=\\\"imgsss in docListValue.ItemValues track by $index\\\">\\\"image-1\\\"
    {{docListValue.ItemValue}}
    {{docListValue.ItemUpdateDate |date:\\'dd/MMM/yy h:mm:ss a\\'}}

    {{docListValue.ItemComment}}

    {{docListValue.ItemStatus}}
    \\\"\\\"

    {{status.userName}}  {{status.CreatedOn | date:\\'dd/MMM/yy h:mm:ss a\\'}}

    {{status.activity}} Follow Up - {{status.activity}} 0 && status.primaryReason!=\\'null\\'\\\">{{\\\"( \\\" + status.primaryReason+\\\"-\\\"+status.SecondryReason + \\\" )\\\" }} {{\\\"( \\\" + status.ThirdReason + \\\" )\\\" }}
    {{\\\"Remark: \\\" + status.CompletionRemark + \\\" \\\" }}

    {{status.activity}} at {{status.CreatedOn | date:\\'dd/MMM/yy h:mm:ss a\\'}}

    {{chat.UserName}}  {{chat.MessageTime | date:\\'dd/MMM/yy h:mm:ss a\\'}}

    {{chat.Message}}
    \\\"image-1\\\" {{chat.AttachmentLink}}
    \\\"\\\"

    {{status.userName}}  {{status.CreatedOn | date:\\'dd/MMM/yy h:mm:ss a\\'}}

    {{status.activity}} Follow UP --{{status.activity}} 0 && status.primaryReason!=\\'null\\'\\\">{{\\\"( \\\" + status.primaryReason+\\\"-\\\"+status.SecondryReason + \\\" )\\\" }}
    0 && status.ReasonComment!=\\'null\\'\\\">-{{status.ReasonComment}}
    \\\"\\\"

    {{status.userName}}  {{status.CreatedOn | date:\\'dd/MMM/yy h:mm:ss a\\'}}

    {{status.activity}} Follow UP --{{status.activity}} 0 && status.primaryReason!=\\'null\\'\\\">{{\\\"( \\\" + status.primaryReason+\\\"-\\\"+status.SecondryReason + \\\" )\\\" }}
    0 && status.ReasonComment!=\\'null\\'\\\">-{{status.ReasonComment}}
    {{\\\"Remark: \\\" + status.CompletionRemark + \\\" \\\" }}

    \\\"image\\\"
    • Add New Members
    Last Updated on :

    Ticket is Pending for Assignation to Vendor Field Engineer, Tracking Map appears when Ticket is assigned to Field Engineer

    Rule NameStageScenarioGradeApplicableAmount
    {{BonusPenalty.Name}}{{BonusPenalty.Stage}}{{BonusPenalty.Scenario}}{{BonusPenalty.Grade}}{{BonusPenalty.Applied}}{{BonusPenalty.Amount}}

    Total Bonus

    {{JobDetailViewCtrl.TicketInfo.TotalBonus}}

    Rule NameStageScenarioGradeApplicableAmount
    {{Penalty.Name}}{{Penalty.Stage}}{{Penalty.Scenario}}{{Penalty.Grade}}{{Penalty.Applied}}{{Penalty.Amount}}

    Total Penalty

    {{JobDetailViewCtrl.TicketInfo.TotalPenalty}}

    FromToCall StatusStart TimeDuration(mins) / Distance(mtr)RecordingStatusField EventService Interpretation
    {{callD.CallFrom}}{{callD.CallTo}} {{callD.CallStartTime | date:\\'dd/MM/yyyy hh:mm a\\'}}{{callD.Duration}}
    {{callD.FieldRemark}}

    {{callD.ServiceRemark}}
    • Tracking No

      {{trackingData.TrackingStatusModel.TrackingNumber}}
    • To

      {{trackingData.TrackingStatusModel.ShipmentTo}}
    • From

      {{trackingData.TrackingStatusModel.ShipmentFrom}}
    • Date of Shipment

      {{trackingData.TrackingStatusModel.DateOfShipment}}
    • Deliver Date

      {{trackingData.TrackingStatusModel.ItemDeliveredDate | date:\\'dd/MMM/yyyy h:mm a\\'}}
    • Deliver Status

      {{trackingData.TrackingStatusModel.TrackingStatus}}
    LineItem IdHardware DescriptionQuantityCompany ProvidedBase PriceFreelancer PriceSalesOrder StatusRemarks
    {{hwDetail.LineItemId}}{{hwDetail.LineItemDescription}}{{hwDetail.LineItemQuantity}}{{hwDetail.LineItemCompanyProvided}}{{hwDetail.dLineItemWinPrice}}{{hwDetail.dLineItemFreelancerPrice}}{{hwDetail.ZOHOSalesOrderStatus}}{{hwDetail.LineItemRemark}}
    • Tracking No

      9938
    • To

      No. 3, Ground Floor, Part 1 Market,Greater Kailash I, Greater Kailash, Delhi - 110048
    • From

      HCL Technologies Limited, C-22A, Sector 57, Noida, Uttar Pradesh 201301
    • Date of Shipment

      15/Apr/2022
    • Deliver Date

      18/Apr/2022
    • Deliver Status

      Delivered
    S.NOHardware DescriptionQuantityCompany ProvidedBase PriceFreelancer PriceRemarks
    1P_10_823No776556446Service
    2HWCollection6No672564HW_collected_1
    3HW_17656No755643HW_collected_2
    4dHW_13No666564HW_collected_3
    Site Audit StatusSite Audited OnSite Audited BySite Audit Report
    {{Audittool.AuditResult}} {{Audittool.AuditResult}}{{Audittool.AuditDate | date:\\'dd/MM/yyyy hh:mm a\\'}}{{Audittool.AuditorDetails.AuditorName}}
    Collection
    Payment
    TypeActivity DescriptionQuantityCompany ProvidedWarehouseBase PriceFreelancer PriceSalesOrder StatusRemarksSourceApproval StatusAction
    {{priceLineItem.LineItemCategory}}{{priceLineItem.LineItemDescription}}{{priceLineItem.LineItemQuantity}} {{priceLineItem.LineItemCompanyProvided}}{{priceLineItem.ZOHOWarehouseName}}{{(priceLineItem.LineItemQuantity)*(priceLineItem.dLineItemWinPrice)}} {{(priceLineItem.LineItemQuantity)*(priceLineItem.dLineItemFreelancerPrice)}} {{priceLineItem.ZOHOSalesOrderStatus}} {{priceLineItem.AddedFromField}}{{priceLineItem.CustomerApprovalStatus}} {{priceLineItem.BackendApprovalStatus}} init View Document Upload File

    Total

    TypeActivity DescriptionQuantityCompany ProvidedWarehouseBase PriceFreelancer PriceSalesOrder StatusRemarksSourceApproval StatusAction
    {{priceLineItem.LineItemCategory}}{{priceLineItem.LineItemDescription}}{{priceLineItem.LineItemQuantity}} {{priceLineItem.LineItemCompanyProvided}}{{priceLineItem.ZOHOWarehouseName}}{{(priceLineItem.LineItemQuantity)*(priceLineItem.dLineItemWinPrice)}} {{(priceLineItem.LineItemQuantity)*(priceLineItem.dLineItemFreelancerPrice)}} {{priceLineItem.ZOHOSalesOrderStatus}} {{priceLineItem.AddedFromField}}{{priceLineItem.CustomerApprovalStatus}} {{priceLineItem.BackendApprovalStatus}}
    • {{Steps}}
    Select All

    {{Sections.SectionName}}

    3 3 4
    Item NameDataUpdated OnReject / commentStatusAction

    {{items.ItemName}}

    \\\"image-1\\\"
    0\\\" ng-repeat=\\\"imgsss in items.ItemValues track by $index\\\">\\\"image-1\\\"

    View full pdf
    {{items.ItemValue}} {{items.ItemValue |date:\\'dd/MMM/yy h:mm:ss a\\'}}
    0\\\" ng-repeat=\\\"imgsss in items.ItemValues track by $index\\\">\\\"image-1\\\"
    Wrong Serial Number or Pattern!
    {{items.ItemUpdateDate |date:\\'dd/MMM/yy h:mm:ss a\\'}}

    {{items.ItemComment}}

    {{items.ItemStatus}}

    Basic Details

    3 3 4
    Site ID.VbKRR108
    Circle.Vbdjjs
    CustomerYes
    ASP Name.Navneet
    CityGhsj
    ActivityVbdjjs
    PTW Applied Time.Nov 26, 2022
    Valid FromNov 27, 2022
    Valid ToNov 28, 2022

    Project Checklist

    3 3 4
    Is complete PPE available with team and defect free.Yes
    Photo of complete PPE available with team and defect free.
    Remarks for PPE available with team and defect freeYes
    Is the complete tool kit available with team.Navneet
    Photo of complete tool kit available with team.
    Remarks complete tool kit available with teamVbdjjs
    Is the complete First Aid Box available with team.Yes
    Photo of complete First Aid Box available with team.Yes
    Remarks for complete First Aid Box available with team.Yes
    Is certified First Aider available with team.Yes
    Photo of certified First Aider available with team.Yes
    Remarks for certified First Aider available with team.Yes

    Risk Assessment Template

    3 3 4
    Select the appropriate risk levels for the below mentioned aspects after site verification Site conditions and justification of risk rating can be entered in comment wherever applicable.
    Vegetation at site.Yes
    Photo of Vegetation at site.
    Remarks for Vegetation at site.Yes
    Water logging at site.Yes
    Photo of Water logging at site.
    Remarks complete tool kit available with teamVbdjjs
    Is the complete First Aid Box available with team.Yes
    Photo of complete First Aid Box available with team.Yes
    Remarks for complete First Aid Box available with team.Yes
    Is certified First Aider available with team.Yes
    Photo of certified First Aider available with team.Yes
    Remarks for certified First Aider available with team.Yes

    Verification of Team

    3 3 4
    This is just some content to illustrate fancy headings.

    Pre Task PTW Approver

    3 3 4
    This is just some content to illustrate fancy headings.

    Pre Task PTW Approver

    3 3 4
    This is just some content to illustrate fancy headings.

    OHS APPROVAL

    3 3 4
    This is just some content to illustrate fancy headings.
    Static Header, initially expanded This content is straight in the template.
    Dynamic Body Content

    The body of the uib-accordion group grows to fit the contents

    I can have markup, too! This is just some content to illustrate fancy headings.
    I can have markup, too! This is just some content to illustrate fancy headings.
    I can have markup, too! This is just some content to illustrate fancy headings.
    I can have markup, too! This is just some content to illustrate fancy headings.
    I can have markup, too! This is just some content to illustrate fancy headings.
    I can have markup, too! This is just some content to illustrate fancy headings.

    No Queries Found

    • \\\"User
      {{case.strQueryBy}} {{case.dateQueryOn | date:\\'dd/MM/yyyy hh:mm a\\' }}

      {{case.strQuery}}

    • \\\"User
      {{case.dateResponseOn | date:\\'dd/MM/yyyy hh:mm a\\' }} {{case.strResponseBy}}

      {{case.strResponse}}

    {{JobDetailViewCtrl.lastTag}}

    Tracking# - {{JobDetailViewCtrl.trackNo}}
    • {{orderStatus.checkpoint_time | date: \\'dd/MMM/yyyy\\'}}

      {{orderStatus.checkpoint_time | date: \\'h:mm a\\'}}
    • {{orderStatus.message}}
    \");\n$templateCache.put(\"app/JobDetailViewNew/JobDetailViewNew.html\",\"
    1. Home
    2. Job Details
    by pass serial number
    Technician Denied Your Job Request
    • {{JobDetailViewNewCtrl.FreelancerBidCount}}  Technicians
    • \\\"image\\\"
      {{rUser.Username}}

      Job {{rUser.JobTotal}} | Distance {{rUser.Distance}} | Assigned Jobs {{rUser.TotalAssignedJobs}}

      {{rUser.DenyReason}}

    Technician Accepted Your Job Request
    • {{JobDetailViewNewCtrl.ReadyUserLength}}  Technicians
    • \\\"image\\\"
      {{rUser.name}}

      Jobs {{rUser.JobTotal}} | Distance {{rUser.UserDistance}} | Assigned Jobs {{rUser.TotalAssignedJobs}}

    Ticket ID - {{JobDetailViewNewCtrl.TicketInfo.TicketId}}  

    on {{JobDetailViewNewCtrl.TicketInfo.CreationDate | date:\\'dd/MMM/yyyy h:mm:ss a\\' }}

    Work Order ID - {{JobDetailViewNewCtrl.TicketInfo.GroupId}}  

    {{JobDetailViewNewCtrl.TicketInfo.SkillSet}}    

    {{JobDetailViewNewCtrl.TicketInfo.JobDescription}}  

    Customer Satisfaction    

    {{JobDetailViewNewCtrl.TicketInfo.HappyCodeResult}}  

    {{JobDetailViewNewCtrl.TicketInfo.TicketStatus}} {{JobDetailViewNewCtrl.TicketInfo.JobStartApprovalState}}
    {{JobDetailViewNewCtrl.TicketInfo.SubStatus}}

    Schedule : Complete Work By {{JobDetailViewNewCtrl.TicketInfo.PlannedClosureDate | date:\\'dd/MMM/yyyy h:mm a\\'}} Complete Work By {{JobDetailViewNewCtrl.TicketInfo.PlannedClosureDate | date: \\'dd/MMM/yyyy h:mm a\\'}} Complete Work By {{JobDetailViewNewCtrl.TicketInfo.PlannedClosureDate | date:\\'dd/MMM/yyyy h:mm a\\'}}

    Appointment Time: {{JobDetailViewNewCtrl.TicketInfo.PlannedStartDate | date:\\'dd/MMM/yyyy h:mm a\\'}}

    {{JobDetailViewNewCtrl.TicketInfo.CustomerName}}
    {{JobDetailViewNewCtrl.TicketInfo.Address1}}, {{JobDetailViewNewCtrl.TicketInfo.Address2}},{{JobDetailViewNewCtrl.TicketInfo.City}}
    {{JobDetailViewNewCtrl.TicketInfo.State}} , {{JobDetailViewNewCtrl.TicketInfo.Pincode}}
    Call to customer
    \\\"image\\\"
    Call to Alternate No.
    \\\"image\\\"

    Technician : {{JobDetailViewNewCtrl.TicketInfo.VendorName}} ({{JobDetailViewNewCtrl.TicketInfo.VendorId}})    \\\"image\\\"

    Technician : {{JobDetailViewNewCtrl.TicketInfo.UserName}} ({{JobDetailViewNewCtrl.TicketInfo.UserId}})    \\\"image\\\"

    Technician : UnAssigned

    Engineer Name : {{JobDetailViewNewCtrl.TicketInfo.UserName}} ({{JobDetailViewNewCtrl.TicketInfo.UserId}})

    Engineer Name : UnAssigned

    0 && JobDetailViewNewCtrl.Role !=\\'Customer\\'\\\" ng-repeat=\\\"fTeam in JobDetailViewNewCtrl.TicketInfo.ListFieldSupportTeam\\\">{{fTeam.SupportEngineerName}} 0 && JobDetailViewNewCtrl.Role ==\\'Customer\\'\\\" ng-repeat=\\\"fTeam in JobDetailViewNewCtrl.TicketInfo.ListFieldSupportTeam\\\">{{fTeam.SupportEngineerName}}
    Job Overview
    Spare Parts
    Collection
    Payment
    Scope Of Work
    Customer Details

    Please click here to see the given and updated customer location on map.

    Tracking Only Allowed During Business Hours

    Schedule
    Appointment Time
    {{JobDetailViewNewCtrl.getReadableTime(JobDetailViewNewCtrl.TicketInfo.PlannedStartDate)}}
    {{JobDetailViewNewCtrl.TicketInfo.AppointmentTakenDate| date:\\'yyyy/MM/dd h:mm:ss a\\'}}
    {{JobDetailViewNewCtrl.getReadableTime(JobDetailViewNewCtrl.TicketInfo.EndTime)}}
    Your ticket is scheduled on {{JobDetailViewNewCtrl.getReadableTime(JobDetailViewNewCtrl.TicketInfo.PlannedStartDate | date:\\'dd/MMM/yyyy h:mm:ss a\\')}} from {{JobDetailViewNewCtrl.getReadableTime(JobDetailViewNewCtrl.TicketInfo.PlannedStartDate | date:\\'dd/MMM/yyyy h:mm:ss a\\')}}
    Complete Ticket by
    Showing {{JobDetailViewNewCtrl.FixedUserLength}} Technician with inKms   ranked by
    Showing {{JobDetailViewNewCtrl.NearByUserLength}} Technicianwith inKms   ranked by
    Private User
    Compliance
    Pincode Based
    Showing {{JobDetailViewNewCtrl.PrefreUserLength}} Technicianwith inKms   ranked by
    Showing {{JobDetailViewNewCtrl.PreviousUserLength}} Technician with inKms   ranked by
    Supervisior

    Appointment time
    {{JobDetailViewNewCtrl.getReadableTime(JobDetailViewNewCtrl.TicketInfo.StartTime)}}
    {{JobDetailViewNewCtrl.getReadableTime(JobDetailViewNewCtrl.TicketInfo.EndTime)}}
    Your ticket is scheduled from {{JobDetailViewNewCtrl.getReadableTime(JobDetailViewNewCtrl.TicketInfo.StartTime)}} to {{JobDetailViewNewCtrl.getReadableTime(JobDetailViewNewCtrl.TicketInfo.EndTime)}}
    Material Delivered Status
    Ticket Detail

    {{JobDetailViewNewCtrl.TicketInfo.TechnicianRating}}

    Rate Detail
    {{JobDetailViewNewCtrl.ConverttoDecimal(JobDetailViewNewCtrl.TicketInfo.BroadcastRate)}}
    {{JobDetailViewNewCtrl.ConverttoDecimal(JobDetailViewNewCtrl.TicketInfo.BroadcastGrossRate)}}
    {{JobDetailViewNewCtrl.ConverttoDecimal(JobDetailViewNewCtrl.TicketInfo.MobiforceCommission)}}%
    {{JobDetailViewNewCtrl.TicketInfo.BidDuration}} Min
    Field Team List
    NameUser IdRolePhoto
    {{superField.SupportEngineerName}}{{superField.SupportEngineerUserId}}{{superField.SupportEngineerRole}}\\\"image-1\\\"
    Supervisor View

    Field Data Capture
    Field Team List
    NameUser IdRolePhoto
    {{superField.SupportEngineerName}}{{superField.SupportEngineerUserId}}{{superField.SupportEngineerRole}}\\\"image-1\\\"
    Field Data Capture
    Select All
    SelectItem NameDataUpdated OnUpdate HistoryReject / commentStatus

    \\\"image-1\\\"
    0\\\" ng-repeat=\\\"imgsss in docList.ItemValues track by $index\\\">\\\"image-1\\\"
    {{docList.ItemValue}} {{skill}}
    link{{docList.ItemUpdateDate |date:\\'dd/MMM/yy h:mm:ss a\\'}}{{docList.ItemComment}}

    {{docList.ItemComment}}

    {{docList.ItemStatus}}
    \\\"\\\"

    {{status.userName}}  {{status.CreatedOn |date:\\'dd/MMM/yy h:mm:ss a\\'}}

    {{status.activity}} Follow Up - {{status.activity}} 0 && status.primaryReason!=\\'null\\'\\\">{{\\\"( \\\" + status.primaryReason+\\\"-\\\"+status.SecondryReason + \\\" )\\\" }} {{\\\"( \\\" + status.ThirdReason + \\\" )\\\" }}
    {{\\\"Remark: \\\" + status.CompletionRemark + \\\" \\\" }}
    \\\"\\\"

    {{status.userName}}  {{status.CreatedOn |date:\\'dd/MMM/yy h:mm:ss a\\'}}

    {{status.activity}} Follow UP --{{status.activity}} 0 && status.primaryReason!=\\'null\\'\\\">{{\\\"( \\\" + status.primaryReason+\\\"-\\\"+status.SecondryReason + \\\" )\\\" }}
    0 && status.ReasonComment!=\\'null\\'\\\">-{{status.ReasonComment}}
    \\\"\\\"

    {{status.userName}}  {{status.CreatedOn | date:\\'dd/MMM/yy h:mm:ss a\\'}}

    {{status.activity}} Follow UP --{{status.activity}} 0 && status.primaryReason!=\\'null\\'\\\">{{\\\"( \\\" + status.primaryReason+\\\"-\\\"+status.SecondryReason + \\\" )\\\" }}
    0 && status.ReasonComment!=\\'null\\'\\\">-{{status.ReasonComment}}
    {{\\\"Remark: \\\" + status.CompletionRemark + \\\" \\\" }}

    \\\"image\\\"
    • Add New Members
    Last Updated on :

    Ticket is Pending for Assignation to Vendor Field Engineer, Tracking Map appears when Ticket is assigned to Field Engineer

    Tracking Only Allowed During Business Hours

    Rule NameStageScenarioGradeApplicableAmount
    {{BonusPenalty.Name}}{{BonusPenalty.Stage}}{{BonusPenalty.Scenario}}{{BonusPenalty.Grade}}{{BonusPenalty.Applied}}{{BonusPenalty.Amount}}

    Total Bonus

    {{JobDetailViewNewCtrl.TicketInfo.TotalBonus}}

    Rule NameStageScenarioGradeApplicableAmount
    {{Penalty.Name}}{{Penalty.Stage}}{{Penalty.Scenario}}{{Penalty.Grade}}{{Penalty.Applied}}{{Penalty.Amount}}

    Total Penalty

    {{JobDetailViewNewCtrl.TicketInfo.TotalPenalty}}

    FromToCall StatusStart TimeDuration(mins) / Distance(mtr)RecordingStatusField EventService Interpretation
    {{callD.CallFrom}}{{callD.CallTo}} {{callD.CallStartTime | date:\\'dd/MM/yyyy hh:mm a\\'}}{{callD.Duration}}
    {{callD.FieldRemark}}

    {{callD.ServiceRemark}}
    • Tracking No

      {{trackingData.TrackingStatusModel.TrackingNumber}}
    • To

      {{trackingData.TrackingStatusModel.ShipmentTo}}
    • From

      {{trackingData.TrackingStatusModel.ShipmentFrom}}
    • Date of Shipment

      {{trackingData.TrackingStatusModel.DateOfShipment}}
    • Deliver Date

      {{trackingData.TrackingStatusModel.ItemDeliveredDate | date:\\'dd/MMM/yyyy h:mm a\\'}}
    • Deliver Status

      {{trackingData.TrackingStatusModel.TrackingStatus}}
    LineItem IdHardware DescriptionQuantityCompany ProvidedBase PriceFreelancer PriceSalesOrder StatusRemarks
    {{hwDetail.LineItemId}}{{hwDetail.LineItemDescription}}{{hwDetail.LineItemQuantity}}{{hwDetail.LineItemCompanyProvided}}{{hwDetail.dLineItemWinPrice}}{{hwDetail.dLineItemFreelancerPrice}}{{hwDetail.ZOHOSalesOrderStatus}}{{hwDetail.LineItemRemark}}
    Site Audit StatusSite Audited OnSite Audited BySite Audit Report
    {{Audittool.AuditResult}} {{Audittool.AuditResult}}{{Audittool.AuditDate | date:\\'dd/MM/yyyy hh:mm a\\'}}{{Audittool.AuditorDetails.AuditorName}}
    Collection
    Payment
    TypeActivity DescriptionQuantityCompany ProvidedWarehouseBase PriceFreelancer PriceSalesOrder StatusRemarksSourceAction
    {{priceLineItem.LineItemCategory}}{{priceLineItem.LineItemDescription}}{{priceLineItem.LineItemQuantity}} {{priceLineItem.LineItemCompanyProvided}}{{priceLineItem.ZOHOWarehouseName}}{{(priceLineItem.LineItemQuantity)*(priceLineItem.dLineItemWinPrice)}} {{(priceLineItem.LineItemQuantity)*(priceLineItem.dLineItemFreelancerPrice)}} {{priceLineItem.ZOHOSalesOrderStatus}}{{priceLineItem.LineItemRemark}} {{priceLineItem.AddedFromField}} init View Document Upload File

    Total

    • {{Steps}}
    Select All

    {{Sections.SectionName}}

    3 3 4
    Item NameDataUpdated OnReject / commentStatusAction

    {{items.ItemName}}

    \\\"image-1\\\"
    0\\\" ng-repeat=\\\"imgsss in items.ItemValues track by $index\\\">\\\"image-1\\\"

    {{items.ItemValue}} {{items.ItemValue |date:\\'dd/MMM/yy h:mm:ss a\\'}}
    0\\\" ng-repeat=\\\"imgsss in items.ItemValues track by $index\\\">\\\"image-1\\\"
    Wrong Serial Number or Pattern!
    {{items.ItemUpdateDate |date:\\'dd/MMM/yy h:mm:ss a\\'}}

    {{items.ItemComment}}

    {{items.ItemStatus}}

    Basic Details

    3 3 4
    Site ID.VbKRR108
    Circle.Vbdjjs
    CustomerYes
    ASP Name.Navneet
    CityGhsj
    ActivityVbdjjs
    PTW Applied Time.Nov 26, 2022
    Valid FromNov 27, 2022
    Valid ToNov 28, 2022

    Project Checklist

    3 3 4
    Is complete PPE available with team and defect free.Yes
    Photo of complete PPE available with team and defect free.
    Remarks for PPE available with team and defect freeYes
    Is the complete tool kit available with team.Navneet
    Photo of complete tool kit available with team.
    Remarks complete tool kit available with teamVbdjjs
    Is the complete First Aid Box available with team.Yes
    Photo of complete First Aid Box available with team.Yes
    Remarks for complete First Aid Box available with team.Yes
    Is certified First Aider available with team.Yes
    Photo of certified First Aider available with team.Yes
    Remarks for certified First Aider available with team.Yes

    Risk Assessment Template

    3 3 4
    Select the appropriate risk levels for the below mentioned aspects after site verification Site conditions and justification of risk rating can be entered in comment wherever applicable.
    Vegetation at site.Yes
    Photo of Vegetation at site.
    Remarks for Vegetation at site.Yes
    Water logging at site.Yes
    Photo of Water logging at site.
    Remarks complete tool kit available with teamVbdjjs
    Is the complete First Aid Box available with team.Yes
    Photo of complete First Aid Box available with team.Yes
    Remarks for complete First Aid Box available with team.Yes
    Is certified First Aider available with team.Yes
    Photo of certified First Aider available with team.Yes
    Remarks for certified First Aider available with team.Yes

    Verification of Team

    3 3 4
    This is just some content to illustrate fancy headings.

    Pre Task PTW Approver

    3 3 4
    This is just some content to illustrate fancy headings.

    Pre Task PTW Approver

    3 3 4
    This is just some content to illustrate fancy headings.

    OHS APPROVAL

    3 3 4
    This is just some content to illustrate fancy headings.
    Static Header, initially expanded This content is straight in the template.
    Dynamic Body Content

    The body of the uib-accordion group grows to fit the contents

    I can have markup, too! This is just some content to illustrate fancy headings.
    I can have markup, too! This is just some content to illustrate fancy headings.
    I can have markup, too! This is just some content to illustrate fancy headings.
    I can have markup, too! This is just some content to illustrate fancy headings.
    I can have markup, too! This is just some content to illustrate fancy headings.
    I can have markup, too! This is just some content to illustrate fancy headings.

    {{JobDetailViewNewCtrl.lastTag}}

    Tracking# - {{JobDetailViewNewCtrl.trackNo}}
    • {{orderStatus.checkpoint_time | date: \\'dd/MMM/yyyy\\'}}

      {{orderStatus.checkpoint_time | date: \\'h:mm a\\'}}
    • {{orderStatus.message}}
    \");\n$templateCache.put(\"app/JobDetailViewCombo/JobDetailViewCombo.html\",\"
    1. Home
    2. Job Details
    Technician Denied Your Job Request
    • {{JobDetailViewComboCtrl.FreelancerBidCount}}  Technicians
    • \\\"image\\\"
      {{rUser.Username}}

      Job {{rUser.JobTotal}} | Distance {{rUser.Distance}} | Assigned Jobs {{rUser.TotalAssignedJobs}}

      {{rUser.DenyReason}}

    Technician Accepted Your Job Request
    • {{JobDetailViewComboCtrl.ReadyUserLength}}  Technicians
    • \\\"image\\\"
      {{rUser.name}}

      Jobs {{rUser.JobTotal}} | Distance {{rUser.UserDistance}} | Assigned Jobs {{rUser.TotalAssignedJobs}}

    • {{status.WorkOrderType}} {{status.DurationToComplete}} days

    Work Order Id - {{JobDetailViewComboCtrl.TicketInfo.TicketId}}  

    on {{JobDetailViewComboCtrl.TicketInfo.CreationDate | date:\\'dd/MMM/yyyy h:mm:ss a\\' }}

    {{JobDetailViewComboCtrl.TicketInfo.SkillSet}}    

    {{JobDetailViewComboCtrl.TicketInfo.JobDescription}}  

    Customer Satisfaction    

    {{JobDetailViewComboCtrl.TicketInfo.HappyCodeResult}}  
    {{JobDetailViewComboCtrl.TicketInfo.TicketStatus}}
    {{JobDetailViewComboCtrl.TicketInfo.SubStatus}}

    Schedule : Complete Work By {{JobDetailViewComboCtrl.TicketInfo.PlannedClosureDate | date:\\'dd/MMM/yyyy h:mm a\\'}} Complete Work By {{JobDetailViewComboCtrl.TicketInfo.PlannedClosureDate | date: \\'dd/MMM/yyyy h:mm a\\'}} Complete Work By {{JobDetailViewComboCtrl.TicketInfo.PlannedClosureDate | date:\\'dd/MMM/yyyy h:mm a\\'}}

    Appointment Time: {{JobDetailViewComboCtrl.TicketInfo.PlannedStartDate | date:\\'dd/MMM/yyyy h:mm a\\'}}

    {{JobDetailViewComboCtrl.TicketInfo.CustomerName}}
    {{JobDetailViewComboCtrl.TicketInfo.Address1}}, {{JobDetailViewComboCtrl.TicketInfo.Address2}},{{JobDetailViewComboCtrl.TicketInfo.City}}
    {{JobDetailViewComboCtrl.TicketInfo.State}} , {{JobDetailViewComboCtrl.TicketInfo.Pincode}}
    Call to customer
    \\\"image\\\"

    Technician : {{JobDetailViewComboCtrl.TicketInfo.VendorName}} ({{JobDetailViewComboCtrl.TicketInfo.VendorId}})    \\\"image\\\"

    Technician : {{JobDetailViewComboCtrl.TicketInfo.UserName}} ({{JobDetailViewComboCtrl.TicketInfo.UserId}})    \\\"image\\\"

    Technician : UnAssigned

    Engineer Name : {{JobDetailViewComboCtrl.TicketInfo.UserName}} ({{JobDetailViewComboCtrl.TicketInfo.UserId}})

    Engineer Name : UnAssigned

    0\\\" ng-repeat=\\\"fTeam in JobDetailViewComboCtrl.TicketInfo.ListFieldSupportTeam\\\">{{fTeam.SupportEngineerName}}
    Tickets List
    JobIDSiteIDSiteNameSkillCityStateTechnician NameFollowUp ReasonStatusAssign DateField Age(dd:hh:mm:ss)Project NamePrimary ReasonCancel ReasonRejection Remarkclone ReasonSub StatusSecondary StatusCreated DateStart TimeBroadcasted DatePincodeAmt CollectedAmt to Be CollectedFreelancer Rate
    {{newJob.TicketId}}{{newJob.JobId}}{{newJob.SiteName}}{{newJob.SkillSet}}{{newJob.City}}{{newJob.State}}\\\"image\\\" {{newJob.Assignee}}{{newJob.LastFollowUpMsg}}{{newJob.AssignationDate | date: \\'dd/MM/yyyy\\'}}{{newJob.FieldAge}}{{newJob.ProjectName}}{{newJob.PrimaryReason}}{{newJob.TicketCancelReason}}{{newJob.RejectionRemark}}{{newJob.CloneReason}}{{newJob.CreationDate | date: \\'dd/MM/yyyy\\'}}{{newJob.StartTimeD}}{{newJob.JobBroadcastDateTime | date:\\'dd/MM/yyyy\\'}}{{newJob.Pincode}}{{newJob.AmountCollected}}{{newJob.AmountToBeCollected}}{{newJob.FreelancerRate}}
    Work Order List
    JobIDSiteIDSiteNameSkillActionCityStateEstimate Share StateEstimation AttachementEstimation Share RemarkTechnician NameFollowUp ReasonStatusAssign DateField Age(dd:hh:mm:ss)Project NamePrimary ReasonCancel ReasonRejection Remarkclone ReasonSub StatusSecondary StatusCreated DateStart TimeBroadcasted DatePincodeAmt CollectedAmt to Be CollectedFreelancer Rate
    {{newJob.JobId}}{{newJob.SiteName}}{{newJob.SkillSet}}
    {{newJob.City}}{{newJob.State}}{{newJob.EstimateShareState}}{{newJob.EstimationAttachement}}{{newJob.EstimationShareRemark}}\\\"image\\\" {{newJob.Assignee}}{{newJob.LastFollowUpMsg}}{{newJob.AssignationDate | date: \\'dd/MM/yyyy\\'}}{{newJob.FieldAge}}{{newJob.ProjectName}}{{newJob.PrimaryReason}}{{newJob.TicketCancelReason}}{{newJob.RejectionRemark}}{{newJob.CloneReason}}{{newJob.CreationDate | date: \\'dd/MM/yyyy\\'}}{{newJob.StartTimeD}}{{newJob.JobBroadcastDateTime | date:\\'dd/MM/yyyy\\'}}{{newJob.Pincode}}{{newJob.AmountCollected}}{{newJob.AmountToBeCollected}}{{newJob.FreelancerRate}}
    \\\"\\\"

    {{status.userName}}  {{status.CreatedOn | date:\\'dd/MMM/yy h:mm:ss a\\'}}

    {{status.activity}} Follow Up - {{status.activity}} 0 && status.primaryReason!=\\'null\\'\\\">{{\\\"( \\\" + status.primaryReason+\\\"-\\\"+status.SecondryReason + \\\" )\\\" }} {{\\\"( \\\" + status.ThirdReason + \\\" )\\\" }}
    {{\\\"Remark: \\\" + status.CompletionRemark + \\\" \\\" }}
    \\\"\\\"

    {{status.userName}}  {{status.CreatedOn | date:\\'dd/MMM/yy h:mm:ss a\\'}}

    {{status.activity}} Follow UP --{{status.activity}} 0 && status.primaryReason!=\\'null\\'\\\">{{\\\"( \\\" + status.primaryReason+\\\"-\\\"+status.SecondryReason + \\\" )\\\" }}
    0 && status.ReasonComment!=\\'null\\'\\\">-{{status.ReasonComment}}
    \\\"\\\"

    {{status.userName}}  {{status.CreatedOn | date:\\'dd/MMM/yy h:mm:ss a\\'}}

    {{status.activity}} Follow UP --{{status.activity}} 0 && status.primaryReason!=\\'null\\'\\\">{{\\\"( \\\" + status.primaryReason+\\\"-\\\"+status.SecondryReason + \\\" )\\\" }}
    0 && status.ReasonComment!=\\'null\\'\\\">-{{status.ReasonComment}}
    {{\\\"Remark: \\\" + status.CompletionRemark + \\\" \\\" }}

    {{JobDetailViewComboCtrl.lastTag}}

    Tracking# - {{JobDetailViewComboCtrl.trackNo}}
    • {{orderStatus.checkpoint_time | date: \\'dd/MMM/yyyy\\'}}

      {{orderStatus.checkpoint_time | date: \\'h:mm a\\'}}
    • {{orderStatus.message}}
    \");\n$templateCache.put(\"app/JobList/JobList.html\",\"
    • T1410000010577_1
    • Fan (Fan Service)
    • Cancelled
    • TBC
    Job Overview
    Customer Details
    Schedule
    Supervisor View
    Payment
    Rohit
    12:45
    Job has been created

    Yesterday

    Sajad
    12:46
    Hey, I bought something yesterdat but haven\\'t gotten any confirmation. Do you know I if the order went through?
    Sajad
    12:46
    You can change your name in JS section!
    Sajad
    12:46
    You can change your name in JS section!
    Rohit
    12:45
    Job(s) uploaded successfully
    Rohit
    12:45
    Hi, welcome to SimpleChat! Go ahead and send me a message. 😄

    Today

    Rohit
    12:45
    Rohit
    12:45
    Rohit
    12:45
    Rohit
    12:45
    Rohit (T)
    12:45

    Few Hours Ago

    Rohit (C)
    12:45
    TypeActivity DescriptionQuantityCompany ProvidedBase PriceFreelancer Price
    ServiceP_192_1601No190162
    BonusBonus1No08
    HWInverter Capacitors1No801716
    GeneralTicket Price Too Low1No014

    Total

    • Action
    • Progress Bar
    • Job ID
    • Accounts Name
    • Site Id
    • Site Name
    • Job Description
    • Job step Approval
    • Job Type
    • Project
    • Customer
    • Location
    • Tecnician Name
    • Partner Name
    • Field Support Team
    • Publish Date
    • Assign Date
    • Latitude
    • Longitude
    • Follow Up Reason
    • Customer Satisfaction
    • Status
    • Sub Status
    • Settlement Status
    • Appointment Time
    • Invoice Status
    • Actual Start Date
    • Completion Date
    • SLA Status
    • TAT
    • Tecnician Date
    • Customer Rating
    • Consumer Name
    • Consumer Contact
    • Address 1
    • Address 2
    • Pincode
    • Supervisor Name
    • Approved Date
    • Freelacer Price
    • Bill Amount
    • schedule Mode
    • Material Delivery Status
    • Material Delivery Date
    • Primary Reason
    • Clone Reason
    • Audit
    • Clone Counter
    • Source Creation Date
    • Planned Closure Date
    • Breach Status
    • Cancellation Reasons
    • Collection Required
    • Collection Mode
    • Amount Collected
    • Amount To Be Collected
    • Region
    • Dispatcher Name
    1. Home
    2. Jobs
    {{JobListCtrl.pageindexCount}} - {{JobListCtrl.ticketListLength}} of {{totalTableUsers}}
    ActionJob IDAccount NameSite IDSite NameJob DescriptionJob Step ApprovalJob TypeProjectCustomerLocationTechnician NameEngineer NamePartner NameField Support TeamPublish DateAssign DateLatitudeLongitudeFollow Up ReasonCustomer SatisfactionStatusSub StatusSettlement StatusAppointment TimeInvoiceStatusActual Start DateCompletion DateSLA StatusTATTechnician RatingCustomer RatingConsumer NameConsumer ContactAddress1Address2PincodeSupervisor NameApproved DateFreelancer PriceBill AmountSchedule ModeMaterial Delivery StatusMaterial Delivery DatePrimary ReasonClone ReasonAuditClone CounterSource Creation DatePlanned Closure DateBreach StatusCancellation ReasonsCollection RequiredCollection ModeAmount CollectedAmount To Be CollectedRegionSite Audit StatusSite Audit DateSite Audit ByDispatcher Name
    • Job Approved

    • Accept Job

    • Download

    • Ticket Report

    • Download Pdf Report

    • Pull back job

    • Reject Job

    • Reject Job

    • Convert to New

    • On Hold

    • Onsite Report

    • Cancel

    • Clone Job

    • UnHold

    • Settlement

    • Follow Up

    • Tracking

    • Reschedule Audit

    • Site Audit

    • Convert To New from Broadcast

  • {{ticket.UserName}}0\\\" ng-repeat=\\\"fTeam in ticket.ListFieldSupportTeam\\\">{{fTeam.SupportEngineerName}}

    \");\n$templateCache.put(\"app/KPIAdvancedDashboard/KPIAdvancedDashboard.html\",\"
    {{rollup}}
    {{chart.ChartTitle}} -
    {{chart.ChartSubtitle}}

    {{KPIdashboard.metricsCharts[chart.ChartId].value&&KPIdashboard.metricsCharts[chart.ChartId].value.length>0?(KPIdashboard.metricsCharts[chart.ChartId].value[$index].ValueType == \\'INR\\'?(KPIdashboard.metricsCharts[chart.ChartId].value[$index].strValue): KPIdashboard.metricsCharts[chart.ChartId].value[$index].Value):\\\"NA\\\"}} {{KPIdashboard.metricsCharts[chart.ChartId].value[$index].AcheivedPercentage}} % {{KPIdashboard.metricsCharts[chart.ChartId].value[$index].AcheivedPercentage}} %

    {{KPIdashboard.DateRangeSelectedKey}} : {{KPIdashboard.metricsCharts[chart.ChartId].value&&KPIdashboard.metricsCharts[chart.ChartId].value.length>0?(KPIdashboard.metricsCharts[chart.ChartId].value[$index].ValueType == \\'INR\\'?(KPIdashboard.metricsCharts[chart.ChartId].value[$index].strTargetValue):KPIdashboard.metricsCharts[chart.ChartId].value[$index].TargetValue):\\\"NA\\\"}}

    {{KPIdashboard.DateRangeSelectedKey}} : {{KPIdashboard.metricsCharts[chart.ChartId].value&&KPIdashboard.metricsCharts[chart.ChartId].value.length>0?(KPIdashboard.metricsCharts[chart.ChartId].value[$index].ValueType == \\'INR\\'?(KPIdashboard.metricsCharts[chart.ChartId].value[$index].strValue):KPIdashboard.metricsCharts[chart.ChartId].value[$index].Value):\\\"NA\\\"}}

    {{chart.ChartTitle}} -
    {{chart.ChartSubtitle}}
    {{KPIdashboard.ActualSelectedKey}}
    Target : {{(KPIdashboard.gaugeCharts[chart.ChartId].value[0].ValueType == \\'INR\\'?(KPIdashboard.gaugeCharts[chart.ChartId].value[0].strTargetValue):KPIdashboard.gaugeCharts[chart.ChartId].value[0].TargetValue)}}
    Remaining : {{(KPIdashboard.gaugeCharts[chart.ChartId].value[0].ValueType == \\'INR\\'?(KPIdashboard.gaugeCharts[chart.ChartId].value[0].strRemainingValue):KPIdashboard.gaugeCharts[chart.ChartId].value[0].RemainingValue)}}
    Exceed : {{(KPIdashboard.gaugeCharts[chart.ChartId].value[0].ValueType == \\'INR\\'?(KPIdashboard.gaugeCharts[chart.ChartId].value[0].strRemainingValue):KPIdashboard.gaugeCharts[chart.ChartId].value[0].RemainingValue)}}
    {{chart.ChartTitle}}
    {{chart.ChartTitle}} -
    {{chart.ChartSubtitle}}
    {{col}}
    {{val}} {{val}}
    \");\n$templateCache.put(\"app/KPIconfiguration/KPIconfiguration.html\",\"
    1. Home
    2. KPI Configuration
    • Account KPI
    • Organisation KPI
    S.No.Acount NameAccount IdBusiness Unit
    {{serialNumber + $index}}{{accounts.AccountName}}{{accounts.AccountId}}{{accounts.BusinessUnit}}
    Business HeadOperationsTech Automation Index
    {{BusinessKPIname.Name}}{{OperationKPIname.Name}}{{TechKPIname.Name}}
    {{businessValue.TargetValue}} {{businessValue.Unit}} %{{operationsValue.TargetValue}} {{operationsValue.Unit}} %{{techAutomateValue.TargetValue}} {{techAutomateValue.Unit}} %
    Sales
    {{SalesKPIname.Name}}{{SalesKPIname.TargetValue}} {{SalesKPIname.Unit}} %
    Network Strength
    {{NetworkKPIname.Name}}{{NetworkKPIname.TargetValue}} {{NetworkKPIname.Unit}} %
    Partner Engagement
    {{partnerKPIname.Name}}{{partnerKPIname.TargetValue}} {{partnerKPIname.Unit}} %
    Consumers
    {{consumerKPIname.Name}}{{consumerKPIname.TargetValue}} {{consumerKPIname.Unit}} %
    Oneserve -VAS
    {{OneservKPIname.Name}}{{OneservKPIname.TargetValue}} {{OneservKPIname.Unit}} %
    Platform Partners
    {{platformKPIname.Name}}{{platformKPIname.TargetValue}} {{platformKPIname.Unit}} %
    \");\n$templateCache.put(\"app/KnowledgeManagementListView/KnowledgeManagementListView.html\",\"
    Sequence No.FileDescriptionTagging
    1
    2
    \");\n$templateCache.put(\"app/KnowledgeManagementSkillView/KnowledgeManagementSkillView.html\",\"

    Video 1

    RF & LOS Survey is the process of planning and designing a wireless network, in particular an 802.11 Wi-Fi wireless network, to provide a wireless solution that will deliver the required wireless coverage.

    Video 2

    Intelligent WAN (iWAN) is a Cisco SD-WAN product that was built from an existing Cisco product (also called iWAN). ... Cisco suggests that customers use the iWAN in conjunction with its integrated services router (ISR) so that they can then dynamically route traffic based on application, endpoint, and network conditions.

    Video 3

    Drive testing is a method of measuring and assessing the coverage, capacity and Quality of Service (QoS) of a mobile radio network.

    Video 4

    A leased line is a private bidirectional or symmetric telecommunications circuit between two or more locations provided according to a commercial contract. It is sometimes also known as a private circuit, and as a data line in the UK.

    Video 5

    VSAT stands for Very Small Aperture Terminal and refers to receive/transmit terminals installed at dispersed sites connecting to a central hub via satellite using small diameter antenna dishes (0.6 to 3.8 meter).

    Video 6

    Single cell functionality test or single site verification that is static test which collect each sector information of the cell site in terms of coverage and quality parameters depends upon the technology in the cellular mobile network.

    Video 7

    broadband is wide bandwidth data transmission which transports multiple signals and traffic types. ... In the context of Internet access, broadband is used to mean any high-speed Internet access that is always on and faster than dial-up access over traditional analog or ISDN PSTN services.

    Video 8

    A very small aperture terminal (VSAT) is a two-way ground station that transmits and receives data from satellites. A VSAT is less than three meters tall and is capable of both narrow and broadband data to satellites in orbit in real-time.

    Video 9

    A base transceiver station (BTS) is a piece of equipment that facilitates wireless communication between user equipment (UE) and a network. UEs are devices like mobile phones (handsets), WLL phones, computers with wireless Internet connectivity.
    \");\n$templateCache.put(\"app/KnowledgeManagementUpload/KnowledgeManagementUpload.html\",\"
    1. Home
    2. App Views
    3. Knowledge Management Upload
    Please upload only jpeg, jpg, png, mp4, mp3 files.

    Course Name :

    Description :

    Tagging :

    Cover Picture :

    FileDescriptionTagging
    \");\n$templateCache.put(\"app/KnowledgeManagementView/KnowledgeManagementView.html\",\"
    1. Home
    2. Knowledge Management
    3. Knowledge Management List

    RFLOS Survey

    RF & LOS Survey is the process of planning and designing a wireless network, in particular an 802.11 Wi-Fi wireless network, to provide a wireless solution that will deliver the required wireless coverage.

    Iwan Survey

    Intelligent WAN (iWAN) is a Cisco SD-WAN product that was built from an existing Cisco product (also called iWAN). ... Cisco suggests that customers use the iWAN in conjunction with its integrated services router (ISR).

    Drive Test

    Drive testing is a method of measuring and assessing the coverage, capacity and Quality of Service (QoS) of a mobile radio network upon the technology in the cellular mobile network and broadband data to satellites in orbit.

    Lease Line

    A leased line is a private bidirectional or symmetric telecommunications circuit between two or more locations provided according to a commercial contract. It is sometimes also known as a private circuit.

    VSAT Installation

    VSAT stands for Very Small Aperture Terminal and refers to receive/transmit terminals installed at dispersed sites connecting to a central hub via satellite using small diameter antenna dishes (0.6 to 3.8 meter).

    SCFT Survey

    Single cell functionality test or single site verification that is static test which collect each sector information of the cell site in terms of coverage and quality parameters depends upon the technology in the cellular.

    Broadband Survey

    broadband is wide bandwidth data transmission which transports multiple signals and traffic types. ... In the context of Internet access, broadband is used to mean any high-speed Internet access.that will deliver coverage.

    VSAT Crosspole

    A very small aperture terminal (VSAT) is a two-way ground station that transmits and receives data from satellites. A VSAT is less than three meters tall and is capable of both narrow and broadband data to satellites in orbit wireless.

    BTS Site Survey

    A base transceiver station (BTS) is a piece of equipment that facilitates wireless communication between user equipment (UE) and a network. UEs are devices like mobile phones (handsets), WLL phones, computers with wireless Internet connectivity.
    \");\n$templateCache.put(\"app/LeaderBoard/LeaderBoard.html\",\"
    MMF LeaderBoard
    Best Team

    of 100

    Deepak Kumar ( White Goods )

    100 points

    Best Leader

    of 100

    Ajay Sharma ( Onboarding )

    98 points

    Money Maker

    of 100

    Yaspal singh ( Telecom )

    ₹ 10,00,000

    Task Master

    of 100

    Paramjeet Singh ( Networking )

    No. of tickets 500

    Profit Machine

    of 100

    Deepak Kumar ( Product)

    30 % take rate

    Best Team
    \\\"no
    \\\"\\\"

    Sanjay Sharma ( Networking )

    \\\"no
    \\\"\\\"

    Sumit Aggarwal ( Onboarding )

    \\\"no
    \\\"\\\"

    Yasraj Singh ( Telecom )

    RankNameDepartmentPoints
    #1\\\"Yaspal NamanOnboarding23
    #2\\\"Yaspal Yaspal singhTelecom21
    #3\\\"Yaspal Suraj PatelNetworking20
    #4\\\"Yaspal Himanshu SinghOnboarding18
    #5\\\"Yaspal Aman agarwalTelcom17
    #6\\\"Yaspal Vishnu RaiWhite Goods16
    #7\\\"Yaspal Vikas SharmaOnboarding14
    #8\\\"Yaspal Sachin GuptaWhite Goods13
    #9\\\"Yaspal Suraj RaiNetworking12
    #10\\\"Yaspal Saman SinghWhite Goods11
    Best Leader
    \\\"no
    \\\"\\\"

    Sanjay Sharma ( Networking )

    \\\"no
    \\\"\\\"

    Sumit Aggarwal ( Onboarding )

    \\\"no
    \\\"\\\"

    Yasraj Singh ( Telecom )

    RankNameDepartmentPoints
    #1\\\"Yaspal NamanOnboarding23
    #2\\\"Yaspal Yaspal singhTelecom21
    #3\\\"Yaspal Suraj PatelNetworking20
    #4\\\"Yaspal Himanshu SinghOnboarding18
    #5\\\"Yaspal Aman agarwalTelcom17
    #6\\\"Yaspal Vishnu RaiWhite Goods16
    #7\\\"Yaspal Vikas SharmaOnboarding14
    #8\\\"Yaspal Sachin GuptaWhite Goods13
    #9\\\"Yaspal Suraj RaiNetworking12
    #10\\\"Yaspal Saman SinghWhite Goods11
    Money Maker
    \\\"no
    \\\"\\\"

    Sanjay Sharma ( Networking )

    \\\"no
    \\\"\\\"

    Sumit Aggarwal ( Onboarding )

    \\\"no
    \\\"\\\"

    Yasraj Singh ( Telecom )

    RankNameDepartmentREVENUe
    #1\\\"Yaspal NamanOnboarding23
    #2\\\"Yaspal Yaspal singhTelecom21
    #3\\\"Yaspal Suraj PatelNetworking20
    #4\\\"Yaspal Himanshu SinghOnboarding18
    #5\\\"Yaspal Aman agarwalTelcom17
    #6\\\"Yaspal Vishnu RaiWhite Goods16
    #7\\\"Yaspal Vikas SharmaOnboarding14
    #8\\\"Yaspal Sachin GuptaWhite Goods13
    #9\\\"Yaspal Suraj RaiNetworking12
    #10\\\"Yaspal Saman SinghWhite Goods11
    Task Master
    \\\"no
    \\\"\\\"

    Sanjay Sharma ( Networking )

    \\\"no
    \\\"\\\"

    Sumit Aggarwal ( Onboarding )

    \\\"no
    \\\"\\\"

    Yasraj Singh ( Telecom )

    RankNameDepartmentNo. of Tickets
    #1\\\"Yaspal NamanOnboarding23
    #2\\\"Yaspal Yaspal singhTelecom21
    #3\\\"Yaspal Suraj PatelNetworking20
    #4\\\"Yaspal Himanshu SinghOnboarding18
    #5\\\"Yaspal Aman agarwalTelcom17
    #6\\\"Yaspal Vishnu RaiWhite Goods16
    #7\\\"Yaspal Vikas SharmaOnboarding14
    #8\\\"Yaspal Sachin GuptaWhite Goods13
    #9\\\"Yaspal Suraj RaiNetworking12
    #10\\\"Yaspal Saman SinghWhite Goods11
    Profit Machine
    \\\"no
    \\\"\\\"

    Sanjay Sharma ( Networking )

    \\\"no
    \\\"\\\"

    Sumit Aggarwal ( Onboarding )

    \\\"no
    \\\"\\\"

    Yasraj Singh ( Telecom )

    RankNameDepartmentTake Rate
    #1\\\"Yaspal NamanOnboarding23
    #2\\\"Yaspal Yaspal singhTelecom21
    #3\\\"Yaspal Suraj PatelNetworking20
    #4\\\"Yaspal Himanshu SinghOnboarding18
    #5\\\"Yaspal Aman agarwalTelcom17
    #6\\\"Yaspal Vishnu RaiWhite Goods16
    #7\\\"Yaspal Vikas SharmaOnboarding14
    #8\\\"Yaspal Sachin GuptaWhite Goods13
    #9\\\"Yaspal Suraj RaiNetworking12
    #10\\\"Yaspal Saman SinghWhite Goods11
    \");\n$templateCache.put(\"app/LeaveManagement/LeaveManagement.html\",\"
    1. Home
    2. Leave Management
    Select AllLeave DateUser NameUser IDStatusApplied DateApproval DateCancellation DateRejection Date
    \");\n$templateCache.put(\"app/LoadBalancer/LoadBalancer.html\",\"
    1. Home
    2. Load Balance Configuration
    Reporting ToTeamTotal LoadTicket StatusDay 1Day 2Day 3+All DaysAction
    John Doe (DTL)2 Team Members425All21014035385
    TeamTotal LoadTicket StatusDay 1Day 2Day 3+All Days
    Dispatch Supervisor 1315In Progress1008020200
    Pending40301080
    Completed2010535
    Dispatch Supervisor 2110In Progress30101050
    Pending155020
    Completed55515
    Jane Smith (DTL)1 Team Member425All21014035385
    Michael Johnson (DTL)2 Team Members425All21014035385
    \");\n$templateCache.put(\"app/Login/login.html\",\"

    Login

    Please fill the username.
    Please fill the password.
    Forgot password?

    Two Step Authentication

    You can Resend Code in 00:{{countDown}}

    Copyright MyMobiforce © 2024

    Login

    Please fill the username.
    Please fill the password.
    Forgot password?

    Two Step Authentication

    You can Resend Code in 00:{{countDown}}

    Copyright MyMobiforce © 2024

    \");\n$templateCache.put(\"app/Login2Factor/Login2Factor.html\",\"

    Login

    Please fill the username. Please fill the valid username.

    Authentication

    You can Resend Code in 00:{{countDown}}

    Copyright MyMobiforce © 2020

    \");\n$templateCache.put(\"app/ManualAssignation/ManualAssignation.html\",\"
    1. Home
    2. Job Assign
    Submit
    Job IDDecriptionCustomerSkillLocationAge (Days)PriorityCreated DateProjectPincode
    {{newJob.LinkId || newJob.TicketId}} {{newJob.TicketId}}{{newJob.JobDescription}}{{newJob.CustomerName}}{{newJob.SkillSet}}{{newJob.Circle}}{{newJob.Age}}{{newJob.Priority}} NA{{newJob.CreationDate | date: \\'dd/MM/yyyy\\'}}{{newJob.ProjectName}}{{newJob.Pincode}}
    Job IDStart TimeBroadcasted DatePriceDurationSentRecieved
    {{broadcast.LinkId || broadcast.JobId}}{{broadcast.StartDateTime | date: \\'dd/MM/yyyy\\'}}{{broadcast.JobBroadcastDateTime | date: \\'dd/MM/yyyy\\'}}{{broadcast.BroadcastRate}} INR{{broadcast.BIDDuration}} hrs{{broadcast.BIDSend}}{{broadcast.BIDReceived}}
    {{manualAssignation.broadcastError}}

    0\\\" class=\\\"project-list ng-scope\\\" style=\\\"border-bottom: 1px solid rgb(238, 238, 238); cursor: pointer;\\\" ng-repeat=\\\"freeUser in manualAssignation.freelancerUsers | filter: manualAssignation.searchUserText | orderBy : orderProperty\\\" ng-class=\\'{\\\"selectedRow\\\":(manualAssignation.selectedJob==freeUser)}\\'>
    \\\"image\\\" \\\"image\\\"

    {{freeUser.exp}} Years

    0 Total Jobs

    0)\\\" class=\\\"label label-primary\\\">Online Offline

    {{freeUser.exp}} Years

    0\\\">{{freeUser.SkillSet[0]+(freeUser.SkillSetCount>1?\\\"...\\\":\\\"\\\")}}

    0\\\">{{freeUser.Locations[0]+(freeUser.locationCount>1?\\\"...\\\":\\\"\\\")}}

    {{freeUser.Pincode}}

    No data found
    TicketId:-{{manualAssignation.broadcastLinkId || manualAssignation.broadcastTicketId}}

    0\\\" class=\\\"project-list ng-scope\\\" style=\\\"border-bottom: 1px solid rgb(238, 238, 238); cursor: pointer;\\\" ng-repeat=\\\"bidUsers in manualAssignation.BidReceivedJobs |filter: searchUserText | orderBy : orderProperty\\\">
    \\\"image\\\"

    {{bidUsers.BIDStatus}}

    2 Kms

    {{bidUsers.JobsCompletedCount}} 0  Total Jobs

    {{bidUsers.exp}} Years

    0\\\">{{bidUsers.SkillSet}}

    0\\\">{{bidUsers.Locations)}}

    No data found
    {{manualAssignation.broadcastErrorFV}}

    0\\\" class=\\\"project-list ng-scope\\\" style=\\\"border-bottom: 1px solid rgb(238, 238, 238); cursor: pointer;\\\" ng-repeat=\\\"vendors in manualAssignation.FreelancerVendorUsers | filter: manualAssignation.searchUserText | orderBy : orderProperty\\\">
    \\\"image\\\" \\\"image\\\"

    0 Total Jobs

    0)\\\" class=\\\"label label-primary\\\">Online Offline

    {{vendors.exp}} Years

    0\\\">{{vendors.SkillSet[0]+(vendors.SkillSetCount>1?\\\"...\\\":\\\"\\\")}}

    0\\\">{{vendors.Locations[0]+(vendors.locationCount>1?\\\"...\\\":\\\"\\\")}}

    {{vendors.Pincode}}

    No data found
    TicketId:-{{manualAssignation.broadcastLinkId || manualAssignation.broadcastTicketId}}

    0\\\" class=\\\"project-list ng-scope\\\" style=\\\"border-bottom: 1px solid rgb(238, 238, 238); cursor: pointer;\\\" ng-repeat=\\\"bidUsers in manualAssignation.BidReceivedJobs |filter: searchUserText | orderBy : orderProperty\\\">
    \\\"image\\\"

    Satyaver

    {{bidUsers.BIDStatus}}

    2 Kms

    {{bidUsers.JobsCompletedCount}} 0  Total Jobs

    {{bidUsers.exp}} Years

    0\\\">{{bidUsers.SkillSet}}

    0\\\">{{bidUsers.Locations)}}

    No data found
    {{manualAssignation.pageindexCount}} - {{manualAssignation.ticketListLength}} of {{totalTableUsers}}
    Job IDSite IDSite NameRegionDescriptionCustomerBroadcast CountSkillLocationAge (Days)PriorityStatusSentAcceptedRejectedCreated DateStart TimeBroadcasted DatePriceDurationProjectPincode
    {{newJob.LinkId || newJob.TicketId}} {{newJob.TicketId}}{{newJob.JobId}}{{newJob.SiteName}}{{newJob.Region}}{{newJob.JobDescription}}{{newJob.CustomerName}}{{newJob.BroadcastCount}}{{newJob.SkillSet}}{{newJob.Circle}}{{newJob.Age}}{{newJob.Priority}} NA{{newJob.BIDSend}}{{newJob.BIDReceived}}{{newJob.DenyCount}}{{newJob.CreationDate | date: \\'dd/MM/yyyy\\'}}{{newJob.StartTimeD}}{{newJob.JobBroadcastDateTime | date: \\'dd/MM/yyyy\\'}}{{newJob.BroadcastRate}} INR{{newJob.BidDuration}} hrs{{newJob.ProjectName}}{{newJob.Pincode}}
    {{manualAssignation.UsersType}}
    {{manualAssignation.upageindexCount}} - {{manualAssignation.userListLength}} of {{totalUsers}}
       \\\"image\\\" \\\"image\\\" N P

    0)\\\" class=\\\"label label-primary\\\">Online Offline

    {{fixedUsers.ContactNumber}}

    Today Jobs :

    {{fixedUsers.exp}} Years

    0\\\">{{fixedUsers.SkillSet[0]+(fixedUsers.SkillSetCount>1?\\\"...\\\":\\\"\\\")}}
    0\\\">{{fixedUsers.Locations[0]+(fixedUsers.locationCount>1?\\\"...\\\":\\\"\\\")}}

    {{fixedUsers.CurrentPinCode}}

    No data found
    {{main.getVisibleLabel(\\'Vendor\\')}}
    0\\\" class=\\\"project-list ng-scope\\\" style=\\\"border-bottom: 1px solid rgb(238, 238, 238); cursor: pointer;\\\" ng-repeat=\\\"vendors in manualAssignation.vendorList | filter: manualAssignation.searchUserText | orderBy : orderProperty\\\">
    \\\"image\\\"

    {{vendors.CompanyName}} {{vendors.AddressLine2}}

    {{vendors.MobileNumber}}

    0 Total Jobs

    {{vendors.TotalJobs}} Total Jobs

    0\\\">{{vendors.VendorSkillsets[0]+(vendors.VendorSkillsetsCount>1?\\\"...\\\":\\\"\\\")}}

    0\\\">{{vendors.VendorLocations[0]+(vendors.VendorLocationsCount>1?\\\"...\\\":\\\"\\\")}}

    {{vendors.Pincode}}

    No data found
    {{main.getRoleName(\\'Supervisor\\')}}
    0\\\" class=\\\"project-list ng-scope\\\" style=\\\"border-bottom: 1px solid rgb(238, 238, 238); cursor: pointer;\\\" ng-repeat=\\\"supervisors in manualAssignation.supervisorList | filter: manualAssignation.searchUserText | filter : manualAssignation.filteredProperties | orderBy : orderProperty\\\">
    \\\"image\\\" \\\"image\\\"

    {{supervisors.FirstName + \\' \\' + supervisors.LastName}}

    {{supervisors.ContactNumber}}

    {{supervisors.JobTotal}} Total Jobs

    0 Total Jobs

    0\\\">{{supervisors.SkillSet[0]+(supervisors.SkillSetCount>1?\\\"...\\\":\\\"\\\")}}

    0\\\">{{supervisors.Locations[0]+(supervisors.locationCount>1?\\\"...\\\":\\\"\\\")}}

    No data found
    \\\"profile\\\" \\\"profile\\\"

    {{manualAssignation.AvailableUserData.FirstName + \\' \\' + manualAssignation.AvailableUserData.LastName}}

    {{manualAssignation.AvailableUserData.UserId}}
    {{manualAssignation.AvailableUserData.PhoneNumber==null?\\\"...\\\":manualAssignation.AvailableUserData.PhoneNumber}}
    Satyaver@gmail.com
    0\\\">{{manualAssignation.AvailableUserData.SkillSet[0]+(manualAssignation.AvailableUserData.SkillSetCount>1?\\\"...\\\":\\\"\\\")}}
    0\\\">{{manualAssignation.AvailableUserData.Locations[0]+(manualAssignation.AvailableUserData.locationCount>1?\\\"...\\\":\\\"\\\")}}
    NA | Total Jobs | Today Jobs

    Job Information

    • {{manualAssignation.alertMessage}}

    Todays Job

    Job IDDescriptionSkillLocation
    {{ticket.TicketId}}{{ticket.JobDescription}}{{ticket.SkillSet}}{{ticket.State}}
    ×
    Availibility
    ×
    \\\"image\\\"

    {{bidUsers.BIDStatus}}

    2 Kms

    {{bidUsers.JobsCompletedCount}} 0  Total Jobs

    {{bidUsers.exp}} Years

    0\\\">{{bidUsers.SkillSet}}

    0\\\">{{bidUsers.Locations)}}

    No data found
    \");\n$templateCache.put(\"app/ManualAssignationJob/ManualAssignationJob.html\",\"
    {{manualAssignationJob.UsersType}}
      {{manualAssignationJob.upageindexCount}} - {{manualAssignationJob.userListLength}} of {{totalUsers}}
    \\\"image\\\"

    ({{fixedUsers.Role}})

    N P

    {{fixedUsers.UserId}}

    {{fixedUsers.ContactNumber}}

    Last Login

    {{fixedUsers.LastLoginUpdateTime | date:\\'dd/MMM/yy hh:mm a\\'}}

    Today Jobs : {{fixedUsers.TodayJobs}}

    Approved Jobs : {{fixedUsers.TotalJobs}}

    Total Bids :{{fixedUsers.TotalBids}}

    Acceptance Jobs (%) :{{fixedUsers.AvgAcceptanceJobs}}

    Total Jobs : {{fixedUsers.DispatcherTotalJobs}}

    Total New Jobs(Till Date) : {{fixedUsers.DispatcherTotalNewJobs}}

    Total New Jobs(Till Date) : {{fixedUsers.DispatcherTotalNewJobs}}

    Availability :{{fixedUsers.TeamAvailability}}

    Availability :{{fixedUsers.TeamAvailability}}

    First Response Time (%) :{{fixedUsers.FirstResponseRate}}

    Appointment Met Rate (%) :{{fixedUsers.AppointmentMetRate}}

    Job Completion (%) :{{fixedUsers.AvgJobCompeltionRate}}

    0\\\">{{fixedUsers.CurrentPinCode}}

    {{fixedUsers.SkillSet[0]+(fixedUsers.SkillSetCount>1?\\\"...\\\":\\\"\\\")}}

    • Jobs
    • Combo Suggestion
    Call ID Job IDStatusSub StatusActionCityPincodeSentAcceptedRejectedProductPart Order IDPart Order StatusWarranty StatusDistance (KM)Consumer NameConsumer ContactDealer NameDealer Contact
    Total New Age(dd:hh:mm:ss)
    Total Broadcast Age(dd:hh:mm:ss)
    Total Assigned Age (dd:hh:mm:ss)
    Total Hold Age(dd:hh:mm:ss)
    Total Completed Age(dd:hh:mm:ss)
    Total Exception Age(dd:hh:mm:ss)
    Total Rejected Age (dd:hh:mm:ss)
    Total Age(dd:hh:mm:ss)
    Broadcast CountRevisit CountRevisit RemarkOpen Queries CountAppointment DateAppointment Taken ByAppointment TATCompletion TATAgeing (Days)Account NameSkillService ByAppointment RescheduleByAppointment RescheduleOnTechnician NamePartner NameField Support TeamAssign DateCancellation DatePlanned Closure DateEstimate Share StateEstimation AttachementEstimation Share RemarkTech Payment StatusTech Payment DateCall Attempts(Tech-Customer)Call Attempts(Backend-Customer)Call Attempts(Backend-Tech)Completion DateApproved DatePrimary ReasonGroup IdSiteIDSiteNameCityStateCancelled ByCancel ReasonCustomer RatingFollowUp ReasonReject CountException TypeProject NameRejection Remarkclone ReasonSecondary StatusCreated DateFreelancer RateDispatcher NameStart TimeBroadcasted DatePriceDurationPincodeAmt CollectedAmt to Be CollectedReplacement IDReplacement StatusGasCharging Request IDGasCharging StatusLocation Type
    {{newJob.City}}{{pincode}}{{newJob.BIDSend}} {{newJob.BIDSend}}{{newJob.BIDReceived}} {{newJob.BIDReceived}}{{newJob.DenyCount}}{{newJob.ProductName}}{{newJob.PartOrderId}}{{newJob.PartOrderStatus}}{{newJob.WarrantyStatus}}{{newJob.Distance}}{{newJob.ConsumerName}}{{newJob.ConsumerContact}}{{newJob.strDealerName }}{{newJob.strDealerContact }}{{newJob.NewAge}}{{newJob.BroadcastedAge}}{{newJob.AssignedAge}}{{newJob.HoldAge}}{{newJob.CompletedAge}}{{newJob.ScheduleExceptionAge}}{{newJob.RejectedAge}}{{newJob.TotalTicketAge}}{{newJob.BroadcastCount}}{{newJob.PlannedStartDate | date:\\'dd/MM/yy hh:mm a\\'}}{{newJob.AppointmentTakenBy}}{{newJob.dAppointmentTAT}}{{newJob.dCompletionTAT}}{{newJob.intAging}}{{newJob.AccountName}}{{skill}}{{ newJob.BrandName }}{{newJob.AppointmentRescheduleBy}}{{newJob.Assignee}}{{fTeam.SupportEngineerName}}{{newJob.AssignationDate | date:\\'dd/MMM/yy hh:mm a\\'}}{{newJob.CancellationDate | date:\\'dd/MMM/yy hh:mm a\\'}}{{newJob.PlannedClosureDate | date:\\'dd/MMM/yy hh:mm a\\'}}{{newJob.EstimateShareState}}{{newJob.EstimationAttachement}}{{newJob.EstimationShareRemark}}{{newJob.TechnicianPaymentStatus}}{{newJob.TechncianPaymentDate | date:\\'dd/MMM/yy hh:mm a\\'}}{{newJob.CallAttempTechToCustomer}}{{newJob.CallAttempBackendToCustomer}}{{newJob.CallAttempBackendToTech}}{{newJob.CompletionDate | date:\\'dd/MMM/yy hh:mm a\\'}}{{newJob.ApprovedDate | date:\\'dd/MMM/yy hh:mm a\\'}}{{newJob.PrimaryReason}}{{newJob.GroupId}}{{newJob.JobId}}{{newJob.SiteName}}{{newJob.City}}{{newJob.State}}{{newJob.CancelledBy}}{{newJob.TicketCancelReason}}{{newJob.CustomerRating}}{{newJob.LastFollowUpMsg}}{{newJob.TicketRejectionCount}}{{newJob.SecondryStatus}}{{newJob.ProjectName}}{{newJob.RejectionRemark}}{{newJob.CloneReason}}{{newJob.CreationDate | date:\\'dd/MM/yyyy hh:mm a\\'}}{{newJob.FreelancerRate}}{{newJob.DispatchSupervisorName}}{{newJob.StartTimeD}}{{newJob.JobBroadcastDateTime | date: \\'dd/MM/yyyy\\'}}{{newJob.BroadcastRate}} INR{{newJob.BidDuration}} hrs{{pincode}}{{newJob.AmountCollected}}{{newJob.AmountToBeCollected}}{{newJob.ReplacementId}}{{newJob.ProductReplacementStatus}}{{newJob.strGasChargeRequestID}}{{newJob.strGasChargerApprovalStatus}} Local UpCountry
     {{manualAssignationJob.pageindexCount}} - {{manualAssignationJob.ticketListLength}} of {{totalTableTickets}}
    PincodeSite IdConsumer Contact No.CountAction
    {{suggestion.GroupWiseJobVariable}}{{suggestion.JobCount}}
    PincodeTicketIdJobIdConsumer NameConsumer ContactSkillSetStatusStateCity
    {{ticketDetails.Pincode}}{{ticketDetails.TicketId}}{{ticketDetails.JobId}}{{ticketDetails.ConsumerName}}{{ticketDetails.ConsumerContact}}{{ticketDetails.SkillSet}}{{ticketDetails.TicketStatus}}{{ticketDetails.State}}{{ticketDetails.City}}
    JobIDStatusStageSiteIDSiteNameCityStatePincodeException TypeAppointment Date Broadcast Age(dd:hh:mm:ss)
    Total Age(dd:hh:mm:ss)
    Field Age(dd:hh:mm:ss)
    Project NameSecondary StatusPrimary ReasonFollowUp ReasonCancel ReasonRejection Remarkclone ReasonCreated DateLatitudeLongitudeStart TimeBroadcasted DatePriceDurationAmt CollectedAmt to Be Collected
    {{newJob.TicketId}}{{newJob.JobId}}{{newJob.SiteName}}{{newJob.City}}{{newJob.State}}{{pincode}}{{newJob.PlannedStartDate | date:\\'dd/MM/yy hh:mm a\\'}}{{newJob.TicketBroadcastAge}}{{newJob.TotalTicketAge}}{{newJob.FieldAge}}{{newJob.ProjectName}}{{newJob.PrimaryReason}}{{newJob.LastFollowUpMsg}}{{newJob.TicketCancelReason}}{{newJob.RejectionRemark}}{{newJob.CloneReason}}{{newJob.CreationDate | date: \\'dd/MM/yyyy\\'}}{{newJob.Latitude}}{{newJob.Longitude}}{{newJob.StartTimeD}}{{newJob.JobBroadcastDateTime | date: \\'dd/MM/yyyy\\'}}{{newJob.BroadcastRate}} INR{{newJob.BidDuration}} hrs{{newJob.AmountCollected}}{{newJob.AmountToBeCollected}}
    JobIDActionSiteIDSiteNameSkillCityStateGroupIdEstimate Share StateEstimation AttachementEstimation Share RemarkTechnician NameFollowUp ReasonReject CountException TypeAppointment DateCall DateTimeCall Duration Broadcast Age(dd:hh:mm:ss)
    Total Age(dd:hh:mm:ss)
    StatusSub StatusSentAcceptedRejectedAssign DateAssign Age(hr)Broadcast Count
    Field Age(dd:hh:mm:ss)
    Project NameTechnician NameSupervisor NamePrimary ReasonCancel ReasonRejection Remarkclone ReasonSecondary StatusCreated DateLatitudeLongitudeStart TimeBroadcasted DatePricePincodeAmt CollectedAmt to Be CollectedFreelancer Rate
    {{newJob.JobId}}{{newJob.SiteName}}{{newJob.SkillSet}}{{newJob.City}}{{newJob.State}}{{newJob.GroupId}}{{newJob.EstimateShareState}}{{newJob.EstimationAttachement}}{{newJob.EstimationShareRemark}}\\\"image\\\" {{newJob.Assignee}}{{newJob.LastFollowUpMsg}}{{newJob.TicketRejectionCount}}{{newJob.SecondryStatus}}{{newJob.PlannedStartDate | date:\\'dd/MM/yy hh:mm a\\'}}{{newJob.TicketBroadcastAge}}{{newJob.TotalTicketAge}}{{newJob.BIDSend}} {{newJob.BIDSend}}{{newJob.BIDReceived}} {{newJob.BIDReceived}}{{newJob.DenyCount}}{{newJob.AssignationDate | date: \\'dd/MM/yyyy\\'}}:{{newJob.BroadcastCount}}{{newJob.FieldAge}}{{newJob.ProjectName}}{{newJob.Assignee}}{{newJob.SupervisorName}}{{newJob.PrimaryReason}}{{newJob.TicketCancelReason}}{{newJob.RejectionRemark}}{{newJob.CloneReason}}{{newJob.CreationDate | date: \\'dd/MM/yyyy\\'}}{{newJob.Latitude}}{{newJob.Longitude}}{{newJob.StartTimeD}}{{newJob.JobBroadcastDateTime | date: \\'dd/MM/yyyy\\'}}{{newJob.BidDuration}} hrs{{pincode}}{{newJob.AmountCollected}}{{newJob.AmountToBeCollected}}{{newJob.FreelancerRate}}
     {{manualAssignationJob.wpageindexCount}} - {{manualAssignationJob.workOrderListLength}} of {{totalTableWorkOrder}}
    UserID ({{manualAssignationJob.listofActiveUsers.length}})NameCallPatichingTicketId AssignedJobCount AppointmentBookedCount AppointmentNotBookedCount BreachedCount BroadcastCount CancelledCount
    \\\"image\\\" {{user.Name}}{{user.AssignedJobCount}}{{user.AppointmentBookedCount}}{{user.BreachedCount}}{{user.BroadcastJobCount}}{{user.SourceCancelledCount}}
    Ticket IdJob TypeProject NameProject IdStatusActionStateCityCustomer Name
    {{userSjob.TicketId}}{{userSjob.JobType}}{{userSjob.ProjectName}}{{userSjob.ProjectId}}
    {{userSjob.State}}{{userSjob.City}}{{userSjob.ConsumerName}}
    10\\\"> {{manualAssignationJob.pageindexCount}} - {{manualAssignationJob.ticketListLength}} of {{totalTableTickets}}
    Combo IdNo. of Ticket CountActionCreated OnCombo StatusTechnician NamePartner NameField Support TeamSentAcceptedPinCodeSkillsFreelancer RateDispatcher Name
    {{newJob.TicketId}} {{newJob.JobCountInBundle}} {{newJob.CreationDate | date: \\'dd/MM/yyyy\\'}}{{newJob.Assignee}}{{fTeam.SupportEngineerName}}{{newJob.BIDSend}} {{newJob.BIDSend}}{{newJob.BIDReceived}} {{newJob.BIDReceived}}{{pincode}}{{skill}}{{newJob.FreelancerRate}}{{newJob.DispatchSupervisorName}}
    JobIDActionSiteIDSiteNameSkillCityStateTechnician NameFollowUp ReasonReject CountException TypeAppointment DateCall DateTimeCall Duration Broadcast Age(dd:hh:mm:ss)
    Total Age(dd:hh:mm:ss)
    StatusSentAcceptedRejectedAssign DateAssign Age(hr)Broadcast Count
    Field Age(dd:hh:mm:ss)
    Project NameTechnician NamePrimary ReasonCancel ReasonRejection Remarkclone ReasonSub StatusSecondary StatusCreated DateLatitudeLongitudeStart TimeBroadcasted DatePricePincodeAmt CollectedAmt to Be CollectedFreelancer Rate
    {{newJob.JobId}}{{newJob.SiteName}}{{newJob.SkillSet}}{{newJob.City}}{{newJob.State}}\\\"image\\\" {{newJob.Assignee}}{{newJob.LastFollowUpMsg}}{{newJob.TicketRejectionCount}}{{newJob.SecondryStatus}}{{newJob.PlannedStartDate | date:\\'dd/MM/yy hh:mm a\\'}}{{newJob.TicketBroadcastAge}}{{newJob.TotalTicketAge}}{{newJob.BIDSend}} {{newJob.BIDSend}}{{newJob.BIDReceived}} {{newJob.BIDReceived}}{{newJob.DenyCount}}{{newJob.AssignationDate | date: \\'dd/MM/yyyy\\'}}:{{newJob.BroadcastCount}}{{newJob.FieldAge}}{{newJob.ProjectName}}{{newJob.Assignee}}{{newJob.PrimaryReason}}{{newJob.TicketCancelReason}}{{newJob.RejectionRemark}}{{newJob.CloneReason}}{{newJob.CreationDate | date: \\'dd/MM/yyyy\\'}}{{newJob.Latitude}}{{newJob.Longitude}}{{newJob.StartTimeD}}{{newJob.JobBroadcastDateTime | date: \\'dd/MM/yyyy\\'}}{{newJob.BidDuration}} hrs{{pincode}}{{newJob.AmountCollected}}{{newJob.AmountToBeCollected}}{{newJob.FreelancerRate}}
     {{manualAssignationJob.bpageindexCount}} - {{manualAssignationJob.bundleListLength}} of {{totalTableBundles}}

    All User

    \");\n$templateCache.put(\"app/MobiEngage/MobiEngage.html\",\"
    \\\"image\\\"
    Ajay Kumar Today 4:21 pm - 27.05.2020

    Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for \\'lorem ipsum\\' will uncover many web sites still in their infancy. Packages and web page editors now use Lorem Ipsum as their default model text.

    \\\"image\\\"
    Ajay Kumar Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200 Latin words.
    26 Like this! - 27.05.2020
    \\\"image\\\"
    Vijay Saxena Making this the first true generator on the Internet. It uses a dictionary of.
    11 Like this! - 27.05.2020
    \\\"image\\\"
    \\\"image\\\"
    Vikas Gupta Today 5:23 pm - 27.05.2020

    Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for \\'lorem ipsum\\' will uncover many web sites still in their infancy. Packages and web page editors now use Lorem Ipsum as their default model text.

    \\\"image\\\"
    Vikas Gupta Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200 Latin words.
    26 Like this! - 27.05.2020
    \\\"image\\\"
    Arun Mehra Making this the first true generator on the Internet. It uses a dictionary of.
    11 Like this! - 27.05.2020
    \\\"image\\\"
    \\\"image\\\"
    Narendra Joshi Today 11:21 pm - 27.05.2020

    Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for \\'lorem ipsum\\' will uncover many web sites still in their infancy. Packages and web page editors now use Lorem Ipsum as their default model text.

    \\\"image\\\"
    Narendra Joshi Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200 Latin words.
    26 Like this! - 27.05.2020
    \\\"image\\\"
    Vinay Kumar Making this the first true generator on the Internet. It uses a dictionary of.
    11 Like this! - 10.07.2014
    \\\"image\\\"
    \\\"image\\\"
    Varun Kumar Today 4:21 pm - 12.06.2014

    Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for \\'lorem ipsum\\' will uncover many web sites still in their infancy. Packages and web page editors now use Lorem Ipsum as their default model text.

    \\\"image\\\"
    Varun Kumar Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200 Latin words.
    26 Like this! - 12.06.2014
    \\\"image\\\"
    Ranjeet Kumar Making this the first true generator on the Internet. It uses a dictionary of.
    11 Like this! - 10.07.2014
    \\\"image\\\"
    \");\n$templateCache.put(\"app/NewJobDetails1/NewJobDetails.html\",\"
    1. Home
    2. Job Details
    Technician Denied Your Job Request
    • {{NewjobDetailCtrl.FreelancerBidCount}}  Technicians
    • \\\"image\\\"
      {{rUser.Username}}

      Job {{rUser.JobTotal}} | Distance {{rUser.Distance}} | Assigned Jobs {{rUser.TotalAssignedJobs}}

      {{rUser.DenyReason}}

    Technician Accepted Your Job Request
    • {{NewjobDetailCtrl.ReadyUserLength}}  Technicians
    • \\\"image\\\"
      {{rUser.name}}

      Jobs {{rUser.JobTotal}} | Distance {{rUser.UserDistance}} | Assigned Jobs {{rUser.TotalAssignedJobs}}

    Ticket ID - {{NewjobDetailCtrl.TicketInfo.TicketId}}  

    on {{NewjobDetailCtrl.TicketInfo.CreationDate | date:\\'yyyy/MM/dd h:mm:ss a\\' }}

    {{NewjobDetailCtrl.TicketInfo.SkillSet}}    

    {{NewjobDetailCtrl.TicketInfo.JobDescription}}  

    Customer Satisfaction    

    {{NewjobDetailCtrl.TicketInfo.HappyCodeResult}}  

    {{NewjobDetailCtrl.TicketInfo.TicketStatus}}
    {{NewjobDetailCtrl.TicketInfo.SubStatus}}

    Schedule : Arrive at a Specific date and time Complete work between specific hours Complete work anytime over a date range

    Start Time {{NewjobDetailCtrl.TicketInfo.StartTime | date:\\'yyyy/MM/dd h:mm:ss a\\'}}

    Any day Between {{NewjobDetailCtrl.TicketInfo.StartTime | date:\\'yyyy/MM/dd h:mm:ss a\\'}} and {{NewjobDetailCtrl.TicketInfo.EndTime | date:\\'yyyy/MM/dd h:mm:ss a\\'}}

    Between {{NewjobDetailCtrl.TicketInfo.StartTime | date:\\'yyyy/MM/dd h:mm:ss a\\'}} Through {{NewjobDetailCtrl.TicketInfo.EndTime | date:\\'yyyy/MM/dd h:mm:ss a\\'}}

    {{NewjobDetailCtrl.TicketInfo.CustomerName}}
    {{NewjobDetailCtrl.TicketInfo.Address1}}, {{NewjobDetailCtrl.TicketInfo.Address2}},{{NewjobDetailCtrl.TicketInfo.City}}
    {{NewjobDetailCtrl.TicketInfo.State}} , {{NewjobDetailCtrl.TicketInfo.Pincode}}
    Call to customer
    \\\"image\\\"

    Technician : {{NewjobDetailCtrl.TicketInfo.UserName}} ({{NewjobDetailCtrl.TicketInfo.UserId}})    \\\"image\\\"

    Technician : UnAssigned

    Engineer Name : {{NewjobDetailCtrl.TicketInfo.UserName}} ({{NewjobDetailCtrl.TicketInfo.UserId}})

    Engineer Name : UnAssigned

    0\\\" ng-repeat=\\\"fTeam in NewjobDetailCtrl.TicketInfo.ListFieldSupportTeam\\\">{{fTeam.SupportEngineerName}}
    Job Overview
    Spare Parts
    Collection
    Payment
    Scope Of Work
    Customer Details
    Schedule
    Complete Ticket by
    Showing {{NewjobDetailCtrl.FixedUserLength}} Technician with inKms ranked by
    Showing {{NewjobDetailCtrl.NearByUserLength}} Technician with inKms ranked by
    Compliance
    Showing {{NewjobDetailCtrl.PrefreUserLength}} Technician with inKms ranked by
    Showing {{NewjobDetailCtrl.PreviousUserLength}} Technician with inKms ranked by
    Supervisior

    Appointment time
    {{NewjobDetailCtrl.getReadableTime(NewjobDetailCtrl.TicketInfo.StartTime)}}
    {{NewjobDetailCtrl.getReadableTime(NewjobDetailCtrl.TicketInfo.EndTime)}}
    Your ticket is scheduled from {{NewjobDetailCtrl.getReadableTime(NewjobDetailCtrl.TicketInfo.StartTime)}} to {{NewjobDetailCtrl.getReadableTime(NewjobDetailCtrl.TicketInfo.EndTime)}}
    Material Delivered Status
    Ticket Detail

    {{NewjobDetailCtrl.TicketInfo.TechnicianRating}}

    Rate Detail
    {{NewjobDetailCtrl.ConverttoDecimal(NewjobDetailCtrl.TicketInfo.BroadcastRate)}}
    {{NewjobDetailCtrl.ConverttoDecimal(NewjobDetailCtrl.TicketInfo.BroadcastGrossRate)}}
    {{NewjobDetailCtrl.ConverttoDecimal(NewjobDetailCtrl.TicketInfo.MobiforceCommission)}}%
    {{NewjobDetailCtrl.TicketInfo.BidDuration}} Min
    Supervisor View

    Field Data Capture
    List of Field Support Team
    NameUser IdRoleContactPhoto
    {{superField.SupportEngineerName}}.{{superField.SupportEngineerUserId}}.{{superField.SupportEngineerRole}}.{{superField.SupportEngineerContact}}.\\\"image-1\\\"
    Field Data Capture


    \\\"\\\"

    {{status.userName}}  {{status.CreatedOn | date:\\'dd/MMM/yy h:mm:ss a\\'}}

    {{status.activity}} Follow Up - {{status.activity}} 0 && status.primaryReason!=\\'null\\'\\\">{{\\\"( \\\" + status.primaryReason+\\\"-\\\"+status.SecondryReason + \\\" )\\\" }} {{\\\"( \\\" + status.ThirdReason + \\\" )\\\" }}
    {{\\\"Remark: \\\" + status.CompletionRemark + \\\" \\\" }}
    \\\"\\\"

    {{status.userName}}  {{status.CreatedOn | date:\\'dd/MMM/yy h:mm:ss a\\'}}

    {{status.activity}} Follow UP --{{status.activity}} 0 && status.primaryReason!=\\'null\\'\\\">{{\\\"( \\\" + status.primaryReason+\\\"-\\\"+status.SecondryReason + \\\" )\\\" }}
    0 && status.ReasonComment!=\\'null\\'\\\">-{{status.ReasonComment}}
    \\\"\\\"

    {{status.userName}}  {{status.CreatedOn | date:\\'dd/MMM/yy h:mm:ss a\\'}}

    {{status.activity}} Follow UP --{{status.activity}} 0 && status.primaryReason!=\\'null\\'\\\">{{\\\"( \\\" + status.primaryReason+\\\"-\\\"+status.SecondryReason + \\\" )\\\" }}
    0 && status.ReasonComment!=\\'null\\'\\\">-{{status.ReasonComment}}
    {{\\\"Remark: \\\" + status.CompletionRemark + \\\" \\\" }}

    \\\"image\\\"
    • Add New Members
    Last Updated on :

    Ticket is Pending for Assignation to Vendor Field Engineer, Tracking Map appears when Ticket is assigned to Field Engineer

    Rule NameStageScenarioGradeApplicableAmount
    {{BonusPenalty.Name}}{{BonusPenalty.Stage}}{{BonusPenalty.Scenario}}{{BonusPenalty.Grade}}{{BonusPenalty.Applied}}{{BonusPenalty.Amount}}

    Total Bonus

    {{NewjobDetailCtrl.TicketInfo.TotalBonus}}

    Rule NameStageScenarioGradeApplicableAmount
    {{Penalty.Name}}{{Penalty.Stage}}{{Penalty.Scenario}}{{Penalty.Grade}}{{Penalty.Applied}}{{Penalty.Amount}}

    Total Penalty

    {{NewjobDetailCtrl.TicketInfo.TotalPenalty}}

    FromToCall StatusStart TimeDuration(mins) / Distance(mtr)RecordingStatusField EventService Interpretation
    {{callD.CallFrom}}{{callD.CallTo}} {{callD.CallStartTime | date:\\'dd/MM/yyyy hh:mm a\\'}}{{callD.Duration}}
    {{callD.FieldRemark}}

    {{callD.ServiceRemark}}
    Site Audit StatusSite Audited OnSite Audited BySite Audit Report
    {{Audittool.AuditResult}} {{Audittool.AuditResult}}{{Audittool.AuditDate | date:\\'dd/MM/yyyy hh:mm a\\'}}{{Audittool.AuditorDetails.AuditorName}}
    Collection
    Payment
    TypeActivity DescriptionQuantityCompany ProvidedBase PriceFreelancer PriceAction
    {{priceLineItem.LineItemCategory}}{{priceLineItem.LineItemDescription}}{{priceLineItem.LineItemQuantity}} {{priceLineItem.LineItemCompanyProvided}}{{(priceLineItem.LineItemQuantity)*(priceLineItem.dLineItemWinPrice)}} {{(priceLineItem.LineItemQuantity)*(priceLineItem.dLineItemFreelancerPrice)}} View Document Upload File

    Total

    \");\n$templateCache.put(\"app/NewOnboardingFlow/NewOnboardingFlow.html\",\"
    1. WELCOME TO ONBOARDING
    \\\"image-1\\\" \\\"image-1\\\"

    {{NOBFCtrl.UserBasicInfo.FirstName}} {{NOBFCtrl.UserBasicInfo.LastName}} from {{NOBFCtrl.UserBasicInfo.City}}

    Registred On :{{NOBFCtrl.UserBasicInfo.RegistrationDateTime}}

    Current Address-

    Address:{{NOBFCtrl.UserBasicInfo.Address}}, {{NOBFCtrl.UserBasicInfo.City}}, {{NOBFCtrl.UserBasicInfo.State}} - {{NOBFCtrl.UserBasicInfo.PINCode}}

    Onboarding Status

    Verification Status

    Connect with {{NOBFCtrl.UserBasicInfo.FirstName}} {{NOBFCtrl.UserBasicInfo.LastName}} \\\"image\\\"

    Onboarding Done {{NOBFCtrl.UserBasicInfo.FEDataFillPercentage}}%{{NOBFCtrl.UserBasicInfo.FEDataFillPercentage}}%Verification Done {{NOBFCtrl.UserBasicInfo.BackendVerifyPercentage}} %{{NOBFCtrl.UserBasicInfo.BackendVerifyPercentage}}%
    Onboarding % Verification %

    Basic Details

    {{basicField.ItemValue}}

    \\\"image-1\\\"
    Background Checks

    Type

    Document Type

    Document No.

    {{doc.ItemDisplayName}}

    {{doc.DocumentName}}

    {{doc.DocumentNo}}

    Document Front

    Document Back

    Bank Details

    {{NOBFCtrl.UserBankInfo.bankName}}

    {{NOBFCtrl.UserBankInfo.AccountHolderName}}

    {{NOBFCtrl.UserBankInfo.AccountNo}}

    {{NOBFCtrl.UserBankInfo.IFSC}}

    External Videos List
    TypeSkillFeedback RemarkRatingUploaded ByUploaded OnVideo

    {{videoupload.Type}}

    {{videoupload.SkillName}}

    {{videoupload.Feedback}}

    {{videoupload.Rating}}

    Skills
    Skill SetScoreTest ResultRe-Test

    {{skillData.Skill}}

    {{skillData.ResultScore}}

    {{skillData.Status}}

    Work Experience
    Company NameWork LocationProject NameTenureDesignationDate Of JoiningDate Of RelievingExperience Letter

    {{experience.CompanyName}}

    {{experience.WorkLocation}}

    {{experience.ProjectName}}

    {{experience.Tenure}}

    {{experience.Designation}}

    {{experience.DateOfJoining | date:\\'dd/MMM/yyyy\\'}}

    {{experience.DateOfRelieving | date:\\'dd/MMM/yyyy\\'}}

    Certifications
    Certificate NameCertificate NoCertificate Issue DateCertificate Expiry DateTraining CertificateVerification ReportVerification StatusVerification AgencyValidation Report Date

    {{certificate.CertificateName}}

    {{certificate.CertificateNo}}

    {{certificate.CertificateIssueDate | date:\\'dd/MMM/yyyy\\'}}

    {{certificate.CertificateExpiryDate | date:\\'dd/MMM/yyyy\\'}}

    {{certificate.VerificationStatus}}

    {{certificate.VerificationAgency}}

    {{certificate.ValidationReportDate | date:\\'dd/MMM/yyyy\\'}}

    Invited Team
    \\\"image\\\"
    {{teamData.ContactName}} with contact no. {{teamData.ContactNumber}} invited on {{teamData.InvitationDateTime | date:\\'dd/MMM/yyyy h:mm a\\'}} (Status - {{teamData.Status}})
    Profile Updation History
    \\\"image-1\\\"

    {{userActivity.activity}}

    {{userActivity.action}}

    {{userActivity.FileName}}

    \");\n$templateCache.put(\"app/NewTalentPool/NewTalentPool.html\",\"

    Talent Pool -

    Showing {{NewtalentPool.techpageindexCount}} to {{NewtalentPool.usersLength}} of {{NewtalentPool.totalTalentPoolCount}} entries
    ActionUserIdNameStatusBadgesMobile No.Activation DateActivated ByAddress Line1Address Line2CityStatePinCodePrimeEmailStudentInternshipAdhar cardPancardCriminal CheckSkillAadhar NumberPAN NumberLast ActivationWork LocationStarted Receiving Leads (last 15 Days)Lead Accepted (last 15 Days)Job Rejection (%)SOP Adherence (%)Customer RatingUpdated by IDUpdated by NameSourceEquipment Audit StatusEquipment Audit DateEquipment Audit By
    {{user.FirstName}} {{user.LastName}}
    \\\"image\\\" \\\"image\\\"
    {{user.PersonalEmail}}
    {{user.SkillSet.toString()}}
    {{user.Locations.toString()}}
    ( {{user.TotalLeadsReceived}} ) 30,\\'label label-primary\\':user.JobRecjectionPerctange <= 30}\\\">{{user.JobRecjectionPerctange}}= 70}\\\">{{user.SOPAdherence}}= 4}\\\">{{user.CustomerRating}}{{user.UpdatedById}}{{user.UpdatedByName}}{{user.Source}}{{user.AuditResult}}
    {{user.AuditDate | date:\\'dd/MMM/yy\\'}}
    {{user.AuditorName}}
    \\\"image\\\" \\\"image\\\"

    {{user.FirstName}} {{user.LastName}}

     {{user.EnrollNo}}
    {{user.CustomerRating}} 
    {{user.ContactNumber}}

    Address :-

    {{user.CurrentAdd1}}
    {{user.CurrentAdd2}}
    {{user.CurrentCity}}
    {{user.CurrentState}}
    Showing {{NewtalentPool.pageindexCount}} to {{NewtalentPool.vendorListLength}} of {{NewtalentPool.totalVendorPoolCount}} entries
    ActionActionVendor IdNameVendor StatusBadgesMobile No.Company NameRoleAdhar cardPancardCriminal CheckCompany Registration NumberGST AvailableGST Certified NoMSME CertifiedMSME Certified NO.Partner (TPI)Partner Anti corruption clauseActivation DateActivation ByAddress Line1Address Line2CityStatePinCodeInfra PartnerTraining PartnerPrimeEmailVerticalSkillAadhar NumberPAN NumberLast ActivationWork LocationsLatitudeLongitudeUpdated by IDUpdated by NameSourceEquipment Audit StatusEquipment Audit DateEquipment Audit By
    {{vendor.FirstName}} {{vendor.LastName}}
    \\\"image\\\" \\\"image\\\"
    YES NOYES NOYES NOYES NO
    {{vendor.SkillSet.toString()}}
    {{vendor.Locations.toString()}}
    {{vendor.UpdatedById}}{{vendor.UpdatedByName}}{{vendor.Source}}{{vendor.AuditResult}}
    {{vendor.AuditDate | date:\\'dd/MMM/yy\\'}}
    {{vendor.AuditorName}}
    \\\"image\\\" \\\"image\\\"

    {{vendor.CompanyName}}

    {{vendor.FirstName}} {{vendor.LastName}}

    {{vendor.VendorId}}
    {{vendor.CustomerRating}} 
    {{vendor.ContactNumber}}

    Address :-

    {{vendor.PermanentAdd1}}
    {{vendor.PermanentAdd2}}
    {{vendor.PermanentCity}}
    {{vendor.PermanentState}}
    Choose Filters

    Choose Filters

    \");\n$templateCache.put(\"app/NonReturnablePartConsumeList/NonReturnablePartConsumeList.html\",\"
    1. Home
    2. Non Returnable Parts Consumed List
    Showing {{NonReturnPartCntrl.opageindexCount}} to {{NonReturnPartCntrl.orderListLength}} of {{TotalRecord}} entries
    Call IDPart CodePart IDProduct BrandProduct GroupProduct Sub GroupPart NameCreated OnReturn Status
    {{orderList.TicketId}}{{orderList.SKUId}}{{orderList.PartId}}{{orderList.ProductBrand}}{{orderList.ProductGroup}}{{orderList.ProductSubGroup}}{{orderList.PartName}}{{orderList.CreatedOn | date:\\'dd/MMM/yy hh:mm a\\' }}{{orderList.PartOrderStatus}}
    \");\n$templateCache.put(\"app/NoticeCampaignDetails/NoticeCampaignDetails.html\",\"
    1. Home
    2. Notice Details
    Notice TitleNotice TypeLinkLanding ActivityNotice DescriptionRoleBrandCampaign PossibilityStart DateEnd DateCampaign ModeCampaign Banner
    New Product Launch_KenstarImageCustomer\\\"Introducing our latest innovation – designed for peak performance, unmatched quality, and an unforgettable experience!\\\"
    Customer
    KenstarNew Product Launch13-11-2415-11-24WhatsApp\\\"No
    Extend WarrantyImageCustomer\\\"Extend your warranty for added peace of mind and long-term protection on your purchase!\\\"
    Customer
    VoltasService is use, AMC/Warranty sell13-11-2415-11-24WhatsApp\\\"No
    Your Old Tech, A New Life!ImageCustomer\\\"Dispose of outdated products the right way – recycle with us.\\\"
    Customer
    BluestarEnd Of Life (EWaste)13-11-2416-11-24E-mail\\\"No
    Refresh your Space With smart UpgradeImagewww.gaoogle.comCustomer\\\"Refresh your Space With smart Upgrade\\\"
    Customer
    BluestarUpgrade (Buy New Produuct)13-11-2416-11-24WhatsApp\\\"No
    \");\n$templateCache.put(\"app/NotificationList/NotificationList.html\",\"
    1. Home
    2. Notification List
      My Notification

    Alerts allow you to automatically send email or SMS notifications when certain events occur. For example, mail the dispatcher if a job is declined, mail the accounts dept when a job is completed, SMS the warehouse manager when an inbound delivery has been picked up, etc…


    Alert NameAlert TypeAction
    {{config.AlertId}}{{config.AlertType | uppercase}} 
    1. Home
    2. Transactional Alert
      Create an Alert
    Create A Permission
    Please select Role
    Please select Channel




    {{userList.PersonalEmail}}{{userList.ContactNumber}}
    Please enter message.

    1. Home
    2. Escalation Alert
      Create an Alert
    Create A Permission
    Email Preview



    Aditya.kaushik28@gmail.com898767656540 min
    Aditya.kaushik28@gmail.com898767656540 min
    Aditya.kaushik28@gmail.com898767656540 min
    Aditya.kaushik28@gmail.com898767656540 min
    Please enter message.
    \");\n$templateCache.put(\"app/OnBoardingForm/OnBoardingForm.html\",\"
    1. Home
    2. On Boarding Form

    Basic Information

    Location

    Documents

    Bank Details

    Training Certificate

    Assets

    Skill Set and Assessment

    WELCOME TO ONBOARDING

    Save as Draft
    Registered User Information
    Step 1

    {{OBCtrl.fileUploadError}}

    {{OBCtrl.FirstName}} {{OBCtrl.LastName}}

    {{OBCtrl.MobileNo}}
    Criminal Verification :


    Please enter first name Your first name cannot be longer than 50 characters Your first name should only contain alphabets
    Please enter last name Your last name cannot be longer than 50 characters Your last name should only contain alphabets
    = 48 && event.charCode <= 57\\\" ng-pattern=\\\"/^[0-9]{10}$/\\\">
    Please enter Mobile number Please enter valid Mobile number
    Please enter valid email id

    Please enter date of birth

    Please select valid date of birth

    Date of birth should be less than {{OBCtrl.maxDOBStr}}

    Please select your gender
    Please enter valid PAN NUMBER
    = 48 && event.charCode <= 57\\\" ng-pattern=\\\"/^[0-9]{12}$/\\\">
    Please enter valid AADHAR NUMBER
    Please enter father\\'s name Your name cannot be longer than 50 characters Your name should only contain alphabets
    Background Checks
    Step 2

    TypeDocument NameDocument NumberDocumentDocument BackStatusVerification ModeVerification authorityUpdated ByUpdated OnThird-party ReportAction
    {{doc.DocumentType}}{{doc.DocumentName}}{{doc.DocumentNo}} Not Submitted Upload File
    View Document View Document Upload File
    Not Submitted Upload File
    View Document View Document Upload File
    {{doc.VerificationStatus}}{{doc.VerificationMode}}
    {{doc.VerificationAuthority}}
    {{doc.UpdatedBy}}{{doc.UpdatedOn | date}}
    Locations
    Step 3

    Please enter address line 1 Please enter only alphanumeric with space, hyphen, slace, comma Please enter only 150 chars address line
    Please enter address line 2 Please enter only alphanumeric with space, hyphen, slace, comma Please enter only 150 chars address line
    Please select state
    Please select city
    Please enter pincode Please enter valid pincode

    Please enter address line 1 Please enter only alphanumeric with space, hyphen, slace, comma
    Please enter address line 2 Please enter only alphanumeric with space, hyphen, slace, comma
    Please select state
    Please select city
    Please enter valid pincode
    Please Select Work Location
    Please enter only alphanumeric with space, hyphen, slace, comma
    Bank Details
    Step 4

    Please enter valid account no(9-18 Digits)
    Please specify a valid IFSC CODE(4 Alphabet and 6-7 numeric)
    Account holder name should only contain alphabets Account holder name cannot be longer than 50 characters
    Bank name cannot be longer than 50 characters Bank name should only contain alphabets
    Training Certificates
    Step 5

    Certificate NameCertificate No.Certificate IssuedCertificate ExpiryIsCertificateExpiredCertificateVerification DocStatusCertificate AgencyAction
    {{traning.CertificateName}}{{traning.CertificateNo}} {{traning.CertificateIssueDate | date:\\'dd-MM-yyyy\\'}}
    {{traning.CertificateExpiryDate | date:\\'dd-MM-yyyy\\'}}
    {{traning.IsCertificateExpired}}
    Not Submitted Upload File
    Not Submitted Upload File
    {{traning.VerificationStatus}} {{traning.VerificationStatus}}{{traning.VerificationAgency}}         
      
    Available Asset
    Step 6

    Skills
    Step 7

    SkillsExperienceResultAssessment Link
    {{skilldata.Skill}}{{skilldata.Experience}}{{skilldata.Status}}Send Link
    Private for the accounts
    Account NameAccount Id
    {{accountdata.Account}}{{accountdata.AccountId}}
    {{OBCtrl.AccountId}}
    Tools
    Tool NameVerification StatusView ToolAction
    {{assettool.ToolName}}{{assettool.VerificationStatus}} {{assettool.VerificationStatus}} {{assettool.VerificationStatus}}
    Previous Company Details
    Company NameWork LocationProject Name
    {{previousCompanyDetail.CompanyName}}{{previousCompanyDetail.WorkLocation}}{{previousCompanyDetail.ProjectName}}
    Insurance Details
    Policy No.Issue DateExpiry DateInsurance ImageAction
    {{OBCtrl.InsuranceDetails.PolicyNumber}} {{OBCtrl.InsuranceDetails.IssueDate | date:\\'dd/MMM/yy\\'}}
    {{OBCtrl.InsuranceDetails.ExpiryDate | date:\\'dd/MMM/yy\\'}}
    Not Submitted Upload File
    View Document Upload File
    Legal Contract
    Contract Signed DateImage
    {{OBCtrl.ContractSignDate | date:\\'dd/MMM/yy\\'}}\\\"profile\\\"
    Authorized for service centre
    Service Partner IdVertical NameBrand NameAdditional Brand NameProduct ServingAdditional Product ServingTenureTeam SizeService Center AddressCertificate of AuthorizationTraining CertificatePhoto of Shop/office/Service CenterAction
    {{doc.ServicePartnerId}}{{doc.VerticalName}}{{doc.BrandName}}{{doc.BrandNameOther}} {{doc.ProductServing}}{{doc.ProductServingOther}} {{doc.Tenure}} {{doc.TeamSize}} {{doc.ServiceCenterAddress}} Not Submitted Upload File
    View Document View Document Upload File
    Not Submitted Upload File
    View Document View Document Upload File
    Not Submitted Upload File
    View Document View Document Upload File
    \");\n$templateCache.put(\"app/OnBoardingFormLatest/OnBoardingFlow.html\",\"
    1. WELCOME TO ONBOARDING
    \\\"image-1\\\" \\\"image-1\\\"

    {{OBFCtrl.UserBasicInfo.FirstName}} {{OBFCtrl.UserBasicInfo.LastName}} From {{OBFCtrl.UserBasicInfo.City}}

    Registred On :{{OBFCtrl.UserBasicInfo.RegistrationDateTime}}

    Current Address-

    Address:{{OBFCtrl.UserBasicInfo.Address}}, {{OBFCtrl.UserBasicInfo.City}}, {{OBFCtrl.UserBasicInfo.State}} - {{OBFCtrl.UserBasicInfo.PINCode}}

    Onboarding Status

    Verification Status

    Connect with {{ OBFCtrl.UserBasicInfo.FirstName }} {{ OBFCtrl.UserBasicInfo.LastName }} \\\"image\\\"

    Onboarding Done {{OBFCtrl.UserBasicInfo.FEDataFillPercentage}}%{{OBFCtrl.UserBasicInfo.FEDataFillPercentage}}%Verification Done {{OBFCtrl.UserBasicInfo.BackendVerifyPercentage}} %{{OBFCtrl.UserBasicInfo.BackendVerifyPercentage}}%
    Onboarding % Verification %

    Basic Details

    {{basicField.ItemValue}}

    \\\"image-1\\\"
    Background Checks

    Type

    Document Type

    Document No.

    {{doc.ItemDisplayName}}

    {{doc.DocumentName}}

    {{doc.DocumentNo}}

    Document Front

    Document Back

    Bank Details

    {{OBFCtrl.UserBankInfo.bankName}}

    {{OBFCtrl.UserBankInfo.AccountHolderName}}

    {{OBFCtrl.UserBankInfo.AccountNo}}

    {{OBFCtrl.UserBankInfo.IFSC}}

    External Videos List
    TypeSkillFeedback RemarkRatingUploaded ByUploaded OnVideo

    {{videoupload.Type}}

    {{videoupload.SkillName}}

    {{videoupload.Feedback}}

    {{videoupload.Rating}}

    Skills
    Skill SetScoreTest ResultRe-Test

    {{skillData.Skill}}

    {{skillData.ResultScore}}

    {{skillData.Status}}

    Work Locations
    • {{Location}}
    Invited Team
    \\\"image\\\"
    {{teamData.ContactName}} with contact no. {{teamData.ContactNumber}} invited on {{teamData.InvitationDateTime | date:\\'dd/MMM/yyyy h:mm a\\'}} (Status - {{teamData.Status}})
    Profile Updation History
    \\\"image-1\\\"

    {{userActivity.activity}}

    {{userActivity.action}}

    {{userActivity.FileName}}

    \");\n$templateCache.put(\"app/OpenBucketAssignation/OpenBucketAssignation.html\",\"
    1. Home
    2. Open Bucket Assignation
    Open Bucket Assignation
    All newly created tickets moved to open bucket state





    Show only to user with security payment
    Assignation Mode
    Give prefrence to ssers sith security sayments
    \");\n$templateCache.put(\"app/OpenBucketSettings/OpenBucketSettings.html\",\"
    1. Home
    2. Open Bucket Settings
    Open Bucket Settings
    All newly created tickets moved to open bucket state
    Show only to user with security payment
    Assignation Mode
    Give prefrence to users sith security sayments
    \");\n$templateCache.put(\"app/OperationTATBreached/OperationTATBreached.html\",\"
    1. Home
    2. Breached TAT List
    Ticket Breach Type

    PICKUP TAT BREACH {{OTATBCtrl.PickupTAT}}

    ESTIMATE TAT BREACH {{OTATBCtrl.EstimateTAT}}

    ESTIMATE APPROVAL TAT
    BREACH {{OTATBCtrl.EstimateApprovalTAT}}

    REPAIR TAT BREACH {{OTATBCtrl.RepairTAT}}

    DELIVERY TAT BREACH {{OTATBCtrl.DeliveryTAT}}

    {{OTATBCtrl.TotalTask}}

    Total Task

    {{OTATBCtrl.OpenTask}}

    Open Task

    {{OTATBCtrl.ClosedTask}}

    Close Task

    Task IdTicket IdUser IdUser NameStateCityPincodeSkillDescription
    Task Age (DD:HH:MM)
    Created OnCreated ByTask Due DateTask Breached StatusTask Completion DateAssigned ToTask Status
    {{onboardingTask.TaskId | limitTo: 20 }}...{{ onboardingTask.TaskId.split(\\'_\\')[0].trim()}}{{ onboardingTask.TaskId.split(\\'_\\').pop() }}\\\"image\\\" {{ onboardingTask.Description.split(\\':\\')[0].trim() }}{{onboardingTask.State}}{{onboardingTask.City}}{{onboardingTask.Pincode}}{{onboardingTask.Skill}}{{onboardingTask.Description | limitTo: 10}}...{{onboardingTask.TaskAge}}{{onboardingTask.CreatedOn| date:\\'dd/MM/yyyy hh:mm a\\'}}{{onboardingTask.CreatedBy}}{{onboardingTask.TaskDueDate| date:\\'dd/MM/yyyy hh:mm a\\'}}{{onboardingTask.TaskBreached}}{{onboardingTask.TaskClosingDate}}{{onboardingTask.AssignedTo}}{{onboardingTask.GapStatus}}
    \");\n$templateCache.put(\"app/OrderDetailView/OrderDetailView.html\",\"
    1. Home
    2. Order Details

    Order ID :

    {{OrderDetailsCtrl.Ticketdetails.SalesOrderId}} 

    Created On :

    {{OrderDetailsCtrl.Ticketdetails.Order_Date |date:\\'dd/MMM/yyyy\\'}}

    Assigned To :

    {{OrderDetailsCtrl.Ticketdetails.VendorName}}

    Order Status :

    {{OrderDetailsCtrl.Ticketdetails.ZohoOrderStatus | uppercase}}

    Order Type :

    {{OrderDetailsCtrl.Ticketdetails.OrderType}} 

    Created By :

    {{OrderDetailsCtrl.Ticketdetails.Technician_Name}} 

    \\\"image\\\"

    Total Amount :

    ₹ {{OrderDetailsCtrl.Ticketdetails.customerResponsemodel1.salesorder.sub_total}} 

    Ticket Id :

    {{OrderDetailsCtrl.Ticketdetails.customerResponsemodel1.salesorder.reference_number}}

    Service Type :

    {{OrderDetailsCtrl.Ticketdetails.Service_Type}}

    Shipment Date :

    {{OrderDetailsCtrl.Ticketdetails.Shipment_date| date:\\'dd/MMM/yyyy h:mm a\\'}}

    Customer :

    {{OrderDetailsCtrl.Ticketdetails.customerResponsemodel1.salesorder.customer_name}}   \\\"image\\\"

    Appointment Date and Time : {{OrderDetailsCtrl.Ticketdetails.Appointmentdate|date:\\'dd/MMM/yyyy\\'}}

    Planned Start Date: {{OrderDetailsCtrl.Ticketdetails.Planned_Start_Date|date:\\'dd/MMM/yyyy\\'}}

    {{OrderDetailsCtrl.Ticketdetails.Customer_Name}}
    {{OrderDetailsCtrl.Ticketdetails.Address}}, {{OrderDetailsCtrl.Ticketdetails.city}}, {{OrderDetailsCtrl.Ticketdetails.State}}, {{OrderDetailsCtrl.Ticketdetails.Pincode}}
    Part NameSKU CodePart DescriptionValue (₹)RemarkQuantity Ordered
    {{order.group_name}}{{order.sku}}{{ order.description | limitTo:100}}...{{order.rate}}Approved{{order.quantity}}
    Tracking Details
    Tracking# - {{OrderDetailsCtrl.TrackingDetails.tracking_number}}
    • {{orderStatus.date | date: \\'dd/MMM/yyyy\\'}}

      {{orderStatus.time |date: \\'h:mm a\\'}}
    • {{orderStatus.notes}} Delivered
    Bill To :Ship To :
    Hopefloats Technologies Pvt Ltd C-22A, Sector-57, Gautam Buddha Nagar,, Noida, UP-201301. Uttar Pradesh 201301 UTTAR PRADESHKinger Plast India Private Limited 99, Udhyog Kendra - I, Ecotech - III, Greater Noida Uttar Pradesh Place of Supply: UTTAR PRADESH 201306 UTTAR PRADESH

    GST No - 09AAECH3958F1ZE

    PAN - P00976

    State Code - 00023

    GST No - 09AAACK3882H2ZB

    PAN - Z094994

    State Code - 0006

    Inv. dateInv. NoPart NamePart DescriptionSKU CodeCustomer NameStatusWarehouse NameQuantityRateSGSTCGSTAmount (₹)
    15/10/2023662772888383337STEP MOTOR IR183GNO IDU- 28BYJ48 HORZ{{invoicedetail.description | limitTo:40}}...{{invoicedetail.sku}}{{OrderDetailsCtrl.Ticketdetails.Customer_Name}}{{OrderDetailsCtrl.Ticketdetails.Order_status}}{{invoicedetail.warehouse_name}}{{invoicedetail.quantity}}{{invoicedetail.rate}}{{OrderDetailsCtrl.Ticketdetails.customerResponsemodel1.salesorder.taxes[0].tax_amount}}{{OrderDetailsCtrl.Ticketdetails.customerResponsemodel1.salesorder.taxes[0].tax_amount}}{{invoicedetail.item_total}}

    Total Amount

    \");\n$templateCache.put(\"app/OrdersList/OrdersList.html\",\"
    1. Home
    2. Orders List
    {{ordersCntrl.OrderCountData.TotalCount}}

    Total

    {{ordersCntrl.OrderCountData.ConfirmedCount}}

    Confirmed

    {{ordersCntrl.OrderCountData.ReceivedCount}}

    Received

    {{ordersCntrl.OrderCountData.ShippedCount}}

    Shipped

    {{ordersCntrl.OrderCountData.DeliveredCount}}

    Delivered

    {{ordersCntrl.OrderCountData.CancelledCount}}

    Cancelled

    {{ordersCntrl.OrderCountData.PaymentFailedCount}}

    Payment Failed

    {{ordersCntrl.OrderCountData.RefundInitiatedCount}}

    Refund Initiated

    {{ordersCntrl.OrderCountData.RefundDoneCount}}

    Refund Done

    {{ordersCntrl.OrderCountData.PaymentInitiatedCount}}

    Payment Inititated

    {{ordersCntrl.OrderCountData.PaymentReceivedCount}}

    Payment Received

     {{ordersCntrl.fpageindexCount}} - {{ordersCntrl.financeListLength}} of {{totalFinList}}
    Order IdOrder StatusOrder Sub-StatusActionItem CountTotal AmountOrder DateShipment DateRequested ByExpected Delivery DateDelivery AddressBilling AddressDispatch AddressPayment StatusPayment IdAmount From WalletAmount From Online Payment
    {{ticketorderlist.OrderSubStatus}} {{ticketorderlist.OrderItemCount}}{{ticketorderlist.OrderTotalAmount}}{{onboardingTask.OrderDate| date:\\'dd/MM/yyyy hh:mm a\\'}}{{onboardingTask.ShipmentDate| date:\\'dd/MM/yyyy hh:mm a\\'}}{{onboardingTask.RequestBy}}{{onboardingTask.ExpectedDeliveryDate| date:\\'dd/MM/yyyy hh:mm a\\'}}{{ticketorderlist.DeliveryAddress}}{{ticketorderlist.BillingAddress}}{{ticketorderlist.DispatchAddress}}{{ticketorderlist.PaymentId}}{{ticketorderlist.AmountFromWallet}}{{ticketorderlist.AmountFromOnlinePayment}}
    Item IdItem NameBrandSKU IdItem QuantityUnitOrder Amount (₹)Actual Price (₹)Actual Price(with GST) (₹)Discount (%)After Discount Price (₹)
    {{order.strItemId}}{{order.strItemName}}{{order.strItemBrand}}{{order.strSKUId}}{{order.nItemQuantity}}{{order.strItemUnit}}{{order.dItemTotalPrice}}{{order.dItemTotalPriceWithGST}}{{order.dItemActualPrice}}{{order.dItemDiscount}}{{order.dItemPriceAfterDiscount}}

    Hardware Tracking

    \\\"image\\\"
    Part Name : {{ordersCntrl.TrackDetails. ItemName}}
    SKU Code : {{ordersCntrl.TrackDetails. SKUId}}
    Order Status: {{ordersCntrl.TrackDetails.OrderStatus}}
    Tracking# - {{ordersCntrl.TrackingDetails.tracking_number}}
    • {{orderStatus.date | date: \\'dd/MMM/yyyy\\'}}

      {{orderStatus.time |date: \\'h:mm a\\'}}
    • {{orderStatus.notes}} Delivered

    List of Items

    \\\"{{items.strListItemImage[0]}}\\\"

    {{items.strItemName}}

    About this item

    • {{description}}

    Qty : {{items.nItemQuantity}}

    \");\n$templateCache.put(\"app/PayOnline/PayOnline.html\",\"
    \\\"profile\\\" \\\"profile\\\"

    {{onlinePayment.customerJobCard.FEName}}

    Authorised by

    {{onlinePayment.customerJobCard.FERating || 0}} Star

    Track

    Job Information
    Job ID
    Job Type
    Job Description
    Appointment time
    Total Amount
    • You can pay using COD mode to the technician
    • You can make online payments after job is completed
    • Payment has been done successfully
    \");\n$templateCache.put(\"app/PaymentSection/PaymentSection.html\",\"
    \\\"profile\\\" \\\"profile\\\"

    {{payment.customerJobCard.FEName}}

    Authorised by

    {{payment.customerJobCard.FERating || 0}} Star

    Track

    Job Information
    Job ID
    Job Type
    Job Description
    Service Type
    Appointment time
    Job Status
    You rated

    Cancel

    Re-schedule

    Payment Information
    Invoice
    Service Charge
    GST
    Accessories
    Please enter valid rate
    Total Amount
    Select Payment Mode
    Cash on Delivery
    9\\\">Pay Online
    9\\\">
    Payment Details
    Product Info*:
    First Name*:
    Last Name:
    Email*:
    Phone*:
    Wallet
    • You can cancel or reschedule jobs 30 mins before start time ({{payment.getReadableDate() }})
    • You can make online payments after job is completed
    \");\n$templateCache.put(\"app/PepsicoCustomerProfileView/PepsicoCustomerProfileView.html\",\"
    1. Home
    2. Customer Profile
    \\\"Avatar\\\"
    Noida Retail Shop
    U6800000789
    Sector 58, Noida, U.P

    Personal Details Edit
    Name : Noida Retail Shop
    Mobile : 91-8007689096
    City : Noida
    Plateform / Device : IOS
    Last Login : 12Nov 12:20pm

    Quick Actions

    \\\"Avatar\\\"
    Double Door Refrigerator
    Warranty Expiring in 29 days
    \\\"Avatar\\\"
    Single Door Refrigerator
    Warranty Expiring in 6 days
    2

    Assets

    2

    Services

    2

    Orders

    10

    Ticket

    7,000

    Payments Amounts

    Recent Activity
    \\\"Avatar\\\"
    Send

    All Activity

    Complaint #4455

    AC is not cooling properly after installation done. Please resolve my cooling issue as soon as possible.

    9:30 AM

    Another meeting with UK client today, at 3:00 PM

    Yet another one, at 5:00 PM

    12:25 PM

    MMF Admin

    Technician assigner for Voltas 5 Start inverter AC installation

    6:00 PM

    Discussion with marketing team

    Discussion with marketing team about the popularity of last product

    9:00 AM

    Purchase new hosting plan

    Purchase new hosting plan as discussed with development team, today at 10:00 AM

    10:30 PM

    Another conference call today, at 11:00 AM

    Yet another one, at 1:00 PM

    12:25 PM

    Another meeting with UK client today, at 3:00 PM

    Yet another one, at 5:00 PM

    12:25 PM

    Discussion with team about new product launch

    meeting with team mates about the launch of new product. and tell them about new features

    6:00 PM

    Discussion with marketing team

    Discussion with marketing team about the popularity of last product

    9:00 AM

    Purchase new hosting plan

    Purchase new hosting plan as discussed with development team, today at 10:00 AM

    10:30 PM

    Another conference call today, at 11:00 AM

    Yet another one, at 1:00 PM

    12:25 PM
    Quick Questions

    Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\\'s standard dummy text ever. It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters

    It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using \\'Content here, content here\\', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for \\'lorem ipsum\\' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).

    Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\\'s standard dummy text ever. It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters

    It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using \\'Content here, content here\\', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for \\'lorem ipsum\\' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).

    It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using \\'Content here, content here\\', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for \\'lorem ipsum\\' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).
    Assets Management
    Assets IDProduct DetailsBrandPurchase OnWarrantyWarranty StatusActions
    A40000002388
    \\\"Avatar\\\"
    Single Door Refrigerator
    CS-360
    \\\"Avatar\\\"20 July 202010 days beforeExpired
    A40000002388
    \\\"Avatar\\\"
    Double Door Refrigerator
    CS-360
    \\\"Avatar\\\"20 July 202010 days beforeExpiring Soon
    Service Management
    Service IDService DetailsBrandDate & TimeTechnicianStatusActions
    A40000002388
    \\\"Avatar\\\"
    Single Door Refrigerator
    Installation
    \\\"Avatar\\\"20 July 2020 4:20PMN/ARequested
    A40000002388
    \\\"Avatar\\\"
    Double Door Refrigerator
    CS-360
    \\\"Avatar\\\"20 July 2020 4:20PMRohit KumarCancelled
    Order Management
    Purchased OnProduct DetailsBrandPriceWarrantyWarranty StatusActions
    10 July 2023
    \\\"Avatar\\\"
    Single Door Refrigerator
    CS-360
    \\\"Avatar\\\"₹69910 days beforeExpired
    10 July 2023
    \\\"Avatar\\\"
    Double Door Refrigerator
    CS-360
    \\\"Avatar\\\"₹1,469In 5 daysExpiring Soon
    Support Tickets
    Ticket IDProduct/ServiceDescriptionDate & TimeSourceIssue TypeAssigned toStatusActions
    MMF783524Refrigerator ServiceMy Refrigerator is not cooling properly. after service done.10 Jul 2023 | 5:20 PMCallCoolingN/AExpired
    MMF987655Water LeakageA clogged defrost drain can cause water buildup. Clear any blockages.24 Mar 2023 | 10:52 AMCallDisplayVivek SharmaIn Progress
    Payments
    Transaction IDDate & TimeService/ Product DetailsAmount PaidPartner AmountPayment ViaStatusActions
    TRNS87907610 Jul 2023 | 5:20 PM
    \\\"Avatar\\\"
    Single Door Refrigerator
    Installation
    ₹820₹420Net BankingRefund Pending
    TRNS78352419 Apr 2023 | 4:58 PM
    \\\"Avatar\\\"
    Double Door Refrigerator
    Installation
    ₹1399₹899Debit CardFailed
    \");\n$templateCache.put(\"app/PincodeFinder/PincodeFinder.html\",\"
    1. Home
    2. Pncode Finder
    {{pincodefndrCtrl.OverAllInfo.TotalPinCode}}

    Total Pincodes

    {{pincodefndrCtrl.OverAllInfo.PinCodeInProfile}}

    In Profile

    {{pincodefndrCtrl.OverAllInfo.PinCodeNotInProfile}}

    Not In Profile

    {{pincodefndrCtrl.OverAllInfo.PincodeInProfileOutsideRange}}

    In Profile Outside Range

    {{pincodefndrCtrl.OverAllInfo.PincodeWithJobsInProfile}}

    In Profile | With Jobs

    {{pincodefndrCtrl.OverAllInfo.PincodeWithoutJobsInProfile}}

    In Profile | No Jobs

    {{pincodefndrCtrl.OverAllInfo.PincodeWithJobsNotInProfile}}

    Not In Profile | With Jobs

    {{pincodefndrCtrl.OverAllInfo.PincodeWithoutJobsNotInProfile}}

    Not In Profile | No Jobs

    • {{key}} - ({{value}})
    In Profile PincodeAddressNo. of Jobs Distance
    {{pincodefind.PinCode}}{{pincodefind.Address}}{{pincodefind.JobCount}}{{pincodefind.Distance}} KM
    \");\n$templateCache.put(\"app/PersistentReport/PersistentReport.html\",\"
    1. Home
    2. Persistent Report
    Persistent Report
    \");\n$templateCache.put(\"app/PlanningReport/PlanningReport.html\",\"
    Filters
    Report NameDateCreated ByAction
    June 21, HCL, Max Tickets12 Jun, 2021Vinodh Mahajan
    June 21, HCL, Max Tickets12 Jun, 2021Vinodh Mahajan
    June 21, HCL, Max Tickets12 Jun, 2021Vinodh Mahajan
    June 21, HCL, Max Tickets12 Jun, 2021Vinodh Mahajan
    June 21, HCL, Max Tickets12 Jun, 2021Vinodh Mahajan
    June 21, HCL, Max Tickets12 Jun, 2021Vinodh Mahajan
    June 21, HCL, Max Tickets12 Jun, 2021Vinodh Mahajan
    June 21, HCL, Max Tickets12 Jun, 2021Vinodh Mahajan
    \");\n$templateCache.put(\"app/PlanningBulkUpload/PlanningBulkUpload.html\",\"

    Customer

    Nokia India Pvt.Ltd

    Project

    RF Project

    Upload From Device
    or Drag your file here

    Document supported .xlsx, .xls and max. size is 8MB.

    12Jan-Jobs.xlsx

    12Jan-Jobs.xlsx

    Something went wrong.

    \");\n$templateCache.put(\"app/PlanningResource/PlanningResource.html\",\"
    Filters
    2360

    Freelancers (FL)

    980

    Freelancer Vendors (FV)

    1960

    Freelancer Vendor Teams (FVT)

    3500

    All Active Technicians

    50

    Warehouses

    15

    Training centers

    StateDistrictPinSkillsFreelancers (FL)Freelance Vendors (FV)Freelance Vendor Team (FVT)Total Technicians MMF Units Total Technicians
    HaryanaGurugram122003Wire Laying7/83/52/212/150
    HaryanaGurugram122003Wire Laying7/83/52/212/150
    HaryanaGurugram122003Wire Laying7/83/52/212/150
    HaryanaGurugram122003Wire Laying7/83/52/212/150
    HaryanaGurugram122003Mohit7/83/52/212/150
    HaryanaGurugram122003Wire Laying7/83/52/212/150
    HaryanaGurugram122003Wire Laying7/83/52/212/150
    HaryanaGurugram122003Wire Laying7/83/52/212/150
    HaryanaGurugram122003Wire Laying7/83/52/212/150
    HaryanaGurugram122003Wire Laying7/83/52/212/150
    HaryanaGurugram122003Wire Laying7/83/52/212/150
    HaryanaGurugram122003Wire Laying7/83/52/212/150
    HaryanaGurugram122003Wire Laying7/83/52/212/150
    HaryanaGurugram122003Wire Laying7/83/52/212/150
    HaryanaGurugram122003Wire Laying7/83/52/212/150
    of 252 records
    \");\n$templateCache.put(\"app/PlanningTicket/PlanningTicket.html\",\"
    Filters
    Range (in km)
    Pincode
    11

    Total Locations

    58

    Total Match

    7

    Not Match

    20

    Atleast 2 Match

    5

    Atleast 1 Match

    9

    Run Rate (Days)

    Site AddressPinSkillsFreelancers (FL)Freelance Vendors (FV)Freelance Vendor Team (FVT)Total TechniciansJob Count
    Haldiram, C- 31, Sector 62, To…122003Wire Laying18/203/52/212/1534
    Haldiram, C- 31, Sector 62, To…122003Wire Laying18/203/52/212/1534
    Haldiram, C- 31, Sector 62, To…122003Wire Laying18/203/52/212/1534
    Haldiram, C- 31, Sector 62, To…122003Wire Laying18/203/52/212/1534
    Haldiram, C- 31, Sector 62, To…122003Wire Laying7/83/52/212/1534
    Haldiram, C- 31, Sector 62, To…122003Wire Laying18/203/52/212/1534
    Haldiram, C- 31, Sector 62, To…122003Wire Laying18/203/52/212/1534
    Haldiram, C- 31, Sector 62, To…122003Wire Laying18/203/52/212/1534
    Haldiram, C- 31, Sector 62, To…122003Wire Laying18/203/52/212/1534
    Haldiram, C- 31, Sector 62, To…122003Wire Laying18/203/52/212/1534
    Haldiram, C- 31, Sector 62, To…122003Wire Laying18/203/52/212/1534
    Haldiram, C- 31, Sector 62, To…122003Wire Laying18/203/52/212/1534
    Haldiram, C- 31, Sector 62, To…122003Wire Laying18/203/52/212/1534
    Haldiram, C- 31, Sector 62, To…122003Wire Laying18/203/52/212/1534
    Haldiram, C- 31, Sector 62, To…122003Wire Laying18/203/52/212/1534
    of 252 records
    \");\n$templateCache.put(\"app/PlanningResourceMap/PlanningResourceMap.html\",\"
    • Technicians
    • Warehouse
    • TrainingCenters
    • {{skills}}
    • {{certificate}}
    • {{tools}}
    • {{role}}
    {{plannerResourceMap.usersCounts.TotalFECount}}

    Freelancers (FL)

    {{plannerResourceMap.usersCounts.TotalFLVCount}}

    Freelancer Vendors (FV)

    {{plannerResourceMap.usersCounts.TotalFVTCount}}

    Freelancer Vendor Teams (FVT)

    {{plannerResourceMap.usersCounts.TotalActiveUsersCount}}

    All Active Technicians

    {{plannerResourceMap.usersCounts.TotalServiceCenterCount}}

    Total Service Center

    {{plannerResourceMap.usersCounts.TotalMicroWarehouseCount}}

    Warehouses

    {{plannerResourceMap.usersCounts.TotalWarehouseCount}}

    Master Warehouse

    UserIdNameStatusBadgesMobile No.Activation DateCityStatePinCodeRoleUser TypeIsAuthorized PartnerAdhar cardPancardCriminal CheckPrimeStarted Receiving Leads (last 15 Days)Lead Accepted (last 15 Days)Job Rejection (%)SOP Adherence (%)Customer RatingBrandProduct ServicingSkillAadhar NumberPAN NumberLast ActivationWork Location
    \\\"image\\\" {{user.FirstName}} {{user.LastName}}
    \\\"image\\\" \\\"image\\\"
    ( {{user.TotalLeadsReceived}} ) 30,\\'label label-primary\\':user.JobRecjectionPerctange <= 30}\\\">{{user.JobRecjectionPerctange}}= 70}\\\">{{user.SOPAdherence}}= 4}\\\">{{user.CustomerRating}}
    {{user.BrandName}}
    {{user.ProductName}}
    {{user.SkillSet.toString()}}
    {{user.Locations.toString()}}
    Showing {{plannerResourceMap.techpageindexCount}} to {{plannerResourceMap.usersLength}} of {{plannerResourceMap.totalTalentPoolCount}} entries
    {{plannerResourceMap.exceptionPoolList.TotalUsers}}

    Total Users

    {{plannerResourceMap.exceptionPoolList.TotalFieldEngineer}}

    Total Field Engineer

    {{plannerResourceMap.exceptionPoolList.TotalVendors}}

    Total Vendors

    {{plannerResourceMap.exceptionPoolList.TotalOneJobDone}}

    Total One JobDone

    User IdUser NameUser RoleAddressSkillSetWork Locations
    {{userTktData.UserId}}{{userTktData.UserName}}{{userTktData.UserRole}}{{userTktData.Address}}{{userTktData.SkillSet[0]+(userTktData.SkillSetCount>1?\\\"...\\\":\\\"\\\")}}{{userTktData.UserWorkLocations[0]+(userTktData.worklocationCount>1?\\\"...\\\":\\\"\\\")}}
    PincodeCityStateFL User CountFLV User CountFLT User CountTotal User Count
    {{usersData.City}}{{usersData.State}}{{usersData.FLUserCount}}{{usersData.FLVUserCount}}{{usersData.FLTUserCount}}{{usersData.TotalUserCount}}
    Ticket IdStatusAccountNameSkillAddressCityStatePincodeLatitudeLongitude
    {{ticketData.Status}}{{ticketData.AccountName}}{{ticketData.Skill}}{{ticketData.Address}}{{ticketData.City}}{{ticketData.State}}{{ticketData.Pincode}}{{ticketData.Latitude}}{{ticketData.Longitude}}
     {{plannerResourceMap.TPpageindexCount}} - {{plannerResourceMap.ticketPoolListLenth}} of {{totalTableTicketPool}}
    CustomerNameService TypeAddressCityStatePincodeLatitudeLongitudeTicket IdTicket Date
    {{ticketData.CustomerName}}{{ticketData.ServiceType}}{{ticketData.CustomerAddress}}{{ticketData.CustomerCity}}{{ticketData.CustomerState}}{{ticketData.CustomerPincode}}{{ticketData.Latitude}}{{ticketData.Longitude}}{{ticketData.TicketId}}{{ticketData.TicketDate}}
     {{plannerResourceMap.cuPageindexCount}} - {{plannerResourceMap.customerListLenth}} of {{totalCustomers}}
    {{plannerResourceMap.analysisCount.TotalLocations}}

    Total Locations/Tickets

    {{plannerResourceMap.analysisCount.TotalMatchedLocations}}

    Total Match (Found Freelancers)

    {{plannerResourceMap.analysisCount.TotalNotMatchedLocations}}

    Total No Match (No Freelancer Found)

    {{plannerResourceMap.analysisCount.FoundAtleastOneFE}}

    Found Atleast 1 Freelancer

    {{plannerResourceMap.analysisCount.FoundMoreThanOneFE}}

    Found More than 1 Freelancers

    {{plannerResourceMap.analysisCount.DailyRunRate}}

    Daily Run Rate

    [{{plannerResourceMap.analysisCount.TotalUniqueFE}} / {{plannerResourceMap.analysisCount.TotalUniqueFV}} / {{plannerResourceMap.analysisCount.TotalUniqueFVT}}]

    Total Unique Freelancers [FL/FV(FVT)]

    [{{plannerResourceMap.analysisCount.TotalSameSkillActive}} / {{plannerResourceMap.analysisCount.TotalSameSkillActiveMoreThanOneJob}} / {{plannerResourceMap.analysisCount.TotalSameSkillActiveOneJob}}]

    Total Same Skill Active [1 or more Job/No Job]

    [{{plannerResourceMap.analysisCount.TotalRelatableSkillActive}} / {{plannerResourceMap.analysisCount.TotalRelatableSkillActiveMoreThanOneJob}} / {{plannerResourceMap.analysisCount.TotalRelatableSkillActiveOneJob}}]

    Total Similar Skill Active [1 or more Job/No Job]

    {{plannerResourceMap.analysisCount.TotalActiveUsers}}

    Total Active

    {{plannerResourceMap.analysisCount.TotalRegisteredUsers}}

    Total Registered

    {{plannerResourceMap.analysisCount.TotalInvitedUsers}}

    Total Invited

    Uploaded IdUploaded ReportUpload TypeCreated OnCreated ByTotal RecordsSuccess CountException CountActions
    {{capacity.UploadId}}{{capacity.UploadName}}{{capacity.UploadType}}{{capacity.CreatedOn | date:\\'dd/MM/yyyy hh:mm a\\'}}{{capacity.UserName}}{{capacity.TotalRecords}}{{capacity.SuccessRecords}}{{capacity.ExceptionRecords}}
    Analysis IdAnalysis NameAnalysis DescriptionSuccess Rate(%)Created OnCreated ByActions
    {{analysis.AnalysisId}}{{analysis.AnalysisName}}{{analysis.AnalysisDescription}}{{analysis.SuccessRate}}{{analysis.AnalysisDate | date:\\'dd/MM/yyyy hh:mm a\\'}}{{analysis.UserName}}
    of 252 records
    Upload IdAnalysis IdAddress IdSite IdEdit AddressUploaded AddressException StatusFormatted Address CityStatePin codeDistrictLatLongSame Skill (1 or more Job)Same Skill (No Job)Relatable Skill (1 or more Job)Relatable Skill (No Job)Active FreelancersRegistered FreelancersInvited FreelancersTotal Freelancers
    {{users.SameSkillOneJob}}{{users.SameSkillNoJob}}{{users.RelatableSkillOneJob}}{{users.RelatableSkillNoJob}}{{users.ActiveUsers}}{{users.RegisteredUsers}}{{users.InvitedUsers}}{{users.TotalUsers}}
    User IdNameAddressDistance(KM)SkillOne job done skills
    {{users.UserId}}{{users.UserName}}{{users.Address}}{{((users.Distance /1000).toFixed(3))}}{{users.SkillSet[0]+(users.SkillSetCount>1?\\\"...\\\":\\\"\\\")}}{{users.OneJobSkill[0]+(users.OneJobSkillSetCount>1?\\\"...\\\":\\\"\\\")}}
      {{plannerResourceMap.ulpageindexCount}} - {{plannerResourceMap.userListLength}} of {{totalUsers}}
      {{plannerResourceMap.upageindexCount}} - {{plannerResourceMap.analysisListLength}} of {{totalAL}}
    UserId Name StatusSkillOneJobDone SkillNo. of MatchTotal Jobs DoneWithin Range (km) Job Match Criteria
    \\\"image\\\" {{users.UserName}}{{users.SkillSet[0]+(users.SkillSetCount>1?\\\"...\\\":\\\"\\\")}}{{users.OneJobDoneSkills[0]+(users.OneJobSkillSetCount>1?\\\"...\\\":\\\"\\\")}}{{users.NumberOfAddressMatched}}{{(((users.MinDistance)/1000).toFixed(2))}} - {{(((users.MaxDistance) /1000).toFixed(2))}}Same Pincode
    Address IdSite IdUploaded AddressFormatted AddressCityStatePincode Distance(km)Freelancer PricePlannedClosure DateClouserType
    {{addresses.AddressId}}{{addresses.SiteId}}{{addresses.UploadedAddress}}{{addresses.Formatted_Address}}{{addresses.City}}{{addresses.State}}{{addresses.Pincode}}{{((addresses.Distance /1000).toFixed(2))}}Same Pincode{{addresses.FreelancerPrice}}{{addresses.PlannedClosureDate}}{{addresses.ClosuerType}}
      {{plannerResourceMap.uwtPageIndexCount}} - {{plannerResourceMap.UWTicketListLength}} of {{totalUWtickets}}
      {{plannerResourceMap.uwpageindexCount}} - {{plannerResourceMap.analysisListUWLength}} of {{totalUW}}
    Upload IdAnalysis IdAddress IdSite IdEdit AddressUploaded AddressException StatusFormatted Address CityStatePin codeDistrictLatLong
      {{plannerResourceMap.exuPageIndexCount}} - {{plannerResourceMap.exceptionAnalysisLength}} of {{totalEAL}}
    Companian
    Technician Filters
    Clear
    Atleast One Job Done
    WareHouse Filters
    Clear
    Training Centres Filters
    Clear
    Analysis Filters
    Clear
    By Pincode
    24KM
    Other Skills
    Atleast One Job Done
    Ticket Filters
    Clear
    Users Filters
    By Pincode
    KM
    Atleast One Job Done
    Matching Skill
    Customer Filters
    Clear
    Filters
    Atleast One Job Done
    \");\n$templateCache.put(\"app/PlanningTool/PlanningTool.html\",\"
    1. Home
    2. Planning Tool
    \\\"Planning
    \");\n$templateCache.put(\"app/PlanningTool/TicketBasedPlanning.html\",\"

    Planning Tool

    LocationCityStatePincodePreference 1 UserPreference 2 UserPreference 3 User
    ({{listJobPlanning.UserDataList[0].UserType}})
    Distance KM.

    ({{listJobPlanning.UserDataList[1].UserType}})
    Distance KM.

    ({{listJobPlanning.UserDataList[2].UserType}})
    Distance KM.

    \");\n$templateCache.put(\"app/PlanningTemplates/PlanningTemplates.html\",\"
    Template Name*SkillCustomer*Project*Date of CreationActions
    RF Survey TemplateRF SurveyNokiaRF Project26May,2019
    RF Survey TemplateRF SurveyNokiaRF Project26May,2019
    RF Survey TemplateRF SurveyNokiaRF Project26May,2019
    RF Survey TemplateRF SurveyNokiaRF Project26May,2019
    RF Survey TemplateRF SurveyNokiaRF Project26May,2019
    RF Survey TemplateRF SurveyNokiaRF Project26May,2019
    RF Survey TemplateRF SurveyNokiaRF Project26May,2019
    RF Survey TemplateRF SurveyNokiaRF Project26May,2019
    RF Survey TemplateRF SurveyNokiaRF Project26May,2019
    RF Survey TemplateRF SurveyNokiaRF Project26May,2019
    RF Survey Template

    Job Details

    Project & Customer

    Job Address

    Planned Clouser

    \");\n$templateCache.put(\"app/PlanningUploadJobs/PlanningUploadJobs.html\",\"

    145 Jobs Added in queue 5 are having errors.

    150 Jobs Add Successfully!

    Customer

    Nokia India Pvt.Ltd

    Project

    RF Project

    Upload From Device
    or Drag your file here

    Document supported .xlsx, .xls and max. size is 8MB.

    Export below rows from the table, work on the errors and re-upload it.

    #RowError DescriptionJob PriorityJob DescriptionSite NameRegionContact PersonContact Number
    11Contact number is invalidLowAtlantic Nihil ImpeditAtlantic Nihil ImpeditLowEos et accusamus9890748040
    11Contact number is invalidLowAtlantic Nihil ImpeditAtlantic Nihil ImpeditLowEos et accusamus9890748040
    11Contact number is invalidLowAtlantic Nihil ImpeditAtlantic Nihil ImpeditLowEos et accusamus9890748040
    11Contact number is invalidLowAtlantic Nihil ImpeditAtlantic Nihil ImpeditLowThis is required9890748040
    11Contact number is invalidLowAtlantic Nihil ImpeditAtlantic Nihil ImpeditLowEos et accusamus9890748040
    \");\n$templateCache.put(\"app/PreferredFreelancerTechnicianProfile/PreferredFreelancerTechnicianProfile.html\",\"

    Preferred Freelancer Technician Profile

    Role : {{PreferredFreelancerTechnicianProfile.users.Role}}

    \\\"profile\\\"

    {{PreferredFreelancerTechnicianProfile.users.FirstName}} {{PreferredFreelancerTechnicianProfile.users.LastName}} - {{PreferredFreelancerTechnicianProfile.users.UserId}}


    {{PreferredFreelancerTechnicianProfile.users.customerrating}} 

    Date of Joining  -

    Email  -

    Phone No.  -

    {{PreferredFreelancerTechnicianProfile.users.Experience}} year of Experience

    \\\"image\\\" \\\"image\\\"

    {{PreferredFreelancerTechnicianProfile.users.JobTotal}}


    Total Jobs

    {{PreferredFreelancerTechnicianProfile.userbalance.AvailableBalance}}


    Balance

    {{PreferredFreelancerTechnicianProfile.users.CustomerRating | number: 1 }}


    Average Rating


    View Agreement
    \\\"image\\\"

    Reliability

    \\\"image\\\"

    About

    {{PreferredFreelancerTechnicianProfile.users.Experience}} year of Experience

    \\\"image\\\"

    Address

    {{PreferredFreelancerTechnicianProfile.users.CurrentAdd1}} , {{PreferredFreelancerTechnicianProfile.users.CurrentAdd2}} , {{PreferredFreelancerTechnicianProfile.users.CurrentCity}} , {{PreferredFreelancerTechnicianProfile.users.CurrentState}} ,

    \\\"image\\\"

    Skill Set

    \\\"image\\\"

    Equipments

    \\\"image\\\"

    Assets

    \\\"image\\\"

    Work Locations

    \\\"image\\\"

    Insaurance Details

    Insurance Name  -
    Policy Number  -
    Issue Date   -
    Expiry Date   -
    Insaurance Image   -
    View Link \\\"profile\\\"
    \\\"image\\\"

    Bank Account Details

    Account No  -
    IFSC Code  -
    Account Holder Name   -
    Bank Name   -
    \\\"image\\\"

    Documents

    \\\"image-1\\\" \\\"profile\\\" \\\"Cinque

    Doc. Name -{{BGVerificationDocPath.DocumentName}}

    Doc. Type -{{BGVerificationDocPath.DocumentType}}

    Doc. No. -{{BGVerificationDocPath.DocumentNo}}

    \");\n$templateCache.put(\"app/PreferredTalentPool/PreferredTalentPool.html\",\"

    Preferred Talent Pool -

    Showing {{PreferredPoolCtrl.techpageindexCount}} to {{PreferredPoolCtrl.usersLength}} of {{PreferredPoolCtrl.totalTalentPoolCount}} entries
    ActionUserIdNameBadgesActivation DateAddress Line1Address Line2CityStatePinCodePrimeEmailStudentInternshipAdhar CardPan CardSkillLocationSource
    {{PreferredUser.FirstName}} {{PreferredUser.LastName}}
    \\\"image\\\" \\\"image\\\"
    {{PreferredUser.SkillSet.toString()}}
    {{PreferredUser.Locations.toString()}}
    {{PreferredUser.Source}}
    \\\"image\\\" \\\"image\\\"

    {{user.FirstName}} {{user.LastName}}

     {{user.EnrollNo}}
    {{user.CustomerRating}} 
    {{user.ContactNumber}}

    Address :-

    {{user.CurrentAdd1}}
    {{user.CurrentAdd2}}
    {{user.CurrentCity}}
    {{user.CurrentState}}
    Showing {{PreferredPoolCtrl.pageindexCount}} to {{PreferredPoolCtrl.vendorListLength}} of {{PreferredPoolCtrl.totalVendorPoolCount}} entries
    ActionActionVendor IdNameBadgesMobile No.Company NameActivation DateAddress Line1Address Line2CityStatePinCodePrimeEmailVerticalSkillLocationLatitudeLongitudeVendor Status
    {{PreferredVendor.FirstName}} {{PreferredVendor.LastName}}
    \\\"image\\\" \\\"image\\\"
    {{PreferredVendor.SkillSet.toString()}}
    {{PreferredVendor.Locations.toString()}}
    \\\"image\\\" \\\"image\\\"

    {{vendor.CompanyName}}

    {{vendor.FirstName}} {{vendor.LastName}}

    {{vendor.VendorId}}
    {{vendor.CustomerRating}} 
    {{vendor.ContactNumber}}

    Address :-

    {{vendor.PermanentAdd1}}
    {{vendor.PermanentAdd2}}
    {{vendor.PermanentCity}}
    {{vendor.PermanentState}}
    Choose Filters

    Choose Filters

    \");\n$templateCache.put(\"app/PreferredVendorTalentPool/PreferredVendorTalentPool.html\",\"
    ActionActionUser IdNameBadgesMobile No.Company NameActivation DateAddress Line1Address Line2CityStatePinCodePrimeEmailVerticalSkillLocationLatitudeLongitudeUser Status
    {{PreferredVendor.FirstName}} {{PreferredVendor.LastName}}
    \\\"image\\\" \\\"image\\\"
    {{PreferredVendor.SkillSet.toString()}}
    {{PreferredVendor.Locations.toString()}}
    \\\"image\\\" \\\"image\\\"

    {{PreferredVendor.CompanyName}}

    {{PreferredVendor.FirstName}} {{PreferredVendor.LastName}}

    {{PreferredVendor.VendorId}}
    {{PreferredVendor.CustomerRating}} 
    {{PreferredVendor.MobileNumber}}

    Address :-

    {{PreferredVendor.AddressLine1}}
    {{PreferredVendor.AddressLine2}}
    {{PreferredVendor.City}}
    {{PreferredVendor.State}}
    Choose Filters

    \");\n$templateCache.put(\"app/PreferredTechnicianTalentPool/PreferredTechnicianTalentPool.html\",\"
    ActionUserIdNameBadgesActivation DateAddress Line1Address Line2CityStatePinCodePrimeEmailStudentInternshipAdhar CardPan CardSkillLocationSource
    {{PreferredUser.FirstName}} {{PreferredUser.LastName}}
    \\\"image\\\" \\\"image\\\"
    {{PreferredUser.SkillSet.toString()}}
    {{PreferredUser.Locations.toString()}}
    {{PreferredUser.Source}}
    \\\"image\\\" \\\"image\\\"

    {{PreferredUser.FirstName}} {{PreferredUser.LastName}}

    {{PreferredUser.UserId}}
    {{PreferredUser.CustomerRating}} 

    Address :-

    {{PreferredUser.CurrentAdd1}}
    {{PreferredUser.CurrentAdd2}}
    {{PreferredUser.CurrentCity}}
    {{PreferredUser.CurrentState}}
    Choose Filters

    \");\n$templateCache.put(\"app/PreferredVendorTechnicianProfile/PreferredVendorTechnicianProfile.html\",\"

    Preferred Vendor Profile

    Role : {{PreferredVendorTechnicianProfile.users.Role}}

    \\\"profile\\\"

    {{PreferredVendorTechnicianProfile.users.FirstName}} {{PreferredVendorTechnicianProfile.users.LastName}} - {{PreferredVendorTechnicianProfile.users.UserId}}

    {{PreferredVendorTechnicianProfile.users.CompanyName}}

    {{PreferredVendorTechnicianProfile.users.VendorRatings}}

    Ceation Date  -

    Email  -

    {{PreferredVendorTechnicianProfile.users.Experience}} year of Experience

    \\\"image\\\" \\\"image\\\"

    {{PreferredVendorTechnicianProfile.users.TotalJobs}}


    Total Jobs

    {{PreferredVendorTechnicianProfile.users.AvailableBalance}}


    Balance

    {{PreferredVendorTechnicianProfile.users.CustomerRating | number: 1 }}


    Average Rating


    View Agreement
    \\\"image\\\"

    Reliability

    \\\"image\\\"

    About

    {{PreferredVendorTechnicianProfile.users.Experience}} year of Experience

    \\\"image\\\"

    Address

    {{PreferredVendorTechnicianProfile.users.AddressLine1}} , {{PreferredVendorTechnicianProfile.users.AddressLine2}} , {{PreferredVendorTechnicianProfile.users.City}} , {{PreferredVendorTechnicianProfile.users.State}} ,

    \\\"image\\\"

    Skill Set

    \\\"image\\\"

    Equipments

    \\\"image\\\"

    Assets

    \\\"image\\\"

    Bank Account Details

    Account No  -
    IFSC Code  -
    Account Holder Name   -
    Bank Name   -
    \\\"image\\\"

    Insaurance Details

    Insurance Name  -
    Policy Number  -
    Issue Date   -
    Expiry Date   -
    Insaurance Image   -
    View Link \\\"profile\\\"
    \\\"image\\\"

    Documents

    \\\"image-1\\\" \\\"profile\\\" \\\"Cinque

    Doc. Name - {{BGVerificationDocPath.DocumentName}}

    Doc. Type - {{BGVerificationDocPath.DocumentType}}

    Doc. No. -{{BGVerificationDocPath.DocumentNo}}

    Team
    User IDNameContact NumberAddress line 1Address Line 2CityStateSkills
    {{VendorTeamlist.UserId}}{{VendorTeamlist.FirstName}} {{VendorTeamlist.LastName}}{{VendorTeamlist.ContactNumber}}{{VendorTeamlist.PermanentAdd1}}{{VendorTeamlist.PermanentAdd2}}{{VendorTeamlist.PermanentCity}}{{VendorTeamlist.PermanentState}}
    {{VendorTeamlist.SkillSet.toString()}}
    \");\n$templateCache.put(\"app/PriceModelMapping/PriceModelMapping.html\",\"
    1. Home
    2. Price Model Mapping
    {{PriceModelMappingCtrl.pageindexCount}} - {{PriceModelMappingCtrl.WithZeroListLength}} of {{totalTableWithZero}}
    {{PriceModelMappingCtrl.pageindexCountWithoutZero}} - {{PriceModelMappingCtrl.WithoutZeroListLength}} of {{totalTableWithoutZero}}
    SelectBrandNameModelNumberSkillProjectGroupNameAccountEdit
    SelectBrandNameModelNumberSkillProjectGroupNameAccount
    SelectCancellation ReasonPrice TypePercentage (%)Applicable for AutoPaymentEdit
    YES
    NO
    \");\n$templateCache.put(\"app/ProductReplacementApproval/ProductReplacementApproval.html\",\"
    1. Home
    2. Product Replacement Approval
    Showing {{ProductReplaceApprovalCntrl.opageindexCount}} to {{ProductReplaceApprovalCntrl.orderListLength}} of {{totalOrderList}} entries
    Replacement IDPrevious Replacement IDTicket IDStatusSub StatusDispatch StatusActionProduct BrandProduct NameCreated OnReplacement ReasonRemarkRequester IDRequester Contact InfoConsumer NameConsumer ContactTicket AgeReplacement AgeTicket StatusWarehouse IDWarehouse Contact InfoPackaging IDPackaging DatePackage Tracking IDShipment IDShipment DateShipment DocTracking LinkGR No.Old Model No.Old Serial No. 1Old Serial No. 2New Model No.New Serial No. 1New Serial No. 2Old Model PriceNew Model Price
    {{orderList.strReplacementId}}{{orderList.strPrevReplacementId}}{{orderList.strTicketId}}{{orderList.strTicketId}}{{orderList.strStatus}}{{orderList.SubStatus}}{{orderList.strDispatchStatus}} {{orderList.strProductBrand}}{{orderList.strProductName}}{{orderList.dateCreatedOn | date:\\'dd/MMM/yy\\'}}{{orderList.strReplacementReason}}{{orderList.strReplacementComment}}{{orderList.strRequestRaisedBy}}{{orderList.strReqUserName}}{{orderList.ConsumerName}}{{orderList.ConsumerContact}}{{orderList.TicketAge}}{{orderList.ReplacementAge}}{{orderList.strTicketStatus}}{{orderList.strWareHouseId}}{{orderList.strWareHouseManager}}{{orderList.objPackageDetails[0].strPackageId}}{{orderList.objPackageDetails[0].datePackedOn | date:\\'dd/MMM/yy\\'}}{{orderList.objPackageDetails[0].strPackageTrackingId}}{{orderList.objPackageDetails[0].strShipmentId}}{{orderList.ShipmentDate | date:\\'dd/MMM/yy h:mm:ss a\\'}}{{orderList.strPackageAttachment}} \\\"No{{trackingLink}}{{orderList.strGRNumber}}{{orderList.strOldProductNumber}}{{orderList.strOldSerialNumber1}}{{orderList.strOldSerialNumber2}}{{orderList.strNewProductNumber}}{{orderList.strNewSerialNumber1}}{{orderList.strNewSerialNumber2}}{{orderList.OldModelPrice}}{{orderList.NewModelPrice}}

    {{ProductReplaceApprovalCntrl.PartDetails.PartName}}

    Part ID:{{ProductReplaceApprovalCntrl.PartDetails.strItemId}}
    SKU ID :{{ProductReplaceApprovalCntrl.PartDetails.strSKUId}}
    Product ID :{{ProductReplaceApprovalCntrl.PartDetails.ProjectId}}
    Project Name:{{ProductReplaceApprovalCntrl.PartDetails.ProjectName}}
    Unit :{{ProductReplaceApprovalCntrl.PartDetails.strItemUnit}}
    BrandName :{{ProductReplaceApprovalCntrl.PartDetails.strItemBrand}}

    Description

    • {{description}}

    Replacement Request Activity Timeline - ID : {{ProductReplaceApprovalCntrl.trackingDetails.strReplacementId}}

    Product Name : {{ProductReplaceApprovalCntrl.trackingDetails.strProductName}}
    Ticket ID : {{ProductReplaceApprovalCntrl.trackingDetails.strTicketId}}
    Order Status: {{ProductReplaceApprovalCntrl.trackingDetails.strStatus}}
    • {{timeline.strUserName}} {{timeline.strUserRole}} {{timeline.dateCreatedOn | date:\\'dd/MMM/yy h:mm:ss a\\'}}
      {{ timeline.strComment || \\'No comments available\\'}}
      Status moved to: {{ timeline.strStatus }} {{ timeline.strStage }} {{ timeline.strStatus }}
    \");\n$templateCache.put(\"app/ProjectCreation/ProjectCreation.html\",\"
    1. Home
    2. Create Project
    Project Details
    Please enter project name Project Name should not be grater than 50 Characters Project name should only contain alphabets with space
    Please select project manager
    Please select start date
    Please select end date
    Please select customer
    = 48 && event.charCode <= 57\\\" required=\\\"\\\" ng-pattern=\\\"/^[1-9]+[0-9]*$/\\\">
    Please enter job duration Please enter valid no of hours You can enter min 1 hours You can enter max 720 hours
    Please enter project description Project description should not be greater than 250 characters Please enter only alphanumeric with space, hyphen, slace, comma
    Service Level Agreement (SLA)*
    Average time close should not empty Enter numbers only
    Meeting customer appointment should not empty Enter numbers only
    Point of Contact {{$index+1}}
    Scheduling Rules {{$index+1}}
    Plsease select skill
    Rate Card
    = 48 && event.charCode <= 57\\\">
    Please enter price You can enter maximum 50000
    Price ()(Credits) :{{main.round2Decimal(projectcreate.price)}}
    Geo Fence
    = 48 && event.charCode <= 57\\\">
    Please enter range
    \");\n$templateCache.put(\"app/ProjectCreationLatest/ProjectCreationLatest.html\",\"
    1. Home
    2. Create Project

    PROJECT CREATION

    1

    Project Details

    2

    Service Level Agreement (SLA)*

    3 5

    Scheduling Rules

    3 5

    Point of Contact

    4 5

    Scheduling Rules

    5 5

    Rate Card

    6 5

    Geo Fence

    Project Details
    Please enter project name Project Name should not be grater than 50 Characters Project name should only contain alphabets with space
    Please select project manager
    Please select start date
    Please select end date
    Please select customer
    = 48 && event.charCode <= 57\\\" required=\\\"\\\" ng-pattern=\\\"/^[1-9]+[0-9]*$/\\\">
    Please enter job duration Please enter valid no of hours You can enter min 1 hours You can enter max 720 hours
    Please enter project description Project description should not be greater than 250 characters Please enter only alphanumeric with space, hyphen, slace, comma
    Service Level Agreement (SLA)*
    Average time close should not empty Enter numbers only
    Meeting customer appointment should not empty Enter numbers only
    Point of Contact {{$index+1}}
    Scheduling Rules {{$index+1}}
    Plsease select skill
    Rate Card
    = 48 && event.charCode <= 57\\\">
    Please enter price You can enter maximum 50000
    Price ()(Credits) :{{main.round2Decimal(projectcreate.price)}}
    Geo Fence
    = 48 && event.charCode <= 57\\\">
    Please enter range
    \");\n$templateCache.put(\"app/ProductReplacementOrders/ProductReplacementOrders.html\",\"
    1. Home
    2. All Replacement Orders
    • All
    • Pending
    • Approved
    • Rejected
    • Dispatched
    • Delivered
    Showing {{ProductReplaceCntrl.opageindexCount}} to {{ProductReplaceCntrl.orderListLength}} of {{totalOrderList}} entries
    Replacement IDPrevious Replacement IDTicket IDStatusSub StatusActionProduct BrandProduct NameCreated OnReplacement ReasonRemarkRequester IDRequester Contact InfoConsumer NameConsumer ContactTicket AgeReplacement AgeTicket StatusWarehouse IDWarehouse Contact InfoPackaging IDPackaging DatePackage Tracking IDShipment IDShipment DateShipment DocTracking LinkGR No.Old Model No.Old Serial No. 1Old Serial No. 2New Model No.New Serial No. 1New Serial No. 2
    {{orderList.strReplacementId}}{{orderList.strPrevReplacementId}}{{orderList.strTicketId}}{{orderList.strTicketId}}{{orderList.strStatus}}{{orderList.SubStatus}} {{orderList.strProductBrand}}{{orderList.strProductName}}{{orderList.dateCreatedOn | date:\\'dd/MMM/yy\\'}}{{orderList.strReplacementReason}}{{orderList.strReplacementComment}}{{orderList.strRequestRaisedBy}}{{orderList.strReqUserName}}{{orderList.ConsumerName}}{{orderList.ConsumerContact}}{{orderList.TicketAge}}{{orderList.ReplacementAge}}{{orderList.strTicketStatus}}{{orderList.strWareHouseId}}{{orderList.strWareHouseManager}}{{orderList.objPackageDetails[0].strPackageId}}{{orderList.objPackageDetails[0].datePackedOn | date:\\'dd/MMM/yy\\'}}{{orderList.objPackageDetails[0].strPackageTrackingId}}{{orderList.objPackageDetails[0].strShipmentId}}{{orderList.ShipmentDate | date:\\'dd/MMM/yy h:mm:ss a\\'}}{{orderList.strPackageAttachment}} \\\"No{{trackingLink}}{{orderList.strGRNumber}}{{orderList.strOldProductNumber}}{{orderList.strOldSerialNumber1}}{{orderList.strOldSerialNumber2}}{{orderList.strNewProductNumber}}{{orderList.strNewSerialNumber1}}{{orderList.strNewSerialNumber2}}

    {{ProductReplaceCntrl.PartDetails.PartName}}

    Part ID:{{ProductReplaceCntrl.PartDetails.strItemId}}
    SKU ID :{{ProductReplaceCntrl.PartDetails.strSKUId}}
    Product ID :{{ProductReplaceCntrl.PartDetails.ProjectId}}
    Project Name:{{ProductReplaceCntrl.PartDetails.ProjectName}}
    Unit :{{ProductReplaceCntrl.PartDetails.strItemUnit}}
    BrandName :{{ProductReplaceCntrl.PartDetails.strItemBrand}}

    Description

    • {{description}}

    Activity Trace ( {{ProductReplaceCntrl.trackingDetails.strReplacementId}} )

    Product Name : {{ProductReplaceCntrl.trackingDetails.strProductName}}
    Ticket ID : {{ProductReplaceCntrl.trackingDetails.strTicketId}}
    Order Status: {{ProductReplaceCntrl.trackingDetails.strStatus}}
    • {{timeline.strUserName}} {{timeline.strUserRole}} {{timeline.dateCreatedOn | date:\\'dd/MMM/yy h:mm:ss a\\'}}
      {{ timeline.strComment || \\'No comments available\\'}}
      Status moved to: {{ timeline.strStatus }}
    \");\n$templateCache.put(\"app/ProjectLatest/ProjectLatest.html\",\"

    Projects

    ActionIdNameCustomerStart DateEnd DateCreated OnLocationStatus
    {{projectlist.ProjectId}}{{location.Circle}}
    {{project.projectModel.Name}}

    Description: {{project.projectModel.Description}}

    Customer  {{project.projectModel.CustomerName}}
    Project Manager \\\"image\\\" {{project.projectModel.ManagerName}}  {{project.projectModel.ManagerNumber}}

    Serving Location

    Locations
    \\\"image\\\" \\\"image\\\"

    {{ProjectLatest.projectModel.Name}}

    {{ProjectLatest.projectModel.ManagerName}} - Project Manager

    {{ProjectLatest.projectModel.ManagerNumber}}

    Customer

    {{ProjectLatest.projectModel.CustomerName}}

    Locations

    Serving Location


    \");\n$templateCache.put(\"app/Project_Details/Project_Details.html\",\"
    1. Home
    2. Project detail

    Status:
    Start Date:
    Customer:
    Project Manager:
    Supervisior:
    {{projectdetail.projectModel.SupervisorName}}
    End Date:
    Location:
    {{projectdetail.projectModel.Circle}}
    Point of Contact :
    {{projectdetail.projectModel.CustomerContactRequestModel.FirstName}} {{projectdetail.projectModel.CustomerContactRequestModel.LastName}}

    {{projectdetail.projectModel.CustomerContactRequestModel.Mobile}}

    Completed:
    Project completed in 0%. Remaining close the project, sign a contract and invoice.
    Pos Installation
    Rule IDCertificate Description
    Rule_01has A+ IT Technician
    Rule_02has A+ IT Essentials
    Rule_03has CISCO CCENT
    Rule_04has FLS Certified
    Rule_05has Server +
    Rule IDAssets Description
    Rule_01has Smart phone +
    Rule_02has Laptop
    Rule_03has Bike
    Rule IDTools Description
    Rule_01has 10ftLadder
    Rule_02has Cutter
    Rule_03has But Set
    Rule_04has Cable Tester
    All Tickets
    Ticket IDJob TypeTechnicianDurationStatus
    \");\n$templateCache.put(\"app/Project_Details/project_detail.html\",\"
    1. Home
    2. Project detail

    RFLOS

    Status:
    Active
    Start Date:
    26.04.2017
    Customer:
    Airtel
    Project Owner:
    Rachit Sharma
    End Date:
    16.08.2018
    Location:
    Gurgaon
    Point of Contact Name:
    Akshit Chauhan
    Point of Contact No.:
    8375860288
    Completed:
    Project completed in 60%. Remaining close the project, sign a contract and invoice.
    Job TypeTechnicianDurationStatusAction
    FeasibilityAkshit Chauhan4 hrsCompleted
    FeasibilityAkshit Chauhan4 hrsAssigned
    FeasibilityAkshit Chauhan4 hrsRejected
    FeasibilityAkshit Chauhan4 hrsAssigned
    FeasibilityAkshit Chauhan4 hrsCompleted
    FeasibilityAkshit Chauhan4 hrsRejected
    FeasibilityAkshit Chauhan4 hrsCompleted
    FeasibilityAkshit Chauhan4 hrsAssigned
    FeasibilityAkshit Chauhan4 hrsCompleted
    FeasibilityAkshit Chauhan4 hrsRejected
    FeasibilityAkshit Chauhan4 hrsRejectedX
    FeasibilityAkshit Chauhan4 hrsCompleted
    FeasibilityAkshit Chauhan4 hrsCompletedX
    FeasibilityAkshit Chauhan4 hrsCompleted
    FeasibilityAkshit Chauhan4 hrsCompleted
    FeasibilityAkshit Chauhan4 hrsCompleted
    FeasibilityAkshit Chauhan4 hrsCompleted

    Project description

    There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don\\'t look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isn\\'t anything embarrassing

    High priority

    Project Skills
    Project files
    \");\n$templateCache.put(\"app/Project_Details_Latest/Project_Details_Latest.html\",\"

    Project Details

    Status  

    Location  {{Project_Details_Latest.projectModel.Circle}}

    Start Date  {{Project_Details_Latest.projectModel.StartDate | date: Project_Details_Latest.CustomDateformat}}

    End Date  {{Project_Details_Latest.projectModel.EndDate | date: Project_Details_Latest.CustomDateformat}}

    Pos Installation
    Rule IDCertificate Description
    Rule_01has A+ IT Technician
    Rule_02has A+ IT Essentials
    Rule_03has CISCO CCENT
    Rule_04has FLS Certified
    Rule_05has Server +
    Rule IDAssets Description
    Rule_01has Smart phone +
    Rule_02has Laptop
    Rule_03has Bike
    Rule IDTools Description
    Rule_01has 10ftLadder
    Rule_02has Cutter
    Rule_03has But Set
    Rule_04has Cable Tester
    \");\n$templateCache.put(\"app/RateJob/RateJob.html\",\"
    Payment has been done successfully for Ticket Id - {{rateJob.ticketId}}
    Thank You - MyMobiforce
    \");\n$templateCache.put(\"app/Recharge/recharge.html\",\"
    1. Home
    2. Recharge
    Payment method
    Please enter recharge amount greater then or equal to INR {{rechargeCtrl.minRechageAmount}}

    Payment Instructions


    \");\n$templateCache.put(\"app/Refer/refer.html\",\"

    Workforce as a Service

    Freelance marketplace to connect Field Engineers with service companies.



    {{registerForm.fileUploadError}}
    Please enter first name
    Please enter last name
    Please select year
    Please select month
    Please select date
    Please enter date of birth Please enter valid date of birth
    Please enter email Please fill out valid email
    Please enter gender
    Please enter mobile number Please fill 10 digit mobile no
    Please enter address line 1
    Please enter address line 2
    Please enter state
    Please enter city
    Please enter pincode Please fill 6 digit pincode

    =0\\\">(Optional)
    {{doc.DocumentPath1}}
    {{registerForm.error[doc.DocumentType]}}

    Copyright MyMobiforce © 2018

    \");\n$templateCache.put(\"app/Refer/refervendor.html\",\"

    Workforce as a Service

    Freelance marketplace to connect Field Vendors with service companies.

    Business Information Section



    {{registerForm.fileUploadError}}
    Please enter first name
    Please enter last name
    Please select year
    Please select month
    Please select date
    Please enter date of birth Please enter valid date of birth
    Please enter email Please fill out valid email
    Please enter gender
    Please enter mobile number Please fill 10 digit mobile no
    Please enter address line 1
    Please enter address line 2
    Please select state
    Please select city
    Please enter pincode Please fill 6 digit pincode
    Please enter company name
    Please select business
    Please select skills
    Please select strength
    Please select inventory

    Document Upload Section

    * Kindly Upload scanned / digital copies of following documents. Please make sure they are clearly visible.

    * Click Image placeholder to upload/ change document


    =0\\\">(Optional)
    {{doc.DocumentPath1}}
    {{registerForm.error[doc.DocumentType]}}

    Copyright MyMobiforce © 2019

    \");\n$templateCache.put(\"app/RedirectUserPayment/RedirectUserPayment.html\",\"
    1. Home
    2. Payment Successful

    {{userpayment.transactionMsg}}

    {{userpayment.transactionMsg}}

    \");\n$templateCache.put(\"app/RedirectPayment/RedirectPayment.html\",\"\");\n$templateCache.put(\"app/Refer Freelancer/refer.html\",\"

    Crowdsourcing Platform

    Service Marketplace to connect Field Engineers with Businesses



    {{registerForm.fileUploadError}}
    Please enter first name
    Please enter last name
    Please select year
    Please select month
    Please select date
    Please enter date of birth Please enter valid date of birth
    Please enter email Please fill out valid email
    Please enter gender
    Please enter mobile number Please fill 10 digit mobile no
    Please enter address line 1
    Please enter address line 2
    Please enter state
    Please enter city
    Please enter pincode Please fill 6 digit pincode

    =0\\\">(Optional)
    {{doc.DocumentPath1}}
    {{registerForm.error[doc.DocumentType]}}

    Copyright MyMobiforce © 2018

    \");\n$templateCache.put(\"app/Refer Vendor/refervendor.html\",\"

    Crowdsourcing Platform

    Service Marketplace to connect Service Providers with Businesses.

    Business Information Section



    {{registerForm.fileUploadError}}
    Please enter first name
    Please enter last name
    Please select year
    Please select month
    Please select date
    Please enter date of birth Please enter valid date of birth
    Please enter email Please fill out valid email
    Please enter gender
    Please enter mobile number Please fill 10 digit mobile no
    Please enter address line 1
    Please enter address line 2
    Please select state
    Please select city
    Please enter pincode Please fill 6 digit pincode
    Please enter company name
    Please select business
    Please select skills
    Please select strength
    Please select inventory

    Document Upload Section

    * Kindly Upload scanned / digital copies of following documents. Please make sure they are clearly visible.

    * Click Image placeholder to upload/ change document


    =0\\\">(Optional)
    {{doc.DocumentPath1}}
    {{registerForm.error[doc.DocumentType]}}

    Copyright MyMobiforce © 2019

    \");\n$templateCache.put(\"app/RegisteredAllUser/RegisteredAllUser.html\",\"
    1. Home
    2. All Registered User
    {{RegisteredAllUserCtrl.UsersType}}
      {{RegisteredAllUserCtrl.upageindexCount}} - {{RegisteredAllUserCtrl.userListLength}} of {{totalUsers}}
    Registration IdUser IdNameContact NumberCurrent Add1 Registered Age(dd:hh:mm:ss)Father\\'s NameCityStatePin CodeRoleUserTypeIsAuthorized PartnerAdharPanCriminalUPIBankSkillSkill VerifiedFirst LoginstatusReferred ByTeam SizeSourceInventory StatusWork LocationRegistration DateReportingToDOBCompany NameCompany Registration NumberGST AvailableGST Certified NoMSME CertifiedMSME Certified NO.Partner (TPI)
    {{users.SkillDataNew}}
    {{location}} YES NO
    No User Found

    \");\n$templateCache.put(\"app/Report/report.html\",\"
    1. Home
    2. {{report.report_title}}
             Filters

    {{report.report_title +\\\" \\\"+ report.filter_name + \\\" \\\" + report.additionalInfo}}

    {{report.report_title +\\\" \\\"+ report.additionalInfo + \\\" (\\\"+report.filter_name+\\\")\\\" }}

    {{ch.Value}}

    {{ch.DisplayName}}
    {{report.tableCharts[tableId].table_name}}
    \");\n$templateCache.put(\"app/ReportCreation/ReportCreation.html\",\"

    Report Creation

    1

    Report Details

    2

    Report Matrics

    3

    Table Design

    Columns Aggregated Columns
    4

    Drill Down Reports

    Report Details
    Report Matrics
    Table Design

    Columns

    Aggregated Columns

    Drill Down Report
    \");\n$templateCache.put(\"app/ReportDetail/reportDetail.html\",\"
    1. Home
                  
               

    Click \\'Edit\\', then \\'Add Chart\\' to start creating your metrics and dimensions

    •  
      • {{subItem.Value}}

        {{item.ChartTitle}}
    •  
      • {{subItem.Value}}

        {{item.ChartTitle}}
    {{chart.ChartTitle}}
     
    {{chart.ChartTitle}}
    {{chart.ChartTitle}}
    {{advance.tableCharts[tableId].ChartTitle}}
     
    \");\n$templateCache.put(\"app/ReportLatest/ReportLatest.html\",\"

    Reports

    ActionIdNameCustomerStart DateEnd DateCreated OnLocation
    \");\n$templateCache.put(\"app/ReportDetailShare/reportDetailShare.html\",\"
    1. Home
    2. {{advance.report_title}}
               
               

    Click \\'Edit\\', then \\'Add Chart\\' to start creating your metrics and dimensions

    •  
      • {{subItem.Value}}

        {{item.ChartTitle}}
    •  
      • {{subItem.Value}}

        {{item.ChartTitle}}
    {{advance.tableCharts[tableId].ChartTitle}}
     
    {{rollup}}
    {{chart.ChartTitle}}

    {{advance.metricsCharts[chart.ChartId].value&&advance.metricsCharts[chart.ChartId].value.length>0?(advance.metricsCharts[chart.ChartId].value[$index].ValueType == \\'INR\\'?(advance.metricsCharts[chart.ChartId].value[$index].Value|currency:\\'₹\\'):advance.metricsCharts[chart.ChartId].value[$index].Value):\\\"NA\\\"}} 0\\\" class=\\\"text-success font-bold\\\">{{advance.metricsCharts[chart.ChartId].value[$index].ValueUnitAbbr}}

    {{advance.metricsCharts[chart.ChartId].value&&advance.metricsCharts[chart.ChartId].value.length>0?(advance.metricsCharts[chart.ChartId].value[$index].ValueType == \\'INR\\'?(main.round2Decimal(advance.metricsCharts[chart.ChartId].value[$index].Value)|currency:\\'₹\\'):main.round2Decimal(advance.metricsCharts[chart.ChartId].value[$index].Value)):\\\"NA\\\"}}

    {{advance.metricsCharts[chart.ChartId].value[$index].timevalue}}

    0) && advance.metricsCharts[chart.ChartId].value[$index].CompareResult\\\" class=\\\"matrix-number text-green\\\"> {{advance.metricsCharts[chart.ChartId].value[$index].ValueType == \\'INR\\'?(advance.metricsCharts[chart.ChartId].value[$index].ComparisonValue|currency:\\'₹\\'):advance.metricsCharts[chart.ChartId].value[$index].ComparisonValue}} 0\\\" class=\\\"text-green font-bold\\\">{{advance.metricsCharts[chart.ChartId].value[$index].ValueUnitAbbr}} 0) && !advance.metricsCharts[chart.ChartId].value[$index].CompareResult\\\" class=\\\"matrix-number text-danger\\\"> {{advance.metricsCharts[chart.ChartId].value[$index].ValueType == \\'INR\\'?(advance.metricsCharts[chart.ChartId].value[$index].ComparisonValue|currency:\\'₹\\'):advance.metricsCharts[chart.ChartId].value[$index].ComparisonValue}} 0\\\" class=\\\"text-danger font-bold\\\">{{advance.metricsCharts[chart.ChartId].value[$index].ValueUnitAbbr}} {{advance.metricsCharts[chart.ChartId].subtitles[$index]}}
    {{chart.ChartTitle}}
    {{chart.ChartTitle}}
    {{chart.ChartTitle}}
    {{chart.ChartTitle}}
    {{chart.ChartTitle}}
    {{col}}
    {{val}} {{val}}
    {{chart.ChartTitle}}
    {{chart.ChartTitle}}
    {{chart.ChartTitle}}
    {{chart.ChartTitle}}
    {{chart.ChartTitle}}
    {{col}}
    {{val}} {{val}}
    {{chart.ChartTitle}}
    {{chart.ChartTitle}}
    {{chart.ChartTitle}}

    {{chart.ChartTitle}}

    {{chart.ChartTitle}}

    {{chart.ChartTitle}}
    {{chart.ChartTitle}}
    {{chart.ChartTitle}}
    {{chart.ChartTitle}}
    \");\n$templateCache.put(\"app/ReportDownload/ReportDownload.html\",\"
    Reports
    of {{totalReports}} records

    Showing {{reportdownload.upageindexCount}} to {{reportdownload.reportListLength}} of {{totalReports}} entries

    TypeReport NameSizeGenrated AtGenrated ByAction
    {{reportList.ReportName}}{{reportList.DisplayReportName}}{{reportList.Size}} kb{{reportList.ReportGeneratedAt | date:\\'dd/MM/yyyy hh:mm a\\'}}{{reportList.GeneratedBy}}
    \");\n$templateCache.put(\"app/ReturnablePartConsumeList/ReturnablePartConsumeList.html\",\"
    1. Home
    2. Returnable Parts Consumed List
    Showing {{ReturnPartCntrl.opageindexCount}} to {{ReturnPartCntrl.orderListLength}} of {{TotalRecord}} entries
    Call IDPart CodeProduct BrandProduct GroupProduct Sub GroupPart NameReturn StatusCreated On
    {{orderList.TicketId}}{{orderList.SKUId}}{{orderList.ProductBrand}}{{orderList.ProductGroup}}{{orderList.ProductSubGroup}}{{orderList.PartName}}{{orderList.PartReturnStatus}}{{orderList.CreatedOn | date:\\'dd/MMM/yy hh:mm a\\' }}
    \");\n$templateCache.put(\"app/RoasterTeamCreation/Roaster_Team_creation_form.html\",\"
    1. Home
    2. Team
    3. Create Team
    Roles Information
    Please select Role
    Please select ReportingTo
    .
    Please select location
    Please select Department
    Please enter overtime hourly rate
    Please enter shift rate
    Work Area
    Account Name
    Account Id
    States
    City
    Pin Code
    Action
    {{AccountDetail.AccountName}}

    {{roastercreateUser.SelectedAccount.AccountName}}

    {{AccountDetail.AccountId}}

    {{roastercreateUser.SelectedAccount.AccountId}}

    {{AccountDetail.State}}
    {{AccountDetail.City}}
    {{locations}}

    {{roastercreateUser.SelectedAccount.AccountId}}

    User Details
    Please enter first name Your first name is required to be at least 2 characters Your first name cannot be longer than 50 characters Your first name should only contain alphabets with space
    Please enter last name Your last name cannot be longer than 50 characters Your last name should only contain alphabets with space
    Please select your gender

    Please enter date of birth

    Please select valid date of birth

    Date of birth should be less than {{roastercreateUser.maxDOBStr}}

    Please enter valid email id Please enter email id
    = 48 && event.charCode <= 57\\\" maxlength=\\\"10\\\" ng-pattern=\\\"/^[0-9]{10}$/\\\">
    Please enter valid number
    = 48 && event.charCode <= 57\\\" ng-pattern=\\\"/^[0-9]{10}$/\\\">
    Please enter valid Mobile number Please enter mobile number

    {{roastercreateUser.fileUploadError}}
    Please enter address line 1 Your address line 1 cannot be longer than 70 characters Please enter only alphanumeric with space, hyphen, slace, comma
    Please enter address line 2 Your address line 2 cannot be longer than 70 characters Please enter only alphanumeric with space, hyphen, slace, comma
    Please select state
    Please select city
    Please select country
    =48 && event.charCode <=57\\\">
    Please enter pincode Please enter 4 digit number
    Please select option for present address
    Please enter address line 1 Your address line 1 cannot be longer than 70 characters Please enter only alphanumeric with space, hyphen, slace, comma
    Please enter address line 2 Your address line 2 cannot be longer than 70 characters Please enter only alphanumeric with space, hyphen, slace, comma
    Please select state
    Please select city
    =48 && event.charCode <=57\\\">
    Please enter pincode Please enter 6 digit number
    \");\n$templateCache.put(\"app/RoasterTeamMember/RoasterTeamMember.html\",\"
    1. Home
    2. Roaster Team Members
    {{teamroaster.userInfo.FirstName}} {{teamroaster.userInfo.LastName}}s
    \\\"image\\\"

    {{teamroaster.userInfo.Role}}

    {{teamroaster.userInfo.ContactNumber}}

    Current Location
    {{teamroaster.userInfo.CurrentAdd1}}
    {{teamroaster.userInfo.CurrentAdd2}}
    {{teamroaster.userInfo.CurrentCity}}, {{teamroaster.userInfo.CurrentState}}
    Activate
    Detach from account

    AccountsState ( City )PinCodes
    {{account.AccountName}} ({{account.AccountId}}){{account.State}} {{account.City}}{{account.PinCode}}
    Total Jobs{{teamroaster.userInfo.JobTotal}}Assigned Jobs{{teamroaster.userInfo.JobAssigned}}
    Approved Jobs{{teamroaster.userInfo.JobApproved}}Completed Jobs{{teamroaster.userInfo.JobCompleted}}
    Rejected Jobs{{teamroaster.userInfo.JobRejected}}Cancelled Jobs{{teamroaster.userInfo.JobCancelled}}

    \");\n$templateCache.put(\"app/RoleAccessManagement/RoleAccessManagement.html\",\"
    1. Home
    2. Role
    ROLE NAMEDescriptionActions
    {{ role.name }}{{ role.description }}
    \");\n$templateCache.put(\"app/RosterManagement/AutoAssign.html\",\"
    1. Home
    2. Job Assign
     
         
    Broadcast Assign
    Select User :
    All
    {{entity.Value}}
    Filter :
     
     
    Job IDJobTypeCustomerLatitudeLongitudeLocationStart Date TimeEnd Date TimeCreation Date
    {{jobs.LinkId || jobs.TicketId}}{{jobs.JobType}}{{jobs.ConsumerName}}{{jobs.Latitude}}{{jobs.Longitude}}{{jobs.Circle}}{{jobs.StartTime | date: \\'dd/MMM/yyyy h:mm:ss a\\'}}{{jobs.EndTime | date: \\'dd/MMM/yyyy h:mm:ss a\\'}}{{jobs.CreationDate | date: \\'dd/MMM/yyyy\\'}}
    \");\n$templateCache.put(\"app/RosterManagement/JobAssign.html\",\"
    1. Home
    2. Job Assign
    Job IDJobTypeCustomerLocationCreation DateStatus
    {{jobs.TicketId}}{{jobs.JobType}}{{jobs.ConsumerName}}{{jobs.Circle}}{{jobs.CreationDate | date: \\'dd/MMM/yyyy\\'}}{{jobs.TicketStatus}}
    Job IDJobTypeCustomerSentReceived
    {{jobs.JobId}}{{jobs.JobType}}{{jobs.CustomerName}}{{jobs.BIDSend}}{{jobs.BIDReceived}}
    Broadcast Assign
    \\\"image\\\" \\\"image\\\"
    {{users.UserName}} V FT FE

    {{users.UserContact}}

    All Jobs

    {{users.UserTotalJobs}}

    Price
    INR {{main.round2Decimal(users.BIDCounterRate)}}
    Ratings
    {{users.UserRating?users.UserRating:0}}
     
     
    \");\n$templateCache.put(\"app/RosterManagement/NewJobAssign.html\",\"
    1. Home
    2. Job Assign
     
         
    Broadcast Assign
    Select User :
    All
    {{entity.Value}}
    Filter :
     
     
    Job IDJobDescriptionBroadcastCountCustomerLatitudeLongitudeCityLocationConsumerNameStart Date TimeCreation Date
    {{jobs.LinkId || jobs.TicketId}}{{jobs.JobDescription}}{{jobs.BroadcastCount}}{{jobs.CustomerName}}{{jobs.Latitude}}{{jobs.Longitude}}{{jobs.City}}{{jobs.Circle}}{{jobs.ConsumerName}}{{jobs.StartTime | date: \\'dd/MMM/yyyy h:mm:ss a\\'}}{{jobs.CreationDate | date: \\'dd/MMM/yyyy\\'}}
    Job IDJobDescriptionCustomerJobLatitudeJobLongitudeLocationSentReceivedConsumerNameStart Date TimeJob Date
    {{jobs.LinkId || jobs.JobId}}{{jobs.JobDescription}}{{jobs.CustomerName}}{{jobs.JobLatitude}}{{jobs.JobLongitude}}{{jobs.Location}}{{jobs.BIDSend}}{{jobs.BIDReceived}}{{jobs.ConsumerName}}{{jobs.StartDateTime | date: \\'dd/MMM/yyyy h:mm:ss a\\'}}{{jobs.JobBroadcastDateTime}}
    Job IDJobDescriptionCustomerJobLatitudeJobLongitudeLocationSentReceivedConsumerNameStart Date TimeJob Date
    {{jobs.LinkId || jobs.JobId}}{{jobs.JobDescription}}{{jobs.CustomerName}}{{jobs.JobLatitude}}{{jobs.JobLongitude}}{{jobs.Location}}{{jobs.BIDSend}}{{jobs.BIDReceived}}{{jobs.ConsumerName}}{{jobs.StartDateTime | date: \\'dd/MMM/yyyy h:mm:ss a\\'}}{{jobs.JobBroadcastDateTime}}
    \");\n$templateCache.put(\"app/RosterManagement/RosterShift.html\",\"
    1. Roster Management / Employee Shift Calendar
    Broadcast Assign
     
     

    Total Hours : {{rosterShift.ShiftSummaryOverAll.TotalHours}} h

    Labour Cost : $ {{rosterShift.ShiftSummaryOverAll.StaffCost}}

    Employee : {{rosterShift.ShiftSummaryOverAll.StaffCount}}

    Schedule Hours : {{rosterShift.ShiftSummaryOverAll.ScheduledHours}} h

    {{shiftday.TotalHours}} h

    $ {{shiftday.AmountSpent}}

    {{shiftday.StaffCount}}

    \");\n$templateCache.put(\"app/SLAManagement/SlaCreation.html\",\"
    1. Home
    2. SLA Creation
    Please enter sla definition




    Business Hours Details


    Specifiy the Operational timing of your organization :


    Shift Start
    Shift End



    Holiday Schedule :

    DateHoliday NameActiveAction

    \");\n$templateCache.put(\"app/SLAManagement/Slalisting.html\",\"
    1. Home
    2. SLA Listing
    DescriptionCalenderSLA Value (Minute)LocationProjectSkillsCustomerPrioritySettingAction
    {{sla.SLADefinition}}{{sla.SLACalender}}{{sla.SLAValue}}{{sla.SLALocation}}{{sla.Project}}{{sla.Skill}}{{sla.Customer}}{{sla.CallType}}
    \");\n$templateCache.put(\"app/SMEInteraction/SMEInteraction.html\",\"
    \\\"image\\\"

    User Name: {{fixedUsers.UserName}}

    User Id: {{fixedUsers.UserId}}

    Role: {{fixedUsers.UserRole}}

    User IdNameSkillSlot Booked DateAssigned To (UserId)Assigned To (Name)Assigned OnInteraction ResultStatusBooking StatusReschedule CountAction
    {{bGverifySlot.UserId}}{{bGverifySlot.UserName}}{{bGverifySlot.Skill}}{{bGverifySlot.SlotBookingDate | date:\\'dd/MM/yy hh:mm a\\'}}{{bGverifySlot.InteractionWithUserId}}{{bGverifySlot.InteractionWithUserName}}{{bGverifySlot.AssignedOnDate | date:\\'dd/MM/yy hh:mm a\\'}}{{bGverifySlot.InteractionResult}}{{bGverifySlot.Status}}{{bGverifySlot.BookingStatus}}{{bGverifySlot.RescheduleCount}}
     {{SMECtrl.pageindexCount}} - {{SMECtrl.bGVerifyListLength}} of {{totalTableUsersBG}}
    \");\n$templateCache.put(\"app/ScheduleExceptionListPaging/ScheduleExceptionList.html\",\"
    1. Home
    2. Schedule Exceptions
    Schedule Exceptions
     {{scheduleExceptionList.pageindexCount}} - {{scheduleExceptionList.scheduleExceptionListNewLength}} of {{totalTableTickets}}
    Exception IdDescriptionStatusStageExceptionTypeIteration CountAccount NameTicket IdCreated Date
    {{newJob.Description}}{{newJob.ExceptionAction}}{{newJob.Stage}}{{newJob.ExceptionType}}{{newJob.IterationId}}{{newJob.AccountName}}{{newJob.JobId}}{{newJob.CreatedOn | date:\\'dd/MM/yy hh:mm a\\'}}
    \");\n$templateCache.put(\"app/ScheduleJobAssignation/AutoAssign.html\",\"
    1. Home
    2. Job Assign
     
         
    Broadcast Assign
    Select User :
    All
    {{entity.Value}}
    Filter :
     
     
    Job IDJobTypeCustomerLatitudeLongitudeLocationStart Date TimeEnd Date TimeCreation Date
    {{jobs.LinkId || jobs.TicketId}}{{jobs.JobType}}{{jobs.ConsumerName}}{{jobs.Latitude}}{{jobs.Longitude}}{{jobs.Circle}}{{jobs.StartTime | date: \\'dd/MMM/yyyy h:mm:ss a\\'}}{{jobs.EndTime | date: \\'dd/MMM/yyyy h:mm:ss a\\'}}{{jobs.CreationDate | date: \\'dd/MMM/yyyy\\'}}
    \");\n$templateCache.put(\"app/ScheduleJobAssignation/DemoJobAssign.html\",\"
    1. Job Assign
     
         
    Broadcast Assign
    Select User :
    All
    {{entity.Value}}
    Business Objectives :
    Ojectives Met:

    {{objectives.BusinessObjectiveName}} {{objectives.BusinessObjectiveDescrption}}

    Achieved : {{objectives.BusinessObjectiveValue}}

    Objectives Breached :

    {{objectives.BusinessObjectiveName}} {{objectives.BusinessObjectiveDescrption}}

    Achieved : {{objectives.BusinessObjectiveValue}}

    Rule 1 :
    Rule 2 :
    Rule 3 :
     
     
    Job IDJobDescriptionCustomerLatitudeLongitudeLocationSlot TimeBid SentBid ReceivedStatusConsumerNameStart Date TimeCreation Date
    {{jobs.LinkId || jobs.JobId}}{{jobs.JobDescription}}{{jobs.CustomerName}}{{jobs.JobLatitude}}{{jobs.JobLongitude}}{{jobs.Location}}{{jobs.slotTime}}{{jobs.BIDSend}}{{jobs.BIDReceived}}{{jobs.ConsumerName}}{{jobs.StartDateTime | date: \\'dd/MMM/yyyy h:mm:ss a\\'}}{{jobs.CreationDate | date: \\'dd/MMM/yyyy\\'}}

    Technician Filters
    Clear
    Atleast One Job Done
    \");\n$templateCache.put(\"app/ScheduleJobAssignation/JobAssign.html\",\"
    1. Home
    2. Job Assign
    Job IDJobTypeCustomerLocationCreation DateStatus
    {{jobs.TicketId}}{{jobs.JobType}}{{jobs.ConsumerName}}{{jobs.Circle}}{{jobs.CreationDate | date: \\'dd/MMM/yyyy\\'}}{{jobs.TicketStatus}}
    Job IDJobTypeCustomerSentReceived
    {{jobs.JobId}}{{jobs.JobType}}{{jobs.CustomerName}}{{jobs.BIDSend}}{{jobs.BIDReceived}}
    Broadcast Assign
    \\\"image\\\" \\\"image\\\"
    {{users.UserName}} V FT FE

    {{users.UserContact}}

    All Jobs

    {{users.UserTotalJobs}}

    Price
    INR {{main.round2Decimal(users.BIDCounterRate)}}
    Ratings
    {{users.UserRating?users.UserRating:0}}
     
     
    \");\n$templateCache.put(\"app/ScheduleJobAssignation/NewJobAssign.html\",\"
    1. Home
    2. Job Assign
     
         
    Broadcast Assign
    Select User :
    All
    {{entity.Value}}
    Filter :
     
     
    Job IDJobDescriptionBroadcastCountCustomerLatitudeLongitudeCityLocationConsumerNameStart Date TimeCreation Date
    {{jobs.LinkId || jobs.TicketId}}{{jobs.JobDescription}}{{jobs.BroadcastCount}}{{jobs.CustomerName}}{{jobs.Latitude}}{{jobs.Longitude}}{{jobs.City}}{{jobs.Circle}}{{jobs.ConsumerName}}{{jobs.StartTime | date: \\'dd/MMM/yyyy h:mm:ss a\\'}}{{jobs.CreationDate | date: \\'dd/MMM/yyyy\\'}}
    Job IDJobDescriptionCustomerJobLatitudeJobLongitudeLocationSentReceivedConsumerNameStart Date TimeJob Date
    {{jobs.LinkId || jobs.JobId}}{{jobs.JobDescription}}{{jobs.CustomerName}}{{jobs.JobLatitude}}{{jobs.JobLongitude}}{{jobs.Location}}{{jobs.BIDSend}}{{jobs.BIDReceived}}{{jobs.ConsumerName}}{{jobs.StartDateTime | date: \\'dd/MMM/yyyy h:mm:ss a\\'}}{{jobs.JobBroadcastDateTime}}
    Job IDJobDescriptionCustomerJobLatitudeJobLongitudeLocationSentReceivedConsumerNameStart Date TimeJob Date
    {{jobs.LinkId || jobs.JobId}}{{jobs.JobDescription}}{{jobs.CustomerName}}{{jobs.JobLatitude}}{{jobs.JobLongitude}}{{jobs.Location}}{{jobs.BIDSend}}{{jobs.BIDReceived}}{{jobs.ConsumerName}}{{jobs.StartDateTime | date: \\'dd/MMM/yyyy h:mm:ss a\\'}}{{jobs.JobBroadcastDateTime}}
    \");\n$templateCache.put(\"app/ScheduledReport/ScheduledReport.html\",\"

    Scheduled Reports

    ActionSchedule nameReport nameSchedule frequencyReport data rangeStart timeEnd timeStatus
    {{s.uniqueId}}{{s.reportName}}{{s.cronType}}{{report.scheduleModel.monthly}}{{s.displayDuration}}{{s.startTimeIns}}{{s.endTimeIns}}{{s.status?\\\"Enabled\\\":\\\"Disabled\\\"}}
    \");\n$templateCache.put(\"app/SchedulerRule/SchedulerRule.html\",\"

    Scheduler Rules Configuration

    Business Objectives

    Objectives NameDescriptionTarget ValuePriority IndexAction
    {{objectivesdata.Name}}{{objectivesdata.DisplayDescription}}
    0 && distance <= 100\\\">

    You selected a distance range of {{objectivesdata.Description}} km.

    {{objectivesdata.Description}} Rs. {{objectivesdata.Description}} {{objectivesdata.RulePriority}}
    Rules

    Rule NameDescriptionAction
    Mode Of TransporationChoose Mode of Transporation
    Fixed Team capacity is preferred over Vendors or FreelancersSet toggle On to give fixed team preference over vendors or freelancers
    Preferred Network
    Compiliance Check
    Route Optimization
    PSS Criteria\\'s
    Priority based on Criticality
    SLA Check
    Appointment Met Check
    Distance Between Jobs
    0 && DistanceBetween <= 50\\\">

    distance between {{DistanceBetween}} km.

    Scheduler Frequency

    Job Schedule Frequency
    Business Hours to
    Jeopardy
    Delayed StartReal Time
    Delayed ClosureReal Time
    Cancellations and Pull backsReal Time
    Hold or Customers RejectionsReal Time
    \");\n$templateCache.put(\"app/SchedulingRules/SchedulingRules.html\",\"
    1. Home
    2. Scheduling Rules
    \");\n$templateCache.put(\"app/SearchUserInfo/SearchUserInfo.html\",\"
    1. Home
    2. Search User Information
    Please enter user mobile number or user id
    User NamePhone NumberSkillsLocation
    {{searchUserInfoCtrl.SearchUserInfoList.UserName}} {{searchUserInfoCtrl.SearchUserInfoList.MobileNumber}}{{location}}

    ×
    \\\"image\\\" \\\"image\\\"

    {{searchUserInfoCtrl.TicketSelectedForAssistedSuggestion.UserId}}

    {{searchUserInfoCtrl.TicketSelectedForAssistedSuggestion.PersonalEmail}}

    , , , -

    {{searchUserInfoCtrl.TicketSelectedForAssistedSuggestion.LastFollowUpReason}} ({{searchUserInfoCtrl.TicketSelectedForAssistedSuggestion.LastFollowUpRemark}})

    Last follow up on {{searchUserInfoCtrl.TicketSelectedForAssistedSuggestion.LastFollowUpDateTimeObj | date:\\'dd/MMM/yyyy h:mm:ss a\\'}}

    by \\\"{{searchUserInfoCtrl.TicketSelectedForAssistedSuggestion.LastFollowUpTakenBy}}\\\"

    Skills
    {{skills.Skill}}
    Work Area
    {{workArea}}

    TodayJobs

    Total Bids

    Acceptance (%)

    Rejection (%)

    Tools
    {{tools}}


    • Broadcast
    • Assigned
    • ANA
    • CCNAB
    • ABR
    • ABD0
    • Completed
    • Approved
    • Rejected
    • Cancelled
    • Total
    Basic Interaction
    Save

    Qualifications

    Skills

    Preferences


      {{searchUserInfoCtrl.jobsStarIndex}} - {{searchUserInfoCtrl.jobsMaxcount}} of {{totalJobs}}
    Job IDJob TypeProjectCustomerLocationTechnician NameFollow Up ReasonCreation DateAssignation DateAppointment DateApproved Date Broadcast Age(dd:hh:mm:ss)Field AgeDistanceStatusSLAStatusTATRating
    \");\n$templateCache.put(\"app/ScreenBuilders/ScreenBuilders.html\",\"
    1. Platform Builders

    New Flow


    Template Builder

    The builder allows users to create customizable templates for job tasks. These templates are used by technicians in the field to complete tickets on mobile devices, ensuring a streamlined and efficient process.

    Event Builder

    This builder allows user to configure the type of notification, define the action that triggers it, and specify the channel (e.g., email, SMS) and audience (e.g., specific users or roles) to receive the notification.

    Schedule Report Builder

    This builder allows users to automate the process of generating reports at specified frequencies. It enables you to set up scheduled reports that run at regular intervals, such as daily, weekly, or monthly, ensuring that critical data is available without the need for manual intervention.

    Approval Flow Builder

    This builder allows users to create an approval flow for any object, such as ticket approval flows, product replacement requests, or gas charging processes. This helps automate the approval process for various records across objects.

    Report-Dashboard Builder

    This builder allows users to create dynamic, interactive dashboards and reports that provide deep insights into business data. You can design custom dashboards with real-time data visualizations, including graphs, charts, and tables, to gain a clear understanding of key performance metrics. This tool allows you to track trends, monitor performance, and make data-driven decisions more effectively.

    \");\n$templateCache.put(\"app/ServiceCenterCreation/ServiceCenterCreation.html\",\"
    1. Home
    2. Service Center Creation/Updation
    User Details
    Please enter first name Your first name is required to be at least 2 characters Your first name cannot be longer than 50 characters Your first name should only contain alphabets with space
    Please enter last name Your last name cannot be longer than 50 characters Your last name should only contain alphabets with space
    = 48 && event.charCode <= 57\\\" ng-pattern=\\\"/^[0-9]{10}$/\\\" ng-if=\\\"!SrvcCntr.edit\\\"> = 48 && event.charCode <= 57\\\" ng-pattern=\\\"/^[0-9]{10}$/\\\" ng-if=\\\"SrvcCntr.edit\\\" readonly=\\\"\\\">
    Please enter valid Mobile number Please enter mobile number Please enter 10 digit number
    Please enter Shop name
    Please select brand
    Please select skills
    Please enter address linePlease enter only alphanumeric with space, hyphen, slace, comma
    Please select state
    Please select city
    =48 && event.charCode <=57\\\">
    Please enter pincode Please enter 6 digit number
    \");\n$templateCache.put(\"app/ServiceCenterList/ServiceCenterList.html\",\"
    1. Home
    2. Service Center

    No Service Center Found

    Service Center Details
    ActionUser IDService Center NameServing LocationContact InfoAddressPasswordSub-RegionBrandsCategoryProductsSkillsCreated OnActivate/Deactivate
    {{servicecenterData.CustomUserId}}{{servicecenterData.CustomUserId}}{{servicecenterData.ServiceCenterName}}
    {{servicecenterData.ServiceAreaList.toString()}}
    {{servicecenterData.ContactInfo}}{{servicecenterData.Address}}{{servicecenterData.Password}}
    {{servicecenterData.strListSubRegion.toString()}}
    {{servicecenterData.Brands}}{{servicecenterData.ServiceCentreType}}
    {{servicecenterData.ListProducts.toString()}}
    {{servicecenterData.Products.toString()}}
    {{servicecenterData.CreatedOn | date : \\'dd/MM/yyyy hh:mm a\\'}}
    \");\n$templateCache.put(\"app/ServiceCenterTicketList/ServiceCenterTicketList.html\",\"
    1. Home
    2. Jobs
    {{servicecenterticketcntrl.TicketDashboarCounts.AssignJobCount}}

    Assigned

    {{servicecenterticketcntrl.TicketDashboarCounts.AppointmentNotBooked}}

    Appointment Not Booked

    {{servicecenterticketcntrl.TicketDashboarCounts.NotAssingedToTeam}}

    Not Assigned to Team

    {{servicecenterticketcntrl.TicketDashboarCounts.PartAssignedToTeamCount}}

    Part Allocated

    {{servicecenterticketcntrl.TicketDashboarCounts.PartOrderedCount}}

    Part Requested

    {{servicecenterticketcntrl.TicketDashboarCounts.PartReceivedCount}}

    Part Received

    {{servicecenterticketcntrl.TicketDashboarCounts.CancelJobCount}}

    Cancelled

    {{servicecenterticketcntrl.TicketDashboarCounts.CancelCustomerVerified}}

    Cancelled Cust Verified

    {{servicecenterticketcntrl.TicketDashboarCounts.TBCCount}}

    TBC

    {{servicecenterticketcntrl.TicketDashboarCounts.ProductReplacementCount}}

    Product Replacement

    {{servicecenterticketcntrl.TicketDashboarCounts.GasChargingRequestCount}}

    Gas Charging Request

    {{servicecenterticketcntrl.TicketDashboarCounts.CompleteJobCount}}

    Completed

    {{servicecenterticketcntrl.TicketDashboarCounts.ApprovedJobCount}}

    Approved

    {{servicecenterticketcntrl.TicketDashboarCounts.TotalJobCount}}

    Total

    Call IDActionJob DescriptionJob TypeCityPincodeProductWarranty StatusDistance (KM)Technician NameAssign DateStatusSub StatusPart Order IDPart Order StatusAppointment DateActual Start DateCompletion DateAppointment TATCompletion TATConsumer NameConsumer ContactAddress1Address2Approved DateCancelled ByCancellation ReasonsCustomer RatingReplacement IDReplacement StatusGasCharging Request IDGasCharging Request Status
    {{ticket.WarrantyStatus}}{{ticket.Distance}}{{ticket.UserName}}{{ticket.PartOrderId}}{{ticket.PlannedStartDate | date:\\'dd/MM/yyyy hh:mm a\\'}}{{ticket.ActualStartTime | date:\\'dd/MM/yyyy hh:mm a\\'}}{{ticket.CompletionDate | date:\\'dd/MM/yyyy hh:mm a\\'}}{{ticket.dAppointmentTAT}}{{ticket.dCompletionTAT}}{{ticket.CustomerRating}}
     {{servicecenterticketcntrl.pageindexCount}} - {{servicecenterticketcntrl.ticketListLength}} of {{totalTableTickets}}
    \");\n$templateCache.put(\"app/ServiceCenter_Form creation/ServiceCenter_Form creation.html\",\"
    1. Home
    2. Team
    3. Create Service Center
    Roles Information
    Please select Reporting To
    {{chip}}
    Please enter at least one location
    Please enter User id User ID must be alphanumeric and up to 12 characters
    No sub-regions are available for the selected user.
    0\\\">
    Please select sub-region
    Please enter service center name
    .
    Please select brand
    User Details
    Please enter first name Your first name is required to be at least 2 characters Your first name cannot be longer than 50 characters Your first name should only contain alphabets with space
    Please enter last name Your last name cannot be longer than 50 characters Your last name should only contain alphabets with space

    Please select creation date

    Please select valid creation date

    = 48 && event.charCode <= 57\\\" ng-pattern=\\\"/^[0-9]{10}$/\\\">
    Please enter valid Mobile number Please enter mobile number
    = 48 && event.charCode <= 57\\\" maxlength=\\\"10\\\" ng-pattern=\\\"/^[0-9]{10}$/\\\">
    Please enter valid number
    Please enter valid email id Please enter email id

    {{servicecntrl.fileUploadError}}
    Please enter address line 1 Your address line 1 cannot be longer than 70 characters Please enter only alphanumeric with space, hyphen, slace, comma
    Please enter address line 2 Your address line 2 cannot be longer than 70 characters Please enter only alphanumeric with space, hyphen, slace, comma
    Please select state
    Please select city
    Please select country
    = 48 && event.charCode <= 57\\\">
    Please enter a pincode Please enter a valid 6-digit number
    Please select option for present address
    Please enter address line 1 Your address line 1 cannot be longer than 70 characters Please enter only alphanumeric with space, hyphen, slace, comma
    Please enter address line 2 Your address line 2 cannot be longer than 70 characters Please enter only alphanumeric with space, hyphen, slace, comma
    Please select state
    Please select city
    =48 && event.charCode <=57\\\">
    Please enter pincode Please enter 6 digit number
    Background Details
    Please enter MSL
    Please enter security amount
    = 48 && event.charCode <= 57\\\" ng-pattern=\\\"/^[0-9]{12}$/\\\" maxlength=\\\"12\\\" ng-required=\\\"!(servicecntrl.AccountId == \\'380\\' || servicecntrl.AccountId == \\'383\\')\\\" required=\\\"\\\">
    Please enter aadharcard no. Please enter a 12-digit number
    Please Upload Adhaar
    Please enter PAN No. Please enter a valid PAN No. (e.g., ABCTY1234D)
    Please Upload PAN
    Please enter GSTIN Please enter a valid GSTIN (e.g., 22AAAAA0000A1Z5)
    Please Upload GST Document
    Please enter a valid TAN No. (e.g., ABCD12345X)
    Please upload TAN document.
    Please upload Application Form
    Please upload Payout structure Form
    Background Details
    = 48 && event.charCode <= 57\\\" ng-pattern=\\\"/^[0-9]{12}$/\\\" maxlength=\\\"12\\\">
    Please enter GSTIN Please enter a valid GSTIN (e.g., 22AAAAA0000A1Z5)
    Please enter a valid TAN No. (e.g., ABCD12345X)
    Please upload TAN document.
    \");\n$templateCache.put(\"app/Servicefomedit/Servicefomedit.html\",\"
    1. Home
    2. Service Center Creation
    User Details
    Please enter first name Your first name is required to be at least 2 characters Your first name cannot be longer than 50 characters Your first name should only contain alphabets with space
    Please enter last name Your last name cannot be longer than 50 characters Your last name should only contain alphabets with space
    = 48 && event.charCode <= 57\\\" ng-pattern=\\\"/^[0-9]{10}$/\\\">
    Please enter valid Mobile number Please enter mobile number
    Please enter address line 1 Your address line 1 cannot be longer than 70 characters Please enter only alphanumeric with space, hyphen, slace, comma
    Please enter address line 2 Your address line 2 cannot be longer than 70 characters Please enter only alphanumeric with space, hyphen, slace, comma
    Please select state
    Please select city
    =48 && event.charCode <=57\\\">
    Please enter pincode Please enter 6 digit number
    \");\n$templateCache.put(\"app/ShiftLeaveManagement/ShiftLeave.html\",\"
    1. Home
    2. Leave Requests
    Leave IDActionUser IdUser NameStatusApply DateLeave DateReason For LeaveApprove DateReason For ApproveReject DateReason For RejectCancel DateReason For Cancel
    {{leaves.LeaveId}} {{leaves.UserId}}{{leaves.UserName}}{{leaves.Status}}{{leaves.ApplyDate | date:\\'dd/MMM/yyyy HH:mm:ss\\'}}{{leaves.LeaveDate | date:\\'dd/MMM/yyyy\\'}}{{leaves.ReasonForLeave}}{{leaves.ApproveDate | date:\\'dd/MMM/yyyy HH:mm:ss\\'}}{{leaves.ReasonForApprove}}{{leaves.RejectDate | date:\\'dd/MMM/yyyy HH:mm:ss\\'}}{{leaves.ReasonForReject}}{{leaves.CancelDate | date:\\'dd/MMM/yyyy HH:mm:ss\\'}}{{leaves.ReasonForCancel}}
    \");\n$templateCache.put(\"app/SlaAlert/SlaAlert.html\",\"
    1. Home
    2. SLA Alert
      Create an Alert
    Create A Permission
    Please select role
    Please select time

    Please select channel



    Please select role
    Please select channel



    Please select time
    Please select time
    Please select role
    Please select time
    Please select channel
    Email Preview


    Please select role
    Please select channel



    Please select time
    Please select time
    Please enter valid phone no.
    {{userList.PersonalEmail}}{{userList.ContactNumber}}
    Please enter message
    Please enter message.
    \");\n$templateCache.put(\"app/SlaAlert/SlaAlertNew.html\",\"
    1. Home
    2. SLA Alert
      Create an Alert
    Create A Permission
    Please select role
    Please select role
    Please select role
    Please select role
    Please select time

    Please select channel


    Please enter valid phone no.
    {{userList.PersonalEmail}}{{userList.ContactNumber}}
    Please enter message
    Please enter message.
    Please select role
    Please select channel



    Please select time
    Please select time
    Please select role
    Please select time
    Please select channel
    Email Preview


    Please select role
    Please select channel



    Please select time
    Please select time
    \");\n$templateCache.put(\"app/Signup/Signup.html\",\"

    Sign Up

    Already have an account? Login

    Please enter first name
    Please enter last name
    Please enter email id
    Please enter phone no.
    Please enter company name
    Please select skills
    Please enter password Password must consists of at least 8 characters and not more than 12 characters and allowed spacial characters(@*#%?)

    \\\"Take Control of Field Operations - Join Our MMF FSM Solution!\\\".

    \\\"Illustration
    \");\n$templateCache.put(\"app/ShiftManagement/shift_management.html\",\"

    Shift Configuration

    Step 1 : Department
    Step 2 : Location
    Step 3 : Location & Department Mapping
    Step 4 : Add Shifts
    Shift IdActionShift NameLocationDepartmentStart TimeEnd TimeIs Shift Margin EnabledMinutes Before Shift StartMinutes After Shift EndIs OverTime Allowance EnabledOverTime Hourly RateIs LunchBreak EnableLunch Break Duration
    {{shifts.MasterShiftId}}{{shifts.ShiftName}}{{shifts.LocationName}}{{shifts.DepartmentName}}{{shifts.ShiftStartTime}}{{shifts.ShiftEndTime}}Yes No{{shifts.MinutesBeforeShiftStart}}{{shifts.MinutesAfterShiftEnd}}Yes No{{shifts.OverTimeHourlyRate}}Yes No{{shifts.LunchBreakDuration}}
    Department IdDepartment NameDescriptionAction
    {{department.DepartmentId}}{{department.DepartmentName}} {{department.DepartmentDescription}}
    Location IdCountryStateCityAddressAction
    {{location.LocationId}}South Africa{{location.State}}{{location.City}}{{location.LocationName}}
    LocationDepartmentAction
    {{locationDep.LocationName}}{{departments.DepartmentName}}
    \");\n$templateCache.put(\"app/StaffShiftCampaign/StaffShiftCampaign.html\",\"
    • Team List
    • Campaign List
    User IDNameContact No.EmailAddressStateCityPincodeExperienceRatingVendor IDVendor Name
    {{userList.UserId}}{{userList.FirstName}} {{userList.LastName}}{{userList.ContactNumber}}{{userList.PersonalEmail}}{{userList.CurrentAdd1}}, {{userList.CurrentAdd2}}{{userList.CurrentState}}{{userList.CurrentCity}}{{userList.CurrentPinCode}}{{userList.Experience}}{{userList.Ratings}}{{userList.VendorId}}{{userList.VendorName}}
    Campaign IDCampaign NameCampaign DescriptionCityStatePincodeRequired Staff CountAccepted User CountCampaign StatusShift Start DateShift End DateReporting Start TimeReporting End TimeRM IDRM NameSupervisor ID
    0\\\" class=\\\"text-navy clickable\\\" ng-click=\\\"StaffShiftCntrl.getAcceptHistory(campaignList.CampaignId,campaignList.CampaignName);\\\">{{campaignList.CampaignId}}{{campaignList.CampaignId}}{{campaignList.CampaignName}}{{campaignList.CampaignDescription}}{{campaignList.City}}{{campaignList.State}}{{campaignList.PinCode}}{{campaignList.RequiredStaffCount}} 0\\\" class=\\\"text-navy clickable\\\" ng-click=\\\"StaffShiftCntrl.AttendenceSidePanel(campaignList);\\\">{{campaignList.AcceptedUserCount}}{{campaignList.AcceptedUserCount}}{{campaignList.IsCampaignOpen ? \\'Open\\' : \\'Closed\\'}}{{campaignList.ShiftStartTime}}{{campaignList.ShiftEndTime}}{{campaignList.ReportingStartTime}}{{campaignList.ReportingEndTime}}{{campaignList.CreatedBy}}{{campaignList.CreatedByName}}{{campaignList.SupervisorId}}
     Showing {{StaffShiftCntrl.pageindexCount}} to {{StaffShiftCntrl.shiftsListLength}} of {{totalTableShifts}} entries

    Campaign ID : {{StaffShiftCntrl.CountDetails}}

    {{StaffShiftCntrl.CampaignCompData.IsCampaignOpen ? \\'Open\\' : \\'Closed\\'}}

    Campaign Invigilators List

    No User Found

    {{StaffShiftCntrl.CampaignCompData.AcceptedUserCount}}/{{StaffShiftCntrl.CampaignCompData.RequiredStaffCount}}

    \\\"image\\\"

    User ID: {{user.UserId}}

    Name: {{user.UserName}}

    Contact No.:{{user.ContactNumber}}

    Location: {{user.LocationName}}

    Vendor Name: {{user.VendorName}}

    Acceptance Date: {{user.AcceptanceDateTime | date:\\'dd/MM/yy hh:mm a\\'}}

    \");\n$templateCache.put(\"app/SystemConfig/SystemConfig.html\",\"

    Account Settings

    Select Account
    Account Config
    Projects Config
    Templates Config
    Compliance Config
    Assignation Rules Config
    Bonuses & Penalties Config
    Notification Config
    Price Config
    SLA / TAT Config
    Invoice Config
    Reports Config
    Dashboard Config
    Please Select Account For Configuration
    {{systemconfig.headingName}}
    Edit
    Attribute NameDescriptionCurrent ValueUpdate Value
    {{config.ItemDisplayName }}{{config.ItemDescription }}Enabled Disabled {{config.ItemValue}}
    Systems Role
    Skills Certificate
    Assets
    Tools
    Talent Pool
    Bonus
    Rule IDRule NameStageScenarioTriggerGradeAmountAction
    {{bonus.RuleId}}{{bonus.RuleName}}{{bonus.Stage}}{{bonus.Scenario}}{{bonus.Trigger}}{{bonus.Grade}}{{bonus.Amount}}
    Penalties
    Rule IDRule NameStageScenarioTriggerGradeAmountAction
    {{panelty.RuleId}}{{panelty.RuleName}}{{panelty.Stage}}{{panelty.Scenario}}{{panelty.Trigger}}{{panelty.Grade}}{{panelty.Amount}}

    Alerts allow you to automatically send email or SMS notifications when certain events occur. For example, mail the dispatcher if a job is declined, mail the accounts dept when a job is completed, SMS the warehouse manager when an inbound delivery has been picked up, etc…


    Alert NameAlert TypeAction
    {{config.AlertId}}{{config.AlertType | uppercase}} 
    1. Transactional Alert
      Create an Alert
    Create A Permission
    Please select Role
    Please select Channel




    {{userList.PersonalEmail}}{{userList.ContactNumber}}
    Please enter message.

    1. Home
    2. Escalation Alert
      Create an Alert
    Create A Permission
    Email Preview



    Aditya.kaushik28@gmail.com898767656540 min
    Aditya.kaushik28@gmail.com898767656540 min
    Aditya.kaushik28@gmail.com898767656540 min
    Aditya.kaushik28@gmail.com898767656540 min
    Please enter message.
    \");\n$templateCache.put(\"app/TabAdvancedDashboard/TabAdvancedDashboard.html\",\"
    {{rollup}}
    {{chart.ChartTitle}}

    {{tabadvancedashboard.metricsCharts[chart.ChartId].value&&tabadvancedashboard.metricsCharts[chart.ChartId].value.length>0?(tabadvancedashboard.metricsCharts[chart.ChartId].value[$index].ValueType == \\'INR\\'?(tabadvancedashboard.metricsCharts[chart.ChartId].value[$index].strValue): tabadvancedashboard.metricsCharts[chart.ChartId].value[$index].Value):\\\"NA\\\"}} {{tabadvancedashboard.metricsCharts[chart.ChartId].value[$index].AcheivedPercentage}} % {{tabadvancedashboard.metricsCharts[chart.ChartId].value[$index].AcheivedPercentage}} %

    {{tabadvancedashboard.metricsCharts[chart.ChartId].value&&tabadvancedashboard.metricsCharts[chart.ChartId].value.length>0?(tabadvancedashboard.metricsCharts[chart.ChartId].value[$index].ValueType == \\'INR\\'?(tabadvancedashboard.metricsCharts[chart.ChartId].value[$index].strValue): tabadvancedashboard.metricsCharts[chart.ChartId].value[$index].Value):\\\"NA\\\"}} {{tabadvancedashboard.metricsCharts[chart.ChartId].value[$index].AcheivedPercentage}} % {{tabadvancedashboard.metricsCharts[chart.ChartId].value[$index].AcheivedPercentage}} %

    {{tabadvancedashboard.metricsCharts[chart.ChartId].value&&tabadvancedashboard.metricsCharts[chart.ChartId].value.length>0?(tabadvancedashboard.metricsCharts[chart.ChartId].value[$index].ValueType == \\'INR\\'?(tabadvancedashboard.metricsCharts[chart.ChartId].value[$index].strValue): tabadvancedashboard.metricsCharts[chart.ChartId].value[$index].Value):\\\"NA\\\"}} {{tabadvancedashboard.metricsCharts[chart.ChartId].value[$index].AcheivedPercentage}} % {{tabadvancedashboard.metricsCharts[chart.ChartId].value[$index].AcheivedPercentage}} %

    {{tabadvancedashboard.DateRangeSelectedKey}} : {{tabadvancedashboard.metricsCharts[chart.ChartId].value&&tabadvancedashboard.metricsCharts[chart.ChartId].value.length>0?(tabadvancedashboard.metricsCharts[chart.ChartId].value[$index].ValueType == \\'INR\\'?(tabadvancedashboard.metricsCharts[chart.ChartId].value[$index].strTargetValue):tabadvancedashboard.metricsCharts[chart.ChartId].value[$index].TargetValue):\\\"NA\\\"}}

    {{tabadvancedashboard.DateRangeSelectedKey}} : {{tabadvancedashboard.metricsCharts[chart.ChartId].value&&tabadvancedashboard.metricsCharts[chart.ChartId].value.length>0?(tabadvancedashboard.metricsCharts[chart.ChartId].value[$index].ValueType == \\'INR\\'?(tabadvancedashboard.metricsCharts[chart.ChartId].value[$index].strValue):tabadvancedashboard.metricsCharts[chart.ChartId].value[$index].Value):\\\"NA\\\"}}

    {{rollup}} : {{tabadvancedashboard.metricsCharts[chart.ChartId].value&&tabadvancedashboard.metricsCharts[chart.ChartId].value.length>0?(tabadvancedashboard.metricsCharts[chart.ChartId].value[$index].ValueType == \\'INR\\'?(tabadvancedashboard.metricsCharts[chart.ChartId].value[$index].strTargetValue):tabadvancedashboard.metricsCharts[chart.ChartId].value[$index].Value):\\\"NA\\\"}}

    {{rollup}} {{tabadvancedashboard.ActualSelectedKey}}
    {{chart.ChartTitle}}
    Target : {{(tabadvancedashboard.gaugeCharts[chart.ChartId].value[0].ValueType == \\'INR\\'?(tabadvancedashboard.gaugeCharts[chart.ChartId].value[0].strTargetValue):tabadvancedashboard.gaugeCharts[chart.ChartId].value[0].TargetValue)}}
    Remaining : {{(tabadvancedashboard.gaugeCharts[chart.ChartId].value[0].ValueType == \\'INR\\'?(tabadvancedashboard.gaugeCharts[chart.ChartId].value[0].strRemainingValue):tabadvancedashboard.gaugeCharts[chart.ChartId].value[0].RemainingValue)}}
    Exceed : {{(tabadvancedashboard.gaugeCharts[chart.ChartId].value[0].ValueType == \\'INR\\'?(tabadvancedashboard.gaugeCharts[chart.ChartId].value[0].strRemainingValue):tabadvancedashboard.gaugeCharts[chart.ChartId].value[0].RemainingValue)}}
    {{chart.ChartTitle}}
    {{chart.ChartTitle}}
    {{chart.ChartTitle}}
    {{chart.ChartTitle}}
    \");\n$templateCache.put(\"app/Talent Register/TalentRegister.html\",\"

    Crowdsourcing Platform

    Service Marketplace to connect Field Engineers with Businesses.

    Sign UP

    Please enter first name Your first name cannot be longer than 20 characters Your first name should only contain alphabets
    Please enter last name Your last name cannot be longer than 20 characters Your last name should only contain alphabets
    = 48 && event.charCode <= 57\\\" class=\\\"form-control refrelinput inputheight\\\" ng-pattern=\\\"/^(?:(?:\\\\+|0{0,2})91(\\\\s*[\\\\-]\\\\s*)?|[0]?)?[789]\\\\d{9}$/\\\" placeholder=\\\"Mobile Number*\\\" required=\\\"\\\" ng-model=\\\"register.phone\\\" name=\\\"phone\\\">
    Please enter 10 digit phone number Please enter valid phone number

    View our Terms and Conditions
    Already Registered? Sign In

    Copyright MyMobiforce © 2019

    \");\n$templateCache.put(\"app/TaskPriorityOps/TaskPriorityOps.html\",\"
    1. Home
    2. Task Priority
    Task Type

    Broadcasted 20

    Take Appointment 10

    Appointment Breached 5

    Saved Filter

    Breached in last 10 days

    Appointment not taken in 2 days

    broadcasted since 10 hrs

    8

    Total Tasks

    5

    Total Open Tasks

    3

    Total Closed Tasks

    Task IDUser IDUser NameTask TypePriorityJobs Count
    TD00000001FV0000000000899Vinod KumarBroadcastedSevere23
    Ticket IdJob TypeProject NameProject IdStatusActionStatePincodeCityCustomer Name
    T640000000309Telecom_Technical_Survey_ServicesAirtel PM ActivityP0000000033Assigned
    MADHYA PRADESHSATNA223444Pranav
    10\\\"> {{Tspcntrl.pageindexCount}} - {{Tspcntrl.ticketListLength}} of {{totalTableTickets}}
    TD0000002F00000055316Sanjay PatelAppointmentMedium17
    Ticket IdJob TypeProject NameProject IdStatusActionStateCityPincodeCustomer Name
    T350000040406Telecom_Technical_Survey_ServicesAirtel PM ActivityP0000000033
    WEST BENGALGARTALI JALPES223454Pranav
    10\\\"> {{Tspcntrl.pageindexCount}} - {{Tspcntrl.ticketListLength}} of {{totalTableTickets}}
    TID0000003F00000028549Vinod KumarBroadcastedHigh12
    Ticket IdJob TypeProject NameProject IdStatusActionStateCityPincodeCustomer Name
    T350000040217Telecom_Technical_Survey_ServicesAirtel PM ActivityP0000000033
    WEST BENGALKALIYAGANJ226787Pranav
    10\\\"> {{Tspcntrl.pageindexCount}} - {{Tspcntrl.ticketListLength}} of {{totalTableTickets}}
    TID0000004FV0000000003867Vinod KumarBroadcastedLow5
    Ticket IdJob TypeProject NameProject IdStatusActionStateCityPincodeCustomer Name
    T350000039939Telecom_Technical_Survey_ServicesAirtel PM ActivityP0000000033
    WEST BENGALSILIGURI223433Pranav
    10\\\"> {{Tspcntrl.pageindexCount}} - {{Tspcntrl.ticketListLength}} of {{totalTableTickets}}
    \");\n$templateCache.put(\"app/Team Form Creation/Team_creation_form.html\",\"
    1. Home
    2. Team
    3. Create Team
    Roles Information
    Please select Role
    Please select ReportingTo
    {{chip}}
    .
    Please select warehouse to allocate
    .
    = 48 && event.charCode <= 57\\\" ng-pattern=\\\"/^[0-9]{1,2}$/\\\">
    Please enter a valid number of years Please enter years of experience
    = 48 && event.charCode <= 53\\\" ng-pattern=\\\"/^[0-5]$/\\\">
    Please enter a valid rating Please enter a rating
    = 48 && event.charCode <= 57\\\" ng-pattern=\\\"/^[0-9]{12}$/\\\">
    Please enter a valid 12-digit Aadhaar number Please enter Aadhaar number
    Work Area
    Account Name
    Account Id
    States
    City
    Pin Code
    Status
    Action
    {{AccountDetail.AccountName}}

    {{createUser.SelectedAccount.AccountName}}

    {{AccountDetail.AccountId}}

    {{createUser.SelectedAccount.AccountId}}

    {{AccountDetail.State}}
    {{AccountDetail.City}}
    {{locations}}
    {{AccountDetail.Status}}

    {{createUser.SelectedAccount.AccountId}}

    User Details
    Please enter first name Your first name is required to be at least 2 characters Your first name cannot be longer than 50 characters Your first name should only contain alphabets with space
    Please enter last name Your last name cannot be longer than 50 characters Your last name should only contain alphabets with space
    Please select your gender

    Please enter date of birth

    Please select valid date of birth

    Date of birth should be less than {{createUser.maxDOBStr}}

    Please enter valid email id Please enter email id
    = 48 && event.charCode <= 57\\\" maxlength=\\\"10\\\" ng-pattern=\\\"/^[0-9]{10}$/\\\">
    Please enter valid number
    = 48 && event.charCode <= 57\\\" ng-pattern=\\\"/^[0-9]{10}$/\\\">
    Please enter valid Mobile number Please enter mobile number

    {{createUser.fileUploadError}}
    Please enter address line 1 Your address line 1 cannot be longer than 70 characters Please enter only alphanumeric with space, hyphen, slace, comma
    Please enter address line 2 Your address line 2 cannot be longer than 70 characters Please enter only alphanumeric with space, hyphen, slace, comma
    Please select state
    Please select city
    Please select country
    =48 && event.charCode <=57\\\">
    Please enter pincode Please enter 6 digit number
    Please select option for present address
    Please enter address line 1 Your address line 1 cannot be longer than 70 characters Please enter only alphanumeric with space, hyphen, slace, comma
    Please enter address line 2 Your address line 2 cannot be longer than 70 characters Please enter only alphanumeric with space, hyphen, slace, comma
    Please select state
    Please select city
    =48 && event.charCode <=57\\\">
    Please enter pincode Please enter 6 digit number
    \");\n$templateCache.put(\"app/Team Profile/Team_profile.html\",\"
    1. Home
    2. Team Profile
    \\\"profile\\\"

    {{teamProfile.customerInfo.PersonalEmail}}

    Date of joining



    ,

    \\\"image\\\" \\\"image\\\"

    Total JobsAssigned JobsApproved Jobs
    Completed JobsRejected JobsCancelled Jobs
    Skills
    {{skill}}
    Work Area
    {{workArea}}
    Assets
    Tools
    {{tools}}

    Job Reviews

     

    {{teamProfile.averageRate}} out of 5 stars

    Basic Interaction
    Save

    Qualifications

    Skills

    Preferences

    Training Assessment
    Save

    Trainings Completed

    S.No.Certificate NameCertificate NoCertificateIssueDateCertificateExpiryDateCertificateAction
    {{$index+1}}.{{doc.CertificateName}}{{doc.CertificateNo}} {{doc.CertificateIssueDate}}
    {{doc.CertificateExpiryDate}}
    \\\"image-1\\\" \\\"image-1\\\" \\\"image-1\\\" Upload File
    {{teamProfile.error[doc.DocumentType]}}
    Background Verification Documents
    Save
    S.No.Document TypeDocument NameFile NameAction
    {{$index+1}}.{{doc.DocumentType}}{{doc.DocumentName}}\\\"image-1\\\" \\\"image-1\\\" \\\"image-1\\\" {{doc.DocumentPath}} Upload File
    {{teamProfile.error[doc.DocumentType]}}
    Job IDJob TypeProjectCustomerLocationTechnicianNamePublish DateAssign DateStatusPlannedStartDateActualStartDateSLAStatusTATRating
    \");\n$templateCache.put(\"app/Team card View/Team_view.html\",\"

    Team

    1. Home
    2. Team


    Deactivated
    \\\"image\\\"

    ,


    Total Jobs Assigned Jobs
    Approved Jobs Completed Jobs
    Skills :
    \");\n$templateCache.put(\"app/TeamMember/TeamMember.html\",\"
    1. Home
    2. Team Members
    {{team.userInfo.FirstName}} {{team.userInfo.LastName}}s
    \\\"image\\\"

    {{team.userInfo.Role}}

    {{team.userInfo.ContactNumber}}

    Current Location
    {{team.userInfo.CurrentAdd1}}
    {{team.userInfo.CurrentAdd2}}
    {{team.userInfo.CurrentCity}}, {{team.userInfo.CurrentState}}
    Activate
    Detach from account

    AccountsState ( City )PinCodes
    {{account.AccountName}} ({{account.AccountId}}){{account.State}} {{account.City}}{{account.PinCode}}
    Total Jobs{{team.userInfo.JobTotal}}Assigned Jobs{{team.userInfo.JobAssigned}}
    Approved Jobs{{team.userInfo.JobApproved}}Completed Jobs{{team.userInfo.JobCompleted}}
    Rejected Jobs{{team.userInfo.JobRejected}}Cancelled Jobs{{team.userInfo.JobCancelled}}

    \");\n$templateCache.put(\"app/TeamMyStock/TeamMyStock.html\",\"
    1. Home
    2. My Stock
     {{mystockcntrl.dpageindexCount}} - {{mystockcntrl.myStockListLength}} of {{totalInventory}}
    Technician IDTechnician NamePart IDBrandPart GroupPart Sub-GroupPart NamePart CodeActionValue of Inventory (₹)Available Stock
    {{inventorystock.PartOwnerId}}{{inventorystock.PartOwnerName}}{{inventorystock.strMMFPartId}}{{inventorystock.strPartBrand}}{{inventorystock.strPartCategoryGroup}}{{partsubgroup}}{{ inventorystock.strPartName}}{{ inventorystock.strSKUId}}{{ inventorystock.dValueOfInventroy}}
     {{mystockcntrl.countdpageindexCount}} - {{mystockcntrl.myStockListLength}} of {{totalInventory}}
    Part IDBrandPart GroupPart Sub-groupPart NamePart CodePart TypeActionCurrent StockGood StockDead StockRefundable StockNon-Refundable StockValue of Inventory (₹)OwnerIdOwnerName
    {{inventorystock.strMMFPartId}}{{inventorystock.strPartBrand}}{{inventorystock.strPartCategoryGroup}}{{partsubgroup}}{{ inventorystock.strPartName}}{{ inventorystock.strSKUId}}{{ inventorystock.PartType}} {{ inventorystock.dValueOfInventroy}}{{ inventorystock.PartOwnerId}}{{ inventorystock.PartOwnerName}}
     {{mystockcntrl.dpageindexCount}} - {{mystockcntrl.myStockListLength}} of {{totalInventory}}
    Part IDBrandPart GroupPart Sub-GroupPart NamePart CodeActionValue of Inventory (₹)Dead StockRefundable StockNon-Refundable Stock
    {{inventorystock.strMMFPartId}}{{inventorystock.strPartBrand}}{{inventorystock.strPartCategoryGroup}}{{partsubgroup}}{{inventorystock.strPartName}}{{ inventorystock.strSKUId}}{{ inventorystock.dValueOfInventroy}}{{inventorystock.nTotalDeadStock}}

    {{mystockcntrl.CountDetails.LineItemDescription}} ( {{ mystockcntrl.CountDetails.strMMFPartId}} )

    All Team List

    \\\"image\\\" \\\"image\\\"

    User Name: {{user.UserName}}

    User Id: {{user.UserId}}

    Role:{{user.Role}}

    Current Stock: {{user.StockCount}}

    Hardware Tracking

    \\\"image\\\"
    Part Name : {{mystockcntrl.TrackDetails. ItemName}}
    Part Code : {{mystockcntrl.TrackDetails. SKUId}}
    Order Status: {{mystockcntrl.TrackDetails.OrderStatus}}
    Tracking# - {{mystockcntrl.TrackingDetails.tracking_number}}
    • {{orderStatus.date | date: \\'dd/MMM/yyyy\\'}}

      {{orderStatus.time |date: \\'h:mm a\\'}}
    • {{orderStatus.notes}} Delivered

    Part Details

    Part ID:{{mystockcntrl.PartDetails.strMMFPartId}}
    Part Name:{{mystockcntrl.PartDetails.strPartName}}
    Part Code:{{mystockcntrl.PartDetails.strSKUId}}
    BrandName :{{mystockcntrl.PartDetails.strPartBrand}}
    Unit :{{mystockcntrl.PartDetails.strPartUnit}}
    Service Center Price (₹):{{mystockcntrl.PartDetails.dPartDiscountedPrice}}

    About

    • {{description}}
    \");\n$templateCache.put(\"app/TeamPartRequest/TeamPartRequest.html\",\"
    1. Home
    2. Inventory Requests List
    • Pending
    • Fulfilled
    • Rejected
     {{requestcntrl.fpageindexCount}} - {{requestcntrl.financeListLength}} of {{totalFinList}}
    Call IDOrder IDBrandConsumer ProductConsumer NameSkillAging (Days)Item QuantityOrder QuantityOrder Amount (₹)Order StatusTechnician NameAction
    {{ticketorderlist.OrderId}}{{ticketorderlist.Brand}}{{ticketorderlist.Product}}{{ticketorderlist.ConsumerName}}{{ticketorderlist.skill}}{{ ticketorderlist.Aging}}{{ticketorderlist.ItemQuantity}}{{ticketorderlist.Quantity}}{{ticketorderlist.OrderAmount}}{{ticketorderlist.TechnicianName}}
    Part IDPart ImageBrandPart GroupPart NamePart CodePart DescriptionItem QuantityPrice Per Unit (₹)Approval StatusAction
    {{order.ZOHOItemId}}\\\"image-1\\\"{{order.Brand}}{{order.ItemGroup}}{{order.LineItemDescription}}{{order.LineItemCode}}{{order.LineItemDescription | limitTo:40}}...{{order.LineItemQuantity}}{{order.dLineItemWinPrice}}{{order.BackendApprovalStatus}}

    {{requestcntrl.CountDetails.LineItemDescription}} ( {{ requestcntrl.CountDetails.strMMFPartId}} )

    All Team List

    \\\"image\\\"

    User Name: {{user.UserName}}

    User Id: {{user.UserId}}

    Role:{{user.Role}}

    Current Stock: {{user.StockCount}}

    Hardware Tracking

    \\\"image\\\"
    Part Name : {{requestcntrl.TrackDetails. ItemName}}
    Part Code : {{requestcntrl.TrackDetails. SKUId}}
    Order Status: {{requestcntrl.TrackDetails.OrderStatus}}
    Tracking# - {{requestcntrl.TrackingDetails.tracking_number}}
    • {{orderStatus.date | date: \\'dd/MMM/yyyy\\'}}

      {{orderStatus.time |date: \\'h:mm a\\'}}
    • {{orderStatus.notes}} Delivered

    Part Details

    Part ID:{{requestcntrl.PartDetails.strMMFPartId}}
    Part Name:{{requestcntrl.PartDetails.strPartName}}
    Part Code :{{requestcntrl.PartDetails.strSKUId}}
    BrandName :{{requestcntrl.PartDetails.strPartBrand}}
    Unit :{{requestcntrl.PartDetails.strPartUnit}}
    Service Center Price (₹):{{requestcntrl.PartDetails.dPartDiscountedPrice}}

    About

    • {{description}}
    \");\n$templateCache.put(\"app/Technician360view/Technician360view.html\",\"
    1. Home
    2. Partner Profile
    \\\"profile\\\"
    {{TechnicianView.teamdata.userProfile.ServiceCentreName}}
    {{TechnicianView.teamdata.userProfile.FirstName}} {{TechnicianView.teamdata.userProfile.LastName}}
    {{TechnicianView.teamdata.userProfile.Ratings.UserId}}

    ({{TechnicianView.teamdata.userProfile.Role}})

    {{TechnicianView.teamdata.userProfile.Address}}
    {{TechnicianView.TechnicianRating}}
    Member Since {{TechnicianView.teamdata.userProfile.TechnicianActivationDate| date:\\'MMM dd,yyyy\\'}}
    {{TechnicianView.teamdata.userProfile.LastFollowUpReason}} ({{TechnicianView.teamdata.userProfile.LastFollowUpRemark}})

    Last follow up on {{TechnicianView.teamdata.userProfile.LastFollowUpDateTimeObj | date:\\'dd/MMM/yyyy h:mm:ss a\\'}}

    by \\\"{{TechnicianView.teamdata.userProfile.LastFollowUpTakenBy}}\\\"

    Activated By: {{TechnicianView.teamdata.userProfile.ActivatedByName}}


    Brand Authorised Kenstar Authorised
    • {{service.BrandName}} - {{ service.ProductServing}}

    Skills
    • {{skills}}
    Pincodes In Profile
    • {{Locations}}

    Quick Actions

    Ticket IDTicket TypeAccountLocation
    {{workList.TicketID}}{{workList.TicketType}}{{workList.Account}}{{workList.Location}}
    Ticket IDTicket TypeStateCityPincodeAccount
    {{brodcastList.TicketId}}{{brodcastList.SkillSet}}{{brodcastList.State}}{{brodcastList.City}}{{brodcastList.Pincode}}{{brodcastList.AccountName}}

    Total Earning

    ₹ {{TechnicianView.DashboardData.totalEarnings}}

    Subscription

    ₹ {{TechnicianView.DashboardData.lastPaidAmount}}

    Amount Pay

    ₹ {{TechnicianView.DashboardData.amountDue}}

    To be Paid. {{TechnicianView.DashboardData.AmountDueDate | date:\\'dd/MM/yy \\'}}

    Last Paid

    ₹ {{TechnicianView.DashboardData.lastPaidAmount}}

    Paid.Date {{TechnicianView.DashboardData.lastPaidAmountDateTime | date:\\'dd/MM/yy \\'}}
    Total Amount
    ₹ {{TechnicianView.DashboardData.securityBalance}}
    Bonus
    ₹ {{TechnicianView.DashboardData.bonus}}
    Deducation
    ₹ {{TechnicianView.DashboardData.deduction}}
    Cash Collected
    ₹ {{TechnicianView.DashboardData.cashCollection}}
    Amount Left
    ₹ {{TechnicianView.DashboardData.leftOverAmount}}

    {{TechnicianView.UserCurrentData.Name | uppercase }} | {{TechnicianView.UserCurrentData.EnrollNo}} |{{TechnicianView.UserCurrentData.Role}}

    Serving Locations
    {{locations}}
    Existing Skills & Location

    Choose skill for which you want to see nearby opportunities
    • {{skills.SkillName}} - (₹ {{skills.TotalOpportunity}})

    Pincodes where opportunities are available for selected skill
    • {{locations.Pincode}} - (₹ {{locations.TotalOpportunity}})
    Opportunity Available

    Choose skill for which you want to see nearby opportunities
    • {{skillOpportunity.SkillName}} - (₹ {{skillOpportunity.TotalOpportunity}})
    Pincodes where opportunities are available for selected skill
    • {{newlocations.Pincode}} - (₹ {{newlocations.TotalOpportunity}})
    {{TechnicianView.teamdata.jobsSummary.TotalJobs}}

    Total Jobs

    ₹ {{TechnicianView.teamdata.paymentsSummary.TotalEarned}}

    Total Earning

    {{TechnicianView.teamdata.userProfile.venderTeamCount}}

    Total Team

    {{TechnicianView.teamdata.serviceCenterData.dMSLQuantityAmount}}

    Total MSL Quantity

    Rs. {{TechnicianView.teamdata.serviceCenterData.dSecurityAmount}}

    Total Security Amount

    Document TypeDocument NumberDocument Image
    Aadhaar{{TechnicianView.teamdata.serviceCenterData.AadharNumber}}View Document \\\"image-1\\\"
    PAN{{TechnicianView.teamdata.serviceCenterData.PANNumber}}View Document \\\"image-1\\\"
    GST{{TechnicianView.teamdata.serviceCenterData.GSTNumber}}View Document \\\"image-1\\\"
    TAN{{TechnicianView.teamdata.serviceCenterData.TANNumber}}View Document \\\"image-1\\\"
    Application FormView Document \\\"image-1\\\"
    Cancelled ChequeView Document \\\"image-1\\\"
    Payout StructureView Document \\\"image-1\\\"
    Shop LicenseView Document \\\"image-1\\\"
    Recent Activity
    • {{userActivity.activity}}
      {{userActivity.dateTime}}
    Quick Questions

    Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\\'s standard dummy text ever. It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters

    It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using \\'Content here, content here\\', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for \\'lorem ipsum\\' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).

    Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\\'s standard dummy text ever. It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters

    It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using \\'Content here, content here\\', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for \\'lorem ipsum\\' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).

    It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using \\'Content here, content here\\', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for \\'lorem ipsum\\' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).
    Dashboard
    Jobs Summary

    {{TechnicianView.teamdata.jobsSummary.TotalJobs}}

    Total Jobs

    {{TechnicianView.teamdata.jobsSummary.Assignedjobs}}

    Assigned

    {{TechnicianView.teamdata.jobsSummary.Completed}}

    Completed

    {{TechnicianView.teamdata.executionSummary.Cancelled}}

    Cancelled

    {{TechnicianView.teamdata.jobsSummary.Rejected}}

    Rejected

    {{TechnicianView.teamdata.jobsSummary.LeadAcceptance}} (%)

    Lead Acceptance

    {{TechnicianView.teamdata.jobsSummary.CompletionSpeed}}

    Average Completion Speed

    {{TechnicianView.teamdata.jobsSummary.JobCompletionRate}} (%)

    Job Completion Rate

    {{TechnicianView.teamdata.jobsSummary.FirstResponseRate}} (%)

    First Response Time

    {{TechnicianView.teamdata.jobsSummary.AppointmentMetRate}} (%)

    Appointment Met Rate

    Payments Summary

    ₹ {{TechnicianView.teamdata.paymentsSummary.TotalEarned}}

    Total Earned

    ₹ {{TechnicianView.teamdata.paymentsSummary.TotalDueAmount}}

    Total Due Amount

    ₹ {{TechnicianView.teamdata.paymentsSummary.TotalPaid}}

    Total Paid

    ₹ {{TechnicianView.teamdata.paymentsSummary.TotalReject}}

    Total Reject

    ₹ {{TechnicianView.teamdata.paymentsSummary.TotalFailed}}

    Total Failed

    ₹ {{TechnicianView.teamdata.paymentsSummary.TotalInitial}}

    Total Initial

    ₹ {{TechnicianView.teamdata.paymentsSummary.TotalCollection}}

    Total Collection

    ₹ {{TechnicianView.teamdata.paymentsSummary.TotalService}}

    Total Service

    ₹ {{TechnicianView.teamdata.paymentsSummary.TotalHardware}}

    Total Hardware

    ₹ {{TechnicianView.teamdata.paymentsSummary.TotalBonus}}

    Total Bonus

    ₹ {{TechnicianView.teamdata.paymentsSummary.TotalPanelty}}

    Total Panelty

    ₹ {{TechnicianView.teamdata.paymentsSummary.TotalAllowance}}

    Total Allowance

    ₹ {{TechnicianView.teamdata.paymentsSummary.SecurityAmount}}

    Security Amount

    {{TechnicianView.teamdata.paymentsSummary.SecurityExpiryDate | date:\\'dd/MM/yy\\'}}

    Security Expiry Date

    {{TechnicianView.teamdata.paymentsSummary.SecurityDepositDate | date:\\'dd/MM/yy\\'}}

    ReCharge On

    Execution Summary

    {{TechnicianView.teamdata.executionSummary.AssignedNoAction}}

    Assigned No Action

    {{TechnicianView.teamdata.executionSummary.CCNAB}}

    CCNAB

    {{TechnicianView.teamdata.executionSummary.Cancelled}}

    Cancelled

    {{TechnicianView.teamdata.executionSummary.AppointmentBookedDay0}}

    Appointment Booked Day 0

    {{TechnicianView.teamdata.executionSummary.AppointmentBookedDay1}}

    Appointment Booked Day 1

    {{TechnicianView.teamdata.executionSummary.AppointmentBookedDay1Plus}}

    Appointment Booked Day1+

    {{TechnicianView.teamdata.executionSummary.AppointmentBreached}}

    Appointment Breached

    {{TechnicianView.teamdata.executionSummary.InTransit}}

    InTransit

    {{TechnicianView.teamdata.executionSummary.OnSite}}

    On Site

    {{TechnicianView.teamdata.executionSummary.OnHold}}

    On Hold

    Slot Details

    {{ data.slotTime}}

    {{ data.slotTime}}

    Ratings

    {{TechnicianView.teamdata.userProfile.AverageRating.AverageRating}} average based on {{TechnicianView.teamdata.userProfile.AverageRating.totalCount}} reviews.


    5 star
    {{TechnicianView.AvgRating.FiveStar}}
    4 star
    {{TechnicianView.AvgRating.FourStar}}
    3 star
    {{TechnicianView.AvgRating.ThreeStar}}
    2 star
    {{TechnicianView.AvgRating.TwoStar}}
    1 star
    {{TechnicianView.AvgRating.OneStar}}
    Skill Test Summary
    SkillExperienceMarksTest DateBrandsStatusInteraction Video
    {{skills.Skill}}{{skills.Experience}}{{skills.ResultScore}}{{skills.TestDate}}{{skills.BrandList}}{{skills.Status}}
    Background Verification
    VerificationDocuments NameDocuments NumberVerification DateStatusDocument FrontDocument Back
    {{VerificationDoc.DocumentType}}{{VerificationDoc.DocumentName}}{{VerificationDoc.DocumentNo}}{{VerificationDoc.UpdatedOn| date:\\'dd-MMM-yyyy h:mm a\\'}} \\\"\\\"
    \\\"profile\\\"
    \\\"profile\\\"
    \\\"\\\"
    \\\"profile\\\"
    \\\"profile\\\"
    BankBank Information

    {{TechnicianView.teamdata.userProfile.BankDetails.AccountHolderName}}

    {{TechnicianView.teamdata.userProfile.BankDetails.bankName}}

    AC No- {{TechnicianView.teamdata.userProfile.BankDetails.AccountNo}}

    IFSC No- {{TechnicianView.teamdata.userProfile.BankDetails.IFSC}}

    UPI IDUPI Id{{TechnicianView.teamdata.userProfile.BankDetails.UPIID}}{{TechnicianView.teamdata.userProfile.BankDetails.VerifiedOn}}
    Service Center Verification
    Brand NameProduct ServiceTeam SizeTenureService Center AddressCertificate of AuthorizationTraining CertificatePhoto of Shop/office/Service CenterAction
    {{AuthoDetail.BrandName}}{{AuthoDetail.ProductServing}}{{AuthoDetail.TeamSize}}{{AuthoDetail.Tenure}}{{AuthoDetail.ServiceCenterAddress}}\\\"\\\"\\\"\\\"\\\"\\\"
    Work Summary

    Total Jobs

    Assigned

    Completed

    Approved

    Rejected

    ANA

    CCNAB

    Cancelled

    ABD0

    ABD1

    ABD1+

    ABR

    InTransit

    On Site

    On Hold

     {{TechnicianView.upageindexCount}} - {{TechnicianView.userListLength}} of {{totalUsers}}
    Ticket IDTicket TypeAccountLocationAssigned DateTATJobs StatusCreation DateTech Payment StatusTech Payment DateStatus Date
    {{workList.TicketID}}{{workList.TicketType}}{{workList.Account}}{{workList.Location}}{{workList.AssignedDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.TAT}}{{workList.JobsStatus}}{{workList.JobsCreationDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.TechnicianPaymentStatus}}{{workList.TechncianPaymentDateObj | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.InTransitDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.AssignedDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.OnSiteDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.AppointmentBookedDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.CompletionDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.OnHoldDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.RejectionDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.CancellationDate | date:\\'dd/MM/yy hh:mm a\\'}}{{workList.ApprovedDate | date:\\'dd/MM/yy hh:mm a\\'}}
    Skill Test Summary
    SkillExperienceMarksTest DateBrandsStatusInteraction VideoCatagoryCertificate
    {{skills.Skill}}{{skills.Experience}}{{skills.ResultScore}}{{skills.TestDate}}{{skills.BrandList}}{{skills.Status}}
    Previous Company Details
    Company NameProject NameDesignationAccountDate of JoiningDate of RelievingExperience Letter
    {{previousCompany.CompanyName}}{{previousCompany.ProjectName}}{{previousCompany.Designation}}{{previousCompany.AccountName}}{{previousCompany.DateOfJoining | date:\\'dd-MMM-yyyy\\'}}{{previousCompany.DateOfRelieving | date:\\'dd-MMM-yyyy\\'}} \\\"\\\"
    Training Details
    Training NameTraining DateTraining ImageTraining Attendence
    {{Audittraining.TrainingName}}{{Audittraining.TrainingDate | date:\\'dd-MMM-yyyy\\'}} \\\"\\\" \\\"\\\"
    {{TechnicianView.OverAllInfo.TotalPinCode}}

    Total Pincodes

    {{TechnicianView.OverAllInfo.PinCodeInProfile}}

    In Profile

    {{TechnicianView.OverAllInfo.PinCodeNotInProfile}}

    Not In Profile

    {{TechnicianView.OverAllInfo.PincodeInProfileOutsideRange}}

    In Profile Outside Range

    {{TechnicianView.OverAllInfo.PincodeWithJobsInProfile}}

    In Profile | With Jobs

    {{TechnicianView.OverAllInfo.PincodeWithoutJobsInProfile}}

    In Profile | No Jobs

    {{TechnicianView.OverAllInfo.PincodeWithJobsNotInProfile}}

    Not In Profile | With Jobs

    {{TechnicianView.OverAllInfo.PincodeWithoutJobsNotInProfile}}

    Not In Profile | No Jobs

    • {{key}} - ({{value}})
    In Profile PincodeAddressNo. of Jobs Distance
    {{pincodefind.PinCode}}{{pincodefind.Address}}{{pincodefind.JobCount}}{{pincodefind.Distance}} KM

    Financial

     {{TechnicianView.fpageindexCount}} - {{TechnicianView.financeListLength}} of {{totalFinList}}
    Beneficiary IDBeneficiary NameTotal Pay AmountTotal Base PriceTotal CommissionTotal ServiceTotal HardwareTotal BonusTotal PaneltyTotal CollectionTotal AwallanceTansaction IdCash AccountTypeFailed ReasonCash free UPI IdCash free AccountIdLast Payout TypePayment Initiated OnPayment Failed OnActual Paid Amount
    {{payuser.beniID}}{{payuser.beniName}}₹ {{payuser.totalPayableAmount}}{{payuser.totalBasePrice}}{{payuser.totalCommission}}{{payuser.totalService}}{{payuser.totalHardware}}{{payuser.totalBonus}}{{payuser.totalPanelty}}{{payuser.totalCollection}}{{payuser.totalAwallance}}{{payuser.tansactionId}}{{payuser.cashfreeAccountType}}{{payuser.failedReason}}{{payuser.cashfreeUPIId}}{{payuser.cashfreeAccountId}}{{payuser.lastPayoutType}}{{payuser.paymentInitiatedOn}}{{payuser.paymentFailedOn}}{{payuser.actualPaidAmount}}
    Job IDJob TypeProjectCustomerLocationTechnician NameFollow Up ReasonCreation DateStatusTATRating
    {{financesmry.jobID}}{{financesmry.jobType}}{{financesmry.project}}{{financesmry.customer}}{{financesmry.location}}{{financesmry.technicianName}}{{financesmry.followUpReason}}{{financesmry.creationDate | date: \\'dd-MMM-yyyy hh:mm:ss a\\'}}{{financesmry.status}}{{financesmry.tat}}{{financesmry.rating}}
     {{TechnicianView.fTPageIndexCount}} - {{TechnicianView.financeTechListLength}} of {{totalFinTechList}}
    Ticket IDinvoice IDAccount NameLocationAmountBase PricePayment StatusPayment Status StrCommentsStatus DateBeneficiary NameAllowance AmountHardware AmountServices AmountBonus AmountPenalty AmountPrimary ReasonBonus DescriptionPenalty DescriptionType
    {{payoutech.invoice}}{{payoutech.account}}{{payoutech.location}}{{payoutech.amount}}{{payoutech.basePrice}}{{payoutech.paymentStatus}}{{payoutech.paymentStatusStr}}{{payoutech.comments}}{{payoutech.statusDate}}{{payoutech.beneficiaryName}}{{payoutech.allowanceAmount}}{{payoutech.hardwareAmount}}{{payoutech.servicesAmount}}{{payoutech.bonusAmount}}{{payoutech.penaltyAmount}}{{payoutech.primaryReason}}{{payoutech.bonusDescription}}{{payoutech.penaltyDescription}}{{payoutech.type}}
    Review And Ratings
    Ratings

    {{TechnicianView.reviewData.OverAllRating.AverageRating}} average based on {{TechnicianView.reviewData.OverAllRating.totalCount}} reviews.


    {{Reviews.CustomerName}}Source : MyMobiforce
    (Reviewed on {{Reviews.ReviewDate}})

    {{Reviews.AdditionalRemark}}

    Tools
    Assets
    Equipment Details
    Equipment NameBrand NameView EquipmentItem Serial NumberManufactured OnExpired On
    {{toolDetail.ToolName}}{{toolDetail.BrandName}}{{toolDetail.ItemSerialNumber}}NA {{toolDetail.DateOfManufacturing}}{{toolDetail.ExpireDate}}
    Audit Details
    Audit SummaryAuditorAudited OnStatusReport
    {{auditDetail.AuditPurpose}}{{auditDetail.AuditorDetails.AuditorName}}{{auditDetail.AuditDate | date: \\'dd-MMM-yyyy\\'}}{{auditDetail.AuditResult}} {{auditDetail.AuditResult}} {{auditDetail.AuditResult}}
    All Team List
    User IDNameTotal CountOpen CountClose CountRoleAddress line 1CityStatePincodeStatusD-1 AvailabilityD-0 Attendance
    {{TeamDetail.UserId}}{{TeamDetail.Name}}{{TeamDetail.TotalCount}}{{TeamDetail.OpenCount}}{{TeamDetail.CloseCount}}{{TeamDetail.Role}}{{TeamDetail.Addressline1}}{{TeamDetail.PermanentCity}}{{TeamDetail.State}}{{TeamDetail.PermanentPinCode}}Inactive ActiveNot Available AvailableNot Available Available
    Complaint List
    ActionTechnician IDCase IDIssue Related ToActual IssueIssue DescriptionCase Resolution RemarkCase Raised OnCase SourceCase Created ByAssigned TeamAssigned DepartmentCase Status
    {{TeamDetail.IssueRelatedTo}}{{TeamDetail.ActualIssue}}{{TeamDetail.IssueDescription}}{{TeamDetail.CaseResolution}}{{TeamDetail.CaseRaisedOn | date:\\'dd/MM/yy hh:mm a\\'}}{{TeamDetail.CaseSource}}{{TeamDetail.CaseCreatedBy}}{{TeamDetail.AssignedToUserName}} ({{TeamDetail.AssignedTo}}){{TeamDetail.CaseOwnerName}} ({{TeamDetail.CaseOwnerRole}})

    Case Trace

    • {{ userActivity.activity}}
      {{userActivity.userName}} {{userActivity.dateTime}}
    \");\n$templateCache.put(\"app/Template_grid/template_grid.html\",\"
    1. Home
    2. Templates
    Filters
    You don\\'t have any content to shown here. Please connect your admin to add content for you.
    \");\n$templateCache.put(\"app/TerritoryMangement/TerritoryMangement.html\",\"
    1. Home
    2. Territory Mangement
    Territory NameTerritory IDTerritory TypeTerritory Responsible OwnerAction
    EASTWBHRegionSumant Singh
    Territory NameTerritory IDTerritory TypeTerritory Responsible OwnerAction
    KOLKATAKOLSub-RegionRahul Singh
    Territory NameTerritory IDTerritory TypeTerritory Responsible PersonAction
    PURULIAPURAreaAnil Sharma
    BANTALABATLAreaSneha Singh
    NORTHUPERegionVivek Yadav
    Territory NameTerritory IDTerritory TypeTerritory Responsible OwnerAction
    CHANDIGARHCHASub-RegionRajiv Sharma
    Territory NameTerritory IDTerritory TypeTerritory Responsible PersonAction
    HOSHIARPURHOPAreaArun Gupta
    BATALABTLAreaSanjay singh
    DELHIDELSub-RegionPoonam Singh
    Territory NameTerritory IDTerritory TypeTerritory Responsible PersonAction
    RohiniROHAreaAlok Tripathi
    Nehru EnclaveNELAreaRavi Shankar
    WESTNRHRegionAnsh Singh
    Territory NameTerritory IDTerritory TypeTerritoryResponsible OwnerAction
    MumbaiMBHSub-RegionRahul Mehta
    Territory NameTerritory IDTerritory TypeTerritory Responsible PersonAction
    THANETHEAreaPriya Kumar
    MUMBAIMUMAreaSuresh Reddy
    SOUTHBANRegionSikhar Singh
    Territory NameTerritory IDTerritory TypeTerritoryResponsible OwnerAction
    BANGALOREBANGSub-RegionR.K Tiwari
    Territory NameTerritory IDTerritory TypeTerritory Responsible PersonAction
    HASSANHASSAreaSatish Gupta
    MANDYAMANDAreaHemant Reddy
    \");\n$templateCache.put(\"app/TerritoryMapping/TerritoryMapping.html\",\"
    1. Home
    2. Territory Mapping
    SUB REGION
    REGION
    \");\n$templateCache.put(\"app/Thanku_Recharge/Thanku_Recharge.html\",\"

    Crowdsourcing Platform

    Service Marketplace to connect Field Engineers with Businesses.

    Dear Customer , Ticket no. T000000000123 is registered please allow us some time to address your complaint. Our team will ensure fastest possible action. {{thanku.PersonalEmail}}

    Click here to login

    {{thanku.errMsg}}

    Please wait...

    Payment Successful.


    Your Payment was successful ! you can now continue using MyMobiforce


    FOLLOW US


    Copyright MyMobiforce © 2019

    \");\n$templateCache.put(\"app/Thankyou/Thankyou.html\",\"

    Workforce as a Service

    Freelance marketplace to connect Field Engineers with service companies.

    Login credentials has been sent to your email {{thanku.PersonalEmail}}

    Click here to login

    {{thanku.errMsg}}

    Please wait...

    THANK YOU.


    You have been registered with MyMobiforce!

    We will call you within next 48 hours. For more information, please call us on 18003138082


    FOLLOW US


    Copyright MyMobiforce © 2017

    \");\n$templateCache.put(\"app/Thankyou/Thankyou_Booking.html\",\"

    Crowdsourcing Platform

    Service Marketplace to connect Field Engineers with Businesses.

    Dear Customer , Ticket no. T000000000123 is registered please allow us some time to address your complaint. Our team will ensure fastest possible action. {{thanku.PersonalEmail}}

    Click here to login

    {{thanku.errMsg}}

    Please wait...

    THANK YOU.


    Dear Customer , Your Appointment is booked please allow us some time to address your complaint.

    Our team will ensure fastest possible action.


    FOLLOW US


    Copyright MyMobiforce © 2017

    \");\n$templateCache.put(\"app/Thankyou/Thankyou_ticket.html\",\"

    Crowdsourcing Platform

    Service Marketplace to connect Field Engineers with Businesses.

    Dear Customer , Ticket no. T000000000123 is registered please allow us some time to address your complaint. Our team will ensure fastest possible action. {{thanku.PersonalEmail}}

    Click here to login

    {{thanku.errMsg}}

    Please wait...

    THANK YOU.


    Dear Customer , Ticket no.   {{scopeMsg}}   is registered please allow us some time to address your complaint.

    Our team will ensure fastest possible action.


    FOLLOW US


    Copyright MyMobiforce © 2017

    \");\n$templateCache.put(\"app/Ticket_form/ticketform.html\",\"

    Crowdsourcing Platform

    Service Marketplace to connect Field Engineers with Businesses.

    Please enter first name
    Please enter mobile number Please enter 10 digit mobile no
    = 48 && event.charCode <= 57\\\" ng-maxlength=\\\"6\\\" ng-minlength=\\\"6\\\">
    Please enter Pin Code Please enter 6 digit pincode Please enter 6 digit pincode
    Please select Constituency
    Please select Mohalla
    Please enter address line 1
    Please select complaint Department

    {{formTicket.fileUploadError}}

    Please enter Issue Description

    Copyright MyMobiforce © 2018

    \");\n$templateCache.put(\"app/ToolUtility/ToolUtility.html\",\"
    1. Home
    2. Tool Utility
    Select date for system set up
    Cleanup all the jobs for date {{toolUtilityCtrl.CleanupJobDateFormat(toolUtilityCtrl.SelectedJobDate)}}Cleanup Jobs
    Create Slot for date
    {{toolUtilityCtrl.CleanupJobDateFormat(toolUtilityCtrl.SelectedJobDate)}}
    Create Slot
    Create job for date
    {{toolUtilityCtrl.CleanupJobDateFormat(toolUtilityCtrl.SelectedJobDate)}}
    Create {{value}} jobs for {{key}} skillCreate Jobs
    \");\n$templateCache.put(\"app/Tracking/NewTracking.html\",\"
    \\\"profile\\\" \\\"profile\\\"
    {{tracking.name}}
    {{tracking.customerJobCard.FEUserId}}
    Authorized Serviced Partner

    MyMobiForce

    Dear {{tracking.consumername}} ,
    {{tracking.name}} is reaching at your location {{tracking.consumerAddress}}

    Please feel free to connect us at

    Happy to serve you \\'Team MyMobiForce\\'

    \");\n$templateCache.put(\"app/Tracking/Tracking.html\",\"
    \\\"profile\\\" \\\"profile\\\"

    {{tracking.customerJobCard.FEName}}


    {{tracking.customerJobCard.FERating || 0}} Star

    Track

    Job Information
    Job ID
    Job Type
    Job Description
    Appointment time
    \");\n$templateCache.put(\"app/TransactionalAlert/TransactionalAlert.html\",\"
    1. Home
    2. Transactional Alert
      Create an Alert
    Create A Permission
    Email Preview


    \");\n$templateCache.put(\"app/TrainingUserList/TrainingUserList.html\",\"
    1. Home
    2. Freelancer
    3. Training User
    Registeration IDNameMobile NoStateCitySkillTraining LevelTraining ResultTraining Date
    U000008765Ankur Sharma8375860288Uttar PradeshNoidaLease LineClassroom TrainingPass09/05/2019 04:20 AM
    U000008765Ankur Sharma8375860288Uttar PradeshNoidaLease LineInterview AssessmentPass09/05/2019 04:20 AM
    U000008765Ankur Sharma8375860288Uttar PradeshNoidaLease LineFiled Job TrainingFail09/05/2019 04:20 AM
    U000008765Ankur Sharma8375860288Uttar PradeshNoidaLease LineClassroom TrainingPass09/05/2019 04:20 AM
    U000008765Ankur Sharma8375860288Uttar PradeshNoidaLease LineInterview AssessmentFail09/05/2019 04:20 AM
    U000008765Ankur Sharma8375860288Uttar PradeshNoidaLease LineField Job TrainingPass09/05/2019 04:20 AM
    U000008765Ankur Sharma8375860288Uttar PradeshNoidaLease LineField Job TrainingPass09/05/2019 04:20 AM
    U000008765Ankur Sharma8375860288Uttar PradeshNoidaLease LineClassroom TrainingPass09/05/2019 04:20 AM
    U000008765Ankur Sharma8375860288Uttar PradeshNoidaLease LineField Job TrainingPass09/05/2019 04:20 AM
    Registeration IDNameMobile NoStateCitySkillRechargeTraining Date
    U000008765Ankur Sharma8375860288Uttar PradeshNoidaLease Line200009/05/2019 04:20 AM
    U000008765Ankur Sharma8375860288Uttar PradeshNoidaLease Line200009/05/2019 04:20 AM
    U000008765Ankur Sharma8375860288Uttar PradeshNoidaLease Line200009/05/2019 04:20 AM
    U000008765Ankur Sharma8375860288Uttar PradeshNoidaLease Line200009/05/2019 04:20 AM
    U000008765Ankur Sharma8375860288Uttar PradeshNoidaLease Line200009/05/2019 04:20 AM
    U000008765Ankur Sharma8375860288Uttar PradeshNoidaLease Line200009/05/2019 04:20 AM
    U000008765Ankur Sharma8375860288Uttar PradeshNoidaLease Line200009/05/2019 04:20 AM
    U000008765Ankur Sharma8375860288Uttar PradeshNoidaLease Line200009/05/2019 04:20 AM
    U000008765Ankur Sharma8375860288Uttar PradeshNoidaLease Line200009/05/2019 04:20 AM
    \");\n$templateCache.put(\"app/Vendor/VendorList.html\",\"
    1. Home
    2. {{main.getVisibleLabel(\\'Vendor\\')}}
    IdNameCompany NameMobileNoEmailAddress Line1Address Line2CityStatePinCodeSkillLatitudeLongitudeLocationStatus
    {{vendors.Skill}}
    \\\"image\\\"
    Address
    ,
    Project Manager

    Activate

    Available Balance


    Skills
    Work Area
    Total JobsAssigned Jobs
    Approved JobsCompleted Jobs
    Rejected JobsCancelled Jobs

    \");\n$templateCache.put(\"app/Vendor Creation Form/Vendor_Creation_form.html\",\"
    1. Home
    2. {{main.getVisibleLabel(\\'Vendor\\')}}
    3. Create {{main.getVisibleLabel(\\'Vendor\\')}}
    {{main.getVisibleLabel(\\'Vendor\\')}} Information
    Please enter {{main.getVisibleLabel(\\'Vendor\\')}} name {{main.getVisibleLabel(\\'Vendor\\')}} name should only contain alphabets {{main.getVisibleLabel(\\'Vendor\\')}} name cannot be longer than 50 characters
    Please enter alphanumeric with space
    Please enter address line 1 Your address line 1 cannot be longer than 70 characters Please enter only alphanumeric with space, hyphen, slace, comma
    Please enter address line 2 Your address line 2 cannot be longer than 70 characters Please enter only alphanumeric with space, hyphen, slace, comma
    Please select state
    Please select city
    = 48 && event.charCode <= 57\\\" name=\\\"pincode\\\" ng-maxlength=\\\"6\\\" ng-minlength=\\\"6\\\">
    Please enter pincode Please enter 6 digit pincode Please enter 6 digit pincode
    Contact Information
    Please enter first name First name should only contain alphabets First name cannot be longer than 50 characters
    Please enter last name Last name should only contain alphabets Last name cannot be longer than 50 characters
    Please enter valid email id
    = 48 && event.charCode <= 57\\\" ng-pattern=\\\"/^(?:(?:\\\\+|0{0,2})91(\\\\s*[\\\\-]\\\\s*)?|[0]?)?[789]\\\\d{9}$/\\\">
    Please enter valid mobile number
    = 48 && event.charCode <=57\\\" ng-model-options=\\\"{ allowInvalid: true}\\\">
    Please enter valid number
    Please select gender
    Work Area
    Please select Location
    Please select Location
    \");\n$templateCache.put(\"app/Vendor Profile/VendorProfile.html\",\"
    1. Home
    2. Vendor Profile
    \\\"profile\\\"

    i

    Date of joining



    ,
    Project Manager

    Total JobsAssigned JobsApproved Jobs
    Completed JobsRejected JobsCancelled Jobs
    Skills
    Work Area
    Assets
    Tools
    {{tools}}

    Job Reviews

    0

    4 out of 5 stars

    Training Assessment
    Save
    S.No.Certificate NameCertificate NoCertificateIssueDateCertificateExpiryDateCertificateAction
    {{$index+1}}.{{doc.CertificateName}}{{doc.CertificateNo}} {{doc.CertificateIssueDate}}
    {{doc.CertificateExpiryDate}}
    \\\"image-1\\\" \\\"image-1\\\" \\\"image-1\\\" Upload File
    {{vendorProfile.error[doc.DocumentType]}}
    Background Verification Documents
    Save
    S.No.Document TypeDocument NameFile NameAction
    {{$index+1}}.{{doc.DocumentType}}{{doc.DocumentName}}\\\"image-1\\\" \\\"image-1\\\" \\\"image-1\\\" {{doc.DocumentPath}} Upload File
    {{vendorProfile.error[doc.DocumentType]}}
    \");\n$templateCache.put(\"app/VendorProfile1/NewVendorProfile.html\",\"

    Vendor Profile

    User - {{NewVendorProfile.users.UserStatus}}
    \\\"profile\\\"

    {{NewVendorProfile.users.FirstName}} {{NewVendorProfile.users.LastName}}
    {{NewVendorProfile.users.VendorId}} V

    Registered Partner
    Not Registered

    Designation  -

    Creation Date  -

    Email  -

    Phone No.  -

    {{NewVendorProfile.users.Experience}} Year of Experience

    Source  -

    {{NewVendorProfile.users.ApprovedJobs}}


    Total Jobs

    {{NewVendorProfile.users.AvailableBalance.toFixed(2)}}


    Balance

    {{NewVendorProfile.customerrating}}


    Average Rating


    End User License Agreement
    0 && NewVendorProfile.UserRole !=\\'Head Hunter\\'\\\">


    Infra Partner
    0 && NewVendorProfile.UserRole !=\\'Head Hunter\\'\\\">


    Training Partner


    Self Declaration Agreement


    Self Declaration Agreement - Not Submitted


    Certificate No: {{NewVendorProfile.users.InsuranceCertificateNumber}}
    Policy No: {{NewVendorProfile.users.InsurancePolicyNumber}}
    Start date:{{NewVendorProfile.users.InsuranceStartDate}}
    End date:{{NewVendorProfile.users.InsuranceEndDate}}


    Background Verification Report


    Background Verification Report - Not Done
    {{NewVendorProfile.users.ContractSignDate | date: NewVendorProfile.CustomDateformat}}
    Contract Not Sign

    Contract Sign Date
    {{NewVendorProfile.users.ContractSignDate | date:NewVendorProfile.CustomDateformat}}
    Contract Not Sign

    Contract Sign Date

    Verified & Activated by  {{NewVendorProfile.users.UpdatedByName}} on {{NewVendorProfile.users.ActivationDate | date: NewVendorProfile.CustomDateformat }}

    \\\"image\\\"

    Reliability

    \\\"image\\\"

    Company Details

    Company Registration No.  -
    Company GST No.  -
    Yes NO
    Company TPI   -
    Yes NO
    Partner Anti Corruption Clause   -
    Yes NO
    Company MSME No.   -
    Yes NO
    \\\"image\\\"

    About

    {{NewVendorProfile.users.Experience}} year of Experience

    \\\"image\\\"

    Address

    {{NewVendorProfile.users.AddressLine1}} , {{NewVendorProfile.users.AddressLine2}} , {{NewVendorProfile.users.City}} , {{NewVendorProfile.users.State}} , {{NewVendorProfile.users.Pincode}}

    \\\"image\\\"

    Skill Set

    \\\"image\\\"

    Equipments

    \\\"image\\\"

    Assets

    \\\"image\\\"

    Work Locations

    \\\"image\\\"

    Equipment Details

    Equipment NameVerification StatusView EquipmentItem Serial NumberDate Of Manufacturing
    {{assettool.ToolName}}{{assettool.VerificationStatus}} {{assettool.VerificationStatus}} {{assettool.VerificationStatus}}{{assettool.ItemSerialNumber}}NA {{assettool.DateOfManufacturing}}
    Equipment Audit StatusEquipment Audited OnEquipment Audited ByEquipment Audit Report
    {{Audittool.AuditResult}} {{Audittool.AuditResult}}{{Audittool.AuditDate | date:\\'dd/MM/yyyy\\'}}{{Audittool.AuditorDetails.AuditorName}}
    \\\"image\\\"

    Previous Company Details

    Company NameWork LocationProject NameDesignationAccountDate of JoiningDate of RelievingExperience Letter
    {{previousCompanyDetail.CompanyName}}{{previousCompanyDetail.WorkLocation}}{{previousCompanyDetail.ProjectName}}{{previousCompanyDetail.Designation}}{{previousCompanyDetail.AccountName}}{{previousCompanyDetail.DateOfJoining | date:\\'dd/MM/yyyy\\'}}{{previousCompanyDetail.DateOfRelieving | date:\\'dd/MM/yyyy\\'}} \\\"\\\"
    Experience Verification StatusExperience Verified OnExperience Verified ByExperience Verification Report
    {{AuditExperience.AuditResult}} {{AuditExperience.AuditResult}}{{AuditExperience.AuditDate | date:\\'dd/MM/yyyy\\'}}{{AuditExperience.AuditorDetails.AuditorName}} \\\"\\\"
    \\\"image\\\"

    Contract Details

    Legal Contract NameSigned DateSigned StatusView Document
    Health and Safety Agreement {{legalContract.LegalContractName}}{{legalContract.SignedDateTime | date: NewVendorProfile.OnlyDateformat}}{{legalContract.SignedStatus}}\\\"profile\\\"
    \\\"image\\\"

    Criminal Verification

    TypeDocument TypeVerifications TypeDocument NumberVerification ModeVerification AuthorityUpdated byUpdated OnStatusCriminal Report
    CriminalThird Party Assessment ReportOptional{{NewVendorProfile.users.CriminalVarificationObj.DocumentNo}}Third Party{{NewVendorProfile.users.CriminalVarificationObj.VerificationAuthority}}{{NewVendorProfile.users.CriminalVarificationObj.UpdatedBy}}{{NewVendorProfile.users.CriminalVarificationObj.UpdatedOn | date:\\'dd/MM/yyyy\\'}}{{NewVendorProfile.users.CriminalVarificationObj.verificationStatus}}
    \\\"\\\"
    Training
    Training NameTraining DateTraining ImageTraining Attendance
    {{Audittraining.TrainingName}}{{Audittraining.TrainingDate | date:\\'dd/MM/yyyy\\'}} \\\"\\\" \\\"\\\"
    \\\"image\\\"

    Bank Account Details

    Account No  -
    IFSC Code  -
    Account Holder Name   -
    Bank Name   -
    \\\"image\\\"

    Insaurance Details

    Insurance Name  -
    Policy Number  -
    Issue Date   -
    Expiry Date   -
    Insaurance Image   -
    View Link \\\"profile\\\"
    All Team List
    ActionUser IDNameContact NumberDesignationRoleAddress line 1Address Line 2CityStateSkillsStatus
    {{VendorTeamlist.UserId}}{{VendorTeamlist.FirstName}} {{VendorTeamlist.LastName}}{{VendorTeamlist.ContactNumber}}{{VendorTeamlist.Designation}}{{VendorTeamlist.Role}}{{VendorTeamlist.PermanentAdd1}}{{VendorTeamlist.PermanentAdd2}}{{VendorTeamlist.PermanentCity}}{{VendorTeamlist.PermanentState}}
    {{VendorTeamlist.SkillSet.toString()}}
    \");\n$templateCache.put(\"app/VendorProfile1/VendorProfile1.html\",\"

    Role : Vendor

    \\\"profile\\\"

    Aditya Comm - #U000087876 V


    15 year Telecommunications Professional

    702


    Total Jobs

    56


    Clients

    4 (56)


    Average Rating
    \\\"image\\\"

    Reliability

    \\\"image\\\"

    About

    Working in the Telecommunications industry since 1994 (10+ Years). Experience includes PBX, Networking.

    \\\"image\\\"

    Address

    House no. 54 , afkar colony , aishbagh stadium , bhopal BHOPAL, MADHYA PRADESH

    \\\"image\\\"

    Certificates

    CCNA

    ID #: COMP1139


    Networking

    ID #: COMP16139


    \\\"image\\\"

    Team Members

    \\\"image\\\"
    Sanjay Rai
    \\\"image\\\"
    Raj Madan
    \\\"image\\\"
    Deepak Verma
    \\\"image\\\"
    Pramod Kumar
    \");\n$templateCache.put(\"app/VendorTeamCreation/VendorTeamCreation.html\",\"
    1. Home
    2. Service Center Team Members
    {{VTCreationCntrl.userInfo.ContactName}}s
    \\\"image\\\" \\\"image\\\"

    {{VTCreationCntrl.userInfo.Role}}

    {{VTCreationCntrl.userInfo.ContactNumber}}

    Current Location
    {{VTCreationCntrl.userInfo.Address}}
    {{VTCreationCntrl.userInfo.City}}, {{VTCreationCntrl.userInfo.State}}
    {{VTCreationCntrl.userInfo.Pincode}}
    Activate

    \");\n$templateCache.put(\"app/VendorTeamCreate/VendorTeamCreate.html\",\"
    1. Home
    2. Invited Team Member
    Contact NameContact NumberStatusUser IdUser Name
    {{invited.ContactName}}{{invited.ContactNumber}}{{invited.Status}}{{invited.UserId}}{{invited.UserName}}
    {{VTCcntrl.sideViewData.ContactName}}
    \\\"image\\\"

    {{ VTCcntrl.sideViewData.Role}}

    {{ VTCcntrl.sideViewData.ContactNumber}}

    Current Location
    {{ VTCcntrl.sideViewData.CurrentAdd1}}
    {{ VTCcntrl.sideViewData.CurrentAdd2}}
    {{ VTCcntrl.sideViewData.CurrentCity}}, {{ VTCcntrl.sideViewData.CurrentState}}
    Activate

    \");\n$templateCache.put(\"app/VerificationSlotAllocation/SlotAllocation.html\",\"

    All Team List

    \\\"image\\\"

    User Name: {{fixedUsers.UserName}}

    User Id: {{fixedUsers.UserId}}

    Role: {{fixedUsers.UserRole}}

    • BGVerification Allocation
    • SME Interaction Allocation
    User IdNameSlot Booked DateAssigned To (UserId)Assigned To (Name)Assigned OnInteraction ResultStatusBooking StatusReschedule CountAction
    {{bGverifySlot.UserId}} {{bGverifySlot.UserId}}{{bGverifySlot.UserName}}{{bGverifySlot.SlotBookingDate | date:\\'dd/MM/yy hh:mm a\\'}}{{bGverifySlot.InteractionWithUserId}}{{bGverifySlot.InteractionWithUserName}}{{bGverifySlot.AssignedOnDate | date:\\'dd/MM/yy hh:mm a\\'}}{{bGverifySlot.InteractionResult}}{{bGverifySlot.Status}}{{bGverifySlot.BookingStatus}}{{bGverifySlot.RescheduleCount}}
     {{slotAllocationCtrl.pageindexCount}} - {{slotAllocationCtrl.bGVerifyListLength}} of {{totalTableUsersBG}}
    User IdNameSkillSlot Booked DateAssigned To (UserId)Assigned To (Name)Assigned OnInteraction ResultStatusBooking StatusReschedule CountAction
    {{bGverifySlot.UserId}} {{bGverifySlot.UserId}}{{bGverifySlot.UserName}}{{bGverifySlot.Skill}}{{bGverifySlot.SlotBookingDate | date:\\'dd/MM/yy hh:mm a\\'}}{{bGverifySlot.InteractionWithUserId}}{{bGverifySlot.InteractionWithUserName}}{{bGverifySlot.AssignedOnDate | date:\\'dd/MM/yy hh:mm a\\'}}{{bGverifySlot.InteractionResult}}{{bGverifySlot.Status}}{{bGverifySlot.BookingStatus}}{{bGverifySlot.RescheduleCount}}
     {{slotAllocationCtrl.pageindexCount}} - {{slotAllocationCtrl.bGVerifyListLength}} of {{totalTableUsersBG}}
    \");\n$templateCache.put(\"app/WareHouseItemList/WareHouseItemList.html\",\"
    1. Home
    2. Warehouse Inventory List
     Showing {{CntrlWareHouseItemList.pageindexCount}} to {{CntrlWareHouseItemList.inventoryListLength}} of {{totalInvList}} entries
    Part IDPart NamePart CodePart TypeBrandPart GroupPart Sub GroupService Center Price (₹)Dealer Price (₹)Dealer Customer Price (₹)Customer Price (₹)Warehouse Price (₹)Total Stock QtyGood Stock QtyDead Stock QtyUnitWarehouse IDWarehouse Name
    {{inventoryList.strMMFPartId}}{{inventoryList.strPartName}}{{inventoryList.strSKUId}}{{inventoryList.strPartType}}{{inventoryList.strPartBrand}}{{inventoryList.strPartCategoryGroup}}{{partsubgroup}}{{inventoryList.dPartSellingPrice}}{{inventoryList.dPartDealerPrice}}{{inventoryList.dPartDealerCustomerPrice}}{{inventoryList.dPartCustomerPrice}}{{inventoryList.dPartWareHousePrice}}{{inventoryList.nQuantityAvailable}}{{inventoryList.nTotalGoodStock}}{{inventoryList.nTotalDeadStock}}{{inventoryList.strPartUnit}}{{inventoryList.WareHouseId}}{{inventoryList.WarehouseName}}

    {{CntrlWareHouseItemList.sideViewData.strPartName}}

    Dead Stock

    {{CntrlWareHouseItemList.sideViewData.nTotalDeadStock}}

    Good Stock

    {{CntrlWareHouseItemList.sideViewData.nTotalGoodStock}}

    Item in Stock

    {{CntrlWareHouseItemList.sideViewData.nQuantityAvailable}}

    Description :

    • {{desc}}

    -->\");\n$templateCache.put(\"app/WareHouseList/WareHouseList.html\",\"
    1. Home
    2. WareHouses
    \");\n$templateCache.put(\"app/WidgetCanvas/widgetCanvas.html\",\"
    1. Home
    2. {{widgetCtrl.report_title}}
                  

    {{widgetCtrl.report_title +\\\" \\\"+ widgetCtrl.filter_name + \\\" \\\" + widgetCtrl.additionalInfo}}

    {{widgetCtrl.report_title +\\\" \\\"+ widgetCtrl.additionalInfo + \\\" (\\\"+widgetCtrl.filter_name+\\\")\\\" }}

      
    \");\n$templateCache.put(\"app/WareHouseOrderDetailView/WareHouseOrderDetailView.html\",\"
    1. Home
    2. Order Details

    Order ID :

    {{WareOrderDetailsCtrl.Ticketdetails.OrderId}} 

    Created On :

    {{WareOrderDetailsCtrl.Ticketdetails.OrderDate | date:\\'dd/MMM/yyyy hh:mm:ss a\\'}}

    Requested To :

    {{WareOrderDetailsCtrl.Ticketdetails.RequestedTo}}

    Order Status :

    {{WareOrderDetailsCtrl.Ticketdetails.OrderStatus | uppercase}}

    Order Type :

    {{WareOrderDetailsCtrl.Ticketdetails.OrderType}} 

    Created By :

    {{WareOrderDetailsCtrl.Ticketdetails.RequestBy}} 

    Requester No :

    {{WareOrderDetailsCtrl.Ticketdetails.RequestByContact}} 

    Total Amount :

    ₹{{WareOrderDetailsCtrl.Ticketdetails.OrderTotalAmount}} 

    Call ID :

    {{WareOrderDetailsCtrl.Ticketdetails.TicketId}} 

    Tracking Id:

    {{track.strPackageTrackingId}} 

    Call IDPart NamePart CodePart DescriptionPrice Per item (₹)Price(with GST) (₹)Quantity OrderedItem UnitComment
    {{tickets.strTicketId}}{{order.strItemName}}{{order.strSKUId}}
    • {{desc}}
    {{order.dItemPriceAfterDiscount}}{{order.dItemTotalPriceWithGST}}{{order.nItemQuantity}}{{order.strItemUnit}}{{order.CancelComment}}
    Tracking Details
    Tracking# - {{WareOrderDetailsCtrl.TrackingDetails.tracking_number}}
    • {{orderStatus.date | date: \\'dd/MMM/yyyy\\'}}

      {{orderStatus.time |date: \\'h:mm a\\'}}
    • {{orderStatus.notes}} Delivered
    Bill To :Ship To :
    {{WareOrderDetailsCtrl.OrderInvoiceDetails.strBillToAddress}}{{WareOrderDetailsCtrl.OrderInvoiceDetails.strShipToAddress}}
    Inv. dateInv. NoPart NamePart DescriptionPart CodeStatusWarehouse IDWarehouse NameQuantityDiffer QuantityDiffer RemarkRate After DiscountAmount (₹)Amount(with GST) (₹)
    {{WareOrderDetailsCtrl.OrderInvoiceDetails.dateInvoiceDate | date: \\'dd/MMM/yyyy hh:mm:ss a\\'}}{{WareOrderDetailsCtrl.OrderInvoiceDetails.strInvoiceId}}{{invoicedetail.strItemName}}
    • {{desc}}
    {{invoicedetail.strSKUId}}{{WareOrderDetailsCtrl.OrderInvoiceDetails.strOrderStatus}}{{invoicedetail.strWareHouseId}}{{invoicedetail.strWareHouseName}}{{invoicedetail.nItemQuantity}}{{invoicedetail.nDifferenceQuantity}}{{invoicedetail.strDifferRemarks}}{{invoicedetail.dItemPriceAfterDiscount}}{{invoicedetail.dItemTotalPrice}}{{invoicedetail.dItemTotalPriceWithGST}}
    Total Items
    Total Amount
    Total (with GST)
    \");\n$templateCache.put(\"app/WrongProductReceivedOrders/WrongProductReceivedOrders.html\",\"
    1. Home
    2. Incorrect Products Inventory
    Showing {{WrongProductRcvCntrl.opageindexCount}} to {{WrongProductRcvCntrl.orderListLength}} of {{totalOrderList}} entries
    Product IDReplacement IDPrevious Replacement IDCall IDRequester IDRequester Contact InfoActionWareHouse IDWareHouse Contact InfoProduct BrandProduct NameModel NumberSerial Number 1Serial Number 2StatusDelivery TypeRemarkProduct PhotosProof of PurchasePackaging IDPackaging DatePackage Tracking IDShipment IDShipment DateShipment DocTracking Link
    {{orderList.ProductId}}{{orderList.ReplacementId}}{{orderList.strPrevReplacementId}}{{orderList.TicketId}}{{orderList.UserId}}{{orderList.strReqUserName}} {{orderList.WarehouseId}}{{orderList.strWareHouseManager}}{{orderList.PrductBrand}}{{orderList.ProductName}}{{orderList.ModelMumber}}{{orderList.SerailNumber1}}{{orderList.SerailNumber2}}{{orderList.Status}}{{orderList.DamageType}}{{orderList.DamagedReason}}View Document \\\"IncorrectView Document \\\"Proof{{orderList.PackageDetails[0].strPackageId}}{{orderList.PackageDetails[0].datePackedOn | date:\\'dd/MMM/yy\\'}}{{orderList.PackageDetails[0].strPackageTrackingId}}{{orderList.PackageDetails[0].strShipmentId}}{{orderList.ShipmentDate | date:\\'dd/MMM/yy\\'}}{{orderList.PackageAttachment}} \\\"no{{orderList.ProductTrackingLink}}

    Activity Trace ( {{WrongProductRcvCntrl.trackingDetails.strReplacementId}} )

    Product Name : {{WrongProductRcvCntrl.trackingDetails.strProductName}}
    Call ID : {{WrongProductRcvCntrl.trackingDetails.strTicketId}}
    Order Status: {{WrongProductRcvCntrl.trackingDetails.strStatus}}
    • {{timeline.strUserName}} {{timeline.strUserRole}} {{timeline.dateCreatedOn | date:\\'dd/MMM/yy h:mm:ss a\\'}}
      {{ timeline.strComment || \\'No comments available\\'}}
      Status moved to: {{ timeline.strStatus }}
    \");\n$templateCache.put(\"app/bulkCallBooking/bulkCallBooking.html\",\"
    1. Home
    2. Upload Calls in Bulk


    File Upload

    You can download a Template Sheet to use as an example

    {{bulkuploadcallbooking.successTitle}}

    {{bulkuploadcallbooking.successMsg}}

    1. {{n}}
    Row NumberColumn NameError
    {{!$index?n.Row:\\'\\'}}{{c.Name}}{{c.Message}}
    \");\n$templateCache.put(\"app/bulkUploadUpdateOrder/bulkUploadUpdateOrder.html\",\"
    1. Home
    2. Upload Update Order in Bulk


    File Upload

    You can download a Template Sheet to use as an example

    {{bulkuploadupdateorder.successTitle}}

    {{bulkuploadupdateorder.successMsg}}

    1. {{n}}
    Row NumberColumn NameError
    {{!$index?n.Row:\\'\\'}}{{c.Name}}{{c.Message}}
    \");\n$templateCache.put(\"app/bulkuploadCMS/bulkupload.html\",\"
    1. Home
    2. Upload Team in Bulk Upload Customer in Bulk Upload Jobs in Bulk Upload Knowledge Content


    File Upload

    Template

    Files must be a xlsx, xls under 8 MB in size.
    Files must be a zip under 8 MB in size.

    You can download a user template to use as an example

    You can download a customer template to use as an example

    You can download a template sheet to use as an example

    You can download a knowledge template to use as an example

    {{bulkupload.successTitle}}

    {{bulkupload.successMsg}}

    1. {{n}}
    Jobs
    0\\\" ng-repeat=\\\"(k,h) in bulkupload.errorList[0].data\\\">{{k}}
    {{v}}
    \");\n$templateCache.put(\"app/bulkuploadCRMTeamMember/bulkuploadCRMTeamMember.html\",\"
    1. Home
    2. Upload Team in Bulk


    File Upload

    You can download a Template Sheet to use as an example

    {{bulkuploadcrmteam.successTitle}}

    {{bulkuploadcrmteam.successMsg}}

    1. {{n}}
    Row NumberColumn NameError
    {{!$index?n.Row:\\'\\'}}{{c.Name}}{{c.Message}}
    \");\n$templateCache.put(\"app/bulkuploadCustomer/bulkupload.html\",\"
    1. Home
    2. Upload Customer in Bulk


    File Upload

    Template

    Files must be a xlsx, xls under 8 MB in size.
    Files must be a zip under 8 MB in size.

    You can download a customer template to use as an example

    {{bulkupload.successTitle}}

    {{bulkupload.successMsg}}

    1. {{n}}
    Row NumberColumn NameError
    {{!$index?n.Row:\\'\\'}}{{c.Name}}{{c.Message}}
    Row NumberColumn NameError
    {{!$index?n.Row:\\'\\'}}{{c.Name}}{{c.Message}}
    Row NumberColumn NameError
    {{!$index?n.Row:\\'\\'}}{{c.Name}}{{c.Message}}
    Row NumberColumn NameError
    {{!$index?n.Row:\\'\\'}}{{c.Name}}{{c.Message}}
    \");\n$templateCache.put(\"app/bulkuploadJob/bulkupload.html\",\"
    1. Home
    2. Upload Team in Bulk Upload Customer in Bulk Upload Jobs in Bulk Upload Knowledge Content


    File Upload

    Template

    Files must be a xlsx, xls under 8 MB in size.
    Files must be a zip under 8 MB in size.


     

    You can download a template sheet template sheet to use as an example

    {{bulkupload.successTitle}}

    {{bulkupload.successMsg}}

    1. {{n}}
    Jobs
    0\\\" ng-repeat=\\\"(k,h) in bulkupload.errorList[0].data\\\">{{k}}
    {{v}}
    Jobs
    {{k}}
    {{v}}
    \");\n$templateCache.put(\"app/bulkuploadCustomerLatest/bulkuploadLatest.html\",\"
    1. Home
    2. Upload Customer in Bulk


    File Upload

    Template

    Files must be a xlsx, xls under 8 MB in size.
    Files must be a zip under 8 MB in size.

    You can download a customer template to use as an example

    {{bulkupload.successTitle}}

    {{bulkupload.successMsg}}

    1. {{n}}
    Row NumberColumn NameError
    {{!$index?n.Row:\\'\\'}}{{c.Name}}{{c.Message}}
    Row NumberColumn NameError
    {{!$index?n.Row:\\'\\'}}{{c.Name}}{{c.Message}}
    Row NumberColumn NameError
    {{!$index?n.Row:\\'\\'}}{{c.Name}}{{c.Message}}
    Row NumberColumn NameError
    {{!$index?n.Row:\\'\\'}}{{c.Name}}{{c.Message}}
    \");\n$templateCache.put(\"app/bulkuploadMasterInventory/BulkUploadMasterInventory.html\",\"
    1. Home
    2. Upload Master Inventory in Bulk


    File Upload

    You can download a Template Sheet to use as an example

    You can download a Template Sheet to use as an example

    {{bulkuploadinventory.successTitle}}

    {{bulkuploadinventory.successMsg}}

    1. {{n}}
    Row NumberColumn NameError
    {{!$index?n.Row:\\'\\'}}{{c.Name}}{{c.Message}}
    \");\n$templateCache.put(\"app/bulkuploadServiceCenter/bulkuploadServiceCenter.html\",\"
    1. Home
    2. Upload Service Center in Bulk


    File Upload

    You can download a Template Sheet to use as an example

    {{bulkuploadservicenter.successTitle}}

    {{bulkuploadservicenter.successMsg}}

    1. {{n}}
    Row NumberColumn NameError
    {{!$index?n.Row:\\'\\'}}{{c.Name}}{{c.Message}}
    \");\n$templateCache.put(\"app/bulkuploadUser/bulkupload.html\",\"
    1. Home
    2. Upload Team in Bulk Upload Customer in Bulk Upload Jobs in Bulk Upload Knowledge Content


    File Upload

    Template

    Files must be a xlsx, xls under 8 MB in size.
    Files must be a zip under 8 MB in size.

    You can download a user template to use as an example

    You can download a customer template to use as an example

    You can download a template sheet to use as an example

    You can download a knowledge template to use as an example

    {{bulkupload.successTitle}}

    {{bulkupload.successMsg}}

    1. {{n}}
    Jobs
    0\\\" ng-repeat=\\\"(k,h) in bulkupload.errorList[0].data\\\">{{k}}
    {{v}}
    \");\n$templateCache.put(\"app/bulkuploadinvitation/bulkuploadinvite.html\",\"
    1. Home
    2. Upload user invitations in Bulk


    File Upload

    Template

    Files must be a xlsx, xls under 8 MB in size.
    Files must be a zip under 8 MB in size.

    You can download a Template to use as an example

    {{bulkupload.successTitle}}

    {{bulkupload.successMsg}}

    1. {{n}}
    Row NumberColumn NameError
    {{!$index?n.Row:\\'\\'}}{{c.Name}}{{c.Message}}
    \");\n$templateCache.put(\"app/bulkuploadshiftmap/BulkUploadShiftMapping.html\",\"
    1. Home
    2. Assign Shifts in Bulk


    File Upload

    Files must be a xlsx, xls under 8 MB in size.
    Files must be a zip under 8 MB in size.

    {{bulkuploadshift.successTitle}}

    {{bulkuploadshift.successMsg}}

    1. {{n}}
    Row NumberColumn NameError
    {{!$index?n.Row:\\'\\'}}{{c.Name}}{{c.Message}}
    \");\n$templateCache.put(\"app/cms/index.html\",\"
    1. Home
    2. Knowledge
    Filters
    You don\\'t have any content to shown here. Please connect your admin to add content for you.
    \\\"image\\\" \\\"image\\\"
    {{post.caption}}
    {{post.description}}
    \");\n$templateCache.put(\"app/cms/view.html\",\"
    1. Home
    2. Knowledge

    {{cms.post.caption}}

    {{cms.post.description}}

    \");\n$templateCache.put(\"app/cms detail/cms_detail.html\",\"

    Monica Smith

    Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum
    \");\n$templateCache.put(\"app/cmsMobile/cmsList.html\",\"
    1. Home
    2. Knowledge
    Filters
    You don\\'t have any content to shown here. Please connect your admin to add content for you.
    \");\n$templateCache.put(\"app/cmsMobile/cmsView.html\",\"
    1. Home
    2. Knowledge

    {{cmsMobileView.post.caption}}

    {{cmsMobileView.post.description}}

    \");\n$templateCache.put(\"app/cms search view/cms search view.html\",\"
    Monica Smith
    Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum
    Today 5:60 pm - 12.06.2014
    Monica Smith
    Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum
    Today 5:60 pm - 12.06.2014
    Monica Smith
    Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum
    Today 5:60 pm - 12.06.2014
    Monica Smith
    Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum
    Today 5:60 pm - 12.06.2014
    Monica Smith
    Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum
    Today 5:60 pm - 12.06.2014
    Monica Smith
    Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum
    Today 5:60 pm - 12.06.2014
    Monica Smith
    Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum
    Today 5:60 pm - 12.06.2014
    \");\n$templateCache.put(\"app/confirm password/Reset_account.html\",\"
    \\\"image\\\"

    Password Reset !


    Your password has been updated successfully.


    Back to Sign in Page

    Copyright MobiForce © 2017


    \");\n$templateCache.put(\"app/confirm password/confirm_password.html\",\"

    Change password

    Here you can change the password.

    Copyright MobiForce © 2017
    \");\n$templateCache.put(\"app/customerProfileView/customerProfileView.html\",\"
    1. Home
    2. Customer Profile
    \\\"Avatar\\\"
    Ritika Sharma
    U6800000789
    Sector 58, Noida, U.P

    Personal Details Edit
    Name : Ritika Sharma
    Mobile : 91-8007689096
    City : Noida
    Plateform / Device : IOS
    Last Login : 30july 12:20pm

    Quick Actions

    \\\"Avatar\\\"
    Crompton Geyser - 25ltr
    Warranty Expiring in 29 days
    \\\"Avatar\\\"
    Samsung LED - 52 Inch
    Warranty Expiring in 6 days
    \\\"Avatar\\\"
    Samsung Washing Machin...
    Warranty Expiring in 4 days
    3

    Assets

    4

    Services

    12

    Orders

    10

    Ticket

    7,000

    Payments Amounts

    Recent Activity
    \\\"Avatar\\\"
    Send

    All Activity

    Complaint #4455

    AC is not cooling properly after installation done. Please resolve my cooling issue as soon as possible.

    9:30 AM

    Another meeting with UK client today, at 3:00 PM

    Yet another one, at 5:00 PM

    12:25 PM

    MMF Admin

    Technician assigner for Voltas 5 Start inverter AC installation

    6:00 PM

    Discussion with marketing team

    Discussion with marketing team about the popularity of last product

    9:00 AM

    Purchase new hosting plan

    Purchase new hosting plan as discussed with development team, today at 10:00 AM

    10:30 PM

    Another conference call today, at 11:00 AM

    Yet another one, at 1:00 PM

    12:25 PM

    Another meeting with UK client today, at 3:00 PM

    Yet another one, at 5:00 PM

    12:25 PM

    Discussion with team about new product launch

    meeting with team mates about the launch of new product. and tell them about new features

    6:00 PM

    Discussion with marketing team

    Discussion with marketing team about the popularity of last product

    9:00 AM

    Purchase new hosting plan

    Purchase new hosting plan as discussed with development team, today at 10:00 AM

    10:30 PM

    Another conference call today, at 11:00 AM

    Yet another one, at 1:00 PM

    12:25 PM
    Quick Questions

    Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\\'s standard dummy text ever. It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters

    It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using \\'Content here, content here\\', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for \\'lorem ipsum\\' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).

    Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\\'s standard dummy text ever. It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters

    It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using \\'Content here, content here\\', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for \\'lorem ipsum\\' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).

    It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using \\'Content here, content here\\', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for \\'lorem ipsum\\' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).
    Assets Management
    PlaceholderProduct DetailsBrandPurchase OnWarrantyWarranty StatusActions
    A40000002388
    \\\"Avatar\\\"
    Chimney
    MDF786
    \\\"Avatar\\\"20 July 202010 days beforeExpired
    A40000002388
    \\\"Avatar\\\"
    Refrigerator
    MDF786
    \\\"Avatar\\\"20 July 202010 days beforeExpiring Soon
    A40000002388
    \\\"Avatar\\\"
    Air Purifier
    MDF786
    \\\"Avatar\\\"20 July 202010 days beforeUnder Warranty
    Service Management
    Service IDService DetailsBrandDate & TimeTechnicianStatusActions
    A40000002388
    \\\"Avatar\\\"
    Voltas Window AC
    Installation
    \\\"Avatar\\\"20 July 2020 4:20PMN/ARequested
    A40000002388
    \\\"Avatar\\\"
    Refrigerator
    MDF786
    \\\"Avatar\\\"20 July 2020 4:20PMRohit KumarCancelled
    A40000002388
    \\\"Avatar\\\"
    Air Purifier
    MDF786
    \\\"Avatar\\\"20 July 2020 4:20PMSunil YadavAssigned
    A40000002388
    \\\"Avatar\\\"
    Room Heater 240 Watt
    MDF786
    \\\"Avatar\\\"20 July 2020 4:20PMMohit ChauhanCompleted
    Order Management
    Purchased OnProduct DetailsBrandPriceWarrantyWarranty StatusActions
    10 July 2023
    \\\"Avatar\\\"
    Chimney Hose
    MDF786
    \\\"Avatar\\\"₹69910 days beforeExpired
    10 July 2023
    \\\"Avatar\\\"
    Smart Key Sw...
    MDF786
    \\\"Avatar\\\"₹1,469In 5 daysExpiring Soon
    10 July 2023
    \\\"Avatar\\\"
    Protection Plan 1 Y...
    MDF786
    \\\"Avatar\\\"₹69922 June 2022Under Warranty
    Support Tickets
    Ticket IDProduct/ServiceDescriptionDate & TimeSourceIssue TypeAssigned toStatusActions
    MMF783524AC ServiceMy AC is not cooling properly. after service done.10 Jul 2023 | 5:20 PMCallCoolingN/AExpired
    MMF987655TV RepairMy AC is not cooling properly. after service done.24 Mar 2023 | 10:52 AMCallDisplayVivek SharmaIn Progress
    MMF098877GyserMy AC is not cooling properly. after service done.19 Apr 2023 | 4:58 PMCallHeatingAshok ChandraClosed
    Payments
    Transaction IDDate & TimeService/ Product DetailsAmount PaidPartner AmountPayment ViaStatusActions
    TRNS87907610 Jul 2023 | 5:20 PM
    \\\"Avatar\\\"
    Voltas Window AC
    Installation
    ₹820₹420Net BankingRefund Pending
    TRNS78352419 Apr 2023 | 4:58 PM
    \\\"Avatar\\\"
    Voltas Window AC
    Installation
    ₹1399₹899Debit CardFailed
    TRNS09786214 Apr 2023 | 2:16 PM
    \\\"Avatar\\\"
    Dish Washer 25 liter
    Breakdown Request
    ₹1650₹1150UPICompleted
    \");\n$templateCache.put(\"app/customerProfileView1/customerProfileView1.html\",\"
    1. Home
    2. Customer Profile
    ABC Bank
    17002 Noida Sec - 18
    Sector 18, Noida, Uttar Pradesh 201301

    Point of Contact Edit
    Branch Manager : Harry Kakkar
    Mobile : ******9096
    City : Noida
    Last Login : 1 May 12:20pm

    Quick Actions

    \\\"Avatar\\\"
    Bio-Metric Device
    Warranty Expired
    \\\"Avatar\\\"
    Laptop
    Warranty Expired
    \\\"Avatar\\\"
    Desktop
    Warranty Expired
    30

    Assets

    4

    Services

    Recent Activity
    \\\"Avatar\\\"
    Send

    All Activity

    Complaint #4455

    AC is not cooling properly after installation done. Please resolve my cooling issue as soon as possible.

    9:30 AM

    Another meeting with UK client today, at 3:00 PM

    Yet another one, at 5:00 PM

    12:25 PM

    MMF Admin

    Technician assigner for Voltas 5 Start inverter AC installation

    6:00 PM

    Discussion with marketing team

    Discussion with marketing team about the popularity of last product

    9:00 AM

    Purchase new hosting plan

    Purchase new hosting plan as discussed with development team, today at 10:00 AM

    10:30 PM

    Another conference call today, at 11:00 AM

    Yet another one, at 1:00 PM

    12:25 PM

    Another meeting with UK client today, at 3:00 PM

    Yet another one, at 5:00 PM

    12:25 PM

    Discussion with team about new product launch

    meeting with team mates about the launch of new product. and tell them about new features

    6:00 PM

    Discussion with marketing team

    Discussion with marketing team about the popularity of last product

    9:00 AM

    Purchase new hosting plan

    Purchase new hosting plan as discussed with development team, today at 10:00 AM

    10:30 PM

    Another conference call today, at 11:00 AM

    Yet another one, at 1:00 PM

    12:25 PM
    Quick Questions

    Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\\'s standard dummy text ever. It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters

    It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using \\'Content here, content here\\', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for \\'lorem ipsum\\' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).

    Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\\'s standard dummy text ever. It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters

    It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using \\'Content here, content here\\', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for \\'lorem ipsum\\' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).

    It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using \\'Content here, content here\\', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for \\'lorem ipsum\\' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).
    Assets Management
    Asset CodeAsset TypePAV StatusBranch CodeManufacturerModel NumberSerial NumberPurchase OnWarrantyStatusActions
    NA
    \\\"Avatar\\\"
    Desktop
    Working (Idle)17002 Noida Sec - 18\\\"Avatar\\\"M700z All-in-One (ThinkCentre)PC0LF3BP15 July 202210 days beforeExpired
    • De-Allocate
    • Re-Allocate
    ESFBSCA00001194
    \\\"Avatar\\\"
    Scanner
    Working (Idle)17002 Noida Sec - 18\\\"Avatar\\\"SP - 1130NC9MJ01620810 August 202110 days beforeExpiring Soon
    • De-Allocate
    • Re-Allocate
    ESFBLAP00007839
    \\\"Avatar\\\"
    Laptop
    Working (Idle)17002 Noida Sec - 18\\\"Avatar\\\"B1400CBAR4NXNZ00790515C20 July 202210 days beforeExpired
    • De-Allocate
    • Re-Allocate
    NA
    \\\"Avatar\\\"
    Bio-Metric Device
    Working (Idle)17002 Noida Sec - 18\\\"Avatar\\\"Identi5IIMPEKCB787120 July 202210 days beforeUnder Warranty
    • De-Allocate
    • Re-Allocate
    NA
    \\\"Avatar\\\"
    Bio-Metric Device
    Deployed17002 Noida Sec - 18\\\"Avatar\\\"Identi5IIMPEKCB009420 July 202210 days beforeUnder Warranty
    • De-Allocate
    • Re-Allocate
    ESFBBMD00005989
    \\\"Avatar\\\"
    Bio-Metric Device
    Deployed17002 Noida Sec - 18\\\"Avatar\\\"Identi5IIMPEKCB755020 July 202210 days beforeUnder Warranty
    • De-Allocate
    • Re-Allocate
    ESFBBMD00006237
    \\\"Avatar\\\"
    Bio-Metric Device
    Deployed17002 Noida Sec - 18\\\"Avatar\\\"Identi5IIMPEKCB715920 July 202210 days beforeExpired
    • De-Allocate
    • Re-Allocate
    NA
    \\\"Avatar\\\"
    Desktop
    Working (Idle)17002 Noida Sec - 18\\\"Avatar\\\"HP Prodesk 400 G5 Desktop Mini8CC00124ZH22 September 202215 days beforeUnder Warranty
    • De-Allocate
    • Re-Allocate
    ESFBDTP00007095
    \\\"Avatar\\\"
    Desktop
    Working (Idle)17002 Noida Sec - 18\\\"Avatar\\\"OptiPlex 3090 Small Form Factor68GLXM320 September 202315 days beforeUnder Warranty
    • De-Allocate
    • Re-Allocate
    NA
    \\\"Avatar\\\"
    Desktop
    Working (Idle)17002 Noida Sec - 18\\\"Avatar\\\"M700z All-in-One (ThinkCentre)PC0GCB9415 July 202210 days beforeExpired
    • De-Allocate
    • Re-Allocate
    NA
    \\\"Avatar\\\"
    Desktop
    Deployed17002 Noida Sec - 18\\\"Avatar\\\"M700z All-in-One (ThinkCentre)PC0GCB7315 July 202210 days beforeExpired
    • De-Allocate
    • Re-Allocate
    ESFBDTP00008287
    \\\"Avatar\\\"
    Desktop
    Working (Idle)17002 Noida Sec - 18\\\"Avatar\\\"HP 280 Pro G6 Microtower4CE229CTPW22 January 202220 days beforeUnder Warranty
    • De-Allocate
    • Re-Allocate
    ESFBDTP00008181
    \\\"Avatar\\\"
    Desktop
    Working (Idle)17002 Noida Sec - 18\\\"Avatar\\\"HP 280 Pro G6 Microtower4CE229CTPC22 January 202220 days beforeUnder Warranty
    • De-Allocate
    • Re-Allocate
    ESFBDTP00006039
    \\\"Avatar\\\"
    Desktop
    Not Working (Idle)17002 Noida Sec - 18\\\"Avatar\\\"OptiPlex 3080 Tower8Y1PF9320 September 202315 days beforeUnder Warranty
    • De-Allocate
    • Re-Allocate
    NA
    \\\"Avatar\\\"
    Desktop
    Not Working (Idle)17002 Noida Sec - 18\\\"Avatar\\\"HP 280 Pro G6 Microtower4CE229CV1P22 August 202315 days beforeUnder Warranty
    • De-Allocate
    • Re-Allocate
    NA
    \\\"Avatar\\\"
    Desktop
    Working (Idle)17002 Noida Sec - 18\\\"Avatar\\\"HP 280 Pro G6 Microtower4CE229CTMD22 August 202315 days beforeUnder Warranty
    • De-Allocate
    • Re-Allocate
    NA
    \\\"Avatar\\\"
    Desktop
    Working (Idle)17002 Noida Sec - 18\\\"Avatar\\\"ThinkBook 14 G2 ITL LaptopMP2F4GC510 August 202315 days beforeUnder Warranty
    • De-Allocate
    • Re-Allocate
    NA
    \\\"Avatar\\\"
    Passbook Printer
    Working (Idle)17002 Noida Sec - 18\\\"Avatar\\\"PLQ-20RJLY12493320 July 202210 days beforeUnder Warranty
    • De-Allocate
    • Re-Allocate
    NA
    \\\"Avatar\\\"
    Passbook Printer
    Working (Idle)17002 Noida Sec - 18\\\"Avatar\\\"C662B1X5TW01439120 July 202310 days beforeUnder Warranty
    • De-Allocate
    • Re-Allocate
    NA
    \\\"Avatar\\\"
    Tablet
    Working (Idle)17002 Noida Sec - 18\\\"Avatar\\\"SM-T29535500279371472310 August 202110 days beforeExpiring Soon
    • De-Allocate
    • Re-Allocate
    NA
    \\\"Avatar\\\"
    Tablet
    Working (Idle)17002 Noida Sec - 18\\\"Avatar\\\"SM-T29535500279050084410 August 202110 days beforeExpiring Soon
    • De-Allocate
    • Re-Allocate
    NA
    \\\"Avatar\\\"
    Tablet
    Working (Idle)17002 Noida Sec - 18\\\"Avatar\\\"SM-T28535215509147017510 August 202110 days beforeExpiring Soon
    • De-Allocate
    • Re-Allocate
    NA
    \\\"Avatar\\\"
    Tablet
    Working (Idle)17002 Noida Sec - 18\\\"Avatar\\\"SM-T29535500279371493910 August 202110 days beforeExpiring Soon
    • De-Allocate
    • Re-Allocate
    NA
    \\\"Avatar\\\"
    Tablet
    Working (Idle)17002 Noida Sec - 18\\\"Avatar\\\"SM-T29535215509146314710 August 202110 days beforeExpiring Soon
    • De-Allocate
    • Re-Allocate
    Service Management
    Service IDService DetailsBrandDate & TimeTechnicianStatusActions
    A40000002388
    \\\"Avatar\\\"
    Bio-Metric Device
    Identi5
    \\\"Avatar\\\"20 July 2020 4:20PMN/ARequested
    A40000002388
    \\\"Avatar\\\"
    Scanner
    SP - 1130N
    \\\"Avatar\\\"20 July 2020 4:20PMRohit KumarCancelled
    A40000002388
    \\\"Avatar\\\"
    Desktop
    HP Prodesk 400 G5 Desktop Mini
    \\\"Avatar\\\"20 July 2020 4:20PMSunil YadavAssigned
    A40000002388
    \\\"Avatar\\\"
    Passbook Printer
    PLQ-20
    \\\"Avatar\\\"20 July 2020 4:20PMMohit ChauhanCompleted
    Order Management
    Purchased OnProduct DetailsBrandPriceWarrantyWarranty StatusActions
    10 July 2023
    \\\"Avatar\\\"
    Tablet
    SM-T295
    \\\"Avatar\\\"₹69910 days beforeExpired
    10 July 2023
    \\\"Avatar\\\"
    Passbook Printer
    C662B1
    \\\"Avatar\\\"₹1,469In 5 daysExpiring Soon
    10 July 2023
    \\\"Avatar\\\"
    Desktop
    OptiPlex 3090 Small Form Factor
    \\\"Avatar\\\"₹69922 June 2022Under Warranty
    Support Tickets
    Ticket IDProduct/ServiceDescriptionDate & TimeSourceIssue TypeAssigned toStatusActions
    MMF783524Laptop RepairHardisk Problem10 Jul 2023 | 5:20 PMCallSlowN/AExpired
    MMF987655Scanner RepairScanner Not scan Properly24 Mar 2023 | 10:52 AMCallDisplayVivek SharmaIn Progress
    MMF098877Bio-Metric RepairFinger scanner not working Properly19 Apr 2023 | 4:58 PMCallScannerAshok ChandraClosed
    Payments
    Transaction IDDate & TimeService/ Product DetailsAmount PaidPartner AmountPayment ViaStatusActions
    TRNS87907610 Jul 2023 | 5:20 PM
    \\\"Avatar\\\"
    Voltas Window AC
    Installation
    ₹820₹420Net BankingRefund Pending
    TRNS78352419 Apr 2023 | 4:58 PM
    \\\"Avatar\\\"
    Voltas Window AC
    Installation
    ₹1399₹899Debit CardFailed
    TRNS09786214 Apr 2023 | 2:16 PM
    \\\"Avatar\\\"
    Dish Washer 25 liter
    Breakdown Request
    ₹1650₹1150UPICompleted
    \");\n$templateCache.put(\"app/employeshiftattendance/employeshiftattendance.html\",\"
    1. Home
    2. Employee shift Attendance
    Employee IDEmployee NameDepartmentLocationDay{{ date.day }}
    Date{{ date.date | date : \\'dd-MMM\\'}}
    {{staff.users.UserId}}{{staff.users.UserName}}{{staff.users.DepartmentName}}{{staff.users.LocationName}}{{shifts.ActualStartTime | date:\\'dd/MMM/yyyy HH:mm:ss\\'}} - {{shifts.ActualStartTime | date:\\'dd/MMM/yyyy HH:mm:ss\\'}} OFF
    \");\n$templateCache.put(\"app/form_builder/sortable.html\",\"
    1. Home
    2. {{ templateName==\\'Create Template\\'?\\'Create Template\\':\\'Template / \\' +templateName}}


    • Drag A field from the right to this area
    \");\n$templateCache.put(\"app/jobview/jobview.html\",\"
    1. Home
    2. Jobs View
    {{jobView.TicketInfo.TicketStatus}}
    Job Address

    Appointment time
    {{jobView.getReadableTime(jobView.TicketInfo.StartTime)}}
    {{jobView.getReadableTime(jobView.TicketInfo.EndTime)}}
    Your ticket is scheduled from {{jobView.getReadableTime(jobView.TicketInfo.StartTime)}} to {{jobView.getReadableTime(jobView.TicketInfo.EndTime)}}
    Ticket Detail

    Rate Detail
    {{jobView.TicketInfo.BroadcastRate}}
    {{jobView.TicketInfo.BroadcastGrossRate}}
    {{jobView.TicketInfo.MobiforceCommission}}%
    {{jobView.TicketInfo.BidDuration}} Min
    Supervisor View


    {{status.activity}} 0 && status.primaryReason!=\\'null\\'\\\">{{\\\"( \\\" + status.primaryReason+\\\"-\\\"+status.SecondryReason + \\\" )\\\" }} {{\\\"( \\\" + status.ThirdReason + \\\" )\\\" }}
    {{\\\"Remark: \\\" + status.CompletionRemark + \\\" \\\" }} {{\\\"Remark: \\\" + status.RejectionRemark + \\\" \\\" }}
    {{status.activity}} Follow Up-{{status.activity}} 0 && status.primaryReason!=\\'null\\'\\\">{{\\\"( \\\" + status.primaryReason+\\\"-\\\"+status.SecondryReason + \\\" )\\\" }} {{\\\"( \\\" + status.ThirdReason + \\\" )\\\" }}
    0 && status.ReasonComment!=\\'null\\'\\\">-{{status.ReasonComment}}
    {{\\\"Remark: \\\" + status.CompletionRemark + \\\" \\\" }}
    Total Tat :  {{jobView.TotalTat}}
    {{status.activity}} Follow Up - {{status.activity}}

    0 && status.primaryReason!=\\'null\\'\\\">{{\\\"( \\\" + status.primaryReason+\\\"-\\\"+status.SecondryReason + \\\" )\\\" }}
    {{ status.ThirdReason }}

    0 && status.ReasonComment!=\\'null\\'\\\">-{{status.ReasonComment}}
    {{\\\"Remark: \\\" + status.CompletionRemark + \\\" \\\" }}
    Partner Tat : {{jobView.PartnerTat}}
    {{status.activity}} Follow Up-{{status.activity}} 0 && status.primaryReason!=\\'null\\'\\\">{{\\\"( \\\" + status.primaryReason+\\\"-\\\"+status.SecondryReason + \\\" )\\\" }}
    0 && status.ReasonComment!=\\'null\\'\\\">-{{status.ReasonComment}}
    \");\n$templateCache.put(\"app/inventory/inventory.html\",\"
    1. Home
    2. Inventory List
    Spare Part ImagesMaterialPartTechnician NameDescriptionAvailableCreated OnIn WarrantyOwner
    \\\"\\\"Evaprator coilGSCELWLX0037Sunny kumarWH spare - Led Red White...203-01-2023 20:34PM1Evaprator coil
    \\\"\\\"Condenssor CoilGSCELWLX2535Rohit kumarWH spare - Led Red White...203-01-2023 20:34PM2Condenssor Coil
    \\\"\\\"Rotary CompressorGSCELWLX4187Randhir TomarWH spare - Led Red White...203-01-2023 20:34PM1Rotary Compressor
    \\\"\\\"ODU Fan MotorGSCELWLX2987Madhurgai MaheshWH spare - Led Red White...203-01-2023 20:34PM1ODU Fan Motor
    \\\"\\\"Capacitor 50 MFDGSCELWLX0967Ayub KhanWH spare - Led Red White...203-01-2023 20:34PM1Capacitor 50 MFD
    \\\"\\\"Out door FanGSCELWLX6546Mohammad TalhaWH spare - Led Red White...203-01-2023 20:34PM1Out door Fan
    \\\"\\\"IDU Fan motorGSCELWLX8081Mohamad MunnaWH spare - Led Red White...203-01-2023 20:34PM1IDU Fan motor
    \\\"\\\"Refrigerant R32 GasGSCELWLX2134Ayub KhanWH spare - Led Red White...203-01-2023 20:34PM1Refrigerant R32 Gas
    \\\"\\\"BlowerGSCELWLX4094sunny kumarWH spare - Led Red White...203-01-2023 20:34PM1Blower
    \\\"\\\"Refrigerant R32 GasGSCELWLX5090Lalit KumarWH spare - Led Red White...203-01-2023 20:34PM1Refrigerant R32 Gas
    \\\"\\\"1/4 copper pipeGSCELWLX1090Rahul JhaWH spare - Led Red White...203-01-2023 20:34PM11/4 copper pipe
    \\\"\\\"StablizerGSCELWLX1001Hema KrishananWH spare - Led Red White...203-01-2023 20:34PM1Stablizer
    \\\"\\\"1/2 copper pipeGSCELWLX9009Pratyush KumarWH spare - Led Red White...203-01-2023 20:34PM11/2 copper pipe
    \\\"\\\"Evaprator coilGSCELWLX7007Ambrish KumarWH spare - Led Red White...203-01-2023 20:34PM1Evaprator coil
    \\\"\\\"Condenssor CoilGSCELWLX2002Rohit KumarWH spare - Led Red White...203-01-2023 20:34PM1Condenssor Coil
    \\\"\\\"Rotary CompressorGSCELWLX3003Lalit kumarWH spare - Led Red White...203-01-2023 20:34PM1Rotary Compressor
    \\\"\\\"ODU Fan MotorGSCELWLX4545Karan AujlaWH spare - Led Red White...203-01-2023 20:34PM1ODU Fan Motor
    \\\"\\\"Capacitor 50 MFDGSCELWLX6464Prem DhillonWH spare - Led Red White...203-01-2023 20:34PM1Capacitor 50 MFD
    \\\"\\\"Out door FanGSCELWLX8768Hema KrishananWH spare - Led Red White...203-01-2023 20:34PM1Out door Fan
    \\\"\\\"BlowerGSCELWLX0001Rahul JhaWH spare - Led Red White...203-01-2023 20:34PM1Blower
    \");\n$templateCache.put(\"app/job_Bid_Creation/Job_Bid_creation.html\",\"
    1. Home
    2. Job Creation
    Job Details
    Please fill JobId Please enter alphanumeric
    Please enter only alphanumeric with space, hyphen, slace, comma
    Please select clone reason
    Please select priority
    Customer and Project
    Please select customer name
    Please select project name
    \\\"profile\\\"

    {{bidCreate.selectedCustomer.CompanyName}}

    {{bidCreate.selectedCustomer.BusinessPhone}}
    {{bidCreate.selectedCustomer.Address1}}
    0\\\">{{bidCreate.selectedCustomer.Address2}}
    {{bidCreate.selectedCustomer.City}}
    {{bidCreate.selectedCustomer.State}}
    {{bidCreate.selectedCustomer.PinCode}}

    {{bidCreate.selectedProject.Name}}

    {{bidCreate.selectedProject.Description}}

    Project Manager \\\"image\\\" {{bidCreate.selectedProject.ManagerName}}  {{bidCreate.selectedProject.ManagerNumber}}

    0\\\">
    {{location}}
    Please select a location
    0\\\">
    Please select a location
    0\\\">
    Please select a Circle
    Job Address
    Same As Customer Address


    Please enter contact person name
    = 48 && event.charCode <= 57\\\" maxlength=\\\"10\\\" required=\\\"\\\" name=\\\"contactNumber\\\">
    Please enter contact number Please enter 10 digit mobile number
    Please enter address line 1
    Please enter address line 2
    Please select state
    Please select city
    Please enter pincode Please enter valid pincode
    Appointment Time
    Please select start date
    Template
    Please select template

    \\\"profile\\\"

    {{bidCreate.selectedTemplate.TemplateName}}

    {{bidCreate.selectedTemplate.CreatedBy}}

    {{bidCreate.selectedTemplate.CreatedOn}}

    Scheduling Rules
    Bid Schedule
    Please select bid duration
    Geo Fence
    = 48 && event.charCode <= 57\\\">
    Please enter range
    \");\n$templateCache.put(\"app/job_Bid_Creation/NewJobCreation.html\",\"

    Job Creation

    Job Details

    Customer and Projects

    Job Address

    Planned Closure

    Appointment Time

    Template

    Scope of Work

    Bid Schedule

    Job Reccurence

    Geo Fence

    Spare Parts Details

    Rate Card

    1

    Job Details

    2

    Customer and Projects

    3

    Job Address

    4

    Appointment Time

    12

    Planned Closure

    5

    Template

    6

    Scope of Work

    7

    Bid Schedule

    8

    Penalties and Bonuses

    8

    Geo Fence

    9

    Spare Parts and Details

    10

    Rate Card

    Job Details

    Please fill JobId Please enter alphanumeric value with . , _ - ( ) only
    Please select priority
    Please enter alphanumeric value with . , _ - ( ) only
    Please enter alphanumeric value with . , _ - ( ) only
    Please enter alphanumeric value with . , _ - ( ) only

    Customer and Projects

    Please select customer name
    Attach Invoice
    Please select project name
    \\\"profile\\\"

    {{jobCreateCtrl.selectedCustomer.CompanyName}}

    {{jobCreateCtrl.selectedCustomer.BusinessPhone}}
    {{jobCreateCtrl.selectedCustomer.Address1}}
    0\\\">{{jobCreateCtrl.selectedCustomer.Address2}}
    {{jobCreateCtrl.selectedCustomer.City}}
    {{jobCreateCtrl.selectedCustomer.State}}
    {{jobCreateCtrl.selectedCustomer.PinCode}}

    {{jobCreateCtrl.selectedProject.Name}}

    {{jobCreateCtrl.selectedProject.Description}}

    Project Manager \\\"image\\\" {{jobCreateCtrl.selectedProject.ManagerName}}  {{jobCreateCtrl.selectedProject.ManagerNumber}}

    {{location}}
    Please select a location
    Please select a location
    Please select a Circle

    Job Address

    Please enter contact person name Contact person name should only contain alphabets with space
    = 48 && event.charCode <= 57\\\" maxlength=\\\"10\\\" required=\\\"\\\" name=\\\"contactNumber\\\" ng-change=\\\"jobCreateCtrl.checkJobAddress();\\\">
    Please enter contact number Please enter 10 digit mobile number
    Please enter address line 1 Please enter only alphanumeric with some spacial character (#()_-/,.&:;)
    Please enter address line 2 Please enter only alphanumeric with some spacial character (#()_-/,.&:;)
    Please select state
    Please select city
    = 48 && event.charCode <= 57\\\" maxlength=\\\"6\\\" ng-model=\\\"jobCreateCtrl.Pincode\\\" required=\\\"\\\" name=\\\"pincode\\\" ng-pattern=\\\"/^[0-9]{6}$/\\\" ng-change=\\\"jobCreateCtrl.checkJobAddress();\\\">
    Please enter pincode Please enter valid pincode

    Planned Closure

    Please select source creation date
    Please select planned closure date

    Appointment Time

    Template

    Please select template
    Please select skill
    \\\"profile\\\"

    {{jobCreateCtrl.selectedTemplate.TemplateName}}

    {{jobCreateCtrl.selectedTemplate.CreatedBy}}

    {{jobCreateCtrl.selectedTemplate.CreatedOn}}

    Scope of Work

    Please enter only alphanumeric with space, hyphen, slace, comma

    Bid Schedule

    This is the time duration which is allowed to the engineer for applying on any BID. Please select the BID duration 10-20 minutes

    Please select bid duration
    Penalities and Bonus

    Geo Fence

    = 48 && event.charCode <= 57\\\">
    Please enter range

    Spare Parts and Details

    Please enter valid url
    Please enter only alphanumeric with space, hyphen, slace, comma
    Please enter only alphanumeric with space, hyphen, slace, comma
    Please enter only alphanumeric with space, hyphen, slace, comma
    = 48 && event.charCode <= 57\\\" maxlength=\\\"6\\\" ng-pattern=\\\"/^[0-9]{6}$/\\\">
    Please enter valid pincode

    Pickup Address

    Please enter only alphanumeric with space, hyphen, slace, comma
    Please enter only alphanumeric with space, hyphen, slace, comma
    = 48 && event.charCode <= 57\\\" maxlength=\\\"6\\\" ng-pattern=\\\"/^[0-9]{6}$/\\\">
    Please enter valid pincode

    Drop Address

    Please enter only alphanumeric with space, hyphen, slace, comma
    Please enter only alphanumeric with space, hyphen, slace, comma
    = 48 && event.charCode <= 57\\\" maxlength=\\\"6\\\" ng-pattern=\\\"/^[0-9]{6}$/\\\">
    Please enter valid pincode

    Scheduling Rules

    Rate Card

    = 48 && event.charCode <= 57\\\">
    Please enter price
    = 48 && event.charCode <= 57\\\">
    Please enter Freelancer price
    = 48 && event.charCode <= 57\\\" disabled=\\\"\\\">
    Please enter commission
    Freelancer Price ()(Credits) :{{jobCreateCtrl.freelancerPricetemp}}
    Commission {{jobCreateCtrl.MobiforceCommission}}% ()(Credits) :{{jobCreateCtrl.commission}}
    TAX {{jobCreateCtrl.GSTPercentange}}% ()(Credits):{{jobCreateCtrl.tax}}
    Ticket Price ()(Credits) :{{jobCreateCtrl.tPrice}}

    Pricing Line Item

    TypeActivity DescriptionCompany ProvideQuantityBase PriceFreelancer PriceAction
    {{priceLineItem.LineItemCategory}}{{priceLineItem.LineItemDescription}}{{priceLineItem.LineItemCompanyProvided}}{{priceLineItem.LineItemQuantity}} {{(priceLineItem.LineItemQuantity)*(priceLineItem.dLineItemWinPrice)}} {{(priceLineItem.LineItemQuantity)*(priceLineItem.dLineItemFreelancerPrice)}}

    Total

    \");\n$templateCache.put(\"app/mForce-job-detail/job-detail.html\",\"

    {{MjobDetail.LeadDetails.skillSet}}

    {{MjobDetail.LeadDetails.jobId}}
    Job Price
    • ₹ {{MjobDetail.LeadDetails.BIDRate}} To be paid by MyMobiforce
    • ₹ {{MjobDetail.LeadDetails.AmountToBeCollectedFromField}} Amount to be collected from customer

    Job Time
    • Appointment Pending
    • {{MjobDetail.LeadDetails.jobStartDateTime}} {{MjobDetail.LeadDetails.jobPlannedClosureDate}}     Finish By

    Address
    • {{MjobDetail.LeadDetails.addressLine1}}, {{MjobDetail.LeadDetails.city}}, {{MjobDetail.LeadDetails.state}}

    Service Detail
    • {{MjobDetail.LeadDetails.consumerName}}
    • {{MjobDetail.LeadDetails.customerName}}

    \");\n$templateCache.put(\"app/mForce-job-list/job-list.html\",\"\");\n$templateCache.put(\"app/main/main.html\",\"

    {{main.helloText}}

    {{main.descriptionText}}
    \");\n$templateCache.put(\"app/plannerTool/plannerTool.html\",\"
    Filters
    Range (in km)
    Pincode
    2360

    Freelancers (FL)

    980

    Freelancer Vendors (FV)

    1960

    Freelancer Vendor Teams (FVT)

    3500

    All Active Technicians

    50

    Warehouses

    15

    Training centers

    StateDistrictPinSkillsFreelancers (FL)Freelance Vendors (FV)Freelance Vendor Team (FVT)Total Technicians MMF Units Total Technicians
    HaryanaGurugram122003Wire Laying7/83/52/212/150
    HaryanaGurugram122003Wire Laying7/83/52/212/150
    HaryanaGurugram122003Wire Laying7/83/52/212/150
    HaryanaGurugram122003Wire Laying7/83/52/212/150
    HaryanaGurugram122003Mohit7/83/52/212/150
    HaryanaGurugram122003Wire Laying7/83/52/212/150
    HaryanaGurugram122003Wire Laying7/83/52/212/150
    HaryanaGurugram122003Wire Laying7/83/52/212/150
    HaryanaGurugram122003Wire Laying7/83/52/212/150
    HaryanaGurugram122003Wire Laying7/83/52/212/150
    HaryanaGurugram122003Wire Laying7/83/52/212/150
    HaryanaGurugram122003Wire Laying7/83/52/212/150
    of 252 records
    \");\n$templateCache.put(\"app/projects/project.html\",\"
    1. Home
    2. Projects
    IdNameCustomerLocationStatus
    {{projectlist.ProjectId}}
    {{location.Circle}}
    {{project.projectModel.Name}}

    Description: {{project.projectModel.Description}}

    Customer  {{project.projectModel.CustomerName}}
    Project Manager \\\"image\\\" {{project.projectModel.ManagerName}}  {{project.projectModel.ManagerNumber}}

    Serving Location

    Locations
    \");\n$templateCache.put(\"app/skillCreation/skillCreation.html\",\"

    Skill Creation

    Skill IdSkill NameCategoryDisplay NameVerticalTes tLinkSkill VerticalEdit
    \");\n$templateCache.put(\"app/backup/Customer Home Screen/CustomerHomeScreen.html\",\"
    1. Home
    2. All Tickets
    T0000000098
    Open

    Vsat Not Working Properly

    \\\"image\\\"

    Technician

    Ankur Sharma   4.0

    Appointment Time

    12/08/2018 04:30 Pm     Re-Schedule

    Ticket Age

    ( 2 Hours Ago)
    T0000000098
    Completed

    Vsat Not Working Properly

    \\\"image\\\"

    Technician

    Ankur Sharma   4.0

    Appointment Time

    12/08/2018 04:30 Pm

    Resolution Time

    12/08/2018 04:30 Pm

    SLA

    T0000000098
    Completed

    Vsat Not Working Properly

    \\\"image\\\"

    Technician

    Ankur Sharma   4.0

    Appointment Time

    12/08/2018 04:30 Pm

    Resolution Time

    12/08/2018 04:30 Pm

    SLA

    T0000000098
    On hold

    Vsat Not Working Properly

    \\\"image\\\"

    Technician

    Ankur Sharma   4.0

    Appointment Time

    12/08/2018 04:30 Pm

    Ticket Age

    ( 2 Hours Ago)
    T0000000098
    Completed

    Vsat Not Working Properly

    \\\"image\\\"

    Technician

    Ankur Sharma   4.0

    Appointment Time

    12/08/2018 04:30 Pm

    Resolution Time

    12/08/2018 04:30 Pm

    SLA

    T0000000098
    Completed

    Vsat Not Working Properly

    \\\"image\\\"

    Technician

    Ankur Sharma   4.0

    Appointment Time

    12/08/2018 04:30 Pm

    Resolution Time

    12/08/2018 04:30 Pm

    SLA

    \");\n$templateCache.put(\"app/backup/Customer Ticket Details/CustomerTicketDetails.html\",\"
    1. Home
    2. Tickets Details
    T00000000876
    Open

    Vsat ID : GSE - 645453

    Vsat IP : 112.232.234.80

    Ticket Age : ( 2 hours ago )

    Issue :

    Vsat Not Working Properly

    \\\"image\\\"

    Technician

    Ankur Sharma 4.0

    7876534523

    Appointment Time

    12/08/2018 04:30 Pm

    Contact Us

    8987876765

    Ankur.sharma@innotiontech.com

    Ticket Status Activity
    Open Today at 10:30:50 pm / Mike Smith Added new contact to the user group
    Comment Today at 08:10:50 am / Michael Miggel Commented on Ariana profile.
    Comment Today at 04:30:33 am / Monica Jackson Commented on public board.
    Comment Today at 11:43:59 am / Jessica Smith Commented on public board.
    Add Yesterday at 10:02:33 pm / Camila Farter Added new file to project.
    Activity Today at 08:10:50 am / John Dernex Add new item to stage zero.
    Activity Yesterday at 10:32:12 am / Andrew Williams Joined to the new group.
    Activity Today at 08:10:50 am / Michael Miggel Commented on Ariana profile.
    Activity Today at 04:30:33 am / Monica Jackson Commented on public board.
    \");\n$templateCache.put(\"app/components/common/ChatScreen.html\",\"\");\n$templateCache.put(\"app/components/common/content.html\",\"
    \");\n$templateCache.put(\"app/components/common/footer.html\",\"
    Copyright MyMobiforce © 2024
    \");\n$templateCache.put(\"app/components/common/ibox_tools.html\",\"\");\n$templateCache.put(\"app/components/common/modals.html\",\"\");\n$templateCache.put(\"app/components/common/navigation.html\",\"\");\n$templateCache.put(\"app/components/common/public_content.html\",\"
    \");\n$templateCache.put(\"app/components/common/right_sidebar.html\",\"
    Job History
    {{history.activity}} 0 && history.primaryReason!=\\'null\\'\\\">{{\\\"( \\\" + history.primaryReason+\\\"-\\\"+history.SecondryReason + \\\" )\\\" }}

    Search Filters

    Search for your ticket using the fields below!

    \");\n$templateCache.put(\"app/components/common/top_navigation.html\",\"\");\n$templateCache.put(\"app/components/common/topnavbar.html\",\"
    \");}]);"],"sourceRoot":"/source/"}