usagereport.component.ts 5.01 KB
import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
//import { Http, Response } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/Rx';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/filter';
import { UsageReports } from '../Reports/reportdatamodel';
import { ReportService } from '../Reports/report.service';
import { GlobalService } from '../../Shared/global';
import { BsModalService } from 'ngx-bootstrap/modal';
import { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';
import { DatePipe } from '@angular/common';
import { BsDatepickerModule } from 'ngx-bootstrap';
import { Http, Response } from '@angular/http';
import { LoadingService } from '../../shared/loading.service'; 
declare var $: any;

@Component({
    templateUrl: './usagereport.component.html'
})

export class UsageReport implements OnInit {
    public lstUserUsageReport: any;
    public lstCountry: any;
    public lstState: any;
    UsageReportForm: FormGroup;
    UsageReports: UsageReports[];
    numberOfUsageReport: number;
    limit: number;
    page: number = 1;
    error;
    usagereport = new UsageReports();
    modalAlerts: string;
    divClass: string = '';
    topPos: string = '2000px';
    selectedRow: number = 0;
    datePipe: DatePipe = new DatePipe('en-US');
    bsValue1: Date = new Date();
    bsValue2: Date = new Date();
    selectedId: number = 0;
    modalRef: BsModalRef;
    date = new Date();
    previousdate = new Date();
    NoRecord: string;
    constructor(private router: Router, private reportservice: ReportService, private fb: FormBuilder,
      private modalService: BsModalService, private global: GlobalService, private _loadingService: LoadingService) { }

     
    ngOnInit(): void {
        this.NoRecord = this.global.NoRecords;
        let usagereport = new UsageReports();
        this.previousdate.setDate(this.previousdate.getDate() - 365);
        this.UsageReportForm = this.fb.group({
            sFromDate: [this.previousdate],
            sToDate: [this.date],
            sAccountNumber: [''],
            sZip: [''],           
            iState: [0],
            iCountry: [0]           
        });
        this.GetCountry();
        this.GetState();
        //this.GetUsageReport();
        $('#fixed_hdr2').fxdHdrCol({
            fixedCols: 0,
            width: "100%",
            height: 300,
            colModal: [
                { width: 180, align: 'center' },
                { width: 230, align: 'center' },
                { width: 150, align: 'Center' },
                { width: 150, align: 'Center' },
                { width: 350, align: 'Center' },
                { width: 500, align: 'Center' },
                { width: 130, align: 'Center' },
                { width: 120, align: 'center' },
                { width: 280, align: 'Center' },
                { width: 180, align: 'center' },
                { width: 200, align: 'center' },
                { width: 170, align: 'center' },
                { width: 80, align: 'center' },
                { width: 150, align: 'center' },
                { width: 150, align: 'center' },
                { width: 180, align: 'Center' },
                { width: 400, align: 'Center' },
                { width: 150, align: 'center' },
                { width: 110, align: 'center' },
            ],
            sort: true
        });
        document.getElementById("fixed_table_rc").remove();
        var testScript = document.createElement("script");
        testScript.setAttribute("id", "fixed_table_rc");
        testScript.setAttribute("src", "../assets/scripts/fixed_table_rc.js");
        testScript.setAttribute("type", "text/javascript");
        document.body.appendChild(testScript);
        
        this.GetUsageReport();
        
    }

    GetUsageReport(this) {
        this._loadingService.ShowLoading("global-loading");
        this.usagereport = this.UsageReportForm.value;
        var obj = this.usagereport;
        this.reportservice.GetUsageReport(obj).subscribe((UsageReports: UsageReports[]) => { this.BindFormFields(UsageReports);}, error => this.error = <any>error);
    }

    GetCountry() {
        this.reportservice.GetCountry().subscribe(y => { this.lstCountry = y; }, error => this.error = <any>error);
    }

    GetState() {
        this.reportservice.GetState().subscribe(st => { this.lstState = st; }, error => this.error = <any>error);
    }

    BindFormFields(data) {
      this.lstUserUsageReport = data
      this.numberOfUsageReport = this.lstUserUsageReport.length; this.limit = this.lstUserUsageReport.length;       
      if (this.lstUserUsageReport.length > 0) {
        this.NoRecord = '';
        this._loadingService.HideLoading("global-loading");
      }
      if (this.lstUserUsageReport.length == 0) {
        this.NoRecord = this.global.NoRecords;
        this._loadingService.HideLoading("global-loading");
      }
    }
}