File

src/sales-force/sales-force-type/sales-force-type.services.ts

Index

Properties
Methods

Constructor

constructor(salesForceTypeRepository: Repository)
Parameters :
Name Type Optional
salesForceTypeRepository Repository<SalesForceType> No

Methods

Async createSalesForceType
createSalesForceType(body: SalesForceTypeBody, session: Session)
Parameters :
Name Type Optional
body SalesForceTypeBody No
session Session No
Returns : unknown
Async getSalesForceType
getSalesForceType(query: SalesForceTypeQuery)
Parameters :
Name Type Optional
query SalesForceTypeQuery No
Returns : unknown
Async putSalesForce
putSalesForce(body: SalesForceTypeBody, id: number, session: Session)
Parameters :
Name Type Optional
body SalesForceTypeBody No
id number No
session Session No
Returns : unknown

Properties

Private Readonly logger
Default value : new Logger(SalesForceTypeService.name)
import { HttpException, HttpStatus, Inject, Injectable, Logger, forwardRef } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Between, FindOptionsWhere, ILike, In, Repository } from 'typeorm';
import { SalesForceBody, SalesForceQuery } from '../dto/sales-force.dto';
import { SalesForce } from '../entities/sales-force.entity';
import { OrganizationChartService } from '../organization-chart/organization-chart.services';
import { ClientService } from 'src/client/client.service';
import { SalesForceType } from '../entities/sales-force-type.entity';
import { SalesForceTypeBody, SalesForceTypeQuery } from '../dto/sales-force-type.dto';
import { Session } from 'src/middleware/keyclock.middleware';

@Injectable()
export class SalesForceTypeService {
  private readonly logger = new Logger(SalesForceTypeService.name);
  constructor(
    @InjectRepository(SalesForceType)
    private readonly salesForceTypeRepository: Repository<SalesForceType>,
  ) { }

  async createSalesForceType(body: SalesForceTypeBody,session:Session) {
    let salesForceType= new SalesForceType();
    salesForceType.active = body.active;
    salesForceType.nameSalesForceType = body.nameSalesForceType;
    salesForceType.lastAlterationDate = session.username;
    salesForceType.userCreate = session.username;
    this.salesForceTypeRepository.save(salesForceType);
    return salesForceType ;
  }

  async putSalesForce(body: SalesForceTypeBody, id: number, session: Session) {

    
    const salesForceType = await this.salesForceTypeRepository.findOne({
      where: {
        id,
      }
    });
    salesForceType.active = body.active;
    salesForceType.nameSalesForceType = body.nameSalesForceType;
    salesForceType.lastAlterationDate = session.username;
    await this.salesForceTypeRepository.save(salesForceType);
    return salesForceType ;
  }

  async getSalesForceType(query: SalesForceTypeQuery) {
    const take = query.pageRows || 10;
    const page = query.pageNumber || 1;
    const skip = (page - 1) * take;
    let where: FindOptionsWhere<SalesForceType> = {
      nameSalesForceType: ILike(`%${query.nameSalesForceType || ''}%`),
      active: query.active,
    }
    const [recordset, count] = await this.salesForceTypeRepository.findAndCount({ where, skip, take });
    return { recordset, count }
  }

  // async deleteSalesForceType(id: number, supplierId: number) {
    
  //   const client = await this.clientService.findClientByMtrixCode({ mtrixCode: supplierId, clientType: 'F' })
  //   if (!client) {
  //     throw new HttpException('supplier_id_not_config_in_client', HttpStatus.UNPROCESSABLE_ENTITY)
  //   }
  //   return await this.salesForceRepository.softDelete({ id, supplierId });

  // }

  // async getSalesForceId(id: number, supplierId: number) {
    
  //   const client = await this.clientService.findClientByMtrixCode({ mtrixCode: supplierId, clientType: 'F' })
  //   if (!client) {
  //     throw new HttpException('supplier_id_not_config_in_client', HttpStatus.UNPROCESSABLE_ENTITY)
  //   }
  //   return await this.salesForceRepository.findOneBy({ id, supplierId });
  // }
}

results matching ""

    No results matching ""