iptdevs-design-system 2.7.115 → 2.7.117

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,12 +2,16 @@ import { Injectable } from '@angular/core';
2
2
  import Swal from 'sweetalert2';
3
3
  import * as i0 from "@angular/core";
4
4
  export class CalculateQuotesService {
5
- constructor() { }
5
+ constructor() {
6
+ this.monthsDays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
7
+ }
6
8
  calculateQuotes(params) {
7
9
  let dataFinancing = [];
8
10
  let index = 1; // Indicador de cant. de cuotas
9
11
  let dateJs = new Date(params.date);
12
+ let isEndMonth = false;
10
13
  dateJs.setMilliseconds(dateJs.getMilliseconds() + (1000 * 3600 * 24));
14
+ isEndMonth = this.monthsDays[dateJs.getMonth()] === dateJs.getDate();
11
15
  if (dateJs.getDay() === 0) {
12
16
  Swal.fire({
13
17
  title: 'Fecha inválida',
@@ -28,7 +32,7 @@ export class CalculateQuotesService {
28
32
  dataFinancing.push(quota);
29
33
  while (index < params.quotaTimes) {
30
34
  index = index + 1;
31
- dateJs = this.setPlusOneMonth(dateJs);
35
+ let newJsDate = this.setPlusOneMonth(dateJs, isEndMonth);
32
36
  let row = [
33
37
  index,
34
38
  Intl.NumberFormat('en-US', {
@@ -36,20 +40,27 @@ export class CalculateQuotesService {
36
40
  currency: 'USD',
37
41
  minimumFractionDigits: 0
38
42
  }).format(Math.round(parseFloat(params.quotaValues.toString()))),
39
- this.getStringDate(dateJs)
43
+ this.getStringDate(newJsDate[newJsDate.length - 1])
40
44
  ];
41
45
  dataFinancing.push(row);
46
+ dateJs = newJsDate[0];
42
47
  }
43
48
  }
44
49
  return dataFinancing;
45
50
  }
46
- setPlusOneMonth(originDate) {
51
+ setPlusOneMonth(originDate, isEndMonth) {
52
+ let response = [];
47
53
  let oneDayMilis = 1000 * 3600 * 24;
48
- let plusMonthDate = new Date(originDate.getFullYear(), originDate.getMonth() + 1, originDate.getDate());
54
+ let day = isEndMonth || (originDate.getMonth() === 1 && originDate.getDate() > 28) ? this.monthsDays[originDate.getMonth()] : originDate.getDate();
55
+ let plusMonthDate = new Date(originDate.getFullYear(), originDate.getMonth() + 1, day);
56
+ response.push(plusMonthDate);
49
57
  while (plusMonthDate.getDay() === 0) {
50
- plusMonthDate.setMilliseconds(originDate.getMilliseconds() + oneDayMilis);
58
+ plusMonthDate.setMilliseconds(originDate.getMilliseconds() - oneDayMilis);
51
59
  }
52
- return plusMonthDate;
60
+ response.push(plusMonthDate);
61
+ console.log('date for ' + day + ' - ' + originDate.getMonth());
62
+ console.log(response);
63
+ return response;
53
64
  }
54
65
  getStringDate(originDate) {
55
66
  let month = originDate.getMonth() + 1;
@@ -65,4 +76,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
65
76
  providedIn: 'root'
66
77
  }]
67
78
  }], ctorParameters: function () { return []; } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLXF1b3Rlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvZC9sb2dpYy9jYWxjdWxhdGUtcXVvdGVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7O0FBWS9CLE1BQU0sT0FBTyxzQkFBc0I7SUFFakMsZ0JBQWdCLENBQUM7SUFFakIsZUFBZSxDQUFDLE1BQTZCO1FBQzNDLElBQUksYUFBYSxHQUFVLEVBQUUsQ0FBQztRQUM5QixJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQywrQkFBK0I7UUFDOUMsSUFBSSxNQUFNLEdBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXBDLE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxHQUFHLENBQUMsSUFBSSxHQUFDLElBQUksR0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRWxFLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRTtZQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUNSLEtBQUssRUFBRSxnQkFBZ0I7Z0JBQ3ZCLElBQUksRUFBRSwyREFBMkQ7Z0JBQ2pFLElBQUksRUFBRSxPQUFPO2FBQ2QsQ0FBQyxDQUFBO1NBQ0g7YUFBTTtZQUNMLElBQUksS0FBSyxHQUFVO2dCQUNqQixLQUFLO2dCQUNMLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFO29CQUN6QixLQUFLLEVBQUUsVUFBVTtvQkFDakIsUUFBUSxFQUFFLEtBQUs7b0JBQ2YscUJBQXFCLEVBQUUsQ0FBQztpQkFDekIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDaEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7YUFDM0IsQ0FBQztZQUVGLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFMUIsT0FBTyxLQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRTtnQkFDaEMsS0FBSyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7Z0JBQ2xCLE1BQU0sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN0QyxJQUFJLEdBQUcsR0FBVTtvQkFDZixLQUFLO29CQUNMLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFO3dCQUN6QixLQUFLLEVBQUUsVUFBVTt3QkFDakIsUUFBUSxFQUFFLEtBQUs7d0JBQ2YscUJBQXFCLEVBQUUsQ0FBQztxQkFDekIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztvQkFDaEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7aUJBQzNCLENBQUM7Z0JBQ0YsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTthQUN4QjtTQUNGO1FBQ0QsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztJQUVELGVBQWUsQ0FBQyxVQUFnQjtRQUM5QixJQUFJLFdBQVcsR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNuQyxJQUFJLGFBQWEsR0FBUyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsRUFBRSxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUU5RyxPQUFNLGFBQWEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDbEMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUM7U0FDM0U7UUFFRCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBRUQsYUFBYSxDQUFDLFVBQWdCO1FBQzVCLElBQUksS0FBSyxHQUFHLFVBQVUsQ0FBQyxRQUFRLEVBQUUsR0FBQyxDQUFDLENBQUM7UUFDcEMsSUFBSSxXQUFXLEdBQUcsS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ2pELE9BQU8sVUFBVSxDQUFDLFdBQVcsRUFBRSxHQUFHLEdBQUcsR0FBRyxXQUFXLEdBQUcsR0FBRyxHQUFHLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNuRixDQUFDOzttSEEvRFUsc0JBQXNCO3VIQUF0QixzQkFBc0IsY0FGckIsTUFBTTsyRkFFUCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xuXG5leHBvcnQgaW50ZXJmYWNlIENhbGN1bGF0ZVF1b3Rlc1BhcmFtcyB7XG4gIGRhdGU6IERhdGU7XG4gIHF1b3RhVmFsdWVzOiBudW1iZXJcbiAgcXVvdGFUaW1lczogYW55O1xuICB0b3RhbFByaWNlOiBhbnk7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENhbGN1bGF0ZVF1b3Rlc1NlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgY2FsY3VsYXRlUXVvdGVzKHBhcmFtczogQ2FsY3VsYXRlUXVvdGVzUGFyYW1zKTogYW55W10ge1xuICAgIGxldCBkYXRhRmluYW5jaW5nOiBhbnlbXSA9IFtdO1xuICAgIGxldCBpbmRleCA9IDE7IC8vIEluZGljYWRvciBkZSBjYW50LiBkZSBjdW90YXNcbiAgICBsZXQgZGF0ZUpzID0gIG5ldyBEYXRlKHBhcmFtcy5kYXRlKTtcblxuICAgIGRhdGVKcy5zZXRNaWxsaXNlY29uZHMoZGF0ZUpzLmdldE1pbGxpc2Vjb25kcygpICsgKDEwMDAqMzYwMCoyNCkpO1xuXG4gICAgaWYgKGRhdGVKcy5nZXREYXkoKSA9PT0gMCkge1xuICAgICAgU3dhbC5maXJlKHtcbiAgICAgICAgdGl0bGU6ICdGZWNoYSBpbnbDoWxpZGEnLFxuICAgICAgICB0ZXh0OiAnRGViZSBzZWxlY2Npb25hciB1biBkw61hIGRlIGxhIHNlbWFuYSBkaWZlcmVudGUgYWwgZG9taW5nbycsXG4gICAgICAgIGljb246ICdlcnJvcidcbiAgICAgIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBxdW90YTogYW55W10gPSBbXG4gICAgICAgIGluZGV4LFxuICAgICAgICBJbnRsLk51bWJlckZvcm1hdCgnZW4tVVMnLCB7XG4gICAgICAgICAgc3R5bGU6ICdjdXJyZW5jeScsXG4gICAgICAgICAgY3VycmVuY3k6ICdVU0QnLFxuICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMFxuICAgICAgICB9KS5mb3JtYXQoTWF0aC5yb3VuZChwYXJzZUZsb2F0KHBhcmFtcy5xdW90YVZhbHVlcy50b1N0cmluZygpKSkpLFxuICAgICAgICB0aGlzLmdldFN0cmluZ0RhdGUoZGF0ZUpzKVxuICAgICAgXTtcblxuICAgICAgZGF0YUZpbmFuY2luZy5wdXNoKHF1b3RhKTtcblxuICAgICAgd2hpbGUgKGluZGV4IDwgcGFyYW1zLnF1b3RhVGltZXMpIHtcbiAgICAgICAgaW5kZXggPSBpbmRleCArIDE7XG4gICAgICAgIGRhdGVKcyA9IHRoaXMuc2V0UGx1c09uZU1vbnRoKGRhdGVKcyk7XG4gICAgICAgIGxldCByb3c6IGFueVtdID0gW1xuICAgICAgICAgIGluZGV4LFxuICAgICAgICAgIEludGwuTnVtYmVyRm9ybWF0KCdlbi1VUycsIHtcbiAgICAgICAgICAgIHN0eWxlOiAnY3VycmVuY3knLFxuICAgICAgICAgICAgY3VycmVuY3k6ICdVU0QnLFxuICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwXG4gICAgICAgICAgfSkuZm9ybWF0KE1hdGgucm91bmQocGFyc2VGbG9hdChwYXJhbXMucXVvdGFWYWx1ZXMudG9TdHJpbmcoKSkpKSxcbiAgICAgICAgICB0aGlzLmdldFN0cmluZ0RhdGUoZGF0ZUpzKVxuICAgICAgICBdO1xuICAgICAgICBkYXRhRmluYW5jaW5nLnB1c2gocm93KVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZGF0YUZpbmFuY2luZztcbiAgfVxuXG4gIHNldFBsdXNPbmVNb250aChvcmlnaW5EYXRlOiBEYXRlKTogRGF0ZSB7XG4gICAgbGV0IG9uZURheU1pbGlzID0gMTAwMCAqIDM2MDAgKiAyNDtcbiAgICBsZXQgcGx1c01vbnRoRGF0ZTogRGF0ZSA9IG5ldyBEYXRlKG9yaWdpbkRhdGUuZ2V0RnVsbFllYXIoKSwgb3JpZ2luRGF0ZS5nZXRNb250aCgpICsgMSwgb3JpZ2luRGF0ZS5nZXREYXRlKCkpOyBcblxuICAgIHdoaWxlKHBsdXNNb250aERhdGUuZ2V0RGF5KCkgPT09IDApIHtcbiAgICAgIHBsdXNNb250aERhdGUuc2V0TWlsbGlzZWNvbmRzKG9yaWdpbkRhdGUuZ2V0TWlsbGlzZWNvbmRzKCkgKyBvbmVEYXlNaWxpcyk7XG4gICAgfVxuICAgIFxuICAgIHJldHVybiBwbHVzTW9udGhEYXRlO1xuICB9XG5cbiAgZ2V0U3RyaW5nRGF0ZShvcmlnaW5EYXRlOiBEYXRlKSB7XG4gICAgbGV0IG1vbnRoID0gb3JpZ2luRGF0ZS5nZXRNb250aCgpKzE7XG4gICAgbGV0IHN0cmluZ01vbnRoID0gbW9udGggPCAxMCA/ICcwJyttb250aCA6IG1vbnRoO1xuICAgIHJldHVybiBvcmlnaW5EYXRlLmdldEZ1bGxZZWFyKCkgKyAnLScgKyBzdHJpbmdNb250aCArICctJyArIG9yaWdpbkRhdGUuZ2V0RGF0ZSgpO1xuICB9XG5cbn1cbiJdfQ==
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLXF1b3Rlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvZC9sb2dpYy9jYWxjdWxhdGUtcXVvdGVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7O0FBWS9CLE1BQU0sT0FBTyxzQkFBc0I7SUFJakM7UUFGQyxlQUFVLEdBQWEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRXpELENBQUM7SUFFakIsZUFBZSxDQUFDLE1BQTZCO1FBQzNDLElBQUksYUFBYSxHQUFVLEVBQUUsQ0FBQztRQUM5QixJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQywrQkFBK0I7UUFDOUMsSUFBSSxNQUFNLEdBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BDLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQztRQUV2QixNQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDLElBQUksR0FBQyxJQUFJLEdBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVsRSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFckUsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ1IsS0FBSyxFQUFF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VUFBZ0I7UUFDNUIsSUFBSSxLQUFLLEdBQUcsVUFBVSxDQUFDLFFBQVEsRUFBRSxHQUFDLENBQUMsQ0FBQztRQUNwQyxJQUFJLFdBQVcsR0FBRyxLQUFLLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDakQsT0FBTyxVQUFVLENBQUMsV0FBVyxFQUFFLEdBQUcsR0FBRyxHQUFHLFdBQVcsR0FBRyxHQUFHLEdBQUcsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25GLENBQUM7O21IQWpGVSxzQkFBc0I7dUhBQXRCLHNCQUFzQixjQUZyQixNQUFNOzJGQUVQLHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgU3dhbCBmcm9tICdzd2VldGFsZXJ0Mic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FsY3VsYXRlUXVvdGVzUGFyYW1zIHtcbiAgZGF0ZTogRGF0ZTtcbiAgcXVvdGFWYWx1ZXM6IG51bWJlclxuICBxdW90YVRpbWVzOiBhbnk7XG4gIHRvdGFsUHJpY2U6IGFueTtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ2FsY3VsYXRlUXVvdGVzU2VydmljZSB7XG5cbiAgIG1vbnRoc0RheXM6IG51bWJlcltdID0gWzMxLCAyOCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMSwgMzAsIDMxLCAzMCwgMzFdO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgY2FsY3VsYXRlUXVvdGVzKHBhcmFtczogQ2FsY3VsYXRlUXVvdGVzUGFyYW1zKTogYW55W10ge1xuICAgIGxldCBkYXRhRmluYW5jaW5nOiBhbnlbXSA9IFtdO1xuICAgIGxldCBpbmRleCA9IDE7IC8vIEluZGljYWRvciBkZSBjYW50LiBkZSBjdW90YXNcbiAgICBsZXQgZGF0ZUpzID0gIG5ldyBEYXRlKHBhcmFtcy5kYXRlKTtcbiAgICBsZXQgaXNFbmRNb250aCA9IGZhbHNlO1xuXG4gICAgZGF0ZUpzLnNldE1pbGxpc2Vjb25kcyhkYXRlSnMuZ2V0TWlsbGlzZWNvbmRzKCkgKyAoMTAwMCozNjAwKjI0KSk7XG5cbiAgICBpc0VuZE1vbnRoID0gdGhpcy5tb250aHNEYXlzW2RhdGVKcy5nZXRNb250aCgpXSA9PT0gZGF0ZUpzLmdldERhdGUoKTtcblxuICAgIGlmIChkYXRlSnMuZ2V0RGF5KCkgPT09IDApIHtcbiAgICAgIFN3YWwuZmlyZSh7XG4gICAgICAgIHRpdGxlOiAnRmVjaGEgaW52w6FsaWRhJyxcbiAgICAgICAgdGV4dDogJ0RlYmUgc2VsZWNjaW9uYXIgdW4gZMOtYSBkZSBsYSBzZW1hbmEgZGlmZXJlbnRlIGFsIGRvbWluZ28nLFxuICAgICAgICBpY29uOiAnZXJyb3InXG4gICAgICB9KVxuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgcXVvdGE6IGFueVtdID0gW1xuICAgICAgICBpbmRleCxcbiAgICAgICAgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJywge1xuICAgICAgICAgIHN0eWxlOiAnY3VycmVuY3knLFxuICAgICAgICAgIGN1cnJlbmN5OiAnVVNEJyxcbiAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDBcbiAgICAgICAgfSkuZm9ybWF0KE1hdGgucm91bmQocGFyc2VGbG9hdChwYXJhbXMucXVvdGFWYWx1ZXMudG9TdHJpbmcoKSkpKSxcbiAgICAgICAgdGhpcy5nZXRTdHJpbmdEYXRlKGRhdGVKcylcbiAgICAgIF07XG5cbiAgICAgIGRhdGFGaW5hbmNpbmcucHVzaChxdW90YSk7XG5cblxuICAgICAgd2hpbGUgKGluZGV4IDwgcGFyYW1zLnF1b3RhVGltZXMpIHtcbiAgICAgICAgaW5kZXggPSBpbmRleCArIDE7XG4gICAgICAgIGxldCBuZXdKc0RhdGUgPSB0aGlzLnNldFBsdXNPbmVNb250aChkYXRlSnMsIGlzRW5kTW9udGgpO1xuICAgICAgICBsZXQgcm93OiBhbnlbXSA9IFtcbiAgICAgICAgICBpbmRleCxcbiAgICAgICAgICBJbnRsLk51bWJlckZvcm1hdCgnZW4tVVMnLCB7XG4gICAgICAgICAgICBzdHlsZTogJ2N1cnJlbmN5JyxcbiAgICAgICAgICAgIGN1cnJlbmN5OiAnVVNEJyxcbiAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMFxuICAgICAgICAgIH0pLmZvcm1hdChNYXRoLnJvdW5kKHBhcnNlRmxvYXQocGFyYW1zLnF1b3RhVmFsdWVzLnRvU3RyaW5nKCkpKSksXG4gICAgICAgICAgdGhpcy5nZXRTdHJpbmdEYXRlKG5ld0pzRGF0ZVtuZXdKc0RhdGUubGVuZ3RoIC0gMV0pXG4gICAgICAgIF07XG4gICAgICAgIGRhdGFGaW5hbmNpbmcucHVzaChyb3cpXG5cbiAgICAgICAgZGF0ZUpzID0gbmV3SnNEYXRlWzBdO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZGF0YUZpbmFuY2luZztcbiAgfVxuXG4gIHNldFBsdXNPbmVNb250aChvcmlnaW5EYXRlOiBEYXRlLCBpc0VuZE1vbnRoOiBib29sZWFuKTogRGF0ZVtdIHtcbiAgICBsZXQgcmVzcG9uc2U6IERhdGUgW10gPSBbXTtcblxuICAgIGxldCBvbmVEYXlNaWxpcyA9IDEwMDAgKiAzNjAwICogMjQ7XG5cbiAgICBsZXQgZGF5ID0gaXNFbmRNb250aCB8fCAob3JpZ2luRGF0ZS5nZXRNb250aCgpPT09IDEgJiYgb3JpZ2luRGF0ZS5nZXREYXRlKCk+MjgpID8gdGhpcy5tb250aHNEYXlzW29yaWdpbkRhdGUuZ2V0TW9udGgoKV06IG9yaWdpbkRhdGUuZ2V0RGF0ZSgpO1xuICAgIGxldCBwbHVzTW9udGhEYXRlOiBEYXRlID0gbmV3IERhdGUob3JpZ2luRGF0ZS5nZXRGdWxsWWVhcigpLCBvcmlnaW5EYXRlLmdldE1vbnRoKCkgKyAxLCBkYXkpOyBcblxuICAgIHJlc3BvbnNlLnB1c2gocGx1c01vbnRoRGF0ZSk7XG5cbiAgICB3aGlsZShwbHVzTW9udGhEYXRlLmdldERheSgpID09PSAwKSB7XG4gICAgICBwbHVzTW9udGhEYXRlLnNldE1pbGxpc2Vjb25kcyhvcmlnaW5EYXRlLmdldE1pbGxpc2Vjb25kcygpIC0gb25lRGF5TWlsaXMpO1xuICAgIH1cbiAgICBcbiAgICByZXNwb25zZS5wdXNoKHBsdXNNb250aERhdGUpO1xuXG4gICAgY29uc29sZS5sb2coJ2RhdGUgZm9yICcgKyBkYXkgKyAnIC0gJyAgKyBvcmlnaW5EYXRlLmdldE1vbnRoKCkpO1xuICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlKTtcbiAgICByZXR1cm4gcmVzcG9uc2U7XG4gIH1cblxuICBnZXRTdHJpbmdEYXRlKG9yaWdpbkRhdGU6IERhdGUpIHtcbiAgICBsZXQgbW9udGggPSBvcmlnaW5EYXRlLmdldE1vbnRoKCkrMTtcbiAgICBsZXQgc3RyaW5nTW9udGggPSBtb250aCA8IDEwID8gJzAnK21vbnRoIDogbW9udGg7XG4gICAgcmV0dXJuIG9yaWdpbkRhdGUuZ2V0RnVsbFllYXIoKSArICctJyArIHN0cmluZ01vbnRoICsgJy0nICsgb3JpZ2luRGF0ZS5nZXREYXRlKCk7XG4gIH1cblxufVxuIl19
@@ -3433,12 +3433,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
3433
3433
  }] } });
3434
3434
 
3435
3435
  class CalculateQuotesService {
3436
- constructor() { }
3436
+ constructor() {
3437
+ this.monthsDays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
3438
+ }
3437
3439
  calculateQuotes(params) {
3438
3440
  let dataFinancing = [];
3439
3441
  let index = 1; // Indicador de cant. de cuotas
3440
3442
  let dateJs = new Date(params.date);
3443
+ let isEndMonth = false;
3441
3444
  dateJs.setMilliseconds(dateJs.getMilliseconds() + (1000 * 3600 * 24));
3445
+ isEndMonth = this.monthsDays[dateJs.getMonth()] === dateJs.getDate();
3442
3446
  if (dateJs.getDay() === 0) {
3443
3447
  Swal.fire({
3444
3448
  title: 'Fecha inválida',
@@ -3459,7 +3463,7 @@ class CalculateQuotesService {
3459
3463
  dataFinancing.push(quota);
3460
3464
  while (index < params.quotaTimes) {
3461
3465
  index = index + 1;
3462
- dateJs = this.setPlusOneMonth(dateJs);
3466
+ let newJsDate = this.setPlusOneMonth(dateJs, isEndMonth);
3463
3467
  let row = [
3464
3468
  index,
3465
3469
  Intl.NumberFormat('en-US', {
@@ -3467,20 +3471,27 @@ class CalculateQuotesService {
3467
3471
  currency: 'USD',
3468
3472
  minimumFractionDigits: 0
3469
3473
  }).format(Math.round(parseFloat(params.quotaValues.toString()))),
3470
- this.getStringDate(dateJs)
3474
+ this.getStringDate(newJsDate[newJsDate.length - 1])
3471
3475
  ];
3472
3476
  dataFinancing.push(row);
3477
+ dateJs = newJsDate[0];
3473
3478
  }
3474
3479
  }
3475
3480
  return dataFinancing;
3476
3481
  }
3477
- setPlusOneMonth(originDate) {
3482
+ setPlusOneMonth(originDate, isEndMonth) {
3483
+ let response = [];
3478
3484
  let oneDayMilis = 1000 * 3600 * 24;
3479
- let plusMonthDate = new Date(originDate.getFullYear(), originDate.getMonth() + 1, originDate.getDate());
3485
+ let day = isEndMonth || (originDate.getMonth() === 1 && originDate.getDate() > 28) ? this.monthsDays[originDate.getMonth()] : originDate.getDate();
3486
+ let plusMonthDate = new Date(originDate.getFullYear(), originDate.getMonth() + 1, day);
3487
+ response.push(plusMonthDate);
3480
3488
  while (plusMonthDate.getDay() === 0) {
3481
- plusMonthDate.setMilliseconds(originDate.getMilliseconds() + oneDayMilis);
3489
+ plusMonthDate.setMilliseconds(originDate.getMilliseconds() - oneDayMilis);
3482
3490
  }
3483
- return plusMonthDate;
3491
+ response.push(plusMonthDate);
3492
+ console.log('date for ' + day + ' - ' + originDate.getMonth());
3493
+ console.log(response);
3494
+ return response;
3484
3495
  }
3485
3496
  getStringDate(originDate) {
3486
3497
  let month = originDate.getMonth() + 1;