build_app
This commit is contained in:
		
							parent
							
								
									1b4ef53dd7
								
							
						
					
					
						commit
						7708974e32
					
				| @ -69,6 +69,18 @@ public class BuilderService { | ||||
| 		executeDump(true); | ||||
| 
 | ||||
| 		// ADD OTHER SERVICE | ||||
| addCustomMenu( "Add_new_subscription","Add_new_subscription",  "Transcations");  | ||||
| 
 | ||||
| 
 | ||||
| addCustomMenu( "Category","Category",  "Master");  | ||||
| 
 | ||||
| 
 | ||||
| addCustomMenu( "Duration_type","Duration_type",  "Master");  | ||||
| 
 | ||||
| 
 | ||||
| addCustomMenu( "Subscription_type","Subscription_type",  "Master");  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 		System.out.println("dashboard and menu inserted..."); | ||||
| 
 | ||||
|  | ||||
| @ -0,0 +1,139 @@ | ||||
| package com.realnet.basicp1.Controllers; | ||||
| import java.util.List; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
|  import org.springframework.web.bind.annotation.*; | ||||
| import org.springframework.web.multipart.MultipartFile; | ||||
| import com.fasterxml.jackson.core.JsonProcessingException; | ||||
| import org.springframework.web.bind.annotation.CrossOrigin; | ||||
| import com.fasterxml.jackson.databind.JsonMappingException; | ||||
| import com.realnet.config.EmailService; | ||||
| import com.realnet.users.entity1.AppUser; | ||||
| import com.realnet.users.service1.AppUserServiceImpl; | ||||
| import com.fasterxml.jackson.databind.ObjectMapper; | ||||
| import org.springframework.data.domain.*; | ||||
| import com.realnet.fnd.response.EntityResponse; | ||||
| import org.springframework.http.*; | ||||
| import org.springframework.beans.factory.annotation.*; | ||||
| import com.realnet.basicp1.Entity.Add_new_subscription; | ||||
| import com.realnet.basicp1.Services.Add_new_subscriptionService ; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| @RequestMapping(value = "/Add_new_subscription") | ||||
|  @CrossOrigin("*")  | ||||
| @RestController | ||||
| public class Add_new_subscriptionController { | ||||
| 	@Autowired | ||||
| 	private Add_new_subscriptionService Service; | ||||
| 
 | ||||
| @Value("${projectPath}") | ||||
| 	private String projectPath; | ||||
|   | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 	@PostMapping("/Add_new_subscription") | ||||
| 		  public Add_new_subscription Savedata(@RequestBody Add_new_subscription data) { | ||||
| 		Add_new_subscription save = Service.Savedata(data)	; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 		System.out.println("data saved..." + save); | ||||
| 
 | ||||
|  return save; | ||||
| 	  } | ||||
| @PutMapping("/Add_new_subscription/{id}") | ||||
| 	public  Add_new_subscription update(@RequestBody Add_new_subscription data,@PathVariable Integer id ) { | ||||
| 		Add_new_subscription update = Service.update(data,id); | ||||
| 		System.out.println("data update..." + update); | ||||
| 		return update; | ||||
| 	}	  | ||||
| //	get all with pagination | ||||
| 	@GetMapping("/Add_new_subscription/getall/page") | ||||
| 	public Page<Add_new_subscription> getall(@RequestParam(value = "page", required = false) Integer page, | ||||
| 			@RequestParam(value = "size", required = false) Integer size) { | ||||
| 		Pageable paging = PageRequest.of(page, size); | ||||
| 		Page<Add_new_subscription> get = Service.getAllWithPagination(paging); | ||||
| 
 | ||||
| 		return get; | ||||
| 
 | ||||
| 	}	 | ||||
| 	@GetMapping("/Add_new_subscription") | ||||
| 	public List<Add_new_subscription> getdetails() { | ||||
| 		 List<Add_new_subscription> get = Service.getdetails();		 | ||||
| 		return get; | ||||
| } | ||||
| // get all without authentication  | ||||
| 
 | ||||
| 	@GetMapping("/token/Add_new_subscription") | ||||
| 	public List<Add_new_subscription> getallwioutsec() { | ||||
| 		 List<Add_new_subscription> get = Service.getdetails();		 | ||||
| 		return get; | ||||
| } | ||||
| @GetMapping("/Add_new_subscription/{id}") | ||||
| 	public  Add_new_subscription  getdetailsbyId(@PathVariable Integer id ) { | ||||
| 		Add_new_subscription  get = Service.getdetailsbyId(id); | ||||
| 		return get; | ||||
| 	} | ||||
| @DeleteMapping("/Add_new_subscription/{id}") | ||||
| 	public  ResponseEntity<?> delete_by_id(@PathVariable Integer id ) { | ||||
| 	Service.delete_by_id(id); | ||||
| 			return new ResponseEntity<>(new EntityResponse("Deleted"), HttpStatus.OK); | ||||
| 	 | ||||
| 	} | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,83 @@ | ||||
| package com.realnet.basicp1.Controllers; | ||||
| import java.util.List; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
|  import org.springframework.web.bind.annotation.*; | ||||
| import org.springframework.web.multipart.MultipartFile; | ||||
| import com.fasterxml.jackson.core.JsonProcessingException; | ||||
| import org.springframework.web.bind.annotation.CrossOrigin; | ||||
| import com.fasterxml.jackson.databind.JsonMappingException; | ||||
| import com.realnet.config.EmailService; | ||||
| import com.realnet.users.entity1.AppUser; | ||||
| import com.realnet.users.service1.AppUserServiceImpl; | ||||
| import com.fasterxml.jackson.databind.ObjectMapper; | ||||
| import org.springframework.data.domain.*; | ||||
| import com.realnet.fnd.response.EntityResponse; | ||||
| import org.springframework.http.*; | ||||
| import org.springframework.beans.factory.annotation.*; | ||||
| import com.realnet.basicp1.Entity.Category; | ||||
| import com.realnet.basicp1.Services.CategoryService ; | ||||
| 
 | ||||
| 
 | ||||
| @RequestMapping(value = "/Category") | ||||
|  @CrossOrigin("*")  | ||||
| @RestController | ||||
| public class CategoryController { | ||||
| 	@Autowired | ||||
| 	private CategoryService Service; | ||||
| 
 | ||||
| @Value("${projectPath}") | ||||
| 	private String projectPath; | ||||
|   | ||||
| 
 | ||||
| 
 | ||||
| 	@PostMapping("/Category") | ||||
| 		  public Category Savedata(@RequestBody Category data) { | ||||
| 		Category save = Service.Savedata(data)	; | ||||
| 
 | ||||
| 		System.out.println("data saved..." + save); | ||||
| 
 | ||||
|  return save; | ||||
| 	  } | ||||
| @PutMapping("/Category/{id}") | ||||
| 	public  Category update(@RequestBody Category data,@PathVariable Integer id ) { | ||||
| 		Category update = Service.update(data,id); | ||||
| 		System.out.println("data update..." + update); | ||||
| 		return update; | ||||
| 	}	  | ||||
| //	get all with pagination | ||||
| 	@GetMapping("/Category/getall/page") | ||||
| 	public Page<Category> getall(@RequestParam(value = "page", required = false) Integer page, | ||||
| 			@RequestParam(value = "size", required = false) Integer size) { | ||||
| 		Pageable paging = PageRequest.of(page, size); | ||||
| 		Page<Category> get = Service.getAllWithPagination(paging); | ||||
| 
 | ||||
| 		return get; | ||||
| 
 | ||||
| 	}	 | ||||
| 	@GetMapping("/Category") | ||||
| 	public List<Category> getdetails() { | ||||
| 		 List<Category> get = Service.getdetails();		 | ||||
| 		return get; | ||||
| } | ||||
| // get all without authentication  | ||||
| 
 | ||||
| 	@GetMapping("/token/Category") | ||||
| 	public List<Category> getallwioutsec() { | ||||
| 		 List<Category> get = Service.getdetails();		 | ||||
| 		return get; | ||||
| } | ||||
| @GetMapping("/Category/{id}") | ||||
| 	public  Category  getdetailsbyId(@PathVariable Integer id ) { | ||||
| 		Category  get = Service.getdetailsbyId(id); | ||||
| 		return get; | ||||
| 	} | ||||
| @DeleteMapping("/Category/{id}") | ||||
| 	public  ResponseEntity<?> delete_by_id(@PathVariable Integer id ) { | ||||
| 	Service.delete_by_id(id); | ||||
| 			return new ResponseEntity<>(new EntityResponse("Deleted"), HttpStatus.OK); | ||||
| 	 | ||||
| 	} | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,24 @@ | ||||
| package com.realnet.basicp1.Controllers; | ||||
| import java.util.List; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
|  import org.springframework.web.bind.annotation.*; | ||||
| import com.realnet.basicp1.Entity.Category_ListFilter1; | ||||
| import com.realnet.basicp1.Services.Category_ListFilter1Service ; | ||||
| @RequestMapping(value = "/Category_ListFilter1") | ||||
| @RestController | ||||
| public class Category_ListFilter1Controller { | ||||
| 	 | ||||
| 	@Autowired | ||||
| 	private Category_ListFilter1Service Service; | ||||
| 
 | ||||
| 		@GetMapping("/Category_ListFilter1") | ||||
| 	public List<Category_ListFilter1> getlist() { | ||||
| 		 List<Category_ListFilter1> get = Service.getlistbuilder();		 | ||||
| 		return get; | ||||
| } | ||||
| 		@GetMapping("/Category_ListFilter11") | ||||
| 	public List<Category_ListFilter1> getlistwithparam( ) { | ||||
| 		 List<Category_ListFilter1> get = Service.getlistbuilderparam( );		 | ||||
| 		return get; | ||||
| } | ||||
| } | ||||
| @ -0,0 +1,83 @@ | ||||
| package com.realnet.basicp1.Controllers; | ||||
| import java.util.List; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
|  import org.springframework.web.bind.annotation.*; | ||||
| import org.springframework.web.multipart.MultipartFile; | ||||
| import com.fasterxml.jackson.core.JsonProcessingException; | ||||
| import org.springframework.web.bind.annotation.CrossOrigin; | ||||
| import com.fasterxml.jackson.databind.JsonMappingException; | ||||
| import com.realnet.config.EmailService; | ||||
| import com.realnet.users.entity1.AppUser; | ||||
| import com.realnet.users.service1.AppUserServiceImpl; | ||||
| import com.fasterxml.jackson.databind.ObjectMapper; | ||||
| import org.springframework.data.domain.*; | ||||
| import com.realnet.fnd.response.EntityResponse; | ||||
| import org.springframework.http.*; | ||||
| import org.springframework.beans.factory.annotation.*; | ||||
| import com.realnet.basicp1.Entity.Duration_type; | ||||
| import com.realnet.basicp1.Services.Duration_typeService ; | ||||
| 
 | ||||
| 
 | ||||
| @RequestMapping(value = "/Duration_type") | ||||
|  @CrossOrigin("*")  | ||||
| @RestController | ||||
| public class Duration_typeController { | ||||
| 	@Autowired | ||||
| 	private Duration_typeService Service; | ||||
| 
 | ||||
| @Value("${projectPath}") | ||||
| 	private String projectPath; | ||||
|   | ||||
| 
 | ||||
| 
 | ||||
| 	@PostMapping("/Duration_type") | ||||
| 		  public Duration_type Savedata(@RequestBody Duration_type data) { | ||||
| 		Duration_type save = Service.Savedata(data)	; | ||||
| 
 | ||||
| 		System.out.println("data saved..." + save); | ||||
| 
 | ||||
|  return save; | ||||
| 	  } | ||||
| @PutMapping("/Duration_type/{id}") | ||||
| 	public  Duration_type update(@RequestBody Duration_type data,@PathVariable Integer id ) { | ||||
| 		Duration_type update = Service.update(data,id); | ||||
| 		System.out.println("data update..." + update); | ||||
| 		return update; | ||||
| 	}	  | ||||
| //	get all with pagination | ||||
| 	@GetMapping("/Duration_type/getall/page") | ||||
| 	public Page<Duration_type> getall(@RequestParam(value = "page", required = false) Integer page, | ||||
| 			@RequestParam(value = "size", required = false) Integer size) { | ||||
| 		Pageable paging = PageRequest.of(page, size); | ||||
| 		Page<Duration_type> get = Service.getAllWithPagination(paging); | ||||
| 
 | ||||
| 		return get; | ||||
| 
 | ||||
| 	}	 | ||||
| 	@GetMapping("/Duration_type") | ||||
| 	public List<Duration_type> getdetails() { | ||||
| 		 List<Duration_type> get = Service.getdetails();		 | ||||
| 		return get; | ||||
| } | ||||
| // get all without authentication  | ||||
| 
 | ||||
| 	@GetMapping("/token/Duration_type") | ||||
| 	public List<Duration_type> getallwioutsec() { | ||||
| 		 List<Duration_type> get = Service.getdetails();		 | ||||
| 		return get; | ||||
| } | ||||
| @GetMapping("/Duration_type/{id}") | ||||
| 	public  Duration_type  getdetailsbyId(@PathVariable Integer id ) { | ||||
| 		Duration_type  get = Service.getdetailsbyId(id); | ||||
| 		return get; | ||||
| 	} | ||||
| @DeleteMapping("/Duration_type/{id}") | ||||
| 	public  ResponseEntity<?> delete_by_id(@PathVariable Integer id ) { | ||||
| 	Service.delete_by_id(id); | ||||
| 			return new ResponseEntity<>(new EntityResponse("Deleted"), HttpStatus.OK); | ||||
| 	 | ||||
| 	} | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,24 @@ | ||||
| package com.realnet.basicp1.Controllers; | ||||
| import java.util.List; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
|  import org.springframework.web.bind.annotation.*; | ||||
| import com.realnet.basicp1.Entity.Duration_type_ListFilter1; | ||||
| import com.realnet.basicp1.Services.Duration_type_ListFilter1Service ; | ||||
| @RequestMapping(value = "/Duration_type_ListFilter1") | ||||
| @RestController | ||||
| public class Duration_type_ListFilter1Controller { | ||||
| 	 | ||||
| 	@Autowired | ||||
| 	private Duration_type_ListFilter1Service Service; | ||||
| 
 | ||||
| 		@GetMapping("/Duration_type_ListFilter1") | ||||
| 	public List<Duration_type_ListFilter1> getlist() { | ||||
| 		 List<Duration_type_ListFilter1> get = Service.getlistbuilder();		 | ||||
| 		return get; | ||||
| } | ||||
| 		@GetMapping("/Duration_type_ListFilter11") | ||||
| 	public List<Duration_type_ListFilter1> getlistwithparam( ) { | ||||
| 		 List<Duration_type_ListFilter1> get = Service.getlistbuilderparam( );		 | ||||
| 		return get; | ||||
| } | ||||
| } | ||||
| @ -0,0 +1,83 @@ | ||||
| package com.realnet.basicp1.Controllers; | ||||
| import java.util.List; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
|  import org.springframework.web.bind.annotation.*; | ||||
| import org.springframework.web.multipart.MultipartFile; | ||||
| import com.fasterxml.jackson.core.JsonProcessingException; | ||||
| import org.springframework.web.bind.annotation.CrossOrigin; | ||||
| import com.fasterxml.jackson.databind.JsonMappingException; | ||||
| import com.realnet.config.EmailService; | ||||
| import com.realnet.users.entity1.AppUser; | ||||
| import com.realnet.users.service1.AppUserServiceImpl; | ||||
| import com.fasterxml.jackson.databind.ObjectMapper; | ||||
| import org.springframework.data.domain.*; | ||||
| import com.realnet.fnd.response.EntityResponse; | ||||
| import org.springframework.http.*; | ||||
| import org.springframework.beans.factory.annotation.*; | ||||
| import com.realnet.basicp1.Entity.Subscription_type; | ||||
| import com.realnet.basicp1.Services.Subscription_typeService ; | ||||
| 
 | ||||
| 
 | ||||
| @RequestMapping(value = "/Subscription_type") | ||||
|  @CrossOrigin("*")  | ||||
| @RestController | ||||
| public class Subscription_typeController { | ||||
| 	@Autowired | ||||
| 	private Subscription_typeService Service; | ||||
| 
 | ||||
| @Value("${projectPath}") | ||||
| 	private String projectPath; | ||||
|   | ||||
| 
 | ||||
| 
 | ||||
| 	@PostMapping("/Subscription_type") | ||||
| 		  public Subscription_type Savedata(@RequestBody Subscription_type data) { | ||||
| 		Subscription_type save = Service.Savedata(data)	; | ||||
| 
 | ||||
| 		System.out.println("data saved..." + save); | ||||
| 
 | ||||
|  return save; | ||||
| 	  } | ||||
| @PutMapping("/Subscription_type/{id}") | ||||
| 	public  Subscription_type update(@RequestBody Subscription_type data,@PathVariable Integer id ) { | ||||
| 		Subscription_type update = Service.update(data,id); | ||||
| 		System.out.println("data update..." + update); | ||||
| 		return update; | ||||
| 	}	  | ||||
| //	get all with pagination | ||||
| 	@GetMapping("/Subscription_type/getall/page") | ||||
| 	public Page<Subscription_type> getall(@RequestParam(value = "page", required = false) Integer page, | ||||
| 			@RequestParam(value = "size", required = false) Integer size) { | ||||
| 		Pageable paging = PageRequest.of(page, size); | ||||
| 		Page<Subscription_type> get = Service.getAllWithPagination(paging); | ||||
| 
 | ||||
| 		return get; | ||||
| 
 | ||||
| 	}	 | ||||
| 	@GetMapping("/Subscription_type") | ||||
| 	public List<Subscription_type> getdetails() { | ||||
| 		 List<Subscription_type> get = Service.getdetails();		 | ||||
| 		return get; | ||||
| } | ||||
| // get all without authentication  | ||||
| 
 | ||||
| 	@GetMapping("/token/Subscription_type") | ||||
| 	public List<Subscription_type> getallwioutsec() { | ||||
| 		 List<Subscription_type> get = Service.getdetails();		 | ||||
| 		return get; | ||||
| } | ||||
| @GetMapping("/Subscription_type/{id}") | ||||
| 	public  Subscription_type  getdetailsbyId(@PathVariable Integer id ) { | ||||
| 		Subscription_type  get = Service.getdetailsbyId(id); | ||||
| 		return get; | ||||
| 	} | ||||
| @DeleteMapping("/Subscription_type/{id}") | ||||
| 	public  ResponseEntity<?> delete_by_id(@PathVariable Integer id ) { | ||||
| 	Service.delete_by_id(id); | ||||
| 			return new ResponseEntity<>(new EntityResponse("Deleted"), HttpStatus.OK); | ||||
| 	 | ||||
| 	} | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,24 @@ | ||||
| package com.realnet.basicp1.Controllers; | ||||
| import java.util.List; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
|  import org.springframework.web.bind.annotation.*; | ||||
| import com.realnet.basicp1.Entity.Subscription_type_ListFilter1; | ||||
| import com.realnet.basicp1.Services.Subscription_type_ListFilter1Service ; | ||||
| @RequestMapping(value = "/Subscription_type_ListFilter1") | ||||
| @RestController | ||||
| public class Subscription_type_ListFilter1Controller { | ||||
| 	 | ||||
| 	@Autowired | ||||
| 	private Subscription_type_ListFilter1Service Service; | ||||
| 
 | ||||
| 		@GetMapping("/Subscription_type_ListFilter1") | ||||
| 	public List<Subscription_type_ListFilter1> getlist() { | ||||
| 		 List<Subscription_type_ListFilter1> get = Service.getlistbuilder();		 | ||||
| 		return get; | ||||
| } | ||||
| 		@GetMapping("/Subscription_type_ListFilter11") | ||||
| 	public List<Subscription_type_ListFilter1> getlistwithparam( ) { | ||||
| 		 List<Subscription_type_ListFilter1> get = Service.getlistbuilderparam( );		 | ||||
| 		return get; | ||||
| } | ||||
| } | ||||
| @ -0,0 +1,139 @@ | ||||
| package com.realnet.basicp1.Controllers; | ||||
| import java.util.List; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
|  import org.springframework.web.bind.annotation.*; | ||||
| import org.springframework.web.multipart.MultipartFile; | ||||
| import com.fasterxml.jackson.core.JsonProcessingException; | ||||
| import org.springframework.web.bind.annotation.CrossOrigin; | ||||
| import com.fasterxml.jackson.databind.JsonMappingException; | ||||
| import com.realnet.config.EmailService; | ||||
| import com.realnet.users.entity1.AppUser; | ||||
| import com.realnet.users.service1.AppUserServiceImpl; | ||||
| import com.fasterxml.jackson.databind.ObjectMapper; | ||||
| import org.springframework.data.domain.*; | ||||
| import com.realnet.fnd.response.EntityResponse; | ||||
| import org.springframework.http.*; | ||||
| import org.springframework.beans.factory.annotation.*; | ||||
| import com.realnet.basicp1.Entity.Add_new_subscription; | ||||
| import com.realnet.basicp1.Services.Add_new_subscriptionService ; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| @RequestMapping(value = "/token/Add_new_subscription") | ||||
|  @CrossOrigin("*")  | ||||
| @RestController | ||||
| public class tokenFree_Add_new_subscriptionController { | ||||
| 	@Autowired | ||||
| 	private Add_new_subscriptionService Service; | ||||
| 
 | ||||
| @Value("${projectPath}") | ||||
| 	private String projectPath; | ||||
|   | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 	@PostMapping("/Add_new_subscription") | ||||
| 		  public Add_new_subscription Savedata(@RequestBody Add_new_subscription data) { | ||||
| 		Add_new_subscription save = Service.Savedata(data)	; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 		System.out.println("data saved..." + save); | ||||
| 
 | ||||
|  return save; | ||||
| 	  } | ||||
| @PutMapping("/Add_new_subscription/{id}") | ||||
| 	public  Add_new_subscription update(@RequestBody Add_new_subscription data,@PathVariable Integer id ) { | ||||
| 		Add_new_subscription update = Service.update(data,id); | ||||
| 		System.out.println("data update..." + update); | ||||
| 		return update; | ||||
| 	}	  | ||||
| //	get all with pagination | ||||
| 	@GetMapping("/Add_new_subscription/getall/page") | ||||
| 	public Page<Add_new_subscription> getall(@RequestParam(value = "page", required = false) Integer page, | ||||
| 			@RequestParam(value = "size", required = false) Integer size) { | ||||
| 		Pageable paging = PageRequest.of(page, size); | ||||
| 		Page<Add_new_subscription> get = Service.getAllWithPagination(paging); | ||||
| 
 | ||||
| 		return get; | ||||
| 
 | ||||
| 	}	 | ||||
| 	@GetMapping("/Add_new_subscription") | ||||
| 	public List<Add_new_subscription> getdetails() { | ||||
| 		 List<Add_new_subscription> get = Service.getdetails();		 | ||||
| 		return get; | ||||
| } | ||||
| // get all without authentication  | ||||
| 
 | ||||
| 	@GetMapping("/token/Add_new_subscription") | ||||
| 	public List<Add_new_subscription> getallwioutsec() { | ||||
| 		 List<Add_new_subscription> get = Service.getdetails();		 | ||||
| 		return get; | ||||
| } | ||||
| @GetMapping("/Add_new_subscription/{id}") | ||||
| 	public  Add_new_subscription  getdetailsbyId(@PathVariable Integer id ) { | ||||
| 		Add_new_subscription  get = Service.getdetailsbyId(id); | ||||
| 		return get; | ||||
| 	} | ||||
| @DeleteMapping("/Add_new_subscription/{id}") | ||||
| 	public  ResponseEntity<?> delete_by_id(@PathVariable Integer id ) { | ||||
| 	Service.delete_by_id(id); | ||||
| 			return new ResponseEntity<>(new EntityResponse("Deleted"), HttpStatus.OK); | ||||
| 	 | ||||
| 	} | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,83 @@ | ||||
| package com.realnet.basicp1.Controllers; | ||||
| import java.util.List; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
|  import org.springframework.web.bind.annotation.*; | ||||
| import org.springframework.web.multipart.MultipartFile; | ||||
| import com.fasterxml.jackson.core.JsonProcessingException; | ||||
| import org.springframework.web.bind.annotation.CrossOrigin; | ||||
| import com.fasterxml.jackson.databind.JsonMappingException; | ||||
| import com.realnet.config.EmailService; | ||||
| import com.realnet.users.entity1.AppUser; | ||||
| import com.realnet.users.service1.AppUserServiceImpl; | ||||
| import com.fasterxml.jackson.databind.ObjectMapper; | ||||
| import org.springframework.data.domain.*; | ||||
| import com.realnet.fnd.response.EntityResponse; | ||||
| import org.springframework.http.*; | ||||
| import org.springframework.beans.factory.annotation.*; | ||||
| import com.realnet.basicp1.Entity.Category; | ||||
| import com.realnet.basicp1.Services.CategoryService ; | ||||
| 
 | ||||
| 
 | ||||
| @RequestMapping(value = "/token/Category") | ||||
|  @CrossOrigin("*")  | ||||
| @RestController | ||||
| public class tokenFree_CategoryController { | ||||
| 	@Autowired | ||||
| 	private CategoryService Service; | ||||
| 
 | ||||
| @Value("${projectPath}") | ||||
| 	private String projectPath; | ||||
|   | ||||
| 
 | ||||
| 
 | ||||
| 	@PostMapping("/Category") | ||||
| 		  public Category Savedata(@RequestBody Category data) { | ||||
| 		Category save = Service.Savedata(data)	; | ||||
| 
 | ||||
| 		System.out.println("data saved..." + save); | ||||
| 
 | ||||
|  return save; | ||||
| 	  } | ||||
| @PutMapping("/Category/{id}") | ||||
| 	public  Category update(@RequestBody Category data,@PathVariable Integer id ) { | ||||
| 		Category update = Service.update(data,id); | ||||
| 		System.out.println("data update..." + update); | ||||
| 		return update; | ||||
| 	}	  | ||||
| //	get all with pagination | ||||
| 	@GetMapping("/Category/getall/page") | ||||
| 	public Page<Category> getall(@RequestParam(value = "page", required = false) Integer page, | ||||
| 			@RequestParam(value = "size", required = false) Integer size) { | ||||
| 		Pageable paging = PageRequest.of(page, size); | ||||
| 		Page<Category> get = Service.getAllWithPagination(paging); | ||||
| 
 | ||||
| 		return get; | ||||
| 
 | ||||
| 	}	 | ||||
| 	@GetMapping("/Category") | ||||
| 	public List<Category> getdetails() { | ||||
| 		 List<Category> get = Service.getdetails();		 | ||||
| 		return get; | ||||
| } | ||||
| // get all without authentication  | ||||
| 
 | ||||
| 	@GetMapping("/token/Category") | ||||
| 	public List<Category> getallwioutsec() { | ||||
| 		 List<Category> get = Service.getdetails();		 | ||||
| 		return get; | ||||
| } | ||||
| @GetMapping("/Category/{id}") | ||||
| 	public  Category  getdetailsbyId(@PathVariable Integer id ) { | ||||
| 		Category  get = Service.getdetailsbyId(id); | ||||
| 		return get; | ||||
| 	} | ||||
| @DeleteMapping("/Category/{id}") | ||||
| 	public  ResponseEntity<?> delete_by_id(@PathVariable Integer id ) { | ||||
| 	Service.delete_by_id(id); | ||||
| 			return new ResponseEntity<>(new EntityResponse("Deleted"), HttpStatus.OK); | ||||
| 	 | ||||
| 	} | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,24 @@ | ||||
| package com.realnet.basicp1.Controllers; | ||||
| import java.util.List; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
|  import org.springframework.web.bind.annotation.*; | ||||
| import com.realnet.basicp1.Entity.Category_ListFilter1; | ||||
| import com.realnet.basicp1.Services.Category_ListFilter1Service ; | ||||
| @RequestMapping(value = "/token/Category_ListFilter1") | ||||
| @RestController | ||||
| public class tokenFree_Category_ListFilter1Controller { | ||||
| 	 | ||||
| 	@Autowired | ||||
| 	private Category_ListFilter1Service Service; | ||||
| 
 | ||||
| 		@GetMapping("/Category_ListFilter1") | ||||
| 	public List<Category_ListFilter1> getlist() { | ||||
| 		 List<Category_ListFilter1> get = Service.getlistbuilder();		 | ||||
| 		return get; | ||||
| } | ||||
| 		@GetMapping("/Category_ListFilter11") | ||||
| 	public List<Category_ListFilter1> getlistwithparam( ) { | ||||
| 		 List<Category_ListFilter1> get = Service.getlistbuilderparam( );		 | ||||
| 		return get; | ||||
| } | ||||
| } | ||||
| @ -0,0 +1,83 @@ | ||||
| package com.realnet.basicp1.Controllers; | ||||
| import java.util.List; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
|  import org.springframework.web.bind.annotation.*; | ||||
| import org.springframework.web.multipart.MultipartFile; | ||||
| import com.fasterxml.jackson.core.JsonProcessingException; | ||||
| import org.springframework.web.bind.annotation.CrossOrigin; | ||||
| import com.fasterxml.jackson.databind.JsonMappingException; | ||||
| import com.realnet.config.EmailService; | ||||
| import com.realnet.users.entity1.AppUser; | ||||
| import com.realnet.users.service1.AppUserServiceImpl; | ||||
| import com.fasterxml.jackson.databind.ObjectMapper; | ||||
| import org.springframework.data.domain.*; | ||||
| import com.realnet.fnd.response.EntityResponse; | ||||
| import org.springframework.http.*; | ||||
| import org.springframework.beans.factory.annotation.*; | ||||
| import com.realnet.basicp1.Entity.Duration_type; | ||||
| import com.realnet.basicp1.Services.Duration_typeService ; | ||||
| 
 | ||||
| 
 | ||||
| @RequestMapping(value = "/token/Duration_type") | ||||
|  @CrossOrigin("*")  | ||||
| @RestController | ||||
| public class tokenFree_Duration_typeController { | ||||
| 	@Autowired | ||||
| 	private Duration_typeService Service; | ||||
| 
 | ||||
| @Value("${projectPath}") | ||||
| 	private String projectPath; | ||||
|   | ||||
| 
 | ||||
| 
 | ||||
| 	@PostMapping("/Duration_type") | ||||
| 		  public Duration_type Savedata(@RequestBody Duration_type data) { | ||||
| 		Duration_type save = Service.Savedata(data)	; | ||||
| 
 | ||||
| 		System.out.println("data saved..." + save); | ||||
| 
 | ||||
|  return save; | ||||
| 	  } | ||||
| @PutMapping("/Duration_type/{id}") | ||||
| 	public  Duration_type update(@RequestBody Duration_type data,@PathVariable Integer id ) { | ||||
| 		Duration_type update = Service.update(data,id); | ||||
| 		System.out.println("data update..." + update); | ||||
| 		return update; | ||||
| 	}	  | ||||
| //	get all with pagination | ||||
| 	@GetMapping("/Duration_type/getall/page") | ||||
| 	public Page<Duration_type> getall(@RequestParam(value = "page", required = false) Integer page, | ||||
| 			@RequestParam(value = "size", required = false) Integer size) { | ||||
| 		Pageable paging = PageRequest.of(page, size); | ||||
| 		Page<Duration_type> get = Service.getAllWithPagination(paging); | ||||
| 
 | ||||
| 		return get; | ||||
| 
 | ||||
| 	}	 | ||||
| 	@GetMapping("/Duration_type") | ||||
| 	public List<Duration_type> getdetails() { | ||||
| 		 List<Duration_type> get = Service.getdetails();		 | ||||
| 		return get; | ||||
| } | ||||
| // get all without authentication  | ||||
| 
 | ||||
| 	@GetMapping("/token/Duration_type") | ||||
| 	public List<Duration_type> getallwioutsec() { | ||||
| 		 List<Duration_type> get = Service.getdetails();		 | ||||
| 		return get; | ||||
| } | ||||
| @GetMapping("/Duration_type/{id}") | ||||
| 	public  Duration_type  getdetailsbyId(@PathVariable Integer id ) { | ||||
| 		Duration_type  get = Service.getdetailsbyId(id); | ||||
| 		return get; | ||||
| 	} | ||||
| @DeleteMapping("/Duration_type/{id}") | ||||
| 	public  ResponseEntity<?> delete_by_id(@PathVariable Integer id ) { | ||||
| 	Service.delete_by_id(id); | ||||
| 			return new ResponseEntity<>(new EntityResponse("Deleted"), HttpStatus.OK); | ||||
| 	 | ||||
| 	} | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,24 @@ | ||||
| package com.realnet.basicp1.Controllers; | ||||
| import java.util.List; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
|  import org.springframework.web.bind.annotation.*; | ||||
| import com.realnet.basicp1.Entity.Duration_type_ListFilter1; | ||||
| import com.realnet.basicp1.Services.Duration_type_ListFilter1Service ; | ||||
| @RequestMapping(value = "/token/Duration_type_ListFilter1") | ||||
| @RestController | ||||
| public class tokenFree_Duration_type_ListFilter1Controller { | ||||
| 	 | ||||
| 	@Autowired | ||||
| 	private Duration_type_ListFilter1Service Service; | ||||
| 
 | ||||
| 		@GetMapping("/Duration_type_ListFilter1") | ||||
| 	public List<Duration_type_ListFilter1> getlist() { | ||||
| 		 List<Duration_type_ListFilter1> get = Service.getlistbuilder();		 | ||||
| 		return get; | ||||
| } | ||||
| 		@GetMapping("/Duration_type_ListFilter11") | ||||
| 	public List<Duration_type_ListFilter1> getlistwithparam( ) { | ||||
| 		 List<Duration_type_ListFilter1> get = Service.getlistbuilderparam( );		 | ||||
| 		return get; | ||||
| } | ||||
| } | ||||
| @ -0,0 +1,83 @@ | ||||
| package com.realnet.basicp1.Controllers; | ||||
| import java.util.List; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
|  import org.springframework.web.bind.annotation.*; | ||||
| import org.springframework.web.multipart.MultipartFile; | ||||
| import com.fasterxml.jackson.core.JsonProcessingException; | ||||
| import org.springframework.web.bind.annotation.CrossOrigin; | ||||
| import com.fasterxml.jackson.databind.JsonMappingException; | ||||
| import com.realnet.config.EmailService; | ||||
| import com.realnet.users.entity1.AppUser; | ||||
| import com.realnet.users.service1.AppUserServiceImpl; | ||||
| import com.fasterxml.jackson.databind.ObjectMapper; | ||||
| import org.springframework.data.domain.*; | ||||
| import com.realnet.fnd.response.EntityResponse; | ||||
| import org.springframework.http.*; | ||||
| import org.springframework.beans.factory.annotation.*; | ||||
| import com.realnet.basicp1.Entity.Subscription_type; | ||||
| import com.realnet.basicp1.Services.Subscription_typeService ; | ||||
| 
 | ||||
| 
 | ||||
| @RequestMapping(value = "/token/Subscription_type") | ||||
|  @CrossOrigin("*")  | ||||
| @RestController | ||||
| public class tokenFree_Subscription_typeController { | ||||
| 	@Autowired | ||||
| 	private Subscription_typeService Service; | ||||
| 
 | ||||
| @Value("${projectPath}") | ||||
| 	private String projectPath; | ||||
|   | ||||
| 
 | ||||
| 
 | ||||
| 	@PostMapping("/Subscription_type") | ||||
| 		  public Subscription_type Savedata(@RequestBody Subscription_type data) { | ||||
| 		Subscription_type save = Service.Savedata(data)	; | ||||
| 
 | ||||
| 		System.out.println("data saved..." + save); | ||||
| 
 | ||||
|  return save; | ||||
| 	  } | ||||
| @PutMapping("/Subscription_type/{id}") | ||||
| 	public  Subscription_type update(@RequestBody Subscription_type data,@PathVariable Integer id ) { | ||||
| 		Subscription_type update = Service.update(data,id); | ||||
| 		System.out.println("data update..." + update); | ||||
| 		return update; | ||||
| 	}	  | ||||
| //	get all with pagination | ||||
| 	@GetMapping("/Subscription_type/getall/page") | ||||
| 	public Page<Subscription_type> getall(@RequestParam(value = "page", required = false) Integer page, | ||||
| 			@RequestParam(value = "size", required = false) Integer size) { | ||||
| 		Pageable paging = PageRequest.of(page, size); | ||||
| 		Page<Subscription_type> get = Service.getAllWithPagination(paging); | ||||
| 
 | ||||
| 		return get; | ||||
| 
 | ||||
| 	}	 | ||||
| 	@GetMapping("/Subscription_type") | ||||
| 	public List<Subscription_type> getdetails() { | ||||
| 		 List<Subscription_type> get = Service.getdetails();		 | ||||
| 		return get; | ||||
| } | ||||
| // get all without authentication  | ||||
| 
 | ||||
| 	@GetMapping("/token/Subscription_type") | ||||
| 	public List<Subscription_type> getallwioutsec() { | ||||
| 		 List<Subscription_type> get = Service.getdetails();		 | ||||
| 		return get; | ||||
| } | ||||
| @GetMapping("/Subscription_type/{id}") | ||||
| 	public  Subscription_type  getdetailsbyId(@PathVariable Integer id ) { | ||||
| 		Subscription_type  get = Service.getdetailsbyId(id); | ||||
| 		return get; | ||||
| 	} | ||||
| @DeleteMapping("/Subscription_type/{id}") | ||||
| 	public  ResponseEntity<?> delete_by_id(@PathVariable Integer id ) { | ||||
| 	Service.delete_by_id(id); | ||||
| 			return new ResponseEntity<>(new EntityResponse("Deleted"), HttpStatus.OK); | ||||
| 	 | ||||
| 	} | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,24 @@ | ||||
| package com.realnet.basicp1.Controllers; | ||||
| import java.util.List; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
|  import org.springframework.web.bind.annotation.*; | ||||
| import com.realnet.basicp1.Entity.Subscription_type_ListFilter1; | ||||
| import com.realnet.basicp1.Services.Subscription_type_ListFilter1Service ; | ||||
| @RequestMapping(value = "/token/Subscription_type_ListFilter1") | ||||
| @RestController | ||||
| public class tokenFree_Subscription_type_ListFilter1Controller { | ||||
| 	 | ||||
| 	@Autowired | ||||
| 	private Subscription_type_ListFilter1Service Service; | ||||
| 
 | ||||
| 		@GetMapping("/Subscription_type_ListFilter1") | ||||
| 	public List<Subscription_type_ListFilter1> getlist() { | ||||
| 		 List<Subscription_type_ListFilter1> get = Service.getlistbuilder();		 | ||||
| 		return get; | ||||
| } | ||||
| 		@GetMapping("/Subscription_type_ListFilter11") | ||||
| 	public List<Subscription_type_ListFilter1> getlistwithparam( ) { | ||||
| 		 List<Subscription_type_ListFilter1> get = Service.getlistbuilderparam( );		 | ||||
| 		return get; | ||||
| } | ||||
| } | ||||
| @ -0,0 +1,60 @@ | ||||
| package com.realnet.basicp1.Entity; | ||||
|  import lombok.*; | ||||
| import com.realnet.WhoColumn.Entity.Extension;  | ||||
|  import javax.persistence.*; | ||||
|  import java.time.LocalDateTime; | ||||
|  import java.util.*; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  @Entity  | ||||
|  @Data | ||||
|  public class    Add_new_subscription extends Extension {  | ||||
|  /** | ||||
| 	 *  | ||||
| 	 */ | ||||
| 	private static final long serialVersionUID = 1L; | ||||
| 
 | ||||
|  @Id | ||||
|  @GeneratedValue(strategy = GenerationType.IDENTITY) | ||||
|  private Integer id; | ||||
| 
 | ||||
| private String  name; | ||||
| 
 | ||||
| private String price; | ||||
| 
 | ||||
| private String renewal_date; | ||||
| 
 | ||||
| private String duration; | ||||
| private String durationname; | ||||
| 
 | ||||
| private String type; | ||||
| private String typename; | ||||
| 
 | ||||
| private String category; | ||||
| private String categoryname; | ||||
| 
 | ||||
| 
 | ||||
|    | ||||
|   | ||||
| private boolean email; | ||||
|     | ||||
| 
 | ||||
| 
 | ||||
| private String email_field; | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,24 @@ | ||||
| package com.realnet.basicp1.Entity; | ||||
|  import lombok.*; | ||||
| import com.realnet.WhoColumn.Entity.Extension;  | ||||
|  import javax.persistence.*; | ||||
|  import java.time.LocalDateTime; | ||||
|  import java.util.*; | ||||
| 
 | ||||
| 
 | ||||
|  @Entity  | ||||
|  @Data | ||||
|  public class    Category extends Extension {  | ||||
|  /** | ||||
| 	 *  | ||||
| 	 */ | ||||
| 	private static final long serialVersionUID = 1L; | ||||
| 
 | ||||
|  @Id | ||||
|  @GeneratedValue(strategy = GenerationType.IDENTITY) | ||||
|  private Integer id; | ||||
| 
 | ||||
| private String  category; | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,14 @@ | ||||
| package com.realnet.basicp1.Entity; | ||||
|  import lombok.*; | ||||
|  import javax.persistence.*; | ||||
|  import java.time.LocalDateTime; | ||||
|  import java.util.*; | ||||
| 
 | ||||
|  @Data | ||||
|  public class    Category_ListFilter1 {  | ||||
| 
 | ||||
|  private Integer id; | ||||
| 
 | ||||
| 
 | ||||
|  private String category; | ||||
| } | ||||
| @ -0,0 +1,24 @@ | ||||
| package com.realnet.basicp1.Entity; | ||||
|  import lombok.*; | ||||
| import com.realnet.WhoColumn.Entity.Extension;  | ||||
|  import javax.persistence.*; | ||||
|  import java.time.LocalDateTime; | ||||
|  import java.util.*; | ||||
| 
 | ||||
| 
 | ||||
|  @Entity  | ||||
|  @Data | ||||
|  public class    Duration_type extends Extension {  | ||||
|  /** | ||||
| 	 *  | ||||
| 	 */ | ||||
| 	private static final long serialVersionUID = 1L; | ||||
| 
 | ||||
|  @Id | ||||
|  @GeneratedValue(strategy = GenerationType.IDENTITY) | ||||
|  private Integer id; | ||||
| 
 | ||||
| private String  duration; | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,14 @@ | ||||
| package com.realnet.basicp1.Entity; | ||||
|  import lombok.*; | ||||
|  import javax.persistence.*; | ||||
|  import java.time.LocalDateTime; | ||||
|  import java.util.*; | ||||
| 
 | ||||
|  @Data | ||||
|  public class    Duration_type_ListFilter1 {  | ||||
| 
 | ||||
|  private Integer id; | ||||
| 
 | ||||
| 
 | ||||
|  private String duration; | ||||
| } | ||||
| @ -0,0 +1,24 @@ | ||||
| package com.realnet.basicp1.Entity; | ||||
|  import lombok.*; | ||||
| import com.realnet.WhoColumn.Entity.Extension;  | ||||
|  import javax.persistence.*; | ||||
|  import java.time.LocalDateTime; | ||||
|  import java.util.*; | ||||
| 
 | ||||
| 
 | ||||
|  @Entity  | ||||
|  @Data | ||||
|  public class    Subscription_type extends Extension {  | ||||
|  /** | ||||
| 	 *  | ||||
| 	 */ | ||||
| 	private static final long serialVersionUID = 1L; | ||||
| 
 | ||||
|  @Id | ||||
|  @GeneratedValue(strategy = GenerationType.IDENTITY) | ||||
|  private Integer id; | ||||
| 
 | ||||
| private String  type; | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,14 @@ | ||||
| package com.realnet.basicp1.Entity; | ||||
|  import lombok.*; | ||||
|  import javax.persistence.*; | ||||
|  import java.time.LocalDateTime; | ||||
|  import java.util.*; | ||||
| 
 | ||||
|  @Data | ||||
|  public class    Subscription_type_ListFilter1 {  | ||||
| 
 | ||||
|  private Integer id; | ||||
| 
 | ||||
| 
 | ||||
|  private String type; | ||||
| } | ||||
| @ -0,0 +1,40 @@ | ||||
| package com.realnet.basicp1.Repository; | ||||
| 
 | ||||
| 
 | ||||
| import org.springframework.data.domain.Page; | ||||
| import org.springframework.data.domain.Pageable; | ||||
| import org.springframework.data.jpa.repository.JpaRepository; | ||||
| import org.springframework.data.jpa.repository.Query; | ||||
| 
 | ||||
| import org.springframework.stereotype.Repository;  | ||||
| import java.util.*; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   | ||||
| 
 | ||||
| import com.realnet.basicp1.Entity.Add_new_subscription; | ||||
| 
 | ||||
| @Repository | ||||
| public interface  Add_new_subscriptionRepository  extends  JpaRepository<Add_new_subscription, Integer>  {  | ||||
| 
 | ||||
| @Query(value = "select * from add_new_subscription where  created_by=?1", nativeQuery = true) | ||||
| 	List<Add_new_subscription> findAll(Long creayedBy); | ||||
| 
 | ||||
| @Query(value = "select * from add_new_subscription where  created_by=?1", nativeQuery = true) | ||||
| 	Page<Add_new_subscription> findAll(Pageable page, Long creayedBy); | ||||
| } | ||||
| @ -0,0 +1,26 @@ | ||||
| package com.realnet.basicp1.Repository; | ||||
| 
 | ||||
| 
 | ||||
| import org.springframework.data.domain.Page; | ||||
| import org.springframework.data.domain.Pageable; | ||||
| import org.springframework.data.jpa.repository.JpaRepository; | ||||
| import org.springframework.data.jpa.repository.Query; | ||||
| 
 | ||||
| import org.springframework.stereotype.Repository;  | ||||
| import java.util.*; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   | ||||
| 
 | ||||
| import com.realnet.basicp1.Entity.Category; | ||||
| 
 | ||||
| @Repository | ||||
| public interface  CategoryRepository  extends  JpaRepository<Category, Integer>  {  | ||||
| 
 | ||||
| @Query(value = "select * from category where  created_by=?1", nativeQuery = true) | ||||
| 	List<Category> findAll(Long creayedBy); | ||||
| 
 | ||||
| @Query(value = "select * from category where  created_by=?1", nativeQuery = true) | ||||
| 	Page<Category> findAll(Pageable page, Long creayedBy); | ||||
| } | ||||
| @ -0,0 +1,26 @@ | ||||
| package com.realnet.basicp1.Repository; | ||||
| 
 | ||||
| 
 | ||||
| import org.springframework.data.domain.Page; | ||||
| import org.springframework.data.domain.Pageable; | ||||
| import org.springframework.data.jpa.repository.JpaRepository; | ||||
| import org.springframework.data.jpa.repository.Query; | ||||
| 
 | ||||
| import org.springframework.stereotype.Repository;  | ||||
| import java.util.*; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   | ||||
| 
 | ||||
| import com.realnet.basicp1.Entity.Duration_type; | ||||
| 
 | ||||
| @Repository | ||||
| public interface  Duration_typeRepository  extends  JpaRepository<Duration_type, Integer>  {  | ||||
| 
 | ||||
| @Query(value = "select * from duration_type where  created_by=?1", nativeQuery = true) | ||||
| 	List<Duration_type> findAll(Long creayedBy); | ||||
| 
 | ||||
| @Query(value = "select * from duration_type where  created_by=?1", nativeQuery = true) | ||||
| 	Page<Duration_type> findAll(Pageable page, Long creayedBy); | ||||
| } | ||||
| @ -0,0 +1,26 @@ | ||||
| package com.realnet.basicp1.Repository; | ||||
| 
 | ||||
| 
 | ||||
| import org.springframework.data.domain.Page; | ||||
| import org.springframework.data.domain.Pageable; | ||||
| import org.springframework.data.jpa.repository.JpaRepository; | ||||
| import org.springframework.data.jpa.repository.Query; | ||||
| 
 | ||||
| import org.springframework.stereotype.Repository;  | ||||
| import java.util.*; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   | ||||
| 
 | ||||
| import com.realnet.basicp1.Entity.Subscription_type; | ||||
| 
 | ||||
| @Repository | ||||
| public interface  Subscription_typeRepository  extends  JpaRepository<Subscription_type, Integer>  {  | ||||
| 
 | ||||
| @Query(value = "select * from subscription_type where  created_by=?1", nativeQuery = true) | ||||
| 	List<Subscription_type> findAll(Long creayedBy); | ||||
| 
 | ||||
| @Query(value = "select * from subscription_type where  created_by=?1", nativeQuery = true) | ||||
| 	Page<Subscription_type> findAll(Pageable page, Long creayedBy); | ||||
| } | ||||
| @ -0,0 +1,215 @@ | ||||
| package com.realnet.basicp1.Services; | ||||
| import com.realnet.basicp1.Repository.Add_new_subscriptionRepository; | ||||
| import com.realnet.basicp1.Entity.Add_new_subscription | ||||
| ;import java.util.*; | ||||
| 
 | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import com.realnet.SequenceGenerator.Service.SequenceService; | ||||
| import org.springframework.data.domain.Page; | ||||
| import com.realnet.realm.Entity.Realm; | ||||
| import com.realnet.realm.Services.RealmService; | ||||
| import org.springframework.data.domain.Pageable; | ||||
| import org.springframework.http.*; | ||||
| import com.realnet.users.service1.AppUserServiceImpl; | ||||
| import com.realnet.users.entity1.AppUser; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| import com.realnet.basicp1.Entity.Duration_type; | ||||
| import com.realnet.basicp1.Services.Duration_typeService; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| import com.realnet.basicp1.Entity.Subscription_type; | ||||
| import com.realnet.basicp1.Services.Subscription_typeService; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| import com.realnet.basicp1.Entity.Duration_type; | ||||
| import com.realnet.basicp1.Services.Duration_typeService; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 	import org.springframework.stereotype.Service; | ||||
| 
 | ||||
| @Service | ||||
|  public class Add_new_subscriptionService { | ||||
| @Autowired | ||||
| private Add_new_subscriptionRepository Repository; | ||||
| 	@Autowired | ||||
| 	private AppUserServiceImpl userService;  | ||||
| @Autowired | ||||
| 	private RealmService realmService; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| @Autowired | ||||
| 	private Duration_typeService durationserv; | ||||
| 
 | ||||
| @Autowired | ||||
| 	private Subscription_typeService typeserv; | ||||
| 
 | ||||
| @Autowired | ||||
| 	private Duration_typeService categoryserv; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| public Add_new_subscription Savedata(Add_new_subscription data) { | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   | ||||
| if (data.getDuration() != null) { | ||||
| 		try {	 | ||||
|   int durationId = Integer.valueOf(data.getDuration()); | ||||
| Duration_type get =  durationserv.getdetailsbyId(durationId); | ||||
| 			if (get != null) { | ||||
| 
 | ||||
| 			data.setDurationname(get.getDuration()); | ||||
| } | ||||
| } catch (NumberFormatException e) { | ||||
| 				System.out.println(" durationId is not integer.."); | ||||
| 				// Invalid integer string — ignore or log | ||||
| 			} | ||||
| 
 | ||||
| 		} | ||||
| 
 | ||||
|   | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   | ||||
| if (data.getType() != null) { | ||||
| 		try {	 | ||||
|   int typeId = Integer.valueOf(data.getType()); | ||||
| Subscription_type get =  typeserv.getdetailsbyId(typeId); | ||||
| 			if (get != null) { | ||||
| 
 | ||||
| 			data.setTypename(get.getType()); | ||||
| } | ||||
| } catch (NumberFormatException e) { | ||||
| 				System.out.println(" typeId is not integer.."); | ||||
| 				// Invalid integer string — ignore or log | ||||
| 			} | ||||
| 
 | ||||
| 		} | ||||
| 
 | ||||
|   | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   | ||||
| if (data.getCategory() != null) { | ||||
| 		try {	 | ||||
|   int categoryId = Integer.valueOf(data.getCategory()); | ||||
| Duration_type get =  categoryserv.getdetailsbyId(categoryId); | ||||
| 			if (get != null) { | ||||
| 
 | ||||
| 			data.setCategoryname(get.getDuration()); | ||||
| } | ||||
| } catch (NumberFormatException e) { | ||||
| 				System.out.println(" categoryId is not integer.."); | ||||
| 				// Invalid integer string — ignore or log | ||||
| 			} | ||||
| 
 | ||||
| 		} | ||||
| 
 | ||||
|   | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 	data.setUpdatedBy(getUser().getUserId()); | ||||
| 		data.setCreatedBy(getUser().getUserId()); | ||||
| 		data.setAccountId(getUser().getAccount().getAccount_id()); | ||||
| Add_new_subscription save = Repository.save(data); | ||||
| 				return save;	 | ||||
| 			} | ||||
| 
 | ||||
| 
 | ||||
| //	get all with pagination | ||||
| 	public Page<Add_new_subscription> getAllWithPagination(Pageable page) { | ||||
| 		return Repository.findAll(page, getUser().getUserId()); | ||||
| 	}			 | ||||
| public List<Add_new_subscription> getdetails() {   | ||||
| 		List<Realm> realm = realmService.findByUserId(getUser().getUserId()); | ||||
| List<Add_new_subscription> all = Repository.findAll(getUser().getUserId()); | ||||
| 		 | ||||
| 		return all ;		} | ||||
| 
 | ||||
| 
 | ||||
| public Add_new_subscription getdetailsbyId(Integer id) { | ||||
| 	return Repository.findById(id).get(); | ||||
| 			} | ||||
| 
 | ||||
| 
 | ||||
| 	public void delete_by_id(Integer id) { | ||||
|  Repository.deleteById(id); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| public Add_new_subscription update(Add_new_subscription data,Integer id) { | ||||
| 	Add_new_subscription old = Repository.findById(id).get(); | ||||
| old.setName(data.getName()); | ||||
| 
 | ||||
| old.setPrice(data.getPrice()); | ||||
| 
 | ||||
| old.setRenewal_date(data.getRenewal_date()); | ||||
| 
 | ||||
| old.setDuration(data.getDuration()); | ||||
| 
 | ||||
| old.setType(data.getType()); | ||||
| 
 | ||||
| old.setCategory(data.getCategory()); | ||||
| 
 | ||||
|    | ||||
|   | ||||
| old.setEmail(data.isEmail()); | ||||
|     | ||||
| 
 | ||||
| 
 | ||||
|    | ||||
| 
 | ||||
| old.setEmail_field(data.getEmail_field()); | ||||
| 
 | ||||
| final Add_new_subscription test = Repository.save(old); | ||||
| 		data.setUpdatedBy(getUser().getUserId()); | ||||
|   return test;}  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  public AppUser getUser() { | ||||
| 		AppUser user = userService.getLoggedInUser(); | ||||
| 		return user; | ||||
| 
 | ||||
| 	}} | ||||
| @ -0,0 +1,73 @@ | ||||
| package com.realnet.basicp1.Services; | ||||
| import com.realnet.basicp1.Repository.CategoryRepository; | ||||
| import com.realnet.basicp1.Entity.Category | ||||
| ;import java.util.*; | ||||
| 
 | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import com.realnet.SequenceGenerator.Service.SequenceService; | ||||
| import org.springframework.data.domain.Page; | ||||
| import com.realnet.realm.Entity.Realm; | ||||
| import com.realnet.realm.Services.RealmService; | ||||
| import org.springframework.data.domain.Pageable; | ||||
| import org.springframework.http.*; | ||||
| import com.realnet.users.service1.AppUserServiceImpl; | ||||
| import com.realnet.users.entity1.AppUser; | ||||
| 
 | ||||
| 
 | ||||
| 	import org.springframework.stereotype.Service; | ||||
| 
 | ||||
| @Service | ||||
|  public class CategoryService { | ||||
| @Autowired | ||||
| private CategoryRepository Repository; | ||||
| 	@Autowired | ||||
| 	private AppUserServiceImpl userService;  | ||||
| @Autowired | ||||
| 	private RealmService realmService; | ||||
| 
 | ||||
| public Category Savedata(Category data) { | ||||
| 
 | ||||
| 
 | ||||
| 	data.setUpdatedBy(getUser().getUserId()); | ||||
| 		data.setCreatedBy(getUser().getUserId()); | ||||
| 		data.setAccountId(getUser().getAccount().getAccount_id()); | ||||
| Category save = Repository.save(data); | ||||
| 				return save;	 | ||||
| 			} | ||||
| 
 | ||||
| 
 | ||||
| //	get all with pagination | ||||
| 	public Page<Category> getAllWithPagination(Pageable page) { | ||||
| 		return Repository.findAll(page, getUser().getUserId()); | ||||
| 	}			 | ||||
| public List<Category> getdetails() {   | ||||
| 		List<Realm> realm = realmService.findByUserId(getUser().getUserId()); | ||||
| List<Category> all = Repository.findAll(getUser().getUserId()); | ||||
| 		 | ||||
| 		return all ;		} | ||||
| 
 | ||||
| 
 | ||||
| public Category getdetailsbyId(Integer id) { | ||||
| 	return Repository.findById(id).get(); | ||||
| 			} | ||||
| 
 | ||||
| 
 | ||||
| 	public void delete_by_id(Integer id) { | ||||
|  Repository.deleteById(id); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| public Category update(Category data,Integer id) { | ||||
| 	Category old = Repository.findById(id).get(); | ||||
| old.setCategory(data.getCategory()); | ||||
| 
 | ||||
| final Category test = Repository.save(old); | ||||
| 		data.setUpdatedBy(getUser().getUserId()); | ||||
|   return test;}  | ||||
| 
 | ||||
| 
 | ||||
|  public AppUser getUser() { | ||||
| 		AppUser user = userService.getLoggedInUser(); | ||||
| 		return user; | ||||
| 
 | ||||
| 	}} | ||||
| @ -0,0 +1,47 @@ | ||||
| package com.realnet.basicp1.Services; | ||||
| import java.util.*; | ||||
| import com.realnet.basicp1.Repository.CategoryRepository; | ||||
| import com.realnet.basicp1.Entity.Category; | ||||
| 
 | ||||
| import com.realnet.basicp1.Entity.Category_ListFilter1; | ||||
| import java.util.List; | ||||
| 
 | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| 	import org.springframework.stereotype.Service; | ||||
| 
 | ||||
| @Service | ||||
|  public class Category_ListFilter1Service { | ||||
| @Autowired | ||||
| private CategoryRepository Repository; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  public   List<Category_ListFilter1>   getlistbuilder() { | ||||
| 	List<Category> list= Repository.findAll(); | ||||
| 		ArrayList<Category_ListFilter1> l = new ArrayList<>(); | ||||
| 		for (Category data : list) { | ||||
| {	 | ||||
| Category_ListFilter1 dummy = new Category_ListFilter1(); | ||||
| 			dummy.setId(data.getId()); | ||||
|   dummy.setCategory(data.getCategory()); | ||||
| 	l.add(dummy); | ||||
| }  | ||||
| } 		 | ||||
| return l;} | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  public   List<Category_ListFilter1>   getlistbuilderparam( ) { | ||||
| 	List<Category> list= Repository.findAll(); | ||||
| 		ArrayList<Category_ListFilter1> l = new ArrayList<>(); | ||||
| 		for (Category data : list) { | ||||
| {	 | ||||
| Category_ListFilter1 dummy = new Category_ListFilter1(); | ||||
| 			dummy.setId(data.getId()); | ||||
|   dummy.setCategory(data.getCategory()); | ||||
| 	l.add(dummy); | ||||
| }  | ||||
| } 		 | ||||
| return l;} | ||||
| } | ||||
| @ -0,0 +1,73 @@ | ||||
| package com.realnet.basicp1.Services; | ||||
| import com.realnet.basicp1.Repository.Duration_typeRepository; | ||||
| import com.realnet.basicp1.Entity.Duration_type | ||||
| ;import java.util.*; | ||||
| 
 | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import com.realnet.SequenceGenerator.Service.SequenceService; | ||||
| import org.springframework.data.domain.Page; | ||||
| import com.realnet.realm.Entity.Realm; | ||||
| import com.realnet.realm.Services.RealmService; | ||||
| import org.springframework.data.domain.Pageable; | ||||
| import org.springframework.http.*; | ||||
| import com.realnet.users.service1.AppUserServiceImpl; | ||||
| import com.realnet.users.entity1.AppUser; | ||||
| 
 | ||||
| 
 | ||||
| 	import org.springframework.stereotype.Service; | ||||
| 
 | ||||
| @Service | ||||
|  public class Duration_typeService { | ||||
| @Autowired | ||||
| private Duration_typeRepository Repository; | ||||
| 	@Autowired | ||||
| 	private AppUserServiceImpl userService;  | ||||
| @Autowired | ||||
| 	private RealmService realmService; | ||||
| 
 | ||||
| public Duration_type Savedata(Duration_type data) { | ||||
| 
 | ||||
| 
 | ||||
| 	data.setUpdatedBy(getUser().getUserId()); | ||||
| 		data.setCreatedBy(getUser().getUserId()); | ||||
| 		data.setAccountId(getUser().getAccount().getAccount_id()); | ||||
| Duration_type save = Repository.save(data); | ||||
| 				return save;	 | ||||
| 			} | ||||
| 
 | ||||
| 
 | ||||
| //	get all with pagination | ||||
| 	public Page<Duration_type> getAllWithPagination(Pageable page) { | ||||
| 		return Repository.findAll(page, getUser().getUserId()); | ||||
| 	}			 | ||||
| public List<Duration_type> getdetails() {   | ||||
| 		List<Realm> realm = realmService.findByUserId(getUser().getUserId()); | ||||
| List<Duration_type> all = Repository.findAll(getUser().getUserId()); | ||||
| 		 | ||||
| 		return all ;		} | ||||
| 
 | ||||
| 
 | ||||
| public Duration_type getdetailsbyId(Integer id) { | ||||
| 	return Repository.findById(id).get(); | ||||
| 			} | ||||
| 
 | ||||
| 
 | ||||
| 	public void delete_by_id(Integer id) { | ||||
|  Repository.deleteById(id); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| public Duration_type update(Duration_type data,Integer id) { | ||||
| 	Duration_type old = Repository.findById(id).get(); | ||||
| old.setDuration(data.getDuration()); | ||||
| 
 | ||||
| final Duration_type test = Repository.save(old); | ||||
| 		data.setUpdatedBy(getUser().getUserId()); | ||||
|   return test;}  | ||||
| 
 | ||||
| 
 | ||||
|  public AppUser getUser() { | ||||
| 		AppUser user = userService.getLoggedInUser(); | ||||
| 		return user; | ||||
| 
 | ||||
| 	}} | ||||
| @ -0,0 +1,47 @@ | ||||
| package com.realnet.basicp1.Services; | ||||
| import java.util.*; | ||||
| import com.realnet.basicp1.Repository.Duration_typeRepository; | ||||
| import com.realnet.basicp1.Entity.Duration_type; | ||||
| 
 | ||||
| import com.realnet.basicp1.Entity.Duration_type_ListFilter1; | ||||
| import java.util.List; | ||||
| 
 | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| 	import org.springframework.stereotype.Service; | ||||
| 
 | ||||
| @Service | ||||
|  public class Duration_type_ListFilter1Service { | ||||
| @Autowired | ||||
| private Duration_typeRepository Repository; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  public   List<Duration_type_ListFilter1>   getlistbuilder() { | ||||
| 	List<Duration_type> list= Repository.findAll(); | ||||
| 		ArrayList<Duration_type_ListFilter1> l = new ArrayList<>(); | ||||
| 		for (Duration_type data : list) { | ||||
| {	 | ||||
| Duration_type_ListFilter1 dummy = new Duration_type_ListFilter1(); | ||||
| 			dummy.setId(data.getId()); | ||||
|   dummy.setDuration(data.getDuration()); | ||||
| 	l.add(dummy); | ||||
| }  | ||||
| } 		 | ||||
| return l;} | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  public   List<Duration_type_ListFilter1>   getlistbuilderparam( ) { | ||||
| 	List<Duration_type> list= Repository.findAll(); | ||||
| 		ArrayList<Duration_type_ListFilter1> l = new ArrayList<>(); | ||||
| 		for (Duration_type data : list) { | ||||
| {	 | ||||
| Duration_type_ListFilter1 dummy = new Duration_type_ListFilter1(); | ||||
| 			dummy.setId(data.getId()); | ||||
|   dummy.setDuration(data.getDuration()); | ||||
| 	l.add(dummy); | ||||
| }  | ||||
| } 		 | ||||
| return l;} | ||||
| } | ||||
| @ -0,0 +1,73 @@ | ||||
| package com.realnet.basicp1.Services; | ||||
| import com.realnet.basicp1.Repository.Subscription_typeRepository; | ||||
| import com.realnet.basicp1.Entity.Subscription_type | ||||
| ;import java.util.*; | ||||
| 
 | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import com.realnet.SequenceGenerator.Service.SequenceService; | ||||
| import org.springframework.data.domain.Page; | ||||
| import com.realnet.realm.Entity.Realm; | ||||
| import com.realnet.realm.Services.RealmService; | ||||
| import org.springframework.data.domain.Pageable; | ||||
| import org.springframework.http.*; | ||||
| import com.realnet.users.service1.AppUserServiceImpl; | ||||
| import com.realnet.users.entity1.AppUser; | ||||
| 
 | ||||
| 
 | ||||
| 	import org.springframework.stereotype.Service; | ||||
| 
 | ||||
| @Service | ||||
|  public class Subscription_typeService { | ||||
| @Autowired | ||||
| private Subscription_typeRepository Repository; | ||||
| 	@Autowired | ||||
| 	private AppUserServiceImpl userService;  | ||||
| @Autowired | ||||
| 	private RealmService realmService; | ||||
| 
 | ||||
| public Subscription_type Savedata(Subscription_type data) { | ||||
| 
 | ||||
| 
 | ||||
| 	data.setUpdatedBy(getUser().getUserId()); | ||||
| 		data.setCreatedBy(getUser().getUserId()); | ||||
| 		data.setAccountId(getUser().getAccount().getAccount_id()); | ||||
| Subscription_type save = Repository.save(data); | ||||
| 				return save;	 | ||||
| 			} | ||||
| 
 | ||||
| 
 | ||||
| //	get all with pagination | ||||
| 	public Page<Subscription_type> getAllWithPagination(Pageable page) { | ||||
| 		return Repository.findAll(page, getUser().getUserId()); | ||||
| 	}			 | ||||
| public List<Subscription_type> getdetails() {   | ||||
| 		List<Realm> realm = realmService.findByUserId(getUser().getUserId()); | ||||
| List<Subscription_type> all = Repository.findAll(getUser().getUserId()); | ||||
| 		 | ||||
| 		return all ;		} | ||||
| 
 | ||||
| 
 | ||||
| public Subscription_type getdetailsbyId(Integer id) { | ||||
| 	return Repository.findById(id).get(); | ||||
| 			} | ||||
| 
 | ||||
| 
 | ||||
| 	public void delete_by_id(Integer id) { | ||||
|  Repository.deleteById(id); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| public Subscription_type update(Subscription_type data,Integer id) { | ||||
| 	Subscription_type old = Repository.findById(id).get(); | ||||
| old.setType(data.getType()); | ||||
| 
 | ||||
| final Subscription_type test = Repository.save(old); | ||||
| 		data.setUpdatedBy(getUser().getUserId()); | ||||
|   return test;}  | ||||
| 
 | ||||
| 
 | ||||
|  public AppUser getUser() { | ||||
| 		AppUser user = userService.getLoggedInUser(); | ||||
| 		return user; | ||||
| 
 | ||||
| 	}} | ||||
| @ -0,0 +1,47 @@ | ||||
| package com.realnet.basicp1.Services; | ||||
| import java.util.*; | ||||
| import com.realnet.basicp1.Repository.Subscription_typeRepository; | ||||
| import com.realnet.basicp1.Entity.Subscription_type; | ||||
| 
 | ||||
| import com.realnet.basicp1.Entity.Subscription_type_ListFilter1; | ||||
| import java.util.List; | ||||
| 
 | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| 	import org.springframework.stereotype.Service; | ||||
| 
 | ||||
| @Service | ||||
|  public class Subscription_type_ListFilter1Service { | ||||
| @Autowired | ||||
| private Subscription_typeRepository Repository; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  public   List<Subscription_type_ListFilter1>   getlistbuilder() { | ||||
| 	List<Subscription_type> list= Repository.findAll(); | ||||
| 		ArrayList<Subscription_type_ListFilter1> l = new ArrayList<>(); | ||||
| 		for (Subscription_type data : list) { | ||||
| {	 | ||||
| Subscription_type_ListFilter1 dummy = new Subscription_type_ListFilter1(); | ||||
| 			dummy.setId(data.getId()); | ||||
|   dummy.setType(data.getType()); | ||||
| 	l.add(dummy); | ||||
| }  | ||||
| } 		 | ||||
| return l;} | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  public   List<Subscription_type_ListFilter1>   getlistbuilderparam( ) { | ||||
| 	List<Subscription_type> list= Repository.findAll(); | ||||
| 		ArrayList<Subscription_type_ListFilter1> l = new ArrayList<>(); | ||||
| 		for (Subscription_type data : list) { | ||||
| {	 | ||||
| Subscription_type_ListFilter1 dummy = new Subscription_type_ListFilter1(); | ||||
| 			dummy.setId(data.getId()); | ||||
|   dummy.setType(data.getType()); | ||||
| 	l.add(dummy); | ||||
| }  | ||||
| } 		 | ||||
| return l;} | ||||
| } | ||||
| @ -0,0 +1,8 @@ | ||||
| CREATE TABLE dbdsm.Subscription_type(id BIGINT NOT NULL AUTO_INCREMENT, type VARCHAR(400),  PRIMARY KEY (id)); | ||||
| 
 | ||||
| CREATE TABLE dbdsm.Duration_type(id BIGINT NOT NULL AUTO_INCREMENT, duration VARCHAR(400),  PRIMARY KEY (id)); | ||||
| 
 | ||||
| CREATE TABLE dbdsm.Category(id BIGINT NOT NULL AUTO_INCREMENT, category VARCHAR(400),  PRIMARY KEY (id)); | ||||
| 
 | ||||
| CREATE TABLE dbdsm.Add_new_subscription(id BIGINT NOT NULL AUTO_INCREMENT, type int, category int, email bit(1), price VARCHAR(400), duration int, renewal_date Date, email_field VARCHAR(400), name VARCHAR(400),  PRIMARY KEY (id)); | ||||
| 
 | ||||
| @ -2,14 +2,14 @@ | ||||
| 
 | ||||
| export const LoginEnvironment = { | ||||
| 
 | ||||
|         "templateNo": "<templateNo>", | ||||
|         "loginHeading": "<loginHeading>", | ||||
|         "loginHeading2": "<loginHeading2>", | ||||
|         "isSignup": "<isSignup>", | ||||
|         "loginSignup": "<loginSignup> ", | ||||
|         "loginSignup2": "<loginSignup2>", | ||||
|         "loginForgotpass": "<loginForgotpass>", | ||||
|         "loginImage": "<loginImage>", | ||||
|         "loginImageURL": "<loginImageURL>" | ||||
|         "templateNo": "Template 1", | ||||
|         "loginHeading": "Welcome to", | ||||
|         "loginHeading2": "io8.dev", | ||||
|         "isSignup": "true", | ||||
|         "loginSignup": "Use your ID to sign in OR  ", | ||||
|         "loginSignup2": "create one now", | ||||
|         "loginForgotpass": "FORGOT PASSWORD?", | ||||
|         "loginImage": "[]", | ||||
|         "loginImageURL": "null" | ||||
|      | ||||
| } | ||||
|  | ||||
| @ -0,0 +1,596 @@ | ||||
| <ol class="breadcrumb breadcrumb-arrow font-trirong"> | ||||
|   <li><a href="javascript://"> Add New Subscription</a></li> | ||||
| </ol> | ||||
| <div class="dg-wrapper"> | ||||
|   <div class="clr-row"> | ||||
|     <div class="clr-col-8"> | ||||
|       <h3>Add New Subscription </h3> | ||||
|     </div> | ||||
|     <div class="clr-col-4" style="text-align: right;"> | ||||
|  <button *ngIf="cardButton" id="add" class="btn btn-primary btn-icon" (click)="changeView()" > | ||||
|         <clr-icon *ngIf="!isCardview" shape="grid-view"></clr-icon>    <clr-icon *ngIf="isCardview" shape="bars"></clr-icon> | ||||
|       </button> | ||||
|         <!-- button --> | ||||
|      <button id="add" class="btn btn-primary" (click)="goToAdd(product)" > | ||||
|         <clr-icon shape="plus"></clr-icon>ADD | ||||
|       </button> | ||||
|     </div></div> | ||||
|   <ng-container *ngIf="!isCardview">   <!-- GET ALL -->     <clr-datagrid [clrDgLoading]="loading" [(clrDgSelected)]="selected"> | ||||
|     <clr-dg-placeholder> | ||||
|         <ng-template #loadingSpinner> | ||||
|             <clr-spinner>Loading ... </clr-spinner> | ||||
|         </ng-template> | ||||
|         <div *ngIf="error;else loadingSpinner">{{error}}</div> | ||||
|     </clr-dg-placeholder> | ||||
| 
 | ||||
| <clr-dg-column [clrDgField]="'name'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Name | ||||
| 						    </ng-container></clr-dg-column> | ||||
| 
 | ||||
| 
 | ||||
| <clr-dg-column [clrDgField]="'price'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Price | ||||
| 						    </ng-container></clr-dg-column> | ||||
| 
 | ||||
| 
 | ||||
| <clr-dg-column [clrDgField]="'renewal_date'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Renewal Date | ||||
| 						    </ng-container></clr-dg-column> | ||||
| 
 | ||||
| 
 | ||||
| <clr-dg-column [clrDgField]="'duration'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Duration | ||||
| 						    </ng-container></clr-dg-column> | ||||
| 
 | ||||
| 
 | ||||
| <clr-dg-column [clrDgField]="'type'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Type | ||||
| 						    </ng-container></clr-dg-column> | ||||
| 
 | ||||
| 
 | ||||
| <clr-dg-column [clrDgField]="'category'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Category | ||||
| 						    </ng-container></clr-dg-column> | ||||
| 
 | ||||
|   | ||||
|   | ||||
|   | ||||
| <clr-dg-column [clrDgField]="' email'"> <ng-container *clrDgHideableColumn="{hidden: false}"> email | ||||
| 						    </ng-container></clr-dg-column> | ||||
|     | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <clr-dg-column [clrDgField]="'email_field'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Email Field | ||||
| 						    </ng-container></clr-dg-column> | ||||
| 
 | ||||
|   | ||||
|  <!-- who column --> | ||||
|       <clr-dg-column> <ng-container *clrDgHideableColumn="{hidden: false}"> | ||||
|         <clr-icon shape="bars"></clr-icon> Action | ||||
|       </ng-container></clr-dg-column> | ||||
|       <!-- end -->  | ||||
| 
 | ||||
|  <clr-dg-row *clrDgItems="let user of product" [clrDgItem]="user"> | ||||
| 
 | ||||
| <clr-dg-cell>{{user.name }}</clr-dg-cell> | ||||
| 
 | ||||
| 
 | ||||
| <clr-dg-cell>{{user.price }}</clr-dg-cell> | ||||
| 
 | ||||
| 
 | ||||
| <clr-dg-cell>{{user.renewal_date }}</clr-dg-cell> | ||||
| 
 | ||||
| 
 | ||||
| <clr-dg-cell>{{user. durationname }}</clr-dg-cell> | ||||
| 
 | ||||
| 
 | ||||
| <clr-dg-cell>{{user. typename }}</clr-dg-cell> | ||||
| 
 | ||||
| 
 | ||||
| <clr-dg-cell>{{user. categoryname }}</clr-dg-cell> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   | ||||
| <clr-dg-cell>{{user.email}}</clr-dg-cell> | ||||
|     | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <clr-dg-cell>{{user.email_field }}</clr-dg-cell> | ||||
| 
 | ||||
|   | ||||
|   <!-- who column --> | ||||
| <clr-dg-cell> | ||||
|   <clr-signpost> | ||||
|    <span style="cursor: pointer;" clrSignpostTrigger><clr-icon shape="help" class="success" style="color: rgb(0, 130, 236);"></clr-icon></span> | ||||
|    <clr-signpost-content [clrPosition]="'left-middle'" *clrIfOpen> | ||||
|      <h5 style="margin-top: 0">Who Column</h5> | ||||
|            <div>Account ID: <code class="clr-code">{{user.accountId}}</code></div> | ||||
|            <div>Created At: <code class="clr-code">{{user.createdAt| date}}</code></div> | ||||
|            <div>Created By: <code class="clr-code">{{user.createdBy}}</code></div> | ||||
|            <div>Updated At: <code class="clr-code">{{user.updatedAt | date}}</code></div> | ||||
|            <div>Updated By: <code class="clr-code">{{user.updatedBy}}</code></div> | ||||
|    </clr-signpost-content> | ||||
|  </clr-signpost> | ||||
|  </clr-dg-cell> | ||||
|   | ||||
|  <!-- who colmn -->  | ||||
|   | ||||
|  <clr-dg-action-overflow> | ||||
|         <button class="action-item" (click)="onEdit(user)">Edit</button> | ||||
|         <button class="action-item" (click)="onDelete(user)">Delete</button> | ||||
|       </clr-dg-action-overflow> | ||||
|          </clr-dg-row> | ||||
|     <clr-dg-footer> | ||||
|       <clr-dg-pagination #pagination [clrDgPageSize]="10"> | ||||
|         <clr-dg-page-size [clrPageSizeOptions]="[10,20,50,100]">Users per page</clr-dg-page-size> | ||||
|         {{pagination.firstItem + 1}} - {{pagination.lastItem + 1}} | ||||
|         of {{pagination.totalItems}} users | ||||
|       </clr-dg-pagination> | ||||
|     </clr-dg-footer> | ||||
|   </clr-datagrid> </ng-container> | ||||
| <ng-template #showInfo> | ||||
|   <div class="alert alert-info" role="alert"> | ||||
|       <div class="alert-items"> | ||||
|           <div class="alert-item static"> | ||||
|               <span class="alert-text"> | ||||
|                 <clr-icon class="alert-icon" shape="info-circle"></clr-icon> | ||||
|                     Data could be found. Loading.. | ||||
|                   <clr-spinner [clrMedium]="true">Loading ...</clr-spinner> | ||||
|               </span> | ||||
|           </div> | ||||
|       </div> | ||||
|   </div> | ||||
| </ng-template><ng-container *ngIf="isCardview"> | ||||
|   <div *ngIf="product; else showInfo" class="clr-row clr-align-items-start clr-justify-content-start"> | ||||
|     <div *ngFor="let app of product| filter:search; let index = i" class="clr-col-auto" > | ||||
|       <div class="clr-row"> | ||||
|         <div class="clr-col-lg-12 clr-col-md-4 clr-col-sm-4 clr-col-12" style="width: 410px;"> | ||||
|   <div class="card" style="padding: 10px; "[style.background-color]="cardmodal.cardColor !== '' ? cardmodal.cardColor : 'white'"> | ||||
|     <div class="card-body" style="display: grid; grid-template-columns: repeat(13, 1fr); grid-template-rows: repeat(7, 1fr); gap: 5px;"> | ||||
|       <ng-container *ngFor="let item of dashboardArray"> | ||||
|         <div [style.gridColumn]="item.x + 1" [style.gridRow]="item.y + 1" [style.gridColumnEnd]="item.x + item.cols + 1" | ||||
|           [style.gridRowEnd]="item.y + item.rows + 1"> | ||||
|           <div *ngIf="item.name === 'textField'" class="title-card card-title" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"     	 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||
|           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor"> | ||||
|            {{beforeText(item.fieldtext)}} | ||||
|           {{ app[transform(item.fieldtext) ] }} | ||||
|           {{afterText(item.fieldtext)}} | ||||
|           </div> | ||||
| 
 | ||||
|           <div *ngIf="item.name === 'dateField'" class="title-card card-title" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"			 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||
|           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor"> | ||||
|           {{beforeText(item.fieldtext)}} | ||||
|           {{ app[transform(item.fieldtext) ] | date}} | ||||
|           {{afterText(item.fieldtext)}} | ||||
|           </div> | ||||
|           <div *ngIf="item.name === 'numberField'" class="title-card card-title" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"			 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||
|           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor"> | ||||
|           {{beforeText(item.fieldtext)}} | ||||
|           {{ app[transform(item.fieldtext) ]}} | ||||
|           {{afterText(item.fieldtext)}} | ||||
|           </div> | ||||
| 
 | ||||
|           <div *ngIf="item.name === 'Line'" class="title-card card-title" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"> | ||||
|           <hr> | ||||
|           </div> | ||||
| 
 | ||||
|            | ||||
|           <div *ngIf="item.name === 'Icon'" class="icon-card" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'" | ||||
|           > | ||||
|             <clr-icon [attr.shape]="item.iconName"></clr-icon> | ||||
|           </div> | ||||
| 
 | ||||
|           <div *ngIf="item.name == 'Image'" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'" | ||||
|           [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||
|           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor">			 <img id="filePreview" [src]="item.imageURL" alt="File Preview" | ||||
|             [style.width]="item.imagewidth !== '' ? item.imagewidth + 'px' : '100px'" | ||||
|             [style.height]="item.imagewidth !== '' ? item.imagewidth + 'px' : '100px'"></div> | ||||
|         </div> | ||||
|       </ng-container> | ||||
|     </div> | ||||
|   </div> | ||||
|   </div> | ||||
|   </div> | ||||
|   </div> | ||||
|   </div> | ||||
|   </ng-container> | ||||
| </div> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <!-- //		EDIT DATA......... --> | ||||
| <clr-modal [(clrModalOpen)]="modalEdit" [clrModalSize]="'lg'" [clrModalStaticBackdrop]="true"> | ||||
|   <h3 class="modal-title">Update Add New Subscription | ||||
|  <!--update button --> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| </h3> | ||||
|   <div class="modal-body" *ngIf="rowSelected.id"> | ||||
|     <h2 class="heading">{{rowSelected.id}}</h2> | ||||
| <!-- button --> | ||||
|     <form > | ||||
| <div class="clr-row">  | ||||
| <div class="clr-col-sm-12">        | ||||
| <label>Name</label> | ||||
| 	        <input class="clr-input"  type="text" [(ngModel)]="rowSelected.name" name="name" /> | ||||
| 	      </div> | ||||
| 
 | ||||
| <!-- currency field start --> | ||||
| <div class="clr-col-sm-12"> | ||||
|   <label> Price</label> | ||||
|   <input type="number" class="clr-input" [(ngModel)]="rowSelected.price" name="price" (blur)="formatCurrencyprice()" [value]="rowSelected.price  | removeCommas"> | ||||
| </div> | ||||
| <!-- currency field end --> | ||||
| 
 | ||||
| <div class="clr-col-sm-12">        | ||||
| <label>Renewal Date</label> | ||||
| 	        <input id="name" class="clr-input"  type="date" [(ngModel)]="rowSelected.renewal_date" name="renewal_date" /> | ||||
| 	      </div> | ||||
| 
 | ||||
| 
 | ||||
|   | ||||
| <div class="clr-col-sm-12">  | ||||
| <label>Duration</label> | ||||
| <select name="duration" [(ngModel)]="rowSelected.duration">  | ||||
|   <option [value]="null">Choose duration</option> | ||||
| <option *ngFor=" let item of selectduration" [value]="item.duration">{{item.duration }}</option> </select> </div> | ||||
|   | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   | ||||
| <div class="clr-col-sm-12">  | ||||
| <label>Type</label> | ||||
| <select name="type" [(ngModel)]="rowSelected.type">  | ||||
|   <option [value]="null">Choose type</option> | ||||
| <option *ngFor=" let item of selecttype" [value]="item.type">{{item.type }}</option> </select> </div> | ||||
|   | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   | ||||
| <div class="clr-col-sm-12">  | ||||
| <label>Category</label> | ||||
| <select name="category" [(ngModel)]="rowSelected.category">  | ||||
|   <option [value]="null">Choose category</option> | ||||
| <option *ngFor=" let item of selectcategory" [value]="item.duration">{{item.duration }}</option> </select> </div> | ||||
|   | ||||
| 
 | ||||
| 
 | ||||
| <!-- multiselect checkbox field start --> | ||||
| <div class="clr-col-sm-12"> | ||||
|  <label> Shared Subscription</label> | ||||
|   <div class="clr-form-control" style="margin-top: 5px;margin-bottom: 10px;"> | ||||
|     <div class="clr-control-container"> | ||||
|        | ||||
|   | ||||
| 
 | ||||
|       <div class="clr-checkbox-wrapper"> <input type="checkbox" id="email" name="email" [(ngModel)]="rowSelected.email" class="clr-checkbox" />  | ||||
| <label for="email" class="clr-control-label"> email</label> </div> | ||||
| 
 | ||||
|         | ||||
| 
 | ||||
| 
 | ||||
|     </div> | ||||
|   </div> | ||||
| </div> | ||||
| <!-- multiselect checkbox field end --> | ||||
| 
 | ||||
| <div class="clr-col-sm-12">      | ||||
| <label> Email Field</label> | ||||
| 								  <input id="name" class="clr-input" type="email"  | ||||
| 						 [(ngModel)]="rowSelected.email_field " name="email_field" pattern="[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$"> | ||||
| 								  <div *ngIf="rowSelected.email_field && !isValidemail_field(rowSelected.email_field )" class="error_mess"> | ||||
| 	            * Email must be a valid email address.          | ||||
|   </div> </div> | ||||
| 
 | ||||
|   </div>  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <!-- form code start --> | ||||
|   <div *ngIf="checkFormCode"> | ||||
|     <h4 style="font-weight: 300;display: inline;">Extension</h4> | ||||
|     <br> | ||||
|     <hr> | ||||
|     <div class="clr-row"> | ||||
|       <div class="clr-col-4" *ngFor="let field of additionalFieldsFromBackend"> | ||||
|         <ng-container *ngIf="field.formCode === formcode" [ngSwitch]="field.fieldType"> | ||||
|           <!-- Text Input -->    <label  *ngSwitchCase="'text'">{{ field.fieldName }}</label> | ||||
|           <input *ngSwitchCase="'text'" [type]="field.fieldType"  name="{{ field.extValue }}" [(ngModel)]="rowSelected[field.extValue]" class="clr-input" /> | ||||
|    | ||||
|           <!-- Date Input -->    <label  *ngSwitchCase="'date'">{{ field.fieldName }}</label> | ||||
|           <input *ngSwitchCase="'date'" [type]="field.fieldType"  name="{{ field.extValue }}" [(ngModel)]="rowSelected[field.extValue]"  class="clr-input" /> | ||||
|    | ||||
|           <!-- Textarea -->    <label  *ngSwitchCase="'textarea'">{{ field.fieldName }}</label> | ||||
|           <textarea *ngSwitchCase="'textarea'"  name="{{ field.extValue }}" [(ngModel)]="rowSelected[field.extValue]"  col="10" row="2"></textarea> | ||||
|    | ||||
|           <!-- Checkbox -->    <label  *ngSwitchCase="'checkbox'">{{ field.fieldName }}</label><br> | ||||
|           <input *ngSwitchCase="'checkbox'" [type]="field.fieldType" name="{{ field.extValue }}" [(ngModel)]="rowSelected[field.extValue]"  class="clr-checkbox" /> | ||||
|         </ng-container> | ||||
|   </div> | ||||
|   </div> | ||||
| </div> | ||||
| 
 | ||||
|   <!-- form code end -->  <div class="modal-footer"> | ||||
|       <button type="button" class="btn btn-outline" (click)="modalEdit = false">Cancel</button> | ||||
|       <button type="submit" class="btn btn-primary"  (click)="onUpdate(rowSelected.id)">Update</button> | ||||
|       </div> | ||||
|     </form> | ||||
|   </div> | ||||
| </clr-modal> | ||||
| <clr-modal [(clrModalOpen)]="modaldelete" [clrModalSize]="'lg'" [clrModalStaticBackdrop]="true"> | ||||
|   <div class="modal-body" *ngIf="rowSelected.id"> | ||||
|     <h1 class="delete">Are You Sure Want to delete?</h1> | ||||
|     <h2 class="heading">{{rowSelected.id}}</h2> | ||||
|     <div class="modal-footer"> | ||||
|       <button type="button" class="btn btn-outline" (click)="modaldelete = false">Cancel</button> | ||||
|     <button type="button" (click)="delete(rowSelected.id)" class="btn btn-primary" >Delete</button> | ||||
|     </div> | ||||
|   </div> | ||||
| </clr-modal> | ||||
| <!-- ADD FORM ..... --> | ||||
| <clr-modal [(clrModalOpen)]="modalAdd" [clrModalSize]="'lg'" [clrModalStaticBackdrop]="true"> | ||||
|   <h3 class="modal-title">Add Add New Subscription  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   <!-- aeroplane icon --> | ||||
|             | ||||
|     <a *ngIf="userrole?.includes('ADMIN')" style="float: right;" href="javascript:void(0)" role="tooltip" aria-haspopup="true" | ||||
|       class="tooltip tooltip-sm tooltip-bottom-left"> | ||||
|       <a id="build_extension" [routerLink]="['../extension/all']" [queryParams]="{ formCode: 'Add_new_subscription_formCode' }"> | ||||
|         <clr-icon shape="airplane" size="32"></clr-icon> | ||||
|       </a> | ||||
|       <span class="tooltip-content">Form Extension</span> | ||||
|     </a> </h3> | ||||
|   <div class="modal-body"> | ||||
|      <form [formGroup]="entryForm" > | ||||
|    <div class="clr-row" style="height: fit-content;"> | ||||
| 
 | ||||
| <div class="clr-col-sm-12"> | ||||
|  <label>  Name</label> | ||||
|  <input class="clr-input"  type="text"  formControlName="name" />        | ||||
|  </div> | ||||
| 
 | ||||
| <!-- currency field start --> | ||||
|       <div class="clr-col-sm-12">         | ||||
|  <label> Price</label>          | ||||
| <input type="number"  class="clr-input"   formControlName="price"  [value]="entryForm.value.price | number:'1.2-2' | removeCommas">    | ||||
|     </div>  | ||||
| 	      <!-- currency field end --> | ||||
| 
 | ||||
| <div class="clr-col-sm-12"> | ||||
|  <label>  Renewal Date</label> | ||||
|  <input class="clr-input"  type="date"  formControlName="renewal_date" />        | ||||
|  </div> | ||||
| 
 | ||||
| 
 | ||||
|   | ||||
| <div class="clr-col-sm-12"> | ||||
| 	          <label>  Duration</label>  | ||||
| <select  formControlName="duration">   | ||||
|   <option [value]="null">Choose Duration</option> | ||||
| 				<option *ngFor="let item of selectduration" [value]="item.duration">{{item.duration}}</option> | ||||
| 	      </select>          </div> | ||||
|   | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   | ||||
| <div class="clr-col-sm-12"> | ||||
| 	          <label>  Type</label>  | ||||
| <select  formControlName="type">   | ||||
|   <option [value]="null">Choose Type</option> | ||||
| 				<option *ngFor="let item of selecttype" [value]="item.type">{{item.type}}</option> | ||||
| 	      </select>          </div> | ||||
|   | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   | ||||
| <div class="clr-col-sm-12"> | ||||
| 	          <label>  Category</label>  | ||||
| <select  formControlName="category">   | ||||
|   <option [value]="null">Choose Category</option> | ||||
| 				<option *ngFor="let item of selectcategory" [value]="item.duration">{{item.duration}}</option> | ||||
| 	      </select>          </div> | ||||
|   | ||||
| 
 | ||||
| 
 | ||||
| <!-- multiselect checkbox field start --> | ||||
|      <div class="clr-col-sm-12">        | ||||
| 		<label> Shared Subscription</label> | ||||
| 	    <div class="clr-form-control" style="margin-top: 5px;margin-bottom: 10px;"> | ||||
| 	      <div class="clr-control-container"> | ||||
| 
 | ||||
|                         | ||||
|   | ||||
| 			<div class="clr-checkbox-wrapper">            | ||||
| 				<input type="checkbox" id="email" formControlName="email"  class="clr-checkbox" />        | ||||
| 				    <label for="email" class="clr-control-label">email</label>  </div> | ||||
| 	                             | ||||
| 
 | ||||
|  </div>       </div>     </div> | ||||
| 	              <!-- multiselect checkbox field end --> | ||||
| 
 | ||||
| <div class="clr-col-sm-12"> | ||||
| 						<label> Email Field</label> | ||||
| <input class="clr-input" type="email" formControlName="email_field" pattern="[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$"> | ||||
| <div *ngIf="entryForm.controls['email_field'].errors" class="error_mess"> | ||||
| 						          <div *ngIf="entryForm.controls['email_field'].hasError('pattern')" class="error_mess">* Email must be a valid email address | ||||
| 						            </div>  </div> | ||||
| </div> | ||||
| 
 | ||||
|   | ||||
|  </div>  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|       <!-- form code start --> | ||||
|       <div *ngIf="checkFormCode"> | ||||
|         <h4 style="font-weight: 300;display: inline;">Extension</h4> | ||||
|         <br> | ||||
|         <hr> | ||||
|         <div class="clr-row"> | ||||
|           <div class="clr-col-4" *ngFor="let field of additionalFieldsFromBackend"> | ||||
|             <ng-container *ngIf="field.formCode === formcode" [ngSwitch]="field.fieldType"> | ||||
|               <!-- Text Input --> <label *ngSwitchCase="'text'">{{ field.fieldName }}</label> | ||||
|               <input *ngSwitchCase="'text'" [type]="field.fieldType" [formControlName]="field.extValue" | ||||
|                 class="clr-input" /> | ||||
|               <!-- Date Input --> <label *ngSwitchCase="'date'">{{ field.fieldName }}</label> | ||||
|               <input *ngSwitchCase="'date'" [type]="field.fieldType" [formControlName]="field.extValue" | ||||
|                 class="clr-input" /> | ||||
|               <!-- Textarea --> <label *ngSwitchCase="'textarea'">{{ field.fieldName }}</label> | ||||
|               <textarea *ngSwitchCase="'textarea'" [formControlName]="field.extValue" col="10" row="2"></textarea> | ||||
|               <!-- Checkbox --> <label *ngSwitchCase="'checkbox'">{{ field.fieldName }}</label><br> | ||||
|               <input *ngSwitchCase="'checkbox'" [type]="field.fieldType" [formControlName]="field.extValue" | ||||
|                 class="clr-checkbox" /> | ||||
|             </ng-container> | ||||
|           </div> | ||||
|         </div> | ||||
|       </div> | ||||
|       <!-- form code end --> <div class="modal-footer"> | ||||
| <button type="button" class="btn btn-outline" (click)="modalAdd = false">Cancel</button> | ||||
|         <button type="submit" class="btn btn-primary" (click)="onSubmit()">ADD</button> | ||||
|         </div> | ||||
| </form> | ||||
|   </div> | ||||
| </clr-modal> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   <!-- htmlpopup --> | ||||
| @ -0,0 +1,78 @@ | ||||
| //@import "../../../../assets/scss/var"; | ||||
| .s-info-bar { | ||||
|   display: flex; | ||||
|   flex-direction: row; | ||||
|   justify-content: space-between; | ||||
|   button { | ||||
|     outline: none; | ||||
|   } | ||||
| } | ||||
| .delete,.heading{ | ||||
|   text-align: center; | ||||
|   color: red; | ||||
| } | ||||
| .entry-pg { | ||||
|   width: 750px; | ||||
| } | ||||
| 
 | ||||
| .button1::after { | ||||
|   content: none; | ||||
| } | ||||
| .button1:hover::after { | ||||
|   content: "ADD ROWS"; | ||||
| } | ||||
| 
 | ||||
| .section { | ||||
|   background-color: #dddddd; | ||||
|   height: 40px; | ||||
| } | ||||
| 
 | ||||
| .section p { | ||||
|   //color: white; | ||||
|   padding: 10px; | ||||
|   font-size: 18px; | ||||
| } | ||||
| 
 | ||||
| .clr-input { | ||||
|   color: #212529; | ||||
|   border: 1px solid #ced4da; | ||||
|   border-radius: 0.25rem; | ||||
|   padding: 0.75rem 0.75rem; | ||||
|   margin-top: 3px; | ||||
|   width: 100%; | ||||
|   margin-bottom: 10px; | ||||
| } | ||||
| 
 | ||||
| .clr-file { | ||||
|   color: #212529; | ||||
|   border: 1px solid #ced4da; | ||||
|   border-radius: 0.25rem; | ||||
|   //padding: 0.6rem 0.75rem; | ||||
|   margin-top: 3px; | ||||
|   width: 100%; | ||||
|   margin-bottom: 10px; | ||||
| } | ||||
| 
 | ||||
| .center { | ||||
|   text-align: center; | ||||
| } | ||||
| select{ | ||||
|   width: 100%; | ||||
|   margin-top: 3px; | ||||
|   padding: 5px 5px; | ||||
|   border: 1px solid #ccc; | ||||
|   border-radius: 4px; | ||||
| } | ||||
| input[type=text],[type=date],[type=number],textarea { | ||||
|   width: 100%; | ||||
|   padding: 15px 15px; | ||||
|   background-color:rgb(255, 255, 255); | ||||
|  // margin: 8px 0; | ||||
|   display: inline-block; | ||||
|   border: 1px solid #ccc; | ||||
|   border-radius: 4px; | ||||
|   box-sizing: border-box; | ||||
| } | ||||
| .error_mess { | ||||
|   color: red; | ||||
| } | ||||
| @ -0,0 +1,415 @@ | ||||
| import { Component, OnInit } from '@angular/core'; | ||||
| import { ToastrService } from 'ngx-toastr'; | ||||
| import { AlertService } from 'src/app/services/alert.service'; | ||||
| import { Add_new_subscriptionservice} from './Add_new_subscription.service'; | ||||
| import { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, ValidationErrors } from '@angular/forms'; | ||||
| import { ExtensionService } from 'src/app/services/fnd/extension.service'; | ||||
| import { DashboardContentModel2 } from 'src/app/models/builder/dashboard';  | ||||
| import { Add_new_subscriptioncardvariable } from './Add_new_subscription_cardvariable'; | ||||
| import { UserInfoService } from 'src/app/services/user-info.service'; | ||||
| declare var JsBarcode: any;  | ||||
| @Component({ | ||||
|   selector: 'app-Add_new_subscription', | ||||
|   templateUrl: './Add_new_subscription.component.html', | ||||
|   styleUrls: ['./Add_new_subscription.component.scss'] | ||||
| }) | ||||
| export class Add_new_subscriptionComponent implements OnInit { | ||||
|   cardButton = Add_new_subscriptioncardvariable.cardButton; | ||||
|   cardmodeldata = Add_new_subscriptioncardvariable.cardmodeldata; | ||||
|   public dashboardArray: DashboardContentModel2[]; | ||||
|   isCardview = Add_new_subscriptioncardvariable.cardButton; | ||||
|   cardmodal;  changeView(){ | ||||
|   this.isCardview = !this.isCardview; | ||||
|   } | ||||
|     beforeText(fieldtext: string): string { // Extract the text before the first '<'
 | ||||
|     const index = fieldtext.indexOf('<'); | ||||
|     return index !== -1 ? fieldtext.substring(0, index) : fieldtext; | ||||
|   } | ||||
|   afterText(fieldtext: string): string { // Extract the text after the last '>'
 | ||||
|     const index = fieldtext.lastIndexOf('>'); | ||||
|     return index !== -1 ? fieldtext.substring(index + 1) : ''; | ||||
|   } | ||||
|   transform(fieldtext: string): string { | ||||
|     const match = fieldtext.match(/<([^>]*)>/); | ||||
|     return match ? match[1] : ''; // Extract the text between '<' and '>'
 | ||||
|   } | ||||
|  userrole; | ||||
|   rowSelected :any= {}; | ||||
|   modaldelete=false; | ||||
|   modalEdit=false; | ||||
|   modalAdd= false; | ||||
|   public entryForm: FormGroup; | ||||
|   loading = false; | ||||
|   product; | ||||
|   modalOpenedforNewLine = false; | ||||
|   newLine:any; | ||||
|  additionalFieldsFromBackend: any[] = []; | ||||
|   formcode = 'Add_new_subscription_formCode' | ||||
| tableName = 'Add_new_subscription';  checkFormCode; selected: any[] = []; constructor( | ||||
|     private extensionService: ExtensionService, | ||||
| private userInfoService:UserInfoService, | ||||
|     private mainService:Add_new_subscriptionservice, | ||||
|     private alertService: AlertService, | ||||
|     private toastr: ToastrService, | ||||
|     private _fb: FormBuilder, | ||||
|   ) { } | ||||
| // component button 
 | ||||
|   ngOnInit(): void { | ||||
|     if(this.cardmodeldata !== ''){ | ||||
|      this.cardmodal = JSON.parse(this.cardmodeldata); | ||||
|     this.dashboardArray = this.cardmodal.dashboard.slice(); | ||||
|     console.log(this.dashboardArray) | ||||
|     } | ||||
|     this.userrole=this.userInfoService.getRoles(); | ||||
|     this.getData(); | ||||
|     this.entryForm = this._fb.group({ | ||||
| name : [null], | ||||
| 
 | ||||
| price : [null, { updateOn: 'blur' }], | ||||
| 
 | ||||
| renewal_date : [null], | ||||
| 
 | ||||
| duration : [null], | ||||
| 
 | ||||
| type : [null], | ||||
| 
 | ||||
| category : [null], | ||||
| 
 | ||||
|    | ||||
|   | ||||
| email:[false], | ||||
|     | ||||
| 
 | ||||
| 
 | ||||
| email_field : [null], | ||||
| 
 | ||||
| 
 | ||||
|   | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   }); // component_button200
 | ||||
|  // form code start
 | ||||
|     this.extensionService.getJsonObjectsByFormCodeList(this.formcode).subscribe(data => { | ||||
|       console.log(data); | ||||
|       const jsonArray = data.map((str) => JSON.parse(str)); | ||||
|       this.additionalFieldsFromBackend = jsonArray; | ||||
|       this.checkFormCode = this.additionalFieldsFromBackend.some(field => field.formCode === "Add_new_subscription_formCode"); | ||||
|       console.log(this.checkFormCode); | ||||
|       console.log(this.additionalFieldsFromBackend); | ||||
|       if (this.additionalFieldsFromBackend && this.additionalFieldsFromBackend.length > 0) { | ||||
|         this.additionalFieldsFromBackend.forEach(field => { | ||||
|           if (field.formCode === this.formcode) { | ||||
|             if (!this.entryForm.contains(field.extValue)) { | ||||
|               // Add the control only if it doesn't exist in the form
 | ||||
|               this.entryForm.addControl(field.extValue, this._fb.control(field.fieldValue)); | ||||
|             } | ||||
|           } | ||||
|         }); | ||||
|       } | ||||
|     }); | ||||
|     console.log(this.entryForm.value); | ||||
|     // form code end 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| this.getallduration(); | ||||
| 
 | ||||
| this.getalltype(); | ||||
| 
 | ||||
| this.getallcategory(); | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  error;  | ||||
|   getData() { | ||||
|     this.mainService.getAll().subscribe((data) => { | ||||
|       console.log(data); | ||||
|       this.product = data; | ||||
|  if(this.product.length==0){ | ||||
|         this.error="No Data Available" | ||||
|      }    | ||||
|     },(error) => { | ||||
|       console.log(error); | ||||
|       if(error){ | ||||
|        this.error="Server Error"; | ||||
|      } | ||||
|     }); | ||||
|   } | ||||
|   onEdit(row) { | ||||
|     this.rowSelected = row; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     this.modalEdit = true; | ||||
|   } | ||||
|    onDelete(row) { | ||||
|     this.rowSelected = row; | ||||
|      this.modaldelete=true; | ||||
|   } | ||||
|   delete(id) | ||||
|   { | ||||
|     this.modaldelete = false; | ||||
|     console.log("in delete  "+id); | ||||
|     this.mainService.delete(id).subscribe( | ||||
|       (data) => { | ||||
|         console.log(data); | ||||
|         this.ngOnInit(); | ||||
|   if (data) {				      this.toastr.success('Deleted successfully');      } | ||||
|     }); | ||||
|   } | ||||
|     onUpdate(id) { | ||||
|     this.modalEdit = false; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     //console.log("in update");
 | ||||
|     console.log("id  " + id); | ||||
|     console.log(this.rowSelected); | ||||
|     //console.log("out update");
 | ||||
|     this.mainService.update(id, this.rowSelected).subscribe( | ||||
|       (data) => { | ||||
|         console.log(data); | ||||
|         if (data || data.status >= 200 && data.status <= 299) { | ||||
|           this.toastr.success("Update Successfully"); | ||||
|         } | ||||
| setTimeout(() => { | ||||
|       this.ngOnInit(); | ||||
|     }, 500); | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|       }, (error) => { | ||||
|         console.log(error); | ||||
|         if (error.status >= 200 && error.status <= 299) { | ||||
|           // this.toastr.success("update Succesfully");
 | ||||
|         } | ||||
|         if (error.status >= 400 && error.status <= 499) { | ||||
|           this.toastr.error("Not Updated"); | ||||
|         } | ||||
|         if (error.status >= 500 && error.status <= 599) { | ||||
|           this.toastr.error("Not Updated"); | ||||
|         } | ||||
|       }); | ||||
|     setTimeout(() => { | ||||
|       this.ngOnInit(); | ||||
|     }, 500); | ||||
|   }  | ||||
| onCreate() { | ||||
|      this.modalAdd=false; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   this.mainService.create(this.entryForm.value).subscribe( | ||||
|     (data) => { | ||||
|       console.log(data); | ||||
|   if (data || data.status >= 200 && data.status <= 299) { | ||||
|           this.toastr.success("Added Successfully"); | ||||
|         } | ||||
| setTimeout(() => { | ||||
|       this.ngOnInit(); | ||||
|     }, 500); | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|       }, (error) => { | ||||
|         console.log(error); | ||||
|         if (error.status >= 200 && error.status <= 299) { | ||||
|           // this.toastr.success("Added Succesfully");
 | ||||
|         } | ||||
|         if (error.status >= 400 && error.status <= 499) { | ||||
|           this.toastr.error("Not Added"); | ||||
|         } | ||||
|         if (error.status >= 500 && error.status <= 599) { | ||||
|           this.toastr.error("Not Added"); | ||||
|         } | ||||
|       }); | ||||
|     setTimeout(() => { | ||||
|       this.ngOnInit(); | ||||
|     }, 500); | ||||
|   } | ||||
|   goToAdd(row) { | ||||
| this.modalAdd = true; this.submitted = false; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   } | ||||
|  submitted = false; | ||||
| onSubmit() { | ||||
|   console.log(this.entryForm.value); | ||||
|  this.submitted = true; | ||||
|   if (this.entryForm.invalid) { | ||||
|     return; | ||||
|   }this.onCreate(); | ||||
| 
 | ||||
| }  | ||||
| 
 | ||||
| 
 | ||||
| //currency  field start
 | ||||
|    formatCurrencyprice () { | ||||
|     // Format the currency with two decimal places    
 | ||||
| 	this.rowSelected.price = Number(this.rowSelected.price ).toFixed(2); | ||||
|     // Remove commas from the formatted currency   
 | ||||
| 	 this.rowSelected.price = this.rowSelected.price?.replace(/,/g, '');  } | ||||
|   //currency  field end
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| selectduration ;      | ||||
| getallduration() { | ||||
|  this.mainService.getAllduration().subscribe(data=>{ | ||||
| this.selectduration = data;        | ||||
| console.log(data); | ||||
| },(error) => {       console.log(error);     });   }							    | ||||
| 
 | ||||
| selecttype ;      | ||||
| getalltype() { | ||||
|  this.mainService.getAlltype().subscribe(data=>{ | ||||
| this.selecttype = data;        | ||||
| console.log(data); | ||||
| },(error) => {       console.log(error);     });   }							    | ||||
| 
 | ||||
| selectcategory ;      | ||||
| getallcategory() { | ||||
|  this.mainService.getAllcategory().subscribe(data=>{ | ||||
| this.selectcategory = data;        | ||||
| console.log(data); | ||||
| },(error) => {       console.log(error);     });   }							    | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| isValidemail_field(email: string): boolean { | ||||
| 						 const emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/; | ||||
| 						    return emailPattern.test(email);   } | ||||
| 
 | ||||
| // updateaction
 | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| @ -0,0 +1,52 @@ | ||||
| import { Injectable } from '@angular/core'; | ||||
| import { Observable } from "rxjs"; | ||||
| import { HttpClient, HttpHeaders, HttpParams, } from "@angular/common/http"; | ||||
| import { ApiRequestService } from "src/app/services/api/api-request.service"; | ||||
| import { environment } from 'src/environments/environment'; | ||||
| @Injectable({ | ||||
|   providedIn: 'root' | ||||
| }) | ||||
| export class Add_new_subscriptionservice{ | ||||
|   private baseURL = "Add_new_subscription/Add_new_subscription" ;  constructor( | ||||
|     private http: HttpClient, | ||||
|     private apiRequest: ApiRequestService, | ||||
|   ) { } | ||||
|   getAll(page?: number, size?: number): Observable<any> { | ||||
|     return this.apiRequest.get(this.baseURL); | ||||
|   } | ||||
|   getById(id: number): Observable<any> { | ||||
|     const _http = this.baseURL + "/" + id; | ||||
|     return this.apiRequest.get(_http); | ||||
|   } | ||||
|   create(data: any): Observable<any> { | ||||
|     return this.apiRequest.post(this.baseURL, data); | ||||
|   } | ||||
|   update(id: number, data: any): Observable<any> { | ||||
|     const _http = this.baseURL + "/" + id; | ||||
|     return this.apiRequest.put(_http, data); | ||||
|   } | ||||
|   delete(id: number): Observable<any> { | ||||
|     const _http = this.baseURL + "/" + id; | ||||
|     return this.apiRequest.delete(_http); | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| getAllduration(): Observable<any> {    | ||||
| return this.apiRequest.get("Duration_type_ListFilter1/Duration_type_ListFilter1");  } | ||||
| 
 | ||||
| getAlltype(): Observable<any> {    | ||||
| return this.apiRequest.get("Subscription_type_ListFilter1/Subscription_type_ListFilter1");  } | ||||
| 
 | ||||
| getAllcategory(): Observable<any> {    | ||||
| return this.apiRequest.get("Duration_type_ListFilter1/Duration_type_ListFilter1");  } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| // updateaction
 | ||||
| } | ||||
| @ -0,0 +1,4 @@ | ||||
| export const Add_new_subscriptioncardvariable = { | ||||
|     "cardButton": false, | ||||
|     "cardmodeldata": `` | ||||
| } | ||||
| @ -0,0 +1,322 @@ | ||||
| <ol class="breadcrumb breadcrumb-arrow font-trirong"> | ||||
|   <li><a href="javascript://"> Category</a></li> | ||||
| </ol> | ||||
| <div class="dg-wrapper"> | ||||
|   <div class="clr-row"> | ||||
|     <div class="clr-col-8"> | ||||
|       <h3>Category </h3> | ||||
|     </div> | ||||
|     <div class="clr-col-4" style="text-align: right;"> | ||||
|  <button *ngIf="cardButton" id="add" class="btn btn-primary btn-icon" (click)="changeView()" > | ||||
|         <clr-icon *ngIf="!isCardview" shape="grid-view"></clr-icon>    <clr-icon *ngIf="isCardview" shape="bars"></clr-icon> | ||||
|       </button> | ||||
| <!-- upload and download template --> | ||||
|       <button class="btn btn-outline" (click)="goToDataM()"> | ||||
|         Upload | ||||
|      </button> | ||||
|      <button class="btn btn-outline" (click)="downloadCSV(tableName)" > | ||||
|       <clr-icon shape="export" ></clr-icon> Download | ||||
|     </button> | ||||
|     <!-- upload and download template end here-->        <!-- button --> | ||||
|      <button id="add" class="btn btn-primary" (click)="goToAdd(product)" > | ||||
|         <clr-icon shape="plus"></clr-icon>ADD | ||||
|       </button> | ||||
|     </div></div> | ||||
|   <ng-container *ngIf="!isCardview">   <!-- GET ALL -->     <clr-datagrid [clrDgLoading]="loading" [(clrDgSelected)]="selected"> | ||||
|     <clr-dg-placeholder> | ||||
|         <ng-template #loadingSpinner> | ||||
|             <clr-spinner>Loading ... </clr-spinner> | ||||
|         </ng-template> | ||||
|         <div *ngIf="error;else loadingSpinner">{{error}}</div> | ||||
|     </clr-dg-placeholder> | ||||
| 
 | ||||
| <clr-dg-column [clrDgField]="'category'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Category | ||||
| 						    </ng-container></clr-dg-column> | ||||
| 
 | ||||
|   | ||||
|  <!-- who column --> | ||||
|       <clr-dg-column> <ng-container *clrDgHideableColumn="{hidden: false}"> | ||||
|         <clr-icon shape="bars"></clr-icon> Action | ||||
|       </ng-container></clr-dg-column> | ||||
|       <!-- end -->  | ||||
| 
 | ||||
|  <clr-dg-row *clrDgItems="let user of product" [clrDgItem]="user"> | ||||
| 
 | ||||
| <clr-dg-cell>{{user.category }}</clr-dg-cell> | ||||
| 
 | ||||
|   | ||||
|   <!-- who column --> | ||||
| <clr-dg-cell> | ||||
|   <clr-signpost> | ||||
|    <span style="cursor: pointer;" clrSignpostTrigger><clr-icon shape="help" class="success" style="color: rgb(0, 130, 236);"></clr-icon></span> | ||||
|    <clr-signpost-content [clrPosition]="'left-middle'" *clrIfOpen> | ||||
|      <h5 style="margin-top: 0">Who Column</h5> | ||||
|            <div>Account ID: <code class="clr-code">{{user.accountId}}</code></div> | ||||
|            <div>Created At: <code class="clr-code">{{user.createdAt| date}}</code></div> | ||||
|            <div>Created By: <code class="clr-code">{{user.createdBy}}</code></div> | ||||
|            <div>Updated At: <code class="clr-code">{{user.updatedAt | date}}</code></div> | ||||
|            <div>Updated By: <code class="clr-code">{{user.updatedBy}}</code></div> | ||||
|    </clr-signpost-content> | ||||
|  </clr-signpost> | ||||
|  </clr-dg-cell> | ||||
|   | ||||
|  <!-- who colmn -->  | ||||
|   | ||||
|  <clr-dg-action-overflow> | ||||
|         <button class="action-item" (click)="onEdit(user)">Edit</button> | ||||
|         <button class="action-item" (click)="onDelete(user)">Delete</button> | ||||
|       </clr-dg-action-overflow> | ||||
|          </clr-dg-row> | ||||
|     <clr-dg-footer> | ||||
|       <clr-dg-pagination #pagination [clrDgPageSize]="10"> | ||||
|         <clr-dg-page-size [clrPageSizeOptions]="[10,20,50,100]">Users per page</clr-dg-page-size> | ||||
|         {{pagination.firstItem + 1}} - {{pagination.lastItem + 1}} | ||||
|         of {{pagination.totalItems}} users | ||||
|       </clr-dg-pagination> | ||||
|     </clr-dg-footer> | ||||
|   </clr-datagrid> </ng-container> | ||||
| <ng-template #showInfo> | ||||
|   <div class="alert alert-info" role="alert"> | ||||
|       <div class="alert-items"> | ||||
|           <div class="alert-item static"> | ||||
|               <span class="alert-text"> | ||||
|                 <clr-icon class="alert-icon" shape="info-circle"></clr-icon> | ||||
|                     Data could be found. Loading.. | ||||
|                   <clr-spinner [clrMedium]="true">Loading ...</clr-spinner> | ||||
|               </span> | ||||
|           </div> | ||||
|       </div> | ||||
|   </div> | ||||
| </ng-template><ng-container *ngIf="isCardview"> | ||||
|   <div *ngIf="product; else showInfo" class="clr-row clr-align-items-start clr-justify-content-start"> | ||||
|     <div *ngFor="let app of product| filter:search; let index = i" class="clr-col-auto" > | ||||
|       <div class="clr-row"> | ||||
|         <div class="clr-col-lg-12 clr-col-md-4 clr-col-sm-4 clr-col-12" style="width: 410px;"> | ||||
|   <div class="card" style="padding: 10px; "[style.background-color]="cardmodal.cardColor !== '' ? cardmodal.cardColor : 'white'"> | ||||
|     <div class="card-body" style="display: grid; grid-template-columns: repeat(13, 1fr); grid-template-rows: repeat(7, 1fr); gap: 5px;"> | ||||
|       <ng-container *ngFor="let item of dashboardArray"> | ||||
|         <div [style.gridColumn]="item.x + 1" [style.gridRow]="item.y + 1" [style.gridColumnEnd]="item.x + item.cols + 1" | ||||
|           [style.gridRowEnd]="item.y + item.rows + 1"> | ||||
|           <div *ngIf="item.name === 'textField'" class="title-card card-title" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"     	 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||
|           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor"> | ||||
|            {{beforeText(item.fieldtext)}} | ||||
|           {{ app[transform(item.fieldtext) ] }} | ||||
|           {{afterText(item.fieldtext)}} | ||||
|           </div> | ||||
| 
 | ||||
|           <div *ngIf="item.name === 'dateField'" class="title-card card-title" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"			 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||
|           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor"> | ||||
|           {{beforeText(item.fieldtext)}} | ||||
|           {{ app[transform(item.fieldtext) ] | date}} | ||||
|           {{afterText(item.fieldtext)}} | ||||
|           </div> | ||||
|           <div *ngIf="item.name === 'numberField'" class="title-card card-title" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"			 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||
|           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor"> | ||||
|           {{beforeText(item.fieldtext)}} | ||||
|           {{ app[transform(item.fieldtext) ]}} | ||||
|           {{afterText(item.fieldtext)}} | ||||
|           </div> | ||||
| 
 | ||||
|           <div *ngIf="item.name === 'Line'" class="title-card card-title" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"> | ||||
|           <hr> | ||||
|           </div> | ||||
| 
 | ||||
|            | ||||
|           <div *ngIf="item.name === 'Icon'" class="icon-card" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'" | ||||
|           > | ||||
|             <clr-icon [attr.shape]="item.iconName"></clr-icon> | ||||
|           </div> | ||||
| 
 | ||||
|           <div *ngIf="item.name == 'Image'" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'" | ||||
|           [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||
|           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor">			 <img id="filePreview" [src]="item.imageURL" alt="File Preview" | ||||
|             [style.width]="item.imagewidth !== '' ? item.imagewidth + 'px' : '100px'" | ||||
|             [style.height]="item.imagewidth !== '' ? item.imagewidth + 'px' : '100px'"></div> | ||||
|         </div> | ||||
|       </ng-container> | ||||
|     </div> | ||||
|   </div> | ||||
|   </div> | ||||
|   </div> | ||||
|   </div> | ||||
|   </div> | ||||
|   </ng-container> | ||||
| </div> | ||||
| 
 | ||||
| 
 | ||||
| <!-- //		EDIT DATA......... --> | ||||
| <clr-modal [(clrModalOpen)]="modalEdit" [clrModalSize]="'lg'" [clrModalStaticBackdrop]="true"> | ||||
|   <h3 class="modal-title">Update Category | ||||
|  <!--update button --> | ||||
| 
 | ||||
| </h3> | ||||
|   <div class="modal-body" *ngIf="rowSelected.id"> | ||||
|     <h2 class="heading">{{rowSelected.id}}</h2> | ||||
| <!-- button --> | ||||
|     <form > | ||||
| <div class="clr-row">  | ||||
| <div class="clr-col-sm-12">        | ||||
| <label>Category</label> | ||||
| 	        <input class="clr-input"  type="text" [(ngModel)]="rowSelected.category" name="category" /> | ||||
| 	      </div> | ||||
| 
 | ||||
|   </div>  | ||||
| 
 | ||||
| 
 | ||||
| <!-- form code start --> | ||||
|   <div *ngIf="checkFormCode"> | ||||
|     <h4 style="font-weight: 300;display: inline;">Extension</h4> | ||||
|     <br> | ||||
|     <hr> | ||||
|     <div class="clr-row"> | ||||
|       <div class="clr-col-4" *ngFor="let field of additionalFieldsFromBackend"> | ||||
|         <ng-container *ngIf="field.formCode === formcode" [ngSwitch]="field.fieldType"> | ||||
|           <!-- Text Input -->    <label  *ngSwitchCase="'text'">{{ field.fieldName }}</label> | ||||
|           <input *ngSwitchCase="'text'" [type]="field.fieldType"  name="{{ field.extValue }}" [(ngModel)]="rowSelected[field.extValue]" class="clr-input" /> | ||||
|    | ||||
|           <!-- Date Input -->    <label  *ngSwitchCase="'date'">{{ field.fieldName }}</label> | ||||
|           <input *ngSwitchCase="'date'" [type]="field.fieldType"  name="{{ field.extValue }}" [(ngModel)]="rowSelected[field.extValue]"  class="clr-input" /> | ||||
|    | ||||
|           <!-- Textarea -->    <label  *ngSwitchCase="'textarea'">{{ field.fieldName }}</label> | ||||
|           <textarea *ngSwitchCase="'textarea'"  name="{{ field.extValue }}" [(ngModel)]="rowSelected[field.extValue]"  col="10" row="2"></textarea> | ||||
|    | ||||
|           <!-- Checkbox -->    <label  *ngSwitchCase="'checkbox'">{{ field.fieldName }}</label><br> | ||||
|           <input *ngSwitchCase="'checkbox'" [type]="field.fieldType" name="{{ field.extValue }}" [(ngModel)]="rowSelected[field.extValue]"  class="clr-checkbox" /> | ||||
|         </ng-container> | ||||
|   </div> | ||||
|   </div> | ||||
| </div> | ||||
| 
 | ||||
|   <!-- form code end -->  <div class="modal-footer"> | ||||
|       <button type="button" class="btn btn-outline" (click)="modalEdit = false">Cancel</button> | ||||
|       <button type="submit" class="btn btn-primary"  (click)="onUpdate(rowSelected.id)">Update</button> | ||||
|       </div> | ||||
|     </form> | ||||
|   </div> | ||||
| </clr-modal> | ||||
| <clr-modal [(clrModalOpen)]="modaldelete" [clrModalSize]="'lg'" [clrModalStaticBackdrop]="true"> | ||||
|   <div class="modal-body" *ngIf="rowSelected.id"> | ||||
|     <h1 class="delete">Are You Sure Want to delete?</h1> | ||||
|     <h2 class="heading">{{rowSelected.id}}</h2> | ||||
|     <div class="modal-footer"> | ||||
|       <button type="button" class="btn btn-outline" (click)="modaldelete = false">Cancel</button> | ||||
|     <button type="button" (click)="delete(rowSelected.id)" class="btn btn-primary" >Delete</button> | ||||
|     </div> | ||||
|   </div> | ||||
| </clr-modal> | ||||
| <!-- ADD FORM ..... --> | ||||
| <clr-modal [(clrModalOpen)]="modalAdd" [clrModalSize]="'lg'" [clrModalStaticBackdrop]="true"> | ||||
|   <h3 class="modal-title">Add Category  | ||||
| 
 | ||||
| 
 | ||||
|   <!-- aeroplane icon --> | ||||
|             | ||||
|     <a *ngIf="userrole?.includes('ADMIN')" style="float: right;" href="javascript:void(0)" role="tooltip" aria-haspopup="true" | ||||
|       class="tooltip tooltip-sm tooltip-bottom-left"> | ||||
|       <a id="build_extension" [routerLink]="['../extension/all']" [queryParams]="{ formCode: 'Category_formCode' }"> | ||||
|         <clr-icon shape="airplane" size="32"></clr-icon> | ||||
|       </a> | ||||
|       <span class="tooltip-content">Form Extension</span> | ||||
|     </a> </h3> | ||||
|   <div class="modal-body"> | ||||
|      <form [formGroup]="entryForm" > | ||||
|    <div class="clr-row" style="height: fit-content;"> | ||||
| 
 | ||||
| <div class="clr-col-sm-12"> | ||||
|  <label>  Category</label> | ||||
|  <input class="clr-input"  type="text"  formControlName="category" />        | ||||
|  </div> | ||||
| 
 | ||||
|   | ||||
|  </div>  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|       <!-- form code start --> | ||||
|       <div *ngIf="checkFormCode"> | ||||
|         <h4 style="font-weight: 300;display: inline;">Extension</h4> | ||||
|         <br> | ||||
|         <hr> | ||||
|         <div class="clr-row"> | ||||
|           <div class="clr-col-4" *ngFor="let field of additionalFieldsFromBackend"> | ||||
|             <ng-container *ngIf="field.formCode === formcode" [ngSwitch]="field.fieldType"> | ||||
|               <!-- Text Input --> <label *ngSwitchCase="'text'">{{ field.fieldName }}</label> | ||||
|               <input *ngSwitchCase="'text'" [type]="field.fieldType" [formControlName]="field.extValue" | ||||
|                 class="clr-input" /> | ||||
|               <!-- Date Input --> <label *ngSwitchCase="'date'">{{ field.fieldName }}</label> | ||||
|               <input *ngSwitchCase="'date'" [type]="field.fieldType" [formControlName]="field.extValue" | ||||
|                 class="clr-input" /> | ||||
|               <!-- Textarea --> <label *ngSwitchCase="'textarea'">{{ field.fieldName }}</label> | ||||
|               <textarea *ngSwitchCase="'textarea'" [formControlName]="field.extValue" col="10" row="2"></textarea> | ||||
|               <!-- Checkbox --> <label *ngSwitchCase="'checkbox'">{{ field.fieldName }}</label><br> | ||||
|               <input *ngSwitchCase="'checkbox'" [type]="field.fieldType" [formControlName]="field.extValue" | ||||
|                 class="clr-checkbox" /> | ||||
|             </ng-container> | ||||
|           </div> | ||||
|         </div> | ||||
|       </div> | ||||
|       <!-- form code end --> <div class="modal-footer"> | ||||
| <button type="button" class="btn btn-outline" (click)="modalAdd = false">Cancel</button> | ||||
|         <button type="submit" class="btn btn-primary" (click)="onSubmit()">ADD</button> | ||||
|         </div> | ||||
| </form> | ||||
|   </div> | ||||
| </clr-modal> | ||||
| 
 | ||||
| 
 | ||||
|   <!-- htmlpopup --> | ||||
| @ -0,0 +1,78 @@ | ||||
| //@import "../../../../assets/scss/var"; | ||||
| .s-info-bar { | ||||
|   display: flex; | ||||
|   flex-direction: row; | ||||
|   justify-content: space-between; | ||||
|   button { | ||||
|     outline: none; | ||||
|   } | ||||
| } | ||||
| .delete,.heading{ | ||||
|   text-align: center; | ||||
|   color: red; | ||||
| } | ||||
| .entry-pg { | ||||
|   width: 750px; | ||||
| } | ||||
| 
 | ||||
| .button1::after { | ||||
|   content: none; | ||||
| } | ||||
| .button1:hover::after { | ||||
|   content: "ADD ROWS"; | ||||
| } | ||||
| 
 | ||||
| .section { | ||||
|   background-color: #dddddd; | ||||
|   height: 40px; | ||||
| } | ||||
| 
 | ||||
| .section p { | ||||
|   //color: white; | ||||
|   padding: 10px; | ||||
|   font-size: 18px; | ||||
| } | ||||
| 
 | ||||
| .clr-input { | ||||
|   color: #212529; | ||||
|   border: 1px solid #ced4da; | ||||
|   border-radius: 0.25rem; | ||||
|   padding: 0.75rem 0.75rem; | ||||
|   margin-top: 3px; | ||||
|   width: 100%; | ||||
|   margin-bottom: 10px; | ||||
| } | ||||
| 
 | ||||
| .clr-file { | ||||
|   color: #212529; | ||||
|   border: 1px solid #ced4da; | ||||
|   border-radius: 0.25rem; | ||||
|   //padding: 0.6rem 0.75rem; | ||||
|   margin-top: 3px; | ||||
|   width: 100%; | ||||
|   margin-bottom: 10px; | ||||
| } | ||||
| 
 | ||||
| .center { | ||||
|   text-align: center; | ||||
| } | ||||
| select{ | ||||
|   width: 100%; | ||||
|   margin-top: 3px; | ||||
|   padding: 5px 5px; | ||||
|   border: 1px solid #ccc; | ||||
|   border-radius: 4px; | ||||
| } | ||||
| input[type=text],[type=date],[type=number],textarea { | ||||
|   width: 100%; | ||||
|   padding: 15px 15px; | ||||
|   background-color:rgb(255, 255, 255); | ||||
|  // margin: 8px 0; | ||||
|   display: inline-block; | ||||
|   border: 1px solid #ccc; | ||||
|   border-radius: 4px; | ||||
|   box-sizing: border-box; | ||||
| } | ||||
| .error_mess { | ||||
|   color: red; | ||||
| } | ||||
| @ -0,0 +1,238 @@ | ||||
| import { Component, OnInit } from '@angular/core'; | ||||
| import { ToastrService } from 'ngx-toastr'; | ||||
| import { AlertService } from 'src/app/services/alert.service'; | ||||
| import { Categoryservice} from './Category.service'; | ||||
| import { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, ValidationErrors } from '@angular/forms'; | ||||
| import { ExtensionService } from 'src/app/services/fnd/extension.service'; | ||||
| import { DashboardContentModel2 } from 'src/app/models/builder/dashboard';  | ||||
| import { Categorycardvariable } from './Category_cardvariable'; | ||||
| import { UserInfoService } from 'src/app/services/user-info.service'; | ||||
| import { ActivatedRoute, Router } from '@angular/router'; | ||||
| declare var JsBarcode: any;  | ||||
| @Component({ | ||||
|   selector: 'app-Category', | ||||
|   templateUrl: './Category.component.html', | ||||
|   styleUrls: ['./Category.component.scss'] | ||||
| }) | ||||
| export class CategoryComponent implements OnInit { | ||||
|   cardButton = Categorycardvariable.cardButton; | ||||
|   cardmodeldata = Categorycardvariable.cardmodeldata; | ||||
|   public dashboardArray: DashboardContentModel2[]; | ||||
|   isCardview = Categorycardvariable.cardButton; | ||||
|   cardmodal;  changeView(){ | ||||
|   this.isCardview = !this.isCardview; | ||||
|   } | ||||
|     beforeText(fieldtext: string): string { // Extract the text before the first '<'
 | ||||
|     const index = fieldtext.indexOf('<'); | ||||
|     return index !== -1 ? fieldtext.substring(0, index) : fieldtext; | ||||
|   } | ||||
|   afterText(fieldtext: string): string { // Extract the text after the last '>'
 | ||||
|     const index = fieldtext.lastIndexOf('>'); | ||||
|     return index !== -1 ? fieldtext.substring(index + 1) : ''; | ||||
|   } | ||||
|   transform(fieldtext: string): string { | ||||
|     const match = fieldtext.match(/<([^>]*)>/); | ||||
|     return match ? match[1] : ''; // Extract the text between '<' and '>'
 | ||||
|   } | ||||
|  userrole; | ||||
|   rowSelected :any= {}; | ||||
|   modaldelete=false; | ||||
|   modalEdit=false; | ||||
|   modalAdd= false; | ||||
|   public entryForm: FormGroup; | ||||
|   loading = false; | ||||
|   product; | ||||
|   modalOpenedforNewLine = false; | ||||
|   newLine:any; | ||||
|  additionalFieldsFromBackend: any[] = []; | ||||
|   formcode = 'Category_formCode' | ||||
| tableName = 'Category';  checkFormCode; selected: any[] = []; constructor( | ||||
|     private extensionService: ExtensionService, | ||||
| private userInfoService:UserInfoService, | ||||
|     private mainService:Categoryservice, | ||||
|     private alertService: AlertService, | ||||
|     private toastr: ToastrService, | ||||
|     private _fb: FormBuilder, | ||||
|  private router: Router,   | ||||
|     private route: ActivatedRoute  ) { } | ||||
| // component button 
 | ||||
|   ngOnInit(): void { | ||||
|     if(this.cardmodeldata !== ''){ | ||||
|      this.cardmodal = JSON.parse(this.cardmodeldata); | ||||
|     this.dashboardArray = this.cardmodal.dashboard.slice(); | ||||
|     console.log(this.dashboardArray) | ||||
|     } | ||||
|     this.userrole=this.userInfoService.getRoles(); | ||||
|     this.getData(); | ||||
|     this.entryForm = this._fb.group({ | ||||
| category : [null], | ||||
| 
 | ||||
| 
 | ||||
|   | ||||
| 
 | ||||
|   }); // component_button200
 | ||||
|  // form code start
 | ||||
|     this.extensionService.getJsonObjectsByFormCodeList(this.formcode).subscribe(data => { | ||||
|       console.log(data); | ||||
|       const jsonArray = data.map((str) => JSON.parse(str)); | ||||
|       this.additionalFieldsFromBackend = jsonArray; | ||||
|       this.checkFormCode = this.additionalFieldsFromBackend.some(field => field.formCode === "Category_formCode"); | ||||
|       console.log(this.checkFormCode); | ||||
|       console.log(this.additionalFieldsFromBackend); | ||||
|       if (this.additionalFieldsFromBackend && this.additionalFieldsFromBackend.length > 0) { | ||||
|         this.additionalFieldsFromBackend.forEach(field => { | ||||
|           if (field.formCode === this.formcode) { | ||||
|             if (!this.entryForm.contains(field.extValue)) { | ||||
|               // Add the control only if it doesn't exist in the form
 | ||||
|               this.entryForm.addControl(field.extValue, this._fb.control(field.fieldValue)); | ||||
|             } | ||||
|           } | ||||
|         }); | ||||
|       } | ||||
|     }); | ||||
|     console.log(this.entryForm.value); | ||||
|     // form code end 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
|  error;  | ||||
|   getData() { | ||||
|     this.mainService.getAll().subscribe((data) => { | ||||
|       console.log(data); | ||||
|       this.product = data; | ||||
|  if(this.product.length==0){ | ||||
|         this.error="No Data Available" | ||||
|      }    | ||||
|     },(error) => { | ||||
|       console.log(error); | ||||
|       if(error){ | ||||
|        this.error="Server Error"; | ||||
|      } | ||||
|     }); | ||||
|   } | ||||
|   onEdit(row) { | ||||
|     this.rowSelected = row; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     this.modalEdit = true; | ||||
|   } | ||||
|    onDelete(row) { | ||||
|     this.rowSelected = row; | ||||
|      this.modaldelete=true; | ||||
|   } | ||||
|   delete(id) | ||||
|   { | ||||
|     this.modaldelete = false; | ||||
|     console.log("in delete  "+id); | ||||
|     this.mainService.delete(id).subscribe( | ||||
|       (data) => { | ||||
|         console.log(data); | ||||
|         this.ngOnInit(); | ||||
|   if (data) {				      this.toastr.success('Deleted successfully');      } | ||||
|     }); | ||||
|   } | ||||
|     onUpdate(id) { | ||||
|     this.modalEdit = false; | ||||
| 
 | ||||
| 
 | ||||
|     //console.log("in update");
 | ||||
|     console.log("id  " + id); | ||||
|     console.log(this.rowSelected); | ||||
|     //console.log("out update");
 | ||||
|     this.mainService.update(id, this.rowSelected).subscribe( | ||||
|       (data) => { | ||||
|         console.log(data); | ||||
|         if (data || data.status >= 200 && data.status <= 299) { | ||||
|           this.toastr.success("Update Successfully"); | ||||
|         } | ||||
| setTimeout(() => { | ||||
|       this.ngOnInit(); | ||||
|     }, 500); | ||||
| 
 | ||||
| 
 | ||||
|       }, (error) => { | ||||
|         console.log(error); | ||||
|         if (error.status >= 200 && error.status <= 299) { | ||||
|           // this.toastr.success("update Succesfully");
 | ||||
|         } | ||||
|         if (error.status >= 400 && error.status <= 499) { | ||||
|           this.toastr.error("Not Updated"); | ||||
|         } | ||||
|         if (error.status >= 500 && error.status <= 599) { | ||||
|           this.toastr.error("Not Updated"); | ||||
|         } | ||||
|       }); | ||||
|     setTimeout(() => { | ||||
|       this.ngOnInit(); | ||||
|     }, 500); | ||||
|   }  | ||||
| onCreate() { | ||||
|      this.modalAdd=false; | ||||
| 
 | ||||
| 
 | ||||
|   this.mainService.create(this.entryForm.value).subscribe( | ||||
|     (data) => { | ||||
|       console.log(data); | ||||
|   if (data || data.status >= 200 && data.status <= 299) { | ||||
|           this.toastr.success("Added Successfully"); | ||||
|         } | ||||
| setTimeout(() => { | ||||
|       this.ngOnInit(); | ||||
|     }, 500); | ||||
| 
 | ||||
| 
 | ||||
|       }, (error) => { | ||||
|         console.log(error); | ||||
|         if (error.status >= 200 && error.status <= 299) { | ||||
|           // this.toastr.success("Added Succesfully");
 | ||||
|         } | ||||
|         if (error.status >= 400 && error.status <= 499) { | ||||
|           this.toastr.error("Not Added"); | ||||
|         } | ||||
|         if (error.status >= 500 && error.status <= 599) { | ||||
|           this.toastr.error("Not Added"); | ||||
|         } | ||||
|       }); | ||||
|     setTimeout(() => { | ||||
|       this.ngOnInit(); | ||||
|     }, 500); | ||||
|   } | ||||
|   goToAdd(row) { | ||||
| this.modalAdd = true; this.submitted = false; | ||||
| 
 | ||||
| 
 | ||||
|   } | ||||
|  submitted = false; | ||||
| onSubmit() { | ||||
|   console.log(this.entryForm.value); | ||||
|  this.submitted = true; | ||||
|   if (this.entryForm.invalid) { | ||||
|     return; | ||||
|   }this.onCreate(); | ||||
| 
 | ||||
| }  | ||||
| 
 | ||||
| 
 | ||||
|   goToDataM(){ | ||||
|     this.router.navigate(['/cns-portal/datamanagement'],{ relativeTo: this.route }); | ||||
|   } | ||||
| 
 | ||||
|    | ||||
| downloadCSV(tableName): void { | ||||
|   this.mainService.downloadCSV(tableName).subscribe(response => { | ||||
|     const blob = new Blob([response], { type: 'application/octet-stream' }); | ||||
|     const url = window.URL.createObjectURL(blob); | ||||
|     const a = document.createElement('a'); | ||||
|     a.href = url; | ||||
|     a.download = `${tableName}.csv`; | ||||
|     document.body.appendChild(a); | ||||
|     a.click(); | ||||
|     document.body.removeChild(a); | ||||
|   }); | ||||
| }// updateaction
 | ||||
| } | ||||
| 
 | ||||
| @ -0,0 +1,40 @@ | ||||
| import { Injectable } from '@angular/core'; | ||||
| import { Observable } from "rxjs"; | ||||
| import { HttpClient, HttpHeaders, HttpParams, } from "@angular/common/http"; | ||||
| import { ApiRequestService } from "src/app/services/api/api-request.service"; | ||||
| import { environment } from 'src/environments/environment'; | ||||
| import baseUrl from 'src/app/services/api/helper'; | ||||
| @Injectable({ | ||||
|   providedIn: 'root' | ||||
| }) | ||||
| export class Categoryservice{ | ||||
|   private baseURL = "Category/Category" ;  constructor( | ||||
|     private http: HttpClient, | ||||
|     private apiRequest: ApiRequestService, | ||||
|   ) { } | ||||
|   getAll(page?: number, size?: number): Observable<any> { | ||||
|     return this.apiRequest.get(this.baseURL); | ||||
|   } | ||||
|   getById(id: number): Observable<any> { | ||||
|     const _http = this.baseURL + "/" + id; | ||||
|     return this.apiRequest.get(_http); | ||||
|   } | ||||
|   create(data: any): Observable<any> { | ||||
|     return this.apiRequest.post(this.baseURL, data); | ||||
|   } | ||||
|   update(id: number, data: any): Observable<any> { | ||||
|     const _http = this.baseURL + "/" + id; | ||||
|     return this.apiRequest.put(_http, data); | ||||
|   } | ||||
|   delete(id: number): Observable<any> { | ||||
|     const _http = this.baseURL + "/" + id; | ||||
|     return this.apiRequest.delete(_http); | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
| downloadCSV(tableName: string): Observable<Blob> { | ||||
|   const url = `${baseUrl}/api/template/download-csv?tableName=${tableName}`; | ||||
|   return this.http.get(url, { responseType: 'blob' }) | ||||
| 
 | ||||
| }// updateaction
 | ||||
| } | ||||
| @ -0,0 +1,4 @@ | ||||
| export const Categorycardvariable = { | ||||
|     "cardButton": false, | ||||
|     "cardmodeldata": `` | ||||
| } | ||||
| @ -0,0 +1,322 @@ | ||||
| <ol class="breadcrumb breadcrumb-arrow font-trirong"> | ||||
|   <li><a href="javascript://"> Duration type</a></li> | ||||
| </ol> | ||||
| <div class="dg-wrapper"> | ||||
|   <div class="clr-row"> | ||||
|     <div class="clr-col-8"> | ||||
|       <h3>Duration type </h3> | ||||
|     </div> | ||||
|     <div class="clr-col-4" style="text-align: right;"> | ||||
|  <button *ngIf="cardButton" id="add" class="btn btn-primary btn-icon" (click)="changeView()" > | ||||
|         <clr-icon *ngIf="!isCardview" shape="grid-view"></clr-icon>    <clr-icon *ngIf="isCardview" shape="bars"></clr-icon> | ||||
|       </button> | ||||
| <!-- upload and download template --> | ||||
|       <button class="btn btn-outline" (click)="goToDataM()"> | ||||
|         Upload | ||||
|      </button> | ||||
|      <button class="btn btn-outline" (click)="downloadCSV(tableName)" > | ||||
|       <clr-icon shape="export" ></clr-icon> Download | ||||
|     </button> | ||||
|     <!-- upload and download template end here-->        <!-- button --> | ||||
|      <button id="add" class="btn btn-primary" (click)="goToAdd(product)" > | ||||
|         <clr-icon shape="plus"></clr-icon>ADD | ||||
|       </button> | ||||
|     </div></div> | ||||
|   <ng-container *ngIf="!isCardview">   <!-- GET ALL -->     <clr-datagrid [clrDgLoading]="loading" [(clrDgSelected)]="selected"> | ||||
|     <clr-dg-placeholder> | ||||
|         <ng-template #loadingSpinner> | ||||
|             <clr-spinner>Loading ... </clr-spinner> | ||||
|         </ng-template> | ||||
|         <div *ngIf="error;else loadingSpinner">{{error}}</div> | ||||
|     </clr-dg-placeholder> | ||||
| 
 | ||||
| <clr-dg-column [clrDgField]="'duration'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Duration | ||||
| 						    </ng-container></clr-dg-column> | ||||
| 
 | ||||
|   | ||||
|  <!-- who column --> | ||||
|       <clr-dg-column> <ng-container *clrDgHideableColumn="{hidden: false}"> | ||||
|         <clr-icon shape="bars"></clr-icon> Action | ||||
|       </ng-container></clr-dg-column> | ||||
|       <!-- end -->  | ||||
| 
 | ||||
|  <clr-dg-row *clrDgItems="let user of product" [clrDgItem]="user"> | ||||
| 
 | ||||
| <clr-dg-cell>{{user.duration }}</clr-dg-cell> | ||||
| 
 | ||||
|   | ||||
|   <!-- who column --> | ||||
| <clr-dg-cell> | ||||
|   <clr-signpost> | ||||
|    <span style="cursor: pointer;" clrSignpostTrigger><clr-icon shape="help" class="success" style="color: rgb(0, 130, 236);"></clr-icon></span> | ||||
|    <clr-signpost-content [clrPosition]="'left-middle'" *clrIfOpen> | ||||
|      <h5 style="margin-top: 0">Who Column</h5> | ||||
|            <div>Account ID: <code class="clr-code">{{user.accountId}}</code></div> | ||||
|            <div>Created At: <code class="clr-code">{{user.createdAt| date}}</code></div> | ||||
|            <div>Created By: <code class="clr-code">{{user.createdBy}}</code></div> | ||||
|            <div>Updated At: <code class="clr-code">{{user.updatedAt | date}}</code></div> | ||||
|            <div>Updated By: <code class="clr-code">{{user.updatedBy}}</code></div> | ||||
|    </clr-signpost-content> | ||||
|  </clr-signpost> | ||||
|  </clr-dg-cell> | ||||
|   | ||||
|  <!-- who colmn -->  | ||||
|   | ||||
|  <clr-dg-action-overflow> | ||||
|         <button class="action-item" (click)="onEdit(user)">Edit</button> | ||||
|         <button class="action-item" (click)="onDelete(user)">Delete</button> | ||||
|       </clr-dg-action-overflow> | ||||
|          </clr-dg-row> | ||||
|     <clr-dg-footer> | ||||
|       <clr-dg-pagination #pagination [clrDgPageSize]="10"> | ||||
|         <clr-dg-page-size [clrPageSizeOptions]="[10,20,50,100]">Users per page</clr-dg-page-size> | ||||
|         {{pagination.firstItem + 1}} - {{pagination.lastItem + 1}} | ||||
|         of {{pagination.totalItems}} users | ||||
|       </clr-dg-pagination> | ||||
|     </clr-dg-footer> | ||||
|   </clr-datagrid> </ng-container> | ||||
| <ng-template #showInfo> | ||||
|   <div class="alert alert-info" role="alert"> | ||||
|       <div class="alert-items"> | ||||
|           <div class="alert-item static"> | ||||
|               <span class="alert-text"> | ||||
|                 <clr-icon class="alert-icon" shape="info-circle"></clr-icon> | ||||
|                     Data could be found. Loading.. | ||||
|                   <clr-spinner [clrMedium]="true">Loading ...</clr-spinner> | ||||
|               </span> | ||||
|           </div> | ||||
|       </div> | ||||
|   </div> | ||||
| </ng-template><ng-container *ngIf="isCardview"> | ||||
|   <div *ngIf="product; else showInfo" class="clr-row clr-align-items-start clr-justify-content-start"> | ||||
|     <div *ngFor="let app of product| filter:search; let index = i" class="clr-col-auto" > | ||||
|       <div class="clr-row"> | ||||
|         <div class="clr-col-lg-12 clr-col-md-4 clr-col-sm-4 clr-col-12" style="width: 410px;"> | ||||
|   <div class="card" style="padding: 10px; "[style.background-color]="cardmodal.cardColor !== '' ? cardmodal.cardColor : 'white'"> | ||||
|     <div class="card-body" style="display: grid; grid-template-columns: repeat(13, 1fr); grid-template-rows: repeat(7, 1fr); gap: 5px;"> | ||||
|       <ng-container *ngFor="let item of dashboardArray"> | ||||
|         <div [style.gridColumn]="item.x + 1" [style.gridRow]="item.y + 1" [style.gridColumnEnd]="item.x + item.cols + 1" | ||||
|           [style.gridRowEnd]="item.y + item.rows + 1"> | ||||
|           <div *ngIf="item.name === 'textField'" class="title-card card-title" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"     	 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||
|           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor"> | ||||
|            {{beforeText(item.fieldtext)}} | ||||
|           {{ app[transform(item.fieldtext) ] }} | ||||
|           {{afterText(item.fieldtext)}} | ||||
|           </div> | ||||
| 
 | ||||
|           <div *ngIf="item.name === 'dateField'" class="title-card card-title" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"			 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||
|           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor"> | ||||
|           {{beforeText(item.fieldtext)}} | ||||
|           {{ app[transform(item.fieldtext) ] | date}} | ||||
|           {{afterText(item.fieldtext)}} | ||||
|           </div> | ||||
|           <div *ngIf="item.name === 'numberField'" class="title-card card-title" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"			 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||
|           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor"> | ||||
|           {{beforeText(item.fieldtext)}} | ||||
|           {{ app[transform(item.fieldtext) ]}} | ||||
|           {{afterText(item.fieldtext)}} | ||||
|           </div> | ||||
| 
 | ||||
|           <div *ngIf="item.name === 'Line'" class="title-card card-title" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"> | ||||
|           <hr> | ||||
|           </div> | ||||
| 
 | ||||
|            | ||||
|           <div *ngIf="item.name === 'Icon'" class="icon-card" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'" | ||||
|           > | ||||
|             <clr-icon [attr.shape]="item.iconName"></clr-icon> | ||||
|           </div> | ||||
| 
 | ||||
|           <div *ngIf="item.name == 'Image'" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'" | ||||
|           [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||
|           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor">			 <img id="filePreview" [src]="item.imageURL" alt="File Preview" | ||||
|             [style.width]="item.imagewidth !== '' ? item.imagewidth + 'px' : '100px'" | ||||
|             [style.height]="item.imagewidth !== '' ? item.imagewidth + 'px' : '100px'"></div> | ||||
|         </div> | ||||
|       </ng-container> | ||||
|     </div> | ||||
|   </div> | ||||
|   </div> | ||||
|   </div> | ||||
|   </div> | ||||
|   </div> | ||||
|   </ng-container> | ||||
| </div> | ||||
| 
 | ||||
| 
 | ||||
| <!-- //		EDIT DATA......... --> | ||||
| <clr-modal [(clrModalOpen)]="modalEdit" [clrModalSize]="'lg'" [clrModalStaticBackdrop]="true"> | ||||
|   <h3 class="modal-title">Update Duration type | ||||
|  <!--update button --> | ||||
| 
 | ||||
| </h3> | ||||
|   <div class="modal-body" *ngIf="rowSelected.id"> | ||||
|     <h2 class="heading">{{rowSelected.id}}</h2> | ||||
| <!-- button --> | ||||
|     <form > | ||||
| <div class="clr-row">  | ||||
| <div class="clr-col-sm-12">        | ||||
| <label>Duration</label> | ||||
| 	        <input class="clr-input"  type="text" [(ngModel)]="rowSelected.duration" name="duration" /> | ||||
| 	      </div> | ||||
| 
 | ||||
|   </div>  | ||||
| 
 | ||||
| 
 | ||||
| <!-- form code start --> | ||||
|   <div *ngIf="checkFormCode"> | ||||
|     <h4 style="font-weight: 300;display: inline;">Extension</h4> | ||||
|     <br> | ||||
|     <hr> | ||||
|     <div class="clr-row"> | ||||
|       <div class="clr-col-4" *ngFor="let field of additionalFieldsFromBackend"> | ||||
|         <ng-container *ngIf="field.formCode === formcode" [ngSwitch]="field.fieldType"> | ||||
|           <!-- Text Input -->    <label  *ngSwitchCase="'text'">{{ field.fieldName }}</label> | ||||
|           <input *ngSwitchCase="'text'" [type]="field.fieldType"  name="{{ field.extValue }}" [(ngModel)]="rowSelected[field.extValue]" class="clr-input" /> | ||||
|    | ||||
|           <!-- Date Input -->    <label  *ngSwitchCase="'date'">{{ field.fieldName }}</label> | ||||
|           <input *ngSwitchCase="'date'" [type]="field.fieldType"  name="{{ field.extValue }}" [(ngModel)]="rowSelected[field.extValue]"  class="clr-input" /> | ||||
|    | ||||
|           <!-- Textarea -->    <label  *ngSwitchCase="'textarea'">{{ field.fieldName }}</label> | ||||
|           <textarea *ngSwitchCase="'textarea'"  name="{{ field.extValue }}" [(ngModel)]="rowSelected[field.extValue]"  col="10" row="2"></textarea> | ||||
|    | ||||
|           <!-- Checkbox -->    <label  *ngSwitchCase="'checkbox'">{{ field.fieldName }}</label><br> | ||||
|           <input *ngSwitchCase="'checkbox'" [type]="field.fieldType" name="{{ field.extValue }}" [(ngModel)]="rowSelected[field.extValue]"  class="clr-checkbox" /> | ||||
|         </ng-container> | ||||
|   </div> | ||||
|   </div> | ||||
| </div> | ||||
| 
 | ||||
|   <!-- form code end -->  <div class="modal-footer"> | ||||
|       <button type="button" class="btn btn-outline" (click)="modalEdit = false">Cancel</button> | ||||
|       <button type="submit" class="btn btn-primary"  (click)="onUpdate(rowSelected.id)">Update</button> | ||||
|       </div> | ||||
|     </form> | ||||
|   </div> | ||||
| </clr-modal> | ||||
| <clr-modal [(clrModalOpen)]="modaldelete" [clrModalSize]="'lg'" [clrModalStaticBackdrop]="true"> | ||||
|   <div class="modal-body" *ngIf="rowSelected.id"> | ||||
|     <h1 class="delete">Are You Sure Want to delete?</h1> | ||||
|     <h2 class="heading">{{rowSelected.id}}</h2> | ||||
|     <div class="modal-footer"> | ||||
|       <button type="button" class="btn btn-outline" (click)="modaldelete = false">Cancel</button> | ||||
|     <button type="button" (click)="delete(rowSelected.id)" class="btn btn-primary" >Delete</button> | ||||
|     </div> | ||||
|   </div> | ||||
| </clr-modal> | ||||
| <!-- ADD FORM ..... --> | ||||
| <clr-modal [(clrModalOpen)]="modalAdd" [clrModalSize]="'lg'" [clrModalStaticBackdrop]="true"> | ||||
|   <h3 class="modal-title">Add Duration type  | ||||
| 
 | ||||
| 
 | ||||
|   <!-- aeroplane icon --> | ||||
|             | ||||
|     <a *ngIf="userrole?.includes('ADMIN')" style="float: right;" href="javascript:void(0)" role="tooltip" aria-haspopup="true" | ||||
|       class="tooltip tooltip-sm tooltip-bottom-left"> | ||||
|       <a id="build_extension" [routerLink]="['../extension/all']" [queryParams]="{ formCode: 'Duration_type_formCode' }"> | ||||
|         <clr-icon shape="airplane" size="32"></clr-icon> | ||||
|       </a> | ||||
|       <span class="tooltip-content">Form Extension</span> | ||||
|     </a> </h3> | ||||
|   <div class="modal-body"> | ||||
|      <form [formGroup]="entryForm" > | ||||
|    <div class="clr-row" style="height: fit-content;"> | ||||
| 
 | ||||
| <div class="clr-col-sm-12"> | ||||
|  <label>  Duration</label> | ||||
|  <input class="clr-input"  type="text"  formControlName="duration" />        | ||||
|  </div> | ||||
| 
 | ||||
|   | ||||
|  </div>  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|       <!-- form code start --> | ||||
|       <div *ngIf="checkFormCode"> | ||||
|         <h4 style="font-weight: 300;display: inline;">Extension</h4> | ||||
|         <br> | ||||
|         <hr> | ||||
|         <div class="clr-row"> | ||||
|           <div class="clr-col-4" *ngFor="let field of additionalFieldsFromBackend"> | ||||
|             <ng-container *ngIf="field.formCode === formcode" [ngSwitch]="field.fieldType"> | ||||
|               <!-- Text Input --> <label *ngSwitchCase="'text'">{{ field.fieldName }}</label> | ||||
|               <input *ngSwitchCase="'text'" [type]="field.fieldType" [formControlName]="field.extValue" | ||||
|                 class="clr-input" /> | ||||
|               <!-- Date Input --> <label *ngSwitchCase="'date'">{{ field.fieldName }}</label> | ||||
|               <input *ngSwitchCase="'date'" [type]="field.fieldType" [formControlName]="field.extValue" | ||||
|                 class="clr-input" /> | ||||
|               <!-- Textarea --> <label *ngSwitchCase="'textarea'">{{ field.fieldName }}</label> | ||||
|               <textarea *ngSwitchCase="'textarea'" [formControlName]="field.extValue" col="10" row="2"></textarea> | ||||
|               <!-- Checkbox --> <label *ngSwitchCase="'checkbox'">{{ field.fieldName }}</label><br> | ||||
|               <input *ngSwitchCase="'checkbox'" [type]="field.fieldType" [formControlName]="field.extValue" | ||||
|                 class="clr-checkbox" /> | ||||
|             </ng-container> | ||||
|           </div> | ||||
|         </div> | ||||
|       </div> | ||||
|       <!-- form code end --> <div class="modal-footer"> | ||||
| <button type="button" class="btn btn-outline" (click)="modalAdd = false">Cancel</button> | ||||
|         <button type="submit" class="btn btn-primary" (click)="onSubmit()">ADD</button> | ||||
|         </div> | ||||
| </form> | ||||
|   </div> | ||||
| </clr-modal> | ||||
| 
 | ||||
| 
 | ||||
|   <!-- htmlpopup --> | ||||
| @ -0,0 +1,78 @@ | ||||
| //@import "../../../../assets/scss/var"; | ||||
| .s-info-bar { | ||||
|   display: flex; | ||||
|   flex-direction: row; | ||||
|   justify-content: space-between; | ||||
|   button { | ||||
|     outline: none; | ||||
|   } | ||||
| } | ||||
| .delete,.heading{ | ||||
|   text-align: center; | ||||
|   color: red; | ||||
| } | ||||
| .entry-pg { | ||||
|   width: 750px; | ||||
| } | ||||
| 
 | ||||
| .button1::after { | ||||
|   content: none; | ||||
| } | ||||
| .button1:hover::after { | ||||
|   content: "ADD ROWS"; | ||||
| } | ||||
| 
 | ||||
| .section { | ||||
|   background-color: #dddddd; | ||||
|   height: 40px; | ||||
| } | ||||
| 
 | ||||
| .section p { | ||||
|   //color: white; | ||||
|   padding: 10px; | ||||
|   font-size: 18px; | ||||
| } | ||||
| 
 | ||||
| .clr-input { | ||||
|   color: #212529; | ||||
|   border: 1px solid #ced4da; | ||||
|   border-radius: 0.25rem; | ||||
|   padding: 0.75rem 0.75rem; | ||||
|   margin-top: 3px; | ||||
|   width: 100%; | ||||
|   margin-bottom: 10px; | ||||
| } | ||||
| 
 | ||||
| .clr-file { | ||||
|   color: #212529; | ||||
|   border: 1px solid #ced4da; | ||||
|   border-radius: 0.25rem; | ||||
|   //padding: 0.6rem 0.75rem; | ||||
|   margin-top: 3px; | ||||
|   width: 100%; | ||||
|   margin-bottom: 10px; | ||||
| } | ||||
| 
 | ||||
| .center { | ||||
|   text-align: center; | ||||
| } | ||||
| select{ | ||||
|   width: 100%; | ||||
|   margin-top: 3px; | ||||
|   padding: 5px 5px; | ||||
|   border: 1px solid #ccc; | ||||
|   border-radius: 4px; | ||||
| } | ||||
| input[type=text],[type=date],[type=number],textarea { | ||||
|   width: 100%; | ||||
|   padding: 15px 15px; | ||||
|   background-color:rgb(255, 255, 255); | ||||
|  // margin: 8px 0; | ||||
|   display: inline-block; | ||||
|   border: 1px solid #ccc; | ||||
|   border-radius: 4px; | ||||
|   box-sizing: border-box; | ||||
| } | ||||
| .error_mess { | ||||
|   color: red; | ||||
| } | ||||
| @ -0,0 +1,238 @@ | ||||
| import { Component, OnInit } from '@angular/core'; | ||||
| import { ToastrService } from 'ngx-toastr'; | ||||
| import { AlertService } from 'src/app/services/alert.service'; | ||||
| import { Duration_typeservice} from './Duration_type.service'; | ||||
| import { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, ValidationErrors } from '@angular/forms'; | ||||
| import { ExtensionService } from 'src/app/services/fnd/extension.service'; | ||||
| import { DashboardContentModel2 } from 'src/app/models/builder/dashboard';  | ||||
| import { Duration_typecardvariable } from './Duration_type_cardvariable'; | ||||
| import { UserInfoService } from 'src/app/services/user-info.service'; | ||||
| import { ActivatedRoute, Router } from '@angular/router'; | ||||
| declare var JsBarcode: any;  | ||||
| @Component({ | ||||
|   selector: 'app-Duration_type', | ||||
|   templateUrl: './Duration_type.component.html', | ||||
|   styleUrls: ['./Duration_type.component.scss'] | ||||
| }) | ||||
| export class Duration_typeComponent implements OnInit { | ||||
|   cardButton = Duration_typecardvariable.cardButton; | ||||
|   cardmodeldata = Duration_typecardvariable.cardmodeldata; | ||||
|   public dashboardArray: DashboardContentModel2[]; | ||||
|   isCardview = Duration_typecardvariable.cardButton; | ||||
|   cardmodal;  changeView(){ | ||||
|   this.isCardview = !this.isCardview; | ||||
|   } | ||||
|     beforeText(fieldtext: string): string { // Extract the text before the first '<'
 | ||||
|     const index = fieldtext.indexOf('<'); | ||||
|     return index !== -1 ? fieldtext.substring(0, index) : fieldtext; | ||||
|   } | ||||
|   afterText(fieldtext: string): string { // Extract the text after the last '>'
 | ||||
|     const index = fieldtext.lastIndexOf('>'); | ||||
|     return index !== -1 ? fieldtext.substring(index + 1) : ''; | ||||
|   } | ||||
|   transform(fieldtext: string): string { | ||||
|     const match = fieldtext.match(/<([^>]*)>/); | ||||
|     return match ? match[1] : ''; // Extract the text between '<' and '>'
 | ||||
|   } | ||||
|  userrole; | ||||
|   rowSelected :any= {}; | ||||
|   modaldelete=false; | ||||
|   modalEdit=false; | ||||
|   modalAdd= false; | ||||
|   public entryForm: FormGroup; | ||||
|   loading = false; | ||||
|   product; | ||||
|   modalOpenedforNewLine = false; | ||||
|   newLine:any; | ||||
|  additionalFieldsFromBackend: any[] = []; | ||||
|   formcode = 'Duration_type_formCode' | ||||
| tableName = 'Duration_type';  checkFormCode; selected: any[] = []; constructor( | ||||
|     private extensionService: ExtensionService, | ||||
| private userInfoService:UserInfoService, | ||||
|     private mainService:Duration_typeservice, | ||||
|     private alertService: AlertService, | ||||
|     private toastr: ToastrService, | ||||
|     private _fb: FormBuilder, | ||||
|  private router: Router,   | ||||
|     private route: ActivatedRoute  ) { } | ||||
| // component button 
 | ||||
|   ngOnInit(): void { | ||||
|     if(this.cardmodeldata !== ''){ | ||||
|      this.cardmodal = JSON.parse(this.cardmodeldata); | ||||
|     this.dashboardArray = this.cardmodal.dashboard.slice(); | ||||
|     console.log(this.dashboardArray) | ||||
|     } | ||||
|     this.userrole=this.userInfoService.getRoles(); | ||||
|     this.getData(); | ||||
|     this.entryForm = this._fb.group({ | ||||
| duration : [null], | ||||
| 
 | ||||
| 
 | ||||
|   | ||||
| 
 | ||||
|   }); // component_button200
 | ||||
|  // form code start
 | ||||
|     this.extensionService.getJsonObjectsByFormCodeList(this.formcode).subscribe(data => { | ||||
|       console.log(data); | ||||
|       const jsonArray = data.map((str) => JSON.parse(str)); | ||||
|       this.additionalFieldsFromBackend = jsonArray; | ||||
|       this.checkFormCode = this.additionalFieldsFromBackend.some(field => field.formCode === "Duration_type_formCode"); | ||||
|       console.log(this.checkFormCode); | ||||
|       console.log(this.additionalFieldsFromBackend); | ||||
|       if (this.additionalFieldsFromBackend && this.additionalFieldsFromBackend.length > 0) { | ||||
|         this.additionalFieldsFromBackend.forEach(field => { | ||||
|           if (field.formCode === this.formcode) { | ||||
|             if (!this.entryForm.contains(field.extValue)) { | ||||
|               // Add the control only if it doesn't exist in the form
 | ||||
|               this.entryForm.addControl(field.extValue, this._fb.control(field.fieldValue)); | ||||
|             } | ||||
|           } | ||||
|         }); | ||||
|       } | ||||
|     }); | ||||
|     console.log(this.entryForm.value); | ||||
|     // form code end 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
|  error;  | ||||
|   getData() { | ||||
|     this.mainService.getAll().subscribe((data) => { | ||||
|       console.log(data); | ||||
|       this.product = data; | ||||
|  if(this.product.length==0){ | ||||
|         this.error="No Data Available" | ||||
|      }    | ||||
|     },(error) => { | ||||
|       console.log(error); | ||||
|       if(error){ | ||||
|        this.error="Server Error"; | ||||
|      } | ||||
|     }); | ||||
|   } | ||||
|   onEdit(row) { | ||||
|     this.rowSelected = row; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     this.modalEdit = true; | ||||
|   } | ||||
|    onDelete(row) { | ||||
|     this.rowSelected = row; | ||||
|      this.modaldelete=true; | ||||
|   } | ||||
|   delete(id) | ||||
|   { | ||||
|     this.modaldelete = false; | ||||
|     console.log("in delete  "+id); | ||||
|     this.mainService.delete(id).subscribe( | ||||
|       (data) => { | ||||
|         console.log(data); | ||||
|         this.ngOnInit(); | ||||
|   if (data) {				      this.toastr.success('Deleted successfully');      } | ||||
|     }); | ||||
|   } | ||||
|     onUpdate(id) { | ||||
|     this.modalEdit = false; | ||||
| 
 | ||||
| 
 | ||||
|     //console.log("in update");
 | ||||
|     console.log("id  " + id); | ||||
|     console.log(this.rowSelected); | ||||
|     //console.log("out update");
 | ||||
|     this.mainService.update(id, this.rowSelected).subscribe( | ||||
|       (data) => { | ||||
|         console.log(data); | ||||
|         if (data || data.status >= 200 && data.status <= 299) { | ||||
|           this.toastr.success("Update Successfully"); | ||||
|         } | ||||
| setTimeout(() => { | ||||
|       this.ngOnInit(); | ||||
|     }, 500); | ||||
| 
 | ||||
| 
 | ||||
|       }, (error) => { | ||||
|         console.log(error); | ||||
|         if (error.status >= 200 && error.status <= 299) { | ||||
|           // this.toastr.success("update Succesfully");
 | ||||
|         } | ||||
|         if (error.status >= 400 && error.status <= 499) { | ||||
|           this.toastr.error("Not Updated"); | ||||
|         } | ||||
|         if (error.status >= 500 && error.status <= 599) { | ||||
|           this.toastr.error("Not Updated"); | ||||
|         } | ||||
|       }); | ||||
|     setTimeout(() => { | ||||
|       this.ngOnInit(); | ||||
|     }, 500); | ||||
|   }  | ||||
| onCreate() { | ||||
|      this.modalAdd=false; | ||||
| 
 | ||||
| 
 | ||||
|   this.mainService.create(this.entryForm.value).subscribe( | ||||
|     (data) => { | ||||
|       console.log(data); | ||||
|   if (data || data.status >= 200 && data.status <= 299) { | ||||
|           this.toastr.success("Added Successfully"); | ||||
|         } | ||||
| setTimeout(() => { | ||||
|       this.ngOnInit(); | ||||
|     }, 500); | ||||
| 
 | ||||
| 
 | ||||
|       }, (error) => { | ||||
|         console.log(error); | ||||
|         if (error.status >= 200 && error.status <= 299) { | ||||
|           // this.toastr.success("Added Succesfully");
 | ||||
|         } | ||||
|         if (error.status >= 400 && error.status <= 499) { | ||||
|           this.toastr.error("Not Added"); | ||||
|         } | ||||
|         if (error.status >= 500 && error.status <= 599) { | ||||
|           this.toastr.error("Not Added"); | ||||
|         } | ||||
|       }); | ||||
|     setTimeout(() => { | ||||
|       this.ngOnInit(); | ||||
|     }, 500); | ||||
|   } | ||||
|   goToAdd(row) { | ||||
| this.modalAdd = true; this.submitted = false; | ||||
| 
 | ||||
| 
 | ||||
|   } | ||||
|  submitted = false; | ||||
| onSubmit() { | ||||
|   console.log(this.entryForm.value); | ||||
|  this.submitted = true; | ||||
|   if (this.entryForm.invalid) { | ||||
|     return; | ||||
|   }this.onCreate(); | ||||
| 
 | ||||
| }  | ||||
| 
 | ||||
| 
 | ||||
|   goToDataM(){ | ||||
|     this.router.navigate(['/cns-portal/datamanagement'],{ relativeTo: this.route }); | ||||
|   } | ||||
| 
 | ||||
|    | ||||
| downloadCSV(tableName): void { | ||||
|   this.mainService.downloadCSV(tableName).subscribe(response => { | ||||
|     const blob = new Blob([response], { type: 'application/octet-stream' }); | ||||
|     const url = window.URL.createObjectURL(blob); | ||||
|     const a = document.createElement('a'); | ||||
|     a.href = url; | ||||
|     a.download = `${tableName}.csv`; | ||||
|     document.body.appendChild(a); | ||||
|     a.click(); | ||||
|     document.body.removeChild(a); | ||||
|   }); | ||||
| }// updateaction
 | ||||
| } | ||||
| 
 | ||||
| @ -0,0 +1,40 @@ | ||||
| import { Injectable } from '@angular/core'; | ||||
| import { Observable } from "rxjs"; | ||||
| import { HttpClient, HttpHeaders, HttpParams, } from "@angular/common/http"; | ||||
| import { ApiRequestService } from "src/app/services/api/api-request.service"; | ||||
| import { environment } from 'src/environments/environment'; | ||||
| import baseUrl from 'src/app/services/api/helper'; | ||||
| @Injectable({ | ||||
|   providedIn: 'root' | ||||
| }) | ||||
| export class Duration_typeservice{ | ||||
|   private baseURL = "Duration_type/Duration_type" ;  constructor( | ||||
|     private http: HttpClient, | ||||
|     private apiRequest: ApiRequestService, | ||||
|   ) { } | ||||
|   getAll(page?: number, size?: number): Observable<any> { | ||||
|     return this.apiRequest.get(this.baseURL); | ||||
|   } | ||||
|   getById(id: number): Observable<any> { | ||||
|     const _http = this.baseURL + "/" + id; | ||||
|     return this.apiRequest.get(_http); | ||||
|   } | ||||
|   create(data: any): Observable<any> { | ||||
|     return this.apiRequest.post(this.baseURL, data); | ||||
|   } | ||||
|   update(id: number, data: any): Observable<any> { | ||||
|     const _http = this.baseURL + "/" + id; | ||||
|     return this.apiRequest.put(_http, data); | ||||
|   } | ||||
|   delete(id: number): Observable<any> { | ||||
|     const _http = this.baseURL + "/" + id; | ||||
|     return this.apiRequest.delete(_http); | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
| downloadCSV(tableName: string): Observable<Blob> { | ||||
|   const url = `${baseUrl}/api/template/download-csv?tableName=${tableName}`; | ||||
|   return this.http.get(url, { responseType: 'blob' }) | ||||
| 
 | ||||
| }// updateaction
 | ||||
| } | ||||
| @ -0,0 +1,4 @@ | ||||
| export const Duration_typecardvariable = { | ||||
|     "cardButton": false, | ||||
|     "cardmodeldata": `` | ||||
| } | ||||
| @ -0,0 +1,322 @@ | ||||
| <ol class="breadcrumb breadcrumb-arrow font-trirong"> | ||||
|   <li><a href="javascript://"> Subscription type</a></li> | ||||
| </ol> | ||||
| <div class="dg-wrapper"> | ||||
|   <div class="clr-row"> | ||||
|     <div class="clr-col-8"> | ||||
|       <h3>Subscription type </h3> | ||||
|     </div> | ||||
|     <div class="clr-col-4" style="text-align: right;"> | ||||
|  <button *ngIf="cardButton" id="add" class="btn btn-primary btn-icon" (click)="changeView()" > | ||||
|         <clr-icon *ngIf="!isCardview" shape="grid-view"></clr-icon>    <clr-icon *ngIf="isCardview" shape="bars"></clr-icon> | ||||
|       </button> | ||||
| <!-- upload and download template --> | ||||
|       <button class="btn btn-outline" (click)="goToDataM()"> | ||||
|         Upload | ||||
|      </button> | ||||
|      <button class="btn btn-outline" (click)="downloadCSV(tableName)" > | ||||
|       <clr-icon shape="export" ></clr-icon> Download | ||||
|     </button> | ||||
|     <!-- upload and download template end here-->        <!-- button --> | ||||
|      <button id="add" class="btn btn-primary" (click)="goToAdd(product)" > | ||||
|         <clr-icon shape="plus"></clr-icon>ADD | ||||
|       </button> | ||||
|     </div></div> | ||||
|   <ng-container *ngIf="!isCardview">   <!-- GET ALL -->     <clr-datagrid [clrDgLoading]="loading" [(clrDgSelected)]="selected"> | ||||
|     <clr-dg-placeholder> | ||||
|         <ng-template #loadingSpinner> | ||||
|             <clr-spinner>Loading ... </clr-spinner> | ||||
|         </ng-template> | ||||
|         <div *ngIf="error;else loadingSpinner">{{error}}</div> | ||||
|     </clr-dg-placeholder> | ||||
| 
 | ||||
| <clr-dg-column [clrDgField]="'type'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Type | ||||
| 						    </ng-container></clr-dg-column> | ||||
| 
 | ||||
|   | ||||
|  <!-- who column --> | ||||
|       <clr-dg-column> <ng-container *clrDgHideableColumn="{hidden: false}"> | ||||
|         <clr-icon shape="bars"></clr-icon> Action | ||||
|       </ng-container></clr-dg-column> | ||||
|       <!-- end -->  | ||||
| 
 | ||||
|  <clr-dg-row *clrDgItems="let user of product" [clrDgItem]="user"> | ||||
| 
 | ||||
| <clr-dg-cell>{{user.type }}</clr-dg-cell> | ||||
| 
 | ||||
|   | ||||
|   <!-- who column --> | ||||
| <clr-dg-cell> | ||||
|   <clr-signpost> | ||||
|    <span style="cursor: pointer;" clrSignpostTrigger><clr-icon shape="help" class="success" style="color: rgb(0, 130, 236);"></clr-icon></span> | ||||
|    <clr-signpost-content [clrPosition]="'left-middle'" *clrIfOpen> | ||||
|      <h5 style="margin-top: 0">Who Column</h5> | ||||
|            <div>Account ID: <code class="clr-code">{{user.accountId}}</code></div> | ||||
|            <div>Created At: <code class="clr-code">{{user.createdAt| date}}</code></div> | ||||
|            <div>Created By: <code class="clr-code">{{user.createdBy}}</code></div> | ||||
|            <div>Updated At: <code class="clr-code">{{user.updatedAt | date}}</code></div> | ||||
|            <div>Updated By: <code class="clr-code">{{user.updatedBy}}</code></div> | ||||
|    </clr-signpost-content> | ||||
|  </clr-signpost> | ||||
|  </clr-dg-cell> | ||||
|   | ||||
|  <!-- who colmn -->  | ||||
|   | ||||
|  <clr-dg-action-overflow> | ||||
|         <button class="action-item" (click)="onEdit(user)">Edit</button> | ||||
|         <button class="action-item" (click)="onDelete(user)">Delete</button> | ||||
|       </clr-dg-action-overflow> | ||||
|          </clr-dg-row> | ||||
|     <clr-dg-footer> | ||||
|       <clr-dg-pagination #pagination [clrDgPageSize]="10"> | ||||
|         <clr-dg-page-size [clrPageSizeOptions]="[10,20,50,100]">Users per page</clr-dg-page-size> | ||||
|         {{pagination.firstItem + 1}} - {{pagination.lastItem + 1}} | ||||
|         of {{pagination.totalItems}} users | ||||
|       </clr-dg-pagination> | ||||
|     </clr-dg-footer> | ||||
|   </clr-datagrid> </ng-container> | ||||
| <ng-template #showInfo> | ||||
|   <div class="alert alert-info" role="alert"> | ||||
|       <div class="alert-items"> | ||||
|           <div class="alert-item static"> | ||||
|               <span class="alert-text"> | ||||
|                 <clr-icon class="alert-icon" shape="info-circle"></clr-icon> | ||||
|                     Data could be found. Loading.. | ||||
|                   <clr-spinner [clrMedium]="true">Loading ...</clr-spinner> | ||||
|               </span> | ||||
|           </div> | ||||
|       </div> | ||||
|   </div> | ||||
| </ng-template><ng-container *ngIf="isCardview"> | ||||
|   <div *ngIf="product; else showInfo" class="clr-row clr-align-items-start clr-justify-content-start"> | ||||
|     <div *ngFor="let app of product| filter:search; let index = i" class="clr-col-auto" > | ||||
|       <div class="clr-row"> | ||||
|         <div class="clr-col-lg-12 clr-col-md-4 clr-col-sm-4 clr-col-12" style="width: 410px;"> | ||||
|   <div class="card" style="padding: 10px; "[style.background-color]="cardmodal.cardColor !== '' ? cardmodal.cardColor : 'white'"> | ||||
|     <div class="card-body" style="display: grid; grid-template-columns: repeat(13, 1fr); grid-template-rows: repeat(7, 1fr); gap: 5px;"> | ||||
|       <ng-container *ngFor="let item of dashboardArray"> | ||||
|         <div [style.gridColumn]="item.x + 1" [style.gridRow]="item.y + 1" [style.gridColumnEnd]="item.x + item.cols + 1" | ||||
|           [style.gridRowEnd]="item.y + item.rows + 1"> | ||||
|           <div *ngIf="item.name === 'textField'" class="title-card card-title" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"     	 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||
|           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor"> | ||||
|            {{beforeText(item.fieldtext)}} | ||||
|           {{ app[transform(item.fieldtext) ] }} | ||||
|           {{afterText(item.fieldtext)}} | ||||
|           </div> | ||||
| 
 | ||||
|           <div *ngIf="item.name === 'dateField'" class="title-card card-title" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"			 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||
|           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor"> | ||||
|           {{beforeText(item.fieldtext)}} | ||||
|           {{ app[transform(item.fieldtext) ] | date}} | ||||
|           {{afterText(item.fieldtext)}} | ||||
|           </div> | ||||
|           <div *ngIf="item.name === 'numberField'" class="title-card card-title" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"			 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||
|           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor"> | ||||
|           {{beforeText(item.fieldtext)}} | ||||
|           {{ app[transform(item.fieldtext) ]}} | ||||
|           {{afterText(item.fieldtext)}} | ||||
|           </div> | ||||
| 
 | ||||
|           <div *ngIf="item.name === 'Line'" class="title-card card-title" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"> | ||||
|           <hr> | ||||
|           </div> | ||||
| 
 | ||||
|            | ||||
|           <div *ngIf="item.name === 'Icon'" class="icon-card" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'" | ||||
|           > | ||||
|             <clr-icon [attr.shape]="item.iconName"></clr-icon> | ||||
|           </div> | ||||
| 
 | ||||
|           <div *ngIf="item.name == 'Image'" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'" | ||||
|           [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||
|           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor">			 <img id="filePreview" [src]="item.imageURL" alt="File Preview" | ||||
|             [style.width]="item.imagewidth !== '' ? item.imagewidth + 'px' : '100px'" | ||||
|             [style.height]="item.imagewidth !== '' ? item.imagewidth + 'px' : '100px'"></div> | ||||
|         </div> | ||||
|       </ng-container> | ||||
|     </div> | ||||
|   </div> | ||||
|   </div> | ||||
|   </div> | ||||
|   </div> | ||||
|   </div> | ||||
|   </ng-container> | ||||
| </div> | ||||
| 
 | ||||
| 
 | ||||
| <!-- //		EDIT DATA......... --> | ||||
| <clr-modal [(clrModalOpen)]="modalEdit" [clrModalSize]="'lg'" [clrModalStaticBackdrop]="true"> | ||||
|   <h3 class="modal-title">Update Subscription type | ||||
|  <!--update button --> | ||||
| 
 | ||||
| </h3> | ||||
|   <div class="modal-body" *ngIf="rowSelected.id"> | ||||
|     <h2 class="heading">{{rowSelected.id}}</h2> | ||||
| <!-- button --> | ||||
|     <form > | ||||
| <div class="clr-row">  | ||||
| <div class="clr-col-sm-12">        | ||||
| <label>Type</label> | ||||
| 	        <input class="clr-input"  type="text" [(ngModel)]="rowSelected.type" name="type" /> | ||||
| 	      </div> | ||||
| 
 | ||||
|   </div>  | ||||
| 
 | ||||
| 
 | ||||
| <!-- form code start --> | ||||
|   <div *ngIf="checkFormCode"> | ||||
|     <h4 style="font-weight: 300;display: inline;">Extension</h4> | ||||
|     <br> | ||||
|     <hr> | ||||
|     <div class="clr-row"> | ||||
|       <div class="clr-col-4" *ngFor="let field of additionalFieldsFromBackend"> | ||||
|         <ng-container *ngIf="field.formCode === formcode" [ngSwitch]="field.fieldType"> | ||||
|           <!-- Text Input -->    <label  *ngSwitchCase="'text'">{{ field.fieldName }}</label> | ||||
|           <input *ngSwitchCase="'text'" [type]="field.fieldType"  name="{{ field.extValue }}" [(ngModel)]="rowSelected[field.extValue]" class="clr-input" /> | ||||
|    | ||||
|           <!-- Date Input -->    <label  *ngSwitchCase="'date'">{{ field.fieldName }}</label> | ||||
|           <input *ngSwitchCase="'date'" [type]="field.fieldType"  name="{{ field.extValue }}" [(ngModel)]="rowSelected[field.extValue]"  class="clr-input" /> | ||||
|    | ||||
|           <!-- Textarea -->    <label  *ngSwitchCase="'textarea'">{{ field.fieldName }}</label> | ||||
|           <textarea *ngSwitchCase="'textarea'"  name="{{ field.extValue }}" [(ngModel)]="rowSelected[field.extValue]"  col="10" row="2"></textarea> | ||||
|    | ||||
|           <!-- Checkbox -->    <label  *ngSwitchCase="'checkbox'">{{ field.fieldName }}</label><br> | ||||
|           <input *ngSwitchCase="'checkbox'" [type]="field.fieldType" name="{{ field.extValue }}" [(ngModel)]="rowSelected[field.extValue]"  class="clr-checkbox" /> | ||||
|         </ng-container> | ||||
|   </div> | ||||
|   </div> | ||||
| </div> | ||||
| 
 | ||||
|   <!-- form code end -->  <div class="modal-footer"> | ||||
|       <button type="button" class="btn btn-outline" (click)="modalEdit = false">Cancel</button> | ||||
|       <button type="submit" class="btn btn-primary"  (click)="onUpdate(rowSelected.id)">Update</button> | ||||
|       </div> | ||||
|     </form> | ||||
|   </div> | ||||
| </clr-modal> | ||||
| <clr-modal [(clrModalOpen)]="modaldelete" [clrModalSize]="'lg'" [clrModalStaticBackdrop]="true"> | ||||
|   <div class="modal-body" *ngIf="rowSelected.id"> | ||||
|     <h1 class="delete">Are You Sure Want to delete?</h1> | ||||
|     <h2 class="heading">{{rowSelected.id}}</h2> | ||||
|     <div class="modal-footer"> | ||||
|       <button type="button" class="btn btn-outline" (click)="modaldelete = false">Cancel</button> | ||||
|     <button type="button" (click)="delete(rowSelected.id)" class="btn btn-primary" >Delete</button> | ||||
|     </div> | ||||
|   </div> | ||||
| </clr-modal> | ||||
| <!-- ADD FORM ..... --> | ||||
| <clr-modal [(clrModalOpen)]="modalAdd" [clrModalSize]="'lg'" [clrModalStaticBackdrop]="true"> | ||||
|   <h3 class="modal-title">Add Subscription type  | ||||
| 
 | ||||
| 
 | ||||
|   <!-- aeroplane icon --> | ||||
|             | ||||
|     <a *ngIf="userrole?.includes('ADMIN')" style="float: right;" href="javascript:void(0)" role="tooltip" aria-haspopup="true" | ||||
|       class="tooltip tooltip-sm tooltip-bottom-left"> | ||||
|       <a id="build_extension" [routerLink]="['../extension/all']" [queryParams]="{ formCode: 'Subscription_type_formCode' }"> | ||||
|         <clr-icon shape="airplane" size="32"></clr-icon> | ||||
|       </a> | ||||
|       <span class="tooltip-content">Form Extension</span> | ||||
|     </a> </h3> | ||||
|   <div class="modal-body"> | ||||
|      <form [formGroup]="entryForm" > | ||||
|    <div class="clr-row" style="height: fit-content;"> | ||||
| 
 | ||||
| <div class="clr-col-sm-12"> | ||||
|  <label>  Type</label> | ||||
|  <input class="clr-input"  type="text"  formControlName="type" />        | ||||
|  </div> | ||||
| 
 | ||||
|   | ||||
|  </div>  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|       <!-- form code start --> | ||||
|       <div *ngIf="checkFormCode"> | ||||
|         <h4 style="font-weight: 300;display: inline;">Extension</h4> | ||||
|         <br> | ||||
|         <hr> | ||||
|         <div class="clr-row"> | ||||
|           <div class="clr-col-4" *ngFor="let field of additionalFieldsFromBackend"> | ||||
|             <ng-container *ngIf="field.formCode === formcode" [ngSwitch]="field.fieldType"> | ||||
|               <!-- Text Input --> <label *ngSwitchCase="'text'">{{ field.fieldName }}</label> | ||||
|               <input *ngSwitchCase="'text'" [type]="field.fieldType" [formControlName]="field.extValue" | ||||
|                 class="clr-input" /> | ||||
|               <!-- Date Input --> <label *ngSwitchCase="'date'">{{ field.fieldName }}</label> | ||||
|               <input *ngSwitchCase="'date'" [type]="field.fieldType" [formControlName]="field.extValue" | ||||
|                 class="clr-input" /> | ||||
|               <!-- Textarea --> <label *ngSwitchCase="'textarea'">{{ field.fieldName }}</label> | ||||
|               <textarea *ngSwitchCase="'textarea'" [formControlName]="field.extValue" col="10" row="2"></textarea> | ||||
|               <!-- Checkbox --> <label *ngSwitchCase="'checkbox'">{{ field.fieldName }}</label><br> | ||||
|               <input *ngSwitchCase="'checkbox'" [type]="field.fieldType" [formControlName]="field.extValue" | ||||
|                 class="clr-checkbox" /> | ||||
|             </ng-container> | ||||
|           </div> | ||||
|         </div> | ||||
|       </div> | ||||
|       <!-- form code end --> <div class="modal-footer"> | ||||
| <button type="button" class="btn btn-outline" (click)="modalAdd = false">Cancel</button> | ||||
|         <button type="submit" class="btn btn-primary" (click)="onSubmit()">ADD</button> | ||||
|         </div> | ||||
| </form> | ||||
|   </div> | ||||
| </clr-modal> | ||||
| 
 | ||||
| 
 | ||||
|   <!-- htmlpopup --> | ||||
| @ -0,0 +1,78 @@ | ||||
| //@import "../../../../assets/scss/var"; | ||||
| .s-info-bar { | ||||
|   display: flex; | ||||
|   flex-direction: row; | ||||
|   justify-content: space-between; | ||||
|   button { | ||||
|     outline: none; | ||||
|   } | ||||
| } | ||||
| .delete,.heading{ | ||||
|   text-align: center; | ||||
|   color: red; | ||||
| } | ||||
| .entry-pg { | ||||
|   width: 750px; | ||||
| } | ||||
| 
 | ||||
| .button1::after { | ||||
|   content: none; | ||||
| } | ||||
| .button1:hover::after { | ||||
|   content: "ADD ROWS"; | ||||
| } | ||||
| 
 | ||||
| .section { | ||||
|   background-color: #dddddd; | ||||
|   height: 40px; | ||||
| } | ||||
| 
 | ||||
| .section p { | ||||
|   //color: white; | ||||
|   padding: 10px; | ||||
|   font-size: 18px; | ||||
| } | ||||
| 
 | ||||
| .clr-input { | ||||
|   color: #212529; | ||||
|   border: 1px solid #ced4da; | ||||
|   border-radius: 0.25rem; | ||||
|   padding: 0.75rem 0.75rem; | ||||
|   margin-top: 3px; | ||||
|   width: 100%; | ||||
|   margin-bottom: 10px; | ||||
| } | ||||
| 
 | ||||
| .clr-file { | ||||
|   color: #212529; | ||||
|   border: 1px solid #ced4da; | ||||
|   border-radius: 0.25rem; | ||||
|   //padding: 0.6rem 0.75rem; | ||||
|   margin-top: 3px; | ||||
|   width: 100%; | ||||
|   margin-bottom: 10px; | ||||
| } | ||||
| 
 | ||||
| .center { | ||||
|   text-align: center; | ||||
| } | ||||
| select{ | ||||
|   width: 100%; | ||||
|   margin-top: 3px; | ||||
|   padding: 5px 5px; | ||||
|   border: 1px solid #ccc; | ||||
|   border-radius: 4px; | ||||
| } | ||||
| input[type=text],[type=date],[type=number],textarea { | ||||
|   width: 100%; | ||||
|   padding: 15px 15px; | ||||
|   background-color:rgb(255, 255, 255); | ||||
|  // margin: 8px 0; | ||||
|   display: inline-block; | ||||
|   border: 1px solid #ccc; | ||||
|   border-radius: 4px; | ||||
|   box-sizing: border-box; | ||||
| } | ||||
| .error_mess { | ||||
|   color: red; | ||||
| } | ||||
| @ -0,0 +1,238 @@ | ||||
| import { Component, OnInit } from '@angular/core'; | ||||
| import { ToastrService } from 'ngx-toastr'; | ||||
| import { AlertService } from 'src/app/services/alert.service'; | ||||
| import { Subscription_typeservice} from './Subscription_type.service'; | ||||
| import { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, ValidationErrors } from '@angular/forms'; | ||||
| import { ExtensionService } from 'src/app/services/fnd/extension.service'; | ||||
| import { DashboardContentModel2 } from 'src/app/models/builder/dashboard';  | ||||
| import { Subscription_typecardvariable } from './Subscription_type_cardvariable'; | ||||
| import { UserInfoService } from 'src/app/services/user-info.service'; | ||||
| import { ActivatedRoute, Router } from '@angular/router'; | ||||
| declare var JsBarcode: any;  | ||||
| @Component({ | ||||
|   selector: 'app-Subscription_type', | ||||
|   templateUrl: './Subscription_type.component.html', | ||||
|   styleUrls: ['./Subscription_type.component.scss'] | ||||
| }) | ||||
| export class Subscription_typeComponent implements OnInit { | ||||
|   cardButton = Subscription_typecardvariable.cardButton; | ||||
|   cardmodeldata = Subscription_typecardvariable.cardmodeldata; | ||||
|   public dashboardArray: DashboardContentModel2[]; | ||||
|   isCardview = Subscription_typecardvariable.cardButton; | ||||
|   cardmodal;  changeView(){ | ||||
|   this.isCardview = !this.isCardview; | ||||
|   } | ||||
|     beforeText(fieldtext: string): string { // Extract the text before the first '<'
 | ||||
|     const index = fieldtext.indexOf('<'); | ||||
|     return index !== -1 ? fieldtext.substring(0, index) : fieldtext; | ||||
|   } | ||||
|   afterText(fieldtext: string): string { // Extract the text after the last '>'
 | ||||
|     const index = fieldtext.lastIndexOf('>'); | ||||
|     return index !== -1 ? fieldtext.substring(index + 1) : ''; | ||||
|   } | ||||
|   transform(fieldtext: string): string { | ||||
|     const match = fieldtext.match(/<([^>]*)>/); | ||||
|     return match ? match[1] : ''; // Extract the text between '<' and '>'
 | ||||
|   } | ||||
|  userrole; | ||||
|   rowSelected :any= {}; | ||||
|   modaldelete=false; | ||||
|   modalEdit=false; | ||||
|   modalAdd= false; | ||||
|   public entryForm: FormGroup; | ||||
|   loading = false; | ||||
|   product; | ||||
|   modalOpenedforNewLine = false; | ||||
|   newLine:any; | ||||
|  additionalFieldsFromBackend: any[] = []; | ||||
|   formcode = 'Subscription_type_formCode' | ||||
| tableName = 'Subscription_type';  checkFormCode; selected: any[] = []; constructor( | ||||
|     private extensionService: ExtensionService, | ||||
| private userInfoService:UserInfoService, | ||||
|     private mainService:Subscription_typeservice, | ||||
|     private alertService: AlertService, | ||||
|     private toastr: ToastrService, | ||||
|     private _fb: FormBuilder, | ||||
|  private router: Router,   | ||||
|     private route: ActivatedRoute  ) { } | ||||
| // component button 
 | ||||
|   ngOnInit(): void { | ||||
|     if(this.cardmodeldata !== ''){ | ||||
|      this.cardmodal = JSON.parse(this.cardmodeldata); | ||||
|     this.dashboardArray = this.cardmodal.dashboard.slice(); | ||||
|     console.log(this.dashboardArray) | ||||
|     } | ||||
|     this.userrole=this.userInfoService.getRoles(); | ||||
|     this.getData(); | ||||
|     this.entryForm = this._fb.group({ | ||||
| type : [null], | ||||
| 
 | ||||
| 
 | ||||
|   | ||||
| 
 | ||||
|   }); // component_button200
 | ||||
|  // form code start
 | ||||
|     this.extensionService.getJsonObjectsByFormCodeList(this.formcode).subscribe(data => { | ||||
|       console.log(data); | ||||
|       const jsonArray = data.map((str) => JSON.parse(str)); | ||||
|       this.additionalFieldsFromBackend = jsonArray; | ||||
|       this.checkFormCode = this.additionalFieldsFromBackend.some(field => field.formCode === "Subscription_type_formCode"); | ||||
|       console.log(this.checkFormCode); | ||||
|       console.log(this.additionalFieldsFromBackend); | ||||
|       if (this.additionalFieldsFromBackend && this.additionalFieldsFromBackend.length > 0) { | ||||
|         this.additionalFieldsFromBackend.forEach(field => { | ||||
|           if (field.formCode === this.formcode) { | ||||
|             if (!this.entryForm.contains(field.extValue)) { | ||||
|               // Add the control only if it doesn't exist in the form
 | ||||
|               this.entryForm.addControl(field.extValue, this._fb.control(field.fieldValue)); | ||||
|             } | ||||
|           } | ||||
|         }); | ||||
|       } | ||||
|     }); | ||||
|     console.log(this.entryForm.value); | ||||
|     // form code end 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
|  error;  | ||||
|   getData() { | ||||
|     this.mainService.getAll().subscribe((data) => { | ||||
|       console.log(data); | ||||
|       this.product = data; | ||||
|  if(this.product.length==0){ | ||||
|         this.error="No Data Available" | ||||
|      }    | ||||
|     },(error) => { | ||||
|       console.log(error); | ||||
|       if(error){ | ||||
|        this.error="Server Error"; | ||||
|      } | ||||
|     }); | ||||
|   } | ||||
|   onEdit(row) { | ||||
|     this.rowSelected = row; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     this.modalEdit = true; | ||||
|   } | ||||
|    onDelete(row) { | ||||
|     this.rowSelected = row; | ||||
|      this.modaldelete=true; | ||||
|   } | ||||
|   delete(id) | ||||
|   { | ||||
|     this.modaldelete = false; | ||||
|     console.log("in delete  "+id); | ||||
|     this.mainService.delete(id).subscribe( | ||||
|       (data) => { | ||||
|         console.log(data); | ||||
|         this.ngOnInit(); | ||||
|   if (data) {				      this.toastr.success('Deleted successfully');      } | ||||
|     }); | ||||
|   } | ||||
|     onUpdate(id) { | ||||
|     this.modalEdit = false; | ||||
| 
 | ||||
| 
 | ||||
|     //console.log("in update");
 | ||||
|     console.log("id  " + id); | ||||
|     console.log(this.rowSelected); | ||||
|     //console.log("out update");
 | ||||
|     this.mainService.update(id, this.rowSelected).subscribe( | ||||
|       (data) => { | ||||
|         console.log(data); | ||||
|         if (data || data.status >= 200 && data.status <= 299) { | ||||
|           this.toastr.success("Update Successfully"); | ||||
|         } | ||||
| setTimeout(() => { | ||||
|       this.ngOnInit(); | ||||
|     }, 500); | ||||
| 
 | ||||
| 
 | ||||
|       }, (error) => { | ||||
|         console.log(error); | ||||
|         if (error.status >= 200 && error.status <= 299) { | ||||
|           // this.toastr.success("update Succesfully");
 | ||||
|         } | ||||
|         if (error.status >= 400 && error.status <= 499) { | ||||
|           this.toastr.error("Not Updated"); | ||||
|         } | ||||
|         if (error.status >= 500 && error.status <= 599) { | ||||
|           this.toastr.error("Not Updated"); | ||||
|         } | ||||
|       }); | ||||
|     setTimeout(() => { | ||||
|       this.ngOnInit(); | ||||
|     }, 500); | ||||
|   }  | ||||
| onCreate() { | ||||
|      this.modalAdd=false; | ||||
| 
 | ||||
| 
 | ||||
|   this.mainService.create(this.entryForm.value).subscribe( | ||||
|     (data) => { | ||||
|       console.log(data); | ||||
|   if (data || data.status >= 200 && data.status <= 299) { | ||||
|           this.toastr.success("Added Successfully"); | ||||
|         } | ||||
| setTimeout(() => { | ||||
|       this.ngOnInit(); | ||||
|     }, 500); | ||||
| 
 | ||||
| 
 | ||||
|       }, (error) => { | ||||
|         console.log(error); | ||||
|         if (error.status >= 200 && error.status <= 299) { | ||||
|           // this.toastr.success("Added Succesfully");
 | ||||
|         } | ||||
|         if (error.status >= 400 && error.status <= 499) { | ||||
|           this.toastr.error("Not Added"); | ||||
|         } | ||||
|         if (error.status >= 500 && error.status <= 599) { | ||||
|           this.toastr.error("Not Added"); | ||||
|         } | ||||
|       }); | ||||
|     setTimeout(() => { | ||||
|       this.ngOnInit(); | ||||
|     }, 500); | ||||
|   } | ||||
|   goToAdd(row) { | ||||
| this.modalAdd = true; this.submitted = false; | ||||
| 
 | ||||
| 
 | ||||
|   } | ||||
|  submitted = false; | ||||
| onSubmit() { | ||||
|   console.log(this.entryForm.value); | ||||
|  this.submitted = true; | ||||
|   if (this.entryForm.invalid) { | ||||
|     return; | ||||
|   }this.onCreate(); | ||||
| 
 | ||||
| }  | ||||
| 
 | ||||
| 
 | ||||
|   goToDataM(){ | ||||
|     this.router.navigate(['/cns-portal/datamanagement'],{ relativeTo: this.route }); | ||||
|   } | ||||
| 
 | ||||
|    | ||||
| downloadCSV(tableName): void { | ||||
|   this.mainService.downloadCSV(tableName).subscribe(response => { | ||||
|     const blob = new Blob([response], { type: 'application/octet-stream' }); | ||||
|     const url = window.URL.createObjectURL(blob); | ||||
|     const a = document.createElement('a'); | ||||
|     a.href = url; | ||||
|     a.download = `${tableName}.csv`; | ||||
|     document.body.appendChild(a); | ||||
|     a.click(); | ||||
|     document.body.removeChild(a); | ||||
|   }); | ||||
| }// updateaction
 | ||||
| } | ||||
| 
 | ||||
| @ -0,0 +1,40 @@ | ||||
| import { Injectable } from '@angular/core'; | ||||
| import { Observable } from "rxjs"; | ||||
| import { HttpClient, HttpHeaders, HttpParams, } from "@angular/common/http"; | ||||
| import { ApiRequestService } from "src/app/services/api/api-request.service"; | ||||
| import { environment } from 'src/environments/environment'; | ||||
| import baseUrl from 'src/app/services/api/helper'; | ||||
| @Injectable({ | ||||
|   providedIn: 'root' | ||||
| }) | ||||
| export class Subscription_typeservice{ | ||||
|   private baseURL = "Subscription_type/Subscription_type" ;  constructor( | ||||
|     private http: HttpClient, | ||||
|     private apiRequest: ApiRequestService, | ||||
|   ) { } | ||||
|   getAll(page?: number, size?: number): Observable<any> { | ||||
|     return this.apiRequest.get(this.baseURL); | ||||
|   } | ||||
|   getById(id: number): Observable<any> { | ||||
|     const _http = this.baseURL + "/" + id; | ||||
|     return this.apiRequest.get(_http); | ||||
|   } | ||||
|   create(data: any): Observable<any> { | ||||
|     return this.apiRequest.post(this.baseURL, data); | ||||
|   } | ||||
|   update(id: number, data: any): Observable<any> { | ||||
|     const _http = this.baseURL + "/" + id; | ||||
|     return this.apiRequest.put(_http, data); | ||||
|   } | ||||
|   delete(id: number): Observable<any> { | ||||
|     const _http = this.baseURL + "/" + id; | ||||
|     return this.apiRequest.delete(_http); | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
| downloadCSV(tableName: string): Observable<Blob> { | ||||
|   const url = `${baseUrl}/api/template/download-csv?tableName=${tableName}`; | ||||
|   return this.http.get(url, { responseType: 'blob' }) | ||||
| 
 | ||||
| }// updateaction
 | ||||
| } | ||||
| @ -0,0 +1,4 @@ | ||||
| export const Subscription_typecardvariable = { | ||||
|     "cardButton": false, | ||||
|     "cardmodeldata": `` | ||||
| } | ||||
| @ -1,3 +1,7 @@ | ||||
| import { Add_new_subscriptionComponent } from './BuilderComponents/basicp1/Add_new_subscription/Add_new_subscription.component'; | ||||
| import { CategoryComponent } from './BuilderComponents/basicp1/Category/Category.component'; | ||||
| import { Duration_typeComponent } from './BuilderComponents/basicp1/Duration_type/Duration_type.component'; | ||||
| import { Subscription_typeComponent } from './BuilderComponents/basicp1/Subscription_type/Subscription_type.component'; | ||||
| 
 | ||||
| import { SequencegenaratorComponent } from './fnd/sequencegenarator/sequencegenarator.component'; | ||||
| import { Component, NgModule } from '@angular/core'; | ||||
| @ -256,6 +260,18 @@ const routes: Routes = [ | ||||
| 
 | ||||
| 
 | ||||
|       // buildercomponents
 | ||||
| {path:'Add_new_subscription',component:Add_new_subscriptionComponent}, | ||||
| 
 | ||||
| 
 | ||||
| {path:'Category',component:CategoryComponent}, | ||||
| 
 | ||||
| 
 | ||||
| {path:'Duration_type',component:Duration_typeComponent}, | ||||
| 
 | ||||
| 
 | ||||
| {path:'Subscription_type',component:Subscription_typeComponent}, | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| @ -1,3 +1,7 @@ | ||||
| import { Add_new_subscriptionComponent } from './BuilderComponents/basicp1/Add_new_subscription/Add_new_subscription.component'; | ||||
| import { CategoryComponent } from './BuilderComponents/basicp1/Category/Category.component'; | ||||
| import { Duration_typeComponent } from './BuilderComponents/basicp1/Duration_type/Duration_type.component'; | ||||
| import { Subscription_typeComponent } from './BuilderComponents/basicp1/Subscription_type/Subscription_type.component'; | ||||
| 
 | ||||
| 
 | ||||
| import { CommonModule } from '@angular/common'; | ||||
| @ -129,6 +133,18 @@ import { Stepper_workflowComponent } from './BuilderComponents/stepperworkflow/S | ||||
| 
 | ||||
| 
 | ||||
|     // buildercomponents
 | ||||
| Add_new_subscriptionComponent, | ||||
| 
 | ||||
| 
 | ||||
| CategoryComponent, | ||||
| 
 | ||||
| 
 | ||||
| Duration_typeComponent, | ||||
| 
 | ||||
| 
 | ||||
| Subscription_typeComponent, | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| @ -226,10 +226,15 @@ | ||||
|   "MENU_ACTION_LINK": "Menu Action Link", | ||||
|   "STATUS": "Status", | ||||
|   "SUB_MENU": "Sub Menu", | ||||
|   "Active": "Active", | ||||
|   "Description": "Description", | ||||
|   "Fileupload_Field": "Fileupload_Field", | ||||
|   "Test22": "Test22", | ||||
|   "Test11": "Test11", | ||||
|   "Type": "Type", | ||||
|   "Add_new_subscription": "Add_new_subscription", | ||||
|   "Category": "Category", | ||||
|   "Email": "Email", | ||||
|   "Duration_type": "Duration_type", | ||||
|   "Price": "Price", | ||||
|   "Subscription_type": "Subscription_type", | ||||
|   "Duration": "Duration", | ||||
|   "Renewal_Date": "Renewal_Date", | ||||
|   "Email_Field": "Email_Field", | ||||
|   "Name": "Name" | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user