package com.realnet.forma.Services;
import com.realnet.forma.Repository.TestmRepository;
import com.realnet.forma.Entity.Testm
;import java.util.*;

import org.springframework.beans.factory.annotation.Autowired;
import com.realnet.SequenceGenerator.Service.SequenceService;
import com.realnet.Notification.Entity.NotificationService;
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.forma.Entity.Testm;
import com.realnet.forma.Services.TestmService;





import com.realnet.forma.Entity.Testm;
import com.realnet.forma.Services.TestmService;



















	import org.springframework.stereotype.Service;

@Service
 public class TestmService {
@Autowired
private TestmRepository Repository;
	@Autowired
	private AppUserServiceImpl userService; 
@Autowired
	private RealmService realmService;





@Autowired
	private TestmService selecdyaserv;



@Autowired
	private TestmService selectautoserv;

















public Testm Savedata(Testm data) {







 
if (data.getSelecdya() != null) {
			Testm get =  selecdyaserv.getdetailsbyId(data.getSelecdya());
			data.setSelecdyaname(get.getNamem());

		}

 





 
if (data.getSelectauto() != null) {
			Testm get =  selectautoserv.getdetailsbyId(data.getSelectauto());
			data.setSelectautotypename(get.getNamem());

		}

 


















	data.setUpdatedBy(getUser().getUserId());
		data.setCreatedBy(getUser().getUserId());
		data.setAccountId(getUser().getAccount().getAccount_id());
Testm save = Repository.save(data);
				return save;	
			}


//	get all with pagination
	public Page<Testm> getAllWithPagination(Pageable page) {
		return Repository.findAll(page, getUser().getUserId());
	}			
public List<Testm> getdetails() {  
		List<Realm> realm = realmService.findByUserId(getUser().getUserId());
List<Testm> all = Repository.findAll(getUser().getUserId());
		
		return all ;		}


public Testm getdetailsbyId(Integer id) {
	return Repository.findById(id).get();
			}


	public void delete_by_id(Integer id) {
 Repository.deleteById(id);
}


public Testm update(Testm data,Integer id) {
	Testm old = Repository.findById(id).get();
old.setNamem(data.getNamem());

old.setSelectsta(data.getSelectsta());

old.setSelectmulsta(data.getSelectmulsta());

old.setSelecdya(data.getSelecdya());

old.setSelectdyamul(data.getSelectdyamul());

old.setSelectauto(data.getSelectauto());

old.setSelectautomul(data.getSelectautomul());

old.setChild(data.getChild());




 
old.setBar_code(data.getBar_code());
 

 
old.setQr_code(data.getQr_code());
 

  

old.setNumbera(data.getNumbera());

old.setNumberb(data.getNumberb());

old.setCalculatedadd(data.getCalculatedadd());



final Testm test = Repository.save(old);
		data.setUpdatedBy(getUser().getUserId());
  return test;} 




























 public AppUser getUser() {
		AppUser user = userService.getLoggedInUser();
		return user;

	}}
