{"version":3,"sources":["scripts/app-2d5cfdfe58.js"],"names":["routeConfig","$urlRouterProvider","baSidebarServiceProvider","otherwise","angular","module","config","$stateProvider","state","url","templateUrl","title","controller","controllerAs","sidebarMeta","order","icon","params","type","$locationProvider","$translateProvider","dialogsProvider","$httpProvider","interceptors","push","$q","$rootScope","responseError","rejection","defer","status","logout","reject","promise","useBackdrop","useEscClose","useCopy","setSize","translations","DIALOGS_ERROR","DIALOGS_ERROR_MSG","DIALOGS_CLOSE","DIALOGS_PLEASE_WAIT","DIALOGS_PLEASE_WAIT_ELIPS","DIALOGS_PLEASE_WAIT_MSG","DIALOGS_PERCENT_COMPLETE","DIALOGS_NOTIFICATION","DIALOGS_NOTIFICATION_MSG","DIALOGS_CONFIRMATION","DIALOGS_CONFIRMATION_MSG","DIALOGS_OK","DIALOGS_YES","DIALOGS_NO","preferredLanguage","html5Mode","enabled","requireBase","run","toastr","$http","$state","AuthenticationService","dialogs","$translate","$uibModal","lodash","$window","$timeout","endPoint","use","$on","event","toState","toParams","fromState","fromParams","checkPermission","actionName","res","filter","ActiveMenu","MenuAction","ActionName","length","openSelectCompanyModal","modalInstance","open","animation","ariaLabelledBy","ariaDescribedBy","size","backdrop","keyboard","result","then","selectedItem","go","differenceInDays","startDate","endDate","showToaster","msg","toastConfig","autoDismiss","positionClass","timeOut","extendedTimeOut","allowHtml","closeButton","tapToDismiss","progressBar","newestOnTop","maxOpened","preventDuplicates","preventOpenDuplicates","error","info","success","warning","factory","request","headers","token","MenuId","userId","items","props","out","isArray","keys","Object","forEach","item","itemMatches","i","prop","text","toLowerCase","toString","indexOf","baConfigProvider","colorHelper","$provide","decorator","uiViewScrollDecorator","$delegate","$anchorScroll","baUtil","uiViewElement","hasAttr","configProvider","conf","theme","blur","colors","default","basic","defaultText","border","borderDark","primary","colorScheme","danger","primaryLight","tint","infoLight","successLight","warningLight","dangerLight","primaryDark","shade","infoDark","successDark","warningDark","dangerDark","dashboard","blueStone","dashboardColors","surfieGreen","silverTree","gossip","white","changeTheme","merge","changeColors","$get","provider","mix","color1","color2","weight","d2h","d","h2d","h","parseInt","color1Part","substr","color2Part","resultPart","Math","floor","slice","IMAGES_ROOT","constant","resWidthCollapseSidebar","resWidthHideSidebar","images","root","profile","amMap","amChart","color","themeRun","layoutPaths","preloader","baSidebarService","themeLayoutSettings","whatToWait","loadAmCharts","mobile","unshift","loadImg","all","$pageFinishedLoading","$baSidebarService","baConfig","isMobile","test","navigator","userAgent","mobileClass","blurClass","element","document","body","addClass","service","AreaCtrl","AreaService","CountryService","StateService","CityService","Init","getLoggedUserDetails","SelectedCompany","CompanyId","getAllArea","vm","AreaList","data","isLoading","getActiveCountry","CountryList","err","getStateListByCountryId","CountryId","callback","GetStateByCountryId","StateList","notify","area","selectedCountry","CountryName","selectedState","getCityListByStateId","StateId","GetCityByStateId","CityList","StateName","selectedCity","Create","isFormOpen","cancel","resetForm","areaForm","$setUntouched","editArea","isEditing","copy","c","CityId","removeArea","confirm","AreaId","SaveArea","loggedUser","AreaName","PinCode","Pincode","ModifiedBy","UserId","EditArea","IsSuccess","Message","CreatedBy","AddArea","changeActiveArea","msg2","this","rowCountOptions","value","noOfRows","currentPage","rembemberCurrentPage","num","isLogin","CityCtrl","getAllCity","objCountry","city","editCity","removeCity","SaveCity","logggedUser","IsActive","CityName","EditCity","AddCity","changeActiveCity","CompanyCtrl","CompanyService","Base64","$scope","$stateParams","pop","resolve","ModelView","Institution","editLogo","isEditingLogo","photoChanged","reader","FileReader","CompanyLogo","target","files","onload","imageIsLoaded","readAsDataURL","formData","FormData","append","updateLogo","getAllCompany","CompanyList","getallTypeofEducational","EducationList","RegAddress","company","selectedArea","getAreaListByCityId","GetAreaByCityId","logoUrl","val","Reset","InstitutionForm","editCompany","row","CompanyName","DOB","Date","DateofEstablishment","Totallandandarea","TotalInsLandandArea","ScondayEmail","SecondaryEmailId","MobileNumber","Landlineno","LandlineNo","principalname","NameofThePrincipal","Contactno","principalContactNumber","Admincoordinator","AuthorizedAdminCoordinator","Contactnumber","CoordinatorContactNumber","Foundername","FounderName","NumberofStudents","NumberofTeachingStaff","NumberofNonTeachingStaff","Websiteurl","WebsiteURL","PANnumber","PANNumber","TANnumber","TANNumber","AddressLine1","RegAddress1","AddressLine2","RegAddress2","RegPincode","CampAddrss","campusname","CampusName","CampusAdd1","CampusAdd2","EducationId","selectedEducation","LanguageList","LanguageId","Selectedlanguage","removeCompany","Generateotp","mobileno","mob","SaveCompany","getStateByCountryId","getCityByStateId","getAreaByCityId","PrimaryEmailId","PrimaryEmail","pincode","campus","isComAddSameAsPerAdd","CampusDetails","EditCompany","JSON","stringify","AddCompany","changeActiveCompany","selectedParent","disabled","date","mode","getDay","getDayClass","dayToCheck","setHours","events","currentDay","Languagename","update","$apply","today","dt","clear","inlineOptions","customClass","minDate","showWeeks","dateOptions","dateDisabled","formatYear","maxDate","startingDay","toggleMin","open1","popup1","opened","open2","popup2","open3","popup3","open4","popup4","setDate","year","month","day","formats","format","altInputFormats","tomorrow","getDate","afterTomorrow","PopupCtrl","$location","$uibModalInstance","dismiss","payment","otp","popup","VerifyOTP","OTPVerify","console","log","CountryCtrl","GetAllCountry_ByProc","isTableOpen","country","editCountry","changeActiveCountry","inActive","NewremoveCountry","inputdata","CountryCode","CurrencyName","CurrencyCode","CurrencySymbol","Process","SaveDeleteCountryMaster","SaveCountryNew","icountryId","SaveCountry","EditCountry","DashboardCtrl","$element","activate","DepartmentCtrl","DepartmentServices","getAllDepartments","DepartmentList","getSubCompByCompId","companyChanged","obj","dept","selectedCompany","UserCompanyId","Company","getDepOfParentCompanies","DepartmentActiveList","code","departmentForm","CheckDepartmentCode","CheckCode","Code","CheckCodeList","isCheck","EditDepartment","ParentId","isNoParent","DepartmentId","removeDepartment","SaveDepartment","undefined","AddDepartment","changeActiveDepartment","DesignationCtrl","DesignationService","getAllDesignation","DesignationList","getDepartmentListByCompanyId","GetDepartmentByCompanyId","desig","departmentSelectionChanged","getRepToDesig","selectedDepartment","DesignationActiveList","ParentName","desigForm","editDesignation","Superior","isNoSuperior","DesignationId","selectedSuperior","removeDesignation","SaveDesignation","EditDesignation","AddDesignation","changeActiveDesignation","directive","link","scope","attrs","bind","input","querySelector","setFocus","alert","id","focus","restrict","onChangeHandler","$eval","customOnChange","require","el","ngModel","$setViewValue","$render","modelCtrl","$parsers","inputValue","transformedInput","replace","otherModelValue","attributes","$validators","compareTo","modelValue","$watch","$validate","ngModelCtrl","isUndefined","clean","keyCode","preventDefault","$compile","$log","elem","ctrl","$set","maxlength","myMaxlength","template","attr","evt","select","newValue","parent","find","removeClass","selected","isAllSelected","isSelected","$sce","trustAsResourceUrl","recordingUrl","$parse","model","myDirectory","on","file","$watchCollection","newVal","s","a","TYPEAHEAD_REGEXP","parse","match","Error","itemName","source","viewMapper","modelMapper","$document","optionParser","originalScope","parseModel","parsedResult","local","label","checked","getHeaderText","$modelValue","header","isMultiple","validModel","required","selectSingle","uncheckAll","setModelValue","selectMultiple","markChecked","equals","exp","options","multiple","$new","changeHandler","change","noop","valid","$destroy","popUpEl","ngRequired","$observe","isDefined","oldVal","$setValidity","checkAll","toggleSelect","clickHandler","elementMatchesAnyInArray","tagName","unbind","$digest","isVisible","hasClass","searchBox","elementArray","EmployeeCtrl","EmployeeService","editProPic","isEditingProPic","empProfilePic","empId","updateProfilePic","GotoAcademicDetails","AcademicDetailsDetails","ExperienceDetails","GotoAreaandlanguagedetails","AreaExpertiseDetails","LanguagesSpokenDetails","GotoAccountDetails","EmployeeAccountDetails","getGraduationFiles","empGraduationDocs","ActionBy","loggedUserId","getAllEmployees","EmployeeList","getReportingToList","desigId","emp","selectedDesignation","getAllCompanyEmployees","ReportingtoList","isReporingToRequried","GetDesignationByDepartmentId","GetDesigByDepId","getAllEmpAcademicDetails","getAllEmpAcademyInfo","EmployeeAcademicList","getAllEmpExperienceDetails","getAllEmpExpInfo","EmployeeExperienceList","LanguageSpokenList","AreaofExpertiseList","empCom","EmpAddress","empPer","checkErr","errMessage","ProficiencyList","ProficiencyName","ProficiencyId","e","profilePicUrl","AddBankandPersonalDetails","EmployeeId","AccountNo","student","NameofTheBank","BankName","Branch","IFSCcode","IFSCCode","MICRcode","MICRCode","addNewEmpBankInfo","BloodGroup","AadhaarCardNo","Aadhaarcardno","PhysicallyHandicapped","Eligible","Physicallyhandicapted","Participatesports","Participate","Proficiency","AddStaffAreasofExpertise","SubjectField1","Areas","Subject1","SubjectField2","Subject2","SubjectField3","Subject3","Level1","Level2","Level3","addNewStaffAreasofExpertise","AddStaffLanguageSpoken","Language","Language1","Proficiency1","addNewStaffLanguageInfo","AddEmployeeExperience","Organization","emp2","Department","Designation","FromDate","ToDate","YearsofExperience","Remarks","addNewEmpExperience","RemoveEmployeeExp","expId","removeEmpExpInfo","AddEmployeeAcademic","empacademic","bool","emp1","Graduation","Degree","Specialization","University","Percentage","YearofPassing","YearsofPassing","addNewEmpAcademicInfo","RemoveEmployeeAcademic","removeEmpAcademyInfo","AcademyId","Years","getYear","Months","getMonth","totalmonths","totalexp","selectedReportingTo","EmployeeForm","EditEmployee","DOJ","staffdetails","StaffDetails","ProfilePhoto","Address1","PerAddress1","CommAddress1","Address2","PerAddress2","CommAddress2","Area","PerArea","CommArea","City","PerCity","CommCity","State","PerState","CommState","Country","PerCountry","CommCountry","PerPincode","CommPincode","EmailId","PerEmailId","CommEmailId","MobileNo","PerMobile","CommMobile","PerLandline","CommLandline","EmpAcademy","EmpExperience","ReportingTo","RemoveEmployee","changeActiveEmployee","SaveEmployee","Gender","MaritalStatus","KpostId","minAge","getFullYear","EmployeeChartCtrl","EmployeeChartService","convertImage","chartView","getElementById","imageView","html2canvas","onrendered","canvas","appendChild","getEmployeesChart","chart","allowCollapse","google","visualization","OrgChart","addListener","selection","getSelection","collapsed","getCollapsedNodes","collapse","setSelection","ExerciseCtrl","ClassRoomService","ChapterService","SectionService","SubjectService","UnitService","ExerciseService","GetAllExercise","ExerciseList","GetAllClassRoom","ClassRoomList","getSectionByClass","ClassId","callBack","exercise","selectedSection","SectionList","selectedSubject","SubjectList","UnitName","GetAllSectionByClass","selectedChapter","ChapterList","getSubjectBySection","SectionId","getAllSubjectBySection","getChapterBySubject","SubjectId","GetAllChapterBySubject","getUnitByChapters","ChapterId","selectedUnit","UnitList","GetAllUnitByChapter","editExecise","selectedClassRoom","UnitId","removeExercise","ExerciseId","SaveExercise","ExerciseName","updateExercise","institutionCtrl","getAllInstitutionIns","InstitutionInsId","InstitutionInsList","getAllInstitutionFund","InstitutionFundList","getAllEducationalSyllabus","EduSyllabusList","getAllMediumInstruction","MediumList","getAllEducationalSystem","EducationsystemList","SaveInstitution","InstitutionIns","InsFundedId","selectedInstitutionFund","EduSyllabusId","selectedEducationalSyllabus","EduSystemId","selectedMedium","MediumId","selectedEdusystem","selectedInstitutionname","AddInstitutionInsitiation","InstitutionInsForm","QuestionCtrl","QuestionService","OptionsList","GetAllQuestionandAnswer","QuestionList","res1","GetAllQuestionTypes","res2","QuestionTypesList","question","GetAllExerciseByUnit","selectedExercise","editQuestion","Options","QuestionTypeId","selectedQuestionTypes","Value","CorrectAnswer","selectedCorrectOption","removeQuestion","QuestionId","SavetheOptions","tmp","SaveQuestion","iOptions","iCorrectAnswer","QuestionTypes","Questions","QuestionNumber","updateQuestionandAnswer","RoleCtrl","RoleService","getAllRole","RoleList","role","roleForm","editRole","OrganizationList","OrganizationLevelId","selectedOrganization","removeRole","RoleId","SaveRole","EditRole","AddRole","changeActiveRole","isAuth","sessionStorage","getItem","localStorage","userName","FirstName","selectedCompanyName","login","username","password","authdata","encode","defaults","common","Authorization","post","response","setItem","setLoggedUserDetails","userDetails","inject","keyStr","chr1","chr2","enc1","enc2","enc3","output","chr3","enc4","charCodeAt","isNaN","charAt","decode","base64test","exec","window","String","fromCharCode","objGetEmpDTO","get","Mobileno","OtpValue","GetAllRefVideos","getAllEduInstitutionName","getAllOwnerShip","objOwner","getAllBusiness","objBusiness","getActiveCompany","getCompanyByOrgId","put","delete","companyId","Token","$inject","getActiveDepartments","getCompanyById","getDepartmentById","depId","getAllEmployeeList","AddEmployee","employee","GetEmpwithUserAc","UploadFiles","Content-Type","endpoint","getAllAreaofExpertiseInfo","AreaExpertiseId","getAllLanguageListInfo","StaffLanguagespokenId","addNewEmpPersonalInfo","removeEmpBankInfo","removeNewStaffAreasofExpertise","LocationSetupService","getLocationByBoQIoca","getAllLocationSetup","getAllLocationSetupById","AddLocationSetup","location","EditLocationSetup","removeLocationSetup","getAllLocationMaster","GetAllQuestion","updateQuestion","getConfig","getRoleMenuMapping","roleId","saveRoleMenuMapping","menuList","GetActiveRole","StudentService","getAllStudent","getStudentLoginDetails","UpdateUnit","SaveStudent","removeStudent","TierSetupService","getTierByBoQIoca","getAllTierSetup","LocationId","AddTierSetup","tier","updateTierSetup","removeTierSetup","UserService","getUserById","getAllApprovedContractor","getAllUsers","getUsersByCompanyId","compId","getUserCompanies","getUserMenuMapping","saveUserMenuMapping","UpdateSelectedCompany","userDtlObj","Edituser","user","createUser","createUserContractor","removeUser","CheckUserAccount","checkUserEmail","email","checkUsername","Username","UpdateUser","StateCtrl","getAllState","stateForm","editState","changeActiveState","removeState","SaveState","EditState","AddState","stateList","studentDetailsCtrl","Account","companyForm","TestCtrl","toastrLibConfig","toastrConfig","extend","closeHtml","containerId","animatedChange","changeValue","html","oldvalue","j","next","autoExpand","$event","$","height","scrollHeight","setTimeout","autoFocus","assign","includeWithScope","ele","ionSlider","min","max","prefix","maxPostfix","prettify","prettifySeparator","grid","gridMargin","postfix","step","hideMinMax","hideFromTo","from","to","disable","onChange","onFinish","values","timeout","ionRangeSlider","prettify_enabled","prettify_separator","ngFileSelect","srcElement","getFile","scrollPosition","maxHeight","scrollTop","prevScrollTop","trackWidth","minWidth","width","prevTrackWidth","resize","zoomIn","delay","baProgressModal","methods","progress","setProgress","getProgress","close","isDescendant","child","node","parentNode","hexToRGB","hex","alpha","r","g","b","attrName","fileReader","onLoad","deferred","onError","onProgress","$broadcast","total","loaded","getReader","onerror","onprogress","readAsDataUrl","src","img","Image","AmCharts","ready","stopableInterval","start","interval","calback","time","startInterval","LocationSetupCtrl","LocationSetupList","tierNameList","loc","Tiers","key","includes","addNewTier","newItemNo","tiers","tierName","Tier","removeTier","splice","editLocationSetup","forIn","tierValue","SaveLocationSetup","tierList","TierList","TierSetupCtrl","LocationList","filterTiers","isClearingTier","selectedTierValue","nextTier","getTierNo","TierType","currentTier","tierObj","TierSetupList","allTierData","TierName","ParentTierId","TierId","t","Values","tierNoToCheck","tierString","substring","getTiersByLocationId","selectedLocation","Tier1","properties","temp","IsAdding","saveNewTierValue","oldTierSelection","isAddingTier","isHideForm","TierValue","parentTier","oldTier","updateTierValue","tierToUpdate","isEdit","tierToRemove","cancelAdding","ClassRoomMappingCtrl","$filter","MappingService","class","GetAllClassMap","AllclassMapList","staff","getMaxTier","tierArr","maxTier","clearTierSelection","tempTier","Lastid","Saveclass","LastTierId","MapClassId","SaveSection","SaveClassRoomMap","editclass","StaffMappingCtrl","staffMapList","GetAllStaffMap","AllStaffMapList","editStaff","MapStaffId","selectedStaff","AddStaff","ClassName","SectionName","SubjectName","RemoveStaff","index","SaveStaff","UpdateStaffMap","Arr","StaffMappingList","section","RemoveStaffMap","timeTableMappingCtrl","timeTable","GetAllTimeTableMap","AllStaffTimeTableList","PeriodList","Period","Id","PeriodName","GetClassTeacher","arr2","arr1","value1","key1","value2","key2","ClassTeacherId","isTecCheck","ClassTeacherList","SavetimeTable","selectedClassTeacher","SubjectTeacherId","selectedSubjectTeacher","Day","selectedDay","selectedPeriod","MapTimeTableId","SaveTimeTableMap","edittimeTable","DayList","RemoveTimeTableMap","ChaptersCtrl","chapters","getAllChapters","getAllTerms","GetAllChapters","GetAllTerms","TermsList","IsTermAvailable","ChapterName","ChapterCode","SaveChapter","chap","selectedTerm","TermId","editChapter","removeChapter","ClassRoomCtrl","ClassRoom","SaveClassRoom","editClass","CreateLinkTextCtrl","ShowCreateBtn","ShowUpdateBtn","CreateLinkunit","radioDisable","Type","unit","videoList","PathIds","GetAllLinks","GetAllLinkUnits","UnitLinkList","SaveDocument","selectedFile","selectedFileType","FileTypeId","RelatedImageandVideoName","SaveDoc","msgText","DocList","SaveUploadLinks","LinksWord","SaveUploadedDocs","setPathIds","editLinkUnit","UploadTypeId","UpdateTextLinkId","TextLinkId","ButtonTypeIdCount","ButtonTypeId","PostContent","FileTypeList","SaveUnitLink","LinkHtmlPath","UpdateUnitLink","removeFile","RemoveDoc","FileUrl","RemoveUnitLink","VideoLinks","VideoLinksList","Refname","RefTypeId","FileTypeName","fileChanged","LinksUpdate","details","OpenWindow","HtmlPath","removeLinkUnit","RemoveTextLink","getClassRoom","MapVideosCtrl","GetVideoLinksByUnitId","unitid","showMapVideoForm","GetAllLinksByUnitId","AllVideoLinksList","GetTitleName","AllTitleNameList","SaveVideoLinksUnit","objUnit","VideoTypeId","mapvideo","selectedVideoType","TitleName","DeleteVideoLink","LinksId","ReferenceName","UnitType","VideoTypename","SectionCtrl","GetAllSection","editSection","SectionCode","removeSection","SubjectCtrl","subject","UpdateProfilePic","getAllSubject","getAllStandard","GetAllSubject","Class","SubjectCode","SaveSubject","editSubject","removeSubject","SaveSubject1","TermCtrl","getAllTermImg","GetAllTermImg","TermImgList","term","SaveTermImg","TermActivationCtrl","getSelectedTerm","GetSelectedTerm","SelectTerm","currentTerm","TermName","saveTermActivity","SaveTermActivity","TimetableCtrl","CreateTimeTable","GetClasstimings","Classtiming","GetLocation","Location","GetTimeTable","TimeTableDate","TimetableList","SaveTimeTable","timetale","ClassTimingsId","selectedTime","selectedSession","selectedTeacher","StaffId","GetStafflist","TeachersList","removeTimetable","DeleteTimetable","TimeTableId","UnitCtrl","RefId","GetAllUnits","GetAllVideoLinksUnit","VideoLinksUnitList","editUnit","editLinks","Links","SaveUnit","PostContentFile","UnitVideoLinkEntities","FileName","RemovevideoLinks","removeUnit","CopyFiles","unitmodalCtrl","closeModal","companySelectionChanged","saveFile","ThumbNailImage","SaveUnitModalFile","ThumbNailPath","ImageUrl","FilePathName","upload","CloseModalWindow","ThumbNail","ok","multipleuplaodCtrl","SaveMultipleFileuploads","Multiplelist","MultiplefileName","MutilplefileId","AddMultiFile","fileId","Multiple","Name","name","Size","FileId","getFiles","fileDetails","FileLength","imgarr","namesplit","split","formdata","productDetails","ProudctCode","ParentData","ProductCode","VariableId","ItemOfProductId","FileType","countFiles","RoleMenuMappingCtrl","init","selectedMenu","selectedRole","selectMenu","menu","errorList","collapseAll","expandAll","getAllAreaById","getCityById","getAllCountry","AddCountry","removeCountry","getCountryById","getStateById","GetStaffMapByDetails","GetAllStudentChapters","getallStudentSubject","SaveVideoLinks","GetLinkVideoInEdit","GetFileList","StudentRegistrationCtrl","GotoStudentAccountDetails","bankDetails","StudentId","StudentList","LoadClass","project","editStudent","isEditing1","StdPhotoUrl","StudentName","StudentDOB","StdGender","StdCaste","studentAddress","StdAddressLine","StdReligion","StdFatherName","StdCommunity","StdFatherMobileNo","StdKpostId","StdFatherKpostId","StdMotherName","StdMotherMobileNo","StdMotherKpostId","StdGuardianName","StdGuardianMobileNo","StdGuardianKpostId","EligibletogetFeeWavier","ParticipatinginanySports","StdPinCode","LevelofProficiency","AccountId","LoginCtrl","Password","testmethod","win","RegisterCtrl","isRegister","IsMenuClicked","CreateUserCtrl","UserList","designationSelectionChanged","EmpList","getApprovedContractor","ContractorList","empSelectionChaged","selectedEmployee","UserType","selectedContractor","ContractorId","ContractorName","form","isPwd","User","LastName","trim","validUserEmail","validUserName","saveUser","UserName","selectdep","selectdes","selectemp","isPwd1","editUser","Role","UserMenuMappingCtrl","selectedUser","SelectCompanyModalCtrl","reload","UserPrivilegeCtrl","backTop","position","speed","baPanel","baPanelClass","transclude","baPanelTitle","titleTpl","baPanelBlur","baPanelBlurHelper","bodyBgSize","bodyBgLoad","getBodyBgImageSizes","addEventListener","recalculatePanelStyle","css","backgroundSize","round","backgroundPosition","positionX","positionY","$isMobile","removeEventListener","computedStyle","getComputedStyle","image","backgroundImage","elemW","documentElement","clientWidth","elemH","clientHeight","finalHeight","finalWidth","imgRatio","containerRatio","baPanelSelf","baSidebar","layoutSizes","jqWindow","_onWindowClick","$evt","originalEvent","$sidebarEventProcessed","isMenuCollapsed","canSidebarBeHidden","setMenuCollapsed","_onWindowResize","newMenuCollapsed","shouldMenuBeCollapsed","newMenuHeight","_calculateMenuHeight","menuHeight","childNodes","off","staticMenuItems","addStaticItem","apply","arguments","_factory","defineMenuItemStates","map","meta","level","stateRef","sort","innerWidth","getMenuItems","states","menuItems","children","subMenu","concat","isCollapsed","toggleMenuCollapsed","getAllStateRefsRecursive","_iterateSubItems","currentItem","subItem","BaSidebarCtrl","getSubMenus","defaultSidebarState","subMenuList","MenuName","MenuIcon","MenuUrl","MenuOrder","SubMenuItems","hoverItem","showHoverElem","hoverElemHeight","currentTarget","menuTopValue","hoverElemTop","getBoundingClientRect","top","Showgrid","baSidebarToggleMenu","baSidebarCollapseMenu","baSidebarTogglingItem","BaSidebarTogglingItemCtrl","$attrs","_isState","subItemsStateRefs","some","subItemState","menuItem","$$menuItem","$$expandSubmenu","warn","$$collapseSubmenu","$expand","$collapse","$toggle","current","baUiSrefTogglingSubmenu","slideDown","slideUp","baUiSrefToggler","baWizard","baWizardCtrl","calcProgress","tabNum","tabs","addTab","tab","setPrev","selectTab","submit","isAvailiable","tIndex","isFirstTab","isLastTab","nextTab","previousTab","baWizardStep","wizard","$setSubmitted","isComplete","$valid","prevTab","pTab","contentTop","activePageTitle","msgCenter","MsgCenterCtrl","users","0","1","2","3","notifications","messages","getMessage","trustAsHtml","pageTop","progressBarRound","animateBar","circle","setAttribute","PI","baProgressDialog","widgets","appImage","kameleonImg","profilePicture","ext","plainText","baSwitcher","switcherStyle","switcherValue","o","fn","n","right","bottom","scroll","fadeIn","fadeOut","click","animate","duration","jQuery","$templateCache"],"mappings":"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","file":"scripts/app-2d5cfdfe58.js","sourcesContent":["\r\n\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.pages', [\r\n 'ui.router',\r\n\r\n 'KPMES.pages.services',\r\n 'KPMES.pages.dashboard',\r\n 'KPMES.pages.user',\r\n 'KPMES.pages.role',\r\n 'KPMES.pages.designation',\r\n 'KPMES.pages.city',\r\n 'KPMES.pages.state',\r\n 'KPMES.pages.company',\r\n 'KPMES.pages.country',\r\n 'KPMES.pages.state',\r\n 'KPMES.pages.area',\r\n 'KPMES.pages.department',\r\n 'KPMES.pages.employee',\r\n 'KPMES.pages.employeeChart',\r\n 'KPMES.pages.test',\r\n 'KPMES.pages.master',\r\n 'KPMES.pages.student',\r\n 'KPMES.pages.location',\r\n 'KPMES.pages.mapping',\r\n 'KPMES.pages.institution',\r\n 'KPMES.pages.studentDetails',\r\n 'KPMES.pages.EducationType',\r\n 'KPMES.pages.questionandAnswer',\r\n 'KPMES.pages.exercise' \r\n\r\n ]).config(routeConfig);\r\n\r\n /** @ngInject */\r\n function routeConfig($urlRouterProvider, baSidebarServiceProvider) {\r\n $urlRouterProvider.otherwise('/login');\r\n\r\n // baSidebarServiceProvider.addStaticItem({\r\n // title: 'Pages',\r\n // icon: 'ion-document',\r\n // subMenu: [{\r\n // title: 'Sign In',\r\n // fixedHref: 'auth.html',\r\n // blank: true\r\n // }\r\n // , {\r\n // title: 'Sign Up',\r\n // fixedHref: 'reg.html',\r\n // blank: true\r\n // }, {\r\n // title: 'User Profile',\r\n // stateRef: 'profile'\r\n // }, {\r\n // title: '404 Page',\r\n // fixedHref: '404.html',\r\n // blank: true\r\n // }\r\n // ]\r\n\r\n // });\r\n }\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme', [\r\n 'toastr',\r\n 'chart.js',\r\n 'angular-chartist',\r\n 'angular.morris-chart',\r\n 'textAngular',\r\n 'KPMES.theme.components',\r\n 'KPMES.theme.inputs'\r\n ]);\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.pages.area',[])\r\n .config(routeConfig);\r\n\r\n /** @ngInject */\r\n function routeConfig($stateProvider) {\r\n $stateProvider\r\n .state('area', {\r\n url: '/area',\r\n templateUrl: 'app/pages/area/area.html',\r\n title: 'Area',\r\n controller: 'AreaCtrl',\r\n controllerAs: 'vm',\r\n sidebarMeta: {\r\n order: 0,\r\n icon: 'fa fa-area-chart'\r\n },\r\n });\r\n }\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.pages.city', [])\r\n .config(routeConfig);\r\n\r\n /** @ngInject */\r\n function routeConfig($stateProvider) {\r\n $stateProvider\r\n .state('city', {\r\n url: '/city',\r\n templateUrl: 'app/pages/city/City.html',\r\n title: 'City',\r\n controller: 'CityCtrl',\r\n controllerAs: 'vm',\r\n sidebarMeta: {\r\n order: 0,\r\n icon: 'fa fa-building'\r\n },\r\n });\r\n }\r\n})();\n(function() {\r\n 'use strict';\r\n\r\n angular.module('KPMES.pages.company', [])\r\n .config(routeConfig);\r\n\r\n /** @ngInject */\r\n function routeConfig($stateProvider) {\r\n $stateProvider\r\n .state('company', {\r\n url: '/company?type',\r\n templateUrl: 'app/pages/company/company.html',\r\n title: 'Institutiton',\r\n controller: 'CompanyCtrl',\r\n controllerAs: 'vm',\r\n \r\n sidebarMeta: {\r\n order: 0,\r\n icon: 'fa fa-globe'\r\n },\r\n params:{type:null }\r\n })\r\n }\r\n})();\r\n\r\n\r\n\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.pages.country', [])\r\n .config(routeConfig);\r\n\r\n /** @ngInject */\r\n function routeConfig($stateProvider) {\r\n $stateProvider\r\n .state('country', {\r\n url: '/country',\r\n templateUrl: 'app/pages/country/country.html',\r\n title: 'Country',\r\n controller: 'CountryCtrl',\r\n controllerAs: 'vm',\r\n sidebarMeta: {\r\n order: 0,\r\n icon: 'fa fa-flag-o'\r\n },\r\n });\r\n }\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.pages.dashboard', [])\r\n .config(routeConfig);\r\n\r\n /** @ngInject */\r\n function routeConfig($stateProvider) {\r\n $stateProvider\r\n .state('dashboard', {\r\n url: '/home',\r\n templateUrl: 'app/pages/dashboard/dashboard.html',\r\n title: 'Home',\r\n controller: 'DashboardCtrl',\r\n controllerAs: 'vm',\r\n sidebarMeta: {\r\n order: 0,\r\n icon: 'fa fa-home'\r\n },\r\n });\r\n }\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.pages.department', [])\r\n .config(routeConfig);\r\n\r\n /** @ngInject */\r\n function routeConfig($stateProvider) {\r\n $stateProvider\r\n .state('department', {\r\n url: '/department',\r\n templateUrl: 'app/pages/department/department.html',\r\n title: 'Department',\r\n controller: 'DepartmentCtrl',\r\n controllerAs: 'vm',\r\n sidebarMeta: {\r\n order: 0,\r\n icon: 'fa fa-industry'\r\n },\r\n });\r\n }\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.pages.designation', [])\r\n .config(routeConfig);\r\n\r\n /** @ngInject */\r\n function routeConfig($stateProvider) {\r\n $stateProvider\r\n .state('designation', {\r\n url: '/designation',\r\n templateUrl: 'app/pages/designation/Designation.html',\r\n title: 'Designation',\r\n controller: 'DesignationCtrl',\r\n controllerAs: 'vm',\r\n sidebarMeta: {\r\n order: 0,\r\n icon: 'fa fa-cog'\r\n },\r\n });\r\n }\r\n})();\n(function () {\r\n 'use strict';\r\n \r\n angular.module('KPMES.pages.EducationType', [])\r\n .config(routeConfig);\r\n \r\n /** @ngInject */\r\n function routeConfig($stateProvider) {\r\n $stateProvider\r\n .state('EducationType', {\r\n url: '/educationtype',\r\n templateUrl: 'app/pages/EducationType/educationType.html',\r\n title: 'Type of Educational',\r\n controller: 'EducationTypeCtrl',\r\n controllerAs: 'vm',\r\n sidebarMeta: {\r\n order: 0,\r\n icon: 'fa fa-cog'\r\n },\r\n });\r\n }\r\n })();\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.pages.employee', [])\r\n .config(routeConfig);\r\n\r\n /** @ngInject */\r\n function routeConfig($stateProvider) {\r\n $stateProvider\r\n .state('employee', {\r\n url: '/employee',\r\n templateUrl: 'app/pages/employee/employee.html',\r\n title: 'Staff Details',\r\n controller: 'EmployeeCtrl',\r\n controllerAs: 'vm',\r\n sidebarMeta: {\r\n order: 0,\r\n icon: 'icon icons8-Org-Unit'\r\n },\r\n });\r\n }\r\n})();\n(function() {\r\n 'use strict';\r\n\r\n angular.module('KPMES.pages.employeeChart', [])\r\n .config(routeConfig);\r\n\r\n /** @ngInject */\r\n function routeConfig($stateProvider) {\r\n $stateProvider\r\n .state('employeeChart', {\r\n url: '/employeeChart',\r\n templateUrl: 'app/pages/employeeChart/employeeChart.html',\r\n title: 'Employee Chart',\r\n controller: 'EmployeeChartCtrl',\r\n controllerAs: 'vm',\r\n sidebarMeta: {\r\n order: 0,\r\n icon: 'icon icons8-Org-Unit'\r\n },\r\n });\r\n }\r\n})();\n(function () {\r\n 'use strict';\r\n \r\n angular.module('KPMES.pages.exercise', [])\r\n .config(routeConfig);\r\n \r\n /** @ngInject */\r\n function routeConfig($stateProvider) {\r\n $stateProvider\r\n .state('exercise', {\r\n url: '/exercise',\r\n templateUrl: 'app/pages/exercise/exercise.html',\r\n title: 'Exercises',\r\n controller: 'ExerciseCtrl',\r\n controllerAs: 'vm',\r\n sidebarMeta: {\r\n order: 0,\r\n icon: 'fa fa-user'\r\n },\r\n });\r\n }\r\n })();\n(function () {\r\n 'use strict';\r\n \r\n angular.module('KPMES.pages.institution', [])\r\n .config(routeConfig);\r\n \r\n /** @ngInject */\r\n function routeConfig($stateProvider) {\r\n $stateProvider\r\n .state('institution', {\r\n url: '/institution',\r\n templateUrl: 'app/pages/institution/institution.html',\r\n title: 'Institution',\r\n controller: 'institutionCtrl',\r\n controllerAs: 'vm',\r\n sidebarMeta: {\r\n order: 0,\r\n icon: 'fa fa-cog'\r\n },\r\n });\r\n }\r\n })();\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.pages.location', [])\r\n .config(routeConfig);\r\n\r\n /** @ngInject */\r\n function routeConfig($stateProvider) {\r\n $stateProvider\r\n .state('tierSetup', {\r\n url: '/tier-setup',\r\n templateUrl: 'app/pages/Location/tierSetup/tierSetup.html',\r\n title: 'Tier Setup',\r\n controller: 'TierSetupCtrl',\r\n controllerAs: 'vm',\r\n }).state('locationSetup', {\r\n url: '/location-Setup',\r\n templateUrl: 'app/pages/Location/locationSetup/locationSetup.html',\r\n title: 'Location setup',\r\n controller: 'LocationSetupCtrl',\r\n controllerAs: 'vm'\r\n });\r\n }\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.pages.mapping', [])\r\n .config(routeConfig);\r\n\r\n /** @ngInject */\r\n function routeConfig($stateProvider) {\r\n $stateProvider\r\n .state('staffMapping', {\r\n url: '/staffMapping',\r\n templateUrl: 'app/pages/mapping/staffMapping/staffMapping.html',\r\n title: 'Staff Mapping',\r\n controller: 'StaffMappingCtrl',\r\n controllerAs: 'vm',\r\n }).state('classMapping', {\r\n url: '/classMapping',\r\n templateUrl: 'app/pages/mapping/classRoomMapping/classRoomMapping.html',\r\n title: 'Class Room Mapping',\r\n controller: 'ClassRoomMappingCtrl',\r\n controllerAs: 'vm',\r\n }).state('timeTableMapping', {\r\n url: '/timeTableMapping',\r\n templateUrl: 'app/pages/mapping/timeTableMapping/timeTableMapping.html',\r\n title: 'Time Table Mapping',\r\n controller: 'timeTableMappingCtrl',\r\n controllerAs: 'vm',\r\n });\r\n }\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.pages.master', [])\r\n .config(routeConfig);\r\n\r\n /** @ngInject */\r\n function routeConfig($stateProvider) {\r\n $stateProvider\r\n .state('classRoom', {\r\n url: '/classRoom',\r\n templateUrl: 'app/pages/masters/classRoom/classRoom.html',\r\n title: 'Standard',\r\n controller: 'ClassRoomCtrl',\r\n controllerAs: 'vm',\r\n sidebarMeta: {\r\n order: 0,\r\n icon: 'fa fa-flag-o'\r\n },\r\n }).state('section', {\r\n url: '/section',\r\n templateUrl: 'app/pages/masters/section/section.html',\r\n title: 'Section',\r\n controller: 'SectionCtrl',\r\n controllerAs: 'vm'\r\n }).state('subject', {\r\n url: '/subject',\r\n templateUrl: 'app/pages/masters/subject/subject.html',\r\n title: 'Subject',\r\n controller: 'SubjectCtrl',\r\n controllerAs: 'vm'\r\n }).state('chapters', {\r\n url: '/chapters',\r\n templateUrl: 'app/pages/masters/chapters/chapters.html',\r\n title: 'Chapters',\r\n controller: 'ChaptersCtrl',\r\n controllerAs: 'vm'\r\n }).state('CreateLinkText', {\r\n url: '/createlink',\r\n templateUrl: 'app/pages/masters/CreateLinkText/createlinktext.html',\r\n title: 'Create Link',\r\n controller: 'CreateLinkTextCtrl',\r\n controllerAs: 'vm'\r\n }).state('unit', {\r\n url: '/unit',\r\n templateUrl: 'app/pages/masters/unit/unit.html',\r\n title: 'Content',\r\n controller: 'UnitCtrl',\r\n controllerAs: 'vm'\r\n }).state('timetable', {\r\n url: '/timetable',\r\n templateUrl: 'app/pages/masters/timetable/timetable.html',\r\n title: 'Content',\r\n controller: 'TimetableCtrl',\r\n controllerAs: 'vm'\r\n }).state('mapvideo', {\r\n url: '/mapvideo',\r\n templateUrl: 'app/pages/masters/MapVideos/MapVideos.html',\r\n title: 'Content',\r\n controller: 'MapVideosCtrl',\r\n controllerAs: 'vm'\r\n }).state('termactivation', {\r\n url: '/termactivation',\r\n templateUrl: 'app/pages/masters/TermActivation/TermActivation.html',\r\n title: 'TermActivation',\r\n controller: 'TermActivationCtrl',\r\n controllerAs: 'vm'\r\n }).state('term', {\r\n url: '/term',\r\n templateUrl: 'app/pages/masters/Term/Term.html',\r\n title: 'Term',\r\n controller: 'TermCtrl',\r\n controllerAs: 'vm'\r\n })\r\n // .state('exercise', {\r\n // url: '/exercise',\r\n // templateUrl: 'app/pages/masters/exercise/exercise.html',\r\n // title: 'Exercise',\r\n // controller: 'ExerciseCtrl',\r\n // controllerAs: 'vm'\r\n // });\r\n }\r\n})();\n(function () {\r\n 'use strict';\r\n \r\n angular.module('KPMES.pages.questionandAnswer', [])\r\n .config(routeConfig);\r\n \r\n /** @ngInject */\r\n function routeConfig($stateProvider) {\r\n $stateProvider\r\n .state('questionandAnswer', {\r\n url: '/questionandAnswer',\r\n templateUrl: 'app/pages/questionandAnswer/question.html',\r\n title: 'Question And Answer',\r\n controller: 'QuestionCtrl',\r\n controllerAs: 'vm',\r\n sidebarMeta: {\r\n order: 0,\r\n icon: 'fa fa-user'\r\n },\r\n });\r\n }\r\n })();\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.pages.role', [])\r\n .config(routeConfig);\r\n\r\n /** @ngInject */\r\n function routeConfig($stateProvider) {\r\n $stateProvider\r\n .state('role', {\r\n url: '/role-master',\r\n templateUrl: 'app/pages/role/role.html',\r\n title: 'Role',\r\n controller: 'RoleCtrl',\r\n controllerAs: 'vm',\r\n sidebarMeta: {\r\n order: 0,\r\n icon: 'fa fa-user'\r\n },\r\n }).state('roleMenuMapping', {\r\n url: '/role-menu-mapping',\r\n templateUrl: 'app/pages/role/roleMenuMapping/roleMenuMapping.html',\r\n title: 'Role Menu Mapping',\r\n controller: 'RoleMenuMappingCtrl',\r\n controllerAs: 'vm',\r\n sidebarMeta: {\r\n order: 112,\r\n icon: ''\r\n },\r\n });\r\n }\r\n})();\n(function() {\r\n 'use strict';\r\n\r\n angular.module('KPMES.pages.services', []);\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.pages.state', [])\r\n .config(routeConfig);\r\n\r\n /** @ngInject */\r\n function routeConfig($stateProvider) {\r\n $stateProvider\r\n .state('state', {\r\n url: '/state',\r\n templateUrl: 'app/pages/state/state.html',\r\n title: 'State',\r\n controller: 'StateCtrl',\r\n controllerAs: 'vm',\r\n sidebarMeta: {\r\n order: 0,\r\n icon: 'fa fa-location-arrow'\r\n },\r\n });\r\n }\r\n})();\n(function () {\r\n 'use strict';\r\n \r\n angular.module('KPMES.pages.student', [])\r\n .config(routeConfig);\r\n \r\n /** @ngInject */\r\n function routeConfig($stateProvider) {\r\n $stateProvider\r\n .state('studentRegistration', {\r\n url: '/studentRegistration',\r\n templateUrl: 'app/pages/student/studentRegistration/studentRegistration.html',\r\n title: 'Student',\r\n controller: 'StudentRegistrationCtrl',\r\n controllerAs: 'vm',\r\n sidebarMeta: {\r\n order: 0,\r\n icon: 'fa fa-user'\r\n },\r\n });\r\n }\r\n })();\n(function () {\r\n 'use strict';\r\n \r\n angular.module('KPMES.pages.studentDetails', [])\r\n .config(routeConfig);\r\n \r\n /** @ngInject */\r\n function routeConfig($stateProvider) {\r\n $stateProvider\r\n .state('studentDetails', {\r\n url: '/studentDetails',\r\n templateUrl: 'app/pages/studentDetails/studentDetails.html',\r\n title: 'studentDetails',\r\n controller: 'studentDetailsCtrl',\r\n controllerAs: 'vm',\r\n sidebarMeta: {\r\n order: 0,\r\n icon: 'icon icons8-Org-Unit'\r\n },\r\n });\r\n }\r\n })();\n(function () {\r\n 'use strict';\r\n \r\n angular.module('KPMES.pages.test', [])\r\n .config(routeConfig);\r\n \r\n /** @ngInject */\r\n function routeConfig($stateProvider) {\r\n $stateProvider\r\n .state('test', {\r\n url: '/test',\r\n templateUrl: 'app/pages/test/test.html',\r\n title: 'Test',\r\n controller: 'TestCtrl',\r\n controllerAs: 'vm',\r\n sidebarMeta: {\r\n order: 0,\r\n icon: 'fa fa-flag-o'\r\n },\r\n });\r\n }\r\n })();\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.pages.user', [\r\n 'KPMES.pages.user.login',\r\n 'KPMES.pages.user.Register'\r\n ]).config(routeConfig);\r\n\r\n function routeConfig($stateProvider) {\r\n $stateProvider\r\n .state('userMenuMapping', {\r\n url: '/user-menu-mapping',\r\n templateUrl: 'app/pages/user/userMenuMapping/userMenuMapping.html',\r\n title: 'User Menu Mapping',\r\n controller: 'UserMenuMappingCtrl',\r\n controllerAs: 'vm',\r\n sidebarMeta: {\r\n order: 122,\r\n icon: ''\r\n },\r\n }).state('createUser', {\r\n url: '/create-user',\r\n templateUrl: 'app/pages/user/userCreation/createUser.html',\r\n title: 'Add User',\r\n controller: 'CreateUserCtrl',\r\n controllerAs: 'vm',\r\n sidebarMeta: {\r\n order: 122,\r\n icon: ''\r\n },\r\n }).state('userPrivilege', {\r\n url: '/user-privilege',\r\n templateUrl: 'app/pages/user/userPrivilege/userPrivilege.html',\r\n title: 'Project Level Privilege',\r\n controller: 'UserPrivilegeCtrl',\r\n controllerAs: 'vm'\r\n });\r\n }\r\n})();\n/**\r\n * @author v.lugovksy\r\n * created on 16.12.2015\r\n */\r\n/**\r\n * @author v.lugovsky\r\n * created on 16.12.2015\r\n */\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme.components', []);\r\n\r\n})();\r\n\n/**\r\n * @author v.lugovsky\r\n * created on 10.12.2016\r\n */\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme.inputs', []);\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.pages.user.login', [])\r\n .config(routeConfig);\r\n\r\n function routeConfig($stateProvider) {\r\n $stateProvider\r\n .state('login', {\r\n url: '/login',\r\n templateUrl: 'app/pages/user/login/login.html',\r\n title: 'Login',\r\n controller: 'LoginCtrl',\r\n controllerAs: 'vm',\r\n sidebarMeta: {\r\n order: 0,\r\n icon: 'fa fa-login'\r\n },\r\n });\r\n }\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.pages.user.Register', [])\r\n .config(routeConfig);\r\n\r\n function routeConfig($stateProvider) {\r\n $stateProvider\r\n .state('register', {\r\n url: '/register',\r\n templateUrl: 'app/pages/user/register/register.html',\r\n title: 'Registration',\r\n controller: 'RegisterCtrl',\r\n controllerAs: 'vm',\r\n sidebarMeta: {\r\n order: 0,\r\n icon: 'fa fa-login'\r\n },\r\n });\r\n }\r\n})();\n'use strict';\r\n// google.load('visualization', '1', {\r\n// packages: ['orgchart']\r\n// });\r\n// google.setOnLoadCallback(function() {\r\n// angular.bootstrap(document.body, ['KPMES']);\r\n// });\r\nangular.module('KPMES', [\r\n 'ngAnimate',\r\n 'ui.bootstrap',\r\n 'ui.sortable',\r\n 'ui.router',\r\n 'ui.bootstrap.tpls',\r\n 'ngTouch',\r\n 'toastr',\r\n 'smart-table',\r\n \"xeditable\",\r\n 'ui.slimscroll',\r\n 'ngJsTree',\r\n 'angular-progress-button-styles',\r\n 'ngLodash',\r\n 'dialogs.main',\r\n 'ui.select',\r\n 'ui.multiselect',\r\n 'chart.js',\r\n 'ui.tree',\r\n 'ui.grid',\r\n 'ui.grid.grouping',\r\n 'pascalprecht.translate',\r\n 'googlechart',\r\n //'gm',\r\n 'KPMES.theme',\r\n 'KPMES.pages',\r\n 'ui.toggle',\r\n 'angular.filter',\r\n 'ngclipboard',\r\n 'ui.bootstrap.dropdownToggle',\r\n 'angularSpectrumColorpicker'\r\n ])\r\n // .service('authInterceptor',['$q','$state', function ($q, $state) {\r\n // var service = this;\r\n\r\n // service.responseError = function (response) {\r\n // if (response.status == 401) {\r\n // $rootScope.logout();\r\n // }\r\n // return $q.reject(response);\r\n // };\r\n // }])\r\n // .config(['$httpProvider', function ($httpProvi`der) {\r\n // $httpProvider.interceptors.push('authInterceptor');\r\n // }])\r\n .config([\"$locationProvider\", \"$translateProvider\", \"dialogsProvider\", \"$httpProvider\", function ($locationProvider, $translateProvider, dialogsProvider, $httpProvider) {\r\n $httpProvider.interceptors.push('httpRequestInterceptor');\r\n $httpProvider.interceptors.push(function ($q, $rootScope) {\r\n return {\r\n 'responseError': function (rejection) {\r\n var defer = $q.defer();\r\n if (rejection.status === 401) {\r\n $rootScope.logout();\r\n }\r\n defer.reject(rejection);\r\n return defer.promise;\r\n }\r\n };\r\n });\r\n dialogsProvider.useBackdrop('static');\r\n dialogsProvider.useEscClose(false);\r\n dialogsProvider.useCopy(false);\r\n dialogsProvider.setSize('sm');\r\n\r\n $translateProvider.translations('en-US', {\r\n DIALOGS_ERROR: \"Error\",\r\n DIALOGS_ERROR_MSG: \"An unknown error has occurred.\",\r\n DIALOGS_CLOSE: \"Close\",\r\n DIALOGS_PLEASE_WAIT: \"Please wait\",\r\n DIALOGS_PLEASE_WAIT_ELIPS: \"Please wait...\",\r\n DIALOGS_PLEASE_WAIT_MSG: \"Waiting for the operation to complete.\",\r\n DIALOGS_PERCENT_COMPLETE: \"% Completed\",\r\n DIALOGS_NOTIFICATION: \"Notification\",\r\n DIALOGS_NOTIFICATION_MSG: \"Notification of application Unknown.\",\r\n DIALOGS_CONFIRMATION: \"Confirmation\",\r\n DIALOGS_CONFIRMATION_MSG: \"Confirmation required.\",\r\n DIALOGS_OK: \"Ok\",\r\n DIALOGS_YES: \"Yes\",\r\n DIALOGS_NO: \"No\"\r\n });\r\n\r\n $translateProvider.preferredLanguage('en-US');\r\n $locationProvider.html5Mode({\r\n enabled: true,\r\n requireBase: true\r\n });\r\n }])\r\n .run(['$rootScope', 'toastr', '$http', '$state', 'AuthenticationService', 'dialogs', '$translate', '$uibModal', 'lodash', '$window', '$timeout',\r\n function ($rootScope, toastr, $http, $state, AuthenticationService, dialogs, $translate, $uibModal, lodash, $window, $timeout) {\r\n\r\n // $rootScope.endPoint = \"http://localhost:61368/\";\r\n // $rootScope.endPoint = \"http://192.168.2.202:5500/\";\r\n $rootScope.endPoint = \"http://api.ksmartbook.com/\";\r\n // $rootScope.endPoint = \"http://cbseapi.ksmartbook.com/\";\r\n // $rootScope.endPoint = \"http://49.207.183.105:7000/\"; \r\n // $rootScope.endPoint = \"http://192.168.2.202/KEducation/\";\r\n // $rootScope.endPoint = \"http://192.168.2.202:9100/\";\r\n // $rootScope.isLogin = true;\r\n // $rootScope.BaseUrl = \"http://192.168.2.202:2911/\";\r\n // $rootScope.endPoint = \"http://192.168.2.202:8001/\";\r\n // $rootScope.endPoint = \"http://192.168.2.202:2500/\";\r\n // $rootScope.endPoint = \"http://localhost:1200/\";\r\n\r\n $translate.use('en-US');\r\n\r\n\r\n \r\n $rootScope.$on(\"$stateChangeStart\", function (event, toState, toParams, fromState, fromParams) {\r\n \r\n // $rootScope.previousState = fromState.name;\r\n // if (!$rootScope.isAuth && toState.name != 'login' && toState.name != 'company') {\r\n // // User isn’t authenticated\r\n // dialogs.notify('Invalid Access', 'Either your session expired or you are logged out.', {\r\n // animation: true,\r\n // size: 'sm'\r\n // });\r\n // $rootScope.logout();\r\n // event.preventDefault();\r\n // } else {\r\n // // If user authenticated\r\n // // for each state retrive permitted action list of the user.\r\n // //$timeout(function() {\r\n // $rootScope.menuList = JSON.parse($window.localStorage.getItem('userMenus'));\r\n // var menuList = flatten($rootScope.menuList);\r\n // $rootScope.ActiveMenu = lodash.head(lodash.filter(menuList, {\r\n // 'MenuUrl': toState.name\r\n // }));\r\n // //}, 60);\r\n // }\r\n });\r\n\r\n $rootScope.checkPermission = function (actionName) {\r\n var res = lodash.filter($rootScope.ActiveMenu.MenuAction, {\r\n 'ActionName': actionName\r\n })\r\n if (res.length > 0)\r\n return true;\r\n else\r\n return false;\r\n }\r\n\r\n function flatten(menuList) {\r\n return lodash.flatMap(menuList, function (menu) {\r\n return menu.SubMenuItems.length > 0 ? flatten(menu.SubMenuItems) : menu;\r\n });\r\n }\r\n\r\n $rootScope.openSelectCompanyModal = function () {\r\n var modalInstance = $uibModal.open({\r\n animation: true,\r\n ariaLabelledBy: 'Select Company',\r\n ariaDescribedBy: 'Select Company',\r\n templateUrl: 'app/pages/user/userModals/selectCompanyModal.html',\r\n controller: 'SelectCompanyModalCtrl',\r\n controllerAs: 'vm',\r\n size: 'md',\r\n backdrop: 'static',\r\n keyboard: false\r\n // resolve: {\r\n // items: function () {\r\n // return $ctrl.items;\r\n // }\r\n // }\r\n });\r\n modalInstance.result.then(function (selectedItem) {\r\n //$ctrl.selected = selectedItem;\r\n }, function () {\r\n //$log.info('Modal dismissed at: ' + new Date());\r\n });\r\n }\r\n\r\n $rootScope.logout = function () {\r\n // AuthenticationService.logout();\r\n $state.go('login');\r\n }\r\n\r\n $rootScope.differenceInDays = function (startDate, endDate) {\r\n return (endDate - startDate) / (1000 * 60 * 60 * 24);\r\n }\r\n\r\n $rootScope.showToaster = function (type, msg, title) {\r\n var toastConfig = {\r\n \"autoDismiss\": true,\r\n \"positionClass\": \"toast-top-right\",\r\n \"type\": \"\",\r\n \"timeOut\": \"3000\",\r\n \"extendedTimeOut\": \"1000\",\r\n \"allowHtml\": true,\r\n \"closeButton\": true,\r\n \"tapToDismiss\": true,\r\n \"progressBar\": false,\r\n \"newestOnTop\": true,\r\n \"maxOpened\": 0,\r\n \"preventDuplicates\": true,\r\n \"preventOpenDuplicates\": true\r\n };\r\n\r\n switch (type) {\r\n case 'error':\r\n toastConfig.type = 'error';\r\n toastr.error(msg, title, toastConfig);\r\n break;\r\n case 'info':\r\n toastConfig.type = 'error';\r\n toastr.info(msg, title, toastConfig);\r\n break;\r\n case 'success':\r\n toastConfig.type = 'success';\r\n toastr.success(msg, title, toastConfig);\r\n break;\r\n case 'warning':\r\n toastConfig.type = 'warning';\r\n toastr.warning(msg, title, toastConfig);\r\n break;\r\n default:\r\n toastConfig.type = 'info';\r\n toastr.info(msg, title, toastConfig);\r\n break;\r\n }\r\n }\r\n }\r\n ])\r\n /** @ngInject */\r\n .factory('httpRequestInterceptor', ['$rootScope', function ($rootScope) {\r\n return {\r\n request: function (config) {\r\n config.headers[\"Token\"] = $rootScope.token;\r\n if ($rootScope.ActiveMenu)\r\n config.headers[\"MenuId\"] = $rootScope.ActiveMenu.MenuId;\r\n config.headers[\"UserId\"] = $rootScope.userId;\r\n return config;\r\n }\r\n };\r\n }])\r\n\r\n .filter('propsFilter', function () {\r\n return function (items, props) {\r\n var out = [];\r\n\r\n if (angular.isArray(items)) {\r\n var keys = Object.keys(props);\r\n\r\n items.forEach(function (item) {\r\n var itemMatches = false;\r\n\r\n for (var i = 0; i < keys.length; i++) {\r\n var prop = keys[i];\r\n var text = props[prop].toLowerCase();\r\n if (item[prop].toString().toLowerCase().indexOf(text) !== -1) {\r\n itemMatches = true;\r\n break;\r\n }\r\n }\r\n if (itemMatches) {\r\n out.push(item);\r\n }\r\n });\r\n } else {\r\n // Let the output be the input untouched\r\n out = items;\r\n }\r\n return out;\r\n };\r\n });\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme')\r\n .config(config);\r\n\r\n /** @ngInject */\r\n function config(baConfigProvider, colorHelper, $provide) {\r\n $provide.decorator('$uiViewScroll', uiViewScrollDecorator);\r\n //baConfigProvider.changeTheme({blur: true});\r\n //\r\n //baConfigProvider.changeColors({\r\n // default: 'rgba(#000000, 0.2)',\r\n // defaultText: '#ffffff',\r\n // dashboard: {\r\n // white: '#ffffff',\r\n // },\r\n //});\r\n }\r\n\r\n /** @ngInject */\r\n function uiViewScrollDecorator($delegate, $anchorScroll, baUtil) {\r\n return function (uiViewElement) {\r\n if (baUtil.hasAttr(uiViewElement, \"autoscroll-body-top\")) {\r\n $anchorScroll();\r\n } else {\r\n $delegate(uiViewElement);\r\n }\r\n };\r\n }\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n var basic = {\r\n default: '#ffffff',\r\n defaultText: '#666666',\r\n border: '#dddddd',\r\n borderDark: '#aaaaaa',\r\n };\r\n\r\n // main functional color scheme\r\n var colorScheme = {\r\n primary: '#209e91',\r\n info: '#2dacd1',\r\n success: '#90b900',\r\n warning: '#dfb81c',\r\n danger: '#e85656',\r\n };\r\n\r\n // dashboard colors for charts\r\n var dashboardColors = {\r\n blueStone: '#005562',\r\n surfieGreen: '#0e8174',\r\n silverTree: '#6eba8c',\r\n gossip: '#b9f2a1',\r\n white: '#10c4b5',\r\n };\r\n\r\n angular.module('KPMES.theme')\r\n .provider('baConfig', configProvider);\r\n\r\n /** @ngInject */\r\n function configProvider(colorHelper) {\r\n var conf = {\r\n theme: {\r\n blur: false,\r\n },\r\n colors: {\r\n default: basic.default,\r\n defaultText: basic.defaultText,\r\n border: basic.border,\r\n borderDark: basic.borderDark,\r\n\r\n primary: colorScheme.primary,\r\n info: colorScheme.info,\r\n success: colorScheme.success,\r\n warning: colorScheme.warning,\r\n danger: colorScheme.danger,\r\n\r\n primaryLight: colorHelper.tint(colorScheme.primary, 30),\r\n infoLight: colorHelper.tint(colorScheme.info, 30),\r\n successLight: colorHelper.tint(colorScheme.success, 30),\r\n warningLight: colorHelper.tint(colorScheme.warning, 30),\r\n dangerLight: colorHelper.tint(colorScheme.danger, 30),\r\n\r\n primaryDark: colorHelper.shade(colorScheme.primary, 15),\r\n infoDark: colorHelper.shade(colorScheme.info, 15),\r\n successDark: colorHelper.shade(colorScheme.success, 15),\r\n warningDark: colorHelper.shade(colorScheme.warning, 15),\r\n dangerDark: colorHelper.shade(colorScheme.danger, 15),\r\n\r\n dashboard: {\r\n blueStone: dashboardColors.blueStone,\r\n surfieGreen: dashboardColors.surfieGreen,\r\n silverTree: dashboardColors.silverTree,\r\n gossip: dashboardColors.gossip,\r\n white: dashboardColors.white,\r\n },\r\n }\r\n };\r\n\r\n conf.changeTheme = function(theme) {\r\n angular.merge(conf.theme, theme)\r\n };\r\n\r\n conf.changeColors = function(colors) {\r\n angular.merge(conf.colors, colors)\r\n };\r\n\r\n conf.$get = function () {\r\n delete conf.$get;\r\n return conf;\r\n };\r\n return conf;\r\n }\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n var IMAGES_ROOT = 'assets/img/';\r\n\r\n angular.module('KPMES.theme')\r\n .constant('layoutSizes', {\r\n resWidthCollapseSidebar: 1200,\r\n resWidthHideSidebar: 500\r\n })\r\n .constant('layoutPaths', {\r\n images: {\r\n root: IMAGES_ROOT,\r\n profile: IMAGES_ROOT + 'app/profile/',\r\n amMap: 'assets/img/theme/vendor/ammap//dist/ammap/images/',\r\n amChart: 'assets/img/theme/vendor/amcharts/dist/amcharts/images/'\r\n }\r\n })\r\n .constant('colorHelper', {\r\n tint: function(color, weight) {\r\n return mix('#ffffff', color, weight);\r\n },\r\n shade: function(color, weight) {\r\n return mix('#000000', color, weight);\r\n },\r\n });\r\n\r\n function shade(color, weight) {\r\n return mix('#000000', color, weight);\r\n }\r\n\r\n function tint(color, weight) {\r\n return mix('#ffffff', color, weight);\r\n }\r\n\r\n //SASS mix function\r\n function mix(color1, color2, weight) {\r\n // convert a decimal value to hex\r\n function d2h(d) {\r\n return d.toString(16);\r\n }\r\n // convert a hex value to decimal\r\n function h2d(h) {\r\n return parseInt(h, 16);\r\n }\r\n\r\n var result = \"#\";\r\n for(var i = 1; i < 7; i += 2) {\r\n var color1Part = h2d(color1.substr(i, 2));\r\n var color2Part = h2d(color2.substr(i, 2));\r\n var resultPart = d2h(Math.floor(color2Part + (color1Part - color2Part) * (weight / 100.0)));\r\n result += ('0' + resultPart).slice(-2);\r\n }\r\n return result;\r\n }\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme')\r\n .run(themeRun);\r\n\r\n /** @ngInject */\r\n function themeRun($timeout, $rootScope, layoutPaths, preloader, $q, baSidebarService, themeLayoutSettings) {\r\n var whatToWait = [\r\n preloader.loadAmCharts(),\r\n $timeout(3000)\r\n ];\r\n\r\n var theme = themeLayoutSettings;\r\n if (theme.blur) {\r\n if (theme.mobile) {\r\n whatToWait.unshift(preloader.loadImg(layoutPaths.images.root + 'blur-bg-mobile.jpg'));\r\n } else {\r\n whatToWait.unshift(preloader.loadImg(layoutPaths.images.root + 'blur-bg.jpg'));\r\n whatToWait.unshift(preloader.loadImg(layoutPaths.images.root + 'blur-bg-blurred.jpg'));\r\n }\r\n }\r\n\r\n $q.all(whatToWait).then(function () {\r\n $rootScope.$pageFinishedLoading = true;\r\n });\r\n\r\n $timeout(function () {\r\n if (!$rootScope.$pageFinishedLoading) {\r\n $rootScope.$pageFinishedLoading = true;\r\n }\r\n }, 7000);\r\n\r\n $rootScope.$baSidebarService = baSidebarService;\r\n }\r\n\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme')\r\n .service('themeLayoutSettings', themeLayoutSettings);\r\n\r\n /** @ngInject */\r\n function themeLayoutSettings(baConfig) {\r\n var isMobile = (/android|webos|iphone|ipad|ipod|blackberry|windows phone/).test(navigator.userAgent.toLowerCase());\r\n var mobileClass = isMobile ? 'mobile' : '';\r\n var blurClass = baConfig.theme.blur ? 'blur-theme' : '';\r\n angular.element(document.body).addClass(mobileClass).addClass(blurClass);\r\n\r\n return {\r\n blur: baConfig.theme.blur,\r\n mobile: isMobile,\r\n }\r\n }\r\n\r\n})();\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.area')\r\n .controller('AreaCtrl', AreaCtrl);\r\n\r\n /** @ngInject */\r\n function AreaCtrl($rootScope, lodash, dialogs, $http, AreaService, CountryService, StateService, CityService, AuthenticationService) {\r\n var vm = this;\r\n $rootScope.isLoading = true;\r\n // Pagination code\r\n vm.rowCountOptions = [{\"value\": 5}, {\"value\": 10}, {\"value\": 25}, {\"value\": 50}, {\"value\": 100}]\r\n vm.noOfRows = vm.rowCountOptions[1];\r\n\r\n vm.currentPage = 1;\r\n vm.rembemberCurrentPage = function(num) {\r\n vm.currentPage = num;\r\n }\r\n // End of Pagination code\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n \r\n vm.AreaList = [];\r\n $rootScope.isLogin = false;\r\n vm.getStateListByCountryId = getStateListByCountryId;\r\n vm.getCityListByStateId = getCityListByStateId;\r\n //Method\r\n vm.Create = Create;\r\n vm.cancel = cancel;\r\n vm.resetForm = resetForm;\r\n vm.editArea = editArea;\r\n vm.removeArea = removeArea;\r\n vm.SaveArea = SaveArea;\r\n vm.changeActiveArea = changeActiveArea;\r\n var logggedUser = AuthenticationService.getLoggedUserDetails();\r\n\r\n Init();\r\n ////////////////\r\n\r\n function Init() {\r\n var companyId = AuthenticationService.getLoggedUserDetails().SelectedCompany.CompanyId;\r\n AreaService.getAllArea().then(function(res) {\r\n if (res.status === 200) {\r\n vm.AreaList = res.data;\r\n $rootScope.isLoading = false;\r\n CountryService.getActiveCountry().then(function(res) {\r\n if (res.status === 200) {\r\n vm.CountryList = res.data;\r\n \r\n }\r\n });\r\n \r\n } else {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Area\");\r\n }\r\n }, function(err) {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Area\");\r\n });\r\n }\r\n\r\n function getStateListByCountryId(CountryId, callback) {\r\n if (CountryId) {\r\n StateService.GetStateByCountryId(CountryId).then(function(res) {\r\n if (res.status === 200) {\r\n vm.StateList = res.data;\r\n if (vm.StateList.length < 1) {\r\n dialogs.notify('Warning', 'No state available for ' + vm.area.selectedCountry.CountryName, { animation: true, size: 'sm' });\r\n }\r\n \r\n if (callback)\r\n callback();\r\n }\r\n });\r\n } else {\r\n vm.StateList = [];\r\n vm.area.selectedState = null;\r\n\r\n\r\n }\r\n }\r\n\r\n function getCityListByStateId(StateId, callback) {\r\n if (StateId) {\r\n CityService.GetCityByStateId(StateId).then(function(res) {\r\n if (res.status === 200) {\r\n vm.CityList = res.data;\r\n if (vm.CityList.length < 1) {\r\n dialogs.notify('Warning', 'No city available for ' + vm.area.selectedState.StateName, { animation: true, size: 'sm' });\r\n }\r\n \r\n if (callback)\r\n callback();\r\n }\r\n });\r\n } else {\r\n vm.CityList = [];\r\n vm.area.selectedCity = null;\r\n }\r\n }\r\n\r\n function Create() {\r\n vm.isFormOpen = true;\r\n\r\n }\r\n\r\n function cancel() {\r\n vm.isFormOpen = false;\r\n vm.resetForm();\r\n vm.area = {};\r\n }\r\n\r\n function resetForm() {\r\n vm.areaForm.$setUntouched();\r\n }\r\n\r\n function editArea(area) {\r\n vm.isEditing = true;\r\n vm.isFormOpen = true;\r\n vm.area = angular.copy(area);\r\n getStateListByCountryId(area.CountryId, function() {\r\n\r\n for (var c in vm.CountryList) {\r\n if (vm.CountryList[c].CountryId === area.CountryId) {\r\n vm.area.selectedCountry = vm.CountryList[c];\r\n }\r\n }\r\n for (var c in vm.StateList) {\r\n if (vm.StateList[c].StateId === area.StateId) {\r\n vm.area.selectedState = vm.StateList[c];\r\n }\r\n }\r\n getCityListByStateId(area.StateId, function() {\r\n for (var c in vm.CityList) {\r\n if (vm.CityList[c].CityId === area.CityId) {\r\n vm.area.selectedCity = vm.CityList[c];\r\n }\r\n }\r\n });\r\n });\r\n\r\n }\r\n\r\n function removeArea(area) {\r\n var confirm = dialogs.confirm('Confirm',\r\n 'Are sure you want to delete current row.', { animation: true, size: 'sm' });\r\n\r\n confirm.result.then(function() {\r\n AreaService.removeArea(area.AreaId).then(function(res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', 'Delete Area Successfully', \"Area\");\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', \"Can't Delete Area\", { animation: true, size: 'sm' });\r\n }\r\n }, function(err) {\r\n $rootScope.showToaster('error', \"Can't Delete Area.
If its not a parent contact your Admin\", { animation: true, size: 'sm' });\r\n });\r\n }, function() {\r\n\r\n })\r\n }\r\n\r\n function SaveArea(area) {\r\n var loggedUser = AuthenticationService.getLoggedUserDetails();\r\n if (!vm.isEditing) {\r\n var area = {\r\n CountryId: vm.area.selectedCountry.CountryId,\r\n StateId: vm.area.selectedState.StateId,\r\n CityId: vm.area.selectedCity.CityId,\r\n AreaName: vm.area.AreaName,\r\n PinCode: vm.area.Pincode,\r\n CreatedBy: loggedUser.UserId\r\n }\r\n AreaService.AddArea(area).then(function(res) {\r\n if (res.data.IsSuccess === true) {\r\n $rootScope.showToaster('success', res.data.Message, \"Area Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n cancel();\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Area Master\");\r\n vm.isFormOpen = true;\r\n }\r\n \r\n }, function(err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n \r\n } else {\r\n var area = {\r\n CountryId: vm.area.selectedCountry.CountryId,\r\n StateId: vm.area.selectedState.StateId,\r\n CityId: vm.area.selectedCity.CityId,\r\n AreaName: vm.area.AreaName,\r\n \r\n AreaId: vm.area.AreaId,\r\n PinCode: vm.area.Pincode,\r\n ModifiedBy: loggedUser.UserId\r\n }\r\n AreaService.EditArea(area).then(function(res) {\r\n if (res.data.IsSuccess === true) {\r\n $rootScope.showToaster('success', res.data.Message, \"Area Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n cancel();\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Area Master\");\r\n vm.isFormOpen = true;\r\n }\r\n \r\n }, function(err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n \r\n\r\n }\r\n }\r\n\r\n function changeActiveArea(area) {\r\n var msg = 'Are sure you want to ' + ((area.IsActive) ? 'Deactive' : 'Active') + ' current row.'\r\n var msg2 = ((area.IsActive) ? 'Deactive' : 'Active') + 'Area Successfully.'\r\n var confirm = dialogs.confirm('Confirm',\r\n msg, { animation: true, size: 'sm' });\r\n\r\n confirm.result.then(function() {\r\n AreaService.changeActiveArea(area.AreaId).then(function(res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', msg2, \"Area\");\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', \"Can't Change Status Area\", { animation: true, size: 'sm' });\r\n }\r\n }, function(err) {\r\n $rootScope.showToaster('error', \"Can't Change Status Area. If its not a parent contact your Admin\", { animation: true, size: 'sm' });\r\n });\r\n }, function() {\r\n\r\n })\r\n }\r\n\r\n }\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.city')\r\n .controller('CityCtrl', CityCtrl);\r\n\r\n /** @ngInject */\r\n function CityCtrl($rootScope, lodash, dialogs, $http, CityService, CountryService, StateService, AuthenticationService) {\r\n var vm = this;\r\n $rootScope.isLoading = true;\r\n // Pagination code\r\n vm.rowCountOptions = [{ \"value\": 5 }, { \"value\": 10 }, { \"value\": 25 }, { \"value\": 50 }, { \"value\": 100 }]\r\n vm.noOfRows = vm.rowCountOptions[1];\r\n\r\n vm.currentPage = 1;\r\n vm.rembemberCurrentPage = function (num) {\r\n vm.currentPage = num;\r\n }\r\n // End of Pagination code\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.CityList = {};\r\n vm.getStateListByCountryId = getStateListByCountryId;\r\n $rootScope.isLogin = false;\r\n //Method\r\n vm.Create = Create;\r\n vm.cancel = cancel;\r\n vm.editCity = editCity;\r\n vm.removeCity = removeCity;\r\n vm.SaveCity = SaveCity;\r\n vm.changeActiveCity = changeActiveCity;\r\n var logggedUser = AuthenticationService.getLoggedUserDetails();\r\n \r\n\r\n Init();\r\n\r\n function Init() {\r\n var companyId = AuthenticationService.getLoggedUserDetails().SelectedCompany.CompanyId;\r\n CityService.getAllCity().then(function (res) {\r\n if (res.status === 200) {\r\n vm.CityList = res.data;\r\n $rootScope.isLoading = false;\r\n var objCountry;\r\n CountryService.getActiveCountry(objCountry).then(function (res) {\r\n if (res.status === 200) {\r\n vm.CountryList = res.data;\r\n }\r\n });\r\n } else {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"City\");\r\n }\r\n }, function (err) {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Error! Try Again', \"City\");\r\n });\r\n }\r\n\r\n function getStateListByCountryId(CountryId, callback) {\r\n if (CountryId) {\r\n StateService.GetStateByCountryId(CountryId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.StateList = res.data;\r\n if (vm.StateList.length < 1) {\r\n dialogs.notify('Warning', 'No state available for ' + vm.city.selectedCountry.CountryName, { animation: true, size: 'sm' });\r\n }\r\n if (callback)\r\n callback();\r\n }\r\n });\r\n } else {\r\n vm.StateList = [];\r\n vm.city.selectedState = null;\r\n }\r\n\r\n }\r\n\r\n function Create() {\r\n vm.isFormOpen = true;\r\n\r\n }\r\n\r\n function cancel() {\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.city = {};\r\n }\r\n\r\n function editCity(city) {\r\n vm.isEditing = true;\r\n vm.isFormOpen = true;\r\n vm.city = angular.copy(city);\r\n getStateListByCountryId(city.CountryId, function () {\r\n for (var c in vm.CountryList) {\r\n if (vm.CountryList[c].CountryId === city.CountryId) {\r\n vm.city.selectedCountry = vm.CountryList[c];\r\n }\r\n }\r\n for (var c in vm.StateList) {\r\n if (vm.StateList[c].StateId === city.StateId) {\r\n vm.city.selectedState = vm.StateList[c];\r\n }\r\n }\r\n });\r\n\r\n }\r\n\r\n function removeCity(city) {\r\n var confirm = dialogs.confirm('Confirm',\r\n 'Are sure you want to delete current row.', { animation: true, size: 'sm' });\r\n\r\n confirm.result.then(function () {\r\n CityService.removeCity(city.CityId).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', 'Delete City Successfully', \"City\");\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', \"Can't Delete City\", { animation: true, size: 'sm' });\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Can't Delete City. If its not a parent contact your Admin\", { animation: true, size: 'sm' });\r\n });\r\n }, function () {\r\n\r\n })\r\n }\r\n\r\n function SaveCity(city) {\r\n var logggedUser = AuthenticationService.getLoggedUserDetails();\r\n if (!vm.isEditing) {\r\n var city = {\r\n CountryId: vm.city.selectedCountry.CountryId,\r\n StateId: vm.city.selectedState.StateId,\r\n CreatedBy: logggedUser.UserId,\r\n CityName: vm.city.CityName\r\n }\r\n CityService.AddCity(city).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n $rootScope.showToaster('success', res.data.Message, \"City Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n cancel();\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"City Master\");\r\n vm.isFormOpen = true;\r\n }\r\n\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n\r\n } else {\r\n var city = {\r\n CountryId: vm.city.selectedCountry.CountryId,\r\n StateId: vm.city.selectedState.StateId,\r\n ModifiedBy: logggedUser.UserId,\r\n CityId: vm.city.CityId,\r\n IsActive: vm.city.IsActive,\r\n CityName: vm.city.CityName\r\n }\r\n CityService.EditCity(city).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n $rootScope.showToaster('success', res.data.Message, \"City Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n cancel();\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"City Master\");\r\n vm.isFormOpen = true;\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n\r\n }\r\n }\r\n\r\n function changeActiveCity(city) {\r\n var msg = 'Are sure you want to ' + ((city.IsActive) ? 'Deactive' : 'Active') + ' current row.'\r\n var msg2 = ((city.IsActive) ? 'Deactive' : 'Active') + 'City Successfully.'\r\n var confirm = dialogs.confirm('Confirm',\r\n msg, { animation: true, size: 'sm' });\r\n\r\n confirm.result.then(function () {\r\n CityService.changeActiveCity(city.CityId).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', msg2, \"City\");\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', \"Can't Change Status City\", { animation: true, size: 'sm' });\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Can't Change Status City. If its not a parent contact your Admin\", { animation: true, size: 'sm' });\r\n });\r\n }, function () { })\r\n }\r\n\r\n }\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.company')\r\n .controller('CompanyCtrl', CompanyCtrl);\r\n\r\n /** @ngInject */\r\n function CompanyCtrl($rootScope, lodash, dialogs, $http, CompanyService, CountryService, AuthenticationService,\r\n StateService, CityService, AreaService, Base64, $scope, $stateParams, $uibModal) {\r\n var vm = this;\r\n $rootScope.isLoading = true;\r\n // Pagination code\r\n vm.rowCountOptions = [{\r\n \"value\": 5\r\n }, {\r\n \"value\": 10\r\n }, {\r\n \"value\": 25\r\n }, {\r\n \"value\": 50\r\n }, {\r\n \"value\": 100\r\n }]\r\n vm.noOfRows = vm.rowCountOptions[1];\r\n\r\n vm.currentPage = 1;\r\n vm.rembemberCurrentPage = function (num) {\r\n vm.currentPage = num;\r\n }\r\n // End of Pagination code\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.isEditingLogo = false;\r\n vm.Institution = {};\r\n vm.Institution.RegAddress = {};\r\n vm.Institution.CampAddrss = {};\r\n // vm.Institution.CampAddrss.selectedArea = {};\r\n vm.open = false;\r\n var type = $stateParams.type;\r\n\r\n // if (type == \"reg\") {\r\n // $rootScope.isLogin = true;\r\n // } else {\r\n // $rootScope.isLogin = false;\r\n // }\r\n\r\n // $rootScope.isLogin = true;\r\n //Method\r\n vm.getStateListByCountryId = getStateListByCountryId;\r\n vm.getCityListByStateId = getCityListByStateId;\r\n vm.getAreaListByCityId = getAreaListByCityId;\r\n vm.editLogo = editLogo;\r\n vm.Create = Create;\r\n vm.cancel = cancel;\r\n vm.resetForm = resetForm;\r\n vm.editCompany = editCompany;\r\n vm.removeCompany = removeCompany;\r\n vm.SaveCompany = SaveCompany;\r\n vm.changeActiveCompany = changeActiveCompany;\r\n vm.Reset = Reset;\r\n // vm.getAllLangauges = getAllLangauges;\r\n // vm.empCom = { EmpAddress: {} };\r\n // vm.empPer = { EmpAddress: {} }\r\n\r\n vm.LanguageList = [{\r\n Languagename: \"English\",\r\n LanguageId: 1\r\n },\r\n {\r\n Languagename: \"Tamil\",\r\n LanguageId: 2\r\n\r\n }\r\n ];\r\n\r\n\r\n\r\n // File upload methods\r\n $scope.photoChanged = photoChanged;\r\n Init();\r\n ////////////////\r\n\r\n\r\n\r\n function pop() {\r\n\r\n var modalInstance = $uibModal.open({\r\n animation: true,\r\n ariaLabelledBy: 'modal-title',\r\n ariaDescribedBy: 'modal-body',\r\n templateUrl: 'app/pages/company/Popup.html',\r\n controller: 'PopupCtrl',\r\n controllerAs: 'vm',\r\n size: 'md',\r\n backdrop: 'static',\r\n keyboard: false,\r\n resolve: {\r\n ModelView: vm.Institution\r\n }\r\n });\r\n modalInstance.result.then(function () {\r\n //$ctrl.selected = selectedItem;\r\n }, function () {\r\n //$log.info('Modal dismissed at: ' + new Date());\r\n });\r\n\r\n }\r\n\r\n\r\n function editLogo() {\r\n vm.isEditingLogo = true;\r\n vm.open = true;\r\n }\r\n\r\n\r\n function photoChanged(event) {\r\n var reader = new FileReader();\r\n if (!vm.isEditingLogo) {\r\n vm.CompanyLogo = event.target.files[0];\r\n reader.onload = $scope.imageIsLoaded;\r\n reader.readAsDataURL(vm.CompanyLogo);\r\n } else {\r\n vm.CompanyLogo = event.target.files[0];\r\n reader.onload = $scope.imageIsLoaded;\r\n reader.readAsDataURL(vm.CompanyLogo);\r\n var formData = new FormData();\r\n formData.append('CompanyLogo', vm.CompanyLogo);\r\n formData.append('CompanyId', vm.CompanyId);\r\n CompanyService.updateLogo(formData).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', 'Company Logo changed successfully', \"Success\");\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', 'Internal server Error!', \"Error\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Internal server Error!', \"Error\");\r\n });\r\n }\r\n }\r\n\r\n function Init() {\r\n var companyId = AuthenticationService.getLoggedUserDetails().SelectedCompany.CompanyId;\r\n CompanyService.getAllCompany().then(function (res) {\r\n if (res.status === 200) {\r\n vm.CompanyList = res.data;\r\n $rootScope.isLoading = this;\r\n var objCountry;\r\n CountryService.getActiveCountry(objCountry).then(function (res) {\r\n if (res.status === 200) {\r\n vm.CountryList = res.data;\r\n }\r\n });\r\n\r\n } else {\r\n $rootScope.isLoading = this;\r\n dialogs.error('error', 'Load Failed! Try Again', \"Company\");\r\n }\r\n }, function (err) {\r\n $rootScope.isLoading = this;\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Company\");\r\n });\r\n // CompanyService.GetAllLanguages().then(function (res) {\r\n // if (res.status === 200) {\r\n // vm.LanguageList = res.data;\r\n // Init();\r\n // vm.isLoading = false;\r\n // } else {\r\n // $rootScope.showToaster('error', 'Load Failed! Try Again', \"Employee\");\r\n // }\r\n // }, function (err) {\r\n // $rootScope.showToaster('error', 'Error! Try Again', \"Employee\");\r\n // });\r\n\r\n\r\n CompanyService.getallTypeofEducational().then(function (res) {\r\n if (res.status === 200) {\r\n vm.EducationList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Employee\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Employee\");\r\n });\r\n\r\n\r\n\r\n }\r\n\r\n // function getAllLangauges()\r\n // {\r\n\r\n\r\n\r\n // }\r\n\r\n\r\n function getStateListByCountryId(CountryId, callback) {\r\n if (CountryId) {\r\n StateService.GetStateByCountryId(CountryId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.StateList = res.data;\r\n if (vm.StateList.length < 1) {\r\n dialogs.notify('Warning', 'No state available for ' + vm.Institution.selectedCountry.RegAddress.CountryName, {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n }\r\n if (callback)\r\n callback();\r\n }\r\n });\r\n } else {\r\n vm.StateList = [];\r\n vm.company.selectedState = null;\r\n vm.CityList = [];\r\n vm.company.selectedCity = null;\r\n }\r\n }\r\n\r\n\r\n vm.update = function () {\r\n if (vm.isComAddSameAsPerAdd) {\r\n vm.Institution.CampAddrss = angular.copy(vm.Institution.RegAddress);\r\n vm.Institution.CampAddrss.selectedArea.Pincode = angular.copy(vm.Institution.RegAddress.selectedArea.Pincode);\r\n\r\n }\r\n };\r\n\r\n function getCityListByStateId(StateId, callback) {\r\n if (StateId) {\r\n CityService.GetCityByStateId(StateId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.CityList = res.data;\r\n if (vm.CityList.length < 1) {\r\n dialogs.notify('Warning', 'No city available for ' + vm.Institution.RegAddress.selectedState.StateName, {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n }\r\n if (callback)\r\n callback();\r\n }\r\n\r\n });\r\n } else {\r\n vm.CityList = [];\r\n vm.company.selectedCity = null;\r\n vm.AreaList = [];\r\n vm.company.selectedArea = null;\r\n }\r\n }\r\n\r\n function getAreaListByCityId(CityId, callback) {\r\n AreaService.GetAreaByCityId(CityId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.AreaList = res.data;\r\n if (vm.AreaList.length < 1) {\r\n dialogs.notify('Warning', 'No area available for ' + vm.Institution.RegAddress.selectedCity.CityName, {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n }\r\n if (callback)\r\n callback();\r\n }\r\n });\r\n }\r\n\r\n $scope.imageIsLoaded = function (c) {\r\n $scope.$apply(function () {\r\n vm.logoUrl = c.target.result;\r\n });\r\n }\r\n\r\n function Create() {\r\n vm.isFormOpen = true;\r\n\r\n\r\n }\r\n\r\n function cancel() {\r\n vm.isFormOpen = false;\r\n resetForm();\r\n vm.Institution = {};\r\n vm.isEditing = false;\r\n vm.logoUrl = null;\r\n vm.CompanyLogo = null;\r\n angular.element(\"input[type='file']\").val(null);\r\n Reset();\r\n }\r\n\r\n function resetForm() {\r\n vm.InstitutionForm.$setUntouched();\r\n }\r\n\r\n function editCompany(row) {\r\n\r\n // console.log(JSON.stringify(row));\r\n vm.open = true;\r\n vm.isEditing = true;\r\n vm.isFormOpen = true;\r\n // vm.Institution.CampAddrss = angular.copy(vm.Institution.RegAddress);\r\n\r\n vm.Institution.CompanyId = row.CompanyId\r\n vm.Institution.CompanyName = row.CompanyName\r\n vm.Institution.DOB = new Date(row.DateofEstablishment)\r\n vm.Institution.Totallandandarea = row.TotalInsLandandArea\r\n vm.Institution.ScondayEmail = row.SecondaryEmailId\r\n vm.Institution.MobileNumber = row.MobileNumber\r\n vm.Institution.Landlineno = parseInt(row.LandlineNo)\r\n vm.Institution.principalname = row.NameofThePrincipal\r\n vm.Institution.Contactno = parseInt(row.principalContactNumber)\r\n vm.Institution.Admincoordinator = row.AuthorizedAdminCoordinator\r\n vm.Institution.Contactnumber = parseInt(row.CoordinatorContactNumber)\r\n vm.Institution.Foundername = row.FounderName\r\n vm.Institution.NumberofStudents = parseInt(row.NumberofStudents)\r\n vm.Institution.NumberofTeachingStaff = parseInt(row.NumberofTeachingStaff)\r\n vm.Institution.NumberofNonTeachingStaff = parseInt(row.NumberofNonTeachingStaff)\r\n vm.Institution.Websiteurl = row.WebsiteURL\r\n vm.Institution.PANnumber = row.PANNumber\r\n vm.Institution.TANnumber = row.TANNumber\r\n vm.Institution.RegAddress.AddressLine1 = row.RegAddress1\r\n vm.Institution.RegAddress.AddressLine2 = row.RegAddress2\r\n vm.Institution.RegAddress.Pincode = row.RegPincode\r\n vm.Institution.CampAddrss.campusname = row.CampusName\r\n vm.Institution.CampAddrss.AddressLine1 = row.CampusAdd1\r\n vm.Institution.CampAddrss.AddressLine2 = row.CampusAdd2\r\n\r\n\r\n for (var c in vm.EducationList) {\r\n if (vm.EducationList[c].EducationId === row.EducationId) {\r\n vm.Institution.selectedEducation = vm.EducationList[c];\r\n }\r\n }\r\n\r\n for (var c in vm.LanguageList) {\r\n if (vm.LanguageList[c].LanguageId === row.LanguageId) {\r\n vm.Institution.Selectedlanguage = vm.LanguageList[c];\r\n }\r\n }\r\n\r\n getStateListByCountryId(row.CountryId, function () {\r\n\r\n\r\n for (var c in vm.CountryList) {\r\n if (vm.CountryList[c].CountryId === row.CountryId) {\r\n vm.Institution.RegAddress.selectedCountry = vm.CountryList[c];\r\n }\r\n }\r\n for (var c in vm.StateList) {\r\n if (vm.StateList[c].StateId === row.StateId) {\r\n vm.Institution.RegAddress.selectedState = vm.StateList[c];\r\n }\r\n }\r\n getCityListByStateId(row.StateId, function () {\r\n for (var c in vm.CityList) {\r\n if (vm.CityList[c].CityId === row.CityId) {\r\n vm.Institution.RegAddress.selectedCity = vm.CityList[c];\r\n }\r\n }\r\n });\r\n getAreaListByCityId(row.CityId, function () {\r\n for (var c in vm.AreaList) {\r\n if (vm.AreaList[c].AreaId === row.AreaId) {\r\n vm.Institution.RegAddress.selectedArea = vm.AreaList[c];\r\n }\r\n }\r\n });\r\n });\r\n\r\n }\r\n\r\n function removeCompany(Institution) {\r\n\r\n var confirm = dialogs.confirm('Confirm',\r\n 'Are you sure want to delete current row.', {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n\r\n confirm.result.then(function () {\r\n CompanyService.removeCompany(Institution.CompanyId).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', 'Delete Company Successfully', \"Company\");\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', \"Can't Delete Company\", {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Can't Delete Company. If its not a parent contact your Admin\", {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n });\r\n }, function () {\r\n\r\n })\r\n }\r\n function Generateotp() {\r\n var mobileno = vm.Institution.MobileNumber;\r\n\r\n var mob = mobileno.toString();\r\n CompanyService.Generateotp(mob).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n $rootScope.showToaster('success', res.data.Message, \"Company Master\");\r\n\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Company Master\");\r\n vm.isFormOpen = true;\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n }\r\n\r\n function OTPVerify()\r\n {\r\n var mobileno = vm.Institution.MobileNumber;\r\n CompanyService.OTPVerify(mob).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n $rootScope.showToaster('success', res.data.Message, \"Company Master\");\r\n\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Company Master\");\r\n vm.isFormOpen = true;\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n }\r\n\r\n function SaveCompany(Institution) {\r\n pop()\r\n Generateotp()\r\n \r\n\r\n\r\n var logggedUser = AuthenticationService.getLoggedUserDetails();\r\n vm.getStateByCountryId = function (selectedCountry) {\r\n selectedCountry.CountryId = vm.selectedCountry.CountryId;\r\n }\r\n vm.getCityByStateId = function (selectedState) {\r\n selectedState.StateId = vm.selectedState.StateId;\r\n }\r\n vm.getAreaByCityId = function (selectedCity) {\r\n selectedCity.CityId = vm.selectedCity.CityId;\r\n }\r\n\r\n // Institution.CountryId = vm.Institution.RegAddress.selectedCountry.CountryId;\r\n Institution.CompanyName = vm.Institution.CompanyName;\r\n Institution.StateId = vm.Institution.RegAddress.selectedState.StateId;\r\n Institution.CityId = vm.Institution.RegAddress.selectedCity.CityId;\r\n Institution.AreaId = vm.Institution.RegAddress.selectedArea.AreaId;\r\n Institution.DateofEstablishment = vm.Institution.DOB;\r\n Institution.TotalInsLandandArea = vm.Institution.Totallandandarea;\r\n Institution.PrimaryEmailId = vm.Institution.PrimaryEmail;\r\n Institution.SecondaryEmailId = vm.Institution.ScondayEmail;\r\n Institution.LandlineNo = vm.Institution.Landlineno;\r\n Institution.NameofThePrincipal = vm.Institution.principalname;\r\n Institution.principalContactNumber = vm.Institution.Contactno;\r\n Institution.MobileNumber = vm.Institution.MobileNumber;\r\n Institution.AuthorizedAdminCoordinator = vm.Institution.Admincoordinator;\r\n Institution.CoordinatorContactNumber = vm.Institution.Contactnumber;\r\n // Institution.PreferedLanguage = vm.Institution.Selectedlanguage.Language;\r\n Institution.FounderName = vm.Institution.Foundername;\r\n\r\n Institution.WebsiteURL = vm.Institution.Websiteurl;\r\n Institution.PANNumber = vm.Institution.PANnumber;\r\n Institution.TANNumber = vm.Institution.TANnumber;\r\n Institution.RegAddress1 = vm.Institution.RegAddress.AddressLine1;\r\n Institution.RegAddress2 = vm.Institution.RegAddress.AddressLine2;\r\n Institution.RegPincode = vm.Institution.RegAddress.pincode;\r\n Institution.EducationId = vm.Institution.selectedEducation.EducationId;\r\n Institution.NumberofStudents = vm.Institution.NumberofStudents;\r\n Institution.NumberofTeachingStaff = vm.Institution.NumberofTeachingStaff;\r\n Institution.NumberofNonTeachingStaff = vm.Institution.NumberofNonTeachingStaff;\r\n\r\n var campus = {};\r\n\r\n campus[\"CampusName\"] = vm.Institution.CampAddrss.campusname;\r\n campus[\"CampusAdd1\"] = vm.Institution.CampAddrss.AddressLine1;\r\n campus[\"CampusAdd2\"] = vm.Institution.CampAddrss.AddressLine2;\r\n campus[\"Pincode\"] = vm.Institution.CampAddrss.selectedArea.Pincode;\r\n campus[\"CountryId\"] = vm.Institution.CampAddrss.selectedCountry.CountryId;\r\n campus[\"CityId\"] = vm.Institution.CampAddrss.selectedCity.CityId;\r\n campus[\"StateId\"] = vm.Institution.CampAddrss.selectedState.StateId;\r\n campus[\"AreaId\"] = vm.Institution.CampAddrss.selectedArea.AreaId;\r\n campus[\"IsSameAddress\"] = (!vm.isComAddSameAsPerAdd) ? false : true;\r\n\r\n\r\n Institution.CampusDetails = campus;\r\n\r\n\r\n\r\n\r\n\r\n // console.log(JSON.stringify(Institution));\r\n // return; \r\n\r\n // if (vm.Institution.selectedParent === null || vm.Institution.selectedParent === undefined)\r\n // company.ParentCompany = 0;\r\n\r\n\r\n // else\r\n // company.ParentCompany = vm.company.selectedParent.CompanyId;\r\n\r\n // company.OrganizationLevelId = vm.company.selectedOrganization.OrganizationLevelId;\r\n\r\n\r\n\r\n if (!vm.isEditing) {\r\n // File Upload\r\n // var file = vm.company.CompanyLogo;\r\n // vm.company.CompanyLogo = \"\";\r\n Institution.CreatedBy = logggedUser.UserId;\r\n var formData = new FormData();\r\n formData.append(\"data\", JSON.stringify(Institution));\r\n //formData.append(\"CompanyLogo\", vm.CompanyLogo);\r\n\r\n CompanyService.AddCompany(formData, $http).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n $rootScope.showToaster('success', res.data.Message, \"Company Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n cancel();\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Company Master\");\r\n vm.isFormOpen = true;\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n } else {\r\n Institution.ModifiedBy = logggedUser.UserId;\r\n CompanyService.EditCompany(Institution).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n $rootScope.showToaster('success', res.data.Message, \"Company Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n cancel();\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Company Master\");\r\n vm.isFormOpen = true;\r\n }\r\n\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n\r\n });\r\n\r\n }\r\n pop()\r\n }\r\n\r\n function changeActiveCompany(company) {\r\n var msg = 'Are sure you want to ' + ((company.IsActive) ? 'Deactive' : 'Active') + ' current row.'\r\n var msg2 = ((company.IsActive) ? 'Deactive' : 'Active') + 'Company Successfully.'\r\n var confirm = dialogs.confirm('Confirm',\r\n msg, {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n\r\n confirm.result.then(function () {\r\n CompanyService.changeActiveCompany(company.CompanyId).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', msg2, \"Company\");\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', \"Can't Delete Company\", {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Can't Delete Company. If its not a parent contact your Admin\", {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n });\r\n }, function () {\r\n\r\n })\r\n }\r\n\r\n\r\n function Reset() {\r\n vm.Institution.CompanyName = null;\r\n vm.Institution.DOB = null;\r\n vm.Institution.Totallandandarea = null;\r\n vm.Institution.PrimaryEmail = null;\r\n vm.Institution.ScondayEmail = null;\r\n vm.Institution.Landlineno = null;\r\n vm.Institution.principalname = null;\r\n vm.Institution.Contactno = null;\r\n vm.Institution.Admincoordinator = null;\r\n vm.Institution.Contactnumber = null;\r\n vm.Institution.selectedEducation = null;\r\n vm.Institution.Foundername = null;\r\n vm.Institution.Selectedlanguage = null;\r\n vm.Institution.selectedParent = null;\r\n vm.Institution.RegAddress.AddressLine1 = null;\r\n vm.Institution.RegAddress.AddressLine2 = null;\r\n vm.Institution.RegAddress.selectedCountry = null;\r\n vm.Institution.RegAddress.selectedState = null;\r\n vm.Institution.RegAddress.selectedCity = null;\r\n vm.Institution.RegAddress.selectedArea = null;\r\n vm.Institution.RegAddress.pincode = null;\r\n vm.Institution.CampAddrss.campusname = null;\r\n vm.Institution.CampAddrss.AddressLine1 = null;\r\n vm.Institution.CampAddrss.AddressLine2 = null;\r\n vm.Institution.CampAddrss.selectedCountry = null;\r\n vm.Institution.CampAddrss.selectedState = null;\r\n vm.Institution.CampAddrss.selectedCity = null;\r\n vm.Institution.CampAddrss.selectedArea = null;\r\n vm.Institution.CampAddrss.pincode = null;\r\n vm.Institution.Websiteurl = null;\r\n vm.Institution.PANnumber = null;\r\n vm.Institution.TANnumber = null;\r\n vm.Institution.NumberofStudents = null;\r\n vm.Institution.NumberofTeachingStaff = null;\r\n vm.Institution.NumberofNonTeachingStaff = null;\r\n }\r\n\r\n // Datepicker code \r\n vm.today = function () {\r\n vm.dt = new Date();\r\n };\r\n vm.today();\r\n\r\n vm.clear = function () {\r\n vm.dt = null;\r\n };\r\n\r\n vm.inlineOptions = {\r\n customClass: getDayClass,\r\n minDate: new Date(),\r\n showWeeks: true\r\n };\r\n\r\n vm.dateOptions = {\r\n dateDisabled: disabled,\r\n formatYear: 'yy',\r\n maxDate: new Date(2020, 5, 22),\r\n minDate: new Date(),\r\n startingDay: 1\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 vm.toggleMin = function () {\r\n vm.inlineOptions.minDate = vm.inlineOptions.minDate ? null : new Date();\r\n vm.dateOptions.minDate = vm.inlineOptions.minDate;\r\n };\r\n\r\n vm.toggleMin();\r\n\r\n vm.open1 = function () {\r\n vm.popup1.opened = true;\r\n };\r\n\r\n vm.open2 = function () {\r\n vm.popup2.opened = true;\r\n var today = new Date();\r\n // var minAge = 18;\r\n\r\n // vm.options = {\r\n // maxDate: new Date(today.getFullYear() - minAge, today.getMonth(), today.getDate())\r\n // }\r\n\r\n };\r\n\r\n vm.open3 = function () {\r\n vm.popup3.opened = true;\r\n };\r\n\r\n vm.open4 = function () {\r\n vm.popup4.opened = true;\r\n };\r\n\r\n vm.setDate = function (year, month, day) {\r\n vm.dt = new Date(year, month, day);\r\n };\r\n\r\n vm.formats = ['dd-MMMM-yyyy', 'yyyy/MM/dd', 'dd.MM.yyyy', 'shortDate'];\r\n vm.format = vm.formats[0];\r\n vm.altInputFormats = ['M!/d!/yyyy'];\r\n\r\n vm.popup1 = {\r\n opened: false\r\n };\r\n\r\n vm.popup2 = {\r\n opened: false\r\n };\r\n vm.popup3 = {\r\n opened: false\r\n };\r\n\r\n vm.popup4 = {\r\n opened: false\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();\r\n afterTomorrow.setDate(tomorrow.getDate() + 1);\r\n vm.events = [{\r\n date: tomorrow,\r\n status: 'full'\r\n }, {\r\n date: afterTomorrow,\r\n status: 'partially'\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 < vm.events.length; i++) {\r\n var currentDay = new Date(vm.events[i].date).setHours(0, 0, 0, 0);\r\n\r\n if (dayToCheck === currentDay) {\r\n return vm.events[i].status;\r\n }\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n\r\n }\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.company')\r\n .controller('PopupCtrl', PopupCtrl);\r\n\r\n /** @ngInject */\r\n function PopupCtrl($http, $state, $location, $window, $rootScope, lodash, $uibModalInstance, dialogs, ModelView, CompanyService) {\r\n var vm = this;\r\n\r\n vm.cancel = function () {\r\n $uibModalInstance.dismiss('cancel');\r\n }\r\n var res = ModelView;\r\n\r\n vm.payment = function () {\r\n debugger;\r\n $state.go('insPayment');\r\n $uibModalInstance.dismiss('cancel');\r\n\r\n }\r\n\r\n\r\n vm.payment = function (){\r\n\r\n var mobile = ModelView.MobileNumber;\r\n var otp = vm.popup.VerifyOTP\r\n\r\n CompanyService.OTPVerify(otp, mobile).then(function (res) {\r\n console.log(\"resssss\"+JSON.stringify(res));\r\n if (res.status === 200) {\r\n debugger\r\n if (res.data === true) {\r\n $rootScope.showToaster('success', res.data.Message, \"Success\");\r\n\r\n }\r\n else{\r\n $rootScope.showToaster('error', 'This is incorrect OTP', \"Error\");\r\n\r\n }\r\n vm.cancel();\r\n \r\n // Init();\r\n } \r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Internal server Error!', \"Error\");\r\n });\r\n\r\n \r\n }\r\n\r\n\r\n\r\n }\r\n})(); \n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.country')\r\n .controller('CountryCtrl', CountryCtrl);\r\n\r\n /** @ngInject */\r\n function CountryCtrl($http, $rootScope, lodash, dialogs, CountryService, AuthenticationService) {\r\n var vm = this;\r\n $rootScope.isLoading = true;\r\n // Pagination code\r\n vm.rowCountOptions = [{\"value\": 5}, {\"value\": 10}, {\"value\": 25}, {\"value\": 50}, {\"value\": 100}]\r\n vm.noOfRows = vm.rowCountOptions[1];\r\n\r\n vm.currentPage = 1;\r\n vm.rembemberCurrentPage = function(num) {\r\n vm.currentPage = num;\r\n }\r\n // End of Pagination code\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n \r\n vm.CountryList = [];\r\n $rootScope.isLogin = false;\r\n //Method\r\n vm.Create = Create;\r\n vm.cancel = cancel;\r\n vm.resetForm = resetForm;\r\n vm.editCountry = editCountry;\r\n vm.SaveCountryNew=SaveCountryNew;\r\n vm.changeActiveCountry = changeActiveCountry;\r\n // vm.removeCountry = removeCountry;\r\n vm.NewremoveCountry= NewremoveCountry;\r\n vm.SaveCountry = SaveCountry;\r\n var logggedUser = AuthenticationService.getLoggedUserDetails();\r\n \r\n\r\n Init();\r\n\r\n function Init() {\r\n var companyId = AuthenticationService.getLoggedUserDetails().SelectedCompany.CompanyId;\r\n // CountryService.getAllCountry($http, $rootScope).then(function(res) {\r\n // if (res.status === 200) {\r\n // vm.CountryList = res.data;\r\n // vm.isLoading = false;\r\n // } else {\r\n // $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n // }\r\n // }, function(err) {\r\n // $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n // });\r\n\r\n CountryService.GetAllCountry_ByProc($http, $rootScope).then(function(res) {\r\n if (res.status === 200) {\r\n vm.CountryList = res.data;\r\n $rootScope.isLoading = false;\r\n } else {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n }, function(err) {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n\r\n function Create() {\r\n vm.isEditing = false;\r\n vm.isFormOpen = true;\r\n vm.isTableOpen = false;\r\n\r\n }\r\n\r\n function cancel() {\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n resetForm();\r\n vm.country = {};\r\n }\r\n\r\n function resetForm() {\r\n // vm.CountryForm.$setUntouched();\r\n }\r\n\r\n function editCountry(country) {\r\n vm.isEditing = true;\r\n vm.isFormOpen = true;\r\n // vm.oldCountry = country.CountryName;\r\n\r\n vm.country = angular.copy(country);\r\n\r\n }\r\n\r\n function changeActiveCountry(country) {\r\n var logggedUser = AuthenticationService.getLoggedUserDetails();\r\n var msg = 'Are sure you want to ' + ((country.IsActive) ? 'Deactive' : 'Active') + ' current row.'\r\n var msg2 = ((country.IsActive) ? 'Deactive' : 'Active') + 'Country Successfully.'\r\n var confirm = dialogs.confirm('Confirm',\r\n msg, { animation: true, size: 'sm' });\r\n\r\n confirm.result.then(function() {\r\n var inActive = {\r\n CountryId: country.CountryId,\r\n ModifiedBy: logggedUser.UserId\r\n }\r\n CountryService.changeActiveCountry(inActive).then(function(res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', msg2, \"Country\");\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', \"Can't Deactive Country\", { animation: true, size: 'sm' });\r\n }\r\n }, function(err) {\r\n $rootScope.showToaster('error', \"Can't Deactive Country. If its not a parent contact your Admin\", { animation: true, size: 'sm' });\r\n });\r\n }, function() {\r\n\r\n })\r\n }\r\n\r\n // function removeCountry(country) {\r\n // var confirm = dialogs.confirm('Confirm',\r\n // 'Are sure you want to delete current row.', { animation: true, size: 'sm' });\r\n\r\n // confirm.result.then(function() {\r\n // CountryService.removeCountry(country.CountryId).then(function(res) {\r\n // if (res.status === 200) {\r\n // $rootScope.showToaster('success', 'Delete Country Successfully', \"Country\");\r\n // Init();\r\n // } else {\r\n // $rootScope.showToaster('error', \"Can't Delete Country\", { animation: true, size: 'sm' });\r\n // }\r\n // }, function(err) {\r\n // $rootScope.showToaster('error', \"Can't Delete Country. If its not a parent contact your Admin\", { animation: true, size: 'sm' });\r\n // });\r\n // }, function() {\r\n\r\n // })\r\n // }\r\n function NewremoveCountry(country) {\r\n var inputdata ={\r\n CountryId:country.CountryId,\r\n CountryName:'',\r\n CountryCode:'',\r\n CurrencyName:'',\r\n CurrencyCode:'',\r\n CurrencySymbol:'',\r\n CreatedBy:0,\r\n Process:'Delete'\r\n }\r\n\r\n var confirm = dialogs.confirm('Confirm',\r\n 'Are sure you want to delete current row.', { animation: true, size: 'sm' });\r\n\r\n confirm.result.then(function() {\r\n CountryService.SaveDeleteCountryMaster(inputdata).then(function(res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', res.data.Message, \"Country Master\");\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', \"Can't Delete Country\", { animation: true, size: 'sm' });\r\n }\r\n }, function(err) {\r\n $rootScope.showToaster('error', \"Can't Delete Country. If its not a parent contact your Admin\", { animation: true, size: 'sm' });\r\n });\r\n }, function() {\r\n\r\n })\r\n\r\n }\r\n\r\n function SaveCountryNew(country){\r\n var icountryId = 0;\r\n\r\n if(vm.isEditing)\r\n icountryId = vm.country.CountryId;\r\n \r\n var inputdata ={\r\n CountryId:icountryId,\r\n CountryName:country.CountryName,\r\n CountryCode:country.CountryCode,\r\n CurrencyName:country.CurrencyName,\r\n CurrencyCode:country.CurrencyCode,\r\n CurrencySymbol:country.CurrencySymbol,\r\n CreatedBy:logggedUser.UserId,\r\n Process:'Save'\r\n }\r\n\r\n CountryService.SaveDeleteCountryMaster(inputdata).then(function(res) {\r\n if (res.data.IsSuccess === true) {\r\n $rootScope.showToaster('success', res.data.Message, \"Country Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n cancel();\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Country Master\");\r\n vm.isFormOpen = true;\r\n }\r\n \r\n }, function(err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n\r\n }\r\n\r\n function SaveCountry(country) {\r\n var logggedUser = AuthenticationService.getLoggedUserDetails();\r\n if (!vm.isEditing) {\r\n var country = { \r\n CreatedBy: logggedUser.UserId,\r\n CountryCode: vm.country.CountryCode,\r\n CountryName: vm.country.CountryName,\r\n }\r\n // CountryService.AddCountry(country).then(function(res) {\r\n // if (res.data.IsSuccess === true) {\r\n // $rootScope.showToaster('success', res.data.Message, \"Country Master\");\r\n // Init();\r\n // vm.isFormOpen = false;\r\n // cancel();\r\n // } else {\r\n // $rootScope.showToaster('error', res.data.Message, \"Country Master\");\r\n // vm.isFormOpen = true;\r\n // }\r\n \r\n // }, function(err) {\r\n // $rootScope.showToaster(\"Something error...try again\");\r\n // });\r\n\r\n CountryService.SaveDeleteCountryMaster(country).then(function(res) {\r\n if (res.data.IsSuccess === true) {\r\n $rootScope.showToaster('success', res.data.Message, \"Country Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n cancel();\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Country Master\");\r\n vm.isFormOpen = true;\r\n }\r\n \r\n }, function(err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n \r\n } else {\r\n // if (vm.country.CountryName !== vm.oldCountryName && vm.country.CountryCode !== vm.oldCountryCode) {\r\n var country = {\r\n ModifiedBy: logggedUser.UserId,\r\n CountryCode: vm.country.CountryCode,\r\n CountryName: vm.country.CountryName,\r\n CountryId: vm.country.CountryId,\r\n IsActive: vm.country.IsActive\r\n }\r\n CountryService.EditCountry(country).then(function(res) {\r\n if (res.data.IsSuccess === true) {\r\n $rootScope.showToaster('success', res.data.Message, \"Country Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n cancel();\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Country Master\");\r\n vm.isFormOpen = true;\r\n }\r\n \r\n }, function(err) {\r\n $rootScope.showToaster(\"Something error...try again\", { animation: true, size: 'sm' });\r\n }); \r\n \r\n }\r\n }\r\n\r\n }\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.dashboard')\r\n .controller('DashboardCtrl', DashboardCtrl);\r\n\r\n /** @ngInject */\r\n function DashboardCtrl($rootScope, $scope, lodash, dialogs, baConfig, $element, layoutPaths, baSidebarService) {\r\n var vm = this;\r\n $rootScope.isLogin = false;\r\n\r\n // Properties\r\n \r\n // Methods\r\n \r\n \r\n activate();\r\n\r\n ////////////////\r\n\r\n \r\n\r\n function activate() { \r\n }\r\n }\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.department')\r\n .controller('DepartmentCtrl', DepartmentCtrl);\r\n\r\n /** @ngInject */\r\n function DepartmentCtrl($rootScope, lodash, dialogs, $http, DepartmentServices, CompanyService, AuthenticationService) {\r\n var vm = this;\r\n $rootScope.isLoading = true;\r\n // Pagination code\r\n vm.rowCountOptions = [{ \"value\": 5 }, { \"value\": 10 }, { \"value\": 25 }, { \"value\": 50 }, { \"value\": 100 }]\r\n vm.noOfRows = vm.rowCountOptions[1];\r\n\r\n vm.currentPage = 1;\r\n vm.rembemberCurrentPage = function (num) {\r\n vm.currentPage = num;\r\n }\r\n // End of Pagination codes\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.DepartmentList = [];\r\n vm.dept = {};\r\n $rootScope.isLogin = false;\r\n var logggedUser = AuthenticationService.getLoggedUserDetails();\r\n var CompanyId = logggedUser.SelectedCompany.CompanyId;\r\n\r\n //Methods\r\n vm.companyChanged = companyChanged;\r\n vm.Create = Create;\r\n vm.cancel = cancel;\r\n vm.resetForm = resetForm;\r\n vm.CheckDepartmentCode = CheckDepartmentCode;\r\n vm.EditDepartment = EditDepartment;\r\n vm.removeDepartment = removeDepartment;\r\n vm.changeActiveDepartment = changeActiveDepartment;\r\n vm.SaveDepartment = SaveDepartment;\r\n vm.isCheck = false;\r\n\r\n ///////////////\r\n Init();\r\n\r\n function Init() {\r\n DepartmentServices.getAllDepartments(CompanyId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.DepartmentList = res.data;\r\n $rootScope.isLoading = false;\r\n CompanyService.getSubCompByCompId(CompanyId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.CompanyList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Company Master\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Company Master\");\r\n });\r\n } else {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Department\");\r\n }\r\n }, function (err) {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Department\");\r\n });\r\n }\r\n\r\n function companyChanged() {\r\n var obj = {\r\n CompanyId: vm.dept.selectedCompany.CompanyId,\r\n UserCompanyId: logggedUser.Company.CompanyId\r\n };\r\n DepartmentServices.getDepOfParentCompanies(obj).then(function (res) {\r\n if (res.status === 200)\r\n vm.DepartmentActiveList = res.data;\r\n else\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Department\");\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Department\");\r\n });\r\n }\r\n\r\n function Create() {\r\n vm.isEditing = false;\r\n vm.isFormOpen = true;\r\n vm.code = true;\r\n\r\n }\r\n function cancel() {\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n resetForm();\r\n vm.dept = {};\r\n }\r\n function resetForm() {\r\n vm.departmentForm.$setUntouched();\r\n }\r\n\r\n function CheckDepartmentCode() {\r\n DepartmentServices.CheckCode(vm.dept.Code).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n vm.CheckCodeList = res.data;\r\n if (vm.CheckCodeList.length < 1) {\r\n vm.isCheck = true;\r\n }\r\n else {\r\n vm.isCheck = false;\r\n }\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Department Master\");\r\n vm.isFormOpen = true;\r\n }\r\n\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n }\r\n\r\n function EditDepartment(dept) {\r\n vm.code = false;\r\n vm.isEditing = true;\r\n vm.isFormOpen = true;\r\n vm.dept = angular.copy(dept);\r\n\r\n if (dept.ParentId === 0)\r\n vm.isNoParent = false;\r\n\r\n for (var c in vm.CompanyList) {\r\n if (vm.CompanyList[c].CompanyId === dept.CompanyId) {\r\n vm.dept.selectedCompany = vm.CompanyList[c];\r\n }\r\n }\r\n for (var d in vm.DepartmentList) {\r\n if (vm.DepartmentList[d].DepartmentId === dept.ParentId) {\r\n vm.dept.selectedParent = vm.DepartmentList[d];\r\n }\r\n }\r\n\r\n }\r\n function removeDepartment(dept) {\r\n // CreatedBy = logggedUser.UserId;\r\n var confirm = dialogs.confirm('Confirm', 'Are sure you want to delete current row.', { animation: true, size: 'sm' });\r\n confirm.result.then(function () {\r\n\r\n DepartmentServices.removeDepartment(dept.DepartmentId).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', 'Delete Department Successfully', \"Department\");\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', \"Can't Delete Parent Department\", { animation: true, size: 'sm' });\r\n }\r\n\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Can't Delete Parent Department.
If its not a parent contact your Admin\", { animation: true, size: 'sm' });\r\n });\r\n }, function () {\r\n\r\n })\r\n\r\n }\r\n function SaveDepartment(dept) {\r\n dept.CompanyId = vm.dept.selectedCompany.CompanyId;\r\n // dept.CompanyId = vm.dept.selectedCompany.CompanyId;\r\n if (vm.dept.selectedParent === null || vm.dept.selectedParent === undefined)\r\n // if ( vm.DepartmentActiveList >= 0)\r\n dept.ParentId = 0;\r\n else\r\n dept.ParentId = vm.dept.selectedParent.DepartmentId;\r\n\r\n if (!vm.isEditing) {\r\n dept.CreatedBy = logggedUser.UserId;\r\n DepartmentServices.AddDepartment(dept).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n $rootScope.showToaster('success', res.data.Message, \"Department Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n cancel();\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Department Master\");\r\n vm.isFormOpen = true;\r\n }\r\n\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n\r\n } else {\r\n dept.ModifiedBy = logggedUser.UserId;\r\n DepartmentServices.EditDepartment(dept).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n $rootScope.showToaster('success', res.data.Message, \"Department Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n cancel();\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Department Master\");\r\n vm.isFormOpen = true;\r\n }\r\n\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n\r\n }\r\n }\r\n\r\n function changeActiveDepartment(dept) {\r\n var msg = 'Are sure you want to ' + ((dept.IsActive) ? 'Deactive' : 'Active') + ' current row.'\r\n var msg2 = ((dept.IsActive) ? 'Deactive' : 'Active') + 'Department Successfully.'\r\n var confirm = dialogs.confirm('Confirm',\r\n msg, { animation: true, size: 'sm' });\r\n\r\n confirm.result.then(function () {\r\n DepartmentServices.changeActiveDepartment(dept.DepartmentId).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', msg2, \"Department\");\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', \"Can't Delete Department\", { animation: true, size: 'sm' });\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Can't Delete Department.
If its not a parent contact your Admin\", { animation: true, size: 'sm' });\r\n });\r\n }, function () {\r\n\r\n })\r\n }\r\n\r\n }\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.designation')\r\n .controller('DesignationCtrl', DesignationCtrl);\r\n\r\n /** @ngInject */\r\n function DesignationCtrl($rootScope, lodash, dialogs, $http, DesignationService, DepartmentServices, AuthenticationService, CompanyService) {\r\n var vm = this;\r\n $rootScope.isLoading = true;\r\n // Pagination code\r\n vm.rowCountOptions = [{\r\n \"value\": 5\r\n }, {\r\n \"value\": 10\r\n }, {\r\n \"value\": 25\r\n }, {\r\n \"value\": 50\r\n }, {\r\n \"value\": 100\r\n }]\r\n vm.noOfRows = vm.rowCountOptions[1];\r\n\r\n vm.currentPage = 1;\r\n vm.rembemberCurrentPage = function (num) {\r\n vm.currentPage = num;\r\n }\r\n // End of Pagination code\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.DesignationList = [];\r\n vm.desig = {};\r\n var loggedUser = AuthenticationService.getLoggedUserDetails();\r\n $rootScope.isLogin = false;\r\n // Methods\r\n vm.departmentSelectionChanged = departmentSelectionChanged;\r\n vm.getDepartmentListByCompanyId = getDepartmentListByCompanyId;\r\n vm.Create = Create;\r\n vm.cancel = cancel;\r\n vm.resetForm = resetForm;\r\n vm.editDesignation = editDesignation;\r\n vm.removeDesignation = removeDesignation;\r\n vm.SaveDesignation = SaveDesignation;\r\n vm.changeActiveDesignation = changeActiveDesignation;~\r\n\r\n Init();\r\n //////////////////\r\n\r\n function Init() {\r\n\r\n DesignationService.getAllDesignation(loggedUser.SelectedCompany.CompanyId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.DesignationList = res.data;\r\n $rootScope.isLoading = false;\r\n //vm.DesignationActiveList = lodash.filter(vm.DesignationList, { 'IsActive': true }); \r\n CompanyService.getSubCompByCompId(loggedUser.SelectedCompany.CompanyId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.CompanyList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Company Master\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Company Master\");\r\n });\r\n } else {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Designation\");\r\n }\r\n }, function (err) {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Designation\");\r\n });\r\n }\r\n\r\n function getDepartmentListByCompanyId(CompanyId, callback) {\r\n DepartmentServices.GetDepartmentByCompanyId(CompanyId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.DepartmentList = res.data;\r\n if (vm.DepartmentList.length < 1) {\r\n dialogs.notify('Warning', 'No department available for ' + vm.desig.selectedCompany.CompanyName, {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n }\r\n\r\n // Temp solution \r\n if (callback)\r\n callback();\r\n }\r\n });\r\n }\r\n\r\n function departmentSelectionChanged(ParentId, callback) {\r\n DesignationService.getRepToDesig(vm.desig.selectedDepartment.DepartmentId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.DesignationActiveList = res.data;\r\n if (vm.DesignationActiveList.length < 1) {\r\n dialogs.notify('Warning', 'No department available for ' + vm.desig.selectedDepartment.ParentName, {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n }\r\n // Temp solution \r\n if (callback)\r\n callback();\r\n }\r\n });\r\n }\r\n\r\n // function departmentSelectionChanged() {\r\n // var obj = {\r\n // DepartmentId: vm.desig.selectedDepartment.DepartmentId\r\n // };\r\n // DepartmentServices.GetDesigByDepId(obj).then(function(res) {\r\n // if (res.status === 200)\r\n // vm.DesignationActiveList = res.data;\r\n // else\r\n // $rootScope.showToaster('error', 'Load Failed! Try Again', \"Department\");\r\n // }, function(err) {\r\n // $rootScope.showToaster('error', 'Error! Try Again', \"Department\");\r\n // });\r\n // }\r\n\r\n function Create() {\r\n vm.code = true;\r\n vm.isFormOpen = true;\r\n vm.desig = {};\r\n\r\n }\r\n\r\n function cancel() {\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n resetForm();\r\n vm.desig = {};\r\n }\r\n\r\n function resetForm() {\r\n vm.desigForm.$setUntouched();\r\n }\r\n\r\n function editDesignation(desig) {\r\n vm.code = false;\r\n vm.isEditing = true;\r\n vm.isFormOpen = true;\r\n vm.desig = angular.copy(desig);\r\n if (desig.Superior === 0)\r\n vm.isNoSuperior = false;\r\n\r\n for (var c in vm.CompanyList) {\r\n if (vm.CompanyList[c].CompanyId === desig.CompanyId) {\r\n vm.desig.selectedCompany = vm.CompanyList[c];\r\n }\r\n }\r\n getDepartmentListByCompanyId(desig.CompanyId, function () {\r\n for (var d in vm.DepartmentList) {\r\n if (vm.DepartmentList[d].DepartmentId === desig.DepartmentId) {\r\n vm.desig.selectedDepartment = vm.DepartmentList[d];\r\n }\r\n }\r\n\r\n for (var d in vm.DesignationList) {\r\n if (vm.DesignationList[d].DesignationId === desig.Superior) {\r\n vm.desig.selectedSuperior = vm.DesignationList[d];\r\n }\r\n }\r\n\r\n });\r\n }\r\n\r\n function removeDesignation(desig) {\r\n var confirm = dialogs.confirm('Confirm',\r\n 'Are sure you want to delete current row.', {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n\r\n confirm.result.then(function () {\r\n DesignationService.removeDesignation(desig.DesignationId).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', 'Delete Successfully', \"Designation\");\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', \"Can't Delete Designation\", {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Can't Delete Designation. If its not a parent contact your Admin\", {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n });\r\n }, function () {\r\n\r\n })\r\n }\r\n\r\n function SaveDesignation(desig) {\r\n // CreatedBy = loggedUser.UserId;\r\n debugger;\r\n var loggedUser = AuthenticationService.getLoggedUserDetails();\r\n vm.getDepartmentListByCompanyId = function (selectedCompany) {\r\n selectedCompany.CompanyId = vm.selectedCompany.CompanyId;\r\n }\r\n desig.CompanyId = vm.desig.selectedCompany.CompanyId;\r\n desig.DepartmentId = vm.desig.selectedDepartment.DepartmentId;\r\n\r\n desig.Superior = (vm.desig.selectedSuperior) ? vm.desig.selectedSuperior.DesignationId : desig.Superior = 0;\r\n\r\n if (!vm.isEditing) {\r\n desig.CreatedBy = loggedUser.UserId;\r\n DesignationService.AddDesignation(desig).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n $rootScope.showToaster('success', res.data.Message, \"Designation Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n cancel();\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Designation Master\");\r\n vm.isFormOpen = true;\r\n }\r\n\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n\r\n } else {\r\n desig.ModifiedBy = loggedUser.UserId;\r\n DesignationService.EditDesignation(desig).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n $rootScope.showToaster('success', res.data.Message, \"Designation Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n cancel();\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Designation Master\");\r\n vm.isFormOpen = true;\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n\r\n }\r\n }\r\n\r\n function changeActiveDesignation(desig) {\r\n var msg = 'Are sure you want to ' + ((desig.IsActive) ? 'Deactive' : 'Active') + ' current row.'\r\n var msg2 = ((desig.IsActive) ? 'Deactive' : 'Active') + 'Designation Successfully.'\r\n var confirm = dialogs.confirm('Confirm',\r\n msg, {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n\r\n confirm.result.then(function () {\r\n DesignationService.changeActiveDesignation(desig.DesignationId).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', msg2, \"Designation\");\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', \"Can't Delete Designation\", {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Can't Delete Designation. If its not a parent contact your Admin\", {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n });\r\n }, function () {\r\n\r\n })\r\n }\r\n\r\n }\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages')\r\n .directive('setFocus', function () {\r\n return {\r\n link: function (scope, element, attrs) {\r\n element.bind('click', function () { \r\n var input = document.querySelector('#' + attrs.setFocus);\r\n alert(input.id);\r\n debugger;\r\n input.focus();\r\n })\r\n }\r\n }\r\n })\r\n .directive('customOnChange', function () {\r\n return {\r\n restrict: 'A',\r\n link: function (scope, element, attrs) {\r\n var onChangeHandler = scope.$eval(attrs.customOnChange);\r\n element.bind('change', onChangeHandler);\r\n }\r\n };\r\n })\r\n .directive('validFile', function () {\r\n return {\r\n require: 'ngModel',\r\n link: function (scope, el, attrs, ngModel) {\r\n //change event is fired when file is selected\r\n el.bind('change', function () {\r\n scope.$apply(function () {\r\n ngModel.$setViewValue(el.val());\r\n ngModel.$render();\r\n })\r\n })\r\n }\r\n }\r\n })\r\n .directive('onlyDigits', function () {\r\n return {\r\n restrict: 'A',\r\n require: '?ngModel',\r\n link: function (scope, element, attrs, modelCtrl) {\r\n modelCtrl.$parsers.push(function (inputValue) {\r\n if (inputValue == undefined) return '';\r\n var transformedInput = inputValue.replace(/[^0-9]/g, '');\r\n if (transformedInput !== inputValue) {\r\n modelCtrl.$setViewValue(transformedInput);\r\n modelCtrl.$render();\r\n }\r\n return transformedInput;\r\n });\r\n }\r\n };\r\n })\r\n\r\n .directive(\"compareTo\", function () {\r\n return {\r\n require: \"ngModel\",\r\n scope: {\r\n otherModelValue: \"=compareTo\"\r\n },\r\n link: function (scope, element, attributes, ngModel) {\r\n\r\n ngModel.$validators.compareTo = function (modelValue) {\r\n return modelValue == scope.otherModelValue;\r\n };\r\n\r\n scope.$watch(\"otherModelValue\", function () {\r\n ngModel.$validate();\r\n });\r\n }\r\n };\r\n })\r\n\r\n .directive('validNumber', function () {\r\n return {\r\n require: '?ngModel',\r\n link: function (scope, element, attrs, ngModelCtrl) {\r\n if (!ngModelCtrl) {\r\n return;\r\n }\r\n\r\n ngModelCtrl.$parsers.push(function (val) {\r\n if (angular.isUndefined(val)) {\r\n var val = '';\r\n }\r\n var clean = val.replace(/[^0-9\\.]/g, '');\r\n if (val !== clean) {\r\n ngModelCtrl.$setViewValue(clean);\r\n ngModelCtrl.$render();\r\n }\r\n return clean;\r\n });\r\n\r\n element.bind('keypress', function (event) {\r\n if (event.keyCode === 32) {\r\n event.preventDefault();\r\n }\r\n });\r\n }\r\n };\r\n })\r\n .directive('myMaxlength', ['$compile', '$log', function ($compile, $log) {\r\n return {\r\n restrict: 'A',\r\n require: 'ngModel',\r\n link: function (scope, elem, attrs, ctrl) {\r\n attrs.$set(\"ngTrim\", \"false\");\r\n var maxlength = parseInt(attrs.myMaxlength, 10);\r\n ctrl.$parsers.push(function (value) {\r\n $log.info(\"In parser function value = [\" + value + \"].\");\r\n if (value.length > maxlength) {\r\n $log.info(\"The value [\" + value + \"] is too long!\");\r\n value = value.substr(0, maxlength);\r\n ctrl.$setViewValue(value);\r\n ctrl.$render();\r\n $log.info(\"The value is now truncated as [\" + value + \"].\");\r\n }\r\n return value;\r\n });\r\n }\r\n };\r\n }])\r\n\r\n .directive('numbersOnly', function () {\r\n return {\r\n require: 'ngModel',\r\n link: function (scope, element, attrs, modelCtrl) {\r\n modelCtrl.$parsers.push(function (inputValue) {\r\n // this next if is necessary for when using ng-required on your input. \r\n // In such cases, when a letter is typed first, this parser will be called\r\n // again, and the 2nd time, the value will be undefined\r\n if (inputValue == undefined) return ''\r\n var transformedInput = inputValue.replace(/[^0-9]/g, '');\r\n if (transformedInput != inputValue) {\r\n modelCtrl.$setViewValue(transformedInput);\r\n modelCtrl.$render();\r\n }\r\n\r\n return transformedInput;\r\n });\r\n }\r\n };\r\n })\r\n\r\n\r\n .directive('rowSelect', function () {\r\n return {\r\n require: '^stTable',\r\n template: '',\r\n scope: {\r\n row: '=rowSelect'\r\n },\r\n link: function (scope, element, attr, ctrl) {\r\n\r\n element.bind('click', function (evt) {\r\n\r\n scope.$apply(function () {\r\n\r\n ctrl.select(scope.row, 'multiple');\r\n\r\n });\r\n\r\n });\r\n\r\n scope.$watch('row.isSelected', function (newValue) {\r\n\r\n if (newValue === true) {\r\n\r\n element.parent().addClass('st-selected');\r\n element.find('input').attr('checked', true);\r\n\r\n } else {\r\n\r\n element.parent().removeClass('st-selected');\r\n element.find('input').attr('checked', false);\r\n\r\n }\r\n });\r\n }\r\n };\r\n })\r\n\r\n .directive('rowSelectAll', function () {\r\n\r\n return {\r\n require: '^stTable',\r\n template: '',\r\n scope: {\r\n all: '=rowSelectAll',\r\n selected: '='\r\n },\r\n link: function (scope, element, attr) {\r\n\r\n scope.isAllSelected = false;\r\n\r\n element.bind('click', function (evt) {\r\n\r\n scope.$apply(function () {\r\n\r\n scope.all.forEach(function (val) {\r\n\r\n val.isSelected = scope.isAllSelected;\r\n\r\n });\r\n\r\n });\r\n\r\n })\r\n\r\n // .directive('dynamicUrl', function () {\r\n // return {\r\n // restrict: 'A',\r\n // link: function postLink(scope, element, attr) {\r\n // element.attr('src', attr.dynamicUrlSrc);\r\n // }\r\n // };\r\n // })\r\n .filter('trusted', function ($sce) {\r\n return function (url) {\r\n return $sce.trustAsResourceUrl(url);\r\n }\r\n })\r\n .filter(\"trustUrl\", ['$sce', function ($sce) {\r\n return function (recordingUrl) {\r\n return $sce.trustAsResourceUrl(recordingUrl);\r\n };\r\n }])\r\n\r\n .directive('myDirectory', ['$parse', function ($parse) {\r\n function link(scope, element, attrs) {\r\n var model = $parse(attrs.myDirectory);\r\n element.on('change', function (event) {\r\n scope.data = []; //Clear shared scope in case user reqret on the selection\r\n model(scope, {\r\n file: event.target.files\r\n });\r\n \r\n });\r\n };\r\n return {\r\n link: link\r\n }\r\n }]);\r\n\r\n scope.$watchCollection('selected', function (newVal) {\r\n\r\n var s = newVal.length;\r\n var a = scope.all.length;\r\n\r\n if ((s == a) && s > 0 && a > 0) {\r\n\r\n element.find('input').attr('checked', true);\r\n scope.isAllSelected = false;\r\n\r\n } else {\r\n\r\n element.find('input').attr('checked', false);\r\n scope.isAllSelected = true;\r\n\r\n }\r\n\r\n });\r\n\r\n\r\n \r\n }\r\n };\r\n });\r\n\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n // angular\r\n // .module('KPMES.pages')\r\n angular.module('ui.multiselect', []);\r\n angular.module('ui.multiselect')\r\n .factory('optionParser', ['$parse', function ($parse) {\r\n \r\n var TYPEAHEAD_REGEXP = /^\\s*(.*?)(?:\\s+as\\s+(.*?))?\\s+for\\s+(?:([\\$\\w][\\$\\w\\d]*))\\s+in\\s+(.*)$/;\r\n\r\n return {\r\n parse: function (input) {\r\n\r\n var match = input.match(TYPEAHEAD_REGEXP), modelMapper, viewMapper, source;\r\n if (!match) {\r\n throw new Error(\r\n \"Expected typeahead specification in form of '_modelValue_ (as _label_)? for _item_ in _collection_'\" +\r\n \" but got '\" + input + \"'.\");\r\n }\r\n\r\n return {\r\n itemName: match[3],\r\n source: $parse(match[4]),\r\n viewMapper: $parse(match[2] || match[1]),\r\n modelMapper: $parse(match[1])\r\n };\r\n }\r\n };\r\n }])\r\n\r\n .directive('multiselect', ['$parse', '$document', '$compile', 'optionParser',\r\n\r\n function ($parse, $document, $compile, optionParser) {\r\n return {\r\n restrict: 'E',\r\n require: 'ngModel',\r\n link: function (originalScope, element, attrs, modelCtrl) {\r\n\r\n var exp = attrs.options,\r\n parsedResult = optionParser.parse(exp),\r\n isMultiple = attrs.multiple ? true : false,\r\n required = false,\r\n scope = originalScope.$new(),\r\n changeHandler = attrs.change || angular.noop;\r\n\r\n scope.items = [];\r\n scope.header = 'Select';\r\n scope.multiple = isMultiple;\r\n scope.disabled = false;\r\n scope.valid = validModel;\r\n\r\n\r\n originalScope.$on('$destroy', function () {\r\n scope.$destroy();\r\n });\r\n\r\n var popUpEl = angular.element('');\r\n\r\n //required validator\r\n if (attrs.required || attrs.ngRequired) {\r\n required = true;\r\n }\r\n attrs.$observe('required', function (newVal) {\r\n required = newVal;\r\n });\r\n\r\n //watch disabled state\r\n scope.$watch(function () {\r\n return $parse(attrs.disabled)(originalScope);\r\n }, function (newVal) {\r\n scope.disabled = newVal;\r\n });\r\n\r\n //watch single/multiple state for dynamically change single to multiple\r\n scope.$watch(function () {\r\n return $parse(attrs.multiple)(originalScope);\r\n }, function (newVal) {\r\n isMultiple = newVal || false;\r\n });\r\n\r\n //watch option changes for options that are populated dynamically\r\n scope.$watch(function () {\r\n return parsedResult.source(originalScope);\r\n }, function (newVal) {\r\n if (angular.isDefined(newVal))\r\n parseModel();\r\n });\r\n\r\n //watch model change\r\n scope.$watch(function () {\r\n return modelCtrl.$modelValue;\r\n }, function (newVal, oldVal) {\r\n //when directive initialize, newVal usually undefined. Also, if model value already set in the controller\r\n //for preselected list then we need to mark checked in our scope item. But we don't want to do this every time\r\n //model changes. We need to do this only if it is done outside directive scope, from controller, for example.\r\n if (angular.isDefined(newVal)) {\r\n markChecked(newVal);\r\n scope.$eval(changeHandler);\r\n }\r\n getHeaderText();\r\n modelCtrl.$setValidity('required', scope.valid());\r\n }, true);\r\n\r\n function parseModel() {\r\n scope.items.length = 0;\r\n var model = parsedResult.source(originalScope);\r\n for (var i = 0; i < model.length; i++) {\r\n var local = {};\r\n local[parsedResult.itemName] = model[i];\r\n scope.items.push({\r\n label: parsedResult.viewMapper(local),\r\n model: model[i],\r\n checked: false\r\n });\r\n }\r\n }\r\n\r\n parseModel();\r\n\r\n element.append($compile(popUpEl)(scope));\r\n\r\n function getHeaderText() {\r\n if (!modelCtrl.$modelValue || !modelCtrl.$modelValue.length) return scope.header = 'Select';\r\n if (isMultiple) {\r\n scope.header = modelCtrl.$modelValue.length + ' ' + 'selected';\r\n } else {\r\n var local = {};\r\n local[parsedResult.itemName] = modelCtrl.$modelValue;\r\n scope.header = parsedResult.viewMapper(local);\r\n }\r\n }\r\n\r\n function validModel() {\r\n if (!required) return true;\r\n var value = modelCtrl.$modelValue;\r\n return (angular.isArray(value) && value.length > 0) || (!angular.isArray(value) && value != null);\r\n };\r\n\r\n function selectSingle(item) {\r\n if (item.checked) {\r\n scope.uncheckAll();\r\n } else {\r\n scope.uncheckAll();\r\n item.checked = !item.checked;\r\n }\r\n setModelValue(false);\r\n }\r\n\r\n function selectMultiple(item) { \r\n item.checked = !item.checked;\r\n setModelValue(true);\r\n }\r\n\r\n function setModelValue(isMultiple) {\r\n var value;\r\n if (isMultiple) {\r\n value = [];\r\n angular.forEach(scope.items, function (item) {\r\n if (item.checked) value.push(item.model);\r\n })\r\n } else {\r\n angular.forEach(scope.items, function (item) {\r\n if (item.checked) {\r\n value = item.model;\r\n return false;\r\n }\r\n })\r\n }\r\n modelCtrl.$setViewValue(value);\r\n }\r\n\r\n function markChecked(newVal) {\r\n if (!angular.isArray(newVal)) {\r\n angular.forEach(scope.items, function (item) {\r\n if (angular.equals(item.model, newVal)) {\r\n item.checked = true;\r\n return false;\r\n }\r\n });\r\n } else {\r\n angular.forEach(newVal, function (i) {\r\n angular.forEach(scope.items, function (item) {\r\n if (angular.equals(item.model, i)) {\r\n item.checked = true;\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n scope.checkAll = function () {\r\n if (!isMultiple) return;\r\n angular.forEach(scope.items, function (item) {\r\n item.checked = true;\r\n });\r\n setModelValue(true);\r\n };\r\n\r\n scope.uncheckAll = function () {\r\n angular.forEach(scope.items, function (item) {\r\n item.checked = false;\r\n });\r\n setModelValue(true);\r\n };\r\n\r\n scope.select = function (item) {\r\n if (isMultiple === false) {\r\n selectSingle(item);\r\n scope.toggleSelect();\r\n } else {\r\n selectMultiple(item);\r\n }\r\n }\r\n }\r\n };\r\n }])\r\n\r\n .directive('multiselectPopup', ['$document', function ($document) {\r\n return {\r\n restrict: 'E',\r\n scope: false,\r\n replace: true,\r\n templateUrl: 'app/pages/directives/multiselect.tmpl.html',\r\n link: function (scope, element, attrs) {\r\n\r\n scope.isVisible = false;\r\n\r\n scope.toggleSelect = function () {\r\n if (element.hasClass('open')) {\r\n element.removeClass('open');\r\n $document.unbind('click', clickHandler);\r\n } else {\r\n element.addClass('open');\r\n scope.focus();\r\n $document.bind('click', clickHandler);\r\n }\r\n };\r\n\r\n function clickHandler(event) {\r\n if (elementMatchesAnyInArray(event.target, element.find(event.target.tagName)))\r\n return;\r\n element.removeClass('open');\r\n $document.unbind('click', clickHandler);\r\n scope.$digest();\r\n }\r\n\r\n scope.focus = function focus() {\r\n var searchBox = element.find('input')[0];\r\n searchBox.focus();\r\n }\r\n\r\n var elementMatchesAnyInArray = function (element, elementArray) {\r\n for (var i = 0; i < elementArray.length; i++)\r\n if (element == elementArray[i])\r\n return true;\r\n return false;\r\n }\r\n }\r\n }\r\n }])\r\n})();\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.employee')\r\n .controller('EmployeeCtrl', EmployeeCtrl);\r\n /** @ngInject */\r\n function EmployeeCtrl($http, $rootScope, lodash, dialogs, EmployeeService, DepartmentServices, DesignationService, AuthenticationService, $scope, $timeout) {\r\n var vm = this;\r\n $rootScope.isLoading = true;\r\n // Pagination code\r\n vm.rowCountOptions = [{ \"value\": 5 }, { \"value\": 10 }, { \"value\": 25 }, { \"value\": 50 }, { \"value\": 100 }]\r\n vm.noOfRows = vm.rowCountOptions[1];\r\n\r\n vm.currentPage = 1;\r\n vm.rembemberCurrentPage = function (num) {\r\n vm.currentPage = num;\r\n }\r\n // End of Pagination code\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n\r\n vm.isReporingToRequried = false;\r\n vm.EmployeeList = [];\r\n vm.EmployeeExperienceList = [];\r\n vm.EmployeeAcademicList = [];\r\n vm.LanguageSpokenList = [];\r\n vm.AreaofExpertiseList = [];\r\n // vm.EmployeeDocumentList = [];\r\n $rootScope.isLogin = false;\r\n var CompanyId = AuthenticationService.getLoggedUserDetails().SelectedCompany.CompanyId;\r\n // var loggedUser = AuthenticationService.getLoggedUserDetails();\r\n vm.isComAddSameAsPerAdd = false;\r\n vm.emp = {};\r\n vm.empCom = { EmpAddress: {} };\r\n vm.empPer = { EmpAddress: {} };\r\n vm.checkErr = false;\r\n vm.errMessage = '';\r\n vm.isEditingProPic = false;\r\n vm.GotoAcademicDetails =GotoAcademicDetails;\r\n vm.AcademicDetailsDetails = false;\r\n vm.ExperienceDetails = false;\r\n vm.AreaExpertiseDetails = false;\r\n vm.LanguagesSpokenDetails = false;\r\n vm.GotoAccountDetails = GotoAccountDetails;\r\n vm.EmployeeAccountDetails = false;\r\n vm.GotoAreaandlanguagedetails = GotoAreaandlanguagedetails;\r\n \r\n //vm.EmployeeAccountDetails = EmployeeAccountDetails;\r\n\r\n // Methods\r\n vm.GetDesignationByDepartmentId = GetDesignationByDepartmentId;\r\n // vm.GetDepartmentByCompanyId = GetDepartmentByCompanyId;\r\n vm.getReportingToList = getReportingToList;\r\n vm.editProPic = editProPic;\r\n\r\n // File upload methods\r\n $scope.photoChanged = photoChanged;\r\n $scope.getGraduationFiles = getGraduationFiles;\r\n\r\n vm.ProficiencyList = [{\r\n ProficiencyName: \"International\",\r\n ProficiencyId:1,\r\n }, { ProficiencyName: \"National\",ProficiencyId:2, }, { ProficiencyName: \"State\",ProficiencyId:3, }, { ProficiencyName: \"District\",ProficiencyId:4, }, { ProficiencyName: \"Zone\",ProficiencyId:5, }\r\n\r\n ];\r\n\r\n\r\n Init();\r\n ////////////////////\r\n\r\n function editProPic() {\r\n vm.isEditingProPic = true;\r\n }\r\n\r\n function photoChanged(event) {\r\n\r\n var reader = new FileReader();\r\n if (!vm.isEditingProPic) {\r\n vm.empProfilePic = event.target.files[0];\r\n reader.onload = $scope.imageIsLoaded;\r\n reader.readAsDataURL(vm.empProfilePic);\r\n } else {\r\n vm.empProfilePic = event.target.files[0];\r\n reader.onload = $scope.imageIsLoaded;\r\n reader.readAsDataURL(vm.empProfilePic);\r\n var formData = new FormData();\r\n formData.append('profilePic', vm.empProfilePic);\r\n formData.append('employeeId', vm.empId);\r\n EmployeeService.updateProfilePic(formData).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', 'Profile picture changed succussfully', \"Success\");\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', 'Internal server Error!', \"Error\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Internal server Error!', \"Error\");\r\n });\r\n }\r\n \r\n } \r\n\r\n function GotoAcademicDetails()\r\n {\r\n \r\n vm.AcademicDetailsDetails = true;\r\n vm.ExperienceDetails = true; \r\n \r\n }\r\n\r\n function GotoAreaandlanguagedetails()\r\n {\r\n vm.AreaExpertiseDetails = true;\r\n vm.LanguagesSpokenDetails = true;\r\n }\r\n function GotoAccountDetails()\r\n {\r\n vm.EmployeeAccountDetails = true;\r\n \r\n \r\n }\r\n\r\n function getGraduationFiles(event) {\r\n\r\n if (event)\r\n vm.empGraduationDocs = event.target.files;\r\n }\r\n\r\n $scope.imageIsLoaded = function (e) {\r\n $scope.$apply(function () {\r\n vm.profilePicUrl = e.target.result;\r\n });\r\n }\r\n\r\n function Init() {\r\n var objGetEmpDTO = {\r\n ActionBy: $rootScope.loggedUserId\r\n }\r\n //var CompanyId = AuthenticationService.getLoggedUserDetails().SelectedCompany.CompanyId;\r\n // vm.emp.Gender = false;\r\n // vm.emp.MaritalStatus = false;\r\n EmployeeService.getAllEmployees(CompanyId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.EmployeeList = res.data;\r\n $rootScope.isLoading = false;\r\n DepartmentServices.GetDepartmentByCompanyId(CompanyId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.DepartmentList = res.data;\r\n }\r\n });\r\n } else {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Employee\");\r\n }\r\n }, function (err) {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Employee\");\r\n });\r\n }\r\n\r\n function getReportingToList(callback) {\r\n var desigId = vm.emp.selectedDesignation.Superior;\r\n\r\n if (desigId) {\r\n EmployeeService.getAllCompanyEmployees(desigId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.ReportingtoList = res.data;\r\n vm.isReporingToRequried = true;\r\n if (callback)\r\n callback();\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Employee\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Employee\");\r\n });\r\n } else {\r\n vm.isReporingToRequried == false;\r\n }\r\n }\r\n vm.AddBankandPersonalDetails = function()\r\n {\r\n\r\n var obj = {\r\n CompanyId: CompanyId,\r\n EmployeeId: vm.empId,\r\n AccountNo: vm.student.AccountNo,\r\n NameofTheBank: vm.student.BankName,\r\n Branch:vm.student.Branch,\r\n IFSCcode:vm.student.IFSCCode,\r\n MICRcode:vm.student.MICRCode\r\n \r\n }\r\n EmployeeService.addNewEmpBankInfo(obj).then(function (res){\r\n if (res.status === 200) {\r\n $rootScope.showToaster(\"success\", \"Bank details added successfully\", \"Success\");\r\n // getAllEmpExperienceDetails(vm.empId);\r\n vm.student = {};\r\n } else {\r\n $rootScope.showToaster(\"error\", \"Something wrong, Try Again!\", \"Error\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"error\", \"Something wrong, Try Again!\", \"Error\");\r\n });\r\n }\r\n\r\n vm.AddBankandPersonalDetails = function()\r\n {\r\n\r\n var obj = {\r\n CompanyId: CompanyId,\r\n EmployeeId: vm.empId,\r\n AccountNo: vm.student.AccountNo,\r\n NameofTheBank: vm.student.BankName,\r\n Branch:vm.student.Branch,\r\n IFSCcode:vm.student.IFSCCode,\r\n MICRcode:vm.student.MICRCode,\r\n BloodGroup:vm.student.BloodGroup,\r\n AadhaarCardNo:vm.student.Aadhaarcardno,\r\n PhysicallyHandicapped:vm.student.Aadhaarcardno,\r\n Eligible:vm.student.Physicallyhandicapted,\r\n Participatesports:vm.student.Participate,\r\n ProficiencyId:vm.student.Proficiency.ProficiencyId,\r\n \r\n }\r\n\r\n\r\n var bankdetails = {\r\n AccountNo: vm.student.AccountNo,\r\n NameofTheBank: vm.student.BankName,\r\n Branch:vm.student.Branch,\r\n IFSCcode:vm.student.IFSCCode,\r\n MICRcode:vm.student.MICRCode,\r\n }\r\n\r\n\r\n var personaldetails = {\r\n BloodGroup:vm.student.BloodGroup,\r\n AadhaarCardNo:vm.student.Aadhaarcardno,\r\n PhysicallyHandicapped:vm.student.Aadhaarcardno,\r\n Eligible:vm.student.Physicallyhandicapted,\r\n Participatesports:vm.student.Participate,\r\n ProficiencyId:vm.student.Proficiency.ProficiencyId,\r\n }\r\n \r\n EmployeeService.addNewEmpBankInfo(obj).then(function (res){\r\n if (res.status === 200) {\r\n $rootScope.showToaster(\"success\", \"Bank details added successfully\", \"Success\");\r\n vm.student = {};\r\n } else {\r\n $rootScope.showToaster(\"error\", \"Something wrong, Try Again!\", \"Error\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"error\", \"Something wrong, Try Again!\", \"Error\");\r\n });\r\n }\r\n vm.AddStaffAreasofExpertise = function()\r\n {\r\n var obj = {\r\n\r\n CompanyId: CompanyId,\r\n EmployeeId: vm.empId,\r\n // TeachingChoice:vm.Areas.Teachingchoice1,\r\n SubjectField1:vm.Areas.Subject1,\r\n SubjectField2:vm.Areas.Subject2,\r\n SubjectField3:vm.Areas.Subject3,\r\n Level1:vm.Areas.Level1,\r\n Level2:vm.Areas.Level2,\r\n Level3:vm.Areas.Level3,\r\n\r\n\r\n }\r\n EmployeeService.addNewStaffAreasofExpertise(obj).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster(\"success\", \"AreaofExpertise details added successfully\", \"Success\");\r\n //getAllEmpExperienceDetails(vm.empId);\r\n //vm.emp2 = {};\r\n } else {\r\n $rootScope.showToaster(\"error\", \"Something wrong, Try Again!\", \"Error\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"error\", \"Something wrong, Try Again!\", \"Error\");\r\n });\r\n }\r\n vm.AddStaffLanguageSpoken = function()\r\n {\r\n var obj = {\r\n\r\n CompanyId: CompanyId,\r\n EmployeeId: vm.empId,\r\n // TeachingChoice:vm.Areas.Teachingchoice1,\r\n Language:vm.Language.Language1,\r\n Proficiency:vm.Language.Proficiency1,\r\n\r\n }\r\n\r\n EmployeeService.addNewStaffLanguageInfo(obj).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster(\"success\", \"Experience detail added successfully\", \"Success\");\r\n //getAllEmpExperienceDetails(vm.empId);\r\n //vm.emp2 = {};\r\n } else {\r\n $rootScope.showToaster(\"error\", \"Something wrong, Try Again!\", \"Error\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"error\", \"Something wrong, Try Again!\", \"Error\");\r\n });\r\n }\r\n\r\n vm.AddEmployeeExperience = function () {\r\n var obj = {\r\n CompanyId: CompanyId,\r\n EmployeeId: vm.empId,\r\n Organization: vm.emp2.Organization,\r\n Department: vm.emp2.Department,\r\n Designation: vm.emp2.Designation,\r\n FromDate: vm.emp2.FromDate,\r\n ToDate: vm.emp2.ToDate,\r\n YearsofExperience: vm.emp2.YearsofExperience,\r\n Remarks: vm.emp2.Remarks\r\n }\r\n EmployeeService.addNewEmpExperience(obj).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster(\"success\", \"Experience detail added successfully\", \"Success\");\r\n getAllEmpExperienceDetails(vm.empId);\r\n vm.emp2 = {};\r\n } else {\r\n $rootScope.showToaster(\"error\", \"Something wrong, Try Again!\", \"Error\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"error\", \"Something wrong, Try Again!\", \"Error\");\r\n });\r\n }\r\n\r\n vm.RemoveEmployeeExp = function (expId) {\r\n var confirm = dialogs.confirm('Confirm',\r\n 'Are sure you want to delete current row.', { animation: true, size: 'sm' });\r\n confirm.result.then(function () {\r\n EmployeeService.removeEmpExpInfo(expId).then(function (res) {\r\n if (res.status === 200 && res.data) {\r\n $rootScope.showToaster('success', 'Experience detail deleted successfully.', \"Success\");\r\n getAllEmpExperienceDetails(vm.empId);\r\n } else {\r\n $rootScope.showToaster('error', \"Something wrong, Try again!\", \"Error\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Something wrong, Try again!\", \"Error\");\r\n });\r\n });\r\n }\r\n\r\n vm.AddEmployeeAcademic = function (empacademic) {\r\n var bool = false;\r\n if (vm.EmployeeAcademicList && (vm.emp1.Graduation == '10' || vm.emp1.Graduation == '12')) {\r\n for (var i = 0; i < vm.EmployeeAcademicList.length; i++) {\r\n if (vm.EmployeeAcademicList[i][\"Graduation\"] == vm.emp1.Graduation) {\r\n bool = true;\r\n }\r\n }\r\n }\r\n\r\n if (!bool) {\r\n\r\n var obj = {\r\n CompanyId: CompanyId,\r\n EmployeeId: vm.empId,\r\n Graduation: vm.emp1.Graduation,\r\n Degree: vm.emp1.Degree,\r\n Specialization: vm.emp1.Specialization,\r\n University: vm.emp1.University,\r\n Percentage: vm.emp1.Percentage,\r\n YearofPassing: vm.emp1.YearsofPassing,\r\n Remarks: vm.emp1.Remarks\r\n };\r\n var formData = new FormData();\r\n for (var i in vm.empGraduationDocs) {\r\n formData.append('file' + i, vm.empGraduationDocs[i]);\r\n }\r\n\r\n formData.append('data', JSON.stringify(obj));\r\n EmployeeService.addNewEmpAcademicInfo(formData).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster(\"success\", \"Academic detail added successfully\", \"Success\");\r\n getAllEmpAcademicDetails(vm.empId);\r\n vm.empGraduationDocs = null;\r\n vm.emp1 = {};\r\n } else {\r\n $rootScope.showToaster(\"error\", \"Something wrong, Try Again!\", \"Error\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"error\", \"Something wrong, Try Again!\", \"Error\");\r\n });\r\n } else {\r\n $rootScope.showToaster(\"error\", \"That detail already exist!\", \"Error\");\r\n }\r\n }\r\n\r\n vm.RemoveEmployeeAcademic = function (row) {\r\n var confirm = dialogs.confirm('Confirm',\r\n 'Are sure you want to delete current row.', { animation: true, size: 'sm' });\r\n confirm.result.then(function () {\r\n EmployeeService.removeEmpAcademyInfo(row.AcademyId).then(function (res) {\r\n if (res.status === 200 && res.data) {\r\n $rootScope.showToaster('success', 'Academic detail deleted successfully.', \"Success\");\r\n getAllEmpAcademicDetails(vm.empId);\r\n } else {\r\n $rootScope.showToaster('error', \"Something wrong, Try again!\", \"Error\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Something wrong, Try again!\", \"Error\");\r\n });\r\n });\r\n }\r\n\r\n vm.checkErr = function (startDate, endDate) {\r\n vm.errMessage = '';\r\n if (startDate > endDate) {\r\n vm.errMessage = 'End Date should be greate than start date';\r\n vm.emp2.ToDate = '';\r\n return false;\r\n } else {\r\n vm.emp2.YearsofExperience = '';\r\n var Years = (endDate.getYear() - startDate.getYear());\r\n var Months = endDate.getMonth() - startDate.getMonth();\r\n\r\n var totalmonths = (Years * 12) + Months;\r\n var totalexp = (totalmonths / 12);\r\n vm.emp2.YearsofExperience = totalexp;\r\n return true;\r\n }\r\n\r\n }\r\n\r\n function GetDesignationByDepartmentId(DepartmentId, callback) {\r\n vm.DesignationList = null;\r\n\r\n DesignationService.GetDesigByDepId(DepartmentId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.DesignationList = res.data;\r\n if (callback)\r\n callback();\r\n }\r\n });\r\n }\r\n\r\n function getAllEmpAcademicDetails(empId) {\r\n EmployeeService.getAllEmpAcademyInfo(empId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.EmployeeAcademicList = res.data;\r\n } else {\r\n vm.EmployeeAcademicList = [];\r\n }\r\n }, function (err) {\r\n vm.EmployeeAcademicList = [];\r\n });\r\n }\r\n\r\n function getAllEmpExperienceDetails(empId) {\r\n EmployeeService.getAllEmpExpInfo(empId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.EmployeeExperienceList = res.data;\r\n } else {\r\n vm.EmployeeExperienceList = [];\r\n }\r\n }, function (err) {\r\n vm.EmployeeExperienceList = [];\r\n });\r\n }\r\n\r\n function getAllAreaofExpertiseDetails(AreaExpertiseId){\r\n EmployeeService.getAllAreaofExpertiseInfo(AreaExpertiseId).then (function(res){\r\n if(res.status ===200){\r\n vm.AreaofExpertiseList = res.data;\r\n }\r\n else{\r\n vm.AreaofExpertiseList =[];\r\n }\r\n },function(err){\r\n vm.AreaofExpertiseList =[];\r\n\r\n });\r\n }\r\n\r\n function getAllLanguageDetails(StaffLanguagespokenId){\r\n EmployeeService.getAllLanguageListInfo(StaffLanguagespokenId).then (function(res){\r\n if(res.status ===200){\r\n vm.LanguageSpokenList = res.data;\r\n }\r\n else{\r\n vm.LanguageSpokenList =[];\r\n }\r\n },function(err){\r\n vm.LanguageSpokenList =[];\r\n \r\n });\r\n }\r\n\r\n \r\n\r\n vm.Create = function () {\r\n vm.isFormOpen = true;\r\n }\r\n\r\n vm.cancel = function () {\r\n vm.isFormOpen = false;\r\n vm.resetForm();\r\n vm.emp = {};\r\n vm.emp1 = {};\r\n vm.emp2 = {};\r\n vm.empCom = { EmpAddress: {} };\r\n vm.empPer = { EmpAddress: {} }\r\n vm.empProfilePic = null;\r\n vm.profilePicUrl = null;\r\n vm.isComAddSameAsPerAdd = false;\r\n vm.emp.selectedDepartment = null;\r\n vm.emp.selectedDesignation = null;\r\n vm.emp.selectedReportingTo = null;\r\n vm.isEditing = false;\r\n vm.isReporingToRequried = false;\r\n Init();\r\n }\r\n\r\n vm.update = function () {\r\n if (vm.isComAddSameAsPerAdd) {\r\n vm.empCom.EmpAddress = angular.copy(vm.empPer.EmpAddress);\r\n } else {\r\n vm.empCom.EmpAddress = {};\r\n }\r\n };\r\n\r\n vm.resetForm = function () {\r\n vm.EmployeeForm.$setUntouched();\r\n }\r\n\r\n vm.EditEmployee = function (emp) {\r\n vm.isEditing = true;\r\n vm.isFormOpen = true;\r\n vm.emp = angular.copy(emp);\r\n vm.emp.DOJ = new Date(emp.DOJ);\r\n vm.emp.DOB = new Date(emp.DOB);\r\n vm.empId = emp.EmployeeId;\r\n vm.emp.BloodGroup = emp.BloodGroup;\r\n //'/EmployeeProfilePictures/' +\r\n vm.emp.staffdetails = (emp.StaffDetails == true) ? '0' : '1' \r\n vm.empProfilePic = vm.profilePicUrl = $rootScope.endPoint + emp.ProfilePhoto;\r\n vm.empPer.EmpAddress.Address1 = emp.EmpAddress.PerAddress1;\r\n vm.empCom.EmpAddress.Address1 = emp.EmpAddress.CommAddress1;\r\n vm.empPer.EmpAddress.Address2 = emp.EmpAddress.PerAddress2;\r\n vm.empCom.EmpAddress.Address2 = emp.EmpAddress.CommAddress2;\r\n vm.empPer.EmpAddress.Area = emp.EmpAddress.PerArea;\r\n vm.empCom.EmpAddress.Area = emp.EmpAddress.CommArea;\r\n vm.empPer.EmpAddress.City = emp.EmpAddress.PerCity;\r\n vm.empCom.EmpAddress.City = emp.EmpAddress.CommCity;\r\n vm.empPer.EmpAddress.State = emp.EmpAddress.PerState;\r\n vm.empCom.EmpAddress.State = emp.EmpAddress.CommState;\r\n vm.empPer.EmpAddress.Country = emp.EmpAddress.PerCountry;\r\n vm.empCom.EmpAddress.Country = emp.EmpAddress.CommCountry;\r\n vm.empPer.EmpAddress.PinCode = emp.EmpAddress.PerPincode;\r\n vm.empCom.EmpAddress.PinCode = emp.EmpAddress.CommPincode;\r\n vm.empPer.EmpAddress.EmailId = emp.EmpAddress.PerEmailId;\r\n vm.empCom.EmpAddress.EmailId = emp.EmpAddress.CommEmailId;\r\n vm.empPer.EmpAddress.MobileNo = parseInt(emp.EmpAddress.PerMobile);\r\n vm.empCom.EmpAddress.MobileNo = parseInt(emp.EmpAddress.CommMobile);\r\n vm.empPer.EmpAddress.LandlineNo = parseInt(emp.EmpAddress.PerLandline);\r\n vm.empCom.EmpAddress.LandlineNo = parseInt(emp.EmpAddress.CommLandline);\r\n vm.EmployeeAcademicList = emp.EmpAcademy;\r\n vm.EmployeeExperienceList = emp.EmpExperience;\r\n\r\n\r\n for (var d in vm.DepartmentList) {\r\n if (vm.DepartmentList[d].DepartmentId === emp.DepartmentId) {\r\n vm.emp.selectedDepartment = vm.DepartmentList[d];\r\n }\r\n }\r\n\r\n GetDesignationByDepartmentId(emp.DepartmentId, function () {\r\n for (var d in vm.DesignationList) {\r\n if (vm.DesignationList[d].DesignationId === emp.DesignationId) {\r\n vm.emp.selectedDesignation = vm.DesignationList[d];\r\n }\r\n }\r\n getReportingToList(function () {\r\n\r\n for (var d in vm.ReportingtoList) {\r\n if (vm.ReportingtoList[d].EmployeeId === emp.ReportingTo) {\r\n vm.emp.selectedReportingTo = vm.ReportingtoList[d];\r\n }\r\n }\r\n });\r\n vm.emp.ModifiedBy = $rootScope.loggedUserId;\r\n });\r\n }\r\n\r\n vm.RemoveEmployee = function (emp) {\r\n var confirm = dialogs.confirm('Confirm',\r\n 'Are sure you want to delete current Employee.', { animation: true, size: 'sm' });\r\n confirm.result.then(function () {\r\n EmployeeService.RemoveEmployee(emp.EmployeeId).then(function (res) {\r\n if (res.data) {\r\n $rootScope.showToaster('success', 'Employee deleted successfully', \"Employee Master\");\r\n Init();\r\n } else {\r\n $rootScope.showToaster(\"Employee Removal Status\", \"Dependent Employee Cannot be deleted\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Something error...try again\", \"Employee Master\");\r\n });\r\n }, function () { });\r\n }\r\n\r\n vm.changeActiveEmployee = function (emp) {\r\n var msg = 'Are sure you want to ' + ((emp.IsActive) ? 'Deactive' : 'Active') + ' current row.'\r\n var msg2 = ((emp.IsActive) ? 'Deactive' : 'Active') + 'Employee Successfully.'\r\n var confirm = dialogs.confirm('Confirm',\r\n msg, { animation: true, size: 'sm' });\r\n\r\n confirm.result.then(function () {\r\n EmployeeService.changeActiveEmployee(emp.EmployeeId).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', msg2, \"Employee\");\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', \"Can't InActive Employee\", { animation: true, size: 'sm' });\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Can't InActive Employee. If its not a parent contact your Admin\", { animation: true, size: 'sm' });\r\n });\r\n }, function () {\r\n\r\n })\r\n }\r\n\r\n vm.SaveEmployee = function (emp) {\r\n emp.CompanyId = CompanyId;\r\n emp.DepartmentId = vm.emp.selectedDepartment.DepartmentId;\r\n emp.DesignationId = vm.emp.selectedDesignation.DesignationId;\r\n\r\n if (vm.emp.selectedReportingTo === null || vm.emp.selectedReportingTo === undefined)\r\n emp.ReportingTo = 0;\r\n else\r\n emp.ReportingTo = vm.emp.selectedReportingTo.EmployeeId;\r\n\r\n emp.Gender = vm.emp.Gender;\r\n emp.MaritalStatus = vm.emp.MaritalStatus;\r\n // emp.Teaching = (emp.Teaching == (\"T\" || undefined) ? false:true),\r\n // emp.NonTeaching =(emp.NonTeaching == (\"NT\"|| undefined) ? false:true),\r\n // emp.Teaching = vm.emp.Teaching,\r\n // emp.NonTeaching = vm.emp.addNewEmpAcademicInfo,\r\n emp.KpostId = vm.emp.KpostId;\r\n // vm.emp.CreatedBy = $rootScope.loggedUserId;\r\n \r\n\r\n \r\n\r\n // emp.ReportingTo = vm.emp.selectedReportingTo.EmployeeId;\r\n emp.EmpAcademy = vm.EmployeeAcademicList;\r\n emp.EmpExperience = vm.EmployeeExperienceList;\r\n emp.AreaofExpertiseList = vm.AreaofExpertiseList;\r\n emp.LanguageSpokenList = vm.LanguageSpokenList;\r\n\r\n\r\n emp.EmpAddress = {};\r\n emp.EmpAddress.PerAddress1 = vm.empPer.EmpAddress.Address1;\r\n emp.EmpAddress.CommAddress1 = vm.empCom.EmpAddress.Address1;\r\n emp.EmpAddress.PerAddress2 = vm.empPer.EmpAddress.Address2;\r\n emp.EmpAddress.CommAddress2 = vm.empCom.EmpAddress.Address2;\r\n emp.EmpAddress.PerArea = vm.empPer.EmpAddress.Area;\r\n emp.EmpAddress.CommArea = vm.empCom.EmpAddress.Area;\r\n emp.EmpAddress.PerCity = vm.empPer.EmpAddress.City;\r\n emp.EmpAddress.CommCity = vm.empCom.EmpAddress.City;\r\n emp.EmpAddress.PerState = vm.empPer.EmpAddress.State;\r\n emp.EmpAddress.CommState = vm.empCom.EmpAddress.State;\r\n emp.EmpAddress.PerCountry = vm.empPer.EmpAddress.Country;\r\n emp.EmpAddress.CommCountry = vm.empCom.EmpAddress.Country;\r\n emp.EmpAddress.PerPincode = vm.empPer.EmpAddress.PinCode;\r\n emp.EmpAddress.CommPincode = vm.empCom.EmpAddress.PinCode;\r\n emp.EmpAddress.PerEmailId = vm.empPer.EmpAddress.EmailId;\r\n emp.EmpAddress.CommEmailId = vm.empCom.EmpAddress.EmailId;\r\n emp.EmpAddress.PerMobile = vm.empPer.EmpAddress.MobileNo;\r\n emp.EmpAddress.CommMobile = vm.empCom.EmpAddress.MobileNo;\r\n emp.EmpAddress.PerLandline = vm.empPer.EmpAddress.LandlineNo;\r\n emp.EmpAddress.CommLandline = vm.empCom.EmpAddress.LandlineNo;\r\n // emp.staffdetails = parseInt(vm.emp.staffdetails);\r\n debugger\r\n emp.staffdetails = (emp.staffdetails == 1) ? true : false\r\n \r\n\r\n var formData = new FormData();\r\n formData.append('data', JSON.stringify(emp));\r\n formData.append('profilePic', vm.empProfilePic);\r\n console.log(\"FORMDATA==>\"+ JSON.stringify(emp));\r\n return;\r\n if (!vm.isEditing) {\r\n EmployeeService.AddEmployee(formData).then(function (res) {\r\n $rootScope.showToaster('success', 'Employee added successfully', \"success\");\r\n Init();\r\n vm.cancel();\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Something error...try again\", \"Error\");\r\n });\r\n vm.isReporingToRequried = false;\r\n } else {\r\n EmployeeService.EditEmployee(emp).then(function (res) {\r\n $rootScope.showToaster('success', 'Employee updated successfully', \"Success\");\r\n Init();\r\n vm.cancel();\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Something error...try again\", \"Error\");\r\n });\r\n vm.emp = {};\r\n vm.emp1 = {};\r\n }\r\n }\r\n\r\n vm.RemoveEmployee = function (emp) {\r\n EmployeeService.RemoveEmployee(emp.EmployeeId).then(function (res) {\r\n $rootScope.showToaster('success', 'Employee deleted successfully', \"Employee Master\");\r\n Init();\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n }\r\n\r\n // Datepicker code \r\n vm.today = function () {\r\n vm.dt = new Date();\r\n };\r\n vm.today();\r\n\r\n vm.clear = function () {\r\n vm.dt = null;\r\n };\r\n\r\n vm.inlineOptions = {\r\n customClass: getDayClass,\r\n minDate: new Date(),\r\n showWeeks: true\r\n };\r\n\r\n vm.dateOptions = {\r\n dateDisabled: disabled,\r\n formatYear: 'yy',\r\n maxDate: new Date(2020, 5, 22),\r\n minDate: new Date(),\r\n startingDay: 1\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 vm.toggleMin = function () {\r\n vm.inlineOptions.minDate = vm.inlineOptions.minDate ? null : new Date();\r\n vm.dateOptions.minDate = vm.inlineOptions.minDate;\r\n };\r\n\r\n vm.toggleMin();\r\n\r\n vm.open1 = function () {\r\n vm.popup1.opened = true;\r\n };\r\n\r\n vm.open2 = function () {\r\n vm.popup2.opened = true;\r\n var today = new Date();\r\n var minAge = 18;\r\n\r\n vm.options = {\r\n maxDate: new Date(today.getFullYear() - minAge, today.getMonth(), today.getDate())\r\n }\r\n\r\n };\r\n\r\n vm.open3 = function () {\r\n vm.popup3.opened = true;\r\n };\r\n\r\n vm.open4 = function () {\r\n vm.popup4.opened = true;\r\n };\r\n\r\n vm.setDate = function (year, month, day) {\r\n vm.dt = new Date(year, month, day);\r\n };\r\n\r\n vm.formats = ['dd-MMMM-yyyy', 'yyyy/MM/dd', 'dd.MM.yyyy', 'shortDate'];\r\n vm.format = vm.formats[0];\r\n vm.altInputFormats = ['M!/d!/yyyy'];\r\n\r\n vm.popup1 = {\r\n opened: false\r\n };\r\n\r\n vm.popup2 = {\r\n opened: false\r\n };\r\n vm.popup3 = {\r\n opened: false\r\n };\r\n\r\n vm.popup4 = {\r\n opened: false\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();\r\n afterTomorrow.setDate(tomorrow.getDate() + 1);\r\n vm.events = [{\r\n date: tomorrow,\r\n status: 'full'\r\n }, {\r\n date: afterTomorrow,\r\n status: 'partially'\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 < vm.events.length; i++) {\r\n var currentDay = new Date(vm.events[i].date).setHours(0, 0, 0, 0);\r\n\r\n if (dayToCheck === currentDay) {\r\n return vm.events[i].status;\r\n }\r\n }\r\n }\r\n return '';\r\n }\r\n }\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.employeeChart')\r\n .controller('EmployeeChartCtrl', EmployeeChartCtrl);\r\n\r\n function EmployeeChartCtrl($http, $rootScope,$scope, lodash, dialogs, EmployeeChartService, DepartmentServices, DesignationService) {\r\n var vm = this;\r\n vm.noOfRows = \"10\";\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.isLoading = true;\r\n $rootScope.isLogin = false;\r\n vm.convertImage = convertImage;\r\n \r\n Init();\r\n function convertImage()\r\n { \r\n var chartView = document.getElementById('chartView');\r\n var imageView = document.getElementById('imageView');\r\n html2canvas(chartView, {\r\n onrendered: function(canvas) {\r\n imageView.appendChild(canvas);\r\n }\r\n });\r\n }\r\n function Init() {\r\n\r\n EmployeeChartService.getEmployeesChart().then(function (res) {\r\n if (res.status === 200) {\r\n //vm.chart = JSON.parse(res.data);\r\n vm.chart = {\r\n type: \"OrgChart\",\r\n data: JSON.parse(res.data),\r\n options: {allowHtml:true,allowCollapse:true}\r\n };\r\n\r\n vm.isLoading = false;\r\n\r\n }\r\n else {\r\n dialogs.error('error', 'Load Failed! Try Again', \"Area\");\r\n }\r\n },\r\n function (err) {\r\n dialogs.error('error', 'Error! Try Again', \"Area\");\r\n });\r\n }\r\n\r\n // Create the chart.\r\n var chart = new google.visualization.OrgChart(document.getElementById('chartView'));\r\n \r\n // selection\r\n google.visualization.events.addListener(chart, 'select', function () {\r\n // get the row of the node clicked\r\n var selection = chart.getSelection();\r\n var row = selection[0].row;\r\n // get a list of all collapsed nodes\r\n var collapsed = chart.getCollapsedNodes();\r\n // if the node is collapsed, we want to expand it\r\n // if it is not collapsed, we want to collapse it\r\n var collapse = (collapsed.indexOf(row) == -1);\r\n chart.collapse(row, collapse);\r\n // clear the selection so the next click will work properly\r\n chart.setSelection();\r\n });\r\n \r\n\r\n }\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.exercise')\r\n .controller('ExerciseCtrl', ExerciseCtrl);\r\n\r\n /** @ngInject */\r\n function ExerciseCtrl($http, $rootScope, lodash, dialogs,ClassRoomService, ChapterService, SectionService, SubjectService, UnitService,ExerciseService,AuthenticationService) {\r\n var vm = this;\r\n // Pagination code\r\n vm.rowCountOptions = [{ \"value\": 5 }, { \"value\": 10 }, { \"value\": 25 }, { \"value\": 50 }, { \"value\": 100 }]\r\n vm.noOfRows = vm.rowCountOptions[1];\r\n\r\n vm.currentPage = 1;\r\n vm.rembemberCurrentPage = function (num) {\r\n vm.currentPage = num;\r\n }\r\n // End of Pagination code\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.isLoading = true;\r\n vm.Create = Create;\r\n vm.cancel = cancel;\r\n vm.editExecise = editExecise;\r\n vm.removeExercise = removeExercise;\r\n vm.SaveExercise = SaveExercise;\r\n vm.getSectionByClass = getSectionByClass;\r\n vm.getSubjectBySection = getSubjectBySection;\r\n vm.getChapterBySubject = getChapterBySubject;\r\n vm.getUnitByChapters = getUnitByChapters;\r\n vm.exercise = {};\r\n var logggedUser = AuthenticationService.getLoggedUserDetails();\r\n\r\n Init()\r\n function Init() {\r\n var companyId = AuthenticationService.getLoggedUserDetails().SelectedCompany.CompanyId; \r\n\r\n ExerciseService.GetAllExercise().then(function(res) {\r\n if (res.status === 200) {\r\n vm.ExerciseList = res.data;\r\n ClassRoomService.GetAllClassRoom().then(function (res) {\r\n if (res.status === 200) {\r\n vm.ClassRoomList = res.data;\r\n\r\n // console.log(\"vm.ClassRoomList\"+JSON.stringify(vm.ClassRoomList))\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Exercise\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Exercise\");\r\n });\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Exercise\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Exercise\");\r\n });\r\n}\r\n\r\n\r\n\r\n \r\n\r\n\r\n function getSectionByClass(ClassId, callBack) {\r\n if (ClassId) {\r\n vm.exercise.selectedSection = null;\r\n vm.SectionList = [];\r\n vm.exercise.selectedSubject = null;\r\n vm.SubjectList = [];\r\n vm.exercise.UnitName = \"\";\r\n SectionService.GetAllSectionByClass(ClassId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.SectionList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n else {\r\n vm.exercise.selectedSection = null;\r\n vm.SectionList = [];\r\n vm.exercise.selectedSubject = null;\r\n vm.SubjectList = [];\r\n vm.exercise.selectedChapter = null;\r\n vm.ChapterList = [];\r\n }\r\n }\r\n\r\n function getSubjectBySection(ClassId, SectionId, callBack) {\r\n if (SectionId) {\r\n vm.exercise.selectedSubject = null;\r\n vm.SubjectList = [];\r\n var obj = {\r\n ClassId: ClassId,\r\n SectionId: SectionId\r\n }\r\n SubjectService.getAllSubjectBySection(obj).then(function (res) {\r\n if (res.status === 200) {\r\n vm.SubjectList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n else {\r\n vm.exercise.selectedSubject = null;\r\n vm.SubjectList = [];\r\n }\r\n }\r\n function getChapterBySubject(ClassId, SectionId, SubjectId, callBack) {\r\n if (SubjectId) {\r\n vm.exercise.selectedChapter = null;\r\n vm.ChapterList = [];\r\n\r\n var obj = {\r\n ClassId: ClassId,\r\n SectionId: SectionId,\r\n SubjectId: SubjectId\r\n }\r\n\r\n ChapterService.GetAllChapterBySubject(obj).then(function (res) {\r\n if (res.status === 200) {\r\n vm.ChapterList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n else {\r\n vm.exercise.selectedChapter = null;\r\n vm.ChapterList = [];\r\n }\r\n }\r\n function getUnitByChapters(ClassId, SectionId, SubjectId,ChapterId, callBack) {\r\n if (ChapterId) {\r\n vm.exercise.selectedUnit = null;\r\n vm.UnitList = [];\r\n\r\n var obj = {\r\n ClassId: ClassId,\r\n SectionId: SectionId,\r\n SubjectId: SubjectId,\r\n ChapterId: ChapterId\r\n }\r\n UnitService.GetAllUnitByChapter(obj).then(function (res) {\r\n if (res.status === 200) {\r\n vm.UnitList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n else {\r\n vm.exercise.selectedChapter = null;\r\n vm.UnitList = [];\r\n }\r\n }\r\n\r\n\r\n\r\n function Create() {\r\n vm.isEditing = false;\r\n vm.isFormOpen = true;\r\n vm.isTableOpen = false;\r\n }\r\n function cancel() {\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.exercise = {};\r\n }\r\n\r\n function resetForm() {\r\n vm.ExerciseForm.$setUntouched();\r\n }\r\n\r\n function editExecise(exercise) {\r\n vm.isEditing = true;\r\n vm.isFormOpen = true;\r\n vm.isTableOpen = false;\r\n vm.exercise = angular.copy(exercise);\r\n\r\n \r\n for (var i in vm.ClassRoomList) {\r\n // vm.exercise = angular.copy(exercise);\r\n if (vm.ClassRoomList[i].ClassId === exercise.ClassId) {\r\n vm.exercise.selectedClassRoom = vm.ClassRoomList[i]\r\n }\r\n }\r\n\r\n\r\n getSectionByClass(exercise.ClassId, function () {\r\n for (var i in vm.SectionList) {\r\n if (vm.SectionList[i].SectionId === exercise.SectionId) {\r\n vm.exercise.selectedSection = vm.SectionList[i];\r\n }\r\n }\r\n });\r\n\r\n getSubjectBySection(exercise.ClassId, exercise.SectionId, function () {\r\n for (var i in vm.SubjectList) {\r\n if (vm.SubjectList[i].SubjectId === exercise.SubjectId) {\r\n vm.exercise.selectedSubject = vm.SubjectList[i]\r\n }\r\n }\r\n });\r\n\r\n\r\n getChapterBySubject(exercise.ClassId, exercise.SectionId, exercise.SubjectId, function () {\r\n for (var i in vm.ChapterList) {\r\n if (vm.ChapterList[i].ChapterId === exercise.ChapterId) {\r\n vm.exercise.selectedChapter = vm.ChapterList[i]\r\n }\r\n }\r\n });\r\n getUnitByChapters(exercise.ClassId, exercise.SectionId, exercise.SubjectId,exercise.ChapterId, function () {\r\n for (var i in vm.UnitList) {\r\n if (vm.UnitList[i].UnitId === exercise.UnitId) {\r\n vm.exercise.selectedUnit = vm.UnitList[i]\r\n }\r\n }\r\n });\r\n\r\n \r\n\r\n }\r\n\r\n \r\n\r\n function removeExercise(exercise) {\r\n var confirm = dialogs.confirm('Confirm', 'Are sure you want to delete current row.', {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n\r\n confirm.result.then(function() {\r\n ExerciseService.removeExercise(exercise.ExerciseId).then(function(res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', 'Delete Exercise Successfully', \"Exercise\");\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', \"Can't Delete Exercise\", {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n }\r\n }, function(err) {\r\n $rootScope.showToaster('error', \"Can't Delete Exercise. If its not a parent contact your Admin\", {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n });\r\n }, function() {\r\n\r\n })\r\n }\r\n\r\n function SaveExercise() {\r\n var logggedUser = AuthenticationService.getLoggedUserDetails();\r\n if (!vm.isEditing) {\r\n var exercise = { \r\n ClassId:vm.exercise.selectedClassRoom.ClassId,\r\n SectionId:vm.exercise.selectedSection.SectionId,\r\n SubjectId:vm.exercise.selectedSubject.SubjectId,\r\n ChapterId:vm.exercise.selectedChapter.ChapterId,\r\n UnitId: vm.exercise.selectedUnit.UnitId,\r\n ExerciseName:vm.exercise.ExerciseName,\r\n CreatedBy: logggedUser.UserId\r\n }\r\n ExerciseService.SaveExercise(exercise).then(function(res) {\r\n if (res.data.IsSuccess === true) {\r\n $rootScope.showToaster('success', res.data.Message, \"Exercise Name\");\r\n Init();\r\n vm.isFormOpen = false;\r\n cancel();\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Exercise Name\");\r\n vm.isFormOpen = true;\r\n }\r\n \r\n }, function(err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n \r\n } else {\r\n var exercise = {\r\n ExerciseId: vm.exercise.ExerciseId,\r\n ClassId:vm.exercise.selectedClassRoom.ClassId,\r\n SectionId:vm.exercise.selectedSection.SectionId,\r\n SubjectId:vm.exercise.selectedSubject.SubjectId,\r\n ChapterId:vm.exercise.selectedChapter.ChapterId,\r\n UnitId: vm.exercise.selectedUnit.UnitId,\r\n ExerciseName:vm.exercise.ExerciseName,\r\n IsActive:vm.exercise.IsActive,\r\n ModifiedBy:logggedUser.UserId\r\n }\r\n ExerciseService.updateExercise(exercise).then(function(res) {\r\n if (res.data.IsSuccess === true) {\r\n $rootScope.showToaster('success', res.data.Message, \"State Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n cancel();\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"State Master\");\r\n vm.isFormOpen = true;\r\n } \r\n }, function(err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n \r\n }\r\n }\r\n\r\n }\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.institution')\r\n .controller('institutionCtrl', institutionCtrl);\r\n\r\n /** @ngInject */\r\n function institutionCtrl($rootScope, lodash, dialogs, $http, DepartmentServices, CompanyService, AuthenticationService) {\r\n var vm = this;\r\n // Pagination code\r\n vm.rowCountOptions = [{\r\n \"value\": 5\r\n }, {\r\n \"value\": 10\r\n }, {\r\n \"value\": 25\r\n }, {\r\n \"value\": 50\r\n }, {\r\n \"value\": 100\r\n }]\r\n vm.noOfRows = vm.rowCountOptions[1];\r\n\r\n vm.currentPage = 1;\r\n vm.rembemberCurrentPage = function (num) {\r\n vm.currentPage = num;\r\n }\r\n // End of Pagination code\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.isLoading = true;\r\n vm.DesignationList = [];\r\n vm.desig = {};\r\n var loggedUser = AuthenticationService.getLoggedUserDetails();\r\n $rootScope.isLogin = false;\r\n // Methods\r\n\r\n vm.Create = Create;\r\n vm.cancel = cancel;\r\n vm.resetForm = resetForm;\r\n vm.getAllEducationalSyllabus = getAllEducationalSyllabus;\r\n vm.getAllMediumInstruction = getAllMediumInstruction;\r\n vm.getAllEducationalSystem = getAllEducationalSystem;\r\n vm.SaveInstitution = SaveInstitution;\r\n // var type = $stateParams.type;\r\n\r\n // if (type == \"Ins\") {\r\n // $rootScope.isLogin = true;\r\n // } else {\r\n // $rootScope.isLogin = false;\r\n // }\r\n\r\n\r\n\r\n Init();\r\n //////////////////\r\n\r\n function Init() {\r\n\r\n \r\n CompanyService.getAllInstitutionIns(InstitutionInsId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.InstitutionInsList = res.data;\r\n //getAllEducationalSyllabus();\r\n\r\n vm.isLoading = false;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Employee\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Employee\");\r\n });\r\n\r\n\r\n // CompanyService.getAllEduInstitutionName().then(function (res) {\r\n // if (res.status === 200) {\r\n // vm.InstitutionNameList = res.data;\r\n // // getAllEducationalSyllabus();\r\n\r\n\r\n // vm.isLoading = false;\r\n // } else {\r\n // $rootScope.showToaster('error', 'Load Failed! Try Again', \"Employee\");\r\n // }\r\n // }, function (err) {\r\n // $rootScope.showToaster('error', 'Error! Try Again', \"Employee\");\r\n // });\r\n\r\n\r\n CompanyService.getAllInstitutionFund().then(function (res) {\r\n if (res.status === 200) {\r\n vm.InstitutionFundList = res.data;\r\n getAllEducationalSyllabus();\r\n\r\n vm.isLoading = false;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Employee\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Employee\");\r\n });\r\n\r\n \r\n CompanyService.getallTypeofEducational().then(function (res) {\r\n if (res.status === 200) {\r\n vm.EducationList = res.data;\r\n vm.isLoading = false;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Employee\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Employee\");\r\n });\r\n\r\n \r\n }\r\n\r\n\r\n function getAllEducationalSyllabus() {\r\n\r\n\r\n CompanyService.getAllEducationalSyllabus().then(function (res) {\r\n if (res.status === 200) {\r\n vm.EduSyllabusList = res.data;\r\n getAllMediumInstruction();\r\n\r\n\r\n vm.isLoading = false;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Employee\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Employee\");\r\n });\r\n }\r\n\r\n\r\n function getAllMediumInstruction() {\r\n\r\n\r\n CompanyService.getAllMediumInstruction().then(function (res) {\r\n if (res.status === 200) {\r\n vm.MediumList = res.data;\r\n getAllEducationalSystem();\r\n\r\n\r\n vm.isLoading = false;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Employee\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Employee\");\r\n });\r\n }\r\n function getAllEducationalSystem() {\r\n CompanyService.getAllEducationalSystem().then(function (res) {\r\n if (res.status === 200) {\r\n vm.EducationsystemList = res.data;\r\n vm.isLoading = false;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Employee\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Employee\");\r\n });\r\n }\r\n\r\n function SaveInstitution(InstitutionIns) {\r\n\r\n // console.log(JSON.stringify(InstitutionIns));\r\n\r\n // console.log(JSON.stringify(vm.EduSyllabusList));\r\n var logggedUser = AuthenticationService.getLoggedUserDetails();\r\n InstitutionIns.InsFundedId = vm.InstitutionIns.selectedInstitutionFund.InsFundedId,\r\n InstitutionIns.EduSyllabusId = vm.InstitutionIns.selectedEducationalSyllabus.EduSyllabusId,\r\n InstitutionIns.EduSystemId = vm.InstitutionIns.selectedMedium.MediumId,\r\n InstitutionIns.MediumId = vm.InstitutionIns.selectedEdusystem.EduSystemId,\r\n InstitutionIns.EducationId = vm.InstitutionIns.selectedInstitutionname.EducationId\r\n \r\n\r\n if (!vm.isEditing) {\r\n InstitutionIns.CreatedBy = logggedUser.UserId;\r\n CompanyService.AddInstitutionInsitiation(InstitutionIns).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n $rootScope.showToaster('success', res.data.Message, \"Department Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n cancel();\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Department Master\");\r\n vm.isFormOpen = true;\r\n }\r\n\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n\r\n } else {\r\n dept.ModifiedBy = logggedUser.UserId;\r\n DepartmentServices.EditDepartment(dept).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n $rootScope.showToaster('success', res.data.Message, \"Department Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n cancel();\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Department Master\");\r\n vm.isFormOpen = true;\r\n }\r\n\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n\r\n }\r\n }\r\n\r\n\r\n function Create() {\r\n vm.code = true;\r\n vm.isFormOpen = true;\r\n\r\n\r\n }\r\n\r\n function cancel() {\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n resetForm();\r\n // vm.InstitutionIns.selectedInstitutionFund = null;\r\n // vm.InstitutionIns.selectedEducationalSyllabus = null;\r\n // vm.InstitutionIns.selectedMedium = null;\r\n // vm.InstitutionIns.selectedEdusystem = null;\r\n\r\n }\r\n\r\n function resetForm() {\r\n vm.InstitutionInsForm.$setUntouched();\r\n }\r\n }\r\n})();\n// import { LOADIPHLPAPI } from \"dns\";\r\n\r\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.questionandAnswer')\r\n .controller('QuestionCtrl', QuestionCtrl);\r\n\r\n /** @ngInject */\r\n function QuestionCtrl($http, $rootScope, lodash, dialogs, ClassRoomService, ChapterService, SectionService, SubjectService, UnitService, QuestionService, AuthenticationService) {\r\n var vm = this;\r\n // Pagination code\r\n vm.rowCountOptions = [{ \"value\": 2 }, { \"value\": 5 }, { \"value\": 10 }, { \"value\": 25 }, { \"value\": 50 }, { \"value\": 100 }]\r\n vm.noOfRows = vm.rowCountOptions[1];\r\n\r\n vm.currentPage = 1;\r\n vm.rembemberCurrentPage = function (num) {\r\n vm.currentPage = num;\r\n }\r\n // End of Pagination code\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.isLoading = true;\r\n vm.Create = Create;\r\n vm.cancel = cancel;\r\n vm.editQuestion = editQuestion;\r\n vm.removeQuestion = removeQuestion;\r\n vm.SaveQuestion = SaveQuestion;\r\n vm.getSectionByClass = getSectionByClass;\r\n vm.getSubjectBySection = getSubjectBySection;\r\n vm.getChapterBySubject = getChapterBySubject;\r\n vm.getUnitByChapters = getUnitByChapters;\r\n vm.GetAllExerciseByUnit = GetAllExerciseByUnit;\r\n vm.SavetheOptions = SavetheOptions;\r\n vm.question = {};\r\n vm.QuestionTypesList = [];\r\n var logggedUser = AuthenticationService.getLoggedUserDetails();\r\n\r\n\r\n\r\n Init()\r\n function Init() {\r\n\r\n vm.OptionsList = [];\r\n var companyId = AuthenticationService.getLoggedUserDetails().SelectedCompany.CompanyId;\r\n\r\n QuestionService.GetAllQuestionandAnswer().then(function (res) {\r\n if (res.status === 200) {\r\n vm.QuestionList = res.data;\r\n\r\n //LoadDropDownValues('Class');\r\n \r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Exercise\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Exercise\");\r\n });\r\n\r\n\r\n ClassRoomService.GetAllClassRoom().then(function (res1) {\r\n if (res1.status === 200) {\r\n vm.ClassRoomList = res1.data;\r\n QuestionService.GetAllQuestionTypes().then(function (res2) {\r\n if (res2.status === 200) {\r\n vm.QuestionTypesList = res2.data;\r\n\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Exercise\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Exercise\");\r\n });\r\n\r\n // console.log(\"vm.ClassRoomList\"+JSON.stringify(vm.ClassRoomList))\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Exercise\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Exercise\");\r\n });\r\n\r\n }\r\n\r\n\r\n // function LoadDropDownValues(LoadFor) {\r\n // if (LoadFor == 'Class') {\r\n // vm.ClassList = [];\r\n\r\n // var inputdata = {\r\n // \"SelectFor\": LoadFor\r\n // }\r\n\r\n\r\n // }\r\n // else if (LoadFor == 'Section') {\r\n // var inputdata = {\r\n // \"ClassId\":vm.question.selectedClassRoom.Id,\r\n // \"SelectFor\": LoadFor\r\n // }\r\n // }\r\n // }\r\n\r\n function getSectionByClass(ClassId, callBack) {\r\n if (ClassId) {\r\n vm.question.selectedSection = null;\r\n vm.SectionList = [];\r\n vm.question.selectedSubject = null;\r\n vm.SubjectList = [];\r\n vm.question.UnitName = \"\";\r\n SectionService.GetAllSectionByClass(ClassId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.SectionList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n else {\r\n vm.question.selectedSection = null;\r\n vm.SectionList = [];\r\n vm.question.selectedSubject = null;\r\n vm.SubjectList = [];\r\n vm.question.selectedChapter = null;\r\n vm.ChapterList = [];\r\n }\r\n }\r\n\r\n function getSubjectBySection(ClassId, SectionId, callBack) {\r\n if (SectionId) {\r\n vm.question.selectedSubject = null;\r\n vm.SubjectList = [];\r\n var obj = {\r\n ClassId: ClassId,\r\n SectionId: SectionId\r\n }\r\n SubjectService.getAllSubjectBySection(obj).then(function (res) {\r\n if (res.status === 200) {\r\n vm.SubjectList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n else {\r\n vm.question.selectedSubject = null;\r\n vm.SubjectList = [];\r\n }\r\n }\r\n function getChapterBySubject(ClassId, SectionId, SubjectId, callBack) {\r\n if (SubjectId) {\r\n vm.question.selectedChapter = null;\r\n vm.ChapterList = [];\r\n\r\n var obj = {\r\n ClassId: ClassId,\r\n SectionId: SectionId,\r\n SubjectId: SubjectId\r\n }\r\n\r\n ChapterService.GetAllChapterBySubject(obj).then(function (res) {\r\n if (res.status === 200) {\r\n vm.ChapterList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n else {\r\n vm.question.selectedChapter = null;\r\n vm.ChapterList = [];\r\n }\r\n }\r\n function getUnitByChapters(ClassId, SectionId, SubjectId, ChapterId, callBack) {\r\n if (ChapterId) {\r\n vm.question.selectedUnit = null;\r\n vm.UnitList = [];\r\n\r\n var obj = {\r\n ClassId: ClassId,\r\n SectionId: SectionId,\r\n SubjectId: SubjectId,\r\n ChapterId: ChapterId\r\n }\r\n UnitService.GetAllUnitByChapter(obj).then(function (res) {\r\n if (res.status === 200) {\r\n vm.UnitList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n else {\r\n vm.question.selectedChapter = null;\r\n vm.UnitList = [];\r\n }\r\n }\r\n\r\n function GetAllExerciseByUnit(ChapterId, callBack) {\r\n if (ChapterId) {\r\n vm.question.selectedExercise = null;\r\n vm.ExerciseList = [];\r\n\r\n var obj = {\r\n // ClassId: ClassId,\r\n // SectionId: SectionId,\r\n // SubjectId: SubjectId,\r\n ChapterId: ChapterId,\r\n // UnitId: UnitId\r\n }\r\n\r\n QuestionService.GetAllExerciseByUnit(obj).then(function (res) {\r\n if (res.status === 200) {\r\n vm.ExerciseList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n else {\r\n vm.question.selectedUnit = null;\r\n vm.ExerciseList = [];\r\n }\r\n }\r\n\r\n\r\n\r\n function Create() {\r\n vm.isEditing = false;\r\n vm.isFormOpen = true;\r\n vm.isTableOpen = false;\r\n }\r\n function cancel() {\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.question = {};\r\n }\r\n\r\n function resetForm() {\r\n vm.QuestionForm.$setUntouched();\r\n }\r\n\r\n function editQuestion(question) {\r\n vm.isEditing = true;\r\n vm.isFormOpen = true;\r\n vm.isTableOpen = false;\r\n vm.question = angular.copy(question);\r\n if (vm.question.Options != \"\")\r\n vm.OptionsList = JSON.parse(vm.question.Options);\r\n vm.question.Options = null;\r\n\r\n\r\n for (var i in vm.ClassRoomList) {\r\n\r\n if (vm.ClassRoomList[i].ClassId === question.ClassId) {\r\n vm.question.selectedClassRoom = vm.ClassRoomList[i]\r\n }\r\n }\r\n\r\n for (var i in vm.QuestionTypesList) {\r\n if (vm.QuestionTypesList[i].QuestionTypeId === question.QuestionTypeId) {\r\n vm.question.selectedQuestionTypes = vm.QuestionTypesList[i]\r\n }\r\n }\r\n\r\n for (var i in vm.OptionsList) {\r\n if (vm.OptionsList[i].Value === question.CorrectAnswer) {\r\n vm.question.selectedCorrectOption = vm.OptionsList[i]\r\n }\r\n }\r\n\r\n\r\n getSectionByClass(question.ClassId, function () {\r\n for (var i in vm.SectionList) {\r\n if (vm.SectionList[i].SectionId === question.SectionId) {\r\n vm.question.selectedSection = vm.SectionList[i];\r\n }\r\n }\r\n });\r\n\r\n getSubjectBySection(question.ClassId, question.SectionId, function () {\r\n for (var i in vm.SubjectList) {\r\n if (vm.SubjectList[i].SubjectId === question.SubjectId) {\r\n vm.question.selectedSubject = vm.SubjectList[i]\r\n }\r\n }\r\n });\r\n\r\n\r\n getChapterBySubject(question.ClassId, question.SectionId, question.SubjectId, function () {\r\n for (var i in vm.ChapterList) {\r\n if (vm.ChapterList[i].ChapterId === question.ChapterId) {\r\n vm.question.selectedChapter = vm.ChapterList[i]\r\n }\r\n }\r\n });\r\n getUnitByChapters(question.ClassId, question.SectionId, question.SubjectId, question.ChapterId, function () {\r\n for (var i in vm.UnitList) {\r\n if (vm.UnitList[i].UnitId === question.UnitId) {\r\n vm.question.selectedUnit = vm.UnitList[i]\r\n }\r\n }\r\n });\r\n\r\n GetAllExerciseByUnit(question.ClassId, question.SectionId, question.SubjectId, question.ChapterId, question.UnitId, function () {\r\n for (var i in vm.ExerciseList) {\r\n if (vm.ExerciseList[i].ExerciseId === question.ExerciseId) {\r\n vm.question.selectedExercise = vm.ExerciseList[i]\r\n }\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n function removeQuestion(question) {\r\n var confirm = dialogs.confirm('Confirm', 'Are sure you want to delete current row.', {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n\r\n confirm.result.then(function () {\r\n QuestionService.removeQuestion(question.QuestionId).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', 'Delete Exercise Successfully', \"Exercise\");\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', \"Can't Delete Exercise\", {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Can't Delete Exercise. If its not a parent contact your Admin\", {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n });\r\n }, function () {\r\n\r\n })\r\n }\r\n\r\n\r\n\r\n function SavetheOptions() {\r\n if (vm.question.Options != undefined || vm.question.Options != null || vm.question.Options != '') {\r\n var tmp = { 'Value': vm.question.Options }\r\n\r\n vm.OptionsList.push(tmp);\r\n\r\n // vm.OptionsList = angular.toJson(tmp);\r\n vm.question.Options = null;\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n function SaveQuestion() {\r\ndebugger\r\n var iOptions = null;\r\n var iCorrectAnswer = null;\r\n\r\n if (vm.question.selectedQuestionTypes.QuestionTypes == 'CheckBox' || vm.question.selectedQuestionTypes.QuestionTypes == 'RadioButton') {\r\n iOptions = JSON.stringify(vm.OptionsList);\r\n iCorrectAnswer = vm.question.selectedCorrectOption.Value;\r\n }\r\n else {\r\n var val = [{ 'Value': vm.question.CorrectAnswer }]\r\n iOptions = JSON.stringify(val);\r\n iCorrectAnswer = vm.question.CorrectAnswer;\r\n }\r\n\r\n\r\n\r\n var logggedUser = AuthenticationService.getLoggedUserDetails();\r\n if (!vm.isEditing) {\r\n debugger\r\n var question = {\r\n // ClassId: vm.question.selectedClassRoom.ClassId,\r\n // SectionId: vm.question.selectedSection.SectionId,\r\n // SubjectId: vm.question.selectedSubject.SubjectId,\r\n // ChapterId: vm.question.selectedChapter.ChapterId,\r\n // UnitId: vm.question.selectedUnit.UnitId,\r\n ExerciseId: vm.question.selectedExercise.ExerciseId,\r\n Questions: vm.question.Questions,\r\n Options: iOptions,\r\n QuestionTypeId: vm.question.selectedQuestionTypes.QuestionTypeId,\r\n CorrectAnswer: iCorrectAnswer,\r\n // QuestionNumber: vm.question.QuestionNumber,\r\n CreatedBy: logggedUser.UserId\r\n }\r\n \r\n QuestionService.SaveQuestion(question).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n $rootScope.showToaster('success', res.data.Message, \"Exercise Name\");\r\n Init();\r\n vm.isFormOpen = false;\r\n cancel();\r\n\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Exercise Name\");\r\n vm.isFormOpen = true;\r\n }\r\n\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n\r\n } else {\r\n\r\n var iOptions = null;\r\n var iCorrectAnswer = null;\r\n\r\n if (vm.question.selectedQuestionTypes.QuestionTypes == 'CheckBox' || vm.question.selectedQuestionTypes.QuestionTypes == 'RadioButton') {\r\n iOptions = JSON.stringify(vm.OptionsList);\r\n iCorrectAnswer = vm.question.selectedCorrectOption.Value;\r\n }\r\n else {\r\n iCorrectAnswer = vm.question.CorrectAnswer;\r\n }\r\n var question = {\r\n QuestionId: vm.question.QuestionId,\r\n ClassId: vm.question.selectedClassRoom.ClassId,\r\n SectionId: vm.question.selectedSection.SectionId,\r\n SubjectId: vm.question.selectedSubject.SubjectId,\r\n ChapterId: vm.question.selectedChapter.ChapterId,\r\n UnitId: vm.question.selectedUnit.UnitId,\r\n ExerciseId: vm.question.selectedExercise.ExerciseId,\r\n Questions: vm.question.Questions,\r\n Options: iOptions,\r\n QuestionTypeId: vm.question.selectedQuestionTypes.QuestionTypeId,\r\n CorrectAnswer: iCorrectAnswer,\r\n QuestionNumber: vm.question.QuestionNumber,\r\n IsActive: vm.question.IsActive,\r\n ModifiedBy: logggedUser.UserId\r\n }\r\n QuestionService.updateQuestionandAnswer(question).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n $rootScope.showToaster('success', res.data.Message, \"State Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n cancel();\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"State Master\");\r\n vm.isFormOpen = true;\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n\r\n }\r\n }\r\n\r\n }\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.role')\r\n .controller('RoleCtrl', RoleCtrl);\r\n\r\n /** @ngInject */\r\n function RoleCtrl($http, $rootScope, lodash, dialogs, RoleService, AuthenticationService) {\r\n var vm = this;\r\n $rootScope.isLoading = true;\r\n // Pagination code\r\n vm.rowCountOptions = [{ \"value\": 5 }, { \"value\": 10 }, { \"value\": 25 }, { \"value\": 50 }, { \"value\": 100 }]\r\n vm.noOfRows = vm.rowCountOptions[1];\r\n\r\n vm.currentPage = 1;\r\n vm.rembemberCurrentPage = function (num) {\r\n vm.currentPage = num;\r\n }\r\n // End of Pagination code\r\n\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.isLoading = true;\r\n\r\n vm.RoleList = [];\r\n vm.role = {};\r\n $rootScope.isLogin = false;\r\n //METHODS\r\n vm.changeActiveRole = changeActiveRole;\r\n vm.Create = Create;\r\n vm.cancel = cancel;\r\n vm.resetForm = resetForm;\r\n vm.editRole = editRole;\r\n vm.removeRole = removeRole;\r\n vm.SaveRole = SaveRole;\r\n var logggedUser = AuthenticationService.getLoggedUserDetails();\r\n\r\n Init();\r\n\r\n function Init() {\r\n var companyId = AuthenticationService.getLoggedUserDetails().SelectedCompany.CompanyId;\r\n RoleService.getAllRole().then(function (res) {\r\n if (res.status === 200) {\r\n vm.RoleList = res.data;\r\n $rootScope.isLoading = false;\r\n } else {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Role\");\r\n }\r\n }, function (err) {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Role\");\r\n });\r\n }\r\n\r\n function Create() {\r\n vm.isEditing = false;\r\n vm.isFormOpen = true;\r\n vm.role.CreatedBy = \"1\";\r\n }\r\n function cancel() {\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n resetForm();\r\n vm.role = {};\r\n }\r\n function resetForm() {\r\n vm.roleForm.$setUntouched();\r\n }\r\n\r\n function editRole(role) {\r\n vm.isEditing = true;\r\n vm.isFormOpen = true;\r\n vm.role = angular.copy(role);\r\n for (var c in vm.OrganizationList) {\r\n if (vm.OrganizationList[c].OrganizationLevelId === role.OrganizationLevelId) {\r\n vm.role.selectedOrganization = vm.OrganizationList[c];\r\n }\r\n }\r\n\r\n }\r\n function removeRole(role) {\r\n var confirm = dialogs.confirm('Confirm',\r\n 'Are sure you want to delete current row.', { animation: true, size: 'sm' });\r\n\r\n confirm.result.then(function () {\r\n RoleService.removeRole(role.RoleId).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', 'Delete Role Successfully', \"Role\");\r\n Init();\r\n } else {\r\n dialogs.error('error', \"Can't Delete ROle\", { animation: true, size: 'sm' });\r\n }\r\n }, function (err) {\r\n dialogs.error('error', \"Can't Delete Role.
If its not a parent contact your Admin\", { animation: true, size: 'sm' });\r\n });\r\n }, function () {\r\n\r\n })\r\n }\r\n\r\n function SaveRole(role) {\r\n debugger\r\n var logggedUser = AuthenticationService.getLoggedUserDetails();\r\n //role.OrganizationLevelId = vm.role.selectedOrganization.OrganizationLevelId;\r\n if (!vm.isEditing) {\r\n role.CreatedBy = logggedUser.UserId;\r\n RoleService.AddRole(role).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n $rootScope.showToaster('success', res.data.Message, \"Role Master\");\r\n cancel();\r\n Init();\r\n vm.isFormOpen = false;\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Role Master\");\r\n vm.isFormOpen = true;\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n\r\n } else {\r\n role.ModifiedBy = logggedUser.UserId;\r\n RoleService.EditRole(role).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n $rootScope.showToaster('success', res.data.Message, \"Role Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n cancel();\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Role Master\");\r\n vm.isFormOpen = true;\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\", { animation: true, size: 'sm' });\r\n });\r\n\r\n }\r\n }\r\n\r\n function changeActiveRole(role) {\r\n var msg = 'Are sure you want to ' + ((role.IsActive) ? 'Deactive' : 'Active') + ' current row.'\r\n var msg2 = ((role.IsActive) ? 'Deactive' : 'Active') + 'Role Successfully.'\r\n var confirm = dialogs.confirm('Confirm',\r\n msg, { animation: true, size: 'sm' });\r\n\r\n confirm.result.then(function () {\r\n RoleService.changeActiveRole(role.RoleId).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', 'Active Role Successfully', \"Role\");\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', \"Can't Active Role\", { animation: true, size: 'sm' });\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Can't Active Role. If its not a parent contact your Admin\", { animation: true, size: 'sm' });\r\n });\r\n }, function () {\r\n\r\n })\r\n }\r\n\r\n }\r\n})();\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.services')\r\n .service('AuthenticationService', AuthenticationService);\r\n\r\n AuthenticationService.inject = ['Base64', '$http', '$window', '$rootScope', 'dialogs'];\r\n\r\n function AuthenticationService(Base64, $http, $window, $rootScope, dialogs) {\r\n var isAuth = false;\r\n var token = \"\";\r\n var userId = 0;\r\n var userName = \"\";\r\n var loggedUser = {};\r\n\r\n this.login = login;\r\n this.logout = logout;\r\n this.getLoggedUserDetails = getLoggedUserDetails;\r\n this.setLoggedUserDetails = setLoggedUserDetails;\r\n\r\n Init();\r\n ////////////////\r\n function Init() {\r\n $rootScope.isAuth = isAuth = $window.sessionStorage.getItem('isAuth') || $window.localStorage.getItem('isAuth');\r\n $rootScope.token = token = $window.sessionStorage.getItem('token') || $window.localStorage.getItem('token');\r\n $rootScope.userId = userId = $window.sessionStorage.getItem('userId') || $window.localStorage.getItem('userId');\r\n loggedUser = JSON.parse($window.sessionStorage.getItem('loggedUserDetails')) || JSON.parse($window.localStorage.getItem('loggedUserDetails'));\r\n $rootScope.userName = userName = (loggedUser) ? loggedUser.FirstName : \"\";\r\n if (loggedUser) {\r\n $rootScope.selectedCompanyName = (loggedUser.SelectedCompany !== null && loggedUser.SelectedCompany !== undefined) ?\r\n loggedUser.SelectedCompany.CompanyName : \"\";\r\n }\r\n }\r\n\r\n function login(username, password, callback) {\r\n var authdata = Base64.encode(username + ':' + password);\r\n\r\n $http.defaults.headers.common.Authorization = 'Basic ' + authdata;\r\n // debugger;\r\n $http.post($rootScope.endPoint + 'login')\r\n .then(function(response) {\r\n // debugger;\r\n $rootScope.token = token = response.headers(\"Token\");\r\n $rootScope.userId = userId = response.headers(\"UserId\");\r\n $rootScope.isAuth = isAuth = true;\r\n\r\n $window.sessionStorage.setItem(\"token\", token);\r\n $window.sessionStorage.setItem(\"isAuth\", isAuth);\r\n $window.sessionStorage.setItem(\"userId\", userId);\r\n\r\n $window.localStorage.setItem(\"token\", token);\r\n $window.localStorage.setItem(\"isAuth\", isAuth);\r\n $window.localStorage.setItem(\"userId\", userId);\r\n callback(response);\r\n }, function(err) {\r\n callback(err);\r\n })\r\n }\r\n\r\n function logout() {\r\n debugger;\r\n $rootScope.token = token = \"\";\r\n $rootScope.isAuth = isAuth = false;\r\n $rootScope.userId = userId = 0;\r\n\r\n $window.sessionStorage.clear();\r\n $window.localStorage.clear();\r\n }\r\n\r\n function getLoggedUserDetails() {\r\n return loggedUser;\r\n }\r\n\r\n function setLoggedUserDetails(userDetails) {\r\n loggedUser = userDetails;\r\n $rootScope.userName = loggedUser.FirstName;\r\n\r\n if (loggedUser.SelectedCompany !== null && loggedUser.SelectedCompany !== undefined)\r\n $rootScope.selectedCompanyName = loggedUser.SelectedCompany.CompanyName;\r\n else\r\n $rootScope.selectedCompanyName = null;\r\n\r\n $window.sessionStorage.setItem(\"loggedUserDetails\", JSON.stringify(userDetails));\r\n $window.localStorage.setItem(\"loggedUserDetails\", JSON.stringify(userDetails));\r\n }\r\n }\r\n})();\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.services')\r\n .factory('Base64', function() {\r\n /* jshint ignore:start */\r\n\r\n var keyStr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\r\n\r\n return {\r\n encode: function(input) {\r\n var output = \"\";\r\n var chr1, chr2, chr3 = \"\";\r\n var enc1, enc2, enc3, enc4 = \"\";\r\n var i = 0;\r\n\r\n do {\r\n chr1 = input.charCodeAt(i++);\r\n chr2 = input.charCodeAt(i++);\r\n chr3 = input.charCodeAt(i++);\r\n\r\n enc1 = chr1 >> 2;\r\n enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\r\n enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\r\n enc4 = chr3 & 63;\r\n\r\n if (isNaN(chr2)) {\r\n enc3 = enc4 = 64;\r\n } else if (isNaN(chr3)) {\r\n enc4 = 64;\r\n }\r\n\r\n output = output +\r\n keyStr.charAt(enc1) +\r\n keyStr.charAt(enc2) +\r\n keyStr.charAt(enc3) +\r\n keyStr.charAt(enc4);\r\n chr1 = chr2 = chr3 = \"\";\r\n enc1 = enc2 = enc3 = enc4 = \"\";\r\n } while (i < input.length);\r\n\r\n return output;\r\n },\r\n\r\n decode: function(input) {\r\n var output = \"\";\r\n var chr1, chr2, chr3 = \"\";\r\n var enc1, enc2, enc3, enc4 = \"\";\r\n var i = 0;\r\n\r\n // remove all characters that are not A-Z, a-z, 0-9, +, /, or =\r\n var base64test = /[^A-Za-z0-9\\+\\/\\=]/g;\r\n if (base64test.exec(input)) {\r\n window.alert(\"There were invalid base64 characters in the input text.\\n\" +\r\n \"Valid base64 characters are A-Z, a-z, 0-9, '+', '/',and '='\\n\" +\r\n \"Expect errors in decoding.\");\r\n }\r\n input = input.replace(/[^A-Za-z0-9\\+\\/\\=]/g, \"\");\r\n\r\n do {\r\n enc1 = keyStr.indexOf(input.charAt(i++));\r\n enc2 = keyStr.indexOf(input.charAt(i++));\r\n enc3 = keyStr.indexOf(input.charAt(i++));\r\n enc4 = keyStr.indexOf(input.charAt(i++));\r\n\r\n chr1 = (enc1 << 2) | (enc2 >> 4);\r\n chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);\r\n chr3 = ((enc3 & 3) << 6) | enc4;\r\n\r\n output = output + String.fromCharCode(chr1);\r\n\r\n if (enc3 != 64) {\r\n output = output + String.fromCharCode(chr2);\r\n }\r\n if (enc4 != 64) {\r\n output = output + String.fromCharCode(chr3);\r\n }\r\n\r\n chr1 = chr2 = chr3 = \"\";\r\n enc1 = enc2 = enc3 = enc4 = \"\";\r\n\r\n } while (i < input.length);\r\n\r\n return output;\r\n }\r\n };\r\n })\r\n})();\n(function() {\r\n\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.company')\r\n .service('CompanyService', CompanyService);\r\n\r\n CompanyService.$inject = ['$http', '$rootScope'];\r\n\r\n function CompanyService($http, $rootScope) {\r\n this.AddCompany = AddCompany;\r\n this.EditCompany = EditCompany;\r\n this.removeCompany = removeCompany;\r\n this.getAllCompany = getAllCompany;\r\n this.getActiveCompany = getActiveCompany;\r\n this.getAllOwnerShip = getAllOwnerShip;\r\n this.getAllBusiness = getAllBusiness;\r\n this.changeActiveCompany = changeActiveCompany;\r\n this.getSubCompByCompId = getSubCompByCompId;\r\n this.updateLogo = updateLogo;\r\n this.getCompanyByOrgId=getCompanyByOrgId;\r\n this.getallTypeofEducational = getallTypeofEducational;\r\n this.getAllInstitutionFund = getAllInstitutionFund;\r\n this.getAllEducationalSyllabus = getAllEducationalSyllabus;\r\n this.getAllMediumInstruction = getAllMediumInstruction;\r\n this.getAllEducationalSystem = getAllEducationalSystem;\r\n this.AddInstitutionInsitiation = AddInstitutionInsitiation;\r\n this.getAllEduInstitutionName = getAllEduInstitutionName;\r\n // this.GetAllLanguages = GetAllLanguages;\r\n this.GetAllRefVideos = GetAllRefVideos;\r\n this.getAllInstitutionIns = getAllInstitutionIns; \r\n\r\n this.Generateotp = Generateotp;\r\n this.OTPVerify = OTPVerify;\r\n\r\n /////////////\r\n var config = {\r\n headers: {\r\n \"Token\": $rootScope.token\r\n }\r\n }\r\n\r\n function updateLogo(data) {\r\n config.headers[\"Content-Type\"] = undefined;\r\n return $http.post($rootScope.endPoint + 'Company/uploadLogo/', data, config);\r\n }\r\n\r\n function getAllCompany(objGetEmpDTO) {\r\n return $http.get($rootScope.endPoint + 'Company/AllCompany', config);\r\n }\r\n\r\n function Generateotp(Mobileno){\r\n return $http.get($rootScope.endPoint + 'Company/generatesms/'+Mobileno, config);\r\n }\r\n function OTPVerify(OtpValue, MobileNo)\r\n {\r\n\r\n // console.log($rootScope.endPoint + 'Company/VerifyOTP/'+OtpValue+ '/'+MobileNo);\r\n \r\n\r\n return $http.get($rootScope.endPoint + 'Company/VerifyOTP/'+OtpValue+ '/'+MobileNo, config); \r\n }\r\n \r\n\r\n function getallTypeofEducational() {\r\n return $http.get($rootScope.endPoint + 'InstitutionRegistration/GetAllTypeofEducation', config);\r\n }\r\n\r\n function getAllInstitutionFund() {\r\n return $http.get($rootScope.endPoint + 'InstitutionRegistration/GetAllInstitutionFund', config);\r\n }\r\n function getAllEducationalSyllabus() {\r\n return $http.get($rootScope.endPoint + 'InstitutionRegistration/GetAllEducationalSyllabus', config);\r\n }\r\n function getAllMediumInstruction() {\r\n return $http.get($rootScope.endPoint + 'InstitutionRegistration/GetAllMediumInstruction', config);\r\n }\r\n function getAllEducationalSystem() {\r\n return $http.get($rootScope.endPoint + 'InstitutionRegistration/GetAllEducationalSystem', config);\r\n }\r\n // function GetAllLanguages() {\r\n // return $http.get($rootScope.endPoint + 'InstitutionRegistration/GetAllLanguages', config);\r\n // }\r\n function GetAllRefVideos() {\r\n return $http.get($rootScope.endPoint + 'InstitutionRegistration/GetAllRefVideos', config);\r\n }\r\n \r\n\r\n\r\n // function getAllEduInstitutionName() {\r\n // return $http.get($rootScope.endPoint + 'InstitutionRegistration/GetAllEduInstitutionName', config);\r\n // }\r\n\r\n function getAllEduInstitutionName(CompanyId) {\r\n return $http.get($rootScope.endPoint + 'InstitutionRegistration/GetAllEducationalSystem/' + CompanyId, config);\r\n }\r\n \r\n function getAllInstitutionIns(InstitutionInsId) {\r\n return $http.get($rootScope.endPoint + 'InstitutionRegistration/getAllInstitutionIns/' + InstitutionInsId, config);\r\n }\r\n\r\n\r\n function getAllOwnerShip(objOwner) {\r\n return $http.get($rootScope.endPoint + 'Company/AllOwnerShip', config);\r\n }\r\n\r\n function getAllBusiness(objBusiness) {\r\n return $http.get($rootScope.endPoint + 'Company/AllNatureOfBusiness', config);\r\n }\r\n\r\n function getActiveCompany() {\r\n return $http.get($rootScope.endPoint + 'Company/GetActiveCompanyById', config);\r\n }\r\n\r\n function getCompanyByOrgId(id) {\r\n return $http.get($rootScope.endPoint + 'Company/GetByOrgId/'+ id, config);\r\n }\r\n\r\n\r\n function AddCompany(company) {\r\n config.headers[\"Content-Type\"] = undefined;\r\n return $http.post($rootScope.endPoint + 'Company/Create', company, config);\r\n }\r\n\r\n function AddInstitutionInsitiation(InstitutionIns) {\r\n \r\n return $http.post($rootScope.endPoint + 'InstitutionRegistration/Create', InstitutionIns, config);\r\n }\r\n\r\n function EditCompany(company) {\r\n return $http.put($rootScope.endPoint + 'Company/Modify', company,{}, config);\r\n }\r\n\r\n function removeCompany(id) {\r\n return $http.delete($rootScope.endPoint + 'Company/Delete/' + id, config);\r\n }\r\n\r\n function changeActiveCompany(id) {\r\n return $http.post($rootScope.endPoint + 'Company/ChangeActive/' + id, {}, config);\r\n }\r\n\r\n function getSubCompByCompId(companyId) {\r\n // config.headers[\"Token\"] = $rootScope.token;\r\n\r\n // return $http.get($rootScope.endPoint + 'Company/GetSubCompByCompId/' + companyId, config);\r\n return $http.get($rootScope.endPoint + 'Company/GetSubCompByCompId/' + companyId);\r\n }\r\n }\r\n})();\n(function () {\r\n\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.department')\r\n .service('DepartmentServices', DepartmentServices);\r\n\r\n DepartmentServices.$inject = ['$http', '$rootScope'];\r\n\r\n function DepartmentServices($http, $rootScope) {\r\n this.AddDepartment = AddDepartment;\r\n this.EditDepartment = EditDepartment;\r\n this.removeDepartment = removeDepartment;\r\n this.getAllDepartments = getAllDepartments;\r\n this.getDepartmentById = getDepartmentById;\r\n this.getCompanyById = getCompanyById;\r\n this.getActiveDepartments = getActiveDepartments;\r\n this.changeActiveDepartment = changeActiveDepartment;\r\n this.GetDepartmentByCompanyId = GetDepartmentByCompanyId;\r\n this.getDepOfParentCompanies = getDepOfParentCompanies;\r\n this.CheckCode = CheckCode;\r\n\r\n /////////////\r\n var config = {\r\n headers: {\r\n \"Token\": $rootScope.token\r\n }\r\n }\r\n\r\n function getAllDepartments(CompanyId) {\r\n return $http.get($rootScope.endPoint + 'Department/AllDepartments/' + CompanyId, config);\r\n }\r\n\r\n function getActiveDepartments(objGetEmpDTO) {\r\n return $http.get($rootScope.endPoint + 'Department/GetActiveDepartments', config);\r\n }\r\n\r\n function getCompanyById(objGetEmpDTO) {\r\n return $http.get($rootScope.endPoint + 'Company/GetById', config);\r\n }\r\n\r\n function getDepartmentById(objGetEmpDTO) {\r\n return $http.get($rootScope.endPoint + 'Department/GetById', config);\r\n }\r\n\r\n function CheckCode(objGetEmpDTO) {\r\n return $http.get($rootScope.endPoint + 'Department/CheckCode', config);\r\n }\r\n\r\n function AddDepartment(Department) {\r\n return $http.post($rootScope.endPoint + 'Department/Create', Department, {}, config);\r\n }\r\n\r\n function EditDepartment(Department) {\r\n return $http.put($rootScope.endPoint + 'Department/Modify', Department, config);\r\n }\r\n\r\n function removeDepartment(id) {\r\n return $http.delete($rootScope.endPoint + 'Department/Delete/' + id, config);\r\n }\r\n\r\n function GetDepartmentByCompanyId(id) {\r\n return $http.get($rootScope.endPoint + 'Department/GetDepartmentByCompanyId/' + id, config);\r\n }\r\n\r\n function changeActiveDepartment(id) {\r\n return $http.post($rootScope.endPoint + 'Department/ChangeActive/' + id, {}, config);\r\n }\r\n\r\n function getDepOfParentCompanies(obj) {\r\n return $http.post($rootScope.endPoint + 'Department/GetDepOfParentCompanies', obj, {}, config);\r\n }\r\n }\r\n\r\n})();\n(function() {\r\n\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.designation')\r\n .service('DesignationService', DesignationService);\r\n\r\n DesignationService.$inject = ['$http', '$rootScope'];\r\n\r\n function DesignationService($http, $rootScope) {\r\n //this.GetDesinationbyDepartmentid = GetDesinationbyDepartmentid;\r\n this.AddDesignation = AddDesignation;\r\n this.EditDesignation = EditDesignation;\r\n this.removeDesignation = removeDesignation;\r\n this.getAllDesignation = getAllDesignation; \r\n // this.getReportingDesignation = getReportingDesignation;\r\n // this.getAllDepartment = getAllDepartment;\r\n // this.getAllRoleById = getAllRoleById;\r\n this.changeActiveDesignation = changeActiveDesignation;\r\n this.GetDesigByDepId = GetDesigByDepId;\r\n this.getRepToDesig = getRepToDesig;\r\n\r\n /////////////\r\n var config = {\r\n headers: {\r\n \"Token\": $rootScope.token\r\n }\r\n }\r\n\r\n // function getReportingDesignation(DesignationId) {\r\n // return $http.get($rootScope.endPoint + 'Designation/GetDesigByDepId/' + DesignationId);\r\n // }\r\n\r\n // function GetDesinationbyDepartmentid(departmentid) {\r\n // return $http.get($rootScope.endPoint + 'Designation/GetDesignationbyId/' + departmentid);\r\n // }\r\n\r\n function GetDesigByDepId(id) {\r\n return $http.get($rootScope.endPoint + 'Designation/GetDesigByDepId/' + id, config);\r\n }\r\n\r\n function getAllDesignation(companyId) {\r\n return $http.get($rootScope.endPoint + 'Designation/AllDesignations/' + companyId, config);\r\n }\r\n\r\n function getRepToDesig(depId) {\r\n return $http.get($rootScope.endPoint + 'Designation/getRepToDesig/' + depId, config);\r\n }\r\n\r\n function AddDesignation(Designation) {\r\n return $http.post($rootScope.endPoint + 'Designation/Create', Designation, config);\r\n }\r\n\r\n function EditDesignation(Designation) {\r\n return $http.put($rootScope.endPoint + 'Designation/Modify', Designation, config);\r\n }\r\n\r\n function removeDesignation(id) {\r\n return $http.delete($rootScope.endPoint + 'Designation/Delete/' + id, config);\r\n }\r\n\r\n function changeActiveDesignation(id) {\r\n return $http.post($rootScope.endPoint + 'Designation/ChangeActive/' + id, {}, config);\r\n }\r\n }\r\n\r\n})();\n(function () {\r\n\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.employee')\r\n .service('EmployeeService', EmployeeService);\r\n\r\n EmployeeService.$inject = ['$http', '$rootScope'];\r\n\r\n function EmployeeService($http, $rootScope) {\r\n this.AddEmployee = AddEmployee;\r\n this.EditEmployee = EditEmployee;\r\n this.RemoveEmployee = RemoveEmployee;\r\n this.changeActiveEmployee = changeActiveEmployee;\r\n this.getAllEmployees = getAllEmployees;\r\n this.getAllCompanyEmployees = getAllCompanyEmployees;\r\n this.UploadFiles = UploadFiles;\r\n this.updateProfilePic = updateProfilePic;\r\n this.getAllEmpAcademyInfo = getAllEmpAcademyInfo;\r\n this.addNewEmpAcademicInfo = addNewEmpAcademicInfo;\r\n this.removeEmpAcademyInfo = removeEmpAcademyInfo;\r\n this.getAllEmpExpInfo = getAllEmpExpInfo;\r\n this.getAllAreaofExpertiseInfo = getAllAreaofExpertiseInfo;\r\n this.getAllLanguageListInfo = getAllLanguageListInfo;\r\n this.addNewEmpExperience = addNewEmpExperience;\r\n this.removeEmpExpInfo = removeEmpExpInfo;\r\n this.addNewEmpBankInfo = addNewEmpBankInfo;\r\n this.removeEmpBankInfo = removeEmpBankInfo;\r\n this.addNewStaffAreasofExpertise = addNewStaffAreasofExpertise;\r\n this.addNewStaffLanguageInfo = addNewStaffLanguageInfo;\r\n this.removeNewStaffAreasofExpertise = removeNewStaffAreasofExpertise;\r\n this.GetEmpwithUserAc=GetEmpwithUserAc;\r\n this.addNewEmpPersonalInfo = addNewEmpPersonalInfo;\r\n this.getAllEmployeeList = getAllEmployeeList;\r\n\r\n //////////////////\r\n\r\n var config = {\r\n headers: {\r\n \"Token\": $rootScope.token\r\n }\r\n }\r\n\r\n function updateProfilePic(data) {\r\n var config = {\r\n headers: {\r\n \"Token\": $rootScope.token\r\n }\r\n }\r\n config.headers[\"Content-Type\"] = undefined;\r\n return $http.post($rootScope.endPoint + 'Employee/uploadProfilePic/', data, config);\r\n }\r\n\r\n function getAllEmployees(CompanyId) {\r\n return $http.get($rootScope.endPoint + 'Employee/AllEmployees/' + CompanyId, config);\r\n }\r\n\r\n function getAllEmployeeList(CompanyId) {\r\n debugger\r\n return $http.get($rootScope.endPoint + 'Employee/GetAllEmployee/' + CompanyId, config);\r\n }\r\n\r\n function getAllCompanyEmployees(DesignationId) {\r\n return $http.get($rootScope.endPoint + 'Employee/AllCompanyEmployees/' + DesignationId, config);\r\n }\r\n\r\n function AddEmployee(emp) {\r\n var config = {\r\n headers: {\r\n \"Token\": $rootScope.token\r\n }\r\n }\r\n config.headers[\"Content-Type\"] = undefined;\r\n return $http.post($rootScope.endPoint + 'Employee/createDoc', emp, config);\r\n }\r\n\r\n function EditEmployee(employee) {\r\n return $http.put($rootScope.endPoint + 'Employee/Modify', employee, config);\r\n }\r\n\r\n function GetEmpwithUserAc(id) {\r\n return $http.get($rootScope.endPoint + 'Employee/GetEmpWithUserAcc/'+id, config);\r\n }\r\n function RemoveEmployee(EmployeeId) {\r\n return $http.delete($rootScope.endPoint + 'Employee/Delete/' + EmployeeId, config);\r\n }\r\n\r\n function changeActiveEmployee(EmployeeId) {\r\n return $http.post($rootScope.endPoint + 'Employee/ChangeActive/' + EmployeeId, {}, config);\r\n }\r\n\r\n function UploadFiles($scope, $http, $rootScope, data) {\r\n var config = {\r\n headers: {\r\n 'Content-Type': undefined\r\n }\r\n };\r\n return $http.post($rootScope.endpoint + 'api/variableupload/upload/', data, config);\r\n }\r\n\r\n function getEmployeesChart(CompanyId) {\r\n return $http.get($rootScope.endPoint + 'EmployeeChart/View/' + CompanyId, config);\r\n }\r\n\r\n function getAllEmpAcademyInfo(empId) {\r\n return $http.get($rootScope.endPoint + 'EmployeeAcademy/getAllEmpAcademicInfo/' + empId, config);\r\n }\r\n\r\n function addNewEmpAcademicInfo(data) {\r\n var config = {\r\n headers: {\r\n 'Content-Type': undefined\r\n }\r\n };\r\n return $http.post($rootScope.endPoint + 'EmployeeAcademy/createEmpAcademyInfo/', data, config);\r\n }\r\n\r\n function removeEmpAcademyInfo(id) {\r\n return $http.delete($rootScope.endPoint + 'EmployeeAcademy/removeEmpAcademyInfo/' + id, config);\r\n }\r\n\r\n function getAllEmpExpInfo(empId) {\r\n return $http.get($rootScope.endPoint + 'EmpExperience/getAllEmpExpInfo/' + empId, config);\r\n }\r\n \r\n function getAllAreaofExpertiseInfo(AreaExpertiseId) {\r\n return $http.get($rootScope.endPoint + 'EmpExperience/getAllAreaofExpertiseInfo/' + empId, config);\r\n }\r\n\r\n\r\n \r\n function getAllLanguageListInfo(StaffLanguagespokenId) {\r\n return $http.get($rootScope.endPoint + 'StaffLanguageSpoken/getAllLanguageListInfo/' + empId, config);\r\n }\r\n\r\n\r\n function addNewEmpExperience(data) {\r\n return $http.post($rootScope.endPoint + 'EmpExperience/createEmpExpInfo', data, config);\r\n } \r\n\r\n function removeEmpExpInfo(id) {\r\n return $http.delete($rootScope.endPoint + 'EmpExperience/removeEmpExpInfo/' + id, config);\r\n }\r\n\r\n function addNewEmpBankInfo(data) {\r\n return $http.post($rootScope.endPoint + 'StaffBankDetails/CreateStaffBankDetails', data, config);\r\n }\r\n function addNewEmpPersonalInfo(data) {\r\n return $http.post($rootScope.endPoint + 'StaffPersonalDetails/addNewEmpPersonalInfo', data, config);\r\n }\r\n\r\n function removeEmpBankInfo(id) {\r\n return $http.delete($rootScope.endPoint + 'StaffBankDetails/RemoveStaffBankDetails/' + id, config);\r\n }\r\n\r\n function addNewStaffAreasofExpertise(data) {\r\n return $http.post($rootScope.endPoint + 'StaffAreasofExpertise/createStaffAreasofExpertise', data, config);\r\n }\r\n \r\n function addNewStaffLanguageInfo(data) {\r\n return $http.post($rootScope.endPoint + 'StaffLanguageSpoken/createStaffLanguageSpoken', data, config);\r\n }\r\n\r\n function removeNewStaffAreasofExpertise(id) {\r\n return $http.delete($rootScope.endPoint + 'StaffAreasofExpertise/removeStaffAreasofExpertise/' + id, config);\r\n }\r\n }\r\n})();\n(function() {\r\n\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.employeeChart')\r\n .service('EmployeeChartService', EmployeeChartService);\r\n\r\n EmployeeChartService.$inject = ['$http', '$rootScope'];\r\n\r\n function EmployeeChartService($http, $rootScope) {\r\n // this.AddEmployee = AddEmployee;\r\n // this.EditEmployee = EditEmployee;\r\n // this.RemoveEmployee = RemoveEmployee;\r\n // this.getAllEmployees = getAllEmployees;\r\n // this.GetDepartmentByCompanyId = GetDepartmentByCompanyId;\r\n // this.GetDesignationByDepartmentId = GetDesignationByDepartmentId;\r\n\r\n this.getEmployeesChart = getEmployeesChart;\r\n var config = {\r\n headers: {\r\n \"Token\": $rootScope.token\r\n }\r\n }\r\n\r\n function getEmployeesChart(){\r\n return $http.get($rootScope.endPoint + 'EmployeeChart/View/', config);\r\n }\r\n\r\n \r\n }\r\n})();\n(function () {\r\n\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.exercise')\r\n .service('ExerciseService', ExerciseService);\r\n\r\n ExerciseService.$inject = ['$http', '$rootScope'];\r\n\r\n function ExerciseService($http, $rootScope) {\r\n this.GetAllExercise = GetAllExercise;\r\n this.SaveExercise = SaveExercise;\r\n this.updateExercise = updateExercise;\r\n this.removeExercise = removeExercise;\r\n\r\n /////////////\r\n var config = {\r\n headers: {\r\n \"Token\": $rootScope.token\r\n }\r\n }\r\n\r\n function GetAllExercise() {\r\n return $http.get($rootScope.endPoint + 'ExerciseMaster/GetAllExercise' , config);\r\n \r\n }\r\n\r\n function SaveExercise(obj) {\r\n return $http.post($rootScope.endPoint + 'ExerciseMaster/CreateExercise', obj, config);\r\n }\r\n\r\n\r\n function updateExercise(obj) {\r\n return $http.put($rootScope.endPoint + 'ExerciseMaster/ModifyExercise', obj, config);\r\n }\r\n\r\n\r\n function removeExercise(id) {\r\n return $http.delete($rootScope.endPoint + 'ExerciseMaster/Delete/' + id, config);\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n})();\n(function() {\r\n\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.location')\r\n .service('LocationSetupService', LocationSetupService);\r\n\r\n LocationSetupService.$inject = ['$http', '$rootScope'];\r\n\r\n function LocationSetupService($http, $rootScope) {\r\n this.AddLocationSetup = AddLocationSetup;\r\n this.EditLocationSetup = EditLocationSetup;\r\n this.removeLocationSetup = removeLocationSetup;\r\n this.getAllLocationSetup = getAllLocationSetup;\r\n this.getAllLocationSetupById = getAllLocationSetupById;\r\n this.getAllLocationMaster = getAllLocationMaster;\r\n this.getLocationByBoQIoca = getLocationByBoQIoca;\r\n\r\n /////////////\r\n var config = {\r\n headers: {\r\n \"Token\": $rootScope.token\r\n }\r\n }\r\n\r\n\r\n function getLocationByBoQIoca(obj) {\r\n return $http.post($rootScope.endPoint + 'LocationSetup/getLocationByBoq', obj, config);\r\n }\r\n\r\n function getAllLocationSetup() {\r\n return $http.get($rootScope.endPoint + 'LocationSetup/AllLocationSetup', config);\r\n }\r\n\r\n function getAllLocationSetupById(id) {\r\n return $http.get($rootScope.endPoint + 'LocationSetup/GetLocationsetupId/' + id, config);\r\n }\r\n\r\n function AddLocationSetup(location) {\r\n return $http.post($rootScope.endPoint + 'LocationSetup/Create', location, config);\r\n }\r\n\r\n function EditLocationSetup(location) {\r\n return $http.put($rootScope.endPoint + 'LocationSetup/Modify', location, config);\r\n }\r\n\r\n function removeLocationSetup(id) {\r\n return $http.delete($rootScope.endPoint + 'LocationSetup/Delete/' + id, config);\r\n }\r\n\r\n function getAllLocationMaster(location) {\r\n return $http.post($rootScope.endPoint + 'LocationSetup/AllLocationMaster', location, config);\r\n }\r\n }\r\n\r\n})();\n(function () {\r\n\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.questionandAnswer')\r\n .service('QuestionService', QuestionService);\r\n\r\n QuestionService.$inject = ['$http', '$rootScope'];\r\n\r\n function QuestionService($http, $rootScope) {\r\n this.GetAllQuestion = GetAllQuestion;\r\n this.SaveQuestion = SaveQuestion;\r\n this.updateQuestion = updateQuestion;\r\n this.removeQuestion = removeQuestion;\r\n this.GetAllExerciseByUnit = GetAllExerciseByUnit;\r\n this.GetAllQuestionandAnswer = GetAllQuestionandAnswer;\r\n this.updateQuestionandAnswer = updateQuestionandAnswer;\r\n this.GetAllQuestionTypes = GetAllQuestionTypes;\r\n\r\n /////////////\r\n var config = {\r\n headers: {\r\n \"Token\": $rootScope.token\r\n }\r\n }\r\n\r\n function GetAllQuestion() {\r\n // return $http.get($rootScope.endPoint + '' , config);\r\n // return $http.delete($rootScope.endPoint + 'Question/Delete/' + id, config);\r\n return $http.get($rootScope.endPoint + 'ExerciseMaster/GetAllExercise', config);\r\n\r\n }\r\n function GetAllQuestionandAnswer() {\r\n\r\n return $http.get($rootScope.endPoint + 'Question/AllQuestionandAnswer', config);\r\n\r\n }\r\n\r\n function SaveQuestion(obj) {\r\n return $http.post($rootScope.endPoint + 'Question/SaveQuestion', obj, config);\r\n }\r\n\r\n\r\n function updateQuestion(obj) {\r\n return $http.put($rootScope.endPoint + 'Question/ModifyExercise', obj, config);\r\n }\r\n\r\n function updateQuestionandAnswer(obj) {\r\n return $http.put($rootScope.endPoint + 'Question/UpdateQuestionandAnswer', obj, config);\r\n }\r\n\r\n\r\n\r\n function removeQuestion(id) {\r\n return $http.delete($rootScope.endPoint + 'Question/Delete/' + id, config);\r\n }\r\n\r\n function GetAllExerciseByUnit(obj) {\r\n return $http.post($rootScope.endPoint + 'Question/GetAllExerciseByUnit', obj, config);\r\n }\r\n\r\n function GetAllQuestionTypes() {\r\n return $http.get($rootScope.endPoint + 'Question/GetAllQuestionTypes', config);\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n})();\n(function () {\r\n\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.role')\r\n .service('RoleService', RoleService);\r\n\r\n RoleService.$inject = ['$rootScope', '$http'];\r\n\r\n function RoleService($rootScope, $http) {\r\n this.AddRole = AddRole;\r\n this.EditRole = EditRole;\r\n this.removeRole = removeRole;\r\n this.getAllRole = getAllRole;\r\n this.getRoleMenuMapping = getRoleMenuMapping;\r\n this.saveRoleMenuMapping = saveRoleMenuMapping;\r\n this.changeActiveRole = changeActiveRole;\r\n this.GetActiveRole = GetActiveRole;\r\n // this.getAllRoleById = getAllRoleById;\r\n\r\n /////////////\r\n\r\n function getConfig() {\r\n return {\r\n headers: {\r\n \"Token\": $rootScope.token\r\n }\r\n }\r\n }\r\n\r\n function getAllRole() {\r\n debugger;\r\n return $http.get($rootScope.endPoint + 'Role/AllRoles', getConfig());\r\n }\r\n\r\n function getRoleMenuMapping(roleId) {\r\n return $http.get($rootScope.endPoint + 'RoleMenuMapping/GetMenuMappingByRoleId/' + roleId, getConfig());\r\n }\r\n\r\n function saveRoleMenuMapping(roleId, menuList) {\r\n return $http.post($rootScope.endPoint + 'RoleMenuMapping/Save/' + roleId, menuList, getConfig());\r\n }\r\n\r\n // function getAllRoleById($scope, $rootScope, $http, objGetEmpDTO) {\r\n // return $http.get($rootScope.endPoint + 'Role/GetById');\r\n // }\r\n\r\n function AddRole(role) {\r\n return $http.post($rootScope.endPoint + 'Role/Create', role, getConfig());\r\n }\r\n\r\n function EditRole(role) {\r\n return $http.put($rootScope.endPoint + 'Role/Modify', role, getConfig());\r\n }\r\n\r\n function removeRole(id) {\r\n return $http.delete($rootScope.endPoint + 'Role/Delete/' + id, getConfig());\r\n }\r\n function changeActiveRole(id) {\r\n return $http.post($rootScope.endPoint + 'Role/ChangeActive/' + id, {}, getConfig());\r\n }\r\n function GetActiveRole() {\r\n return $http.get($rootScope.endPoint + 'Role/GetActiveRole', getConfig());\r\n }\r\n }\r\n\r\n})();\n(function () {\r\n\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.student')\r\n .service('StudentService', StudentService);\r\n\r\n StudentService.$inject = ['$http', '$rootScope'];\r\n\r\n function StudentService($http, $rootScope) {\r\n this.getAllStudent = getAllStudent;\r\n this.SaveStudent = SaveStudent;\r\n this.updateProfilePic = updateProfilePic;\r\n this.UpdateUnit = UpdateUnit;\r\n this.removeStudent = removeStudent;\r\n this. getStudentLoginDetails = getStudentLoginDetails;\r\n\r\n /////////////\r\n var config = {\r\n headers: {\r\n \"Token\": $rootScope.token\r\n }\r\n }\r\n\r\n function getAllStudent() {\r\n return $http.get($rootScope.endPoint + 'Studnet/GetAllStudent', config);\r\n }\r\n\r\n function getStudentLoginDetails() {\r\n return $http.get($rootScope.endPoint + 'StudentLoginDetails/getStudentLoginDetails', config);\r\n }\r\n\r\n \r\n\r\n \r\n function UpdateUnit(obj) {\r\n return $http.put($rootScope.endPoint + 'Studnet/UpdateStudentMaster', obj, config);\r\n }\r\n\r\n function SaveStudent(data) {\r\n var config = {\r\n headers: {\r\n \"Token\": $rootScope.token\r\n }\r\n }\r\n config.headers[\"Content-Type\"] = undefined;\r\n return $http.post($rootScope.endPoint + 'Studnet/SaveStudentMaster', data, config);\r\n }\r\n\r\n function updateProfilePic(data) {\r\n var config = {\r\n headers: {\r\n \"Token\": $rootScope.token\r\n }\r\n }\r\n config.headers[\"Content-Type\"] = undefined;\r\n return $http.post($rootScope.endPoint + 'Studnet/uploadProfilePic', data, config);\r\n }\r\n\r\n function removeStudent(id) {\r\n return $http.delete($rootScope.endPoint + 'Studnet/Delete/' + id, config);\r\n }\r\n\r\n }\r\n\r\n})();\n(function () {\r\n\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.location')\r\n .service('TierSetupService', TierSetupService);\r\n\r\n TierSetupService.$inject = ['$http', '$rootScope'];\r\n\r\n function TierSetupService($http, $rootScope) {\r\n this.AddTierSetup = AddTierSetup;\r\n this.updateTierSetup = updateTierSetup;\r\n this.removeTierSetup = removeTierSetup;\r\n this.getAllTierSetup = getAllTierSetup;\r\n this.getTierByBoQIoca = getTierByBoQIoca;\r\n\r\n\r\n /////////////\r\n var config = {\r\n headers: {\r\n \"Token\": $rootScope.token\r\n }\r\n }\r\n\r\n function getTierByBoQIoca(obj) {\r\n return $http.post($rootScope.endPoint + 'TierSetup/GetTierByBoQIoca', obj, config);\r\n }\r\n\r\n function getAllTierSetup(LocationId) {\r\n return $http.get($rootScope.endPoint + 'TierSetup/AllTierMaster/' + LocationId, config);\r\n }\r\n\r\n function AddTierSetup(tier) {\r\n return $http.post($rootScope.endPoint + 'TierSetup/Create', tier, config);\r\n }\r\n\r\n function updateTierSetup(tier) {\r\n return $http.put($rootScope.endPoint + 'TierSetup/Modify', tier, config);\r\n }\r\n\r\n function removeTierSetup(id) {\r\n return $http.delete($rootScope.endPoint + 'TierSetup/Delete/' + id, config);\r\n }\r\n\r\n function ShowTestReport(CompanyId) {\r\n return $http.post($rootScope.endPoint + 'TierSetup/ShowReport/', + CompanyId, config);\r\n }\r\n }\r\n\r\n})();\n(function () {\r\n\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.services')\r\n .service('UserService', UserService);\r\n\r\n UserService.$inject = ['$http', '$rootScope'];\r\n\r\n function UserService($http, $rootScope) {\r\n this.getAllUsers = getAllUsers;\r\n this.getUserMenuMapping = getUserMenuMapping;\r\n this.saveUserMenuMapping = saveUserMenuMapping;\r\n this.getUserCompanies = getUserCompanies;\r\n this.getUserById = getUserById;\r\n this.UpdateSelectedCompany = UpdateSelectedCompany;\r\n this.checkUserEmail = checkUserEmail;\r\n this.checkUsername = checkUsername;\r\n this.createUser = createUser;\r\n this.getUsersByCompanyId = getUsersByCompanyId;\r\n this.removeUser = removeUser;\r\n this.UpdateUser = Edituser;\r\n this.CheckUserAccount=CheckUserAccount;\r\n this.getAllApprovedContractor=getAllApprovedContractor;\r\n this.createUserContractor = createUserContractor;\r\n\r\n var config = {\r\n headers: {\r\n \"Token\": $rootScope.token\r\n }\r\n }\r\n /////////////\r\n\r\n function getUserById(userId) {\r\n return $http.get($rootScope.endPoint + 'User/GetUserById/' + userId);\r\n }\r\n\r\n function getAllApprovedContractor(userId) {\r\n return $http.get($rootScope.endPoint + 'User/GetApproveContractor/' + userId,config);\r\n }\r\n\r\n\r\n function getAllUsers() {\r\n return $http.get($rootScope.endPoint + 'User/AllUsers');\r\n }\r\n\r\n function getUsersByCompanyId(compId) {\r\n return $http.get($rootScope.endPoint + 'User/GetUsersByCompId/' + compId);\r\n }\r\n\r\n function getUserCompanies(userId) {\r\n return $http.get($rootScope.endPoint + 'User/GetUserCompanies/' + userId);\r\n }\r\n\r\n function getUserMenuMapping(userId) {\r\n return $http.get($rootScope.endPoint + 'UserMenuMapping/GetMenuMappingByUserId/' + userId, config);\r\n }\r\n\r\n function saveUserMenuMapping(userId, menuList) {\r\n return $http.post($rootScope.endPoint + 'UserMenuMapping/Save/' + userId, menuList, config);\r\n }\r\n\r\n function UpdateSelectedCompany(userDtlObj) {\r\n return $http.post($rootScope.endPoint + 'User/UpdateSelectedCompany', userDtlObj, config);\r\n }\r\n\r\n function Edituser(user) {\r\n return $http.put($rootScope.endPoint + 'User/Modify', user, config);\r\n }\r\n\r\n function createUser(user) {\r\n return $http.post($rootScope.endPoint + 'User/Create', user, config);\r\n }\r\n\r\n function createUserContractor(user) {\r\n return $http.post($rootScope.endPoint + 'User/CreateContractor', user, config);\r\n }\r\n\r\n function removeUser(id) {\r\n return $http.delete($rootScope.endPoint + 'User/Delete/' + id, config);\r\n }\r\n\r\n function CheckUserAccount(user) {\r\n return $http.post($rootScope.endPoint + 'User/CheckUserAccount', user, config);\r\n }\r\n\r\n function checkUserEmail(email) {\r\n var obj = {\r\n EmailId: email\r\n }\r\n return $http.post($rootScope.endPoint + 'User/CheckUserEmailId', obj, config);\r\n }\r\n\r\n function checkUsername(username) {\r\n var obj = {\r\n Username: username\r\n }\r\n return $http.post($rootScope.endPoint + 'User/CheckUsername', obj, config);\r\n }\r\n }\r\n})();\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.state')\r\n .controller('StateCtrl', StateCtrl);\r\n\r\n /** @ngInject */\r\n function StateCtrl($http, $rootScope, lodash, dialogs, StateService, CountryService, $scope, AuthenticationService) {\r\n\r\n var vm = this;\r\n $rootScope.isLoading = true;\r\n // Pagination code\r\n vm.rowCountOptions = [{\"value\": 5}, {\"value\": 10}, {\"value\": 25}, {\"value\": 50}, {\"value\": 100}]\r\n vm.noOfRows = vm.rowCountOptions[1];\r\n \r\n vm.currentPage = 1;\r\n vm.rembemberCurrentPage = function(num) {\r\n vm.currentPage = num;\r\n }\r\n // End of Pagination code\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.stateList = [];\r\n $rootScope.isLogin = false;\r\n //Method\r\n vm.Create = Create;\r\n vm.cancel = cancel;\r\n vm.resetForm = resetForm;\r\n vm.editState = editState;\r\n vm.changeActiveState = changeActiveState;\r\n vm.removeState = removeState;\r\n vm.SaveState = SaveState;\r\n var logggedUser = AuthenticationService.getLoggedUserDetails();\r\n\r\n Init();\r\n\r\n function Init() {\r\n var companyId = AuthenticationService.getLoggedUserDetails().SelectedCompany.CompanyId;\r\n StateService.getAllState($http, $rootScope).then(function(res) {\r\n if (res.status === 200) {\r\n vm.StateList = res.data;\r\n $rootScope.isLoading = false;\r\n CountryService.getActiveCountry().then(function(res) {\r\n if (res.status === 200) {\r\n vm.CountryList = res.data; \r\n }\r\n });\r\n } else {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"State\");\r\n }\r\n }, function(err) {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Error! Try Again', \"State\");\r\n // dialogs.error('error', 'Error! Try Again', \"State\");\r\n });\r\n }\r\n\r\n function Create() {\r\n vm.isFormOpen = true;\r\n }\r\n\r\n function cancel() {\r\n vm.isFormOpen = false;\r\n vm.resetForm();\r\n vm.state = {};\r\n }\r\n\r\n function resetForm() {\r\n vm.stateForm.$setUntouched();\r\n }\r\n\r\n function editState(state) {\r\n vm.isEditing = true;\r\n vm.isFormOpen = true;\r\n vm.state = angular.copy(state);\r\n for (var c in vm.CountryList) {\r\n if (vm.CountryList[c].CountryId === state.CountryId) {\r\n vm.state.selectedCountry = vm.CountryList[c];\r\n }\r\n }\r\n //console.log(\"check\"+vm.state.selectedCountry);\r\n\r\n }\r\n\r\n function changeActiveState(state) {\r\n var msg = 'Are sure you want to ' + ((state.IsActive) ? 'Deactive' : 'Active') + ' current row.'\r\n var msg2 = ((state.IsActive) ? 'Deactive' : 'Active') + 'State Successfully.'\r\n var confirm = dialogs.confirm('Confirm', msg, { animation: true, size: 'sm' });\r\n\r\n confirm.result.then(function() {\r\n StateService.changeActiveState(state.StateId).then(function(res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', msg2, \"State\");\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', \"Can't Change Status State\", { animation: true, size: 'sm' });\r\n }\r\n }, function(err) {\r\n $rootScope.showToaster('error', \"Can't Change Status State.If its not a parent contact your Admin\", { animation: true, size: 'sm' });\r\n });\r\n }, function() {\r\n\r\n })\r\n }\r\n\r\n function removeState(state) {\r\n var confirm = dialogs.confirm('Confirm', 'Are sure you want to delete current row.', {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n\r\n confirm.result.then(function() {\r\n StateService.removeState(state.StateId).then(function(res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', 'Delete State Successfully', \"State\");\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', \"Can't Delete State\", {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n }\r\n }, function(err) {\r\n $rootScope.showToaster('error', \"Can't Delete State. If its not a parent contact your Admin\", {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n });\r\n }, function() {\r\n\r\n })\r\n }\r\n\r\n function SaveState() {\r\n var logggedUser = AuthenticationService.getLoggedUserDetails();\r\n if (!vm.isEditing) {\r\n var state = {\r\n CountryId: vm.state.selectedCountry.CountryId,\r\n StateName: vm.state.StateName,\r\n CreatedBy: logggedUser.UserId\r\n }\r\n StateService.AddState(state).then(function(res) {\r\n if (res.data.IsSuccess === true) {\r\n $rootScope.showToaster('success', res.data.Message, \"State Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n cancel();\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"State Master\");\r\n vm.isFormOpen = true;\r\n }\r\n \r\n }, function(err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n \r\n } else {\r\n var state = {\r\n CountryId: vm.state.selectedCountry.CountryId,\r\n StateName: vm.state.StateName,\r\n StateId: vm.state.StateId,\r\n IsActive: vm.state.IsActive,\r\n ModifiedBy: logggedUser.UserId\r\n }\r\n StateService.EditState(state).then(function(res) {\r\n if (res.data.IsSuccess === true) {\r\n $rootScope.showToaster('success', res.data.Message, \"State Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n cancel();\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"State Master\");\r\n vm.isFormOpen = true;\r\n } \r\n }, function(err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n \r\n }\r\n }\r\n\r\n }\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.studentDetails')\r\n .controller('studentDetailsCtrl', studentDetailsCtrl);\r\n\r\n /** @ngInject */\r\n function studentDetailsCtrl($rootScope, lodash, dialogs, $http, CompanyService, CountryService, AuthenticationService,\r\n StateService, CityService, AreaService, Base64, $scope) {\r\n var vm = this;\r\n // Pagination code\r\n vm.rowCountOptions = [{\r\n \"value\": 5\r\n }, {\r\n \"value\": 10\r\n }, {\r\n \"value\": 25\r\n }, {\r\n \"value\": 50\r\n }, {\r\n \"value\": 100\r\n }]\r\n vm.noOfRows = vm.rowCountOptions[1];\r\n\r\n vm.currentPage = 1;\r\n vm.rembemberCurrentPage = function (num) {\r\n vm.currentPage = num;\r\n }\r\n // End of Pagination code\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.isLoading = true;\r\n vm.isEditingLogo = false;\r\n vm.open = false;\r\n $rootScope.isLogin = false;\r\n //Method\r\n \r\n vm.Create = Create;\r\n vm.cancel = cancel;\r\n vm.resetForm = resetForm;\r\n \r\n // vm.BloodGroupList = [{\r\n // BloodGroupName: \"O+\",\r\n // },\r\n // {\r\n // BloodGroupName: \"O-\",\r\n // },{BloodGroupName:\"A+\",},{BloodGroupName:\"A-\",},{BloodGroupName:\"B+\",},{BloodGroupName:\"B-\",},{BloodGroupName:\"AB+\",},{BloodGroupName:\"AB-\"}\r\n // ];\r\n\r\n vm.ProficiencyList = [{\r\n ProficiencyName : \"International\",\r\n },{ProficiencyName:\"National\",},{ProficiencyName:\"State\",},{ProficiencyName:\"District\",},{ProficiencyName:\"Zone\"}\r\n\r\n ];\r\n\r\n\r\n\r\n \r\n Init();\r\n ////////////////\r\n\r\n\r\n\r\n function Init() {\r\n }\r\n \r\n \r\n function Create() {\r\n vm.isFormOpen = true;\r\n // vm.company.CreatedBy = \"1\";\r\n\r\n }\r\n\r\n function cancel() {\r\n vm.isFormOpen = false;\r\n vm.resetForm();\r\n vm.Account = {};\r\n vm.isEditing = false;\r\n \r\n angular.element(\"input[type='file']\").val(null);\r\n vm.Reset();\r\n }\r\n\r\n function resetForm() {\r\n vm.companyForm.$setUntouched();\r\n }\r\n\r\n\r\n }\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.test')\r\n .controller('TestCtrl', TestCtrl);\r\n\r\n /** @ngInject */\r\n function TestCtrl($http, $rootScope, lodash, dialogs) {\r\n }\r\n})(); \n/**\r\n * @author v.lugovksy\r\n * created on 15.12.2015\r\n */\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme.components')\r\n .config(toastrLibConfig);\r\n\r\n /** @ngInject */\r\n function toastrLibConfig(toastrConfig) {\r\n angular.extend(toastrConfig, {\r\n closeButton: true,\r\n closeHtml: '',\r\n timeOut: 5000,\r\n autoDismiss: false,\r\n containerId: 'toast-container',\r\n maxOpened: 0,\r\n newestOnTop: true,\r\n positionClass: 'toast-top-right',\r\n preventDuplicates: false,\r\n preventOpenDuplicates: false,\r\n target: 'body'\r\n });\r\n }\r\n})();\n/**\r\n * Change top \"Daily Downloads\", \"Active Users\" values with animation effect\r\n */\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme')\r\n .directive('animatedChange', animatedChange);\r\n\r\n /** @ngInject */\r\n function animatedChange($timeout) {\r\n return {\r\n link: function (scope, element) {\r\n $timeout(function () {\r\n var newValue = element.attr('new-value');\r\n var oldvalue = parseInt(element.html());\r\n\r\n function changeValue(val) {\r\n $timeout(function () {\r\n element.html(val);\r\n }, 30);\r\n }\r\n\r\n if (newValue > oldvalue) {\r\n for (var i = oldvalue; i <= newValue; i++) {\r\n changeValue(i);\r\n }\r\n } else {\r\n for (var j = oldvalue; j >= newValue; j--) {\r\n changeValue(j);\r\n }\r\n }\r\n $timeout(function () {\r\n element.next().find('i').addClass('show-arr');\r\n }, 500);\r\n }, 3500);\r\n }\r\n };\r\n }\r\n\r\n})();\n/**\r\n * Auto expand textarea field\r\n */\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme')\r\n .directive('autoExpand', autoExpand);\r\n\r\n /** @ngInject */\r\n function autoExpand() {\r\n return {\r\n restrict: 'A',\r\n link: function ($scope, elem) {\r\n elem.bind('keydown', function ($event) {\r\n var element = $event.target;\r\n $(element).height(0);\r\n var height = $(element)[0].scrollHeight;\r\n height = (height < 16) ? 16 : height;\r\n $(element).height(height);\r\n });\r\n\r\n // Expand the textarea as soon as it is added to the DOM\r\n setTimeout(function () {\r\n var element = elem;\r\n $(element).height(0);\r\n var height = $(element)[0].scrollHeight;\r\n height = (height < 16) ? 16 : height;\r\n $(element).height(height);\r\n }, 0)\r\n }\r\n };\r\n }\r\n\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme')\r\n .directive('autoFocus', autoFocus);\r\n\r\n /** @ngInject */\r\n function autoFocus($timeout, $parse) {\r\n return {\r\n link: function (scope, element, attrs) {\r\n var model = $parse(attrs.autoFocus);\r\n scope.$watch(model, function (value) {\r\n if (value === true) {\r\n $timeout(function () {\r\n element[0].focus();\r\n element[0].select();\r\n });\r\n }\r\n });\r\n element.bind('blur', function () {\r\n scope.$apply(model.assign(scope, false));\r\n });\r\n }\r\n };\r\n }\r\n\r\n})();\n/**\r\n * @author v.lugovsky\r\n * created on 16.12.2015\r\n */\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme')\r\n .directive('includeWithScope', includeWithScope);\r\n\r\n /** @ngInject */\r\n function includeWithScope() {\r\n return {\r\n restrict: 'AE',\r\n templateUrl: function(ele, attrs) {\r\n return attrs.includeWithScope;\r\n }\r\n };\r\n }\r\n\r\n})();\r\n\n/**\r\n * @author a.demeshko\r\n * created on 22.12.2015\r\n */\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme')\r\n .directive('ionSlider', ionSlider);\r\n\r\n /** @ngInject */\r\n function ionSlider($timeout) {\r\n return {\r\n restrict: 'EA',\r\n template: '
',\r\n replace: true,\r\n scope: {\r\n min: '=',\r\n max: '=',\r\n type: '@',\r\n prefix: '@',\r\n maxPostfix: '@',\r\n prettify: '=',\r\n prettifySeparator: '@',\r\n grid: '=',\r\n gridMargin: '@',\r\n postfix: '@',\r\n step: '@',\r\n hideMinMax: '@',\r\n hideFromTo: '@',\r\n from: '=',\r\n to: '=',\r\n disable: '=',\r\n onChange: '=',\r\n onFinish: '=',\r\n values: '=',\r\n timeout: '@'\r\n },\r\n link: function ($scope, $element) {\r\n $element.ionRangeSlider({\r\n min: $scope.min,\r\n max: $scope.max,\r\n type: $scope.type,\r\n prefix: $scope.prefix,\r\n maxPostfix: $scope.maxPostfix,\r\n prettify_enabled: $scope.prettify,\r\n prettify_separator: $scope.prettifySeparator,\r\n grid: $scope.grid,\r\n gridMargin: $scope.gridMargin,\r\n postfix: $scope.postfix,\r\n step: $scope.step,\r\n hideMinMax: $scope.hideMinMax,\r\n hideFromTo: $scope.hideFromTo,\r\n from: $scope.from,\r\n to: $scope.to,\r\n disable: $scope.disable,\r\n onChange: $scope.onChange,\r\n onFinish: $scope.onFinish,\r\n values: $scope.values\r\n });\r\n\r\n $scope.$watch('min', function (value) {\r\n $timeout(function () {\r\n $element.data(\"ionRangeSlider\").update({min: value});\r\n });\r\n }, true);\r\n $scope.$watch('max', function (value) {\r\n $timeout(function () {\r\n $element.data(\"ionRangeSlider\").update({max: value});\r\n });\r\n });\r\n $scope.$watch('from', function (value) {\r\n $timeout(function () {\r\n $element.data(\"ionRangeSlider\").update({from: value});\r\n });\r\n });\r\n $scope.$watch('to', function (value) {\r\n $timeout(function () {\r\n $element.data(\"ionRangeSlider\").update({to: value});\r\n });\r\n });\r\n $scope.$watch('disable', function (value) {\r\n $timeout(function () {\r\n $element.data(\"ionRangeSlider\").update({disable: value});\r\n });\r\n });\r\n }\r\n };\r\n }\r\n\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme')\r\n\r\n \r\n\r\n .directive('myDirectory', ['$parse', function ($parse) {\r\n function link(scope, element, attrs) {\r\n var model = $parse(attrs.myDirectory);\r\n element.on('change', function (event) {\r\n scope.data = []; //Clear shared scope in case user reqret on the selection\r\n model(scope, { file: event.target.files });\r\n\r\n });\r\n };\r\n return {\r\n link: link\r\n }\r\n }])\r\n .directive('ngFileSelect', ngFileSelect);\r\n\r\n /** @ngInject */\r\n function ngFileSelect() {\r\n return {\r\n link: function ($scope, el) {\r\n el.bind('change', function (e) {\r\n $scope.file = (e.srcElement || e.target).files[0];\r\n $scope.getFile();\r\n })\r\n }\r\n }\r\n }\r\n\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme')\r\n .directive('scrollPosition', scrollPosition);\r\n\r\n /** @ngInject */\r\n function scrollPosition() {\r\n return {\r\n scope: {\r\n scrollPosition: '=',\r\n maxHeight: '='\r\n },\r\n link: function (scope) {\r\n $(window).on('scroll', function() {\r\n var scrollTop = $(window).scrollTop() > scope.maxHeight;\r\n if (scrollTop !== scope.prevScrollTop) {\r\n scope.$apply(function() {\r\n scope.scrollPosition = scrollTop;\r\n });\r\n }\r\n scope.prevScrollTop = scrollTop;\r\n });\r\n }\r\n };\r\n }\r\n\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme')\r\n .directive('trackWidth', trackWidth);\r\n\r\n /** @ngInject */\r\n function trackWidth() {\r\n return {\r\n scope: {\r\n trackWidth: '=',\r\n minWidth: '=',\r\n },\r\n link: function (scope, element) {\r\n scope.trackWidth = $(element).width() < scope.minWidth;\r\n scope.prevTrackWidth = scope.trackWidth;\r\n\r\n $(window).resize(function() {\r\n var trackWidth = $(element).width() < scope.minWidth;\r\n if (trackWidth !== scope.prevTrackWidth) {\r\n scope.$apply(function() {\r\n scope.trackWidth = trackWidth;\r\n });\r\n }\r\n scope.prevTrackWidth = trackWidth;\r\n });\r\n }\r\n };\r\n }\r\n\r\n})();\n/**\r\n * Animated load block\r\n */\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme')\r\n .directive('zoomIn', zoomIn);\r\n\r\n /** @ngInject */\r\n function zoomIn($timeout, $rootScope) {\r\n return {\r\n restrict: 'A',\r\n link: function ($scope, elem) {\r\n var delay = 1000;\r\n\r\n if ($rootScope.$pageFinishedLoading) {\r\n delay = 100;\r\n }\r\n\r\n $timeout(function () {\r\n elem.removeClass('full-invisible');\r\n elem.addClass('animated zoomIn');\r\n }, delay);\r\n }\r\n };\r\n }\r\n\r\n})();\n/**\r\n * @author n.poltoratsky\r\n * created on 27.06.2016\r\n */\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme')\r\n .factory('baProgressModal', baProgressModal);\r\n\r\n /** @ngInject */\r\n function baProgressModal($uibModal) {\r\n var methods = {};\r\n var progress = 0;\r\n var max = 100;\r\n var opened = false;\r\n\r\n return {\r\n setProgress: function (value) {\r\n if (value > max) {\r\n throw Error('Progress can\\'t be greater than max');\r\n }\r\n progress = value;\r\n },\r\n getProgress: function () {\r\n return progress;\r\n },\r\n open: function() {\r\n if (!opened) {\r\n methods = $uibModal.open({\r\n animation: true,\r\n templateUrl: 'app/pages/ui/modals/progressModal/progressModal.html',\r\n size: 'sm',\r\n keyboard: false,\r\n backdrop: 'static'\r\n });\r\n opened = true;\r\n } else {\r\n throw Error('Progress modal opened now');\r\n }\r\n\r\n },\r\n close: function() {\r\n if (opened) {\r\n methods.close();\r\n opened = false;\r\n } else {\r\n throw Error('Progress modal is not active');\r\n }\r\n\r\n }\r\n };\r\n }\r\n\r\n})();\n/**\r\n * @author v.lugovsky\r\n * created on 03.05.2016\r\n */\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme')\r\n .service('baUtil', baUtil);\r\n\r\n /** @ngInject */\r\n function baUtil() {\r\n\r\n this.isDescendant = function(parent, child) {\r\n var node = child.parentNode;\r\n while (node != null) {\r\n if (node == parent) {\r\n return true;\r\n }\r\n node = node.parentNode;\r\n }\r\n return false;\r\n };\r\n\r\n this.hexToRGB = function(hex, alpha) {\r\n var r = parseInt( hex.slice(1,3), 16 );\r\n var g = parseInt( hex.slice(3,5), 16 );\r\n var b = parseInt( hex.slice(5,7), 16 );\r\n return 'rgba(' + r + ', ' + g + ', ' + b + ', ' + alpha + ')';\r\n };\r\n\r\n this.hasAttr = function (elem, attrName) {\r\n var attr = $(elem).attr(attrName);\r\n return (typeof attr !== typeof undefined && attr !== false);\r\n }\r\n }\r\n})();\r\n\n/**\r\n * @author v.lugovksy\r\n * created on 16.12.2015\r\n */\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme')\r\n .service('fileReader', fileReader);\r\n\r\n /** @ngInject */\r\n function fileReader($q) {\r\n var onLoad = function(reader, deferred, scope) {\r\n return function () {\r\n scope.$apply(function () {\r\n deferred.resolve(reader.result);\r\n });\r\n };\r\n };\r\n\r\n var onError = function (reader, deferred, scope) {\r\n return function () {\r\n scope.$apply(function () {\r\n deferred.reject(reader.result);\r\n });\r\n };\r\n };\r\n\r\n var onProgress = function(reader, scope) {\r\n return function (event) {\r\n scope.$broadcast('fileProgress',\r\n {\r\n total: event.total,\r\n loaded: event.loaded\r\n });\r\n };\r\n };\r\n\r\n var getReader = function(deferred, scope) {\r\n var reader = new FileReader();\r\n reader.onload = onLoad(reader, deferred, scope);\r\n reader.onerror = onError(reader, deferred, scope);\r\n reader.onprogress = onProgress(reader, scope);\r\n return reader;\r\n };\r\n\r\n var readAsDataURL = function (file, scope) {\r\n var deferred = $q.defer();\r\n\r\n var reader = getReader(deferred, scope);\r\n reader.readAsDataURL(file);\r\n\r\n return deferred.promise;\r\n };\r\n\r\n return {\r\n readAsDataUrl: readAsDataURL\r\n };\r\n }\r\n})();\n/**\r\n * @author a.demeshko\r\n * created on 3/1/16\r\n */\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme')\r\n .service('preloader', preloader);\r\n\r\n /** @ngInject */\r\n function preloader($q) {\r\n return {\r\n loadImg: function (src) {\r\n var d = $q.defer();\r\n var img = new Image();\r\n img.src = src;\r\n img.onload = function(){\r\n d.resolve();\r\n };\r\n return d.promise;\r\n },\r\n loadAmCharts : function(){\r\n var d = $q.defer();\r\n AmCharts.ready(function(){\r\n d.resolve();\r\n });\r\n return d.promise;\r\n }\r\n }\r\n }\r\n\r\n})();\n/**\r\n * @author a.demeshko\r\n * created on 12/21/15\r\n */\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme')\r\n .service('stopableInterval', stopableInterval);\r\n\r\n /** @ngInject */\r\n function stopableInterval($window) {\r\n return {\r\n start: function (interval, calback, time) {\r\n function startInterval() {\r\n return interval(calback, time);\r\n }\r\n\r\n var i = startInterval();\r\n\r\n angular.element($window).bind('focus', function () {\r\n if (i) interval.cancel(i);\r\n i = startInterval();\r\n });\r\n\r\n angular.element($window).bind('blur', function () {\r\n if (i) interval.cancel(i);\r\n });\r\n }\r\n }\r\n }\r\n\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.location')\r\n .controller('LocationSetupCtrl', LocationSetupCtrl);\r\n\r\n /** @ngInject */\r\n function LocationSetupCtrl($rootScope, lodash, dialogs, $http, LocationSetupService, AuthenticationService) {\r\n var vm = this;\r\n $rootScope.isLoading = true;\r\n // Pagination code\r\n vm.rowCountOptions = [{ \"value\": 5 }, { \"value\": 10 }, { \"value\": 25 }, { \"value\": 50 }, { \"value\": 100 }]\r\n vm.noOfRows = vm.rowCountOptions[1];\r\n\r\n vm.currentPage = 1;\r\n vm.rembemberCurrentPage = function (num) {\r\n vm.currentPage = num;\r\n }\r\n // End of Pagination code\r\n\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.TierList = [];\r\n $rootScope.isLogin = false;\r\n //Method\r\n vm.addNewTier = addNewTier;\r\n vm.removeTier = removeTier;\r\n vm.Create = Create;\r\n vm.cancel = cancel;\r\n vm.removeLocationSetup = removeLocationSetup;\r\n vm.editLocationSetup = editLocationSetup;\r\n vm.SaveLocationSetup = SaveLocationSetup;\r\n // var CompanyId = AuthenticationService.getLoggedUserDetails().SelectedCompany.CompanyId;\r\n var CompanyId = AuthenticationService.getLoggedUserDetails();\r\n Init();\r\n\r\n //Load Grid\r\n function Init() {\r\n LocationSetupService.getAllLocationSetup().then(function (res) {\r\n if (res.status === 200) {\r\n vm.LocationSetupList = res.data;\r\n $rootScope.isLoading = false;\r\n vm.tierNameList = [];\r\n lodash.forEach(vm.LocationSetupList, function (loc) {\r\n loc.Tiers = JSON.parse(loc.Tiers);\r\n lodash.forEach(lodash.keys(loc.Tiers), function (key) {\r\n if (!lodash.includes(vm.tierNameList, key))\r\n vm.tierNameList.push(key);\r\n });\r\n });\r\n } else {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"LocationSetup\");\r\n }\r\n }, function (err) {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Error! Try Again', \"LocationSetup\");\r\n });\r\n }\r\n\r\n\r\n vm.tiers = [];\r\n\r\n function addNewTier() {\r\n\r\n var newItemNo = (vm.tiers).length + 1;\r\n vm.tiers.push({\r\n id: newItemNo,\r\n tierName: vm.location.Tier\r\n });\r\n vm.location.Tier = '';\r\n };\r\n\r\n function removeTier(item) {\r\n vm.tiers.splice(item, 1);\r\n };\r\n\r\n function Create() {\r\n vm.isFormOpen = true;\r\n }\r\n\r\n function cancel() {\r\n vm.isFormOpen = false;\r\n vm.location = {};\r\n vm.tiers = [];\r\n }\r\n\r\n function editLocationSetup(location) {\r\n vm.isEditing = true;\r\n vm.isFormOpen = true;\r\n vm.location = angular.copy(location);\r\n\r\n\r\n for (var c in vm.CompanyList) {\r\n if (vm.CompanyList[c].CompanyId === location.CompanyId) {\r\n vm.location.selectedCompany = vm.CompanyList[c];\r\n }\r\n }\r\n\r\n\r\n\r\n vm.tiers = [];\r\n lodash.forIn(location.Tiers, function (tierValue, tier) {\r\n var newItemNo = (vm.tiers).length + 1;\r\n vm.tiers.push({\r\n id: newItemNo,\r\n tierName: tierValue\r\n });\r\n })\r\n }\r\n\r\n function removeLocationSetup(location) {\r\n var confirm = dialogs.confirm('Confirm',\r\n 'Are sure you want to delete current row.', {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n\r\n confirm.result.then(function () {\r\n LocationSetupService.removeLocationSetup(location.LocationId).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', 'Delete Successfully', \"Location Setup\");\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', \"Can't Delete LocationSetup\", {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n }\r\n });\r\n }, function () {\r\n\r\n })\r\n }\r\n\r\n function SaveLocationSetup(location) {\r\n var tierList = {};\r\n for (var i in vm.tiers) {\r\n tierList['Tier' + (parseInt(i) + 1)] = vm.tiers[i].tierName;\r\n }\r\n\r\n location.Tiers = JSON.stringify(tierList);\r\n if (!vm.isEditing) {\r\n LocationSetupService.AddLocationSetup(location).then(function (res) {\r\n $rootScope.showToaster('success', 'Added Successfully', \"Location Setup Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Something error...try again\");\r\n });\r\n cancel();\r\n } else {\r\n LocationSetupService.EditLocationSetup(location).then(function (res) {\r\n $rootScope.showToaster('success', 'Updated Successfully', \"Location Setup Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Something error...try again\");\r\n });\r\n cancel();\r\n }\r\n }\r\n\r\n }\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.location')\r\n .controller('TierSetupCtrl', TierSetupCtrl);\r\n\r\n /** @ngInject */\r\n function TierSetupCtrl($scope, $rootScope, lodash, dialogs, $http, LocationSetupService, TierSetupService,\r\n AuthenticationService) {\r\n var vm = this;\r\n $rootScope.isLoading = true;\r\n // Pagination code\r\n vm.rowCountOptions = [{ \"value\": 5 }, { \"value\": 10 }, { \"value\": 25 }, { \"value\": 50 }, { \"value\": 100 }]\r\n vm.noOfRows = vm.rowCountOptions[1];\r\n\r\n vm.currentPage = 1;\r\n vm.rembemberCurrentPage = function (num) {\r\n vm.currentPage = num;\r\n }\r\n // End of Pagination code\r\n\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.TierSetupList = [];\r\n $rootScope.isLogin = false;\r\n vm.getTiersByLocationId = getTiersByLocationId;\r\n vm.filterTiers = filterTiers;\r\n vm.saveNewTierValue = saveNewTierValue;\r\n vm.cancelAdding = cancelAdding;\r\n vm.updateTierValue = updateTierValue;\r\n vm.removeTierSetup = removeTierSetup;\r\n\r\n var loggedUser = AuthenticationService.getLoggedUserDetails();\r\n // var CompanyId = loggedUser.SelectedCompany.CompanyId;\r\n Init();\r\n\r\n ///////////////////////////\r\n\r\n function Init() {\r\n var loc = {\r\n\r\n }\r\n LocationSetupService.getAllLocationMaster(loc).then(function (res) {\r\n if (res.status === 200) {\r\n vm.LocationList = res.data;\r\n $rootScope.isLoading = false;\r\n // if (callback)\r\n // { // callback();\r\n // }\r\n \r\n // } else {\r\n // $rootScope.showToaster('error', 'Load Failed! Try Again', \"Location \");\r\n }\r\n }, function (err) {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Location \");\r\n });\r\n }\r\n\r\n\r\n function filterTiers(tier) {\r\n var isClearingTier = (tier.selectedTierValue === null || tier.selectedTierValue === undefined);\r\n var nextTier = \"Tier\" + (getTierNo(tier.TierType) + 1);\r\n vm.currentTier = vm.tierObj[nextTier];\r\n if (!isClearingTier)\r\n vm.TierSetupList = lodash.filter(vm.allTierData, { 'TierName': vm.currentTier, 'ParentTierId': tier.selectedTierValue.TierId });\r\n lodash.forEach(vm.tierList, function (t) {\r\n if (t.TierType === nextTier) {\r\n if (!isClearingTier)\r\n t.Values = vm.TierSetupList;\r\n t.selectedTierValue = null;\r\n }\r\n var tierNoToCheck = ((isClearingTier) ? getTierNo(tier.TierType) : getTierNo(nextTier));\r\n if (getTierNo(t.TierType) > tierNoToCheck) {\r\n t.Values = [],\r\n t.selectedTierValue = null;\r\n }\r\n });\r\n\r\n if (isClearingTier) {\r\n if (getTierNo(tier.TierType) === 1)\r\n vm.TierSetupList = lodash.filter(vm.allTierData, { 'TierName': vm.tierObj['Tier1'], 'ParentTierId': 0 });\r\n }\r\n }\r\n\r\n function getTierNo(tierString) {\r\n return parseInt(tierString.substring(4));\r\n }\r\n\r\n function getTiersByLocationId(LocationId, callback) {\r\n vm.tierObj = JSON.parse(vm.tier.selectedLocation.Tiers);\r\n vm.currentTier = vm.tierObj.Tier1;\r\n\r\n TierSetupService.getAllTierSetup(LocationId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.allTierData = res.data;\r\n vm.tierList = [];\r\n for (var properties in vm.tierObj) {\r\n var temp = {\r\n TierName: vm.tierObj[properties],\r\n IsAdding: false,\r\n TierType: properties\r\n }\r\n if (properties === 'Tier1') {\r\n temp.Values = lodash.filter(vm.allTierData, { 'TierName': vm.tierObj[properties] });\r\n }\r\n vm.tierList.push(temp)\r\n }\r\n if (callback)\r\n callback();\r\n vm.TierSetupList = lodash.filter(vm.allTierData, { 'TierName': vm.currentTier });\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Tier Setup\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Tier Setup\");\r\n });\r\n }\r\n\r\n function saveNewTierValue(tier) {\r\n var oldTierSelection = [];\r\n tier.IsAdding = ((!(tier.IsAdding) || tier.IsAdding === undefined) ? true : false);\r\n vm.isAddingTier = true;\r\n if (!tier.IsAdding) {\r\n var obj = {\r\n LocationId: vm.tier.selectedLocation.LocationId,\r\n ParentTierId: 0,\r\n TierValue: tier.TierValue,\r\n TierName: tier.TierName,\r\n CreatedBy: loggedUser.UserId\r\n }\r\n if (getTierNo(tier.TierType) === 1) {\r\n obj.ParentTierId = 0;\r\n } else {\r\n var parentTier = lodash.find(vm.tierList, function (t) {\r\n return t.TierType === \"Tier\" + (getTierNo(tier.TierType) - 1);\r\n }).selectedTierValue;\r\n\r\n if (parentTier === null || parentTier === undefined) {\r\n $rootScope.showToaster('error', \"You have to select a parent tier\", \"ERROR!\");\r\n vm.isFormOpen = false;\r\n vm.isAddingTier = false;\r\n tier.TierValue = undefined;\r\n return;\r\n } else {\r\n obj.ParentTierId = parentTier.TierId;\r\n }\r\n oldTierSelection = vm.tierList;\r\n }\r\n\r\n TierSetupService.AddTierSetup(obj).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n getTiersByLocationId(vm.tier.selectedLocation.LocationId, function () {\r\n lodash.forEach(oldTierSelection, function (oldTier) {\r\n lodash.forEach(vm.tierList, function (tier) {\r\n if (oldTier.TierType === tier.TierType && oldTier.selectedTierValue) {\r\n tier.selectedTierValue = oldTier.selectedTierValue;\r\n if (tier)\r\n filterTiers(tier);\r\n }\r\n })\r\n })\r\n filterTiers()\r\n });\r\n $rootScope.showToaster('success', res.data.Message, \"Tier Value\");\r\n vm.isFormOpen = false;\r\n vm.isAddingTier = false;\r\n tier.TierValue = undefined;\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Tier Value\");\r\n tier.IsAdding = !tier.IsAdding;\r\n }\r\n //Init();\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n // lodash.forEach(vm.tierList, function (t) {\r\n // t.isHideForm = false;\r\n // });\r\n } else {\r\n var tierNoToCheck = getTierNo(tier.TierType);\r\n\r\n var nextTier = \"Tier\" + (getTierNo(tier.TierType) + 1);\r\n var currentTier = lodash.find(vm.tierList, { 'TierType': tier.TierType });\r\n vm.TierSetupList = currentTier.Values; // lodash.filter(vm.allTierData, { 'TierName': tier.TierName });\r\n lodash.forEach(vm.tierList, function (t) {\r\n if (getTierNo(t.TierType) > tierNoToCheck) {\r\n t.isHideForm = true;\r\n }\r\n });\r\n }\r\n }\r\n\r\n function updateTierValue(tierToUpdate) {\r\n\r\n var obj = {\r\n \"TierId\": tierToUpdate.TierId,\r\n \"LocationId\": tierToUpdate.LocationId,\r\n \"TierValue\": tierToUpdate.TierValue,\r\n \"TierName\": tierToUpdate.TierName,\r\n \"IsActive\": tierToUpdate.IsActive,\r\n \"ModifiedBy\": loggedUser.UserId\r\n }\r\n TierSetupService.updateTierSetup(obj).then(function (res) {\r\n if (res.status === 200, res.data.IsSuccess) {\r\n\r\n $rootScope.showToaster('success', res.data.Message, \"Success\");\r\n tierToUpdate.isEdit = false;\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"ERROR!\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Cannot connect to server', 'ERROR!');\r\n });\r\n }\r\n\r\n function removeTierSetup(tierToRemove) {\r\n debugger;\r\n var confirm = dialogs.confirm('Confirm', 'Are sure you want to delete current row.', { animation: true, size: 'sm' });\r\n var oldTierSelection = vm.tierList;\r\n confirm.result.then(function () {\r\n TierSetupService.removeTierSetup(tierToRemove.TierId).then(function (res) {\r\n if (res.status === 200 && res.data.IsSuccess) {\r\n $rootScope.showToaster('success', res.data.Message, \"Success\");\r\n getTiersByLocationId(vm.tier.selectedLocation.LocationId, function () {\r\n lodash.forEach(oldTierSelection, function (oldTier) {\r\n lodash.forEach(vm.tierList, function (tier) {\r\n if (oldTier.TierType === tier.TierType && oldTier.selectedTierValue) {\r\n tier.selectedTierValue = oldTier.selectedTierValue;\r\n if (tier)\r\n filterTiers(tier);\r\n }\r\n })\r\n })\r\n filterTiers()\r\n });\r\n } else if (!res.data.IsSuccess) {\r\n $rootScope.showToaster('error', res.data.Message, \"ERROR!\");\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"ERROR!\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Cannot connect to server', 'ERROR!');\r\n });\r\n });\r\n }\r\n\r\n function cancelAdding(tier) {\r\n tier.TierValue = undefined;\r\n tier.IsAdding = false;\r\n vm.isAddingTier = false;\r\n lodash.forEach(vm.tierList, function (t) {\r\n t.isHideForm = false;\r\n });\r\n }\r\n }\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.mapping')\r\n .controller('ClassRoomMappingCtrl', ClassRoomMappingCtrl);\r\n\r\n /** @ngInject */\r\n function ClassRoomMappingCtrl($http, $filter, $rootScope, lodash, dialogs, MappingService, TierSetupService, LocationSetupService, ClassRoomService, SectionService, AuthenticationService) {\r\n var vm = this;\r\n $rootScope.isLoading = true;\r\n // Pagination code\r\n vm.rowCountOptions = [{ \"value\": 5 }, { \"value\": 10 }, { \"value\": 25 }, { \"value\": 50 }, { \"value\": 100 }]\r\n vm.noOfRows = vm.rowCountOptions[1];\r\n\r\n vm.currentPage = 1;\r\n vm.rembemberCurrentPage = function (num) {\r\n vm.currentPage = num;\r\n }\r\n // End of Pagination code\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n \r\n vm.Create = Create;\r\n vm.cancel = cancel;\r\n vm.class = {};\r\n vm.getTiersByLocationId = getTiersByLocationId;\r\n vm.filterTiers = filterTiers;\r\n vm.staff = {};\r\n vm.getSectionByClass = getSectionByClass;\r\n vm.Saveclass = Saveclass;\r\n vm.editclass = editclass;\r\n vm.removeClass = removeClass;\r\n // var CompanyId = AuthenticationService.getLoggedUserDetails().SelectedCompany.CompanyId;\r\n var CompanyId = AuthenticationService.getLoggedUserDetails();\r\n function Create() {\r\n vm.isEditing = false;\r\n vm.isFormOpen = true;\r\n vm.isTableOpen = false;\r\n }\r\n function cancel() {\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.class = {};\r\n }\r\n\r\n Init()\r\n function Init() {\r\n var CompanyId = AuthenticationService.getLoggedUserDetails().SelectedCompany.CompanyId;\r\n \r\n MappingService.GetAllClassMap().then(function (res) {\r\n if (res.status === 200) {\r\n vm.AllclassMapList = res.data;\r\n $rootScope.isLoading = false;\r\n for (var i in vm.AllclassMapList) {\r\n // vm.AllclassMapList[i].ClassMapTierList = JSON.parse(vm.AllclassMapList[i].TierList);\r\n }\r\n\r\n ClassRoomService.GetAllClassRoom().then(function (res) {\r\n if (res.status === 200) {\r\n vm.ClassRoomList = res.data;\r\n LocationSetupService.getAllLocationSetup().then(function (res) {\r\n if (res.status === 200) {\r\n vm.LocationSetupList = res.data;\r\n vm.tierNameList = [];\r\n lodash.forEach(vm.LocationSetupList, function (loc) {\r\n loc.Tiers = JSON.parse(loc.Tiers);\r\n lodash.forEach(lodash.keys(loc.Tiers), function (key) {\r\n if (!lodash.includes(vm.tierNameList, key))\r\n vm.tierNameList.push(key);\r\n });\r\n });\r\n \r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"LocationSetup\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"LocationSetup\");\r\n });\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Class Mapping\");\r\n });\r\n \r\n } else {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Class Mapping\");\r\n }\r\n }, function (err) {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Class Mapping\");\r\n });\r\n\r\n }\r\n\r\n\r\n function getSectionByClass(ClassId, callBack) {\r\n if (ClassId) {\r\n vm.staff.selectedSection = null;\r\n vm.SectionList\r\n SectionService.GetAllSectionByClass(ClassId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.SectionList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n else {\r\n vm.staff.selectedSection = null;\r\n vm.SectionList\r\n }\r\n }\r\n\r\n function getMaxTier(tierArr) {\r\n var maxTier = tierArr[0];\r\n lodash.forEach(tierArr, function (t) {\r\n if (getTierNo(t) > getTierNo(maxTier))\r\n maxTier = t;\r\n });\r\n return maxTier;\r\n }\r\n\r\n function getTierNo(tierString) {\r\n return parseInt(tierString.substring(4));\r\n }\r\n function getTiersByLocationId(LocationId, callback) {\r\n clearTierSelection();\r\n if (LocationId) {\r\n vm.tierObj = vm.class.selectedLocation.Tiers;\r\n var tierArr = lodash.keys(vm.tierObj);\r\n vm.maxTier = getMaxTier(tierArr);\r\n vm.currentTier = vm.tierObj.Tier1;\r\n TierSetupService.getAllTierSetup(LocationId).then(function (res) {\r\n if (res.status === 200) {\r\n debugger;\r\n vm.allTierData = res.data;\r\n vm.tierList = [];\r\n for (var properties in vm.tierObj) {\r\n var temp = {\r\n TierName: vm.tierObj[properties],\r\n IsAdding: false,\r\n TierType: properties\r\n }\r\n if (properties === 'Tier1') {\r\n temp.Values = lodash.filter(vm.allTierData, {\r\n 'TierName': vm.tierObj[properties]\r\n });\r\n }\r\n vm.tierList.push(temp)\r\n }\r\n vm.TierSetupList = lodash.filter(vm.allTierData, {\r\n 'TierName': vm.currentTier\r\n });\r\n //loadPowByLocation();\r\n\r\n \r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Tier Setup\");\r\n }\r\n if (callback)\r\n callback();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Tier Setup\");\r\n });\r\n } else {\r\n\r\n }\r\n\r\n }\r\n function clearTierSelection() {\r\n lodash.forEach(vm.tierList, function (tier) {\r\n tier.selectedTierValue = null;\r\n // tier.Values = [];\r\n })\r\n }\r\n\r\n function filterTiers(tier) {\r\n if (tier.selectedTierValue) {\r\n var tempTier = \"Tier\" + (parseInt(tier.TierType.substring(4)) + 1);\r\n vm.currentTier = vm.tierObj[tempTier];\r\n vm.TierSetupList = lodash.filter(vm.allTierData, {\r\n 'TierName': vm.currentTier,\r\n 'ParentTierId': tier.selectedTierValue.TierId\r\n });\r\n lodash.forEach(vm.tierList, function (t) {\r\n if (t.TierType === tempTier) {\r\n t.Values = vm.TierSetupList;\r\n }\r\n });\r\n if (tier.TierType === vm.maxTier)\r\n vm.Lastid = tier.selectedTierValue.TierId;\r\n vm.tiers = {}\r\n }\r\n else {\r\n clearTierSelection();\r\n }\r\n }\r\n\r\n function Saveclass() {\r\n var obj = {\r\n ClassId: vm.class.selectedClassRoom.ClassId,\r\n SectionId: vm.class.selectedSection.SectionId,\r\n LocationId: vm.class.selectedLocation.LocationId,\r\n LastTierId: vm.Lastid,\r\n CreatedBy: 1,\r\n Process: 'Save'\r\n }\r\n if (!vm.isEditing) {\r\n MappingService.SaveClassRoomMap(obj).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n if (res.data.Code === 1)\r\n $rootScope.showToaster('success', res.data.Message, \"Class Room Mapping\");\r\n if (res.data.Code != 1)\r\n $rootScope.showToaster('warning', res.data.Message, \"Class Room Mapping\");\r\n Init();\r\n vm.isFormOpen = false;\r\n cancel();\r\n vm.class = {};\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Class Room Mapping\");\r\n vm.isFormOpen = true;\r\n }\r\n\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n\r\n }\r\n else {\r\n obj.MapClassId = vm.class.MapClassId\r\n SectionService.SaveSection(obj).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n if (res.data.Code === 3)\r\n $rootScope.showToaster('success', res.data.Message, \"Section Master\");\r\n if (res.data.Code != 3)\r\n $rootScope.showToaster('warning', res.data.Message, \"Section Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n cancel();\r\n vm.class = {};\r\n vm.isEditing = false;\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Section Master\");\r\n vm.isFormOpen = true;\r\n }\r\n\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n }\r\n }\r\n\r\n function editclass(row) {\r\n vm.isEditing = true;\r\n vm.isFormOpen = true;\r\n vm.isTableOpen = false;\r\n vm.class.MapClassId = angular.copy(row.MapClassId)\r\n\r\n for (var i in vm.ClassRoomList) {\r\n if (vm.ClassRoomList[i].ClassId === row.ClassId) {\r\n vm.class.selectedClassRoom = vm.ClassRoomList[i]\r\n }\r\n }\r\n\r\n getSectionByClass(row.ClassId, function () {\r\n for (var i in vm.SectionList) {\r\n if (vm.SectionList[i].SectionId === row.SectionId) {\r\n vm.class.selectedSection = vm.SectionList[i]\r\n }\r\n }\r\n });\r\n\r\n\r\n for (var i in vm.LocationSetupList) {\r\n if (vm.LocationSetupList[i].LocationId === row.LocationId) {\r\n vm.class.selectedLocation = vm.LocationSetupList[i]\r\n }\r\n }\r\n\r\n getTiersByLocationId(row.LocationId, function () {\r\n\r\n })\r\n }\r\n\r\n function removeClass(row) {\r\n var confirm = dialogs.confirm('Confirm',\r\n 'Are sure you want to delete current row.', { animation: true, size: 'sm' });\r\n row.Process = 'Delete'\r\n confirm.result.then(function () {\r\n MappingService.SaveClassRoomMap(row).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', res.data.Message, \"Class Room Mapping\");\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', \"Can't Delete Class Room Mapping\", { animation: true, size: 'sm' });\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Can't Delete Class Room Mapping. If its not a parent contact your Admin\", { animation: true, size: 'sm' });\r\n });\r\n }, function () {\r\n\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n }\r\n})(); \n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.mapping')\r\n .controller('StaffMappingCtrl', StaffMappingCtrl);\r\n\r\n /** @ngInject */\r\n function StaffMappingCtrl($http, $filter, $rootScope, lodash, dialogs, MappingService, EmployeeService, ClassRoomService, SectionService, SubjectService, AuthenticationService) {\r\n var vm = this;\r\n $rootScope.isLoading = true;\r\n // Pagination code\r\n vm.rowCountOptions = [{ \"value\": 5 }, { \"value\": 10 }, { \"value\": 25 }, { \"value\": 50 }, { \"value\": 100 }]\r\n vm.noOfRows = vm.rowCountOptions[1];\r\n\r\n vm.currentPage = 1;\r\n vm.rembemberCurrentPage = function (num) {\r\n vm.currentPage = num;\r\n }\r\n // End of Pagination code\r\n vm.isFormOpen = false;\r\n \r\n vm.isEditing = false;\r\n //vm.isLoading = true;\r\n vm.Create = Create;\r\n vm.cancel = cancel;\r\n vm.staff = {};\r\n vm.staffMapList = [];\r\n vm.getSectionByClass = getSectionByClass;\r\n vm.getSubjectBySection = getSubjectBySection;\r\n vm.editStaff = editStaff;\r\n var CompanyId = AuthenticationService.getLoggedUserDetails().SelectedCompany.CompanyId;\r\n //var CompanyId = AuthenticationService.getLoggedUserDetails();\r\n function Create() {\r\n vm.isEditing = false;\r\n vm.isFormOpen = true;\r\n vm.isTableOpen = false;\r\n }\r\n function cancel() {\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.staff = {};\r\n vm.staffMapList = [];\r\n }\r\n\r\n Init()\r\n function Init() {\r\n MappingService.GetAllStaffMap().then(function (res) {\r\n if (res.status === 200) {\r\n vm.AllStaffMapList = res.data;\r\n $rootScope.isLoading = false;\r\n EmployeeService.getAllEmployeeList(CompanyId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.EmployeeList = res.data;\r\n ClassRoomService.GetAllClassRoom().then(function (res) {\r\n if (res.status === 200) {\r\n vm.ClassRoomList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Staff Master\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Staff Master\");\r\n });\r\n // vm.isLoading = false;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Employee\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Employee\");\r\n });\r\n } else {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Staff Master\");\r\n }\r\n }, function (err) {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Staff Master\");\r\n });\r\n\r\n\r\n }\r\n\r\n\r\n function getSectionByClass(ClassId, callBack) {\r\n if (ClassId) {\r\n vm.staff.selectedSection = null;\r\n vm.SectionList\r\n vm.staff.selectedSubject = null;\r\n vm.SubjectList = [];\r\n SectionService.GetAllSectionByClass(ClassId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.SectionList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Staff Master\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Staff Master\");\r\n });\r\n }\r\n else {\r\n vm.staff.selectedSection = null;\r\n vm.SectionList\r\n vm.staff.selectedSubject = null;\r\n vm.SubjectList = [];\r\n }\r\n }\r\n \r\n function getSubjectBySection(ClassId, SectionId, callBack) {\r\n if (SectionId) {\r\n vm.staff.selectedSubject = null;\r\n vm.SubjectList = [];\r\n var obj = {\r\n ClassId: ClassId,\r\n SectionId: SectionId\r\n }\r\n SubjectService.getAllSubjectBySection(obj).then(function (res) {\r\n if (res.status === 200) {\r\n vm.SubjectList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Staff Master\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Staff Master\");\r\n });\r\n }\r\n else {\r\n vm.staff.selectedSubject = null;\r\n vm.SubjectList = [];\r\n }\r\n }\r\n vm.AddStaff = function () {\r\n\r\n var obj = {\r\n FirstName: vm.staff.selectedStaff.FirstName,\r\n EmployeeId: vm.staff.selectedStaff.EmployeeId,\r\n ClassName: vm.staff.selectedClassRoom.ClassName,\r\n ClassId: vm.staff.selectedClassRoom.ClassId,\r\n SectionName: vm.staff.selectedSection.SectionName,\r\n SectionId: vm.staff.selectedSection.SectionId,\r\n SubjectName: vm.staff.selectedSubject.SubjectName,\r\n SubjectId: vm.staff.selectedSubject.SubjectId\r\n }\r\n vm.staffMapList.push(obj);\r\n }\r\n\r\n vm.RemoveStaff = function (item) {\r\n var index = vm.staffMapList.indexOf(item);\r\n vm.staffMapList.splice(index, 1);\r\n }\r\n\r\n vm.SaveStaff = function () {\r\n if (!vm.isEditing) {\r\n var Arr = [];\r\n for (var i in vm.staffMapList) {\r\n Arr.push({\r\n EmployeeId: vm.staffMapList[i].EmployeeId,\r\n ClassId: vm.staffMapList[i].ClassId,\r\n SectionId: vm.staffMapList[i].SectionId,\r\n SubjectId: vm.staffMapList[i].SubjectId,\r\n CreatedBy: 1\r\n });\r\n }\r\n\r\n var obj = {\r\n StaffMappingList: JSON.stringify(Arr),\r\n Process: 'Save'\r\n }\r\n MappingService.SaveStaff(obj).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n $rootScope.showToaster('success', res.data.Message, \"Staff Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n cancel();\r\n vm.section = {};\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Staff Master\");\r\n vm.isFormOpen = true;\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n }\r\n else {\r\n var obj = {\r\n MapStaffId: vm.staff.MapStaffId,\r\n EmployeeId: vm.staff.selectedStaff.EmployeeId,\r\n ClassId: vm.staff.selectedClassRoom.ClassId,\r\n SectionId: vm.staff.selectedSection.SectionId,\r\n SubjectId: vm.staff.selectedSubject.SubjectId,\r\n CreatedBy: 1,\r\n Process: 'Save'\r\n }\r\n MappingService.UpdateStaffMap(obj).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n if (res.data.Code === 3)\r\n $rootScope.showToaster('success', res.data.Message, \"Staff Map Master\");\r\n if (res.data.Code != 3)\r\n $rootScope.showToaster('warning', res.data.Message, \"Staff Map Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n cancel();\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Staff Map Master\");\r\n vm.isFormOpen = true;\r\n }\r\n\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n vm.RemoveStaffMap = function (row) {\r\n var confirm = dialogs.confirm('Confirm',\r\n 'Are sure you want to delete current row.', { animation: true, size: 'sm' });\r\n row.Process = 'Delete'\r\n confirm.result.then(function () {\r\n MappingService.UpdateStaffMap(row).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', res.data.Message, \"Staff Map Master\");\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', \"Can't Delete Staff Map\", { animation: true, size: 'sm' });\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Can't Delete Staff Map. If its not a parent contact your Admin\", { animation: true, size: 'sm' });\r\n });\r\n }, function () {\r\n\r\n })\r\n }\r\n\r\n function editStaff(row) {\r\n vm.isEditing = true;\r\n vm.isFormOpen = true;\r\n vm.isTableOpen = false;\r\n vm.staff.MapStaffId = angular.copy(row.MapStaffId)\r\n for (var i in vm.EmployeeList) {\r\n if (vm.EmployeeList[i].EmployeeId === row.EmployeeId) {\r\n vm.staff.selectedStaff = vm.EmployeeList[i]\r\n }\r\n }\r\n\r\n for (var i in vm.ClassRoomList) {\r\n if (vm.ClassRoomList[i].ClassId === row.ClassId) {\r\n vm.staff.selectedClassRoom = vm.ClassRoomList[i]\r\n }\r\n }\r\n\r\n getSectionByClass(row.ClassId, function () {\r\n for (var i in vm.SectionList) {\r\n if (vm.SectionList[i].SectionId === row.SectionId) {\r\n vm.staff.selectedSection = vm.SectionList[i]\r\n }\r\n }\r\n });\r\n\r\n getSubjectBySection(row.ClassId, row.SectionId, function () {\r\n for (var i in vm.SubjectList) {\r\n if (vm.SubjectList[i].SubjectId === row.SubjectId) {\r\n vm.staff.selectedSubject = vm.SubjectList[i]\r\n }\r\n }\r\n });\r\n }\r\n\r\n }\r\n})(); \n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.mapping')\r\n .controller('timeTableMappingCtrl', timeTableMappingCtrl);\r\n\r\n /** @ngInject */\r\n function timeTableMappingCtrl($http, $filter, $rootScope, lodash, dialogs, MappingService, EmployeeService, ClassRoomService, SectionService, SubjectService, AuthenticationService) {\r\n var vm = this;\r\n $rootScope.isLoading = this;\r\n // Pagination code\r\n vm.rowCountOptions = [{ \"value\": 5 }, { \"value\": 10 }, { \"value\": 25 }, { \"value\": 50 }, { \"value\": 100 }]\r\n vm.noOfRows = vm.rowCountOptions[1];\r\n\r\n vm.currentPage = 1;\r\n vm.rembemberCurrentPage = function (num) {\r\n vm.currentPage = num;\r\n }\r\n // End of Pagination code\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.Create = Create;\r\n vm.cancel = cancel;\r\n vm.GetClassTeacher = GetClassTeacher;\r\n vm.timeTable = {};\r\n vm.isTecCheck = false;\r\n vm.getSectionByClass = getSectionByClass;\r\n vm.getSubjectBySection = getSubjectBySection;\r\n vm.SavetimeTable = SavetimeTable;\r\n vm.edittimeTable = edittimeTable;\r\n var CompanyId = AuthenticationService.getLoggedUserDetails().SelectedCompany.CompanyId;\r\n var CompanyId = AuthenticationService.getLoggedUserDetails();\r\n function Create() {\r\n vm.isEditing = false;\r\n vm.isFormOpen = true;\r\n vm.isTableOpen = false;\r\n }\r\n function cancel() {\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.timeTable = {};\r\n }\r\n\r\n vm.PeriodList = [{ Id: 1, Period: \"1st Period\" },\r\n { Id: 2, Period: \"2nd Period\" },\r\n { Id: 3, Period: \"3rd Period\" },\r\n { Id: 4, Period: \"4th Period\" },\r\n { Id: 5, Period: \"5th Period\" },\r\n { Id: 6, Period: \"6th Period\" },\r\n { Id: 7, Period: \"7th Period\" },\r\n { Id: 8, Period: \"8th Period\" },]\r\n\r\n Init()\r\n function Init() {\r\n var CompanyId = AuthenticationService.getLoggedUserDetails().SelectedCompany.CompanyId;\r\n MappingService.GetAllTimeTableMap().then(function (res) {\r\n if (res.status === 200) {\r\n vm.AllStaffTimeTableList = res.data;\r\n $rootScope.isLoading = this;\r\n for (var i in vm.AllStaffTimeTableList) {\r\n for (var j in vm.PeriodList) {\r\n if (vm.AllStaffTimeTableList[i].Period === vm.PeriodList[j].Id) {\r\n vm.AllStaffTimeTableList[i].PeriodName = vm.PeriodList[j].Period\r\n }\r\n }\r\n }\r\n EmployeeService.getAllEmployees(CompanyId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.EmployeeList = res.data;\r\n ClassRoomService.GetAllClassRoom().then(function (res) {\r\n if (res.status === 200) {\r\n vm.ClassRoomList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n \r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Employee\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Employee\");\r\n });\r\n } else {\r\n $rootScope.isLoading = this;\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n }, function (err) {\r\n $rootScope.isLoading = this;\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n\r\n vm.DayList = [{ Id: 1, Day: \"Monday\" },\r\n { Id: 2, Day: \"Tuesday\" },\r\n { Id: 3, Day: \"Wednesday\" },\r\n { Id: 4, Day: \"Thursaday\" },\r\n { Id: 5, Day: \"Friday\" },\r\n { Id: 6, Day: \"Saturday\" },]\r\n\r\n\r\n function getSectionByClass(ClassId, callBack) {\r\n if (ClassId) {\r\n vm.timeTable.selectedSection = null;\r\n vm.SectionList\r\n vm.timeTable.selectedSubject = null;\r\n vm.SubjectList = [];\r\n SectionService.GetAllSectionByClass(ClassId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.SectionList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n else {\r\n vm.timeTable.selectedSection = null;\r\n vm.SectionList\r\n vm.timeTable.selectedSubject = null;\r\n vm.SubjectList = [];\r\n }\r\n }\r\n\r\n function GetClassTeacher() {\r\n var arr2 = vm.EmployeeList;\r\n debugger;\r\n var arr1 = vm.AllStaffTimeTableList;\r\n // Compare Two array\r\n angular.forEach(arr1, function (value1, key1) {\r\n angular.forEach(arr2, function (value2, key2) {\r\n if (value1.ClassTeacherId === value2.EmployeeId) {\r\n arr2.splice(key2, 1);\r\n vm.isTecCheck = true;\r\n }\r\n });\r\n })\r\n vm.ClassTeacherList = arr2;\r\n }\r\n\r\n function getSubjectBySection(ClassId, SectionId, callBack) {\r\n if (SectionId) {\r\n vm.timeTable.selectedSubject = null;\r\n vm.SubjectList = [];\r\n var obj = {\r\n ClassId: ClassId,\r\n SectionId: SectionId\r\n }\r\n SubjectService.getAllSubjectBySection(obj).then(function (res) {\r\n if (res.status === 200) {\r\n vm.SubjectList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n else {\r\n vm.timeTable.selectedSubject = null;\r\n vm.SubjectList = [];\r\n }\r\n GetClassTeacher();\r\n }\r\n\r\n function SavetimeTable() { \r\n var obj = {\r\n ClassId: vm.timeTable.selectedClassRoom.ClassId,\r\n SectionId: vm.timeTable.selectedSection.SectionId,\r\n ClassTeacherId: vm.timeTable.selectedClassTeacher.EmployeeId,\r\n SubjectTeacherId: vm.timeTable.selectedSubjectTeacher.EmployeeId,\r\n SubjectId: vm.timeTable.selectedSubject.SubjectId,\r\n Day: vm.timeTable.selectedDay.Day,\r\n Period: vm.timeTable.selectedPeriod.Id,\r\n CreatedBy: 1,\r\n Process: 'Save'\r\n }\r\n if (!vm.isEditing) {\r\n MappingService.SaveTimeTableMap(obj).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n if (res.data.Code === 1)\r\n $rootScope.showToaster('success', res.data.Message, \"Time Table Mapping\");\r\n if (res.data.Code != 1)\r\n $rootScope.showToaster('warning', res.data.Message, \"Time Table Mapping\");\r\n Init();\r\n vm.isFormOpen = false;\r\n cancel();\r\n vm.timeTable = {};\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Time Table Mapping\");\r\n vm.isFormOpen = true;\r\n }\r\n\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n }\r\n else {\r\n obj.MapTimeTableId = vm.timeTable.MapTimeTableId\r\n MappingService.SaveTimeTableMap(obj).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n if (res.data.Code === 3)\r\n $rootScope.showToaster('success', res.data.Message, \"Time Table Mapping\");\r\n if (res.data.Code != 3)\r\n $rootScope.showToaster('warning', res.data.Message, \"Time Table Mapping\");\r\n Init();\r\n vm.isFormOpen = false;\r\n cancel();\r\n vm.timeTable = {};\r\n vm.isEditing = false;\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Time Table Mapping\");\r\n vm.isFormOpen = true;\r\n }\r\n\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n }\r\n\r\n }\r\n\r\n\r\n vm.RemoveTimeTableMap = function (row) {\r\n var confirm = dialogs.confirm('Confirm',\r\n 'Are sure you want to delete current row.', { animation: true, size: 'sm' });\r\n row.Process = 'Delete'\r\n confirm.result.then(function () {\r\n MappingService.SaveTimeTableMap(row).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', res.data.Message, \"Time Table Mapping\");\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', \"Can't Delete Time Table Mapping\", { animation: true, size: 'sm' });\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Can't Delete Time Table Mapping. If its not a parent contact your Admin\", { animation: true, size: 'sm' });\r\n });\r\n }, function () {\r\n\r\n })\r\n }\r\n\r\n function edittimeTable(row) {\r\n vm.isEditing = true;\r\n vm.isFormOpen = true;\r\n vm.isTableOpen = false;\r\n vm.timeTable.MapTimeTableId = angular.copy(row.MapTimeTableId)\r\n for (var i in vm.EmployeeList) {\r\n if (vm.EmployeeList[i].EmployeeId === row.ClassTeacherId) {\r\n vm.timeTable.selectedClassTeacher = vm.EmployeeList[i]\r\n }\r\n }\r\n\r\n for (var i in vm.EmployeeList) {\r\n if (vm.EmployeeList[i].EmployeeId === row.SubjectTeacherId) {\r\n vm.timeTable.selectedSubjectTeacher = vm.EmployeeList[i]\r\n }\r\n }\r\n\r\n for (var i in vm.ClassRoomList) {\r\n if (vm.ClassRoomList[i].ClassId === row.ClassId) {\r\n vm.timeTable.selectedClassRoom = vm.ClassRoomList[i]\r\n }\r\n }\r\n\r\n getSectionByClass(row.ClassId, function () {\r\n for (var i in vm.SectionList) {\r\n if (vm.SectionList[i].SectionId === row.SectionId) {\r\n vm.timeTable.selectedSection = vm.SectionList[i]\r\n }\r\n }\r\n });\r\n\r\n getSubjectBySection(row.ClassId, row.SectionId, function () {\r\n for (var i in vm.SubjectList) {\r\n if (vm.SubjectList[i].SubjectId === row.SubjectId) {\r\n vm.timeTable.selectedSubject = vm.SubjectList[i]\r\n }\r\n }\r\n });\r\n\r\n for (var i in vm.DayList) {\r\n if (vm.DayList[i].Day == row.Day) {\r\n vm.timeTable.selectedDay = vm.DayList[i]\r\n }\r\n }\r\n\r\n for (var i in vm.PeriodList) {\r\n if (vm.PeriodList[i].Id === row.Period) {\r\n vm.timeTable.selectedPeriod = vm.PeriodList[i]\r\n }\r\n }\r\n }\r\n\r\n }\r\n})(); \n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.master')\r\n .controller('ChaptersCtrl', ChaptersCtrl);\r\n\r\n /** @ngInject */\r\n function ChaptersCtrl($http, $rootScope, lodash, dialogs, ChapterService, ClassRoomService, SectionService, SubjectService,AuthenticationService) {\r\n var vm = this;\r\n // Pagination code\r\n $rootScope.isLoading=true;\r\n vm.rowCountOptions = [{ \"value\": 5 }, { \"value\": 10 }, { \"value\": 25 }, { \"value\": 50 }, { \"value\": 100 }]\r\n vm.noOfRows = vm.rowCountOptions[1];\r\n\r\n vm.currentPage = 1;\r\n vm.rembemberCurrentPage = function (num) {\r\n vm.currentPage = num;\r\n }\r\n // End of Pagination code\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.isLoading = true;\r\n vm.Create = Create;\r\n vm.cancel = cancel;\r\n vm.chapters = {};\r\n vm.getSectionByClass = getSectionByClass;\r\n vm.getSubjectBySection = getSubjectBySection;\r\n vm.SaveChapter = SaveChapter;\r\n vm.editChapter = editChapter;\r\n vm.removeChapter = removeChapter;\r\n vm.IsTermAvailable = false;\r\n var logggedUser = AuthenticationService.getLoggedUserDetails();\r\n\r\n function Create() {\r\n vm.isEditing = false;\r\n vm.isFormOpen = true;\r\n vm.isTableOpen = false;\r\n }\r\n function cancel() {\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.chapters = {};\r\n }\r\n\r\n Init()\r\n function Init() {\r\n \r\n var companyId = AuthenticationService.getLoggedUserDetails().SelectedCompany.CompanyId;\r\n getAllChapters();\r\n getAllTerms();\r\n }\r\n\r\n function getAllChapters(){\r\n ChapterService.GetAllChapters().then(function (res) {\r\n if (res.status === 200) {\r\n debugger\r\n vm.ChapterList = res.data;\r\n $rootScope.isLoading=false;\r\n ClassRoomService.GetAllClassRoom().then(function (res) {\r\n if (res.status === 200) {\r\n vm.ClassRoomList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n } else {\r\n $rootScope.isLoading=false;\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n }, function (err) {\r\n $rootScope.isLoading=false;\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n\r\n\r\n function getAllTerms(){\r\n ChapterService.GetAllTerms().then(function (res) {\r\n if (res.status === 200) {\r\n vm.TermsList = res.data;\r\n } else {\r\n $rootScope.isLoading=false;\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Terms\");\r\n }\r\n }, function (err) {\r\n $rootScope.isLoading=false;\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Terms\");\r\n });\r\n }\r\n\r\n function getSectionByClass(obj, callBack) {\r\n debugger\r\n var ClassId = obj.ClassId;\r\n if(obj.IsTermAvailable == 1){\r\n vm.IsTermAvailable = true;\r\n }\r\n else{\r\n vm.IsTermAvailable = false;\r\n }\r\n debugger\r\n if (ClassId) {\r\n vm.chapters.selectedSection = null;\r\n vm.SectionList = [];\r\n vm.chapters.selectedSubject = null;\r\n vm.SubjectList = [];\r\n vm.chapters.ChapterName = \"\";\r\n vm.chapters.ChapterCode = \"\";\r\n SectionService.GetAllSectionByClass(ClassId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.SectionList = res.data;\r\n console.log(vm.SectionList);\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n else {\r\n vm.chapters.selectedSection = null;\r\n vm.SectionList = [];\r\n vm.chapters.selectedSubject = null;\r\n vm.SubjectList = [];\r\n vm.chapters.ChapterName = \"\";\r\n vm.chapters.ChapterCode = \"\";\r\n }\r\n }\r\n\r\n function getSubjectBySection(ClassId, SectionId, callBack) {\r\n if (SectionId) {\r\n vm.chapters.selectedSubject = null;\r\n vm.SubjectList = [];\r\n vm.chapters.ChapterName = \"\";\r\n vm.chapters.ChapterCode = \"\";\r\n var obj = {\r\n ClassId: ClassId,\r\n SectionId: SectionId\r\n }\r\n SubjectService.getAllSubjectBySection(obj).then(function (res) {\r\n if (res.status === 200) {\r\n vm.SubjectList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n else {\r\n vm.chapters.selectedSubject = null;\r\n vm.SubjectList = [];\r\n vm.chapters.ChapterName = \"\";\r\n vm.chapters.ChapterCode = \"\";\r\n }\r\n }\r\n\r\n function SaveChapter(chapters) {\r\n debugger\r\n var loggedUser = AuthenticationService.getLoggedUserDetails();\r\n var chap;\r\n if(vm.IsTermAvailable){\r\n chap = vm.chapters.selectedTerm.TermId;\r\n }\r\n else {\r\n chap = 0;\r\n }\r\n var obj = {\r\n ClassId: vm.chapters.selectedClassRoom.ClassId,\r\n SectionId: vm.chapters.selectedSection.SectionId,\r\n SubjectId: vm.chapters.selectedSubject.SubjectId,\r\n ChapterName: chapters.ChapterName,\r\n ChapterCode: chapters.ChapterCode,\r\n CreatedBy: loggedUser.UserId,\r\n Process: 'Save',\r\n TermId:chap\r\n }\r\n if (!vm.isEditing) {\r\n ChapterService.SaveChapter(obj).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n if (res.data.Code === 1)\r\n $rootScope.showToaster('success', res.data.Message, \"Chapter Master\");\r\n if (res.data.Code != 1)\r\n $rootScope.showToaster('warning', res.data.Message, \"Chapter Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n cancel();\r\n vm.section = {};\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Chapter Master\");\r\n vm.isFormOpen = true;\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n }\r\n else {\r\n obj.ModifiedBy = loggedUser.UserId;\r\n obj.ChapterId = chapters.ChapterId\r\n ChapterService.SaveChapter(obj).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n if (res.data.Code === 3)\r\n $rootScope.showToaster('success', res.data.Message, \"Chapter Master\");\r\n if (res.data.Code != 3)\r\n $rootScope.showToaster('warning', res.data.Message, \"Chapter Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n cancel();\r\n vm.section = {};\r\n vm.isEditing = false;\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Chapter Master\");\r\n vm.isFormOpen = true;\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n }\r\n }\r\n\r\n function editChapter(row) {\r\n vm.isEditing = true;\r\n vm.isFormOpen = true;\r\n vm.isTableOpen = false;\r\n for (var i in vm.ClassRoomList) {\r\n if (vm.ClassRoomList[i].ClassId == row.ClassId) {\r\n vm.chapters.selectedClassRoom = vm.ClassRoomList[i]\r\n }\r\n }\r\n getSectionByClass(row.ClassId, function () {\r\n for (var i in vm.SectionList) {\r\n if (vm.SectionList[i].SectionId === row.SectionId) {\r\n vm.chapters.selectedSection = vm.SectionList[i]\r\n }\r\n }\r\n });\r\n getSubjectBySection(row.ClassId, row.SectionId, function () {\r\n for (var i in vm.SubjectList) {\r\n if (vm.SubjectList[i].SubjectId === row.SubjectId) {\r\n vm.chapters.selectedSubject = vm.SubjectList[i]\r\n }\r\n }\r\n });\r\n vm.chapters.ChapterName = angular.copy(row.ChapterName);\r\n vm.chapters.ChapterCode = angular.copy(row.ChapterCode);\r\n vm.chapters.ChapterId = angular.copy(row.ChapterId);\r\n }\r\n\r\n function removeChapter(row) {\r\n var confirm = dialogs.confirm('Confirm',\r\n 'Are sure you want to delete current row.', { animation: true, size: 'sm' });\r\n row.Process = 'Delete'\r\n confirm.result.then(function () {\r\n ChapterService.SaveChapter(row).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', res.data.Message, \"Chapter Master\");\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', \"Can't Delete Chapter\", { animation: true, size: 'sm' });\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Can't Delete Chapter. If its not a parent contact your Admin\", { animation: true, size: 'sm' });\r\n });\r\n }, function () {\r\n\r\n })\r\n }\r\n\r\n }\r\n})(); \n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.master')\r\n .controller('ClassRoomCtrl', ClassRoomCtrl);\r\n\r\n /** @ngInject */\r\n function ClassRoomCtrl($http, $rootScope, lodash, dialogs, ClassRoomService,AuthenticationService) {\r\n var vm = this;\r\n // Pagination code\r\n $rootScope.isLoading = true;\r\n vm.rowCountOptions = [{ \"value\": 5 }, { \"value\": 10 }, { \"value\": 25 }, { \"value\": 50 }, { \"value\": 100 }]\r\n vm.noOfRows = vm.rowCountOptions[1];\r\n\r\n vm.currentPage = 1;\r\n vm.rembemberCurrentPage = function (num) {\r\n vm.currentPage = num;\r\n }\r\n // End of Pagination code\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.isLoading = true;\r\n vm.Create = Create;\r\n vm.cancel = cancel;\r\n vm.editClass = editClass;\r\n vm.removeClass = removeClass;\r\n vm.SaveClassRoom = SaveClassRoom;\r\n vm.ClassRoom = {};\r\n var logggedUser = AuthenticationService.getLoggedUserDetails();\r\n\r\n function Create() {\r\n vm.isEditing = false;\r\n vm.isFormOpen = true;\r\n vm.isTableOpen = false;\r\n }\r\n function cancel() {\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.ClassRoom = {};\r\n }\r\n\r\n Init()\r\n function Init() {\r\n var companyId = AuthenticationService.getLoggedUserDetails().SelectedCompany.CompanyId;\r\n ClassRoomService.GetAllClassRoom().then(function (res) {\r\n if (res.status === 200) {\r\n vm.ClassRoomList = res.data;\r\n $rootScope.isLoading = false;\r\n } else {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n }, function (err) {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n \r\n }\r\n\r\n function SaveClassRoom(ClassRoom) {\r\n //debugger\r\n var loggedUser = AuthenticationService.getLoggedUserDetails();\r\n if (!vm.isEditing) {\r\n ClassRoom.CreatedBy = loggedUser.UserId;\r\n ClassRoom.Process = 'Save';\r\n ClassRoom.IsTermAvailable = ClassRoom.IsTermAvailable == true ? 1:0 ;\r\n ClassRoomService.SaveClassRoom(ClassRoom).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n if (res.data.Code === 1)\r\n $rootScope.showToaster('success', res.data.Message, \"Class Room Master\");\r\n if (res.data.Code != 1)\r\n $rootScope.showToaster('warning', res.data.Message, \"Class Room Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n cancel();\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Class Room Master\");\r\n vm.isFormOpen = true;\r\n }\r\n\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n }\r\n else {\r\n ClassRoom.ModifiedBy = loggedUser.UserId;\r\n ClassRoom.Process = 'Save';\r\n ClassRoom.IsTermAvailable = ClassRoom.IsTermAvailable == true ? 1:0 ;\r\n ClassRoomService.SaveClassRoom(ClassRoom).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n if (res.data.Code === 3)\r\n $rootScope.showToaster('success', res.data.Message, \"Class Room Master\");\r\n if (res.data.Code != 3)\r\n $rootScope.showToaster('warning', res.data.Message, \"Class Room Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n cancel();\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Class Room Master\");\r\n vm.isFormOpen = true;\r\n }\r\n\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n }\r\n }\r\n\r\n function editClass(row) {\r\n vm.isFormOpen = true;\r\n vm.isTableOpen = false;\r\n vm.ClassRoom = angular.copy(row);\r\n vm.ClassRoom.IsTermAvailable = row.IsTermAvailable == 1 ? true : false;\r\n vm.isEditing = true;\r\n }\r\n\r\n function removeClass(row) {\r\n var confirm = dialogs.confirm('Confirm',\r\n 'Are sure you want to delete current row.', { animation: true, size: 'sm' });\r\n row.Process = 'Delete'\r\n confirm.result.then(function () {\r\n ClassRoomService.SaveClassRoom(row).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', res.data.Message, \"Class Room Master\");\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', \"Can't Delete Class Room\", { animation: true, size: 'sm' });\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Can't Delete Class Room. If its not a parent contact your Admin\", { animation: true, size: 'sm' });\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})(); \n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.master')\r\n .controller('CreateLinkTextCtrl', CreateLinkTextCtrl);\r\n\r\n /** @ngInject */\r\n function CreateLinkTextCtrl($http, $scope, $rootScope, $sce, lodash, dialogs, ChapterService, ClassRoomService, SectionService, SubjectService, UnitService,AuthenticationService) {\r\n var vm = this;\r\n // Pagination code\r\n $rootScope.isLoading = true;\r\n vm.rowCountOptions = [{ \"value\": 5 }, { \"value\": 10 }, { \"value\": 25 }, { \"value\": 50 }, { \"value\": 100 }]\r\n vm.noOfRows = vm.rowCountOptions[1];\r\n vm.radioDisable = false;\r\n vm.currentPage = 1;\r\n vm.rembemberCurrentPage = function (num) {\r\n vm.currentPage = num;\r\n }\r\n // End of Pagination code\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.isLoading = true;\r\n vm.Create = Create;\r\n vm.cancel = cancel;\r\n vm.unit = {};\r\n vm.getSectionByClass = getSectionByClass;\r\n vm.getSubjectBySection = getSubjectBySection;\r\n vm.getChapterBySubject = getChapterBySubject;\r\n vm.getUnitByChapters = getUnitByChapters;\r\n vm.SaveUnitLink = SaveUnitLink;\r\n vm.RemoveUnitLink = RemoveUnitLink;\r\n \r\n //vm.editChapter = editChapter;\r\n // vm.removeUnit = removeUnit;\r\n vm.SaveDocument = SaveDocument;\r\n vm.removeFile = removeFile;\r\n vm.editLinkUnit = editLinkUnit;\r\n vm.SaveUploadLinks = SaveUploadLinks;\r\n vm.DocList = [];\r\n var arr = [];\r\n vm.VideoLinks = [];\r\n var logggedUser = AuthenticationService.getLoggedUserDetails();\r\n vm.setPathIds = setPathIds;\r\n // vm.LinksUpdate = LinksUpdate;\r\n //debugger\r\n // vm.Type = 'P';\r\n\r\n vm.VideoLinksList = [{\r\n Refname: \"ReferenceLink\",\r\n RefTypeId: 1\r\n },\r\n {\r\n Refname: \"Most Popular Link\",\r\n RefTypeId: 2\r\n },\r\n {\r\n Refname: \"Suggesstion Teacher Video Link\",\r\n RefTypeId: 3\r\n\r\n\r\n }\r\n ];\r\n vm.FileTypeList = [\r\n // {\r\n // FileTypeName: \"Image\",\r\n // FileTypeId: 1\r\n // },\r\n {\r\n FileTypeName: \"Video\",\r\n FileTypeId: 2\r\n }]\r\n\r\n function Create() {\r\n vm.isEditing = false;\r\n vm.isFormOpen = true;\r\n vm.isTableOpen = false;\r\n vm.ShowCreateBtn = true;\r\n vm.ShowUpdateBtn = false;\r\n vm.CreateLinkunit = {};\r\n vm.radioDisable = false;\r\n //debugger\r\n vm.Type = 'P';\r\n \r\n }\r\n function cancel() {\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.unit = {};\r\n // vm.DocList = {};\r\n //debugger\r\n vm.Type = '';\r\n vm.videoList = {};\r\n vm.radioDisable = false;\r\n $rootScope.PathIds = {};\r\n }\r\n\r\n Init()\r\n function Init() {\r\n var companyId = AuthenticationService.getLoggedUserDetails().SelectedCompany.CompanyId;\r\n GetAllLinks();\r\n \r\n }\r\n\r\n function GetAllLinks(){\r\n var EmployeeId = AuthenticationService.getLoggedUserDetails().UserId;\r\n UnitService.GetAllLinkUnits(EmployeeId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.UnitLinkList = res.data;\r\n $rootScope.isLoading = false;\r\n //console.log(\"vm.UnitLinkList >> \"+JSON.stringify(vm.UnitLinkList))\r\n GetAllClassRoom();\r\n } else {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n }, function (err) {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n\r\n\r\n function GetAllClassRoom(){\r\n ClassRoomService.GetAllClassRoom().then(function (res) {\r\n if (res.status === 200) {\r\n vm.ClassRoomList = res.data;\r\n\r\n // console.log(\"vm.ClassRoomList\"+JSON.stringify(vm.ClassRoomList))\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Units\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Unit\");\r\n });\r\n }\r\n \r\n\r\n function getSectionByClass(ClassId, callBack) {\r\n if (ClassId) {\r\n vm.CreateLinkunit.selectedSection = null;\r\n vm.SectionList = [];\r\n vm.CreateLinkunit.selectedSubject = null;\r\n vm.SubjectList = [];\r\n vm.CreateLinkunit.UnitName = \"\";\r\n SectionService.GetAllSectionByClass(ClassId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.SectionList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n else {\r\n vm.CreateLinkunit.selectedSection = null;\r\n vm.SectionList = [];\r\n vm.CreateLinkunit.selectedSubject = null;\r\n vm.SubjectList = [];\r\n vm.CreateLinkunit.selectedChapter = null;\r\n vm.ChapterList = [];\r\n }\r\n }\r\n\r\n\r\n function getAllTerms(){\r\n ChapterService.GetAllTerms().then(function (res) {\r\n if (res.status === 200) {\r\n vm.TermsList = res.data;\r\n } else {\r\n $rootScope.isLoading=false;\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Terms\");\r\n }\r\n }, function (err) {\r\n $rootScope.isLoading=false;\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Terms\");\r\n });\r\n }\r\n\r\n function getSubjectBySection(ClassId, SectionId, callBack) {\r\n if (SectionId) {\r\n vm.CreateLinkunit.selectedSubject = null;\r\n vm.SubjectList = [];\r\n var obj = {\r\n ClassId: ClassId,\r\n SectionId: SectionId\r\n }\r\n SubjectService.getAllSubjectBySection(obj).then(function (res) {\r\n if (res.status === 200) {\r\n vm.SubjectList = res.data;\r\n getAllTerms();\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n else {\r\n vm.CreateLinkunit.selectedSubject = null;\r\n vm.SubjectList = [];\r\n }\r\n }\r\n function getChapterBySubject(ClassId, SectionId, SubjectId, callBack) {\r\n if (SubjectId) {\r\n vm.CreateLinkunit.selectedChapter = null;\r\n vm.ChapterList = [];\r\n\r\n var obj = {\r\n ClassId: ClassId,\r\n SectionId: SectionId,\r\n SubjectId: SubjectId\r\n }\r\n\r\n ChapterService.GetAllChapterBySubject(obj).then(function (res) {\r\n if (res.status === 200) {\r\n vm.ChapterList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n else {\r\n vm.unit.selectedChapter = null;\r\n vm.ChapterList = [];\r\n }\r\n }\r\n\r\n\r\n $scope.fileChanged = function (event) {\r\n //debugger\r\n if (event)\r\n vm.selectedFile = event.target.files[0]; \r\n }\r\n\r\n function SaveDocument() {\r\n var formData = new FormData();\r\n formData.append('Attachment', vm.selectedFile)\r\n formData.append('FileTypeId', vm.unit.selectedFileType.FileTypeId)\r\n formData.append('RelatedImageandVideoName',vm.unit.RelatedImageandVideoName)\r\n formData.append('ClassName', vm.unit.selectedClassRoom.ClassName)\r\n formData.append('SectionName', vm.unit.selectedSection.SectionName)\r\n formData.append('SubjectName', vm.unit.selectedSubject.SubjectName)\r\n formData.append('ChapterName', vm.unit.selectedChapter.ChapterName)\r\n\r\n\r\n UnitService.SaveDoc(formData).then(function (res) {\r\n if (res.data.msgText === 'Success!') {\r\n $rootScope.showToaster('success', res.data.Message, \"File Upload\");\r\n vm.DocList.push(res.data.result)\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"File Upload\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n\r\n }\r\n\r\n function SaveUploadLinks(){\r\n var loggedUser = AuthenticationService.getLoggedUserDetails();\r\n var formData = new FormData();\r\n formData.append('Attachment', vm.selectedFile)\r\n formData.append('UnitId', vm.CreateLinkunit.selectedUnit.UnitId)\r\n formData.append('ReferenceName', vm.CreateLinkunit.LinksWord)\r\n formData.append('ClassId', vm.CreateLinkunit.selectedClassRoom.ClassId)\r\n formData.append('SectionId', vm.CreateLinkunit.selectedSection.SectionId)\r\n formData.append('SubjectId', vm.CreateLinkunit.selectedSubject.SubjectId)\r\n formData.append('ChapterId', vm.CreateLinkunit.selectedChapter.ChapterId)\r\n formData.append('UploadTypeId', vm.CreateLinkunit.selectedFileType.FileTypeId)\r\n formData.append('UserId', loggedUser.UserId)\r\n\r\n UnitService.SaveUploadedDocs(formData).then(function (res) {\r\n if (res.data.msgText === 'Success!') {\r\n $rootScope.showToaster('success', res.data.Message, \"File Upload\");\r\n Init();\r\n vm.isFormOpen = false;\r\n cancel();\r\n vm.section = {};\r\n vm.DocList = [];\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"File Upload\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n }); \r\n }\r\n\r\n function getUnitByChapters(ClassId, SectionId, SubjectId,ChapterId, callBack) {\r\n if (ChapterId) {\r\n vm.CreateLinkunit.selectedUnit = null;\r\n vm.UnitList = [];\r\n var obj = {\r\n ClassId: ClassId,\r\n SectionId: SectionId,\r\n SubjectId: SubjectId,\r\n ChapterId: ChapterId\r\n }\r\n UnitService.GetAllUnitByChapter(obj).then(function (res) {\r\n if (res.status === 200) {\r\n vm.UnitList = res.data;\r\n \r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n else {\r\n vm.unit.selectedChapter = null;\r\n vm.UnitList = [];\r\n }\r\n }\r\n \r\n function setPathIds(){\r\n $rootScope.PathIds = {};\r\n $rootScope.PathIds = {\r\n ClassId : vm.CreateLinkunit.selectedClassRoom.ClassId,\r\n SectionId : vm.CreateLinkunit.selectedSection.SectionId,\r\n SubjectId : vm.CreateLinkunit.selectedSubject.SubjectId,\r\n ChapterId : vm.CreateLinkunit.selectedChapter.ChapterId,\r\n UnitId: vm.CreateLinkunit.selectedUnit.UnitId,\r\n Type:\"LinkFile\"\r\n }\r\n }\r\n\r\n function editLinkUnit(row) {\r\n debugger\r\n \r\n vm.CreateLinkunit = {};\r\n vm.isEditing = true;\r\n vm.isFormOpen = true;\r\n vm.isTableOpen = false;\r\n \r\n if(row.UploadTypeId == 3){\r\n vm.Type = \"P\";\r\n }\r\n else{\r\n vm.Type = \"A\";\r\n }\r\n vm.CreateLinkunit.selectedFileType = row.UploadTypeId; \r\n vm.CreateLinkunit.LinksWord = angular.copy(row.LinksWord);\r\n vm.ShowCreateBtn = false;\r\n vm.ShowUpdateBtn = true;\r\n vm.UpdateTextLinkId = row.TextLinkId;\r\n vm.radioDisable = true;\r\n\r\n // document.getElementById(\"inlineRadio2\").disabled = true;\r\n\r\n // vm.Type = angular.copy(row.UnitType);\r\n vm.CreateLinkunit = angular.copy(row);\r\n\r\n // console.log(\"vm.isEditing on edit button click\"+vm.isEditing)\r\n\r\n //console.log(\"row======>>>>>>>\"+JSON.stringify(row));\r\n //vm.CreateLinkunit.UnitId = angular.copy(row.UnitId);\r\n // vm.CreateLinkunit.PostContent = angular.copy(row.PostContent);\r\n //vm.CreateLinkunit = (row.PostContentFile != undefined) ? angular.copy(JSON.parse(row.PostContentFile)) : null;\r\n //vm.CreateLinkunit.FileTypeId = (row.FileTypeId != undefined) ? angular.copy(row.FileTypeId);\r\n $rootScope.ButtonTypeIdCount = row.ButtonTypeId;\r\n //vm.CreateLinkunit.TextLinkId = angular.copy(row.TextLinkId);\r\n vm.CreateLinkunit.PostContent = angular.copy(row.PostContent);\r\n vm.CreateLinkunit.LinksWord = angular.copy(row.LinksWord);\r\n\r\n for (var i in vm.ClassRoomList) {\r\n if (vm.ClassRoomList[i].ClassId === row.ClassId) {\r\n vm.CreateLinkunit.selectedClassRoom = vm.ClassRoomList[i]\r\n }\r\n }\r\n\r\n \r\n\r\n for (var i in vm.FileTypeList) {\r\n if (vm.FileTypeList[i].FileTypeId === row.UploadTypeId) {\r\n vm.CreateLinkunit.selectedFileType = vm.FileTypeList[i]\r\n }\r\n }\r\n\r\n getSectionByClass(row.ClassId, function () {\r\n for (var i in vm.SectionList) {\r\n if (vm.SectionList[i].SectionId === row.SectionId) {\r\n vm.CreateLinkunit.selectedSection = vm.SectionList[i];\r\n\r\n getSubjectBySection(row.ClassId, row.SectionId, function () {\r\n for (var i in vm.SubjectList) {\r\n if (vm.SubjectList[i].SubjectId === row.SubjectId) {\r\n vm.CreateLinkunit.selectedSubject = vm.SubjectList[i];\r\n\r\n getChapterBySubject(row.ClassId, row.SectionId, row.SubjectId, function () {\r\n for (var i in vm.ChapterList) {\r\n if (vm.ChapterList[i].ChapterId === row.ChapterId) {\r\n vm.CreateLinkunit.selectedChapter = vm.ChapterList[i];\r\n\r\n getUnitByChapters(row.ClassId, row.SectionId, row.SubjectId,row.ChapterId, function () {\r\n for (var i in vm.UnitList) {\r\n if (vm.UnitList[i].UnitId === row.UnitId) {\r\n vm.CreateLinkunit.selectedUnit = vm.UnitList[i];\r\n setPathIds(); \r\n }\r\n }\r\n });\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.CreateLinkunit.UnitName = angular.copy(row.UnitName); \r\n }\r\n\r\n\r\n vm.LinksUpdate = function(){\r\n //debugger\r\n var loggedUser = AuthenticationService.getLoggedUserDetails();\r\n var details = {\r\n UnitId:vm.CreateLinkunit.selectedUnit.UnitId,\r\n LinksWord:vm.CreateLinkunit.LinksWord,\r\n TextLinkId:vm.UpdateTextLinkId,\r\n CreatedBy:loggedUser.UserId\r\n }\r\n UnitService.LinksUpdate(details).then(function(res){\r\n if (res.status === 200) {\r\n if(res.data){\r\n $rootScope.showToaster('success', res.data.Message, \"Update Successfully\");\r\n Init();\r\n vm.isFormOpen = false;\r\n cancel();\r\n }\r\n else{\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Update Faild\");\r\n }\r\n \r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Update Faild\");\r\n }\r\n })\r\n }\r\n\r\n \r\n\r\n function SaveUnitLink(CreateLinkunit) {\r\n var loggedUser = AuthenticationService.getLoggedUserDetails();\r\n debugger;\r\n\r\n var obj = {\r\n ClassId : vm.CreateLinkunit.selectedClassRoom.ClassId,\r\n SectionId : vm.CreateLinkunit.selectedSection.SectionId,\r\n SubjectId : vm.CreateLinkunit.selectedSubject.SubjectId,\r\n ChapterId : vm.CreateLinkunit.selectedChapter.ChapterId,\r\n UnitId: vm.CreateLinkunit.selectedUnit.UnitId,\r\n PostContent: CreateLinkunit.PostContent,\r\n LinksWord :vm.CreateLinkunit.LinksWord,\r\n CreatedBy: loggedUser.UserId,\r\n UploadTypeId: 3\r\n }\r\n\r\n if (!vm.isEditing) {\r\n UnitService.SaveUnitLink(obj).then(function (res) {\r\n // console.log(\"res =====>>>>>>>>>\"+JSON.stringify(res))\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', res.data.Message, \"Create a Link Inserted Successfully\");\r\n // if (res.data.Code === 1)\r\n // $rootScope.showToaster('success', res.data.Message, \"Unit Master\");\r\n // if (res.data.Code != 1)\r\n // $rootScope.showToaster('warning', res.data.Message, \"Unit Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n cancel();\r\n vm.section = {};\r\n vm.DocList = [];\r\n\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Create a Link\");\r\n vm.isFormOpen = true;\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n }\r\n else {\r\n obj.ModifiedBy = loggedUser.UserId;\r\n obj.UnitId = CreateLinkunit.UnitId\r\n obj.TextLinkId = CreateLinkunit.TextLinkId;\r\n obj.LinkHtmlPath = CreateLinkunit.LinkHtmlPath;\r\n \r\n // console.log(\"vm.CreateLinkunit\"+JSON.stringify(CreateLinkunit))\r\n // console.log(\"obj\"+JSON.stringify(obj))\r\n UnitService.UpdateUnitLink(obj).then(function (res) {\r\n console.log(\"res\"+JSON.stringify(res));\r\n if (res.data.IsSuccess === true) {\r\n \r\n if (res.data.Code === 3)\r\n $rootScope.showToaster('success', res.data.Message, \"Unit Link Master\");\r\n if (res.data.Code != 3)\r\n $rootScope.showToaster('warning', res.data.Message, \"Unit Link Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n cancel();\r\n vm.section = {};\r\n vm.DocList = [];\r\n vm.isEditing = false;\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Unit Link Master\");\r\n vm.isFormOpen = true;\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n // $scope.fileChanged = function (event) {\r\n // if (event)\r\n // vm.selectedFile = event.target.files[0];\r\n // }\r\n\r\n // function SaveDocument() {\r\n // var formData = new FormData();\r\n // formData.append('Attachment', vm.selectedFile)\r\n // formData.append('FileTypeId', vm.unit.selectedFileType.FileTypeId)\r\n // formData.append('ClassName', vm.unit.selectedClassRoom.ClassName)\r\n // formData.append('SectionName', vm.unit.selectedSection.SectionName)\r\n // formData.append('SubjectName', vm.unit.selectedSubject.SubjectName)\r\n // formData.append('ChapterName', vm.unit.selectedChapter.ChapterName)\r\n // formData.append('ReferenceLink', vm.unit.ReferenceLinkName)\r\n\r\n\r\n // UnitService.SaveDoc(formData).then(function (res) {\r\n // if (res.data.msgText === 'Success!') {\r\n // $rootScope.showToaster('success', res.data.Message, \"File Upload\");\r\n // vm.DocList.push(res.data.result)\r\n // } else {\r\n // $rootScope.showToaster('error', res.data.Message, \"File Upload\");\r\n // }\r\n // }, function (err) {\r\n // $rootScope.showToaster(\"Something error...try again\");\r\n // });\r\n\r\n // }\r\n\r\n function SaveVideoLinks() {\r\n var obj = {\r\n RefTypeId: vm.unit.ReferenceLinkName,\r\n\r\n }\r\n\r\n UnitService.SaveVideoLinks(obj).then(function (res) {\r\n if (res.data.msgText === 'Success!') {\r\n $rootScope.showToaster('success', res.data.Message, \"File Upload\");\r\n vm.VideoLinks.push(res.data.result)\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"File Upload\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n\r\n }\r\n\r\n function removeFile(row) {\r\n //debugger;\r\n var confirm = dialogs.confirm('Confirm',\r\n 'Are sure you want to delete current row.', {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n confirm.result.then(function () {\r\n UnitService.RemoveDoc(row.FileUrl).then(function (res) {\r\n if (res.data.msgText === 'Success!') {\r\n var index = vm.DocList.indexOf(row);\r\n vm.DocList.splice(index, 1);\r\n $rootScope.showToaster('success', 'Deleted Successfully', \"File Upload\");\r\n } else {\r\n $rootScope.showToaster('error', 'Failed!', \"File Upload\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n });\r\n }\r\n\r\n \r\n function RemoveUnitLink(row) {\r\n var confirm = dialogs.confirm('Confirm', 'Are sure you want to delete current row.', {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n\r\n confirm.result.then(function() {\r\n UnitService.RemoveUnitLink(row.TextLinkId).then(function(res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', 'Create a Link Deleted Successfully');\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', \"Can't Delete Create a Link\", {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n }\r\n }, function(err) {\r\n $rootScope.showToaster('error', \"Can't Delete CreateLink. If its not a parent contact your Admin\", {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n });\r\n }, function() {\r\n\r\n })\r\n }\r\n\r\n\r\n\r\n vm.OpenWindow = function (HtmlPath) {\r\n window.open($rootScope.endPoint + 'UploadedDocuments/PostcontentDoc/' + HtmlPath);\r\n }\r\n\r\n vm.removeLinkUnit = function (obj){\r\n debugger\r\n\r\n var confirm = dialogs.confirm('Confirm', 'Are sure you want to delete current row.', {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n confirm.result.then(function() {\r\n\r\n var value = {\r\n TextLinkId : obj.TextLinkId,\r\n LinkHtmlPath : obj.LinkHtmlPath\r\n }\r\n\r\n UnitService.RemoveTextLink(value).then(function(res){\r\n console.log(\"vm.removeLinkUnit result >>>\"+JSON.stringify(res.data))\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', 'Remove Link Successfully');\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', \"Can't Delete Link\", {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n }\r\n },function(err) {\r\n $rootScope.showToaster('error', \"Can't Delete Link. If its not a parent contact your Admin\", {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n });\r\n }, function() { \r\n })\r\n }\r\n\r\n \r\n\r\n\r\n }\r\n})(); \n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.master')\r\n .controller('ExerciseCtrl', ExerciseCtrl);\r\n\r\n /** @ngInject */\r\n function ExerciseCtrl($http, $rootScope, lodash, dialogs, ChapterService, ClassRoomService, SectionService, SubjectService,AuthenticationService) {\r\n var vm = this;\r\n // Pagination code\r\n $rootScope.isLoading=false;\r\n vm.rowCountOptions = [{ \"value\": 5 }, { \"value\": 10 }, { \"value\": 25 }, { \"value\": 50 }, { \"value\": 100 }]\r\n vm.noOfRows = vm.rowCountOptions[1];\r\n\r\n vm.currentPage = 1;\r\n vm.rembemberCurrentPage = function (num) {\r\n vm.currentPage = num;\r\n }\r\n // End of Pagination code\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.isLoading = false;\r\n vm.Create = Create;\r\n vm.cancel = cancel;\r\n vm.chapters = {};\r\n vm.getSectionByClass = getSectionByClass;\r\n vm.getSubjectBySection = getSubjectBySection;\r\n vm.getChapterBySubject = getChapterBySubject;\r\n // vm.SaveChapter = SaveChapter;\r\n // vm.editChapter = editChapter;\r\n // vm.removeChapter = removeChapter;\r\n\r\n var logggedUser = AuthenticationService.getLoggedUserDetails();\r\n\r\n function Create() {\r\n vm.isEditing = false;\r\n vm.isFormOpen = true;\r\n vm.isTableOpen = false;\r\n }\r\n function cancel() {\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.chapters = {};\r\n }\r\n\r\n Init()\r\n function Init() {\r\n\r\n var companyId = AuthenticationService.getLoggedUserDetails().SelectedCompany.CompanyId;\r\n getClassRoom();\r\n // getAllChapters();\r\n // getAllTerms();\r\n }\r\n\r\n // function getAllChapters(){\r\n // ChapterService.GetAllChapters().then(function (res) {\r\n // if (res.status === 200) {\r\n // debugger\r\n // vm.ChapterList = res.data;\r\n // $rootScope.isLoading=false;\r\n \r\n // } else {\r\n // $rootScope.isLoading=false;\r\n // $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n // }\r\n // }, function (err) {\r\n // $rootScope.isLoading=false;\r\n // $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n // });\r\n // }\r\n\r\n function getClassRoom(){\r\n ClassRoomService.GetAllClassRoom().then(function (res) {\r\n if (res.status === 200) {\r\n vm.ClassRoomList = res.data;\r\n\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Units\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n\r\n\r\n function getSectionByClass(ClassId, callBack) {\r\n if (ClassId) {\r\n vm.unit.selectedSection = null;\r\n vm.SectionList = [];\r\n vm.unit.selectedSubject = null;\r\n vm.SubjectList = [];\r\n vm.unit.UnitName = \"\";\r\n SectionService.GetAllSectionByClass(ClassId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.SectionList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n else {\r\n vm.unit.selectedSection = null;\r\n vm.SectionList = [];\r\n vm.unit.selectedSubject = null;\r\n vm.SubjectList = [];\r\n vm.unit.selectedChapter = null;\r\n vm.ChapterList = [];\r\n }\r\n }\r\n\r\n function getSubjectBySection(ClassId, SectionId, callBack) {\r\n if (SectionId) {\r\n vm.unit.selectedSubject = null;\r\n vm.SubjectList = [];\r\n var obj = {\r\n ClassId: ClassId,\r\n SectionId: SectionId\r\n }\r\n SubjectService.getAllSubjectBySection(obj).then(function (res) {\r\n if (res.status === 200) {\r\n vm.SubjectList = res.data;\r\n getAllTerms();\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n else {\r\n vm.unit.selectedSubject = null;\r\n vm.SubjectList = [];\r\n }\r\n }\r\n function getChapterBySubject(ClassId, SectionId, SubjectId, callBack) {\r\n if (SubjectId) {\r\n vm.unit.selectedChapter = null;\r\n vm.ChapterList = [];\r\n\r\n var obj = {\r\n ClassId: ClassId,\r\n SectionId: SectionId,\r\n SubjectId: SubjectId\r\n }\r\n ChapterService.GetAllChapterBySubject(obj).then(function (res) {\r\n if (res.status === 200) {\r\n vm.ChapterList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n else {\r\n vm.unit.selectedChapter = null;\r\n vm.ChapterList = [];\r\n }\r\n }\r\n\r\n\r\n // function getAllTerms(){\r\n // ChapterService.GetAllTerms().then(function (res) {\r\n // if (res.status === 200) {\r\n // vm.TermsList = res.data;\r\n // } else {\r\n // $rootScope.isLoading=false;\r\n // $rootScope.showToaster('error', 'Load Failed! Try Again', \"Terms\");\r\n // }\r\n // }, function (err) {\r\n // $rootScope.isLoading=false;\r\n // $rootScope.showToaster('error', 'Error! Try Again', \"Terms\");\r\n // });\r\n // }\r\n\r\n // function getSectionByClass(ClassId, callBack) {\r\n // if (ClassId) {\r\n // vm.chapters.selectedSection = null;\r\n // vm.SectionList = [];\r\n // vm.chapters.selectedSubject = null;\r\n // vm.SubjectList = [];\r\n // vm.chapters.ChapterName = \"\";\r\n // vm.chapters.ChapterCode = \"\";\r\n // SectionService.GetAllSectionByClass(ClassId).then(function (res) {\r\n // if (res.status === 200) {\r\n // vm.SectionList = res.data;\r\n // } else {\r\n // $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n // }\r\n // if (callBack)\r\n // callBack();\r\n // }, function (err) {\r\n // $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n // });\r\n // }\r\n // else {\r\n // vm.chapters.selectedSection = null;\r\n // vm.SectionList = [];\r\n // vm.chapters.selectedSubject = null;\r\n // vm.SubjectList = [];\r\n // vm.chapters.ChapterName = \"\";\r\n // vm.chapters.ChapterCode = \"\";\r\n // }\r\n // }\r\n\r\n // function getSubjectBySection(ClassId, SectionId, callBack) {\r\n // if (SectionId) {\r\n // vm.chapters.selectedSubject = null;\r\n // vm.SubjectList = [];\r\n // vm.chapters.ChapterName = \"\";\r\n // vm.chapters.ChapterCode = \"\";\r\n // var obj = {\r\n // ClassId: ClassId,\r\n // SectionId: SectionId\r\n // }\r\n // SubjectService.getAllSubjectBySection(obj).then(function (res) {\r\n // if (res.status === 200) {\r\n // vm.SubjectList = res.data;\r\n // } else {\r\n // $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n // }\r\n // if (callBack)\r\n // callBack();\r\n // }, function (err) {\r\n // $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n // });\r\n // }\r\n // else {\r\n // vm.chapters.selectedSubject = null;\r\n // vm.SubjectList = [];\r\n // vm.chapters.ChapterName = \"\";\r\n // vm.chapters.ChapterCode = \"\";\r\n // }\r\n // }\r\n\r\n // function getChapterBySubject(ClassId, SectionId, SubjectId, callBack) {\r\n // if (SubjectId) {\r\n // vm.unit.selectedChapter = null;\r\n // vm.ChapterList = [];\r\n\r\n // var obj = {\r\n // ClassId: ClassId,\r\n // SectionId: SectionId,\r\n // SubjectId: SubjectId\r\n // }\r\n // ChapterService.GetAllChapterBySubject(obj).then(function (res) {\r\n // if (res.status === 200) {\r\n // vm.ChapterList = res.data;\r\n // } else {\r\n // $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n // }\r\n // if (callBack)\r\n // callBack();\r\n // }, function (err) {\r\n // $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n // });\r\n // }\r\n // else {\r\n // vm.unit.selectedChapter = null;\r\n // vm.ChapterList = [];\r\n // }\r\n // }\r\n\r\n // function SaveChapter(chapters) {\r\n // debugger\r\n // var loggedUser = AuthenticationService.getLoggedUserDetails();\r\n // var obj = {\r\n // ClassId: vm.chapters.selectedClassRoom.ClassId,\r\n // SectionId: vm.chapters.selectedSection.SectionId,\r\n // SubjectId: vm.chapters.selectedSubject.SubjectId,\r\n // ChapterName: chapters.ChapterName,\r\n // ChapterCode: chapters.ChapterCode,\r\n // CreatedBy: loggedUser.UserId,\r\n // Process: 'Save',\r\n // TermId:vm.chapters.selectedTerm.TermId\r\n // }\r\n // if (!vm.isEditing) {\r\n // ChapterService.SaveChapter(obj).then(function (res) {\r\n // if (res.data.IsSuccess === true) {\r\n // if (res.data.Code === 1)\r\n // $rootScope.showToaster('success', res.data.Message, \"Chapter Master\");\r\n // if (res.data.Code != 1)\r\n // $rootScope.showToaster('warning', res.data.Message, \"Chapter Master\");\r\n // Init();\r\n // vm.isFormOpen = false;\r\n // cancel();\r\n // vm.section = {};\r\n // } else {\r\n // $rootScope.showToaster('error', res.data.Message, \"Chapter Master\");\r\n // vm.isFormOpen = true;\r\n // }\r\n // }, function (err) {\r\n // $rootScope.showToaster(\"Something error...try again\");\r\n // });\r\n // }\r\n // else {\r\n // obj.ModifiedBy = loggedUser.UserId;\r\n // obj.ChapterId = chapters.ChapterId\r\n // ChapterService.SaveChapter(obj).then(function (res) {\r\n // if (res.data.IsSuccess === true) {\r\n // if (res.data.Code === 3)\r\n // $rootScope.showToaster('success', res.data.Message, \"Chapter Master\");\r\n // if (res.data.Code != 3)\r\n // $rootScope.showToaster('warning', res.data.Message, \"Chapter Master\");\r\n // Init();\r\n // vm.isFormOpen = false;\r\n // cancel();\r\n // vm.section = {};\r\n // vm.isEditing = false;\r\n // } else {\r\n // $rootScope.showToaster('error', res.data.Message, \"Chapter Master\");\r\n // vm.isFormOpen = true;\r\n // }\r\n // }, function (err) {\r\n // $rootScope.showToaster(\"Something error...try again\");\r\n // });\r\n // }\r\n // }\r\n\r\n // function editChapter(row) {\r\n // vm.isEditing = true;\r\n // vm.isFormOpen = true;\r\n // vm.isTableOpen = false;\r\n // for (var i in vm.ClassRoomList) {\r\n // if (vm.ClassRoomList[i].ClassId == row.ClassId) {\r\n // vm.chapters.selectedClassRoom = vm.ClassRoomList[i]\r\n // }\r\n // }\r\n // getSectionByClass(row.ClassId, function () {\r\n // for (var i in vm.SectionList) {\r\n // if (vm.SectionList[i].SectionId === row.SectionId) {\r\n // vm.chapters.selectedSection = vm.SectionList[i]\r\n // }\r\n // }\r\n // });\r\n // getSubjectBySection(row.ClassId, row.SectionId, function () {\r\n // for (var i in vm.SubjectList) {\r\n // if (vm.SubjectList[i].SubjectId === row.SubjectId) {\r\n // vm.chapters.selectedSubject = vm.SubjectList[i]\r\n // }\r\n // }\r\n // });\r\n // vm.chapters.ChapterName = angular.copy(row.ChapterName);\r\n // vm.chapters.ChapterCode = angular.copy(row.ChapterCode);\r\n // vm.chapters.ChapterId = angular.copy(row.ChapterId);\r\n // }\r\n\r\n // function removeChapter(row) {\r\n // var confirm = dialogs.confirm('Confirm',\r\n // 'Are sure you want to delete current row.', { animation: true, size: 'sm' });\r\n // row.Process = 'Delete'\r\n // confirm.result.then(function () {\r\n // ChapterService.SaveChapter(row).then(function (res) {\r\n // if (res.status === 200) {\r\n // $rootScope.showToaster('success', res.data.Message, \"Chapter Master\");\r\n // Init();\r\n // } else {\r\n // $rootScope.showToaster('error', \"Can't Delete Chapter\", { animation: true, size: 'sm' });\r\n // }\r\n // }, function (err) {\r\n // $rootScope.showToaster('error', \"Can't Delete Chapter. If its not a parent contact your Admin\", { animation: true, size: 'sm' });\r\n // });\r\n // }, function () {\r\n\r\n // })\r\n // }\r\n\r\n }\r\n})(); \n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.master')\r\n .controller('MapVideosCtrl', MapVideosCtrl);\r\n\r\n /** @ngInject */\r\n function MapVideosCtrl($http, $scope, $rootScope, $sce, lodash, dialogs, ChapterService, ClassRoomService, SectionService, SubjectService, UnitService, AuthenticationService) {\r\n var vm = this;\r\n // Pagination code\r\n $rootScope.isLoading = true;\r\n vm.rowCountOptions = [{\r\n \"value\": 5\r\n }, {\r\n \"value\": 10\r\n }, {\r\n \"value\": 25\r\n }, {\r\n \"value\": 50\r\n }, {\r\n \"value\": 100\r\n }]\r\n vm.noOfRows = vm.rowCountOptions[1];\r\n\r\n vm.currentPage = 1;\r\n vm.rembemberCurrentPage = function (num) {\r\n vm.currentPage = num;\r\n }\r\n // End of Pagination code\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.isLoading = true;\r\n vm.Create = Create;\r\n vm.cancel = cancel;\r\n vm.unit = {};\r\n vm.getSectionByClass = getSectionByClass;\r\n vm.getSubjectBySection = getSubjectBySection;\r\n vm.getChapterBySubject = getChapterBySubject;\r\n vm.getUnitByChapters = getUnitByChapters;\r\n vm.SaveUnitLink = SaveUnitLink;\r\n vm.RemoveUnitLink = RemoveUnitLink;\r\n //vm.editChapter = editChapter;\r\n // vm.removeUnit = removeUnit;\r\n vm.SaveDocument = SaveDocument;\r\n vm.removeFile = removeFile;\r\n vm.editLinkUnit = editLinkUnit;\r\n vm.SaveUploadLinks = SaveUploadLinks;\r\n vm.DocList = [];\r\n var arr = [];\r\n vm.VideoLinks = [];\r\n var logggedUser = AuthenticationService.getLoggedUserDetails();\r\n vm.showMapVideoForm = false;\r\n \r\n\r\n\r\n vm.VideoLinksList = [{\r\n VideoTypename: \"Reference Videos\",\r\n VideoTypeId: 1\r\n },\r\n {\r\n VideoTypename: \"Teacher Suggested Videos\",\r\n VideoTypeId: 2\r\n },\r\n {\r\n VideoTypename: \"Most Popular Videos\",\r\n VideoTypeId: 3\r\n },\r\n {\r\n VideoTypename: \"Related Videos\",\r\n VideoTypeId: 4\r\n }\r\n ];\r\n\r\n\r\n vm.SaveVideoLinksUnit = SaveVideoLinksUnit;\r\n vm.GetVideoLinksByUnitId = GetVideoLinksByUnitId;\r\n vm.DeleteVideoLink = DeleteVideoLink;\r\n // vm.GetTitleName = GetTitleName;\r\n\r\n function GetVideoLinksByUnitId(unitid){\r\n //debugger\r\n vm.showMapVideoForm = true;\r\n UnitService.GetAllLinksByUnitId(unitid).then(function (res) {\r\n if (res.status === 200) {\r\n vm.AllVideoLinksList = res.data;\r\n //console.log(\"vm.AllVideoLinksList\"+JSON.stringify(vm.AllVideoLinksList));\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Get Video Link List\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Get Video Link List\");\r\n });\r\n\r\n UnitService.GetTitleName(unitid).then(function (res) {\r\n if (res.status === 200) {\r\n vm.AllTitleNameList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Video Link\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Video Link\");\r\n });\r\n\r\n }\r\n \r\n function SaveVideoLinksUnit(unit) {\r\n //debugger\r\n var loggedUser = AuthenticationService.getLoggedUserDetails();\r\n var objUnit = {\r\n // VideoTypeId: vm.mapvideo.selectedVideoType.VideoTypeId,\r\n // TitleName: vm.mapvideo.TitleName,\r\n // Links: vm.mapvideo.Links,\r\n // CreatedBy: loggedUser.UserId,\r\n // UnitId: vm.CreateLinkunit.selectedUnit.UnitId,\r\n\r\n\r\n UnitId :vm.CreateLinkunit.selectedUnit.UnitId,\r\n VideoTypeId:vm.mapvideo.selectedVideoType.VideoTypeId,\r\n TextLinkId:vm.mapvideo.TitleName.TextLinkId,\r\n CreatedBy:loggedUser.UserId\r\n }\r\n\r\n UnitService.SaveVideoLinksUnit(objUnit).then(function (res) {\r\n if (res.status === 200) {\r\n \r\n GetVideoLinksByUnitId(vm.CreateLinkunit.selectedUnit.UnitId);\r\n vm.CreateLinkunit.selectedUnit=\"\";\r\n vm.mapvideo = [];\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Video Link\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Video Link\");\r\n });\r\n }\r\n\r\n function DeleteVideoLink(data){\r\n //debugger;\r\n UnitService.DeleteVideoLink(data.LinksId).then(function (res) {\r\n\r\n if (res.status === 200) {\r\n vm.mapvideo = [];\r\n GetVideoLinksByUnitId(vm.CreateLinkunit.selectedUnit.UnitId);\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Video Link\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Video Link\");\r\n });\r\n }\r\n\r\n // function GetTitleName(param){\r\n // debugger\r\n \r\n \r\n // }\r\n\r\n function Create() {\r\n vm.isEditing = false;\r\n vm.isFormOpen = true;\r\n vm.isTableOpen = false;\r\n vm.CreateLinkunit = {};\r\n }\r\n\r\n function cancel() {\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.unit = {};\r\n // vm.DocList = {};\r\n vm.Type = {};\r\n vm.videoList = {};\r\n }\r\n\r\n Init()\r\n\r\n function Init() {\r\n var companyId = AuthenticationService.getLoggedUserDetails().SelectedCompany.CompanyId;\r\n GetAllLinks();\r\n }\r\n\r\n function GetAllLinks() {\r\n var EmployeeId = AuthenticationService.getLoggedUserDetails().UserId;\r\n UnitService.GetAllLinkUnits(EmployeeId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.UnitLinkList = res.data;\r\n GetAllClassRoom();\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n\r\n\r\n function GetAllClassRoom() {\r\n ClassRoomService.GetAllClassRoom().then(function (res) {\r\n if (res.status === 200) {\r\n vm.ClassRoomList = res.data;\r\n $rootScope.isLoading = false;\r\n // console.log(\"vm.ClassRoomList\"+JSON.stringify(vm.ClassRoomList))\r\n } else {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Units\");\r\n }\r\n }, function (err) {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Unit\");\r\n });\r\n }\r\n\r\n\r\n function getSectionByClass(ClassId, callBack) {\r\n if (ClassId) {\r\n vm.CreateLinkunit.selectedSection = null;\r\n vm.SectionList = [];\r\n vm.CreateLinkunit.selectedSubject = null;\r\n vm.SubjectList = [];\r\n vm.CreateLinkunit.UnitName = \"\";\r\n SectionService.GetAllSectionByClass(ClassId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.SectionList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n } else {\r\n vm.CreateLinkunit.selectedSection = null;\r\n vm.SectionList = [];\r\n vm.CreateLinkunit.selectedSubject = null;\r\n vm.SubjectList = [];\r\n vm.CreateLinkunit.selectedChapter = null;\r\n vm.ChapterList = [];\r\n }\r\n }\r\n\r\n function getSubjectBySection(ClassId, SectionId, callBack) {\r\n if (SectionId) {\r\n vm.CreateLinkunit.selectedSubject = null;\r\n vm.SubjectList = [];\r\n var obj = {\r\n ClassId: ClassId,\r\n SectionId: SectionId\r\n }\r\n SubjectService.getAllSubjectBySection(obj).then(function (res) {\r\n if (res.status === 200) {\r\n vm.SubjectList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n } else {\r\n vm.CreateLinkunit.selectedSubject = null;\r\n vm.SubjectList = [];\r\n }\r\n }\r\n\r\n function getChapterBySubject(ClassId, SectionId, SubjectId, callBack) {\r\n if (SubjectId) {\r\n vm.CreateLinkunit.selectedChapter = null;\r\n vm.ChapterList = [];\r\n\r\n var obj = {\r\n ClassId: ClassId,\r\n SectionId: SectionId,\r\n SubjectId: SubjectId\r\n }\r\n\r\n ChapterService.GetAllChapterBySubject(obj).then(function (res) {\r\n if (res.status === 200) {\r\n vm.ChapterList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n } else {\r\n vm.unit.selectedChapter = null;\r\n vm.ChapterList = [];\r\n }\r\n }\r\n\r\n\r\n $scope.fileChanged = function (event) {\r\n //debugger\r\n if (event)\r\n vm.selectedFile = event.target.files[0];\r\n }\r\n\r\n function SaveDocument() {\r\n var formData = new FormData();\r\n formData.append('Attachment', vm.selectedFile)\r\n formData.append('FileTypeId', vm.unit.selectedFileType.FileTypeId)\r\n formData.append('RelatedImageandVideoName', vm.unit.RelatedImageandVideoName)\r\n formData.append('ClassName', vm.unit.selectedClassRoom.ClassName)\r\n formData.append('SectionName', vm.unit.selectedSection.SectionName)\r\n formData.append('SubjectName', vm.unit.selectedSubject.SubjectName)\r\n formData.append('ChapterName', vm.unit.selectedChapter.ChapterName)\r\n\r\n\r\n UnitService.SaveDoc(formData).then(function (res) {\r\n if (res.data.msgText === 'Success!') {\r\n $rootScope.showToaster('success', res.data.Message, \"File Upload\");\r\n vm.DocList.push(res.data.result)\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"File Upload\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n\r\n }\r\n\r\n function SaveUploadLinks() {\r\n var loggedUser = AuthenticationService.getLoggedUserDetails();\r\n var formData = new FormData();\r\n formData.append('Attachment', vm.selectedFile)\r\n formData.append('UnitId', vm.CreateLinkunit.selectedUnit.UnitId)\r\n formData.append('ReferenceName', vm.CreateLinkunit.ReferenceName)\r\n formData.append('ClassName', vm.CreateLinkunit.selectedClassRoom.ClassName)\r\n formData.append('SectionName', vm.CreateLinkunit.selectedSection.SectionName)\r\n formData.append('SubjectName', vm.CreateLinkunit.selectedSubject.SubjectName)\r\n formData.append('ChapterName', vm.CreateLinkunit.selectedChapter.ChapterName)\r\n formData.append('UploadTypeId', vm.CreateLinkunit.selectedFileType.FileTypeId)\r\n formData.append('UserId', loggedUser.UserId)\r\n\r\n UnitService.SaveUploadedDocs(formData).then(function (res) {\r\n if (res.data.msgText === 'Success!') {\r\n $rootScope.showToaster('success', res.data.Message, \"File Upload\");\r\n Init();\r\n vm.isFormOpen = false;\r\n cancel();\r\n vm.section = {};\r\n vm.DocList = [];\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"File Upload\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n\r\n }\r\n\r\n\r\n function getUnitByChapters(ClassId, SectionId, SubjectId, ChapterId, callBack) {\r\n if (ChapterId) {\r\n vm.CreateLinkunit.selectedUnit = null;\r\n vm.UnitList = [];\r\n\r\n var obj = {\r\n ClassId: ClassId,\r\n SectionId: SectionId,\r\n SubjectId: SubjectId,\r\n ChapterId: ChapterId\r\n }\r\n UnitService.GetAllUnitByChapter(obj).then(function (res) {\r\n if (res.status === 200) {\r\n vm.UnitList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n } else {\r\n vm.unit.selectedChapter = null;\r\n vm.UnitList = [];\r\n }\r\n }\r\n\r\n function editLinkUnit(row) {\r\n vm.CreateLinkunit = {};\r\n vm.isEditing = true;\r\n vm.isFormOpen = true;\r\n vm.isTableOpen = false;\r\n vm.Type = angular.copy(row.UnitType);\r\n vm.CreateLinkunit = angular.copy(row);\r\n\r\n // console.log(\"vm.isEditing on edit button click\"+vm.isEditing)\r\n\r\n //console.log(\"row======>>>>>>>\"+JSON.stringify(row));\r\n //vm.CreateLinkunit.UnitId = angular.copy(row.UnitId);\r\n // vm.CreateLinkunit.PostContent = angular.copy(row.PostContent);\r\n //vm.CreateLinkunit = (row.PostContentFile != undefined) ? angular.copy(JSON.parse(row.PostContentFile)) : null;\r\n //vm.CreateLinkunit.FileTypeId = (row.FileTypeId != undefined) ? angular.copy(row.FileTypeId);\r\n $rootScope.ButtonTypeIdCount = row.ButtonTypeId;\r\n //vm.CreateLinkunit.TextLinkId = angular.copy(row.TextLinkId);\r\n vm.CreateLinkunit.PostContent = angular.copy(row.PostContent);\r\n vm.CreateLinkunit.LinksWord = angular.copy(row.LinksWord);\r\n\r\n for (var i in vm.ClassRoomList) {\r\n if (vm.ClassRoomList[i].ClassId === row.ClassId) {\r\n vm.CreateLinkunit.selectedClassRoom = vm.ClassRoomList[i]\r\n }\r\n }\r\n\r\n getSectionByClass(row.ClassId, function () {\r\n for (var i in vm.SectionList) {\r\n if (vm.SectionList[i].SectionId === row.SectionId) {\r\n vm.CreateLinkunit.selectedSection = vm.SectionList[i];\r\n }\r\n }\r\n });\r\n\r\n getSubjectBySection(row.ClassId, row.SectionId, function () {\r\n for (var i in vm.SubjectList) {\r\n if (vm.SubjectList[i].SubjectId === row.SubjectId) {\r\n vm.CreateLinkunit.selectedSubject = vm.SubjectList[i]\r\n }\r\n }\r\n });\r\n\r\n\r\n getChapterBySubject(row.ClassId, row.SectionId, row.SubjectId, function () {\r\n for (var i in vm.ChapterList) {\r\n if (vm.ChapterList[i].ChapterId === row.ChapterId) {\r\n vm.CreateLinkunit.selectedChapter = vm.ChapterList[i]\r\n }\r\n }\r\n });\r\n getUnitByChapters(row.ClassId, row.SectionId, row.SubjectId, row.ChapterId, function () {\r\n for (var i in vm.UnitList) {\r\n if (vm.UnitList[i].UnitId === row.UnitId) {\r\n vm.CreateLinkunit.selectedUnit = vm.UnitList[i]\r\n }\r\n }\r\n });\r\n vm.CreateLinkunit.UnitName = angular.copy(row.UnitName);\r\n }\r\n\r\n function SaveUnitLink(CreateLinkunit) {\r\n var loggedUser = AuthenticationService.getLoggedUserDetails();\r\n // debugger;\r\n\r\n var obj = {\r\n\r\n UnitId: vm.CreateLinkunit.selectedUnit.UnitId,\r\n PostContent: CreateLinkunit.PostContent,\r\n LinksWord: vm.CreateLinkunit.LinksWord,\r\n CreatedBy: loggedUser.UserId,\r\n UploadTypeId: 3\r\n }\r\n\r\n if (!vm.isEditing) {\r\n\r\n UnitService.SaveUnitLink(obj).then(function (res) {\r\n // console.log(\"res =====>>>>>>>>>\"+JSON.stringify(res))\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', res.data.Message, \"Create a Link Inserted Successfully\");\r\n // if (res.data.Code === 1)\r\n // $rootScope.showToaster('success', res.data.Message, \"Unit Master\");\r\n // if (res.data.Code != 1)\r\n // $rootScope.showToaster('warning', res.data.Message, \"Unit Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n cancel();\r\n vm.section = {};\r\n vm.DocList = [];\r\n\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Create a Link\");\r\n vm.isFormOpen = true;\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n } else {\r\n obj.ModifiedBy = loggedUser.UserId;\r\n obj.UnitId = CreateLinkunit.UnitId\r\n obj.TextLinkId = CreateLinkunit.TextLinkId;\r\n\r\n // console.log(\"vm.CreateLinkunit\"+JSON.stringify(CreateLinkunit))\r\n // console.log(\"obj\"+JSON.stringify(obj))\r\n UnitService.UpdateUnitLink(obj).then(function (res) {\r\n console.log(\"res\" + JSON.stringify(res));\r\n if (res.data.IsSuccess === true) {\r\n\r\n if (res.data.Code === 3)\r\n $rootScope.showToaster('success', res.data.Message, \"Unit Link Master\");\r\n if (res.data.Code != 3)\r\n $rootScope.showToaster('warning', res.data.Message, \"Unit Link Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n cancel();\r\n vm.section = {};\r\n vm.DocList = [];\r\n vm.isEditing = false;\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Unit Link Master\");\r\n vm.isFormOpen = true;\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n // $scope.fileChanged = function (event) {\r\n // if (event)\r\n // vm.selectedFile = event.target.files[0];\r\n // }\r\n\r\n // function SaveDocument() {\r\n // var formData = new FormData();\r\n // formData.append('Attachment', vm.selectedFile)\r\n // formData.append('FileTypeId', vm.unit.selectedFileType.FileTypeId)\r\n // formData.append('ClassName', vm.unit.selectedClassRoom.ClassName)\r\n // formData.append('SectionName', vm.unit.selectedSection.SectionName)\r\n // formData.append('SubjectName', vm.unit.selectedSubject.SubjectName)\r\n // formData.append('ChapterName', vm.unit.selectedChapter.ChapterName)\r\n // formData.append('ReferenceLink', vm.unit.ReferenceLinkName)\r\n\r\n\r\n // UnitService.SaveDoc(formData).then(function (res) {\r\n // if (res.data.msgText === 'Success!') {\r\n // $rootScope.showToaster('success', res.data.Message, \"File Upload\");\r\n // vm.DocList.push(res.data.result)\r\n // } else {\r\n // $rootScope.showToaster('error', res.data.Message, \"File Upload\");\r\n // }\r\n // }, function (err) {\r\n // $rootScope.showToaster(\"Something error...try again\");\r\n // });\r\n\r\n // }\r\n\r\n function SaveVideoLinks() {\r\n var obj = {\r\n RefTypeId: vm.unit.ReferenceLinkName,\r\n\r\n }\r\n\r\n UnitService.SaveVideoLinks(obj).then(function (res) {\r\n if (res.data.msgText === 'Success!') {\r\n $rootScope.showToaster('success', res.data.Message, \"File Upload\");\r\n vm.VideoLinks.push(res.data.result)\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"File Upload\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n\r\n }\r\n\r\n function removeFile(row) {\r\n //debugger;\r\n var confirm = dialogs.confirm('Confirm',\r\n 'Are sure you want to delete current row.', {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n confirm.result.then(function () {\r\n UnitService.RemoveDoc(row.FileUrl).then(function (res) {\r\n if (res.data.msgText === 'Success!') {\r\n var index = vm.DocList.indexOf(row);\r\n vm.DocList.splice(index, 1);\r\n $rootScope.showToaster('success', 'Deleted Successfully', \"File Upload\");\r\n } else {\r\n $rootScope.showToaster('error', 'Failed!', \"File Upload\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n });\r\n }\r\n\r\n\r\n function RemoveUnitLink(row) {\r\n var confirm = dialogs.confirm('Confirm', 'Are sure you want to delete current row.', {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n\r\n confirm.result.then(function () {\r\n UnitService.RemoveUnitLink(row.TextLinkId).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', 'Create a Link Deleted Successfully');\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', \"Can't Delete Create a Link\", {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Can't Delete CreateLink. If its not a parent contact your Admin\", {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n });\r\n }, function () {\r\n\r\n })\r\n }\r\n\r\n\r\n\r\n vm.OpenWindow = function (HtmlPath) {\r\n window.open($rootScope.endPoint + 'UploadedDocuments/PostcontentDoc/' + HtmlPath);\r\n }\r\n\r\n\r\n\r\n }\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.master')\r\n .controller('SectionCtrl', SectionCtrl);\r\n\r\n /** @ngInject */\r\n function SectionCtrl($http, $rootScope, lodash, dialogs, SectionService, ClassRoomService,AuthenticationService) {\r\n var vm = this;\r\n $rootScope.isLoading=true;\r\n // Pagination code\r\n vm.rowCountOptions = [{ \"value\": 5 }, { \"value\": 10 }, { \"value\": 25 }, { \"value\": 50 }, { \"value\": 100 }]\r\n vm.noOfRows = vm.rowCountOptions[1];\r\n\r\n vm.currentPage = 1;\r\n vm.rembemberCurrentPage = function (num) {\r\n vm.currentPage = num;\r\n }\r\n // End of Pagination code\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.isLoading = true;\r\n vm.section = {};\r\n vm.Create = Create;\r\n vm.cancel = cancel;\r\n vm.SaveSection = SaveSection;\r\n vm.editSection = editSection;\r\n vm.removeSection = removeSection;\r\n var logggedUser = AuthenticationService.getLoggedUserDetails();\r\n\r\n function Create() {\r\n vm.isEditing = false;\r\n vm.isFormOpen = true;\r\n vm.isTableOpen = false;\r\n }\r\n function cancel() {\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.section = {};\r\n }\r\n\r\n Init()\r\n function Init() {\r\n var companyId = AuthenticationService.getLoggedUserDetails().SelectedCompany.CompanyId;\r\n ClassRoomService.GetAllClassRoom().then(function (res) {\r\n if (res.status === 200) {\r\n vm.ClassRoomList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n SectionService.GetAllSection().then(function (res) {\r\n if (res.status === 200) {\r\n vm.SectionList = res.data;\r\n $rootScope.isLoading=false;\r\n } else {\r\n $rootScope.isLoading=false;\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n }, function (err) {\r\n $rootScope.isLoading=false;\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n \r\n }\r\n\r\n function editSection(row) {\r\n vm.isEditing = true;\r\n vm.isFormOpen = true;\r\n vm.isTableOpen = false;\r\n vm.section = angular.copy(row);\r\n for (var i in vm.ClassRoomList) {\r\n if (vm.ClassRoomList[i].ClassId = row.ClassId) {\r\n vm.section.selectedClassRoom = vm.ClassRoomList[i]\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n function SaveSection(section) {\r\n var loggedUser = AuthenticationService.getLoggedUserDetails();\r\n var obj = {\r\n ClassId: vm.section.selectedClassRoom.ClassId,\r\n SectionName: section.SectionName,\r\n SectionCode: section.SectionCode,\r\n Process: 'Save',\r\n CreatedBy: loggedUser.UserId\r\n }\r\n if (!vm.isEditing) {\r\n SectionService.SaveSection(obj).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n if (res.data.Code === 1)\r\n $rootScope.showToaster('success', res.data.Message, \"Section Master\");\r\n if (res.data.Code != 1)\r\n $rootScope.showToaster('warning', res.data.Message, \"Section Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n cancel();\r\n vm.section = {};\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Section Master\");\r\n vm.isFormOpen = true;\r\n }\r\n\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n\r\n }\r\n else {\r\n obj.ModifiedBy = loggedUser.UserId;\r\n obj.SectionId = vm.section.SectionId\r\n SectionService.SaveSection(obj).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n if (res.data.Code === 3)\r\n $rootScope.showToaster('success', res.data.Message, \"Section Master\");\r\n if (res.data.Code != 3)\r\n $rootScope.showToaster('warning', res.data.Message, \"Section Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n cancel();\r\n vm.section = {};\r\n vm.isEditing = false;\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Section Master\");\r\n vm.isFormOpen = true;\r\n }\r\n\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n }\r\n }\r\n\r\n function removeSection(row) {\r\n var confirm = dialogs.confirm('Confirm',\r\n 'Are sure you want to delete current row.', { animation: true, size: 'sm' });\r\n row.Process = 'Delete'\r\n confirm.result.then(function () {\r\n SectionService.SaveSection(row).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', res.data.Message, \"Section Master\");\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', \"Can't Delete Section\", { animation: true, size: 'sm' });\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Can't Delete Section. If its not a parent contact your Admin\", { animation: true, size: 'sm' });\r\n });\r\n }, function () {\r\n\r\n })\r\n }\r\n\r\n }\r\n})(); \n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.master')\r\n .controller('SubjectCtrl', SubjectCtrl);\r\n\r\n /** @ngInject */\r\n function SubjectCtrl($http, $rootScope, $scope, lodash, dialogs, ClassRoomService, SectionService, SubjectService,AuthenticationService,ChapterService) {\r\n var vm = this;\r\n // Pagination code\r\n $rootScope.isLoading = false;\r\n vm.rowCountOptions = [{ \"value\": 5 }, { \"value\": 10 }, { \"value\": 25 }, { \"value\": 50 }, { \"value\": 100 }]\r\n vm.noOfRows = vm.rowCountOptions[1];\r\n\r\n vm.currentPage = 1;\r\n vm.rembemberCurrentPage = function (num) {\r\n vm.currentPage = num;\r\n }\r\n // End of Pagination code\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.isLoading = false;\r\n vm.Create = Create;\r\n vm.cancel = cancel;\r\n vm.subject = {};\r\n vm.getSectionByClass = getSectionByClass;\r\n vm.SaveSubject = SaveSubject;\r\n vm.editSubject = editSubject;\r\n vm.removeSubject = removeSubject;\r\n vm.editProPic = editProPic;\r\n vm.isEditingProPic = false;\r\n $scope.photoChanged = photoChanged;\r\n var formData = new FormData();\r\n \r\n var logggedUser = AuthenticationService.getLoggedUserDetails();\r\n\r\n\r\n function Create() {\r\n vm.isEditing = false;\r\n vm.isFormOpen = true;\r\n vm.isTableOpen = false;\r\n }\r\n function cancel() {\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.subject = {};\r\n }\r\n\r\n\r\n function editProPic() {\r\n vm.isEditingProPic = true;\r\n }\r\n $scope.imageIsLoaded = function (e) {\r\n $scope.$apply(function () {\r\n vm.profilePicUrl = e.target.result;\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n function photoChanged(event) {\r\n var reader = new FileReader();\r\n if (!vm.isEditingProPic) {\r\n vm.empProfilePic = event.target.files[0];\r\n reader.onload = $scope.imageIsLoaded;\r\n reader.readAsDataURL(vm.empProfilePic);\r\n } else {\r\n vm.empProfilePic = event.target.files[0];\r\n reader.onload = $scope.imageIsLoaded;\r\n reader.readAsDataURL(vm.empProfilePic);\r\n var formData = new FormData();\r\n formData.append('profilePic', vm.empProfilePic);\r\n formData.append('SubjectId', vm.subject.SubjectId);\r\n SubjectService.UpdateProfilePic(formData).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', 'Subject picture changed succussfully', \"Success\");\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', 'Internal server Error!', \"Error\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Internal server Error!', \"Error\");\r\n });\r\n }\r\n }\r\n Init()\r\n function Init() {\r\n var companyId = AuthenticationService.getLoggedUserDetails().SelectedCompany.CompanyId;\r\n getAllSubject();\r\n getAllStandard();\r\n // getAllTerms();\r\n }\r\n\r\n\r\n function getAllSubject(){\r\n SubjectService.GetAllSubject().then(function (res) {\r\n if (res.status === 200) {\r\n vm.SubjectList = res.data;\r\n \r\n } else {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n }, function (err) {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n\r\n function getAllStandard(){\r\n ClassRoomService.GetAllClassRoom().then(function (res) {\r\n if (res.status === 200) {\r\n \r\n vm.ClassRoomList = res.data;\r\n $rootScope.isLoading = false;\r\n } else {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n }, function (err) {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n\r\n\r\n function getSectionByClass(Class, callBack) {\r\n // debugger\r\n vm.subject.selectedSection = null;\r\n vm.subject.selectedTerm = null;\r\n vm.SectionList = [];\r\n vm.subject.SubjectName = \"\";\r\n vm.subject.SubjectCode = \"\";\r\n SectionService.GetAllSectionByClass(Class.ClassId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.SectionList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n\r\n\r\n vm.SaveSubject1 = function (subject){\r\n debugger\r\n var loggedUser = AuthenticationService.getLoggedUserDetails();\r\n if(vm.isEditing){\r\n var obj = {\r\n ClassId: vm.subject.selectedClassRoom.ClassId,\r\n SectionId: vm.subject.selectedSection.SectionId,\r\n SubjectName: vm.subject.SubjectName,\r\n SubjectCode: vm.subject.SubjectCode,\r\n Process: 'Save',\r\n CreatedBy: loggedUser.UserId,\r\n SectionName:vm.subject.SectionName,\r\n ClassName:vm.subject.ClassName,\r\n SubjectId:vm.subject.SubjectId\r\n }\r\n }\r\n else{\r\n var obj = {\r\n ClassId: vm.subject.selectedClassRoom.ClassId,\r\n SectionId: vm.subject.selectedSection.SectionId,\r\n SubjectName: vm.subject.SubjectName,\r\n SubjectCode: vm.subject.SubjectCode,\r\n Process: 'Save',\r\n CreatedBy: loggedUser.UserId,\r\n SectionName:vm.subject.SectionName,\r\n ClassName:vm.subject.ClassName\r\n }\r\n }\r\n \r\n\r\n\r\n SubjectService.SaveSubject(obj).then(function (res) {\r\n $rootScope.showToaster('success', 'Subejct added successfully', \"success\");\r\n Init();\r\n vm.cancel();\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Something error...try again\", \"Error\");\r\n });\r\n vm.isLoading = false;\r\n vm.isReporingToRequried = false;\r\n }\r\n\r\n\r\n function SaveSubject(subject) {\r\n var loggedUser = AuthenticationService.getLoggedUserDetails();\r\n\r\n var formData = new FormData();\r\n // if(vm.subject.selectedClassRoom.IsTermAvailable == 1){\r\n // var obj = {\r\n // ClassId: vm.subject.selectedClassRoom.ClassId,\r\n // SectionId: vm.subject.selectedSection.SectionId,\r\n // SubjectName: vm.subject.SubjectName,\r\n // SubjectCode: vm.subject.SubjectCode,\r\n // Process: 'Save',\r\n // CreatedBy: loggedUser.UserId,\r\n // SectionName:vm.subject.SectionName,\r\n // ClassName:vm.subject.ClassName,\r\n // TermId:subject.selectedTerm.TermId\r\n // }\r\n // }\r\n\r\n // else if(vm.subject.selectedClassRoom.IsTermAvailable == 0){\r\n \r\n // }\r\n\r\n var obj = {\r\n ClassId: vm.subject.selectedClassRoom.ClassId,\r\n SectionId: vm.subject.selectedSection.SectionId,\r\n SubjectName: vm.subject.SubjectName,\r\n SubjectCode: vm.subject.SubjectCode,\r\n Process: 'Save',\r\n CreatedBy: loggedUser.UserId,\r\n SectionName:vm.subject.SectionName,\r\n ClassName:vm.subject.ClassName,\r\n // TermId:0\r\n }\r\n\r\n \r\n \r\n formData.append('profilePic', vm.empProfilePic);\r\n formData.append('data', JSON.stringify(obj));\r\n \r\n if (!vm.isEditing) {\r\n SubjectService.SaveSubject(formData).then(function (res) {\r\n $rootScope.showToaster('success', 'Subejct added successfully', \"success\");\r\n Init();\r\n vm.cancel();\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Something error...try again\", \"Error\");\r\n });\r\n vm.isLoading = false;\r\n vm.isReporingToRequried = false;\r\n } else {\r\n SubjectService.EditEmployee(emp).then(function (res) {\r\n $rootScope.showToaster('success', 'Subject updated successfully', \"Success\");\r\n Init();\r\n vm.cancel();\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Something error...try again\", \"Error\");\r\n });\r\n vm.emp = {};\r\n vm.emp1 = {};\r\n vm.isLoading = false;\r\n }\r\n \r\n if (!vm.isEditing) {\r\n SubjectService.SaveSubject(obj).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n if (res.data.Code === 1)\r\n $rootScope.showToaster('success', res.data.Message, \"Subject Master\");\r\n if (res.data.Code != 1)\r\n $rootScope.showToaster('warning', res.data.Message, \"Subject Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n cancel();\r\n vm.section = {};\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Subject Master\");\r\n vm.isFormOpen = true;\r\n }\r\n\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n }\r\n else {\r\n \r\n obj.SubjectId = subject.SubjectId;\r\n SubjectService.SaveSubject(obj).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n if (res.data.Code === 3)\r\n $rootScope.showToaster('success', res.data.Message, \"Subject Master\");\r\n if (res.data.Code != 3)\r\n $rootScope.showToaster('warning', res.data.Message, \"Subject Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n cancel();\r\n vm.section = {};\r\n vm.isEditing = false;\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Subject Master\");\r\n vm.isFormOpen = true;\r\n vm.isEditing = false;\r\n }\r\n\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n }\r\n }\r\n\r\n function editSubject(row) {\r\n console.log(JSON.stringify(row))\r\n vm.isEditing = true;\r\n vm.isFormOpen = true;\r\n vm.isTableOpen = false;\r\n for (var i in vm.ClassRoomList) {\r\n if (vm.ClassRoomList[i].ClassId === row.ClassId) {\r\n vm.subject.selectedClassRoom = vm.ClassRoomList[i]\r\n }\r\n }\r\n\r\n getSectionByClass(row, function () {\r\n for (var i in vm.SectionList) {\r\n if (vm.SectionList[i].SectionId === row.SectionId) {\r\n vm.subject.selectedSection = vm.SectionList[i]\r\n }\r\n }\r\n });\r\n\r\n // for(var i in vm.TermsList){\r\n // if(vm.TermsList[i].TermId == row.TermId){\r\n // vm.subject.selectedTerm = vm.TermsList[i]\r\n // }\r\n // }\r\n vm.subject.SubjectName = angular.copy(row.SubjectName);\r\n vm.subject.SubjectCode = angular.copy(row.SubjectCode);\r\n vm.subject.SubjectId = angular.copy(row.SubjectId);\r\n \r\n \r\n //vm.empProfilePic = vm.profilePicUrl = $rootScope.endPoint + row.PhotoUrl;\r\n }\r\n\r\n function removeSubject(row) {\r\n var confirm = dialogs.confirm('Confirm',\r\n 'Are sure you want to delete current row.', { animation: true, size: 'sm' });\r\n row.Process = 'Delete'\r\n confirm.result.then(function () {\r\n SubjectService.SaveSubject(row).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', res.data.Message, \"Subject Master\");\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', \"Can't Delete Subject\", { animation: true, size: 'sm' });\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Can't Delete Subject. If its not a parent contact your Admin\", { animation: true, size: 'sm' });\r\n });\r\n }, function () {\r\n\r\n })\r\n }\r\n\r\n function getAllTerms(){\r\n ChapterService.GetAllTerms().then(function (res) {\r\n if (res.status === 200) {\r\n vm.TermsList = res.data;\r\n } else {\r\n $rootScope.isLoading=false;\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Terms\");\r\n }\r\n }, function (err) {\r\n $rootScope.isLoading=false;\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Terms\");\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n }\r\n})(); \n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.master')\r\n .controller('TermCtrl', TermCtrl);\r\n\r\n /** @ngInject */\r\n function TermCtrl($http, $rootScope, $scope, lodash, dialogs, ClassRoomService, SectionService, SubjectService, AuthenticationService, ChapterService) {\r\n var vm = this;\r\n // Pagination code\r\n $rootScope.isLoading = false;\r\n vm.rowCountOptions = [{\r\n \"value\": 5\r\n }, {\r\n \"value\": 10\r\n }, {\r\n \"value\": 25\r\n }, {\r\n \"value\": 50\r\n }, {\r\n \"value\": 100\r\n }]\r\n vm.noOfRows = vm.rowCountOptions[1];\r\n\r\n vm.currentPage = 1;\r\n vm.rembemberCurrentPage = function (num) {\r\n vm.currentPage = num;\r\n }\r\n // End of Pagination code\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.isLoading = false;\r\n vm.Create = Create;\r\n vm.cancel = cancel;\r\n vm.subject = {};\r\n vm.getSectionByClass = getSectionByClass;\r\n vm.getSubjectBySection = getSubjectBySection;\r\n vm.SaveSubject = SaveSubject;\r\n vm.editSubject = editSubject;\r\n vm.removeSubject = removeSubject;\r\n vm.editProPic = editProPic;\r\n vm.isEditingProPic = false;\r\n $scope.photoChanged = photoChanged;\r\n var formData = new FormData();\r\n\r\n var logggedUser = AuthenticationService.getLoggedUserDetails();\r\n\r\n\r\n function Create() {\r\n vm.isEditing = false;\r\n vm.isFormOpen = true;\r\n vm.isTableOpen = false;\r\n }\r\n\r\n function cancel() {\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.subject = {};\r\n }\r\n\r\n\r\n function editProPic() {\r\n vm.isEditingProPic = true;\r\n }\r\n $scope.imageIsLoaded = function (e) {\r\n $scope.$apply(function () {\r\n vm.profilePicUrl = e.target.result;\r\n });\r\n }\r\n\r\n function photoChanged(event) {\r\n var reader = new FileReader();\r\n if (!vm.isEditingProPic) {\r\n vm.empProfilePic = event.target.files[0];\r\n reader.onload = $scope.imageIsLoaded;\r\n reader.readAsDataURL(vm.empProfilePic);\r\n } else {\r\n vm.empProfilePic = event.target.files[0];\r\n reader.onload = $scope.imageIsLoaded;\r\n reader.readAsDataURL(vm.empProfilePic);\r\n var formData = new FormData();\r\n formData.append('profilePic', vm.empProfilePic);\r\n // formData.append('SubjectId', vm.subject.SubjectId);\r\n // SubjectService.UpdateProfilePic(formData).then(function (res) {\r\n // if (res.status === 200) {\r\n // $rootScope.showToaster('success', 'Subject picture changed succussfully', \"Success\");\r\n // Init();\r\n // } else {\r\n // $rootScope.showToaster('error', 'Internal server Error!', \"Error\");\r\n // }\r\n // }, function (err) {\r\n // $rootScope.showToaster('error', 'Internal server Error!', \"Error\");\r\n // });\r\n }\r\n }\r\n Init()\r\n\r\n function Init() {\r\n vm.IsTermAvailable = false;\r\n var companyId = AuthenticationService.getLoggedUserDetails().SelectedCompany.CompanyId;\r\n //getAllSubject();\r\n getAllTermImg();\r\n getAllStandard();\r\n getAllTerms();\r\n }\r\n\r\n\r\n // function getAllSubject(){\r\n // SubjectService.GetAllSubject().then(function (res) {\r\n // if (res.status === 200) {\r\n // vm.SubjectList = res.data;\r\n\r\n // } else {\r\n // $rootScope.isLoading = false;\r\n // $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n // }\r\n // }, function (err) {\r\n // $rootScope.isLoading = false;\r\n // $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n // });\r\n // }\r\n\r\n function getAllTermImg() {\r\n SubjectService.GetAllTermImg().then(function (res) {\r\n if (res.status === 200) {\r\n vm.TermImgList = res.data;\r\n console.log(JSON.stringify(vm.TermImgList));\r\n } else {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Something error...try again\", \"Error\");\r\n });\r\n }\r\n\r\n function getAllStandard() {\r\n ClassRoomService.GetAllClassRoom().then(function (res) {\r\n if (res.status === 200) {\r\n\r\n vm.ClassRoomList = res.data;\r\n $rootScope.isLoading = false;\r\n } else {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n }, function (err) {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n\r\n\r\n function getSectionByClass(Class, callBack) {\r\n debugger\r\n\r\n if(Class.IsTermAvailable == 1){\r\n vm.IsTermAvailable = true;\r\n vm.subject.selectedTerm = null;\r\n }\r\n else{\r\n vm.IsTermAvailable = false;\r\n }\r\n\r\n vm.subject.selectedSection = null;\r\n vm.subject.selectedSubject = null;\r\n \r\n vm.SectionList = [];\r\n vm.subject.SubjectName = \"\";\r\n vm.subject.SubjectCode = \"\";\r\n SectionService.GetAllSectionByClass(Class.ClassId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.SectionList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n\r\n function getSubjectBySection(ClassId, SectionId, callBack) {\r\n // debugger;\r\n if (SectionId) {\r\n vm.subject.selectedSubject = null;\r\n vm.SubjectList = [];\r\n var obj = {\r\n ClassId: ClassId,\r\n SectionId: SectionId\r\n }\r\n SubjectService.getAllSubjectBySection(obj).then(function (res) {\r\n if (res.status === 200) {\r\n vm.SubjectList = res.data;\r\n // getAllTerms();\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n } else {\r\n vm.subject.selectedSubject = null;\r\n vm.SubjectList = [];\r\n }\r\n }\r\n\r\n\r\n // vm.SaveSubject1 = function (subject){\r\n // debugger\r\n // var loggedUser = AuthenticationService.getLoggedUserDetails();\r\n\r\n // var obj = {\r\n // ClassId: vm.subject.selectedClassRoom.ClassId,\r\n // SectionId: vm.subject.selectedSection.SectionId,\r\n // SubjectName: vm.subject.SubjectName,\r\n // SubjectCode: vm.subject.SubjectCode,\r\n // Process: 'Save',\r\n // CreatedBy: loggedUser.UserId,\r\n // SectionName:vm.subject.SectionName,\r\n // ClassName:vm.subject.ClassName\r\n // }\r\n\r\n\r\n // SubjectService.SaveSubject(obj).then(function (res) {\r\n // $rootScope.showToaster('success', 'Subejct added successfully', \"success\");\r\n // Init();\r\n // vm.cancel();\r\n // }, function (err) {\r\n // $rootScope.showToaster('error', \"Something error...try again\", \"Error\");\r\n // });\r\n // vm.isLoading = false;\r\n // vm.isReporingToRequried = false;\r\n // }\r\n\r\n\r\n function SaveSubject(subject) {\r\n debugger\r\n var loggedUser = AuthenticationService.getLoggedUserDetails();\r\n\r\n var formData = new FormData();\r\n\r\n\r\n var term;\r\n if(vm.IsTermAvailable){\r\n term = subject.selectedTerm.TermId;\r\n }\r\n else {\r\n term = 0;\r\n }\r\n\r\n debugger\r\n var obj = {\r\n SubjectId: vm.subject.selectedSubject.SubjectId,\r\n TermId: term,\r\n CreatedBy: loggedUser.UserId\r\n }\r\n\r\n formData.append('profilePic', vm.empProfilePic);\r\n formData.append('data', JSON.stringify(obj));\r\n\r\n if (!vm.isEditing) {\r\n SubjectService.SaveTermImg(formData).then(function (res) {\r\n $rootScope.showToaster('success', 'Subejct added successfully', \"success\");\r\n Init();\r\n vm.cancel();\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Something error...try again\", \"Error\");\r\n });\r\n vm.isLoading = false;\r\n vm.isReporingToRequried = false;\r\n } else {\r\n SubjectService.EditEmployee(emp).then(function (res) {\r\n $rootScope.showToaster('success', 'Subject updated successfully', \"Success\");\r\n Init();\r\n vm.cancel();\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Something error...try again\", \"Error\");\r\n });\r\n vm.emp = {};\r\n vm.emp1 = {};\r\n vm.isLoading = false;\r\n }\r\n\r\n // if (!vm.isEditing) {\r\n // SubjectService.SaveSubject(obj).then(function (res) {\r\n // if (res.data.IsSuccess === true) {\r\n // if (res.data.Code === 1)\r\n // $rootScope.showToaster('success', res.data.Message, \"Subject Master\");\r\n // if (res.data.Code != 1)\r\n // $rootScope.showToaster('warning', res.data.Message, \"Subject Master\");\r\n // Init();\r\n // vm.isFormOpen = false;\r\n // cancel();\r\n // vm.section = {};\r\n // } else {\r\n // $rootScope.showToaster('error', res.data.Message, \"Subject Master\");\r\n // vm.isFormOpen = true;\r\n // }\r\n\r\n // }, function (err) {\r\n // $rootScope.showToaster(\"Something error...try again\");\r\n // });\r\n // } else {\r\n\r\n // obj.SubjectId = subject.SubjectId;\r\n // SubjectService.SaveSubject(obj).then(function (res) {\r\n // if (res.data.IsSuccess === true) {\r\n // if (res.data.Code === 3)\r\n // $rootScope.showToaster('success', res.data.Message, \"Subject Master\");\r\n // if (res.data.Code != 3)\r\n // $rootScope.showToaster('warning', res.data.Message, \"Subject Master\");\r\n // Init();\r\n // vm.isFormOpen = false;\r\n // cancel();\r\n // vm.section = {};\r\n // vm.isEditing = false;\r\n // } else {\r\n // $rootScope.showToaster('error', res.data.Message, \"Subject Master\");\r\n // vm.isFormOpen = true;\r\n // vm.isEditing = false;\r\n // }\r\n\r\n // }, function (err) {\r\n // $rootScope.showToaster(\"Something error...try again\");\r\n // });\r\n // }\r\n }\r\n\r\n function editSubject(row) {\r\n debugger\r\n vm.isEditing = true;\r\n vm.isFormOpen = true;\r\n vm.isTableOpen = false;\r\n for (var i in vm.ClassRoomList) {\r\n if (vm.ClassRoomList[i].ClassId === row.ClassId) {\r\n vm.subject.selectedClassRoom = vm.ClassRoomList[i]\r\n }\r\n }\r\n\r\n getSectionByClass(row, function () {\r\n for (var i in vm.SectionList) {\r\n if (vm.SectionList[i].SectionId === row.SectionId) {\r\n vm.subject.selectedSection = vm.SectionList[i]\r\n }\r\n }\r\n });\r\n\r\n // for(var i in vm.TermsList){\r\n // if(vm.TermsList[i].TermId == row.TermId){\r\n // vm.subject.selectedTerm = vm.TermsList[i]\r\n // }\r\n // }\r\n vm.subject.SubjectName = angular.copy(row.SubjectName);\r\n vm.subject.SubjectCode = angular.copy(row.SubjectCode);\r\n vm.subject.SubjectId = angular.copy(row.SubjectId);\r\n\r\n\r\n //vm.empProfilePic = vm.profilePicUrl = $rootScope.endPoint + row.PhotoUrl;\r\n }\r\n\r\n function removeSubject(row) {\r\n debugger\r\n var confirm = dialogs.confirm('Confirm',\r\n 'Are sure you want to delete current row.', {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n row.Process = 'Delete'\r\n confirm.result.then(function () {\r\n SubjectService.SaveSubject(row).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', res.data.Message, \"Subject Master\");\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', \"Can't Delete Subject\", {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Can't Delete Subject. If its not a parent contact your Admin\", {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n });\r\n }, function () {\r\n\r\n })\r\n }\r\n\r\n function getAllTerms() {\r\n ChapterService.GetAllTerms().then(function (res) {\r\n if (res.status === 200) {\r\n vm.TermsList = res.data;\r\n } else {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Terms\");\r\n }\r\n }, function (err) {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Terms\");\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n }\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.master')\r\n .controller('TermActivationCtrl', TermActivationCtrl);\r\n\r\n /** @ngInject */\r\n function TermActivationCtrl($http, $rootScope, $scope, lodash, dialogs,AuthenticationService,ChapterService) {\r\n var vm = this;\r\n // Pagination code\r\n $rootScope.isLoading = true;\r\n vm.rowCountOptions = [{ \"value\": 5 }, { \"value\": 10 }, { \"value\": 25 }, { \"value\": 50 }, { \"value\": 100 }]\r\n vm.noOfRows = vm.rowCountOptions[1];\r\n\r\n vm.currentPage = 1;\r\n vm.rembemberCurrentPage = function (num) {\r\n vm.currentPage = num;\r\n }\r\n \r\n vm.isLoading = true;\r\n \r\n var logggedUser = AuthenticationService.getLoggedUserDetails();\r\n\r\n Init()\r\n function Init() {\r\n var companyId = AuthenticationService.getLoggedUserDetails().SelectedCompany.CompanyId;\r\n getAllTerms();\r\n \r\n }\r\n\r\n\r\n function getAllTerms(){\r\n ChapterService.GetAllTerms().then(function (res) {\r\n if (res.status === 200) {\r\n vm.TermsList = res.data;\r\n getSelectedTerm();\r\n } else {\r\n $rootScope.isLoading=false;\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Terms\");\r\n }\r\n }, function (err) {\r\n $rootScope.isLoading=false;\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Terms\");\r\n });\r\n $rootScope.isLoading = false;\r\n }\r\n\r\n function getSelectedTerm(){\r\n ChapterService.GetSelectedTerm().then(function (res) {\r\n if (res.status === 200) {\r\n // debugger\r\n vm.SelectTerm = res.data;\r\n\r\n for(var i in vm.TermsList){\r\n if(vm.TermsList[i].TermId == vm.SelectTerm[0].TermId){\r\n vm.selectedTerm = vm.TermsList[i];\r\n vm.currentTerm = vm.TermsList[i].TermName;\r\n }\r\n }\r\n\r\n } else {\r\n $rootScope.isLoading=false;\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Selected Term\");\r\n }\r\n }, function (err) {\r\n $rootScope.isLoading=false;\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Selected Term\");\r\n });\r\n $rootScope.isLoading = false;\r\n }\r\n\r\n vm.saveTermActivity = function(id){\r\n//debugger\r\n var data = {\r\n TermId : id.TermId,\r\n UserId : logggedUser.UserId\r\n }\r\n\r\n ChapterService.SaveTermActivity(data).then(function(res){\r\n if(res.data.IsSuccess == true){\r\n getSelectedTerm();\r\n $rootScope.showToaster('success', res.data.Message, \"Term Activity\");\r\n }\r\n else {\r\n $rootScope.isLoading=false;\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Term Activity\");\r\n }\r\n }, function (err) {\r\n $rootScope.isLoading=false;\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Term Activity\");\r\n });\r\n }\r\n\r\n // function getSectionByClass(ClassId, callBack) {\r\n // vm.subject.selectedSection = null,\r\n // vm.SectionList = [];\r\n // vm.subject.SubjectName = \"\";\r\n // vm.subject.SubjectCode = \"\";\r\n // SectionService.GetAllSectionByClass(ClassId).then(function (res) {\r\n // if (res.status === 200) {\r\n // vm.SectionList = res.data;\r\n // } else {\r\n // $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n // }\r\n // if (callBack)\r\n // callBack();\r\n // }, function (err) {\r\n // $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n // });\r\n // }\r\n\r\n // function SaveSubject(subject) {\r\n // var loggedUser = AuthenticationService.getLoggedUserDetails();\r\n\r\n // var formData = new FormData();\r\n // var obj = {\r\n // ClassId: vm.subject.selectedClassRoom.ClassId,\r\n // SectionId: vm.subject.selectedSection.SectionId,\r\n // SubjectName: vm.subject.SubjectName,\r\n // SubjectCode: vm.subject.SubjectCode,\r\n // Process: 'Save',\r\n // CreatedBy: loggedUser.UserId,\r\n // SectionName:vm.subject.SectionName,\r\n // ClassName:vm.subject.ClassName\r\n // }\r\n // formData.append('profilePic', vm.empProfilePic);\r\n // formData.append('data', JSON.stringify(obj));\r\n \r\n // if (!vm.isEditing) {\r\n // SubjectService.SaveSubject(formData).then(function (res) {\r\n // $rootScope.showToaster('success', 'Subejct added successfully', \"success\");\r\n // Init();\r\n // vm.cancel();\r\n // }, function (err) {\r\n // $rootScope.showToaster('error', \"Something error...try again\", \"Error\");\r\n // });\r\n // vm.isLoading = false;\r\n // vm.isReporingToRequried = false;\r\n // } else {\r\n // SubjectService.EditEmployee(emp).then(function (res) {\r\n // $rootScope.showToaster('success', 'Subject updated successfully', \"Success\");\r\n // Init();\r\n // vm.cancel();\r\n // }, function (err) {\r\n // $rootScope.showToaster('error', \"Something error...try again\", \"Error\");\r\n // });\r\n // vm.emp = {};\r\n // vm.emp1 = {};\r\n // vm.isLoading = false;\r\n // }\r\n \r\n // if (!vm.isEditing) {\r\n // SubjectService.SaveSubject(obj).then(function (res) {\r\n // if (res.data.IsSuccess === true) {\r\n // if (res.data.Code === 1)\r\n // $rootScope.showToaster('success', res.data.Message, \"Subject Master\");\r\n // if (res.data.Code != 1)\r\n // $rootScope.showToaster('warning', res.data.Message, \"Subject Master\");\r\n // Init();\r\n // vm.isFormOpen = false;\r\n // cancel();\r\n // vm.section = {};\r\n // } else {\r\n // $rootScope.showToaster('error', res.data.Message, \"Subject Master\");\r\n // vm.isFormOpen = true;\r\n // }\r\n\r\n // }, function (err) {\r\n // $rootScope.showToaster(\"Something error...try again\");\r\n // });\r\n // }\r\n // else {\r\n \r\n // obj.SubjectId = subject.SubjectId;\r\n // SubjectService.SaveSubject(obj).then(function (res) {\r\n // if (res.data.IsSuccess === true) {\r\n // if (res.data.Code === 3)\r\n // $rootScope.showToaster('success', res.data.Message, \"Subject Master\");\r\n // if (res.data.Code != 3)\r\n // $rootScope.showToaster('warning', res.data.Message, \"Subject Master\");\r\n // Init();\r\n // vm.isFormOpen = false;\r\n // cancel();\r\n // vm.section = {};\r\n // vm.isEditing = false;\r\n // } else {\r\n // $rootScope.showToaster('error', res.data.Message, \"Subject Master\");\r\n // vm.isFormOpen = true;\r\n // vm.isEditing = false;\r\n // }\r\n\r\n // }, function (err) {\r\n // $rootScope.showToaster(\"Something error...try again\");\r\n // });\r\n // }\r\n // }\r\n\r\n // function editSubject(row) {\r\n // vm.isEditing = true;\r\n // vm.isFormOpen = true;\r\n // vm.isTableOpen = false;\r\n // for (var i in vm.ClassRoomList) {\r\n // if (vm.ClassRoomList[i].ClassId === row.ClassId) {\r\n // vm.subject.selectedClassRoom = vm.ClassRoomList[i]\r\n // }\r\n // }\r\n // getSectionByClass(row.ClassId, function () {\r\n // for (var i in vm.SectionList) {\r\n // if (vm.SectionList[i].SectionId === row.SectionId) {\r\n // vm.subject.selectedSection = vm.SectionList[i]\r\n // }\r\n // }\r\n // });\r\n // vm.subject.SubjectName = angular.copy(row.SubjectName);\r\n // vm.subject.SubjectCode = angular.copy(row.SubjectCode);\r\n // vm.subject.SubjectId = angular.copy(row.SubjectId);\r\n \r\n // vm.empProfilePic = vm.profilePicUrl = $rootScope.endPoint + row.PhotoUrl;\r\n // }\r\n\r\n // function removeSubject(row) {\r\n // var confirm = dialogs.confirm('Confirm',\r\n // 'Are sure you want to delete current row.', { animation: true, size: 'sm' });\r\n // row.Process = 'Delete'\r\n // confirm.result.then(function () {\r\n // SubjectService.SaveSubject(row).then(function (res) {\r\n // if (res.status === 200) {\r\n // $rootScope.showToaster('success', res.data.Message, \"Subject Master\");\r\n // Init();\r\n // } else {\r\n // $rootScope.showToaster('error', \"Can't Delete Subject\", { animation: true, size: 'sm' });\r\n // }\r\n // }, function (err) {\r\n // $rootScope.showToaster('error', \"Can't Delete Subject. If its not a parent contact your Admin\", { animation: true, size: 'sm' });\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})(); \n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.master')\r\n .controller('TimetableCtrl', TimetableCtrl);\r\n\r\n /** @ngInject */\r\n function TimetableCtrl($http, $scope,$filter, $rootScope, $sce, lodash, dialogs, ChapterService, ClassRoomService, SectionService, SubjectService, UnitService,AuthenticationService) {\r\n var vm = this;\r\n // Pagination code\r\n $rootScope.isLoading = true;\r\n vm.rowCountOptions = [{ \"value\": 5 }, { \"value\": 10 }, { \"value\": 25 }, { \"value\": 50 }, { \"value\": 100 }]\r\n vm.noOfRows = vm.rowCountOptions[1];\r\n vm.radioDisable = false;\r\n vm.currentPage = 1;\r\n vm.rembemberCurrentPage = function (num) {\r\n vm.currentPage = num;\r\n }\r\n // End of Pagination code\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.isLoading = true;\r\n vm.Create = Create;\r\n vm.cancel = cancel;\r\n vm.unit = {};\r\n vm.getSectionByClass = getSectionByClass;\r\n vm.getSubjectBySection = getSubjectBySection;\r\n vm.getChapterBySubject = getChapterBySubject;\r\n vm.getUnitByChapters = getUnitByChapters;\r\n //vm.editChapter = editChapter;\r\n // vm.removeUnit = removeUnit;\r\n // vm.SaveDocument = SaveDocument;\r\n // vm.removeFile = removeFile;\r\n vm.editLinkUnit = editLinkUnit;\r\n // vm.SaveUploadLinks = SaveUploadLinks;\r\n // vm.DocList = [];\r\n // var arr = [];\r\n // vm.VideoLinks = [];\r\n var logggedUser = AuthenticationService.getLoggedUserDetails();\r\n vm.SaveTimeTable = SaveTimeTable;\r\n // vm.LinksUpdate = LinksUpdate;\r\n //debugger\r\n // vm.Type = 'P';\r\n vm.TimetableList;\r\n vm.GetTimeTable = GetTimeTable\r\n\r\n\r\n function Create() {\r\n vm.isEditing = false;\r\n vm.isFormOpen = true;\r\n vm.isTableOpen = false;\r\n vm.ShowCreateBtn = true;\r\n vm.ShowUpdateBtn = false;\r\n vm.CreateLinkunit = {};\r\n vm.radioDisable = false;\r\n //debugger\r\n vm.Type = 'P';\r\n }\r\n function cancel() {\r\n // vm.isFormOpen = false;\r\n // vm.isEditing = false;\r\n // vm.unit = {};\r\n // // vm.DocList = {};\r\n // //debugger\r\n // vm.Type = '';\r\n // vm.videoList = {};\r\n // vm.radioDisable = false;\r\n\r\n vm.CreateTimeTable = null;\r\n }\r\n\r\n Init()\r\n function Init() {\r\n // GetTimeTable();\r\n // GetAllLinks();\r\n // vm.isEditing = false;\r\n // vm.isFormOpen = true;\r\n // vm.isTableOpen = false;\r\n // vm.ShowCreateBtn = true;\r\n // vm.ShowUpdateBtn = false;\r\n // vm.radioDisable = false;\r\n //debugger\r\n var companyId = AuthenticationService.getLoggedUserDetails().SelectedCompany.CompanyId;\r\n GetAllClassRoom();\r\n ClassRoomService.GetClasstimings(companyId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.Classtiming = res.data;\r\n console.log(vm.Classtiming);\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Class Timing\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Class Timing\");\r\n });\r\n\r\n ClassRoomService.GetLocation(companyId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.Location = res.data;\r\n console.log(vm.Location);\r\n $rootScope.isLoading = false;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Location\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Location\");\r\n });\r\n\r\n }\r\n\r\n vm.open1 = function () {\r\n vm.popup1.opened = true;\r\n // GetTimeTable();\r\n };\r\n\r\n\r\n vm.popup1 = {\r\n opened: false\r\n };\r\n\r\n function GetTimeTable(){\r\n var obj = {\r\n ClassId:vm.CreateTimeTable.selectedClassRoom.ClassId,\r\n SectionId:vm.CreateTimeTable.selectedSection.SectionId,\r\n TimeTableDate:$filter('date')(vm.CreateTimeTable.date, 'yyyy-MM-dd')\r\n }\r\n ClassRoomService.GetTimeTable(obj).then(function (res) {\r\n if (res.status === 200) {\r\n vm.TimetableList = res.data;\r\n console.log(res);\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Get TimeTable\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Get TimeTable\");\r\n })\r\n }\r\n\r\n // function GetAllLinks(){\r\n // var EmployeeId = AuthenticationService.getLoggedUserDetails().UserId;\r\n // UnitService.GetAllLinkUnits(EmployeeId).then(function (res) {\r\n // if (res.status === 200) {\r\n // vm.UnitLinkList = res.data;\r\n // $rootScope.isLoading = false;\r\n // //console.log(\"vm.UnitLinkList >> \"+JSON.stringify(vm.UnitLinkList))\r\n // GetAllClassRoom();\r\n // } else {\r\n // $rootScope.isLoading = false;\r\n // $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n // }\r\n // }, function (err) {\r\n // $rootScope.isLoading = false;\r\n // $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n // });\r\n // }\r\n\r\n\r\n function GetAllClassRoom(){\r\n ClassRoomService.GetAllClassRoom().then(function (res) {\r\n if (res.status === 200) {\r\n vm.ClassRoomList = res.data;\r\n\r\n // console.log(\"vm.ClassRoomList\"+JSON.stringify(vm.ClassRoomList))\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Units\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Unit\");\r\n });\r\n }\r\n \r\n\r\n function SaveTimeTable(timetale){\r\n console.log(JSON.stringify(timetale))\r\n debugger\r\n // var loggedUser = AuthenticationService.getLoggedUserDetails();\r\n if (!vm.isEditing) {\r\n \r\n var obj = {\r\n ClassId:timetale.selectedClassRoom.ClassId,\r\n SectionId:timetale.selectedSection.SectionId,\r\n TimeTableDate:$filter('date')(timetale.date, 'yyyy-MM-dd'),\r\n ClassTimingsId:timetale.selectedTime.ClassTimingsId,\r\n SubjectId:timetale.selectedSubject.SubjectId,\r\n ChapterId:timetale.selectedChapter.ChapterId,\r\n UnitId:timetale.selectedSession.UnitId,\r\n EmployeeId:timetale.selectedTeacher.StaffId,\r\n LocationId:timetale.selectedLocation.LocationId,\r\n CreatedBy:logggedUser.UserId\r\n } \r\n \r\n ClassRoomService.CreateTimeTable(obj).then(function (res) {\r\n console.log(res)\r\n if (res.data === true) {\r\n $rootScope.showToaster('success', res.data.Message, \"TimeTable Master\");\r\n // if (res.data.Code === 1)\r\n // $rootScope.showToaster('success', res.data.Message, \"TimeTable Master\");\r\n // if (res.data.Code != 1)\r\n // $rootScope.showToaster('warning', res.data.Message, \"TimeTable Master\");\r\n // Init();\r\n // vm.isFormOpen = false;\r\n // cancel();\r\n vm.CreateTimeTable.selectedTime = null;\r\n vm.CreateTimeTable.selectedSubject = null;\r\n vm.CreateTimeTable.selectedChapter = null;\r\n vm.CreateTimeTable.selectedSession = null;\r\n vm.CreateTimeTable.selectedTeacher = null;\r\n vm.CreateTimeTable.selectedLocation = null;\r\n GetTimeTable();\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"TimeTable Master\");\r\n vm.isFormOpen = true;\r\n } \r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n } \r\n }\r\n\r\n function getSectionByClass(ClassId, callBack) {\r\n if (ClassId) {\r\n vm.CreateTimeTable.selectedSection = null;\r\n vm.SectionList = [];\r\n vm.CreateTimeTable.selectedSubject = null;\r\n vm.SubjectList = [];\r\n vm.CreateTimeTable.UnitName = \"\";\r\n SectionService.GetAllSectionByClass(ClassId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.SectionList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n else {\r\n vm.CreateTimeTable.selectedSection = null;\r\n vm.SectionList = [];\r\n vm.CreateTimeTable.selectedSubject = null;\r\n vm.SubjectList = [];\r\n vm.CreateTimeTable.selectedChapter = null;\r\n vm.ChapterList = [];\r\n }\r\n }\r\n\r\n\r\n function getAllTerms(){\r\n ChapterService.GetAllTerms().then(function (res) {\r\n if (res.status === 200) {\r\n vm.TermsList = res.data;\r\n } else {\r\n $rootScope.isLoading=false;\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Terms\");\r\n }\r\n }, function (err) {\r\n $rootScope.isLoading=false;\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Terms\");\r\n });\r\n }\r\n\r\n function getSubjectBySection(ClassId, SectionId, callBack) {\r\n if (SectionId) {\r\n vm.CreateTimeTable.selectedSubject = null;\r\n vm.SubjectList = [];\r\n var obj = {\r\n ClassId: ClassId,\r\n SectionId: SectionId\r\n }\r\n SubjectService.getAllSubjectBySection(obj).then(function (res) {\r\n if (res.status === 200) {\r\n vm.SubjectList = res.data;\r\n getAllTerms();\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n else {\r\n vm.CreateTimeTable.selectedSubject = null;\r\n vm.SubjectList = [];\r\n }\r\n }\r\n function getChapterBySubject(ClassId, SectionId, SubjectId, callBack) {\r\n if (SubjectId) {\r\n vm.CreateTimeTable.selectedChapter = null;\r\n vm.ChapterList = [];\r\n\r\n var obj = {\r\n ClassId: ClassId,\r\n SectionId: SectionId,\r\n SubjectId: SubjectId\r\n }\r\n\r\n ChapterService.GetAllChapterBySubject(obj).then(function (res) {\r\n if (res.status === 200) {\r\n vm.ChapterList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n\r\n ClassRoomService.GetStafflist(obj).then(function (res) {\r\n if (res.status === 200) {\r\n vm.TeachersList = res.data;\r\n console.log(vm.TeachersList);\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Teacher\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Teacher\");\r\n });\r\n\r\n\r\n }\r\n else {\r\n vm.unit.selectedChapter = null;\r\n vm.ChapterList = [];\r\n vm.TeachersList = [];\r\n }\r\n }\r\n\r\n\r\n // $scope.fileChanged = function (event) {\r\n // //debugger\r\n // if (event)\r\n // vm.selectedFile = event.target.files[0]; \r\n // }\r\n\r\n // function SaveDocument() {\r\n // var formData = new FormData();\r\n // formData.append('Attachment', vm.selectedFile)\r\n // formData.append('FileTypeId', vm.unit.selectedFileType.FileTypeId)\r\n // formData.append('RelatedImageandVideoName',vm.unit.RelatedImageandVideoName)\r\n // formData.append('ClassName', vm.unit.selectedClassRoom.ClassName)\r\n // formData.append('SectionName', vm.unit.selectedSection.SectionName)\r\n // formData.append('SubjectName', vm.unit.selectedSubject.SubjectName)\r\n // formData.append('ChapterName', vm.unit.selectedChapter.ChapterName)\r\n\r\n\r\n // UnitService.SaveDoc(formData).then(function (res) {\r\n // if (res.data.msgText === 'Success!') {\r\n // $rootScope.showToaster('success', res.data.Message, \"File Upload\");\r\n // vm.DocList.push(res.data.result)\r\n // } else {\r\n // $rootScope.showToaster('error', res.data.Message, \"File Upload\");\r\n // }\r\n // }, function (err) {\r\n // $rootScope.showToaster(\"Something error...try again\");\r\n // });\r\n\r\n // }\r\n\r\n // function SaveUploadLinks(){\r\n // var loggedUser = AuthenticationService.getLoggedUserDetails();\r\n // var formData = new FormData();\r\n // formData.append('Attachment', vm.selectedFile)\r\n // formData.append('UnitId', vm.CreateLinkunit.selectedUnit.UnitId)\r\n // formData.append('ReferenceName', vm.CreateLinkunit.LinksWord)\r\n // formData.append('ClassName', vm.CreateLinkunit.selectedClassRoom.ClassName)\r\n // formData.append('SectionName', vm.CreateLinkunit.selectedSection.SectionName)\r\n // formData.append('SubjectName', vm.CreateLinkunit.selectedSubject.SubjectName)\r\n // formData.append('ChapterName', vm.CreateLinkunit.selectedChapter.ChapterName)\r\n // formData.append('UploadTypeId', vm.CreateLinkunit.selectedFileType.FileTypeId)\r\n // formData.append('UserId', loggedUser.UserId)\r\n\r\n // UnitService.SaveUploadedDocs(formData).then(function (res) {\r\n // if (res.data.msgText === 'Success!') {\r\n // $rootScope.showToaster('success', res.data.Message, \"File Upload\");\r\n // Init();\r\n // vm.isFormOpen = false;\r\n // cancel();\r\n // vm.section = {};\r\n // vm.DocList = [];\r\n // } else {\r\n // $rootScope.showToaster('error', res.data.Message, \"File Upload\");\r\n // }\r\n // }, function (err) {\r\n // $rootScope.showToaster(\"Something error...try again\");\r\n // });\r\n \r\n // }\r\n\r\n\r\n function getUnitByChapters(ClassId, SectionId, SubjectId,ChapterId, callBack) {\r\n if (ChapterId) {\r\n vm.CreateTimeTable.selectedUnit = null;\r\n vm.UnitList = [];\r\n\r\n var obj = {\r\n ClassId: ClassId,\r\n SectionId: SectionId,\r\n SubjectId: SubjectId,\r\n ChapterId: ChapterId\r\n }\r\n UnitService.GetAllUnitByChapter(obj).then(function (res) {\r\n if (res.status === 200) {\r\n vm.UnitList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n else {\r\n vm.unit.selectedChapter = null;\r\n vm.UnitList = [];\r\n }\r\n }\r\n\r\n function editLinkUnit(row) {\r\n //debugger\r\n \r\n vm.CreateLinkunit = {};\r\n vm.isEditing = true;\r\n vm.isFormOpen = true;\r\n vm.isTableOpen = false;\r\n \r\n if(row.UploadTypeId == 3){\r\n vm.Type = \"P\";\r\n }\r\n else{\r\n vm.Type = \"A\";\r\n }\r\n vm.CreateLinkunit.selectedFileType = row.UploadTypeId; \r\n vm.CreateLinkunit.LinksWord = angular.copy(row.LinksWord);\r\n vm.ShowCreateBtn = false;\r\n vm.ShowUpdateBtn = true;\r\n vm.UpdateTextLinkId = row.TextLinkId;\r\n vm.radioDisable = true;\r\n\r\n // document.getElementById(\"inlineRadio2\").disabled = true;\r\n\r\n // vm.Type = angular.copy(row.UnitType);\r\n vm.CreateLinkunit = angular.copy(row);\r\n\r\n // console.log(\"vm.isEditing on edit button click\"+vm.isEditing)\r\n\r\n //console.log(\"row======>>>>>>>\"+JSON.stringify(row));\r\n //vm.CreateLinkunit.UnitId = angular.copy(row.UnitId);\r\n // vm.CreateLinkunit.PostContent = angular.copy(row.PostContent);\r\n //vm.CreateLinkunit = (row.PostContentFile != undefined) ? angular.copy(JSON.parse(row.PostContentFile)) : null;\r\n //vm.CreateLinkunit.FileTypeId = (row.FileTypeId != undefined) ? angular.copy(row.FileTypeId);\r\n $rootScope.ButtonTypeIdCount = row.ButtonTypeId;\r\n //vm.CreateLinkunit.TextLinkId = angular.copy(row.TextLinkId);\r\n vm.CreateLinkunit.PostContent = angular.copy(row.PostContent);\r\n vm.CreateLinkunit.LinksWord = angular.copy(row.LinksWord);\r\n\r\n for (var i in vm.ClassRoomList) {\r\n if (vm.ClassRoomList[i].ClassId === row.ClassId) {\r\n vm.CreateLinkunit.selectedClassRoom = vm.ClassRoomList[i]\r\n }\r\n }\r\n\r\n getSectionByClass(row.ClassId, function () {\r\n for (var i in vm.SectionList) {\r\n if (vm.SectionList[i].SectionId === row.SectionId) {\r\n vm.CreateLinkunit.selectedSection = vm.SectionList[i];\r\n }\r\n }\r\n });\r\n\r\n for (var i in vm.FileTypeList) {\r\n if (vm.FileTypeList[i].FileTypeId === row.UploadTypeId) {\r\n vm.CreateLinkunit.selectedFileType = vm.FileTypeList[i]\r\n }\r\n }\r\n\r\n getSubjectBySection(row.ClassId, row.SectionId, function () {\r\n for (var i in vm.SubjectList) {\r\n if (vm.SubjectList[i].SubjectId === row.SubjectId) {\r\n vm.CreateLinkunit.selectedSubject = vm.SubjectList[i]\r\n }\r\n }\r\n });\r\n\r\n\r\n getChapterBySubject(row.ClassId, row.SectionId, row.SubjectId, function () {\r\n for (var i in vm.ChapterList) {\r\n if (vm.ChapterList[i].ChapterId === row.ChapterId) {\r\n vm.CreateLinkunit.selectedChapter = vm.ChapterList[i]\r\n }\r\n }\r\n });\r\n getUnitByChapters(row.ClassId, row.SectionId, row.SubjectId,row.ChapterId, function () {\r\n for (var i in vm.UnitList) {\r\n if (vm.UnitList[i].UnitId === row.UnitId) {\r\n vm.CreateLinkunit.selectedUnit = vm.UnitList[i]\r\n }\r\n }\r\n });\r\n vm.CreateLinkunit.UnitName = angular.copy(row.UnitName);\r\n }\r\n\r\n\r\n \r\n \r\n\r\n\r\n\r\n\r\n // $scope.fileChanged = function (event) {\r\n // if (event)\r\n // vm.selectedFile = event.target.files[0];\r\n // }\r\n\r\n // function SaveDocument() {\r\n // var formData = new FormData();\r\n // formData.append('Attachment', vm.selectedFile)\r\n // formData.append('FileTypeId', vm.unit.selectedFileType.FileTypeId)\r\n // formData.append('ClassName', vm.unit.selectedClassRoom.ClassName)\r\n // formData.append('SectionName', vm.unit.selectedSection.SectionName)\r\n // formData.append('SubjectName', vm.unit.selectedSubject.SubjectName)\r\n // formData.append('ChapterName', vm.unit.selectedChapter.ChapterName)\r\n // formData.append('ReferenceLink', vm.unit.ReferenceLinkName)\r\n\r\n\r\n // UnitService.SaveDoc(formData).then(function (res) {\r\n // if (res.data.msgText === 'Success!') {\r\n // $rootScope.showToaster('success', res.data.Message, \"File Upload\");\r\n // vm.DocList.push(res.data.result)\r\n // } else {\r\n // $rootScope.showToaster('error', res.data.Message, \"File Upload\");\r\n // }\r\n // }, function (err) {\r\n // $rootScope.showToaster(\"Something error...try again\");\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.removeTimetable = function (obj){\r\n debugger\r\n\r\n var confirm = dialogs.confirm('Confirm', 'Are sure you want to delete current row.', {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n confirm.result.then(function() {\r\n ClassRoomService.DeleteTimetable(obj.TimeTableId).then(function(res){\r\n console.log(\"DeleteTimetable result >>>\"+JSON.stringify(res.data))\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', 'Remove Timetable Successfully');\r\n GetTimeTable();\r\n } else {\r\n $rootScope.showToaster('error', \"Can't Delete Timetable\", {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n }\r\n },function(err) {\r\n $rootScope.showToaster('error', \"Can't Delete Timetable. If its not a parent contact your Admin\", {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n });\r\n }, function() { \r\n })\r\n }\r\n\r\n \r\n\r\n\r\n }\r\n})(); \n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.master')\r\n .controller('UnitCtrl', UnitCtrl);\r\n\r\n /** @ngInject */\r\n function UnitCtrl($http, $scope, $rootScope, $sce, lodash, dialogs, ChapterService, ClassRoomService, SectionService, SubjectService, UnitService,AuthenticationService) {\r\n var vm = this;\r\n $rootScope.isLoading = true;\r\n // Pagination code\r\n vm.rowCountOptions = [{ \"value\": 5 }, { \"value\": 10 }, { \"value\": 25 }, { \"value\": 50 }, { \"value\": 100 }]\r\n vm.noOfRows = vm.rowCountOptions[1];\r\n\r\n vm.currentPage = 1;\r\n vm.rembemberCurrentPage = function (num) {\r\n vm.currentPage = num;\r\n }\r\n // End of Pagination code\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.isLoading = true;\r\n vm.Create = Create;\r\n vm.cancel = cancel;\r\n vm.unit = {};\r\n vm.getSectionByClass = getSectionByClass;\r\n vm.getSubjectBySection = getSubjectBySection;\r\n vm.getChapterBySubject = getChapterBySubject;\r\n // vm.getUnitByChapter = getUnitByChapter;\r\n vm.SaveUnit = SaveUnit;\r\n vm.SaveVideoLinksUnit = SaveVideoLinksUnit;\r\n\r\n //vm.editChapter = editChapter;\r\n // vm.removeUnit = removeUnit;\r\n vm.SaveDocument = SaveDocument;\r\n vm.removeFile = removeFile;\r\n vm.editUnit = editUnit;\r\n vm.editLinks = editLinks;\r\n vm.DocList = [];\r\n var arr = [];\r\n vm.VideoLinks = [];\r\n vm.VideoLinksUnitList = [];\r\n vm.RemovevideoLinks = RemovevideoLinks;\r\n vm.GetAllVideoLinksUnit = GetAllVideoLinksUnit;\r\n vm.setPathIds = setPathIds;\r\n \r\n var logggedUser = AuthenticationService.getLoggedUserDetails();\r\n\r\n\r\n vm.VideoLinksList = [{\r\n VideoTypename: \"Reference Videos\",\r\n VideoTypeId: 1\r\n },\r\n {\r\n VideoTypename: \"Teacher Suggested Videos\",\r\n VideoTypeId: 2\r\n },\r\n {\r\n VideoTypename: \"Most Popular Videos\",\r\n VideoTypeId: 3\r\n },\r\n {\r\n VideoTypename: \"Related Videos\",\r\n VideoTypeId: 4\r\n }];\r\n \r\n vm.FileTypeList = [{\r\n FileTypeName: \"Image\",\r\n FileTypeId: 1\r\n },\r\n {\r\n FileTypeName: \"Video\",\r\n FileTypeId: 2\r\n }\r\n // ,\r\n // {\r\n\r\n // FileTypeName: \"Reference Video Link\",\r\n // FileTypeId: 3\r\n // },\r\n // {\r\n // FileTypeName: \"Suggesstion Teacher Video Link\",\r\n // FileTypeId: 4\r\n // },\r\n // {\r\n // FileTypeName: \"Most Popular Link\",\r\n // FileTypeId: 5\r\n // }\r\n]\r\n\r\n function Create() {\r\n vm.isEditing = false;\r\n vm.isFormOpen = true;\r\n vm.isTableOpen = false;\r\n \r\n }\r\n function cancel() {\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.unit = {};\r\n vm.Type = {};\r\n vm.videoList = {};\r\n $rootScope.PathIds = {};\r\n }\r\n\r\n Init()\r\n function Init() {\r\n var companyId = AuthenticationService.getLoggedUserDetails().SelectedCompany.CompanyId;\r\n var EmployeeId = AuthenticationService.getLoggedUserDetails().RefId;\r\n UnitService.GetAllUnits(EmployeeId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.UnitList = res.data;\r\n $rootScope.isLoading = false;\r\n ClassRoomService.GetAllClassRoom().then(function (res) {\r\n if (res.status === 200) {\r\n vm.ClassRoomList = res.data;\r\n\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Units\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Unit\");\r\n });\r\n } else {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n }, function (err) {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n \r\n }\r\n\r\n\r\n function getAllTerms(){\r\n ChapterService.GetAllTerms().then(function (res) {\r\n if (res.status === 200) {\r\n vm.TermsList = res.data;\r\n } else {\r\n $rootScope.isLoading=false;\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Terms\");\r\n }\r\n }, function (err) {\r\n $rootScope.isLoading=false;\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Terms\");\r\n });\r\n }\r\n \r\n function GetAllVideoLinksUnit(){\r\n \r\n var UnitId = 18;\r\n \r\n UnitService.GetAllVideoLinksUnit().then(function (res) {\r\n if (res.status === 200) {\r\n vm.VideoLinksUnitList = res.data;\r\n console.log(vm.videoList);\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n\r\n // Obj.PostContent = \" \" + Obj.PostContent + \"\";\r\n // GetFileList();\r\n // function GetFileList() {\r\n // vm.VideoList = []; vm.ImageList = [];\r\n\r\n // var UnitId = 104;\r\n // UnitService.GetFileList(UnitId).then(function (response) {\r\n // if (response.data != undefined) {\r\n // debugger\r\n // vm.Url = response.data;\r\n // var FileLists = JSON.parse(vm.Url[0].PostContentFile);\r\n // for (var i in FileLists) {\r\n // if(FileLists[i].FileTypeId == 1 ){\r\n // vm.ImageList.push(FileLists[i].FilePath);\r\n // }else{\r\n // vm.VideoList.push(FileLists[i].FilePath);\r\n // }\r\n\r\n // }\r\n\r\n\r\n // }\r\n // console.log(vm.videoList);\r\n // })\r\n // }\r\n \r\n\r\n function getSectionByClass(ClassId, callBack) {\r\n if (ClassId) {\r\n vm.unit.selectedSection = null;\r\n vm.SectionList = [];\r\n vm.unit.selectedSubject = null;\r\n vm.SubjectList = [];\r\n vm.unit.UnitName = \"\";\r\n SectionService.GetAllSectionByClass(ClassId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.SectionList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n else {\r\n vm.unit.selectedSection = null;\r\n vm.SectionList = [];\r\n vm.unit.selectedSubject = null;\r\n vm.SubjectList = [];\r\n vm.unit.selectedChapter = null;\r\n vm.ChapterList = [];\r\n }\r\n }\r\n\r\n function getSubjectBySection(ClassId, SectionId, callBack) {\r\n if (SectionId) {\r\n vm.unit.selectedSubject = null;\r\n vm.SubjectList = [];\r\n var obj = {\r\n ClassId: ClassId,\r\n SectionId: SectionId\r\n }\r\n SubjectService.getAllSubjectBySection(obj).then(function (res) {\r\n if (res.status === 200) {\r\n vm.SubjectList = res.data;\r\n getAllTerms();\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n else {\r\n vm.unit.selectedSubject = null;\r\n vm.SubjectList = [];\r\n }\r\n }\r\n function getChapterBySubject(ClassId, SectionId, SubjectId, callBack) {\r\n if (SubjectId) {\r\n vm.unit.selectedChapter = null;\r\n vm.ChapterList = [];\r\n\r\n var obj = {\r\n ClassId: ClassId,\r\n SectionId: SectionId,\r\n SubjectId: SubjectId\r\n }\r\n ChapterService.GetAllChapterBySubject(obj).then(function (res) {\r\n if (res.status === 200) {\r\n vm.ChapterList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n else {\r\n vm.unit.selectedChapter = null;\r\n vm.ChapterList = [];\r\n }\r\n }\r\n\r\n function setPathIds(){\r\n $rootScope.PathIds = {};\r\n $rootScope.PathIds = {\r\n ClassId : vm.unit.selectedClassRoom.ClassId,\r\n SectionId : vm.unit.selectedSection.SectionId,\r\n SubjectId : vm.unit.selectedSubject.SubjectId,\r\n ChapterId : vm.unit.selectedChapter.ChapterId,\r\n UnitId: 0,\r\n Type:\"ContentFile\"\r\n }\r\n }\r\n \r\n \r\n function editUnit(row) {\r\n vm.isEditing = true;\r\n vm.isFormOpen = true;\r\n vm.isTableOpen = false;\r\n vm.Type = angular.copy(row.UnitType);\r\n vm.unit.UnitId = angular.copy(row.UnitId);\r\n vm.unit.PostContent = angular.copy(row.PostContent);\r\n // vm.DocList = angular.copy(JSON.parse(row.PostContentFile));\r\n vm.unit.FileTypeId = angular.copy(row.FileTypeId);\r\n $rootScope.ButtonTypeIdCount = row.ButtonTypeId;\r\n\r\n for (var i in vm.ClassRoomList) {\r\n if (vm.ClassRoomList[i].ClassId === row.ClassId) {\r\n vm.unit.selectedClassRoom = vm.ClassRoomList[i]\r\n }\r\n }\r\n\r\n getSectionByClass(row.ClassId, function () {\r\n for (var i in vm.SectionList) {\r\n if (vm.SectionList[i].SectionId === row.SectionId) {\r\n vm.unit.selectedSection = vm.SectionList[i];\r\n\r\n getSubjectBySection(row.ClassId, row.SectionId, function () {\r\n for (var i in vm.SubjectList) {\r\n if (vm.SubjectList[i].SubjectId === row.SubjectId) {\r\n vm.unit.selectedSubject = vm.SubjectList[i];\r\n\r\n getChapterBySubject(row.ClassId, row.SectionId, row.SubjectId, function () {\r\n for (var i in vm.ChapterList) {\r\n if (vm.ChapterList[i].ChapterId === row.ChapterId) {\r\n vm.unit.selectedChapter = vm.ChapterList[i];\r\n setPathIds();\r\n }\r\n }\r\n });\r\n }\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.unit.UnitName = angular.copy(row.UnitName);\r\n vm.VideoLinksUnitList = [];\r\n console.log(\"vm.DocList >>> \"+JSON.stringify(vm.DocList));\r\n \r\n // GetAllVideoLinksUnit();\r\n }\r\n\r\n \r\n \r\n function editLinks(row) {\r\n vm.isEditing = true;\r\n vm.isFormOpen = true;\r\n vm.isTableOpen = false;\r\n vm.unit.TitleName = row.TitleName\r\n vm.unit.Links = row.Links\r\n\r\n for (var i in vm.VideoLinksList) {\r\n if (vm.VideoLinksList[i].VideoTypeId === row.VideoTypeId) {\r\n vm.unit.selectedVideoType = vm.VideoLinksList[i]\r\n }\r\n }\r\n\r\n }\r\n\r\n function SaveUnit(unit) {\r\n var loggedUser = AuthenticationService.getLoggedUserDetails();\r\n debugger;\r\n // var logggedUser = AuthenticationService.getLoggedUserDetails();\r\n\r\n var obj = {\r\n ClassId: vm.unit.selectedClassRoom.ClassId,\r\n SectionId: vm.unit.selectedSection.SectionId,\r\n SubjectId: vm.unit.selectedSubject.SubjectId,\r\n ChapterId: vm.unit.selectedChapter.ChapterId,\r\n UnitName: unit.UnitName,\r\n UnitType: vm.Type,\r\n PostContentFile: JSON.stringify(vm.DocList),\r\n PostContent: unit.PostContent,\r\n ButtonTypeId: $rootScope.ButtonTypeIdCount,\r\n UnitVideoLinkEntities: vm.VideoLinksUnitList,\r\n CreatedBy: loggedUser.UserId,\r\n Process: 'Save'\r\n }\r\n\r\n if (!vm.isEditing) {\r\n UnitService.SaveUnit(obj).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n if (res.data.Code === 1){\r\n\r\n vm.VideoLinksUnitList = [];\r\n $rootScope.showToaster('success', res.data.Message, \"Unit Master\");\r\n \r\n }\r\n \r\n if (res.data.Code != 1)\r\n $rootScope.showToaster('warning', res.data.Message, \"Unit Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n cancel();\r\n vm.section = {};\r\n vm.DocList = [];\r\n vm.VideoLinksUnitList = [];\r\n \r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Unit Master\");\r\n vm.isFormOpen = true;\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n }\r\n else {\r\n obj.ModifiedBy = loggedUser.UserId;\r\n obj.UnitId = unit.UnitId\r\n UnitService.SaveUnit(obj).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n if (res.data.Code === 3)\r\n $rootScope.showToaster('success', res.data.Message, \"Unit Master\");\r\n if (res.data.Code != 3)\r\n $rootScope.showToaster('warning', res.data.Message, \"Unit Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n cancel();\r\n vm.section = {};\r\n vm.DocList = [];\r\n vm.isEditing = false;\r\n \r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Unit Master\");\r\n vm.isFormOpen = true;\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n }\r\n }\r\n\r\n\r\n function SaveVideoLinksUnit(unit) {\r\n\r\n\r\n //console.log(\"unit\"+JSON.stringify(unit));\r\n var objUnit = {\r\n VideoTypeId: vm.unit.selectedVideoType.VideoTypeId,\r\n TitleName: vm.unit.TitleName,\r\n Links: vm.unit.Links,\r\n // UnitId: 18,\r\n CreatedBy: 1,\r\n UnitId: vm.unit.UnitId,\r\n // PostContent: unit.PostContent,\r\n\r\n }\r\n vm.VideoLinksUnitList.push(objUnit);\r\n // console.log(\"objUnit\"+JSON.stringify(objUnit));\r\n\r\n // console.log(\"vm.VideoLinksUnitList\"+JSON.stringify(vm.VideoLinksUnitList));\r\n objUnit = {};\r\n vm.unit.selectedVideoType = \" \";\r\n vm.unit.TitleName = \" \";\r\n vm.unit.Links = \" \";\r\n }\r\n\r\n \r\n vm.removeUnit = function (row) {\r\n // debugger\r\n var confirm = dialogs.confirm('Confirm',\r\n 'Are sure you want to delete current row.', { animation: true, size: 'sm' });\r\n row.Process = 'Delete'\r\n confirm.result.then(function () {\r\n UnitService.SaveUnit(row).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', res.data.Message, \"Unit Master\");\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', \"Can't Delete Content\", { animation: true, size: 'sm' });\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Can't Delete Content. If its not a parent contact your Admin\", { animation: true, size: 'sm' });\r\n });\r\n }, function () {\r\n\r\n })\r\n }\r\n\r\n\r\n vm.CopyFiles = function () {\r\n $rootScope.ClassId = vm.unit.selectedClassRoom.ClassId;\r\n $rootScope.SectionId = vm.unit.selectedSection.SectionId;\r\n $rootScope.SubjectId = vm.unit.selectedSubject.SubjectId;\r\n $rootScope.ChapterId = vm.unit.selectedChapter.ChapterId;\r\n $rootScope.UnitName = vm.unit.UnitName;\r\n $rootScope.Type = vm.unit.Type;\r\n $rootScope.PostContent = vm.unit.PostContent;\r\n ButtonTypeId: $rootScope.ButtonTypeIdCount;\r\n\r\n }\r\n\r\n\r\n $scope.fileChanged = function (event) {\r\n // debugger\r\n if (event)\r\n vm.selectedFile = event.target.files[0]; \r\n }\r\n\r\n function SaveDocument() {\r\n var formData = new FormData();\r\n formData.append('Attachment', vm.selectedFile)\r\n formData.append('FileTypeId', vm.unit.selectedFileType.FileTypeId)\r\n formData.append('RelatedImageandVideoName',vm.unit.RelatedImageandVideoName)\r\n formData.append('ClassName', vm.unit.selectedClassRoom.ClassName)\r\n formData.append('SectionName', vm.unit.selectedSection.SectionName)\r\n formData.append('SubjectName', vm.unit.selectedSubject.SubjectName)\r\n formData.append('ChapterName', vm.unit.selectedChapter.ChapterName)\r\n\r\n\r\n UnitService.SaveDoc(formData).then(function (res) {\r\n if (res.data.msgText === 'Success!') {\r\n $rootScope.showToaster('success', res.data.Message, \"File Upload\");\r\n vm.DocList.push(res.data.result)\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"File Upload\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n\r\n }\r\n\r\n\r\n function removeFile(row) {\r\n // debugger;\r\n \r\n console.log(\"1111\"+JSON.stringify(row))\r\n var details = {\r\n FileTypeId : row.FileTypeId,\r\n FileName : row.RelatedImageandVideoName,\r\n UnitId : vm.unit.UnitId\r\n };\r\n var confirm = dialogs.confirm('Confirm',\r\n 'Are sure you want to delete current row.', {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n confirm.result.then(function () {\r\n UnitService.RemoveDoc(details).then(function (res) {\r\n if (res.data === true) {\r\n var index = vm.DocList.indexOf(row);\r\n vm.DocList.splice(index, 1);\r\n $rootScope.showToaster('success', 'Deleted Successfully', \"File Upload\");\r\n } else {\r\n $rootScope.showToaster('error', 'Failed!', \"File Upload\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n });\r\n }\r\n\r\n\r\n function RemovevideoLinks(row) {\r\n // debugger;\r\n var confirm = dialogs.confirm('Confirm',\r\n 'Are sure you want to delete current row.', {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n confirm.result.then(function () {\r\n UnitService.RemovevideoLinks(row.LinksId).then(function (res) {\r\n if (res.data.msgText === 'Success!') {\r\n var index = vm.VideoLinksUnitList.indexOf(row);\r\n vm.VideoLinksUnitList.splice(index, 1);\r\n $rootScope.showToaster('success', 'Deleted Successfully', \"Links Video\");\r\n } else {\r\n $rootScope.showToaster('error', 'Failed!', \"LinksVideo\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n });\r\n }\r\n\r\n\r\n \r\n\r\n vm.OpenWindow = function (HtmlPath) {\r\n window.open($rootScope.endPoint + 'UploadedDocuments/PostcontentDoc/' + HtmlPath);\r\n\r\n\r\n // $scope.OpenWindow=function(){\r\n\r\n // $scope.test=$scope.htmlContent;\r\n // $scope.res = $scope.test.split(\"#cla#\").join(\"\")\r\n\r\n // $scope.popup=1;\r\n\r\n // }\r\n // $scope.clearcon=function(){\r\n // $scope.htmlContent=\"\";\r\n\r\n // }\r\n // $scope.popuptest=function(){\r\n // alert(\"testing\");\r\n\r\n // }\r\n // $scope.cal=function(){\r\n // alert(\"jhhjhj\");\r\n\r\n\r\n // }\r\n }\r\n\r\n\r\n // Obj.PostContent = \" \" + Obj.PostContent + \"\";\r\n // GetFileList();\r\n // function GetFileList() {\r\n // vm.VideoList = []; vm.ImageList = [];\r\n\r\n // var UnitId = 104;\r\n // UnitService.GetFileList(UnitId).then(function (response) {\r\n // if (response.data != undefined) {\r\n // debugger\r\n // vm.Url = response.data;\r\n // var FileLists = JSON.parse(vm.Url[0].PostContentFile);\r\n // for (var i in FileLists) {\r\n // if(FileLists[i].FileTypeId == 1 ){\r\n // vm.ImageList.push(FileLists[i].FilePath);\r\n // }else{\r\n // vm.VideoList.push(FileLists[i].FilePath);\r\n // }\r\n\r\n // }\r\n\r\n\r\n // }\r\n // console.log(vm.videoList);\r\n // })\r\n // }\r\n\r\n // function edit() {\r\n // /// TS \r\n // school = [\r\n // \"Student1\" = { \"Name\": \"Aruna\", \"Id\": 1 },\r\n // \"Student2\" = { \"Name\": \"Vignesh\", \"Id\": 2 }, \r\n // ]\r\n\r\n // this.Name = this.school.Student1.Name\r\n // this.Id = this.school.Student1.Id\r\n\r\n // //// HTML \r\n // [(ngModel)] = \"Name\"\r\n // [(ngModel)] = \"Id\"\r\n // }\r\n\r\n\r\n\r\n }\r\n})(); \n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.user')\r\n .controller('unitmodalCtrl', unitmodalCtrl);\r\n\r\n /** @ngInject */\r\n function unitmodalCtrl($scope, $rootScope, lodash, items, AuthenticationService, UnitService, $uibModalInstance, $state) {\r\n var vm = this;\r\n\r\n // methods\r\n vm.ThumbNail = items;\r\n vm.closeModal = closeModal;\r\n vm.companySelectionChanged = companySelectionChanged;\r\n vm.saveFile = saveFile;\r\n vm.upload =true;\r\n vm.CloseModalWindow = CloseModalWindow;\r\n\r\n Init();\r\n\r\n ////////////////\r\n\r\n function Init() {\r\n // vm.isLoading = true;\r\n // UserService.getUserCompanies($rootScope.userId).then(function (res) {\r\n // if (res.status === 200) {\r\n // vm.CompanyList = res.data;\r\n // var loggedUser = AuthenticationService.getLoggedUserDetails();\r\n // if (loggedUser.SelectedCompany) {\r\n // vm.selectedCompany = loggedUser.SelectedCompany;\r\n // }\r\n // vm.isLoading = false;\r\n // } else {\r\n // $rootScope.showToaster('error', 'Error! Try Again', \"KPMES\");\r\n // vm.isLoading = false;\r\n // }\r\n // }, function (err) {\r\n // $rootScope.showToaster('error', 'Error! Try Again', \"KPMES\");\r\n // vm.isLoading = false;\r\n // });\r\n }\r\n\r\n $scope.fileChanged = function (event) {\r\n //debugger\r\n\r\n if (event)\r\n vm.selectedFile = \"\";\r\n vm.selectedFile = event.target.files[0];\r\n }\r\n\r\n\r\n $scope.ThumbNail = function (event) {\r\n // console.log(\"event\" + JSON.stringify(event))\r\n // debugger\r\n if (event)\r\n vm.ThumbNailImage = \"\";\r\n vm.ThumbNailImage = event.target.files[0];\r\n }\r\n\r\n function closeModal() {\r\n $uibModalInstance.dismiss('cancel');\r\n }\r\n\r\n function companySelectionChanged() {\r\n var loggedUser = AuthenticationService.getLoggedUserDetails();\r\n loggedUser.SelectedCompany = vm.selectedCompany;\r\n AuthenticationService.setLoggedUserDetails(loggedUser);\r\n }\r\n\r\n function saveFile() {\r\n debugger;\r\n vm.isLoading = true;\r\n\r\n var formData = new FormData();\r\n formData.append('Attachment', vm.selectedFile);\r\n formData.append('ThumbNail', vm.ThumbNailImage);\r\n formData.append('PathIds',JSON.stringify( $rootScope.PathIds));\r\n \r\n\r\n UnitService.SaveUnitModalFile(formData).then(\r\n function (res) {\r\n // console.log(\"response from server\" + $rootScope.endPoint + JSON.stringify(res.data));\r\n var result = res.data;\r\n vm.isLoading = false;\r\n\r\n $rootScope.ThumbNailImage = $rootScope.endPoint + result.ThumbNailPath;\r\n $rootScope.ImageUrl = $rootScope.endPoint + result.FilePathName;\r\n vm.upload = false;\r\n if (res.status === 200) {\r\n if (!res.data){\r\n vm.upload = true;\r\n vm.isLoading = false;\r\n $rootScope.showToaster('error', 'Something wrong, Contact Admin.', \"Role\");\r\n } \r\n } else {\r\n $rootScope.showToaster('error', 'Internal Server Error! Try Again', \"Role\");\r\n vm.upload = true;\r\n vm.isLoading = false;\r\n }\r\n }, function (err) {\r\n vm.upload = true;\r\n vm.isLoading = false;\r\n $rootScope.showToaster('error', \"Can't connect the server! Try Again\", \"Role\");\r\n }\r\n )\r\n\r\n // $uibModalInstance.close();\r\n }\r\n\r\n vm.ok = function () {\r\n $uibModalInstance.close();\r\n }\r\n\r\n function CloseModalWindow() {\r\n // $uibModalInstance.close();\r\n\r\n $uibModalInstance.dismiss('cancel');\r\n \r\n }\r\n }\r\n})(); \n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.user')\r\n .controller('multipleuplaodCtrl', multipleuplaodCtrl);\r\n\r\n /** @ngInject */\r\n function multipleuplaodCtrl($scope,$rootScope, lodash, AuthenticationService, UnitService, $uibModalInstance, $state) {\r\n var vm = this;\r\n\r\n // methods\r\n vm.closeModal = closeModal;\r\n vm.companySelectionChanged = companySelectionChanged;\r\n vm.saveFile = saveFile;\r\n vm.CloseModalWindow = CloseModalWindow;\r\n \r\n vm.Multiplelist = [{\r\n MultiplefileName: \"Images\",\r\n MutilplefileId: 1\r\n },\r\n {\r\n MultiplefileName: \"Videos\",\r\n MutilplefileId: 2\r\n },\r\n {\r\n MultiplefileName:\"synonyms\",\r\n MutilplefileId:3\r\n }];\r\n\r\n\r\n Init();\r\n\r\n ////////////////\r\n\r\n function Init() {\r\n // vm.isLoading = true;\r\n // UserService.getUserCompanies($rootScope.userId).then(function (res) {\r\n // if (res.status === 200) {\r\n // vm.CompanyList = res.data;\r\n // var loggedUser = AuthenticationService.getLoggedUserDetails();\r\n // if (loggedUser.SelectedCompany) {\r\n // vm.selectedCompany = loggedUser.SelectedCompany;\r\n // }\r\n // vm.isLoading = false;\r\n // } else {\r\n // $rootScope.showToaster('error', 'Error! Try Again', \"KPMES\");\r\n // vm.isLoading = false;\r\n // }\r\n // }, function (err) {\r\n // $rootScope.showToaster('error', 'Error! Try Again', \"KPMES\");\r\n // vm.isLoading = false;\r\n // });\r\n }\r\n\r\n vm.selectedFile = [];\r\n vm.details = [];\r\n $scope.AddMultiFile = function (event) {\r\n debugger\r\n var fileId = vm.Multiple.selectedFile.MutilplefileId;\r\n if (event){\r\n vm.selectedFile.push(event.target.files[0]);\r\n var res = {\r\n Name : event.target.files[0].name,\r\n Size : event.target.files[0].size,\r\n FileId: fileId\r\n }\r\n vm.details.push(res);\r\n } \r\n\r\n console.log(\"Details ==>\"+JSON.stringify(vm.details))\r\n }\r\n\r\n\r\n $scope.ThumbNail = function (event) {\r\n console.log(\"event\"+JSON.stringify(event))\r\n debugger\r\n if (event)\r\n vm.ThumbNailImage = \"\";\r\n vm.ThumbNailImage = event.target.files[0];\r\n }\r\n\r\n function closeModal() {\r\n $uibModalInstance.dismiss('cancel');\r\n }\r\n\r\n function companySelectionChanged() {\r\n var loggedUser = AuthenticationService.getLoggedUserDetails();\r\n loggedUser.SelectedCompany = vm.selectedCompany;\r\n AuthenticationService.setLoggedUserDetails(loggedUser);\r\n }\r\n\r\n $scope.getFiles = function (file) {\r\n angular.forEach(file, function (value, key) {\r\n var fileDetails = {\r\n FileName: value.name,\r\n FileLength: value.size,\r\n }\r\n var imgarr = [\"png\", \"jpeg\", \"jpg\"];\r\n var namesplit = (value.name).split(\".\")[1];\r\n\r\n var result = !!(imgarr.indexOf(namesplit) + 1);\r\n if (result) {\r\n $scope.formdata.append(key, value);\r\n $scope.data.push(fileDetails);\r\n }\r\n });\r\n\r\n var productDetails = {\r\n ProudctCode: vm.ParentData.ProductCode,\r\n VariableId: vm.ParentData.ItemOfProductId,\r\n FileType: \"Products\"\r\n }\r\n $scope.formdata.append(\"productDetails\", JSON.stringify(productDetails));\r\n $scope.formdata.append(\"datas\", JSON.stringify($scope.data));\r\n\r\n $scope.countFiles = $scope.data.length == 0 ? '' : $scope.data.length + ' files selected';\r\n $scope.$apply();\r\n\r\n };\r\n \r\n function saveFile() {\r\n\r\n var formData = new FormData();\r\n \r\n formData.append('Attachment', vm.selectedFile);\r\n formData.append('Details', JSON.stringify(vm.details));\r\n\r\n UnitService.SaveMultipleFileuploads(formData).then(\r\n function(res) {\r\n\r\n var result = res.data;\r\n $rootScope.ThumbNailImage = $rootScope.endPoint+ result.ThumbNailPath;\r\n $rootScope.ImageUrl = $rootScope.endPoint+ result.FilePathName;\r\n if(res.status === 200) {\r\n if(!res.data)\r\n $rootScope.showToaster('error', 'Something wrong, Contact Admin.', \"Role\");\r\n } else {\r\n $rootScope.showToaster('error', 'Internal Server Error! Try Again', \"Role\");\r\n }\r\n }, function(err) {\r\n $rootScope.showToaster('error', \"Can't connect the server! Try Again\", \"Role\");\r\n }\r\n )\r\n\r\n // $uibModalInstance.close();\r\n }\r\n\r\n vm.ok = function(){\r\n $uibModalInstance.close();\r\n }\r\n\r\n function CloseModalWindow() \r\n {\r\n // $uibModalInstance.close();\r\n $uibModalInstance.dismiss('cancel');\r\n }\r\n }\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.role')\r\n .controller('RoleMenuMappingCtrl', RoleMenuMappingCtrl);\r\n\r\n /** @ngInject */\r\n function RoleMenuMappingCtrl($scope,$rootScope, $state, $http, lodash, dialogs, RoleService) {\r\n var vm = this;\r\n $rootScope.isLogin = false;\r\n $rootScope.isLoading = true;\r\n\r\n // Properties\r\n vm.errorList = [];\r\n // Methods\r\n vm.getRoleMenuMapping = getRoleMenuMapping;\r\n vm.selectMenu = selectMenu;\r\n vm.saveRoleMenuMapping = saveRoleMenuMapping; \r\n vm.select = select; \r\n\r\n init();\r\n ////////////////\r\n\r\n vm.collapseAll = function () {\r\n $scope.$broadcast('angular-ui-tree:collapse-all');\r\n };\r\n\r\n vm.expandAll = function () {\r\n $scope.$broadcast('angular-ui-tree:expand-all');\r\n };\r\n //////\r\n\r\n function select()\r\n { \r\n \r\n };\r\n //////\r\n \r\n function init() {\r\n RoleService.getAllRole().then(function (res) {\r\n if (res.status === 200) {\r\n vm.RoleList = res.data;\r\n $rootScope.isLoading = false;\r\n } else {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Role\");\r\n }\r\n }, function (err) {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Try Again', \"Role\");\r\n });\r\n }\r\n\r\n function getRoleMenuMapping() {\r\n vm.isLoading = true;\r\n vm.selectedMenu = {};\r\n RoleService.getRoleMenuMapping(vm.selectedRole.RoleId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.menuList = res.data;\r\n // logic\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Role\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Try Again', \"Role\");\r\n })\r\n }\r\n\r\n function selectMenu(menu) {\r\n vm.selectedMenu = menu;\r\n }\r\n\r\n function saveRoleMenuMapping() {\r\n RoleService.saveRoleMenuMapping(vm.selectedRole.RoleId, vm.menuList).then(function (res) {\r\n if (res.status === 200 && res.data) {\r\n $rootScope.showToaster('success', 'Mapping Successfully Saved', \"Role\");\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Role\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Try Again', \"Role\");\r\n })\r\n }\r\n }\r\n})();\n(function() {\r\n\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.area')\r\n .service('AreaService', AreaService);\r\n\r\n AreaService.$inject = ['$http', '$rootScope'];\r\n\r\n function AreaService($http, $rootScope) {\r\n this.AddArea = AddArea;\r\n this.EditArea = EditArea;\r\n this.removeArea = removeArea;\r\n this.getAllArea = getAllArea;\r\n this.GetAreaByCityId = GetAreaByCityId;\r\n this.getAllAreaById = getAllAreaById;\r\n this.changeActiveArea = changeActiveArea;\r\n\r\n /////////////\r\n\r\n var config = {\r\n headers: {\r\n \"Token\": $rootScope.token\r\n }\r\n }\r\n\r\n function getAllArea(objGetEmpDTO) {\r\n return $http.get($rootScope.endPoint + 'Area/AllArea', config);\r\n }\r\n\r\n function GetAreaByCityId(id) {\r\n return $http.get($rootScope.endPoint + 'Area/GetAreaByCityId/' + id, config);\r\n }\r\n\r\n function getAllAreaById(objGetEmpDTO) {\r\n return $http.get($rootScope.endPoint + 'Area/GetById', config);\r\n }\r\n\r\n function AddArea(area) {\r\n return $http.post($rootScope.endPoint + 'Area/Create', area, config);\r\n }\r\n\r\n function EditArea(area) {\r\n return $http.put($rootScope.endPoint + 'Area/Modify', area, config);\r\n }\r\n \r\n function removeArea(id) {\r\n return $http.delete($rootScope.endPoint + 'Area/Delete/' + id, config);\r\n }\r\n function changeActiveArea(id) {\r\n return $http.post($rootScope.endPoint + 'Area/ChangeActive/' + id, {}, config);\r\n }\r\n }\r\n\r\n})();\n(function() {\r\n\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.city')\r\n .service('CityService', CityService);\r\n\r\n CityService.$inject = ['$http', '$rootScope'];\r\n\r\n function CityService($http, $rootScope) {\r\n this.AddCity = AddCity;\r\n this.EditCity = EditCity;\r\n this.removeCity = removeCity;\r\n this.getAllCity = getAllCity;\r\n this.getCityById = getCityById;\r\n this.GetCityByStateId = GetCityByStateId;\r\n this.changeActiveCity = changeActiveCity;\r\n\r\n /////////////\r\n var config = {\r\n headers: {\r\n \"Token\": $rootScope.token\r\n }\r\n }\r\n\r\n function getAllCity(objGetEmpDTO) {\r\n return $http.get($rootScope.endPoint + 'City/AllCity', config);\r\n }\r\n\r\n function getCityById(objGetEmpDTO) {\r\n return $http.get($rootScope.endPoint + 'City/GetCityId/', config);\r\n }\r\n\r\n function AddCity(city) {\r\n return $http.post($rootScope.endPoint + 'City/Create', city, config);\r\n }\r\n\r\n function EditCity(city) {\r\n return $http.put($rootScope.endPoint + 'City/Modify', city, config);\r\n }\r\n\r\n function removeCity(id) {\r\n return $http.delete($rootScope.endPoint + 'City/Delete/' + id, config);\r\n }\r\n\r\n function GetCityByStateId(id) {\r\n return $http.get($rootScope.endPoint + 'City/GetCityByStateId/' + id, config);\r\n }\r\n function changeActiveCity(id) {\r\n return $http.post($rootScope.endPoint + 'City/ChangeActive/' + id, {}, config);\r\n }\r\n }\r\n\r\n})();\n(function() {\r\n\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.country')\r\n .service('CountryService', CountryService);\r\n\r\n CountryService.$inject = ['$http', '$rootScope'];\r\n\r\n function CountryService($http, $rootScope) {\r\n this.AddCountry = AddCountry;\r\n this.EditCountry = EditCountry;\r\n this.removeCountry = removeCountry;\r\n this.getAllCountry = getAllCountry;\r\n this.getCountryById = getCountryById;\r\n this.getActiveCountry = getActiveCountry;\r\n this.changeActiveCountry = changeActiveCountry;\r\n this.GetAllCountry_ByProc = GetAllCountry_ByProc;\r\n this.SaveDeleteCountryMaster = SaveDeleteCountryMaster;\r\n\r\n /////////////\r\n var config = {\r\n headers: {\r\n \"Token\": $rootScope.token\r\n }\r\n }\r\n\r\n function getAllCountry(objCountry) {\r\n return $http.get($rootScope.endPoint + 'Country/AllCountry', config);\r\n }\r\n\r\n function getActiveCountry(objCountry) {\r\n return $http.get($rootScope.endPoint + 'Country/GetActiveCountryById', config);\r\n }\r\n\r\n function AddCountry(Country) {\r\n return $http.post($rootScope.endPoint + 'Country/Create', Country, config);\r\n }\r\n\r\n function EditCountry(Country) {\r\n return $http.put($rootScope.endPoint + 'Country/Modify', Country, config);\r\n }\r\n\r\n function removeCountry(id) {\r\n return $http.delete($rootScope.endPoint + 'Country/Delete/' + id, config);\r\n }\r\n\r\n function getCountryById(objCountry) {\r\n return $http.delete($rootScope.endPoint + 'Country/GetById/', config);\r\n }\r\n\r\n function changeActiveCountry(objCountry) {\r\n return $http.post($rootScope.endPoint + 'Country/ChangeActive', objCountry, config);\r\n }\r\n\r\n function changeActiveCountry(objCountry) {\r\n return $http.post($rootScope.endPoint + 'Country/ChangeActive', objCountry, config);\r\n }\r\n\r\n function GetAllCountry_ByProc() {\r\n return $http.post($rootScope.endPoint + 'Country/GetAllCountry_ByProc', config);\r\n }\r\n\r\n function SaveDeleteCountryMaster(objCountry) {\r\n return $http.post($rootScope.endPoint + 'Country/SaveDeleteCountryMaster', objCountry, config);\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n})();\n(function() {\r\n\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.state')\r\n .service('StateService', StateService);\r\n\r\n StateService.$inject = ['$http', '$rootScope'];\r\n\r\n function StateService($http, $rootScope) {\r\n this.AddState = AddState;\r\n this.EditState = EditState;\r\n this.removeState = removeState;\r\n this.getAllState = getAllState;\r\n this.getAllCountry = getAllCountry;\r\n this.getStateById = getStateById;\r\n this.GetStateByCountryId = GetStateByCountryId;\r\n this.changeActiveState = changeActiveState;\r\n\r\n /////////////\r\n var config = {\r\n headers: {\r\n \"Token\": $rootScope.token\r\n }\r\n }\r\n\r\n function getAllState(objGetEmpDTO) {\r\n return $http.get($rootScope.endPoint + 'State/AllState', config);\r\n }\r\n\r\n function getAllCountry(objGetEmpDTO) {\r\n return $http.get($rootScope.endPoint + 'Country/AllCountry', config);\r\n }\r\n\r\n function getStateById(objGetEmpDTO) {\r\n return $http.get($rootScope.endPoint + 'State/GetStateId/', config);\r\n }\r\n\r\n function AddState(state) {\r\n return $http.post($rootScope.endPoint + 'State/Create', state, config);\r\n }\r\n\r\n function EditState(state) {\r\n return $http.put($rootScope.endPoint + 'State/Modify', state, config);\r\n }\r\n\r\n function removeState(id) {\r\n return $http.delete($rootScope.endPoint + 'State/Delete/' + id, config);\r\n }\r\n\r\n function GetStateByCountryId(id) {\r\n return $http.get($rootScope.endPoint + 'State/GetStateByCountryId/' + id, config);\r\n }\r\n function changeActiveState(id) {\r\n return $http.post($rootScope.endPoint + 'State/ChangeActive/' + id, {}, config);\r\n }\r\n }\r\n\r\n})();\n(function () {\r\n\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.mapping')\r\n .service('MappingService', MappingService);\r\n\r\n MappingService.$inject = ['$http', '$rootScope'];\r\n\r\n function MappingService($http, $rootScope) {\r\n this.SaveStaff = SaveStaff;\r\n this.GetAllStaffMap = GetAllStaffMap;\r\n this.GetStaffMapByDetails = GetStaffMapByDetails;\r\n this.UpdateStaffMap = UpdateStaffMap;\r\n this.SaveClassRoomMap = SaveClassRoomMap;\r\n this.GetAllClassMap = GetAllClassMap;\r\n this.SaveTimeTableMap = SaveTimeTableMap;\r\n this.GetAllTimeTableMap = GetAllTimeTableMap;\r\n\r\n\r\n /////////////\r\n var config = {\r\n headers: {\r\n \"Token\": $rootScope.token\r\n }\r\n }\r\n\r\n\r\n function SaveStaff(obj) {\r\n return $http.post($rootScope.endPoint + 'MapStaff/SaveDeleteMapStaff', obj, {}, config);\r\n }\r\n\r\n function SaveClassRoomMap(obj) {\r\n return $http.post($rootScope.endPoint + 'MapClass/SaveDeleteMapStaff', obj, {}, config);\r\n }\r\n\r\n function SaveTimeTableMap(obj) {\r\n return $http.post($rootScope.endPoint + 'MapTimeTable/SaveDeleteMapTimeTable', obj, {}, config);\r\n }\r\n\r\n function UpdateStaffMap(obj) {\r\n return $http.post($rootScope.endPoint + 'MapStaff/UpdateMapStaff', obj, {}, config);\r\n }\r\n\r\n function GetStaffMapByDetails(obj) {\r\n return $http.post($rootScope.endPoint + 'MapStaff/SaveDeleteMapStaff', obj, {}, config);\r\n }\r\n\r\n function GetAllStaffMap() {\r\n return $http.get($rootScope.endPoint + 'MapStaff/GetAllMapStaff', config);\r\n }\r\n\r\n function GetAllClassMap() {\r\n return $http.get($rootScope.endPoint + 'MapClass/GetAllMapClass', config);\r\n }\r\n\r\n function GetAllTimeTableMap() {\r\n return $http.get($rootScope.endPoint + 'MapTimeTable/GetAllMapTimeTable', config);\r\n }\r\n\r\n }\r\n})();\n(function () {\r\n\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.master')\r\n .service('ChapterService', ChapterService);\r\n\r\n ChapterService.$inject = ['$http', '$rootScope'];\r\n\r\n function ChapterService($http, $rootScope) {\r\n this.GetAllChapters = GetAllChapters;\r\n this.SaveChapter = SaveChapter;\r\n this.GetAllChapterBySubject = GetAllChapterBySubject;\r\n this.GetAllStudentChapters = GetAllStudentChapters;\r\n this.GetAllTerms = GetAllTerms;\r\n this.SaveTermActivity = SaveTermActivity;\r\n this.GetSelectedTerm = GetSelectedTerm;\r\n /////////////\r\n var config = {\r\n headers: {\r\n \"Token\": $rootScope.token\r\n }\r\n }\r\n\r\n function GetAllChapters() {\r\n return $http.get($rootScope.endPoint + 'Chapter/GetAllChapter', config);\r\n }\r\n\r\n function GetAllStudentChapters(Id) {\r\n return $http.get($rootScope.endPoint + 'Chapter/GetAllStudentChapter/' + Id, config);\r\n }\r\n\r\n\r\n function SaveChapter(obj) {\r\n return $http.post($rootScope.endPoint + 'Chapter/SaveDeleteChaptertMaster', obj, {}, config);\r\n }\r\n\r\n function GetAllChapterBySubject(obj) {\r\n return $http.post($rootScope.endPoint + 'Chapter/GetAllChapterBySubject', obj, config);\r\n }\r\n\r\n function GetAllTerms() {\r\n return $http.get($rootScope.endPoint + 'Chapter/GetAllTerms', config);\r\n }\r\n\r\n function SaveTermActivity(obj){\r\n return $http.post($rootScope.endPoint + 'Chapter/saveTermActivity', obj, config)\r\n }\r\n\r\n function GetSelectedTerm() {\r\n return $http.get($rootScope.endPoint + 'Chapter/GetSelectedTerm', config);\r\n }\r\n \r\n\r\n\r\n }\r\n})();\n(function () {\r\n\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.master')\r\n .service('ClassRoomService', ClassRoomService);\r\n\r\n ClassRoomService.$inject = ['$http', '$rootScope'];\r\n\r\n function ClassRoomService($http, $rootScope) {\r\n this.GetAllClassRoom = GetAllClassRoom;\r\n this.SaveClassRoom = SaveClassRoom;\r\n this.GetClasstimings = GetClasstimings;\r\n this.GetLocation = GetLocation;\r\n this.GetStafflist = GetStafflist;\r\n this.CreateTimeTable = CreateTimeTable;\r\n this.GetTimeTable = GetTimeTable;\r\n this.DeleteTimetable = DeleteTimetable;\r\n\r\n /////////////\r\n var config = {\r\n headers: {\r\n \"Token\": $rootScope.token\r\n }\r\n }\r\n\r\n function GetAllClassRoom() {\r\n return $http.get($rootScope.endPoint + 'Class/GetAllClass_ByProc', config);\r\n }\r\n\r\n function SaveClassRoom(obj) {\r\n return $http.post($rootScope.endPoint + 'Class/SaveDeleteClassMaster', obj, {}, config);\r\n }\r\n\r\n function GetClasstimings(id) {\r\n return $http.get($rootScope.endPoint + 'timetable/classtimings/' + id , config);\r\n }\r\n\r\n function GetLocation(id) {\r\n return $http.get($rootScope.endPoint + 'timetable/location/' + id , config);\r\n }\r\n\r\n function GetStafflist(obj) {\r\n return $http.post($rootScope.endPoint + 'timetable/stafflist', obj, {}, config);\r\n }\r\n\r\n\r\n function CreateTimeTable(obj) {\r\n debugger\r\n return $http.post($rootScope.endPoint + 'timetable/create', obj, {}, config);\r\n }\r\n\r\n\r\n // function GetTimeTable(obj) {\r\n // return $http.get($rootScope.endPoint + 'timetable/details/' + obj.ClassId + '/'+ obj.SectionId + '/'+ obj.TimeTableDate , config);\r\n // }\r\n\r\n function GetTimeTable(obj) {\r\n debugger\r\n return $http.post($rootScope.endPoint + 'timetable/details', obj, {}, config);\r\n }\r\n\r\n\r\n function DeleteTimetable(id) {\r\n return $http.get($rootScope.endPoint + 'timetable/delete/' + id , config);\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n\r\n\r\n})();\n(function () {\r\n\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.master')\r\n .service('SectionService', SectionService);\r\n\r\n SectionService.$inject = ['$http', '$rootScope'];\r\n\r\n function SectionService($http, $rootScope) {\r\n this.GetAllSection = GetAllSection;\r\n this.SaveSection = SaveSection;\r\n this.GetAllSectionByClass = GetAllSectionByClass;\r\n\r\n /////////////\r\n var config = {\r\n headers: {\r\n \"Token\": $rootScope.token\r\n }\r\n }\r\n\r\n function GetAllSection() {\r\n return $http.get($rootScope.endPoint + 'Section/GetAllSection', config);\r\n }\r\n\r\n function GetAllSectionByClass(Id) {\r\n return $http.get($rootScope.endPoint + 'Section/GetAllSection_ByClassId/' + Id, config);\r\n }\r\n\r\n function SaveSection(obj) {\r\n return $http.post($rootScope.endPoint + 'Section/SaveDeleteSectionMaster', obj, {}, config);\r\n }\r\n\r\n }\r\n})();\n(function () {\r\n\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.master')\r\n .service('SubjectService', SubjectService);\r\n\r\n SubjectService.$inject = ['$http', '$rootScope'];\r\n\r\n function SubjectService($http, $rootScope) {\r\n this.GetAllSubject = GetAllSubject;\r\n this.SaveSubject = SaveSubject;\r\n this.getAllSubjectBySection = getAllSubjectBySection;\r\n this.getallStudentSubject = getallStudentSubject; \r\n this.UpdateProfilePic = UpdateProfilePic;\r\n this.SaveTermImg = SaveTermImg;\r\n this.GetAllTermImg = GetAllTermImg;\r\n /////////////\r\n var config = {\r\n headers: {\r\n \"Token\": $rootScope.token\r\n }\r\n }\r\n \r\n \r\n\r\n function GetAllSubject() {\r\n return $http.get($rootScope.endPoint + 'Subject/GetAllSubject', config);\r\n }\r\n function getallStudentSubject() {\r\n return $http.get($rootScope.endPoint + 'Subject/GetAllStudentSubject/'+ SectionId+ '/'+ ClassId , config);\r\n }\r\n\r\n function SaveSubject(obj) {\r\n debugger;\r\n var config = {\r\n headers: {\r\n \"Token\": $rootScope.token\r\n }\r\n }\r\n // config.headers[\"Content-Type\"] = undefined;\r\n return $http.post($rootScope.endPoint + 'Subject/SaveDeleteSubjectMaster2', obj, config);\r\n }\r\n\r\n function getAllSubjectBySection(obj) { \r\n return $http.post($rootScope.endPoint + 'Subject/GetAllSubject_BySectionId', obj, {}, config);\r\n }\r\n\r\n \r\n function UpdateProfilePic(data) {\r\n var config = {\r\n headers: {\r\n \"Token\": $rootScope.token\r\n }\r\n }\r\n config.headers[\"Content-Type\"] = undefined;\r\n return $http.post($rootScope.endPoint + 'Subject/uploadProfilePic', data, config);\r\n }\r\n\r\n function SaveTermImg(obj) {\r\n debugger;\r\n var config = {\r\n headers: {\r\n \"Token\": $rootScope.token\r\n }\r\n }\r\n config.headers[\"Content-Type\"] = undefined;\r\n return $http.post($rootScope.endPoint + 'Subject/SaveTermImg', obj, config);\r\n }\r\n\r\n function GetAllTermImg() {\r\n return $http.get($rootScope.endPoint + 'Subject/GetAllTermImg', config);\r\n }\r\n\r\n }\r\n})();\n(function () {\r\n\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.master')\r\n .service('UnitService', UnitService);\r\n\r\n UnitService.$inject = ['$http', '$rootScope'];\r\n\r\n function UnitService($http, $rootScope) {\r\n this.SaveDoc = SaveDoc;\r\n this.RemoveDoc = RemoveDoc;\r\n this.GetAllUnits = GetAllUnits;\r\n this.GetAllLinkUnits = GetAllLinkUnits;\r\n this.SaveUnit = SaveUnit;\r\n this.GetFileList = GetFileList;\r\n this.SaveVideoLinks = SaveVideoLinks;\r\n this.SaveUnitModalFile = SaveUnitModalFile;\r\n this.SaveMultipleFileuploads = SaveMultipleFileuploads;\r\n this.SaveUnitLink = SaveUnitLink;\r\n this.GetAllUnitByChapter =GetAllUnitByChapter;\r\n this.RemoveUnitLink = RemoveUnitLink;\r\n this.SaveVideoLinksUnit = SaveVideoLinksUnit;\r\n this.GetAllVideoLinksUnit = GetAllVideoLinksUnit;\r\n this.RemovevideoLinks = RemovevideoLinks;\r\n this.GetLinkVideoInEdit = GetLinkVideoInEdit;\r\n this.UpdateUnitLink = UpdateUnitLink;\r\n this.SaveUploadedDocs = SaveUploadedDocs;\r\n this.GetAllLinksByUnitId = GetAllLinksByUnitId;\r\n this.DeleteVideoLink = DeleteVideoLink;\r\n this.GetTitleName = GetTitleName;\r\n this.LinksUpdate = LinksUpdate;\r\n this.RemoveTextLink = RemoveTextLink;\r\n \r\n /////////////\r\n var config = {\r\n headers: {\r\n \"Token\": $rootScope.token\r\n }\r\n }\r\n\r\n function SaveDoc(data) {\r\n var config = {\r\n headers: {\r\n \"Token\": $rootScope.token\r\n }\r\n }\r\n config.headers[\"Content-Type\"] = undefined;\r\n return $http.post($rootScope.endPoint + 'Unit/PostContentAttachment', data, config);\r\n }\r\n\r\n function SaveUploadedDocs(data) {\r\n var config = {\r\n headers: {\r\n \"Token\": $rootScope.token\r\n }\r\n }\r\n config.headers[\"Content-Type\"] = undefined;\r\n return $http.post($rootScope.endPoint + 'Unit/LinksFileAttachment', data, config);\r\n }\r\n function SaveVideoLinksUnit(obj){\r\n debugger\r\n return $http.post($rootScope.endPoint + 'Unit/SaveVideoLinksUnit', obj, config);\r\n }\r\n function SaveVideoLinks(obj){\r\n return $http.post($rootScope.endPoint + 'Unit/SaveVideoLinks', obj, config);\r\n }\r\n\r\n\r\n function RemoveDoc(FileUrl) {\r\n return $http.post($rootScope.endPoint + 'Unit/removeDocument' , FileUrl, {}, config);\r\n }\r\n\r\n function RemovevideoLinks(id) {\r\n return $http.delete($rootScope.endPoint + 'Unit/DeleteLinksVideo/' + id, config);\r\n }\r\n\r\n\r\n\r\n function SaveUnit(obj) {\r\n debugger\r\n return $http.post($rootScope.endPoint + 'Unit/SaveDeleteUnitMaster', obj, {}, config);\r\n }\r\n\r\n function SaveUnitLink(obj) {\r\n return $http.post($rootScope.endPoint + 'Unit/SaveLinkMaster', obj, {}, config);\r\n }\r\n\r\n function UpdateUnitLink(obj) {\r\n return $http.post($rootScope.endPoint + 'Unit/UpdateLinkMaster', obj, {}, config);\r\n }\r\n\r\n function GetAllUnits(EmployeeId) {\r\n return $http.get($rootScope.endPoint + 'Unit/GetAllUnits/'+ EmployeeId, config);\r\n }\r\n\r\n function GetAllLinkUnits(EmployeeId) {\r\n return $http.get($rootScope.endPoint + 'Unit/GetAllLinksUnits/'+ EmployeeId, config);\r\n }\r\n\r\n function GetAllVideoLinksUnit(){\r\n return $http.get($rootScope.endPoint + 'Unit/GetAllVideoLinksUnit', config);\r\n }\r\n \r\n function GetLinkVideoInEdit(UnitId) {\r\n return $http.get($rootScope.endPoint + 'Unit/GetAllEditLinkVideo/'+ UnitId, config);\r\n }\r\n\r\n\r\n \r\n function GetFileList(UnitId) {\r\n return $http.get($rootScope.endPoint + 'Unit/GetFileList/'+ UnitId, config);\r\n }\r\n function SaveUnitModalFile(data) {\r\n var config = {\r\n headers: {\r\n \"Token\": $rootScope.token\r\n }\r\n }\r\n config.headers[\"Content-Type\"] = undefined;\r\n return $http.post($rootScope.endPoint + 'Unit/create', data, config);\r\n }\r\n\r\n function SaveMultipleFileuploads(data) {\r\n var config = {\r\n headers: {\r\n \"Token\": $rootScope.token\r\n }\r\n }\r\n config.headers[\"Content-Type\"] = undefined;\r\n return $http.post($rootScope.endPoint + 'Unit/multifileupload', data, config);\r\n }\r\n function GetAllUnitByChapter(obj) {\r\n return $http.post($rootScope.endPoint + 'Unit/GetUnitByChapter', obj, config);\r\n }\r\n\r\n function RemoveUnitLink(id) {\r\n return $http.delete($rootScope.endPoint + 'Unit/DeleteLinkUnit/' + id, config);\r\n }\r\n\r\n function GetAllLinksByUnitId(id){\r\n return $http.get($rootScope.endPoint + 'Unit/GetAllVideoLinksByUnitId/'+id, config);\r\n }\r\n\r\n function DeleteVideoLink(id){\r\n return $http.get($rootScope.endPoint+'Unit/deletevideolink/'+id, config);\r\n }\r\n\r\n function GetTitleName(id){\r\n return $http.get($rootScope.endPoint+'Unit/getreferancename/'+id , config);\r\n }\r\n\r\n function LinksUpdate(obj) {\r\n return $http.post($rootScope.endPoint + 'Unit/linksupdate', obj, config);\r\n }\r\n\r\n function RemoveTextLink(obj) {\r\n return $http.post($rootScope.endPoint + 'Unit/removetextlink', obj, config);\r\n }\r\n\r\n }\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.student')\r\n .controller('StudentRegistrationCtrl', StudentRegistrationCtrl);\r\n\r\n /** @ngInject */\r\n function StudentRegistrationCtrl($filter, $http, $scope, $rootScope, lodash, dialogs, StudentService, CountryService, StateService, CityService, AreaService, ClassRoomService, SectionService, UnitService,AuthenticationService) {\r\n var vm = this;\r\n $rootScope.isLoading = true;\r\n // Pagination code\r\n vm.rowCountOptions = [{ \"value\": 5 }, { \"value\": 10 }, { \"value\": 25 }, { \"value\": 50 }, { \"value\": 100 }]\r\n vm.noOfRows = vm.rowCountOptions[1];\r\n\r\n vm.currentPage = 1;\r\n vm.rembemberCurrentPage = function (num) {\r\n vm.currentPage = num;\r\n }\r\n // End of Pagination code\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.isEditing1 = false;\r\n vm.bankDetails = false;\r\n\r\n $scope.photoChanged = photoChanged;\r\n vm.isEditingProPic = false;\r\n vm.editProPic = editProPic;\r\n\r\n vm.SaveStudent = SaveStudent;\r\n vm.Create = Create;\r\n vm.GotoStudentAccountDetails = GotoStudentAccountDetails;\r\n vm.cancel = cancel;\r\n vm.student = {};\r\n vm.getSectionByClass = getSectionByClass;\r\n vm.getStateListByCountryId = getStateListByCountryId;\r\n vm.getCityByStateId = getCityByStateId;\r\n vm.getAreaByCityId = getAreaByCityId;\r\n vm.removeStudent = removeStudent;\r\n vm.editStudent = editStudent;\r\n var logggedUser = AuthenticationService.getLoggedUserDetails();\r\n\r\n function Create() {\r\n vm.isEditing = false;\r\n vm.isFormOpen = true;\r\n vm.isTableOpen = false;\r\n }\r\n function cancel() {\r\n vm.isFormOpen = false;\r\n vm.isEditing = false;\r\n vm.student = {};\r\n }\r\n function GotoStudentAccountDetails() {\r\n vm.bankDetails = true;\r\n\r\n }\r\n\r\n function editProPic() {\r\n vm.isEditingProPic = true;\r\n }\r\n $scope.imageIsLoaded = function (e) {\r\n $scope.$apply(function () {\r\n vm.profilePicUrl = e.target.result;\r\n });\r\n }\r\n\r\n vm.ProficiencyList = [{\r\n ProficiencyName: \"International\",\r\n ProficiencyId: 1,\r\n }, { ProficiencyName: \"National\", ProficiencyId: 2, }, { ProficiencyName: \"State\", ProficiencyId: 3, }, { ProficiencyName: \"District\", ProficiencyId: 4, }, { ProficiencyName: \"Zone\", ProficiencyId: 5, }\r\n\r\n ];\r\n\r\n function photoChanged(event) {\r\n var reader = new FileReader();\r\n if (!vm.isEditingProPic) {\r\n vm.empProfilePic = event.target.files[0];\r\n reader.onload = $scope.imageIsLoaded;\r\n reader.readAsDataURL(vm.empProfilePic);\r\n } else {\r\n vm.empProfilePic = event.target.files[0];\r\n reader.onload = $scope.imageIsLoaded;\r\n reader.readAsDataURL(vm.empProfilePic);\r\n var formData = new FormData();\r\n formData.append('profilePic', vm.empProfilePic);\r\n formData.append('studentId', vm.student.StudentId);\r\n StudentService.updateProfilePic(formData).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', 'Profile picture changed succussfully', \"Success\");\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', 'Internal server Error!', \"Error\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Internal server Error!', \"Error\");\r\n });\r\n }\r\n }\r\n\r\n Init()\r\n function Init() {\r\n var companyId = AuthenticationService.getLoggedUserDetails().SelectedCompany.CompanyId;\r\n StudentService.getAllStudent().then(function (res) {\r\n if (res.status === 200) {\r\n vm.StudentList = res.data;\r\n $rootScope.isLoading = false;\r\n LoadClass();\r\n }\r\n });\r\n }\r\n\r\n function LoadClass() {\r\n ClassRoomService.GetAllClassRoom().then(function (res) {\r\n if (res.status === 200) {\r\n vm.ClassRoomList = res.data;\r\n var objCountry;\r\n CountryService.getActiveCountry(objCountry).then(function (res) {\r\n if (res.status === 200) {\r\n vm.CountryList = res.data;\r\n }\r\n });\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Units\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Unit\");\r\n });\r\n\r\n }\r\n function getSectionByClass(ClassId, callBack) {\r\n if (ClassId) {\r\n SectionService.GetAllSectionByClass(ClassId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.SectionList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Country\");\r\n }\r\n if (callBack)\r\n callBack();\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Country\");\r\n });\r\n }\r\n else {\r\n }\r\n }\r\n\r\n function getStateListByCountryId(CountryId, callback) {\r\n if (CountryId) {\r\n StateService.GetStateByCountryId(CountryId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.StateList = res.data;\r\n if (vm.StateList.length < 1) {\r\n dialogs.notify('Warning', 'No state available for ' + vm.city.selectedCountry.CountryName, { animation: true, size: 'sm' });\r\n }\r\n if (callback)\r\n callback();\r\n }\r\n });\r\n } else {\r\n }\r\n }\r\n\r\n function getCityByStateId(StateId, callBack) {\r\n CityService.GetCityByStateId(StateId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.CityList = res.data;\r\n if (vm.CityList.length < 1) {\r\n dialogs.notify('Warning', 'No city available for ' + vm.project.selectedState.StateName, {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n } else {\r\n if (callBack) {\r\n callBack();\r\n }\r\n }\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Project Type Master\");\r\n });\r\n }\r\n\r\n function getAreaByCityId(CityId, callBack) {\r\n AreaService.GetAreaByCityId(CityId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.AreaList = res.data;\r\n if (vm.AreaList.length < 1) {\r\n dialogs.notify('Warning', 'No area available for ' + vm.project.selectedCity.CityName, {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n } else {\r\n if (callBack) {\r\n callBack();\r\n }\r\n }\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Project Type Master\");\r\n });\r\n }\r\n\r\n function editStudent(row) {\r\n debugger\r\n vm.isEditing = true;\r\n vm.isEditing1 = false;\r\n vm.isFormOpen = true;\r\n vm.isTableOpen = false;\r\n vm.bankDetails = true;\r\n\r\n for (var i in vm.ClassRoomList) {\r\n if (vm.ClassRoomList[i].ClassId === row.ClassId) {\r\n vm.student.selectedClassRoom = vm.ClassRoomList[i]\r\n }\r\n }\r\n for (var i in vm.ProficiencyList) {\r\n if (vm.ProficiencyList[i].ProficiencyId === row.ProficiencyId) {\r\n vm.student.Proficiency = vm.ProficiencyList[i]\r\n }\r\n }\r\n\r\n getSectionByClass(row.ClassId, function () {\r\n for (var i in vm.SectionList) {\r\n if (vm.SectionList[i].SectionId === row.SectionId) {\r\n vm.student.selectedSection = vm.SectionList[i];\r\n }\r\n }\r\n });\r\n\r\n for (var i in vm.CountryList) {\r\n if (vm.CountryList[i].CountryId === row.CountryId) {\r\n vm.student.selectedCountry = vm.CountryList[i]\r\n }\r\n }\r\n\r\n getStateListByCountryId(row.CountryId, function () {\r\n for (var i in vm.StateList) {\r\n if (vm.StateList[i].StateId === row.StateId) {\r\n vm.student.selectedState = vm.StateList[i]\r\n }\r\n }\r\n });\r\n\r\n getCityByStateId(row.StateId, function () {\r\n for (var i in vm.CityList) {\r\n if (vm.CityList[i].CityId === row.CityId) {\r\n vm.student.selectedCity = vm.CityList[i]\r\n }\r\n }\r\n });\r\n\r\n getAreaByCityId(row.CityId, function () {\r\n for (var i in vm.AreaList) {\r\n if (vm.AreaList[i].AreaId === row.AreaId) {\r\n vm.student.selectedArea = vm.AreaList[i]\r\n }\r\n }\r\n });\r\n\r\n // '/StudentProfilePictures/' + \r\n\r\n vm.empProfilePic = vm.profilePicUrl = $rootScope.endPoint + row.StdPhotoUrl;\r\n vm.student.StudentId = row.StudentId\r\n vm.student.StudentName = row.StudentName\r\n vm.student.StudentDOB = new Date(row.StudentDOB)\r\n vm.student.StdGender = row.StdGender\r\n vm.student.StdCaste = row.StdCaste\r\n vm.studentAddress = JSON.parse(row.StdAddressLine)\r\n vm.student.Address1 = vm.studentAddress.Address1\r\n vm.student.Address2 = vm.studentAddress.Address2\r\n vm.student.StdReligion = row.StdReligion\r\n vm.student.StdFatherName = row.StdFatherName\r\n vm.student.StdCommunity = row.StdCommunity\r\n vm.student.StdFatherMobileNo = parseInt(row.StdFatherMobileNo);\r\n vm.student.StdKpostId = row.StdKpostId\r\n vm.student.StdFatherKpostId = row.StdFatherKpostId\r\n vm.student.StdMotherName = row.StdMotherName\r\n vm.student.StdMotherMobileNo = parseInt(row.StdFatherMobileNo);\r\n vm.student.StdMotherKpostId = row.StdMotherKpostId\r\n vm.student.StdGuardianName = row.StdGuardianName\r\n vm.student.StdGuardianMobileNo = parseInt(row.StdGuardianMobileNo);\r\n vm.student.StdGuardianKpostId = row.StdGuardianKpostId\r\n vm.student.AccountNo = row.AccountNo\r\n vm.student.IFSCCode = row.IFSCcode\r\n vm.student.Branch = row.Branch\r\n vm.student.MICRCode = row.MICRCode\r\n vm.student.BankName = row.NameofTheBank\r\n vm.student.BloodGroup = row.BloodGroup\r\n vm.student.Aadhaarcardno = row.AadhaarCardNo\r\n vm.student.Physicallyhandicapted = (row.PhysicallyHandicapped == true) ? 'Y' : 'N'\r\n vm.student.Eligible = (row.EligibletogetFeeWavier == true) ? 'Y' : 'N'\r\n vm.student.Participate = (row.ParticipatinginanySports == true) ? 'Y' : 'N'\r\n \r\n\r\n }\r\n\r\n function SaveStudent(student) {\r\n var loggedUser = AuthenticationService.getLoggedUserDetails();\r\n // debugger;\r\n var Arr = {\r\n Address1: student.Address1,\r\n Address2: student.Address2\r\n };\r\n var obj = {\r\n StudentName: student.StudentName,\r\n StudentDOB: $filter('date')(student.StudentDOB, 'yyyy/MM/dd'),\r\n StdGender: student.StdGender,\r\n StdCaste: student.StdCaste,\r\n StdCommunity: student.StdCommunity,\r\n ClassId: student.selectedClassRoom.ClassId,\r\n SectionId: student.selectedSection.SectionId,\r\n StdAddressLine: JSON.stringify(Arr),\r\n CountryId: student.selectedCountry.CountryId,\r\n StateId: student.selectedState.StateId,\r\n CityId: student.selectedCity.CityId,\r\n AreaId: student.selectedArea.AreaId,\r\n StdPinCode: student.selectedArea.Pincode,\r\n StdReligion: student.StdReligion,\r\n StdFatherName: student.StdFatherName,\r\n StdFatherMobileNo: student.StdFatherMobileNo,\r\n StdKpostId: student.StdKpostId,\r\n StdFatherKpostId: student.StdFatherKpostId,\r\n StdMotherName: student.StdMotherName,\r\n StdMotherMobileNo: student.StdMotherMobileNo,\r\n StdMotherKpostId: student.StdMotherKpostId,\r\n StdGuardianName: student.StdGuardianName,\r\n StdGuardianMobileNo: student.StdGuardianMobileNo,\r\n StdGuardianKpostId: student.StdGuardianKpostId,\r\n CreatedBy: loggedUser.UserId,\r\n //CreatedBy: 1,\r\n AccountNo: student.AccountNo,\r\n IFSCcode: student.IFSCCode,\r\n Branch: student.Branch,\r\n MICRCode: student.MICRCode,\r\n NameofTheBank: student.BankName,\r\n BloodGroup: student.BloodGroup,\r\n AadhaarCardNo: student.Aadhaarcardno,\r\n PhysicallyHandicapped: (student.Physicallyhandicapted == (\"N\" || undefined) ? false : true),\r\n EligibletogetFeeWavier: (student.Eligible == (\"N\" || undefined) ? false : true),\r\n ParticipatinginanySports: (student.Participate == (\"N\" || undefined) ? false : true),\r\n LevelofProficiency: student.Proficiency.ProficiencyId.ProficiencyName,\r\n ProficiencyId: student.Proficiency.ProficiencyId\r\n \r\n }\r\n\r\n if (!vm.isEditing) {\r\n var formData = new FormData()\r\n formData.append('profilePic', vm.empProfilePic)\r\n formData.append('data', JSON.stringify(obj))\r\n\r\n StudentService.SaveStudent(formData).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n if (res.data.Code === 1)\r\n $rootScope.showToaster('success', res.data.Message, \"Student Master\");\r\n if (res.data.Code != 1)\r\n $rootScope.showToaster('warning', res.data.Message, \"Student Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n cancel();\r\n vm.student = {};\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Student Master\");\r\n vm.isFormOpen = true;\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n }\r\n else {\r\n\r\n obj.StudentId = student.StudentId,\r\n obj.ModifiedBy = loggedUser.UserId,\r\n obj.AccountId = student.AccountId\r\n StudentService.UpdateUnit(obj).then(function (res) {\r\n if (res.data.IsSuccess === true) {\r\n if (res.data.Code === 3)\r\n $rootScope.showToaster('success', res.data.Message, \"Student Master\");\r\n if (res.data.Code != 3)\r\n $rootScope.showToaster('warning', res.data.Message, \"Student Master\");\r\n Init();\r\n vm.isFormOpen = false;\r\n cancel();\r\n vm.student = {};\r\n vm.isEditing = false;\r\n } else {\r\n $rootScope.showToaster('error', res.data.Message, \"Student Master\");\r\n vm.isFormOpen = true;\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster(\"Something error...try again\");\r\n });\r\n }\r\n }\r\n\r\n // function removeStudent(row) {\r\n // var confirm = dialogs.confirm('Confirm',\r\n // 'Are sure you want to delete current row.', { animation: true, size: 'sm' });\r\n // row.Process = 'Delete'\r\n // confirm.result.then(function () {\r\n\r\n // }, function () {\r\n\r\n // })\r\n // }\r\n\r\n function removeStudent(row) {\r\n var confirm = dialogs.confirm('Confirm', 'Are sure you want to delete current row.', {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n\r\n confirm.result.then(function () {\r\n StudentService.removeStudent(row.StudentId).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', 'Delete Successfully', \"AStudent Master\");\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', \"Can't Delete Account Master \", {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Can't Delete Account. If its not a parent contact your Admin\", {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n });\r\n }, function () {\r\n\r\n })\r\n }\r\n // Datepicker code \r\n vm.today = function () {\r\n vm.dt = new Date();\r\n };\r\n vm.today();\r\n\r\n vm.clear = function () {\r\n vm.dt = null;\r\n };\r\n\r\n vm.inlineOptions = {\r\n customClass: getDayClass,\r\n minDate: new Date(),\r\n showWeeks: true\r\n };\r\n\r\n vm.dateOptions = {\r\n dateDisabled: disabled,\r\n formatYear: 'yy',\r\n maxDate: new Date(2020, 5, 22),\r\n minDate: new Date(),\r\n startingDay: 1\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 vm.toggleMin = function () {\r\n vm.inlineOptions.minDate = vm.inlineOptions.minDate ? null : new Date();\r\n vm.dateOptions.minDate = vm.inlineOptions.minDate;\r\n };\r\n\r\n vm.toggleMin();\r\n\r\n vm.open1 = function () {\r\n vm.popup1.opened = true;\r\n };\r\n\r\n vm.open2 = function () {\r\n vm.popup2.opened = true;\r\n var today = new Date();\r\n var minAge = 3;\r\n\r\n vm.options = {\r\n maxDate: new Date(today.getFullYear() - minAge, today.getMonth(), today.getDate())\r\n }\r\n\r\n };\r\n\r\n vm.open3 = function () {\r\n vm.popup3.opened = true;\r\n };\r\n\r\n vm.open4 = function () {\r\n vm.popup4.opened = true;\r\n };\r\n\r\n vm.setDate = function (year, month, day) {\r\n vm.dt = new Date(year, month, day);\r\n };\r\n\r\n vm.formats = ['dd-MMMM-yyyy', 'yyyy/MM/dd', 'dd.MM.yyyy', 'shortDate'];\r\n vm.format = vm.formats[0];\r\n vm.altInputFormats = ['M!/d!/yyyy'];\r\n\r\n vm.popup1 = {\r\n opened: false\r\n };\r\n\r\n vm.popup2 = {\r\n opened: false\r\n };\r\n vm.popup3 = {\r\n opened: false\r\n };\r\n\r\n vm.popup4 = {\r\n opened: false\r\n };\r\n\r\n var tomorrow = new Date();\r\n tomorrow.setDate(tomorrow.getDate() + 1);\r\n var afterTomorrow = new Date();\r\n afterTomorrow.setDate(tomorrow.getDate() + 1);\r\n vm.events = [{\r\n date: tomorrow,\r\n status: 'full'\r\n }, {\r\n date: afterTomorrow,\r\n status: 'partially'\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 < vm.events.length; i++) {\r\n var currentDay = new Date(vm.events[i].date).setHours(0, 0, 0, 0);\r\n\r\n if (dayToCheck === currentDay) {\r\n return vm.events[i].status;\r\n }\r\n }\r\n }\r\n return '';\r\n }\r\n }\r\n})(); \n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.user.login')\r\n .controller('LoginCtrl', LoginCtrl);\r\n\r\n /** @ngInject */\r\n function LoginCtrl($rootScope, $state, lodash, dialogs, AuthenticationService, UserService, $window) {\r\n var vm = this;\r\n $rootScope.isLogin = true;\r\n\r\n // Properties\r\n vm.isLoading = false;\r\n vm.errorList = [];\r\n // Methods\r\n vm.login = login;\r\n\r\n activate();\r\n\r\n \r\n ////////////////\r\n\r\n function activate() {}\r\n\r\n\r\n vm.testmethod = function(){\r\n // var url = \"http://localhost:3000/company\"\r\n\r\n \r\n\r\n\r\n // var url = \"http://192.168.2.202:2911/company\"\r\n\r\n // var url = $rootScope.BaseUrl+\"/company\"\r\n var win = $window.open(url, '_blank');\r\n win.focus();\r\n }\r\n\r\n function login() {\r\n vm.isLoading = true;\r\n AuthenticationService.login(vm.Username, vm.Password, function(res) {\r\n vm.errorList = [];\r\n if (res.status === 200) {\r\n vm.isLoading = false;\r\n UserService.getUserById($rootScope.userId).then(function(res) {\r\n AuthenticationService.setLoggedUserDetails(res.data);\r\n \r\n var loggedUser = AuthenticationService.getLoggedUserDetails();\r\n\r\n \r\n if (loggedUser.SelectedCompany) {\r\n vm.selectedCompany = loggedUser.SelectedCompany;\r\n \r\n } else {\r\n $rootScope.openSelectCompanyModal();\r\n \r\n }\r\n\r\n $state.go('dashboard');\r\n \r\n }, function(err) {\r\n AuthenticationService.setLoggedUserDetails(null);\r\n });\r\n // $state.go('dashboard');\r\n \r\n } else if (res.status === 401) {\r\n vm.errorList.push(\"Invalid Credentials!\");\r\n vm.isLoading = false;\r\n } else if (res.status === -1) {\r\n vm.errorList.push(\"Can't connect to server, Try Again!\");\r\n vm.isLoading = false;\r\n }\r\n });\r\n }\r\n }\r\n})();\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.user.Register')\r\n .controller('RegisterCtrl', RegisterCtrl);\r\n\r\n /** @ngInject */\r\n function RegisterCtrl($rootScope, $state,$window, lodash, dialogs, AuthenticationService, UserService) {\r\n var vm = this;\r\n $rootScope.isRegister = true;\r\n\r\n // Properties\r\n vm.isLoading = false;\r\n vm.errorList = [];\r\n // Methods\r\n vm.login = login;\r\n\r\n activate();\r\n\r\n ////////////////\r\n\r\n function activate() {}\r\n \r\n vm.testmethod = function(){\r\n\r\n // var url = \"http://localhost:3000/company?type=reg\"\r\n var url = \"http://192.168.2.202:2911/company?type=reg\"\r\n\r\n // var url = $rootScope.BaseUrl+\"/company?type=reg\"\r\n var win = $window.open(url, '_blank');\r\n $rootScope.IsMenuClicked = false;\r\n win.focus();\r\n }\r\n\r\n \r\n\r\n\r\n\r\n function login() {\r\n vm.isLoading = true;\r\n AuthenticationService.login(vm.Username, vm.Password, function(res) {\r\n vm.errorList = [];\r\n if (res.status === 200) {\r\n vm.isLoading = false;\r\n UserService.getUserById($rootScope.userId).then(function(res) {\r\n AuthenticationService.setLoggedUserDetails(res.data);\r\n var loggedUser = AuthenticationService.getLoggedUserDetails();\r\n if (loggedUser.SelectedCompany) {\r\n // vm.selectedCompany = loggedUser.SelectedCompany;\r\n } else {\r\n $rootScope.openSelectCompanyModal();\r\n }\r\n \r\n }, function(err) {\r\n AuthenticationService.setLoggedUserDetails(null);\r\n });\r\n // $state.go('dashboard');\r\n $state.go('dashboard');\r\n } else if (res.status === 401) {\r\n vm.errorList.push(\"Invalid Credentials!\");\r\n vm.isLoading = false;\r\n } else if (res.status === -1) {\r\n vm.errorList.push(\"Can't connect to server, Try Again!\");\r\n vm.isLoading = false;\r\n }\r\n });\r\n }\r\n }\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.role')\r\n .controller('CreateUserCtrl', CreateUserCtrl);\r\n\r\n /** @ngInject */\r\n function CreateUserCtrl($filter, $scope, $rootScope, $state, $http, lodash, dialogs,\r\n DepartmentServices, DesignationService, UserService, RoleService, AuthenticationService, EmployeeService) {\r\n var vm = this;\r\n // Pagination code\r\n vm.rowCountOptions = [{\r\n \"value\": 5\r\n }, {\r\n \"value\": 10\r\n }, {\r\n \"value\": 25\r\n }, {\r\n \"value\": 50\r\n }, {\r\n \"value\": 100\r\n }]\r\n vm.noOfRows = vm.rowCountOptions[1];\r\n\r\n vm.currentPage = 1;\r\n vm.rembemberCurrentPage = function (num) {\r\n vm.currentPage = num;\r\n }\r\n // End of Pagination code\r\n $rootScope.isLogin = false;\r\n\r\n // Properties\r\n vm.isLoading = false;\r\n\r\n vm.isFormOpen = false;\r\n vm.User = {};\r\n vm.validUserName = false;\r\n vm.validUserEmail = false;\r\n // Methods\r\n vm.departmentSelectionChanged = departmentSelectionChanged;\r\n vm.designationSelectionChanged = designationSelectionChanged;\r\n vm.empSelectionChaged = empSelectionChaged;\r\n vm.resetForm = resetForm;\r\n vm.saveUser = saveUser;\r\n vm.checkUsername = checkUsername;\r\n vm.checkUserEmail = checkUserEmail;\r\n vm.isEditing = false;\r\n vm.selectdep = false;\r\n vm.selectdes = false;\r\n vm.selectemp = false;\r\n vm.form = true;\r\n vm.isPwd = false;\r\n vm.isPwd1 = true;\r\n vm.getApprovedContractor = getApprovedContractor;\r\n Init();\r\n\r\n ////////////////\r\n\r\n function Init() {\r\n vm.isLoading = true;\r\n var companyId = AuthenticationService.getLoggedUserDetails().SelectedCompany.CompanyId;\r\n DepartmentServices.GetDepartmentByCompanyId(companyId).then(\r\n function (res) {\r\n if (res.status === 200) {\r\n vm.DepartmentList = res.data;\r\n RoleService.GetActiveRole().then(function (res) {\r\n if (res.status === 200) {\r\n vm.RoleList = res.data;\r\n UserService.getUsersByCompanyId(companyId).then(function (res) {\r\n vm.UserList = res.data;\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Role\");\r\n });\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Role\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Role\");\r\n });\r\n } else {\r\n $rootScope.showToaster('error', 'Internal Server Error! Try Again', \"Role\");\r\n }\r\n },\r\n function (err) {\r\n $rootScope.showToaster('error', \"Can't connect the server! Try Again\", \"Role\");\r\n }\r\n )\r\n }\r\n\r\n function departmentSelectionChanged() {\r\n DesignationService.GetDesigByDepId(vm.selectedDepartment.DepartmentId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.DesignationList = res.data;\r\n } else {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Create User\");\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Can't connect the server! Try Again\", \"Create User\");\r\n })\r\n }\r\n\r\n function designationSelectionChanged() {\r\n var companyId = AuthenticationService.getLoggedUserDetails().SelectedCompany.CompanyId;\r\n EmployeeService.getAllEmployees(companyId).then(function (res) {\r\n vm.EmpList = res.data;\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Create User\");\r\n });\r\n }\r\n\r\n function getApprovedContractor() {\r\n var loggedUser = AuthenticationService.getLoggedUserDetails();\r\n UserService.getAllApprovedContractor(loggedUser.UserId).then(function (res) {\r\n vm.ContractorList = res.data;\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Create User\");\r\n });\r\n }\r\n function empSelectionChaged() {\r\n\r\n var user = {}\r\n if (vm.selectedEmployee != undefined) {\r\n user.Id = vm.selectedEmployee.EmployeeId,\r\n user.UserType = 'EMP'\r\n }\r\n else {\r\n user.Id = vm.selectedContractor.ContractorId\r\n user.UserType = 'CNT'\r\n }\r\n UserService.CheckUserAccount(user).then(function (res) {\r\n if (res.data == true) {\r\n if(vm.selectedEmployee != undefined){\r\n dialogs.notify('Warning', 'An account has already created for ' + vm.selectedEmployee.FirstName, {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n }\r\n else{\r\n dialogs.notify('Warning', 'An account has already created for ' + vm.selectedContractor.ContractorName, {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n }\r\n \r\n vm.form = true;\r\n vm.isPwd = true;\r\n } else {\r\n if(vm.selectedEmployee != undefined)\r\n {\r\n vm.User.FirstName = vm.selectedEmployee.FirstName;\r\n vm.User.LastName = vm.selectedEmployee.LastName;\r\n }\r\n else{\r\n vm.User.FirstName = vm.selectedContractor.ContractorName; \r\n }\r\n \r\n \r\n vm.form = false;\r\n vm.isPwd = false;\r\n }\r\n vm.isLoading = false;\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Create User\");\r\n vm.isLoading = false;\r\n });\r\n\r\n\r\n }\r\n\r\n function checkUserEmail() {\r\n vm.isLoading = true;\r\n if (vm.User.EmailId.trim() !== \"\") {\r\n UserService.checkUserEmail(vm.User.EmailId).then(function (res) {\r\n if (res.status == 200) {\r\n vm.validUserEmail = !res.data;\r\n } else {\r\n vm.validUserEmail = false;\r\n }\r\n vm.isLoading = false;\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Create User\");\r\n vm.isLoading = false;\r\n });\r\n } else {\r\n vm.User.EmailId = \"\";\r\n vm.isLoading = false;\r\n }\r\n }\r\n\r\n function checkUsername() {\r\n vm.isLoading = true;\r\n if (vm.User.Username.trim() !== \"\") {\r\n UserService.checkUsername(vm.User.Username).then(function (res) {\r\n if (res.status == 200) {\r\n vm.validUserName = !res.data;\r\n } else {\r\n vm.validUserName = false;\r\n }\r\n vm.isLoading = false;\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Create User\");\r\n vm.isLoading = false;\r\n });\r\n } else {\r\n vm.User.Username = \"\";\r\n vm.isLoading = false;\r\n }\r\n }\r\n\r\n vm.Create = function () {\r\n vm.selectdep = false;\r\n vm.selectdes = false;\r\n vm.selectemp = false\r\n vm.isEditing = false;\r\n vm.isFormOpen = true;\r\n vm.form = true;\r\n }\r\n\r\n vm.editUser = function (User) {\r\n vm.isEditing = true;\r\n vm.isFormOpen = true;\r\n vm.User = angular.copy(User);\r\n for (var c in vm.RoleList) {\r\n if (vm.RoleList[c].RoleId == User.Role.RoleId) {\r\n vm.selectedRole = vm.RoleList[c];\r\n }\r\n }\r\n vm.selectdep = true;\r\n vm.selectdes = true;\r\n vm.selectemp = true;\r\n vm.form = false;\r\n vm.isPwd = true;\r\n }\r\n\r\n\r\n function saveUser() {\r\n var logggedUser = AuthenticationService.getLoggedUserDetails();\r\n if (!vm.isEditing) {\r\n if (vm.selectedContractor != undefined) {\r\n var user = {\r\n Username: vm.User.Username,\r\n FirstName: vm.User.FirstName,\r\n LastName: vm.User.LastName,\r\n EmailId: vm.User.EmailId,\r\n Password: vm.User.Password,\r\n RoleId: vm.selectedRole.RoleId,\r\n CompanyId: logggedUser.SelectedCompany.CompanyId,\r\n CreatedBy: logggedUser.UserId,\r\n RefId: vm.selectedContractor.ContractorId\r\n };\r\n vm.isLoading = true;\r\n UserService.createUserContractor(user).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', 'User Added Successfully', \"Create User\");\r\n vm.isLoading = false;\r\n vm.isFormOpen = false;\r\n Init();\r\n resetForm();\r\n } else {\r\n $rootScope.showToaster('error', 'Invalid Data', \"Create User\");\r\n vm.isFormOpen = true;\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Create User\");\r\n vm.isLoading = false;\r\n });\r\n }\r\n else {\r\n var user = {\r\n Username: vm.User.Username,\r\n FirstName: vm.User.FirstName,\r\n LastName: vm.User.LastName,\r\n EmailId: vm.User.EmailId,\r\n Password: vm.User.Password,\r\n RoleId: vm.selectedRole.RoleId,\r\n CompanyId: logggedUser.SelectedCompany.CompanyId,\r\n CreatedBy: logggedUser.UserId,\r\n RefId: vm.selectedEmployee.EmployeeId\r\n };\r\n vm.isLoading = true;\r\n UserService.createUser(user).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', 'User Added Successfully', \"Create User\");\r\n vm.isLoading = false;\r\n vm.isFormOpen = false;\r\n Init();\r\n resetForm();\r\n } else {\r\n $rootScope.showToaster('error', 'Invalid Data', \"Create User\");\r\n vm.isFormOpen = true;\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Create User\");\r\n vm.isLoading = false;\r\n });\r\n }\r\n\r\n } else {\r\n vm.isLoading = true;\r\n var user = {\r\n UserId: vm.User.UserId,\r\n UserName: vm.User.Username,\r\n FirstName: vm.User.FirstName,\r\n LastName: vm.User.LastName,\r\n EmailId: vm.User.EmailId,\r\n RoleId: vm.selectedRole.RoleId,\r\n ModifiedBy: logggedUser.UserId\r\n }\r\n UserService.UpdateUser(user).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', 'User Updated Successfully', \"Update User\");\r\n vm.isLoading = false;\r\n vm.isFormOpen = false;\r\n Init();\r\n resetForm();\r\n } else {\r\n $rootScope.showToaster('error', 'Invalid Data', \"Update User\");\r\n vm.isFormOpen = true;\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"Update User\");\r\n vm.isLoading = false;\r\n });\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n vm.removeUser = function (User) {\r\n var confirm = dialogs.confirm('Confirm',\r\n 'Are sure you want to delete current row.', {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n\r\n confirm.result.then(function () {\r\n UserService.removeUser(User.UserId).then(function (res) {\r\n if (res.status === 200) {\r\n $rootScope.showToaster('success', 'Delete User Successfully', \"User\");\r\n Init();\r\n } else {\r\n $rootScope.showToaster('error', \"Can't Delete User\", {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', \"Can't Delete User.
If its not a parent contact your Admin\", {\r\n animation: true,\r\n size: 'sm'\r\n });\r\n });\r\n }, function () {\r\n\r\n })\r\n }\r\n\r\n\r\n function resetForm() {\r\n vm.isFormOpen = false;\r\n vm.User = {};\r\n vm.selectedDepartment = null;\r\n vm.selectedDesignation = null;\r\n vm.selectedEmployee = null;\r\n vm.selectedRole = null;\r\n vm.form = false;\r\n }\r\n }\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.role')\r\n .controller('UserMenuMappingCtrl', UserMenuMappingCtrl);\r\n\r\n /** @ngInject */\r\n function UserMenuMappingCtrl($scope,$rootScope, $state, $http, lodash, dialogs, UserService) {\r\n var vm = this;\r\n $rootScope.isLogin = false;\r\n $rootScope.isLoading = true;\r\n\r\n // Properties\r\n vm.errorList = [];\r\n // Methods\r\n vm.getUserMenuMapping = getUserMenuMapping;\r\n vm.selectMenu = selectMenu;\r\n vm.saveUserMenuMapping = saveUserMenuMapping;\r\n\r\n init();\r\n ////////////////\r\n\r\n vm.collapseAll = function () {\r\n $scope.$broadcast('angular-ui-tree:collapse-all');\r\n };\r\n\r\n vm.expandAll = function () {\r\n $scope.$broadcast('angular-ui-tree:expand-all');\r\n };\r\n\r\n function init() { \r\n vm.isLoading = true;\r\n UserService.getAllUsers().then(function (res) {\r\n if (res.status === 200) {\r\n vm.UserList = res.data;\r\n $rootScope.isLoading = false;\r\n } else {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Role\");\r\n }\r\n }, function (err) {\r\n $rootScope.isLoading = false;\r\n $rootScope.showToaster('error', 'Try Again', \"Role\");\r\n });\r\n }\r\n\r\n function getUserMenuMapping() {\r\n vm.isLoading = true;\r\n vm.selectedMenu = {};\r\n UserService.getUserMenuMapping(vm.selectedUser.UserId).then(function(res) {\r\n if (res.status === 200) {\r\n vm.menuList = res.data;\r\n // logic\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Role\");\r\n }\r\n }, function(err) {\r\n $rootScope.showToaster('error', 'Try Again', \"Role\");\r\n })\r\n }\r\n\r\n function selectMenu(menu) { \r\n vm.selectedMenu = menu;\r\n }\r\n\r\n function saveUserMenuMapping () {\r\n UserService.saveUserMenuMapping(vm.selectedUser.UserId, vm.menuList).then(function(res) {\r\n if (res.status === 200 && res.data) {\r\n $rootScope.showToaster('success', 'Mapping Successfully Saved', \"Role\");\r\n } else {\r\n $rootScope.showToaster('error', 'Load Failed! Try Again', \"Role\");\r\n }\r\n }, function(err) {\r\n $rootScope.showToaster('error', 'Try Again', \"Role\");\r\n })\r\n }\r\n }\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.user')\r\n .controller('SelectCompanyModalCtrl', SelectCompanyModalCtrl);\r\n\r\n /** @ngInject */\r\n function SelectCompanyModalCtrl($rootScope, lodash, AuthenticationService, UserService, $uibModalInstance, $state) {\r\n var vm = this;\r\n\r\n // methods\r\n vm.closeModal = closeModal;\r\n vm.companySelectionChanged = companySelectionChanged;\r\n vm.ok = ok;\r\n\r\n Init();\r\n\r\n ////////////////\r\n\r\n function Init() {\r\n vm.isLoading = true;\r\n UserService.getUserCompanies($rootScope.userId).then(function (res) {\r\n if (res.status === 200) {\r\n vm.CompanyList = res.data;\r\n var loggedUser = AuthenticationService.getLoggedUserDetails();\r\n\r\n \r\n if (loggedUser.SelectedCompany) {\r\n vm.selectedCompany = loggedUser.SelectedCompany;\r\n }\r\n vm.isLoading = false;\r\n } else {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"KPMES\");\r\n vm.isLoading = false;\r\n }\r\n }, function (err) {\r\n $rootScope.showToaster('error', 'Error! Try Again', \"KPMES\");\r\n vm.isLoading = false;\r\n });\r\n }\r\n\r\n function closeModal() {\r\n $uibModalInstance.dismiss('cancel');\r\n }\r\n\r\n function companySelectionChanged() {\r\n var loggedUser = AuthenticationService.getLoggedUserDetails();\r\n loggedUser.SelectedCompany = vm.selectedCompany;\r\n AuthenticationService.setLoggedUserDetails(loggedUser);\r\n }\r\n\r\n function ok() {\r\n var user = {\r\n UserId: $rootScope.userId,\r\n CompanyId: vm.selectedCompany.CompanyId\r\n };\r\n\r\n UserService.UpdateSelectedCompany(user).then(\r\n function(res) {\r\n if(res.status === 200) {\r\n if(!res.data)\r\n $rootScope.showToaster('error', 'Something wrong, Contact Admin.', \"Role\");\r\n } else {\r\n $rootScope.showToaster('error', 'Internal Server Error! Try Again', \"Role\");\r\n }\r\n }, function(err) {\r\n $rootScope.showToaster('error', \"Can't connect the server! Try Again\", \"Role\");\r\n }\r\n )\r\n $state.reload();\r\n $uibModalInstance.close();\r\n }\r\n }\r\n})();\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('KPMES.pages.user')\r\n .controller('UserPrivilegeCtrl', UserPrivilegeCtrl);\r\n\r\n /** @ngInject */\r\n function UserPrivilegeCtrl($rootScope, $state, lodash, dialogs, AuthenticationService, UserService) {\r\n var vm = this;\r\n $rootScope.isLogin = false;\r\n\r\n // Properties\r\n vm.isLoading = false;\r\n\r\n // Methods\r\n\r\n init();\r\n\r\n ////////////////\r\n\r\n function init() {}\r\n }\r\n})();\n/**\r\n * @author v.lugovksy\r\n * created on 16.12.2015\r\n */\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme.components')\r\n .directive('backTop', backTop);\r\n\r\n /** @ngInject */\r\n function backTop() {\r\n return {\r\n restrict: 'E',\r\n templateUrl: 'app/theme/components/backTop/backTop.html',\r\n controller: function () {\r\n $('#backTop').backTop({\r\n 'position': 200,\r\n 'speed': 100\r\n });\r\n }\r\n };\r\n }\r\n\r\n})();\n/**\r\n * @author v.lugovsky\r\n * created on 23.12.2015\r\n */\r\n(function () {\r\n 'use strict';\r\n\r\n /**\r\n * Includes basic panel layout inside of current element.\r\n */\r\n angular.module('KPMES.theme')\r\n .directive('baPanel', baPanel);\r\n\r\n /** @ngInject */\r\n function baPanel(baPanel, baConfig) {\r\n return angular.extend({}, baPanel, {\r\n template: function(el, attrs) {\r\n var res = '
';\r\n res += baPanel.template(el, attrs);\r\n res += '
';\r\n return res;\r\n }\r\n });\r\n }\r\n})();\r\n\n/**\r\n * @author v.lugovsky\r\n * created on 23.12.2015\r\n */\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme')\r\n .factory('baPanel', baPanel);\r\n\r\n /** @ngInject */\r\n function baPanel() {\r\n\r\n /** Base baPanel directive */\r\n return {\r\n restrict: 'A',\r\n transclude: true,\r\n template: function(elem, attrs) {\r\n var res = '
';\r\n if (attrs.baPanelTitle) {\r\n var titleTpl = '

' + attrs.baPanelTitle + '

';\r\n res = titleTpl + res; // title should be before\r\n }\r\n\r\n return res;\r\n }\r\n };\r\n }\r\n\r\n})();\r\n\n/**\r\n * @author v.lugovsky\r\n * created on 15.01.2016\r\n */\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme')\r\n .directive('baPanelBlur', baPanelBlur);\r\n\r\n /** @ngInject */\r\n function baPanelBlur(baPanelBlurHelper, $window, $rootScope) {\r\n var bodyBgSize;\r\n\r\n baPanelBlurHelper.bodyBgLoad().then(function() {\r\n bodyBgSize = baPanelBlurHelper.getBodyBgImageSizes();\r\n });\r\n\r\n $window.addEventListener('resize', function() {\r\n bodyBgSize = baPanelBlurHelper.getBodyBgImageSizes();\r\n });\r\n\r\n return {\r\n restrict: 'A',\r\n link: function($scope, elem) {\r\n if(!$rootScope.$isMobile) {\r\n baPanelBlurHelper.bodyBgLoad().then(function () {\r\n setTimeout(recalculatePanelStyle);\r\n });\r\n $window.addEventListener('resize', recalculatePanelStyle);\r\n\r\n $scope.$on('$destroy', function () {\r\n $window.removeEventListener('resize', recalculatePanelStyle);\r\n });\r\n }\r\n\r\n function recalculatePanelStyle() {\r\n if (!bodyBgSize) {\r\n return;\r\n }\r\n elem.css({\r\n backgroundSize: Math.round(bodyBgSize.width) + 'px ' + Math.round(bodyBgSize.height) + 'px',\r\n backgroundPosition: Math.floor(bodyBgSize.positionX) + 'px ' + Math.floor(bodyBgSize.positionY) + 'px'\r\n });\r\n }\r\n\r\n }\r\n };\r\n }\r\n\r\n})();\r\n\n/**\r\n * @author v.lugovsky\r\n * created on 15.01.2016\r\n */\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme')\r\n .service('baPanelBlurHelper', baPanelBlurHelper);\r\n\r\n /** @ngInject */\r\n function baPanelBlurHelper($q) {\r\n var res = $q.defer();\r\n var computedStyle = getComputedStyle(document.body, ':before');\r\n var image = new Image();\r\n image.src = computedStyle.backgroundImage.replace(/url\\((['\"])?(.*?)\\1\\)/gi, '$2');\r\n image.onerror = function() {\r\n res.reject();\r\n };\r\n image.onload = function() {\r\n res.resolve();\r\n };\r\n\r\n this.bodyBgLoad = function() {\r\n return res.promise;\r\n };\r\n\r\n this.getBodyBgImageSizes = function() {\r\n var elemW = document.documentElement.clientWidth;\r\n var elemH = document.documentElement.clientHeight;\r\n if(elemW <= 640) return;\r\n var imgRatio = (image.height / image.width); // original img ratio\r\n var containerRatio = (elemH / elemW); // container ratio\r\n\r\n var finalHeight, finalWidth;\r\n if (containerRatio > imgRatio) {\r\n finalHeight = elemH;\r\n finalWidth = (elemH / imgRatio);\r\n } else {\r\n finalWidth = elemW;\r\n finalHeight = (elemW * imgRatio);\r\n }\r\n return { width: finalWidth, height: finalHeight, positionX: (elemW - finalWidth)/2, positionY: (elemH - finalHeight)/2};\r\n };\r\n }\r\n\r\n})();\r\n\n/**\r\n * @author v.lugovsky\r\n * created on 23.12.2015\r\n */\r\n(function () {\r\n 'use strict';\r\n\r\n /**\r\n * Represents current element as panel, adding all necessary classes.\r\n */\r\n angular.module('KPMES.theme')\r\n .directive('baPanelSelf', baPanelSelf);\r\n\r\n /** @ngInject */\r\n function baPanelSelf(baPanel) {\r\n return angular.extend({}, baPanel, {\r\n link: function(scope, el, attrs) {\r\n el.addClass('panel panel-white');\r\n if (attrs.baPanelClass) {\r\n el.addClass(attrs.baPanelClass);\r\n }\r\n }\r\n });\r\n }\r\n\r\n})();\r\n\n/**\r\n * @author v.lugovksy\r\n * created on 16.12.2015\r\n */\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme.components')\r\n .directive('baSidebar', baSidebar);\r\n\r\n /** @ngInject */\r\n function baSidebar($timeout, baSidebarService, baUtil, layoutSizes) {\r\n var jqWindow = $(window);\r\n return {\r\n restrict: 'E',\r\n templateUrl: 'app/theme/components/baSidebar/ba-sidebar.html',\r\n controller: 'BaSidebarCtrl',\r\n link: function(scope, el) {\r\n\r\n scope.menuHeight = el[0].childNodes[0].clientHeight - 84;\r\n jqWindow.on('click', _onWindowClick);\r\n jqWindow.on('resize', _onWindowResize);\r\n\r\n scope.$on('$destroy', function() {\r\n jqWindow.off('click', _onWindowClick);\r\n jqWindow.off('resize', _onWindowResize);\r\n });\r\n\r\n function _onWindowClick($evt) {\r\n if (!baUtil.isDescendant(el[0], $evt.target) &&\r\n !$evt.originalEvent.$sidebarEventProcessed &&\r\n !baSidebarService.isMenuCollapsed() &&\r\n baSidebarService.canSidebarBeHidden()) {\r\n $evt.originalEvent.$sidebarEventProcessed = true;\r\n $timeout(function () {\r\n baSidebarService.setMenuCollapsed(true);\r\n }, 10);\r\n }\r\n }\r\n\r\n // watch window resize to change menu collapsed state if needed\r\n function _onWindowResize() {\r\n var newMenuCollapsed = baSidebarService.shouldMenuBeCollapsed();\r\n var newMenuHeight = _calculateMenuHeight();\r\n if (newMenuCollapsed != baSidebarService.isMenuCollapsed() || scope.menuHeight != newMenuHeight) {\r\n scope.$apply(function () {\r\n scope.menuHeight = newMenuHeight;\r\n baSidebarService.setMenuCollapsed(newMenuCollapsed)\r\n });\r\n }\r\n }\r\n\r\n function _calculateMenuHeight() {\r\n return el[0].childNodes[0].clientHeight - 84;\r\n }\r\n }\r\n };\r\n }\r\n\r\n})();\n(function() {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme.components')\r\n .provider('baSidebarService', baSidebarServiceProvider);\r\n\r\n /** @ngInject */\r\n function baSidebarServiceProvider() {\r\n var staticMenuItems = [];\r\n\r\n this.addStaticItem = function() {\r\n staticMenuItems.push.apply(staticMenuItems, arguments);\r\n };\r\n\r\n /** @ngInject */\r\n this.$get = function($state, layoutSizes) {\r\n return new _factory();\r\n\r\n function _factory() {\r\n var isMenuCollapsed = shouldMenuBeCollapsed();\r\n\r\n this.getMenuItems = function() { \r\n var states = defineMenuItemStates();\r\n var menuItems = states.filter(function(item) {\r\n return item.level == 0;\r\n });\r\n\r\n menuItems.forEach(function(item) {\r\n var children = states.filter(function(child) {\r\n return child.level == 1 && child.name.indexOf(item.name) === 0;\r\n });\r\n item.subMenu = children.length ? children : null;\r\n });\r\n\r\n return menuItems.concat(staticMenuItems);\r\n };\r\n\r\n this.shouldMenuBeCollapsed = shouldMenuBeCollapsed;\r\n this.canSidebarBeHidden = canSidebarBeHidden;\r\n\r\n this.setMenuCollapsed = function(isCollapsed) {\r\n isMenuCollapsed = isCollapsed;\r\n };\r\n\r\n this.isMenuCollapsed = function() {\r\n return isMenuCollapsed;\r\n };\r\n\r\n this.toggleMenuCollapsed = function() {\r\n isMenuCollapsed = !isMenuCollapsed;\r\n };\r\n\r\n this.getAllStateRefsRecursive = function(item) {\r\n var result = [];\r\n _iterateSubItems(item);\r\n return result;\r\n\r\n function _iterateSubItems(currentItem) {\r\n currentItem.subMenu && currentItem.subMenu.forEach(function(subItem) {\r\n subItem.stateRef && result.push(subItem.stateRef);\r\n _iterateSubItems(subItem);\r\n });\r\n }\r\n };\r\n\r\n function defineMenuItemStates() {\r\n return $state.get()\r\n .filter(function(s) {\r\n return s.sidebarMeta;\r\n })\r\n .map(function(s) {\r\n var meta = s.sidebarMeta;\r\n return {\r\n name: s.name,\r\n title: s.title,\r\n level: (s.name.match(/\\./g) || []).length,\r\n order: meta.order,\r\n icon: meta.icon,\r\n stateRef: s.name,\r\n };\r\n })\r\n .sort(function(a, b) {\r\n return (a.level - b.level) * 100 + a.order - b.order;\r\n });\r\n }\r\n\r\n function shouldMenuBeCollapsed() {\r\n return window.innerWidth <= layoutSizes.resWidthCollapseSidebar;\r\n }\r\n\r\n function canSidebarBeHidden() {\r\n return window.innerWidth <= layoutSizes.resWidthHideSidebar;\r\n }\r\n }\r\n };\r\n }\r\n})();\r\n\n/**\r\n * @author v.lugovksy\r\n * created on 16.12.2015\r\n */\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme.components')\r\n .controller('BaSidebarCtrl', BaSidebarCtrl);\r\n\r\n /** @ngInject */\r\n function BaSidebarCtrl($rootScope, $scope, $http, $window, dialogs, lodash, baSidebarService) {\r\n \r\n //$scope.menuItems = baSidebarService.getMenuItems();\r\n //$scope.defaultSidebarState = $scope.menuItems[0].stateRef;\r\n getMenuItems(); \r\n \r\n var vm = this;\r\n\r\n $scope.hoverItem = function ($event) {\r\n $scope.showHoverElem = true;\r\n $scope.hoverElemHeight = $event.currentTarget.clientHeight;\r\n var menuTopValue = 50;\r\n $scope.hoverElemTop = $event.currentTarget.getBoundingClientRect().top - menuTopValue;\r\n };\r\n\r\n $scope.$on('$stateChangeSuccess', function () {\r\n if (baSidebarService.canSidebarBeHidden()) {\r\n baSidebarService.setMenuCollapsed(true);\r\n }\r\n });\r\n\r\n\r\n\r\n $scope.Showgrid = function (item) {\r\n\r\n // if(item.MenuId == 39) {\r\n // $rootScope.IsMenuClicked = false;\r\n // }\r\n }\r\n \r\n \r\n\r\n // $scope.Showgrid = function (MenuId) {\r\n // var RestrictedMenus = [39];\r\n // var status = !!(RestrictedMenus.indexOf(MenuId) + 1)\r\n // if (status) {\r\n // if(MenuId = 39)\r\n // {\r\n // $rootscope.islogin = false\r\n \r\n // }\r\n // // if (MenuId == 87 || MenuId == 89 || MenuId == 90 || MenuId == 91) {\r\n // //$rootScope.SellerId = 69;\r\n // $rootScope.isLogin = \"\";\r\n // } else {\r\n // // $rootScope.SellerId = localStorage.getItem('SellerId');\r\n // $rootScope.CompanyName = localStorage.getItem('isLogin');\r\n // }\r\n // }\r\n\r\n \r\n function getMenuItems() {\r\n var menuList;\r\n\r\n $http.get($rootScope.endPoint + 'User/GetUserMenuByUserId/' + $rootScope.userId).then(\r\n function (res) {\r\n if (res.status === 200) { \r\n if (res.data.length < 1) {\r\n dialogs.notify('Info', 'You have not given access to any menu
Contact Your Admin!
Logging out.', '');\r\n $rootScope.logout();\r\n } \r\n $window.localStorage.setItem(\"userMenus\", JSON.stringify(res.data));\r\n var menuList = getSubMenus(res.data); \r\n $scope.menuItems = menuList;\r\n $scope.defaultSidebarState = $scope.menuItems[0].stateRef;\r\n }\r\n }, function (err) {\r\n }\r\n );\r\n }\r\n\r\n function getSubMenus(menuList) {\r\n\r\n var subMenuList = [];\r\n for (var i in menuList) {\r\n var temp = {\r\n title: menuList[i].MenuName,\r\n name: menuList[i].MenuName,\r\n icon: menuList[i].MenuIcon,\r\n stateRef: menuList[i].MenuUrl,\r\n order: menuList[i].MenuOrder,\r\n MenuId: menuList[i].MenuId\r\n };\r\n if(menuList[i].SubMenuItems.length > 0) {\r\n temp.subMenu = getSubMenus(menuList[i].SubMenuItems);\r\n } else {\r\n temp.subMenu = null;\r\n }\r\n subMenuList.push(temp);\r\n }\r\n\r\n return subMenuList;\r\n }\r\n }\r\n})();\n/**\r\n * @author v.lugovsky\r\n * created on 03.05.2016\r\n */\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme.components')\r\n .directive('baSidebarToggleMenu', baSidebarToggleMenu)\r\n .directive('baSidebarCollapseMenu', baSidebarCollapseMenu)\r\n .directive('baSidebarTogglingItem', baSidebarTogglingItem)\r\n .controller('BaSidebarTogglingItemCtrl', BaSidebarTogglingItemCtrl)\r\n .directive('baUiSrefTogglingSubmenu', baUiSrefTogglingSubmenu)\r\n .directive('baUiSrefToggler', baUiSrefToggler);\r\n\r\n /** @ngInject */\r\n function baSidebarToggleMenu(baSidebarService) {\r\n return {\r\n restrict: 'A',\r\n link: function(scope, elem) {\r\n elem.on('click', function($evt) {\r\n $evt.originalEvent.$sidebarEventProcessed = true;\r\n scope.$apply(function() {\r\n baSidebarService.toggleMenuCollapsed();\r\n });\r\n });\r\n }\r\n };\r\n }\r\n\r\n /** @ngInject */\r\n function baSidebarCollapseMenu(baSidebarService) {\r\n return {\r\n restrict: 'A',\r\n link: function(scope, elem) {\r\n elem.on('click', function($evt) {\r\n $evt.originalEvent.$sidebarEventProcessed = true;\r\n if (!baSidebarService.isMenuCollapsed()) {\r\n scope.$apply(function() {\r\n baSidebarService.setMenuCollapsed(true);\r\n });\r\n }\r\n });\r\n }\r\n };\r\n }\r\n\r\n /** @ngInject */\r\n function baSidebarTogglingItem() {\r\n return {\r\n restrict: 'A',\r\n controller: 'BaSidebarTogglingItemCtrl'\r\n };\r\n }\r\n\r\n /** @ngInject */\r\n function BaSidebarTogglingItemCtrl($scope, $element, $attrs, $state, baSidebarService) {\r\n var vm = this;\r\n var menuItem = vm.$$menuItem = $scope.$eval($attrs.baSidebarTogglingItem);\r\n if (menuItem && menuItem.subMenu && menuItem.subMenu.length) {\r\n vm.$$expandSubmenu = function() { console.warn('$$expandMenu should be overwritten by baUiSrefTogglingSubmenu') };\r\n vm.$$collapseSubmenu = function() { console.warn('$$collapseSubmenu should be overwritten by baUiSrefTogglingSubmenu') };\r\n\r\n var subItemsStateRefs = baSidebarService.getAllStateRefsRecursive(menuItem);\r\n\r\n vm.$expand = function() {\r\n vm.$$expandSubmenu();\r\n $element.addClass('ba-sidebar-item-expanded');\r\n };\r\n\r\n vm.$collapse = function() {\r\n vm.$$collapseSubmenu();\r\n $element.removeClass('ba-sidebar-item-expanded');\r\n };\r\n\r\n vm.$toggle = function() {\r\n $element.hasClass('ba-sidebar-item-expanded') ?\r\n vm.$collapse() :\r\n vm.$expand();\r\n };\r\n\r\n if (_isState($state.current)) {\r\n $element.addClass('ba-sidebar-item-expanded');\r\n }\r\n\r\n $scope.$on('$stateChangeStart', function (event, toState) {\r\n if (!_isState(toState) && $element.hasClass('ba-sidebar-item-expanded')) {\r\n vm.$collapse();\r\n $element.removeClass('ba-sidebar-item-expanded');\r\n }\r\n });\r\n\r\n $scope.$on('$stateChangeSuccess', function (event, toState) {\r\n if (_isState(toState) && !$element.hasClass('ba-sidebar-item-expanded')) {\r\n vm.$expand();\r\n $element.addClass('ba-sidebar-item-expanded');\r\n }\r\n });\r\n }\r\n\r\n function _isState(state) {\r\n return state && subItemsStateRefs.some(function(subItemState) {\r\n return state.name.indexOf(subItemState) == 0;\r\n });\r\n }\r\n }\r\n\r\n /** @ngInject */\r\n function baUiSrefTogglingSubmenu($state) {\r\n return {\r\n restrict: 'A',\r\n require: '^baSidebarTogglingItem',\r\n link: function(scope, el, attrs, baSidebarTogglingItem) {\r\n baSidebarTogglingItem.$$expandSubmenu = function() { el.slideDown(); };\r\n baSidebarTogglingItem.$$collapseSubmenu = function() { el.slideUp(); };\r\n }\r\n };\r\n }\r\n\r\n /** @ngInject */\r\n function baUiSrefToggler(baSidebarService) {\r\n return {\r\n restrict: 'A',\r\n require: '^baSidebarTogglingItem',\r\n link: function(scope, el, attrs, baSidebarTogglingItem) {\r\n el.on('click', function() {\r\n if (baSidebarService.isMenuCollapsed()) {\r\n // If the whole sidebar is collapsed and this item has submenu. We need to open sidebar.\r\n // This should not affect mobiles, because on mobiles sidebar should be hidden at all\r\n scope.$apply(function() {\r\n baSidebarService.setMenuCollapsed(false);\r\n });\r\n baSidebarTogglingItem.$expand();\r\n } else {\r\n baSidebarTogglingItem.$toggle();\r\n }\r\n });\r\n }\r\n };\r\n }\r\n\r\n})();\r\n\n(function() {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme.components')\r\n .directive('baWizard', baWizard);\r\n\r\n /** @ngInject */\r\n function baWizard() {\r\n return {\r\n restrict: 'E',\r\n transclude: true,\r\n templateUrl: 'app/theme/components/baWizard/baWizard.html',\r\n controllerAs: '$baWizardController',\r\n controller: 'baWizardCtrl'\r\n }\r\n }\r\n})();\r\n\n(function() {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme.components')\r\n .controller('baWizardCtrl', baWizardCtrl);\r\n\r\n /** @ngInject */\r\n function baWizardCtrl($scope) {\r\n var vm = this;\r\n vm.tabs = [];\r\n\r\n vm.tabNum = 0;\r\n vm.progress = 0;\r\n\r\n vm.addTab = function(tab) {\r\n tab.setPrev(vm.tabs[vm.tabs.length - 1]);\r\n vm.tabs.push(tab);\r\n vm.selectTab(0);\r\n };\r\n\r\n $scope.$watch(angular.bind(vm, function () {return vm.tabNum;}), calcProgress);\r\n\r\n vm.selectTab = function (tabNum) { \r\n vm.tabs[vm.tabNum].submit();\r\n if (vm.tabs[tabNum].isAvailiable()) {\r\n vm.tabNum = tabNum;\r\n vm.tabs.forEach(function (t, tIndex) {\r\n tIndex == vm.tabNum ? t.select(true) : t.select(false);\r\n });\r\n }\r\n };\r\n\r\n vm.isFirstTab = function () {\r\n return vm.tabNum == 0;\r\n };\r\n\r\n vm.isLastTab = function () {\r\n return vm.tabNum == vm.tabs.length - 1 ;\r\n };\r\n\r\n vm.nextTab = function () {\r\n vm.selectTab(vm.tabNum + 1)\r\n };\r\n\r\n vm.previousTab = function () {\r\n vm.selectTab(vm.tabNum - 1)\r\n };\r\n\r\n function calcProgress() {\r\n vm.progress = ((vm.tabNum + 1) / vm.tabs.length) * 100;\r\n }\r\n }\r\n})();\r\n\r\n\n(function() {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme.components')\r\n .directive('baWizardStep', baWizardStep);\r\n\r\n /** @ngInject */\r\n function baWizardStep() {\r\n return {\r\n restrict: 'E',\r\n transclude: true,\r\n require: '^baWizard',\r\n scope: {\r\n form: '='\r\n },\r\n templateUrl: 'app/theme/components/baWizard/baWizardStep.html',\r\n link: function($scope, $element, $attrs, wizard) {\r\n $scope.selected = true;\r\n\r\n var tab = {\r\n title: $attrs.title,\r\n select: select,\r\n submit: submit,\r\n isComplete: isComplete,\r\n isAvailiable: isAvailiable,\r\n prevTab: undefined,\r\n setPrev: setPrev\r\n };\r\n\r\n wizard.addTab(tab);\r\n\r\n function select(isSelected) {\r\n if (isSelected) {\r\n $scope.selected = true;\r\n } else {\r\n $scope.selected = false;\r\n }\r\n }\r\n\r\n function submit() {\r\n $scope.form && $scope.form.$setSubmitted(true);\r\n }\r\n\r\n function isComplete() {\r\n return $scope.form ? $scope.form.$valid : true;\r\n }\r\n\r\n function isAvailiable() {\r\n return tab.prevTab ? tab.prevTab.isComplete() : true;\r\n }\r\n\r\n function setPrev(pTab) {\r\n tab.prevTab = pTab;\r\n }\r\n }\r\n };\r\n }\r\n})();\n/**\r\n * @author v.lugovksy\r\n * created on 16.12.2015\r\n */\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme.components')\r\n .directive('contentTop', contentTop);\r\n\r\n /** @ngInject */\r\n function contentTop($location, $state) {\r\n return {\r\n restrict: 'E',\r\n templateUrl: 'app/theme/components/contentTop/contentTop.html',\r\n link: function($scope) {\r\n $scope.$watch(function () {\r\n $scope.activePageTitle = $state.current.title;\r\n });\r\n }\r\n };\r\n }\r\n\r\n})();\n/**\r\n * @author v.lugovksy\r\n * created on 16.12.2015\r\n */\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme.components')\r\n .directive('msgCenter', msgCenter);\r\n\r\n /** @ngInject */\r\n function msgCenter() {\r\n return {\r\n restrict: 'E',\r\n templateUrl: 'app/theme/components/msgCenter/msgCenter.html',\r\n controller: 'MsgCenterCtrl'\r\n };\r\n }\r\n\r\n})();\n/**\r\n * @author v.lugovksy\r\n * created on 16.12.2015\r\n */\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme.components')\r\n .controller('MsgCenterCtrl', MsgCenterCtrl);\r\n\r\n /** @ngInject */\r\n function MsgCenterCtrl($scope, $sce) {\r\n $scope.users = {\r\n 0: {\r\n name: 'Vlad',\r\n },\r\n 1: {\r\n name: 'Kostya',\r\n },\r\n 2: {\r\n name: 'Andrey',\r\n },\r\n 3: {\r\n name: 'Nasta',\r\n }\r\n };\r\n\r\n $scope.notifications = [\r\n {\r\n userId: 0,\r\n template: '&name posted a new article.',\r\n time: '1 min ago'\r\n },\r\n {\r\n userId: 1,\r\n template: '&name changed his contact information.',\r\n time: '2 hrs ago'\r\n },\r\n {\r\n image: 'assets/img/shopping-cart.svg',\r\n template: 'New orders received.',\r\n time: '5 hrs ago'\r\n },\r\n {\r\n userId: 2,\r\n template: '&name replied to your comment.',\r\n time: '1 day ago'\r\n },\r\n {\r\n userId: 3,\r\n template: 'Today is &name\\'s birthday.',\r\n time: '2 days ago'\r\n },\r\n {\r\n image: 'assets/img/comments.svg',\r\n template: 'New comments on your post.',\r\n time: '3 days ago'\r\n },\r\n {\r\n userId: 1,\r\n template: '&name invited you to join the event.',\r\n time: '1 week ago'\r\n }\r\n ];\r\n\r\n $scope.messages = [\r\n {\r\n userId: 3,\r\n text: 'After you get up and running, you can place Font Awesome icons just about...',\r\n time: '1 min ago'\r\n },\r\n {\r\n userId: 0,\r\n text: 'You asked, Font Awesome delivers with 40 shiny new icons in version 4.2.',\r\n time: '2 hrs ago'\r\n },\r\n {\r\n userId: 1,\r\n text: 'Want to request new icons? Here\\'s how. Need vectors or want to use on the...',\r\n time: '10 hrs ago'\r\n },\r\n {\r\n userId: 2,\r\n text: 'Explore your passions and discover new ones by getting involved. Stretch your...',\r\n time: '1 day ago'\r\n },\r\n {\r\n userId: 3,\r\n text: 'Get to know who we are - from the inside out. From our history and culture, to the...',\r\n time: '1 day ago'\r\n },\r\n {\r\n userId: 1,\r\n text: 'Need some support to reach your goals? Apply for scholarships across a variety of...',\r\n time: '2 days ago'\r\n },\r\n {\r\n userId: 0,\r\n text: 'Wrap the dropdown\\'s trigger and the dropdown menu within .dropdown, or...',\r\n time: '1 week ago'\r\n }\r\n ];\r\n\r\n $scope.getMessage = function(msg) {\r\n var text = msg.template;\r\n if (msg.userId || msg.userId === 0) {\r\n text = text.replace('&name', '' + $scope.users[msg.userId].name + '');\r\n }\r\n return $sce.trustAsHtml(text);\r\n };\r\n }\r\n})();\n/**\r\n * @author v.lugovksy\r\n * created on 16.12.2015\r\n */\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme.components')\r\n .directive('pageTop', pageTop);\r\n\r\n /** @ngInject */\r\n function pageTop() {\r\n return {\r\n restrict: 'E',\r\n templateUrl: 'app/theme/components/pageTop/pageTop.html'\r\n };\r\n }\r\n\r\n})();\n/**\r\n * Created by n.poltoratsky\r\n * on 28.06.2016.\r\n */\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme.components')\r\n .directive('progressBarRound', progressBarRound);\r\n\r\n /** @ngInject */\r\n function progressBarRound(baProgressModal) {\r\n return {\r\n restrict: 'E',\r\n templateUrl: 'app/theme/components/progressBarRound/progressBarRound.html',\r\n link:function($scope, element, attrs) {\r\n $scope.baProgressDialog = baProgressModal;\r\n $scope.$watch(function () {\r\n return baProgressModal.getProgress();\r\n }, animateBar);\r\n\r\n function animateBar() {\r\n var circle = element.find('#loader')[0];\r\n circle.setAttribute(\"stroke-dasharray\", baProgressModal.getProgress() * 180 * Math.PI / 100 + \", 20000\");\r\n $scope.progress = baProgressModal.getProgress();\r\n }\r\n }\r\n }\r\n }\r\n})();\n/**\r\n * @author v.lugovksy\r\n * created on 16.12.2015\r\n */\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme.components')\r\n .directive('widgets', widgets);\r\n\r\n /** @ngInject */\r\n function widgets() {\r\n return {\r\n restrict: 'EA',\r\n scope: {\r\n ngModel: '='\r\n },\r\n templateUrl: 'app/theme/components/widgets/widgets.html',\r\n replace: true\r\n };\r\n }\r\n\r\n})();\n/**\r\n * @author v.lugovsky\r\n * created on 17.12.2015\r\n */\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme')\r\n .filter('appImage', appImage);\r\n\r\n /** @ngInject */\r\n function appImage(layoutPaths) {\r\n return function(input) {\r\n return layoutPaths.images.root + input;\r\n };\r\n }\r\n\r\n})();\r\n\n/**\r\n * @author v.lugovsky\r\n * created on 17.12.2015\r\n */\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme')\r\n .filter('kameleonImg', kameleonImg);\r\n\r\n /** @ngInject */\r\n function kameleonImg(layoutPaths) {\r\n return function(input) {\r\n return layoutPaths.images.root + 'theme/icon/kameleon/' + input + '.svg';\r\n };\r\n }\r\n\r\n})();\r\n\n/**\r\n * @author v.lugovsky\r\n * created on 17.12.2015\r\n */\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme')\r\n .filter('profilePicture', profilePicture);\r\n\r\n /** @ngInject */\r\n function profilePicture(layoutPaths) {\r\n return function(input, ext) {\r\n ext = ext || 'png';\r\n return layoutPaths.images.profile + input + '.' + ext;\r\n };\r\n }\r\n\r\n})();\r\n\n/**\r\n * @author a.demeshko\r\n * created on 23.12.2015\r\n */\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme')\r\n .filter('plainText', plainText);\r\n\r\n /** @ngInject */\r\n function plainText() {\r\n return function(text) {\r\n return text ? String(text).replace(/<[^>]+>/gm, '') : '';\r\n };\r\n }\r\n\r\n})();\r\n\n/**\r\n * @author v.lugovsky\r\n * created on 10.12.2016\r\n */\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('KPMES.theme.inputs')\r\n .directive('baSwitcher', baSwitcher);\r\n\r\n /** @ngInject */\r\n function baSwitcher() {\r\n return {\r\n templateUrl: 'app/theme/inputs/baSwitcher/baSwitcher.html',\r\n scope: {\r\n switcherStyle: '@',\r\n switcherValue: '='\r\n }\r\n };\r\n }\r\n\r\n})();\r\n\n/* Minified js for jQuery BackTop */\r\n!function(o){o.fn.backTop=function(e){var n=this,i=o.extend({position:400,speed:500,color:\"white\"},e),t=i.position,c=i.speed,d=i.color;n.addClass(\"white\"==d?\"white\":\"red\"==d?\"red\":\"green\"==d?\"green\":\"black\"),n.css({right:40,bottom:40,position:\"fixed\"}),o(document).scroll(function(){var e=o(window).scrollTop();e>=t?n.fadeIn(c):n.fadeOut(c)}),n.click(function(){o(\"html, body\").animate({scrollTop:0},{duration:1200})})}}(jQuery);\nangular.module('KPMES').run(['$templateCache', function($templateCache) {$templateCache.put('app/pages/area/area.html','
Create Area
{{$select.selected.CountryName}}
Country Name is required.
{{$select.selected.StateName}}
State Name is required.
{{$select.selected.CityName}}
City Name is required.

City Name is maximum length are {{ 50 - inputMessage.length + \\' Char\\' }}

Area Name is required

Pincode is maximum length are {{ 10 - inputMessage.length + \\' Char\\' }}

Pincode is required

List Of Area

S.NoArea NamePincodeCity NameState NameCountry NameAction
{{ ($index + 1) + (vm.noOfRows.value * (vm.currentPage - 1)) }}{{row.AreaName}}{{row.Pincode}}{{row.City.CityName}}{{row.State.StateName}}{{row.Country.CountryName}}
');\n$templateCache.put('app/pages/city/City.html','
Create City
{{$select.selected.CountryName}}
Country Name is required.
{{$select.selected.StateName}}
State Name is required.

City Name is required

City Name is maximum length are {{ 50 - inputMessage.length + \\' Char\\' }}

List Of City

S.NoCountry NameState NameCity NameAction
{{ ($index + 1) + (vm.noOfRows.value * (vm.currentPage - 1)) }}{{row.Country.CountryName}}{{row.State.StateName}}{{row.CityName}}
');\n$templateCache.put('app/pages/company/company.html','
Institution Setup

Institution Name is required

Date of Establishment is required

Total Institution Land Area is Required

in Acres

Primary Email is Required

Mobile Number is Required

Secondary Email is Required

Landline phone Number is Required

Principal Name is Required

Contact Number is Required

Authorized Admin Coordinator is Required

Contact Number is required

{{$select.selected.CountryName}}
Country is required.
{{$select.selected.NameoftheEducational}}
Type of Educational Institution is required.

Founder Name is required

{{$select.selected.Languagename}}
Prefered Languge to use the Software is required.

Number of Students is required

Number of Teaching Staff is required

Number of Non-Staffing is required

REGISTERED OFFICE

AddressLine1 is Required

Address Line2 is Required

{{$select.selected.CountryName}}
Country is required.
{{$select.selected.StateName}}
State is required.
{{$select.selected.CityName}}
City is required.
{{$select.selected.AreaName}}
Area is required.

PinCode is Required

CAMPUS ADDRESS

Campus Name is Required

Address Line is Required

Address is Required

{{$select.selected.CountryName}}
Country is required.
{{$select.selected.StateName}}
State is required.
{{$select.selected.CityName}}
City is required.
{{$select.selected.AreaName}}
Area is required.

PinCode is Required




Website URL is Required

PAN Number is Required

TAN Number is Required

List Of Institution

S.NoCodeInstitution NameLocationAction
{{ ($index + 1) + (vm.noOfRows.value * (vm.currentPage - 1)) }}{{row.CompanyCode}}{{row.CompanyName}}{{row.City.CityName}}
');\n$templateCache.put('app/pages/company/Popup.html','

Terms & Condition

Mobile Service: via a supported mobile handset. The Premium Service permits you to store cached content on up to three (3) personal computers, mobile handsets and/or other relevant devices (collectively \\u201CDevices\\u201D) while your Premium Service subscription is active. You may not transfer copies of cached content to any other device via any means. By using the Mobile Service, you agree to accept the Mobile Terms and to register for the Service as a mobile subscriber. The Premium Service and the Unlimited Service are hereinafter referred to as \\u201CPaid Subscriptions\\u201D. 3.2 Codes and other Limited Offers If you have purchased a code sold by or on behalf of Spotify for access to the Unlimited Service or Premium Service for the time period indicated on your email, card or paper receipt (\\u201CCode\\u201D), or if you are accessing the service through some other limited offer which you received or purchased from Spotify (\\u201CLimited Offer\\u201D), these Agreements apply to your access to the Service. Any separate sets of terms and conditions presented to you along with the Code or other Limited Offer also apply to your access to the Service using the Code or Limited Offer. Subject to any rights you may have under Section 12, Codes are only redeemable in the country where you purchased such Code, not redeemable for cash and may not be returned for a cash refund, exchanged, resold or used to purchase other Codes.

Privacy Policy

Our Privacy Policy Explication

What information We Collect And why we collect it

How we use that information

The choices we offer including how to access and update information

We have tried to keep it as simple sa possible but if you are not fami;iar with tearm with terms like cookies IP address pixel tage and browsers then read adout these key tearms first your privacy matters

I agree these terms and conditions

Enter the OTP that has been send to your Registered Mobile No

');\n$templateCache.put('app/pages/country/country.html','
Create Country

Country Name is required

Country Name is maximum length are {{ 50 - inputMessage.length + \\' Char\\' }}

Country Code is required

Currency Name is required

Currency Name is maximum length are {{ 50 - inputMessage.length + \\' Char\\' }}

Currency Code is required

Currency Symbol is required

Currency Symbol is maximum length are {{ 50 - inputMessage.length + \\' Char\\' }}

List Of Country

S.NoCountry NameCountry CodeCurrency NameCurrency CodeCurrency SymbolAction
{{ ($index + 1) + (vm.noOfRows.value * (vm.currentPage - 1)) }}{{row.CountryName}}{{row.CountryCode}}{{row.CurrencyName}}{{row.CurrencyCode}}{{row.CurrencySymbol}}
');\n$templateCache.put('app/pages/dashboard/dashboard.html','

Student Attendence

Student Performance

Weekly Assignment

Reports

Feeds
Total No of Students in IX - A25
No of Students Present Today21
No of Students Apsent Today4
No of Lessons Taught in Science BiologyUnit 1
No of Lessons Taught in Science PhysicsUnit 2
No of Lessons Taught in Science ChemistryUnit 2
No of Lessons Taught in Science ComputersUnit 1

Leave Information

Leave Eligible

10 Days

Leave Taken

2 Days

Leave Balence

8 Days


');\n$templateCache.put('app/pages/designation/Designation.html','
Create Designation

Designation Code is required

{{$select.selected.CompanyName}}
Company Name is required.
{{$select.selected.DepartmentName}}
Department Name is required.

Designation Name is required

{{$select.selected.DesignationName}}
;

List Of Designation

S.NoDesignation CodeDesignation NameReporting ToDepartment NameCompany NameAction
{{ ($index + 1) + (vm.noOfRows.value * (vm.currentPage - 1)) }}{{row.Code}}{{row.DesignationName}}{{row.SuperiorName}}{{row.Department.DepartmentName}}{{row.Company.CompanyName}}
');\n$templateCache.put('app/pages/Department/department.html','
Create Department

Department Code is required

This Code is Already Exist !!!

{{$select.selected.CompanyName}}
Company Name is required.

Department Name is required

0\">
{{$select.selected.DepartmentName}}

List Of Department

S.NoCodeDepartment NameParent DepartmentCompany NameAction
{{ ($index + 1) + (vm.noOfRows.value * (vm.currentPage - 1)) }}{{row.Code}}{{row.DepartmentName}}{{row.ParentName}}{{row.Company.CompanyName}}
');\n$templateCache.put('app/pages/directives/multiselect.tmpl.html','
');\n$templateCache.put('app/pages/EducationType/educationType.html','
Type Of Educational

Contact Number is Required

s

institution Initiation

S.NoInstitution FundedEducational SyllabusMedium of instructionEducation SystemAction
{{ ($index + 1) + (vm.noOfRows.value * (vm.currentPage - 1)) }}{{row.Code}}{{row.InsFundName}}{{row.Syllabusname}}{{row.Mediumname}{{row.eduSystemName}}
');\n$templateCache.put('app/pages/employee/employee.html','

Create Staff Details

STAFF DETAILS


First Name is required


Last Name is required



Selecte a profile picture
  

Father Name is required


{{$select.selected.DepartmentName}}
{{$select.selected.DesignationName}}

Spouse Name is required

Blood Group is required

{{$select.selected.FirstName}}

Kpost Id is required

ADDRESS DETAILS

PERMANANT ADDRESS DETAILS


Address1 is required

COMMUNICATION ADDRESS DETAILS

ACADEMIC DETAILS


Degree is required


Specialization is required

GraduationDegreeSpecializationUniversity/InstitutePercentageYears of PassingDoc AttachedRemarks
{{row.Graduation}}{{row.Degree}}{{row.Specialization}}{{row.University}}{{row.Percentage}}{{row.YearofPassing}}Yes No{{row.Remarks}}

EXPERIENCE DETAILS

{{vm.errMessage}}
s
OrganizationDepartmentDesignationFrom DateTo DateYears of ExperienceRemarks
{{row.Organization}}{{row.Department}}{{row.Designation}}{{row.FromDate | date:\\'dd/MM/yyyy\\'}}{{row.ToDate |date:\\'dd/MM/yyyy\\'}}{{row.YearsofExperience}}{{row.Remarks}}

Create Staff Account Details

BANK DETAILS


Account No is required



Name of the Bank is required


IFSC Code is required

Branch is required

MICR Code is required

PERSONAL DETAILS

{{$select.selected.ProficiencyName}}
Prefered Languge to use the Software is required.










If So, Specify

If So, Specify

Branch is required

AREAS OF EXPERTISE

LANGUAGES SPOKEN OTHER THAN ENGLISH

List Of Staff Details

S.NoFirst NameLast NameDepartmentDesignationDate of JoiningAction
{{ ($index + 1) + (vm.noOfRows.value * (vm.currentPage - 1)) }}{{row.FirstName}}{{row.LastName}}{{row.Department.DepartmentName}}{{row.Designation.DesignationName}}{{row.DOJ | date:\\'dd-MM-yyyy\\'}}
');\n$templateCache.put('app/pages/employeeChart/employeeChart.html','
');\n$templateCache.put('app/pages/exercise/exercise.html','
Create Exercise
{{$select.selected.ClassName}}
Standard Name is required.
{{$select.selected.SectionName}}
Section is required.
{{$select.selected.SubjectName}}
Subject is required.
{{$select.selected.ChapterName}}
Subject is required.
{{$select.selected.UnitName}}
Unit Name is required.

Exercise Name is required

List Of Exercise

S.NoStandardSectionSubject NameChapter NameUnit NameExercise NameAction
{{ ($index + 1) + (vm.noOfRows.value * (vm.currentPage - 1)) }}{{row.ClassName}}{{row.SectionName}}{{row.SubjectName}}{{row.ChapterName}}{{row.UnitName}}{{row.ExerciseName}}
');\n$templateCache.put('app/pages/institution/institution.html','
Institution Initiation
{{$select.selected.NameoftheEducational}}

Institution Funded is required

{{$select.selected.InsFundName}}

Institution Funded is required

{{$select.selected.Syllabusname}}
Educational Syllabus is required.
{{$select.selected.Mediumname}}

Medium of instruction is required

{{$select.selected.eduSystemName}}

Education System is required

institution Initiation

S.NoInstitution FundedEducational SyllabusMedium of instructionEducation SystemAction
{{ ($index + 1) + (vm.noOfRows.value * (vm.currentPage - 1)) }}{{row.Code}}{{row.InsFundName}}{{row.Syllabusname}}{{row.Mediumname}{{row.eduSystemName}}
');\n$templateCache.put('app/pages/questionandAnswer/question.html','
Create Question
{{$select.selected.ClassName}}
Standard Name is required.
{{$select.selected.SectionName}}
Section is required.
{{$select.selected.SubjectName}}
Subject is required.
{{$select.selected.ChapterName}}
Subject is required.
{{$select.selected.ExerciseName}}
Exercise Name is required.

Enter The Question and Answer Details

Exercise Name is required

{{$select.selected.QuestionTypes}}
AnswerTypes is required.

Options id required

{{$select.selected.Value}}
OPtions Correct Answer is required.

CorrectAnswer is required

List Of Questions

S.NoStandardSectionSubject NameChapter NameUnit NameExercise NameQuestion TypesQuestionsCorrect AnswerAction
{{ ($index + 1) + (vm.noOfRows.value * (vm.currentPage - 1)) }}{{row.ClassName}}{{row.SectionName}}{{row.SubjectName}}{{row.ChapterName}}{{row.UnitName}}{{row.ExerciseName}}{{row.QuestionTypes}}{{row.Questions}}{{row.CorrectAnswer}}
');\n$templateCache.put('app/pages/role/role.html','
Creating Of Role

Role Name is required

List of Role

S.NoRole NameAction
{{ ($index + 1) + (vm.noOfRows.value * (vm.currentPage - 1)) }}{{row.RoleName}}
');\n$templateCache.put('app/pages/state/state.html','
Create State
{{$select.selected.CountryName}}
Country Name is required.

State Name is maximum length are {{ 50 - inputMessage.length + \\' Char\\' }}

State Name is required

List Of State

S.NoState NameCountry NameAction
{{ ($index + 1) + (vm.noOfRows.value * (vm.currentPage - 1)) }}{{row.StateName}}{{row.Country.CountryName}}
');\n$templateCache.put('app/pages/StudentDetails/studentDetails.html','

Create student Account Details

BANK DETAILS


Account No is required



Name of the Bank is required


IFSC Code is required

Branch is required

MICR Code is required

PERSONAL DETAILS

{{$select.selected.ProficiencyName}}
Prefered Languge to use the Software is required.










If So, Specify

If So, Specify

Branch is required


Degree is required


Specialization is required

GraduationDegreeSpecializationUniversity/InstitutePercentageYears of PassingDoc AttachedRemarks
{{row.Graduation}}{{row.Degree}}{{row.Specialization}}{{row.University}}{{row.Percentage}}{{row.YearofPassing}}Yes No{{row.Remarks}}

STUDENTDETAILS

S.NoFirst NameLast NameDepartmentDesignationDate of JoiningReporting ToAction
{{ ($index + 1) + (vm.noOfRows.value * (vm.currentPage - 1)) }}{{row.FirstName}}{{row.LastName}}{{row.Department.DepartmentName}}{{row.Designation.DesignationName}}{{row.DOJ | date:\\'dd-MM-yyyy\\'}}{{row.ReportingToName}}
');\n$templateCache.put('app/pages/test/test.html','');\n$templateCache.put('app/pages/Location/locationSetup/locationSetup.html','

Create Location Setup

Basic Location is required

Tier {{tier.id}}
{{ tier.tierName }}

List of Location Setup

S.NoType of Worklocation{{ tier }}Action
{{ ($index + 1) + (vm.noOfRows.value * (vm.currentPage - 1)) }}{{row.BasicLocation}}{{ row.Tiers[tierName] }}
');\n$templateCache.put('app/pages/Location/tierSetup/tierSetup.html','

Tier Setup

{{$select.selected.BasicLocation}}
Type of Worklocation is required.


    {{$select.selected.TierValue}}
0\">
S.No{{ vm.currentTier }}Action
{{ ($index + 1) + (vm.noOfRows.value * (vm.currentPage - 1)) }}{{ row.TierValue }}
');\n$templateCache.put('app/pages/mapping/classRoomMapping/classRoomMapping.html','
Create Class Room Mapping
{{$select.selected.ClassName}}
Standard Name is required.
{{$select.selected.SectionName}}
Section is required.
{{$select.selected.BasicLocation}}
Location is required.
{{$select.selected.TierValue}}

class Room Mapping

S.NoStandardSectionLocationTiersAction
{{ ($index + 1) + (vm.noOfRows.value * (vm.currentPage - 1)) }}{{row.ClassName}}{{row.Section Name}}{{row.BasicLocation}}{{row.LocationDetails}}
');\n$templateCache.put('app/pages/mapping/staffMapping/staffMapping.html','
Create Staff Mapping
{{$select.selected.FirstName}} / {{$select.selected.KpostId}}
Staff Name is required.
{{$select.selected.ClassName}}
Standard Name is required.
{{$select.selected.SectionName}}
Section is required.
{{$select.selected.SubjectName}}
Subject is required.
0\">
StaffStandardSectionSubject NameAction
{{row.FirstName}}{{row.ClassName}}{{row.SectionName}}{{row.SubjectName}}

Staff Mapping

S.NoStandardSectionSubject NameAction
{{key}}
{{ ($index + 1) + (vm.noOfRows.value * (vm.currentPage - 1)) }}{{row.ClassName}}{{row.SectionName}}{{row.SubjectName}}
');\n$templateCache.put('app/pages/mapping/timeTableMapping/timeTableMapping.html','
Create Time-Table Mapping
{{$select.selected.ClassName}}
Standard Name is required.
{{$select.selected.SectionName}}
Section is required.
{{$select.selected.FirstName}}
Subject is required.
{{$select.selected.FirstName}}
Subject is required.
{{$select.selected.SubjectName}}
Subject is required.
{{$select.selected.Day}}
Day required.
{{$select.selected.Period}}
Period required.

Time Table Mapping

S.NoStandardSectionClass TeacherSubject NameDayPeriodAction
{{key}}
{{ ($index + 1) + (vm.noOfRows.value * (vm.currentPage - 1)) }}{{row.ClassName}}{{row.SectionName}}{{row.ClassTeacherName}}{{row.SubjectName}}{{row.Day}}{{row.PeriodName}}
');\n$templateCache.put('app/pages/masters/chapters/chapters.html','
Create Chapters
{{$select.selected.ClassName}}
Standard is required.
{{$select.selected.SectionName}}
Section is required.
{{$select.selected.SubjectName}}
Subject is required.
{{$select.selected.TermName}}
Term is required.

Chapter / Unit is required

List Of Chapters

S.NoStandardSectionSubjectTermChapter / UnitAction
{{ ($index + 1) + (vm.noOfRows.value * (vm.currentPage - 1)) }}{{row.ClassName}}{{row.SectionName}}{{row.SubjectName}}{{row.TermName}}{{row.ChapterName}}
');\n$templateCache.put('app/pages/masters/classRoom/classRoom.html','
Create Standard

Standard is required

ClassRoom Name is maximum length are {{ 50 - inputMessage.length + \\' Char\\' }}

List Of Standard

S.NoStandardTerm ActivatedAction
{{ ($index + 1) + (vm.noOfRows.value * (vm.currentPage - 1)) }}{{row.ClassName}}YesNo
');\n$templateCache.put('app/pages/masters/CreateLinkText/createlinktext.html','
Create a Link Content
{{$select.selected.ClassName}}
Standard is required.
{{$select.selected.SectionName}}
Section is required.
{{$select.selected.SubjectName}}
Subject is required.
{{$select.selected.ChapterName}}
Chapter / Unit is required.
{{$select.selected.UnitName}}
Session is required.

Links Word is required

0\" st-safe-src=\"vm.DocList\" class=\"table table-responsive table-striped\">
File NameFile UrlAction
{{row.FileName}}{{row.Refname}}
{{row.FilePath}}
{{$select.selected.FileTypeName}}
Upload File Types is required.
Video Title is required.
0\" st-safe-src=\"vm.VideoLinks\" class=\"table table-responsive table-striped\">
File NameFile UrlAction
{{row.FileName}}{{row.Refname}}
{{row.FilePath}}

List Of Link Contents

S.NoStandardSectionSubjectChapter / UnitSessionLinks WordLink PathAction
{{ ($index + 1) + (vm.noOfRows.value * (vm.currentPage - 1)) }}{{row.ClassName}}{{row.SectionName}}{{row.SubjectName}}{{row.ChapterName}}{{row.UnitName}}{{row.LinksWord}}{{ $root.endPoint + row.LinkHtmlPath}}
');\n$templateCache.put('app/pages/masters/exercise/exercise.html','
Create Exercise
{{$select.selected.ClassName}}
Standard Name is required.
{{$select.selected.SectionName}}
Section is required.
{{$select.selected.SubjectName}}
Subject is required.
{{$select.selected.ChapterName}}
Chapter / Unit is required.

List Of Chapters

S.NoStandardSectionSubjectTermChapter / UnitAction
{{ ($index + 1) + (vm.noOfRows.value * (vm.currentPage - 1)) }}{{row.ClassName}}{{row.SectionName}}{{row.SubjectName}}{{row.TermName}}{{row.ChapterName}}
');\n$templateCache.put('app/pages/masters/MapVideos/MapVideos.html','

Create a Link Content

{{$select.selected.ClassName}}
Standard Name is required.
{{$select.selected.SectionName}}
Section is required.
{{$select.selected.SubjectName}}
Subject is required.
{{$select.selected.ChapterName}}
Chapter Name / Unit Name is required.
{{$select.selected.UnitName}}
session Name is required.
{{$select.selected.VideoTypename}}
Video Type is required.
{{$select.selected.LinksWord}}

Title Name is required


0\">
S.NoVideo TypeTitle NameUrl LinkAction
{{ ($index + 1) + (vm.noOfRows.value * (vm.currentPage - 1)) }}{{row.VideoTypename}}{{row.LinksWord}}{{ $root.endPoint + row.LinkHtmlPath}}
');\n$templateCache.put('app/pages/masters/section/section.html','
Create Section
{{$select.selected.ClassName}}
Standard is required.

Section is maximum length are {{ 50 - inputMessage.length + \\' Char\\' }}

Section is required

List Of Section

S.NoStandardSectionAction
{{ ($index + 1) + (vm.noOfRows.value * (vm.currentPage - 1)) }}{{row.ClassName}}{{row.SectionName}}
');\n$templateCache.put('app/pages/masters/subject/subject.html','
Create Subject
{{$select.selected.ClassName}}
Standard is required.
{{$select.selected.SectionName}}
Section is required.

Subject is required

List Of Subject

S.NoStandardSectionSubjectAction
{{ ($index + 1) + (vm.noOfRows.value * (vm.currentPage - 1)) }}{{row.ClassName}}{{row.SectionName}}{{row.SubjectName}}
');\n$templateCache.put('app/pages/masters/Term/Term.html','
Create Subject Term Image
{{$select.selected.ClassName}}
Standard is required.
{{$select.selected.SectionName}}
Section is required.
{{$select.selected.SubjectName}}
Subject is required.
{{$select.selected.TermName}}

Term is required



         

List Of Subject

S.NoSubjectTermAction
{{ ($index + 1) + (vm.noOfRows.value * (vm.currentPage - 1)) }}{{row.SubjectName}}{{row.TermName}}
');\n$templateCache.put('app/pages/masters/TermActivation/TermActivation.html','

Term Activate

{{$select.selected.TermName}}
Term is required.
Current Activated Term - {{ vm.currentTerm}}
');\n$templateCache.put('app/pages/masters/timetable/timetable.html','
Create Timetable

Create Timetable

{{$select.selected.ClassName}}
Standard is required.
{{$select.selected.SectionName}}
Section is required.

{{$select.selected.ClassTimings}}
Time is required.
{{$select.selected.SubjectName}}
Subject is required.
{{$select.selected.ChapterName}}
Chapter / Unit is required.
{{$select.selected.UnitName}}
Session is required.
{{$select.selected.StaffName}}
Session is required.
{{$select.selected.LocationName}}
Location is required.
S.NoClass TimingSubjectChapter / UnitSessionTeacher NameLocationAction
{{ ($index + 1) + (vm.noOfRows.value * (vm.currentPage - 1)) }}{{row.ClassTimings}}{{row.SubjectName}}{{row.ChapterName}}{{row.UnitName}}{{row.EmployeeName}}{{row.LocationName}}
');\n$templateCache.put('app/pages/masters/unit/unit.html','
Create Contents
{{$select.selected.ClassName}}
Standard Name is required.
{{$select.selected.SectionName}}
Section is required.
{{$select.selected.SubjectName}}
Subject is required.
{{$select.selected.ChapterName}}
Chapter / Unit is required.

Session is required

List Of Contents

S.NoStandardSectionSubjectChapter / UnitSessionAction
{{ ($index + 1) + (vm.noOfRows.value * (vm.currentPage - 1)) }}{{row.ClassName}}{{row.SectionName}}{{row.SubjectName}}{{row.ChapterName}}{{row.UnitName}}

X

');\n$templateCache.put('app/pages/masters/unitmodal/unitmodal.html','

Unit Modal



');\n$templateCache.put('app/pages/masters/unitmultipleupload/multipleupload.html','

Multiple File Upload

{{$select.selected.MultiplefileName}}
Subject is required.







');\n$templateCache.put('app/pages/role/roleMenuMapping/roleMenuMapping.html','

ROLE MENU PRIVILEGE

{{$select.selected.RoleName || $select.selected}}
0\">
');\n$templateCache.put('app/pages/role/roleMenuMapping/roleMenuMapping_bk.html','

Role Menu Mapping

{{$select.selected.RoleName || $select.selected}}
0\">

Menus

Actions

');\n$templateCache.put('app/pages/student/studentRegistration/studentRegistration.html','

Create Student Details

STUDENT DETAILS


Name is required


Father Name is required



Mother Name is required



Mother Name is required

{{$select.selected.ClassName}}

Class is required.
{{$select.selected.SectionName}}

Section is required.
{{$select.selected.CountryName}}

Coutry is required.
{{$select.selected.StateName}}

State is required.
{{$select.selected.CityName}}

City is required.
{{$select.selected.AreaName}}

Area is required.

Pincode is required


DataBirth is required.

Student KPOST ID is required


Father KPOST ID is required


Mothers KPOST ID is required


Guardian KPOST ID is required


Guardian KPOST ID is required


Religion is required


Catse is required


Community is required



Father Mobile Number is required


Mother Mobile Number is required


Guardian Mobile Number is required



         

Create student Account Details

BANK DETAILS


Account No is required



Name of the Bank is required


IFSC Code is required

Branch is required

MICR Code is required

PERSONAL DETAILS

{{$select.selected.ProficiencyName}}
Prefered Languge to use the Software is required.










If So, Specify

If So, Specify

Branch is required


Degree is required


Specialization is required

GraduationDegreeSpecializationUniversity/InstitutePercentageYears of PassingDoc AttachedRemarks
{{row.Graduation}}{{row.Degree}}{{row.Specialization}}{{row.University}}{{row.Percentage}}{{row.YearofPassing}}Yes No{{row.Remarks}}

List Of Students

S.NoNameFamily DetailKPost IDClass DetailsAction
{{ ($index + 1) + (vm.noOfRows.value * (vm.currentPage - 1)) }}
Name : {{row.StudentName}}
Gender : {{row.StdGender}}
DOB : {{row.StudentDOB | date:\\'dd/MM/yyyy\\'}}
Father\\'s Name : {{row.StdFatherName}}
Mother\\'s Name : {{row.StdMotherName}}
Guardian\\'s Name : {{row.StdGuardianName}}
Father\\'s ID: {{row.StdFatherKpostId}}
Mother\\'s ID : {{row.StdMotherKpostId}}
Guardian\\'s ID : {{row.StdGuardianKpostId}}
Class: {{row.ClassName}}
Section : {{row.SectionName}}
');\n$templateCache.put('app/pages/user/login/login.html','


Sign in

  • {{ err }}
Forgot password?
');\n$templateCache.put('app/pages/user/register/register.html','
Register for Kpost EDU
Register
');\n$templateCache.put('app/pages/user/userCreation/createUser.html','

User Account Creation

{{$select.selected.DepartmentName || $select.selected}}
{{$select.selected.DesignationName || $select.selected}}
{{$select.selected.FirstName || $select.selected}}
{{$select.selected.ContractorName }}

Username already taken
Username is Required
Password is Required Password must have atleast 6 characters
Password did not match Password is Required

EmailId registred already
Email required Invalid Email address
{{$select.selected.RoleName || $select.selected}}
Please select a Role.

List of User Account

S.NoNameEmailRoleAction
{{ ($index + 1) + (vm.noOfRows.value * (vm.currentPage - 1)) }}{{row.FirstName + \" \" + row.LastName}}{{row.EmailId}}{{row.Role.RoleName}}
');\n$templateCache.put('app/pages/user/userMenuMapping/userMenuMapping.html','

USER MENU PRIVILEGE

{{$select.selected.FirstName || $select.selected}}
Company :
Email :
0\">
');\n$templateCache.put('app/pages/user/userModals/selectCompanyModal.html','

Select Company

{{$select.selected.CompanyName}}
You must select a company
');\n$templateCache.put('app/pages/user/userPrivilege/userPrivilege.html','
Basic panel example
');\n$templateCache.put('app/theme/components/backTop/backTop.html','');\n$templateCache.put('app/theme/components/baSidebar/ba-sidebar.html','');\n$templateCache.put('app/theme/components/baSidebar/ba-sidebar_bk.html','');\n$templateCache.put('app/theme/components/baWizard/baWizard.html','
{{t.title}}
');\n$templateCache.put('app/theme/components/baWizard/baWizardStep.html','
');\n$templateCache.put('app/theme/components/contentTop/contentTop.html','
');\n$templateCache.put('app/theme/components/msgCenter/msgCenter.html','');\n$templateCache.put('app/theme/components/pageTop/pageTop.html','
');\n$templateCache.put('app/theme/components/progressBarRound/progressBarRound.html','Loading...{{progress}}%');\n$templateCache.put('app/theme/components/widgets/widgets.html','
1}\">
');\n$templateCache.put('app/theme/inputs/baSwitcher/baSwitcher.html','');}]);"],"sourceRoot":"/source/"}