UNPKG

iptdevs-design-system

Version:

Library common elements into IPT Plattform.

99 lines 14.3 kB
import { Injectable } from '@angular/core'; import Swal from 'sweetalert2'; import * as i0 from "@angular/core"; export class CalculateQuotesService { constructor() { this.monthsDays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; } calculateQuotes(params) { let dataFinancing = []; let index = 1; // Indicador de cant. de cuotas let dateJs = new Date(params.date); let isEndMonth = false; dateJs.setMilliseconds(dateJs.getMilliseconds() + (1000 * 3600 * 24)); isEndMonth = this.monthsDays[dateJs.getMonth()] === dateJs.getDate(); if (dateJs.getDay() === 0) { Swal.fire({ title: 'Fecha inválida', text: 'Debe seleccionar un día de la semana diferente al domingo', icon: 'error' }); } else { let enrollment = [ index, Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD', minimumFractionDigits: 0 }).format(Math.round(parseFloat(params.totalPrice.toString()))), this.getStringDate(dateJs) ]; let quota = [ index, Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD', minimumFractionDigits: 0 }).format(Math.round(parseFloat(params.quotaValues.toString()))), this.getStringDate(dateJs) ]; dataFinancing.push(enrollment); dataFinancing.push(quota); while (index < params.quotaTimes) { index = index + 1; let newJsDate = this.setPlusOneMonth(dateJs, isEndMonth); let row = [ index, Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD', minimumFractionDigits: 0 }).format(Math.round(parseFloat(params.quotaValues.toString()))), this.getStringDate(newJsDate[newJsDate.length - 1]) ]; dataFinancing.push(row); dateJs = newJsDate[0]; } } return dataFinancing; } setPlusOneMonth(originDate, isEndMonth) { let response = []; let oneDayMilis = 1000 * 3600 * 24; let day = isEndMonth ? this.monthsDays[(originDate.getMonth() + 1) % 12] : originDate.getDate(); let plusMonthDate = new Date(originDate.getFullYear(), originDate.getMonth() + 1, day); response.push(new Date(originDate.getFullYear(), originDate.getMonth() + 1, day)); while (plusMonthDate.getDay() === 0) { plusMonthDate.setMilliseconds(originDate.getMilliseconds() - oneDayMilis); } response.push(plusMonthDate); return response; } // setPlusOneMonth2(originDate: Date, isEndMonth: boolean): Date[] { // let response: Date[] = []; // let oneDayMilis = 1000 * 3600 * 24; // let day = isEndMonth ? this.monthsDays[(originDate.getMonth() + 1) % 12] : originDate.getDate(); // let plusMonthDate: Date = new Date(originDate.getFullYear(), originDate.getMonth() + 1, day); // while (plusMonthDate.getDay() === 0) { // plusMonthDate.setMilliseconds(plusMonthDate.getMilliseconds() - oneDayMilis); // } // response.push(plusMonthDate); // response.push(new Date(originDate.getFullYear(), originDate.getMonth() + 1, day + 1)); // return response; // } getStringDate(originDate) { let month = originDate.getMonth() + 1; let stringMonth = month < 10 ? '0' + month : month; return originDate.getFullYear() + '-' + stringMonth + '-' + originDate.getDate(); } } CalculateQuotesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CalculateQuotesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); CalculateQuotesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CalculateQuotesService, providedIn: 'root' }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CalculateQuotesService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: function () { return []; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLXF1b3Rlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvZC1zZWxmLW1hbmFnZWQvbG9naWMvY2FsY3VsYXRlLXF1b3Rlcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDOztBQVkvQixNQUFNLE9BQU8sc0JBQXNCO0lBSWpDO1FBRkMsZUFBVSxHQUFhLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUV6RCxDQUFDO0lBRWpCLGVBQWUsQ0FBQyxNQUE2QjtRQUMzQyxJQUFJLGFBQWEsR0FBVSxFQUFFLENBQUM7UUFDOUIsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsK0JBQStCO1FBQzlDLElBQUksTUFBTSxHQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQyxJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFFdkIsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLEdBQUcsQ0FBQyxJQUFJLEdBQUMsSUFBSSxHQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFbEUsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRXJFLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRTtZQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDO2dC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RSxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRWxGLE9BQU0sYUFBYSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRTtZQUNsQyxhQUFhLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUUsR0FBRyxXQUFXLENBQUMsQ0FBQztTQUMzRTtRQUVELFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDN0IsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELG9FQUFvRTtJQUNwRSwrQkFBK0I7SUFDL0Isd0NBQXdDO0lBRXhDLHFHQUFxRztJQUNyRyxrR0FBa0c7SUFFbEcsMkNBQTJDO0lBQzNDLHNGQUFzRjtJQUN0RixNQUFNO0lBRU4sa0NBQWtDO0lBQ2xDLDJGQUEyRjtJQUMzRixxQkFBcUI7SUFDckIsSUFBSTtJQUdKLGFBQWEsQ0FBQyxVQUFnQjtRQUM1QixJQUFJLEtBQUssR0FBRyxVQUFVLENBQUMsUUFBUSxFQUFFLEdBQUMsQ0FBQyxDQUFDO1FBQ3BDLElBQUksV0FBVyxHQUFHLEtBQUssR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNqRCxPQUFPLFVBQVUsQ0FBQyxXQUFXLEVBQUUsR0FBRyxHQUFHLEdBQUcsV0FBVyxHQUFHLEdBQUcsR0FBRyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkYsQ0FBQzs7bUhBMUdVLHNCQUFzQjt1SEFBdEIsc0JBQXNCLGNBRnJCLE1BQU07MkZBRVAsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBTd2FsIGZyb20gJ3N3ZWV0YWxlcnQyJztcblxuZXhwb3J0IGludGVyZmFjZSBDYWxjdWxhdGVRdW90ZXNQYXJhbXMge1xuICBkYXRlOiBEYXRlO1xuICBxdW90YVZhbHVlczogbnVtYmVyO1xuICBxdW90YVRpbWVzOiBhbnk7XG4gIHRvdGFsUHJpY2U6IGFueTtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ2FsY3VsYXRlUXVvdGVzU2VydmljZSB7XG5cbiAgIG1vbnRoc0RheXM6IG51bWJlcltdID0gWzMxLCAyOCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMSwgMzAsIDMxLCAzMCwgMzFdO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgY2FsY3VsYXRlUXVvdGVzKHBhcmFtczogQ2FsY3VsYXRlUXVvdGVzUGFyYW1zKTogYW55W10ge1xuICAgIGxldCBkYXRhRmluYW5jaW5nOiBhbnlbXSA9IFtdO1xuICAgIGxldCBpbmRleCA9IDE7IC8vIEluZGljYWRvciBkZSBjYW50LiBkZSBjdW90YXNcbiAgICBsZXQgZGF0ZUpzID0gIG5ldyBEYXRlKHBhcmFtcy5kYXRlKTtcbiAgICBsZXQgaXNFbmRNb250aCA9IGZhbHNlO1xuXG4gICAgZGF0ZUpzLnNldE1pbGxpc2Vjb25kcyhkYXRlSnMuZ2V0TWlsbGlzZWNvbmRzKCkgKyAoMTAwMCozNjAwKjI0KSk7XG5cbiAgICBpc0VuZE1vbnRoID0gdGhpcy5tb250aHNEYXlzW2RhdGVKcy5nZXRNb250aCgpXSA9PT0gZGF0ZUpzLmdldERhdGUoKTtcblxuICAgIGlmIChkYXRlSnMuZ2V0RGF5KCkgPT09IDApIHtcbiAgICAgIFN3YWwuZmlyZSh7XG4gICAgICAgIHRpdGxlOiAnRmVjaGEgaW52w6FsaWRhJyxcbiAgICAgICAgdGV4dDogJ0RlYmUgc2VsZWNjaW9uYXIgdW4gZMOtYSBkZSBsYSBzZW1hbmEgZGlmZXJlbnRlIGFsIGRvbWluZ28nLFxuICAgICAgICBpY29uOiAnZXJyb3InXG4gICAgICB9KVxuICAgIH0gZWxzZSB7XG5cbiAgICAgIGxldCBlbnJvbGxtZW50OiBhbnlbXSA9IFtcbiAgICAgICAgaW5kZXgsXG4gICAgICAgIEludGwuTnVtYmVyRm9ybWF0KCdlbi1VUycsIHtcbiAgICAgICAgICBzdHlsZTogJ2N1cnJlbmN5JyxcbiAgICAgICAgICBjdXJyZW5jeTogJ1VTRCcsXG4gICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwXG4gICAgICAgIH0pLmZvcm1hdChNYXRoLnJvdW5kKHBhcnNlRmxvYXQocGFyYW1zLnRvdGFsUHJpY2UudG9TdHJpbmcoKSkpKSxcbiAgICAgICAgdGhpcy5nZXRTdHJpbmdEYXRlKGRhdGVKcylcbiAgICAgIF07XG5cbiAgICAgIGxldCBxdW90YTogYW55W10gPSBbXG4gICAgICAgIGluZGV4LFxuICAgICAgICBJbnRsLk51bWJlckZvcm1hdCgnZW4tVVMnLCB7XG4gICAgICAgICAgc3R5bGU6ICdjdXJyZW5jeScsXG4gICAgICAgICAgY3VycmVuY3k6ICdVU0QnLFxuICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMFxuICAgICAgICB9KS5mb3JtYXQoTWF0aC5yb3VuZChwYXJzZUZsb2F0KHBhcmFtcy5xdW90YVZhbHVlcy50b1N0cmluZygpKSkpLFxuICAgICAgICB0aGlzLmdldFN0cmluZ0RhdGUoZGF0ZUpzKVxuICAgICAgXTtcbiAgICAgIGRhdGFGaW5hbmNpbmcucHVzaChlbnJvbGxtZW50KTtcblxuICAgICAgZGF0YUZpbmFuY2luZy5wdXNoKHF1b3RhKTtcblxuICAgICAgd2hpbGUgKGluZGV4IDwgcGFyYW1zLnF1b3RhVGltZXMpIHtcbiAgICAgICAgaW5kZXggPSBpbmRleCArIDE7XG4gICAgICAgIGxldCBuZXdKc0RhdGUgPSB0aGlzLnNldFBsdXNPbmVNb250aChkYXRlSnMsIGlzRW5kTW9udGgpO1xuICAgICAgICBsZXQgcm93OiBhbnlbXSA9IFtcbiAgICAgICAgICBpbmRleCxcbiAgICAgICAgICBJbnRsLk51bWJlckZvcm1hdCgnZW4tVVMnLCB7XG4gICAgICAgICAgICBzdHlsZTogJ2N1cnJlbmN5JyxcbiAgICAgICAgICAgIGN1cnJlbmN5OiAnVVNEJyxcbiAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMFxuICAgICAgICAgIH0pLmZvcm1hdChNYXRoLnJvdW5kKHBhcnNlRmxvYXQocGFyYW1zLnF1b3RhVmFsdWVzLnRvU3RyaW5nKCkpKSksXG4gICAgICAgICAgdGhpcy5nZXRTdHJpbmdEYXRlKG5ld0pzRGF0ZVtuZXdKc0RhdGUubGVuZ3RoIC0gMV0pXG4gICAgICAgIF07XG4gICAgICAgIGRhdGFGaW5hbmNpbmcucHVzaChyb3cpXG5cbiAgICAgICAgZGF0ZUpzID0gbmV3SnNEYXRlWzBdO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZGF0YUZpbmFuY2luZztcbiAgfVxuXG4gIHNldFBsdXNPbmVNb250aChvcmlnaW5EYXRlOiBEYXRlLCBpc0VuZE1vbnRoOiBib29sZWFuKTogRGF0ZVtdIHtcbiAgICBsZXQgcmVzcG9uc2U6IERhdGUgW10gPSBbXTtcblxuICAgIGxldCBvbmVEYXlNaWxpcyA9IDEwMDAgKiAzNjAwICogMjQ7XG5cbiAgICBsZXQgZGF5ID0gaXNFbmRNb250aCA/IHRoaXMubW9udGhzRGF5c1sob3JpZ2luRGF0ZS5nZXRNb250aCgpICsgMSklMTJdOiBvcmlnaW5EYXRlLmdldERhdGUoKTtcbiAgICBsZXQgcGx1c01vbnRoRGF0ZTogRGF0ZSA9IG5ldyBEYXRlKG9yaWdpbkRhdGUuZ2V0RnVsbFllYXIoKSwgb3JpZ2luRGF0ZS5nZXRNb250aCgpICsgMSwgZGF5KTtcblxuICAgIHJlc3BvbnNlLnB1c2gobmV3IERhdGUob3JpZ2luRGF0ZS5nZXRGdWxsWWVhcigpLCBvcmlnaW5EYXRlLmdldE1vbnRoKCkgKyAxLCBkYXkpKTtcblxuICAgIHdoaWxlKHBsdXNNb250aERhdGUuZ2V0RGF5KCkgPT09IDApIHtcbiAgICAgIHBsdXNNb250aERhdGUuc2V0TWlsbGlzZWNvbmRzKG9yaWdpbkRhdGUuZ2V0TWlsbGlzZWNvbmRzKCkgLSBvbmVEYXlNaWxpcyk7XG4gICAgfVxuXG4gICAgcmVzcG9uc2UucHVzaChwbHVzTW9udGhEYXRlKTtcbiAgICByZXR1cm4gcmVzcG9uc2U7XG4gIH1cblxuICAvLyBzZXRQbHVzT25lTW9udGgyKG9yaWdpbkRhdGU6IERhdGUsIGlzRW5kTW9udGg6IGJvb2xlYW4pOiBEYXRlW10ge1xuICAvLyAgIGxldCByZXNwb25zZTogRGF0ZVtdID0gW107XG4gIC8vICAgbGV0IG9uZURheU1pbGlzID0gMTAwMCAqIDM2MDAgKiAyNDtcblxuICAvLyAgIGxldCBkYXkgPSBpc0VuZE1vbnRoID8gdGhpcy5tb250aHNEYXlzWyhvcmlnaW5EYXRlLmdldE1vbnRoKCkgKyAxKSAlIDEyXSA6IG9yaWdpbkRhdGUuZ2V0RGF0ZSgpO1xuICAvLyAgIGxldCBwbHVzTW9udGhEYXRlOiBEYXRlID0gbmV3IERhdGUob3JpZ2luRGF0ZS5nZXRGdWxsWWVhcigpLCBvcmlnaW5EYXRlLmdldE1vbnRoKCkgKyAxLCBkYXkpO1xuXG4gIC8vICAgd2hpbGUgKHBsdXNNb250aERhdGUuZ2V0RGF5KCkgPT09IDApIHtcbiAgLy8gICAgICAgcGx1c01vbnRoRGF0ZS5zZXRNaWxsaXNlY29uZHMocGx1c01vbnRoRGF0ZS5nZXRNaWxsaXNlY29uZHMoKSAtIG9uZURheU1pbGlzKTtcbiAgLy8gICB9XG5cbiAgLy8gICByZXNwb25zZS5wdXNoKHBsdXNNb250aERhdGUpO1xuICAvLyAgIHJlc3BvbnNlLnB1c2gobmV3IERhdGUob3JpZ2luRGF0ZS5nZXRGdWxsWWVhcigpLCBvcmlnaW5EYXRlLmdldE1vbnRoKCkgKyAxLCBkYXkgKyAxKSk7XG4gIC8vICAgcmV0dXJuIHJlc3BvbnNlO1xuICAvLyB9XG5cblxuICBnZXRTdHJpbmdEYXRlKG9yaWdpbkRhdGU6IERhdGUpIHtcbiAgICBsZXQgbW9udGggPSBvcmlnaW5EYXRlLmdldE1vbnRoKCkrMTtcbiAgICBsZXQgc3RyaW5nTW9udGggPSBtb250aCA8IDEwID8gJzAnK21vbnRoIDogbW9udGg7XG4gICAgcmV0dXJuIG9yaWdpbkRhdGUuZ2V0RnVsbFllYXIoKSArICctJyArIHN0cmluZ01vbnRoICsgJy0nICsgb3JpZ2luRGF0ZS5nZXREYXRlKCk7XG4gIH1cblxufVxuIl19