1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- import { Injectable } from '@angular/core';
- import { DataProvider } from '../data-provider';
- import { OdooProvider } from '../odoo-provider';
- @Injectable()
- export class ProductAttributeLineSyncProvider {
- constructor(
- public dataProvider: DataProvider,
- public odooProvider: OdooProvider
- ) { }
- /**
- *
- */
- doSync(): Promise<any> {
- return new Promise((reject, resolve) => {
- this.odooProvider.get('product_attribute_line').then(lines => {
- return lines;
- }).then(lines => {
- return this.storeLines(lines);
- }).then(() => {
- resolve();
- }).catch(e => {
- reject(e);
- });
- });
- }
- /**
- *
- */
- private storeLines(lines: Array<any>): Promise<any> {
- return new Promise((reject, resolve) => {
- this.dataProvider.deleteAll('product_attribute_line').then(() => {
- return;
- }).then(() => {
- return this.dataProvider.save('product_attribute_line', lines.map(item => {
- item.remote_id = item.id;
- item.doc_state = "sync";
- delete item.id;
- return item;
- }));
- }).then(() => {
- resolve();
- }).catch(e => {
- reject(e);
- });
- });
- }
- }
|