{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./src/app/About/aboutus.component.ts","./src/app/About/aboutus.component.html","./src/app/CaseStudies/casestudies.component.ts","./src/app/CaseStudies/casestudies.component.html","./src/app/CinemaStats/cinemastats.component.ts","./src/app/CinemaStats/cinemastats.component.html","./src/app/Contact/contact.component.ts","./src/app/Contact/contact.component.html","./src/app/Disclaimer/disclaimer.component.ts","./src/app/Disclaimer/disclaimer.component.html","./src/app/Footer/footer.component.ts","./src/app/Footer/footer.component.html","./src/app/Header/header.component.ts","./src/app/Header/header.component.html","./src/app/Home/home.component.ts","./src/app/Home/home.component.html","./src/app/Login/LoginPagesService.ts","./src/app/Login/login.component.ts","./src/app/Login/login.component.html","./src/app/Model/ConfigScreen.ts","./src/app/Pipe/PipesTransfrom.ts","./src/app/Planner/planner.component.ts","./src/app/Planner/planner.component.html","./src/app/PlannerDraft/plannerdraft.component.ts","./src/app/PlannerDraft/plannerdraft.component.html","./src/app/PostEva/posteval.component.ts","./src/app/PostEva/posteval.component.html","./src/app/PrivacyPolicy/privacypolicy.component.ts","./src/app/PrivacyPolicy/privacypolicy.component.html","./src/app/Registration/RegistrationPageService.ts","./src/app/Registration/registration.component.ts","./src/app/Registration/registration.component.html","./src/app/Team/team.component.ts","./src/app/Team/team.component.html","./src/app/app-config.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/embeded-report/embeded-report.component.ts","./src/app/embeded-report/embeded-report.component.html","./src/app/global/global.ts","./src/app/planner-davp/planner-davp.component.ts","./src/app/planner-davp/planner-davp.component.html","./src/app/plannerreport2/plannerreport2.component.ts","./src/app/plannerreport2/plannerreport2.component.html","./src/app/screen-report/screen-report.component.ts","./src/app/screen-report/screen-report.component.html","./src/app/shared/shared.service.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":"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","file":"main-es2015.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"],"sourceRoot":"webpack:///"}