{"version":3,"sources":["webpack:///$_lazy_route_resource lazy namespace object","webpack:///src/app/About/aboutus.component.ts","webpack:///src/app/About/aboutus.component.html","webpack:///src/app/CaseStudies/casestudies.component.ts","webpack:///src/app/CaseStudies/casestudies.component.html","webpack:///src/app/CinemaStats/cinemastats.component.ts","webpack:///src/app/CinemaStats/cinemastats.component.html","webpack:///src/app/Contact/contact.component.ts","webpack:///src/app/Contact/contact.component.html","webpack:///src/app/Disclaimer/disclaimer.component.ts","webpack:///src/app/Disclaimer/disclaimer.component.html","webpack:///src/app/Footer/footer.component.ts","webpack:///src/app/Footer/footer.component.html","webpack:///src/app/Header/header.component.ts","webpack:///src/app/Header/header.component.html","webpack:///src/app/Home/home.component.ts","webpack:///src/app/Home/home.component.html","webpack:///src/app/Login/LoginPagesService.ts","webpack:///src/app/Login/login.component.ts","webpack:///src/app/Login/login.component.html","webpack:///src/app/Model/ConfigScreen.ts","webpack:///src/app/Pipe/PipesTransfrom.ts","webpack:///src/app/Planner/planner.component.ts","webpack:///src/app/Planner/planner.component.html","webpack:///src/app/PlannerDraft/plannerdraft.component.ts","webpack:///src/app/PlannerDraft/plannerdraft.component.html","webpack:///src/app/PostEva/posteval.component.ts","webpack:///src/app/PostEva/posteval.component.html","webpack:///src/app/PrivacyPolicy/privacypolicy.component.ts","webpack:///src/app/PrivacyPolicy/privacypolicy.component.html","webpack:///src/app/Registration/RegistrationPageService.ts","webpack:///src/app/Registration/registration.component.ts","webpack:///src/app/Registration/registration.component.html","webpack:///src/app/Team/team.component.ts","webpack:///src/app/Team/team.component.html","webpack:///src/app/app-config.ts","webpack:///src/app/app-routing.module.ts","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/app.module.ts","webpack:///src/app/embeded-report/embeded-report.component.ts","webpack:///src/app/embeded-report/embeded-report.component.html","webpack:///src/app/global/global.ts","webpack:///src/app/planner-davp/planner-davp.component.ts","webpack:///src/app/planner-davp/planner-davp.component.html","webpack:///src/app/plannerreport2/plannerreport2.component.ts","webpack:///src/app/plannerreport2/plannerreport2.component.html","webpack:///src/app/screen-report/screen-report.component.ts","webpack:///src/app/screen-report/screen-report.component.html","webpack:///src/app/shared/shared.service.ts","webpack:///src/environments/environment.ts","webpack:///src/main.ts"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","module","exports","id","AboutusComponent","selector","templateUrl","styleUrls","CasestudiesComponent","CinemastatsComponent","global","IsLoggedIn","sessionStorage","getItem","console","log","Login","IsOnMenu","IsOnApproachMenu","IsOnPlannerMenu","IsOnPostEvalMenu","IsOnContactUsMenu","IsOnStartedMenu","IsCinemaStats","CineStartURL","EmbededURL","trim","localStorage","setItem","window","location","href","ContactComponent","DisclaimerComponent","FooterComponent","GotoTeam","GotoCaseStudies","GotoAbout","GotoDisclaimer","GotoPrivacy","HeaderComponent","router","UserDetails","EditProfileDetailsArray","IsDAVPUser","IsGeneralUser","EmailID","UserFullname","phoneNumber","FirstName","UserType","EditProfileDetails","JSON","parse","length","LastName","Phone","String","clear","GoToHome","GotoContact","HomeComponent","httpOptions","headers","LoginPagesService","_http","email","get","baseUrl","pipe","response","otp","_errorHandler","Uname","pass","error","LoginComponent","http","loginpageservice","formBuilder","submitted","IsForgotPass","IsNewPassGenerate","OtpVerfy","OtfDet","isShowLoader","myInnerHeight","ipAddress","GetVerifiyEmailOtp","UsrEmailId","FullOtp","subscribe","data","alert","opt1","opt2","opt3","opt4","p","c","n","value","maxlength","getAttribute","focus","key","getLoginPageOtpData","IsResendOTP","GetLoginOtp","undefined","event","charcode","which","keyCode","IsPlannerLogin","IsPostEvalLogin","registerForm","group","required","pattern","password","minLength","controls","invalid","UserName","UsrPassword","getLoginPageData","stringify","UserId","IsCineStatsLogin","Newpassword","Newcnfpassword","url","onSubmit","ConfigScreen","SearchPipePipe","domSanitizer","bypassSecurityTrustResourceUrl","name","PlannerComponent","GoToLoginFromPlanner","PlannerdraftComponent","datepipe","_shared","todayDate","Date","FromDate","Screensubmitted","selectedStateListItems","selectedTiersListItems","selectedCityListItems","selectedScreenListItems","selectedNetworkListItems","selectedPinCodeListItems","StateList","TiersList","CityList","ScreenList","NetworkList","Atp","ScreenTypeList","PinCodeList","IsCampaignBasicStep","IsScreenStep","IsRatesStep","IsCampaignBasicDiv","IsScreenStepDiv","IsRatesStepDiv","CityListAllData","ScreenListAllData","CitypopUp","ScreenpopUp","SelectedCities","SelectedScreens","AllData","AllDataScreen","AllCity","AllScreen","SelectedCitiesToDump","SelectedScreensToDump","SelectedCitiesToRemove","SelectedScreensToRemove","AllLoadDiv","regionList","chkisSelected","SelectedSearchText","isRegionCheck","RateType","masterSelected","ScreenmasterSelected","masterCitySelected","masterScreenSelected","PinCodeData","FinalInValidList","PinCodepopUp","IsInValidPinCode","IsInValidPinCodeGet","IsPinCodeSubmit","RateScreen","ExportScreenData","ScreenCountData","IsCollapseScreenSelection","IsScreenCountScreenOpen","ScreenCount","IsMorningCheck","IsEveningCheck","IsAfternoonCheck","IsLateEveningCheck","TimeSlot","finalTimeSlotArray","MorningVal","AfternoonVal","EveningVal","lateEveningVal","IsConfiguration","IsConfigurationDiv","IsPlannerCampainPresent","ViewPlannerCamapinList","PeriodFromToInput","PeriodFromToModel","PeriodSelection","PeriodInputValue","PeriodCalenderselection","datas","TestNetworkArray","SlotData","CofigArray","ConfigList","IsScreenCountScreenOpenForConf","IsMessage","IsShowScreenDiv","PlannerMasterID","PlannerId","IsCreate","CityCount","selectScreenCount","setDate","getDate","GetPeriodDuration","Region","Status","Network","Discount","PREMIUMS","City","PinCode","ScreenName","PinCodeModel","CampaignBasicForm","ClientName","Brands","Duration","CampaignObject","CampaignStartDate","CampaignEndDate","ScreenForm","selectStateList","selectTiersList","selectCityList","selectNetworkList","Tags","selectPinCodeList","MinCapacity","MaxCapacity","MinATP","MaxATP","selectScreenList","dropdownStateSettings","singleSelection","idField","textField","selectAllText","unSelectAllText","itemsShowLimit","allowSearchFilter","dropdownTiersSettings","dropdownCitySettings","dropdownScreenSettings","dropdownNetworkSettings","dropdownPinCodeSettings","dropdownShowTimeSettings","GetPlannerCampainList","TierList","NetworksList","RegionList","IsCityOpen","IsScreenOpen","ScreenData","body","post","getBoolean","Table","Table1","Table2","Table3","Table4","Table5","slice","Table6","Table7","Table11","i","Table8","boolValue","Table9","Table10","item","push","index","findIndex","element","State","splice","GetScreensDetails","items","Tier","Networks","ev","zone","target","checked","removeIndex","itm","flag","ViewBasicDetails","PlannerSelectedScreenCount","ViewScreenDetails","Pincode","InvalidPincode","IsPublish","Type","BasicInfo","transform","PlannerMasterId","ErrorMessage","type","ScreenBasicInfo","ViewRateScreenDetails","varMorningSlot","varEveningSlot","varAfternoonSlot","varLateEveningSlot","MorningSlot","EveningSlot","AfternoonSlot","LateEveningSlot","ConfigInfo","IsSelected","valAva","filter","val","CityWithState","toLowerCase","includes","ScreenNameWithProperty","valSelected","cities","CheckboxStatus","CityID","screens","CheckboxStatusScreen","ScreenID","setTimeout","AvailableSearchText","AvailableSearchTextScreen","CheckboxSelectedtatus","selectedSearchText","pindata","InvalidPinCode","InValidPincodeList","toString","result","PinCodeModelAssigned","split","PinCodeValidation","ScreenType","ToPeriodDate","FromPeriodDate","slot","RateScreenInfo","DraftScreenDetailsInfo","ViewConfigScreenDetails","DataToExport","d","PropertyID","PropertyName","SeatingCapacity","workBook","book_new","workSheet","json_to_sheet","book_append_sheet","datePipe","currentDate","toDateString","ClearBasicInfo","user_id","Campanign_Details","StartDate","EndDate","Table12","SeatingCapcityMin","SeatingCapacityMax","ATPMin","ATPMax","rateScreenDetails","CreateConfArray","conf","ConfShows","selectedItems","prevDay","Number","fromD","FinalDt","prevMonth","setMonth","getMonth","prevYear","setFullYear","getFullYear","WeekCount","GetStartOfWeek","GetEndOfWeek","nextDay","nextMonth","nextYear","date","firstDay","lastDate","getDay","GetPreviousDateData","GetNextDateData","GetThisDateData","Val","Premiums","DarftBasicInfo","DraftScreenInfo","DraftRateInfo","ScreenSubmitData","StateArray","CityArray","TiersArray","NetworkArray","AtpData","DummyArray","FinalDummyArray","j","cof","Slot","ConfigBasicInfo","substring","indexOf","PostevalComponent","PostEvlArrayList","cinemaChainsList","selectedregionListItems","selectedcinemaChainsListItems","IsChainAdd","SpotBudgtData","FinalArray","region_zoneNew","region_zone","states","chains","FinalPostEvalData","IsSubmitPostEval","StateData","todayEndDate","ViewPostEvalCamapinList","SavePref","FinalSelectedArray","DeleteArray","cinemaChainFormArrayNew","clearFormArray","cinemaChainFormArray","removeAt","IsView","IsCampainPresent","registerPostForm","CampaignTitle","ChainList","dropdownregionSettings","dropdowncinemachainSettings","IsUserId","SaveSpotsBudgetByCinemaChain","GetPostEvalCampainList","PostEvlData","spots","Budget","frmArray","index1","y","Create","cinemachain","SavePostEvalDetails","index2","SelectedCinemaChainListCopyArray","map","x","Object","assign","FinalArrayCopyArray","FinalArrayCopyDuplicateArray","Zone","PostEvlDataState","ShowPostEvlData","charCode","preventDefault","GetPostEvalDataList","Clear","PostEvalId","chainsAlls","CinemaChain","statesAlls","GolblePostEvalId","PrivacypolicyComponent","RegistrationPageService","array","Rfirstname","Rlastname","emailid","Remail","Rphone","CompanyName","Rcompanyname","Password","Rpassword","userId","RegistrationComponent","registrationpageService","fb","disabled","RegistrationAraay","RegistrationForm","firstname","phone","lastname","companyname","cnfpassword","validator","ConfirmedValidator","InitializeRegistrationDetailsArray","getRegistrationAPIData","FormValidation","Profile_view_mode","disable","UpdateProfile","getRegistrationData","EditProfile","removeItem","GetDisableProfileDetails","Msg","Back","DisableAccount","controlName","matchingControlName","formGroup","control","matchingControl","errors","confirmedValidator","setErrors","TeamComponent","AppConfig","handler","_sharedService","jsonFile","reject","toPromise","settings","setAPIurl","apiServer","api_url","setURL","setENV","env","routes","path","component","AppRoutingModule","forRoot","imports","AppComponent","title","initializeApp","appConfig","load","AppModule","provide","useFactory","deps","multi","declarations","providers","bootstrap","EmbededReportComponent","Details","ScreenFiltersDetails","encodeURIComponent","Boolean","Global","IsIP","IsOnPlanner2Menu","IsPlannerDAVPMenu","IsPlanner2Login","FullName","Email","PlannerDAVPComponent","PlannerDAVPURL","Plannerreport2Component","Planner2URL","ScreenReportComponent","SharedService","DefaultAgency","providedIn","environment","production","bootstrapModule","err"],"mappings":"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","file":"main-es5.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-aboutus',\n templateUrl: './aboutus.component.html',\n styleUrls: ['./aboutus.component.css']\n})\nexport class AboutusComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\r\n\r\n\r\n
\r\n
\r\n

About Us

\r\n
\r\n

\r\n Dusane Infotech, an ISO 9001:2015 certified technology consulting and development company with focus on\r\n middleware engineering services in the gaming & media space. Dusane Infotech is headquartered in Mumbai,\r\n India.\r\n

\r\n

\r\n

\r\n We offer technology platforms for the gaming solutions as well as media and transactions solutions which\r\n helps our clients to:\r\n

\r\n
    \r\n
  • Reduce their time-to-market
  • \r\n\r\n
  • Reduce costs and drive business value
  • \r\n
\r\n

\r\n

Our Product Offerings:

\r\n

\r\n

\r\n Combining a fresh perspective to high volume business transactions with our experience in advanced\r\n technologies, we deliver consistent results for projects rarely achieved with conventional methods. Our\r\n business transactions framework handles high volume centralized transaction over multi-location points\r\n of\r\n transaction.\r\n

\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-casestudies',\n templateUrl: './casestudies.component.html',\n styleUrls: ['./casestudies.component.css']\n})\nexport class CasestudiesComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\r\n
\r\n
\r\n\r\n\r\n

FAQ

\r\n\r\n
\r\n
\r\n What is a Planner?\r\n

\r\n

\r\n

\r\n The AD Planner provides advertisers with the tools they need to make data-driven marketing decisions.\r\n Through\r\n CAMBioscope's audience measurement and analytics, advertisers can gain valuable insight. In addition\r\n to\r\n identifying target audiences, planning cinema campaigns, and assessing their effectiveness, this\r\n information\r\n can be used to measure the success of advertising campaigns.\r\n

\r\n

\r\n Features of ADPlanner:\r\n

\r\n

\r\n Target Audience: Segment audiences by demographics, interests, and behaviors to target specific\r\n audiences.\r\n

\r\n

\r\n

\r\n Campaign Planning: Planning and optimizing Cinema Campaigns using audience data can maximize\r\n the\r\n effectiveness of your campaigns.\r\n

\r\n

\r\n

\r\n Performance tracking: Evaluate the results of your ads in near real-time and make tweaks based\r\n on\r\n data.\r\n

\r\n

\r\n

\r\n Analytics: Create detailed reports and analytics on your ad campaigns so you can better\r\n understand\r\n your audience and improve your marketing efforts.\r\n

\r\n

\r\n\r\n\r\n What is a Post Eval?\r\n

\r\n

\r\n

\r\n The Campaign PostEval, a powerful tool for advertisers who want to evaluate the effectiveness of\r\n their\r\n marketing campaigns. The Campaign PostEval is designed to help advertisers measure the success of\r\n their\r\n campaigns and make data-driven decisions for future campaigns. Using a combination of data from\r\n various\r\n sources, it provides detailed analysis on key metrics such as reach, engagement, and ROI. One of the\r\n key\r\n features of this tool is the ability to measure ROI for your ongoing campaigns. CamBioscope helps\r\n advertisers measure ROI by deriving CPC for ongoing campaigns\r\n

\r\n\r\n

\r\n

Key Features of the tool includes:

\r\n

\r\n

\r\n Measure Campaign Effectiveness: understand how well your campaigns have performed in terms of\r\n reach\r\n and\r\n ROI.\r\n

\r\n

\r\n Identify areas for improvement: Identify areas where your campaigns could be improved to\r\n increase\r\n effectiveness and ROI.\r\n

\r\n

\r\n Compare performance of different campaigns: compare the performance of multiple campaigns and\r\n determine\r\n which strategies were most effective.\r\n

\r\n

\r\n Measure ROI for ongoing campaigns: CAMBioscope helps measure ROI for ongoing campaigns by\r\n deriving\r\n CPC.\r\n

\r\n

\r\n Make data-driven decisions: Use the insights gained from the Campaign PostEval to make\r\n data-driven\r\n decisions\r\n for future campaigns.\r\n

\r\n

\r\n\r\n What are Cinema Stats?\r\n

\r\n

\r\n

\r\n Cine Stats is designed to give pulse of the Indian Cinema Industry. This gives a complete overview\r\n as\r\n well as the insights of the industry from advertizers perspective. Indian cinema industry is broadly\r\n divided in two Geographies\r\n

    \r\n
  • \r\n South : Southern part of India comprizing of Kerala, Andrapradesh, Telangana, Karnataka,\r\n Tamilnadu\r\n and Pondicherry\r\n
  • \r\n\r\n
  • Hindi Speaking Markets(HSM) : Rest of india is primarily treated as HSM.
  • \r\n
\r\n\r\n CineStats Helps users Slice and Dice the data across multiple paramaters for these two primary markets.\r\n Some of the key data points include\r\n
    \r\n
  • Active Screens
  • \r\n
  • Show per day
  • \r\n
  • Admits per Day\\Per Show
  • \r\n
  • Avg Box office collections
  • \r\n
  • Occupancy
  • \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\nimport { Global } from '../global/global'\n\n@Component({\n selector: 'app-cinemastats',\n templateUrl: './cinemastats.component.html',\n styleUrls: ['./cinemastats.component.css']\n})\nexport class CinemastatsComponent implements OnInit {\n CineStartURL: string;\n Login: string;\n constructor(public global: Global) { }\n\n ngOnInit(): void {\n debugger\n this.global.IsLoggedIn = sessionStorage.getItem('IsLoggedIn');\n \n console.log(this.global.IsLoggedIn)\n if (this.global.IsLoggedIn == null) {\n this.global.IsLoggedIn = 'false';\n }\n this.Login = this.global.IsLoggedIn;\n this.global.IsOnMenu = false\n this.global.IsOnApproachMenu = false\n this.global.IsOnPlannerMenu = false\n this.global.IsOnPostEvalMenu = false\n this.global.IsOnContactUsMenu = false\n this.global.IsOnStartedMenu = false\n this.global.IsCinemaStats = true\n\n if (this.global.IsLoggedIn == 'true') {\r\n this.CineStartURL = this.global.EmbededURL + \"/CineStartReport\";\n this.CineStartURL = this.CineStartURL.trim();\r\n }\n \n \n }\n\n GoToLoginFromCineStart() {\r\n debugger\r\n localStorage.setItem('IsPlannerLogin', \"false\");\r\n localStorage.setItem('IsPostEvalLogin', \"false\");\r\n localStorage.setItem('IsCineStatsLogin', \"true\");\r\n window.location.href = \"./Login\"\r\n }\n\n}\n","\r\n \r\n\r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n

Cinema Statistics

\r\n
\r\n
\r\n\r\n\r\n
LOGIN
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n

\r\n Cine Stats is designed to give pulse of the Indian Cinema Industry. This gives a complete overview as\r\n well as the insights of the industry from advertizers perspective. Indian cinema industry is broadly\r\n divided in two Geographies\r\n

    \r\n
  • \r\n South : Southern part of India comprizing of Kerala, Andrapradesh, Telangana, Karnataka, Tamilnadu\r\n and Pondicherry\r\n
  • \r\n\r\n
  • Hindi Speaking Markets(HSM) : Rest of india is primarily treated as HSM.
  • \r\n
\r\n\r\n CineStats Helps users Slice and Dice the data across multiple paramaters for these two primary markets.\r\n Some of the key data points include\r\n
    \r\n
  • Active Screens
  • \r\n
  • Show per day
  • \r\n
  • Admits per Day\\Per Show
  • \r\n
  • Avg Box office collections
  • \r\n
  • Occupancy
  • \r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\nimport {Global} from '../global/global'\n\n@Component({\n selector: 'app-contact',\n templateUrl: './contact.component.html',\n styleUrls: ['./contact.component.css']\n})\nexport class ContactComponent implements OnInit {\n\n constructor(public global:Global) { }\n\n ngOnInit(): void {\n this.global.IsLoggedIn=sessionStorage.getItem('IsLoggedIn');\n console.log(this.global.IsLoggedIn)\n if(this.global.IsLoggedIn == null)\n {\n this.global.IsLoggedIn = 'false';\n }\n this.global.IsOnMenu= false\n this.global.IsOnApproachMenu= false\n this.global.IsOnPlannerMenu= false\n this.global.IsOnPostEvalMenu= false\n this.global.IsOnContactUsMenu= true\n this.global.IsOnStartedMenu= false\n this.global.IsCinemaStats = false\n \n }\n\n\n\n}\n","\r\n
\r\n
\r\n\r\n

Contact Us

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

Get advice any time

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

Phone Number

\r\n

(+91) 22 41618300

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

Locations

\r\n

4th Floor, Sambhav I.T Park (TJSB House), Behind APLAB, Wagle Estate,Thane (West), Mumbai – 400 604

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

Email

\r\n

cambioscope@dusaneinfotech.com

\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-disclaimer',\n templateUrl: './disclaimer.component.html',\n styleUrls: ['./disclaimer.component.css']\n})\nexport class DisclaimerComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n
\n
\n\n\n

Disclaimer

\n\n

Interpretation and Definitions

\n

\nInterpretation\n

\n

The words of which the initial letter is capitalized have meanings defined under the following conditions. The following definitions shall have the same meaning regardless of whether they appear in singular or in plural.

\n

\nDefinitions\n

\n

For the purposes of this Disclaimer:

\n

\n\n

Company (referred to as either \"the Company\", \"We\", \"Us\" or \"Our\" in this Disclaimer) refers to Dusane Infotech India Pvt. Ltd., 4th Floor, TJSB House, Sambhav IT Park Road No 1, Plot # B5, Wagle Estate, MIDC, Thane West, Thane, Maharashtra 400604.

\n

\n

Service refers to the Website.

\n

\n

You means the individual accessing the Service, or the company, or other legal entity on behalf of which such individual is accessing or using the Service, as applicable.

\n

\n

Website refers to Cambioscope, accessible from www.cambioscope.com

\n

\nDisclaimer\n

\n

The information contained on the Service is for general information purposes only.

\n

\n \n

The Company assumes no responsibility for errors or omissions in the contents of the Service.\n\nIn no event shall the Company be liable for any special, direct, indirect, consequential, or incidental damages or any damages whatsoever, whether in an action of contract, negligence or other tort, arising out of or in connection with the use of the Service or the contents of the Service. The Company reserves the right to make additions, deletions, or modifications to the contents on the Service at any time without prior notice. This Disclaimer has been created with the help of the TermsFeed Disclaimer Generator.

\n

\n\n

The Company does not warrant that the Service is free of viruses or other harmful components.

\n

\n\nExternal Links Disclaimer\n

\n

The Service may contain links to external websites that are not provided or maintained by or in any way affiliated with the Company.

\n

\n\n

Please note that the Company does not guarantee the accuracy, relevance, timeliness, or completeness of any information on these external websites.

\n

\n\nErrors and Omissions Disclaimer\n

\n

The information given by the Service is for general guidance on matters of interest only. Even if the Company takes every precaution to insure that the content of the Service is both current and accurate, errors can occur. Plus, given the changing nature of laws, rules and regulations, there may be delays, omissions or inaccuracies in the information contained on the Service.

\n

\n\n

The Company is not responsible for any errors or omissions, or for the results obtained from the use of this information.

\n

\n\nFair Use Disclaimer\n

\n

The Company may use copyrighted material which has not always been specifically authorized by the copyright owner. The Company is making such material available for criticism, comment, news reporting, teaching, scholarship, or research.

\n

\n\n

The Company believes this constitutes a \"fair use\" of any such copyrighted material as provided for in section 107 of the United States Copyright law.

\n

\n\n

If You wish to use copyrighted material from the Service for your own purposes that go beyond fair use, You must obtain permission from the copyright owner.

\n

\n\nViews Expressed Disclaimer\n

\n

The Service may contain views and opinions which are those of the authors and do not necessarily reflect the official policy or position of any other author, agency, organization, employer or company, including the Company.

\n

\n\n

Comments published by users are their sole responsibility and the users will take full responsibility, liability and blame for any libel or litigation that results from something written in or as a direct result of something written in a comment. The Company is not liable for any comment published by users and reserves the right to delete any comment for any reason whatsoever.

\n

\n\nNo Responsibility Disclaimer\n

\n

The information on the Service is provided with the understanding that the Company is not herein engaged in rendering legal, accounting, tax, or other professional advice and services. As such, it should not be used as a substitute for consultation with professional accounting, tax, legal or other competent advisers.

\n

\n\n

In no event shall the Company or its suppliers be liable for any special, incidental, indirect, or consequential damages whatsoever arising out of or in connection with your access or use or inability to access or use the Service.

\n

\n\n\"Use at Your Own Risk\" Disclaimer\n

\n

All information in the Service is provided \"as is\", with no guarantee of completeness, accuracy, timeliness or of the results obtained from the use of this information, and without warranty of any kind, express or implied, including, but not limited to warranties of performance, merchantability and fitness for a particular purpose.

\n

\n\n

The Company will not be liable to You or anyone else for any decision made or action taken in reliance on the information given by the Service or for any consequential, special or similar damages, even if advised of the possibility of such damages.

\n

\n\nContact Us\n

\n

If you have any questions about this Disclaimer, You can contact Us:

\n

\n

By email: cambioscope@dusaneinfotech.com

\n\n
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.css']\n})\nexport class FooterComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n\n GotoPlanner() {\n window.location.href = \"./Planner\"\n }\n\n GoToPostEval() {\n window.location.href = \"./PostEval\"\n }\n GoToCinemaStats() {\n window.location.href = \"./CinemaStats\"\n }\n\n GotoAbout() {\n window.location.href = \"./AboutUs\"\n }\n GotoDisclaimer() {\n window.location.href = \"./Disclaimer\"\n }\n GotoPrivacy() {\n window.location.href = \"./Privacy\"\n }\n GotoCaseStudies() {\n window.location.href = \"./CaseStudies\"\n }\n GotoTeam()\n {\n window.location.href = \"./Team\"\n }\n\n\n}\n","\r\n\r\n\r\n \r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\nimport { Global } from '../global/global'\nimport { Router, NavigationExtras } from '@angular/router';\n\n\n\n@Component({\n selector: 'app-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.css']\n})\nexport class HeaderComponent implements OnInit {\n // MenuH\n UserFullname: string;\n EmailID: string;\n phoneNumber: string;\n UserDetails: any = [];\n FirstName: string;\n EditProfileDetailsArray: any = [];\n IsDAVPUser: boolean = false;\n IsGeneralUser: boolean = true;\n constructor(public global: Global, private router: Router) {\n this.EmailID = \"\";\n this.UserFullname = \"\";\n this.phoneNumber = \"\";\n this.FirstName = \"\";\n\n }\n\n // UserMgt\n ngOnInit(): void {\n debugger\n this.global.IsLoggedIn = sessionStorage.getItem('IsLoggedIn');\n if (this.global.IsLoggedIn == null) {\n this.global.IsLoggedIn = 'false';\n }\n console.log(this.global.IsLoggedIn)\n this.global.IsOnMenu = true\n this.global.IsOnApproachMenu = false\n this.global.IsOnPlannerMenu = false\n this.global.IsOnPostEvalMenu = false\n this.global.IsOnContactUsMenu = false\n this.global.IsOnStartedMenu = false\n this.global.IsCinemaStats = false\n\n\n var UserType = localStorage.getItem('UserType');\n if (UserType != null) {\n if (UserType == \"General\") {\n this.IsDAVPUser = false;\n this.IsGeneralUser = true;\r\n }\n else {\n this.IsDAVPUser = true;\r\n this.IsGeneralUser = false;\r\n }\n }\n\n var EditProfileDetails = JSON.parse(localStorage.getItem('EditProfileDetails'));\n //this.EditProfileDetailsArray = [];\n //this.EditProfileDetailsArray.push(EditProfileDetails[0]);\n\n //EditProfileDetails=this.EditProfileDetailsArray;\n\n if (EditProfileDetails.length > 0) {\n this.FirstName = EditProfileDetails[0].FirstName;\r\n this.UserFullname = EditProfileDetails[0].FirstName + \" \" + EditProfileDetails[0].LastName;\r\n this.EmailID = EditProfileDetails[0].EmailID;\r\n this.phoneNumber = EditProfileDetails[0].Phone;\r\n }\n else {\n this.FirstName = EditProfileDetails.FirstName;\r\n this.UserFullname = EditProfileDetails.FirstName + \" \" + EditProfileDetails.LastName;\r\n this.EmailID = EditProfileDetails.EmailID;\r\n this.phoneNumber = EditProfileDetails.Phone;\r\n }\n\n\n }\n\n GotoStartedPage() {\n window.location.href = \"./Login\"\n }\n\n GotoPlanner() {\n window.location.href = \"./Planner\"\n }\n\n GotoPlanner2() {\n window.location.href = \"./CBPlanner2\"\n }\n\n GoToPostEval() {\n window.location.href = \"./PostEval\"\n }\n\n ApproachClick() {\n this.global.IsOnMenu = false\n this.global.IsOnApproachMenu = true\n this.global.IsOnPlannerMenu = false\n this.global.IsOnPostEvalMenu = false\n this.global.IsOnContactUsMenu = false\n this.global.IsOnStartedMenu = false\n\n }\n\n // UserMgt\n LogoutApp() {\n debugger\n\n this.global.IsLoggedIn = 'false';\n sessionStorage.setItem('IsLoggedIn', String(this.global.IsLoggedIn));\n localStorage.clear();\n window.location.href = \"./\"\n\n\n }\n\n GotoContact() {\n window.location.href = \"./Contact\"\n }\n\n GoToCinemaStats() {\n window.location.href = \"./CinemaStats\"\n }\n\n GoToHome() {\r\n debugger\n window.location.href = \"./\"\r\n }\r\n\r\n GoforRegistration() {\r\n debugger\r\n window.location.href = \"./Registration\"\r\n }\r\n\r\n GotoPlanner1() {\r\n debugger\r\n window.location.href = \"./PlannerDraft\"\r\n }\r\n GoToPlannerDAVP() {\n debugger\r\n window.location.href = \"./planner\"\r\n }\n\n}\n","\r\n
\r\n\r\n
\r\n\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-home',\n templateUrl: './home.component.html',\n styleUrls: ['./home.component.css']\n})\nexport class HomeComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n\r\n\r\n
\r\n\r\n \r\n
\r\n
    \r\n \r\n
  • \r\n \r\n \r\n \"\"\r\n\r\n \r\n \r\n\r\n \r\n
    \r\n Be Creative\r\n
    \r\n\r\n \r\n
    \r\n Be Data Driven
    \r\n\r\n \r\n
    \r\n
    Cinema Advertisement Redefined
    \r\n
    \r\n Derive maximum ROI for your advertisement spend\r\n
    \r\n \r\n
    \r\n\r\n -->\r\n \r\n \r\n
    CONTINUE
    \r\n\r\n \r\n
    \r\n \r\n \r\n
    \r\n
  • \r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n

Data
Driven

\r\n

Complete Data based approach for Campaign planning.

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

What if Scenarios

\r\n

Try options to reduce the CPMs.

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

Post Eval

\r\n

Evaluate the effectiveness for your running campaigns.

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

Near Live Data

\r\n

Analysis performed on near live data.

\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n Highlights of services\r\n

Plan your highly effective Cinema Campaigns using CAMBioscope!

\r\n

A proprietary AI based cinema advertisement planning tool such as CAMBioscope is designed to elicit maximum return on investment for every rupee spent. This tool intelligently proposes the screens and rates at which any campaign should be conducted to bring down Cost per Contact (CPC) and maximize Return on investment (ROI).

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

Measure ROI for your running campaigns!

\r\n

CAMBioscope helps advertisers plan their cinema campaigns by maximizing ROI. The advertisers can also measure the ROI for ongoing campaigns or older ones. The Occupancy data arrived at by the AI/ML algorithm can help with the performance measurement by deriving a common currency of CPC (Cost per Contact).

\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http';\r\n\r\nimport { catchError, map } from 'rxjs/operators';\r\n\r\nimport { throwError as observableThrowError, Observable, from } from 'rxjs';\r\nimport {Global} from '../global/global'\r\n\r\n\r\nconst httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json ;charset=utf-8',\r\n 'accept': 'application/json'\r\n })\r\n};\r\n@Injectable()\r\nexport class LoginPagesService {\r\n\r\n\r\n constructor(private _http: HttpClient, private global: Global) { }\r\n\r\n getLoginPageOtpData(email: string): Observable {\r\n debugger\r\n\r\n\r\n // return this._http.get(this.global.baseLoginUrl + '/Login/GetUser?EmailID=' + email).pipe(\r\n // map((response: Response) => {}),\r\n // catchError(this._errorHandler));\r\n\r\n return this._http.get(this.global.baseUrl + 'api/Login/GetUser?EmailID=' + email).pipe(\r\n map((response) => {\r\n return response\r\n })\r\n )\r\n }\r\n\r\n GetVerifiyEmailOtp(email: string, otp: number): Observable {\r\n debugger\r\n\r\n\r\n // return this._http.get(this.global.baseLoginUrl + '/Login/GetUser_Role?EmailID=' + email + '&OTP=' + otp).pipe(\r\n // map((response: Response) => response),\r\n // catchError(this._errorHandler));\r\n\r\n return this._http.get(this.global.baseUrl + 'api/Login/Get_User_Rights?EmailID=' + email + '&OTP=' + otp).pipe(\r\n map((response: any) => { return response }), catchError(this._errorHandler));\r\n\r\n\r\n\r\n }\r\n\r\n getLoginPageData(Uname: string, pass: string): Observable {\r\n debugger\r\n\r\n\r\n // return this._http.get(this.global.baseLoginUrl + '/Login/GetUser_Role?EmailID=' + email + '&OTP=' + otp).pipe(\r\n // map((response: Response) => response),\r\n // catchError(this._errorHandler));\r\n\r\n return this._http.get(this.global.baseUrl + 'api/Login/Get_User_Login?EmailID=' + Uname +'&Password=' + pass).pipe(\r\n map((response: any) => { return response }), catchError(this._errorHandler));\r\n\r\n\r\n\r\n }\r\n\r\n\r\n // SetNewPassword(Uname: string, pass: string): Observable {\r\n // debugger\r\n\r\n\r\n // // return this._http.get(this.global.baseLoginUrl + '/Login/GetUser_Role?EmailID=' + email + '&OTP=' + otp).pipe(\r\n // // map((response: Response) => response),\r\n // // catchError(this._errorHandler));\r\n\r\n // return this._http.post(this.global.baseUrl + 'api/Login/ForgotPassword?EmailID=' + Uname +'&Password=' + pass,).pipe(\r\n // map((response: any) => { return response }), catchError(this._errorHandler));\r\n\r\n\r\n\r\n // }\r\n\r\n\r\n \r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n _errorHandler(error: Response) {\r\n debugger\r\n\r\n console.log(error);\r\n return observableThrowError(() => error || \"Internal server error\");\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n}","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { LoginPagesService } from './LoginPagesService'\nimport { Global } from '../global/global'\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { strict } from 'assert';\r\nimport { Local } from 'protractor/built/driverProviders';\r\n\n\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.css']\n})\nexport class LoginComponent implements OnInit {\n registerForm: FormGroup;\n // registerLoginForm:FormGroup\n submitted = false;\n IsForgotPass: boolean = true\n IsNewPassGenerate: boolean = false\n\n\n OtpVerfy: boolean = false;\n OtfDet: boolean = false\n UsrEmailId: string\n FullOtp: number\n opt1: number\n opt2: number\n opt3: number\n opt4: number\n isShowLoader: boolean = false\n IsResendOTP: number\n UsrPassword: string\n UserName: string\n Newcnfpassword: string\n Newpassword: string\n myInnerHeight: any = 346;\n ipAddress: string;\n\n\n\n constructor(private http: HttpClient, public global: Global, private router: Router, private loginpageservice: LoginPagesService, private formBuilder: FormBuilder) {\n window.sessionStorage.clear();\n this.ipAddress = '';\n\n }\n\n\n GoforRegistration() {\n debugger\n\n\n\n window.location.href = \"./Registration\"\n }\n\n GetVerifiyEmailOtp() {\n debugger\n this.isShowLoader = true;\n\n this.loginpageservice.GetVerifiyEmailOtp(this.UsrEmailId.trim(), this.FullOtp).subscribe(\n data => {\n debugger\n // this.theaterList = [];\n if (data[0].EmailID != 'Invalid OTP') {\n debugger\n // window.sessionStorage.clear();\n // sessionStorage.setItem('SMasterId', data[0].MasterId);\n // sessionStorage.setItem('SUserType', data[0].UserTypeId);\n this.isShowLoader = false;\n // this.global.IsLoggedIn = 'true';\n // sessionStorage.setItem('IsLoggedIn', String(this.global.IsLoggedIn));\n\n // window.location.href = \"./PostEval\"\n\n this.OtfDet = false\n this.IsNewPassGenerate = true\n }\n else {\n this.isShowLoader = false;\n alert(\"please check OTP you entered\");\n\n return\n }\n });\n }\n\n GetStartedPage() {\n debugger\n this.FullOtp = this.opt1 + this.opt2 + this.opt3 + this.opt4\n this.GetVerifiyEmailOtp();\n\n\n }\n\n move(e: any, p: any, c: any, n: any) {\n var length = c.value.length;\n var maxlength = c.getAttribute('maxlength');\n if (length == maxlength) {\n if (n != \"\") {\n n.focus();\n }\n }\n if (e.key === \"Backspace\") {\n if (p != \"\") {\n p.focus();\n }\n }\n\n }\n\n GetLoginOtp() {\n debugger\n // this.OtpVerfy = !this.OtpVerfy;\n // this.OtfDet = !this.OtfDet;\n\n debugger\n this.isShowLoader = true;\n this.loginpageservice.getLoginPageOtpData(this.UsrEmailId.trim()).subscribe(\n data => {\n debugger\n // this.theaterList = [];\n if (data == 'success') {\n debugger\n // this.theaterList = data.states;\n // console.log(this.theaterList );\n if (this.IsResendOTP != 1) {\n this.OtpVerfy = !this.OtpVerfy;\n this.OtfDet = !this.OtfDet;\n }\n else {\n alert(\"Otp send successfully.\");\n }\n this.isShowLoader = false;\n }\n else {\n this.isShowLoader = false;\n alert(\"please check email you entered\");\n\n return\n }\n });\n }\n\n ResendOTP() {\n debugger\n this.IsResendOTP = 1;\n this.GetLoginOtp();\n }\n\n\n\n OtpVerfication() {\n debugger\n this.myInnerHeight =346\n if (this.UsrEmailId == undefined) {\n alert(\"Please enter the emailId to login\")\n\n }\n else {\n // this.OtpVerfy=!this.OtpVerfy;\n // this.OtfDet=!this.OtfDet;\n this.GetLoginOtp();\n }\n }\n\n\n noallowed(event: any): boolean {\n const charcode = (event.which) ? event.which : event.keyCode;\n if (charcode > 31 && (charcode < 48 || charcode > 57)) {\n console.log('charcode restricted is' + charcode);\n return false;\n }\n return true;\n }\n // UserMgt\n ngOnInit(): void {\n debugger\n this.global.IsPlannerLogin = localStorage.getItem('IsPlannerLogin');\n this.global.IsPostEvalLogin = localStorage.getItem('IsPostEvalLogin');\n\n this.global.IsLoggedIn = sessionStorage.getItem('IsLoggedIn');\n console.log(this.global.IsLoggedIn)\n if (this.global.IsLoggedIn == null) {\n this.global.IsLoggedIn = 'false';\n }\n this.global.IsOnMenu = false\n this.global.IsOnApproachMenu = false\n this.global.IsOnPlannerMenu = false\n this.global.IsOnPostEvalMenu = false\n this.global.IsOnContactUsMenu = false\n this.global.IsOnStartedMenu = true\n this.global.IsCinemaStats = false\n\n this.registerForm = this.formBuilder.group({\n email: ['', [Validators.required, Validators.email, Validators.pattern('^[a-z0-9._%+-]+@[a-z0-9.-]+\\\\.[a-z]{2,4}$')]],\n password: ['', [Validators.required, Validators.minLength(6)]]\n });\n\n }\n\n get f() { return this.registerForm.controls; }\n\n onSubmit() {\n this.submitted = true;\n\n if (this.registerForm.invalid) {\n return;\n }\n\n // alert('SUCCESS!! :-)\\n\\n' + JSON.stringify(this.registerForm.value))\n }\n\n GotoStartedPage() {\n window.location.href = './Login'\n }\n\n // UserMgt\n LogoutApp() {\n localStorage.clear();\n this.global.IsLoggedIn = 'false';\n sessionStorage.setItem('IsLoggedIn', String(this.global.IsLoggedIn));\n window.location.href = \"./Login\"\n \n\n }\n GoToPostEval() {\n window.location.href = \"./PostEval\"\n }\n\n GotoPlanner() {\n window.location.href = \"./Planner\"\n }\n\n Login() {\n\n if (this.UserName && this.UsrPassword) {\n debugger\n\n this.loginpageservice.getLoginPageData(this.UserName.trim(), this.UsrPassword.trim()).subscribe(\n data => {\n\n debugger\n \n // this.theaterList = [];\n if (data[0].EmailID == 'Please enter a valid email id') {\n debugger\n alert(data[0].EmailID);\n \n\n\n }\n else if (data[0].EmailID == 'Please enter a valid password and try again') {\n alert(data[0].EmailID);\n }\n else {\n localStorage.setItem(\"EditProfileDetails\", JSON.stringify(data))\n sessionStorage.setItem('IsUserId', String(data[0].UserId));\n this.global.IsLoggedIn = 'true'; \n sessionStorage.setItem('IsLoggedIn', String(this.global.IsLoggedIn));\n localStorage.setItem('UserType', String(data[0].UserType));\n //sessionStorage.setItem('FullName', String(data[0].FullName))\n //sessionStorage.setItem('Email', String(data[0].EmailID))\n //sessionStorage.setItem('Phone', String(data[0].Phone)) \n //sessionStorage.setItem('FirstName', String(data[0].FirstName))\n \n\n\n if (this.global.IsPlannerLogin == \"true\") {\n window.location.href = \"./Planner\"\n }\n else if (this.global.IsPostEvalLogin == \"true\") {\n window.location.href = \"./PostEval\"\n }\n else if (this.global.IsCineStatsLogin == \"true\")\n {\n window.location.href = \"./CinemaStats\"\r\n }\n else {\n window.location.href = \"./\"\n }\n\n }\n });\n }\n else {\n alert(\"Please enter Username and password\")\n }\n\n\n }\n\n GoforForgotPass() {\n debugger\n this.myInnerHeight = 258;\n this.IsForgotPass = false\n this.OtpVerfy = true\n }\n\n\n ResetPassword() {\n debugger\n if (this.Newpassword == this.Newcnfpassword) {\n debugger\n\n var url = this.global.baseUrl + 'api/Login/ForgotPassword?Email_ID=' + this.UsrEmailId + '&Password=' + this.Newpassword;\n this.http.get(url).subscribe(data => {\r\n debugger\n if (data == 'success') {\n alert(\"Reset password successfully\");\n window.location.href = \"./Login\"\n }\n }, (error) => {\n debugger\n\n console.log(\"Error.error is\", error.error);\n\n });\n\n // const body = { EmailID: this.UsrEmailId, Password: this.Newpassword };\n /// const body = { screenID: '175' ,showDate : this.datepipe.transform( this.createCampaignModel.startDate, 'yyyy-MM-dd')};\n //this.http.get(this.global.baseUrl + 'api/Login/ForgotPassword?EmailID=' + this.UsrEmailId + '&Password=' + this.Newpassword, {}).subscribe(data => {\n // debugger\n // if (data == 'success') {\n // alert(\"Reset password successfully\");\n // window.location.href = \"./Login\"\n // }\n //}, (error) => {\n // debugger\n\n // console.log(\"Error.error is\", error.error);\n\n //});\n // this.loginpageservice.SetNewPassword(this.UsrEmailId.trim(), this.Newpassword.trim()).subscribe(\n // data => {\n // debugger\n // if (data == \"success\") {\n // alert(\"Password reset successfully\")\n // window.location.href = \"./Login\"\n // }\n // // this.theaterList = [];\n\n // });\n }\n else {\n alert(\"Password and Confirm Password should be same.\")\n }\n }\n\n\n\n\n}\n","
\r\n\r\n\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n \r\n
\r\n
LOG INTO YOUR ACCOUNT
\r\n
\r\n
\r\n
\r\n\r\n
\r\n UserName\r\n
\r\n
\r\n \r\n \r\n\r\n\r\n
\r\n\r\n
\r\n Password\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
Reset password
\r\n
\r\n
\r\n
\r\n\r\n
\r\n Email\r\n
\r\n
\r\n \r\n
\r\n
Email is required
\r\n
Email must be a valid email address
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n OTP Verification\r\n
\r\n
\r\n \r\n Enter the otp sent to your email.\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n Didn't receive OTP?\r\n\r\n
\r\n
\r\n RESEND OTP\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n \r\n
\r\n \r\n\r\n\r\n
Create new password
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n Password\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n\r\n\r\n
\r\n Confirm Password\r\n
\r\n
\r\n \r\n\r\n\r\n\r\n
\r\n\r\n \r\n\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n\r\n \r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n","export class ConfigScreen {\r\n Networks: string;\r\n ConfShows: string;\r\n SlotData: any;\r\n selectedItems: any\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'safe'\r\n})\r\nexport class SearchPipePipe implements PipeTransform {\r\n\r\n constructor(private domSanitizer: DomSanitizer) { }\r\n \r\n transform(EmbededURL) {\r\n debugger;\r\n return this.domSanitizer.bypassSecurityTrustResourceUrl(EmbededURL);\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport {Global} from '../global/global'\r\n\r\n@Component({\r\n selector: 'app-planner',\r\n templateUrl: './planner.component.html',\r\n styleUrls: ['./planner.component.css']\r\n})\r\nexport class PlannerComponent implements OnInit {\r\n\r\n constructor(public global:Global) { }\r\n\r\n ngOnInit(): void {\r\n debugger\r\n this.global.IsLoggedIn=sessionStorage.getItem('IsLoggedIn');\r\n console.log(this.global.IsLoggedIn) \r\n if(this.global.IsLoggedIn == null){\r\n this.global.IsLoggedIn = 'false';\r\n }\r\n this.global.IsOnMenu= false\r\n this.global.IsOnApproachMenu= false\r\n this.global.IsOnPlannerMenu= true\r\n this.global.IsOnPostEvalMenu= false\r\n this.global.IsOnContactUsMenu= false\r\n this.global.IsOnStartedMenu= false\r\n this.global.IsCinemaStats = false\r\n\r\n if (this.global.IsLoggedIn =='true') {\r\n window.location.href = \"./CBPlanner\"\r\n }\r\n }\r\n\r\n GoToLoginFromPlanner()\r\n {\r\n debugger\r\n localStorage.setItem('IsPlannerLogin', \"true\");\r\n localStorage.setItem('IsPostEvalLogin', \"false\");\r\n\r\n window.location.href = \"./Login\"\r\n }\r\n\r\n \r\n // GotoPlanner()\r\n // {\r\n // window.location.href = \"./Planner\"\r\n // }\r\n \r\n GoToPostEval()\r\n { \r\n window.location.href = \"./PostEval\"\r\n }\r\n\r\n // UserMgt\r\n LogoutApp()\r\n {\r\n this.global.IsLoggedIn = 'false';\r\n sessionStorage.setItem('IsLoggedIn', String(this.global.IsLoggedIn));\r\n window.location.href = \"./Login\"\r\n\r\n\r\n }\r\n\r\n}\r\n","\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n

Campaign Planner

\r\n
\r\n
\r\n\r\n\r\n
LOGIN
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n

The AD Planner provides advertisers with the tools they need to make data-driven marketing decisions. Through CAMBioscope's audience measurement and analytics, advertisers can gain valuable insight. In addition to identifying target audiences, planning cinema campaigns, and assessing their effectiveness, this information can be used to measure the success of advertising campaigns.

\r\n

\r\n Features of ADPlanner:\r\n

\r\n

Target Audience:Segment audiences by demographics, interests, and behaviors to target specific audiences.

\r\n

\r\n

Campaign Planning:Planning and optimizing Cinema Campaigns using audience data can maximize the effectiveness of your campaigns.

\r\n

\r\n

Performance tracking: Evaluate the results of your ads in near real-time and make tweaks based on data.

\r\n

\r\n

Analytics: Create detailed reports and analytics on your ad campaigns so you can better understand your audience and improve your marketing efforts.

\r\n\r\n \r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n \r\n
\r\n","import { DatePipe } from '@angular/common';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\r\nimport * as XLSX from 'xlsx';\r\nimport { Global } from '../global/global';\r\nimport { ConfigScreen } from '../Model/ConfigScreen'\r\nimport { fail } from 'assert';\r\nimport { transcode } from 'buffer';\r\nimport { SharedService } from '../shared/shared.service'\r\n\n\n\n@Component({\n selector: 'app-plannerdraft',\n templateUrl: './plannerdraft.component.html',\n styleUrls: ['./plannerdraft.component.css']\n})\nexport class PlannerdraftComponent implements OnInit {\n\n // Campaign Basic\n todayDate = new Date();\n FromDate = new Date();\n CampaignBasicForm: FormGroup;\n submitted = false;\n Screensubmitted = false\n ClientName: any\n Brands: any\n Duration: any;\n CampaignObject: any\n CampaignBudget: any\n CampaignStartDate: any\n CampaignEndDate: any\n\n // Network\n // Screen\n ScreenForm: FormGroup\n selectedStateListItems: any = [];\n selectedTiersListItems: any = [];\n selectedCityListItems: any = [];\n selectedScreenListItems: any = [];\n selectedNetworkListItems: any = [];\n\n selectedPinCodeListItems: any = [];\n StateList: any = [];\n TiersList: any = [];\n CityList: any = [];\n ScreenList: any = [];\n NetworkList: any = [];\n Atp: any = 100\n //New\n ScreenTypeList: any = []\n PinCodeList = []\n Tags: any\n NoOfShows: any\n screeenFilter: any\n dropdownStateSettings: IDropdownSettings\n dropdownTiersSettings: IDropdownSettings\n dropdownCitySettings: IDropdownSettings\n dropdownNetworkSettings: IDropdownSettings\n dropdownPinCodeSettings: IDropdownSettings\n dropdownShowTimeSettings: IDropdownSettings\n dropdownScreenSettings: IDropdownSettings\n\n //Flags\n IsCampaignBasicStep: boolean = true\n IsScreenStep: boolean = false\n IsRatesStep: boolean = false\n IsCampaignBasicDiv: boolean = true\n IsScreenStepDiv: boolean = false\n IsRatesStepDiv: boolean = false\n\n // Loader\n isShowLoader: boolean = false\n\n //All Data Dump\r\n CityListAllData: any = []\r\n ScreenListAllData: any=[]\r\n\r\n ///CityUI\n RateForm: FormGroup\n CitypopUp: boolean = false\n ScreenpopUp: boolean = false\n SelectedCities: any = []\n SelectedScreens: any = []\n AvailableSearchText: any\n AvailableSearchTextScreen: any\n selectedSearchText: any\n AllData: any = []\n AllDataScreen: any = []\n AllCity: any = []\n AllScreen: any=[]\n SelectedCitiesToDump: any = []\n SelectedScreensToDump: any = []\n CheckboxStatus: any\n CheckboxStatusScreen: any\n CheckboxSelectedtatus: any\n SelectedCitiesToRemove: any = []\n SelectedScreensToRemove: any = []\n AllLoadDiv: boolean = true\n regionList: any = []\n chkisSelected: boolean = false\n SelectedSearchText: boolean = false\n isRegionCheck: boolean = false\n RateType: any = []\n masterSelected: boolean = false\n ScreenmasterSelected: boolean = false\n masterCitySelected: boolean = false\n masterScreenSelected: boolean = false\n\n //New\n MaxCapacity: any\n MinCapacity: any\n\n MaxATP: any\n MinATP: any\n\n // PinCode\n PinCodeModel: any\n PinCodeData: any = []\n InvalidPinCode: any\n FinalInValidList = []\n PinCodepopUp: boolean = false\n\n IsInValidPinCode: boolean = false\n IsInValidPinCodeGet: boolean = false\n IsPinCodeSubmit: boolean = true\n PlannerMasterID: number;\n PlannerId: number;\n RateScreen: any = [];\n ExportScreenData: any = [];\n ScreenCountData: any = []\n IsCollapseScreenSelection: boolean = false\n IsScreenCountScreenOpen: boolean = false\n ScreenCount: number = 0\n\n\n ///Time Slot \n IsMorningCheck: boolean = true\n IsEveningCheck: boolean = true\n IsAfternoonCheck: boolean = true\n IsLateEveningCheck: boolean = true\n\n TimeSlot: any = []\n finalTimeSlotArray: any = []\n\n MorningVal: number = 0\n AfternoonVal: number = 0\n EveningVal: number = 0\n lateEveningVal: number = 0\n\n IsConfiguration: boolean = false\n IsConfigurationDiv: boolean = false\n IsPlannerCampainPresent: boolean = false;\n ViewPlannerCamapinList: any = [];\n IsCreate: boolean;\n\n\n // /Period\n PeriodFromToInput: any = []\n PeriodFromToModel: any = []\n FromPeriodDate: any\n ToPeriodDate: any\n\n PeriodSelection: any = 'Last'\n PeriodInputValue: number = 3\n PeriodCalenderselection: any = 'Months'\n datas: any = \"adasdsad\"\n\n\n TestNetworkArray: any = []\n SlotData: any = []\n\n CofigArray: any = []\n ConfigList: Array = [];\n IsScreenCountScreenOpenForConf: boolean = false\n IsMessage: boolean = false;\n\n IsShowScreenDiv: boolean = false;\n CityCount: number;\n selectScreenCount: number;\n \n\n\n\r\n\n\n\n constructor(public global: Global, private http: HttpClient, public datepipe: DatePipe, private router: Router, private formBuilder: FormBuilder,private _shared:SharedService) {\n this.PlannerMasterID = null;\n this.PlannerId = null;\n this.ExportScreenData = [];\n this.ViewPlannerCamapinList = [];\n this.IsPlannerCampainPresent = false;\n this.IsCreate = false;\n this.CityCount = 0;\n this.selectScreenCount = 0;\n ;\n }\n\n ngOnInit(): void {\n debugger \n //On load Bind all DDL\n this.todayDate.setDate(this.todayDate.getDate() + 1)\n this.GetPeriodDuration('Months')\n\n this.RateType = [{ Region: 'Rate Rack', Status: true }, { Region: 'Suggested Rate', Status: false }]\n\n this.RateScreen = [\n {\r\n Network: 'UFO',\n Discount: 5,\n PREMIUMS: 15,\n RateType: true\n },\n {\r\n Network: 'PVR',\n Discount: 5,\n PREMIUMS: 10,\n RateType: false\n }\n ]\n\n\n this.SlotData = [\n { \"Slot\": \"Morning\" },\n { \"Slot\": \"Afternoon\"},\n { \"Slot\": \"Evening\"},\n { \"Slot\": \"LateEvening\"}\n\n ]\n\n\n this.selectedCityListItems = [{ id: 0, City: \"0 cities selected\" }]\n this.selectedPinCodeListItems = [{ id: 0, PinCode: \"0 PinCode selected\" }]\n this.selectedScreenListItems = [{ id: 0, ScreenName: \"0 screens selected\" }]\n\n this.PinCodeModel = \"\"\n\n //Basic Form Validation\n this.CampaignBasicForm = this.formBuilder.group({\n ClientName: ['', [Validators.required]],\n Brands: ['', [Validators.required]],\n Duration: ['', [Validators.required]],\n CampaignObject: ['', [Validators.required]],\n\n CampaignStartDate: ['', [Validators.required]],\n CampaignEndDate: ['', [Validators.required]],\n PeriodInputValue: ['']\n\n\n });\n // Screen Form Validators\n this.ScreenForm = this.formBuilder.group({\n selectStateList: ['', [Validators.required]],\n selectTiersList: ['', [Validators.required]],\n selectCityList: ['', [Validators.required]],\n selectNetworkList: ['', [Validators.required]],\n Tags: [''],\n selectPinCodeList: [''],\n\n MinCapacity: [''],\n MaxCapacity: [''],\n MinATP: [''],\n MaxATP: [''],\n selectScreenList:['']\n\n\n\n });\n\n this.dropdownStateSettings = {\n singleSelection: false,\n idField: 'State',\n textField: 'State',\n selectAllText: 'Select All',\n unSelectAllText: 'UnSelect All',\n itemsShowLimit: 3,\n allowSearchFilter: true\n };\n\n\n this.dropdownTiersSettings = {\n singleSelection: false,\n idField: 'Tier',\n textField: 'Tier',\n selectAllText: 'Select All',\n unSelectAllText: 'UnSelect All',\n itemsShowLimit: 3,\n allowSearchFilter: true\n };\n\n this.dropdownCitySettings = {\n singleSelection: false,\n idField: 'id',\n textField: 'City',\n selectAllText: 'Select All',\n unSelectAllText: 'UnSelect All',\n itemsShowLimit: 3,\n allowSearchFilter: true\n };\n\n\n this.dropdownScreenSettings = {\n singleSelection: false,\n idField: 'id',\n textField: 'ScreenName',\n selectAllText: 'Select All',\n unSelectAllText: 'UnSelect All',\n itemsShowLimit: 3,\n allowSearchFilter: true\n };\n\n\n this.dropdownNetworkSettings = {\n singleSelection: false,\n idField: 'Networks',\n textField: 'Networks',\n selectAllText: 'Select All',\n unSelectAllText: 'UnSelect All',\n itemsShowLimit: 3,\n allowSearchFilter: true\n };\n\n\n this.dropdownPinCodeSettings = {\n singleSelection: false,\n idField: 'id',\n textField: 'PinCode',\n selectAllText: 'Select All',\n unSelectAllText: 'UnSelect All',\n itemsShowLimit: 3,\n allowSearchFilter: true\n };\n\n this.dropdownShowTimeSettings = {\n singleSelection: false,\n idField: 'Slot',\n textField: 'Slot',\n selectAllText: 'Select All',\n unSelectAllText: 'UnSelect All',\n itemsShowLimit: 2,\n allowSearchFilter: true\n };\n\n this.global.IsLoggedIn = sessionStorage.getItem('IsLoggedIn');\n if (this.global.IsLoggedIn == null) {\n this.global.IsLoggedIn = 'false';\n }\n this.GetPlannerCampainList();\n\n }\n //Get Screen Data API Call\n GetScreensDetails(StateList: any, TierList: any, CityList: any, NetworksList: any, RegionList: any, ScreenTypeList: any, ScreenList: any, IsCityOpen: any,IsScreenOpen:any) {\n this.IsShowScreenDiv = false;\n debugger\n if (StateList == null) {\n StateList = []\n }\n if (TierList == null) {\n TierList = []\n }\n if (CityList == null) {\n CityList = []\n }\n if (NetworksList == null) {\n NetworksList = []\n }\n if (RegionList == null) {\n RegionList = []\n }\n if (ScreenTypeList == null) {\n ScreenTypeList = []\n }\n if (ScreenList==null) {\n ScreenList=[]\r\n }\n\n if (this.ScreenListAllData.length == 0 || this.ScreenListAllData==null) {\n ScreenList = [];\r\n }\n\n this.isShowLoader = true;\n const headers = { 'content-type': 'application/json' }\n const ScreenData: any = {\n \"PlannerId\": null,\n \"StateList\": StateList,\n \"TierList\": TierList,\n \"CityList\": CityList,\n \"NetworksList\": NetworksList,\n \"RegionList\": RegionList,\n \"ScreenTypeList\": ScreenTypeList,\n \"ScreenList\": ScreenList\n };\n\n const body = JSON.stringify(ScreenData)\r\n var url = this.global.baseUrl + 'api/Planner/GetPlannerFilter'\r\n\r\n this.http.post(url, body, { 'headers': headers }).subscribe((response) => {\r\n debugger\r\n if (response != null) {\r\n\r\n\r\n this.StateList = [];\r\n this.TiersList = [];\r\n this.CityList = [];\r\n this.NetworkList = [];\r\n this.CityListAllData = [];\r\n this.regionList = [];\r\n this.ScreenTypeList = []\r\n\r\n this.selectedStateListItems = [];\r\n this.selectedTiersListItems = [];\r\n this.SelectedCities = [];\r\n this.selectedNetworkListItems = []\r\n this.CityListAllData = []\r\n\r\n this.SelectedScreens = []\r\n this.ScreenListAllData =[] \r\n this.AllDataScreen = []\r\n this.CityCount = 0;\r\n this.selectScreenCount=0\r\n //this.selectedScreenListItems=[]\r\n\r\n\r\n this.StateList = response.Table;\r\n this.selectedStateListItems = response.Table1\r\n this.TiersList = response.Table2;\r\n this.selectedTiersListItems = response.Table3\r\n\r\n this.CityListAllData = response.Table4\r\n this.SelectedCities = response.Table5\r\n this.AllData = response.Table4.slice()\r\n\r\n this.SelectedCities = response.Table5 //City selected\r\n this.NetworkList = response.Table6;\r\n this.selectedNetworkListItems = response.Table7;\r\n\r\n this.CityCount = response.Table5.length;\n this.selectScreenCount = response.Table11.length;\r\n\r\n for (var i = 0; i < response.Table8.length; i++) {\r\n var boolValue = getBoolean(response.Table8[i].Status); //returns true\r\n response.Table8[i].Status = boolValue;\r\n\r\n }\r\n\r\n for (var i = 0; i < response.Table9.length; i++) {\r\n var boolValue = getBoolean(response.Table9[i].Status); //returns true\r\n response.Table9[i].Status = boolValue;\r\n\r\n }\r\n\r\n function getBoolean(value) {\r\n switch (value) {\r\n case true:\r\n case \"true\":\r\n\r\n return true;\r\n default:\r\n return false;\r\n }\r\n }\r\n this.regionList = response.Table8;\r\n // Table9\r\n this.ScreenTypeList = response.Table9;\r\n // Table11\r\n\r\n this.ScreenListAllData = response.Table10\r\n this.SelectedScreens = response.Table11\r\n this.AllDataScreen = response.Table11.slice()\r\n\r\n if (IsCityOpen == true) {\r\n \r\n this.AllLoadDiv = false\r\n this.CitypopUp = true\r\n this.ScreenpopUp = false;\r\n this.IsShowScreenDiv = true;\r\n }\r\n\r\n if (IsScreenOpen==true) {\r\n this.ScreenpopUp = true; \r\n this.AllLoadDiv = false\r\n this.CitypopUp = false\r\n \r\n }\r\n this.selectedCityListItems[0].City = this.CityCount + \" \" + \" cities selected\"\r\n this.selectedScreenListItems[0].ScreenName = this.selectScreenCount + \" \" + \" screens selected\"\r\n\r\n this.isShowLoader = false;\r\n }\r\n else {\r\n this.StateList = [];\r\n this.TiersList = [];\r\n this.CityList = [];\r\n this.ScreenList=[]\r\n this.NetworkList = [];\r\n this.CityListAllData = [];\r\n this.ScreenListAllData = [];\r\n\r\n this.selectedStateListItems = [];\r\n this.selectedTiersListItems = [];\r\n this.SelectedCities = [];\r\n this.selectedNetworkListItems = []\r\n this.CityListAllData = []\r\n this.ScreenListAllData = [];\r\n this.selectedCityListItems = [{ id: 0, City: \"0 cities selected\" }]\r\n this.selectedPinCodeListItems = [{ id: 0, PinCode: \"0 PinCode selected\" }]\r\n this.selectedScreenListItems = [{ id: 0, ScreenName: \"0 screens selected\" }]\r\n //this.StateList = [];\r\n this.isShowLoader = false;\r\n }\r\n }, (error) => {\r\n this.isShowLoader = false;\r\n alert(\"Error Occured\")\r\n });\n }\n // All OnClick DDL Events\n\n\n\n // State Event\n onItemStateSelect(item: any) {\n debugger\n this.IsShowScreenDiv = false;\n\n this.selectedStateListItems.push(item);\n const index = this.selectedStateListItems.findIndex(element => element.State == item.State);\n if (index > -1) {\n this.selectedStateListItems.splice(index, 1);\n }\n this.GetScreensDetails(this.selectedStateListItems, this.selectedTiersListItems, this.SelectedCities, this.selectedNetworkListItems, this.regionList, this.ScreenTypeList,this.SelectedScreens, false,false)\n\n }\n\n onItemStateDeSelect(item: any) {\n const index = this.selectedStateListItems.findIndex(element => element.State == item.State);\n if (index > -1) {\n this.selectedStateListItems.splice(index, 1);\n }\n\n this.GetScreensDetails(this.selectedStateListItems, this.selectedTiersListItems, this.SelectedCities, this.selectedNetworkListItems, this.regionList, this.ScreenTypeList, this.SelectedScreens, false,false)\n }\n\n onStateSelectAll(items: any) {\n debugger\n this.selectedStateListItems = []\n this.selectedStateListItems = items;\n this.GetScreensDetails(this.selectedStateListItems, this.selectedTiersListItems, this.SelectedCities, this.selectedNetworkListItems, this.regionList, this.ScreenTypeList, this.SelectedScreens, false,false)\n }\n\n onUnStateSelectAll() {\n debugger\n this.selectedStateListItems = []\n\n this.GetScreensDetails(this.selectedStateListItems, this.selectedTiersListItems, this.SelectedCities, this.selectedNetworkListItems, this.regionList, this.ScreenTypeList, this.SelectedScreens, false, false)\n }\n\n\n\n // Tier Event\n onItemTiersSelect(item: any) {\n\n this.selectedTiersListItems.push(item);\n const index = this.selectedTiersListItems.findIndex(element => element.Tier == item.Tier);\n if (index > -1) {\n this.selectedTiersListItems.splice(index, 1);\n }\n this.GetScreensDetails(this.selectedStateListItems, this.selectedTiersListItems, this.SelectedCities, this.selectedNetworkListItems, this.regionList, this.ScreenTypeList, this.SelectedScreens, false, false)\n }\n\n onItemTiersDeSelect(item: any) {\n const index = this.selectedTiersListItems.findIndex(element => element.Tier == item.Tier);\n if (index > -1) {\n this.selectedTiersListItems.splice(index, 1);\n }\n this.GetScreensDetails(this.selectedStateListItems, this.selectedTiersListItems, this.SelectedCities, this.selectedNetworkListItems, this.regionList, this.ScreenTypeList, this.SelectedScreens, false, false)\n\n }\n\n onTiersSelectAll(items: any) {\n debugger\n this.selectedTiersListItems = []\n this.selectedTiersListItems = items;\n this.GetScreensDetails(this.selectedStateListItems, this.selectedTiersListItems, this.SelectedCities, this.selectedNetworkListItems, this.regionList, this.ScreenTypeList, this.SelectedScreens, false, false)\n }\n\n onUnTiersSelectAll() {\n debugger\n this.selectedTiersListItems = []\n this.GetScreensDetails(this.selectedStateListItems, this.selectedTiersListItems, this.SelectedCities, this.selectedNetworkListItems, this.regionList, this.ScreenTypeList, this.SelectedScreens, false, false)\n }\n\n // City Event\n onItemCitySelect(item: any) { }\n\n onItemCityDeSelect(item: any) { }\n\n onCitySelectAll(items: any) { }\n\n onUnCitySelectAll() { }\n\n\n // Screen Event\n onItemScreenSelect(item: any) { }\n\n onItemScreenDeSelect(item: any) { }\n\n onScreenSelectAll(items: any) { }\n\n onUnScreenSelectAll() { }\n\n\n // Tier Event\n onItemNetworkSelect(item: any) {\n\n this.selectedNetworkListItems.push(item);\n const index = this.selectedNetworkListItems.findIndex(element => element.Networks == item.Networks);\n if (index > -1) {\n this.selectedNetworkListItems.splice(index, 1);\n }\n this.GetScreensDetails(this.selectedStateListItems, this.selectedTiersListItems, this.SelectedCities, this.selectedNetworkListItems, this.regionList, this.ScreenTypeList, this.SelectedScreens, false, false)\n }\n\n onItemNetworkDeSelect(item: any) {\n const index = this.selectedNetworkListItems.findIndex(element => element.Networks == item.Networks);\n if (index > -1) {\n this.selectedNetworkListItems.splice(index, 1);\n }\n this.GetScreensDetails(this.selectedStateListItems, this.selectedTiersListItems, this.SelectedCities, this.selectedNetworkListItems, this.regionList, this.ScreenTypeList, this.SelectedScreens, false, false)\n\n }\n\n onNetworkSelectAll(items: any) {\n debugger\n this.selectedNetworkListItems = []\n this.selectedNetworkListItems = items;\n this.GetScreensDetails(this.selectedStateListItems, this.selectedTiersListItems, this.SelectedCities, this.selectedNetworkListItems, this.regionList, this.ScreenTypeList, this.SelectedScreens, false, false)\n }\n\n onUnNetworkSelectAll() {\n debugger\n this.selectedNetworkListItems = []\n\n this.GetScreensDetails(this.selectedStateListItems, this.selectedTiersListItems, this.SelectedCities, this.selectedNetworkListItems, this.regionList, this.ScreenTypeList, this.SelectedScreens, false, false)\n\n }\n\n\n\n onItemPinCodeSelect(item: any) { }\n\n onItemPinCodeDeSelect(item: any) { }\n\n onPinCodeSelectAll(items: any) { }\n\n onUnPinCodeSelectAll() { }\n\n\n\n\n\n // Region On Change Event\n checkValue(ev: any, zone: any) {\n debugger\n if (ev.target.checked) {\n\n // zone.Status = zone.Status.toLocaleLowerCase() == zone.Status\n // zone.Status = !zone.Status;\n\n\n\n let removeIndex = this.regionList.findIndex(itm => itm.Region === zone.Region);\n this.regionList[removeIndex].Status = true;\n this.isRegionCheck = false;\n\n } else {\n let removeIndex = this.regionList.findIndex(itm => itm.Region === zone.Region);\n\n if (removeIndex !== -1)\n this.regionList[removeIndex].Status = false;\n }\n\n for (let i = 0; i < this.regionList.length; i++) {\n if (this.regionList[i].Status == true) {\n var flag = true;\n this.isRegionCheck = false;\n break\n }\n else { var flag = false; }\n this.isRegionCheck = true;\n }\n\n this.GetScreensDetails(this.selectedStateListItems, this.selectedTiersListItems, this.SelectedCities, this.selectedNetworkListItems, this.regionList, this.ScreenTypeList, this.SelectedScreens, false, false)\n\n\n\n } \n BackPlanner() {\n this.IsScreenCountScreenOpen = false\n this.IsCreate = false;\r\n this.GetPlannerCampainList();\r\n }\n\n // GOBack Call\n goBack() {\n this.IsScreenCountScreenOpen = false\n\n this.IsScreenStep = false\n this.IsRatesStep = false\n\n this.IsCampaignBasicDiv = true\n this.IsScreenStepDiv = false\n this.IsRatesStepDiv = false\n this.IsScreenCountScreenOpen = false;\n this.ViewBasicDetails();\n\n\n }\n\n BackToList() {\n\n this.GetScreensDetails(this.selectedStateListItems, this.selectedTiersListItems, this.SelectedCities, this.selectedNetworkListItems, this.regionList, this.ScreenTypeList, this.SelectedScreens, false, false)\n this.CitypopUp = false\n this.ScreenpopUp=false\n this.AllLoadDiv = true\n this.IsShowScreenDiv=false\n this.selectedCityListItems[0].City = this.SelectedCities.length + \" \" + \" cities selected\"\n this.selectedScreenListItems[0].ScreenName = this.SelectedScreens.length + \" \" + \" screens selected\"\n //this.PlannerSelectedScreenCount();\n }\n\n BackToScreenList() {\n debugger;\n //this.GetScreensDetails(this.selectedStateListItems, this.selectedTiersListItems, this.SelectedCities, this.selectedNetworkListItems, this.regionList, this.ScreenTypeList, this.SelectedScreens, false, false)\n this.CitypopUp = false\n this.ScreenpopUp = false\n this.AllLoadDiv = true\n this.IsShowScreenDiv = true\n this.PlannerSelectedScreenCount();\r\n this.selectedScreenListItems = [{ id: 0, ScreenName: \"0 screens selected\" }]\r\n this.selectedScreenListItems[0].ScreenName = this.SelectedScreens.length + \" \" + \" screens selected\"\r\n }\n\n goBackRate() {\n this.IsScreenCountScreenOpen = false\n this.IsScreenStep = true\n this.IsRatesStep = false\n\n this.IsCampaignBasicDiv = false\n this.IsScreenStepDiv = true\n this.IsRatesStepDiv = false\n\n this.ViewScreenDetails();\n }\n\n\n //Pin Code\n goBackPinCode() {\n debugger\n\n\n\n if (this.FinalInValidList.length > 0) {\n for (var i = 0; i < this.FinalInValidList.length; i++) {\n const index = this.PinCodeData.findIndex(element => element.Pincode == this.FinalInValidList[i].InvalidPincode);\n if (index > -1) {\n this.PinCodeData.splice(index, 1);\n }\n }\n }\n\n this.PinCodepopUp = false\n this.AllLoadDiv = true\n this.selectedPinCodeListItems[0].PinCode = this.PinCodeData.length + \" \" + \" pincode selected\"\n\n\n\n\n\n\n }\n\n\n // Get ATP Value\n rangeChange(event) {\n debugger\n this.Atp = null\n this.Atp = event.target.value;\n }\n\n DarftBasicInfo(IsPublish, Type?: number) {\n debugger; \n this.submitted = true;\n if (this.CampaignBasicForm.invalid) {\n return;\n }\n else {\n this.isShowLoader = true;\n const headers = { 'content-type': 'application/json' }\n const BasicInfo: any = {\n \"ClientName\": this.ClientName,\n \"Brands\": this.Brands,\n \"Duration\": this.Duration,\n \"StartDate\": this.datepipe.transform(this.CampaignStartDate, 'dd/MMM/yyyy'),\n \"EndDate\": this.datepipe.transform(this.CampaignEndDate, 'dd/MMM/yyyy'),\n \"Campanign_Details\": this.CampaignObject,\n \"IsPublish\": IsPublish,\n \"Created_Userid\": sessionStorage.getItem('IsUserId'),\n \"Active\": 1,\n \"PlannerMasterId\": this.PlannerMasterID\n };\r\n\r\n const body = JSON.stringify(BasicInfo)\n var url = this.global.baseUrl + 'api/Planner/Insert_PlannerBasicInfo'\n ///var url = this.global.baseUrl + 'api/Dashboard/GetPostEvalDetails/?StartDate=' + '01/01/2023' + '&EndData=' + '10/01/2023' + '&Duration=' + 30\n this.http.post(url, body, { 'headers': headers }).subscribe((response) => {\n debugger\n console.log(response);\n if (response.PlannerMasterId > 0) {\n this.PlannerMasterID = response.PlannerMasterId;\n if (Type != 1) {\n alert(response.ErrorMessage)\r\n }\n this.ViewScreenDetails();\r\n }\n else {\n alert(\"some error occurred..!\");\r\n }\n\n // this.IsSubmitPostEval = true\n this.isShowLoader = false;\n // this.FinalPostEvalData = response.Table;\n\n\n }, (error) => {\n // this.isShowLoader = false;\n alert(\"Error Occured\")\n });\n }\r\n }\n\n\n DraftScreenInfo(type?: number) {\n\n debugger;\n this.Screensubmitted = true;\r\n if (this.ScreenForm.invalid) {\r\n return;\r\n }\r\n else {\n\n if (this.ScreenListAllData==0) {\n this.SelectedScreens = [];\r\n }\n\n this.isShowLoader = true;\n const headers = { 'content-type': 'application/json' }\r\n const ScreenBasicInfo: any = {\r\n \"PlannerMasterId\": this.PlannerMasterID,\r\n \"StateList\": this.selectedStateListItems,\r\n \"TierList\": this.selectedTiersListItems,\r\n \"CityList\": this.SelectedCities,\r\n \"NetworksList\": this.selectedNetworkListItems,\r\n \"PincodeList\": this.PinCodeData,\r\n \"RegionList\": this.regionList,\r\n \"ScreenTypeList\": this.ScreenTypeList,\r\n \"SeatingCapcityMax\": this.MaxCapacity,\r\n \"SeatingCapcityMin\": this.MinCapacity,\r\n \"ATPMax\": this.MaxATP,\r\n \"ATPMin\": this.MinATP,\r\n \"Tags\": this.Tags,\r\n \"ScreenList\": this.SelectedScreens\r\n }\r\n const body = JSON.stringify(ScreenBasicInfo)\r\n var url = this.global.baseUrl + 'api/Planner/Insert_PlannerFilterInfo'\r\n this.http.post(url, body, { 'headers': headers }).subscribe((response) => {\n debugger\n console.log(response);\n if (response) {\n if (type != 1) {\n alert(response)\r\n }\n this.ViewRateScreenDetails(1);\r\n }\n this.isShowLoader = false;\n\n\n }, (error) => {\n this.isShowLoader = false;\n alert(\"Error Occured\")\n });\n }\r\n }\n\n DraftConfigInfo() {\n debugger;\r\n const headers = { 'content-type': 'application/json' }\r\n console.log(this.finalTimeSlotArray)\r\n var varMorningSlot\r\n var varEveningSlot\r\n var varAfternoonSlot\r\n var varLateEveningSlot\r\n if (this.finalTimeSlotArray[0].MorningSlot != undefined) {\n varMorningSlot = this.finalTimeSlotArray[0].MorningSlot\r\n }\r\n else {\r\n varMorningSlot = 0;\r\n }\r\n\r\n if (this.finalTimeSlotArray[1].EveningSlot != undefined) {\n varEveningSlot = this.finalTimeSlotArray[1].EveningSlot\r\n }\r\n else {\r\n varEveningSlot = 0;\r\n }\r\n\r\n if (this.finalTimeSlotArray[0].AfternoonSlot != undefined) {\n varAfternoonSlot = this.finalTimeSlotArray[0].AfternoonSlot\r\n }\r\n else {\r\n varAfternoonSlot = 0\r\n }\r\n if (this.finalTimeSlotArray[0].LateEveningSlot != undefined) {\n varLateEveningSlot = this.finalTimeSlotArray[0].LateEveningSlot\r\n }\r\n else {\r\n varLateEveningSlot = 0;\r\n }\r\n const ConfigInfo: any = {\n \"PlannerMasterId\": this.PlannerMasterID,\n \"MorningSlot\": varMorningSlot,\n \"EveningSlot\": varEveningSlot,\n \"AfternoonSlot\": varAfternoonSlot,\n \"LateEveningSlot\": varLateEveningSlot\n\n };\r\n\r\n const body = JSON.stringify(ConfigInfo)\n var url = this.global.baseUrl + 'api/Planner/Insert_PlannerConfigInfo'\n ///var url = this.global.baseUrl + 'api/Dashboard/GetPostEvalDetails/?StartDate=' + '01/01/2023' + '&EndData=' + '10/01/2023' + '&Duration=' + 30\n this.http.post(url, body, { 'headers': headers }).subscribe((response) => {\n debugger\n console.log(response);\n if (response) {\n alert(response.ErrorMessage);\r\n }\n\n this.isShowLoader = false;\n\n }, (error) => {\n // this.isShowLoader = false;\n alert(\"Error Occured\")\n });\r\n }\n\r\n // City Select All Check event for \r\n SelectAllCityList(event) {\n debugger\n if (event.target.checked) {\n this.chkisSelected = true;\n this.SelectedCitiesToDump = []\n\n for (var i = 0; i < this.CityListAllData.length; i++) {\n this.CityListAllData[i].IsSelected = false;\n }\n\n for (var i = 0; i < this.CityListAllData.length; i++) {\n this.SelectedCitiesToDump.push(this.CityListAllData[i])\n }\n\n // this.masterSelected = !this.masterSelected\n }\n else {\n for (var i = 0; i < this.CityListAllData.length; i++) {\n this.CityListAllData[i].IsSelected = true;\n }\n\n this.chkisSelected = false;\n this.SelectedCitiesToDump = []\n }\n\n\n }\n\n\n // Screen Select All Check event for \r\n SelectAllScreenList(event) {\n debugger\n if (event.target.checked) {\n this.chkisSelected = true;\n this.SelectedScreensToDump = []\n\n for (var i = 0; i < this.ScreenListAllData.length; i++) {\n this.ScreenListAllData[i].IsSelected = false;\n }\n\n for (var i = 0; i < this.ScreenListAllData.length; i++) {\n this.SelectedScreensToDump.push(this.ScreenListAllData[i])\n }\n\n // this.masterSelected = !this.masterSelected\n }\n else {\n for (var i = 0; i < this.ScreenListAllData.length; i++) {\n this.ScreenListAllData[i].IsSelected = true;\n }\n\n this.chkisSelected = false;\n this.SelectedScreensToDump = []\n }\n\n\n }\n\n SelectedAllCityList(event) {\n debugger\n if (event.target.checked) {\n this.chkisSelected = true;\n this.SelectedCitiesToRemove = []\n\n for (var i = 0; i < this.SelectedCities.length; i++) {\n this.SelectedCities[i].IsSelected = false;\n }\n\n for (var i = 0; i < this.SelectedCities.length; i++) {\n this.SelectedCitiesToRemove.push(this.SelectedCities[i])\n }\n\n // this.masterCitySelected = !this.masterCitySelected\n }\n else {\n for (var i = 0; i < this.SelectedCities.length; i++) {\n this.SelectedCities[i].IsSelected = true;\n }\n\n this.chkisSelected = false;\n this.SelectedCitiesToRemove = []\n }\n\n\n }\n\n\n SelectedAllScreenList(event) {\n debugger\n if (event.target.checked) {\n this.chkisSelected = true;\n this.SelectedScreensToRemove = []\n\n for (var i = 0; i < this.SelectedScreens.length; i++) {\n this.SelectedScreens[i].IsSelected = false;\n }\n\n for (var i = 0; i < this.SelectedScreens.length; i++) {\n this.SelectedScreensToRemove.push(this.SelectedScreens[i])\n }\n\n // this.masterCitySelected = !this.masterCitySelected\n }\n else {\n for (var i = 0; i < this.SelectedScreens.length; i++) {\n this.SelectedScreens[i].IsSelected = true;\n }\n\n this.chkisSelected = false;\n this.SelectedScreensToRemove = []\n }\n\n\n }\n\n\n\n // City Search Event\n SearchAvailableCities(event) {\n debugger\n this.isShowLoader = true;\n if (event.target.value.length > 2) {\n this.CityListAllData = [];\n this.CityListAllData = this.AllData;\n var valAva = event.target.value;\n this.CityListAllData = this.CityListAllData.filter((val) =>\n val.CityWithState.toLowerCase().includes(valAva.toLowerCase()));\n this.isShowLoader = false\n }\n else {\n this.CityListAllData = []\n this.CityListAllData = this.AllData;\n this.isShowLoader = false\n }\n }\n\n // Screen Search Event\n SearchAvailableScreens(event) {\n debugger\n this.isShowLoader = true;\n if (event.target.value.length > 2) {\n this.ScreenListAllData = [];\n this.ScreenListAllData = this.AllScreen;\n var valAva = event.target.value;\n this.ScreenListAllData = this.ScreenListAllData.filter((val) =>\n val.ScreenNameWithProperty.toLowerCase().includes(valAva.toLowerCase()));\n this.isShowLoader = false\n }\n else {\n this.ScreenListAllData = []\n this.ScreenListAllData = this.AllScreen;\n this.isShowLoader = false\n }\n }\n\n\n SearchSelectedCities(event) {\n debugger\n this.isShowLoader = true;\n if (event.target.value.length > 2) {\n this.SelectedCities = [];\n this.SelectedCities = this.AllCity;\n\n\n\n var valSelected = event.target.value;\n this.SelectedCities = this.SelectedCities.filter((val) =>\n val.CityWithState.toLowerCase().includes(valSelected.toLowerCase()));\n this.isShowLoader = false;\n }\n else {\n this.SelectedCities = []\n this.SelectedCities = this.AllCity;\n this.isShowLoader = false;\n }\n }\n\n\n SearchSelectedScreens(event) {\n debugger\n this.isShowLoader = true;\n if (event.target.value.length > 2) {\n this.SelectedScreens = [];\n this.SelectedScreens = this.AllScreen;\n\n\n\n var valSelected = event.target.value;\n this.SelectedScreens = this.SelectedScreens.filter((val) =>\n val.ScreenNameWithProperty.toLowerCase().includes(valSelected.toLowerCase()));\n this.isShowLoader = false;\n }\n else {\n this.SelectedScreens = []\n this.SelectedScreens = this.AllScreen;\n this.isShowLoader = false;\n }\n }\n\n // To Open Ctiy popup\n getCities() {\n debugger\n if (this.selectedStateListItems.length == 0) {\n\n alert(\"Please select state\")\n return\n\n }\n else {\n\n this.GetScreensDetails(this.selectedStateListItems, this.selectedTiersListItems, this.SelectedCities, this.selectedNetworkListItems, this.regionList, this.ScreenTypeList,this.SelectedScreens, true,false)\n\n // debugger\n // this.isShowLoader = true;\n // const headers = { 'content-type': 'application/json' }\n // const ScreenData: any = {\n // \"PlannerId\": null,\n // \"StateList\": this.selectedStateListItems,\n // \"TierList\":this.selectedTiersListItems,\n // \"CityList\": this.SelectedCities,\n // \"NetworksList\": this.selectedNetworkListItems,\n // \"RegionList\": this.regionList,\n // \"ScreenTypeList\": this.ScreenTypeList\n // };\n\n // const body = JSON.stringify(ScreenData)\n // var url = this.global.baseUrl + 'api/Planner/GetPlannerFilter'\n\n // this.http.post(url, body, { 'headers': headers }).subscribe((response) => {\n // debugger\n\n // this.SelectedCities = [];\n // this.CityListAllData = response.Table4\n // this.SelectedCities = response.Table5 \n // this.AllData = response.Table4.slice()\n\n\n\n\n\n\n\n\n\n\n\n\n // this.isShowLoader = false;\n\n\n\n // }, (error) => {\n\n // alert(\"Error Occured\")\n // });\n\n\n\n\n\n\n\n }\n\n\n }\n\n\n // To Open Ctiy popup\n getScreens() {\n debugger\n if (this.selectedStateListItems.length == 0) {\n\n alert(\"Please select state\")\n return\n\n }\n else {\n\n this.GetScreensDetails(this.selectedStateListItems, this.selectedTiersListItems, this.SelectedCities, this.selectedNetworkListItems, this.regionList, this.ScreenTypeList, this.SelectedScreens, false,true)\n \n\n }\n\n\n }\n\n //To Open PinCode Popup\n getPinCodes() {\n if (this.selectedStateListItems.length > 0) {\n this.PinCodepopUp = true\n this.AllLoadDiv = false\n }\n else {\n alert(\"Please select state\")\n return\n }\n }\n getTiers() {\n debugger\n if (this.selectedStateListItems.length == 0) {\n\n alert(\"Please select state\")\n return\n\n }\n }\n\n getNetworks() {\n debugger\n if (this.selectedStateListItems.length == 0) {\n\n alert(\"Please select state\")\n return\n\n }\n }\n\n\n // CIty Avalibale Separate Click Call\n GetSelectedCitiesList(event, cities) {\n debugger\n if (event.target.checked) {\n\n this.CheckboxStatus = event.target.checked\n this.SelectedCitiesToDump.push(cities)\n // this.AllCity = this.SelectedCitiesToDump;\n }\n else {\n this.CheckboxStatus = false\n const index = this.SelectedCitiesToDump.findIndex(element => element.CityID == cities.CityID);\n if (index > -1) {\n this.SelectedCitiesToDump.splice(index, 1);\n }\n }\n\n }\n\n\n // Screen Avalibale Separate Click Call\n GetSelectedScreensList(event, screens) {\n debugger\n if (event.target.checked) {\n\n this.CheckboxStatusScreen = event.target.checked\n this.SelectedScreensToDump.push(screens)\n // this.AllCity = this.SelectedScreensToDump;\n }\n else {\n this.CheckboxStatusScreen = false\n const index = this.SelectedScreensToDump.findIndex(element => element.ScreenID == screens.ScreenID);\n if (index > -1) {\n this.SelectedScreensToDump.splice(index, 1);\n }\n }\n\n }\n\n\n AddDataTosSelectedList() {\n debugger\n this.isShowLoader = true;\n\n\n if (this.masterSelected == true) {\n setTimeout(() => {\n for (var i = 0; i < this.SelectedCitiesToDump.length; i++) {\n this.SelectedCities.push(this.SelectedCitiesToDump[i])\n this.SelectedCities[i].IsSelected = true;\n this.AllCity = this.SelectedCities.slice();\n // this.SelectedCities[i].IsSelected = !this.SelectedCities[i].IsSelected\n // this.AllCity.push(this.SelectedCitiesToDump[i])\n }\n\n for (var i = 0; i < this.SelectedCitiesToDump.length; i++) {\n const index = this.SelectedCities.findIndex(element => element.CityID == this.SelectedCitiesToDump[i].CityID);\n if (index > -1) {\n this.SelectedCities[index].IsSelected = 'true'\n\n }\n }\n\n\n\n\n\n // this.AllCity = this.SelectedCities.slice();\n\n\n\n for (var i = 0; i < this.SelectedCities.length; i++) {\n const index = this.CityListAllData.findIndex(element => element.CityID == this.SelectedCities[i].CityID);\n if (index > -1) {\n this.CityListAllData.splice(index, 1);\n }\n }\n\n for (var i = 0; i < this.SelectedCities.length; i++) {\n const index = this.AllData.findIndex(element => element.CityID == this.SelectedCities[i].CityID);\n if (index > -1) {\n this.AllData.splice(index, 1);\n }\n }\n\n\n\n this.AvailableSearchText = \"\";\n this.CityListAllData = this.AllData;\n if (this.masterSelected != false) {\n this.masterSelected = !this.masterSelected\n }\n this.SelectedCitiesToDump = []\n // this.AllCity = []\n this.isShowLoader = false;\n\n }, 3000);\n\n // this.isShowLoader = false;\n }\n else {\n for (var i = 0; i < this.SelectedCitiesToDump.length; i++) {\n this.SelectedCities.push(this.SelectedCitiesToDump[i])\n this.SelectedCities[i].IsSelected = true;\n this.AllCity = this.SelectedCities.slice();\n\n }\n\n for (var i = 0; i < this.SelectedCitiesToDump.length; i++) {\n const index = this.SelectedCities.findIndex(element => element.CityID == this.SelectedCitiesToDump[i].CityID);\n if (index > -1) {\n this.SelectedCities[index].IsSelected = 'true'\n\n }\n }\n\n\n\n\n\n // this.AllCity = this.SelectedCities.slice();\n\n\n\n for (var i = 0; i < this.SelectedCities.length; i++) {\n const index = this.CityListAllData.findIndex(element => element.CityID == this.SelectedCities[i].CityID);\n if (index > -1) {\n this.CityListAllData.splice(index, 1);\n }\n }\n\n for (var i = 0; i < this.SelectedCities.length; i++) {\n const index = this.AllData.findIndex(element => element.CityID == this.SelectedCities[i].CityID);\n if (index > -1) {\n this.AllData.splice(index, 1);\n }\n }\n\n this.AvailableSearchText = \"\";\n this.CityListAllData = this.AllData;\n if (this.masterSelected != false) {\n this.masterSelected = !this.masterSelected\n }\n this.SelectedCitiesToDump = []\n // this.AllCity = []\n this.isShowLoader = false;\n }\n\n\n\n }\n\n\n\n AddDataTosSelectedScreenList() {\n debugger\n this.isShowLoader = true;\n\n\n if (this.ScreenmasterSelected == true) {\n setTimeout(() => {\n for (var i = 0; i < this.SelectedScreensToDump.length; i++) {\n this.SelectedScreens.push(this.SelectedScreensToDump[i])\n this.SelectedScreens[i].IsSelected = true;\n this.AllScreen = this.SelectedScreens.slice();\n // this.SelectedScreens[i].IsSelected = !this.SelectedScreens[i].IsSelected\n // this.AllScreen.push(this.SelectedScreensToDump[i])\n }\n\n for (var i = 0; i < this.SelectedScreensToDump.length; i++) {\n const index = this.SelectedScreens.findIndex(element => element.ScreenID == this.SelectedScreensToDump[i].ScreenID);\n if (index > -1) {\n this.SelectedScreens[index].IsSelected = 'true'\n\n }\n }\n\n\n\n\n\n // this.AllScreen = this.SelectedScreens.slice();\n\n\n\n for (var i = 0; i < this.SelectedScreens.length; i++) {\n const index = this.ScreenListAllData.findIndex(element => element.ScreenID == this.SelectedScreens[i].ScreenID);\n if (index > -1) {\n this.ScreenListAllData.splice(index, 1);\n }\n }\n\n for (var i = 0; i < this.SelectedScreens.length; i++) {\n const index = this.AllDataScreen.findIndex(element => element.ScreenID == this.SelectedScreens[i].ScreenID);\n if (index > -1) {\n this.AllDataScreen.splice(index, 1);\n }\n }\n\n\n\n this.AvailableSearchTextScreen = \"\";\n //this.ScreenListAllData = this.AllDataScreen;\n if (this.ScreenmasterSelected != false) {\n this.ScreenmasterSelected = !this.ScreenmasterSelected\n }\n this.SelectedScreensToDump = []\n // this.AllScreen = []\n this.isShowLoader = false;\n\n }, 3000);\n\n // this.isShowLoader = false;\n }\n else {\n for (var i = 0; i < this.SelectedScreensToDump.length; i++) {\n this.SelectedScreens.push(this.SelectedScreensToDump[i])\n this.SelectedScreens[i].IsSelected = true;\n this.AllScreen = this.SelectedScreens.slice();\n\n }\n\n for (var i = 0; i < this.SelectedScreensToDump.length; i++) {\n const index = this.SelectedScreens.findIndex(element => element.ScreenID == this.SelectedScreensToDump[i].ScreenID);\n if (index > -1) {\n this.SelectedScreens[index].IsSelected = 'true'\n\n }\n }\n\n\n\n\n\n // this.AllScreen = this.SelectedScreens.slice();\n\n\n\n for (var i = 0; i < this.SelectedScreens.length; i++) {\n const index = this.ScreenListAllData.findIndex(element => element.ScreenID == this.SelectedScreens[i].ScreenID);\n if (index > -1) {\n this.ScreenListAllData.splice(index, 1);\n }\n }\n\n for (var i = 0; i < this.SelectedScreens.length; i++) {\n const index = this.AllDataScreen.findIndex(element => element.ScreenID == this.SelectedScreens[i].ScreenID);\n if (index > -1) {\n this.AllDataScreen.splice(index, 1);\n }\n }\n\n this.AvailableSearchTextScreen = \"\";\n //this.ScreenListAllData = this.AllDataScreen;\n if (this.ScreenmasterSelected != false) {\n this.ScreenmasterSelected = !this.ScreenmasterSelected\n }\n this.SelectedScreensToDump = []\n // this.AllScreen = []\n this.isShowLoader = false;\n }\n\n\n\n }\n\n\n\n // CIty Selected Separate Click Call\n DeleteCitiesList(event, cities) {\n debugger\n if (event.target.checked) {\n this.CheckboxSelectedtatus = event.target.checked\n this.SelectedCitiesToRemove.push(cities);\n\n\n\n\n }\n else {\n this.CheckboxSelectedtatus = false\n\n const index = this.SelectedCitiesToRemove.findIndex(element => element.CityID == cities.CityID);\n if (index > -1) {\n this.SelectedCitiesToRemove.splice(index, 1);\n }\n }\n\n\n }\n\n\n // Screen Selected Separate Click Call\n DeleteScreensList(event, screens) {\n debugger\n if (event.target.checked) {\n this.CheckboxSelectedtatus = event.target.checked\n this.SelectedScreensToRemove.push(screens);\n\n\n\n\n }\n else {\n this.CheckboxSelectedtatus = false\n\n const index = this.SelectedScreensToRemove.findIndex(element => element.ScreenID == screens.ScreenID);\n if (index > -1) {\n this.SelectedScreensToRemove.splice(index, 1);\n }\n }\n\n\n }\n\n RemoveDataTosSelectedList() {\n debugger\n\n this.isShowLoader = true;\n\n\n if (this.masterCitySelected == true) {\n setTimeout(() => {\n // this.SelectedCities = this.SelectedCitiesToRemove.slice()\n for (var i = 0; i < this.SelectedCitiesToRemove.length; i++) {\n this.CityListAllData.push(this.SelectedCitiesToRemove[i])\n\n }\n\n for (var i = 0; i < this.SelectedCitiesToRemove.length; i++) {\n const index = this.CityListAllData.findIndex(element => element.CityID == this.SelectedCitiesToRemove[i].CityID);\n if (index > -1) {\n this.CityListAllData[index].IsSelected = 'true'\n\n }\n }\n\n\n for (var i = 0; i < this.SelectedCitiesToRemove.length; i++) {\n const index = this.SelectedCities.findIndex(element => element.CityID == this.SelectedCitiesToRemove[i].CityID);\n if (index > -1) {\n this.SelectedCities.splice(index, 1);\n }\n }\n\n for (var i = 0; i < this.SelectedCitiesToRemove.length; i++) {\n const index = this.AllCity.findIndex(element => element.CityID == this.SelectedCitiesToRemove[i].CityID);\n if (index > -1) {\n this.AllCity.splice(index, 1);\n }\n }\n\n // const index1 = this.SelectedCitiesToRemove.findIndex(element => element.CityID == this.SelectedCities[i].CityID);\n // if (index1 > -1) {\n // this.SelectedCitiesToRemove.splice(index, 1);\n // }\n\n this.selectedSearchText = \"\";\n this.SelectedCities = this.AllCity;\n if (this.masterCitySelected != false) {\n this.masterCitySelected = !this.masterCitySelected;\n }\n this.SelectedCitiesToRemove = []\n this.isShowLoader = false;\n\n }, 3000);\n }\n else {\n // this.SelectedCities = this.SelectedCitiesToRemove.slice()\n for (var i = 0; i < this.SelectedCitiesToRemove.length; i++) {\n this.CityListAllData.push(this.SelectedCitiesToRemove[i])\n\n }\n\n for (var i = 0; i < this.SelectedCitiesToRemove.length; i++) {\n const index = this.CityListAllData.findIndex(element => element.CityID == this.SelectedCitiesToRemove[i].CityID);\n if (index > -1) {\n this.CityListAllData[index].IsSelected = 'true'\n\n }\n }\n\n\n for (var i = 0; i < this.SelectedCitiesToRemove.length; i++) {\n const index = this.SelectedCities.findIndex(element => element.CityID == this.SelectedCitiesToRemove[i].CityID);\n if (index > -1) {\n this.SelectedCities.splice(index, 1);\n }\n }\n\n for (var i = 0; i < this.SelectedCitiesToRemove.length; i++) {\n const index = this.AllCity.findIndex(element => element.CityID == this.SelectedCitiesToRemove[i].CityID);\n if (index > -1) {\n this.AllCity.splice(index, 1);\n }\n }\n\n // const index1 = this.SelectedCitiesToRemove.findIndex(element => element.CityID == this.SelectedCities[i].CityID);\n // if (index1 > -1) {\n // this.SelectedCitiesToRemove.splice(index, 1);\n // }\n\n this.selectedSearchText = \"\";\n this.SelectedCities = this.AllCity;\n if (this.masterCitySelected != false) {\n this.masterCitySelected = !this.masterCitySelected;\n }\n this.SelectedCitiesToRemove = []\n this.isShowLoader = false;\n }\n\n\n\n\n\n\n\n\n\n }\n\n\n RemoveDataTosSelectedScreenList() {\n debugger\n\n this.isShowLoader = true;\n \n if (this.masterScreenSelected == true) {\n setTimeout(() => {\n // this.SelectedScreens = this.SelectedScreensToRemove.slice()\n for (var i = 0; i < this.SelectedScreensToRemove.length; i++) {\n this.ScreenListAllData.push(this.SelectedScreensToRemove[i])\n\n }\n\n for (var i = 0; i < this.SelectedScreensToRemove.length; i++) {\n const index = this.ScreenListAllData.findIndex(element => element.ScreenID == this.SelectedScreensToRemove[i].ScreenID);\n if (index > -1) {\n this.ScreenListAllData[index].IsSelected = 'true'\n\n }\n }\n\n\n for (var i = 0; i < this.SelectedScreensToRemove.length; i++) {\n const index = this.SelectedScreens.findIndex(element => element.ScreenID == this.SelectedScreensToRemove[i].ScreenID);\n if (index > -1) {\n this.SelectedScreens.splice(index, 1);\n }\n }\n\n for (var i = 0; i < this.SelectedScreensToRemove.length; i++) {\n const index = this.AllScreen.findIndex(element => element.ScreenID == this.SelectedScreensToRemove[i].ScreenID);\n if (index > -1) {\n this.AllScreen.splice(index, 1);\n }\n }\n\n // const index1 = this.SelectedScreensToRemove.findIndex(element => element.ScreenID == this.SelectedScreens[i].ScreenID);\n // if (index1 > -1) {\n // this.SelectedScreensToRemove.splice(index, 1);\n // }\n\n this.selectedSearchText = \"\";\n //this.SelectedScreens = this.AllScreen;\n if (this.masterScreenSelected != false) {\n this.masterScreenSelected = !this.masterScreenSelected;\n }\n this.SelectedScreensToRemove = []\n this.isShowLoader = false;\n\n }, 3000);\n }\n else {\n // this.SelectedScreens = this.SelectedScreensToRemove.slice()\n for (var i = 0; i < this.SelectedScreensToRemove.length; i++) {\n this.ScreenListAllData.push(this.SelectedScreensToRemove[i])\n\n }\n\n for (var i = 0; i < this.SelectedScreensToRemove.length; i++) {\n const index = this.ScreenListAllData.findIndex(element => element.ScreenID == this.SelectedScreensToRemove[i].ScreenID);\n if (index > -1) {\n this.ScreenListAllData[index].IsSelected = 'true'\n\n }\n }\n\n\n for (var i = 0; i < this.SelectedScreensToRemove.length; i++) {\n const index = this.SelectedScreens.findIndex(element => element.ScreenID == this.SelectedScreensToRemove[i].ScreenID);\n if (index > -1) {\n this.SelectedScreens.splice(index, 1);\n }\n }\n\n for (var i = 0; i < this.SelectedScreensToRemove.length; i++) {\n const index = this.AllScreen.findIndex(element => element.ScreenID == this.SelectedScreensToRemove[i].ScreenID);\n if (index > -1) {\n this.AllScreen.splice(index, 1);\n }\n }\n\n // const index1 = this.SelectedScreensToRemove.findIndex(element => element.ScreenID == this.SelectedScreens[i].ScreenID);\n // if (index1 > -1) {\n // this.SelectedScreensToRemove.splice(index, 1);\n // }\n\n this.selectedSearchText = \"\";\n //this.SelectedScreens = this.AllScreen;\n if (this.masterScreenSelected != false) {\n this.masterScreenSelected = !this.masterScreenSelected;\n }\n this.SelectedScreensToRemove = []\n this.isShowLoader = false;\n }\n\n\n\n\n\n\n\n\n\n }\n\n\n //PinCode\n PinCodeValidation(pindata: any) {\n\n debugger\n this.isShowLoader = true;\n const headers = { 'content-type': 'application/json' }\n const PinCodeData: any = {\n \"StateList\": this.selectedStateListItems,\n // \"StateList\": [{ \"State\": \"Rajasthan\" }, { \"State\": \"Maharashtra\" }],\n \"CityList\": this.SelectedCities,\n \"PincodeList\": pindata,\n\n\n };\n\n const body = JSON.stringify(PinCodeData)\n var url = this.global.baseUrl + 'api/Planner/PlannerPincode'\n\n this.http.post(url, body, { 'headers': headers }).subscribe((response) => {\n debugger\n if (response != null) {\n this.InvalidPinCode = []\n this.FinalInValidList = []\n this.FinalInValidList = response.Table1;\n this.InvalidPinCode = response.Table1;\n\n if (this.InvalidPinCode.length > 0) {\n let InValidPincodeList = []\n for (let i = 0; i < this.InvalidPinCode.length; i++) {\n InValidPincodeList[i] = this.InvalidPinCode[i].InvalidPincode;\n }\n this.InvalidPinCode = []\n this.InvalidPinCode = InValidPincodeList.toString();\n\n\n }\n else {\n this.PinCodeData = response.Table;\n this.InvalidPinCode = \"No Invalid Pin Code found\";\n\n }\n }\n else {\n this.PinCodeData = []\n this.InvalidPinCode = this.PinCodeModel.slice();\n // this.InvalidPinCode = \"No Invalid Pin Code found\";\n }\n this.isShowLoader = false;\n\n }, (error) => {\n this.isShowLoader = false;\n // this.isShowLoader = false;\n alert(\"Error Occured\")\n });\n\n }\n\n ///Pin Code\n SubmitPinCodes() {\n debugger\n\n\n this.IsInValidPinCode = true\n this.IsPinCodeSubmit = false\n this.IsInValidPinCodeGet = true\n\n var item = '';\n var result = {}\n this.PinCodeData = []\n let PinCodeModelAssigned = this.PinCodeModel.slice();\n\n if (PinCodeModelAssigned !== null) {\n PinCodeModelAssigned = PinCodeModelAssigned.split(',');\n\n for (var i = 0; i < PinCodeModelAssigned.length; i++) {\n item = PinCodeModelAssigned[i].trim();\n\n result[item] = item;\n this.PinCodeData.push({ \"Pincode\": result[item] })\n }\n this.PinCodeValidation(this.PinCodeData);\n\n\n }\n }\n\n GetTextAreaPinCodeValue() {\n debugger\n this.IsPinCodeSubmit = true\n this.IsInValidPinCodeGet = false\n }\n\n checkScreenValue(ev: any, zone: any) {\n debugger\n if (ev.target.checked) {\n\n let removeIndex = this.ScreenTypeList.findIndex(itm => itm.ScreenType === zone.ScreenType);\n this.ScreenTypeList[removeIndex].Status = true;\n this.isRegionCheck = false;\n\n } else {\n let removeIndex = this.ScreenTypeList.findIndex(itm => itm.ScreenType === zone.ScreenType);\n\n if (removeIndex !== -1)\n this.ScreenTypeList[removeIndex].Status = false;\n }\n\n for (let i = 0; i < this.ScreenTypeList.length; i++) {\n if (this.ScreenTypeList[i].Status == true) {\n var flag = true;\n this.isRegionCheck = false;\n break\n }\n else { var flag = false; }\n this.isRegionCheck = true;\n }\n\n this.GetScreensDetails(this.selectedStateListItems, this.selectedTiersListItems, this.SelectedCities, this.selectedNetworkListItems, this.regionList, this.ScreenTypeList, this.SelectedScreens, false, false)\n\n\n\n\n\n }\n //Planner selected screen count\n PlannerSelectedScreenCount() {\n debugger;\n this.ExportScreenData = [];\n this.isShowLoader = true;\n this.IsCollapseScreenSelection = true\n this.IsScreenCountScreenOpen = true\n\n\n const headers = { 'content-type': 'application/json' }\r\n\r\n if (this.ScreenListAllData.length==0) {\r\n this.SelectedScreens=[]\r\n }\r\n\r\n\r\n const ScreenCountData: any = {\r\n \"PlannerId\": this.PlannerId,\r\n \"FromDate\": this.datepipe.transform(this.CampaignStartDate, 'dd/MMM/yyyy'),\n \"ToDate\": this.datepipe.transform(this.CampaignEndDate, 'dd/MMM/yyyy'),\r\n \"StateList\": this.selectedStateListItems,\r\n \"TierList\": this.selectedTiersListItems,\r\n \"CityList\": this.SelectedCities,\r\n \"NetworksList\": this.selectedNetworkListItems,\r\n \"RegionList\": this.regionList,\r\n \"PincodeList\": this.PinCodeData,\r\n \"ScreenTypeList\": this.ScreenTypeList,\r\n \"MinSeatingCapacity\": this.MinCapacity,\r\n \"MaxSeatingCapacity\": this.MaxCapacity,\r\n \"AdvtDuration\": this.Duration,\r\n \"CampinFromDate\": this.ToPeriodDate,\r\n \"CampinToDate\": this.FromPeriodDate,\r\n \"RateScreenList\": this.selectedNetworkListItems,\r\n \"ScreenList\": this.SelectedScreens\r\n }\r\n\r\n\r\n const body = JSON.stringify(ScreenCountData)\r\n var url = this.global.baseUrl + 'api/Planner/PlannerSelectedScreen'\r\n this.http.post(url, body, { 'headers': headers }).subscribe((response) => {\n debugger\n console.log(response);\n this.ScreenCountData = []\n this.ScreenCountData = response.Table;\n //this.ExportScreenData = response.Table1\r\n this.selectedScreenListItems = [{ id: 0, ScreenName: \"0 screens selected\" }]\r\n this.selectedScreenListItems[0].ScreenName = this.selectScreenCount + \" \" + \" screens selected\"\r\n\n this.isShowLoader = false;\n\n\n }, (error) => {\n this.isShowLoader = false;\n alert(\"Error Occured\")\n });\r\n }\n GetScreenSelection() {\n debugger\n this.IsCollapseScreenSelection = false\n this.IsScreenCountScreenOpen = false\n }\n\n ClearBasicInfo() {\n this.ClientName = \"\";\r\n this.Brands = \"\";\r\n this.Duration = \"\";\r\n this.CampaignObject = \"\";\r\n this.CampaignStartDate = \"\";\r\n this.CampaignEndDate = \"\";\r\n }\n\n ClearScreenSelection() {\n debugger\n this.StateList = [];\n this.TiersList = [];\n this.CityList = [];\n this.NetworkList = [];\n this.CityListAllData = [];\n this.regionList = [];\n this.ScreenTypeList = []\n\n this.selectedStateListItems = [];\n this.selectedTiersListItems = [];\n this.SelectedCities = [];\n this.selectedNetworkListItems = []\n this.CityListAllData = []\n this.selectedCityListItems = [{ id: 0, City: \"0 cities selected\" }]\n this.selectedPinCodeListItems = [{ id: 0, PinCode: \"0 PinCode selected\" }]\n this.selectedScreenListItems = [{ id: 0, ScreenName: \"0 screens selected\" }]\n\n this.GetScreensDetails(this.selectedStateListItems, this.selectedTiersListItems, this.SelectedCities, this.selectedNetworkListItems, this.regionList, this.ScreenTypeList, this.SelectedScreens, false, false)\n }\n\n MorningChange(slot) {\n debugger\n\n if (this.IsMorningCheck == true) {\n this.MorningVal = slot\n\n this.TimeSlot = [\n\n {\n \"MorningSlot\": this.MorningVal,\n }\n ]\n\n for (let i = 0; i < this.finalTimeSlotArray.length; i++) {\n const index = this.finalTimeSlotArray.findIndex(element => element.MorningSlot == 0);\n if (index > -1) {\n\n this.finalTimeSlotArray.splice(index, 1)\n }\n }\n\n for (let i = 0; i < this.finalTimeSlotArray.length; i++) {\n const index = this.finalTimeSlotArray.findIndex(element => element.MorningSlot == 1);\n if (index > -1) {\n\n this.finalTimeSlotArray.splice(index, 1)\n }\n }\n\n\n for (let i = 0; i < this.TimeSlot.length; i++) {\n this.finalTimeSlotArray.push(this.TimeSlot[i])\n }\n\n\n }\n else {\n this.MorningVal = 0\n\n\n for (let i = 0; i < this.finalTimeSlotArray.length; i++) {\n const index = this.finalTimeSlotArray.findIndex(element => element.MorningSlot == 1);\n if (index > -1) {\n\n this.finalTimeSlotArray[index].MorningSlot = 0\n }\n }\n\n }\n\n this.IsMorningCheck = !this.IsMorningCheck\n\n\n\n }\n\n EveningChange(slot) {\n debugger\n if (this.IsEveningCheck == true) {\n this.EveningVal = slot\n\n this.TimeSlot = [\n {\n \"EveningSlot\": this.EveningVal,\n }\n ]\n\n for (let i = 0; i < this.finalTimeSlotArray.length; i++) {\n const index = this.finalTimeSlotArray.findIndex(element => element.EveningSlot == 0);\n if (index > -1) {\n\n this.finalTimeSlotArray.splice(index, 1)\n }\n }\n\n for (let i = 0; i < this.finalTimeSlotArray.length; i++) {\n const index = this.finalTimeSlotArray.findIndex(element => element.EveningSlot == 1);\n if (index > -1) {\n\n this.finalTimeSlotArray.splice(index, 1)\n }\n }\n\n for (let i = 0; i < this.TimeSlot.length; i++) {\n this.finalTimeSlotArray.push(this.TimeSlot[i])\n }\n\n }\n else {\n this.EveningVal = 0\n\n for (let i = 0; i < this.finalTimeSlotArray.length; i++) {\n const index = this.finalTimeSlotArray.findIndex(element => element.EveningSlot == 1);\n if (index > -1) {\n\n this.finalTimeSlotArray[index].EveningSlot = 0\n }\n }\n\n }\n\n this.IsEveningCheck = !this.IsEveningCheck\n\n\n }\n\n AfternoonChange(slot) {\n debugger\n if (this.IsAfternoonCheck == true) {\n this.AfternoonVal = slot\n\n this.TimeSlot = [\n\n {\n \"AfternoonSlot\": this.AfternoonVal,\n }\n ]\n\n for (let i = 0; i < this.finalTimeSlotArray.length; i++) {\n const index = this.finalTimeSlotArray.findIndex(element => element.AfternoonSlot == 0);\n if (index > -1) {\n\n this.finalTimeSlotArray.splice(index, 1)\n }\n }\n\n for (let i = 0; i < this.finalTimeSlotArray.length; i++) {\n const index = this.finalTimeSlotArray.findIndex(element => element.AfternoonSlot == 1);\n if (index > -1) {\n\n this.finalTimeSlotArray.splice(index, 1)\n }\n }\n\n\n for (let i = 0; i < this.TimeSlot.length; i++) {\n this.finalTimeSlotArray.push(this.TimeSlot[i])\n }\n\n }\n else {\n this.AfternoonVal = 0\n\n\n for (let i = 0; i < this.finalTimeSlotArray.length; i++) {\n const index = this.finalTimeSlotArray.findIndex(element => element.AfternoonSlot == 1);\n if (index > -1) {\n\n this.finalTimeSlotArray[index].AfternoonSlot = 0\n }\n }\n\n }\n\n this.IsAfternoonCheck = !this.IsAfternoonCheck\n\n\n\n }\n\n LateEveningChange(slot) {\n debugger\n if (this.IsLateEveningCheck == true) {\n this.lateEveningVal = slot\n\n this.TimeSlot = [\n\n {\n \"LateEveningSlot\": this.lateEveningVal\n }\n ]\n\n for (let i = 0; i < this.finalTimeSlotArray.length; i++) {\n const index = this.finalTimeSlotArray.findIndex(element => element.LateEveningSlot == 0);\n if (index > -1) {\n\n this.finalTimeSlotArray.splice(index, 1)\n }\n }\n\n for (let i = 0; i < this.finalTimeSlotArray.length; i++) {\n const index = this.finalTimeSlotArray.findIndex(element => element.LateEveningSlot == 1);\n if (index > -1) {\n\n this.finalTimeSlotArray.splice(index, 1)\n }\n }\n\n\n for (let i = 0; i < this.TimeSlot.length; i++) {\n this.finalTimeSlotArray.push(this.TimeSlot[i])\n }\n\n }\n else {\n this.lateEveningVal = 0\n\n\n\n for (let i = 0; i < this.finalTimeSlotArray.length; i++) {\n const index = this.finalTimeSlotArray.findIndex(element => element.LateEveningSlot == 1);\n if (index > -1) {\n\n this.finalTimeSlotArray[index].LateEveningSlot = 0\n }\n }\n\n\n }\n\n this.IsLateEveningCheck = !this.IsLateEveningCheck\n\n }\n\n goBackfromConfiguration() {\n this.IsScreenCountScreenOpen = false;\n this.IsScreenStep = true\n this.IsRatesStep = true\n this.IsConfiguration = false\n\n\n this.IsCampaignBasicDiv = false\n this.IsScreenStepDiv = false\n this.IsRatesStepDiv = true\n\n this.IsConfigurationDiv = false\n this.ViewRateScreenDetails();\n\n }\n\n DraftRateInfo(type?: number) {\n debugger;\n console.log(this.selectedNetworkListItems);\r\n this.isShowLoader = true;\n const headers = { 'content-type': 'application/json' }\r\n const RateScreenInfo: any = {\r\n \"PlannerMasterId\": this.PlannerMasterID,\r\n \"rateScreenDetails\": this.selectedNetworkListItems,\r\n }\r\n const body = JSON.stringify(RateScreenInfo)\r\n var url = this.global.baseUrl + 'api/Planner/Insert_PlannerRateScreenInfo'\r\n this.http.post(url, body, { 'headers': headers }).subscribe((response) => {\n debugger\n console.log(response);\n if (response) {\n this.DraftScreenDetailsInfo();\n if (type != 1) {\n alert(response)\r\n }\r\n this.ViewConfigScreenDetails();\r\n }\n this.isShowLoader = false;\n\n\n }, (error) => {\n this.isShowLoader = false;\n alert(\"Error Occured\")\n });\r\n }\n\n\n DraftScreenDetailsInfo(type?: number) {\n debugger;\n console.log(this.selectedNetworkListItems);\r\n this.isShowLoader = true;\n const headers = { 'content-type': 'application/json' }\r\n const RateScreenInfo: any = {\r\n \"PlannerMasterId\": this.PlannerMasterID,\r\n \"ScreenList\": this.SelectedScreens\r\n }\r\n const body = JSON.stringify(RateScreenInfo)\r\n var url = this.global.baseUrl + 'api/Planner/Insert_PlannerScreenDetailsInfo'\r\n this.http.post(url, body, { 'headers': headers }).subscribe((response) => {\n debugger\n console.log(response);\n if (response) {\n if (type != 1) {\n //alert(response)\r\n }\r\n this.ViewConfigScreenDetails();\r\n }\n this.isShowLoader = false;\n\n\n }, (error) => {\n this.isShowLoader = false;\n alert(\"Error Occured\")\n });\r\n }\n\n exportData() {\n console.log(this.ExportScreenData)\r\n debugger\r\n this.ExportScreenData = [];\r\n this.isShowLoader = true;\r\n this.IsCollapseScreenSelection = true\r\n this.IsScreenCountScreenOpen = true\r\n\r\n\r\n const headers = { 'content-type': 'application/json' }\r\n\r\n\r\n\r\n const ScreenCountData: any = {\r\n \"PlannerId\": this.PlannerId,\r\n \"FromDate\": this.datepipe.transform(this.CampaignStartDate, 'dd/MMM/yyyy'),\r\n \"ToDate\": this.datepipe.transform(this.CampaignEndDate, 'dd/MMM/yyyy'),\r\n \"StateList\": this.selectedStateListItems,\r\n \"TierList\": this.selectedTiersListItems,\r\n \"CityList\": this.SelectedCities,\r\n \"NetworksList\": this.selectedNetworkListItems,\r\n \"RegionList\": this.regionList,\r\n \"PincodeList\": this.PinCodeData,\r\n \"ScreenTypeList\": this.ScreenTypeList,\r\n \"MinSeatingCapacity\": this.MinCapacity,\r\n \"MaxSeatingCapacity\": this.MaxCapacity,\r\n \"AdvtDuration\": this.Duration,\r\n \"CampinFromDate\": this.ToPeriodDate,\r\n \"CampinToDate\": this.FromPeriodDate,\r\n \"ScreenList\": this.SelectedScreens\r\n\r\n }\r\n\r\n\r\n const body = JSON.stringify(ScreenCountData)\r\n var url = this.global.baseUrl + 'api/Planner/ExportPlannerSelectedScreen'\r\n this.http.post(url, body, { 'headers': headers }).subscribe((response) => {\r\n debugger\r\n console.log(response);\r\n if (response) {\r\n this.ExportScreenData = response.Table\r\n this.export()\r\n }\r\n \r\n\r\n this.isShowLoader = false;\r\n\r\n\r\n }, (error) => {\r\n this.isShowLoader = false;\r\n alert(\"Error Occured\")\r\n });\r\n \r\n }\n\n export() {\n let DataToExport = [];\r\n if (this.ExportScreenData.length > 0) {\r\n for (let i = 0; i < this.ExportScreenData.length; i++) {\r\n let d =\r\n {\r\n \"Sr.No.\": i + 1,\r\n \"Screen ID\": this.ExportScreenData[i].ScreenID,\r\n \"Property ID\": this.ExportScreenData[i].PropertyID,\r\n \"Property Name\": this.ExportScreenData[i].PropertyName,\r\n \"Region\": this.ExportScreenData[i].Region,\r\n \"State\": this.ExportScreenData[i].State,\r\n \"Tier\": this.ExportScreenData[i].Tier,\r\n \"Screen Type\": this.ExportScreenData[i].ScreenType,\r\n \"City\": this.ExportScreenData[i].City,\r\n \"Pincode\": this.ExportScreenData[i].Pincode,\r\n \"Networks\": this.ExportScreenData[i].Networks,\r\n \"Seating Capacity\": this.ExportScreenData[i].SeatingCapacity\r\n };\r\n DataToExport.push(d);\r\n }\r\n\r\n const workBook = XLSX.utils.book_new();\r\n const workSheet = XLSX.utils.json_to_sheet(DataToExport);\r\n XLSX.utils.book_append_sheet(workBook, workSheet, 'data');\r\n var datePipe = new DatePipe('en-US');\r\n let currentDate = new Date();\r\n XLSX.writeFile(workBook, 'Screen Data-' + datePipe.transform(new Date(currentDate.toDateString()), 'dd-MMM-yyyy') + '.xlsx');\r\n }\r\n else {\r\n alert(\"No record found...!\");\r\n }\r\n }\n\n GetPlannerCampainList() {\n debugger\n this.ClearBasicInfo();\n this.ViewPlannerCamapinList = [];\n var user_id = sessionStorage.getItem('IsUserId');\r\n var url = this.global.baseUrl + 'api/Planner/View_PlannerBasic_Details/?PlannerMasterId=' + 0 + '&userID=' + user_id;\n this.http.get(url).subscribe(data => {\r\n if (data.Table.length > 0) {\r\n this.IsPlannerCampainPresent = true;\r\n this.ViewPlannerCamapinList = data.Table\r\n }\r\n else {\r\n this.IsPlannerCampainPresent = false;\r\n }\r\n })\n\r\n }\n\n GoToPlannerForm() {\n debugger;\n this.IsCreate = true;\r\n this.GetPlannerCampainList()\r\n }\n\r\n\r\n btnView(PlannerMasterId) {\r\n debugger;\r\n this.IsCreate = true;\r\n this.PlannerMasterID = PlannerMasterId;\r\n this.ViewBasicDetails();\r\n }\r\n\r\n Delete() {\r\n\r\n const headers = { 'content-type': 'application/json' }\r\n var url = this.global.baseUrl + 'api/Planner/DeletePlannerCampine/?PlannerMasterId=' + this.PlannerMasterID;\r\n this.http.post(url, { 'headers': headers }).subscribe((response) => {\n debugger\n\n this.isShowLoader = false;\n //alert(response.Message)\n this.GetPlannerCampainList();\n this.IsMessage = false;\n //this.IsMessage = false;\n //this.GolblePostEvalId = \"\";\n }, (error) => {\n this.isShowLoader = false;\r\n alert(\"Error Occured\")\r\n\n });\r\n\r\n }\r\n\r\n //********************View Code on back button*************************************\r\n //View Basic Info\r\n ViewBasicDetails() {\r\n debugger\r\n this.ClearBasicInfo();\r\n var user_id = 0;\r\n var url = this.global.baseUrl + 'api/Planner/View_PlannerBasic_Details/?PlannerMasterId=' + this.PlannerMasterID + '&userID=' + user_id;\n this.http.get(url).subscribe(data => {\r\n if (data.Table) {\r\n console.log(data);\r\n console.log(data.Table[0].ClientName)\r\n this.ClientName = data.Table[0].ClientName;\r\n this.Brands = data.Table[0].Brands;\r\n this.Duration = data.Table[0].Duration;\r\n this.CampaignObject = data.Table[0].Campanign_Details;\r\n this.CampaignStartDate = new Date(data.Table[0].StartDate)\r\n this.CampaignEndDate = new Date(data.Table[0].EndDate)\r\n this.submitted = false;\r\n }\r\n else {\r\n alert(\"Some error occurred...!\");\r\n }\r\n })\r\n }\r\n\r\n ViewScreenDetails() {\r\n debugger;\r\n this.IsShowScreenDiv =false\n this.StateList = [];\n this.TiersList = [];\n this.CityList = [];\n this.NetworkList = [];\n this.CityListAllData = [];\n this.regionList = [];\n this.ScreenTypeList = []\n\n this.selectedStateListItems = [];\n this.selectedTiersListItems = [];\n this.SelectedCities = [];\n this.selectedNetworkListItems = []\n this.CityListAllData = []\r\n\r\n this.SelectedScreens = []\r\n this.ScreenListAllData = [] \r\n this.AllDataScreen = []\r\n\r\n //this.selectedScreenListItems=[]\r\n //this.selectedScreenListItems[0].ScreenName=''\r\n\r\n this.ScreenTypeList = \"\";\r\n this.MinCapacity = \"\";\r\n this.MaxCapacity = \"\";\r\n this.MinATP = \"\";\r\n this.MaxATP = \"\";\r\n this.Tags = \"\";\r\n\r\n this.CityCount = 0;\r\n this.selectScreenCount = 0\r\n\r\n this.isShowLoader = true;\r\n\r\n var url = this.global.baseUrl + 'api/Planner/View_PlannerScreen_Details/?PlannerMasterId=' + this.PlannerMasterID;\r\n this.http.get(url).subscribe(response => {\r\n if (response != null) {\r\n\r\n this.CityCount = response.Table5.length;\r\n this.selectScreenCount = response.Table12.length;\r\n\r\n console.log(response);\r\n this.StateList = response.Table;\r\n this.selectedStateListItems = response.Table1\r\n this.TiersList = response.Table2;\r\n this.selectedTiersListItems = response.Table3\r\n\r\n this.CityListAllData = response.Table4\r\n this.SelectedCities = response.Table5\r\n this.selectedCityListItems = [{ id: 0, City: \"0 cities selected\" }]\r\n this.selectedCityListItems[0].City = response.Table5.length + \" \" + \" cities selected\"\r\n this.AllData = response.Table4.slice()\r\n\r\n //this.SelectedCities = response.Table5 //City selected\r\n this.NetworkList = response.Table6;\r\n this.selectedNetworkListItems = response.Table7;\r\n \r\n this.regionList = response.Table8;\r\n // Table9\r\n this.ScreenTypeList = response.Table9;\r\n this.MinCapacity = response.Table10[0].SeatingCapcityMin;\r\n this.MaxCapacity = response.Table10[0].SeatingCapacityMax;\r\n this.MinATP = response.Table10[0].ATPMin;\r\n this.MaxATP = response.Table10[0].ATPMax;\r\n this.Tags = response.Table10[0].Tags;\r\n\r\n this.ScreenListAllData = response.Table11\r\n this.SelectedScreens = response.Table12\r\n this.selectedScreenListItems[0].ScreenName = this.SelectedScreens.length + \" \" + \" screens selected\"\r\n this.AllDataScreen = response.Table11.slice()\r\n\r\n this.selectedCityListItems[0].City = this.CityCount + \" \" + \" cities selected\"\r\n this.selectedScreenListItems[0].ScreenName = this.selectScreenCount + \" \" + \" screens selected\"\r\n \r\n \r\n\r\n //for (var i = 0; i < response.Table8.length; i++) {\r\n // var boolValue = getBoolean(response.Table8[i].Status); //returns true\r\n // response.Table8[i].Status = boolValue;\r\n\r\n //}\r\n\r\n //for (var i = 0; i < response.Table9.length; i++) {\r\n // var boolValue = getBoolean(response.Table9[i].Status); //returns true\r\n // response.Table9[i].Status = boolValue;\r\n\r\n //}\r\n\r\n //function getBoolean(value) {\r\n // switch (value) {\r\n // case true:\r\n // case \"true\":\r\n\r\n // return true;\r\n // default:\r\n // return false;\r\n // }\r\n //}\r\n\r\n this.isShowLoader = false;\r\n\r\n }\r\n else {\r\n this.StateList = [];\r\n this.TiersList = [];\r\n this.CityList = [];\r\n this.NetworkList = [];\r\n this.CityListAllData = [];\r\n\r\n this.selectedStateListItems = [];\r\n this.selectedTiersListItems = [];\r\n this.SelectedCities = [];\r\n this.selectedNetworkListItems = []\r\n this.CityListAllData = []\r\n //this.selectedCityListItems = [{ id: 0, City: \"0 cities selected\" }]\r\n //this.selectedPinCodeListItems = [{ id: 0, PinCode: \"0 PinCode selected\" }]\r\n this.selectedCityListItems[0].City = this.SelectedCities.length + \" \" + \" cities selected\"\r\n this.selectedScreenListItems[0].ScreenName = this.SelectedScreens.length + \" \" + \" screens selected\"\r\n this.isShowLoader = false;\r\n alert(\"Some error occurred...!\");\r\n \r\n }\r\n }) \r\n }\r\n\r\n ViewRateScreenDetails(type?: number) {\r\n debugger;\r\n this.IsShowScreenDiv=false\r\n this.selectedNetworkListItems = [];\r\n var url = this.global.baseUrl + 'api/Planner/View_PlannerRateScreen_Details/?PlannerMasterId=' + this.PlannerMasterID;\r\n this.http.get(url).subscribe(data => {\r\n if (data) {\r\n console.log(data.rateScreenDetails);\r\n this.selectedScreenListItems = [{ id: 0, ScreenName: \"0 screens selected\" }]\r\n this.selectedScreenListItems[0].ScreenName = this.SelectedScreens.length + \" \" + \" screens selected\"\r\n this.selectedNetworkListItems = data.rateScreenDetails\r\n }\r\n else {\r\n if (type != 1) {\r\n alert(\"Some error occurred...!\");\r\n }\r\n\r\n }\r\n })\r\n }\r\n\r\n ViewConfigScreenDetails() {\r\n debugger\r\n this.IsShowScreenDiv=false\r\n var url = this.global.baseUrl + 'api/Planner/View_PlannerConfig_Details/?PlannerMasterId=' + this.PlannerMasterID;\r\n this.http.get(url).subscribe(data => {\r\n if (data) {\r\n console.log(data.ConfigList); \r\n this.selectedScreenListItems[0].ScreenName = this.SelectedScreens.length + \" \" + \" screens selected\"\r\n if (data.ConfigList.length > 0) {\r\n this.ConfigList = data.ConfigList;\r\n }\r\n else {\r\n this.CreateConfArray();\r\n }\r\n\r\n }\r\n else {\r\n alert(\"Some error occurred...!\");\r\n\r\n }\r\n })\r\n }\r\n\r\n CreateConfArray() {\n debugger\n this.ConfigList = []\n for (let i = 0; i < this.selectedNetworkListItems.length; i++) {\n let conf = new ConfigScreen();\n conf.Networks = this.selectedNetworkListItems[i].Networks\n conf.ConfShows = \"\",\n //conf.SlotData = [\n // { \"Slot\": \"Morning Slot\" },\n // { \"Slot\": \"LateEvening Slot\" },\n // { \"Slot\": \"Evening Slot\" },\n // { \"Slot\": \"Afternoon Slot\" }\n\n //],\n conf.selectedItems = []\n\n this.ConfigList.push(conf)\n }\n }\r\n\r\n\r\n // Period\n\n GetPreviousDateData() {\r\n debugger\r\n // Previous Caln\r\n\r\n if (this.PeriodInputValue == 0) {\r\n this.PeriodInputValue = 1\r\n }\r\n\r\n\r\n if (this.PeriodCalenderselection == 'Day') {\r\n ///Previous Days\r\n let prevDay = new Date();\r\n prevDay.setDate(prevDay.getDate() - Number(this.PeriodInputValue));\r\n\r\n let fromD = new Date()\r\n fromD.setDate(fromD.getDate() - 1)\r\n\r\n this.FromPeriodDate = this.datepipe.transform(fromD, 'dd MMM yyyy');\r\n let FinalDt = new Date(this.datepipe.transform(prevDay, 'dd MMM yyyy'));\r\n this.ToPeriodDate = this.datepipe.transform(FinalDt.setDate(FinalDt.getDate()), 'dd MMM yyyy')\r\n }\r\n\r\n\r\n if (this.PeriodCalenderselection == 'Months') {\r\n ///Previous Month\r\n let prevMonth = new Date();\r\n prevMonth.setMonth(prevMonth.getMonth() - Number(this.PeriodInputValue));\r\n\r\n //let prevMonth = new Date()\r\n prevMonth.setDate(prevMonth.getDate() - 1)\r\n\r\n // this.FromPeriodDate = this.datepipe.transform(new Date(), 'dd MMM yyyy');\r\n // this.ToPeriodDate = this.datepipe.transform(prevMonth, 'dd MMM yyyy');\r\n\r\n let fromD = new Date()\r\n fromD.setDate(fromD.getDate() - 1)\r\n\r\n this.FromPeriodDate = this.datepipe.transform(fromD, 'dd MMM yyyy');\r\n let FinalDt = new Date(this.datepipe.transform(prevMonth, 'dd MMM yyyy'));\r\n this.ToPeriodDate = this.datepipe.transform(FinalDt.setDate(FinalDt.getDate() ), 'dd MMM yyyy')\r\n\r\n\r\n }\r\n\r\n if (this.PeriodCalenderselection == 'Years') {\r\n ///Previous Year\r\n let prevYear = new Date();\r\n prevYear.setFullYear(prevYear.getFullYear() - Number(this.PeriodInputValue));\r\n\r\n\r\n // this.FromPeriodDate = this.datepipe.transform(new Date(), 'dd MMM yyyy');\r\n // this.ToPeriodDate = this.datepipe.transform(prevYear, 'dd MMM yyyy');\r\n\r\n let fromD = new Date()\r\n fromD.setDate(fromD.getDate() - 1)\r\n\r\n this.FromPeriodDate = this.datepipe.transform(fromD, 'dd MMM yyyy');\r\n let FinalDt = new Date(this.datepipe.transform(prevYear, 'dd MMM yyyy'));\r\n this.ToPeriodDate = this.datepipe.transform(FinalDt.setDate(FinalDt.getDate() + 1), 'dd MMM yyyy')\r\n\r\n\r\n\r\n }\r\n\r\n if (this.PeriodCalenderselection == 'Weeks') {\r\n debugger\r\n var WeekCount = this.PeriodInputValue\r\n WeekCount = WeekCount * 7;\r\n\r\n var GetStartOfWeek = { 0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6 };\r\n var GetEndOfWeek = { 0: 6, 1: 5, 2: 4, 3: 3, 4: 2, 5: 1, 6: 0 };\r\n\r\n var StartDate = new Date();\r\n var EndDate = new Date();\r\n EndDate.setDate(EndDate.getDate() - 1)\r\n\r\n StartDate.setDate(StartDate.getDate() - WeekCount)\r\n // EndDate.setDate(EndDate.getDate() - WeekCount)\r\n\r\n\r\n // StartDate.setDate(StartDate.getDate() - GetStartOfWeek[StartDate.getDay()]);\r\n // EndDate.setDate(EndDate.getDate() + GetEndOfWeek[EndDate.getDay()]);\r\n\r\n this.ToPeriodDate = this.datepipe.transform(StartDate, 'dd MMM yyyy');\r\n this.FromPeriodDate = this.datepipe.transform(EndDate, 'dd MMM yyyy');\r\n\r\n }\r\n\r\n\r\n\r\n\r\n ///Last Week Pending\r\n\r\n }\n\n\n\n GetNextDateData() {\n\n debugger\n\n // Next Caln\n if (this.PeriodInputValue == 0) {\n this.PeriodInputValue = 1\n }\n\n if (this.PeriodCalenderselection == 'Day') {\n ///Next Days\n let nextDay = new Date();\n nextDay.setDate(nextDay.getDate() + Number(this.PeriodInputValue));\n\n\n // this.FromPeriodDate = this.datepipe.transform(new Date(), 'dd MMM yyyy');\n // this.ToPeriodDate = this.datepipe.transform(nextDay, 'dd MMM yyyy');\n\n this.FromPeriodDate = this.datepipe.transform(new Date(), 'dd MMM yyyy');\n let FinalDt = new Date(this.datepipe.transform(nextDay, 'dd MMM yyyy'));\n this.ToPeriodDate = this.datepipe.transform(FinalDt.setDate(FinalDt.getDate() - 1), 'dd MMM yyyy')\n\n // this.ValidateDatePriority( this.FromPeriodDate,this.ToPeriodDate)\n\n\n\n\n }\n\n if (this.PeriodCalenderselection == 'Months') {\n ///Next Month\n let nextMonth = new Date();\n nextMonth.setMonth(nextMonth.getMonth() + Number(this.PeriodInputValue));\n\n // this.FromPeriodDate = this.datepipe.transform(new Date(), 'dd MMM yyyy');\n // this.ToPeriodDate = this.datepipe.transform(nextMonth, 'dd MMM yyyy');\n\n this.FromPeriodDate = this.datepipe.transform(new Date(), 'dd MMM yyyy');\n let FinalDt = new Date(this.datepipe.transform(nextMonth, 'dd MMM yyyy'));\n this.ToPeriodDate = this.datepipe.transform(FinalDt.setDate(FinalDt.getDate() - 1), 'dd MMM yyyy')\n\n // this.ValidateDatePriority( this.FromPeriodDate,this.ToPeriodDate)\n\n }\n\n if (this.PeriodCalenderselection == 'Years') {\n ///Next Year\n let nextYear = new Date();\n nextYear.setFullYear(nextYear.getFullYear() + Number(this.PeriodInputValue));\n\n\n // this.FromPeriodDate = this.datepipe.transform(new Date(), 'dd MMM yyyy');\n // this.ToPeriodDate = this.datepipe.transform(nextYear, 'dd MMM yyyy');\n\n this.FromPeriodDate = this.datepipe.transform(new Date(), 'dd MMM yyyy');\n let FinalDt = new Date(this.datepipe.transform(nextYear, 'dd MMM yyyy'));\n this.ToPeriodDate = this.datepipe.transform(FinalDt.setDate(FinalDt.getDate() - 1), 'dd MMM yyyy')\n\n // this.ValidateDatePriority( this.FromPeriodDate,this.ToPeriodDate)\n\n }\n\n if (this.PeriodCalenderselection == 'Weeks') {\n debugger\n var WeekCount = this.PeriodInputValue\n WeekCount = WeekCount * 6;\n\n var GetStartOfWeek = { 0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6 };\n var GetEndOfWeek = { 0: 6, 1: 5, 2: 4, 3: 3, 4: 2, 5: 1, 6: 0 };\n\n var StartDate = new Date();\n var EndDate = new Date();\n // StartDate.setDate(StartDate.getDate() + WeekCount)\n EndDate.setDate(EndDate.getDate() + WeekCount)\n\n // StartDate.setDate(StartDate.getDate() - GetStartOfWeek[StartDate.getDay()]);\n // EndDate.setDate(EndDate.getDate() + GetEndOfWeek[EndDate.getDay()]);\n\n this.FromPeriodDate = this.datepipe.transform(StartDate, 'dd MMM yyyy');\n this.ToPeriodDate = this.datepipe.transform(EndDate, 'dd MMM yyyy');\n\n\n // this.ValidateDatePriority( this.FromPeriodDate,this.ToPeriodDate)\n }\n\n ///Last Week Pending\n\n }\n\n GetThisDateData() {\n debugger\n this.PeriodInputValue = 0\n if (this.PeriodCalenderselection == 'Day') {\n\n this.FromPeriodDate = this.datepipe.transform(new Date(), 'dd MMM yyyy');\n\n this.ToPeriodDate = this.datepipe.transform(new Date(), 'dd MMM yyyy');\n\n }\n\n if (this.PeriodCalenderselection == 'Months') {\n // First Last Day\n var date = new Date();\n var firstDay = new Date(date.getFullYear(), date.getMonth(), 1);\n\n ///Last Day\n var currentDate = new Date();\n var lastDate = new Date(currentDate.getFullYear(), currentDate.getMonth() + 1, 0, 23, 59, 59, 999);\n\n this.FromPeriodDate = this.datepipe.transform(firstDay, 'dd MMM yyyy');\n\n this.ToPeriodDate = this.datepipe.transform(lastDate, 'dd MMM yyyy');\n }\n\n if (this.PeriodCalenderselection == 'Years') {\n debugger\n var date = new Date();\n var firstDay = new Date(new Date().getFullYear(), 0, 1);\n\n ///Last Day\n var currentDate = new Date();\n var lastDate = new Date(new Date().getFullYear(), 0, 365)\n\n this.FromPeriodDate = this.datepipe.transform(firstDay, 'dd MMM yyyy');\n\n this.ToPeriodDate = this.datepipe.transform(lastDate, 'dd MMM yyyy');\n }\n\n if (this.PeriodCalenderselection == 'Weeks') {\n debugger\n\n var GetStartOfWeek = { 0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6 };\n var GetEndOfWeek = { 0: 6, 1: 5, 2: 4, 3: 3, 4: 2, 5: 1, 6: 0 };\n\n var StartDate = new Date();\n var EndDate = new Date();\n\n\n StartDate.setDate(StartDate.getDate() - GetStartOfWeek[StartDate.getDay()]);\n EndDate.setDate(EndDate.getDate() + GetEndOfWeek[EndDate.getDay()]);\n\n this.FromPeriodDate = this.datepipe.transform(StartDate, 'dd MMM yyyy');\n this.ToPeriodDate = this.datepipe.transform(EndDate, 'dd MMM yyyy');\n }\n\n }\n\n\n\n GetPeriodInputVal(event) {\r\n debugger\r\n if (event.target.value == \"0\") {\r\n this.PeriodInputValue = 1\r\n event.target.value =1\r\n }\r\n else {\r\n this.PeriodInputValue = event.target.value\r\n }\r\n\r\n this.GetPeriodDuration(this.PeriodSelection)\r\n // this.GetPeriodDuration(this.PeriodCalenderselection)\r\n\r\n }\n\n\n GetPeriodDuration(data) {\n debugger\n\n if (data == 'Last') {\n this.PeriodSelection = 'Last'\n this.GetPreviousDateData();\n\n\n }\n if (data == 'Next') {\n this.PeriodSelection = 'Next'\n this.GetNextDateData();\n\n }\n\n\n if (data == 'This') {\n this.PeriodSelection = 'This'\n this.GetThisDateData();\n\n }\n\n\n if (data == 'Day') {\n this.PeriodCalenderselection = 'Day'\n if (this.PeriodSelection == 'Last') {\n this.GetPreviousDateData();\n }\n if (this.PeriodSelection == 'Next') {\n this.GetNextDateData();\n }\n\n if (this.PeriodSelection == 'This') {\n this.GetThisDateData();\n }\n\n\n\n\n }\n if (data == 'Weeks') {\n this.PeriodCalenderselection = 'Weeks'\n if (this.PeriodSelection == 'Last') {\n this.GetPreviousDateData();\n }\n if (this.PeriodSelection == 'Next') {\n this.GetNextDateData();\n }\n if (this.PeriodSelection == 'This') {\n this.GetThisDateData();\n }\n\n\n }\n if (data == 'Months') {\n this.PeriodCalenderselection = 'Months'\n if (this.PeriodSelection == 'Last') {\n this.GetPreviousDateData();\n }\n if (this.PeriodSelection == 'Next') {\n this.GetNextDateData();\n }\n if (this.PeriodSelection == 'This') {\n this.GetThisDateData();\n }\n\n }\n\n if (data == 'Years') {\n this.PeriodCalenderselection = 'Years'\n if (this.PeriodSelection == 'Last') {\n this.GetPreviousDateData();\n }\n if (this.PeriodSelection == 'Next') {\n this.GetNextDateData();\n }\n if (this.PeriodSelection == 'This') {\n this.GetThisDateData();\n }\n\n }\n }\r\n\r\n IncrementValue(event) {\r\n debugger\r\n var Val = event.Discount;\r\n if (event.Discount >=0) {\r\n if (event.Discount >= 0 && event.Discount >= 100) {\r\n event.Discount = 100\r\n }\r\n else {\r\n event.Discount = event.Discount + 5;\r\n }\r\n }\r\n \r\n \r\n //this.DiscountData = val + 5\r\n }\r\n\r\n DecrementValue(event) {\r\n debugger\r\n //this.DiscountData = val - 5\r\n\r\n var Val = event.Discount;\r\n if (event.Discount >0) {\r\n if (event.Discount > 0 && event.Discount >= 100) {\r\n event.Discount = 100\r\n }\r\n else {\r\n event.Discount = event.Discount - 5;\r\n }\r\n\r\n }\r\n \r\n\r\n \r\n }\r\n\r\n\r\n handleChange(event,item) {\r\n debugger\r\n\r\n var Val = event.target.value;\r\n if (event.target.value != \"\") {\r\n if (event.target.value > 0 && event.target.value > 100) {\r\n event.target.value = 100\r\n item.Discount = 100\r\n }\r\n\r\n }\r\n // if (input.value < 0) input.value = 0;\r\n // if (input.value > 100) input.value = 100;\r\n }\r\n\r\n\r\n IncrementPrimiumValue(event) {\r\n debugger\r\n var Val = event.Premiums;\r\n if (event.Premiums >= 0) {\r\n if (event.Premiums >= 0 && event.Premiums >= 100) {\r\n event.Premiums = 100\r\n }\r\n else {\r\n event.Premiums = event.Premiums + 5;\r\n }\r\n }\r\n\r\n\r\n //this.DiscountData = val + 5\r\n }\r\n\r\n DecrementPrimiumValue(event) {\r\n debugger\r\n //this.DiscountData = val - 5\r\n\r\n var Val = event.Premiums;\r\n if (event.Premiums > 0) {\r\n if (event.Premiums > 0 && event.Premiums >= 100) {\r\n event.Premiums = 100\r\n }\r\n else {\r\n event.Premiums = event.Premiums - 5;\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n\r\n handlePrimiumChange(event, item) {\r\n debugger\r\n\r\n var Val = event.target.value;\r\n if (event.target.value != \"\") {\r\n if (event.target.value > 0 && event.target.value > 100) {\r\n event.target.value = 100\r\n item.Premiums = 100\r\n }\r\n\r\n }\r\n // if (input.value < 0) input.value = 0;\r\n // if (input.value > 100) input.value = 100;\r\n }\r\n\r\n btnDelete(PlannerMasterId) {\n this.PlannerMasterID = 0;\n this.PlannerMasterID = PlannerMasterId;\n this.IsMessage = true;\n }\n\n DeleteNo() {\n debugger;\n this.IsMessage = false;\r\n this.PlannerMasterID = 0;\r\n }\n\n // Submit Form Event \n onCampaignBasicSubmit() {\n debugger\n this.IsScreenCountScreenOpen = false\n this.submitted = true;\n if (this.CampaignBasicForm.invalid) {\n return;\n }\n else {\n //this.GetScreensDetails(this.selectedStateListItems, this.selectedTiersListItems, this.SelectedCities, this.selectedNetworkListItems, this.regionList, this.ScreenTypeList, this.SelectedScreens, false, false)\n\n // this.IsCampaignBasicStep = !this.IsCampaignBasicStep\n this.IsScreenStep = true\n this.IsRatesStep = false\n\n this.IsCampaignBasicDiv = false\n this.IsScreenStepDiv = true\n this.IsRatesStepDiv = false\n this.DarftBasicInfo(0, 1);\n\n\n\n }\n\n }\n\n\n onScreenSubmit() {\r\n debugger\r\n this.IsScreenCountScreenOpen = false\r\n\r\n this.Screensubmitted = true;\r\n if (this.ScreenForm.invalid) {\r\n return;\r\n }\r\n else {\r\n\r\n\n this.IsScreenStep = true\n this.IsRatesStep = true\n\n this.IsCampaignBasicDiv = false\n this.IsScreenStepDiv = false\n this.IsRatesStepDiv = true\r\n this.DraftScreenInfo(1);\r\n\r\n\r\n //localStorage.setItem(\"ScreenFiltersDetails\", JSON.stringify(ScreenSubmitData))\r\n //window.location.href = \"./ScreenReport\"\r\n\r\n\r\n\r\n\r\n }\r\n }\r\n\r\n OnSubmitRateScreen() {\r\n debugger\r\n debugger\r\n this.IsScreenCountScreenOpen= false\r\n this.IsScreenStep = true\r\n this.IsRatesStep = true\r\n this.IsConfiguration = true\r\n\r\n\r\n this.IsCampaignBasicDiv = false\r\n this.IsScreenStepDiv = false\r\n this.IsRatesStepDiv = false\r\n this.IsRatesStepDiv = false\r\n this.IsConfigurationDiv = true\r\n this.IsScreenCountScreenOpenForConf = false\r\n this.DraftRateInfo(1);\r\n }\r\n\r\n OnPublishConfig(type?: number) {\r\n debugger\r\n this.IsConfigurationDiv = false\r\n //this.IsScreenCountScreenOpen = true;\r\n this.IsScreenCountScreenOpenForConf = true\r\n this.AllLoadDiv = false;\r\n let ScreenSubmitData = []\r\n let StateArray = []\r\n let CityArray = []\r\n let TiersArray = []\r\n let NetworkArray = []\r\n let AtpData = []\r\n \r\n //this.PlannerSelectedScreenCount();\r\n \r\n let DummyArray = [];\r\n \r\n let FinalDummyArray: Array = [];\r\n\r\n\r\n for (var i = 0; i < this.ConfigList.length; i++) {\r\n for (var j = 0; j < this.ConfigList[i].selectedItems.length; j++) {\r\n let cof = new ConfigScreen()\r\n cof.ConfShows = this.ConfigList[i].ConfShows,\r\n cof.Networks = this.ConfigList[i].Networks,\r\n cof.selectedItems = this.ConfigList[i].selectedItems[j].Slot\r\n\r\n FinalDummyArray.push(cof)\r\n\r\n }\r\n }\r\n\r\n debugger;\r\n this.isShowLoader = true;\n const headers = { 'content-type': 'application/json' }\r\n const ConfigBasicInfo: any = {\r\n \"PlannerMasterId\": this.PlannerMasterID,\r\n \"_SaveConfigList\": FinalDummyArray,\r\n }\r\n const body = JSON.stringify(ConfigBasicInfo)\r\n var url = this.global.baseUrl + 'api/Planner/Insert_PlannerConfigInfo'\r\n this.http.post(url, body, { 'headers': headers }).subscribe((response) => {\n debugger\n console.log(response);\n if (response) {\n this.DraftScreenDetailsInfo();\n if (type==1) {\n this.PlannerSelectedScreenCount();\r\n }\n \r\n //this.isShowLoader = false;\r\n }\n else {\n this.isShowLoader = false;\r\n }\n \n\n\n }, (error) => {\n this.isShowLoader = false;\n alert(\"Error Occured\")\n });\r\n\r\n\r\n\r\n for (let i = 0; i < this.selectedStateListItems.length; i++) {\r\n StateArray[i] = this.selectedStateListItems[i].State;\r\n }\r\n\r\n\r\n\r\n // for (let i = 0; i < this.selectedCityListItems.length; i++) {\r\n // CityArray[i] = this.selectedCityListItems[i].CityID;\r\n // }\r\n\r\n\r\n\r\n\r\n for (let i = 0; i < this.selectedTiersListItems.length; i++) {\r\n TiersArray[i] = this.selectedTiersListItems[i].Tier;\r\n }\r\n\r\n\r\n for (let i = 0; i < this.selectedNetworkListItems.length; i++) {\r\n NetworkArray[i] = this.selectedNetworkListItems[i].Networks;\r\n }\r\n\r\n AtpData[0] = Number(this.Atp);\r\n\r\n\r\n for (let i = 0; i < this.SelectedCities.length; i++) {\r\n CityArray[i] = this.SelectedCities[i].CityWithState.substring(0, this.SelectedCities[i].CityWithState.indexOf(\"(\", 5)).trim()\r\n\r\n //this.SelectedCities[i].CityWithState;\r\n }\r\n\r\n ScreenSubmitData.push(StateArray);\r\n\r\n ScreenSubmitData.push(TiersArray);\r\n ScreenSubmitData.push(NetworkArray);\r\n ScreenSubmitData.push(AtpData);\r\n ScreenSubmitData.push(CityArray);\r\n\r\n //localStorage.setItem(\"ScreenFiltersDetails\", JSON.stringify(ScreenSubmitData))\r\n //window.location.href = \"./ScreenReport\"\r\n }\r\n\r\n OnSavePublishConfig() {\r\n debugger\r\n //this.IsConfigurationDiv = false\r\n //this.IsScreenCountScreenOpen = true;\r\n //this.IsScreenCountScreenOpenForConf = true\r\n ///this.AllLoadDiv = false;\r\n let ScreenSubmitData = []\r\n let StateArray = []\r\n let CityArray = []\r\n let TiersArray = []\r\n let NetworkArray = []\r\n let AtpData = []\r\n\r\n //this.PlannerSelectedScreenCount();\r\n\r\n let DummyArray = [];\r\n\r\n let FinalDummyArray: Array = [];\r\n\r\n\r\n for (var i = 0; i < this.ConfigList.length; i++) {\r\n for (var j = 0; j < this.ConfigList[i].selectedItems.length; j++) {\r\n let cof = new ConfigScreen()\r\n cof.ConfShows = this.ConfigList[i].ConfShows,\r\n cof.Networks = this.ConfigList[i].Networks,\r\n cof.selectedItems = this.ConfigList[i].selectedItems[j].Slot\r\n\r\n FinalDummyArray.push(cof)\r\n\r\n }\r\n }\r\n\r\n debugger;\r\n this.isShowLoader = true;\n const headers = { 'content-type': 'application/json' }\r\n const ConfigBasicInfo: any = {\r\n \"PlannerMasterId\": this.PlannerMasterID,\r\n \"_SaveConfigList\": FinalDummyArray,\r\n }\r\n const body = JSON.stringify(ConfigBasicInfo)\r\n var url = this.global.baseUrl + 'api/Planner/Insert_PlannerConfigInfo'\r\n this.http.post(url, body, { 'headers': headers }).subscribe((response) => {\n debugger\n console.log(response);\n if (response) {\n this.DraftScreenDetailsInfo();\n alert(response)\n\r\n this.isShowLoader = false;\r\n }\n else {\n this.isShowLoader = false;\r\n }\n\n\n\n }, (error) => {\n this.isShowLoader = false;\n alert(\"Error Occured\")\n });\r\n\r\n\r\n\r\n for (let i = 0; i < this.selectedStateListItems.length; i++) {\r\n StateArray[i] = this.selectedStateListItems[i].State;\r\n }\r\n\r\n\r\n\r\n // for (let i = 0; i < this.selectedCityListItems.length; i++) {\r\n // CityArray[i] = this.selectedCityListItems[i].CityID;\r\n // }\r\n\r\n\r\n\r\n\r\n for (let i = 0; i < this.selectedTiersListItems.length; i++) {\r\n TiersArray[i] = this.selectedTiersListItems[i].Tier;\r\n }\r\n\r\n\r\n for (let i = 0; i < this.selectedNetworkListItems.length; i++) {\r\n NetworkArray[i] = this.selectedNetworkListItems[i].Networks;\r\n }\r\n\r\n AtpData[0] = Number(this.Atp);\r\n\r\n\r\n for (let i = 0; i < this.SelectedCities.length; i++) {\r\n CityArray[i] = this.SelectedCities[i].CityWithState.substring(0, this.SelectedCities[i].CityWithState.indexOf(\"(\", 5)).trim()\r\n\r\n //this.SelectedCities[i].CityWithState;\r\n }\r\n\r\n ScreenSubmitData.push(StateArray);\r\n\r\n ScreenSubmitData.push(TiersArray);\r\n ScreenSubmitData.push(NetworkArray);\r\n ScreenSubmitData.push(AtpData);\r\n ScreenSubmitData.push(CityArray);\r\n\r\n //localStorage.setItem(\"ScreenFiltersDetails\", JSON.stringify(ScreenSubmitData))\r\n //window.location.href = \"./ScreenReport\"\r\n }\r\n\r\n BackConfigToList() {\r\n debugger;\r\n\r\n this.IsCampaignBasicStep = true\r\n this.IsScreenStep = false\r\n this.IsRatesStep= false\r\n this.IsCampaignBasicDiv = true\r\n this.IsScreenStepDiv = false\r\n this.IsRatesStepDiv = false\r\n\r\n\r\n\r\n this.IsConfiguration = false\r\n this.IsConfigurationDiv = false\r\n this.IsPlannerCampainPresent = false;\r\n\r\n this.IsConfigurationDiv = false \r\n this.IsScreenCountScreenOpenForConf = false\r\n this.IsScreenCountScreenOpen = false;\r\n this.AllLoadDiv = true;\r\n this.IsCreate = false;\r\n this.GetPlannerCampainList();\r\n }\r\n\r\n ShowScreenDiv() {\r\n debugger;\r\n\r\n this.PlannerSelectedScreenCount();\r\n this.IsShowScreenDiv = true;\r\n }\r\n\n\n\n}\n","\r\n\r\n
\r\n
\r\n \r\n DO you want delete this campaign details?\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
    \r\n
  • Campaign Info
  • \r\n
  • Screen Selection
  • \r\n
  • Rates
  • \r\n
  • Show Configuration
  • \r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n \r\n \r\n\r\n\r\n
\r\n \"logo\"\r\n\r\n\r\n
\r\n

\r\n Campaign Details\r\n

\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n\r\n Client Name*\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n Client Name required.\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n Brands*\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n Brands required.\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n Duration*\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n Duration required.\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n Campaign Objective*\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n Campaign Objective required.\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n Campaign Start Date*\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n Start Date required.\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n \r\n
\r\n Campaign End Date*\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n End Date required.\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Analysis Period\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n Last\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n {{ToPeriodDate}}\r\n
\r\n
\r\n -\r\n
\r\n
\r\n\r\n {{FromPeriodDate}}\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n

\r\n Screen Selection\r\n

\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n Region*\r\n\r\n
\r\n
\r\n
\r\n
\r\n {{regionlist.Region}}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n\r\n \r\n
\r\n \r\n State*\r\n \r\n\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n State required.\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n \r\n Tiers*\r\n \r\n\r\n\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n Tiers required.\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n \r\n
\r\n\r\n Screen Type*\r\n\r\n
\r\n
\r\n
\r\n
\r\n {{screenTypeLt.ScreenType}}\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n\r\n \r\n
\r\n \r\n City\r\n \r\n\r\n\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n City required.\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n Pin Code\r\n \r\n\r\n\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n Pin Code required.\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n \r\n Network*\r\n \r\n\r\n\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n Network required.\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n Seating Capacity\r\n \r\n
\r\n\r\n
\r\n\r\n \r\n \r\n\r\n \r\n \r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n ATP\r\n \r\n
\r\n\r\n
\r\n\r\n \r\n \r\n\r\n \r\n \r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n
\r\n\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Tags\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n

\r\n \r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n Screen\r\n \r\n \r\n \r\n
\r\n
\r\n Screen required.\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \"logo\"\r\n\r\n
\r\n
\r\n \"logo\"\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Network\r\n \r\n Screens\r\n \r\n Weekly Shows/ Screen\r\n \r\n Weekly Admits\r\n \r\n Admits \r\n \r\n Expected Budget\r\n \r\n Expected CPC \r\n
\r\n {{tbl.Networks}}\r\n \r\n {{tbl.Screens | number:'1.0-0'}}\r\n \r\n {{tbl.Weekly_ShowsPer_Screen | number:'1.0-2'}}\r\n \r\n {{tbl.Weekly_Admits | number:'1.0-0'}}\r\n \r\n {{tbl.Admits_for_Period | number:'1.0-0'}}\r\n \r\n {{tbl.Campaign_Budget | number:'1.0-0'}}\r\n \r\n {{tbl.Campaign_CPC | number:'1.0-2'}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n \r\n
\r\n
\r\n

\r\n Rates\r\n

\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n\r\n \r\n
Discounts (%)Premiums (%)\r\n Rate Type\r\n
\r\n {{item.Networks}}\r\n \r\n
\r\n -\r\n \r\n +\r\n
\r\n \r\n
\r\n
\r\n -\r\n \r\n +\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n Rack\r\n
\r\n
\r\n \r\n
\r\n
\r\n Flat\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n

\r\n \r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n Screen\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \"logo\"\r\n\r\n
\r\n
\r\n \"logo\"\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Network\r\n \r\n Screens\r\n \r\n Weekly Shows/ Screen\r\n \r\n Weekly Admits\r\n \r\n Admits \r\n \r\n Expected Budget\r\n \r\n Expected CPC \r\n
\r\n {{tbl.Networks}}\r\n \r\n {{tbl.Screens | number:'1.0-0'}}\r\n \r\n {{tbl.Weekly_ShowsPer_Screen | number:'1.0-2'}}\r\n \r\n {{tbl.Weekly_Admits | number:'1.0-0'}}\r\n \r\n {{tbl.Admits_for_Period | number:'1.0-0'}}\r\n \r\n {{tbl.Campaign_Budget | number:'1.0-0'}}\r\n \r\n {{tbl.Campaign_CPC | number:'1.0-2'}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n \r\n
\r\n \r\n
\r\n

\r\n Show Configuration\r\n

\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n
\r\n Weekly Show\r\n \r\n Show\r\n Time\r\n
\r\n {{time.Networks}}\r\n \r\n \r\n\r\n \r\n \r\n\r\n\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n

\r\n \r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n Screen\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \"logo\"\r\n\r\n
\r\n
\r\n \"logo\"\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Network\r\n \r\n Screens\r\n \r\n Weekly Shows/ Screen\r\n \r\n Weekly Admits\r\n \r\n Admits \r\n \r\n Expected Budget\r\n \r\n Expected CPC \r\n
\r\n {{tbl.Networks}}\r\n \r\n {{tbl.Screens | number:'1.0-0'}}\r\n \r\n {{tbl.Weekly_ShowsPer_Screen | number:'1.0-2'}}\r\n \r\n {{tbl.Weekly_Admits | number:'1.0-0'}}\r\n \r\n {{tbl.Admits_for_Period | number:'1.0-0'}}\r\n \r\n {{tbl.Campaign_Budget | number:'1.0-0'}}\r\n \r\n {{tbl.Campaign_CPC | number:'1.0-2'}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n \"logo\"\r\n\r\n
\r\n
\r\n \"logo\"\r\n\r\n
\r\n
\r\n \"logo\"\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n\r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n
\r\n Network\r\n \r\n Screens\r\n \r\n Weekly Shows/ Screen\r\n \r\n Weekly Admits\r\n \r\n Admits\r\n \r\n Expected Budget\r\n \r\n Expected CPC \r\n\r\n
\r\n {{tbl.Networks}}\r\n \r\n {{tbl.Screens | number:'1.0-2'}}\r\n \r\n {{tbl.Weekly_ShowsPer_Screen | number:'1.0-2'}}\r\n \r\n {{tbl.Weekly_Admits | number:'1.0-2'}}\r\n \r\n {{tbl.Admits_for_Period | number:'1.0-2'}}\r\n \r\n {{tbl.Campaign_Budget | number:'1.0-2'}}\r\n \r\n {{tbl.Campaign_CPC | number:'1.0-2'}}\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n \"logo\"\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Available\r\n Cities\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{city.CityWithState}}\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n \"logo\"\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \"logo\"\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n Selected\r\n Cities\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{selectedcity.CityWithState}}\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n \"logo\"\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n Select\r\n Pin Code\r\n \r\n
\r\n
\r\n \r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n Invalid\r\n Pin Code\r\n \r\n\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \"logo\"\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Available\r\n Screens\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{Screen.ScreenNameWithProperty}}\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n \"logo\"\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \"logo\"\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n Selected\r\n Screens\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{selectedscreen.ScreenNameWithProperty}}\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n
Client NameBrandStart DateEnd Date
{{tbl.ClientName}}{{tbl.Brands}}{{tbl.StartDate | date: 'dd-MMM-yyyy'}}{{tbl.EndDate | date: 'dd-MMM-yyyy'}}\r\n \"logo\"\r\n\r\n\r\n \"logo\"\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\nimport { Global } from '../global/global'\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { PostEvlDataModel } from '../Model/PostEvalData'\nimport { DatePipe } from '@angular/common'\nimport { fail } from 'assert';\r\nimport { FormBuilder, FormGroup, Validators, FormArray, FormControl } from '@angular/forms';\r\nimport { Router, NavigationExtras } from '@angular/router';\r\nimport { getDate } from 'ngx-bootstrap/chronos/utils/date-getters';\r\nimport { transcode } from 'buffer';\r\n\n\n\n\n@Component({\n selector: 'app-posteval',\n templateUrl: './posteval.component.html',\n styleUrls: ['./posteval.component.css']\n})\nexport class PostevalComponent implements OnInit {\n PostEvlArrayList: any = [];\n regionList: any = [];\n cinemaChainsList: any = [];\n StateList: any = [];\n\n selectedregionListItems: any = [];\n selectedcinemaChainsListItems: any = [];\n selectedStateListItems: any = [];\n\n\n dropdownregionSettings: IDropdownSettings\n dropdowncinemachainSettings: IDropdownSettings\n dropdownStateSettings: IDropdownSettings\n\n //Form\n CampaignStartDate: any\n CampaignEndDate: any\n Region: any\n CinemaChains: any\n CampaignBudget: any\n State: any\n totalspot: any\n Duration: any;\n ClientName: any\n CampaignTitle: any\n \n\n IsChainAdd: boolean = false\n\n // Spot and Budget\n CampSpots: any\n CampBudget: any\n\n SpotBudgtData: any = []\n FinalArray: any = []\n\n region_zoneNew: any = []\n arrayNew: PostEvlDataModel\n\n\n region_zone: any = []\n states: any = []\n chains: any = []\n\n FinalPostEvalData: any = []\n\n IsSubmitPostEval: boolean = false\n\n StateData: any = []\n\n StartDate: any\n EndDate: any\n todayDate = new Date();\n todayEndDate = new Date();\r\n\r\n\n FromDate = new Date();\n isShowLoader: boolean;\n IsCreate: boolean;\n IsCampainPresent: boolean;\n ViewPostEvalCamapinList: any = [];\n isSavePrefernceChecked: boolean;\n IsView: boolean;\n isRegionCheck: boolean;\n\n\n // formValidation\n registerPostForm: FormGroup;\n submitted = false;\n msg: string\n SavePref: boolean = true\n FinalSelectedArray: any = []\n\n GolblePostEvalId: any;\n IsMessage: boolean = false;\n\n DeleteArray: any = []\n cinemaChainFormArrayNew: any = []\n\n \n\n //msgs: Message[] = [];\r\n //successmsgs: Message[] = [];\n\n\n\n\n\n constructor(public global: Global, private http: HttpClient, public datepipe: DatePipe, private router: Router, private formBuilder: FormBuilder) {\n this.isShowLoader = false;\n this.IsCreate = false;\n this.IsView = false;\n this.IsCampainPresent = false;\n this.isRegionCheck = false;\n this.CampaignEndDate = new Date();\n\n }\n\n //UserMgt\n ngOnInit(): void {\n debugger\n\n\n this.registerPostForm = this.formBuilder.group({\n CampaignTitle: ['', [Validators.required]],\n ClientName: ['', [Validators.required]],\n Duration: ['', [Validators.required, Validators.pattern(\"^([1-9][0-9]*)|([0]+)$\")]],\n CampaignStartDate: ['', [Validators.required]],\n CampaignEndDate: ['', [Validators.required]],\n //regionCheckbox: ['', [Validators.required]],\n selectStateList: ['', [Validators.required]],\n ChainList: ['', [Validators.required]],\n 'cinemachain': new FormArray([])\n\n });\n\n this.dropdownregionSettings = {\n singleSelection: false,\n idField: 'id',\n textField: 'regionName',\n selectAllText: 'Select All',\n unSelectAllText: 'UnSelect All',\n itemsShowLimit: 3,\n allowSearchFilter: true\n };\n this.dropdownStateSettings = {\n singleSelection: false,\n idField: 'id',\n textField: 'State',\n selectAllText: 'Select All',\n unSelectAllText: 'UnSelect All',\n itemsShowLimit: 3,\n allowSearchFilter: true\n };\n\n this.dropdowncinemachainSettings = {\n singleSelection: false,\n idField: 'id',\n textField: 'chains',\n selectAllText: 'Select All',\n unSelectAllText: 'UnSelect All',\n itemsShowLimit: 3,\n allowSearchFilter: true\n };\n \n // this.CampaignStartDate = this.datepipe.transform(this.CampaignStartDate,'dd-MMM-yyyy')\n\n \n \n\n this.global.IsLoggedIn = sessionStorage.getItem('IsLoggedIn');\n this.global.IsUserId = sessionStorage.getItem('IsUserId'); \n console.log(this.global.IsLoggedIn)\n if (this.global.IsLoggedIn == null) {\n this.global.IsLoggedIn = 'false';\n }\n this.global.IsOnMenu = false\n this.global.IsOnApproachMenu = false\n this.global.IsOnPlannerMenu = false\n this.global.IsOnPostEvalMenu = true\n this.global.IsOnContactUsMenu = false\n this.global.IsOnStartedMenu = false\n this.global.IsCinemaStats = false\n\n this.SaveSpotsBudgetByCinemaChain();\n this.GetPostEvalCampainList();\n //this.GoToPostEvalForm();\n \n }\n\n get cinemaChainFormArray(): FormArray {\n return this.registerPostForm.get('cinemachain') as FormArray\n }\n\n //GetStartDate(data) {\r\n // debugger\r\n \r\n // this.todayDate = new Date();\r\n \r\n //}\r\n\r\n //GetEndDate(data) {\r\n // debugger\r\n \r\n // // this.maxDate.setDate(this.maxDate.getDate() + 7);\r\n // this.todayDate = new Date(this.CampaignEndDate);\r\n \r\n //}\n\n\n GetPostEvalDataList() {\n debugger\n //this.ViewPostEvalCamapinList = [];\r\n this.cinemaChainsList = [];\r\n this.selectedcinemaChainsListItems = []; \r\n this.regionList = [];\r\n this.FinalArray = [];\r\n this.StateList = [];\r\n this.selectedStateListItems = [];\n this.cinemaChainFormArrayNew = [];\n \n //let frmArray = this.registerPostForm.get('cinemachain') as FormArray;\n //frmArray.clear();\n //const index2 = this.cinemaChainFormArray.value.findIndex(element => element.id == item.id);\r\n // if (index2 > -1) {\r\n //for (let i = 0; i < this.cinemaChainFormArray.length; i++) {\r\n // this.cinemaChainFormArray.removeAt(i)\r\n //}\r\n \r\n\r\n //}\n\n\n const headers = { 'content-type': 'application/json' }\n\n\n const PostEvlData: any = {\n region_zone: [],\n states: [],\n chains: []\n };\n const body = JSON.stringify(PostEvlData)\n\n\n var url = this.global.baseUrl + 'api/Dashboard/GetDashboard/'\n this.http.post(url, body, { 'headers': headers }).subscribe((response) => {\n debugger\n this.regionList = [];\n this.PostEvlArrayList = response;\n // this.StateList = this.PostEvlArrayList.states;\n\n this.regionList = this.PostEvlArrayList.region_zone;\n \n\n\n }, (error) => {\n\n });\n // http://test.cambioscope.movie/api/api/ReportFilter/GetReportFilter\n }\n\n\n // OnSelect Events of Cinema Chain\n\n onItemSelect(item: any) {\n debugger\n if (this.selectedcinemaChainsListItems.length > 0) {\n this.IsChainAdd = true\n }\n else {\n this.IsChainAdd = false\n }\n\n\n this.FinalArray.push(item)\n this.cinemaChainFormArrayNew = []\n this.cinemaChainFormArrayNew.push(item)\n\n for (let i = 0; i < this.cinemaChainFormArrayNew.length; i++) {\n\n this.cinemaChainFormArray.push(this.formBuilder.group({\n 'id': item.id,\n 'chains': item.chains,\n 'spots': this.cinemaChainFormArrayNew[i] && this.cinemaChainFormArrayNew[i].spots ? this.cinemaChainFormArrayNew[i].spots : '',\n 'Budget': this.cinemaChainFormArrayNew[i] && this.cinemaChainFormArrayNew[i].Budget ? this.cinemaChainFormArrayNew[i].Budget : ''\n\n }))\n }\r\n }\r\n\n\n\n onSelectAll(items: any) {\r\n debugger\r\n this.IsChainAdd = true\r\n\r\n for (let i = 0; i < items.length; i++) {\r\n for (let j = 0; j < this.FinalArray.length; j++) {\r\n if (items[i].id == this.FinalArray[j].id) {\r\n\r\n items.splice(items.findIndex(element => element.id == items[i].id), 1);\r\n\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n for (let i = 0; i < items.length; i++) {\r\n this.FinalArray.push(items[i])\r\n }\r\n\r\n this.FinalArray = this.FinalArray\r\n\r\n this.cinemaChainFormArrayNew = []\r\n this.cinemaChainFormArrayNew.push(items)\r\n this.cinemaChainFormArrayNew = this.cinemaChainFormArrayNew[0];\r\n\r\n for (let i = 0; i < this.cinemaChainFormArrayNew.length; i++) {\r\n\r\n this.cinemaChainFormArray.push(this.formBuilder.group({\r\n 'id': this.cinemaChainFormArrayNew[i].id,\r\n 'chains': this.cinemaChainFormArrayNew[i].chains,\r\n 'spots': this.cinemaChainFormArrayNew[i] && this.cinemaChainFormArrayNew[i].spots ? this.cinemaChainFormArrayNew[i].spots : '',\r\n 'Budget': this.cinemaChainFormArrayNew[i] && this.cinemaChainFormArrayNew[i].Budget ? this.cinemaChainFormArrayNew[i].Budget : ''\r\n\r\n }))\r\n }\r\n\r\n console.log(items);\r\n // }\r\n // else {\r\n // this.FinalArray.push(items)\r\n // this.FinalArray = this.FinalArray[0];\r\n // }\r\n }\r\n\n\n onUnSelectAll() {\n debugger\n\n this.IsChainAdd = false\n this.FinalArray = []\n let frmArray = this.registerPostForm.get('cinemachain') as FormArray;\n frmArray.clear();\n\n }\r\n\n\n\n\n onItemDeSelect(item: any) {\n debugger\n if (this.selectedcinemaChainsListItems.length > 0) {\n this.IsChainAdd = true\n }\n else {\n this.IsChainAdd = false\n }\n\n const index = this.FinalArray.findIndex(element => element.id == item.id);\n if (index > -1) {\n this.FinalArray.splice(index, 1);\n }\n\n const index1 = this.cinemaChainFormArray.value.findIndex(element => element.id == item.id);\n if (index > -1) {\n this.cinemaChainFormArray.removeAt(this.cinemaChainFormArray.value.findIndex(y => y.id === item.id))\n // this.cinemaChainFormArray.value.splice(index, 1);\n }\n\n\n\n }\n\n\n // OnSelect Events of State\n onItemStateSelect(item: any) {\n debugger\n \n const headers = { 'content-type': 'application/json' }\n this.StateData.push(item);\n\n\n const PostEvlData: any = {\n region_zone: [],\n states: this.StateData,\n chains: []\n };\n const body = JSON.stringify(PostEvlData)\n\n\n var url = this.global.baseUrl + 'api/Dashboard/GetDashboard/'\n this.http.post(url, body, { 'headers': headers }).subscribe((response) => {\n debugger\n this.cinemaChainsList = [];\n this.PostEvlArrayList = response;\n this.cinemaChainsList = this.PostEvlArrayList.chains;\n\n\n\n\n }, (error) => {\n\n });\n }\n\n onItemStateDeSelect(item: any) {\n debugger\n const headers = { 'content-type': 'application/json' }\n\n const index = this.StateData.findIndex(element => element.id == item.id);\n if (index > -1) {\n this.StateData.splice(index, 1);\n }\n\n const PostEvlData: any = {\n region_zone: [],\n states: this.StateData,\n chains: []\n };\n const body = JSON.stringify(PostEvlData)\n\n\n\n\n var url = this.global.baseUrl + 'api/Dashboard/GetDashboard/'\n this.http.post(url, body, { 'headers': headers }).subscribe((response) => {\n debugger\n this.cinemaChainsList = [];\n this.PostEvlArrayList = response;\n this.cinemaChainsList = this.PostEvlArrayList.chains;\n\n\n\n\n }, (error) => {\n\n });\n\n\n\n }\n\n onStateSelectAll(items: any) {\n debugger\r\n this.isShowLoader = true;\r\n this.StateData=items;\r\n const headers = { 'content-type': 'application/json' }\r\n\r\n\r\n const PostEvlData: any = {\r\n region_zone: [],\r\n states: items,\r\n chains: []\r\n };\r\n const body = JSON.stringify(PostEvlData)\r\n\r\n\r\n\r\n\r\n var url = this.global.baseUrl + 'api/Dashboard/GetDashboard/'\r\n this.http.post(url, body, { 'headers': headers }).subscribe((response) => {\r\n debugger\r\n this.isShowLoader = false;\r\n this.cinemaChainsList = [];\r\n this.PostEvlArrayList = response;\r\n this.cinemaChainsList = this.PostEvlArrayList.chains;\r\n\r\n\r\n\r\n\r\n }, (error) => {\r\n this.isShowLoader = false;\r\n alert(\"Error Occured\")\r\n\r\n });\r\n\n\n }\n\n onUnStateSelectAll() {\n debugger\r\n this.StateData = []\r\n this.cinemaChainsList = []\r\n this.FinalArray = []\r\n this.selectedcinemaChainsListItems = []\r\n\n }\n\n GoToLoginFromPlanner() {\n debugger\n localStorage.setItem('IsPlannerLogin', \"false\");\n localStorage.setItem('IsPostEvalLogin', \"true\");\n window.location.href = \"./Login\"\n }\n\n\n GotoPlanner() {\n window.location.href = \"./Planner\"\n }\n\n //UserMgt\n LogoutApp() {\n this.global.IsLoggedIn = 'false';\n sessionStorage.setItem('IsLoggedIn', String(this.global.IsLoggedIn));\n window.location.href = \"./Login\"\n\n\n }\n\n AddChainData() {\n this.IsChainAdd = true\n }\n\n SaveChainData() {\n debugger\n this.IsChainAdd = false\n\n }\n\n // BudgetSpot Save methd\n SaveSpotsBudgetByCinemaChain() {\n debugger\n\n\n }\n\n ShowPostEvlData(Create) {\n debugger\n this.FinalArray = [];\n this.FinalArray = this.registerPostForm.value.cinemachain;\n for (let i = 0; i < this.FinalArray.length; i++) {\n if (this.FinalArray[i].spots == '' || this.FinalArray[i].spots == undefined) {\n alert(\"Please enter the spots and budget\")\n return\n }\n else if (this.FinalArray[i].Budget == '' || this.FinalArray[i].Budget == undefined) {\n alert(\"Please enter the spots and budget\")\n return\n }\n\n\n\n\n }\n //if (Create=='C') {\n for (let i = 0; i < this.regionList.length; i++) {\n if (this.regionList[i].Status == true) {\n var flag = true;\n this.isRegionCheck = false;\n break\n }\n else { var flag = false; }\n this.isRegionCheck = true;\n }\r\n //}\n \n\n if (flag == false) {\n alert(\"Please check the region\")\n return\n }\n\n\n this.isShowLoader = true;\n \n const headers = { 'content-type': 'application/json' }\n const PostEvlData: any = {\n \"region_zone\": this.region_zoneNew,\n \"states\": this.StateData,\n \"chains\": [],\n \"CinemaChain\": this.FinalArray\n };\n this.StartDate = this.datepipe.transform(this.CampaignStartDate,'dd/MMM/yyyy');\n this.EndDate = this.datepipe.transform(this.CampaignEndDate,'dd/MMM/yyyy'); \n \n\n // this.EndDate = moment(this.CampaignEndDate).format('dd/MM/yyyy');\n const body = JSON.stringify(PostEvlData)\n var url = this.global.baseUrl + 'api/Dashboard/GetPostEvalDetails/?StartDate=' + this.StartDate + '&EndData=' + this.EndDate + '&Duration=' + this.Duration\n ///var url = this.global.baseUrl + 'api/Dashboard/GetPostEvalDetails/?StartDate=' + '01/01/2023' + '&EndData=' + '10/01/2023' + '&Duration=' + 30\n this.http.post(url, body, { 'headers': headers }).subscribe((response) => {\n debugger \n this.FinalPostEvalData = response.Table;\n if (this.FinalPostEvalData.length == 0) {\n alert(\"Data not found..!\")\r\n }\n else {\n this.IsSubmitPostEval = true\n if (this.SavePref == true && Create == 'C') {\n this.SavePostEvalDetails()\r\n }\r\n }\n this.isShowLoader = false;\n\n }, (error) => {\n this.isShowLoader = false;\r\n alert(\"Error Occured\")\r\n\n });\n //if (this.FinalPostEvalData.length > 0) {\n //this.IsSubmitPostEval = true\n //if (this.SavePref == true && Create == 'C') {\n // this.SavePostEvalDetails()\r\n //}\r\n //}\n \n\n\n\n }\n\n ResetChains(item) {\r\n debugger\r\n\r\n // this.cinemaChainsList = []\r\n\r\n\r\n\r\n const index1 = this.FinalArray.findIndex(element => element.id == item.id);\r\n if (index1 > -1) {\r\n this.FinalArray.splice(index1, 1);\r\n }\r\n\r\n const index2 = this.cinemaChainFormArray.value.findIndex(element => element.id == item.id);\r\n if (index2 > -1) {\r\n this.cinemaChainFormArray.removeAt(this.cinemaChainFormArray.value.findIndex(y => y.id === item.id))\r\n\r\n }\r\n this.selectedcinemaChainsListItems.splice(this.selectedcinemaChainsListItems.findIndex(element => element.id == item.id), 1);\r\n\r\n let SelectedCinemaChainListCopyArray = this.selectedcinemaChainsListItems.map(x => Object.assign({}, x));\r\n let FinalArrayCopyArray = this.FinalArray.map(x => Object.assign({}, x));\r\n\r\n if (item.spots!=undefined) {\r\n delete item.spots\r\n }\r\n\r\n if (item.Budget != undefined) {\r\n delete item.Budget\r\n }\r\n\r\n\r\n SelectedCinemaChainListCopyArray.push(item)\r\n\r\n let FinalArrayCopyDuplicateArray: any = []\r\n FinalArrayCopyDuplicateArray = [{ id: item.id, chains: item.chains, spots: \"\", Budget: \"\" }]\r\n\r\n for (let i = 0; i < FinalArrayCopyDuplicateArray.length; i++) {\r\n FinalArrayCopyArray.push(FinalArrayCopyDuplicateArray[i])\r\n }\r\n\r\n this.selectedcinemaChainsListItems = []\r\n this.FinalArray = []\r\n\r\n\r\n this.selectedcinemaChainsListItems = SelectedCinemaChainListCopyArray;\r\n this.FinalArray = FinalArrayCopyArray;\r\n\r\n\r\n\r\n\r\n // this.selectedcinemaChainsListItems.push([{ id: \"4\", chains: \"QUBE\" }]);\r\n // this.FinalArray.push([{ id: \"4\", chains: \"QUBE\", spots: \"15\", Budget: \"45\" }]);\r\n\r\n this.cinemaChainFormArrayNew = []\r\n this.cinemaChainFormArrayNew.push(item)\r\n\r\n for (let i = 0; i < this.cinemaChainFormArrayNew.length; i++) {\r\n\r\n this.cinemaChainFormArray.push(this.formBuilder.group({\r\n 'id': this.cinemaChainFormArrayNew[i].id,\r\n 'chains': this.cinemaChainFormArrayNew[i].chains,\r\n 'spots': this.cinemaChainFormArrayNew[i] && this.cinemaChainFormArrayNew[i].spots ? this.cinemaChainFormArrayNew[i].spots : '',\r\n 'Budget': this.cinemaChainFormArrayNew[i] && this.cinemaChainFormArrayNew[i].Budget ? this.cinemaChainFormArrayNew[i].Budget : ''\r\n\r\n }))\r\n }\r\n\r\n\r\n\r\n\r\n\r\n }\n \n\n checkValue(ev: any, zone: any) {\n debugger\n //console.log(event);\n\n //this.region_zoneNew = [];\n\n //if (event.Zone == 'HSM' && event.Status == true) {\n // this.region_zoneNew = [{\n // \"Zone\": \"HSM\",\n // \"Status\": true\n // },\n // {\n // \"Zone\": \"South\",\n // \"Status\": false\n // }]\n //}\n\n //else if (event.Zone == 'HSM' && event.Status == false) {\n // this.region_zoneNew = [{\n // \"Zone\": \"HSM\",\n // \"Status\": false\n // },\n // {\n // \"Zone\": \"South\",\n // \"Status\": false\n // }]\n //}\n\n //else if (event.Zone == 'South' && event.Status == true) {\n // this.region_zoneNew = [{\n // \"Zone\": \"HSM\",\n // \"Status\": false\n // },\n // {\n // \"Zone\": \"South\",\n // \"Status\": true\n // }]\n //}\n\n //else if (event.Zone == 'South' && event.Status == false) {\n // this.region_zoneNew = [{\n // \"Zone\": \"HSM\",\n // \"Status\": false\n // },\n // {\n // \"Zone\": \"South\",\n // \"Status\": false\n // }]\n //}\n\n\n\n\n //this.regionList = []\n //this.regionList = this.region_zoneNew\n \n if (ev.target.checked) {\r\n // Pushing the object into array\r\n //this.test_region_zone.push(obj);\r\n let removeIndex = this.regionList.findIndex(itm => itm.Zone === zone.Zone);\r\n this.regionList[removeIndex].Status = true;\r\n this.isRegionCheck = false;\r\n\r\n } else {\r\n let removeIndex = this.regionList.findIndex(itm => itm.Zone === zone.Zone);\r\n\r\n if (removeIndex !== -1)\r\n this.regionList[removeIndex].Status = false;\r\n }\n\n for (let i = 0; i < this.regionList.length; i++) {\n if (this.regionList[i].Status == true) {\n var flag = true;\n this.isRegionCheck = false;\n break\n }\n else { var flag = false; }\n this.isRegionCheck = true;\n }\n\n \r\n this.region_zoneNew = this.regionList\n\n const headers = { 'content-type': 'application/json' }\n\n const PostEvlData: any = {\r\n \r\n region_zone: this.regionList,\r\n states: [],\r\n chains: [],\r\n };\n const PostEvlDataState = JSON.stringify(PostEvlData);\n var url = this.global.baseUrl + 'api/Dashboard/GetDashboard/'\n this.http.post(url, PostEvlDataState, { 'headers': headers }).subscribe((response) => {\n debugger\n this.PostEvlArrayList = response;\n this.StateList = this.PostEvlArrayList.states;\n this.cinemaChainsList = this.PostEvlArrayList.chains;\n\n\n\n\n }, (error) => {\n\n });\n\n }\n\n\n onSubmit() {\n debugger\n this.submitted = true;\n\n for (let i = 0; i < this.regionList.length; i++) {\n if (this.regionList[i].Status == true) {\n var flag = true;\n this.isRegionCheck = false;\n break\n }\n else { var flag = false; }\n this.isRegionCheck = true;\n }\n\n if (this.registerPostForm.invalid) {\n return;\n }\n else {\n this.ShowPostEvlData('C');\n }\n }\n\n SavePrefrence(event) {\n debugger\n this.SavePref = !this.SavePref\n }\n\n allowNumericDigitsOnlyOnKeyUp(event) {\r\n debugger\r\n\r\n // Only Integer Numbers\r\n\r\n var charCode = (event.which) ? event.which : event.keyCode;\r\n // Only Numbers 0-9\r\n if ((charCode < 48 || charCode > 57)) {\r\n event.preventDefault();\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n\r\n //const pattern = /[0-9\\+\\-\\ ]/;\r\n //let inputChar = String.fromCharCode(event.key);\r\n\r\n //if (!pattern.test(inputChar)) {\r\n // // invalid character, prevent input\r\n // event.preventDefault();\r\n //}\r\n\r\n }\r\n\n\n\n GoToPostEvalForm() {\n debugger;\n this.submitted = false;\n this.IsCreate = true; \n\n this.GetPostEvalDataList();\n\r\n }\n\n\n BackPostEvlData() {\n //this._location.back();\r\n debugger;\r\n this.IsCreate = false;\r\n this.IsView = false;\r\n this.Clear();\r\n //this.registerPostForm.clearValidators();\r\n //this.registerPostForm.reset();\r\n this.GetPostEvalCampainList();\r\n }\n\n GetPostEvalCampainList() {\n debugger;\n var user_id = this.global.IsUserId;\n var url = this.global.baseUrl + 'api/PostEvalDetails/ShowPostEvalCamapine/?User_id=' + user_id;\n this.http.get(url).subscribe(data => {\r\n if (data) {\r\n this.IsCampainPresent = true;\r\n this.ViewPostEvalCamapinList=data.Table\r\n }\r\n else {\r\n this.IsCampainPresent = false;\r\n }\r\n }) \r\n }\n\n btnView(PostEvalId) {\n debugger;// \r\n this.IsCreate = true; \r\n var url = this.global.baseUrl + 'api/PostEvalDetails/ViewPostEvalDetails/?PostEvalID=' + PostEvalId;\n this.http.get(url).subscribe(data => {\r\n if (data) {\r\n this.ViewPostEvalCamapinList = [];\r\n this.cinemaChainsList = [];\r\n this.FinalSelectedArray = [];\r\n this.regionList = [];\r\n this.selectedcinemaChainsListItems = [];\r\n this.FinalArray = [];\r\n this.StateList = [];\r\n this.selectedStateListItems = [];\r\n this.ViewPostEvalCamapinList = data\r\n \n \n \r\n //this.cinemaChainsList = [{ id: \"1\", chains: \"PVR\" }, { id: \"2\", chains: \"UFO\" }, { id: \"3\", chains: \"QUBE\" }, { id: \"4\", chains: \"IONX\" }];\r\n //this.FinalArray = [{ id: \"1\", chains: \"PVR\", spots: \"24\", Budget: \"12\" }, { id: \"2\", chains: \"UFO\", spots: \"25\", Budget: \"12\" }]\r\n //this.selectedcinemaChainsListItems = [{ id: \"1\", chains: \"PVR\", spots: \"24\", Budget: \"12\" }, { id: \"2\", chains: \"UFO\", spots: \"25\", Budget: \"12\" }]\r\n\r\n this.cinemaChainsList = this.ViewPostEvalCamapinList.chainsAlls\r\n this.FinalArray = this.ViewPostEvalCamapinList.CinemaChain\r\n this.selectedcinemaChainsListItems = this.ViewPostEvalCamapinList.CinemaChain\r\n this.clearFormArray(this.cinemaChainFormArray);\r\n\r\n this.cinemaChainFormArrayNew = []\r\n //this.cinemaChainFormArrayNew = [{ id: \"1\", chains: \"PVR\", spots: \"24\", Budget: \"12\" }, { id: \"2\", chains: \"UFO\", spots: \"25\", Budget: \"12\" }]\r\n this.cinemaChainFormArrayNew = this.ViewPostEvalCamapinList.CinemaChain\r\n\r\n for (let i = 0; i < this.cinemaChainFormArrayNew.length; i++) {\r\n\r\n this.cinemaChainFormArray.push(this.formBuilder.group({\r\n 'id': this.cinemaChainFormArrayNew[i].id,\r\n 'chains': this.cinemaChainFormArrayNew[i].chains,\r\n 'spots': this.cinemaChainFormArrayNew[i] && this.cinemaChainFormArrayNew[i].spots ? this.cinemaChainFormArrayNew[i].spots : '',\r\n 'Budget': this.cinemaChainFormArrayNew[i] && this.cinemaChainFormArrayNew[i].Budget ? this.cinemaChainFormArrayNew[i].Budget : ''\r\n\r\n }))\r\n }\r\n\r\n\r\n this.CampaignTitle = this.ViewPostEvalCamapinList.CampaignTitle,\r\n this.ClientName = this.ViewPostEvalCamapinList.ClientName,\r\n this.Duration = this.ViewPostEvalCamapinList.Duration,\r\n this.CampaignStartDate = new Date(this.ViewPostEvalCamapinList.StartDate),//this.datepipe.transform(this.ViewPostEvalCamapinList.StartDate,'MM/dd/yyyy'),\r\n this.CampaignEndDate = new Date(this.ViewPostEvalCamapinList.EndDate),\r\n this.regionList = this.ViewPostEvalCamapinList.region_zone\r\n \n for(let i = 0; i < this.ViewPostEvalCamapinList.chainsAlls.length; i++) {\r\n if (this.ViewPostEvalCamapinList.chainsAlls[i].Budget > 0) {\r\n delete this.ViewPostEvalCamapinList.chainsAlls[i].id\r\n\r\n }\r\n \r\n }\r\n \r\n //this.cinemaChainsList = this.ViewPostEvalCamapinList.chainsAlls, // [{ Budget: 12, chains: \"QUBE\", spots: 12 }, { Budget: 0, chains: \"PVR\", id: 1, spots: 0 }]\r\n //this.selectedcinemaChainsListItems = this.ViewPostEvalCamapinList.CinemaChain,\r\n //this.FinalArray = this.ViewPostEvalCamapinList.CinemaChain,\r\n //console.log(this.ViewPostEvalCamapinList.chainsAlls)\r\n //State\r\n this.StateList = this.ViewPostEvalCamapinList.statesAlls,\r\n this.selectedStateListItems = this.ViewPostEvalCamapinList.states, \r\n \r\n this.IsChainAdd = true \r\n this.region_zoneNew = this.regionList;\r\n this.StateData = this.selectedStateListItems;\r\n \r\n this.ShowPostEvlData('V');\r\n\r\n } \r\n }) \r\n }\n\n\n btnDelete(PostEvalId) {\n this.GolblePostEvalId = \"\";\n this.GolblePostEvalId = PostEvalId;\n this.IsMessage = true;\n}\n DeleteNo() {\n debugger;\n this.IsMessage = false;\r\n this.GolblePostEvalId = \"\";\r\n }\n\n Delete() {\n debugger;\r\n\r\n \r\n // Save it!\r\n const headers = { 'content-type': 'application/json' }\r\n var url = this.global.baseUrl + 'api/PostEvalDetails/DeletePostEvalCampine/?PostEvalID=' + this.GolblePostEvalId;\r\n this.http.post(url, { 'headers': headers }).subscribe((response) => {\n debugger\n\n this.isShowLoader = false;\n //alert(response.Message)\n this.GetPostEvalCampainList();\n this.IsMessage = false;\n this.GolblePostEvalId = \"\";\n }, (error) => {\n this.isShowLoader = false;\r\n alert(\"Error Occured\")\r\n\n }); \r\n \r\n\r\n \r\n }\n\n SavePostEvalDetails() {\n debugger\n //this.isShowLoader = true;\n //this.IsSubmitPostEval = true\n this.FinalArray = [];\n this.FinalArray = this.registerPostForm.value.cinemachain;\n\n this.StartDate = this.datepipe.transform(this.CampaignStartDate, 'dd/MMM/yyyy');\n this.EndDate = this.datepipe.transform(this.CampaignEndDate, 'dd/MMM/yyyy');\n\n const headers = { 'content-type': 'application/json' }\n const PostEvlData: any = {\n \"CampaignTitle\": this.CampaignTitle,\n \"ClientName\": this.ClientName,\n \"region_zone\": this.region_zoneNew,\n \"states\": this.StateData,\n \"chains\": [],\n \"CinemaChain\": this.FinalArray,\n \"StartDate\": this.StartDate,\n \"EndDate\": this.EndDate,\n \"User_id\": this.global.IsUserId,\n \"Duration\": this.Duration\n };\n \n\n // this.EndDate = moment(this.CampaignEndDate).format('dd/MM/yyyy');\n const body = JSON.stringify(PostEvlData)\n var url = this.global.baseUrl + 'api/PostEvalDetails/Insert_Updaed_PostEvalDetails/'\n ///var url = this.global.baseUrl + 'api/Dashboard/GetPostEvalDetails/?StartDate=' + '01/01/2023' + '&EndData=' + '10/01/2023' + '&Duration=' + 30\n this.http.post(url, body, { 'headers': headers }).subscribe((response) => {\n debugger\n //this.isShowLoader = false;\n //this.FinalPostEvalData = response;\n //this.isShowLoader = false;\n //alert(this.FinalPostEvalData.Message)\n \n\n }, (error) => {\n this.isShowLoader = false;\r\n alert(\"Error Occured\")\r\n\n });\r\n }\n\n Clear() {\n this.CampaignTitle = \"\";\n this.ClientName = \"\";\n this.Duration = \"\";\n this.CampaignStartDate = \"\";\n this.CampaignEndDate = \"\";\n this.regionList = [];\n this.region_zoneNew = [];\n this.selectedStateListItems = [];\n this.StateData = []\r\n this.cinemaChainsList = []\r\n this.FinalArray = []\r\n this.selectedcinemaChainsListItems = []\r\n this.FinalPostEvalData = [];\r\n this.IsChainAdd = false\r\n this.IsSubmitPostEval = false\r\n this.clearFormArray(this.cinemaChainFormArray);\r\n }\n\n clearFormArray = (cinemaChainFormArray: FormArray) => {\r\n debugger\r\n while (cinemaChainFormArray.length !== 0) {\r\n cinemaChainFormArray.removeAt(0)\r\n }\r\n }\n\n\r\n\r\n\n\n\n\n\n}\n","\r\n\r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n Do you want to delete this campaign?\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n

Campaign PostEval

\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n LOGIN\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n

\r\n The Campaign PostEval, a powerful tool for advertisers who want to evaluate the effectiveness of their\r\n marketing campaigns. The Campaign PostEval is designed to help advertisers measure the success of their\r\n campaigns and make data-driven decisions for future campaigns. Using a combination of data from various\r\n sources, it provides detailed analysis on key metrics such as reach, engagement, and ROI. One of the key\r\n features of this tool is the ability to measure ROI for your ongoing campaigns. CamBioscope helps\r\n advertisers measure ROI by deriving CPC for ongoing campaigns\r\n

\r\n\r\n

\r\n

Key Features of the tool includes:

\r\n

\r\n

\r\n Measure Campaign Effectiveness: understand how well your campaigns have performed in terms of reach and\r\n ROI.\r\n

\r\n

\r\n Identify areas for improvement: Identify areas where your campaigns could be improved to increase\r\n effectiveness and ROI.\r\n

\r\n

\r\n Compare performance of different campaigns: compare the performance of multiple campaigns and determine\r\n which strategies were most effective.\r\n

\r\n

\r\n Measure ROI for ongoing campaigns: CAMBioscope helps measure ROI for ongoing campaigns by deriving CPC.\r\n

\r\n

\r\n Make data-driven decisions: Use the insights gained from the Campaign PostEval to make data-driven\r\n decisions\r\n for future campaigns.\r\n

\r\n\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n\r\n
\r\n \"logo\"\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n Title*\r\n\r\n
\r\n \r\n \r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n Title required.\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n Client Name*\r\n\r\n
\r\n \r\n \r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n Client Name required.\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n\r\n AD Duration (Sec)*\r\n\r\n
\r\n\r\n \r\n \r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n Duration required.\r\n
\r\n\r\n\r\n
\r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n Start Date*\r\n\r\n
\r\n \r\n \r\n \r\n\r\n\r\n
\r\n
\r\n
\r\n Start Date required.\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n\r\n End Date*\r\n\r\n
\r\n \r\n\r\n \r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n End Date required.\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n\r\n
\r\n\r\n Region*\r\n\r\n
\r\n
\r\n
\r\n
\r\n {{regionlist.Zone}}\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n Region required.\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n State*\r\n\r\n\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n State required.\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n Cinema Chains*\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n Chain required.\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n SPOTS*\r\n \r\n BUDGET*\r\n
{{lst.chains}}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \"logo\"\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n Save Preference\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n\r\n\r\n
ChainSpotsBudgetViewsCPC
{{tbl.Chain}}{{tbl.Spots}}{{tbl.Budget}}{{tbl.EffectiveAdmits}}{{tbl.CPC}}
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n

\r\n The Campaign PostEval, a powerful tool for advertisers looking to evaluate the effectiveness of their\r\n marketing campaigns.\r\n\r\n The Campaign PostEval is designed to help advertisers measure the success of their campaigns and make\r\n data-driven decisions about future campaigns. Using a combination of data from CAMBioscope, as well as\r\n other sources, it provides detailed analysis on key metrics such as reach, engagement, conversions, and\r\n ROI. One of the key feature of this tool is it's ability to measure ROI for your running campaigns.\r\n CamBioscope helps advertisers to measure the ROI by deriving the CPM for any running campaign.\r\n

\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
TitleClient NameAD Duration (Sec)Start DateEnd Date
{{tbl.CampaignTitle}}{{tbl.ClientName}}{{tbl.Duration}}{{tbl.StartDate | date: 'dd-MMM-yyyy'}}{{tbl.EndDate | date: 'dd-MMM-yyyy'}}\r\n \"logo\"\r\n\r\n\r\n \"logo\"\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-privacypolicy',\n templateUrl: './privacypolicy.component.html',\n styleUrls: ['./privacypolicy.component.css']\n})\nexport class PrivacypolicyComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\r\n
\r\n
\r\n\r\n\r\n

Privacy Policy

\r\n\r\n\r\n\r\n INTRODUCTION\r\n

\r\n

\r\n This Privacy Policy details the manner in which Dusane Infotech India Pvt. Ltd. collects, stores, deals and\r\n handles the users information made available by the user as a result of user’s access and use of the\r\n Service/tools provided by us through our website https://cambioscope.com/.\r\n

\r\n\r\n

\r\n CamBioscope is a proprietary AI (Artificial Intelligence) based cinema advertisement planning tool designed\r\n with an objective to derive Maximum ROI against every rupee spent. It intelligently suggests the screens and\r\n rates at which any campaign must be planned to reduce the Cost Per Media Impression (CPM) and increase ROI\r\n (“Service”).\r\n

\r\n

\r\n We value the trust you place in us and we are committed to safeguard the privacy of our users. we ensure to\r\n maintain the highest standards for customer information privacy on our website. By accessing and using this\r\n website, you accept and agree to be bound by and comply with this Privacy Policy. If a user continues to\r\n visit and use the website and its services, after choosing to do so, then any dispute regarding breach of\r\n privacy will be subject to this Privacy Policy. The applicable law for any such dispute shall be governed by\r\n the laws of Republic of India. The competent courts at Mumbai, India will have exclusive jurisdiction over\r\n any or all disputes arising out of, or in connection with the Privacy Policy.\r\n

\r\n

\r\n The terms ‘we’, ‘us’ and ‘our’ with its allied and cognate expressions shall refer to Dusane Infotech India\r\n Pvt. Ltd and the terms ‘you’ and ‘your’ with its allied and cognate expressions shall refer to user(s).\r\n

\r\n WHAT PERSONAL DATA WE GATHER ABOUT YOU\r\n

\r\n

\r\n When you access our website, or sign in, or use our tools and Service, we collect the following type of\r\n information:\r\n

\r\n 1. Personal Information\r\n

\r\n Personal Identification data and communication information which is provided to us by you shall mean and\r\n include your name, data of birth, age, phone number, home address, company name, email address and formal\r\n identification information such as national identity cards (collectively “Personal Information”) that is\r\n otherwise publically not available. The Personal Information may be processed and saved for the purposes of\r\n allowing access and use of our website, obligations, ensuring the security, maintaining back-ups of our\r\n databases and communicating with you. This Personal Information is necessary for the adequate performance of\r\n our tools and Service and its features thereof and to allow us to comply with our legal obligations. Without\r\n it, we may not be able to give you access to our website or you may not be able to use the various features\r\n and services offered through our website. In case you provide any wrong, false or incorrect data, you would\r\n be liable for the consequences of the same.\r\n

\r\n\r\n 2. Device Data\r\n

\r\n Certain data which may be collected from the device on which you use this website shall include but shall\r\n not be limited to technical information, such as configuration information, your IP address, the device’s\r\n version, device’s unique ID, identification number, cookie information, aggregate information on what\r\n content you access or visit. This information is collected in the background while you browse our website.\r\n

\r\n\r\n 3. Location Data\r\n

\r\n We may process data which may include your location and time zone for the purpose for providing you a better\r\n user experience.\r\n

\r\n\r\n 4. Financial Data\r\n

\r\n Please note that we do not store any financial data provided by you at the time of purchasing our services\r\n including but not limited to your credit card and debit card numbers, bank account details, passwords etc.\r\n when you make payments for services on our website. This data is processed by the payment gateway service\r\n provider and your payments are subject to the terms and conditions of services provided by such payment\r\n gateway service provider.\r\n

\r\n\r\n

\r\n Personal Information, Device Data, Location Data and Financial Data is hereinafter collectively referred to\r\n as ‘Personal Data’.\r\n

\r\n HOW WE USE YOUR PERSONAL DATA\r\n

\r\n

We use the Personal Data for the following purposes.

\r\n

• To provide and maintain our Service: including to monitor the usage of our tools and Service.

\r\n

\r\n • To manage your account: to manage your registration as a user of the Service. The Personal Data you provide\r\n can give you access to different functionalities of the Service that are available to you as a registered\r\n user.\r\n

\r\n

\r\n • For the performance of a contract: the development, compliance and undertaking of the purchase contract for\r\n the products, items or Services you have purchased or of any other contract with us through the Service.\r\n

\r\n

\r\n • To contact you: To contact you by email, telephone calls, SMS, or other equivalent forms of electronic\r\n communication, such as a mobile application's push notifications regarding updates or informative\r\n communications related to the functionalities, products or contracted services, including the security\r\n updates, when necessary or reasonable for their implementation.\r\n

\r\n

\r\n • To provide you with news, special offers and general information about other goods, services and events\r\n which we offer that are similar to those that you have already purchased or enquired about unless you have\r\n opted not to receive such information.\r\n

\r\n

• To manage your requests: To attend and manage your requests to us.

\r\n

\r\n • For other purposes: We may use your information for other purposes, such as data analysis, identifying\r\n usage trends, determining the effectiveness of our promotional campaigns and to evaluate and improve our\r\n Service, products, marketing and your experience.\r\n

\r\n

\r\n • We might process your Personal Data for additional purposes that are not mentioned here, but are compatible\r\n with the original purpose for which the data was gathered. To do this, we will ensure that: the link between\r\n purposes, context and nature of Personal Data is suitable for further processing; the further processing\r\n would not harm your interests and there would be appropriate safeguard for processing.\r\n

\r\n

\r\n

We will inform you of any further processing and purposes.

\r\n\r\n WHAT ARE YOUR RIGHTS WITH RESPECT TO YOUR PERSONAL DATA?\r\n

\r\n

You are entitled to the following rights:

\r\n

\r\n

\r\n • Right to rectification – Meaning you have the right to request rectification or erasure of your Personal\r\n Data that is inaccurate or incomplete.\r\n

\r\n

\r\n • Right to erasure – Meaning in certain circumstances you can request for your Personal Data to be erased\r\n from our records.\r\n

\r\n

\r\n • Right to delete account – Meaning that you may delete your account from our website. Thereafter you will\r\n not be able to avail our services.\r\n

\r\n

\r\n • Right to withdraw consent – You have the right withdraw any given consent for Processing of your Personal\r\n Data. However, this will be effective prospectively and shall not apply to past transactions wherein your\r\n data has already been processed.\r\n

\r\n

\r\n WHAT ABOUT THIRD-PARTY LINKS?\r\n

\r\n

\r\n Our website may contain links to other websites (Third-Party Links) as hyperlinks or for references and their\r\n privacy policy and terms of service may differ from us. If you submit your Personal Data to any of those\r\n sites, your information will be governed by their privacy policy. We recommend and encourage you to read the\r\n privacy policy of any website your visit. We shall not be liable for any loss, damage, claim or expenses\r\n suffered by you as a result for accessing these third-party websites. It should not be construed that we are\r\n recommending or encouraging you to buy any products or avail any services from such third-party websites or\r\n that we are representing that any contents or information on such third party websites is accurate and\r\n correct. We strongly advise you to review the Privacy Policy of any third party site you visit.\r\n

\r\n

\r\n\r\n HOW AND WITH WHOM DO WE “SHARE” YOUR PERSONAL DATA?\r\n

\r\n

\r\n We may share your Personal data with our affiliates and other third party affiliates for various purposes,\r\n including but not limited to providing you with the services requested by you, help the detection and\r\n prevention of identity theft, fraud, potentially illegal acts; to facilitate marketing and promotional\r\n activities. We may also disclose Personal Data required to do so by law or in the good faith belief that\r\n such disclosure is reasonably necessary to respond to investigation, court orders, or other legal process.\r\n We may disclose Personal Data to law enforcement offices, third party rights owners, or others in the good\r\n faith belief that such disclosure is reasonably necessary to: enforce this Privacy Policy; respond to claims\r\n that an advertisement, posting or other content violates the rights of a third party; or protect the rights,\r\n property or personal safety of Our users or the general public.\r\n

\r\n\r\n

\r\n We and our affiliates will also share / sell some or all of your Personal Data with another business entity\r\n should we (or our assets) plan to merge with, or be acquired by that business entity, or re-organization,\r\n amalgamation, restructuring of business.\r\n

\r\n

\r\n WHY DO WE “STORE” YOUR PERSONAL DATA?\r\n

\r\n

\r\n We will store and retain your Personal Data only for as long as is necessary for the purposes set out in this\r\n Privacy Policy. We will retain and use your data to the extent necessary to comply with our legal\r\n obligations (for example, if we are required to retain your data to comply with applicable laws), resolve\r\n disputes, and enforce our legal agreements and policies. We will also retain Personal Data for internal\r\n analysis purposes to strengthen the security or to improve the functionality of our website, services and\r\n tools, or we are legally obligated to retain this data for longer time periods. We may also use your\r\n Personal Data to send you information about our products, services and offers that may be relevant to you.\r\n

\r\n

\r\n HOW DO WE SECURE YOUR DATA?\r\n

\r\n

\r\n The security of your data is important to us. We have implemented security measures designed to protect the\r\n Personal Data you share with us, including physical, electronic and procedural measures. We regularly\r\n monitor our systems for possible vulnerabilities and attacks, and regularly seek new ways for further\r\n enhancing the security of our website and protection of your Personal Data. However, no method of\r\n transmission over the Internet, or method of electronic storage, is 100% secure.\r\n

\r\n

\r\n WHAT ABOUT “ACCOUNT DELETION”?\r\n

\r\n

\r\n If you wish to delete your user account from the website, you can do so at your discretion through our\r\n account deletion feature or by sending a request at the address provided at the bottom of this Privacy\r\n policy. Please note that, after your user account is deleted from our website, you will not be able to login\r\n into the website. In that case, you may sign up and create a user account again and use our website. After\r\n you delete your account, all exiting Personal Data and history will be erased from our website except the\r\n information we are legally bound to retain as per Information Technology Act, 2020 including all amendments\r\n made to it and rules, guidelines framed thereunder.\r\n

\r\n

\r\n OUR COMMITMENT TO CHILDREN'S PRIVACY\r\n

\r\n

\r\n The website will not knowingly collect, use or retain Personal Data from anyone under the age of 18, for any\r\n purpose whatsoever (including internal or external marketing or promotional purposes). If you are under the\r\n age of 18, you will need your parent or guardian's consent before you can provide any personal information\r\n to us for purposes of registration.\r\n

\r\n

\r\n By registering to this website, we have reasons to believe that you have taken required consents from your\r\n Parents / Guardian.\r\n

\r\n

\r\n HACKING OR MISREPRESENTATION OR FALSE CLAIM\r\n

\r\n

\r\n In the event of any attempt made by you to hack all or any portion of the Website, misrepresent information\r\n on the Website, or make false claims against Website, we shall have the right to claim and recover damages,\r\n compensation, liabilities, losses (including but not limited to loss of reputation and/or goodwill), claims,\r\n expenses, costs, attorney fees and including but not limited to third party claims etc. from you.\r\n

\r\n\r\n

\r\n We store the Personal Data on our servers or on third-party cloud platforms or servers which are only\r\n accessible to employees or agents. Industry-standard safeguards are employed to protect the confidentiality\r\n of your Personal Data under our control and also prevent unauthorized loss, misuse, or alteration of such\r\n Personal Data. However, considering the nature of internet transmissions, complete security of Personal Data\r\n communicated through such transmissions cannot be guaranteed. Hence, our responsibility of maintaining your\r\n Personal Data shall be on best effort basis only. In the unlikely event of the disclosure of your Personal\r\n Data as a result of transmission errors or unauthorised acts of third parties. you agree that our liability\r\n shall not exceed an amount equal to one-month subscription fee paid by you on our website.\r\n

\r\n

\r\n COOKIE POLICY\r\n

\r\n

\r\n Cookie is a small file of letters and numbers downloaded on to your computer or device when you access our\r\n website. It enables us to identify you and log you into the website, understand and store your preferences\r\n based on your previous visit, and remember certain information to make the website more user-friendly to\r\n you, it acts as an element of the security measures used to protect user accounts, including preventing\r\n fraudulent use of login credentials, and to protect our website. We also use cookies to help us compile\r\n aggregated and anonymized data about the traffic on the website so that we can offer better experiences and\r\n tools in the future. Please note that browsers automatically accept cookies, and if you do not wish cookies\r\n to be used, you may need to actively delete or block the cookies. You can choose to reject or block all or\r\n specific types of cookies by clicking on the cookie preferences on this website or by changing your browser\r\n settings. This may however impact your user-experience and the functions of the website will be limited.\r\n

\r\n

\r\n WILL OUR WEBSITE CHANGE PRIVACY POLICY IN THE FUTURE?\r\n

\r\n This Privacy Policy provides a general statement of the ways in which our website aims to protect your\r\n Personal Data. You may, however, in connection with specific products or services offered by our website, be\r\n provided with privacy policies or statements that substitute or supplement this Privacy Policy. The terms\r\n and conditions of this Privacy Policy may be changed from time to time, without your consent (express or\r\n implied) to reflect changes in our practices concerning the collection and use of your Personal Data. The\r\n revised Privacy Policy will be effective immediately upon posting to our website unless otherwise mentioned.\r\n You shall be bound by the revised Privacy Policy and it is your sole responsibility to check the same from\r\n time to time. You acknowledge that no knowledge of the revised Privacy Policy shall be a defence in any\r\n proceedings with regard to the Privacy Policy.\r\n

\r\n

\r\n CONSENT\r\n

\r\n By accessing this website and using the services offered through this website, you accept the terms of, and\r\n be bound by this Privacy Policy. By voluntary providing information on this website, you consent to the\r\n collection, use and disclosure of such information and Personal Data in the manner set forth in this Privacy\r\n Policy.\r\n

\r\n

\r\n\r\n CONTACT INFORMATION\r\n

\r\n

\r\n If you have any questions or comments regarding our Privacy Policy Statement, you can contact our Grievance\r\n Officer, the name and contact details of which are provided below:\r\n

\r\n

\r\n

Name:

\r\n

\r\n\r\n

\r\n Address: 4th Floor, TJSB House, Sambhav IT Park Road No 1, Plot # B5, Wagle Estate, MIDC, Thane West, Thane,\r\n Maharashtra - 400604.\r\n

\r\n

Email: cambioscope@dusaneinfotech.com

\r\n\r\n\r\n
\r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http';\r\n\r\nimport { catchError, map } from 'rxjs/operators';\r\n\r\nimport { throwError as observableThrowError, Observable, from } from 'rxjs';\r\nimport {Global} from '../global/global'\r\n\r\n\r\nconst httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json ;charset=utf-8',\r\n 'accept': 'application/json'\r\n })\r\n};\r\n@Injectable()\r\nexport class RegistrationPageService {\r\n\r\n\r\n constructor(private _http: HttpClient, private global: Global) { }\r\n\r\n getRegistrationAPIData(array: any): Observable {\r\n debugger\r\n\r\n const body = {\r\n \r\n FirstName: array.Rfirstname,\r\n LastName: array.Rlastname,\r\n emailid: array.Remail,\r\n Phone: array.Rphone,\r\n CompanyName: array.Rcompanyname,\r\n Password:array.Rpassword\r\n \r\n };\r\n \r\n \r\n return this._http.post(this.global.baseUrl + 'api/Registration/UserRegistration', body, httpOptions).pipe(\r\n map((response:any) => {\r\n debugger\r\n return response\r\n })\r\n )\r\n }\r\n\r\n GetEditProfileDetails(userId): Observable {\r\n debugger;\r\n return this._http.get(this.global.baseUrl + '/api/Registration/SelectRegistration?User_id=' + userId).pipe(\r\n map((response: Response) => response),\r\n catchError(this._errorHandler));\r\n\r\n }\r\n\r\n GetDisableProfileDetails(userId): Observable {\r\n debugger;\r\n return this._http.get(this.global.baseUrl + '/api/Registration/DisableAccount?Userid=' + userId).pipe(\r\n map((response: Response) => response),\r\n catchError(this._errorHandler));\r\n\r\n }\r\n\r\n\r\n\r\n _errorHandler(error: Response) {\r\n debugger\r\n\r\n console.log(error);\r\n return observableThrowError(() => error || \"Internal server error\");\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Global } from '../global/global'\nimport { RegistrationPageService } from './RegistrationPageService'\nimport { FormGroup, FormControl, Validators, FormBuilder, ValidationErrors } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { retry } from 'rxjs/operators';\r\n\n\n\n\n@Component({\n selector: 'app-registration',\n templateUrl: './registration.component.html',\n styleUrls: ['./registration.component.css']\n})\nexport class RegistrationComponent implements OnInit {\n //MenuH\n RegistrationForm!: FormGroup\n \n submitted = false\n\n isShowLoader: boolean\n firstname: string\n lastname: string\n email: string\n phone: string\n companyname: string\n password: string\n cnfpassword: string\n IsMessage: boolean = false;\n Profile_view_mode: string;\n myInnerHeight: any = 880;\n disabled: boolean = false;\n\n RegistrationAraay: Array<{ Rfirstname: string, Rlastname: string, Remail: string, Rphone: string, Rcompanyname: string,Rpassword:string }> = [];\n\n constructor(private http: HttpClient,\n public global: Global, private registrationpageService: RegistrationPageService, private fb: FormBuilder, private router: Router) {\n debugger;\n \n \n }\n\n\n FormValidation() {\n //this.RegistrationForm = this.fb.group({\n\n // firstname: ['', Validators.required],\n // // email: ['', Validators.required, , Validators.email],\n // email: ['', [Validators.required, Validators.email, Validators.pattern('^[a-z0-9._%+-]+@[a-z0-9.-]+\\\\.[a-z]{2,4}$')]],\n // phone: ['', [Validators.required, Validators.pattern(\"^((\\\\+91-?)|0)?[0-9]{10}$\")]],\n // lastname: [],\n // companyname: [],\n // password: ['', Validators.required],\n // cnfpassword: ['', Validators.required],\n \n\n //});\n var EditProfileDetails = JSON.parse(localStorage.getItem('EditProfileDetails'));\n if (EditProfileDetails!=null) {\n this.RegistrationForm = this.fb.group({\r\n\r\n firstname: ['', Validators.required],\r\n email: ['', [Validators.required, Validators.email, Validators.pattern('^[a-z0-9._%+-]+@[a-z0-9.-]+\\\\.[a-z]{2,4}$')]],\r\n phone: ['', [Validators.required, Validators.pattern(\"^((\\\\+91-?)|0)?[0-9]{10}$\")]],\r\n lastname: [],\n companyname: [],\r\n \r\n })\r\n }\n else {\n this.RegistrationForm = this.fb.group({\r\n\r\n firstname: ['', Validators.required],\r\n email: ['', [Validators.required, Validators.email, Validators.pattern('^[a-z0-9._%+-]+@[a-z0-9.-]+\\\\.[a-z]{2,4}$')]],\r\n phone: ['', [Validators.required, Validators.pattern(\"^((\\\\+91-?)|0)?[0-9]{10}$\")]],\r\n lastname: [],\n companyname: [],\r\n password: ['', Validators.required],\r\n cnfpassword: ['', Validators.required],\r\n }, {\r\n validator: ConfirmedValidator('password', 'cnfpassword')\r\n })\r\n }\n\n \r\n }\n \n\n\n\n InitializeRegistrationDetailsArray() {\n debugger\n this.RegistrationAraay = [];\n this.RegistrationAraay.push({ Rfirstname: this.firstname, Rlastname: this.lastname, Remail: this.email, Rphone: this.phone, Rcompanyname: this.companyname,Rpassword:this.password });\n\n\n }\n GoToLoginFromRegistration() {\n debugger\n window.location.href = \"./Login\"\n }\n\n\n getRegistrationData() {\n debugger\n\n if (this.password.trim() == this.cnfpassword.trim()) {\n this.InitializeRegistrationDetailsArray();\n\n\n\n this.registrationpageService.getRegistrationAPIData(this.RegistrationAraay[0]).subscribe(\n data => {\n debugger\n if (data == 'success') {\n \n alert(\"You have been registered successfully..!\")\n this.IsMessage = true;\n window.location.href = \"./Login\"\n }\n else {\n alert(data) \n }\n\n });\n }\n else\n {\n alert(\"Password and Confirm Password should be same.\");\n }\n \n\n\n\n\n }\n //UserMgt\n ngOnInit(): void {\n debugger\n this.FormValidation();\n this.global.IsLoggedIn = sessionStorage.getItem('IsLoggedIn');\n\n // if(this.global.IsLoggedIn == null)\n // {\n // this.global.IsLoggedIn = 'false';\n // window.location.href = \"./Login\"\n // }\n // if(this.global.IsLoggedIn = 'false')\n // {\n // window.location.href = \"./Login\"\n // }\n\n this.global.IsLoggedIn = sessionStorage.getItem('IsLoggedIn');\n console.log(this.global.IsLoggedIn)\n if(this.global.IsLoggedIn == null) {\n this.global.IsLoggedIn = 'false';\n }\n\n var EditProfileDetails = JSON.parse(localStorage.getItem('EditProfileDetails'));\n if (EditProfileDetails.length > 0) {\n this.firstname = EditProfileDetails[0].FirstName;\r\n this.lastname = EditProfileDetails[0].LastName;\r\n this.email = EditProfileDetails[0].EmailID;\r\n this.phone = EditProfileDetails[0].Phone;\r\n this.companyname = EditProfileDetails[0].CompanyName;\r\n this.Profile_view_mode = 'E';\r\n this.myInnerHeight = 640;\r\n this.disabled = true;\r\n this.RegistrationForm.controls['email'].disable();\r\n }\n else if (EditProfileDetails != null) {\n this.firstname = EditProfileDetails.FirstName;\r\n this.lastname = EditProfileDetails.LastName;\r\n this.email = EditProfileDetails.EmailID;\r\n this.phone = EditProfileDetails.Phone;\r\n this.companyname = EditProfileDetails.CompanyName;\r\n this.Profile_view_mode = 'E';\r\n this.myInnerHeight = 640;\r\n this.disabled = true;\r\n this.RegistrationForm.controls['email'].disable();\n }\n else {\n this.Profile_view_mode = \"\";\r\n this.disabled = false;\r\n }\n \n \n\n }\n\n //UserMgt\n LogoutApp() {\n this.global.IsLoggedIn = 'false';\n sessionStorage.setItem('IsLoggedIn', String(this.global.IsLoggedIn));\n window.location.href = \"./Login\"\n\n\n }\n\n onSubmit() {\n debugger\n this.submitted = true\n if (this.Profile_view_mode == 'E') {\n\n if (this.RegistrationForm.invalid) {\n return;\n }\n else {\n\n this.UpdateProfile();\r\n return;\n } \r\n }\n \n if (this.RegistrationForm.invalid) {\n return;\n }\n else\n {\n \n this.getRegistrationData();\r\n \n \n }\n\n\n\n }\n GoToPostEval() {\n window.location.href = \"./PostEval\"\n }\n\n GotoPlanner() {\n window.location.href = \"./Planner\"\n }\n\n //GetEditProfileDetails() {\n // debugger;\n // this.global.IsUserId = sessionStorage.getItem('IsUserId'); \n // this.registrationpageService.GetEditProfileDetails(this.global.IsUserId).subscribe(\r\n // data => {\r\n // debugger;\r\n \r\n // if (data.Table) {\r\n\r\n // //this.EditRoDetails.splice(index, 1);\r\n // this.firstname = data.Table[0].FirstName;\r\n // this.lastname = data.Table[0].LastName;\r\n // this.email = data.Table[0].EmailID;\r\n // this.phone = data.Table[0].Phone;\r\n // this.companyname = data.Table[0].CompanyName;\r\n\r\n // }\r\n // else {\r\n // alert(\"Some error occurred\") \r\n // }\r\n\r\n // });\r\n //}\n\n UpdateProfile() {\n debugger;\n this.submitted = true\n const headers = { 'content-type': 'application/json' }\n \n const EditProfile: any = {\n \"UserId\": sessionStorage.getItem('IsUserId'),\n \"FirstName\": this.firstname,\n \"LastName\": this.lastname,\n \"Phone\": this.phone, \n \"CompanyName\": this.companyname,\n \"EmailID\": this.email\n \n };\n const body = JSON.stringify(EditProfile)\n var url = this.global.baseUrl + 'api/Registration/UserRegistration/'\n ///var url = this.global.baseUrl + 'api/Dashboard/GetPostEvalDetails/?StartDate=' + '01/01/2023' + '&EndData=' + '10/01/2023' + '&Duration=' + 30\n this.http.post(url, body, { 'headers': headers }).subscribe((response) => {\n debugger \n alert(\"Details updated successfully..!\")\n localStorage.removeItem('EditProfileDetails');\n localStorage.setItem(\"EditProfileDetails\", JSON.stringify(EditProfile))\n window.location.href = \"./\"\n\n }, (error) => {\n this.isShowLoader = false;\r\n alert(\"Error Occured\")\r\n\n });\n \r\n }\n\n DisableAccount() {\n this.IsMessage = true;\r\n }\n\n Delete() {\n debugger\n this.registrationpageService.GetDisableProfileDetails(sessionStorage.getItem('IsUserId')).subscribe(\r\n data => {\r\n debugger;\r\n\r\n if (data.Table[0].Msg) {\r\n this.IsMessage = false;\r\n localStorage.clear();\r\n sessionStorage.clear();\r\n window.location.href = \"./\"\r\n\r\n }\r\n else {\r\n alert(\"Some error occurred\")\r\n this.IsMessage = false;\r\n }\r\n\r\n });\r\n }\n\n DeleteNo() {\n debugger;\n this.IsMessage = false;\r\n }\n Back() {\n this.IsMessage = false;\n window.location.href = \"./\"\r\n }\n\n\n\n}\nexport function ConfirmedValidator(controlName: string, matchingControlName: string) {\r\n return (formGroup: FormGroup) => {\r\n const control = formGroup.controls[controlName];\r\n const matchingControl = formGroup.controls[matchingControlName];\r\n if (matchingControl.errors && !matchingControl.errors.confirmedValidator) {\r\n return;\r\n }\r\n if (control.value !== matchingControl.value) {\r\n matchingControl.setErrors({ confirmedValidator: true });\r\n } else {\r\n matchingControl.setErrors(null);\r\n }\r\n }\r\n}\r\n","\r\n \r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n Do you want to delete profile?\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \"logo\"\r\n\r\n
\r\n
\r\n Registration\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n First Name*\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n First Name required.\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n Last Name\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n Email*\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n Email required.\r\n
\r\n
\r\n Email is not valid..\r\n
\r\n\r\n\r\n
\r\n\r\n \r\n
\r\n Phone*\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n Phone required.\r\n
\r\n
\r\n Provide 10 digit phone number.\r\n
\r\n
\r\n\r\n \r\n
\r\n Company Name\r\n
\r\n\r\n
\r\n \r\n\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n Password*\r\n
\r\n
\r\n \r\n\r\n\r\n
\r\n
\r\n
\r\n Password required.\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n Confirm Password*\r\n
\r\n
\r\n \r\n\r\n\r\n
\r\n
\r\n
\r\n Confirm required.\r\n
\r\n
Password and Confirm Password must be match.
\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n Delete Account\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-team',\n templateUrl: './team.component.html',\n styleUrls: ['./team.component.css']\n})\nexport class TeamComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n\n

Coming Soon...

\n
","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpBackend } from '@angular/common/http';\r\nimport { IAppConfig } from './app-config.model';\nimport { SharedService } from './shared/shared.service'\nimport { environment } from '../environments/environment';\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n\n\n@Injectable()\nexport class AppConfig {\n static settings: IAppConfig;\r\n private http: HttpClient;\n constructor(handler: HttpBackend, public _sharedService: SharedService) {\r\n this.http = new HttpClient(handler);\r\n \r\n }\n load() {\n debugger;\n const jsonFile = `../../../../Scripts/assets/config/config.json`;\n return new Promise((resolve, reject) => {\r\n this.http.get(jsonFile).toPromise().then((response: IAppConfig) => {\r\n debugger;\r\n console.log(response)\r\n AppConfig.settings = response;\r\n this._sharedService.setAPIurl(AppConfig.settings.apiServer.api_url);\r\n this._sharedService.setURL(AppConfig.settings.apiServer.url);\r\n this._sharedService.setENV(AppConfig.settings.env.name); \r\n\r\n resolve();\r\n }).catch((response: any) => {\r\n reject(`Could not load file '${jsonFile}': ${JSON.stringify(response)}`);\r\n });\r\n });\n }\n}\n","import { NgModule, Component } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { HomeComponent } from './Home/home.component';\nimport { LoginComponent } from './Login/login.component';\nimport { HeaderComponent } from './Header/header.component';\nimport { FooterComponent } from './Footer/footer.component';\nimport { RegistrationComponent } from './Registration/registration.component';\nimport {PlannerComponent} from './Planner/planner.component'\nimport {PostevalComponent} from './PostEva/posteval.component'\nimport { EmbededReportComponent } from './embeded-report/embeded-report.component';\nimport { TeamComponent } from './Team/team.component'\nimport { CasestudiesComponent } from './CaseStudies/casestudies.component';\nimport { ContactComponent } from './Contact/contact.component';\nimport { PrivacypolicyComponent } from './PrivacyPolicy/privacypolicy.component'\nimport { CinemastatsComponent } from './CinemaStats/cinemastats.component'\nimport { AboutusComponent } from './About/aboutus.component'\nimport { DisclaimerComponent } from './Disclaimer/disclaimer.component'\nimport { Plannerreport2Component } from './plannerreport2/plannerreport2.component'\nimport { PlannerdraftComponent } from './PlannerDraft/plannerdraft.component'\nimport { ScreenReportComponent } from './screen-report/screen-report.component'\nimport { PlannerDAVPComponent} from './planner-davp/planner-davp.component'\n\nconst routes: Routes = [\n \n { path: 'Login', component: LoginComponent },\n { path: 'Header', component: HeaderComponent },\n \n { path: 'Footer', component: FooterComponent },\n { path: '', component: HomeComponent },\n { path: 'Registration', component: RegistrationComponent },\n { path: 'Planner', component: PlannerComponent },\n { path: 'PostEval', component: PostevalComponent },\n { path: 'CBPlanner',component: EmbededReportComponent },\n { path: 'Team', component: TeamComponent },\n { path: 'CaseStudies', component: CasestudiesComponent },\n { path: 'Contact', component: ContactComponent },\n { path: 'Privacy', component: PrivacypolicyComponent },\n { path: 'CinemaStats', component: CinemastatsComponent },\n { path: 'AboutUs', component: AboutusComponent },\n { path: 'Disclaimer', component: DisclaimerComponent },\n { path: 'CBPlanner2', component: Plannerreport2Component },\n { path: 'PlannerDraft', component: PlannerdraftComponent },\n { path: 'ScreenReport', component: ScreenReportComponent },\n { path: 'planner', component: PlannerDAVPComponent }\n \n\n\n\n\n\n\n\n\n\n \n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css']\n})\nexport class AppComponent {\n title = 'CamBioScopeTest';\n}\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { NgModule,Pipe,PipeTransform } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { HeaderComponent } from './Header/header.component';\nimport { FooterComponent } from './Footer/footer.component';\nimport { HomeComponent } from './Home/home.component';\nimport { LoginComponent } from './Login/login.component';\nimport { RegistrationComponent } from './Registration/registration.component';\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { PlannerComponent } from './Planner/planner.component';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport {Global} from './global/global'\nimport {LoginPagesService} from './Login/LoginPagesService'\nimport {RegistrationPageService} from './Registration/RegistrationPageService';\nimport {PostEvalService} from './PostEva/postevalService';\nimport {PostevalComponent} from './PostEva/posteval.component';\nimport{EmbededReportComponent} from './embeded-report/embeded-report.component'\nimport { Component, OnInit, } from '@angular/core';\nimport {SearchPipePipe } from '../app/Pipe/PipesTransfrom'\nimport { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations'\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\nimport {CommonModule } from '@angular/common';\nimport { TeamComponent } from './Team/team.component';\nimport { CasestudiesComponent } from './CaseStudies/casestudies.component';\nimport { ContactComponent } from './Contact/contact.component';\nimport { PrivacypolicyComponent } from './PrivacyPolicy/privacypolicy.component';\nimport { CinemastatsComponent } from './CinemaStats/cinemastats.component';\nimport { AboutusComponent } from './About/aboutus.component'\n\nimport { DatePipe } from '@angular/common'\nimport { DisclaimerComponent } from './Disclaimer/disclaimer.component';\nimport { Plannerreport2Component } from './plannerreport2/plannerreport2.component'\nimport { PlannerdraftComponent} from './PlannerDraft/plannerdraft.component';\nimport { ScreenReportComponent } from './screen-report/screen-report.component';\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ConfigScreen } from './Model/ConfigScreen';\nimport { PlannerDAVPComponent } from './planner-davp/planner-davp.component'\n//import { NgbModule} from '@ng-bootstrap/ng-bootstrap';\n\nimport { AppConfig } from '../app/app-config';\nimport { APP_INITIALIZER } from '@angular/core';\nimport { SharedService} from '../app/shared/shared.service'\n\nconst initializeApp = (appConfig: AppConfig) => {\r\n\r\n return () => {\r\n appConfig.load()\r\n };\r\n};\n\n\n \n\n@NgModule({\n declarations: [\n AppComponent,\n HeaderComponent,\n FooterComponent,\n HomeComponent,\n LoginComponent,\n RegistrationComponent,\n PlannerComponent,\n PostevalComponent,\n EmbededReportComponent,\n SearchPipePipe,\n TeamComponent,\n CasestudiesComponent,\n ContactComponent,\n PrivacypolicyComponent,\n CinemastatsComponent,\n AboutusComponent,\n DisclaimerComponent,\n Plannerreport2Component,\n PlannerdraftComponent,\n ScreenReportComponent,\n PlannerDAVPComponent\n ],\n imports: [\n BrowserModule,\n AppRoutingModule,\n FormsModule,\n HttpClientModule\n , ReactiveFormsModule,\n NgMultiSelectDropDownModule.forRoot(),\n BrowserAnimationsModule,\n BsDatepickerModule.forRoot()\n , CommonModule, NgbModule/*, NgbModule*/\n\n ],\n providers: [{ provide: LoginPagesService }, { provide: RegistrationPageService }, Global, DatePipe, ConfigScreen,\n AppConfig,\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: initializeApp,\r\n deps: [AppConfig],\r\n multi: true\r\n }, \n SharedService],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { Global } from '.././global/global'\nimport * as models from 'powerbi-models';\n\n\n@Component({\n selector: 'app-embeded-report',\n templateUrl: './embeded-report.component.html',\n styleUrls: ['./embeded-report.component.css']\n})\n\nexport class EmbededReportComponent implements OnInit {\n EmbededURL: string\n Details: any = [];\n //State: State[];\n //Region: Region[];\n\n constructor(private global: Global) {\n\n }\n\n ngOnInit(): void {\n debugger\n var ScreenFiltersDetails = JSON.parse(localStorage.getItem('ScreenFiltersDetails'));\n this.global.IsLoggedIn = sessionStorage.getItem('IsLoggedIn');\n\n //this.Details =\r\n // {\r\n // State: [\"Maharashtra\", \"GOA\", \"Kerala\"], \r\n // Tier: [\"02 Tier 3\", \"03 Tier 2\"],\r\n // CityID: [\"U|99|66641\", \"U|99|800452\"],\r\n // Network: [\"01 UFO\",\"02 QUBE\"],\r\n // ATP: [200]\r\n\r\n // }\r\n //if (ScreenFiltersDetails != null) {\r\n //this.Details =\r\n // {\r\n // State: ScreenFiltersDetails[0],\r\n // Tier: ScreenFiltersDetails[1],\r\n // //CityID: ScreenFiltersDetails[],\r\n // Network: ScreenFiltersDetails[2],\r\n // // ATP: ScreenFiltersDetails[3],\r\n // CityID: ScreenFiltersDetails[4],\r\n\r\n\r\n // }\r\n //}\r\n //else {\r\n // this.Details =\r\n // {\r\n // Zone: [\"South\",\"HSM\"]\r\n // }\r\n //}\r\n\r\n\r\n if (this.global.IsLoggedIn == 'true') {\r\n //this.EmbededURL = this.global.EmbededURL + \"/EmbedReport?Details=\" + JSON.stringify(this.Details);\n this.EmbededURL = this.global.EmbededURL + \"/EmbedReport?Details=\" + encodeURIComponent(null);\n //this.EmbededURL = this.global.EmbededURL + \"/EmbedReport\";\r\n }\r\n else {\r\n window.location.href = \"./Planner\"\r\n }\r\n\n\n this.EmbededURL = this.EmbededURL.trim();\n\n if (Boolean(localStorage.getItem('IsPlannerLogin'))) {\n this.global.IsOnMenu = false\n this.global.IsOnApproachMenu = false\n this.global.IsOnPlannerMenu = true\n this.global.IsOnPostEvalMenu = false\n this.global.IsOnContactUsMenu = false\n this.global.IsOnStartedMenu = false\r\n }\n\n\n }\n\n GoToLoginFromPlanner() {\n window.location.href = \"./Login\"\n }\n\n GotoPlanner() {\n window.location.href = \"./Planner\"\n }\n\n GoToPostEval() {\n window.location.href = \"./PostEval\"\n }\n\n}\n//interface Details {\r\n// name: string,\r\n// surname: string\r\n//}\r\n//interface Region {\r\n// region: string;\r\n//}\r\n//interface State {\r\n// State: string;\r\n//}\r\n","
\r\n\r\n \r\n
\r\n","\r\n\r\nexport class Global {\r\n\r\n \r\n \r\n //// Test Api URL\r\n //public baseUrl = 'http://test.cambioscope.movie/api/';\r\n\r\n ////Local\r\n //public baseUrl = 'http://localhost:64254/';\r\n ////Local\r\n //public EmbededURL = 'http://localhost:42734/Home';\r\n\r\n // LIVE\r\n public baseUrl = 'https://cambioscope.com/api/';\r\n //Live\r\n public EmbededURL = 'https://cambioscope.com/Home';\r\n\r\n\r\n\r\n ////TEST API\r\n //public baseUrl = 'http://test.cambioscope.com/api/';\r\n ////Test\r\n //public EmbededURL = 'http://test.cambioscope.com/Home';\r\n\r\n\r\n ////Test for brc\r\n //public baseUrl = 'https://barc.cambioscope.com/api/';\r\n //public EmbededURL = 'https://barc.cambioscope.com/Home';\r\n\r\n\r\n //// //Test for madison\r\n //public baseUrl = 'https://madison.cambioscope.com/api/';\r\n //public EmbededURL = 'https://madison.cambioscope.com/Home';\r\n\r\n ///UserMgt\r\n public IsLoggedIn: string | null = 'false'\r\n public IsUserId: string | null = 'false'\r\n public IsIP: string | null = 'false'\r\n\r\n \r\n \r\n\r\n //Menu Highlight\r\n public IsOnMenu: boolean = false\r\n public IsOnApproachMenu: boolean = false\r\n public IsOnPlannerMenu: boolean = false\r\n public IsOnPostEvalMenu: boolean = false\r\n public IsOnContactUsMenu: boolean = false\r\n public IsOnStartedMenu: boolean = false\r\n public IsCinemaStats: boolean = false\r\n public IsOnPlanner2Menu: boolean = false\r\n public IsPlannerDAVPMenu: boolean=false\r\n\r\n //\r\n \r\n public IsPlannerLogin: string = \"false\"\r\n public IsPostEvalLogin: string = \"false\"\r\n public IsCineStatsLogin: string = \"false\"\r\n public IsPlanner2Login: string = \"false\"\r\n\r\n\r\n public FullName: string=\"\";\r\n public LastName: string = \"\";\r\n public Email: string = \"\";\r\n public Phone: string = \"\";\r\n public FirstName: string = \"\";\r\n public UserType: string = \"\";\r\n \r\n\r\n\r\n // TEST\r\n // public baseUrl = 'http://ufoadtrackerapi.diipl.in/api';\r\n // public baseLoginUrl = ' http://stagingiroapi.ufomoviez.com/'; \r\n //http://ufoadtrackerapi.diipl.in/\r\n // public baseUrl = 'http://ufoadtrackerapi.diipl.in:9443/api';\r\n\r\n \r\n \r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\nimport { Global } from '../global/global'\n\n@Component({\n selector: 'app-planner-davp',\n templateUrl: './planner-davp.component.html',\n styleUrls: ['./planner-davp.component.css']\n})\nexport class PlannerDAVPComponent implements OnInit {\n PlannerDAVPURL: string;\n Login: string;\n constructor(public global: Global) { }\n\n ngOnInit(): void {\n debugger\n this.global.IsLoggedIn = sessionStorage.getItem('IsLoggedIn');\n\n console.log(this.global.IsLoggedIn)\n if (this.global.IsLoggedIn == null) {\n this.global.IsLoggedIn = 'false';\n }\n this.Login = this.global.IsLoggedIn;\n this.global.IsOnMenu = false\n this.global.IsOnApproachMenu = false\n this.global.IsOnPlannerMenu = false\n this.global.IsOnPostEvalMenu = false\n this.global.IsOnContactUsMenu = false\n this.global.IsOnStartedMenu = false\n this.global.IsCinemaStats = false\n this.global.IsPlannerDAVPMenu=true\n\n if (this.global.IsLoggedIn == 'true') {\r\n this.PlannerDAVPURL = this.global.EmbededURL + \"/DAVPReport\";\n this.PlannerDAVPURL = this.PlannerDAVPURL.trim();\r\n }\n }\n\n}\n","
\r\n \r\n
\n","import { Component, OnInit } from '@angular/core';\nimport { Global } from '../global/global'\nimport { debounce } from 'rxjs/operators';\r\n\n@Component({\n selector: 'app-plannerreport2',\n templateUrl: './plannerreport2.component.html',\n styleUrls: ['./plannerreport2.component.css']\n})\nexport class Plannerreport2Component implements OnInit {\n\n Planner2URL: string;\n Login: string;\n\n constructor(public global: Global) { }\n\n ngOnInit(): void {\n debugger\n this.global.IsLoggedIn = sessionStorage.getItem('IsLoggedIn');\n\n if (this.global.IsLoggedIn == null) {\n this.global.IsLoggedIn = 'false';\n }\n this.Login = this.global.IsLoggedIn;\n this.global.IsOnMenu = false\n this.global.IsOnApproachMenu = false\n this.global.IsOnPlannerMenu = false\n this.global.IsOnPostEvalMenu = false\n this.global.IsOnContactUsMenu = false\n this.global.IsOnStartedMenu = false\n this.global.IsCinemaStats = false\n this.global.IsOnPlanner2Menu = true\n\n if (this.global.IsLoggedIn == 'true') {\r\n this.Planner2URL = this.global.EmbededURL + \"/Planner2Report\";\n this.Planner2URL = this.Planner2URL.trim();\r\n }\n else {\n window.location.href = \"./Planner\"\r\n }\n }\n\n GoToLoginFromPlanner() {\r\n debugger\r\n localStorage.setItem('IsPlannerLogin', \"false\");\r\n localStorage.setItem('IsPostEvalLogin', \"false\"); \r\n localStorage.setItem('IsPlanner2Login', \"true\");\r\n\r\n window.location.href = \"./Login\"\r\n }\n\n}\n","\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n

Campaign Planner

\r\n
\r\n
\r\n\r\n\r\n
LOGIN
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n

The AD Planner provides advertisers with the tools they need to make data-driven marketing decisions. Through CAMBioscope's audience measurement and analytics, advertisers can gain valuable insight. In addition to identifying target audiences, planning cinema campaigns, and assessing their effectiveness, this information can be used to measure the success of advertising campaigns.

\r\n

\r\n Features of ADPlanner:\r\n

\r\n

Target Audience:Segment audiences by demographics, interests, and behaviors to target specific audiences.

\r\n

\r\n

Campaign Planning:Planning and optimizing Cinema Campaigns using audience data can maximize the effectiveness of your campaigns.

\r\n

\r\n

Performance tracking: Evaluate the results of your ads in near real-time and make tweaks based on data.

\r\n

\r\n

Analytics: Create detailed reports and analytics on your ad campaigns so you can better understand your audience and improve your marketing efforts.

\r\n\r\n \r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\nimport { Global } from '.././global/global'\nimport * as models from 'powerbi-models';\n\n@Component({\n selector: 'app-screen-report',\n templateUrl: './screen-report.component.html',\n styleUrls: ['./screen-report.component.css']\n})\nexport class ScreenReportComponent implements OnInit {\n\n EmbededURL: string\n Details: any = [];\n //State: State[];\n //Region: Region[];\n\n constructor(private global: Global) {\n\n }\n\n ngOnInit(): void {\n debugger\n var ScreenFiltersDetails = JSON.parse(localStorage.getItem('ScreenFiltersDetails'));\n this.global.IsLoggedIn = sessionStorage.getItem('IsLoggedIn');\n\n //this.Details =\r\n // {\r\n // State: [\"Maharashtra\", \"GOA\", \"Kerala\"], \r\n // Tier: [\"02 Tier 3\", \"03 Tier 2\"],\r\n // CityID: [\"U|99|66641\", \"U|99|800452\"],\r\n // Network: [\"01 UFO\",\"02 QUBE\"],\r\n // ATP: [200]\r\n\r\n // }\r\n //if (ScreenFiltersDetails != null) {\r\n this.Details =\r\n {\r\n State: ScreenFiltersDetails[0],\r\n Tier: ScreenFiltersDetails[1],\r\n //CityID: ScreenFiltersDetails[],\r\n Network: ScreenFiltersDetails[2],\r\n // ATP: ScreenFiltersDetails[3],\r\n CityID: ScreenFiltersDetails[4],\r\n\r\n\r\n }\r\n //}\r\n //else {\r\n // this.Details =\r\n // {\r\n // Zone: [\"South\",\"HSM\"]\r\n // }\r\n //}\r\n\r\n\r\n if (this.global.IsLoggedIn == 'true') {\r\n //this.EmbededURL = this.global.EmbededURL + \"/EmbedReport?Details=\" + JSON.stringify(this.Details);\n this.EmbededURL = this.global.EmbededURL + \"/EmbedScreenReport?Details=\" + encodeURIComponent(JSON.stringify(this.Details));\n //this.EmbededURL = this.global.EmbededURL + \"/EmbedReport\";\r\n }\r\n else {\r\n window.location.href = \"./Planner\"\r\n }\r\n\n\n this.EmbededURL = this.EmbededURL.trim();\n\n if (Boolean(localStorage.getItem('IsPlannerLogin'))) {\n this.global.IsOnMenu = false\n this.global.IsOnApproachMenu = false\n this.global.IsOnPlannerMenu = true\n this.global.IsOnPostEvalMenu = false\n this.global.IsOnContactUsMenu = false\n this.global.IsOnStartedMenu = false\r\n }\n\n\n }\n\n GoToLoginFromPlanner() {\n window.location.href = \"./Login\"\n }\n\n GotoPlanner() {\n window.location.href = \"./Planner\"\n }\n\n GoToPostEval() {\n window.location.href = \"./PostEval\"\n }\n\n}\n\n\n","
\r\n\r\n \r\n
\r\n\r\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\n\n@Injectable()\n export class SharedService {\n public api_url: string\n public url: string //= AppConfig.settings.apiServer.url;\r\n public env: string //= AppConfig.settings.env.name;\r\n public aurl: string //= AppConfig.settings.apiServer.aurl;\r\n public MovieROReportUrl: string //= AppConfig.settings.apiServer.stock_url;\r\n public stock_url: string //= AppConfig.settings.apiServer.stock_url;\r\n public Intranet_url: string //= AppConfig.settings.apiServer.intra_url;\r\n public stock_url_Lamp: string //= AppConfig.settings.apiServer.stock_url;\r\n public DefaultAgency: string = '35';\n\n constructor() { }\n\n getAPIurl() {\r\n return this.api_url;\r\n }\r\n\r\n setAPIurl(val: string) {\r\n this.api_url = val;\r\n }\n\n getURL() {\r\n return this.url;\r\n }\n\n setURL(val: string) {\r\n this.url = val;\r\n }\n\n getENV() {\r\n return this.env;\r\n }\n\n setENV(val: string) {\r\n this.env = val;\r\n }\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: true\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n"]}