unblockuser.component.ts 5.27 KB
import { Component, OnInit, AfterViewInit, ViewChild, TemplateRef } from '@angular/core';
import { UserService } from './user.service';
import { Router } from '@angular/router';
import { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { User } from '../userentity/datamodel';
import { Http, Response } from '@angular/http';
import { GlobalService } from '../../shared/global';
//import { DBOperation } from 'S';
import { Observable } from 'rxjs/Observable';
import { ConfirmService } from '../../shared/confirm/confirm.service';
import 'rxjs/Rx';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/filter';
import { LoadingService } from '../../shared/loading.service';
import { BsModalService } from 'ngx-bootstrap/modal';
import { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';

@Component({
  templateUrl:'./unblockuser.component.html' // '../../../../../wwwroot/html/UpdateProfile/updateuserprofile.component.html'
})

export class UnblockUser implements OnInit {
  
  modalTitle: string;
  UnBlockedUserFrm: FormGroup;
  alerts: string;
  public UserTypeList: any;
  public AccountTypeList: any;
  public UserList: any;
  error;
  modalRef: BsModalRef;
  checkedRecords: Array<number>;
  display = 'none';
  modalAlerts: string;
  buttonStatus: boolean;
  licId:number;
  //@ViewChild("profileModal")
  //profileModal: ModalComponent;
  //errorMessage: any;
  constructor(private _loadingService: LoadingService,private userservice: UserService, private router: Router, private fb: FormBuilder, private http: Http,
    private _confirmService: ConfirmService, private modalService: BsModalService, public commonService: GlobalService
  ) { }
 
  ngOnInit(): void {    
    this.alerts = '';
      //this.userservice.GetUserById(this.UserId);
    this.UnBlockedUserFrm = this.fb.group({
      //FirstName:[''],
      //LastName: [''],
      //EmailId:  [''],
      //AccountNumber: [''],
      //UserTypeId: [''],
      //AccountTypeId:['']
     // Gender: ['', Validators.required],
   //   Email: ['']
          
    }); this._loadingService.ShowLoading("global-loading");
    this.GetBlockUserList();
    //this.GetAccountType();
    this._loadingService.HideLoading("global-loading");
    
    //this.GetUserList();
  }
  redirect() {
    this.router.navigate(['/']);
  }
  onChange(Idx: number, Id: number, isChecked: boolean) {
    debugger;
    if (isChecked) {
      this.checkedRecords[Idx] = Id;
      this.buttonStatus = true;
    }
    else {
      this.checkedRecords[Idx] = 0;
      this.buttonStatus = false;
    }
  }
  openModal(template: TemplateRef<any>) {
    debugger;
    this.display = 'block';
    if (this.checkedRecords.filter(C => C > 0).length == 0) return;
    this.modalRef = this.modalService.show(template);
  }
  UpdateUnBlockedUsers(template: TemplateRef<any>) {
    this.modalRef.hide();
    console.log(this.checkedRecords);
    this.alerts = '';
    if (this.alerts == '') {
      var obj = this.checkedRecords.filter(C => C > 0);
      return this.userservice.UpdateUnBlockedUser(obj)
        .subscribe(
        data => (this.AfterDeleteData(data, template)),
        error => {
          this.error = <any>error;
          this.alerts = "<span>" + this.error + "</span>";
        });
    }
  }
  AfterDeleteData(data, template) {  
    if (data.Status == "false") {
      this._confirmService.activate("We have encountered a technical error and same has been notified to our technical team.", "alertMsg");
    } else {
      //this.modalAlerts = "<p>Selected users has been unblocked now</p>";
      //this.modalRef = this.modalService.show(template);
      this.GetBlockUserList();
    }
  }
  
  GetBlockUserList(this)
  {
    if (this.commonService.UserTypeName == "Client Admin" || this.commonService.UserTypeName == "District Admin") 
    {
        if(this.commonService.AccountNumber !=undefined && this.commonService.AccountNumber !="")
        {
            this.licId = this.commonService.AccLicId;
        }
        else
        {
          this.licId =0
        }
      
    }
    else
    {
      this.licId =0
    }
   
    var UserFilterControl = this.UnBlockedUserFrm.value;
    this.userservice.GetBlockUserList(
      {        
        UserTypeId: this.commonService.UserType,
        LicenseId: this.licId,
      })

      .subscribe(x => {
      this.UserList = x; this.checkedRecords = new Array<number>(this.UserList.length);
      if (this.UserList.length>0) {
        this.buttonStatus = false;
      }
      else {
        this.buttonStatus = false;
      }
      }, error => this.error = <any>error);
    
  }
  AfterInsertData(data) {
  
    if (data == "success") {
      this._confirmService.activate("Userid Updated Successfully.", "alertMsg");
      
    } else  {
      this.alerts += '<span>' + data+'</span>';
      return false;
      
      
    }
    //if (this.closeflag) {
    //  this.close.emit(null);
    //}
    //else {
    //}
  }
  
  ResetFormFields() {
    //this.ChangeUserIdFrm.reset()
    //this.ChangeUserIdFrm.controls['id'].setValue(this.user.Id)
    //this.ChangeUserIdFrm.controls['loginid'].setValue(this.user.LoginId)
    //this.ChangeUserIdFrm.controls['newloginid'].setValue('')
    //this.ChangeUserIdFrm.controls['confirmloginid'].setValue('')
    this.alerts = '';
  }
  
}