????

Your IP : 18.119.13.56


Current Path : C:/inetpub/vhost/sdoc.gdtsolutions.vn/package/app/controllers/quantri/
Upload File :
Current File : C:/inetpub/vhost/sdoc.gdtsolutions.vn/package/app/controllers/quantri/coquan.js

var Database = require('../../models/Database');
class CoQuanController extends Database {
  constructor(params) {
    super(params);
  }
  static create(params) {
    return new CoQuanController(params);
  }
  async selectOrgan() {
    return await this.select('SELECT * FROM [Organization]');
  }
  async addOrgan(organ) {
    var organs = await this.select('SELECT * FROM Organization WHERE OrganId = @code', { code: organ.code });
    if (organs.length) throw new Error(`Đã tồn tại cơ quan với mã ${organ.code}`);
    var query = 'INSERT INTO Organization(OrganId,OrganName,OrganAdd,Email,Website,Telephone,Fax) VALUES (@code,@name,@address,@email,@website,@phone,@fax)';
    return await this.query(query, organ);
  }
  async editOrgan(organ) {
    var updates = [];
    if (!organ.id) throw new Error('Không xác định được cơ quan cần chỉnh sửa');
    if (typeof organ.code != 'undefined') updates.push('OrganId = @code');
    if (typeof organ.name != 'undefined') updates.push('OrganName = @name');
    if (typeof organ.address != 'undefined') updates.push('OrganAdd = @address');
    if (typeof organ.email != 'undefined') updates.push('Email = @email');
    if (typeof organ.website != 'undefined') updates.push('Website = @website');
    if (typeof organ.phone != 'undefined') updates.push('Telephone = @phone');
    if (typeof organ.fax != 'undefined') updates.push('Fax = @fax');
    if (updates.length) {
      return await this.query(`UPDATE Organization SET ${updates.join(',')} WHERE UUID = @id`, organ)
    }
    else throw new Error('Không có thông tin cần chỉnh sửa');
  }
  async deleteOrgan(id) {
    return await this.query('UPDATE Organization SET [State] = 0 WHERE UUID = @id', { id: id });
  }
}
module.exports = CoQuanController;