diff --git a/150-DOCUMENTATION/002-DBScripts/Admin/Store Procedure/usp_GetSubscriptionPlans.sql b/150-DOCUMENTATION/002-DBScripts/Admin/Store Procedure/usp_GetSubscriptionPlans.sql new file mode 100644 index 0000000..c7ec30d --- /dev/null +++ b/150-DOCUMENTATION/002-DBScripts/Admin/Store Procedure/usp_GetSubscriptionPlans.sql diff --git a/150-DOCUMENTATION/002-DBScripts/Admin/Store Procedure/usp_InsertSubscriptionPlan.sql b/150-DOCUMENTATION/002-DBScripts/Admin/Store Procedure/usp_InsertSubscriptionPlan.sql new file mode 100644 index 0000000..7bec445 --- /dev/null +++ b/150-DOCUMENTATION/002-DBScripts/Admin/Store Procedure/usp_InsertSubscriptionPlan.sql diff --git a/150-DOCUMENTATION/002-DBScripts/Admin/Store Procedure/usp_UpdateSubscriptionPlan.sql b/150-DOCUMENTATION/002-DBScripts/Admin/Store Procedure/usp_UpdateSubscriptionPlan.sql new file mode 100644 index 0000000..0540a18 --- /dev/null +++ b/150-DOCUMENTATION/002-DBScripts/Admin/Store Procedure/usp_UpdateSubscriptionPlan.sql diff --git a/400-SOURCECODE/Admin/src/app/components/UserEntity/adduser.component.html b/400-SOURCECODE/Admin/src/app/components/UserEntity/adduser.component.html new file mode 100644 index 0000000..e6d5cfe --- /dev/null +++ b/400-SOURCECODE/Admin/src/app/components/UserEntity/adduser.component.html @@ -0,0 +1,122 @@ +
+ +
+

Add User

+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+ +
+
+
+ +
+ + (Minimum 8 characters) +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+ + + + + + +
+ +
+
+ +
+
+
+
+
+
+
+
diff --git a/400-SOURCECODE/Admin/src/app/components/UserEntity/adduser.component.ts b/400-SOURCECODE/Admin/src/app/components/UserEntity/adduser.component.ts new file mode 100644 index 0000000..510ea88 --- /dev/null +++ b/400-SOURCECODE/Admin/src/app/components/UserEntity/adduser.component.ts @@ -0,0 +1,120 @@ +import { Component, OnInit, AfterViewInit,ViewChild } from '@angular/core'; +import { UserService } from '../UserEntity/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'; + + +@Component({ + templateUrl:'./adduser.component.html' // '../../../../../wwwroot/html/UpdateProfile/updateuserprofile.component.html' +}) + +export class AddUser implements OnInit { + user: User; + baseUrl: string = "User"; + adduserFrm: FormGroup; + useFname: string; + error; + status: boolean; + alerts: string; + emailPattern = "^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$"; + public UserTypeList: any; + public AccountNumberList: any; + public ProductEditionList: any; + modalTitle: string; + //@ViewChild("profileModal") + //profileModal: ModalComponent; + //errorMessage: any; + constructor(private userservice: UserService, private router: Router, private fb: FormBuilder, private http: Http, + private _confirmService: ConfirmService, private commonService: GlobalService + ) { } + + ngOnInit(): void { + this.user = new User(); + this.alerts = ''; + //this.userservice.GetUserById(this.UserId); + this.adduserFrm = this.fb.group({ + id: [''], + UserName: ['', Validators.required], + Password: ['', Validators.required], + ConfirmPassword: ['', Validators.required], + FirstName: ['', Validators.required], + LastName: ['', Validators.required], + EmailId: ['', Validators.required], + AccountNumberId: ['', Validators.required], + UserTypeId: ['', Validators.required], + ProductEditionId: ['', Validators.required] + }); + //this.GetAccountNumber(); + this.GetUserTypeByLicenseId(); + } + GetUserTypeByLicenseId() { + debugger; + var Accountnumber = this.adduserFrm.controls['AccountNumberId'].value; + if (Accountnumber == "") { Accountnumber=0} + this.userservice.GetUserTypeByLicenseType({ + AccountNumberId: Accountnumber + }).subscribe(x => { this.UserTypeList = x; }, error => this.error = error); + } + GetAccountNumber() { + + this.userservice.GetAccountNumber() + .subscribe(x => { console.log(x); this.AccountNumberList=x }, error => this.error = error); + } + GetProductEdition() { + this.userservice.GetProductEdition({ + AccountNumberId: this.adduserFrm.controls['AccountNumberId'].value}) + .subscribe(x => { console.log(x); this.ProductEditionList=x }, error => this.error = error); + } + UpdateUserProfile(this) { + // debugger; + this.user = this.adduserFrm.value; + //if(this.user.) + //console.log(this.user); + var obj = this.user + if (this.adduserFrm.valid) { + return this.userservice.UpdateUserProfileById(obj) + .subscribe( + n => (this.AfterInsertData(n)), + error => this.error = error); + } + } + AfterInsertData(data) { + //debugger; + if (data.Status == "False") { + return false; + } else { + this.status = true; + this._confirmService.activate("User Profile Updated Successfully.", "alertMsg"); + } + + } + bindUsers(data) { + + //console.log(data); + //alert(JSON.stringify(data)); + //this.user = data[0]; + + + this.adduserFrm.controls['id'].setValue(this.user.Id) + this.adduserFrm.controls['FirstName'].setValue(this.user.FirstName) + this.adduserFrm.controls['LastName'].setValue(this.user.LastName) + this.adduserFrm.controls['EmailId'].setValue(this.user.EmailId) + this.adduserFrm.controls['UserName'].setValue(this.user.LoginId) + this.adduserFrm.controls['Password'].setValue(this.user.Password) + this.adduserFrm.controls['ConfirmPassword'].setValue(this.user.ConfirmPassword) + this.adduserFrm.controls['AccountNumberId'].setValue(this.user.AccountNumberId) + this.adduserFrm.controls['UserTypeId'].setValue(this.user.UserTypeId) + this.adduserFrm.controls['ProductEditionId'].setValue(this.user.ProductEditionId) + + } +} diff --git a/400-SOURCECODE/Admin/src/app/shared/contenteditabledirective.ts b/400-SOURCECODE/Admin/src/app/shared/contenteditabledirective.ts new file mode 100644 index 0000000..ded3b1b --- /dev/null +++ b/400-SOURCECODE/Admin/src/app/shared/contenteditabledirective.ts @@ -0,0 +1,49 @@ +import { Directive, ElementRef, Input, Output, OnChanges, EventEmitter, HostListener, SimpleChanges +} from '@angular/core'; + +@Directive({ + selector: '[contenteditableModel]' +}) +export class ContenteditableModelDirective implements OnChanges { + + @Input('contenteditableModel') + public model: any; + + @Output('contenteditableModelChange') + public update = new EventEmitter(); + + private _lastViewModel: any; + + constructor(private elRef: ElementRef) {} + + public ngOnChanges(changes: SimpleChanges): void { + if(this._lastViewModel !== changes['model'].currentValue){ + this._lastViewModel = this.model; + this._refreshView(); + } + } + + @HostListener('blur') + public onBlur() { + if(this.elRef.nativeElement.type == 'checkbox' || this.elRef.nativeElement.type == 'radio'){ + var value = this.elRef.nativeElement.checked; + this._lastViewModel = value; + this.update.emit(value); + } + else{ + var value = this.elRef.nativeElement.innerText; + this._lastViewModel = value; + this.update.emit(value); + } + } + + private _refreshView() { + if(this.elRef.nativeElement.type == 'checkbox' || this.elRef.nativeElement.type == 'radio'){ + this.elRef.nativeElement.value = this.model; + this.elRef.nativeElement.checked = this.model; + } + else{ + this.elRef.nativeElement.innerText = this.model; + } + } +} \ No newline at end of file